From 8922b312c6004819957844ba5851d177b7a6745c Mon Sep 17 00:00:00 2001 From: asmit27rai Date: Tue, 7 Jul 2026 17:37:57 +0530 Subject: [PATCH 01/24] remove binary artifacts from git tracking for OpenSSF Scorecard Binary-Artifacts check Signed-off-by: asmit27rai --- KubeArmor/.gitignore | 10 ++++++++++ KubeArmor/enforcer/bpflsm/enforcer_bpfeb.o | Bin 862960 -> 0 bytes KubeArmor/enforcer/bpflsm/enforcer_bpfel.o | Bin 863000 -> 0 bytes .../enforcer/bpflsm/enforcer_path_bpfeb.o | Bin 291056 -> 0 bytes .../enforcer/bpflsm/enforcer_path_bpfel.o | Bin 291064 -> 0 bytes KubeArmor/monitor/ima_hash_bpfeb.o | Bin 40416 -> 0 bytes KubeArmor/monitor/ima_hash_bpfel.o | Bin 40416 -> 0 bytes .../presets/anonmapexec/anonmapexec_bpfeb.o | Bin 47184 -> 0 bytes .../presets/anonmapexec/anonmapexec_bpfel.o | Bin 47184 -> 0 bytes KubeArmor/presets/exec/exec_bpfeb.o | Bin 160152 -> 0 bytes KubeArmor/presets/exec/exec_bpfel.o | Bin 160152 -> 0 bytes .../presets/filelessexec/filelessexec_bpfeb.o | Bin 107560 -> 0 bytes .../presets/filelessexec/filelessexec_bpfel.o | Bin 107560 -> 0 bytes .../presets/protectenv/protectenv_bpfeb.o | Bin 166096 -> 0 bytes .../presets/protectenv/protectenv_bpfel.o | Bin 166096 -> 0 bytes .../presets/protectproc/protectproc_bpfeb.o | Bin 165264 -> 0 bytes .../presets/protectproc/protectproc_bpfel.o | Bin 165264 -> 0 bytes KubeArmor/utils/bpflsmprobe/probe_bpfeb.o | Bin 2504 -> 0 bytes KubeArmor/utils/bpflsmprobe/probe_bpfel.o | Bin 2504 -> 0 bytes .../vagrant-selinux/selinux-test/.gitignore | 5 +++++ examples/vagrant-selinux/selinux-test/bash | Bin 1150584 -> 0 bytes examples/vagrant-selinux/selinux-test/read | Bin 17736 -> 0 bytes .../vagrant-selinux/selinux-test/readwrite | Bin 17136 -> 0 bytes examples/vagrant-selinux/selinux-test/write | Bin 17736 -> 0 bytes 24 files changed, 15 insertions(+) create mode 100644 KubeArmor/.gitignore delete mode 100644 KubeArmor/enforcer/bpflsm/enforcer_bpfeb.o delete mode 100644 KubeArmor/enforcer/bpflsm/enforcer_bpfel.o delete mode 100644 KubeArmor/enforcer/bpflsm/enforcer_path_bpfeb.o delete mode 100644 KubeArmor/enforcer/bpflsm/enforcer_path_bpfel.o delete mode 100644 KubeArmor/monitor/ima_hash_bpfeb.o delete mode 100644 KubeArmor/monitor/ima_hash_bpfel.o delete mode 100644 KubeArmor/presets/anonmapexec/anonmapexec_bpfeb.o delete mode 100644 KubeArmor/presets/anonmapexec/anonmapexec_bpfel.o delete mode 100644 KubeArmor/presets/exec/exec_bpfeb.o delete mode 100644 KubeArmor/presets/exec/exec_bpfel.o delete mode 100644 KubeArmor/presets/filelessexec/filelessexec_bpfeb.o delete mode 100644 KubeArmor/presets/filelessexec/filelessexec_bpfel.o delete mode 100644 KubeArmor/presets/protectenv/protectenv_bpfeb.o delete mode 100644 KubeArmor/presets/protectenv/protectenv_bpfel.o delete mode 100644 KubeArmor/presets/protectproc/protectproc_bpfeb.o delete mode 100644 KubeArmor/presets/protectproc/protectproc_bpfel.o delete mode 100644 KubeArmor/utils/bpflsmprobe/probe_bpfeb.o delete mode 100644 KubeArmor/utils/bpflsmprobe/probe_bpfel.o create mode 100644 examples/vagrant-selinux/selinux-test/.gitignore delete mode 100755 examples/vagrant-selinux/selinux-test/bash delete mode 100755 examples/vagrant-selinux/selinux-test/read delete mode 100755 examples/vagrant-selinux/selinux-test/readwrite delete mode 100755 examples/vagrant-selinux/selinux-test/write diff --git a/KubeArmor/.gitignore b/KubeArmor/.gitignore new file mode 100644 index 0000000000..c4f163380a --- /dev/null +++ b/KubeArmor/.gitignore @@ -0,0 +1,10 @@ +# eBPF object files generated by bpf2go (go generate) +# These are compiled from BPF/*.bpf.c source files during build +enforcer/bpflsm/*.o +monitor/*.o +presets/anonmapexec/*.o +presets/exec/*.o +presets/filelessexec/*.o +presets/protectenv/*.o +presets/protectproc/*.o +utils/bpflsmprobe/*.o diff --git a/KubeArmor/enforcer/bpflsm/enforcer_bpfeb.o b/KubeArmor/enforcer/bpflsm/enforcer_bpfeb.o deleted file mode 100644 index efae4abc43f5c95d70c9d8578a25bec600c8e373..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 862960 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

UEq!L{~+E2C==f6 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�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%0D+tl&p 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�Lh*4K-`DDjE6{$mV`d$ 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

&afdiE501caY-5kfTZNw5 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 ILXoN1B`NCwM&zuk^YT%n8&e~P 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 diff --git a/KubeArmor/enforcer/bpflsm/enforcer_path_bpfeb.o b/KubeArmor/enforcer/bpflsm/enforcer_path_bpfeb.o deleted file mode 100644 index 5e20882338b9b2531405e347f771cffb39d3db30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 291056 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 R^mVWD%r(#H1X=&Z{{UF@7fApB diff --git a/KubeArmor/enforcer/bpflsm/enforcer_path_bpfel.o b/KubeArmor/enforcer/bpflsm/enforcer_path_bpfel.o deleted file mode 100644 index 1e585726a70e1dee4fa15fe9bdcb3a6becc6a6df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 291064 zcmeFa2Y?mT`TspTEV3d9mIX!8yV$Vz-p1aQsHm|nVnd@MHrCZRA}Sht*H{)%Kx5Yg z{l&OriDERdCTc7p#uh6^jl>vvKi_knbMJ836&AQ~eg7Ukdp`5bbJ}z2%$*s|+-}$H zZ%xSHtesB{#hQ8au=ZSf#+ltjy*+1lTWoBLclO>_=^IehDaI*Ou+U3@tBv=(=M zB8d;}&iSjoyhkq|wvP5;7tT+bHf`F(IEv~JwGQ@jrF#Ni@e71aV<)-vdMw5PE+7BZ zT>KEPY3!@T{H0&t$rnuN?T2qGofb<+H4o_w8tv;bxKHNN3-!w9KeO^LL3*=W{^`n1 zIX@?CH|Wm!qwCO=Erj6Rq2;ezJ`6S2(!O12g3R!1v_e+%>iOY;E@N{V`t-_1pIB zS|4rd;wk?%$^XPYQ(Sr{9{sHgo5uL@H!zlUqNsDUzPDS~qulxC>l=M|+HfCUu%8Q+ zo)lX(XmM@zCzY#pMSnhw%P<}kUoMQ(5Wi`H)o-*vuW_w(+KR97(0aDlE5^Ug$5%fp z=zK1n{P>!o99NX3Gv3b=GmGDR{ZMC*Wrz6qO{0ChgO=#)1gd9GmE&4VUxmiCmu{#} zC|^jg?~*mec2p8QmUPLqpN`e1n9fYgnuZ?N%(`=;wX^>NDAeq2A4XtUu)D5%q^b{rv!&*eQyp^@yTnExjW- zR(YSYF!Zxy*M7s5ulf1`KA%l?bm6`hzv;H4+;Qt=R=>4<*gDRKUFc8Bw`s6zhG`6;DV>wldi6mf%W-Cg#4cNlfC_G}vG>)$lN_gj@qP1$;)*9+sQ zt#(t*Lwg0gHecY=3H>L;Z<=8JWwhl_K5dP^(9V5(ui+G1t>5-N@8;?IQ*WP6Tjg^7 z$;uzf*VNJew32U+R&5q=<0&uZp4NPQ;`@b_E7Y(3es+oPXGhPUes*}&&-II@+kCl~ zZSwUQG|1O4%p0Af{_cd@(b-QO7T4o@?5y?={iI}PYv<5zy^bojo13RPxKEo|zbVgO zKCTNqb88k~AmKJMBZZ^iL6zHB_5?b8YUrLBJ3=6E{I#*_8u z5Wi_A^LKfB^j)HCJPlvJ*e(T%Hm~OA*0a1FW`8`b;L6=xE#t}N)0vK^qpbaHoouiD z!@ODEe#LpP*LSQuejT2z@idcuQ=b0}Oo^u8zpn{q{=j|C*2X_H4S% zUpF_6n@iVIN89z(VBc=De?6tUI=asEN`wqWg`f;X4!nL*EpPTo+%CDdtbdfZTWS1!;%*=o*P)J%pPBTRcCVYl__^HbQCxrhyxuul$eozk{k_>8N1?u9 zehKsItd5_ivA&!k-t6ATn{nOwZLvKHYTv3~ckXcI4Zpv%ZtUB$`1?zk=jQtQQ#O9) z+xl}(vAyQ$`ZLDwQQm&V zb*I-d#rAUJW?ucCG{479+5Ld_>=*17_G@##-n6q%8~#Zr^#tYP#!c0)H*dM}&bM(h z({*P0`v%2vbCe%%-?yI6()CU+JsB|{em9!m<7PImb7mMfb8Wpjx7ZGD+*JK~bL#vZ zH}ieH8BlDmAJ?1qf5)l(db4b?9o)F7`t_#g{2e#*eZBc-{NsAl_I=;B?yFU9y?LDk8~?n*VBh|I&->8*QdGPzQ1#b0ue|e8#ihUTwA{@RmXZW&X;eVJtt81yXSmgZ_ae}pY3t;|N43p-dCR0aTA_T zn_$m(+J3R`k-Hb$p#W9<`Lq??&)re$AeU|NJ=Cy22>aLepYPn#MQq*3$8Y!fn(_X8 z7v8RO?=_#OyOdndcksRD!=u9V&kG#t(;akzuSbtX{c-qCK<8+ACs4oEJX5?cFsIK8 zl($Dn>S|n`I*qpt@a$$k=Us~4yRf;u!f%* zFkJXfMr)(XKDx>WQPX(;9B+7!S?}TKz4VC`9*kNy@QV58NcopVE{v~GPrdg$3AxhI%Gxw~l+$mueN{+b{cJdo zQib;~is_6d60W`Xp%iawXVUHHcWK7^`ghn4zPq~TI1TEE~CZUSoV zvtuzGH{Sd7d@rx?|PT?b~K^9u4zDNH>(TZ?AP- zyC{9Pe_zaHH`DsgtX{#MMLR1O&1>XS0L$+eh409Ob`0Mg3GWGo^7p-_Z?U{er{e3i zeK$h$llu$6=oJG@@29876^hs2(n9--Nud?)zw^cdj|OWz?`(I4mMXRQ~Ze3~Cg zvbb&(zdtg{r@QQMA7ABG`_AxQ&lUcB7!R{Oj%Kpo4gD(3_&uBQ_jU=hn{#9O%&~J+KV0-V;UGDAD-uMgStgZc4Tl=(G8-X7~99yJAnbuPY#$v{OjTI-d5-1j~2m}2`B5Y4OWk8rv^J$?xJ!ZOJ-2eN>SNVH+l^R#`ecf8G z*lryfSMzDz`o8z_+T0h~x)r_?Im30>Y_40y@nGw7aep|I`6kRWVIR?V3IF|)cK3zD zqhkBGaivDWwRK(KuE(rCrF`bj_1LUmhke%Bm2Z1j%xH$|{ECgMcHVcLZ|l|5&JJ2n zIyA0k(tp}rugab?n(@Ao-S@ETuJZ4$c6eNc@0L{E_ZIy3A7{M2x~AA31-j;ZTc2im z|99?u8b@XKF=o0xt?UMRxUQO8_c6ltRo~u?#dgy;>hS%G*hSoPN&lJE^=O`tpV_?MH^cau$^0?H__6PK&$#~R z7m?ikhpNB7_ZwH<`96N;`}%WfvE6=Le`fwW?+oK-CiBM(KH%sef`<5*lx2merD2te!Tt(&qw;_Pr|=vG{gSw zyp@XWP+;6t|N7IbI>yg@zy6sLYo43!{o73TFI78!&Q`7IryYErp>o$ht;KdIs9aUQ z{@mrtJKy(j^L_mpRcyB(*Pq$gzs+R+nBo3GyZ7JprdJKt=;=?pSfR{iuVtye*JmNmG{T>=fPsT&DQw&@%qQVuQFPzNBiqn@%Phq z*Pru>?NA_{>c9Rur8>sXd|!VC6x(gK#?O!IPshejyX()g#ddJxr|Q?Ag{x!yj9{|C zwg239rJq0ez~w*N_YZzte>ygP+FgGp7Tci!RsZ@k&Xsq*@89P8`ja|4%=Y;CasBDo z_zCNe{X6pEeS*Hj_b9eQ0jl`@xAwk=V((kb{QZV4TzOk}bivG@!yfPT=Gk{qmiPJ1 z@LiO-^d4+e_%6ywpHJW3(|;GGqtC&$^*f)QzbwChFel$dY3u!k@IG&N&%bpmU!Nn{ zT@=7mEv&EUYwwv){~o=*%b@q`^Y5`wUK0Vz>(*rANfA=1Z&3m)^zTn`~ zrnqsZc}s3^AA3J}j6ZJc`zKS#xcoaN<=;PPny{l!*S!@%x*hx;%0%j?BGtRU+z;ef zZjbYP7~Ut^7bWS*PIAqw_~(8H*8I;sNFTnN(lplFJN!=2G;X+`ZwC2zvi~H-58wA7 zJsr#5(|uRvP_Hk!@~w|LJAv${(jwle+X=JD}IRihobERA2wTXLDCyzf%3zbl*8?9pjRZ6#s!X+O2g#f4*t# zrM|sXSe)vo8Z=Gt`G@!Zm9LYJ_2nF9|cCmhuPp8mEI`y$; z3*R0-o-c>mF+pC;x6Iz*-!H4LxyZG1seP3S{iNn*SFeFJtG3xLpW~71nR{Le200aOJM# z{H`rf88}a&@b1H6kZA~j@_hYNv z?%S5x-S125Yxb$Q-IYP*?7l^n+r7Tb?*0O)zGkJ0+g%HHJ+1+g)vHQ~%w|n=B+Wp=txBI9vyQ>#!A9;Pn?Y?kD z?LMN)?f%m;yQ>$j{fusvSI+KFR=M48EVH}+ zfu+9Y?uy%88CTBk*HpRPk1Mmg|G}odCat*LwXjsq?nhO*-M1{WyE|l_`ANm?t_$VL z*?r?Gw|mbrySwcTcJEhlyX(e(b}_b#)$ ze~`Vt=7@^hy-!8$zI&D1eT6c+s~76JX~T-!eW{Atec39v`@h|VQfXaPFO=QuDsK0s zD{A*C?uX*)U00tfv%7ks?Eac7cO~~TJc(Mt{mi3PZue`;?5V>lVt`)a?fqW`=-Q@pWgzBB&7b>&6dZFyz zx8inhsHojLS9yPb!`*N%?Pm%yJ9hunJ+N2Fb+sS)RIb1O#g)H$`}>_`c2_Ty-CHYe z_vI>T_wiM3_n(*9UA<6tzqI0ZU%sMtA715l-=oa#>V>lVpo-glg^JpJrz*F5q0H{; zg|hoP6}S6}6}5YxD!2RR?g4_*x~g6%yLYO%-B+rp-9K_KP*m@_`dFFW)eB|!mtDCB z)~wd{du9IhGu}(|?`_TU`(@+oy}v;&8~1)?e{i<PUfXZByKBKF_x2V(z4%j~b-DElw}z4o7z>#embVDIvE zwm$0S%0IK~t%**H@6T)!zOUlH@6q1(RHU!#yr4hl-}iXiy{J=Kf7Kgh|1V>O?XACa zV*hnWcW%%3Guruih#9A67B@uRl-hzv~ag{{71Auih#9uU9eqZ!k~nzw{5p{{M0>D3{h> z^-kHpwqo|*aGu!zV|RzV`q$sb%IvS+Df_?d%3q27&qnja{ty2^?0S`#{wGz;{+rAb`ycoNvHv<{_E+ze{kN@{{WqN__FwG>V*j|z z{_35w|Kb(1|7P>V{@=QKRR8+>qWdsTY5$|%Df_?U!b+^ao0D?o?>{{2%3uBVA5&(3 z^-kIU0T))n{`xX|{EuKd++|EePCzaPi*-u?sJ_sI8U^;A8ZSMlHZZtwfv;k&w}`Cq+L_nnt-^SP@zx$nFc z=~lkqyW1&I$L+pA*>}B5b}UftqWy~B;s3~e$WQmZwNVM*$8Q?#?LDyO?`@tRxPY`v z--mA+<9~NJ#JwF#K8@~lG%)^~i(meo`-$%BMo~1&?a;<|?kADOjP20&ckIXWmZYoS zY2F^;d;He&)7^i+-`Y{%^DmG^=r=R|ZscA+jntm9Zy2vZ zKiIkaJOA}H{=2#*dn&fptMgsC2iC0ArakAxj{1pgR_z#`f7G~;3(sfPM<-XgT~8?M zr@lYe*Bo3iyK0=wxm|aza=UI{W>^1%YkkeS6|<`z*q(E{E?ebxU8>Bk>P?yl>MCYe zy%;y=cKy<=VAVUnPI2Wc&9Cn9f9(3ElUHJX)k-kucJ<%2tzNtSzRa%fHB0PzU&ZXI z4?fMgU2k&bt6sbM@9LKNtKV1D*PK@|yDH&1x9f>jZr9^o`AT+GZ_@mFV8!gJiF?lN zx?`2wb=xw#xb3#cb%Bc6RX6VE+^+v}1FL%H*H2yf zO7nobU4>m=ck)W?2XqHx&h7eCmD~04GP}B;fw1d66|<`zbe(g%-caRsy|&D*{(cz$ zu1&@4suy_X+^#27xm}Mfv#Wb-n*O?f#q6pV!ROqr+gG_=w=T1*dmRkBu30g=>ccg2 zZr7!%+^)UL?CL%%fL&`VW>?+%oO8QQaThSvyC3-2m9MlPaGycKuCFTjgi*W6VxyDmOg?0S8b+x6-)ySmSN(_hc7m|ffce!Bg>RQ9_|`@a_) zU*&c^rp&JDO}am@U&ZX&_V>{{YS(S6+^$KPUBh?KSFe~|+y4G}NA0>~mD{zx%&y@( z=W)gC+V=O&J8IWY-Hqbv-4A@|%2(PCgzuQY;^dXs548RL@{Zc|@hZ2g|0TR+*YKV4 zJ1S<^w!cr_QM+DS<#xT&m9J#i@E!8ADrVQVzdznlyB=HRb{$e?*YKV3eJWlS5p4c`%8wPJQ{`}^S??XSJ7+^&n2*;Tzs``4&qcGZ`e=lnYMWA}r6_3j5g zaOEq_ui-o3e|GXp><9GaBlT*Q=}Cu9uhDRlP}e zJ+oqVZI~-|J*LX-dSsbh3o!iBKXm1*-u=LPu6(8afO?bc`clR0y24zsYipI;^|xhq zUEb_Ep<;Gjajw|)$||?(rDb+iZ&H6fqhfYlX|C9HNR`|5@G`rqH_5JhR?M#b=Zamo zsB*h*Qf626CfRkRirIDLxnkGFs@$$U%IvD%B)j_W+E!veu*zJq>j&-ylj_|M`0whL z_5^iPuc3o|**!A)%x9i1ac2#eZU7IUr z*VX5WU5~7CyACe1t9p~{I-p{9)t7bW{QiLdu5IyQ(+IuHU#9Wh=36wf$Y@j@tD-SH9}C>)Wn;rFAQOfBCtJ*|qKOFL%_g zzpZk+>dkrPyW+nq5x%Q@OU3NEj`Ew~-!bT@T`#S2yIxpk*YLgMri$6M?e8Ub)UJnD zxm^d9*;Tzs^Xu*vv+H_urN3@c<#yem%&y`4#>-XAu5EwcxTF2GN0r-kp)$LwH>tl) zbzlCd#D1Xd?-qB|uJ5?=RquXavMXO{-3s3${$s`L+V=N|J8IX5s@$%>F0*U+&hVIu z*|qKO40qJ77gxDmFDSEX_qtfWELe=hs_ryYf}%4O(em$$4y^It2^hGb`)m;RPyP34>ucQQe(C$P z3;6HggzwRY@27_EwwB^0?gZj#Bt}ykC*zoZ~vzAL(U>WT(En6&3~Lc*jIMdzwj088PXeQuYv!$4%oiXHV&O#)p0p+WA!U3&;oe`O@hPK5dE% z^Z8Htp8P}qX&pf#xPe{#ycOE1xzA*mUh^uxUXsf-_xYgBd|Jo)^Ib4TTlMZ7`R6^F zSMlRZ>8V~FwOg3aXm^+4Am6OfN(%pQ{iaG+J)y(t`s9lJ)8Fl=b6!j;$wJ zI=N?TeqJAJ_LN*-csdndzz^>F zt?QSAyZG-sl&=?|pKDwnP8~|=`3ZT@=x2TW-hLe9<9}a$LOo;`)vK-gXdJ2?rmv45 zuY-I0j-~i($*yV~TwCen%Mt9Nc>57Al%pf@RGy~Wd^?18`o8%2@+;p|<+S!6Wb3Hb zcj*PW^yI>ETXvOx$UoF8q&K*?fA3LpeR*ndmjZwD<7+K<+}wL33lj@>v~Ylh`&rm% z;ZYV2wQ#r#!~7D)tM(hpLG7oMRF0nb=4%EZq17&z~_J|9!8}Zq2t8}lm@KOs$S(sWl+`^$2 z9%W&ph5K1Jz``9ZOf1~U!nG{yZ(+g0B`oY|VV#AMg;P~b)!)JoESzlNs}??Q;Uo() z7dGAI*M-*0+@afl>x|k>noSdiyLmIrTcI7h)cNyWSeHjpk`O<{E7xxw~l1ce&k_SLOdcaAMH*Z&IXj~+OVZLs@#?P~ZukrJ1=V&iK zudjp>uCsYR>^1J=B)hFK%H9si->HCpix9U6j z8wjdT3%*#7(LNu|Lv6(m2axiYYb*c!I4X{V z(SF=CTYKj1tox|C&Lz8PMLW%ha%c}%4dwWKm6T&rm6SvG+h^V`zF#&i;`?PK`svdh zDu>^v&%bhbJ5+Mqc5RrIcJX#-T12xi>wN|0kG9GY`hn)rXWD4D{P}0wIKS=5gML=n zdarHQ++o13-jYB5{UKQ3=8tOJI*R%ZqpLtgoHU6``O5;O{bHS$J~AmZaN)}6y2sI|Jwe9%i^ufk#@T( zSAy66N4v=szcF4rgABhd-s$tlI`6{zH7=w9#{OR$fTHQ^?ROVWZol-+s1vDB-o^U4 z>u@|asMSaxhPN$)yVosF@XdH!o$hv@=`gCRCp^b{F#d9e633Wu*)T#mz&OpP6uIa8)XXRNI0)@ERRnu zRQ?&h))!>q{;WI7pyun7NUb-^&Ppxj0^5a3C_ISdg~&^ ztK39)-I1ku<*l~Q@cBHx zwmkMgp3g(;g&eZ(F`?cV`U#=lY(my;Pq+YZ=+>fRfq}^6PJs6zOmyH~?0<=I2k|t^ zs66eIcuIR;i&TC-v-3Y~=X@1bADGl@1Mq-v2GXI`9s=?e^#wee^5K;x1@2E z|KN7cFSLL^e|S6RpS1HwwsU>}8xW;G#Lg4MdmB@9*G})Ea||;5OD7szpIP`dA+Foc z`11mjSC5)#WVT`yy$K)hPDRl_;RZOve{MV({vUh-p)%Jkkzrs0>oGIwH^M!PQ@9sQ zQ@ML4`j_`kfivX&O()^xdhk%>DXf3>@C@m|d%=pU5k1(r0RPN5frlA4!lxRi@Y%*K z@FlRymchS-f37rXKmCiK7l;>*qS5e$V9LO_1-?#lHbZy8H-ZVQf8q2tIO`ilkH9Ic zO~E8s<{PcnWUeic@lli^R{-@@AP>QO?~D}n3b-@zHYBCPU6yG79ku-2~x-qCnRcpq44 zHo`+-rIW&`$s;DOD@>li<4vBy{|7&Ue#FG}G~5a%@XJA;$?C80)NOj$Oc@lUr<3_lzaSE?&+yZY1yFLJK0jpg!3GQrM;6bi~jT_+M#{J;) zjF*G2HcsH%jkkgyGTs_~%6J?21>KQi7Po@%@U+^xGW+m7&J#yi0UkxjuqV0@Fdv zg|O>0@ae|Uq0C*d(of)vjZ^r>pby^~^an@Lo$v?Jhkplu3TG@VFT$TIuOp-AZ^jw? zPh(xIeF}f4xNs-tK3zMca2?zkj)t($hZleoxDTu+2U55n?8f!c*vB}5w}W-vkit8{ zUEvJg9bO35qO>pE4Nl-8u-=MF;S=D6r4J8>S(}*fIS1>>g#;dDoWfTbXYg2fG3g)6 zybC+q!oP+Wm;AUWdK7K|6ZlW?op1`j2KPoMgWre0M6Shf3M~Bs{0*$9C=yr~>3yUR zF9xfBBAX@~}GHt+1}g68L_2ML2~Yfmf0~{3m!Q>e0!R z7w#{8_(OOV>BFDF4X7liM$v!Z#o!d~vWVFMUfehujxM~a(t+22*ATO?YzfE2ZG`uQ z*HZfMA@B&~8GIznk{Kl!<~ZX<_(WLOZYg{wybhefm&1yyMZN`IS32_~Z!&)3ZGW`Vp7FL?cS@hXOS;NrD;6Ct%(&yyz@J4U~uLf(48vt)$ z@(Q}}V?41Nv1L;545=pXRL zlqZEhg*SmS_#4=zc@A|U!A(_WxB+(ZbFl%eYvBam1m016UKDKw>smM(MF{T#rxTd# zV7<+n!H2-ROaC_73)b~=3ZD$eM9tvTcrtt$?DD;x@oVw~eh}VMap9+6{*O`y!C#Cs z_!C%Zs*0FEg;zAr;0@uE6qmuVopAyFDXj7&@DR8`ap4iLuJ<$e z5_oS|gXt=GAe_Ks;eFr~z71|bC4(m#Pllg{_f=d5-%GG-FZdOBnDT=E4y#@*@Ru;% zI?CW$Dx%-6HCXH61L1@Lx*Y7{!t1~;F1!VNg5ttEz`92fty~lB1s|-q@B#24a0(w2 z^x>0XvUY<$g=PPQ3E+H_r>oS|TyA_8Jlc4~Dm7c&1FK#c`VYe@Pr?N7B;2UH;J+GY z@IOpnH){R`A0{36EBJ6YTD>Of)Qk5A-~{dgA1xgw5?!;@^8XU3=^DiKCAb$lt{vg! zV9g;Zeih>ucnugg!#z+5H}mJ}PK0-W$*z`sqJ80$q<}lnbWZk%MV-TuyMBrMSXkxj z38yeqW6?E13I1HW(D}$Xg{K;4ux=LH#;?L#!Y-Xo?5T|t_yFS+KEXJHPlHF2ri_1P z(1*_n`tUD;K71WaHtwd3_MS|4QPP=t7x^eSg~u6Z@ULLCQM3TpKk)ft8mbj09oOE^ z1RYMj2&)e!_%~sS==$utIi0WJvrI=nrifF#xi|&tkcafuC(gE$iy{{%c1#eD;Ez4N zR>u?{ErkxQj%ht=@ErO+E#+Ly@)%rv358r0J({XELApNd+5q0(Sn@rLQ}{qw^~~^x z8&8H$f}Op{=?r7_tqY9RZ?1qF&{e;=0q#P+YjJ!Bth&hkI_Sf{GtS^=Va1JztG=cF zU4UOfF4o@SZ}2bR1U4660K9{o|3^-N)i$Y}{1Tz+o8hM!EB%ES7?LZUdgByc$~c2p zgh!&I#wv~zINT>m;Wf}{K&2&)YBn_<4R3Ee2HwwjEUfzy(!T{BZ1P*-lZ?l~XBdx% zFEpM2-)MXr{44k((#a^p1A!R>kHc30~7d7SW|Ao@w@QFgmNFk zmk6l)*YKsF>=X6jw?G2fr!%a5k?gaO@g#Ur1sBUM=HfB*|G<~RCs|(C1S!S4 zHYkvn)@ixxd=Oo4Awhg$j(-WCLs}&1=862ebuscAIG^CJf*Xt{z&I5>x*w*S);aRL4qofbHOzcy}!J1ynqDclp5 zeha(=JO<9-26(LEQn^*(5pW7`3=f4>gY959e&D@~Q}__$3=Z>j#9Vt^(1(Y^Ais++(Sdid+h-czZ9?*8rSnd4zak#>8mYS7hi~ww7Mg}!ybz{b zaB0sAQ@x(XJxW8!mGB;Pm4@uo7oEO3B(pVOwY%KL#tFQ&aSHEdoWc79ec}!d`tWf< zA3iPU!y{p5XEMGz=)+@zK75DiWbh+FpHe>+^x+qRKKzbxrkYU^SAHtj*EoSUFizoJ zj5BzjpiloiBIv_SK_9*#=)*SzefscSK_7lP=)-RWefZ;`&%8Vh#ssdvbzO#jOmTBA zex-B}|E9!UC&E3^$JIUL0{17Dybp4v$$wEl`2R}hMY4z+)0~b{{7UFxR<{>j7k(I- z-1@MaXZ)d(t95bcIGdVmLv+NfEzy?7J>eaVS$>0yN4uQeVcZJqo-Zb-O%M%0-_0}d zzA%>%k>rDnQ}}q}3_inH6}=$n!&k#PpTgr|>gC4Seek2mY|><-Z~yL73p*G0tFf@v^bMhpM<6A^a4bP`9b@lgJWNewr{fCWxOh zruf|-GoF+?|9fN7?%W^#FX{ckWHmI_GsX+SFB&VL+qru5L{1dvdcpkf$`a<)MvnWK zJcS$Jux76aySNliPW?gcyE^h`oy4d2C%9n8&k-j0u=c0$`sm~8{>Yy#jbnIEn0mQ& zzR}C0qX?DVFhc3b5q4I8J002cPQsc3zhG=Z{0fN$e$`lIE+D)J{g>?I<(78B@ioSc z@K`t_O!4O8*GT6M*-J&V391np(2ej5VL= zUcBatwcxdpze^~$Nue}XXrKB%vJ|iT1r3BP_+Xz54)&1&!hQb)-nPI=+VnmCD1Ah( zJbS=OM{d6Y6}SF*7%X>U!S~Of6RM7*2-Q?q5UM`9$FFu80N;%46GFLL3qIY1NcS5z z!jHnTg~rvN;n1#c!XF|_@bADXUr+c;_#;BOZwo$dkbmr?tp8NtEI7eSUvXu3T{B6Z zb1HiDPrS;m1N|1F`0>`VtV+rNffz=li{ATbJ z!bW@ok04C(JHs`^Ro-g*eBVM8|BFB7x_$xZ_Yj)A_CdH4d*YB+Bk6pJEWsZJPbF-` zA7%0sKGx(d@Gz5S@Tn%B44-at6>5aZ3-BnI|J`-c6~MP}ihQhb2H$HO#oSvkPT)z# zDf}|LIdL<1GW;DZV^1+oVEuM1c?$P1&fsv5P{uAGpN38XuK-6i=)w&yBRmY2OIyVjkw>K>~PchFUQB^;+}5&zg%4P zN#z^*yq$_~k{!H@@67RyIld*wvX5L$Z8a9oCokB!;=NltCUDvsZ z;$kW{Uap6`$c7~szmCo=rlY*>gh!Oli{i(vJmNQU{AiBf&GFNvJmLf6Vq)<}=u9Mi zT-_q36Uvq$x99po1efAaj#MwHKYbDz2R?VNmaj;G}Kog9Cj0@gaW5u&T$FcyAkoFE@< zoWkRcGx*M+Pnr(~efWu>5C0X$)p48NIfB|0(scs2=<}|V4nqIw3BPM`*F^6>u;Qw3 ztz9Us#~jMVe|E7wf05%abNp3_9qBqk>B*am|6S6Fzs~W`;DwfVS~co(lrNM%o|@BB z`OP`0j+MR+79l=UpzD82!JAtO>T^s(uK#IVi5v0#(Aff=6z&gi2WPOk_&+4N8gj&L zzL0!NOH)ia-M)20bV9pIp5%0Db8)va`KIX0HU<2)#{FTrZO~cEqf4Lo(az|o%)xD) zOP?av;-jBfI?_4VSYzO5W9;di%8ZXrM1Gpd6l|MIlk>IGY09N}W-iT9FzQ8{Y(ITm zXOqj&$=hUy>2+M(>(B}H((jw%0=@;g>ZQ3L+~)wJJCQdK7Vx?cseN^Vzt{A8)^aTd z?`(NJ18aUs3XBuu9pQh#s$*TPzqSt7+y65imjUr`ac2tBZH3aD*bCmx($~CJKqTEKyzo&09ksjM>c(m#bMZas>-ScQRXZHv#_0US^4bP&kRm#|hEu;! z;GK|*Q`np%$w(*a7NmZNL<2}q@zCXu*&+#{~elx`>dbAt)s+{V#`@w1p zIb9dJ^1!dyRoz2Dn zqddPxKiKI>c&wd#5k8VQ3CCd{p2B)Y^eE(cJAFqwuc9By&)H~*ba2wok27>!`NQw4 z(s`e_VQhT_*GJLF2a*2={+XrIX+_^|8S(|-(+O3E1&y_z=w@7i7dKuDUK)1&5nj$X zg;#-}B+T&Zn>?d{TN$e_?`o{RJiu6edB30!4~Cy24H@#-pbwu4Hy}>At9cfzI<_D` z*K{)Y5@Rh4H^cg!BY|&)>2xDC{_cgtT=<}IPvnmn7g%4Fwsh$4wYrZcUJVO9VLGeR zJd=#qME(ckwa|aTcs=BQHeMfo#drhwHRBE8*NrzKU$T+I3hcKjJ5}-r5|HO{$o`K0 z?ws0@dVLI!@aLkb#wo|0S28*J`u$fjwb3HT)qfJ&rLXCv@T#yI)8xEiki*-;oOT5n zU|gV32N);t5pV-4jj)~#JeGV?_*CS_!x`KR>zN3(i>~vBB3HYd7vjR2^G;A)_)6rr zpq{}ku

+aII~ez)u>d@E_rml^6UXtoBN{KlzsN0QeK*M)+&^bmax>x%&0tXi@gV z$S;NyIHvK(B2M9jU{@Y^d1Do7b69)H1l|cAA!gpxZ`ra#2JemB*^q&#aVjpr`v-k^ zwFZ0M1U|yj)XP~Xz{Akj4^OAVm#A#;nHD#NN5LA8`Z4uNSm`Hl3w$a1DLf9oTydGB z?}W)NO5ul%Ti~aSGx#;wrAb@82VbGM@V^2t#k{eyzn_pSP5Zz~GlL88N$_NNHTYWM z>K^{a@O7}BQ; z-!u4C|)aU;B|@gR5~WA;BahZwW} zsX5O0F!&7P!{Kv`kASZ-X5UgX#+bbdvk7y%`T+iJK%T;Kr;%?9ya{sIGlRD= zju>>i7$+KlII?v6#Jz$JvOzfxI#NFtc|ihPbB=Y)d6&+Gxwu#6xFyGTue zIesd~FXvcsReqK24dew0%r#?&;5a{0I`5ZsYNi^aRuiw`{$r|?e3 z8N9b~#M*wCaRSRRk9KzJ2>kP0ebXGDmE#dPK0C)Fb9_OLRd=PYInb>Yu-Z3fkWHwXq=#<`#ZX>PVri^#G~-Lp%cpR zQ}{efU-t#ihZA%TK@PgLQu0xz!zsBq#1X4Za&$pw=c9?MyyQ+cu7gup`%T$o6dd}- zMaC&|Im+hlXNxb)<$F<%L;0_;xYE5D*4RmOfD1am%IQ34oHz~lC;mO-(Omo_`~*6< zy30uGFR;?lWUk*Cm$ovzhkOLG1aB^Wmbf1wC#WqT)V-Kf?4+J~xstdk$6umz4V>9I zg7_*+m!NwPUu`m-*S_*w;t{wu(fX`;MNU5!Do>R$f4@8byXaErG;qEJZ!T5`3j9mU zi=ddl_L|}R^EtjLryKgO^j0MgTwO~}ceF9(n<3pXcJ8j6{#bY$(qT&E>XkVS4tWeR zPRQga;}llkmQIF00r@RT53l<{u8+aRy)fL2&aH$Q{v1n3jXVk-hb)0FhsVPyd^J2l z`tZ&0?j$dR>zTCMqz~VT{8!S4e*?Sn!2bu|iCngR!Z?NhWI7r&Zy6`B_9u#)!XKDC zgFgxS3vf*q^x*~8Hhs9>ID_RVuInp$w@o&ZTLv9*K?k^?lfN(0uS`d3HMzbL=eQHR zD*B}3*7Pl4?InV{U3E8yIb3>zhZ$qGg-tp1+pz`OWvj;A2!lD2jNvZ?S;JNd0~qT_YEJOyiw zGq}z;BAtbd6IdUVP&z5RXwZjy1$_#*WYC9~4*Kx2K_BiH^l88qf;3dTCZJs;NpEX)430whz64*3D=j_B~7gtavQ)J7jm1x_e$Rweb)!1Z#q4< zHttC?Y-hZvn-xmw?}R+0zpLpe%>nTJmcF>Fr7!)E{(i=!Uvr@GBJg3xi^4}47ic1l zImKOzraRu`8=<57UXpJNpK9_=;GY|BhCZj|;`^wmxp-QR^(_EhfA>K5RTQ+=JZRD-@TV3xg};Gubq`6;yZHZ%NxHapC||h{DlNH(bMbT^!d(12 zxNco{6-q11Bya*hLmny2HE;ARK7)5auKP+V3Drjq zh5tmD;*U1Y;4|Up2y>N*f0?u4b2Que74A#B5&!x|T)w_Y`PGH?vRb8l_+rKT0{)^JV z)x)T{wphlvh2xcA>Gy=!fWw}21NbH47LacVYkVj89bjCY(%KECJhex`2f%+uUv4n` zDxA0@_b2{~og*mr=T}UIMl5?CY3Vg0I39k@&YuE*j4UIwW?21hKaS=8YC0Dp|0~BC z{(ATg$?=N&Az^}7yD85UFWY}anBldz{+LjenSlQNU;=BN{RDXm%Mo;Dy?5?)>El9w z@kegiakjrZlz|fu!Ac^*Pcm+VHEtwN@qaXV3v4ca)AHcB>szqWq`BR54llxgv-7XR zp?xM>Iw_I#Y{}ozX@TEI{x+P!dd~Hqii`g;#D)KBEc=*?CzrUZ>K$p)WJv?*apEs8^bQ@VHL(z+Wy1YL%myDy=1|78(}AXh(81FUu=;P|9meP;^V@yz7AHT_+*Zgw$hU^2$X9|&v^AD^s_ATdA zE93v*3=Z>H%G?;{u?$xKyHsh@Nlqk9ttpxV^{j|nYcTZBkr$9B@Wt?VN*}%%Zje5F zoAG4$LD<=kn^PG)4xIvQF79o%mz~s)C!wP`MeaHHEW!l;rf~|Ji(e#?zU{;uS(_p3 zxv4LM&MyJ4LD>rMGH`@mLa+k74`GIv>x5jLZ4KmI;S}Bg*6&~$yfwVAbjWK5SpRZI z0`CfIy_aqGf;Dzz+XLZ6q>nx27MDJJ1oBrn&fuTHZZ5;Nr^3C^N#SM~baTG;bnamw z;^;Z+Sn0s#Vkrg=dWc*fJfC!G?fm8Ng2vb7(pOyfFbv^M$n|f+Bog94w>K9rU~$Ky z5MSh`*3|O9mKI4djQ39`k$hsJ|p*USOt>n!UaQ^ zW4gly%HK#O7K4NS(y$x*=&uBaK7TA}xNo1KFV{zD;x|BNDZ&iD1w2A0DacO7uAjq7 zQwAOkFO6;jp9E{oOX1Y?Gx&VtgvPis$l;q{*Z-Lx?u1q56rKpX^qC*RzBGX!L*AFX zQkyrHfiw7Nt5vUQ%^|&Ba$*|5P8) ze0Ui;shzwY4(&b$KGozF#Lrt?j$>y>es1UqaCSZ&}lH8Rnh4u#;*;#xe?yfID>aJR=+yPIDt<#Rv$YPULM^HJ{vws zSz^>HjSH}zm+OyCL^*FnK2|#2unjD60{;eHns#Y~pM+Q8L<&C-k3c75HGKuXMty_D z^L_YTX^W*!*?hyydgXm) zh4(kk;KPmeyv1?Gdfs9Z=FECbzz1%o~e+jRyI>NWYs!Ik>gk^`xaAx|N z%$_k$;Fpb4_;1D;{6WyKXI~Zc;eQ8xINr|NA%nXa>sgJ(jT3ko;}l*IUPJbT*M`>? zFHf7o>xft887X*OSkDURe#Rznx(0I*a@8e+_l7r<&YIY`!C&9$H07D$|JWW+zEM4 ze;6$%ecaB-F-26s?**SgnBe6|$K7T)0J&_KbMXqqAB-GVx1yzmid)w-9#=Bi5Yth8 zhQSP{+6+D&UfFbXZPS1(!Jma(+=$n2Ci;CNg?l5Etx|mP_Y2}Ljr=ptXYd8YyEr5T6LU^O$12K3_-E09T^T}srK|FcBuwz(zFG>uj{aKM zK#gWDZVBX?o^H>1r7v$T)-2EgXxE;-(iIOe+Qx#jcF$JK3&{1?U>VXMoGH#L1kt`FaUe9@9E6*snjg4gkO zrS#*jq^~iK$c?Y@#8tiJ?t#@O6CHRLKbY$e4;d5G7C0Z;RH_dXSA8PIKMwCjc{2EE z80YTWII{ND+8<2tDmt{CdpGP&IE>$S;O!|}0o{+_9pD6>0`CN;@Hep9D8qMQ;np>d z`c)6O0ZicD#*Ogu@aM==cvX03^fOp)7sZvw?M9g5*F{J71JnmLhFxCpw(#!Kr4qXt z7vO#1J&-3>xdBQCJ^=aN;?6v80^{;FiFZ_5-gUja#PJzsb56zA8gtt1bKdR3p2Kv9 zDE*Lvr4x>&UqCht9rbOwGvF{@Mp}8obq=Rv^#eJI?&4mAj`jd@*TG?LHX8nkm0=vb zr|~^7#dH1S5je~rx|iEP8VUXh>>3TwU^Mkp8VofhD5?UTTA`;uNtsBfSCR7~dK z{+;^FC;RyO3>h5m)2aVVMScJ>8C8zJ*(ch!)E2eyd8C(cKHS$yVLkJ@A8|9-Tzprl zZ#Yt$DQWp0q=UK}DGl6H-Wb? zx$LQVy8(F%yf^ZLh@8QPz>-s;nqkKL_FHqVF~9xR+zh+AP{;dW*)D6UA zgBOJdD;@e{FZeLUg$wZEa0(aSjfRWwMw92N=qyH5?eo_$);>SHGp&98#wOPfY{l=U z!r}X<+Vh9+qiWBeps#VHJ^v2I863Wks{McXKC1Trdjx%Wzn~8fGS>coh_UwnCj@=? zw4e{49rUTt1wkJ!ej5|M968(ZDB;g7@KLf4d>cGO+?PJXp6Y1XkV)-suf&4<4z|E^`7ySK3oec9KqUcJ~p=(6HgnLnF zxm%1AcjW%KG90M{Ih6jL=xB}59`gTuI!^I1_%SHK{|O#SnBxBo%WfI|En^w!ebY(c z&x5{|1J(F3moo%^4DWvs*HPqqDP=hv);%M+qhVnIKNLQWg9JVaJ|0ftW_T!^!MfM3 z`?D&8zH59UtTLPnpCo&jW#AQ2Dm$LXMU@OT|Z=QdDi3!hWRUeveINedD~d` zb96uRH08_O685f|H?)39ta;;e^c&zt_&c~+<$)JCm~jqg@Ivqzia#!RYaTcT)_yOA zPl1(J3#{)xZvtoV1@H*PrSY$X-L)00wj-*0uT}4F43kdD#VxsZe?P|`r*VxNyY`_ z&l@N3tHzD+WcXC{Q}}&&I6Mme7;b_Kr2mz10)GeN+}^UwA)YsPf&1fXsPyQ9ZY*^( z9o4~{(+T_Y1flv5`feUr9R1TxaVcYs<$lHmcr|0$O^yUz+%RuQwgEcoZw34o#x$XG zvbpl#8M)>xxjl>%IHZ%p`yyBUTJVD`oe8kHc*6kp`_eUs@*5BJzmf0^&fQFi>vkqG zIZW7H<@yf!K7^eHOB!`Mi}R;?_NdD6$fh5UTNM*O?5 zyMBQ`h96a2c&f2$oWs04=|rCJvgo96U*i^d72^!v(0DSuE$pt>YPo)bWrqU17tA!} zu7wYRe?gubAwL?v5KiC|;fvrDZid|&3ZD(TdM&`bVw}KZ;8#>O_%?V195GMc4_~5m z;0IyQ-9MiMp9W9XTxvW8{s?w)8I+$Jr|^G+oHq826KHSz>_7pvg6SxnoJ*4iF z_cLyR*D%&S^G%H>!*Z9YaLn5~AU_@ZX@9r}tn0iKmXqyuA64!wIARXm2b}_#z(>ID zcS-nE*!2h4TzrM%co(0m{JiUWmB|sgdu3-4ca)t!A8rVmrmy2GkmKquK<_$Z^^XZK zrgV=@-{a-c*jL(yC@f1 zxpqKK)!gsr2Ya39FhZR^hEVA?6Kd>@A}kPIN0<$&hvZ~|Xy zoWj3^e=U7@4E#Ik=94cEgNyd2zH z`U^1T;3eS%-Vkn(KD-sYob=({;8msHg=_TlztuK7T#F; zu(|khj&DMao9F%0){biWjYq>Tk#8NXycUAj;86Cz z!>VtB`~!Flx+$E0Zu3jzE;;o62W!4Az+Hye`T_TbZ$T-6&BbF~Bo~*RtaqV&j|Bmz z$E*Fki^mbCKw5MKcdvS7%R{Hvg~t)r;WstbSl$7aeG*u1JZYqkxc3f6RwmHhliL&h z36h(;&G-=Hpt}}49CmwQbdH1TbLj^iMZewRYVVmZ1Lb#f$SK7AmFb)g-)Vdne7Etr z@V&+>@te#2#up(EWw4^gci1_OyXNW;-<6l=?0HX4ep^m{Urv5|P9B~KMC8hUIb|4X znO_fUzaTdb4&%g2qWCwKCULum%66ZFl+Z{_Ovu<4ORv0sMrp&vhD=Lw4S2;-&I z&PgwWKc);SzxKjY;YaQKcW@Y2;hHa1q@(>B-U9c8adnU7(tO;Q{^RzzQV4m5xge+q z`)h5M%iH$%rbN*FN#jt5r#S9odFSIyLcSbw0%z0p;ioO`X0Xyp$Y(2y`v*IRD1OFR zZO^fDA-{S%r+m%Df6VDWX2PH!$`tw?r{m{LpJ0YIdEU-R?*;fLlnChogM6UcbkDUpRfK&Kl_;u;vuYunnOz=0sDrX9hhgF9Re>d#< zDF$hU$0|+uC3r*9(>nYn{Fe0Lf5OAiiResUz<)!Yz~8`=#jK^Z$8bFZyEPX6hvFia z1Kr#veu)FQ{^*2z{W?bM+I3yz!M2+jC!F5~#?}29#a&^F>8=UIf3Y<8GMx|~v709j zLH?@g=zhm*#x6zXs?|9@%Hsaj&V}?(LSFvc*#BV@bMc#{w7PDUlmFJ3)3pVZ^*x5v zBI(~yQW-NlCWs$KUp5T+E=0t)OKD3p{#`EpM{@kG=@AtBUsscbeyjNJx1kr#f55p* z%?7!7J^s+*(A>qeL!2%;DT1H1+NveJRKhY8$x+6#8Sdtkf+ zrOyeCLvwMcC&%%ZisW6_r*b;~&dDd4oT_#%pnEuJPPOwtga2!M68t~o;qZ6HXTT)k z`mx^A*7cj5t}p(BP69vI&*meY@Gky_bH5-ij@>ZVRWPP;<5qFM<$TV?Pg^;am)0!Z zFC1YC;r;NG;|ZiAd$!=^LYlh268gPAgGnt-nznnG7ec=Z$L)or5xajB-RChwKh}Bo zfi*zshrRbM6i6=Q6P^1KbW*s%coe)UyeMIYUk|>VvLtk*ZH!a6 z7TIFbfeZco_eo`tJ<(Ylc>?R(Xauzhd1wyqf;_kdrDF$+z$xh+OkCX?X@QS|)kYb7 zB8;o6v-pTye>&TA+*$sRS7)YN=ep+d>Yn2sIqqrv_EOVdZ>xGCorO&29P-);8>g0j zH{=k`+OD3ly=-MV)X`Xjt3x-7>xq4)-?Td?O>rY|))%H!7OPREt@{mU9BPQ#a(I!9|E zZ!p;=u-Y-_Tu!?wBZQK|1gTxo)xR){YEsnABu@%N#evDbd@e&rFEW3xyLVV@b z$Ierp;usI-L;036oq~mmw{(vC!rM|;wMh#n^Xt(b$TeQ}VM3MLEjrMDuoCd%23(hpbq z)Fa$e(6bofx^e_M;uMu|y_v!1nOyPo`T z9P1gMl?fAkxc=8%WiIYt;;uKBI9{d1UAJ?Ixftb8VC5_0~Z)0lQFcHO0hx{^HJ$l?;rP@ix;o3GasTf3nlQ|$aOuC z!XLx#x(g21Q4#0DGhzw+Z*+!{R|=c!x`ma4<9N#wcU?B8qc-{GMId#ZG}<6Bro)Fzm$qXMDE@`i*Ow|fxw zBpggwAUugMAsk7V5?)QH1nyL*vMVHk*A$Y#7Ycjgy^Hsx9$oxGRkxSbiRf;xCj0Ge zvhJp%=;q>mIM>VM`$l47O-Jo(E*@m@DMR;sKhyb!phf(_rbjS?Ua&z3i54Gj`eaqSehK|S=a01W z^p|$Wg)c73R*n!V{*YYy;T~Q-{bTIB>J{RJ^SW20e_yu??OK5KTx8hmecR7|%Ow+y z9sRDm7JdMQSry#`-Un8i3H_)MK9;;vxcJPYEhy-8PSHEm;)2mBIo2^QKHkbo&|PJd z3uO&9-NfXaiciSZEwp7`edb*45o*5bAROzGCRc?LMR7u^{HX#ZzY;7Q{ zHaH+y*l0ISP=XgL3CSuOmM94(S{629m#|7gf_5QT1U9P>vS>Gi?DM?md8^(!-5wk0 zUrTlV_ujhqeb0H$Iqy05+$*Ffk^T{+dH-nx=^dp13J%%F`|$9=Uw4=A`7_wQrt@$+ z+M9{*RT0O?0*xk^@Z?Z9|yb@Y2RN)n)CIO*glT* zBRDUQ@ivSGPGURtQbM|d^lu_PiS)}z)8~Dpt4h<^RiwWipKK$kDa#k6*RlN~j@?K4 z+mL1*Jx2Pwk^T;xhnf6CNYjQ5q<<7?X4yUpSN~q~r*ORf-TU22<8T|l{cS%F4%kN; z+x!1;I%{)&7TbLc@(Vm(=Qu*z^q~8|OPlfcmL;4$) z=6R-+rah?k_K(|N29=?P^qPJJ+`QF%P81 z#X+Cq}=iCn4c^|~L|9IH`Qz89x zA^oLjPyP5`4%^=u^7CJX?f)*M|6@q=-PL}cdu|NUUlr1ig!DIt^vfZAEu=dk{hcBG zeIfnHklqVvKCA5Z{7l&X3nBd*A$=CouTPUurj0j*bSb3Y9@6JRdc{!&QK zhxCn*{`Qdm?vVa?NdLg-z^@+;+y7?R{@22GuIcxD_&Z_yPlxo+hx9Lp^sk3B*L?eV z{%P>>--lz;BEpd4r#uF-_QBmVf*ig^nJGm$9!$5zh4rz zzcr+b=E_=8t)9Dl`P>JpSI&RSRQ2iyDpS>JF}qZ6uN7;zTJ>Uiwp*>QthJlI0bZxbL)!*emd1Pek|789e&!Tw0(6^2V5ufYOUF|M$uVa zZ_n3l6D_LRIj);=JZ6=@k_FgXtgf%s+vaMkxlmo{6w51X{Gc!V>h)rMf@V$(tW3@g zvafw@eHl59?Cx)?-$)x~=T}!2n=!MsAzijH+i8SvVc*(pbA_JPyY=}hEn1#!g(G}( zrto=~glRo+t4$-oIdbd7;@JTrlDA zDQ#Q-l$T$4_Wb3C``=$*S!%9aADloue1^2Ke~K3`UO0d8`N26lx0Z)b;v0s~qOJYY zT=~EY!{=GPKIBWn;d9uw{uy3)e#jRZQSG$n2i}-jka7u`U#(oe^!~CJlpp(Osk7Ez zpIHaPjR_PJg_GnQmEvB;5;qNUCj{o|>UKCjAy>`)OE?u6gUYN%)!CH=v=d1{CY#3U>h(_fp>(N7OAFlSl3W@$keeqqMx_It|soQ-)PQ9w_*#C#J-Adq(rlHcKsad(r^!dheY_<~KQBbxk zv%mFl>7$>grdv{TKNp{wegQ4qK+dR)EAz8!^?@AvTkdF&@BO2jiE|e;dBK8koxRGwTU(f9WJe}7oFJ~^#xC_&Ca7Y?#y1R7mG`?*E&UOtv!pLes!ff z-&!wj&R(xuCzmA-5uCC}CmND1btLrV_pzy4EbG3b)d1b*`I-L`uG+b%9Rc+T_ zQPONjPPOaxz7RI0f^5&P!)6rz((3&6 z>Po${#xM4_A`;;CPOCoOM3~9#%tjS9agGPTZp&S6VE%QgD>vplH|_Yu4K&4wyuy~| zLU)LkP%bF^!722W>QWQE-C%RQ+l0D@j={95w{qP=BAhq!vGA;}PmDs4n)jx1^|)ENmfPzQZ@b#5NZm|7_J zRj|p`blI+VP)VV5gaOxGs|Z5d%{hd{h`d)(BC`wHlL`{Wm#n8<)dr?_61MBht7~^IR;;X6 z=dChS`(i2<+p8a`ukg&(<@)kMeF?)3dI+lB8M>Rq`PUQhs7OM;E*lpdy?Aq#ba~=%}TOC?D3(rh*1!8p8G01a%c4Zc^ zGIWgQ0c|kCXMM~!noA4VP;{DeXpFBF$(JQ49?e8*#b9Nsk@z0YqQ;PC=O}>jR>wD* z$ZxR7stcfGqmm(wSfL|Mz;x!GigIlsD& zGKgEu&c#l#*j&QsxVc(gZ(DIIfl7q>DPu5=QTRUj4*Mw{ykY)?@2*qJY_UTdzbQ&{y*2YrI2=HWR`cB?ZF zbyv}pqQ97LNMcr>s&?GcVjtLO&nJ1en(5OzNi_LQRMaL$z9^O^s(H&=8K%7@MNf2F zvdxOIKG&IDL6d@!1cYu)*c@`w8ot)jI-2b|I-%yW+9&LCx6r9z{K1Y75?@7olmx#F zC)uZ`f@;Eb1OUy|+4-W?X{yf6&d;w^+sIE;?*&}^ zp{`&%%EkH{^rES|LShjov<9n+p?xcI`mP|>H&OGH{N7$ zQom8)^JX2oMJv>^OA^ z@Pmz(b;|G#I<>+yf!lGdB?M}mBvC1^FDH>A?zTE<2U%oesTBBF(mDV%eXD5Ht8q(6 zQ`)IpvyCmN2}-d*gslo=oaN=}Jd9pjnuCDn3pV_iIB7L8VP;k?wr8)wwvXIG_qs0W zTA$Kk2!v7eS`()lB+SLXftDHW-P5i;M+&E%b4XF>{v|Ih~G|muMM50I*!EFA|0@bm=yVKgjTPL zIIY!?AL)pJ8X+fC2DqE@l3%ShAf|o{!u`eS+=uboqffR;h|igwXt>a3qiESeAbyTi zoxOqiFidMfylo5SEUaQYiN**;molRtE3U3CBNt|&&Q!+&TZXCkMRR~Y7afB2#ZYR> zd21w9o*h;;20t8~Fxp_N!!+m8__@N4RBiAww)=3k1XCl}D>AsVzV z7VR4;c1jf=UEli3O-#q8b~gnH{XW6!4^FtYj;0KuX@6Rk6ScTP$`VYc_LFJsMn)Hu zVjN7sQnH9ks)%S{dIws8dlqyoSZ7G)J?ot(#HHO7p~x2mrcFnz@W zdNsmSJze!iS(}?HH+)NbE@eTrid2dmA($ofPvEw-C|)3pNL423#H3NI?9D!bT$X16C0*4oFAyJbjM{c62|1hQ~(% zYaEraTv?*&+c_2HlAi}7AeRA>{eneW9Trk^ zH#zLaEMrGkHb1e++olEXztyZSEkGbhu5iwPH9ZYcvBg_QB-8LcjTg|w^Tg=)`U$i% z%jqn(oz~e66+aMR7{)jt8o`iB|n53(n)kOpkttQ$M z#1ShP`Y|G##c{0R7&$>|cw_}1Jd&T7_dy58Q=sj|-5xuSpW-@qpz7-)Y@)0lOkciw z{)MT_)r*)hzH;^4<*S8naUNud8N67uUs3(`2@D&YOJJ!5z&$2puT5{H;zaY%FVD^^ zXgyv@CC&s!CTR=%X>Lg8zz}8r`Yjt{a}3TNi;Y^RzEq#*V1RIaF^y30$&Bn2t1aGL zV*d2iYT3}IS+;K+X4=pKw6M@=Re4oJ2bQj{xCPvr#zX9kI03>)5rd-D8?*)k&}9oA zFwem8H>P{+L{>R%3&&hV$8K}+w^~@%QItfYcfEtRw^k7iSKr6qY;su*Qtf8J`%Hz&EIX}TO@;+HSBR6s^w2m3VL9*Jpg$xg@ATn;USTk-&6CZKQ zz*=2G_E%@u);J9}bV*E3bTF+Gzi$nQ$<*v7TFcxRwEK(AHria&0gliiA*G7BCeF@j zDxWNyD{!?se1C;E63+ZRuoJUwnVZ607 zh;rhWIK9fYhSx`jw1!T#KF^O8`@|lTyoDqP!qGK(RnZudm>P%KHU{xFx>;OFV<`;$ zS5{4YoU~jj)-4#LJ@mVdJK#8f+WK}(gkVk(bw!`Zq$*|*+AH-X%*Wa;Y;sepcJKV^ zRWyVbrwV?ayL$d5OFeVx1>6qAXb`J^eFVt#`r-nzmcMWt*BX2Fa_CV~FUx70aLI(J z1e3?sb<>cdJ$n=7g^79qz7x^F4zk<`N4?@{^w6C9)JK2X6?c-C74Bd&V+A`0RzLA|P*#{TC|Oe9ox^5 zMBVBdCN&U@H!yZyv$;(&0+Zz?syeg>s$=a!$_vsQWy-|t@?4Vx;t!*d#>AFQL}|XK z&xkiMIIxu%wqLV?emJK2IWxw?tF!9}Ksks?odSlH>sIm|O*Y!B%5`{ya!@L~wpq0X6mz(yR({s4-gWtIA zfcU&RcMJ3A#Z9QAt~4fI=IcxB-{Mv_32Msw71ZsbiK@r_W&*j(krd}PQWLq}X=6Su z-7>_zLv#Y%Wy40S4qCD{%4R~U7+dJpVn@MtnlI(IFmF7&at*?@%xof9#hd{$aS?N^ zXiX3TVL*+^2cDZ3LAPV`D*R-s=9YG=33{8qYb)X%g5qnY&=Qg#$ z=GN0h;m{#yHP9@ms%wP4wuA=NR#ss`8G=IAFJfT6fLklq^tsrv*7REX(A?@A!kZhI zqguyA%tHHJKIOX5{<>nm{dP_TwJ^(*3K?028U}5nUE`{w=4uOru;q0OGMKtK+r}*A z_4Yd6l!hq=8}KP zB}4LB9sNhTCEHqFFYwd9hk`H;osjy=bf+arF3nQ12ZI%qA_inOacP@8P+fyYFaX9` z+6C2yX3Nxz);FTHAGV`$(=N|xDxbQ+3Ol>uGdR0n@U|U(*|Z~dlPR5g!WC5B)LSa+ zmRVKPah6QJwddI9raWYTX?2-1S4ew<&i?fkG!_;{Yop&0bmV*(%Gn0qY>utgJ6k;G zz~;x(IMYV(C;teAU8w<`9ETSdEfO`dzIeM6E11eIwkAv7_bXyh8Ck$ z8&MV=1TzRmtdvusV7@1Xq=+SOL&tQQnwHAc<>#tXFHK#%TE&3<>Qwbvtn(^v+j@EG zrAyCG-C@Vn%=xRgA3k;Y@}0bGL8o$A-6ER52sE(b**n^Jf{AqV0ie13ygo z$RjR{Oj(;;HNj)VgXJ!mSl3bk#a6gAwZcJey*rPNgX1MjVW?m+k3;IO`}-O<`bis8 zQO>w=jClr~*6J`~cI!3}9&m_ieLO-%1RBe;xGj!2eZGmi%*__=BA{lZ`;I0F^m)A7 z)W1lB(Wu*Ujj>suIIu_OiV;<2<6wt*!b@Q6g1el_7;N<63bvZAs_L&5KcH(v+l+xT zZi?cjAZL@WW7XpvW)rBrq&SKj!xP-))!nXwcN(iLtcJz30-F+a-<~O&SLVPL>kT|x z5CpNm;Oz>AVD67tC&%QaCcmps;_|6r=TPO?UZy;=k(Sc!I#$`5-`W6;V+<6x*dZ9S zwylB=ibY@G;M2Z@2(o`^%(cK@Kc(GxMSZe@OS*fCc?tc!!v(0hM1931lE&^S|I#v| z^%fd4mj#@&*6Mni%1=`@DQz)Qx`1T@V^1BH8aSK$S74fsOBS=ELU>`u+ZqFlVKChT zZ_*7Xrr;(P97lhjDjGLA>hRLWcd`1)CWjROAp?2$2XhYy*C~HTs}43|Wj3N)qVMTT z+Mru`*NTN(Hff5s5i*93ECeuyjF$k+ZyUd0t)sn_71if$+;Wp01C_f#?I5nWv7S?gDe(@$C z`7b|puVrx^P4$i0_LJ3xoBVux)jpoWhh-|)1@w(3tfIxo#}a~6es)$?eG6x8>~M@! z{21PywzMV$`(NqW*14thl?Ho#?n6efvRkrq1GjQmf0;YQ>|E0_45CgO+E2c-Xg~Q5 z{5*x9w?pE^9Ad#IpTy62(SCQ)o+vP)!Fof~wN4YgCmst$i^pvUF*;q=YD}49z_(P~ z#G8&$2Rgo$>9uCjxtV&3mE~q}0}~b)_25SK5|oSSLN32S?dq(sDf6X7N!8ZyrC#11 zXCNaq!h;Q5_iPE&XIq_s8QeiqWxhU##V0A|!Q8!_Y#9rwI0nVdb=YA&O`(X%PQK=3 znKg)|(#5dEk*h)zXuiO#z|mNZ0ZXs@_j$Kq_>A0w2T+RVu3kR(%vAMK>WePK8**Tv*f8|amwL^XIXX7b6eDTx- zR?cz;aiw$H3V%kykCwDx=}{fU3GcK949m{2?sgsRKBC!XYn~tJOhd<@jP0=(8>rwA zeGVU^HF(%P{+@ThqUK_${FZdGhto+t1VN*Z)-pv$2mq-b=zNh2G}BGk`BkjE;Jggy zN-(v@>48`0e~RPN5E z(#B_M-H@<${@Nnvuy9!n@;P5XJ9s0l4skX zIFL$V8q~$vR<>DKlD3QsViyLXJc1K|9Co4gx52)pRi7Z*cbZ1h@CSF?7~Pj2;z_V- z9?kXYVwv#pqos$EgdTf(rSrIL3J-gbi40V4J@#}u5_N!!%WXy_Z9%6|PS3dD0gTV1 zmZYOlF~;BXlnYtg(gR?9A#h`EXneeg181yRE^Ds|L7 z9*7J#Fwo|wqj*J&uIz>Y$!_bUsYg6-^?7GtGJQA$m1AjF%(1j(kYlXHS@yoSgvXYi zsaDQEiyHywuj1FGhmlRU7Xy~?rzQQ5aCp|nWmw)EB`smdi+CA#YnRIp4IYd`Ag4#% zQ0^>Kdnmvf5<3Gg!$$-@Qg5%~YRJsoxK;s@*`^la@W9eaDU zqjmjr7=iEfjo`rp3$Sj8k94^qL%B{jku8Y72Vdr@aBPpK;KX$ai_tm_Sn;(_d@U`r zZ7YbExanKRZJX%?-}mp9zU|vesQHM8t1aKg%ucOA$)EY^KeNWC;RX+;ag2n=axA1Y z^YpbFiyf;SrAL^$!xL@ki`av2aj6uSWMd^a*AApUpA*Ek`kJexIHifboGeexEQ301 zn8Ppjarjv5SR9-lK48;^-B|a6aLJc#FW?#dG+3D9(h;1pT18i8&35{D1=iaDob&7r zi~v?Fk!I<6AlgVQJ3ydiy#-oI%-}K<;q~~bVH%9U1S@V0FyiOjLUWehVb(w;Ymv-? zHNBQi)>_#{R%}fQ-AJjn) zmmVsWUpO~|7V(AmoxeEsZ1uv_#rI#GE`b3Y1-^VGR3Bl@CpOmBe;PFGHf!RYtqp1~n@%T)0 zc-(ZJWc*7ycx|Z_M2A zRK}LV7cfbM6)3hwktuFT^HP`=yn%%ZX+0>`hpj9^59}up>|jopPtI6rq-0vWg;o(bU@$ssQw;X}On6i#RUCV~BrROf05EJx#e$U;))x9Q)y6tT zvV17T9)YqOr&Zjf(bTU^LSxbY^$s6)YGV+JSQ~R=yu*VDL`n<`OO_LI_@ljia+0?+ zAtZ)KSchY=2aZSmz$`1*(R&z$*?7)xV1s1`G>&-%{6?Kc0^jA=ah4XR?|HWcfW<{z zY-8e;_&Gm}X)EkWE6wdLkv-IhwQX41(n1K1g=Wj?vb;pS&F`3H2n_X!;EdL$`&^uL z>Cyw{5dGoo4(!LnW%#O%!Iu{J>^ABm)*vBW+*s(W+OKMJnGa;7Nmbs5=syA;} ziZ7yEX;ePW z6WQaNsd}K_u%Odx9C&qpP6dj)&CGUu-xk23?_I@W5oC}aep#&E#BKaG*7P8#Rie&I zu}N6e^is8|w-DIZ-7tGx3SZ@%2qt0E1dQEyhwUZ?oMjd}Fx!j=B5(=bk-+^P)K9dO zs<&Jmkfy<~C#f03A&w2GXDrG?Q_6=i%C3rRfhj*#(v0 zR(t-o*v>4$dmxfq{oXQdjvXcYP@LcnU8wIF^qGU>K9pjo;dlgYw-Nn8_m4fDUP|<+ zg)&3kCeMMaGK)&3&%2{6;U5j+7al@1g3rgErZ=n=h!HQpi1}*10p?+k>dgFP4D;!O z%@5IS4(|Pk6i=}b@{onIE0}}0Z9aom6rXU?^*hc7TQ(w7F#rwrBR+cT3d{jsc0-@E;Qq1?8Nu@bt&35&GXe-Dhg{iM_9 zFJ4V1@+f-|2+>2S&$poNAk0A#-4@D)K+p2*^UYhD`1uNw$A;_NL5_b=ADNx6>gTIS z@ee2<8vmAI{czJAiaJ%qKd5%>{Gat~m#3b2@$wa{PVd)k4SB5=e0B}hmpXV44D2)+ zQOmcx@T$dk>E(-4m$Qr7O~dogvMmX3598e69roCZvt0IRV&L|c8hyfGYVfw%5Pq9O zKmW%;JI;~X^~au0WB4=;z(Xu2G3{=hp`E$RL;6l||Ev1^>=fp12aUw%Jic=EN;o_j zfa_y<0&Y;G^Zdbu?RE8o<7l)?3vB0;i`h7f3np&j2){y{4%SGk-we_djI*q6zqj<* z6mJJn6K^S}voOg=oUYjG^qy(d=da6te$$TeY~hBt^xLLXGW~HlU%Gk~Z#a9uweOfKUdN5=g*NU>+nW(lcwFz~H!jL{*TU?6 z*E>pF^9w!MTr%RDWz2+|3+Z_~UUsFEUVNmY!a6CO4H0IEKkv17SZUYrdl*yDRC>f> zr_Y@+!(T=Q;q-&tv6H0YdbNvjBEqltQDog`>1YNyd8e!5+Wqrnw?B|!7$fM-MTkh@ zR-cKFl%5>-e-~JGc;95nZbdIN`36WVNT5b;&-BMIgMbi|Z6BVC(t1gL5u2A=t^yt7 zmt=lW9Qg&F#%&_EV%+W@F~YRd`&VIv-J0s}xZ`#2WGZdxf6JQ4Gz7x2c5jLX>0)v3 z($$DUr}`UhH?*RS#Sy!-2L*;ko3O4Go$Kms=7 zcuq9Mb93=#wT1i1xWwT0GPq1H%ulvd=`cHrhVV$&Bkx7?g{kF-OHV&tddlwc-F^l8 zs-J~&;3@jeLfP($K3eKuGoFAKu&=WXdYrV<;ThsFoSGjTL%RK#SM!pCsxYP+D#3JX zCB3%@xpb%bxp;`>^ONJuXz2kaV;0iPyVI9Zy*M|G1MpQ&g)xa2IAPvpj#F$H_Hro* z9<#UkuXUtx(;cVpzhHpV-L_=pHuG@oqiL6!#T7MoREr&_3x3c}^`XaC()cW9GY*S7 z;erX4{2hx84_M*YTrGSG%f!MGtm3XLo^8U7K1>i`?zSAS#YGvYYQvS!rUD*&n)@C$ zapvdep7KMtpC{Jf+fH(u9pyB0{P56;Z1#`&d1srnJDJ5M{1I(YE^vq$LzB?I+kwbi z-njNUV&1V`^z$OWhBZGpyyaky-Wmsmm9wcrX~Z9VUY(pL#crv_>}_ zjoVkgYM`&$HN4|R0)7PPp);m)p=DZQcbiBDlQ>PWq{n-cx;q6PdE#@Prgf~eN}9KY zNhbOE2HsMDcLt^BiL{hAz16Y*paq`FS!*h;(gS|>njxD})f$yF=a=fEWe~NggE8{* z+3EB+yiL#`PE8MnVAc~Akt?xK&u-hs{t^KZj=+o=x(W`;(d6(sV_QI1J@L`@DM)Mh1tu~unnt% z*H+EVf?ZrE%~s8)_nFP7H=WI=SDnqLSDDT0U1szC%CdQXXIXQ_9$Cj*q0{HQZ$M_I zE$D_hUyg6sr#%gCPrczW8+wU{2%DHNw{>ditzI;drYA!8sulQBKq{d2P0nEQ-8P(0 z^c6?sjup`C!iQ~dpDzHlB)E`fXIXI=vUlbMHW=EJ3$eol2UKM83+w<_^0<0Ur+u1n9 zi8LBJex$NOB9#_*AS%JTAf8!F*YMg1HND6;>vwN==~c8Ud*s(4{* zGSVYuSocsYVCEIs#y19HhPjDV=JwlWob^VBbjQOoS~rf;(^JUh6zdB4Snw*=%~@IF zH9l;KRbm(va37w^NXPJGn8n2c*g7uHDf;C?-@u(NzKMb_Pr~YU)?_>s$!C-JrXJgg z8p~&#(C}dSdNR)LE1_;_X$kl9X$Gv`!-_{duV=SilB=3y#u!soDV>2WSxQmD%r6c@ zJH?fA&!_XCW)3F$ttI32*lk~T@8+vb%Ddq7YWkel=aPT&H4pPuEa=Cvc!vNztFETR znjH-3&CgSR+=HBOl4*Ym-oK z@rDgfEWgvlcE=f|p{~%Rb@l28c>n%U%q7@;)`zhbtMSq*f;(u_f-1({n6N-x`?ybd z4!YAjACY?0+xqDI;532q*-ys(gP6hYN3q>aivk|H^VvS#}ZGGX}-Zr$yYbUyM8+qO7E7+%T9^Jcb zYWxo|I5$vCeq#{%NZiLkDnS4Bvs@ANpWqz;R7l`;sqT zh2@;M<2voZT%KQpFVHCs?eUYR`9Qo!pOb#5*R0m*EeIt$4f1|?Ai@JV>1cP@9xXMi z2-6|Rbi=Kg?#(rEZ;tI10vg?PYvLIsJSWXJMe&8TB77Cw5aZ)F?&jewPjmPM71=F4 zzVrzlCf``q7i958fV=Wri}S2#PqU52Q$cCf7nbTGdQHzLEx-( z8uuI*+bdOcVSFn`pYaB*xs4R9K@Y9k&eMxae3%*sqx#`vc-`R;b7^9;|KxYGn*MS{wdyI9 z7&@W;I{bufJRHpD&0fBI9uMeVIRD%f-YbLWb*HWlZ^El)!Xa0tFI^rw;DxDY&%gLW zJmkWqi|>y-HFNdy)C)sr;T@yu#mjhm>veS5u+5~KO3~HIyT@@0mQ7%7|M}|0sh9El z$_Fk!gO3ZBU#y{=iWbc1;@U8{=$XobC;*4 zkmg4^!!sAA&Rxcq%Tv!y;jaNagU6F`8T@GpKCXadIw{{j195402 zP{h2wj=Rf#D;=>6>ZqRh#|?9gk5Uz1!d;U(o)(09Qv72{uDifXKdi!767NXh8;O|a zuqch!@T!Lt$ngd}-oUNpMhS2=yw-@X!N3_YoWTpe7VW`#wvzpqUD!GT3@{LLCwmb6 zVI7QKU}^?9n2Fkf$1C`FjZSM1Qo<~*N4{BI#50U|P7;scq!=ze5f3BSzu6sedqf`3 z@h{xKgU|R&f?RjP$D;Zv_+#$cEqmOp=j7TT&lsIqY#S=ZZ5#Ajm+M@*P+UiWG?(y~ zZcx<_1>=KRwN!`6++}So61Xbg$B$IXdGsK7V$c|qMR=@r^+qZf7DIZ1Wo6Y`Hfw@L7ky|fK4 zM#EB?^!O3$7oSez`;V~>IKBFW&(>NaW^dragCc!5nVt3`Qatx*N1$!RH`8(@JQs|| z@t8AM?qa!tUIc@A9L&ZE1W1Oc+Vm2O%I>iM!hu^w%QXs ze5dj<7wOo;mN3+4+!yl*O0GFP)4>Pu3PEcgutlM zS$RB(xEh~XVdHw~IGAqy0yxzTyWiv>p#YViBq>r$O7L=O#4~a*tNl2%&4S_nVJq? zm^f&H^i~9XW6(i+i^XXVu4csS4gZ!yv249qvCK-2<)Pf+#tkn# zf7>SfS+`3sBhtEh`2+Dt+kjy7<#TuoOgQE92-qwN3)`@|8^KiAfB+1SG4pZKWCude zOIN4jmh%^}xa~!}Iq=fO;mud^f|(a9SI;xh3uk!oqCHa`H(k1X{{7Vo!seIGUBKTy z3J1UR!nrEf4&XI8wnlYXYgCcJY|qz)_T)RWH6>UAXcTY&-ZE&-ycTL>6XRg4eO|?I z$`({&TCM*l0`RCNS5rW$>~3tom5+ryl4NJy6oS8kvU*)F(XwQtiHgIjlGf;2U9q}q z5lxb)^$=CaEvL&M)p z-@y%CyFql}{4-M*F^+j0<$xyu(NbfC9v%;8BkHdyNhKN@J-x3CEjT+sE|kVC#I!DZ zbpbEEWQ2%&FE$lnL%czI>47GfFPq=#hRGr_&70B~kfgAaAtLS`M+@vl0tmyB*sSGj z@x8^Vj`Vl1zX%sk3e*0ufuD@q&`zV_;JgHz za8s<_I$^h=(eUdM=~Xc(7}GuD#u(Ikyqq2xrD-vU#X?}LhR34me&@+@G8-vj^aXro zz`}G})Sl+;_*yz2CD>*RO8Bz!L1BhsumCN+U85a~XAr&dO6cv^ajF!J+N2xa-x|)M z2uilt2opUQU)eEqQVacLjlFlGFOI?Ue(*^*EBSyX9a%|l9m+tqcVfcN%f!N+b;(%9hvwC4Y0q#>Efbln$GOzl1t7mF7Y_alHz&$7! zMl_gSsoI~r!PFWoz>_Kq8kMpE<*~do%0DJ#RSvgHbR&s(PV8n96CqoP>HZR048Huq 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 W=jxA)``^|Z#_xAoF4n(Y?|%WsHeMD0 diff --git a/KubeArmor/monitor/ima_hash_bpfeb.o b/KubeArmor/monitor/ima_hash_bpfeb.o deleted file mode 100644 index 66cb6d3c86b42d9d43c5538c5c187c1dbe416bf7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40416 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%0DFL()?cZ{^!nB&$MQ*h75O^C$)z=`mh&WF)jB@T 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 diff --git a/KubeArmor/presets/anonmapexec/anonmapexec_bpfel.o b/KubeArmor/presets/anonmapexec/anonmapexec_bpfel.o deleted file mode 100644 index 93603c731a73234aa3c49fe97f7549105a378a19..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47184 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 diff --git a/KubeArmor/presets/exec/exec_bpfeb.o b/KubeArmor/presets/exec/exec_bpfeb.o deleted file mode 100644 index 8b67538bba3b5ad2dacdfb34da28b0832abeddbc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160152 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 II{vx;5BD{MPyhe` diff --git a/KubeArmor/presets/exec/exec_bpfel.o b/KubeArmor/presets/exec/exec_bpfel.o deleted file mode 100644 index 22fab0a005463092418580b0a27b5c8e6ea81ac8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160152 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

xp)r8e>vCT-@sk?%Q*hv{4w}3SoPR|$G)0B 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 U=`a15^D>ZiihlI*2QrKQ7f=^kmH+?% diff --git a/KubeArmor/presets/filelessexec/filelessexec_bpfeb.o b/KubeArmor/presets/filelessexec/filelessexec_bpfeb.o deleted file mode 100644 index 4ec209ac3785f11f49f3c3c8a917a69a116cddf7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 107560 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

=tdae^lPd<(Z|dJD0iQ)Ioz%c9 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 diff --git a/KubeArmor/presets/filelessexec/filelessexec_bpfel.o b/KubeArmor/presets/filelessexec/filelessexec_bpfel.o deleted file mode 100644 index c6cbb4343ed5dd9eea88a5cf85b4679b9a9dddca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 107560 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 diff --git a/KubeArmor/presets/protectenv/protectenv_bpfeb.o b/KubeArmor/presets/protectenv/protectenv_bpfeb.o deleted file mode 100644 index f34e32f7d8dcb92d59b7807f1ad3b5142e6a4fcf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 166096 zcmeF437lO;mH+R3-JOL1X+jc`K*&oVkc5PU#Sn4S8%S6Ll9+@=6koq|zfPL;mR_r7sZ*y;E%)`!l}pb*t5AreYKWuXfOCZElPD@&x5A|oyB`|G+k5=;?PVX| z-KhAG?y(yzo%*=>j-7uH+CIgnN5Z#r=gvp&F1qxn?WcMAbw1kQ%ZZ9xPT%>6NMld( z4+iCbG~^HY;D1z{mOq-XAR1Xq$CnII&L6Ct`cO`JikG+9+O?nZPugGkca=NZd%15g zxz|PYYIk{}?ol+U7)3wd>7OZm*|?}qanKX(bo`;cZ_z`-7Hhxh<(Tc=o_=@gWAu^< zg?`_9`_8+R4*frTSMd=SN*^ z?b=8A)!+Li|E_Wm+26a%eS_CO{qPCNJ&AFZ@8|Ly-=52+59;q*Jb!5K_BqNOMI(!D zTz*vL^9jd%wPZPRFtyezsyYW6K|06@? zM~)WdLyntVeEZJp6`MUIW6gdC^<%K3#_bEmU6p^smMOmet+#l+l73XrN#C#7%AMbP z%g*2D(h=#$a_LdquTTnob~}A$!QO}PKS7>R!LEZnhjFy!a?{Jc`OitAeWBhhH~4by zMlM2ekY1|ebFduS7dif_AKr4axAWohZ@pvZfO2l1Rpkur3-X5YrfwKj%#}AO=y51{L;qCE8K!-M>-FQJG00!sa)s$^!ewp)LWJzP)e=No)HGWGNOmPOGhQOYxX{qiq__+l52 z-D&!sXKE_m=N?BzlcUhl7>yCBJj>_Dep98#&e9!uin@>8IX0|APFI?7hn%c0ejnt! zyXeTV)mKkHxcRSqy)Sp#E8X)*az{~PMEhL38FvGsm^_oVKU*nk-1GcYwM(lftYf0B zx7j!_y@&ji@9cjlyA0)o{+;^9Xuj$X<8kVZBeyGU@)gIvQ7N8J@v*J5f?SP3{#>~` z#JSgY^tWDL+b8?-Z*O#Z-WlWx?fMgTb(gE}j-8ub{1n+&C5mQJf4pUmmt)#&-=6X$ zYv0vAJ@zUeH$;)+Fg-VJch--dU$raW5PBaK^pn%O?{~AOsT)Q*3k-I)&;Du{I~rVn zu$SPc!Z@$i`|4`Dou3+R{DpBgcAU?*eb6`@JpQm}KfbOQG`G#^l0sfkbgim z2ll&rtik!hyUF5K(#+NjC7vM%GY|`=_UBB;p}Z#yE6M7 zWS@U(J@A(qU(cBNYs8Oa57qJYw4c95IKLgnSMZxp!MK`<+G^wKDWAVad?444`@Y^j zFnV^@E6(5+tq=g~(IlG;s z{N?svBgRUOXVCm5ajWC&!2IRZ!MJMpx=%j<2Wv{;R>A4}|sMf%(hZ&(sa|j|+uy75wml z`OE8P*zxtmogdCqja7fwR{wdWtK;iwKY!J`_sC&%H(^t6ZP2 zXW!4;_jg}4$FDoLzRSkZbhVa#d6$1rw7vFz>mbp?`>nCkBH`kq?qhfE>v#&|GWd<~ zJAu7@zhLJJ%H`cvD{ZSoPPy6|)E|t8yy{`)Eh9~%U zJe6U7XEE&fd4lF6#)s>-spYyCsr|v8hIyYqD){fJJq%+v!7c)SunT@?@{rT}5c5&P zp!FSoBNhLjJ0I;fe(Zeg&mKSfJ|FFQ{Iu1%88_%@nErUeeh0Vz=X-UNTt5!}9mSJ1 zex9QFr#gN%6n>%hSI5r=rG|bFv)eiOFm^L|yal`1=kas7jUUt3{;ucPhdI9y+WYjI ze+tjA-~ScvlD+)joqq~$=Mn5_7=L$Q{%Mr8u>bk<_d`R>KZT1`e(*EH^vBa+{wbUz zd7rZJ^VH8jZpT#}KL_R?nZvN}k9HeB!>nV&`Zb*A@VoOpkDnXkpR4}r_<7pzf8rgI z_bD4cgMO#?+J*c&tH80iSEwz z$1`C5iSCfRPuci+%IBZxs$72^n17~78&Bf?=L&oOW4~XWdSkR)^*?F*pP_!AYVw40 z{h|NvFmM{r*Hx*YD%> zdxu~bgZ_T^vAc_oulo1%_Fape+Xww#BD`1G+ut8G-|oLj6XfLk9}lUfLEry)XplUA z82mkuyAvm0_zp>7-@hZW^I?_1d$;Qqmu=pyu1}5-6}v3D=>9?PDdugk=NC5a{4yN# zNyp+O{UA{{>4K&Iow$cI{o|fLK-5LreSZi3&yj8>jmfy@_Y=+Ea9T7%X}%LPmZ)fU ztKYQ`h;HfF#{HuE7Kj=x8cED|5PlQ-?`}tqV$)Z=_1)eMh_~qxacZ&O=e>Jpx6(5g zMEV_mJ#vgx8aWOn3Ud6#>P4Ob)kpnrB2xX%lBvIubf~{DNDtDBllw2F7v#}AEO|x~ zOCN{jG?(NpNBPLs>|n?Z8b??J8<{wK_Sa`FtepBI~4V^rTDxf=E$ z*EaF}x%$en4@6pK_^w*Dm5zX6&+c-#`FAhm zkU!1Kp}$WaN{)jD%MpG*O8-<`IYZ0i=KsBr=Ou&Wx%5xSGiDF+xc)_+Rl~^R)*pKz z&kF|0BY!%Seh%J)JgM>{&tk=Y!fxF9XD{Sg!aA&)yT$l0;Jhcc8rhwee1Zj;A-9}RmNP2lPo4k$6ZJU#NIN?t zt=|cDk#_AMeKF}yKW~g#!28s@NDuWLupz$ZH|7%ZJ+kllqI%{RmoLmK!4D7GhlYBq z-!Zj$E)Dj|8;5v(@H3B>Kh+-Gnp^vpv}YRXNbRZZ1^qt z9#X->w6FU2kwGsLnjSw!`S$huli|CO6QakDwESMrbChD772W=6$nQ^*e?WZXKU}ft zF&RdWd-@%TtC#glrgE_VM-`L4U$K=t{C6jB5I1tCPVOw6KkThOt9EdeD@N-Yua7A{ zEx)tNcYB?;t$jb!@(=yp$!)Hj{r~Rd6#E^mea~u;o$h8={7xQCMA5WYyL$Dz`Rj$y zud_40JLx=&$=%2~k$b*6!= z4zAy~qfvI_<}qtmG57mPFNgV4{vIY(OL2mlC#4rx-_-J`ygff@?*;bu`;?sj-z9nZ zPUTJ~xB27h_bF|jtp1(i&EjHQ&^p=gmS_8Ogg@iEly1LRp6%xo{yxXaGuGa(U0hUc z?(c^N9J2NApmVI>-(A$xsCurp^-kY!^oN_L%9DLO&E|EDKb`9h>fcG&EiGgHWaDvf z?ab^$zpqP`KjdTFyYVrU-3_+WsaN^+687Wl4*8rus`fN- zbt7M#>yN*@e;(qyulq5c&UNh>&R<_HF8pwb@?)z^ov)|)s7{3zQALa|@sXdRUSC06FBnp0K zn7?~&9PFK>QG41C?@<1yU_AA!-eJenU;X?vV!8BiV1AMo*k9~={;}JB-So8kdT$uNvJdl< zJO8bYCp(`RLawLN{N()Ku;b~ke*e_)L)p=OkEdbm=)n9W?MAh8VLRXBJ1Bcz@2zWa z`}*p5D!cqcjq|6`{M2xZBpr4<{ngJ;4O^v${T@#@{ONu8f&G)TyNB^KC_?dz-K z=@~OW`R`v2JD&df=O_1Ob-%~cf%(Y|7|!7z5*T7#wh!}Dz1!DU$I~-reyab1+CS`g z`m3Lx>Tj1G_Io@HV@C((Cuw(I=BIkMudj}$XUzQMzkfOGc>1fKpX#5h4&U$bbYOmx z`l2UrescTz>Ues_%ujW{b9(qc|Ng1&E7HS$kEa9klhn8Gf5$%L{;BR3l~)~4&zSki zfB*8p{8ZPL>%RlPkJ#Vy@?reSZs+Agp6}J2mg|pa(C;JaW=ig1$J1Z^{;A-8*LPrk zk~Iu}o?v?V3%-9UxPARIZ+1f~KNa30J?!^*Iu1o;mZA`#Zp4$J1Z^{wey|pEaI_v7-aO-;;Ltu-+T;d@pkQ`s#Rk#>`LA zooeW?u1{?hZ)5Z|$6T)4kG4S#1j z{NLwB&sRf-9Zyf({4|5=YJZ>WzV5>J0w?YE_k`~6pBwz&^9DPA!oDxC``;5rlck6K z9Zy63UTyF=8vJ*twC^C*TmAdnDfV~p(?#9o|Ir*!dT+lANj*+~_MMXacP(T6{d+_7 z>vyX>{@!^&arkbK|ND5pV|lu${QW3@-_76qKQ{R9?D-vpE8o78v2*(@&maD7Ka{t( z^77r0Kd6MeQ(w+g_#MmtkOblTm5hr4rNekauQw@e`nccLuk&{Mo@P;8g-iVR7^>g* zxMq8k=zQ;_>DT`ERNH)dYg^$QA>zd1MHbToj_x$f^P;6ES=?yxD2o+QPW)SoAGP=q zi+5Q3ki`#Le80t+#UHi!E{pH5c);SDEZ%1E^%kcVZ??GG;&m1`S$v7bD=a?8;>6-b z7B8@Pmc>PjCt2KR@hFQG(f;VS7C&n7BNp$l_#ulQwD^9DGsVGv{dkBn>+coeyRo6) zcjb$(4|ajw+@x{>pT);)?-sR6Z`j)8lIC~Dj0*q%?GS%I8@^98YR~K4gC3<`*Un(C zL-?iY_l@}ekkdnR*?kW*$b0A}FIKU6z>mx3Cj0KypnYKYe(iO575v1`TzRfPNW1Yw z`R;okgX9^qJ)s@mA0PDS5bX*5l5bBY(W!5eVxND^g3xb6lv9<%`e}pZyClf5Z~6G% z)D8CCpGA_Q=0ApLe^q{)f6~zZ;rmeL$Lj;#_@a;=s@%bL63RnAM@cSg@7U(1sHimK zW`V^{a?**V&#`!g#g|yzWbrzSorRNcv(meck7z*{M^+s(==&qPeV^F);|Vxb zmAj=;cjPVm{CxMt*}d1xA)Ci;@Xv?P%cx)vp}#{v^F7Q-%6YeI1?AtKFE<|8TRX^= zcc{wSx;FZ##dleJhs6UH-(>MNi?6phRqWdpH&yGOC@S-_*F$Q0O{_ihJb&GP)6d6> zk9o`0S9X7;pzpuA??DvA$FTk7)^apUe4)RrykH;KPD(wWcoZ6|Lhg#D}5mRb!*_i-^s)f`7y=k?q2J!i`_Q@-9V1q_XT6e#W$OX zi^@=^n-5~sx17Y%5ct4FF7FKZUaau$c|5n(GiuK~{<|o~Z;e z%S3VGOZ0?m0hhjam~uUvYcyBJwS)_Pm*srt5d8mF>$u*@<@QX( zcUm6xqbn*Wqx>n^TpoeE4iAB@a4eU;hnaAFfJKKYBk~r zCZqcs?_Av?Q>C{L<5Ayz!P;8{f64H4@HbpxK98O$v+@fopPMs@kL40;!X0`WIH`ap2!l0ngLGc09m^TsusMsiVWszujaCawI&H9LI8{7OVb@ zYU)jU$Q+ldKI3!GA*q zh^VLW5^kq)5#n>X(cUNlFDGU^9Grny!7pZth%Y0ST!grVn{bh9Z{^mPuT!pLxq|N3 zo7{_x7WDKSSo%%wzX5MH{9N$MT?2g?j*N`?v1pH7J^8U1>X%LFR3PJ8!Ueyw#IG?~ zp66-RK3hyW->=dKRYpgOt_0ys-Ew{Jc!D4>>yd0tTw zsN-z-cB=ytzA?V5e$P7i0MBLf376WPxBs(9XIxf~)4|8A?sK3!@e2ULdAbd5A0+%< z{JBAOzd*c%W4Y8X3770NKcAT0?o#*HtZuER@^$0qF_!0rK2KpBd4{sLeQ0lCs+GGc$YQ$I+~pKY1gRkT zFC;$aU@!AU^u+vYqnP#`mw_28(TlhUb+VD^Tp3tx6y5=TF)^2#Tvz7y5^w@u3x+3d z0(Tfr!F^!rjt9V7!A;-{{7NwVg#`S!;7h?N_%<+Q6*BNYfypatsk_H;5&SvB3HU+7 zP2jH?PQl+ZJOKU~n7ZmRuHS*z`C(W02QczUdv!axZKSJHo>8aXC1`rDM^(|QzzJA= z`=%(Gnt?U%UG9fL{c&LAKU#G8P3qF{tUrU>TfhleeRCr?1xr`$QB)*ye?zzpEc%rY z-VPoB-(YwL_>JJdi=r7s^>5|&jwqTVd?z>Rnv;M(Y`6*hFJR=ElY&h@b29J_=)C29p{V6{=0@*42}>X-9&fX@fNCyEp`v~X(& zC*WT2?cfZ2Ef{$&AZmCsx95Np@NI_i5e<@`GB0QX-v_3g3sUfRJbf8a!!JC2S;8Et z@d5v`3@m?mN96w7tP#h9(aZ7#y8420UMQ@2;r-wYd^VWAQeI|4ThV*TMeh+R~a4v)6Z(->I_U@sb4N68i8EV^fyg&o{jjr;Thl`8a@X6 zE5iwHZj|B0U>T#zIRiY?@R{KGhL?b!ZFnj8T*GI9FEUKKN78Or&N*PUOJ%}4@)d?( z0KUO6zIvqEC7$!a?=ehAj{KNmI%ed*8eR@oyU@dhDfkEAe*|Y>_1&j9y@&4B-@*gX ze@z}H0m-iJc>rOar+E71^0nJ3(mk-d;C(OQGd(r#ZmOq1bhqlaBvE~-EaoR zzCx)K7R}@%Ip??)j+shgFVUO1kjrtxp%2|_ue`+`d{~iqg znv88!oyW~YqsMUjGADcq_(nI?zYM2f>T&dp*G4h;k9@(I=%CTu zkf%d*bQwL)r}jmcW1bF9z;nTG1*hQCn3u@knSmKU5%qNu9kh%a{9Q%xCGcRQT?x1e zTo2B`8b{R8Eu4BR(m}6-X9WBE1bh<&+PR?#JOCZ}Hl*O&p??jWfjGyrrY}#x4;XF&e+hnU{pBh6 z+hE%8@(hffD(@?Z#;EO6!SEc6KB8}eGw{)1^62{o$A~*wY22;+}5tv&%1Dt?wfPn60AIUn%;VpdS}SuN3_z@X0KJgx?81C362A&mp&ipT)GBLjMqWAvgom zckv>oVDUcyMyGd*=PQwG*PY_|j^Q2PpM#O-y+nt`p8nnhJdwPA13d*JBW;Xl2%l;= z1D^*jxMoI&s*i+=(A&s+EI0x8LZ1Lm!BUKH27U|prA{r;q3RdmBJ{h#mx2@Uecb|8azJX6^tV56@z!UjGL5 zM#JbbdI>m%=lNjTa@+uTC3r131Fs?P8Bt6T(OB9QpB2Tk67W?J$U7?qZv&He)&ThL zz%K@8;P=3Pb`;NsG#1;7&jBakkAcqxr{I6%A^fv5u=;C!6we_VtNud&a}w~6M33V+ zDOh7onEJ==6noD4h#j65eKU~Djc0XPL?BMysaF+A|kC2C~M#LK|q zSp{Am#q&fjgI9nPa0hsG6rTuB-E-=rh=1A>*R3U%9S|D(xCtj<>1P^O3clX(0Qj{r z3Bo9@M4+IX3yn96NVp8X_fUaYi5l@!n!gnqKW;oFrE)y?lC+{4KM$RM+7~uTkF=v2 znn4Nl|0HhVY63rExEuUaGOAvxY5WcG8ZH;Ca937?uM5`3Kk#t6=QxaXkn^yEP0k9( zh>eC@!4p+DLB%0oRp?82Hj@G-Q+)zv{JVt!(P8p2mvg1yg!pjdIoGi07a7jLO&+U? z!<4U`S`zx|bKvKKGwA(>?+0IF_(AYC!w-Sq0j91xqQmYmoPe=kM^C|DG@OCSqX}PX zIPBY=UY~$}U^oT;*l-4xei0IF`nBfiVyNYd!-@PmkHi^Acm zQ~FB5%>NE&;5lIBC33cfeaA)U@~grs2Yb`PCQgWhj_?zQpK+}}Q+t$pnYW#N6CJ)% zH?EB6GLKdM;cbQ!aIfJMyv1+^rbyXef#|S=8|4&;osUA!LJH}%5i-Y7VF3I#!?%Fn zZTMZ_e>Qw8wyeU$&-26YF^pe7T)GwgHn4Ond^`9jhVKCX-te8cY4ztOWXQndJgyf; zF8v>QBZQ9yr@jluONZBh6X>#CnUV0B#GAPY`n{5EdVbq2mk!Vu84XC~SzdR6R&)Zoa^YIt^?nJ+`OBTj$T?&3Hm^P{v6K>_kc&JanS_ccK;7=OP7&AZcxPfTG1BMgu*TM9E zLkj*b_;0}(_)#!*(Zd9_i2J*s|DGD_NK8VXXA;AsP^Z2^{wU>j8r|pc064s-c@21? z^|vcdg;-EtH3a&^qm1YE;5mk!-M|pT1F7*|VrQT5Jj;0A2tHj51Z^Z8+2mILTN@(w z5A5P}iwf7fyT`90e?mTG!G_#iARQAXF5`9+SHcy_xiN?3Yr^;tR3PufRoD7%Ilkixv<@9qiNtGe}Yz0j9s+jm%X!NzhM9C_gfCmhx z;D0cjfj{iAv^4P^!wJ~zK|W<7enREM8Tk8PWTM(=;;%ftkoch@o&g_>8AFB;aotPQi~D z&cKg(EE}G5u;B!Jyx|mly5S7`0*^-$O}Y%Jq$uoY(mLY5=W;>XAV`0~76yd9P3hcs zQYV=dZq?2BMc?epRC_0-+}_RQLawhF(@r5NJlD}uWhcWV>^r)Ri!kX;+%(o);GqiS za%VdDdWA`E;U+Bk-(eWLo}@BFXZ!})3U}x5+Zpr6Q<#*H!1e)R$wZj+5pEN>67Y7z zDfkP9Gw`=Omg*)wVmJZIe%^~pQf>usvllzF( zzX`>yHQWTxX2U7?O0dn@ldlDn*K3I~`KSJ!{2Jna=2B33ALS}?DSV78!G~`nRyisB zZ!(=@50l?vnC4Bs3nA4m%ANcvV#4HqK}fxpY`UmWD-byZN^ z0XsgExd{J%^GNd+Ve+HglqCWG+Hg}8O;JO!CCOYZhdQPlWHN6Dhkco=((1);PMJns zN;aC0w{bmX4zy2mC0vey$URfTE!;y)c6S+1;q`jv%U3k&Log@{`VZ&Y;t1#3Du2oX z2={TN;4pvP4_-oEwT)=X3yJ@Yi!kL4KVn&bQrhZxh?T^HoLkLHTM!AIqe3;=TaIhQt^~h78Ge0RDDP4V) zD*>Nj@}ZX_S3>(57vacDp(BHA&e65zA{;4Su%0Us-SX00w`UUF1qo!~E5xu#?$JjA z^k@-z`-$Cp1bhYfn_MZFOKpjTuYg~9i(vKN>$nIKGo%o?S4WPbp!TIirfP z+baG{4aXm<;ljB&{3XhtV0!z#=r!4<9!>HOqABFsbty^M)UQ)#03-%&ojQ-$j_1|z&}9l!*&Dj`QUX?gtK1a)4&rTG8CR%CZMoCr90~p~1xjF*ONdQuXAef7 zN}u`PqPFapgXQF3d*&bNUJbI$x1U$oV3SMNo z(sLJ+G^WbM$Ws=jzfNM|tiF zdH+K^R?fF`_@9xXO~Mlj#K>3WyS;|}x;s~gY)N%MI=TxW{T0DmX#eqGg0s14fCQ{@ zCENs03ePMs@zJjY&j)8*LB2bn-$0oX%d0AKFK)yV{1Nn{-$K&*RZrqMx+{>Ef7QGv zIAV14+lZx`B6;6sSaJ|zjpGGE=I_W~kR3>73+@Gt!#tEK)OKVIYq6t0Vpy`>W7z4_ z%0&G~e-3&JmxcJmfK(w^JP#5}PQuX|E5a)CyYS?7;^Y;Vl`o!0Nal5NlAbGA`Qmw$ zq_s=$HytiQ{|!897rwxsbASn2O1ZUL(aw<6wgmbp&#&KwO`D2nr$Q%8o55`xYEHna zU-%sG>0X9Hy?M$!J>!nAjroU@PtKj+UiY+tCl zQ}BhzekCzA^5{ODf@lxHrT)bng;)3iW$aP~5-ibpkEas+hR^;E(YyJM}qhQL2FM>`eUdB!RmVujyTfGd$X2aNi5t^eH!JUQ| zfH#848zv`QEbSF%86Q+;jCQN&$ zPZEZqNG$!e)VqFk=V&c)6wQT4^GORzp9h{H44poleys7MpXu`ZqT`pQ^UUFAf#s7# zUkEFbomOZmKf93U&2N3M+_(63_Klr6Y4#V zdM*a1km#@YMc@qlwaD#v)GylS$Ml!_W%~CZkhh@;mER2g#o!du|3H5|I0HWhM&=Pj zGt`H|3AkuD1s_jd+B_ly(@*NtF$q{Y6sNPFViwGI*DK9hwm}p1-}}cKz|gT7lTv&tY9?szX!vA zEPbSM5IZ_{GW2(X6XZj$@c=l5J_CFUI0G~0}n2?>lEGJ4gCTdqCThxzm&gu{XKCX@gIm^NBl?PTZtbh{y6bY;xDQU;vaL1qiCjW zjN+GwN{yXUInI4TwSaA8;(N^)4t=5Gkg*FxrVXr<75kx^Ad2-$&0{Tj(#b4ondVC zxJ`!9({Vu$^y_i*6Do&3J?_nhOW@G5VYmYRu3`G* zxStzd3&u91@spxhG7@6Sj?*YQp79hF!2`sEn0n&O!6>Gl0`U05xM3%S1bnRF6#Oi3 z5qgHtc@3DWumd`MEdDy8Jl(AMaWp!1eSh;yTR9ji{O-)5VwE_pgaA5Gw?fj zK$-PK$G^vLLL4=CAxA-fzo(0O{J+$2m50p7-v_S`DQJKR*c<)S=hA0 zBxh+nicW{kS}Qyi#ew_CbTH`$xd^eI5oTS@4P2MvUtbBvX6rKWZD4F!s&MD|lvkg? z|7!BWQ=g&}=^4LUpAi${e%Fd<)|*K{Z%E<4)o=#>fX7nVtWOzEh^6z9MA(2ruuX?A zcO-X<*XMA14tL~mXAbuTY;C7}=L3;V!S$VR0+!zpPQecu&cHtcqX%hv)-MewV0^lC z9H&t?|^<3v^H;|vyU?j&+LXMu;qv(y$mlLaQ!ffOXc^!|0Pw2Efql$S93cksU$kSK*b#xqB98PA+?h7)4P!2LZr zd>iYKqY;)6Zv`)~a?rEhGwSap6y_w{)TfF=IgHmiOW~J8E@BU75;t)X^qZIX6@U~T z;j6$Im*tJ=+uip3sc32h{4XcpMU-uQGBblH`zOqKsnv;$`Sb4ld(k9yrx%C=3Hlb)7%^6)_f&i>BNFBm-1ih3Gq#et(~u< zoOjTkDPEL0=F`M6=U=#~z6AVf!zrS1gGFf!G8sbi#XxD?WX~`wTPAPWTX-QFZXUcV+o9+3Walt)FvM=4YXd zClBF-2ZRrGuH=NT3PVRPCwxbkLMMTLBuuAaXD86V(Rk#W4tDFen8|`;3?4iFr+`nRJjstO%v~%x7h&#FbRr!kN{N9qetPZ;;GaO^ z4)99iOZ5cI`Z)OWxuWSxp}*8{243SaQb%(uh7<5Q!zsAka0c%7ShdgXHJpIuYbjqg zKX;4a3@m$quI`(ArQrm8wc!+eo#Biz@?DQzR_)61ACAJsLwV8Rv{3qgr!d-4A8LLH<=;xO zMKpMB;}*()FXhWd33J~|`3C{8vAN<8<$q9^GFARR8$JyDDZ|t?_tU~;ED~!x9gap8 zK>s&k@-D*UoL>Sz8~T@wemeLe?-g%CNMm{&!yi3m!?>DsN zJ%FU9|0t#W9ndsaX5dHQfgdTNxxXa7gDU|)PK+)J@XVtbqDyu2XlLlhc}E$BC(J!) zIGQ(?8#dRFf=?swKj4={Pr%4Cf_UCJ5U__4DR?y%5Mt>#jEi>*GoI=dTY%pMi(T6w z#OlA0@0J|CowC=|3YgakRwL+#d9NVfo#F+*#&810Ux(j(gfa`Fh4RtEJo_C@{JtFh z{ldtr@(aS0Dcvgsc|Snj52Fe3Aj-UZ-P35^&xq-O6OSNvd3^ze|I%|Y`{3qIHODo{ zcz#H}Gax95J-Xktn=QNZ3E_k@fcxMX4My)eL)3Yh!ijI9>JI}FF!cB%;FP$9OSYXs zN2fYhLd57qp2v4{CE!mGf0Qc)f5x!*zX|?WP=m?&Su*>^MTLK@;n=m&c>cCVFMKYC zKTnze5Bae@ot@7I###>$+!xkv1Z2=tgfG2_}Hf{oIu4ZgX&iV6*87K7__*wAa zml}xXp8*}Y8xrsZ5Gbc11+M~APQw6hfN4c~Xvm;5e&UC{U5DSJj7T`o!afUh!s`g;EL z@Q>gbVg5GoCjmw9+lV#36Ywok3W2ibhqXWT%vV2d_mAe2Fa9(*Q5t~>ai%-=920p` z>q0_|pN+o(PQmI`JwvYw@n?NpwHKE}Hg!Hc z3y@JVC@j#JQQibR!*G+08_`qf#~Xcs*fEp;K4DE5;QLi3bE5^wjK?@vl#pUIAaae2L1{c$py=}$@UWPg@#k&AcGq>UIy2$mstO|=6JrK z@;yENchTu*=|OT3f*wNJ$twC6-Qy@$|AvRm69LD}VGHzbh!B4nyx!{W7R47{xGsm8 z%LConU*LI*=p+0iRJdTP(!`=m3C8E`&B{${^uhqV+QU*r_1xn>^c=cu6gyF_1?W2d zHaG!Gzuy6;U~EX^rH~O5;vK;YQ>N-q;8A%m;c~&t5a)IAT|MyqP}m}jf|a+CygwwC z&mt_)-%-{9ieTBr>$nK+{V{W>>T+}X_rV!Fzcu~-fOOEqe+t`J6(q!}BRv0J6rHr4 zdhlQRRzmPa;&9{bM~ILrMZQPC8Gh^<5`3dT2Ixn_CoGkp z^bofqH~~{${9|wm{vGt`;4F$xR-1))fLSj|mm`Tzp2BS#xJYdB7bXaso*1hq&mhV8 zS2%e#xAj~J_%y>QamdSk&uK_;g9jvlJ(T*fqx24z-NO02b_X0 zAl6vTz#5-F=OTIP8g9rRC*aEsH-R^SzXd%7zk(Qj#~Cz2{EHwJ_}AbRo>zhyH`4#9 zuZ4-ar2kXj3jP22ss7Xf!$s(Kf`0=&iCl<(>-*@`4?zC|eUZZRVH!t;qG4`JbIiewx_MX+pgCpZC@ z!P0ZaMJN<})eEstXSXRlJ!gJUX57{%@Vtw}J>U#{2blh85dA~&j0dOSyJ-vZs6E=32rB4r1@zOlC{fB&U3(0B zO3e-zeikkXOj!8uV6Vn#q1G8vWM1wZs6cQk-4`d|%FLir^#{JuvN6J#%< zJ6XLp3Ww-{jpdgK8~s{7b$AfW(kJpO6igrawx347g)<4qbC~W51q(3e9G z{Fgxc5$P0qGx*!!j4^_rkuQl!DijzOs{J(C`DCsPEIE)qi-{I%G(|!y_<`F6MU;6T8CSgA{GJ%ed zDjbOmf=8in6gXpb2hfa^Qv}}$T{#NfHx6St!zGaCMIX zem>>Pt_xXh?^!20wp^Iu)#dI~t@0CfzKx4SbI=CT31xoX^qKM-l;g=O-;!~KHe!#v z_yPJVQkh(deh+DFPp~7)QvLmh%FpL5Oed+lgyaFAcSNQXS&#K`LSGcHp@l994|qi8 z5>a8MkCPw5bDXa(`EO{Kf>X+5E#q(&MT4f6)onusx#243Q^%;t>q4JY6Wsp}-n zDFv6H)0V?C@CL7k!*_tMfKEB8{*3DkC*ao`PQh<8oPpov@dTnX-e))g-(@%jf5LDE z{#TDD5}onyh7<5ZhEwnkCDyg0%R)`FkM8BfY5 zW-%P~>51^1c_{RR@fy{B`!%0**qh8x;h6%@Vt6v}G2k;8TkxNGIydyNAOW9iIK@70 z1!F%8GUz;)?Jd{=Zuc1VMrXbPmNVI}B;eOVps!ELz&9h?_tJZd3_e0( z31qhpEP@XKvo=#+=MPm5&zI1dVUI&idKeXEL!T-G1xx8-6h9<49#0Sro?|?Z+OuRX zJO@L}!1P;To;X+wNpI7+66nt{+(ciZ55235Qvds1=_&??caa6rui!c3s*sU)2^hat z2d;k*OqtXeEm>x`2wrVC0ZTXHX(A5odNp*N>o!1|Wqux=D^&kBF9F{S;bE>6yp8xi zt^x4h6RYntu2AL;HLUuUgm15_-L6v<6O@*~i{N=BKo}W9drA3urxTFW&d4RhlDAMB z#t`!;)El{a)#*MIP9avAx`J%4A+P;CTY-ArL&k~r%uD`(SWbhmL^k<)t_1vXV#%6< zAE2ZY!5Nq_TX?oFSz}N+gKZQl)RPrw>j$XLIEIJD)i9F`r0HSIsazu4Phf%#$SQjg;q;PZ_BeDPDe6bNbQ zMZ|v)O`+iL(t+WaF&A**LyWIikXLMt3!>i)rc5>Gy!RR|g6{^Cw=MzS zXY`abG_|8{0J`i4IqEX-4@Bp8=S1iIKf^KK*geQFb)0_;ST<7x+rY-t=`Vqn#sOx;z$&k+P17F~}z50F8QQ~WAqgKdBYj}%$4Flj3|6t^{@nys`Zt0v#^;IWl*rl1H1RwaIyO2j1D^*z(G8vG0`>1U*b?aUX*>f=e_TL+ zIot$(Gdv%Fo`T;F{w6pBzt5L50}RqFDm(x^{B05A+I^2fjUrrdKR4loD>nuU$m5Kb zA};tsJr$E?TwZ`Z7nX?^{J+ra0MMO1yxx($JqRc0{SIQ`lq*-h?9P=>5mh-~l*8z3 z*@#ghM1@u0Mi|u`Ncx*Ycg{nyx=$&>Gs$>pjmJ{avi02Hi4$Nkm$UDHb-8RCeH@yB-)Z=M z@a^CN^c~<20g-Pkq+__^mw^-L9|d0lPQmwjEFZG`3*hg0U$Gn=XniO@u>1#x#q)D` zMnF%&k3pxdaRYq5K}tFuoPi}^yYKoH*uBb>A6WKdm|~t0%~1d7a)Ck!h1a>e$H?Le z*ZtNUE(z0Ngu=hOyT=bw?{o@Q2Q4t&y7F>swgjFNd5)f=Cgi8>VeXSogeBez{r%4< zz+CVW>S+cO^#52nTm-K+oPcSEqc?$Dz+6!Z#?A{B@b%zsFg6hv!CMR`;Hy;;0hw03 z#xOo_mocdF>bV$8E4J16^E~n|jwhjASHmoRSXbOcOuY&#WGBLn;M)ur!FL%(Z!TjU z5qYbAgXD^jbKAyM1b^D_EMiq8om2k`^+(1SA2bUYj zM5hTKQcb=P8!MnkxfQJ`R_f51P@u2&*nYCETqy&Dr<0pH)XFYw5H{QC(R(KvNhtK{ zPCLj}xP<(dl0?@EE9E<;aV5CDa||~@Z!w&LRgZWEz?%$bxXND`-hmB%%43PMl5r^h zxCp)uO#V1welAmgA2?->y%9`%)s61m-aPMbR=ySjvT6M7(*Ea=6!Qwod@~Ip6uP-l z;mWt;0h}J7$5?QSMREMHTrSytl?FEQ^WO*HN5KV9A1^ftu;KYqlQ=Y=I|9c zd|eLTRKw@rT*Is0Q^QBSriNGDnZqB=;hYXveI-Z#ZVvxAhku>JkJs>`duw?0$Q&M* z!&7s3Ru0e4;nQ;XtQwx4>)+MOYxLDQ9Uii{MnB|DHN3i~hR1%ah8uHzvHBG?`sy2M z_^5n2Ii0V*y~eZTdo{fJgE_pthL@IWc=f|IeDLNPUj0Z8|00KX*6@Xg<#4fvN9Xi# z;qf*4h0n_2=jZVGIecLaAC&9gG5NYKtMOdep2Io&JT0f^3$M@d9HGIKyYxtm?EnPIKM!#rM4(D_=rmjXGb5spqlrQI;9K9)r zyK4C0%WL?et8@7EIsEnE08o=VNS_jmTT zt?jI|6x+Kx*ScE-`$gq;MZJrAddgd(=5^&B)$S|K*QJ7c`?`86QU56?t3>YA64ktF z^=tZDBd*?3pQ6@EPp@J}^7O7&V_2`WYU?idt&4iQ`g@uyjwFdnu8j3gIPrAp<|W{1 z)Yact>2Xc%ZfhxZ_C_6@eTvi;WnCZjFOryxYEt^f)zsIsw!Z_7qwXrLve6UD&0U?X zZFyxI!B@Mk+`BH9i)Vf1wobLQvboY+l0+Tl?i@!T!{BS^?y2-v`UY`z)036vzDnoD zl0DCr+}yW0$~~!cwsxVeQfnJs-`?9XU!c_0UFnQYJaIn%&RB8Q{91u0uIX+)u^Ef# zEApVUV&(F)XAM!>++uHEPk(b?Q6(1V=svr+H7W*jU%7WZrr=oS^cA05oMnk!9?Yh~ z(ps9>+~3oKQcHR|YxZ+;()D6&m6j9NQ8d<6Z0qdrptJ?giE;%+n0KYzQfi~QbZ2j0 zxvvuSmN!;f0`4m})7QP_wUwx~y}Y(J>h9|)V@F+`rRMJbXj6H8#f_^i4x+I3w(i~> zF11ve%UepAL3_EkuO$9T)Kh7e%>BL8Q!Pb+QhPQ;-92qx*kZY_jm{SC?CR+#w|m^v z=i;8WKJ1mE`l6P0{*`(wJsT@MQE&5Ru5~Jy3VWkw##E`ZtAzn9)ZEpzzRhq~b8|mK zqphpcayZ4T?dj_84g?$grA=Ku>!mB_3Vd-Pg%6;nj_y)VWrIN{JDTdLR64pDHeG#f zt!-|gI^7{EZR~1qYu@7AQn|goYm)>ncbA*htj->3r56w69z-sI-suMhWi{nM2mKy( zw5{!N4Jl!uEplTuN=sXBc};tzB}eid+0)#Q%yfQxSM&N(XQj7K8LQO(PDk(Ut~9sd z#6*`Gt+SO}BL?Jl+7&_i>n(L|Z0_CU_tP&jg=C} zRpm#B7eq$oi8y{#)ZJ3S(K4O5)a6}kn)@Kq?_E4~=IZRyyCy6h53@elDlV?4Z4FKr zzurZUlw0hH??}4O8@1#rt?TNuWKX37pXNqY)o2+Y9Tc?LTT4rSN4MIDZz{=6Zgi-v zYg4%m)zax26^QKY2%h$y{!(kXzrBw^S88^Hp;R@dsI{l-3S1y|Sn8;Bv{c%e)W`%z zG41WH5_#a(7ABou{IpXaPNjvqy1RM+rQU9o;fzk~3?sa~ERRHIYpJE5$IWs><-V>C z9Do@sl9p+iv$=>FKw}KEZ7z3~d$v%x+ynlOnbM->b#3h}5Tf3;HSH?jx1}A6$4z)I zhLnCpl8;i%8LD*6G2~j`8;H)xH>%4@EnS^BN%>w?QR;)enPM54)wKKthKTdpsHXJy zwRMoi-PgK1zG0(G*(El*JKm16E8Wam3~4`#I@{b}@@;oqriLy&k;?2qYprxvNBMFW zcX#!+Z4L!9VGc@rN9G%iyvz??bq@Jk*^G2UKPsoYv@U4w!u~tU9hJ70a$h;>-O{_U zx6V5zbtt+#{GB@J|4GEj0%x;6%>n*d2;vZw(kXCtyy&<^)r0!uY)88V0!qBU1M&z!w zOp!9IN^dW7fe0S^4l1w zZLF*4mNtfYxAQW>!ILr*?FM@^F#6Z@mOG=%S;FB;{A|4jO*+Td-QJJet}qF;b=a)U zqtGlSmA-yA@nPa!_#nqn$7~Ct*hJ|b@#T}m@79o_mz6kC&T+B93iQV z9l3-$c5^oq3!}d}SLG9KqSGv;rC0^wuzKbjX3?&m$om#1=(WBX&Fz>j=GdWI*P4D7 z3$A(UfiiOBNN9{c*!pG^t0Lr%+0%CrtUb)D%9-0^j{vry9#+~8oY7h^PEk$~;#p9OJrggaZc8sC3 zd5e0stA~Y@`Jg;8Qj>d1z37C+PH)swagD@#??TpcT8fo4EPSg;{4#r}+Jja1JWp>=bJW6W*roh~PEA{^ z*4(zNY;pfd3$-ujUX`SG9Sbj8Fv>pY47b3W?zV<@H>=ZyjREN*X(f+WIV4 zl~y#*W~8)^Hp;hejC$S4kM6YtAFmTvt2Vp+-AohgF60iJ7&NseqY|wD=xl(W2i!nl zAK+v z59P1}3T6PTb}ZN?EYO-w+IF{8IQQ~3yLLhfzNtmex3pE-TQCq{r_KyC()|_{O7M0#nC05JFW|iEW_C2kdhEuGTFY(C$SGJzgvrJ=Pk8}s6^|S zW0b*}bg8$imBmAM8@_~fL?>H6t;ovoX@s+L!qh74a#&)*shBesCO8#=@8vAfl@p3s zuLlf$t3)o!je~Pmu0HpIr7KIzmakm8YW3oktD`^(>6${Ez^zfw1{>eu0K;w0&A_|| z-~Ct+&#ygEN0v zv%b~uP>7|--l(fvXP44X)mohzs;RR4o3@#5YeA}|rMJ7JT3H=9TqOOgSh7D+kTRd>ip#3+;J+2@(I2}cMuBg`?qUvrQR%4W&@TrBT>hQFS)o|$y z-Q{vM4E*R;$A>c=dVWnmha7#9)SHxTt1GQI%&;q0>+ue4%{uvF;pw~CK`rDQ@Y9fg z%z*bha5_xeB}>Q=xCMk2;IT^J3B#79MRi!ZeS-0M9Qb@H3}5Gd-6Oa7657R!B0;-b zW3`sqpK-7nj*?i?x2la|-~Cw_e|vnW^9eoB32MGX5w#cU=Y+5ZOTAlAcrI;=$UMod zHS+|2@R6s~q_rwc{!+QGPseb(RLS8)FULCh{LX%r$TAhbir zgbYP%+9+KIVBxTA4gbGnXN9(J(2;dFt2jE@5jxgH-M-J!AU;k9DD;WCHKZ8EwUk@Z zmwR-M(C(M<&d;#Q$!F5>s(g*=XF}>@Qmr&A>U1$roXNW-35#&1rZ7}&52>Vg4&@#; z@osn1+UfUFZ2UXBobl<A*;h3B@a$Fk%W`@?;r$yCcSKd>! zYvt{`*tr3xoj^i3zbgISLKUG_M{MnN&$W}NxUt5e28;1^?4A4E*{0GgOgh>a>ewEs3U9`|E|gj$GZiRz ztZCDR_;Q>y2V3qS%FcVLY1W%;4%~Y__uNhe13Sn3IvEptsoc*3RGTP2DX^{VcRk;0 zhmG!3Wj(E--~GKh8c3dUGUW9%jmY1tPf7ZxHgphO2eNpEW@clK-x%Q9mbBRT^(2ns zde^b%cFN}XOy@2b9533q!Wo%8yh00;YJGYenosxJeA%HnmV-OJ4D>eb6V>gH8ecmX z^Xmi_&%A?_%G=qSBXsrLEQ}sWWkWCOafafL$h=!Je}T->AH43cfHN(Qpfp{w4#3;$ zRq7^p*YO-Lez^16K?h80ws4LfZNfS#hBjGsQC%#!gHo|`U|jB8i^V!Ewy{d( zumJ6~a>$AsVeNz87_p!*6Rf zSNS!vpJEt*oLl*gtoJq>-Aa-*UT2$*23yL4QF|YIcw(P)PmDtr;ErbeveOtHhi%op z$>>ni2<}kbpAe$DUAXWVxC9&Kwma`@$C&S|8cD z>Kc|d8#$lq=Mbi)XJI&QZRt5JYVJ8%$3Wej@c4d4TZ}I38lR^3*==3jY`{AD*-+K1Jz0J%cdSlEc6(_jBO$z>gQq)7s&{)nsk{)8nQ6Ohf7{w<5QI)6f`*$XLT(QL-tp`{~*MQR^r z!seG!dLkJdF3TA(o;RO#zQa9Ox5-tnBdTz0!*4g-%br^4p~BrBglhc*KSg@%XTeU! zub(MRbsZY5p3gzwww^VbZ@muP>sAeCj6gUzbIq+A@E2|gZN%_4FeG&rMnAhvw_LFs z_#y4qav>oP6tFRt@-)A1wvycZACAT`x=2Oo_Y&>}M=nw7k(1-BEBBnAE_Cw#g>!nn zEtCcGa)PsLj^bEblzQndy)1G|#z?0GtvEwA+nub+nOz1E7)bsd4pTRVt;0pX5AI_j z;3}}wS$3*!HyQP^kYOR>df9ghXFYy7$~uCVIm%`BwqohZvr0=ZTDoj?iOu@zrKKfH z7cYr+qpnx{R>I(m>l&H@~w?#Be&wyb@=P-rU9;=C*F$ATTog zJ4a^{OnZ9MRIOy4R-!?cwOW@|Q`*!szp|SeBxCJ?Yl*60-@+SCFAT)6Re|d4s^s5f zh7|>~8@`!MGcQDWA*hq&^}Sm<)^L&_+w&GD<7R8Z8(w?U73nQwshi(faikzu!ZZ|= zVrR2At!(7b>?Y+9MWs?xi^0unsAY>gFvT}w#@Lb5px?iF2jvzZHCXCt>F(fHX#Bj!m7#eC zqw6Wt0{o&k3c+23$LwKYqFbvqYge;t{QocQUW4N(*F3?ez?b4)fBf?DmJ+UGKDFW@4u%))DL7=-Ao+^S;lMe)A8U?u}J|Rlj<(GN1RYe`RH6 zWtRN1&W;1#S5sYOzKK&Kcj9y6$q6~(4O>`vV%$2^ZA@a;JFs5alOB+gW%RKxg)KmQ zK6NlSlycB-_{o`m{;1n-yZ~`Z(f0j&u=OK1u}y~4G%y3Vv4^g^{;&5v)AaaX{_wm% zBVZps6WxuE8vQA3dk^5ih}-}4M`vZBST)i;Zkr&&8=XHp0yks=d7pK^-P0@`u{Sqg zFg9!Cj0U^YuWx_y&ZO&Mjd{2x(}TAD^Iv(U-IfPVCegQi*~s^A{#Xy5eevTs1)fQL z1=RgD_U>> zYkd6Li;YzIJ+c3Q-6KbA+~n924)YLa`*1o>mM>M@A}e)fshxwyE$-izeoP@$Z9gICwYep!{-X+%ENZpG){<=u(0Vr&}Wlvy0f^*8W(c4sEw=+H6aUl>krlrus-^jLu_ z2UFur3{<+u9xtC1`th5 zJ1Uq&f9I#s^Y74{Z0bWryLZLCH~E>Z@-wwf5UljEw)9&^*Z`FDAm_W}`t7! zj3XL2s)6Gq*t^yJ8LR;CGH{P{JIB~jL@KerfLY0IJ9g!v@wJmp>r+r+wYCx^dBtj z?9_Viq5bj##tXw8l{?!kr>pOlLpkV^E#d4fpL%TH$cG$wi^HbCPT6pC>o_?w;a^}l zWy|(1+}q)L|Hg@v@Z}H~ir|;aGPg}6{ z{`dn=U_auq7e=-{ULJY@`#X5!-zUd7aLaF|AzgB$Rn}Q@#x@p+ChUaD6msxScDu0l zcRTy;w!WSa+Phpv{O%7vZIiA0-jy;FoN|uU^?_Zzf>mqcl|Djix9p!-=kB@}*}};X zIJ+zs3uQy~t+iYHlz0uux#sSmioXYM8oiUqc^vx-1OC2OiJuA&NH%S-AnSep(t<3= za4{Q7l{pR2!60av@kyGL~i;WY?Sj$9cd*CF_e4&KI8t~P(QNxa&fZ~RNe z$#o@I^xN5Tb?VLW6VE>Om<))9^k=&!i@>9?^_x9j_6y`{m3XtwLN?i=UHYbk@W|n9 z+3avbgIj$#uMp)Wmof*z(l=p&Na<~-h8@yofl=yW~EWL<*AMo_%-!Y|>HQMN&8#!zr z<5awfaZG#L9k)qb+pxyC zx7=$ZU!Q+4TJT6Y5lk*~!FlR(W`y6Wk)z=5+;TYwO!9zM`6$4@kw|`U#}51>@8bBi zYr<{m`%5e2*+w(Y>cIw~os>R0awzhvjmiId0|V<0G03L~)G&*{6}CC%d;x?{Hj1R}5}j z4QJ)z&BYCqTOYeSWv!zfmz%ED@7K8&TvCzU?Jp2>-Sg{nIoKiFL>Lw~v5Qr3$LQE$ z*IQ|H@s%6?#2NPhclDCLC7Z-&r$KD6h3poLbF3t~QkpL%c)O6d2WbiJ!aE4At?+Ls zKIYi4l4&rNd(P!Hc4_>tkwg1;W3SOkk9zwi{czPCs**{u*6_2Ln8c|fXP;u(7xV*a z0d(_n8#nSe9hq>^a!qDf@ zz54unw$$;H>HQ02O)N{23EcF$(#0VGe;M8gwj?kCwkrHpYOV_R7@fVmW!UR<^Vxa1 zLb33lEY;0S7U_GTbMc$IxI4ZHGg*b#^qo3~SYPPBJfpKw&1U9${mYM_MPq%0?qXwT z%)jC0yQCANq&~NfLP73D`;*z99e)WsYLSf$zg~-De>^H)i%b0c!`ILv+=zB=f_iu($U1$z|V}6)Jikvk^Y%S$>?Hm6`rHUis-bxUjf4FzjQv z_ih>6XNI1B*1!EttTp3F?U)ueO ztS4m4A-oGuwVxjCK8(_*-rnrwXoPu{yom5{OnX~=+p758cjJ6}uTHQwPNtHLt55^J z3*EmC+(&ijJ+eP}V6Pvnpj!yH?s^S8^0ZtQymgfnjkqLuns9|MHkn=jV*E&Dx}+^A z#dk#SxDR)1yzT7E38!CSsq*h?%nOULN3N9z>MUi3GGdsA4411JcVV$^a}X{4i44|F zyC=5o$EVf@_WxW5Z1PpI^)H)!!B(H!Bh8%Z~UY@ zOuNQ6xw7Q&kG@{=mAL72fiJmPy|QktHJ zea#&v+JPnD`eZCvb``K7`8WuB0q z%wL0!Q(AZ6Y^mKi6Yl^vTao1L?hu~4HqFyrrRG=M?$RxPZjc^e3GVSv3(lo+n*eqS z`1m0l5s(YM+~tLShZ7%y>PIW?lO0@8vu8psBs_?NJlKlCv1j=N6$j`gVmN7QpXb|S z2M=hgT$L=R3?N9dfsS+B+?Fq<$Lj;1V#qZrwh@m{yX5#G?r_6_jAO4A|6*l{8+fcd z9CJzK<1zU(6Tpdkaw3}xuZCYff593DE&eJF_bIIG?;pf@qd09W#SS1&;@syKD~lLA zD35WKVYftoW7j~c^`9flQOzmofsBy!M~{{_V^igh<2fhB$uDwfavj<;8(@v1}vB7OlKd=?6-^E8P@0qN8u1j@Zyj zf;YFD&d$Xjnu_BQ9Phz7DA>J4Vc2HrJv+(TEwZ?E{)%DqYgwKTE#_ z^CxB~6WHwX8-%j9|7neWhW(hM+X@P{D72=3$V{xGKiRVK4OlV~>^HyMT=iWz_nt1m z6ZHS>J4oU<9P~-~2u14km&3>b!~GL-h%ni-@g8L1PrNt!{Vewxi=STJOT&4~`5z-G z-fOXlvqz|5_bH9*l^hlIlewv+ke@$h8E@GVZ@5!7Re!n!_fVUQOd_+u85me+;I-B3 zj+U;8Ww6{b!x^9$yfjds98p~-+CRYyk$vB@(};dL&7bZiEioJp`Dj57%KmJ1I1O2! zop4a(T;=RI?w^dme0=dsFC}U7q31!D7JY&1%g)aye5nTwekMPuqu1|)tnzCLo!-5V z%f{T#zZ$jK&ruF!uhx5X6yzP~7Y>-a3Gw{NL1v4Bd$!$%pL{V9Hu(^Ze16W(-j*a! zK2Ghyh5T5ie4;q=t8Gs|;hvtgTYQ5H`}z$VF{R90r^Z&L9S6@gnI~~2w7zav<92S2 z{$Xpk;C{@|OD7h|QQWeE3M% zZISHs-}$B|Ains{TF`h)NlOQXnaN0lGv7slQkc_-`2&c>G39jzx)=eru8geqbdlIk%hq2Yr z`DJILtT%8mmwYLVzaoI{!_I}w5E~(S3zrti+0gEnd{36Yfzk0}U@wL3{yS!Hc^{5H z<2y`bV;;A$`5?dibA=oJ*^&lqdE*;bff_Tg6V&0 zU4U490hOVezuDy)V*7V4qd4*Oadq zzF5 zWkZD2Wy9sxA$m~~&i|K_*X7Fv@VdoysB*~UE*CaFvM3qJzo)ur4Gp~@$AQ8ZDs>w;cR!w@H9wRYTjh4&h9k=j08`hx_cO%Q(FA*ppj-Wn10(*#g zeuICoFV;5ku@1-UGT7?HE5N;z%5rpbaP2lZUBVt67MaZ*A1u3%(IZ?w6>g42>)bA} zjN9&=I9e@VZQzer<|eak+H5lp$DU*xZB6uE^w=X?w>|O9wn)w_aNBQDwxy}JI>OtR8p3>PNmA0-J5v19$t7c9FX~ zXWt)@@?(S7B3@*2zEf~kj@w0-Qrt&fvVDlv3f^Aj9b0yD^&~U5VC-Y-`p=Dm-j>H; zC~-zRjtI%un#eb!=r@+RbNu|tQ}X=bh@d+K9=~zm2dC%BsYiI3%C+PAl}`Bb2w88q zRjJ#>_O;7JD0Ya&-HjEDd@X@2TrSd;D@1nT<9{pAUx{JLU&toA^I1!HkVejS{e|N* z{!~~zG43dmbkvO(t{HM)qUFv4z>c~uNZv)|5@2^CpaIvw%M*>`q*w*wLruG65QCv3 z>DQ+=tb6y2xNnrg;Ry_moQ>-?q~sgA5#^pJ|8|G1SUGFUI^weIuBrAfBbn2h&Ye7x@`vUB_0(L*>S-y@J-*qlt_iVI$7{BFv@N=${8|uG}mb`aI z|DU3zGJZ>Rd6^SG{l>M?(sB{)gX&kJC2jO)Nrl?Ao{e8dOQnBHX0?4TT3WdPZjg_w z|NCg^D87P!i9SCY|82B%FP@JjXS7|t6!Vnv*mPsGG{y8w`^jbX+@6S(dos=f1x)p#;2g;y-A<1LaOch zd=+&0_IwrQe7ikgg+^dJUxnj=@q87UYJI*6TE9JCg#~Tb=c};j?Zy|c$3iDC#v74! z`F8CX@AFFD8};>b-Y|Jwt*@W+YHEGGoTvS<*VB1guf2ZGYy0WV=NG(Pevqg0b$l&P z=f^=i@^pT0VC3oiLAB=Te67dwa=wmV=9Zt{@^StmS;xoLCwPhZ*T3fF0$sl4POW*lsN-$JM_$jc=zTMU@m!yG_mrHE?G%uG_wO#XZiPmrVxnx$`b^UV5oVVrWl15+^#U666TJusYt9AWS)c#mridwJbqgeOTXP)=AycBhOEic7((2l$m7Xu?Nmlo8T zmrJ!C%gd!Yewk~2ddr9WO+49t$lOrt`_ZLMZ_CT2x_rwEHc9;YNAq%7qSm}z)*l#o zxoj{nmU~&M*7eI}vue%DW%J&am&;m#v3|MC#!K>nyj*7ErFpqb>$QAb*3rjnez1w^ z>bLdF9fsvQ)akb{9yWws5=x&qGcw0WM(0VfKc-i{pir7zYdAUND zZ+W?*qV1ZOD|CEp{c^>uw(I)kin+kZ%N06awtl&yqwSiPD|Pvnmn(aHyRBcYOadb> zSK9b#Ual-@yXNCct>5x<<*>Hv`sK=TZ_CS-X<+2#%4%Tb<;teF<>kr+@}gSva#c~S zdAUmaV|lqs>$QAbRq@kjp7FN4T&3e{dAX_{v?DK9%>_nYu9{bCUV5}1%S(@rU*@u( z-ty5iPEOUje(9-tTV8r}`IeWSrnYNddOB)dzx135jP=Xag}}(m)rnfyFINw%H7{4s zcw1hst_8;Wtb!!yj-W_W9yge zhP7SSFV~F+MqaMd@v`;Hbq#ITyj-Wtx4c}p=-X}ma$P4d@^YPxpXLR-IDY&zAM)qk z<^9+4bA69m*Du%idRtzuPXZ$^*Ovk#FV|PSEic#4lIPT#m+M<<&CB)LAIr-PTCe5f zhS*P^dC=SPa)XYq<>iJ-(2l&^Fdi6rxnV}FdAULBvAo=%<7d9H=%=@Q+}KOj@v*$z zSn}vKk4;=!OD`$utEt$B%Ue9hV)Tff9petOGGto?IFUgBENj=aPzZ_7)(NIs+1yxi2Q z*1X)L{jt2r--Zs4N8OZ?b@`T;o9e#Z@^aH$VC3bdMquRSrj}asa&yt!@^Q0{XJ#EQ z%gfC=UYS$>c+1PpI$oBSo3$Rx%gs$ceddl@^K!F}ms{T;FSitecI4%jM6G$bWl*ho zxkc--yxcP7+bu7*XnmHKTV{fGXD%gRNy=4GYUZ|_I9McS_KN4FKd zEibqA1jhR1wm2~Ia@)AK<>R(0xu({<+@}4peB7q>XV&^GAH7;n=6*jv%S&%5F!Itn z7#Ml!EeA$kdQ-LLrMKa2`RLVpGIxBt-O#{9UsffDy_%zvZ~^z&sM_yLcbYu=WZwX=bdm$lko%gb8rkL6=s(_S8%R23k zsw9nZ|EZ?}Bhq2rZV z>$AMvq2ptDxkKx*eB9CY^D`$!wdN)135>iXy@8RJq^#DwBo(#hCDD2;FGvR?aR`B-1_(`VNHSzgvpX}jiS zz4piQvR>=8^~w5qKYiwox8>!|C@}JJXCW~1a%V9x@^WXQ*1X)AdRsp3)bY&R@a>k5 zJ9WG=YkiiNJ9T_4FB`NT%g2V;&o6UXt$Eon92j}oFdi6r*-%q!UN+R#nwJe)kL6`U z%ePxzHt6$ddD)=#T3$9R>hzkI4V}FEBDLnFujp-g>FWuMy!2^*EiZlAAInEy)lZ+f zrq=hPzT;}mOJ9qu^;$meD){!yiMQqDu2Nv+<*vcN$je>jz{ty8sao@LSHs)#ahHx~ z=8kW-eB7<$m09bvyxgthV|lq->#=;?UGekFTvKaa?w$>dyxct(7iAe*HflYVkBxOdzsxPQ=4InTVB}@vVqoND zQ&FvX*%YfaFPpR;%gd&+Z@0W`(&y9ivPtW;ylfiR=`}B#QgT(TdD&F+w!Cbb4UD{O z(*9arHfet>ANNLn`pnut%gep}+OB!ISNmgmxmWA8eB3+Zr_bE*w!GZi42-BjFPpW$mX|HsAIry zetwzDYRyY&I56^38V`)Tlxk|tOR28byp*&a%S)-{+bu7pg}}&5N$a(|loqvJ^HS>M z{XnGFygX3!w!A#h6Bv1UAP$WE=?AnwmX8OjzCE+{&+_uXac$SUJfQutygZ=wT0R~u z_~|nz-j2L}TqFAtUjBQFo8YR$`o4R6cGgF2p>JHFlWu{9!VeU_K4v2VA$ zY}I-!A6qNhuE*=P*3_Dpt+RoVm#uSwk(aG4wdQ4OTdjE+(0VK{14Z9%c^S~>(;0ag z(0VN|1HC%E=4Buum(-eTvA^Ri9r zvpj6mGGYChi$riXXIhqxSyXh@~~}2t$Em1_rC9zXjz1OZ#zz&$2r6M@&D(M zJ3o9|TiXYtW!>FT^iU!2xp0sAn`l|jd2p=$vuIho3fA$xPb`nO@f6GBXLb7jEm|@y zZh3EBfm40YhZoh)N6V&gvdKed)CZ$w)9C-hQD8jZ4{Lp!|1nNw#rz)b)%O26I;S7C zJ*@R?7UTBA{nTCxEbW7Vtpsq6p=?<1y~>n0~Mr81oy%|MGcL*4`T!^Be3BEc2@dmidMC$oyuh zeLk?vZy_+|_efX|=J!Y(v}1mcg!M@KaL|tVJu)6x<~J8uravB7=GP1??VZ4w-=k4r z%BGctW6m|kq-A@jrIpRoSRU&};Sf0$k z7Cc_&KO0!)uk~)x`ky%N+q3yMgZZKUCov{&ytMu&dxH64{!fPWV*XERy*B?ROZoXf zSq|nW^S63!{$YJG|3#UHfbA*H1U7{diz`d^4~-em=0Yw*pK1LSSic z2bOjn&usY}YCjVgkAEf#jK@Dy2rTXW-uJ%|EkC^yE|XLBe;qAvVteM98FItBbVIcK zL=W0qWbIFBC|W*`_2-Z-KQn5Q^+D!d|NNAuqprfmn0{E>>ro+=$JfYp@|=JCw%(4tzeXM47w*6Z1x?e(_n*`6(X+x2VDj+3=MyPoY?t?w?q zp6%JTPOsOqJr|KNhB6*@{n~SbWL=)^FFmKr%RK9+xBaK*=GA&V+jIJSWbImy?N2?g z%eVc5=M#Oro-B8Uchn>PdbZ(M zt^04ox_sNe8`kC9`GCW^d}oZ~a9tm-`)|W@YTbVuUhua4w_zO*+kYF@`fUGgSnIR> zx8XDTc-?<{AtLvvb^q-J?T_t0y`bZ3`%f?Q>-2g)<_o33*nfJVqSpPV7pAh1Rb@c#Y6Oklj8UTAq+US2qp_lreu%g2jaZ{}WYM}LMf?TcEU?SH?h_1N?C zqAox4asPOGzFwRUjQ#HywLW|PUW&9`pTCz1YJL7*>i4$i?8A17rXE<@vzK*UO7)&DSfv-jQqFZP(ZPs|B?luX(i?7zC9?L%@-m|Rv3!hZ{h75s%g2b;llhFFzvZP;2#mZ`ih+@rN>53c zWyh4a~fsvP8jljsuuH%7` zmt6~L&C6>&-j7Uv?DL$vue%Dc%7{MvAm2o zeY@plT>EEv8E*yc$jj~?Z_CT>gslCsyzJKgSUz@Z{h75s%g1i5C-b78zvX53nZU@) z>rr6j<@G{fpFg!=X|^6<@MuatEH8U{v|aPE zXHczq*;5XTyzHq2Mqc)4eU_I!v)ZnC*)#8LdD+tnjJ)j8`YbPd+Ce+=vS(4PdD+v+ zd$0D#^0K$++bu79wSShEy>ZZvyzCwKw!G}ElC?jUm%Z8_%g0`=KeN_n`PirRWbXI# zx4i5d42-<&D+fki_6-L{UiM9?H81;)ds{yC>G)+n+s zm;K|~u6fx%tJb{iuLnk6_BR3}FZ;DV%gg>nZP&aU=<&9^9EbxWF9)3<>L(X>CIjHqnUJh1+ zcI4&Yj9T+@utwJYSY8e`e7oi4p!U!5aOxFHbUM93ZmX8UoKeN_n z`IyjpGB5b~TV5s>10ydJoxsS;#F@az%VdvQ^D;T?ZTXng@yk5x+bu7Xb7Za0@-jK^ z+bu7XT94)BP(j-@FNgZonwLYRz{ty?a$w};kk)5;IW(i~nwLYzy)7??nt_p*Lt3BZ zheX+bu7LwSShE!^NN-c{x1nZFxDIlC?jUm&4j0%g14@ zKeN_n`FK<7$=vJbZ+UsMKQQw0W+^c8^5$S*v1(7k#_s<;^pB zPicLYm#H4#Zh4u~dMqzf!`iNSnVL~+UZ!e+k(a4@VB}>=>$AK}Eoi&u<*kCZ<>jqn zVC3a3tP z-0#~hFYgSJwLZ(sJLA6H^74+>V|jUJPTMsv?<}Y_FYmMiBQNiC0wXW)YJHZMcYC#6 z^YZSnx8>#CN?_#WU9HdZ@@^WmBQNhxsWmU}R>|5Q%geiU-)?z%SNmsqdAAX?BQNis z@wU9YS0rnHEHCeAe=HyGY5keCKFh~@T2JPAKYz>1dkcY)m-pI%k(c)t10yf*7u1@U z_XoW#AMfk;~P%S%=JWBI6R{h75s%STn~F@MkDkF*}k%SVISu6g-rO09YM2m>si zm)h}{k7|K&|3_M%<>jM!ZP&bfbjI8A@^KUxdHGoDv%Gv<4BC;Gk9*Xbmyctz_Q&$_ zamlw^UOv|TSzbOa2kpqq$Fts+mya7{?T_WOaHrWd^}FQ4f6W$yLumX}ZZ$y%S~<&$CGZh84c>#@9iGOO*H zmrv%^nwL*nfw6x1q#YP}`Bdw(ynNcD?V6WQ2fZyXpOyn7FQ00CmX}W}K|AvD>9|_+ z@@Y!e{#afxXI{#af<)BadKKGXU$YkiiF&$OP* z$Nl^*FQ3f^MqWN^1x8*zTL_H2e0D~yd70_=wtUR!_+_5*?Ut9B8M4-Ad6}8>?Ut7r zt;g~*v#9Nwm(P3DnwQVxz{tzzNnqsVbFI(v^7**7YhFH|^|rixUJs1Ce6ICbUOsOG z?a0gL$JLsb&zofJkLBg_wr{t*e6IboynNmX+L4!E_j_AjeqAPOe=IM**8W&Ney#Oq z*7__Tzt(!pUljcOEiYg61V&!Ihyx=pU-Sk>UcMMqYhJ#X@wR+?q2rf%-nUy`zE~h@ zeU_Im&iHoA%a>Y@<>kwMZP&bfIj+{ce3=GDUcRgbMqa+u`YbPB9@low%a@DZmX|L( zfsvOlwLZ(sS5eT8ynIzqYhJ!8lC?jUm#-4vZh84i`)7IisuZ*%FJH}gTVB4ZleIsV zm#?%xmXEKre)HE_pXK9gtta!apTFhh>+!(I%hzdOnwM{yfsvPQT7i+5n$~A|sTH(c z^HS^gw!G9zfsvP*)@OOCm4kNVr8cbAywoaW?T_W9R`u1x5on`FW)u;BQM|12S#4LT~upc ze$(r1`S^{FU*>V&Zh8656j|%Dy!>X?w_9F*qxD!`ezTzMnwReiYR$`c#lXnRcX42h z`*&KO<>k9!ZP&bfH{)%2`K}fidHGK3v%Gv)589EJ@8;B+m+u;6?T_WIXZ-vvFW(meBQM_<10yfr z_XI{>zVBCSUcR65wtRfABEHB?L`gY694_c4q<%eEv*S!2Ntk%5z zPzj8@{E!AlUVhN}EH6LIX}jj-hXrrT%Mb0q$jc8}pXKF;PSB3L{BTCCdHHQb*8W&t zejEFC%gb-If0mcuCP6#$^4lqI%gb+TWbKdT<+s`&%g1lEKFh|kKzVRl@td6?Du?E1D@tuM3Icb{I*HaqVh?|d%ir{jH}Ue7kWsO@?^+pN}a z*R%buCuqmxe^*iK^=!YJ^|tHTe%Daz^=!X8uGZ_>ey8t$(2f1PFe z+u)A+KSW&>wEw=~m;dm#s4&$BV|ns^^KdOHRJ-9gFzWezS^Y1f!iDFjkN!A+6BX*$ z!)F3t8AX4H)PEHfj-ve!+TTI3w8y^vVeQW!D&&+rrSrqzhxtp4&mXjZcE0}~n!Y`A zTdn8&|3T}!U;Rg2zMb#?$C95u^PpPK_y40V-_GyIDzr}G1BS9sO`t1`p2j+FYUNb#`}>|QQ@Sx-}}+Kqrw87 z&mYU`_oBkz;Q9M;Sp8*GIED4)kCnj4!;jz8^#{k!PABI>Pcy-$c&z*=AVKSt;ENPE@4 zexBMGb?wFaxIUxa9(7IP^;w?{jParth4cUjAN^T+b6BxAG&;!_!wrg*Ad+@9gh7mAtdR>r^Gz$aS^-U8i~P?C(0E zPFdc1`@2qUwf$Wu)Gh7V-*t+#-TtmqiCiY@xUaXr>s0ma+23{2dS&_U?>b?eWqEhn z-*u|1?e97r4~*P*X@9c6>(tVA`@2rszo*Mlq0)uoix~F`9``@sHpVtWee0gYZ}}O= z{eK1jubvT>)%DLYHcPy_Fuk;||4VfW{~Of$koP$<{lCR`5lwoZo524E{IAth-ghHE z@^h|C|Noqw-?0mgOdr-)=;VE# zJU;0Ed8xPc|2!JM^HE%CN#AB^v%m_DrcGMRrcewXR|tlrC{o}m5m9&$e%)O)$s zXZ7N3JU71Gs4tvf_e{Rt?k3uUdauCrVZB$>@{hkV_O^Pjr1@W&()9B9px!Gx-d68b z!`?Q&SE0VJ-m4b#_4df}gL-=~eOPag%s&{vt95=>@6}RI*uFqM0|)h9qxD(6*T{IG z-Rivt^@a1hb}(P>wN-f7uI{jT)y5LWcfk8H)8s*-Wz59!T7~mkJTIZQ@iv(oW2eR_1+YDTfH}pdt1FX z)$)(OX)#~#%`w`8dT*Y|*L!m(|M*){Z>#r~DQa($+i+0t3XF%?>Rr+Bwt82fzOcWy zVmxI0to>G5eo*hNt$e*JY5Z2s`}tYDD=~dI|J!=V^7x?M+v?s{Z*Rfd>glEB_0Ht$ z?UnHe>Rr{FuXj}q?ZNZATILU1y{n7VK1`m1gL+plcw4=EXcw4>es@_)bx<>x-cVK+NJlrAu3+laN zE?;j_%s)Pv@wR%C8nw*22ld|D<8AfcTlKbj?``BCe;>vttoJ_YUr_ITbNPBV7xRzb zJmYQkZmv{A-~K=kxgQSdePGtx>U}Wswt62-@{fNI;}h2Vp!6@OcWZCH-mSI#;|B`fR_{QO z+K0(ga8U0++uQ2hR?biV4CW{MkN3;PE%_Tc^SAw_VW~IB>+piN^?$gXZ+{^sSIPB!{V&Ml zgL+>?f24o5{1=bsAOBLnw=Msr61C5eF`i-nUoLuE|6iW+w()yerVsl2N|dkn6-XPBNcC}cVyn%>K&2kgL*4Ee%4-*e(gJ2lejK@w4{VWcfk8uhsJP$~BYWd!y^kk(`M9%|;>4;RS2a8U2znzz+^_>8yJ z^QKH6)cdB6U)C6V13A+v<5+rVr|U zTgT7Z-;w19^}dtl>y>K;!pFa>^;o^{R;YcBJP!x;zL$7gz3TRrc|^g+Gv>-bsw z`?CC?-uIjNdOzsRKmG%)$Lf`H&cpf3IpLwJJ#bKOwd!s4Ru{dko)2aEpxzI4{IYgg zeo*g6#eBUVP30f|k=A4NejMf7KOQ8H!$G|tx4f<1>3(mkXIiEY>Ydi{%i3l6LA{?; z^7Vc)pMU(PT94KHX_?w*$;aWK-p^uhtM{`RZ>#4snLem@M#sa8U2BQ*W#H*9+cO&lfU%Q12Hyep$OLKdAT1C||Ffvlu@9 z%SCUiSI#*M+rR2355qydUp2k0-miPTt)8!C`k>ygb^Nk+S$Ap~3>?&Zq~dM$9+~&HdXC8SLA~GW_*wh+vizXl?>qT=e;Cd`{s*nc>iwaeZ~tvC zc@Pfj{cXeB>Yb(Oe-F$4;KTnEzwz_?ar`6xTgT`RC34l<_DBD4T&??~e?Wi2{n0-r z-nKvbN6b6iAN?`)kAL(ee&grId9*)*?=tBD1}M)hG52cJ0FbGQQyt&UNUz;_UQUlT054_rvZ-e*Z7Q{bjvB#_xX?+}{fB-w@p2(fegS zH=n(~3(ukZk>CGaaDSrr%k&e${ljPP?|KOL;~a?GPr<9}41P*NNx zNp6wbFDCqyPBDKflgj^z*$rW-+ zu99oyI=Mk^l3V09xs$isObPnGyh!aaIU$$GWpag_lB?tzxlV47o8%U`P446^n-}5x zb)iU($qBhcE|V+dlw2j($aQjq+$6WiZE`1X+4KqfFXtrY9Fr4riCiXE$SJu>u955H z2DwRYk=x`>-flBD$p868YLCeYxkN6LE98`1CD+Jxa)aC?x5#aBCvVxb4WI7|isYD_ zkW1t;xk66KRdS77CpXAVa*Nz1ck-59m$3hG4s6abIU$$GWpag_lB?tzxlV47o8%U` zP446^yJ}&7FDjB_azZYV%j60o7~A;c1^?nUtA=|{^HYzobZx$qBhcE|V+dlw2j($aQjq+$6WiZE`2?A{h3+ zD0c+!2gR72kW1t;xk66KRdS77CpXAVa*Nz1ck-4)Ct-gtEs|q$LN1ZZo*U1fXliVV=$(_9AaAMg1?jkuRC*%^jOso*U1fXliVV= z$(_9M@lCG(R}{%HIU$$GWpag_lB?tzxlV47o8%U`P4484kH>QTzp_Y<$qBhcE|V+d zlw2j($aQjq+$6WiZE`2?tH3b-R~5-IIU$$GWpag_lB?tzxlV47o8%U`P448~1BU(Y zDUxGyLN1ZZ$NRG(~xkN6LE98`1CD+Jxa)aC?x5#aBCvRNpp6ma$MRH6|$R%=_ zTp_3AD!E3klN;nFxkYZ1J9%FRhR^?XMRH6|$R%=_Tp_3AD!E3klN;nFxkYZ1J9*=D z{#^gBFOp+&LN1ZZZFe$uT)0m&j#ug`ASB%g%8>x$%&FeCU^3_ z0}T6rN0A(p6LN`MCRfNQxk|2)>*NNxNp6wbm!lRJ5@2gClXFOp+&LN1ZZ``=e2$K-@uBA3Y(a!Rg}Yvek)L2i;;o7~A;E)NX*-(Muho*U1fXliVV=$(_76fnonQ70EFo5m0Tm&$qjOo+#6mj&PRJ#4nOq^Km!lRJ5D0mJ@oDUxGyLN1ZZYkZIVLCM61hySkW+G%TqD=X4RVv*BDcw% zydMC={y$J8$K-@uBA3Y(a!Rg}Yvek)L2i;;A{|AfYn4FMHTJi$uT)0m&j#ug`ASB z&FeCU^3F91Q#ac##~F6LN`MCRfNQxk|2)>*NNxNp6wba*EIVLCM5?N*#oF7oGkW+G%TqD=X4RVv*BDcw%yq^NYdY>wiV{$?+ zk;~)?IVD%gHFBNYAUDY^a+}=A`)M%jzx&SD;Q4zxruKwfBA3Y(a!Rg}Yvek)L2i;; z&FeCU^3F z4h;MMT#+1;6LN`MCRfNQxk|2)>*NNxNp6wb>_hl56BTxj}A{TjVymlQ+KZJlFphisYD_ zkW1t;xk66KRdS77CpXAVa*Nz1ck+G_44?lOi{zM`kW1t;xk66KRdS77CpXAVa*Nz1 zck+G-4Ez65ksOl~a*13fSI8;3O0JRXE|Oz%LN1ZZ&FeCU^3F6%70T zYLOh16LN`MCRfNQxk|2)>*NNxNp6wbo5m0Tm&$qjOo z+#u955H2DwRYk=x`>-rK>j|J#e?n4FMHo*U1fXliVV=$(_7M!La|MMRH6|$R%=_Tp_3AD!E3klN;nF zxkYZ1J9&?RVgJX9B@a82JSGB>5Eibl&@xkh{q%$bIAi@(_8HJV~A=A0ZzlA0wY2pCq3m zpU!*#5^^_r1-XwrKprBGk|)X2BQSveJ3GzwuDe~#O-&jKK zCa)m(kq5{_B@a82JSGB>5Eibl#Io$lc@>=$fM**@-+Df`6&4q`2_hS`4std-ft}- zcav9;`^W?2A@V4Bk~~d5LOx19Mm|A4Nj^nBo%h>I$lc@>B zQSveJ3GzwuDe~#OKVCxaCa)m(kq5{_?tilBdZ>$VbV?$S24r$*0Jt^ZsNBxtqL#+(#ZD50OX7ljLdg5%N*;G4cuW zN%AT3>AXK(LhdH7Aor06$V22&@+5hhe1v?Ie2jd8e3E>Md^+#XmXN#2E69E10rC)e zlsrkECLbXmB_AW7AfF_kBA?ECW(m2Qyn@_E9v}~qN6C}qY4Q>BQSveJ3GzwuDe~XJ z!RODP%O5-sEq?$lw0t3YX!(LP=Zmkn@~WOoFDqVs&9&EE-+lQd(Q9LqBL@ymjvXA? zGxk=rZgOmDGFo?VZ11`UhaOrd*mG#d*!F|_4jddAJ3O|3aw526`@z=^?Q{37+c6O~ zqz4a7j_sTr+kbc@JvcUjMeIDVe{%co{bL8i$$~rA?c1JCL^}@c3fsq~#&(XRyGJKn zMSCaq-LY%;-m#Gb>Dc}V%bpm)^n0Rpd-opRH?nxpyoIIyAO_*MWmO$3~>0=+OQ{ z6Jw*%x{1kyliPRT_gnkiZym?zu}8LUd*T`QEiHH={{Q`S$;IC1{_H%?`MB-x@7ho8 z^4!~x{IPKJGP_fMm;CRpw%UFb>;``S6a4=Rk3T2&)BU-ee-ZwKkN?lnaGo}n!il1; z|H~fN#QpL|?X92ocxgX_|84o!j=SXNA1D5|d#v7czifJeovR?X`SB&W6SHr-UuXZZ z<;y+tWh-WS{C^h91o*LbubjKKmV{k+Xay2B*$fE+0zExFJxP<X;15k(WC5O-X0!!)9T+Y@(0pG18sKJ|%DeJU#azrSj*w z-nz@VYgJb+o^$F6xu&Khx~AkW$?#c}Cdrvs!xTpiL|@_ap-^zTM|k2d`qq?>p)JKbwN z-B&6%Nm4ADm+VG4lh5CWvn08oWgEj-PNk_qKj!x>t~luVSGnxPu`U#6a%-br>y7eO zy$>zFCDfPKf408v$<){A^?lE%^_{hsSWmHhV?H)0w^8c5zRCIy`6%uFDZ77ZML6G* z^oRO>bm`w9-IVjD>U)#vUhC;z@i|NPZsa*z&&3-?X~lQ#JR9G4A0fVIPgAyCWbu_&g!Y~duX-OX zJyVi)Pseq3-=XDKnJ;@tNzY`r-)ucbJKB-!>q`8=HSB41xc|`ZpP(hWR3IZ5_#yI;V$?tiEI(eAot{@r@|q2(*XeU7e~|8fsMcynlP>%2ZE&m}~cicws3=GnS+BAvd%<#1qp$I9C5%4dG%ujrKKlhFyr|HSOB78ugOr%D<|g zURMn1+w%4`dxQ2B%Xw(`C#N4TCokBrowbF0jo!{e!;9@K_QUH&jH9F3MeJWk)@!3a zcYRKyKGn1b*MxG}TzebSuH1g({YSR5k@-c5k zcbpGR+x0_@dQ`iL{qU&mbY%a#b^NmOjO8|FKQprYd>u7yqw#B~Q7?Jb%T)g0HdQY+ zuNl#QZSnlj*BOs~{Oa7GeQh1Te4ZHR`@7C+)aTamYtweD`F3{vmAyZ4>#xa;`p9#i zr~derY|y^qynpClyuN?xt-roMUUs5+$ky=-JKja5u?6kx30r@yY1B)e^gQ*)uWKy5 zaelaU{2DoaRT}lVb^O|b_VtAAA0FAL4{Kjf`TfJ`8?>*j;}@MGZrZL7*~aD8@hg~xV{JiI>w@-LY zqu&0d%#f?WTHWQzBRco$m8?rEp1P+UB+=ZK9AVa@n~?3KhN@Y*jW34SCDKy z>K=ZMHR3t(wGYyRXZG2j^80|lvGm4qXyiKTUpFr8vthd$@%(CX!>*RuxHvx9U&Y*L zSC9YmtJ^mymuP4IvgcT1w5!LvJq;}nlVFO5f!G#|J3HcHl<8~e#) zy{{APBHEAaHcu3TW44(S2V zhAw)lk3Z`g^`f$Dh|U>TB!xv-$hqk9|Ef+W4cM z;pwz4I_b%6KW!?lEoeXf9@@zF-Zu6A$tLGp{$9)Q_|wv;FKa(r_&cMq*3nzXpYVIU zIQ}-~Z=Kb6Jcroid~giA*}DHW z%KUBWXzQO_8}*Tgp8Dg@T1)SfHh+84$Dd0Y^|f{Uc@oB-oBjEZ|NdfH<%~vs7O zE!;=g-2IC<9zEXAMdSAh*7EO->Zq~EUmaFr0d3zUVSe> z-$BTxN8jri`8|+Z?Jbk=yAOi!9gcb^FAJ1Ru-xcDk+Rrxlp3&qak6i6TZfN)Lo`}vRQoBD2|4#R}#s5pD{xsT4 zPvs?l=#*dwL#KrIWQI-&&rOC-3H{vADZN%6dvCMGzMHVPYCoSP9g~v0;vo{n^F-Zu z=#-GZy|=mA@2^>*zU#DO)`{8=(_H>2!nzHGVg>76;p}rrlbPcCxr2V|Y(-od`XVWE1-#A^t9v^GEhSM{e zU7zIX3g0=%+Lc<|#_0;}<z=xA?awX-8UJv&H!gZ8eL*GP|D-GcV#{p04h_q{zG z`l{20=}-%7q$6}|WA_6VOXzomo1cznTRLtH%`CYUV^O^M!S`IjB2U%y-9qJ+39O>Z+lj=zoj&N6Ybc&CtI%@b^Va6jHB z#?$rel_4IFx7_pwyYIf-Pd!SUUn(84gN@RWyDEe)n#X%Dp8u9`zIdll;2Wg_vGUtU z$IcgrcpB+=<*4aUy>FC`WN8RLYC6pkt@!{1NFnZ`Aatr`uaA7PosQZ zFlu_#({7xeFprti6uyr(xH`0_ZJYeNna{T98}rn~p5Bq^8g5r1Ks+xu?L2CF)WeQU z&y;c7Cu(nt7l;0L^!tSJ8NSc>QSYxt!lrcxZ{8hjuo<>4JwUb{_0}e$y)+vUzz+u(SD1 z=RVY9*F!$$H@)2A)3`B%hBdh67MmBx{xG{99PN94=UBL~F4>ZBN^#@+eY2-g8 zUyoFdviFhYIQV#dcXBO}w@ z-na4HNji_buCL|~PW{+u_Mq!A{zg3hK1lqY)mZTitq9}G9@i;0=5;GVzY^bTxL|6F z$z^}4m%+8+`noGkyvcgZrZ?s@=0C@u4SU>-@2<(NhVQe5_S6!}ZQXM$S;@_m8_T7K z<9lQ=p9@$9UHOVeedN)2!u#h@zWci6?djyrYfm?M`7j-~{<`$&`s-2K zQ!(@p8^8ZOqCGuM^MQ@p({6h;>hDptr!nj(+H34T8~yH>^8jy8ZBNX&)@VZ9Fz1>C|pQbhH!`hQ71^3h+pSH7fZyle0F<$i*=RaG#AGCFRQt`1r_js+J zKGvv@Jn=q##;4Vm?lIfbO)4$+yJ&sS%<*ZcQGZ*Xz4w?#`D}! z_xDye>LZW-(`S4N-@hEQJw4;cr%I##wvJDaVLxJwer2QfH0t{iM>gui+SAi!eA?U6 zJ!X4)#*a@A+Yd#yj!z5*xJ^Ch`Pc66eWOtydD8Rr8J|9D=^nE^J>$oxw>0W+>-h8- z+SB7UK9w5vVeRQ@Gd{g+^V-uhetddiqy8RMdm6)zw(jq3>Hgl|cvCk#U$^$8O2KVv z+2a&@A$jQm$OTv?@Dgz@8DxR z3&>BNbS!m$eiJ}Jj!)kGXT;3U!tea!cY5^uc>9j!8eQf6XP%~P>id<0YePEqdu{zL zeBGr%Kc+Xvx4FODFRl28{jT@P|BmI4EgkXul^gxPIsX5Y={r|-!mJ!*8g9cYg0n;eS&L`a({;V)7{Uzznl9zy5H=6 z;{IQ$NyYPk`}e!Q-u-*rzuW!0+^@U;Dfe%2f35qg+`rEKmF{2Ve$D-5?)SRC(EV2T z&vE}u_fK*^b^j>$XShGz{k;3Txxb_P&F&}e|5e#n{@uUd{q^qOMEn(NGtqMrP{6yAQd9PD8{=RUWyiDvAI9?WV>L z{SHC#)8rc8by2+WJ4FxJcZ2S?`##d|?DgVN3|I8;!IY-%h&0G2;p^*fd5+S=&@M|8 z{JU4H5#m%X`knDQee?-;1;N!149BNb@?C+|p*@wRhVOl3`^iVj&)}Mn50#7ZwW<8* z`#dU-4f9jC{FkPx7Z2lxzBd)?ZBy}N(-F%>_kB#?n_3&vANS23>Au%KM89qT`S zA4>hW^rBpPa`Ajq|g=O_R;1mCM&LQ0bWP@njT?-a!u;5@{Q9(m&`^bm(F+zhV{Z3 zDn5kje1kACV&pl@H@XdUGV&b5OmrLQs7KK1fcuY=mG8mfX-?F-l&+LR{hPXt8izht z$)~bx?l2qQ^!ejPKS@tTVjN&D^b*jBJSYx#IrW$BHb`F*nw~D@^jWg9fV4_q!?SNW z*_bX)IfgiJ%^KA&HcXnQ;9n7#-XZ9P(e7aG zkg<=P>h2q+k~HV>zvbM5|AWBM4(*JzkIO>}7e>s)>Rk6tIh5Y#bJRGp>HROxag+As zPd1HvbN&Zip{VxZ&tEyXKF%Tl_SKbPw?P@24%fzQB26(JDc6;b7jV?v*Zu1p<3d6v zO@{++UR*JMiZjObERSpdOk7}2W6#dvTJu5hbKo4eS&5(L2wyo%67A-T)8We5Ag_0E z&0TJ0q!IN>Ihe!WsE$UK#{p>8IFtvq(>liiqyabS5dH+T^W5QhGlQV{2>9P%5;sm6 znGGLlYDsc3to)`NXTWL?b*8yz!OAmjA-MpS?Z~w|=j}`pj-Bqq(5-PO-2}IEFA|XM zqxcih&U44$4Fo~+zrkSzmNXv=ho^dtHfjN~Z8659`()cCjw9uW>8Qc)@^nNQ zBDvg&!Pnmn(xJZb7Q$?*3`W{c*8Wc*T%DtFAL0oABV;n^B;+9(0QY{WdG=?6d#m63 z>WF)v;=0NoX|nvuPP5}lwA<{xzZY&eN#jcP-s14;4CL`1IqF7bI9lCohXQWW%lM-(J9ECNverGfB)`)<-m^SjJh`04E;;VCgH&eo zXFk4mRgi6eHheI(Fu5tYyuMG890Q+=OzuRu1;5U5hVy#(74R$Y6+sc!m%~$7-#nCl zE8OK=gZp9Kdlftcx59P!O4mub_-6P#Ch0g?X2|I;X`2EOGa=U{1z~U&w{UoYw!ZNQ#yJ2CU~Xf@Wt@k;Z^Vo=k>5Y z*ZB_Q$(~8_R`>=ngUoy37BGcB?%WE07Pj()?}k-|b$C7eE`@zzlKdLJQDNb~z^maJ z+=St&erq(;UEmJ54)5c9H+%%FIM>6c!ta4KiED?IuN1DrH^X)Ka#-m}PD_$&;A5l% z-{gD}{Bc-uw!(M9il+wu#N`PM@((Ug;qenZU+`}5TJ#edZ^|=hNXYJD&l6A2!<~?>~n>Od9I&AK=f! zwU>waw|Eu&XVd3gG4KmqC%GU=D)1K(*WiBmOVWogbxtm%kAl@MQg}7Ii}c}}o$K%ios&Y6d<_1w z^x-=EA8^u&3`RAn6_ezBFbNExPa0BzZZ!i|z}To$GL)bFz$a z4W6QS;Mc)=N|F9M;~1PHY%BZ;cz4AQ-v(2iNge(Y%#fL+ucREDTj6iP&y_y>pYZeG zI{W~vu*s{)J3LJ~@DAH2$qyAL{Cv1Yd@;i){CsrQ!!LsEfBvnpj&c1IJ`e6hKfQ!; z1J0vghnK-EaB?aC;633KUI8D2_)Pd3m$$-e;2iQA{1LbXUIl-_xeoupb=JfG4O?AY zhF!xd=M-++m_S#d!sJfwksL;ftgEO6EB5 zK9a-N!H0-n&D;S#6i%+fZsEh>+FJTL_z1WT-v;X`Rr+4)3x1Jw;P1dWg4W@mIIo9) z4_kWPNBf%;bW(UKtTkp0-WxU>qks={uEQ^NeP#4K=R912mERPu!c(|!4ZhsD4!;Gy z5V;iBIOpM8VWlU9?}S?v7G4h@OPqE1ckqj072Y4=m*`$_(`0gO5|#eaRPm0-W*)@DkX(a zpHPS21D~j{`!yvWflpFc_|ve~>^1l+Q6K&e{A|>d{hN}Xz-D{!uUuZ+zp3c~=SyHc zAD8~6`!~IK5{n?^tB(Heu+o#huqk-~e2VS`ALU$!XSu#MAI^kNmkxXutUZL}z^0@K zp9!aM7d%fo2Q}H6Wt^{xwFWU;B1k_vR*&!{u={{`kYw(!>6b1|5Xr{6`+ zu$$E2aXSaD!_R`v)+SI+a8+RmHw`8ptMC1y4wq)YvcZ(&7?>p5KF;wOo%!%0*SXNS z#<{zk%Dn@5j9)g<K+CDX9F1OGDFLyCFdJTHd zBCRQct6{4H_}$Kuf6%!Ge+E`Q>l}ADuZO=4TX}J(A34jm?st~m`~hx3S9bFtye;>g z!TCgPs=UbU0xO;x$8(+Q@cyvECWMu3$-eXO;mE}^;A3H?FV;un$>o^xB*!7&jZyOf zSaqXvmYa*5f0maEoE3k?IfbjvHF(gu4qpzN{ZWREb^^zJk{bLvbXtgiRW50IoAYY; z-Oe|{pLAXWYhOb8?}l%8`Fr4RJKqHV$oXdYzn#~@e|LT_{46?ZrfAmoc8;vL;fp1o zz_19{U{%85@MT~M9|L3N<5JF#hndouI|&{Xk@xxVa!}=SAjzt;qlCdG#0$obx%ir9h~|(Uhdiq zzs;HZGW!lrVb3BQ`MO+r`zS|CxU}5`$i*zDwprjjiR^VdGxbvz>7Tvc7PlTmY zho9%HRPXINDSU9$hmUiv!xuU$b3;)dz9#C!?~VHK$D=;>`NgOY{~+qa_eXvB!KjZ7 zZ;!!R8-e$AuE9q;*Wpu~)kj|dQv_yj3*mQ?$BfI}K75i}HOv!N!`mo`dv}rCUHI6ILp;&D$`X=}$WO7%-*3X1fMQ3wq?dfPdkb4U{V#b!_ z24_q?FC97j z@v^sjk$uJ_j4AMEo!!fQItC!fXPlMhJPN--|29{Az~fFi|Fd%|+_byf66`LgFNjP; zj%!}WpBhMI4Aq`nH;3k4xQt2Zy+*vIidEc zWnU`))o|>eT;fpdly7o2waVOhT z`eZ*BMj`&!GyIJVliqPkb3bv$enWe{vEPuYbQI?hI_(nRRyeCasgp!EP0 z*JI%CB1<`rgOxtAn9PO0hc9;?tguo3{UA;%$QQvWhx8Se;v+I6Dm z5=#G3@Bm@2#g|(S{}8{X16CQ;h*)yMS{qvdYfdS*5|%Bd9M{A5;o)@?dPj*gn%%hxBcpv8)d1^%4#&s~pfTiq$_f4S@q*ZBqKU&(~M*ZEhOu(C;o zjW+L>a<8I%BEK!eugvh(8UBzn-gvczUvaN^xv_T}V+>|)?{!j48|(x>o#=mk^pyy>#KgX7MqySN0fWk@Oke0F>}b( z_qoe`AtSG6_y-xjBg5JkjbZhR`fqyrKa6}mtZ`2L?H}RT7XId(B7fMq29JM!(5b`Q zIV+=6ol|&E=NfzzjBB0>%i)cy;cK0+tIIf*+rWNg+sAuYy$AVnSYc&b+3{EbaXI$G zqRag-!}n(RN5gFQI))I6PlvnQkB4<~|C!-W!j+JoxDOsvpJNX#x?ILyH^`4pdI(P! zX!bV<^LWObY%b1=)vm;?95r-!B$L$OE8&CTI_xgTeqFKxIb!QCBt#3gm z)~hb^xTWF9dm}85Sj@c*eU(j~<3{J{cEujC*gK#)Rs1SDy|1P;N9XT`+9~-Sr@XKA zcqIIUv)aJz&Z=)Y#mSL;6?wZ!!XF;tG#uA$es^~!&hKa9ybngbkuUA(MyL37-}}+Y zmWjW!YHEsKIuD=|^QGsT;ylM+kSky63*tTpn2bZA1wYTBeaPGKQ;ufj(${-o)8NCJ z5aRZP)xV^9-kEhi2|gOOG@!4w^%`{K=DCjDAc%59D3*|0{K&fCBRzigYk6cTM;~%= zD~G$>>j7+*j$G4u2TFT|%7J zg_a&z`_IR7zd9V(qY3BkaW&=H2kAexDz}r#asjbS&(D!?GQ@Kf^8fd7apwPzE~1S$V&dI8-ph$w_kW z=Vbf*a5+tbUyqL5e)%MM8DUa5&ckc)!FlHN$g|~iAMqT59M96vReO(HzVx&03>`~< ze7-83S?G`jOZps`_0{E{;`}W5Y~2fYK|a)59d3m?@Rf#=^Nw(ba~|$?R@+|!n?1s> zbgsdd!?)nqIo{~Fh+N|+TV6W(vB~;v$Oik-JJ8Gi!mMSeVq2uq<;V< z^nBMjkm}jf`C#NPaGrtw3!M)`ez5c5@J#0;;6t5{gb#Nd_Ju9TZ7B6r3ZeMvl8`ISaZn~UIVKxQu3!~*(!%R{2}By zFx$yZ4yDQIN;6bGg{-KAh!9Rm#|5^n751a#2 z_(6C%`kEUidnL)gD=cHlwr~rg8a&l`6}*>o9X=GcICm!utlw;;@TrkWZ!4_*g!Flg zld$5f!^`0d;q~y9@TG*+!-%Wl%V537eG_c)GxpyKtE^J^cKC8wb2U9@QT%oIE6A^u z4mNUdKG;AF{yK827x;(ptIBA4evb`GotQTO@$m{SV*zBr>cM0HkAx~kg zcUHkQcu(Z3;W~UE{9(!I6yo~54j+Qt+TebSx6U>Ac$j1{LDU~}xpz}Jry*yJaOF5e z7s7w%x2*m6`mOQn@&Adx2LB=a&*0-d{7rnhU*nU6q-k$EZ9ZQoI6NB%wnKh_%XV;` z3pb$?$E7Lgyo4fONgPURo0Qp$ zP18-zMfeuyHu%%dCHOAqcK8R*W%xd4`o^Z;J1>C$;k?j)LQCAXXZEapgUzhsT#ozL z_%G%@)*0=Dj@b{k{{rV4e7J|L!+HksTGZFWC%R6u4f_+WlfoTv8J$*msdF!Ux$D$m zIr5aOg0DfY`_|zboRe|9SLU3;a@^A9Ss#o#$Ud9ls3Y||k>@4AeJ{g0=eou7%S_n+ z$?$_2oIacgJ|)8~89pe(3a|7lZAT!_OW=UgKPcKjfTD;Qegp6qehTki7vDY_s7m%J8BLcV@UN!`&I~&#>~Y z_|*s6SOKf<#3{!&oonzt&UN@#u#IoT^+)Fveh5~X)ZodC5#m+wF3xp$0p%$9diZ(B zEBF%Z<6MVl!W5sanX_q|gS-Xxl;dPr@w9Tpd(~h$l-^M+c$2hw(aSk}A86AosS&qC%`NCZc_ri7f)o{$$^{|y8@*AB~So=H2 z;MX`bW{I!jxEY<8hL6FEJ$~&AR^b$#Pa_9ytdzXZb+{y#i($k{lN=^!<@`m$>Rxi+ zbZ&<4h1>B}CO?CtZT!l)hFp%c*?zWoN#?#wGaS?ZI}a<}zrkudsZMZFXFT(YSa&-+ zr>0?la=fD!UG66M`C%T?JVabGV8x@Up`J5N@HC{zRi|kTiP{HIoP!**9G6F~y_i=Lyd!Msfu9Y(6*;*{ zp6^_Pr@M|C%~8%Ntoez;*5Kn@UWZSN`V&}_MSZx{xd!({eOQjW_M>)x7o}2AmTsB`A}^ANSO3n|3Ay+Br}-<%idF+1ebdo z=cgcNNjq*Wvbk{V&(C&Fk)P*WgD-Th!);NYc*;>9UKsV^&ZrOfMtu@kjr#DCs1FZD zefZy_J{5Rz)Q2yP`tTJ|A6A>P^ke68*K^Ml)_5(s?Eiv%;JWL)10A&mIn>OSUQe9u zL6oe7)h^_&f!{8DXY|bmr0+UAzQdWZCigC9nyZD1@vlK1ZIAnk%a1}w`(Bd22>zDKkB0AY{x|fwESI~U zx^S0UpW&6T*57PHkGls2jWsuV`ZadH2TqYU${$`&{5BVb?}tqvy+6WhrO)vY{673T z@i!kB5(b5=bz#vbbN0OXy-t$yrC`2EC_&@ZL1r3XIA!>aF^2jiO8NH4hD zyPb)8hbT0=;w1WtOYWvjxYZfH8Ey-4TRC>aWWnCAc@_L#*L|&XN?dP+e~4e>aF=^) zro2@?H==`U{y^qlA9N;u`<{UmV)|lwKZMT535$-sUvo!@C;1(|g6~R4GJLBf_siiE zf`t7aWyCTg0qVa%=eQ8g`WwB|?sjVX6XKLZzhmX!xRYS*A)b#fcQs)@&dpQ!diWD? z4c7YblN@z;HS#NACGr#St@yH$&%vL$4F6Jk!R6kZ zk$*MAUxWXTIB8?!Zb5$>o5`Q`aPeJ-I&m~3Z^2jEroxJ%72Xg2JigL-AbbygokBbu zws{nGdK~;in*ZC##FLGYz_!InP$vG7EyZ9-G>P`2oaj5LShp%*LZvB0HWhO_b zdIOlkn%n#Uc@37s8_#%e?n~0gMSBTnHtbm0KZ|%Q4P4j-Run16p3beX+KuEjj(uIe z3U-&f)9=Cg#Jga{NwV!dhXdfR`1Ql#SU*R5JT(I8-IA}NvkIPt{OfQX)_bnsQCN=C zV_0~;v&zR^?yJK*QF%Wf9b9vVdG;sw4RjPguK7P)ACqp>b1VntRZeM@`=;yOJ$#Sc zL*bJC=Dvlz-Q)c>yvVsXqjN=!6#Z*5EcvmrU|0F`i_G<(!s}+zhPclITx;}2u-eY)6*mU+4dT@JqW)0NB5d5D(CN1np>!@pMi@ZaDT>BHL`5_mnlGi+taT4i^5 zB|3T7U2ck(pUO!#y(c>AU*z_K7vZNIM>^MFce$?+_JxO8+Uy<58F1_~kA#0i+VUvB z82&As!pFn^1J~fwVA+42<2?BH$PxCKn%i=12GrSOlC*Wg#d58&51J`Uro&o|<(zf)Yn zO}xa@z-jKX3}2ez4>;qQ&3=wJ|JUQV1ODT1e2R6V&hs4T+dSm!=={lb?uMnzdb)ZfdI?eTg1|3xRZr-$I8F5)H}j?H-*wu2vZ zo&sZD*5>wt_@M*B>u@0XNr0)Ecb)stiS{NrVymzFkw?3W@5|+-5L|9s56|huW1|#S`hFME zGk!Yqf5H=8cifTT-L+wLm40|fTE!}TcP3XoNKO$(mun2vMEmcxiCLTmN8z%rVV*2}| zBRi2h1djE5JbY~sCnv*s(%(uZ&dBJW1KT)-UI~tNu71Y)67=PEQyMt>(0LAiontv{ z=_DanIGb(5icZu~ zPiGU?Qz`rq^5=4|nvZeMQ##@CM}@I6Wzx7CoL4;X{;<+thYy3bE=!qI{~JtD`_|D( z&a0500o%9?U*K|WWL)H&hnK^aX81Da8hkCRG}qx(Fxeibbi5Zr z?|^qzUSM~*cjzKcHn1E1H_*ArB#hy3toNV5MVGsmyVJvRp0jcc7jk#G9MA0Pe!|}F zf&P?X?R{$PQR7;6%^TNudF0W~Q&{f#L|Vhw_u2Ad@*LL~HO~L^k}&_N!*MMkTY4Dz zp2$>SaJXy)t(-5{!{^VZZ_xXOxo{X5jO70|rM4i1|=NBo@*TfvZfo+U{ z|Lm+XnJ~-8I8wc&NcXL&UN_4s6T~0_^1!x z67}KFMSb|oQGY7mjf?v5Jy9QC4(Sy z-g>yxIho142tFRA6n-77x~{|5!#|~*lSAka;W>)vQ2ImI?gf9*xdwj+wy^Ne;1i^O z7{6VDPZS@{fg{RsDgFb?R41eQ7O3J$@J~lB&cpMZQ}{yXR@hzcHN?}6oMCv} zbcE{Xt!={bw|S}L&t;s(uW`iR>8*m}Z}aM~yW9%mjI4AF5kIb3W#Wz$hdNhM7;=&; z(Sa=uF~8DLdb;sbj<`o&gWrPwVY(0H<1V)%lK0z(a$WK3aF=^6vUd^|*L;-1<0hf9 z694_kcQFYz3BLhOIX(j`?KO_C!|EsN@ICO06bDCqK9Isnzxu`+{9|-vV>NR8Q}}3P zs;}R|vEP0eZbv6Sj{DD{FH;=w-mv5;JQG$L&xGCOZb2{dF~dCZBk(Nram~lVbDa02 ztX}H;64ys$Hhebne|Ti>`;XyHTfW`2sN+@%>e)u#oomc$6sOHA6M1BTxz0>?<&UG)%6D~zwhc!2NBdnlx z_*(c(o$Nq4z%Nr+_}%baxCXB#9%VF&E?7D@LTpT zOCOHkR@EFMep^*@j4z^Z_5**-xemu~tLg#BHcV)xqxr^nqCWiNs1N_bS@VtGIcvW0 z=co@q6!qb4PYZD>LzA3Sxba<0cq(#+fBQzyba=kX2f=~x+2U!;wWza~s|@M$4n;0| zsKLj==OC}cFNM|rBzfu=Ua2@y?1$C9&x9{^ZiTObKcslzx5GAPgFgUUKei_qgUfxL zcyB|FXYE?QyHOp<-GyA7>LfUzBvzryFkHTYrp0=N!qpZ-Ev zX&84#lC;7~!$i0!efZh1>_nBePh<+<(8%MNC&Ffj6RGc1+$ z@W){5qb4KRi}x|epZbtbAy+?NgYR%wAMy?Or^wY;{1DdIt$yI=&gut#4{Lr{gCB%- zuT`)<;BYithbO_E3QOhh1}n}Qthxj3H?imMIXq5D6_L!q z?uJ{q7u7Rv261HPa&gX~ZkSW#@NwIBN*3G( z`B$L1L1$7oIuvnqxy8d_CicO4?u2Wux|}96PGik^gjc^McLB`MlcXHlClj}Fw7a|p zcRR0wmpa$s`2O5_Sl`@GSS9G+T_+D;0e2%#Vg1&kU+IE1zpy@oiqx~c0~MD3=5^>R zZEAn+EdR%FqWY&ulWWkyP3k2sqDtP*IsRk`2aw5O-^nWE6eplT>r6-@Tmk z_$TqytT}27`<{$k&u63jy&3tZGJJc6zmwtn zGW_cd|2e}CWmtQ>@m|}8O0_!LIm6R3JUzn)XZXkrpOE2iwG799Mn>L|VSPV5ra|8W zkKC8h(YK?cT;FPr{Hl!3iVW-9F;VBbjQr*dYyBH_KAMrQ%dpmxQRm)_T;F4l^7}LL zKVwEh#?4=p`8#4U%41XZQcVzgU4BwyO+w#NlKbVmxmG1te zP?$A$?yPeQXPtcBoWi_w&zw^zB*o5hUw_g+*jrAzipvV+?*6_?xtc604;HGG<>h2a zv2&mtu(#6PUFlwsEE;Gl7yG(;`U)1f(7&*+r@z0moRqrS3&p+#)dHcD{sonG?%JLV z9B~+T*585dYGpxpxjo<6)4jm{B&eTV?37oX)z?=XOiBxjeY$(NarRz{xZ2;-S55{F zJw!3`w-KYV*SLM#Ku5w+E%eLlDEC$6n<&V8I$U9q&ULrmV*kRV+B48sDw{|tDp(wg zEOFB5(Vvh4t|mPL{pCK(YHy{z&|OWsy8GoRFABOS88}MGJZd$&_bfdn(~$Ifi7a3aZHklD8anT z#r8sl>{6Z8{$hVQsTP-%+avcEOVo9>xS*VLbQTv>livQmB6if%T`2VqBuk5n%GRz1 z4JokBN^dp8h4yl(I9R|8I*Zl*g7nKtU%8|-4^+8NBNhR%_AO3&`zk%yVzIwMWsAFe z`nrmpf&2Q+@2m7YQ=#2tz{Dq}GeT!69))j>4;u(Dack1db^pzJoTG}b8zH+&% zmuAz`U+Jh=L$$IaspPSzvr-zgZmHPW*|Ss$F7_5n%2s!uN~KBql8fD|m zpo@A>x+)9$EF%RBv|ZiUu%x|GEw*)*+cTn2k$t5B(oE%d_LLSCy35sm1#CzMx=mi~ zEte{EVv?&Ey|Q)MCI!-Mr7MBTuUhC{QmQUB{cygpr?Z`Qosm@9mu+xH%OWoskq0Ss zR;t->R)->G&z4-u5ybEyIbOUDVT7>PJYu_i)wB)$B5KO;|cT%%W(kba8!^ zHacDU^&V=Z*zQ+CMN)misFkk5!k&IV?JIZDr&+6N7%dH?i-?v5YiS?o>Qx@;n+obC zml#!gmKG}%EtRfTL6Xgm(CO?OD0CDDI{RsKg_1RfLc^Gnj=rAdbb;7mp{v~0UhZU2 zBM?l%bavWJ)B|_4Gw4+5r>*$tRNA>$Z%-dksPycl}ui4R@$AwcHi_g>R~Q3(60W3rdM7@ zl6w{~M9Q$r)hc6xQHh)r*Qh%Y3@}zmsq$A{P zNmu4X6}zmLfrZxJ7^|`;HqdF5(p0QW;;?$g8%EKdz9jT54A2WgHcFkCF6P*!KRs;& zOcpGAs(~Wu$cQL0ngRV@$bUR5$#jzr^?lR^RU5j&Ag}=HjXN+nCQYj1aB5S=0`tG# z?0E=l`avPwOW{#1SUVt3K8#m1IVmqm@RydcTY90saz_|2t(#}^RV-jd-Bu>UXWXFD z)1HhJ&<89FLd8>NipMZZ!I+*83FJeamJQ0}4m-8VGy^xi-cBZJnu2>R4|D}1?W2XN z?=U5s*%*b1kD(0!bbUQ^>V>Q%!!qqKteLPEYr;}&BBEYJbDXZOLWxB8ceY``r9>S+ zQ|jId%P~u3M_+LPXG>0=`0eNa}ID9e3?DrLfCr<$~vEtB-#8;CWXR>3MYOne)s^vkTFhA(u4W~9)e z>|IdpETgH?4GKNXNhxnTqt`1iPwQRi`3M@r)`&UL7|3oYO9d?~#F!d$5M57t+AiX6 zoPDZKVt%gTq~oH`rfStgFn`XT6^ct(ZLw&=c>8QJXR|HMC+Uo+x=rFV&4T*@2~TT*O=f>boEVg*2Vq@WeLYYmTZNYf(fj^U-POz%l@ zyGx8kh!(OQU}-Y5oj#A*pao3&mV~)eX!s0$1Kmqm?1z3gOcEMng0&wa>>r>jV`|!1 zv}+rHJA@)(vEIP2oYOf&P?+PeyqC!`FDWpiA?a0Yh3wg+qtkkxYF{a7XEtnS;X=2D zEoN)BEGxP{F!Knl%lX?#Np&F;FP|{VKBx?vU}BdcBId2_Om@O-VoB^CG_|Oz#o8hz zP?$qmvci1Snybws7#?FZB|2{mCBbXBIY+Hd3&JoFz-N%1%ODw2j7G zR83fIvcy&hYsRj@!s3LaciV*CJ7HP9vKl*O7gyK;aO`UfMNlX}VdjXzbTU41-e)~I z&{^)FTnu$!u*fQ2EsUC z4S{t)&{jN+9O=Zg8$ibsR{{N6m8o7;rDiU=rxsmHHD77(S)kU)2qCf83kwj_Y*Rny zmDw5NVFeV;0Blq&>;o3mwp7dR_A>ik;m(#%M6qvb*Y&|lxw9Pu0lT$lpq3t%s7PY( z2!`c*STE4UD`LjI2GGxRg;-3k)Y*1jRAd^)8iz9_LQ^JRw}n&e!{hJOB-?sRO(M$4 zLdF;cFq1A+dpejr^j7Fgm`8N8^wW&2h@M(FD<@2?%qoW|CYtiuV_|?(6!g99C0aZ& zibc9W)AyUGi?Vib(%g9`pEhT1;q)`+&N*w|thw`&D2eC81!4*ANct9g`;HqJwm5eK z3q1fkm=v#VZ-nZkduY^Wbuqoi;!xuPRwhBBaaw{92TPRFqCs0@YYnauOPyM^+^LPT zuvxRHBdk#HRgl%Br&oKIDxZe6S}`=vit69A%(SHiXYK9P-h%GR?7+C(9aA7_SPyA1 z(guiTiY$tHmMAqWK)Y=6z&?Z4-)#3-MAkS>qBU1iwM|t0^&VDjl$r=UZ7A6DR0n3hX^qK?2O5FSBb#lRJsEmMm|v$S=B>jjQ_;Vd>^>wfK$O}<1M^rEDo z)8<$mMb>9*tj4V*rt}@kqtrLP7Tez@FKT~67qo+#jZs3ag$CFm9L7R*kOI$~`y?_e zvbknf5H>!tlHt_)Ej;~&Vt>E3;WoG>n-f*Gb+X~D12HqTbnDc5=7q!ken+K`K9>fe z6*?y5l(bcdT^nF=v#gE(VzRqT-WO}jx|dlTm285pwxl=IIVDIRrwtV9MAaJ4XvV{5 zHl;82X&<38OyjMeVV08(r0rGpHM&0oQa^)gxg@XKe6E16|yL-&|v}xIy4A^8$=~2GRJYOOHAU%YQ5cULVEACTB1$Geny33vH z$J!-CF{uT6GBa-;9pUM768W>{oy?1?(D7%ScIK>ktOomgwfkTzK=D9FJ4LHMJS4Er zUZWf%N*HCeZIiiWI1M!za%@Al5|Z>4mr`Gqu*=ExEOTlnrevj&(OMjt5n6kn?lrbu zc}~%(nRlpS>jtcJqKL$Wc{#Hx>*c)TJX-@o;pEe29d8BTr?XF;lLS2L+_RkKpEYN$ z{GaUmwsObI(#9(}e!c%CCoU$GSY5YV>GjWc{R-e8EgP(VmMQ zr&Vq9MN}4*MI9#WsM>X{B+Ay-*wkP$zL2$ZzwK@6oQX+Sg{F?}aaQKZSSSmfwaH8c z#jduB7Q`3PNwcwK8&SUB(>Q0o$>PAC^VxOZ6^!a^^J`~J>V@I}6HqOp!l1yia=>c7 z>YI(WtFnmPQ19Vyqcw1P=pl#~ku|*Vw{exzaMha*N!NxfJwu7nnC&+jxRxdD-hP9K zt+?t!*4$RuY@cc01%u;38%NwD^NY(hF=^aSPeZfk13q4MX^ds#P7ecvO^1`l@<*8; z-WLn=1SZcsgH(}svNk8tjeWD&dXy?}dP$!dO4uR`-IDhgq*>*Mu5A{ur^ObOhD+uF z^tO7Gy43z^dyWS`{N=HOHkjH5*+);7VjX2?HeO2QPK|F_sk#L3${P(drb|imcHHPD zC|#|jw6_tu$bo7f`)T2!V^X10vP-sXvsnpppE_N@#VyzS_ z%u?Abp!7P}WThKn?nA%Fu7mEU*coqZLq)zCj7_I}lf^e$!YX#4TTA^m+pAO;#-lqe zZe_a6ZQHGAtl?Py#{SI4!7Pei3d}YmY>$A+7wa)wa@*7Ma#(8xyRfYpw-L>yY;z+l zYc*DdIdT|cXn^cng@tVBZI;+fk~v;?MO%aIMPbs}&l(;-oZ1!FkOkP*Oqh1MqG|Y2 zJ(!F(HCS2eFqT4`=9)m8yo4K#f`#b4O?U_BB$rux*-@&51oyRH*-0!GbPr4v@ zzOUNG)Mg3$Qv+6ok*yJV+R2L*4q~E1WR1^XUBX zydHGM9x{Uq%8VW1acpnbK*G^@e!>)v0m#S7@RTK3UD%=2=tU}I(JaPn)6zt7lG=}% zu=pjGzC;E`mt_V_&zn89zQZmoTxz%17FFD~;oS{;*fSh^yx~R{;%&o)Fhm9pqhL4f zH;j~CbX{t#LC-Mct*=evZ74%~+^Xh`5r|`FuCaA7{e?}TT^OGR##8NuQO~yMR#$8d zKc3rME}p0ditLJotSqdXJtiCfVUbN46YUao&>6DW?q*ib=rTe;LkiDu7`icRZ7zm&a6c0P zyMgb{vQo9xWKv}!!$ibtIaCUJJz+Y^Jc5Tg3gz~8=A5}F6y}^g=k$367VGoo6lTwv zH9OfzI(N?5XS{UICN9i5=j3@CtIwG`_l&t4i_bXWgpGxbdErJk_4y)0XtC3#_(jb~ z>3hi9a6ZiNDI>jd6N)xu)eN51PM4PC@ihUTSMgY?TMOLsvJzv5)=EY!6KuW{Pr_K; zxVCUf18qGebLOEjdkh|}l_~Re8DW8`ftIH>zB5h4aJq^-5@(KHs_=xl(#sPBT1I&0 zXePn1rzcH~n=I5!G^S;N=4FjDE$SIxSxt>d9 zGYUpG`eqi*JP_r9pmvfMRR_D;*h!G>1&fn$vozreuRrNZ^pvsC%X?OADX1%97>b4B zd&*kW@~%NF7A8O%FZ8HF)32BxKljMlxb%(h!c1--Dz=R#r~WdOnXR&%`^vn(W%+gi zT_YPGS&6BzVC}O8I$SLtKnqU`#O$$gYxY^lZ;a9&y3(Gk;)2~BsC$>O%vFrN#O=o2%2}gngt13J}C`)A;lV~m|o_5Bm;G)n)$i)S82> zR#l7)OUio)e^yB9J05i%#^H4P%L$sSp^ z{Lc(IbL$CS*q#q>1a$FCw8Ept@CsXJ4;v%4{tUabx+z`b2#L)J5(c{Pb_5^=jkD%k zH7g@=a0>}$TBA1_qA>Kg8;wlf54)LXdotg&4bOj7(>C+qWfC9qHOUWyKmFiv<7c0O zn)DVJArzKkFX%Z@|FUjXr#EyXDuX3bqpgRVVOZs2mpY=*N)`?>=_RAgxQR&<{h+6L zYUb2hi`ux}e2HB^$iL^)AFgx^&{Z!f_RTD`FO`2t!MsE9tWfn%KqJvQ>7mER>tvED zzuMgsCEBqubrvg8M^C1WeKW8TWSL3ZIzy0!8ufLJf>2{OtS;d(j@qwECn>g7tiUkp zAn2QUc+xlXFpfhx4#C8eHs*peXL8I)`d*au9hI=C;ax-8TD8LHne=D|AsJJQ>N2%z zw#%!m;*zBu>{CNgD(#BCED~qoY1*^7> zFO2f`qO8uD8u7|3JGlX9&-P{lySKyWbw1F>izi{u!@j*m*2POyT88pqopjhpllY9u zBJYo9R#?MxscnWvpG`{WaNwR_H~Cv2YPnRD1B8xiO1lh4{zq^24d zf3}{QarDeXkK(Oa?H+bld1qFy^d8T%n!;RWe$zDzJ|OQeD;?lk+UySRfAPv0ui*~R z?=zdN^p@m>m^RR%j_rkNTd1Jo{)RgK{vDTR9DNums&wS1w}i;{3z5bt2%SE?Wtbf? z0hIM%=N)=EGdzGT@$ND^8tiJYPr~Zf*E4hgGy@B1i(?jwSS9NPqSCURr97)jw%xQF z$UO?|f5@|uM_>=3mxZPBvSO%h{Ls4r*3U2K(Eb&-Wu32ypVFa+Xl0BWqq8gW!)lDz zf4JGOwo3=P)qrUjwktP$S+A>Cw3S1i;vI%5SUvL_J>+1BV=7S6#LfCR?M#FQ#w%NK zbz#Hd%rJ2B627*;NPH)=2fW6PnV+*Ud;Gjp3-ipf>{kb~=bSKW{;Bhljju3!KW*0O ztRqf6w=n0lGv}SldWV6(OM4tpn5JP}+G$mvr8l;@A(vQ$N<*7}T6WR<+hX6?+Y?56 zxYnTw-d)BZ~LfJUq1zPo1oVnMm^pw`=-7!@tF#A&mNK2uwuPZ}l7coDggHp#r~l z$yeI_4%y!zC^`CNjDCj@esr)LElXSYwMl+|d*67p#OZe>+o#7vVTwL}TTkU~AE1jCR>B~&13`_6RrObyd7sqUIl z2_#6MS!x&Ul8bx2wF?VLY&%@R;&4XL5w3M?*y-4gaDCuI+O&fTn-6Kby;Lk4-rR6U zxa=Uje*Wh?Pxo{GGZO3Yjp(lXyC+{xX8!NJC-a`nd_jI@h{MDWH1Xwg&+Dg~9A?15 zR2e_~>hXf?+{qz2`Bc*$PcNMPiX6YWBFA&j%JGKy>cn(uA*bneKB^APo=c7b7!8<5Zgd(&&?4=H-9+ zg>$J1CSvskFwt1ny)@Bj3JcoyCpi}i~mONoq$j$k;=Mf$0uXGCn(;3#(iz)v3vaHx}hylMMY|1{)rSK&F27v)(%SxvT*|OpLP@*8msL|NM{P0(I zM5PjP2w8skz&;I*p1kxNmQId~=m$e+t4Xh1`Em)XDSRG>7xBTR3y!CuH15}h5;>*f z-pla>v9NgY^Be~|&?b`A5(W;jaxZM0e>E&E3PXJHBzBw$BZRY;;xjaf?++ufkrr~8 zvGlP*bWycf758<4uLqR4m*g8n&aH@FC^6>Ju);7hRM_TtF1s}G&)HWly(D{$L3-3X z7U_?x;ZPL@l~0X0nX6mURpkCA#=c-&p%%a}txZr!5{Rea zot2h^3?QwFc$QkIMHojXkFN}SpZ@UuX@!c)%wIFtFfq(BE`?4dHh1Oa^gS|>$K*Zz zA)P|1Z}e|Iq5Dz2H?gqP-+T<3wR|4Q;!0!aeEh;)TqGS>s&qPhMoERjoAx!6zrX$w zcBu;*8S!&1P2=&X^a(k|FOGgn-sI``rBAxmsKb0b&0>21+xq=DBT&Ao&X!L+C0}k| zn8kq}OW&W)e)1FR=sWSFpMLh~GiRT9`q@vdt)@@N6uU&Hax8rqs@mCnLUu(D);r)0kOX8KL5Eem{q>Hh@_@4X3vp*Xu_1CqX7N-(M!8*g2BZ_37?S3;V zO<%n%O~4O^LTPPC7~UVAOC4e;V^JLMORrrIAuQnwO!hItcQ@AUXV*US>1RI`PT`gv zYs^@t9cuCw`QkjE&R$ACp2|1L3v!MV-Yc^1)AzqWMK-_i(wFc#ftG`RNj7yHUdm$_ zu}rhsz0T1R=Ev|RlF?<@52PP>EdAQo(#7(b4)8>pZD${QOzQ9vObhRW@Kc>Ey<~su z@`bpv++s<%b=T|6r$2+!f=@~idb zORu*8Huz&`{iE6ET76-UP`?H~7{4Xs33gJs#Wq$vYT^fxN@8l*9n>kv%8*EfU5nQn zSr5|0RThrn%2PShQ1)1#$9W9WG{bQVc|U~K%PaC+_7G+Aeq*QM_{M9hC&NA-i$b+< z_($I_i!}+u=?uRRCiSILmtsV*w&NB>5M{u)zCMZteBEiqRdP{w&*czJIG8N+mY<>G z+K@gQauO4cmc)ZAQgBhu^TP)~IQSBtT{!>Zb8_Cx{TH;a+-qL&1ICSp1Gwdj;V{wj zG6y+7S!Rq~1(^|k4w5~A7sJsSIp06@r@@@9uZJ8Njz@CB(Y;ueaESI|Xq>z%Cp(3X zHt6pu%}$wQXpy2x9Z$!KZQ5{XFr2SdhD{dB!gD#W^c5X8^kb2uJFyf^qWCO!=Czll z)w}sp__YY0@>S%ZL`>A zNcWe+Zh;(fiu+~ZeI#o|+VALt7@ow}!VUml3s2%}&&!XS_!lMr%aKt`DmXlo5oAKr zyDRLj;Tc|u$9?6n`>WCyDE76MzL%F?kUXH3B28`i%>-wqg{={v#*T3oEa^KI&q0?i zt4kBJQ+@>1pH{*zJ90wJ%U5wC;T1W^Bdr)Y_KaUp=O8 z$!>}Mm0bhWHvW!`qng`T0<0k{500Kn{pG|>88sZ^y0C%kBFKAD`uEB6cSw8>74%hNyZk; zx0oOXu*oep2=QtE+B(JwuE-QaE6BAdv`+sa6R`z-P0K14$ebm?vH2CIs^7v3-|2vC zp#N{zAW2id(zoyv3hEnAhrt2EOILA-F#Exe{eWcQTYNXh{jBgCOB^2GrGDDz|8cgI z?^>C~{Ug-k@GDJNDjXG!gN30`k=H+FnLhPY`r!|usruSEgi&oO7zC4$9vJeOA@8kO zI9mF6ij@`S=_eqSk++7_4@Xo_L6@%bOt9~Je;DYs!+h(dq&fQ4fu9y|Q1*3eC*6>B z>-d#|zRLHG<9^HdZAzoFWcne^6i1wSaG+Z*ssq3@FPjr&s(qXBYN3XIJ)k=~6hcORmfn|DLlKWM#%zq%DJ% zuZ$7?hI7V37jfy38V*cfk>0_HbXb#LbmO%zP(@TdO1^!yubL(xZlEh)L0bf8fTLw# zzsjZUfO!sog!YJ84H zrM{Ko6!1wFpCQ6nUty5sv!D2hI30Os-fyypPcqC8`?xRL(#fYc;+>q6V_os@IsJRV z{^DfFb7!UNn+z*w+F{AgUXD+;!oU)}bLWsh6w2SP$O@J9A%El~OZ<`3vbLpjg*^Le zd}gaiQg?54h0hQ@DM|YOqw_j0E+Fq)IS&Z zlvm|<>v%L8q4h0?_&hWTXScVt?tFiNQ*8W zpL*iS566*XWvz)XpW*Vpbgf=_2ZV1@%txDpPdtt85;nH4U(#gxynYwb0>MF6ANp+4Ooh_?_2HEB-)XJj=>UsyfvARj-tGK4hSWDh*- zL)uC1q0fFiA{Ez-ycgw7hW<{jS5DYPM^(a4U1%T5$BKNt;u{;gx!TDr%vkoZ_46;R z1$~ZjWK~L!b~z%1%bMWID0;=R(8n)!p2GH%BZ8p|y!@2|Khix9U615#igU;Hl1_5* z2z+jYkJ7M<9qW#hQ0x#(cv(JRa9IM(94G1G43QV)=YOkUJQKsTcp@8i=kJyHgEZ*v z`c00{#ICTiVZu=)ENEC?a?Vh=h*szYAUo-i)V?)bvQuzp!A2sci zL0K8PCgbO+t=0=KpAA=(lEV|Sa?l$$G^B8aE*vTd9oz2ZF!XP`r~ALU$;ndM)WgrD zScR8j4@cB0{Gb$rX&v0|O#&N1zt-^7K z9T;aWgcP~n#PRHy`0~A8zS{9O42u(!<-1mX-j4%W-~Mp)FbttVmuun6&3oe|a^*gD za;aSWTYFjVmoEQq%Kb=iee}6rKV6O{BJy*H0m(_KYBRXQ(u$vw|;yQ?jwZx{b%C0JTplSv>bj^e5n32@!QuY z;l9}z{(pzpr2bNl^?BmMa!ZO@?kgeB;V+0E-j!>^t1pV*yeIb@5M%u7D9;}X_a}t^ zK>YSI4~6?{z<(e$)I!(vtVp|Gkud$Hs|7CK=}U zuf=b>a3YaKT<}zG3W55(TW$*S9p#B+g)CJJht6*nAFKZq(`!#8Q+bbKdVe8)Q+FcVUmTXcQ^`}eWPNEl z{8n+{{HRzW5XMLOcZuifm&I@S7blWUa;5%;l)qUjyQBVH@#D8;d7R%TZk(SK?>T?F zxKsb7jQ?;i>tFrA$K_tNM<vMF*`o_&+v3w}U`p(t%{#hq)s_p$#tL^=>NAA?`mb~KqGms~8-FnR5^0e%X zJmEgQR*pQ)oROzhwdJW+TVD3bz1s3}L>|?amqf0OkNI0(W@^hzPA=7!mu+X{WycwL zY1NjOL$&2)BG=c){4Fn2XXIts8F@*ak(Zg;@{*BrwdJKyTVB?kk(W(pGQEno~bP_h1&A6Nv_nEmxg?xw!9oVBQJw9@^a*i zyiDF2>uY%_)RvEJa;>(!;GTF`UURFqyx`u*D7U;EsVy(b+hVynQ(InEoRODRXXK?+ zTV8h6mX`yy<)wE(! zbZW~>Pd-vxUM7#k`k7~H%gc&0@{&6vFRRYT%ck1$(yA>l1Nm5O`ItN!>tmj(EibA1 zEZT$Lkol`EA9Hf8w!G{*BQJZ-$V;!byo_qgOZtvjKg-L^8F|T^k(U)`IURKHL zYRk)}+VWC5BQKRR^3tg-FNfqKwdG~{opE_AFEetkwtURVJ8H|zt~2t|I3q86&dAGw z+VV18j`gv;tdI+}-+VZlew!C!YQEhoSc1B(%?~L_BIr5UJEidb8%gc`1 z@=`k^FT2jjOXG~Z?5Qm;ExA)$UV63V<%~Db<#jhPlgWB?P^@>4xEvfQEhpdq_KXMmrQMWS#d^Qa%bda z)fssy)RvcZ@}}DIvaPnfRL;mt?ToziYWsXSA|I70?5-WhpWJ{gzC@{*Br zwdJK$TV5*iuKL}wesKI{pM0dYyo}Ds%ds=^f*V*Pe;6KlN!6B@x!UrwLvGZTmzKP* zw!9puEia?m@-lgUtdDs`ZF$L^k(a_5dD&K5UK+LK79|6Luce=a7JE^)Rvc# zoO~eG-|{k5TV9r(k(bmNdD&E3UMg~}w!9puEiZ@UQEhpd&SL${D{9M2?u@*wIwLQI zGxAcZEibLw@^VNX)s`3Byw`s}P1Kf`RDD+R9`=vamXA5PR$E?nospM4XXK?jJ)irEiWCpS6g0=)s~m( z_r>Ki&(xNWRdT7eyj0G}%Z@YhQad9rt=jT3sx2?ekH`9$GqvRf$adFh=)`^7o5Uz|hxMQwQ*$;s)sJeHTK+VZmO9NI6=q5Yz^&y$K=t1U14 zYRgMcK2lp=CLf9QGiPecOYR)nFV3O;;vCv9YRgNjw!9pYN44c8`Dm<$hq3`Qm8F2 z>&~J5;vCv9YRgMU?$wr;W3}aFx)PVqJX2dfR>`H>@=`g6_KS09zc`2Xi`w!ssx2?e zAB*)dXKKqwPF_`8Ugm1c%Z}Re(vW+#<>k;hv|pS<`vv>evcG3}N!6B@Rkh`%a1QMk z=g@v}4(%7U<)tK7YRgNlw!G{*hxUteXuqf}FNu6FV0p|_wdG|+ZTTq3n`+C;4!KoZ zUOMN{esK=%7w6D^QCnWJk1yt9om{FdFBN%5ZFyl$H^0Mq4+Aq$b z{i3$K%+;2c9ku19b`I?q=g@v}4(%7U<)tNeYRgNnw!9oVhxUteXumwQn2(%Xs4Xws zYRgMa-cws%4#=b0@{;^WoIf1eFV3O;;vCv9YRgNhw$GDYa;vtybmRlIv zuekV2>VGPJP&%{D)c>PA>&_^jJEMHl8Rexj%D0_S zUOA(DNBx+5k1YSmLrLxY0ded6Mseqyi<8y3elR|UpE_fD%g!jDIb(V&&X`{1jNxl% zOmEj2BucgFNOXOxf5m|pVZ_v?e{ z<<1zsaK`l3ol(ByjOpzkDK0%WA8C z>Wt}U&X|6#w&@pYn||$#>F>GmQUBH%)9;)y{a$U;AJjJev{HVGs-(>lpi>wymvspX5XJnv}osKt8Y5 zVtvdhc_zm8xhBKEW%59>uH_BJPbW!DZpeE&{%=b=ar(#uNvq{{KHGu%4?Y~vXFF2= zsTk+8O+FXvXXmrc)OJ2wp|+OwqK>T{qG%Ttnb-$h`@28PG`C?o?dq1tH?ftY$o~z&egRy^A zMcz|ezV@Awug)3yI&en5j?{noL-Bmc*_UGdEH4FlQ*C+KCRb|9%dXn;(y1*khvdoM zjPtj=Or4RJ)ERjx)RvcZwdG|;ZF#Akk(XU(^UPZtuykn?~J@0sx2?eFUI;V|`GLyiA;tmzmn~ zvZ=Pb)Z{(279|6 zLuce=a7JE^)Rvc#EO%}XpC^`=soL_g?2Npm&dAHA+VWD7ch#1c1GVMlkUXj_FVl;$ ze&!Xm|wc`2Ncmvv|4Wm|1|*;iX$2J*4m@-n#;>tmj(EiW^*<)u(tUN*_QYRgOG zjJ&kY$jhL%yd0@5FUyx>{VXr3Gx9QXMqV;!^mbboip+>xf++p@{*EQ)Rvb`wdG}-T&pcFE%{Jwc{y@MUPfo+<=7c{ zS>B5EwY;pWEiV;$S8aLOBe!bH%YoYRGO8^vlUL&W%`0llOYV%k6wb&?rMA56s4Xx1 zYRgOKjJzB;BQL!(@^YxQybR<~ZF!L!1unFAC(g*r)ERkMS6g06@{Zc_vahzh9FPaK zuSr(+!=Y< zbVgoEXXIsDZF#B4wc7I1s4Xvh&d5vajJzDHEicor$K^54)RvcZwdG}#T&XQD4f#NA zc{y}OUIu66<;WR%nfy|$pXFs$ZTTq4J8H|zF1b-#UiQ_NmqBfLIVR73Io8MWk~t$U zxij)osx2?uYRk)>+VavmBQN{T$V=ypyd0=4FFkosTV6)B<>lBJc}c3cd?-g=R@Ih| zIeA-cdD&B2UiQho+VV1zmwzSB-|{kZMqV;!w!9pXN44c; z@~g3amX}Ozd08cIt1T~;GxAb9BQKrW@^YZIyd0}7FUhaP`oPG`#2I;+IwLR3YRgMX z&eWEdTy1$-bw*waXXIs9ZFy95E7m}hFs%L+MHTVB@HmX}IxdD$f&s4XwOGx9PxBQMjx73*htSyo$K zR@Ii5!Wns4cSc_3&dAHA+VWD8E4AgNR$E?nospNu8F@KUTV9gih|6PMR$E?H)s~NS za;dhw)Z~4&<>kN`dFh>zmqTadjLyi* z%HLVcM?v0HTV8h6mX|$pr?$KdYgdC8rTmmRfzo;2irwdLhVZFxB+Pyb%5zvU$(ud6LDo6g8f z>5RN=J0mZ>`_9Nq=Zw4@I3q7dYRk*)w-@tKkT=zqmu+&Tw!G}BEiawg z@^VO?{6}&AmY1nB@{&3uFNNCjvaYtg?5Hg-wKMXv>x{fK&dAH2+VawpJGJGdS6f~V zospNp8F`sqkIQR$$;s<#%gc`1^0G^A)s~l@e5|&-O#VTfKa9LgospMiXXIr?ZF$*N z+viC`-d9^*4#>UQ@^YlMyiEV&SU=0ljJ&S4yv&`Em(m$|Y1EdNJ+G5YRgNiw!F-ok(bOFdD&K5UTX55+VXO!w!9pxEg!Sp``aJ) z8_1lIhuj%?San7oHr4m?ptkedYVw}i&SyJt#`$c6+RkS?Qrr1#$IdvPZTTO?`lB4@ zv(43ZKHIL^&Sz`Yc0Sv_+RkS?aK`y;z1q%aI})S6cKfv4&tm0)WceRQ|2y#;@&}Tc z8t3VqSbHGZ|D9O=1@U|3<|zm2KScQ#A4mo@hW~&JKdS#N%H`%Nli!WY_w=Wv|NizQ zSytmbv`4B*k~+UlT&Vwrl)v%K(tn)XkoVO8Muvaq&LnBo?^>1R`^F^McYZ?LIX^5u zP(LffFV~Y~P=8tc;O|b7QT6$<)Yjj>BM)lp?|)2Ae=pYWd-K@eKPRuM*Q6Z%{kO?Ac~||wr=>r>+>D}8 zKOufpZbq@^{C07x{-TsWcuUsT@5lPUsd%dXeU!`1DpK_w`1T}OQGfKuWqZoaD+=}3 z#Sj1aBw1H~L;S8glVtAvPVuI?mGU~&S zvg`ad@t*pZF#NWhKcW6T@xxzxAURb3w{Z19a-{xq48J4qS3mqW9th|2yd#MZv}51# z8F~KrB$>${*zW6;tL?r{6 z-Ph?*UC8=;U@p0r<-t9*{s(y->vmoK{nRP>Pad1{?~mp6|5d#&{x8K#vTpF0$#azd zk-C)U|4RP-*oR{IzD)ODi?==!oym6lKg55g-d4ZuqdL6!|B-T=-l6zWnT9!8k{pO_ zc)4vVNeyo!^PY@#Qv4VftVF!B~DEeo&_O&(!%t(KbCft!JTphdhwww6TTy z=VD*qJuSESPbZ7h$HzG8WAopma@-Tg*H_-Q3(H@sZTSz?w*GJr8$bT0*st$K?CU#u z)8hKVJ!Aa%xaW(nFYfu`%W+Q@?`<)*r!C*1+UlEs`{MS(JyiVo2V!4eIq`p?zMEo{ z+xo>lOZ@n_=Ll@`$2~`UIqnJK-HUyFGkLSXR^MH3!;e3E>tcQ9V!wV5wA|{8 zduI6YanB3b>Wh0`_;TEn!h1#R>$|JA`X-Mou3y|k!jHcr_UpG3`})ovU0lDoXM-Of z_gsLjzPRUtFULI*ylb(q@2Ix=u7BrZeQ^&1KmL)}*Ed~WtnZH4=K=Q&@Z;l}|FG2; z*ZlY8xF)~%vDnvl{kx*AzMb0gfNSXc@mJrqSl>$Q*YA;*TOM%DdO!Z4w)*0l^S&I{ zg!eAQzP_#6>bv~Ci|cn)?8n~|`}I4BeSKHoy|{jH&2&G0mPT8BSJd`-Tag>FuW$06 z#r3dD3WwrZ;{ zu3_!RU-=u0^)1DI{q|aJdB8QJ{rI@%Gi>$6HJ^PsuF34ZBKGxd)Ru?IES6h+aSdfZ z{*KtM-%jl7J9}(#{ozj-H z`rXrV%fmEV93R(Q_4UOySN-&HO;qn=v9Is?lZ*B3)K*_y!_<$zD(yVKek-xB?~#^U zeR0iDKR&Mc3ETR`H9vhhuF2`WBKGy&RonVaq+N+}t1qsh>Brv@`}%fbU*FkB7xRE? zR{HUA%}Lnmi)&8$a$FPAdt2=5d#JYh<|~W!#WfuL_y=NN-{fP9_1zRNu`S@aebFp8)ds=RJz%~2)__*dCZ1u%8 z_k207iRXPR_VrzVYO%hZ+UkpI*!l5Se`K+~mDtz!NXxChMZP%xf!gZZQ#r25=I6H} z_VwLW+xks@G?rU^aSb&;{*Kt^p%eT1&OW)A2VAqvkB@7P!B$^fbIh0Hnqc1BVqf1u zZS}=9z5MXg&&K`7mu0=-v8w*(>Pq}QZvLGb>lKe9@q47)_V2Q_IKAJ=LvgYxexH>8 zrpy~o9zmwRHre>tk}P48zG*IyyV^4a>{7W?&iq~*50^3TWNZTUO3jgOsY|9-?Z z2K@TLH3MLq9Bq-8kFeDj=REpyoRjE%B=+?!URtd0zS`=Ga|r$T`Oh!bcU$b& z@1W(D2b{C#$HzH$u+)JZkB@VX zV5=|AIr8N=C&>Fy?CYCfjkfykscrq@93DS@wzXK_O|f6Uy_Q=ZaL$Y$ALqQlR$rX+ z;>&SPiuX+H>sza>zQ<~-@9Zm!<5yz8e)q+`zUlVj`o%dLe*TlMMq7QSYTJLuIT3#N zZLzQKptkz1{z5Fb`r;f0KYlOv^_~3UVtq@o&jZdG@Z+P;KWz0ypMPJDKKb4UVqf3v z>(N%Qy!2lQF@tK?0wU%$QD>br6+mRo(%huBZA z6Z`rei+z3PzrI-C1F;_;eQtey(dX8eqfe~&zS!3{{f%g=?~dB)i$1J={OQhOeOJZ4 zzO9y99?)mhkB>f|u;l@LK7Bd*WO`5j&SHH_wbl1fZS|e}=HmEsv0uNtVqf3n8;k1~ zeHQ)v(dW?D7kv(WIr;>8uZ#Wq?bKG^+24!hR$uht^W(Q-U*99KuW#{Ni}gjHIX^!7 zyur49(dW&VqfeUmp4iuS`uC%)zT0Z6FZz)A@srWe-*1zzXzVDjK=UX{tp(D#QQ@Pa%}$=|oR;irEPUw=ma zyfu+)+v;$$_;T`J>FcdJ)xYxg48xc7`oGoJYkK{0eSJ@-kM)L!#5zm|zm?-*^L;`5 z*06@->)#&#B#(yIA5z^PKGD~0eEa*q$dFjBLdQt;??2bqdwTuD`ueD^+jQQmuVee+ zu^j&-|DF8B^fP_khQF$>uhZ*47V7!1j-4bEeRizF;SX}Ps+$hR((X88Y+REZ50qmX zxF$IsW?a+KjPY>|OEbntA22hf%0J8leP-~$bG)`E`#*Rr z$-hVBU+4U0@t-(jTjH7|cwqRq$iF+zs2{FDf(Ob`zrS)0%X0yxvHUya?<3C07Op{p z2gZM^{CnK_ZDQ$$TPaeo4IaFF+v-(Z35Y8#t@^8cER9=whv|oKpx5V6=BOe)vp+HN=E-5pO2he zkmux*T#;*XLvG0(xhD_gksN~W@;=3aJE!D~oRbUkoQ(cXe)<);CO71k+>v|oKpx5V z)r*%AjVV6#*lI1e$3(Gqtr{s)`{&9F%UJCM@T#_qtO>W37xg+=Ffjp9}VP^G5 ze?GrFDLEtOFNjY$@kcS=sl8965x zl#xNAAf3 zc_b&g!)?nuC8y+!jQ+lUeHG+6xg=NQn%t0Ea!2mT19>Eeol>{Gr`Sn#PRSWLCl};7 zxg=NQn%t0Ea!2mT19>DT*r|5QJ0+*&jGU7TGWu)#>6he+T$3AeOYX=$c_5GEaA40b z|8%jwDH;98@v!$xPA;0LNDc?Z-11Cu zkjyzHXXKn*kmux*T#;*XLvG0(xhD_gksJDT-?_MaQ*uhq$T_(n&&egZBG=@G+>$$TPaeo4*?!=$?K{;U ze9Sl>2@i8d&dCLNPAb6qA#D5OL9f7$ql(BcjTTtkVkUzy^Hmol2dX<&dCLNPAW37 zxg+=Ffjp9Nel8yNex8z3az@U{1$j;`$rZUKH{_Pwk$dt$9?8jjY5B=G{}>NjKN&eE z7vwp)Bv<5`+>l#xNAAf3c_b(ATU@>=IVET0oLrFSWSpOkhpo?wT$3AeOYX=$c_5GE zT$a!c;WJ$WFH$$TPaeo4Ir$(hKRG35y$kZ3T#_qt zO>W37xg+=Ffjp9vY_a~h9uFS2JSjON=j4JsCzs@kT$3AeOYX=$c_5GE zM$X9vc}_0L6}cuiT$a!c;WJ$WFHxgodY zj@*+6@<_(@w(zj+H6^EHT#w5SpOXvnoLrJCa!qc?Ex9B2;0LNKSr$mY;0LNKRI0`N=6c zBjfsSc-Z@=AkWFTKAa!EBG=@G+>$$TPaeo48P}up^_h}Waz@U{1$j;`$rZUKH{_Pw zk$dt$9?8iM((;p2az@U{xIUj>pL23auE;gHA-Cj?+>;0LNKSrevA$DsO3uhRxggKU zCAlKk^m( z`QgR-<9d#G*z%<0jGU7T@|;|fD{@V4$St`e_vC>*l9Q(vmv>4|$r(8(7vwp)Bv<5` z+>l#xNAAf3c_b%4Ld#E1$r(8(7vwp)Bv<5`+>l#xNAAf3c_b$}Ek8LWXXKn*kmux* zT#;*XLvG0(xhD_gk(_)Y2@iX}Psu4cBj@CTJSUgrid>T$a!c;WJ$WFHWL&Qmk9*5c zPRY2Qs~l#xNAAf3c_b&FTwIr{s*BlMC{kT#_qtO>W37xg+=Ffjp9vr)l}gDLEtOWL!@ek0tr{ZSrqU zF3Av|oKpx4-kD<2r>pLZ<K*&(~w(oNAAf3c_b&Ri}Rb3Q*uVm$pv{%F3Av|o zKpx4-r)l}gDLEtOxgodYj@*+6@<>j8ik6?8k~4BnF359oNv_B>xgodYj@*+6@<_G|_E~#lS}d-Q zl$?=sazUPxOL9f7$ql(BcjTTtkVkUz(~HYHC8y+!oRbUkoLrJCa!qc?Ex9B2ht)qNXXKn*kmux* zT#;*XLvG0(xhD_gk({h8F7K3_l5sy9JZ$~sl#xNAAf3c_b&FU##zxoRTv#?x%!@EpI`dlS^_%uE`C#C3obWJdj6nxTv?Q|8zYp z&b{SH$r(8(7vwp)Bv<5`+>l#xNAAf3c_b%4ySThla!Ss~Ik_Ou$tAfW*W`xWk~?xw z9>^m(`8isCa!Ss~IT`ow!o%JVb8<Fl z{%(GGr{t8Jk#llEo|8**MXt#Wxg~exo;;98a`HE6`N=6cBj@CTJSUgrij4c?`R&n= zTXIM4$pd*LCubMuHzlX!jGU7TGVb5!m!~9GT$a!c;WJ$WFH0fcIVTt7Ik_ZP^m( z*`Vbor{s)``*Y&4B>%om{uSgoxg=NQn%t0Ea!2mT19>DT=TZCn^`DYcGVU+xhtJ6c zc}_0L6}cuiQET#)DFl3bB%azk#(9l0kDxgodYj@*+6 z@<>izqU9&2gtZ<4pkJLDVA z$j?pkE%I%$zrPs9zf0vy7qGPVx3|Ba7=}Md<)_L1{$Ut?jmkI3{{CSY{u-5EC*L67 zB;O+6Cf_07B`;l+O31_BpO27Fl24P*kk`l?Eo`6T%?`3!lDyg}X~Un5^9-yq*4-y+{8-yz>6FMXMopL~*hntX=5 zM&2NAk*|@jlW&l3l5df3lkbr4l9#T~@{>=JPm|A(*T@^>E%G(;b@C1JP4X@BZSo!R zUGmaZT7L3L@@euJ@)~)AyhXl7zD~YDzDd4CzD>SEzDr)(qU9%_B%daqA+M1)$Xn!V zh4e}QG8u>c;2KgrW7Wp>$4*4#5=~Y^O z@=5Y(@)`0Pd4s$~zDB-IzCpf8zD2%GzC*rCUiu0xKlvp2H2Dm9jl4nLB3~n4C*L67 zB;O+6Cf_07B`=JPm|A(*T@^>E%G(;b@C1JP4X@BZSo!RUGmabY5B<~$*0L@ z$ZO;c@)r3T`8xRq`6l@m`8N3u`7U|s7ijs(C&{PDXUJ>h4e}QG8u>c;2KgrW7Wp>$ z4*4#5=@)7F$tTID$!ExGSEzDr*E zC0c&+N%Cp(8S)x=gS+7Pm)iQ z&yd&18{{qWHS%@x4f0L$E%I&h9r9iB(y!C@-^~x@(uD$@-6ah z@*VPB^3va;*O2co8(*M+vGdsyX2+cpyel@B%daqA+M1) z$Xn!V|8N%db3t{<$j`FJC!({?+rBwywGtp1bnmD;L9Sr=Gv+ z3(6~(x6Ys2I)CZav*nfZS7jFGE??Su?xjoTulT{-i>EF=S6)q?f8_;Vet!G>xwGX< z8&^Y(E?m9%{V%+9;r!Xl<@rmA%=_wD8UE$u)P)PLUOfBU#>SPaFTLn$CsThxUO0Dg zF=by=w*Bd{LvrndfU_-{gJpO+wFTX+l z<+1qQ|I_~~&bZT8zFq!eIc@x@zJ4r!F(j{p?4QN~FrI(JsosADZ>QHAKiBd9y5;|r zjE_3;{L}v=&co^(b-(`R=VazwCzRRve|TU+#=lF8Oui%|zux-mb^Y1Iu^vzttBWB>Y|eKjVW`<3XkwpPTo`Zj%KC(TC9Ght=v}m{n~7|oyy9}%Ko-n@qd5L@;sLrM!-Hs{E$9j%T&s^H=s6J0!%=eu|BzW2_&O%L0#(9wOl8(e;q-}2<$_v*>0Q{3}@ z`R@<;Lq7QL7pKo}#?3cFE9vNxLCQ&eIn|+@!bI1Orki))rTn2?{p#PB{No?3{Cmo6 z_FwLodbw}g{V~Zs9zFkd_wK(5D->qB_FP_Ps+10TqMepMw0Fl$JvC-%-uBa7DkmGf zo}xP&9Ce%-_7b73eY1Is6sc-kY1e)Hy`|FDP)${ei>e-Qq+n905 zu;(czzwPIK`R^YrKXPoh`OUB%#anON-Dl(5cW+kg^$?Hp_T8_agPqmxI78g!_HEcQ z(aEv(W~X=359>or-p58H92Qs}$O>N^ef3}UZAo?*dWLq7)j zw_M@%v*&m#=L_Zc%RfGh!%***H~R5}T!ef-y_D_0UpZ#SlPrIE+-`ZP8^`;~zxDRr z*D2@Z*Sq{XwzwF*T0d}k!JHt9Z*T36b?*6r`j=4NmYL2DCT$otKU41bpvS@F?XN%d zWaS%_zrTM=R9kImM}EtdK7YUV)EM(*aqh6A${6(6r}U)OVYX+z9`gHWe{Ja3&`-2~ zm&(CTt-S_)klyRKDm0pE@!x5+G-~%`-=1|gZSr^fIM`wPm|??h`M2-xvhh21CyIBx zMt5T__T|v-?Mm-BR(JgT7#Ht&sf&juc0Am_Wsw;sN@0qVLw<=6U2Nk~yM4Rnc=hG) zwvSET%ad!bHAje4nC|lLu-=OLraQ(^&Zuse-eI-QctlR-sfUAncjoQ$$k$g*|5!g- zxXzV3`C6A>a;tx7pGAyEYuDI`)rXgBeE)GWnEix)3;Nyqc2{2L*YbG1;*sqzloR@U z()Gsn#EwOh7rVM)=>IA9_2frguN3`btqpzDT786ZUmN7ll)Fp(`)yaR_WdzIxr}*- zD}Ois+3G3C71}qLy@henK4$1gRL)j!Z(HBGyG7~8%ifB{OryF8zhdQ|JVUi(cjJ9K zuX5>8+gw~@jOFn9t_|aS$BXym8$|!Zf_^gkcYetG-$@&WZdXac-VWHW?Zck>*B|UA z__NRt<$C?NquobJt}q_yKig0J$72|GqehDxJM1?u`;SNLIuRfB+wm6K-G7`6rq7^9 zpHFsV%L(%D)6WlFAK3nwR4{f08}v1)b?D`iGwAE_^4~j-QLP7MoSm<7g1#B=iPDE) zyiKLr%6L0TQas{#o37_x@3p}{|Fi3ea=&gEIwe!S*8hpp!GG<`?)GV43sqWW{Tb{h zjJN*nc+AFGzj@8e@h>=^4S7)d3VM3t&1XY)N&etR55f4FM)j5Pb;#$lAs>=Hg1rU5 zJlMDzuueZbpFKwN*^n1y`sH!kj~u-DY)DD+AD++r{vqrKHVio@)31l;v%T+w2Asn@ zcKfp-b_MqYp3jEJo(|7v(gOSK4K?3We0V;S7WRLg?Dh2+?$2s&mptWh_Q>xq4%+$J z!JE%&-XQr8&u9JTvzm@fzaE~?4*7gm^VCd#JOR%eYi3LS!}FQ6VCS=(;=}Wqv~Wo0 zv$?9jd@j{m{bi+}xbs={4%;5POUs<+Pjv5(4)%MaqA~ws=Ze+#jc6EGkK4JTKQCcF zlSu#JoSJjRJ>RE=_Z9YZmHx?F?%k|E?E8oPKELFRzQey?4e!qeJ@@nH7uP70 zG5Vdxp6|s9)pPV9*x3P(r$>8^IMd0o^%g&#>Ldm0hgrDN|3MvBtoyBALpvYsd^KQP?Zdx>b_c)4?>Ou{#d~xsPkDUZP_&7utvy)t6Lw(xZ&IP^Qnf$WRakcoI^Qi6 zcjdh>^0@hKko|q=k6=f^J`VZ#@$Cq9GFW^2$!!LVpMCg`kiR^B3WJQF)+)QA4f@$f zKRjmVfT6#FUiM@B*k4o~vhlO;d1%k^<9|=k|Mv@n^?!f=ANsL8em3NOr}0o8KO2<7 zpA0r0`u}ccANJF~{$L-6eEj&|eFZxiti8ehz1#!G&p!M|$RG4R`23SgrT3tpC(itn zd!OV!WaHiJ7D|_I{)M@$@Ie^`(4F>&p)|y59#vi*oqwVaXZr2%{8PKf-(Bo` z{On`>y8rV}WY7D`a+V4(a@p zSN-MjbG=fJFn;|0Ei*oMiT|Jdd#VFpzePu@-v8YB$NWO=FOQ!`_Iro-KmYuDp}n79 zx0<^${qO|Z|Crk)_aPfUhkX7q+cN$3*#A8>>mx$`KmPpfO8@@HpJz_G!K}>m!(;#Z zI{$a#{eQr-*%iTsqA}Ht@pzGaM1paaKQV!4Q70% zo&z37gPs5OKfey^gPMcF|DM5xwfZ}HzK76Y+02e1E`FVh z^gDy?f;%QSg8mMjUnA|_(d5$o{x0~hcjhg<{CE088|?mR_YUtD!|y0UdHehOB)&W1 zey>1z3Z&h8Hv3kcb!Oh})B4HtxBlNHxiePo^832nfqu_qoZ0;y<=@ewJMa6QK27<2 z{TN60de|A>OZ#=@oDKdtde{5#d88xdAU%wzi?sb6Cu#LWH);CEKCdR~B&}Hd;%g#} z>F|A)S~`*P`hAz>UH#kd<%ljcw*3Czfw^N4{;C?Y`=hES_?L3~=8Ia^XLY~&2Q81^ ziEUTD4a=My<6?6Z$-H0p1$&Iv#o{uH?)LFeV!jLUCtrVbr!B=qcP4P*NA9!{@k*a| z@Oi_?edcl}h6?GSSL;bkie>oDBg8p2zKXOckHLDNR-(QYl!Cv>- zFWX(kW&OG2{>Y&jw))O4mm%X%G>#?DTZqDV9zLi)YY;c>&)dk9^_Tdxi}opx`%aLl znX|yWN?Eo%b9bL&`Ax!*t+%@LD7(s|J}>u%CHA@LFP|@Oe)|IVX|ZB#u7>kT-Vfii zqsQeN*WmUYyie#8C9F3$G#NX;t!oe!KknmDZph!h(71C$UtY1ne!A>QC&$WWMvRj6 z69&|qH}=ax>_7VSJp5j0!xT4g8M z`s_UY2=&?Tj%4b4HpT3_zQkNKNPX3!KSF&g^gL6az8kXd`iwb8`S#Mj8qpu2K5J2# z`koH^zUy1*zO%KL`iAVIzSHzPQ{O53Qy=wM|2{5n?C+iTQt!}x)H}6by;JtH-bDGR z_jtu_9c_l~rG7nrBt4JS^Gv(-g`R!uxz?_0hL`=*(RQ5?_63XXu2rdKk@r9IL;3A> zew`S`WvyL*R_gP9r2n{d>$oH4v#;8$g2O&1_=SG^qw@Fht`RfKLZAN<{K@?y99TZ) zh43A|h049p{MCEbYm)H03%*Bb>-YPo>Oc?c)Q}#eJ=Oj9dv`WiaZD(8(uRLz-WQD6 ze4xLtcXHJH89mwk(EjR)ezENum;A%_Ap4-NOR|3J_rbpl>F14cUH`Br=Lfov;=7Q2 zs&Ab6hsJIB@A$l4<3aQg?4&l>Q|LGB+O~&vcB=A7Kd6}WPQ||5eSZ(~3UM<&8|*$K z4gI&jdhKr)LC=HO$AI%|pMQL4U#ORTxNV=GuOI#QAouhAe*f=5qEBmImv1wZq#rM5 zZTWkC+eF2FCc0SuZIAEFE^_otf7$XTT|e|;JqhhD@1qAR$68x?zq#RnfA6$iwe98m zk1rM-KjGU^W6T*!Pr7#K&lP+5^5OX)?cAGP?o$5!evj1c_V;dm#P=Sp6wC+nRm$GJ z_c+v!Tl%X@4D4T86klxlNA1RL`jjr8w`jGh^h;elG_n13FuwC>_aou&X88LCD@Xso zpBeRPS8u;_numjYe*P(+AMJR(gLJuCK~^4f^!$ICy_2y3Kvx5r1Rl4CmhX z?b(tm=I!^i6pWA*5{(QiDn8(W z*S~KI)*9EL+ZMl=KAM#M9-0_e3`k+>|@jf&Bj%$len=rl^XM4 z9$)Y1H@*(?_fz}ZAM@kAYSAF;m-0Lq)_eTj=p6A67+)^3jK7D_Z54YhpgO(a30b*U+Av`A4gX_vfmB+ zjB8X$`TXk<=OOzZD(tuV&qD`1e!@KTuQ&hfef+f4JSat#$Irj~{8RHo$y;96y+*0b zKE3}qI(YMt&a3|g=AoL8sJ*_w4t)GP+IeWE8+Ysrt^dgE6R(pz%t!XUa@aSGvb)AT zzW325zWttu_WXZs2Aty!Hjnok_y7Fgg>D;U-F9uwOVpn7xY?%EBdpsNx#vMX{K_s- z_WL|*kpE|5|L2_=yMB5c=bdRZuQFb|J?!PX9#$^w$8vam>U#v%&i>i&<&@WNg__mU zcX`}AvY#7po_xUPqqVASkKc1X^0@K;ugk%je?mLMx-zWmAN9D|hu_H9^}TBN;QO7L z?EHVo&g~9h+_=9Zc>Ly>J;%)fp3kv9cH`!sJf|y#8{{rW0)o1V5xH)+Hnt!$VCj0**9`N4_?8|Nr z&o{EJ%J(EEh5gNd`KIdEVhr=~V}7pY-`79-`KIc7lJ`G%zNxx1(_e?;djpTWP7C{+ zfBX5S>e@^{JOTDMRlWN)ZvJiOo2r$W{yIG0)b9Cvvwr)sgLj@baK4$G>4zu4{-(951{%^{m_q8DZQ;R!I`ME382 z_c?CpmXNqr!U0psdzk|+GUFCP3 zgZw@%^PNHaoeyu<`p#gNmG__heOmv1+hC4Wx#jV5fb-5EesRF>Kx>Q{u6oM9bGCnN z^yq)*9R6NmuJAIBXcZvV5lKWVbF)!L-OXE8m z$sazWa>I9}w!S2Hj?%=jkL}1MJ>RFTg^RkzQf12`MA%=H~M(HkFWD_;^WOe?(%Vqj~je^iH}$M_#7X{K3?SG z`97ZRhbw$LBk7hszhrso9#?a=hO;Vp#b7Yxo^oKfe;byHfu9Q0K2k zJcxX@orB~Hznd$6Ux)ABSUogtv)`)>@*K6viIZ>YbK|oqF=It)x_x)5*wr_(i|-Hg zDSe>7=k@+IkG!`2LF66K&d|Pb^UYAz>&l5P86r=y$BEP1 z5ySYq&_0|0NxE0o3H|gkpdVcRf6Cs*t3EHs{O~=FLHco!`j2?@-=n(Hjg$QxXJz|w z^71_@zb**hjaoQv4e``N`mKXKyul;1o8Kw4z{@S|DeP^He z4$+Bk^KqY#Z}jnYA7AI=M6oL;YADNLr3~vUlX$(xzCCjsf7P$)Z@a$bJ-sczaI{J* ze}_0HKHk$jggnzl5B(L!xi9bP@ePhoJPI}D_jf9$pC2(FeD4?ElHNjF{;btY<~?KO zc}gD+hczG#{OTq*<9`su=FNz(1qQ_kGxwO7WxHL0ruaTwI#O4PONXC-17r$v#5|K6Q@Ii!tNxT~s=Z9pNn4rrv#iiQl^Mz! z?#r4P%JS`-1IuXNzPVtH8y-d5x$^MZ@2G*L2k?-XI6E$bz3dd-mw8G*9+4^5Ub+eA zxw3uKUmyC8RKhitOXD;}hS|Oir;@h%@b#Te@)X~Oh2W=B0o|de(GqTccNU!sroASH zzJi$XaAXQz4ZoNvBGUJQB^M!T<|dry+F!XBz?yJP*w&LBi=lqm)RVbVt|eUXD@*h;FU!*$t=wmeNoV_2`k+d4 zoajmr&ekns=awf30<#{;9;CCFOJOS4SzIxfm%}8;ag&!L&_W&0fNww@knoMs9o2i+ z!FzZvn~%BF?yUVUBb{>jdaMpU?CU-Ux)nbMAUsRA{_TT=-;4gQU)|3XFJUT|`X%O) zoo43~Z?}8Y{S9BY)?L}U@$=Cy`_&QrZU6QyCvU=~y4Ck7*Agzuv+etnuR}I&>!4gU z5giWJH@PExo(o)_+-UL)W^V`3-rOW#?&=_m*Y!n+^c3m{GUs`IF_#UQKJfmkV%BR!;#V{|Tbc1yh&YO11pfo4_$x_WfpX0+y~y#^i~rDZ{)ToPd$V z(EfZM_*##5fnNcBt1+sk`Ze5cHAYio_1m~n*UT7vhsO=zJHf~^GXZ=3%uK=GgZ_47 zKWkq7Q}FHJ82Urt+rSC<@8Cw<3%F(!xE-8=Rk`pzV9jYc@Gh|Y(z}c~kEo`B8|^wT z26uwr15UvS75A~qHAn{*NEQ84SCkY zVA^eQ16VdJdIElt$9>@I!L)Hr3ce9s=Z5VN`pVQr=E6MmyFBLEkgs|?1^gqAk$uR6 z9>=)nYL6F#$9Q}enEbX(+A(yN$4kJcd%P6PWqFo?S9$yl@LG@2`B1e>vYiXQ(qra| zq1SrMxF4!^iH8mzdb7vpgVB?v(=kIofx z^xu(&|Kb#^ao6Eo+^`WI$1HV@2A7~G;E4{)tqwzX;=fe%d7hqv&v5v%7>r)b-Nsxd zx(ww1jCnTEFcmHi=O*B{dYpn8 zPomco4SO%QFM?z6$H3oku63AnMSXY@zsCvqPhj{P zQ}Awwn}~)F<@Rk{aST2djNXeWcsBUQxZDK%B#%Wu+u;_X;n;!sEnBDWAJmpM}SkX zDx|-=w`0;Gtb5q7mQahHRx6d>@!TD<$CH!9Nz9g6RhxefIEp1bU5*0mmE>AXkK~^uT|_ zcraHF{6|P9l;2Bq#2L^hfMYP@C_;C=3HV$dQtu|wSA&sllj!8LI0e%V;mt%xY$fmU z;23-zc(O6i6Mh2^bKnN>`=C?i^Ahlfp_jlZ_>*AxpC5zKgT)QtFTy_sdIJ77_(X6D zegGcwzJTZmwS6iWo+IfuvkRPpCxWT#g~BJnGY!nMBTomDPI!FeQf|_!GPeoi zKckbuDHx?j=<6yTA4!GL46u0QKc50#3EuAM4d9!g)84BR@Vmjta8)1p6CS7FuYtw0 z3;Z*1fmgIdNB)J|7;wyruG-@SJjvq}d>Z)8#{Ty^BhRGXncxKaIpA4f@vMP|GOr;T zskY1p$6)$MbcsIlRnX^vMSm^$NyfZb_`kqUHij-VBeC1)sVo~3@O#13cUubnF!<># zEyPcMMZ~v@=gY>n>-H4<9glZ`e+8!AcM^^KyQ9A|W=)3eM`uG%z;)2a(A~oGJx;;T z0OxGio1@f6!g=UL^3DRs;7;h{zzLYk;uL&6xMIZd z7-fGRO-;eS057#>V~+YQco{f`j{MOx!0?Z%GB)ot_(vV>@h;vU~ETiIjIl49NYm;!Otb{xz_y5DB2aBkNL&WpKr7dkESQ!mxIYWy$^gN zxDlL!Z-#%lHBmF_-QX4A82SgnE5Ql)vyOj;_`eJuYfZ?EQh%ZUnKAUAh#o~V6Yv8b zZv#Ip{IqE1RczfxfN9sv6pX)-JhNhOp1LjoC*TDhr(kSH{IiK_&x3v;SUfAh7a5tN zsl6P0F*pXdf}d@ox$sn-!C=sM7!PhDE^rZQySNF*VCiQvR|3A;<38|p5edRDu2>+a zn+>%$h)8IL?`A3xD^V?e3R|(E_Cua$t&$m@9VC5GwRc13pZ2r0(qju(2v-1N=(~v5 zb2WhP^BDPS@AqX=P3=R_X}1f$a9dW5s|(iJKl8NCameI?oJSAya<*~&d8Ehf;L*PQ zDh~O|Lf7-Gjshpp>=-EA9Ew_2>=0zc+%z`Q0Y)R^Ru-h_iV*EBSNV;Jb$UhC_pA^s9*J1BKCj+=OHB z?H(uK4}sOr6uiUZUEnW)X{Tx({Vk7U@O>U9;9rC5;7P%Mq~4*V=TnW8Oj{JjjN(Q) zCIKJoaSA>Oth_|lwy^Ig5B(Gf!Yb!U;OBv3;-Dkuy)jR_+MNYHNWEw9NcKn=vs^c> zl;~22RsNWw$1zy?f+tFdus4fSBGR%y^+Xsaxft1+ARuQhf#*8m$mIIKuk-k3FlkG_ z1^j-G-%8$pczi4Lk9+(!uym_(-VT;-h2H`Gna8(*|Ku@!HMR!KdL@^Fk8-$LcoO(p zY+5*PnDkv2jFk>w3XY-6c4bn+vfUSQ5ymdzmY@gW3%G4_dLAn~zQ*ZiY(1E{ElS}j zdb|@X+ZFvDuJA?`7%7&Net_OtY>*g`? zkNqJ+R6(lsHc`-X==XDb1y>CIEpeU0<8tu(Fis1=V@aT|aVHRKToT4j;kKPC2G1f! zUuxPo=30$O>3y7hw(u@rFIZApUnQJ}XBmX+!7*5UDck_Q+~WkSxl8`Ei2NquHK6>Pa3A<6-^Z^8hj&f3ICYi} z>Su~oHOGwi{EXjYPV)E$@xdVFL#o|DZ0!@C@b2eE@Io;Vv}v_jz1-HO95(+Yh7r1% zT*jVq*w`_8cO*7!$j$|Cv25m;XAe*xK zxFJtf4A$5YPQXv|I0eg>L08j`-Q;l$)|eAL0l&@T6zt`f4IfKdJT)=+YaS=y`#es; ze{@(PTC;+GNDMyF(-ZJQk5lk6hldi4zZ9vYDC}r_GqL2b!S}y(7HmN}_BN$+-|<(F zN#UKkd4AD*T$$X>c;-#>-+HbfjrmX@7DEEhHd?Ceq{qvLX>1e5%Rgy+*}y~bbLmV+ zzFuKGKE`518PAxuxE6ei$LcFDTkfM7+=q@%q%bKVhF@)vOoZ|8<2H^f1}l$n0{&l* zQ}DMOmg>ge=Wz^{{g6LOSO#l+s$Ix4;Yec5$%F~?kNE&s3_i~5a3grCN+bBS)r1-3 zm&&FSeSuhI5hlnlm$+iE>`XZ2@(j6|G%L&#i{LqjN4{+nR)O#2in$a%!j%a4!tWCH zV_Y&S$iIf?9}=d&yj&A5Bx&_ZJIDOZdSXYRD+B=En=>--bo zH+W3*C%g+G)h^1NAiWSKe2N6e3NIN6c_lr+{9}Gg%NUACXcDh7A%?b z@c*3nGhBoT4{#G(4E~+R4dB0nWs3=yW#CTRCJym3e-0e>Wwsh$*Hq}oQIV3^p7rr> zQyI`t;wC$exqO*!%&Xx(>?9_;y+XarYh`}Q9rj)rlm-2Vb8T^ib8VGBaW;f6aV6j| ze|;GolNX(;{E6oi-@`?ic#&_{SHNp4Joe#N?VX#qJsw;8k)4I`wE&3a-)(?Vdf=KU zdwYtb>dZIz4J(LvB#->_ddD;IT947;u#fRjzG6N+FC$jp6DGcvoA(uVoq8|n1f5?^ zT*uXy(N9{@kD4FO{iB$2-s0PiUzzwa>I(X~9Y&QynD~C|ljd7Ftvx~eB58Ohs$RA6 z$Her@#9uqU;d&XQep(6bFT_9KB23)PjdF7_KYw7jTigH+c0<1&HxK$4F2ZqVaFdP4 z;HP={(93blp?!~waNI@ErN==3z9pOE)JNT1vG{#nnrrt=qT3)LeUN{LO>z%E7NAFq z$h(2~&0K`z@Rw#6R|3`?Lt7%@jqodP9<2UT{}7JT_?Iol;2Vg4#MJ>rx^Ed&wdYrO!yAj;zRDJxF;0M7mJTC1pI-lVZ2w#|cy9JQ_k-WzG3`J8E{}gHu6}ucB^o?C zJP$th_|InYe$(UMh|A}NWb5@d?~IxIE5##Ca<}&9@$)Uk(O;jz?-#CdSr`k)%Whnj zaCR#OLY0ejXS_)ajh(=pOUe7IifqTDGxxVZ8J^JbQ%;0ZO{?SfvkKG&B&1bn*3v}w{(huu2H%Z#rav4%2Lo!Wj8v3q1DJsVu)%0q9Vd=1-}E41s| z&^yV?Kg)9sJV)v|boFZ}V~<1=jDk)E1RX&~Id1z#cq( z(ubjZ*-#v=nBKmF8 z=biky4}iaiJhGuhVEjSw|C9dUaSZ)oj}w+-YSS356s&w;kxm%xaST4e;{?3G>uM4- zDM`%GwNHq|XTx6X2R)qdbe}g5*6$g;KC|<2xxH^uL9UIt?`QB2GWdtWnYx}rl44!o z`MkSGhjQMT!Hkg;iV}d3BhL2Ie_Nt`9sf#43ky!uz-hOSX@D zZ1w5OMD7!0CKZs4*CA;96)EhlZcw`_dVWRVNcXIKLwTyFWXOQ=e8T{@Heh*c=54lu{`nH)^ zYb?U#k5z1Q@)uxP?de|wukl!Rt*Xg8`DetMn+TJC$E}Vl5B?iG<&e?qDu{YyMR)S& z-b&y+rZ{|winFak)E|TT;{uuh)iu`&KU8cL^uZ%M) zQq{(u9>?Ifdz^sjOUsjjKTH|OOY2Pj(~e#p zgTDx_i%fL_{uY=vR`-Fw2d4b$6#P?%(VodO=SGxO6N4W{515{GRi}A&Jr|+wC~m^E zw{EO340&SdPxA}?XwT8sN5;&CNAt;gls*S6ep5I=u^8PP@(lp9N8VhENC1;spF`hmp>` z|HbAa(bqv3gW1Gj<>SgF;BDZYuBy6MIC_=n8hcbNG3wM`!g=ufJdVL11J^-sK)q9_ z=eghn(ig$ds#EY+jNR|3U$oDU3a(%3z7K)CH4Ug7pBFWP6G*>=&b(QZg8v9c<{?B= zhI<@?kM}qMpGe-d@T6e+OnrJp45kk(UI{+i;|B2g@VCR0(4-5&C$XRA@f7%?7lLE3 z#_Mar@JvBo$ul|yU+FL+nJKT~whQrM@J(R!IToyU+0w(<6#6@%=iD%~<5V~g{SN5x zkBjjM*Md91DRk*`7jq%el)Je#aYiltRmx1jG58x0$a^g5DL()s-*}=a(i`QEkHP3I z+6GR*e*?dWxdi%&Rq)h-p`WNm3-^I1dz^x0pOh(cKk=#Ly&4>Yu{q)6grCF1H?w~d zmfxkE<5TcPa1p!mJVI2nP#8-h|3Kq{T5Gely(LVqkU7ZkvKMsBwIHCR2tMX4s zp??-Sb~zay`Apfv1Q>GL&mMi8WMC-UE(5DlN zo`M%REHS3V!jXxHr=9EZV(Y4Um9zPS@=kc?^@AmjS@W(u6{7?I&$IHRe?^u2?wF3N2Pec|EF9u7;YA@|RDd^-@tT^^(3lRoG%HgnQvJf_Z*zUDD@a?*D_UJL$}$Mp9} ze-<8Zq84I;;wUlZQ5d?8av6w@aK)g3HTH+>0FBcc`^9a z;9bzM3Gr7Eos53PQx$`0gMO4;)c}@$guB2AI1g4#h}MJqpj-WbQ}7#jK$+D(IQdR)9+!E@eDbHE=eYzTM^xz3kIvvp89cLsv$9P;6?&e_hY0<+aJ7?-I;NiqB_CPxbnM<@lG8OFMMtjb zO~O=22TboG(~+d_;UYvGE}kx%1WV`g@$#?IbMWhGjy=z(yy}>8t|2cx)d~8Mp2vVw zVnXyh+X^#X{RO=yf&V6tQ}8<-9zrzzBOb@Z()my#Y(OEB@9-ho5D@h443^#a5cLEE zPj3cq4cNDx@~sa{{UptdDIUW!V-B)O$vn@>He)fgI<6R=rNqkE0QPlBPMcBmTIkOr z_U)R1&kA`hkA#ou$1{l4-!@RG=*n9lE;;HRW#R+MWvU;%uF5>q$-9waxD;lf?`RVs z1;41$t{FE#QyqjEZ{a2!Ge5tM_$gco*JO{cgXgW}4efd_Wp3sf!JZ3V35enOpqHO< zYUx|Vp`eT*kH?ZpO2*8j=NT!n>LtujzY9~&jBgUJ=aNo-Kelnj_yy0DmoVcG@HYZtr7CTlsebT0Gmr8(CiZQ~X`BU&EHft}EFroIJlmH; zyY!w>e=ngh^QqiQTrpS3`#$K4;je;}#~w77t>Yr-H!smOfCL_4`a%5|@f;LX{+SjsFLRYGS32=QYgmQoH9nRP3+;R@<-CFROmt11>3y0wW@@fc zeKGhG9w)@IZP8QccasmhmzwN(5cDXfJ7z%;PT=_pF=Hl5!QXXsX?f-kpuHYRV(|Uo z8^HcTdXyjS!$DT0)48n zJT*kK7I+-9e)uns6X;L#I0c{W@DQR|=X)H3S@)=}AqiMxOE@JC_D`1#{WVGHh%igO zTsY5_;mMwh%-YPOGLN&r+|R`C@y|0DJ}#UG3&vmHA0%_J^b3ox%)sikNker=yoy-w~!z z#>uRo2oJS(HjDl>W09{8`k#d(1{lW}>SXbs1eV_z3t>9=7>}{3+0v8hoeQ2R%osWi zd>Z9Re)@m5))HR+*^AN1O{8Nkug|Cto@MZlgLE4h`wISi_9~BK=ofjMfG_hn1wYqe zq&Bk)9>?Hjj}vf<$0=C)hEL+n?({eYYyKBK0rz^Gf@KfTrHZT8SS4G1p^CiTxX~OK6bE6LxW^af8mVmEz zf(8CDC|o=@avMVnrGGo7A_lCU&{v^+^+PCM<%RO!PWiWrm%MMM{1E_^FaA*edxR-d z<-gzKqro5Xn7U?vLYRzsV%fKo@+$gA=ltJA&6LEaCN_YO269z>b5Ll236 z!7aj#j3KspT>-gY>ZzDruyd!HqbtZp-nmbMpe)#<{Y|^dA=vW?;g~akPs1}Dd=7Nx zKb@B;%zYJAe-sddH7|Y)oDes2eH@%Z$LH!?2@%a)Y$C$8qZoV_F>QzvFnksh&;16N z*tfzc3_Q-MQ*Kb!HWOjHP+a z@O&Cfm?z(a3?>2hc-#kmzUQZ}=Uol|NS+bq;UlBZ0P^715jS$h;5QEg5GZS2So^nt z)sLTZkLG! zhW-O^0+z2AgM1Vrl1zlMz1S48!6u&h#F9Z_{wQwB8-q{qxWSJb(G%z=dU_wRWhTG1 zS&W1bVYBmVC|~Md1fCA<9{b45m)$jT#n2ZL`!e<0lIW|X`=Fl*{u(%C4O9ewhl}L= zXL2L2^fUhgj}zh`!&iiz47OdDNB}~+ZmNj9%rEoLbo7X^YWrDwaF5G+2x%*;@_kdh z#NX20m!*6G-%Gg-zT9tv*ZI0PRd{mOW$=v^Z0*mNlY4{cLtL?_aK6n?d_80-A=GE> z&B>9wszT4b4PNbGDWZJt@e@6Vj=z$fDA#;!Jh~4YgXyp6r{DxEy)#~NDKR1XdGNxN zsrqAhXlwAHt~BmhUHpvaz8`Wg5ayxsGH&Ppi1^K-f%SKkRe(HLcENnEVBa5?0I{Fb ze*sS6`MuZgFG&YI{7Tr5RY5}ZfbMD~_dRLRxkj;T&P2K;((p4iKuJ6_o9X*~QIlZ=0bQ>St3=8D0md7Kc3yo~7ur;`^s z^&83stgnL4T(B67ua>L}&H+CJj=|@HC2In{n7ENE1vf+gBNxd9ZQN)}6ob8gjvBz* zp#K;*(KXIkd2>Ql&&OsCX4V=KU9Xhro{V%wIhtwtgFSr@{-`!Nd;GG`lp??7U z59l$xga|!WC(vnI4m+w5{)Dp;$royjelP6&LhkAcJ*R#Sx_WU2-yvM%9@SFj=cwy1 zqJhzA#QM+$SEkZY9zCmp;>TA+4?B(p@?H0VW2K!2a+8F8`FZ$%L~<7wVS#K{{Y6;t zkZ;RmrCeV5dz+W)OdcL|8OD?SIbRED!s*E2bC}b|fg?|!Ova($JUnxV3yyBrOLgEF z`f0?%4dADFoPeJJZs+O)V<#4)tJAR)^`q?MbngRmwsPun8F_<-j)pJUkkYnCe)eEstYqtrQ zahjvdC;$Le zeLwhCdM5^d9G>IA3HXz=CC4-B*1jYs{S)-J0y(K7R!R)q)t-PYU&Rg=;-_=Y`(Qk*h4jh9&0{tFv0{)z_ zd8<<}wrBUXF&Lj_vFMWJRyW_Bfo)6XAqn)qyYgkiVLvrAW;sY7S0@E3t6fKx6@kh}H=9^1YT^e>2BvBO0gr#nTXoPTihc<8T@ zA0H^$vU}dJzmtB;b{@k=$W7yx(0_Bm*mndj?=iqJb|JgYrIo!zmFVnQaxoehZC-i^rBmWvnDzqu9oEt`br9JfxhJhMH|r{J06s#`1_7r+T+ ze%0d?toA~e0<1da%z%K>w0;k|Nl9z^$ z5`MeGsMehIA#Sv#HU@tNjIGut;4guZM=t#=_4^s%82nQR@E@IkSvy;tg8%05Xri-g zJdVMmz^`+^ojRMjRQ#h;=yeW{AvznI5`9bzK9#x_ffF$PQ*9ZOf|olzjM)Xg7&`o8 ziOz2HI0moxI00|;I0e7Z;c-M~zr^Dh{0ff~Fn&^Hj!VIBb@&*fv;W)U82mwx6Y$58 z^GWPmQZROsL)NLnUjd)VyE@@}!T7S720Lg1FXfCUfxgSNWv+OB1^pR}KX}4#zvji2 zy~(@;9_&AN4m|KLfiHJ1V~cpnvD}b(ehfaz;{^M-35@;BPobXyE`oP~$tQdY(UNDw z@=S0HZiPT!pOS(%A=~}zGsJT(Jm=ZtezW9N5UA_482Zf~C*V84hBT>xnb zV?Rfqoes8^9}&gSzetP>3QNAp7}Ow=Arf+PUA*K+#C2SGcz#K&K90Fe4Z;zTZOQ+0 zIuw}{y*2yy$ zQ{>g86ZiXF=_&$;cab^KWqZ3QDMwvvR}(Fr<#8S?Sw)Y*Pw}{cIJE2K z(4R#vnyJ%T8 zmcWe3rA+`~WC-mQmzAd%5LeE~CBxEgYNI_7k3zlrmPNMw+>=SFOkJV9jLW6|8}_-U zi_XKNh_*w&j+lN@SSp)*9aju~J+Wj>z_(M93@-(L5FERbH3r3_w3UAsIDzNG#;yN_ zKLKsA>#wE%3%%$>TlzildT<_|2jMvzjJ++B>4_eLB_ncFuOtp_`JW6vOL&BCCWl2Tf*YL7cARAGM`MSg6rQ!~ zYJ?)0fPVu){XuxvAGo1s)%C2u5=*3*Z`am%+yGXem$(w}Wa{1K)NoMh?_X99>ROi9?D9Iq(IB&Pd3E$Nn3w{Cg6iizTv>_>YHg%!jp$5!^kXvKB zz5IRAVd7yN<}Px-X%62qJu-&QoTKlo9+`mg>uTeXDHz#v7u%CFb3S^=T>_4w*Mlzw z!yo?cd?ftg@6L}h@La(Sy&n~WH+Y=D!}zlF6#8a|M-hc@u8xYq_dqB(*B-vDS_}RB z7kYXEzSiRu{y#Zd`Sguk`c;%-B+yN2lOEhes2gf1AfK_zsT~u74UozdIF|z%`R{XUgyf0 z0tV@3a_DvW=4zL$Wep@huSOA;zlfV~%#|5~xm6^|q9T@G2Z+Gq!Ps*Sn^0K(Zs=72 z=++)yXUWbUgk$u6E3t6Gl__6#XUnGuCm8pJ3?|R=PYx5o;#esO>_YC@#HwHX4*cgf)kRpLc7K2?29G4h z2229hc$D5!@Fa)Dy5b~m@I*0qzQ+l%FEIDD4E`oO`d!a7o^A)PmtLmvEI zU?VsNBTKFcoPa+9ZU(2U)xHeIhgcbQfUyHB!)L)QVDZCab~z2K_>sfZZdS-9q1Ooi z9sbkZ{$k}3jy^Qz69yBYx1xUGI){h%u`jw0+`*WDwMudooZkp%BO}ExJ&7f$x*w&)F~e|3R3v{1o@DaCEB_T zdIH8@3d@JAybgRn_6YyV*K(sQ`GJ+#v&Av^o$%1dqZ9B4p;OoBJ}~;!|8*gsu=0Pw z)G>x=<=0%9V-oasE1HZT5>2^;Sh}!*LI}C*?cL$8WbivOc&+dV-AwMQ_U`c4sY`zw ztPVn#d#vR&mcPUm!}AMb^lTcyv^~sy(uuIdTlq)I83vdQ-c3DMfC(22^*9eksg@pt zkM+0#j9<#FhdBXb=eag8dc9y4xSjIz-~}GXVE-;nGF`Atl@jRxJ;tEQLnJBmf@gUi zwZT;B<^ul3^2Eq|Cd}f8^@7#J)T?lT>_oU0T<|y#R{5gK29;68lDF(PNM6v(?e$!F z@bf*MPAq=uocb?#3Gv;cfnUi@IL?%lK)(T++Sdo>vSr>zytlTDG-j3me?oHIutehX zwjz0g9cXDgtl^og7 z|EtF_=zLf`HG_39?!#F7Q3;ng`Y#pw>ZKXHGJ~5kxRk-yWbpMF{Q3$$>Axy?_1i1B z`p61i{k{zTcm8hn(3>;3y@D5gv4YoZ%;0Sq{PGOW=yuIpGW2&>a9y^{4^`+#uC3sa zXJ+uLDtJvM@2C$}=(Q^r;PW#0vJ7s^;H?!rys?5WyefmYXYd;{_#GL1M+J}gT?HSJZOdI1`h|CA z@HZ;>jOSJGg+IyQ-&F8LLo#?=1)ukt3cl#13_c};;|zXg2Cu2$^Z#7IBTlQ}i!$T= zqRe=|D5I+pnK5<5_)OkcXYgAy_@fz|8Os-aKSTdT2LG{wFV5J{#bYw`nHl`_49?hU z{=*r1p^RHQdQ5%&;#I2_Us}KV+{>2Mueo&P()xN+Xe)O2n4T?NMblo`Twm258S z%=+S%`cmtaMYFNc)?0M2tF@z}wPT%G-`iL$bhmeQ*W1kXJuTgxJw0tj)70KvU+7*} zswcPUS=ZWZT05Fe@4^Mttb1=qsdZgPu{qz?*|E;v4D1&b+7y)*cXt=In5LFOw`zA4 zXX{eIrJm02qUk;DRF%lRT%wv+uD-E%t>G%w_b6Ih>@F#`BuDRD>lxN7t=hT@JuRlx z+1uSzv?NJXZ_8M3g%eMwZcYN8n$F&yVz+H-S8H>9N6EBz^e9qWly$x7T_iCVRit!{ ztEjJgU2i)YN8M#waib#?nmRkywq}*>39j0fLa8N_i)THB)(*9_xVhL=FNxXRItuMYW1p{WZ7bFnnwpBGl4FLgJ5gG_ z=%%gIKF>0Ab`?9!+`04kch<^f^D-68ZR}b*w+X}O$@8Rs<*F6Wn4T?TcD~fp-P_cY zS2_8ay3fdOHTgj9DU{Y@29{-JPyWpObf4Jc!3=7tUq|zrdb_((XuY0JpYfE8OeGAh z*gUs|qOqiWYe#Q8rOkhe$rNNT?P8(1zLiGOm8G6SPtlYL8;i{W_Y|7w=Tc!^(X4GN ztSgzWp6&uR)Y(zr)YWS?71kH+nA&0?YHDlkDrInebFrzgr5+P#E0lWb#a}et#U{zz zTcVzFDFT$*y@7sc?ZgfXJ+104a7Sl%d!fzY?j9R=xAtJG6xCyz+xS;sDt2!ycAHYu zX08?$OoenI)a%P z3tfdKHLIgrS}Eau>;q#H=$(FGK$cS$wA1gVy>(r;ZAd+4*(?`Up)|La3XN^W<_yVo zWOq|9GSm5OolWcOJBp_KuD{gMZ;P>FPB+J&*-DI1ChC*91q*7Dp zQ)}v0GJ}p=q#GxAC5bgThW2(-XzFR*SgZ%xs@w>1g2<>G5vPxex|)l45~dQHx}vkO zsRttc-pNyIuGTJ{|H0DnE9--;;@-Mj8*#Y!^iF!D(CnYMj->mXQA@7+md+lZ>@K$B z+3ct)8!ZE*oq{$yYiaIn?@}9aNcD1&8!c+>+*D{qwRE~h1tMEJf~T#!w|;G*x2=ak zSKnj@Lw(tp%-ZhGD{*|-VSRhCy}8)NghnPXifL=JmB{<9ZDztL;iIkka4OBz)z#Sz zs4sP)3~O{^XBgq>WqBkz*48)o^0-NEsL<2djsx(ET`o!Fhrc!Mm43krHN?PzT+oz-5r!p2>lrPj@%U?$6cY3ImXqmh^S!Kuz7 zcPn@!-O!85=`O7anmVz6O_8n5g`R>bZ7FRm7293h((XKaX;W)YQwt8Zmp-t*-czic zYfDBmUCFd|*7tVX?)HE|%LLcjgu#`VMmOWt-2ftLDX_fqZpH~35`K>Ib{o82slW<~ ze~fjHw8Hb)8Im19>K@iHz0L9`487uJMDAS26e+`E=4Vc@sEL+S*p^Zg)?JS)Wxi-? z@g`=+Q@!PDTU$=ZX*W6Z?rL?hog{Jjtqjyw)>L#$E5p3YdKuy1NtuZTz-|qU-o{d) z!(74g4Oil3>qazb9bZ>lFK)ZYB-GmOXKfyZW-+Ps^xBCJ6YsuP{(fWVq#(Rm*=W%!cKIWrL+tyA{0*xUx^*`8vRJUqQx6o7BSS)C3J$#l(H`96As zu61tE5o`u|LHP zZt+6h#kFq2v~HfoSD_v&>aaSgq^O{^v)S|~-~%>0qRJ_<#ABL8F_zCy3A95_%TCI) z4m-7-X${=+b+xfj)AHN*a&Nmc(r!kme1~PSD;ta4!pA~80pR*Naq9J1N(Rfc-Lz(j zU04&AVizLvDq7>Tx7RlzbWd9&2Ha%i_*qDIwXzknQm*YTtV6adw=li-degOYN=Zwg z=GN|>R*I@XJUq5!^k9p_&GnmFaPe&zLr2pV^=xN13n}k|vP7dMch{HD35%VQX)fAE z;=T7EYdI~&N*Wfv+Z0}}o^@JRi*JYH zs8}QB#9*MgPM6AB--0of*C2XsIvcOx9#)_7NvzMMP8=6Lo353IVEvp;)fYCh(_+Jf z@pjwAoLy~cJ&7}->zp#mYsJpacC=8yI^7t{q^-jI?29{K&SgTdb1|0cG;f`x@6VD3 zn-)LXuxPa*uOqCzmEsOfq}~U&V;&m|&CT6LXub2;f@NBFYu85ma1(1pY)Pfn*Na8V zDs}+4BV}#HU2A#-JDJwgcT6vhMZ72CcCf!wcebz}U~6(pGd_>ipv`EyH@dZx8~99p zy&ap_=sUmb7767!!Hypa?CHgou{14j*mVRz4NfI&)XUIq=agm&a%&v6_A*)4CH1Um z5WR%0&^){7XtSQD)ZJv7Sq);#MY|K zZf_UU1iK5l11knit;nbZ>pwah;N}545ZDJeZk1DRkrI}>3~)SQ7to_!nfg^-YRyG; zYSXnz>y_rtbsCM#5F-12VFO}08|CMGXSRiM*Z~DI0G2xz>?bTx<0fspn~R)zxteV| zAqC&mtmj)=i*3yq2(UwE1{&#ZiwY%pN1)rjyZr(#UIjDnl>vUH-IZeLlFlC01xA)( z>~Tm*2rZfXzRe}E4_|(l7TMNYY7tR1EzB{>U`@Kd)VY?$Lsu)lgmpv*TR*MH3h-%! zvvb1KitKV&V#2AIGZrQ|6@l;N9MP5&ide4)41HgTT$CLL=d4ktv$GAEIGAOv5n(1)*wo(U+Z=##8PC*bav_7Qu--dt5rieRgizv zHq&k`NHsT?y6ROcs{@OR9YF$7-F`@ukq$t#Qe;!qxlz)v0d2R72hJI^|K_;I7Gwvf zrD)G(O7;L%ckf{}M(GKcTDU+5r=6^Z>(A0%E?2|Ajc#>(IMbo$8+$qA=#iw(r2MwJ zxE6;QcI9e4-l4TgCtoZ)T{l~(g`5R$8gh>r@NNfAhiSXy6LJK00pSa9SS9d;Vaw8@ zJS^=#!SgvB_*^OsU+aGDBfIz#+QW+?L7QD;tu3%W<4`pmC9$Mmt2T;#;IlCP_WDrg z6MCR?(`<<%YA@8w31J1+m$snrOxiCZvn0FL%o5zeN0w5N)>q->uP^lU=ooH~Dmk1e zajcWgZyks=Q!BTU)-$(M{Qlb3ZhS6dKs$6y$RpF(O6fWP3x{Qm{EnidNZU8)xVno~ z9Gz?l?Tx0(^*I{E$LRotK2f)Z6vMcZvP=3xx6TpT+%n$!8CE&jOgdhbuTlL>NIgud z#U@1^Hs*;ndAlTG5zf>UhKk=qD(Rd{vDmx_;hI5W_s;nO!BDR zMc%DYzN4PXK?rApj1?cFq6#m%xhw#iiKlCB3`i|y1cK}>gH6aCfd zPB~egWs){wnXEQ4TpI#rhSu4qkIKicyrXE-%G-6ZbpuvAfrM~wUCye?dO7bnFVcii zf9~?dXIlmM-}zqtUaxi&9!!K38_8Lfa>jh zrnO^nBVDn>`MmMX6l3l3EJ2cQOp@!q@GRtzYle8FS|*UeP#z zXZ6>~yklLSU21e{XJq}P)qK4*Wur3}y-F+D!xy2VP*G^DC9W;m=h{gW?O5YbgT;6Y zd*>c|wy87=llE4II<`lu$XhX|3#A%mrUHfb##U{JufR!juw@UT{CQ6~&3aQWf68fp zDj3)~=GV!X9@iIoS%7L2;HT1i?mq!E1(@urFo~9AGd-*9z z_tXy^MAv~Vo}r1^nBzAFxV9zDe*8KTM{%VV_S{z49G~gj1%u-y8&^0Z^AE4o!lYcE z-h^h;y?(xI*Br~ion8bwn|6uv_D7AcoQt`20*hzfKT73o?9CCnd~Oy-kEHTL&vaWu zaYtm%EqQ-|%+epc_OO66EsmfxU9t|q+v+vyCVSWM94~&j^V&fNOpRMOM>m_Wj-tmL zyfhWtG{0r3atYp*mj`H&OCtJlTy_&^S34=4Z8#U%Tk7UK&Ao6mtvDt7$Zi{X@7!j6 zlsyTlXKztnEZBomv2$Qt=varvS}nG+O69Ns?XBgI6*t1#2fxRugX&Z1%s2KxMX?5q zT~7H!7Jty12afe`oX-r*W{c=TVfHY>o)NJ4 zVn1fL-1g0R(e1UIUD%@;ZzEbu*~1ODt<_xR*2r#(VE}S&2o%gii zOzr!64wEq^w7-^3c{8t7*7ONJ+ zKwX^hxPC@kj4tdNpQd-&t({$Lz}kD+UT`B(FL(HT5s2CgeIcevNFUG2SwtNi|iB^(ow zpDW#47H4(tgi^B?Qplp&jM+m=OA3qB9?XQzFQs%F85}Ol8Ze$Wo3y^eK4{rwtJe`# zIJV(;8}?;SrSwqYfCr&k_rOh&4!c>fgYoNTO0T+hjaJ8Jp=(=rqvl(uL;Jc_!xjwOVT|#?ecpDg!It!zp?WS9<*be-VwrjbNkOvCbGuCHmZr|)nvh#m98pr62 ziqfwn>Gify7R<{D&ayd*V{K7iqPz66$SxU;P6^iH z4B2dVuqtPE=|^B7xpz2B-59nG7u`O%hlPNxz@N^tQ?lDs<+;Wt4 z1TS-x%iG(^rK^_JFTH5#@-_8r*4HepU$S)Z5;K6hYUxEQp0#u@50+kX?wWz@OINL0 zv1%ZB#j<4siRE?SfJ*&(ktwv$W|#N{tw`}bG_BGOYxw9$KeutJbxpMf&u*t(Tk`NT z0l%)|wN!^TxW&y)%pKY*S;RKMu6IJh&DG^+EgQ?w?x$qVyfo&F!53?F%6eT!SkKZx z+fzHgvrNQr+6%lAXN}&}${Xg^F5Vz8GTb{yYZ6R*dec;{q(v*yAj>+f%gQNj>X~2J zP4$zp^1!x4Rj_a24W|ex< z-aodkYTNf)29h{nVDsC6fyJ-H2~ODg1x_$wha_MQ1~wspfq-{@IB|%REMg}yU|{px zfZ=R@9=}7*VZZji*40a;-By*{r#y96x~*I_mA2ITho$D~?y9en+n1{QKAqcISCQK9 zm~)JsxxTJ#yb%0d(%yrqHTnXp(9s=e*ESeDAxhGxH)ia zUvd~r&#=749Zc)>w@=XU91P(R}*bAPhwf* zUOXor9g$UT=wac+xHi;vCXw|Xv@3^_qvEpEzAU73y{}`zRLU{m@sm}4e%9?EEJ{gv2AOqLgL+CF4H9j&`kN@ST=lzO+!+0io5RV%D61L%^m>6;6Pd_^= zg`#PsJ+4m>;YR0IM_@w|$bHuRcBfeav74KB7~L9K(O^4$d;7CHleWVu^ROk;Nn8K? zSI)HSd0;V#-twiB?{EHS2QOayn5V#*)GN?7d}T@Q1M-|`bnJ+nPQB3G7ET6+NX={A z7Y1Ps?mjFHk-tiY-bAMtfuhHaoTQ`g(@8%yKzFssH7+Y(tO@Y(Yn=L=W&d$B)hBiz zTQjilr2Jkx;C`*cFITCuCZOrGz)`gL_%)19s{9@~a@6+7jEzffeGk8$MsmD-7R?>Xoy45Icsj;+}c9b2;=|JLE(T1Y(F zgTCOJHTai}j%|#Nbw?P~V67ppwUL9kdqzj42O;~=#TXfrs~XegBN)X+C--BX8e6tk zwnq;}BPacx;>h8H(FsgeVBmv?*uzjRrV3^04X&<{Bhr-FG9s^P*YNqfyjvtIjII%u z%VH+iZ{T`%D-$q#dvR0G`SCqic;fp!n74PC9mXOm8HVD)I{a{Vnn-(0F7r_%S6LVP zQob-OZ_E@2Q+mN&u`X8X(o{0p?bm-{$r+a69!I;6-t56-ul({k zrPAOWyT#OQpn@d&JDoqNE+#h$|=`&m5Gqo-V8hx~uzITKUpr{8r-!F?Z z{R7y&Sh0*54a{m_o&=*?9nYWvz-8c$bc16I6roCt7m$?<+cA{Ks1nm|G8>381~C62 zzucWiHrzw#F+Wru+wIRbe*4x98?K!{uwUk{P%Osz((w~ND-s4B)0>*{mX6-JTWvTi>naV*-R>H+CuX^-v1%@SC zHo9=P!!`cKi3RvF1qSDb(R;wJ=8Ty#CT6$p>>JqWl;z$y*tY$#EzkGujDBuG@BOJQ zPh%X>_tL=jr}8^r!gvQa{=+iIfi2%ngSupj|RW;56cgKX}?Ez5C8(k_ncaqq#o1zf)jESG>$iXw~K;Bdgu6hoCJihQR8wSXfXx zs&B5^>{H?zkhSJ+QpNAVO`~%ZI*()jQovujN_;9DklnP-gsl7gYXwaq%Vd|dr3X<*V7fKHRerWjrlznYfP?Us@{iVyeF`AApgWRJOp@RC;oe81*)le8k(76 z`F^mwd3M}xS>?YHgQpR68&JN)A;YI(jD^vW#v|Oroy#EqUw;z<%8;|}POEQfd}jXr z1iau9AKa%Ihp!%p7xFTUynf){H4s8V{I_{?yl$=Sehd4Yr~bW@c%@r?{A;et8z%7R zt)@Gg`r-KL=llAkdQ`H%7^oD1qtO>`9xtN=d2c0t*s_ogT(nPa^d%w0aI7()G2L^Nl=N-d6H(%;9G*{gkI^-c23+~ST%5*a_h{oOAk?(F8 z&<(*V85AmARSX2s1;lfD{Ev3r%^Lak5f(qsi{*2;9k^jPp48yFk`+2G5}y%DJE56j zeWTnN_RHicS|40KI3>PiiY1EJ$AHtDzJH1sP7v% z9{Iu19$6-XEC&W~>qeW1RPNUss8~1QAkP$rFycAlHvAI_Nr5wqB^Efd?(PUFV8&Xy zUQ(X?)?q1}z=Sd$gUAR+=28ysmgq1`qRoWsxnYeiZZ)o&T+3?F~+yU-gCch;ej*x!lGsFOiaz2l{+ce;jeHp;kBb? zb)lysYe{1K_|x>WE6-mLxG?lQx~tFM!NrfCrS}&|S1ct-0+(JJT}%-87xD(suRsFy zG5kAg&I@;pW-oUVyG|dzn3r=Dh5xKnmzfmlqtIM@=NG%T+?echgdK4U(e{G zRGXQ(sDJ$kDjMw(!bR6;(BFR3A!%Z`wBEH*aL8S>Kg<4N{fpS)i*z}ByB5cOb}C+l z7ykU=t8tOX_r+_1YSc76an|<^H+ye#f~YD+%`E>AuB z#M9fi4fJh)`thB;@har_>WZ#r<#B0$?l_T-xV~Ebm+~>Q5Rb^6U2emEqD^|9(nsxd zg-B%~!Df`(Ec931M!*-N|0l+fF4z~^tk3&?xjw}ytxfa>exaVkSIU@c`WKFp+C}BY zYtZ$OyO%q6zMNI7L_2>WOLghbpE~5OIZ5|U*8uwNo%DKeLGDNK*hKR+CXNiA^!wyK zx8>=VoKt_P@08BP9U^rmH%BpH1b49;6~`xzqOZ5o8PVH-7?!zh_~1q9P5!u7e_jtx zEbaz|5r?~XOWi)VbH@`;Kki=U#xPq7M&8bolelpX#+?V_o)~wM{dnU^t`*dMylh!4 z+I;2UtI|$L&mr7}Q|;5k?!~B$mgFwSp-cLvv`BKAeyQ(_*U_XSg+Vc9HBq(F(RCjA z<_QP;zH*Eo%L9wN2C)#K+5hG|nmO1(7cZjDPG7MrT=c05(h(gSWON5Fd^I}H{=MCh z)7;tFTs@BKdxf+ss8Lkk@_6}*czirg+dDPEsyI8A-M9j$WrI|&G!5=qCTbKFJ$iK5 z>n8{V*Skit?TH=ovh>y!avpI7Wf6%C)-k%!8uoRpMQw&J{^aV89_-k-{9+S>1!^c( z{$GjAP|igsabR%LL`BF$BqX<$HQAsa>qfk)k(K_w?_VH9*6CiOpA`y|pa{uLhP$RR zcagZE(JvjWlTbcjH%E<4yh(`>`5t*s1D#Eom%$b8`eVnjjS(=i56@NX=5K!H9@2Js zlXFX^x3mRFd*ae*fv>o%UR`~}Uv%#B_a{WIEu<8!XE!|{5&mLkzD^Ef{sD7P?#e;o zc+Tdl1B+7dmX=Hh`Pm~F4&y~ex$NBRlG_>{Jg^%t_FUYdivfSOBTVSen#@oq2i!c^ z9+ZF=uu-s#eo&A+@512bfSZoO#|+$pAt~7wvta7mPgS|;OYe%CgFfu~TPN@~ms?3B z3tG{WMwYIVEu#egzM1c)ySY#ILR#X^nYX!Z%$%Lnv~HmermwtJdU<}!uU59*=*SNp zbdSU2rM%|$39N^9ixRLQK497zTmI>-Y`F<`{C3lT`0XD8hyepQ-`(_UqI7D&jdU=l z=7*YYq=;IjH~q>#6BZW7`IqdmW_J&kgB`?D!=vbl zL(03|9Ho2t&ZBz`&)#$lg=Ood;Dp^Vj? z$UVBk8$*XiqL)u@ZOk0 zG%5p`)n+Mfwg0{g zGD>IdF40ty6Ou&VA)Bq7ke+#&i~v;pJ6v#{8`_{53c?xnOLAd>n3^w zN``h+(*MxDvMhN65MA|#Kq}%uzLjMqLL|JpUkBaM}B!`_TohB&r5KJS}t-9!Xz>f zcL`)>c(u@x5l#b_f;2+Ekmk?E5tc{^<;jRlF3ZVsF^6ffidySG3|p33H|L}Oti82A|2#{II^gZw)lPyGu)7?UyfMHTxW8LVl(0(OQuE zOKQG9`0kQ^Hc5spcCuZ4O25wX#mP^f{)^dLNpkYBG6~-yK$-GDbl}PDJDzr@2N#?( zI61Fbw-G5Nb4`stqfOj5d&Hx7kz23KmDo<@=numsHY!gfJZWMfnRXu5cX)iyc_hN} zX3V)6X@A;1fpp#Jy+e2v5g!KdYln5sj{i(jb44YV-;N%Xafd8h@!fg%Edkf_(T7p~ z-fTvEjY_nsiP7>{FVesB=DM7C4&_&XqIaT?T+tu=**=*tcAw=yH&yNy(u(2Al9!3x z+A;aIhfgE7clW6ehZq|iz&Da)wRX4@B{g4&l!XnTgGaDbUTVO9dc-~X#lvTu23b6i z;7vO`0CrzU!9Fbi89nO4lpYexmXL4Nsjg$;kU#DIP^J{TigyI+?rJdu?VufJAN zoiez)c%jDe&l;|<0Y>^?YpY{-u*d>2juQt<6V7eiS>-(p@7)1{L-h9%%qcxPmrN_ z=}I4t^azYd<#ki}LIRet$(4*3AY>7;ypHdTxMF27Ga4SOQ}fQb@gJ@&eWoIIS+Fq^ZhF5ds)kXM(3PpY37v2$- zUwEr*3~NKM^`_slDuU{o)#cg{eWwbqFUZ<^`8EQsTf9aKv0-JEh>fR0MI-5Zs*~2v zoiEA6bysY6OYFsCcRzhDxrAc$+pbH1nWUZDx9)T^O1@huccP0=$1#1=_srHOt!tgm z2a_3o_Gs01S+n7f_YPZE9_=`;&7gOStH9k&#V4H%Ngo|L+AIK1!~34ty8Y?rwnwsv z!S$n}X1`Cjq^*Z3vhbi?@z0OwvH$oHx4dQb9<-jT(F4GPKYXOc_tP zu*?PhDJ%u@FIxCT`SP-xPjCpWhJV*jCmrnZx1YR_sn6h8|2QMuGjbd`>o>amqtWJy z9Nd|(7|?aU{T)R{jfmF`QgJz9nXQia<=M7>u!{e&ycA7^e1rmBER2QSXwKfJcdrNd zxglRSxNhVbAeL4I3xM2US^RL%(WEbjCIGiWxx31MQ`fV(5HZ@-w#p5cb$hQ=5b~5` zQHNMWk2xCol8StcML&|}mKFN-S~^MRR^4N=4pTAyHFf=Z6uwg-*SKr;++f%HF7Lb8 zWQPIknSxo>p& zeob@9licOx4P&>?&;YO4%bCSAC7LKaCABva5xCZ#Z|@YaD09GlunLm{XdY#;uj}Z@ z2f$>Y?$*sU1?!g2HRY>| zMoaqT`|da{#bx4(^8XqwDadDn=RD(+%1eeX1PnO1u-YVAS!Emh_J zBx>!$C-CKOxl6ojg>L|BJZt}_sI?#8&~K@${r`wscM8LQsn2z&|7rXYi%Z&-pN=B= zkEb*N3xoFWo{3!srBqZLAe~K0j zi+h#-K3Y^oe2d3CKeQ%V^w*ogS|5&~r^OS29eQ3| z3iuZAl=AUt(HZ!+xJ*2wjQX7wf2zv=QMBl9y1=!7@pm5<&jq{&Tn`xfT)d$C57D9; z^t`0qbI%pgqIvvXn{WEFs>9 zYWYpht6k4eYk$Ddf2;au=c`ry+ob2KRsGwf=c{$zA8+TYwGlARSL;H+IA4&I(}PQo z^R-m{eMryO(u~@T)&Ga|d@ap-yQ^PZk4w7)Mtv{s4H)&kbi(sSy?&NzJWZ~sU9X>| zbIN-CEY*1Idb(Wwwd?2dPM^NXdCw22o-Qv03_V>w6fpF3c@i-6ba_cx^>n%Uv(&dQ zxI|q2nSQQlS5|#oktNppF}+;T>+PnOE3|ym#}yN5*X#R=8D-VW71e;Dmn+mi(@R^c z+Ep)Yoyw}0wtmm1mo}>(x!$3dwxPfdy|h{Vh#h)q8&kXLqpe76^{0AiD|@@?rENN3 z=%r2Lb9U&ZZNb}3A6I6GV`bILm3d{=%at0B>E%lG*Yt7aluzGeE#LHV<*c_mhF-3$ z1q{7hITtYWa^-@u>gB4OXVb@33Gsxo>g6i+$J(2#w7yI)S5N0*L4SW=;b=AA8lW*>s7nzt?;(^l@FCxS_0ixjt4_y*78j+*H3x7wJ+C~1BPC%pAHy$ zxqenz^>RbTv+3i89C5$0>f;9W$J&=0w7yI)Hxzw()5{H7zUk$Ls@hdAH)#D>`*OpA z+O>VTQT;Q$+^GIp`*NfDXYI?46aIM9%Z;UgufgBbw))cc<;HSgNBeT4`fKgWjTN=4 zer{C%t$n$%=Iy4J8|MOsUT&NZ812hVot{lEH)%Xg&Z}MZa?_Zy>gA>qvHENJxM|kg zo80hhdTEaWM*Gs<8Zh+Io(ULwY0oOFUfRtcZC~28{!BmZGd{iPqrFBvr;O`O#zXD% zo=q<|Yx$;^n>*F6dbzn@S=*PJ3jw2jxmo=)z1%#lc5Pp7o>kWN<>m#?rWZ)yVt*ET zxurE=v@f@)e=a=|-_ovj)yFL{aaLK|ms@h4O)t0f1`NI2(jPGNa?6xw)5k3p;;ORh z<(7uB>IGHe+jnF2*Yt5~x3@Q0%QwB;I^^xvzTBDw487bs7BKX3>y)zU<<`1q(?>^! zxKml%mk#yE^wXjBW$jBx-lsRcbZGgemyVL!RWBV{Ki0l<%&J}6mk#yM^m3c}XYI>v z>YueQxAptuO)s|<0)}30v-;BZ<+dcSLoc_fzt+CoR#dy{=Qj1<+LznP-fnuiZ8~7+ z<+hoCp_khhJeyu_*La#7t6lYSd#|$U<93b5?nk$)zow7dr+oS*S3R3vZm$K5_T~1u zfT5S$>j6VA^5-UHKH(wN%N^#Awl8;R{h5C5nDFUMA9s|ArE#YB-}G|F zg4$Itai_AjFL5?tTuib0XL^ap)UNGItp1r^;)=JMUSjpfG4v8w13TK6cs5|@CARuh zeZ+HWH=bA4_9fPMOfPq8{W^wT?#%e~j-i)3^PWu~cMcJ2d>d6ScTTHa^>U}iV|uw$ z{WX2u+3@L&@6z&3FL%Y>ZtcrmodH8HcVz>HUhc{(t6uIZc{Y9ArS;iltuNEdU0PpF zZs_r<7f9CW(e!e+`eS;zJEwNl%iW2x>g8^&FQ*Ua~cUoEXa__un z)5kKczb1F8UGGQBx{1|4yB{sfd%NjnnfhmXSyocJ>Sb9~S@p7PHel#wSv_FPXD(O& zOfSo`YFE81@AqtaSzZVj?aT6^fT5S=Nx;y{a;s0(%krYyjn#jqsK04K(CTo3~UOH<&e`{Yl=K_XaI_m*L zFDoKt)ys;UXVb?D^GEMbD~f7Yy{ypsvi4=gl-jj@S)uh~dRd|Vm|j*ie0t-Rv9juA zWoN+9%gXM6p_i5FpXp`gnA%k@E6biuFDs`5hF(^xf6flQtegq#(96oIvg%{yEV0I8 zdRaN|?WUKN8lSZEph-PjB4S z>e=+tl?fQ_OILfq&`VbwF!a);{#yT~tLW{fmoD>1_0m;UyXvK@My&N`?Ms)|m+57d z`eXW7mG#FrxuC3iSv3?e^s;I!VCZF)`e%AsHKTUb%c{C()61&)fT5RF>YwRl)k0v0 zURFoSs+ZNR#2Sz3Wp$^wn_gCHe5RMx-GLo?SzYvOdRaY1tnry%R@c<7dReXUm|pHz ze@!3v$3A_Ndp(<8?#~Adz1-g)F!XYNAz(BIp_tsMVm#q3@`p70~*ZWbntgL#;YJFM%B|8(?p_i=sXL`vls9p84CiZN4S<@LX z^s+|%Grg?o4(!m&nw+xgWlb-!#$$R}Gvw{2mo*xn>1EAWV257TR6Uzs*31!We5RMR z8MUik)@nSam$mAz>0@odr*HCvXVc5tQozv5+Npq{m$l`9p_jGlujyr7@%i zWnE6~s+VZ%eutdt$kUi{+M3YRn)F}Syxw9y{yyvGQF%@2<*_ydiBrrvc6mG zs+aWz&!(64LjglC>(xKg%lfgv4!x`|Dyv@BPY`Q7rkC~8-fntXuko2)*3SfX=w(CX z+4QoZomk^Dy==&E*%h zzz)4UsQ#H=9voA<>gB<*XVc4r(*Z*-52}Brmj`D8JM{8kRay1&;4HDmV|saT-rG$t z4{Cg-mj@RDJM_|>^K5$Q?kCpxOfTIfwX0sbH6GJTxB6@P=&t+p#v5Bbn_f0%0)}2T zwg(KoY>WejUN)+~rk9OHZ#TVcG=Eet8>?zpy=<%z&natvcca#q>1C7pV|u~&g8cnT z^|Gm;ta{m`^<{e5G#1#Qmrd%Q>1ET5+Ep)`>Yhz6o8|+CUN)(Jrk70%fgO5zC{k9v zJk(08@t9s7>hyNg%R?HU>E)sBzz)4URP=0md1#7Q<1@WHR8za^E&Vd$Mo`W;?p;|tgL!@SnJF5^6*Sxhh835|4c6rFQ{GhvN`r_dfD6=F!Zun{WHC6 z?hfqG%jTT2>Sc2;vBqP1**xU!rkBkcpXp`uSYU@1+xy*#4v zm|h-He@!2c6ny$7Pk1)HJW>i6dU<3jVCdzMa=_5bBkHf|1;zRPtm-3Y{um>H%m>@} zIhQByS602`w7yI)IrYc%k*oOhO|C1eUUKsRV|UG?&)#$$SURQ)x5JX-eYn>_2;^zvveVCd!1xqzXUN9zGYFI&}L)63SJw_E$N z)%;PtY%Qu?+n22+Vy!>xziid|GQDh7e@q`+8~%9XZLzZIWt-NQwJ+Pc13UDxP5m>y zY#UR%>SbHmv*~5qbimNdHucZ+vTY`?LoeH^%Bq)bv&0&Y>1Erzx0_zJX?&)aZ3}@N zdfA@yY-D#lMnYPySd@)9;8DUw=K)PX~M{ct-i3MT^^)f~(5^ zB3c|{GVrllz;e9$-y?P$|G4?{e?^ylB%Jv453i0co5FhF$0w9`V=3%);3?(tXz@pg z|M7Cbm~VSr{d@R7#nM>GZ&vO97E7^Xu=?|`a27mA_Iki#pAT4$Zv-s%g@9r2jRJ4m~X95;`d%$AHKWV?szusP#?W>KL1A^ix!_n*}e6EmxC7qM*Tmb{=4)!aBpBo`X~AWMt)DgAMxL% z7yDSilHWwYl3y)gNk12`A#)F9$67RRV^8 zzv1#10z2}1vNd4%_he_l$nVMSfRW#mNx+i67_j753Rvu+KayWHuuFcSKSi+?m;7b|7W-_#lHXjw$nWVmV5EN<`=tGQZP`OgP- z$$uf8Kiu{DRR8nYfRTT`H#i>o=W&3GU+N3_=lcUj{`nzg^*^6@HvjYGfF=K#;CRVj z<1_#Bvw>ampHsH{HD1gA*-SeBXFG%Ak^i$ApXL8-cVI{U&sw~i|Fiu;e$dmi69L2j zXEh#|pX5IsxL|96yv{3QRWfF=KOz>>fEn|mr+@~36s1+^-%6k=RDi{V9)FMwD-ZDkG;LgdVV(O`(V%a zt6kp*dtS@ipznh{ujMsa>*ImgzYq3;#@}Qu&&D4wXn9T6cx}A;!k90AqrMOJLQz@A zCofDW>-hBr^~d_#FQ`9Fp40T&-+od3v+>xA?P}Nl_lsH2*8hI7pEyx|(Z3J&;+XP5 z|327@W#!NO`(Q855YH>?c<9B2fHD5*Z&&_X|2|m1`J>~XeyuMX|MU;}^o}w9=~w@3 z{L`=gImY;>U+dG>&-H74Hd+0*@lXG>=CAMX^lLme{^+j;c8ovzX9LFgqra}K{{5bp z=hd#`)tA+OJ72FvYRB~;@9({m@oeMOSK0$cd;3ZpFzWl2f@iy4UKt~vP}b|`l^JEd zUS837?0R}d{k7|7SF2CoPbYD=vg&0|L0R>(N8>ZS>{0(sAA8ilCTsbompyf# zpXp`Ke8AAlo<_jX%ifH#>Sb@gXVc4GtSbR^S@p6{{V~1lt9rZXWuKl;$I#0@_1E;WZ%)&z zUiQ_A8_KGe!N{}eWiS&k+LyuhfT5Q`jmPvdn0R}WH9nhfADmXZ>Sa*lF})0`zow7D z1)tt{zm{)$*&lnm>1BUsz|hP7Y{1aV{=Bm4W&f0C)5m_T&nDN^uIc8pZp!(P3fh;&f85N zubV&GpLxAq?W&j8wf?Mqc|EIkZC_s3`ZK+}uKt)lUZ3#kn>?ee?aS+0Urry;%j>nk zj{fEA3(DHQ9BNfoy&O`1OfQGJz1=bNawr!t+LuG>ud_ohhw^Gyy&UQ%9#Yo!<42e^;Yz^J%dq-udO4i&cGJsY^GEe^IIniq%i#jC)}OU6hqb;;FNf71)5qbe zKfcKgW!1}JtuNEdk=DQty&TCZt6q-elvOWB)F0E!k;L0gFGt1#hF*@SzowTX6KYqz z94Qf(l~pfCDxOU*M`i+sUXEzIrkA4{kLlxR?9(?{<1@V+?N__%<*3GEdO528nm&$B z`}9q&c{aTqoeLOxIa&`GdO12DF!YkND(n3y>Gf=SNz5PBOERH$)k`u(to3JlNwmI9 zFNykN`bZZ1@y2g-Dyv@J(E2jHypap+(90V`%Bq()#*|erZ>T?}mp7)p-SqNCC1B{~ z4fWUb@KL*q5Q9MgDAAIJKA`X+09rk7(SwX0r^ zX*{NvW9qNz<5=CNHy&yAY0>mj_Rsu$*=Rvo^)jmUWqKJM3+&L#XjxhHGFnkqy^N|q zrkByWx0_x@=L3dbM%7=_%jkmIRWHXQ;*7HD<#_Db^m4p2VCdzz#%p>xuJM>Yj+cD; zCTo1Am*cZ)SG^q9cuX(H)nC)ciFTj9$vMxamlM4KLoX-t0Yfh*`U8euPN=`8mlHGI zZhARk{-|C~ET~=ea(BIZQtQj~a#H;&x_VvJ%*#my>hK zs+W`V%Bq(!^~dxw*6!`5m$5it=w(d(HNA{w)vkIO>n841R=te%dp5m{6#|A{#x!2j z%b3Pv`WTz_>6@(anO@$E)UJAYQ{yqcys7@0KHkjx^i3Y~Y6={fY76Loe^DzowUW z%W7A>ygN-iqpW&)ch^1Nr$%X^K0p_lg-0)}3SQNYkkF;@NuzrL+l@N9Z1nm?+SVp;8~mtuuj z>(BI3)cP{L6xAQo$NL$7e3Ns^s+ae*zDzIg_Xl?9<^7_v>gD~Cvg+l1^~dz`e%0Ge zFYnI=486Rs{+eFipHsW)<^4KwLs|9mLFC!=@rRk zd@!wc)yoGOkLl$D_1E=S8^zxC`m+9pr^~dz_QLjI~$z#f@mye18<9_r}DPZX3qZwt@ z%SW@ys+W({AJfZ63*K&e`8Wy~dihxWHNAYCQM>Bp<96asW!1~a-JVS^ALjywUOv`% zO)np7Jf@G2r+xY+Yka1ckLzkzy?m_km|i|ne@!2sWPSQ3_j@+Id{PJ)dii81VCdzO zBw*;}6ZO~h@=49xO)sCAKdP5cGiq18d>RvL{h3}q)%r5Me5(GKK0Yn_W}GVBJ1s@mx=Cxp_d8u*Yq;ct9I4PM4q^yta_P9 zJeyu7#sY?3CNy5t%Y?>b`k1Ku^i9_IOfR3ct6lZ-nZ{#!`Aq#aeS9|L(>J-~+4S<+ zRKU>7XXSvQm(QjHhF(5Xe@!o+w|cwj<#Y2#_40YI+Ep)~_Y-UVnO;8E`ZB$IuKt)l zKA-W&H+f!J_42vam+9q;D6m5>Uvw&~UcTs7R=s?o{+M3A81i=0%NI$&(90Lw{ znO?rs`ZB$Iss5NgzHIp8jlYVORWDz428{dBSKR?aFJBduRWDy9%Bq*I)F0E!S7mQE zy?iwtF!b`3`fGamYDVpvfP1g9V zefjN#+Ep*V)p$%Vzg2%tAHSXR>5WT~XVXimHDKtalnEGmDYXX-y_D2n(@Sa0+f6Se z^GEekno+yzr8G-iQ%3#uqwJE_m+9qe^~dz_b*E3?nUZ` z%h%J&s+X_TAJfa%bKY)x`MMr3^zya(YkK**p?1~F*9&R>rd3(>@=d#E)5|w;z|hM# z8n5Z)8;!^G@y&!!-(-!?^zuzr?W&h=G#=B-H|nqHE-)QwX0sf&l2a9 zRWIM?J)2&>?++My`Cj8Sy?n3nm_EL*`t(h<`q%r>50TncFF&Y%riUMTz1{TigZkqb zdiX*8aST2Dp#C_99)2k5@&Dk*%Rfwcw)ek&s1VO8@9^(`{m=;b(kS|!`rD)LfBmji z?fU-L@7e>t9_hOSmgCi*9)17ocQf8@?|=QSrmXLO{ccWK-~akuJz$*Q->HB0{?}AS z*H?cUwe(*bMN>KD*{G$k6r5N7yQpP!Q55|%zYU_F1m2cy;^>f`sw<5J}582!a6rmh3g<|2Ar!fc}23_0#*OsC82ELp&~j;Z@-IfR}(9o}XAAwaUHb_Y0ow@5TJs z>Dm5X%#TCFW5nwJYW;gLKTdnQ{k@nUXOtiDe=p|8s%QKAFh9)(GlHRbt<-$bo{btCNRul;?PQ!{Em61A4a zuJvW-;}7ajle>NTCg=3{Z=%-IINyIrJlp#Ve^7s#tmWtQeT6@0{WN)AkJtAX{@6;K z@w`RfU-+Yz-(;>=pAH0r%vU^qt<_e{^n2F zfT8c7w0@sFgg>Q$`@>HKwHuES7nO1ST)_H|pC*+5Wwi9N+rbs$D)Fr6XCA?y=0N-T z)130oXlVximet>9gzo{Xf6tzdmbQyM@7sfC{}i=M-U9CTyyLd0W2j;P2HEf8g)cnxECz)z!2; z(@L!VS^CTb?C{_G%``llzt>QC*A!t7{JloX5B$AW(g*%tEBOchUMJ-T^?O~G>|?}J z;Gll5TkvfDUSIHR{$5YzT|Wg&c5+2@GWKTCg8 zKkPyM-ci5>HXY=<~D(}`A*aLrW75@T%J0yMJZ->Mm_Yt^*y%YAJes3>% zHh*uY^6rRX5B$AD$`Aa#L(&KS#*%;FZ(Q+g<;OE=`<)T7lo!sOA2psr(R~a1mdv~k1Tl;%=l0N?K1<&R$Zr7=JDod#{uq_`9s%+s)r)l0K;4~Z2oq&rjPIH z2M7LkmB4|&T?^iB{;s0>TUGb@nZK*%JzIZab(S~}4*XqR@ofIy-|pG`y}vho{QXnl zz~B38;K1K(x3`T#)zZ+)L$3M^x4*Y!} z4-Wi&V8+|c-v_lm&7TL$K0ovK!D-J;dn3)=8F1ilcjDRn?Vj^&{%&kdAHT659QeDj z1P=V&xZv&P?hqA2xPrGOHx2HFKe9sg(@VBQ1 z4*Y$%+uP0GhqXSA7i7h)dwW-^~rr=I4PZ^JiPx=V$(IoA%taH`2U40}lM%F7*L6f49%4)9g9KZ3i1Nq5# zGWWg1=($d$$4%ABe{RV0mM*oIz(`}`yXWfu_$??`es)UyEAcG^9OrmGJ-&RtkRD$? zKb;<5K9BTa{k_l%Mm$#EFJ!?%eZC<61o6L6_iXXMm`@-7ViAni=a)ALRdv)Njagd=URD zQ=TpUU6E(2zg?Z_<9C(7fxo+?{J`H=CI6tlUM;7Oe@)_rKj!ail0NY7wF%;BaNsYb z=h*xm81iiX4v2q2egh3~;BTQ59Qa$1_yd1;Oa8&}yT?46zq^ZMpCz6L2mbEKc{YFd zOnWwe_tetI@0I!q{M|bQ4*cCa=k2D4eUg9R@4gw&=I_30+CG>emhu9B2PZt6zk?0W z=I{RY^zr)>aNzHLi7)W?fTR!V_dqdyJi>GSo4-S?WX}^zd4az}v!2c0gIUk!@4-U) z_=6R2;P1hCaNzIjQeNQi>sp`Io*t6?QQzk8p>EGjJH>aX413`3u*3^Ce}_>4!shSr zR64(5@h|ZAa10LoJv`y&n$B-T{0saY zDS-ojM;5%@{2eW%j~|u%1Aj;BY5Q@C?|3ilfxpKkzQErT8jtyVBA3qZg!mWudtw$G z_vsr2zQ z-fsTBRZAcLw&Wl9D{JkA?RtBg;(L1r_Q2n9i7)VXT;nl+$1Cal-Vy%-f8Xf_2mZcO z_IC64-PZK+?@IoGzwb_vo#K190ej%@dlFyZ?|U594%xABum0zaLJ61Ajltc)R)g z(OCL;S?e15D{EatJ$y{@eO!P&@b_bhFYxyhjmP}`q(7bCC*oh=?T|Fz^F z_$zCjLVv%Z_`b=(9{Br>#25Jct;S>ie%qbS?_2RN@b}v)IPmwoPH#7VzbmDWm$f#b zzp~aQ^jFrxq<9P*`1^g`v-Nj==uM~pJ&u?0WG~8R=?4*fZuY? zT0G17k1h+ijBTkCwLjjCZ8?|5Nt%1bE@i2`cZhf<%{#}yL3umH9+daHA~+~d)@Ox0 zl>tjETHa5xjdcyi!!q}C9sWrf_!-`Y|E|D4<2<(80^Wsfob#q#{1<;L{V2A@ALF8K z8&86-3hYzZzB=H)!nXKq=_}aA>1pyAY~wO&@+`I`9!vi>*p?WL>)4j_XM7&pQvb?_ zPqcVj#%m=v=@jI;v#X0xJ)eZhWS^CYs7WpMw;De5AtitkUb{O66c8X z#0BDnxJXhaVp144q5EqF{#AV_Nah146Tqka%*+CxRGXeyAI-Clp%XeoF&c?=ZOo%32~9QL|i7W5Lbz7#C76E zn&nm$UjK_T#4&M}I7gf(E)XZgMdA{1nYcn+C9VUz#C~iL=Bx;yiJII3X?)mx#;672+y!jkr$SNV9b9!uT)G5XZz>;v8|FxIml` z7l}*6W#S5PmAFP+CvK!!y7FQCS7eA|;w*8FI8R(4PKb-dCE_x1g}6#wBd!xS(kw%l zF#fg-aZH>g&JpK{3&aU=k+?)$Caw@yiEG4l;zpWfs20Y5WrjE=&JyQ{^TY+>gt$mt zA}$kGh^xdk;yQ67%`(&s+CxRGWVT8Hsp zogt2iv&1>#JaK_IAubY^h|9zk;wo{CxK7+ia|Rg3pOGCwe<%|ZXNhyfdEx?bLR=&+ z5toT8#8u)Nah+CxRGX=DhlJj zHbWc}XNhyfdEx?bLR=&+5toT8#8u)Nah+CxRK`TfnogDXNY6sEOCxFPh22Qh>OG};xciCxJq0jt`j%Xd;>6y|Aq{4 zOq?ao5$A~u#0hbcxI|ngt`Jv=Ys7WpMw;#hSN1P`v5GTY%;u3M0xI$bdt`XOX8)gt$mtA}$kGh^xdk;yQ67%~;-$ioYX691~}WbHsV#0&zlIBrXw`i7Uia;u>+C zxRGWoA4$c3TZT9$&JyQ{^TY+>gt$mtA}$kGh^xdk;yQ67&G>{sD*oFu#4&M}I7gf( zE)XZgMdA{1nYcn+C9Vg&JpK{ z3&aU=k+?)$Caw@yiEG4l;zpY90*3M5l_8Fav&1>#JaK_IAubY^h|9zk;wo{CxK7+i z^WDHO{<|~8F>#hSN1P`v5GTY%;u3M0xI$bdt`XOX8)?1=7{-53hBzk966c8X#0BDn zxJX%IbNL(T=6IY0<#5LkNaU;#kfnog1GsH1*mN-Y8CoT{t#6{u~ zahbS6TqUj%*NGcx?gWPMcV>uV;w*8FI8R(4PKb-dCE_x1g}6#wBd!xS(!2r~#=jy% z91~}WbHsV#0&zlIBrXw`i7Uia;u>+CxRK_Sz%c%m8RD2YOPnLl6BmdR;v#X0xJ+Cj zt`gUX>%@&T-v%IbNL(T=6IY0<#5LkNaU;#LoHvZOD?=O; zXNhyfdEx?bLR=&+5toT8#8u)Nahaf!H0Tp_L! z*NE%HjWn+YhVie?5XZz>;v8|FxIml`7l}*6W#S5PmAFP+CvK$qeqb2?{TbqzI7^%( z&J!1i6XGIqiMUK$A+8eFi0j0SG-rWf{Mig~Oe_Zk^8wi$ah|w9oDdg@OT=a33UQUV zMqDRuq%IbNL(T=6IY0<#5LkNaU;!Zfnoe>GsH1*mN-Y8 zCoT{t#6{u~ahbS6TqUj%*NGcxUIz^0mv2O+I3~^#=ZN#f1>%IbNL(T=6IY0<#5LkN zaU;#^fnmJsGsH1*mN-Y8CoT{t#6{u~ahbS6TqUj%*NGcx-T(~a-;g1WiL=Bx;yiJI zI3X?)mx#;672+y!jkr$SNb>{0F#ZQJ#4&M}I7gf(E)XZgMdA{1nYcn+C9Vgt$mtA}$kGh^xdk;yQ67&E3E-{_YHMOq?ao5$A~u#0hbc zxI|ngt`Jv=Ys7WpMw&MQ!}vF5h-2a`agI1oTp&(}i^L`3GI52tN?aqZ6F1WAUfmA* zbDJ_`kBPIyIpREVfjA*95|@a}#1-NyagDf6+(`37!0`M(lp&6Zv&1>#JaK_IAubY^ zh|9zk;wo{CxK7+ia}O|#zb8W+6K9EY#ChTZaY9@qE)kcBE5ude8gZStk>-biVf+tg zh-2a`agI1oTp&(}i^L`3GI52tN?aqZ6F1Vl85qXDIYS&1XNhyfdEx?bLR=&+5toT8 z#8u)Nah#JaK_IAubY^h|9zk;wo{C zxK7+i^P|8p{zo&!F>#hSN1P`v5GTY%;u3M0xI$bdt`XOX8)@DO4CCLLA&!Zv+T zae+7?E)tiB%fuDpDshdtPTWZIHeeY4whVDhoF&c?=ZOo%32~9QL|i7W5Lbz7#C76E znzsYP__t?>W8y4vjyO+TAWn#j#3kY~afP@_TqCX%H`4qVFpU4P3~@}HCC(A&i3`LD zagn%0Tqdp%SBY!Hb>c>v9|wl+CxRK^3fMNVkWQb$pEOCxFPh22Qh>OG} z;xciCxJq0jt`j%X{2O2x|8FwHF>#hSN1P`v5GTY%;u3M0xI$bdt`XOX8)<$L7{>o( zhBzk966c8X#0BDnxJX%IbNL(T=6IY0<#5LkNaU;z;fnoeRGsH1*mN-Y8 zCoT{t#6{u~ahbS6TqUj%*NGcxejXUc|9plxCe9M)i1Wk+;)J+JTp}(LSBR^`HR3vP zBh4=W!}wpw5XZz>;v8|FxIml`7l}*6W#S5PmAFP+CvK$qMPL~Jiy7jWI7^%(&J!1i z6XGIqiMUK$A+8eFi0j0SH1`9;`1>=&F>#hSN1P`v5GTY%;u3M0xI$bdt`XOX8)<$C z7{>onhBzk966c8X#0BDnxJX97;+Qx~oFmQ?7l;$$B5{ehOk5$Z64!|9#Emq|=gPzQ zcV&oU;w*8FI8R(4PKb-dCE_x1g}6#wBd!xS()=ngjQ`aPaZH>g&JpK{3&aU=k+?)$ zCaw@yiEG4l;zpWZ1BUUxmLZObv&1>#JaK_IAubY^h|9zk;wo{CxK7+iGyXhAD*k~C zaZH>g&JpK{3&aU=k+?)$Caw@yiEG4l;zpVa!0`MRGQ=@)mN-Y8CoT{t#6{u~ahbS6 zTqUj%*NGcx-VF@n-<=_jiL=Bx;yiJII3X?)mx#;672+y!jkr$SNb??G82_FOaZH>g z&JpK{3&aU=k+?)$Caw@yiEG4l;zpYH0>k+CW{6|rEOCxFPh22Qh>OG};xciCxJq0j zt`j%Xybl=0zb``^6K9EY#ChTZaY9@qE)kcBE5ude8gZStk>){Q82?~~I3~^#=ZN#f z1>%IbNL(T=6IY0<#5LkNaU;$9fnognGsH1*mN-Y8CoT{t#6{u~ahbS6TqUj%*NGcx zJ^&2kKae4giL=Bx;yiJII3X?)mx#;672+y!jkr$SNb?XdjDILY91~}WbHsV#0&zlI zBrXw`i7Uia;u>+CxRK_Az%c%U8RD2YOPnLl6BmdR;v#X0xJ+Cjt`gUX>%@&TzYYxJ ze?3DS6K9EY#ChUj;&I|h;#0(@iO&$9B|b-dp7=tV5490@5O)#x5cd)9A|56lC!Qoe zMSPn04DngwbHwL~FQj?6jktrji@1llk9ZgHF!4C?B=ITY)5K?p&k~;_K2Llh&4=5F zJBYi8dx-mpcM%U0j}uQ4pCUd@e1`Ze@j2r2#23Z?PxQn=lxQ}=j@i6f?@g(sn z;?u-uh|dzABR)@jAl z5O)#x5cd)9A|56lC!QoeMSPn04DngwbHwL~FQoa6HsTKAF5({IKH^=(!^Gpnlfkn zaTjq9aUbz6;$h-(;z{CD#HWeR5T7MJM|__6LYhb0h&zb8hkiV=ZP<*`JFc64&pB29^yXYUBtu0A z@K~5nuygg{-N{I_=lK56J~%eGcOW^q581-A;gQ4lyP}RJgGVCxFfxGjhoaTP!zT_8 z?B2KU*vP>HftSdAKX&Xryl=n~y8;G|?%y8`AKW{5WMnW%?$V5m9zB-YIXrl5bYOG{ z0gVn1MuSK8A3e5r&_x^_KXQCza9^}~Wc1kR?mhVZ=3)0+D>3SOV(a#&pL1UwLB;?7 z`)TRH@t6K$9+wpVGrzyZEpQIf$h(>LBiqJ{ZKwXu5gT4+8~FV%@b51iU!Dun%Vul9 z{~X&(m2<&<%n$o5`>()1iyxc8Ps{M%c$(-4_R3~ZezXMqE9Ea#C2Jb6w6BP4|E5Xz~7c_*ndf2ySUl%r-p}?I)2MBmd?s=|Nj8Y CW#0h+ diff --git a/KubeArmor/presets/protectproc/protectproc_bpfel.o b/KubeArmor/presets/protectproc/protectproc_bpfel.o deleted file mode 100644 index e93c6eebca7167c6ed5d781e209130b548e2e868..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 165264 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

|grtpCCT=-o0r^svY#qeM7>l|`_ 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 SI)5Dje=wZQe?Cqw`TqdkcyjXq diff --git a/KubeArmor/utils/bpflsmprobe/probe_bpfeb.o b/KubeArmor/utils/bpflsmprobe/probe_bpfeb.o deleted file mode 100644 index c9da0f0aa67225b37fc72f49294d0a768e5e5790..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2504 zcmbtVOK%)S5U#Pk0rCVAgri8&a3ESoW^67IQXtwmS>qrpvSKSrBBaUgx;Gv&v%8v} zwVaTErG!&1J|s6JIC9`_Bo3UA_yJt_4IDXegs*z4W;+8G2U=TQRbSVuyQ^ovY_Bd) zO$Ahqfc}K+0o4kGLn}^e$$XrG{ku*MW?y%_n)bsI-(M`DuS)jhEut9~?V%F*N&Li~ z#O~>SxlAvFUmbVSaB2PO!pCc?0=>k3|HhR(TY|yY*aFi{)~8Bv8Z3~F&47mtGbn@2 zxVAH(hT1_6K^ntVUH1`NcIFtoqthUT&q8j1TA=gCF=4y{a_h&O>ijMqEwR_YPKz_w z`zo7wIgdc)I^i0em3VM1q>+Hm4P~?fRbbs76oje=nvDpS@sW7&PGn4fQm(E@%;Ys(9x zeAqQnchrx1oG6^QH0Q$4DGZB_y&oro{xJL~gjt*?gL~aExUnYRHqCSOtn;Bw9-3jl z>57<}4;SYyB2Ll|o9|S?YO&wDWOhss8H#*t*xJuz$K5O`nw4)E@iFzbIytRgyVAbC z-X@ofI0|)#!<6DBp2vf+HJcQ5t)&RNx0EJ5Gq47iA#Wj+d*ST!7rthhKr)A}=~!itK~TaYpT7wQJIz1)HTC3h0oaq@Z^s3MwT202=-VN(xH&zMYx9^j<#-m+>W+yZ?>aI@&_X& zX=g7|gFK6smiyzb>SXCKi_|W3T5_fHC{<~HM-rVbr)g&t_2WcI7%t;yb#rZblnuKo z?2h_jPf#eBgftg}&m;))j=mqogZ?mhFMwN=#e=)uF{IKe+f~gAe$}Nw#}C!8-z=I~ zTnbheFC$Of51Mb3$-LZ`uBbiLLxnsWD|%Ne>2WuW^JW=qGCr2xy-p?@H?FmBZndQ- zCd?w;;V_YCmCx~DtksT$U9Ba=+iOYUo*HO{+43#~95RUChn#@-!6bg0H84I)L9=-B zJ5lF$d>iLa!SadmCw>e*aZh9glK2S3>glNNIi`JOJ`>90V?`u+@l zfR5z$*C6BT&XgCyN5wz4POgrHWqpU=#DP8e^?$Vvu3zWxaW}SBOA>6vtYkI`By=I8u{{cSj*+!pP1K*K;uKt46{{uKO-tGVZ diff --git a/examples/vagrant-selinux/selinux-test/.gitignore b/examples/vagrant-selinux/selinux-test/.gitignore new file mode 100644 index 0000000000..2c3f7a8908 --- /dev/null +++ b/examples/vagrant-selinux/selinux-test/.gitignore @@ -0,0 +1,5 @@ +# Compiled test binaries - build from .c source files +bash +read +readwrite +write diff --git a/examples/vagrant-selinux/selinux-test/bash b/examples/vagrant-selinux/selinux-test/bash deleted file mode 100755 index b7b16d198a1789bddb4c660d9afa0749e07eddbc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1150584 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

^1}_4L0%BN0 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

VpKyTeUW2H% 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%0ANPKC0DRN|| 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

t4zDbahdavlMMHw#z43&2eoJ2FS$l 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%0A8rt}uqbXIjG9@N{# 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 z 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 Lp8o*<83O!Y7U#4$ diff --git a/examples/vagrant-selinux/selinux-test/read b/examples/vagrant-selinux/selinux-test/read deleted file mode 100755 index c0e25dd103e1f90b5a986a0e3d8a646e5a2a95f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17736 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 diff --git a/examples/vagrant-selinux/selinux-test/readwrite b/examples/vagrant-selinux/selinux-test/readwrite deleted file mode 100755 index cc0f1ee47d251639ed1c56f120ed25a16cdd88dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17136 zcmeHOeQ;b=6~CKJ+5qil3vCIdHVeYoqS>aOltLw&X44lC(Jg!0&AH_Zw4<%c=M$X#;*)};+vb=|vnpu1T4eyuVvU%M z?*_3*%z#`iIkUXk1eBWTc$E`t74HX9a<~(~TjNQ3}a#A>4L1Dmyo}Dt$((gVNU5jrf03-)3dEFeKdwH+Gt|VC4Ef z13QY#zni$5x2XCm^}}8je?}Evu{4$JTD@{*KHGUGfJEaqwI^hN~ZGq+NbV+4WTp>LeXXWY0r_ zWXcEdAszGj??%q#2#+OxohGc5_MjkCrf@#E^ULs&3jB%+{KXacPgLNySKzO&z&`{& zgpWH>?8~+PybAo<3j6`^A$;6v1BgrAB*_>T-82kVi$s6Y5IxzxL`L)#jJ(kGyb5WWZp>RIybIQWiyG+SXU|mA3M_7 zjPjwIs$~`FVyfhyUm?qcKKYrNF6SnbvuSi@VMVboEJ&V1dIRJJiRU+-SDIDl>{jy^ z^W15*&C<-8hgd#-t;y3^_nBGweZt18DPHnpHXaSK(u9pi!>x46#?yVpX;|^(+kXG; zxAA;$lg)^Y=Q)b_@7s9!|At7U12*11j~%q}R*axOYU9t99?Y-jY&?y1PDgG0EG9kl zBH%^9i+~paF9Kc!ya<$uz&mw|-q!}-tkw3_ytq^dZO^DtRXVB-K3jWOYL`}h7W8E4 z@|yv54TAK0sbq5ekEK#+SjzOEHaULGlIa0za{Q1b(}UCG_~VvL4@{He4_PujC{2!k z)spD}X>$B-OQwgi$?-cZnI4oT$73v`b&axhtwOdB@{?g|?UejOm;8uJ{*Fujx=S8% z$$MP#E|*-e%gg@OUOaZIR(w?(d~ITLXU9;@d_+VWn*AUGr46l{11Qbg0+V-#Ar2s; z4b|ibt~zDRL)U~UkFGhVbfT_dH?CeBRtWueslTd)V98mnIH4VS>ssy5DZl1Bq8&SH z%!Pv*<)F57qDRJs?WzBEucKm7`1m$$aNVo)!-H0Q-I%5ATlZ%OV-K7ymB!)-_K}*G zA^Wz&)~cWE$9JNTGTUH>!PKM`cO8#w`>HQrEPX{!EgL-&J=vx0iyqg8Rt@2KTr2)! z>~Z+jiqQ#eaMy$=%*T}!P%^d_^fNS~#zshC-?j;DD0)&W9(#(&r|FBV@0W$JM*d^S z9|SM7eH%~3wH32u#YWB8A{0D-_`{n9L)o+s@aRkq=aX|s(|(VVu?Np^(`sbx6`Hme zYIQ$}o~(O%w0H!U^(bs*^Txi55>zD{okPBCqmw9bG&)$^by_PHCI)w%_7@OW3fU;` zSd5ZYn^cQCVYFwofWab5gH(zO@u6q_y3A?PpiC|?O)hYmtl(fiPyI}>i`>vLwC>YO zgos?S9ZSy895VK!4{&*h&iIXnWiP4m*-@PAD8AKN zd?Qkt`-(Pr*r#3fa^WvDzude%a!X`;<*F=0xL8a_PI+fAwY{ zy;rH8D3$05{bAr^z$bvu0$blMl~TaQ$x`VLz~_LcfxF%*l@?;HR{d_NbPdn|-UFm} zqLh4hZV|rzpzq>YGi!$xPw)DV!Y|hHa6FS+qC<4K@K>erc&f8hL zTU@(f?G-C7yOe11dka1j(36HlA`x%kGX{Q`2$iU=`|xQ;`@cn8G!VSEYW?gPRbNAk zgxq&P*ZC~UpLCQzW|hAH{w7?nT)9~GpO@vWD0>s1QIsdhzAX^^N>zKH{>%PoAT(4R z4J^K|rZv!X?+h)lW^m?)KyxOrCK70h1QxdhLM?&%mO!v2P%GcHtwemr;K%+xiClWg zi+~paF9Kc!ya;#^@FL(vz>9zvf&Y&P@cua74~Iv5nHXpBWvImr-i*n#pB6Mo7nxw~ zyQ6)Wl<3tcr3EGk-hW5y9ZFpO-q})?1-h=i_Q(f@hvw9`Z zQ^=sqM8DdXMz4e^9XG*R2l8IN3l(3h2m1rSBN)J^7;@@X^NLx zQm$A2@Lr6|r3IFqQhr}u|38$>*P-10&w%%HyB#*E{%%&dS>bI8`xNe0IIM6);Q@ti zzaJ*^{>u&P*RKsN-quyf7=_SP;T7Sg#${I)q`2&^y#L(ESBo!{^;2VwU#I>I!QFqf+|6bB#g9`Ip|X5HjF#o=#L=>R&^oW-tapy!`NGL#b8g7an0ddrz}k;*FZJVY z?JKK4&zgUn`tz-M$H`wP%8h%!sJG?`r#@!6W;1VEZf*R~f<^23u>dc$gUx&f_#Pt4pLFw~;Z?57MnVCL*CZ(V0{ksJJ z5URxV`=S;Xc0Tos`aj42m+BS&8ip<<`I{VYG58P>uJl{UPai+6(vM3S;`J5yB={iy z+q%bFUj_a1iLaV|-_dWMs_Bl(M=J17RN#LDp4#KSFHTg@e;0hnQKKpN5&t<=7YUyC zStUq3wNx2ZtAYmb)Gr~`FA2pz4Gd!Z*EcId!HcpzQ}fbN#V>^)(s#%6YUTfd3rt1% zn<}!+l2^ty*jj;4RNx1|)AhRR-6QpbqFr^4{4E&ud;@&QRv%{%fWMRlJ9g)cyiveT zmTob1GDA1gI!=FN5_CEwp4E4xvR$#19yhYNydEp`i|%Z?FO@J7@$j0a)lKD<=$J@S zkL7Z)0X>m1asxO+5=$racp;r0fQe1gp=mf&>9mPFc!GB6dfS%B#;6{>u2sj$5T`QE zq_p02U1VeXdS{6|i~CP8q zv&D{t(K28p+H%=+Tau2a{EMS2bc&|AnUB2CK^J*g#!2akc+7~YLp81<*8!ZV(v|8g z&J-h$(YTM>xQnSK^CXQrq2pF?9<|Zq`K;a>%f#h%Zh~bznb8aR1fBP>!a`jHxhtPn zuH``=d5*~Gp3WCJ8S@B{lhbt^|505U>%(EBIK{g&I~DD+r+=IWken_>I6sg!VqHKZ zXJRksaH1)Z>l5Kj)<}eRWD4QF98N&xi~$?fRY>C8Tr#exNK1R85!)f8dT%V>E5h-C z45~2E$eAUdOXTv&Y{ntzD9a^MF)~oOzLX)tGKOJf!#lDNDU(lhi?EUChe-Dew6k)c zgcH5$4(W}<8%w4S^Hwn}IFG7g=_H()=IAF8#%-F$t!KaA|HC{zp@u9U5+w*fYV+dvT#Oo&JRwHA#zfnC`GhW7u3VHr#y4_{Z&*h9ER#fP= zzXAN;v9{v&^ZJvK>*w{SyZtfP)7q2m`8l7lmx7B#*GO5m=XGKd99=To^Ll`h*SAoS zNx5TD+<_de9oe4O4UD`F<@U24<6W?)wJ6KHzF=%pHM!f*4H!a(V#@Zs4q+Tsid?_@ z`oF2{Ta+HJR~UJHPWBWtxBWxlC?@P5|IE##(ESAN?*DJQ>_f_qaYVUeaJd(cy6i`l z0we2JvOnOm=k*lhFdHgle~dqM+4DJh##QQmVmEBZ@-r@bUY{}Y?>wyUj^EFfJ@>x| zDNTiVGIS)j{jX3;{m1r|&R??=xBW{ldtMhZYUJFOc>FN+Ix@7z;xO?#g3o8W^;u?o z8@6>ed;WcEcOyt7)-$CknfWs)ps~yK^Lmue+w-}4y8kG#9rxo8z|keLJ^#MduO4vs zl94U3J>v`*+wDcOQf@Ml>tPpc$MP%~6UX)Q^K4MryY;Cqdzz!_SL#*~+h1WZW`^zU z$YaN@+RXKC&8el8vGMq1!9aEaod DG!ysw diff --git a/examples/vagrant-selinux/selinux-test/write b/examples/vagrant-selinux/selinux-test/write deleted file mode 100755 index bc436df10cd08c19453b24e1e34298bf539bf1ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17736 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 Jhkzp}{tY93b>{#8 From 20485f35880e2ff346a688c0557ce55a0ca70322 Mon Sep 17 00:00:00 2001 From: asmit27rai Date: Wed, 8 Jul 2026 22:48:21 +0530 Subject: [PATCH 02/24] build failure Signed-off-by: asmit27rai --- .github/workflows/ci-test-go.yml | 21 +++++++++++++++++++++ Dockerfile | 2 +- KubeArmor/Makefile | 9 +++++---- pkg/KubeArmorOperator/Dockerfile | 6 ++++++ 4 files changed, 33 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci-test-go.yml b/.github/workflows/ci-test-go.yml index 334c172a6f..c9079e3e65 100644 --- a/.github/workflows/ci-test-go.yml +++ b/.github/workflows/ci-test-go.yml @@ -72,6 +72,13 @@ jobs: with: go-version-file: 'KubeArmor/go.mod' + - name: Install LLVM/Clang + run: ./.github/workflows/install-llvm.sh + + - name: Generate BPF files + run: go generate ./... + working-directory: KubeArmor + - name: Run Gosec Security Scanner run: make gosec working-directory: KubeArmor @@ -85,6 +92,13 @@ jobs: with: go-version-file: 'KubeArmor/go.mod' + - name: Install LLVM/Clang + run: ./.github/workflows/install-llvm.sh + + - name: Generate BPF files + run: go generate ./... + working-directory: KubeArmor + - name: Run govulncheck run: make scan working-directory: KubeArmor @@ -98,6 +112,13 @@ jobs: with: go-version-file: 'KubeArmor/go.mod' + - name: Install LLVM/Clang + run: ./.github/workflows/install-llvm.sh + + - name: Generate BPF files + run: go generate ./... + working-directory: KubeArmor + - name: Run go test on the KubeArmor/KubeArmor directory run: go test ./... working-directory: KubeArmor diff --git a/Dockerfile b/Dockerfile index db3c676a4f..bf4248d409 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,7 +6,7 @@ FROM golang:1.26-alpine3.22@sha256:457d8584db11412777c4196146b8060fdaabe0b0ba7b62c553d08e07d8c22bd3 AS builder RUN apk --no-cache update && apk upgrade --no-cache libcrypto3 libssl3 zlib libexpat -RUN apk add --no-cache git clang llvm make gcc protobuf protobuf-dev curl elfutils-dev +RUN apk add --no-cache git clang llvm make gcc protobuf protobuf-dev curl elfutils-dev libbpf-dev WORKDIR /usr/src/KubeArmor diff --git a/KubeArmor/Makefile b/KubeArmor/Makefile index 26e4082a17..cbe51c2352 100644 --- a/KubeArmor/Makefile +++ b/KubeArmor/Makefile @@ -27,11 +27,9 @@ ifneq (, $(shell which bpftool)) ifneq (, $(wildcard /sys/kernel/btf/vmlinux)) cd $(CURDIR); bpftool btf dump file /sys/kernel/btf/vmlinux format c > BPF/vmlinux.h || true endif -ifneq (, $(shell which llvm-strip)) - if grep -q bpf '/sys/kernel/security/lsm'; then \ - cd $(CURDIR); go generate ./... || true; \ - fi endif +ifneq (, $(shell which clang)) + cd $(CURDIR); go generate ./... endif cd $(CURDIR); CGO_ENABLED=0 go build -ldflags "$(GIT_INFO)" -o kubearmor main.go @@ -75,6 +73,9 @@ test: .PHONY: testall testall: cd $(CURDIR); sudo rm -f /tmp/kubearmor.log +ifneq (, $(shell which clang)) + cd $(CURDIR); go generate ./... +endif cd $(CURDIR)/feeder; go mod tidy cd $(CURDIR)/feeder; sudo -E $(GO_EXEC) clean -testcache .; sudo -E $(GO_EXEC) test -v -coverprofile=.coverprofile . cd $(CURDIR)/enforcer; go mod tidy diff --git a/pkg/KubeArmorOperator/Dockerfile b/pkg/KubeArmorOperator/Dockerfile index 36b27292c0..24668f8ec8 100644 --- a/pkg/KubeArmorOperator/Dockerfile +++ b/pkg/KubeArmorOperator/Dockerfile @@ -12,6 +12,12 @@ ADD deployments deployments ADD KubeArmor KubeArmor ADD pkg/KubeArmorController pkg/KubeArmorController +# Install clang, llvm, and libbpf dependencies to compile BPF bytecode +RUN apt-get update && apt-get install -y clang llvm libbpf-dev libelf-dev && rm -rf /var/lib/apt/lists/* + +# Generate BPF bytecode +RUN cd KubeArmor && go generate ./... + # KubeArmorOperator directory ARG OPERATOR_DIR=pkg/KubeArmorOperator WORKDIR /KubeArmor/$OPERATOR_DIR From 9c0432a059c75d71a02e91475518783ec83f09e2 Mon Sep 17 00:00:00 2001 From: asmit27rai Date: Wed, 8 Jul 2026 23:48:57 +0530 Subject: [PATCH 03/24] fix Signed-off-by: asmit27rai --- .codespellrc | 2 +- .github/workflows/ci-test-go.yml | 25 +- .github/workflows/ci-test-systemd.yml | 18 +- .gitignore | 3 - KubeArmor/BPF/vmlinux.h | 162244 +++++++++++++++++++++++ 5 files changed, 162273 insertions(+), 19 deletions(-) create mode 100644 KubeArmor/BPF/vmlinux.h diff --git a/.codespellrc b/.codespellrc index 333512ab76..f6fda9ca44 100644 --- a/.codespellrc +++ b/.codespellrc @@ -1,4 +1,4 @@ [codespell] -skip = .git,vendor,*.pb.go,go.sum,*.svg,*.png,*.jpg,*.gif,*.ico,*.woff,*.woff2,*.ttf,*.eot +skip = .git,vendor,*.pb.go,go.sum,*.svg,*.png,*.jpg,*.gif,*.ico,*.woff,*.woff2,*.ttf,*.eot,KubeArmor/BPF/vmlinux.h ignore-words-list = NotIn,fpt,smpt,te,nam,aks,IST,MKE quiet-level = 2 diff --git a/.github/workflows/ci-test-go.yml b/.github/workflows/ci-test-go.yml index c9079e3e65..8640f36050 100644 --- a/.github/workflows/ci-test-go.yml +++ b/.github/workflows/ci-test-go.yml @@ -17,7 +17,7 @@ on: - "protobuf/**" - ".github/workflows/ci-test-go.yml" - "pkg/KubeArmorOperator/**" - + # Declare default permissions as read only. permissions: read-all @@ -29,7 +29,7 @@ jobs: - uses: actions/setup-go@40f1582b2485089dde7abd97c1529aa768e1baff # v5 with: - go-version-file: 'KubeArmor/go.mod' + go-version-file: "KubeArmor/go.mod" - name: Check gofmt run: make gofmt @@ -42,7 +42,7 @@ jobs: - uses: actions/setup-go@40f1582b2485089dde7abd97c1529aa768e1baff # v5 with: - go-version-file: 'KubeArmor/go.mod' + go-version-file: "KubeArmor/go.mod" - name: Run Revive Action on KubeArmor uses: morphy2k/revive-action@bd8016177e3722fe0aad85e22507805641be5bb1 # v2 @@ -56,7 +56,7 @@ jobs: - uses: actions/setup-go@40f1582b2485089dde7abd97c1529aa768e1baff # v5 with: - go-version-file: 'KubeArmor/go.mod' + go-version-file: "KubeArmor/go.mod" - name: Run Revive Action on KubeArmor tests uses: morphy2k/revive-action@bd8016177e3722fe0aad85e22507805641be5bb1 # v2 @@ -70,11 +70,14 @@ jobs: - uses: actions/setup-go@40f1582b2485089dde7abd97c1529aa768e1baff # v5 with: - go-version-file: 'KubeArmor/go.mod' + go-version-file: "KubeArmor/go.mod" - name: Install LLVM/Clang run: ./.github/workflows/install-llvm.sh + - name: Install libbpf headers + run: sudo apt-get update && sudo apt-get install -y libbpf-dev + - name: Generate BPF files run: go generate ./... working-directory: KubeArmor @@ -90,16 +93,19 @@ jobs: - uses: actions/setup-go@40f1582b2485089dde7abd97c1529aa768e1baff # v5 with: - go-version-file: 'KubeArmor/go.mod' + go-version-file: "KubeArmor/go.mod" - name: Install LLVM/Clang run: ./.github/workflows/install-llvm.sh + - name: Install libbpf headers + run: sudo apt-get update && sudo apt-get install -y libbpf-dev + - name: Generate BPF files run: go generate ./... working-directory: KubeArmor - - name: Run govulncheck + - name: Run govulncheck run: make scan working-directory: KubeArmor @@ -110,11 +116,14 @@ jobs: - uses: actions/setup-go@40f1582b2485089dde7abd97c1529aa768e1baff # v5 with: - go-version-file: 'KubeArmor/go.mod' + go-version-file: "KubeArmor/go.mod" - name: Install LLVM/Clang run: ./.github/workflows/install-llvm.sh + - name: Install libbpf headers + run: sudo apt-get update && sudo apt-get install -y libbpf-dev + - name: Generate BPF files run: go generate ./... working-directory: KubeArmor diff --git a/.github/workflows/ci-test-systemd.yml b/.github/workflows/ci-test-systemd.yml index 108c1f0448..8e696ccd7a 100644 --- a/.github/workflows/ci-test-systemd.yml +++ b/.github/workflows/ci-test-systemd.yml @@ -30,7 +30,7 @@ jobs: - uses: actions/setup-go@40f1582b2485089dde7abd97c1529aa768e1baff # v5 with: - go-version-file: 'KubeArmor/go.mod' + go-version-file: "KubeArmor/go.mod" - name: Install the latest LLVM toolchain run: ./.github/workflows/install-llvm.sh @@ -51,9 +51,15 @@ jobs: go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.36.11 go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.6.1 echo "$(go env GOPATH)/bin" >> "$GITHUB_PATH" - + + - name: Compile libbpf + run: | + git clone https://github.com/kubearmor/libbpf + cd libbpf && make + echo "LIBBPF_INCLUDE=$(pwd)/include" >> "$GITHUB_ENV" + - name: Build Systemd Release - run: make local-release + run: BPF_CFLAGS="-I${LIBBPF_INCLUDE}" make -C KubeArmor build working-directory: KubeArmor - name: Install KubeArmor @@ -62,12 +68,10 @@ jobs: - name: Check journalctl run: sudo journalctl -u kubearmor --no-pager - - - name: Test kubearmor using ginkgo + + - name: Test kubearmor using ginkgo run: | go install -mod=mod github.com/onsi/ginkgo/v2/ginkgo make working-directory: ./tests/nonk8s_env timeout-minutes: 30 - - diff --git a/.gitignore b/.gitignore index fe27b6310e..8c0ddd541f 100644 --- a/.gitignore +++ b/.gitignore @@ -24,9 +24,6 @@ contribution/vagrant/*.log # object files **/BPF/**/*.o -# kernel header -vmlinux.h - # ignore list **/ignore.lst **/syscheck diff --git a/KubeArmor/BPF/vmlinux.h b/KubeArmor/BPF/vmlinux.h new file mode 100644 index 0000000000..37bcede19f --- /dev/null +++ b/KubeArmor/BPF/vmlinux.h @@ -0,0 +1,162244 @@ +#ifndef __VMLINUX_H__ +#define __VMLINUX_H__ + +#ifndef BPF_NO_PRESERVE_ACCESS_INDEX +#pragma clang attribute push (__attribute__((preserve_access_index)), apply_to = record) +#endif + +#ifndef __ksym +#define __ksym __attribute__((section(".ksyms"))) +#endif + +#ifndef __weak +#define __weak __attribute__((weak)) +#endif + +#ifndef __bpf_fastcall +#if __has_attribute(bpf_fastcall) +#define __bpf_fastcall __attribute__((bpf_fastcall)) +#else +#define __bpf_fastcall +#endif +#endif + +enum { + ACOMP_WALK_SLEEP = 1, + ACOMP_WALK_SRC_LINEAR = 2, + ACOMP_WALK_DST_LINEAR = 4, +}; + +enum { + ACPI_BATTERY_ALARM_PRESENT = 0, + ACPI_BATTERY_XINFO_PRESENT = 1, + ACPI_BATTERY_QUIRK_PERCENTAGE_CAPACITY = 2, + ACPI_BATTERY_QUIRK_THINKPAD_MAH = 3, + ACPI_BATTERY_QUIRK_DEGRADED_FULL_CHARGE = 4, +}; + +enum { + ACPI_BUTTON_LID_INIT_IGNORE = 0, + ACPI_BUTTON_LID_INIT_OPEN = 1, + ACPI_BUTTON_LID_INIT_METHOD = 2, + ACPI_BUTTON_LID_INIT_DISABLED = 3, +}; + +enum { + ACPI_GENL_ATTR_UNSPEC = 0, + ACPI_GENL_ATTR_EVENT = 1, + __ACPI_GENL_ATTR_MAX = 2, +}; + +enum { + ACPI_GENL_CMD_UNSPEC = 0, + ACPI_GENL_CMD_EVENT = 1, + __ACPI_GENL_CMD_MAX = 2, +}; + +enum { + ACPI_REFCLASS_LOCAL = 0, + ACPI_REFCLASS_ARG = 1, + ACPI_REFCLASS_REFOF = 2, + ACPI_REFCLASS_INDEX = 3, + ACPI_REFCLASS_TABLE = 4, + ACPI_REFCLASS_NAME = 5, + ACPI_REFCLASS_DEBUG = 6, + ACPI_REFCLASS_MAX = 6, +}; + +enum { + ACPI_RSC_INITGET = 0, + ACPI_RSC_INITSET = 1, + ACPI_RSC_FLAGINIT = 2, + ACPI_RSC_1BITFLAG = 3, + ACPI_RSC_2BITFLAG = 4, + ACPI_RSC_3BITFLAG = 5, + ACPI_RSC_6BITFLAG = 6, + ACPI_RSC_ADDRESS = 7, + ACPI_RSC_BITMASK = 8, + ACPI_RSC_BITMASK16 = 9, + ACPI_RSC_COUNT = 10, + ACPI_RSC_COUNT16 = 11, + ACPI_RSC_COUNT_GPIO_PIN = 12, + ACPI_RSC_COUNT_GPIO_RES = 13, + ACPI_RSC_COUNT_GPIO_VEN = 14, + ACPI_RSC_COUNT_SERIAL_RES = 15, + ACPI_RSC_COUNT_SERIAL_VEN = 16, + ACPI_RSC_DATA8 = 17, + ACPI_RSC_EXIT_EQ = 18, + ACPI_RSC_EXIT_LE = 19, + ACPI_RSC_EXIT_NE = 20, + ACPI_RSC_LENGTH = 21, + ACPI_RSC_MOVE_GPIO_PIN = 22, + ACPI_RSC_MOVE_GPIO_RES = 23, + ACPI_RSC_MOVE_SERIAL_RES = 24, + ACPI_RSC_MOVE_SERIAL_VEN = 25, + ACPI_RSC_MOVE8 = 26, + ACPI_RSC_MOVE16 = 27, + ACPI_RSC_MOVE32 = 28, + ACPI_RSC_MOVE64 = 29, + ACPI_RSC_SET8 = 30, + ACPI_RSC_SOURCE = 31, + ACPI_RSC_SOURCEX = 32, +}; + +enum { + ACPI_RSD_TITLE = 0, + ACPI_RSD_1BITFLAG = 1, + ACPI_RSD_2BITFLAG = 2, + ACPI_RSD_3BITFLAG = 3, + ACPI_RSD_6BITFLAG = 4, + ACPI_RSD_ADDRESS = 5, + ACPI_RSD_DWORDLIST = 6, + ACPI_RSD_LITERAL = 7, + ACPI_RSD_LONGLIST = 8, + ACPI_RSD_SHORTLIST = 9, + ACPI_RSD_SHORTLISTX = 10, + ACPI_RSD_SOURCE = 11, + ACPI_RSD_STRING = 12, + ACPI_RSD_UINT8 = 13, + ACPI_RSD_UINT16 = 14, + ACPI_RSD_UINT32 = 15, + ACPI_RSD_UINT64 = 16, + ACPI_RSD_WORDLIST = 17, + ACPI_RSD_LABEL = 18, + ACPI_RSD_SOURCE_LABEL = 19, +}; + +enum { + ACTION_FAIL = 0, + ACTION_REPREP = 1, + ACTION_DELAYED_REPREP = 2, + ACTION_RETRY = 3, + ACTION_DELAYED_RETRY = 4, +}; + +enum { + AFFINITY = 0, + AFFINITY_LIST = 1, + EFFECTIVE = 2, + EFFECTIVE_LIST = 3, +}; + +enum { + AML_FIELD_ACCESS_ANY = 0, + AML_FIELD_ACCESS_BYTE = 1, + AML_FIELD_ACCESS_WORD = 2, + AML_FIELD_ACCESS_DWORD = 3, + AML_FIELD_ACCESS_QWORD = 4, + AML_FIELD_ACCESS_BUFFER = 5, +}; + +enum { + AML_FIELD_ATTRIB_QUICK = 2, + AML_FIELD_ATTRIB_SEND_RECEIVE = 4, + AML_FIELD_ATTRIB_BYTE = 6, + AML_FIELD_ATTRIB_WORD = 8, + AML_FIELD_ATTRIB_BLOCK = 10, + AML_FIELD_ATTRIB_BYTES = 11, + AML_FIELD_ATTRIB_PROCESS_CALL = 12, + AML_FIELD_ATTRIB_BLOCK_PROCESS_CALL = 13, + AML_FIELD_ATTRIB_RAW_BYTES = 14, + AML_FIELD_ATTRIB_RAW_PROCESS_BYTES = 15, +}; + +enum { + AML_FIELD_UPDATE_PRESERVE = 0, + AML_FIELD_UPDATE_WRITE_AS_ONES = 32, + AML_FIELD_UPDATE_WRITE_AS_ZEROS = 64, +}; + +enum { + ARCH_LBR_BR_TYPE_JCC = 0, + ARCH_LBR_BR_TYPE_NEAR_IND_JMP = 1, + ARCH_LBR_BR_TYPE_NEAR_REL_JMP = 2, + ARCH_LBR_BR_TYPE_NEAR_IND_CALL = 3, + ARCH_LBR_BR_TYPE_NEAR_REL_CALL = 4, + ARCH_LBR_BR_TYPE_NEAR_RET = 5, + ARCH_LBR_BR_TYPE_KNOWN_MAX = 5, + ARCH_LBR_BR_TYPE_MAP_MAX = 16, +}; + +enum { + AS3711_REGULATOR = 0, + AS3711_BACKLIGHT = 1, +}; + +enum { + ASCII_NULL = 0, + ASCII_BELL = 7, + ASCII_BACKSPACE = 8, + ASCII_IGNORE_FIRST = 8, + ASCII_HTAB = 9, + ASCII_LINEFEED = 10, + ASCII_VTAB = 11, + ASCII_FORMFEED = 12, + ASCII_CAR_RET = 13, + ASCII_IGNORE_LAST = 13, + ASCII_SHIFTOUT = 14, + ASCII_SHIFTIN = 15, + ASCII_CANCEL = 24, + ASCII_SUBSTITUTE = 26, + ASCII_ESCAPE = 27, + ASCII_CSI_IGNORE_FIRST = 32, + ASCII_CSI_IGNORE_LAST = 63, + ASCII_DEL = 127, + ASCII_EXT_CSI = 155, +}; + +enum { + ASSUME_PERFECT = 255, + ASSUME_VALID_DTB = 1, + ASSUME_VALID_INPUT = 2, + ASSUME_LATEST = 4, + ASSUME_NO_ROLLBACK = 8, + ASSUME_LIBFDT_ORDER = 16, + ASSUME_LIBFDT_FLAWLESS = 32, +}; + +enum { + ATA_EH_SPDN_NCQ_OFF = 1, + ATA_EH_SPDN_SPEED_DOWN = 2, + ATA_EH_SPDN_FALLBACK_TO_PIO = 4, + ATA_EH_SPDN_KEEP_ERRORS = 8, + ATA_EFLAG_IS_IO = 1, + ATA_EFLAG_DUBIOUS_XFER = 2, + ATA_EFLAG_OLD_ER = -2147483648, + ATA_ECAT_NONE = 0, + ATA_ECAT_ATA_BUS = 1, + ATA_ECAT_TOUT_HSM = 2, + ATA_ECAT_UNK_DEV = 3, + ATA_ECAT_DUBIOUS_NONE = 4, + ATA_ECAT_DUBIOUS_ATA_BUS = 5, + ATA_ECAT_DUBIOUS_TOUT_HSM = 6, + ATA_ECAT_DUBIOUS_UNK_DEV = 7, + ATA_ECAT_NR = 8, + ATA_EH_CMD_DFL_TIMEOUT = 5000, + ATA_EH_RESET_COOL_DOWN = 5000, + ATA_EH_PRERESET_TIMEOUT = 10000, + ATA_EH_FASTDRAIN_INTERVAL = 3000, + ATA_EH_UA_TRIES = 5, + ATA_EH_PROBE_TRIAL_INTERVAL = 60000, + ATA_EH_PROBE_TRIALS = 2, +}; + +enum { + ATA_GEN_CLASS_MATCH = 1, + ATA_GEN_FORCE_DMA = 2, + ATA_GEN_INTEL_IDER = 4, +}; + +enum { + ATA_MAX_DEVICES = 2, + ATA_MAX_PRD = 256, + ATA_SECT_SIZE = 512, + ATA_MAX_SECTORS_128 = 128, + ATA_MAX_SECTORS = 256, + ATA_MAX_SECTORS_1024 = 1024, + ATA_MAX_SECTORS_LBA48 = 65535, + ATA_MAX_SECTORS_TAPE = 65535, + ATA_MAX_TRIM_RNUM = 64, + ATA_ID_WORDS = 256, + ATA_ID_CONFIG = 0, + ATA_ID_CYLS = 1, + ATA_ID_HEADS = 3, + ATA_ID_SECTORS = 6, + ATA_ID_SERNO = 10, + ATA_ID_BUF_SIZE = 21, + ATA_ID_FW_REV = 23, + ATA_ID_PROD = 27, + ATA_ID_MAX_MULTSECT = 47, + ATA_ID_DWORD_IO = 48, + ATA_ID_TRUSTED = 48, + ATA_ID_CAPABILITY = 49, + ATA_ID_OLD_PIO_MODES = 51, + ATA_ID_OLD_DMA_MODES = 52, + ATA_ID_FIELD_VALID = 53, + ATA_ID_CUR_CYLS = 54, + ATA_ID_CUR_HEADS = 55, + ATA_ID_CUR_SECTORS = 56, + ATA_ID_MULTSECT = 59, + ATA_ID_LBA_CAPACITY = 60, + ATA_ID_SWDMA_MODES = 62, + ATA_ID_MWDMA_MODES = 63, + ATA_ID_PIO_MODES = 64, + ATA_ID_EIDE_DMA_MIN = 65, + ATA_ID_EIDE_DMA_TIME = 66, + ATA_ID_EIDE_PIO = 67, + ATA_ID_EIDE_PIO_IORDY = 68, + ATA_ID_ADDITIONAL_SUPP = 69, + ATA_ID_QUEUE_DEPTH = 75, + ATA_ID_SATA_CAPABILITY = 76, + ATA_ID_SATA_CAPABILITY_2 = 77, + ATA_ID_FEATURE_SUPP = 78, + ATA_ID_MAJOR_VER = 80, + ATA_ID_COMMAND_SET_1 = 82, + ATA_ID_COMMAND_SET_2 = 83, + ATA_ID_CFSSE = 84, + ATA_ID_CFS_ENABLE_1 = 85, + ATA_ID_CFS_ENABLE_2 = 86, + ATA_ID_CSF_DEFAULT = 87, + ATA_ID_UDMA_MODES = 88, + ATA_ID_HW_CONFIG = 93, + ATA_ID_SPG = 98, + ATA_ID_LBA_CAPACITY_2 = 100, + ATA_ID_SECTOR_SIZE = 106, + ATA_ID_WWN = 108, + ATA_ID_LOGICAL_SECTOR_SIZE = 117, + ATA_ID_COMMAND_SET_3 = 119, + ATA_ID_COMMAND_SET_4 = 120, + ATA_ID_LAST_LUN = 126, + ATA_ID_DLF = 128, + ATA_ID_CSFO = 129, + ATA_ID_CFA_POWER = 160, + ATA_ID_CFA_KEY_MGMT = 162, + ATA_ID_CFA_MODES = 163, + ATA_ID_DATA_SET_MGMT = 169, + ATA_ID_SCT_CMD_XPORT = 206, + ATA_ID_ROT_SPEED = 217, + ATA_ID_PIO4 = 2, + ATA_ID_SERNO_LEN = 20, + ATA_ID_FW_REV_LEN = 8, + ATA_ID_PROD_LEN = 40, + ATA_ID_WWN_LEN = 8, + ATA_PCI_CTL_OFS = 2, + ATA_PIO0 = 1, + ATA_PIO1 = 3, + ATA_PIO2 = 7, + ATA_PIO3 = 15, + ATA_PIO4 = 31, + ATA_PIO5 = 63, + ATA_PIO6 = 127, + ATA_PIO4_ONLY = 16, + ATA_SWDMA0 = 1, + ATA_SWDMA1 = 3, + ATA_SWDMA2 = 7, + ATA_SWDMA2_ONLY = 4, + ATA_MWDMA0 = 1, + ATA_MWDMA1 = 3, + ATA_MWDMA2 = 7, + ATA_MWDMA3 = 15, + ATA_MWDMA4 = 31, + ATA_MWDMA12_ONLY = 6, + ATA_MWDMA2_ONLY = 4, + ATA_UDMA0 = 1, + ATA_UDMA1 = 3, + ATA_UDMA2 = 7, + ATA_UDMA3 = 15, + ATA_UDMA4 = 31, + ATA_UDMA5 = 63, + ATA_UDMA6 = 127, + ATA_UDMA7 = 255, + ATA_UDMA24_ONLY = 20, + ATA_UDMA_MASK_40C = 7, + ATA_PRD_SZ = 8, + ATA_PRD_TBL_SZ = 2048, + ATA_PRD_EOT = -2147483648, + ATA_DMA_TABLE_OFS = 4, + ATA_DMA_STATUS = 2, + ATA_DMA_CMD = 0, + ATA_DMA_WR = 8, + ATA_DMA_START = 1, + ATA_DMA_INTR = 4, + ATA_DMA_ERR = 2, + ATA_DMA_ACTIVE = 1, + ATA_HOB = 128, + ATA_NIEN = 2, + ATA_LBA = 64, + ATA_DEV1 = 16, + ATA_DEVICE_OBS = 160, + ATA_DEVCTL_OBS = 8, + ATA_BUSY = 128, + ATA_DRDY = 64, + ATA_DF = 32, + ATA_DSC = 16, + ATA_DRQ = 8, + ATA_CORR = 4, + ATA_SENSE = 2, + ATA_ERR = 1, + ATA_SRST = 4, + ATA_ICRC = 128, + ATA_BBK = 128, + ATA_UNC = 64, + ATA_MC = 32, + ATA_IDNF = 16, + ATA_MCR = 8, + ATA_ABORTED = 4, + ATA_TRK0NF = 2, + ATA_AMNF = 1, + ATAPI_LFS = 240, + ATAPI_EOM = 2, + ATAPI_ILI = 1, + ATAPI_IO = 2, + ATAPI_COD = 1, + ATA_REG_DATA = 0, + ATA_REG_ERR = 1, + ATA_REG_NSECT = 2, + ATA_REG_LBAL = 3, + ATA_REG_LBAM = 4, + ATA_REG_LBAH = 5, + ATA_REG_DEVICE = 6, + ATA_REG_STATUS = 7, + ATA_REG_FEATURE = 1, + ATA_REG_CMD = 7, + ATA_REG_BYTEL = 4, + ATA_REG_BYTEH = 5, + ATA_REG_DEVSEL = 6, + ATA_REG_IRQ = 2, + ATA_CMD_DEV_RESET = 8, + ATA_CMD_CHK_POWER = 229, + ATA_CMD_STANDBY = 226, + ATA_CMD_IDLE = 227, + ATA_CMD_EDD = 144, + ATA_CMD_DOWNLOAD_MICRO = 146, + ATA_CMD_DOWNLOAD_MICRO_DMA = 147, + ATA_CMD_NOP = 0, + ATA_CMD_FLUSH = 231, + ATA_CMD_FLUSH_EXT = 234, + ATA_CMD_ID_ATA = 236, + ATA_CMD_ID_ATAPI = 161, + ATA_CMD_SERVICE = 162, + ATA_CMD_READ = 200, + ATA_CMD_READ_EXT = 37, + ATA_CMD_READ_QUEUED = 38, + ATA_CMD_READ_STREAM_EXT = 43, + ATA_CMD_READ_STREAM_DMA_EXT = 42, + ATA_CMD_WRITE = 202, + ATA_CMD_WRITE_EXT = 53, + ATA_CMD_WRITE_QUEUED = 54, + ATA_CMD_WRITE_STREAM_EXT = 59, + ATA_CMD_WRITE_STREAM_DMA_EXT = 58, + ATA_CMD_WRITE_FUA_EXT = 61, + ATA_CMD_WRITE_QUEUED_FUA_EXT = 62, + ATA_CMD_FPDMA_READ = 96, + ATA_CMD_FPDMA_WRITE = 97, + ATA_CMD_NCQ_NON_DATA = 99, + ATA_CMD_FPDMA_SEND = 100, + ATA_CMD_FPDMA_RECV = 101, + ATA_CMD_PIO_READ = 32, + ATA_CMD_PIO_READ_EXT = 36, + ATA_CMD_PIO_WRITE = 48, + ATA_CMD_PIO_WRITE_EXT = 52, + ATA_CMD_READ_MULTI = 196, + ATA_CMD_READ_MULTI_EXT = 41, + ATA_CMD_WRITE_MULTI = 197, + ATA_CMD_WRITE_MULTI_EXT = 57, + ATA_CMD_WRITE_MULTI_FUA_EXT = 206, + ATA_CMD_SET_FEATURES = 239, + ATA_CMD_SET_MULTI = 198, + ATA_CMD_PACKET = 160, + ATA_CMD_VERIFY = 64, + ATA_CMD_VERIFY_EXT = 66, + ATA_CMD_WRITE_UNCORR_EXT = 69, + ATA_CMD_STANDBYNOW1 = 224, + ATA_CMD_IDLEIMMEDIATE = 225, + ATA_CMD_SLEEP = 230, + ATA_CMD_INIT_DEV_PARAMS = 145, + ATA_CMD_READ_NATIVE_MAX = 248, + ATA_CMD_READ_NATIVE_MAX_EXT = 39, + ATA_CMD_SET_MAX = 249, + ATA_CMD_SET_MAX_EXT = 55, + ATA_CMD_READ_LOG_EXT = 47, + ATA_CMD_WRITE_LOG_EXT = 63, + ATA_CMD_READ_LOG_DMA_EXT = 71, + ATA_CMD_WRITE_LOG_DMA_EXT = 87, + ATA_CMD_TRUSTED_NONDATA = 91, + ATA_CMD_TRUSTED_RCV = 92, + ATA_CMD_TRUSTED_RCV_DMA = 93, + ATA_CMD_TRUSTED_SND = 94, + ATA_CMD_TRUSTED_SND_DMA = 95, + ATA_CMD_PMP_READ = 228, + ATA_CMD_PMP_READ_DMA = 233, + ATA_CMD_PMP_WRITE = 232, + ATA_CMD_PMP_WRITE_DMA = 235, + ATA_CMD_CONF_OVERLAY = 177, + ATA_CMD_SEC_SET_PASS = 241, + ATA_CMD_SEC_UNLOCK = 242, + ATA_CMD_SEC_ERASE_PREP = 243, + ATA_CMD_SEC_ERASE_UNIT = 244, + ATA_CMD_SEC_FREEZE_LOCK = 245, + ATA_CMD_SEC_DISABLE_PASS = 246, + ATA_CMD_CONFIG_STREAM = 81, + ATA_CMD_SMART = 176, + ATA_CMD_MEDIA_LOCK = 222, + ATA_CMD_MEDIA_UNLOCK = 223, + ATA_CMD_DSM = 6, + ATA_CMD_CHK_MED_CRD_TYP = 209, + ATA_CMD_CFA_REQ_EXT_ERR = 3, + ATA_CMD_CFA_WRITE_NE = 56, + ATA_CMD_CFA_TRANS_SECT = 135, + ATA_CMD_CFA_ERASE = 192, + ATA_CMD_CFA_WRITE_MULT_NE = 205, + ATA_CMD_REQ_SENSE_DATA = 11, + ATA_CMD_SANITIZE_DEVICE = 180, + ATA_CMD_ZAC_MGMT_IN = 74, + ATA_CMD_ZAC_MGMT_OUT = 159, + ATA_CMD_RESTORE = 16, + ATA_SUBCMD_FPDMA_RECV_RD_LOG_DMA_EXT = 1, + ATA_SUBCMD_FPDMA_RECV_ZAC_MGMT_IN = 2, + ATA_SUBCMD_FPDMA_SEND_DSM = 0, + ATA_SUBCMD_FPDMA_SEND_WR_LOG_DMA_EXT = 2, + ATA_SUBCMD_NCQ_NON_DATA_ABORT_QUEUE = 0, + ATA_SUBCMD_NCQ_NON_DATA_SET_FEATURES = 5, + ATA_SUBCMD_NCQ_NON_DATA_ZERO_EXT = 6, + ATA_SUBCMD_NCQ_NON_DATA_ZAC_MGMT_OUT = 7, + ATA_SUBCMD_ZAC_MGMT_IN_REPORT_ZONES = 0, + ATA_SUBCMD_ZAC_MGMT_OUT_CLOSE_ZONE = 1, + ATA_SUBCMD_ZAC_MGMT_OUT_FINISH_ZONE = 2, + ATA_SUBCMD_ZAC_MGMT_OUT_OPEN_ZONE = 3, + ATA_SUBCMD_ZAC_MGMT_OUT_RESET_WRITE_POINTER = 4, + ATA_LOG_DIRECTORY = 0, + ATA_LOG_SATA_NCQ = 16, + ATA_LOG_NCQ_NON_DATA = 18, + ATA_LOG_NCQ_SEND_RECV = 19, + ATA_LOG_CDL = 24, + ATA_LOG_CDL_SIZE = 512, + ATA_LOG_IDENTIFY_DEVICE = 48, + ATA_LOG_SENSE_NCQ = 15, + ATA_LOG_SENSE_NCQ_SIZE = 1024, + ATA_LOG_CONCURRENT_POSITIONING_RANGES = 71, + ATA_LOG_SUPPORTED_CAPABILITIES = 3, + ATA_LOG_CURRENT_SETTINGS = 4, + ATA_LOG_SECURITY = 6, + ATA_LOG_SATA_SETTINGS = 8, + ATA_LOG_ZONED_INFORMATION = 9, + ATA_LOG_DEVSLP_OFFSET = 48, + ATA_LOG_DEVSLP_SIZE = 8, + ATA_LOG_DEVSLP_MDAT = 0, + ATA_LOG_DEVSLP_MDAT_MASK = 31, + ATA_LOG_DEVSLP_DETO = 1, + ATA_LOG_DEVSLP_VALID = 7, + ATA_LOG_DEVSLP_VALID_MASK = 128, + ATA_LOG_NCQ_PRIO_OFFSET = 9, + ATA_LOG_NCQ_SEND_RECV_SUBCMDS_OFFSET = 0, + ATA_LOG_NCQ_SEND_RECV_SUBCMDS_DSM = 1, + ATA_LOG_NCQ_SEND_RECV_DSM_OFFSET = 4, + ATA_LOG_NCQ_SEND_RECV_DSM_TRIM = 1, + ATA_LOG_NCQ_SEND_RECV_RD_LOG_OFFSET = 8, + ATA_LOG_NCQ_SEND_RECV_RD_LOG_SUPPORTED = 1, + ATA_LOG_NCQ_SEND_RECV_WR_LOG_OFFSET = 12, + ATA_LOG_NCQ_SEND_RECV_WR_LOG_SUPPORTED = 1, + ATA_LOG_NCQ_SEND_RECV_ZAC_MGMT_OFFSET = 16, + ATA_LOG_NCQ_SEND_RECV_ZAC_MGMT_OUT_SUPPORTED = 1, + ATA_LOG_NCQ_SEND_RECV_ZAC_MGMT_IN_SUPPORTED = 2, + ATA_LOG_NCQ_SEND_RECV_SIZE = 20, + ATA_LOG_NCQ_NON_DATA_SUBCMDS_OFFSET = 0, + ATA_LOG_NCQ_NON_DATA_ABORT_OFFSET = 0, + ATA_LOG_NCQ_NON_DATA_ABORT_NCQ = 1, + ATA_LOG_NCQ_NON_DATA_ABORT_ALL = 2, + ATA_LOG_NCQ_NON_DATA_ABORT_STREAMING = 4, + ATA_LOG_NCQ_NON_DATA_ABORT_NON_STREAMING = 8, + ATA_LOG_NCQ_NON_DATA_ABORT_SELECTED = 16, + ATA_LOG_NCQ_NON_DATA_ZAC_MGMT_OFFSET = 28, + ATA_LOG_NCQ_NON_DATA_ZAC_MGMT_OUT = 1, + ATA_LOG_NCQ_NON_DATA_SIZE = 64, + ATA_CMD_READ_LONG = 34, + ATA_CMD_READ_LONG_ONCE = 35, + ATA_CMD_WRITE_LONG = 50, + ATA_CMD_WRITE_LONG_ONCE = 51, + SETFEATURES_XFER = 3, + XFER_UDMA_7 = 71, + XFER_UDMA_6 = 70, + XFER_UDMA_5 = 69, + XFER_UDMA_4 = 68, + XFER_UDMA_3 = 67, + XFER_UDMA_2 = 66, + XFER_UDMA_1 = 65, + XFER_UDMA_0 = 64, + XFER_MW_DMA_4 = 36, + XFER_MW_DMA_3 = 35, + XFER_MW_DMA_2 = 34, + XFER_MW_DMA_1 = 33, + XFER_MW_DMA_0 = 32, + XFER_SW_DMA_2 = 18, + XFER_SW_DMA_1 = 17, + XFER_SW_DMA_0 = 16, + XFER_PIO_6 = 14, + XFER_PIO_5 = 13, + XFER_PIO_4 = 12, + XFER_PIO_3 = 11, + XFER_PIO_2 = 10, + XFER_PIO_1 = 9, + XFER_PIO_0 = 8, + XFER_PIO_SLOW = 0, + SETFEATURES_WC_ON = 2, + SETFEATURES_WC_OFF = 130, + SETFEATURES_RA_ON = 170, + SETFEATURES_RA_OFF = 85, + SETFEATURES_AAM_ON = 66, + SETFEATURES_AAM_OFF = 194, + SETFEATURES_SPINUP = 7, + SETFEATURES_SPINUP_TIMEOUT = 30000, + SETFEATURES_SATA_ENABLE = 16, + SETFEATURES_SATA_DISABLE = 144, + SETFEATURES_CDL = 13, + SATA_FPDMA_OFFSET = 1, + SATA_FPDMA_AA = 2, + SATA_DIPM = 3, + SATA_FPDMA_IN_ORDER = 4, + SATA_AN = 5, + SATA_SSP = 6, + SATA_DEVSLP = 9, + SETFEATURE_SENSE_DATA = 195, + SETFEATURE_SENSE_DATA_SUCC_NCQ = 196, + ATA_SET_MAX_ADDR = 0, + ATA_SET_MAX_PASSWD = 1, + ATA_SET_MAX_LOCK = 2, + ATA_SET_MAX_UNLOCK = 3, + ATA_SET_MAX_FREEZE_LOCK = 4, + ATA_SET_MAX_PASSWD_DMA = 5, + ATA_SET_MAX_UNLOCK_DMA = 6, + ATA_DCO_RESTORE = 192, + ATA_DCO_FREEZE_LOCK = 193, + ATA_DCO_IDENTIFY = 194, + ATA_DCO_SET = 195, + ATA_SMART_ENABLE = 216, + ATA_SMART_READ_VALUES = 208, + ATA_SMART_READ_THRESHOLDS = 209, + ATA_DSM_TRIM = 1, + ATA_SMART_LBAM_PASS = 79, + ATA_SMART_LBAH_PASS = 194, + ATAPI_PKT_DMA = 1, + ATAPI_DMADIR = 4, + ATAPI_CDB_LEN = 16, + SATA_PMP_MAX_PORTS = 15, + SATA_PMP_CTRL_PORT = 15, + SATA_PMP_GSCR_DWORDS = 128, + SATA_PMP_GSCR_PROD_ID = 0, + SATA_PMP_GSCR_REV = 1, + SATA_PMP_GSCR_PORT_INFO = 2, + SATA_PMP_GSCR_ERROR = 32, + SATA_PMP_GSCR_ERROR_EN = 33, + SATA_PMP_GSCR_FEAT = 64, + SATA_PMP_GSCR_FEAT_EN = 96, + SATA_PMP_PSCR_STATUS = 0, + SATA_PMP_PSCR_ERROR = 1, + SATA_PMP_PSCR_CONTROL = 2, + SATA_PMP_FEAT_BIST = 1, + SATA_PMP_FEAT_PMREQ = 2, + SATA_PMP_FEAT_DYNSSC = 4, + SATA_PMP_FEAT_NOTIFY = 8, + ATA_CBL_NONE = 0, + ATA_CBL_PATA40 = 1, + ATA_CBL_PATA80 = 2, + ATA_CBL_PATA40_SHORT = 3, + ATA_CBL_PATA_UNK = 4, + ATA_CBL_PATA_IGN = 5, + ATA_CBL_SATA = 6, + SCR_STATUS = 0, + SCR_ERROR = 1, + SCR_CONTROL = 2, + SCR_ACTIVE = 3, + SCR_NOTIFICATION = 4, + SERR_DATA_RECOVERED = 1, + SERR_COMM_RECOVERED = 2, + SERR_DATA = 256, + SERR_PERSISTENT = 512, + SERR_PROTOCOL = 1024, + SERR_INTERNAL = 2048, + SERR_PHYRDY_CHG = 65536, + SERR_PHY_INT_ERR = 131072, + SERR_COMM_WAKE = 262144, + SERR_10B_8B_ERR = 524288, + SERR_DISPARITY = 1048576, + SERR_CRC = 2097152, + SERR_HANDSHAKE = 4194304, + SERR_LINK_SEQ_ERR = 8388608, + SERR_TRANS_ST_ERROR = 16777216, + SERR_UNRECOG_FIS = 33554432, + SERR_DEV_XCHG = 67108864, +}; + +enum { + ATA_READID_POSTRESET = 1, + ATA_DNXFER_PIO = 0, + ATA_DNXFER_DMA = 1, + ATA_DNXFER_40C = 2, + ATA_DNXFER_FORCE_PIO = 3, + ATA_DNXFER_FORCE_PIO0 = 4, + ATA_DNXFER_QUIET = -2147483648, +}; + +enum { + AT_PKT_END = -1, + BEYOND_PKT_END = -2, +}; + +enum { + AUTOP_INVALID = 0, + AUTOP_HDD = 1, + AUTOP_SSD_QD1 = 2, + AUTOP_SSD_DFL = 3, + AUTOP_SSD_FAST = 4, +}; + +enum { + AX25_VALUES_IPDEFMODE = 0, + AX25_VALUES_AXDEFMODE = 1, + AX25_VALUES_BACKOFF = 2, + AX25_VALUES_CONMODE = 3, + AX25_VALUES_WINDOW = 4, + AX25_VALUES_EWINDOW = 5, + AX25_VALUES_T1 = 6, + AX25_VALUES_T2 = 7, + AX25_VALUES_T3 = 8, + AX25_VALUES_IDLE = 9, + AX25_VALUES_N2 = 10, + AX25_VALUES_PACLEN = 11, + AX25_VALUES_PROTOCOL = 12, + AX25_VALUES_DS_TIMEOUT = 13, + AX25_MAX_VALUES = 14, +}; + +enum { + Audit_equal = 0, + Audit_not_equal = 1, + Audit_bitmask = 2, + Audit_bittest = 3, + Audit_lt = 4, + Audit_gt = 5, + Audit_le = 6, + Audit_ge = 7, + Audit_bad = 8, +}; + +enum { + BAD_STACK = -1, + NOT_STACK = 0, + GOOD_FRAME = 1, + GOOD_STACK = 2, +}; + +enum { + BDX_PCI_UNCORE_HA = 0, + BDX_PCI_UNCORE_IMC = 1, + BDX_PCI_UNCORE_IRP = 2, + BDX_PCI_UNCORE_QPI = 3, + BDX_PCI_UNCORE_R2PCIE = 4, + BDX_PCI_UNCORE_R3QPI = 5, +}; + +enum { + BIAS = 2147483648, +}; + +enum { + BIOSET_NEED_BVECS = 1, + BIOSET_NEED_RESCUER = 2, + BIOSET_PERCPU_CACHE = 4, +}; + +enum { + BIOS_FREQ_BASE_PLATFORM = 0, + BIOS_FREQ_BASE_INTERVAL_TIMER = 1, + BIOS_FREQ_BASE_REALTIME_CLOCK = 2, +}; + +enum { + BIOS_STATUS_MORE_PASSES = 1, + BIOS_STATUS_SUCCESS = 0, + BIOS_STATUS_UNIMPLEMENTED = -38, + BIOS_STATUS_EINVAL = -22, + BIOS_STATUS_UNAVAIL = -16, + BIOS_STATUS_ABORT = -4, +}; + +enum { + BIO_PAGE_PINNED = 0, + BIO_CLONED = 1, + BIO_QUIET = 2, + BIO_CHAIN = 3, + BIO_REFFED = 4, + BIO_BPS_THROTTLED = 5, + BIO_TRACE_COMPLETION = 6, + BIO_CGROUP_ACCT = 7, + BIO_QOS_THROTTLED = 8, + BIO_TG_BPS_THROTTLED = 8, + BIO_QOS_MERGED = 9, + BIO_REMAPPED = 10, + BIO_ZONE_WRITE_PLUGGING = 11, + BIO_EMULATES_ZONE_APPEND = 12, + BIO_FLAG_LAST = 13, +}; + +enum { + BLK_MQ_F_TAG_QUEUE_SHARED = 2, + BLK_MQ_F_STACKING = 4, + BLK_MQ_F_TAG_HCTX_SHARED = 8, + BLK_MQ_F_BLOCKING = 16, + BLK_MQ_F_TAG_RR = 32, + BLK_MQ_F_NO_SCHED_BY_DEFAULT = 64, + BLK_MQ_F_MAX = 128, +}; + +enum { + BLK_MQ_NO_TAG = 4294967295, + BLK_MQ_TAG_MIN = 1, + BLK_MQ_TAG_MAX = 4294967294, +}; + +enum { + BLK_MQ_REQ_NOWAIT = 1, + BLK_MQ_REQ_RESERVED = 2, + BLK_MQ_REQ_PM = 4, +}; + +enum { + BLK_MQ_S_STOPPED = 0, + BLK_MQ_S_TAG_ACTIVE = 1, + BLK_MQ_S_SCHED_RESTART = 2, + BLK_MQ_S_INACTIVE = 3, + BLK_MQ_S_MAX = 4, +}; + +enum { + BLK_MQ_UNIQUE_TAG_BITS = 16, + BLK_MQ_UNIQUE_TAG_MASK = 65535, +}; + +enum { + BLOCK_BITMAP = 0, + INODE_BITMAP = 1, + INODE_TABLE = 2, + GROUP_TABLE_COUNT = 3, +}; + +enum { + BPF_ADJ_ROOM_ENCAP_L2_MASK = 255, + BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 56, +}; + +enum { + BPF_ANY = 0, + BPF_NOEXIST = 1, + BPF_EXIST = 2, + BPF_F_LOCK = 4, +}; + +enum { + BPF_CSUM_LEVEL_QUERY = 0, + BPF_CSUM_LEVEL_INC = 1, + BPF_CSUM_LEVEL_DEC = 2, + BPF_CSUM_LEVEL_RESET = 3, +}; + +enum { + BPF_FIB_LKUP_RET_SUCCESS = 0, + BPF_FIB_LKUP_RET_BLACKHOLE = 1, + BPF_FIB_LKUP_RET_UNREACHABLE = 2, + BPF_FIB_LKUP_RET_PROHIBIT = 3, + BPF_FIB_LKUP_RET_NOT_FWDED = 4, + BPF_FIB_LKUP_RET_FWD_DISABLED = 5, + BPF_FIB_LKUP_RET_UNSUPP_LWT = 6, + BPF_FIB_LKUP_RET_NO_NEIGH = 7, + BPF_FIB_LKUP_RET_FRAG_NEEDED = 8, + BPF_FIB_LKUP_RET_NO_SRC_ADDR = 9, +}; + +enum { + BPF_FIB_LOOKUP_DIRECT = 1, + BPF_FIB_LOOKUP_OUTPUT = 2, + BPF_FIB_LOOKUP_SKIP_NEIGH = 4, + BPF_FIB_LOOKUP_TBID = 8, + BPF_FIB_LOOKUP_SRC = 16, + BPF_FIB_LOOKUP_MARK = 32, +}; + +enum { + BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG = 1, + BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL = 2, + BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP = 4, +}; + +enum { + BPF_F_ADJ_ROOM_FIXED_GSO = 1, + BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 2, + BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 4, + BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 8, + BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 16, + BPF_F_ADJ_ROOM_NO_CSUM_RESET = 32, + BPF_F_ADJ_ROOM_ENCAP_L2_ETH = 64, + BPF_F_ADJ_ROOM_DECAP_L3_IPV4 = 128, + BPF_F_ADJ_ROOM_DECAP_L3_IPV6 = 256, +}; + +enum { + BPF_F_BPRM_SECUREEXEC = 1, +}; + +enum { + BPF_F_CURRENT_NETNS = -1, +}; + +enum { + BPF_F_GET_BRANCH_RECORDS_SIZE = 1, +}; + +enum { + BPF_F_HDR_FIELD_MASK = 15, +}; + +enum { + BPF_F_INDEX_MASK = 4294967295ULL, + BPF_F_CURRENT_CPU = 4294967295ULL, + BPF_F_CTXLEN_MASK = 4503595332403200ULL, +}; + +enum { + BPF_F_INGRESS = 1, + BPF_F_BROADCAST = 8, + BPF_F_EXCLUDE_INGRESS = 16, +}; + +enum { + BPF_F_KPROBE_MULTI_RETURN = 1, +}; + +enum { + BPF_F_NEIGH = 65536, + BPF_F_PEER = 131072, + BPF_F_NEXTHOP = 262144, +}; + +enum { + BPF_F_NO_PREALLOC = 1, + BPF_F_NO_COMMON_LRU = 2, + BPF_F_NUMA_NODE = 4, + BPF_F_RDONLY = 8, + BPF_F_WRONLY = 16, + BPF_F_STACK_BUILD_ID = 32, + BPF_F_ZERO_SEED = 64, + BPF_F_RDONLY_PROG = 128, + BPF_F_WRONLY_PROG = 256, + BPF_F_CLONE = 512, + BPF_F_MMAPABLE = 1024, + BPF_F_PRESERVE_ELEMS = 2048, + BPF_F_INNER_MAP = 4096, + BPF_F_LINK = 8192, + BPF_F_PATH_FD = 16384, + BPF_F_VTYPE_BTF_OBJ_FD = 32768, + BPF_F_TOKEN_FD = 65536, + BPF_F_SEGV_ON_FAULT = 131072, + BPF_F_NO_USER_CONV = 262144, +}; + +enum { + BPF_F_PSEUDO_HDR = 16, + BPF_F_MARK_MANGLED_0 = 32, + BPF_F_MARK_ENFORCE = 64, + BPF_F_IPV6 = 128, +}; + +enum { + BPF_F_RECOMPUTE_CSUM = 1, + BPF_F_INVALIDATE_HASH = 2, +}; + +enum { + BPF_F_SKIP_FIELD_MASK = 255, + BPF_F_USER_STACK = 256, + BPF_F_FAST_STACK_CMP = 512, + BPF_F_REUSE_STACKID = 1024, + BPF_F_USER_BUILD_ID = 2048, +}; + +enum { + BPF_F_SYSCTL_BASE_NAME = 1, +}; + +enum { + BPF_F_TIMER_ABS = 1, + BPF_F_TIMER_CPU_PIN = 2, +}; + +enum { + BPF_F_TUNINFO_FLAGS = 16, +}; + +enum { + BPF_F_TUNINFO_IPV6 = 1, +}; + +enum { + BPF_F_UPROBE_MULTI_RETURN = 1, +}; + +enum { + BPF_F_ZERO_CSUM_TX = 2, + BPF_F_DONT_FRAGMENT = 4, + BPF_F_SEQ_NUMBER = 8, + BPF_F_NO_TUNNEL_KEY = 16, +}; + +enum { + BPF_LOAD_HDR_OPT_TCP_SYN = 1, +}; + +enum { + BPF_LOCAL_STORAGE_GET_F_CREATE = 1, + BPF_SK_STORAGE_GET_F_CREATE = 1, +}; + +enum { + BPF_MAX_LOOPS = 8388608, + BPF_MAX_TIMED_LOOPS = 65535, +}; + +enum { + BPF_MAX_TRAMP_LINKS = 38, +}; + +enum { + BPF_RB_AVAIL_DATA = 0, + BPF_RB_RING_SIZE = 1, + BPF_RB_CONS_POS = 2, + BPF_RB_PROD_POS = 3, +}; + +enum { + BPF_RB_NO_WAKEUP = 1, + BPF_RB_FORCE_WAKEUP = 2, +}; + +enum { + BPF_REG_0 = 0, + BPF_REG_1 = 1, + BPF_REG_2 = 2, + BPF_REG_3 = 3, + BPF_REG_4 = 4, + BPF_REG_5 = 5, + BPF_REG_6 = 6, + BPF_REG_7 = 7, + BPF_REG_8 = 8, + BPF_REG_9 = 9, + BPF_REG_10 = 10, + __MAX_BPF_REG = 11, +}; + +enum { + BPF_RINGBUF_BUSY_BIT = 2147483648, + BPF_RINGBUF_DISCARD_BIT = 1073741824, + BPF_RINGBUF_HDR_SZ = 8, +}; + +enum { + BPF_SKB_TSTAMP_UNSPEC = 0, + BPF_SKB_TSTAMP_DELIVERY_MONO = 1, + BPF_SKB_CLOCK_REALTIME = 0, + BPF_SKB_CLOCK_MONOTONIC = 1, + BPF_SKB_CLOCK_TAI = 2, +}; + +enum { + BPF_SK_LOOKUP_F_REPLACE = 1, + BPF_SK_LOOKUP_F_NO_REUSEPORT = 2, +}; + +enum { + BPF_SOCK_OPS_RTO_CB_FLAG = 1, + BPF_SOCK_OPS_RETRANS_CB_FLAG = 2, + BPF_SOCK_OPS_STATE_CB_FLAG = 4, + BPF_SOCK_OPS_RTT_CB_FLAG = 8, + BPF_SOCK_OPS_PARSE_ALL_HDR_OPT_CB_FLAG = 16, + BPF_SOCK_OPS_PARSE_UNKNOWN_HDR_OPT_CB_FLAG = 32, + BPF_SOCK_OPS_WRITE_HDR_OPT_CB_FLAG = 64, + BPF_SOCK_OPS_ALL_CB_FLAGS = 127, +}; + +enum { + BPF_SOCK_OPS_VOID = 0, + BPF_SOCK_OPS_TIMEOUT_INIT = 1, + BPF_SOCK_OPS_RWND_INIT = 2, + BPF_SOCK_OPS_TCP_CONNECT_CB = 3, + BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 4, + BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 5, + BPF_SOCK_OPS_NEEDS_ECN = 6, + BPF_SOCK_OPS_BASE_RTT = 7, + BPF_SOCK_OPS_RTO_CB = 8, + BPF_SOCK_OPS_RETRANS_CB = 9, + BPF_SOCK_OPS_STATE_CB = 10, + BPF_SOCK_OPS_TCP_LISTEN_CB = 11, + BPF_SOCK_OPS_RTT_CB = 12, + BPF_SOCK_OPS_PARSE_HDR_OPT_CB = 13, + BPF_SOCK_OPS_HDR_OPT_LEN_CB = 14, + BPF_SOCK_OPS_WRITE_HDR_OPT_CB = 15, + BPF_SOCK_OPS_TSTAMP_SCHED_CB = 16, + BPF_SOCK_OPS_TSTAMP_SND_SW_CB = 17, + BPF_SOCK_OPS_TSTAMP_SND_HW_CB = 18, + BPF_SOCK_OPS_TSTAMP_ACK_CB = 19, + BPF_SOCK_OPS_TSTAMP_SENDMSG_CB = 20, +}; + +enum { + BPF_STREAM_MAX_CAPACITY = 100000, +}; + +enum { + BPF_TASK_ITER_ALL_PROCS = 0, + BPF_TASK_ITER_ALL_THREADS = 1, + BPF_TASK_ITER_PROC_THREADS = 2, +}; + +enum { + BPF_TCP_ESTABLISHED = 1, + BPF_TCP_SYN_SENT = 2, + BPF_TCP_SYN_RECV = 3, + BPF_TCP_FIN_WAIT1 = 4, + BPF_TCP_FIN_WAIT2 = 5, + BPF_TCP_TIME_WAIT = 6, + BPF_TCP_CLOSE = 7, + BPF_TCP_CLOSE_WAIT = 8, + BPF_TCP_LAST_ACK = 9, + BPF_TCP_LISTEN = 10, + BPF_TCP_CLOSING = 11, + BPF_TCP_NEW_SYN_RECV = 12, + BPF_TCP_BOUND_INACTIVE = 13, + BPF_TCP_MAX_STATES = 14, +}; + +enum { + BPF_WRITE_HDR_TCP_CURRENT_MSS = 1, + BPF_WRITE_HDR_TCP_SYNACK_COOKIE = 2, +}; + +enum { + BPF_XFRM_STATE_OPTS_SZ = 36, +}; + +enum { + BR_MCAST_DIR_RX = 0, + BR_MCAST_DIR_TX = 1, + BR_MCAST_DIR_SIZE = 2, +}; + +enum { + BTF_FIELDS_MAX = 11, +}; + +enum { + BTF_FIELD_IGNORE = 0, + BTF_FIELD_FOUND = 1, +}; + +enum { + BTF_F_COMPACT = 1, + BTF_F_NONAME = 2, + BTF_F_PTR_RAW = 4, + BTF_F_ZERO = 8, +}; + +enum { + BTF_KFUNC_SET_MAX_CNT = 256, + BTF_DTOR_KFUNC_MAX_CNT = 256, + BTF_KFUNC_FILTER_MAX_CNT = 16, +}; + +enum { + BTF_KIND_UNKN = 0, + BTF_KIND_INT = 1, + BTF_KIND_PTR = 2, + BTF_KIND_ARRAY = 3, + BTF_KIND_STRUCT = 4, + BTF_KIND_UNION = 5, + BTF_KIND_ENUM = 6, + BTF_KIND_FWD = 7, + BTF_KIND_TYPEDEF = 8, + BTF_KIND_VOLATILE = 9, + BTF_KIND_CONST = 10, + BTF_KIND_RESTRICT = 11, + BTF_KIND_FUNC = 12, + BTF_KIND_FUNC_PROTO = 13, + BTF_KIND_VAR = 14, + BTF_KIND_DATASEC = 15, + BTF_KIND_FLOAT = 16, + BTF_KIND_DECL_TAG = 17, + BTF_KIND_TYPE_TAG = 18, + BTF_KIND_ENUM64 = 19, + NR_BTF_KINDS = 20, + BTF_KIND_MAX = 19, +}; + +enum { + BTF_MODULE_F_LIVE = 1, +}; + +enum { + BTF_SOCK_TYPE_INET = 0, + BTF_SOCK_TYPE_INET_CONN = 1, + BTF_SOCK_TYPE_INET_REQ = 2, + BTF_SOCK_TYPE_INET_TW = 3, + BTF_SOCK_TYPE_REQ = 4, + BTF_SOCK_TYPE_SOCK = 5, + BTF_SOCK_TYPE_SOCK_COMMON = 6, + BTF_SOCK_TYPE_TCP = 7, + BTF_SOCK_TYPE_TCP_REQ = 8, + BTF_SOCK_TYPE_TCP_TW = 9, + BTF_SOCK_TYPE_TCP6 = 10, + BTF_SOCK_TYPE_UDP = 11, + BTF_SOCK_TYPE_UDP6 = 12, + BTF_SOCK_TYPE_UNIX = 13, + BTF_SOCK_TYPE_MPTCP = 14, + BTF_SOCK_TYPE_SOCKET = 15, + MAX_BTF_SOCK_TYPE = 16, +}; + +enum { + BTF_TRACING_TYPE_TASK = 0, + BTF_TRACING_TYPE_FILE = 1, + BTF_TRACING_TYPE_VMA = 2, + MAX_BTF_TRACING_TYPE = 3, +}; + +enum { + BTF_VAR_STATIC = 0, + BTF_VAR_GLOBAL_ALLOCATED = 1, + BTF_VAR_GLOBAL_EXTERN = 2, +}; + +enum { + BTS_STATE_STOPPED = 0, + BTS_STATE_INACTIVE = 1, + BTS_STATE_ACTIVE = 2, +}; + +enum { + Blktrace_setup = 1, + Blktrace_running = 2, + Blktrace_stopped = 3, +}; + +enum { + C1E_PROMOTION_PRESERVE = 0, + C1E_PROMOTION_ENABLE = 1, + C1E_PROMOTION_DISABLE = 2, +}; + +enum { + CACHE_RH_CNT = 14, +}; + +enum { + CACHE_WH_CNT = 15, +}; + +enum { + CFTYPE_ONLY_ON_ROOT = 1, + CFTYPE_NOT_ON_ROOT = 2, + CFTYPE_NS_DELEGATABLE = 4, + CFTYPE_NO_PREFIX = 8, + CFTYPE_WORLD_WRITABLE = 16, + CFTYPE_DEBUG = 32, + __CFTYPE_ONLY_ON_DFL = 65536, + __CFTYPE_NOT_ON_DFL = 131072, + __CFTYPE_ADDED = 262144, +}; + +enum { + CGROUPSTATS_CMD_ATTR_UNSPEC = 0, + CGROUPSTATS_CMD_ATTR_FD = 1, + __CGROUPSTATS_CMD_ATTR_MAX = 2, +}; + +enum { + CGROUPSTATS_CMD_UNSPEC = 3, + CGROUPSTATS_CMD_GET = 4, + CGROUPSTATS_CMD_NEW = 5, + __CGROUPSTATS_CMD_MAX = 6, +}; + +enum { + CGROUPSTATS_TYPE_UNSPEC = 0, + CGROUPSTATS_TYPE_CGROUP_STATS = 1, + __CGROUPSTATS_TYPE_MAX = 2, +}; + +enum { + CGRP_NOTIFY_ON_RELEASE = 0, + CGRP_CPUSET_CLONE_CHILDREN = 1, + CGRP_FREEZE = 2, + CGRP_FROZEN = 3, +}; + +enum { + CGRP_ROOT_NOPREFIX = 2, + CGRP_ROOT_XATTR = 4, + CGRP_ROOT_NS_DELEGATE = 8, + CGRP_ROOT_FAVOR_DYNMODS = 16, + CGRP_ROOT_CPUSET_V2_MODE = 65536, + CGRP_ROOT_MEMORY_LOCAL_EVENTS = 131072, + CGRP_ROOT_MEMORY_RECURSIVE_PROT = 262144, + CGRP_ROOT_MEMORY_HUGETLB_ACCOUNTING = 524288, + CGRP_ROOT_PIDS_LOCAL_EVENTS = 1048576, +}; + +enum { + CHIP_INVALID = 0, + CHIP_PM8606 = 1, + CHIP_PM8607 = 2, + CHIP_MAX = 3, +}; + +enum { + CHT_WC_PWRSRC_IRQ = 0, + CHT_WC_THRM_IRQ = 1, + CHT_WC_BCU_IRQ = 2, + CHT_WC_ADC_IRQ = 3, + CHT_WC_EXT_CHGR_IRQ = 4, + CHT_WC_GPIO_IRQ = 5, + CHT_WC_CRIT_IRQ = 7, +}; + +enum { + CLKCTL = 2, + SYNCCTL = 3, + HSYNCPOS = 4, + PWRMNGMT = 5, + DACOP = 6, + PALETCTL = 7, + SYSCLKCTL = 8, + PIXFMT = 10, + BPP8 = 11, + BPP16 = 12, + BPP24 = 13, + BPP32 = 14, + PIXCTL1 = 16, + PIXCTL2 = 17, + SYSCLKN = 21, + SYSCLKM = 22, + SYSCLKP = 23, + SYSCLKC = 24, + PIXM0 = 32, + PIXN0 = 33, + PIXP0 = 34, + PIXC0 = 35, + CURSCTL = 48, + CURSXLO = 49, + CURSXHI = 50, + CURSYLO = 51, + CURSYHI = 52, + CURSHOTX = 53, + CURSHOTY = 54, + CURSACCTL = 55, + CURSACATTR = 56, + CURS1R = 64, + CURS1G = 65, + CURS1B = 66, + CURS2R = 67, + CURS2G = 68, + CURS2B = 69, + CURS3R = 70, + CURS3G = 71, + CURS3B = 72, + BORDR = 96, + BORDG = 97, + BORDB = 98, + MISCTL1 = 112, + MISCTL2 = 113, + MISCTL3 = 114, + KEYCTL = 120, +}; + +enum { + CMIS_MODULE_LOW_PWR = 1, + CMIS_MODULE_READY = 3, +}; + +enum { + COREDUMP_ACK_SIZE_VER0 = 16, +}; + +enum { + COREDUMP_KERNEL = 1, + COREDUMP_USERSPACE = 2, + COREDUMP_REJECT = 4, + COREDUMP_WAIT = 8, +}; + +enum { + COST_CTRL = 0, + COST_MODEL = 1, + NR_COST_CTRL_PARAMS = 2, +}; + +enum { + CPER_SEV_RECOVERABLE = 0, + CPER_SEV_FATAL = 1, + CPER_SEV_CORRECTED = 2, + CPER_SEV_INFORMATIONAL = 3, +}; + +enum { + CPU_BANIAS = 0, + CPU_DOTHAN_A1 = 1, + CPU_DOTHAN_A2 = 2, + CPU_DOTHAN_B0 = 3, + CPU_MP4HT_D0 = 4, + CPU_MP4HT_E0 = 5, +}; + +enum { + CRI_RES_UTIL = 5, +}; + +enum { + CRNG_EMPTY = 0, + CRNG_EARLY = 1, + CRNG_READY = 2, +}; + +enum { + CRNG_RESEED_START_INTERVAL = 1000, + CRNG_RESEED_INTERVAL = 60000, +}; + +enum { + CRYPTOA_UNSPEC = 0, + CRYPTOA_ALG = 1, + CRYPTOA_TYPE = 2, + __CRYPTOA_MAX = 3, +}; + +enum { + CRYPTO_KPP_SECRET_TYPE_UNKNOWN = 0, + CRYPTO_KPP_SECRET_TYPE_DH = 1, + CRYPTO_KPP_SECRET_TYPE_ECDH = 2, +}; + +enum { + CRYPTO_MSG_ALG_REQUEST = 0, + CRYPTO_MSG_ALG_REGISTER = 1, + CRYPTO_MSG_ALG_LOADED = 2, +}; + +enum { + CSD_FLAG_LOCK = 1, + IRQ_WORK_PENDING = 1, + IRQ_WORK_BUSY = 2, + IRQ_WORK_LAZY = 4, + IRQ_WORK_HARD_IRQ = 8, + IRQ_WORK_CLAIMED = 3, + CSD_TYPE_ASYNC = 0, + CSD_TYPE_SYNC = 16, + CSD_TYPE_IRQ_WORK = 32, + CSD_TYPE_TTWU = 48, + CSD_FLAG_TYPE_MASK = 240, +}; + +enum { + CSI_DEC_hl_CURSOR_KEYS = 1, + CSI_DEC_hl_132_COLUMNS = 3, + CSI_DEC_hl_REVERSE_VIDEO = 5, + CSI_DEC_hl_ORIGIN_MODE = 6, + CSI_DEC_hl_AUTOWRAP = 7, + CSI_DEC_hl_AUTOREPEAT = 8, + CSI_DEC_hl_MOUSE_X10 = 9, + CSI_DEC_hl_SHOW_CURSOR = 25, + CSI_DEC_hl_MOUSE_VT200 = 1000, + CSI_DEC_hl_BRACKETED_PASTE = 2004, +}; + +enum { + CSI_K_CURSOR_TO_LINEEND = 0, + CSI_K_LINESTART_TO_CURSOR = 1, + CSI_K_LINE = 2, +}; + +enum { + CSI_hl_DISPLAY_CTRL = 3, + CSI_hl_INSERT = 4, + CSI_hl_AUTO_NL = 20, +}; + +enum { + CSI_m_DEFAULT = 0, + CSI_m_BOLD = 1, + CSI_m_HALF_BRIGHT = 2, + CSI_m_ITALIC = 3, + CSI_m_UNDERLINE = 4, + CSI_m_BLINK = 5, + CSI_m_REVERSE = 7, + CSI_m_PRI_FONT = 10, + CSI_m_ALT_FONT1 = 11, + CSI_m_ALT_FONT2 = 12, + CSI_m_DOUBLE_UNDERLINE = 21, + CSI_m_NORMAL_INTENSITY = 22, + CSI_m_NO_ITALIC = 23, + CSI_m_NO_UNDERLINE = 24, + CSI_m_NO_BLINK = 25, + CSI_m_NO_REVERSE = 27, + CSI_m_FG_COLOR_BEG = 30, + CSI_m_FG_COLOR_END = 37, + CSI_m_FG_COLOR = 38, + CSI_m_DEFAULT_FG_COLOR = 39, + CSI_m_BG_COLOR_BEG = 40, + CSI_m_BG_COLOR_END = 47, + CSI_m_BG_COLOR = 48, + CSI_m_DEFAULT_BG_COLOR = 49, + CSI_m_BRIGHT_FG_COLOR_BEG = 90, + CSI_m_BRIGHT_FG_COLOR_END = 97, + CSI_m_BRIGHT_FG_COLOR_OFF = 60, + CSI_m_BRIGHT_BG_COLOR_BEG = 100, + CSI_m_BRIGHT_BG_COLOR_END = 107, + CSI_m_BRIGHT_BG_COLOR_OFF = 60, +}; + +enum { + CSS_NO_REF = 1, + CSS_ONLINE = 2, + CSS_RELEASED = 4, + CSS_VISIBLE = 8, + CSS_DYING = 16, +}; + +enum { + CTL_RES_CNT = 1, +}; + +enum { + CTL_RES_TM = 2, +}; + +enum { + CTRL_ATTR_MCAST_GRP_UNSPEC = 0, + CTRL_ATTR_MCAST_GRP_NAME = 1, + CTRL_ATTR_MCAST_GRP_ID = 2, + __CTRL_ATTR_MCAST_GRP_MAX = 3, +}; + +enum { + CTRL_ATTR_OP_UNSPEC = 0, + CTRL_ATTR_OP_ID = 1, + CTRL_ATTR_OP_FLAGS = 2, + __CTRL_ATTR_OP_MAX = 3, +}; + +enum { + CTRL_ATTR_POLICY_UNSPEC = 0, + CTRL_ATTR_POLICY_DO = 1, + CTRL_ATTR_POLICY_DUMP = 2, + __CTRL_ATTR_POLICY_DUMP_MAX = 3, + CTRL_ATTR_POLICY_DUMP_MAX = 2, +}; + +enum { + CTRL_ATTR_UNSPEC = 0, + CTRL_ATTR_FAMILY_ID = 1, + CTRL_ATTR_FAMILY_NAME = 2, + CTRL_ATTR_VERSION = 3, + CTRL_ATTR_HDRSIZE = 4, + CTRL_ATTR_MAXATTR = 5, + CTRL_ATTR_OPS = 6, + CTRL_ATTR_MCAST_GROUPS = 7, + CTRL_ATTR_POLICY = 8, + CTRL_ATTR_OP_POLICY = 9, + CTRL_ATTR_OP = 10, + __CTRL_ATTR_MAX = 11, +}; + +enum { + CTRL_CMD_UNSPEC = 0, + CTRL_CMD_NEWFAMILY = 1, + CTRL_CMD_DELFAMILY = 2, + CTRL_CMD_GETFAMILY = 3, + CTRL_CMD_NEWOPS = 4, + CTRL_CMD_DELOPS = 5, + CTRL_CMD_GETOPS = 6, + CTRL_CMD_NEWMCAST_GRP = 7, + CTRL_CMD_DELMCAST_GRP = 8, + CTRL_CMD_GETMCAST_GRP = 9, + CTRL_CMD_GETPOLICY = 10, + __CTRL_CMD_MAX = 11, +}; + +enum { + DA9063_DEV_ID_REG = 0, + DA9063_VAR_ID_REG = 1, + DA9063_CHIP_ID_REGS = 2, +}; + +enum { + DAD_PROCESS = 0, + DAD_BEGIN = 1, + DAD_ABORT = 2, +}; + +enum { + DD_DIR_COUNT = 2, +}; + +enum { + DD_PRIO_COUNT = 3, +}; + +enum { + DELL_INSPIRON_7375 = 0, + DELL_LATITUDE_5495 = 1, + LENOVO_IDEAPAD_330S_15ARR = 2, +}; + +enum { + DESC_TSS = 9, + DESC_LDT = 2, + DESCTYPE_S = 16, +}; + +enum { + DEVCONF_FORWARDING = 0, + DEVCONF_HOPLIMIT = 1, + DEVCONF_MTU6 = 2, + DEVCONF_ACCEPT_RA = 3, + DEVCONF_ACCEPT_REDIRECTS = 4, + DEVCONF_AUTOCONF = 5, + DEVCONF_DAD_TRANSMITS = 6, + DEVCONF_RTR_SOLICITS = 7, + DEVCONF_RTR_SOLICIT_INTERVAL = 8, + DEVCONF_RTR_SOLICIT_DELAY = 9, + DEVCONF_USE_TEMPADDR = 10, + DEVCONF_TEMP_VALID_LFT = 11, + DEVCONF_TEMP_PREFERED_LFT = 12, + DEVCONF_REGEN_MAX_RETRY = 13, + DEVCONF_MAX_DESYNC_FACTOR = 14, + DEVCONF_MAX_ADDRESSES = 15, + DEVCONF_FORCE_MLD_VERSION = 16, + DEVCONF_ACCEPT_RA_DEFRTR = 17, + DEVCONF_ACCEPT_RA_PINFO = 18, + DEVCONF_ACCEPT_RA_RTR_PREF = 19, + DEVCONF_RTR_PROBE_INTERVAL = 20, + DEVCONF_ACCEPT_RA_RT_INFO_MAX_PLEN = 21, + DEVCONF_PROXY_NDP = 22, + DEVCONF_OPTIMISTIC_DAD = 23, + DEVCONF_ACCEPT_SOURCE_ROUTE = 24, + DEVCONF_MC_FORWARDING = 25, + DEVCONF_DISABLE_IPV6 = 26, + DEVCONF_ACCEPT_DAD = 27, + DEVCONF_FORCE_TLLAO = 28, + DEVCONF_NDISC_NOTIFY = 29, + DEVCONF_MLDV1_UNSOLICITED_REPORT_INTERVAL = 30, + DEVCONF_MLDV2_UNSOLICITED_REPORT_INTERVAL = 31, + DEVCONF_SUPPRESS_FRAG_NDISC = 32, + DEVCONF_ACCEPT_RA_FROM_LOCAL = 33, + DEVCONF_USE_OPTIMISTIC = 34, + DEVCONF_ACCEPT_RA_MTU = 35, + DEVCONF_STABLE_SECRET = 36, + DEVCONF_USE_OIF_ADDRS_ONLY = 37, + DEVCONF_ACCEPT_RA_MIN_HOP_LIMIT = 38, + DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN = 39, + DEVCONF_DROP_UNICAST_IN_L2_MULTICAST = 40, + DEVCONF_DROP_UNSOLICITED_NA = 41, + DEVCONF_KEEP_ADDR_ON_DOWN = 42, + DEVCONF_RTR_SOLICIT_MAX_INTERVAL = 43, + DEVCONF_SEG6_ENABLED = 44, + DEVCONF_SEG6_REQUIRE_HMAC = 45, + DEVCONF_ENHANCED_DAD = 46, + DEVCONF_ADDR_GEN_MODE = 47, + DEVCONF_DISABLE_POLICY = 48, + DEVCONF_ACCEPT_RA_RT_INFO_MIN_PLEN = 49, + DEVCONF_NDISC_TCLASS = 50, + DEVCONF_RPL_SEG_ENABLED = 51, + DEVCONF_RA_DEFRTR_METRIC = 52, + DEVCONF_IOAM6_ENABLED = 53, + DEVCONF_IOAM6_ID = 54, + DEVCONF_IOAM6_ID_WIDE = 55, + DEVCONF_NDISC_EVICT_NOCARRIER = 56, + DEVCONF_ACCEPT_UNTRACKED_NA = 57, + DEVCONF_ACCEPT_RA_MIN_LFT = 58, + DEVCONF_FORCE_FORWARDING = 59, + DEVCONF_MAX = 60, +}; + +enum { + DEVLINK_ATTR_STATS_RX_PACKETS = 0, + DEVLINK_ATTR_STATS_RX_BYTES = 1, + DEVLINK_ATTR_STATS_RX_DROPPED = 2, + __DEVLINK_ATTR_STATS_MAX = 3, + DEVLINK_ATTR_STATS_MAX = 2, +}; + +enum { + DEVLINK_ATTR_TRAP_METADATA_TYPE_IN_PORT = 0, + DEVLINK_ATTR_TRAP_METADATA_TYPE_FA_COOKIE = 1, +}; + +enum { + DIO_LOCKING = 1, + DIO_SKIP_HOLES = 2, +}; + +enum { + DIO_SHOULD_DIRTY = 1, + DIO_IS_SYNC = 2, +}; + +enum { + DIR_OFFSET_FIRST = 2, + DIR_OFFSET_EOD = 2147483647, +}; + +enum { + DIR_OFFSET_MIN = 3, + DIR_OFFSET_MAX = 2147483646, +}; + +enum { + DISCOVERED = 16, + EXPLORED = 32, + FALLTHROUGH = 1, + BRANCH = 2, +}; + +enum { + DISK_EVENT_FLAG_POLL = 1, + DISK_EVENT_FLAG_UEVENT = 2, + DISK_EVENT_FLAG_BLOCK_ON_EXCL_WRITE = 4, +}; + +enum { + DISK_EVENT_MEDIA_CHANGE = 1, + DISK_EVENT_EJECT_REQUEST = 2, +}; + +enum { + DMA_TYPE_TX = 0, + DMA_TYPE_RX = 1, + DMA_TYPE_MCPY = 2, +}; + +enum { + DM_IO_ACCOUNTED = 0, + DM_IO_WAS_SPLIT = 1, + DM_IO_BLK_STAT = 2, +}; + +enum { + DM_TIO_INSIDE_DM_IO = 0, + DM_TIO_IS_DUPLICATE_BIO = 1, +}; + +enum { + DM_VERSION_CMD = 0, + DM_REMOVE_ALL_CMD = 1, + DM_LIST_DEVICES_CMD = 2, + DM_DEV_CREATE_CMD = 3, + DM_DEV_REMOVE_CMD = 4, + DM_DEV_RENAME_CMD = 5, + DM_DEV_SUSPEND_CMD = 6, + DM_DEV_STATUS_CMD = 7, + DM_DEV_WAIT_CMD = 8, + DM_TABLE_LOAD_CMD = 9, + DM_TABLE_CLEAR_CMD = 10, + DM_TABLE_DEPS_CMD = 11, + DM_TABLE_STATUS_CMD = 12, + DM_LIST_VERSIONS_CMD = 13, + DM_TARGET_MSG_CMD = 14, + DM_DEV_SET_GEOMETRY_CMD = 15, + DM_DEV_ARM_POLL_CMD = 16, + DM_GET_TARGET_VERSION_CMD = 17, + DM_MPATH_PROBE_PATHS_CMD = 18, +}; + +enum { + DONE_EXPLORING = 0, + KEEP_EXPLORING = 1, +}; + +enum { + DPLL_NLGRP_MONITOR = 0, +}; + +enum { + DQF_INFO_DIRTY_B = 17, +}; + +enum { + DQF_ROOT_SQUASH_B = 0, + DQF_SYS_FILE_B = 16, + DQF_PRIVATE = 17, +}; + +enum { + DQST_LOOKUPS = 0, + DQST_DROPS = 1, + DQST_READS = 2, + DQST_WRITES = 3, + DQST_CACHE_HITS = 4, + DQST_ALLOC_DQUOTS = 5, + DQST_FREE_DQUOTS = 6, + DQST_SYNCS = 7, + _DQST_DQSTAT_LAST = 8, +}; + +enum { + DUMP_PREFIX_NONE = 0, + DUMP_PREFIX_ADDRESS = 1, + DUMP_PREFIX_OFFSET = 2, +}; + +enum { + EC_FLAGS_QUERY_ENABLED = 0, + EC_FLAGS_EVENT_HANDLER_INSTALLED = 1, + EC_FLAGS_EC_HANDLER_INSTALLED = 2, + EC_FLAGS_EC_REG_CALLED = 3, + EC_FLAGS_QUERY_METHODS_INSTALLED = 4, + EC_FLAGS_STARTED = 5, + EC_FLAGS_STOPPED = 6, + EC_FLAGS_EVENTS_MASKED = 7, +}; + +enum { + EI_ETYPE_NULL = 0, + EI_ETYPE_ERRNO = 1, + EI_ETYPE_ERRNO_NULL = 2, + EI_ETYPE_TRUE = 3, +}; + +enum { + EMULATE = 0, + XONLY = 1, + NONE = 2, +}; + +enum { + EPecma = 0, + EPdec = 1, + EPeq = 2, + EPgt = 3, + EPlt = 4, +}; + +enum { + ERASE = 0, + WERASE = 1, + KILL = 2, +}; + +enum { + ES_WRITTEN_B = 0, + ES_UNWRITTEN_B = 1, + ES_DELAYED_B = 2, + ES_HOLE_B = 3, + ES_REFERENCED_B = 4, + ES_FLAGS = 5, +}; + +enum { + ETHTOOL_A_BITSET_BITS_UNSPEC = 0, + ETHTOOL_A_BITSET_BITS_BIT = 1, + __ETHTOOL_A_BITSET_BITS_CNT = 2, + ETHTOOL_A_BITSET_BITS_MAX = 1, +}; + +enum { + ETHTOOL_A_BITSET_BIT_UNSPEC = 0, + ETHTOOL_A_BITSET_BIT_INDEX = 1, + ETHTOOL_A_BITSET_BIT_NAME = 2, + ETHTOOL_A_BITSET_BIT_VALUE = 3, + __ETHTOOL_A_BITSET_BIT_CNT = 4, + ETHTOOL_A_BITSET_BIT_MAX = 3, +}; + +enum { + ETHTOOL_A_BITSET_UNSPEC = 0, + ETHTOOL_A_BITSET_NOMASK = 1, + ETHTOOL_A_BITSET_SIZE = 2, + ETHTOOL_A_BITSET_BITS = 3, + ETHTOOL_A_BITSET_VALUE = 4, + ETHTOOL_A_BITSET_MASK = 5, + __ETHTOOL_A_BITSET_CNT = 6, + ETHTOOL_A_BITSET_MAX = 5, +}; + +enum { + ETHTOOL_A_C33_PSE_PW_LIMIT_UNSPEC = 0, + ETHTOOL_A_C33_PSE_PW_LIMIT_MIN = 1, + ETHTOOL_A_C33_PSE_PW_LIMIT_MAX = 2, + __ETHTOOL_A_C33_PSE_PW_LIMIT_CNT = 3, + __ETHTOOL_A_C33_PSE_PW_LIMIT_MAX = 2, +}; + +enum { + ETHTOOL_A_CABLE_AMPLITUDE_UNSPEC = 0, + ETHTOOL_A_CABLE_AMPLITUDE_PAIR = 1, + ETHTOOL_A_CABLE_AMPLITUDE_mV = 2, + __ETHTOOL_A_CABLE_AMPLITUDE_CNT = 3, + ETHTOOL_A_CABLE_AMPLITUDE_MAX = 2, +}; + +enum { + ETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC = 0, + ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR = 1, + ETHTOOL_A_CABLE_FAULT_LENGTH_CM = 2, + ETHTOOL_A_CABLE_FAULT_LENGTH_SRC = 3, + __ETHTOOL_A_CABLE_FAULT_LENGTH_CNT = 4, + ETHTOOL_A_CABLE_FAULT_LENGTH_MAX = 3, +}; + +enum { + ETHTOOL_A_CABLE_INF_SRC_UNSPEC = 0, + ETHTOOL_A_CABLE_INF_SRC_TDR = 1, + ETHTOOL_A_CABLE_INF_SRC_ALCD = 2, +}; + +enum { + ETHTOOL_A_CABLE_NEST_UNSPEC = 0, + ETHTOOL_A_CABLE_NEST_RESULT = 1, + ETHTOOL_A_CABLE_NEST_FAULT_LENGTH = 2, + __ETHTOOL_A_CABLE_NEST_CNT = 3, + ETHTOOL_A_CABLE_NEST_MAX = 2, +}; + +enum { + ETHTOOL_A_CABLE_PAIR_A = 0, + ETHTOOL_A_CABLE_PAIR_B = 1, + ETHTOOL_A_CABLE_PAIR_C = 2, + ETHTOOL_A_CABLE_PAIR_D = 3, +}; + +enum { + ETHTOOL_A_CABLE_PULSE_UNSPEC = 0, + ETHTOOL_A_CABLE_PULSE_mV = 1, + __ETHTOOL_A_CABLE_PULSE_CNT = 2, + ETHTOOL_A_CABLE_PULSE_MAX = 1, +}; + +enum { + ETHTOOL_A_CABLE_RESULT_CODE_UNSPEC = 0, + ETHTOOL_A_CABLE_RESULT_CODE_OK = 1, + ETHTOOL_A_CABLE_RESULT_CODE_OPEN = 2, + ETHTOOL_A_CABLE_RESULT_CODE_SAME_SHORT = 3, + ETHTOOL_A_CABLE_RESULT_CODE_CROSS_SHORT = 4, + ETHTOOL_A_CABLE_RESULT_CODE_IMPEDANCE_MISMATCH = 5, + ETHTOOL_A_CABLE_RESULT_CODE_NOISE = 6, + ETHTOOL_A_CABLE_RESULT_CODE_RESOLUTION_NOT_POSSIBLE = 7, +}; + +enum { + ETHTOOL_A_CABLE_RESULT_UNSPEC = 0, + ETHTOOL_A_CABLE_RESULT_PAIR = 1, + ETHTOOL_A_CABLE_RESULT_CODE = 2, + ETHTOOL_A_CABLE_RESULT_SRC = 3, + __ETHTOOL_A_CABLE_RESULT_CNT = 4, + ETHTOOL_A_CABLE_RESULT_MAX = 3, +}; + +enum { + ETHTOOL_A_CABLE_STEP_UNSPEC = 0, + ETHTOOL_A_CABLE_STEP_FIRST_DISTANCE = 1, + ETHTOOL_A_CABLE_STEP_LAST_DISTANCE = 2, + ETHTOOL_A_CABLE_STEP_STEP_DISTANCE = 3, + __ETHTOOL_A_CABLE_STEP_CNT = 4, + ETHTOOL_A_CABLE_STEP_MAX = 3, +}; + +enum { + ETHTOOL_A_CABLE_TDR_NEST_UNSPEC = 0, + ETHTOOL_A_CABLE_TDR_NEST_STEP = 1, + ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE = 2, + ETHTOOL_A_CABLE_TDR_NEST_PULSE = 3, + __ETHTOOL_A_CABLE_TDR_NEST_CNT = 4, + ETHTOOL_A_CABLE_TDR_NEST_MAX = 3, +}; + +enum { + ETHTOOL_A_CABLE_TEST_NTF_STATUS_UNSPEC = 0, + ETHTOOL_A_CABLE_TEST_NTF_STATUS_STARTED = 1, + ETHTOOL_A_CABLE_TEST_NTF_STATUS_COMPLETED = 2, +}; + +enum { + ETHTOOL_A_CABLE_TEST_NTF_UNSPEC = 0, + ETHTOOL_A_CABLE_TEST_NTF_HEADER = 1, + ETHTOOL_A_CABLE_TEST_NTF_STATUS = 2, + ETHTOOL_A_CABLE_TEST_NTF_NEST = 3, + __ETHTOOL_A_CABLE_TEST_NTF_CNT = 4, + ETHTOOL_A_CABLE_TEST_NTF_MAX = 3, +}; + +enum { + ETHTOOL_A_CABLE_TEST_TDR_CFG_UNSPEC = 0, + ETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST = 1, + ETHTOOL_A_CABLE_TEST_TDR_CFG_LAST = 2, + ETHTOOL_A_CABLE_TEST_TDR_CFG_STEP = 3, + ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR = 4, + __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT = 5, + ETHTOOL_A_CABLE_TEST_TDR_CFG_MAX = 4, +}; + +enum { + ETHTOOL_A_CABLE_TEST_TDR_UNSPEC = 0, + ETHTOOL_A_CABLE_TEST_TDR_HEADER = 1, + ETHTOOL_A_CABLE_TEST_TDR_CFG = 2, + __ETHTOOL_A_CABLE_TEST_TDR_CNT = 3, + ETHTOOL_A_CABLE_TEST_TDR_MAX = 2, +}; + +enum { + ETHTOOL_A_CABLE_TEST_UNSPEC = 0, + ETHTOOL_A_CABLE_TEST_HEADER = 1, + __ETHTOOL_A_CABLE_TEST_CNT = 2, + ETHTOOL_A_CABLE_TEST_MAX = 1, +}; + +enum { + ETHTOOL_A_CHANNELS_UNSPEC = 0, + ETHTOOL_A_CHANNELS_HEADER = 1, + ETHTOOL_A_CHANNELS_RX_MAX = 2, + ETHTOOL_A_CHANNELS_TX_MAX = 3, + ETHTOOL_A_CHANNELS_OTHER_MAX = 4, + ETHTOOL_A_CHANNELS_COMBINED_MAX = 5, + ETHTOOL_A_CHANNELS_RX_COUNT = 6, + ETHTOOL_A_CHANNELS_TX_COUNT = 7, + ETHTOOL_A_CHANNELS_OTHER_COUNT = 8, + ETHTOOL_A_CHANNELS_COMBINED_COUNT = 9, + __ETHTOOL_A_CHANNELS_CNT = 10, + ETHTOOL_A_CHANNELS_MAX = 9, +}; + +enum { + ETHTOOL_A_COALESCE_UNSPEC = 0, + ETHTOOL_A_COALESCE_HEADER = 1, + ETHTOOL_A_COALESCE_RX_USECS = 2, + ETHTOOL_A_COALESCE_RX_MAX_FRAMES = 3, + ETHTOOL_A_COALESCE_RX_USECS_IRQ = 4, + ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ = 5, + ETHTOOL_A_COALESCE_TX_USECS = 6, + ETHTOOL_A_COALESCE_TX_MAX_FRAMES = 7, + ETHTOOL_A_COALESCE_TX_USECS_IRQ = 8, + ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ = 9, + ETHTOOL_A_COALESCE_STATS_BLOCK_USECS = 10, + ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX = 11, + ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX = 12, + ETHTOOL_A_COALESCE_PKT_RATE_LOW = 13, + ETHTOOL_A_COALESCE_RX_USECS_LOW = 14, + ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW = 15, + ETHTOOL_A_COALESCE_TX_USECS_LOW = 16, + ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW = 17, + ETHTOOL_A_COALESCE_PKT_RATE_HIGH = 18, + ETHTOOL_A_COALESCE_RX_USECS_HIGH = 19, + ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH = 20, + ETHTOOL_A_COALESCE_TX_USECS_HIGH = 21, + ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH = 22, + ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL = 23, + ETHTOOL_A_COALESCE_USE_CQE_MODE_TX = 24, + ETHTOOL_A_COALESCE_USE_CQE_MODE_RX = 25, + ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES = 26, + ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES = 27, + ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS = 28, + ETHTOOL_A_COALESCE_RX_PROFILE = 29, + ETHTOOL_A_COALESCE_TX_PROFILE = 30, + __ETHTOOL_A_COALESCE_CNT = 31, + ETHTOOL_A_COALESCE_MAX = 30, +}; + +enum { + ETHTOOL_A_DEBUG_UNSPEC = 0, + ETHTOOL_A_DEBUG_HEADER = 1, + ETHTOOL_A_DEBUG_MSGMASK = 2, + __ETHTOOL_A_DEBUG_CNT = 3, + ETHTOOL_A_DEBUG_MAX = 2, +}; + +enum { + ETHTOOL_A_EEE_UNSPEC = 0, + ETHTOOL_A_EEE_HEADER = 1, + ETHTOOL_A_EEE_MODES_OURS = 2, + ETHTOOL_A_EEE_MODES_PEER = 3, + ETHTOOL_A_EEE_ACTIVE = 4, + ETHTOOL_A_EEE_ENABLED = 5, + ETHTOOL_A_EEE_TX_LPI_ENABLED = 6, + ETHTOOL_A_EEE_TX_LPI_TIMER = 7, + __ETHTOOL_A_EEE_CNT = 8, + ETHTOOL_A_EEE_MAX = 7, +}; + +enum { + ETHTOOL_A_FEATURES_UNSPEC = 0, + ETHTOOL_A_FEATURES_HEADER = 1, + ETHTOOL_A_FEATURES_HW = 2, + ETHTOOL_A_FEATURES_WANTED = 3, + ETHTOOL_A_FEATURES_ACTIVE = 4, + ETHTOOL_A_FEATURES_NOCHANGE = 5, + __ETHTOOL_A_FEATURES_CNT = 6, + ETHTOOL_A_FEATURES_MAX = 5, +}; + +enum { + ETHTOOL_A_FEC_STAT_UNSPEC = 0, + ETHTOOL_A_FEC_STAT_PAD = 1, + ETHTOOL_A_FEC_STAT_CORRECTED = 2, + ETHTOOL_A_FEC_STAT_UNCORR = 3, + ETHTOOL_A_FEC_STAT_CORR_BITS = 4, + __ETHTOOL_A_FEC_STAT_CNT = 5, + ETHTOOL_A_FEC_STAT_MAX = 4, +}; + +enum { + ETHTOOL_A_FEC_UNSPEC = 0, + ETHTOOL_A_FEC_HEADER = 1, + ETHTOOL_A_FEC_MODES = 2, + ETHTOOL_A_FEC_AUTO = 3, + ETHTOOL_A_FEC_ACTIVE = 4, + ETHTOOL_A_FEC_STATS = 5, + __ETHTOOL_A_FEC_CNT = 6, + ETHTOOL_A_FEC_MAX = 5, +}; + +enum { + ETHTOOL_A_FLOW_ETHER = 1, + ETHTOOL_A_FLOW_IP4 = 2, + ETHTOOL_A_FLOW_IP6 = 3, + ETHTOOL_A_FLOW_TCP4 = 4, + ETHTOOL_A_FLOW_TCP6 = 5, + ETHTOOL_A_FLOW_UDP4 = 6, + ETHTOOL_A_FLOW_UDP6 = 7, + ETHTOOL_A_FLOW_SCTP4 = 8, + ETHTOOL_A_FLOW_SCTP6 = 9, + ETHTOOL_A_FLOW_AH4 = 10, + ETHTOOL_A_FLOW_AH6 = 11, + ETHTOOL_A_FLOW_ESP4 = 12, + ETHTOOL_A_FLOW_ESP6 = 13, + ETHTOOL_A_FLOW_AH_ESP4 = 14, + ETHTOOL_A_FLOW_AH_ESP6 = 15, + ETHTOOL_A_FLOW_GTPU4 = 16, + ETHTOOL_A_FLOW_GTPU6 = 17, + ETHTOOL_A_FLOW_GTPC4 = 18, + ETHTOOL_A_FLOW_GTPC6 = 19, + ETHTOOL_A_FLOW_GTPC_TEID4 = 20, + ETHTOOL_A_FLOW_GTPC_TEID6 = 21, + ETHTOOL_A_FLOW_GTPU_EH4 = 22, + ETHTOOL_A_FLOW_GTPU_EH6 = 23, + ETHTOOL_A_FLOW_GTPU_UL4 = 24, + ETHTOOL_A_FLOW_GTPU_UL6 = 25, + ETHTOOL_A_FLOW_GTPU_DL4 = 26, + ETHTOOL_A_FLOW_GTPU_DL6 = 27, + __ETHTOOL_A_FLOW_CNT = 28, + ETHTOOL_A_FLOW_MAX = 27, +}; + +enum { + ETHTOOL_A_HEADER_UNSPEC = 0, + ETHTOOL_A_HEADER_DEV_INDEX = 1, + ETHTOOL_A_HEADER_DEV_NAME = 2, + ETHTOOL_A_HEADER_FLAGS = 3, + ETHTOOL_A_HEADER_PHY_INDEX = 4, + __ETHTOOL_A_HEADER_CNT = 5, + ETHTOOL_A_HEADER_MAX = 4, +}; + +enum { + ETHTOOL_A_IRQ_MODERATION_UNSPEC = 0, + ETHTOOL_A_IRQ_MODERATION_USEC = 1, + ETHTOOL_A_IRQ_MODERATION_PKTS = 2, + ETHTOOL_A_IRQ_MODERATION_COMPS = 3, + __ETHTOOL_A_IRQ_MODERATION_CNT = 4, + ETHTOOL_A_IRQ_MODERATION_MAX = 3, +}; + +enum { + ETHTOOL_A_LINKINFO_UNSPEC = 0, + ETHTOOL_A_LINKINFO_HEADER = 1, + ETHTOOL_A_LINKINFO_PORT = 2, + ETHTOOL_A_LINKINFO_PHYADDR = 3, + ETHTOOL_A_LINKINFO_TP_MDIX = 4, + ETHTOOL_A_LINKINFO_TP_MDIX_CTRL = 5, + ETHTOOL_A_LINKINFO_TRANSCEIVER = 6, + __ETHTOOL_A_LINKINFO_CNT = 7, + ETHTOOL_A_LINKINFO_MAX = 6, +}; + +enum { + ETHTOOL_A_LINKMODES_UNSPEC = 0, + ETHTOOL_A_LINKMODES_HEADER = 1, + ETHTOOL_A_LINKMODES_AUTONEG = 2, + ETHTOOL_A_LINKMODES_OURS = 3, + ETHTOOL_A_LINKMODES_PEER = 4, + ETHTOOL_A_LINKMODES_SPEED = 5, + ETHTOOL_A_LINKMODES_DUPLEX = 6, + ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG = 7, + ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE = 8, + ETHTOOL_A_LINKMODES_LANES = 9, + ETHTOOL_A_LINKMODES_RATE_MATCHING = 10, + __ETHTOOL_A_LINKMODES_CNT = 11, + ETHTOOL_A_LINKMODES_MAX = 10, +}; + +enum { + ETHTOOL_A_LINKSTATE_UNSPEC = 0, + ETHTOOL_A_LINKSTATE_HEADER = 1, + ETHTOOL_A_LINKSTATE_LINK = 2, + ETHTOOL_A_LINKSTATE_SQI = 3, + ETHTOOL_A_LINKSTATE_SQI_MAX = 4, + ETHTOOL_A_LINKSTATE_EXT_STATE = 5, + ETHTOOL_A_LINKSTATE_EXT_SUBSTATE = 6, + ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT = 7, + __ETHTOOL_A_LINKSTATE_CNT = 8, + ETHTOOL_A_LINKSTATE_MAX = 7, +}; + +enum { + ETHTOOL_A_MM_STAT_UNSPEC = 0, + ETHTOOL_A_MM_STAT_PAD = 1, + ETHTOOL_A_MM_STAT_REASSEMBLY_ERRORS = 2, + ETHTOOL_A_MM_STAT_SMD_ERRORS = 3, + ETHTOOL_A_MM_STAT_REASSEMBLY_OK = 4, + ETHTOOL_A_MM_STAT_RX_FRAG_COUNT = 5, + ETHTOOL_A_MM_STAT_TX_FRAG_COUNT = 6, + ETHTOOL_A_MM_STAT_HOLD_COUNT = 7, + __ETHTOOL_A_MM_STAT_CNT = 8, + ETHTOOL_A_MM_STAT_MAX = 7, +}; + +enum { + ETHTOOL_A_MM_UNSPEC = 0, + ETHTOOL_A_MM_HEADER = 1, + ETHTOOL_A_MM_PMAC_ENABLED = 2, + ETHTOOL_A_MM_TX_ENABLED = 3, + ETHTOOL_A_MM_TX_ACTIVE = 4, + ETHTOOL_A_MM_TX_MIN_FRAG_SIZE = 5, + ETHTOOL_A_MM_RX_MIN_FRAG_SIZE = 6, + ETHTOOL_A_MM_VERIFY_ENABLED = 7, + ETHTOOL_A_MM_VERIFY_STATUS = 8, + ETHTOOL_A_MM_VERIFY_TIME = 9, + ETHTOOL_A_MM_MAX_VERIFY_TIME = 10, + ETHTOOL_A_MM_STATS = 11, + __ETHTOOL_A_MM_CNT = 12, + ETHTOOL_A_MM_MAX = 11, +}; + +enum { + ETHTOOL_A_MODULE_EEPROM_UNSPEC = 0, + ETHTOOL_A_MODULE_EEPROM_HEADER = 1, + ETHTOOL_A_MODULE_EEPROM_OFFSET = 2, + ETHTOOL_A_MODULE_EEPROM_LENGTH = 3, + ETHTOOL_A_MODULE_EEPROM_PAGE = 4, + ETHTOOL_A_MODULE_EEPROM_BANK = 5, + ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS = 6, + ETHTOOL_A_MODULE_EEPROM_DATA = 7, + __ETHTOOL_A_MODULE_EEPROM_CNT = 8, + ETHTOOL_A_MODULE_EEPROM_MAX = 7, +}; + +enum { + ETHTOOL_A_MODULE_FW_FLASH_UNSPEC = 0, + ETHTOOL_A_MODULE_FW_FLASH_HEADER = 1, + ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME = 2, + ETHTOOL_A_MODULE_FW_FLASH_PASSWORD = 3, + ETHTOOL_A_MODULE_FW_FLASH_STATUS = 4, + ETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG = 5, + ETHTOOL_A_MODULE_FW_FLASH_DONE = 6, + ETHTOOL_A_MODULE_FW_FLASH_TOTAL = 7, + __ETHTOOL_A_MODULE_FW_FLASH_CNT = 8, + ETHTOOL_A_MODULE_FW_FLASH_MAX = 7, +}; + +enum { + ETHTOOL_A_MODULE_UNSPEC = 0, + ETHTOOL_A_MODULE_HEADER = 1, + ETHTOOL_A_MODULE_POWER_MODE_POLICY = 2, + ETHTOOL_A_MODULE_POWER_MODE = 3, + __ETHTOOL_A_MODULE_CNT = 4, + ETHTOOL_A_MODULE_MAX = 3, +}; + +enum { + ETHTOOL_A_PAUSE_STAT_UNSPEC = 0, + ETHTOOL_A_PAUSE_STAT_PAD = 1, + ETHTOOL_A_PAUSE_STAT_TX_FRAMES = 2, + ETHTOOL_A_PAUSE_STAT_RX_FRAMES = 3, + __ETHTOOL_A_PAUSE_STAT_CNT = 4, + ETHTOOL_A_PAUSE_STAT_MAX = 3, +}; + +enum { + ETHTOOL_A_PAUSE_UNSPEC = 0, + ETHTOOL_A_PAUSE_HEADER = 1, + ETHTOOL_A_PAUSE_AUTONEG = 2, + ETHTOOL_A_PAUSE_RX = 3, + ETHTOOL_A_PAUSE_TX = 4, + ETHTOOL_A_PAUSE_STATS = 5, + ETHTOOL_A_PAUSE_STATS_SRC = 6, + __ETHTOOL_A_PAUSE_CNT = 7, + ETHTOOL_A_PAUSE_MAX = 6, +}; + +enum { + ETHTOOL_A_PHC_VCLOCKS_UNSPEC = 0, + ETHTOOL_A_PHC_VCLOCKS_HEADER = 1, + ETHTOOL_A_PHC_VCLOCKS_NUM = 2, + ETHTOOL_A_PHC_VCLOCKS_INDEX = 3, + __ETHTOOL_A_PHC_VCLOCKS_CNT = 4, + ETHTOOL_A_PHC_VCLOCKS_MAX = 3, +}; + +enum { + ETHTOOL_A_PHY_UNSPEC = 0, + ETHTOOL_A_PHY_HEADER = 1, + ETHTOOL_A_PHY_INDEX = 2, + ETHTOOL_A_PHY_DRVNAME = 3, + ETHTOOL_A_PHY_NAME = 4, + ETHTOOL_A_PHY_UPSTREAM_TYPE = 5, + ETHTOOL_A_PHY_UPSTREAM_INDEX = 6, + ETHTOOL_A_PHY_UPSTREAM_SFP_NAME = 7, + ETHTOOL_A_PHY_DOWNSTREAM_SFP_NAME = 8, + __ETHTOOL_A_PHY_CNT = 9, + ETHTOOL_A_PHY_MAX = 8, +}; + +enum { + ETHTOOL_A_PLCA_UNSPEC = 0, + ETHTOOL_A_PLCA_HEADER = 1, + ETHTOOL_A_PLCA_VERSION = 2, + ETHTOOL_A_PLCA_ENABLED = 3, + ETHTOOL_A_PLCA_STATUS = 4, + ETHTOOL_A_PLCA_NODE_CNT = 5, + ETHTOOL_A_PLCA_NODE_ID = 6, + ETHTOOL_A_PLCA_TO_TMR = 7, + ETHTOOL_A_PLCA_BURST_CNT = 8, + ETHTOOL_A_PLCA_BURST_TMR = 9, + __ETHTOOL_A_PLCA_CNT = 10, + ETHTOOL_A_PLCA_MAX = 9, +}; + +enum { + ETHTOOL_A_PRIVFLAGS_UNSPEC = 0, + ETHTOOL_A_PRIVFLAGS_HEADER = 1, + ETHTOOL_A_PRIVFLAGS_FLAGS = 2, + __ETHTOOL_A_PRIVFLAGS_CNT = 3, + ETHTOOL_A_PRIVFLAGS_MAX = 2, +}; + +enum { + ETHTOOL_A_PROFILE_UNSPEC = 0, + ETHTOOL_A_PROFILE_IRQ_MODERATION = 1, + __ETHTOOL_A_PROFILE_CNT = 2, + ETHTOOL_A_PROFILE_MAX = 1, +}; + +enum { + ETHTOOL_A_PSE_NTF_HEADER = 1, + ETHTOOL_A_PSE_NTF_EVENTS = 2, + __ETHTOOL_A_PSE_NTF_CNT = 3, + ETHTOOL_A_PSE_NTF_MAX = 2, +}; + +enum { + ETHTOOL_A_PSE_UNSPEC = 0, + ETHTOOL_A_PSE_HEADER = 1, + ETHTOOL_A_PODL_PSE_ADMIN_STATE = 2, + ETHTOOL_A_PODL_PSE_ADMIN_CONTROL = 3, + ETHTOOL_A_PODL_PSE_PW_D_STATUS = 4, + ETHTOOL_A_C33_PSE_ADMIN_STATE = 5, + ETHTOOL_A_C33_PSE_ADMIN_CONTROL = 6, + ETHTOOL_A_C33_PSE_PW_D_STATUS = 7, + ETHTOOL_A_C33_PSE_PW_CLASS = 8, + ETHTOOL_A_C33_PSE_ACTUAL_PW = 9, + ETHTOOL_A_C33_PSE_EXT_STATE = 10, + ETHTOOL_A_C33_PSE_EXT_SUBSTATE = 11, + ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT = 12, + ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES = 13, + ETHTOOL_A_PSE_PW_D_ID = 14, + ETHTOOL_A_PSE_PRIO_MAX = 15, + ETHTOOL_A_PSE_PRIO = 16, + __ETHTOOL_A_PSE_CNT = 17, + ETHTOOL_A_PSE_MAX = 16, +}; + +enum { + ETHTOOL_A_RINGS_UNSPEC = 0, + ETHTOOL_A_RINGS_HEADER = 1, + ETHTOOL_A_RINGS_RX_MAX = 2, + ETHTOOL_A_RINGS_RX_MINI_MAX = 3, + ETHTOOL_A_RINGS_RX_JUMBO_MAX = 4, + ETHTOOL_A_RINGS_TX_MAX = 5, + ETHTOOL_A_RINGS_RX = 6, + ETHTOOL_A_RINGS_RX_MINI = 7, + ETHTOOL_A_RINGS_RX_JUMBO = 8, + ETHTOOL_A_RINGS_TX = 9, + ETHTOOL_A_RINGS_RX_BUF_LEN = 10, + ETHTOOL_A_RINGS_TCP_DATA_SPLIT = 11, + ETHTOOL_A_RINGS_CQE_SIZE = 12, + ETHTOOL_A_RINGS_TX_PUSH = 13, + ETHTOOL_A_RINGS_RX_PUSH = 14, + ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN = 15, + ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX = 16, + ETHTOOL_A_RINGS_HDS_THRESH = 17, + ETHTOOL_A_RINGS_HDS_THRESH_MAX = 18, + __ETHTOOL_A_RINGS_CNT = 19, + ETHTOOL_A_RINGS_MAX = 18, +}; + +enum { + ETHTOOL_A_RSS_UNSPEC = 0, + ETHTOOL_A_RSS_HEADER = 1, + ETHTOOL_A_RSS_CONTEXT = 2, + ETHTOOL_A_RSS_HFUNC = 3, + ETHTOOL_A_RSS_INDIR = 4, + ETHTOOL_A_RSS_HKEY = 5, + ETHTOOL_A_RSS_INPUT_XFRM = 6, + ETHTOOL_A_RSS_START_CONTEXT = 7, + ETHTOOL_A_RSS_FLOW_HASH = 8, + __ETHTOOL_A_RSS_CNT = 9, + ETHTOOL_A_RSS_MAX = 8, +}; + +enum { + ETHTOOL_A_STATS_ETH_CTRL_3_TX = 0, + ETHTOOL_A_STATS_ETH_CTRL_4_RX = 1, + ETHTOOL_A_STATS_ETH_CTRL_5_RX_UNSUP = 2, + __ETHTOOL_A_STATS_ETH_CTRL_CNT = 3, + ETHTOOL_A_STATS_ETH_CTRL_MAX = 2, +}; + +enum { + ETHTOOL_A_STATS_ETH_MAC_2_TX_PKT = 0, + ETHTOOL_A_STATS_ETH_MAC_3_SINGLE_COL = 1, + ETHTOOL_A_STATS_ETH_MAC_4_MULTI_COL = 2, + ETHTOOL_A_STATS_ETH_MAC_5_RX_PKT = 3, + ETHTOOL_A_STATS_ETH_MAC_6_FCS_ERR = 4, + ETHTOOL_A_STATS_ETH_MAC_7_ALIGN_ERR = 5, + ETHTOOL_A_STATS_ETH_MAC_8_TX_BYTES = 6, + ETHTOOL_A_STATS_ETH_MAC_9_TX_DEFER = 7, + ETHTOOL_A_STATS_ETH_MAC_10_LATE_COL = 8, + ETHTOOL_A_STATS_ETH_MAC_11_XS_COL = 9, + ETHTOOL_A_STATS_ETH_MAC_12_TX_INT_ERR = 10, + ETHTOOL_A_STATS_ETH_MAC_13_CS_ERR = 11, + ETHTOOL_A_STATS_ETH_MAC_14_RX_BYTES = 12, + ETHTOOL_A_STATS_ETH_MAC_15_RX_INT_ERR = 13, + ETHTOOL_A_STATS_ETH_MAC_18_TX_MCAST = 14, + ETHTOOL_A_STATS_ETH_MAC_19_TX_BCAST = 15, + ETHTOOL_A_STATS_ETH_MAC_20_XS_DEFER = 16, + ETHTOOL_A_STATS_ETH_MAC_21_RX_MCAST = 17, + ETHTOOL_A_STATS_ETH_MAC_22_RX_BCAST = 18, + ETHTOOL_A_STATS_ETH_MAC_23_IR_LEN_ERR = 19, + ETHTOOL_A_STATS_ETH_MAC_24_OOR_LEN = 20, + ETHTOOL_A_STATS_ETH_MAC_25_TOO_LONG_ERR = 21, + __ETHTOOL_A_STATS_ETH_MAC_CNT = 22, + ETHTOOL_A_STATS_ETH_MAC_MAX = 21, +}; + +enum { + ETHTOOL_A_STATS_ETH_PHY_5_SYM_ERR = 0, + __ETHTOOL_A_STATS_ETH_PHY_CNT = 1, + ETHTOOL_A_STATS_ETH_PHY_MAX = 0, +}; + +enum { + ETHTOOL_A_STATS_GRP_UNSPEC = 0, + ETHTOOL_A_STATS_GRP_PAD = 1, + ETHTOOL_A_STATS_GRP_ID = 2, + ETHTOOL_A_STATS_GRP_SS_ID = 3, + ETHTOOL_A_STATS_GRP_STAT = 4, + ETHTOOL_A_STATS_GRP_HIST_RX = 5, + ETHTOOL_A_STATS_GRP_HIST_TX = 6, + ETHTOOL_A_STATS_GRP_HIST_BKT_LOW = 7, + ETHTOOL_A_STATS_GRP_HIST_BKT_HI = 8, + ETHTOOL_A_STATS_GRP_HIST_VAL = 9, + __ETHTOOL_A_STATS_GRP_CNT = 10, + ETHTOOL_A_STATS_GRP_MAX = 9, +}; + +enum { + ETHTOOL_A_STATS_PHY_RX_PKTS = 0, + ETHTOOL_A_STATS_PHY_RX_BYTES = 1, + ETHTOOL_A_STATS_PHY_RX_ERRORS = 2, + ETHTOOL_A_STATS_PHY_TX_PKTS = 3, + ETHTOOL_A_STATS_PHY_TX_BYTES = 4, + ETHTOOL_A_STATS_PHY_TX_ERRORS = 5, + __ETHTOOL_A_STATS_PHY_CNT = 6, + ETHTOOL_A_STATS_PHY_MAX = 5, +}; + +enum { + ETHTOOL_A_STATS_RMON_UNDERSIZE = 0, + ETHTOOL_A_STATS_RMON_OVERSIZE = 1, + ETHTOOL_A_STATS_RMON_FRAG = 2, + ETHTOOL_A_STATS_RMON_JABBER = 3, + __ETHTOOL_A_STATS_RMON_CNT = 4, + ETHTOOL_A_STATS_RMON_MAX = 3, +}; + +enum { + ETHTOOL_A_STATS_UNSPEC = 0, + ETHTOOL_A_STATS_PAD = 1, + ETHTOOL_A_STATS_HEADER = 2, + ETHTOOL_A_STATS_GROUPS = 3, + ETHTOOL_A_STATS_GRP = 4, + ETHTOOL_A_STATS_SRC = 5, + __ETHTOOL_A_STATS_CNT = 6, + ETHTOOL_A_STATS_MAX = 5, +}; + +enum { + ETHTOOL_A_STRINGSETS_UNSPEC = 0, + ETHTOOL_A_STRINGSETS_STRINGSET = 1, + __ETHTOOL_A_STRINGSETS_CNT = 2, + ETHTOOL_A_STRINGSETS_MAX = 1, +}; + +enum { + ETHTOOL_A_STRINGSET_UNSPEC = 0, + ETHTOOL_A_STRINGSET_ID = 1, + ETHTOOL_A_STRINGSET_COUNT = 2, + ETHTOOL_A_STRINGSET_STRINGS = 3, + __ETHTOOL_A_STRINGSET_CNT = 4, + ETHTOOL_A_STRINGSET_MAX = 3, +}; + +enum { + ETHTOOL_A_STRINGS_UNSPEC = 0, + ETHTOOL_A_STRINGS_STRING = 1, + __ETHTOOL_A_STRINGS_CNT = 2, + ETHTOOL_A_STRINGS_MAX = 1, +}; + +enum { + ETHTOOL_A_STRING_UNSPEC = 0, + ETHTOOL_A_STRING_INDEX = 1, + ETHTOOL_A_STRING_VALUE = 2, + __ETHTOOL_A_STRING_CNT = 3, + ETHTOOL_A_STRING_MAX = 2, +}; + +enum { + ETHTOOL_A_STRSET_UNSPEC = 0, + ETHTOOL_A_STRSET_HEADER = 1, + ETHTOOL_A_STRSET_STRINGSETS = 2, + ETHTOOL_A_STRSET_COUNTS_ONLY = 3, + __ETHTOOL_A_STRSET_CNT = 4, + ETHTOOL_A_STRSET_MAX = 3, +}; + +enum { + ETHTOOL_A_TSCONFIG_UNSPEC = 0, + ETHTOOL_A_TSCONFIG_HEADER = 1, + ETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER = 2, + ETHTOOL_A_TSCONFIG_TX_TYPES = 3, + ETHTOOL_A_TSCONFIG_RX_FILTERS = 4, + ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS = 5, + __ETHTOOL_A_TSCONFIG_CNT = 6, + ETHTOOL_A_TSCONFIG_MAX = 5, +}; + +enum { + ETHTOOL_A_TSINFO_UNSPEC = 0, + ETHTOOL_A_TSINFO_HEADER = 1, + ETHTOOL_A_TSINFO_TIMESTAMPING = 2, + ETHTOOL_A_TSINFO_TX_TYPES = 3, + ETHTOOL_A_TSINFO_RX_FILTERS = 4, + ETHTOOL_A_TSINFO_PHC_INDEX = 5, + ETHTOOL_A_TSINFO_STATS = 6, + ETHTOOL_A_TSINFO_HWTSTAMP_PROVIDER = 7, + ETHTOOL_A_TSINFO_HWTSTAMP_SOURCE = 8, + ETHTOOL_A_TSINFO_HWTSTAMP_PHYINDEX = 9, + __ETHTOOL_A_TSINFO_CNT = 10, + ETHTOOL_A_TSINFO_MAX = 9, +}; + +enum { + ETHTOOL_A_TS_HWTSTAMP_PROVIDER_UNSPEC = 0, + ETHTOOL_A_TS_HWTSTAMP_PROVIDER_INDEX = 1, + ETHTOOL_A_TS_HWTSTAMP_PROVIDER_QUALIFIER = 2, + __ETHTOOL_A_TS_HWTSTAMP_PROVIDER_CNT = 3, + ETHTOOL_A_TS_HWTSTAMP_PROVIDER_MAX = 2, +}; + +enum { + ETHTOOL_A_TS_STAT_UNSPEC = 0, + ETHTOOL_A_TS_STAT_TX_PKTS = 1, + ETHTOOL_A_TS_STAT_TX_LOST = 2, + ETHTOOL_A_TS_STAT_TX_ERR = 3, + ETHTOOL_A_TS_STAT_TX_ONESTEP_PKTS_UNCONFIRMED = 4, + __ETHTOOL_A_TS_STAT_CNT = 5, + ETHTOOL_A_TS_STAT_MAX = 4, +}; + +enum { + ETHTOOL_A_TUNNEL_INFO_UNSPEC = 0, + ETHTOOL_A_TUNNEL_INFO_HEADER = 1, + ETHTOOL_A_TUNNEL_INFO_UDP_PORTS = 2, + __ETHTOOL_A_TUNNEL_INFO_CNT = 3, + ETHTOOL_A_TUNNEL_INFO_MAX = 2, +}; + +enum { + ETHTOOL_A_TUNNEL_UDP_ENTRY_UNSPEC = 0, + ETHTOOL_A_TUNNEL_UDP_ENTRY_PORT = 1, + ETHTOOL_A_TUNNEL_UDP_ENTRY_TYPE = 2, + __ETHTOOL_A_TUNNEL_UDP_ENTRY_CNT = 3, + ETHTOOL_A_TUNNEL_UDP_ENTRY_MAX = 2, +}; + +enum { + ETHTOOL_A_TUNNEL_UDP_TABLE_UNSPEC = 0, + ETHTOOL_A_TUNNEL_UDP_TABLE_SIZE = 1, + ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES = 2, + ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY = 3, + __ETHTOOL_A_TUNNEL_UDP_TABLE_CNT = 4, + ETHTOOL_A_TUNNEL_UDP_TABLE_MAX = 3, +}; + +enum { + ETHTOOL_A_TUNNEL_UDP_UNSPEC = 0, + ETHTOOL_A_TUNNEL_UDP_TABLE = 1, + __ETHTOOL_A_TUNNEL_UDP_CNT = 2, + ETHTOOL_A_TUNNEL_UDP_MAX = 1, +}; + +enum { + ETHTOOL_A_WOL_UNSPEC = 0, + ETHTOOL_A_WOL_HEADER = 1, + ETHTOOL_A_WOL_MODES = 2, + ETHTOOL_A_WOL_SOPASS = 3, + __ETHTOOL_A_WOL_CNT = 4, + ETHTOOL_A_WOL_MAX = 3, +}; + +enum { + ETHTOOL_MSG_KERNEL_NONE = 0, + ETHTOOL_MSG_STRSET_GET_REPLY = 1, + ETHTOOL_MSG_LINKINFO_GET_REPLY = 2, + ETHTOOL_MSG_LINKINFO_NTF = 3, + ETHTOOL_MSG_LINKMODES_GET_REPLY = 4, + ETHTOOL_MSG_LINKMODES_NTF = 5, + ETHTOOL_MSG_LINKSTATE_GET_REPLY = 6, + ETHTOOL_MSG_DEBUG_GET_REPLY = 7, + ETHTOOL_MSG_DEBUG_NTF = 8, + ETHTOOL_MSG_WOL_GET_REPLY = 9, + ETHTOOL_MSG_WOL_NTF = 10, + ETHTOOL_MSG_FEATURES_GET_REPLY = 11, + ETHTOOL_MSG_FEATURES_SET_REPLY = 12, + ETHTOOL_MSG_FEATURES_NTF = 13, + ETHTOOL_MSG_PRIVFLAGS_GET_REPLY = 14, + ETHTOOL_MSG_PRIVFLAGS_NTF = 15, + ETHTOOL_MSG_RINGS_GET_REPLY = 16, + ETHTOOL_MSG_RINGS_NTF = 17, + ETHTOOL_MSG_CHANNELS_GET_REPLY = 18, + ETHTOOL_MSG_CHANNELS_NTF = 19, + ETHTOOL_MSG_COALESCE_GET_REPLY = 20, + ETHTOOL_MSG_COALESCE_NTF = 21, + ETHTOOL_MSG_PAUSE_GET_REPLY = 22, + ETHTOOL_MSG_PAUSE_NTF = 23, + ETHTOOL_MSG_EEE_GET_REPLY = 24, + ETHTOOL_MSG_EEE_NTF = 25, + ETHTOOL_MSG_TSINFO_GET_REPLY = 26, + ETHTOOL_MSG_CABLE_TEST_NTF = 27, + ETHTOOL_MSG_CABLE_TEST_TDR_NTF = 28, + ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY = 29, + ETHTOOL_MSG_FEC_GET_REPLY = 30, + ETHTOOL_MSG_FEC_NTF = 31, + ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY = 32, + ETHTOOL_MSG_STATS_GET_REPLY = 33, + ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY = 34, + ETHTOOL_MSG_MODULE_GET_REPLY = 35, + ETHTOOL_MSG_MODULE_NTF = 36, + ETHTOOL_MSG_PSE_GET_REPLY = 37, + ETHTOOL_MSG_RSS_GET_REPLY = 38, + ETHTOOL_MSG_PLCA_GET_CFG_REPLY = 39, + ETHTOOL_MSG_PLCA_GET_STATUS_REPLY = 40, + ETHTOOL_MSG_PLCA_NTF = 41, + ETHTOOL_MSG_MM_GET_REPLY = 42, + ETHTOOL_MSG_MM_NTF = 43, + ETHTOOL_MSG_MODULE_FW_FLASH_NTF = 44, + ETHTOOL_MSG_PHY_GET_REPLY = 45, + ETHTOOL_MSG_PHY_NTF = 46, + ETHTOOL_MSG_TSCONFIG_GET_REPLY = 47, + ETHTOOL_MSG_TSCONFIG_SET_REPLY = 48, + ETHTOOL_MSG_PSE_NTF = 49, + ETHTOOL_MSG_RSS_NTF = 50, + ETHTOOL_MSG_RSS_CREATE_ACT_REPLY = 51, + ETHTOOL_MSG_RSS_CREATE_NTF = 52, + ETHTOOL_MSG_RSS_DELETE_NTF = 53, + __ETHTOOL_MSG_KERNEL_CNT = 54, + ETHTOOL_MSG_KERNEL_MAX = 53, +}; + +enum { + ETHTOOL_MSG_USER_NONE = 0, + ETHTOOL_MSG_STRSET_GET = 1, + ETHTOOL_MSG_LINKINFO_GET = 2, + ETHTOOL_MSG_LINKINFO_SET = 3, + ETHTOOL_MSG_LINKMODES_GET = 4, + ETHTOOL_MSG_LINKMODES_SET = 5, + ETHTOOL_MSG_LINKSTATE_GET = 6, + ETHTOOL_MSG_DEBUG_GET = 7, + ETHTOOL_MSG_DEBUG_SET = 8, + ETHTOOL_MSG_WOL_GET = 9, + ETHTOOL_MSG_WOL_SET = 10, + ETHTOOL_MSG_FEATURES_GET = 11, + ETHTOOL_MSG_FEATURES_SET = 12, + ETHTOOL_MSG_PRIVFLAGS_GET = 13, + ETHTOOL_MSG_PRIVFLAGS_SET = 14, + ETHTOOL_MSG_RINGS_GET = 15, + ETHTOOL_MSG_RINGS_SET = 16, + ETHTOOL_MSG_CHANNELS_GET = 17, + ETHTOOL_MSG_CHANNELS_SET = 18, + ETHTOOL_MSG_COALESCE_GET = 19, + ETHTOOL_MSG_COALESCE_SET = 20, + ETHTOOL_MSG_PAUSE_GET = 21, + ETHTOOL_MSG_PAUSE_SET = 22, + ETHTOOL_MSG_EEE_GET = 23, + ETHTOOL_MSG_EEE_SET = 24, + ETHTOOL_MSG_TSINFO_GET = 25, + ETHTOOL_MSG_CABLE_TEST_ACT = 26, + ETHTOOL_MSG_CABLE_TEST_TDR_ACT = 27, + ETHTOOL_MSG_TUNNEL_INFO_GET = 28, + ETHTOOL_MSG_FEC_GET = 29, + ETHTOOL_MSG_FEC_SET = 30, + ETHTOOL_MSG_MODULE_EEPROM_GET = 31, + ETHTOOL_MSG_STATS_GET = 32, + ETHTOOL_MSG_PHC_VCLOCKS_GET = 33, + ETHTOOL_MSG_MODULE_GET = 34, + ETHTOOL_MSG_MODULE_SET = 35, + ETHTOOL_MSG_PSE_GET = 36, + ETHTOOL_MSG_PSE_SET = 37, + ETHTOOL_MSG_RSS_GET = 38, + ETHTOOL_MSG_PLCA_GET_CFG = 39, + ETHTOOL_MSG_PLCA_SET_CFG = 40, + ETHTOOL_MSG_PLCA_GET_STATUS = 41, + ETHTOOL_MSG_MM_GET = 42, + ETHTOOL_MSG_MM_SET = 43, + ETHTOOL_MSG_MODULE_FW_FLASH_ACT = 44, + ETHTOOL_MSG_PHY_GET = 45, + ETHTOOL_MSG_TSCONFIG_GET = 46, + ETHTOOL_MSG_TSCONFIG_SET = 47, + ETHTOOL_MSG_RSS_SET = 48, + ETHTOOL_MSG_RSS_CREATE_ACT = 49, + ETHTOOL_MSG_RSS_DELETE_ACT = 50, + __ETHTOOL_MSG_USER_CNT = 51, + ETHTOOL_MSG_USER_MAX = 50, +}; + +enum { + ETHTOOL_STATS_ETH_PHY = 0, + ETHTOOL_STATS_ETH_MAC = 1, + ETHTOOL_STATS_ETH_CTRL = 2, + ETHTOOL_STATS_RMON = 3, + ETHTOOL_STATS_PHY = 4, + __ETHTOOL_STATS_CNT = 5, +}; + +enum { + ETHTOOL_UDP_TUNNEL_TYPE_VXLAN = 0, + ETHTOOL_UDP_TUNNEL_TYPE_GENEVE = 1, + ETHTOOL_UDP_TUNNEL_TYPE_VXLAN_GPE = 2, + __ETHTOOL_UDP_TUNNEL_TYPE_CNT = 3, + ETHTOOL_UDP_TUNNEL_TYPE_MAX = 2, +}; + +enum { + ETH_RSS_HASH_TOP_BIT = 0, + ETH_RSS_HASH_XOR_BIT = 1, + ETH_RSS_HASH_CRC32_BIT = 2, + ETH_RSS_HASH_FUNCS_COUNT = 3, +}; + +enum { + EVENTFS_SAVE_MODE = 65536, + EVENTFS_SAVE_UID = 131072, + EVENTFS_SAVE_GID = 262144, +}; + +enum { + EVENT_FILE_FL_ENABLED = 1, + EVENT_FILE_FL_RECORDED_CMD = 2, + EVENT_FILE_FL_RECORDED_TGID = 4, + EVENT_FILE_FL_FILTERED = 8, + EVENT_FILE_FL_NO_SET_FILTER = 16, + EVENT_FILE_FL_SOFT_DISABLED = 32, + EVENT_FILE_FL_TRIGGER_MODE = 64, + EVENT_FILE_FL_TRIGGER_COND = 128, + EVENT_FILE_FL_PID_FILTER = 256, + EVENT_FILE_FL_WAS_ENABLED = 512, + EVENT_FILE_FL_FREED = 1024, +}; + +enum { + EVENT_FILE_FL_ENABLED_BIT = 0, + EVENT_FILE_FL_RECORDED_CMD_BIT = 1, + EVENT_FILE_FL_RECORDED_TGID_BIT = 2, + EVENT_FILE_FL_FILTERED_BIT = 3, + EVENT_FILE_FL_NO_SET_FILTER_BIT = 4, + EVENT_FILE_FL_SOFT_DISABLED_BIT = 5, + EVENT_FILE_FL_TRIGGER_MODE_BIT = 6, + EVENT_FILE_FL_TRIGGER_COND_BIT = 7, + EVENT_FILE_FL_PID_FILTER_BIT = 8, + EVENT_FILE_FL_WAS_ENABLED_BIT = 9, + EVENT_FILE_FL_FREED_BIT = 10, +}; + +enum { + EVENT_TRIGGER_FL_PROBE = 1, +}; + +enum { + EXT4_FC_REASON_XATTR = 0, + EXT4_FC_REASON_CROSS_RENAME = 1, + EXT4_FC_REASON_JOURNAL_FLAG_CHANGE = 2, + EXT4_FC_REASON_NOMEM = 3, + EXT4_FC_REASON_SWAP_BOOT = 4, + EXT4_FC_REASON_RESIZE = 5, + EXT4_FC_REASON_RENAME_DIR = 6, + EXT4_FC_REASON_FALLOC_RANGE = 7, + EXT4_FC_REASON_INODE_JOURNAL_DATA = 8, + EXT4_FC_REASON_ENCRYPTED_FILENAME = 9, + EXT4_FC_REASON_MAX = 10, +}; + +enum { + EXT4_FC_STATUS_OK = 0, + EXT4_FC_STATUS_INELIGIBLE = 1, + EXT4_FC_STATUS_SKIPPED = 2, + EXT4_FC_STATUS_FAILED = 3, +}; + +enum { + EXT4_FLAGS_RESIZING = 0, + EXT4_FLAGS_SHUTDOWN = 1, + EXT4_FLAGS_BDEV_IS_DAX = 2, + EXT4_FLAGS_EMERGENCY_RO = 3, +}; + +enum { + EXT4_INODE_SECRM = 0, + EXT4_INODE_UNRM = 1, + EXT4_INODE_COMPR = 2, + EXT4_INODE_SYNC = 3, + EXT4_INODE_IMMUTABLE = 4, + EXT4_INODE_APPEND = 5, + EXT4_INODE_NODUMP = 6, + EXT4_INODE_NOATIME = 7, + EXT4_INODE_DIRTY = 8, + EXT4_INODE_COMPRBLK = 9, + EXT4_INODE_NOCOMPR = 10, + EXT4_INODE_ENCRYPT = 11, + EXT4_INODE_INDEX = 12, + EXT4_INODE_IMAGIC = 13, + EXT4_INODE_JOURNAL_DATA = 14, + EXT4_INODE_NOTAIL = 15, + EXT4_INODE_DIRSYNC = 16, + EXT4_INODE_TOPDIR = 17, + EXT4_INODE_HUGE_FILE = 18, + EXT4_INODE_EXTENTS = 19, + EXT4_INODE_VERITY = 20, + EXT4_INODE_EA_INODE = 21, + EXT4_INODE_DAX = 25, + EXT4_INODE_INLINE_DATA = 28, + EXT4_INODE_PROJINHERIT = 29, + EXT4_INODE_CASEFOLD = 30, + EXT4_INODE_RESERVED = 31, +}; + +enum { + EXT4_MF_MNTDIR_SAMPLED = 0, + EXT4_MF_FC_INELIGIBLE = 1, + EXT4_MF_JOURNAL_DESTROY = 2, +}; + +enum { + EXT4_STATE_NEW = 0, + EXT4_STATE_XATTR = 1, + EXT4_STATE_NO_EXPAND = 2, + EXT4_STATE_DA_ALLOC_CLOSE = 3, + EXT4_STATE_EXT_MIGRATE = 4, + EXT4_STATE_NEWENTRY = 5, + EXT4_STATE_MAY_INLINE_DATA = 6, + EXT4_STATE_EXT_PRECACHED = 7, + EXT4_STATE_LUSTRE_EA_INODE = 8, + EXT4_STATE_VERITY_IN_PROGRESS = 9, + EXT4_STATE_FC_COMMITTING = 10, + EXT4_STATE_FC_FLUSHING_DATA = 11, + EXT4_STATE_ORPHAN_FILE = 12, +}; + +enum { + EXTRA_REG_NHMEX_M_FILTER = 0, + EXTRA_REG_NHMEX_M_DSP = 1, + EXTRA_REG_NHMEX_M_ISS = 2, + EXTRA_REG_NHMEX_M_MAP = 3, + EXTRA_REG_NHMEX_M_MSC_THR = 4, + EXTRA_REG_NHMEX_M_PGT = 5, + EXTRA_REG_NHMEX_M_PLD = 6, + EXTRA_REG_NHMEX_M_ZDP_CTL_FVC = 7, +}; + +enum { + FAN_EVENT_INIT = 0, + FAN_EVENT_REPORTED = 1, + FAN_EVENT_ANSWERED = 2, + FAN_EVENT_CANCELED = 3, +}; + +enum { + FAST_W_CNT = 16, +}; + +enum { + FBCON_LOGO_CANSHOW = -1, + FBCON_LOGO_DRAW = -2, + FBCON_LOGO_DONTSHOW = -3, +}; + +enum { + FB_BLANK_UNBLANK = 0, + FB_BLANK_NORMAL = 1, + FB_BLANK_VSYNC_SUSPEND = 2, + FB_BLANK_HSYNC_SUSPEND = 3, + FB_BLANK_POWERDOWN = 4, +}; + +enum { + FGRAPH_TYPE_RESERVED = 0, + FGRAPH_TYPE_BITMAP = 1, + FGRAPH_TYPE_DATA = 2, +}; + +enum { + FIB6_NO_SERNUM_CHANGE = 0, +}; + +enum { + FILTER_OTHER = 0, + FILTER_STATIC_STRING = 1, + FILTER_DYN_STRING = 2, + FILTER_RDYN_STRING = 3, + FILTER_PTR_STRING = 4, + FILTER_TRACE_FN = 5, + FILTER_CPUMASK = 6, + FILTER_COMM = 7, + FILTER_CPU = 8, + FILTER_STACKTRACE = 9, +}; + +enum { + FILT_ERR_NONE = 0, + FILT_ERR_INVALID_OP = 1, + FILT_ERR_TOO_MANY_OPEN = 2, + FILT_ERR_TOO_MANY_CLOSE = 3, + FILT_ERR_MISSING_QUOTE = 4, + FILT_ERR_MISSING_BRACE_OPEN = 5, + FILT_ERR_MISSING_BRACE_CLOSE = 6, + FILT_ERR_OPERAND_TOO_LONG = 7, + FILT_ERR_EXPECT_STRING = 8, + FILT_ERR_EXPECT_DIGIT = 9, + FILT_ERR_ILLEGAL_FIELD_OP = 10, + FILT_ERR_FIELD_NOT_FOUND = 11, + FILT_ERR_ILLEGAL_INTVAL = 12, + FILT_ERR_BAD_SUBSYS_FILTER = 13, + FILT_ERR_TOO_MANY_PREDS = 14, + FILT_ERR_INVALID_FILTER = 15, + FILT_ERR_INVALID_CPULIST = 16, + FILT_ERR_IP_FIELD_ONLY = 17, + FILT_ERR_INVALID_VALUE = 18, + FILT_ERR_NO_FUNCTION = 19, + FILT_ERR_ERRNO = 20, + FILT_ERR_NO_FILTER = 21, +}; + +enum { + FLAGS_ADC = 1, + FLAGS_RTC = 2, +}; + +enum { + FLAGS_FILL_FULL = 268435456, + FLAGS_FILL_START = 536870912, + FLAGS_FILL_END = 805306368, +}; + +enum { + FOLL_TOUCH = 65536, + FOLL_TRIED = 131072, + FOLL_REMOTE = 262144, + FOLL_PIN = 524288, + FOLL_FAST_ONLY = 1048576, + FOLL_UNLOCKABLE = 2097152, + FOLL_MADV_POPULATE = 4194304, +}; + +enum { + FOLL_WRITE = 1, + FOLL_GET = 2, + FOLL_DUMP = 4, + FOLL_FORCE = 8, + FOLL_NOWAIT = 16, + FOLL_NOFAULT = 32, + FOLL_HWPOISON = 64, + FOLL_ANON = 128, + FOLL_LONGTERM = 256, + FOLL_SPLIT_PMD = 512, + FOLL_PCI_P2PDMA = 1024, + FOLL_INTERRUPTIBLE = 2048, + FOLL_HONOR_NUMA_FAULT = 4096, +}; + +enum { + FORMAT_HEADER = 1, + FORMAT_FIELD_SEPERATOR = 2, + FORMAT_PRINTFMT = 3, +}; + +enum { + FRACTION_DENOM = 128, +}; + +enum { + FRA_UNSPEC = 0, + FRA_DST = 1, + FRA_SRC = 2, + FRA_IIFNAME = 3, + FRA_GOTO = 4, + FRA_UNUSED2 = 5, + FRA_PRIORITY = 6, + FRA_UNUSED3 = 7, + FRA_UNUSED4 = 8, + FRA_UNUSED5 = 9, + FRA_FWMARK = 10, + FRA_FLOW = 11, + FRA_TUN_ID = 12, + FRA_SUPPRESS_IFGROUP = 13, + FRA_SUPPRESS_PREFIXLEN = 14, + FRA_TABLE = 15, + FRA_FWMASK = 16, + FRA_OIFNAME = 17, + FRA_PAD = 18, + FRA_L3MDEV = 19, + FRA_UID_RANGE = 20, + FRA_PROTOCOL = 21, + FRA_IP_PROTO = 22, + FRA_SPORT_RANGE = 23, + FRA_DPORT_RANGE = 24, + FRA_DSCP = 25, + FRA_FLOWLABEL = 26, + FRA_FLOWLABEL_MASK = 27, + FRA_SPORT_MASK = 28, + FRA_DPORT_MASK = 29, + FRA_DSCP_MASK = 30, + __FRA_MAX = 31, +}; + +enum { + FR_ACT_UNSPEC = 0, + FR_ACT_TO_TBL = 1, + FR_ACT_GOTO = 2, + FR_ACT_NOP = 3, + FR_ACT_RES3 = 4, + FR_ACT_RES4 = 5, + FR_ACT_BLACKHOLE = 6, + FR_ACT_UNREACHABLE = 7, + FR_ACT_PROHIBIT = 8, + __FR_ACT_MAX = 9, +}; + +enum { + FR_PERCPU = 0, + FR_ATOMIC = 1, +}; + +enum { + FTRACE_FL_ENABLED = 2147483648, + FTRACE_FL_REGS = 1073741824, + FTRACE_FL_REGS_EN = 536870912, + FTRACE_FL_TRAMP = 268435456, + FTRACE_FL_TRAMP_EN = 134217728, + FTRACE_FL_IPMODIFY = 67108864, + FTRACE_FL_DISABLED = 33554432, + FTRACE_FL_DIRECT = 16777216, + FTRACE_FL_DIRECT_EN = 8388608, + FTRACE_FL_CALL_OPS = 4194304, + FTRACE_FL_CALL_OPS_EN = 2097152, + FTRACE_FL_TOUCHED = 1048576, + FTRACE_FL_MODIFIED = 524288, +}; + +enum { + FTRACE_HASH_FL_MOD = 1, +}; + +enum { + FTRACE_ITER_FILTER = 1, + FTRACE_ITER_NOTRACE = 2, + FTRACE_ITER_PRINTALL = 4, + FTRACE_ITER_DO_PROBES = 8, + FTRACE_ITER_PROBE = 16, + FTRACE_ITER_MOD = 32, + FTRACE_ITER_ENABLED = 64, + FTRACE_ITER_TOUCHED = 128, + FTRACE_ITER_ADDRS = 256, +}; + +enum { + FTRACE_MODIFY_ENABLE_FL = 1, + FTRACE_MODIFY_MAY_SLEEP_FL = 2, +}; + +enum { + FTRACE_OPS_FL_ENABLED = 1, + FTRACE_OPS_FL_DYNAMIC = 2, + FTRACE_OPS_FL_SAVE_REGS = 4, + FTRACE_OPS_FL_SAVE_REGS_IF_SUPPORTED = 8, + FTRACE_OPS_FL_RECURSION = 16, + FTRACE_OPS_FL_STUB = 32, + FTRACE_OPS_FL_INITIALIZED = 64, + FTRACE_OPS_FL_DELETED = 128, + FTRACE_OPS_FL_ADDING = 256, + FTRACE_OPS_FL_REMOVING = 512, + FTRACE_OPS_FL_MODIFYING = 1024, + FTRACE_OPS_FL_ALLOC_TRAMP = 2048, + FTRACE_OPS_FL_IPMODIFY = 4096, + FTRACE_OPS_FL_PID = 8192, + FTRACE_OPS_FL_RCU = 16384, + FTRACE_OPS_FL_TRACE_ARRAY = 32768, + FTRACE_OPS_FL_PERMANENT = 65536, + FTRACE_OPS_FL_DIRECT = 131072, + FTRACE_OPS_FL_SUBOP = 262144, + FTRACE_OPS_FL_GRAPH = 524288, +}; + +enum { + FTRACE_UPDATE_CALLS = 1, + FTRACE_DISABLE_CALLS = 2, + FTRACE_UPDATE_TRACE_FUNC = 4, + FTRACE_START_FUNC_RET = 8, + FTRACE_STOP_FUNC_RET = 16, + FTRACE_MAY_SLEEP = 32, +}; + +enum { + FTRACE_UPDATE_IGNORE = 0, + FTRACE_UPDATE_MAKE_CALL = 1, + FTRACE_UPDATE_MODIFY_CALL = 2, + FTRACE_UPDATE_MAKE_NOP = 3, +}; + +enum { + FUSE_I_ADVISE_RDPLUS = 0, + FUSE_I_INIT_RDPLUS = 1, + FUSE_I_SIZE_UNSTABLE = 2, + FUSE_I_BAD = 3, + FUSE_I_BTIME = 4, + FUSE_I_CACHE_IO_MODE = 5, +}; + +enum { + FUTEX_STATE_OK = 0, + FUTEX_STATE_EXITING = 1, + FUTEX_STATE_DEAD = 2, +}; + +enum { + GATE_INTERRUPT = 14, + GATE_TRAP = 15, + GATE_CALL = 12, + GATE_TASK = 5, +}; + +enum { + GENHD_FL_REMOVABLE = 1, + GENHD_FL_HIDDEN = 2, + GENHD_FL_NO_PART = 4, +}; + +enum { + GHES_SEV_NO = 0, + GHES_SEV_CORRECTED = 1, + GHES_SEV_RECOVERABLE = 2, + GHES_SEV_PANIC = 3, +}; + +enum { + GI2C_PORT = 0, + PI2C_PORT = 1, +}; + +enum { + GPIO_SYSFS_LINE_CHIP_ATTR_DIRECTION = 0, + GPIO_SYSFS_LINE_CHIP_ATTR_VALUE = 1, + GPIO_SYSFS_LINE_CHIP_ATTR_SENTINEL = 2, + GPIO_SYSFS_LINE_CHIP_ATTR_SIZE = 3, +}; + +enum { + GPIO_SYSFS_LINE_CLASS_ATTR_DIRECTION = 0, + GPIO_SYSFS_LINE_CLASS_ATTR_VALUE = 1, + GPIO_SYSFS_LINE_CLASS_ATTR_EDGE = 2, + GPIO_SYSFS_LINE_CLASS_ATTR_ACTIVE_LOW = 3, + GPIO_SYSFS_LINE_CLASS_ATTR_SENTINEL = 4, + GPIO_SYSFS_LINE_CLASS_ATTR_SIZE = 5, +}; + +enum { + GP_IDLE = 0, + GP_ENTER = 1, + GP_PASSED = 2, + GP_EXIT = 3, + GP_REPLAY = 4, +}; + +enum { + HANDSHAKE_A_ACCEPT_SOCKFD = 1, + HANDSHAKE_A_ACCEPT_HANDLER_CLASS = 2, + HANDSHAKE_A_ACCEPT_MESSAGE_TYPE = 3, + HANDSHAKE_A_ACCEPT_TIMEOUT = 4, + HANDSHAKE_A_ACCEPT_AUTH_MODE = 5, + HANDSHAKE_A_ACCEPT_PEER_IDENTITY = 6, + HANDSHAKE_A_ACCEPT_CERTIFICATE = 7, + HANDSHAKE_A_ACCEPT_PEERNAME = 8, + HANDSHAKE_A_ACCEPT_KEYRING = 9, + __HANDSHAKE_A_ACCEPT_MAX = 10, + HANDSHAKE_A_ACCEPT_MAX = 9, +}; + +enum { + HANDSHAKE_A_DONE_STATUS = 1, + HANDSHAKE_A_DONE_SOCKFD = 2, + HANDSHAKE_A_DONE_REMOTE_AUTH = 3, + __HANDSHAKE_A_DONE_MAX = 4, + HANDSHAKE_A_DONE_MAX = 3, +}; + +enum { + HANDSHAKE_A_X509_CERT = 1, + HANDSHAKE_A_X509_PRIVKEY = 2, + __HANDSHAKE_A_X509_MAX = 3, + HANDSHAKE_A_X509_MAX = 2, +}; + +enum { + HANDSHAKE_CMD_READY = 1, + HANDSHAKE_CMD_ACCEPT = 2, + HANDSHAKE_CMD_DONE = 3, + __HANDSHAKE_CMD_MAX = 4, + HANDSHAKE_CMD_MAX = 3, +}; + +enum { + HANDSHAKE_NLGRP_NONE = 0, + HANDSHAKE_NLGRP_TLSHD = 1, +}; + +enum { + HASH_SIZE = 128, +}; + +enum { + HAS_READ = 1, + HAS_WRITE = 2, + HAS_LSEEK = 4, + HAS_POLL = 8, + HAS_IOCTL = 16, +}; + +enum { + HIBERNATION_INVALID = 0, + HIBERNATION_PLATFORM = 1, + HIBERNATION_SHUTDOWN = 2, + HIBERNATION_REBOOT = 3, + HIBERNATION_SUSPEND = 4, + HIBERNATION_TEST_RESUME = 5, + __HIBERNATION_AFTER_LAST = 6, +}; + +enum { + HIST_ERR_NONE = 0, + HIST_ERR_DUPLICATE_VAR = 1, + HIST_ERR_VAR_NOT_UNIQUE = 2, + HIST_ERR_TOO_MANY_VARS = 3, + HIST_ERR_MALFORMED_ASSIGNMENT = 4, + HIST_ERR_NAMED_MISMATCH = 5, + HIST_ERR_TRIGGER_EEXIST = 6, + HIST_ERR_TRIGGER_ENOENT_CLEAR = 7, + HIST_ERR_SET_CLOCK_FAIL = 8, + HIST_ERR_BAD_FIELD_MODIFIER = 9, + HIST_ERR_TOO_MANY_SUBEXPR = 10, + HIST_ERR_TIMESTAMP_MISMATCH = 11, + HIST_ERR_TOO_MANY_FIELD_VARS = 12, + HIST_ERR_EVENT_FILE_NOT_FOUND = 13, + HIST_ERR_HIST_NOT_FOUND = 14, + HIST_ERR_HIST_CREATE_FAIL = 15, + HIST_ERR_SYNTH_VAR_NOT_FOUND = 16, + HIST_ERR_SYNTH_EVENT_NOT_FOUND = 17, + HIST_ERR_SYNTH_TYPE_MISMATCH = 18, + HIST_ERR_SYNTH_COUNT_MISMATCH = 19, + HIST_ERR_FIELD_VAR_PARSE_FAIL = 20, + HIST_ERR_VAR_CREATE_FIND_FAIL = 21, + HIST_ERR_ONX_NOT_VAR = 22, + HIST_ERR_ONX_VAR_NOT_FOUND = 23, + HIST_ERR_ONX_VAR_CREATE_FAIL = 24, + HIST_ERR_FIELD_VAR_CREATE_FAIL = 25, + HIST_ERR_TOO_MANY_PARAMS = 26, + HIST_ERR_PARAM_NOT_FOUND = 27, + HIST_ERR_INVALID_PARAM = 28, + HIST_ERR_ACTION_NOT_FOUND = 29, + HIST_ERR_NO_SAVE_PARAMS = 30, + HIST_ERR_TOO_MANY_SAVE_ACTIONS = 31, + HIST_ERR_ACTION_MISMATCH = 32, + HIST_ERR_NO_CLOSING_PAREN = 33, + HIST_ERR_SUBSYS_NOT_FOUND = 34, + HIST_ERR_INVALID_SUBSYS_EVENT = 35, + HIST_ERR_INVALID_REF_KEY = 36, + HIST_ERR_VAR_NOT_FOUND = 37, + HIST_ERR_FIELD_NOT_FOUND = 38, + HIST_ERR_EMPTY_ASSIGNMENT = 39, + HIST_ERR_INVALID_SORT_MODIFIER = 40, + HIST_ERR_EMPTY_SORT_FIELD = 41, + HIST_ERR_TOO_MANY_SORT_FIELDS = 42, + HIST_ERR_INVALID_SORT_FIELD = 43, + HIST_ERR_INVALID_STR_OPERAND = 44, + HIST_ERR_EXPECT_NUMBER = 45, + HIST_ERR_UNARY_MINUS_SUBEXPR = 46, + HIST_ERR_DIVISION_BY_ZERO = 47, + HIST_ERR_NEED_NOHC_VAL = 48, +}; + +enum { + HI_SOFTIRQ = 0, + TIMER_SOFTIRQ = 1, + NET_TX_SOFTIRQ = 2, + NET_RX_SOFTIRQ = 3, + BLOCK_SOFTIRQ = 4, + IRQ_POLL_SOFTIRQ = 5, + TASKLET_SOFTIRQ = 6, + SCHED_SOFTIRQ = 7, + HRTIMER_SOFTIRQ = 8, + RCU_SOFTIRQ = 9, + NR_SOFTIRQS = 10, +}; + +enum { + HMM_NEED_FAULT = 1, + HMM_NEED_WRITE_FAULT = 2, + HMM_NEED_ALL_BITS = 3, +}; + +enum { + HMM_PFN_INOUT_FLAGS = 2017612633061982208ULL, +}; + +enum { + HOST_L_CNT = 6, +}; + +enum { + HOST_L_DUR = 9, +}; + +enum { + HOST_S_CNT = 7, +}; + +enum { + HOST_S_DUR = 8, +}; + +enum { + HP_THREAD_NONE = 0, + HP_THREAD_ACTIVE = 1, + HP_THREAD_PARKED = 2, +}; + +enum { + HSWEP_PCI_UNCORE_HA = 0, + HSWEP_PCI_UNCORE_IMC = 1, + HSWEP_PCI_UNCORE_IRP = 2, + HSWEP_PCI_UNCORE_QPI = 3, + HSWEP_PCI_UNCORE_R2PCIE = 4, + HSWEP_PCI_UNCORE_R3QPI = 5, +}; + +enum { + HTE_TS_REGISTERED = 0, + HTE_TS_REQ = 1, + HTE_TS_DISABLE = 2, + HTE_TS_QUEUE_WK = 3, +}; + +enum { + HUF_flags_bmi2 = 1, + HUF_flags_optimalDepth = 2, + HUF_flags_preferRepeat = 4, + HUF_flags_suspectUncompressible = 8, + HUF_flags_disableAsm = 16, + HUF_flags_disableFast = 32, +}; + +enum { + HUGETLB_SHMFS_INODE = 1, + HUGETLB_ANONHUGE_INODE = 2, +}; + +enum { + HV_SUBNODE_ANY = 0, + HV_SUBNODE_SOCKET = 1, + HV_SUBNODE_CLUSTER = 2, + HV_SUBNODE_L3 = 3, + HV_SUBNODE_COUNT = 4, + HV_SUBNODE_INVALID = -1, +}; + +enum { + HW_BREAKPOINT_EMPTY = 0, + HW_BREAKPOINT_R = 1, + HW_BREAKPOINT_W = 2, + HW_BREAKPOINT_RW = 3, + HW_BREAKPOINT_X = 4, + HW_BREAKPOINT_INVALID = 7, +}; + +enum { + HW_BREAKPOINT_LEN_1 = 1, + HW_BREAKPOINT_LEN_2 = 2, + HW_BREAKPOINT_LEN_3 = 3, + HW_BREAKPOINT_LEN_4 = 4, + HW_BREAKPOINT_LEN_5 = 5, + HW_BREAKPOINT_LEN_6 = 6, + HW_BREAKPOINT_LEN_7 = 7, + HW_BREAKPOINT_LEN_8 = 8, +}; + +enum { + IBM = 0, + TVP = 1, +}; + +enum { + ICMP6_MIB_NUM = 0, + ICMP6_MIB_INMSGS = 1, + ICMP6_MIB_INERRORS = 2, + ICMP6_MIB_OUTMSGS = 3, + ICMP6_MIB_OUTERRORS = 4, + ICMP6_MIB_CSUMERRORS = 5, + ICMP6_MIB_RATELIMITHOST = 6, + __ICMP6_MIB_MAX = 7, +}; + +enum { + ICMP_MIB_NUM = 0, + ICMP_MIB_INMSGS = 1, + ICMP_MIB_INERRORS = 2, + ICMP_MIB_INDESTUNREACHS = 3, + ICMP_MIB_INTIMEEXCDS = 4, + ICMP_MIB_INPARMPROBS = 5, + ICMP_MIB_INSRCQUENCHS = 6, + ICMP_MIB_INREDIRECTS = 7, + ICMP_MIB_INECHOS = 8, + ICMP_MIB_INECHOREPS = 9, + ICMP_MIB_INTIMESTAMPS = 10, + ICMP_MIB_INTIMESTAMPREPS = 11, + ICMP_MIB_INADDRMASKS = 12, + ICMP_MIB_INADDRMASKREPS = 13, + ICMP_MIB_OUTMSGS = 14, + ICMP_MIB_OUTERRORS = 15, + ICMP_MIB_OUTDESTUNREACHS = 16, + ICMP_MIB_OUTTIMEEXCDS = 17, + ICMP_MIB_OUTPARMPROBS = 18, + ICMP_MIB_OUTSRCQUENCHS = 19, + ICMP_MIB_OUTREDIRECTS = 20, + ICMP_MIB_OUTECHOS = 21, + ICMP_MIB_OUTECHOREPS = 22, + ICMP_MIB_OUTTIMESTAMPS = 23, + ICMP_MIB_OUTTIMESTAMPREPS = 24, + ICMP_MIB_OUTADDRMASKS = 25, + ICMP_MIB_OUTADDRMASKREPS = 26, + ICMP_MIB_CSUMERRORS = 27, + ICMP_MIB_RATELIMITGLOBAL = 28, + ICMP_MIB_RATELIMITHOST = 29, + __ICMP_MIB_MAX = 30, +}; + +enum { + ICQ_EXITED = 4, + ICQ_DESTROYED = 8, +}; + +enum { + ICX_PCIE1_PMON_ID = 0, + ICX_PCIE2_PMON_ID = 1, + ICX_PCIE3_PMON_ID = 2, + ICX_PCIE4_PMON_ID = 3, + ICX_PCIE5_PMON_ID = 4, + ICX_CBDMA_DMI_PMON_ID = 5, +}; + +enum { + ICX_PCI_UNCORE_M2M = 0, + ICX_PCI_UNCORE_UPI = 1, + ICX_PCI_UNCORE_M3UPI = 2, +}; + +enum { + IDX_MODULE_ID = 0, + IDX_ST_OPS_COMMON_VALUE_ID = 1, +}; + +enum { + IFAL_ADDRESS = 1, + IFAL_LABEL = 2, + __IFAL_MAX = 3, +}; + +enum { + IFA_UNSPEC = 0, + IFA_ADDRESS = 1, + IFA_LOCAL = 2, + IFA_LABEL = 3, + IFA_BROADCAST = 4, + IFA_ANYCAST = 5, + IFA_CACHEINFO = 6, + IFA_MULTICAST = 7, + IFA_FLAGS = 8, + IFA_RT_PRIORITY = 9, + IFA_TARGET_NETNSID = 10, + IFA_PROTO = 11, + __IFA_MAX = 12, +}; + +enum { + IFLA_BRIDGE_FLAGS = 0, + IFLA_BRIDGE_MODE = 1, + IFLA_BRIDGE_VLAN_INFO = 2, + IFLA_BRIDGE_VLAN_TUNNEL_INFO = 3, + IFLA_BRIDGE_MRP = 4, + IFLA_BRIDGE_CFM = 5, + IFLA_BRIDGE_MST = 6, + __IFLA_BRIDGE_MAX = 7, +}; + +enum { + IFLA_BRPORT_UNSPEC = 0, + IFLA_BRPORT_STATE = 1, + IFLA_BRPORT_PRIORITY = 2, + IFLA_BRPORT_COST = 3, + IFLA_BRPORT_MODE = 4, + IFLA_BRPORT_GUARD = 5, + IFLA_BRPORT_PROTECT = 6, + IFLA_BRPORT_FAST_LEAVE = 7, + IFLA_BRPORT_LEARNING = 8, + IFLA_BRPORT_UNICAST_FLOOD = 9, + IFLA_BRPORT_PROXYARP = 10, + IFLA_BRPORT_LEARNING_SYNC = 11, + IFLA_BRPORT_PROXYARP_WIFI = 12, + IFLA_BRPORT_ROOT_ID = 13, + IFLA_BRPORT_BRIDGE_ID = 14, + IFLA_BRPORT_DESIGNATED_PORT = 15, + IFLA_BRPORT_DESIGNATED_COST = 16, + IFLA_BRPORT_ID = 17, + IFLA_BRPORT_NO = 18, + IFLA_BRPORT_TOPOLOGY_CHANGE_ACK = 19, + IFLA_BRPORT_CONFIG_PENDING = 20, + IFLA_BRPORT_MESSAGE_AGE_TIMER = 21, + IFLA_BRPORT_FORWARD_DELAY_TIMER = 22, + IFLA_BRPORT_HOLD_TIMER = 23, + IFLA_BRPORT_FLUSH = 24, + IFLA_BRPORT_MULTICAST_ROUTER = 25, + IFLA_BRPORT_PAD = 26, + IFLA_BRPORT_MCAST_FLOOD = 27, + IFLA_BRPORT_MCAST_TO_UCAST = 28, + IFLA_BRPORT_VLAN_TUNNEL = 29, + IFLA_BRPORT_BCAST_FLOOD = 30, + IFLA_BRPORT_GROUP_FWD_MASK = 31, + IFLA_BRPORT_NEIGH_SUPPRESS = 32, + IFLA_BRPORT_ISOLATED = 33, + IFLA_BRPORT_BACKUP_PORT = 34, + IFLA_BRPORT_MRP_RING_OPEN = 35, + IFLA_BRPORT_MRP_IN_OPEN = 36, + IFLA_BRPORT_MCAST_EHT_HOSTS_LIMIT = 37, + IFLA_BRPORT_MCAST_EHT_HOSTS_CNT = 38, + IFLA_BRPORT_LOCKED = 39, + IFLA_BRPORT_MAB = 40, + IFLA_BRPORT_MCAST_N_GROUPS = 41, + IFLA_BRPORT_MCAST_MAX_GROUPS = 42, + IFLA_BRPORT_NEIGH_VLAN_SUPPRESS = 43, + IFLA_BRPORT_BACKUP_NHID = 44, + __IFLA_BRPORT_MAX = 45, +}; + +enum { + IFLA_EVENT_NONE = 0, + IFLA_EVENT_REBOOT = 1, + IFLA_EVENT_FEATURES = 2, + IFLA_EVENT_BONDING_FAILOVER = 3, + IFLA_EVENT_NOTIFY_PEERS = 4, + IFLA_EVENT_IGMP_RESEND = 5, + IFLA_EVENT_BONDING_OPTIONS = 6, +}; + +enum { + IFLA_INET6_UNSPEC = 0, + IFLA_INET6_FLAGS = 1, + IFLA_INET6_CONF = 2, + IFLA_INET6_STATS = 3, + IFLA_INET6_MCAST = 4, + IFLA_INET6_CACHEINFO = 5, + IFLA_INET6_ICMP6STATS = 6, + IFLA_INET6_TOKEN = 7, + IFLA_INET6_ADDR_GEN_MODE = 8, + IFLA_INET6_RA_MTU = 9, + __IFLA_INET6_MAX = 10, +}; + +enum { + IFLA_INET_UNSPEC = 0, + IFLA_INET_CONF = 1, + __IFLA_INET_MAX = 2, +}; + +enum { + IFLA_INFO_UNSPEC = 0, + IFLA_INFO_KIND = 1, + IFLA_INFO_DATA = 2, + IFLA_INFO_XSTATS = 3, + IFLA_INFO_SLAVE_KIND = 4, + IFLA_INFO_SLAVE_DATA = 5, + __IFLA_INFO_MAX = 6, +}; + +enum { + IFLA_IPTUN_UNSPEC = 0, + IFLA_IPTUN_LINK = 1, + IFLA_IPTUN_LOCAL = 2, + IFLA_IPTUN_REMOTE = 3, + IFLA_IPTUN_TTL = 4, + IFLA_IPTUN_TOS = 5, + IFLA_IPTUN_ENCAP_LIMIT = 6, + IFLA_IPTUN_FLOWINFO = 7, + IFLA_IPTUN_FLAGS = 8, + IFLA_IPTUN_PROTO = 9, + IFLA_IPTUN_PMTUDISC = 10, + IFLA_IPTUN_6RD_PREFIX = 11, + IFLA_IPTUN_6RD_RELAY_PREFIX = 12, + IFLA_IPTUN_6RD_PREFIXLEN = 13, + IFLA_IPTUN_6RD_RELAY_PREFIXLEN = 14, + IFLA_IPTUN_ENCAP_TYPE = 15, + IFLA_IPTUN_ENCAP_FLAGS = 16, + IFLA_IPTUN_ENCAP_SPORT = 17, + IFLA_IPTUN_ENCAP_DPORT = 18, + IFLA_IPTUN_COLLECT_METADATA = 19, + IFLA_IPTUN_FWMARK = 20, + __IFLA_IPTUN_VENDOR_BREAK = 21, + IFLA_IPTUN_FAN_MAP = 33, + __IFLA_IPTUN_MAX = 34, +}; + +enum { + IFLA_MCTP_UNSPEC = 0, + IFLA_MCTP_NET = 1, + IFLA_MCTP_PHYS_BINDING = 2, + __IFLA_MCTP_MAX = 3, +}; + +enum { + IFLA_NETKIT_UNSPEC = 0, + IFLA_NETKIT_PEER_INFO = 1, + IFLA_NETKIT_PRIMARY = 2, + IFLA_NETKIT_POLICY = 3, + IFLA_NETKIT_PEER_POLICY = 4, + IFLA_NETKIT_MODE = 5, + IFLA_NETKIT_SCRUB = 6, + IFLA_NETKIT_PEER_SCRUB = 7, + IFLA_NETKIT_HEADROOM = 8, + IFLA_NETKIT_TAILROOM = 9, + __IFLA_NETKIT_MAX = 10, +}; + +enum { + IFLA_OFFLOAD_XSTATS_HW_S_INFO_UNSPEC = 0, + IFLA_OFFLOAD_XSTATS_HW_S_INFO_REQUEST = 1, + IFLA_OFFLOAD_XSTATS_HW_S_INFO_USED = 2, + __IFLA_OFFLOAD_XSTATS_HW_S_INFO_MAX = 3, +}; + +enum { + IFLA_OFFLOAD_XSTATS_UNSPEC = 0, + IFLA_OFFLOAD_XSTATS_CPU_HIT = 1, + IFLA_OFFLOAD_XSTATS_HW_S_INFO = 2, + IFLA_OFFLOAD_XSTATS_L3_STATS = 3, + __IFLA_OFFLOAD_XSTATS_MAX = 4, +}; + +enum { + IFLA_PORT_UNSPEC = 0, + IFLA_PORT_VF = 1, + IFLA_PORT_PROFILE = 2, + IFLA_PORT_VSI_TYPE = 3, + IFLA_PORT_INSTANCE_UUID = 4, + IFLA_PORT_HOST_UUID = 5, + IFLA_PORT_REQUEST = 6, + IFLA_PORT_RESPONSE = 7, + __IFLA_PORT_MAX = 8, +}; + +enum { + IFLA_PPP_UNSPEC = 0, + IFLA_PPP_DEV_FD = 1, + __IFLA_PPP_MAX = 2, +}; + +enum { + IFLA_PROTO_DOWN_REASON_UNSPEC = 0, + IFLA_PROTO_DOWN_REASON_MASK = 1, + IFLA_PROTO_DOWN_REASON_VALUE = 2, + __IFLA_PROTO_DOWN_REASON_CNT = 3, + IFLA_PROTO_DOWN_REASON_MAX = 2, +}; + +enum { + IFLA_STATS_GETSET_UNSPEC = 0, + IFLA_STATS_GET_FILTERS = 1, + IFLA_STATS_SET_OFFLOAD_XSTATS_L3_STATS = 2, + __IFLA_STATS_GETSET_MAX = 3, +}; + +enum { + IFLA_STATS_UNSPEC = 0, + IFLA_STATS_LINK_64 = 1, + IFLA_STATS_LINK_XSTATS = 2, + IFLA_STATS_LINK_XSTATS_SLAVE = 3, + IFLA_STATS_LINK_OFFLOAD_XSTATS = 4, + IFLA_STATS_AF_SPEC = 5, + __IFLA_STATS_MAX = 6, +}; + +enum { + IFLA_TUN_UNSPEC = 0, + IFLA_TUN_OWNER = 1, + IFLA_TUN_GROUP = 2, + IFLA_TUN_TYPE = 3, + IFLA_TUN_PI = 4, + IFLA_TUN_VNET_HDR = 5, + IFLA_TUN_PERSIST = 6, + IFLA_TUN_MULTI_QUEUE = 7, + IFLA_TUN_NUM_QUEUES = 8, + IFLA_TUN_NUM_DISABLED_QUEUES = 9, + __IFLA_TUN_MAX = 10, +}; + +enum { + IFLA_UNSPEC = 0, + IFLA_ADDRESS = 1, + IFLA_BROADCAST = 2, + IFLA_IFNAME = 3, + IFLA_MTU = 4, + IFLA_LINK = 5, + IFLA_QDISC = 6, + IFLA_STATS = 7, + IFLA_COST = 8, + IFLA_PRIORITY = 9, + IFLA_MASTER = 10, + IFLA_WIRELESS = 11, + IFLA_PROTINFO = 12, + IFLA_TXQLEN = 13, + IFLA_MAP = 14, + IFLA_WEIGHT = 15, + IFLA_OPERSTATE = 16, + IFLA_LINKMODE = 17, + IFLA_LINKINFO = 18, + IFLA_NET_NS_PID = 19, + IFLA_IFALIAS = 20, + IFLA_NUM_VF = 21, + IFLA_VFINFO_LIST = 22, + IFLA_STATS64 = 23, + IFLA_VF_PORTS = 24, + IFLA_PORT_SELF = 25, + IFLA_AF_SPEC = 26, + IFLA_GROUP = 27, + IFLA_NET_NS_FD = 28, + IFLA_EXT_MASK = 29, + IFLA_PROMISCUITY = 30, + IFLA_NUM_TX_QUEUES = 31, + IFLA_NUM_RX_QUEUES = 32, + IFLA_CARRIER = 33, + IFLA_PHYS_PORT_ID = 34, + IFLA_CARRIER_CHANGES = 35, + IFLA_PHYS_SWITCH_ID = 36, + IFLA_LINK_NETNSID = 37, + IFLA_PHYS_PORT_NAME = 38, + IFLA_PROTO_DOWN = 39, + IFLA_GSO_MAX_SEGS = 40, + IFLA_GSO_MAX_SIZE = 41, + IFLA_PAD = 42, + IFLA_XDP = 43, + IFLA_EVENT = 44, + IFLA_NEW_NETNSID = 45, + IFLA_IF_NETNSID = 46, + IFLA_TARGET_NETNSID = 46, + IFLA_CARRIER_UP_COUNT = 47, + IFLA_CARRIER_DOWN_COUNT = 48, + IFLA_NEW_IFINDEX = 49, + IFLA_MIN_MTU = 50, + IFLA_MAX_MTU = 51, + IFLA_PROP_LIST = 52, + IFLA_ALT_IFNAME = 53, + IFLA_PERM_ADDRESS = 54, + IFLA_PROTO_DOWN_REASON = 55, + IFLA_PARENT_DEV_NAME = 56, + IFLA_PARENT_DEV_BUS_NAME = 57, + IFLA_GRO_MAX_SIZE = 58, + IFLA_TSO_MAX_SIZE = 59, + IFLA_TSO_MAX_SEGS = 60, + IFLA_ALLMULTI = 61, + IFLA_DEVLINK_PORT = 62, + IFLA_GSO_IPV4_MAX_SIZE = 63, + IFLA_GRO_IPV4_MAX_SIZE = 64, + IFLA_DPLL_PIN = 65, + IFLA_MAX_PACING_OFFLOAD_HORIZON = 66, + IFLA_NETNS_IMMUTABLE = 67, + __IFLA_MAX = 68, +}; + +enum { + IFLA_VF_INFO_UNSPEC = 0, + IFLA_VF_INFO = 1, + __IFLA_VF_INFO_MAX = 2, +}; + +enum { + IFLA_VF_PORT_UNSPEC = 0, + IFLA_VF_PORT = 1, + __IFLA_VF_PORT_MAX = 2, +}; + +enum { + IFLA_VF_STATS_RX_PACKETS = 0, + IFLA_VF_STATS_TX_PACKETS = 1, + IFLA_VF_STATS_RX_BYTES = 2, + IFLA_VF_STATS_TX_BYTES = 3, + IFLA_VF_STATS_BROADCAST = 4, + IFLA_VF_STATS_MULTICAST = 5, + IFLA_VF_STATS_PAD = 6, + IFLA_VF_STATS_RX_DROPPED = 7, + IFLA_VF_STATS_TX_DROPPED = 8, + __IFLA_VF_STATS_MAX = 9, +}; + +enum { + IFLA_VF_UNSPEC = 0, + IFLA_VF_MAC = 1, + IFLA_VF_VLAN = 2, + IFLA_VF_TX_RATE = 3, + IFLA_VF_SPOOFCHK = 4, + IFLA_VF_LINK_STATE = 5, + IFLA_VF_RATE = 6, + IFLA_VF_RSS_QUERY_EN = 7, + IFLA_VF_STATS = 8, + IFLA_VF_TRUST = 9, + IFLA_VF_IB_NODE_GUID = 10, + IFLA_VF_IB_PORT_GUID = 11, + IFLA_VF_VLAN_LIST = 12, + IFLA_VF_BROADCAST = 13, + __IFLA_VF_MAX = 14, +}; + +enum { + IFLA_VF_VLAN_INFO_UNSPEC = 0, + IFLA_VF_VLAN_INFO = 1, + __IFLA_VF_VLAN_INFO_MAX = 2, +}; + +enum { + IFLA_XDP_UNSPEC = 0, + IFLA_XDP_FD = 1, + IFLA_XDP_ATTACHED = 2, + IFLA_XDP_FLAGS = 3, + IFLA_XDP_PROG_ID = 4, + IFLA_XDP_DRV_PROG_ID = 5, + IFLA_XDP_SKB_PROG_ID = 6, + IFLA_XDP_HW_PROG_ID = 7, + IFLA_XDP_EXPECTED_FD = 8, + __IFLA_XDP_MAX = 9, +}; + +enum { + IF_ACT_NONE = -1, + IF_ACT_FILTER = 0, + IF_ACT_START = 1, + IF_ACT_STOP = 2, + IF_SRC_FILE = 3, + IF_SRC_KERNEL = 4, + IF_SRC_FILEADDR = 5, + IF_SRC_KERNELADDR = 6, +}; + +enum { + IF_LINK_MODE_DEFAULT = 0, + IF_LINK_MODE_DORMANT = 1, + IF_LINK_MODE_TESTING = 2, +}; + +enum { + IF_OPER_UNKNOWN = 0, + IF_OPER_NOTPRESENT = 1, + IF_OPER_DOWN = 2, + IF_OPER_LOWERLAYERDOWN = 3, + IF_OPER_TESTING = 4, + IF_OPER_DORMANT = 5, + IF_OPER_UP = 6, +}; + +enum { + IF_STATE_ACTION = 0, + IF_STATE_SOURCE = 1, + IF_STATE_END = 2, +}; + +enum { + IIO_TOPOLOGY_TYPE = 0, + UPI_TOPOLOGY_TYPE = 1, + TOPOLOGY_MAX = 2, +}; + +enum { + INET6_IFADDR_STATE_PREDAD = 0, + INET6_IFADDR_STATE_DAD = 1, + INET6_IFADDR_STATE_POSTDAD = 2, + INET6_IFADDR_STATE_ERRDAD = 3, + INET6_IFADDR_STATE_DEAD = 4, +}; + +enum { + INET_DIAG_REQ_NONE = 0, + INET_DIAG_REQ_BYTECODE = 1, + INET_DIAG_REQ_SK_BPF_STORAGES = 2, + INET_DIAG_REQ_PROTOCOL = 3, + __INET_DIAG_REQ_MAX = 4, +}; + +enum { + INET_ECN_NOT_ECT = 0, + INET_ECN_ECT_1 = 1, + INET_ECN_ECT_0 = 2, + INET_ECN_CE = 3, + INET_ECN_MASK = 3, +}; + +enum { + INET_FLAGS_PKTINFO = 0, + INET_FLAGS_TTL = 1, + INET_FLAGS_TOS = 2, + INET_FLAGS_RECVOPTS = 3, + INET_FLAGS_RETOPTS = 4, + INET_FLAGS_PASSSEC = 5, + INET_FLAGS_ORIGDSTADDR = 6, + INET_FLAGS_CHECKSUM = 7, + INET_FLAGS_RECVFRAGSIZE = 8, + INET_FLAGS_RECVERR = 9, + INET_FLAGS_RECVERR_RFC4884 = 10, + INET_FLAGS_FREEBIND = 11, + INET_FLAGS_HDRINCL = 12, + INET_FLAGS_MC_LOOP = 13, + INET_FLAGS_MC_ALL = 14, + INET_FLAGS_TRANSPARENT = 15, + INET_FLAGS_IS_ICSK = 16, + INET_FLAGS_NODEFRAG = 17, + INET_FLAGS_BIND_ADDRESS_NO_PORT = 18, + INET_FLAGS_DEFER_CONNECT = 19, + INET_FLAGS_MC6_LOOP = 20, + INET_FLAGS_RECVERR6_RFC4884 = 21, + INET_FLAGS_MC6_ALL = 22, + INET_FLAGS_AUTOFLOWLABEL_SET = 23, + INET_FLAGS_AUTOFLOWLABEL = 24, + INET_FLAGS_DONTFRAG = 25, + INET_FLAGS_RECVERR6 = 26, + INET_FLAGS_REPFLOW = 27, + INET_FLAGS_RTALERT_ISOLATE = 28, + INET_FLAGS_SNDFLOW = 29, + INET_FLAGS_RTALERT = 30, +}; + +enum { + INET_FRAG_FIRST_IN = 1, + INET_FRAG_LAST_IN = 2, + INET_FRAG_COMPLETE = 4, + INET_FRAG_HASH_DEAD = 8, + INET_FRAG_DROP = 16, +}; + +enum { + INET_ULP_INFO_UNSPEC = 0, + INET_ULP_INFO_NAME = 1, + INET_ULP_INFO_TLS = 2, + INET_ULP_INFO_MPTCP = 3, + __INET_ULP_INFO_MAX = 4, +}; + +enum { + INSN_F_FRAMENO_MASK = 7, + INSN_F_SPI_MASK = 63, + INSN_F_SPI_SHIFT = 3, + INSN_F_STACK_ACCESS = 512, + INSN_F_DST_REG_STACK = 1024, + INSN_F_SRC_REG_STACK = 2048, +}; + +enum { + INTEL_GPIO_BASE_ZERO = -2, + INTEL_GPIO_BASE_NOMAP = -1, + INTEL_GPIO_BASE_MATCH = 0, +}; + +enum { + INVERT = 1, + PROCESS_AND = 2, + PROCESS_OR = 4, +}; + +enum { + IOAM6_ATTR_UNSPEC = 0, + IOAM6_ATTR_NS_ID = 1, + IOAM6_ATTR_NS_DATA = 2, + IOAM6_ATTR_NS_DATA_WIDE = 3, + IOAM6_ATTR_SC_ID = 4, + IOAM6_ATTR_SC_DATA = 5, + IOAM6_ATTR_SC_NONE = 6, + IOAM6_ATTR_PAD = 7, + __IOAM6_ATTR_MAX = 8, +}; + +enum { + IOAM6_CMD_UNSPEC = 0, + IOAM6_CMD_ADD_NAMESPACE = 1, + IOAM6_CMD_DEL_NAMESPACE = 2, + IOAM6_CMD_DUMP_NAMESPACES = 3, + IOAM6_CMD_ADD_SCHEMA = 4, + IOAM6_CMD_DEL_SCHEMA = 5, + IOAM6_CMD_DUMP_SCHEMAS = 6, + IOAM6_CMD_NS_SET_SCHEMA = 7, + __IOAM6_CMD_MAX = 8, +}; + +enum { + IOAM6_IPTUNNEL_UNSPEC = 0, + IOAM6_IPTUNNEL_MODE = 1, + IOAM6_IPTUNNEL_DST = 2, + IOAM6_IPTUNNEL_TRACE = 3, + IOAM6_IPTUNNEL_FREQ_K = 4, + IOAM6_IPTUNNEL_FREQ_N = 5, + IOAM6_IPTUNNEL_SRC = 6, + __IOAM6_IPTUNNEL_MAX = 7, +}; + +enum { + IOBL_BUF_RING = 1, + IOBL_INC = 2, +}; + +enum { + IOCB_CMD_PREAD = 0, + IOCB_CMD_PWRITE = 1, + IOCB_CMD_FSYNC = 2, + IOCB_CMD_FDSYNC = 3, + IOCB_CMD_POLL = 5, + IOCB_CMD_NOOP = 6, + IOCB_CMD_PREADV = 7, + IOCB_CMD_PWRITEV = 8, +}; + +enum { + IOMMU_PASID_ARRAY_DOMAIN = 0, + IOMMU_PASID_ARRAY_HANDLE = 1, +}; + +enum { + IOMMU_SET_DOMAIN_MUST_SUCCEED = 1, +}; + +enum { + IOPRIO_CLASS_NONE = 0, + IOPRIO_CLASS_RT = 1, + IOPRIO_CLASS_BE = 2, + IOPRIO_CLASS_IDLE = 3, + IOPRIO_CLASS_INVALID = 7, +}; + +enum { + IOPRIO_HINT_NONE = 0, + IOPRIO_HINT_DEV_DURATION_LIMIT_1 = 1, + IOPRIO_HINT_DEV_DURATION_LIMIT_2 = 2, + IOPRIO_HINT_DEV_DURATION_LIMIT_3 = 3, + IOPRIO_HINT_DEV_DURATION_LIMIT_4 = 4, + IOPRIO_HINT_DEV_DURATION_LIMIT_5 = 5, + IOPRIO_HINT_DEV_DURATION_LIMIT_6 = 6, + IOPRIO_HINT_DEV_DURATION_LIMIT_7 = 7, +}; + +enum { + IOPRIO_WHO_PROCESS = 1, + IOPRIO_WHO_PGRP = 2, + IOPRIO_WHO_USER = 3, +}; + +enum { + IORES_DESC_NONE = 0, + IORES_DESC_CRASH_KERNEL = 1, + IORES_DESC_ACPI_TABLES = 2, + IORES_DESC_ACPI_NV_STORAGE = 3, + IORES_DESC_PERSISTENT_MEMORY = 4, + IORES_DESC_PERSISTENT_MEMORY_LEGACY = 5, + IORES_DESC_DEVICE_PRIVATE_MEMORY = 6, + IORES_DESC_RESERVED = 7, + IORES_DESC_SOFT_RESERVED = 8, + IORES_DESC_CXL = 9, +}; + +enum { + IORES_MAP_SYSTEM_RAM = 1, + IORES_MAP_ENCRYPTED = 2, +}; + +enum { + IORING_MEM_REGION_REG_WAIT_ARG = 1, +}; + +enum { + IORING_MEM_REGION_TYPE_USER = 1, +}; + +enum { + IORING_REGISTER_SRC_REGISTERED = 1, + IORING_REGISTER_DST_REPLACE = 2, +}; + +enum { + IORING_REG_WAIT_TS = 1, +}; + +enum { + IORING_RSRC_FILE = 0, + IORING_RSRC_BUFFER = 1, +}; + +enum { + IOU_COMPLETE = 0, + IOU_ISSUE_SKIP_COMPLETE = -529, + IOU_RETRY = -11, + IOU_REQUEUE = -3072, +}; + +enum { + IOU_F_TWQ_LAZY_WAKE = 1, +}; + +enum { + IOU_POLL_DONE = 0, + IOU_POLL_NO_ACTION = 1, + IOU_POLL_REMOVE_POLL_USE_RES = 2, + IOU_POLL_REISSUE = 3, + IOU_POLL_REQUEUE = 4, +}; + +enum { + IO_ACCT_STALLED_BIT = 0, +}; + +enum { + IO_APOLL_OK = 0, + IO_APOLL_ABORTED = 1, + IO_APOLL_READY = 2, +}; + +enum { + IO_CHECK_CQ_OVERFLOW_BIT = 0, + IO_CHECK_CQ_DROPPED_BIT = 1, +}; + +enum { + IO_EVENTFD_OP_SIGNAL_BIT = 0, +}; + +enum { + IO_IMU_DEST = 1, + IO_IMU_SOURCE = 2, +}; + +enum { + IO_REGION_F_VMAP = 1, + IO_REGION_F_USER_PROVIDED = 2, + IO_REGION_F_SINGLE_REF = 4, +}; + +enum { + IO_SQ_THREAD_SHOULD_STOP = 0, + IO_SQ_THREAD_SHOULD_PARK = 1, +}; + +enum { + IO_WORKER_F_UP = 0, + IO_WORKER_F_RUNNING = 1, + IO_WORKER_F_FREE = 2, +}; + +enum { + IO_WQ_ACCT_BOUND = 0, + IO_WQ_ACCT_UNBOUND = 1, + IO_WQ_ACCT_NR = 2, +}; + +enum { + IO_WQ_BIT_EXIT = 0, +}; + +enum { + IO_WQ_WORK_CANCEL = 1, + IO_WQ_WORK_HASHED = 2, + IO_WQ_WORK_UNBOUND = 4, + IO_WQ_WORK_CONCURRENT = 16, + IO_WQ_HASH_SHIFT = 24, +}; + +enum { + IP6MRA_CREPORT_UNSPEC = 0, + IP6MRA_CREPORT_MSGTYPE = 1, + IP6MRA_CREPORT_MIF_ID = 2, + IP6MRA_CREPORT_SRC_ADDR = 3, + IP6MRA_CREPORT_DST_ADDR = 4, + IP6MRA_CREPORT_PKT = 5, + __IP6MRA_CREPORT_MAX = 6, +}; + +enum { + IP6_FH_F_FRAG = 1, + IP6_FH_F_AUTH = 2, + IP6_FH_F_SKIP_RH = 4, +}; + +enum { + IPMRA_CREPORT_UNSPEC = 0, + IPMRA_CREPORT_MSGTYPE = 1, + IPMRA_CREPORT_VIF_ID = 2, + IPMRA_CREPORT_SRC_ADDR = 3, + IPMRA_CREPORT_DST_ADDR = 4, + IPMRA_CREPORT_PKT = 5, + IPMRA_CREPORT_TABLE = 6, + __IPMRA_CREPORT_MAX = 7, +}; + +enum { + IPMRA_TABLE_UNSPEC = 0, + IPMRA_TABLE_ID = 1, + IPMRA_TABLE_CACHE_RES_QUEUE_LEN = 2, + IPMRA_TABLE_MROUTE_REG_VIF_NUM = 3, + IPMRA_TABLE_MROUTE_DO_ASSERT = 4, + IPMRA_TABLE_MROUTE_DO_PIM = 5, + IPMRA_TABLE_VIFS = 6, + IPMRA_TABLE_MROUTE_DO_WRVIFWHOLE = 7, + __IPMRA_TABLE_MAX = 8, +}; + +enum { + IPMRA_VIFA_UNSPEC = 0, + IPMRA_VIFA_IFINDEX = 1, + IPMRA_VIFA_VIF_ID = 2, + IPMRA_VIFA_FLAGS = 3, + IPMRA_VIFA_BYTES_IN = 4, + IPMRA_VIFA_BYTES_OUT = 5, + IPMRA_VIFA_PACKETS_IN = 6, + IPMRA_VIFA_PACKETS_OUT = 7, + IPMRA_VIFA_LOCAL_ADDR = 8, + IPMRA_VIFA_REMOTE_ADDR = 9, + IPMRA_VIFA_PAD = 10, + __IPMRA_VIFA_MAX = 11, +}; + +enum { + IPMRA_VIF_UNSPEC = 0, + IPMRA_VIF = 1, + __IPMRA_VIF_MAX = 2, +}; + +enum { + IPPROTO_IP = 0, + IPPROTO_ICMP = 1, + IPPROTO_IGMP = 2, + IPPROTO_IPIP = 4, + IPPROTO_TCP = 6, + IPPROTO_EGP = 8, + IPPROTO_PUP = 12, + IPPROTO_UDP = 17, + IPPROTO_IDP = 22, + IPPROTO_TP = 29, + IPPROTO_DCCP = 33, + IPPROTO_IPV6 = 41, + IPPROTO_RSVP = 46, + IPPROTO_GRE = 47, + IPPROTO_ESP = 50, + IPPROTO_AH = 51, + IPPROTO_MTP = 92, + IPPROTO_BEETPH = 94, + IPPROTO_ENCAP = 98, + IPPROTO_PIM = 103, + IPPROTO_COMP = 108, + IPPROTO_L2TP = 115, + IPPROTO_SCTP = 132, + IPPROTO_UDPLITE = 136, + IPPROTO_MPLS = 137, + IPPROTO_ETHERNET = 143, + IPPROTO_AGGFRAG = 144, + IPPROTO_RAW = 255, + IPPROTO_SMC = 256, + IPPROTO_MPTCP = 262, + IPPROTO_MAX = 263, +}; + +enum { + IPSTATS_MIB_NUM = 0, + IPSTATS_MIB_INPKTS = 1, + IPSTATS_MIB_INOCTETS = 2, + IPSTATS_MIB_INDELIVERS = 3, + IPSTATS_MIB_NOECTPKTS = 4, + IPSTATS_MIB_ECT1PKTS = 5, + IPSTATS_MIB_ECT0PKTS = 6, + IPSTATS_MIB_CEPKTS = 7, + IPSTATS_MIB_OUTREQUESTS = 8, + IPSTATS_MIB_OUTPKTS = 9, + IPSTATS_MIB_OUTOCTETS = 10, + IPSTATS_MIB_OUTFORWDATAGRAMS = 11, + IPSTATS_MIB_INHDRERRORS = 12, + IPSTATS_MIB_INTOOBIGERRORS = 13, + IPSTATS_MIB_INNOROUTES = 14, + IPSTATS_MIB_INADDRERRORS = 15, + IPSTATS_MIB_INUNKNOWNPROTOS = 16, + IPSTATS_MIB_INTRUNCATEDPKTS = 17, + IPSTATS_MIB_INDISCARDS = 18, + IPSTATS_MIB_OUTDISCARDS = 19, + IPSTATS_MIB_OUTNOROUTES = 20, + IPSTATS_MIB_REASMTIMEOUT = 21, + IPSTATS_MIB_REASMREQDS = 22, + IPSTATS_MIB_REASMOKS = 23, + IPSTATS_MIB_REASMFAILS = 24, + IPSTATS_MIB_FRAGOKS = 25, + IPSTATS_MIB_FRAGFAILS = 26, + IPSTATS_MIB_FRAGCREATES = 27, + IPSTATS_MIB_INMCASTPKTS = 28, + IPSTATS_MIB_OUTMCASTPKTS = 29, + IPSTATS_MIB_INBCASTPKTS = 30, + IPSTATS_MIB_OUTBCASTPKTS = 31, + IPSTATS_MIB_INMCASTOCTETS = 32, + IPSTATS_MIB_OUTMCASTOCTETS = 33, + IPSTATS_MIB_INBCASTOCTETS = 34, + IPSTATS_MIB_OUTBCASTOCTETS = 35, + IPSTATS_MIB_CSUMERRORS = 36, + IPSTATS_MIB_REASM_OVERLAPS = 37, + __IPSTATS_MIB_MAX = 38, +}; + +enum { + IPV4_DEVCONF_FORWARDING = 1, + IPV4_DEVCONF_MC_FORWARDING = 2, + IPV4_DEVCONF_PROXY_ARP = 3, + IPV4_DEVCONF_ACCEPT_REDIRECTS = 4, + IPV4_DEVCONF_SECURE_REDIRECTS = 5, + IPV4_DEVCONF_SEND_REDIRECTS = 6, + IPV4_DEVCONF_SHARED_MEDIA = 7, + IPV4_DEVCONF_RP_FILTER = 8, + IPV4_DEVCONF_ACCEPT_SOURCE_ROUTE = 9, + IPV4_DEVCONF_BOOTP_RELAY = 10, + IPV4_DEVCONF_LOG_MARTIANS = 11, + IPV4_DEVCONF_TAG = 12, + IPV4_DEVCONF_ARPFILTER = 13, + IPV4_DEVCONF_MEDIUM_ID = 14, + IPV4_DEVCONF_NOXFRM = 15, + IPV4_DEVCONF_NOPOLICY = 16, + IPV4_DEVCONF_FORCE_IGMP_VERSION = 17, + IPV4_DEVCONF_ARP_ANNOUNCE = 18, + IPV4_DEVCONF_ARP_IGNORE = 19, + IPV4_DEVCONF_PROMOTE_SECONDARIES = 20, + IPV4_DEVCONF_ARP_ACCEPT = 21, + IPV4_DEVCONF_ARP_NOTIFY = 22, + IPV4_DEVCONF_ACCEPT_LOCAL = 23, + IPV4_DEVCONF_SRC_VMARK = 24, + IPV4_DEVCONF_PROXY_ARP_PVLAN = 25, + IPV4_DEVCONF_ROUTE_LOCALNET = 26, + IPV4_DEVCONF_IGMPV2_UNSOLICITED_REPORT_INTERVAL = 27, + IPV4_DEVCONF_IGMPV3_UNSOLICITED_REPORT_INTERVAL = 28, + IPV4_DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN = 29, + IPV4_DEVCONF_DROP_UNICAST_IN_L2_MULTICAST = 30, + IPV4_DEVCONF_DROP_GRATUITOUS_ARP = 31, + IPV4_DEVCONF_BC_FORWARDING = 32, + IPV4_DEVCONF_ARP_EVICT_NOCARRIER = 33, + __IPV4_DEVCONF_MAX = 34, +}; + +enum { + IPV6_SADDR_RULE_INIT = 0, + IPV6_SADDR_RULE_LOCAL = 1, + IPV6_SADDR_RULE_SCOPE = 2, + IPV6_SADDR_RULE_PREFERRED = 3, + IPV6_SADDR_RULE_OIF = 4, + IPV6_SADDR_RULE_LABEL = 5, + IPV6_SADDR_RULE_PRIVACY = 6, + IPV6_SADDR_RULE_ORCHID = 7, + IPV6_SADDR_RULE_PREFIX = 8, + IPV6_SADDR_RULE_NOT_OPTIMISTIC = 9, + IPV6_SADDR_RULE_MAX = 10, +}; + +enum { + IP_TUNNEL_CSUM_BIT = 0, + IP_TUNNEL_ROUTING_BIT = 1, + IP_TUNNEL_KEY_BIT = 2, + IP_TUNNEL_SEQ_BIT = 3, + IP_TUNNEL_STRICT_BIT = 4, + IP_TUNNEL_REC_BIT = 5, + IP_TUNNEL_VERSION_BIT = 6, + IP_TUNNEL_NO_KEY_BIT = 7, + IP_TUNNEL_DONT_FRAGMENT_BIT = 8, + IP_TUNNEL_OAM_BIT = 9, + IP_TUNNEL_CRIT_OPT_BIT = 10, + IP_TUNNEL_GENEVE_OPT_BIT = 11, + IP_TUNNEL_VXLAN_OPT_BIT = 12, + IP_TUNNEL_NOCACHE_BIT = 13, + IP_TUNNEL_ERSPAN_OPT_BIT = 14, + IP_TUNNEL_GTP_OPT_BIT = 15, + IP_TUNNEL_VTI_BIT = 16, + IP_TUNNEL_SIT_ISATAP_BIT = 16, + IP_TUNNEL_PFCP_OPT_BIT = 17, + __IP_TUNNEL_FLAG_NUM = 18, +}; + +enum { + IRQCHIP_FWNODE_REAL = 0, + IRQCHIP_FWNODE_NAMED = 1, + IRQCHIP_FWNODE_NAMED_ID = 2, +}; + +enum { + IRQCHIP_SET_TYPE_MASKED = 1, + IRQCHIP_EOI_IF_HANDLED = 2, + IRQCHIP_MASK_ON_SUSPEND = 4, + IRQCHIP_ONOFFLINE_ENABLED = 8, + IRQCHIP_SKIP_SET_WAKE = 16, + IRQCHIP_ONESHOT_SAFE = 32, + IRQCHIP_EOI_THREADED = 64, + IRQCHIP_SUPPORTS_LEVEL_MSI = 128, + IRQCHIP_SUPPORTS_NMI = 256, + IRQCHIP_ENABLE_WAKEUP_ON_SUSPEND = 512, + IRQCHIP_AFFINITY_PRE_STARTUP = 1024, + IRQCHIP_IMMUTABLE = 2048, + IRQCHIP_MOVE_DEFERRED = 4096, +}; + +enum { + IRQC_IS_HARDIRQ = 0, + IRQC_IS_NESTED = 1, +}; + +enum { + IRQD_TRIGGER_MASK = 15, + IRQD_SETAFFINITY_PENDING = 256, + IRQD_ACTIVATED = 512, + IRQD_NO_BALANCING = 1024, + IRQD_PER_CPU = 2048, + IRQD_AFFINITY_SET = 4096, + IRQD_LEVEL = 8192, + IRQD_WAKEUP_STATE = 16384, + IRQD_IRQ_DISABLED = 65536, + IRQD_IRQ_MASKED = 131072, + IRQD_IRQ_INPROGRESS = 262144, + IRQD_WAKEUP_ARMED = 524288, + IRQD_FORWARDED_TO_VCPU = 1048576, + IRQD_AFFINITY_MANAGED = 2097152, + IRQD_IRQ_STARTED = 4194304, + IRQD_MANAGED_SHUTDOWN = 8388608, + IRQD_SINGLE_TARGET = 16777216, + IRQD_DEFAULT_TRIGGER_SET = 33554432, + IRQD_CAN_RESERVE = 67108864, + IRQD_HANDLE_ENFORCE_IRQCTX = 134217728, + IRQD_AFFINITY_ON_ACTIVATE = 268435456, + IRQD_IRQ_ENABLED_ON_SUSPEND = 536870912, + IRQD_RESEND_WHEN_IN_PROGRESS = 1073741824, +}; + +enum { + IRQS_AUTODETECT = 1, + IRQS_SPURIOUS_DISABLED = 2, + IRQS_POLL_INPROGRESS = 8, + IRQS_ONESHOT = 32, + IRQS_REPLAY = 64, + IRQS_WAITING = 128, + IRQS_PENDING = 512, + IRQS_SUSPENDED = 2048, + IRQS_TIMINGS = 4096, + IRQS_NMI = 8192, + IRQS_SYSFS = 16384, +}; + +enum { + IRQTF_RUNTHREAD = 0, + IRQTF_WARNED = 1, + IRQTF_AFFINITY = 2, + IRQTF_FORCED_THREAD = 3, + IRQTF_READY = 4, +}; + +enum { + IRQ_DOMAIN_FLAG_HIERARCHY = 1, + IRQ_DOMAIN_NAME_ALLOCATED = 2, + IRQ_DOMAIN_FLAG_IPI_PER_CPU = 4, + IRQ_DOMAIN_FLAG_IPI_SINGLE = 8, + IRQ_DOMAIN_FLAG_MSI = 16, + IRQ_DOMAIN_FLAG_ISOLATED_MSI = 32, + IRQ_DOMAIN_FLAG_NO_MAP = 64, + IRQ_DOMAIN_FLAG_MSI_PARENT = 256, + IRQ_DOMAIN_FLAG_MSI_DEVICE = 512, + IRQ_DOMAIN_FLAG_DESTROY_GC = 1024, + IRQ_DOMAIN_FLAG_MSI_IMMUTABLE = 2048, + IRQ_DOMAIN_FLAG_FWNODE_PARENT = 4096, + IRQ_DOMAIN_FLAG_NONCORE = 65536, +}; + +enum { + IRQ_POLL_F_SCHED = 0, + IRQ_POLL_F_DISABLE = 1, +}; + +enum { + IRQ_REMAP_XAPIC_MODE = 0, + IRQ_REMAP_X2APIC_MODE = 1, +}; + +enum { + IRQ_SET_MASK_OK = 0, + IRQ_SET_MASK_OK_NOCOPY = 1, + IRQ_SET_MASK_OK_DONE = 2, +}; + +enum { + IRQ_STARTUP_NORMAL = 0, + IRQ_STARTUP_MANAGED = 1, + IRQ_STARTUP_ABORT = 2, +}; + +enum { + IRQ_TYPE_NONE = 0, + IRQ_TYPE_EDGE_RISING = 1, + IRQ_TYPE_EDGE_FALLING = 2, + IRQ_TYPE_EDGE_BOTH = 3, + IRQ_TYPE_LEVEL_HIGH = 4, + IRQ_TYPE_LEVEL_LOW = 8, + IRQ_TYPE_LEVEL_MASK = 12, + IRQ_TYPE_SENSE_MASK = 15, + IRQ_TYPE_DEFAULT = 15, + IRQ_TYPE_PROBE = 16, + IRQ_LEVEL = 256, + IRQ_PER_CPU = 512, + IRQ_NOPROBE = 1024, + IRQ_NOREQUEST = 2048, + IRQ_NOAUTOEN = 4096, + IRQ_NO_BALANCING = 8192, + IRQ_NESTED_THREAD = 32768, + IRQ_NOTHREAD = 65536, + IRQ_PER_CPU_DEVID = 131072, + IRQ_IS_POLLED = 262144, + IRQ_DISABLE_UNLAZY = 524288, + IRQ_HIDDEN = 1048576, + IRQ_NO_DEBUG = 2097152, +}; + +enum { + IVBEP_PCI_UNCORE_HA = 0, + IVBEP_PCI_UNCORE_IMC = 1, + IVBEP_PCI_UNCORE_IRP = 2, + IVBEP_PCI_UNCORE_QPI = 3, + IVBEP_PCI_UNCORE_R2PCIE = 4, + IVBEP_PCI_UNCORE_R3QPI = 5, +}; + +enum { + I_DATA_SEM_NORMAL = 0, + I_DATA_SEM_OTHER = 1, + I_DATA_SEM_QUOTA = 2, + I_DATA_SEM_EA = 3, +}; + +enum { + I_LCOEF_RBPS = 0, + I_LCOEF_RSEQIOPS = 1, + I_LCOEF_RRANDIOPS = 2, + I_LCOEF_WBPS = 3, + I_LCOEF_WSEQIOPS = 4, + I_LCOEF_WRANDIOPS = 5, + NR_I_LCOEFS = 6, +}; + +enum { + KBUF_MODE_EXPAND = 1, + KBUF_MODE_FREE = 2, +}; + +enum { + KDB_NOT_INITIALIZED = 0, + KDB_INIT_EARLY = 1, + KDB_INIT_FULL = 2, +}; + +enum { + KERNEL_PARAM_FL_UNSAFE = 1, + KERNEL_PARAM_FL_HWPARAM = 2, +}; + +enum { + KERNEL_PARAM_OPS_FL_NOARG = 1, +}; + +enum { + KF_ARG_DYNPTR_ID = 0, + KF_ARG_LIST_HEAD_ID = 1, + KF_ARG_LIST_NODE_ID = 2, + KF_ARG_RB_ROOT_ID = 3, + KF_ARG_RB_NODE_ID = 4, + KF_ARG_WORKQUEUE_ID = 5, + KF_ARG_RES_SPIN_LOCK_ID = 6, +}; + +enum { + KNL_PCI_UNCORE_MC_UCLK = 0, + KNL_PCI_UNCORE_MC_DCLK = 1, + KNL_PCI_UNCORE_EDC_UCLK = 2, + KNL_PCI_UNCORE_EDC_ECLK = 3, + KNL_PCI_UNCORE_M2PCIE = 4, + KNL_PCI_UNCORE_IRP = 5, +}; + +enum { + KTW_FREEZABLE = 1, +}; + +enum { + LAST_NORM = 0, + LAST_ROOT = 1, + LAST_DOT = 2, + LAST_DOTDOT = 3, +}; + +enum { + LAT_OK = 1, + LAT_UNKNOWN = 2, + LAT_UNKNOWN_WRITES = 3, + LAT_EXCEEDED = 4, +}; + +enum { + LBR_FORMAT_32 = 0, + LBR_FORMAT_LIP = 1, + LBR_FORMAT_EIP = 2, + LBR_FORMAT_EIP_FLAGS = 3, + LBR_FORMAT_EIP_FLAGS2 = 4, + LBR_FORMAT_INFO = 5, + LBR_FORMAT_TIME = 6, + LBR_FORMAT_INFO2 = 7, + LBR_FORMAT_MAX_KNOWN = 7, +}; + +enum { + LBR_NONE = 0, + LBR_VALID = 1, +}; + +enum { + LCOEF_RPAGE = 0, + LCOEF_RSEQIO = 1, + LCOEF_RRANDIO = 2, + LCOEF_WPAGE = 3, + LCOEF_WSEQIO = 4, + LCOEF_WRANDIO = 5, + NR_LCOEFS = 6, +}; + +enum { + LIBATA_MAX_PRD = 128, + LIBATA_DUMB_MAX_PRD = 64, + ATA_DEF_QUEUE = 1, + ATA_MAX_QUEUE = 32, + ATA_TAG_INTERNAL = 32, + ATA_SHORT_PAUSE = 16, + ATAPI_MAX_DRAIN = 16384, + ATA_ALL_DEVICES = 3, + ATA_SHT_EMULATED = 1, + ATA_SHT_THIS_ID = -1, + ATA_TFLAG_LBA48 = 1, + ATA_TFLAG_ISADDR = 2, + ATA_TFLAG_DEVICE = 4, + ATA_TFLAG_WRITE = 8, + ATA_TFLAG_LBA = 16, + ATA_TFLAG_FUA = 32, + ATA_TFLAG_POLLING = 64, + ATA_DFLAG_LBA = 1, + ATA_DFLAG_LBA48 = 2, + ATA_DFLAG_CDB_INTR = 4, + ATA_DFLAG_NCQ = 8, + ATA_DFLAG_FLUSH_EXT = 16, + ATA_DFLAG_ACPI_PENDING = 32, + ATA_DFLAG_ACPI_FAILED = 64, + ATA_DFLAG_AN = 128, + ATA_DFLAG_TRUSTED = 256, + ATA_DFLAG_FUA = 512, + ATA_DFLAG_DMADIR = 1024, + ATA_DFLAG_NCQ_SEND_RECV = 2048, + ATA_DFLAG_NCQ_PRIO = 4096, + ATA_DFLAG_CDL = 8192, + ATA_DFLAG_CFG_MASK = 16383, + ATA_DFLAG_PIO = 16384, + ATA_DFLAG_NCQ_OFF = 32768, + ATA_DFLAG_SLEEPING = 65536, + ATA_DFLAG_DUBIOUS_XFER = 131072, + ATA_DFLAG_NO_UNLOAD = 262144, + ATA_DFLAG_UNLOCK_HPA = 524288, + ATA_DFLAG_INIT_MASK = 1048575, + ATA_DFLAG_NCQ_PRIO_ENABLED = 1048576, + ATA_DFLAG_CDL_ENABLED = 2097152, + ATA_DFLAG_RESUMING = 4194304, + ATA_DFLAG_DETACH = 16777216, + ATA_DFLAG_DETACHED = 33554432, + ATA_DFLAG_DA = 67108864, + ATA_DFLAG_DEVSLP = 134217728, + ATA_DFLAG_ACPI_DISABLED = 268435456, + ATA_DFLAG_D_SENSE = 536870912, + ATA_DFLAG_FEATURES_MASK = 201341696, + ATA_DEV_UNKNOWN = 0, + ATA_DEV_ATA = 1, + ATA_DEV_ATA_UNSUP = 2, + ATA_DEV_ATAPI = 3, + ATA_DEV_ATAPI_UNSUP = 4, + ATA_DEV_PMP = 5, + ATA_DEV_PMP_UNSUP = 6, + ATA_DEV_SEMB = 7, + ATA_DEV_SEMB_UNSUP = 8, + ATA_DEV_ZAC = 9, + ATA_DEV_ZAC_UNSUP = 10, + ATA_DEV_NONE = 11, + ATA_LFLAG_NO_HRST = 2, + ATA_LFLAG_NO_SRST = 4, + ATA_LFLAG_ASSUME_ATA = 8, + ATA_LFLAG_ASSUME_SEMB = 16, + ATA_LFLAG_ASSUME_CLASS = 24, + ATA_LFLAG_NO_RETRY = 32, + ATA_LFLAG_DISABLED = 64, + ATA_LFLAG_SW_ACTIVITY = 128, + ATA_LFLAG_NO_LPM = 256, + ATA_LFLAG_RST_ONCE = 512, + ATA_LFLAG_CHANGED = 1024, + ATA_LFLAG_NO_DEBOUNCE_DELAY = 2048, + ATA_FLAG_SLAVE_POSS = 1, + ATA_FLAG_SATA = 2, + ATA_FLAG_NO_LPM = 4, + ATA_FLAG_NO_LOG_PAGE = 32, + ATA_FLAG_NO_ATAPI = 64, + ATA_FLAG_PIO_DMA = 128, + ATA_FLAG_PIO_LBA48 = 256, + ATA_FLAG_PIO_POLLING = 512, + ATA_FLAG_NCQ = 1024, + ATA_FLAG_NO_POWEROFF_SPINDOWN = 2048, + ATA_FLAG_NO_HIBERNATE_SPINDOWN = 4096, + ATA_FLAG_DEBUGMSG = 8192, + ATA_FLAG_FPDMA_AA = 16384, + ATA_FLAG_IGN_SIMPLEX = 32768, + ATA_FLAG_NO_IORDY = 65536, + ATA_FLAG_ACPI_SATA = 131072, + ATA_FLAG_AN = 262144, + ATA_FLAG_PMP = 524288, + ATA_FLAG_FPDMA_AUX = 1048576, + ATA_FLAG_EM = 2097152, + ATA_FLAG_SW_ACTIVITY = 4194304, + ATA_FLAG_NO_DIPM = 8388608, + ATA_FLAG_SAS_HOST = 16777216, + ATA_PFLAG_EH_PENDING = 1, + ATA_PFLAG_EH_IN_PROGRESS = 2, + ATA_PFLAG_FROZEN = 4, + ATA_PFLAG_RECOVERED = 8, + ATA_PFLAG_LOADING = 16, + ATA_PFLAG_SCSI_HOTPLUG = 64, + ATA_PFLAG_INITIALIZING = 128, + ATA_PFLAG_RESETTING = 256, + ATA_PFLAG_UNLOADING = 512, + ATA_PFLAG_UNLOADED = 1024, + ATA_PFLAG_RESUMING = 65536, + ATA_PFLAG_SUSPENDED = 131072, + ATA_PFLAG_PM_PENDING = 262144, + ATA_PFLAG_INIT_GTM_VALID = 524288, + ATA_PFLAG_PIO32 = 1048576, + ATA_PFLAG_PIO32CHANGE = 2097152, + ATA_PFLAG_EXTERNAL = 4194304, + ATA_QCFLAG_ACTIVE = 1, + ATA_QCFLAG_DMAMAP = 2, + ATA_QCFLAG_RTF_FILLED = 4, + ATA_QCFLAG_IO = 8, + ATA_QCFLAG_RESULT_TF = 16, + ATA_QCFLAG_CLEAR_EXCL = 32, + ATA_QCFLAG_QUIET = 64, + ATA_QCFLAG_RETRY = 128, + ATA_QCFLAG_HAS_CDL = 256, + ATA_QCFLAG_EH = 65536, + ATA_QCFLAG_SENSE_VALID = 131072, + ATA_QCFLAG_EH_SCHEDULED = 262144, + ATA_QCFLAG_EH_SUCCESS_CMD = 524288, + ATA_HOST_SIMPLEX = 1, + ATA_HOST_STARTED = 2, + ATA_HOST_PARALLEL_SCAN = 4, + ATA_HOST_IGNORE_ATA = 8, + ATA_HOST_NO_PART = 16, + ATA_HOST_NO_SSC = 32, + ATA_HOST_NO_DEVSLP = 64, + ATA_TMOUT_INTERNAL_QUICK = 5000, + ATA_TMOUT_MAX_PARK = 30000, + ATA_TMOUT_FF_WAIT_LONG = 2000, + ATA_TMOUT_FF_WAIT = 800, + ATA_WAIT_AFTER_RESET = 150, + ATA_TMOUT_PMP_SRST_WAIT = 10000, + ATA_TMOUT_SPURIOUS_PHY = 10000, + BUS_UNKNOWN = 0, + BUS_DMA = 1, + BUS_IDLE = 2, + BUS_NOINTR = 3, + BUS_NODATA = 4, + BUS_TIMER = 5, + BUS_PIO = 6, + BUS_EDD = 7, + BUS_IDENTIFY = 8, + BUS_PACKET = 9, + PORT_UNKNOWN = 0, + PORT_ENABLED = 1, + PORT_DISABLED = 2, + ATA_NR_PIO_MODES = 7, + ATA_NR_MWDMA_MODES = 5, + ATA_NR_UDMA_MODES = 8, + ATA_SHIFT_PIO = 0, + ATA_SHIFT_MWDMA = 7, + ATA_SHIFT_UDMA = 12, + ATA_SHIFT_PRIO = 6, + ATA_PRIO_HIGH = 2, + ATA_DMA_PAD_SZ = 4, + ATA_ERING_SIZE = 32, + ATA_DEFER_LINK = 1, + ATA_DEFER_PORT = 2, + ATA_EH_DESC_LEN = 80, + ATA_EH_REVALIDATE = 1, + ATA_EH_SOFTRESET = 2, + ATA_EH_HARDRESET = 4, + ATA_EH_RESET = 6, + ATA_EH_ENABLE_LINK = 8, + ATA_EH_PARK = 32, + ATA_EH_GET_SUCCESS_SENSE = 64, + ATA_EH_SET_ACTIVE = 128, + ATA_EH_PERDEV_MASK = 225, + ATA_EH_ALL_ACTIONS = 15, + ATA_EHI_HOTPLUGGED = 1, + ATA_EHI_NO_AUTOPSY = 4, + ATA_EHI_QUIET = 8, + ATA_EHI_NO_RECOVERY = 16, + ATA_EHI_DID_SOFTRESET = 65536, + ATA_EHI_DID_HARDRESET = 131072, + ATA_EHI_PRINTINFO = 262144, + ATA_EHI_SETMODE = 524288, + ATA_EHI_POST_SETMODE = 1048576, + ATA_EHI_DID_PRINT_QUIRKS = 2097152, + ATA_EHI_DID_RESET = 196608, + ATA_EHI_TO_SLAVE_MASK = 12, + ATA_EH_MAX_TRIES = 5, + ATA_LINK_RESUME_TRIES = 5, + ATA_EH_DEV_TRIES = 3, + ATA_EH_PMP_TRIES = 5, + ATA_EH_PMP_LINK_TRIES = 3, + SATA_PMP_RW_TIMEOUT = 3000, + ATA_EH_CMD_TIMEOUT_TABLE_SIZE = 8, + ATA_QUIRK_DIAGNOSTIC = 1, + ATA_QUIRK_NODMA = 2, + ATA_QUIRK_NONCQ = 4, + ATA_QUIRK_MAX_SEC_128 = 8, + ATA_QUIRK_BROKEN_HPA = 16, + ATA_QUIRK_DISABLE = 32, + ATA_QUIRK_HPA_SIZE = 64, + ATA_QUIRK_IVB = 128, + ATA_QUIRK_STUCK_ERR = 256, + ATA_QUIRK_BRIDGE_OK = 512, + ATA_QUIRK_ATAPI_MOD16_DMA = 1024, + ATA_QUIRK_FIRMWARE_WARN = 2048, + ATA_QUIRK_1_5_GBPS = 4096, + ATA_QUIRK_NOSETXFER = 8192, + ATA_QUIRK_BROKEN_FPDMA_AA = 16384, + ATA_QUIRK_DUMP_ID = 32768, + ATA_QUIRK_MAX_SEC_LBA48 = 65536, + ATA_QUIRK_ATAPI_DMADIR = 131072, + ATA_QUIRK_NO_NCQ_TRIM = 262144, + ATA_QUIRK_NOLPM = 524288, + ATA_QUIRK_WD_BROKEN_LPM = 1048576, + ATA_QUIRK_ZERO_AFTER_TRIM = 2097152, + ATA_QUIRK_NO_DMA_LOG = 4194304, + ATA_QUIRK_NOTRIM = 8388608, + ATA_QUIRK_MAX_SEC_1024 = 16777216, + ATA_QUIRK_MAX_TRIM_128M = 33554432, + ATA_QUIRK_NO_NCQ_ON_ATI = 67108864, + ATA_QUIRK_NO_LPM_ON_ATI = 134217728, + ATA_QUIRK_NO_ID_DEV_LOG = 268435456, + ATA_QUIRK_NO_LOG_DIR = 536870912, + ATA_QUIRK_NO_FUA = 1073741824, + ATA_DMA_MASK_ATA = 1, + ATA_DMA_MASK_ATAPI = 2, + ATA_DMA_MASK_CFA = 4, + ATAPI_READ = 0, + ATAPI_WRITE = 1, + ATAPI_READ_CD = 2, + ATAPI_PASS_THRU = 3, + ATAPI_MISC = 4, + ATA_TIMING_SETUP = 1, + ATA_TIMING_ACT8B = 2, + ATA_TIMING_REC8B = 4, + ATA_TIMING_CYC8B = 8, + ATA_TIMING_8BIT = 14, + ATA_TIMING_ACTIVE = 16, + ATA_TIMING_RECOVER = 32, + ATA_TIMING_DMACK_HOLD = 64, + ATA_TIMING_CYCLE = 128, + ATA_TIMING_UDMA = 256, + ATA_TIMING_ALL = 511, + ATA_ACPI_FILTER_SETXFER = 1, + ATA_ACPI_FILTER_LOCK = 2, + ATA_ACPI_FILTER_DIPM = 4, + ATA_ACPI_FILTER_FPDMA_OFFSET = 8, + ATA_ACPI_FILTER_FPDMA_AA = 16, + ATA_ACPI_FILTER_DEFAULT = 7, +}; + +enum { + LINK_CAPA_10HD = 0, + LINK_CAPA_10FD = 1, + LINK_CAPA_100HD = 2, + LINK_CAPA_100FD = 3, + LINK_CAPA_1000HD = 4, + LINK_CAPA_1000FD = 5, + LINK_CAPA_2500FD = 6, + LINK_CAPA_5000FD = 7, + LINK_CAPA_10000FD = 8, + LINK_CAPA_20000FD = 9, + LINK_CAPA_25000FD = 10, + LINK_CAPA_40000FD = 11, + LINK_CAPA_50000FD = 12, + LINK_CAPA_56000FD = 13, + LINK_CAPA_100000FD = 14, + LINK_CAPA_200000FD = 15, + LINK_CAPA_400000FD = 16, + LINK_CAPA_800000FD = 17, + __LINK_CAPA_MAX = 18, +}; + +enum { + LINUX_MIB_NUM = 0, + LINUX_MIB_SYNCOOKIESSENT = 1, + LINUX_MIB_SYNCOOKIESRECV = 2, + LINUX_MIB_SYNCOOKIESFAILED = 3, + LINUX_MIB_EMBRYONICRSTS = 4, + LINUX_MIB_PRUNECALLED = 5, + LINUX_MIB_RCVPRUNED = 6, + LINUX_MIB_OFOPRUNED = 7, + LINUX_MIB_OUTOFWINDOWICMPS = 8, + LINUX_MIB_LOCKDROPPEDICMPS = 9, + LINUX_MIB_ARPFILTER = 10, + LINUX_MIB_TIMEWAITED = 11, + LINUX_MIB_TIMEWAITRECYCLED = 12, + LINUX_MIB_TIMEWAITKILLED = 13, + LINUX_MIB_PAWSACTIVEREJECTED = 14, + LINUX_MIB_PAWSESTABREJECTED = 15, + LINUX_MIB_BEYOND_WINDOW = 16, + LINUX_MIB_TSECRREJECTED = 17, + LINUX_MIB_PAWS_OLD_ACK = 18, + LINUX_MIB_PAWS_TW_REJECTED = 19, + LINUX_MIB_DELAYEDACKS = 20, + LINUX_MIB_DELAYEDACKLOCKED = 21, + LINUX_MIB_DELAYEDACKLOST = 22, + LINUX_MIB_LISTENOVERFLOWS = 23, + LINUX_MIB_LISTENDROPS = 24, + LINUX_MIB_TCPHPHITS = 25, + LINUX_MIB_TCPPUREACKS = 26, + LINUX_MIB_TCPHPACKS = 27, + LINUX_MIB_TCPRENORECOVERY = 28, + LINUX_MIB_TCPSACKRECOVERY = 29, + LINUX_MIB_TCPSACKRENEGING = 30, + LINUX_MIB_TCPSACKREORDER = 31, + LINUX_MIB_TCPRENOREORDER = 32, + LINUX_MIB_TCPTSREORDER = 33, + LINUX_MIB_TCPFULLUNDO = 34, + LINUX_MIB_TCPPARTIALUNDO = 35, + LINUX_MIB_TCPDSACKUNDO = 36, + LINUX_MIB_TCPLOSSUNDO = 37, + LINUX_MIB_TCPLOSTRETRANSMIT = 38, + LINUX_MIB_TCPRENOFAILURES = 39, + LINUX_MIB_TCPSACKFAILURES = 40, + LINUX_MIB_TCPLOSSFAILURES = 41, + LINUX_MIB_TCPFASTRETRANS = 42, + LINUX_MIB_TCPSLOWSTARTRETRANS = 43, + LINUX_MIB_TCPTIMEOUTS = 44, + LINUX_MIB_TCPLOSSPROBES = 45, + LINUX_MIB_TCPLOSSPROBERECOVERY = 46, + LINUX_MIB_TCPRENORECOVERYFAIL = 47, + LINUX_MIB_TCPSACKRECOVERYFAIL = 48, + LINUX_MIB_TCPRCVCOLLAPSED = 49, + LINUX_MIB_TCPDSACKOLDSENT = 50, + LINUX_MIB_TCPDSACKOFOSENT = 51, + LINUX_MIB_TCPDSACKRECV = 52, + LINUX_MIB_TCPDSACKOFORECV = 53, + LINUX_MIB_TCPABORTONDATA = 54, + LINUX_MIB_TCPABORTONCLOSE = 55, + LINUX_MIB_TCPABORTONMEMORY = 56, + LINUX_MIB_TCPABORTONTIMEOUT = 57, + LINUX_MIB_TCPABORTONLINGER = 58, + LINUX_MIB_TCPABORTFAILED = 59, + LINUX_MIB_TCPMEMORYPRESSURES = 60, + LINUX_MIB_TCPMEMORYPRESSURESCHRONO = 61, + LINUX_MIB_TCPSACKDISCARD = 62, + LINUX_MIB_TCPDSACKIGNOREDOLD = 63, + LINUX_MIB_TCPDSACKIGNOREDNOUNDO = 64, + LINUX_MIB_TCPSPURIOUSRTOS = 65, + LINUX_MIB_TCPMD5NOTFOUND = 66, + LINUX_MIB_TCPMD5UNEXPECTED = 67, + LINUX_MIB_TCPMD5FAILURE = 68, + LINUX_MIB_SACKSHIFTED = 69, + LINUX_MIB_SACKMERGED = 70, + LINUX_MIB_SACKSHIFTFALLBACK = 71, + LINUX_MIB_TCPBACKLOGDROP = 72, + LINUX_MIB_PFMEMALLOCDROP = 73, + LINUX_MIB_TCPMINTTLDROP = 74, + LINUX_MIB_TCPDEFERACCEPTDROP = 75, + LINUX_MIB_IPRPFILTER = 76, + LINUX_MIB_TCPTIMEWAITOVERFLOW = 77, + LINUX_MIB_TCPREQQFULLDOCOOKIES = 78, + LINUX_MIB_TCPREQQFULLDROP = 79, + LINUX_MIB_TCPRETRANSFAIL = 80, + LINUX_MIB_TCPRCVCOALESCE = 81, + LINUX_MIB_TCPBACKLOGCOALESCE = 82, + LINUX_MIB_TCPOFOQUEUE = 83, + LINUX_MIB_TCPOFODROP = 84, + LINUX_MIB_TCPOFOMERGE = 85, + LINUX_MIB_TCPCHALLENGEACK = 86, + LINUX_MIB_TCPSYNCHALLENGE = 87, + LINUX_MIB_TCPFASTOPENACTIVE = 88, + LINUX_MIB_TCPFASTOPENACTIVEFAIL = 89, + LINUX_MIB_TCPFASTOPENPASSIVE = 90, + LINUX_MIB_TCPFASTOPENPASSIVEFAIL = 91, + LINUX_MIB_TCPFASTOPENLISTENOVERFLOW = 92, + LINUX_MIB_TCPFASTOPENCOOKIEREQD = 93, + LINUX_MIB_TCPFASTOPENBLACKHOLE = 94, + LINUX_MIB_TCPSPURIOUS_RTX_HOSTQUEUES = 95, + LINUX_MIB_BUSYPOLLRXPACKETS = 96, + LINUX_MIB_TCPAUTOCORKING = 97, + LINUX_MIB_TCPFROMZEROWINDOWADV = 98, + LINUX_MIB_TCPTOZEROWINDOWADV = 99, + LINUX_MIB_TCPWANTZEROWINDOWADV = 100, + LINUX_MIB_TCPSYNRETRANS = 101, + LINUX_MIB_TCPORIGDATASENT = 102, + LINUX_MIB_TCPHYSTARTTRAINDETECT = 103, + LINUX_MIB_TCPHYSTARTTRAINCWND = 104, + LINUX_MIB_TCPHYSTARTDELAYDETECT = 105, + LINUX_MIB_TCPHYSTARTDELAYCWND = 106, + LINUX_MIB_TCPACKSKIPPEDSYNRECV = 107, + LINUX_MIB_TCPACKSKIPPEDPAWS = 108, + LINUX_MIB_TCPACKSKIPPEDSEQ = 109, + LINUX_MIB_TCPACKSKIPPEDFINWAIT2 = 110, + LINUX_MIB_TCPACKSKIPPEDTIMEWAIT = 111, + LINUX_MIB_TCPACKSKIPPEDCHALLENGE = 112, + LINUX_MIB_TCPWINPROBE = 113, + LINUX_MIB_TCPKEEPALIVE = 114, + LINUX_MIB_TCPMTUPFAIL = 115, + LINUX_MIB_TCPMTUPSUCCESS = 116, + LINUX_MIB_TCPDELIVERED = 117, + LINUX_MIB_TCPDELIVEREDCE = 118, + LINUX_MIB_TCPACKCOMPRESSED = 119, + LINUX_MIB_TCPZEROWINDOWDROP = 120, + LINUX_MIB_TCPRCVQDROP = 121, + LINUX_MIB_TCPWQUEUETOOBIG = 122, + LINUX_MIB_TCPFASTOPENPASSIVEALTKEY = 123, + LINUX_MIB_TCPTIMEOUTREHASH = 124, + LINUX_MIB_TCPDUPLICATEDATAREHASH = 125, + LINUX_MIB_TCPDSACKRECVSEGS = 126, + LINUX_MIB_TCPDSACKIGNOREDDUBIOUS = 127, + LINUX_MIB_TCPMIGRATEREQSUCCESS = 128, + LINUX_MIB_TCPMIGRATEREQFAILURE = 129, + LINUX_MIB_TCPPLBREHASH = 130, + LINUX_MIB_TCPAOREQUIRED = 131, + LINUX_MIB_TCPAOBAD = 132, + LINUX_MIB_TCPAOKEYNOTFOUND = 133, + LINUX_MIB_TCPAOGOOD = 134, + LINUX_MIB_TCPAODROPPEDICMPS = 135, + __LINUX_MIB_MAX = 136, +}; + +enum { + LINUX_MIB_TLSNUM = 0, + LINUX_MIB_TLSCURRTXSW = 1, + LINUX_MIB_TLSCURRRXSW = 2, + LINUX_MIB_TLSCURRTXDEVICE = 3, + LINUX_MIB_TLSCURRRXDEVICE = 4, + LINUX_MIB_TLSTXSW = 5, + LINUX_MIB_TLSRXSW = 6, + LINUX_MIB_TLSTXDEVICE = 7, + LINUX_MIB_TLSRXDEVICE = 8, + LINUX_MIB_TLSDECRYPTERROR = 9, + LINUX_MIB_TLSRXDEVICERESYNC = 10, + LINUX_MIB_TLSDECRYPTRETRY = 11, + LINUX_MIB_TLSRXNOPADVIOL = 12, + LINUX_MIB_TLSRXREKEYOK = 13, + LINUX_MIB_TLSRXREKEYERROR = 14, + LINUX_MIB_TLSTXREKEYOK = 15, + LINUX_MIB_TLSTXREKEYERROR = 16, + LINUX_MIB_TLSRXREKEYRECEIVED = 17, + __LINUX_MIB_TLSMAX = 18, +}; + +enum { + LINUX_MIB_XFRMNUM = 0, + LINUX_MIB_XFRMINERROR = 1, + LINUX_MIB_XFRMINBUFFERERROR = 2, + LINUX_MIB_XFRMINHDRERROR = 3, + LINUX_MIB_XFRMINNOSTATES = 4, + LINUX_MIB_XFRMINSTATEPROTOERROR = 5, + LINUX_MIB_XFRMINSTATEMODEERROR = 6, + LINUX_MIB_XFRMINSTATESEQERROR = 7, + LINUX_MIB_XFRMINSTATEEXPIRED = 8, + LINUX_MIB_XFRMINSTATEMISMATCH = 9, + LINUX_MIB_XFRMINSTATEINVALID = 10, + LINUX_MIB_XFRMINTMPLMISMATCH = 11, + LINUX_MIB_XFRMINNOPOLS = 12, + LINUX_MIB_XFRMINPOLBLOCK = 13, + LINUX_MIB_XFRMINPOLERROR = 14, + LINUX_MIB_XFRMOUTERROR = 15, + LINUX_MIB_XFRMOUTBUNDLEGENERROR = 16, + LINUX_MIB_XFRMOUTBUNDLECHECKERROR = 17, + LINUX_MIB_XFRMOUTNOSTATES = 18, + LINUX_MIB_XFRMOUTSTATEPROTOERROR = 19, + LINUX_MIB_XFRMOUTSTATEMODEERROR = 20, + LINUX_MIB_XFRMOUTSTATESEQERROR = 21, + LINUX_MIB_XFRMOUTSTATEEXPIRED = 22, + LINUX_MIB_XFRMOUTPOLBLOCK = 23, + LINUX_MIB_XFRMOUTPOLDEAD = 24, + LINUX_MIB_XFRMOUTPOLERROR = 25, + LINUX_MIB_XFRMFWDHDRERROR = 26, + LINUX_MIB_XFRMOUTSTATEINVALID = 27, + LINUX_MIB_XFRMACQUIREERROR = 28, + LINUX_MIB_XFRMOUTSTATEDIRERROR = 29, + LINUX_MIB_XFRMINSTATEDIRERROR = 30, + LINUX_MIB_XFRMINIPTFSERROR = 31, + LINUX_MIB_XFRMOUTNOQSPACE = 32, + __LINUX_MIB_XFRMMAX = 33, +}; + +enum { + LINUX_RAID_PARTITION = 253, +}; + +enum { + LOGIC_PIO_INDIRECT = 0, + LOGIC_PIO_CPU_MMIO = 1, +}; + +enum { + LO_FLAGS_READ_ONLY = 1, + LO_FLAGS_AUTOCLEAR = 4, + LO_FLAGS_PARTSCAN = 8, + LO_FLAGS_DIRECT_IO = 16, +}; + +enum { + LRU_GEN_ANON = 0, + LRU_GEN_FILE = 1, +}; + +enum { + LRU_GEN_CORE = 0, + LRU_GEN_MM_WALK = 1, + LRU_GEN_NONLEAF_YOUNG = 2, + NR_LRU_GEN_CAPS = 3, +}; + +enum { + LWTUNNEL_IP_OPTS_UNSPEC = 0, + LWTUNNEL_IP_OPTS_GENEVE = 1, + LWTUNNEL_IP_OPTS_VXLAN = 2, + LWTUNNEL_IP_OPTS_ERSPAN = 3, + __LWTUNNEL_IP_OPTS_MAX = 4, +}; + +enum { + LWTUNNEL_IP_OPT_ERSPAN_UNSPEC = 0, + LWTUNNEL_IP_OPT_ERSPAN_VER = 1, + LWTUNNEL_IP_OPT_ERSPAN_INDEX = 2, + LWTUNNEL_IP_OPT_ERSPAN_DIR = 3, + LWTUNNEL_IP_OPT_ERSPAN_HWID = 4, + __LWTUNNEL_IP_OPT_ERSPAN_MAX = 5, +}; + +enum { + LWTUNNEL_IP_OPT_GENEVE_UNSPEC = 0, + LWTUNNEL_IP_OPT_GENEVE_CLASS = 1, + LWTUNNEL_IP_OPT_GENEVE_TYPE = 2, + LWTUNNEL_IP_OPT_GENEVE_DATA = 3, + __LWTUNNEL_IP_OPT_GENEVE_MAX = 4, +}; + +enum { + LWTUNNEL_IP_OPT_VXLAN_UNSPEC = 0, + LWTUNNEL_IP_OPT_VXLAN_GBP = 1, + __LWTUNNEL_IP_OPT_VXLAN_MAX = 2, +}; + +enum { + LWTUNNEL_XMIT_DONE = 0, + LWTUNNEL_XMIT_CONTINUE = 256, +}; + +enum { + LWT_BPF_PROG_UNSPEC = 0, + LWT_BPF_PROG_FD = 1, + LWT_BPF_PROG_NAME = 2, + __LWT_BPF_PROG_MAX = 3, +}; + +enum { + LWT_BPF_UNSPEC = 0, + LWT_BPF_IN = 1, + LWT_BPF_OUT = 2, + LWT_BPF_XMIT = 3, + LWT_BPF_XMIT_HEADROOM = 4, + __LWT_BPF_MAX = 5, +}; + +enum { + Lo_unbound = 0, + Lo_bound = 1, + Lo_rundown = 2, + Lo_deleting = 3, +}; + +enum { + MATCH_MTR = 0, + MATCH_MEQ = 1, + MATCH_MLE = 2, + MATCH_MLT = 3, + MATCH_MGE = 4, + MATCH_MGT = 5, +}; + +enum { + MAX8925_IRQ_VCHG_DC_OVP = 0, + MAX8925_IRQ_VCHG_DC_F = 1, + MAX8925_IRQ_VCHG_DC_R = 2, + MAX8925_IRQ_VCHG_THM_OK_R = 3, + MAX8925_IRQ_VCHG_THM_OK_F = 4, + MAX8925_IRQ_VCHG_SYSLOW_F = 5, + MAX8925_IRQ_VCHG_SYSLOW_R = 6, + MAX8925_IRQ_VCHG_RST = 7, + MAX8925_IRQ_VCHG_DONE = 8, + MAX8925_IRQ_VCHG_TOPOFF = 9, + MAX8925_IRQ_VCHG_TMR_FAULT = 10, + MAX8925_IRQ_GPM_RSTIN = 11, + MAX8925_IRQ_GPM_MPL = 12, + MAX8925_IRQ_GPM_SW_3SEC = 13, + MAX8925_IRQ_GPM_EXTON_F = 14, + MAX8925_IRQ_GPM_EXTON_R = 15, + MAX8925_IRQ_GPM_SW_1SEC = 16, + MAX8925_IRQ_GPM_SW_F = 17, + MAX8925_IRQ_GPM_SW_R = 18, + MAX8925_IRQ_GPM_SYSCKEN_F = 19, + MAX8925_IRQ_GPM_SYSCKEN_R = 20, + MAX8925_IRQ_RTC_ALARM1 = 21, + MAX8925_IRQ_RTC_ALARM0 = 22, + MAX8925_IRQ_TSC_STICK = 23, + MAX8925_IRQ_TSC_NSTICK = 24, + MAX8925_NR_IRQS = 25, +}; + +enum { + MAX8998_IRQ_DCINF = 0, + MAX8998_IRQ_DCINR = 1, + MAX8998_IRQ_JIGF = 2, + MAX8998_IRQ_JIGR = 3, + MAX8998_IRQ_PWRONF = 4, + MAX8998_IRQ_PWRONR = 5, + MAX8998_IRQ_WTSREVNT = 6, + MAX8998_IRQ_SMPLEVNT = 7, + MAX8998_IRQ_ALARM1 = 8, + MAX8998_IRQ_ALARM0 = 9, + MAX8998_IRQ_ONKEY1S = 10, + MAX8998_IRQ_TOPOFFR = 11, + MAX8998_IRQ_DCINOVPR = 12, + MAX8998_IRQ_CHGRSTF = 13, + MAX8998_IRQ_DONER = 14, + MAX8998_IRQ_CHGFAULT = 15, + MAX8998_IRQ_LOBAT1 = 16, + MAX8998_IRQ_LOBAT2 = 17, + MAX8998_IRQ_NR = 18, +}; + +enum { + MAX8998_REG_IRQ1 = 0, + MAX8998_REG_IRQ2 = 1, + MAX8998_REG_IRQ3 = 2, + MAX8998_REG_IRQ4 = 3, + MAX8998_REG_IRQM1 = 4, + MAX8998_REG_IRQM2 = 5, + MAX8998_REG_IRQM3 = 6, + MAX8998_REG_IRQM4 = 7, + MAX8998_REG_STATUS1 = 8, + MAX8998_REG_STATUS2 = 9, + MAX8998_REG_STATUSM1 = 10, + MAX8998_REG_STATUSM2 = 11, + MAX8998_REG_CHGR1 = 12, + MAX8998_REG_CHGR2 = 13, + MAX8998_REG_LDO_ACTIVE_DISCHARGE1 = 14, + MAX8998_REG_LDO_ACTIVE_DISCHARGE2 = 15, + MAX8998_REG_BUCK_ACTIVE_DISCHARGE3 = 16, + MAX8998_REG_ONOFF1 = 17, + MAX8998_REG_ONOFF2 = 18, + MAX8998_REG_ONOFF3 = 19, + MAX8998_REG_ONOFF4 = 20, + MAX8998_REG_BUCK1_VOLTAGE1 = 21, + MAX8998_REG_BUCK1_VOLTAGE2 = 22, + MAX8998_REG_BUCK1_VOLTAGE3 = 23, + MAX8998_REG_BUCK1_VOLTAGE4 = 24, + MAX8998_REG_BUCK2_VOLTAGE1 = 25, + MAX8998_REG_BUCK2_VOLTAGE2 = 26, + MAX8998_REG_BUCK3 = 27, + MAX8998_REG_BUCK4 = 28, + MAX8998_REG_LDO2_LDO3 = 29, + MAX8998_REG_LDO4 = 30, + MAX8998_REG_LDO5 = 31, + MAX8998_REG_LDO6 = 32, + MAX8998_REG_LDO7 = 33, + MAX8998_REG_LDO8_LDO9 = 34, + MAX8998_REG_LDO10_LDO11 = 35, + MAX8998_REG_LDO12 = 36, + MAX8998_REG_LDO13 = 37, + MAX8998_REG_LDO14 = 38, + MAX8998_REG_LDO15 = 39, + MAX8998_REG_LDO16 = 40, + MAX8998_REG_LDO17 = 41, + MAX8998_REG_BKCHR = 42, + MAX8998_REG_LBCNFG1 = 43, + MAX8998_REG_LBCNFG2 = 44, +}; + +enum { + MAX_IORES_LEVEL = 5, +}; + +enum { + MAX_OPT_ARGS = 3, +}; + +enum { + MBE_REFERENCED_B = 0, + MBE_REUSABLE_B = 1, +}; + +enum { + MB_INODE_PA = 0, + MB_GROUP_PA = 1, +}; + +enum { + MCTP_TRACE_KEY_TIMEOUT = 0, + MCTP_TRACE_KEY_REPLIED = 1, + MCTP_TRACE_KEY_INVALIDATED = 2, + MCTP_TRACE_KEY_CLOSED = 3, + MCTP_TRACE_KEY_DROPPED = 4, +}; + +enum { + MDBA_GET_ENTRY_UNSPEC = 0, + MDBA_GET_ENTRY = 1, + MDBA_GET_ENTRY_ATTRS = 2, + __MDBA_GET_ENTRY_MAX = 3, +}; + +enum { + MDBA_SET_ENTRY_UNSPEC = 0, + MDBA_SET_ENTRY = 1, + MDBA_SET_ENTRY_ATTRS = 2, + __MDBA_SET_ENTRY_MAX = 3, +}; + +enum { + MDIO_AN_C22 = 65504, +}; + +enum { + MD_RESYNC_NONE = 0, + MD_RESYNC_YIELDED = 1, + MD_RESYNC_DELAYED = 2, + MD_RESYNC_ACTIVE = 3, +}; + +enum { + MED_R_CNT = 10, +}; + +enum { + MED_R_DUR = 12, +}; + +enum { + MED_W_CNT = 11, +}; + +enum { + MED_W_DUR = 13, +}; + +enum { + MEMBARRIER_FLAG_SYNC_CORE = 1, + MEMBARRIER_FLAG_RSEQ = 2, +}; + +enum { + MEMBARRIER_STATE_PRIVATE_EXPEDITED_READY = 1, + MEMBARRIER_STATE_PRIVATE_EXPEDITED = 2, + MEMBARRIER_STATE_GLOBAL_EXPEDITED_READY = 4, + MEMBARRIER_STATE_GLOBAL_EXPEDITED = 8, + MEMBARRIER_STATE_PRIVATE_EXPEDITED_SYNC_CORE_READY = 16, + MEMBARRIER_STATE_PRIVATE_EXPEDITED_SYNC_CORE = 32, + MEMBARRIER_STATE_PRIVATE_EXPEDITED_RSEQ_READY = 64, + MEMBARRIER_STATE_PRIVATE_EXPEDITED_RSEQ = 128, +}; + +enum { + MEMCG_LRU_NOP = 0, + MEMCG_LRU_HEAD = 1, + MEMCG_LRU_TAIL = 2, + MEMCG_LRU_OLD = 3, + MEMCG_LRU_YOUNG = 4, +}; + +enum { + MEMMAP_ON_MEMORY_DISABLE = 0, + MEMMAP_ON_MEMORY_ENABLE = 1, + MEMMAP_ON_MEMORY_FORCE = 2, +}; + +enum { + MEMORY_RECLAIM_SWAPPINESS = 0, + MEMORY_RECLAIM_SWAPPINESS_MAX = 1, + MEMORY_RECLAIM_NULL = 2, +}; + +enum { + MEMREMAP_WB = 1, + MEMREMAP_WT = 2, + MEMREMAP_WC = 4, + MEMREMAP_ENC = 8, + MEMREMAP_DEC = 16, +}; + +enum { + MEM_LIFE = 4, +}; + +enum { + MFC_STATIC = 1, + MFC_OFFLOAD = 2, +}; + +enum { + MILLION = 1000000, + MIN_PERIOD = 1000, + MAX_PERIOD = 1000000, + MARGIN_MIN_PCT = 10, + MARGIN_LOW_PCT = 20, + MARGIN_TARGET_PCT = 50, + INUSE_ADJ_STEP_PCT = 25, + TIMER_SLACK_PCT = 1, + WEIGHT_ONE = 65536, +}; + +enum { + MIPI_DCS_NOP = 0, + MIPI_DCS_SOFT_RESET = 1, + MIPI_DCS_GET_COMPRESSION_MODE = 3, + MIPI_DCS_GET_DISPLAY_ID = 4, + MIPI_DCS_GET_ERROR_COUNT_ON_DSI = 5, + MIPI_DCS_GET_RED_CHANNEL = 6, + MIPI_DCS_GET_GREEN_CHANNEL = 7, + MIPI_DCS_GET_BLUE_CHANNEL = 8, + MIPI_DCS_GET_DISPLAY_STATUS = 9, + MIPI_DCS_GET_POWER_MODE = 10, + MIPI_DCS_GET_ADDRESS_MODE = 11, + MIPI_DCS_GET_PIXEL_FORMAT = 12, + MIPI_DCS_GET_DISPLAY_MODE = 13, + MIPI_DCS_GET_SIGNAL_MODE = 14, + MIPI_DCS_GET_DIAGNOSTIC_RESULT = 15, + MIPI_DCS_ENTER_SLEEP_MODE = 16, + MIPI_DCS_EXIT_SLEEP_MODE = 17, + MIPI_DCS_ENTER_PARTIAL_MODE = 18, + MIPI_DCS_ENTER_NORMAL_MODE = 19, + MIPI_DCS_GET_IMAGE_CHECKSUM_RGB = 20, + MIPI_DCS_GET_IMAGE_CHECKSUM_CT = 21, + MIPI_DCS_EXIT_INVERT_MODE = 32, + MIPI_DCS_ENTER_INVERT_MODE = 33, + MIPI_DCS_SET_GAMMA_CURVE = 38, + MIPI_DCS_SET_DISPLAY_OFF = 40, + MIPI_DCS_SET_DISPLAY_ON = 41, + MIPI_DCS_SET_COLUMN_ADDRESS = 42, + MIPI_DCS_SET_PAGE_ADDRESS = 43, + MIPI_DCS_WRITE_MEMORY_START = 44, + MIPI_DCS_WRITE_LUT = 45, + MIPI_DCS_READ_MEMORY_START = 46, + MIPI_DCS_SET_PARTIAL_ROWS = 48, + MIPI_DCS_SET_PARTIAL_COLUMNS = 49, + MIPI_DCS_SET_SCROLL_AREA = 51, + MIPI_DCS_SET_TEAR_OFF = 52, + MIPI_DCS_SET_TEAR_ON = 53, + MIPI_DCS_SET_ADDRESS_MODE = 54, + MIPI_DCS_SET_SCROLL_START = 55, + MIPI_DCS_EXIT_IDLE_MODE = 56, + MIPI_DCS_ENTER_IDLE_MODE = 57, + MIPI_DCS_SET_PIXEL_FORMAT = 58, + MIPI_DCS_WRITE_MEMORY_CONTINUE = 60, + MIPI_DCS_SET_3D_CONTROL = 61, + MIPI_DCS_READ_MEMORY_CONTINUE = 62, + MIPI_DCS_GET_3D_CONTROL = 63, + MIPI_DCS_SET_VSYNC_TIMING = 64, + MIPI_DCS_SET_TEAR_SCANLINE = 68, + MIPI_DCS_GET_SCANLINE = 69, + MIPI_DCS_SET_DISPLAY_BRIGHTNESS = 81, + MIPI_DCS_GET_DISPLAY_BRIGHTNESS = 82, + MIPI_DCS_WRITE_CONTROL_DISPLAY = 83, + MIPI_DCS_GET_CONTROL_DISPLAY = 84, + MIPI_DCS_WRITE_POWER_SAVE = 85, + MIPI_DCS_GET_POWER_SAVE = 86, + MIPI_DCS_SET_CABC_MIN_BRIGHTNESS = 94, + MIPI_DCS_GET_CABC_MIN_BRIGHTNESS = 95, + MIPI_DCS_READ_DDB_START = 161, + MIPI_DCS_READ_PPS_START = 162, + MIPI_DCS_READ_DDB_CONTINUE = 168, + MIPI_DCS_READ_PPS_CONTINUE = 169, +}; + +enum { + MIPI_DSI_V_SYNC_START = 1, + MIPI_DSI_V_SYNC_END = 17, + MIPI_DSI_H_SYNC_START = 33, + MIPI_DSI_H_SYNC_END = 49, + MIPI_DSI_COMPRESSION_MODE = 7, + MIPI_DSI_END_OF_TRANSMISSION = 8, + MIPI_DSI_COLOR_MODE_OFF = 2, + MIPI_DSI_COLOR_MODE_ON = 18, + MIPI_DSI_SHUTDOWN_PERIPHERAL = 34, + MIPI_DSI_TURN_ON_PERIPHERAL = 50, + MIPI_DSI_GENERIC_SHORT_WRITE_0_PARAM = 3, + MIPI_DSI_GENERIC_SHORT_WRITE_1_PARAM = 19, + MIPI_DSI_GENERIC_SHORT_WRITE_2_PARAM = 35, + MIPI_DSI_GENERIC_READ_REQUEST_0_PARAM = 4, + MIPI_DSI_GENERIC_READ_REQUEST_1_PARAM = 20, + MIPI_DSI_GENERIC_READ_REQUEST_2_PARAM = 36, + MIPI_DSI_DCS_SHORT_WRITE = 5, + MIPI_DSI_DCS_SHORT_WRITE_PARAM = 21, + MIPI_DSI_DCS_READ = 6, + MIPI_DSI_EXECUTE_QUEUE = 22, + MIPI_DSI_SET_MAXIMUM_RETURN_PACKET_SIZE = 55, + MIPI_DSI_NULL_PACKET = 9, + MIPI_DSI_BLANKING_PACKET = 25, + MIPI_DSI_GENERIC_LONG_WRITE = 41, + MIPI_DSI_DCS_LONG_WRITE = 57, + MIPI_DSI_PICTURE_PARAMETER_SET = 10, + MIPI_DSI_COMPRESSED_PIXEL_STREAM = 11, + MIPI_DSI_LOOSELY_PACKED_PIXEL_STREAM_YCBCR20 = 12, + MIPI_DSI_PACKED_PIXEL_STREAM_YCBCR24 = 28, + MIPI_DSI_PACKED_PIXEL_STREAM_YCBCR16 = 44, + MIPI_DSI_PACKED_PIXEL_STREAM_30 = 13, + MIPI_DSI_PACKED_PIXEL_STREAM_36 = 29, + MIPI_DSI_PACKED_PIXEL_STREAM_YCBCR12 = 61, + MIPI_DSI_PACKED_PIXEL_STREAM_16 = 14, + MIPI_DSI_PACKED_PIXEL_STREAM_18 = 30, + MIPI_DSI_PIXEL_STREAM_3BYTE_18 = 46, + MIPI_DSI_PACKED_PIXEL_STREAM_24 = 62, +}; + +enum { + MIX_INFLIGHT = 2147483648, +}; + +enum { + MLX_MC_RBT_SUPPORT = 1, + MLX_MC_RBT_AVL = 8, +}; + +enum { + MMOP_OFFLINE = 0, + MMOP_ONLINE = 1, + MMOP_ONLINE_KERNEL = 2, + MMOP_ONLINE_MOVABLE = 3, +}; + +enum { + MM_FILEPAGES = 0, + MM_ANONPAGES = 1, + MM_SWAPENTS = 2, + MM_SHMEMPAGES = 3, + NR_MM_COUNTERS = 4, +}; + +enum { + MM_LEAF_TOTAL = 0, + MM_LEAF_YOUNG = 1, + MM_NONLEAF_FOUND = 2, + MM_NONLEAF_ADDED = 3, + NR_MM_STATS = 4, +}; + +enum { + MODE_NONE = 0, + MODE_ROUND_ROBIN = 1, + MODE_PER_CPU = 2, + MODE_MAX = 3, +}; + +enum { + MOXA_SUPP_RS232 = 1, + MOXA_SUPP_RS422 = 2, + MOXA_SUPP_RS485 = 4, +}; + +enum { + MPOL_DEFAULT = 0, + MPOL_PREFERRED = 1, + MPOL_BIND = 2, + MPOL_INTERLEAVE = 3, + MPOL_LOCAL = 4, + MPOL_PREFERRED_MANY = 5, + MPOL_WEIGHTED_INTERLEAVE = 6, + MPOL_MAX = 7, +}; + +enum { + MPTCP_CMSG_TS = 1, + MPTCP_CMSG_INQ = 2, +}; + +enum { + MPTCP_PM_ADDR_ATTR_UNSPEC = 0, + MPTCP_PM_ADDR_ATTR_FAMILY = 1, + MPTCP_PM_ADDR_ATTR_ID = 2, + MPTCP_PM_ADDR_ATTR_ADDR4 = 3, + MPTCP_PM_ADDR_ATTR_ADDR6 = 4, + MPTCP_PM_ADDR_ATTR_PORT = 5, + MPTCP_PM_ADDR_ATTR_FLAGS = 6, + MPTCP_PM_ADDR_ATTR_IF_IDX = 7, + __MPTCP_PM_ADDR_ATTR_MAX = 8, +}; + +enum { + MPTCP_PM_ATTR_UNSPEC = 0, + MPTCP_PM_ATTR_ADDR = 1, + MPTCP_PM_ATTR_RCV_ADD_ADDRS = 2, + MPTCP_PM_ATTR_SUBFLOWS = 3, + MPTCP_PM_ATTR_TOKEN = 4, + MPTCP_PM_ATTR_LOC_ID = 5, + MPTCP_PM_ATTR_ADDR_REMOTE = 6, + __MPTCP_ATTR_AFTER_LAST = 7, +}; + +enum { + MPTCP_PM_CMD_UNSPEC = 0, + MPTCP_PM_CMD_ADD_ADDR = 1, + MPTCP_PM_CMD_DEL_ADDR = 2, + MPTCP_PM_CMD_GET_ADDR = 3, + MPTCP_PM_CMD_FLUSH_ADDRS = 4, + MPTCP_PM_CMD_SET_LIMITS = 5, + MPTCP_PM_CMD_GET_LIMITS = 6, + MPTCP_PM_CMD_SET_FLAGS = 7, + MPTCP_PM_CMD_ANNOUNCE = 8, + MPTCP_PM_CMD_REMOVE = 9, + MPTCP_PM_CMD_SUBFLOW_CREATE = 10, + MPTCP_PM_CMD_SUBFLOW_DESTROY = 11, + __MPTCP_PM_CMD_AFTER_LAST = 12, +}; + +enum { + MPTCP_PM_ENDPOINT_ADDR = 1, + __MPTCP_PM_ENDPOINT_MAX = 2, +}; + +enum { + MPTCP_SUBFLOW_ATTR_UNSPEC = 0, + MPTCP_SUBFLOW_ATTR_TOKEN_REM = 1, + MPTCP_SUBFLOW_ATTR_TOKEN_LOC = 2, + MPTCP_SUBFLOW_ATTR_RELWRITE_SEQ = 3, + MPTCP_SUBFLOW_ATTR_MAP_SEQ = 4, + MPTCP_SUBFLOW_ATTR_MAP_SFSEQ = 5, + MPTCP_SUBFLOW_ATTR_SSN_OFFSET = 6, + MPTCP_SUBFLOW_ATTR_MAP_DATALEN = 7, + MPTCP_SUBFLOW_ATTR_FLAGS = 8, + MPTCP_SUBFLOW_ATTR_ID_REM = 9, + MPTCP_SUBFLOW_ATTR_ID_LOC = 10, + MPTCP_SUBFLOW_ATTR_PAD = 11, + __MPTCP_SUBFLOW_ATTR_MAX = 12, +}; + +enum { + MSI_CHIP_FLAG_SET_EOI = 1, + MSI_CHIP_FLAG_SET_ACK = 2, +}; + +enum { + MSI_FLAG_USE_DEF_DOM_OPS = 1, + MSI_FLAG_USE_DEF_CHIP_OPS = 2, + MSI_FLAG_ACTIVATE_EARLY = 4, + MSI_FLAG_MUST_REACTIVATE = 8, + MSI_FLAG_DEV_SYSFS = 16, + MSI_FLAG_ALLOC_SIMPLE_MSI_DESCS = 32, + MSI_FLAG_FREE_MSI_DESCS = 64, + MSI_FLAG_USE_DEV_FWNODE = 128, + MSI_FLAG_PARENT_PM_DEV = 256, + MSI_FLAG_PCI_MSI_MASK_PARENT = 512, + MSI_FLAG_PCI_MSI_STARTUP_PARENT = 1024, + MSI_GENERIC_FLAGS_MASK = 65535, + MSI_DOMAIN_FLAGS_MASK = 4294901760, + MSI_FLAG_MULTI_PCI_MSI = 65536, + MSI_FLAG_PCI_MSIX = 131072, + MSI_FLAG_LEVEL_CAPABLE = 262144, + MSI_FLAG_MSIX_CONTIGUOUS = 524288, + MSI_FLAG_PCI_MSIX_ALLOC_DYN = 1048576, + MSI_FLAG_NO_AFFINITY = 2097152, + MSI_FLAG_NO_MASK = 4194304, +}; + +enum { + M_I17 = 0, + M_I20 = 1, + M_I20_SR = 2, + M_I24 = 3, + M_I24_8_1 = 4, + M_I24_10_1 = 5, + M_I27_11_1 = 6, + M_MINI = 7, + M_MINI_3_1 = 8, + M_MINI_4_1 = 9, + M_MB = 10, + M_MB_2 = 11, + M_MB_3 = 12, + M_MB_5_1 = 13, + M_MB_6_1 = 14, + M_MB_7_1 = 15, + M_MB_SR = 16, + M_MBA = 17, + M_MBA_3 = 18, + M_MBP = 19, + M_MBP_2 = 20, + M_MBP_2_2 = 21, + M_MBP_SR = 22, + M_MBP_4 = 23, + M_MBP_5_1 = 24, + M_MBP_5_2 = 25, + M_MBP_5_3 = 26, + M_MBP_6_1 = 27, + M_MBP_6_2 = 28, + M_MBP_7_1 = 29, + M_MBP_8_2 = 30, + M_UNKNOWN = 31, +}; + +enum { + NAPIF_STATE_SCHED = 1, + NAPIF_STATE_MISSED = 2, + NAPIF_STATE_DISABLE = 4, + NAPIF_STATE_NPSVC = 8, + NAPIF_STATE_LISTED = 16, + NAPIF_STATE_NO_BUSY_POLL = 32, + NAPIF_STATE_IN_BUSY_POLL = 64, + NAPIF_STATE_PREFER_BUSY_POLL = 128, + NAPIF_STATE_THREADED = 256, + NAPIF_STATE_SCHED_THREADED = 512, + NAPIF_STATE_HAS_NOTIFIER = 1024, +}; + +enum { + NAPI_F_PREFER_BUSY_POLL = 1, + NAPI_F_END_ON_RESCHED = 2, +}; + +enum { + NAPI_STATE_SCHED = 0, + NAPI_STATE_MISSED = 1, + NAPI_STATE_DISABLE = 2, + NAPI_STATE_NPSVC = 3, + NAPI_STATE_LISTED = 4, + NAPI_STATE_NO_BUSY_POLL = 5, + NAPI_STATE_IN_BUSY_POLL = 6, + NAPI_STATE_PREFER_BUSY_POLL = 7, + NAPI_STATE_THREADED = 8, + NAPI_STATE_SCHED_THREADED = 9, + NAPI_STATE_HAS_NOTIFIER = 10, +}; + +enum { + NCSI_CAP_BASE = 0, + NCSI_CAP_GENERIC = 0, + NCSI_CAP_BC = 1, + NCSI_CAP_MC = 2, + NCSI_CAP_BUFFER = 3, + NCSI_CAP_AEN = 4, + NCSI_CAP_VLAN = 5, + NCSI_CAP_MAX = 6, +}; + +enum { + NCSI_CAP_GENERIC_HWA = 1, + NCSI_CAP_GENERIC_HDS = 2, + NCSI_CAP_GENERIC_FC = 4, + NCSI_CAP_GENERIC_FC1 = 8, + NCSI_CAP_GENERIC_MC = 16, + NCSI_CAP_GENERIC_HWA_UNKNOWN = 0, + NCSI_CAP_GENERIC_HWA_SUPPORT = 32, + NCSI_CAP_GENERIC_HWA_NOT_SUPPORT = 64, + NCSI_CAP_GENERIC_HWA_RESERVED = 96, + NCSI_CAP_GENERIC_HWA_MASK = 96, + NCSI_CAP_GENERIC_MASK = 127, + NCSI_CAP_BC_ARP = 1, + NCSI_CAP_BC_DHCPC = 2, + NCSI_CAP_BC_DHCPS = 4, + NCSI_CAP_BC_NETBIOS = 8, + NCSI_CAP_BC_MASK = 15, + NCSI_CAP_MC_IPV6_NEIGHBOR = 1, + NCSI_CAP_MC_IPV6_ROUTER = 2, + NCSI_CAP_MC_DHCPV6_RELAY = 4, + NCSI_CAP_MC_DHCPV6_WELL_KNOWN = 8, + NCSI_CAP_MC_IPV6_MLD = 16, + NCSI_CAP_MC_IPV6_NEIGHBOR_S = 32, + NCSI_CAP_MC_MASK = 63, + NCSI_CAP_AEN_LSC = 1, + NCSI_CAP_AEN_CR = 2, + NCSI_CAP_AEN_HDS = 4, + NCSI_CAP_AEN_MASK = 7, + NCSI_CAP_VLAN_ONLY = 1, + NCSI_CAP_VLAN_NO = 2, + NCSI_CAP_VLAN_ANY = 4, + NCSI_CAP_VLAN_MASK = 7, +}; + +enum { + NCSI_MODE_BASE = 0, + NCSI_MODE_ENABLE = 0, + NCSI_MODE_TX_ENABLE = 1, + NCSI_MODE_LINK = 2, + NCSI_MODE_VLAN = 3, + NCSI_MODE_BC = 4, + NCSI_MODE_MC = 5, + NCSI_MODE_AEN = 6, + NCSI_MODE_FC = 7, + NCSI_MODE_MAX = 8, +}; + +enum { + NDA_UNSPEC = 0, + NDA_DST = 1, + NDA_LLADDR = 2, + NDA_CACHEINFO = 3, + NDA_PROBES = 4, + NDA_VLAN = 5, + NDA_PORT = 6, + NDA_VNI = 7, + NDA_IFINDEX = 8, + NDA_MASTER = 9, + NDA_LINK_NETNSID = 10, + NDA_SRC_VNI = 11, + NDA_PROTOCOL = 12, + NDA_NH_ID = 13, + NDA_FDB_EXT_ATTRS = 14, + NDA_FLAGS_EXT = 15, + NDA_NDM_STATE_MASK = 16, + NDA_NDM_FLAGS_MASK = 17, + __NDA_MAX = 18, +}; + +enum { + NDD_UNARMED = 1, + NDD_LOCKED = 2, + NDD_SECURITY_OVERWRITE = 3, + NDD_WORK_PENDING = 4, + NDD_LABELING = 6, + NDD_INCOHERENT = 7, + NDD_REGISTER_SYNC = 8, + ND_IOCTL_MAX_BUFLEN = 4194304, + ND_CMD_MAX_ELEM = 5, + ND_CMD_MAX_ENVELOPE = 256, + ND_MAX_MAPPINGS = 32, + ND_REGION_PAGEMAP = 0, + ND_REGION_PERSIST_CACHE = 1, + ND_REGION_PERSIST_MEMCTRL = 2, + ND_REGION_ASYNC = 3, + ND_REGION_CXL = 4, + DPA_RESOURCE_ADJUSTED = 1, +}; + +enum { + NDTA_UNSPEC = 0, + NDTA_NAME = 1, + NDTA_THRESH1 = 2, + NDTA_THRESH2 = 3, + NDTA_THRESH3 = 4, + NDTA_CONFIG = 5, + NDTA_PARMS = 6, + NDTA_STATS = 7, + NDTA_GC_INTERVAL = 8, + NDTA_PAD = 9, + __NDTA_MAX = 10, +}; + +enum { + NDTPA_UNSPEC = 0, + NDTPA_IFINDEX = 1, + NDTPA_REFCNT = 2, + NDTPA_REACHABLE_TIME = 3, + NDTPA_BASE_REACHABLE_TIME = 4, + NDTPA_RETRANS_TIME = 5, + NDTPA_GC_STALETIME = 6, + NDTPA_DELAY_PROBE_TIME = 7, + NDTPA_QUEUE_LEN = 8, + NDTPA_APP_PROBES = 9, + NDTPA_UCAST_PROBES = 10, + NDTPA_MCAST_PROBES = 11, + NDTPA_ANYCAST_DELAY = 12, + NDTPA_PROXY_DELAY = 13, + NDTPA_PROXY_QLEN = 14, + NDTPA_LOCKTIME = 15, + NDTPA_QUEUE_LENBYTES = 16, + NDTPA_MCAST_REPROBES = 17, + NDTPA_PAD = 18, + NDTPA_INTERVAL_PROBE_TIME_MS = 19, + __NDTPA_MAX = 20, +}; + +enum { + NDUSEROPT_UNSPEC = 0, + NDUSEROPT_SRCADDR = 1, + __NDUSEROPT_MAX = 2, +}; + +enum { + ND_CMD_IMPLEMENTED = 0, + ND_CMD_ARS_CAP = 1, + ND_CMD_ARS_START = 2, + ND_CMD_ARS_STATUS = 3, + ND_CMD_CLEAR_ERROR = 4, + ND_CMD_SMART = 1, + ND_CMD_SMART_THRESHOLD = 2, + ND_CMD_DIMM_FLAGS = 3, + ND_CMD_GET_CONFIG_SIZE = 4, + ND_CMD_GET_CONFIG_DATA = 5, + ND_CMD_SET_CONFIG_DATA = 6, + ND_CMD_VENDOR_EFFECT_LOG_SIZE = 7, + ND_CMD_VENDOR_EFFECT_LOG = 8, + ND_CMD_VENDOR = 9, + ND_CMD_CALL = 10, +}; + +enum { + ND_MAX_LANES = 256, + INT_LBASIZE_ALIGNMENT = 64, + NVDIMM_IO_ATOMIC = 1, +}; + +enum { + ND_MIN_NAMESPACE_SIZE = 4096, +}; + +enum { + NEIGH_ARP_TABLE = 0, + NEIGH_ND_TABLE = 1, + NEIGH_NR_TABLES = 2, + NEIGH_LINK_TABLE = 2, +}; + +enum { + NEIGH_VAR_MCAST_PROBES = 0, + NEIGH_VAR_UCAST_PROBES = 1, + NEIGH_VAR_APP_PROBES = 2, + NEIGH_VAR_MCAST_REPROBES = 3, + NEIGH_VAR_RETRANS_TIME = 4, + NEIGH_VAR_BASE_REACHABLE_TIME = 5, + NEIGH_VAR_DELAY_PROBE_TIME = 6, + NEIGH_VAR_INTERVAL_PROBE_TIME_MS = 7, + NEIGH_VAR_GC_STALETIME = 8, + NEIGH_VAR_QUEUE_LEN_BYTES = 9, + NEIGH_VAR_PROXY_QLEN = 10, + NEIGH_VAR_ANYCAST_DELAY = 11, + NEIGH_VAR_PROXY_DELAY = 12, + NEIGH_VAR_LOCKTIME = 13, + NEIGH_VAR_QUEUE_LEN = 14, + NEIGH_VAR_RETRANS_TIME_MS = 15, + NEIGH_VAR_BASE_REACHABLE_TIME_MS = 16, + NEIGH_VAR_GC_INTERVAL = 17, + NEIGH_VAR_GC_THRESH1 = 18, + NEIGH_VAR_GC_THRESH2 = 19, + NEIGH_VAR_GC_THRESH3 = 20, + NEIGH_VAR_MAX = 21, +}; + +enum { + NESTED_SYNC_IMM_BIT = 0, + NESTED_SYNC_TODO_BIT = 1, +}; + +enum { + NETCONFA_UNSPEC = 0, + NETCONFA_IFINDEX = 1, + NETCONFA_FORWARDING = 2, + NETCONFA_RP_FILTER = 3, + NETCONFA_MC_FORWARDING = 4, + NETCONFA_PROXY_NEIGH = 5, + NETCONFA_IGNORE_ROUTES_WITH_LINKDOWN = 6, + NETCONFA_INPUT = 7, + NETCONFA_BC_FORWARDING = 8, + NETCONFA_FORCE_FORWARDING = 9, + __NETCONFA_MAX = 10, +}; + +enum { + NETDEV_A_DEV_IFINDEX = 1, + NETDEV_A_DEV_PAD = 2, + NETDEV_A_DEV_XDP_FEATURES = 3, + NETDEV_A_DEV_XDP_ZC_MAX_SEGS = 4, + NETDEV_A_DEV_XDP_RX_METADATA_FEATURES = 5, + NETDEV_A_DEV_XSK_FEATURES = 6, + __NETDEV_A_DEV_MAX = 7, + NETDEV_A_DEV_MAX = 6, +}; + +enum { + NETDEV_A_DMABUF_IFINDEX = 1, + NETDEV_A_DMABUF_QUEUES = 2, + NETDEV_A_DMABUF_FD = 3, + NETDEV_A_DMABUF_ID = 4, + __NETDEV_A_DMABUF_MAX = 5, + NETDEV_A_DMABUF_MAX = 4, +}; + +enum { + NETDEV_A_NAPI_IFINDEX = 1, + NETDEV_A_NAPI_ID = 2, + NETDEV_A_NAPI_IRQ = 3, + NETDEV_A_NAPI_PID = 4, + NETDEV_A_NAPI_DEFER_HARD_IRQS = 5, + NETDEV_A_NAPI_GRO_FLUSH_TIMEOUT = 6, + NETDEV_A_NAPI_IRQ_SUSPEND_TIMEOUT = 7, + NETDEV_A_NAPI_THREADED = 8, + __NETDEV_A_NAPI_MAX = 9, + NETDEV_A_NAPI_MAX = 8, +}; + +enum { + NETDEV_A_PAGE_POOL_ID = 1, + NETDEV_A_PAGE_POOL_IFINDEX = 2, + NETDEV_A_PAGE_POOL_NAPI_ID = 3, + NETDEV_A_PAGE_POOL_INFLIGHT = 4, + NETDEV_A_PAGE_POOL_INFLIGHT_MEM = 5, + NETDEV_A_PAGE_POOL_DETACH_TIME = 6, + NETDEV_A_PAGE_POOL_DMABUF = 7, + NETDEV_A_PAGE_POOL_IO_URING = 8, + __NETDEV_A_PAGE_POOL_MAX = 9, + NETDEV_A_PAGE_POOL_MAX = 8, +}; + +enum { + NETDEV_A_PAGE_POOL_STATS_INFO = 1, + NETDEV_A_PAGE_POOL_STATS_ALLOC_FAST = 8, + NETDEV_A_PAGE_POOL_STATS_ALLOC_SLOW = 9, + NETDEV_A_PAGE_POOL_STATS_ALLOC_SLOW_HIGH_ORDER = 10, + NETDEV_A_PAGE_POOL_STATS_ALLOC_EMPTY = 11, + NETDEV_A_PAGE_POOL_STATS_ALLOC_REFILL = 12, + NETDEV_A_PAGE_POOL_STATS_ALLOC_WAIVE = 13, + NETDEV_A_PAGE_POOL_STATS_RECYCLE_CACHED = 14, + NETDEV_A_PAGE_POOL_STATS_RECYCLE_CACHE_FULL = 15, + NETDEV_A_PAGE_POOL_STATS_RECYCLE_RING = 16, + NETDEV_A_PAGE_POOL_STATS_RECYCLE_RING_FULL = 17, + NETDEV_A_PAGE_POOL_STATS_RECYCLE_RELEASED_REFCNT = 18, + __NETDEV_A_PAGE_POOL_STATS_MAX = 19, + NETDEV_A_PAGE_POOL_STATS_MAX = 18, +}; + +enum { + NETDEV_A_QSTATS_IFINDEX = 1, + NETDEV_A_QSTATS_QUEUE_TYPE = 2, + NETDEV_A_QSTATS_QUEUE_ID = 3, + NETDEV_A_QSTATS_SCOPE = 4, + NETDEV_A_QSTATS_RX_PACKETS = 8, + NETDEV_A_QSTATS_RX_BYTES = 9, + NETDEV_A_QSTATS_TX_PACKETS = 10, + NETDEV_A_QSTATS_TX_BYTES = 11, + NETDEV_A_QSTATS_RX_ALLOC_FAIL = 12, + NETDEV_A_QSTATS_RX_HW_DROPS = 13, + NETDEV_A_QSTATS_RX_HW_DROP_OVERRUNS = 14, + NETDEV_A_QSTATS_RX_CSUM_COMPLETE = 15, + NETDEV_A_QSTATS_RX_CSUM_UNNECESSARY = 16, + NETDEV_A_QSTATS_RX_CSUM_NONE = 17, + NETDEV_A_QSTATS_RX_CSUM_BAD = 18, + NETDEV_A_QSTATS_RX_HW_GRO_PACKETS = 19, + NETDEV_A_QSTATS_RX_HW_GRO_BYTES = 20, + NETDEV_A_QSTATS_RX_HW_GRO_WIRE_PACKETS = 21, + NETDEV_A_QSTATS_RX_HW_GRO_WIRE_BYTES = 22, + NETDEV_A_QSTATS_RX_HW_DROP_RATELIMITS = 23, + NETDEV_A_QSTATS_TX_HW_DROPS = 24, + NETDEV_A_QSTATS_TX_HW_DROP_ERRORS = 25, + NETDEV_A_QSTATS_TX_CSUM_NONE = 26, + NETDEV_A_QSTATS_TX_NEEDS_CSUM = 27, + NETDEV_A_QSTATS_TX_HW_GSO_PACKETS = 28, + NETDEV_A_QSTATS_TX_HW_GSO_BYTES = 29, + NETDEV_A_QSTATS_TX_HW_GSO_WIRE_PACKETS = 30, + NETDEV_A_QSTATS_TX_HW_GSO_WIRE_BYTES = 31, + NETDEV_A_QSTATS_TX_HW_DROP_RATELIMITS = 32, + NETDEV_A_QSTATS_TX_STOP = 33, + NETDEV_A_QSTATS_TX_WAKE = 34, + __NETDEV_A_QSTATS_MAX = 35, + NETDEV_A_QSTATS_MAX = 34, +}; + +enum { + NETDEV_A_QUEUE_ID = 1, + NETDEV_A_QUEUE_IFINDEX = 2, + NETDEV_A_QUEUE_TYPE = 3, + NETDEV_A_QUEUE_NAPI_ID = 4, + NETDEV_A_QUEUE_DMABUF = 5, + NETDEV_A_QUEUE_IO_URING = 6, + NETDEV_A_QUEUE_XSK = 7, + __NETDEV_A_QUEUE_MAX = 8, + NETDEV_A_QUEUE_MAX = 7, +}; + +enum { + NETDEV_CMD_DEV_GET = 1, + NETDEV_CMD_DEV_ADD_NTF = 2, + NETDEV_CMD_DEV_DEL_NTF = 3, + NETDEV_CMD_DEV_CHANGE_NTF = 4, + NETDEV_CMD_PAGE_POOL_GET = 5, + NETDEV_CMD_PAGE_POOL_ADD_NTF = 6, + NETDEV_CMD_PAGE_POOL_DEL_NTF = 7, + NETDEV_CMD_PAGE_POOL_CHANGE_NTF = 8, + NETDEV_CMD_PAGE_POOL_STATS_GET = 9, + NETDEV_CMD_QUEUE_GET = 10, + NETDEV_CMD_NAPI_GET = 11, + NETDEV_CMD_QSTATS_GET = 12, + NETDEV_CMD_BIND_RX = 13, + NETDEV_CMD_NAPI_SET = 14, + NETDEV_CMD_BIND_TX = 15, + __NETDEV_CMD_MAX = 16, + NETDEV_CMD_MAX = 15, +}; + +enum { + NETDEV_NLGRP_MGMT = 0, + NETDEV_NLGRP_PAGE_POOL = 1, +}; + +enum { + NETIF_F_SG_BIT = 0, + NETIF_F_IP_CSUM_BIT = 1, + __UNUSED_NETIF_F_1 = 2, + NETIF_F_HW_CSUM_BIT = 3, + NETIF_F_IPV6_CSUM_BIT = 4, + NETIF_F_HIGHDMA_BIT = 5, + NETIF_F_FRAGLIST_BIT = 6, + NETIF_F_HW_VLAN_CTAG_TX_BIT = 7, + NETIF_F_HW_VLAN_CTAG_RX_BIT = 8, + NETIF_F_HW_VLAN_CTAG_FILTER_BIT = 9, + NETIF_F_VLAN_CHALLENGED_BIT = 10, + NETIF_F_GSO_BIT = 11, + __UNUSED_NETIF_F_12 = 12, + __UNUSED_NETIF_F_13 = 13, + NETIF_F_GRO_BIT = 14, + NETIF_F_LRO_BIT = 15, + NETIF_F_GSO_SHIFT = 16, + NETIF_F_TSO_BIT = 16, + NETIF_F_GSO_ROBUST_BIT = 17, + NETIF_F_TSO_ECN_BIT = 18, + NETIF_F_TSO_MANGLEID_BIT = 19, + NETIF_F_TSO6_BIT = 20, + NETIF_F_FSO_BIT = 21, + NETIF_F_GSO_GRE_BIT = 22, + NETIF_F_GSO_GRE_CSUM_BIT = 23, + NETIF_F_GSO_IPXIP4_BIT = 24, + NETIF_F_GSO_IPXIP6_BIT = 25, + NETIF_F_GSO_UDP_TUNNEL_BIT = 26, + NETIF_F_GSO_UDP_TUNNEL_CSUM_BIT = 27, + NETIF_F_GSO_PARTIAL_BIT = 28, + NETIF_F_GSO_TUNNEL_REMCSUM_BIT = 29, + NETIF_F_GSO_SCTP_BIT = 30, + NETIF_F_GSO_ESP_BIT = 31, + NETIF_F_GSO_UDP_BIT = 32, + NETIF_F_GSO_UDP_L4_BIT = 33, + NETIF_F_GSO_FRAGLIST_BIT = 34, + NETIF_F_GSO_ACCECN_BIT = 35, + NETIF_F_GSO_LAST = 35, + NETIF_F_FCOE_CRC_BIT = 36, + NETIF_F_SCTP_CRC_BIT = 37, + NETIF_F_NTUPLE_BIT = 38, + NETIF_F_RXHASH_BIT = 39, + NETIF_F_RXCSUM_BIT = 40, + NETIF_F_NOCACHE_COPY_BIT = 41, + NETIF_F_LOOPBACK_BIT = 42, + NETIF_F_RXFCS_BIT = 43, + NETIF_F_RXALL_BIT = 44, + NETIF_F_HW_VLAN_STAG_TX_BIT = 45, + NETIF_F_HW_VLAN_STAG_RX_BIT = 46, + NETIF_F_HW_VLAN_STAG_FILTER_BIT = 47, + NETIF_F_HW_L2FW_DOFFLOAD_BIT = 48, + NETIF_F_HW_TC_BIT = 49, + NETIF_F_HW_ESP_BIT = 50, + NETIF_F_HW_ESP_TX_CSUM_BIT = 51, + NETIF_F_RX_UDP_TUNNEL_PORT_BIT = 52, + NETIF_F_HW_TLS_TX_BIT = 53, + NETIF_F_HW_TLS_RX_BIT = 54, + NETIF_F_GRO_HW_BIT = 55, + NETIF_F_HW_TLS_RECORD_BIT = 56, + NETIF_F_GRO_FRAGLIST_BIT = 57, + NETIF_F_HW_MACSEC_BIT = 58, + NETIF_F_GRO_UDP_FWD_BIT = 59, + NETIF_F_HW_HSR_TAG_INS_BIT = 60, + NETIF_F_HW_HSR_TAG_RM_BIT = 61, + NETIF_F_HW_HSR_FWD_BIT = 62, + NETIF_F_HW_HSR_DUP_BIT = 63, + NETDEV_FEATURE_COUNT = 64, +}; + +enum { + NETIF_MSG_DRV_BIT = 0, + NETIF_MSG_PROBE_BIT = 1, + NETIF_MSG_LINK_BIT = 2, + NETIF_MSG_TIMER_BIT = 3, + NETIF_MSG_IFDOWN_BIT = 4, + NETIF_MSG_IFUP_BIT = 5, + NETIF_MSG_RX_ERR_BIT = 6, + NETIF_MSG_TX_ERR_BIT = 7, + NETIF_MSG_TX_QUEUED_BIT = 8, + NETIF_MSG_INTR_BIT = 9, + NETIF_MSG_TX_DONE_BIT = 10, + NETIF_MSG_RX_STATUS_BIT = 11, + NETIF_MSG_PKTDATA_BIT = 12, + NETIF_MSG_HW_BIT = 13, + NETIF_MSG_WOL_BIT = 14, + NETIF_MSG_CLASS_COUNT = 15, +}; + +enum { + NETLINK_F_KERNEL_SOCKET = 0, + NETLINK_F_RECV_PKTINFO = 1, + NETLINK_F_BROADCAST_SEND_ERROR = 2, + NETLINK_F_RECV_NO_ENOBUFS = 3, + NETLINK_F_LISTEN_ALL_NSID = 4, + NETLINK_F_CAP_ACK = 5, + NETLINK_F_EXT_ACK = 6, + NETLINK_F_STRICT_CHK = 7, +}; + +enum { + NETLINK_UNCONNECTED = 0, + NETLINK_CONNECTED = 1, +}; + +enum { + NETNSA_NONE = 0, + NETNSA_NSID = 1, + NETNSA_PID = 2, + NETNSA_FD = 3, + NETNSA_TARGET_NSID = 4, + NETNSA_CURRENT_NSID = 5, + __NETNSA_MAX = 6, +}; + +enum { + NET_DM_ATTR_PORT_NETDEV_IFINDEX = 0, + NET_DM_ATTR_PORT_NETDEV_NAME = 1, + __NET_DM_ATTR_PORT_MAX = 2, + NET_DM_ATTR_PORT_MAX = 1, +}; + +enum { + NET_DM_ATTR_STATS_DROPPED = 0, + __NET_DM_ATTR_STATS_MAX = 1, + NET_DM_ATTR_STATS_MAX = 0, +}; + +enum { + NET_DM_CMD_UNSPEC = 0, + NET_DM_CMD_ALERT = 1, + NET_DM_CMD_CONFIG = 2, + NET_DM_CMD_START = 3, + NET_DM_CMD_STOP = 4, + NET_DM_CMD_PACKET_ALERT = 5, + NET_DM_CMD_CONFIG_GET = 6, + NET_DM_CMD_CONFIG_NEW = 7, + NET_DM_CMD_STATS_GET = 8, + NET_DM_CMD_STATS_NEW = 9, + _NET_DM_CMD_MAX = 10, +}; + +enum { + NET_NS_INDEX = 0, + UTS_NS_INDEX = 1, + IPC_NS_INDEX = 2, + PID_NS_INDEX = 3, + USER_NS_INDEX = 4, + MNT_NS_INDEX = 5, + CGROUP_NS_INDEX = 6, + NR_NAMESPACES = 7, +}; + +enum { + NET_SHAPER_A_CAPS_IFINDEX = 1, + NET_SHAPER_A_CAPS_SCOPE = 2, + NET_SHAPER_A_CAPS_SUPPORT_METRIC_BPS = 3, + NET_SHAPER_A_CAPS_SUPPORT_METRIC_PPS = 4, + NET_SHAPER_A_CAPS_SUPPORT_NESTING = 5, + NET_SHAPER_A_CAPS_SUPPORT_BW_MIN = 6, + NET_SHAPER_A_CAPS_SUPPORT_BW_MAX = 7, + NET_SHAPER_A_CAPS_SUPPORT_BURST = 8, + NET_SHAPER_A_CAPS_SUPPORT_PRIORITY = 9, + NET_SHAPER_A_CAPS_SUPPORT_WEIGHT = 10, + __NET_SHAPER_A_CAPS_MAX = 11, + NET_SHAPER_A_CAPS_MAX = 10, +}; + +enum { + NET_SHAPER_A_HANDLE = 1, + NET_SHAPER_A_METRIC = 2, + NET_SHAPER_A_BW_MIN = 3, + NET_SHAPER_A_BW_MAX = 4, + NET_SHAPER_A_BURST = 5, + NET_SHAPER_A_PRIORITY = 6, + NET_SHAPER_A_WEIGHT = 7, + NET_SHAPER_A_IFINDEX = 8, + NET_SHAPER_A_PARENT = 9, + NET_SHAPER_A_LEAVES = 10, + __NET_SHAPER_A_MAX = 11, + NET_SHAPER_A_MAX = 10, +}; + +enum { + NET_SHAPER_A_HANDLE_SCOPE = 1, + NET_SHAPER_A_HANDLE_ID = 2, + __NET_SHAPER_A_HANDLE_MAX = 3, + NET_SHAPER_A_HANDLE_MAX = 2, +}; + +enum { + NET_SHAPER_CMD_GET = 1, + NET_SHAPER_CMD_SET = 2, + NET_SHAPER_CMD_DELETE = 3, + NET_SHAPER_CMD_GROUP = 4, + NET_SHAPER_CMD_CAP_GET = 5, + __NET_SHAPER_CMD_MAX = 6, + NET_SHAPER_CMD_MAX = 5, +}; + +enum { + NEXTHOP_GRP_TYPE_MPATH = 0, + NEXTHOP_GRP_TYPE_RES = 1, + __NEXTHOP_GRP_TYPE_MAX = 2, +}; + +enum { + NFPROTO_UNSPEC = 0, + NFPROTO_INET = 1, + NFPROTO_IPV4 = 2, + NFPROTO_ARP = 3, + NFPROTO_NETDEV = 5, + NFPROTO_BRIDGE = 7, + NFPROTO_IPV6 = 10, + NFPROTO_NUMPROTO = 11, +}; + +enum { + NHA_GROUP_STATS_ENTRY_UNSPEC = 0, + NHA_GROUP_STATS_ENTRY_ID = 1, + NHA_GROUP_STATS_ENTRY_PACKETS = 2, + NHA_GROUP_STATS_ENTRY_PACKETS_HW = 3, + __NHA_GROUP_STATS_ENTRY_MAX = 4, +}; + +enum { + NHA_GROUP_STATS_UNSPEC = 0, + NHA_GROUP_STATS_ENTRY = 1, + __NHA_GROUP_STATS_MAX = 2, +}; + +enum { + NHA_RES_BUCKET_UNSPEC = 0, + NHA_RES_BUCKET_PAD = 0, + NHA_RES_BUCKET_INDEX = 1, + NHA_RES_BUCKET_IDLE_TIME = 2, + NHA_RES_BUCKET_NH_ID = 3, + __NHA_RES_BUCKET_MAX = 4, +}; + +enum { + NHA_RES_GROUP_UNSPEC = 0, + NHA_RES_GROUP_PAD = 0, + NHA_RES_GROUP_BUCKETS = 1, + NHA_RES_GROUP_IDLE_TIMER = 2, + NHA_RES_GROUP_UNBALANCED_TIMER = 3, + NHA_RES_GROUP_UNBALANCED_TIME = 4, + __NHA_RES_GROUP_MAX = 5, +}; + +enum { + NHA_UNSPEC = 0, + NHA_ID = 1, + NHA_GROUP = 2, + NHA_GROUP_TYPE = 3, + NHA_BLACKHOLE = 4, + NHA_OIF = 5, + NHA_GATEWAY = 6, + NHA_ENCAP_TYPE = 7, + NHA_ENCAP = 8, + NHA_GROUPS = 9, + NHA_MASTER = 10, + NHA_FDB = 11, + NHA_RES_GROUP = 12, + NHA_RES_BUCKET = 13, + NHA_OP_FLAGS = 14, + NHA_GROUP_STATS = 15, + NHA_HW_STATS_ENABLE = 16, + NHA_HW_STATS_USED = 17, + __NHA_MAX = 18, +}; + +enum { + NLA_UNSPEC = 0, + NLA_U8 = 1, + NLA_U16 = 2, + NLA_U32 = 3, + NLA_U64 = 4, + NLA_STRING = 5, + NLA_FLAG = 6, + NLA_MSECS = 7, + NLA_NESTED = 8, + NLA_NESTED_ARRAY = 9, + NLA_NUL_STRING = 10, + NLA_BINARY = 11, + NLA_S8 = 12, + NLA_S16 = 13, + NLA_S32 = 14, + NLA_S64 = 15, + NLA_BITFIELD32 = 16, + NLA_REJECT = 17, + NLA_BE16 = 18, + NLA_BE32 = 19, + NLA_SINT = 20, + NLA_UINT = 21, + __NLA_TYPE_MAX = 22, +}; + +enum { + NLBL_CALIPSO_A_UNSPEC = 0, + NLBL_CALIPSO_A_DOI = 1, + NLBL_CALIPSO_A_MTYPE = 2, + __NLBL_CALIPSO_A_MAX = 3, +}; + +enum { + NLBL_CALIPSO_C_UNSPEC = 0, + NLBL_CALIPSO_C_ADD = 1, + NLBL_CALIPSO_C_REMOVE = 2, + NLBL_CALIPSO_C_LIST = 3, + NLBL_CALIPSO_C_LISTALL = 4, + __NLBL_CALIPSO_C_MAX = 5, +}; + +enum { + NLBL_CIPSOV4_A_UNSPEC = 0, + NLBL_CIPSOV4_A_DOI = 1, + NLBL_CIPSOV4_A_MTYPE = 2, + NLBL_CIPSOV4_A_TAG = 3, + NLBL_CIPSOV4_A_TAGLST = 4, + NLBL_CIPSOV4_A_MLSLVLLOC = 5, + NLBL_CIPSOV4_A_MLSLVLREM = 6, + NLBL_CIPSOV4_A_MLSLVL = 7, + NLBL_CIPSOV4_A_MLSLVLLST = 8, + NLBL_CIPSOV4_A_MLSCATLOC = 9, + NLBL_CIPSOV4_A_MLSCATREM = 10, + NLBL_CIPSOV4_A_MLSCAT = 11, + NLBL_CIPSOV4_A_MLSCATLST = 12, + __NLBL_CIPSOV4_A_MAX = 13, +}; + +enum { + NLBL_CIPSOV4_C_UNSPEC = 0, + NLBL_CIPSOV4_C_ADD = 1, + NLBL_CIPSOV4_C_REMOVE = 2, + NLBL_CIPSOV4_C_LIST = 3, + NLBL_CIPSOV4_C_LISTALL = 4, + __NLBL_CIPSOV4_C_MAX = 5, +}; + +enum { + NLBL_MGMT_A_UNSPEC = 0, + NLBL_MGMT_A_DOMAIN = 1, + NLBL_MGMT_A_PROTOCOL = 2, + NLBL_MGMT_A_VERSION = 3, + NLBL_MGMT_A_CV4DOI = 4, + NLBL_MGMT_A_IPV6ADDR = 5, + NLBL_MGMT_A_IPV6MASK = 6, + NLBL_MGMT_A_IPV4ADDR = 7, + NLBL_MGMT_A_IPV4MASK = 8, + NLBL_MGMT_A_ADDRSELECTOR = 9, + NLBL_MGMT_A_SELECTORLIST = 10, + NLBL_MGMT_A_FAMILY = 11, + NLBL_MGMT_A_CLPDOI = 12, + __NLBL_MGMT_A_MAX = 13, +}; + +enum { + NLBL_MGMT_C_UNSPEC = 0, + NLBL_MGMT_C_ADD = 1, + NLBL_MGMT_C_REMOVE = 2, + NLBL_MGMT_C_LISTALL = 3, + NLBL_MGMT_C_ADDDEF = 4, + NLBL_MGMT_C_REMOVEDEF = 5, + NLBL_MGMT_C_LISTDEF = 6, + NLBL_MGMT_C_PROTOCOLS = 7, + NLBL_MGMT_C_VERSION = 8, + __NLBL_MGMT_C_MAX = 9, +}; + +enum { + NLBL_UNLABEL_A_UNSPEC = 0, + NLBL_UNLABEL_A_ACPTFLG = 1, + NLBL_UNLABEL_A_IPV6ADDR = 2, + NLBL_UNLABEL_A_IPV6MASK = 3, + NLBL_UNLABEL_A_IPV4ADDR = 4, + NLBL_UNLABEL_A_IPV4MASK = 5, + NLBL_UNLABEL_A_IFACE = 6, + NLBL_UNLABEL_A_SECCTX = 7, + __NLBL_UNLABEL_A_MAX = 8, +}; + +enum { + NLBL_UNLABEL_C_UNSPEC = 0, + NLBL_UNLABEL_C_ACCEPT = 1, + NLBL_UNLABEL_C_LIST = 2, + NLBL_UNLABEL_C_STATICADD = 3, + NLBL_UNLABEL_C_STATICREMOVE = 4, + NLBL_UNLABEL_C_STATICLIST = 5, + NLBL_UNLABEL_C_STATICADDDEF = 6, + NLBL_UNLABEL_C_STATICREMOVEDEF = 7, + NLBL_UNLABEL_C_STATICLISTDEF = 8, + __NLBL_UNLABEL_C_MAX = 9, +}; + +enum { + NMI_LOCAL = 0, + NMI_UNKNOWN = 1, + NMI_SERR = 2, + NMI_IO_CHECK = 3, + NMI_MAX = 4, +}; + +enum { + NODE_ACCESS_CLASS_GENPORT_SINK_LOCAL = 2, + NODE_ACCESS_CLASS_GENPORT_SINK_CPU = 3, + NODE_ACCESS_CLASS_MAX = 4, +}; + +enum { + NONE_FORCE_HPET_RESUME = 0, + OLD_ICH_FORCE_HPET_RESUME = 1, + ICH_FORCE_HPET_RESUME = 2, + VT8237_FORCE_HPET_RESUME = 3, + NVIDIA_FORCE_HPET_RESUME = 4, + ATI_FORCE_HPET_RESUME = 5, +}; + +enum { + NO_USER_KERNEL = 0, + NO_USER_USER = 1, + NO_GUEST_HOST = 2, + NO_GUEST_GUEST = 3, + NO_CROSS_THREAD = 4, + NR_VECTOR_PARAMS = 5, +}; + +enum { + NSINDEX_SIG_LEN = 16, + NSINDEX_ALIGN = 256, + NSINDEX_SEQ_MASK = 3, + NSLABEL_UUID_LEN = 16, + NSLABEL_NAME_LEN = 64, + NSLABEL_FLAG_ROLABEL = 1, + NSLABEL_FLAG_LOCAL = 2, + NSLABEL_FLAG_BTT = 4, + NSLABEL_FLAG_UPDATING = 8, + BTT_ALIGN = 4096, + BTTINFO_SIG_LEN = 16, + BTTINFO_UUID_LEN = 16, + BTTINFO_FLAG_ERROR = 1, + BTTINFO_MAJOR_VERSION = 1, + ND_LABEL_MIN_SIZE = 1024, + ND_LABEL_ID_SIZE = 50, + ND_NSINDEX_INIT = 1, +}; + +enum { + NUM_TRIAL_SAMPLES = 8192, + MAX_SAMPLES_PER_BIT = 66, +}; + +enum { + NVMEM_ADD = 1, + NVMEM_REMOVE = 2, + NVMEM_CELL_ADD = 3, + NVMEM_CELL_REMOVE = 4, + NVMEM_LAYOUT_ADD = 5, + NVMEM_LAYOUT_REMOVE = 6, +}; + +enum { + NVME_AEN_BIT_NS_ATTR = 8, + NVME_AEN_BIT_FW_ACT = 9, + NVME_AEN_BIT_ANA_CHANGE = 11, + NVME_AEN_BIT_DISC_CHANGE = 31, +}; + +enum { + NVME_CC_ENABLE = 1, + NVME_CC_EN_SHIFT = 0, + NVME_CC_CSS_SHIFT = 4, + NVME_CC_CSS_MASK = 112, + NVME_CC_CSS_NVM = 0, + NVME_CC_CSS_CSI = 96, + NVME_CC_MPS_SHIFT = 7, + NVME_CC_MPS_MASK = 1920, + NVME_CC_AMS_SHIFT = 11, + NVME_CC_AMS_MASK = 14336, + NVME_CC_AMS_RR = 0, + NVME_CC_AMS_WRRU = 2048, + NVME_CC_AMS_VS = 14336, + NVME_CC_SHN_SHIFT = 14, + NVME_CC_SHN_MASK = 49152, + NVME_CC_SHN_NONE = 0, + NVME_CC_SHN_NORMAL = 16384, + NVME_CC_SHN_ABRUPT = 32768, + NVME_CC_IOSQES_SHIFT = 16, + NVME_CC_IOSQES_MASK = 983040, + NVME_CC_IOSQES = 393216, + NVME_CC_IOCQES_SHIFT = 20, + NVME_CC_IOCQES_MASK = 15728640, + NVME_CC_IOCQES = 4194304, + NVME_CC_CRIME = 16777216, +}; + +enum { + NVME_CSTS_RDY = 1, + NVME_CSTS_CFS = 2, + NVME_CSTS_NSSRO = 16, + NVME_CSTS_PP = 32, + NVME_CSTS_SHST_NORMAL = 0, + NVME_CSTS_SHST_OCCUR = 4, + NVME_CSTS_SHST_CMPLT = 8, + NVME_CSTS_SHST_MASK = 12, +}; + +enum { + NVME_REG_CAP = 0, + NVME_REG_VS = 8, + NVME_REG_INTMS = 12, + NVME_REG_INTMC = 16, + NVME_REG_CC = 20, + NVME_REG_CSTS = 28, + NVME_REG_NSSR = 32, + NVME_REG_AQA = 36, + NVME_REG_ASQ = 40, + NVME_REG_ACQ = 48, + NVME_REG_CMBLOC = 56, + NVME_REG_CMBSZ = 60, + NVME_REG_BPINFO = 64, + NVME_REG_BPRSEL = 68, + NVME_REG_BPMBL = 72, + NVME_REG_CMBMSC = 80, + NVME_REG_CRTO = 104, + NVME_REG_PMRCAP = 3584, + NVME_REG_PMRCTL = 3588, + NVME_REG_PMRSTS = 3592, + NVME_REG_PMREBS = 3596, + NVME_REG_PMRSWTP = 3600, + NVME_REG_DBS = 4096, +}; + +enum { + OD_NORMAL_SAMPLE = 0, + OD_SUB_SAMPLE = 1, +}; + +enum { + ONLINE_POLICY_CONTIG_ZONES = 0, + ONLINE_POLICY_AUTO_MOVABLE = 1, +}; + +enum { + OPT_SOURCE = 0, + OPT_SUBTYPE = 1, + OPT_FD = 2, + OPT_ROOTMODE = 3, + OPT_USER_ID = 4, + OPT_GROUP_ID = 5, + OPT_DEFAULT_PERMISSIONS = 6, + OPT_ALLOW_OTHER = 7, + OPT_MAX_READ = 8, + OPT_BLKSIZE = 9, + OPT_ERR = 10, +}; + +enum { + OPT_UID = 0, + OPT_GID = 1, + OPT_MODE = 2, + OPT_DELEGATE_CMDS = 3, + OPT_DELEGATE_MAPS = 4, + OPT_DELEGATE_PROGS = 5, + OPT_DELEGATE_ATTACHS = 6, +}; + +enum { + OVERRIDE_NONE = 0, + OVERRIDE_BASE = 1, + OVERRIDE_STRIDE = 2, + OVERRIDE_HEIGHT = 4, + OVERRIDE_WIDTH = 8, +}; + +enum { + Opt_bsd_df = 0, + Opt_minix_df = 1, + Opt_grpid = 2, + Opt_nogrpid = 3, + Opt_resgid = 4, + Opt_resuid = 5, + Opt_sb = 6, + Opt_nouid32 = 7, + Opt_debug = 8, + Opt_removed = 9, + Opt_user_xattr = 10, + Opt_acl = 11, + Opt_auto_da_alloc = 12, + Opt_noauto_da_alloc = 13, + Opt_noload = 14, + Opt_commit = 15, + Opt_min_batch_time = 16, + Opt_max_batch_time = 17, + Opt_journal_dev = 18, + Opt_journal_path = 19, + Opt_journal_checksum = 20, + Opt_journal_async_commit = 21, + Opt_abort = 22, + Opt_data_journal = 23, + Opt_data_ordered = 24, + Opt_data_writeback = 25, + Opt_data_err_abort = 26, + Opt_data_err_ignore = 27, + Opt_test_dummy_encryption = 28, + Opt_inlinecrypt = 29, + Opt_usrjquota = 30, + Opt_grpjquota = 31, + Opt_quota = 32, + Opt_noquota = 33, + Opt_barrier = 34, + Opt_nobarrier = 35, + Opt_err = 36, + Opt_usrquota = 37, + Opt_grpquota = 38, + Opt_prjquota = 39, + Opt_dax = 40, + Opt_dax_always = 41, + Opt_dax_inode = 42, + Opt_dax_never = 43, + Opt_stripe = 44, + Opt_delalloc = 45, + Opt_nodelalloc = 46, + Opt_warn_on_error = 47, + Opt_nowarn_on_error = 48, + Opt_mblk_io_submit = 49, + Opt_debug_want_extra_isize = 50, + Opt_nomblk_io_submit = 51, + Opt_block_validity = 52, + Opt_noblock_validity = 53, + Opt_inode_readahead_blks = 54, + Opt_journal_ioprio = 55, + Opt_dioread_nolock = 56, + Opt_dioread_lock = 57, + Opt_discard = 58, + Opt_nodiscard = 59, + Opt_init_itable = 60, + Opt_noinit_itable = 61, + Opt_max_dir_size_kb = 62, + Opt_nojournal_checksum = 63, + Opt_nombcache = 64, + Opt_no_prefetch_block_bitmaps = 65, + Opt_mb_optimize_scan = 66, + Opt_errors = 67, + Opt_data = 68, + Opt_data_err = 69, + Opt_jqfmt = 70, + Opt_dax_type = 71, +}; + +enum { + Opt_check = 0, + Opt_uid = 1, + Opt_gid = 2, + Opt_umask = 3, + Opt_dmask = 4, + Opt_fmask = 5, + Opt_allow_utime = 6, + Opt_codepage = 7, + Opt_usefree = 8, + Opt_nocase = 9, + Opt_quiet = 10, + Opt_showexec = 11, + Opt_debug___2 = 12, + Opt_immutable = 13, + Opt_dots = 14, + Opt_dotsOK = 15, + Opt_charset = 16, + Opt_shortname = 17, + Opt_utf8 = 18, + Opt_utf8_bool = 19, + Opt_uni_xl = 20, + Opt_uni_xl_bool = 21, + Opt_nonumtail = 22, + Opt_nonumtail_bool = 23, + Opt_obsolete = 24, + Opt_flush = 25, + Opt_tz = 26, + Opt_rodir = 27, + Opt_errors___2 = 28, + Opt_discard___2 = 29, + Opt_nfs = 30, + Opt_nfs_enum = 31, + Opt_time_offset = 32, + Opt_dos1xfloppy = 33, +}; + +enum { + Opt_default = 0, + Opt_ecryptfs = 1, + Opt_enc32 = 2, + Opt_error = 3, +}; + +enum { + Opt_err___2 = 0, + Opt_enc = 1, + Opt_hash = 2, +}; + +enum { + Opt_err___3 = 0, + Opt_new = 1, + Opt_load = 2, + Opt_update = 3, +}; + +enum { + Opt_err___4 = 0, + Opt_keyhandle = 1, + Opt_keyauth = 2, + Opt_blobauth = 3, + Opt_pcrinfo = 4, + Opt_pcrlock = 5, + Opt_migratable = 6, + Opt_hash___2 = 7, + Opt_policydigest = 8, + Opt_policyhandle = 9, +}; + +enum { + Opt_error___2 = -1, + Opt_fsdefault = 0, + Opt_fsfloor = 1, + Opt_fshat = 2, + Opt_fsroot = 3, + Opt_fstransmute = 4, +}; + +enum { + Opt_error___3 = -1, + Opt_context = 0, + Opt_defcontext = 1, + Opt_fscontext = 2, + Opt_rootcontext = 3, + Opt_seclabel = 4, +}; + +enum { + Opt_kmsg_bytes = 0, +}; + +enum { + Opt_new___2 = 0, + Opt_load___2 = 1, + Opt_update___2 = 2, + Opt_err___5 = 3, +}; + +enum { + Opt_sig = 0, + Opt_ecryptfs_sig = 1, + Opt_cipher = 2, + Opt_ecryptfs_cipher = 3, + Opt_ecryptfs_key_bytes = 4, + Opt_passthrough = 5, + Opt_xattr_metadata = 6, + Opt_encrypted_view = 7, + Opt_fnek_sig = 8, + Opt_fn_cipher = 9, + Opt_fn_cipher_key_bytes = 10, + Opt_unlink_sigs = 11, + Opt_mount_auth_tok_only = 12, + Opt_check_dev_ruid = 13, +}; + +enum { + Opt_uid___2 = 0, + Opt_gid___2 = 1, +}; + +enum { + Opt_uid___3 = 0, + Opt_gid___3 = 1, + Opt_mode = 2, +}; + +enum { + Opt_uid___4 = 0, + Opt_gid___4 = 1, + Opt_mode___2 = 2, + Opt_source = 3, +}; + +enum { + Opt_uid___5 = 0, + Opt_gid___5 = 1, + Opt_mode___3 = 2, + Opt_ptmxmode = 3, + Opt_newinstance = 4, + Opt_max = 5, + Opt_err___6 = 6, +}; + +enum { + PADDRW = 0, + PDATA = 4, + PPMASK = 8, + PADDRR = 12, + PIDXLO = 16, + PIDXHI = 20, + PIDXDATA = 24, + PIDXCTL = 28, +}; + +enum { + PAD_CONNECT_NONE = 0, + PAD_CONNECT_INPUT = 1, + PAD_CONNECT_OUTPUT = 2, + PAD_CONNECT_FULL = 3, +}; + +enum { + PAD_UNLOCKED = 0, + PAD_LOCKED = 1, + PAD_LOCKED_TX = 2, + PAD_LOCKED_FULL = 3, +}; + +enum { + PAGE_REPORTING_IDLE = 0, + PAGE_REPORTING_REQUESTED = 1, + PAGE_REPORTING_ACTIVE = 2, +}; + +enum { + PAGE_WAS_MAPPED = 1, + PAGE_WAS_MLOCKED = 2, + PAGE_OLD_STATES = 3, +}; + +enum { + PALMAS_EXT_CONTROL_ENABLE1 = 1, + PALMAS_EXT_CONTROL_ENABLE2 = 2, + PALMAS_EXT_CONTROL_NSLEEP = 4, +}; + +enum { + PARSE_INVALID = 1, + PARSE_NOT_LONGNAME = 2, + PARSE_EOF = 3, +}; + +enum { + PCI_REASSIGN_ALL_RSRC = 1, + PCI_REASSIGN_ALL_BUS = 2, + PCI_PROBE_ONLY = 4, + PCI_CAN_SKIP_ISA_ALIGN = 8, + PCI_ENABLE_PROC_DOMAINS = 16, + PCI_COMPAT_DOMAIN_0 = 32, + PCI_SCAN_ALL_PCIE_DEVS = 64, +}; + +enum { + PCI_STD_RESOURCES = 0, + PCI_STD_RESOURCE_END = 5, + PCI_ROM_RESOURCE = 6, + PCI_IOV_RESOURCES = 7, + PCI_IOV_RESOURCE_END = 12, + PCI_BRIDGE_RESOURCES = 13, + PCI_BRIDGE_RESOURCE_END = 16, + PCI_NUM_RESOURCES = 17, + DEVICE_COUNT_RESOURCE = 17, +}; + +enum { + PERCPU_REF_INIT_ATOMIC = 1, + PERCPU_REF_INIT_DEAD = 2, + PERCPU_REF_ALLOW_REINIT = 4, +}; + +enum { + PERF_BR_SPEC_NA = 0, + PERF_BR_SPEC_WRONG_PATH = 1, + PERF_BR_NON_SPEC_CORRECT_PATH = 2, + PERF_BR_SPEC_CORRECT_PATH = 3, + PERF_BR_SPEC_MAX = 4, +}; + +enum { + PERF_BR_UNKNOWN = 0, + PERF_BR_COND = 1, + PERF_BR_UNCOND = 2, + PERF_BR_IND = 3, + PERF_BR_CALL = 4, + PERF_BR_IND_CALL = 5, + PERF_BR_RET = 6, + PERF_BR_SYSCALL = 7, + PERF_BR_SYSRET = 8, + PERF_BR_COND_CALL = 9, + PERF_BR_COND_RET = 10, + PERF_BR_ERET = 11, + PERF_BR_IRQ = 12, + PERF_BR_SERROR = 13, + PERF_BR_NO_TX = 14, + PERF_BR_EXTEND_ABI = 15, + PERF_BR_MAX = 16, +}; + +enum { + PERF_TXN_ELISION = 1ULL, + PERF_TXN_TRANSACTION = 2ULL, + PERF_TXN_SYNC = 4ULL, + PERF_TXN_ASYNC = 8ULL, + PERF_TXN_RETRY = 16ULL, + PERF_TXN_CONFLICT = 32ULL, + PERF_TXN_CAPACITY_WRITE = 64ULL, + PERF_TXN_CAPACITY_READ = 128ULL, + PERF_TXN_MAX = 256ULL, + PERF_TXN_ABORT_MASK = 18446744069414584320ULL, + PERF_TXN_ABORT_SHIFT = 32ULL, +}; + +enum { + PERF_X86_EVENT_PEBS_LDLAT = 1, + PERF_X86_EVENT_PEBS_ST = 2, + PERF_X86_EVENT_PEBS_ST_HSW = 4, + PERF_X86_EVENT_PEBS_LD_HSW = 8, + PERF_X86_EVENT_PEBS_NA_HSW = 16, + PERF_X86_EVENT_EXCL = 32, + PERF_X86_EVENT_DYNAMIC = 64, + PERF_X86_EVENT_PEBS_CNTR = 128, + PERF_X86_EVENT_EXCL_ACCT = 256, + PERF_X86_EVENT_AUTO_RELOAD = 512, + PERF_X86_EVENT_LARGE_PEBS = 1024, + PERF_X86_EVENT_PEBS_VIA_PT = 2048, + PERF_X86_EVENT_PAIR = 4096, + PERF_X86_EVENT_LBR_SELECT = 8192, + PERF_X86_EVENT_TOPDOWN = 16384, + PERF_X86_EVENT_PEBS_STLAT = 32768, + PERF_X86_EVENT_AMD_BRS = 65536, + PERF_X86_EVENT_PEBS_LAT_HYBRID = 131072, + PERF_X86_EVENT_NEEDS_BRANCH_STACK = 262144, + PERF_X86_EVENT_BRANCH_COUNTERS = 524288, + PERF_X86_EVENT_ACR = 1048576, +}; + +enum { + PER_LINUX = 0, + PER_LINUX_32BIT = 8388608, + PER_LINUX_FDPIC = 524288, + PER_SVR4 = 68157441, + PER_SVR3 = 83886082, + PER_SCOSVR3 = 117440515, + PER_OSR5 = 100663299, + PER_WYSEV386 = 83886084, + PER_ISCR4 = 67108869, + PER_BSD = 6, + PER_SUNOS = 67108870, + PER_XENIX = 83886087, + PER_LINUX32 = 8, + PER_LINUX32_3GB = 134217736, + PER_IRIX32 = 67108873, + PER_IRIXN32 = 67108874, + PER_IRIX64 = 67108875, + PER_RISCOS = 12, + PER_SOLARIS = 67108877, + PER_UW7 = 68157454, + PER_OSF4 = 15, + PER_HPUX = 16, + PER_MASK = 255, +}; + +enum { + PIIX_IOCFG = 84, + ICH5_PMR = 144, + ICH5_PCS = 146, + PIIX_SIDPR_BAR = 5, + PIIX_SIDPR_LEN = 16, + PIIX_SIDPR_IDX = 0, + PIIX_SIDPR_DATA = 4, + PIIX_FLAG_CHECKINTR = 268435456, + PIIX_FLAG_SIDPR = 536870912, + PIIX_PATA_FLAGS = 1, + PIIX_SATA_FLAGS = 268435458, + PIIX_FLAG_PIO16 = 1073741824, + PIIX_80C_PRI = 48, + PIIX_80C_SEC = 192, + P0 = 0, + P1 = 1, + P2 = 2, + P3 = 3, + IDE = -1, + NA = -2, + RV = -3, + PIIX_AHCI_DEVICE = 6, + PIIX_HOST_BROKEN_SUSPEND = 16777216, +}; + +enum { + PIM_TYPE_HELLO = 0, + PIM_TYPE_REGISTER = 1, + PIM_TYPE_REGISTER_STOP = 2, + PIM_TYPE_JOIN_PRUNE = 3, + PIM_TYPE_BOOTSTRAP = 4, + PIM_TYPE_ASSERT = 5, + PIM_TYPE_GRAFT = 6, + PIM_TYPE_GRAFT_ACK = 7, + PIM_TYPE_CANDIDATE_RP_ADV = 8, +}; + +enum { + PLAT8250_DEV_LEGACY = -1, + PLAT8250_DEV_PLATFORM = 0, + PLAT8250_DEV_PLATFORM1 = 1, + PLAT8250_DEV_PLATFORM2 = 2, + PLAT8250_DEV_FOURPORT = 3, + PLAT8250_DEV_ACCENT = 4, + PLAT8250_DEV_BOCA = 5, + PLAT8250_DEV_EXAR_ST16C554 = 6, + PLAT8250_DEV_HUB6 = 7, + PLAT8250_DEV_AU1X00 = 8, + PLAT8250_DEV_SM501 = 9, +}; + +enum { + PM8607_IRQ_ONKEY = 0, + PM8607_IRQ_EXTON = 1, + PM8607_IRQ_CHG = 2, + PM8607_IRQ_BAT = 3, + PM8607_IRQ_RTC = 4, + PM8607_IRQ_CC = 5, + PM8607_IRQ_VBAT = 6, + PM8607_IRQ_VCHG = 7, + PM8607_IRQ_VSYS = 8, + PM8607_IRQ_TINT = 9, + PM8607_IRQ_GPADC0 = 10, + PM8607_IRQ_GPADC1 = 11, + PM8607_IRQ_GPADC2 = 12, + PM8607_IRQ_GPADC3 = 13, + PM8607_IRQ_AUDIO_SHORT = 14, + PM8607_IRQ_PEN = 15, + PM8607_IRQ_HEADSET = 16, + PM8607_IRQ_HOOK = 17, + PM8607_IRQ_MICIN = 18, + PM8607_IRQ_CHG_FAIL = 19, + PM8607_IRQ_CHG_DONE = 20, + PM8607_IRQ_CHG_FAULT = 21, +}; + +enum { + POLICYDB_CAP_NETPEER = 0, + POLICYDB_CAP_OPENPERM = 1, + POLICYDB_CAP_EXTSOCKCLASS = 2, + POLICYDB_CAP_ALWAYSNETWORK = 3, + POLICYDB_CAP_CGROUPSECLABEL = 4, + POLICYDB_CAP_NNP_NOSUID_TRANSITION = 5, + POLICYDB_CAP_GENFS_SECLABEL_SYMLINKS = 6, + POLICYDB_CAP_IOCTL_SKIP_CLOEXEC = 7, + POLICYDB_CAP_USERSPACE_INITIAL_CONTEXT = 8, + POLICYDB_CAP_NETLINK_XPERM = 9, + POLICYDB_CAP_NETIF_WILDCARD = 10, + POLICYDB_CAP_GENFS_SECLABEL_WILDCARD = 11, + __POLICYDB_CAP_MAX = 12, +}; + +enum { + POOL_BITS = 256, + POOL_READY_BITS = 256, + POOL_EARLY_BITS = 128, +}; + +enum { + POWERON_SECS = 3, +}; + +enum { + POWER_SUPPLY_CAPACITY_LEVEL_UNKNOWN = 0, + POWER_SUPPLY_CAPACITY_LEVEL_CRITICAL = 1, + POWER_SUPPLY_CAPACITY_LEVEL_LOW = 2, + POWER_SUPPLY_CAPACITY_LEVEL_NORMAL = 3, + POWER_SUPPLY_CAPACITY_LEVEL_HIGH = 4, + POWER_SUPPLY_CAPACITY_LEVEL_FULL = 5, +}; + +enum { + POWER_SUPPLY_HEALTH_UNKNOWN = 0, + POWER_SUPPLY_HEALTH_GOOD = 1, + POWER_SUPPLY_HEALTH_OVERHEAT = 2, + POWER_SUPPLY_HEALTH_DEAD = 3, + POWER_SUPPLY_HEALTH_OVERVOLTAGE = 4, + POWER_SUPPLY_HEALTH_UNDERVOLTAGE = 5, + POWER_SUPPLY_HEALTH_UNSPEC_FAILURE = 6, + POWER_SUPPLY_HEALTH_COLD = 7, + POWER_SUPPLY_HEALTH_WATCHDOG_TIMER_EXPIRE = 8, + POWER_SUPPLY_HEALTH_SAFETY_TIMER_EXPIRE = 9, + POWER_SUPPLY_HEALTH_OVERCURRENT = 10, + POWER_SUPPLY_HEALTH_CALIBRATION_REQUIRED = 11, + POWER_SUPPLY_HEALTH_WARM = 12, + POWER_SUPPLY_HEALTH_COOL = 13, + POWER_SUPPLY_HEALTH_HOT = 14, + POWER_SUPPLY_HEALTH_NO_BATTERY = 15, + POWER_SUPPLY_HEALTH_BLOWN_FUSE = 16, + POWER_SUPPLY_HEALTH_CELL_IMBALANCE = 17, +}; + +enum { + POWER_SUPPLY_SCOPE_UNKNOWN = 0, + POWER_SUPPLY_SCOPE_SYSTEM = 1, + POWER_SUPPLY_SCOPE_DEVICE = 2, +}; + +enum { + POWER_SUPPLY_STATUS_UNKNOWN = 0, + POWER_SUPPLY_STATUS_CHARGING = 1, + POWER_SUPPLY_STATUS_DISCHARGING = 2, + POWER_SUPPLY_STATUS_NOT_CHARGING = 3, + POWER_SUPPLY_STATUS_FULL = 4, +}; + +enum { + POWER_SUPPLY_TECHNOLOGY_UNKNOWN = 0, + POWER_SUPPLY_TECHNOLOGY_NiMH = 1, + POWER_SUPPLY_TECHNOLOGY_LION = 2, + POWER_SUPPLY_TECHNOLOGY_LIPO = 3, + POWER_SUPPLY_TECHNOLOGY_LiFe = 4, + POWER_SUPPLY_TECHNOLOGY_NiCd = 5, + POWER_SUPPLY_TECHNOLOGY_LiMn = 6, +}; + +enum { + PREFIX_UNSPEC = 0, + PREFIX_ADDRESS = 1, + PREFIX_CACHEINFO = 2, + __PREFIX_MAX = 3, +}; + +enum { + PROCESS_BPF_EXIT = 1, +}; + +enum { + PROCESS_SPIN_LOCK = 1, + PROCESS_RES_LOCK = 2, + PROCESS_LOCK_IRQ = 4, +}; + +enum { + PROC_ENTRY_PERMANENT = 1, + PROC_ENTRY_proc_read_iter = 2, + PROC_ENTRY_proc_compat_ioctl = 4, + PROC_ENTRY_proc_lseek = 8, + PROC_ENTRY_FORCE_LOOKUP = 128, +}; + +enum { + PROC_IPC_INIT_INO = 4026531839, + PROC_UTS_INIT_INO = 4026531838, + PROC_USER_INIT_INO = 4026531837, + PROC_PID_INIT_INO = 4026531836, + PROC_CGROUP_INIT_INO = 4026531835, + PROC_TIME_INIT_INO = 4026531834, + PROC_NET_INIT_INO = 4026531833, + PROC_MNT_INIT_INO = 4026531832, +}; + +enum { + PSS = 0, + PPC = 1, +}; + +enum { + PWMF_REQUESTED = 0, + PWMF_EXPORTED = 1, +}; + +enum { + QIF_BLIMITS_B = 0, + QIF_SPACE_B = 1, + QIF_ILIMITS_B = 2, + QIF_INODES_B = 3, + QIF_BTIME_B = 4, + QIF_ITIME_B = 5, +}; + +enum { + QI_FREE = 0, + QI_IN_USE = 1, + QI_DONE = 2, + QI_ABORT = 3, +}; + +enum { + QOS_ENABLE = 0, + QOS_CTRL = 1, + NR_QOS_CTRL_PARAMS = 2, +}; + +enum { + QOS_RPPM = 0, + QOS_RLAT = 1, + QOS_WPPM = 2, + QOS_WLAT = 3, + QOS_MIN = 4, + QOS_MAX = 5, + NR_QOS_PARAMS = 6, +}; + +enum { + QUEUE_FLAG_DYING = 0, + QUEUE_FLAG_NOMERGES = 1, + QUEUE_FLAG_SAME_COMP = 2, + QUEUE_FLAG_FAIL_IO = 3, + QUEUE_FLAG_NOXMERGES = 4, + QUEUE_FLAG_SAME_FORCE = 5, + QUEUE_FLAG_INIT_DONE = 6, + QUEUE_FLAG_STATS = 7, + QUEUE_FLAG_REGISTERED = 8, + QUEUE_FLAG_QUIESCED = 9, + QUEUE_FLAG_RQ_ALLOC_TIME = 10, + QUEUE_FLAG_HCTX_ACTIVE = 11, + QUEUE_FLAG_SQ_SCHED = 12, + QUEUE_FLAG_DISABLE_WBT_DEF = 13, + QUEUE_FLAG_NO_ELV_SWITCH = 14, + QUEUE_FLAG_QOS_ENABLED = 15, + QUEUE_FLAG_MAX = 16, +}; + +enum { + QUIRK_IGNORE_CHECKSUM = 0, +}; + +enum { + QUOTA_NL_A_UNSPEC = 0, + QUOTA_NL_A_QTYPE = 1, + QUOTA_NL_A_EXCESS_ID = 2, + QUOTA_NL_A_WARNING = 3, + QUOTA_NL_A_DEV_MAJOR = 4, + QUOTA_NL_A_DEV_MINOR = 5, + QUOTA_NL_A_CAUSED_ID = 6, + QUOTA_NL_A_PAD = 7, + __QUOTA_NL_A_MAX = 8, +}; + +enum { + QUOTA_NL_C_UNSPEC = 0, + QUOTA_NL_C_WARNING = 1, + __QUOTA_NL_C_MAX = 2, +}; + +enum { + Q_REQUEUE_PI_NONE = 0, + Q_REQUEUE_PI_IGNORE = 1, + Q_REQUEUE_PI_IN_PROGRESS = 2, + Q_REQUEUE_PI_WAIT = 3, + Q_REQUEUE_PI_DONE = 4, + Q_REQUEUE_PI_LOCKED = 5, +}; + +enum { + RADIX_TREE_ITER_TAG_MASK = 15, + RADIX_TREE_ITER_TAGGED = 16, + RADIX_TREE_ITER_CONTIG = 32, +}; + +enum { + RB_ADD_STAMP_NONE = 0, + RB_ADD_STAMP_EXTEND = 2, + RB_ADD_STAMP_ABSOLUTE = 4, + RB_ADD_STAMP_FORCE = 8, +}; + +enum { + RB_CTX_TRANSITION = 0, + RB_CTX_NMI = 1, + RB_CTX_IRQ = 2, + RB_CTX_SOFTIRQ = 3, + RB_CTX_NORMAL = 4, + RB_CTX_MAX = 5, +}; + +enum { + RB_LEN_TIME_EXTEND = 8, + RB_LEN_TIME_STAMP = 8, +}; + +enum { + RC5T583_DS_NONE = 0, + RC5T583_DS_DC0 = 1, + RC5T583_DS_DC1 = 2, + RC5T583_DS_DC2 = 3, + RC5T583_DS_DC3 = 4, + RC5T583_DS_LDO0 = 5, + RC5T583_DS_LDO1 = 6, + RC5T583_DS_LDO2 = 7, + RC5T583_DS_LDO3 = 8, + RC5T583_DS_LDO4 = 9, + RC5T583_DS_LDO5 = 10, + RC5T583_DS_LDO6 = 11, + RC5T583_DS_LDO7 = 12, + RC5T583_DS_LDO8 = 13, + RC5T583_DS_LDO9 = 14, + RC5T583_DS_PSO0 = 15, + RC5T583_DS_PSO1 = 16, + RC5T583_DS_PSO2 = 17, + RC5T583_DS_PSO3 = 18, + RC5T583_DS_PSO4 = 19, + RC5T583_DS_PSO5 = 20, + RC5T583_DS_PSO6 = 21, + RC5T583_DS_PSO7 = 22, + RC5T583_DS_MAX = 23, +}; + +enum { + RC5T583_EXT_PWRREQ1_CONTROL = 1, + RC5T583_EXT_PWRREQ2_CONTROL = 2, +}; + +enum { + RC5T583_GPIO0 = 0, + RC5T583_GPIO1 = 1, + RC5T583_GPIO2 = 2, + RC5T583_GPIO3 = 3, + RC5T583_GPIO4 = 4, + RC5T583_GPIO5 = 5, + RC5T583_GPIO6 = 6, + RC5T583_GPIO7 = 7, + RC5T583_MAX_GPIO = 8, +}; + +enum { + RC5T583_IRQ_ONKEY = 0, + RC5T583_IRQ_ACOK = 1, + RC5T583_IRQ_LIDOPEN = 2, + RC5T583_IRQ_PREOT = 3, + RC5T583_IRQ_CLKSTP = 4, + RC5T583_IRQ_ONKEY_OFF = 5, + RC5T583_IRQ_WD = 6, + RC5T583_IRQ_EN_PWRREQ1 = 7, + RC5T583_IRQ_EN_PWRREQ2 = 8, + RC5T583_IRQ_PRE_VINDET = 9, + RC5T583_IRQ_DC0LIM = 10, + RC5T583_IRQ_DC1LIM = 11, + RC5T583_IRQ_DC2LIM = 12, + RC5T583_IRQ_DC3LIM = 13, + RC5T583_IRQ_CTC = 14, + RC5T583_IRQ_YALE = 15, + RC5T583_IRQ_DALE = 16, + RC5T583_IRQ_WALE = 17, + RC5T583_IRQ_AIN1L = 18, + RC5T583_IRQ_AIN2L = 19, + RC5T583_IRQ_AIN3L = 20, + RC5T583_IRQ_VBATL = 21, + RC5T583_IRQ_VIN3L = 22, + RC5T583_IRQ_VIN8L = 23, + RC5T583_IRQ_AIN1H = 24, + RC5T583_IRQ_AIN2H = 25, + RC5T583_IRQ_AIN3H = 26, + RC5T583_IRQ_VBATH = 27, + RC5T583_IRQ_VIN3H = 28, + RC5T583_IRQ_VIN8H = 29, + RC5T583_IRQ_ADCEND = 30, + RC5T583_IRQ_GPIO0 = 31, + RC5T583_IRQ_GPIO1 = 32, + RC5T583_IRQ_GPIO2 = 33, + RC5T583_IRQ_GPIO3 = 34, + RC5T583_IRQ_GPIO4 = 35, + RC5T583_IRQ_GPIO5 = 36, + RC5T583_IRQ_GPIO6 = 37, + RC5T583_IRQ_GPIO7 = 38, + RC5T583_MAX_IRQS = 39, +}; + +enum { + RC5T583_REGULATOR_DC0 = 0, + RC5T583_REGULATOR_DC1 = 1, + RC5T583_REGULATOR_DC2 = 2, + RC5T583_REGULATOR_DC3 = 3, + RC5T583_REGULATOR_LDO0 = 4, + RC5T583_REGULATOR_LDO1 = 5, + RC5T583_REGULATOR_LDO2 = 6, + RC5T583_REGULATOR_LDO3 = 7, + RC5T583_REGULATOR_LDO4 = 8, + RC5T583_REGULATOR_LDO5 = 9, + RC5T583_REGULATOR_LDO6 = 10, + RC5T583_REGULATOR_LDO7 = 11, + RC5T583_REGULATOR_LDO8 = 12, + RC5T583_REGULATOR_LDO9 = 13, + RC5T583_REGULATOR_MAX = 14, +}; + +enum { + RCD = 0, + RCH_DP = 1, + DEVICE = 2, + LD = 3, + FMLD = 4, + RP = 5, + DSP = 6, + USP = 7, +}; + +enum { + RDT_FLAG_CMT = 0, + RDT_FLAG_MBM_TOTAL = 1, + RDT_FLAG_MBM_LOCAL = 2, + RDT_FLAG_L3_CAT = 3, + RDT_FLAG_L3_CDP = 4, + RDT_FLAG_L2_CAT = 5, + RDT_FLAG_L2_CDP = 6, + RDT_FLAG_MBA = 7, + RDT_FLAG_SMBA = 8, + RDT_FLAG_BMEC = 9, +}; + +enum { + REASON_BOUNDS = -1, + REASON_TYPE = -2, + REASON_PATHS = -3, + REASON_LIMIT = -4, + REASON_STACK = -5, +}; + +enum { + REGION_INTERSECTS = 0, + REGION_DISJOINT = 1, + REGION_MIXED = 2, +}; + +enum { + REGULATOR_ERROR_CLEARED = 0, + REGULATOR_FAILED_RETRY = 1, + REGULATOR_ERROR_ON = 2, +}; + +enum { + REG_GENL_ATTR_UNSPEC = 0, + REG_GENL_ATTR_EVENT = 1, + __REG_GENL_ATTR_MAX = 2, +}; + +enum { + REG_GENL_CMD_UNSPEC = 0, + REG_GENL_CMD_EVENT = 1, + __REG_GENL_CMD_MAX = 2, +}; + +enum { + RELAY_STATS_BUF_FULL = 1, + RELAY_STATS_WRT_BIG = 2, + RELAY_STATS_LAST = 2, +}; + +enum { + REQ_FSEQ_PREFLUSH = 1, + REQ_FSEQ_DATA = 2, + REQ_FSEQ_POSTFLUSH = 4, + REQ_FSEQ_DONE = 8, + REQ_FSEQ_ACTIONS = 7, + FLUSH_PENDING_TIMEOUT = 5000, +}; + +enum { + REQ_F_FIXED_FILE = 1ULL, + REQ_F_IO_DRAIN = 2ULL, + REQ_F_LINK = 4ULL, + REQ_F_HARDLINK = 8ULL, + REQ_F_FORCE_ASYNC = 16ULL, + REQ_F_BUFFER_SELECT = 32ULL, + REQ_F_CQE_SKIP = 64ULL, + REQ_F_FAIL = 256ULL, + REQ_F_INFLIGHT = 512ULL, + REQ_F_CUR_POS = 1024ULL, + REQ_F_NOWAIT = 2048ULL, + REQ_F_LINK_TIMEOUT = 4096ULL, + REQ_F_NEED_CLEANUP = 8192ULL, + REQ_F_POLLED = 16384ULL, + REQ_F_IOPOLL_STATE = 32768ULL, + REQ_F_BUFFER_SELECTED = 65536ULL, + REQ_F_BUFFER_RING = 131072ULL, + REQ_F_REISSUE = 262144ULL, + REQ_F_SUPPORT_NOWAIT = 536870912ULL, + REQ_F_ISREG = 1073741824ULL, + REQ_F_CREDS = 524288ULL, + REQ_F_REFCOUNT = 1048576ULL, + REQ_F_ARM_LTIMEOUT = 2097152ULL, + REQ_F_ASYNC_DATA = 4194304ULL, + REQ_F_SKIP_LINK_CQES = 8388608ULL, + REQ_F_SINGLE_POLL = 16777216ULL, + REQ_F_DOUBLE_POLL = 33554432ULL, + REQ_F_MULTISHOT = 67108864ULL, + REQ_F_APOLL_MULTISHOT = 134217728ULL, + REQ_F_CLEAR_POLLIN = 268435456ULL, + REQ_F_POLL_NO_LAZY = 2147483648ULL, + REQ_F_CAN_POLL = 4294967296ULL, + REQ_F_BL_EMPTY = 8589934592ULL, + REQ_F_BL_NO_RECYCLE = 17179869184ULL, + REQ_F_BUFFERS_COMMIT = 34359738368ULL, + REQ_F_BUF_NODE = 68719476736ULL, + REQ_F_HAS_METADATA = 137438953472ULL, + REQ_F_IMPORT_BUFFER = 274877906944ULL, + REQ_F_SQE_COPIED = 549755813888ULL, +}; + +enum { + REQ_F_FIXED_FILE_BIT = 0, + REQ_F_IO_DRAIN_BIT = 1, + REQ_F_LINK_BIT = 2, + REQ_F_HARDLINK_BIT = 3, + REQ_F_FORCE_ASYNC_BIT = 4, + REQ_F_BUFFER_SELECT_BIT = 5, + REQ_F_CQE_SKIP_BIT = 6, + REQ_F_FAIL_BIT = 8, + REQ_F_INFLIGHT_BIT = 9, + REQ_F_CUR_POS_BIT = 10, + REQ_F_NOWAIT_BIT = 11, + REQ_F_LINK_TIMEOUT_BIT = 12, + REQ_F_NEED_CLEANUP_BIT = 13, + REQ_F_POLLED_BIT = 14, + REQ_F_HYBRID_IOPOLL_STATE_BIT = 15, + REQ_F_BUFFER_SELECTED_BIT = 16, + REQ_F_BUFFER_RING_BIT = 17, + REQ_F_REISSUE_BIT = 18, + REQ_F_CREDS_BIT = 19, + REQ_F_REFCOUNT_BIT = 20, + REQ_F_ARM_LTIMEOUT_BIT = 21, + REQ_F_ASYNC_DATA_BIT = 22, + REQ_F_SKIP_LINK_CQES_BIT = 23, + REQ_F_SINGLE_POLL_BIT = 24, + REQ_F_DOUBLE_POLL_BIT = 25, + REQ_F_MULTISHOT_BIT = 26, + REQ_F_APOLL_MULTISHOT_BIT = 27, + REQ_F_CLEAR_POLLIN_BIT = 28, + REQ_F_SUPPORT_NOWAIT_BIT = 29, + REQ_F_ISREG_BIT = 30, + REQ_F_POLL_NO_LAZY_BIT = 31, + REQ_F_CAN_POLL_BIT = 32, + REQ_F_BL_EMPTY_BIT = 33, + REQ_F_BL_NO_RECYCLE_BIT = 34, + REQ_F_BUFFERS_COMMIT_BIT = 35, + REQ_F_BUF_NODE_BIT = 36, + REQ_F_HAS_METADATA_BIT = 37, + REQ_F_IMPORT_BUFFER_BIT = 38, + REQ_F_SQE_COPIED_BIT = 39, + __REQ_F_LAST_BIT = 40, +}; + +enum { + RES_USAGE = 0, + RES_RSVD_USAGE = 1, + RES_LIMIT = 2, + RES_RSVD_LIMIT = 3, + RES_MAX_USAGE = 4, + RES_RSVD_MAX_USAGE = 5, + RES_FAILCNT = 6, + RES_RSVD_FAILCNT = 7, +}; + +enum { + RES_USAGE___2 = 0, + RES_LIMIT___2 = 1, + RES_MAX_USAGE___2 = 2, + RES_FAILCNT___2 = 3, + RES_SOFT_LIMIT = 4, +}; + +enum { + RNG_SEED_LENGTH = 32, +}; + +enum { + RQ_WAIT_BUSY_PCT = 5, + UNBUSY_THR_PCT = 75, + MIN_DELAY_THR_PCT = 500, + MAX_DELAY_THR_PCT = 25000, + MIN_DELAY = 250, + MAX_DELAY = 250000, + DFGV_USAGE_PCT = 50, + DFGV_PERIOD = 100000, + MAX_LAGGING_PERIODS = 10, + IOC_PAGE_SHIFT = 12, + IOC_PAGE_SIZE = 4096, + IOC_SECT_TO_PAGE_SHIFT = 3, + LCOEF_RANDIO_PAGES = 4096, +}; + +enum { + RTAX_UNSPEC = 0, + RTAX_LOCK = 1, + RTAX_MTU = 2, + RTAX_WINDOW = 3, + RTAX_RTT = 4, + RTAX_RTTVAR = 5, + RTAX_SSTHRESH = 6, + RTAX_CWND = 7, + RTAX_ADVMSS = 8, + RTAX_REORDERING = 9, + RTAX_HOPLIMIT = 10, + RTAX_INITCWND = 11, + RTAX_FEATURES = 12, + RTAX_RTO_MIN = 13, + RTAX_INITRWND = 14, + RTAX_QUICKACK = 15, + RTAX_CC_ALGO = 16, + RTAX_FASTOPEN_NO_COOKIE = 17, + __RTAX_MAX = 18, +}; + +enum { + RTM_BASE = 16, + RTM_NEWLINK = 16, + RTM_DELLINK = 17, + RTM_GETLINK = 18, + RTM_SETLINK = 19, + RTM_NEWADDR = 20, + RTM_DELADDR = 21, + RTM_GETADDR = 22, + RTM_NEWROUTE = 24, + RTM_DELROUTE = 25, + RTM_GETROUTE = 26, + RTM_NEWNEIGH = 28, + RTM_DELNEIGH = 29, + RTM_GETNEIGH = 30, + RTM_NEWRULE = 32, + RTM_DELRULE = 33, + RTM_GETRULE = 34, + RTM_NEWQDISC = 36, + RTM_DELQDISC = 37, + RTM_GETQDISC = 38, + RTM_NEWTCLASS = 40, + RTM_DELTCLASS = 41, + RTM_GETTCLASS = 42, + RTM_NEWTFILTER = 44, + RTM_DELTFILTER = 45, + RTM_GETTFILTER = 46, + RTM_NEWACTION = 48, + RTM_DELACTION = 49, + RTM_GETACTION = 50, + RTM_NEWPREFIX = 52, + RTM_NEWMULTICAST = 56, + RTM_DELMULTICAST = 57, + RTM_GETMULTICAST = 58, + RTM_NEWANYCAST = 60, + RTM_DELANYCAST = 61, + RTM_GETANYCAST = 62, + RTM_NEWNEIGHTBL = 64, + RTM_GETNEIGHTBL = 66, + RTM_SETNEIGHTBL = 67, + RTM_NEWNDUSEROPT = 68, + RTM_NEWADDRLABEL = 72, + RTM_DELADDRLABEL = 73, + RTM_GETADDRLABEL = 74, + RTM_GETDCB = 78, + RTM_SETDCB = 79, + RTM_NEWNETCONF = 80, + RTM_DELNETCONF = 81, + RTM_GETNETCONF = 82, + RTM_NEWMDB = 84, + RTM_DELMDB = 85, + RTM_GETMDB = 86, + RTM_NEWNSID = 88, + RTM_DELNSID = 89, + RTM_GETNSID = 90, + RTM_NEWSTATS = 92, + RTM_GETSTATS = 94, + RTM_SETSTATS = 95, + RTM_NEWCACHEREPORT = 96, + RTM_NEWCHAIN = 100, + RTM_DELCHAIN = 101, + RTM_GETCHAIN = 102, + RTM_NEWNEXTHOP = 104, + RTM_DELNEXTHOP = 105, + RTM_GETNEXTHOP = 106, + RTM_NEWLINKPROP = 108, + RTM_DELLINKPROP = 109, + RTM_GETLINKPROP = 110, + RTM_NEWVLAN = 112, + RTM_DELVLAN = 113, + RTM_GETVLAN = 114, + RTM_NEWNEXTHOPBUCKET = 116, + RTM_DELNEXTHOPBUCKET = 117, + RTM_GETNEXTHOPBUCKET = 118, + RTM_NEWTUNNEL = 120, + RTM_DELTUNNEL = 121, + RTM_GETTUNNEL = 122, + __RTM_MAX = 123, +}; + +enum { + RTN_UNSPEC = 0, + RTN_UNICAST = 1, + RTN_LOCAL = 2, + RTN_BROADCAST = 3, + RTN_ANYCAST = 4, + RTN_MULTICAST = 5, + RTN_BLACKHOLE = 6, + RTN_UNREACHABLE = 7, + RTN_PROHIBIT = 8, + RTN_THROW = 9, + RTN_NAT = 10, + RTN_XRESOLVE = 11, + __RTN_MAX = 12, +}; + +enum { + RWB_DEF_DEPTH = 16, + RWB_WINDOW_NSEC = 100000000, + RWB_MIN_WRITE_SAMPLES = 3, + RWB_UNKNOWN_BUMP = 5, +}; + +enum { + Root_NFS = 255, + Root_CIFS = 254, + Root_Generic = 253, + Root_RAM0 = 1048576, +}; + +enum { + S1SA = 0, + S2SA = 1, + SP = 2, + DSA = 3, + CNT = 4, + DP_OCTL = 5, + CLR = 6, + BI = 8, + MBC = 9, + BLTCTL = 10, + HES = 12, + HEB = 13, + HSB = 14, + HT = 15, + VES = 16, + VEB = 17, + VSB = 18, + VT = 19, + HCIV = 20, + VCIV = 21, + TCDR = 22, + VIL = 23, + STGCTL = 24, + SSR = 25, + HRIR = 26, + SPR = 27, + CMR = 28, + SRGCTL = 29, + RRCIV = 30, + RRSC = 31, + RRCR = 34, + GIOE = 32, + GIO = 33, + SCR = 35, + SSTATUS = 36, + PRC = 37, +}; + +enum { + SAMPLES = 8, + MIN_CHANGE = 5, +}; + +enum { + SB_UNFROZEN = 0, + SB_FREEZE_WRITE = 1, + SB_FREEZE_PAGEFAULT = 2, + SB_FREEZE_FS = 3, + SB_FREEZE_COMPLETE = 4, +}; + +enum { + SCM_TSTAMP_SND = 0, + SCM_TSTAMP_SCHED = 1, + SCM_TSTAMP_ACK = 2, + SCM_TSTAMP_COMPLETION = 3, +}; + +enum { + SCSI_DH_OK = 0, + SCSI_DH_DEV_FAILED = 1, + SCSI_DH_DEV_TEMP_BUSY = 2, + SCSI_DH_DEV_UNSUPP = 3, + SCSI_DH_DEVICE_MAX = 4, + SCSI_DH_NOTCONN = 5, + SCSI_DH_CONN_FAILURE = 6, + SCSI_DH_TRANSPORT_MAX = 7, + SCSI_DH_IO = 8, + SCSI_DH_INVALID_IO = 9, + SCSI_DH_RETRY = 10, + SCSI_DH_IMM_RETRY = 11, + SCSI_DH_TIMED_OUT = 12, + SCSI_DH_RES_TEMP_UNAVAIL = 13, + SCSI_DH_DEV_OFFLINED = 14, + SCSI_DH_NOMEM = 15, + SCSI_DH_NOSYS = 16, + SCSI_DH_DRIVER_MAX = 17, +}; + +enum { + SCTP_AUTH_HMAC_ID_RESERVED_0 = 0, + SCTP_AUTH_HMAC_ID_SHA1 = 1, + SCTP_AUTH_HMAC_ID_RESERVED_2 = 2, + SCTP_AUTH_HMAC_ID_SHA256 = 3, + __SCTP_AUTH_HMAC_MAX = 4, +}; + +enum { + SCTP_MAX_DUP_TSNS = 16, +}; + +enum { + SCTP_MAX_STREAM = 65535, +}; + +enum { + SD_BALANCE_NEWIDLE = 1, + SD_BALANCE_EXEC = 2, + SD_BALANCE_FORK = 4, + SD_BALANCE_WAKE = 8, + SD_WAKE_AFFINE = 16, + SD_ASYM_CPUCAPACITY = 32, + SD_ASYM_CPUCAPACITY_FULL = 64, + SD_SHARE_CPUCAPACITY = 128, + SD_CLUSTER = 256, + SD_SHARE_LLC = 512, + SD_SERIALIZE = 1024, + SD_ASYM_PACKING = 2048, + SD_PREFER_SIBLING = 4096, + SD_NUMA = 8192, +}; + +enum { + SD_DEF_XFER_BLOCKS = 65535, + SD_MAX_XFER_BLOCKS = 4294967295, + SD_MAX_WS10_BLOCKS = 65535, + SD_MAX_WS16_BLOCKS = 8388607, +}; + +enum { + SD_EXT_CDB_SIZE = 32, + SD_MEMPOOL_SIZE = 2, +}; + +enum { + SD_LBP_FULL = 0, + SD_LBP_UNMAP = 1, + SD_LBP_WS16 = 2, + SD_LBP_WS10 = 3, + SD_LBP_ZERO = 4, + SD_LBP_DISABLE = 5, +}; + +enum { + SD_ZERO_WRITE = 0, + SD_ZERO_WS = 1, + SD_ZERO_WS16_UNMAP = 2, + SD_ZERO_WS10_UNMAP = 3, +}; + +enum { + SEAL_keytype = 1, + SRK_keytype = 4, +}; + +enum { + SECTION_MARKED_PRESENT_BIT = 0, + SECTION_HAS_MEM_MAP_BIT = 1, + SECTION_IS_ONLINE_BIT = 2, + SECTION_IS_EARLY_BIT = 3, + SECTION_TAINT_ZONE_DEVICE_BIT = 4, + SECTION_IS_VMEMMAP_PREINIT_BIT = 5, + SECTION_MAP_LAST_BIT = 6, +}; + +enum { + SEG6_ATTR_UNSPEC = 0, + SEG6_ATTR_DST = 1, + SEG6_ATTR_DSTLEN = 2, + SEG6_ATTR_HMACKEYID = 3, + SEG6_ATTR_SECRET = 4, + SEG6_ATTR_SECRETLEN = 5, + SEG6_ATTR_ALGID = 6, + SEG6_ATTR_HMACINFO = 7, + __SEG6_ATTR_MAX = 8, +}; + +enum { + SEG6_CMD_UNSPEC = 0, + SEG6_CMD_SETHMAC = 1, + SEG6_CMD_DUMPHMAC = 2, + SEG6_CMD_SET_TUNSRC = 3, + SEG6_CMD_GET_TUNSRC = 4, + __SEG6_CMD_MAX = 5, +}; + +enum { + SEG6_HMAC_ALGO_SHA1 = 1, + SEG6_HMAC_ALGO_SHA256 = 2, +}; + +enum { + SEG6_IPTUNNEL_UNSPEC = 0, + SEG6_IPTUNNEL_SRH = 1, + __SEG6_IPTUNNEL_MAX = 2, +}; + +enum { + SEG6_IPTUN_MODE_INLINE = 0, + SEG6_IPTUN_MODE_ENCAP = 1, + SEG6_IPTUN_MODE_L2ENCAP = 2, + SEG6_IPTUN_MODE_ENCAP_RED = 3, + SEG6_IPTUN_MODE_L2ENCAP_RED = 4, +}; + +enum { + SEG6_LOCAL_ACTION_UNSPEC = 0, + SEG6_LOCAL_ACTION_END = 1, + SEG6_LOCAL_ACTION_END_X = 2, + SEG6_LOCAL_ACTION_END_T = 3, + SEG6_LOCAL_ACTION_END_DX2 = 4, + SEG6_LOCAL_ACTION_END_DX6 = 5, + SEG6_LOCAL_ACTION_END_DX4 = 6, + SEG6_LOCAL_ACTION_END_DT6 = 7, + SEG6_LOCAL_ACTION_END_DT4 = 8, + SEG6_LOCAL_ACTION_END_B6 = 9, + SEG6_LOCAL_ACTION_END_B6_ENCAP = 10, + SEG6_LOCAL_ACTION_END_BM = 11, + SEG6_LOCAL_ACTION_END_S = 12, + SEG6_LOCAL_ACTION_END_AS = 13, + SEG6_LOCAL_ACTION_END_AM = 14, + SEG6_LOCAL_ACTION_END_BPF = 15, + SEG6_LOCAL_ACTION_END_DT46 = 16, + __SEG6_LOCAL_ACTION_MAX = 17, +}; + +enum { + SEG6_LOCAL_BPF_PROG_UNSPEC = 0, + SEG6_LOCAL_BPF_PROG = 1, + SEG6_LOCAL_BPF_PROG_NAME = 2, + __SEG6_LOCAL_BPF_PROG_MAX = 3, +}; + +enum { + SEG6_LOCAL_CNT_UNSPEC = 0, + SEG6_LOCAL_CNT_PAD = 1, + SEG6_LOCAL_CNT_PACKETS = 2, + SEG6_LOCAL_CNT_BYTES = 3, + SEG6_LOCAL_CNT_ERRORS = 4, + __SEG6_LOCAL_CNT_MAX = 5, +}; + +enum { + SEG6_LOCAL_FLV_OP_UNSPEC = 0, + SEG6_LOCAL_FLV_OP_PSP = 1, + SEG6_LOCAL_FLV_OP_USP = 2, + SEG6_LOCAL_FLV_OP_USD = 3, + SEG6_LOCAL_FLV_OP_NEXT_CSID = 4, + __SEG6_LOCAL_FLV_OP_MAX = 5, +}; + +enum { + SEG6_LOCAL_FLV_UNSPEC = 0, + SEG6_LOCAL_FLV_OPERATION = 1, + SEG6_LOCAL_FLV_LCBLOCK_BITS = 2, + SEG6_LOCAL_FLV_LCNODE_FN_BITS = 3, + __SEG6_LOCAL_FLV_MAX = 4, +}; + +enum { + SEG6_LOCAL_UNSPEC = 0, + SEG6_LOCAL_ACTION = 1, + SEG6_LOCAL_SRH = 2, + SEG6_LOCAL_TABLE = 3, + SEG6_LOCAL_NH4 = 4, + SEG6_LOCAL_NH6 = 5, + SEG6_LOCAL_IIF = 6, + SEG6_LOCAL_OIF = 7, + SEG6_LOCAL_BPF = 8, + SEG6_LOCAL_VRFTABLE = 9, + SEG6_LOCAL_COUNTERS = 10, + SEG6_LOCAL_FLAVORS = 11, + __SEG6_LOCAL_MAX = 12, +}; + +enum { + SELNL_MSG_SETENFORCE = 16, + SELNL_MSG_POLICYLOAD = 17, + SELNL_MSG_MAX = 18, +}; + +enum { + SEV_RET_NO_FW_CALL = -1, + SEV_RET_SUCCESS = 0, + SEV_RET_INVALID_PLATFORM_STATE = 1, + SEV_RET_INVALID_GUEST_STATE = 2, + SEV_RET_INAVLID_CONFIG = 3, + SEV_RET_INVALID_CONFIG = 3, + SEV_RET_INVALID_LEN = 4, + SEV_RET_ALREADY_OWNED = 5, + SEV_RET_INVALID_CERTIFICATE = 6, + SEV_RET_POLICY_FAILURE = 7, + SEV_RET_INACTIVE = 8, + SEV_RET_INVALID_ADDRESS = 9, + SEV_RET_BAD_SIGNATURE = 10, + SEV_RET_BAD_MEASUREMENT = 11, + SEV_RET_ASID_OWNED = 12, + SEV_RET_INVALID_ASID = 13, + SEV_RET_WBINVD_REQUIRED = 14, + SEV_RET_DFFLUSH_REQUIRED = 15, + SEV_RET_INVALID_GUEST = 16, + SEV_RET_INVALID_COMMAND = 17, + SEV_RET_ACTIVE = 18, + SEV_RET_HWSEV_RET_PLATFORM = 19, + SEV_RET_HWSEV_RET_UNSAFE = 20, + SEV_RET_UNSUPPORTED = 21, + SEV_RET_INVALID_PARAM = 22, + SEV_RET_RESOURCE_LIMIT = 23, + SEV_RET_SECURE_DATA_INVALID = 24, + SEV_RET_INVALID_PAGE_SIZE = 25, + SEV_RET_INVALID_PAGE_STATE = 26, + SEV_RET_INVALID_MDATA_ENTRY = 27, + SEV_RET_INVALID_PAGE_OWNER = 28, + SEV_RET_AEAD_OFLOW = 29, + SEV_RET_EXIT_RING_BUFFER = 31, + SEV_RET_RMP_INIT_REQUIRED = 32, + SEV_RET_BAD_SVN = 33, + SEV_RET_BAD_VERSION = 34, + SEV_RET_SHUTDOWN_REQUIRED = 35, + SEV_RET_UPDATE_FAILED = 36, + SEV_RET_RESTORE_REQUIRED = 37, + SEV_RET_RMP_INITIALIZATION_FAILED = 38, + SEV_RET_INVALID_KEY = 39, + SEV_RET_MAX = 40, +}; + +enum { + SFF8024_ID_UNK = 0, + SFF8024_ID_SFF_8472 = 2, + SFF8024_ID_SFP = 3, + SFF8024_ID_DWDM_SFP = 11, + SFF8024_ID_QSFP_8438 = 12, + SFF8024_ID_QSFP_8436_8636 = 13, + SFF8024_ID_QSFP28_8636 = 17, + SFF8024_ID_QSFP_DD = 24, + SFF8024_ID_OSFP = 25, + SFF8024_ID_DSFP = 27, + SFF8024_ID_QSFP_PLUS_CMIS = 30, + SFF8024_ID_SFP_DD_CMIS = 31, + SFF8024_ID_SFP_PLUS_CMIS = 32, + SFF8024_ENCODING_UNSPEC = 0, + SFF8024_ENCODING_8B10B = 1, + SFF8024_ENCODING_4B5B = 2, + SFF8024_ENCODING_NRZ = 3, + SFF8024_ENCODING_8472_MANCHESTER = 4, + SFF8024_ENCODING_8472_SONET = 5, + SFF8024_ENCODING_8472_64B66B = 6, + SFF8024_ENCODING_8436_MANCHESTER = 6, + SFF8024_ENCODING_8436_SONET = 4, + SFF8024_ENCODING_8436_64B66B = 5, + SFF8024_ENCODING_256B257B = 7, + SFF8024_ENCODING_PAM4 = 8, + SFF8024_CONNECTOR_UNSPEC = 0, + SFF8024_CONNECTOR_SC = 1, + SFF8024_CONNECTOR_FIBERJACK = 6, + SFF8024_CONNECTOR_LC = 7, + SFF8024_CONNECTOR_MT_RJ = 8, + SFF8024_CONNECTOR_MU = 9, + SFF8024_CONNECTOR_SG = 10, + SFF8024_CONNECTOR_OPTICAL_PIGTAIL = 11, + SFF8024_CONNECTOR_MPO_1X12 = 12, + SFF8024_CONNECTOR_MPO_2X16 = 13, + SFF8024_CONNECTOR_HSSDC_II = 32, + SFF8024_CONNECTOR_COPPER_PIGTAIL = 33, + SFF8024_CONNECTOR_RJ45 = 34, + SFF8024_CONNECTOR_NOSEPARATE = 35, + SFF8024_CONNECTOR_MXC_2X16 = 36, + SFF8024_ECC_UNSPEC = 0, + SFF8024_ECC_100G_25GAUI_C2M_AOC = 1, + SFF8024_ECC_100GBASE_SR4_25GBASE_SR = 2, + SFF8024_ECC_100GBASE_LR4_25GBASE_LR = 3, + SFF8024_ECC_100GBASE_ER4_25GBASE_ER = 4, + SFF8024_ECC_100GBASE_SR10 = 5, + SFF8024_ECC_100GBASE_CR4 = 11, + SFF8024_ECC_25GBASE_CR_S = 12, + SFF8024_ECC_25GBASE_CR_N = 13, + SFF8024_ECC_10GBASE_T_SFI = 22, + SFF8024_ECC_10GBASE_T_SR = 28, + SFF8024_ECC_5GBASE_T = 29, + SFF8024_ECC_2_5GBASE_T = 30, +}; + +enum { + SFP_PHYS_ID = 0, + SFP_PHYS_EXT_ID = 1, + SFP_PHYS_EXT_ID_SFP = 4, + SFP_CONNECTOR = 2, + SFP_COMPLIANCE = 3, + SFP_ENCODING = 11, + SFP_BR_NOMINAL = 12, + SFP_RATE_ID = 13, + SFF_RID_8079 = 1, + SFF_RID_8431_RX_ONLY = 2, + SFF_RID_8431_TX_ONLY = 4, + SFF_RID_8431 = 6, + SFF_RID_10G8G = 14, + SFP_LINK_LEN_SM_KM = 14, + SFP_LINK_LEN_SM_100M = 15, + SFP_LINK_LEN_50UM_OM2_10M = 16, + SFP_LINK_LEN_62_5UM_OM1_10M = 17, + SFP_LINK_LEN_COPPER_1M = 18, + SFP_LINK_LEN_50UM_OM4_10M = 18, + SFP_LINK_LEN_50UM_OM3_10M = 19, + SFP_VENDOR_NAME = 20, + SFP_VENDOR_OUI = 37, + SFP_VENDOR_PN = 40, + SFP_VENDOR_REV = 56, + SFP_OPTICAL_WAVELENGTH_MSB = 60, + SFP_OPTICAL_WAVELENGTH_LSB = 61, + SFP_CABLE_SPEC = 60, + SFP_CC_BASE = 63, + SFP_OPTIONS = 64, + SFP_OPTIONS_HIGH_POWER_LEVEL = 8192, + SFP_OPTIONS_PAGING_A2 = 4096, + SFP_OPTIONS_RETIMER = 2048, + SFP_OPTIONS_COOLED_XCVR = 1024, + SFP_OPTIONS_POWER_DECL = 512, + SFP_OPTIONS_RX_LINEAR_OUT = 256, + SFP_OPTIONS_RX_DECISION_THRESH = 128, + SFP_OPTIONS_TUNABLE_TX = 64, + SFP_OPTIONS_RATE_SELECT = 32, + SFP_OPTIONS_TX_DISABLE = 16, + SFP_OPTIONS_TX_FAULT = 8, + SFP_OPTIONS_LOS_INVERTED = 4, + SFP_OPTIONS_LOS_NORMAL = 2, + SFP_BR_MAX = 66, + SFP_BR_MIN = 67, + SFP_VENDOR_SN = 68, + SFP_DATECODE = 84, + SFP_DIAGMON = 92, + SFP_DIAGMON_DDM = 64, + SFP_DIAGMON_INT_CAL = 32, + SFP_DIAGMON_EXT_CAL = 16, + SFP_DIAGMON_RXPWR_AVG = 8, + SFP_DIAGMON_ADDRMODE = 4, + SFP_ENHOPTS = 93, + SFP_ENHOPTS_ALARMWARN = 128, + SFP_ENHOPTS_SOFT_TX_DISABLE = 64, + SFP_ENHOPTS_SOFT_TX_FAULT = 32, + SFP_ENHOPTS_SOFT_RX_LOS = 16, + SFP_ENHOPTS_SOFT_RATE_SELECT = 8, + SFP_ENHOPTS_APP_SELECT_SFF8079 = 4, + SFP_ENHOPTS_SOFT_RATE_SFF8431 = 2, + SFP_SFF8472_COMPLIANCE = 94, + SFP_SFF8472_COMPLIANCE_NONE = 0, + SFP_SFF8472_COMPLIANCE_REV9_3 = 1, + SFP_SFF8472_COMPLIANCE_REV9_5 = 2, + SFP_SFF8472_COMPLIANCE_REV10_2 = 3, + SFP_SFF8472_COMPLIANCE_REV10_4 = 4, + SFP_SFF8472_COMPLIANCE_REV11_0 = 5, + SFP_SFF8472_COMPLIANCE_REV11_3 = 6, + SFP_SFF8472_COMPLIANCE_REV11_4 = 7, + SFP_SFF8472_COMPLIANCE_REV12_0 = 8, + SFP_CC_EXT = 95, +}; + +enum { + SKBFL_ZEROCOPY_ENABLE = 1, + SKBFL_SHARED_FRAG = 2, + SKBFL_PURE_ZEROCOPY = 4, + SKBFL_DONT_ORPHAN = 8, + SKBFL_MANAGED_FRAG_REFS = 16, +}; + +enum { + SKBTX_HW_TSTAMP_NOBPF = 1, + SKBTX_SW_TSTAMP = 2, + SKBTX_IN_PROGRESS = 4, + SKBTX_COMPLETION_TSTAMP = 8, + SKBTX_HW_TSTAMP_NETDEV = 32, + SKBTX_SCHED_TSTAMP = 64, + SKBTX_BPF = 128, +}; + +enum { + SKB_FCLONE_UNAVAILABLE = 0, + SKB_FCLONE_ORIG = 1, + SKB_FCLONE_CLONE = 2, +}; + +enum { + SKB_GSO_TCPV4 = 1, + SKB_GSO_DODGY = 2, + SKB_GSO_TCP_ECN = 4, + SKB_GSO_TCP_FIXEDID = 8, + SKB_GSO_TCPV6 = 16, + SKB_GSO_FCOE = 32, + SKB_GSO_GRE = 64, + SKB_GSO_GRE_CSUM = 128, + SKB_GSO_IPXIP4 = 256, + SKB_GSO_IPXIP6 = 512, + SKB_GSO_UDP_TUNNEL = 1024, + SKB_GSO_UDP_TUNNEL_CSUM = 2048, + SKB_GSO_PARTIAL = 4096, + SKB_GSO_TUNNEL_REMCSUM = 8192, + SKB_GSO_SCTP = 16384, + SKB_GSO_ESP = 32768, + SKB_GSO_UDP = 65536, + SKB_GSO_UDP_L4 = 131072, + SKB_GSO_FRAGLIST = 262144, + SKB_GSO_TCP_ACCECN = 524288, +}; + +enum { + SKCIPHER_WALK_SLOW = 1, + SKCIPHER_WALK_COPY = 2, + SKCIPHER_WALK_DIFF = 4, + SKCIPHER_WALK_SLEEP = 8, +}; + +enum { + SKX_PCI_UNCORE_IMC = 0, + SKX_PCI_UNCORE_M2M = 1, + SKX_PCI_UNCORE_UPI = 2, + SKX_PCI_UNCORE_M2PCIE = 3, + SKX_PCI_UNCORE_M3UPI = 4, +}; + +enum { + SK_BPF_CB_TX_TIMESTAMPING = 1, + SK_BPF_CB_MASK = 1, +}; + +enum { + SK_DIAG_BPF_STORAGE_NONE = 0, + SK_DIAG_BPF_STORAGE_PAD = 1, + SK_DIAG_BPF_STORAGE_MAP_ID = 2, + SK_DIAG_BPF_STORAGE_MAP_VALUE = 3, + __SK_DIAG_BPF_STORAGE_MAX = 4, +}; + +enum { + SK_DIAG_BPF_STORAGE_REP_NONE = 0, + SK_DIAG_BPF_STORAGE = 1, + __SK_DIAG_BPF_STORAGE_REP_MAX = 2, +}; + +enum { + SK_DIAG_BPF_STORAGE_REQ_NONE = 0, + SK_DIAG_BPF_STORAGE_REQ_MAP_FD = 1, + __SK_DIAG_BPF_STORAGE_REQ_MAX = 2, +}; + +enum { + SK_MEMINFO_RMEM_ALLOC = 0, + SK_MEMINFO_RCVBUF = 1, + SK_MEMINFO_WMEM_ALLOC = 2, + SK_MEMINFO_SNDBUF = 3, + SK_MEMINFO_FWD_ALLOC = 4, + SK_MEMINFO_WMEM_QUEUED = 5, + SK_MEMINFO_OPTMEM = 6, + SK_MEMINFO_BACKLOG = 7, + SK_MEMINFO_DROPS = 8, + SK_MEMINFO_VARS = 9, +}; + +enum { + SNBEP_PCI_QPI_PORT0_FILTER = 0, + SNBEP_PCI_QPI_PORT1_FILTER = 1, + BDX_PCI_QPI_PORT2_FILTER = 2, +}; + +enum { + SNBEP_PCI_UNCORE_HA = 0, + SNBEP_PCI_UNCORE_IMC = 1, + SNBEP_PCI_UNCORE_QPI = 2, + SNBEP_PCI_UNCORE_R2PCIE = 3, + SNBEP_PCI_UNCORE_R3QPI = 4, +}; + +enum { + SNB_PCI_UNCORE_IMC = 0, +}; + +enum { + SNR_PCI_UNCORE_M2M = 0, + SNR_PCI_UNCORE_PCIE3 = 1, +}; + +enum { + SNR_QAT_PMON_ID = 0, + SNR_CBDMA_DMI_PMON_ID = 1, + SNR_NIS_PMON_ID = 2, + SNR_DLB_PMON_ID = 3, + SNR_PCIE_GEN3_PMON_ID = 4, +}; + +enum { + SOCK_WAKE_IO = 0, + SOCK_WAKE_WAITD = 1, + SOCK_WAKE_SPACE = 2, + SOCK_WAKE_URG = 3, +}; + +enum { + SOF_TIMESTAMPING_TX_HARDWARE = 1, + SOF_TIMESTAMPING_TX_SOFTWARE = 2, + SOF_TIMESTAMPING_RX_HARDWARE = 4, + SOF_TIMESTAMPING_RX_SOFTWARE = 8, + SOF_TIMESTAMPING_SOFTWARE = 16, + SOF_TIMESTAMPING_SYS_HARDWARE = 32, + SOF_TIMESTAMPING_RAW_HARDWARE = 64, + SOF_TIMESTAMPING_OPT_ID = 128, + SOF_TIMESTAMPING_TX_SCHED = 256, + SOF_TIMESTAMPING_TX_ACK = 512, + SOF_TIMESTAMPING_OPT_CMSG = 1024, + SOF_TIMESTAMPING_OPT_TSONLY = 2048, + SOF_TIMESTAMPING_OPT_STATS = 4096, + SOF_TIMESTAMPING_OPT_PKTINFO = 8192, + SOF_TIMESTAMPING_OPT_TX_SWHW = 16384, + SOF_TIMESTAMPING_BIND_PHC = 32768, + SOF_TIMESTAMPING_OPT_ID_TCP = 65536, + SOF_TIMESTAMPING_OPT_RX_FILTER = 131072, + SOF_TIMESTAMPING_TX_COMPLETION = 262144, + SOF_TIMESTAMPING_LAST = 262144, + SOF_TIMESTAMPING_MASK = 524287, +}; + +enum { + SR_DMAR_FECTL_REG = 0, + SR_DMAR_FEDATA_REG = 1, + SR_DMAR_FEADDR_REG = 2, + SR_DMAR_FEUADDR_REG = 3, + MAX_SR_DMAR_REGS = 4, +}; + +enum { + SUN_WHOLE_DISK = 5, + LINUX_RAID_PARTITION___2 = 253, +}; + +enum { + SWITCHTEC_GAS_MRPC_OFFSET = 0, + SWITCHTEC_GAS_TOP_CFG_OFFSET = 4096, + SWITCHTEC_GAS_SW_EVENT_OFFSET = 6144, + SWITCHTEC_GAS_SYS_INFO_OFFSET = 8192, + SWITCHTEC_GAS_FLASH_INFO_OFFSET = 8704, + SWITCHTEC_GAS_PART_CFG_OFFSET = 16384, + SWITCHTEC_GAS_NTB_OFFSET = 65536, + SWITCHTEC_GAS_PFF_CSR_OFFSET = 1261568, +}; + +enum { + SWITCHTEC_NTB_REG_INFO_OFFSET = 0, + SWITCHTEC_NTB_REG_CTRL_OFFSET = 16384, + SWITCHTEC_NTB_REG_DBMSG_OFFSET = 409600, +}; + +enum { + SWMII_SPEED_10 = 0, + SWMII_SPEED_100 = 1, + SWMII_SPEED_1000 = 2, + SWMII_DUPLEX_HALF = 0, + SWMII_DUPLEX_FULL = 1, +}; + +enum { + SWP_USED = 1, + SWP_WRITEOK = 2, + SWP_DISCARDABLE = 4, + SWP_DISCARDING = 8, + SWP_SOLIDSTATE = 16, + SWP_CONTINUED = 32, + SWP_BLKDEV = 64, + SWP_ACTIVATED = 128, + SWP_FS_OPS = 256, + SWP_AREA_DISCARD = 512, + SWP_PAGE_DISCARD = 1024, + SWP_STABLE_WRITES = 2048, + SWP_SYNCHRONOUS_IO = 4096, +}; + +enum { + SX150X_123 = 0, + SX150X_456 = 1, + SX150X_789 = 2, +}; + +enum { + SX150X_789_REG_MISC_AUTOCLEAR_OFF = 1, + SX150X_MAX_REGISTER = 173, + SX150X_IRQ_TYPE_EDGE_RISING = 1, + SX150X_IRQ_TYPE_EDGE_FALLING = 2, + SX150X_789_RESET_KEY1 = 18, + SX150X_789_RESET_KEY2 = 52, +}; + +enum { + SYNTH_ERR_BAD_NAME = 0, + SYNTH_ERR_INVALID_CMD = 1, + SYNTH_ERR_INVALID_DYN_CMD = 2, + SYNTH_ERR_EVENT_EXISTS = 3, + SYNTH_ERR_TOO_MANY_FIELDS = 4, + SYNTH_ERR_INCOMPLETE_TYPE = 5, + SYNTH_ERR_INVALID_TYPE = 6, + SYNTH_ERR_INVALID_FIELD = 7, + SYNTH_ERR_INVALID_ARRAY_SPEC = 8, +}; + +enum { + TASKLET_STATE_SCHED = 0, + TASKLET_STATE_RUN = 1, +}; + +enum { + TASKSTATS_CMD_ATTR_UNSPEC = 0, + TASKSTATS_CMD_ATTR_PID = 1, + TASKSTATS_CMD_ATTR_TGID = 2, + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 3, + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 4, + __TASKSTATS_CMD_ATTR_MAX = 5, +}; + +enum { + TASKSTATS_CMD_UNSPEC = 0, + TASKSTATS_CMD_GET = 1, + TASKSTATS_CMD_NEW = 2, + __TASKSTATS_CMD_MAX = 3, +}; + +enum { + TASKSTATS_TYPE_UNSPEC = 0, + TASKSTATS_TYPE_PID = 1, + TASKSTATS_TYPE_TGID = 2, + TASKSTATS_TYPE_STATS = 3, + TASKSTATS_TYPE_AGGR_PID = 4, + TASKSTATS_TYPE_AGGR_TGID = 5, + TASKSTATS_TYPE_NULL = 6, + __TASKSTATS_TYPE_MAX = 7, +}; + +enum { + TASK_COMM_LEN = 16, +}; + +enum { + TB_SHUTDOWN_REBOOT = 0, + TB_SHUTDOWN_S5 = 1, + TB_SHUTDOWN_S4 = 2, + TB_SHUTDOWN_S3 = 3, + TB_SHUTDOWN_HALT = 4, + TB_SHUTDOWN_WFS = 5, +}; + +enum { + TCA_ACT_UNSPEC = 0, + TCA_ACT_KIND = 1, + TCA_ACT_OPTIONS = 2, + TCA_ACT_INDEX = 3, + TCA_ACT_STATS = 4, + TCA_ACT_PAD = 5, + TCA_ACT_COOKIE = 6, + TCA_ACT_FLAGS = 7, + TCA_ACT_HW_STATS = 8, + TCA_ACT_USED_HW_STATS = 9, + TCA_ACT_IN_HW_COUNT = 10, + __TCA_ACT_MAX = 11, +}; + +enum { + TCA_EMATCH_TREE_UNSPEC = 0, + TCA_EMATCH_TREE_HDR = 1, + TCA_EMATCH_TREE_LIST = 2, + __TCA_EMATCH_TREE_MAX = 3, +}; + +enum { + TCA_FLOWER_KEY_CT_FLAGS_NEW = 1, + TCA_FLOWER_KEY_CT_FLAGS_ESTABLISHED = 2, + TCA_FLOWER_KEY_CT_FLAGS_RELATED = 4, + TCA_FLOWER_KEY_CT_FLAGS_TRACKED = 8, + TCA_FLOWER_KEY_CT_FLAGS_INVALID = 16, + TCA_FLOWER_KEY_CT_FLAGS_REPLY = 32, + __TCA_FLOWER_KEY_CT_FLAGS_MAX = 33, +}; + +enum { + TCA_FLOWER_KEY_FLAGS_IS_FRAGMENT = 1, + TCA_FLOWER_KEY_FLAGS_FRAG_IS_FIRST = 2, + TCA_FLOWER_KEY_FLAGS_TUNNEL_CSUM = 4, + TCA_FLOWER_KEY_FLAGS_TUNNEL_DONT_FRAGMENT = 8, + TCA_FLOWER_KEY_FLAGS_TUNNEL_OAM = 16, + TCA_FLOWER_KEY_FLAGS_TUNNEL_CRIT_OPT = 32, + __TCA_FLOWER_KEY_FLAGS_MAX = 33, +}; + +enum { + TCA_ROOT_UNSPEC = 0, + TCA_ROOT_TAB = 1, + TCA_ROOT_FLAGS = 2, + TCA_ROOT_COUNT = 3, + TCA_ROOT_TIME_DELTA = 4, + TCA_ROOT_EXT_WARN_MSG = 5, + __TCA_ROOT_MAX = 6, +}; + +enum { + TCA_STAB_UNSPEC = 0, + TCA_STAB_BASE = 1, + TCA_STAB_DATA = 2, + __TCA_STAB_MAX = 3, +}; + +enum { + TCA_STATS_UNSPEC = 0, + TCA_STATS_BASIC = 1, + TCA_STATS_RATE_EST = 2, + TCA_STATS_QUEUE = 3, + TCA_STATS_APP = 4, + TCA_STATS_RATE_EST64 = 5, + TCA_STATS_PAD = 6, + TCA_STATS_BASIC_HW = 7, + TCA_STATS_PKT64 = 8, + __TCA_STATS_MAX = 9, +}; + +enum { + TCA_UNSPEC = 0, + TCA_KIND = 1, + TCA_OPTIONS = 2, + TCA_STATS = 3, + TCA_XSTATS = 4, + TCA_RATE = 5, + TCA_FCNT = 6, + TCA_STATS2 = 7, + TCA_STAB = 8, + TCA_PAD = 9, + TCA_DUMP_INVISIBLE = 10, + TCA_CHAIN = 11, + TCA_HW_OFFLOAD = 12, + TCA_INGRESS_BLOCK = 13, + TCA_EGRESS_BLOCK = 14, + TCA_DUMP_FLAGS = 15, + TCA_EXT_WARN_MSG = 16, + __TCA_MAX = 17, +}; + +enum { + TCG_SECP_00 = 0, + TCG_SECP_01 = 1, +}; + +enum { + TCPF_ESTABLISHED = 2, + TCPF_SYN_SENT = 4, + TCPF_SYN_RECV = 8, + TCPF_FIN_WAIT1 = 16, + TCPF_FIN_WAIT2 = 32, + TCPF_TIME_WAIT = 64, + TCPF_CLOSE = 128, + TCPF_CLOSE_WAIT = 256, + TCPF_LAST_ACK = 512, + TCPF_LISTEN = 1024, + TCPF_CLOSING = 2048, + TCPF_NEW_SYN_RECV = 4096, + TCPF_BOUND_INACTIVE = 8192, +}; + +enum { + TCP_BPF_BASE = 0, + TCP_BPF_TX = 1, + TCP_BPF_RX = 2, + TCP_BPF_TXRX = 3, + TCP_BPF_NUM_CFGS = 4, +}; + +enum { + TCP_BPF_IPV4 = 0, + TCP_BPF_IPV6 = 1, + TCP_BPF_NUM_PROTS = 2, +}; + +enum { + TCP_BPF_IW = 1001, + TCP_BPF_SNDCWND_CLAMP = 1002, + TCP_BPF_DELACK_MAX = 1003, + TCP_BPF_RTO_MIN = 1004, + TCP_BPF_SYN = 1005, + TCP_BPF_SYN_IP = 1006, + TCP_BPF_SYN_MAC = 1007, + TCP_BPF_SOCK_OPS_CB_FLAGS = 1008, + SK_BPF_CB_FLAGS = 1009, +}; + +enum { + TCP_CMSG_INQ = 1, + TCP_CMSG_TS = 2, +}; + +enum { + TCP_ESTABLISHED = 1, + TCP_SYN_SENT = 2, + TCP_SYN_RECV = 3, + TCP_FIN_WAIT1 = 4, + TCP_FIN_WAIT2 = 5, + TCP_TIME_WAIT = 6, + TCP_CLOSE = 7, + TCP_CLOSE_WAIT = 8, + TCP_LAST_ACK = 9, + TCP_LISTEN = 10, + TCP_CLOSING = 11, + TCP_NEW_SYN_RECV = 12, + TCP_BOUND_INACTIVE = 13, + TCP_MAX_STATES = 14, +}; + +enum { + TCP_FLAG_AE = 1, + TCP_FLAG_CWR = 32768, + TCP_FLAG_ECE = 16384, + TCP_FLAG_URG = 8192, + TCP_FLAG_ACK = 4096, + TCP_FLAG_PSH = 2048, + TCP_FLAG_RST = 1024, + TCP_FLAG_SYN = 512, + TCP_FLAG_FIN = 256, + TCP_RESERVED_BITS = 14, + TCP_DATA_OFFSET = 240, +}; + +enum { + TCP_METRICS_ATTR_UNSPEC = 0, + TCP_METRICS_ATTR_ADDR_IPV4 = 1, + TCP_METRICS_ATTR_ADDR_IPV6 = 2, + TCP_METRICS_ATTR_AGE = 3, + TCP_METRICS_ATTR_TW_TSVAL = 4, + TCP_METRICS_ATTR_TW_TS_STAMP = 5, + TCP_METRICS_ATTR_VALS = 6, + TCP_METRICS_ATTR_FOPEN_MSS = 7, + TCP_METRICS_ATTR_FOPEN_SYN_DROPS = 8, + TCP_METRICS_ATTR_FOPEN_SYN_DROP_TS = 9, + TCP_METRICS_ATTR_FOPEN_COOKIE = 10, + TCP_METRICS_ATTR_SADDR_IPV4 = 11, + TCP_METRICS_ATTR_SADDR_IPV6 = 12, + TCP_METRICS_ATTR_PAD = 13, + __TCP_METRICS_ATTR_MAX = 14, +}; + +enum { + TCP_METRICS_CMD_UNSPEC = 0, + TCP_METRICS_CMD_GET = 1, + TCP_METRICS_CMD_DEL = 2, + __TCP_METRICS_CMD_MAX = 3, +}; + +enum { + TCP_MIB_NUM = 0, + TCP_MIB_RTOALGORITHM = 1, + TCP_MIB_RTOMIN = 2, + TCP_MIB_RTOMAX = 3, + TCP_MIB_MAXCONN = 4, + TCP_MIB_ACTIVEOPENS = 5, + TCP_MIB_PASSIVEOPENS = 6, + TCP_MIB_ATTEMPTFAILS = 7, + TCP_MIB_ESTABRESETS = 8, + TCP_MIB_CURRESTAB = 9, + TCP_MIB_INSEGS = 10, + TCP_MIB_OUTSEGS = 11, + TCP_MIB_RETRANSSEGS = 12, + TCP_MIB_INERRS = 13, + TCP_MIB_OUTRSTS = 14, + TCP_MIB_CSUMERRORS = 15, + __TCP_MIB_MAX = 16, +}; + +enum { + TCP_NLA_PAD = 0, + TCP_NLA_BUSY = 1, + TCP_NLA_RWND_LIMITED = 2, + TCP_NLA_SNDBUF_LIMITED = 3, + TCP_NLA_DATA_SEGS_OUT = 4, + TCP_NLA_TOTAL_RETRANS = 5, + TCP_NLA_PACING_RATE = 6, + TCP_NLA_DELIVERY_RATE = 7, + TCP_NLA_SND_CWND = 8, + TCP_NLA_REORDERING = 9, + TCP_NLA_MIN_RTT = 10, + TCP_NLA_RECUR_RETRANS = 11, + TCP_NLA_DELIVERY_RATE_APP_LMT = 12, + TCP_NLA_SNDQ_SIZE = 13, + TCP_NLA_CA_STATE = 14, + TCP_NLA_SND_SSTHRESH = 15, + TCP_NLA_DELIVERED = 16, + TCP_NLA_DELIVERED_CE = 17, + TCP_NLA_BYTES_SENT = 18, + TCP_NLA_BYTES_RETRANS = 19, + TCP_NLA_DSACK_DUPS = 20, + TCP_NLA_REORD_SEEN = 21, + TCP_NLA_SRTT = 22, + TCP_NLA_TIMEOUT_REHASH = 23, + TCP_NLA_BYTES_NOTSENT = 24, + TCP_NLA_EDT = 25, + TCP_NLA_TTL = 26, + TCP_NLA_REHASH = 27, +}; + +enum { + TCP_NO_QUEUE = 0, + TCP_RECV_QUEUE = 1, + TCP_SEND_QUEUE = 2, + TCP_QUEUES_NR = 3, +}; + +enum { + TCP_V4_FLOW = 1, + UDP_V4_FLOW = 2, + SCTP_V4_FLOW = 3, + AH_ESP_V4_FLOW = 4, + TCP_V6_FLOW = 5, + UDP_V6_FLOW = 6, + SCTP_V6_FLOW = 7, + AH_ESP_V6_FLOW = 8, + AH_V4_FLOW = 9, + ESP_V4_FLOW = 10, + AH_V6_FLOW = 11, + ESP_V6_FLOW = 12, + IPV4_USER_FLOW = 13, + IP_USER_FLOW = 13, + IPV6_USER_FLOW = 14, + IPV4_FLOW = 16, + IPV6_FLOW = 17, + ETHER_FLOW = 18, + GTPU_V4_FLOW = 19, + GTPU_V6_FLOW = 20, + GTPC_V4_FLOW = 21, + GTPC_V6_FLOW = 22, + GTPC_TEID_V4_FLOW = 23, + GTPC_TEID_V6_FLOW = 24, + GTPU_EH_V4_FLOW = 25, + GTPU_EH_V6_FLOW = 26, + GTPU_UL_V4_FLOW = 27, + GTPU_UL_V6_FLOW = 28, + GTPU_DL_V4_FLOW = 29, + GTPU_DL_V6_FLOW = 30, + __FLOW_TYPE_COUNT = 31, +}; + +enum { + TEST_NONE = 0, + TEST_CORE = 1, + TEST_CPUS = 2, + TEST_PLATFORM = 3, + TEST_DEVICES = 4, + TEST_FREEZER = 5, + __TEST_AFTER_LAST = 6, +}; + +enum { + TLS_ALERT_DESC_CLOSE_NOTIFY = 0, + TLS_ALERT_DESC_UNEXPECTED_MESSAGE = 10, + TLS_ALERT_DESC_BAD_RECORD_MAC = 20, + TLS_ALERT_DESC_RECORD_OVERFLOW = 22, + TLS_ALERT_DESC_HANDSHAKE_FAILURE = 40, + TLS_ALERT_DESC_BAD_CERTIFICATE = 42, + TLS_ALERT_DESC_UNSUPPORTED_CERTIFICATE = 43, + TLS_ALERT_DESC_CERTIFICATE_REVOKED = 44, + TLS_ALERT_DESC_CERTIFICATE_EXPIRED = 45, + TLS_ALERT_DESC_CERTIFICATE_UNKNOWN = 46, + TLS_ALERT_DESC_ILLEGAL_PARAMETER = 47, + TLS_ALERT_DESC_UNKNOWN_CA = 48, + TLS_ALERT_DESC_ACCESS_DENIED = 49, + TLS_ALERT_DESC_DECODE_ERROR = 50, + TLS_ALERT_DESC_DECRYPT_ERROR = 51, + TLS_ALERT_DESC_TOO_MANY_CIDS_REQUESTED = 52, + TLS_ALERT_DESC_PROTOCOL_VERSION = 70, + TLS_ALERT_DESC_INSUFFICIENT_SECURITY = 71, + TLS_ALERT_DESC_INTERNAL_ERROR = 80, + TLS_ALERT_DESC_INAPPROPRIATE_FALLBACK = 86, + TLS_ALERT_DESC_USER_CANCELED = 90, + TLS_ALERT_DESC_MISSING_EXTENSION = 109, + TLS_ALERT_DESC_UNSUPPORTED_EXTENSION = 110, + TLS_ALERT_DESC_UNRECOGNIZED_NAME = 112, + TLS_ALERT_DESC_BAD_CERTIFICATE_STATUS_RESPONSE = 113, + TLS_ALERT_DESC_UNKNOWN_PSK_IDENTITY = 115, + TLS_ALERT_DESC_CERTIFICATE_REQUIRED = 116, + TLS_ALERT_DESC_NO_APPLICATION_PROTOCOL = 120, +}; + +enum { + TLS_ALERT_LEVEL_WARNING = 1, + TLS_ALERT_LEVEL_FATAL = 2, +}; + +enum { + TLS_NO_KEYRING = 0, + TLS_NO_PEERID = 0, + TLS_NO_CERT = 0, + TLS_NO_PRIVKEY = 0, +}; + +enum { + TLS_RECORD_TYPE_CHANGE_CIPHER_SPEC = 20, + TLS_RECORD_TYPE_ALERT = 21, + TLS_RECORD_TYPE_HANDSHAKE = 22, + TLS_RECORD_TYPE_DATA = 23, + TLS_RECORD_TYPE_HEARTBEAT = 24, + TLS_RECORD_TYPE_TLS12_CID = 25, + TLS_RECORD_TYPE_ACK = 26, +}; + +enum { + TOO_MANY_CLOSE = -1, + TOO_MANY_OPEN = -2, + MISSING_QUOTE = -3, +}; + +enum { + TPS65090_IRQ_INTERRUPT = 0, + TPS65090_IRQ_VAC_STATUS_CHANGE = 1, + TPS65090_IRQ_VSYS_STATUS_CHANGE = 2, + TPS65090_IRQ_BAT_STATUS_CHANGE = 3, + TPS65090_IRQ_CHARGING_STATUS_CHANGE = 4, + TPS65090_IRQ_CHARGING_COMPLETE = 5, + TPS65090_IRQ_OVERLOAD_DCDC1 = 6, + TPS65090_IRQ_OVERLOAD_DCDC2 = 7, + TPS65090_IRQ_OVERLOAD_DCDC3 = 8, + TPS65090_IRQ_OVERLOAD_FET1 = 9, + TPS65090_IRQ_OVERLOAD_FET2 = 10, + TPS65090_IRQ_OVERLOAD_FET3 = 11, + TPS65090_IRQ_OVERLOAD_FET4 = 12, + TPS65090_IRQ_OVERLOAD_FET5 = 13, + TPS65090_IRQ_OVERLOAD_FET6 = 14, + TPS65090_IRQ_OVERLOAD_FET7 = 15, +}; + +enum { + TPS65090_REGULATOR_DCDC1 = 0, + TPS65090_REGULATOR_DCDC2 = 1, + TPS65090_REGULATOR_DCDC3 = 2, + TPS65090_REGULATOR_FET1 = 3, + TPS65090_REGULATOR_FET2 = 4, + TPS65090_REGULATOR_FET3 = 5, + TPS65090_REGULATOR_FET4 = 6, + TPS65090_REGULATOR_FET5 = 7, + TPS65090_REGULATOR_FET6 = 8, + TPS65090_REGULATOR_FET7 = 9, + TPS65090_REGULATOR_LDO1 = 10, + TPS65090_REGULATOR_LDO2 = 11, + TPS65090_REGULATOR_MAX = 12, +}; + +enum { + TPS6586X_ID_SYS = 0, + TPS6586X_ID_SM_0 = 1, + TPS6586X_ID_SM_1 = 2, + TPS6586X_ID_SM_2 = 3, + TPS6586X_ID_LDO_0 = 4, + TPS6586X_ID_LDO_1 = 5, + TPS6586X_ID_LDO_2 = 6, + TPS6586X_ID_LDO_3 = 7, + TPS6586X_ID_LDO_4 = 8, + TPS6586X_ID_LDO_5 = 9, + TPS6586X_ID_LDO_6 = 10, + TPS6586X_ID_LDO_7 = 11, + TPS6586X_ID_LDO_8 = 12, + TPS6586X_ID_LDO_9 = 13, + TPS6586X_ID_LDO_RTC = 14, + TPS6586X_ID_MAX_REGULATOR = 15, +}; + +enum { + TPS6586X_INT_PLDO_0 = 0, + TPS6586X_INT_PLDO_1 = 1, + TPS6586X_INT_PLDO_2 = 2, + TPS6586X_INT_PLDO_3 = 3, + TPS6586X_INT_PLDO_4 = 4, + TPS6586X_INT_PLDO_5 = 5, + TPS6586X_INT_PLDO_6 = 6, + TPS6586X_INT_PLDO_7 = 7, + TPS6586X_INT_COMP_DET = 8, + TPS6586X_INT_ADC = 9, + TPS6586X_INT_PLDO_8 = 10, + TPS6586X_INT_PLDO_9 = 11, + TPS6586X_INT_PSM_0 = 12, + TPS6586X_INT_PSM_1 = 13, + TPS6586X_INT_PSM_2 = 14, + TPS6586X_INT_PSM_3 = 15, + TPS6586X_INT_RTC_ALM1 = 16, + TPS6586X_INT_ACUSB_OVP = 17, + TPS6586X_INT_USB_DET = 18, + TPS6586X_INT_AC_DET = 19, + TPS6586X_INT_BAT_DET = 20, + TPS6586X_INT_CHG_STAT = 21, + TPS6586X_INT_CHG_TEMP = 22, + TPS6586X_INT_PP = 23, + TPS6586X_INT_RESUME = 24, + TPS6586X_INT_LOW_SYS = 25, + TPS6586X_INT_RTC_ALM2 = 26, +}; + +enum { + TP_ERR_FILE_NOT_FOUND = 0, + TP_ERR_NO_REGULAR_FILE = 1, + TP_ERR_BAD_REFCNT = 2, + TP_ERR_REFCNT_OPEN_BRACE = 3, + TP_ERR_BAD_REFCNT_SUFFIX = 4, + TP_ERR_BAD_UPROBE_OFFS = 5, + TP_ERR_BAD_MAXACT_TYPE = 6, + TP_ERR_BAD_MAXACT = 7, + TP_ERR_MAXACT_TOO_BIG = 8, + TP_ERR_BAD_PROBE_ADDR = 9, + TP_ERR_NON_UNIQ_SYMBOL = 10, + TP_ERR_BAD_RETPROBE = 11, + TP_ERR_NO_TRACEPOINT = 12, + TP_ERR_BAD_TP_NAME = 13, + TP_ERR_BAD_ADDR_SUFFIX = 14, + TP_ERR_NO_GROUP_NAME = 15, + TP_ERR_GROUP_TOO_LONG = 16, + TP_ERR_BAD_GROUP_NAME = 17, + TP_ERR_NO_EVENT_NAME = 18, + TP_ERR_EVENT_TOO_LONG = 19, + TP_ERR_BAD_EVENT_NAME = 20, + TP_ERR_EVENT_EXIST = 21, + TP_ERR_RETVAL_ON_PROBE = 22, + TP_ERR_NO_RETVAL = 23, + TP_ERR_BAD_STACK_NUM = 24, + TP_ERR_BAD_ARG_NUM = 25, + TP_ERR_BAD_VAR = 26, + TP_ERR_BAD_REG_NAME = 27, + TP_ERR_BAD_MEM_ADDR = 28, + TP_ERR_BAD_IMM = 29, + TP_ERR_IMMSTR_NO_CLOSE = 30, + TP_ERR_FILE_ON_KPROBE = 31, + TP_ERR_BAD_FILE_OFFS = 32, + TP_ERR_SYM_ON_UPROBE = 33, + TP_ERR_TOO_MANY_OPS = 34, + TP_ERR_DEREF_NEED_BRACE = 35, + TP_ERR_BAD_DEREF_OFFS = 36, + TP_ERR_DEREF_OPEN_BRACE = 37, + TP_ERR_COMM_CANT_DEREF = 38, + TP_ERR_BAD_FETCH_ARG = 39, + TP_ERR_ARRAY_NO_CLOSE = 40, + TP_ERR_BAD_ARRAY_SUFFIX = 41, + TP_ERR_BAD_ARRAY_NUM = 42, + TP_ERR_ARRAY_TOO_BIG = 43, + TP_ERR_BAD_TYPE = 44, + TP_ERR_BAD_STRING = 45, + TP_ERR_BAD_SYMSTRING = 46, + TP_ERR_BAD_BITFIELD = 47, + TP_ERR_ARG_NAME_TOO_LONG = 48, + TP_ERR_NO_ARG_NAME = 49, + TP_ERR_BAD_ARG_NAME = 50, + TP_ERR_USED_ARG_NAME = 51, + TP_ERR_ARG_TOO_LONG = 52, + TP_ERR_NO_ARG_BODY = 53, + TP_ERR_BAD_INSN_BNDRY = 54, + TP_ERR_FAIL_REG_PROBE = 55, + TP_ERR_DIFF_PROBE_TYPE = 56, + TP_ERR_DIFF_ARG_TYPE = 57, + TP_ERR_SAME_PROBE = 58, + TP_ERR_NO_EVENT_INFO = 59, + TP_ERR_BAD_ATTACH_EVENT = 60, + TP_ERR_BAD_ATTACH_ARG = 61, + TP_ERR_NO_EP_FILTER = 62, + TP_ERR_NOSUP_BTFARG = 63, + TP_ERR_NO_BTFARG = 64, + TP_ERR_NO_BTF_ENTRY = 65, + TP_ERR_BAD_VAR_ARGS = 66, + TP_ERR_NOFENTRY_ARGS = 67, + TP_ERR_DOUBLE_ARGS = 68, + TP_ERR_ARGS_2LONG = 69, + TP_ERR_ARGIDX_2BIG = 70, + TP_ERR_NO_PTR_STRCT = 71, + TP_ERR_NOSUP_DAT_ARG = 72, + TP_ERR_BAD_HYPHEN = 73, + TP_ERR_NO_BTF_FIELD = 74, + TP_ERR_BAD_BTF_TID = 75, + TP_ERR_BAD_TYPE4STR = 76, + TP_ERR_NEED_STRING_TYPE = 77, + TP_ERR_TOO_MANY_ARGS = 78, + TP_ERR_TOO_MANY_EARGS = 79, +}; + +enum { + TRACEFS_EVENT_INODE = 2, + TRACEFS_GID_PERM_SET = 4, + TRACEFS_UID_PERM_SET = 8, + TRACEFS_INSTANCE_INODE = 16, +}; + +enum { + TRACE_ARRAY_FL_GLOBAL = 1, + TRACE_ARRAY_FL_BOOT = 2, + TRACE_ARRAY_FL_LAST_BOOT = 4, + TRACE_ARRAY_FL_MOD_INIT = 8, + TRACE_ARRAY_FL_MEMMAP = 16, +}; + +enum { + TRACE_CTX_NMI = 0, + TRACE_CTX_IRQ = 1, + TRACE_CTX_SOFTIRQ = 2, + TRACE_CTX_NORMAL = 3, + TRACE_CTX_TRANSITION = 4, +}; + +enum { + TRACE_EVENT_FL_CAP_ANY = 1, + TRACE_EVENT_FL_NO_SET_FILTER = 2, + TRACE_EVENT_FL_IGNORE_ENABLE = 4, + TRACE_EVENT_FL_TRACEPOINT = 8, + TRACE_EVENT_FL_DYNAMIC = 16, + TRACE_EVENT_FL_KPROBE = 32, + TRACE_EVENT_FL_UPROBE = 64, + TRACE_EVENT_FL_EPROBE = 128, + TRACE_EVENT_FL_FPROBE = 256, + TRACE_EVENT_FL_CUSTOM = 512, + TRACE_EVENT_FL_TEST_STR = 1024, +}; + +enum { + TRACE_EVENT_FL_CAP_ANY_BIT = 0, + TRACE_EVENT_FL_NO_SET_FILTER_BIT = 1, + TRACE_EVENT_FL_IGNORE_ENABLE_BIT = 2, + TRACE_EVENT_FL_TRACEPOINT_BIT = 3, + TRACE_EVENT_FL_DYNAMIC_BIT = 4, + TRACE_EVENT_FL_KPROBE_BIT = 5, + TRACE_EVENT_FL_UPROBE_BIT = 6, + TRACE_EVENT_FL_EPROBE_BIT = 7, + TRACE_EVENT_FL_FPROBE_BIT = 8, + TRACE_EVENT_FL_CUSTOM_BIT = 9, + TRACE_EVENT_FL_TEST_STR_BIT = 10, +}; + +enum { + TRACE_FTRACE_BIT = 0, + TRACE_FTRACE_NMI_BIT = 1, + TRACE_FTRACE_IRQ_BIT = 2, + TRACE_FTRACE_SIRQ_BIT = 3, + TRACE_FTRACE_TRANSITION_BIT = 4, + TRACE_INTERNAL_BIT = 5, + TRACE_INTERNAL_NMI_BIT = 6, + TRACE_INTERNAL_IRQ_BIT = 7, + TRACE_INTERNAL_SIRQ_BIT = 8, + TRACE_INTERNAL_TRANSITION_BIT = 9, + TRACE_BRANCH_BIT = 10, + TRACE_IRQ_BIT = 11, + TRACE_RECORD_RECURSION_BIT = 12, +}; + +enum { + TRACE_FUNC_NO_OPTS = 0, + TRACE_FUNC_OPT_STACK = 1, + TRACE_FUNC_OPT_NO_REPEATS = 2, + TRACE_FUNC_OPT_ARGS = 4, + TRACE_FUNC_OPT_HIGHEST_BIT = 8, +}; + +enum { + TRACE_GRAPH_FL = 1, + TRACE_GRAPH_DEPTH_START_BIT = 2, + TRACE_GRAPH_DEPTH_END_BIT = 3, + TRACE_GRAPH_NOTRACE_BIT = 4, +}; + +enum { + TRACE_NOP_OPT_ACCEPT = 1, + TRACE_NOP_OPT_REFUSE = 2, +}; + +enum { + TRACE_PIDS = 1, + TRACE_NO_PIDS = 2, +}; + +enum { + TRACE_SIGNAL_DELIVERED = 0, + TRACE_SIGNAL_IGNORED = 1, + TRACE_SIGNAL_ALREADY_PENDING = 2, + TRACE_SIGNAL_OVERFLOW_FAIL = 3, + TRACE_SIGNAL_LOSE_INFO = 4, +}; + +enum { + TVPADDRW = 0, + TVPPDATA = 4, + TVPPMASK = 8, + TVPPADRR = 12, + TVPCADRW = 16, + TVPCDATA = 20, + TVPCADRR = 28, + TVPDCCTL = 36, + TVPIDATA = 40, + TVPCRDAT = 44, + TVPCXPOL = 48, + TVPCXPOH = 52, + TVPCYPOL = 56, + TVPCYPOH = 60, +}; + +enum { + TVPIRREV = 1, + TVPIRICC = 6, + TVPIRBRC = 7, + TVPIRLAC = 15, + TVPIRTCC = 24, + TVPIRMXC = 25, + TVPIRCLS = 26, + TVPIRPPG = 28, + TVPIRGEC = 29, + TVPIRMIC = 30, + TVPIRPLA = 44, + TVPIRPPD = 45, + TVPIRMPD = 46, + TVPIRLPD = 47, + TVPIRCKL = 48, + TVPIRCKH = 49, + TVPIRCRL = 50, + TVPIRCRH = 51, + TVPIRCGL = 52, + TVPIRCGH = 53, + TVPIRCBL = 54, + TVPIRCBH = 55, + TVPIRCKC = 56, + TVPIRMLC = 57, + TVPIRSEN = 58, + TVPIRTMD = 59, + TVPIRRML = 60, + TVPIRRMM = 61, + TVPIRRMS = 62, + TVPIRDID = 63, + TVPIRRES = 255, +}; + +enum { + TYPE_MAX8998 = 0, + TYPE_LP3974 = 1, + TYPE_LP3979 = 2, +}; + +enum { + T_SHARED = 1, + T_UNBINDABLE = 2, + T_MARKED = 4, + T_UMOUNT_CANDIDATE = 8, + T_SHARED_MASK = 2, +}; + +enum { + UDP_BPF_IPV4 = 0, + UDP_BPF_IPV6 = 1, + UDP_BPF_NUM_PROTS = 2, +}; + +enum { + UDP_FLAGS_CORK = 0, + UDP_FLAGS_NO_CHECK6_TX = 1, + UDP_FLAGS_NO_CHECK6_RX = 2, + UDP_FLAGS_GRO_ENABLED = 3, + UDP_FLAGS_ACCEPT_FRAGLIST = 4, + UDP_FLAGS_ACCEPT_L4 = 5, + UDP_FLAGS_ENCAP_ENABLED = 6, + UDP_FLAGS_UDPLITE_SEND_CC = 7, + UDP_FLAGS_UDPLITE_RECV_CC = 8, +}; + +enum { + UDP_MIB_NUM = 0, + UDP_MIB_INDATAGRAMS = 1, + UDP_MIB_NOPORTS = 2, + UDP_MIB_INERRORS = 3, + UDP_MIB_OUTDATAGRAMS = 4, + UDP_MIB_RCVBUFERRORS = 5, + UDP_MIB_SNDBUFERRORS = 6, + UDP_MIB_CSUMERRORS = 7, + UDP_MIB_IGNOREDMULTI = 8, + UDP_MIB_MEMERRORS = 9, + __UDP_MIB_MAX = 10, +}; + +enum { + UNAME26 = 131072, + ADDR_NO_RANDOMIZE = 262144, + FDPIC_FUNCPTRS = 524288, + MMAP_PAGE_ZERO = 1048576, + ADDR_COMPAT_LAYOUT = 2097152, + READ_IMPLIES_EXEC = 4194304, + ADDR_LIMIT_32BIT = 8388608, + SHORT_INODE = 16777216, + WHOLE_SECONDS = 33554432, + STICKY_TIMEOUTS = 67108864, + ADDR_LIMIT_3GB = 134217728, +}; + +enum { + UNDEFINED_CAPABLE = 0, + SYSTEM_INTEL_MSR_CAPABLE = 1, + SYSTEM_AMD_MSR_CAPABLE = 2, + SYSTEM_IO_CAPABLE = 3, +}; + +enum { + UV_AFFINITY_ALL = 0, + UV_AFFINITY_NODE = 1, + UV_AFFINITY_CPU = 2, +}; + +enum { + VP_MSIX_CONFIG_VECTOR = 0, + VP_MSIX_VQ_VECTOR = 1, +}; + +enum { + VTIME_PER_SEC_SHIFT = 37ULL, + VTIME_PER_SEC = 137438953472ULL, + VTIME_PER_USEC = 137438ULL, + VTIME_PER_NSEC = 137ULL, + VRATE_MIN_PPM = 10000ULL, + VRATE_MAX_PPM = 100000000ULL, + VRATE_MIN = 1374ULL, + VRATE_CLAMP_ADJ_PCT = 4ULL, + AUTOP_CYCLE_NSEC = 10000000000ULL, +}; + +enum { + WALK_TRAILING = 1, + WALK_MORE = 2, + WALK_NOFOLLOW = 4, +}; + +enum { + WBT_RWQ_BG = 0, + WBT_RWQ_SWAP = 1, + WBT_RWQ_DISCARD = 2, + WBT_NUM_RWQ = 3, +}; + +enum { + WBT_STATE_ON_DEFAULT = 1, + WBT_STATE_ON_MANUAL = 2, + WBT_STATE_OFF_DEFAULT = 3, + WBT_STATE_OFF_MANUAL = 4, +}; + +enum { + X2APIC_OFF = 0, + X2APIC_DISABLED = 1, + X2APIC_ON = 2, + X2APIC_ON_LOCKED = 3, +}; + +enum { + X86_BR_NONE = 0, + X86_BR_USER = 1, + X86_BR_KERNEL = 2, + X86_BR_CALL = 4, + X86_BR_RET = 8, + X86_BR_SYSCALL = 16, + X86_BR_SYSRET = 32, + X86_BR_INT = 64, + X86_BR_IRET = 128, + X86_BR_JCC = 256, + X86_BR_JMP = 512, + X86_BR_IRQ = 1024, + X86_BR_IND_CALL = 2048, + X86_BR_ABORT = 4096, + X86_BR_IN_TX = 8192, + X86_BR_NO_TX = 16384, + X86_BR_ZERO_CALL = 32768, + X86_BR_CALL_STACK = 65536, + X86_BR_IND_JMP = 131072, + X86_BR_TYPE_SAVE = 262144, +}; + +enum { + X86_IRQ_ALLOC_LEGACY = 1, +}; + +enum { + X86_PERF_KFREE_SHARED = 0, + X86_PERF_KFREE_EXCL = 1, + X86_PERF_KFREE_MAX = 2, +}; + +enum { + XA_CHECK_SCHED = 4096, +}; + +enum { + XDP_ATTACHED_NONE = 0, + XDP_ATTACHED_DRV = 1, + XDP_ATTACHED_SKB = 2, + XDP_ATTACHED_HW = 3, + XDP_ATTACHED_MULTI = 4, +}; + +enum { + XFRM_DEV_OFFLOAD_FLAG_ACQ = 1, +}; + +enum { + XFRM_DEV_OFFLOAD_IN = 1, + XFRM_DEV_OFFLOAD_OUT = 2, + XFRM_DEV_OFFLOAD_FWD = 3, +}; + +enum { + XFRM_DEV_OFFLOAD_UNSPECIFIED = 0, + XFRM_DEV_OFFLOAD_CRYPTO = 1, + XFRM_DEV_OFFLOAD_PACKET = 2, +}; + +enum { + XFRM_LOOKUP_ICMP = 1, + XFRM_LOOKUP_QUEUE = 2, + XFRM_LOOKUP_KEEP_DST_REF = 4, +}; + +enum { + XFRM_MODE_FLAG_TUNNEL = 1, +}; + +enum { + XFRM_MSG_BASE = 16, + XFRM_MSG_NEWSA = 16, + XFRM_MSG_DELSA = 17, + XFRM_MSG_GETSA = 18, + XFRM_MSG_NEWPOLICY = 19, + XFRM_MSG_DELPOLICY = 20, + XFRM_MSG_GETPOLICY = 21, + XFRM_MSG_ALLOCSPI = 22, + XFRM_MSG_ACQUIRE = 23, + XFRM_MSG_EXPIRE = 24, + XFRM_MSG_UPDPOLICY = 25, + XFRM_MSG_UPDSA = 26, + XFRM_MSG_POLEXPIRE = 27, + XFRM_MSG_FLUSHSA = 28, + XFRM_MSG_FLUSHPOLICY = 29, + XFRM_MSG_NEWAE = 30, + XFRM_MSG_GETAE = 31, + XFRM_MSG_REPORT = 32, + XFRM_MSG_MIGRATE = 33, + XFRM_MSG_NEWSADINFO = 34, + XFRM_MSG_GETSADINFO = 35, + XFRM_MSG_NEWSPDINFO = 36, + XFRM_MSG_GETSPDINFO = 37, + XFRM_MSG_MAPPING = 38, + XFRM_MSG_SETDEFAULT = 39, + XFRM_MSG_GETDEFAULT = 40, + __XFRM_MSG_MAX = 41, +}; + +enum { + XFRM_POLICY_IN = 0, + XFRM_POLICY_OUT = 1, + XFRM_POLICY_FWD = 2, + XFRM_POLICY_MASK = 3, + XFRM_POLICY_MAX = 3, +}; + +enum { + XFRM_POLICY_TYPE_MAIN = 0, + XFRM_POLICY_TYPE_SUB = 1, + XFRM_POLICY_TYPE_MAX = 2, + XFRM_POLICY_TYPE_ANY = 255, +}; + +enum { + XFRM_STATE_VOID = 0, + XFRM_STATE_ACQ = 1, + XFRM_STATE_VALID = 2, + XFRM_STATE_ERROR = 3, + XFRM_STATE_EXPIRED = 4, + XFRM_STATE_DEAD = 5, +}; + +enum { + ZONELIST_FALLBACK = 0, + ZONELIST_NOFALLBACK = 1, + MAX_ZONELISTS = 2, +}; + +enum { + ZSTDbss_compress = 0, + ZSTDbss_noCompress = 1, +}; + +enum { + _DQUOT_USAGE_ENABLED = 0, + _DQUOT_LIMITS_ENABLED = 1, + _DQUOT_SUSPENDED = 2, + _DQUOT_STATE_FLAGS = 3, +}; + +enum { + _IRQ_DEFAULT_INIT_FLAGS = 0, + _IRQ_PER_CPU = 512, + _IRQ_LEVEL = 256, + _IRQ_NOPROBE = 1024, + _IRQ_NOREQUEST = 2048, + _IRQ_NOTHREAD = 65536, + _IRQ_NOAUTOEN = 4096, + _IRQ_NO_BALANCING = 8192, + _IRQ_NESTED_THREAD = 32768, + _IRQ_PER_CPU_DEVID = 131072, + _IRQ_IS_POLLED = 262144, + _IRQ_DISABLE_UNLAZY = 524288, + _IRQ_HIDDEN = 1048576, + _IRQ_NO_DEBUG = 2097152, + _IRQF_MODIFY_MASK = 2080527, +}; + +enum { + __IOAM6_IPTUNNEL_MODE_MIN = 0, + IOAM6_IPTUNNEL_MODE_INLINE = 1, + IOAM6_IPTUNNEL_MODE_ENCAP = 2, + IOAM6_IPTUNNEL_MODE_AUTO = 3, + __IOAM6_IPTUNNEL_MODE_MAX = 4, +}; + +enum { + __ND_OPT_PREFIX_INFO_END = 0, + ND_OPT_SOURCE_LL_ADDR = 1, + ND_OPT_TARGET_LL_ADDR = 2, + ND_OPT_PREFIX_INFO = 3, + ND_OPT_REDIRECT_HDR = 4, + ND_OPT_MTU = 5, + ND_OPT_NONCE = 14, + __ND_OPT_ARRAY_MAX = 15, + ND_OPT_ROUTE_INFO = 24, + ND_OPT_RDNSS = 25, + ND_OPT_DNSSL = 31, + ND_OPT_6CO = 34, + ND_OPT_CAPTIVE_PORTAL = 37, + ND_OPT_PREF64 = 38, + __ND_OPT_MAX = 39, +}; + +enum { + __PERCPU_REF_ATOMIC = 1, + __PERCPU_REF_DEAD = 2, + __PERCPU_REF_ATOMIC_DEAD = 3, + __PERCPU_REF_FLAG_BITS = 2, +}; + +enum { + __SCHED_FEAT_PLACE_LAG = 0, + __SCHED_FEAT_PLACE_DEADLINE_INITIAL = 1, + __SCHED_FEAT_PLACE_REL_DEADLINE = 2, + __SCHED_FEAT_RUN_TO_PARITY = 3, + __SCHED_FEAT_PREEMPT_SHORT = 4, + __SCHED_FEAT_NEXT_BUDDY = 5, + __SCHED_FEAT_PICK_BUDDY = 6, + __SCHED_FEAT_CACHE_HOT_BUDDY = 7, + __SCHED_FEAT_DELAY_DEQUEUE = 8, + __SCHED_FEAT_DELAY_ZERO = 9, + __SCHED_FEAT_WAKEUP_PREEMPTION = 10, + __SCHED_FEAT_HRTICK = 11, + __SCHED_FEAT_HRTICK_DL = 12, + __SCHED_FEAT_NONTASK_CAPACITY = 13, + __SCHED_FEAT_TTWU_QUEUE = 14, + __SCHED_FEAT_SIS_UTIL = 15, + __SCHED_FEAT_WARN_DOUBLE_CLOCK = 16, + __SCHED_FEAT_RT_PUSH_IPI = 17, + __SCHED_FEAT_RT_RUNTIME_SHARE = 18, + __SCHED_FEAT_LB_MIN = 19, + __SCHED_FEAT_ATTACH_AGE_LOAD = 20, + __SCHED_FEAT_WA_IDLE = 21, + __SCHED_FEAT_WA_WEIGHT = 22, + __SCHED_FEAT_WA_BIAS = 23, + __SCHED_FEAT_UTIL_EST = 24, + __SCHED_FEAT_LATENCY_WARN = 25, + __SCHED_FEAT_NI_RANDOM = 26, + __SCHED_FEAT_NR = 27, +}; + +enum { + __SD_BALANCE_NEWIDLE = 0, + __SD_BALANCE_EXEC = 1, + __SD_BALANCE_FORK = 2, + __SD_BALANCE_WAKE = 3, + __SD_WAKE_AFFINE = 4, + __SD_ASYM_CPUCAPACITY = 5, + __SD_ASYM_CPUCAPACITY_FULL = 6, + __SD_SHARE_CPUCAPACITY = 7, + __SD_CLUSTER = 8, + __SD_SHARE_LLC = 9, + __SD_SERIALIZE = 10, + __SD_ASYM_PACKING = 11, + __SD_PREFER_SIBLING = 12, + __SD_NUMA = 13, + __SD_FLAG_CNT = 14, +}; + +enum { + ___GFP_DMA_BIT = 0, + ___GFP_HIGHMEM_BIT = 1, + ___GFP_DMA32_BIT = 2, + ___GFP_MOVABLE_BIT = 3, + ___GFP_RECLAIMABLE_BIT = 4, + ___GFP_HIGH_BIT = 5, + ___GFP_IO_BIT = 6, + ___GFP_FS_BIT = 7, + ___GFP_ZERO_BIT = 8, + ___GFP_UNUSED_BIT = 9, + ___GFP_DIRECT_RECLAIM_BIT = 10, + ___GFP_KSWAPD_RECLAIM_BIT = 11, + ___GFP_WRITE_BIT = 12, + ___GFP_NOWARN_BIT = 13, + ___GFP_RETRY_MAYFAIL_BIT = 14, + ___GFP_NOFAIL_BIT = 15, + ___GFP_NORETRY_BIT = 16, + ___GFP_MEMALLOC_BIT = 17, + ___GFP_COMP_BIT = 18, + ___GFP_NOMEMALLOC_BIT = 19, + ___GFP_HARDWALL_BIT = 20, + ___GFP_THISNODE_BIT = 21, + ___GFP_ACCOUNT_BIT = 22, + ___GFP_ZEROTAGS_BIT = 23, + ___GFP_NO_OBJ_EXT_BIT = 24, + ___GFP_LAST_BIT = 25, +}; + +enum { + __ctx_convertBPF_PROG_TYPE_SOCKET_FILTER = 0, + __ctx_convertBPF_PROG_TYPE_SCHED_CLS = 1, + __ctx_convertBPF_PROG_TYPE_SCHED_ACT = 2, + __ctx_convertBPF_PROG_TYPE_XDP = 3, + __ctx_convertBPF_PROG_TYPE_CGROUP_SKB = 4, + __ctx_convertBPF_PROG_TYPE_CGROUP_SOCK = 5, + __ctx_convertBPF_PROG_TYPE_CGROUP_SOCK_ADDR = 6, + __ctx_convertBPF_PROG_TYPE_LWT_IN = 7, + __ctx_convertBPF_PROG_TYPE_LWT_OUT = 8, + __ctx_convertBPF_PROG_TYPE_LWT_XMIT = 9, + __ctx_convertBPF_PROG_TYPE_LWT_SEG6LOCAL = 10, + __ctx_convertBPF_PROG_TYPE_SOCK_OPS = 11, + __ctx_convertBPF_PROG_TYPE_SK_SKB = 12, + __ctx_convertBPF_PROG_TYPE_SK_MSG = 13, + __ctx_convertBPF_PROG_TYPE_FLOW_DISSECTOR = 14, + __ctx_convertBPF_PROG_TYPE_KPROBE = 15, + __ctx_convertBPF_PROG_TYPE_TRACEPOINT = 16, + __ctx_convertBPF_PROG_TYPE_PERF_EVENT = 17, + __ctx_convertBPF_PROG_TYPE_RAW_TRACEPOINT = 18, + __ctx_convertBPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE = 19, + __ctx_convertBPF_PROG_TYPE_TRACING = 20, + __ctx_convertBPF_PROG_TYPE_CGROUP_DEVICE = 21, + __ctx_convertBPF_PROG_TYPE_CGROUP_SYSCTL = 22, + __ctx_convertBPF_PROG_TYPE_CGROUP_SOCKOPT = 23, + __ctx_convertBPF_PROG_TYPE_SK_REUSEPORT = 24, + __ctx_convertBPF_PROG_TYPE_SK_LOOKUP = 25, + __ctx_convertBPF_PROG_TYPE_STRUCT_OPS = 26, + __ctx_convertBPF_PROG_TYPE_EXT = 27, + __ctx_convertBPF_PROG_TYPE_LSM = 28, + __ctx_convertBPF_PROG_TYPE_SYSCALL = 29, + __ctx_convertBPF_PROG_TYPE_NETFILTER = 30, + __ctx_convert_unused = 31, +}; + +enum { + arg_AL = 0, + arg_CL = 1, + arg_DL = 2, + arg_BL = 3, + arg_AH = 4, + arg_CH = 5, + arg_DH = 6, + arg_BH = 7, + arg_AX = 0, + arg_CX = 1, + arg_DX = 2, + arg_BX = 3, + arg_SP = 4, + arg_BP = 5, + arg_SI = 6, + arg_DI = 7, + arg_R8 = 8, + arg_R9 = 9, + arg_R10 = 10, + arg_R11 = 11, + arg_R12 = 12, + arg_R13 = 13, + arg_R14 = 14, + arg_R15 = 15, +}; + +enum { + attr_noop = 0, + attr_delayed_allocation_blocks = 1, + attr_session_write_kbytes = 2, + attr_lifetime_write_kbytes = 3, + attr_reserved_clusters = 4, + attr_sra_exceeded_retry_limit = 5, + attr_inode_readahead = 6, + attr_trigger_test_error = 7, + attr_first_error_time = 8, + attr_last_error_time = 9, + attr_clusters_in_group = 10, + attr_mb_order = 11, + attr_feature = 12, + attr_pointer_pi = 13, + attr_pointer_ui = 14, + attr_pointer_ul = 15, + attr_pointer_u64 = 16, + attr_pointer_u8 = 17, + attr_pointer_string = 18, + attr_pointer_atomic = 19, + attr_journal_task = 20, +}; + +enum { + blank_off = 0, + blank_normal_wait = 1, + blank_vesa_wait = 2, +}; + +enum { + cpuset = 0, + possible = 1, + fail = 2, +}; + +enum { + dns_key_data = 0, + dns_key_error = 1, +}; + +enum { + false = 0, + true = 1, +}; + +enum { + mechtype_caddy = 0, + mechtype_tray = 1, + mechtype_popup = 2, + mechtype_individual_changer = 4, + mechtype_cartridge_changer = 5, +}; + +enum { + ncsi_dev_state_major = 65280, + ncsi_dev_state_minor = 255, + ncsi_dev_state_probe_deselect = 513, + ncsi_dev_state_probe_package = 514, + ncsi_dev_state_probe_channel = 515, + ncsi_dev_state_probe_mlx_gma = 516, + ncsi_dev_state_probe_mlx_smaf = 517, + ncsi_dev_state_probe_cis = 518, + ncsi_dev_state_probe_keep_phy = 519, + ncsi_dev_state_probe_gvi = 520, + ncsi_dev_state_probe_gc = 521, + ncsi_dev_state_probe_gls = 522, + ncsi_dev_state_probe_dp = 523, + ncsi_dev_state_config_sp = 769, + ncsi_dev_state_config_cis = 770, + ncsi_dev_state_config_oem_gma = 771, + ncsi_dev_state_config_apply_mac = 772, + ncsi_dev_state_config_clear_vids = 773, + ncsi_dev_state_config_svf = 774, + ncsi_dev_state_config_ev = 775, + ncsi_dev_state_config_sma = 776, + ncsi_dev_state_config_ebf = 777, + ncsi_dev_state_config_dgmf = 778, + ncsi_dev_state_config_ecnt = 779, + ncsi_dev_state_config_ec = 780, + ncsi_dev_state_config_ae = 781, + ncsi_dev_state_config_gls = 782, + ncsi_dev_state_config_done = 783, + ncsi_dev_state_suspend_select = 1025, + ncsi_dev_state_suspend_gls = 1026, + ncsi_dev_state_suspend_dcnt = 1027, + ncsi_dev_state_suspend_dc = 1028, + ncsi_dev_state_suspend_deselect = 1029, + ncsi_dev_state_suspend_done = 1030, +}; + +enum { + ncsi_dev_state_registered = 0, + ncsi_dev_state_functional = 256, + ncsi_dev_state_probe = 512, + ncsi_dev_state_config = 768, + ncsi_dev_state_suspend = 1024, +}; + +enum { + none = 0, + day = 1, + month = 2, + year = 3, +}; + +enum { + pci_channel_io_normal = 1, + pci_channel_io_frozen = 2, + pci_channel_io_perm_failure = 3, +}; + +enum { + preempt_dynamic_undefined = -1, + preempt_dynamic_none = 0, + preempt_dynamic_voluntary = 1, + preempt_dynamic_full = 2, + preempt_dynamic_lazy = 3, +}; + +enum { + ptr_explicit = 0, + ptr_ext4_sb_info_offset = 1, + ptr_ext4_super_block_offset = 2, +}; + +enum { + st_wordstart = 0, + st_wordcmp = 1, + st_wordskip = 2, + st_bufcpy = 3, +}; + +enum { + st_wordstart___2 = 0, + st_wordcmp___2 = 1, + st_wordskip___2 = 2, +}; + +enum { + type_kind_int = 0, + type_kind_float = 1, + type_unknown = 65535, +}; + +enum { + x86_lbr_exclusive_lbr = 0, + x86_lbr_exclusive_bts = 1, + x86_lbr_exclusive_pt = 2, + x86_lbr_exclusive_max = 3, +}; + +typedef enum { + BIT_DStream_unfinished = 0, + BIT_DStream_endOfBuffer = 1, + BIT_DStream_completed = 2, + BIT_DStream_overflow = 3, +} BIT_DStream_status; + +typedef enum { + ZSTD_error_no_error = 0, + ZSTD_error_GENERIC = 1, + ZSTD_error_prefix_unknown = 10, + ZSTD_error_version_unsupported = 12, + ZSTD_error_frameParameter_unsupported = 14, + ZSTD_error_frameParameter_windowTooLarge = 16, + ZSTD_error_corruption_detected = 20, + ZSTD_error_checksum_wrong = 22, + ZSTD_error_literals_headerWrong = 24, + ZSTD_error_dictionary_corrupted = 30, + ZSTD_error_dictionary_wrong = 32, + ZSTD_error_dictionaryCreation_failed = 34, + ZSTD_error_parameter_unsupported = 40, + ZSTD_error_parameter_combination_unsupported = 41, + ZSTD_error_parameter_outOfBound = 42, + ZSTD_error_tableLog_tooLarge = 44, + ZSTD_error_maxSymbolValue_tooLarge = 46, + ZSTD_error_maxSymbolValue_tooSmall = 48, + ZSTD_error_cannotProduce_uncompressedBlock = 49, + ZSTD_error_stabilityCondition_notRespected = 50, + ZSTD_error_stage_wrong = 60, + ZSTD_error_init_missing = 62, + ZSTD_error_memory_allocation = 64, + ZSTD_error_workSpace_tooSmall = 66, + ZSTD_error_dstSize_tooSmall = 70, + ZSTD_error_srcSize_wrong = 72, + ZSTD_error_dstBuffer_null = 74, + ZSTD_error_noForwardProgress_destFull = 80, + ZSTD_error_noForwardProgress_inputEmpty = 82, + ZSTD_error_frameIndex_tooLarge = 100, + ZSTD_error_seekableIO = 102, + ZSTD_error_dstBuffer_wrong = 104, + ZSTD_error_srcBuffer_wrong = 105, + ZSTD_error_sequenceProducer_failed = 106, + ZSTD_error_externalSequences_invalid = 107, + ZSTD_error_maxCode = 120, +} ZSTD_ErrorCode; + +typedef ZSTD_ErrorCode ERR_enum; + +typedef enum { + FSE_repeat_none = 0, + FSE_repeat_check = 1, + FSE_repeat_valid = 2, +} FSE_repeat; + +typedef enum { + trustInput = 0, + checkMaxSymbolValue = 1, +} HIST_checkInput_e; + +typedef enum { + HUF_singleStream = 0, + HUF_fourStreams = 1, +} HUF_nbStreams_e; + +typedef enum { + HUF_repeat_none = 0, + HUF_repeat_check = 1, + HUF_repeat_valid = 2, +} HUF_repeat; + +typedef enum { + set_basic = 0, + set_rle = 1, + set_compressed = 2, + set_repeat = 3, +} SymbolEncodingType_e; + +typedef enum { + ZSTD_cpm_noAttachDict = 0, + ZSTD_cpm_attachDict = 1, + ZSTD_cpm_createCDict = 2, + ZSTD_cpm_unknown = 3, +} ZSTD_CParamMode_e; + +typedef enum { + ZSTD_defaultDisallowed = 0, + ZSTD_defaultAllowed = 1, +} ZSTD_DefaultPolicy_e; + +typedef enum { + ZSTD_e_continue = 0, + ZSTD_e_flush = 1, + ZSTD_e_end = 2, +} ZSTD_EndDirective; + +typedef enum { + ZSTD_frame = 0, + ZSTD_skippableFrame = 1, +} ZSTD_FrameType_e; + +typedef enum { + zop_dynamic = 0, + zop_predef = 1, +} ZSTD_OptPrice_e; + +typedef enum { + ZSTD_ps_auto = 0, + ZSTD_ps_enable = 1, + ZSTD_ps_disable = 2, +} ZSTD_ParamSwitch_e; + +typedef enum { + ZSTD_reset_session_only = 1, + ZSTD_reset_parameters = 2, + ZSTD_reset_session_and_parameters = 3, +} ZSTD_ResetDirective; + +typedef enum { + ZSTD_sf_noBlockDelimiters = 0, + ZSTD_sf_explicitBlockDelimiters = 1, +} ZSTD_SequenceFormat_e; + +typedef enum { + ZSTD_bm_buffered = 0, + ZSTD_bm_stable = 1, +} ZSTD_bufferMode_e; + +typedef enum { + ZSTDb_not_buffered = 0, + ZSTDb_buffered = 1, +} ZSTD_buffered_policy_e; + +typedef enum { + ZSTD_c_compressionLevel = 100, + ZSTD_c_windowLog = 101, + ZSTD_c_hashLog = 102, + ZSTD_c_chainLog = 103, + ZSTD_c_searchLog = 104, + ZSTD_c_minMatch = 105, + ZSTD_c_targetLength = 106, + ZSTD_c_strategy = 107, + ZSTD_c_targetCBlockSize = 130, + ZSTD_c_enableLongDistanceMatching = 160, + ZSTD_c_ldmHashLog = 161, + ZSTD_c_ldmMinMatch = 162, + ZSTD_c_ldmBucketSizeLog = 163, + ZSTD_c_ldmHashRateLog = 164, + ZSTD_c_contentSizeFlag = 200, + ZSTD_c_checksumFlag = 201, + ZSTD_c_dictIDFlag = 202, + ZSTD_c_nbWorkers = 400, + ZSTD_c_jobSize = 401, + ZSTD_c_overlapLog = 402, + ZSTD_c_experimentalParam1 = 500, + ZSTD_c_experimentalParam2 = 10, + ZSTD_c_experimentalParam3 = 1000, + ZSTD_c_experimentalParam4 = 1001, + ZSTD_c_experimentalParam5 = 1002, + ZSTD_c_experimentalParam7 = 1004, + ZSTD_c_experimentalParam8 = 1005, + ZSTD_c_experimentalParam9 = 1006, + ZSTD_c_experimentalParam10 = 1007, + ZSTD_c_experimentalParam11 = 1008, + ZSTD_c_experimentalParam12 = 1009, + ZSTD_c_experimentalParam13 = 1010, + ZSTD_c_experimentalParam14 = 1011, + ZSTD_c_experimentalParam15 = 1012, + ZSTD_c_experimentalParam16 = 1013, + ZSTD_c_experimentalParam17 = 1014, + ZSTD_c_experimentalParam18 = 1015, + ZSTD_c_experimentalParam19 = 1016, + ZSTD_c_experimentalParam20 = 1017, +} ZSTD_cParameter; + +typedef enum { + zcss_init = 0, + zcss_load = 1, + zcss_flush = 2, +} ZSTD_cStreamStage; + +typedef enum { + ZSTDcrp_makeClean = 0, + ZSTDcrp_leaveDirty = 1, +} ZSTD_compResetPolicy_e; + +typedef enum { + ZSTDcs_created = 0, + ZSTDcs_init = 1, + ZSTDcs_ongoing = 2, + ZSTDcs_ending = 3, +} ZSTD_compressionStage_e; + +typedef enum { + ZSTD_cwksp_alloc_objects = 0, + ZSTD_cwksp_alloc_aligned_init_once = 1, + ZSTD_cwksp_alloc_aligned = 2, + ZSTD_cwksp_alloc_buffers = 3, +} ZSTD_cwksp_alloc_phase_e; + +typedef enum { + ZSTD_cwksp_dynamic_alloc = 0, + ZSTD_cwksp_static_alloc = 1, +} ZSTD_cwksp_static_alloc_e; + +typedef enum { + ZSTD_d_windowLogMax = 100, + ZSTD_d_experimentalParam1 = 1000, + ZSTD_d_experimentalParam2 = 1001, + ZSTD_d_experimentalParam3 = 1002, + ZSTD_d_experimentalParam4 = 1003, + ZSTD_d_experimentalParam5 = 1004, + ZSTD_d_experimentalParam6 = 1005, +} ZSTD_dParameter; + +typedef enum { + ZSTDds_getFrameHeaderSize = 0, + ZSTDds_decodeFrameHeader = 1, + ZSTDds_decodeBlockHeader = 2, + ZSTDds_decompressBlock = 3, + ZSTDds_decompressLastBlock = 4, + ZSTDds_checkChecksum = 5, + ZSTDds_decodeSkippableHeader = 6, + ZSTDds_skipFrame = 7, +} ZSTD_dStage; + +typedef enum { + zdss_init = 0, + zdss_loadHeader = 1, + zdss_read = 2, + zdss_load = 3, + zdss_flush = 4, +} ZSTD_dStreamStage; + +typedef enum { + ZSTD_dictDefaultAttach = 0, + ZSTD_dictForceAttach = 1, + ZSTD_dictForceCopy = 2, + ZSTD_dictForceLoad = 3, +} ZSTD_dictAttachPref_e; + +typedef enum { + ZSTD_dct_auto = 0, + ZSTD_dct_rawContent = 1, + ZSTD_dct_fullDict = 2, +} ZSTD_dictContentType_e; + +typedef enum { + ZSTD_dlm_byCopy = 0, + ZSTD_dlm_byRef = 1, +} ZSTD_dictLoadMethod_e; + +typedef enum { + ZSTD_noDict = 0, + ZSTD_extDict = 1, + ZSTD_dictMatchState = 2, + ZSTD_dedicatedDictSearch = 3, +} ZSTD_dictMode_e; + +typedef enum { + ZSTD_dtlm_fast = 0, + ZSTD_dtlm_full = 1, +} ZSTD_dictTableLoadMethod_e; + +typedef enum { + ZSTD_use_indefinitely = -1, + ZSTD_dont_use = 0, + ZSTD_use_once = 1, +} ZSTD_dictUses_e; + +typedef enum { + ZSTD_d_validateChecksum = 0, + ZSTD_d_ignoreChecksum = 1, +} ZSTD_forceIgnoreChecksum_e; + +typedef enum { + ZSTD_f_zstd1 = 0, + ZSTD_f_zstd1_magicless = 1, +} ZSTD_format_e; + +typedef enum { + ZSTDirp_continue = 0, + ZSTDirp_reset = 1, +} ZSTD_indexResetPolicy_e; + +typedef enum { + ZSTD_not_in_dst = 0, + ZSTD_in_dst = 1, + ZSTD_split = 2, +} ZSTD_litLocation_e; + +typedef enum { + ZSTD_llt_none = 0, + ZSTD_llt_literalLength = 1, + ZSTD_llt_matchLength = 2, +} ZSTD_longLengthType_e; + +typedef enum { + ZSTD_lo_isRegularOffset = 0, + ZSTD_lo_isLongOffset = 1, +} ZSTD_longOffset_e; + +typedef enum { + ZSTDnit_frameHeader = 0, + ZSTDnit_blockHeader = 1, + ZSTDnit_block = 2, + ZSTDnit_lastBlock = 3, + ZSTDnit_checksum = 4, + ZSTDnit_skippableFrame = 5, +} ZSTD_nextInputType_e; + +typedef enum { + ZSTD_no_overlap = 0, + ZSTD_overlap_src_before_dst = 1, +} ZSTD_overlap_e; + +typedef enum { + ZSTD_rmd_refSingleDDict = 0, + ZSTD_rmd_refMultipleDDicts = 1, +} ZSTD_refMultipleDDicts_e; + +typedef enum { + ZSTD_resetTarget_CDict = 0, + ZSTD_resetTarget_CCtx = 1, +} ZSTD_resetTarget_e; + +typedef enum { + ZSTD_fast = 1, + ZSTD_dfast = 2, + ZSTD_greedy = 3, + ZSTD_lazy = 4, + ZSTD_lazy2 = 5, + ZSTD_btlazy2 = 6, + ZSTD_btopt = 7, + ZSTD_btultra = 8, + ZSTD_btultra2 = 9, +} ZSTD_strategy; + +typedef enum { + ZSTD_tfp_forCCtx = 0, + ZSTD_tfp_forCDict = 1, +} ZSTD_tableFillPurpose_e; + +typedef enum { + OSL_GLOBAL_LOCK_HANDLER = 0, + OSL_NOTIFY_HANDLER = 1, + OSL_GPE_HANDLER = 2, + OSL_DEBUGGER_MAIN_THREAD = 3, + OSL_DEBUGGER_EXEC_THREAD = 4, + OSL_EC_POLL_HANDLER = 5, + OSL_EC_BURST_HANDLER = 6, +} acpi_execute_type; + +typedef enum { + ACPI_IMODE_LOAD_PASS1 = 1, + ACPI_IMODE_LOAD_PASS2 = 2, + ACPI_IMODE_EXECUTE = 3, +} acpi_interpreter_mode; + +typedef enum { + ACPI_TRACE_AML_METHOD = 0, + ACPI_TRACE_AML_OPCODE = 1, + ACPI_TRACE_AML_REGION = 2, +} acpi_trace_event_type; + +typedef enum { + base_0possible = 0, + base_1guaranteed = 1, +} base_directive_e; + +typedef enum { + bt_raw = 0, + bt_rle = 1, + bt_compressed = 2, + bt_reserved = 3, +} blockType_e; + +typedef enum { + need_more = 0, + block_done = 1, + finish_started = 2, + finish_done = 3, +} block_state; + +typedef enum { + CODES = 0, + LENS = 1, + DISTS = 2, +} codetype; + +typedef enum { + FILE_MEMORY_MIGRATE = 0, + FILE_CPULIST = 1, + FILE_MEMLIST = 2, + FILE_EFFECTIVE_CPULIST = 3, + FILE_EFFECTIVE_MEMLIST = 4, + FILE_SUBPARTS_CPULIST = 5, + FILE_EXCLUSIVE_CPULIST = 6, + FILE_EFFECTIVE_XCPULIST = 7, + FILE_ISOLATED_CPULIST = 8, + FILE_CPU_EXCLUSIVE = 9, + FILE_MEM_EXCLUSIVE = 10, + FILE_MEM_HARDWALL = 11, + FILE_SCHED_LOAD_BALANCE = 12, + FILE_PARTITION_ROOT = 13, + FILE_SCHED_RELAX_DOMAIN_LEVEL = 14, + FILE_MEMORY_PRESSURE_ENABLED = 15, + FILE_MEMORY_PRESSURE = 16, + FILE_SPREAD_PAGE = 17, + FILE_SPREAD_SLAB = 18, +} cpuset_filetype_t; + +typedef enum { + CS_ONLINE = 0, + CS_CPU_EXCLUSIVE = 1, + CS_MEM_EXCLUSIVE = 2, + CS_MEM_HARDWALL = 3, + CS_MEMORY_MIGRATE = 4, + CS_SCHED_LOAD_BALANCE = 5, + CS_SPREAD_PAGE = 6, + CS_SPREAD_SLAB = 7, +} cpuset_flagbits_t; + +typedef enum { + noDict = 0, + withPrefix64k = 1, + usingExtDict = 2, +} dict_directive; + +typedef enum { + EITHER = 0, + INDEX = 1, + DIRENT = 2, + DIRENT_HTREE = 3, +} dirblock_type_t; + +typedef enum { + decode_full_block = 0, + partial_decode = 1, +} earlyEnd_directive; + +typedef enum { + endOnOutputSize = 0, + endOnInputSize = 1, +} endCondition_directive; + +typedef enum { + EXT4_IGET_NORMAL = 0, + EXT4_IGET_SPECIAL = 1, + EXT4_IGET_HANDLE = 2, + EXT4_IGET_BAD = 4, + EXT4_IGET_EA_INODE = 8, +} ext4_iget_flags; + +typedef enum { + FS_DECRYPT = 0, + FS_ENCRYPT = 1, +} fscrypt_direction_t; + +typedef enum { + HEAD = 0, + FLAGS = 1, + TIME = 2, + OS = 3, + EXLEN = 4, + EXTRA = 5, + NAME = 6, + COMMENT = 7, + HCRC = 8, + DICTID = 9, + DICT = 10, + TYPE = 11, + TYPEDO = 12, + STORED = 13, + COPY = 14, + TABLE = 15, + LENLENS = 16, + CODELENS = 17, + LEN = 18, + LENEXT = 19, + DIST = 20, + DISTEXT = 21, + MATCH = 22, + LIT = 23, + CHECK = 24, + LENGTH = 25, + DONE = 26, + BAD = 27, + MEM = 28, + SYNC = 29, +} inflate_mode; + +typedef enum { + ISOLATE_ABORT = 0, + ISOLATE_NONE = 1, + ISOLATE_SUCCESS = 2, +} isolate_migrate_t; + +typedef enum { + KDB_ENABLE_ALL = 1, + KDB_ENABLE_MEM_READ = 2, + KDB_ENABLE_MEM_WRITE = 4, + KDB_ENABLE_REG_READ = 8, + KDB_ENABLE_REG_WRITE = 16, + KDB_ENABLE_INSPECT = 32, + KDB_ENABLE_FLOW_CTRL = 64, + KDB_ENABLE_SIGNAL = 128, + KDB_ENABLE_REBOOT = 256, + KDB_ENABLE_ALWAYS_SAFE = 512, + KDB_ENABLE_MASK = 1023, + KDB_ENABLE_ALL_NO_ARGS = 1024, + KDB_ENABLE_MEM_READ_NO_ARGS = 2048, + KDB_ENABLE_MEM_WRITE_NO_ARGS = 4096, + KDB_ENABLE_REG_READ_NO_ARGS = 8192, + KDB_ENABLE_REG_WRITE_NO_ARGS = 16384, + KDB_ENABLE_INSPECT_NO_ARGS = 32768, + KDB_ENABLE_FLOW_CTRL_NO_ARGS = 65536, + KDB_ENABLE_SIGNAL_NO_ARGS = 131072, + KDB_ENABLE_REBOOT_NO_ARGS = 262144, + KDB_ENABLE_ALWAYS_SAFE_NO_ARGS = 524288, + KDB_ENABLE_MASK_NO_ARGS = 1047552, + KDB_REPEAT_NO_ARGS = 1073741824, + KDB_REPEAT_WITH_ARGS = 2147483648, +} kdb_cmdflags_t; + +typedef enum { + KDB_DB_BPT = 0, + KDB_DB_SS = 1, + KDB_DB_SSBPT = 2, + KDB_DB_NOBPT = 3, +} kdb_dbtrap_t; + +typedef enum { + KDB_REASON_ENTER = 1, + KDB_REASON_ENTER_SLAVE = 2, + KDB_REASON_BREAK = 3, + KDB_REASON_DEBUG = 4, + KDB_REASON_OOPS = 5, + KDB_REASON_SWITCH = 6, + KDB_REASON_KEYBOARD = 7, + KDB_REASON_NMI = 8, + KDB_REASON_RECURSE = 9, + KDB_REASON_SSTEP = 10, + KDB_REASON_SYSTEM_NMI = 11, +} kdb_reason_t; + +typedef enum { + MAP_CHG_REUSE = 0, + MAP_CHG_NEEDED = 1, + MAP_CHG_ENFORCED = 2, +} map_chg_state; + +typedef enum { + PAGE_KEEP = 0, + PAGE_ACTIVATE = 1, + PAGE_SUCCESS = 2, + PAGE_CLEAN = 3, +} pageout_t; + +typedef enum { + PHY_INTERFACE_MODE_NA = 0, + PHY_INTERFACE_MODE_INTERNAL = 1, + PHY_INTERFACE_MODE_MII = 2, + PHY_INTERFACE_MODE_GMII = 3, + PHY_INTERFACE_MODE_SGMII = 4, + PHY_INTERFACE_MODE_TBI = 5, + PHY_INTERFACE_MODE_REVMII = 6, + PHY_INTERFACE_MODE_RMII = 7, + PHY_INTERFACE_MODE_REVRMII = 8, + PHY_INTERFACE_MODE_RGMII = 9, + PHY_INTERFACE_MODE_RGMII_ID = 10, + PHY_INTERFACE_MODE_RGMII_RXID = 11, + PHY_INTERFACE_MODE_RGMII_TXID = 12, + PHY_INTERFACE_MODE_RTBI = 13, + PHY_INTERFACE_MODE_SMII = 14, + PHY_INTERFACE_MODE_XGMII = 15, + PHY_INTERFACE_MODE_XLGMII = 16, + PHY_INTERFACE_MODE_MOCA = 17, + PHY_INTERFACE_MODE_PSGMII = 18, + PHY_INTERFACE_MODE_QSGMII = 19, + PHY_INTERFACE_MODE_TRGMII = 20, + PHY_INTERFACE_MODE_100BASEX = 21, + PHY_INTERFACE_MODE_1000BASEX = 22, + PHY_INTERFACE_MODE_2500BASEX = 23, + PHY_INTERFACE_MODE_5GBASER = 24, + PHY_INTERFACE_MODE_RXAUI = 25, + PHY_INTERFACE_MODE_XAUI = 26, + PHY_INTERFACE_MODE_10GBASER = 27, + PHY_INTERFACE_MODE_25GBASER = 28, + PHY_INTERFACE_MODE_USXGMII = 29, + PHY_INTERFACE_MODE_10GKR = 30, + PHY_INTERFACE_MODE_QUSGMII = 31, + PHY_INTERFACE_MODE_1000BASEKX = 32, + PHY_INTERFACE_MODE_10G_QXGMII = 33, + PHY_INTERFACE_MODE_50GBASER = 34, + PHY_INTERFACE_MODE_LAUI = 35, + PHY_INTERFACE_MODE_100GBASEP = 36, + PHY_INTERFACE_MODE_MIILITE = 37, + PHY_INTERFACE_MODE_MAX = 38, +} phy_interface_t; + +typedef enum { + search_hashChain = 0, + search_binaryTree = 1, + search_rowHash = 2, +} searchMethod_e; + +typedef enum { + SS_FREE = 0, + SS_UNCONNECTED = 1, + SS_CONNECTING = 2, + SS_CONNECTED = 3, + SS_DISCONNECTING = 4, +} socket_state; + +typedef enum { + STATUSTYPE_INFO = 0, + STATUSTYPE_TABLE = 1, + STATUSTYPE_IMA = 2, +} status_type_t; + +typedef enum { + not_streaming = 0, + is_streaming = 1, +} streaming_operation; + +typedef ZSTD_cParameter zstd_cparameter; + +typedef ZSTD_ErrorCode zstd_error_code; + +enum CSI_J { + CSI_J_CURSOR_TO_END = 0, + CSI_J_START_TO_CURSOR = 1, + CSI_J_VISIBLE = 2, + CSI_J_FULL = 3, +}; + +enum CSI_right_square_bracket { + CSI_RSB_COLOR_FOR_UNDERLINE = 1, + CSI_RSB_COLOR_FOR_HALF_BRIGHT = 2, + CSI_RSB_MAKE_CUR_COLOR_DEFAULT = 8, + CSI_RSB_BLANKING_INTERVAL = 9, + CSI_RSB_BELL_FREQUENCY = 10, + CSI_RSB_BELL_DURATION = 11, + CSI_RSB_BRING_CONSOLE_TO_FRONT = 12, + CSI_RSB_UNBLANK = 13, + CSI_RSB_VESA_OFF_INTERVAL = 14, + CSI_RSB_BRING_PREV_CONSOLE_TO_FRONT = 15, + CSI_RSB_CURSOR_BLINK_INTERVAL = 16, +}; + +enum KTHREAD_BITS { + KTHREAD_IS_PER_CPU = 0, + KTHREAD_SHOULD_STOP = 1, + KTHREAD_SHOULD_PARK = 2, +}; + +enum NPmode { + NPMODE_PASS = 0, + NPMODE_DROP = 1, + NPMODE_ERROR = 2, + NPMODE_QUEUE = 3, +}; + +enum OID { + OID_id_dsa_with_sha1 = 0, + OID_id_dsa = 1, + OID_id_ecPublicKey = 2, + OID_id_prime192v1 = 3, + OID_id_prime256v1 = 4, + OID_id_ecdsa_with_sha1 = 5, + OID_id_ecdsa_with_sha224 = 6, + OID_id_ecdsa_with_sha256 = 7, + OID_id_ecdsa_with_sha384 = 8, + OID_id_ecdsa_with_sha512 = 9, + OID_rsaEncryption = 10, + OID_sha1WithRSAEncryption = 11, + OID_sha256WithRSAEncryption = 12, + OID_sha384WithRSAEncryption = 13, + OID_sha512WithRSAEncryption = 14, + OID_sha224WithRSAEncryption = 15, + OID_data = 16, + OID_signed_data = 17, + OID_email_address = 18, + OID_contentType = 19, + OID_messageDigest = 20, + OID_signingTime = 21, + OID_smimeCapabilites = 22, + OID_smimeAuthenticatedAttrs = 23, + OID_mskrb5 = 24, + OID_krb5 = 25, + OID_krb5u2u = 26, + OID_msIndirectData = 27, + OID_msStatementType = 28, + OID_msSpOpusInfo = 29, + OID_msPeImageDataObjId = 30, + OID_msIndividualSPKeyPurpose = 31, + OID_msOutlookExpress = 32, + OID_ntlmssp = 33, + OID_negoex = 34, + OID_spnego = 35, + OID_IAKerb = 36, + OID_PKU2U = 37, + OID_Scram = 38, + OID_certAuthInfoAccess = 39, + OID_sha1 = 40, + OID_id_ansip384r1 = 41, + OID_id_ansip521r1 = 42, + OID_sha256 = 43, + OID_sha384 = 44, + OID_sha512 = 45, + OID_sha224 = 46, + OID_commonName = 47, + OID_surname = 48, + OID_countryName = 49, + OID_locality = 50, + OID_stateOrProvinceName = 51, + OID_organizationName = 52, + OID_organizationUnitName = 53, + OID_title = 54, + OID_description = 55, + OID_name = 56, + OID_givenName = 57, + OID_initials = 58, + OID_generationalQualifier = 59, + OID_subjectKeyIdentifier = 60, + OID_keyUsage = 61, + OID_subjectAltName = 62, + OID_issuerAltName = 63, + OID_basicConstraints = 64, + OID_crlDistributionPoints = 65, + OID_certPolicies = 66, + OID_authorityKeyIdentifier = 67, + OID_extKeyUsage = 68, + OID_NetlogonMechanism = 69, + OID_appleLocalKdcSupported = 70, + OID_gostCPSignA = 71, + OID_gostCPSignB = 72, + OID_gostCPSignC = 73, + OID_gost2012PKey256 = 74, + OID_gost2012PKey512 = 75, + OID_gost2012Digest256 = 76, + OID_gost2012Digest512 = 77, + OID_gost2012Signature256 = 78, + OID_gost2012Signature512 = 79, + OID_gostTC26Sign256A = 80, + OID_gostTC26Sign256B = 81, + OID_gostTC26Sign256C = 82, + OID_gostTC26Sign256D = 83, + OID_gostTC26Sign512A = 84, + OID_gostTC26Sign512B = 85, + OID_gostTC26Sign512C = 86, + OID_sm2 = 87, + OID_sm3 = 88, + OID_SM2_with_SM3 = 89, + OID_sm3WithRSAEncryption = 90, + OID_TPMLoadableKey = 91, + OID_TPMImportableKey = 92, + OID_TPMSealedData = 93, + OID_sha3_256 = 94, + OID_sha3_384 = 95, + OID_sha3_512 = 96, + OID_id_ecdsa_with_sha3_256 = 97, + OID_id_ecdsa_with_sha3_384 = 98, + OID_id_ecdsa_with_sha3_512 = 99, + OID_id_rsassa_pkcs1_v1_5_with_sha3_256 = 100, + OID_id_rsassa_pkcs1_v1_5_with_sha3_384 = 101, + OID_id_rsassa_pkcs1_v1_5_with_sha3_512 = 102, + OID__NR = 103, +}; + +enum Opt_errors { + Opt_errors_continue = 0, + Opt_errors_panic = 1, +}; + +enum P4_ESCR_EMASKS { + P4_EVENT_TC_DELIVER_MODE__DD = 512, + P4_EVENT_TC_DELIVER_MODE__DB = 1024, + P4_EVENT_TC_DELIVER_MODE__DI = 2048, + P4_EVENT_TC_DELIVER_MODE__BD = 4096, + P4_EVENT_TC_DELIVER_MODE__BB = 8192, + P4_EVENT_TC_DELIVER_MODE__BI = 16384, + P4_EVENT_TC_DELIVER_MODE__ID = 32768, + P4_EVENT_BPU_FETCH_REQUEST__TCMISS = 512, + P4_EVENT_ITLB_REFERENCE__HIT = 512, + P4_EVENT_ITLB_REFERENCE__MISS = 1024, + P4_EVENT_ITLB_REFERENCE__HIT_UK = 2048, + P4_EVENT_MEMORY_CANCEL__ST_RB_FULL = 2048, + P4_EVENT_MEMORY_CANCEL__64K_CONF = 4096, + P4_EVENT_MEMORY_COMPLETE__LSC = 512, + P4_EVENT_MEMORY_COMPLETE__SSC = 1024, + P4_EVENT_LOAD_PORT_REPLAY__SPLIT_LD = 1024, + P4_EVENT_STORE_PORT_REPLAY__SPLIT_ST = 1024, + P4_EVENT_MOB_LOAD_REPLAY__NO_STA = 1024, + P4_EVENT_MOB_LOAD_REPLAY__NO_STD = 4096, + P4_EVENT_MOB_LOAD_REPLAY__PARTIAL_DATA = 8192, + P4_EVENT_MOB_LOAD_REPLAY__UNALGN_ADDR = 16384, + P4_EVENT_PAGE_WALK_TYPE__DTMISS = 512, + P4_EVENT_PAGE_WALK_TYPE__ITMISS = 1024, + P4_EVENT_BSQ_CACHE_REFERENCE__RD_2ndL_HITS = 512, + P4_EVENT_BSQ_CACHE_REFERENCE__RD_2ndL_HITE = 1024, + P4_EVENT_BSQ_CACHE_REFERENCE__RD_2ndL_HITM = 2048, + P4_EVENT_BSQ_CACHE_REFERENCE__RD_3rdL_HITS = 4096, + P4_EVENT_BSQ_CACHE_REFERENCE__RD_3rdL_HITE = 8192, + P4_EVENT_BSQ_CACHE_REFERENCE__RD_3rdL_HITM = 16384, + P4_EVENT_BSQ_CACHE_REFERENCE__RD_2ndL_MISS = 131072, + P4_EVENT_BSQ_CACHE_REFERENCE__RD_3rdL_MISS = 262144, + P4_EVENT_BSQ_CACHE_REFERENCE__WR_2ndL_MISS = 524288, + P4_EVENT_IOQ_ALLOCATION__DEFAULT = 512, + P4_EVENT_IOQ_ALLOCATION__ALL_READ = 16384, + P4_EVENT_IOQ_ALLOCATION__ALL_WRITE = 32768, + P4_EVENT_IOQ_ALLOCATION__MEM_UC = 65536, + P4_EVENT_IOQ_ALLOCATION__MEM_WC = 131072, + P4_EVENT_IOQ_ALLOCATION__MEM_WT = 262144, + P4_EVENT_IOQ_ALLOCATION__MEM_WP = 524288, + P4_EVENT_IOQ_ALLOCATION__MEM_WB = 1048576, + P4_EVENT_IOQ_ALLOCATION__OWN = 4194304, + P4_EVENT_IOQ_ALLOCATION__OTHER = 8388608, + P4_EVENT_IOQ_ALLOCATION__PREFETCH = 16777216, + P4_EVENT_IOQ_ACTIVE_ENTRIES__DEFAULT = 512, + P4_EVENT_IOQ_ACTIVE_ENTRIES__ALL_READ = 16384, + P4_EVENT_IOQ_ACTIVE_ENTRIES__ALL_WRITE = 32768, + P4_EVENT_IOQ_ACTIVE_ENTRIES__MEM_UC = 65536, + P4_EVENT_IOQ_ACTIVE_ENTRIES__MEM_WC = 131072, + P4_EVENT_IOQ_ACTIVE_ENTRIES__MEM_WT = 262144, + P4_EVENT_IOQ_ACTIVE_ENTRIES__MEM_WP = 524288, + P4_EVENT_IOQ_ACTIVE_ENTRIES__MEM_WB = 1048576, + P4_EVENT_IOQ_ACTIVE_ENTRIES__OWN = 4194304, + P4_EVENT_IOQ_ACTIVE_ENTRIES__OTHER = 8388608, + P4_EVENT_IOQ_ACTIVE_ENTRIES__PREFETCH = 16777216, + P4_EVENT_FSB_DATA_ACTIVITY__DRDY_DRV = 512, + P4_EVENT_FSB_DATA_ACTIVITY__DRDY_OWN = 1024, + P4_EVENT_FSB_DATA_ACTIVITY__DRDY_OTHER = 2048, + P4_EVENT_FSB_DATA_ACTIVITY__DBSY_DRV = 4096, + P4_EVENT_FSB_DATA_ACTIVITY__DBSY_OWN = 8192, + P4_EVENT_FSB_DATA_ACTIVITY__DBSY_OTHER = 16384, + P4_EVENT_BSQ_ALLOCATION__REQ_TYPE0 = 512, + P4_EVENT_BSQ_ALLOCATION__REQ_TYPE1 = 1024, + P4_EVENT_BSQ_ALLOCATION__REQ_LEN0 = 2048, + P4_EVENT_BSQ_ALLOCATION__REQ_LEN1 = 4096, + P4_EVENT_BSQ_ALLOCATION__REQ_IO_TYPE = 16384, + P4_EVENT_BSQ_ALLOCATION__REQ_LOCK_TYPE = 32768, + P4_EVENT_BSQ_ALLOCATION__REQ_CACHE_TYPE = 65536, + P4_EVENT_BSQ_ALLOCATION__REQ_SPLIT_TYPE = 131072, + P4_EVENT_BSQ_ALLOCATION__REQ_DEM_TYPE = 262144, + P4_EVENT_BSQ_ALLOCATION__REQ_ORD_TYPE = 524288, + P4_EVENT_BSQ_ALLOCATION__MEM_TYPE0 = 1048576, + P4_EVENT_BSQ_ALLOCATION__MEM_TYPE1 = 2097152, + P4_EVENT_BSQ_ALLOCATION__MEM_TYPE2 = 4194304, + P4_EVENT_BSQ_ACTIVE_ENTRIES__REQ_TYPE0 = 512, + P4_EVENT_BSQ_ACTIVE_ENTRIES__REQ_TYPE1 = 1024, + P4_EVENT_BSQ_ACTIVE_ENTRIES__REQ_LEN0 = 2048, + P4_EVENT_BSQ_ACTIVE_ENTRIES__REQ_LEN1 = 4096, + P4_EVENT_BSQ_ACTIVE_ENTRIES__REQ_IO_TYPE = 16384, + P4_EVENT_BSQ_ACTIVE_ENTRIES__REQ_LOCK_TYPE = 32768, + P4_EVENT_BSQ_ACTIVE_ENTRIES__REQ_CACHE_TYPE = 65536, + P4_EVENT_BSQ_ACTIVE_ENTRIES__REQ_SPLIT_TYPE = 131072, + P4_EVENT_BSQ_ACTIVE_ENTRIES__REQ_DEM_TYPE = 262144, + P4_EVENT_BSQ_ACTIVE_ENTRIES__REQ_ORD_TYPE = 524288, + P4_EVENT_BSQ_ACTIVE_ENTRIES__MEM_TYPE0 = 1048576, + P4_EVENT_BSQ_ACTIVE_ENTRIES__MEM_TYPE1 = 2097152, + P4_EVENT_BSQ_ACTIVE_ENTRIES__MEM_TYPE2 = 4194304, + P4_EVENT_SSE_INPUT_ASSIST__ALL = 16777216, + P4_EVENT_PACKED_SP_UOP__ALL = 16777216, + P4_EVENT_PACKED_DP_UOP__ALL = 16777216, + P4_EVENT_SCALAR_SP_UOP__ALL = 16777216, + P4_EVENT_SCALAR_DP_UOP__ALL = 16777216, + P4_EVENT_64BIT_MMX_UOP__ALL = 16777216, + P4_EVENT_128BIT_MMX_UOP__ALL = 16777216, + P4_EVENT_X87_FP_UOP__ALL = 16777216, + P4_EVENT_TC_MISC__FLUSH = 8192, + P4_EVENT_GLOBAL_POWER_EVENTS__RUNNING = 512, + P4_EVENT_TC_MS_XFER__CISC = 512, + P4_EVENT_UOP_QUEUE_WRITES__FROM_TC_BUILD = 512, + P4_EVENT_UOP_QUEUE_WRITES__FROM_TC_DELIVER = 1024, + P4_EVENT_UOP_QUEUE_WRITES__FROM_ROM = 2048, + P4_EVENT_RETIRED_MISPRED_BRANCH_TYPE__CONDITIONAL = 1024, + P4_EVENT_RETIRED_MISPRED_BRANCH_TYPE__CALL = 2048, + P4_EVENT_RETIRED_MISPRED_BRANCH_TYPE__RETURN = 4096, + P4_EVENT_RETIRED_MISPRED_BRANCH_TYPE__INDIRECT = 8192, + P4_EVENT_RETIRED_BRANCH_TYPE__CONDITIONAL = 1024, + P4_EVENT_RETIRED_BRANCH_TYPE__CALL = 2048, + P4_EVENT_RETIRED_BRANCH_TYPE__RETURN = 4096, + P4_EVENT_RETIRED_BRANCH_TYPE__INDIRECT = 8192, + P4_EVENT_RESOURCE_STALL__SBFULL = 16384, + P4_EVENT_WC_BUFFER__WCB_EVICTS = 512, + P4_EVENT_WC_BUFFER__WCB_FULL_EVICTS = 1024, + P4_EVENT_FRONT_END_EVENT__NBOGUS = 512, + P4_EVENT_FRONT_END_EVENT__BOGUS = 1024, + P4_EVENT_EXECUTION_EVENT__NBOGUS0 = 512, + P4_EVENT_EXECUTION_EVENT__NBOGUS1 = 1024, + P4_EVENT_EXECUTION_EVENT__NBOGUS2 = 2048, + P4_EVENT_EXECUTION_EVENT__NBOGUS3 = 4096, + P4_EVENT_EXECUTION_EVENT__BOGUS0 = 8192, + P4_EVENT_EXECUTION_EVENT__BOGUS1 = 16384, + P4_EVENT_EXECUTION_EVENT__BOGUS2 = 32768, + P4_EVENT_EXECUTION_EVENT__BOGUS3 = 65536, + P4_EVENT_REPLAY_EVENT__NBOGUS = 512, + P4_EVENT_REPLAY_EVENT__BOGUS = 1024, + P4_EVENT_INSTR_RETIRED__NBOGUSNTAG = 512, + P4_EVENT_INSTR_RETIRED__NBOGUSTAG = 1024, + P4_EVENT_INSTR_RETIRED__BOGUSNTAG = 2048, + P4_EVENT_INSTR_RETIRED__BOGUSTAG = 4096, + P4_EVENT_UOPS_RETIRED__NBOGUS = 512, + P4_EVENT_UOPS_RETIRED__BOGUS = 1024, + P4_EVENT_UOP_TYPE__TAGLOADS = 1024, + P4_EVENT_UOP_TYPE__TAGSTORES = 2048, + P4_EVENT_BRANCH_RETIRED__MMNP = 512, + P4_EVENT_BRANCH_RETIRED__MMNM = 1024, + P4_EVENT_BRANCH_RETIRED__MMTP = 2048, + P4_EVENT_BRANCH_RETIRED__MMTM = 4096, + P4_EVENT_MISPRED_BRANCH_RETIRED__NBOGUS = 512, + P4_EVENT_X87_ASSIST__FPSU = 512, + P4_EVENT_X87_ASSIST__FPSO = 1024, + P4_EVENT_X87_ASSIST__POAO = 2048, + P4_EVENT_X87_ASSIST__POAU = 4096, + P4_EVENT_X87_ASSIST__PREA = 8192, + P4_EVENT_MACHINE_CLEAR__CLEAR = 512, + P4_EVENT_MACHINE_CLEAR__MOCLEAR = 1024, + P4_EVENT_MACHINE_CLEAR__SMCLEAR = 2048, + P4_EVENT_INSTR_COMPLETED__NBOGUS = 512, + P4_EVENT_INSTR_COMPLETED__BOGUS = 1024, +}; + +enum P4_EVENTS { + P4_EVENT_TC_DELIVER_MODE = 0, + P4_EVENT_BPU_FETCH_REQUEST = 1, + P4_EVENT_ITLB_REFERENCE = 2, + P4_EVENT_MEMORY_CANCEL = 3, + P4_EVENT_MEMORY_COMPLETE = 4, + P4_EVENT_LOAD_PORT_REPLAY = 5, + P4_EVENT_STORE_PORT_REPLAY = 6, + P4_EVENT_MOB_LOAD_REPLAY = 7, + P4_EVENT_PAGE_WALK_TYPE = 8, + P4_EVENT_BSQ_CACHE_REFERENCE = 9, + P4_EVENT_IOQ_ALLOCATION = 10, + P4_EVENT_IOQ_ACTIVE_ENTRIES = 11, + P4_EVENT_FSB_DATA_ACTIVITY = 12, + P4_EVENT_BSQ_ALLOCATION = 13, + P4_EVENT_BSQ_ACTIVE_ENTRIES = 14, + P4_EVENT_SSE_INPUT_ASSIST = 15, + P4_EVENT_PACKED_SP_UOP = 16, + P4_EVENT_PACKED_DP_UOP = 17, + P4_EVENT_SCALAR_SP_UOP = 18, + P4_EVENT_SCALAR_DP_UOP = 19, + P4_EVENT_64BIT_MMX_UOP = 20, + P4_EVENT_128BIT_MMX_UOP = 21, + P4_EVENT_X87_FP_UOP = 22, + P4_EVENT_TC_MISC = 23, + P4_EVENT_GLOBAL_POWER_EVENTS = 24, + P4_EVENT_TC_MS_XFER = 25, + P4_EVENT_UOP_QUEUE_WRITES = 26, + P4_EVENT_RETIRED_MISPRED_BRANCH_TYPE = 27, + P4_EVENT_RETIRED_BRANCH_TYPE = 28, + P4_EVENT_RESOURCE_STALL = 29, + P4_EVENT_WC_BUFFER = 30, + P4_EVENT_B2B_CYCLES = 31, + P4_EVENT_BNR = 32, + P4_EVENT_SNOOP = 33, + P4_EVENT_RESPONSE = 34, + P4_EVENT_FRONT_END_EVENT = 35, + P4_EVENT_EXECUTION_EVENT = 36, + P4_EVENT_REPLAY_EVENT = 37, + P4_EVENT_INSTR_RETIRED = 38, + P4_EVENT_UOPS_RETIRED = 39, + P4_EVENT_UOP_TYPE = 40, + P4_EVENT_BRANCH_RETIRED = 41, + P4_EVENT_MISPRED_BRANCH_RETIRED = 42, + P4_EVENT_X87_ASSIST = 43, + P4_EVENT_MACHINE_CLEAR = 44, + P4_EVENT_INSTR_COMPLETED = 45, +}; + +enum P4_EVENT_OPCODES { + P4_EVENT_TC_DELIVER_MODE_OPCODE = 257, + P4_EVENT_BPU_FETCH_REQUEST_OPCODE = 768, + P4_EVENT_ITLB_REFERENCE_OPCODE = 6147, + P4_EVENT_MEMORY_CANCEL_OPCODE = 517, + P4_EVENT_MEMORY_COMPLETE_OPCODE = 2050, + P4_EVENT_LOAD_PORT_REPLAY_OPCODE = 1026, + P4_EVENT_STORE_PORT_REPLAY_OPCODE = 1282, + P4_EVENT_MOB_LOAD_REPLAY_OPCODE = 770, + P4_EVENT_PAGE_WALK_TYPE_OPCODE = 260, + P4_EVENT_BSQ_CACHE_REFERENCE_OPCODE = 3079, + P4_EVENT_IOQ_ALLOCATION_OPCODE = 774, + P4_EVENT_IOQ_ACTIVE_ENTRIES_OPCODE = 6662, + P4_EVENT_FSB_DATA_ACTIVITY_OPCODE = 5894, + P4_EVENT_BSQ_ALLOCATION_OPCODE = 1287, + P4_EVENT_BSQ_ACTIVE_ENTRIES_OPCODE = 1543, + P4_EVENT_SSE_INPUT_ASSIST_OPCODE = 13313, + P4_EVENT_PACKED_SP_UOP_OPCODE = 2049, + P4_EVENT_PACKED_DP_UOP_OPCODE = 3073, + P4_EVENT_SCALAR_SP_UOP_OPCODE = 2561, + P4_EVENT_SCALAR_DP_UOP_OPCODE = 3585, + P4_EVENT_64BIT_MMX_UOP_OPCODE = 513, + P4_EVENT_128BIT_MMX_UOP_OPCODE = 6657, + P4_EVENT_X87_FP_UOP_OPCODE = 1025, + P4_EVENT_TC_MISC_OPCODE = 1537, + P4_EVENT_GLOBAL_POWER_EVENTS_OPCODE = 4870, + P4_EVENT_TC_MS_XFER_OPCODE = 1280, + P4_EVENT_UOP_QUEUE_WRITES_OPCODE = 2304, + P4_EVENT_RETIRED_MISPRED_BRANCH_TYPE_OPCODE = 1282, + P4_EVENT_RETIRED_BRANCH_TYPE_OPCODE = 1026, + P4_EVENT_RESOURCE_STALL_OPCODE = 257, + P4_EVENT_WC_BUFFER_OPCODE = 1285, + P4_EVENT_B2B_CYCLES_OPCODE = 5635, + P4_EVENT_BNR_OPCODE = 2051, + P4_EVENT_SNOOP_OPCODE = 1539, + P4_EVENT_RESPONSE_OPCODE = 1027, + P4_EVENT_FRONT_END_EVENT_OPCODE = 2053, + P4_EVENT_EXECUTION_EVENT_OPCODE = 3077, + P4_EVENT_REPLAY_EVENT_OPCODE = 2309, + P4_EVENT_INSTR_RETIRED_OPCODE = 516, + P4_EVENT_UOPS_RETIRED_OPCODE = 260, + P4_EVENT_UOP_TYPE_OPCODE = 514, + P4_EVENT_BRANCH_RETIRED_OPCODE = 1541, + P4_EVENT_MISPRED_BRANCH_RETIRED_OPCODE = 772, + P4_EVENT_X87_ASSIST_OPCODE = 773, + P4_EVENT_MACHINE_CLEAR_OPCODE = 517, + P4_EVENT_INSTR_COMPLETED_OPCODE = 1796, +}; + +enum P4_PEBS_METRIC { + P4_PEBS_METRIC__none = 0, + P4_PEBS_METRIC__1stl_cache_load_miss_retired = 1, + P4_PEBS_METRIC__2ndl_cache_load_miss_retired = 2, + P4_PEBS_METRIC__dtlb_load_miss_retired = 3, + P4_PEBS_METRIC__dtlb_store_miss_retired = 4, + P4_PEBS_METRIC__dtlb_all_miss_retired = 5, + P4_PEBS_METRIC__tagged_mispred_branch = 6, + P4_PEBS_METRIC__mob_load_replay_retired = 7, + P4_PEBS_METRIC__split_load_retired = 8, + P4_PEBS_METRIC__split_store_retired = 9, + P4_PEBS_METRIC__max = 10, +}; + +enum SHIFT_DIRECTION { + SHIFT_LEFT = 0, + SHIFT_RIGHT = 1, +}; + +enum TPM_OPS_FLAGS { + TPM_OPS_AUTO_STARTUP = 1, +}; + +enum __sk_action { + __SK_DROP = 0, + __SK_PASS = 1, + __SK_REDIRECT = 2, + __SK_NONE = 3, +}; + +enum _cache_table_type { + CACHE_L1_INST = 1, + CACHE_L1_DATA = 2, + CACHE_L2 = 3, + CACHE_L3 = 4, +} __attribute__((mode(byte))); + +enum _cache_type { + CTYPE_NULL = 0, + CTYPE_DATA = 1, + CTYPE_INST = 2, + CTYPE_UNIFIED = 3, +}; + +enum _slab_flag_bits { + _SLAB_CONSISTENCY_CHECKS = 0, + _SLAB_RED_ZONE = 1, + _SLAB_POISON = 2, + _SLAB_KMALLOC = 3, + _SLAB_HWCACHE_ALIGN = 4, + _SLAB_CACHE_DMA = 5, + _SLAB_CACHE_DMA32 = 6, + _SLAB_STORE_USER = 7, + _SLAB_PANIC = 8, + _SLAB_TYPESAFE_BY_RCU = 9, + _SLAB_TRACE = 10, + _SLAB_NOLEAKTRACE = 11, + _SLAB_NO_MERGE = 12, + _SLAB_ACCOUNT = 13, + _SLAB_NO_USER_FLAGS = 14, + _SLAB_SKIP_KFENCE = 15, + _SLAB_RECLAIM_ACCOUNT = 16, + _SLAB_OBJECT_POISON = 17, + _SLAB_CMPXCHG_DOUBLE = 18, + _SLAB_NO_OBJ_EXT = 19, + _SLAB_FLAGS_LAST_BIT = 20, +}; + +enum _tlb_table_type { + TLB_INST_4K = 5, + TLB_INST_4M = 6, + TLB_INST_2M_4M = 7, + TLB_INST_ALL = 8, + TLB_DATA_4K = 9, + TLB_DATA_4M = 10, + TLB_DATA_2M_4M = 11, + TLB_DATA_4K_4M = 12, + TLB_DATA_1G = 13, + TLB_DATA_1G_2M_4M = 14, + TLB_DATA0_4K = 15, + TLB_DATA0_4M = 16, + TLB_DATA0_2M_4M = 17, + STLB_4K = 18, + STLB_4K_2M = 19, +} __attribute__((mode(byte))); + +enum aa_code { + AA_U8 = 0, + AA_U16 = 1, + AA_U32 = 2, + AA_U64 = 3, + AA_NAME = 4, + AA_STRING = 5, + AA_BLOB = 6, + AA_STRUCT = 7, + AA_STRUCTEND = 8, + AA_LIST = 9, + AA_LISTEND = 10, + AA_ARRAY = 11, + AA_ARRAYEND = 12, +}; + +enum aa_sfs_type { + AA_SFS_TYPE_BOOLEAN = 0, + AA_SFS_TYPE_BOOLEAN_INTPRINT = 1, + AA_SFS_TYPE_STRING = 2, + AA_SFS_TYPE_U64 = 3, + AA_SFS_TYPE_FOPS = 4, + AA_SFS_TYPE_DIR = 5, +}; + +enum aafs_ns_type { + AAFS_NS_DIR = 0, + AAFS_NS_PROFS = 1, + AAFS_NS_NS = 2, + AAFS_NS_RAW_DATA = 3, + AAFS_NS_LOAD = 4, + AAFS_NS_REPLACE = 5, + AAFS_NS_REMOVE = 6, + AAFS_NS_REVISION = 7, + AAFS_NS_COUNT = 8, + AAFS_NS_MAX_COUNT = 9, + AAFS_NS_SIZE = 10, + AAFS_NS_MAX_SIZE = 11, + AAFS_NS_OWNER = 12, + AAFS_NS_SIZEOF = 13, +}; + +enum aafs_prof_type { + AAFS_PROF_DIR = 0, + AAFS_PROF_PROFS = 1, + AAFS_PROF_NAME = 2, + AAFS_PROF_MODE = 3, + AAFS_PROF_ATTACH = 4, + AAFS_PROF_HASH = 5, + AAFS_PROF_RAW_DATA = 6, + AAFS_PROF_RAW_HASH = 7, + AAFS_PROF_RAW_ABI = 8, + AAFS_PROF_LEARNING_COUNT = 9, + AAFS_PROF_SIZEOF = 10, +}; + +enum aat2870_id { + AAT2870_ID_BL = 0, + AAT2870_ID_LDOA = 1, + AAT2870_ID_LDOB = 2, + AAT2870_ID_LDOC = 3, + AAT2870_ID_LDOD = 4, +}; + +enum access_coordinate_class { + ACCESS_COORDINATE_LOCAL = 0, + ACCESS_COORDINATE_CPU = 1, + ACCESS_COORDINATE_MAX = 2, +}; + +enum acpi_attr_enum { + ACPI_ATTR_LABEL_SHOW = 0, + ACPI_ATTR_INDEX_SHOW = 1, +}; + +enum acpi_bridge_type { + ACPI_BRIDGE_TYPE_PCIE = 1, + ACPI_BRIDGE_TYPE_CXL = 2, +}; + +enum acpi_bus_device_type { + ACPI_BUS_TYPE_DEVICE = 0, + ACPI_BUS_TYPE_POWER = 1, + ACPI_BUS_TYPE_PROCESSOR = 2, + ACPI_BUS_TYPE_THERMAL = 3, + ACPI_BUS_TYPE_POWER_BUTTON = 4, + ACPI_BUS_TYPE_SLEEP_BUTTON = 5, + ACPI_BUS_TYPE_ECDT_EC = 6, + ACPI_BUS_DEVICE_TYPE_COUNT = 7, +}; + +enum acpi_cdat_type { + ACPI_CDAT_TYPE_DSMAS = 0, + ACPI_CDAT_TYPE_DSLBIS = 1, + ACPI_CDAT_TYPE_DSMSCIS = 2, + ACPI_CDAT_TYPE_DSIS = 3, + ACPI_CDAT_TYPE_DSEMTS = 4, + ACPI_CDAT_TYPE_SSLBIS = 5, + ACPI_CDAT_TYPE_RESERVED = 6, +}; + +enum acpi_cedt_type { + ACPI_CEDT_TYPE_CHBS = 0, + ACPI_CEDT_TYPE_CFMWS = 1, + ACPI_CEDT_TYPE_CXIMS = 2, + ACPI_CEDT_TYPE_RDPAS = 3, + ACPI_CEDT_TYPE_RESERVED = 4, +}; + +enum acpi_device_swnode_dev_props { + ACPI_DEVICE_SWNODE_DEV_ROTATION = 0, + ACPI_DEVICE_SWNODE_DEV_CLOCK_FREQUENCY = 1, + ACPI_DEVICE_SWNODE_DEV_LED_MAX_MICROAMP = 2, + ACPI_DEVICE_SWNODE_DEV_FLASH_MAX_MICROAMP = 3, + ACPI_DEVICE_SWNODE_DEV_FLASH_MAX_TIMEOUT_US = 4, + ACPI_DEVICE_SWNODE_DEV_NUM_OF = 5, + ACPI_DEVICE_SWNODE_DEV_NUM_ENTRIES = 6, +}; + +enum acpi_device_swnode_ep_props { + ACPI_DEVICE_SWNODE_EP_REMOTE_EP = 0, + ACPI_DEVICE_SWNODE_EP_BUS_TYPE = 1, + ACPI_DEVICE_SWNODE_EP_REG = 2, + ACPI_DEVICE_SWNODE_EP_CLOCK_LANES = 3, + ACPI_DEVICE_SWNODE_EP_DATA_LANES = 4, + ACPI_DEVICE_SWNODE_EP_LANE_POLARITIES = 5, + ACPI_DEVICE_SWNODE_EP_LINK_FREQUENCIES = 6, + ACPI_DEVICE_SWNODE_EP_NUM_OF = 7, + ACPI_DEVICE_SWNODE_EP_NUM_ENTRIES = 8, +}; + +enum acpi_device_swnode_port_props { + ACPI_DEVICE_SWNODE_PORT_REG = 0, + ACPI_DEVICE_SWNODE_PORT_NUM_OF = 1, + ACPI_DEVICE_SWNODE_PORT_NUM_ENTRIES = 2, +}; + +enum acpi_dmar_scope_type { + ACPI_DMAR_SCOPE_TYPE_NOT_USED = 0, + ACPI_DMAR_SCOPE_TYPE_ENDPOINT = 1, + ACPI_DMAR_SCOPE_TYPE_BRIDGE = 2, + ACPI_DMAR_SCOPE_TYPE_IOAPIC = 3, + ACPI_DMAR_SCOPE_TYPE_HPET = 4, + ACPI_DMAR_SCOPE_TYPE_NAMESPACE = 5, + ACPI_DMAR_SCOPE_TYPE_RESERVED = 6, +}; + +enum acpi_dmar_type { + ACPI_DMAR_TYPE_HARDWARE_UNIT = 0, + ACPI_DMAR_TYPE_RESERVED_MEMORY = 1, + ACPI_DMAR_TYPE_ROOT_ATS = 2, + ACPI_DMAR_TYPE_HARDWARE_AFFINITY = 3, + ACPI_DMAR_TYPE_NAMESPACE = 4, + ACPI_DMAR_TYPE_SATC = 5, + ACPI_DMAR_TYPE_SIDP = 6, + ACPI_DMAR_TYPE_RESERVED = 7, +}; + +enum acpi_ec_event_state { + EC_EVENT_READY = 0, + EC_EVENT_IN_PROGRESS = 1, + EC_EVENT_COMPLETE = 2, +}; + +enum acpi_erst_actions { + ACPI_ERST_BEGIN_WRITE = 0, + ACPI_ERST_BEGIN_READ = 1, + ACPI_ERST_BEGIN_CLEAR = 2, + ACPI_ERST_END = 3, + ACPI_ERST_SET_RECORD_OFFSET = 4, + ACPI_ERST_EXECUTE_OPERATION = 5, + ACPI_ERST_CHECK_BUSY_STATUS = 6, + ACPI_ERST_GET_COMMAND_STATUS = 7, + ACPI_ERST_GET_RECORD_ID = 8, + ACPI_ERST_SET_RECORD_ID = 9, + ACPI_ERST_GET_RECORD_COUNT = 10, + ACPI_ERST_BEGIN_DUMMY_WRIITE = 11, + ACPI_ERST_NOT_USED = 12, + ACPI_ERST_GET_ERROR_RANGE = 13, + ACPI_ERST_GET_ERROR_LENGTH = 14, + ACPI_ERST_GET_ERROR_ATTRIBUTES = 15, + ACPI_ERST_EXECUTE_TIMINGS = 16, + ACPI_ERST_ACTION_RESERVED = 17, +}; + +enum acpi_erst_instructions { + ACPI_ERST_READ_REGISTER = 0, + ACPI_ERST_READ_REGISTER_VALUE = 1, + ACPI_ERST_WRITE_REGISTER = 2, + ACPI_ERST_WRITE_REGISTER_VALUE = 3, + ACPI_ERST_NOOP = 4, + ACPI_ERST_LOAD_VAR1 = 5, + ACPI_ERST_LOAD_VAR2 = 6, + ACPI_ERST_STORE_VAR1 = 7, + ACPI_ERST_ADD = 8, + ACPI_ERST_SUBTRACT = 9, + ACPI_ERST_ADD_VALUE = 10, + ACPI_ERST_SUBTRACT_VALUE = 11, + ACPI_ERST_STALL = 12, + ACPI_ERST_STALL_WHILE_TRUE = 13, + ACPI_ERST_SKIP_NEXT_IF_TRUE = 14, + ACPI_ERST_GOTO = 15, + ACPI_ERST_SET_SRC_ADDRESS_BASE = 16, + ACPI_ERST_SET_DST_ADDRESS_BASE = 17, + ACPI_ERST_MOVE_DATA = 18, + ACPI_ERST_INSTRUCTION_RESERVED = 19, +}; + +enum acpi_ex_debugger_commands { + CMD_NOT_FOUND = 0, + CMD_NULL = 1, + CMD_ALL = 2, + CMD_ALLOCATIONS = 3, + CMD_ARGS = 4, + CMD_ARGUMENTS = 5, + CMD_BREAKPOINT = 6, + CMD_BUSINFO = 7, + CMD_CALL = 8, + CMD_DEBUG = 9, + CMD_DISASSEMBLE = 10, + CMD_DISASM = 11, + CMD_DUMP = 12, + CMD_EVALUATE = 13, + CMD_EXECUTE = 14, + CMD_EXIT = 15, + CMD_FIELDS = 16, + CMD_FIND = 17, + CMD_GO = 18, + CMD_HANDLERS = 19, + CMD_HELP = 20, + CMD_HELP2 = 21, + CMD_HISTORY = 22, + CMD_HISTORY_EXE = 23, + CMD_HISTORY_LAST = 24, + CMD_INFORMATION = 25, + CMD_INTEGRITY = 26, + CMD_INTO = 27, + CMD_LEVEL = 28, + CMD_LIST = 29, + CMD_LOCALS = 30, + CMD_LOCKS = 31, + CMD_METHODS = 32, + CMD_NAMESPACE = 33, + CMD_NOTIFY = 34, + CMD_OBJECTS = 35, + CMD_OSI = 36, + CMD_OWNER = 37, + CMD_PATHS = 38, + CMD_PREDEFINED = 39, + CMD_PREFIX = 40, + CMD_QUIT = 41, + CMD_REFERENCES = 42, + CMD_RESOURCES = 43, + CMD_RESULTS = 44, + CMD_SET = 45, + CMD_STATS = 46, + CMD_STOP = 47, + CMD_TABLES = 48, + CMD_TEMPLATE = 49, + CMD_TRACE = 50, + CMD_TREE = 51, + CMD_TYPE = 52, +}; + +enum acpi_gpio_ignore_list { + ACPI_GPIO_IGNORE_WAKE = 0, + ACPI_GPIO_IGNORE_INTERRUPT = 1, +}; + +enum acpi_hest_notify_types { + ACPI_HEST_NOTIFY_POLLED = 0, + ACPI_HEST_NOTIFY_EXTERNAL = 1, + ACPI_HEST_NOTIFY_LOCAL = 2, + ACPI_HEST_NOTIFY_SCI = 3, + ACPI_HEST_NOTIFY_NMI = 4, + ACPI_HEST_NOTIFY_CMCI = 5, + ACPI_HEST_NOTIFY_MCE = 6, + ACPI_HEST_NOTIFY_GPIO = 7, + ACPI_HEST_NOTIFY_SEA = 8, + ACPI_HEST_NOTIFY_SEI = 9, + ACPI_HEST_NOTIFY_GSIV = 10, + ACPI_HEST_NOTIFY_SOFTWARE_DELEGATED = 11, + ACPI_HEST_NOTIFY_RESERVED = 12, +}; + +enum acpi_hest_types { + ACPI_HEST_TYPE_IA32_CHECK = 0, + ACPI_HEST_TYPE_IA32_CORRECTED_CHECK = 1, + ACPI_HEST_TYPE_IA32_NMI = 2, + ACPI_HEST_TYPE_NOT_USED3 = 3, + ACPI_HEST_TYPE_NOT_USED4 = 4, + ACPI_HEST_TYPE_NOT_USED5 = 5, + ACPI_HEST_TYPE_AER_ROOT_PORT = 6, + ACPI_HEST_TYPE_AER_ENDPOINT = 7, + ACPI_HEST_TYPE_AER_BRIDGE = 8, + ACPI_HEST_TYPE_GENERIC_ERROR = 9, + ACPI_HEST_TYPE_GENERIC_ERROR_V2 = 10, + ACPI_HEST_TYPE_IA32_DEFERRED_CHECK = 11, + ACPI_HEST_TYPE_RESERVED = 12, +}; + +enum acpi_hmat_type { + ACPI_HMAT_TYPE_PROXIMITY = 0, + ACPI_HMAT_TYPE_LOCALITY = 1, + ACPI_HMAT_TYPE_CACHE = 2, + ACPI_HMAT_TYPE_RESERVED = 3, +}; + +enum acpi_irq_model_id { + ACPI_IRQ_MODEL_PIC = 0, + ACPI_IRQ_MODEL_IOAPIC = 1, + ACPI_IRQ_MODEL_IOSAPIC = 2, + ACPI_IRQ_MODEL_PLATFORM = 3, + ACPI_IRQ_MODEL_GIC = 4, + ACPI_IRQ_MODEL_LPIC = 5, + ACPI_IRQ_MODEL_RINTC = 6, + ACPI_IRQ_MODEL_COUNT = 7, +}; + +enum acpi_madt_multiproc_wakeup_version { + ACPI_MADT_MP_WAKEUP_VERSION_NONE = 0, + ACPI_MADT_MP_WAKEUP_VERSION_V1 = 1, + ACPI_MADT_MP_WAKEUP_VERSION_RESERVED = 2, +}; + +enum acpi_madt_type { + ACPI_MADT_TYPE_LOCAL_APIC = 0, + ACPI_MADT_TYPE_IO_APIC = 1, + ACPI_MADT_TYPE_INTERRUPT_OVERRIDE = 2, + ACPI_MADT_TYPE_NMI_SOURCE = 3, + ACPI_MADT_TYPE_LOCAL_APIC_NMI = 4, + ACPI_MADT_TYPE_LOCAL_APIC_OVERRIDE = 5, + ACPI_MADT_TYPE_IO_SAPIC = 6, + ACPI_MADT_TYPE_LOCAL_SAPIC = 7, + ACPI_MADT_TYPE_INTERRUPT_SOURCE = 8, + ACPI_MADT_TYPE_LOCAL_X2APIC = 9, + ACPI_MADT_TYPE_LOCAL_X2APIC_NMI = 10, + ACPI_MADT_TYPE_GENERIC_INTERRUPT = 11, + ACPI_MADT_TYPE_GENERIC_DISTRIBUTOR = 12, + ACPI_MADT_TYPE_GENERIC_MSI_FRAME = 13, + ACPI_MADT_TYPE_GENERIC_REDISTRIBUTOR = 14, + ACPI_MADT_TYPE_GENERIC_TRANSLATOR = 15, + ACPI_MADT_TYPE_MULTIPROC_WAKEUP = 16, + ACPI_MADT_TYPE_CORE_PIC = 17, + ACPI_MADT_TYPE_LIO_PIC = 18, + ACPI_MADT_TYPE_HT_PIC = 19, + ACPI_MADT_TYPE_EIO_PIC = 20, + ACPI_MADT_TYPE_MSI_PIC = 21, + ACPI_MADT_TYPE_BIO_PIC = 22, + ACPI_MADT_TYPE_LPC_PIC = 23, + ACPI_MADT_TYPE_RINTC = 24, + ACPI_MADT_TYPE_IMSIC = 25, + ACPI_MADT_TYPE_APLIC = 26, + ACPI_MADT_TYPE_PLIC = 27, + ACPI_MADT_TYPE_RESERVED = 28, + ACPI_MADT_TYPE_OEM_RESERVED = 128, +}; + +enum acpi_pcct_type { + ACPI_PCCT_TYPE_GENERIC_SUBSPACE = 0, + ACPI_PCCT_TYPE_HW_REDUCED_SUBSPACE = 1, + ACPI_PCCT_TYPE_HW_REDUCED_SUBSPACE_TYPE2 = 2, + ACPI_PCCT_TYPE_EXT_PCC_MASTER_SUBSPACE = 3, + ACPI_PCCT_TYPE_EXT_PCC_SLAVE_SUBSPACE = 4, + ACPI_PCCT_TYPE_HW_REG_COMM_SUBSPACE = 5, + ACPI_PCCT_TYPE_RESERVED = 6, +}; + +enum acpi_predicate { + all_versions = 0, + less_than_or_equal = 1, + equal = 2, + greater_than_or_equal = 3, +}; + +enum acpi_preferred_pm_profiles { + PM_UNSPECIFIED = 0, + PM_DESKTOP = 1, + PM_MOBILE = 2, + PM_WORKSTATION = 3, + PM_ENTERPRISE_SERVER = 4, + PM_SOHO_SERVER = 5, + PM_APPLIANCE_PC = 6, + PM_PERFORMANCE_SERVER = 7, + PM_TABLET = 8, + NR_PM_PROFILES = 9, +}; + +enum acpi_reconfig_event { + ACPI_RECONFIG_DEVICE_ADD = 0, + ACPI_RECONFIG_DEVICE_REMOVE = 1, +}; + +enum acpi_return_package_types { + ACPI_PTYPE1_FIXED = 1, + ACPI_PTYPE1_VAR = 2, + ACPI_PTYPE1_OPTION = 3, + ACPI_PTYPE2 = 4, + ACPI_PTYPE2_COUNT = 5, + ACPI_PTYPE2_PKG_COUNT = 6, + ACPI_PTYPE2_FIXED = 7, + ACPI_PTYPE2_MIN = 8, + ACPI_PTYPE2_REV_FIXED = 9, + ACPI_PTYPE2_FIX_VAR = 10, + ACPI_PTYPE2_VAR_VAR = 11, + ACPI_PTYPE2_UUID_PAIR = 12, + ACPI_PTYPE_CUSTOM = 13, +}; + +enum acpi_srat_type { + ACPI_SRAT_TYPE_CPU_AFFINITY = 0, + ACPI_SRAT_TYPE_MEMORY_AFFINITY = 1, + ACPI_SRAT_TYPE_X2APIC_CPU_AFFINITY = 2, + ACPI_SRAT_TYPE_GICC_AFFINITY = 3, + ACPI_SRAT_TYPE_GIC_ITS_AFFINITY = 4, + ACPI_SRAT_TYPE_GENERIC_AFFINITY = 5, + ACPI_SRAT_TYPE_GENERIC_PORT_AFFINITY = 6, + ACPI_SRAT_TYPE_RINTC_AFFINITY = 7, + ACPI_SRAT_TYPE_RESERVED = 8, +}; + +enum acpi_subtable_type { + ACPI_SUBTABLE_COMMON = 0, + ACPI_SUBTABLE_HMAT = 1, + ACPI_SUBTABLE_PRMT = 2, + ACPI_SUBTABLE_CEDT = 3, + CDAT_SUBTABLE = 4, +}; + +enum acpi_viot_node_type { + ACPI_VIOT_NODE_PCI_RANGE = 1, + ACPI_VIOT_NODE_MMIO = 2, + ACPI_VIOT_NODE_VIRTIO_IOMMU_PCI = 3, + ACPI_VIOT_NODE_VIRTIO_IOMMU_MMIO = 4, + ACPI_VIOT_RESERVED = 5, +}; + +enum action_id { + ACTION_SAVE = 1, + ACTION_TRACE = 2, + ACTION_SNAPSHOT = 3, +}; + +enum action_t { + nmi_act_kdump = 0, + nmi_act_dump = 1, + nmi_act_ips = 2, + nmi_act_kdb = 3, + nmi_act_kgdb = 4, + nmi_act_health = 5, + nmi_act_max = 6, +}; + +enum actions { + REGISTER = 0, + DEREGISTER = 1, + CPU_DONT_CARE = 2, +}; + +enum addr_stride { + PTE_STRIDE = 0, + PMD_STRIDE = 1, +}; + +enum addr_type { + ADDR_LOCAL = 0, + ADDR_LOCAL_PRIV = 1, + ADDR_REMOTE = 2, +}; + +enum addr_type_t { + UNICAST_ADDR = 0, + MULTICAST_ADDR = 1, + ANYCAST_ADDR = 2, +}; + +enum address_markers_idx { + USER_SPACE_NR = 0, + KERNEL_SPACE_NR = 1, + LDT_NR = 2, + LOW_KERNEL_NR = 3, + VMALLOC_START_NR = 4, + VMEMMAP_START_NR = 5, + CPU_ENTRY_AREA_NR = 6, + ESPFIX_START_NR = 7, + EFI_END_NR = 8, + HIGH_KERNEL_NR = 9, + MODULES_VADDR_NR = 10, + MODULES_END_NR = 11, + FIXADDR_START_NR = 12, + END_OF_SPACE_NR = 13, +}; + +enum aead_algo { + SNP_AEAD_INVALID = 0, + SNP_AEAD_AES_256_GCM = 1, +}; + +enum alarmtimer_type { + ALARM_REALTIME = 0, + ALARM_BOOTTIME = 1, + ALARM_NUMTYPE = 2, + ALARM_REALTIME_FREEZER = 3, + ALARM_BOOTTIME_FREEZER = 4, +}; + +enum align_flags { + ALIGN_VA_32 = 1, + ALIGN_VA_64 = 2, +}; + +enum alloc_loc { + ALLOC_ERR = 0, + ALLOC_BEFORE = 1, + ALLOC_MID = 2, + ALLOC_AFTER = 3, +}; + +enum amd_chipset_gen { + NOT_AMD_CHIPSET = 0, + AMD_CHIPSET_SB600 = 1, + AMD_CHIPSET_SB700 = 2, + AMD_CHIPSET_SB800 = 3, + AMD_CHIPSET_HUDSON2 = 4, + AMD_CHIPSET_BOLTON = 5, + AMD_CHIPSET_YANGTZE = 6, + AMD_CHIPSET_TAISHAN = 7, + AMD_CHIPSET_UNKNOWN = 8, +}; + +enum amd_functions { + IMX_F0_GPIO0 = 0, + IMX_F1_GPIO0 = 1, + IMX_F2_GPIO0 = 2, + IMX_F3_GPIO0 = 3, + IMX_F0_GPIO1 = 4, + IMX_F1_GPIO1 = 5, + IMX_F2_GPIO1 = 6, + IMX_F3_GPIO1 = 7, + IMX_F0_GPIO2 = 8, + IMX_F1_GPIO2 = 9, + IMX_F2_GPIO2 = 10, + IMX_F3_GPIO2 = 11, + IMX_F0_GPIO3 = 12, + IMX_F1_GPIO3 = 13, + IMX_F2_GPIO3 = 14, + IMX_F3_GPIO3 = 15, + IMX_F0_GPIO4 = 16, + IMX_F1_GPIO4 = 17, + IMX_F2_GPIO4 = 18, + IMX_F3_GPIO4 = 19, + IMX_F0_GPIO5 = 20, + IMX_F1_GPIO5 = 21, + IMX_F2_GPIO5 = 22, + IMX_F3_GPIO5 = 23, + IMX_F0_GPIO6 = 24, + IMX_F1_GPIO6 = 25, + IMX_F2_GPIO6 = 26, + IMX_F3_GPIO6 = 27, + IMX_F0_GPIO7 = 28, + IMX_F1_GPIO7 = 29, + IMX_F2_GPIO7 = 30, + IMX_F3_GPIO7 = 31, + IMX_F0_GPIO8 = 32, + IMX_F1_GPIO8 = 33, + IMX_F2_GPIO8 = 34, + IMX_F3_GPIO8 = 35, + IMX_F0_GPIO9 = 36, + IMX_F1_GPIO9 = 37, + IMX_F2_GPIO9 = 38, + IMX_F3_GPIO9 = 39, + IMX_F0_GPIO10 = 40, + IMX_F1_GPIO10 = 41, + IMX_F2_GPIO10 = 42, + IMX_F3_GPIO10 = 43, + IMX_F0_GPIO11 = 44, + IMX_F1_GPIO11 = 45, + IMX_F2_GPIO11 = 46, + IMX_F3_GPIO11 = 47, + IMX_F0_GPIO12 = 48, + IMX_F1_GPIO12 = 49, + IMX_F2_GPIO12 = 50, + IMX_F3_GPIO12 = 51, + IMX_F0_GPIO13 = 52, + IMX_F1_GPIO13 = 53, + IMX_F2_GPIO13 = 54, + IMX_F3_GPIO13 = 55, + IMX_F0_GPIO14 = 56, + IMX_F1_GPIO14 = 57, + IMX_F2_GPIO14 = 58, + IMX_F3_GPIO14 = 59, + IMX_F0_GPIO15 = 60, + IMX_F1_GPIO15 = 61, + IMX_F2_GPIO15 = 62, + IMX_F3_GPIO15 = 63, + IMX_F0_GPIO16 = 64, + IMX_F1_GPIO16 = 65, + IMX_F2_GPIO16 = 66, + IMX_F3_GPIO16 = 67, + IMX_F0_GPIO17 = 68, + IMX_F1_GPIO17 = 69, + IMX_F2_GPIO17 = 70, + IMX_F3_GPIO17 = 71, + IMX_F0_GPIO18 = 72, + IMX_F1_GPIO18 = 73, + IMX_F2_GPIO18 = 74, + IMX_F3_GPIO18 = 75, + IMX_F0_GPIO19 = 76, + IMX_F1_GPIO19 = 77, + IMX_F2_GPIO19 = 78, + IMX_F3_GPIO19 = 79, + IMX_F0_GPIO20 = 80, + IMX_F1_GPIO20 = 81, + IMX_F2_GPIO20 = 82, + IMX_F3_GPIO20 = 83, + IMX_F0_GPIO21 = 84, + IMX_F1_GPIO21 = 85, + IMX_F2_GPIO21 = 86, + IMX_F3_GPIO21 = 87, + IMX_F0_GPIO22 = 88, + IMX_F1_GPIO22 = 89, + IMX_F2_GPIO22 = 90, + IMX_F3_GPIO22 = 91, + IMX_F0_GPIO23 = 92, + IMX_F1_GPIO23 = 93, + IMX_F2_GPIO23 = 94, + IMX_F3_GPIO23 = 95, + IMX_F0_GPIO24 = 96, + IMX_F1_GPIO24 = 97, + IMX_F2_GPIO24 = 98, + IMX_F3_GPIO24 = 99, + IMX_F0_GPIO25 = 100, + IMX_F1_GPIO25 = 101, + IMX_F2_GPIO25 = 102, + IMX_F3_GPIO25 = 103, + IMX_F0_GPIO26 = 104, + IMX_F1_GPIO26 = 105, + IMX_F2_GPIO26 = 106, + IMX_F3_GPIO26 = 107, + IMX_F0_GPIO27 = 108, + IMX_F1_GPIO27 = 109, + IMX_F2_GPIO27 = 110, + IMX_F3_GPIO27 = 111, + IMX_F0_GPIO28 = 112, + IMX_F1_GPIO28 = 113, + IMX_F2_GPIO28 = 114, + IMX_F3_GPIO28 = 115, + IMX_F0_GPIO29 = 116, + IMX_F1_GPIO29 = 117, + IMX_F2_GPIO29 = 118, + IMX_F3_GPIO29 = 119, + IMX_F0_GPIO30 = 120, + IMX_F1_GPIO30 = 121, + IMX_F2_GPIO30 = 122, + IMX_F3_GPIO30 = 123, + IMX_F0_GPIO31 = 124, + IMX_F1_GPIO31 = 125, + IMX_F2_GPIO31 = 126, + IMX_F3_GPIO31 = 127, + IMX_F0_GPIO32 = 128, + IMX_F1_GPIO32 = 129, + IMX_F2_GPIO32 = 130, + IMX_F3_GPIO32 = 131, + IMX_F0_GPIO33 = 132, + IMX_F1_GPIO33 = 133, + IMX_F2_GPIO33 = 134, + IMX_F3_GPIO33 = 135, + IMX_F0_GPIO34 = 136, + IMX_F1_GPIO34 = 137, + IMX_F2_GPIO34 = 138, + IMX_F3_GPIO34 = 139, + IMX_F0_GPIO35 = 140, + IMX_F1_GPIO35 = 141, + IMX_F2_GPIO35 = 142, + IMX_F3_GPIO35 = 143, + IMX_F0_GPIO36 = 144, + IMX_F1_GPIO36 = 145, + IMX_F2_GPIO36 = 146, + IMX_F3_GPIO36 = 147, + IMX_F0_GPIO37 = 148, + IMX_F1_GPIO37 = 149, + IMX_F2_GPIO37 = 150, + IMX_F3_GPIO37 = 151, + IMX_F0_GPIO38 = 152, + IMX_F1_GPIO38 = 153, + IMX_F2_GPIO38 = 154, + IMX_F3_GPIO38 = 155, + IMX_F0_GPIO39 = 156, + IMX_F1_GPIO39 = 157, + IMX_F2_GPIO39 = 158, + IMX_F3_GPIO39 = 159, + IMX_F0_GPIO40 = 160, + IMX_F1_GPIO40 = 161, + IMX_F2_GPIO40 = 162, + IMX_F3_GPIO40 = 163, + IMX_F0_GPIO41 = 164, + IMX_F1_GPIO41 = 165, + IMX_F2_GPIO41 = 166, + IMX_F3_GPIO41 = 167, + IMX_F0_GPIO42 = 168, + IMX_F1_GPIO42 = 169, + IMX_F2_GPIO42 = 170, + IMX_F3_GPIO42 = 171, + IMX_F0_GPIO43 = 172, + IMX_F1_GPIO43 = 173, + IMX_F2_GPIO43 = 174, + IMX_F3_GPIO43 = 175, + IMX_F0_GPIO44 = 176, + IMX_F1_GPIO44 = 177, + IMX_F2_GPIO44 = 178, + IMX_F3_GPIO44 = 179, + IMX_F0_GPIO45 = 180, + IMX_F1_GPIO45 = 181, + IMX_F2_GPIO45 = 182, + IMX_F3_GPIO45 = 183, + IMX_F0_GPIO46 = 184, + IMX_F1_GPIO46 = 185, + IMX_F2_GPIO46 = 186, + IMX_F3_GPIO46 = 187, + IMX_F0_GPIO47 = 188, + IMX_F1_GPIO47 = 189, + IMX_F2_GPIO47 = 190, + IMX_F3_GPIO47 = 191, + IMX_F0_GPIO48 = 192, + IMX_F1_GPIO48 = 193, + IMX_F2_GPIO48 = 194, + IMX_F3_GPIO48 = 195, + IMX_F0_GPIO49 = 196, + IMX_F1_GPIO49 = 197, + IMX_F2_GPIO49 = 198, + IMX_F3_GPIO49 = 199, + IMX_F0_GPIO50 = 200, + IMX_F1_GPIO50 = 201, + IMX_F2_GPIO50 = 202, + IMX_F3_GPIO50 = 203, + IMX_F0_GPIO51 = 204, + IMX_F1_GPIO51 = 205, + IMX_F2_GPIO51 = 206, + IMX_F3_GPIO51 = 207, + IMX_F0_GPIO52 = 208, + IMX_F1_GPIO52 = 209, + IMX_F2_GPIO52 = 210, + IMX_F3_GPIO52 = 211, + IMX_F0_GPIO53 = 212, + IMX_F1_GPIO53 = 213, + IMX_F2_GPIO53 = 214, + IMX_F3_GPIO53 = 215, + IMX_F0_GPIO54 = 216, + IMX_F1_GPIO54 = 217, + IMX_F2_GPIO54 = 218, + IMX_F3_GPIO54 = 219, + IMX_F0_GPIO55 = 220, + IMX_F1_GPIO55 = 221, + IMX_F2_GPIO55 = 222, + IMX_F3_GPIO55 = 223, + IMX_F0_GPIO56 = 224, + IMX_F1_GPIO56 = 225, + IMX_F2_GPIO56 = 226, + IMX_F3_GPIO56 = 227, + IMX_F0_GPIO57 = 228, + IMX_F1_GPIO57 = 229, + IMX_F2_GPIO57 = 230, + IMX_F3_GPIO57 = 231, + IMX_F0_GPIO58 = 232, + IMX_F1_GPIO58 = 233, + IMX_F2_GPIO58 = 234, + IMX_F3_GPIO58 = 235, + IMX_F0_GPIO59 = 236, + IMX_F1_GPIO59 = 237, + IMX_F2_GPIO59 = 238, + IMX_F3_GPIO59 = 239, + IMX_F0_GPIO60 = 240, + IMX_F1_GPIO60 = 241, + IMX_F2_GPIO60 = 242, + IMX_F3_GPIO60 = 243, + IMX_F0_GPIO61 = 244, + IMX_F1_GPIO61 = 245, + IMX_F2_GPIO61 = 246, + IMX_F3_GPIO61 = 247, + IMX_F0_GPIO62 = 248, + IMX_F1_GPIO62 = 249, + IMX_F2_GPIO62 = 250, + IMX_F3_GPIO62 = 251, + IMX_F0_GPIO64 = 252, + IMX_F1_GPIO64 = 253, + IMX_F2_GPIO64 = 254, + IMX_F3_GPIO64 = 255, + IMX_F0_GPIO65 = 256, + IMX_F1_GPIO65 = 257, + IMX_F2_GPIO65 = 258, + IMX_F3_GPIO65 = 259, + IMX_F0_GPIO66 = 260, + IMX_F1_GPIO66 = 261, + IMX_F2_GPIO66 = 262, + IMX_F3_GPIO66 = 263, + IMX_F0_GPIO67 = 264, + IMX_F1_GPIO67 = 265, + IMX_F2_GPIO67 = 266, + IMX_F3_GPIO67 = 267, + IMX_F0_GPIO68 = 268, + IMX_F1_GPIO68 = 269, + IMX_F2_GPIO68 = 270, + IMX_F3_GPIO68 = 271, + IMX_F0_GPIO69 = 272, + IMX_F1_GPIO69 = 273, + IMX_F2_GPIO69 = 274, + IMX_F3_GPIO69 = 275, + IMX_F0_GPIO70 = 276, + IMX_F1_GPIO70 = 277, + IMX_F2_GPIO70 = 278, + IMX_F3_GPIO70 = 279, + IMX_F0_GPIO71 = 280, + IMX_F1_GPIO71 = 281, + IMX_F2_GPIO71 = 282, + IMX_F3_GPIO71 = 283, + IMX_F0_GPIO72 = 284, + IMX_F1_GPIO72 = 285, + IMX_F2_GPIO72 = 286, + IMX_F3_GPIO72 = 287, + IMX_F0_GPIO73 = 288, + IMX_F1_GPIO73 = 289, + IMX_F2_GPIO73 = 290, + IMX_F3_GPIO73 = 291, + IMX_F0_GPIO74 = 292, + IMX_F1_GPIO74 = 293, + IMX_F2_GPIO74 = 294, + IMX_F3_GPIO74 = 295, + IMX_F0_GPIO75 = 296, + IMX_F1_GPIO75 = 297, + IMX_F2_GPIO75 = 298, + IMX_F3_GPIO75 = 299, + IMX_F0_GPIO76 = 300, + IMX_F1_GPIO76 = 301, + IMX_F2_GPIO76 = 302, + IMX_F3_GPIO76 = 303, + IMX_F0_GPIO77 = 304, + IMX_F1_GPIO77 = 305, + IMX_F2_GPIO77 = 306, + IMX_F3_GPIO77 = 307, + IMX_F0_GPIO78 = 308, + IMX_F1_GPIO78 = 309, + IMX_F2_GPIO78 = 310, + IMX_F3_GPIO78 = 311, + IMX_F0_GPIO79 = 312, + IMX_F1_GPIO79 = 313, + IMX_F2_GPIO79 = 314, + IMX_F3_GPIO79 = 315, + IMX_F0_GPIO80 = 316, + IMX_F1_GPIO80 = 317, + IMX_F2_GPIO80 = 318, + IMX_F3_GPIO80 = 319, + IMX_F0_GPIO81 = 320, + IMX_F1_GPIO81 = 321, + IMX_F2_GPIO81 = 322, + IMX_F3_GPIO81 = 323, + IMX_F0_GPIO82 = 324, + IMX_F1_GPIO82 = 325, + IMX_F2_GPIO82 = 326, + IMX_F3_GPIO82 = 327, + IMX_F0_GPIO83 = 328, + IMX_F1_GPIO83 = 329, + IMX_F2_GPIO83 = 330, + IMX_F3_GPIO83 = 331, + IMX_F0_GPIO84 = 332, + IMX_F1_GPIO84 = 333, + IMX_F2_GPIO84 = 334, + IMX_F3_GPIO84 = 335, + IMX_F0_GPIO85 = 336, + IMX_F1_GPIO85 = 337, + IMX_F2_GPIO85 = 338, + IMX_F3_GPIO85 = 339, + IMX_F0_GPIO86 = 340, + IMX_F1_GPIO86 = 341, + IMX_F2_GPIO86 = 342, + IMX_F3_GPIO86 = 343, + IMX_F0_GPIO87 = 344, + IMX_F1_GPIO87 = 345, + IMX_F2_GPIO87 = 346, + IMX_F3_GPIO87 = 347, + IMX_F0_GPIO88 = 348, + IMX_F1_GPIO88 = 349, + IMX_F2_GPIO88 = 350, + IMX_F3_GPIO88 = 351, + IMX_F0_GPIO89 = 352, + IMX_F1_GPIO89 = 353, + IMX_F2_GPIO89 = 354, + IMX_F3_GPIO89 = 355, + IMX_F0_GPIO90 = 356, + IMX_F1_GPIO90 = 357, + IMX_F2_GPIO90 = 358, + IMX_F3_GPIO90 = 359, + IMX_F0_GPIO91 = 360, + IMX_F1_GPIO91 = 361, + IMX_F2_GPIO91 = 362, + IMX_F3_GPIO91 = 363, + IMX_F0_GPIO92 = 364, + IMX_F1_GPIO92 = 365, + IMX_F2_GPIO92 = 366, + IMX_F3_GPIO92 = 367, + IMX_F0_GPIO93 = 368, + IMX_F1_GPIO93 = 369, + IMX_F2_GPIO93 = 370, + IMX_F3_GPIO93 = 371, + IMX_F0_GPIO94 = 372, + IMX_F1_GPIO94 = 373, + IMX_F2_GPIO94 = 374, + IMX_F3_GPIO94 = 375, + IMX_F0_GPIO95 = 376, + IMX_F1_GPIO95 = 377, + IMX_F2_GPIO95 = 378, + IMX_F3_GPIO95 = 379, + IMX_F0_GPIO96 = 380, + IMX_F1_GPIO96 = 381, + IMX_F2_GPIO96 = 382, + IMX_F3_GPIO96 = 383, + IMX_F0_GPIO97 = 384, + IMX_F1_GPIO97 = 385, + IMX_F2_GPIO97 = 386, + IMX_F3_GPIO97 = 387, + IMX_F0_GPIO98 = 388, + IMX_F1_GPIO98 = 389, + IMX_F2_GPIO98 = 390, + IMX_F3_GPIO98 = 391, + IMX_F0_GPIO99 = 392, + IMX_F1_GPIO99 = 393, + IMX_F2_GPIO99 = 394, + IMX_F3_GPIO99 = 395, + IMX_F0_GPIO100 = 396, + IMX_F1_GPIO100 = 397, + IMX_F2_GPIO100 = 398, + IMX_F3_GPIO100 = 399, + IMX_F0_GPIO101 = 400, + IMX_F1_GPIO101 = 401, + IMX_F2_GPIO101 = 402, + IMX_F3_GPIO101 = 403, + IMX_F0_GPIO102 = 404, + IMX_F1_GPIO102 = 405, + IMX_F2_GPIO102 = 406, + IMX_F3_GPIO102 = 407, + IMX_F0_GPIO103 = 408, + IMX_F1_GPIO103 = 409, + IMX_F2_GPIO103 = 410, + IMX_F3_GPIO103 = 411, + IMX_F0_GPIO104 = 412, + IMX_F1_GPIO104 = 413, + IMX_F2_GPIO104 = 414, + IMX_F3_GPIO104 = 415, + IMX_F0_GPIO105 = 416, + IMX_F1_GPIO105 = 417, + IMX_F2_GPIO105 = 418, + IMX_F3_GPIO105 = 419, + IMX_F0_GPIO106 = 420, + IMX_F1_GPIO106 = 421, + IMX_F2_GPIO106 = 422, + IMX_F3_GPIO106 = 423, + IMX_F0_GPIO107 = 424, + IMX_F1_GPIO107 = 425, + IMX_F2_GPIO107 = 426, + IMX_F3_GPIO107 = 427, + IMX_F0_GPIO108 = 428, + IMX_F1_GPIO108 = 429, + IMX_F2_GPIO108 = 430, + IMX_F3_GPIO108 = 431, + IMX_F0_GPIO109 = 432, + IMX_F1_GPIO109 = 433, + IMX_F2_GPIO109 = 434, + IMX_F3_GPIO109 = 435, + IMX_F0_GPIO110 = 436, + IMX_F1_GPIO110 = 437, + IMX_F2_GPIO110 = 438, + IMX_F3_GPIO110 = 439, + IMX_F0_GPIO111 = 440, + IMX_F1_GPIO111 = 441, + IMX_F2_GPIO111 = 442, + IMX_F3_GPIO111 = 443, + IMX_F0_GPIO112 = 444, + IMX_F1_GPIO112 = 445, + IMX_F2_GPIO112 = 446, + IMX_F3_GPIO112 = 447, + IMX_F0_GPIO113 = 448, + IMX_F1_GPIO113 = 449, + IMX_F2_GPIO113 = 450, + IMX_F3_GPIO113 = 451, + IMX_F0_GPIO114 = 452, + IMX_F1_GPIO114 = 453, + IMX_F2_GPIO114 = 454, + IMX_F3_GPIO114 = 455, + IMX_F0_GPIO115 = 456, + IMX_F1_GPIO115 = 457, + IMX_F2_GPIO115 = 458, + IMX_F3_GPIO115 = 459, + IMX_F0_GPIO116 = 460, + IMX_F1_GPIO116 = 461, + IMX_F2_GPIO116 = 462, + IMX_F3_GPIO116 = 463, + IMX_F0_GPIO117 = 464, + IMX_F1_GPIO117 = 465, + IMX_F2_GPIO117 = 466, + IMX_F3_GPIO117 = 467, + IMX_F0_GPIO118 = 468, + IMX_F1_GPIO118 = 469, + IMX_F2_GPIO118 = 470, + IMX_F3_GPIO118 = 471, + IMX_F0_GPIO119 = 472, + IMX_F1_GPIO119 = 473, + IMX_F2_GPIO119 = 474, + IMX_F3_GPIO119 = 475, + IMX_F0_GPIO120 = 476, + IMX_F1_GPIO120 = 477, + IMX_F2_GPIO120 = 478, + IMX_F3_GPIO120 = 479, + IMX_F0_GPIO121 = 480, + IMX_F1_GPIO121 = 481, + IMX_F2_GPIO121 = 482, + IMX_F3_GPIO121 = 483, + IMX_F0_GPIO122 = 484, + IMX_F1_GPIO122 = 485, + IMX_F2_GPIO122 = 486, + IMX_F3_GPIO122 = 487, + IMX_F0_GPIO123 = 488, + IMX_F1_GPIO123 = 489, + IMX_F2_GPIO123 = 490, + IMX_F3_GPIO123 = 491, + IMX_F0_GPIO124 = 492, + IMX_F1_GPIO124 = 493, + IMX_F2_GPIO124 = 494, + IMX_F3_GPIO124 = 495, + IMX_F0_GPIO125 = 496, + IMX_F1_GPIO125 = 497, + IMX_F2_GPIO125 = 498, + IMX_F3_GPIO125 = 499, + IMX_F0_GPIO126 = 500, + IMX_F1_GPIO126 = 501, + IMX_F2_GPIO126 = 502, + IMX_F3_GPIO126 = 503, + IMX_F0_GPIO127 = 504, + IMX_F1_GPIO127 = 505, + IMX_F2_GPIO127 = 506, + IMX_F3_GPIO127 = 507, + IMX_F0_GPIO128 = 508, + IMX_F1_GPIO128 = 509, + IMX_F2_GPIO128 = 510, + IMX_F3_GPIO128 = 511, + IMX_F0_GPIO129 = 512, + IMX_F1_GPIO129 = 513, + IMX_F2_GPIO129 = 514, + IMX_F3_GPIO129 = 515, + IMX_F0_GPIO130 = 516, + IMX_F1_GPIO130 = 517, + IMX_F2_GPIO130 = 518, + IMX_F3_GPIO130 = 519, + IMX_F0_GPIO131 = 520, + IMX_F1_GPIO131 = 521, + IMX_F2_GPIO131 = 522, + IMX_F3_GPIO131 = 523, + IMX_F0_GPIO132 = 524, + IMX_F1_GPIO132 = 525, + IMX_F2_GPIO132 = 526, + IMX_F3_GPIO132 = 527, + IMX_F0_GPIO133 = 528, + IMX_F1_GPIO133 = 529, + IMX_F2_GPIO133 = 530, + IMX_F3_GPIO133 = 531, + IMX_F0_GPIO134 = 532, + IMX_F1_GPIO134 = 533, + IMX_F2_GPIO134 = 534, + IMX_F3_GPIO134 = 535, + IMX_F0_GPIO135 = 536, + IMX_F1_GPIO135 = 537, + IMX_F2_GPIO135 = 538, + IMX_F3_GPIO135 = 539, + IMX_F0_GPIO136 = 540, + IMX_F1_GPIO136 = 541, + IMX_F2_GPIO136 = 542, + IMX_F3_GPIO136 = 543, + IMX_F0_GPIO137 = 544, + IMX_F1_GPIO137 = 545, + IMX_F2_GPIO137 = 546, + IMX_F3_GPIO137 = 547, + IMX_F0_GPIO138 = 548, + IMX_F1_GPIO138 = 549, + IMX_F2_GPIO138 = 550, + IMX_F3_GPIO138 = 551, + IMX_F0_GPIO139 = 552, + IMX_F1_GPIO139 = 553, + IMX_F2_GPIO139 = 554, + IMX_F3_GPIO139 = 555, + IMX_F0_GPIO140 = 556, + IMX_F1_GPIO140 = 557, + IMX_F2_GPIO140 = 558, + IMX_F3_GPIO140 = 559, + IMX_F0_GPIO141 = 560, + IMX_F1_GPIO141 = 561, + IMX_F2_GPIO141 = 562, + IMX_F3_GPIO141 = 563, + IMX_F0_GPIO142 = 564, + IMX_F1_GPIO142 = 565, + IMX_F2_GPIO142 = 566, + IMX_F3_GPIO142 = 567, + IMX_F0_GPIO143 = 568, + IMX_F1_GPIO143 = 569, + IMX_F2_GPIO143 = 570, + IMX_F3_GPIO143 = 571, + IMX_F0_GPIO144 = 572, + IMX_F1_GPIO144 = 573, + IMX_F2_GPIO144 = 574, + IMX_F3_GPIO144 = 575, +}; + +enum amd_iommu_intr_mode_type { + AMD_IOMMU_GUEST_IR_LEGACY = 0, + AMD_IOMMU_GUEST_IR_LEGACY_GA = 1, + AMD_IOMMU_GUEST_IR_VAPIC = 2, +}; + +enum amd_pref_core { + AMD_PREF_CORE_UNKNOWN = 0, + AMD_PREF_CORE_SUPPORTED = 1, + AMD_PREF_CORE_UNSUPPORTED = 2, +}; + +enum amd_pstate_mode { + AMD_PSTATE_UNDEFINED = 0, + AMD_PSTATE_DISABLE = 1, + AMD_PSTATE_PASSIVE = 2, + AMD_PSTATE_ACTIVE = 3, + AMD_PSTATE_GUIDED = 4, + AMD_PSTATE_MAX = 5, +}; + +enum aper_size_type { + U8_APER_SIZE = 0, + U16_APER_SIZE = 1, + U32_APER_SIZE = 2, + LVL2_APER_SIZE = 3, + FIXED_APER_SIZE = 4, +}; + +enum apic_intr_mode_id { + APIC_PIC = 0, + APIC_VIRTUAL_WIRE = 1, + APIC_VIRTUAL_WIRE_NO_CONFIG = 2, + APIC_SYMMETRIC_IO = 3, + APIC_SYMMETRIC_IO_NO_ROUTING = 4, +}; + +enum apparmor_notif_type { + APPARMOR_NOTIF_RESP_PERM = 0, + APPARMOR_NOTIF_CANCEL = 1, + APPARMOR_NOTIF_INTERUPT = 2, + APPARMOR_NOTIF_ALIVE = 3, + APPARMOR_NOTIF_OP = 4, + APPARMOR_NOTIF_RESP_NAME = 5, +}; + +enum array_state { + clear = 0, + inactive = 1, + suspended = 2, + readonly = 3, + read_auto = 4, + clean = 5, + active = 6, + write_pending = 7, + active_idle = 8, + broken = 9, + bad_word = 10, +}; + +enum as3711_su2_fbprot { + AS3711_SU2_LX_SD4 = 0, + AS3711_SU2_GPIO2 = 1, + AS3711_SU2_GPIO3 = 2, + AS3711_SU2_GPIO4 = 3, +}; + +enum as3711_su2_feedback { + AS3711_SU2_VOLTAGE = 0, + AS3711_SU2_CURR1 = 1, + AS3711_SU2_CURR2 = 2, + AS3711_SU2_CURR3 = 3, + AS3711_SU2_CURR_AUTO = 4, +}; + +enum asn1_class { + ASN1_UNIV = 0, + ASN1_APPL = 1, + ASN1_CONT = 2, + ASN1_PRIV = 3, +}; + +enum asn1_method { + ASN1_PRIM = 0, + ASN1_CONS = 1, +}; + +enum asn1_opcode { + ASN1_OP_MATCH = 0, + ASN1_OP_MATCH_OR_SKIP = 1, + ASN1_OP_MATCH_ACT = 2, + ASN1_OP_MATCH_ACT_OR_SKIP = 3, + ASN1_OP_MATCH_JUMP = 4, + ASN1_OP_MATCH_JUMP_OR_SKIP = 5, + ASN1_OP_MATCH_ANY = 8, + ASN1_OP_MATCH_ANY_OR_SKIP = 9, + ASN1_OP_MATCH_ANY_ACT = 10, + ASN1_OP_MATCH_ANY_ACT_OR_SKIP = 11, + ASN1_OP_COND_MATCH_OR_SKIP = 17, + ASN1_OP_COND_MATCH_ACT_OR_SKIP = 19, + ASN1_OP_COND_MATCH_JUMP_OR_SKIP = 21, + ASN1_OP_COND_MATCH_ANY = 24, + ASN1_OP_COND_MATCH_ANY_OR_SKIP = 25, + ASN1_OP_COND_MATCH_ANY_ACT = 26, + ASN1_OP_COND_MATCH_ANY_ACT_OR_SKIP = 27, + ASN1_OP_COND_FAIL = 28, + ASN1_OP_COMPLETE = 29, + ASN1_OP_ACT = 30, + ASN1_OP_MAYBE_ACT = 31, + ASN1_OP_END_SEQ = 32, + ASN1_OP_END_SET = 33, + ASN1_OP_END_SEQ_OF = 34, + ASN1_OP_END_SET_OF = 35, + ASN1_OP_END_SEQ_ACT = 36, + ASN1_OP_END_SET_ACT = 37, + ASN1_OP_END_SEQ_OF_ACT = 38, + ASN1_OP_END_SET_OF_ACT = 39, + ASN1_OP_RETURN = 40, + ASN1_OP__NR = 41, +}; + +enum asn1_tag { + ASN1_EOC = 0, + ASN1_BOOL = 1, + ASN1_INT = 2, + ASN1_BTS = 3, + ASN1_OTS = 4, + ASN1_NULL = 5, + ASN1_OID = 6, + ASN1_ODE = 7, + ASN1_EXT = 8, + ASN1_REAL = 9, + ASN1_ENUM = 10, + ASN1_EPDV = 11, + ASN1_UTF8STR = 12, + ASN1_RELOID = 13, + ASN1_SEQ = 16, + ASN1_SET = 17, + ASN1_NUMSTR = 18, + ASN1_PRNSTR = 19, + ASN1_TEXSTR = 20, + ASN1_VIDSTR = 21, + ASN1_IA5STR = 22, + ASN1_UNITIM = 23, + ASN1_GENTIM = 24, + ASN1_GRASTR = 25, + ASN1_VISSTR = 26, + ASN1_GENSTR = 27, + ASN1_UNISTR = 28, + ASN1_CHRSTR = 29, + ASN1_BMPSTR = 30, + ASN1_LONG_TAG = 31, +}; + +enum assoc_array_walk_status { + assoc_array_walk_tree_empty = 0, + assoc_array_walk_found_terminal_node = 1, + assoc_array_walk_found_wrong_shortcut = 2, +}; + +enum asymmetric_payload_bits { + asym_crypto = 0, + asym_subtype = 1, + asym_key_ids = 2, + asym_auth = 3, +}; + +enum ata_completion_errors { + AC_ERR_OK = 0, + AC_ERR_DEV = 1, + AC_ERR_HSM = 2, + AC_ERR_TIMEOUT = 4, + AC_ERR_MEDIA = 8, + AC_ERR_ATA_BUS = 16, + AC_ERR_HOST_BUS = 32, + AC_ERR_SYSTEM = 64, + AC_ERR_INVALID = 128, + AC_ERR_OTHER = 256, + AC_ERR_NODEV_HINT = 512, + AC_ERR_NCQ = 1024, +}; + +enum ata_dev_iter_mode { + ATA_DITER_ENABLED = 0, + ATA_DITER_ENABLED_REVERSE = 1, + ATA_DITER_ALL = 2, + ATA_DITER_ALL_REVERSE = 3, +}; + +enum ata_link_iter_mode { + ATA_LITER_EDGE = 0, + ATA_LITER_HOST_FIRST = 1, + ATA_LITER_PMP_FIRST = 2, +}; + +enum ata_lpm_hints { + ATA_LPM_EMPTY = 1, + ATA_LPM_HIPM = 2, + ATA_LPM_WAKE_ONLY = 4, +}; + +enum ata_lpm_policy { + ATA_LPM_UNKNOWN = 0, + ATA_LPM_MAX_POWER = 1, + ATA_LPM_MED_POWER = 2, + ATA_LPM_MED_POWER_WITH_DIPM = 3, + ATA_LPM_MIN_POWER_WITH_PARTIAL = 4, + ATA_LPM_MIN_POWER = 5, +}; + +enum ata_prot_flags { + ATA_PROT_FLAG_PIO = 1, + ATA_PROT_FLAG_DMA = 2, + ATA_PROT_FLAG_NCQ = 4, + ATA_PROT_FLAG_ATAPI = 8, + ATA_PROT_UNKNOWN = 255, + ATA_PROT_NODATA = 0, + ATA_PROT_PIO = 1, + ATA_PROT_DMA = 2, + ATA_PROT_NCQ_NODATA = 4, + ATA_PROT_NCQ = 6, + ATAPI_PROT_NODATA = 8, + ATAPI_PROT_PIO = 9, + ATAPI_PROT_DMA = 10, +}; + +enum ata_quirks { + __ATA_QUIRK_DIAGNOSTIC = 0, + __ATA_QUIRK_NODMA = 1, + __ATA_QUIRK_NONCQ = 2, + __ATA_QUIRK_MAX_SEC_128 = 3, + __ATA_QUIRK_BROKEN_HPA = 4, + __ATA_QUIRK_DISABLE = 5, + __ATA_QUIRK_HPA_SIZE = 6, + __ATA_QUIRK_IVB = 7, + __ATA_QUIRK_STUCK_ERR = 8, + __ATA_QUIRK_BRIDGE_OK = 9, + __ATA_QUIRK_ATAPI_MOD16_DMA = 10, + __ATA_QUIRK_FIRMWARE_WARN = 11, + __ATA_QUIRK_1_5_GBPS = 12, + __ATA_QUIRK_NOSETXFER = 13, + __ATA_QUIRK_BROKEN_FPDMA_AA = 14, + __ATA_QUIRK_DUMP_ID = 15, + __ATA_QUIRK_MAX_SEC_LBA48 = 16, + __ATA_QUIRK_ATAPI_DMADIR = 17, + __ATA_QUIRK_NO_NCQ_TRIM = 18, + __ATA_QUIRK_NOLPM = 19, + __ATA_QUIRK_WD_BROKEN_LPM = 20, + __ATA_QUIRK_ZERO_AFTER_TRIM = 21, + __ATA_QUIRK_NO_DMA_LOG = 22, + __ATA_QUIRK_NOTRIM = 23, + __ATA_QUIRK_MAX_SEC_1024 = 24, + __ATA_QUIRK_MAX_TRIM_128M = 25, + __ATA_QUIRK_NO_NCQ_ON_ATI = 26, + __ATA_QUIRK_NO_LPM_ON_ATI = 27, + __ATA_QUIRK_NO_ID_DEV_LOG = 28, + __ATA_QUIRK_NO_LOG_DIR = 29, + __ATA_QUIRK_NO_FUA = 30, + __ATA_QUIRK_MAX = 31, +}; + +enum ata_xfer_mask { + ATA_MASK_PIO = 127, + ATA_MASK_MWDMA = 3968, + ATA_MASK_UDMA = 1044480, +}; + +enum audit_mode { + AUDIT_NORMAL = 0, + AUDIT_QUIET_DENIED = 1, + AUDIT_QUIET = 2, + AUDIT_NOQUIET = 3, + AUDIT_ALL = 4, +}; + +enum audit_nfcfgop { + AUDIT_XT_OP_REGISTER = 0, + AUDIT_XT_OP_REPLACE = 1, + AUDIT_XT_OP_UNREGISTER = 2, + AUDIT_NFT_OP_TABLE_REGISTER = 3, + AUDIT_NFT_OP_TABLE_UNREGISTER = 4, + AUDIT_NFT_OP_CHAIN_REGISTER = 5, + AUDIT_NFT_OP_CHAIN_UNREGISTER = 6, + AUDIT_NFT_OP_RULE_REGISTER = 7, + AUDIT_NFT_OP_RULE_UNREGISTER = 8, + AUDIT_NFT_OP_SET_REGISTER = 9, + AUDIT_NFT_OP_SET_UNREGISTER = 10, + AUDIT_NFT_OP_SETELEM_REGISTER = 11, + AUDIT_NFT_OP_SETELEM_UNREGISTER = 12, + AUDIT_NFT_OP_GEN_REGISTER = 13, + AUDIT_NFT_OP_OBJ_REGISTER = 14, + AUDIT_NFT_OP_OBJ_UNREGISTER = 15, + AUDIT_NFT_OP_OBJ_RESET = 16, + AUDIT_NFT_OP_FLOWTABLE_REGISTER = 17, + AUDIT_NFT_OP_FLOWTABLE_UNREGISTER = 18, + AUDIT_NFT_OP_SETELEM_RESET = 19, + AUDIT_NFT_OP_RULE_RESET = 20, + AUDIT_NFT_OP_INVALID = 21, +}; + +enum audit_nlgrps { + AUDIT_NLGRP_NONE = 0, + AUDIT_NLGRP_READLOG = 1, + __AUDIT_NLGRP_MAX = 2, +}; + +enum audit_ntp_type { + AUDIT_NTP_OFFSET = 0, + AUDIT_NTP_FREQ = 1, + AUDIT_NTP_STATUS = 2, + AUDIT_NTP_TAI = 3, + AUDIT_NTP_TICK = 4, + AUDIT_NTP_ADJUST = 5, + AUDIT_NTP_NVALS = 6, +}; + +enum audit_state { + AUDIT_STATE_DISABLED = 0, + AUDIT_STATE_BUILD = 1, + AUDIT_STATE_RECORD = 2, +}; + +enum audit_type { + AUDIT_APPARMOR_AUDIT = 0, + AUDIT_APPARMOR_ALLOWED = 1, + AUDIT_APPARMOR_DENIED = 2, + AUDIT_APPARMOR_HINT = 3, + AUDIT_APPARMOR_STATUS = 4, + AUDIT_APPARMOR_ERROR = 5, + AUDIT_APPARMOR_KILL = 6, + AUDIT_APPARMOR_USER = 7, + AUDIT_APPARMOR_AUTO = 8, +}; + +enum auditsc_class_t { + AUDITSC_NATIVE = 0, + AUDITSC_COMPAT = 1, + AUDITSC_OPEN = 2, + AUDITSC_OPENAT = 3, + AUDITSC_SOCKETCALL = 4, + AUDITSC_EXECVE = 5, + AUDITSC_OPENAT2 = 6, + AUDITSC_NVALS = 7, +}; + +enum axp20x_variants { + AXP152_ID = 0, + AXP192_ID = 1, + AXP202_ID = 2, + AXP209_ID = 3, + AXP221_ID = 4, + AXP223_ID = 5, + AXP288_ID = 6, + AXP313A_ID = 7, + AXP323_ID = 8, + AXP717_ID = 9, + AXP803_ID = 10, + AXP806_ID = 11, + AXP809_ID = 12, + AXP813_ID = 13, + AXP15060_ID = 14, + NR_AXP20X_VARIANTS = 15, +}; + +enum backlight_scale { + BACKLIGHT_SCALE_UNKNOWN = 0, + BACKLIGHT_SCALE_LINEAR = 1, + BACKLIGHT_SCALE_NON_LINEAR = 2, +}; + +enum backlight_type { + BACKLIGHT_RAW = 1, + BACKLIGHT_PLATFORM = 2, + BACKLIGHT_FIRMWARE = 3, + BACKLIGHT_TYPE_MAX = 4, +}; + +enum backlight_update_reason { + BACKLIGHT_UPDATE_HOTKEY = 0, + BACKLIGHT_UPDATE_SYSFS = 1, +}; + +enum batadv_packettype { + BATADV_IV_OGM = 0, + BATADV_BCAST = 1, + BATADV_CODED = 2, + BATADV_ELP = 3, + BATADV_OGM2 = 4, + BATADV_MCAST = 5, + BATADV_UNICAST = 64, + BATADV_UNICAST_FRAG = 65, + BATADV_UNICAST_4ADDR = 66, + BATADV_ICMP = 67, + BATADV_UNICAST_TVLV = 68, +}; + +enum behavior { + EXCLUSIVE = 0, + SHARED = 1, + DROP = 2, +}; + +enum bh_state_bits { + BH_Uptodate = 0, + BH_Dirty = 1, + BH_Lock = 2, + BH_Req = 3, + BH_Mapped = 4, + BH_New = 5, + BH_Async_Read = 6, + BH_Async_Write = 7, + BH_Delay = 8, + BH_Boundary = 9, + BH_Write_EIO = 10, + BH_Unwritten = 11, + BH_Quiet = 12, + BH_Meta = 13, + BH_Prio = 14, + BH_Defer_Completion = 15, + BH_Migrate = 16, + BH_PrivateStart = 17, +}; + +enum bhi_mitigations { + BHI_MITIGATION_OFF = 0, + BHI_MITIGATION_AUTO = 1, + BHI_MITIGATION_ON = 2, + BHI_MITIGATION_VMEXIT_ONLY = 3, +}; + +enum bio_merge_status { + BIO_MERGE_OK = 0, + BIO_MERGE_NONE = 1, + BIO_MERGE_FAILED = 2, +}; + +enum bio_post_read_step { + STEP_INITIAL = 0, + STEP_DECRYPT = 1, + STEP_VERITY = 2, + STEP_MAX = 3, +}; + +enum bios_platform_class { + BIOS_CLIENT = 0, + BIOS_SERVER = 1, +}; + +enum bip_flags { + BIP_BLOCK_INTEGRITY = 1, + BIP_MAPPED_INTEGRITY = 2, + BIP_DISK_NOCHECK = 4, + BIP_IP_CHECKSUM = 8, + BIP_COPY_USER = 16, + BIP_CHECK_GUARD = 32, + BIP_CHECK_REFTAG = 64, + BIP_CHECK_APPTAG = 128, +}; + +enum bitmap_page_attr { + BITMAP_PAGE_DIRTY = 0, + BITMAP_PAGE_PENDING = 1, + BITMAP_PAGE_NEEDWRITE = 2, +}; + +enum bitmap_state { + BITMAP_STALE = 1, + BITMAP_WRITE_ERROR = 2, + BITMAP_HOSTENDIAN = 15, +}; + +enum blacklist_hash_type { + BLACKLIST_HASH_X509_TBS = 1, + BLACKLIST_HASH_BINARY = 2, +}; + +enum blake2s_iv { + BLAKE2S_IV0 = 1779033703, + BLAKE2S_IV1 = 3144134277, + BLAKE2S_IV2 = 1013904242, + BLAKE2S_IV3 = 2773480762, + BLAKE2S_IV4 = 1359893119, + BLAKE2S_IV5 = 2600822924, + BLAKE2S_IV6 = 528734635, + BLAKE2S_IV7 = 1541459225, +}; + +enum blake2s_lengths { + BLAKE2S_BLOCK_SIZE = 64, + BLAKE2S_HASH_SIZE = 32, + BLAKE2S_KEY_SIZE = 32, + BLAKE2S_128_HASH_SIZE = 16, + BLAKE2S_160_HASH_SIZE = 20, + BLAKE2S_224_HASH_SIZE = 28, + BLAKE2S_256_HASH_SIZE = 32, +}; + +enum blk_crypto_key_type { + BLK_CRYPTO_KEY_TYPE_RAW = 1, + BLK_CRYPTO_KEY_TYPE_HW_WRAPPED = 2, +}; + +enum blk_crypto_mode_num { + BLK_ENCRYPTION_MODE_INVALID = 0, + BLK_ENCRYPTION_MODE_AES_256_XTS = 1, + BLK_ENCRYPTION_MODE_AES_128_CBC_ESSIV = 2, + BLK_ENCRYPTION_MODE_ADIANTUM = 3, + BLK_ENCRYPTION_MODE_SM4_XTS = 4, + BLK_ENCRYPTION_MODE_MAX = 5, +}; + +enum blk_default_limits { + BLK_MAX_SEGMENTS = 128, + BLK_SAFE_MAX_SECTORS = 255, + BLK_MAX_SEGMENT_SIZE = 65536, + BLK_SEG_BOUNDARY_MASK = 4294967295, +}; + +enum blk_eh_timer_return { + BLK_EH_DONE = 0, + BLK_EH_RESET_TIMER = 1, +}; + +enum blk_integrity_checksum { + BLK_INTEGRITY_CSUM_NONE = 0, + BLK_INTEGRITY_CSUM_IP = 1, + BLK_INTEGRITY_CSUM_CRC = 2, + BLK_INTEGRITY_CSUM_CRC64 = 3, +} __attribute__((mode(byte))); + +enum blk_integrity_flags { + BLK_INTEGRITY_NOVERIFY = 1, + BLK_INTEGRITY_NOGENERATE = 2, + BLK_INTEGRITY_DEVICE_CAPABLE = 4, + BLK_INTEGRITY_REF_TAG = 8, + BLK_INTEGRITY_STACKED = 16, +}; + +enum blk_req_status { + REQ_PROCESSING = 0, + REQ_WAITING = 1, + REQ_DONE = 2, + REQ_ERROR = 3, + REQ_EOPNOTSUPP = 4, +}; + +enum blk_unique_id { + BLK_UID_T10 = 1, + BLK_UID_EUI64 = 2, + BLK_UID_NAA = 3, +}; + +enum blk_zone_cond { + BLK_ZONE_COND_NOT_WP = 0, + BLK_ZONE_COND_EMPTY = 1, + BLK_ZONE_COND_IMP_OPEN = 2, + BLK_ZONE_COND_EXP_OPEN = 3, + BLK_ZONE_COND_CLOSED = 4, + BLK_ZONE_COND_READONLY = 13, + BLK_ZONE_COND_FULL = 14, + BLK_ZONE_COND_OFFLINE = 15, +}; + +enum blk_zone_report_flags { + BLK_ZONE_REP_CAPACITY = 1, +}; + +enum blk_zone_type { + BLK_ZONE_TYPE_CONVENTIONAL = 1, + BLK_ZONE_TYPE_SEQWRITE_REQ = 2, + BLK_ZONE_TYPE_SEQWRITE_PREF = 3, +}; + +enum blkg_iostat_type { + BLKG_IOSTAT_READ = 0, + BLKG_IOSTAT_WRITE = 1, + BLKG_IOSTAT_DISCARD = 2, + BLKG_IOSTAT_NR = 3, +}; + +enum blkg_rwstat_type { + BLKG_RWSTAT_READ = 0, + BLKG_RWSTAT_WRITE = 1, + BLKG_RWSTAT_SYNC = 2, + BLKG_RWSTAT_ASYNC = 3, + BLKG_RWSTAT_DISCARD = 4, + BLKG_RWSTAT_NR = 5, + BLKG_RWSTAT_TOTAL = 5, +}; + +enum blkif_state { + BLKIF_STATE_DISCONNECTED = 0, + BLKIF_STATE_CONNECTED = 1, + BLKIF_STATE_SUSPENDED = 2, + BLKIF_STATE_ERROR = 3, +}; + +enum blktrace_act { + __BLK_TA_QUEUE = 1, + __BLK_TA_BACKMERGE = 2, + __BLK_TA_FRONTMERGE = 3, + __BLK_TA_GETRQ = 4, + __BLK_TA_SLEEPRQ = 5, + __BLK_TA_REQUEUE = 6, + __BLK_TA_ISSUE = 7, + __BLK_TA_COMPLETE = 8, + __BLK_TA_PLUG = 9, + __BLK_TA_UNPLUG_IO = 10, + __BLK_TA_UNPLUG_TIMER = 11, + __BLK_TA_INSERT = 12, + __BLK_TA_SPLIT = 13, + __BLK_TA_BOUNCE = 14, + __BLK_TA_REMAP = 15, + __BLK_TA_ABORT = 16, + __BLK_TA_DRV_DATA = 17, + __BLK_TA_CGROUP = 256, +}; + +enum blktrace_cat { + BLK_TC_READ = 1, + BLK_TC_WRITE = 2, + BLK_TC_FLUSH = 4, + BLK_TC_SYNC = 8, + BLK_TC_SYNCIO = 8, + BLK_TC_QUEUE = 16, + BLK_TC_REQUEUE = 32, + BLK_TC_ISSUE = 64, + BLK_TC_COMPLETE = 128, + BLK_TC_FS = 256, + BLK_TC_PC = 512, + BLK_TC_NOTIFY = 1024, + BLK_TC_AHEAD = 2048, + BLK_TC_META = 4096, + BLK_TC_DISCARD = 8192, + BLK_TC_DRV_DATA = 16384, + BLK_TC_FUA = 32768, + BLK_TC_END = 32768, +}; + +enum blktrace_notify { + __BLK_TN_PROCESS = 0, + __BLK_TN_TIMESTAMP = 1, + __BLK_TN_MESSAGE = 2, + __BLK_TN_CGROUP = 256, +}; + +enum bootmem_type { + MEMORY_HOTPLUG_MIN_BOOTMEM_TYPE = 1, + SECTION_INFO = 1, + MIX_SECTION_INFO = 2, + NODE_INFO = 3, + MEMORY_HOTPLUG_MAX_BOOTMEM_TYPE = 3, +}; + +enum bp_state { + BP_DONE = 0, + BP_WAIT = 1, + BP_EAGAIN = 2, + BP_ECANCELED = 3, +}; + +enum bp_type_idx { + TYPE_INST = 0, + TYPE_DATA = 0, + TYPE_MAX = 1, +}; + +enum bpf_access_src { + ACCESS_DIRECT = 1, + ACCESS_HELPER = 2, +}; + +enum bpf_access_type { + BPF_READ = 1, + BPF_WRITE = 2, +}; + +enum bpf_addr_space_cast { + BPF_ADDR_SPACE_CAST = 1, +}; + +enum bpf_adj_room_mode { + BPF_ADJ_ROOM_NET = 0, + BPF_ADJ_ROOM_MAC = 1, +}; + +enum bpf_arg_type { + ARG_DONTCARE = 0, + ARG_CONST_MAP_PTR = 1, + ARG_PTR_TO_MAP_KEY = 2, + ARG_PTR_TO_MAP_VALUE = 3, + ARG_PTR_TO_MEM = 4, + ARG_PTR_TO_ARENA = 5, + ARG_CONST_SIZE = 6, + ARG_CONST_SIZE_OR_ZERO = 7, + ARG_PTR_TO_CTX = 8, + ARG_ANYTHING = 9, + ARG_PTR_TO_SPIN_LOCK = 10, + ARG_PTR_TO_SOCK_COMMON = 11, + ARG_PTR_TO_SOCKET = 12, + ARG_PTR_TO_BTF_ID = 13, + ARG_PTR_TO_RINGBUF_MEM = 14, + ARG_CONST_ALLOC_SIZE_OR_ZERO = 15, + ARG_PTR_TO_BTF_ID_SOCK_COMMON = 16, + ARG_PTR_TO_PERCPU_BTF_ID = 17, + ARG_PTR_TO_FUNC = 18, + ARG_PTR_TO_STACK = 19, + ARG_PTR_TO_CONST_STR = 20, + ARG_PTR_TO_TIMER = 21, + ARG_KPTR_XCHG_DEST = 22, + ARG_PTR_TO_DYNPTR = 23, + __BPF_ARG_TYPE_MAX = 24, + ARG_PTR_TO_MAP_VALUE_OR_NULL = 259, + ARG_PTR_TO_MEM_OR_NULL = 260, + ARG_PTR_TO_CTX_OR_NULL = 264, + ARG_PTR_TO_SOCKET_OR_NULL = 268, + ARG_PTR_TO_STACK_OR_NULL = 275, + ARG_PTR_TO_BTF_ID_OR_NULL = 269, + ARG_PTR_TO_UNINIT_MEM = 67141636, + ARG_PTR_TO_FIXED_SIZE_MEM = 262148, + __BPF_ARG_TYPE_LIMIT = 134217727, +}; + +enum bpf_async_type { + BPF_ASYNC_TYPE_TIMER = 0, + BPF_ASYNC_TYPE_WQ = 1, +}; + +enum bpf_attach_type { + BPF_CGROUP_INET_INGRESS = 0, + BPF_CGROUP_INET_EGRESS = 1, + BPF_CGROUP_INET_SOCK_CREATE = 2, + BPF_CGROUP_SOCK_OPS = 3, + BPF_SK_SKB_STREAM_PARSER = 4, + BPF_SK_SKB_STREAM_VERDICT = 5, + BPF_CGROUP_DEVICE = 6, + BPF_SK_MSG_VERDICT = 7, + BPF_CGROUP_INET4_BIND = 8, + BPF_CGROUP_INET6_BIND = 9, + BPF_CGROUP_INET4_CONNECT = 10, + BPF_CGROUP_INET6_CONNECT = 11, + BPF_CGROUP_INET4_POST_BIND = 12, + BPF_CGROUP_INET6_POST_BIND = 13, + BPF_CGROUP_UDP4_SENDMSG = 14, + BPF_CGROUP_UDP6_SENDMSG = 15, + BPF_LIRC_MODE2 = 16, + BPF_FLOW_DISSECTOR = 17, + BPF_CGROUP_SYSCTL = 18, + BPF_CGROUP_UDP4_RECVMSG = 19, + BPF_CGROUP_UDP6_RECVMSG = 20, + BPF_CGROUP_GETSOCKOPT = 21, + BPF_CGROUP_SETSOCKOPT = 22, + BPF_TRACE_RAW_TP = 23, + BPF_TRACE_FENTRY = 24, + BPF_TRACE_FEXIT = 25, + BPF_MODIFY_RETURN = 26, + BPF_LSM_MAC = 27, + BPF_TRACE_ITER = 28, + BPF_CGROUP_INET4_GETPEERNAME = 29, + BPF_CGROUP_INET6_GETPEERNAME = 30, + BPF_CGROUP_INET4_GETSOCKNAME = 31, + BPF_CGROUP_INET6_GETSOCKNAME = 32, + BPF_XDP_DEVMAP = 33, + BPF_CGROUP_INET_SOCK_RELEASE = 34, + BPF_XDP_CPUMAP = 35, + BPF_SK_LOOKUP = 36, + BPF_XDP = 37, + BPF_SK_SKB_VERDICT = 38, + BPF_SK_REUSEPORT_SELECT = 39, + BPF_SK_REUSEPORT_SELECT_OR_MIGRATE = 40, + BPF_PERF_EVENT = 41, + BPF_TRACE_KPROBE_MULTI = 42, + BPF_LSM_CGROUP = 43, + BPF_STRUCT_OPS = 44, + BPF_NETFILTER = 45, + BPF_TCX_INGRESS = 46, + BPF_TCX_EGRESS = 47, + BPF_TRACE_UPROBE_MULTI = 48, + BPF_CGROUP_UNIX_CONNECT = 49, + BPF_CGROUP_UNIX_SENDMSG = 50, + BPF_CGROUP_UNIX_RECVMSG = 51, + BPF_CGROUP_UNIX_GETPEERNAME = 52, + BPF_CGROUP_UNIX_GETSOCKNAME = 53, + BPF_NETKIT_PRIMARY = 54, + BPF_NETKIT_PEER = 55, + BPF_TRACE_KPROBE_SESSION = 56, + BPF_TRACE_UPROBE_SESSION = 57, + __MAX_BPF_ATTACH_TYPE = 58, +}; + +enum bpf_audit { + BPF_AUDIT_LOAD = 0, + BPF_AUDIT_UNLOAD = 1, + BPF_AUDIT_MAX = 2, +}; + +enum bpf_cgroup_iter_order { + BPF_CGROUP_ITER_ORDER_UNSPEC = 0, + BPF_CGROUP_ITER_SELF_ONLY = 1, + BPF_CGROUP_ITER_DESCENDANTS_PRE = 2, + BPF_CGROUP_ITER_DESCENDANTS_POST = 3, + BPF_CGROUP_ITER_ANCESTORS_UP = 4, +}; + +enum bpf_cgroup_storage_type { + BPF_CGROUP_STORAGE_SHARED = 0, + BPF_CGROUP_STORAGE_PERCPU = 1, + __BPF_CGROUP_STORAGE_MAX = 2, +}; + +enum bpf_check_mtu_flags { + BPF_MTU_CHK_SEGS = 1, +}; + +enum bpf_check_mtu_ret { + BPF_MTU_CHK_RET_SUCCESS = 0, + BPF_MTU_CHK_RET_FRAG_NEEDED = 1, + BPF_MTU_CHK_RET_SEGS_TOOBIG = 2, +}; + +enum bpf_cmd { + BPF_MAP_CREATE = 0, + BPF_MAP_LOOKUP_ELEM = 1, + BPF_MAP_UPDATE_ELEM = 2, + BPF_MAP_DELETE_ELEM = 3, + BPF_MAP_GET_NEXT_KEY = 4, + BPF_PROG_LOAD = 5, + BPF_OBJ_PIN = 6, + BPF_OBJ_GET = 7, + BPF_PROG_ATTACH = 8, + BPF_PROG_DETACH = 9, + BPF_PROG_TEST_RUN = 10, + BPF_PROG_RUN = 10, + BPF_PROG_GET_NEXT_ID = 11, + BPF_MAP_GET_NEXT_ID = 12, + BPF_PROG_GET_FD_BY_ID = 13, + BPF_MAP_GET_FD_BY_ID = 14, + BPF_OBJ_GET_INFO_BY_FD = 15, + BPF_PROG_QUERY = 16, + BPF_RAW_TRACEPOINT_OPEN = 17, + BPF_BTF_LOAD = 18, + BPF_BTF_GET_FD_BY_ID = 19, + BPF_TASK_FD_QUERY = 20, + BPF_MAP_LOOKUP_AND_DELETE_ELEM = 21, + BPF_MAP_FREEZE = 22, + BPF_BTF_GET_NEXT_ID = 23, + BPF_MAP_LOOKUP_BATCH = 24, + BPF_MAP_LOOKUP_AND_DELETE_BATCH = 25, + BPF_MAP_UPDATE_BATCH = 26, + BPF_MAP_DELETE_BATCH = 27, + BPF_LINK_CREATE = 28, + BPF_LINK_UPDATE = 29, + BPF_LINK_GET_FD_BY_ID = 30, + BPF_LINK_GET_NEXT_ID = 31, + BPF_ENABLE_STATS = 32, + BPF_ITER_CREATE = 33, + BPF_LINK_DETACH = 34, + BPF_PROG_BIND_MAP = 35, + BPF_TOKEN_CREATE = 36, + BPF_PROG_STREAM_READ_BY_FD = 37, + __MAX_BPF_CMD = 38, +}; + +enum bpf_cond_pseudo_jmp { + BPF_MAY_GOTO = 0, +}; + +enum bpf_core_relo_kind { + BPF_CORE_FIELD_BYTE_OFFSET = 0, + BPF_CORE_FIELD_BYTE_SIZE = 1, + BPF_CORE_FIELD_EXISTS = 2, + BPF_CORE_FIELD_SIGNED = 3, + BPF_CORE_FIELD_LSHIFT_U64 = 4, + BPF_CORE_FIELD_RSHIFT_U64 = 5, + BPF_CORE_TYPE_ID_LOCAL = 6, + BPF_CORE_TYPE_ID_TARGET = 7, + BPF_CORE_TYPE_EXISTS = 8, + BPF_CORE_TYPE_SIZE = 9, + BPF_CORE_ENUMVAL_EXISTS = 10, + BPF_CORE_ENUMVAL_VALUE = 11, + BPF_CORE_TYPE_MATCHES = 12, +}; + +enum bpf_dynptr_type { + BPF_DYNPTR_TYPE_INVALID = 0, + BPF_DYNPTR_TYPE_LOCAL = 1, + BPF_DYNPTR_TYPE_RINGBUF = 2, + BPF_DYNPTR_TYPE_SKB = 3, + BPF_DYNPTR_TYPE_XDP = 4, +}; + +enum bpf_features { + BPF_FEAT_RDONLY_CAST_TO_VOID = 0, + BPF_FEAT_STREAMS = 1, + __MAX_BPF_FEAT = 2, +}; + +enum bpf_func_id { + BPF_FUNC_unspec = 0, + BPF_FUNC_map_lookup_elem = 1, + BPF_FUNC_map_update_elem = 2, + BPF_FUNC_map_delete_elem = 3, + BPF_FUNC_probe_read = 4, + BPF_FUNC_ktime_get_ns = 5, + BPF_FUNC_trace_printk = 6, + BPF_FUNC_get_prandom_u32 = 7, + BPF_FUNC_get_smp_processor_id = 8, + BPF_FUNC_skb_store_bytes = 9, + BPF_FUNC_l3_csum_replace = 10, + BPF_FUNC_l4_csum_replace = 11, + BPF_FUNC_tail_call = 12, + BPF_FUNC_clone_redirect = 13, + BPF_FUNC_get_current_pid_tgid = 14, + BPF_FUNC_get_current_uid_gid = 15, + BPF_FUNC_get_current_comm = 16, + BPF_FUNC_get_cgroup_classid = 17, + BPF_FUNC_skb_vlan_push = 18, + BPF_FUNC_skb_vlan_pop = 19, + BPF_FUNC_skb_get_tunnel_key = 20, + BPF_FUNC_skb_set_tunnel_key = 21, + BPF_FUNC_perf_event_read = 22, + BPF_FUNC_redirect = 23, + BPF_FUNC_get_route_realm = 24, + BPF_FUNC_perf_event_output = 25, + BPF_FUNC_skb_load_bytes = 26, + BPF_FUNC_get_stackid = 27, + BPF_FUNC_csum_diff = 28, + BPF_FUNC_skb_get_tunnel_opt = 29, + BPF_FUNC_skb_set_tunnel_opt = 30, + BPF_FUNC_skb_change_proto = 31, + BPF_FUNC_skb_change_type = 32, + BPF_FUNC_skb_under_cgroup = 33, + BPF_FUNC_get_hash_recalc = 34, + BPF_FUNC_get_current_task = 35, + BPF_FUNC_probe_write_user = 36, + BPF_FUNC_current_task_under_cgroup = 37, + BPF_FUNC_skb_change_tail = 38, + BPF_FUNC_skb_pull_data = 39, + BPF_FUNC_csum_update = 40, + BPF_FUNC_set_hash_invalid = 41, + BPF_FUNC_get_numa_node_id = 42, + BPF_FUNC_skb_change_head = 43, + BPF_FUNC_xdp_adjust_head = 44, + BPF_FUNC_probe_read_str = 45, + BPF_FUNC_get_socket_cookie = 46, + BPF_FUNC_get_socket_uid = 47, + BPF_FUNC_set_hash = 48, + BPF_FUNC_setsockopt = 49, + BPF_FUNC_skb_adjust_room = 50, + BPF_FUNC_redirect_map = 51, + BPF_FUNC_sk_redirect_map = 52, + BPF_FUNC_sock_map_update = 53, + BPF_FUNC_xdp_adjust_meta = 54, + BPF_FUNC_perf_event_read_value = 55, + BPF_FUNC_perf_prog_read_value = 56, + BPF_FUNC_getsockopt = 57, + BPF_FUNC_override_return = 58, + BPF_FUNC_sock_ops_cb_flags_set = 59, + BPF_FUNC_msg_redirect_map = 60, + BPF_FUNC_msg_apply_bytes = 61, + BPF_FUNC_msg_cork_bytes = 62, + BPF_FUNC_msg_pull_data = 63, + BPF_FUNC_bind = 64, + BPF_FUNC_xdp_adjust_tail = 65, + BPF_FUNC_skb_get_xfrm_state = 66, + BPF_FUNC_get_stack = 67, + BPF_FUNC_skb_load_bytes_relative = 68, + BPF_FUNC_fib_lookup = 69, + BPF_FUNC_sock_hash_update = 70, + BPF_FUNC_msg_redirect_hash = 71, + BPF_FUNC_sk_redirect_hash = 72, + BPF_FUNC_lwt_push_encap = 73, + BPF_FUNC_lwt_seg6_store_bytes = 74, + BPF_FUNC_lwt_seg6_adjust_srh = 75, + BPF_FUNC_lwt_seg6_action = 76, + BPF_FUNC_rc_repeat = 77, + BPF_FUNC_rc_keydown = 78, + BPF_FUNC_skb_cgroup_id = 79, + BPF_FUNC_get_current_cgroup_id = 80, + BPF_FUNC_get_local_storage = 81, + BPF_FUNC_sk_select_reuseport = 82, + BPF_FUNC_skb_ancestor_cgroup_id = 83, + BPF_FUNC_sk_lookup_tcp = 84, + BPF_FUNC_sk_lookup_udp = 85, + BPF_FUNC_sk_release = 86, + BPF_FUNC_map_push_elem = 87, + BPF_FUNC_map_pop_elem = 88, + BPF_FUNC_map_peek_elem = 89, + BPF_FUNC_msg_push_data = 90, + BPF_FUNC_msg_pop_data = 91, + BPF_FUNC_rc_pointer_rel = 92, + BPF_FUNC_spin_lock = 93, + BPF_FUNC_spin_unlock = 94, + BPF_FUNC_sk_fullsock = 95, + BPF_FUNC_tcp_sock = 96, + BPF_FUNC_skb_ecn_set_ce = 97, + BPF_FUNC_get_listener_sock = 98, + BPF_FUNC_skc_lookup_tcp = 99, + BPF_FUNC_tcp_check_syncookie = 100, + BPF_FUNC_sysctl_get_name = 101, + BPF_FUNC_sysctl_get_current_value = 102, + BPF_FUNC_sysctl_get_new_value = 103, + BPF_FUNC_sysctl_set_new_value = 104, + BPF_FUNC_strtol = 105, + BPF_FUNC_strtoul = 106, + BPF_FUNC_sk_storage_get = 107, + BPF_FUNC_sk_storage_delete = 108, + BPF_FUNC_send_signal = 109, + BPF_FUNC_tcp_gen_syncookie = 110, + BPF_FUNC_skb_output = 111, + BPF_FUNC_probe_read_user = 112, + BPF_FUNC_probe_read_kernel = 113, + BPF_FUNC_probe_read_user_str = 114, + BPF_FUNC_probe_read_kernel_str = 115, + BPF_FUNC_tcp_send_ack = 116, + BPF_FUNC_send_signal_thread = 117, + BPF_FUNC_jiffies64 = 118, + BPF_FUNC_read_branch_records = 119, + BPF_FUNC_get_ns_current_pid_tgid = 120, + BPF_FUNC_xdp_output = 121, + BPF_FUNC_get_netns_cookie = 122, + BPF_FUNC_get_current_ancestor_cgroup_id = 123, + BPF_FUNC_sk_assign = 124, + BPF_FUNC_ktime_get_boot_ns = 125, + BPF_FUNC_seq_printf = 126, + BPF_FUNC_seq_write = 127, + BPF_FUNC_sk_cgroup_id = 128, + BPF_FUNC_sk_ancestor_cgroup_id = 129, + BPF_FUNC_ringbuf_output = 130, + BPF_FUNC_ringbuf_reserve = 131, + BPF_FUNC_ringbuf_submit = 132, + BPF_FUNC_ringbuf_discard = 133, + BPF_FUNC_ringbuf_query = 134, + BPF_FUNC_csum_level = 135, + BPF_FUNC_skc_to_tcp6_sock = 136, + BPF_FUNC_skc_to_tcp_sock = 137, + BPF_FUNC_skc_to_tcp_timewait_sock = 138, + BPF_FUNC_skc_to_tcp_request_sock = 139, + BPF_FUNC_skc_to_udp6_sock = 140, + BPF_FUNC_get_task_stack = 141, + BPF_FUNC_load_hdr_opt = 142, + BPF_FUNC_store_hdr_opt = 143, + BPF_FUNC_reserve_hdr_opt = 144, + BPF_FUNC_inode_storage_get = 145, + BPF_FUNC_inode_storage_delete = 146, + BPF_FUNC_d_path = 147, + BPF_FUNC_copy_from_user = 148, + BPF_FUNC_snprintf_btf = 149, + BPF_FUNC_seq_printf_btf = 150, + BPF_FUNC_skb_cgroup_classid = 151, + BPF_FUNC_redirect_neigh = 152, + BPF_FUNC_per_cpu_ptr = 153, + BPF_FUNC_this_cpu_ptr = 154, + BPF_FUNC_redirect_peer = 155, + BPF_FUNC_task_storage_get = 156, + BPF_FUNC_task_storage_delete = 157, + BPF_FUNC_get_current_task_btf = 158, + BPF_FUNC_bprm_opts_set = 159, + BPF_FUNC_ktime_get_coarse_ns = 160, + BPF_FUNC_ima_inode_hash = 161, + BPF_FUNC_sock_from_file = 162, + BPF_FUNC_check_mtu = 163, + BPF_FUNC_for_each_map_elem = 164, + BPF_FUNC_snprintf = 165, + BPF_FUNC_sys_bpf = 166, + BPF_FUNC_btf_find_by_name_kind = 167, + BPF_FUNC_sys_close = 168, + BPF_FUNC_timer_init = 169, + BPF_FUNC_timer_set_callback = 170, + BPF_FUNC_timer_start = 171, + BPF_FUNC_timer_cancel = 172, + BPF_FUNC_get_func_ip = 173, + BPF_FUNC_get_attach_cookie = 174, + BPF_FUNC_task_pt_regs = 175, + BPF_FUNC_get_branch_snapshot = 176, + BPF_FUNC_trace_vprintk = 177, + BPF_FUNC_skc_to_unix_sock = 178, + BPF_FUNC_kallsyms_lookup_name = 179, + BPF_FUNC_find_vma = 180, + BPF_FUNC_loop = 181, + BPF_FUNC_strncmp = 182, + BPF_FUNC_get_func_arg = 183, + BPF_FUNC_get_func_ret = 184, + BPF_FUNC_get_func_arg_cnt = 185, + BPF_FUNC_get_retval = 186, + BPF_FUNC_set_retval = 187, + BPF_FUNC_xdp_get_buff_len = 188, + BPF_FUNC_xdp_load_bytes = 189, + BPF_FUNC_xdp_store_bytes = 190, + BPF_FUNC_copy_from_user_task = 191, + BPF_FUNC_skb_set_tstamp = 192, + BPF_FUNC_ima_file_hash = 193, + BPF_FUNC_kptr_xchg = 194, + BPF_FUNC_map_lookup_percpu_elem = 195, + BPF_FUNC_skc_to_mptcp_sock = 196, + BPF_FUNC_dynptr_from_mem = 197, + BPF_FUNC_ringbuf_reserve_dynptr = 198, + BPF_FUNC_ringbuf_submit_dynptr = 199, + BPF_FUNC_ringbuf_discard_dynptr = 200, + BPF_FUNC_dynptr_read = 201, + BPF_FUNC_dynptr_write = 202, + BPF_FUNC_dynptr_data = 203, + BPF_FUNC_tcp_raw_gen_syncookie_ipv4 = 204, + BPF_FUNC_tcp_raw_gen_syncookie_ipv6 = 205, + BPF_FUNC_tcp_raw_check_syncookie_ipv4 = 206, + BPF_FUNC_tcp_raw_check_syncookie_ipv6 = 207, + BPF_FUNC_ktime_get_tai_ns = 208, + BPF_FUNC_user_ringbuf_drain = 209, + BPF_FUNC_cgrp_storage_get = 210, + BPF_FUNC_cgrp_storage_delete = 211, + __BPF_FUNC_MAX_ID = 212, +}; + +enum bpf_hdr_start_off { + BPF_HDR_START_MAC = 0, + BPF_HDR_START_NET = 1, +}; + +enum bpf_iter_feature { + BPF_ITER_RESCHED = 1, +}; + +enum bpf_iter_state { + BPF_ITER_STATE_INVALID = 0, + BPF_ITER_STATE_ACTIVE = 1, + BPF_ITER_STATE_DRAINED = 2, +}; + +enum bpf_iter_task_type { + BPF_TASK_ITER_ALL = 0, + BPF_TASK_ITER_TID = 1, + BPF_TASK_ITER_TGID = 2, +}; + +enum bpf_jit_poke_reason { + BPF_POKE_REASON_TAIL_CALL = 0, +}; + +enum bpf_kfunc_flags { + BPF_F_PAD_ZEROS = 1, +}; + +enum bpf_link_type { + BPF_LINK_TYPE_UNSPEC = 0, + BPF_LINK_TYPE_RAW_TRACEPOINT = 1, + BPF_LINK_TYPE_TRACING = 2, + BPF_LINK_TYPE_CGROUP = 3, + BPF_LINK_TYPE_ITER = 4, + BPF_LINK_TYPE_NETNS = 5, + BPF_LINK_TYPE_XDP = 6, + BPF_LINK_TYPE_PERF_EVENT = 7, + BPF_LINK_TYPE_KPROBE_MULTI = 8, + BPF_LINK_TYPE_STRUCT_OPS = 9, + BPF_LINK_TYPE_NETFILTER = 10, + BPF_LINK_TYPE_TCX = 11, + BPF_LINK_TYPE_UPROBE_MULTI = 12, + BPF_LINK_TYPE_NETKIT = 13, + BPF_LINK_TYPE_SOCKMAP = 14, + __MAX_BPF_LINK_TYPE = 15, +}; + +enum bpf_lru_list_type { + BPF_LRU_LIST_T_ACTIVE = 0, + BPF_LRU_LIST_T_INACTIVE = 1, + BPF_LRU_LIST_T_FREE = 2, + BPF_LRU_LOCAL_LIST_T_FREE = 3, + BPF_LRU_LOCAL_LIST_T_PENDING = 4, +}; + +enum bpf_lwt_encap_mode { + BPF_LWT_ENCAP_SEG6 = 0, + BPF_LWT_ENCAP_SEG6_INLINE = 1, + BPF_LWT_ENCAP_IP = 2, +}; + +enum bpf_map_type { + BPF_MAP_TYPE_UNSPEC = 0, + BPF_MAP_TYPE_HASH = 1, + BPF_MAP_TYPE_ARRAY = 2, + BPF_MAP_TYPE_PROG_ARRAY = 3, + BPF_MAP_TYPE_PERF_EVENT_ARRAY = 4, + BPF_MAP_TYPE_PERCPU_HASH = 5, + BPF_MAP_TYPE_PERCPU_ARRAY = 6, + BPF_MAP_TYPE_STACK_TRACE = 7, + BPF_MAP_TYPE_CGROUP_ARRAY = 8, + BPF_MAP_TYPE_LRU_HASH = 9, + BPF_MAP_TYPE_LRU_PERCPU_HASH = 10, + BPF_MAP_TYPE_LPM_TRIE = 11, + BPF_MAP_TYPE_ARRAY_OF_MAPS = 12, + BPF_MAP_TYPE_HASH_OF_MAPS = 13, + BPF_MAP_TYPE_DEVMAP = 14, + BPF_MAP_TYPE_SOCKMAP = 15, + BPF_MAP_TYPE_CPUMAP = 16, + BPF_MAP_TYPE_XSKMAP = 17, + BPF_MAP_TYPE_SOCKHASH = 18, + BPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED = 19, + BPF_MAP_TYPE_CGROUP_STORAGE = 19, + BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 20, + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE_DEPRECATED = 21, + BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 21, + BPF_MAP_TYPE_QUEUE = 22, + BPF_MAP_TYPE_STACK = 23, + BPF_MAP_TYPE_SK_STORAGE = 24, + BPF_MAP_TYPE_DEVMAP_HASH = 25, + BPF_MAP_TYPE_STRUCT_OPS = 26, + BPF_MAP_TYPE_RINGBUF = 27, + BPF_MAP_TYPE_INODE_STORAGE = 28, + BPF_MAP_TYPE_TASK_STORAGE = 29, + BPF_MAP_TYPE_BLOOM_FILTER = 30, + BPF_MAP_TYPE_USER_RINGBUF = 31, + BPF_MAP_TYPE_CGRP_STORAGE = 32, + BPF_MAP_TYPE_ARENA = 33, + __MAX_BPF_MAP_TYPE = 34, +}; + +enum bpf_netdev_command { + XDP_SETUP_PROG = 0, + XDP_SETUP_PROG_HW = 1, + BPF_OFFLOAD_MAP_ALLOC = 2, + BPF_OFFLOAD_MAP_FREE = 3, + XDP_SETUP_XSK_POOL = 4, +}; + +enum bpf_perf_event_type { + BPF_PERF_EVENT_UNSPEC = 0, + BPF_PERF_EVENT_UPROBE = 1, + BPF_PERF_EVENT_URETPROBE = 2, + BPF_PERF_EVENT_KPROBE = 3, + BPF_PERF_EVENT_KRETPROBE = 4, + BPF_PERF_EVENT_TRACEPOINT = 5, + BPF_PERF_EVENT_EVENT = 6, +}; + +enum bpf_prog_type { + BPF_PROG_TYPE_UNSPEC = 0, + BPF_PROG_TYPE_SOCKET_FILTER = 1, + BPF_PROG_TYPE_KPROBE = 2, + BPF_PROG_TYPE_SCHED_CLS = 3, + BPF_PROG_TYPE_SCHED_ACT = 4, + BPF_PROG_TYPE_TRACEPOINT = 5, + BPF_PROG_TYPE_XDP = 6, + BPF_PROG_TYPE_PERF_EVENT = 7, + BPF_PROG_TYPE_CGROUP_SKB = 8, + BPF_PROG_TYPE_CGROUP_SOCK = 9, + BPF_PROG_TYPE_LWT_IN = 10, + BPF_PROG_TYPE_LWT_OUT = 11, + BPF_PROG_TYPE_LWT_XMIT = 12, + BPF_PROG_TYPE_SOCK_OPS = 13, + BPF_PROG_TYPE_SK_SKB = 14, + BPF_PROG_TYPE_CGROUP_DEVICE = 15, + BPF_PROG_TYPE_SK_MSG = 16, + BPF_PROG_TYPE_RAW_TRACEPOINT = 17, + BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 18, + BPF_PROG_TYPE_LWT_SEG6LOCAL = 19, + BPF_PROG_TYPE_LIRC_MODE2 = 20, + BPF_PROG_TYPE_SK_REUSEPORT = 21, + BPF_PROG_TYPE_FLOW_DISSECTOR = 22, + BPF_PROG_TYPE_CGROUP_SYSCTL = 23, + BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE = 24, + BPF_PROG_TYPE_CGROUP_SOCKOPT = 25, + BPF_PROG_TYPE_TRACING = 26, + BPF_PROG_TYPE_STRUCT_OPS = 27, + BPF_PROG_TYPE_EXT = 28, + BPF_PROG_TYPE_LSM = 29, + BPF_PROG_TYPE_SK_LOOKUP = 30, + BPF_PROG_TYPE_SYSCALL = 31, + BPF_PROG_TYPE_NETFILTER = 32, + __MAX_BPF_PROG_TYPE = 33, +}; + +enum bpf_reg_liveness { + REG_LIVE_NONE = 0, + REG_LIVE_READ32 = 1, + REG_LIVE_READ64 = 2, + REG_LIVE_READ = 3, + REG_LIVE_WRITTEN = 4, + REG_LIVE_DONE = 8, +}; + +enum bpf_reg_type { + NOT_INIT = 0, + SCALAR_VALUE = 1, + PTR_TO_CTX = 2, + CONST_PTR_TO_MAP = 3, + PTR_TO_MAP_VALUE = 4, + PTR_TO_MAP_KEY = 5, + PTR_TO_STACK = 6, + PTR_TO_PACKET_META = 7, + PTR_TO_PACKET = 8, + PTR_TO_PACKET_END = 9, + PTR_TO_FLOW_KEYS = 10, + PTR_TO_SOCKET = 11, + PTR_TO_SOCK_COMMON = 12, + PTR_TO_TCP_SOCK = 13, + PTR_TO_TP_BUFFER = 14, + PTR_TO_XDP_SOCK = 15, + PTR_TO_BTF_ID = 16, + PTR_TO_MEM = 17, + PTR_TO_ARENA = 18, + PTR_TO_BUF = 19, + PTR_TO_FUNC = 20, + CONST_PTR_TO_DYNPTR = 21, + __BPF_REG_TYPE_MAX = 22, + PTR_TO_MAP_VALUE_OR_NULL = 260, + PTR_TO_SOCKET_OR_NULL = 267, + PTR_TO_SOCK_COMMON_OR_NULL = 268, + PTR_TO_TCP_SOCK_OR_NULL = 269, + PTR_TO_BTF_ID_OR_NULL = 272, + __BPF_REG_TYPE_LIMIT = 134217727, +}; + +enum bpf_ret_code { + BPF_OK = 0, + BPF_DROP = 2, + BPF_REDIRECT = 7, + BPF_LWT_REROUTE = 128, + BPF_FLOW_DISSECTOR_CONTINUE = 129, +}; + +enum bpf_return_type { + RET_INTEGER = 0, + RET_VOID = 1, + RET_PTR_TO_MAP_VALUE = 2, + RET_PTR_TO_SOCKET = 3, + RET_PTR_TO_TCP_SOCK = 4, + RET_PTR_TO_SOCK_COMMON = 5, + RET_PTR_TO_MEM = 6, + RET_PTR_TO_MEM_OR_BTF_ID = 7, + RET_PTR_TO_BTF_ID = 8, + __BPF_RET_TYPE_MAX = 9, + RET_PTR_TO_MAP_VALUE_OR_NULL = 258, + RET_PTR_TO_SOCKET_OR_NULL = 259, + RET_PTR_TO_TCP_SOCK_OR_NULL = 260, + RET_PTR_TO_SOCK_COMMON_OR_NULL = 261, + RET_PTR_TO_RINGBUF_MEM_OR_NULL = 1286, + RET_PTR_TO_DYNPTR_MEM_OR_NULL = 262, + RET_PTR_TO_BTF_ID_OR_NULL = 264, + RET_PTR_TO_BTF_ID_TRUSTED = 1048584, + __BPF_RET_TYPE_LIMIT = 134217727, +}; + +enum bpf_stack_build_id_status { + BPF_STACK_BUILD_ID_EMPTY = 0, + BPF_STACK_BUILD_ID_VALID = 1, + BPF_STACK_BUILD_ID_IP = 2, +}; + +enum bpf_stack_slot_type { + STACK_INVALID = 0, + STACK_SPILL = 1, + STACK_MISC = 2, + STACK_ZERO = 3, + STACK_DYNPTR = 4, + STACK_ITER = 5, + STACK_IRQ_FLAG = 6, +}; + +enum bpf_stats_type { + BPF_STATS_RUN_TIME = 0, +}; + +enum bpf_stream_id { + BPF_STDOUT = 1, + BPF_STDERR = 2, +}; + +enum bpf_struct_ops_state { + BPF_STRUCT_OPS_STATE_INIT = 0, + BPF_STRUCT_OPS_STATE_INUSE = 1, + BPF_STRUCT_OPS_STATE_TOBEFREE = 2, + BPF_STRUCT_OPS_STATE_READY = 3, +}; + +enum bpf_struct_walk_result { + WALK_SCALAR = 0, + WALK_PTR = 1, + WALK_PTR_UNTRUSTED = 2, + WALK_STRUCT = 3, +}; + +enum bpf_task_fd_type { + BPF_FD_TYPE_RAW_TRACEPOINT = 0, + BPF_FD_TYPE_TRACEPOINT = 1, + BPF_FD_TYPE_KPROBE = 2, + BPF_FD_TYPE_KRETPROBE = 3, + BPF_FD_TYPE_UPROBE = 4, + BPF_FD_TYPE_URETPROBE = 5, +}; + +enum bpf_task_vma_iter_find_op { + task_vma_iter_first_vma = 0, + task_vma_iter_next_vma = 1, + task_vma_iter_find_vma = 2, +}; + +enum bpf_text_poke_type { + BPF_MOD_CALL = 0, + BPF_MOD_JUMP = 1, +}; + +enum bpf_tramp_prog_type { + BPF_TRAMP_FENTRY = 0, + BPF_TRAMP_FEXIT = 1, + BPF_TRAMP_MODIFY_RETURN = 2, + BPF_TRAMP_MAX = 3, + BPF_TRAMP_REPLACE = 4, +}; + +enum bpf_type { + BPF_TYPE_UNSPEC = 0, + BPF_TYPE_PROG = 1, + BPF_TYPE_MAP = 2, + BPF_TYPE_LINK = 3, +}; + +enum bpf_type_flag { + PTR_MAYBE_NULL = 256, + MEM_RDONLY = 512, + MEM_RINGBUF = 1024, + MEM_USER = 2048, + MEM_PERCPU = 4096, + OBJ_RELEASE = 8192, + PTR_UNTRUSTED = 16384, + MEM_UNINIT = 32768, + DYNPTR_TYPE_LOCAL = 65536, + DYNPTR_TYPE_RINGBUF = 131072, + MEM_FIXED_SIZE = 262144, + MEM_ALLOC = 524288, + PTR_TRUSTED = 1048576, + MEM_RCU = 2097152, + NON_OWN_REF = 4194304, + DYNPTR_TYPE_SKB = 8388608, + DYNPTR_TYPE_XDP = 16777216, + MEM_ALIGNED = 33554432, + MEM_WRITE = 67108864, + __BPF_TYPE_FLAG_MAX = 67108865, + __BPF_TYPE_LAST_FLAG = 67108864, +}; + +enum bpf_xdp_mode { + XDP_MODE_SKB = 0, + XDP_MODE_DRV = 1, + XDP_MODE_HW = 2, + __MAX_XDP_MODE = 3, +}; + +enum btf_arg_tag { + ARG_TAG_CTX = 1, + ARG_TAG_NONNULL = 2, + ARG_TAG_TRUSTED = 4, + ARG_TAG_UNTRUSTED = 8, + ARG_TAG_NULLABLE = 16, + ARG_TAG_ARENA = 32, +}; + +enum btf_field_iter_kind { + BTF_FIELD_ITER_IDS = 0, + BTF_FIELD_ITER_STRS = 1, +}; + +enum btf_field_type { + BPF_SPIN_LOCK = 1, + BPF_TIMER = 2, + BPF_KPTR_UNREF = 4, + BPF_KPTR_REF = 8, + BPF_KPTR_PERCPU = 16, + BPF_KPTR = 28, + BPF_LIST_HEAD = 32, + BPF_LIST_NODE = 64, + BPF_RB_ROOT = 128, + BPF_RB_NODE = 256, + BPF_GRAPH_NODE = 320, + BPF_GRAPH_ROOT = 160, + BPF_REFCOUNT = 512, + BPF_WORKQUEUE = 1024, + BPF_UPTR = 2048, + BPF_RES_SPIN_LOCK = 4096, +}; + +enum btf_func_linkage { + BTF_FUNC_STATIC = 0, + BTF_FUNC_GLOBAL = 1, + BTF_FUNC_EXTERN = 2, +}; + +enum btf_kfunc_hook { + BTF_KFUNC_HOOK_COMMON = 0, + BTF_KFUNC_HOOK_XDP = 1, + BTF_KFUNC_HOOK_TC = 2, + BTF_KFUNC_HOOK_STRUCT_OPS = 3, + BTF_KFUNC_HOOK_TRACING = 4, + BTF_KFUNC_HOOK_SYSCALL = 5, + BTF_KFUNC_HOOK_FMODRET = 6, + BTF_KFUNC_HOOK_CGROUP = 7, + BTF_KFUNC_HOOK_SCHED_ACT = 8, + BTF_KFUNC_HOOK_SK_SKB = 9, + BTF_KFUNC_HOOK_SOCKET_FILTER = 10, + BTF_KFUNC_HOOK_LWT = 11, + BTF_KFUNC_HOOK_NETFILTER = 12, + BTF_KFUNC_HOOK_KPROBE = 13, + BTF_KFUNC_HOOK_MAX = 14, +}; + +enum bug_trap_type { + BUG_TRAP_TYPE_NONE = 0, + BUG_TRAP_TYPE_WARN = 1, + BUG_TRAP_TYPE_BUG = 2, +}; + +enum bus_notifier_event { + BUS_NOTIFY_ADD_DEVICE = 0, + BUS_NOTIFY_DEL_DEVICE = 1, + BUS_NOTIFY_REMOVED_DEVICE = 2, + BUS_NOTIFY_BIND_DRIVER = 3, + BUS_NOTIFY_BOUND_DRIVER = 4, + BUS_NOTIFY_UNBIND_DRIVER = 5, + BUS_NOTIFY_UNBOUND_DRIVER = 6, + BUS_NOTIFY_DRIVER_NOT_BOUND = 7, +}; + +enum cache_indexing { + NODE_CACHE_DIRECT_MAP = 0, + NODE_CACHE_INDEXED = 1, + NODE_CACHE_OTHER = 2, +}; + +enum cache_mode { + NODE_CACHE_ADDR_MODE_RESERVED = 0, + NODE_CACHE_ADDR_MODE_EXTENDED_LINEAR = 1, +}; + +enum cache_tag_type { + CACHE_TAG_IOTLB = 0, + CACHE_TAG_DEVTLB = 1, + CACHE_TAG_NESTING_IOTLB = 2, + CACHE_TAG_NESTING_DEVTLB = 3, +}; + +enum cache_type { + CACHE_TYPE_NOCACHE = 0, + CACHE_TYPE_INST = 1, + CACHE_TYPE_DATA = 2, + CACHE_TYPE_SEPARATE = 3, + CACHE_TYPE_UNIFIED = 4, +}; + +enum cache_write_policy { + NODE_CACHE_WRITE_BACK = 0, + NODE_CACHE_WRITE_THROUGH = 1, + NODE_CACHE_WRITE_OTHER = 2, +}; + +enum cc_attr { + CC_ATTR_MEM_ENCRYPT = 0, + CC_ATTR_HOST_MEM_ENCRYPT = 1, + CC_ATTR_GUEST_MEM_ENCRYPT = 2, + CC_ATTR_GUEST_STATE_ENCRYPT = 3, + CC_ATTR_GUEST_UNROLL_STRING_IO = 4, + CC_ATTR_GUEST_SEV_SNP = 5, + CC_ATTR_GUEST_SNP_SECURE_TSC = 6, + CC_ATTR_HOST_SEV_SNP = 7, +}; + +enum cc_vendor { + CC_VENDOR_NONE = 0, + CC_VENDOR_AMD = 1, + CC_VENDOR_INTEL = 2, +}; + +enum cdrom_print_option { + CTL_NAME = 0, + CTL_SPEED = 1, + CTL_SLOTS = 2, + CTL_CAPABILITY = 3, +}; + +enum cee_attrs { + DCB_ATTR_CEE_UNSPEC = 0, + DCB_ATTR_CEE_PEER_PG = 1, + DCB_ATTR_CEE_PEER_PFC = 2, + DCB_ATTR_CEE_PEER_APP_TABLE = 3, + DCB_ATTR_CEE_TX_PG = 4, + DCB_ATTR_CEE_RX_PG = 5, + DCB_ATTR_CEE_PFC = 6, + DCB_ATTR_CEE_APP_TABLE = 7, + DCB_ATTR_CEE_FEAT = 8, + __DCB_ATTR_CEE_MAX = 9, +}; + +enum cfg80211_signal_type { + CFG80211_SIGNAL_TYPE_NONE = 0, + CFG80211_SIGNAL_TYPE_MBM = 1, + CFG80211_SIGNAL_TYPE_UNSPEC = 2, +}; + +enum cfi_mode { + CFI_AUTO = 0, + CFI_OFF = 1, + CFI_KCFI = 2, + CFI_FINEIBT = 3, +}; + +enum cgroup1_param { + Opt_all = 0, + Opt_clone_children = 1, + Opt_cpuset_v2_mode = 2, + Opt_name = 3, + Opt_none = 4, + Opt_noprefix = 5, + Opt_release_agent = 6, + Opt_xattr = 7, + Opt_favordynmods = 8, + Opt_nofavordynmods = 9, +}; + +enum cgroup2_param { + Opt_nsdelegate = 0, + Opt_favordynmods___2 = 1, + Opt_memory_localevents = 2, + Opt_memory_recursiveprot = 3, + Opt_memory_hugetlb_accounting = 4, + Opt_pids_localevents = 5, + nr__cgroup2_params = 6, +}; + +enum cgroup_bpf_attach_type { + CGROUP_BPF_ATTACH_TYPE_INVALID = -1, + CGROUP_INET_INGRESS = 0, + CGROUP_INET_EGRESS = 1, + CGROUP_INET_SOCK_CREATE = 2, + CGROUP_SOCK_OPS = 3, + CGROUP_DEVICE = 4, + CGROUP_INET4_BIND = 5, + CGROUP_INET6_BIND = 6, + CGROUP_INET4_CONNECT = 7, + CGROUP_INET6_CONNECT = 8, + CGROUP_UNIX_CONNECT = 9, + CGROUP_INET4_POST_BIND = 10, + CGROUP_INET6_POST_BIND = 11, + CGROUP_UDP4_SENDMSG = 12, + CGROUP_UDP6_SENDMSG = 13, + CGROUP_UNIX_SENDMSG = 14, + CGROUP_SYSCTL = 15, + CGROUP_UDP4_RECVMSG = 16, + CGROUP_UDP6_RECVMSG = 17, + CGROUP_UNIX_RECVMSG = 18, + CGROUP_GETSOCKOPT = 19, + CGROUP_SETSOCKOPT = 20, + CGROUP_INET4_GETPEERNAME = 21, + CGROUP_INET6_GETPEERNAME = 22, + CGROUP_UNIX_GETPEERNAME = 23, + CGROUP_INET4_GETSOCKNAME = 24, + CGROUP_INET6_GETSOCKNAME = 25, + CGROUP_UNIX_GETSOCKNAME = 26, + CGROUP_INET_SOCK_RELEASE = 27, + CGROUP_LSM_START = 28, + CGROUP_LSM_END = 37, + MAX_CGROUP_BPF_ATTACH_TYPE = 38, +}; + +enum cgroup_filetype { + CGROUP_FILE_PROCS = 0, + CGROUP_FILE_TASKS = 1, +}; + +enum cgroup_lifetime_events { + CGROUP_LIFETIME_ONLINE = 0, + CGROUP_LIFETIME_OFFLINE = 1, +}; + +enum cgroup_opt_features { + OPT_FEATURE_PRESSURE = 0, + OPT_FEATURE_COUNT = 1, +}; + +enum cgroup_subsys_id { + cpuset_cgrp_id = 0, + cpu_cgrp_id = 1, + cpuacct_cgrp_id = 2, + io_cgrp_id = 3, + memory_cgrp_id = 4, + devices_cgrp_id = 5, + freezer_cgrp_id = 6, + net_cls_cgrp_id = 7, + perf_event_cgrp_id = 8, + net_prio_cgrp_id = 9, + hugetlb_cgrp_id = 10, + pids_cgrp_id = 11, + rdma_cgrp_id = 12, + misc_cgrp_id = 13, + dmem_cgrp_id = 14, + CGROUP_SUBSYS_COUNT = 15, +}; + +enum chacha20poly1305_lengths { + XCHACHA20POLY1305_NONCE_SIZE = 24, + CHACHA20POLY1305_KEY_SIZE = 32, + CHACHA20POLY1305_AUTHTAG_SIZE = 16, +}; + +enum chacha_constants { + CHACHA_CONSTANT_EXPA = 1634760805, + CHACHA_CONSTANT_ND_3 = 857760878, + CHACHA_CONSTANT_2_BY = 2036477234, + CHACHA_CONSTANT_TE_K = 1797285236, +}; + +enum chipset_type { + NOT_SUPPORTED = 0, + SUPPORTED = 1, +}; + +enum class_map_type { + DD_CLASS_TYPE_DISJOINT_BITS = 0, + DD_CLASS_TYPE_LEVEL_NUM = 1, + DD_CLASS_TYPE_DISJOINT_NAMES = 2, + DD_CLASS_TYPE_LEVEL_NAMES = 3, +}; + +enum class_stat_type { + ZS_OBJS_ALLOCATED = 12, + ZS_OBJS_INUSE = 13, + NR_CLASS_STAT_TYPES = 14, +}; + +enum cleanup_prefix_rt_t { + CLEANUP_PREFIX_RT_NOP = 0, + CLEANUP_PREFIX_RT_DEL = 1, + CLEANUP_PREFIX_RT_EXPIRE = 2, +}; + +enum clear_refs_types { + CLEAR_REFS_ALL = 1, + CLEAR_REFS_ANON = 2, + CLEAR_REFS_MAPPED = 3, + CLEAR_REFS_SOFT_DIRTY = 4, + CLEAR_REFS_MM_HIWATER_RSS = 5, + CLEAR_REFS_LAST = 6, +}; + +enum clock_event_state { + CLOCK_EVT_STATE_DETACHED = 0, + CLOCK_EVT_STATE_SHUTDOWN = 1, + CLOCK_EVT_STATE_PERIODIC = 2, + CLOCK_EVT_STATE_ONESHOT = 3, + CLOCK_EVT_STATE_ONESHOT_STOPPED = 4, +}; + +enum clocksource_ids { + CSID_GENERIC = 0, + CSID_ARM_ARCH_COUNTER = 1, + CSID_S390_TOD = 2, + CSID_X86_TSC_EARLY = 3, + CSID_X86_TSC = 4, + CSID_X86_KVM_CLK = 5, + CSID_X86_ART = 6, + CSID_MAX = 7, +}; + +enum closure_state { + CLOSURE_BITS_START = 67108864, + CLOSURE_DESTRUCTOR = 67108864, + CLOSURE_WAITING = 268435456, + CLOSURE_RUNNING = 1073741824, +}; + +enum cm_batt_temp { + CM_BATT_OK = 0, + CM_BATT_OVERHEAT = 1, + CM_BATT_COLD = 2, +}; + +enum cma_flags { + CMA_RESERVE_PAGES_ON_ERROR = 0, + CMA_ZONES_VALID = 1, + CMA_ZONES_INVALID = 2, + CMA_ACTIVATED = 3, +}; + +enum cmd_type { + CMD_ADDR = 1, + CMD_LISTEN = 2, + CMD_OPT = 4, +}; + +enum cmis_cdb_fw_write_mechanism { + CMIS_CDB_FW_WRITE_MECHANISM_NONE = 0, + CMIS_CDB_FW_WRITE_MECHANISM_LPL = 1, + CMIS_CDB_FW_WRITE_MECHANISM_EPL = 16, + CMIS_CDB_FW_WRITE_MECHANISM_BOTH = 17, +}; + +enum compact_priority { + COMPACT_PRIO_SYNC_FULL = 0, + MIN_COMPACT_PRIORITY = 0, + COMPACT_PRIO_SYNC_LIGHT = 1, + MIN_COMPACT_COSTLY_PRIORITY = 1, + DEF_COMPACT_PRIORITY = 1, + COMPACT_PRIO_ASYNC = 2, + INIT_COMPACT_PRIORITY = 2, +}; + +enum compact_result { + COMPACT_NOT_SUITABLE_ZONE = 0, + COMPACT_SKIPPED = 1, + COMPACT_DEFERRED = 2, + COMPACT_NO_SUITABLE_PAGE = 3, + COMPACT_CONTINUE = 4, + COMPACT_COMPLETE = 5, + COMPACT_PARTIAL_SKIPPED = 6, + COMPACT_CONTENDED = 7, + COMPACT_SUCCESS = 8, +}; + +enum con_flush_mode { + CONSOLE_FLUSH_PENDING = 0, + CONSOLE_REPLAY_ALL = 1, +}; + +enum con_msg_format_flags { + MSG_FORMAT_DEFAULT = 0, + MSG_FORMAT_SYSLOG = 1, +}; + +enum con_scroll { + SM_UP = 0, + SM_DOWN = 1, +}; + +enum cons_flags { + CON_PRINTBUFFER = 1, + CON_CONSDEV = 2, + CON_ENABLED = 4, + CON_BOOT = 8, + CON_ANYTIME = 16, + CON_BRL = 32, + CON_EXTENDED = 64, + CON_SUSPENDED = 128, + CON_NBCON = 256, +}; + +enum context { + IN_KERNEL = 1, + IN_USER = 2, + IN_KERNEL_RECOV = 3, +}; + +enum coredump_mark { + COREDUMP_MARK_REQACK = 0, + COREDUMP_MARK_MINSIZE = 1, + COREDUMP_MARK_MAXSIZE = 2, + COREDUMP_MARK_UNSUPPORTED = 3, + COREDUMP_MARK_CONFLICTING = 4, + __COREDUMP_MARK_MAX = 2147483648, +}; + +enum coredump_type_t { + COREDUMP_FILE = 1, + COREDUMP_PIPE = 2, + COREDUMP_SOCK = 3, + COREDUMP_SOCK_REQ = 4, +}; + +enum cp_error_code { + CP_EC = 32767, + CP_RET = 1, + CP_IRET = 2, + CP_ENDBR = 3, + CP_RSTRORSSP = 4, + CP_SETSSBSY = 5, + CP_ENCL = 32768, +}; + +enum cpa_warn { + CPA_CONFLICT = 0, + CPA_PROTECT = 1, + CPA_DETECT = 2, +}; + +enum cpio_fields { + C_MAGIC = 0, + C_INO = 1, + C_MODE = 2, + C_UID = 3, + C_GID = 4, + C_NLINK = 5, + C_MTIME = 6, + C_FILESIZE = 7, + C_MAJ = 8, + C_MIN = 9, + C_RMAJ = 10, + C_RMIN = 11, + C_NAMESIZE = 12, + C_CHKSUM = 13, + C_NFIELDS = 14, +}; + +enum cppc_regs { + HIGHEST_PERF = 0, + NOMINAL_PERF = 1, + LOW_NON_LINEAR_PERF = 2, + LOWEST_PERF = 3, + GUARANTEED_PERF = 4, + DESIRED_PERF = 5, + MIN_PERF = 6, + MAX_PERF = 7, + PERF_REDUC_TOLERANCE = 8, + TIME_WINDOW = 9, + CTR_WRAP_TIME = 10, + REFERENCE_CTR = 11, + DELIVERED_CTR = 12, + PERF_LIMITED = 13, + ENABLE = 14, + AUTO_SEL_ENABLE = 15, + AUTO_ACT_WINDOW = 16, + ENERGY_PERF = 17, + REFERENCE_PERF = 18, + LOWEST_FREQ = 19, + NOMINAL_FREQ = 20, +}; + +enum cpu_attack_vectors { + CPU_MITIGATE_USER_KERNEL = 0, + CPU_MITIGATE_USER_USER = 1, + CPU_MITIGATE_GUEST_HOST = 2, + CPU_MITIGATE_GUEST_GUEST = 3, + NR_CPU_ATTACK_VECTORS = 4, +}; + +enum cpu_idle_type { + __CPU_NOT_IDLE = 0, + CPU_IDLE = 1, + CPU_NEWLY_IDLE = 2, + CPU_MAX_IDLE_TYPES = 3, +}; + +enum cpu_led_event { + CPU_LED_IDLE_START = 0, + CPU_LED_IDLE_END = 1, + CPU_LED_START = 2, + CPU_LED_STOP = 3, + CPU_LED_HALTED = 4, +}; + +enum cpu_mitigations { + CPU_MITIGATIONS_OFF = 0, + CPU_MITIGATIONS_AUTO = 1, + CPU_MITIGATIONS_AUTO_NOSMT = 2, +}; + +enum cpu_usage_stat { + CPUTIME_USER = 0, + CPUTIME_NICE = 1, + CPUTIME_SYSTEM = 2, + CPUTIME_SOFTIRQ = 3, + CPUTIME_IRQ = 4, + CPUTIME_IDLE = 5, + CPUTIME_IOWAIT = 6, + CPUTIME_STEAL = 7, + CPUTIME_GUEST = 8, + CPUTIME_GUEST_NICE = 9, + CPUTIME_FORCEIDLE = 10, + NR_STATS = 11, +}; + +enum cpuacct_stat_index { + CPUACCT_STAT_USER = 0, + CPUACCT_STAT_SYSTEM = 1, + CPUACCT_STAT_NSTATS = 2, +}; + +enum cpufreq_table_sorting { + CPUFREQ_TABLE_UNSORTED = 0, + CPUFREQ_TABLE_SORTED_ASCENDING = 1, + CPUFREQ_TABLE_SORTED_DESCENDING = 2, +}; + +enum cpuhp_smt_control { + CPU_SMT_ENABLED = 0, + CPU_SMT_DISABLED = 1, + CPU_SMT_FORCE_DISABLED = 2, + CPU_SMT_NOT_SUPPORTED = 3, + CPU_SMT_NOT_IMPLEMENTED = 4, +}; + +enum cpuhp_state { + CPUHP_INVALID = -1, + CPUHP_OFFLINE = 0, + CPUHP_CREATE_THREADS = 1, + CPUHP_PERF_X86_PREPARE = 2, + CPUHP_PERF_X86_AMD_UNCORE_PREP = 3, + CPUHP_PERF_POWER = 4, + CPUHP_PERF_SUPERH = 5, + CPUHP_X86_HPET_DEAD = 6, + CPUHP_X86_MCE_DEAD = 7, + CPUHP_VIRT_NET_DEAD = 8, + CPUHP_IBMVNIC_DEAD = 9, + CPUHP_SLUB_DEAD = 10, + CPUHP_DEBUG_OBJ_DEAD = 11, + CPUHP_MM_WRITEBACK_DEAD = 12, + CPUHP_MM_VMSTAT_DEAD = 13, + CPUHP_SOFTIRQ_DEAD = 14, + CPUHP_NET_MVNETA_DEAD = 15, + CPUHP_CPUIDLE_DEAD = 16, + CPUHP_ARM64_FPSIMD_DEAD = 17, + CPUHP_ARM_OMAP_WAKE_DEAD = 18, + CPUHP_IRQ_POLL_DEAD = 19, + CPUHP_BLOCK_SOFTIRQ_DEAD = 20, + CPUHP_BIO_DEAD = 21, + CPUHP_ACPI_CPUDRV_DEAD = 22, + CPUHP_S390_PFAULT_DEAD = 23, + CPUHP_BLK_MQ_DEAD = 24, + CPUHP_FS_BUFF_DEAD = 25, + CPUHP_PRINTK_DEAD = 26, + CPUHP_MM_MEMCQ_DEAD = 27, + CPUHP_PERCPU_CNT_DEAD = 28, + CPUHP_RADIX_DEAD = 29, + CPUHP_PAGE_ALLOC = 30, + CPUHP_NET_DEV_DEAD = 31, + CPUHP_IOMMU_IOVA_DEAD = 32, + CPUHP_AP_ARM_CACHE_B15_RAC_DEAD = 33, + CPUHP_PADATA_DEAD = 34, + CPUHP_AP_DTPM_CPU_DEAD = 35, + CPUHP_RANDOM_PREPARE = 36, + CPUHP_WORKQUEUE_PREP = 37, + CPUHP_POWER_NUMA_PREPARE = 38, + CPUHP_HRTIMERS_PREPARE = 39, + CPUHP_X2APIC_PREPARE = 40, + CPUHP_SMPCFD_PREPARE = 41, + CPUHP_RELAY_PREPARE = 42, + CPUHP_MD_RAID5_PREPARE = 43, + CPUHP_RCUTREE_PREP = 44, + CPUHP_CPUIDLE_COUPLED_PREPARE = 45, + CPUHP_POWERPC_PMAC_PREPARE = 46, + CPUHP_POWERPC_MMU_CTX_PREPARE = 47, + CPUHP_XEN_PREPARE = 48, + CPUHP_XEN_EVTCHN_PREPARE = 49, + CPUHP_ARM_SHMOBILE_SCU_PREPARE = 50, + CPUHP_SH_SH3X_PREPARE = 51, + CPUHP_TOPOLOGY_PREPARE = 52, + CPUHP_NET_IUCV_PREPARE = 53, + CPUHP_ARM_BL_PREPARE = 54, + CPUHP_TRACE_RB_PREPARE = 55, + CPUHP_MM_ZSWP_POOL_PREPARE = 56, + CPUHP_KVM_PPC_BOOK3S_PREPARE = 57, + CPUHP_ZCOMP_PREPARE = 58, + CPUHP_TIMERS_PREPARE = 59, + CPUHP_TMIGR_PREPARE = 60, + CPUHP_MIPS_SOC_PREPARE = 61, + CPUHP_BP_PREPARE_DYN = 62, + CPUHP_BP_PREPARE_DYN_END = 82, + CPUHP_BP_KICK_AP = 83, + CPUHP_BRINGUP_CPU = 84, + CPUHP_AP_IDLE_DEAD = 85, + CPUHP_AP_OFFLINE = 86, + CPUHP_AP_CACHECTRL_STARTING = 87, + CPUHP_AP_SCHED_STARTING = 88, + CPUHP_AP_RCUTREE_DYING = 89, + CPUHP_AP_CPU_PM_STARTING = 90, + CPUHP_AP_IRQ_GIC_STARTING = 91, + CPUHP_AP_IRQ_HIP04_STARTING = 92, + CPUHP_AP_IRQ_APPLE_AIC_STARTING = 93, + CPUHP_AP_IRQ_ARMADA_XP_STARTING = 94, + CPUHP_AP_IRQ_BCM2836_STARTING = 95, + CPUHP_AP_IRQ_MIPS_GIC_STARTING = 96, + CPUHP_AP_IRQ_EIOINTC_STARTING = 97, + CPUHP_AP_IRQ_AVECINTC_STARTING = 98, + CPUHP_AP_IRQ_SIFIVE_PLIC_STARTING = 99, + CPUHP_AP_IRQ_ACLINT_SSWI_STARTING = 100, + CPUHP_AP_IRQ_RISCV_IMSIC_STARTING = 101, + CPUHP_AP_IRQ_RISCV_SBI_IPI_STARTING = 102, + CPUHP_AP_ARM_MVEBU_COHERENCY = 103, + CPUHP_AP_PERF_X86_AMD_UNCORE_STARTING = 104, + CPUHP_AP_PERF_X86_STARTING = 105, + CPUHP_AP_PERF_X86_AMD_IBS_STARTING = 106, + CPUHP_AP_PERF_XTENSA_STARTING = 107, + CPUHP_AP_ARM_VFP_STARTING = 108, + CPUHP_AP_ARM64_DEBUG_MONITORS_STARTING = 109, + CPUHP_AP_PERF_ARM_HW_BREAKPOINT_STARTING = 110, + CPUHP_AP_PERF_ARM_ACPI_STARTING = 111, + CPUHP_AP_PERF_ARM_STARTING = 112, + CPUHP_AP_PERF_RISCV_STARTING = 113, + CPUHP_AP_ARM_L2X0_STARTING = 114, + CPUHP_AP_EXYNOS4_MCT_TIMER_STARTING = 115, + CPUHP_AP_ARM_ARCH_TIMER_STARTING = 116, + CPUHP_AP_ARM_ARCH_TIMER_EVTSTRM_STARTING = 117, + CPUHP_AP_ARM_GLOBAL_TIMER_STARTING = 118, + CPUHP_AP_JCORE_TIMER_STARTING = 119, + CPUHP_AP_ARM_TWD_STARTING = 120, + CPUHP_AP_QCOM_TIMER_STARTING = 121, + CPUHP_AP_TEGRA_TIMER_STARTING = 122, + CPUHP_AP_ARMADA_TIMER_STARTING = 123, + CPUHP_AP_LOONGARCH_ARCH_TIMER_STARTING = 124, + CPUHP_AP_MIPS_GIC_TIMER_STARTING = 125, + CPUHP_AP_ARC_TIMER_STARTING = 126, + CPUHP_AP_REALTEK_TIMER_STARTING = 127, + CPUHP_AP_RISCV_TIMER_STARTING = 128, + CPUHP_AP_CLINT_TIMER_STARTING = 129, + CPUHP_AP_CSKY_TIMER_STARTING = 130, + CPUHP_AP_TI_GP_TIMER_STARTING = 131, + CPUHP_AP_HYPERV_TIMER_STARTING = 132, + CPUHP_AP_DUMMY_TIMER_STARTING = 133, + CPUHP_AP_ARM_XEN_STARTING = 134, + CPUHP_AP_ARM_XEN_RUNSTATE_STARTING = 135, + CPUHP_AP_ARM_CORESIGHT_STARTING = 136, + CPUHP_AP_ARM_CORESIGHT_CTI_STARTING = 137, + CPUHP_AP_ARM64_ISNDEP_STARTING = 138, + CPUHP_AP_SMPCFD_DYING = 139, + CPUHP_AP_HRTIMERS_DYING = 140, + CPUHP_AP_TICK_DYING = 141, + CPUHP_AP_X86_TBOOT_DYING = 142, + CPUHP_AP_ARM_CACHE_B15_RAC_DYING = 143, + CPUHP_AP_ONLINE = 144, + CPUHP_TEARDOWN_CPU = 145, + CPUHP_AP_ONLINE_IDLE = 146, + CPUHP_AP_HYPERV_ONLINE = 147, + CPUHP_AP_KVM_ONLINE = 148, + CPUHP_AP_SCHED_WAIT_EMPTY = 149, + CPUHP_AP_SMPBOOT_THREADS = 150, + CPUHP_AP_IRQ_AFFINITY_ONLINE = 151, + CPUHP_AP_BLK_MQ_ONLINE = 152, + CPUHP_AP_ARM_MVEBU_SYNC_CLOCKS = 153, + CPUHP_AP_X86_INTEL_EPB_ONLINE = 154, + CPUHP_AP_PERF_ONLINE = 155, + CPUHP_AP_PERF_X86_ONLINE = 156, + CPUHP_AP_PERF_X86_UNCORE_ONLINE = 157, + CPUHP_AP_PERF_X86_AMD_UNCORE_ONLINE = 158, + CPUHP_AP_PERF_X86_AMD_POWER_ONLINE = 159, + CPUHP_AP_PERF_S390_CF_ONLINE = 160, + CPUHP_AP_PERF_S390_SF_ONLINE = 161, + CPUHP_AP_PERF_ARM_CCI_ONLINE = 162, + CPUHP_AP_PERF_ARM_CCN_ONLINE = 163, + CPUHP_AP_PERF_ARM_HISI_CPA_ONLINE = 164, + CPUHP_AP_PERF_ARM_HISI_DDRC_ONLINE = 165, + CPUHP_AP_PERF_ARM_HISI_HHA_ONLINE = 166, + CPUHP_AP_PERF_ARM_HISI_L3_ONLINE = 167, + CPUHP_AP_PERF_ARM_HISI_PA_ONLINE = 168, + CPUHP_AP_PERF_ARM_HISI_SLLC_ONLINE = 169, + CPUHP_AP_PERF_ARM_HISI_PCIE_PMU_ONLINE = 170, + CPUHP_AP_PERF_ARM_HNS3_PMU_ONLINE = 171, + CPUHP_AP_PERF_ARM_L2X0_ONLINE = 172, + CPUHP_AP_PERF_ARM_QCOM_L2_ONLINE = 173, + CPUHP_AP_PERF_ARM_QCOM_L3_ONLINE = 174, + CPUHP_AP_PERF_ARM_APM_XGENE_ONLINE = 175, + CPUHP_AP_PERF_ARM_CAVIUM_TX2_UNCORE_ONLINE = 176, + CPUHP_AP_PERF_ARM_MARVELL_CN10K_DDR_ONLINE = 177, + CPUHP_AP_PERF_ARM_MRVL_PEM_ONLINE = 178, + CPUHP_AP_PERF_POWERPC_NEST_IMC_ONLINE = 179, + CPUHP_AP_PERF_POWERPC_CORE_IMC_ONLINE = 180, + CPUHP_AP_PERF_POWERPC_THREAD_IMC_ONLINE = 181, + CPUHP_AP_PERF_POWERPC_TRACE_IMC_ONLINE = 182, + CPUHP_AP_PERF_POWERPC_HV_24x7_ONLINE = 183, + CPUHP_AP_PERF_POWERPC_HV_GPCI_ONLINE = 184, + CPUHP_AP_PERF_CSKY_ONLINE = 185, + CPUHP_AP_TMIGR_ONLINE = 186, + CPUHP_AP_WATCHDOG_ONLINE = 187, + CPUHP_AP_WORKQUEUE_ONLINE = 188, + CPUHP_AP_RANDOM_ONLINE = 189, + CPUHP_AP_RCUTREE_ONLINE = 190, + CPUHP_AP_KTHREADS_ONLINE = 191, + CPUHP_AP_BASE_CACHEINFO_ONLINE = 192, + CPUHP_AP_ONLINE_DYN = 193, + CPUHP_AP_ONLINE_DYN_END = 233, + CPUHP_AP_X86_HPET_ONLINE = 234, + CPUHP_AP_X86_KVM_CLK_ONLINE = 235, + CPUHP_AP_ACTIVE = 236, + CPUHP_ONLINE = 237, +}; + +enum cpuhp_sync_state { + SYNC_STATE_DEAD = 0, + SYNC_STATE_KICKED = 1, + SYNC_STATE_SHOULD_DIE = 2, + SYNC_STATE_ALIVE = 3, + SYNC_STATE_SHOULD_ONLINE = 4, + SYNC_STATE_ONLINE = 5, +}; + +enum cpuid_leafs { + CPUID_1_EDX = 0, + CPUID_8000_0001_EDX = 1, + CPUID_8086_0001_EDX = 2, + CPUID_LNX_1 = 3, + CPUID_1_ECX = 4, + CPUID_C000_0001_EDX = 5, + CPUID_8000_0001_ECX = 6, + CPUID_LNX_2 = 7, + CPUID_LNX_3 = 8, + CPUID_7_0_EBX = 9, + CPUID_D_1_EAX = 10, + CPUID_LNX_4 = 11, + CPUID_7_1_EAX = 12, + CPUID_8000_0008_EBX = 13, + CPUID_6_EAX = 14, + CPUID_8000_000A_EDX = 15, + CPUID_7_ECX = 16, + CPUID_8000_0007_EBX = 17, + CPUID_7_EDX = 18, + CPUID_8000_001F_EAX = 19, + CPUID_8000_0021_EAX = 20, + CPUID_LNX_5 = 21, + NR_CPUID_WORDS = 22, +}; + +enum cpuid_regs_idx { + CPUID_EAX = 0, + CPUID_EBX = 1, + CPUID_ECX = 2, + CPUID_EDX = 3, +}; + +enum cpuset_param { + Opt_cpuset_v2_mode___2 = 0, +}; + +enum crb_cancel { + CRB_CANCEL_INVOKE = 1, +}; + +enum crb_ctrl_req { + CRB_CTRL_REQ_CMD_READY = 1, + CRB_CTRL_REQ_GO_IDLE = 2, +}; + +enum crb_ctrl_sts { + CRB_CTRL_STS_ERROR = 1, + CRB_CTRL_STS_TPM_IDLE = 2, +}; + +enum crb_defaults { + CRB_ACPI_START_REVISION_ID = 1, + CRB_ACPI_START_INDEX = 1, +}; + +enum crb_loc_ctrl { + CRB_LOC_CTRL_REQUEST_ACCESS = 1, + CRB_LOC_CTRL_RELINQUISH = 2, +}; + +enum crb_loc_state { + CRB_LOC_STATE_LOC_ASSIGNED = 2, + CRB_LOC_STATE_TPM_REG_VALID_STS = 128, +}; + +enum crb_start { + CRB_START_INVOKE = 1, +}; + +enum crb_status { + CRB_DRV_STS_COMPLETE = 1, +}; + +enum criteria { + CR_POWER2_ALIGNED = 0, + CR_GOAL_LEN_FAST = 1, + CR_BEST_AVAIL_LEN = 2, + CR_GOAL_LEN_SLOW = 3, + CR_ANY_FREE = 4, + EXT4_MB_NUM_CRS = 5, +}; + +enum crypto_attr_type_t { + CRYPTOCFGA_UNSPEC = 0, + CRYPTOCFGA_PRIORITY_VAL = 1, + CRYPTOCFGA_REPORT_LARVAL = 2, + CRYPTOCFGA_REPORT_HASH = 3, + CRYPTOCFGA_REPORT_BLKCIPHER = 4, + CRYPTOCFGA_REPORT_AEAD = 5, + CRYPTOCFGA_REPORT_COMPRESS = 6, + CRYPTOCFGA_REPORT_RNG = 7, + CRYPTOCFGA_REPORT_CIPHER = 8, + CRYPTOCFGA_REPORT_AKCIPHER = 9, + CRYPTOCFGA_REPORT_KPP = 10, + CRYPTOCFGA_REPORT_ACOMP = 11, + CRYPTOCFGA_STAT_LARVAL = 12, + CRYPTOCFGA_STAT_HASH = 13, + CRYPTOCFGA_STAT_BLKCIPHER = 14, + CRYPTOCFGA_STAT_AEAD = 15, + CRYPTOCFGA_STAT_COMPRESS = 16, + CRYPTOCFGA_STAT_RNG = 17, + CRYPTOCFGA_STAT_CIPHER = 18, + CRYPTOCFGA_STAT_AKCIPHER = 19, + CRYPTOCFGA_STAT_KPP = 20, + CRYPTOCFGA_STAT_ACOMP = 21, + CRYPTOCFGA_REPORT_SIG = 22, + __CRYPTOCFGA_MAX = 23, +}; + +enum css_task_iter_flags { + CSS_TASK_ITER_PROCS = 1, + CSS_TASK_ITER_THREADED = 2, + CSS_TASK_ITER_SKIPPED = 65536, +}; + +enum ctrl_offsets { + BASE_OFFSET = 0, + SLOT_AVAIL1 = 4, + SLOT_AVAIL2 = 8, + SLOT_CONFIG = 12, + SEC_BUS_CONFIG = 16, + MSI_CTRL = 18, + PROG_INTERFACE = 19, + CMD = 20, + CMD_STATUS = 22, + INTR_LOC = 24, + SERR_LOC = 28, + SERR_INTR_ENABLE = 32, + SLOT1 = 36, +}; + +enum ctrl_register { + CTRL_IN = 0, + CTRL_OUT = 1, +}; + +enum ctx_state { + CT_STATE_DISABLED = -1, + CT_STATE_KERNEL = 0, + CT_STATE_IDLE = 1, + CT_STATE_USER = 2, + CT_STATE_GUEST = 3, + CT_STATE_MAX = 4, +}; + +enum cxl_event_type { + CXL_CPER_EVENT_GENERIC = 0, + CXL_CPER_EVENT_GEN_MEDIA = 1, + CXL_CPER_EVENT_DRAM = 2, + CXL_CPER_EVENT_MEM_MODULE = 3, + CXL_CPER_EVENT_MEM_SPARING = 4, +}; + +enum d_real_type { + D_REAL_DATA = 0, + D_REAL_METADATA = 1, +}; + +enum d_walk_ret { + D_WALK_CONTINUE = 0, + D_WALK_QUIT = 1, + D_WALK_NORETRY = 2, + D_WALK_SKIP = 3, +}; + +enum da9052_chip_id { + DA9052 = 0, + DA9053_AA = 1, + DA9053_BA = 2, + DA9053_BB = 3, + DA9053_BC = 4, +}; + +enum da9063_irqs { + DA9063_IRQ_ONKEY = 0, + DA9063_IRQ_ALARM = 1, + DA9063_IRQ_TICK = 2, + DA9063_IRQ_ADC_RDY = 3, + DA9063_IRQ_SEQ_RDY = 4, + DA9063_IRQ_WAKE = 5, + DA9063_IRQ_TEMP = 6, + DA9063_IRQ_COMP_1V2 = 7, + DA9063_IRQ_LDO_LIM = 8, + DA9063_IRQ_REG_UVOV = 9, + DA9063_IRQ_DVC_RDY = 10, + DA9063_IRQ_VDD_MON = 11, + DA9063_IRQ_WARN = 12, + DA9063_IRQ_GPI0 = 13, + DA9063_IRQ_GPI1 = 14, + DA9063_IRQ_GPI2 = 15, + DA9063_IRQ_GPI3 = 16, + DA9063_IRQ_GPI4 = 17, + DA9063_IRQ_GPI5 = 18, + DA9063_IRQ_GPI6 = 19, + DA9063_IRQ_GPI7 = 20, + DA9063_IRQ_GPI8 = 21, + DA9063_IRQ_GPI9 = 22, + DA9063_IRQ_GPI10 = 23, + DA9063_IRQ_GPI11 = 24, + DA9063_IRQ_GPI12 = 25, + DA9063_IRQ_GPI13 = 26, + DA9063_IRQ_GPI14 = 27, + DA9063_IRQ_GPI15 = 28, +}; + +enum da9063_page_sel_buf_fmt { + DA9063_PAGE_SEL_BUF_PAGE_REG = 0, + DA9063_PAGE_SEL_BUF_PAGE_VAL = 1, + DA9063_PAGE_SEL_BUF_SIZE = 2, +}; + +enum da9063_page_sel_msgs { + DA9063_PAGE_SEL_MSG = 0, + DA9063_PAGE_SEL_CNT = 1, +}; + +enum da9063_paged_read_msgs { + DA9063_PAGED_READ_MSG_REG_SEL = 0, + DA9063_PAGED_READ_MSG_DATA = 1, + DA9063_PAGED_READ_MSG_CNT = 2, +}; + +enum da9063_type { + PMIC_TYPE_DA9063 = 0, + PMIC_TYPE_DA9063L = 1, +}; + +enum da9063_variant_codes { + PMIC_DA9063_AD = 3, + PMIC_DA9063_BB = 5, + PMIC_DA9063_CA = 6, + PMIC_DA9063_DA = 7, + PMIC_DA9063_EA = 8, +}; + +enum data_formats { + DATA_FMT_DIGEST = 0, + DATA_FMT_DIGEST_WITH_ALGO = 1, + DATA_FMT_DIGEST_WITH_TYPE_AND_ALGO = 2, + DATA_FMT_STRING = 3, + DATA_FMT_HEX = 4, + DATA_FMT_UINT = 5, +}; + +enum data_source { + CM_BATTERY_PRESENT = 0, + CM_NO_BATTERY = 1, + CM_FUEL_GAUGE = 2, + CM_CHARGER_STAT = 3, +}; + +enum dax_access_mode { + DAX_ACCESS = 0, + DAX_RECOVERY_WRITE = 1, +}; + +enum dax_device_flags { + DAXDEV_ALIVE = 0, + DAXDEV_WRITE_CACHE = 1, + DAXDEV_SYNC = 2, + DAXDEV_NOCACHE = 3, + DAXDEV_NOMC = 4, +}; + +enum dax_driver_type { + DAXDRV_KMEM_TYPE = 0, + DAXDRV_DEVICE_TYPE = 1, +}; + +enum dax_wake_mode { + WAKE_ALL = 0, + WAKE_NEXT = 1, +}; + +enum dbc_state { + DS_DISABLED = 0, + DS_INITIALIZED = 1, + DS_ENABLED = 2, + DS_CONNECTED = 3, + DS_CONFIGURED = 4, + DS_MAX = 5, +}; + +enum dbgfs_get_mode { + DBGFS_GET_ALREADY = 0, + DBGFS_GET_REGULAR = 1, + DBGFS_GET_SHORT = 2, +}; + +enum dcb_general_attr_values { + DCB_ATTR_VALUE_UNDEFINED = 255, +}; + +enum dcbevent_notif_type { + DCB_APP_EVENT = 1, +}; + +enum dcbnl_app_attrs { + DCB_APP_ATTR_UNDEFINED = 0, + DCB_APP_ATTR_IDTYPE = 1, + DCB_APP_ATTR_ID = 2, + DCB_APP_ATTR_PRIORITY = 3, + __DCB_APP_ATTR_ENUM_MAX = 4, + DCB_APP_ATTR_MAX = 3, +}; + +enum dcbnl_attrs { + DCB_ATTR_UNDEFINED = 0, + DCB_ATTR_IFNAME = 1, + DCB_ATTR_STATE = 2, + DCB_ATTR_PFC_STATE = 3, + DCB_ATTR_PFC_CFG = 4, + DCB_ATTR_NUM_TC = 5, + DCB_ATTR_PG_CFG = 6, + DCB_ATTR_SET_ALL = 7, + DCB_ATTR_PERM_HWADDR = 8, + DCB_ATTR_CAP = 9, + DCB_ATTR_NUMTCS = 10, + DCB_ATTR_BCN = 11, + DCB_ATTR_APP = 12, + DCB_ATTR_IEEE = 13, + DCB_ATTR_DCBX = 14, + DCB_ATTR_FEATCFG = 15, + DCB_ATTR_CEE = 16, + __DCB_ATTR_ENUM_MAX = 17, + DCB_ATTR_MAX = 16, +}; + +enum dcbnl_bcn_attrs { + DCB_BCN_ATTR_UNDEFINED = 0, + DCB_BCN_ATTR_RP_0 = 1, + DCB_BCN_ATTR_RP_1 = 2, + DCB_BCN_ATTR_RP_2 = 3, + DCB_BCN_ATTR_RP_3 = 4, + DCB_BCN_ATTR_RP_4 = 5, + DCB_BCN_ATTR_RP_5 = 6, + DCB_BCN_ATTR_RP_6 = 7, + DCB_BCN_ATTR_RP_7 = 8, + DCB_BCN_ATTR_RP_ALL = 9, + DCB_BCN_ATTR_BCNA_0 = 10, + DCB_BCN_ATTR_BCNA_1 = 11, + DCB_BCN_ATTR_ALPHA = 12, + DCB_BCN_ATTR_BETA = 13, + DCB_BCN_ATTR_GD = 14, + DCB_BCN_ATTR_GI = 15, + DCB_BCN_ATTR_TMAX = 16, + DCB_BCN_ATTR_TD = 17, + DCB_BCN_ATTR_RMIN = 18, + DCB_BCN_ATTR_W = 19, + DCB_BCN_ATTR_RD = 20, + DCB_BCN_ATTR_RU = 21, + DCB_BCN_ATTR_WRTT = 22, + DCB_BCN_ATTR_RI = 23, + DCB_BCN_ATTR_C = 24, + DCB_BCN_ATTR_ALL = 25, + __DCB_BCN_ATTR_ENUM_MAX = 26, + DCB_BCN_ATTR_MAX = 25, +}; + +enum dcbnl_cap_attrs { + DCB_CAP_ATTR_UNDEFINED = 0, + DCB_CAP_ATTR_ALL = 1, + DCB_CAP_ATTR_PG = 2, + DCB_CAP_ATTR_PFC = 3, + DCB_CAP_ATTR_UP2TC = 4, + DCB_CAP_ATTR_PG_TCS = 5, + DCB_CAP_ATTR_PFC_TCS = 6, + DCB_CAP_ATTR_GSP = 7, + DCB_CAP_ATTR_BCN = 8, + DCB_CAP_ATTR_DCBX = 9, + __DCB_CAP_ATTR_ENUM_MAX = 10, + DCB_CAP_ATTR_MAX = 9, +}; + +enum dcbnl_commands { + DCB_CMD_UNDEFINED = 0, + DCB_CMD_GSTATE = 1, + DCB_CMD_SSTATE = 2, + DCB_CMD_PGTX_GCFG = 3, + DCB_CMD_PGTX_SCFG = 4, + DCB_CMD_PGRX_GCFG = 5, + DCB_CMD_PGRX_SCFG = 6, + DCB_CMD_PFC_GCFG = 7, + DCB_CMD_PFC_SCFG = 8, + DCB_CMD_SET_ALL = 9, + DCB_CMD_GPERM_HWADDR = 10, + DCB_CMD_GCAP = 11, + DCB_CMD_GNUMTCS = 12, + DCB_CMD_SNUMTCS = 13, + DCB_CMD_PFC_GSTATE = 14, + DCB_CMD_PFC_SSTATE = 15, + DCB_CMD_BCN_GCFG = 16, + DCB_CMD_BCN_SCFG = 17, + DCB_CMD_GAPP = 18, + DCB_CMD_SAPP = 19, + DCB_CMD_IEEE_SET = 20, + DCB_CMD_IEEE_GET = 21, + DCB_CMD_GDCBX = 22, + DCB_CMD_SDCBX = 23, + DCB_CMD_GFEATCFG = 24, + DCB_CMD_SFEATCFG = 25, + DCB_CMD_CEE_GET = 26, + DCB_CMD_IEEE_DEL = 27, + __DCB_CMD_ENUM_MAX = 28, + DCB_CMD_MAX = 27, +}; + +enum dcbnl_featcfg_attrs { + DCB_FEATCFG_ATTR_UNDEFINED = 0, + DCB_FEATCFG_ATTR_ALL = 1, + DCB_FEATCFG_ATTR_PG = 2, + DCB_FEATCFG_ATTR_PFC = 3, + DCB_FEATCFG_ATTR_APP = 4, + __DCB_FEATCFG_ATTR_ENUM_MAX = 5, + DCB_FEATCFG_ATTR_MAX = 4, +}; + +enum dcbnl_numtcs_attrs { + DCB_NUMTCS_ATTR_UNDEFINED = 0, + DCB_NUMTCS_ATTR_ALL = 1, + DCB_NUMTCS_ATTR_PG = 2, + DCB_NUMTCS_ATTR_PFC = 3, + __DCB_NUMTCS_ATTR_ENUM_MAX = 4, + DCB_NUMTCS_ATTR_MAX = 3, +}; + +enum dcbnl_pfc_up_attrs { + DCB_PFC_UP_ATTR_UNDEFINED = 0, + DCB_PFC_UP_ATTR_0 = 1, + DCB_PFC_UP_ATTR_1 = 2, + DCB_PFC_UP_ATTR_2 = 3, + DCB_PFC_UP_ATTR_3 = 4, + DCB_PFC_UP_ATTR_4 = 5, + DCB_PFC_UP_ATTR_5 = 6, + DCB_PFC_UP_ATTR_6 = 7, + DCB_PFC_UP_ATTR_7 = 8, + DCB_PFC_UP_ATTR_ALL = 9, + __DCB_PFC_UP_ATTR_ENUM_MAX = 10, + DCB_PFC_UP_ATTR_MAX = 9, +}; + +enum dcbnl_pg_attrs { + DCB_PG_ATTR_UNDEFINED = 0, + DCB_PG_ATTR_TC_0 = 1, + DCB_PG_ATTR_TC_1 = 2, + DCB_PG_ATTR_TC_2 = 3, + DCB_PG_ATTR_TC_3 = 4, + DCB_PG_ATTR_TC_4 = 5, + DCB_PG_ATTR_TC_5 = 6, + DCB_PG_ATTR_TC_6 = 7, + DCB_PG_ATTR_TC_7 = 8, + DCB_PG_ATTR_TC_MAX = 9, + DCB_PG_ATTR_TC_ALL = 10, + DCB_PG_ATTR_BW_ID_0 = 11, + DCB_PG_ATTR_BW_ID_1 = 12, + DCB_PG_ATTR_BW_ID_2 = 13, + DCB_PG_ATTR_BW_ID_3 = 14, + DCB_PG_ATTR_BW_ID_4 = 15, + DCB_PG_ATTR_BW_ID_5 = 16, + DCB_PG_ATTR_BW_ID_6 = 17, + DCB_PG_ATTR_BW_ID_7 = 18, + DCB_PG_ATTR_BW_ID_MAX = 19, + DCB_PG_ATTR_BW_ID_ALL = 20, + __DCB_PG_ATTR_ENUM_MAX = 21, + DCB_PG_ATTR_MAX = 20, +}; + +enum dcbnl_tc_attrs { + DCB_TC_ATTR_PARAM_UNDEFINED = 0, + DCB_TC_ATTR_PARAM_PGID = 1, + DCB_TC_ATTR_PARAM_UP_MAPPING = 2, + DCB_TC_ATTR_PARAM_STRICT_PRIO = 3, + DCB_TC_ATTR_PARAM_BW_PCT = 4, + DCB_TC_ATTR_PARAM_ALL = 5, + __DCB_TC_ATTR_PARAM_ENUM_MAX = 6, + DCB_TC_ATTR_PARAM_MAX = 5, +}; + +enum dd_data_dir { + DD_READ = 0, + DD_WRITE = 1, +}; + +enum dd_prio { + DD_RT_PRIO = 0, + DD_BE_PRIO = 1, + DD_IDLE_PRIO = 2, + DD_PRIO_MAX = 2, +}; + +enum dentry_d_lock_class { + DENTRY_D_LOCK_NORMAL = 0, + DENTRY_D_LOCK_NESTED = 1, +}; + +enum dentry_flags { + DCACHE_OP_HASH = 1, + DCACHE_OP_COMPARE = 2, + DCACHE_OP_REVALIDATE = 4, + DCACHE_OP_DELETE = 8, + DCACHE_OP_PRUNE = 16, + DCACHE_DISCONNECTED = 32, + DCACHE_REFERENCED = 64, + DCACHE_DONTCACHE = 128, + DCACHE_CANT_MOUNT = 256, + DCACHE_GENOCIDE = 512, + DCACHE_SHRINK_LIST = 1024, + DCACHE_OP_WEAK_REVALIDATE = 2048, + DCACHE_NFSFS_RENAMED = 4096, + DCACHE_FSNOTIFY_PARENT_WATCHED = 8192, + DCACHE_DENTRY_KILLED = 16384, + DCACHE_MOUNTED = 32768, + DCACHE_NEED_AUTOMOUNT = 65536, + DCACHE_MANAGE_TRANSIT = 131072, + DCACHE_LRU_LIST = 262144, + DCACHE_ENTRY_TYPE = 3670016, + DCACHE_MISS_TYPE = 0, + DCACHE_WHITEOUT_TYPE = 524288, + DCACHE_DIRECTORY_TYPE = 1048576, + DCACHE_AUTODIR_TYPE = 1572864, + DCACHE_REGULAR_TYPE = 2097152, + DCACHE_SPECIAL_TYPE = 2621440, + DCACHE_SYMLINK_TYPE = 3145728, + DCACHE_NOKEY_NAME = 4194304, + DCACHE_OP_REAL = 8388608, + DCACHE_PAR_LOOKUP = 16777216, + DCACHE_DENTRY_CURSOR = 33554432, + DCACHE_NORCU = 67108864, +}; + +enum depot_counter_id { + DEPOT_COUNTER_REFD_ALLOCS = 0, + DEPOT_COUNTER_REFD_FREES = 1, + DEPOT_COUNTER_REFD_INUSE = 2, + DEPOT_COUNTER_FREELIST_SIZE = 3, + DEPOT_COUNTER_PERSIST_COUNT = 4, + DEPOT_COUNTER_PERSIST_BYTES = 5, + DEPOT_COUNTER_COUNT = 6, +}; + +enum derived_key_type { + ENC_KEY = 0, + AUTH_KEY = 1, +}; + +enum desc_state { + desc_miss = -1, + desc_reserved = 0, + desc_committed = 1, + desc_finalized = 2, + desc_reusable = 3, +}; + +enum dev_dma_attr { + DEV_DMA_NOT_SUPPORTED = 0, + DEV_DMA_NON_COHERENT = 1, + DEV_DMA_COHERENT = 2, +}; + +enum dev_pm_opp_event { + OPP_EVENT_ADD = 0, + OPP_EVENT_REMOVE = 1, + OPP_EVENT_ENABLE = 2, + OPP_EVENT_DISABLE = 3, + OPP_EVENT_ADJUST_VOLTAGE = 4, +}; + +enum dev_pm_qos_req_type { + DEV_PM_QOS_RESUME_LATENCY = 1, + DEV_PM_QOS_LATENCY_TOLERANCE = 2, + DEV_PM_QOS_MIN_FREQUENCY = 3, + DEV_PM_QOS_MAX_FREQUENCY = 4, + DEV_PM_QOS_FLAGS = 5, +}; + +enum dev_prop_type { + DEV_PROP_U8 = 0, + DEV_PROP_U16 = 1, + DEV_PROP_U32 = 2, + DEV_PROP_U64 = 3, + DEV_PROP_STRING = 4, + DEV_PROP_REF = 5, +}; + +enum dev_type { + DEV_UNKNOWN = 0, + DEV_X1 = 1, + DEV_X2 = 2, + DEV_X4 = 3, + DEV_X8 = 4, + DEV_X16 = 5, + DEV_X32 = 6, + DEV_X64 = 7, +}; + +enum devcg_behavior { + DEVCG_DEFAULT_NONE = 0, + DEVCG_DEFAULT_ALLOW = 1, + DEVCG_DEFAULT_DENY = 2, +}; + +enum devfreq_parent_dev_type { + DEVFREQ_PARENT_DEV = 0, + CPUFREQ_PARENT_DEV = 1, +}; + +enum devfreq_timer { + DEVFREQ_TIMER_DEFERRABLE = 0, + DEVFREQ_TIMER_DELAYED = 1, + DEVFREQ_TIMER_NUM = 2, +}; + +enum device_link_state { + DL_STATE_NONE = -1, + DL_STATE_DORMANT = 0, + DL_STATE_AVAILABLE = 1, + DL_STATE_CONSUMER_PROBE = 2, + DL_STATE_ACTIVE = 3, + DL_STATE_SUPPLIER_UNBIND = 4, +}; + +enum device_physical_location_horizontal_position { + DEVICE_HORI_POS_LEFT = 0, + DEVICE_HORI_POS_CENTER = 1, + DEVICE_HORI_POS_RIGHT = 2, +}; + +enum device_physical_location_panel { + DEVICE_PANEL_TOP = 0, + DEVICE_PANEL_BOTTOM = 1, + DEVICE_PANEL_LEFT = 2, + DEVICE_PANEL_RIGHT = 3, + DEVICE_PANEL_FRONT = 4, + DEVICE_PANEL_BACK = 5, + DEVICE_PANEL_UNKNOWN = 6, +}; + +enum device_physical_location_vertical_position { + DEVICE_VERT_POS_UPPER = 0, + DEVICE_VERT_POS_CENTER = 1, + DEVICE_VERT_POS_LOWER = 2, +}; + +enum device_removable { + DEVICE_REMOVABLE_NOT_SUPPORTED = 0, + DEVICE_REMOVABLE_UNKNOWN = 1, + DEVICE_FIXED = 2, + DEVICE_REMOVABLE = 3, +}; + +enum devkmsg_log_bits { + __DEVKMSG_LOG_BIT_ON = 0, + __DEVKMSG_LOG_BIT_OFF = 1, + __DEVKMSG_LOG_BIT_LOCK = 2, +}; + +enum devkmsg_log_masks { + DEVKMSG_LOG_MASK_ON = 1, + DEVKMSG_LOG_MASK_OFF = 2, + DEVKMSG_LOG_MASK_LOCK = 4, +}; + +enum devlink_attr { + DEVLINK_ATTR_UNSPEC = 0, + DEVLINK_ATTR_BUS_NAME = 1, + DEVLINK_ATTR_DEV_NAME = 2, + DEVLINK_ATTR_PORT_INDEX = 3, + DEVLINK_ATTR_PORT_TYPE = 4, + DEVLINK_ATTR_PORT_DESIRED_TYPE = 5, + DEVLINK_ATTR_PORT_NETDEV_IFINDEX = 6, + DEVLINK_ATTR_PORT_NETDEV_NAME = 7, + DEVLINK_ATTR_PORT_IBDEV_NAME = 8, + DEVLINK_ATTR_PORT_SPLIT_COUNT = 9, + DEVLINK_ATTR_PORT_SPLIT_GROUP = 10, + DEVLINK_ATTR_SB_INDEX = 11, + DEVLINK_ATTR_SB_SIZE = 12, + DEVLINK_ATTR_SB_INGRESS_POOL_COUNT = 13, + DEVLINK_ATTR_SB_EGRESS_POOL_COUNT = 14, + DEVLINK_ATTR_SB_INGRESS_TC_COUNT = 15, + DEVLINK_ATTR_SB_EGRESS_TC_COUNT = 16, + DEVLINK_ATTR_SB_POOL_INDEX = 17, + DEVLINK_ATTR_SB_POOL_TYPE = 18, + DEVLINK_ATTR_SB_POOL_SIZE = 19, + DEVLINK_ATTR_SB_POOL_THRESHOLD_TYPE = 20, + DEVLINK_ATTR_SB_THRESHOLD = 21, + DEVLINK_ATTR_SB_TC_INDEX = 22, + DEVLINK_ATTR_SB_OCC_CUR = 23, + DEVLINK_ATTR_SB_OCC_MAX = 24, + DEVLINK_ATTR_ESWITCH_MODE = 25, + DEVLINK_ATTR_ESWITCH_INLINE_MODE = 26, + DEVLINK_ATTR_DPIPE_TABLES = 27, + DEVLINK_ATTR_DPIPE_TABLE = 28, + DEVLINK_ATTR_DPIPE_TABLE_NAME = 29, + DEVLINK_ATTR_DPIPE_TABLE_SIZE = 30, + DEVLINK_ATTR_DPIPE_TABLE_MATCHES = 31, + DEVLINK_ATTR_DPIPE_TABLE_ACTIONS = 32, + DEVLINK_ATTR_DPIPE_TABLE_COUNTERS_ENABLED = 33, + DEVLINK_ATTR_DPIPE_ENTRIES = 34, + DEVLINK_ATTR_DPIPE_ENTRY = 35, + DEVLINK_ATTR_DPIPE_ENTRY_INDEX = 36, + DEVLINK_ATTR_DPIPE_ENTRY_MATCH_VALUES = 37, + DEVLINK_ATTR_DPIPE_ENTRY_ACTION_VALUES = 38, + DEVLINK_ATTR_DPIPE_ENTRY_COUNTER = 39, + DEVLINK_ATTR_DPIPE_MATCH = 40, + DEVLINK_ATTR_DPIPE_MATCH_VALUE = 41, + DEVLINK_ATTR_DPIPE_MATCH_TYPE = 42, + DEVLINK_ATTR_DPIPE_ACTION = 43, + DEVLINK_ATTR_DPIPE_ACTION_VALUE = 44, + DEVLINK_ATTR_DPIPE_ACTION_TYPE = 45, + DEVLINK_ATTR_DPIPE_VALUE = 46, + DEVLINK_ATTR_DPIPE_VALUE_MASK = 47, + DEVLINK_ATTR_DPIPE_VALUE_MAPPING = 48, + DEVLINK_ATTR_DPIPE_HEADERS = 49, + DEVLINK_ATTR_DPIPE_HEADER = 50, + DEVLINK_ATTR_DPIPE_HEADER_NAME = 51, + DEVLINK_ATTR_DPIPE_HEADER_ID = 52, + DEVLINK_ATTR_DPIPE_HEADER_FIELDS = 53, + DEVLINK_ATTR_DPIPE_HEADER_GLOBAL = 54, + DEVLINK_ATTR_DPIPE_HEADER_INDEX = 55, + DEVLINK_ATTR_DPIPE_FIELD = 56, + DEVLINK_ATTR_DPIPE_FIELD_NAME = 57, + DEVLINK_ATTR_DPIPE_FIELD_ID = 58, + DEVLINK_ATTR_DPIPE_FIELD_BITWIDTH = 59, + DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 60, + DEVLINK_ATTR_PAD = 61, + DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 62, + DEVLINK_ATTR_RESOURCE_LIST = 63, + DEVLINK_ATTR_RESOURCE = 64, + DEVLINK_ATTR_RESOURCE_NAME = 65, + DEVLINK_ATTR_RESOURCE_ID = 66, + DEVLINK_ATTR_RESOURCE_SIZE = 67, + DEVLINK_ATTR_RESOURCE_SIZE_NEW = 68, + DEVLINK_ATTR_RESOURCE_SIZE_VALID = 69, + DEVLINK_ATTR_RESOURCE_SIZE_MIN = 70, + DEVLINK_ATTR_RESOURCE_SIZE_MAX = 71, + DEVLINK_ATTR_RESOURCE_SIZE_GRAN = 72, + DEVLINK_ATTR_RESOURCE_UNIT = 73, + DEVLINK_ATTR_RESOURCE_OCC = 74, + DEVLINK_ATTR_DPIPE_TABLE_RESOURCE_ID = 75, + DEVLINK_ATTR_DPIPE_TABLE_RESOURCE_UNITS = 76, + DEVLINK_ATTR_PORT_FLAVOUR = 77, + DEVLINK_ATTR_PORT_NUMBER = 78, + DEVLINK_ATTR_PORT_SPLIT_SUBPORT_NUMBER = 79, + DEVLINK_ATTR_PARAM = 80, + DEVLINK_ATTR_PARAM_NAME = 81, + DEVLINK_ATTR_PARAM_GENERIC = 82, + DEVLINK_ATTR_PARAM_TYPE = 83, + DEVLINK_ATTR_PARAM_VALUES_LIST = 84, + DEVLINK_ATTR_PARAM_VALUE = 85, + DEVLINK_ATTR_PARAM_VALUE_DATA = 86, + DEVLINK_ATTR_PARAM_VALUE_CMODE = 87, + DEVLINK_ATTR_REGION_NAME = 88, + DEVLINK_ATTR_REGION_SIZE = 89, + DEVLINK_ATTR_REGION_SNAPSHOTS = 90, + DEVLINK_ATTR_REGION_SNAPSHOT = 91, + DEVLINK_ATTR_REGION_SNAPSHOT_ID = 92, + DEVLINK_ATTR_REGION_CHUNKS = 93, + DEVLINK_ATTR_REGION_CHUNK = 94, + DEVLINK_ATTR_REGION_CHUNK_DATA = 95, + DEVLINK_ATTR_REGION_CHUNK_ADDR = 96, + DEVLINK_ATTR_REGION_CHUNK_LEN = 97, + DEVLINK_ATTR_INFO_DRIVER_NAME = 98, + DEVLINK_ATTR_INFO_SERIAL_NUMBER = 99, + DEVLINK_ATTR_INFO_VERSION_FIXED = 100, + DEVLINK_ATTR_INFO_VERSION_RUNNING = 101, + DEVLINK_ATTR_INFO_VERSION_STORED = 102, + DEVLINK_ATTR_INFO_VERSION_NAME = 103, + DEVLINK_ATTR_INFO_VERSION_VALUE = 104, + DEVLINK_ATTR_SB_POOL_CELL_SIZE = 105, + DEVLINK_ATTR_FMSG = 106, + DEVLINK_ATTR_FMSG_OBJ_NEST_START = 107, + DEVLINK_ATTR_FMSG_PAIR_NEST_START = 108, + DEVLINK_ATTR_FMSG_ARR_NEST_START = 109, + DEVLINK_ATTR_FMSG_NEST_END = 110, + DEVLINK_ATTR_FMSG_OBJ_NAME = 111, + DEVLINK_ATTR_FMSG_OBJ_VALUE_TYPE = 112, + DEVLINK_ATTR_FMSG_OBJ_VALUE_DATA = 113, + DEVLINK_ATTR_HEALTH_REPORTER = 114, + DEVLINK_ATTR_HEALTH_REPORTER_NAME = 115, + DEVLINK_ATTR_HEALTH_REPORTER_STATE = 116, + DEVLINK_ATTR_HEALTH_REPORTER_ERR_COUNT = 117, + DEVLINK_ATTR_HEALTH_REPORTER_RECOVER_COUNT = 118, + DEVLINK_ATTR_HEALTH_REPORTER_DUMP_TS = 119, + DEVLINK_ATTR_HEALTH_REPORTER_GRACEFUL_PERIOD = 120, + DEVLINK_ATTR_HEALTH_REPORTER_AUTO_RECOVER = 121, + DEVLINK_ATTR_FLASH_UPDATE_FILE_NAME = 122, + DEVLINK_ATTR_FLASH_UPDATE_COMPONENT = 123, + DEVLINK_ATTR_FLASH_UPDATE_STATUS_MSG = 124, + DEVLINK_ATTR_FLASH_UPDATE_STATUS_DONE = 125, + DEVLINK_ATTR_FLASH_UPDATE_STATUS_TOTAL = 126, + DEVLINK_ATTR_PORT_PCI_PF_NUMBER = 127, + DEVLINK_ATTR_PORT_PCI_VF_NUMBER = 128, + DEVLINK_ATTR_STATS = 129, + DEVLINK_ATTR_TRAP_NAME = 130, + DEVLINK_ATTR_TRAP_ACTION = 131, + DEVLINK_ATTR_TRAP_TYPE = 132, + DEVLINK_ATTR_TRAP_GENERIC = 133, + DEVLINK_ATTR_TRAP_METADATA = 134, + DEVLINK_ATTR_TRAP_GROUP_NAME = 135, + DEVLINK_ATTR_RELOAD_FAILED = 136, + DEVLINK_ATTR_HEALTH_REPORTER_DUMP_TS_NS = 137, + DEVLINK_ATTR_NETNS_FD = 138, + DEVLINK_ATTR_NETNS_PID = 139, + DEVLINK_ATTR_NETNS_ID = 140, + DEVLINK_ATTR_HEALTH_REPORTER_AUTO_DUMP = 141, + DEVLINK_ATTR_TRAP_POLICER_ID = 142, + DEVLINK_ATTR_TRAP_POLICER_RATE = 143, + DEVLINK_ATTR_TRAP_POLICER_BURST = 144, + DEVLINK_ATTR_PORT_FUNCTION = 145, + DEVLINK_ATTR_INFO_BOARD_SERIAL_NUMBER = 146, + DEVLINK_ATTR_PORT_LANES = 147, + DEVLINK_ATTR_PORT_SPLITTABLE = 148, + DEVLINK_ATTR_PORT_EXTERNAL = 149, + DEVLINK_ATTR_PORT_CONTROLLER_NUMBER = 150, + DEVLINK_ATTR_FLASH_UPDATE_STATUS_TIMEOUT = 151, + DEVLINK_ATTR_FLASH_UPDATE_OVERWRITE_MASK = 152, + DEVLINK_ATTR_RELOAD_ACTION = 153, + DEVLINK_ATTR_RELOAD_ACTIONS_PERFORMED = 154, + DEVLINK_ATTR_RELOAD_LIMITS = 155, + DEVLINK_ATTR_DEV_STATS = 156, + DEVLINK_ATTR_RELOAD_STATS = 157, + DEVLINK_ATTR_RELOAD_STATS_ENTRY = 158, + DEVLINK_ATTR_RELOAD_STATS_LIMIT = 159, + DEVLINK_ATTR_RELOAD_STATS_VALUE = 160, + DEVLINK_ATTR_REMOTE_RELOAD_STATS = 161, + DEVLINK_ATTR_RELOAD_ACTION_INFO = 162, + DEVLINK_ATTR_RELOAD_ACTION_STATS = 163, + DEVLINK_ATTR_PORT_PCI_SF_NUMBER = 164, + DEVLINK_ATTR_RATE_TYPE = 165, + DEVLINK_ATTR_RATE_TX_SHARE = 166, + DEVLINK_ATTR_RATE_TX_MAX = 167, + DEVLINK_ATTR_RATE_NODE_NAME = 168, + DEVLINK_ATTR_RATE_PARENT_NODE_NAME = 169, + DEVLINK_ATTR_REGION_MAX_SNAPSHOTS = 170, + DEVLINK_ATTR_LINECARD_INDEX = 171, + DEVLINK_ATTR_LINECARD_STATE = 172, + DEVLINK_ATTR_LINECARD_TYPE = 173, + DEVLINK_ATTR_LINECARD_SUPPORTED_TYPES = 174, + DEVLINK_ATTR_NESTED_DEVLINK = 175, + DEVLINK_ATTR_SELFTESTS = 176, + DEVLINK_ATTR_RATE_TX_PRIORITY = 177, + DEVLINK_ATTR_RATE_TX_WEIGHT = 178, + DEVLINK_ATTR_REGION_DIRECT = 179, + DEVLINK_ATTR_RATE_TC_BWS = 180, + __DEVLINK_ATTR_MAX = 181, + DEVLINK_ATTR_MAX = 180, +}; + +enum devlink_attr_selftest_id { + DEVLINK_ATTR_SELFTEST_ID_UNSPEC = 0, + DEVLINK_ATTR_SELFTEST_ID_FLASH = 1, + __DEVLINK_ATTR_SELFTEST_ID_MAX = 2, + DEVLINK_ATTR_SELFTEST_ID_MAX = 1, +}; + +enum devlink_attr_selftest_result { + DEVLINK_ATTR_SELFTEST_RESULT_UNSPEC = 0, + DEVLINK_ATTR_SELFTEST_RESULT = 1, + DEVLINK_ATTR_SELFTEST_RESULT_ID = 2, + DEVLINK_ATTR_SELFTEST_RESULT_STATUS = 3, + __DEVLINK_ATTR_SELFTEST_RESULT_MAX = 4, + DEVLINK_ATTR_SELFTEST_RESULT_MAX = 3, +}; + +enum devlink_command { + DEVLINK_CMD_UNSPEC = 0, + DEVLINK_CMD_GET = 1, + DEVLINK_CMD_SET = 2, + DEVLINK_CMD_NEW = 3, + DEVLINK_CMD_DEL = 4, + DEVLINK_CMD_PORT_GET = 5, + DEVLINK_CMD_PORT_SET = 6, + DEVLINK_CMD_PORT_NEW = 7, + DEVLINK_CMD_PORT_DEL = 8, + DEVLINK_CMD_PORT_SPLIT = 9, + DEVLINK_CMD_PORT_UNSPLIT = 10, + DEVLINK_CMD_SB_GET = 11, + DEVLINK_CMD_SB_SET = 12, + DEVLINK_CMD_SB_NEW = 13, + DEVLINK_CMD_SB_DEL = 14, + DEVLINK_CMD_SB_POOL_GET = 15, + DEVLINK_CMD_SB_POOL_SET = 16, + DEVLINK_CMD_SB_POOL_NEW = 17, + DEVLINK_CMD_SB_POOL_DEL = 18, + DEVLINK_CMD_SB_PORT_POOL_GET = 19, + DEVLINK_CMD_SB_PORT_POOL_SET = 20, + DEVLINK_CMD_SB_PORT_POOL_NEW = 21, + DEVLINK_CMD_SB_PORT_POOL_DEL = 22, + DEVLINK_CMD_SB_TC_POOL_BIND_GET = 23, + DEVLINK_CMD_SB_TC_POOL_BIND_SET = 24, + DEVLINK_CMD_SB_TC_POOL_BIND_NEW = 25, + DEVLINK_CMD_SB_TC_POOL_BIND_DEL = 26, + DEVLINK_CMD_SB_OCC_SNAPSHOT = 27, + DEVLINK_CMD_SB_OCC_MAX_CLEAR = 28, + DEVLINK_CMD_ESWITCH_GET = 29, + DEVLINK_CMD_ESWITCH_SET = 30, + DEVLINK_CMD_DPIPE_TABLE_GET = 31, + DEVLINK_CMD_DPIPE_ENTRIES_GET = 32, + DEVLINK_CMD_DPIPE_HEADERS_GET = 33, + DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 34, + DEVLINK_CMD_RESOURCE_SET = 35, + DEVLINK_CMD_RESOURCE_DUMP = 36, + DEVLINK_CMD_RELOAD = 37, + DEVLINK_CMD_PARAM_GET = 38, + DEVLINK_CMD_PARAM_SET = 39, + DEVLINK_CMD_PARAM_NEW = 40, + DEVLINK_CMD_PARAM_DEL = 41, + DEVLINK_CMD_REGION_GET = 42, + DEVLINK_CMD_REGION_SET = 43, + DEVLINK_CMD_REGION_NEW = 44, + DEVLINK_CMD_REGION_DEL = 45, + DEVLINK_CMD_REGION_READ = 46, + DEVLINK_CMD_PORT_PARAM_GET = 47, + DEVLINK_CMD_PORT_PARAM_SET = 48, + DEVLINK_CMD_PORT_PARAM_NEW = 49, + DEVLINK_CMD_PORT_PARAM_DEL = 50, + DEVLINK_CMD_INFO_GET = 51, + DEVLINK_CMD_HEALTH_REPORTER_GET = 52, + DEVLINK_CMD_HEALTH_REPORTER_SET = 53, + DEVLINK_CMD_HEALTH_REPORTER_RECOVER = 54, + DEVLINK_CMD_HEALTH_REPORTER_DIAGNOSE = 55, + DEVLINK_CMD_HEALTH_REPORTER_DUMP_GET = 56, + DEVLINK_CMD_HEALTH_REPORTER_DUMP_CLEAR = 57, + DEVLINK_CMD_FLASH_UPDATE = 58, + DEVLINK_CMD_FLASH_UPDATE_END = 59, + DEVLINK_CMD_FLASH_UPDATE_STATUS = 60, + DEVLINK_CMD_TRAP_GET = 61, + DEVLINK_CMD_TRAP_SET = 62, + DEVLINK_CMD_TRAP_NEW = 63, + DEVLINK_CMD_TRAP_DEL = 64, + DEVLINK_CMD_TRAP_GROUP_GET = 65, + DEVLINK_CMD_TRAP_GROUP_SET = 66, + DEVLINK_CMD_TRAP_GROUP_NEW = 67, + DEVLINK_CMD_TRAP_GROUP_DEL = 68, + DEVLINK_CMD_TRAP_POLICER_GET = 69, + DEVLINK_CMD_TRAP_POLICER_SET = 70, + DEVLINK_CMD_TRAP_POLICER_NEW = 71, + DEVLINK_CMD_TRAP_POLICER_DEL = 72, + DEVLINK_CMD_HEALTH_REPORTER_TEST = 73, + DEVLINK_CMD_RATE_GET = 74, + DEVLINK_CMD_RATE_SET = 75, + DEVLINK_CMD_RATE_NEW = 76, + DEVLINK_CMD_RATE_DEL = 77, + DEVLINK_CMD_LINECARD_GET = 78, + DEVLINK_CMD_LINECARD_SET = 79, + DEVLINK_CMD_LINECARD_NEW = 80, + DEVLINK_CMD_LINECARD_DEL = 81, + DEVLINK_CMD_SELFTESTS_GET = 82, + DEVLINK_CMD_SELFTESTS_RUN = 83, + DEVLINK_CMD_NOTIFY_FILTER_SET = 84, + __DEVLINK_CMD_MAX = 85, + DEVLINK_CMD_MAX = 84, +}; + +enum devlink_dpipe_action_type { + DEVLINK_DPIPE_ACTION_TYPE_FIELD_MODIFY = 0, +}; + +enum devlink_dpipe_field_ethernet_id { + DEVLINK_DPIPE_FIELD_ETHERNET_DST_MAC = 0, +}; + +enum devlink_dpipe_field_ipv4_id { + DEVLINK_DPIPE_FIELD_IPV4_DST_IP = 0, +}; + +enum devlink_dpipe_field_ipv6_id { + DEVLINK_DPIPE_FIELD_IPV6_DST_IP = 0, +}; + +enum devlink_dpipe_field_mapping_type { + DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0, + DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 1, +}; + +enum devlink_dpipe_header_id { + DEVLINK_DPIPE_HEADER_ETHERNET = 0, + DEVLINK_DPIPE_HEADER_IPV4 = 1, + DEVLINK_DPIPE_HEADER_IPV6 = 2, +}; + +enum devlink_dpipe_match_type { + DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0, +}; + +enum devlink_eswitch_encap_mode { + DEVLINK_ESWITCH_ENCAP_MODE_NONE = 0, + DEVLINK_ESWITCH_ENCAP_MODE_BASIC = 1, +}; + +enum devlink_health_reporter_state { + DEVLINK_HEALTH_REPORTER_STATE_HEALTHY = 0, + DEVLINK_HEALTH_REPORTER_STATE_ERROR = 1, +}; + +enum devlink_info_version_type { + DEVLINK_INFO_VERSION_TYPE_NONE = 0, + DEVLINK_INFO_VERSION_TYPE_COMPONENT = 1, +}; + +enum devlink_linecard_state { + DEVLINK_LINECARD_STATE_UNSPEC = 0, + DEVLINK_LINECARD_STATE_UNPROVISIONED = 1, + DEVLINK_LINECARD_STATE_UNPROVISIONING = 2, + DEVLINK_LINECARD_STATE_PROVISIONING = 3, + DEVLINK_LINECARD_STATE_PROVISIONING_FAILED = 4, + DEVLINK_LINECARD_STATE_PROVISIONED = 5, + DEVLINK_LINECARD_STATE_ACTIVE = 6, + __DEVLINK_LINECARD_STATE_MAX = 7, + DEVLINK_LINECARD_STATE_MAX = 6, +}; + +enum devlink_multicast_groups { + DEVLINK_MCGRP_CONFIG = 0, +}; + +enum devlink_param_cmode { + DEVLINK_PARAM_CMODE_RUNTIME = 0, + DEVLINK_PARAM_CMODE_DRIVERINIT = 1, + DEVLINK_PARAM_CMODE_PERMANENT = 2, + __DEVLINK_PARAM_CMODE_MAX = 3, + DEVLINK_PARAM_CMODE_MAX = 2, +}; + +enum devlink_param_generic_id { + DEVLINK_PARAM_GENERIC_ID_INT_ERR_RESET = 0, + DEVLINK_PARAM_GENERIC_ID_MAX_MACS = 1, + DEVLINK_PARAM_GENERIC_ID_ENABLE_SRIOV = 2, + DEVLINK_PARAM_GENERIC_ID_REGION_SNAPSHOT = 3, + DEVLINK_PARAM_GENERIC_ID_IGNORE_ARI = 4, + DEVLINK_PARAM_GENERIC_ID_MSIX_VEC_PER_PF_MAX = 5, + DEVLINK_PARAM_GENERIC_ID_MSIX_VEC_PER_PF_MIN = 6, + DEVLINK_PARAM_GENERIC_ID_FW_LOAD_POLICY = 7, + DEVLINK_PARAM_GENERIC_ID_RESET_DEV_ON_DRV_PROBE = 8, + DEVLINK_PARAM_GENERIC_ID_ENABLE_ROCE = 9, + DEVLINK_PARAM_GENERIC_ID_ENABLE_REMOTE_DEV_RESET = 10, + DEVLINK_PARAM_GENERIC_ID_ENABLE_ETH = 11, + DEVLINK_PARAM_GENERIC_ID_ENABLE_RDMA = 12, + DEVLINK_PARAM_GENERIC_ID_ENABLE_VNET = 13, + DEVLINK_PARAM_GENERIC_ID_ENABLE_IWARP = 14, + DEVLINK_PARAM_GENERIC_ID_IO_EQ_SIZE = 15, + DEVLINK_PARAM_GENERIC_ID_EVENT_EQ_SIZE = 16, + DEVLINK_PARAM_GENERIC_ID_ENABLE_PHC = 17, + DEVLINK_PARAM_GENERIC_ID_CLOCK_ID = 18, + __DEVLINK_PARAM_GENERIC_ID_MAX = 19, + DEVLINK_PARAM_GENERIC_ID_MAX = 18, +}; + +enum devlink_param_type { + DEVLINK_PARAM_TYPE_U8 = 1, + DEVLINK_PARAM_TYPE_U16 = 2, + DEVLINK_PARAM_TYPE_U32 = 3, + DEVLINK_PARAM_TYPE_U64 = 4, + DEVLINK_PARAM_TYPE_STRING = 5, + DEVLINK_PARAM_TYPE_BOOL = 6, +}; + +enum devlink_port_flavour { + DEVLINK_PORT_FLAVOUR_PHYSICAL = 0, + DEVLINK_PORT_FLAVOUR_CPU = 1, + DEVLINK_PORT_FLAVOUR_DSA = 2, + DEVLINK_PORT_FLAVOUR_PCI_PF = 3, + DEVLINK_PORT_FLAVOUR_PCI_VF = 4, + DEVLINK_PORT_FLAVOUR_VIRTUAL = 5, + DEVLINK_PORT_FLAVOUR_UNUSED = 6, + DEVLINK_PORT_FLAVOUR_PCI_SF = 7, +}; + +enum devlink_port_fn_attr_cap { + DEVLINK_PORT_FN_ATTR_CAP_ROCE_BIT = 0, + DEVLINK_PORT_FN_ATTR_CAP_MIGRATABLE_BIT = 1, + DEVLINK_PORT_FN_ATTR_CAP_IPSEC_CRYPTO_BIT = 2, + DEVLINK_PORT_FN_ATTR_CAP_IPSEC_PACKET_BIT = 3, + __DEVLINK_PORT_FN_ATTR_CAPS_MAX = 4, +}; + +enum devlink_port_fn_opstate { + DEVLINK_PORT_FN_OPSTATE_DETACHED = 0, + DEVLINK_PORT_FN_OPSTATE_ATTACHED = 1, +}; + +enum devlink_port_fn_state { + DEVLINK_PORT_FN_STATE_INACTIVE = 0, + DEVLINK_PORT_FN_STATE_ACTIVE = 1, +}; + +enum devlink_port_function_attr { + DEVLINK_PORT_FUNCTION_ATTR_UNSPEC = 0, + DEVLINK_PORT_FUNCTION_ATTR_HW_ADDR = 1, + DEVLINK_PORT_FN_ATTR_STATE = 2, + DEVLINK_PORT_FN_ATTR_OPSTATE = 3, + DEVLINK_PORT_FN_ATTR_CAPS = 4, + DEVLINK_PORT_FN_ATTR_DEVLINK = 5, + DEVLINK_PORT_FN_ATTR_MAX_IO_EQS = 6, + __DEVLINK_PORT_FUNCTION_ATTR_MAX = 7, + DEVLINK_PORT_FUNCTION_ATTR_MAX = 6, +}; + +enum devlink_port_type { + DEVLINK_PORT_TYPE_NOTSET = 0, + DEVLINK_PORT_TYPE_AUTO = 1, + DEVLINK_PORT_TYPE_ETH = 2, + DEVLINK_PORT_TYPE_IB = 3, +}; + +enum devlink_rate_tc_attr { + DEVLINK_RATE_TC_ATTR_UNSPEC = 0, + DEVLINK_RATE_TC_ATTR_INDEX = 1, + DEVLINK_RATE_TC_ATTR_BW = 2, + __DEVLINK_RATE_TC_ATTR_MAX = 3, + DEVLINK_RATE_TC_ATTR_MAX = 2, +}; + +enum devlink_rate_type { + DEVLINK_RATE_TYPE_LEAF = 0, + DEVLINK_RATE_TYPE_NODE = 1, +}; + +enum devlink_reload_action { + DEVLINK_RELOAD_ACTION_UNSPEC = 0, + DEVLINK_RELOAD_ACTION_DRIVER_REINIT = 1, + DEVLINK_RELOAD_ACTION_FW_ACTIVATE = 2, + __DEVLINK_RELOAD_ACTION_MAX = 3, + DEVLINK_RELOAD_ACTION_MAX = 2, +}; + +enum devlink_reload_limit { + DEVLINK_RELOAD_LIMIT_UNSPEC = 0, + DEVLINK_RELOAD_LIMIT_NO_RESET = 1, + __DEVLINK_RELOAD_LIMIT_MAX = 2, + DEVLINK_RELOAD_LIMIT_MAX = 1, +}; + +enum devlink_resource_unit { + DEVLINK_RESOURCE_UNIT_ENTRY = 0, +}; + +enum devlink_sb_pool_type { + DEVLINK_SB_POOL_TYPE_INGRESS = 0, + DEVLINK_SB_POOL_TYPE_EGRESS = 1, +}; + +enum devlink_sb_threshold_type { + DEVLINK_SB_THRESHOLD_TYPE_STATIC = 0, + DEVLINK_SB_THRESHOLD_TYPE_DYNAMIC = 1, +}; + +enum devlink_selftest_status { + DEVLINK_SELFTEST_STATUS_SKIP = 0, + DEVLINK_SELFTEST_STATUS_PASS = 1, + DEVLINK_SELFTEST_STATUS_FAIL = 2, +}; + +enum devlink_trap_action { + DEVLINK_TRAP_ACTION_DROP = 0, + DEVLINK_TRAP_ACTION_TRAP = 1, + DEVLINK_TRAP_ACTION_MIRROR = 2, +}; + +enum devlink_trap_generic_id { + DEVLINK_TRAP_GENERIC_ID_SMAC_MC = 0, + DEVLINK_TRAP_GENERIC_ID_VLAN_TAG_MISMATCH = 1, + DEVLINK_TRAP_GENERIC_ID_INGRESS_VLAN_FILTER = 2, + DEVLINK_TRAP_GENERIC_ID_INGRESS_STP_FILTER = 3, + DEVLINK_TRAP_GENERIC_ID_EMPTY_TX_LIST = 4, + DEVLINK_TRAP_GENERIC_ID_PORT_LOOPBACK_FILTER = 5, + DEVLINK_TRAP_GENERIC_ID_BLACKHOLE_ROUTE = 6, + DEVLINK_TRAP_GENERIC_ID_TTL_ERROR = 7, + DEVLINK_TRAP_GENERIC_ID_TAIL_DROP = 8, + DEVLINK_TRAP_GENERIC_ID_NON_IP_PACKET = 9, + DEVLINK_TRAP_GENERIC_ID_UC_DIP_MC_DMAC = 10, + DEVLINK_TRAP_GENERIC_ID_DIP_LB = 11, + DEVLINK_TRAP_GENERIC_ID_SIP_MC = 12, + DEVLINK_TRAP_GENERIC_ID_SIP_LB = 13, + DEVLINK_TRAP_GENERIC_ID_CORRUPTED_IP_HDR = 14, + DEVLINK_TRAP_GENERIC_ID_IPV4_SIP_BC = 15, + DEVLINK_TRAP_GENERIC_ID_IPV6_MC_DIP_RESERVED_SCOPE = 16, + DEVLINK_TRAP_GENERIC_ID_IPV6_MC_DIP_INTERFACE_LOCAL_SCOPE = 17, + DEVLINK_TRAP_GENERIC_ID_MTU_ERROR = 18, + DEVLINK_TRAP_GENERIC_ID_UNRESOLVED_NEIGH = 19, + DEVLINK_TRAP_GENERIC_ID_RPF = 20, + DEVLINK_TRAP_GENERIC_ID_REJECT_ROUTE = 21, + DEVLINK_TRAP_GENERIC_ID_IPV4_LPM_UNICAST_MISS = 22, + DEVLINK_TRAP_GENERIC_ID_IPV6_LPM_UNICAST_MISS = 23, + DEVLINK_TRAP_GENERIC_ID_NON_ROUTABLE = 24, + DEVLINK_TRAP_GENERIC_ID_DECAP_ERROR = 25, + DEVLINK_TRAP_GENERIC_ID_OVERLAY_SMAC_MC = 26, + DEVLINK_TRAP_GENERIC_ID_INGRESS_FLOW_ACTION_DROP = 27, + DEVLINK_TRAP_GENERIC_ID_EGRESS_FLOW_ACTION_DROP = 28, + DEVLINK_TRAP_GENERIC_ID_STP = 29, + DEVLINK_TRAP_GENERIC_ID_LACP = 30, + DEVLINK_TRAP_GENERIC_ID_LLDP = 31, + DEVLINK_TRAP_GENERIC_ID_IGMP_QUERY = 32, + DEVLINK_TRAP_GENERIC_ID_IGMP_V1_REPORT = 33, + DEVLINK_TRAP_GENERIC_ID_IGMP_V2_REPORT = 34, + DEVLINK_TRAP_GENERIC_ID_IGMP_V3_REPORT = 35, + DEVLINK_TRAP_GENERIC_ID_IGMP_V2_LEAVE = 36, + DEVLINK_TRAP_GENERIC_ID_MLD_QUERY = 37, + DEVLINK_TRAP_GENERIC_ID_MLD_V1_REPORT = 38, + DEVLINK_TRAP_GENERIC_ID_MLD_V2_REPORT = 39, + DEVLINK_TRAP_GENERIC_ID_MLD_V1_DONE = 40, + DEVLINK_TRAP_GENERIC_ID_IPV4_DHCP = 41, + DEVLINK_TRAP_GENERIC_ID_IPV6_DHCP = 42, + DEVLINK_TRAP_GENERIC_ID_ARP_REQUEST = 43, + DEVLINK_TRAP_GENERIC_ID_ARP_RESPONSE = 44, + DEVLINK_TRAP_GENERIC_ID_ARP_OVERLAY = 45, + DEVLINK_TRAP_GENERIC_ID_IPV6_NEIGH_SOLICIT = 46, + DEVLINK_TRAP_GENERIC_ID_IPV6_NEIGH_ADVERT = 47, + DEVLINK_TRAP_GENERIC_ID_IPV4_BFD = 48, + DEVLINK_TRAP_GENERIC_ID_IPV6_BFD = 49, + DEVLINK_TRAP_GENERIC_ID_IPV4_OSPF = 50, + DEVLINK_TRAP_GENERIC_ID_IPV6_OSPF = 51, + DEVLINK_TRAP_GENERIC_ID_IPV4_BGP = 52, + DEVLINK_TRAP_GENERIC_ID_IPV6_BGP = 53, + DEVLINK_TRAP_GENERIC_ID_IPV4_VRRP = 54, + DEVLINK_TRAP_GENERIC_ID_IPV6_VRRP = 55, + DEVLINK_TRAP_GENERIC_ID_IPV4_PIM = 56, + DEVLINK_TRAP_GENERIC_ID_IPV6_PIM = 57, + DEVLINK_TRAP_GENERIC_ID_UC_LB = 58, + DEVLINK_TRAP_GENERIC_ID_LOCAL_ROUTE = 59, + DEVLINK_TRAP_GENERIC_ID_EXTERNAL_ROUTE = 60, + DEVLINK_TRAP_GENERIC_ID_IPV6_UC_DIP_LINK_LOCAL_SCOPE = 61, + DEVLINK_TRAP_GENERIC_ID_IPV6_DIP_ALL_NODES = 62, + DEVLINK_TRAP_GENERIC_ID_IPV6_DIP_ALL_ROUTERS = 63, + DEVLINK_TRAP_GENERIC_ID_IPV6_ROUTER_SOLICIT = 64, + DEVLINK_TRAP_GENERIC_ID_IPV6_ROUTER_ADVERT = 65, + DEVLINK_TRAP_GENERIC_ID_IPV6_REDIRECT = 66, + DEVLINK_TRAP_GENERIC_ID_IPV4_ROUTER_ALERT = 67, + DEVLINK_TRAP_GENERIC_ID_IPV6_ROUTER_ALERT = 68, + DEVLINK_TRAP_GENERIC_ID_PTP_EVENT = 69, + DEVLINK_TRAP_GENERIC_ID_PTP_GENERAL = 70, + DEVLINK_TRAP_GENERIC_ID_FLOW_ACTION_SAMPLE = 71, + DEVLINK_TRAP_GENERIC_ID_FLOW_ACTION_TRAP = 72, + DEVLINK_TRAP_GENERIC_ID_EARLY_DROP = 73, + DEVLINK_TRAP_GENERIC_ID_VXLAN_PARSING = 74, + DEVLINK_TRAP_GENERIC_ID_LLC_SNAP_PARSING = 75, + DEVLINK_TRAP_GENERIC_ID_VLAN_PARSING = 76, + DEVLINK_TRAP_GENERIC_ID_PPPOE_PPP_PARSING = 77, + DEVLINK_TRAP_GENERIC_ID_MPLS_PARSING = 78, + DEVLINK_TRAP_GENERIC_ID_ARP_PARSING = 79, + DEVLINK_TRAP_GENERIC_ID_IP_1_PARSING = 80, + DEVLINK_TRAP_GENERIC_ID_IP_N_PARSING = 81, + DEVLINK_TRAP_GENERIC_ID_GRE_PARSING = 82, + DEVLINK_TRAP_GENERIC_ID_UDP_PARSING = 83, + DEVLINK_TRAP_GENERIC_ID_TCP_PARSING = 84, + DEVLINK_TRAP_GENERIC_ID_IPSEC_PARSING = 85, + DEVLINK_TRAP_GENERIC_ID_SCTP_PARSING = 86, + DEVLINK_TRAP_GENERIC_ID_DCCP_PARSING = 87, + DEVLINK_TRAP_GENERIC_ID_GTP_PARSING = 88, + DEVLINK_TRAP_GENERIC_ID_ESP_PARSING = 89, + DEVLINK_TRAP_GENERIC_ID_BLACKHOLE_NEXTHOP = 90, + DEVLINK_TRAP_GENERIC_ID_DMAC_FILTER = 91, + DEVLINK_TRAP_GENERIC_ID_EAPOL = 92, + DEVLINK_TRAP_GENERIC_ID_LOCKED_PORT = 93, + __DEVLINK_TRAP_GENERIC_ID_MAX = 94, + DEVLINK_TRAP_GENERIC_ID_MAX = 93, +}; + +enum devlink_trap_group_generic_id { + DEVLINK_TRAP_GROUP_GENERIC_ID_L2_DROPS = 0, + DEVLINK_TRAP_GROUP_GENERIC_ID_L3_DROPS = 1, + DEVLINK_TRAP_GROUP_GENERIC_ID_L3_EXCEPTIONS = 2, + DEVLINK_TRAP_GROUP_GENERIC_ID_BUFFER_DROPS = 3, + DEVLINK_TRAP_GROUP_GENERIC_ID_TUNNEL_DROPS = 4, + DEVLINK_TRAP_GROUP_GENERIC_ID_ACL_DROPS = 5, + DEVLINK_TRAP_GROUP_GENERIC_ID_STP = 6, + DEVLINK_TRAP_GROUP_GENERIC_ID_LACP = 7, + DEVLINK_TRAP_GROUP_GENERIC_ID_LLDP = 8, + DEVLINK_TRAP_GROUP_GENERIC_ID_MC_SNOOPING = 9, + DEVLINK_TRAP_GROUP_GENERIC_ID_DHCP = 10, + DEVLINK_TRAP_GROUP_GENERIC_ID_NEIGH_DISCOVERY = 11, + DEVLINK_TRAP_GROUP_GENERIC_ID_BFD = 12, + DEVLINK_TRAP_GROUP_GENERIC_ID_OSPF = 13, + DEVLINK_TRAP_GROUP_GENERIC_ID_BGP = 14, + DEVLINK_TRAP_GROUP_GENERIC_ID_VRRP = 15, + DEVLINK_TRAP_GROUP_GENERIC_ID_PIM = 16, + DEVLINK_TRAP_GROUP_GENERIC_ID_UC_LB = 17, + DEVLINK_TRAP_GROUP_GENERIC_ID_LOCAL_DELIVERY = 18, + DEVLINK_TRAP_GROUP_GENERIC_ID_EXTERNAL_DELIVERY = 19, + DEVLINK_TRAP_GROUP_GENERIC_ID_IPV6 = 20, + DEVLINK_TRAP_GROUP_GENERIC_ID_PTP_EVENT = 21, + DEVLINK_TRAP_GROUP_GENERIC_ID_PTP_GENERAL = 22, + DEVLINK_TRAP_GROUP_GENERIC_ID_ACL_SAMPLE = 23, + DEVLINK_TRAP_GROUP_GENERIC_ID_ACL_TRAP = 24, + DEVLINK_TRAP_GROUP_GENERIC_ID_PARSER_ERROR_DROPS = 25, + DEVLINK_TRAP_GROUP_GENERIC_ID_EAPOL = 26, + __DEVLINK_TRAP_GROUP_GENERIC_ID_MAX = 27, + DEVLINK_TRAP_GROUP_GENERIC_ID_MAX = 26, +}; + +enum devlink_trap_type { + DEVLINK_TRAP_TYPE_DROP = 0, + DEVLINK_TRAP_TYPE_EXCEPTION = 1, + DEVLINK_TRAP_TYPE_CONTROL = 2, +}; + +enum devlink_var_attr_type { + DEVLINK_VAR_ATTR_TYPE_U8 = 1, + DEVLINK_VAR_ATTR_TYPE_U16 = 2, + DEVLINK_VAR_ATTR_TYPE_U32 = 3, + DEVLINK_VAR_ATTR_TYPE_U64 = 4, + DEVLINK_VAR_ATTR_TYPE_STRING = 5, + DEVLINK_VAR_ATTR_TYPE_FLAG = 6, + DEVLINK_VAR_ATTR_TYPE_NUL_STRING = 10, + DEVLINK_VAR_ATTR_TYPE_BINARY = 11, + __DEVLINK_VAR_ATTR_TYPE_CUSTOM_BASE = 128, +}; + +enum devm_ioremap_type { + DEVM_IOREMAP = 0, + DEVM_IOREMAP_UC = 1, + DEVM_IOREMAP_WC = 2, + DEVM_IOREMAP_NP = 3, +}; + +enum dfa_accept_flags { + ACCEPT_FLAG_OWNER = 1, +}; + +enum die_val { + DIE_OOPS = 1, + DIE_INT3 = 2, + DIE_DEBUG = 3, + DIE_PANIC = 4, + DIE_NMI = 5, + DIE_DIE = 6, + DIE_KERNELDEBUG = 7, + DIE_TRAP = 8, + DIE_GPF = 9, + DIE_CALL = 10, + DIE_PAGE_FAULT = 11, + DIE_NMIUNKNOWN = 12, +}; + +enum digest_type { + DIGEST_TYPE_IMA = 0, + DIGEST_TYPE_VERITY = 1, + DIGEST_TYPE__LAST = 2, +}; + +enum dim_cq_period_mode { + DIM_CQ_PERIOD_MODE_START_FROM_EQE = 0, + DIM_CQ_PERIOD_MODE_START_FROM_CQE = 1, + DIM_CQ_PERIOD_NUM_MODES = 2, +}; + +enum dim_state { + DIM_START_MEASURE = 0, + DIM_MEASURE_IN_PROGRESS = 1, + DIM_APPLY_NEW_PROFILE = 2, +}; + +enum dim_stats_state { + DIM_STATS_WORSE = 0, + DIM_STATS_SAME = 1, + DIM_STATS_BETTER = 2, +}; + +enum dim_step_result { + DIM_STEPPED = 0, + DIM_TOO_TIRED = 1, + DIM_ON_EDGE = 2, +}; + +enum dim_tune_state { + DIM_PARKING_ON_TOP = 0, + DIM_PARKING_TIRED = 1, + DIM_GOING_RIGHT = 2, + DIM_GOING_LEFT = 3, +}; + +enum display_flags { + DISPLAY_FLAGS_HSYNC_LOW = 1, + DISPLAY_FLAGS_HSYNC_HIGH = 2, + DISPLAY_FLAGS_VSYNC_LOW = 4, + DISPLAY_FLAGS_VSYNC_HIGH = 8, + DISPLAY_FLAGS_DE_LOW = 16, + DISPLAY_FLAGS_DE_HIGH = 32, + DISPLAY_FLAGS_PIXDATA_POSEDGE = 64, + DISPLAY_FLAGS_PIXDATA_NEGEDGE = 128, + DISPLAY_FLAGS_INTERLACED = 256, + DISPLAY_FLAGS_DOUBLESCAN = 512, + DISPLAY_FLAGS_DOUBLECLK = 1024, + DISPLAY_FLAGS_SYNC_POSEDGE = 2048, + DISPLAY_FLAGS_SYNC_NEGEDGE = 4096, +}; + +enum dl_bw_request { + dl_bw_req_deactivate = 0, + dl_bw_req_alloc = 1, + dl_bw_req_free = 2, +}; + +enum dl_dev_state { + DL_DEV_NO_DRIVER = 0, + DL_DEV_PROBING = 1, + DL_DEV_DRIVER_BOUND = 2, + DL_DEV_UNBINDING = 3, +}; + +enum dl_param { + DL_RUNTIME = 0, + DL_PERIOD = 1, +}; + +enum dm_io_mem_type { + DM_IO_PAGE_LIST = 0, + DM_IO_BIO = 1, + DM_IO_VMA = 2, + DM_IO_KMEM = 3, +}; + +enum dm_queue_mode { + DM_TYPE_NONE = 0, + DM_TYPE_BIO_BASED = 1, + DM_TYPE_REQUEST_BASED = 2, + DM_TYPE_DAX_BIO_BASED = 3, +}; + +enum dm_uevent_type { + DM_UEVENT_PATH_FAILED = 0, + DM_UEVENT_PATH_REINSTATED = 1, +}; + +enum dm_wrappedkey_op { + DERIVE_SW_SECRET = 0, + IMPORT_KEY = 1, + GENERATE_KEY = 2, + PREPARE_KEY = 3, +}; + +enum dma_ctrl_flags { + DMA_PREP_INTERRUPT = 1, + DMA_CTRL_ACK = 2, + DMA_PREP_PQ_DISABLE_P = 4, + DMA_PREP_PQ_DISABLE_Q = 8, + DMA_PREP_CONTINUE = 16, + DMA_PREP_FENCE = 32, + DMA_CTRL_REUSE = 64, + DMA_PREP_CMD = 128, + DMA_PREP_REPEAT = 256, + DMA_PREP_LOAD_EOT = 512, +}; + +enum dma_data_direction { + DMA_BIDIRECTIONAL = 0, + DMA_TO_DEVICE = 1, + DMA_FROM_DEVICE = 2, + DMA_NONE = 3, +}; + +enum dma_desc_metadata_mode { + DESC_METADATA_NONE = 0, + DESC_METADATA_CLIENT = 1, + DESC_METADATA_ENGINE = 2, +}; + +enum dma_fence_flag_bits { + DMA_FENCE_FLAG_SEQNO64_BIT = 0, + DMA_FENCE_FLAG_SIGNALED_BIT = 1, + DMA_FENCE_FLAG_TIMESTAMP_BIT = 2, + DMA_FENCE_FLAG_ENABLE_SIGNAL_BIT = 3, + DMA_FENCE_FLAG_USER_BITS = 4, +}; + +enum dma_residue_granularity { + DMA_RESIDUE_GRANULARITY_DESCRIPTOR = 0, + DMA_RESIDUE_GRANULARITY_SEGMENT = 1, + DMA_RESIDUE_GRANULARITY_BURST = 2, +}; + +enum dma_resv_usage { + DMA_RESV_USAGE_KERNEL = 0, + DMA_RESV_USAGE_WRITE = 1, + DMA_RESV_USAGE_READ = 2, + DMA_RESV_USAGE_BOOKKEEP = 3, +}; + +enum dma_slave_buswidth { + DMA_SLAVE_BUSWIDTH_UNDEFINED = 0, + DMA_SLAVE_BUSWIDTH_1_BYTE = 1, + DMA_SLAVE_BUSWIDTH_2_BYTES = 2, + DMA_SLAVE_BUSWIDTH_3_BYTES = 3, + DMA_SLAVE_BUSWIDTH_4_BYTES = 4, + DMA_SLAVE_BUSWIDTH_8_BYTES = 8, + DMA_SLAVE_BUSWIDTH_16_BYTES = 16, + DMA_SLAVE_BUSWIDTH_32_BYTES = 32, + DMA_SLAVE_BUSWIDTH_64_BYTES = 64, + DMA_SLAVE_BUSWIDTH_128_BYTES = 128, +}; + +enum dma_status { + DMA_COMPLETE = 0, + DMA_IN_PROGRESS = 1, + DMA_PAUSED = 2, + DMA_ERROR = 3, + DMA_OUT_OF_ORDER = 4, +}; + +enum dma_transaction_type { + DMA_MEMCPY = 0, + DMA_XOR = 1, + DMA_PQ = 2, + DMA_XOR_VAL = 3, + DMA_PQ_VAL = 4, + DMA_MEMSET = 5, + DMA_MEMSET_SG = 6, + DMA_INTERRUPT = 7, + DMA_PRIVATE = 8, + DMA_ASYNC_TX = 9, + DMA_SLAVE = 10, + DMA_CYCLIC = 11, + DMA_INTERLEAVE = 12, + DMA_COMPLETION_NO_ORDER = 13, + DMA_REPEAT = 14, + DMA_LOAD_EOT = 15, + DMA_TX_TYPE_END = 16, +}; + +enum dma_transfer_direction { + DMA_MEM_TO_MEM = 0, + DMA_MEM_TO_DEV = 1, + DMA_DEV_TO_MEM = 2, + DMA_DEV_TO_DEV = 3, + DMA_TRANS_NONE = 4, +}; + +enum dmaengine_alignment { + DMAENGINE_ALIGN_1_BYTE = 0, + DMAENGINE_ALIGN_2_BYTES = 1, + DMAENGINE_ALIGN_4_BYTES = 2, + DMAENGINE_ALIGN_8_BYTES = 3, + DMAENGINE_ALIGN_16_BYTES = 4, + DMAENGINE_ALIGN_32_BYTES = 5, + DMAENGINE_ALIGN_64_BYTES = 6, + DMAENGINE_ALIGN_128_BYTES = 7, + DMAENGINE_ALIGN_256_BYTES = 8, +}; + +enum dmaengine_tx_result { + DMA_TRANS_NOERROR = 0, + DMA_TRANS_READ_FAILED = 1, + DMA_TRANS_WRITE_FAILED = 2, + DMA_TRANS_ABORTED = 3, +}; + +enum dmi_device_type { + DMI_DEV_TYPE_ANY = 0, + DMI_DEV_TYPE_OTHER = 1, + DMI_DEV_TYPE_UNKNOWN = 2, + DMI_DEV_TYPE_VIDEO = 3, + DMI_DEV_TYPE_SCSI = 4, + DMI_DEV_TYPE_ETHERNET = 5, + DMI_DEV_TYPE_TOKENRING = 6, + DMI_DEV_TYPE_SOUND = 7, + DMI_DEV_TYPE_PATA = 8, + DMI_DEV_TYPE_SATA = 9, + DMI_DEV_TYPE_SAS = 10, + DMI_DEV_TYPE_IPMI = -1, + DMI_DEV_TYPE_OEM_STRING = -2, + DMI_DEV_TYPE_DEV_ONBOARD = -3, + DMI_DEV_TYPE_DEV_SLOT = -4, +}; + +enum dmi_entry_type { + DMI_ENTRY_BIOS = 0, + DMI_ENTRY_SYSTEM = 1, + DMI_ENTRY_BASEBOARD = 2, + DMI_ENTRY_CHASSIS = 3, + DMI_ENTRY_PROCESSOR = 4, + DMI_ENTRY_MEM_CONTROLLER = 5, + DMI_ENTRY_MEM_MODULE = 6, + DMI_ENTRY_CACHE = 7, + DMI_ENTRY_PORT_CONNECTOR = 8, + DMI_ENTRY_SYSTEM_SLOT = 9, + DMI_ENTRY_ONBOARD_DEVICE = 10, + DMI_ENTRY_OEMSTRINGS = 11, + DMI_ENTRY_SYSCONF = 12, + DMI_ENTRY_BIOS_LANG = 13, + DMI_ENTRY_GROUP_ASSOC = 14, + DMI_ENTRY_SYSTEM_EVENT_LOG = 15, + DMI_ENTRY_PHYS_MEM_ARRAY = 16, + DMI_ENTRY_MEM_DEVICE = 17, + DMI_ENTRY_32_MEM_ERROR = 18, + DMI_ENTRY_MEM_ARRAY_MAPPED_ADDR = 19, + DMI_ENTRY_MEM_DEV_MAPPED_ADDR = 20, + DMI_ENTRY_BUILTIN_POINTING_DEV = 21, + DMI_ENTRY_PORTABLE_BATTERY = 22, + DMI_ENTRY_SYSTEM_RESET = 23, + DMI_ENTRY_HW_SECURITY = 24, + DMI_ENTRY_SYSTEM_POWER_CONTROLS = 25, + DMI_ENTRY_VOLTAGE_PROBE = 26, + DMI_ENTRY_COOLING_DEV = 27, + DMI_ENTRY_TEMP_PROBE = 28, + DMI_ENTRY_ELECTRICAL_CURRENT_PROBE = 29, + DMI_ENTRY_OOB_REMOTE_ACCESS = 30, + DMI_ENTRY_BIS_ENTRY = 31, + DMI_ENTRY_SYSTEM_BOOT = 32, + DMI_ENTRY_MGMT_DEV = 33, + DMI_ENTRY_MGMT_DEV_COMPONENT = 34, + DMI_ENTRY_MGMT_DEV_THRES = 35, + DMI_ENTRY_MEM_CHANNEL = 36, + DMI_ENTRY_IPMI_DEV = 37, + DMI_ENTRY_SYS_POWER_SUPPLY = 38, + DMI_ENTRY_ADDITIONAL = 39, + DMI_ENTRY_ONBOARD_DEV_EXT = 40, + DMI_ENTRY_MGMT_CONTROLLER_HOST = 41, + DMI_ENTRY_INACTIVE = 126, + DMI_ENTRY_END_OF_TABLE = 127, +}; + +enum dmi_field { + DMI_NONE = 0, + DMI_BIOS_VENDOR = 1, + DMI_BIOS_VERSION = 2, + DMI_BIOS_DATE = 3, + DMI_BIOS_RELEASE = 4, + DMI_EC_FIRMWARE_RELEASE = 5, + DMI_SYS_VENDOR = 6, + DMI_PRODUCT_NAME = 7, + DMI_PRODUCT_VERSION = 8, + DMI_PRODUCT_SERIAL = 9, + DMI_PRODUCT_UUID = 10, + DMI_PRODUCT_SKU = 11, + DMI_PRODUCT_FAMILY = 12, + DMI_BOARD_VENDOR = 13, + DMI_BOARD_NAME = 14, + DMI_BOARD_VERSION = 15, + DMI_BOARD_SERIAL = 16, + DMI_BOARD_ASSET_TAG = 17, + DMI_CHASSIS_VENDOR = 18, + DMI_CHASSIS_TYPE = 19, + DMI_CHASSIS_VERSION = 20, + DMI_CHASSIS_SERIAL = 21, + DMI_CHASSIS_ASSET_TAG = 22, + DMI_STRING_MAX = 23, + DMI_OEM_STRING = 24, +}; + +enum dns_lookup_status { + DNS_LOOKUP_NOT_DONE = 0, + DNS_LOOKUP_GOOD = 1, + DNS_LOOKUP_GOOD_WITH_BAD = 2, + DNS_LOOKUP_BAD = 3, + DNS_LOOKUP_GOT_NOT_FOUND = 4, + DNS_LOOKUP_GOT_LOCAL_FAILURE = 5, + DNS_LOOKUP_GOT_TEMP_FAILURE = 6, + DNS_LOOKUP_GOT_NS_FAILURE = 7, + NR__dns_lookup_status = 8, +}; + +enum dns_payload_content_type { + DNS_PAYLOAD_IS_SERVER_LIST = 0, +}; + +enum dock_callback_type { + DOCK_CALL_HANDLER = 0, + DOCK_CALL_FIXUP = 1, + DOCK_CALL_UEVENT = 2, +}; + +enum dpll_a { + DPLL_A_ID = 1, + DPLL_A_MODULE_NAME = 2, + DPLL_A_PAD = 3, + DPLL_A_CLOCK_ID = 4, + DPLL_A_MODE = 5, + DPLL_A_MODE_SUPPORTED = 6, + DPLL_A_LOCK_STATUS = 7, + DPLL_A_TEMP = 8, + DPLL_A_TYPE = 9, + DPLL_A_LOCK_STATUS_ERROR = 10, + DPLL_A_CLOCK_QUALITY_LEVEL = 11, + DPLL_A_PHASE_OFFSET_MONITOR = 12, + __DPLL_A_MAX = 13, + DPLL_A_MAX = 12, +}; + +enum dpll_a_pin { + DPLL_A_PIN_ID = 1, + DPLL_A_PIN_PARENT_ID = 2, + DPLL_A_PIN_MODULE_NAME = 3, + DPLL_A_PIN_PAD = 4, + DPLL_A_PIN_CLOCK_ID = 5, + DPLL_A_PIN_BOARD_LABEL = 6, + DPLL_A_PIN_PANEL_LABEL = 7, + DPLL_A_PIN_PACKAGE_LABEL = 8, + DPLL_A_PIN_TYPE = 9, + DPLL_A_PIN_DIRECTION = 10, + DPLL_A_PIN_FREQUENCY = 11, + DPLL_A_PIN_FREQUENCY_SUPPORTED = 12, + DPLL_A_PIN_FREQUENCY_MIN = 13, + DPLL_A_PIN_FREQUENCY_MAX = 14, + DPLL_A_PIN_PRIO = 15, + DPLL_A_PIN_STATE = 16, + DPLL_A_PIN_CAPABILITIES = 17, + DPLL_A_PIN_PARENT_DEVICE = 18, + DPLL_A_PIN_PARENT_PIN = 19, + DPLL_A_PIN_PHASE_ADJUST_MIN = 20, + DPLL_A_PIN_PHASE_ADJUST_MAX = 21, + DPLL_A_PIN_PHASE_ADJUST = 22, + DPLL_A_PIN_PHASE_OFFSET = 23, + DPLL_A_PIN_FRACTIONAL_FREQUENCY_OFFSET = 24, + DPLL_A_PIN_ESYNC_FREQUENCY = 25, + DPLL_A_PIN_ESYNC_FREQUENCY_SUPPORTED = 26, + DPLL_A_PIN_ESYNC_PULSE = 27, + DPLL_A_PIN_REFERENCE_SYNC = 28, + __DPLL_A_PIN_MAX = 29, + DPLL_A_PIN_MAX = 28, +}; + +enum dpll_clock_quality_level { + DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_PRC = 1, + DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_SSU_A = 2, + DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_SSU_B = 3, + DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EEC1 = 4, + DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_PRTC = 5, + DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EPRTC = 6, + DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EEEC = 7, + DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EPRC = 8, + __DPLL_CLOCK_QUALITY_LEVEL_MAX = 9, + DPLL_CLOCK_QUALITY_LEVEL_MAX = 8, +}; + +enum dpll_cmd { + DPLL_CMD_DEVICE_ID_GET = 1, + DPLL_CMD_DEVICE_GET = 2, + DPLL_CMD_DEVICE_SET = 3, + DPLL_CMD_DEVICE_CREATE_NTF = 4, + DPLL_CMD_DEVICE_DELETE_NTF = 5, + DPLL_CMD_DEVICE_CHANGE_NTF = 6, + DPLL_CMD_PIN_ID_GET = 7, + DPLL_CMD_PIN_GET = 8, + DPLL_CMD_PIN_SET = 9, + DPLL_CMD_PIN_CREATE_NTF = 10, + DPLL_CMD_PIN_DELETE_NTF = 11, + DPLL_CMD_PIN_CHANGE_NTF = 12, + __DPLL_CMD_MAX = 13, + DPLL_CMD_MAX = 12, +}; + +enum dpll_feature_state { + DPLL_FEATURE_STATE_DISABLE = 0, + DPLL_FEATURE_STATE_ENABLE = 1, +}; + +enum dpll_lock_status { + DPLL_LOCK_STATUS_UNLOCKED = 1, + DPLL_LOCK_STATUS_LOCKED = 2, + DPLL_LOCK_STATUS_LOCKED_HO_ACQ = 3, + DPLL_LOCK_STATUS_HOLDOVER = 4, + __DPLL_LOCK_STATUS_MAX = 5, + DPLL_LOCK_STATUS_MAX = 4, +}; + +enum dpll_lock_status_error { + DPLL_LOCK_STATUS_ERROR_NONE = 1, + DPLL_LOCK_STATUS_ERROR_UNDEFINED = 2, + DPLL_LOCK_STATUS_ERROR_MEDIA_DOWN = 3, + DPLL_LOCK_STATUS_ERROR_FRACTIONAL_FREQUENCY_OFFSET_TOO_HIGH = 4, + __DPLL_LOCK_STATUS_ERROR_MAX = 5, + DPLL_LOCK_STATUS_ERROR_MAX = 4, +}; + +enum dpll_mode { + DPLL_MODE_MANUAL = 1, + DPLL_MODE_AUTOMATIC = 2, + __DPLL_MODE_MAX = 3, + DPLL_MODE_MAX = 2, +}; + +enum dpll_pin_capabilities { + DPLL_PIN_CAPABILITIES_DIRECTION_CAN_CHANGE = 1, + DPLL_PIN_CAPABILITIES_PRIORITY_CAN_CHANGE = 2, + DPLL_PIN_CAPABILITIES_STATE_CAN_CHANGE = 4, +}; + +enum dpll_pin_direction { + DPLL_PIN_DIRECTION_INPUT = 1, + DPLL_PIN_DIRECTION_OUTPUT = 2, + __DPLL_PIN_DIRECTION_MAX = 3, + DPLL_PIN_DIRECTION_MAX = 2, +}; + +enum dpll_pin_state { + DPLL_PIN_STATE_CONNECTED = 1, + DPLL_PIN_STATE_DISCONNECTED = 2, + DPLL_PIN_STATE_SELECTABLE = 3, + __DPLL_PIN_STATE_MAX = 4, + DPLL_PIN_STATE_MAX = 3, +}; + +enum dpll_pin_type { + DPLL_PIN_TYPE_MUX = 1, + DPLL_PIN_TYPE_EXT = 2, + DPLL_PIN_TYPE_SYNCE_ETH_PORT = 3, + DPLL_PIN_TYPE_INT_OSCILLATOR = 4, + DPLL_PIN_TYPE_GNSS = 5, + __DPLL_PIN_TYPE_MAX = 6, + DPLL_PIN_TYPE_MAX = 5, +}; + +enum dpll_type { + DPLL_TYPE_PPS = 1, + DPLL_TYPE_EEC = 2, + __DPLL_TYPE_MAX = 3, + DPLL_TYPE_MAX = 2, +}; + +enum dpm_order { + DPM_ORDER_NONE = 0, + DPM_ORDER_DEV_AFTER_PARENT = 1, + DPM_ORDER_PARENT_BEFORE_DEV = 2, + DPM_ORDER_DEV_LAST = 3, +}; + +enum drbg_prefixes { + DRBG_PREFIX0 = 0, + DRBG_PREFIX1 = 1, + DRBG_PREFIX2 = 2, + DRBG_PREFIX3 = 3, +}; + +enum drbg_seed_state { + DRBG_SEED_STATE_UNSEEDED = 0, + DRBG_SEED_STATE_PARTIAL = 1, + DRBG_SEED_STATE_FULL = 2, +}; + +enum drm_bridge_attach_flags { + DRM_BRIDGE_ATTACH_NO_CONNECTOR = 1, +}; + +enum drm_bridge_ops { + DRM_BRIDGE_OP_DETECT = 1, + DRM_BRIDGE_OP_EDID = 2, + DRM_BRIDGE_OP_HPD = 4, + DRM_BRIDGE_OP_MODES = 8, + DRM_BRIDGE_OP_HDMI = 16, + DRM_BRIDGE_OP_HDMI_AUDIO = 32, + DRM_BRIDGE_OP_DP_AUDIO = 64, + DRM_BRIDGE_OP_HDMI_CEC_NOTIFIER = 128, + DRM_BRIDGE_OP_HDMI_CEC_ADAPTER = 256, +}; + +enum drm_bus_flags { + DRM_BUS_FLAG_DE_LOW = 1, + DRM_BUS_FLAG_DE_HIGH = 2, + DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE = 4, + DRM_BUS_FLAG_PIXDATA_DRIVE_NEGEDGE = 8, + DRM_BUS_FLAG_PIXDATA_SAMPLE_POSEDGE = 8, + DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE = 4, + DRM_BUS_FLAG_DATA_MSB_TO_LSB = 16, + DRM_BUS_FLAG_DATA_LSB_TO_MSB = 32, + DRM_BUS_FLAG_SYNC_DRIVE_POSEDGE = 64, + DRM_BUS_FLAG_SYNC_DRIVE_NEGEDGE = 128, + DRM_BUS_FLAG_SYNC_SAMPLE_POSEDGE = 128, + DRM_BUS_FLAG_SYNC_SAMPLE_NEGEDGE = 64, + DRM_BUS_FLAG_SHARP_SIGNALS = 256, +}; + +enum drm_color_encoding { + DRM_COLOR_YCBCR_BT601 = 0, + DRM_COLOR_YCBCR_BT709 = 1, + DRM_COLOR_YCBCR_BT2020 = 2, + DRM_COLOR_ENCODING_MAX = 3, +}; + +enum drm_color_lut_tests { + DRM_COLOR_LUT_EQUAL_CHANNELS = 1, + DRM_COLOR_LUT_NON_DECREASING = 2, +}; + +enum drm_color_range { + DRM_COLOR_YCBCR_LIMITED_RANGE = 0, + DRM_COLOR_YCBCR_FULL_RANGE = 1, + DRM_COLOR_RANGE_MAX = 2, +}; + +enum drm_colorspace { + DRM_MODE_COLORIMETRY_DEFAULT = 0, + DRM_MODE_COLORIMETRY_NO_DATA = 0, + DRM_MODE_COLORIMETRY_SMPTE_170M_YCC = 1, + DRM_MODE_COLORIMETRY_BT709_YCC = 2, + DRM_MODE_COLORIMETRY_XVYCC_601 = 3, + DRM_MODE_COLORIMETRY_XVYCC_709 = 4, + DRM_MODE_COLORIMETRY_SYCC_601 = 5, + DRM_MODE_COLORIMETRY_OPYCC_601 = 6, + DRM_MODE_COLORIMETRY_OPRGB = 7, + DRM_MODE_COLORIMETRY_BT2020_CYCC = 8, + DRM_MODE_COLORIMETRY_BT2020_RGB = 9, + DRM_MODE_COLORIMETRY_BT2020_YCC = 10, + DRM_MODE_COLORIMETRY_DCI_P3_RGB_D65 = 11, + DRM_MODE_COLORIMETRY_DCI_P3_RGB_THEATER = 12, + DRM_MODE_COLORIMETRY_RGB_WIDE_FIXED = 13, + DRM_MODE_COLORIMETRY_RGB_WIDE_FLOAT = 14, + DRM_MODE_COLORIMETRY_BT601_YCC = 15, + DRM_MODE_COLORIMETRY_COUNT = 16, +}; + +enum drm_connector_force { + DRM_FORCE_UNSPECIFIED = 0, + DRM_FORCE_OFF = 1, + DRM_FORCE_ON = 2, + DRM_FORCE_ON_DIGITAL = 3, +}; + +enum drm_connector_registration_state { + DRM_CONNECTOR_INITIALIZING = 0, + DRM_CONNECTOR_REGISTERED = 1, + DRM_CONNECTOR_UNREGISTERED = 2, +}; + +enum drm_connector_status { + connector_status_connected = 1, + connector_status_disconnected = 2, + connector_status_unknown = 3, +}; + +enum drm_connector_tv_mode { + DRM_MODE_TV_MODE_NTSC = 0, + DRM_MODE_TV_MODE_NTSC_443 = 1, + DRM_MODE_TV_MODE_NTSC_J = 2, + DRM_MODE_TV_MODE_PAL = 3, + DRM_MODE_TV_MODE_PAL_M = 4, + DRM_MODE_TV_MODE_PAL_N = 5, + DRM_MODE_TV_MODE_SECAM = 6, + DRM_MODE_TV_MODE_MONOCHROME = 7, + DRM_MODE_TV_MODE_MAX = 8, +}; + +enum drm_debug_category { + DRM_UT_CORE = 0, + DRM_UT_DRIVER = 1, + DRM_UT_KMS = 2, + DRM_UT_PRIME = 3, + DRM_UT_ATOMIC = 4, + DRM_UT_VBL = 5, + DRM_UT_STATE = 6, + DRM_UT_LEASE = 7, + DRM_UT_DP = 8, + DRM_UT_DRMRES = 9, +}; + +enum drm_driver_feature { + DRIVER_GEM = 1, + DRIVER_MODESET = 2, + DRIVER_RENDER = 8, + DRIVER_ATOMIC = 16, + DRIVER_SYNCOBJ = 32, + DRIVER_SYNCOBJ_TIMELINE = 64, + DRIVER_COMPUTE_ACCEL = 128, + DRIVER_GEM_GPUVA = 256, + DRIVER_CURSOR_HOTSPOT = 512, + DRIVER_USE_AGP = 33554432, + DRIVER_LEGACY = 67108864, + DRIVER_PCI_DMA = 134217728, + DRIVER_SG = 268435456, + DRIVER_HAVE_DMA = 536870912, + DRIVER_HAVE_IRQ = 1073741824, +}; + +enum drm_edid_internal_quirk { + EDID_QUIRK_PREFER_LARGE_60 = 1, + EDID_QUIRK_135_CLOCK_TOO_HIGH = 2, + EDID_QUIRK_PREFER_LARGE_75 = 3, + EDID_QUIRK_DETAILED_IN_CM = 4, + EDID_QUIRK_DETAILED_USE_MAXIMUM_SIZE = 5, + EDID_QUIRK_DETAILED_SYNC_PP = 6, + EDID_QUIRK_FORCE_REDUCED_BLANKING = 7, + EDID_QUIRK_FORCE_8BPC = 8, + EDID_QUIRK_FORCE_12BPC = 9, + EDID_QUIRK_FORCE_6BPC = 10, + EDID_QUIRK_FORCE_10BPC = 11, + EDID_QUIRK_NON_DESKTOP = 12, + EDID_QUIRK_CAP_DSC_15BPP = 13, +}; + +enum drm_edid_quirk { + DRM_EDID_QUIRK_DP_DPCD_PROBE = 0, + DRM_EDID_QUIRK_NUM = 1, +}; + +enum drm_gem_object_status { + DRM_GEM_OBJECT_RESIDENT = 1, + DRM_GEM_OBJECT_PURGEABLE = 2, + DRM_GEM_OBJECT_ACTIVE = 4, +}; + +enum drm_gpuva_flags { + DRM_GPUVA_INVALIDATED = 1, + DRM_GPUVA_SPARSE = 2, + DRM_GPUVA_USERBITS = 4, +}; + +enum drm_gpuva_op_type { + DRM_GPUVA_OP_MAP = 0, + DRM_GPUVA_OP_REMAP = 1, + DRM_GPUVA_OP_UNMAP = 2, + DRM_GPUVA_OP_PREFETCH = 3, + DRM_GPUVA_OP_DRIVER = 4, +}; + +enum drm_gpuvm_flags { + DRM_GPUVM_RESV_PROTECTED = 1, + DRM_GPUVM_USERBITS = 2, +}; + +enum drm_hdmi_broadcast_rgb { + DRM_HDMI_BROADCAST_RGB_AUTO = 0, + DRM_HDMI_BROADCAST_RGB_FULL = 1, + DRM_HDMI_BROADCAST_RGB_LIMITED = 2, +}; + +enum drm_ioctl_flags { + DRM_AUTH = 1, + DRM_MASTER = 2, + DRM_ROOT_ONLY = 4, + DRM_RENDER_ALLOW = 32, +}; + +enum drm_link_status { + DRM_LINK_STATUS_GOOD = 0, + DRM_LINK_STATUS_BAD = 1, +}; + +enum drm_minor_type { + DRM_MINOR_PRIMARY = 0, + DRM_MINOR_CONTROL = 1, + DRM_MINOR_RENDER = 2, + DRM_MINOR_ACCEL = 32, +}; + +enum drm_mm_insert_mode { + DRM_MM_INSERT_BEST = 0, + DRM_MM_INSERT_LOW = 1, + DRM_MM_INSERT_HIGH = 2, + DRM_MM_INSERT_EVICT = 3, + DRM_MM_INSERT_ONCE = 2147483648, + DRM_MM_INSERT_HIGHEST = 2147483650, + DRM_MM_INSERT_LOWEST = 2147483649, +}; + +enum drm_mode_analog { + DRM_MODE_ANALOG_NTSC = 0, + DRM_MODE_ANALOG_PAL = 1, +}; + +enum drm_mode_status { + MODE_OK = 0, + MODE_HSYNC = 1, + MODE_VSYNC = 2, + MODE_H_ILLEGAL = 3, + MODE_V_ILLEGAL = 4, + MODE_BAD_WIDTH = 5, + MODE_NOMODE = 6, + MODE_NO_INTERLACE = 7, + MODE_NO_DBLESCAN = 8, + MODE_NO_VSCAN = 9, + MODE_MEM = 10, + MODE_VIRTUAL_X = 11, + MODE_VIRTUAL_Y = 12, + MODE_MEM_VIRT = 13, + MODE_NOCLOCK = 14, + MODE_CLOCK_HIGH = 15, + MODE_CLOCK_LOW = 16, + MODE_CLOCK_RANGE = 17, + MODE_BAD_HVALUE = 18, + MODE_BAD_VVALUE = 19, + MODE_BAD_VSCAN = 20, + MODE_HSYNC_NARROW = 21, + MODE_HSYNC_WIDE = 22, + MODE_HBLANK_NARROW = 23, + MODE_HBLANK_WIDE = 24, + MODE_VSYNC_NARROW = 25, + MODE_VSYNC_WIDE = 26, + MODE_VBLANK_NARROW = 27, + MODE_VBLANK_WIDE = 28, + MODE_PANEL = 29, + MODE_INTERLACE_WIDTH = 30, + MODE_ONE_WIDTH = 31, + MODE_ONE_HEIGHT = 32, + MODE_ONE_SIZE = 33, + MODE_NO_REDUCED = 34, + MODE_NO_STEREO = 35, + MODE_NO_420 = 36, + MODE_STALE = -3, + MODE_BAD = -2, + MODE_ERROR = -1, +}; + +enum drm_mode_subconnector { + DRM_MODE_SUBCONNECTOR_Automatic = 0, + DRM_MODE_SUBCONNECTOR_Unknown = 0, + DRM_MODE_SUBCONNECTOR_VGA = 1, + DRM_MODE_SUBCONNECTOR_DVID = 3, + DRM_MODE_SUBCONNECTOR_DVIA = 4, + DRM_MODE_SUBCONNECTOR_Composite = 5, + DRM_MODE_SUBCONNECTOR_SVIDEO = 6, + DRM_MODE_SUBCONNECTOR_Component = 8, + DRM_MODE_SUBCONNECTOR_SCART = 9, + DRM_MODE_SUBCONNECTOR_DisplayPort = 10, + DRM_MODE_SUBCONNECTOR_HDMIA = 11, + DRM_MODE_SUBCONNECTOR_Native = 15, + DRM_MODE_SUBCONNECTOR_Wireless = 18, +}; + +enum drm_panel_orientation { + DRM_MODE_PANEL_ORIENTATION_UNKNOWN = -1, + DRM_MODE_PANEL_ORIENTATION_NORMAL = 0, + DRM_MODE_PANEL_ORIENTATION_BOTTOM_UP = 1, + DRM_MODE_PANEL_ORIENTATION_LEFT_UP = 2, + DRM_MODE_PANEL_ORIENTATION_RIGHT_UP = 3, +}; + +enum drm_plane_type { + DRM_PLANE_TYPE_OVERLAY = 0, + DRM_PLANE_TYPE_PRIMARY = 1, + DRM_PLANE_TYPE_CURSOR = 2, +}; + +enum drm_privacy_screen_status { + PRIVACY_SCREEN_DISABLED = 0, + PRIVACY_SCREEN_ENABLED = 1, + PRIVACY_SCREEN_DISABLED_LOCKED = 2, + PRIVACY_SCREEN_ENABLED_LOCKED = 3, +}; + +enum drm_scaling_filter { + DRM_SCALING_FILTER_DEFAULT = 0, + DRM_SCALING_FILTER_NEAREST_NEIGHBOR = 1, +}; + +enum drm_stat_type { + _DRM_STAT_LOCK = 0, + _DRM_STAT_OPENS = 1, + _DRM_STAT_CLOSES = 2, + _DRM_STAT_IOCTLS = 3, + _DRM_STAT_LOCKS = 4, + _DRM_STAT_UNLOCKS = 5, + _DRM_STAT_VALUE = 6, + _DRM_STAT_BYTE = 7, + _DRM_STAT_COUNT = 8, + _DRM_STAT_IRQ = 9, + _DRM_STAT_PRIMARY = 10, + _DRM_STAT_SECONDARY = 11, + _DRM_STAT_DMA = 12, + _DRM_STAT_SPECIAL = 13, + _DRM_STAT_MISSED = 14, +}; + +enum drm_vblank_seq_type { + _DRM_VBLANK_ABSOLUTE = 0, + _DRM_VBLANK_RELATIVE = 1, + _DRM_VBLANK_HIGH_CRTC_MASK = 62, + _DRM_VBLANK_EVENT = 67108864, + _DRM_VBLANK_FLIP = 134217728, + _DRM_VBLANK_NEXTONMISS = 268435456, + _DRM_VBLANK_SECONDARY = 536870912, + _DRM_VBLANK_SIGNAL = 1073741824, +}; + +enum dsa_db_type { + DSA_DB_PORT = 0, + DSA_DB_LAG = 1, + DSA_DB_BRIDGE = 2, +}; + +enum dsa_tag_protocol { + DSA_TAG_PROTO_NONE = 0, + DSA_TAG_PROTO_BRCM = 1, + DSA_TAG_PROTO_BRCM_LEGACY = 22, + DSA_TAG_PROTO_BRCM_LEGACY_FCS = 29, + DSA_TAG_PROTO_BRCM_PREPEND = 2, + DSA_TAG_PROTO_DSA = 3, + DSA_TAG_PROTO_EDSA = 4, + DSA_TAG_PROTO_GSWIP = 5, + DSA_TAG_PROTO_KSZ9477 = 6, + DSA_TAG_PROTO_KSZ9893 = 7, + DSA_TAG_PROTO_LAN9303 = 8, + DSA_TAG_PROTO_MTK = 9, + DSA_TAG_PROTO_QCA = 10, + DSA_TAG_PROTO_TRAILER = 11, + DSA_TAG_PROTO_8021Q = 12, + DSA_TAG_PROTO_SJA1105 = 13, + DSA_TAG_PROTO_KSZ8795 = 14, + DSA_TAG_PROTO_OCELOT = 15, + DSA_TAG_PROTO_AR9331 = 16, + DSA_TAG_PROTO_RTL4_A = 17, + DSA_TAG_PROTO_HELLCREEK = 18, + DSA_TAG_PROTO_XRS700X = 19, + DSA_TAG_PROTO_OCELOT_8021Q = 20, + DSA_TAG_PROTO_SEVILLE = 21, + DSA_TAG_PROTO_SJA1110 = 23, + DSA_TAG_PROTO_RTL8_4 = 24, + DSA_TAG_PROTO_RTL8_4T = 25, + DSA_TAG_PROTO_RZN1_A5PSW = 26, + DSA_TAG_PROTO_LAN937X = 27, + DSA_TAG_PROTO_VSC73XX_8021Q = 28, +}; + +enum dw_edma_chip_flags { + DW_EDMA_CHIP_LOCAL = 1, +}; + +enum dw_edma_map_format { + EDMA_MF_EDMA_LEGACY = 0, + EDMA_MF_EDMA_UNROLL = 1, + EDMA_MF_HDMA_COMPAT = 5, + EDMA_MF_HDMA_NATIVE = 7, +}; + +enum dw_pcie_app_clk { + DW_PCIE_DBI_CLK = 0, + DW_PCIE_MSTR_CLK = 1, + DW_PCIE_SLV_CLK = 2, + DW_PCIE_NUM_APP_CLKS = 3, +}; + +enum dw_pcie_app_rst { + DW_PCIE_DBI_RST = 0, + DW_PCIE_MSTR_RST = 1, + DW_PCIE_SLV_RST = 2, + DW_PCIE_NUM_APP_RSTS = 3, +}; + +enum dw_pcie_core_clk { + DW_PCIE_PIPE_CLK = 0, + DW_PCIE_CORE_CLK = 1, + DW_PCIE_AUX_CLK = 2, + DW_PCIE_REF_CLK = 3, + DW_PCIE_NUM_CORE_CLKS = 4, +}; + +enum dw_pcie_core_rst { + DW_PCIE_NON_STICKY_RST = 0, + DW_PCIE_STICKY_RST = 1, + DW_PCIE_CORE_RST = 2, + DW_PCIE_PIPE_RST = 3, + DW_PCIE_PHY_RST = 4, + DW_PCIE_HOT_RST = 5, + DW_PCIE_PWR_RST = 6, + DW_PCIE_NUM_CORE_RSTS = 7, +}; + +enum dw_pcie_device_mode { + DW_PCIE_UNKNOWN_TYPE = 0, + DW_PCIE_EP_TYPE = 1, + DW_PCIE_LEG_EP_TYPE = 2, + DW_PCIE_RC_TYPE = 3, +}; + +enum dw_pcie_ltssm { + DW_PCIE_LTSSM_DETECT_QUIET = 0, + DW_PCIE_LTSSM_DETECT_ACT = 1, + DW_PCIE_LTSSM_POLL_ACTIVE = 2, + DW_PCIE_LTSSM_POLL_COMPLIANCE = 3, + DW_PCIE_LTSSM_POLL_CONFIG = 4, + DW_PCIE_LTSSM_PRE_DETECT_QUIET = 5, + DW_PCIE_LTSSM_DETECT_WAIT = 6, + DW_PCIE_LTSSM_CFG_LINKWD_START = 7, + DW_PCIE_LTSSM_CFG_LINKWD_ACEPT = 8, + DW_PCIE_LTSSM_CFG_LANENUM_WAI = 9, + DW_PCIE_LTSSM_CFG_LANENUM_ACEPT = 10, + DW_PCIE_LTSSM_CFG_COMPLETE = 11, + DW_PCIE_LTSSM_CFG_IDLE = 12, + DW_PCIE_LTSSM_RCVRY_LOCK = 13, + DW_PCIE_LTSSM_RCVRY_SPEED = 14, + DW_PCIE_LTSSM_RCVRY_RCVRCFG = 15, + DW_PCIE_LTSSM_RCVRY_IDLE = 16, + DW_PCIE_LTSSM_L0 = 17, + DW_PCIE_LTSSM_L0S = 18, + DW_PCIE_LTSSM_L123_SEND_EIDLE = 19, + DW_PCIE_LTSSM_L1_IDLE = 20, + DW_PCIE_LTSSM_L2_IDLE = 21, + DW_PCIE_LTSSM_L2_WAKE = 22, + DW_PCIE_LTSSM_DISABLED_ENTRY = 23, + DW_PCIE_LTSSM_DISABLED_IDLE = 24, + DW_PCIE_LTSSM_DISABLED = 25, + DW_PCIE_LTSSM_LPBK_ENTRY = 26, + DW_PCIE_LTSSM_LPBK_ACTIVE = 27, + DW_PCIE_LTSSM_LPBK_EXIT = 28, + DW_PCIE_LTSSM_LPBK_EXIT_TIMEOUT = 29, + DW_PCIE_LTSSM_HOT_RESET_ENTRY = 30, + DW_PCIE_LTSSM_HOT_RESET = 31, + DW_PCIE_LTSSM_RCVRY_EQ0 = 32, + DW_PCIE_LTSSM_RCVRY_EQ1 = 33, + DW_PCIE_LTSSM_RCVRY_EQ2 = 34, + DW_PCIE_LTSSM_RCVRY_EQ3 = 35, + DW_PCIE_LTSSM_UNKNOWN = 4294967295, +}; + +enum dwc2_control_phase { + DWC2_CONTROL_SETUP = 0, + DWC2_CONTROL_DATA = 1, + DWC2_CONTROL_STATUS = 2, +}; + +enum dwc2_halt_status { + DWC2_HC_XFER_NO_HALT_STATUS = 0, + DWC2_HC_XFER_COMPLETE = 1, + DWC2_HC_XFER_URB_COMPLETE = 2, + DWC2_HC_XFER_ACK = 3, + DWC2_HC_XFER_NAK = 4, + DWC2_HC_XFER_NYET = 5, + DWC2_HC_XFER_STALL = 6, + DWC2_HC_XFER_XACT_ERR = 7, + DWC2_HC_XFER_FRAME_OVERRUN = 8, + DWC2_HC_XFER_BABBLE_ERR = 9, + DWC2_HC_XFER_DATA_TOGGLE_ERR = 10, + DWC2_HC_XFER_AHB_ERR = 11, + DWC2_HC_XFER_PERIODIC_INCOMPLETE = 12, + DWC2_HC_XFER_URB_DEQUEUE = 13, +}; + +enum dwc2_hsotg_dmamode { + S3C_HSOTG_DMA_NONE = 0, + S3C_HSOTG_DMA_ONLY = 1, + S3C_HSOTG_DMA_DRV = 2, +}; + +enum dwc2_lx_state { + DWC2_L0 = 0, + DWC2_L1 = 1, + DWC2_L2 = 2, + DWC2_L3 = 3, +}; + +enum dwc2_transaction_type { + DWC2_TRANSACTION_NONE = 0, + DWC2_TRANSACTION_PERIODIC = 1, + DWC2_TRANSACTION_NON_PERIODIC = 2, + DWC2_TRANSACTION_ALL = 3, +}; + +enum dynevent_type { + DYNEVENT_TYPE_SYNTH = 1, + DYNEVENT_TYPE_KPROBE = 2, + DYNEVENT_TYPE_NONE = 3, +}; + +enum e820_type { + E820_TYPE_RAM = 1, + E820_TYPE_RESERVED = 2, + E820_TYPE_ACPI = 3, + E820_TYPE_NVS = 4, + E820_TYPE_UNUSABLE = 5, + E820_TYPE_PMEM = 7, + E820_TYPE_PRAM = 12, + E820_TYPE_SOFT_RESERVED = 4026531839, +}; + +enum ec_command { + ACPI_EC_COMMAND_READ = 128, + ACPI_EC_COMMAND_WRITE = 129, + ACPI_EC_BURST_ENABLE = 130, + ACPI_EC_BURST_DISABLE = 131, + ACPI_EC_COMMAND_QUERY = 132, +}; + +enum ecryptfs_token_types { + ECRYPTFS_PASSWORD = 0, + ECRYPTFS_PRIVATE_KEY = 1, +}; + +enum edac_dev_feat { + RAS_FEAT_SCRUB = 0, + RAS_FEAT_ECS = 1, + RAS_FEAT_MEM_REPAIR = 2, + RAS_FEAT_MAX = 3, +}; + +enum edac_ecs_attributes { + ECS_LOG_ENTRY_TYPE = 0, + ECS_MODE = 1, + ECS_RESET = 2, + ECS_THRESHOLD = 3, + ECS_MAX_ATTRS = 4, +}; + +enum edac_mc_layer_type { + EDAC_MC_LAYER_BRANCH = 0, + EDAC_MC_LAYER_CHANNEL = 1, + EDAC_MC_LAYER_SLOT = 2, + EDAC_MC_LAYER_CHIP_SELECT = 3, + EDAC_MC_LAYER_ALL_MEM = 4, +}; + +enum edac_mem_repair_attributes { + MR_TYPE = 0, + MR_PERSIST_MODE = 1, + MR_SAFE_IN_USE = 2, + MR_HPA = 3, + MR_MIN_HPA = 4, + MR_MAX_HPA = 5, + MR_DPA = 6, + MR_MIN_DPA = 7, + MR_MAX_DPA = 8, + MR_NIBBLE_MASK = 9, + MR_BANK_GROUP = 10, + MR_BANK = 11, + MR_RANK = 12, + MR_ROW = 13, + MR_COLUMN = 14, + MR_CHANNEL = 15, + MR_SUB_CHANNEL = 16, + MEM_DO_REPAIR = 17, + MR_MAX_ATTRS = 18, +}; + +enum edac_mem_repair_type { + EDAC_REPAIR_PPR = 0, + EDAC_REPAIR_CACHELINE_SPARING = 1, + EDAC_REPAIR_ROW_SPARING = 2, + EDAC_REPAIR_BANK_SPARING = 3, + EDAC_REPAIR_RANK_SPARING = 4, + EDAC_REPAIR_MAX = 5, +}; + +enum edac_scrub_attributes { + SCRUB_ADDRESS = 0, + SCRUB_SIZE = 1, + SCRUB_ENABLE_BACKGROUND = 2, + SCRUB_MIN_CYCLE_DURATION = 3, + SCRUB_MAX_CYCLE_DURATION = 4, + SCRUB_CUR_CYCLE_DURATION = 5, + SCRUB_MAX_ATTRS = 6, +}; + +enum edac_type { + EDAC_UNKNOWN = 0, + EDAC_NONE = 1, + EDAC_RESERVED = 2, + EDAC_PARITY = 3, + EDAC_EC = 4, + EDAC_SECDED = 5, + EDAC_S2ECD2ED = 6, + EDAC_S4ECD4ED = 7, + EDAC_S8ECD8ED = 8, + EDAC_S16ECD16ED = 9, +}; + +enum edid_block_status { + EDID_BLOCK_OK = 0, + EDID_BLOCK_READ_FAIL = 1, + EDID_BLOCK_NULL = 2, + EDID_BLOCK_ZERO = 3, + EDID_BLOCK_HEADER_CORRUPT = 4, + EDID_BLOCK_HEADER_REPAIR = 5, + EDID_BLOCK_HEADER_FIXED = 6, + EDID_BLOCK_CHECKSUM = 7, + EDID_BLOCK_VERSION = 8, +}; + +enum efi_rts_ids { + EFI_NONE = 0, + EFI_GET_TIME = 1, + EFI_SET_TIME = 2, + EFI_GET_WAKEUP_TIME = 3, + EFI_SET_WAKEUP_TIME = 4, + EFI_GET_VARIABLE = 5, + EFI_GET_NEXT_VARIABLE = 6, + EFI_SET_VARIABLE = 7, + EFI_QUERY_VARIABLE_INFO = 8, + EFI_GET_NEXT_HIGH_MONO_COUNT = 9, + EFI_RESET_SYSTEM = 10, + EFI_UPDATE_CAPSULE = 11, + EFI_QUERY_CAPSULE_CAPS = 12, + EFI_ACPI_PRM_HANDLER = 13, +}; + +enum efi_secureboot_mode { + efi_secureboot_mode_unset = 0, + efi_secureboot_mode_unknown = 1, + efi_secureboot_mode_disabled = 2, + efi_secureboot_mode_enabled = 3, +}; + +enum ehci_hrtimer_event { + EHCI_HRTIMER_POLL_ASS = 0, + EHCI_HRTIMER_POLL_PSS = 1, + EHCI_HRTIMER_POLL_DEAD = 2, + EHCI_HRTIMER_UNLINK_INTR = 3, + EHCI_HRTIMER_FREE_ITDS = 4, + EHCI_HRTIMER_ACTIVE_UNLINK = 5, + EHCI_HRTIMER_START_UNLINK_INTR = 6, + EHCI_HRTIMER_ASYNC_UNLINKS = 7, + EHCI_HRTIMER_IAA_WATCHDOG = 8, + EHCI_HRTIMER_DISABLE_PERIODIC = 9, + EHCI_HRTIMER_DISABLE_ASYNC = 10, + EHCI_HRTIMER_IO_WATCHDOG = 11, + EHCI_HRTIMER_NUM_EVENTS = 12, +}; + +enum ehci_rh_state { + EHCI_RH_HALTED = 0, + EHCI_RH_SUSPENDED = 1, + EHCI_RH_RUNNING = 2, + EHCI_RH_STOPPING = 3, +}; + +enum elants_chip_id { + EKTH3500 = 0, + EKTF3624 = 1, +}; + +enum elants_iap_mode { + ELAN_IAP_OPERATIONAL = 0, + ELAN_IAP_RECOVERY = 1, +}; + +enum elants_state { + ELAN_STATE_NORMAL = 0, + ELAN_WAIT_QUEUE_HEADER = 1, + ELAN_WAIT_RECALIBRATION = 2, +}; + +enum elv_merge { + ELEVATOR_NO_MERGE = 0, + ELEVATOR_FRONT_MERGE = 1, + ELEVATOR_BACK_MERGE = 2, + ELEVATOR_DISCARD_MERGE = 3, +}; + +enum enable_type { + undefined = -1, + user_disabled = 0, + auto_disabled = 1, + user_enabled = 2, + auto_enabled = 3, +}; + +enum energy_perf_value_index { + EPB_INDEX_PERFORMANCE = 0, + EPB_INDEX_BALANCE_PERFORMANCE = 1, + EPB_INDEX_NORMAL = 2, + EPB_INDEX_BALANCE_POWERSAVE = 3, + EPB_INDEX_POWERSAVE = 4, +}; + +enum energy_perf_value_index___2 { + EPP_INDEX_DEFAULT = 0, + EPP_INDEX_PERFORMANCE = 1, + EPP_INDEX_BALANCE_PERFORMANCE = 2, + EPP_INDEX_BALANCE_POWERSAVE = 3, + EPP_INDEX_POWERSAVE = 4, +}; + +enum environment_cap { + ENVIRON_ANY = 0, + ENVIRON_INDOOR = 1, + ENVIRON_OUTDOOR = 2, +}; + +enum equalization_preset_type { + EQ_PRESET_TYPE_8GTS = 0, + EQ_PRESET_TYPE_16GTS = 1, + EQ_PRESET_TYPE_32GTS = 2, + EQ_PRESET_TYPE_64GTS = 3, + EQ_PRESET_TYPE_MAX = 4, +}; + +enum err_types { + ERR_TYPE_CACHE = 0, + ERR_TYPE_TLB = 1, + ERR_TYPE_BUS = 2, + ERR_TYPE_MS = 3, + N_ERR_TYPES = 4, +}; + +enum error_detector { + ERROR_DETECTOR_KFENCE = 0, + ERROR_DETECTOR_KASAN = 1, + ERROR_DETECTOR_WARN = 2, +}; + +enum es_result { + ES_OK = 0, + ES_UNSUPPORTED = 1, + ES_VMM_ERROR = 2, + ES_DECODE_FAILED = 3, + ES_EXCEPTION = 4, + ES_RETRY = 5, +}; + +enum ethnl_sock_type { + ETHTOOL_SOCK_TYPE_MODULE_FW_FLASH = 0, +}; + +enum ethtool_c33_pse_admin_state { + ETHTOOL_C33_PSE_ADMIN_STATE_UNKNOWN = 1, + ETHTOOL_C33_PSE_ADMIN_STATE_DISABLED = 2, + ETHTOOL_C33_PSE_ADMIN_STATE_ENABLED = 3, +}; + +enum ethtool_c33_pse_ext_state { + ETHTOOL_C33_PSE_EXT_STATE_ERROR_CONDITION = 1, + ETHTOOL_C33_PSE_EXT_STATE_MR_MPS_VALID = 2, + ETHTOOL_C33_PSE_EXT_STATE_MR_PSE_ENABLE = 3, + ETHTOOL_C33_PSE_EXT_STATE_OPTION_DETECT_TED = 4, + ETHTOOL_C33_PSE_EXT_STATE_OPTION_VPORT_LIM = 5, + ETHTOOL_C33_PSE_EXT_STATE_OVLD_DETECTED = 6, + ETHTOOL_C33_PSE_EXT_STATE_PD_DLL_POWER_TYPE = 7, + ETHTOOL_C33_PSE_EXT_STATE_POWER_NOT_AVAILABLE = 8, + ETHTOOL_C33_PSE_EXT_STATE_SHORT_DETECTED = 9, +}; + +enum ethtool_c33_pse_ext_substate_error_condition { + ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_NON_EXISTING_PORT = 1, + ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNDEFINED_PORT = 2, + ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_INTERNAL_HW_FAULT = 3, + ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_COMM_ERROR_AFTER_FORCE_ON = 4, + ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNKNOWN_PORT_STATUS = 5, + ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_TURN_OFF = 6, + ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_FORCE_SHUTDOWN = 7, + ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_CONFIG_CHANGE = 8, + ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_DETECTED_OVER_TEMP = 9, +}; + +enum ethtool_c33_pse_ext_substate_mr_pse_enable { + ETHTOOL_C33_PSE_EXT_SUBSTATE_MR_PSE_ENABLE_DISABLE_PIN_ACTIVE = 1, +}; + +enum ethtool_c33_pse_ext_substate_option_detect_ted { + ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_DET_IN_PROCESS = 1, + ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_CONNECTION_CHECK_ERROR = 2, +}; + +enum ethtool_c33_pse_ext_substate_option_vport_lim { + ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_HIGH_VOLTAGE = 1, + ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_LOW_VOLTAGE = 2, + ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_VOLTAGE_INJECTION = 3, +}; + +enum ethtool_c33_pse_ext_substate_ovld_detected { + ETHTOOL_C33_PSE_EXT_SUBSTATE_OVLD_DETECTED_OVERLOAD = 1, +}; + +enum ethtool_c33_pse_ext_substate_power_not_available { + ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_BUDGET_EXCEEDED = 1, + ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_PORT_PW_LIMIT_EXCEEDS_CONTROLLER_BUDGET = 2, + ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_PD_REQUEST_EXCEEDS_PORT_LIMIT = 3, + ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_HW_PW_LIMIT = 4, +}; + +enum ethtool_c33_pse_ext_substate_short_detected { + ETHTOOL_C33_PSE_EXT_SUBSTATE_SHORT_DETECTED_SHORT_CONDITION = 1, +}; + +enum ethtool_c33_pse_pw_d_status { + ETHTOOL_C33_PSE_PW_D_STATUS_UNKNOWN = 1, + ETHTOOL_C33_PSE_PW_D_STATUS_DISABLED = 2, + ETHTOOL_C33_PSE_PW_D_STATUS_SEARCHING = 3, + ETHTOOL_C33_PSE_PW_D_STATUS_DELIVERING = 4, + ETHTOOL_C33_PSE_PW_D_STATUS_TEST = 5, + ETHTOOL_C33_PSE_PW_D_STATUS_FAULT = 6, + ETHTOOL_C33_PSE_PW_D_STATUS_OTHERFAULT = 7, +}; + +enum ethtool_cmis_cdb_cmd_id { + ETHTOOL_CMIS_CDB_CMD_QUERY_STATUS = 0, + ETHTOOL_CMIS_CDB_CMD_MODULE_FEATURES = 64, + ETHTOOL_CMIS_CDB_CMD_FW_MANAGMENT_FEATURES = 65, + ETHTOOL_CMIS_CDB_CMD_START_FW_DOWNLOAD = 257, + ETHTOOL_CMIS_CDB_CMD_WRITE_FW_BLOCK_LPL = 259, + ETHTOOL_CMIS_CDB_CMD_WRITE_FW_BLOCK_EPL = 260, + ETHTOOL_CMIS_CDB_CMD_COMPLETE_FW_DOWNLOAD = 263, + ETHTOOL_CMIS_CDB_CMD_RUN_FW_IMAGE = 265, + ETHTOOL_CMIS_CDB_CMD_COMMIT_FW_IMAGE = 266, +}; + +enum ethtool_fec_config_bits { + ETHTOOL_FEC_NONE_BIT = 0, + ETHTOOL_FEC_AUTO_BIT = 1, + ETHTOOL_FEC_OFF_BIT = 2, + ETHTOOL_FEC_RS_BIT = 3, + ETHTOOL_FEC_BASER_BIT = 4, + ETHTOOL_FEC_LLRS_BIT = 5, +}; + +enum ethtool_flags { + ETH_FLAG_TXVLAN = 128, + ETH_FLAG_RXVLAN = 256, + ETH_FLAG_LRO = 32768, + ETH_FLAG_NTUPLE = 134217728, + ETH_FLAG_RXHASH = 268435456, +}; + +enum ethtool_header_flags { + ETHTOOL_FLAG_COMPACT_BITSETS = 1, + ETHTOOL_FLAG_OMIT_REPLY = 2, + ETHTOOL_FLAG_STATS = 4, +}; + +enum ethtool_link_ext_state { + ETHTOOL_LINK_EXT_STATE_AUTONEG = 0, + ETHTOOL_LINK_EXT_STATE_LINK_TRAINING_FAILURE = 1, + ETHTOOL_LINK_EXT_STATE_LINK_LOGICAL_MISMATCH = 2, + ETHTOOL_LINK_EXT_STATE_BAD_SIGNAL_INTEGRITY = 3, + ETHTOOL_LINK_EXT_STATE_NO_CABLE = 4, + ETHTOOL_LINK_EXT_STATE_CABLE_ISSUE = 5, + ETHTOOL_LINK_EXT_STATE_EEPROM_ISSUE = 6, + ETHTOOL_LINK_EXT_STATE_CALIBRATION_FAILURE = 7, + ETHTOOL_LINK_EXT_STATE_POWER_BUDGET_EXCEEDED = 8, + ETHTOOL_LINK_EXT_STATE_OVERHEAT = 9, + ETHTOOL_LINK_EXT_STATE_MODULE = 10, +}; + +enum ethtool_link_ext_substate_autoneg { + ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED = 1, + ETHTOOL_LINK_EXT_SUBSTATE_AN_ACK_NOT_RECEIVED = 2, + ETHTOOL_LINK_EXT_SUBSTATE_AN_NEXT_PAGE_EXCHANGE_FAILED = 3, + ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED_FORCE_MODE = 4, + ETHTOOL_LINK_EXT_SUBSTATE_AN_FEC_MISMATCH_DURING_OVERRIDE = 5, + ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_HCD = 6, +}; + +enum ethtool_link_ext_substate_bad_signal_integrity { + ETHTOOL_LINK_EXT_SUBSTATE_BSI_LARGE_NUMBER_OF_PHYSICAL_ERRORS = 1, + ETHTOOL_LINK_EXT_SUBSTATE_BSI_UNSUPPORTED_RATE = 2, + ETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_REFERENCE_CLOCK_LOST = 3, + ETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_ALOS = 4, +}; + +enum ethtool_link_ext_substate_cable_issue { + ETHTOOL_LINK_EXT_SUBSTATE_CI_UNSUPPORTED_CABLE = 1, + ETHTOOL_LINK_EXT_SUBSTATE_CI_CABLE_TEST_FAILURE = 2, +}; + +enum ethtool_link_ext_substate_link_logical_mismatch { + ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_ACQUIRE_BLOCK_LOCK = 1, + ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_ACQUIRE_AM_LOCK = 2, + ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_GET_ALIGN_STATUS = 3, + ETHTOOL_LINK_EXT_SUBSTATE_LLM_FC_FEC_IS_NOT_LOCKED = 4, + ETHTOOL_LINK_EXT_SUBSTATE_LLM_RS_FEC_IS_NOT_LOCKED = 5, +}; + +enum ethtool_link_ext_substate_link_training { + ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_FRAME_LOCK_NOT_ACQUIRED = 1, + ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_LINK_INHIBIT_TIMEOUT = 2, + ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_LINK_PARTNER_DID_NOT_SET_RECEIVER_READY = 3, + ETHTOOL_LINK_EXT_SUBSTATE_LT_REMOTE_FAULT = 4, +}; + +enum ethtool_link_ext_substate_module { + ETHTOOL_LINK_EXT_SUBSTATE_MODULE_CMIS_NOT_READY = 1, +}; + +enum ethtool_link_mode_bit_indices { + ETHTOOL_LINK_MODE_10baseT_Half_BIT = 0, + ETHTOOL_LINK_MODE_10baseT_Full_BIT = 1, + ETHTOOL_LINK_MODE_100baseT_Half_BIT = 2, + ETHTOOL_LINK_MODE_100baseT_Full_BIT = 3, + ETHTOOL_LINK_MODE_1000baseT_Half_BIT = 4, + ETHTOOL_LINK_MODE_1000baseT_Full_BIT = 5, + ETHTOOL_LINK_MODE_Autoneg_BIT = 6, + ETHTOOL_LINK_MODE_TP_BIT = 7, + ETHTOOL_LINK_MODE_AUI_BIT = 8, + ETHTOOL_LINK_MODE_MII_BIT = 9, + ETHTOOL_LINK_MODE_FIBRE_BIT = 10, + ETHTOOL_LINK_MODE_BNC_BIT = 11, + ETHTOOL_LINK_MODE_10000baseT_Full_BIT = 12, + ETHTOOL_LINK_MODE_Pause_BIT = 13, + ETHTOOL_LINK_MODE_Asym_Pause_BIT = 14, + ETHTOOL_LINK_MODE_2500baseX_Full_BIT = 15, + ETHTOOL_LINK_MODE_Backplane_BIT = 16, + ETHTOOL_LINK_MODE_1000baseKX_Full_BIT = 17, + ETHTOOL_LINK_MODE_10000baseKX4_Full_BIT = 18, + ETHTOOL_LINK_MODE_10000baseKR_Full_BIT = 19, + ETHTOOL_LINK_MODE_10000baseR_FEC_BIT = 20, + ETHTOOL_LINK_MODE_20000baseMLD2_Full_BIT = 21, + ETHTOOL_LINK_MODE_20000baseKR2_Full_BIT = 22, + ETHTOOL_LINK_MODE_40000baseKR4_Full_BIT = 23, + ETHTOOL_LINK_MODE_40000baseCR4_Full_BIT = 24, + ETHTOOL_LINK_MODE_40000baseSR4_Full_BIT = 25, + ETHTOOL_LINK_MODE_40000baseLR4_Full_BIT = 26, + ETHTOOL_LINK_MODE_56000baseKR4_Full_BIT = 27, + ETHTOOL_LINK_MODE_56000baseCR4_Full_BIT = 28, + ETHTOOL_LINK_MODE_56000baseSR4_Full_BIT = 29, + ETHTOOL_LINK_MODE_56000baseLR4_Full_BIT = 30, + ETHTOOL_LINK_MODE_25000baseCR_Full_BIT = 31, + ETHTOOL_LINK_MODE_25000baseKR_Full_BIT = 32, + ETHTOOL_LINK_MODE_25000baseSR_Full_BIT = 33, + ETHTOOL_LINK_MODE_50000baseCR2_Full_BIT = 34, + ETHTOOL_LINK_MODE_50000baseKR2_Full_BIT = 35, + ETHTOOL_LINK_MODE_100000baseKR4_Full_BIT = 36, + ETHTOOL_LINK_MODE_100000baseSR4_Full_BIT = 37, + ETHTOOL_LINK_MODE_100000baseCR4_Full_BIT = 38, + ETHTOOL_LINK_MODE_100000baseLR4_ER4_Full_BIT = 39, + ETHTOOL_LINK_MODE_50000baseSR2_Full_BIT = 40, + ETHTOOL_LINK_MODE_1000baseX_Full_BIT = 41, + ETHTOOL_LINK_MODE_10000baseCR_Full_BIT = 42, + ETHTOOL_LINK_MODE_10000baseSR_Full_BIT = 43, + ETHTOOL_LINK_MODE_10000baseLR_Full_BIT = 44, + ETHTOOL_LINK_MODE_10000baseLRM_Full_BIT = 45, + ETHTOOL_LINK_MODE_10000baseER_Full_BIT = 46, + ETHTOOL_LINK_MODE_2500baseT_Full_BIT = 47, + ETHTOOL_LINK_MODE_5000baseT_Full_BIT = 48, + ETHTOOL_LINK_MODE_FEC_NONE_BIT = 49, + ETHTOOL_LINK_MODE_FEC_RS_BIT = 50, + ETHTOOL_LINK_MODE_FEC_BASER_BIT = 51, + ETHTOOL_LINK_MODE_50000baseKR_Full_BIT = 52, + ETHTOOL_LINK_MODE_50000baseSR_Full_BIT = 53, + ETHTOOL_LINK_MODE_50000baseCR_Full_BIT = 54, + ETHTOOL_LINK_MODE_50000baseLR_ER_FR_Full_BIT = 55, + ETHTOOL_LINK_MODE_50000baseDR_Full_BIT = 56, + ETHTOOL_LINK_MODE_100000baseKR2_Full_BIT = 57, + ETHTOOL_LINK_MODE_100000baseSR2_Full_BIT = 58, + ETHTOOL_LINK_MODE_100000baseCR2_Full_BIT = 59, + ETHTOOL_LINK_MODE_100000baseLR2_ER2_FR2_Full_BIT = 60, + ETHTOOL_LINK_MODE_100000baseDR2_Full_BIT = 61, + ETHTOOL_LINK_MODE_200000baseKR4_Full_BIT = 62, + ETHTOOL_LINK_MODE_200000baseSR4_Full_BIT = 63, + ETHTOOL_LINK_MODE_200000baseLR4_ER4_FR4_Full_BIT = 64, + ETHTOOL_LINK_MODE_200000baseDR4_Full_BIT = 65, + ETHTOOL_LINK_MODE_200000baseCR4_Full_BIT = 66, + ETHTOOL_LINK_MODE_100baseT1_Full_BIT = 67, + ETHTOOL_LINK_MODE_1000baseT1_Full_BIT = 68, + ETHTOOL_LINK_MODE_400000baseKR8_Full_BIT = 69, + ETHTOOL_LINK_MODE_400000baseSR8_Full_BIT = 70, + ETHTOOL_LINK_MODE_400000baseLR8_ER8_FR8_Full_BIT = 71, + ETHTOOL_LINK_MODE_400000baseDR8_Full_BIT = 72, + ETHTOOL_LINK_MODE_400000baseCR8_Full_BIT = 73, + ETHTOOL_LINK_MODE_FEC_LLRS_BIT = 74, + ETHTOOL_LINK_MODE_100000baseKR_Full_BIT = 75, + ETHTOOL_LINK_MODE_100000baseSR_Full_BIT = 76, + ETHTOOL_LINK_MODE_100000baseLR_ER_FR_Full_BIT = 77, + ETHTOOL_LINK_MODE_100000baseCR_Full_BIT = 78, + ETHTOOL_LINK_MODE_100000baseDR_Full_BIT = 79, + ETHTOOL_LINK_MODE_200000baseKR2_Full_BIT = 80, + ETHTOOL_LINK_MODE_200000baseSR2_Full_BIT = 81, + ETHTOOL_LINK_MODE_200000baseLR2_ER2_FR2_Full_BIT = 82, + ETHTOOL_LINK_MODE_200000baseDR2_Full_BIT = 83, + ETHTOOL_LINK_MODE_200000baseCR2_Full_BIT = 84, + ETHTOOL_LINK_MODE_400000baseKR4_Full_BIT = 85, + ETHTOOL_LINK_MODE_400000baseSR4_Full_BIT = 86, + ETHTOOL_LINK_MODE_400000baseLR4_ER4_FR4_Full_BIT = 87, + ETHTOOL_LINK_MODE_400000baseDR4_Full_BIT = 88, + ETHTOOL_LINK_MODE_400000baseCR4_Full_BIT = 89, + ETHTOOL_LINK_MODE_100baseFX_Half_BIT = 90, + ETHTOOL_LINK_MODE_100baseFX_Full_BIT = 91, + ETHTOOL_LINK_MODE_10baseT1L_Full_BIT = 92, + ETHTOOL_LINK_MODE_800000baseCR8_Full_BIT = 93, + ETHTOOL_LINK_MODE_800000baseKR8_Full_BIT = 94, + ETHTOOL_LINK_MODE_800000baseDR8_Full_BIT = 95, + ETHTOOL_LINK_MODE_800000baseDR8_2_Full_BIT = 96, + ETHTOOL_LINK_MODE_800000baseSR8_Full_BIT = 97, + ETHTOOL_LINK_MODE_800000baseVR8_Full_BIT = 98, + ETHTOOL_LINK_MODE_10baseT1S_Full_BIT = 99, + ETHTOOL_LINK_MODE_10baseT1S_Half_BIT = 100, + ETHTOOL_LINK_MODE_10baseT1S_P2MP_Half_BIT = 101, + ETHTOOL_LINK_MODE_10baseT1BRR_Full_BIT = 102, + ETHTOOL_LINK_MODE_200000baseCR_Full_BIT = 103, + ETHTOOL_LINK_MODE_200000baseKR_Full_BIT = 104, + ETHTOOL_LINK_MODE_200000baseDR_Full_BIT = 105, + ETHTOOL_LINK_MODE_200000baseDR_2_Full_BIT = 106, + ETHTOOL_LINK_MODE_200000baseSR_Full_BIT = 107, + ETHTOOL_LINK_MODE_200000baseVR_Full_BIT = 108, + ETHTOOL_LINK_MODE_400000baseCR2_Full_BIT = 109, + ETHTOOL_LINK_MODE_400000baseKR2_Full_BIT = 110, + ETHTOOL_LINK_MODE_400000baseDR2_Full_BIT = 111, + ETHTOOL_LINK_MODE_400000baseDR2_2_Full_BIT = 112, + ETHTOOL_LINK_MODE_400000baseSR2_Full_BIT = 113, + ETHTOOL_LINK_MODE_400000baseVR2_Full_BIT = 114, + ETHTOOL_LINK_MODE_800000baseCR4_Full_BIT = 115, + ETHTOOL_LINK_MODE_800000baseKR4_Full_BIT = 116, + ETHTOOL_LINK_MODE_800000baseDR4_Full_BIT = 117, + ETHTOOL_LINK_MODE_800000baseDR4_2_Full_BIT = 118, + ETHTOOL_LINK_MODE_800000baseSR4_Full_BIT = 119, + ETHTOOL_LINK_MODE_800000baseVR4_Full_BIT = 120, + __ETHTOOL_LINK_MODE_MASK_NBITS = 121, +}; + +enum ethtool_mac_stats_src { + ETHTOOL_MAC_STATS_SRC_AGGREGATE = 0, + ETHTOOL_MAC_STATS_SRC_EMAC = 1, + ETHTOOL_MAC_STATS_SRC_PMAC = 2, +}; + +enum ethtool_mm_verify_status { + ETHTOOL_MM_VERIFY_STATUS_UNKNOWN = 0, + ETHTOOL_MM_VERIFY_STATUS_INITIAL = 1, + ETHTOOL_MM_VERIFY_STATUS_VERIFYING = 2, + ETHTOOL_MM_VERIFY_STATUS_SUCCEEDED = 3, + ETHTOOL_MM_VERIFY_STATUS_FAILED = 4, + ETHTOOL_MM_VERIFY_STATUS_DISABLED = 5, +}; + +enum ethtool_mmsv_event { + ETHTOOL_MMSV_LP_SENT_VERIFY_MPACKET = 0, + ETHTOOL_MMSV_LD_SENT_VERIFY_MPACKET = 1, + ETHTOOL_MMSV_LP_SENT_RESPONSE_MPACKET = 2, +}; + +enum ethtool_module_fw_flash_status { + ETHTOOL_MODULE_FW_FLASH_STATUS_STARTED = 1, + ETHTOOL_MODULE_FW_FLASH_STATUS_IN_PROGRESS = 2, + ETHTOOL_MODULE_FW_FLASH_STATUS_COMPLETED = 3, + ETHTOOL_MODULE_FW_FLASH_STATUS_ERROR = 4, +}; + +enum ethtool_module_power_mode { + ETHTOOL_MODULE_POWER_MODE_LOW = 1, + ETHTOOL_MODULE_POWER_MODE_HIGH = 2, +}; + +enum ethtool_module_power_mode_policy { + ETHTOOL_MODULE_POWER_MODE_POLICY_HIGH = 1, + ETHTOOL_MODULE_POWER_MODE_POLICY_AUTO = 2, +}; + +enum ethtool_mpacket { + ETHTOOL_MPACKET_VERIFY = 0, + ETHTOOL_MPACKET_RESPONSE = 1, +}; + +enum ethtool_multicast_groups { + ETHNL_MCGRP_MONITOR = 0, +}; + +enum ethtool_phys_id_state { + ETHTOOL_ID_INACTIVE = 0, + ETHTOOL_ID_ACTIVE = 1, + ETHTOOL_ID_ON = 2, + ETHTOOL_ID_OFF = 3, +}; + +enum ethtool_podl_pse_admin_state { + ETHTOOL_PODL_PSE_ADMIN_STATE_UNKNOWN = 1, + ETHTOOL_PODL_PSE_ADMIN_STATE_DISABLED = 2, + ETHTOOL_PODL_PSE_ADMIN_STATE_ENABLED = 3, +}; + +enum ethtool_podl_pse_pw_d_status { + ETHTOOL_PODL_PSE_PW_D_STATUS_UNKNOWN = 1, + ETHTOOL_PODL_PSE_PW_D_STATUS_DISABLED = 2, + ETHTOOL_PODL_PSE_PW_D_STATUS_SEARCHING = 3, + ETHTOOL_PODL_PSE_PW_D_STATUS_DELIVERING = 4, + ETHTOOL_PODL_PSE_PW_D_STATUS_SLEEP = 5, + ETHTOOL_PODL_PSE_PW_D_STATUS_IDLE = 6, + ETHTOOL_PODL_PSE_PW_D_STATUS_ERROR = 7, +}; + +enum ethtool_pse_event { + ETHTOOL_PSE_EVENT_OVER_CURRENT = 1, + ETHTOOL_PSE_EVENT_OVER_TEMP = 2, + ETHTOOL_C33_PSE_EVENT_DETECTION = 4, + ETHTOOL_C33_PSE_EVENT_CLASSIFICATION = 8, + ETHTOOL_C33_PSE_EVENT_DISCONNECTION = 16, + ETHTOOL_PSE_EVENT_OVER_BUDGET = 32, + ETHTOOL_PSE_EVENT_SW_PW_CONTROL_ERROR = 64, +}; + +enum ethtool_pse_types { + ETHTOOL_PSE_UNKNOWN = 1, + ETHTOOL_PSE_PODL = 2, + ETHTOOL_PSE_C33 = 4, +}; + +enum ethtool_reset_flags { + ETH_RESET_MGMT = 1, + ETH_RESET_IRQ = 2, + ETH_RESET_DMA = 4, + ETH_RESET_FILTER = 8, + ETH_RESET_OFFLOAD = 16, + ETH_RESET_MAC = 32, + ETH_RESET_PHY = 64, + ETH_RESET_RAM = 128, + ETH_RESET_AP = 256, + ETH_RESET_DEDICATED = 65535, + ETH_RESET_ALL = 4294967295, +}; + +enum ethtool_sfeatures_retval_bits { + ETHTOOL_F_UNSUPPORTED__BIT = 0, + ETHTOOL_F_WISH__BIT = 1, + ETHTOOL_F_COMPAT__BIT = 2, +}; + +enum ethtool_stringset { + ETH_SS_TEST = 0, + ETH_SS_STATS = 1, + ETH_SS_PRIV_FLAGS = 2, + ETH_SS_NTUPLE_FILTERS = 3, + ETH_SS_FEATURES = 4, + ETH_SS_RSS_HASH_FUNCS = 5, + ETH_SS_TUNABLES = 6, + ETH_SS_PHY_STATS = 7, + ETH_SS_PHY_TUNABLES = 8, + ETH_SS_LINK_MODES = 9, + ETH_SS_MSG_CLASSES = 10, + ETH_SS_WOL_MODES = 11, + ETH_SS_SOF_TIMESTAMPING = 12, + ETH_SS_TS_TX_TYPES = 13, + ETH_SS_TS_RX_FILTERS = 14, + ETH_SS_UDP_TUNNEL_TYPES = 15, + ETH_SS_STATS_STD = 16, + ETH_SS_STATS_ETH_PHY = 17, + ETH_SS_STATS_ETH_MAC = 18, + ETH_SS_STATS_ETH_CTRL = 19, + ETH_SS_STATS_RMON = 20, + ETH_SS_STATS_PHY = 21, + ETH_SS_TS_FLAGS = 22, + ETH_SS_COUNT = 23, +}; + +enum ethtool_supported_ring_param { + ETHTOOL_RING_USE_RX_BUF_LEN = 1, + ETHTOOL_RING_USE_CQE_SIZE = 2, + ETHTOOL_RING_USE_TX_PUSH = 4, + ETHTOOL_RING_USE_RX_PUSH = 8, + ETHTOOL_RING_USE_TX_PUSH_BUF_LEN = 16, + ETHTOOL_RING_USE_TCP_DATA_SPLIT = 32, + ETHTOOL_RING_USE_HDS_THRS = 64, +}; + +enum ethtool_tcp_data_split { + ETHTOOL_TCP_DATA_SPLIT_UNKNOWN = 0, + ETHTOOL_TCP_DATA_SPLIT_DISABLED = 1, + ETHTOOL_TCP_DATA_SPLIT_ENABLED = 2, +}; + +enum ethtool_test_flags { + ETH_TEST_FL_OFFLINE = 1, + ETH_TEST_FL_FAILED = 2, + ETH_TEST_FL_EXTERNAL_LB = 4, + ETH_TEST_FL_EXTERNAL_LB_DONE = 8, +}; + +enum event_command_flags { + EVENT_CMD_FL_POST_TRIGGER = 1, + EVENT_CMD_FL_NEEDS_REC = 2, +}; + +enum event_trigger_type { + ETT_NONE = 0, + ETT_TRACE_ONOFF = 1, + ETT_SNAPSHOT = 2, + ETT_STACKTRACE = 4, + ETT_EVENT_ENABLE = 8, + ETT_EVENT_HIST = 16, + ETT_HIST_ENABLE = 32, + ETT_EVENT_EPROBE = 64, +}; + +enum event_type_t { + EVENT_FLEXIBLE = 1, + EVENT_PINNED = 2, + EVENT_TIME = 4, + EVENT_FROZEN = 8, + EVENT_CPU = 16, + EVENT_CGROUP = 32, + EVENT_ALL = 3, + EVENT_TIME_FROZEN = 12, +}; + +enum events_wwnr { + switch_in_wwnr = 0, + switch_out_wwnr = 1, + wakeup_wwnr = 2, + event_max_wwnr = 3, +}; + +enum evm_ima_xattr_type { + IMA_XATTR_DIGEST = 1, + EVM_XATTR_HMAC = 2, + EVM_IMA_XATTR_DIGSIG = 3, + IMA_XATTR_DIGEST_NG = 4, + EVM_XATTR_PORTABLE_DIGSIG = 5, + IMA_VERITY_DIGSIG = 6, + IMA_XATTR_LAST = 7, +}; + +enum evtreturn { + EVT_ERR = -1, + EVT_DONE = 0, + EVT_XFER_DONE = 1, + EVT_GSER = 2, + EVT_DISC = 3, +}; + +enum exact_level { + NOT_EXACT = 0, + EXACT = 1, + RANGE_WITHIN = 2, +}; + +enum exception { + EXCP_CONTEXT = 1, + NO_EXCP = 2, +}; + +enum exception_stack_ordering { + ESTACK_DF = 0, + ESTACK_NMI = 1, + ESTACK_DB = 2, + ESTACK_MCE = 3, + ESTACK_VC = 4, + ESTACK_VC2 = 5, + N_EXCEPTION_STACKS = 6, +}; + +enum execmem_range_flags { + EXECMEM_KASAN_SHADOW = 1, + EXECMEM_ROX_CACHE = 2, +}; + +enum execmem_type { + EXECMEM_DEFAULT = 0, + EXECMEM_MODULE_TEXT = 0, + EXECMEM_KPROBES = 1, + EXECMEM_FTRACE = 2, + EXECMEM_BPF = 3, + EXECMEM_MODULE_DATA = 4, + EXECMEM_TYPE_MAX = 5, +}; + +enum exit_fastpath_completion { + EXIT_FASTPATH_NONE = 0, + EXIT_FASTPATH_REENTER_GUEST = 1, + EXIT_FASTPATH_EXIT_HANDLED = 2, + EXIT_FASTPATH_EXIT_USERSPACE = 3, +}; + +enum ext4_journal_trigger_type { + EXT4_JTR_ORPHAN_FILE = 0, + EXT4_JTR_NONE = 1, +}; + +enum ext4_li_mode { + EXT4_LI_MODE_PREFETCH_BBITMAP = 0, + EXT4_LI_MODE_ITABLE = 1, +}; + +enum extra_reg_type { + EXTRA_REG_NONE = -1, + EXTRA_REG_RSP_0 = 0, + EXTRA_REG_RSP_1 = 1, + EXTRA_REG_LBR = 2, + EXTRA_REG_LDLAT = 3, + EXTRA_REG_FE = 4, + EXTRA_REG_SNOOP_0 = 5, + EXTRA_REG_SNOOP_1 = 6, + EXTRA_REG_MAX = 7, +}; + +enum fail_dup_mod_reason { + FAIL_DUP_MOD_BECOMING = 0, + FAIL_DUP_MOD_LOAD = 1, +}; + +enum fanotify_event_type { + FANOTIFY_EVENT_TYPE_FID = 0, + FANOTIFY_EVENT_TYPE_FID_NAME = 1, + FANOTIFY_EVENT_TYPE_PATH = 2, + FANOTIFY_EVENT_TYPE_PATH_PERM = 3, + FANOTIFY_EVENT_TYPE_OVERFLOW = 4, + FANOTIFY_EVENT_TYPE_FS_ERROR = 5, + FANOTIFY_EVENT_TYPE_MNT = 6, + __FANOTIFY_EVENT_TYPE_NUM = 7, +}; + +enum fault_flag { + FAULT_FLAG_WRITE = 1, + FAULT_FLAG_MKWRITE = 2, + FAULT_FLAG_ALLOW_RETRY = 4, + FAULT_FLAG_RETRY_NOWAIT = 8, + FAULT_FLAG_KILLABLE = 16, + FAULT_FLAG_TRIED = 32, + FAULT_FLAG_USER = 64, + FAULT_FLAG_REMOTE = 128, + FAULT_FLAG_INSTRUCTION = 256, + FAULT_FLAG_INTERRUPTIBLE = 512, + FAULT_FLAG_UNSHARE = 1024, + FAULT_FLAG_ORIG_PTE_VALID = 2048, + FAULT_FLAG_VMA_LOCK = 4096, +}; + +enum faulttype { + DMA_REMAP = 0, + INTR_REMAP = 1, + UNKNOWN = 2, +}; + +enum fbq_type { + regular = 0, + remote = 1, + all = 2, +}; + +enum fetch_op { + FETCH_OP_NOP = 0, + FETCH_OP_REG = 1, + FETCH_OP_STACK = 2, + FETCH_OP_STACKP = 3, + FETCH_OP_RETVAL = 4, + FETCH_OP_IMM = 5, + FETCH_OP_COMM = 6, + FETCH_OP_ARG = 7, + FETCH_OP_FOFFS = 8, + FETCH_OP_DATA = 9, + FETCH_OP_EDATA = 10, + FETCH_OP_DEREF = 11, + FETCH_OP_UDEREF = 12, + FETCH_OP_ST_RAW = 13, + FETCH_OP_ST_MEM = 14, + FETCH_OP_ST_UMEM = 15, + FETCH_OP_ST_STRING = 16, + FETCH_OP_ST_USTRING = 17, + FETCH_OP_ST_SYMSTR = 18, + FETCH_OP_ST_EDATA = 19, + FETCH_OP_MOD_BF = 20, + FETCH_OP_LP_ARRAY = 21, + FETCH_OP_TP_ARG = 22, + FETCH_OP_END = 23, + FETCH_NOP_SYMBOL = 24, +}; + +enum fib6_walk_state { + FWS_S = 0, + FWS_L = 1, + FWS_R = 2, + FWS_C = 3, + FWS_U = 4, +}; + +enum fib_event_type { + FIB_EVENT_ENTRY_REPLACE = 0, + FIB_EVENT_ENTRY_APPEND = 1, + FIB_EVENT_ENTRY_ADD = 2, + FIB_EVENT_ENTRY_DEL = 3, + FIB_EVENT_RULE_ADD = 4, + FIB_EVENT_RULE_DEL = 5, + FIB_EVENT_NH_ADD = 6, + FIB_EVENT_NH_DEL = 7, + FIB_EVENT_VIF_ADD = 8, + FIB_EVENT_VIF_DEL = 9, +}; + +enum fid_type { + FILEID_ROOT = 0, + FILEID_INO32_GEN = 1, + FILEID_INO32_GEN_PARENT = 2, + FILEID_BTRFS_WITHOUT_PARENT = 77, + FILEID_BTRFS_WITH_PARENT = 78, + FILEID_BTRFS_WITH_PARENT_ROOT = 79, + FILEID_UDF_WITHOUT_PARENT = 81, + FILEID_UDF_WITH_PARENT = 82, + FILEID_NILFS_WITHOUT_PARENT = 97, + FILEID_NILFS_WITH_PARENT = 98, + FILEID_FAT_WITHOUT_PARENT = 113, + FILEID_FAT_WITH_PARENT = 114, + FILEID_INO64_GEN = 129, + FILEID_INO64_GEN_PARENT = 130, + FILEID_LUSTRE = 151, + FILEID_BCACHEFS_WITHOUT_PARENT = 177, + FILEID_BCACHEFS_WITH_PARENT = 178, + FILEID_KERNFS = 254, + FILEID_INVALID = 255, +}; + +enum field_op_id { + FIELD_OP_NONE = 0, + FIELD_OP_PLUS = 1, + FIELD_OP_MINUS = 2, + FIELD_OP_UNARY_MINUS = 3, + FIELD_OP_DIV = 4, + FIELD_OP_MULT = 5, +}; + +enum file_time_flags { + S_ATIME = 1, + S_MTIME = 2, + S_CTIME = 4, + S_VERSION = 8, +}; + +enum filter_op_ids { + OP_GLOB = 0, + OP_NE = 1, + OP_EQ = 2, + OP_LE = 3, + OP_LT = 4, + OP_GE = 5, + OP_GT = 6, + OP_BAND = 7, + OP_MAX = 8, +}; + +enum filter_pred_fn { + FILTER_PRED_FN_NOP = 0, + FILTER_PRED_FN_64 = 1, + FILTER_PRED_FN_64_CPUMASK = 2, + FILTER_PRED_FN_S64 = 3, + FILTER_PRED_FN_U64 = 4, + FILTER_PRED_FN_32 = 5, + FILTER_PRED_FN_32_CPUMASK = 6, + FILTER_PRED_FN_S32 = 7, + FILTER_PRED_FN_U32 = 8, + FILTER_PRED_FN_16 = 9, + FILTER_PRED_FN_16_CPUMASK = 10, + FILTER_PRED_FN_S16 = 11, + FILTER_PRED_FN_U16 = 12, + FILTER_PRED_FN_8 = 13, + FILTER_PRED_FN_8_CPUMASK = 14, + FILTER_PRED_FN_S8 = 15, + FILTER_PRED_FN_U8 = 16, + FILTER_PRED_FN_COMM = 17, + FILTER_PRED_FN_STRING = 18, + FILTER_PRED_FN_STRLOC = 19, + FILTER_PRED_FN_STRRELLOC = 20, + FILTER_PRED_FN_PCHAR_USER = 21, + FILTER_PRED_FN_PCHAR = 22, + FILTER_PRED_FN_CPU = 23, + FILTER_PRED_FN_CPU_CPUMASK = 24, + FILTER_PRED_FN_CPUMASK = 25, + FILTER_PRED_FN_CPUMASK_CPU = 26, + FILTER_PRED_FN_FUNCTION = 27, + FILTER_PRED_FN_ = 28, + FILTER_PRED_TEST_VISITED = 29, +}; + +enum fit_type { + NOTHING_FIT = 0, + FL_FIT_TYPE = 1, + LE_FIT_TYPE = 2, + RE_FIT_TYPE = 3, + NE_FIT_TYPE = 4, +}; + +enum fixed_addresses { + VSYSCALL_PAGE = 511, + FIX_DBGP_BASE = 512, + FIX_EARLYCON_MEM_BASE = 513, + FIX_APIC_BASE = 514, + FIX_IO_APIC_BASE_0 = 515, + FIX_IO_APIC_BASE_END = 642, + FIX_PARAVIRT_BOOTMAP = 643, + FIX_APEI_GHES_IRQ = 644, + FIX_APEI_GHES_NMI = 645, + __end_of_permanent_fixed_addresses = 646, + FIX_BTMAP_END = 1024, + FIX_BTMAP_BEGIN = 1535, + FIX_TBOOT_BASE = 1536, + __end_of_fixed_addresses = 1537, +}; + +enum flag_bits { + Faulty = 0, + In_sync = 1, + Bitmap_sync = 2, + WriteMostly = 3, + AutoDetected = 4, + Blocked = 5, + WriteErrorSeen = 6, + FaultRecorded = 7, + BlockedBadBlocks = 8, + WantReplacement = 9, + Replacement = 10, + Candidate = 11, + Journal = 12, + ClusterRemove = 13, + ExternalBbl = 14, + FailFast = 15, + LastDev = 16, + CollisionCheck = 17, + Nonrot = 18, +}; + +enum flow_action_hw_stats { + FLOW_ACTION_HW_STATS_IMMEDIATE = 1, + FLOW_ACTION_HW_STATS_DELAYED = 2, + FLOW_ACTION_HW_STATS_ANY = 3, + FLOW_ACTION_HW_STATS_DISABLED = 4, + FLOW_ACTION_HW_STATS_DONT_CARE = 7, +}; + +enum flow_action_hw_stats_bit { + FLOW_ACTION_HW_STATS_IMMEDIATE_BIT = 0, + FLOW_ACTION_HW_STATS_DELAYED_BIT = 1, + FLOW_ACTION_HW_STATS_DISABLED_BIT = 2, + FLOW_ACTION_HW_STATS_NUM_BITS = 3, +}; + +enum flow_action_id { + FLOW_ACTION_ACCEPT = 0, + FLOW_ACTION_DROP = 1, + FLOW_ACTION_TRAP = 2, + FLOW_ACTION_GOTO = 3, + FLOW_ACTION_REDIRECT = 4, + FLOW_ACTION_MIRRED = 5, + FLOW_ACTION_REDIRECT_INGRESS = 6, + FLOW_ACTION_MIRRED_INGRESS = 7, + FLOW_ACTION_VLAN_PUSH = 8, + FLOW_ACTION_VLAN_POP = 9, + FLOW_ACTION_VLAN_MANGLE = 10, + FLOW_ACTION_TUNNEL_ENCAP = 11, + FLOW_ACTION_TUNNEL_DECAP = 12, + FLOW_ACTION_MANGLE = 13, + FLOW_ACTION_ADD = 14, + FLOW_ACTION_CSUM = 15, + FLOW_ACTION_MARK = 16, + FLOW_ACTION_PTYPE = 17, + FLOW_ACTION_PRIORITY = 18, + FLOW_ACTION_RX_QUEUE_MAPPING = 19, + FLOW_ACTION_WAKE = 20, + FLOW_ACTION_QUEUE = 21, + FLOW_ACTION_SAMPLE = 22, + FLOW_ACTION_POLICE = 23, + FLOW_ACTION_CT = 24, + FLOW_ACTION_CT_METADATA = 25, + FLOW_ACTION_MPLS_PUSH = 26, + FLOW_ACTION_MPLS_POP = 27, + FLOW_ACTION_MPLS_MANGLE = 28, + FLOW_ACTION_GATE = 29, + FLOW_ACTION_PPPOE_PUSH = 30, + FLOW_ACTION_JUMP = 31, + FLOW_ACTION_PIPE = 32, + FLOW_ACTION_VLAN_PUSH_ETH = 33, + FLOW_ACTION_VLAN_POP_ETH = 34, + FLOW_ACTION_CONTINUE = 35, + NUM_FLOW_ACTIONS = 36, +}; + +enum flow_action_mangle_base { + FLOW_ACT_MANGLE_UNSPEC = 0, + FLOW_ACT_MANGLE_HDR_TYPE_ETH = 1, + FLOW_ACT_MANGLE_HDR_TYPE_IP4 = 2, + FLOW_ACT_MANGLE_HDR_TYPE_IP6 = 3, + FLOW_ACT_MANGLE_HDR_TYPE_TCP = 4, + FLOW_ACT_MANGLE_HDR_TYPE_UDP = 5, +}; + +enum flow_block_binder_type { + FLOW_BLOCK_BINDER_TYPE_UNSPEC = 0, + FLOW_BLOCK_BINDER_TYPE_CLSACT_INGRESS = 1, + FLOW_BLOCK_BINDER_TYPE_CLSACT_EGRESS = 2, + FLOW_BLOCK_BINDER_TYPE_RED_EARLY_DROP = 3, + FLOW_BLOCK_BINDER_TYPE_RED_MARK = 4, +}; + +enum flow_block_command { + FLOW_BLOCK_BIND = 0, + FLOW_BLOCK_UNBIND = 1, +}; + +enum flow_cls_command { + FLOW_CLS_REPLACE = 0, + FLOW_CLS_DESTROY = 1, + FLOW_CLS_STATS = 2, + FLOW_CLS_TMPLT_CREATE = 3, + FLOW_CLS_TMPLT_DESTROY = 4, +}; + +enum flow_dissect_ret { + FLOW_DISSECT_RET_OUT_GOOD = 0, + FLOW_DISSECT_RET_OUT_BAD = 1, + FLOW_DISSECT_RET_PROTO_AGAIN = 2, + FLOW_DISSECT_RET_IPPROTO_AGAIN = 3, + FLOW_DISSECT_RET_CONTINUE = 4, +}; + +enum flow_dissector_ctrl_flags { + FLOW_DIS_IS_FRAGMENT = 1, + FLOW_DIS_FIRST_FRAG = 2, + FLOW_DIS_F_TUNNEL_CSUM = 4, + FLOW_DIS_F_TUNNEL_DONT_FRAGMENT = 8, + FLOW_DIS_F_TUNNEL_OAM = 16, + FLOW_DIS_F_TUNNEL_CRIT_OPT = 32, + FLOW_DIS_ENCAPSULATION = 64, +}; + +enum flow_dissector_key_id { + FLOW_DISSECTOR_KEY_CONTROL = 0, + FLOW_DISSECTOR_KEY_BASIC = 1, + FLOW_DISSECTOR_KEY_IPV4_ADDRS = 2, + FLOW_DISSECTOR_KEY_IPV6_ADDRS = 3, + FLOW_DISSECTOR_KEY_PORTS = 4, + FLOW_DISSECTOR_KEY_PORTS_RANGE = 5, + FLOW_DISSECTOR_KEY_ICMP = 6, + FLOW_DISSECTOR_KEY_ETH_ADDRS = 7, + FLOW_DISSECTOR_KEY_TIPC = 8, + FLOW_DISSECTOR_KEY_ARP = 9, + FLOW_DISSECTOR_KEY_VLAN = 10, + FLOW_DISSECTOR_KEY_FLOW_LABEL = 11, + FLOW_DISSECTOR_KEY_GRE_KEYID = 12, + FLOW_DISSECTOR_KEY_MPLS_ENTROPY = 13, + FLOW_DISSECTOR_KEY_ENC_KEYID = 14, + FLOW_DISSECTOR_KEY_ENC_IPV4_ADDRS = 15, + FLOW_DISSECTOR_KEY_ENC_IPV6_ADDRS = 16, + FLOW_DISSECTOR_KEY_ENC_CONTROL = 17, + FLOW_DISSECTOR_KEY_ENC_PORTS = 18, + FLOW_DISSECTOR_KEY_MPLS = 19, + FLOW_DISSECTOR_KEY_TCP = 20, + FLOW_DISSECTOR_KEY_IP = 21, + FLOW_DISSECTOR_KEY_CVLAN = 22, + FLOW_DISSECTOR_KEY_ENC_IP = 23, + FLOW_DISSECTOR_KEY_ENC_OPTS = 24, + FLOW_DISSECTOR_KEY_META = 25, + FLOW_DISSECTOR_KEY_CT = 26, + FLOW_DISSECTOR_KEY_HASH = 27, + FLOW_DISSECTOR_KEY_NUM_OF_VLANS = 28, + FLOW_DISSECTOR_KEY_PPPOE = 29, + FLOW_DISSECTOR_KEY_L2TPV3 = 30, + FLOW_DISSECTOR_KEY_CFM = 31, + FLOW_DISSECTOR_KEY_IPSEC = 32, + FLOW_DISSECTOR_KEY_MAX = 33, +}; + +enum flowlabel_reflect { + FLOWLABEL_REFLECT_ESTABLISHED = 1, + FLOWLABEL_REFLECT_TCP_RESET = 2, + FLOWLABEL_REFLECT_ICMPV6_ECHO_REPLIES = 4, +}; + +enum folio_references { + FOLIOREF_RECLAIM = 0, + FOLIOREF_RECLAIM_CLEAN = 1, + FOLIOREF_KEEP = 2, + FOLIOREF_ACTIVATE = 3, +}; + +enum folio_walk_level { + FW_LEVEL_PTE = 0, + FW_LEVEL_PMD = 1, + FW_LEVEL_PUD = 2, +}; + +enum format_state { + FORMAT_STATE_NONE = 0, + FORMAT_STATE_NUM = 1, + FORMAT_STATE_WIDTH = 2, + FORMAT_STATE_PRECISION = 3, + FORMAT_STATE_CHAR = 4, + FORMAT_STATE_STR = 5, + FORMAT_STATE_PTR = 6, + FORMAT_STATE_PERCENT_CHAR = 7, + FORMAT_STATE_INVALID = 8, +}; + +enum fortify_func { + FORTIFY_FUNC_strncpy = 0, + FORTIFY_FUNC_strnlen = 1, + FORTIFY_FUNC_strlen = 2, + FORTIFY_FUNC_strscpy = 3, + FORTIFY_FUNC_strlcat = 4, + FORTIFY_FUNC_strcat = 5, + FORTIFY_FUNC_strncat = 6, + FORTIFY_FUNC_memset = 7, + FORTIFY_FUNC_memcpy = 8, + FORTIFY_FUNC_memmove = 9, + FORTIFY_FUNC_memscan = 10, + FORTIFY_FUNC_memcmp = 11, + FORTIFY_FUNC_memchr = 12, + FORTIFY_FUNC_memchr_inv = 13, + FORTIFY_FUNC_kmemdup = 14, + FORTIFY_FUNC_strcpy = 15, + FORTIFY_FUNC_UNKNOWN = 16, +}; + +enum fpdt_record_type { + RECORD_S3_RESUME = 0, + RECORD_S3_SUSPEND = 1, + RECORD_BOOT = 2, +}; + +enum fpdt_subtable_type { + SUBTABLE_FBPT = 0, + SUBTABLE_S3PT = 1, +}; + +enum freeze_holder { + FREEZE_HOLDER_KERNEL = 1, + FREEZE_HOLDER_USERSPACE = 2, + FREEZE_MAY_NEST = 4, + FREEZE_EXCL = 8, +}; + +enum freezer_state_flags { + CGROUP_FREEZER_ONLINE = 1, + CGROUP_FREEZING_SELF = 2, + CGROUP_FREEZING_PARENT = 4, + CGROUP_FROZEN = 8, + CGROUP_FREEZING = 6, +}; + +enum freq_qos_req_type { + FREQ_QOS_MIN = 1, + FREQ_QOS_MAX = 2, +}; + +enum fs_context_phase { + FS_CONTEXT_CREATE_PARAMS = 0, + FS_CONTEXT_CREATING = 1, + FS_CONTEXT_AWAITING_MOUNT = 2, + FS_CONTEXT_AWAITING_RECONF = 3, + FS_CONTEXT_RECONF_PARAMS = 4, + FS_CONTEXT_RECONFIGURING = 5, + FS_CONTEXT_FAILED = 6, +}; + +enum fs_context_purpose { + FS_CONTEXT_FOR_MOUNT = 0, + FS_CONTEXT_FOR_SUBMOUNT = 1, + FS_CONTEXT_FOR_RECONFIGURE = 2, +}; + +enum fs_value_type { + fs_value_is_undefined = 0, + fs_value_is_flag = 1, + fs_value_is_string = 2, + fs_value_is_blob = 3, + fs_value_is_filename = 4, + fs_value_is_file = 5, +}; + +enum fsconfig_command { + FSCONFIG_SET_FLAG = 0, + FSCONFIG_SET_STRING = 1, + FSCONFIG_SET_BINARY = 2, + FSCONFIG_SET_PATH = 3, + FSCONFIG_SET_PATH_EMPTY = 4, + FSCONFIG_SET_FD = 5, + FSCONFIG_CMD_CREATE = 6, + FSCONFIG_CMD_RECONFIGURE = 7, + FSCONFIG_CMD_CREATE_EXCL = 8, +}; + +enum fsl_mc_pool_type { + FSL_MC_POOL_DPMCP = 0, + FSL_MC_POOL_DPBP = 1, + FSL_MC_POOL_DPCON = 2, + FSL_MC_POOL_IRQ = 3, + FSL_MC_NUM_POOL_TYPES = 4, +}; + +enum fsnotify_data_type { + FSNOTIFY_EVENT_NONE = 0, + FSNOTIFY_EVENT_FILE_RANGE = 1, + FSNOTIFY_EVENT_PATH = 2, + FSNOTIFY_EVENT_INODE = 3, + FSNOTIFY_EVENT_DENTRY = 4, + FSNOTIFY_EVENT_MNT = 5, + FSNOTIFY_EVENT_ERROR = 6, +}; + +enum fsnotify_group_prio { + FSNOTIFY_PRIO_NORMAL = 0, + FSNOTIFY_PRIO_CONTENT = 1, + FSNOTIFY_PRIO_PRE_CONTENT = 2, + __FSNOTIFY_PRIO_NUM = 3, +}; + +enum fsnotify_iter_type { + FSNOTIFY_ITER_TYPE_INODE = 0, + FSNOTIFY_ITER_TYPE_VFSMOUNT = 1, + FSNOTIFY_ITER_TYPE_SB = 2, + FSNOTIFY_ITER_TYPE_PARENT = 3, + FSNOTIFY_ITER_TYPE_INODE2 = 4, + FSNOTIFY_ITER_TYPE_MNTNS = 5, + FSNOTIFY_ITER_TYPE_COUNT = 6, +}; + +enum fsnotify_obj_type { + FSNOTIFY_OBJ_TYPE_ANY = -1, + FSNOTIFY_OBJ_TYPE_INODE = 0, + FSNOTIFY_OBJ_TYPE_VFSMOUNT = 1, + FSNOTIFY_OBJ_TYPE_SB = 2, + FSNOTIFY_OBJ_TYPE_MNTNS = 3, + FSNOTIFY_OBJ_TYPE_COUNT = 4, + FSNOTIFY_OBJ_TYPE_DETACHED = 4, +}; + +enum ftrace_bug_type { + FTRACE_BUG_UNKNOWN = 0, + FTRACE_BUG_INIT = 1, + FTRACE_BUG_NOP = 2, + FTRACE_BUG_CALL = 3, + FTRACE_BUG_UPDATE = 4, +}; + +enum ftrace_dump_mode { + DUMP_NONE = 0, + DUMP_ALL = 1, + DUMP_ORIG = 2, + DUMP_PARAM = 3, +}; + +enum ftrace_ops_cmd { + FTRACE_OPS_CMD_ENABLE_SHARE_IPMODIFY_SELF = 0, + FTRACE_OPS_CMD_ENABLE_SHARE_IPMODIFY_PEER = 1, + FTRACE_OPS_CMD_DISABLE_SHARE_IPMODIFY_PEER = 2, +}; + +enum fullness_group { + ZS_INUSE_RATIO_0 = 0, + ZS_INUSE_RATIO_10 = 1, + ZS_INUSE_RATIO_99 = 10, + ZS_INUSE_RATIO_100 = 11, + NR_FULLNESS_GROUPS = 12, +}; + +enum fuse_dax_mode { + FUSE_DAX_INODE_DEFAULT = 0, + FUSE_DAX_ALWAYS = 1, + FUSE_DAX_NEVER = 2, + FUSE_DAX_INODE_USER = 3, +}; + +enum fuse_ext_type { + FUSE_MAX_NR_SECCTX = 31, + FUSE_EXT_GROUPS = 32, +}; + +enum fuse_notify_code { + FUSE_NOTIFY_POLL = 1, + FUSE_NOTIFY_INVAL_INODE = 2, + FUSE_NOTIFY_INVAL_ENTRY = 3, + FUSE_NOTIFY_STORE = 4, + FUSE_NOTIFY_RETRIEVE = 5, + FUSE_NOTIFY_DELETE = 6, + FUSE_NOTIFY_RESEND = 7, + FUSE_NOTIFY_INC_EPOCH = 8, + FUSE_NOTIFY_CODE_MAX = 9, +}; + +enum fuse_opcode { + FUSE_LOOKUP = 1, + FUSE_FORGET = 2, + FUSE_GETATTR = 3, + FUSE_SETATTR = 4, + FUSE_READLINK = 5, + FUSE_SYMLINK = 6, + FUSE_MKNOD = 8, + FUSE_MKDIR = 9, + FUSE_UNLINK = 10, + FUSE_RMDIR = 11, + FUSE_RENAME = 12, + FUSE_LINK = 13, + FUSE_OPEN = 14, + FUSE_READ = 15, + FUSE_WRITE = 16, + FUSE_STATFS = 17, + FUSE_RELEASE = 18, + FUSE_FSYNC = 20, + FUSE_SETXATTR = 21, + FUSE_GETXATTR = 22, + FUSE_LISTXATTR = 23, + FUSE_REMOVEXATTR = 24, + FUSE_FLUSH = 25, + FUSE_INIT = 26, + FUSE_OPENDIR = 27, + FUSE_READDIR = 28, + FUSE_RELEASEDIR = 29, + FUSE_FSYNCDIR = 30, + FUSE_GETLK = 31, + FUSE_SETLK = 32, + FUSE_SETLKW = 33, + FUSE_ACCESS = 34, + FUSE_CREATE = 35, + FUSE_INTERRUPT = 36, + FUSE_BMAP = 37, + FUSE_DESTROY = 38, + FUSE_IOCTL = 39, + FUSE_POLL = 40, + FUSE_NOTIFY_REPLY = 41, + FUSE_BATCH_FORGET = 42, + FUSE_FALLOCATE = 43, + FUSE_READDIRPLUS = 44, + FUSE_RENAME2 = 45, + FUSE_LSEEK = 46, + FUSE_COPY_FILE_RANGE = 47, + FUSE_SETUPMAPPING = 48, + FUSE_REMOVEMAPPING = 49, + FUSE_SYNCFS = 50, + FUSE_TMPFILE = 51, + FUSE_STATX = 52, + CUSE_INIT = 4096, + CUSE_INIT_BSWAP_RESERVED = 1048576, + FUSE_INIT_BSWAP_RESERVED = 436207616, +}; + +enum fuse_parse_result { + FOUND_ERR = -1, + FOUND_NONE = 0, + FOUND_SOME = 1, + FOUND_ALL = 2, +}; + +enum fuse_req_flag { + FR_ISREPLY = 0, + FR_FORCE = 1, + FR_BACKGROUND = 2, + FR_WAITING = 3, + FR_ABORTED = 4, + FR_INTERRUPTED = 5, + FR_LOCKED = 6, + FR_PENDING = 7, + FR_SENT = 8, + FR_FINISHED = 9, + FR_PRIVATE = 10, + FR_ASYNC = 11, + FR_URING = 12, +}; + +enum fuse_ring_req_state { + FRRS_INVALID = 0, + FRRS_COMMIT = 1, + FRRS_AVAILABLE = 2, + FRRS_FUSE_REQ = 3, + FRRS_USERSPACE = 4, + FRRS_TEARDOWN = 5, + FRRS_RELEASED = 6, +}; + +enum fuse_uring_cmd { + FUSE_IO_URING_CMD_INVALID = 0, + FUSE_IO_URING_CMD_REGISTER = 1, + FUSE_IO_URING_CMD_COMMIT_AND_FETCH = 2, +}; + +enum futex_access { + FUTEX_READ = 0, + FUTEX_WRITE = 1, +}; + +enum fw_opt { + FW_OPT_UEVENT = 1, + FW_OPT_NOWAIT = 2, + FW_OPT_USERHELPER = 4, + FW_OPT_NO_WARN = 8, + FW_OPT_NOCACHE = 16, + FW_OPT_NOFALLBACK_SYSFS = 32, + FW_OPT_FALLBACK_PLATFORM = 64, + FW_OPT_PARTIAL = 128, +}; + +enum fw_resource_type { + RSC_CARVEOUT = 0, + RSC_DEVMEM = 1, + RSC_TRACE = 2, + RSC_VDEV = 3, + RSC_LAST = 4, + RSC_VENDOR_START = 128, + RSC_VENDOR_END = 512, +}; + +enum fw_status { + FW_STATUS_UNKNOWN = 0, + FW_STATUS_LOADING = 1, + FW_STATUS_DONE = 2, + FW_STATUS_ABORTED = 3, +}; + +enum fw_upload_err { + FW_UPLOAD_ERR_NONE = 0, + FW_UPLOAD_ERR_HW_ERROR = 1, + FW_UPLOAD_ERR_TIMEOUT = 2, + FW_UPLOAD_ERR_CANCELED = 3, + FW_UPLOAD_ERR_BUSY = 4, + FW_UPLOAD_ERR_INVALID_SIZE = 5, + FW_UPLOAD_ERR_RW_ERROR = 6, + FW_UPLOAD_ERR_WEAROUT = 7, + FW_UPLOAD_ERR_FW_INVALID = 8, + FW_UPLOAD_ERR_MAX = 9, +}; + +enum fw_upload_prog { + FW_UPLOAD_PROG_IDLE = 0, + FW_UPLOAD_PROG_RECEIVING = 1, + FW_UPLOAD_PROG_PREPARING = 2, + FW_UPLOAD_PROG_TRANSFERRING = 3, + FW_UPLOAD_PROG_PROGRAMMING = 4, + FW_UPLOAD_PROG_MAX = 5, +}; + +enum gds_mitigations { + GDS_MITIGATION_OFF = 0, + GDS_MITIGATION_AUTO = 1, + GDS_MITIGATION_UCODE_NEEDED = 2, + GDS_MITIGATION_FORCE = 3, + GDS_MITIGATION_FULL = 4, + GDS_MITIGATION_FULL_LOCKED = 5, + GDS_MITIGATION_HYPERVISOR = 6, +}; + +enum genl_validate_flags { + GENL_DONT_VALIDATE_STRICT = 1, + GENL_DONT_VALIDATE_DUMP = 2, + GENL_DONT_VALIDATE_DUMP_STRICT = 4, +}; + +enum genpd_notication { + GENPD_NOTIFY_PRE_OFF = 0, + GENPD_NOTIFY_OFF = 1, + GENPD_NOTIFY_PRE_ON = 2, + GENPD_NOTIFY_ON = 3, +}; + +enum genpd_sync_state { + GENPD_SYNC_STATE_OFF = 0, + GENPD_SYNC_STATE_SIMPLE = 1, + GENPD_SYNC_STATE_ONECELL = 2, +}; + +enum gpd_status { + GENPD_STATE_ON = 0, + GENPD_STATE_OFF = 1, +}; + +enum gpio_lookup_flags { + GPIO_ACTIVE_HIGH = 0, + GPIO_ACTIVE_LOW = 1, + GPIO_OPEN_DRAIN = 2, + GPIO_OPEN_SOURCE = 4, + GPIO_PERSISTENT = 0, + GPIO_TRANSITORY = 8, + GPIO_PULL_UP = 16, + GPIO_PULL_DOWN = 32, + GPIO_PULL_DISABLE = 64, + GPIO_LOOKUP_FLAGS_DEFAULT = 0, +}; + +enum gpio_select { + NO_GPIO = 0, + GPIO_1 = 1, + GPIO_2 = 2, +}; + +enum gpio_v2_line_attr_id { + GPIO_V2_LINE_ATTR_ID_FLAGS = 1, + GPIO_V2_LINE_ATTR_ID_OUTPUT_VALUES = 2, + GPIO_V2_LINE_ATTR_ID_DEBOUNCE = 3, +}; + +enum gpio_v2_line_changed_type { + GPIO_V2_LINE_CHANGED_REQUESTED = 1, + GPIO_V2_LINE_CHANGED_RELEASED = 2, + GPIO_V2_LINE_CHANGED_CONFIG = 3, +}; + +enum gpio_v2_line_event_id { + GPIO_V2_LINE_EVENT_RISING_EDGE = 1, + GPIO_V2_LINE_EVENT_FALLING_EDGE = 2, +}; + +enum gpio_v2_line_flag { + GPIO_V2_LINE_FLAG_USED = 1, + GPIO_V2_LINE_FLAG_ACTIVE_LOW = 2, + GPIO_V2_LINE_FLAG_INPUT = 4, + GPIO_V2_LINE_FLAG_OUTPUT = 8, + GPIO_V2_LINE_FLAG_EDGE_RISING = 16, + GPIO_V2_LINE_FLAG_EDGE_FALLING = 32, + GPIO_V2_LINE_FLAG_OPEN_DRAIN = 64, + GPIO_V2_LINE_FLAG_OPEN_SOURCE = 128, + GPIO_V2_LINE_FLAG_BIAS_PULL_UP = 256, + GPIO_V2_LINE_FLAG_BIAS_PULL_DOWN = 512, + GPIO_V2_LINE_FLAG_BIAS_DISABLED = 1024, + GPIO_V2_LINE_FLAG_EVENT_CLOCK_REALTIME = 2048, + GPIO_V2_LINE_FLAG_EVENT_CLOCK_HTE = 4096, +}; + +enum gpiod_flags { + GPIOD_ASIS = 0, + GPIOD_IN = 1, + GPIOD_OUT_LOW = 3, + GPIOD_OUT_HIGH = 7, + GPIOD_OUT_LOW_OPEN_DRAIN = 11, + GPIOD_OUT_HIGH_OPEN_DRAIN = 15, +}; + +enum graph_filter_type { + GRAPH_FILTER_NOTRACE = 0, + GRAPH_FILTER_FUNCTION = 1, +}; + +enum gre_conntrack { + GRE_CT_UNREPLIED = 0, + GRE_CT_REPLIED = 1, + GRE_CT_MAX = 2, +}; + +enum gro_result { + GRO_MERGED = 0, + GRO_MERGED_FREE = 1, + GRO_HELD = 2, + GRO_NORMAL = 3, + GRO_CONSUMED = 4, +}; + +typedef enum gro_result gro_result_t; + +enum group_type { + group_has_spare = 0, + group_fully_busy = 1, + group_misfit_task = 2, + group_smt_balance = 3, + group_asym_packing = 4, + group_imbalanced = 5, + group_overloaded = 6, +}; + +enum handle_to_path_flags { + HANDLE_CHECK_PERMS = 1, + HANDLE_CHECK_SUBTREE = 2, +}; + +enum handler_id { + HANDLER_ONMATCH = 1, + HANDLER_ONMAX = 2, + HANDLER_ONCHANGE = 3, +}; + +enum handshake_auth { + HANDSHAKE_AUTH_UNSPEC = 0, + HANDSHAKE_AUTH_UNAUTH = 1, + HANDSHAKE_AUTH_PSK = 2, + HANDSHAKE_AUTH_X509 = 3, +}; + +enum handshake_handler_class { + HANDSHAKE_HANDLER_CLASS_NONE = 0, + HANDSHAKE_HANDLER_CLASS_TLSHD = 1, + HANDSHAKE_HANDLER_CLASS_MAX = 2, +}; + +enum handshake_msg_type { + HANDSHAKE_MSG_TYPE_UNSPEC = 0, + HANDSHAKE_MSG_TYPE_CLIENTHELLO = 1, + HANDSHAKE_MSG_TYPE_SERVERHELLO = 2, +}; + +enum hash_algo { + HASH_ALGO_MD4 = 0, + HASH_ALGO_MD5 = 1, + HASH_ALGO_SHA1 = 2, + HASH_ALGO_RIPE_MD_160 = 3, + HASH_ALGO_SHA256 = 4, + HASH_ALGO_SHA384 = 5, + HASH_ALGO_SHA512 = 6, + HASH_ALGO_SHA224 = 7, + HASH_ALGO_RIPE_MD_128 = 8, + HASH_ALGO_RIPE_MD_256 = 9, + HASH_ALGO_RIPE_MD_320 = 10, + HASH_ALGO_WP_256 = 11, + HASH_ALGO_WP_384 = 12, + HASH_ALGO_WP_512 = 13, + HASH_ALGO_TGR_128 = 14, + HASH_ALGO_TGR_160 = 15, + HASH_ALGO_TGR_192 = 16, + HASH_ALGO_SM3_256 = 17, + HASH_ALGO_STREEBOG_256 = 18, + HASH_ALGO_STREEBOG_512 = 19, + HASH_ALGO_SHA3_256 = 20, + HASH_ALGO_SHA3_384 = 21, + HASH_ALGO_SHA3_512 = 22, + HASH_ALGO__LAST = 23, +}; + +enum hash_pointers_policy { + HASH_PTR_AUTO = 0, + HASH_PTR_ALWAYS = 1, + HASH_PTR_NEVER = 2, +}; + +enum hctx_type { + HCTX_TYPE_DEFAULT = 0, + HCTX_TYPE_READ = 1, + HCTX_TYPE_POLL = 2, + HCTX_MAX_TYPES = 3, +}; + +enum hdmi_3d_structure { + HDMI_3D_STRUCTURE_INVALID = -1, + HDMI_3D_STRUCTURE_FRAME_PACKING = 0, + HDMI_3D_STRUCTURE_FIELD_ALTERNATIVE = 1, + HDMI_3D_STRUCTURE_LINE_ALTERNATIVE = 2, + HDMI_3D_STRUCTURE_SIDE_BY_SIDE_FULL = 3, + HDMI_3D_STRUCTURE_L_DEPTH = 4, + HDMI_3D_STRUCTURE_L_DEPTH_GFX_GFX_DEPTH = 5, + HDMI_3D_STRUCTURE_TOP_AND_BOTTOM = 6, + HDMI_3D_STRUCTURE_SIDE_BY_SIDE_HALF = 8, +}; + +enum hdmi_active_aspect { + HDMI_ACTIVE_ASPECT_16_9_TOP = 2, + HDMI_ACTIVE_ASPECT_14_9_TOP = 3, + HDMI_ACTIVE_ASPECT_16_9_CENTER = 4, + HDMI_ACTIVE_ASPECT_PICTURE = 8, + HDMI_ACTIVE_ASPECT_4_3 = 9, + HDMI_ACTIVE_ASPECT_16_9 = 10, + HDMI_ACTIVE_ASPECT_14_9 = 11, + HDMI_ACTIVE_ASPECT_4_3_SP_14_9 = 13, + HDMI_ACTIVE_ASPECT_16_9_SP_14_9 = 14, + HDMI_ACTIVE_ASPECT_16_9_SP_4_3 = 15, +}; + +enum hdmi_audio_coding_type { + HDMI_AUDIO_CODING_TYPE_STREAM = 0, + HDMI_AUDIO_CODING_TYPE_PCM = 1, + HDMI_AUDIO_CODING_TYPE_AC3 = 2, + HDMI_AUDIO_CODING_TYPE_MPEG1 = 3, + HDMI_AUDIO_CODING_TYPE_MP3 = 4, + HDMI_AUDIO_CODING_TYPE_MPEG2 = 5, + HDMI_AUDIO_CODING_TYPE_AAC_LC = 6, + HDMI_AUDIO_CODING_TYPE_DTS = 7, + HDMI_AUDIO_CODING_TYPE_ATRAC = 8, + HDMI_AUDIO_CODING_TYPE_DSD = 9, + HDMI_AUDIO_CODING_TYPE_EAC3 = 10, + HDMI_AUDIO_CODING_TYPE_DTS_HD = 11, + HDMI_AUDIO_CODING_TYPE_MLP = 12, + HDMI_AUDIO_CODING_TYPE_DST = 13, + HDMI_AUDIO_CODING_TYPE_WMA_PRO = 14, + HDMI_AUDIO_CODING_TYPE_CXT = 15, +}; + +enum hdmi_audio_coding_type_ext { + HDMI_AUDIO_CODING_TYPE_EXT_CT = 0, + HDMI_AUDIO_CODING_TYPE_EXT_HE_AAC = 1, + HDMI_AUDIO_CODING_TYPE_EXT_HE_AAC_V2 = 2, + HDMI_AUDIO_CODING_TYPE_EXT_MPEG_SURROUND = 3, + HDMI_AUDIO_CODING_TYPE_EXT_MPEG4_HE_AAC = 4, + HDMI_AUDIO_CODING_TYPE_EXT_MPEG4_HE_AAC_V2 = 5, + HDMI_AUDIO_CODING_TYPE_EXT_MPEG4_AAC_LC = 6, + HDMI_AUDIO_CODING_TYPE_EXT_DRA = 7, + HDMI_AUDIO_CODING_TYPE_EXT_MPEG4_HE_AAC_SURROUND = 8, + HDMI_AUDIO_CODING_TYPE_EXT_MPEG4_AAC_LC_SURROUND = 10, +}; + +enum hdmi_audio_sample_frequency { + HDMI_AUDIO_SAMPLE_FREQUENCY_STREAM = 0, + HDMI_AUDIO_SAMPLE_FREQUENCY_32000 = 1, + HDMI_AUDIO_SAMPLE_FREQUENCY_44100 = 2, + HDMI_AUDIO_SAMPLE_FREQUENCY_48000 = 3, + HDMI_AUDIO_SAMPLE_FREQUENCY_88200 = 4, + HDMI_AUDIO_SAMPLE_FREQUENCY_96000 = 5, + HDMI_AUDIO_SAMPLE_FREQUENCY_176400 = 6, + HDMI_AUDIO_SAMPLE_FREQUENCY_192000 = 7, +}; + +enum hdmi_audio_sample_size { + HDMI_AUDIO_SAMPLE_SIZE_STREAM = 0, + HDMI_AUDIO_SAMPLE_SIZE_16 = 1, + HDMI_AUDIO_SAMPLE_SIZE_20 = 2, + HDMI_AUDIO_SAMPLE_SIZE_24 = 3, +}; + +enum hdmi_colorimetry { + HDMI_COLORIMETRY_NONE = 0, + HDMI_COLORIMETRY_ITU_601 = 1, + HDMI_COLORIMETRY_ITU_709 = 2, + HDMI_COLORIMETRY_EXTENDED = 3, +}; + +enum hdmi_colorspace { + HDMI_COLORSPACE_RGB = 0, + HDMI_COLORSPACE_YUV422 = 1, + HDMI_COLORSPACE_YUV444 = 2, + HDMI_COLORSPACE_YUV420 = 3, + HDMI_COLORSPACE_RESERVED4 = 4, + HDMI_COLORSPACE_RESERVED5 = 5, + HDMI_COLORSPACE_RESERVED6 = 6, + HDMI_COLORSPACE_IDO_DEFINED = 7, +}; + +enum hdmi_content_type { + HDMI_CONTENT_TYPE_GRAPHICS = 0, + HDMI_CONTENT_TYPE_PHOTO = 1, + HDMI_CONTENT_TYPE_CINEMA = 2, + HDMI_CONTENT_TYPE_GAME = 3, +}; + +enum hdmi_eotf { + HDMI_EOTF_TRADITIONAL_GAMMA_SDR = 0, + HDMI_EOTF_TRADITIONAL_GAMMA_HDR = 1, + HDMI_EOTF_SMPTE_ST2084 = 2, + HDMI_EOTF_BT_2100_HLG = 3, +}; + +enum hdmi_extended_colorimetry { + HDMI_EXTENDED_COLORIMETRY_XV_YCC_601 = 0, + HDMI_EXTENDED_COLORIMETRY_XV_YCC_709 = 1, + HDMI_EXTENDED_COLORIMETRY_S_YCC_601 = 2, + HDMI_EXTENDED_COLORIMETRY_OPYCC_601 = 3, + HDMI_EXTENDED_COLORIMETRY_OPRGB = 4, + HDMI_EXTENDED_COLORIMETRY_BT2020_CONST_LUM = 5, + HDMI_EXTENDED_COLORIMETRY_BT2020 = 6, + HDMI_EXTENDED_COLORIMETRY_RESERVED = 7, +}; + +enum hdmi_infoframe_type { + HDMI_INFOFRAME_TYPE_VENDOR = 129, + HDMI_INFOFRAME_TYPE_AVI = 130, + HDMI_INFOFRAME_TYPE_SPD = 131, + HDMI_INFOFRAME_TYPE_AUDIO = 132, + HDMI_INFOFRAME_TYPE_DRM = 135, +}; + +enum hdmi_metadata_type { + HDMI_STATIC_METADATA_TYPE1 = 0, +}; + +enum hdmi_nups { + HDMI_NUPS_UNKNOWN = 0, + HDMI_NUPS_HORIZONTAL = 1, + HDMI_NUPS_VERTICAL = 2, + HDMI_NUPS_BOTH = 3, +}; + +enum hdmi_picture_aspect { + HDMI_PICTURE_ASPECT_NONE = 0, + HDMI_PICTURE_ASPECT_4_3 = 1, + HDMI_PICTURE_ASPECT_16_9 = 2, + HDMI_PICTURE_ASPECT_64_27 = 3, + HDMI_PICTURE_ASPECT_256_135 = 4, + HDMI_PICTURE_ASPECT_RESERVED = 5, +}; + +enum hdmi_quantization_range { + HDMI_QUANTIZATION_RANGE_DEFAULT = 0, + HDMI_QUANTIZATION_RANGE_LIMITED = 1, + HDMI_QUANTIZATION_RANGE_FULL = 2, + HDMI_QUANTIZATION_RANGE_RESERVED = 3, +}; + +enum hdmi_scan_mode { + HDMI_SCAN_MODE_NONE = 0, + HDMI_SCAN_MODE_OVERSCAN = 1, + HDMI_SCAN_MODE_UNDERSCAN = 2, + HDMI_SCAN_MODE_RESERVED = 3, +}; + +enum hdmi_spd_sdi { + HDMI_SPD_SDI_UNKNOWN = 0, + HDMI_SPD_SDI_DSTB = 1, + HDMI_SPD_SDI_DVDP = 2, + HDMI_SPD_SDI_DVHS = 3, + HDMI_SPD_SDI_HDDVR = 4, + HDMI_SPD_SDI_DVC = 5, + HDMI_SPD_SDI_DSC = 6, + HDMI_SPD_SDI_VCD = 7, + HDMI_SPD_SDI_GAME = 8, + HDMI_SPD_SDI_PC = 9, + HDMI_SPD_SDI_BD = 10, + HDMI_SPD_SDI_SACD = 11, + HDMI_SPD_SDI_HDDVD = 12, + HDMI_SPD_SDI_PMP = 13, +}; + +enum hdmi_ycc_quantization_range { + HDMI_YCC_QUANTIZATION_RANGE_LIMITED = 0, + HDMI_YCC_QUANTIZATION_RANGE_FULL = 1, +}; + +enum header_fields { + HDR_PCR = 0, + HDR_DIGEST = 1, + HDR_TEMPLATE_NAME = 2, + HDR_TEMPLATE_DATA = 3, + HDR__LAST = 4, +}; + +enum header_opt { + IPE_HEADER_POLICY_NAME = 0, + IPE_HEADER_POLICY_VERSION = 1, + __IPE_HEADER_MAX = 2, +}; + +enum hest_status { + HEST_ENABLED = 0, + HEST_DISABLED = 1, + HEST_NOT_FOUND = 2, +}; + +enum hid_battery_status { + HID_BATTERY_UNKNOWN = 0, + HID_BATTERY_QUERIED = 1, + HID_BATTERY_REPORTED = 2, +}; + +enum hid_class_request { + HID_REQ_GET_REPORT = 1, + HID_REQ_GET_IDLE = 2, + HID_REQ_GET_PROTOCOL = 3, + HID_REQ_SET_REPORT = 9, + HID_REQ_SET_IDLE = 10, + HID_REQ_SET_PROTOCOL = 11, +}; + +enum hid_report_type { + HID_INPUT_REPORT = 0, + HID_OUTPUT_REPORT = 1, + HID_FEATURE_REPORT = 2, + HID_REPORT_TYPES = 3, +}; + +enum hid_type { + HID_TYPE_OTHER = 0, + HID_TYPE_USBMOUSE = 1, + HID_TYPE_USBNONE = 2, +}; + +enum hist_field_flags { + HIST_FIELD_FL_HITCOUNT = 1, + HIST_FIELD_FL_KEY = 2, + HIST_FIELD_FL_STRING = 4, + HIST_FIELD_FL_HEX = 8, + HIST_FIELD_FL_SYM = 16, + HIST_FIELD_FL_SYM_OFFSET = 32, + HIST_FIELD_FL_EXECNAME = 64, + HIST_FIELD_FL_SYSCALL = 128, + HIST_FIELD_FL_STACKTRACE = 256, + HIST_FIELD_FL_LOG2 = 512, + HIST_FIELD_FL_TIMESTAMP = 1024, + HIST_FIELD_FL_TIMESTAMP_USECS = 2048, + HIST_FIELD_FL_VAR = 4096, + HIST_FIELD_FL_EXPR = 8192, + HIST_FIELD_FL_VAR_REF = 16384, + HIST_FIELD_FL_CPU = 32768, + HIST_FIELD_FL_ALIAS = 65536, + HIST_FIELD_FL_BUCKET = 131072, + HIST_FIELD_FL_CONST = 262144, + HIST_FIELD_FL_PERCENT = 524288, + HIST_FIELD_FL_GRAPH = 1048576, + HIST_FIELD_FL_COMM = 2097152, +}; + +enum hist_field_fn { + HIST_FIELD_FN_NOP = 0, + HIST_FIELD_FN_VAR_REF = 1, + HIST_FIELD_FN_COUNTER = 2, + HIST_FIELD_FN_CONST = 3, + HIST_FIELD_FN_LOG2 = 4, + HIST_FIELD_FN_BUCKET = 5, + HIST_FIELD_FN_TIMESTAMP = 6, + HIST_FIELD_FN_CPU = 7, + HIST_FIELD_FN_COMM = 8, + HIST_FIELD_FN_STRING = 9, + HIST_FIELD_FN_DYNSTRING = 10, + HIST_FIELD_FN_RELDYNSTRING = 11, + HIST_FIELD_FN_PSTRING = 12, + HIST_FIELD_FN_S64 = 13, + HIST_FIELD_FN_U64 = 14, + HIST_FIELD_FN_S32 = 15, + HIST_FIELD_FN_U32 = 16, + HIST_FIELD_FN_S16 = 17, + HIST_FIELD_FN_U16 = 18, + HIST_FIELD_FN_S8 = 19, + HIST_FIELD_FN_U8 = 20, + HIST_FIELD_FN_UMINUS = 21, + HIST_FIELD_FN_MINUS = 22, + HIST_FIELD_FN_PLUS = 23, + HIST_FIELD_FN_DIV = 24, + HIST_FIELD_FN_MULT = 25, + HIST_FIELD_FN_DIV_POWER2 = 26, + HIST_FIELD_FN_DIV_NOT_POWER2 = 27, + HIST_FIELD_FN_DIV_MULT_SHIFT = 28, + HIST_FIELD_FN_EXECNAME = 29, + HIST_FIELD_FN_STACK = 30, +}; + +enum hk_flags { + HK_FLAG_DOMAIN = 1, + HK_FLAG_MANAGED_IRQ = 2, + HK_FLAG_KERNEL_NOISE = 4, +}; + +enum hk_type { + HK_TYPE_DOMAIN = 0, + HK_TYPE_MANAGED_IRQ = 1, + HK_TYPE_KERNEL_NOISE = 2, + HK_TYPE_MAX = 3, + HK_TYPE_TICK = 2, + HK_TYPE_TIMER = 2, + HK_TYPE_RCU = 2, + HK_TYPE_MISC = 2, + HK_TYPE_WQ = 2, + HK_TYPE_KTHREAD = 2, +}; + +enum hmm_pfn_flags { + HMM_PFN_VALID = 9223372036854775808ULL, + HMM_PFN_WRITE = 4611686018427387904ULL, + HMM_PFN_ERROR = 2305843009213693952ULL, + HMM_PFN_DMA_MAPPED = 1152921504606846976ULL, + HMM_PFN_P2PDMA = 576460752303423488ULL, + HMM_PFN_P2PDMA_BUS = 288230376151711744ULL, + HMM_PFN_ORDER_SHIFT = 53ULL, + HMM_PFN_REQ_FAULT = 9223372036854775808ULL, + HMM_PFN_REQ_WRITE = 4611686018427387904ULL, + HMM_PFN_FLAGS = 18437736874454810624ULL, +}; + +enum hn_flags_bits { + HANDSHAKE_F_NET_DRAINING = 0, +}; + +enum hp_flags_bits { + HANDSHAKE_F_PROTO_NOTIFY = 0, +}; + +enum hpet_mode { + HPET_MODE_UNUSED = 0, + HPET_MODE_LEGACY = 1, + HPET_MODE_CLOCKEVT = 2, + HPET_MODE_DEVICE = 3, +}; + +enum hprobe_state { + HPROBE_LEASED = 0, + HPROBE_STABLE = 1, + HPROBE_GONE = 2, + HPROBE_CONSUMED = 3, +}; + +enum hpx_type3_cfg_loc { + HPX_CFG_PCICFG = 0, + HPX_CFG_PCIE_CAP = 1, + HPX_CFG_PCIE_CAP_EXT = 2, + HPX_CFG_VEND_CAP = 3, + HPX_CFG_DVSEC = 4, + HPX_CFG_MAX = 5, +}; + +enum hpx_type3_dev_type { + HPX_TYPE_ENDPOINT = 1, + HPX_TYPE_LEG_END = 2, + HPX_TYPE_RC_END = 4, + HPX_TYPE_RC_EC = 8, + HPX_TYPE_ROOT_PORT = 16, + HPX_TYPE_UPSTREAM = 32, + HPX_TYPE_DOWNSTREAM = 64, + HPX_TYPE_PCI_BRIDGE = 128, + HPX_TYPE_PCIE_BRIDGE = 256, +}; + +enum hpx_type3_fn_type { + HPX_FN_NORMAL = 1, + HPX_FN_SRIOV_PHYS = 2, + HPX_FN_SRIOV_VIRT = 4, +}; + +enum hr_flags_bits { + HANDSHAKE_F_REQ_COMPLETED = 0, + HANDSHAKE_F_REQ_SESSION = 1, +}; + +enum hrtimer_base_type { + HRTIMER_BASE_MONOTONIC = 0, + HRTIMER_BASE_REALTIME = 1, + HRTIMER_BASE_BOOTTIME = 2, + HRTIMER_BASE_TAI = 3, + HRTIMER_BASE_MONOTONIC_SOFT = 4, + HRTIMER_BASE_REALTIME_SOFT = 5, + HRTIMER_BASE_BOOTTIME_SOFT = 6, + HRTIMER_BASE_TAI_SOFT = 7, + HRTIMER_MAX_CLOCK_BASES = 8, +}; + +enum hrtimer_mode { + HRTIMER_MODE_ABS = 0, + HRTIMER_MODE_REL = 1, + HRTIMER_MODE_PINNED = 2, + HRTIMER_MODE_SOFT = 4, + HRTIMER_MODE_HARD = 8, + HRTIMER_MODE_ABS_PINNED = 2, + HRTIMER_MODE_REL_PINNED = 3, + HRTIMER_MODE_ABS_SOFT = 4, + HRTIMER_MODE_REL_SOFT = 5, + HRTIMER_MODE_ABS_PINNED_SOFT = 6, + HRTIMER_MODE_REL_PINNED_SOFT = 7, + HRTIMER_MODE_ABS_HARD = 8, + HRTIMER_MODE_REL_HARD = 9, + HRTIMER_MODE_ABS_PINNED_HARD = 10, + HRTIMER_MODE_REL_PINNED_HARD = 11, +}; + +enum hrtimer_restart { + HRTIMER_NORESTART = 0, + HRTIMER_RESTART = 1, +}; + +enum hsm_task_states { + HSM_ST_IDLE = 0, + HSM_ST_FIRST = 1, + HSM_ST = 2, + HSM_ST_LAST = 3, + HSM_ST_ERR = 4, +}; + +enum hte_edge { + HTE_EDGE_NO_SETUP = 1, + HTE_RISING_EDGE_TS = 2, + HTE_FALLING_EDGE_TS = 4, +}; + +enum hte_return { + HTE_CB_HANDLED = 0, + HTE_RUN_SECOND_CB = 1, +}; + +enum hub_activation_type { + HUB_INIT = 0, + HUB_INIT2 = 1, + HUB_INIT3 = 2, + HUB_POST_RESET = 3, + HUB_RESUME = 4, + HUB_RESET_RESUME = 5, +}; + +enum hub_led_mode { + INDICATOR_AUTO = 0, + INDICATOR_CYCLE = 1, + INDICATOR_GREEN_BLINK = 2, + INDICATOR_GREEN_BLINK_OFF = 3, + INDICATOR_AMBER_BLINK = 4, + INDICATOR_AMBER_BLINK_OFF = 5, + INDICATOR_ALT_BLINK = 6, + INDICATOR_ALT_BLINK_OFF = 7, +} __attribute__((mode(byte))); + +enum hub_quiescing_type { + HUB_DISCONNECT = 0, + HUB_PRE_RESET = 1, + HUB_SUSPEND = 2, +}; + +enum hugetlb_memory_event { + HUGETLB_MAX = 0, + HUGETLB_NR_MEMORY_EVENTS = 1, +}; + +enum hugetlb_page_flags { + HPG_restore_reserve = 0, + HPG_migratable = 1, + HPG_temporary = 2, + HPG_freed = 3, + HPG_vmemmap_optimized = 4, + HPG_raw_hwp_unreliable = 5, + HPG_cma = 6, + __NR_HPAGEFLAGS = 7, +}; + +enum hugetlb_param { + Opt_gid___6 = 0, + Opt_min_size = 1, + Opt_mode___4 = 2, + Opt_nr_inodes = 3, + Opt_pagesize = 4, + Opt_size = 5, + Opt_uid___6 = 6, +}; + +enum hugetlbfs_size_type { + NO_SIZE = 0, + SIZE_STD = 1, + SIZE_PERCENT = 2, +}; + +enum hv_device_type { + HV_DEVICE_TYPE_LOGICAL = 0, + HV_DEVICE_TYPE_PCI = 1, + HV_DEVICE_TYPE_IOAPIC = 2, + HV_DEVICE_TYPE_ACPI = 3, +}; + +enum hv_generic_set_format { + HV_GENERIC_SET_SPARSE_4K = 0, + HV_GENERIC_SET_ALL = 1, +}; + +enum hv_interrupt_trigger_mode { + HV_INTERRUPT_TRIGGER_MODE_EDGE = 0, + HV_INTERRUPT_TRIGGER_MODE_LEVEL = 1, +}; + +enum hv_interrupt_type { + HV_X64_INTERRUPT_TYPE_FIXED = 0, + HV_X64_INTERRUPT_TYPE_LOWESTPRIORITY = 1, + HV_X64_INTERRUPT_TYPE_SMI = 2, + HV_X64_INTERRUPT_TYPE_REMOTEREAD = 3, + HV_X64_INTERRUPT_TYPE_NMI = 4, + HV_X64_INTERRUPT_TYPE_INIT = 5, + HV_X64_INTERRUPT_TYPE_SIPI = 6, + HV_X64_INTERRUPT_TYPE_EXTINT = 7, + HV_X64_INTERRUPT_TYPE_LOCALINT0 = 8, + HV_X64_INTERRUPT_TYPE_LOCALINT1 = 9, + HV_X64_INTERRUPT_TYPE_MAXIMUM = 10, +}; + +enum hv_isolation_type { + HV_ISOLATION_TYPE_NONE = 0, + HV_ISOLATION_TYPE_VBS = 1, + HV_ISOLATION_TYPE_SNP = 2, + HV_ISOLATION_TYPE_TDX = 3, +}; + +enum hv_mem_host_visibility { + VMBUS_PAGE_NOT_VISIBLE = 0, + VMBUS_PAGE_VISIBLE_READ_ONLY = 1, + VMBUS_PAGE_VISIBLE_READ_WRITE = 3, +}; + +enum hv_partition_type { + HV_PARTITION_TYPE_GUEST = 0, + HV_PARTITION_TYPE_ROOT = 1, +}; + +enum hv_tlb_flush_fifos { + HV_L1_TLB_FLUSH_FIFO = 0, + HV_L2_TLB_FLUSH_FIFO = 1, + HV_NR_TLB_FLUSH_FIFOS = 2, +}; + +enum hv_tsc_page_status { + HV_TSC_PAGE_UNSET = 0, + HV_TSC_PAGE_GUEST_CHANGED = 1, + HV_TSC_PAGE_HOST_CHANGED = 2, + HV_TSC_PAGE_SET = 3, + HV_TSC_PAGE_BROKEN = 4, +}; + +enum hvmmem_type_t { + HVMMEM_ram_rw = 0, + HVMMEM_ram_ro = 1, + HVMMEM_mmio_dm = 2, +}; + +enum hw_event_mc_err_type { + HW_EVENT_ERR_CORRECTED = 0, + HW_EVENT_ERR_UNCORRECTED = 1, + HW_EVENT_ERR_DEFERRED = 2, + HW_EVENT_ERR_FATAL = 3, + HW_EVENT_ERR_INFO = 4, +}; + +enum hw_protection_action { + HWPROT_ACT_DEFAULT = 0, + HWPROT_ACT_SHUTDOWN = 1, + HWPROT_ACT_REBOOT = 2, +}; + +enum hwmon_chip_attributes { + hwmon_chip_temp_reset_history = 0, + hwmon_chip_in_reset_history = 1, + hwmon_chip_curr_reset_history = 2, + hwmon_chip_power_reset_history = 3, + hwmon_chip_register_tz = 4, + hwmon_chip_update_interval = 5, + hwmon_chip_alarms = 6, + hwmon_chip_samples = 7, + hwmon_chip_curr_samples = 8, + hwmon_chip_in_samples = 9, + hwmon_chip_power_samples = 10, + hwmon_chip_temp_samples = 11, + hwmon_chip_beep_enable = 12, + hwmon_chip_pec = 13, +}; + +enum hwmon_curr_attributes { + hwmon_curr_enable = 0, + hwmon_curr_input = 1, + hwmon_curr_min = 2, + hwmon_curr_max = 3, + hwmon_curr_lcrit = 4, + hwmon_curr_crit = 5, + hwmon_curr_average = 6, + hwmon_curr_lowest = 7, + hwmon_curr_highest = 8, + hwmon_curr_reset_history = 9, + hwmon_curr_label = 10, + hwmon_curr_alarm = 11, + hwmon_curr_min_alarm = 12, + hwmon_curr_max_alarm = 13, + hwmon_curr_lcrit_alarm = 14, + hwmon_curr_crit_alarm = 15, + hwmon_curr_rated_min = 16, + hwmon_curr_rated_max = 17, + hwmon_curr_beep = 18, +}; + +enum hwmon_energy_attributes { + hwmon_energy_enable = 0, + hwmon_energy_input = 1, + hwmon_energy_label = 2, +}; + +enum hwmon_fan_attributes { + hwmon_fan_enable = 0, + hwmon_fan_input = 1, + hwmon_fan_label = 2, + hwmon_fan_min = 3, + hwmon_fan_max = 4, + hwmon_fan_div = 5, + hwmon_fan_pulses = 6, + hwmon_fan_target = 7, + hwmon_fan_alarm = 8, + hwmon_fan_min_alarm = 9, + hwmon_fan_max_alarm = 10, + hwmon_fan_fault = 11, + hwmon_fan_beep = 12, +}; + +enum hwmon_humidity_attributes { + hwmon_humidity_enable = 0, + hwmon_humidity_input = 1, + hwmon_humidity_label = 2, + hwmon_humidity_min = 3, + hwmon_humidity_min_hyst = 4, + hwmon_humidity_max = 5, + hwmon_humidity_max_hyst = 6, + hwmon_humidity_alarm = 7, + hwmon_humidity_fault = 8, + hwmon_humidity_rated_min = 9, + hwmon_humidity_rated_max = 10, + hwmon_humidity_min_alarm = 11, + hwmon_humidity_max_alarm = 12, +}; + +enum hwmon_in_attributes { + hwmon_in_enable = 0, + hwmon_in_input = 1, + hwmon_in_min = 2, + hwmon_in_max = 3, + hwmon_in_lcrit = 4, + hwmon_in_crit = 5, + hwmon_in_average = 6, + hwmon_in_lowest = 7, + hwmon_in_highest = 8, + hwmon_in_reset_history = 9, + hwmon_in_label = 10, + hwmon_in_alarm = 11, + hwmon_in_min_alarm = 12, + hwmon_in_max_alarm = 13, + hwmon_in_lcrit_alarm = 14, + hwmon_in_crit_alarm = 15, + hwmon_in_rated_min = 16, + hwmon_in_rated_max = 17, + hwmon_in_beep = 18, + hwmon_in_fault = 19, +}; + +enum hwmon_intrusion_attributes { + hwmon_intrusion_alarm = 0, + hwmon_intrusion_beep = 1, +}; + +enum hwmon_power_attributes { + hwmon_power_enable = 0, + hwmon_power_average = 1, + hwmon_power_average_interval = 2, + hwmon_power_average_interval_max = 3, + hwmon_power_average_interval_min = 4, + hwmon_power_average_highest = 5, + hwmon_power_average_lowest = 6, + hwmon_power_average_max = 7, + hwmon_power_average_min = 8, + hwmon_power_input = 9, + hwmon_power_input_highest = 10, + hwmon_power_input_lowest = 11, + hwmon_power_reset_history = 12, + hwmon_power_accuracy = 13, + hwmon_power_cap = 14, + hwmon_power_cap_hyst = 15, + hwmon_power_cap_max = 16, + hwmon_power_cap_min = 17, + hwmon_power_min = 18, + hwmon_power_max = 19, + hwmon_power_crit = 20, + hwmon_power_lcrit = 21, + hwmon_power_label = 22, + hwmon_power_alarm = 23, + hwmon_power_cap_alarm = 24, + hwmon_power_min_alarm = 25, + hwmon_power_max_alarm = 26, + hwmon_power_lcrit_alarm = 27, + hwmon_power_crit_alarm = 28, + hwmon_power_rated_min = 29, + hwmon_power_rated_max = 30, +}; + +enum hwmon_pwm_attributes { + hwmon_pwm_input = 0, + hwmon_pwm_enable = 1, + hwmon_pwm_mode = 2, + hwmon_pwm_freq = 3, + hwmon_pwm_auto_channels_temp = 4, +}; + +enum hwmon_sensor_types { + hwmon_chip = 0, + hwmon_temp = 1, + hwmon_in = 2, + hwmon_curr = 3, + hwmon_power = 4, + hwmon_energy = 5, + hwmon_humidity = 6, + hwmon_fan = 7, + hwmon_pwm = 8, + hwmon_intrusion = 9, + hwmon_max = 10, +}; + +enum hwmon_temp_attributes { + hwmon_temp_enable = 0, + hwmon_temp_input = 1, + hwmon_temp_type = 2, + hwmon_temp_lcrit = 3, + hwmon_temp_lcrit_hyst = 4, + hwmon_temp_min = 5, + hwmon_temp_min_hyst = 6, + hwmon_temp_max = 7, + hwmon_temp_max_hyst = 8, + hwmon_temp_crit = 9, + hwmon_temp_crit_hyst = 10, + hwmon_temp_emergency = 11, + hwmon_temp_emergency_hyst = 12, + hwmon_temp_alarm = 13, + hwmon_temp_lcrit_alarm = 14, + hwmon_temp_min_alarm = 15, + hwmon_temp_max_alarm = 16, + hwmon_temp_crit_alarm = 17, + hwmon_temp_emergency_alarm = 18, + hwmon_temp_fault = 19, + hwmon_temp_offset = 20, + hwmon_temp_label = 21, + hwmon_temp_lowest = 22, + hwmon_temp_highest = 23, + hwmon_temp_reset_history = 24, + hwmon_temp_rated_min = 25, + hwmon_temp_rated_max = 26, + hwmon_temp_beep = 27, +}; + +enum hwparam_type { + hwparam_ioport = 0, + hwparam_iomem = 1, + hwparam_ioport_or_iomem = 2, + hwparam_irq = 3, + hwparam_dma = 4, + hwparam_dma_addr = 5, + hwparam_other = 6, +}; + +enum hwtstamp_flags { + HWTSTAMP_FLAG_BONDED_PHC_INDEX = 1, + HWTSTAMP_FLAG_LAST = 1, + HWTSTAMP_FLAG_MASK = 1, +}; + +enum hwtstamp_provider_qualifier { + HWTSTAMP_PROVIDER_QUALIFIER_PRECISE = 0, + HWTSTAMP_PROVIDER_QUALIFIER_APPROX = 1, + HWTSTAMP_PROVIDER_QUALIFIER_CNT = 2, +}; + +enum hwtstamp_rx_filters { + HWTSTAMP_FILTER_NONE = 0, + HWTSTAMP_FILTER_ALL = 1, + HWTSTAMP_FILTER_SOME = 2, + HWTSTAMP_FILTER_PTP_V1_L4_EVENT = 3, + HWTSTAMP_FILTER_PTP_V1_L4_SYNC = 4, + HWTSTAMP_FILTER_PTP_V1_L4_DELAY_REQ = 5, + HWTSTAMP_FILTER_PTP_V2_L4_EVENT = 6, + HWTSTAMP_FILTER_PTP_V2_L4_SYNC = 7, + HWTSTAMP_FILTER_PTP_V2_L4_DELAY_REQ = 8, + HWTSTAMP_FILTER_PTP_V2_L2_EVENT = 9, + HWTSTAMP_FILTER_PTP_V2_L2_SYNC = 10, + HWTSTAMP_FILTER_PTP_V2_L2_DELAY_REQ = 11, + HWTSTAMP_FILTER_PTP_V2_EVENT = 12, + HWTSTAMP_FILTER_PTP_V2_SYNC = 13, + HWTSTAMP_FILTER_PTP_V2_DELAY_REQ = 14, + HWTSTAMP_FILTER_NTP_ALL = 15, + __HWTSTAMP_FILTER_CNT = 16, +}; + +enum hwtstamp_source { + HWTSTAMP_SOURCE_NETDEV = 1, + HWTSTAMP_SOURCE_PHYLIB = 2, +}; + +enum hwtstamp_tx_types { + HWTSTAMP_TX_OFF = 0, + HWTSTAMP_TX_ON = 1, + HWTSTAMP_TX_ONESTEP_SYNC = 2, + HWTSTAMP_TX_ONESTEP_P2P = 3, + __HWTSTAMP_TX_CNT = 4, +}; + +enum hybrid_pmu_type { + not_hybrid = 0, + hybrid_small = 1, + hybrid_big = 2, + hybrid_tiny = 4, + hybrid_big_small = 3, + hybrid_small_tiny = 5, + hybrid_big_small_tiny = 7, +}; + +enum i2c_alert_protocol { + I2C_PROTOCOL_SMBUS_ALERT = 0, + I2C_PROTOCOL_SMBUS_HOST_NOTIFY = 1, +}; + +enum i2c_driver_flags { + I2C_DRV_ACPI_WAIVE_D0_PROBE = 1, +}; + +enum i2c_slave_event { + I2C_SLAVE_READ_REQUESTED = 0, + I2C_SLAVE_WRITE_REQUESTED = 1, + I2C_SLAVE_READ_PROCESSED = 2, + I2C_SLAVE_WRITE_RECEIVED = 3, + I2C_SLAVE_STOP = 4, +}; + +enum i8042_controller_reset_mode { + I8042_RESET_NEVER = 0, + I8042_RESET_ALWAYS = 1, + I8042_RESET_ON_S2RAM = 2, +}; + +enum ib_atomic_cap { + IB_ATOMIC_NONE = 0, + IB_ATOMIC_HCA = 1, + IB_ATOMIC_GLOB = 2, +}; + +enum ib_cq_notify_flags { + IB_CQ_SOLICITED = 1, + IB_CQ_NEXT_COMP = 2, + IB_CQ_SOLICITED_MASK = 3, + IB_CQ_REPORT_MISSED_EVENTS = 4, +}; + +enum ib_event_type { + IB_EVENT_CQ_ERR = 0, + IB_EVENT_QP_FATAL = 1, + IB_EVENT_QP_REQ_ERR = 2, + IB_EVENT_QP_ACCESS_ERR = 3, + IB_EVENT_COMM_EST = 4, + IB_EVENT_SQ_DRAINED = 5, + IB_EVENT_PATH_MIG = 6, + IB_EVENT_PATH_MIG_ERR = 7, + IB_EVENT_DEVICE_FATAL = 8, + IB_EVENT_PORT_ACTIVE = 9, + IB_EVENT_PORT_ERR = 10, + IB_EVENT_LID_CHANGE = 11, + IB_EVENT_PKEY_CHANGE = 12, + IB_EVENT_SM_CHANGE = 13, + IB_EVENT_SRQ_ERR = 14, + IB_EVENT_SRQ_LIMIT_REACHED = 15, + IB_EVENT_QP_LAST_WQE_REACHED = 16, + IB_EVENT_CLIENT_REREGISTER = 17, + IB_EVENT_GID_CHANGE = 18, + IB_EVENT_WQ_FATAL = 19, +}; + +enum ib_flow_action_type { + IB_FLOW_ACTION_UNSPECIFIED = 0, + IB_FLOW_ACTION_ESP = 1, +}; + +enum ib_flow_attr_type { + IB_FLOW_ATTR_NORMAL = 0, + IB_FLOW_ATTR_ALL_DEFAULT = 1, + IB_FLOW_ATTR_MC_DEFAULT = 2, + IB_FLOW_ATTR_SNIFFER = 3, +}; + +enum ib_flow_spec_type { + IB_FLOW_SPEC_ETH = 32, + IB_FLOW_SPEC_IB = 34, + IB_FLOW_SPEC_IPV4 = 48, + IB_FLOW_SPEC_IPV6 = 49, + IB_FLOW_SPEC_ESP = 52, + IB_FLOW_SPEC_TCP = 64, + IB_FLOW_SPEC_UDP = 65, + IB_FLOW_SPEC_VXLAN_TUNNEL = 80, + IB_FLOW_SPEC_GRE = 81, + IB_FLOW_SPEC_MPLS = 96, + IB_FLOW_SPEC_INNER = 256, + IB_FLOW_SPEC_ACTION_TAG = 4096, + IB_FLOW_SPEC_ACTION_DROP = 4097, + IB_FLOW_SPEC_ACTION_HANDLE = 4098, + IB_FLOW_SPEC_ACTION_COUNT = 4099, +}; + +enum ib_gid_type { + IB_GID_TYPE_IB = 0, + IB_GID_TYPE_ROCE = 1, + IB_GID_TYPE_ROCE_UDP_ENCAP = 2, + IB_GID_TYPE_SIZE = 3, +}; + +enum ib_mig_state { + IB_MIG_MIGRATED = 0, + IB_MIG_REARM = 1, + IB_MIG_ARMED = 2, +}; + +enum ib_mr_type { + IB_MR_TYPE_MEM_REG = 0, + IB_MR_TYPE_SG_GAPS = 1, + IB_MR_TYPE_DM = 2, + IB_MR_TYPE_USER = 3, + IB_MR_TYPE_DMA = 4, + IB_MR_TYPE_INTEGRITY = 5, +}; + +enum ib_mtu { + IB_MTU_256 = 1, + IB_MTU_512 = 2, + IB_MTU_1024 = 3, + IB_MTU_2048 = 4, + IB_MTU_4096 = 5, +}; + +enum ib_mw_type { + IB_MW_TYPE_1 = 1, + IB_MW_TYPE_2 = 2, +}; + +enum ib_poll_context { + IB_POLL_SOFTIRQ = 0, + IB_POLL_WORKQUEUE = 1, + IB_POLL_UNBOUND_WORKQUEUE = 2, + IB_POLL_LAST_POOL_TYPE = 2, + IB_POLL_DIRECT = 3, +}; + +enum ib_port_state { + IB_PORT_NOP = 0, + IB_PORT_DOWN = 1, + IB_PORT_INIT = 2, + IB_PORT_ARMED = 3, + IB_PORT_ACTIVE = 4, + IB_PORT_ACTIVE_DEFER = 5, +}; + +enum ib_qp_state { + IB_QPS_RESET = 0, + IB_QPS_INIT = 1, + IB_QPS_RTR = 2, + IB_QPS_RTS = 3, + IB_QPS_SQD = 4, + IB_QPS_SQE = 5, + IB_QPS_ERR = 6, +}; + +enum ib_qp_type { + IB_QPT_SMI = 0, + IB_QPT_GSI = 1, + IB_QPT_RC = 2, + IB_QPT_UC = 3, + IB_QPT_UD = 4, + IB_QPT_RAW_IPV6 = 5, + IB_QPT_RAW_ETHERTYPE = 6, + IB_QPT_RAW_PACKET = 8, + IB_QPT_XRC_INI = 9, + IB_QPT_XRC_TGT = 10, + IB_QPT_MAX = 11, + IB_QPT_DRIVER = 255, + IB_QPT_RESERVED1 = 4096, + IB_QPT_RESERVED2 = 4097, + IB_QPT_RESERVED3 = 4098, + IB_QPT_RESERVED4 = 4099, + IB_QPT_RESERVED5 = 4100, + IB_QPT_RESERVED6 = 4101, + IB_QPT_RESERVED7 = 4102, + IB_QPT_RESERVED8 = 4103, + IB_QPT_RESERVED9 = 4104, + IB_QPT_RESERVED10 = 4105, +}; + +enum ib_sig_err_type { + IB_SIG_BAD_GUARD = 0, + IB_SIG_BAD_REFTAG = 1, + IB_SIG_BAD_APPTAG = 2, +}; + +enum ib_sig_type { + IB_SIGNAL_ALL_WR = 0, + IB_SIGNAL_REQ_WR = 1, +}; + +enum ib_signature_type { + IB_SIG_TYPE_NONE = 0, + IB_SIG_TYPE_T10_DIF = 1, +}; + +enum ib_srq_attr_mask { + IB_SRQ_MAX_WR = 1, + IB_SRQ_LIMIT = 2, +}; + +enum ib_srq_type { + IB_SRQT_BASIC = 0, + IB_SRQT_XRC = 1, + IB_SRQT_TM = 2, +}; + +enum ib_t10_dif_bg_type { + IB_T10DIF_CRC = 0, + IB_T10DIF_CSUM = 1, +}; + +enum ib_uverbs_access_flags { + IB_UVERBS_ACCESS_LOCAL_WRITE = 1, + IB_UVERBS_ACCESS_REMOTE_WRITE = 2, + IB_UVERBS_ACCESS_REMOTE_READ = 4, + IB_UVERBS_ACCESS_REMOTE_ATOMIC = 8, + IB_UVERBS_ACCESS_MW_BIND = 16, + IB_UVERBS_ACCESS_ZERO_BASED = 32, + IB_UVERBS_ACCESS_ON_DEMAND = 64, + IB_UVERBS_ACCESS_HUGETLB = 128, + IB_UVERBS_ACCESS_FLUSH_GLOBAL = 256, + IB_UVERBS_ACCESS_FLUSH_PERSISTENT = 512, + IB_UVERBS_ACCESS_RELAXED_ORDERING = 1048576, + IB_UVERBS_ACCESS_OPTIONAL_RANGE = 1072693248, +}; + +enum ib_uverbs_advise_mr_advice { + IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH = 0, + IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH_WRITE = 1, + IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH_NO_FAULT = 2, +}; + +enum ib_uverbs_create_qp_mask { + IB_UVERBS_CREATE_QP_MASK_IND_TABLE = 1, +}; + +enum ib_uverbs_device_cap_flags { + IB_UVERBS_DEVICE_RESIZE_MAX_WR = 1ULL, + IB_UVERBS_DEVICE_BAD_PKEY_CNTR = 2ULL, + IB_UVERBS_DEVICE_BAD_QKEY_CNTR = 4ULL, + IB_UVERBS_DEVICE_RAW_MULTI = 8ULL, + IB_UVERBS_DEVICE_AUTO_PATH_MIG = 16ULL, + IB_UVERBS_DEVICE_CHANGE_PHY_PORT = 32ULL, + IB_UVERBS_DEVICE_UD_AV_PORT_ENFORCE = 64ULL, + IB_UVERBS_DEVICE_CURR_QP_STATE_MOD = 128ULL, + IB_UVERBS_DEVICE_SHUTDOWN_PORT = 256ULL, + IB_UVERBS_DEVICE_PORT_ACTIVE_EVENT = 1024ULL, + IB_UVERBS_DEVICE_SYS_IMAGE_GUID = 2048ULL, + IB_UVERBS_DEVICE_RC_RNR_NAK_GEN = 4096ULL, + IB_UVERBS_DEVICE_SRQ_RESIZE = 8192ULL, + IB_UVERBS_DEVICE_N_NOTIFY_CQ = 16384ULL, + IB_UVERBS_DEVICE_MEM_WINDOW = 131072ULL, + IB_UVERBS_DEVICE_UD_IP_CSUM = 262144ULL, + IB_UVERBS_DEVICE_XRC = 1048576ULL, + IB_UVERBS_DEVICE_MEM_MGT_EXTENSIONS = 2097152ULL, + IB_UVERBS_DEVICE_MEM_WINDOW_TYPE_2A = 8388608ULL, + IB_UVERBS_DEVICE_MEM_WINDOW_TYPE_2B = 16777216ULL, + IB_UVERBS_DEVICE_RC_IP_CSUM = 33554432ULL, + IB_UVERBS_DEVICE_RAW_IP_CSUM = 67108864ULL, + IB_UVERBS_DEVICE_MANAGED_FLOW_STEERING = 536870912ULL, + IB_UVERBS_DEVICE_RAW_SCATTER_FCS = 17179869184ULL, + IB_UVERBS_DEVICE_PCI_WRITE_END_PADDING = 68719476736ULL, + IB_UVERBS_DEVICE_FLUSH_GLOBAL = 274877906944ULL, + IB_UVERBS_DEVICE_FLUSH_PERSISTENT = 549755813888ULL, + IB_UVERBS_DEVICE_ATOMIC_WRITE = 1099511627776ULL, +}; + +enum ib_uverbs_gid_type { + IB_UVERBS_GID_TYPE_IB = 0, + IB_UVERBS_GID_TYPE_ROCE_V1 = 1, + IB_UVERBS_GID_TYPE_ROCE_V2 = 2, +}; + +enum ib_uverbs_odp_general_cap_bits { + IB_UVERBS_ODP_SUPPORT = 1, + IB_UVERBS_ODP_SUPPORT_IMPLICIT = 2, +}; + +enum ib_uverbs_odp_transport_cap_bits { + IB_UVERBS_ODP_SUPPORT_SEND = 1, + IB_UVERBS_ODP_SUPPORT_RECV = 2, + IB_UVERBS_ODP_SUPPORT_WRITE = 4, + IB_UVERBS_ODP_SUPPORT_READ = 8, + IB_UVERBS_ODP_SUPPORT_ATOMIC = 16, + IB_UVERBS_ODP_SUPPORT_SRQ_RECV = 32, + IB_UVERBS_ODP_SUPPORT_FLUSH = 64, + IB_UVERBS_ODP_SUPPORT_ATOMIC_WRITE = 128, +}; + +enum ib_uverbs_qp_create_flags { + IB_UVERBS_QP_CREATE_BLOCK_MULTICAST_LOOPBACK = 2, + IB_UVERBS_QP_CREATE_SCATTER_FCS = 256, + IB_UVERBS_QP_CREATE_CVLAN_STRIPPING = 512, + IB_UVERBS_QP_CREATE_PCI_WRITE_END_PADDING = 2048, + IB_UVERBS_QP_CREATE_SQ_SIG_ALL = 4096, +}; + +enum ib_uverbs_qp_type { + IB_UVERBS_QPT_RC = 2, + IB_UVERBS_QPT_UC = 3, + IB_UVERBS_QPT_UD = 4, + IB_UVERBS_QPT_RAW_PACKET = 8, + IB_UVERBS_QPT_XRC_INI = 9, + IB_UVERBS_QPT_XRC_TGT = 10, + IB_UVERBS_QPT_DRIVER = 255, +}; + +enum ib_uverbs_raw_packet_caps { + IB_UVERBS_RAW_PACKET_CAP_CVLAN_STRIPPING = 1, + IB_UVERBS_RAW_PACKET_CAP_SCATTER_FCS = 2, + IB_UVERBS_RAW_PACKET_CAP_IP_CSUM = 4, + IB_UVERBS_RAW_PACKET_CAP_DELAY_DROP = 8, +}; + +enum ib_uverbs_srq_type { + IB_UVERBS_SRQT_BASIC = 0, + IB_UVERBS_SRQT_XRC = 1, + IB_UVERBS_SRQT_TM = 2, +}; + +enum ib_uverbs_wc_opcode { + IB_UVERBS_WC_SEND = 0, + IB_UVERBS_WC_RDMA_WRITE = 1, + IB_UVERBS_WC_RDMA_READ = 2, + IB_UVERBS_WC_COMP_SWAP = 3, + IB_UVERBS_WC_FETCH_ADD = 4, + IB_UVERBS_WC_BIND_MW = 5, + IB_UVERBS_WC_LOCAL_INV = 6, + IB_UVERBS_WC_TSO = 7, + IB_UVERBS_WC_FLUSH = 8, + IB_UVERBS_WC_ATOMIC_WRITE = 9, +}; + +enum ib_uverbs_wq_flags { + IB_UVERBS_WQ_FLAGS_CVLAN_STRIPPING = 1, + IB_UVERBS_WQ_FLAGS_SCATTER_FCS = 2, + IB_UVERBS_WQ_FLAGS_DELAY_DROP = 4, + IB_UVERBS_WQ_FLAGS_PCI_WRITE_END_PADDING = 8, +}; + +enum ib_uverbs_wq_type { + IB_UVERBS_WQT_RQ = 0, +}; + +enum ib_uverbs_wr_opcode { + IB_UVERBS_WR_RDMA_WRITE = 0, + IB_UVERBS_WR_RDMA_WRITE_WITH_IMM = 1, + IB_UVERBS_WR_SEND = 2, + IB_UVERBS_WR_SEND_WITH_IMM = 3, + IB_UVERBS_WR_RDMA_READ = 4, + IB_UVERBS_WR_ATOMIC_CMP_AND_SWP = 5, + IB_UVERBS_WR_ATOMIC_FETCH_AND_ADD = 6, + IB_UVERBS_WR_LOCAL_INV = 7, + IB_UVERBS_WR_BIND_MW = 8, + IB_UVERBS_WR_SEND_WITH_INV = 9, + IB_UVERBS_WR_TSO = 10, + IB_UVERBS_WR_RDMA_READ_WITH_INV = 11, + IB_UVERBS_WR_MASKED_ATOMIC_CMP_AND_SWP = 12, + IB_UVERBS_WR_MASKED_ATOMIC_FETCH_AND_ADD = 13, + IB_UVERBS_WR_FLUSH = 14, + IB_UVERBS_WR_ATOMIC_WRITE = 15, +}; + +enum ib_uverbs_write_cmds { + IB_USER_VERBS_CMD_GET_CONTEXT = 0, + IB_USER_VERBS_CMD_QUERY_DEVICE = 1, + IB_USER_VERBS_CMD_QUERY_PORT = 2, + IB_USER_VERBS_CMD_ALLOC_PD = 3, + IB_USER_VERBS_CMD_DEALLOC_PD = 4, + IB_USER_VERBS_CMD_CREATE_AH = 5, + IB_USER_VERBS_CMD_MODIFY_AH = 6, + IB_USER_VERBS_CMD_QUERY_AH = 7, + IB_USER_VERBS_CMD_DESTROY_AH = 8, + IB_USER_VERBS_CMD_REG_MR = 9, + IB_USER_VERBS_CMD_REG_SMR = 10, + IB_USER_VERBS_CMD_REREG_MR = 11, + IB_USER_VERBS_CMD_QUERY_MR = 12, + IB_USER_VERBS_CMD_DEREG_MR = 13, + IB_USER_VERBS_CMD_ALLOC_MW = 14, + IB_USER_VERBS_CMD_BIND_MW = 15, + IB_USER_VERBS_CMD_DEALLOC_MW = 16, + IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL = 17, + IB_USER_VERBS_CMD_CREATE_CQ = 18, + IB_USER_VERBS_CMD_RESIZE_CQ = 19, + IB_USER_VERBS_CMD_DESTROY_CQ = 20, + IB_USER_VERBS_CMD_POLL_CQ = 21, + IB_USER_VERBS_CMD_PEEK_CQ = 22, + IB_USER_VERBS_CMD_REQ_NOTIFY_CQ = 23, + IB_USER_VERBS_CMD_CREATE_QP = 24, + IB_USER_VERBS_CMD_QUERY_QP = 25, + IB_USER_VERBS_CMD_MODIFY_QP = 26, + IB_USER_VERBS_CMD_DESTROY_QP = 27, + IB_USER_VERBS_CMD_POST_SEND = 28, + IB_USER_VERBS_CMD_POST_RECV = 29, + IB_USER_VERBS_CMD_ATTACH_MCAST = 30, + IB_USER_VERBS_CMD_DETACH_MCAST = 31, + IB_USER_VERBS_CMD_CREATE_SRQ = 32, + IB_USER_VERBS_CMD_MODIFY_SRQ = 33, + IB_USER_VERBS_CMD_QUERY_SRQ = 34, + IB_USER_VERBS_CMD_DESTROY_SRQ = 35, + IB_USER_VERBS_CMD_POST_SRQ_RECV = 36, + IB_USER_VERBS_CMD_OPEN_XRCD = 37, + IB_USER_VERBS_CMD_CLOSE_XRCD = 38, + IB_USER_VERBS_CMD_CREATE_XSRQ = 39, + IB_USER_VERBS_CMD_OPEN_QP = 40, +}; + +enum ib_wc_opcode { + IB_WC_SEND = 0, + IB_WC_RDMA_WRITE = 1, + IB_WC_RDMA_READ = 2, + IB_WC_COMP_SWAP = 3, + IB_WC_FETCH_ADD = 4, + IB_WC_BIND_MW = 5, + IB_WC_LOCAL_INV = 6, + IB_WC_LSO = 7, + IB_WC_ATOMIC_WRITE = 9, + IB_WC_REG_MR = 10, + IB_WC_MASKED_COMP_SWAP = 11, + IB_WC_MASKED_FETCH_ADD = 12, + IB_WC_FLUSH = 8, + IB_WC_RECV = 128, + IB_WC_RECV_RDMA_WITH_IMM = 129, +}; + +enum ib_wc_status { + IB_WC_SUCCESS = 0, + IB_WC_LOC_LEN_ERR = 1, + IB_WC_LOC_QP_OP_ERR = 2, + IB_WC_LOC_EEC_OP_ERR = 3, + IB_WC_LOC_PROT_ERR = 4, + IB_WC_WR_FLUSH_ERR = 5, + IB_WC_MW_BIND_ERR = 6, + IB_WC_BAD_RESP_ERR = 7, + IB_WC_LOC_ACCESS_ERR = 8, + IB_WC_REM_INV_REQ_ERR = 9, + IB_WC_REM_ACCESS_ERR = 10, + IB_WC_REM_OP_ERR = 11, + IB_WC_RETRY_EXC_ERR = 12, + IB_WC_RNR_RETRY_EXC_ERR = 13, + IB_WC_LOC_RDD_VIOL_ERR = 14, + IB_WC_REM_INV_RD_REQ_ERR = 15, + IB_WC_REM_ABORT_ERR = 16, + IB_WC_INV_EECN_ERR = 17, + IB_WC_INV_EEC_STATE_ERR = 18, + IB_WC_FATAL_ERR = 19, + IB_WC_RESP_TIMEOUT_ERR = 20, + IB_WC_GENERAL_ERR = 21, +}; + +enum ib_wq_state { + IB_WQS_RESET = 0, + IB_WQS_RDY = 1, + IB_WQS_ERR = 2, +}; + +enum ib_wq_type { + IB_WQT_RQ = 0, +}; + +enum ib_wr_opcode { + IB_WR_RDMA_WRITE = 0, + IB_WR_RDMA_WRITE_WITH_IMM = 1, + IB_WR_SEND = 2, + IB_WR_SEND_WITH_IMM = 3, + IB_WR_RDMA_READ = 4, + IB_WR_ATOMIC_CMP_AND_SWP = 5, + IB_WR_ATOMIC_FETCH_AND_ADD = 6, + IB_WR_BIND_MW = 8, + IB_WR_LSO = 10, + IB_WR_SEND_WITH_INV = 9, + IB_WR_RDMA_READ_WITH_INV = 11, + IB_WR_LOCAL_INV = 7, + IB_WR_MASKED_ATOMIC_CMP_AND_SWP = 12, + IB_WR_MASKED_ATOMIC_FETCH_AND_ADD = 13, + IB_WR_FLUSH = 14, + IB_WR_ATOMIC_WRITE = 15, + IB_WR_REG_MR = 32, + IB_WR_REG_MR_INTEGRITY = 33, + IB_WR_RESERVED1 = 240, + IB_WR_RESERVED2 = 241, + IB_WR_RESERVED3 = 242, + IB_WR_RESERVED4 = 243, + IB_WR_RESERVED5 = 244, + IB_WR_RESERVED6 = 245, + IB_WR_RESERVED7 = 246, + IB_WR_RESERVED8 = 247, + IB_WR_RESERVED9 = 248, + IB_WR_RESERVED10 = 249, +}; + +enum ibs_states { + IBS_ENABLED = 0, + IBS_STARTED = 1, + IBS_STOPPING = 2, + IBS_STOPPED = 3, + IBS_MAX_STATES = 4, +}; + +enum id_action { + ID_REMOVE = 0, + ID_ADD = 1, +}; + +enum idle_boot_override { + IDLE_NO_OVERRIDE = 0, + IDLE_HALT = 1, + IDLE_NOMWAIT = 2, + IDLE_POLL = 3, +}; + +enum ieee80211_bss_type { + IEEE80211_BSS_TYPE_ESS = 0, + IEEE80211_BSS_TYPE_PBSS = 1, + IEEE80211_BSS_TYPE_IBSS = 2, + IEEE80211_BSS_TYPE_MBSS = 3, + IEEE80211_BSS_TYPE_ANY = 4, +}; + +enum ieee80211_edmg_bw_config { + IEEE80211_EDMG_BW_CONFIG_4 = 4, + IEEE80211_EDMG_BW_CONFIG_5 = 5, + IEEE80211_EDMG_BW_CONFIG_6 = 6, + IEEE80211_EDMG_BW_CONFIG_7 = 7, + IEEE80211_EDMG_BW_CONFIG_8 = 8, + IEEE80211_EDMG_BW_CONFIG_9 = 9, + IEEE80211_EDMG_BW_CONFIG_10 = 10, + IEEE80211_EDMG_BW_CONFIG_11 = 11, + IEEE80211_EDMG_BW_CONFIG_12 = 12, + IEEE80211_EDMG_BW_CONFIG_13 = 13, + IEEE80211_EDMG_BW_CONFIG_14 = 14, + IEEE80211_EDMG_BW_CONFIG_15 = 15, +}; + +enum ieee802154_filtering_level { + IEEE802154_FILTERING_NONE = 0, + IEEE802154_FILTERING_1_FCS = 1, + IEEE802154_FILTERING_2_PROMISCUOUS = 2, + IEEE802154_FILTERING_3_SCAN = 3, + IEEE802154_FILTERING_4_FRAME_FIELDS = 4, +}; + +enum ieee8021q_traffic_type { + IEEE8021Q_TT_BK = 0, + IEEE8021Q_TT_BE = 1, + IEEE8021Q_TT_EE = 2, + IEEE8021Q_TT_CA = 3, + IEEE8021Q_TT_VI = 4, + IEEE8021Q_TT_VO = 5, + IEEE8021Q_TT_IC = 6, + IEEE8021Q_TT_NC = 7, + IEEE8021Q_TT_MAX = 8, +}; + +enum ieee_attrs { + DCB_ATTR_IEEE_UNSPEC = 0, + DCB_ATTR_IEEE_ETS = 1, + DCB_ATTR_IEEE_PFC = 2, + DCB_ATTR_IEEE_APP_TABLE = 3, + DCB_ATTR_IEEE_PEER_ETS = 4, + DCB_ATTR_IEEE_PEER_PFC = 5, + DCB_ATTR_IEEE_PEER_APP = 6, + DCB_ATTR_IEEE_MAXRATE = 7, + DCB_ATTR_IEEE_QCN = 8, + DCB_ATTR_IEEE_QCN_STATS = 9, + DCB_ATTR_DCB_BUFFER = 10, + DCB_ATTR_DCB_APP_TRUST_TABLE = 11, + DCB_ATTR_DCB_REWR_TABLE = 12, + __DCB_ATTR_IEEE_MAX = 13, +}; + +enum ieee_attrs_app { + DCB_ATTR_IEEE_APP_UNSPEC = 0, + DCB_ATTR_IEEE_APP = 1, + DCB_ATTR_DCB_APP = 2, + __DCB_ATTR_IEEE_APP_MAX = 3, +}; + +enum ima_fs_flags { + IMA_FS_BUSY = 0, +}; + +enum ima_hooks { + NONE___2 = 0, + FILE_CHECK = 1, + MMAP_CHECK = 2, + MMAP_CHECK_REQPROT = 3, + BPRM_CHECK = 4, + CREDS_CHECK = 5, + POST_SETATTR = 6, + MODULE_CHECK = 7, + FIRMWARE_CHECK = 8, + KEXEC_KERNEL_CHECK = 9, + KEXEC_INITRAMFS_CHECK = 10, + POLICY_CHECK = 11, + KEXEC_CMDLINE = 12, + KEY_CHECK = 13, + CRITICAL_DATA = 14, + SETXATTR_CHECK = 15, + MAX_CHECK = 16, +}; + +enum ima_show_type { + IMA_SHOW_BINARY = 0, + IMA_SHOW_BINARY_NO_FIELD_LEN = 1, + IMA_SHOW_BINARY_OLD_STRING_FMT = 2, + IMA_SHOW_ASCII = 3, +}; + +enum in6_addr_gen_mode { + IN6_ADDR_GEN_MODE_EUI64 = 0, + IN6_ADDR_GEN_MODE_NONE = 1, + IN6_ADDR_GEN_MODE_STABLE_PRIVACY = 2, + IN6_ADDR_GEN_MODE_RANDOM = 3, +}; + +enum inet_csk_ack_state_t { + ICSK_ACK_SCHED = 1, + ICSK_ACK_TIMER = 2, + ICSK_ACK_PUSHED = 4, + ICSK_ACK_PUSHED2 = 8, + ICSK_ACK_NOW = 16, + ICSK_ACK_NOMEM = 32, +}; + +enum init_ns_ino { + IPC_NS_INIT_INO = 4026531839, + UTS_NS_INIT_INO = 4026531838, + USER_NS_INIT_INO = 4026531837, + PID_NS_INIT_INO = 4026531836, + CGROUP_NS_INIT_INO = 4026531835, + TIME_NS_INIT_INO = 4026531834, + NET_NS_INIT_INO = 4026531833, + MNT_NS_INIT_INO = 4026531832, +}; + +enum inode_i_mutex_lock_class { + I_MUTEX_NORMAL = 0, + I_MUTEX_PARENT = 1, + I_MUTEX_CHILD = 2, + I_MUTEX_XATTR = 3, + I_MUTEX_NONDIR2 = 4, + I_MUTEX_PARENT2 = 5, +}; + +enum input_clock_type { + INPUT_CLK_REAL = 0, + INPUT_CLK_MONO = 1, + INPUT_CLK_BOOT = 2, + INPUT_CLK_MAX = 3, +}; + +enum insn_mmio_type { + INSN_MMIO_DECODE_FAILED = 0, + INSN_MMIO_WRITE = 1, + INSN_MMIO_WRITE_IMM = 2, + INSN_MMIO_READ = 3, + INSN_MMIO_READ_ZERO_EXTEND = 4, + INSN_MMIO_READ_SIGN_EXTEND = 5, + INSN_MMIO_MOVS = 6, +}; + +enum insn_mode { + INSN_MODE_32 = 0, + INSN_MODE_64 = 1, + INSN_MODE_KERN = 2, + INSN_NUM_MODES = 3, +}; + +enum insn_type { + CALL = 0, + NOP = 1, + JMP = 2, + RET = 3, + JCC = 4, +}; + +enum int_type { + SYS_INT = 1, + DCDC_INT = 2, + RTC_INT = 4, + ADC_INT = 8, + GPIO_INT = 16, +}; + +enum integrity_status { + INTEGRITY_PASS = 0, + INTEGRITY_PASS_IMMUTABLE = 1, + INTEGRITY_FAIL = 2, + INTEGRITY_FAIL_IMMUTABLE = 3, + INTEGRITY_NOLABEL = 4, + INTEGRITY_NOXATTRS = 5, + INTEGRITY_UNKNOWN = 6, +}; + +enum intel_cht_wc_models { + INTEL_CHT_WC_UNKNOWN = 0, + INTEL_CHT_WC_GPD_WIN_POCKET = 1, + INTEL_CHT_WC_XIAOMI_MIPAD2 = 2, + INTEL_CHT_WC_LENOVO_YOGABOOK1 = 3, + INTEL_CHT_WC_LENOVO_YT3_X90 = 4, +}; + +enum intel_cpu_type { + INTEL_CPU_TYPE_UNKNOWN = 0, + INTEL_CPU_TYPE_ATOM = 32, + INTEL_CPU_TYPE_CORE = 64, +}; + +enum intel_excl_state_type { + INTEL_EXCL_UNUSED = 0, + INTEL_EXCL_SHARED = 1, + INTEL_EXCL_EXCLUSIVE = 2, +}; + +enum intel_native_id { + INTEL_ATOM_CMT_NATIVE_ID = 2, + INTEL_ATOM_SKT_NATIVE_ID = 3, +}; + +enum intercept_words { + INTERCEPT_CR = 0, + INTERCEPT_DR = 1, + INTERCEPT_EXCEPTION = 2, + INTERCEPT_WORD3 = 3, + INTERCEPT_WORD4 = 4, + INTERCEPT_WORD5 = 5, + MAX_INTERCEPT = 6, +}; + +enum io_pgtable_caps { + IO_PGTABLE_CAP_CUSTOM_ALLOCATOR = 1, +}; + +enum io_pgtable_fmt { + ARM_32_LPAE_S1 = 0, + ARM_32_LPAE_S2 = 1, + ARM_64_LPAE_S1 = 2, + ARM_64_LPAE_S2 = 3, + ARM_V7S = 4, + ARM_MALI_LPAE = 5, + AMD_IOMMU_V1 = 6, + AMD_IOMMU_V2 = 7, + APPLE_DART = 8, + APPLE_DART2 = 9, + IO_PGTABLE_NUM_FMTS = 10, +}; + +enum io_uring_cmd_flags { + IO_URING_F_COMPLETE_DEFER = 1, + IO_URING_F_UNLOCKED = 2, + IO_URING_F_MULTISHOT = 4, + IO_URING_F_IOWQ = 8, + IO_URING_F_INLINE = 16, + IO_URING_F_NONBLOCK = -2147483648, + IO_URING_F_SQE128 = 256, + IO_URING_F_CQE32 = 512, + IO_URING_F_IOPOLL = 1024, + IO_URING_F_CANCEL = 2048, + IO_URING_F_COMPAT = 4096, + IO_URING_F_TASK_DEAD = 8192, +}; + +enum io_uring_msg_ring_flags { + IORING_MSG_DATA = 0, + IORING_MSG_SEND_FD = 1, +}; + +enum io_uring_napi_op { + IO_URING_NAPI_REGISTER_OP = 0, + IO_URING_NAPI_STATIC_ADD_ID = 1, + IO_URING_NAPI_STATIC_DEL_ID = 2, +}; + +enum io_uring_napi_tracking_strategy { + IO_URING_NAPI_TRACKING_DYNAMIC = 0, + IO_URING_NAPI_TRACKING_STATIC = 1, + IO_URING_NAPI_TRACKING_INACTIVE = 255, +}; + +enum io_uring_op { + IORING_OP_NOP = 0, + IORING_OP_READV = 1, + IORING_OP_WRITEV = 2, + IORING_OP_FSYNC = 3, + IORING_OP_READ_FIXED = 4, + IORING_OP_WRITE_FIXED = 5, + IORING_OP_POLL_ADD = 6, + IORING_OP_POLL_REMOVE = 7, + IORING_OP_SYNC_FILE_RANGE = 8, + IORING_OP_SENDMSG = 9, + IORING_OP_RECVMSG = 10, + IORING_OP_TIMEOUT = 11, + IORING_OP_TIMEOUT_REMOVE = 12, + IORING_OP_ACCEPT = 13, + IORING_OP_ASYNC_CANCEL = 14, + IORING_OP_LINK_TIMEOUT = 15, + IORING_OP_CONNECT = 16, + IORING_OP_FALLOCATE = 17, + IORING_OP_OPENAT = 18, + IORING_OP_CLOSE = 19, + IORING_OP_FILES_UPDATE = 20, + IORING_OP_STATX = 21, + IORING_OP_READ = 22, + IORING_OP_WRITE = 23, + IORING_OP_FADVISE = 24, + IORING_OP_MADVISE = 25, + IORING_OP_SEND = 26, + IORING_OP_RECV = 27, + IORING_OP_OPENAT2 = 28, + IORING_OP_EPOLL_CTL = 29, + IORING_OP_SPLICE = 30, + IORING_OP_PROVIDE_BUFFERS = 31, + IORING_OP_REMOVE_BUFFERS = 32, + IORING_OP_TEE = 33, + IORING_OP_SHUTDOWN = 34, + IORING_OP_RENAMEAT = 35, + IORING_OP_UNLINKAT = 36, + IORING_OP_MKDIRAT = 37, + IORING_OP_SYMLINKAT = 38, + IORING_OP_LINKAT = 39, + IORING_OP_MSG_RING = 40, + IORING_OP_FSETXATTR = 41, + IORING_OP_SETXATTR = 42, + IORING_OP_FGETXATTR = 43, + IORING_OP_GETXATTR = 44, + IORING_OP_SOCKET = 45, + IORING_OP_URING_CMD = 46, + IORING_OP_SEND_ZC = 47, + IORING_OP_SENDMSG_ZC = 48, + IORING_OP_READ_MULTISHOT = 49, + IORING_OP_WAITID = 50, + IORING_OP_FUTEX_WAIT = 51, + IORING_OP_FUTEX_WAKE = 52, + IORING_OP_FUTEX_WAITV = 53, + IORING_OP_FIXED_FD_INSTALL = 54, + IORING_OP_FTRUNCATE = 55, + IORING_OP_BIND = 56, + IORING_OP_LISTEN = 57, + IORING_OP_RECV_ZC = 58, + IORING_OP_EPOLL_WAIT = 59, + IORING_OP_READV_FIXED = 60, + IORING_OP_WRITEV_FIXED = 61, + IORING_OP_PIPE = 62, + IORING_OP_LAST = 63, +}; + +enum io_uring_register_op { + IORING_REGISTER_BUFFERS = 0, + IORING_UNREGISTER_BUFFERS = 1, + IORING_REGISTER_FILES = 2, + IORING_UNREGISTER_FILES = 3, + IORING_REGISTER_EVENTFD = 4, + IORING_UNREGISTER_EVENTFD = 5, + IORING_REGISTER_FILES_UPDATE = 6, + IORING_REGISTER_EVENTFD_ASYNC = 7, + IORING_REGISTER_PROBE = 8, + IORING_REGISTER_PERSONALITY = 9, + IORING_UNREGISTER_PERSONALITY = 10, + IORING_REGISTER_RESTRICTIONS = 11, + IORING_REGISTER_ENABLE_RINGS = 12, + IORING_REGISTER_FILES2 = 13, + IORING_REGISTER_FILES_UPDATE2 = 14, + IORING_REGISTER_BUFFERS2 = 15, + IORING_REGISTER_BUFFERS_UPDATE = 16, + IORING_REGISTER_IOWQ_AFF = 17, + IORING_UNREGISTER_IOWQ_AFF = 18, + IORING_REGISTER_IOWQ_MAX_WORKERS = 19, + IORING_REGISTER_RING_FDS = 20, + IORING_UNREGISTER_RING_FDS = 21, + IORING_REGISTER_PBUF_RING = 22, + IORING_UNREGISTER_PBUF_RING = 23, + IORING_REGISTER_SYNC_CANCEL = 24, + IORING_REGISTER_FILE_ALLOC_RANGE = 25, + IORING_REGISTER_PBUF_STATUS = 26, + IORING_REGISTER_NAPI = 27, + IORING_UNREGISTER_NAPI = 28, + IORING_REGISTER_CLOCK = 29, + IORING_REGISTER_CLONE_BUFFERS = 30, + IORING_REGISTER_SEND_MSG_RING = 31, + IORING_REGISTER_ZCRX_IFQ = 32, + IORING_REGISTER_RESIZE_RINGS = 33, + IORING_REGISTER_MEM_REGION = 34, + IORING_REGISTER_LAST = 35, + IORING_REGISTER_USE_REGISTERED_RING = 2147483648, +}; + +enum io_uring_register_pbuf_ring_flags { + IOU_PBUF_RING_MMAP = 1, + IOU_PBUF_RING_INC = 2, +}; + +enum io_uring_register_restriction_op { + IORING_RESTRICTION_REGISTER_OP = 0, + IORING_RESTRICTION_SQE_OP = 1, + IORING_RESTRICTION_SQE_FLAGS_ALLOWED = 2, + IORING_RESTRICTION_SQE_FLAGS_REQUIRED = 3, + IORING_RESTRICTION_LAST = 4, +}; + +enum io_uring_socket_op { + SOCKET_URING_OP_SIOCINQ = 0, + SOCKET_URING_OP_SIOCOUTQ = 1, + SOCKET_URING_OP_GETSOCKOPT = 2, + SOCKET_URING_OP_SETSOCKOPT = 3, + SOCKET_URING_OP_TX_TIMESTAMP = 4, +}; + +enum io_uring_sqe_flags_bit { + IOSQE_FIXED_FILE_BIT = 0, + IOSQE_IO_DRAIN_BIT = 1, + IOSQE_IO_LINK_BIT = 2, + IOSQE_IO_HARDLINK_BIT = 3, + IOSQE_ASYNC_BIT = 4, + IOSQE_BUFFER_SELECT_BIT = 5, + IOSQE_CQE_SKIP_SUCCESS_BIT = 6, +}; + +enum io_uring_zcrx_area_flags { + IORING_ZCRX_AREA_DMABUF = 1, +}; + +enum io_wq_cancel { + IO_WQ_CANCEL_OK = 0, + IO_WQ_CANCEL_RUNNING = 1, + IO_WQ_CANCEL_NOTFOUND = 2, +}; + +enum io_wq_type { + IO_WQ_BOUND = 0, + IO_WQ_UNBOUND = 1, +}; + +enum ioam6_event_attr { + IOAM6_EVENT_ATTR_UNSPEC = 0, + IOAM6_EVENT_ATTR_TRACE_NAMESPACE = 1, + IOAM6_EVENT_ATTR_TRACE_NODELEN = 2, + IOAM6_EVENT_ATTR_TRACE_TYPE = 3, + IOAM6_EVENT_ATTR_TRACE_DATA = 4, + __IOAM6_EVENT_ATTR_MAX = 5, +}; + +enum ioam6_event_type { + IOAM6_EVENT_UNSPEC = 0, + IOAM6_EVENT_TRACE = 1, +}; + +enum ioapic_domain_type { + IOAPIC_DOMAIN_INVALID = 0, + IOAPIC_DOMAIN_LEGACY = 1, + IOAPIC_DOMAIN_STRICT = 2, + IOAPIC_DOMAIN_DYNAMIC = 3, +}; + +enum ioc_running { + IOC_IDLE = 0, + IOC_RUNNING = 1, + IOC_STOP = 2, +}; + +enum iommu_cap { + IOMMU_CAP_CACHE_COHERENCY = 0, + IOMMU_CAP_NOEXEC = 1, + IOMMU_CAP_PRE_BOOT_PROTECTION = 2, + IOMMU_CAP_ENFORCE_CACHE_COHERENCY = 3, + IOMMU_CAP_DEFERRED_FLUSH = 4, + IOMMU_CAP_DIRTY_TRACKING = 5, +}; + +enum iommu_dma_queue_type { + IOMMU_DMA_OPTS_PER_CPU_QUEUE = 0, + IOMMU_DMA_OPTS_SINGLE_QUEUE = 1, +}; + +enum iommu_domain_cookie_type { + IOMMU_COOKIE_NONE = 0, + IOMMU_COOKIE_DMA_IOVA = 1, + IOMMU_COOKIE_DMA_MSI = 2, + IOMMU_COOKIE_FAULT_HANDLER = 3, + IOMMU_COOKIE_SVA = 4, + IOMMU_COOKIE_IOMMUFD = 5, +}; + +enum iommu_fault_type { + IOMMU_FAULT_PAGE_REQ = 1, +}; + +enum iommu_hw_info_type { + IOMMU_HW_INFO_TYPE_NONE = 0, + IOMMU_HW_INFO_TYPE_DEFAULT = 0, + IOMMU_HW_INFO_TYPE_INTEL_VTD = 1, + IOMMU_HW_INFO_TYPE_ARM_SMMUV3 = 2, + IOMMU_HW_INFO_TYPE_TEGRA241_CMDQV = 3, +}; + +enum iommu_hw_info_vtd_flags { + IOMMU_HW_INFO_VTD_ERRATA_772415_SPR17 = 1, +}; + +enum iommu_hw_queue_type { + IOMMU_HW_QUEUE_TYPE_DEFAULT = 0, + IOMMU_HW_QUEUE_TYPE_TEGRA241_CMDQV = 1, +}; + +enum iommu_hwpt_data_type { + IOMMU_HWPT_DATA_NONE = 0, + IOMMU_HWPT_DATA_VTD_S1 = 1, + IOMMU_HWPT_DATA_ARM_SMMUV3 = 2, +}; + +enum iommu_hwpt_invalidate_data_type { + IOMMU_HWPT_INVALIDATE_DATA_VTD_S1 = 0, + IOMMU_VIOMMU_INVALIDATE_DATA_ARM_SMMUV3 = 1, +}; + +enum iommu_hwpt_vtd_s1_flags { + IOMMU_VTD_S1_SRE = 1, + IOMMU_VTD_S1_EAFE = 2, + IOMMU_VTD_S1_WPE = 4, +}; + +enum iommu_hwpt_vtd_s1_invalidate_flags { + IOMMU_VTD_INV_FLAGS_LEAF = 1, +}; + +enum iommu_init_state { + IOMMU_START_STATE = 0, + IOMMU_IVRS_DETECTED = 1, + IOMMU_ACPI_FINISHED = 2, + IOMMU_ENABLED = 3, + IOMMU_PCI_INIT = 4, + IOMMU_INTERRUPTS_EN = 5, + IOMMU_INITIALIZED = 6, + IOMMU_NOT_FOUND = 7, + IOMMU_INIT_ERROR = 8, + IOMMU_CMDLINE_DISABLED = 9, +}; + +enum iommu_page_response_code { + IOMMU_PAGE_RESP_SUCCESS = 0, + IOMMU_PAGE_RESP_INVALID = 1, + IOMMU_PAGE_RESP_FAILURE = 2, +}; + +enum iommu_resv_type { + IOMMU_RESV_DIRECT = 0, + IOMMU_RESV_DIRECT_RELAXABLE = 1, + IOMMU_RESV_RESERVED = 2, + IOMMU_RESV_MSI = 3, + IOMMU_RESV_SW_MSI = 4, +}; + +enum iommu_veventq_type { + IOMMU_VEVENTQ_TYPE_DEFAULT = 0, + IOMMU_VEVENTQ_TYPE_ARM_SMMUV3 = 1, + IOMMU_VEVENTQ_TYPE_TEGRA241_CMDQV = 2, +}; + +enum iommu_viommu_type { + IOMMU_VIOMMU_TYPE_DEFAULT = 0, + IOMMU_VIOMMU_TYPE_ARM_SMMUV3 = 1, + IOMMU_VIOMMU_TYPE_TEGRA241_CMDQV = 2, +}; + +enum iommufd_hwpt_alloc_flags { + IOMMU_HWPT_ALLOC_NEST_PARENT = 1, + IOMMU_HWPT_ALLOC_DIRTY_TRACKING = 2, + IOMMU_HWPT_FAULT_ID_VALID = 4, + IOMMU_HWPT_ALLOC_PASID = 8, +}; + +enum iommufd_object_type { + IOMMUFD_OBJ_NONE = 0, + IOMMUFD_OBJ_ANY = 0, + IOMMUFD_OBJ_DEVICE = 1, + IOMMUFD_OBJ_HWPT_PAGING = 2, + IOMMUFD_OBJ_HWPT_NESTED = 3, + IOMMUFD_OBJ_IOAS = 4, + IOMMUFD_OBJ_ACCESS = 5, + IOMMUFD_OBJ_FAULT = 6, + IOMMUFD_OBJ_VIOMMU = 7, + IOMMUFD_OBJ_VDEVICE = 8, + IOMMUFD_OBJ_VEVENTQ = 9, + IOMMUFD_OBJ_HW_QUEUE = 10, + IOMMUFD_OBJ_MAX = 11, +}; + +enum ip6_defrag_users { + IP6_DEFRAG_LOCAL_DELIVER = 0, + IP6_DEFRAG_CONNTRACK_IN = 1, + __IP6_DEFRAG_CONNTRACK_IN = 65536, + IP6_DEFRAG_CONNTRACK_OUT = 65537, + __IP6_DEFRAG_CONNTRACK_OUT = 131072, + IP6_DEFRAG_CONNTRACK_BRIDGE_IN = 131073, + __IP6_DEFRAG_CONNTRACK_BRIDGE_IN = 196608, +}; + +enum ip_conntrack_dir { + IP_CT_DIR_ORIGINAL = 0, + IP_CT_DIR_REPLY = 1, + IP_CT_DIR_MAX = 2, +}; + +enum ip_conntrack_info { + IP_CT_ESTABLISHED = 0, + IP_CT_RELATED = 1, + IP_CT_NEW = 2, + IP_CT_IS_REPLY = 3, + IP_CT_ESTABLISHED_REPLY = 3, + IP_CT_RELATED_REPLY = 4, + IP_CT_NUMBER = 5, + IP_CT_UNTRACKED = 7, +}; + +enum ip_conntrack_status { + IPS_EXPECTED_BIT = 0, + IPS_EXPECTED = 1, + IPS_SEEN_REPLY_BIT = 1, + IPS_SEEN_REPLY = 2, + IPS_ASSURED_BIT = 2, + IPS_ASSURED = 4, + IPS_CONFIRMED_BIT = 3, + IPS_CONFIRMED = 8, + IPS_SRC_NAT_BIT = 4, + IPS_SRC_NAT = 16, + IPS_DST_NAT_BIT = 5, + IPS_DST_NAT = 32, + IPS_NAT_MASK = 48, + IPS_SEQ_ADJUST_BIT = 6, + IPS_SEQ_ADJUST = 64, + IPS_SRC_NAT_DONE_BIT = 7, + IPS_SRC_NAT_DONE = 128, + IPS_DST_NAT_DONE_BIT = 8, + IPS_DST_NAT_DONE = 256, + IPS_NAT_DONE_MASK = 384, + IPS_DYING_BIT = 9, + IPS_DYING = 512, + IPS_FIXED_TIMEOUT_BIT = 10, + IPS_FIXED_TIMEOUT = 1024, + IPS_TEMPLATE_BIT = 11, + IPS_TEMPLATE = 2048, + IPS_UNTRACKED_BIT = 12, + IPS_UNTRACKED = 4096, + IPS_NAT_CLASH_BIT = 12, + IPS_NAT_CLASH = 4096, + IPS_HELPER_BIT = 13, + IPS_HELPER = 8192, + IPS_OFFLOAD_BIT = 14, + IPS_OFFLOAD = 16384, + IPS_HW_OFFLOAD_BIT = 15, + IPS_HW_OFFLOAD = 32768, + IPS_UNCHANGEABLE_MASK = 56313, + __IPS_MAX_BIT = 16, +}; + +enum ip_defrag_users { + IP_DEFRAG_LOCAL_DELIVER = 0, + IP_DEFRAG_CALL_RA_CHAIN = 1, + IP_DEFRAG_CONNTRACK_IN = 2, + __IP_DEFRAG_CONNTRACK_IN_END = 65537, + IP_DEFRAG_CONNTRACK_OUT = 65538, + __IP_DEFRAG_CONNTRACK_OUT_END = 131073, + IP_DEFRAG_CONNTRACK_BRIDGE_IN = 131074, + __IP_DEFRAG_CONNTRACK_BRIDGE_IN = 196609, + IP_DEFRAG_VS_IN = 196610, + IP_DEFRAG_VS_OUT = 196611, + IP_DEFRAG_VS_FWD = 196612, + IP_DEFRAG_AF_PACKET = 196613, + IP_DEFRAG_MACVLAN = 196614, +}; + +enum ipe_action_type { + IPE_ACTION_ALLOW = 0, + IPE_ACTION_DENY = 1, + __IPE_ACTION_MAX = 2, +}; + +enum ipe_hook_type { + IPE_HOOK_BPRM_CHECK = 0, + IPE_HOOK_MMAP = 1, + IPE_HOOK_MPROTECT = 2, + IPE_HOOK_KERNEL_READ = 3, + IPE_HOOK_KERNEL_LOAD = 4, + __IPE_HOOK_MAX = 5, +}; + +enum ipe_match { + IPE_MATCH_RULE = 0, + IPE_MATCH_TABLE = 1, + IPE_MATCH_GLOBAL = 2, + __IPE_MATCH_MAX = 3, +}; + +enum ipe_op_type { + IPE_OP_EXEC = 0, + IPE_OP_FIRMWARE = 1, + IPE_OP_KERNEL_MODULE = 2, + IPE_OP_KEXEC_IMAGE = 3, + IPE_OP_KEXEC_INITRAMFS = 4, + IPE_OP_POLICY = 5, + IPE_OP_X509 = 6, + __IPE_OP_MAX = 7, +}; + +enum ipe_prop_type { + IPE_PROP_BOOT_VERIFIED_FALSE = 0, + IPE_PROP_BOOT_VERIFIED_TRUE = 1, + IPE_PROP_DMV_ROOTHASH = 2, + IPE_PROP_DMV_SIG_FALSE = 3, + IPE_PROP_DMV_SIG_TRUE = 4, + IPE_PROP_FSV_DIGEST = 5, + IPE_PROP_FSV_SIG_FALSE = 6, + IPE_PROP_FSV_SIG_TRUE = 7, + __IPE_PROP_MAX = 8, +}; + +enum ipi_vector { + XEN_RESCHEDULE_VECTOR = 0, + XEN_CALL_FUNCTION_VECTOR = 1, + XEN_CALL_FUNCTION_SINGLE_VECTOR = 2, + XEN_SPIN_UNLOCK_VECTOR = 3, + XEN_IRQ_WORK_VECTOR = 4, + XEN_NMI_VECTOR = 5, + XEN_NR_IPIS = 6, +}; + +enum ipmi_addr_space { + IPMI_IO_ADDR_SPACE = 0, + IPMI_MEM_ADDR_SPACE = 1, +}; + +enum ipmi_addr_src { + SI_INVALID = 0, + SI_HOTMOD = 1, + SI_HARDCODED = 2, + SI_SPMI = 3, + SI_ACPI = 4, + SI_SMBIOS = 5, + SI_PCI = 6, + SI_DEVICETREE = 7, + SI_PLATFORM = 8, + SI_LAST = 9, +}; + +enum ipmi_plat_interface_type { + IPMI_PLAT_IF_SI = 0, + IPMI_PLAT_IF_SSIF = 1, +}; + +enum irq_alloc_type { + X86_IRQ_ALLOC_TYPE_IOAPIC = 1, + X86_IRQ_ALLOC_TYPE_HPET = 2, + X86_IRQ_ALLOC_TYPE_PCI_MSI = 3, + X86_IRQ_ALLOC_TYPE_PCI_MSIX = 4, + X86_IRQ_ALLOC_TYPE_DMAR = 5, + X86_IRQ_ALLOC_TYPE_AMDVI = 6, + X86_IRQ_ALLOC_TYPE_UV = 7, +}; + +enum irq_domain_bus_token { + DOMAIN_BUS_ANY = 0, + DOMAIN_BUS_WIRED = 1, + DOMAIN_BUS_GENERIC_MSI = 2, + DOMAIN_BUS_PCI_MSI = 3, + DOMAIN_BUS_PLATFORM_MSI = 4, + DOMAIN_BUS_NEXUS = 5, + DOMAIN_BUS_IPI = 6, + DOMAIN_BUS_FSL_MC_MSI = 7, + DOMAIN_BUS_TI_SCI_INTA_MSI = 8, + DOMAIN_BUS_WAKEUP = 9, + DOMAIN_BUS_VMD_MSI = 10, + DOMAIN_BUS_PCI_DEVICE_MSI = 11, + DOMAIN_BUS_PCI_DEVICE_MSIX = 12, + DOMAIN_BUS_DMAR = 13, + DOMAIN_BUS_AMDVI = 14, + DOMAIN_BUS_DEVICE_MSI = 15, + DOMAIN_BUS_WIRED_TO_MSI = 16, +}; + +enum irq_gc_flags { + IRQ_GC_INIT_MASK_CACHE = 1, + IRQ_GC_INIT_NESTED_LOCK = 2, + IRQ_GC_MASK_CACHE_PER_TYPE = 4, + IRQ_GC_NO_MASK = 8, + IRQ_GC_BE_IO = 16, +}; + +enum irq_remap_cap { + IRQ_POSTING_CAP = 0, +}; + +enum irqchip_irq_state { + IRQCHIP_STATE_PENDING = 0, + IRQCHIP_STATE_ACTIVE = 1, + IRQCHIP_STATE_MASKED = 2, + IRQCHIP_STATE_LINE_LEVEL = 3, +}; + +enum irqreturn { + IRQ_NONE = 0, + IRQ_HANDLED = 1, + IRQ_WAKE_THREAD = 2, +}; + +typedef enum irqreturn irqreturn_t; + +enum iter_type { + ITER_UBUF = 0, + ITER_IOVEC = 1, + ITER_BVEC = 2, + ITER_KVEC = 3, + ITER_FOLIOQ = 4, + ITER_XARRAY = 5, + ITER_DISCARD = 6, +}; + +enum its_mitigation { + ITS_MITIGATION_OFF = 0, + ITS_MITIGATION_AUTO = 1, + ITS_MITIGATION_VMEXIT_ONLY = 2, + ITS_MITIGATION_ALIGNED_THUNKS = 3, + ITS_MITIGATION_RETPOLINE_STUFF = 4, +}; + +enum jbd2_shrink_type { + JBD2_SHRINK_DESTROY = 0, + JBD2_SHRINK_BUSY_STOP = 1, + JBD2_SHRINK_BUSY_SKIP = 2, +}; + +enum jbd_state_bits { + BH_JBD = 17, + BH_JWrite = 18, + BH_Freed = 19, + BH_Revoked = 20, + BH_RevokeValid = 21, + BH_JBDDirty = 22, + BH_JournalHead = 23, + BH_Shadow = 24, + BH_Verified = 25, + BH_JBDPrivateStart = 26, +}; + +enum jump_label_type { + JUMP_LABEL_NOP = 0, + JUMP_LABEL_JMP = 1, +}; + +enum kcmp_type { + KCMP_FILE = 0, + KCMP_VM = 1, + KCMP_FILES = 2, + KCMP_FS = 3, + KCMP_SIGHAND = 4, + KCMP_IO = 5, + KCMP_SYSVSEM = 6, + KCMP_EPOLL_TFD = 7, + KCMP_TYPES = 8, +}; + +enum kcore_type { + KCORE_TEXT = 0, + KCORE_VMALLOC = 1, + KCORE_RAM = 2, + KCORE_VMEMMAP = 3, + KCORE_USER = 4, +}; + +enum kdb_msgsrc { + KDB_MSGSRC_INTERNAL = 0, + KDB_MSGSRC_PRINTK = 1, +}; + +enum kernel_gp_hint { + GP_NO_HINT = 0, + GP_NON_CANONICAL = 1, + GP_CANONICAL = 2, +}; + +enum kernel_load_data_id { + LOADING_UNKNOWN = 0, + LOADING_FIRMWARE = 1, + LOADING_MODULE = 2, + LOADING_KEXEC_IMAGE = 3, + LOADING_KEXEC_INITRAMFS = 4, + LOADING_POLICY = 5, + LOADING_X509_CERTIFICATE = 6, + LOADING_MAX_ID = 7, +}; + +enum kernel_pkey_operation { + kernel_pkey_encrypt = 0, + kernel_pkey_decrypt = 1, + kernel_pkey_sign = 2, + kernel_pkey_verify = 3, +}; + +enum kernel_read_file_id { + READING_UNKNOWN = 0, + READING_FIRMWARE = 1, + READING_MODULE = 2, + READING_KEXEC_IMAGE = 3, + READING_KEXEC_INITRAMFS = 4, + READING_POLICY = 5, + READING_X509_CERTIFICATE = 6, + READING_MAX_ID = 7, +}; + +enum kernfs_node_flag { + KERNFS_ACTIVATED = 16, + KERNFS_NS = 32, + KERNFS_HAS_SEQ_SHOW = 64, + KERNFS_HAS_MMAP = 128, + KERNFS_LOCKDEP = 256, + KERNFS_HIDDEN = 512, + KERNFS_SUICIDAL = 1024, + KERNFS_SUICIDED = 2048, + KERNFS_EMPTY_DIR = 4096, + KERNFS_HAS_RELEASE = 8192, + KERNFS_REMOVING = 16384, +}; + +enum kernfs_node_type { + KERNFS_DIR = 1, + KERNFS_FILE = 2, + KERNFS_LINK = 4, +}; + +enum kernfs_root_flag { + KERNFS_ROOT_CREATE_DEACTIVATED = 1, + KERNFS_ROOT_EXTRA_OPEN_PERM_CHECK = 2, + KERNFS_ROOT_SUPPORT_EXPORTOP = 4, + KERNFS_ROOT_SUPPORT_USER_XATTR = 8, + KERNFS_ROOT_INVARIANT_PARENT = 16, +}; + +enum key_being_used_for { + VERIFYING_MODULE_SIGNATURE = 0, + VERIFYING_FIRMWARE_SIGNATURE = 1, + VERIFYING_KEXEC_PE_SIGNATURE = 2, + VERIFYING_KEY_SIGNATURE = 3, + VERIFYING_KEY_SELF_SIGNATURE = 4, + VERIFYING_UNSPECIFIED_SIGNATURE = 5, + NR__KEY_BEING_USED_FOR = 6, +}; + +enum key_lookup_flag { + KEY_LOOKUP_CREATE = 1, + KEY_LOOKUP_PARTIAL = 2, + KEY_LOOKUP_ALL = 3, +}; + +enum key_need_perm { + KEY_NEED_UNSPECIFIED = 0, + KEY_NEED_VIEW = 1, + KEY_NEED_READ = 2, + KEY_NEED_WRITE = 3, + KEY_NEED_SEARCH = 4, + KEY_NEED_LINK = 5, + KEY_NEED_SETATTR = 6, + KEY_NEED_UNLINK = 7, + KEY_SYSADMIN_OVERRIDE = 8, + KEY_AUTHTOKEN_OVERRIDE = 9, + KEY_DEFER_PERM_CHECK = 10, +}; + +enum key_notification_subtype { + NOTIFY_KEY_INSTANTIATED = 0, + NOTIFY_KEY_UPDATED = 1, + NOTIFY_KEY_LINKED = 2, + NOTIFY_KEY_UNLINKED = 3, + NOTIFY_KEY_CLEARED = 4, + NOTIFY_KEY_REVOKED = 5, + NOTIFY_KEY_INVALIDATED = 6, + NOTIFY_KEY_SETATTR = 7, +}; + +enum key_state { + KEY_IS_UNINSTANTIATED = 0, + KEY_IS_POSITIVE = 1, +}; + +enum kfence_counter_id { + KFENCE_COUNTER_ALLOCATED = 0, + KFENCE_COUNTER_ALLOCS = 1, + KFENCE_COUNTER_FREES = 2, + KFENCE_COUNTER_ZOMBIES = 3, + KFENCE_COUNTER_BUGS = 4, + KFENCE_COUNTER_SKIP_INCOMPAT = 5, + KFENCE_COUNTER_SKIP_CAPACITY = 6, + KFENCE_COUNTER_SKIP_COVERED = 7, + KFENCE_COUNTER_COUNT = 8, +}; + +enum kfence_error_type { + KFENCE_ERROR_OOB = 0, + KFENCE_ERROR_UAF = 1, + KFENCE_ERROR_CORRUPTION = 2, + KFENCE_ERROR_INVALID = 3, + KFENCE_ERROR_INVALID_FREE = 4, +}; + +enum kfence_object_state { + KFENCE_OBJECT_UNUSED = 0, + KFENCE_OBJECT_ALLOCATED = 1, + KFENCE_OBJECT_RCU_FREEING = 2, + KFENCE_OBJECT_FREED = 3, +}; + +enum kfunc_ptr_arg_type { + KF_ARG_PTR_TO_CTX = 0, + KF_ARG_PTR_TO_ALLOC_BTF_ID = 1, + KF_ARG_PTR_TO_REFCOUNTED_KPTR = 2, + KF_ARG_PTR_TO_DYNPTR = 3, + KF_ARG_PTR_TO_ITER = 4, + KF_ARG_PTR_TO_LIST_HEAD = 5, + KF_ARG_PTR_TO_LIST_NODE = 6, + KF_ARG_PTR_TO_BTF_ID = 7, + KF_ARG_PTR_TO_MEM = 8, + KF_ARG_PTR_TO_MEM_SIZE = 9, + KF_ARG_PTR_TO_CALLBACK = 10, + KF_ARG_PTR_TO_RB_ROOT = 11, + KF_ARG_PTR_TO_RB_NODE = 12, + KF_ARG_PTR_TO_NULL = 13, + KF_ARG_PTR_TO_CONST_STR = 14, + KF_ARG_PTR_TO_MAP = 15, + KF_ARG_PTR_TO_WORKQUEUE = 16, + KF_ARG_PTR_TO_IRQ_FLAG = 17, + KF_ARG_PTR_TO_RES_SPIN_LOCK = 18, +}; + +enum kgdb_bpstate { + BP_UNDEFINED = 0, + BP_REMOVED = 1, + BP_SET = 2, + BP_ACTIVE = 3, +}; + +enum kgdb_bptype { + BP_BREAKPOINT = 0, + BP_HARDWARE_BREAKPOINT = 1, + BP_WRITE_WATCHPOINT = 2, + BP_READ_WATCHPOINT = 3, + BP_ACCESS_WATCHPOINT = 4, + BP_POKE_BREAKPOINT = 5, +}; + +enum kho_event { + KEXEC_KHO_FINALIZE = 0, + KEXEC_KHO_ABORT = 1, +}; + +enum kmalloc_cache_type { + KMALLOC_NORMAL = 0, + KMALLOC_RANDOM_START = 0, + KMALLOC_RANDOM_END = 15, + KMALLOC_RECLAIM = 16, + KMALLOC_DMA = 17, + KMALLOC_CGROUP = 18, + NR_KMALLOC_TYPES = 19, +}; + +enum kmsg_dump_reason { + KMSG_DUMP_UNDEF = 0, + KMSG_DUMP_PANIC = 1, + KMSG_DUMP_OOPS = 2, + KMSG_DUMP_EMERG = 3, + KMSG_DUMP_SHUTDOWN = 4, + KMSG_DUMP_MAX = 5, +}; + +enum kobj_ns_type { + KOBJ_NS_TYPE_NONE = 0, + KOBJ_NS_TYPE_NET = 1, + KOBJ_NS_TYPES = 2, +}; + +enum kobject_action { + KOBJ_ADD = 0, + KOBJ_REMOVE = 1, + KOBJ_CHANGE = 2, + KOBJ_MOVE = 3, + KOBJ_ONLINE = 4, + KOBJ_OFFLINE = 5, + KOBJ_BIND = 6, + KOBJ_UNBIND = 7, +}; + +enum kpage_operation { + KPAGE_FLAGS = 0, + KPAGE_COUNT = 1, + KPAGE_CGROUP = 2, +}; + +enum kprobe_slot_state { + SLOT_CLEAN = 0, + SLOT_DIRTY = 1, + SLOT_USED = 2, +}; + +enum ksm_advisor_type { + KSM_ADVISOR_NONE = 0, + KSM_ADVISOR_SCAN_TIME = 1, +}; + +enum ksm_get_folio_flags { + KSM_GET_FOLIO_NOLOCK = 0, + KSM_GET_FOLIO_LOCK = 1, + KSM_GET_FOLIO_TRYLOCK = 2, +}; + +enum kvm_apic_logical_mode { + KVM_APIC_MODE_SW_DISABLED = 0, + KVM_APIC_MODE_XAPIC_CLUSTER = 1, + KVM_APIC_MODE_XAPIC_FLAT = 2, + KVM_APIC_MODE_X2APIC = 3, + KVM_APIC_MODE_MAP_DISABLED = 4, +}; + +enum kvm_bus { + KVM_MMIO_BUS = 0, + KVM_PIO_BUS = 1, + KVM_VIRTIO_CCW_NOTIFY_BUS = 2, + KVM_FAST_MMIO_BUS = 3, + KVM_IOCSR_BUS = 4, + KVM_NR_BUSES = 5, +}; + +enum kvm_irqchip_mode { + KVM_IRQCHIP_NONE = 0, + KVM_IRQCHIP_KERNEL = 1, + KVM_IRQCHIP_SPLIT = 2, +}; + +enum kvm_only_cpuid_leafs { + CPUID_12_EAX = 22, + CPUID_7_1_EDX = 23, + CPUID_8000_0007_EDX = 24, + CPUID_8000_0022_EAX = 25, + CPUID_7_2_EDX = 26, + CPUID_24_0_EBX = 27, + CPUID_8000_0021_ECX = 28, + NR_KVM_CPU_CAPS = 29, + NKVMCAPINTS = 7, +}; + +enum kvm_reg { + VCPU_REGS_RAX = 0, + VCPU_REGS_RCX = 1, + VCPU_REGS_RDX = 2, + VCPU_REGS_RBX = 3, + VCPU_REGS_RSP = 4, + VCPU_REGS_RBP = 5, + VCPU_REGS_RSI = 6, + VCPU_REGS_RDI = 7, + VCPU_REGS_R8 = 8, + VCPU_REGS_R9 = 9, + VCPU_REGS_R10 = 10, + VCPU_REGS_R11 = 11, + VCPU_REGS_R12 = 12, + VCPU_REGS_R13 = 13, + VCPU_REGS_R14 = 14, + VCPU_REGS_R15 = 15, + VCPU_REGS_RIP = 16, + NR_VCPU_REGS = 17, + VCPU_EXREG_PDPTR = 17, + VCPU_EXREG_CR0 = 18, + VCPU_EXREG_CR3 = 19, + VCPU_EXREG_CR4 = 20, + VCPU_EXREG_RFLAGS = 21, + VCPU_EXREG_SEGMENTS = 22, + VCPU_EXREG_EXIT_INFO_1 = 23, + VCPU_EXREG_EXIT_INFO_2 = 24, +}; + +enum kvm_stat_kind { + KVM_STAT_VM = 0, + KVM_STAT_VCPU = 1, +}; + +enum l1d_flush_mitigations { + L1D_FLUSH_OFF = 0, + L1D_FLUSH_ON = 1, +}; + +enum l1tf_mitigations { + L1TF_MITIGATION_OFF = 0, + L1TF_MITIGATION_AUTO = 1, + L1TF_MITIGATION_FLUSH_NOWARN = 2, + L1TF_MITIGATION_FLUSH = 3, + L1TF_MITIGATION_FLUSH_NOSMT = 4, + L1TF_MITIGATION_FULL = 5, + L1TF_MITIGATION_FULL_FORCE = 6, +}; + +enum l2tp_debug_flags { + L2TP_MSG_DEBUG = 1, + L2TP_MSG_CONTROL = 2, + L2TP_MSG_SEQ = 4, + L2TP_MSG_DATA = 8, +}; + +enum l3mdev_type { + L3MDEV_TYPE_UNSPEC = 0, + L3MDEV_TYPE_VRF = 1, + __L3MDEV_TYPE_MAX = 2, +}; + +enum label_flags { + FLAG_HAT = 1, + FLAG_UNCONFINED = 2, + FLAG_NULL = 4, + FLAG_IX_ON_NAME_ERROR = 8, + FLAG_IMMUTIBLE = 16, + FLAG_USER_DEFINED = 32, + FLAG_NO_LIST_REF = 64, + FLAG_NS_COUNT = 128, + FLAG_IN_TREE = 256, + FLAG_PROFILE = 512, + FLAG_EXPLICIT = 1024, + FLAG_STALE = 2048, + FLAG_INTERRUPTIBLE = 4096, + FLAG_REVOKED = 8192, + FLAG_DEBUG1 = 16384, + FLAG_DEBUG2 = 32768, +}; + +enum label_initialized { + LABEL_INVALID = 0, + LABEL_INITIALIZED = 1, + LABEL_PENDING = 2, +}; + +enum landlock_key_type { + LANDLOCK_KEY_INODE = 1, + LANDLOCK_KEY_NET_PORT = 2, +}; + +enum landlock_log_status { + LANDLOCK_LOG_PENDING = 0, + LANDLOCK_LOG_RECORDED = 1, + LANDLOCK_LOG_DISABLED = 2, +}; + +enum landlock_request_type { + LANDLOCK_REQUEST_PTRACE = 1, + LANDLOCK_REQUEST_FS_CHANGE_TOPOLOGY = 2, + LANDLOCK_REQUEST_FS_ACCESS = 3, + LANDLOCK_REQUEST_NET_ACCESS = 4, + LANDLOCK_REQUEST_SCOPE_ABSTRACT_UNIX_SOCKET = 5, + LANDLOCK_REQUEST_SCOPE_SIGNAL = 6, +}; + +enum landlock_rule_type { + LANDLOCK_RULE_PATH_BENEATH = 1, + LANDLOCK_RULE_NET_PORT = 2, +}; + +enum latency_count { + COUNTS_10e2 = 0, + COUNTS_10e3 = 1, + COUNTS_10e4 = 2, + COUNTS_10e5 = 3, + COUNTS_10e6 = 4, + COUNTS_10e7 = 5, + COUNTS_10e8_plus = 6, + COUNTS_MIN = 7, + COUNTS_MAX = 8, + COUNTS_SUM = 9, + COUNTS_NUM = 10, +}; + +enum latency_type { + DMAR_LATENCY_INV_IOTLB = 0, + DMAR_LATENCY_INV_DEVTLB = 1, + DMAR_LATENCY_INV_IEC = 2, + DMAR_LATENCY_NUM = 3, +}; + +enum ldma_chan_on_off { + DMA_CH_OFF = 0, + DMA_CH_ON = 1, +}; + +enum led_brightness { + LED_OFF = 0, + LED_ON = 1, + LED_HALF = 127, + LED_FULL = 255, +}; + +enum led_default_state { + LEDS_DEFSTATE_OFF = 0, + LEDS_DEFSTATE_ON = 1, + LEDS_DEFSTATE_KEEP = 2, +}; + +enum legacy_fs_param { + LEGACY_FS_UNSET_PARAMS = 0, + LEGACY_FS_MONOLITHIC_PARAMS = 1, + LEGACY_FS_INDIVIDUAL_PARAMS = 2, +}; + +enum link_inband_signalling { + LINK_INBAND_DISABLE = 1, + LINK_INBAND_ENABLE = 2, + LINK_INBAND_BYPASS = 4, +}; + +enum linux_mptcp_mib_field { + MPTCP_MIB_NUM = 0, + MPTCP_MIB_MPCAPABLEPASSIVE = 1, + MPTCP_MIB_MPCAPABLEACTIVE = 2, + MPTCP_MIB_MPCAPABLEACTIVEACK = 3, + MPTCP_MIB_MPCAPABLEPASSIVEACK = 4, + MPTCP_MIB_MPCAPABLEPASSIVEFALLBACK = 5, + MPTCP_MIB_MPCAPABLEACTIVEFALLBACK = 6, + MPTCP_MIB_MPCAPABLEACTIVEDROP = 7, + MPTCP_MIB_MPCAPABLEACTIVEDISABLED = 8, + MPTCP_MIB_MPCAPABLEENDPATTEMPT = 9, + MPTCP_MIB_TOKENFALLBACKINIT = 10, + MPTCP_MIB_RETRANSSEGS = 11, + MPTCP_MIB_JOINNOTOKEN = 12, + MPTCP_MIB_JOINSYNRX = 13, + MPTCP_MIB_JOINSYNBACKUPRX = 14, + MPTCP_MIB_JOINSYNACKRX = 15, + MPTCP_MIB_JOINSYNACKBACKUPRX = 16, + MPTCP_MIB_JOINSYNACKMAC = 17, + MPTCP_MIB_JOINACKRX = 18, + MPTCP_MIB_JOINACKMAC = 19, + MPTCP_MIB_JOINREJECTED = 20, + MPTCP_MIB_JOINSYNTX = 21, + MPTCP_MIB_JOINSYNTXCREATSKERR = 22, + MPTCP_MIB_JOINSYNTXBINDERR = 23, + MPTCP_MIB_JOINSYNTXCONNECTERR = 24, + MPTCP_MIB_DSSNOMATCH = 25, + MPTCP_MIB_DSSCORRUPTIONFALLBACK = 26, + MPTCP_MIB_DSSCORRUPTIONRESET = 27, + MPTCP_MIB_INFINITEMAPTX = 28, + MPTCP_MIB_INFINITEMAPRX = 29, + MPTCP_MIB_DSSTCPMISMATCH = 30, + MPTCP_MIB_DATACSUMERR = 31, + MPTCP_MIB_OFOQUEUETAIL = 32, + MPTCP_MIB_OFOQUEUE = 33, + MPTCP_MIB_OFOMERGE = 34, + MPTCP_MIB_NODSSWINDOW = 35, + MPTCP_MIB_DUPDATA = 36, + MPTCP_MIB_ADDADDR = 37, + MPTCP_MIB_ADDADDRTX = 38, + MPTCP_MIB_ADDADDRTXDROP = 39, + MPTCP_MIB_ECHOADD = 40, + MPTCP_MIB_ECHOADDTX = 41, + MPTCP_MIB_ECHOADDTXDROP = 42, + MPTCP_MIB_PORTADD = 43, + MPTCP_MIB_ADDADDRDROP = 44, + MPTCP_MIB_JOINPORTSYNRX = 45, + MPTCP_MIB_JOINPORTSYNACKRX = 46, + MPTCP_MIB_JOINPORTACKRX = 47, + MPTCP_MIB_MISMATCHPORTSYNRX = 48, + MPTCP_MIB_MISMATCHPORTACKRX = 49, + MPTCP_MIB_RMADDR = 50, + MPTCP_MIB_RMADDRDROP = 51, + MPTCP_MIB_RMADDRTX = 52, + MPTCP_MIB_RMADDRTXDROP = 53, + MPTCP_MIB_RMSUBFLOW = 54, + MPTCP_MIB_MPPRIOTX = 55, + MPTCP_MIB_MPPRIORX = 56, + MPTCP_MIB_MPFAILTX = 57, + MPTCP_MIB_MPFAILRX = 58, + MPTCP_MIB_MPFASTCLOSETX = 59, + MPTCP_MIB_MPFASTCLOSERX = 60, + MPTCP_MIB_MPRSTTX = 61, + MPTCP_MIB_MPRSTRX = 62, + MPTCP_MIB_RCVPRUNED = 63, + MPTCP_MIB_SUBFLOWSTALE = 64, + MPTCP_MIB_SUBFLOWRECOVER = 65, + MPTCP_MIB_SNDWNDSHARED = 66, + MPTCP_MIB_RCVWNDSHARED = 67, + MPTCP_MIB_RCVWNDCONFLICTUPDATE = 68, + MPTCP_MIB_RCVWNDCONFLICT = 69, + MPTCP_MIB_CURRESTAB = 70, + MPTCP_MIB_BLACKHOLE = 71, + MPTCP_MIB_MPCAPABLEDATAFALLBACK = 72, + MPTCP_MIB_MD5SIGFALLBACK = 73, + MPTCP_MIB_DSSFALLBACK = 74, + MPTCP_MIB_SIMULTCONNFALLBACK = 75, + MPTCP_MIB_FALLBACKFAILED = 76, + __MPTCP_MIB_MAX = 77, +}; + +enum locality_types { + WRITE_LATENCY = 0, + READ_LATENCY = 1, + WRITE_BANDWIDTH = 2, + READ_BANDWIDTH = 3, +}; + +enum lockdep_ok { + LOCKDEP_STILL_OK = 0, + LOCKDEP_NOW_UNRELIABLE = 1, +}; + +enum lockdown_reason { + LOCKDOWN_NONE = 0, + LOCKDOWN_MODULE_SIGNATURE = 1, + LOCKDOWN_DEV_MEM = 2, + LOCKDOWN_EFI_TEST = 3, + LOCKDOWN_KEXEC = 4, + LOCKDOWN_HIBERNATION = 5, + LOCKDOWN_PCI_ACCESS = 6, + LOCKDOWN_IOPORT = 7, + LOCKDOWN_MSR = 8, + LOCKDOWN_ACPI_TABLES = 9, + LOCKDOWN_DEVICE_TREE = 10, + LOCKDOWN_PCMCIA_CIS = 11, + LOCKDOWN_TIOCSSERIAL = 12, + LOCKDOWN_MODULE_PARAMETERS = 13, + LOCKDOWN_MMIOTRACE = 14, + LOCKDOWN_DEBUGFS = 15, + LOCKDOWN_XMON_WR = 16, + LOCKDOWN_BPF_WRITE_USER = 17, + LOCKDOWN_DBG_WRITE_KERNEL = 18, + LOCKDOWN_RTAS_ERROR_INJECTION = 19, + LOCKDOWN_INTEGRITY_MAX = 20, + LOCKDOWN_KCORE = 21, + LOCKDOWN_KPROBES = 22, + LOCKDOWN_BPF_READ_KERNEL = 23, + LOCKDOWN_DBG_READ_KERNEL = 24, + LOCKDOWN_PERF = 25, + LOCKDOWN_TRACEFS = 26, + LOCKDOWN_XMON_RW = 27, + LOCKDOWN_XFRM_SECRET = 28, + LOCKDOWN_CONFIDENTIALITY_MAX = 29, +}; + +enum lp8788_alarm_sel { + LP8788_ALARM_1 = 0, + LP8788_ALARM_2 = 1, + LP8788_ALARM_MAX = 2, +}; + +enum lp8788_charger_event { + NO_CHARGER = 0, + CHARGER_DETECTED = 1, +}; + +enum lp8788_dvs_sel { + DVS_SEL_V0 = 0, + DVS_SEL_V1 = 1, + DVS_SEL_V2 = 2, + DVS_SEL_V3 = 3, +}; + +enum lp8788_int_id { + LP8788_INT_TSDL = 0, + LP8788_INT_TSDH = 1, + LP8788_INT_UVLO = 2, + LP8788_INT_FLAGMON = 3, + LP8788_INT_PWRON_TIME = 4, + LP8788_INT_PWRON = 5, + LP8788_INT_COMP1 = 6, + LP8788_INT_COMP2 = 7, + LP8788_INT_CHG_INPUT_STATE = 8, + LP8788_INT_CHG_STATE = 9, + LP8788_INT_EOC = 10, + LP8788_INT_CHG_RESTART = 11, + LP8788_INT_RESTART_TIMEOUT = 12, + LP8788_INT_FULLCHG_TIMEOUT = 13, + LP8788_INT_PRECHG_TIMEOUT = 14, + LP8788_INT_RTC_ALARM1 = 17, + LP8788_INT_RTC_ALARM2 = 18, + LP8788_INT_ENTER_SYS_SUPPORT = 19, + LP8788_INT_EXIT_SYS_SUPPORT = 20, + LP8788_INT_BATT_LOW = 21, + LP8788_INT_NO_BATT = 22, + LP8788_INT_MAX = 24, +}; + +enum lp8788_isink_number { + LP8788_ISINK_1 = 0, + LP8788_ISINK_2 = 1, + LP8788_ISINK_3 = 2, +}; + +enum lp8788_isink_scale { + LP8788_ISINK_SCALE_100mA = 0, + LP8788_ISINK_SCALE_120mA = 1, +}; + +enum lru_list { + LRU_INACTIVE_ANON = 0, + LRU_ACTIVE_ANON = 1, + LRU_INACTIVE_FILE = 2, + LRU_ACTIVE_FILE = 3, + LRU_UNEVICTABLE = 4, + NR_LRU_LISTS = 5, +}; + +enum lru_status { + LRU_REMOVED = 0, + LRU_REMOVED_RETRY = 1, + LRU_ROTATE = 2, + LRU_SKIP = 3, + LRU_RETRY = 4, + LRU_STOP = 5, +}; + +enum lruvec_flags { + LRUVEC_CGROUP_CONGESTED = 0, + LRUVEC_NODE_CONGESTED = 1, +}; + +enum lsm_event { + LSM_POLICY_CHANGE = 0, +}; + +enum lsm_integrity_type { + LSM_INT_DMVERITY_SIG_VALID = 0, + LSM_INT_DMVERITY_ROOTHASH = 1, + LSM_INT_FSVERITY_BUILTINSIG_VALID = 2, +}; + +enum lsm_order { + LSM_ORDER_FIRST = -1, + LSM_ORDER_MUTABLE = 0, + LSM_ORDER_LAST = 1, +}; + +enum lsm_rule_types { + LSM_OBJ_USER = 0, + LSM_OBJ_ROLE = 1, + LSM_OBJ_TYPE = 2, + LSM_SUBJ_USER = 3, + LSM_SUBJ_ROLE = 4, + LSM_SUBJ_TYPE = 5, +}; + +enum lw_bits { + LW_URGENT = 0, +}; + +enum lwtunnel_encap_types { + LWTUNNEL_ENCAP_NONE = 0, + LWTUNNEL_ENCAP_MPLS = 1, + LWTUNNEL_ENCAP_IP = 2, + LWTUNNEL_ENCAP_ILA = 3, + LWTUNNEL_ENCAP_IP6 = 4, + LWTUNNEL_ENCAP_SEG6 = 5, + LWTUNNEL_ENCAP_BPF = 6, + LWTUNNEL_ENCAP_SEG6_LOCAL = 7, + LWTUNNEL_ENCAP_RPL = 8, + LWTUNNEL_ENCAP_IOAM6 = 9, + LWTUNNEL_ENCAP_XFRM = 10, + __LWTUNNEL_ENCAP_MAX = 11, +}; + +enum lwtunnel_ip6_t { + LWTUNNEL_IP6_UNSPEC = 0, + LWTUNNEL_IP6_ID = 1, + LWTUNNEL_IP6_DST = 2, + LWTUNNEL_IP6_SRC = 3, + LWTUNNEL_IP6_HOPLIMIT = 4, + LWTUNNEL_IP6_TC = 5, + LWTUNNEL_IP6_FLAGS = 6, + LWTUNNEL_IP6_PAD = 7, + LWTUNNEL_IP6_OPTS = 8, + __LWTUNNEL_IP6_MAX = 9, +}; + +enum lwtunnel_ip_t { + LWTUNNEL_IP_UNSPEC = 0, + LWTUNNEL_IP_ID = 1, + LWTUNNEL_IP_DST = 2, + LWTUNNEL_IP_SRC = 3, + LWTUNNEL_IP_TTL = 4, + LWTUNNEL_IP_TOS = 5, + LWTUNNEL_IP_FLAGS = 6, + LWTUNNEL_IP_PAD = 7, + LWTUNNEL_IP_OPTS = 8, + __LWTUNNEL_IP_MAX = 9, +}; + +enum lzma2_seq { + SEQ_CONTROL = 0, + SEQ_UNCOMPRESSED_1 = 1, + SEQ_UNCOMPRESSED_2 = 2, + SEQ_COMPRESSED_0 = 3, + SEQ_COMPRESSED_1 = 4, + SEQ_PROPERTIES = 5, + SEQ_LZMA_PREPARE = 6, + SEQ_LZMA_RUN = 7, + SEQ_COPY = 8, +}; + +enum lzma_state { + STATE_LIT_LIT = 0, + STATE_MATCH_LIT_LIT = 1, + STATE_REP_LIT_LIT = 2, + STATE_SHORTREP_LIT_LIT = 3, + STATE_MATCH_LIT = 4, + STATE_REP_LIT = 5, + STATE_SHORTREP_LIT = 6, + STATE_LIT_MATCH = 7, + STATE_LIT_LONGREP = 8, + STATE_LIT_SHORTREP = 9, + STATE_NONLIT_MATCH = 10, + STATE_NONLIT_REP = 11, +}; + +enum macsec_offload { + MACSEC_OFFLOAD_OFF = 0, + MACSEC_OFFLOAD_PHY = 1, + MACSEC_OFFLOAD_MAC = 2, + __MACSEC_OFFLOAD_END = 3, + MACSEC_OFFLOAD_MAX = 2, +}; + +enum macsec_validation_type { + MACSEC_VALIDATE_DISABLED = 0, + MACSEC_VALIDATE_CHECK = 1, + MACSEC_VALIDATE_STRICT = 2, + __MACSEC_VALIDATE_END = 3, + MACSEC_VALIDATE_MAX = 2, +}; + +enum madvise_lock_mode { + MADVISE_NO_LOCK = 0, + MADVISE_MMAP_READ_LOCK = 1, + MADVISE_MMAP_WRITE_LOCK = 2, + MADVISE_VMA_READ_LOCK = 3, +}; + +enum map_type { + map_wb = 0, + map_uc = 1, +}; + +enum maple_status { + ma_active = 0, + ma_start = 1, + ma_root = 2, + ma_none = 3, + ma_pause = 4, + ma_overflow = 5, + ma_underflow = 6, + ma_error = 7, +}; + +enum maple_type { + maple_dense = 0, + maple_leaf_64 = 1, + maple_range_64 = 2, + maple_arange_64 = 3, +}; + +enum mapping_flags { + AS_EIO = 0, + AS_ENOSPC = 1, + AS_MM_ALL_LOCKS = 2, + AS_UNEVICTABLE = 3, + AS_EXITING = 4, + AS_NO_WRITEBACK_TAGS = 5, + AS_RELEASE_ALWAYS = 6, + AS_STABLE_WRITES = 7, + AS_INACCESSIBLE = 8, + AS_WRITEBACK_MAY_DEADLOCK_ON_RECLAIM = 9, + AS_FOLIO_ORDER_BITS = 5, + AS_FOLIO_ORDER_MIN = 16, + AS_FOLIO_ORDER_MAX = 21, +}; + +enum mapping_status { + MAPPING_OK = 0, + MAPPING_INVALID = 1, + MAPPING_EMPTY = 2, + MAPPING_DATA_FIN = 3, + MAPPING_DUMMY = 4, + MAPPING_BAD_CSUM = 5, + MAPPING_NODSS = 6, +}; + +enum max14577_reg { + MAX14577_REG_DEVICEID = 0, + MAX14577_REG_INT1 = 1, + MAX14577_REG_INT2 = 2, + MAX14577_REG_INT3 = 3, + MAX14577_REG_STATUS1 = 4, + MAX14577_REG_STATUS2 = 5, + MAX14577_REG_STATUS3 = 6, + MAX14577_REG_INTMASK1 = 7, + MAX14577_REG_INTMASK2 = 8, + MAX14577_REG_INTMASK3 = 9, + MAX14577_REG_CDETCTRL1 = 10, + MAX14577_REG_RFU = 11, + MAX14577_REG_CONTROL1 = 12, + MAX14577_REG_CONTROL2 = 13, + MAX14577_REG_CONTROL3 = 14, + MAX14577_REG_CHGCTRL1 = 15, + MAX14577_REG_CHGCTRL2 = 16, + MAX14577_REG_CHGCTRL3 = 17, + MAX14577_REG_CHGCTRL4 = 18, + MAX14577_REG_CHGCTRL5 = 19, + MAX14577_REG_CHGCTRL6 = 20, + MAX14577_REG_CHGCTRL7 = 21, + MAX14577_REG_END = 22, +}; + +enum max77693_haptic_reg { + MAX77693_HAPTIC_REG_STATUS = 0, + MAX77693_HAPTIC_REG_CONFIG1 = 1, + MAX77693_HAPTIC_REG_CONFIG2 = 2, + MAX77693_HAPTIC_REG_CONFIG_CHNL = 3, + MAX77693_HAPTIC_REG_CONFG_CYC1 = 4, + MAX77693_HAPTIC_REG_CONFG_CYC2 = 5, + MAX77693_HAPTIC_REG_CONFIG_PER1 = 6, + MAX77693_HAPTIC_REG_CONFIG_PER2 = 7, + MAX77693_HAPTIC_REG_CONFIG_PER3 = 8, + MAX77693_HAPTIC_REG_CONFIG_PER4 = 9, + MAX77693_HAPTIC_REG_CONFIG_DUTY1 = 10, + MAX77693_HAPTIC_REG_CONFIG_DUTY2 = 11, + MAX77693_HAPTIC_REG_CONFIG_PWM1 = 12, + MAX77693_HAPTIC_REG_CONFIG_PWM2 = 13, + MAX77693_HAPTIC_REG_CONFIG_PWM3 = 14, + MAX77693_HAPTIC_REG_CONFIG_PWM4 = 15, + MAX77693_HAPTIC_REG_REV = 16, + MAX77693_HAPTIC_REG_END = 17, +}; + +enum max77693_muic_reg { + MAX77693_MUIC_REG_ID = 0, + MAX77693_MUIC_REG_INT1 = 1, + MAX77693_MUIC_REG_INT2 = 2, + MAX77693_MUIC_REG_INT3 = 3, + MAX77693_MUIC_REG_STATUS1 = 4, + MAX77693_MUIC_REG_STATUS2 = 5, + MAX77693_MUIC_REG_STATUS3 = 6, + MAX77693_MUIC_REG_INTMASK1 = 7, + MAX77693_MUIC_REG_INTMASK2 = 8, + MAX77693_MUIC_REG_INTMASK3 = 9, + MAX77693_MUIC_REG_CDETCTRL1 = 10, + MAX77693_MUIC_REG_CDETCTRL2 = 11, + MAX77693_MUIC_REG_CTRL1 = 12, + MAX77693_MUIC_REG_CTRL2 = 13, + MAX77693_MUIC_REG_CTRL3 = 14, + MAX77693_MUIC_REG_END = 15, +}; + +enum max77693_pmic_reg { + MAX77693_LED_REG_IFLASH1 = 0, + MAX77693_LED_REG_IFLASH2 = 1, + MAX77693_LED_REG_ITORCH = 2, + MAX77693_LED_REG_ITORCHTIMER = 3, + MAX77693_LED_REG_FLASH_TIMER = 4, + MAX77693_LED_REG_FLASH_EN = 5, + MAX77693_LED_REG_MAX_FLASH1 = 6, + MAX77693_LED_REG_MAX_FLASH2 = 7, + MAX77693_LED_REG_MAX_FLASH3 = 8, + MAX77693_LED_REG_MAX_FLASH4 = 9, + MAX77693_LED_REG_VOUT_CNTL = 10, + MAX77693_LED_REG_VOUT_FLASH1 = 11, + MAX77693_LED_REG_VOUT_FLASH2 = 12, + MAX77693_LED_REG_FLASH_INT = 14, + MAX77693_LED_REG_FLASH_INT_MASK = 15, + MAX77693_LED_REG_FLASH_STATUS = 16, + MAX77693_PMIC_REG_PMIC_ID1 = 32, + MAX77693_PMIC_REG_PMIC_ID2 = 33, + MAX77693_PMIC_REG_INTSRC = 34, + MAX77693_PMIC_REG_INTSRC_MASK = 35, + MAX77693_PMIC_REG_TOPSYS_INT = 36, + MAX77693_PMIC_REG_TOPSYS_INT_MASK = 38, + MAX77693_PMIC_REG_TOPSYS_STAT = 40, + MAX77693_PMIC_REG_MAINCTRL1 = 42, + MAX77693_PMIC_REG_LSCNFG = 43, + MAX77693_CHG_REG_CHG_INT = 176, + MAX77693_CHG_REG_CHG_INT_MASK = 177, + MAX77693_CHG_REG_CHG_INT_OK = 178, + MAX77693_CHG_REG_CHG_DETAILS_00 = 179, + MAX77693_CHG_REG_CHG_DETAILS_01 = 180, + MAX77693_CHG_REG_CHG_DETAILS_02 = 181, + MAX77693_CHG_REG_CHG_DETAILS_03 = 182, + MAX77693_CHG_REG_CHG_CNFG_00 = 183, + MAX77693_CHG_REG_CHG_CNFG_01 = 184, + MAX77693_CHG_REG_CHG_CNFG_02 = 185, + MAX77693_CHG_REG_CHG_CNFG_03 = 186, + MAX77693_CHG_REG_CHG_CNFG_04 = 187, + MAX77693_CHG_REG_CHG_CNFG_05 = 188, + MAX77693_CHG_REG_CHG_CNFG_06 = 189, + MAX77693_CHG_REG_CHG_CNFG_07 = 190, + MAX77693_CHG_REG_CHG_CNFG_08 = 191, + MAX77693_CHG_REG_CHG_CNFG_09 = 192, + MAX77693_CHG_REG_CHG_CNFG_10 = 193, + MAX77693_CHG_REG_CHG_CNFG_11 = 194, + MAX77693_CHG_REG_CHG_CNFG_12 = 195, + MAX77693_CHG_REG_CHG_CNFG_13 = 196, + MAX77693_CHG_REG_CHG_CNFG_14 = 197, + MAX77693_CHG_REG_SAFEOUT_CTRL = 198, + MAX77693_PMIC_REG_END = 199, +}; + +enum max77693_types { + TYPE_MAX77693_UNKNOWN = 0, + TYPE_MAX77693 = 1, + TYPE_MAX77705 = 2, + TYPE_MAX77843 = 3, + TYPE_MAX77693_NUM = 4, +}; + +enum max77836_fg_reg { + MAX77836_FG_REG_VCELL_MSB = 2, + MAX77836_FG_REG_VCELL_LSB = 3, + MAX77836_FG_REG_SOC_MSB = 4, + MAX77836_FG_REG_SOC_LSB = 5, + MAX77836_FG_REG_MODE_H = 6, + MAX77836_FG_REG_MODE_L = 7, + MAX77836_FG_REG_VERSION_MSB = 8, + MAX77836_FG_REG_VERSION_LSB = 9, + MAX77836_FG_REG_HIBRT_H = 10, + MAX77836_FG_REG_HIBRT_L = 11, + MAX77836_FG_REG_CONFIG_H = 12, + MAX77836_FG_REG_CONFIG_L = 13, + MAX77836_FG_REG_VALRT_MIN = 20, + MAX77836_FG_REG_VALRT_MAX = 21, + MAX77836_FG_REG_CRATE_MSB = 22, + MAX77836_FG_REG_CRATE_LSB = 23, + MAX77836_FG_REG_VRESET = 24, + MAX77836_FG_REG_FGID = 25, + MAX77836_FG_REG_STATUS_H = 26, + MAX77836_FG_REG_STATUS_L = 27, + MAX77836_FG_REG_END = 28, +}; + +enum max77836_pmic_reg { + MAX77836_PMIC_REG_PMIC_ID = 32, + MAX77836_PMIC_REG_PMIC_REV = 33, + MAX77836_PMIC_REG_INTSRC = 34, + MAX77836_PMIC_REG_INTSRC_MASK = 35, + MAX77836_PMIC_REG_TOPSYS_INT = 36, + MAX77836_PMIC_REG_TOPSYS_INT_MASK = 38, + MAX77836_PMIC_REG_TOPSYS_STAT = 40, + MAX77836_PMIC_REG_MRSTB_CNTL = 42, + MAX77836_PMIC_REG_LSCNFG = 43, + MAX77836_LDO_REG_CNFG1_LDO1 = 81, + MAX77836_LDO_REG_CNFG2_LDO1 = 82, + MAX77836_LDO_REG_CNFG1_LDO2 = 83, + MAX77836_LDO_REG_CNFG2_LDO2 = 84, + MAX77836_LDO_REG_CNFG_LDO_BIAS = 85, + MAX77836_COMP_REG_COMP1 = 96, + MAX77836_PMIC_REG_END = 97, +}; + +enum max77843_charger_reg { + MAX77843_CHG_REG_CHG_INT = 176, + MAX77843_CHG_REG_CHG_INT_MASK = 177, + MAX77843_CHG_REG_CHG_INT_OK = 178, + MAX77843_CHG_REG_CHG_DTLS_00 = 179, + MAX77843_CHG_REG_CHG_DTLS_01 = 180, + MAX77843_CHG_REG_CHG_DTLS_02 = 181, + MAX77843_CHG_REG_CHG_CNFG_00 = 183, + MAX77843_CHG_REG_CHG_CNFG_01 = 184, + MAX77843_CHG_REG_CHG_CNFG_02 = 185, + MAX77843_CHG_REG_CHG_CNFG_03 = 186, + MAX77843_CHG_REG_CHG_CNFG_04 = 187, + MAX77843_CHG_REG_CHG_CNFG_06 = 189, + MAX77843_CHG_REG_CHG_CNFG_07 = 190, + MAX77843_CHG_REG_CHG_CNFG_09 = 192, + MAX77843_CHG_REG_CHG_CNFG_10 = 193, + MAX77843_CHG_REG_CHG_CNFG_11 = 194, + MAX77843_CHG_REG_CHG_CNFG_12 = 195, + MAX77843_CHG_REG_END = 196, +}; + +enum max77843_sys_reg { + MAX77843_SYS_REG_PMICID = 0, + MAX77843_SYS_REG_PMICREV = 1, + MAX77843_SYS_REG_MAINCTRL1 = 2, + MAX77843_SYS_REG_INTSRC = 34, + MAX77843_SYS_REG_INTSRCMASK = 35, + MAX77843_SYS_REG_SYSINTSRC = 36, + MAX77843_SYS_REG_SYSINTMASK = 38, + MAX77843_SYS_REG_TOPSYS_STAT = 40, + MAX77843_SYS_REG_SAFEOUTCTRL = 198, + MAX77843_SYS_REG_END = 199, +}; + +enum max8997_haptic_motor_type { + MAX8997_HAPTIC_ERM = 0, + MAX8997_HAPTIC_LRA = 1, +}; + +enum max8997_haptic_pulse_mode { + MAX8997_EXTERNAL_MODE = 0, + MAX8997_INTERNAL_MODE = 1, +}; + +enum max8997_haptic_pwm_divisor { + MAX8997_PWM_DIVISOR_32 = 0, + MAX8997_PWM_DIVISOR_64 = 1, + MAX8997_PWM_DIVISOR_128 = 2, + MAX8997_PWM_DIVISOR_256 = 3, +}; + +enum max8997_haptic_reg { + MAX8997_HAPTIC_REG_GENERAL = 0, + MAX8997_HAPTIC_REG_CONF1 = 1, + MAX8997_HAPTIC_REG_CONF2 = 2, + MAX8997_HAPTIC_REG_DRVCONF = 3, + MAX8997_HAPTIC_REG_CYCLECONF1 = 4, + MAX8997_HAPTIC_REG_CYCLECONF2 = 5, + MAX8997_HAPTIC_REG_SIGCONF1 = 6, + MAX8997_HAPTIC_REG_SIGCONF2 = 7, + MAX8997_HAPTIC_REG_SIGCONF3 = 8, + MAX8997_HAPTIC_REG_SIGCONF4 = 9, + MAX8997_HAPTIC_REG_SIGDC1 = 10, + MAX8997_HAPTIC_REG_SIGDC2 = 11, + MAX8997_HAPTIC_REG_SIGPWMDC1 = 12, + MAX8997_HAPTIC_REG_SIGPWMDC2 = 13, + MAX8997_HAPTIC_REG_SIGPWMDC3 = 14, + MAX8997_HAPTIC_REG_SIGPWMDC4 = 15, + MAX8997_HAPTIC_REG_MTR_REV = 16, + MAX8997_HAPTIC_REG_END = 17, +}; + +enum max8997_irq { + MAX8997_PMICIRQ_PWRONR = 0, + MAX8997_PMICIRQ_PWRONF = 1, + MAX8997_PMICIRQ_PWRON1SEC = 2, + MAX8997_PMICIRQ_JIGONR = 3, + MAX8997_PMICIRQ_JIGONF = 4, + MAX8997_PMICIRQ_LOWBAT2 = 5, + MAX8997_PMICIRQ_LOWBAT1 = 6, + MAX8997_PMICIRQ_JIGR = 7, + MAX8997_PMICIRQ_JIGF = 8, + MAX8997_PMICIRQ_MR = 9, + MAX8997_PMICIRQ_DVS1OK = 10, + MAX8997_PMICIRQ_DVS2OK = 11, + MAX8997_PMICIRQ_DVS3OK = 12, + MAX8997_PMICIRQ_DVS4OK = 13, + MAX8997_PMICIRQ_CHGINS = 14, + MAX8997_PMICIRQ_CHGRM = 15, + MAX8997_PMICIRQ_DCINOVP = 16, + MAX8997_PMICIRQ_TOPOFFR = 17, + MAX8997_PMICIRQ_CHGRSTF = 18, + MAX8997_PMICIRQ_MBCHGTMEXPD = 19, + MAX8997_PMICIRQ_RTC60S = 20, + MAX8997_PMICIRQ_RTCA1 = 21, + MAX8997_PMICIRQ_RTCA2 = 22, + MAX8997_PMICIRQ_SMPL_INT = 23, + MAX8997_PMICIRQ_RTC1S = 24, + MAX8997_PMICIRQ_WTSR = 25, + MAX8997_MUICIRQ_ADCError = 26, + MAX8997_MUICIRQ_ADCLow = 27, + MAX8997_MUICIRQ_ADC = 28, + MAX8997_MUICIRQ_VBVolt = 29, + MAX8997_MUICIRQ_DBChg = 30, + MAX8997_MUICIRQ_DCDTmr = 31, + MAX8997_MUICIRQ_ChgDetRun = 32, + MAX8997_MUICIRQ_ChgTyp = 33, + MAX8997_MUICIRQ_OVP = 34, + MAX8997_IRQ_NR = 35, +}; + +enum max8997_irq_source { + PMIC_INT1 = 0, + PMIC_INT2 = 1, + PMIC_INT3 = 2, + PMIC_INT4 = 3, + FUEL_GAUGE = 4, + MUIC_INT1 = 5, + MUIC_INT2 = 6, + MUIC_INT3 = 7, + GPIO_LOW = 8, + GPIO_HI = 9, + FLASH_STATUS = 10, + MAX8997_IRQ_GROUP_NR = 11, +}; + +enum max8997_led_mode { + MAX8997_NONE = 0, + MAX8997_FLASH_MODE = 1, + MAX8997_MOVIE_MODE = 2, + MAX8997_FLASH_PIN_CONTROL_MODE = 3, + MAX8997_MOVIE_PIN_CONTROL_MODE = 4, +}; + +enum max8997_muic_reg { + MAX8997_MUIC_REG_ID = 0, + MAX8997_MUIC_REG_INT1 = 1, + MAX8997_MUIC_REG_INT2 = 2, + MAX8997_MUIC_REG_INT3 = 3, + MAX8997_MUIC_REG_STATUS1 = 4, + MAX8997_MUIC_REG_STATUS2 = 5, + MAX8997_MUIC_REG_STATUS3 = 6, + MAX8997_MUIC_REG_INTMASK1 = 7, + MAX8997_MUIC_REG_INTMASK2 = 8, + MAX8997_MUIC_REG_INTMASK3 = 9, + MAX8997_MUIC_REG_CDETCTRL = 10, + MAX8997_MUIC_REG_CONTROL1 = 12, + MAX8997_MUIC_REG_CONTROL2 = 13, + MAX8997_MUIC_REG_CONTROL3 = 14, + MAX8997_MUIC_REG_END = 15, +}; + +enum max8997_pmic_reg { + MAX8997_REG_PMIC_ID0 = 0, + MAX8997_REG_PMIC_ID1 = 1, + MAX8997_REG_INTSRC = 2, + MAX8997_REG_INT1 = 3, + MAX8997_REG_INT2 = 4, + MAX8997_REG_INT3 = 5, + MAX8997_REG_INT4 = 6, + MAX8997_REG_INT1MSK = 8, + MAX8997_REG_INT2MSK = 9, + MAX8997_REG_INT3MSK = 10, + MAX8997_REG_INT4MSK = 11, + MAX8997_REG_STATUS1 = 13, + MAX8997_REG_STATUS2 = 14, + MAX8997_REG_STATUS3 = 15, + MAX8997_REG_STATUS4 = 16, + MAX8997_REG_MAINCON1 = 19, + MAX8997_REG_MAINCON2 = 20, + MAX8997_REG_BUCKRAMP = 21, + MAX8997_REG_BUCK1CTRL = 24, + MAX8997_REG_BUCK1DVS1 = 25, + MAX8997_REG_BUCK1DVS2 = 26, + MAX8997_REG_BUCK1DVS3 = 27, + MAX8997_REG_BUCK1DVS4 = 28, + MAX8997_REG_BUCK1DVS5 = 29, + MAX8997_REG_BUCK1DVS6 = 30, + MAX8997_REG_BUCK1DVS7 = 31, + MAX8997_REG_BUCK1DVS8 = 32, + MAX8997_REG_BUCK2CTRL = 33, + MAX8997_REG_BUCK2DVS1 = 34, + MAX8997_REG_BUCK2DVS2 = 35, + MAX8997_REG_BUCK2DVS3 = 36, + MAX8997_REG_BUCK2DVS4 = 37, + MAX8997_REG_BUCK2DVS5 = 38, + MAX8997_REG_BUCK2DVS6 = 39, + MAX8997_REG_BUCK2DVS7 = 40, + MAX8997_REG_BUCK2DVS8 = 41, + MAX8997_REG_BUCK3CTRL = 42, + MAX8997_REG_BUCK3DVS = 43, + MAX8997_REG_BUCK4CTRL = 44, + MAX8997_REG_BUCK4DVS = 45, + MAX8997_REG_BUCK5CTRL = 46, + MAX8997_REG_BUCK5DVS1 = 47, + MAX8997_REG_BUCK5DVS2 = 48, + MAX8997_REG_BUCK5DVS3 = 49, + MAX8997_REG_BUCK5DVS4 = 50, + MAX8997_REG_BUCK5DVS5 = 51, + MAX8997_REG_BUCK5DVS6 = 52, + MAX8997_REG_BUCK5DVS7 = 53, + MAX8997_REG_BUCK5DVS8 = 54, + MAX8997_REG_BUCK6CTRL = 55, + MAX8997_REG_BUCK6BPSKIPCTRL = 56, + MAX8997_REG_BUCK7CTRL = 57, + MAX8997_REG_BUCK7DVS = 58, + MAX8997_REG_LDO1CTRL = 59, + MAX8997_REG_LDO2CTRL = 60, + MAX8997_REG_LDO3CTRL = 61, + MAX8997_REG_LDO4CTRL = 62, + MAX8997_REG_LDO5CTRL = 63, + MAX8997_REG_LDO6CTRL = 64, + MAX8997_REG_LDO7CTRL = 65, + MAX8997_REG_LDO8CTRL = 66, + MAX8997_REG_LDO9CTRL = 67, + MAX8997_REG_LDO10CTRL = 68, + MAX8997_REG_LDO11CTRL = 69, + MAX8997_REG_LDO12CTRL = 70, + MAX8997_REG_LDO13CTRL = 71, + MAX8997_REG_LDO14CTRL = 72, + MAX8997_REG_LDO15CTRL = 73, + MAX8997_REG_LDO16CTRL = 74, + MAX8997_REG_LDO17CTRL = 75, + MAX8997_REG_LDO18CTRL = 76, + MAX8997_REG_LDO21CTRL = 77, + MAX8997_REG_MBCCTRL1 = 80, + MAX8997_REG_MBCCTRL2 = 81, + MAX8997_REG_MBCCTRL3 = 82, + MAX8997_REG_MBCCTRL4 = 83, + MAX8997_REG_MBCCTRL5 = 84, + MAX8997_REG_MBCCTRL6 = 85, + MAX8997_REG_OTPCGHCVS = 86, + MAX8997_REG_SAFEOUTCTRL = 90, + MAX8997_REG_LBCNFG1 = 94, + MAX8997_REG_LBCNFG2 = 95, + MAX8997_REG_BBCCTRL = 96, + MAX8997_REG_FLASH1_CUR = 99, + MAX8997_REG_FLASH2_CUR = 100, + MAX8997_REG_MOVIE_CUR = 101, + MAX8997_REG_GSMB_CUR = 102, + MAX8997_REG_BOOST_CNTL = 103, + MAX8997_REG_LEN_CNTL = 104, + MAX8997_REG_FLASH_CNTL = 105, + MAX8997_REG_WDT_CNTL = 106, + MAX8997_REG_MAXFLASH1 = 107, + MAX8997_REG_MAXFLASH2 = 108, + MAX8997_REG_FLASHSTATUS = 109, + MAX8997_REG_FLASHSTATUSMASK = 110, + MAX8997_REG_GPIOCNTL1 = 112, + MAX8997_REG_GPIOCNTL2 = 113, + MAX8997_REG_GPIOCNTL3 = 114, + MAX8997_REG_GPIOCNTL4 = 115, + MAX8997_REG_GPIOCNTL5 = 116, + MAX8997_REG_GPIOCNTL6 = 117, + MAX8997_REG_GPIOCNTL7 = 118, + MAX8997_REG_GPIOCNTL8 = 119, + MAX8997_REG_GPIOCNTL9 = 120, + MAX8997_REG_GPIOCNTL10 = 121, + MAX8997_REG_GPIOCNTL11 = 122, + MAX8997_REG_GPIOCNTL12 = 123, + MAX8997_REG_LDO1CONFIG = 128, + MAX8997_REG_LDO2CONFIG = 129, + MAX8997_REG_LDO3CONFIG = 130, + MAX8997_REG_LDO4CONFIG = 131, + MAX8997_REG_LDO5CONFIG = 132, + MAX8997_REG_LDO6CONFIG = 133, + MAX8997_REG_LDO7CONFIG = 134, + MAX8997_REG_LDO8CONFIG = 135, + MAX8997_REG_LDO9CONFIG = 136, + MAX8997_REG_LDO10CONFIG = 137, + MAX8997_REG_LDO11CONFIG = 138, + MAX8997_REG_LDO12CONFIG = 139, + MAX8997_REG_LDO13CONFIG = 140, + MAX8997_REG_LDO14CONFIG = 141, + MAX8997_REG_LDO15CONFIG = 142, + MAX8997_REG_LDO16CONFIG = 143, + MAX8997_REG_LDO17CONFIG = 144, + MAX8997_REG_LDO18CONFIG = 145, + MAX8997_REG_LDO21CONFIG = 146, + MAX8997_REG_DVSOKTIMER1 = 151, + MAX8997_REG_DVSOKTIMER2 = 152, + MAX8997_REG_DVSOKTIMER4 = 153, + MAX8997_REG_DVSOKTIMER5 = 154, + MAX8997_REG_PMIC_END = 155, +}; + +enum max8997_types { + TYPE_MAX8997 = 0, + TYPE_MAX8966 = 1, +}; + +enum maxim_device_type { + MAXIM_DEVICE_TYPE_UNKNOWN = 0, + MAXIM_DEVICE_TYPE_MAX14577 = 1, + MAXIM_DEVICE_TYPE_MAX77836 = 2, + MAXIM_DEVICE_TYPE_NUM = 3, +}; + +enum mca_msr { + MCA_CTL = 0, + MCA_STATUS = 1, + MCA_ADDR = 2, + MCA_MISC = 3, +}; + +enum mce_notifier_prios { + MCE_PRIO_LOWEST = 0, + MCE_PRIO_MCELOG = 1, + MCE_PRIO_EDAC = 2, + MCE_PRIO_NFIT = 3, + MCE_PRIO_EXTLOG = 4, + MCE_PRIO_UC = 5, + MCE_PRIO_EARLY = 6, + MCE_PRIO_CEC = 7, + MCE_PRIO_HIGHEST = 7, +}; + +enum mcp_flags { + MCP_TIMESTAMP = 1, + MCP_UC = 2, + MCP_DONTLOG = 4, + MCP_QUEUE_LOG = 8, +}; + +enum mctp_neigh_source { + MCTP_NEIGH_STATIC = 0, + MCTP_NEIGH_DISCOVER = 1, +}; + +enum mctp_phys_binding { + MCTP_PHYS_BINDING_UNSPEC = 0, + MCTP_PHYS_BINDING_SMBUS = 1, + MCTP_PHYS_BINDING_PCIE_VDM = 2, + MCTP_PHYS_BINDING_USB = 3, + MCTP_PHYS_BINDING_KCS = 4, + MCTP_PHYS_BINDING_SERIAL = 5, + MCTP_PHYS_BINDING_I3C = 6, + MCTP_PHYS_BINDING_MMBI = 7, + MCTP_PHYS_BINDING_PCC = 8, + MCTP_PHYS_BINDING_UCIE = 9, + MCTP_PHYS_BINDING_VENDOR = 255, +}; + +enum mctrl_gpio_idx { + UART_GPIO_CTS = 0, + UART_GPIO_DSR = 1, + UART_GPIO_DCD = 2, + UART_GPIO_RNG = 3, + UART_GPIO_RI = 3, + UART_GPIO_RTS = 4, + UART_GPIO_DTR = 5, + UART_GPIO_MAX = 6, +}; + +enum md_ro_state { + MD_RDWR = 0, + MD_RDONLY = 1, + MD_AUTO_READ = 2, + MD_MAX_STATE = 3, +}; + +enum md_submodule_id { + ID_LINEAR = -1, + ID_RAID0 = 0, + ID_RAID1 = 1, + ID_RAID4 = 4, + ID_RAID5 = 5, + ID_RAID6 = 6, + ID_RAID10 = 10, + ID_CLUSTER = 11, + ID_BITMAP = 12, + ID_LLBITMAP = 13, +}; + +enum md_submodule_type { + MD_PERSONALITY = 0, + MD_CLUSTER = 1, + MD_BITMAP = 2, +}; + +enum mddev_flags { + MD_ARRAY_FIRST_USE = 0, + MD_CLOSING = 1, + MD_JOURNAL_CLEAN = 2, + MD_HAS_JOURNAL = 3, + MD_CLUSTER_RESYNC_LOCKED = 4, + MD_FAILFAST_SUPPORTED = 5, + MD_HAS_PPL = 6, + MD_HAS_MULTIPLE_PPLS = 7, + MD_NOT_READY = 8, + MD_BROKEN = 9, + MD_DO_DELETE = 10, + MD_DELETED = 11, +}; + +enum mddev_sb_flags { + MD_SB_CHANGE_DEVS = 0, + MD_SB_CHANGE_CLEAN = 1, + MD_SB_CHANGE_PENDING = 2, + MD_SB_NEED_REWRITE = 3, +}; + +enum mds_mitigations { + MDS_MITIGATION_OFF = 0, + MDS_MITIGATION_AUTO = 1, + MDS_MITIGATION_FULL = 2, + MDS_MITIGATION_VMWERV = 3, +}; + +enum mem_cgroup_events_target { + MEM_CGROUP_TARGET_THRESH = 0, + MEM_CGROUP_TARGET_SOFTLIMIT = 1, + MEM_CGROUP_NTARGETS = 2, +}; + +enum mem_type { + MEM_EMPTY = 0, + MEM_RESERVED = 1, + MEM_UNKNOWN = 2, + MEM_FPM = 3, + MEM_EDO = 4, + MEM_BEDO = 5, + MEM_SDR = 6, + MEM_RDR = 7, + MEM_DDR = 8, + MEM_RDDR = 9, + MEM_RMBS = 10, + MEM_DDR2 = 11, + MEM_FB_DDR2 = 12, + MEM_RDDR2 = 13, + MEM_XDR = 14, + MEM_DDR3 = 15, + MEM_RDDR3 = 16, + MEM_LRDDR3 = 17, + MEM_LPDDR3 = 18, + MEM_DDR4 = 19, + MEM_RDDR4 = 20, + MEM_LRDDR4 = 21, + MEM_LPDDR4 = 22, + MEM_DDR5 = 23, + MEM_RDDR5 = 24, + MEM_LRDDR5 = 25, + MEM_NVDIMM = 26, + MEM_WIO2 = 27, + MEM_HBM2 = 28, + MEM_HBM3 = 29, +}; + +enum membarrier_cmd { + MEMBARRIER_CMD_QUERY = 0, + MEMBARRIER_CMD_GLOBAL = 1, + MEMBARRIER_CMD_GLOBAL_EXPEDITED = 2, + MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED = 4, + MEMBARRIER_CMD_PRIVATE_EXPEDITED = 8, + MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED = 16, + MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE = 32, + MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE = 64, + MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ = 128, + MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_RSEQ = 256, + MEMBARRIER_CMD_GET_REGISTRATIONS = 512, + MEMBARRIER_CMD_SHARED = 1, +}; + +enum membarrier_cmd_flag { + MEMBARRIER_CMD_FLAG_CPU = 1, +}; + +enum memblock_flags { + MEMBLOCK_NONE = 0, + MEMBLOCK_HOTPLUG = 1, + MEMBLOCK_MIRROR = 2, + MEMBLOCK_NOMAP = 4, + MEMBLOCK_DRIVER_MANAGED = 8, + MEMBLOCK_RSRV_NOINIT = 16, + MEMBLOCK_RSRV_KERN = 32, + MEMBLOCK_KHO_SCRATCH = 64, +}; + +enum membw_throttle_mode { + THREAD_THROTTLE_UNDEFINED = 0, + THREAD_THROTTLE_MAX = 1, + THREAD_THROTTLE_PER_THREAD = 2, +}; + +enum memcg_memory_event { + MEMCG_LOW = 0, + MEMCG_HIGH = 1, + MEMCG_MAX = 2, + MEMCG_OOM = 3, + MEMCG_OOM_KILL = 4, + MEMCG_OOM_GROUP_KILL = 5, + MEMCG_SWAP_HIGH = 6, + MEMCG_SWAP_MAX = 7, + MEMCG_SWAP_FAIL = 8, + MEMCG_NR_MEMORY_EVENTS = 9, +}; + +enum memcg_stat_item { + MEMCG_SWAP = 49, + MEMCG_SOCK = 50, + MEMCG_PERCPU_B = 51, + MEMCG_VMALLOC = 52, + MEMCG_KMEM = 53, + MEMCG_ZSWAP_B = 54, + MEMCG_ZSWAPPED = 55, + MEMCG_NR_STAT = 56, +}; + +enum meminit_context { + MEMINIT_EARLY = 0, + MEMINIT_HOTPLUG = 1, +}; + +enum memory_type { + MEMORY_DEVICE_PRIVATE = 1, + MEMORY_DEVICE_COHERENT = 2, + MEMORY_DEVICE_FS_DAX = 3, + MEMORY_DEVICE_GENERIC = 4, + MEMORY_DEVICE_PCI_P2PDMA = 5, +}; + +enum metadata_type { + METADATA_IP_TUNNEL = 0, + METADATA_HW_PORT_MUX = 1, + METADATA_MACSEC = 2, + METADATA_XFRM = 3, +}; + +enum mf_action_page_type { + MF_MSG_KERNEL = 0, + MF_MSG_KERNEL_HIGH_ORDER = 1, + MF_MSG_DIFFERENT_COMPOUND = 2, + MF_MSG_HUGE = 3, + MF_MSG_FREE_HUGE = 4, + MF_MSG_GET_HWPOISON = 5, + MF_MSG_UNMAP_FAILED = 6, + MF_MSG_DIRTY_SWAPCACHE = 7, + MF_MSG_CLEAN_SWAPCACHE = 8, + MF_MSG_DIRTY_MLOCKED_LRU = 9, + MF_MSG_CLEAN_MLOCKED_LRU = 10, + MF_MSG_DIRTY_UNEVICTABLE_LRU = 11, + MF_MSG_CLEAN_UNEVICTABLE_LRU = 12, + MF_MSG_DIRTY_LRU = 13, + MF_MSG_CLEAN_LRU = 14, + MF_MSG_TRUNCATED_LRU = 15, + MF_MSG_BUDDY = 16, + MF_MSG_DAX = 17, + MF_MSG_UNSPLIT_THP = 18, + MF_MSG_ALREADY_POISONED = 19, + MF_MSG_UNKNOWN = 20, +}; + +enum mf_flags { + MF_COUNT_INCREASED = 1, + MF_ACTION_REQUIRED = 2, + MF_MUST_KILL = 4, + MF_SOFT_OFFLINE = 8, + MF_UNPOISON = 16, + MF_SW_SIMULATED = 32, + MF_NO_RETRY = 64, + MF_MEM_PRE_REMOVE = 128, +}; + +enum mf_result { + MF_IGNORED = 0, + MF_FAILED = 1, + MF_DELAYED = 2, + MF_RECOVERED = 3, +}; + +enum mfill_atomic_mode { + MFILL_ATOMIC_COPY = 0, + MFILL_ATOMIC_ZEROPAGE = 1, + MFILL_ATOMIC_CONTINUE = 2, + MFILL_ATOMIC_POISON = 3, + NR_MFILL_ATOMIC_MODES = 4, +}; + +enum migrate_mode { + MIGRATE_ASYNC = 0, + MIGRATE_SYNC_LIGHT = 1, + MIGRATE_SYNC = 2, +}; + +enum migrate_reason { + MR_COMPACTION = 0, + MR_MEMORY_FAILURE = 1, + MR_MEMORY_HOTPLUG = 2, + MR_SYSCALL = 3, + MR_MEMPOLICY_MBIND = 4, + MR_NUMA_MISPLACED = 5, + MR_CONTIG_RANGE = 6, + MR_LONGTERM_PIN = 7, + MR_DEMOTION = 8, + MR_DAMON = 9, + MR_TYPES = 10, +}; + +enum migrate_vma_direction { + MIGRATE_VMA_SELECT_SYSTEM = 1, + MIGRATE_VMA_SELECT_DEVICE_PRIVATE = 2, + MIGRATE_VMA_SELECT_DEVICE_COHERENT = 4, +}; + +enum migratetype { + MIGRATE_UNMOVABLE = 0, + MIGRATE_MOVABLE = 1, + MIGRATE_RECLAIMABLE = 2, + MIGRATE_PCPTYPES = 3, + MIGRATE_HIGHATOMIC = 3, + MIGRATE_CMA = 4, + __MIGRATE_TYPE_END = 4, + MIGRATE_ISOLATE = 5, + MIGRATE_TYPES = 6, +}; + +enum migration_type { + migrate_load = 0, + migrate_util = 1, + migrate_task = 2, + migrate_misfit = 3, +}; + +enum mipi_dsi_compression_algo { + MIPI_DSI_COMPRESSION_DSC = 0, + MIPI_DSI_COMPRESSION_VENDOR = 3, +}; + +enum mipi_dsi_dcs_tear_mode { + MIPI_DSI_DCS_TEAR_MODE_VBLANK = 0, + MIPI_DSI_DCS_TEAR_MODE_VHBLANK = 1, +}; + +enum mipi_dsi_pixel_format { + MIPI_DSI_FMT_RGB888 = 0, + MIPI_DSI_FMT_RGB666 = 1, + MIPI_DSI_FMT_RGB666_PACKED = 2, + MIPI_DSI_FMT_RGB565 = 3, +}; + +enum misc_res_type { + MISC_CG_RES_SEV = 0, + MISC_CG_RES_SEV_ES = 1, + MISC_CG_RES_TDX = 2, + MISC_CG_RES_TYPES = 3, +}; + +enum mm_cid_state { + MM_CID_UNSET = 4294967295, + MM_CID_LAZY_PUT = 2147483648, +}; + +enum mm_io_opcode { + MMIO_READ = 1, + MMIO_WRITE = 2, + MMIO_PROBE = 3, + MMIO_UNPROBE = 4, + MMIO_UNKNOWN_OP = 5, +}; + +enum mmc_busy_cmd { + MMC_BUSY_CMD6 = 0, + MMC_BUSY_ERASE = 1, + MMC_BUSY_HPI = 2, + MMC_BUSY_EXTR_SINGLE = 3, + MMC_BUSY_IO = 4, +}; + +enum mmc_drv_op { + MMC_DRV_OP_IOCTL = 0, + MMC_DRV_OP_IOCTL_RPMB = 1, + MMC_DRV_OP_BOOT_WP = 2, + MMC_DRV_OP_GET_CARD_STATUS = 3, + MMC_DRV_OP_GET_EXT_CSD = 4, +}; + +enum mmc_err_stat { + MMC_ERR_CMD_TIMEOUT = 0, + MMC_ERR_CMD_CRC = 1, + MMC_ERR_DAT_TIMEOUT = 2, + MMC_ERR_DAT_CRC = 3, + MMC_ERR_AUTO_CMD = 4, + MMC_ERR_ADMA = 5, + MMC_ERR_TUNING = 6, + MMC_ERR_CMDQ_RED = 7, + MMC_ERR_CMDQ_GCE = 8, + MMC_ERR_CMDQ_ICCE = 9, + MMC_ERR_REQ_TIMEOUT = 10, + MMC_ERR_CMDQ_REQ_TIMEOUT = 11, + MMC_ERR_ICE_CFG = 12, + MMC_ERR_CTRL_TIMEOUT = 13, + MMC_ERR_UNEXPECTED_IRQ = 14, + MMC_ERR_MAX = 15, +}; + +enum mmc_issue_type { + MMC_ISSUE_SYNC = 0, + MMC_ISSUE_DCMD = 1, + MMC_ISSUE_ASYNC = 2, + MMC_ISSUE_MAX = 3, +}; + +enum mmc_poweroff_type { + MMC_POWEROFF_SUSPEND = 0, + MMC_POWEROFF_SHUTDOWN = 1, + MMC_POWEROFF_UNBIND = 2, +}; + +enum mminit_level { + MMINIT_WARNING = 0, + MMINIT_VERIFY = 1, + MMINIT_TRACE = 2, +}; + +enum mmio_mitigations { + MMIO_MITIGATION_OFF = 0, + MMIO_MITIGATION_AUTO = 1, + MMIO_MITIGATION_UCODE_NEEDED = 2, + MMIO_MITIGATION_VERW = 3, +}; + +enum mmioh_arch { + UV2_MMIOH = -1, + UVY_MMIOH0 = 0, + UVY_MMIOH1 = 1, + UVX_MMIOH0 = 2, + UVX_MMIOH1 = 3, +}; + +enum mmu_notifier_event { + MMU_NOTIFY_UNMAP = 0, + MMU_NOTIFY_CLEAR = 1, + MMU_NOTIFY_PROTECTION_VMA = 2, + MMU_NOTIFY_PROTECTION_PAGE = 3, + MMU_NOTIFY_SOFT_DIRTY = 4, + MMU_NOTIFY_RELEASE = 5, + MMU_NOTIFY_MIGRATE = 6, + MMU_NOTIFY_EXCLUSIVE = 7, +}; + +enum mnt_tree_flags_t { + MNT_TREE_BENEATH = 1, + MNT_TREE_PROPAGATION = 2, +}; + +enum mod_license { + NOT_GPL_ONLY = 0, + GPL_ONLY = 1, +}; + +enum mod_mem_type { + MOD_TEXT = 0, + MOD_DATA = 1, + MOD_RODATA = 2, + MOD_RO_AFTER_INIT = 3, + MOD_INIT_TEXT = 4, + MOD_INIT_DATA = 5, + MOD_INIT_RODATA = 6, + MOD_MEM_NUM_TYPES = 7, + MOD_INVALID = -1, +}; + +enum mode_set_atomic { + LEAVE_ATOMIC_MODE_SET = 0, + ENTER_ATOMIC_MODE_SET = 1, +}; + +enum module_state { + MODULE_STATE_LIVE = 0, + MODULE_STATE_COMING = 1, + MODULE_STATE_GOING = 2, + MODULE_STATE_UNFORMED = 3, +}; + +enum mount_flags { + MNT_NOSUID = 1, + MNT_NODEV = 2, + MNT_NOEXEC = 4, + MNT_NOATIME = 8, + MNT_NODIRATIME = 16, + MNT_RELATIME = 32, + MNT_READONLY = 64, + MNT_NOSYMFOLLOW = 128, + MNT_SHRINKABLE = 256, + MNT_WRITE_HOLD = 512, + MNT_INTERNAL = 16384, + MNT_LOCK_ATIME = 262144, + MNT_LOCK_NOEXEC = 524288, + MNT_LOCK_NOSUID = 1048576, + MNT_LOCK_NODEV = 2097152, + MNT_LOCK_READONLY = 4194304, + MNT_LOCKED = 8388608, + MNT_DOOMED = 16777216, + MNT_SYNC_UMOUNT = 33554432, + MNT_UMOUNT = 134217728, + MNT_USER_SETTABLE_MASK = 255, + MNT_ATIME_MASK = 56, + MNT_INTERNAL_FLAGS = 58737152, +}; + +enum mount_kattr_flags_t { + MOUNT_KATTR_RECURSE = 1, + MOUNT_KATTR_IDMAP_REPLACE = 2, +}; + +enum mousedev_emul { + MOUSEDEV_EMUL_PS2 = 0, + MOUSEDEV_EMUL_IMPS = 1, + MOUSEDEV_EMUL_EXPS = 2, +}; + +enum mp_irq_source_types { + mp_INT = 0, + mp_NMI = 1, + mp_SMI = 2, + mp_ExtINT = 3, +}; + +enum mptcp_addr_signal_status { + MPTCP_ADD_ADDR_SIGNAL = 0, + MPTCP_ADD_ADDR_ECHO = 1, + MPTCP_RM_ADDR_SIGNAL = 2, +}; + +enum mptcp_event_attr { + MPTCP_ATTR_UNSPEC = 0, + MPTCP_ATTR_TOKEN = 1, + MPTCP_ATTR_FAMILY = 2, + MPTCP_ATTR_LOC_ID = 3, + MPTCP_ATTR_REM_ID = 4, + MPTCP_ATTR_SADDR4 = 5, + MPTCP_ATTR_SADDR6 = 6, + MPTCP_ATTR_DADDR4 = 7, + MPTCP_ATTR_DADDR6 = 8, + MPTCP_ATTR_SPORT = 9, + MPTCP_ATTR_DPORT = 10, + MPTCP_ATTR_BACKUP = 11, + MPTCP_ATTR_ERROR = 12, + MPTCP_ATTR_FLAGS = 13, + MPTCP_ATTR_TIMEOUT = 14, + MPTCP_ATTR_IF_IDX = 15, + MPTCP_ATTR_RESET_REASON = 16, + MPTCP_ATTR_RESET_FLAGS = 17, + MPTCP_ATTR_SERVER_SIDE = 18, + __MPTCP_ATTR_MAX = 19, +}; + +enum mptcp_event_type { + MPTCP_EVENT_UNSPEC = 0, + MPTCP_EVENT_CREATED = 1, + MPTCP_EVENT_ESTABLISHED = 2, + MPTCP_EVENT_CLOSED = 3, + MPTCP_EVENT_ANNOUNCED = 6, + MPTCP_EVENT_REMOVED = 7, + MPTCP_EVENT_SUB_ESTABLISHED = 10, + MPTCP_EVENT_SUB_CLOSED = 11, + MPTCP_EVENT_SUB_PRIORITY = 13, + MPTCP_EVENT_LISTENER_CREATED = 15, + MPTCP_EVENT_LISTENER_CLOSED = 16, +}; + +enum mptcp_pm_status { + MPTCP_PM_ADD_ADDR_RECEIVED = 0, + MPTCP_PM_ADD_ADDR_SEND_ACK = 1, + MPTCP_PM_RM_ADDR_RECEIVED = 2, + MPTCP_PM_ESTABLISHED = 3, + MPTCP_PM_SUBFLOW_ESTABLISHED = 4, + MPTCP_PM_ALREADY_ESTABLISHED = 5, + MPTCP_PM_MPC_ENDPOINT_ACCOUNTED = 6, +}; + +enum mptcp_pm_type { + MPTCP_PM_TYPE_KERNEL = 0, + MPTCP_PM_TYPE_USERSPACE = 1, + __MPTCP_PM_TYPE_NR = 2, + __MPTCP_PM_TYPE_MAX = 1, +}; + +enum mq_rq_state { + MQ_RQ_IDLE = 0, + MQ_RQ_IN_FLIGHT = 1, + MQ_RQ_COMPLETE = 2, +}; + +enum mremap_type { + MREMAP_INVALID = 0, + MREMAP_NO_RESIZE = 1, + MREMAP_SHRINK = 2, + MREMAP_EXPAND = 3, +}; + +enum mscode_actions { + ACT_mscode_note_content_type = 0, + ACT_mscode_note_digest = 1, + ACT_mscode_note_digest_algo = 2, + NR__mscode_actions = 3, +}; + +enum msdos_sys_ind { + DOS_EXTENDED_PARTITION = 5, + LINUX_EXTENDED_PARTITION = 133, + WIN98_EXTENDED_PARTITION = 15, + LINUX_DATA_PARTITION = 131, + LINUX_LVM_PARTITION = 142, + LINUX_RAID_PARTITION___3 = 253, + SOLARIS_X86_PARTITION = 130, + NEW_SOLARIS_X86_PARTITION = 191, + DM6_AUX1PARTITION = 81, + DM6_AUX3PARTITION = 83, + DM6_PARTITION = 84, + EZD_PARTITION = 85, + FREEBSD_PARTITION = 165, + OPENBSD_PARTITION = 166, + NETBSD_PARTITION = 169, + BSDI_PARTITION = 183, + MINIX_PARTITION = 129, + UNIXWARE_PARTITION = 99, +}; + +enum msg_type { + SNP_MSG_TYPE_INVALID = 0, + SNP_MSG_CPUID_REQ = 1, + SNP_MSG_CPUID_RSP = 2, + SNP_MSG_KEY_REQ = 3, + SNP_MSG_KEY_RSP = 4, + SNP_MSG_REPORT_REQ = 5, + SNP_MSG_REPORT_RSP = 6, + SNP_MSG_EXPORT_REQ = 7, + SNP_MSG_EXPORT_RSP = 8, + SNP_MSG_IMPORT_REQ = 9, + SNP_MSG_IMPORT_RSP = 10, + SNP_MSG_ABSORB_REQ = 11, + SNP_MSG_ABSORB_RSP = 12, + SNP_MSG_VMRK_REQ = 13, + SNP_MSG_VMRK_RSP = 14, + SNP_MSG_TSC_INFO_REQ = 17, + SNP_MSG_TSC_INFO_RSP = 18, + SNP_MSG_TYPE_MAX = 19, +}; + +enum msi_desc_filter { + MSI_DESC_ALL = 0, + MSI_DESC_NOTASSOCIATED = 1, + MSI_DESC_ASSOCIATED = 2, +}; + +enum msi_domain_ids { + MSI_DEFAULT_DOMAIN = 0, + MSI_MAX_DEVICE_IRQDOMAINS = 1, +}; + +enum mthp_stat_item { + MTHP_STAT_ANON_FAULT_ALLOC = 0, + MTHP_STAT_ANON_FAULT_FALLBACK = 1, + MTHP_STAT_ANON_FAULT_FALLBACK_CHARGE = 2, + MTHP_STAT_ZSWPOUT = 3, + MTHP_STAT_SWPIN = 4, + MTHP_STAT_SWPIN_FALLBACK = 5, + MTHP_STAT_SWPIN_FALLBACK_CHARGE = 6, + MTHP_STAT_SWPOUT = 7, + MTHP_STAT_SWPOUT_FALLBACK = 8, + MTHP_STAT_SHMEM_ALLOC = 9, + MTHP_STAT_SHMEM_FALLBACK = 10, + MTHP_STAT_SHMEM_FALLBACK_CHARGE = 11, + MTHP_STAT_SPLIT = 12, + MTHP_STAT_SPLIT_FAILED = 13, + MTHP_STAT_SPLIT_DEFERRED = 14, + MTHP_STAT_NR_ANON = 15, + MTHP_STAT_NR_ANON_PARTIALLY_MAPPED = 16, + __MTHP_STAT_COUNT = 17, +}; + +enum multi_stop_state { + MULTI_STOP_NONE = 0, + MULTI_STOP_PREPARE = 1, + MULTI_STOP_DISABLE_IRQ = 2, + MULTI_STOP_RUN = 3, + MULTI_STOP_EXIT = 4, +}; + +enum nbcon_prio { + NBCON_PRIO_NONE = 0, + NBCON_PRIO_NORMAL = 1, + NBCON_PRIO_EMERGENCY = 2, + NBCON_PRIO_PANIC = 3, + NBCON_PRIO_MAX = 4, +}; + +enum ncsi_nl_attrs { + NCSI_ATTR_UNSPEC = 0, + NCSI_ATTR_IFINDEX = 1, + NCSI_ATTR_PACKAGE_LIST = 2, + NCSI_ATTR_PACKAGE_ID = 3, + NCSI_ATTR_CHANNEL_ID = 4, + NCSI_ATTR_DATA = 5, + NCSI_ATTR_MULTI_FLAG = 6, + NCSI_ATTR_PACKAGE_MASK = 7, + NCSI_ATTR_CHANNEL_MASK = 8, + __NCSI_ATTR_AFTER_LAST = 9, + NCSI_ATTR_MAX = 8, +}; + +enum ncsi_nl_channel_attrs { + NCSI_CHANNEL_ATTR_UNSPEC = 0, + NCSI_CHANNEL_ATTR = 1, + NCSI_CHANNEL_ATTR_ID = 2, + NCSI_CHANNEL_ATTR_VERSION_MAJOR = 3, + NCSI_CHANNEL_ATTR_VERSION_MINOR = 4, + NCSI_CHANNEL_ATTR_VERSION_STR = 5, + NCSI_CHANNEL_ATTR_LINK_STATE = 6, + NCSI_CHANNEL_ATTR_ACTIVE = 7, + NCSI_CHANNEL_ATTR_FORCED = 8, + NCSI_CHANNEL_ATTR_VLAN_LIST = 9, + NCSI_CHANNEL_ATTR_VLAN_ID = 10, + __NCSI_CHANNEL_ATTR_AFTER_LAST = 11, + NCSI_CHANNEL_ATTR_MAX = 10, +}; + +enum ncsi_nl_commands { + NCSI_CMD_UNSPEC = 0, + NCSI_CMD_PKG_INFO = 1, + NCSI_CMD_SET_INTERFACE = 2, + NCSI_CMD_CLEAR_INTERFACE = 3, + NCSI_CMD_SEND_CMD = 4, + NCSI_CMD_SET_PACKAGE_MASK = 5, + NCSI_CMD_SET_CHANNEL_MASK = 6, + __NCSI_CMD_AFTER_LAST = 7, + NCSI_CMD_MAX = 6, +}; + +enum ncsi_nl_pkg_attrs { + NCSI_PKG_ATTR_UNSPEC = 0, + NCSI_PKG_ATTR = 1, + NCSI_PKG_ATTR_ID = 2, + NCSI_PKG_ATTR_FORCED = 3, + NCSI_PKG_ATTR_CHANNEL_LIST = 4, + __NCSI_PKG_ATTR_AFTER_LAST = 5, + NCSI_PKG_ATTR_MAX = 4, +}; + +enum nd_async_mode { + ND_SYNC = 0, + ND_ASYNC = 1, +}; + +enum nd_driver_flags { + ND_DRIVER_DIMM = 2, + ND_DRIVER_REGION_PMEM = 4, + ND_DRIVER_REGION_BLK = 8, + ND_DRIVER_NAMESPACE_IO = 16, + ND_DRIVER_NAMESPACE_PMEM = 32, + ND_DRIVER_DAX_PMEM = 128, +}; + +enum nd_ioctl_mode { + BUS_IOCTL = 0, + DIMM_IOCTL = 1, +}; + +enum nd_label_flags { + ND_LABEL_REAP = 0, +}; + +enum nd_pfn_mode { + PFN_MODE_NONE = 0, + PFN_MODE_RAM = 1, + PFN_MODE_PMEM = 2, +}; + +enum net_device_flags { + IFF_UP = 1, + IFF_BROADCAST = 2, + IFF_DEBUG = 4, + IFF_LOOPBACK = 8, + IFF_POINTOPOINT = 16, + IFF_NOTRAILERS = 32, + IFF_RUNNING = 64, + IFF_NOARP = 128, + IFF_PROMISC = 256, + IFF_ALLMULTI = 512, + IFF_MASTER = 1024, + IFF_SLAVE = 2048, + IFF_MULTICAST = 4096, + IFF_PORTSEL = 8192, + IFF_AUTOMEDIA = 16384, + IFF_DYNAMIC = 32768, + IFF_LOWER_UP = 65536, + IFF_DORMANT = 131072, + IFF_ECHO = 262144, +}; + +enum net_device_path_type { + DEV_PATH_ETHERNET = 0, + DEV_PATH_VLAN = 1, + DEV_PATH_BRIDGE = 2, + DEV_PATH_PPPOE = 3, + DEV_PATH_DSA = 4, + DEV_PATH_MTK_WDMA = 5, +}; + +enum net_dm_alert_mode { + NET_DM_ALERT_MODE_SUMMARY = 0, + NET_DM_ALERT_MODE_PACKET = 1, +}; + +enum net_dm_attr { + NET_DM_ATTR_UNSPEC = 0, + NET_DM_ATTR_ALERT_MODE = 1, + NET_DM_ATTR_PC = 2, + NET_DM_ATTR_SYMBOL = 3, + NET_DM_ATTR_IN_PORT = 4, + NET_DM_ATTR_TIMESTAMP = 5, + NET_DM_ATTR_PROTO = 6, + NET_DM_ATTR_PAYLOAD = 7, + NET_DM_ATTR_PAD = 8, + NET_DM_ATTR_TRUNC_LEN = 9, + NET_DM_ATTR_ORIG_LEN = 10, + NET_DM_ATTR_QUEUE_LEN = 11, + NET_DM_ATTR_STATS = 12, + NET_DM_ATTR_HW_STATS = 13, + NET_DM_ATTR_ORIGIN = 14, + NET_DM_ATTR_HW_TRAP_GROUP_NAME = 15, + NET_DM_ATTR_HW_TRAP_NAME = 16, + NET_DM_ATTR_HW_ENTRIES = 17, + NET_DM_ATTR_HW_ENTRY = 18, + NET_DM_ATTR_HW_TRAP_COUNT = 19, + NET_DM_ATTR_SW_DROPS = 20, + NET_DM_ATTR_HW_DROPS = 21, + NET_DM_ATTR_FLOW_ACTION_COOKIE = 22, + NET_DM_ATTR_REASON = 23, + __NET_DM_ATTR_MAX = 24, + NET_DM_ATTR_MAX = 23, +}; + +enum net_dm_origin { + NET_DM_ORIGIN_SW = 0, + NET_DM_ORIGIN_HW = 1, +}; + +enum net_iov_type { + NET_IOV_DMABUF = 0ULL, + NET_IOV_IOURING = 1ULL, + NET_IOV_MAX = 18446744073709551615ULL, +}; + +enum net_shaper_binding_type { + NET_SHAPER_BINDING_TYPE_NETDEV = 0, +}; + +enum net_shaper_metric { + NET_SHAPER_METRIC_BPS = 0, + NET_SHAPER_METRIC_PPS = 1, +}; + +enum net_shaper_scope { + NET_SHAPER_SCOPE_UNSPEC = 0, + NET_SHAPER_SCOPE_NETDEV = 1, + NET_SHAPER_SCOPE_QUEUE = 2, + NET_SHAPER_SCOPE_NODE = 3, + __NET_SHAPER_SCOPE_MAX = 4, + NET_SHAPER_SCOPE_MAX = 3, +}; + +enum net_xmit_qdisc_t { + __NET_XMIT_STOLEN = 65536, + __NET_XMIT_BYPASS = 131072, +}; + +enum netdev_cmd { + NETDEV_UP = 1, + NETDEV_DOWN = 2, + NETDEV_REBOOT = 3, + NETDEV_CHANGE = 4, + NETDEV_REGISTER = 5, + NETDEV_UNREGISTER = 6, + NETDEV_CHANGEMTU = 7, + NETDEV_CHANGEADDR = 8, + NETDEV_PRE_CHANGEADDR = 9, + NETDEV_GOING_DOWN = 10, + NETDEV_CHANGENAME = 11, + NETDEV_FEAT_CHANGE = 12, + NETDEV_BONDING_FAILOVER = 13, + NETDEV_PRE_UP = 14, + NETDEV_PRE_TYPE_CHANGE = 15, + NETDEV_POST_TYPE_CHANGE = 16, + NETDEV_POST_INIT = 17, + NETDEV_PRE_UNINIT = 18, + NETDEV_RELEASE = 19, + NETDEV_NOTIFY_PEERS = 20, + NETDEV_JOIN = 21, + NETDEV_CHANGEUPPER = 22, + NETDEV_RESEND_IGMP = 23, + NETDEV_PRECHANGEMTU = 24, + NETDEV_CHANGEINFODATA = 25, + NETDEV_BONDING_INFO = 26, + NETDEV_PRECHANGEUPPER = 27, + NETDEV_CHANGELOWERSTATE = 28, + NETDEV_UDP_TUNNEL_PUSH_INFO = 29, + NETDEV_UDP_TUNNEL_DROP_INFO = 30, + NETDEV_CHANGE_TX_QUEUE_LEN = 31, + NETDEV_CVLAN_FILTER_PUSH_INFO = 32, + NETDEV_CVLAN_FILTER_DROP_INFO = 33, + NETDEV_SVLAN_FILTER_PUSH_INFO = 34, + NETDEV_SVLAN_FILTER_DROP_INFO = 35, + NETDEV_OFFLOAD_XSTATS_ENABLE = 36, + NETDEV_OFFLOAD_XSTATS_DISABLE = 37, + NETDEV_OFFLOAD_XSTATS_REPORT_USED = 38, + NETDEV_OFFLOAD_XSTATS_REPORT_DELTA = 39, + NETDEV_XDP_FEAT_CHANGE = 40, +}; + +enum netdev_lag_hash { + NETDEV_LAG_HASH_NONE = 0, + NETDEV_LAG_HASH_L2 = 1, + NETDEV_LAG_HASH_L34 = 2, + NETDEV_LAG_HASH_L23 = 3, + NETDEV_LAG_HASH_E23 = 4, + NETDEV_LAG_HASH_E34 = 5, + NETDEV_LAG_HASH_VLAN_SRCMAC = 6, + NETDEV_LAG_HASH_UNKNOWN = 7, +}; + +enum netdev_lag_tx_type { + NETDEV_LAG_TX_TYPE_UNKNOWN = 0, + NETDEV_LAG_TX_TYPE_RANDOM = 1, + NETDEV_LAG_TX_TYPE_BROADCAST = 2, + NETDEV_LAG_TX_TYPE_ROUNDROBIN = 3, + NETDEV_LAG_TX_TYPE_ACTIVEBACKUP = 4, + NETDEV_LAG_TX_TYPE_HASH = 5, +}; + +enum netdev_ml_priv_type { + ML_PRIV_NONE = 0, + ML_PRIV_CAN = 1, +}; + +enum netdev_napi_threaded { + NETDEV_NAPI_THREADED_DISABLED = 0, + NETDEV_NAPI_THREADED_ENABLED = 1, +}; + +enum netdev_offload_xstats_type { + NETDEV_OFFLOAD_XSTATS_TYPE_L3 = 1, +}; + +enum netdev_priv_flags { + IFF_802_1Q_VLAN = 1, + IFF_EBRIDGE = 2, + IFF_BONDING = 4, + IFF_ISATAP = 8, + IFF_WAN_HDLC = 16, + IFF_XMIT_DST_RELEASE = 32, + IFF_DONT_BRIDGE = 64, + IFF_DISABLE_NETPOLL = 128, + IFF_MACVLAN_PORT = 256, + IFF_BRIDGE_PORT = 512, + IFF_OVS_DATAPATH = 1024, + IFF_TX_SKB_SHARING = 2048, + IFF_UNICAST_FLT = 4096, + IFF_TEAM_PORT = 8192, + IFF_SUPP_NOFCS = 16384, + IFF_LIVE_ADDR_CHANGE = 32768, + IFF_MACVLAN = 65536, + IFF_XMIT_DST_RELEASE_PERM = 131072, + IFF_L3MDEV_MASTER = 262144, + IFF_NO_QUEUE = 524288, + IFF_OPENVSWITCH = 1048576, + IFF_L3MDEV_SLAVE = 2097152, + IFF_TEAM = 4194304, + IFF_RXFH_CONFIGURED = 8388608, + IFF_PHONY_HEADROOM = 16777216, + IFF_MACSEC = 33554432, + IFF_NO_RX_HANDLER = 67108864, + IFF_FAILOVER = 134217728, + IFF_FAILOVER_SLAVE = 268435456, + IFF_L3MDEV_RX_HANDLER = 536870912, + IFF_NO_ADDRCONF = 1073741824, + IFF_TX_SKB_NO_LINEAR = 2147483648, +}; + +enum netdev_qstats_scope { + NETDEV_QSTATS_SCOPE_QUEUE = 1, +}; + +enum netdev_queue_state_t { + __QUEUE_STATE_DRV_XOFF = 0, + __QUEUE_STATE_STACK_XOFF = 1, + __QUEUE_STATE_FROZEN = 2, +}; + +enum netdev_queue_type { + NETDEV_QUEUE_TYPE_RX = 0, + NETDEV_QUEUE_TYPE_TX = 1, +}; + +enum netdev_reg_state { + NETREG_UNINITIALIZED = 0, + NETREG_REGISTERED = 1, + NETREG_UNREGISTERING = 2, + NETREG_UNREGISTERED = 3, + NETREG_RELEASED = 4, + NETREG_DUMMY = 5, +}; + +enum netdev_stat_type { + NETDEV_PCPU_STAT_NONE = 0, + NETDEV_PCPU_STAT_LSTATS = 1, + NETDEV_PCPU_STAT_TSTATS = 2, + NETDEV_PCPU_STAT_DSTATS = 3, +}; + +enum netdev_state_t { + __LINK_STATE_START = 0, + __LINK_STATE_PRESENT = 1, + __LINK_STATE_NOCARRIER = 2, + __LINK_STATE_LINKWATCH_PENDING = 3, + __LINK_STATE_DORMANT = 4, + __LINK_STATE_TESTING = 5, +}; + +enum netdev_tx { + __NETDEV_TX_MIN = -2147483648, + NETDEV_TX_OK = 0, + NETDEV_TX_BUSY = 16, +}; + +typedef enum netdev_tx netdev_tx_t; + +enum netdev_xdp_act { + NETDEV_XDP_ACT_BASIC = 1, + NETDEV_XDP_ACT_REDIRECT = 2, + NETDEV_XDP_ACT_NDO_XMIT = 4, + NETDEV_XDP_ACT_XSK_ZEROCOPY = 8, + NETDEV_XDP_ACT_HW_OFFLOAD = 16, + NETDEV_XDP_ACT_RX_SG = 32, + NETDEV_XDP_ACT_NDO_XMIT_SG = 64, + NETDEV_XDP_ACT_MASK = 127, +}; + +enum netdev_xdp_rx_metadata { + NETDEV_XDP_RX_METADATA_TIMESTAMP = 1, + NETDEV_XDP_RX_METADATA_HASH = 2, + NETDEV_XDP_RX_METADATA_VLAN_TAG = 4, +}; + +enum netdev_xsk_flags { + NETDEV_XSK_FLAGS_TX_TIMESTAMP = 1, + NETDEV_XSK_FLAGS_TX_CHECKSUM = 2, + NETDEV_XSK_FLAGS_TX_LAUNCH_TIME_FIFO = 4, +}; + +enum netevent_notif_type { + NETEVENT_NEIGH_UPDATE = 1, + NETEVENT_REDIRECT = 2, + NETEVENT_DELAY_PROBE_TIME_UPDATE = 3, + NETEVENT_IPV4_MPATH_HASH_UPDATE = 4, + NETEVENT_IPV6_MPATH_HASH_UPDATE = 5, + NETEVENT_IPV4_FWD_UPDATE_PRIORITY_UPDATE = 6, +}; + +enum netkit_action { + NETKIT_NEXT = -1, + NETKIT_PASS = 0, + NETKIT_DROP = 2, + NETKIT_REDIRECT = 7, +}; + +enum netkit_mode { + NETKIT_L2 = 0, + NETKIT_L3 = 1, +}; + +enum netkit_scrub { + NETKIT_SCRUB_NONE = 0, + NETKIT_SCRUB_DEFAULT = 1, +}; + +enum netlink_attribute_type { + NL_ATTR_TYPE_INVALID = 0, + NL_ATTR_TYPE_FLAG = 1, + NL_ATTR_TYPE_U8 = 2, + NL_ATTR_TYPE_U16 = 3, + NL_ATTR_TYPE_U32 = 4, + NL_ATTR_TYPE_U64 = 5, + NL_ATTR_TYPE_S8 = 6, + NL_ATTR_TYPE_S16 = 7, + NL_ATTR_TYPE_S32 = 8, + NL_ATTR_TYPE_S64 = 9, + NL_ATTR_TYPE_BINARY = 10, + NL_ATTR_TYPE_STRING = 11, + NL_ATTR_TYPE_NUL_STRING = 12, + NL_ATTR_TYPE_NESTED = 13, + NL_ATTR_TYPE_NESTED_ARRAY = 14, + NL_ATTR_TYPE_BITFIELD32 = 15, + NL_ATTR_TYPE_SINT = 16, + NL_ATTR_TYPE_UINT = 17, +}; + +enum netlink_policy_type_attr { + NL_POLICY_TYPE_ATTR_UNSPEC = 0, + NL_POLICY_TYPE_ATTR_TYPE = 1, + NL_POLICY_TYPE_ATTR_MIN_VALUE_S = 2, + NL_POLICY_TYPE_ATTR_MAX_VALUE_S = 3, + NL_POLICY_TYPE_ATTR_MIN_VALUE_U = 4, + NL_POLICY_TYPE_ATTR_MAX_VALUE_U = 5, + NL_POLICY_TYPE_ATTR_MIN_LENGTH = 6, + NL_POLICY_TYPE_ATTR_MAX_LENGTH = 7, + NL_POLICY_TYPE_ATTR_POLICY_IDX = 8, + NL_POLICY_TYPE_ATTR_POLICY_MAXTYPE = 9, + NL_POLICY_TYPE_ATTR_BITFIELD32_MASK = 10, + NL_POLICY_TYPE_ATTR_PAD = 11, + NL_POLICY_TYPE_ATTR_MASK = 12, + __NL_POLICY_TYPE_ATTR_MAX = 13, + NL_POLICY_TYPE_ATTR_MAX = 12, +}; + +enum netlink_skb_flags { + NETLINK_SKB_DST = 8, +}; + +enum netlink_validation { + NL_VALIDATE_LIBERAL = 0, + NL_VALIDATE_TRAILING = 1, + NL_VALIDATE_MAXTYPE = 2, + NL_VALIDATE_UNSPEC = 4, + NL_VALIDATE_STRICT_ATTRS = 8, + NL_VALIDATE_NESTED = 16, +}; + +enum netns_bpf_attach_type { + NETNS_BPF_INVALID = -1, + NETNS_BPF_FLOW_DISSECTOR = 0, + NETNS_BPF_SK_LOOKUP = 1, + MAX_NETNS_BPF_ATTACH_TYPE = 2, +}; + +enum nexthop_event_type { + NEXTHOP_EVENT_DEL = 0, + NEXTHOP_EVENT_REPLACE = 1, + NEXTHOP_EVENT_RES_TABLE_PRE_REPLACE = 2, + NEXTHOP_EVENT_BUCKET_REPLACE = 3, + NEXTHOP_EVENT_HW_STATS_REPORT_DELTA = 4, +}; + +enum nf_ct_ext_id { + NF_CT_EXT_HELPER = 0, + NF_CT_EXT_NAT = 1, + NF_CT_EXT_SEQADJ = 2, + NF_CT_EXT_ACCT = 3, + NF_CT_EXT_ECACHE = 4, + NF_CT_EXT_TSTAMP = 5, + NF_CT_EXT_TIMEOUT = 6, + NF_CT_EXT_LABELS = 7, + NF_CT_EXT_SYNPROXY = 8, + NF_CT_EXT_ACT_CT = 9, + NF_CT_EXT_NUM = 10, +}; + +enum nf_dev_hooks { + NF_NETDEV_INGRESS = 0, + NF_NETDEV_EGRESS = 1, + NF_NETDEV_NUMHOOKS = 2, +}; + +enum nf_hook_ops_type { + NF_HOOK_OP_UNDEFINED = 0, + NF_HOOK_OP_NF_TABLES = 1, + NF_HOOK_OP_BPF = 2, + NF_HOOK_OP_NFT_FT = 3, +}; + +enum nf_inet_hooks { + NF_INET_PRE_ROUTING = 0, + NF_INET_LOCAL_IN = 1, + NF_INET_FORWARD = 2, + NF_INET_LOCAL_OUT = 3, + NF_INET_POST_ROUTING = 4, + NF_INET_NUMHOOKS = 5, + NF_INET_INGRESS = 5, +}; + +enum nf_ip6_hook_priorities { + NF_IP6_PRI_FIRST = -2147483648, + NF_IP6_PRI_RAW_BEFORE_DEFRAG = -450, + NF_IP6_PRI_CONNTRACK_DEFRAG = -400, + NF_IP6_PRI_RAW = -300, + NF_IP6_PRI_SELINUX_FIRST = -225, + NF_IP6_PRI_CONNTRACK = -200, + NF_IP6_PRI_MANGLE = -150, + NF_IP6_PRI_NAT_DST = -100, + NF_IP6_PRI_FILTER = 0, + NF_IP6_PRI_SECURITY = 50, + NF_IP6_PRI_NAT_SRC = 100, + NF_IP6_PRI_SELINUX_LAST = 225, + NF_IP6_PRI_CONNTRACK_HELPER = 300, + NF_IP6_PRI_LAST = 2147483647, +}; + +enum nf_ip_hook_priorities { + NF_IP_PRI_FIRST = -2147483648, + NF_IP_PRI_RAW_BEFORE_DEFRAG = -450, + NF_IP_PRI_CONNTRACK_DEFRAG = -400, + NF_IP_PRI_RAW = -300, + NF_IP_PRI_SELINUX_FIRST = -225, + NF_IP_PRI_CONNTRACK = -200, + NF_IP_PRI_MANGLE = -150, + NF_IP_PRI_NAT_DST = -100, + NF_IP_PRI_FILTER = 0, + NF_IP_PRI_SECURITY = 50, + NF_IP_PRI_NAT_SRC = 100, + NF_IP_PRI_SELINUX_LAST = 225, + NF_IP_PRI_CONNTRACK_HELPER = 300, + NF_IP_PRI_CONNTRACK_CONFIRM = 2147483647, + NF_IP_PRI_LAST = 2147483647, +}; + +enum nf_log_type { + NF_LOG_TYPE_LOG = 0, + NF_LOG_TYPE_ULOG = 1, + NF_LOG_TYPE_MAX = 2, +}; + +enum nf_nat_manip_type; + +enum nfs3_stable_how { + NFS_UNSTABLE = 0, + NFS_DATA_SYNC = 1, + NFS_FILE_SYNC = 2, + NFS_INVALID_STABLE_HOW = -1, +}; + +enum nfs4_change_attr_type { + NFS4_CHANGE_TYPE_IS_MONOTONIC_INCR = 0, + NFS4_CHANGE_TYPE_IS_VERSION_COUNTER = 1, + NFS4_CHANGE_TYPE_IS_VERSION_COUNTER_NOPNFS = 2, + NFS4_CHANGE_TYPE_IS_TIME_METADATA = 3, + NFS4_CHANGE_TYPE_IS_UNDEFINED = 4, +}; + +enum nfs_opnum4 { + OP_ACCESS = 3, + OP_CLOSE = 4, + OP_COMMIT = 5, + OP_CREATE = 6, + OP_DELEGPURGE = 7, + OP_DELEGRETURN = 8, + OP_GETATTR = 9, + OP_GETFH = 10, + OP_LINK = 11, + OP_LOCK = 12, + OP_LOCKT = 13, + OP_LOCKU = 14, + OP_LOOKUP = 15, + OP_LOOKUPP = 16, + OP_NVERIFY = 17, + OP_OPEN = 18, + OP_OPENATTR = 19, + OP_OPEN_CONFIRM = 20, + OP_OPEN_DOWNGRADE = 21, + OP_PUTFH = 22, + OP_PUTPUBFH = 23, + OP_PUTROOTFH = 24, + OP_READ = 25, + OP_READDIR = 26, + OP_READLINK = 27, + OP_REMOVE = 28, + OP_RENAME = 29, + OP_RENEW = 30, + OP_RESTOREFH = 31, + OP_SAVEFH = 32, + OP_SECINFO = 33, + OP_SETATTR = 34, + OP_SETCLIENTID = 35, + OP_SETCLIENTID_CONFIRM = 36, + OP_VERIFY = 37, + OP_WRITE = 38, + OP_RELEASE_LOCKOWNER = 39, + OP_BACKCHANNEL_CTL = 40, + OP_BIND_CONN_TO_SESSION = 41, + OP_EXCHANGE_ID = 42, + OP_CREATE_SESSION = 43, + OP_DESTROY_SESSION = 44, + OP_FREE_STATEID = 45, + OP_GET_DIR_DELEGATION = 46, + OP_GETDEVICEINFO = 47, + OP_GETDEVICELIST = 48, + OP_LAYOUTCOMMIT = 49, + OP_LAYOUTGET = 50, + OP_LAYOUTRETURN = 51, + OP_SECINFO_NO_NAME = 52, + OP_SEQUENCE = 53, + OP_SET_SSV = 54, + OP_TEST_STATEID = 55, + OP_WANT_DELEGATION = 56, + OP_DESTROY_CLIENTID = 57, + OP_RECLAIM_COMPLETE = 58, + OP_ALLOCATE = 59, + OP_COPY = 60, + OP_COPY_NOTIFY = 61, + OP_DEALLOCATE = 62, + OP_IO_ADVISE = 63, + OP_LAYOUTERROR = 64, + OP_LAYOUTSTATS = 65, + OP_OFFLOAD_CANCEL = 66, + OP_OFFLOAD_STATUS = 67, + OP_READ_PLUS = 68, + OP_SEEK = 69, + OP_WRITE_SAME = 70, + OP_CLONE = 71, + OP_GETXATTR = 72, + OP_SETXATTR = 73, + OP_LISTXATTRS = 74, + OP_REMOVEXATTR = 75, + OP_ILLEGAL = 10044, +}; + +enum nfs_stat { + NFS_OK = 0, + NFSERR_PERM = 1, + NFSERR_NOENT = 2, + NFSERR_IO = 5, + NFSERR_NXIO = 6, + NFSERR_EAGAIN = 11, + NFSERR_ACCES = 13, + NFSERR_EXIST = 17, + NFSERR_XDEV = 18, + NFSERR_NODEV = 19, + NFSERR_NOTDIR = 20, + NFSERR_ISDIR = 21, + NFSERR_INVAL = 22, + NFSERR_FBIG = 27, + NFSERR_NOSPC = 28, + NFSERR_ROFS = 30, + NFSERR_MLINK = 31, + NFSERR_NAMETOOLONG = 63, + NFSERR_NOTEMPTY = 66, + NFSERR_DQUOT = 69, + NFSERR_STALE = 70, + NFSERR_REMOTE = 71, + NFSERR_WFLUSH = 99, + NFSERR_BADHANDLE = 10001, + NFSERR_NOT_SYNC = 10002, + NFSERR_BAD_COOKIE = 10003, + NFSERR_NOTSUPP = 10004, + NFSERR_TOOSMALL = 10005, + NFSERR_SERVERFAULT = 10006, + NFSERR_BADTYPE = 10007, + NFSERR_JUKEBOX = 10008, + NFSERR_SAME = 10009, + NFSERR_DENIED = 10010, + NFSERR_EXPIRED = 10011, + NFSERR_LOCKED = 10012, + NFSERR_GRACE = 10013, + NFSERR_FHEXPIRED = 10014, + NFSERR_SHARE_DENIED = 10015, + NFSERR_WRONGSEC = 10016, + NFSERR_CLID_INUSE = 10017, + NFSERR_RESOURCE = 10018, + NFSERR_MOVED = 10019, + NFSERR_NOFILEHANDLE = 10020, + NFSERR_MINOR_VERS_MISMATCH = 10021, + NFSERR_STALE_CLIENTID = 10022, + NFSERR_STALE_STATEID = 10023, + NFSERR_OLD_STATEID = 10024, + NFSERR_BAD_STATEID = 10025, + NFSERR_BAD_SEQID = 10026, + NFSERR_NOT_SAME = 10027, + NFSERR_LOCK_RANGE = 10028, + NFSERR_SYMLINK = 10029, + NFSERR_RESTOREFH = 10030, + NFSERR_LEASE_MOVED = 10031, + NFSERR_ATTRNOTSUPP = 10032, + NFSERR_NO_GRACE = 10033, + NFSERR_RECLAIM_BAD = 10034, + NFSERR_RECLAIM_CONFLICT = 10035, + NFSERR_BAD_XDR = 10036, + NFSERR_LOCKS_HELD = 10037, + NFSERR_OPENMODE = 10038, + NFSERR_BADOWNER = 10039, + NFSERR_BADCHAR = 10040, + NFSERR_BADNAME = 10041, + NFSERR_BAD_RANGE = 10042, + NFSERR_LOCK_NOTSUPP = 10043, + NFSERR_OP_ILLEGAL = 10044, + NFSERR_DEADLOCK = 10045, + NFSERR_FILE_OPEN = 10046, + NFSERR_ADMIN_REVOKED = 10047, + NFSERR_CB_PATH_DOWN = 10048, +}; + +enum nfsstat4 { + NFS4_OK = 0, + NFS4ERR_PERM = 1, + NFS4ERR_NOENT = 2, + NFS4ERR_IO = 5, + NFS4ERR_NXIO = 6, + NFS4ERR_ACCESS = 13, + NFS4ERR_EXIST = 17, + NFS4ERR_XDEV = 18, + NFS4ERR_NOTDIR = 20, + NFS4ERR_ISDIR = 21, + NFS4ERR_INVAL = 22, + NFS4ERR_FBIG = 27, + NFS4ERR_NOSPC = 28, + NFS4ERR_ROFS = 30, + NFS4ERR_MLINK = 31, + NFS4ERR_NAMETOOLONG = 63, + NFS4ERR_NOTEMPTY = 66, + NFS4ERR_DQUOT = 69, + NFS4ERR_STALE = 70, + NFS4ERR_BADHANDLE = 10001, + NFS4ERR_BAD_COOKIE = 10003, + NFS4ERR_NOTSUPP = 10004, + NFS4ERR_TOOSMALL = 10005, + NFS4ERR_SERVERFAULT = 10006, + NFS4ERR_BADTYPE = 10007, + NFS4ERR_DELAY = 10008, + NFS4ERR_SAME = 10009, + NFS4ERR_DENIED = 10010, + NFS4ERR_EXPIRED = 10011, + NFS4ERR_LOCKED = 10012, + NFS4ERR_GRACE = 10013, + NFS4ERR_FHEXPIRED = 10014, + NFS4ERR_SHARE_DENIED = 10015, + NFS4ERR_WRONGSEC = 10016, + NFS4ERR_CLID_INUSE = 10017, + NFS4ERR_RESOURCE = 10018, + NFS4ERR_MOVED = 10019, + NFS4ERR_NOFILEHANDLE = 10020, + NFS4ERR_MINOR_VERS_MISMATCH = 10021, + NFS4ERR_STALE_CLIENTID = 10022, + NFS4ERR_STALE_STATEID = 10023, + NFS4ERR_OLD_STATEID = 10024, + NFS4ERR_BAD_STATEID = 10025, + NFS4ERR_BAD_SEQID = 10026, + NFS4ERR_NOT_SAME = 10027, + NFS4ERR_LOCK_RANGE = 10028, + NFS4ERR_SYMLINK = 10029, + NFS4ERR_RESTOREFH = 10030, + NFS4ERR_LEASE_MOVED = 10031, + NFS4ERR_ATTRNOTSUPP = 10032, + NFS4ERR_NO_GRACE = 10033, + NFS4ERR_RECLAIM_BAD = 10034, + NFS4ERR_RECLAIM_CONFLICT = 10035, + NFS4ERR_BADXDR = 10036, + NFS4ERR_LOCKS_HELD = 10037, + NFS4ERR_OPENMODE = 10038, + NFS4ERR_BADOWNER = 10039, + NFS4ERR_BADCHAR = 10040, + NFS4ERR_BADNAME = 10041, + NFS4ERR_BAD_RANGE = 10042, + NFS4ERR_LOCK_NOTSUPP = 10043, + NFS4ERR_OP_ILLEGAL = 10044, + NFS4ERR_DEADLOCK = 10045, + NFS4ERR_FILE_OPEN = 10046, + NFS4ERR_ADMIN_REVOKED = 10047, + NFS4ERR_CB_PATH_DOWN = 10048, + NFS4ERR_BADIOMODE = 10049, + NFS4ERR_BADLAYOUT = 10050, + NFS4ERR_BAD_SESSION_DIGEST = 10051, + NFS4ERR_BADSESSION = 10052, + NFS4ERR_BADSLOT = 10053, + NFS4ERR_COMPLETE_ALREADY = 10054, + NFS4ERR_CONN_NOT_BOUND_TO_SESSION = 10055, + NFS4ERR_DELEG_ALREADY_WANTED = 10056, + NFS4ERR_BACK_CHAN_BUSY = 10057, + NFS4ERR_LAYOUTTRYLATER = 10058, + NFS4ERR_LAYOUTUNAVAILABLE = 10059, + NFS4ERR_NOMATCHING_LAYOUT = 10060, + NFS4ERR_RECALLCONFLICT = 10061, + NFS4ERR_UNKNOWN_LAYOUTTYPE = 10062, + NFS4ERR_SEQ_MISORDERED = 10063, + NFS4ERR_SEQUENCE_POS = 10064, + NFS4ERR_REQ_TOO_BIG = 10065, + NFS4ERR_REP_TOO_BIG = 10066, + NFS4ERR_REP_TOO_BIG_TO_CACHE = 10067, + NFS4ERR_RETRY_UNCACHED_REP = 10068, + NFS4ERR_UNSAFE_COMPOUND = 10069, + NFS4ERR_TOO_MANY_OPS = 10070, + NFS4ERR_OP_NOT_IN_SESSION = 10071, + NFS4ERR_HASH_ALG_UNSUPP = 10072, + NFS4ERR_CLIENTID_BUSY = 10074, + NFS4ERR_PNFS_IO_HOLE = 10075, + NFS4ERR_SEQ_FALSE_RETRY = 10076, + NFS4ERR_BAD_HIGH_SLOT = 10077, + NFS4ERR_DEADSESSION = 10078, + NFS4ERR_ENCR_ALG_UNSUPP = 10079, + NFS4ERR_PNFS_NO_LAYOUT = 10080, + NFS4ERR_NOT_ONLY_OP = 10081, + NFS4ERR_WRONG_CRED = 10082, + NFS4ERR_WRONG_TYPE = 10083, + NFS4ERR_DIRDELEG_UNAVAIL = 10084, + NFS4ERR_REJECT_DELEG = 10085, + NFS4ERR_RETURNCONFLICT = 10086, + NFS4ERR_DELEG_REVOKED = 10087, + NFS4ERR_PARTNER_NOTSUPP = 10088, + NFS4ERR_PARTNER_NO_AUTH = 10089, + NFS4ERR_UNION_NOTSUPP = 10090, + NFS4ERR_OFFLOAD_DENIED = 10091, + NFS4ERR_WRONG_LFS = 10092, + NFS4ERR_BADLABEL = 10093, + NFS4ERR_OFFLOAD_NO_REQS = 10094, + NFS4ERR_NOXATTR = 10095, + NFS4ERR_XATTR2BIG = 10096, + NFS4ERR_FIRST_FREE = 10097, +}; + +enum nh_notifier_info_type { + NH_NOTIFIER_INFO_TYPE_SINGLE = 0, + NH_NOTIFIER_INFO_TYPE_GRP = 1, + NH_NOTIFIER_INFO_TYPE_RES_TABLE = 2, + NH_NOTIFIER_INFO_TYPE_RES_BUCKET = 3, + NH_NOTIFIER_INFO_TYPE_GRP_HW_STATS = 4, +}; + +enum nl80211_auth_type { + NL80211_AUTHTYPE_OPEN_SYSTEM = 0, + NL80211_AUTHTYPE_SHARED_KEY = 1, + NL80211_AUTHTYPE_FT = 2, + NL80211_AUTHTYPE_NETWORK_EAP = 3, + NL80211_AUTHTYPE_SAE = 4, + NL80211_AUTHTYPE_FILS_SK = 5, + NL80211_AUTHTYPE_FILS_SK_PFS = 6, + NL80211_AUTHTYPE_FILS_PK = 7, + __NL80211_AUTHTYPE_NUM = 8, + NL80211_AUTHTYPE_MAX = 7, + NL80211_AUTHTYPE_AUTOMATIC = 8, +}; + +enum nl80211_band { + NL80211_BAND_2GHZ = 0, + NL80211_BAND_5GHZ = 1, + NL80211_BAND_60GHZ = 2, + NL80211_BAND_6GHZ = 3, + NL80211_BAND_S1GHZ = 4, + NL80211_BAND_LC = 5, + NUM_NL80211_BANDS = 6, +}; + +enum nl80211_bss_select_attr { + __NL80211_BSS_SELECT_ATTR_INVALID = 0, + NL80211_BSS_SELECT_ATTR_RSSI = 1, + NL80211_BSS_SELECT_ATTR_BAND_PREF = 2, + NL80211_BSS_SELECT_ATTR_RSSI_ADJUST = 3, + __NL80211_BSS_SELECT_ATTR_AFTER_LAST = 4, + NL80211_BSS_SELECT_ATTR_MAX = 3, +}; + +enum nl80211_chan_width { + NL80211_CHAN_WIDTH_20_NOHT = 0, + NL80211_CHAN_WIDTH_20 = 1, + NL80211_CHAN_WIDTH_40 = 2, + NL80211_CHAN_WIDTH_80 = 3, + NL80211_CHAN_WIDTH_80P80 = 4, + NL80211_CHAN_WIDTH_160 = 5, + NL80211_CHAN_WIDTH_5 = 6, + NL80211_CHAN_WIDTH_10 = 7, + NL80211_CHAN_WIDTH_1 = 8, + NL80211_CHAN_WIDTH_2 = 9, + NL80211_CHAN_WIDTH_4 = 10, + NL80211_CHAN_WIDTH_8 = 11, + NL80211_CHAN_WIDTH_16 = 12, + NL80211_CHAN_WIDTH_320 = 13, +}; + +enum nl80211_dfs_regions { + NL80211_DFS_UNSET = 0, + NL80211_DFS_FCC = 1, + NL80211_DFS_ETSI = 2, + NL80211_DFS_JP = 3, +}; + +enum nl80211_dfs_state { + NL80211_DFS_USABLE = 0, + NL80211_DFS_UNAVAILABLE = 1, + NL80211_DFS_AVAILABLE = 2, +}; + +enum nl80211_iftype { + NL80211_IFTYPE_UNSPECIFIED = 0, + NL80211_IFTYPE_ADHOC = 1, + NL80211_IFTYPE_STATION = 2, + NL80211_IFTYPE_AP = 3, + NL80211_IFTYPE_AP_VLAN = 4, + NL80211_IFTYPE_WDS = 5, + NL80211_IFTYPE_MONITOR = 6, + NL80211_IFTYPE_MESH_POINT = 7, + NL80211_IFTYPE_P2P_CLIENT = 8, + NL80211_IFTYPE_P2P_GO = 9, + NL80211_IFTYPE_P2P_DEVICE = 10, + NL80211_IFTYPE_OCB = 11, + NL80211_IFTYPE_NAN = 12, + NUM_NL80211_IFTYPES = 13, + NL80211_IFTYPE_MAX = 12, +}; + +enum nl80211_key_mode { + NL80211_KEY_RX_TX = 0, + NL80211_KEY_NO_TX = 1, + NL80211_KEY_SET_TX = 2, +}; + +enum nl80211_mfp { + NL80211_MFP_NO = 0, + NL80211_MFP_REQUIRED = 1, + NL80211_MFP_OPTIONAL = 2, +}; + +enum nl80211_reg_initiator { + NL80211_REGDOM_SET_BY_CORE = 0, + NL80211_REGDOM_SET_BY_USER = 1, + NL80211_REGDOM_SET_BY_DRIVER = 2, + NL80211_REGDOM_SET_BY_COUNTRY_IE = 3, +}; + +enum nl80211_sae_pwe_mechanism { + NL80211_SAE_PWE_UNSPECIFIED = 0, + NL80211_SAE_PWE_HUNT_AND_PECK = 1, + NL80211_SAE_PWE_HASH_TO_ELEMENT = 2, + NL80211_SAE_PWE_BOTH = 3, +}; + +enum nl80211_sar_type { + NL80211_SAR_TYPE_POWER = 0, + NUM_NL80211_SAR_TYPE = 1, +}; + +enum nl80211_user_reg_hint_type { + NL80211_USER_REG_HINT_USER = 0, + NL80211_USER_REG_HINT_CELL_BASE = 1, + NL80211_USER_REG_HINT_INDOOR = 2, +}; + +enum nl802154_cca_modes { + __NL802154_CCA_INVALID = 0, + NL802154_CCA_ENERGY = 1, + NL802154_CCA_CARRIER = 2, + NL802154_CCA_ENERGY_CARRIER = 3, + NL802154_CCA_ALOHA = 4, + NL802154_CCA_UWB_SHR = 5, + NL802154_CCA_UWB_MULTIPLEXED = 6, + __NL802154_CCA_ATTR_AFTER_LAST = 7, + NL802154_CCA_ATTR_MAX = 6, +}; + +enum nl802154_cca_opts { + NL802154_CCA_OPT_ENERGY_CARRIER_AND = 0, + NL802154_CCA_OPT_ENERGY_CARRIER_OR = 1, + __NL802154_CCA_OPT_ATTR_AFTER_LAST = 2, + NL802154_CCA_OPT_ATTR_MAX = 1, +}; + +enum nl802154_supported_bool_states { + NL802154_SUPPORTED_BOOL_FALSE = 0, + NL802154_SUPPORTED_BOOL_TRUE = 1, + __NL802154_SUPPORTED_BOOL_INVALD = 2, + NL802154_SUPPORTED_BOOL_BOTH = 3, + __NL802154_SUPPORTED_BOOL_AFTER_LAST = 4, + NL802154_SUPPORTED_BOOL_MAX = 3, +}; + +enum nla_policy_validation { + NLA_VALIDATE_NONE = 0, + NLA_VALIDATE_RANGE = 1, + NLA_VALIDATE_RANGE_WARN_TOO_LONG = 2, + NLA_VALIDATE_MIN = 3, + NLA_VALIDATE_MAX = 4, + NLA_VALIDATE_MASK = 5, + NLA_VALIDATE_RANGE_PTR = 6, + NLA_VALIDATE_FUNCTION = 7, +}; + +enum nlmsgerr_attrs { + NLMSGERR_ATTR_UNUSED = 0, + NLMSGERR_ATTR_MSG = 1, + NLMSGERR_ATTR_OFFS = 2, + NLMSGERR_ATTR_COOKIE = 3, + NLMSGERR_ATTR_POLICY = 4, + NLMSGERR_ATTR_MISS_TYPE = 5, + NLMSGERR_ATTR_MISS_NEST = 6, + __NLMSGERR_ATTR_MAX = 7, + NLMSGERR_ATTR_MAX = 6, +}; + +enum nmi_states { + NMI_NOT_RUNNING = 0, + NMI_EXECUTING = 1, + NMI_LATCHED = 2, +}; + +enum node_stat_item { + NR_LRU_BASE = 0, + NR_INACTIVE_ANON = 0, + NR_ACTIVE_ANON = 1, + NR_INACTIVE_FILE = 2, + NR_ACTIVE_FILE = 3, + NR_UNEVICTABLE = 4, + NR_SLAB_RECLAIMABLE_B = 5, + NR_SLAB_UNRECLAIMABLE_B = 6, + NR_ISOLATED_ANON = 7, + NR_ISOLATED_FILE = 8, + WORKINGSET_NODES = 9, + WORKINGSET_REFAULT_BASE = 10, + WORKINGSET_REFAULT_ANON = 10, + WORKINGSET_REFAULT_FILE = 11, + WORKINGSET_ACTIVATE_BASE = 12, + WORKINGSET_ACTIVATE_ANON = 12, + WORKINGSET_ACTIVATE_FILE = 13, + WORKINGSET_RESTORE_BASE = 14, + WORKINGSET_RESTORE_ANON = 14, + WORKINGSET_RESTORE_FILE = 15, + WORKINGSET_NODERECLAIM = 16, + NR_ANON_MAPPED = 17, + NR_FILE_MAPPED = 18, + NR_FILE_PAGES = 19, + NR_FILE_DIRTY = 20, + NR_WRITEBACK = 21, + NR_SHMEM = 22, + NR_SHMEM_THPS = 23, + NR_SHMEM_PMDMAPPED = 24, + NR_FILE_THPS = 25, + NR_FILE_PMDMAPPED = 26, + NR_ANON_THPS = 27, + NR_VMSCAN_WRITE = 28, + NR_VMSCAN_IMMEDIATE = 29, + NR_DIRTIED = 30, + NR_WRITTEN = 31, + NR_THROTTLED_WRITTEN = 32, + NR_KERNEL_MISC_RECLAIMABLE = 33, + NR_FOLL_PIN_ACQUIRED = 34, + NR_FOLL_PIN_RELEASED = 35, + NR_KERNEL_STACK_KB = 36, + NR_PAGETABLE = 37, + NR_SECONDARY_PAGETABLE = 38, + NR_IOMMU_PAGES = 39, + NR_SWAPCACHE = 40, + PGPROMOTE_SUCCESS = 41, + PGPROMOTE_CANDIDATE = 42, + PGDEMOTE_KSWAPD = 43, + PGDEMOTE_DIRECT = 44, + PGDEMOTE_KHUGEPAGED = 45, + PGDEMOTE_PROACTIVE = 46, + NR_HUGETLB = 47, + NR_BALLOON_PAGES = 48, + NR_VM_NODE_STAT_ITEMS = 49, +}; + +enum node_states { + N_POSSIBLE = 0, + N_ONLINE = 1, + N_NORMAL_MEMORY = 2, + N_HIGH_MEMORY = 2, + N_MEMORY = 3, + N_CPU = 4, + N_GENERIC_INITIATOR = 5, + NR_NODE_STATES = 6, +}; + +enum notify_state { + SECCOMP_NOTIFY_INIT = 0, + SECCOMP_NOTIFY_SENT = 1, + SECCOMP_NOTIFY_REPLIED = 2, +}; + +enum numa_faults_stats { + NUMA_MEM = 0, + NUMA_CPU = 1, + NUMA_MEMBUF = 2, + NUMA_CPUBUF = 3, +}; + +enum numa_stat_item { + NUMA_HIT = 0, + NUMA_MISS = 1, + NUMA_FOREIGN = 2, + NUMA_INTERLEAVE_HIT = 3, + NUMA_LOCAL = 4, + NUMA_OTHER = 5, + NR_VM_NUMA_EVENT_ITEMS = 6, +}; + +enum numa_topology_type { + NUMA_DIRECT = 0, + NUMA_GLUELESS_MESH = 1, + NUMA_BACKPLANE = 2, +}; + +enum numa_type { + node_has_spare = 0, + node_fully_busy = 1, + node_overloaded = 2, +}; + +enum numa_vmaskip_reason { + NUMAB_SKIP_UNSUITABLE = 0, + NUMAB_SKIP_SHARED_RO = 1, + NUMAB_SKIP_INACCESSIBLE = 2, + NUMAB_SKIP_SCAN_DELAY = 3, + NUMAB_SKIP_PID_INACTIVE = 4, + NUMAB_SKIP_IGNORE_PID = 5, + NUMAB_SKIP_SEQ_COMPLETED = 6, +}; + +enum nvdimm_claim_class { + NVDIMM_CCLASS_NONE = 0, + NVDIMM_CCLASS_BTT = 1, + NVDIMM_CCLASS_BTT2 = 2, + NVDIMM_CCLASS_PFN = 3, + NVDIMM_CCLASS_DAX = 4, + NVDIMM_CCLASS_UNKNOWN = 5, +}; + +enum nvdimm_event { + NVDIMM_REVALIDATE_POISON = 0, + NVDIMM_REVALIDATE_REGION = 1, +}; + +enum nvdimm_fwa_capability { + NVDIMM_FWA_CAP_INVALID = 0, + NVDIMM_FWA_CAP_NONE = 1, + NVDIMM_FWA_CAP_QUIESCE = 2, + NVDIMM_FWA_CAP_LIVE = 3, +}; + +enum nvdimm_fwa_result { + NVDIMM_FWA_RESULT_INVALID = 0, + NVDIMM_FWA_RESULT_NONE = 1, + NVDIMM_FWA_RESULT_SUCCESS = 2, + NVDIMM_FWA_RESULT_NOTSTAGED = 3, + NVDIMM_FWA_RESULT_NEEDRESET = 4, + NVDIMM_FWA_RESULT_FAIL = 5, +}; + +enum nvdimm_fwa_state { + NVDIMM_FWA_INVALID = 0, + NVDIMM_FWA_IDLE = 1, + NVDIMM_FWA_ARMED = 2, + NVDIMM_FWA_BUSY = 3, + NVDIMM_FWA_ARM_OVERFLOW = 4, +}; + +enum nvdimm_fwa_trigger { + NVDIMM_FWA_ARM = 0, + NVDIMM_FWA_DISARM = 1, +}; + +enum nvdimm_passphrase_type { + NVDIMM_USER = 0, + NVDIMM_MASTER = 1, +}; + +enum nvdimm_security_bits { + NVDIMM_SECURITY_DISABLED = 0, + NVDIMM_SECURITY_UNLOCKED = 1, + NVDIMM_SECURITY_LOCKED = 2, + NVDIMM_SECURITY_FROZEN = 3, + NVDIMM_SECURITY_OVERWRITE = 4, +}; + +enum nvdimmsec_op_ids { + OP_FREEZE = 0, + OP_DISABLE = 1, + OP_DISABLE_MASTER = 2, + OP_UPDATE = 3, + OP_ERASE = 4, + OP_OVERWRITE = 5, + OP_MASTER_UPDATE = 6, + OP_MASTER_ERASE = 7, +}; + +enum nvmem_type { + NVMEM_TYPE_UNKNOWN = 0, + NVMEM_TYPE_EEPROM = 1, + NVMEM_TYPE_OTP = 2, + NVMEM_TYPE_BATTERY_BACKED = 3, + NVMEM_TYPE_FRAM = 4, +}; + +enum objext_flags { + OBJEXTS_ALLOC_FAIL = 4, + __NR_OBJEXTS_FLAGS = 8, +}; + +enum octep_hp_intr_type { + OCTEP_HP_INTR_INVALID = -1, + OCTEP_HP_INTR_ENA = 0, + OCTEP_HP_INTR_DIS = 1, + OCTEP_HP_INTR_MAX = 2, +}; + +enum odd_mech_type { + ODD_MECH_TYPE_SLOT = 0, + ODD_MECH_TYPE_DRAWER = 1, + ODD_MECH_TYPE_UNSUPPORTED = 2, +}; + +enum offload_act_command { + FLOW_ACT_REPLACE = 0, + FLOW_ACT_DESTROY = 1, + FLOW_ACT_STATS = 2, +}; + +enum ohci_rh_state { + OHCI_RH_HALTED = 0, + OHCI_RH_SUSPENDED = 1, + OHCI_RH_RUNNING = 2, +}; + +enum oom_constraint { + CONSTRAINT_NONE = 0, + CONSTRAINT_CPUSET = 1, + CONSTRAINT_MEMORY_POLICY = 2, + CONSTRAINT_MEMCG = 3, +}; + +enum opal_atom_width { + OPAL_WIDTH_TINY = 0, + OPAL_WIDTH_SHORT = 1, + OPAL_WIDTH_MEDIUM = 2, + OPAL_WIDTH_LONG = 3, + OPAL_WIDTH_TOKEN = 4, +}; + +enum opal_key_type { + OPAL_INCLUDED = 0, + OPAL_KEYRING = 1, +}; + +enum opal_lock_flags { + OPAL_SAVE_FOR_LOCK = 1, +}; + +enum opal_lock_state { + OPAL_RO = 1, + OPAL_RW = 2, + OPAL_LK = 4, +}; + +enum opal_mbr { + OPAL_MBR_ENABLE = 0, + OPAL_MBR_DISABLE = 1, +}; + +enum opal_mbr_done_flag { + OPAL_MBR_NOT_DONE = 0, + OPAL_MBR_DONE = 1, +}; + +enum opal_method { + OPAL_PROPERTIES = 0, + OPAL_STARTSESSION = 1, + OPAL_REVERT = 2, + OPAL_ACTIVATE = 3, + OPAL_EGET = 4, + OPAL_ESET = 5, + OPAL_NEXT = 6, + OPAL_EAUTHENTICATE = 7, + OPAL_GETACL = 8, + OPAL_GENKEY = 9, + OPAL_REVERTSP = 10, + OPAL_GET = 11, + OPAL_SET = 12, + OPAL_AUTHENTICATE = 13, + OPAL_RANDOM = 14, + OPAL_ERASE = 15, +}; + +enum opal_parameter { + OPAL_SUM_SET_LIST = 393216, +}; + +enum opal_response_token { + OPAL_DTA_TOKENID_BYTESTRING = 224, + OPAL_DTA_TOKENID_SINT = 225, + OPAL_DTA_TOKENID_UINT = 226, + OPAL_DTA_TOKENID_TOKEN = 227, + OPAL_DTA_TOKENID_INVALID = 0, +}; + +enum opal_revert_lsp_opts { + OPAL_PRESERVE = 1, +}; + +enum opal_revertlsp { + OPAL_KEEP_GLOBAL_RANGE_KEY = 393216, +}; + +enum opal_table_ops { + OPAL_READ_TABLE = 0, + OPAL_WRITE_TABLE = 1, +}; + +enum opal_token { + OPAL_TRUE = 1, + OPAL_FALSE = 0, + OPAL_BOOLEAN_EXPR = 3, + OPAL_TABLE = 0, + OPAL_STARTROW = 1, + OPAL_ENDROW = 2, + OPAL_STARTCOLUMN = 3, + OPAL_ENDCOLUMN = 4, + OPAL_VALUES = 1, + OPAL_TABLE_UID = 0, + OPAL_TABLE_NAME = 1, + OPAL_TABLE_COMMON = 2, + OPAL_TABLE_TEMPLATE = 3, + OPAL_TABLE_KIND = 4, + OPAL_TABLE_COLUMN = 5, + OPAL_TABLE_COLUMNS = 6, + OPAL_TABLE_ROWS = 7, + OPAL_TABLE_ROWS_FREE = 8, + OPAL_TABLE_ROW_BYTES = 9, + OPAL_TABLE_LASTID = 10, + OPAL_TABLE_MIN = 11, + OPAL_TABLE_MAX = 12, + OPAL_PIN = 3, + OPAL_RANGESTART = 3, + OPAL_RANGELENGTH = 4, + OPAL_READLOCKENABLED = 5, + OPAL_WRITELOCKENABLED = 6, + OPAL_READLOCKED = 7, + OPAL_WRITELOCKED = 8, + OPAL_ACTIVEKEY = 10, + OPAL_LIFECYCLE = 6, + OPAL_MAXRANGES = 4, + OPAL_MBRENABLE = 1, + OPAL_MBRDONE = 2, + OPAL_HOSTPROPERTIES = 0, + OPAL_STARTLIST = 240, + OPAL_ENDLIST = 241, + OPAL_STARTNAME = 242, + OPAL_ENDNAME = 243, + OPAL_CALL = 248, + OPAL_ENDOFDATA = 249, + OPAL_ENDOFSESSION = 250, + OPAL_STARTTRANSACTON = 251, + OPAL_ENDTRANSACTON = 252, + OPAL_EMPTYATOM = 255, + OPAL_WHERE = 0, +}; + +enum opal_uid { + OPAL_SMUID_UID = 0, + OPAL_THISSP_UID = 1, + OPAL_ADMINSP_UID = 2, + OPAL_LOCKINGSP_UID = 3, + OPAL_ENTERPRISE_LOCKINGSP_UID = 4, + OPAL_ANYBODY_UID = 5, + OPAL_SID_UID = 6, + OPAL_ADMIN1_UID = 7, + OPAL_USER1_UID = 8, + OPAL_USER2_UID = 9, + OPAL_PSID_UID = 10, + OPAL_ENTERPRISE_BANDMASTER0_UID = 11, + OPAL_ENTERPRISE_ERASEMASTER_UID = 12, + OPAL_TABLE_TABLE = 13, + OPAL_LOCKINGRANGE_GLOBAL = 14, + OPAL_LOCKINGRANGE_ACE_START_TO_KEY = 15, + OPAL_LOCKINGRANGE_ACE_RDLOCKED = 16, + OPAL_LOCKINGRANGE_ACE_WRLOCKED = 17, + OPAL_MBRCONTROL = 18, + OPAL_MBR = 19, + OPAL_AUTHORITY_TABLE = 20, + OPAL_C_PIN_TABLE = 21, + OPAL_LOCKING_INFO_TABLE = 22, + OPAL_ENTERPRISE_LOCKING_INFO_TABLE = 23, + OPAL_DATASTORE = 24, + OPAL_C_PIN_MSID = 25, + OPAL_C_PIN_SID = 26, + OPAL_C_PIN_ADMIN1 = 27, + OPAL_HALF_UID_AUTHORITY_OBJ_REF = 28, + OPAL_HALF_UID_BOOLEAN_ACE = 29, + OPAL_UID_HEXFF = 30, +}; + +enum opal_user { + OPAL_ADMIN1 = 0, + OPAL_USER1 = 1, + OPAL_USER2 = 2, + OPAL_USER3 = 3, + OPAL_USER4 = 4, + OPAL_USER5 = 5, + OPAL_USER6 = 6, + OPAL_USER7 = 7, + OPAL_USER8 = 8, + OPAL_USER9 = 9, +}; + +enum opp_table_access { + OPP_TABLE_ACCESS_UNKNOWN = 0, + OPP_TABLE_ACCESS_EXCLUSIVE = 1, + OPP_TABLE_ACCESS_SHARED = 2, +}; + +enum osnoise_options_index { + OSN_DEFAULTS = 0, + OSN_WORKLOAD = 1, + OSN_PANIC_ON_STOP = 2, + OSN_PREEMPT_DISABLE = 3, + OSN_IRQ_DISABLE = 4, + OSN_MAX = 5, +}; + +enum owner_state { + OWNER_NULL = 1, + OWNER_WRITER = 2, + OWNER_READER = 4, + OWNER_NONSPINNABLE = 8, +}; + +enum packet_sock_flags { + PACKET_SOCK_ORIGDEV = 0, + PACKET_SOCK_AUXDATA = 1, + PACKET_SOCK_TX_HAS_OFF = 2, + PACKET_SOCK_TP_LOSS = 3, + PACKET_SOCK_RUNNING = 4, + PACKET_SOCK_PRESSURE = 5, + PACKET_SOCK_QDISC_BYPASS = 6, +}; + +enum packing_op { + PACK = 0, + UNPACK = 1, +}; + +enum page_cache_mode { + _PAGE_CACHE_MODE_WB = 0, + _PAGE_CACHE_MODE_WC = 1, + _PAGE_CACHE_MODE_UC_MINUS = 2, + _PAGE_CACHE_MODE_UC = 3, + _PAGE_CACHE_MODE_WT = 4, + _PAGE_CACHE_MODE_WP = 5, + _PAGE_CACHE_MODE_NUM = 8, +}; + +enum page_memcg_data_flags { + MEMCG_DATA_OBJEXTS = 1, + MEMCG_DATA_KMEM = 2, + __NR_MEMCG_DATA_FLAGS = 4, +}; + +enum page_size_enum { + __PAGE_SIZE = 4096, +}; + +enum page_walk_action { + ACTION_SUBTREE = 0, + ACTION_CONTINUE = 1, + ACTION_AGAIN = 2, +}; + +enum page_walk_lock { + PGWALK_RDLOCK = 0, + PGWALK_WRLOCK = 1, + PGWALK_WRLOCK_VERIFY = 2, + PGWALK_VMA_RDLOCK_VERIFY = 3, +}; + +enum pageblock_bits { + PB_migrate = 0, + PB_migrate_end = 2, + PB_compact_skip = 3, + PB_migrate_isolate = 4, + __NR_PAGEBLOCK_BITS = 5, +}; + +enum pageflags { + PG_locked = 0, + PG_writeback = 1, + PG_referenced = 2, + PG_uptodate = 3, + PG_dirty = 4, + PG_lru = 5, + PG_head = 6, + PG_waiters = 7, + PG_active = 8, + PG_workingset = 9, + PG_owner_priv_1 = 10, + PG_owner_2 = 11, + PG_arch_1 = 12, + PG_reserved = 13, + PG_private = 14, + PG_private_2 = 15, + PG_reclaim = 16, + PG_swapbacked = 17, + PG_unevictable = 18, + PG_dropbehind = 19, + PG_mlocked = 20, + PG_hwpoison = 21, + PG_young = 22, + PG_idle = 23, + PG_arch_2 = 24, + __NR_PAGEFLAGS = 25, + PG_readahead = 16, + PG_swapcache = 10, + PG_checked = 10, + PG_anon_exclusive = 11, + PG_mappedtodisk = 11, + PG_fscache = 15, + PG_pinned = 10, + PG_savepinned = 4, + PG_foreign = 10, + PG_xen_remapped = 10, + PG_movable_ops_isolated = 16, + PG_movable_ops = 3, + PG_reported = 3, + PG_vmemmap_self_hosted = 10, + PG_has_hwpoisoned = 8, + PG_large_rmappable = 9, + PG_partially_mapped = 16, +}; + +enum pagetype { + PGTY_buddy = 240, + PGTY_offline = 241, + PGTY_table = 242, + PGTY_guard = 243, + PGTY_hugetlb = 244, + PGTY_slab = 245, + PGTY_zsmalloc = 246, + PGTY_unaccepted = 247, + PGTY_large_kmalloc = 248, + PGTY_mapcount_underflow = 255, +}; + +enum palmas_external_requestor_id { + PALMAS_EXTERNAL_REQSTR_ID_REGEN1 = 0, + PALMAS_EXTERNAL_REQSTR_ID_REGEN2 = 1, + PALMAS_EXTERNAL_REQSTR_ID_SYSEN1 = 2, + PALMAS_EXTERNAL_REQSTR_ID_SYSEN2 = 3, + PALMAS_EXTERNAL_REQSTR_ID_CLK32KG = 4, + PALMAS_EXTERNAL_REQSTR_ID_CLK32KGAUDIO = 5, + PALMAS_EXTERNAL_REQSTR_ID_REGEN3 = 6, + PALMAS_EXTERNAL_REQSTR_ID_SMPS12 = 7, + PALMAS_EXTERNAL_REQSTR_ID_SMPS3 = 8, + PALMAS_EXTERNAL_REQSTR_ID_SMPS45 = 9, + PALMAS_EXTERNAL_REQSTR_ID_SMPS6 = 10, + PALMAS_EXTERNAL_REQSTR_ID_SMPS7 = 11, + PALMAS_EXTERNAL_REQSTR_ID_SMPS8 = 12, + PALMAS_EXTERNAL_REQSTR_ID_SMPS9 = 13, + PALMAS_EXTERNAL_REQSTR_ID_SMPS10 = 14, + PALMAS_EXTERNAL_REQSTR_ID_LDO1 = 15, + PALMAS_EXTERNAL_REQSTR_ID_LDO2 = 16, + PALMAS_EXTERNAL_REQSTR_ID_LDO3 = 17, + PALMAS_EXTERNAL_REQSTR_ID_LDO4 = 18, + PALMAS_EXTERNAL_REQSTR_ID_LDO5 = 19, + PALMAS_EXTERNAL_REQSTR_ID_LDO6 = 20, + PALMAS_EXTERNAL_REQSTR_ID_LDO7 = 21, + PALMAS_EXTERNAL_REQSTR_ID_LDO8 = 22, + PALMAS_EXTERNAL_REQSTR_ID_LDO9 = 23, + PALMAS_EXTERNAL_REQSTR_ID_LDOLN = 24, + PALMAS_EXTERNAL_REQSTR_ID_LDOUSB = 25, + PALMAS_EXTERNAL_REQSTR_ID_MAX = 26, +}; + +enum palmas_irqs { + PALMAS_CHARG_DET_N_VBUS_OVV_IRQ = 0, + PALMAS_PWRON_IRQ = 1, + PALMAS_LONG_PRESS_KEY_IRQ = 2, + PALMAS_RPWRON_IRQ = 3, + PALMAS_PWRDOWN_IRQ = 4, + PALMAS_HOTDIE_IRQ = 5, + PALMAS_VSYS_MON_IRQ = 6, + PALMAS_VBAT_MON_IRQ = 7, + PALMAS_RTC_ALARM_IRQ = 8, + PALMAS_RTC_TIMER_IRQ = 9, + PALMAS_WDT_IRQ = 10, + PALMAS_BATREMOVAL_IRQ = 11, + PALMAS_RESET_IN_IRQ = 12, + PALMAS_FBI_BB_IRQ = 13, + PALMAS_SHORT_IRQ = 14, + PALMAS_VAC_ACOK_IRQ = 15, + PALMAS_GPADC_AUTO_0_IRQ = 16, + PALMAS_GPADC_AUTO_1_IRQ = 17, + PALMAS_GPADC_EOC_SW_IRQ = 18, + PALMAS_GPADC_EOC_RT_IRQ = 19, + PALMAS_ID_OTG_IRQ = 20, + PALMAS_ID_IRQ = 21, + PALMAS_VBUS_OTG_IRQ = 22, + PALMAS_VBUS_IRQ = 23, + PALMAS_GPIO_0_IRQ = 24, + PALMAS_GPIO_1_IRQ = 25, + PALMAS_GPIO_2_IRQ = 26, + PALMAS_GPIO_3_IRQ = 27, + PALMAS_GPIO_4_IRQ = 28, + PALMAS_GPIO_5_IRQ = 29, + PALMAS_GPIO_6_IRQ = 30, + PALMAS_GPIO_7_IRQ = 31, + PALMAS_NUM_IRQ = 32, +}; + +enum palmas_regulators { + PALMAS_REG_SMPS12 = 0, + PALMAS_REG_SMPS123 = 1, + PALMAS_REG_SMPS3 = 2, + PALMAS_REG_SMPS45 = 3, + PALMAS_REG_SMPS457 = 4, + PALMAS_REG_SMPS6 = 5, + PALMAS_REG_SMPS7 = 6, + PALMAS_REG_SMPS8 = 7, + PALMAS_REG_SMPS9 = 8, + PALMAS_REG_SMPS10_OUT2 = 9, + PALMAS_REG_SMPS10_OUT1 = 10, + PALMAS_REG_LDO1 = 11, + PALMAS_REG_LDO2 = 12, + PALMAS_REG_LDO3 = 13, + PALMAS_REG_LDO4 = 14, + PALMAS_REG_LDO5 = 15, + PALMAS_REG_LDO6 = 16, + PALMAS_REG_LDO7 = 17, + PALMAS_REG_LDO8 = 18, + PALMAS_REG_LDO9 = 19, + PALMAS_REG_LDOLN = 20, + PALMAS_REG_LDOUSB = 21, + PALMAS_REG_REGEN1 = 22, + PALMAS_REG_REGEN2 = 23, + PALMAS_REG_REGEN3 = 24, + PALMAS_REG_SYSEN1 = 25, + PALMAS_REG_SYSEN2 = 26, + PALMAS_NUM_REGS = 27, +}; + +enum palmas_usb_state { + PALMAS_USB_STATE_DISCONNECT = 0, + PALMAS_USB_STATE_VBUS = 1, + PALMAS_USB_STATE_ID = 2, +}; + +enum partition_cmd { + partcmd_enable = 0, + partcmd_enablei = 1, + partcmd_disable = 2, + partcmd_update = 3, + partcmd_invalidate = 4, +}; + +enum passtype { + PASS_SCAN = 0, + PASS_REVOKE = 1, + PASS_REPLAY = 2, +}; + +enum path_flags { + PATH_IS_DIR = 1, + PATH_SOCK_COND = 2, + PATH_CONNECT_PATH = 4, + PATH_CHROOT_REL = 8, + PATH_CHROOT_NSCONNECT = 16, + PATH_CONNECT_IPC_PATH = 32, + PATH_DELEGATE_DELETED = 65536, + PATH_MEDIATE_DELETED = 131072, +}; + +enum pb_isolate_mode { + PB_ISOLATE_MODE_MEM_OFFLINE = 0, + PB_ISOLATE_MODE_CMA_ALLOC = 1, + PB_ISOLATE_MODE_OTHER = 2, +}; + +enum pce_status { + PCE_STATUS_NONE = 0, + PCE_STATUS_ACQUIRED = 1, + PCE_STATUS_PREPARED = 2, + PCE_STATUS_ENABLED = 3, + PCE_STATUS_ERROR = 4, +}; + +enum pci_bar_type { + pci_bar_unknown = 0, + pci_bar_io = 1, + pci_bar_mem32 = 2, + pci_bar_mem64 = 3, +}; + +enum pci_barno { + NO_BAR = -1, + BAR_0 = 0, + BAR_1 = 1, + BAR_2 = 2, + BAR_3 = 3, + BAR_4 = 4, + BAR_5 = 5, +}; + +enum pci_bf_sort_state { + pci_bf_sort_default = 0, + pci_force_nobf = 1, + pci_force_bf = 2, + pci_dmi_bf = 3, +}; + +enum pci_board_num_t { + pbn_default = 0, + pbn_b0_1_115200 = 1, + pbn_b0_2_115200 = 2, + pbn_b0_4_115200 = 3, + pbn_b0_5_115200 = 4, + pbn_b0_8_115200 = 5, + pbn_b0_1_921600 = 6, + pbn_b0_2_921600 = 7, + pbn_b0_4_921600 = 8, + pbn_b0_2_1130000 = 9, + pbn_b0_4_1152000 = 10, + pbn_b0_4_1250000 = 11, + pbn_b0_2_1843200 = 12, + pbn_b0_4_1843200 = 13, + pbn_b0_1_15625000 = 14, + pbn_b0_bt_1_115200 = 15, + pbn_b0_bt_2_115200 = 16, + pbn_b0_bt_4_115200 = 17, + pbn_b0_bt_8_115200 = 18, + pbn_b0_bt_1_460800 = 19, + pbn_b0_bt_2_460800 = 20, + pbn_b0_bt_4_460800 = 21, + pbn_b0_bt_1_921600 = 22, + pbn_b0_bt_2_921600 = 23, + pbn_b0_bt_4_921600 = 24, + pbn_b0_bt_8_921600 = 25, + pbn_b1_1_115200 = 26, + pbn_b1_2_115200 = 27, + pbn_b1_4_115200 = 28, + pbn_b1_8_115200 = 29, + pbn_b1_16_115200 = 30, + pbn_b1_1_921600 = 31, + pbn_b1_2_921600 = 32, + pbn_b1_4_921600 = 33, + pbn_b1_8_921600 = 34, + pbn_b1_2_1250000 = 35, + pbn_b1_bt_1_115200 = 36, + pbn_b1_bt_2_115200 = 37, + pbn_b1_bt_4_115200 = 38, + pbn_b1_bt_2_921600 = 39, + pbn_b1_1_1382400 = 40, + pbn_b1_2_1382400 = 41, + pbn_b1_4_1382400 = 42, + pbn_b1_8_1382400 = 43, + pbn_b2_1_115200 = 44, + pbn_b2_2_115200 = 45, + pbn_b2_4_115200 = 46, + pbn_b2_8_115200 = 47, + pbn_b2_1_460800 = 48, + pbn_b2_4_460800 = 49, + pbn_b2_8_460800 = 50, + pbn_b2_16_460800 = 51, + pbn_b2_1_921600 = 52, + pbn_b2_4_921600 = 53, + pbn_b2_8_921600 = 54, + pbn_b2_8_1152000 = 55, + pbn_b2_bt_1_115200 = 56, + pbn_b2_bt_2_115200 = 57, + pbn_b2_bt_4_115200 = 58, + pbn_b2_bt_2_921600 = 59, + pbn_b2_bt_4_921600 = 60, + pbn_b3_2_115200 = 61, + pbn_b3_4_115200 = 62, + pbn_b3_8_115200 = 63, + pbn_b4_bt_2_921600 = 64, + pbn_b4_bt_4_921600 = 65, + pbn_b4_bt_8_921600 = 66, + pbn_panacom = 67, + pbn_panacom2 = 68, + pbn_panacom4 = 69, + pbn_plx_romulus = 70, + pbn_oxsemi = 71, + pbn_oxsemi_1_15625000 = 72, + pbn_oxsemi_2_15625000 = 73, + pbn_oxsemi_4_15625000 = 74, + pbn_oxsemi_8_15625000 = 75, + pbn_intel_i960 = 76, + pbn_sgi_ioc3 = 77, + pbn_computone_4 = 78, + pbn_computone_6 = 79, + pbn_computone_8 = 80, + pbn_sbsxrsio = 81, + pbn_pasemi_1682M = 82, + pbn_ni8430_2 = 83, + pbn_ni8430_4 = 84, + pbn_ni8430_8 = 85, + pbn_ni8430_16 = 86, + pbn_ADDIDATA_PCIe_1_3906250 = 87, + pbn_ADDIDATA_PCIe_2_3906250 = 88, + pbn_ADDIDATA_PCIe_4_3906250 = 89, + pbn_ADDIDATA_PCIe_8_3906250 = 90, + pbn_ce4100_1_115200 = 91, + pbn_omegapci = 92, + pbn_NETMOS9900_2s_115200 = 93, + pbn_brcm_trumanage = 94, + pbn_fintek_4 = 95, + pbn_fintek_8 = 96, + pbn_fintek_12 = 97, + pbn_fintek_F81504A = 98, + pbn_fintek_F81508A = 99, + pbn_fintek_F81512A = 100, + pbn_wch382_2 = 101, + pbn_wch384_4 = 102, + pbn_wch384_8 = 103, + pbn_sunix_pci_1s = 104, + pbn_sunix_pci_2s = 105, + pbn_sunix_pci_4s = 106, + pbn_sunix_pci_8s = 107, + pbn_sunix_pci_16s = 108, + pbn_titan_1_4000000 = 109, + pbn_titan_2_4000000 = 110, + pbn_titan_4_4000000 = 111, + pbn_titan_8_4000000 = 112, + pbn_moxa_2 = 113, + pbn_moxa_4 = 114, + pbn_moxa_8 = 115, +}; + +enum pci_bus_flags { + PCI_BUS_FLAGS_NO_MSI = 1, + PCI_BUS_FLAGS_NO_MMRBC = 2, + PCI_BUS_FLAGS_NO_AERSID = 4, + PCI_BUS_FLAGS_NO_EXTCFG = 8, +}; + +enum pci_bus_speed { + PCI_SPEED_33MHz = 0, + PCI_SPEED_66MHz = 1, + PCI_SPEED_66MHz_PCIX = 2, + PCI_SPEED_100MHz_PCIX = 3, + PCI_SPEED_133MHz_PCIX = 4, + PCI_SPEED_66MHz_PCIX_ECC = 5, + PCI_SPEED_100MHz_PCIX_ECC = 6, + PCI_SPEED_133MHz_PCIX_ECC = 7, + PCI_SPEED_66MHz_PCIX_266 = 9, + PCI_SPEED_100MHz_PCIX_266 = 10, + PCI_SPEED_133MHz_PCIX_266 = 11, + AGP_UNKNOWN = 12, + AGP_1X = 13, + AGP_2X = 14, + AGP_4X = 15, + AGP_8X = 16, + PCI_SPEED_66MHz_PCIX_533 = 17, + PCI_SPEED_100MHz_PCIX_533 = 18, + PCI_SPEED_133MHz_PCIX_533 = 19, + PCIE_SPEED_2_5GT = 20, + PCIE_SPEED_5_0GT = 21, + PCIE_SPEED_8_0GT = 22, + PCIE_SPEED_16_0GT = 23, + PCIE_SPEED_32_0GT = 24, + PCIE_SPEED_64_0GT = 25, + PCI_SPEED_UNKNOWN = 255, +}; + +enum pci_dev_flags { + PCI_DEV_FLAGS_MSI_INTX_DISABLE_BUG = 1, + PCI_DEV_FLAGS_NO_D3 = 2, + PCI_DEV_FLAGS_ASSIGNED = 4, + PCI_DEV_FLAGS_ACS_ENABLED_QUIRK = 8, + PCI_DEV_FLAG_PCIE_BRIDGE_ALIAS = 32, + PCI_DEV_FLAGS_NO_BUS_RESET = 64, + PCI_DEV_FLAGS_NO_PM_RESET = 128, + PCI_DEV_FLAGS_VPD_REF_F0 = 256, + PCI_DEV_FLAGS_BRIDGE_XLATE_ROOT = 512, + PCI_DEV_FLAGS_NO_FLR_RESET = 1024, + PCI_DEV_FLAGS_NO_RELAXED_ORDERING = 2048, + PCI_DEV_FLAGS_HAS_MSI_MASKING = 4096, + PCI_DEV_FLAGS_MSIX_TOUCH_ENTRY_DATA_FIRST = 8192, + PCI_DEV_FLAGS_NO_RRS_SV = 16384, +}; + +enum pci_epc_bar_type { + BAR_PROGRAMMABLE = 0, + BAR_FIXED = 1, + BAR_RESIZABLE = 2, + BAR_RESERVED = 3, +}; + +enum pci_epc_interface_type { + UNKNOWN_INTERFACE = -1, + PRIMARY_INTERFACE = 0, + SECONDARY_INTERFACE = 1, +}; + +enum pci_ers_result { + PCI_ERS_RESULT_NONE = 1, + PCI_ERS_RESULT_CAN_RECOVER = 2, + PCI_ERS_RESULT_NEED_RESET = 3, + PCI_ERS_RESULT_DISCONNECT = 4, + PCI_ERS_RESULT_RECOVERED = 5, + PCI_ERS_RESULT_NO_AER_DRIVER = 6, +}; + +enum pci_fixup_pass { + pci_fixup_early = 0, + pci_fixup_header = 1, + pci_fixup_final = 2, + pci_fixup_enable = 3, + pci_fixup_resume = 4, + pci_fixup_suspend = 5, + pci_fixup_resume_early = 6, + pci_fixup_suspend_late = 7, +}; + +enum pci_interrupt_pin { + PCI_INTERRUPT_UNKNOWN = 0, + PCI_INTERRUPT_INTA = 1, + PCI_INTERRUPT_INTB = 2, + PCI_INTERRUPT_INTC = 3, + PCI_INTERRUPT_INTD = 4, +}; + +enum pci_irq_reroute_variant { + INTEL_IRQ_REROUTE_VARIANT = 1, + MAX_IRQ_REROUTE_VARIANTS = 3, +}; + +enum pci_mmap_api { + PCI_MMAP_SYSFS = 0, + PCI_MMAP_PROCFS = 1, +}; + +enum pci_mmap_state { + pci_mmap_io = 0, + pci_mmap_mem = 1, +}; + +enum pci_p2pdma_map_type { + PCI_P2PDMA_MAP_UNKNOWN = 0, + PCI_P2PDMA_MAP_NONE = 1, + PCI_P2PDMA_MAP_NOT_SUPPORTED = 2, + PCI_P2PDMA_MAP_BUS_ADDR = 3, + PCI_P2PDMA_MAP_THRU_HOST_BRIDGE = 4, +}; + +enum pcie_bus_config_types { + PCIE_BUS_TUNE_OFF = 0, + PCIE_BUS_DEFAULT = 1, + PCIE_BUS_SAFE = 2, + PCIE_BUS_PERFORMANCE = 3, + PCIE_BUS_PEER2PEER = 4, +}; + +enum pcie_link_width { + PCIE_LNK_WIDTH_RESRV = 0, + PCIE_LNK_X1 = 1, + PCIE_LNK_X2 = 2, + PCIE_LNK_X4 = 4, + PCIE_LNK_X8 = 8, + PCIE_LNK_X12 = 12, + PCIE_LNK_X16 = 16, + PCIE_LNK_X32 = 32, + PCIE_LNK_WIDTH_UNKNOWN = 255, +}; + +enum pcie_reset_state { + pcie_deassert_reset = 1, + pcie_warm_reset = 2, + pcie_hot_reset = 3, +}; + +enum pcim_addr_devres_type { + PCIM_ADDR_DEVRES_TYPE_INVALID = 0, + PCIM_ADDR_DEVRES_TYPE_REGION = 1, + PCIM_ADDR_DEVRES_TYPE_REGION_MAPPING = 2, + PCIM_ADDR_DEVRES_TYPE_MAPPING = 3, +}; + +enum pcpu_fc { + PCPU_FC_AUTO = 0, + PCPU_FC_EMBED = 1, + PCPU_FC_PAGE = 2, + PCPU_FC_NR = 3, +}; + +enum pedit_cmd { + TCA_PEDIT_KEY_EX_CMD_SET = 0, + TCA_PEDIT_KEY_EX_CMD_ADD = 1, + __PEDIT_CMD_MAX = 2, +}; + +enum pedit_header_type { + TCA_PEDIT_KEY_EX_HDR_TYPE_NETWORK = 0, + TCA_PEDIT_KEY_EX_HDR_TYPE_ETH = 1, + TCA_PEDIT_KEY_EX_HDR_TYPE_IP4 = 2, + TCA_PEDIT_KEY_EX_HDR_TYPE_IP6 = 3, + TCA_PEDIT_KEY_EX_HDR_TYPE_TCP = 4, + TCA_PEDIT_KEY_EX_HDR_TYPE_UDP = 5, + __PEDIT_HDR_TYPE_MAX = 6, +}; + +enum peer_app_attr { + DCB_ATTR_CEE_PEER_APP_UNSPEC = 0, + DCB_ATTR_CEE_PEER_APP_INFO = 1, + DCB_ATTR_CEE_PEER_APP = 2, + __DCB_ATTR_CEE_PEER_APP_MAX = 3, +}; + +enum perf_addr_filter_action_t { + PERF_ADDR_FILTER_ACTION_STOP = 0, + PERF_ADDR_FILTER_ACTION_START = 1, + PERF_ADDR_FILTER_ACTION_FILTER = 2, +}; + +enum perf_adl_uncore_imc_freerunning_types { + ADL_MMIO_UNCORE_IMC_DATA_TOTAL = 0, + ADL_MMIO_UNCORE_IMC_DATA_READ = 1, + ADL_MMIO_UNCORE_IMC_DATA_WRITE = 2, + ADL_MMIO_UNCORE_IMC_FREERUNNING_TYPE_MAX = 3, +}; + +enum perf_bpf_event_type { + PERF_BPF_EVENT_UNKNOWN = 0, + PERF_BPF_EVENT_PROG_LOAD = 1, + PERF_BPF_EVENT_PROG_UNLOAD = 2, + PERF_BPF_EVENT_MAX = 3, +}; + +enum perf_branch_sample_type { + PERF_SAMPLE_BRANCH_USER = 1, + PERF_SAMPLE_BRANCH_KERNEL = 2, + PERF_SAMPLE_BRANCH_HV = 4, + PERF_SAMPLE_BRANCH_ANY = 8, + PERF_SAMPLE_BRANCH_ANY_CALL = 16, + PERF_SAMPLE_BRANCH_ANY_RETURN = 32, + PERF_SAMPLE_BRANCH_IND_CALL = 64, + PERF_SAMPLE_BRANCH_ABORT_TX = 128, + PERF_SAMPLE_BRANCH_IN_TX = 256, + PERF_SAMPLE_BRANCH_NO_TX = 512, + PERF_SAMPLE_BRANCH_COND = 1024, + PERF_SAMPLE_BRANCH_CALL_STACK = 2048, + PERF_SAMPLE_BRANCH_IND_JUMP = 4096, + PERF_SAMPLE_BRANCH_CALL = 8192, + PERF_SAMPLE_BRANCH_NO_FLAGS = 16384, + PERF_SAMPLE_BRANCH_NO_CYCLES = 32768, + PERF_SAMPLE_BRANCH_TYPE_SAVE = 65536, + PERF_SAMPLE_BRANCH_HW_INDEX = 131072, + PERF_SAMPLE_BRANCH_PRIV_SAVE = 262144, + PERF_SAMPLE_BRANCH_COUNTERS = 524288, + PERF_SAMPLE_BRANCH_MAX = 1048576, +}; + +enum perf_branch_sample_type_shift { + PERF_SAMPLE_BRANCH_USER_SHIFT = 0, + PERF_SAMPLE_BRANCH_KERNEL_SHIFT = 1, + PERF_SAMPLE_BRANCH_HV_SHIFT = 2, + PERF_SAMPLE_BRANCH_ANY_SHIFT = 3, + PERF_SAMPLE_BRANCH_ANY_CALL_SHIFT = 4, + PERF_SAMPLE_BRANCH_ANY_RETURN_SHIFT = 5, + PERF_SAMPLE_BRANCH_IND_CALL_SHIFT = 6, + PERF_SAMPLE_BRANCH_ABORT_TX_SHIFT = 7, + PERF_SAMPLE_BRANCH_IN_TX_SHIFT = 8, + PERF_SAMPLE_BRANCH_NO_TX_SHIFT = 9, + PERF_SAMPLE_BRANCH_COND_SHIFT = 10, + PERF_SAMPLE_BRANCH_CALL_STACK_SHIFT = 11, + PERF_SAMPLE_BRANCH_IND_JUMP_SHIFT = 12, + PERF_SAMPLE_BRANCH_CALL_SHIFT = 13, + PERF_SAMPLE_BRANCH_NO_FLAGS_SHIFT = 14, + PERF_SAMPLE_BRANCH_NO_CYCLES_SHIFT = 15, + PERF_SAMPLE_BRANCH_TYPE_SAVE_SHIFT = 16, + PERF_SAMPLE_BRANCH_HW_INDEX_SHIFT = 17, + PERF_SAMPLE_BRANCH_PRIV_SAVE_SHIFT = 18, + PERF_SAMPLE_BRANCH_COUNTERS_SHIFT = 19, + PERF_SAMPLE_BRANCH_MAX_SHIFT = 20, +}; + +enum perf_callchain_context { + PERF_CONTEXT_HV = 18446744073709551584ULL, + PERF_CONTEXT_KERNEL = 18446744073709551488ULL, + PERF_CONTEXT_USER = 18446744073709551104ULL, + PERF_CONTEXT_GUEST = 18446744073709549568ULL, + PERF_CONTEXT_GUEST_KERNEL = 18446744073709549440ULL, + PERF_CONTEXT_GUEST_USER = 18446744073709549056ULL, + PERF_CONTEXT_MAX = 18446744073709547521ULL, +}; + +enum perf_event_ioc_flags { + PERF_IOC_FLAG_GROUP = 1, +}; + +enum perf_event_read_format { + PERF_FORMAT_TOTAL_TIME_ENABLED = 1, + PERF_FORMAT_TOTAL_TIME_RUNNING = 2, + PERF_FORMAT_ID = 4, + PERF_FORMAT_GROUP = 8, + PERF_FORMAT_LOST = 16, + PERF_FORMAT_MAX = 32, +}; + +enum perf_event_sample_format { + PERF_SAMPLE_IP = 1, + PERF_SAMPLE_TID = 2, + PERF_SAMPLE_TIME = 4, + PERF_SAMPLE_ADDR = 8, + PERF_SAMPLE_READ = 16, + PERF_SAMPLE_CALLCHAIN = 32, + PERF_SAMPLE_ID = 64, + PERF_SAMPLE_CPU = 128, + PERF_SAMPLE_PERIOD = 256, + PERF_SAMPLE_STREAM_ID = 512, + PERF_SAMPLE_RAW = 1024, + PERF_SAMPLE_BRANCH_STACK = 2048, + PERF_SAMPLE_REGS_USER = 4096, + PERF_SAMPLE_STACK_USER = 8192, + PERF_SAMPLE_WEIGHT = 16384, + PERF_SAMPLE_DATA_SRC = 32768, + PERF_SAMPLE_IDENTIFIER = 65536, + PERF_SAMPLE_TRANSACTION = 131072, + PERF_SAMPLE_REGS_INTR = 262144, + PERF_SAMPLE_PHYS_ADDR = 524288, + PERF_SAMPLE_AUX = 1048576, + PERF_SAMPLE_CGROUP = 2097152, + PERF_SAMPLE_DATA_PAGE_SIZE = 4194304, + PERF_SAMPLE_CODE_PAGE_SIZE = 8388608, + PERF_SAMPLE_WEIGHT_STRUCT = 16777216, + PERF_SAMPLE_MAX = 33554432, +}; + +enum perf_event_state { + PERF_EVENT_STATE_DEAD = -5, + PERF_EVENT_STATE_REVOKED = -4, + PERF_EVENT_STATE_EXIT = -3, + PERF_EVENT_STATE_ERROR = -2, + PERF_EVENT_STATE_OFF = -1, + PERF_EVENT_STATE_INACTIVE = 0, + PERF_EVENT_STATE_ACTIVE = 1, +}; + +enum perf_event_task_context { + perf_invalid_context = -1, + perf_hw_context = 0, + perf_sw_context = 1, + perf_nr_task_contexts = 2, +}; + +enum perf_event_type { + PERF_RECORD_MMAP = 1, + PERF_RECORD_LOST = 2, + PERF_RECORD_COMM = 3, + PERF_RECORD_EXIT = 4, + PERF_RECORD_THROTTLE = 5, + PERF_RECORD_UNTHROTTLE = 6, + PERF_RECORD_FORK = 7, + PERF_RECORD_READ = 8, + PERF_RECORD_SAMPLE = 9, + PERF_RECORD_MMAP2 = 10, + PERF_RECORD_AUX = 11, + PERF_RECORD_ITRACE_START = 12, + PERF_RECORD_LOST_SAMPLES = 13, + PERF_RECORD_SWITCH = 14, + PERF_RECORD_SWITCH_CPU_WIDE = 15, + PERF_RECORD_NAMESPACES = 16, + PERF_RECORD_KSYMBOL = 17, + PERF_RECORD_BPF_EVENT = 18, + PERF_RECORD_CGROUP = 19, + PERF_RECORD_TEXT_POKE = 20, + PERF_RECORD_AUX_OUTPUT_HW_ID = 21, + PERF_RECORD_MAX = 22, +}; + +enum perf_event_x86_regs { + PERF_REG_X86_AX = 0, + PERF_REG_X86_BX = 1, + PERF_REG_X86_CX = 2, + PERF_REG_X86_DX = 3, + PERF_REG_X86_SI = 4, + PERF_REG_X86_DI = 5, + PERF_REG_X86_BP = 6, + PERF_REG_X86_SP = 7, + PERF_REG_X86_IP = 8, + PERF_REG_X86_FLAGS = 9, + PERF_REG_X86_CS = 10, + PERF_REG_X86_SS = 11, + PERF_REG_X86_DS = 12, + PERF_REG_X86_ES = 13, + PERF_REG_X86_FS = 14, + PERF_REG_X86_GS = 15, + PERF_REG_X86_R8 = 16, + PERF_REG_X86_R9 = 17, + PERF_REG_X86_R10 = 18, + PERF_REG_X86_R11 = 19, + PERF_REG_X86_R12 = 20, + PERF_REG_X86_R13 = 21, + PERF_REG_X86_R14 = 22, + PERF_REG_X86_R15 = 23, + PERF_REG_X86_32_MAX = 16, + PERF_REG_X86_64_MAX = 24, + PERF_REG_X86_XMM0 = 32, + PERF_REG_X86_XMM1 = 34, + PERF_REG_X86_XMM2 = 36, + PERF_REG_X86_XMM3 = 38, + PERF_REG_X86_XMM4 = 40, + PERF_REG_X86_XMM5 = 42, + PERF_REG_X86_XMM6 = 44, + PERF_REG_X86_XMM7 = 46, + PERF_REG_X86_XMM8 = 48, + PERF_REG_X86_XMM9 = 50, + PERF_REG_X86_XMM10 = 52, + PERF_REG_X86_XMM11 = 54, + PERF_REG_X86_XMM12 = 56, + PERF_REG_X86_XMM13 = 58, + PERF_REG_X86_XMM14 = 60, + PERF_REG_X86_XMM15 = 62, + PERF_REG_X86_XMM_MAX = 64, +}; + +enum perf_hw_cache_id { + PERF_COUNT_HW_CACHE_L1D = 0, + PERF_COUNT_HW_CACHE_L1I = 1, + PERF_COUNT_HW_CACHE_LL = 2, + PERF_COUNT_HW_CACHE_DTLB = 3, + PERF_COUNT_HW_CACHE_ITLB = 4, + PERF_COUNT_HW_CACHE_BPU = 5, + PERF_COUNT_HW_CACHE_NODE = 6, + PERF_COUNT_HW_CACHE_MAX = 7, +}; + +enum perf_hw_cache_op_id { + PERF_COUNT_HW_CACHE_OP_READ = 0, + PERF_COUNT_HW_CACHE_OP_WRITE = 1, + PERF_COUNT_HW_CACHE_OP_PREFETCH = 2, + PERF_COUNT_HW_CACHE_OP_MAX = 3, +}; + +enum perf_hw_cache_op_result_id { + PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0, + PERF_COUNT_HW_CACHE_RESULT_MISS = 1, + PERF_COUNT_HW_CACHE_RESULT_MAX = 2, +}; + +enum perf_hw_id { + PERF_COUNT_HW_CPU_CYCLES = 0, + PERF_COUNT_HW_INSTRUCTIONS = 1, + PERF_COUNT_HW_CACHE_REFERENCES = 2, + PERF_COUNT_HW_CACHE_MISSES = 3, + PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 4, + PERF_COUNT_HW_BRANCH_MISSES = 5, + PERF_COUNT_HW_BUS_CYCLES = 6, + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 7, + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 8, + PERF_COUNT_HW_REF_CPU_CYCLES = 9, + PERF_COUNT_HW_MAX = 10, +}; + +enum perf_msr_id { + PERF_MSR_TSC = 0, + PERF_MSR_APERF = 1, + PERF_MSR_MPERF = 2, + PERF_MSR_PPERF = 3, + PERF_MSR_SMI = 4, + PERF_MSR_PTSC = 5, + PERF_MSR_IRPERF = 6, + PERF_MSR_THERM = 7, + PERF_MSR_EVENT_MAX = 8, +}; + +enum perf_pmu_scope { + PERF_PMU_SCOPE_NONE = 0, + PERF_PMU_SCOPE_CORE = 1, + PERF_PMU_SCOPE_DIE = 2, + PERF_PMU_SCOPE_CLUSTER = 3, + PERF_PMU_SCOPE_PKG = 4, + PERF_PMU_SCOPE_SYS_WIDE = 5, + PERF_PMU_MAX_SCOPE = 6, +}; + +enum perf_probe_config { + PERF_PROBE_CONFIG_IS_RETPROBE = 1, + PERF_UPROBE_REF_CTR_OFFSET_BITS = 32, + PERF_UPROBE_REF_CTR_OFFSET_SHIFT = 32, +}; + +enum perf_record_ksymbol_type { + PERF_RECORD_KSYMBOL_TYPE_UNKNOWN = 0, + PERF_RECORD_KSYMBOL_TYPE_BPF = 1, + PERF_RECORD_KSYMBOL_TYPE_OOL = 2, + PERF_RECORD_KSYMBOL_TYPE_MAX = 3, +}; + +enum perf_sample_regs_abi { + PERF_SAMPLE_REGS_ABI_NONE = 0, + PERF_SAMPLE_REGS_ABI_32 = 1, + PERF_SAMPLE_REGS_ABI_64 = 2, +}; + +enum perf_snb_uncore_imc_freerunning_types { + SNB_PCI_UNCORE_IMC_DATA_READS = 0, + SNB_PCI_UNCORE_IMC_DATA_WRITES = 1, + SNB_PCI_UNCORE_IMC_GT_REQUESTS = 2, + SNB_PCI_UNCORE_IMC_IA_REQUESTS = 3, + SNB_PCI_UNCORE_IMC_IO_REQUESTS = 4, + SNB_PCI_UNCORE_IMC_FREERUNNING_TYPE_MAX = 5, +}; + +enum perf_sw_ids { + PERF_COUNT_SW_CPU_CLOCK = 0, + PERF_COUNT_SW_TASK_CLOCK = 1, + PERF_COUNT_SW_PAGE_FAULTS = 2, + PERF_COUNT_SW_CONTEXT_SWITCHES = 3, + PERF_COUNT_SW_CPU_MIGRATIONS = 4, + PERF_COUNT_SW_PAGE_FAULTS_MIN = 5, + PERF_COUNT_SW_PAGE_FAULTS_MAJ = 6, + PERF_COUNT_SW_ALIGNMENT_FAULTS = 7, + PERF_COUNT_SW_EMULATION_FAULTS = 8, + PERF_COUNT_SW_DUMMY = 9, + PERF_COUNT_SW_BPF_OUTPUT = 10, + PERF_COUNT_SW_CGROUP_SWITCHES = 11, + PERF_COUNT_SW_MAX = 12, +}; + +enum perf_tgl_uncore_imc_freerunning_types { + TGL_MMIO_UNCORE_IMC_DATA_TOTAL = 0, + TGL_MMIO_UNCORE_IMC_DATA_READ = 1, + TGL_MMIO_UNCORE_IMC_DATA_WRITE = 2, + TGL_MMIO_UNCORE_IMC_FREERUNNING_TYPE_MAX = 3, +}; + +enum perf_type_id { + PERF_TYPE_HARDWARE = 0, + PERF_TYPE_SOFTWARE = 1, + PERF_TYPE_TRACEPOINT = 2, + PERF_TYPE_HW_CACHE = 3, + PERF_TYPE_RAW = 4, + PERF_TYPE_BREAKPOINT = 5, + PERF_TYPE_MAX = 6, +}; + +enum perf_uncore_icx_iio_freerunning_type_id { + ICX_IIO_MSR_IOCLK = 0, + ICX_IIO_MSR_BW_IN = 1, + ICX_IIO_FREERUNNING_TYPE_MAX = 2, +}; + +enum perf_uncore_icx_imc_freerunning_type_id { + ICX_IMC_DCLK = 0, + ICX_IMC_DDR = 1, + ICX_IMC_DDRT = 2, + ICX_IMC_FREERUNNING_TYPE_MAX = 3, +}; + +enum perf_uncore_iio_freerunning_type_id { + SKX_IIO_MSR_IOCLK = 0, + SKX_IIO_MSR_BW = 1, + SKX_IIO_MSR_UTIL = 2, + SKX_IIO_FREERUNNING_TYPE_MAX = 3, +}; + +enum perf_uncore_snr_iio_freerunning_type_id { + SNR_IIO_MSR_IOCLK = 0, + SNR_IIO_MSR_BW_IN = 1, + SNR_IIO_FREERUNNING_TYPE_MAX = 2, +}; + +enum perf_uncore_snr_imc_freerunning_type_id { + SNR_IMC_DCLK = 0, + SNR_IMC_DDR = 1, + SNR_IMC_FREERUNNING_TYPE_MAX = 2, +}; + +enum perf_uncore_spr_iio_freerunning_type_id { + SPR_IIO_MSR_IOCLK = 0, + SPR_IIO_MSR_BW_IN = 1, + SPR_IIO_MSR_BW_OUT = 2, + SPR_IIO_FREERUNNING_TYPE_MAX = 3, +}; + +enum perf_uncore_spr_imc_freerunning_type_id { + SPR_IMC_DCLK = 0, + SPR_IMC_PQ_CYCLES = 1, + SPR_IMC_FREERUNNING_TYPE_MAX = 2, +}; + +enum pg_level { + PG_LEVEL_NONE = 0, + PG_LEVEL_4K = 1, + PG_LEVEL_2M = 2, + PG_LEVEL_1G = 3, + PG_LEVEL_512G = 4, + PG_LEVEL_256T = 5, + PG_LEVEL_NUM = 6, +}; + +enum pgdat_flags { + PGDAT_DIRTY = 0, + PGDAT_WRITEBACK = 1, + PGDAT_RECLAIM_LOCKED = 2, +}; + +enum pgt_entry { + NORMAL_PMD = 0, + HPAGE_PMD = 1, + NORMAL_PUD = 2, + HPAGE_PUD = 3, +}; + +enum phy_media { + PHY_MEDIA_DEFAULT = 0, + PHY_MEDIA_SR = 1, + PHY_MEDIA_DAC = 2, +}; + +enum phy_mode { + PHY_MODE_INVALID = 0, + PHY_MODE_USB_HOST = 1, + PHY_MODE_USB_HOST_LS = 2, + PHY_MODE_USB_HOST_FS = 3, + PHY_MODE_USB_HOST_HS = 4, + PHY_MODE_USB_HOST_SS = 5, + PHY_MODE_USB_DEVICE = 6, + PHY_MODE_USB_DEVICE_LS = 7, + PHY_MODE_USB_DEVICE_FS = 8, + PHY_MODE_USB_DEVICE_HS = 9, + PHY_MODE_USB_DEVICE_SS = 10, + PHY_MODE_USB_OTG = 11, + PHY_MODE_UFS_HS_A = 12, + PHY_MODE_UFS_HS_B = 13, + PHY_MODE_PCIE = 14, + PHY_MODE_ETHERNET = 15, + PHY_MODE_MIPI_DPHY = 16, + PHY_MODE_SATA = 17, + PHY_MODE_LVDS = 18, + PHY_MODE_DP = 19, + PHY_MODE_HDMI = 20, +}; + +enum phy_state { + PHY_DOWN = 0, + PHY_READY = 1, + PHY_HALTED = 2, + PHY_ERROR = 3, + PHY_UP = 4, + PHY_RUNNING = 5, + PHY_NOLINK = 6, + PHY_CABLETEST = 7, +}; + +enum phy_state_work { + PHY_STATE_WORK_NONE = 0, + PHY_STATE_WORK_ANEG = 1, + PHY_STATE_WORK_SUSPEND = 2, +}; + +enum phy_tunable_id { + ETHTOOL_PHY_ID_UNSPEC = 0, + ETHTOOL_PHY_DOWNSHIFT = 1, + ETHTOOL_PHY_FAST_LINK_DOWN = 2, + ETHTOOL_PHY_EDPD = 3, + __ETHTOOL_PHY_TUNABLE_COUNT = 4, +}; + +enum phy_upstream { + PHY_UPSTREAM_MAC = 0, + PHY_UPSTREAM_PHY = 1, +}; + +enum phylink_op_type { + PHYLINK_NETDEV = 0, + PHYLINK_DEV = 1, +}; + +enum pid_type { + PIDTYPE_PID = 0, + PIDTYPE_TGID = 1, + PIDTYPE_PGID = 2, + PIDTYPE_SID = 3, + PIDTYPE_MAX = 4, +}; + +enum pidcg_event { + PIDCG_MAX = 0, + PIDCG_FORKFAIL = 1, + NR_PIDCG_EVENTS = 2, +}; + +enum piix_controller_ids { + piix_pata_mwdma = 0, + piix_pata_33 = 1, + ich_pata_33 = 2, + ich_pata_66 = 3, + ich_pata_100 = 4, + ich_pata_100_nomwdma1 = 5, + ich5_sata = 6, + ich6_sata = 7, + ich6m_sata = 8, + ich8_sata = 9, + ich8_2port_sata = 10, + ich8m_apple_sata = 11, + tolapai_sata = 12, + piix_pata_vmw = 13, + ich8_sata_snb = 14, + ich8_2port_sata_snb = 15, + ich8_2port_sata_byt = 16, +}; + +enum pin_config_param { + PIN_CONFIG_BIAS_BUS_HOLD = 0, + PIN_CONFIG_BIAS_DISABLE = 1, + PIN_CONFIG_BIAS_HIGH_IMPEDANCE = 2, + PIN_CONFIG_BIAS_PULL_DOWN = 3, + PIN_CONFIG_BIAS_PULL_PIN_DEFAULT = 4, + PIN_CONFIG_BIAS_PULL_UP = 5, + PIN_CONFIG_DRIVE_OPEN_DRAIN = 6, + PIN_CONFIG_DRIVE_OPEN_SOURCE = 7, + PIN_CONFIG_DRIVE_PUSH_PULL = 8, + PIN_CONFIG_DRIVE_STRENGTH = 9, + PIN_CONFIG_DRIVE_STRENGTH_UA = 10, + PIN_CONFIG_INPUT_DEBOUNCE = 11, + PIN_CONFIG_INPUT_ENABLE = 12, + PIN_CONFIG_INPUT_SCHMITT = 13, + PIN_CONFIG_INPUT_SCHMITT_ENABLE = 14, + PIN_CONFIG_INPUT_SCHMITT_UV = 15, + PIN_CONFIG_MODE_LOW_POWER = 16, + PIN_CONFIG_MODE_PWM = 17, + PIN_CONFIG_OUTPUT = 18, + PIN_CONFIG_OUTPUT_ENABLE = 19, + PIN_CONFIG_OUTPUT_IMPEDANCE_OHMS = 20, + PIN_CONFIG_PERSIST_STATE = 21, + PIN_CONFIG_POWER_SOURCE = 22, + PIN_CONFIG_SKEW_DELAY = 23, + PIN_CONFIG_SLEEP_HARDWARE_STATE = 24, + PIN_CONFIG_SLEW_RATE = 25, + PIN_CONFIG_END = 127, + PIN_CONFIG_MAX = 255, +}; + +enum pinctrl_map_type { + PIN_MAP_TYPE_INVALID = 0, + PIN_MAP_TYPE_DUMMY_STATE = 1, + PIN_MAP_TYPE_MUX_GROUP = 2, + PIN_MAP_TYPE_CONFIGS_PIN = 3, + PIN_MAP_TYPE_CONFIGS_GROUP = 4, +}; + +enum pkcs7_actions { + ACT_pkcs7_check_content_type = 0, + ACT_pkcs7_extract_cert = 1, + ACT_pkcs7_note_OID = 2, + ACT_pkcs7_note_certificate_list = 3, + ACT_pkcs7_note_content = 4, + ACT_pkcs7_note_data = 5, + ACT_pkcs7_note_signed_info = 6, + ACT_pkcs7_note_signeddata_version = 7, + ACT_pkcs7_note_signerinfo_version = 8, + ACT_pkcs7_sig_note_authenticated_attr = 9, + ACT_pkcs7_sig_note_digest_algo = 10, + ACT_pkcs7_sig_note_issuer = 11, + ACT_pkcs7_sig_note_pkey_algo = 12, + ACT_pkcs7_sig_note_serial = 13, + ACT_pkcs7_sig_note_set_of_authattrs = 14, + ACT_pkcs7_sig_note_signature = 15, + ACT_pkcs7_sig_note_skid = 16, + NR__pkcs7_actions = 17, +}; + +enum pkey_id_type { + PKEY_ID_PGP = 0, + PKEY_ID_X509 = 1, + PKEY_ID_PKCS7 = 2, +}; + +enum pkt_hash_types { + PKT_HASH_TYPE_NONE = 0, + PKT_HASH_TYPE_L2 = 1, + PKT_HASH_TYPE_L3 = 2, + PKT_HASH_TYPE_L4 = 3, +}; + +enum pldmfw_update_mode { + PLDMFW_UPDATE_MODE_FULL = 0, + PLDMFW_UPDATE_MODE_SINGLE_COMPONENT = 1, +}; + +enum pm8606_ref_gp_and_osc_clients { + REF_GP_NO_CLIENTS = 0, + WLED1_DUTY = 1, + WLED2_DUTY = 2, + WLED3_DUTY = 4, + RGB1_ENABLE = 8, + RGB2_ENABLE = 16, + LDO_VBR_EN = 32, + REF_GP_MAX_CLIENT = 65535, +}; + +enum pm_qos_flags_status { + PM_QOS_FLAGS_UNDEFINED = -1, + PM_QOS_FLAGS_NONE = 0, + PM_QOS_FLAGS_SOME = 1, + PM_QOS_FLAGS_ALL = 2, +}; + +enum pm_qos_req_action { + PM_QOS_ADD_REQ = 0, + PM_QOS_UPDATE_REQ = 1, + PM_QOS_REMOVE_REQ = 2, +}; + +enum pm_qos_type { + PM_QOS_UNITIALIZED = 0, + PM_QOS_MAX = 1, + PM_QOS_MIN = 2, +}; + +enum pmc_type { + KVM_PMC_GP = 0, + KVM_PMC_FIXED = 1, +}; + +enum poison_cmd_enabled_bits { + CXL_POISON_ENABLED_LIST = 0, + CXL_POISON_ENABLED_INJECT = 1, + CXL_POISON_ENABLED_CLEAR = 2, + CXL_POISON_ENABLED_SCAN_CAPS = 3, + CXL_POISON_ENABLED_SCAN_MEDIA = 4, + CXL_POISON_ENABLED_SCAN_RESULTS = 5, + CXL_POISON_ENABLED_MAX = 6, +}; + +enum policy_opt { + Opt_measure = 0, + Opt_dont_measure = 1, + Opt_appraise = 2, + Opt_dont_appraise = 3, + Opt_audit = 4, + Opt_hash___3 = 5, + Opt_dont_hash = 6, + Opt_obj_user = 7, + Opt_obj_role = 8, + Opt_obj_type = 9, + Opt_subj_user = 10, + Opt_subj_role = 11, + Opt_subj_type = 12, + Opt_func = 13, + Opt_mask = 14, + Opt_fsmagic = 15, + Opt_fsname = 16, + Opt_fsuuid = 17, + Opt_uid_eq = 18, + Opt_euid_eq = 19, + Opt_gid_eq = 20, + Opt_egid_eq = 21, + Opt_fowner_eq = 22, + Opt_fgroup_eq = 23, + Opt_uid_gt = 24, + Opt_euid_gt = 25, + Opt_gid_gt = 26, + Opt_egid_gt = 27, + Opt_fowner_gt = 28, + Opt_fgroup_gt = 29, + Opt_uid_lt = 30, + Opt_euid_lt = 31, + Opt_gid_lt = 32, + Opt_egid_lt = 33, + Opt_fowner_lt = 34, + Opt_fgroup_lt = 35, + Opt_digest_type = 36, + Opt_appraise_type = 37, + Opt_appraise_flag = 38, + Opt_appraise_algos = 39, + Opt_permit_directio = 40, + Opt_pcr = 41, + Opt_template = 42, + Opt_keyrings = 43, + Opt_label = 44, + Opt_err___7 = 45, +}; + +enum policy_rule_list { + IMA_DEFAULT_POLICY = 1, + IMA_CUSTOM_POLICY = 2, +}; + +enum policy_types { + ORIGINAL_TCB = 1, + DEFAULT_TCB = 2, +}; + +enum poll_time_type { + PT_TIMEVAL = 0, + PT_OLD_TIMEVAL = 1, + PT_TIMESPEC = 2, + PT_OLD_TIMESPEC = 3, +}; + +enum polling_modes { + CM_POLL_DISABLE = 0, + CM_POLL_ALWAYS = 1, + CM_POLL_EXTERNAL_POWER_ONLY = 2, + CM_POLL_CHARGING_ONLY = 3, +}; + +enum pool_workqueue_stats { + PWQ_STAT_STARTED = 0, + PWQ_STAT_COMPLETED = 1, + PWQ_STAT_CPU_TIME = 2, + PWQ_STAT_CPU_INTENSIVE = 3, + PWQ_STAT_CM_WAKEUP = 4, + PWQ_STAT_REPATRIATED = 5, + PWQ_STAT_MAYDAY = 6, + PWQ_STAT_RESCUED = 7, + PWQ_NR_STATS = 8, +}; + +enum port_pkey_state { + IB_PORT_PKEY_NOT_VALID = 0, + IB_PORT_PKEY_VALID = 1, + IB_PORT_PKEY_LISTED = 2, +}; + +enum positive_aop_returns { + AOP_WRITEPAGE_ACTIVATE = 524288, + AOP_TRUNCATED_PAGE = 524289, +}; + +enum posix_timer_state { + POSIX_TIMER_DISARMED = 0, + POSIX_TIMER_ARMED = 1, + POSIX_TIMER_REQUEUE_PENDING = 2, +}; + +enum power_supply_charge_behaviour { + POWER_SUPPLY_CHARGE_BEHAVIOUR_AUTO = 0, + POWER_SUPPLY_CHARGE_BEHAVIOUR_INHIBIT_CHARGE = 1, + POWER_SUPPLY_CHARGE_BEHAVIOUR_INHIBIT_CHARGE_AWAKE = 2, + POWER_SUPPLY_CHARGE_BEHAVIOUR_FORCE_DISCHARGE = 3, +}; + +enum power_supply_charge_type { + POWER_SUPPLY_CHARGE_TYPE_UNKNOWN = 0, + POWER_SUPPLY_CHARGE_TYPE_NONE = 1, + POWER_SUPPLY_CHARGE_TYPE_TRICKLE = 2, + POWER_SUPPLY_CHARGE_TYPE_FAST = 3, + POWER_SUPPLY_CHARGE_TYPE_STANDARD = 4, + POWER_SUPPLY_CHARGE_TYPE_ADAPTIVE = 5, + POWER_SUPPLY_CHARGE_TYPE_CUSTOM = 6, + POWER_SUPPLY_CHARGE_TYPE_LONGLIFE = 7, + POWER_SUPPLY_CHARGE_TYPE_BYPASS = 8, +}; + +enum power_supply_notifier_events { + PSY_EVENT_PROP_CHANGED = 0, +}; + +enum power_supply_property { + POWER_SUPPLY_PROP_STATUS = 0, + POWER_SUPPLY_PROP_CHARGE_TYPE = 1, + POWER_SUPPLY_PROP_CHARGE_TYPES = 2, + POWER_SUPPLY_PROP_HEALTH = 3, + POWER_SUPPLY_PROP_PRESENT = 4, + POWER_SUPPLY_PROP_ONLINE = 5, + POWER_SUPPLY_PROP_AUTHENTIC = 6, + POWER_SUPPLY_PROP_TECHNOLOGY = 7, + POWER_SUPPLY_PROP_CYCLE_COUNT = 8, + POWER_SUPPLY_PROP_VOLTAGE_MAX = 9, + POWER_SUPPLY_PROP_VOLTAGE_MIN = 10, + POWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN = 11, + POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN = 12, + POWER_SUPPLY_PROP_VOLTAGE_NOW = 13, + POWER_SUPPLY_PROP_VOLTAGE_AVG = 14, + POWER_SUPPLY_PROP_VOLTAGE_OCV = 15, + POWER_SUPPLY_PROP_VOLTAGE_BOOT = 16, + POWER_SUPPLY_PROP_CURRENT_MAX = 17, + POWER_SUPPLY_PROP_CURRENT_NOW = 18, + POWER_SUPPLY_PROP_CURRENT_AVG = 19, + POWER_SUPPLY_PROP_CURRENT_BOOT = 20, + POWER_SUPPLY_PROP_POWER_NOW = 21, + POWER_SUPPLY_PROP_POWER_AVG = 22, + POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN = 23, + POWER_SUPPLY_PROP_CHARGE_EMPTY_DESIGN = 24, + POWER_SUPPLY_PROP_CHARGE_FULL = 25, + POWER_SUPPLY_PROP_CHARGE_EMPTY = 26, + POWER_SUPPLY_PROP_CHARGE_NOW = 27, + POWER_SUPPLY_PROP_CHARGE_AVG = 28, + POWER_SUPPLY_PROP_CHARGE_COUNTER = 29, + POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT = 30, + POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT_MAX = 31, + POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE = 32, + POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE_MAX = 33, + POWER_SUPPLY_PROP_CHARGE_CONTROL_LIMIT = 34, + POWER_SUPPLY_PROP_CHARGE_CONTROL_LIMIT_MAX = 35, + POWER_SUPPLY_PROP_CHARGE_CONTROL_START_THRESHOLD = 36, + POWER_SUPPLY_PROP_CHARGE_CONTROL_END_THRESHOLD = 37, + POWER_SUPPLY_PROP_CHARGE_BEHAVIOUR = 38, + POWER_SUPPLY_PROP_INPUT_CURRENT_LIMIT = 39, + POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT = 40, + POWER_SUPPLY_PROP_INPUT_POWER_LIMIT = 41, + POWER_SUPPLY_PROP_ENERGY_FULL_DESIGN = 42, + POWER_SUPPLY_PROP_ENERGY_EMPTY_DESIGN = 43, + POWER_SUPPLY_PROP_ENERGY_FULL = 44, + POWER_SUPPLY_PROP_ENERGY_EMPTY = 45, + POWER_SUPPLY_PROP_ENERGY_NOW = 46, + POWER_SUPPLY_PROP_ENERGY_AVG = 47, + POWER_SUPPLY_PROP_CAPACITY = 48, + POWER_SUPPLY_PROP_CAPACITY_ALERT_MIN = 49, + POWER_SUPPLY_PROP_CAPACITY_ALERT_MAX = 50, + POWER_SUPPLY_PROP_CAPACITY_ERROR_MARGIN = 51, + POWER_SUPPLY_PROP_CAPACITY_LEVEL = 52, + POWER_SUPPLY_PROP_TEMP = 53, + POWER_SUPPLY_PROP_TEMP_MAX = 54, + POWER_SUPPLY_PROP_TEMP_MIN = 55, + POWER_SUPPLY_PROP_TEMP_ALERT_MIN = 56, + POWER_SUPPLY_PROP_TEMP_ALERT_MAX = 57, + POWER_SUPPLY_PROP_TEMP_AMBIENT = 58, + POWER_SUPPLY_PROP_TEMP_AMBIENT_ALERT_MIN = 59, + POWER_SUPPLY_PROP_TEMP_AMBIENT_ALERT_MAX = 60, + POWER_SUPPLY_PROP_TIME_TO_EMPTY_NOW = 61, + POWER_SUPPLY_PROP_TIME_TO_EMPTY_AVG = 62, + POWER_SUPPLY_PROP_TIME_TO_FULL_NOW = 63, + POWER_SUPPLY_PROP_TIME_TO_FULL_AVG = 64, + POWER_SUPPLY_PROP_TYPE = 65, + POWER_SUPPLY_PROP_USB_TYPE = 66, + POWER_SUPPLY_PROP_SCOPE = 67, + POWER_SUPPLY_PROP_PRECHARGE_CURRENT = 68, + POWER_SUPPLY_PROP_CHARGE_TERM_CURRENT = 69, + POWER_SUPPLY_PROP_CALIBRATE = 70, + POWER_SUPPLY_PROP_MANUFACTURE_YEAR = 71, + POWER_SUPPLY_PROP_MANUFACTURE_MONTH = 72, + POWER_SUPPLY_PROP_MANUFACTURE_DAY = 73, + POWER_SUPPLY_PROP_MODEL_NAME = 74, + POWER_SUPPLY_PROP_MANUFACTURER = 75, + POWER_SUPPLY_PROP_SERIAL_NUMBER = 76, +}; + +enum power_supply_type { + POWER_SUPPLY_TYPE_UNKNOWN = 0, + POWER_SUPPLY_TYPE_BATTERY = 1, + POWER_SUPPLY_TYPE_UPS = 2, + POWER_SUPPLY_TYPE_MAINS = 3, + POWER_SUPPLY_TYPE_USB = 4, + POWER_SUPPLY_TYPE_USB_DCP = 5, + POWER_SUPPLY_TYPE_USB_CDP = 6, + POWER_SUPPLY_TYPE_USB_ACA = 7, + POWER_SUPPLY_TYPE_USB_TYPE_C = 8, + POWER_SUPPLY_TYPE_USB_PD = 9, + POWER_SUPPLY_TYPE_USB_PD_DRP = 10, + POWER_SUPPLY_TYPE_APPLE_BRICK_ID = 11, + POWER_SUPPLY_TYPE_WIRELESS = 12, +}; + +enum power_supply_usb_type { + POWER_SUPPLY_USB_TYPE_UNKNOWN = 0, + POWER_SUPPLY_USB_TYPE_SDP = 1, + POWER_SUPPLY_USB_TYPE_DCP = 2, + POWER_SUPPLY_USB_TYPE_CDP = 3, + POWER_SUPPLY_USB_TYPE_ACA = 4, + POWER_SUPPLY_USB_TYPE_C = 5, + POWER_SUPPLY_USB_TYPE_PD = 6, + POWER_SUPPLY_USB_TYPE_PD_DRP = 7, + POWER_SUPPLY_USB_TYPE_PD_PPS = 8, + POWER_SUPPLY_USB_TYPE_APPLE_BRICK_ID = 9, +}; + +enum pr_status { + PR_STS_SUCCESS = 0, + PR_STS_IOERR = 2, + PR_STS_RESERVATION_CONFLICT = 24, + PR_STS_RETRY_PATH_FAILURE = 917504, + PR_STS_PATH_FAST_FAILED = 983040, + PR_STS_PATH_FAILED = 65536, +}; + +enum pr_type { + PR_WRITE_EXCLUSIVE = 1, + PR_EXCLUSIVE_ACCESS = 2, + PR_WRITE_EXCLUSIVE_REG_ONLY = 3, + PR_EXCLUSIVE_ACCESS_REG_ONLY = 4, + PR_WRITE_EXCLUSIVE_ALL_REGS = 5, + PR_EXCLUSIVE_ACCESS_ALL_REGS = 6, +}; + +enum prep_dispatch { + PREP_DISPATCH_OK = 0, + PREP_DISPATCH_NO_TAG = 1, + PREP_DISPATCH_NO_BUDGET = 2, +}; + +enum print_line_t { + TRACE_TYPE_PARTIAL_LINE = 0, + TRACE_TYPE_HANDLED = 1, + TRACE_TYPE_UNHANDLED = 2, + TRACE_TYPE_NO_CONSUME = 3, +}; + +enum printk_info_flags { + LOG_FORCE_CON = 1, + LOG_NEWLINE = 2, + LOG_CONT = 8, +}; + +enum prio_policy { + POLICY_NO_CHANGE = 0, + POLICY_PROMOTE_TO_RT = 1, + POLICY_RESTRICT_TO_BE = 2, + POLICY_ALL_TO_IDLE = 3, + POLICY_NONE_TO_RT = 4, +}; + +enum priv_stack_mode { + PRIV_STACK_UNKNOWN = 0, + NO_PRIV_STACK = 1, + PRIV_STACK_ADAPTIVE = 2, +}; + +enum probe_print_type { + PROBE_PRINT_NORMAL = 0, + PROBE_PRINT_RETURN = 1, + PROBE_PRINT_EVENT = 2, +}; + +enum probe_type { + PROBE_DEFAULT_STRATEGY = 0, + PROBE_PREFER_ASYNCHRONOUS = 1, + PROBE_FORCE_SYNCHRONOUS = 2, +}; + +enum proc_cn_event { + PROC_EVENT_NONE = 0, + PROC_EVENT_FORK = 1, + PROC_EVENT_EXEC = 2, + PROC_EVENT_UID = 4, + PROC_EVENT_GID = 64, + PROC_EVENT_SID = 128, + PROC_EVENT_PTRACE = 256, + PROC_EVENT_COMM = 512, + PROC_EVENT_NONZERO_EXIT = 536870912, + PROC_EVENT_COREDUMP = 1073741824, + PROC_EVENT_EXIT = 2147483648, +}; + +enum proc_cn_mcast_op { + PROC_CN_MCAST_LISTEN = 1, + PROC_CN_MCAST_IGNORE = 2, +}; + +enum proc_hidepid { + HIDEPID_OFF = 0, + HIDEPID_NO_ACCESS = 1, + HIDEPID_INVISIBLE = 2, + HIDEPID_NOT_PTRACEABLE = 4, +}; + +enum proc_mem_force { + PROC_MEM_FORCE_ALWAYS = 0, + PROC_MEM_FORCE_PTRACE = 1, + PROC_MEM_FORCE_NEVER = 2, +}; + +enum proc_param { + Opt_gid___7 = 0, + Opt_hidepid = 1, + Opt_subset = 2, +}; + +enum proc_pidonly { + PROC_PIDONLY_OFF = 0, + PROC_PIDONLY_ON = 1, +}; + +enum procfs_ino { + PROCFS_ROOT_INO = 1, +}; + +enum procmap_query_flags { + PROCMAP_QUERY_VMA_READABLE = 1, + PROCMAP_QUERY_VMA_WRITABLE = 2, + PROCMAP_QUERY_VMA_EXECUTABLE = 4, + PROCMAP_QUERY_VMA_SHARED = 8, + PROCMAP_QUERY_COVERING_OR_NEXT_VMA = 16, + PROCMAP_QUERY_FILE_BACKED_VMA = 32, +}; + +enum profile_mode { + APPARMOR_ENFORCE = 0, + APPARMOR_COMPLAIN = 1, + APPARMOR_KILL = 2, + APPARMOR_UNCONFINED = 3, + APPARMOR_USER = 4, +}; + +enum protection_domain_mode { + PD_MODE_NONE = 0, + PD_MODE_V1 = 1, + PD_MODE_V2 = 2, +}; + +enum prs_errcode { + PERR_NONE = 0, + PERR_INVCPUS = 1, + PERR_INVPARENT = 2, + PERR_NOTPART = 3, + PERR_NOTEXCL = 4, + PERR_NOCPUS = 5, + PERR_HOTPLUG = 6, + PERR_CPUSEMPTY = 7, + PERR_HKEEPING = 8, + PERR_ACCESS = 9, + PERR_REMOTE = 10, +}; + +enum ps2_disposition { + PS2_PROCESS = 0, + PS2_IGNORE = 1, + PS2_ERROR = 2, +}; + +enum psc_op { + SNP_PAGE_STATE_PRIVATE = 1, + SNP_PAGE_STATE_SHARED = 2, +}; + +enum pse_budget_eval_strategies { + PSE_BUDGET_EVAL_STRAT_DISABLED = 1, + PSE_BUDGET_EVAL_STRAT_STATIC = 2, + PSE_BUDGET_EVAL_STRAT_DYNAMIC = 4, +}; + +enum pse_pi_pairset_pinout { + ALTERNATIVE_A = 0, + ALTERNATIVE_B = 1, +}; + +enum psi_aggregators { + PSI_AVGS = 0, + PSI_POLL = 1, + NR_PSI_AGGREGATORS = 2, +}; + +enum psi_res { + PSI_IO = 0, + PSI_MEM = 1, + PSI_CPU = 2, + NR_PSI_RESOURCES = 3, +}; + +enum psi_states { + PSI_IO_SOME = 0, + PSI_IO_FULL = 1, + PSI_MEM_SOME = 2, + PSI_MEM_FULL = 3, + PSI_CPU_SOME = 4, + PSI_CPU_FULL = 5, + PSI_NONIDLE = 6, + NR_PSI_STATES = 7, +}; + +enum psi_task_count { + NR_IOWAIT = 0, + NR_MEMSTALL = 1, + NR_RUNNING = 2, + NR_MEMSTALL_RUNNING = 3, + NR_PSI_TASK_COUNTS = 4, +}; + +enum pstore_type_id { + PSTORE_TYPE_DMESG = 0, + PSTORE_TYPE_MCE = 1, + PSTORE_TYPE_CONSOLE = 2, + PSTORE_TYPE_FTRACE = 3, + PSTORE_TYPE_PPC_RTAS = 4, + PSTORE_TYPE_PPC_OF = 5, + PSTORE_TYPE_PPC_COMMON = 6, + PSTORE_TYPE_PMSG = 7, + PSTORE_TYPE_PPC_OPAL = 8, + PSTORE_TYPE_MAX = 9, +}; + +enum pt_capabilities { + PT_CAP_max_subleaf = 0, + PT_CAP_cr3_filtering = 1, + PT_CAP_psb_cyc = 2, + PT_CAP_ip_filtering = 3, + PT_CAP_mtc = 4, + PT_CAP_ptwrite = 5, + PT_CAP_power_event_trace = 6, + PT_CAP_event_trace = 7, + PT_CAP_tnt_disable = 8, + PT_CAP_topa_output = 9, + PT_CAP_topa_multiple_entries = 10, + PT_CAP_single_range_output = 11, + PT_CAP_output_subsys = 12, + PT_CAP_payloads_lip = 13, + PT_CAP_num_address_ranges = 14, + PT_CAP_mtc_periods = 15, + PT_CAP_cycle_thresholds = 16, + PT_CAP_psb_periods = 17, +}; + +enum pt_level { + PT_PGD = 0, + PT_P4D = 1, + PT_PUD = 2, + PT_PMD = 3, + PT_PTE = 4, +}; + +enum pti_clone_level { + PTI_CLONE_PMD = 0, + PTI_CLONE_PTE = 1, +}; + +enum pti_mode { + PTI_AUTO = 0, + PTI_FORCE_OFF = 1, + PTI_FORCE_ON = 2, +}; + +enum ptp_clock_events { + PTP_CLOCK_ALARM = 0, + PTP_CLOCK_EXTTS = 1, + PTP_CLOCK_EXTOFF = 2, + PTP_CLOCK_PPS = 3, + PTP_CLOCK_PPSUSR = 4, +}; + +enum ptp_pin_function { + PTP_PF_NONE = 0, + PTP_PF_EXTTS = 1, + PTP_PF_PEROUT = 2, + PTP_PF_PHYSYNC = 3, +}; + +enum pubkey_algo { + PUBKEY_ALGO_RSA = 0, + PUBKEY_ALGO_MAX = 1, +}; + +enum pwm_polarity { + PWM_POLARITY_NORMAL = 0, + PWM_POLARITY_INVERSED = 1, +}; + +enum pxa_ssp_type { + SSP_UNDEFINED = 0, + PXA25x_SSP = 1, + PXA25x_NSSP = 2, + PXA27x_SSP = 3, + PXA3xx_SSP = 4, + PXA168_SSP = 5, + PXA910_SSP = 6, + CE4100_SSP = 7, + MMP2_SSP = 8, + MRFLD_SSP = 9, + QUARK_X1000_SSP = 10, + LPSS_LPT_SSP = 11, + LPSS_BYT_SSP = 12, + LPSS_BSW_SSP = 13, + LPSS_SPT_SSP = 14, + LPSS_BXT_SSP = 15, + LPSS_CNL_SSP = 16, + SSP_MAX = 17, +}; + +enum qdisc_class_ops_flags { + QDISC_CLASS_OPS_DOIT_UNLOCKED = 1, +}; + +enum qdisc_ops_kf_flags { + QDISC_OPS_KF_COMMON = 0, + QDISC_OPS_KF_ENQUEUE = 1, + QDISC_OPS_KF_DEQUEUE = 2, +}; + +enum qdisc_state2_t { + __QDISC_STATE2_RUNNING = 0, +}; + +enum qdisc_state_t { + __QDISC_STATE_SCHED = 0, + __QDISC_STATE_DEACTIVATED = 1, + __QDISC_STATE_MISSED = 2, + __QDISC_STATE_DRAINING = 3, +}; + +enum quota_type { + USRQUOTA = 0, + GRPQUOTA = 1, + PRJQUOTA = 2, +}; + +enum ramfs_param { + Opt_mode___5 = 0, +}; + +enum rdma_ah_attr_type { + RDMA_AH_ATTR_TYPE_UNDEFINED = 0, + RDMA_AH_ATTR_TYPE_IB = 1, + RDMA_AH_ATTR_TYPE_ROCE = 2, + RDMA_AH_ATTR_TYPE_OPA = 3, +}; + +enum rdma_driver_id { + RDMA_DRIVER_UNKNOWN = 0, + RDMA_DRIVER_MLX5 = 1, + RDMA_DRIVER_MLX4 = 2, + RDMA_DRIVER_CXGB3 = 3, + RDMA_DRIVER_CXGB4 = 4, + RDMA_DRIVER_MTHCA = 5, + RDMA_DRIVER_BNXT_RE = 6, + RDMA_DRIVER_OCRDMA = 7, + RDMA_DRIVER_NES = 8, + RDMA_DRIVER_I40IW = 9, + RDMA_DRIVER_IRDMA = 9, + RDMA_DRIVER_VMW_PVRDMA = 10, + RDMA_DRIVER_QEDR = 11, + RDMA_DRIVER_HNS = 12, + RDMA_DRIVER_USNIC = 13, + RDMA_DRIVER_RXE = 14, + RDMA_DRIVER_HFI1 = 15, + RDMA_DRIVER_QIB = 16, + RDMA_DRIVER_EFA = 17, + RDMA_DRIVER_SIW = 18, + RDMA_DRIVER_ERDMA = 19, + RDMA_DRIVER_MANA = 20, +}; + +enum rdma_link_layer { + IB_LINK_LAYER_UNSPECIFIED = 0, + IB_LINK_LAYER_INFINIBAND = 1, + IB_LINK_LAYER_ETHERNET = 2, +}; + +enum rdma_netdev_t { + RDMA_NETDEV_OPA_VNIC = 0, + RDMA_NETDEV_IPOIB = 1, +}; + +enum rdma_nl_counter_mask { + RDMA_COUNTER_MASK_QP_TYPE = 1, + RDMA_COUNTER_MASK_PID = 2, +}; + +enum rdma_nl_counter_mode { + RDMA_COUNTER_MODE_NONE = 0, + RDMA_COUNTER_MODE_AUTO = 1, + RDMA_COUNTER_MODE_MANUAL = 2, + RDMA_COUNTER_MODE_MAX = 3, +}; + +enum rdma_nl_dev_type { + RDMA_DEVICE_TYPE_SMI = 1, +}; + +enum rdma_nl_name_assign_type { + RDMA_NAME_ASSIGN_TYPE_UNKNOWN = 0, + RDMA_NAME_ASSIGN_TYPE_USER = 1, +}; + +enum rdma_restrack_type { + RDMA_RESTRACK_PD = 0, + RDMA_RESTRACK_CQ = 1, + RDMA_RESTRACK_QP = 2, + RDMA_RESTRACK_CM_ID = 3, + RDMA_RESTRACK_MR = 4, + RDMA_RESTRACK_CTX = 5, + RDMA_RESTRACK_COUNTER = 6, + RDMA_RESTRACK_SRQ = 7, + RDMA_RESTRACK_DMAH = 8, + RDMA_RESTRACK_MAX = 9, +}; + +enum rdmacg_file_type { + RDMACG_RESOURCE_TYPE_MAX = 0, + RDMACG_RESOURCE_TYPE_STAT = 1, +}; + +enum rdmacg_resource_type { + RDMACG_RESOURCE_HCA_HANDLE = 0, + RDMACG_RESOURCE_HCA_OBJECT = 1, + RDMACG_RESOURCE_MAX = 2, +}; + +enum rdt_group_type { + RDTCTRL_GROUP = 0, + RDTMON_GROUP = 1, + RDT_NUM_GROUP = 2, +}; + +enum rdt_param { + Opt_cdp = 0, + Opt_cdpl2 = 1, + Opt_mba_mbps = 2, + Opt_debug___3 = 3, + nr__rdt_params = 4, +}; + +enum rdtgrp_mode { + RDT_MODE_SHAREABLE = 0, + RDT_MODE_EXCLUSIVE = 1, + RDT_MODE_PSEUDO_LOCKSETUP = 2, + RDT_MODE_PSEUDO_LOCKED = 3, + RDT_NUM_MODES = 4, +}; + +enum reason_type { + NOT_ME = 0, + NOTHING = 1, + REG_READ = 2, + REG_WRITE = 3, + IMM_WRITE = 4, + OTHERS = 5, +}; + +enum reboot_mode { + REBOOT_UNDEFINED = -1, + REBOOT_COLD = 0, + REBOOT_WARM = 1, + REBOOT_HARD = 2, + REBOOT_SOFT = 3, + REBOOT_GPIO = 4, +}; + +enum reboot_type { + BOOT_TRIPLE = 116, + BOOT_KBD = 107, + BOOT_BIOS = 98, + BOOT_ACPI = 97, + BOOT_EFI = 101, + BOOT_CF9_FORCE = 112, + BOOT_CF9_SAFE = 113, +}; + +enum recovery_flags { + MD_RECOVERY_NEEDED = 0, + MD_RECOVERY_RUNNING = 1, + MD_RECOVERY_INTR = 2, + MD_RECOVERY_DONE = 3, + MD_RECOVERY_FROZEN = 4, + MD_RECOVERY_WAIT = 5, + MD_RECOVERY_ERROR = 6, + MD_RECOVERY_SYNC = 7, + MD_RECOVERY_REQUESTED = 8, + MD_RECOVERY_CHECK = 9, + MD_RECOVERY_RECOVER = 10, + MD_RECOVERY_RESHAPE = 11, + MD_RESYNCING_REMOTE = 12, +}; + +enum ref_state_type { + REF_TYPE_PTR = 2, + REF_TYPE_IRQ = 4, + REF_TYPE_LOCK = 8, + REF_TYPE_RES_LOCK = 16, + REF_TYPE_RES_LOCK_IRQ = 32, + REF_TYPE_LOCK_MASK = 56, +}; + +enum refcount_saturation_type { + REFCOUNT_ADD_NOT_ZERO_OVF = 0, + REFCOUNT_ADD_OVF = 1, + REFCOUNT_ADD_UAF = 2, + REFCOUNT_SUB_UAF = 3, + REFCOUNT_DEC_LEAK = 4, +}; + +enum reftype { + REF_NS = 0, + REF_PROXY = 1, + REF_RAWDATA = 2, +}; + +enum reg_arg_type { + SRC_OP = 0, + DST_OP = 1, + DST_OP_NO_MARK = 2, +}; + +enum reg_type { + REG_TYPE_RM = 0, + REG_TYPE_REG = 1, + REG_TYPE_INDEX = 2, + REG_TYPE_BASE = 3, +}; + +enum regcache_type { + REGCACHE_NONE = 0, + REGCACHE_RBTREE = 1, + REGCACHE_FLAT = 2, + REGCACHE_MAPLE = 3, +}; + +enum regex_type { + MATCH_FULL = 0, + MATCH_FRONT_ONLY = 1, + MATCH_MIDDLE_ONLY = 2, + MATCH_END_ONLY = 3, + MATCH_GLOB = 4, + MATCH_INDEX = 5, +}; + +enum regmap_endian { + REGMAP_ENDIAN_DEFAULT = 0, + REGMAP_ENDIAN_BIG = 1, + REGMAP_ENDIAN_LITTLE = 2, + REGMAP_ENDIAN_NATIVE = 3, +}; + +enum regnames { + GDB_AX = 0, + GDB_BX = 1, + GDB_CX = 2, + GDB_DX = 3, + GDB_SI = 4, + GDB_DI = 5, + GDB_BP = 6, + GDB_SP = 7, + GDB_R8 = 8, + GDB_R9 = 9, + GDB_R10 = 10, + GDB_R11 = 11, + GDB_R12 = 12, + GDB_R13 = 13, + GDB_R14 = 14, + GDB_R15 = 15, + GDB_PC = 16, + GDB_PS = 17, + GDB_CS = 18, + GDB_SS = 19, + GDB_DS = 20, + GDB_ES = 21, + GDB_FS = 22, + GDB_GS = 23, +}; + +enum regulator_active_discharge { + REGULATOR_ACTIVE_DISCHARGE_DEFAULT = 0, + REGULATOR_ACTIVE_DISCHARGE_DISABLE = 1, + REGULATOR_ACTIVE_DISCHARGE_ENABLE = 2, +}; + +enum regulator_detection_severity { + REGULATOR_SEVERITY_PROT = 0, + REGULATOR_SEVERITY_ERR = 1, + REGULATOR_SEVERITY_WARN = 2, +}; + +enum regulator_get_type { + NORMAL_GET = 0, + EXCLUSIVE_GET = 1, + OPTIONAL_GET = 2, + MAX_GET_TYPE = 3, +}; + +enum regulator_status { + REGULATOR_STATUS_OFF = 0, + REGULATOR_STATUS_ON = 1, + REGULATOR_STATUS_ERROR = 2, + REGULATOR_STATUS_FAST = 3, + REGULATOR_STATUS_NORMAL = 4, + REGULATOR_STATUS_IDLE = 5, + REGULATOR_STATUS_STANDBY = 6, + REGULATOR_STATUS_BYPASS = 7, + REGULATOR_STATUS_UNDEFINED = 8, +}; + +enum regulator_type { + REGULATOR_VOLTAGE = 0, + REGULATOR_CURRENT = 1, +}; + +enum release_type { + leaf_only = 0, + whole_subtree = 1, +}; + +enum req_flag_bits { + __REQ_FAILFAST_DEV = 8, + __REQ_FAILFAST_TRANSPORT = 9, + __REQ_FAILFAST_DRIVER = 10, + __REQ_SYNC = 11, + __REQ_META = 12, + __REQ_PRIO = 13, + __REQ_NOMERGE = 14, + __REQ_IDLE = 15, + __REQ_INTEGRITY = 16, + __REQ_FUA = 17, + __REQ_PREFLUSH = 18, + __REQ_RAHEAD = 19, + __REQ_BACKGROUND = 20, + __REQ_NOWAIT = 21, + __REQ_POLLED = 22, + __REQ_ALLOC_CACHE = 23, + __REQ_SWAP = 24, + __REQ_DRV = 25, + __REQ_FS_PRIVATE = 26, + __REQ_ATOMIC = 27, + __REQ_P2PDMA = 28, + __REQ_NOUNMAP = 29, + __REQ_NR_BITS = 30, +}; + +enum req_op { + REQ_OP_READ = 0, + REQ_OP_WRITE = 1, + REQ_OP_FLUSH = 2, + REQ_OP_DISCARD = 3, + REQ_OP_SECURE_ERASE = 5, + REQ_OP_ZONE_APPEND = 7, + REQ_OP_WRITE_ZEROES = 9, + REQ_OP_ZONE_OPEN = 11, + REQ_OP_ZONE_CLOSE = 13, + REQ_OP_ZONE_FINISH = 15, + REQ_OP_ZONE_RESET = 17, + REQ_OP_ZONE_RESET_ALL = 19, + REQ_OP_DRV_IN = 34, + REQ_OP_DRV_OUT = 35, + REQ_OP_LAST = 36, +}; + +enum res_type { + _MEM = 0, + _MEMSWAP = 1, + _KMEM = 2, + _TCP = 3, +}; + +enum resctrl_conf_type { + CDP_NONE = 0, + CDP_CODE = 1, + CDP_DATA = 2, +}; + +enum resctrl_domain_type { + RESCTRL_CTRL_DOMAIN = 0, + RESCTRL_MON_DOMAIN = 1, +}; + +enum resctrl_event_id { + QOS_L3_OCCUP_EVENT_ID = 1, + QOS_L3_MBM_TOTAL_EVENT_ID = 2, + QOS_L3_MBM_LOCAL_EVENT_ID = 3, + QOS_NUM_EVENTS = 4, +}; + +enum resctrl_res_level { + RDT_RESOURCE_L3 = 0, + RDT_RESOURCE_L2 = 1, + RDT_RESOURCE_MBA = 2, + RDT_RESOURCE_SMBA = 3, + RDT_NUM_RESOURCES = 4, +}; + +enum resctrl_schema_fmt { + RESCTRL_SCHEMA_BITMAP = 0, + RESCTRL_SCHEMA_RANGE = 1, +}; + +enum resctrl_scope { + RESCTRL_L2_CACHE = 2, + RESCTRL_L3_CACHE = 3, + RESCTRL_L3_NODE = 4, +}; + +enum reset_control_flags { + RESET_CONTROL_EXCLUSIVE = 4, + RESET_CONTROL_EXCLUSIVE_DEASSERTED = 12, + RESET_CONTROL_EXCLUSIVE_RELEASED = 0, + RESET_CONTROL_SHARED = 1, + RESET_CONTROL_SHARED_DEASSERTED = 9, + RESET_CONTROL_OPTIONAL_EXCLUSIVE = 6, + RESET_CONTROL_OPTIONAL_EXCLUSIVE_DEASSERTED = 14, + RESET_CONTROL_OPTIONAL_EXCLUSIVE_RELEASED = 2, + RESET_CONTROL_OPTIONAL_SHARED = 3, + RESET_CONTROL_OPTIONAL_SHARED_DEASSERTED = 11, +}; + +enum resolve_mode { + RESOLVE_TBD = 0, + RESOLVE_PTR = 1, + RESOLVE_STRUCT_OR_ARRAY = 2, +}; + +enum retbleed_mitigation { + RETBLEED_MITIGATION_NONE = 0, + RETBLEED_MITIGATION_AUTO = 1, + RETBLEED_MITIGATION_UNRET = 2, + RETBLEED_MITIGATION_IBPB = 3, + RETBLEED_MITIGATION_IBRS = 4, + RETBLEED_MITIGATION_EIBRS = 5, + RETBLEED_MITIGATION_STUFF = 6, +}; + +enum rfds_mitigations { + RFDS_MITIGATION_OFF = 0, + RFDS_MITIGATION_AUTO = 1, + RFDS_MITIGATION_VERW = 2, + RFDS_MITIGATION_UCODE_NEEDED = 3, +}; + +enum rfkill_hard_block_reasons { + RFKILL_HARD_BLOCK_SIGNAL = 1, + RFKILL_HARD_BLOCK_NOT_OWNER = 2, +}; + +enum rfkill_input_master_mode { + RFKILL_INPUT_MASTER_UNLOCK = 0, + RFKILL_INPUT_MASTER_RESTORE = 1, + RFKILL_INPUT_MASTER_UNBLOCKALL = 2, + NUM_RFKILL_INPUT_MASTER_MODES = 3, +}; + +enum rfkill_operation { + RFKILL_OP_ADD = 0, + RFKILL_OP_DEL = 1, + RFKILL_OP_CHANGE = 2, + RFKILL_OP_CHANGE_ALL = 3, +}; + +enum rfkill_sched_op { + RFKILL_GLOBAL_OP_EPO = 0, + RFKILL_GLOBAL_OP_RESTORE = 1, + RFKILL_GLOBAL_OP_UNLOCK = 2, + RFKILL_GLOBAL_OP_UNBLOCK = 3, +}; + +enum rfkill_type { + RFKILL_TYPE_ALL = 0, + RFKILL_TYPE_WLAN = 1, + RFKILL_TYPE_BLUETOOTH = 2, + RFKILL_TYPE_UWB = 3, + RFKILL_TYPE_WIMAX = 4, + RFKILL_TYPE_WWAN = 5, + RFKILL_TYPE_GPS = 6, + RFKILL_TYPE_FM = 7, + RFKILL_TYPE_NFC = 8, + NUM_RFKILL_TYPES = 9, +}; + +enum rfkill_user_states { + RFKILL_USER_STATE_SOFT_BLOCKED = 0, + RFKILL_USER_STATE_UNBLOCKED = 1, + RFKILL_USER_STATE_HARD_BLOCKED = 2, +}; + +enum ring_buffer_flags { + RB_FL_OVERWRITE = 1, +}; + +enum ring_buffer_type { + RINGBUF_TYPE_DATA_TYPE_LEN_MAX = 28, + RINGBUF_TYPE_PADDING = 29, + RINGBUF_TYPE_TIME_EXTEND = 30, + RINGBUF_TYPE_TIME_STAMP = 31, +}; + +enum rio_device_state { + RIO_DEVICE_INITIALIZING = 0, + RIO_DEVICE_RUNNING = 1, + RIO_DEVICE_GONE = 2, + RIO_DEVICE_SHUTDOWN = 3, +}; + +enum rio_write_type { + RDW_DEFAULT = 0, + RDW_ALL_NWRITE = 1, + RDW_ALL_NWRITE_R = 2, + RDW_LAST_NWRITE_R = 3, +}; + +enum rlimit_type { + UCOUNT_RLIMIT_NPROC = 0, + UCOUNT_RLIMIT_MSGQUEUE = 1, + UCOUNT_RLIMIT_SIGPENDING = 2, + UCOUNT_RLIMIT_MEMLOCK = 3, + UCOUNT_RLIMIT_COUNTS = 4, +}; + +enum rmap_level { + RMAP_LEVEL_PTE = 0, + RMAP_LEVEL_PMD = 1, + RMAP_LEVEL_PUD = 2, +}; + +enum rmp_flags { + RMP_LOCKED = 1, + RMP_USE_SHARED_ZEROPAGE = 2, +}; + +enum rmqueue_mode { + RMQUEUE_NORMAL = 0, + RMQUEUE_CMA = 1, + RMQUEUE_CLAIM = 2, + RMQUEUE_STEAL = 3, +}; + +enum rp_check { + RP_CHECK_CALL = 0, + RP_CHECK_CHAIN_CALL = 1, + RP_CHECK_RET = 2, +}; + +enum rpm_request { + RPM_REQ_NONE = 0, + RPM_REQ_IDLE = 1, + RPM_REQ_SUSPEND = 2, + RPM_REQ_AUTOSUSPEND = 3, + RPM_REQ_RESUME = 4, +}; + +enum rpm_status { + RPM_INVALID = -1, + RPM_ACTIVE = 0, + RPM_RESUMING = 1, + RPM_SUSPENDED = 2, + RPM_SUSPENDING = 3, + RPM_BLOCKED = 4, +}; + +enum rproc_crash_type { + RPROC_MMUFAULT = 0, + RPROC_WATCHDOG = 1, + RPROC_FATAL_ERROR = 2, +}; + +enum rproc_dump_mechanism { + RPROC_COREDUMP_DISABLED = 0, + RPROC_COREDUMP_ENABLED = 1, + RPROC_COREDUMP_INLINE = 2, +}; + +enum rproc_features { + RPROC_FEAT_ATTACH_ON_RECOVERY = 0, + RPROC_MAX_FEATURES = 1, +}; + +enum rproc_state { + RPROC_OFFLINE = 0, + RPROC_SUSPENDED = 1, + RPROC_RUNNING = 2, + RPROC_CRASHED = 3, + RPROC_DELETED = 4, + RPROC_ATTACHED = 5, + RPROC_DETACHED = 6, + RPROC_LAST = 7, +}; + +enum rq_end_io_ret { + RQ_END_IO_NONE = 0, + RQ_END_IO_FREE = 1, +}; + +enum rq_qos_id { + RQ_QOS_WBT = 0, + RQ_QOS_LATENCY = 1, + RQ_QOS_COST = 2, +}; + +enum rqf_flags { + __RQF_STARTED = 0, + __RQF_FLUSH_SEQ = 1, + __RQF_MIXED_MERGE = 2, + __RQF_DONTPREP = 3, + __RQF_SCHED_TAGS = 4, + __RQF_USE_SCHED = 5, + __RQF_FAILED = 6, + __RQF_QUIET = 7, + __RQF_IO_STAT = 8, + __RQF_PM = 9, + __RQF_HASHED = 10, + __RQF_STATS = 11, + __RQF_SPECIAL_PAYLOAD = 12, + __RQF_ZONE_WRITE_PLUGGING = 13, + __RQF_TIMED_OUT = 14, + __RQF_RESV = 15, + __RQF_BITS = 16, +}; + +enum rsaprivkey_actions { + ACT_rsa_get_d = 0, + ACT_rsa_get_dp = 1, + ACT_rsa_get_dq = 2, + ACT_rsa_get_e = 3, + ACT_rsa_get_n = 4, + ACT_rsa_get_p = 5, + ACT_rsa_get_q = 6, + ACT_rsa_get_qinv = 7, + NR__rsaprivkey_actions = 8, +}; + +enum rsapubkey_actions { + ACT_rsa_get_e___2 = 0, + ACT_rsa_get_n___2 = 1, + NR__rsapubkey_actions = 2, +}; + +enum rsc_handling_status { + RSC_HANDLED = 0, + RSC_IGNORED = 1, +}; + +enum rseq_cpu_id_state { + RSEQ_CPU_ID_UNINITIALIZED = -1, + RSEQ_CPU_ID_REGISTRATION_FAILED = -2, +}; + +enum rseq_cs_flags { + RSEQ_CS_FLAG_NO_RESTART_ON_PREEMPT = 1, + RSEQ_CS_FLAG_NO_RESTART_ON_SIGNAL = 2, + RSEQ_CS_FLAG_NO_RESTART_ON_MIGRATE = 4, +}; + +enum rseq_cs_flags_bit { + RSEQ_CS_FLAG_NO_RESTART_ON_PREEMPT_BIT = 0, + RSEQ_CS_FLAG_NO_RESTART_ON_SIGNAL_BIT = 1, + RSEQ_CS_FLAG_NO_RESTART_ON_MIGRATE_BIT = 2, +}; + +enum rseq_event_mask_bits { + RSEQ_EVENT_PREEMPT_BIT = 0, + RSEQ_EVENT_SIGNAL_BIT = 1, + RSEQ_EVENT_MIGRATE_BIT = 2, +}; + +enum rseq_flags { + RSEQ_FLAG_UNREGISTER = 1, +}; + +enum rt6_nud_state { + RT6_NUD_FAIL_HARD = -3, + RT6_NUD_FAIL_PROBE = -2, + RT6_NUD_FAIL_DO_RR = -1, + RT6_NUD_SUCCEED = 1, +}; + +enum rt_class_t { + RT_TABLE_UNSPEC = 0, + RT_TABLE_COMPAT = 252, + RT_TABLE_DEFAULT = 253, + RT_TABLE_MAIN = 254, + RT_TABLE_LOCAL = 255, + RT_TABLE_MAX = 4294967295, +}; + +enum rt_scope_t { + RT_SCOPE_UNIVERSE = 0, + RT_SCOPE_SITE = 200, + RT_SCOPE_LINK = 253, + RT_SCOPE_HOST = 254, + RT_SCOPE_NOWHERE = 255, +}; + +enum rtattr_type_t { + RTA_UNSPEC = 0, + RTA_DST = 1, + RTA_SRC = 2, + RTA_IIF = 3, + RTA_OIF = 4, + RTA_GATEWAY = 5, + RTA_PRIORITY = 6, + RTA_PREFSRC = 7, + RTA_METRICS = 8, + RTA_MULTIPATH = 9, + RTA_PROTOINFO = 10, + RTA_FLOW = 11, + RTA_CACHEINFO = 12, + RTA_SESSION = 13, + RTA_MP_ALGO = 14, + RTA_TABLE = 15, + RTA_MARK = 16, + RTA_MFC_STATS = 17, + RTA_VIA = 18, + RTA_NEWDST = 19, + RTA_PREF = 20, + RTA_ENCAP_TYPE = 21, + RTA_ENCAP = 22, + RTA_EXPIRES = 23, + RTA_PAD = 24, + RTA_UID = 25, + RTA_TTL_PROPAGATE = 26, + RTA_IP_PROTO = 27, + RTA_SPORT = 28, + RTA_DPORT = 29, + RTA_NH_ID = 30, + RTA_FLOWLABEL = 31, + __RTA_MAX = 32, +}; + +enum rtmutex_chainwalk { + RT_MUTEX_MIN_CHAINWALK = 0, + RT_MUTEX_FULL_CHAINWALK = 1, +}; + +enum rtnetlink_groups { + RTNLGRP_NONE = 0, + RTNLGRP_LINK = 1, + RTNLGRP_NOTIFY = 2, + RTNLGRP_NEIGH = 3, + RTNLGRP_TC = 4, + RTNLGRP_IPV4_IFADDR = 5, + RTNLGRP_IPV4_MROUTE = 6, + RTNLGRP_IPV4_ROUTE = 7, + RTNLGRP_IPV4_RULE = 8, + RTNLGRP_IPV6_IFADDR = 9, + RTNLGRP_IPV6_MROUTE = 10, + RTNLGRP_IPV6_ROUTE = 11, + RTNLGRP_IPV6_IFINFO = 12, + RTNLGRP_DECnet_IFADDR = 13, + RTNLGRP_NOP2 = 14, + RTNLGRP_DECnet_ROUTE = 15, + RTNLGRP_DECnet_RULE = 16, + RTNLGRP_NOP4 = 17, + RTNLGRP_IPV6_PREFIX = 18, + RTNLGRP_IPV6_RULE = 19, + RTNLGRP_ND_USEROPT = 20, + RTNLGRP_PHONET_IFADDR = 21, + RTNLGRP_PHONET_ROUTE = 22, + RTNLGRP_DCB = 23, + RTNLGRP_IPV4_NETCONF = 24, + RTNLGRP_IPV6_NETCONF = 25, + RTNLGRP_MDB = 26, + RTNLGRP_MPLS_ROUTE = 27, + RTNLGRP_NSID = 28, + RTNLGRP_MPLS_NETCONF = 29, + RTNLGRP_IPV4_MROUTE_R = 30, + RTNLGRP_IPV6_MROUTE_R = 31, + RTNLGRP_NEXTHOP = 32, + RTNLGRP_BRVLAN = 33, + RTNLGRP_MCTP_IFADDR = 34, + RTNLGRP_TUNNEL = 35, + RTNLGRP_STATS = 36, + RTNLGRP_IPV4_MCADDR = 37, + RTNLGRP_IPV6_MCADDR = 38, + RTNLGRP_IPV6_ACADDR = 39, + __RTNLGRP_MAX = 40, +}; + +enum rtnl_kinds { + RTNL_KIND_NEW = 0, + RTNL_KIND_DEL = 1, + RTNL_KIND_GET = 2, + RTNL_KIND_SET = 3, +}; + +enum rtnl_link_flags { + RTNL_FLAG_DOIT_UNLOCKED = 1, + RTNL_FLAG_BULK_DEL_SUPPORTED = 2, + RTNL_FLAG_DUMP_UNLOCKED = 4, + RTNL_FLAG_DUMP_SPLIT_NLM_DONE = 8, +}; + +enum rw_hint { + WRITE_LIFE_NOT_SET = 0, + WRITE_LIFE_NONE = 1, + WRITE_LIFE_SHORT = 2, + WRITE_LIFE_MEDIUM = 3, + WRITE_LIFE_LONG = 4, + WRITE_LIFE_EXTREME = 5, +} __attribute__((mode(byte))); + +enum rwsem_waiter_type { + RWSEM_WAITING_FOR_WRITE = 0, + RWSEM_WAITING_FOR_READ = 1, +}; + +enum rwsem_wake_type { + RWSEM_WAKE_ANY = 0, + RWSEM_WAKE_READERS = 1, + RWSEM_WAKE_READ_OWNED = 2, +}; + +enum rx_handler_result { + RX_HANDLER_CONSUMED = 0, + RX_HANDLER_ANOTHER = 1, + RX_HANDLER_EXACT = 2, + RX_HANDLER_PASS = 3, +}; + +typedef enum rx_handler_result rx_handler_result_t; + +enum s2idle_states { + S2IDLE_STATE_NONE = 0, + S2IDLE_STATE_ENTER = 1, + S2IDLE_STATE_WAKE = 2, +}; + +enum s_alloc { + sa_rootdomain = 0, + sa_sd = 1, + sa_sd_storage = 2, + sa_none = 3, +}; + +enum sam_status { + SAM_STAT_GOOD = 0, + SAM_STAT_CHECK_CONDITION = 2, + SAM_STAT_CONDITION_MET = 4, + SAM_STAT_BUSY = 8, + SAM_STAT_INTERMEDIATE = 16, + SAM_STAT_INTERMEDIATE_CONDITION_MET = 20, + SAM_STAT_RESERVATION_CONFLICT = 24, + SAM_STAT_COMMAND_TERMINATED = 34, + SAM_STAT_TASK_SET_FULL = 40, + SAM_STAT_ACA_ACTIVE = 48, + SAM_STAT_TASK_ABORTED = 64, +}; + +enum scan_balance { + SCAN_EQUAL = 0, + SCAN_FRACT = 1, + SCAN_ANON = 2, + SCAN_FILE = 3, +}; + +enum scan_result { + SCAN_FAIL = 0, + SCAN_SUCCEED = 1, + SCAN_PMD_NULL = 2, + SCAN_PMD_NONE = 3, + SCAN_PMD_MAPPED = 4, + SCAN_EXCEED_NONE_PTE = 5, + SCAN_EXCEED_SWAP_PTE = 6, + SCAN_EXCEED_SHARED_PTE = 7, + SCAN_PTE_NON_PRESENT = 8, + SCAN_PTE_UFFD_WP = 9, + SCAN_PTE_MAPPED_HUGEPAGE = 10, + SCAN_PAGE_RO = 11, + SCAN_LACK_REFERENCED_PAGE = 12, + SCAN_PAGE_NULL = 13, + SCAN_SCAN_ABORT = 14, + SCAN_PAGE_COUNT = 15, + SCAN_PAGE_LRU = 16, + SCAN_PAGE_LOCK = 17, + SCAN_PAGE_ANON = 18, + SCAN_PAGE_COMPOUND = 19, + SCAN_ANY_PROCESS = 20, + SCAN_VMA_NULL = 21, + SCAN_VMA_CHECK = 22, + SCAN_ADDRESS_RANGE = 23, + SCAN_DEL_PAGE_LRU = 24, + SCAN_ALLOC_HUGE_PAGE_FAIL = 25, + SCAN_CGROUP_CHARGE_FAIL = 26, + SCAN_TRUNCATED = 27, + SCAN_PAGE_HAS_PRIVATE = 28, + SCAN_STORE_FAILED = 29, + SCAN_COPY_MC = 30, + SCAN_PAGE_FILLED = 31, +}; + +enum sched_tunable_scaling { + SCHED_TUNABLESCALING_NONE = 0, + SCHED_TUNABLESCALING_LOG = 1, + SCHED_TUNABLESCALING_LINEAR = 2, + SCHED_TUNABLESCALING_END = 3, +}; + +enum scrub_type { + SCRUB_UNKNOWN = 0, + SCRUB_NONE = 1, + SCRUB_SW_PROG = 2, + SCRUB_SW_SRC = 3, + SCRUB_SW_PROG_SRC = 4, + SCRUB_SW_TUNABLE = 5, + SCRUB_HW_PROG = 6, + SCRUB_HW_SRC = 7, + SCRUB_HW_PROG_SRC = 8, + SCRUB_HW_TUNABLE = 9, +}; + +enum scsi_cmnd_submitter { + SUBMITTED_BY_BLOCK_LAYER = 0, + SUBMITTED_BY_SCSI_ERROR_HANDLER = 1, + SUBMITTED_BY_SCSI_RESET_IOCTL = 2, +} __attribute__((mode(byte))); + +enum scsi_device_event { + SDEV_EVT_MEDIA_CHANGE = 1, + SDEV_EVT_INQUIRY_CHANGE_REPORTED = 2, + SDEV_EVT_CAPACITY_CHANGE_REPORTED = 3, + SDEV_EVT_SOFT_THRESHOLD_REACHED_REPORTED = 4, + SDEV_EVT_MODE_PARAMETER_CHANGE_REPORTED = 5, + SDEV_EVT_LUN_CHANGE_REPORTED = 6, + SDEV_EVT_ALUA_STATE_CHANGE_REPORTED = 7, + SDEV_EVT_POWER_ON_RESET_OCCURRED = 8, + SDEV_EVT_FIRST = 1, + SDEV_EVT_LAST = 8, + SDEV_EVT_MAXBITS = 9, +}; + +enum scsi_device_state { + SDEV_CREATED = 1, + SDEV_RUNNING = 2, + SDEV_CANCEL = 3, + SDEV_DEL = 4, + SDEV_QUIESCE = 5, + SDEV_OFFLINE = 6, + SDEV_TRANSPORT_OFFLINE = 7, + SDEV_BLOCK = 8, + SDEV_CREATED_BLOCK = 9, +}; + +enum scsi_devinfo_key { + SCSI_DEVINFO_GLOBAL = 0, + SCSI_DEVINFO_SPI = 1, +}; + +enum scsi_disposition { + NEEDS_RETRY = 8193, + SUCCESS = 8194, + FAILED = 8195, + QUEUED = 8196, + SOFT_ERROR = 8197, + ADD_TO_MLQUEUE = 8198, + TIMEOUT_ERROR = 8199, + SCSI_RETURN_NOT_HANDLED = 8200, + FAST_IO_FAIL = 8201, +}; + +enum scsi_host_guard_type { + SHOST_DIX_GUARD_CRC = 1, + SHOST_DIX_GUARD_IP = 2, +}; + +enum scsi_host_prot_capabilities { + SHOST_DIF_TYPE1_PROTECTION = 1, + SHOST_DIF_TYPE2_PROTECTION = 2, + SHOST_DIF_TYPE3_PROTECTION = 4, + SHOST_DIX_TYPE0_PROTECTION = 8, + SHOST_DIX_TYPE1_PROTECTION = 16, + SHOST_DIX_TYPE2_PROTECTION = 32, + SHOST_DIX_TYPE3_PROTECTION = 64, +}; + +enum scsi_host_state { + SHOST_CREATED = 1, + SHOST_RUNNING = 2, + SHOST_CANCEL = 3, + SHOST_DEL = 4, + SHOST_RECOVERY = 5, + SHOST_CANCEL_RECOVERY = 6, + SHOST_DEL_RECOVERY = 7, +}; + +enum scsi_host_status { + DID_OK = 0, + DID_NO_CONNECT = 1, + DID_BUS_BUSY = 2, + DID_TIME_OUT = 3, + DID_BAD_TARGET = 4, + DID_ABORT = 5, + DID_PARITY = 6, + DID_ERROR = 7, + DID_RESET = 8, + DID_BAD_INTR = 9, + DID_PASSTHROUGH = 10, + DID_SOFT_ERROR = 11, + DID_IMM_RETRY = 12, + DID_REQUEUE = 13, + DID_TRANSPORT_DISRUPTED = 14, + DID_TRANSPORT_FAILFAST = 15, + DID_TRANSPORT_MARGINAL = 20, +}; + +enum scsi_ml_status { + SCSIML_STAT_OK = 0, + SCSIML_STAT_RESV_CONFLICT = 1, + SCSIML_STAT_NOSPC = 2, + SCSIML_STAT_MED_ERROR = 3, + SCSIML_STAT_TGT_FAILURE = 4, + SCSIML_STAT_DL_TIMEOUT = 5, +}; + +enum scsi_msg_byte { + COMMAND_COMPLETE = 0, + EXTENDED_MESSAGE = 1, + SAVE_POINTERS = 2, + RESTORE_POINTERS = 3, + DISCONNECT = 4, + INITIATOR_ERROR = 5, + ABORT_TASK_SET = 6, + MESSAGE_REJECT = 7, + NOP___2 = 8, + MSG_PARITY_ERROR = 9, + LINKED_CMD_COMPLETE = 10, + LINKED_FLG_CMD_COMPLETE = 11, + TARGET_RESET = 12, + ABORT_TASK = 13, + CLEAR_TASK_SET = 14, + INITIATE_RECOVERY = 15, + RELEASE_RECOVERY = 16, + TERMINATE_IO_PROC = 17, + CLEAR_ACA = 22, + LOGICAL_UNIT_RESET = 23, + SIMPLE_QUEUE_TAG = 32, + HEAD_OF_QUEUE_TAG = 33, + ORDERED_QUEUE_TAG = 34, + IGNORE_WIDE_RESIDUE = 35, + ACA = 36, + QAS_REQUEST = 85, + BUS_DEVICE_RESET = 12, + ABORT = 6, +}; + +enum scsi_pr_type { + SCSI_PR_WRITE_EXCLUSIVE = 1, + SCSI_PR_EXCLUSIVE_ACCESS = 3, + SCSI_PR_WRITE_EXCLUSIVE_REG_ONLY = 5, + SCSI_PR_EXCLUSIVE_ACCESS_REG_ONLY = 6, + SCSI_PR_WRITE_EXCLUSIVE_ALL_REGS = 7, + SCSI_PR_EXCLUSIVE_ACCESS_ALL_REGS = 8, +}; + +enum scsi_prot_flags { + SCSI_PROT_TRANSFER_PI = 1, + SCSI_PROT_GUARD_CHECK = 2, + SCSI_PROT_REF_CHECK = 4, + SCSI_PROT_REF_INCREMENT = 8, + SCSI_PROT_IP_CHECKSUM = 16, +}; + +enum scsi_prot_operations { + SCSI_PROT_NORMAL = 0, + SCSI_PROT_READ_INSERT = 1, + SCSI_PROT_WRITE_STRIP = 2, + SCSI_PROT_READ_STRIP = 3, + SCSI_PROT_WRITE_INSERT = 4, + SCSI_PROT_READ_PASS = 5, + SCSI_PROT_WRITE_PASS = 6, +}; + +enum scsi_scan_mode { + SCSI_SCAN_INITIAL = 0, + SCSI_SCAN_RESCAN = 1, + SCSI_SCAN_MANUAL = 2, +}; + +enum scsi_target_state { + STARGET_CREATED = 1, + STARGET_RUNNING = 2, + STARGET_REMOVE = 3, + STARGET_CREATED_REMOVE = 4, + STARGET_DEL = 5, +}; + +enum scsi_timeout_action { + SCSI_EH_DONE = 0, + SCSI_EH_RESET_TIMER = 1, + SCSI_EH_NOT_HANDLED = 2, +}; + +enum scsi_timeouts { + SCSI_DEFAULT_EH_TIMEOUT = 10000, +}; + +enum scsi_vpd_parameters { + SCSI_VPD_HEADER_SIZE = 4, + SCSI_VPD_LIST_SIZE = 36, +}; + +enum sctp_cid { + SCTP_CID_DATA = 0, + SCTP_CID_INIT = 1, + SCTP_CID_INIT_ACK = 2, + SCTP_CID_SACK = 3, + SCTP_CID_HEARTBEAT = 4, + SCTP_CID_HEARTBEAT_ACK = 5, + SCTP_CID_ABORT = 6, + SCTP_CID_SHUTDOWN = 7, + SCTP_CID_SHUTDOWN_ACK = 8, + SCTP_CID_ERROR = 9, + SCTP_CID_COOKIE_ECHO = 10, + SCTP_CID_COOKIE_ACK = 11, + SCTP_CID_ECN_ECNE = 12, + SCTP_CID_ECN_CWR = 13, + SCTP_CID_SHUTDOWN_COMPLETE = 14, + SCTP_CID_AUTH = 15, + SCTP_CID_I_DATA = 64, + SCTP_CID_FWD_TSN = 192, + SCTP_CID_ASCONF = 193, + SCTP_CID_I_FWD_TSN = 194, + SCTP_CID_ASCONF_ACK = 128, + SCTP_CID_RECONF = 130, + SCTP_CID_PAD = 132, +}; + +enum sctp_conntrack { + SCTP_CONNTRACK_NONE = 0, + SCTP_CONNTRACK_CLOSED = 1, + SCTP_CONNTRACK_COOKIE_WAIT = 2, + SCTP_CONNTRACK_COOKIE_ECHOED = 3, + SCTP_CONNTRACK_ESTABLISHED = 4, + SCTP_CONNTRACK_SHUTDOWN_SENT = 5, + SCTP_CONNTRACK_SHUTDOWN_RECD = 6, + SCTP_CONNTRACK_SHUTDOWN_ACK_SENT = 7, + SCTP_CONNTRACK_HEARTBEAT_SENT = 8, + SCTP_CONNTRACK_HEARTBEAT_ACKED = 9, + SCTP_CONNTRACK_MAX = 10, +}; + +enum sctp_endpoint_type { + SCTP_EP_TYPE_SOCKET = 0, + SCTP_EP_TYPE_ASSOCIATION = 1, +}; + +enum sctp_event_timeout { + SCTP_EVENT_TIMEOUT_NONE = 0, + SCTP_EVENT_TIMEOUT_T1_COOKIE = 1, + SCTP_EVENT_TIMEOUT_T1_INIT = 2, + SCTP_EVENT_TIMEOUT_T2_SHUTDOWN = 3, + SCTP_EVENT_TIMEOUT_T3_RTX = 4, + SCTP_EVENT_TIMEOUT_T4_RTO = 5, + SCTP_EVENT_TIMEOUT_T5_SHUTDOWN_GUARD = 6, + SCTP_EVENT_TIMEOUT_HEARTBEAT = 7, + SCTP_EVENT_TIMEOUT_RECONF = 8, + SCTP_EVENT_TIMEOUT_PROBE = 9, + SCTP_EVENT_TIMEOUT_SACK = 10, + SCTP_EVENT_TIMEOUT_AUTOCLOSE = 11, +}; + +enum sctp_msg_flags { + MSG_NOTIFICATION = 32768, +}; + +enum sctp_param { + SCTP_PARAM_HEARTBEAT_INFO = 256, + SCTP_PARAM_IPV4_ADDRESS = 1280, + SCTP_PARAM_IPV6_ADDRESS = 1536, + SCTP_PARAM_STATE_COOKIE = 1792, + SCTP_PARAM_UNRECOGNIZED_PARAMETERS = 2048, + SCTP_PARAM_COOKIE_PRESERVATIVE = 2304, + SCTP_PARAM_HOST_NAME_ADDRESS = 2816, + SCTP_PARAM_SUPPORTED_ADDRESS_TYPES = 3072, + SCTP_PARAM_ECN_CAPABLE = 128, + SCTP_PARAM_RANDOM = 640, + SCTP_PARAM_CHUNKS = 896, + SCTP_PARAM_HMAC_ALGO = 1152, + SCTP_PARAM_SUPPORTED_EXT = 2176, + SCTP_PARAM_FWD_TSN_SUPPORT = 192, + SCTP_PARAM_ADD_IP = 448, + SCTP_PARAM_DEL_IP = 704, + SCTP_PARAM_ERR_CAUSE = 960, + SCTP_PARAM_SET_PRIMARY = 1216, + SCTP_PARAM_SUCCESS_REPORT = 1472, + SCTP_PARAM_ADAPTATION_LAYER_IND = 1728, + SCTP_PARAM_RESET_OUT_REQUEST = 3328, + SCTP_PARAM_RESET_IN_REQUEST = 3584, + SCTP_PARAM_RESET_TSN_REQUEST = 3840, + SCTP_PARAM_RESET_RESPONSE = 4096, + SCTP_PARAM_RESET_ADD_OUT_STREAMS = 4352, + SCTP_PARAM_RESET_ADD_IN_STREAMS = 4608, +}; + +enum sctp_scope { + SCTP_SCOPE_GLOBAL = 0, + SCTP_SCOPE_PRIVATE = 1, + SCTP_SCOPE_LINK = 2, + SCTP_SCOPE_LOOPBACK = 3, + SCTP_SCOPE_UNUSABLE = 4, +}; + +enum sctp_socket_type { + SCTP_SOCKET_UDP = 0, + SCTP_SOCKET_UDP_HIGH_BANDWIDTH = 1, + SCTP_SOCKET_TCP = 2, +}; + +enum sctp_state { + SCTP_STATE_CLOSED = 0, + SCTP_STATE_COOKIE_WAIT = 1, + SCTP_STATE_COOKIE_ECHOED = 2, + SCTP_STATE_ESTABLISHED = 3, + SCTP_STATE_SHUTDOWN_PENDING = 4, + SCTP_STATE_SHUTDOWN_SENT = 5, + SCTP_STATE_SHUTDOWN_RECEIVED = 6, + SCTP_STATE_SHUTDOWN_ACK_SENT = 7, +}; + +enum scx_consts { + SCX_DSP_DFL_MAX_BATCH = 32, + SCX_DSP_MAX_LOOPS = 32, + SCX_WATCHDOG_MAX_TIMEOUT = 30000, + SCX_EXIT_BT_LEN = 64, + SCX_EXIT_MSG_LEN = 1024, + SCX_EXIT_DUMP_DFL_LEN = 32768, + SCX_CPUPERF_ONE = 1024, + SCX_TASK_ITER_BATCH = 32, +}; + +enum scx_cpu_preempt_reason { + SCX_CPU_PREEMPT_RT = 0, + SCX_CPU_PREEMPT_DL = 1, + SCX_CPU_PREEMPT_STOP = 2, + SCX_CPU_PREEMPT_UNKNOWN = 3, +}; + +enum scx_deq_flags { + SCX_DEQ_SLEEP = 1ULL, + SCX_DEQ_CORE_SCHED_EXEC = 4294967296ULL, +}; + +enum scx_dsq_id_flags { + SCX_DSQ_FLAG_BUILTIN = 9223372036854775808ULL, + SCX_DSQ_FLAG_LOCAL_ON = 4611686018427387904ULL, + SCX_DSQ_INVALID = 9223372036854775808ULL, + SCX_DSQ_GLOBAL = 9223372036854775809ULL, + SCX_DSQ_LOCAL = 9223372036854775810ULL, + SCX_DSQ_LOCAL_ON = 13835058055282163712ULL, + SCX_DSQ_LOCAL_CPU_MASK = 4294967295ULL, +}; + +enum scx_dsq_iter_flags { + SCX_DSQ_ITER_REV = 65536, + __SCX_DSQ_ITER_HAS_SLICE = 1073741824, + __SCX_DSQ_ITER_HAS_VTIME = 2147483648, + __SCX_DSQ_ITER_USER_FLAGS = 65536, + __SCX_DSQ_ITER_ALL_FLAGS = 3221291008, +}; + +enum scx_dsq_lnode_flags { + SCX_DSQ_LNODE_ITER_CURSOR = 1, + __SCX_DSQ_LNODE_PRIV_SHIFT = 16, +}; + +enum scx_enable_state { + SCX_ENABLING = 0, + SCX_ENABLED = 1, + SCX_DISABLING = 2, + SCX_DISABLED = 3, +}; + +enum scx_enq_flags { + SCX_ENQ_WAKEUP = 1ULL, + SCX_ENQ_HEAD = 16ULL, + SCX_ENQ_CPU_SELECTED = 1024ULL, + SCX_ENQ_PREEMPT = 4294967296ULL, + SCX_ENQ_REENQ = 1099511627776ULL, + SCX_ENQ_LAST = 2199023255552ULL, + __SCX_ENQ_INTERNAL_MASK = 18374686479671623680ULL, + SCX_ENQ_CLEAR_OPSS = 72057594037927936ULL, + SCX_ENQ_DSQ_PRIQ = 144115188075855872ULL, +}; + +enum scx_ent_dsq_flags { + SCX_TASK_DSQ_ON_PRIQ = 1, +}; + +enum scx_ent_flags { + SCX_TASK_QUEUED = 1, + SCX_TASK_RESET_RUNNABLE_AT = 4, + SCX_TASK_DEQD_FOR_SLEEP = 8, + SCX_TASK_STATE_SHIFT = 8, + SCX_TASK_STATE_BITS = 2, + SCX_TASK_STATE_MASK = 768, + SCX_TASK_CURSOR = -2147483648, +}; + +enum scx_exit_code { + SCX_ECODE_RSN_HOTPLUG = 4294967296ULL, + SCX_ECODE_ACT_RESTART = 281474976710656ULL, +}; + +enum scx_exit_kind { + SCX_EXIT_NONE = 0, + SCX_EXIT_DONE = 1, + SCX_EXIT_UNREG = 64, + SCX_EXIT_UNREG_BPF = 65, + SCX_EXIT_UNREG_KERN = 66, + SCX_EXIT_SYSRQ = 67, + SCX_EXIT_ERROR = 1024, + SCX_EXIT_ERROR_BPF = 1025, + SCX_EXIT_ERROR_STALL = 1026, +}; + +enum scx_kf_mask { + SCX_KF_UNLOCKED = 0, + SCX_KF_CPU_RELEASE = 1, + SCX_KF_DISPATCH = 2, + SCX_KF_ENQUEUE = 4, + SCX_KF_SELECT_CPU = 8, + SCX_KF_REST = 16, + __SCX_KF_RQ_LOCKED = 31, + __SCX_KF_TERMINAL = 28, +}; + +enum scx_kick_flags { + SCX_KICK_IDLE = 1, + SCX_KICK_PREEMPT = 2, + SCX_KICK_WAIT = 4, +}; + +enum scx_opi { + SCX_OPI_BEGIN = 0, + SCX_OPI_NORMAL_BEGIN = 0, + SCX_OPI_NORMAL_END = 30, + SCX_OPI_CPU_HOTPLUG_BEGIN = 30, + SCX_OPI_CPU_HOTPLUG_END = 32, + SCX_OPI_END = 32, +}; + +enum scx_ops_flags { + SCX_OPS_KEEP_BUILTIN_IDLE = 1ULL, + SCX_OPS_ENQ_LAST = 2ULL, + SCX_OPS_ENQ_EXITING = 4ULL, + SCX_OPS_SWITCH_PARTIAL = 8ULL, + SCX_OPS_ENQ_MIGRATION_DISABLED = 16ULL, + SCX_OPS_ALLOW_QUEUED_WAKEUP = 32ULL, + SCX_OPS_BUILTIN_IDLE_PER_NODE = 64ULL, + SCX_OPS_HAS_CGROUP_WEIGHT = 65536ULL, + SCX_OPS_ALL_FLAGS = 65663ULL, + __SCX_OPS_INTERNAL_MASK = 18374686479671623680ULL, + SCX_OPS_HAS_CPU_PREEMPT = 72057594037927936ULL, +}; + +enum scx_ops_state { + SCX_OPSS_NONE = 0, + SCX_OPSS_QUEUEING = 1, + SCX_OPSS_QUEUED = 2, + SCX_OPSS_DISPATCHING = 3, + SCX_OPSS_QSEQ_SHIFT = 2, +}; + +enum scx_pick_idle_cpu_flags { + SCX_PICK_IDLE_CORE = 1, + SCX_PICK_IDLE_IN_NODE = 2, +}; + +enum scx_public_consts { + SCX_OPS_NAME_LEN = 128ULL, + SCX_SLICE_DFL = 20000000ULL, + SCX_SLICE_INF = 18446744073709551615ULL, +}; + +enum scx_rq_flags { + SCX_RQ_ONLINE = 1, + SCX_RQ_CAN_STOP_TICK = 2, + SCX_RQ_BAL_PENDING = 4, + SCX_RQ_BAL_KEEP = 8, + SCX_RQ_BYPASSING = 16, + SCX_RQ_CLK_VALID = 32, + SCX_RQ_BAL_CB_PENDING = 64, + SCX_RQ_IN_WAKEUP = 65536, + SCX_RQ_IN_BALANCE = 131072, +}; + +enum scx_task_state { + SCX_TASK_NONE = 0, + SCX_TASK_INIT = 1, + SCX_TASK_READY = 2, + SCX_TASK_ENABLED = 3, + SCX_TASK_NR_STATES = 4, +}; + +enum scx_tg_flags { + SCX_TG_ONLINE = 1, + SCX_TG_INITED = 2, +}; + +enum scx_wake_flags { + SCX_WAKE_FORK = 4, + SCX_WAKE_TTWU = 8, + SCX_WAKE_SYNC = 16, +}; + +enum sd_uhs2_operation { + UHS2_PHY_INIT = 0, + UHS2_SET_CONFIG = 1, + UHS2_ENABLE_INT = 2, + UHS2_DISABLE_INT = 3, + UHS2_ENABLE_CLK = 4, + UHS2_DISABLE_CLK = 5, + UHS2_CHECK_DORMANT = 6, + UHS2_SET_IOS = 7, +}; + +enum security_cmd_enabled_bits { + CXL_SEC_ENABLED_SANITIZE = 0, + CXL_SEC_ENABLED_SECURE_ERASE = 1, + CXL_SEC_ENABLED_GET_SECURITY_STATE = 2, + CXL_SEC_ENABLED_SET_PASSPHRASE = 3, + CXL_SEC_ENABLED_DISABLE_PASSPHRASE = 4, + CXL_SEC_ENABLED_UNLOCK = 5, + CXL_SEC_ENABLED_FREEZE_SECURITY = 6, + CXL_SEC_ENABLED_PASSPHRASE_SECURE_ERASE = 7, + CXL_SEC_ENABLED_MAX = 8, +}; + +enum seg6_end_dt_mode { + DT_INVALID_MODE = -22, + DT_LEGACY_MODE = 0, + DT_VRF_MODE = 1, +}; + +enum seg6_local_flv_action { + SEG6_LOCAL_FLV_ACT_UNSPEC = 0, + SEG6_LOCAL_FLV_ACT_END = 1, + SEG6_LOCAL_FLV_ACT_PSP = 2, + SEG6_LOCAL_FLV_ACT_USP = 3, + SEG6_LOCAL_FLV_ACT_USD = 4, + __SEG6_LOCAL_FLV_ACT_MAX = 5, +}; + +enum seg6_local_pktinfo { + SEG6_LOCAL_PKTINFO_NOHDR = 0, + SEG6_LOCAL_PKTINFO_SL_ZERO = 1, + SEG6_LOCAL_PKTINFO_SL_ONE = 2, + SEG6_LOCAL_PKTINFO_SL_MORE = 3, + __SEG6_LOCAL_PKTINFO_MAX = 4, +}; + +enum sel_inos { + SEL_ROOT_INO = 2, + SEL_LOAD = 3, + SEL_ENFORCE = 4, + SEL_CONTEXT = 5, + SEL_ACCESS = 6, + SEL_CREATE = 7, + SEL_RELABEL = 8, + SEL_USER = 9, + SEL_POLICYVERS = 10, + SEL_COMMIT_BOOLS = 11, + SEL_MLS = 12, + SEL_DISABLE = 13, + SEL_MEMBER = 14, + SEL_CHECKREQPROT = 15, + SEL_COMPAT_NET = 16, + SEL_REJECT_UNKNOWN = 17, + SEL_DENY_UNKNOWN = 18, + SEL_STATUS = 19, + SEL_POLICY = 20, + SEL_VALIDATE_TRANS = 21, + SEL_INO_NEXT = 22, +}; + +enum selinux_nlgroups { + SELNLGRP_NONE = 0, + SELNLGRP_AVC = 1, + __SELNLGRP_MAX = 2, +}; + +enum ser { + SER_REQUIRED = 1, + NO_SER = 2, +}; + +enum serdev_parity { + SERDEV_PARITY_NONE = 0, + SERDEV_PARITY_EVEN = 1, + SERDEV_PARITY_ODD = 2, +}; + +enum serio_event_type { + SERIO_RESCAN_PORT = 0, + SERIO_RECONNECT_PORT = 1, + SERIO_RECONNECT_SUBTREE = 2, + SERIO_REGISTER_PORT = 3, + SERIO_ATTACH_DRIVER = 4, +}; + +enum set_event_iter_type { + SET_EVENT_FILE = 0, + SET_EVENT_MOD = 1, +}; + +enum setid_type { + UID = 0, + GID = 1, +}; + +enum severity_level { + MCE_NO_SEVERITY = 0, + MCE_DEFERRED_SEVERITY = 1, + MCE_UCNA_SEVERITY = 1, + MCE_KEEP_SEVERITY = 2, + MCE_SOME_SEVERITY = 3, + MCE_AO_SEVERITY = 4, + MCE_UC_SEVERITY = 5, + MCE_AR_SEVERITY = 6, + MCE_PANIC_SEVERITY = 7, +}; + +enum sgp_type { + SGP_READ = 0, + SGP_NOALLOC = 1, + SGP_CACHE = 2, + SGP_WRITE = 3, + SGP_FALLOC = 4, +}; + +enum sgx_attribute { + SGX_ATTR_INIT = 1, + SGX_ATTR_DEBUG = 2, + SGX_ATTR_MODE64BIT = 4, + SGX_ATTR_PROVISIONKEY = 16, + SGX_ATTR_EINITTOKENKEY = 32, + SGX_ATTR_KSS = 128, + SGX_ATTR_ASYNC_EXIT_NOTIFY = 1024, +}; + +enum sgx_encl_flags { + SGX_ENCL_IOCTL = 1, + SGX_ENCL_DEBUG = 2, + SGX_ENCL_CREATED = 4, + SGX_ENCL_INITIALIZED = 8, +}; + +enum sgx_encls_function { + ECREATE = 0, + EADD = 1, + EINIT = 2, + EREMOVE = 3, + EDGBRD = 4, + EDGBWR = 5, + EEXTEND = 6, + ELDU = 8, + EBLOCK = 9, + EPA = 10, + EWB = 11, + ETRACK = 12, + EAUG = 13, + EMODPR = 14, + EMODT = 15, +}; + +enum sgx_page_flags { + SGX_PAGE_MEASURE = 1, +}; + +enum sgx_page_type { + SGX_PAGE_TYPE_SECS = 0, + SGX_PAGE_TYPE_TCS = 1, + SGX_PAGE_TYPE_REG = 2, + SGX_PAGE_TYPE_VA = 3, + SGX_PAGE_TYPE_TRIM = 4, +}; + +enum sgx_return_code { + SGX_EPC_PAGE_CONFLICT = 7, + SGX_NOT_TRACKED = 11, + SGX_CHILD_PRESENT = 13, + SGX_INVALID_EINITTOKEN = 16, + SGX_PAGE_NOT_MODIFIABLE = 20, + SGX_UNMASKED_EVENT = 128, +}; + +enum sgx_secinfo_flags { + SGX_SECINFO_R = 1, + SGX_SECINFO_W = 2, + SGX_SECINFO_X = 4, + SGX_SECINFO_SECS = 0, + SGX_SECINFO_TCS = 256, + SGX_SECINFO_REG = 512, + SGX_SECINFO_VA = 768, + SGX_SECINFO_TRIM = 1024, +}; + +enum shmem_param { + Opt_gid___8 = 0, + Opt_huge = 1, + Opt_mode___6 = 2, + Opt_mpol = 3, + Opt_nr_blocks = 4, + Opt_nr_inodes___2 = 5, + Opt_size___2 = 6, + Opt_uid___7 = 7, + Opt_inode32 = 8, + Opt_inode64 = 9, + Opt_noswap = 10, + Opt_quota___2 = 11, + Opt_usrquota___2 = 12, + Opt_grpquota___2 = 13, + Opt_usrquota_block_hardlimit = 14, + Opt_usrquota_inode_hardlimit = 15, + Opt_grpquota_block_hardlimit = 16, + Opt_grpquota_inode_hardlimit = 17, + Opt_casefold_version = 18, + Opt_casefold = 19, + Opt_strict_encoding = 20, +}; + +enum show_regs_mode { + SHOW_REGS_SHORT = 0, + SHOW_REGS_USER = 1, + SHOW_REGS_ALL = 2, +}; + +enum shutdown_state { + SHUTDOWN_INVALID = -1, + SHUTDOWN_POWEROFF = 0, + SHUTDOWN_SUSPEND = 2, + SHUTDOWN_HALT = 4, +}; + +enum si_type { + SI_TYPE_INVALID = 0, + SI_KCS = 1, + SI_SMIC = 2, + SI_BT = 3, + SI_TYPE_MAX = 4, +}; + +enum sid_policy_type { + SIDPOL_DEFAULT = 0, + SIDPOL_CONSTRAINED = 1, + SIDPOL_ALLOWED = 2, +}; + +enum sig_handler { + HANDLER_CURRENT = 0, + HANDLER_SIG_DFL = 1, + HANDLER_EXIT = 2, +}; + +enum siginfo_layout { + SIL_KILL = 0, + SIL_TIMER = 1, + SIL_POLL = 2, + SIL_FAULT = 3, + SIL_FAULT_TRAPNO = 4, + SIL_FAULT_MCEERR = 5, + SIL_FAULT_BNDERR = 6, + SIL_FAULT_PKUERR = 7, + SIL_FAULT_PERF_EVENT = 8, + SIL_CHLD = 9, + SIL_RT = 10, + SIL_SYS = 11, +}; + +enum simatic_ipc_station_ids { + SIMATIC_IPC_INVALID_STATION_ID = 0, + SIMATIC_IPC_IPC227D = 1281, + SIMATIC_IPC_IPC427D = 1793, + SIMATIC_IPC_IPC227E = 2305, + SIMATIC_IPC_IPC277E = 2306, + SIMATIC_IPC_IPC427E = 2561, + SIMATIC_IPC_IPC477E = 2562, + SIMATIC_IPC_IPC127E = 3329, + SIMATIC_IPC_IPC227G = 3841, + SIMATIC_IPC_IPC277G = 3842, + SIMATIC_IPC_IPCBX_39A = 4097, + SIMATIC_IPC_IPCPX_39A = 4098, + SIMATIC_IPC_IPCBX_21A = 4353, + SIMATIC_IPC_IPCBX_56A = 4609, + SIMATIC_IPC_IPCBX_59A = 4610, +}; + +enum sk_action { + SK_DROP = 0, + SK_PASS = 1, +}; + +enum sk_pacing { + SK_PACING_NONE = 0, + SK_PACING_NEEDED = 1, + SK_PACING_FQ = 2, +}; + +enum sk_psock_state_bits { + SK_PSOCK_TX_ENABLED = 0, + SK_PSOCK_RX_STRP_ENABLED = 1, +}; + +enum sk_rst_reason { + SK_RST_REASON_NOT_SPECIFIED = 0, + SK_RST_REASON_NO_SOCKET = 1, + SK_RST_REASON_TCP_INVALID_ACK_SEQUENCE = 2, + SK_RST_REASON_TCP_RFC7323_PAWS = 3, + SK_RST_REASON_TCP_TOO_OLD_ACK = 4, + SK_RST_REASON_TCP_ACK_UNSENT_DATA = 5, + SK_RST_REASON_TCP_FLAGS = 6, + SK_RST_REASON_TCP_OLD_ACK = 7, + SK_RST_REASON_TCP_ABORT_ON_DATA = 8, + SK_RST_REASON_TCP_TIMEWAIT_SOCKET = 9, + SK_RST_REASON_INVALID_SYN = 10, + SK_RST_REASON_TCP_ABORT_ON_CLOSE = 11, + SK_RST_REASON_TCP_ABORT_ON_LINGER = 12, + SK_RST_REASON_TCP_ABORT_ON_MEMORY = 13, + SK_RST_REASON_TCP_STATE = 14, + SK_RST_REASON_TCP_KEEPALIVE_TIMEOUT = 15, + SK_RST_REASON_TCP_DISCONNECT_WITH_DATA = 16, + SK_RST_REASON_MPTCP_RST_EUNSPEC = 17, + SK_RST_REASON_MPTCP_RST_EMPTCP = 18, + SK_RST_REASON_MPTCP_RST_ERESOURCE = 19, + SK_RST_REASON_MPTCP_RST_EPROHIBIT = 20, + SK_RST_REASON_MPTCP_RST_EWQ2BIG = 21, + SK_RST_REASON_MPTCP_RST_EBADPERF = 22, + SK_RST_REASON_MPTCP_RST_EMIDDLEBOX = 23, + SK_RST_REASON_ERROR = 24, + SK_RST_REASON_MAX = 25, +}; + +enum skb_drop_reason { + SKB_NOT_DROPPED_YET = 0, + SKB_CONSUMED = 1, + SKB_DROP_REASON_NOT_SPECIFIED = 2, + SKB_DROP_REASON_NO_SOCKET = 3, + SKB_DROP_REASON_SOCKET_CLOSE = 4, + SKB_DROP_REASON_SOCKET_FILTER = 5, + SKB_DROP_REASON_SOCKET_RCVBUFF = 6, + SKB_DROP_REASON_UNIX_DISCONNECT = 7, + SKB_DROP_REASON_UNIX_SKIP_OOB = 8, + SKB_DROP_REASON_PKT_TOO_SMALL = 9, + SKB_DROP_REASON_TCP_CSUM = 10, + SKB_DROP_REASON_UDP_CSUM = 11, + SKB_DROP_REASON_NETFILTER_DROP = 12, + SKB_DROP_REASON_OTHERHOST = 13, + SKB_DROP_REASON_IP_CSUM = 14, + SKB_DROP_REASON_IP_INHDR = 15, + SKB_DROP_REASON_IP_RPFILTER = 16, + SKB_DROP_REASON_UNICAST_IN_L2_MULTICAST = 17, + SKB_DROP_REASON_XFRM_POLICY = 18, + SKB_DROP_REASON_IP_NOPROTO = 19, + SKB_DROP_REASON_PROTO_MEM = 20, + SKB_DROP_REASON_TCP_AUTH_HDR = 21, + SKB_DROP_REASON_TCP_MD5NOTFOUND = 22, + SKB_DROP_REASON_TCP_MD5UNEXPECTED = 23, + SKB_DROP_REASON_TCP_MD5FAILURE = 24, + SKB_DROP_REASON_TCP_AONOTFOUND = 25, + SKB_DROP_REASON_TCP_AOUNEXPECTED = 26, + SKB_DROP_REASON_TCP_AOKEYNOTFOUND = 27, + SKB_DROP_REASON_TCP_AOFAILURE = 28, + SKB_DROP_REASON_SOCKET_BACKLOG = 29, + SKB_DROP_REASON_TCP_FLAGS = 30, + SKB_DROP_REASON_TCP_ABORT_ON_DATA = 31, + SKB_DROP_REASON_TCP_ZEROWINDOW = 32, + SKB_DROP_REASON_TCP_OLD_DATA = 33, + SKB_DROP_REASON_TCP_OVERWINDOW = 34, + SKB_DROP_REASON_TCP_OFOMERGE = 35, + SKB_DROP_REASON_TCP_RFC7323_PAWS = 36, + SKB_DROP_REASON_TCP_RFC7323_PAWS_ACK = 37, + SKB_DROP_REASON_TCP_RFC7323_TW_PAWS = 38, + SKB_DROP_REASON_TCP_RFC7323_TSECR = 39, + SKB_DROP_REASON_TCP_LISTEN_OVERFLOW = 40, + SKB_DROP_REASON_TCP_OLD_SEQUENCE = 41, + SKB_DROP_REASON_TCP_INVALID_SEQUENCE = 42, + SKB_DROP_REASON_TCP_INVALID_END_SEQUENCE = 43, + SKB_DROP_REASON_TCP_INVALID_ACK_SEQUENCE = 44, + SKB_DROP_REASON_TCP_RESET = 45, + SKB_DROP_REASON_TCP_INVALID_SYN = 46, + SKB_DROP_REASON_TCP_CLOSE = 47, + SKB_DROP_REASON_TCP_FASTOPEN = 48, + SKB_DROP_REASON_TCP_OLD_ACK = 49, + SKB_DROP_REASON_TCP_TOO_OLD_ACK = 50, + SKB_DROP_REASON_TCP_ACK_UNSENT_DATA = 51, + SKB_DROP_REASON_TCP_OFO_QUEUE_PRUNE = 52, + SKB_DROP_REASON_TCP_OFO_DROP = 53, + SKB_DROP_REASON_IP_OUTNOROUTES = 54, + SKB_DROP_REASON_BPF_CGROUP_EGRESS = 55, + SKB_DROP_REASON_IPV6DISABLED = 56, + SKB_DROP_REASON_NEIGH_CREATEFAIL = 57, + SKB_DROP_REASON_NEIGH_FAILED = 58, + SKB_DROP_REASON_NEIGH_QUEUEFULL = 59, + SKB_DROP_REASON_NEIGH_DEAD = 60, + SKB_DROP_REASON_NEIGH_HH_FILLFAIL = 61, + SKB_DROP_REASON_TC_EGRESS = 62, + SKB_DROP_REASON_SECURITY_HOOK = 63, + SKB_DROP_REASON_QDISC_DROP = 64, + SKB_DROP_REASON_QDISC_OVERLIMIT = 65, + SKB_DROP_REASON_QDISC_CONGESTED = 66, + SKB_DROP_REASON_CAKE_FLOOD = 67, + SKB_DROP_REASON_FQ_BAND_LIMIT = 68, + SKB_DROP_REASON_FQ_HORIZON_LIMIT = 69, + SKB_DROP_REASON_FQ_FLOW_LIMIT = 70, + SKB_DROP_REASON_CPU_BACKLOG = 71, + SKB_DROP_REASON_XDP = 72, + SKB_DROP_REASON_TC_INGRESS = 73, + SKB_DROP_REASON_UNHANDLED_PROTO = 74, + SKB_DROP_REASON_SKB_CSUM = 75, + SKB_DROP_REASON_SKB_GSO_SEG = 76, + SKB_DROP_REASON_SKB_UCOPY_FAULT = 77, + SKB_DROP_REASON_DEV_HDR = 78, + SKB_DROP_REASON_DEV_READY = 79, + SKB_DROP_REASON_FULL_RING = 80, + SKB_DROP_REASON_NOMEM = 81, + SKB_DROP_REASON_HDR_TRUNC = 82, + SKB_DROP_REASON_TAP_FILTER = 83, + SKB_DROP_REASON_TAP_TXFILTER = 84, + SKB_DROP_REASON_ICMP_CSUM = 85, + SKB_DROP_REASON_INVALID_PROTO = 86, + SKB_DROP_REASON_IP_INADDRERRORS = 87, + SKB_DROP_REASON_IP_INNOROUTES = 88, + SKB_DROP_REASON_IP_LOCAL_SOURCE = 89, + SKB_DROP_REASON_IP_INVALID_SOURCE = 90, + SKB_DROP_REASON_IP_LOCALNET = 91, + SKB_DROP_REASON_IP_INVALID_DEST = 92, + SKB_DROP_REASON_PKT_TOO_BIG = 93, + SKB_DROP_REASON_DUP_FRAG = 94, + SKB_DROP_REASON_FRAG_REASM_TIMEOUT = 95, + SKB_DROP_REASON_FRAG_TOO_FAR = 96, + SKB_DROP_REASON_TCP_MINTTL = 97, + SKB_DROP_REASON_IPV6_BAD_EXTHDR = 98, + SKB_DROP_REASON_IPV6_NDISC_FRAG = 99, + SKB_DROP_REASON_IPV6_NDISC_HOP_LIMIT = 100, + SKB_DROP_REASON_IPV6_NDISC_BAD_CODE = 101, + SKB_DROP_REASON_IPV6_NDISC_BAD_OPTIONS = 102, + SKB_DROP_REASON_IPV6_NDISC_NS_OTHERHOST = 103, + SKB_DROP_REASON_QUEUE_PURGE = 104, + SKB_DROP_REASON_TC_COOKIE_ERROR = 105, + SKB_DROP_REASON_PACKET_SOCK_ERROR = 106, + SKB_DROP_REASON_TC_CHAIN_NOTFOUND = 107, + SKB_DROP_REASON_TC_RECLASSIFY_LOOP = 108, + SKB_DROP_REASON_VXLAN_INVALID_HDR = 109, + SKB_DROP_REASON_VXLAN_VNI_NOT_FOUND = 110, + SKB_DROP_REASON_MAC_INVALID_SOURCE = 111, + SKB_DROP_REASON_VXLAN_ENTRY_EXISTS = 112, + SKB_DROP_REASON_NO_TX_TARGET = 113, + SKB_DROP_REASON_IP_TUNNEL_ECN = 114, + SKB_DROP_REASON_TUNNEL_TXINFO = 115, + SKB_DROP_REASON_LOCAL_MAC = 116, + SKB_DROP_REASON_ARP_PVLAN_DISABLE = 117, + SKB_DROP_REASON_MAC_IEEE_MAC_CONTROL = 118, + SKB_DROP_REASON_BRIDGE_INGRESS_STP_STATE = 119, + SKB_DROP_REASON_CAN_RX_INVALID_FRAME = 120, + SKB_DROP_REASON_CANFD_RX_INVALID_FRAME = 121, + SKB_DROP_REASON_CANXL_RX_INVALID_FRAME = 122, + SKB_DROP_REASON_PFMEMALLOC = 123, + SKB_DROP_REASON_DUALPI2_STEP_DROP = 124, + SKB_DROP_REASON_MAX = 125, + SKB_DROP_REASON_SUBSYS_MASK = 4294901760, +}; + +enum skb_drop_reason_subsys { + SKB_DROP_REASON_SUBSYS_CORE = 0, + SKB_DROP_REASON_SUBSYS_MAC80211_UNUSABLE = 1, + SKB_DROP_REASON_SUBSYS_OPENVSWITCH = 2, + SKB_DROP_REASON_SUBSYS_NUM = 3, +}; + +enum skb_ext_id { + SKB_EXT_BRIDGE_NF = 0, + SKB_EXT_SEC_PATH = 1, + TC_SKB_EXT = 2, + SKB_EXT_MPTCP = 3, + SKB_EXT_MCTP = 4, + SKB_EXT_NUM = 5, +}; + +enum skb_tstamp_type { + SKB_CLOCK_REALTIME = 0, + SKB_CLOCK_MONOTONIC = 1, + SKB_CLOCK_TAI = 2, + __SKB_CLOCK_MAX = 2, +}; + +enum sknetlink_groups { + SKNLGRP_NONE = 0, + SKNLGRP_INET_TCP_DESTROY = 1, + SKNLGRP_INET_UDP_DESTROY = 2, + SKNLGRP_INET6_TCP_DESTROY = 3, + SKNLGRP_INET6_UDP_DESTROY = 4, + __SKNLGRP_MAX = 5, +}; + +enum slab_flags { + SL_locked = 0, + SL_partial = 9, + SL_pfmemalloc = 8, +}; + +enum slab_stat_type { + SL_ALL = 0, + SL_PARTIAL = 1, + SL_CPU = 2, + SL_OBJECTS = 3, + SL_TOTAL = 4, +}; + +enum slab_state { + DOWN = 0, + PARTIAL = 1, + UP = 2, + FULL = 3, +}; + +enum smbios_attr_enum { + SMBIOS_ATTR_NONE = 0, + SMBIOS_ATTR_LABEL_SHOW = 1, + SMBIOS_ATTR_INSTANCE_SHOW = 2, +}; + +enum smca_bank_types { + SMCA_LS = 0, + SMCA_LS_V2 = 1, + SMCA_IF = 2, + SMCA_L2_CACHE = 3, + SMCA_DE = 4, + SMCA_RESERVED = 5, + SMCA_EX = 6, + SMCA_FP = 7, + SMCA_L3_CACHE = 8, + SMCA_CS = 9, + SMCA_CS_V2 = 10, + SMCA_PIE = 11, + SMCA_UMC = 12, + SMCA_UMC_V2 = 13, + SMCA_MA_LLC = 14, + SMCA_PB = 15, + SMCA_PSP = 16, + SMCA_PSP_V2 = 17, + SMCA_SMU = 18, + SMCA_SMU_V2 = 19, + SMCA_MP5 = 20, + SMCA_MPDMA = 21, + SMCA_NBIO = 22, + SMCA_PCIE = 23, + SMCA_PCIE_V2 = 24, + SMCA_XGMI_PCS = 25, + SMCA_NBIF = 26, + SMCA_SHUB = 27, + SMCA_SATA = 28, + SMCA_USB = 29, + SMCA_USR_DP = 30, + SMCA_USR_CP = 31, + SMCA_GMI_PCS = 32, + SMCA_XGMI_PHY = 33, + SMCA_WAFL_PHY = 34, + SMCA_GMI_PHY = 35, + N_SMCA_BANK_TYPES = 36, +}; + +enum smk_inos { + SMK_ROOT_INO = 2, + SMK_LOAD = 3, + SMK_CIPSO = 4, + SMK_DOI = 5, + SMK_DIRECT = 6, + SMK_AMBIENT = 7, + SMK_NET4ADDR = 8, + SMK_ONLYCAP = 9, + SMK_LOGGING = 10, + SMK_LOAD_SELF = 11, + SMK_ACCESSES = 12, + SMK_MAPPED = 13, + SMK_LOAD2 = 14, + SMK_LOAD_SELF2 = 15, + SMK_ACCESS2 = 16, + SMK_CIPSO2 = 17, + SMK_REVOKE_SUBJ = 18, + SMK_CHANGE_RULE = 19, + SMK_SYSLOG = 20, + SMK_PTRACE = 21, + SMK_NET6ADDR = 23, + SMK_RELABEL_SELF = 24, +}; + +enum smt_mitigations { + SMT_MITIGATIONS_OFF = 0, + SMT_MITIGATIONS_AUTO = 1, + SMT_MITIGATIONS_ON = 2, +}; + +enum snoop_when { + SUBMIT = 0, + COMPLETE = 1, +}; + +enum sock_flags { + SOCK_DEAD = 0, + SOCK_DONE = 1, + SOCK_URGINLINE = 2, + SOCK_KEEPOPEN = 3, + SOCK_LINGER = 4, + SOCK_DESTROY = 5, + SOCK_BROADCAST = 6, + SOCK_TIMESTAMP = 7, + SOCK_ZAPPED = 8, + SOCK_USE_WRITE_QUEUE = 9, + SOCK_DBG = 10, + SOCK_RCVTSTAMP = 11, + SOCK_RCVTSTAMPNS = 12, + SOCK_LOCALROUTE = 13, + SOCK_MEMALLOC = 14, + SOCK_TIMESTAMPING_RX_SOFTWARE = 15, + SOCK_FASYNC = 16, + SOCK_RXQ_OVFL = 17, + SOCK_ZEROCOPY = 18, + SOCK_WIFI_STATUS = 19, + SOCK_NOFCS = 20, + SOCK_FILTER_LOCKED = 21, + SOCK_SELECT_ERR_QUEUE = 22, + SOCK_RCU_FREE = 23, + SOCK_TXTIME = 24, + SOCK_XDP = 25, + SOCK_TSTAMP_NEW = 26, + SOCK_RCVMARK = 27, + SOCK_RCVPRIORITY = 28, + SOCK_TIMESTAMPING_ANY = 29, +}; + +enum sock_shutdown_cmd { + SHUT_RD = 0, + SHUT_WR = 1, + SHUT_RDWR = 2, +}; + +enum sock_type { + SOCK_STREAM = 1, + SOCK_DGRAM = 2, + SOCK_RAW = 3, + SOCK_RDM = 4, + SOCK_SEQPACKET = 5, + SOCK_DCCP = 6, + SOCK_PACKET = 10, +}; + +enum socket_flags { + SOCKWQ_ASYNC_NOSPACE = 0, + SOCKWQ_ASYNC_WAITDATA = 1, + SOCK_NOSPACE = 2, + SOCK_SUPPORT_ZC = 3, + SOCK_CUSTOM_SOCKOPT = 4, +}; + +enum special_kfunc_type { + KF_bpf_obj_new_impl = 0, + KF_bpf_obj_drop_impl = 1, + KF_bpf_refcount_acquire_impl = 2, + KF_bpf_list_push_front_impl = 3, + KF_bpf_list_push_back_impl = 4, + KF_bpf_list_pop_front = 5, + KF_bpf_list_pop_back = 6, + KF_bpf_list_front = 7, + KF_bpf_list_back = 8, + KF_bpf_cast_to_kern_ctx = 9, + KF_bpf_rdonly_cast = 10, + KF_bpf_rcu_read_lock = 11, + KF_bpf_rcu_read_unlock = 12, + KF_bpf_rbtree_remove = 13, + KF_bpf_rbtree_add_impl = 14, + KF_bpf_rbtree_first = 15, + KF_bpf_rbtree_root = 16, + KF_bpf_rbtree_left = 17, + KF_bpf_rbtree_right = 18, + KF_bpf_dynptr_from_skb = 19, + KF_bpf_dynptr_from_xdp = 20, + KF_bpf_dynptr_slice = 21, + KF_bpf_dynptr_slice_rdwr = 22, + KF_bpf_dynptr_clone = 23, + KF_bpf_percpu_obj_new_impl = 24, + KF_bpf_percpu_obj_drop_impl = 25, + KF_bpf_throw = 26, + KF_bpf_wq_set_callback_impl = 27, + KF_bpf_preempt_disable = 28, + KF_bpf_preempt_enable = 29, + KF_bpf_iter_css_task_new = 30, + KF_bpf_session_cookie = 31, + KF_bpf_get_kmem_cache = 32, + KF_bpf_local_irq_save = 33, + KF_bpf_local_irq_restore = 34, + KF_bpf_iter_num_new = 35, + KF_bpf_iter_num_next = 36, + KF_bpf_iter_num_destroy = 37, + KF_bpf_set_dentry_xattr = 38, + KF_bpf_remove_dentry_xattr = 39, + KF_bpf_res_spin_lock = 40, + KF_bpf_res_spin_unlock = 41, + KF_bpf_res_spin_lock_irqsave = 42, + KF_bpf_res_spin_unlock_irqrestore = 43, + KF___bpf_trap = 44, +}; + +enum spectre_v1_mitigation { + SPECTRE_V1_MITIGATION_NONE = 0, + SPECTRE_V1_MITIGATION_AUTO = 1, +}; + +enum spectre_v2_mitigation { + SPECTRE_V2_NONE = 0, + SPECTRE_V2_RETPOLINE = 1, + SPECTRE_V2_LFENCE = 2, + SPECTRE_V2_EIBRS = 3, + SPECTRE_V2_EIBRS_RETPOLINE = 4, + SPECTRE_V2_EIBRS_LFENCE = 5, + SPECTRE_V2_IBRS = 6, +}; + +enum spectre_v2_mitigation_cmd { + SPECTRE_V2_CMD_NONE = 0, + SPECTRE_V2_CMD_AUTO = 1, + SPECTRE_V2_CMD_FORCE = 2, + SPECTRE_V2_CMD_RETPOLINE = 3, + SPECTRE_V2_CMD_RETPOLINE_GENERIC = 4, + SPECTRE_V2_CMD_RETPOLINE_LFENCE = 5, + SPECTRE_V2_CMD_EIBRS = 6, + SPECTRE_V2_CMD_EIBRS_RETPOLINE = 7, + SPECTRE_V2_CMD_EIBRS_LFENCE = 8, + SPECTRE_V2_CMD_IBRS = 9, +}; + +enum spectre_v2_user_cmd { + SPECTRE_V2_USER_CMD_NONE = 0, + SPECTRE_V2_USER_CMD_AUTO = 1, + SPECTRE_V2_USER_CMD_FORCE = 2, + SPECTRE_V2_USER_CMD_PRCTL = 3, + SPECTRE_V2_USER_CMD_PRCTL_IBPB = 4, + SPECTRE_V2_USER_CMD_SECCOMP = 5, + SPECTRE_V2_USER_CMD_SECCOMP_IBPB = 6, +}; + +enum spectre_v2_user_mitigation { + SPECTRE_V2_USER_NONE = 0, + SPECTRE_V2_USER_STRICT = 1, + SPECTRE_V2_USER_STRICT_PREFERRED = 2, + SPECTRE_V2_USER_PRCTL = 3, + SPECTRE_V2_USER_SECCOMP = 4, +}; + +enum spi_mem_data_dir { + SPI_MEM_NO_DATA = 0, + SPI_MEM_DATA_IN = 1, + SPI_MEM_DATA_OUT = 2, +}; + +enum spi_offload_trigger_type { + SPI_OFFLOAD_TRIGGER_DATA_READY = 0, + SPI_OFFLOAD_TRIGGER_PERIODIC = 1, +}; + +enum split_lock_detect_state { + sld_off = 0, + sld_warn = 1, + sld_fatal = 2, + sld_ratelimit = 3, +}; + +enum squashfs_param { + Opt_errors___3 = 0, + Opt_threads = 1, +}; + +enum sr_retry_flags { + IORING_RECV_RETRY = 32768, + IORING_RECV_PARTIAL_MAP = 16384, + IORING_RECV_MSHOT_CAP = 8192, + IORING_RECV_MSHOT_LIM = 4096, + IORING_RECV_MSHOT_DONE = 2048, + IORING_RECV_RETRY_CLEAR = 49152, + IORING_RECV_NO_RETRY = 59392, +}; + +enum srbds_mitigations { + SRBDS_MITIGATION_OFF = 0, + SRBDS_MITIGATION_AUTO = 1, + SRBDS_MITIGATION_UCODE_NEEDED = 2, + SRBDS_MITIGATION_FULL = 3, + SRBDS_MITIGATION_TSX_OFF = 4, + SRBDS_MITIGATION_HYPERVISOR = 5, +}; + +enum srso_mitigation { + SRSO_MITIGATION_NONE = 0, + SRSO_MITIGATION_AUTO = 1, + SRSO_MITIGATION_UCODE_NEEDED = 2, + SRSO_MITIGATION_SAFE_RET_UCODE_NEEDED = 3, + SRSO_MITIGATION_MICROCODE = 4, + SRSO_MITIGATION_NOSMT = 5, + SRSO_MITIGATION_SAFE_RET = 6, + SRSO_MITIGATION_IBPB = 7, + SRSO_MITIGATION_IBPB_ON_VMEXIT = 8, + SRSO_MITIGATION_BP_SPEC_REDUCE = 9, +}; + +enum ssb_mitigation { + SPEC_STORE_BYPASS_NONE = 0, + SPEC_STORE_BYPASS_DISABLE = 1, + SPEC_STORE_BYPASS_PRCTL = 2, + SPEC_STORE_BYPASS_SECCOMP = 3, +}; + +enum ssb_mitigation_cmd { + SPEC_STORE_BYPASS_CMD_NONE = 0, + SPEC_STORE_BYPASS_CMD_AUTO = 1, + SPEC_STORE_BYPASS_CMD_ON = 2, + SPEC_STORE_BYPASS_CMD_PRCTL = 3, + SPEC_STORE_BYPASS_CMD_SECCOMP = 4, +}; + +enum stack_type { + STACK_TYPE_UNKNOWN = 0, + STACK_TYPE_TASK = 1, + STACK_TYPE_IRQ = 2, + STACK_TYPE_SOFTIRQ = 3, + STACK_TYPE_ENTRY = 4, + STACK_TYPE_EXCEPTION = 5, + STACK_TYPE_EXCEPTION_LAST = 10, +}; + +enum stat_group { + STAT_READ = 0, + STAT_WRITE = 1, + STAT_DISCARD = 2, + STAT_FLUSH = 3, + NR_STAT_GROUPS = 4, +}; + +enum stat_item { + ALLOC_FASTPATH = 0, + ALLOC_SLOWPATH = 1, + FREE_FASTPATH = 2, + FREE_SLOWPATH = 3, + FREE_FROZEN = 4, + FREE_ADD_PARTIAL = 5, + FREE_REMOVE_PARTIAL = 6, + ALLOC_FROM_PARTIAL = 7, + ALLOC_SLAB = 8, + ALLOC_REFILL = 9, + ALLOC_NODE_MISMATCH = 10, + FREE_SLAB = 11, + CPUSLAB_FLUSH = 12, + DEACTIVATE_FULL = 13, + DEACTIVATE_EMPTY = 14, + DEACTIVATE_TO_HEAD = 15, + DEACTIVATE_TO_TAIL = 16, + DEACTIVATE_REMOTE_FREES = 17, + DEACTIVATE_BYPASS = 18, + ORDER_FALLBACK = 19, + CMPXCHG_DOUBLE_CPU_FAIL = 20, + CMPXCHG_DOUBLE_FAIL = 21, + CPU_PARTIAL_ALLOC = 22, + CPU_PARTIAL_FREE = 23, + CPU_PARTIAL_NODE = 24, + CPU_PARTIAL_DRAIN = 25, + NR_SLUB_STAT_ITEMS = 26, +}; + +enum state { + Start = 0, + Collect = 1, + GotHeader = 2, + SkipIt = 3, + GotName = 4, + CopyFile = 5, + GotSymlink = 6, + Reset = 7, +}; + +enum states_wwnr { + not_running_wwnr = 0, + running_wwnr = 1, + state_max_wwnr = 2, +}; + +enum store_type { + wr_invalid = 0, + wr_new_root = 1, + wr_store_root = 2, + wr_exact_fit = 3, + wr_spanning_store = 4, + wr_split_store = 5, + wr_rebalance = 6, + wr_append = 7, + wr_node_store = 8, + wr_slot_store = 9, +}; + +enum string_size_units { + STRING_UNITS_10 = 0, + STRING_UNITS_2 = 1, + STRING_UNITS_MASK = 1, + STRING_UNITS_NO_SPACE = 1073741824, + STRING_UNITS_NO_BYTES = 2147483648, +}; + +enum subpixel_order { + SubPixelUnknown = 0, + SubPixelHorizontalRGB = 1, + SubPixelHorizontalBGR = 2, + SubPixelVerticalRGB = 3, + SubPixelVerticalBGR = 4, + SubPixelNone = 5, +}; + +enum sum_check_bits { + SUM_CHECK_P = 0, + SUM_CHECK_Q = 1, +}; + +enum sum_check_flags { + SUM_CHECK_P_RESULT = 1, + SUM_CHECK_Q_RESULT = 2, +}; + +enum super_iter_flags_t { + SUPER_ITER_EXCL = 1, + SUPER_ITER_UNLOCKED = 2, + SUPER_ITER_REVERSE = 4, +}; + +enum support_mode { + ALLOW_LEGACY = 0, + DENY_LEGACY = 1, +}; + +enum suspend_mode { + PRESUSPEND = 0, + PRESUSPEND_UNDO = 1, + POSTSUSPEND = 2, +}; + +enum suspend_stat_step { + SUSPEND_WORKING = 0, + SUSPEND_FREEZE = 1, + SUSPEND_PREPARE = 2, + SUSPEND_SUSPEND = 3, + SUSPEND_SUSPEND_LATE = 4, + SUSPEND_SUSPEND_NOIRQ = 5, + SUSPEND_RESUME_NOIRQ = 6, + SUSPEND_RESUME_EARLY = 7, + SUSPEND_RESUME = 8, +}; + +enum svc_auth_status { + SVC_GARBAGE = 1, + SVC_VALID = 2, + SVC_NEGATIVE = 3, + SVC_OK = 4, + SVC_DROP = 5, + SVC_CLOSE = 6, + SVC_DENIED = 7, + SVC_PENDING = 8, + SVC_COMPLETE = 9, +}; + +enum sw_activity { + OFF = 0, + BLINK_ON = 1, + BLINK_OFF = 2, +}; + +enum swap_cluster_flags { + CLUSTER_FLAG_NONE = 0, + CLUSTER_FLAG_FREE = 1, + CLUSTER_FLAG_NONFULL = 2, + CLUSTER_FLAG_FRAG = 3, + CLUSTER_FLAG_USABLE = 3, + CLUSTER_FLAG_FULL = 4, + CLUSTER_FLAG_DISCARD = 5, + CLUSTER_FLAG_MAX = 6, +}; + +enum switch_power_state { + DRM_SWITCH_POWER_ON = 0, + DRM_SWITCH_POWER_OFF = 1, + DRM_SWITCH_POWER_CHANGING = 2, + DRM_SWITCH_POWER_DYNAMIC_OFF = 3, +}; + +enum switchdev_attr_id { + SWITCHDEV_ATTR_ID_UNDEFINED = 0, + SWITCHDEV_ATTR_ID_PORT_STP_STATE = 1, + SWITCHDEV_ATTR_ID_PORT_MST_STATE = 2, + SWITCHDEV_ATTR_ID_PORT_BRIDGE_FLAGS = 3, + SWITCHDEV_ATTR_ID_PORT_PRE_BRIDGE_FLAGS = 4, + SWITCHDEV_ATTR_ID_PORT_MROUTER = 5, + SWITCHDEV_ATTR_ID_BRIDGE_AGEING_TIME = 6, + SWITCHDEV_ATTR_ID_BRIDGE_VLAN_FILTERING = 7, + SWITCHDEV_ATTR_ID_BRIDGE_VLAN_PROTOCOL = 8, + SWITCHDEV_ATTR_ID_BRIDGE_MC_DISABLED = 9, + SWITCHDEV_ATTR_ID_BRIDGE_MROUTER = 10, + SWITCHDEV_ATTR_ID_BRIDGE_MST = 11, + SWITCHDEV_ATTR_ID_MRP_PORT_ROLE = 12, + SWITCHDEV_ATTR_ID_VLAN_MSTI = 13, +}; + +enum switchdev_notifier_type { + SWITCHDEV_FDB_ADD_TO_BRIDGE = 1, + SWITCHDEV_FDB_DEL_TO_BRIDGE = 2, + SWITCHDEV_FDB_ADD_TO_DEVICE = 3, + SWITCHDEV_FDB_DEL_TO_DEVICE = 4, + SWITCHDEV_FDB_OFFLOADED = 5, + SWITCHDEV_FDB_FLUSH_TO_BRIDGE = 6, + SWITCHDEV_PORT_OBJ_ADD = 7, + SWITCHDEV_PORT_OBJ_DEL = 8, + SWITCHDEV_PORT_ATTR_SET = 9, + SWITCHDEV_VXLAN_FDB_ADD_TO_BRIDGE = 10, + SWITCHDEV_VXLAN_FDB_DEL_TO_BRIDGE = 11, + SWITCHDEV_VXLAN_FDB_ADD_TO_DEVICE = 12, + SWITCHDEV_VXLAN_FDB_DEL_TO_DEVICE = 13, + SWITCHDEV_VXLAN_FDB_OFFLOADED = 14, + SWITCHDEV_BRPORT_OFFLOADED = 15, + SWITCHDEV_BRPORT_UNOFFLOADED = 16, + SWITCHDEV_BRPORT_REPLAY = 17, +}; + +enum switchdev_obj_id { + SWITCHDEV_OBJ_ID_UNDEFINED = 0, + SWITCHDEV_OBJ_ID_PORT_VLAN = 1, + SWITCHDEV_OBJ_ID_PORT_MDB = 2, + SWITCHDEV_OBJ_ID_HOST_MDB = 3, + SWITCHDEV_OBJ_ID_MRP = 4, + SWITCHDEV_OBJ_ID_RING_TEST_MRP = 5, + SWITCHDEV_OBJ_ID_RING_ROLE_MRP = 6, + SWITCHDEV_OBJ_ID_RING_STATE_MRP = 7, + SWITCHDEV_OBJ_ID_IN_TEST_MRP = 8, + SWITCHDEV_OBJ_ID_IN_ROLE_MRP = 9, + SWITCHDEV_OBJ_ID_IN_STATE_MRP = 10, +}; + +enum sync_action { + ACTION_RESYNC = 0, + ACTION_RECOVER = 1, + ACTION_CHECK = 2, + ACTION_REPAIR = 3, + ACTION_RESHAPE = 4, + ACTION_FROZEN = 5, + ACTION_IDLE = 6, + NR_SYNC_ACTIONS = 7, +}; + +enum sys_off_mode { + SYS_OFF_MODE_POWER_OFF_PREPARE = 0, + SYS_OFF_MODE_POWER_OFF = 1, + SYS_OFF_MODE_RESTART_PREPARE = 2, + SYS_OFF_MODE_RESTART = 3, +}; + +enum syscall_work_bit { + SYSCALL_WORK_BIT_SECCOMP = 0, + SYSCALL_WORK_BIT_SYSCALL_TRACEPOINT = 1, + SYSCALL_WORK_BIT_SYSCALL_TRACE = 2, + SYSCALL_WORK_BIT_SYSCALL_EMU = 3, + SYSCALL_WORK_BIT_SYSCALL_AUDIT = 4, + SYSCALL_WORK_BIT_SYSCALL_USER_DISPATCH = 5, + SYSCALL_WORK_BIT_SYSCALL_EXIT_TRAP = 6, +}; + +enum sysctl_writes_mode { + SYSCTL_WRITES_LEGACY = -1, + SYSCTL_WRITES_WARN = 0, + SYSCTL_WRITES_STRICT = 1, +}; + +enum system_states { + SYSTEM_BOOTING = 0, + SYSTEM_SCHEDULING = 1, + SYSTEM_FREEING_INITMEM = 2, + SYSTEM_RUNNING = 3, + SYSTEM_HALT = 4, + SYSTEM_POWER_OFF = 5, + SYSTEM_RESTART = 6, + SYSTEM_SUSPEND = 7, +}; + +enum t10_dif_type { + T10_PI_TYPE0_PROTECTION = 0, + T10_PI_TYPE1_PROTECTION = 1, + T10_PI_TYPE2_PROTECTION = 2, + T10_PI_TYPE3_PROTECTION = 3, +}; + +enum taa_mitigations { + TAA_MITIGATION_OFF = 0, + TAA_MITIGATION_AUTO = 1, + TAA_MITIGATION_UCODE_NEEDED = 2, + TAA_MITIGATION_VERW = 3, + TAA_MITIGATION_TSX_DISABLED = 4, +}; + +enum task_work_notify_mode { + TWA_NONE = 0, + TWA_RESUME = 1, + TWA_SIGNAL = 2, + TWA_SIGNAL_NO_IPI = 3, + TWA_NMI_CURRENT = 4, +}; + +enum tc_fifo_command { + TC_FIFO_REPLACE = 0, + TC_FIFO_DESTROY = 1, + TC_FIFO_STATS = 2, +}; + +enum tc_link_layer { + TC_LINKLAYER_UNAWARE = 0, + TC_LINKLAYER_ETHERNET = 1, + TC_LINKLAYER_ATM = 2, +}; + +enum tc_mq_command { + TC_MQ_CREATE = 0, + TC_MQ_DESTROY = 1, + TC_MQ_STATS = 2, + TC_MQ_GRAFT = 3, +}; + +enum tc_root_command { + TC_ROOT_GRAFT = 0, +}; + +enum tc_setup_type { + TC_QUERY_CAPS = 0, + TC_SETUP_QDISC_MQPRIO = 1, + TC_SETUP_CLSU32 = 2, + TC_SETUP_CLSFLOWER = 3, + TC_SETUP_CLSMATCHALL = 4, + TC_SETUP_CLSBPF = 5, + TC_SETUP_BLOCK = 6, + TC_SETUP_QDISC_CBS = 7, + TC_SETUP_QDISC_RED = 8, + TC_SETUP_QDISC_PRIO = 9, + TC_SETUP_QDISC_MQ = 10, + TC_SETUP_QDISC_ETF = 11, + TC_SETUP_ROOT_QDISC = 12, + TC_SETUP_QDISC_GRED = 13, + TC_SETUP_QDISC_TAPRIO = 14, + TC_SETUP_FT = 15, + TC_SETUP_QDISC_ETS = 16, + TC_SETUP_QDISC_TBF = 17, + TC_SETUP_QDISC_FIFO = 18, + TC_SETUP_QDISC_HTB = 19, + TC_SETUP_ACT = 20, +}; + +enum tca_id { + TCA_ID_UNSPEC = 0, + TCA_ID_POLICE = 1, + TCA_ID_GACT = 5, + TCA_ID_IPT = 6, + TCA_ID_PEDIT = 7, + TCA_ID_MIRRED = 8, + TCA_ID_NAT = 9, + TCA_ID_XT = 10, + TCA_ID_SKBEDIT = 11, + TCA_ID_VLAN = 12, + TCA_ID_BPF = 13, + TCA_ID_CONNMARK = 14, + TCA_ID_SKBMOD = 15, + TCA_ID_CSUM = 16, + TCA_ID_TUNNEL_KEY = 17, + TCA_ID_SIMP = 22, + TCA_ID_IFE = 25, + TCA_ID_SAMPLE = 26, + TCA_ID_CTINFO = 27, + TCA_ID_MPLS = 28, + TCA_ID_CT = 29, + TCA_ID_GATE = 30, + __TCA_ID_MAX = 255, +}; + +enum tcf_proto_ops_flags { + TCF_PROTO_OPS_DOIT_UNLOCKED = 1, +}; + +enum tcp_ca_ack_event_flags { + CA_ACK_SLOWPATH = 1, + CA_ACK_WIN_UPDATE = 2, + CA_ACK_ECE = 4, +}; + +enum tcp_ca_event { + CA_EVENT_TX_START = 0, + CA_EVENT_CWND_RESTART = 1, + CA_EVENT_COMPLETE_CWR = 2, + CA_EVENT_LOSS = 3, + CA_EVENT_ECN_NO_CE = 4, + CA_EVENT_ECN_IS_CE = 5, +}; + +enum tcp_ca_state { + TCP_CA_Open = 0, + TCP_CA_Disorder = 1, + TCP_CA_CWR = 2, + TCP_CA_Recovery = 3, + TCP_CA_Loss = 4, +}; + +enum tcp_chrono { + TCP_CHRONO_UNSPEC = 0, + TCP_CHRONO_BUSY = 1, + TCP_CHRONO_RWND_LIMITED = 2, + TCP_CHRONO_SNDBUF_LIMITED = 3, + __TCP_CHRONO_MAX = 4, +}; + +enum tcp_conntrack { + TCP_CONNTRACK_NONE = 0, + TCP_CONNTRACK_SYN_SENT = 1, + TCP_CONNTRACK_SYN_RECV = 2, + TCP_CONNTRACK_ESTABLISHED = 3, + TCP_CONNTRACK_FIN_WAIT = 4, + TCP_CONNTRACK_CLOSE_WAIT = 5, + TCP_CONNTRACK_LAST_ACK = 6, + TCP_CONNTRACK_TIME_WAIT = 7, + TCP_CONNTRACK_CLOSE = 8, + TCP_CONNTRACK_LISTEN = 9, + TCP_CONNTRACK_MAX = 10, + TCP_CONNTRACK_IGNORE = 11, + TCP_CONNTRACK_RETRANS = 12, + TCP_CONNTRACK_UNACK = 13, + TCP_CONNTRACK_TIMEOUT_MAX = 14, +}; + +enum tcp_fastopen_client_fail { + TFO_STATUS_UNSPEC = 0, + TFO_COOKIE_UNAVAILABLE = 1, + TFO_DATA_NOT_ACKED = 2, + TFO_SYN_RETRANSMITTED = 3, +}; + +enum tcp_metric_index { + TCP_METRIC_RTT = 0, + TCP_METRIC_RTTVAR = 1, + TCP_METRIC_SSTHRESH = 2, + TCP_METRIC_CWND = 3, + TCP_METRIC_REORDERING = 4, + TCP_METRIC_RTT_US = 5, + TCP_METRIC_RTTVAR_US = 6, + __TCP_METRIC_MAX = 7, +}; + +enum tcp_queue { + TCP_FRAG_IN_WRITE_QUEUE = 0, + TCP_FRAG_IN_RTX_QUEUE = 1, +}; + +enum tcp_seq_states { + TCP_SEQ_STATE_LISTENING = 0, + TCP_SEQ_STATE_ESTABLISHED = 1, +}; + +enum tcp_skb_cb_sacked_flags { + TCPCB_SACKED_ACKED = 1, + TCPCB_SACKED_RETRANS = 2, + TCPCB_LOST = 4, + TCPCB_TAGBITS = 7, + TCPCB_REPAIRED = 16, + TCPCB_EVER_RETRANS = 128, + TCPCB_RETRANS = 146, +}; + +enum tcp_synack_type { + TCP_SYNACK_NORMAL = 0, + TCP_SYNACK_FASTOPEN = 1, + TCP_SYNACK_COOKIE = 2, +}; + +enum tcp_tw_status { + TCP_TW_SUCCESS = 0, + TCP_TW_RST = 1, + TCP_TW_ACK = 2, + TCP_TW_SYN = 3, + TCP_TW_ACK_OOW = 4, +}; + +enum tcpa_event_types { + PREBOOT = 0, + POST_CODE = 1, + UNUSED = 2, + NO_ACTION = 3, + SEPARATOR = 4, + ACTION = 5, + EVENT_TAG = 6, + SCRTM_CONTENTS = 7, + SCRTM_VERSION = 8, + CPU_MICROCODE = 9, + PLATFORM_CONFIG_FLAGS = 10, + TABLE_OF_DEVICES = 11, + COMPACT_HASH = 12, + IPL = 13, + IPL_PARTITION_DATA = 14, + NONHOST_CODE = 15, + NONHOST_CONFIG = 16, + NONHOST_INFO = 17, +}; + +enum tcpa_pc_event_ids { + SMBIOS = 1, + BIS_CERT = 2, + POST_BIOS_ROM = 3, + ESCD = 4, + CMOS = 5, + NVRAM = 6, + OPTION_ROM_EXEC = 7, + OPTION_ROM_CONFIG = 8, + OPTION_ROM_MICROCODE = 10, + S_CRTM_VERSION = 11, + S_CRTM_CONTENTS = 12, + POST_CONTENTS = 13, + HOST_TABLE_OF_DEVICES = 14, +}; + +enum tcx_action_base { + TCX_NEXT = -1, + TCX_PASS = 0, + TCX_DROP = 2, + TCX_REDIRECT = 7, +}; + +enum tdx_module_status_t { + TDX_MODULE_UNINITIALIZED = 0, + TDX_MODULE_INITIALIZED = 1, + TDX_MODULE_ERROR = 2, +}; + +enum tg_state_flags { + THROTL_TG_PENDING = 1, + THROTL_TG_WAS_EMPTY = 2, + THROTL_TG_IOPS_WAS_EMPTY = 4, + THROTL_TG_CANCELING = 8, +}; + +enum thermal_device_mode { + THERMAL_DEVICE_DISABLED = 0, + THERMAL_DEVICE_ENABLED = 1, +}; + +enum thermal_genl_attr { + THERMAL_GENL_ATTR_UNSPEC = 0, + THERMAL_GENL_ATTR_TZ = 1, + THERMAL_GENL_ATTR_TZ_ID = 2, + THERMAL_GENL_ATTR_TZ_TEMP = 3, + THERMAL_GENL_ATTR_TZ_TRIP = 4, + THERMAL_GENL_ATTR_TZ_TRIP_ID = 5, + THERMAL_GENL_ATTR_TZ_TRIP_TYPE = 6, + THERMAL_GENL_ATTR_TZ_TRIP_TEMP = 7, + THERMAL_GENL_ATTR_TZ_TRIP_HYST = 8, + THERMAL_GENL_ATTR_TZ_MODE = 9, + THERMAL_GENL_ATTR_TZ_NAME = 10, + THERMAL_GENL_ATTR_TZ_CDEV_WEIGHT = 11, + THERMAL_GENL_ATTR_TZ_GOV = 12, + THERMAL_GENL_ATTR_TZ_GOV_NAME = 13, + THERMAL_GENL_ATTR_CDEV = 14, + THERMAL_GENL_ATTR_CDEV_ID = 15, + THERMAL_GENL_ATTR_CDEV_CUR_STATE = 16, + THERMAL_GENL_ATTR_CDEV_MAX_STATE = 17, + THERMAL_GENL_ATTR_CDEV_NAME = 18, + THERMAL_GENL_ATTR_GOV_NAME = 19, + THERMAL_GENL_ATTR_CPU_CAPABILITY = 20, + THERMAL_GENL_ATTR_CPU_CAPABILITY_ID = 21, + THERMAL_GENL_ATTR_CPU_CAPABILITY_PERFORMANCE = 22, + THERMAL_GENL_ATTR_CPU_CAPABILITY_EFFICIENCY = 23, + THERMAL_GENL_ATTR_THRESHOLD = 24, + THERMAL_GENL_ATTR_THRESHOLD_TEMP = 25, + THERMAL_GENL_ATTR_THRESHOLD_DIRECTION = 26, + THERMAL_GENL_ATTR_TZ_PREV_TEMP = 27, + __THERMAL_GENL_ATTR_MAX = 28, +}; + +enum thermal_genl_cmd { + THERMAL_GENL_CMD_UNSPEC = 0, + THERMAL_GENL_CMD_TZ_GET_ID = 1, + THERMAL_GENL_CMD_TZ_GET_TRIP = 2, + THERMAL_GENL_CMD_TZ_GET_TEMP = 3, + THERMAL_GENL_CMD_TZ_GET_GOV = 4, + THERMAL_GENL_CMD_TZ_GET_MODE = 5, + THERMAL_GENL_CMD_CDEV_GET = 6, + THERMAL_GENL_CMD_THRESHOLD_GET = 7, + THERMAL_GENL_CMD_THRESHOLD_ADD = 8, + THERMAL_GENL_CMD_THRESHOLD_DELETE = 9, + THERMAL_GENL_CMD_THRESHOLD_FLUSH = 10, + __THERMAL_GENL_CMD_MAX = 11, +}; + +enum thermal_genl_event { + THERMAL_GENL_EVENT_UNSPEC = 0, + THERMAL_GENL_EVENT_TZ_CREATE = 1, + THERMAL_GENL_EVENT_TZ_DELETE = 2, + THERMAL_GENL_EVENT_TZ_DISABLE = 3, + THERMAL_GENL_EVENT_TZ_ENABLE = 4, + THERMAL_GENL_EVENT_TZ_TRIP_UP = 5, + THERMAL_GENL_EVENT_TZ_TRIP_DOWN = 6, + THERMAL_GENL_EVENT_TZ_TRIP_CHANGE = 7, + THERMAL_GENL_EVENT_TZ_TRIP_ADD = 8, + THERMAL_GENL_EVENT_TZ_TRIP_DELETE = 9, + THERMAL_GENL_EVENT_CDEV_ADD = 10, + THERMAL_GENL_EVENT_CDEV_DELETE = 11, + THERMAL_GENL_EVENT_CDEV_STATE_UPDATE = 12, + THERMAL_GENL_EVENT_TZ_GOV_CHANGE = 13, + THERMAL_GENL_EVENT_CPU_CAPABILITY_CHANGE = 14, + THERMAL_GENL_EVENT_THRESHOLD_ADD = 15, + THERMAL_GENL_EVENT_THRESHOLD_DELETE = 16, + THERMAL_GENL_EVENT_THRESHOLD_FLUSH = 17, + THERMAL_GENL_EVENT_THRESHOLD_UP = 18, + THERMAL_GENL_EVENT_THRESHOLD_DOWN = 19, + __THERMAL_GENL_EVENT_MAX = 20, +}; + +enum thermal_genl_multicast_groups { + THERMAL_GENL_SAMPLING_GROUP = 0, + THERMAL_GENL_EVENT_GROUP = 1, + THERMAL_GENL_MAX_GROUP = 1, +}; + +enum thermal_genl_sampling { + THERMAL_GENL_SAMPLING_TEMP = 0, + __THERMAL_GENL_SAMPLING_MAX = 1, +}; + +enum thermal_notify_event { + THERMAL_EVENT_UNSPECIFIED = 0, + THERMAL_EVENT_TEMP_SAMPLE = 1, + THERMAL_TRIP_VIOLATED = 2, + THERMAL_TRIP_CHANGED = 3, + THERMAL_DEVICE_DOWN = 4, + THERMAL_DEVICE_UP = 5, + THERMAL_DEVICE_POWER_CAPABILITY_CHANGED = 6, + THERMAL_TABLE_CHANGED = 7, + THERMAL_EVENT_KEEP_ALIVE = 8, + THERMAL_TZ_BIND_CDEV = 9, + THERMAL_TZ_UNBIND_CDEV = 10, + THERMAL_INSTANCE_WEIGHT_CHANGED = 11, + THERMAL_TZ_RESUME = 12, + THERMAL_TZ_ADD_THRESHOLD = 13, + THERMAL_TZ_DEL_THRESHOLD = 14, + THERMAL_TZ_FLUSH_THRESHOLDS = 15, +}; + +enum thermal_trend { + THERMAL_TREND_STABLE = 0, + THERMAL_TREND_RAISING = 1, + THERMAL_TREND_DROPPING = 2, +}; + +enum thermal_trip_type { + THERMAL_TRIP_ACTIVE = 0, + THERMAL_TRIP_PASSIVE = 1, + THERMAL_TRIP_HOT = 2, + THERMAL_TRIP_CRITICAL = 3, +}; + +enum tick_broadcast_mode { + TICK_BROADCAST_OFF = 0, + TICK_BROADCAST_ON = 1, + TICK_BROADCAST_FORCE = 2, +}; + +enum tick_broadcast_state { + TICK_BROADCAST_EXIT = 0, + TICK_BROADCAST_ENTER = 1, +}; + +enum tick_dep_bits { + TICK_DEP_BIT_POSIX_TIMER = 0, + TICK_DEP_BIT_PERF_EVENTS = 1, + TICK_DEP_BIT_SCHED = 2, + TICK_DEP_BIT_CLOCK_UNSTABLE = 3, + TICK_DEP_BIT_RCU = 4, + TICK_DEP_BIT_RCU_EXP = 5, +}; + +enum tick_device_mode { + TICKDEV_MODE_PERIODIC = 0, + TICKDEV_MODE_ONESHOT = 1, +}; + +enum timekeeper_ids { + TIMEKEEPER_CORE = 0, + TIMEKEEPER_AUX_FIRST = 1, + TIMEKEEPER_AUX_LAST = 8, + TIMEKEEPERS_MAX = 9, +}; + +enum timekeeping_adv_mode { + TK_ADV_TICK = 0, + TK_ADV_FREQ = 1, +}; + +enum timespec_type { + TT_NONE = 0, + TT_NATIVE = 1, + TT_COMPAT = 2, +}; + +enum tis_access { + TPM_ACCESS_VALID = 128, + TPM_ACCESS_ACTIVE_LOCALITY = 32, + TPM_ACCESS_REQUEST_PENDING = 4, + TPM_ACCESS_REQUEST_USE = 2, +}; + +enum tis_defaults { + TIS_MEM_LEN = 20480, + TIS_SHORT_TIMEOUT = 750, + TIS_LONG_TIMEOUT = 4000, + TIS_TIMEOUT_MIN_ATML = 14700, + TIS_TIMEOUT_MAX_ATML = 15000, +}; + +enum tis_int_flags { + TPM_GLOBAL_INT_ENABLE = 2147483648, + TPM_INTF_BURST_COUNT_STATIC = 256, + TPM_INTF_CMD_READY_INT = 128, + TPM_INTF_INT_EDGE_FALLING = 64, + TPM_INTF_INT_EDGE_RISING = 32, + TPM_INTF_INT_LEVEL_LOW = 16, + TPM_INTF_INT_LEVEL_HIGH = 8, + TPM_INTF_LOCALITY_CHANGE_INT = 4, + TPM_INTF_STS_VALID_INT = 2, + TPM_INTF_DATA_AVAIL_INT = 1, +}; + +enum tis_status { + TPM_STS_VALID = 128, + TPM_STS_COMMAND_READY = 64, + TPM_STS_GO = 32, + TPM_STS_DATA_AVAIL = 16, + TPM_STS_DATA_EXPECT = 8, + TPM_STS_RESPONSE_RETRY = 2, + TPM_STS_READ_ZERO = 35, +}; + +enum tk_offsets { + TK_OFFS_REAL = 0, + TK_OFFS_BOOT = 1, + TK_OFFS_TAI = 2, + TK_OFFS_MAX = 3, +}; + +enum tlb_flush_reason { + TLB_FLUSH_ON_TASK_SWITCH = 0, + TLB_REMOTE_SHOOTDOWN = 1, + TLB_LOCAL_SHOOTDOWN = 2, + TLB_LOCAL_MM_SHOOTDOWN = 3, + TLB_REMOTE_SEND_IPI = 4, + TLB_REMOTE_WRONG_CPU = 5, + NR_TLB_FLUSH_REASONS = 6, +}; + +enum tls_offload_ctx_dir { + TLS_OFFLOAD_CTX_DIR_RX = 0, + TLS_OFFLOAD_CTX_DIR_TX = 1, +}; + +enum tomoyo_acl_entry_type_index { + TOMOYO_TYPE_PATH_ACL = 0, + TOMOYO_TYPE_PATH2_ACL = 1, + TOMOYO_TYPE_PATH_NUMBER_ACL = 2, + TOMOYO_TYPE_MKDEV_ACL = 3, + TOMOYO_TYPE_MOUNT_ACL = 4, + TOMOYO_TYPE_INET_ACL = 5, + TOMOYO_TYPE_UNIX_ACL = 6, + TOMOYO_TYPE_ENV_ACL = 7, + TOMOYO_TYPE_MANUAL_TASK_ACL = 8, +}; + +enum tomoyo_conditions_index { + TOMOYO_TASK_UID = 0, + TOMOYO_TASK_EUID = 1, + TOMOYO_TASK_SUID = 2, + TOMOYO_TASK_FSUID = 3, + TOMOYO_TASK_GID = 4, + TOMOYO_TASK_EGID = 5, + TOMOYO_TASK_SGID = 6, + TOMOYO_TASK_FSGID = 7, + TOMOYO_TASK_PID = 8, + TOMOYO_TASK_PPID = 9, + TOMOYO_EXEC_ARGC = 10, + TOMOYO_EXEC_ENVC = 11, + TOMOYO_TYPE_IS_SOCKET = 12, + TOMOYO_TYPE_IS_SYMLINK = 13, + TOMOYO_TYPE_IS_FILE = 14, + TOMOYO_TYPE_IS_BLOCK_DEV = 15, + TOMOYO_TYPE_IS_DIRECTORY = 16, + TOMOYO_TYPE_IS_CHAR_DEV = 17, + TOMOYO_TYPE_IS_FIFO = 18, + TOMOYO_MODE_SETUID = 19, + TOMOYO_MODE_SETGID = 20, + TOMOYO_MODE_STICKY = 21, + TOMOYO_MODE_OWNER_READ = 22, + TOMOYO_MODE_OWNER_WRITE = 23, + TOMOYO_MODE_OWNER_EXECUTE = 24, + TOMOYO_MODE_GROUP_READ = 25, + TOMOYO_MODE_GROUP_WRITE = 26, + TOMOYO_MODE_GROUP_EXECUTE = 27, + TOMOYO_MODE_OTHERS_READ = 28, + TOMOYO_MODE_OTHERS_WRITE = 29, + TOMOYO_MODE_OTHERS_EXECUTE = 30, + TOMOYO_EXEC_REALPATH = 31, + TOMOYO_SYMLINK_TARGET = 32, + TOMOYO_PATH1_UID = 33, + TOMOYO_PATH1_GID = 34, + TOMOYO_PATH1_INO = 35, + TOMOYO_PATH1_MAJOR = 36, + TOMOYO_PATH1_MINOR = 37, + TOMOYO_PATH1_PERM = 38, + TOMOYO_PATH1_TYPE = 39, + TOMOYO_PATH1_DEV_MAJOR = 40, + TOMOYO_PATH1_DEV_MINOR = 41, + TOMOYO_PATH2_UID = 42, + TOMOYO_PATH2_GID = 43, + TOMOYO_PATH2_INO = 44, + TOMOYO_PATH2_MAJOR = 45, + TOMOYO_PATH2_MINOR = 46, + TOMOYO_PATH2_PERM = 47, + TOMOYO_PATH2_TYPE = 48, + TOMOYO_PATH2_DEV_MAJOR = 49, + TOMOYO_PATH2_DEV_MINOR = 50, + TOMOYO_PATH1_PARENT_UID = 51, + TOMOYO_PATH1_PARENT_GID = 52, + TOMOYO_PATH1_PARENT_INO = 53, + TOMOYO_PATH1_PARENT_PERM = 54, + TOMOYO_PATH2_PARENT_UID = 55, + TOMOYO_PATH2_PARENT_GID = 56, + TOMOYO_PATH2_PARENT_INO = 57, + TOMOYO_PATH2_PARENT_PERM = 58, + TOMOYO_MAX_CONDITION_KEYWORD = 59, + TOMOYO_NUMBER_UNION = 60, + TOMOYO_NAME_UNION = 61, + TOMOYO_ARGV_ENTRY = 62, + TOMOYO_ENVP_ENTRY = 63, +}; + +enum tomoyo_domain_info_flags_index { + TOMOYO_DIF_QUOTA_WARNED = 0, + TOMOYO_DIF_TRANSITION_FAILED = 1, + TOMOYO_MAX_DOMAIN_INFO_FLAGS = 2, +}; + +enum tomoyo_grant_log { + TOMOYO_GRANTLOG_AUTO = 0, + TOMOYO_GRANTLOG_NO = 1, + TOMOYO_GRANTLOG_YES = 2, +}; + +enum tomoyo_group_id { + TOMOYO_PATH_GROUP = 0, + TOMOYO_NUMBER_GROUP = 1, + TOMOYO_ADDRESS_GROUP = 2, + TOMOYO_MAX_GROUP = 3, +}; + +enum tomoyo_mac_category_index { + TOMOYO_MAC_CATEGORY_FILE = 0, + TOMOYO_MAC_CATEGORY_NETWORK = 1, + TOMOYO_MAC_CATEGORY_MISC = 2, + TOMOYO_MAX_MAC_CATEGORY_INDEX = 3, +}; + +enum tomoyo_mac_index { + TOMOYO_MAC_FILE_EXECUTE = 0, + TOMOYO_MAC_FILE_OPEN = 1, + TOMOYO_MAC_FILE_CREATE = 2, + TOMOYO_MAC_FILE_UNLINK = 3, + TOMOYO_MAC_FILE_GETATTR = 4, + TOMOYO_MAC_FILE_MKDIR = 5, + TOMOYO_MAC_FILE_RMDIR = 6, + TOMOYO_MAC_FILE_MKFIFO = 7, + TOMOYO_MAC_FILE_MKSOCK = 8, + TOMOYO_MAC_FILE_TRUNCATE = 9, + TOMOYO_MAC_FILE_SYMLINK = 10, + TOMOYO_MAC_FILE_MKBLOCK = 11, + TOMOYO_MAC_FILE_MKCHAR = 12, + TOMOYO_MAC_FILE_LINK = 13, + TOMOYO_MAC_FILE_RENAME = 14, + TOMOYO_MAC_FILE_CHMOD = 15, + TOMOYO_MAC_FILE_CHOWN = 16, + TOMOYO_MAC_FILE_CHGRP = 17, + TOMOYO_MAC_FILE_IOCTL = 18, + TOMOYO_MAC_FILE_CHROOT = 19, + TOMOYO_MAC_FILE_MOUNT = 20, + TOMOYO_MAC_FILE_UMOUNT = 21, + TOMOYO_MAC_FILE_PIVOT_ROOT = 22, + TOMOYO_MAC_NETWORK_INET_STREAM_BIND = 23, + TOMOYO_MAC_NETWORK_INET_STREAM_LISTEN = 24, + TOMOYO_MAC_NETWORK_INET_STREAM_CONNECT = 25, + TOMOYO_MAC_NETWORK_INET_DGRAM_BIND = 26, + TOMOYO_MAC_NETWORK_INET_DGRAM_SEND = 27, + TOMOYO_MAC_NETWORK_INET_RAW_BIND = 28, + TOMOYO_MAC_NETWORK_INET_RAW_SEND = 29, + TOMOYO_MAC_NETWORK_UNIX_STREAM_BIND = 30, + TOMOYO_MAC_NETWORK_UNIX_STREAM_LISTEN = 31, + TOMOYO_MAC_NETWORK_UNIX_STREAM_CONNECT = 32, + TOMOYO_MAC_NETWORK_UNIX_DGRAM_BIND = 33, + TOMOYO_MAC_NETWORK_UNIX_DGRAM_SEND = 34, + TOMOYO_MAC_NETWORK_UNIX_SEQPACKET_BIND = 35, + TOMOYO_MAC_NETWORK_UNIX_SEQPACKET_LISTEN = 36, + TOMOYO_MAC_NETWORK_UNIX_SEQPACKET_CONNECT = 37, + TOMOYO_MAC_ENVIRON = 38, + TOMOYO_MAX_MAC_INDEX = 39, +}; + +enum tomoyo_memory_stat_type { + TOMOYO_MEMORY_POLICY = 0, + TOMOYO_MEMORY_AUDIT = 1, + TOMOYO_MEMORY_QUERY = 2, + TOMOYO_MAX_MEMORY_STAT = 3, +}; + +enum tomoyo_mkdev_acl_index { + TOMOYO_TYPE_MKBLOCK = 0, + TOMOYO_TYPE_MKCHAR = 1, + TOMOYO_MAX_MKDEV_OPERATION = 2, +}; + +enum tomoyo_mode_index { + TOMOYO_CONFIG_DISABLED = 0, + TOMOYO_CONFIG_LEARNING = 1, + TOMOYO_CONFIG_PERMISSIVE = 2, + TOMOYO_CONFIG_ENFORCING = 3, + TOMOYO_CONFIG_MAX_MODE = 4, + TOMOYO_CONFIG_WANT_REJECT_LOG = 64, + TOMOYO_CONFIG_WANT_GRANT_LOG = 128, + TOMOYO_CONFIG_USE_DEFAULT = 255, +}; + +enum tomoyo_network_acl_index { + TOMOYO_NETWORK_BIND = 0, + TOMOYO_NETWORK_LISTEN = 1, + TOMOYO_NETWORK_CONNECT = 2, + TOMOYO_NETWORK_SEND = 3, + TOMOYO_MAX_NETWORK_OPERATION = 4, +}; + +enum tomoyo_path2_acl_index { + TOMOYO_TYPE_LINK = 0, + TOMOYO_TYPE_RENAME = 1, + TOMOYO_TYPE_PIVOT_ROOT = 2, + TOMOYO_MAX_PATH2_OPERATION = 3, +}; + +enum tomoyo_path_acl_index { + TOMOYO_TYPE_EXECUTE = 0, + TOMOYO_TYPE_READ = 1, + TOMOYO_TYPE_WRITE = 2, + TOMOYO_TYPE_APPEND = 3, + TOMOYO_TYPE_UNLINK = 4, + TOMOYO_TYPE_GETATTR = 5, + TOMOYO_TYPE_RMDIR = 6, + TOMOYO_TYPE_TRUNCATE = 7, + TOMOYO_TYPE_SYMLINK = 8, + TOMOYO_TYPE_CHROOT = 9, + TOMOYO_TYPE_UMOUNT = 10, + TOMOYO_MAX_PATH_OPERATION = 11, +}; + +enum tomoyo_path_number_acl_index { + TOMOYO_TYPE_CREATE = 0, + TOMOYO_TYPE_MKDIR = 1, + TOMOYO_TYPE_MKFIFO = 2, + TOMOYO_TYPE_MKSOCK = 3, + TOMOYO_TYPE_IOCTL = 4, + TOMOYO_TYPE_CHMOD = 5, + TOMOYO_TYPE_CHOWN = 6, + TOMOYO_TYPE_CHGRP = 7, + TOMOYO_MAX_PATH_NUMBER_OPERATION = 8, +}; + +enum tomoyo_path_stat_index { + TOMOYO_PATH1 = 0, + TOMOYO_PATH1_PARENT = 1, + TOMOYO_PATH2 = 2, + TOMOYO_PATH2_PARENT = 3, + TOMOYO_MAX_PATH_STAT = 4, +}; + +enum tomoyo_policy_id { + TOMOYO_ID_GROUP = 0, + TOMOYO_ID_ADDRESS_GROUP = 1, + TOMOYO_ID_PATH_GROUP = 2, + TOMOYO_ID_NUMBER_GROUP = 3, + TOMOYO_ID_TRANSITION_CONTROL = 4, + TOMOYO_ID_AGGREGATOR = 5, + TOMOYO_ID_MANAGER = 6, + TOMOYO_ID_CONDITION = 7, + TOMOYO_ID_NAME = 8, + TOMOYO_ID_ACL = 9, + TOMOYO_ID_DOMAIN = 10, + TOMOYO_MAX_POLICY = 11, +}; + +enum tomoyo_policy_stat_type { + TOMOYO_STAT_POLICY_UPDATES = 0, + TOMOYO_STAT_POLICY_LEARNING = 1, + TOMOYO_STAT_POLICY_PERMISSIVE = 2, + TOMOYO_STAT_POLICY_ENFORCING = 3, + TOMOYO_MAX_POLICY_STAT = 4, +}; + +enum tomoyo_pref_index { + TOMOYO_PREF_MAX_AUDIT_LOG = 0, + TOMOYO_PREF_MAX_LEARNING_ENTRY = 1, + TOMOYO_MAX_PREF = 2, +}; + +enum tomoyo_securityfs_interface_index { + TOMOYO_DOMAINPOLICY = 0, + TOMOYO_EXCEPTIONPOLICY = 1, + TOMOYO_PROCESS_STATUS = 2, + TOMOYO_STAT = 3, + TOMOYO_AUDIT = 4, + TOMOYO_VERSION = 5, + TOMOYO_PROFILE = 6, + TOMOYO_QUERY = 7, + TOMOYO_MANAGER = 8, +}; + +enum tomoyo_special_mount { + TOMOYO_MOUNT_BIND = 0, + TOMOYO_MOUNT_MOVE = 1, + TOMOYO_MOUNT_REMOUNT = 2, + TOMOYO_MOUNT_MAKE_UNBINDABLE = 3, + TOMOYO_MOUNT_MAKE_PRIVATE = 4, + TOMOYO_MOUNT_MAKE_SLAVE = 5, + TOMOYO_MOUNT_MAKE_SHARED = 6, + TOMOYO_MAX_SPECIAL_MOUNT = 7, +}; + +enum tomoyo_transition_type { + TOMOYO_TRANSITION_CONTROL_NO_RESET = 0, + TOMOYO_TRANSITION_CONTROL_RESET = 1, + TOMOYO_TRANSITION_CONTROL_NO_INITIALIZE = 2, + TOMOYO_TRANSITION_CONTROL_INITIALIZE = 3, + TOMOYO_TRANSITION_CONTROL_NO_KEEP = 4, + TOMOYO_TRANSITION_CONTROL_KEEP = 5, + TOMOYO_MAX_TRANSITION_TYPE = 6, +}; + +enum tomoyo_value_type { + TOMOYO_VALUE_TYPE_INVALID = 0, + TOMOYO_VALUE_TYPE_DECIMAL = 1, + TOMOYO_VALUE_TYPE_OCTAL = 2, + TOMOYO_VALUE_TYPE_HEXADECIMAL = 3, +}; + +enum topo_types { + INVALID_TYPE = 0, + SMT_TYPE = 1, + CORE_TYPE = 2, + MAX_TYPE_0B = 3, + MODULE_TYPE = 3, + AMD_CCD_TYPE = 3, + TILE_TYPE = 4, + AMD_SOCKET_TYPE = 4, + MAX_TYPE_80000026 = 5, + DIE_TYPE = 5, + DIEGRP_TYPE = 6, + MAX_TYPE_1F = 7, +}; + +enum tp_func_state { + TP_FUNC_0 = 0, + TP_FUNC_1 = 1, + TP_FUNC_2 = 2, + TP_FUNC_N = 3, +}; + +enum tp_transition_sync { + TP_TRANSITION_SYNC_1_0_1 = 0, + TP_TRANSITION_SYNC_N_2_1 = 1, + _NR_TP_TRANSITION_SYNC = 2, +}; + +enum tpacket_versions { + TPACKET_V1 = 0, + TPACKET_V2 = 1, + TPACKET_V3 = 2, +}; + +enum tph_mem_type { + TPH_MEM_TYPE_VM = 0, + TPH_MEM_TYPE_PM = 1, +}; + +enum tpm2_capabilities { + TPM2_CAP_HANDLES = 1, + TPM2_CAP_COMMANDS = 2, + TPM2_CAP_PCRS = 5, + TPM2_CAP_TPM_PROPERTIES = 6, +}; + +enum tpm2_cc_attrs { + TPM2_CC_ATTR_CHANDLES = 25, + TPM2_CC_ATTR_RHANDLE = 28, + TPM2_CC_ATTR_VENDOR = 29, +}; + +enum tpm2_command_codes { + TPM2_CC_FIRST = 287, + TPM2_CC_HIERARCHY_CONTROL = 289, + TPM2_CC_HIERARCHY_CHANGE_AUTH = 297, + TPM2_CC_CREATE_PRIMARY = 305, + TPM2_CC_SEQUENCE_COMPLETE = 318, + TPM2_CC_SELF_TEST = 323, + TPM2_CC_STARTUP = 324, + TPM2_CC_SHUTDOWN = 325, + TPM2_CC_NV_READ = 334, + TPM2_CC_CREATE = 339, + TPM2_CC_LOAD = 343, + TPM2_CC_SEQUENCE_UPDATE = 348, + TPM2_CC_UNSEAL = 350, + TPM2_CC_CONTEXT_LOAD = 353, + TPM2_CC_CONTEXT_SAVE = 354, + TPM2_CC_FLUSH_CONTEXT = 357, + TPM2_CC_READ_PUBLIC = 371, + TPM2_CC_START_AUTH_SESS = 374, + TPM2_CC_VERIFY_SIGNATURE = 375, + TPM2_CC_GET_CAPABILITY = 378, + TPM2_CC_GET_RANDOM = 379, + TPM2_CC_PCR_READ = 382, + TPM2_CC_PCR_EXTEND = 386, + TPM2_CC_EVENT_SEQUENCE_COMPLETE = 389, + TPM2_CC_HASH_SEQUENCE_START = 390, + TPM2_CC_CREATE_LOADED = 401, + TPM2_CC_LAST = 403, +}; + +enum tpm2_const { + TPM2_PLATFORM_PCR = 24, + TPM2_PCR_SELECT_MIN = 3, +}; + +enum tpm2_handle_types { + TPM2_HT_HMAC_SESSION = 33554432, + TPM2_HT_POLICY_SESSION = 50331648, + TPM2_HT_TRANSIENT = 2147483648, +}; + +enum tpm2_object_attributes { + TPM2_OA_FIXED_TPM = 2, + TPM2_OA_ST_CLEAR = 4, + TPM2_OA_FIXED_PARENT = 16, + TPM2_OA_SENSITIVE_DATA_ORIGIN = 32, + TPM2_OA_USER_WITH_AUTH = 64, + TPM2_OA_ADMIN_WITH_POLICY = 128, + TPM2_OA_NO_DA = 1024, + TPM2_OA_ENCRYPTED_DUPLICATION = 2048, + TPM2_OA_RESTRICTED = 65536, + TPM2_OA_DECRYPT = 131072, + TPM2_OA_SIGN = 262144, +}; + +enum tpm2_permanent_handles { + TPM2_RH_NULL = 1073741831, + TPM2_RS_PW = 1073741833, +}; + +enum tpm2_properties { + TPM_PT_TOTAL_COMMANDS = 297, +}; + +enum tpm2_return_codes { + TPM2_RC_SUCCESS = 0, + TPM2_RC_HASH = 131, + TPM2_RC_HANDLE = 139, + TPM2_RC_INTEGRITY = 159, + TPM2_RC_INITIALIZE = 256, + TPM2_RC_FAILURE = 257, + TPM2_RC_DISABLED = 288, + TPM2_RC_UPGRADE = 301, + TPM2_RC_COMMAND_CODE = 323, + TPM2_RC_TESTING = 2314, + TPM2_RC_REFERENCE_H0 = 2320, + TPM2_RC_RETRY = 2338, + TPM2_RC_SESSION_MEMORY = 2307, +}; + +enum tpm2_session_attributes { + TPM2_SA_CONTINUE_SESSION = 1, + TPM2_SA_AUDIT_EXCLUSIVE = 2, + TPM2_SA_AUDIT_RESET = 8, + TPM2_SA_DECRYPT = 32, + TPM2_SA_ENCRYPT = 64, + TPM2_SA_AUDIT = 128, +}; + +enum tpm2_startup_types { + TPM2_SU_CLEAR = 0, + TPM2_SU_STATE = 1, +}; + +enum tpm2_structures { + TPM2_ST_NO_SESSIONS = 32769, + TPM2_ST_SESSIONS = 32770, + TPM2_ST_CREATION = 32801, +}; + +enum tpm2_timeouts { + TPM2_TIMEOUT_A = 750, + TPM2_TIMEOUT_B = 4000, + TPM2_TIMEOUT_C = 200, + TPM2_TIMEOUT_D = 30, + TPM2_DURATION_SHORT = 20, + TPM2_DURATION_MEDIUM = 750, + TPM2_DURATION_LONG = 2000, + TPM2_DURATION_LONG_LONG = 300000, + TPM2_DURATION_DEFAULT = 120000, +}; + +enum tpm2key_actions { + ACT_tpm2_key_parent = 0, + ACT_tpm2_key_priv = 1, + ACT_tpm2_key_pub = 2, + ACT_tpm2_key_type = 3, + NR__tpm2key_actions = 4, +}; + +enum tpm_algorithms { + TPM_ALG_ERROR = 0, + TPM_ALG_SHA1 = 4, + TPM_ALG_AES = 6, + TPM_ALG_KEYEDHASH = 8, + TPM_ALG_SHA256 = 11, + TPM_ALG_SHA384 = 12, + TPM_ALG_SHA512 = 13, + TPM_ALG_NULL = 16, + TPM_ALG_SM3_256 = 18, + TPM_ALG_ECC = 35, + TPM_ALG_CFB = 67, +}; + +enum tpm_buf_flags { + TPM_BUF_OVERFLOW = 1, + TPM_BUF_TPM2B = 2, + TPM_BUF_BOUNDARY_ERROR = 4, +}; + +enum tpm_capabilities { + TPM_CAP_FLAG = 4, + TPM_CAP_PROP = 5, + TPM_CAP_VERSION_1_1 = 6, + TPM_CAP_VERSION_1_2 = 26, +}; + +enum tpm_chip_flags { + TPM_CHIP_FLAG_BOOTSTRAPPED = 1, + TPM_CHIP_FLAG_TPM2 = 2, + TPM_CHIP_FLAG_IRQ = 4, + TPM_CHIP_FLAG_VIRTUAL = 8, + TPM_CHIP_FLAG_HAVE_TIMEOUTS = 16, + TPM_CHIP_FLAG_ALWAYS_POWERED = 32, + TPM_CHIP_FLAG_FIRMWARE_POWER_MANAGED = 64, + TPM_CHIP_FLAG_FIRMWARE_UPGRADE = 128, + TPM_CHIP_FLAG_SUSPENDED = 256, + TPM_CHIP_FLAG_HWRNG_DISABLED = 512, + TPM_CHIP_FLAG_DISABLE = 1024, + TPM_CHIP_FLAG_SYNC = 2048, +}; + +enum tpm_duration { + TPM_SHORT = 0, + TPM_MEDIUM = 1, + TPM_LONG = 2, + TPM_LONG_LONG = 3, + TPM_UNDEFINED = 4, + TPM_NUM_DURATIONS = 4, +}; + +enum tpm_pcrs { + TPM_PCR0 = 0, + TPM_PCR8 = 8, + TPM_PCR10 = 10, +}; + +enum tpm_sub_capabilities { + TPM_CAP_PROP_PCR = 257, + TPM_CAP_PROP_MANUFACTURER = 259, + TPM_CAP_FLAG_PERM = 264, + TPM_CAP_FLAG_VOL = 265, + TPM_CAP_PROP_OWNER = 273, + TPM_CAP_PROP_TIS_TIMEOUT = 277, + TPM_CAP_PROP_TIS_DURATION = 288, +}; + +enum tpm_timeout { + TPM_TIMEOUT = 5, + TPM_TIMEOUT_RETRY = 100, + TPM_TIMEOUT_RANGE_US = 300, + TPM_TIMEOUT_POLL = 1, + TPM_TIMEOUT_USECS_MIN = 100, + TPM_TIMEOUT_USECS_MAX = 500, +}; + +enum tpm_tis_flags { + TPM_TIS_ITPM_WORKAROUND = 0, + TPM_TIS_INVALID_STATUS = 1, + TPM_TIS_DEFAULT_CANCELLATION = 2, + TPM_TIS_IRQ_TESTED = 3, + TPM_TIS_STATUS_VALID_RETRY = 4, +}; + +enum tpm_tis_io_mode { + TPM_TIS_PHYS_8 = 0, + TPM_TIS_PHYS_16 = 1, + TPM_TIS_PHYS_32 = 2, +}; + +enum tps65090_cells { + PMIC = 0, + CHARGER = 1, +}; + +enum tps65912_irqs { + TPS65912_IRQ_PWRHOLD_F = 0, + TPS65912_IRQ_VMON = 1, + TPS65912_IRQ_PWRON = 2, + TPS65912_IRQ_PWRON_LP = 3, + TPS65912_IRQ_PWRHOLD_R = 4, + TPS65912_IRQ_HOTDIE = 5, + TPS65912_IRQ_GPIO1_R = 6, + TPS65912_IRQ_GPIO1_F = 7, + TPS65912_IRQ_GPIO2_R = 8, + TPS65912_IRQ_GPIO2_F = 9, + TPS65912_IRQ_GPIO3_R = 10, + TPS65912_IRQ_GPIO3_F = 11, + TPS65912_IRQ_GPIO4_R = 12, + TPS65912_IRQ_GPIO4_F = 13, + TPS65912_IRQ_GPIO5_R = 14, + TPS65912_IRQ_GPIO5_F = 15, + TPS65912_IRQ_PGOOD_DCDC1 = 16, + TPS65912_IRQ_PGOOD_DCDC2 = 17, + TPS65912_IRQ_PGOOD_DCDC3 = 18, + TPS65912_IRQ_PGOOD_DCDC4 = 19, + TPS65912_IRQ_PGOOD_LDO1 = 20, + TPS65912_IRQ_PGOOD_LDO2 = 21, + TPS65912_IRQ_PGOOD_LDO3 = 22, + TPS65912_IRQ_PGOOD_LDO4 = 23, + TPS65912_IRQ_PGOOD_LDO5 = 24, + TPS65912_IRQ_PGOOD_LDO6 = 25, + TPS65912_IRQ_PGOOD_LDO7 = 26, + TPS65912_IRQ_PGOOD_LDO8 = 27, + TPS65912_IRQ_PGOOD_LDO9 = 28, + TPS65912_IRQ_PGOOD_LDO10 = 29, +}; + +enum tps65917_irqs { + TPS65917_RESERVED1 = 0, + TPS65917_PWRON_IRQ = 1, + TPS65917_LONG_PRESS_KEY_IRQ = 2, + TPS65917_RESERVED2 = 3, + TPS65917_PWRDOWN_IRQ = 4, + TPS65917_HOTDIE_IRQ = 5, + TPS65917_VSYS_MON_IRQ = 6, + TPS65917_RESERVED3 = 7, + TPS65917_RESERVED4 = 8, + TPS65917_OTP_ERROR_IRQ = 9, + TPS65917_WDT_IRQ = 10, + TPS65917_RESERVED5 = 11, + TPS65917_RESET_IN_IRQ = 12, + TPS65917_FSD_IRQ = 13, + TPS65917_SHORT_IRQ = 14, + TPS65917_RESERVED6 = 15, + TPS65917_GPADC_AUTO_0_IRQ = 16, + TPS65917_GPADC_AUTO_1_IRQ = 17, + TPS65917_GPADC_EOC_SW_IRQ = 18, + TPS65917_RESREVED6 = 19, + TPS65917_RESERVED7 = 20, + TPS65917_RESERVED8 = 21, + TPS65917_RESERVED9 = 22, + TPS65917_VBUS_IRQ = 23, + TPS65917_GPIO_0_IRQ = 24, + TPS65917_GPIO_1_IRQ = 25, + TPS65917_GPIO_2_IRQ = 26, + TPS65917_GPIO_3_IRQ = 27, + TPS65917_GPIO_4_IRQ = 28, + TPS65917_GPIO_5_IRQ = 29, + TPS65917_GPIO_6_IRQ = 30, + TPS65917_RESERVED10 = 31, + TPS65917_NUM_IRQ = 32, +}; + +enum trace_flag_type { + TRACE_FLAG_IRQS_OFF = 1, + TRACE_FLAG_NEED_RESCHED_LAZY = 2, + TRACE_FLAG_NEED_RESCHED = 4, + TRACE_FLAG_HARDIRQ = 8, + TRACE_FLAG_SOFTIRQ = 16, + TRACE_FLAG_PREEMPT_RESCHED = 32, + TRACE_FLAG_NMI = 64, + TRACE_FLAG_BH_OFF = 128, +}; + +enum trace_iter_flags { + TRACE_FILE_LAT_FMT = 1, + TRACE_FILE_ANNOTATE = 2, + TRACE_FILE_TIME_IN_NS = 4, +}; + +enum trace_iterator_bits { + TRACE_ITER_PRINT_PARENT_BIT = 0, + TRACE_ITER_SYM_OFFSET_BIT = 1, + TRACE_ITER_SYM_ADDR_BIT = 2, + TRACE_ITER_VERBOSE_BIT = 3, + TRACE_ITER_RAW_BIT = 4, + TRACE_ITER_HEX_BIT = 5, + TRACE_ITER_BIN_BIT = 6, + TRACE_ITER_BLOCK_BIT = 7, + TRACE_ITER_FIELDS_BIT = 8, + TRACE_ITER_PRINTK_BIT = 9, + TRACE_ITER_ANNOTATE_BIT = 10, + TRACE_ITER_USERSTACKTRACE_BIT = 11, + TRACE_ITER_SYM_USEROBJ_BIT = 12, + TRACE_ITER_PRINTK_MSGONLY_BIT = 13, + TRACE_ITER_CONTEXT_INFO_BIT = 14, + TRACE_ITER_LATENCY_FMT_BIT = 15, + TRACE_ITER_RECORD_CMD_BIT = 16, + TRACE_ITER_RECORD_TGID_BIT = 17, + TRACE_ITER_OVERWRITE_BIT = 18, + TRACE_ITER_STOP_ON_FREE_BIT = 19, + TRACE_ITER_IRQ_INFO_BIT = 20, + TRACE_ITER_MARKERS_BIT = 21, + TRACE_ITER_EVENT_FORK_BIT = 22, + TRACE_ITER_TRACE_PRINTK_BIT = 23, + TRACE_ITER_COPY_MARKER_BIT = 24, + TRACE_ITER_PAUSE_ON_TRACE_BIT = 25, + TRACE_ITER_HASH_PTR_BIT = 26, + TRACE_ITER_FUNCTION_BIT = 27, + TRACE_ITER_FUNC_FORK_BIT = 28, + TRACE_ITER_DISPLAY_GRAPH_BIT = 29, + TRACE_ITER_STACKTRACE_BIT = 30, + TRACE_ITER_LAST_BIT = 31, +}; + +enum trace_iterator_flags { + TRACE_ITER_PRINT_PARENT = 1, + TRACE_ITER_SYM_OFFSET = 2, + TRACE_ITER_SYM_ADDR = 4, + TRACE_ITER_VERBOSE = 8, + TRACE_ITER_RAW = 16, + TRACE_ITER_HEX = 32, + TRACE_ITER_BIN = 64, + TRACE_ITER_BLOCK = 128, + TRACE_ITER_FIELDS = 256, + TRACE_ITER_PRINTK = 512, + TRACE_ITER_ANNOTATE = 1024, + TRACE_ITER_USERSTACKTRACE = 2048, + TRACE_ITER_SYM_USEROBJ = 4096, + TRACE_ITER_PRINTK_MSGONLY = 8192, + TRACE_ITER_CONTEXT_INFO = 16384, + TRACE_ITER_LATENCY_FMT = 32768, + TRACE_ITER_RECORD_CMD = 65536, + TRACE_ITER_RECORD_TGID = 131072, + TRACE_ITER_OVERWRITE = 262144, + TRACE_ITER_STOP_ON_FREE = 524288, + TRACE_ITER_IRQ_INFO = 1048576, + TRACE_ITER_MARKERS = 2097152, + TRACE_ITER_EVENT_FORK = 4194304, + TRACE_ITER_TRACE_PRINTK = 8388608, + TRACE_ITER_COPY_MARKER = 16777216, + TRACE_ITER_PAUSE_ON_TRACE = 33554432, + TRACE_ITER_HASH_PTR = 67108864, + TRACE_ITER_FUNCTION = 134217728, + TRACE_ITER_FUNC_FORK = 268435456, + TRACE_ITER_DISPLAY_GRAPH = 536870912, + TRACE_ITER_STACKTRACE = 1073741824, +}; + +enum trace_reg { + TRACE_REG_REGISTER = 0, + TRACE_REG_UNREGISTER = 1, + TRACE_REG_PERF_REGISTER = 2, + TRACE_REG_PERF_UNREGISTER = 3, + TRACE_REG_PERF_OPEN = 4, + TRACE_REG_PERF_CLOSE = 5, + TRACE_REG_PERF_ADD = 6, + TRACE_REG_PERF_DEL = 7, +}; + +enum trace_type { + __TRACE_FIRST_TYPE = 0, + TRACE_FN = 1, + TRACE_CTX = 2, + TRACE_WAKE = 3, + TRACE_STACK = 4, + TRACE_PRINT = 5, + TRACE_BPRINT = 6, + TRACE_MMIO_RW = 7, + TRACE_MMIO_MAP = 8, + TRACE_BRANCH = 9, + TRACE_GRAPH_RET = 10, + TRACE_GRAPH_ENT = 11, + TRACE_GRAPH_RETADDR_ENT = 12, + TRACE_USER_STACK = 13, + TRACE_BLK = 14, + TRACE_BPUTS = 15, + TRACE_HWLAT = 16, + TRACE_OSNOISE = 17, + TRACE_TIMERLAT = 18, + TRACE_RAW_DATA = 19, + TRACE_FUNC_REPEATS = 20, + __TRACE_LAST_TYPE = 21, +}; + +enum track_item { + TRACK_ALLOC = 0, + TRACK_FREE = 1, +}; + +enum translation_map { + LAT1_MAP = 0, + GRAF_MAP = 1, + IBMPC_MAP = 2, + USER_MAP = 3, + FIRST_MAP = 0, + LAST_MAP = 3, +}; + +enum transparent_hugepage_flag { + TRANSPARENT_HUGEPAGE_UNSUPPORTED = 0, + TRANSPARENT_HUGEPAGE_FLAG = 1, + TRANSPARENT_HUGEPAGE_REQ_MADV_FLAG = 2, + TRANSPARENT_HUGEPAGE_DEFRAG_DIRECT_FLAG = 3, + TRANSPARENT_HUGEPAGE_DEFRAG_KSWAPD_FLAG = 4, + TRANSPARENT_HUGEPAGE_DEFRAG_KSWAPD_OR_MADV_FLAG = 5, + TRANSPARENT_HUGEPAGE_DEFRAG_REQ_MADV_FLAG = 6, + TRANSPARENT_HUGEPAGE_DEFRAG_KHUGEPAGED_FLAG = 7, + TRANSPARENT_HUGEPAGE_USE_ZERO_PAGE_FLAG = 8, +}; + +enum tsa_mitigations { + TSA_MITIGATION_NONE = 0, + TSA_MITIGATION_AUTO = 1, + TSA_MITIGATION_UCODE_NEEDED = 2, + TSA_MITIGATION_USER_KERNEL = 3, + TSA_MITIGATION_VM = 4, + TSA_MITIGATION_FULL = 5, +}; + +enum tsq_enum { + TSQ_THROTTLED = 0, + TSQ_QUEUED = 1, + TCP_TSQ_DEFERRED = 2, + TCP_WRITE_TIMER_DEFERRED = 3, + TCP_DELACK_TIMER_DEFERRED = 4, + TCP_MTU_REDUCED_DEFERRED = 5, + TCP_ACK_DEFERRED = 6, +}; + +enum tsq_flags { + TSQF_THROTTLED = 1, + TSQF_QUEUED = 2, + TCPF_TSQ_DEFERRED = 4, + TCPF_WRITE_TIMER_DEFERRED = 8, + TCPF_DELACK_TIMER_DEFERRED = 16, + TCPF_MTU_REDUCED_DEFERRED = 32, + TCPF_ACK_DEFERRED = 64, +}; + +enum tsx_ctrl_states { + TSX_CTRL_ENABLE = 0, + TSX_CTRL_DISABLE = 1, + TSX_CTRL_RTM_ALWAYS_ABORT = 2, + TSX_CTRL_NOT_SUPPORTED = 3, +}; + +enum ttu_flags { + TTU_SPLIT_HUGE_PMD = 4, + TTU_IGNORE_MLOCK = 8, + TTU_SYNC = 16, + TTU_HWPOISON = 32, + TTU_BATCH_FLUSH = 64, + TTU_RMAP_LOCKED = 128, +}; + +enum tty_driver_flag { + TTY_DRIVER_INSTALLED = 1, + TTY_DRIVER_RESET_TERMIOS = 2, + TTY_DRIVER_REAL_RAW = 4, + TTY_DRIVER_DYNAMIC_DEV = 8, + TTY_DRIVER_DEVPTS_MEM = 16, + TTY_DRIVER_HARDWARE_BREAK = 32, + TTY_DRIVER_DYNAMIC_ALLOC = 64, + TTY_DRIVER_UNNUMBERED_NODE = 128, +}; + +enum tty_driver_subtype { + SYSTEM_TYPE_TTY = 1, + SYSTEM_TYPE_CONSOLE = 2, + SYSTEM_TYPE_SYSCONS = 3, + SYSTEM_TYPE_SYSPTMX = 4, + PTY_TYPE_MASTER = 1, + PTY_TYPE_SLAVE = 2, + SERIAL_TYPE_NORMAL = 1, +}; + +enum tty_driver_type { + TTY_DRIVER_TYPE_SYSTEM = 0, + TTY_DRIVER_TYPE_CONSOLE = 1, + TTY_DRIVER_TYPE_SERIAL = 2, + TTY_DRIVER_TYPE_PTY = 3, + TTY_DRIVER_TYPE_SCC = 4, + TTY_DRIVER_TYPE_SYSCONS = 5, +}; + +enum tty_flow_change { + TTY_FLOW_NO_CHANGE = 0, + TTY_THROTTLE_SAFE = 1, + TTY_UNTHROTTLE_SAFE = 2, +}; + +enum tty_struct_flags { + TTY_THROTTLED = 0, + TTY_IO_ERROR = 1, + TTY_OTHER_CLOSED = 2, + TTY_EXCLUSIVE = 3, + TTY_DO_WRITE_WAKEUP = 4, + TTY_LDISC_OPEN = 5, + TTY_PTY_LOCK = 6, + TTY_NO_WRITE_SPLIT = 7, + TTY_HUPPED = 8, + TTY_HUPPING = 9, + TTY_LDISC_CHANGING = 10, + TTY_LDISC_HALTED = 11, +}; + +enum tunable_id { + ETHTOOL_ID_UNSPEC = 0, + ETHTOOL_RX_COPYBREAK = 1, + ETHTOOL_TX_COPYBREAK = 2, + ETHTOOL_PFC_PREVENTION_TOUT = 3, + ETHTOOL_TX_COPYBREAK_BUF_SIZE = 4, + __ETHTOOL_TUNABLE_COUNT = 5, +}; + +enum tunable_type_id { + ETHTOOL_TUNABLE_UNSPEC = 0, + ETHTOOL_TUNABLE_U8 = 1, + ETHTOOL_TUNABLE_U16 = 2, + ETHTOOL_TUNABLE_U32 = 3, + ETHTOOL_TUNABLE_U64 = 4, + ETHTOOL_TUNABLE_STRING = 5, + ETHTOOL_TUNABLE_S8 = 6, + ETHTOOL_TUNABLE_S16 = 7, + ETHTOOL_TUNABLE_S32 = 8, + ETHTOOL_TUNABLE_S64 = 9, +}; + +enum twl4030_audio_res { + TWL4030_AUDIO_RES_POWER = 0, + TWL4030_AUDIO_RES_APLL = 1, + TWL4030_AUDIO_RES_MAX = 2, +}; + +enum twl4030_module_ids { + TWL4030_MODULE_AUDIO_VOICE = 9, + TWL4030_MODULE_GPIO = 10, + TWL4030_MODULE_INTBR = 11, + TWL4030_MODULE_TEST = 12, + TWL4030_MODULE_KEYPAD = 13, + TWL4030_MODULE_MADC = 14, + TWL4030_MODULE_INTERRUPTS = 15, + TWL4030_MODULE_PRECHARGE = 16, + TWL4030_MODULE_BACKUP = 17, + TWL4030_MODULE_INT = 18, + TWL5031_MODULE_ACCESSORY = 19, + TWL5031_MODULE_INTERRUPTS = 20, + TWL4030_MODULE_LAST = 21, +}; + +enum twl6030_module_ids { + TWL6030_MODULE_ID0 = 9, + TWL6030_MODULE_ID1 = 10, + TWL6030_MODULE_ID2 = 11, + TWL6030_MODULE_GPADC = 12, + TWL6030_MODULE_GASGAUGE = 13, + TWL6032_MODULE_CHARGE = 14, + TWL6030_MODULE_LAST = 15, +}; + +enum twl_module_ids { + TWL_MODULE_USB = 0, + TWL_MODULE_PIH = 1, + TWL_MODULE_MAIN_CHARGE = 2, + TWL_MODULE_PM_MASTER = 3, + TWL_MODULE_PM_RECEIVER = 4, + TWL_MODULE_RTC = 5, + TWL_MODULE_PWM = 6, + TWL_MODULE_LED = 7, + TWL_MODULE_SECURED_REG = 8, + TWL_MODULE_LAST = 9, +}; + +enum txtime_flags { + SOF_TXTIME_DEADLINE_MODE = 1, + SOF_TXTIME_REPORT_ERRORS = 2, + SOF_TXTIME_FLAGS_LAST = 2, + SOF_TXTIME_FLAGS_MASK = 3, +}; + +enum uart_iotype { + UPIO_UNKNOWN = -1, + UPIO_PORT = 0, + UPIO_HUB6 = 1, + UPIO_MEM = 2, + UPIO_MEM32 = 3, + UPIO_AU = 4, + UPIO_TSI = 5, + UPIO_MEM32BE = 6, + UPIO_MEM16 = 7, +}; + +enum uart_pm_state { + UART_PM_STATE_ON = 0, + UART_PM_STATE_OFF = 3, + UART_PM_STATE_UNDEFINED = 4, +}; + +enum uclamp_id { + UCLAMP_MIN = 0, + UCLAMP_MAX = 1, + UCLAMP_CNT = 2, +}; + +enum ucode_state { + UCODE_OK = 0, + UCODE_NEW = 1, + UCODE_NEW_SAFE = 2, + UCODE_UPDATED = 3, + UCODE_NFOUND = 4, + UCODE_ERROR = 5, + UCODE_TIMEOUT = 6, + UCODE_OFFLINE = 7, +}; + +enum ucount_type { + UCOUNT_USER_NAMESPACES = 0, + UCOUNT_PID_NAMESPACES = 1, + UCOUNT_UTS_NAMESPACES = 2, + UCOUNT_IPC_NAMESPACES = 3, + UCOUNT_NET_NAMESPACES = 4, + UCOUNT_MNT_NAMESPACES = 5, + UCOUNT_CGROUP_NAMESPACES = 6, + UCOUNT_TIME_NAMESPACES = 7, + UCOUNT_INOTIFY_INSTANCES = 8, + UCOUNT_INOTIFY_WATCHES = 9, + UCOUNT_FANOTIFY_GROUPS = 10, + UCOUNT_FANOTIFY_MARKS = 11, + UCOUNT_COUNTS = 12, +}; + +enum udp_conntrack { + UDP_CT_UNREPLIED = 0, + UDP_CT_REPLIED = 1, + UDP_CT_MAX = 2, +}; + +enum udp_parsable_tunnel_type { + UDP_TUNNEL_TYPE_VXLAN = 1, + UDP_TUNNEL_TYPE_GENEVE = 2, + UDP_TUNNEL_TYPE_VXLAN_GPE = 4, +}; + +enum udp_tunnel_nic_info_flags { + UDP_TUNNEL_NIC_INFO_OPEN_ONLY = 1, + UDP_TUNNEL_NIC_INFO_IPV4_ONLY = 2, + UDP_TUNNEL_NIC_INFO_STATIC_IANA_VXLAN = 4, +}; + +enum uhci_rh_state { + UHCI_RH_RESET = 0, + UHCI_RH_SUSPENDED = 1, + UHCI_RH_AUTO_STOPPED = 2, + UHCI_RH_RESUMING = 3, + UHCI_RH_SUSPENDING = 4, + UHCI_RH_RUNNING = 5, + UHCI_RH_RUNNING_NODEVS = 6, +}; + +enum uinput_state { + UIST_NEW_DEVICE = 0, + UIST_SETUP_COMPLETE = 1, + UIST_CREATED = 2, +}; + +enum umh_disable_depth { + UMH_ENABLED = 0, + UMH_FREEZING = 1, + UMH_DISABLED = 2, +}; + +enum umount_tree_flags { + UMOUNT_SYNC = 1, + UMOUNT_PROPAGATE = 2, + UMOUNT_CONNECTED = 4, +}; + +enum uncore_access_type { + UNCORE_ACCESS_MSR = 0, + UNCORE_ACCESS_MMIO = 1, + UNCORE_ACCESS_PCI = 2, + UNCORE_ACCESS_MAX = 3, +}; + +enum unix_vertex_index { + UNIX_VERTEX_INDEX_MARK1 = 0, + UNIX_VERTEX_INDEX_MARK2 = 1, + UNIX_VERTEX_INDEX_START = 2, +}; + +enum unwind_user_type_bits { + UNWIND_USER_TYPE_FP_BIT = 0, + NR_UNWIND_USER_TYPE_BITS = 1, +}; + +enum uprobe_task_state { + UTASK_RUNNING = 0, + UTASK_SSTEP = 1, + UTASK_SSTEP_ACK = 2, + UTASK_SSTEP_TRAPPED = 3, +}; + +enum usb3_link_state { + USB3_LPM_U0 = 0, + USB3_LPM_U1 = 1, + USB3_LPM_U2 = 2, + USB3_LPM_U3 = 3, +}; + +enum usb_charger_state { + USB_CHARGER_DEFAULT = 0, + USB_CHARGER_PRESENT = 1, + USB_CHARGER_ABSENT = 2, +}; + +enum usb_charger_type { + UNKNOWN_TYPE = 0, + SDP_TYPE = 1, + DCP_TYPE = 2, + CDP_TYPE = 3, + ACA_TYPE = 4, +}; + +enum usb_dev_authorize_policy { + USB_DEVICE_AUTHORIZE_NONE = 0, + USB_DEVICE_AUTHORIZE_ALL = 1, + USB_DEVICE_AUTHORIZE_INTERNAL = 2, +}; + +enum usb_device_speed { + USB_SPEED_UNKNOWN = 0, + USB_SPEED_LOW = 1, + USB_SPEED_FULL = 2, + USB_SPEED_HIGH = 3, + USB_SPEED_WIRELESS = 4, + USB_SPEED_SUPER = 5, + USB_SPEED_SUPER_PLUS = 6, +}; + +enum usb_device_state { + USB_STATE_NOTATTACHED = 0, + USB_STATE_ATTACHED = 1, + USB_STATE_POWERED = 2, + USB_STATE_RECONNECTING = 3, + USB_STATE_UNAUTHENTICATED = 4, + USB_STATE_DEFAULT = 5, + USB_STATE_ADDRESS = 6, + USB_STATE_CONFIGURED = 7, + USB_STATE_SUSPENDED = 8, +}; + +enum usb_dr_mode { + USB_DR_MODE_UNKNOWN = 0, + USB_DR_MODE_HOST = 1, + USB_DR_MODE_PERIPHERAL = 2, + USB_DR_MODE_OTG = 3, +}; + +enum usb_interface_condition { + USB_INTERFACE_UNBOUND = 0, + USB_INTERFACE_BINDING = 1, + USB_INTERFACE_BOUND = 2, + USB_INTERFACE_UNBINDING = 3, +}; + +enum usb_led_event { + USB_LED_EVENT_HOST = 0, + USB_LED_EVENT_GADGET = 1, +}; + +enum usb_link_tunnel_mode { + USB_LINK_UNKNOWN = 0, + USB_LINK_NATIVE = 1, + USB_LINK_TUNNELED = 2, +}; + +enum usb_otg_state { + OTG_STATE_UNDEFINED = 0, + OTG_STATE_B_IDLE = 1, + OTG_STATE_B_SRP_INIT = 2, + OTG_STATE_B_PERIPHERAL = 3, + OTG_STATE_B_WAIT_ACON = 4, + OTG_STATE_B_HOST = 5, + OTG_STATE_A_IDLE = 6, + OTG_STATE_A_WAIT_VRISE = 7, + OTG_STATE_A_WAIT_BCON = 8, + OTG_STATE_A_HOST = 9, + OTG_STATE_A_SUSPEND = 10, + OTG_STATE_A_PERIPHERAL = 11, + OTG_STATE_A_WAIT_VFALL = 12, + OTG_STATE_A_VBUS_ERR = 13, +}; + +enum usb_phy_events { + USB_EVENT_NONE = 0, + USB_EVENT_VBUS = 1, + USB_EVENT_ID = 2, + USB_EVENT_CHARGER = 3, + USB_EVENT_ENUMERATED = 4, +}; + +enum usb_phy_type { + USB_PHY_TYPE_UNDEFINED = 0, + USB_PHY_TYPE_USB2 = 1, + USB_PHY_TYPE_USB3 = 2, +}; + +enum usb_port_connect_type { + USB_PORT_CONNECT_TYPE_UNKNOWN = 0, + USB_PORT_CONNECT_TYPE_HOT_PLUG = 1, + USB_PORT_CONNECT_TYPE_HARD_WIRED = 2, + USB_PORT_NOT_USED = 3, +}; + +enum usb_role { + USB_ROLE_NONE = 0, + USB_ROLE_HOST = 1, + USB_ROLE_DEVICE = 2, +}; + +enum usb_ssp_rate { + USB_SSP_GEN_UNKNOWN = 0, + USB_SSP_GEN_2x1 = 1, + USB_SSP_GEN_1x2 = 2, + USB_SSP_GEN_2x2 = 3, +}; + +enum usb_wireless_status { + USB_WIRELESS_STATUS_NA = 0, + USB_WIRELESS_STATUS_DISCONNECTED = 1, + USB_WIRELESS_STATUS_CONNECTED = 2, +}; + +enum user_reg_flag { + USER_EVENT_REG_PERSIST = 1, + USER_EVENT_REG_MULTI_FORMAT = 2, + USER_EVENT_REG_MAX = 4, +}; + +enum utf16_endian { + UTF16_HOST_ENDIAN = 0, + UTF16_LITTLE_ENDIAN = 1, + UTF16_BIG_ENDIAN = 2, +}; + +enum utf8_normalization { + UTF8_NFDI = 0, + UTF8_NFDICF = 1, + UTF8_NMAX = 2, +}; + +enum uts_proc { + UTS_PROC_ARCH = 0, + UTS_PROC_OSTYPE = 1, + UTS_PROC_OSRELEASE = 2, + UTS_PROC_VERSION = 3, + UTS_PROC_HOSTNAME = 4, + UTS_PROC_DOMAINNAME = 5, +}; + +enum uv_bios_cmd { + UV_BIOS_COMMON = 0, + UV_BIOS_GET_SN_INFO = 1, + UV_BIOS_FREQ_BASE = 2, + UV_BIOS_WATCHLIST_ALLOC = 3, + UV_BIOS_WATCHLIST_FREE = 4, + UV_BIOS_MEMPROTECT = 5, + UV_BIOS_GET_PARTITION_ADDR = 6, + UV_BIOS_SET_LEGACY_VGA_TARGET = 7, +}; + +enum uv_memprotect { + UV_MEMPROT_RESTRICT_ACCESS = 0, + UV_MEMPROT_ALLOW_AMO = 1, + UV_MEMPROT_ALLOW_RW = 2, +}; + +enum uv_system_type { + UV_NONE = 0, + UV_LEGACY_APIC = 1, + UV_X2APIC = 2, +}; + +enum v4l2_av1_segment_feature { + V4L2_AV1_SEG_LVL_ALT_Q = 0, + V4L2_AV1_SEG_LVL_ALT_LF_Y_V = 1, + V4L2_AV1_SEG_LVL_REF_FRAME = 5, + V4L2_AV1_SEG_LVL_REF_SKIP = 6, + V4L2_AV1_SEG_LVL_REF_GLOBALMV = 7, + V4L2_AV1_SEG_LVL_MAX = 8, +}; + +enum v4l2_fwnode_bus_type { + V4L2_FWNODE_BUS_TYPE_GUESS = 0, + V4L2_FWNODE_BUS_TYPE_CSI2_CPHY = 1, + V4L2_FWNODE_BUS_TYPE_CSI1 = 2, + V4L2_FWNODE_BUS_TYPE_CCP2 = 3, + V4L2_FWNODE_BUS_TYPE_CSI2_DPHY = 4, + V4L2_FWNODE_BUS_TYPE_PARALLEL = 5, + V4L2_FWNODE_BUS_TYPE_BT656 = 6, + V4L2_FWNODE_BUS_TYPE_DPI = 7, + NR_OF_V4L2_FWNODE_BUS_TYPE = 8, +}; + +enum v4l2_preemphasis { + V4L2_PREEMPHASIS_DISABLED = 0, + V4L2_PREEMPHASIS_50_uS = 1, + V4L2_PREEMPHASIS_75_uS = 2, +}; + +enum vc_ctl_state { + ESnormal = 0, + ESesc = 1, + ESsquare = 2, + ESgetpars = 3, + ESfunckey = 4, + EShash = 5, + ESsetG0 = 6, + ESsetG1 = 7, + ESpercent = 8, + EScsiignore = 9, + ESnonstd = 10, + ESpalette = 11, + ESosc = 12, + ESANSI_first = 12, + ESapc = 13, + ESpm = 14, + ESdcs = 15, + ESANSI_last = 15, +}; + +enum vc_intensity { + VCI_HALF_BRIGHT = 0, + VCI_NORMAL = 1, + VCI_BOLD = 2, + VCI_MASK = 3, +}; + +enum vcap_action_field { + VCAP_AF_NO_VALUE = 0, + VCAP_AF_ACL_ID = 1, + VCAP_AF_CLS_VID_SEL = 2, + VCAP_AF_CNT_ID = 3, + VCAP_AF_COPY_PORT_NUM = 4, + VCAP_AF_COPY_QUEUE_NUM = 5, + VCAP_AF_CPU_COPY_ENA = 6, + VCAP_AF_CPU_QU = 7, + VCAP_AF_CPU_QUEUE_NUM = 8, + VCAP_AF_CUSTOM_ACE_TYPE_ENA = 9, + VCAP_AF_DEI_A_VAL = 10, + VCAP_AF_DEI_B_VAL = 11, + VCAP_AF_DEI_C_VAL = 12, + VCAP_AF_DEI_ENA = 13, + VCAP_AF_DEI_VAL = 14, + VCAP_AF_DLR_SEL = 15, + VCAP_AF_DP_ENA = 16, + VCAP_AF_DP_VAL = 17, + VCAP_AF_DSCP_ENA = 18, + VCAP_AF_DSCP_SEL = 19, + VCAP_AF_DSCP_VAL = 20, + VCAP_AF_ES2_REW_CMD = 21, + VCAP_AF_ESDX = 22, + VCAP_AF_FWD_KILL_ENA = 23, + VCAP_AF_FWD_MODE = 24, + VCAP_AF_FWD_SEL = 25, + VCAP_AF_HIT_ME_ONCE = 26, + VCAP_AF_HOST_MATCH = 27, + VCAP_AF_IGNORE_PIPELINE_CTRL = 28, + VCAP_AF_INTR_ENA = 29, + VCAP_AF_ISDX_ADD_REPLACE_SEL = 30, + VCAP_AF_ISDX_ADD_VAL = 31, + VCAP_AF_ISDX_ENA = 32, + VCAP_AF_ISDX_REPLACE_ENA = 33, + VCAP_AF_ISDX_VAL = 34, + VCAP_AF_LOOP_ENA = 35, + VCAP_AF_LRN_DIS = 36, + VCAP_AF_MAP_IDX = 37, + VCAP_AF_MAP_KEY = 38, + VCAP_AF_MAP_LOOKUP_SEL = 39, + VCAP_AF_MASK_MODE = 40, + VCAP_AF_MATCH_ID = 41, + VCAP_AF_MATCH_ID_MASK = 42, + VCAP_AF_MIRROR_ENA = 43, + VCAP_AF_MIRROR_PROBE = 44, + VCAP_AF_MIRROR_PROBE_ID = 45, + VCAP_AF_MRP_SEL = 46, + VCAP_AF_NXT_IDX = 47, + VCAP_AF_NXT_IDX_CTRL = 48, + VCAP_AF_OAM_SEL = 49, + VCAP_AF_PAG_OVERRIDE_MASK = 50, + VCAP_AF_PAG_VAL = 51, + VCAP_AF_PCP_A_VAL = 52, + VCAP_AF_PCP_B_VAL = 53, + VCAP_AF_PCP_C_VAL = 54, + VCAP_AF_PCP_ENA = 55, + VCAP_AF_PCP_VAL = 56, + VCAP_AF_PIPELINE_ACT = 57, + VCAP_AF_PIPELINE_FORCE_ENA = 58, + VCAP_AF_PIPELINE_PT = 59, + VCAP_AF_POLICE_ENA = 60, + VCAP_AF_POLICE_IDX = 61, + VCAP_AF_POLICE_REMARK = 62, + VCAP_AF_POLICE_VCAP_ONLY = 63, + VCAP_AF_POP_VAL = 64, + VCAP_AF_PORT_MASK = 65, + VCAP_AF_PUSH_CUSTOMER_TAG = 66, + VCAP_AF_PUSH_INNER_TAG = 67, + VCAP_AF_PUSH_OUTER_TAG = 68, + VCAP_AF_QOS_ENA = 69, + VCAP_AF_QOS_VAL = 70, + VCAP_AF_REW_OP = 71, + VCAP_AF_RT_DIS = 72, + VCAP_AF_SFID_ENA = 73, + VCAP_AF_SFID_VAL = 74, + VCAP_AF_SGID_ENA = 75, + VCAP_AF_SGID_VAL = 76, + VCAP_AF_SWAP_MACS_ENA = 77, + VCAP_AF_TAG_A_DEI_SEL = 78, + VCAP_AF_TAG_A_PCP_SEL = 79, + VCAP_AF_TAG_A_TPID_SEL = 80, + VCAP_AF_TAG_A_VID_SEL = 81, + VCAP_AF_TAG_B_DEI_SEL = 82, + VCAP_AF_TAG_B_PCP_SEL = 83, + VCAP_AF_TAG_B_TPID_SEL = 84, + VCAP_AF_TAG_B_VID_SEL = 85, + VCAP_AF_TAG_C_DEI_SEL = 86, + VCAP_AF_TAG_C_PCP_SEL = 87, + VCAP_AF_TAG_C_TPID_SEL = 88, + VCAP_AF_TAG_C_VID_SEL = 89, + VCAP_AF_TYPE = 90, + VCAP_AF_UNTAG_VID_ENA = 91, + VCAP_AF_VID_A_VAL = 92, + VCAP_AF_VID_B_VAL = 93, + VCAP_AF_VID_C_VAL = 94, + VCAP_AF_VID_REPLACE_ENA = 95, + VCAP_AF_VID_VAL = 96, + VCAP_AF_VLAN_POP_CNT = 97, + VCAP_AF_VLAN_POP_CNT_ENA = 98, +}; + +enum vcap_actionfield_set { + VCAP_AFS_NO_VALUE = 0, + VCAP_AFS_BASE_TYPE = 1, + VCAP_AFS_CLASSIFICATION = 2, + VCAP_AFS_CLASS_REDUCED = 3, + VCAP_AFS_ES0 = 4, + VCAP_AFS_FULL = 5, + VCAP_AFS_S1 = 6, + VCAP_AFS_SMAC_SIP = 7, + VCAP_AFS_VID = 8, +}; + +enum vcap_arp_opcode { + VCAP_ARP_OP_RESERVED = 0, + VCAP_ARP_OP_REQUEST = 1, + VCAP_ARP_OP_REPLY = 2, +}; + +enum vcap_bit { + VCAP_BIT_ANY = 0, + VCAP_BIT_0 = 1, + VCAP_BIT_1 = 2, +}; + +enum vcap_command { + VCAP_CMD_WRITE = 0, + VCAP_CMD_READ = 1, + VCAP_CMD_MOVE_DOWN = 2, + VCAP_CMD_MOVE_UP = 3, + VCAP_CMD_INITIALIZE = 4, +}; + +enum vcap_field_type { + VCAP_FIELD_BIT = 0, + VCAP_FIELD_U32 = 1, + VCAP_FIELD_U48 = 2, + VCAP_FIELD_U56 = 3, + VCAP_FIELD_U64 = 4, + VCAP_FIELD_U72 = 5, + VCAP_FIELD_U112 = 6, + VCAP_FIELD_U128 = 7, +}; + +enum vcap_is2_arp_opcode { + VCAP_IS2_ARP_REQUEST = 0, + VCAP_IS2_ARP_REPLY = 1, + VCAP_IS2_RARP_REQUEST = 2, + VCAP_IS2_RARP_REPLY = 3, +}; + +enum vcap_key_field { + VCAP_KF_NO_VALUE = 0, + VCAP_KF_8021BR_ECID_BASE = 1, + VCAP_KF_8021BR_ECID_EXT = 2, + VCAP_KF_8021BR_E_TAGGED = 3, + VCAP_KF_8021BR_GRP = 4, + VCAP_KF_8021BR_IGR_ECID_BASE = 5, + VCAP_KF_8021BR_IGR_ECID_EXT = 6, + VCAP_KF_8021CB_R_TAGGED_IS = 7, + VCAP_KF_8021Q_DEI0 = 8, + VCAP_KF_8021Q_DEI1 = 9, + VCAP_KF_8021Q_DEI2 = 10, + VCAP_KF_8021Q_DEI_CLS = 11, + VCAP_KF_8021Q_PCP0 = 12, + VCAP_KF_8021Q_PCP1 = 13, + VCAP_KF_8021Q_PCP2 = 14, + VCAP_KF_8021Q_PCP_CLS = 15, + VCAP_KF_8021Q_TPID = 16, + VCAP_KF_8021Q_TPID0 = 17, + VCAP_KF_8021Q_TPID1 = 18, + VCAP_KF_8021Q_TPID2 = 19, + VCAP_KF_8021Q_VID0 = 20, + VCAP_KF_8021Q_VID1 = 21, + VCAP_KF_8021Q_VID2 = 22, + VCAP_KF_8021Q_VID_CLS = 23, + VCAP_KF_8021Q_VLAN_DBL_TAGGED_IS = 24, + VCAP_KF_8021Q_VLAN_TAGGED_IS = 25, + VCAP_KF_8021Q_VLAN_TAGS = 26, + VCAP_KF_ACL_GRP_ID = 27, + VCAP_KF_ARP_ADDR_SPACE_OK_IS = 28, + VCAP_KF_ARP_LEN_OK_IS = 29, + VCAP_KF_ARP_OPCODE = 30, + VCAP_KF_ARP_OPCODE_UNKNOWN_IS = 31, + VCAP_KF_ARP_PROTO_SPACE_OK_IS = 32, + VCAP_KF_ARP_SENDER_MATCH_IS = 33, + VCAP_KF_ARP_TGT_MATCH_IS = 34, + VCAP_KF_COSID_CLS = 35, + VCAP_KF_ES0_ISDX_KEY_ENA = 36, + VCAP_KF_ETYPE = 37, + VCAP_KF_ETYPE_LEN_IS = 38, + VCAP_KF_HOST_MATCH = 39, + VCAP_KF_IF_EGR_PORT_MASK = 40, + VCAP_KF_IF_EGR_PORT_MASK_RNG = 41, + VCAP_KF_IF_EGR_PORT_NO = 42, + VCAP_KF_IF_IGR_PORT = 43, + VCAP_KF_IF_IGR_PORT_MASK = 44, + VCAP_KF_IF_IGR_PORT_MASK_L3 = 45, + VCAP_KF_IF_IGR_PORT_MASK_RNG = 46, + VCAP_KF_IF_IGR_PORT_MASK_SEL = 47, + VCAP_KF_IF_IGR_PORT_SEL = 48, + VCAP_KF_IP4_IS = 49, + VCAP_KF_IP_MC_IS = 50, + VCAP_KF_IP_PAYLOAD_5TUPLE = 51, + VCAP_KF_IP_PAYLOAD_S1_IP6 = 52, + VCAP_KF_IP_SNAP_IS = 53, + VCAP_KF_ISDX_CLS = 54, + VCAP_KF_ISDX_GT0_IS = 55, + VCAP_KF_L2_BC_IS = 56, + VCAP_KF_L2_DMAC = 57, + VCAP_KF_L2_FRM_TYPE = 58, + VCAP_KF_L2_FWD_IS = 59, + VCAP_KF_L2_LLC = 60, + VCAP_KF_L2_MAC = 61, + VCAP_KF_L2_MC_IS = 62, + VCAP_KF_L2_PAYLOAD0 = 63, + VCAP_KF_L2_PAYLOAD1 = 64, + VCAP_KF_L2_PAYLOAD2 = 65, + VCAP_KF_L2_PAYLOAD_ETYPE = 66, + VCAP_KF_L2_SMAC = 67, + VCAP_KF_L2_SNAP = 68, + VCAP_KF_L3_DIP_EQ_SIP_IS = 69, + VCAP_KF_L3_DPL_CLS = 70, + VCAP_KF_L3_DSCP = 71, + VCAP_KF_L3_DST_IS = 72, + VCAP_KF_L3_FRAGMENT = 73, + VCAP_KF_L3_FRAGMENT_TYPE = 74, + VCAP_KF_L3_FRAG_INVLD_L4_LEN = 75, + VCAP_KF_L3_FRAG_OFS_GT0 = 76, + VCAP_KF_L3_IP4_DIP = 77, + VCAP_KF_L3_IP4_SIP = 78, + VCAP_KF_L3_IP6_DIP = 79, + VCAP_KF_L3_IP6_DIP_MSB = 80, + VCAP_KF_L3_IP6_SIP = 81, + VCAP_KF_L3_IP6_SIP_MSB = 82, + VCAP_KF_L3_IP_PROTO = 83, + VCAP_KF_L3_OPTIONS_IS = 84, + VCAP_KF_L3_PAYLOAD = 85, + VCAP_KF_L3_RT_IS = 86, + VCAP_KF_L3_TOS = 87, + VCAP_KF_L3_TTL_GT0 = 88, + VCAP_KF_L4_1588_DOM = 89, + VCAP_KF_L4_1588_VER = 90, + VCAP_KF_L4_ACK = 91, + VCAP_KF_L4_DPORT = 92, + VCAP_KF_L4_FIN = 93, + VCAP_KF_L4_PAYLOAD = 94, + VCAP_KF_L4_PSH = 95, + VCAP_KF_L4_RNG = 96, + VCAP_KF_L4_RST = 97, + VCAP_KF_L4_SEQUENCE_EQ0_IS = 98, + VCAP_KF_L4_SPORT = 99, + VCAP_KF_L4_SPORT_EQ_DPORT_IS = 100, + VCAP_KF_L4_SYN = 101, + VCAP_KF_L4_URG = 102, + VCAP_KF_LOOKUP_FIRST_IS = 103, + VCAP_KF_LOOKUP_GEN_IDX = 104, + VCAP_KF_LOOKUP_GEN_IDX_SEL = 105, + VCAP_KF_LOOKUP_INDEX = 106, + VCAP_KF_LOOKUP_PAG = 107, + VCAP_KF_MIRROR_PROBE = 108, + VCAP_KF_OAM_CCM_CNTS_EQ0 = 109, + VCAP_KF_OAM_DETECTED = 110, + VCAP_KF_OAM_FLAGS = 111, + VCAP_KF_OAM_MEL_FLAGS = 112, + VCAP_KF_OAM_MEPID = 113, + VCAP_KF_OAM_OPCODE = 114, + VCAP_KF_OAM_VER = 115, + VCAP_KF_OAM_Y1731_IS = 116, + VCAP_KF_PDU_TYPE = 117, + VCAP_KF_PROT_ACTIVE = 118, + VCAP_KF_RTP_ID = 119, + VCAP_KF_RT_FRMID = 120, + VCAP_KF_RT_TYPE = 121, + VCAP_KF_RT_VLAN_IDX = 122, + VCAP_KF_TCP_IS = 123, + VCAP_KF_TCP_UDP_IS = 124, + VCAP_KF_TYPE = 125, +}; + +enum vcap_keyfield_set { + VCAP_KFS_NO_VALUE = 0, + VCAP_KFS_5TUPLE_IP4 = 1, + VCAP_KFS_5TUPLE_IP6 = 2, + VCAP_KFS_7TUPLE = 3, + VCAP_KFS_ARP = 4, + VCAP_KFS_DBL_VID = 5, + VCAP_KFS_DMAC_VID = 6, + VCAP_KFS_ETAG = 7, + VCAP_KFS_IP4_OTHER = 8, + VCAP_KFS_IP4_TCP_UDP = 9, + VCAP_KFS_IP4_VID = 10, + VCAP_KFS_IP6_OTHER = 11, + VCAP_KFS_IP6_STD = 12, + VCAP_KFS_IP6_TCP_UDP = 13, + VCAP_KFS_IP6_VID = 14, + VCAP_KFS_IP_7TUPLE = 15, + VCAP_KFS_ISDX = 16, + VCAP_KFS_LL_FULL = 17, + VCAP_KFS_MAC_ETYPE = 18, + VCAP_KFS_MAC_LLC = 19, + VCAP_KFS_MAC_SNAP = 20, + VCAP_KFS_NORMAL = 21, + VCAP_KFS_NORMAL_5TUPLE_IP4 = 22, + VCAP_KFS_NORMAL_7TUPLE = 23, + VCAP_KFS_NORMAL_IP6 = 24, + VCAP_KFS_OAM = 25, + VCAP_KFS_PURE_5TUPLE_IP4 = 26, + VCAP_KFS_RT = 27, + VCAP_KFS_SMAC_SIP4 = 28, + VCAP_KFS_SMAC_SIP6 = 29, + VCAP_KFS_VID = 30, +}; + +enum vcap_rule_error { + VCAP_ERR_NONE = 0, + VCAP_ERR_NO_ADMIN = 1, + VCAP_ERR_NO_NETDEV = 2, + VCAP_ERR_NO_KEYSET_MATCH = 3, + VCAP_ERR_NO_ACTIONSET_MATCH = 4, + VCAP_ERR_NO_PORT_KEYSET_MATCH = 5, +}; + +enum vcap_rule_state { + VCAP_RS_PERMANENT = 0, + VCAP_RS_ENABLED = 1, + VCAP_RS_DISABLED = 2, +}; + +enum vcap_selection { + VCAP_SEL_ENTRY = 1, + VCAP_SEL_ACTION = 2, + VCAP_SEL_COUNTER = 4, + VCAP_SEL_ALL = 255, +}; + +enum vcap_type { + VCAP_TYPE_ES0 = 0, + VCAP_TYPE_ES2 = 1, + VCAP_TYPE_IS0 = 2, + VCAP_TYPE_IS1 = 3, + VCAP_TYPE_IS2 = 4, + VCAP_TYPE_MAX = 5, +}; + +enum vcap_user { + VCAP_USER_PTP = 0, + VCAP_USER_MRP = 1, + VCAP_USER_CFM = 2, + VCAP_USER_VLAN = 3, + VCAP_USER_QOS = 4, + VCAP_USER_VCAP_UTIL = 5, + VCAP_USER_TC = 6, + VCAP_USER_TC_EXTRA = 7, + __VCAP_USER_AFTER_LAST = 8, + VCAP_USER_MAX = 7, +}; + +enum vcpu_state { + VCPU_RUNNING = 0, + VCPU_HALTED = 1, + VCPU_HASHED = 2, +}; + +enum vdso_clock_mode { + VDSO_CLOCKMODE_NONE = 0, + VDSO_CLOCKMODE_TSC = 1, + VDSO_CLOCKMODE_PVCLOCK = 2, + VDSO_CLOCKMODE_HVCLOCK = 3, + VDSO_CLOCKMODE_MAX = 4, + VDSO_CLOCKMODE_TIMENS = 2147483647, +}; + +enum vdso_pages { + VDSO_TIME_PAGE_OFFSET = 0, + VDSO_TIMENS_PAGE_OFFSET = 1, + VDSO_RNG_PAGE_OFFSET = 2, + VDSO_ARCH_PAGES_START = 3, + VDSO_ARCH_PAGES_END = 3, + VDSO_NR_PAGES = 4, +}; + +enum verifier_phase { + CHECK_META = 0, + CHECK_TYPE = 1, +}; + +enum vesa_blank_mode { + VESA_NO_BLANKING = 0, + VESA_VSYNC_SUSPEND = 1, + VESA_HSYNC_SUSPEND = 2, + VESA_POWERDOWN = 3, + VESA_BLANK_MAX = 3, +}; + +enum vga_switcheroo_client_id { + VGA_SWITCHEROO_UNKNOWN_ID = 4096, + VGA_SWITCHEROO_IGD = 0, + VGA_SWITCHEROO_DIS = 1, + VGA_SWITCHEROO_MAX_CLIENTS = 2, +}; + +enum vga_switcheroo_handler_flags_t { + VGA_SWITCHEROO_CAN_SWITCH_DDC = 1, + VGA_SWITCHEROO_NEEDS_EDP_CONFIG = 2, +}; + +enum vga_switcheroo_state { + VGA_SWITCHEROO_OFF = 0, + VGA_SWITCHEROO_ON = 1, + VGA_SWITCHEROO_NOT_FOUND = 2, +}; + +enum vhost_task_flags { + VHOST_TASK_FLAGS_STOP = 0, + VHOST_TASK_FLAGS_KILLED = 1, +}; + +enum virtio_balloon_config_read { + VIRTIO_BALLOON_CONFIG_READ_CMD_ID = 0, +}; + +enum virtio_balloon_vq { + VIRTIO_BALLOON_VQ_INFLATE = 0, + VIRTIO_BALLOON_VQ_DEFLATE = 1, + VIRTIO_BALLOON_VQ_STATS = 2, + VIRTIO_BALLOON_VQ_FREE_PAGE = 3, + VIRTIO_BALLOON_VQ_REPORTING = 4, + VIRTIO_BALLOON_VQ_MAX = 5, +}; + +enum virtnet_xmit_type { + VIRTNET_XMIT_TYPE_SKB = 0, + VIRTNET_XMIT_TYPE_SKB_ORPHAN = 1, + VIRTNET_XMIT_TYPE_XDP = 2, + VIRTNET_XMIT_TYPE_XSK = 3, +}; + +enum visit_state { + NOT_VISITED = 0, + VISITED = 1, + RESOLVED = 2, +}; + +enum vlan_flags { + VLAN_FLAG_REORDER_HDR = 1, + VLAN_FLAG_GVRP = 2, + VLAN_FLAG_LOOSE_BINDING = 4, + VLAN_FLAG_MVRP = 8, + VLAN_FLAG_BRIDGE_BINDING = 16, +}; + +enum vlan_protos { + VLAN_PROTO_8021Q = 0, + VLAN_PROTO_8021AD = 1, + VLAN_PROTO_NUM = 2, +}; + +enum vm_event_item { + PGPGIN = 0, + PGPGOUT = 1, + PSWPIN = 2, + PSWPOUT = 3, + PGALLOC_DMA = 4, + PGALLOC_DMA32 = 5, + PGALLOC_NORMAL = 6, + PGALLOC_MOVABLE = 7, + PGALLOC_DEVICE = 8, + ALLOCSTALL_DMA = 9, + ALLOCSTALL_DMA32 = 10, + ALLOCSTALL_NORMAL = 11, + ALLOCSTALL_MOVABLE = 12, + ALLOCSTALL_DEVICE = 13, + PGSCAN_SKIP_DMA = 14, + PGSCAN_SKIP_DMA32 = 15, + PGSCAN_SKIP_NORMAL = 16, + PGSCAN_SKIP_MOVABLE = 17, + PGSCAN_SKIP_DEVICE = 18, + PGFREE = 19, + PGACTIVATE = 20, + PGDEACTIVATE = 21, + PGLAZYFREE = 22, + PGFAULT = 23, + PGMAJFAULT = 24, + PGLAZYFREED = 25, + PGREFILL = 26, + PGREUSE = 27, + PGSTEAL_KSWAPD = 28, + PGSTEAL_DIRECT = 29, + PGSTEAL_KHUGEPAGED = 30, + PGSTEAL_PROACTIVE = 31, + PGSCAN_KSWAPD = 32, + PGSCAN_DIRECT = 33, + PGSCAN_KHUGEPAGED = 34, + PGSCAN_PROACTIVE = 35, + PGSCAN_DIRECT_THROTTLE = 36, + PGSCAN_ANON = 37, + PGSCAN_FILE = 38, + PGSTEAL_ANON = 39, + PGSTEAL_FILE = 40, + PGSCAN_ZONE_RECLAIM_SUCCESS = 41, + PGSCAN_ZONE_RECLAIM_FAILED = 42, + PGINODESTEAL = 43, + SLABS_SCANNED = 44, + KSWAPD_INODESTEAL = 45, + KSWAPD_LOW_WMARK_HIT_QUICKLY = 46, + KSWAPD_HIGH_WMARK_HIT_QUICKLY = 47, + PAGEOUTRUN = 48, + PGROTATED = 49, + DROP_PAGECACHE = 50, + DROP_SLAB = 51, + OOM_KILL = 52, + NUMA_PTE_UPDATES = 53, + NUMA_HUGE_PTE_UPDATES = 54, + NUMA_HINT_FAULTS = 55, + NUMA_HINT_FAULTS_LOCAL = 56, + NUMA_PAGE_MIGRATE = 57, + PGMIGRATE_SUCCESS = 58, + PGMIGRATE_FAIL = 59, + THP_MIGRATION_SUCCESS = 60, + THP_MIGRATION_FAIL = 61, + THP_MIGRATION_SPLIT = 62, + COMPACTMIGRATE_SCANNED = 63, + COMPACTFREE_SCANNED = 64, + COMPACTISOLATED = 65, + COMPACTSTALL = 66, + COMPACTFAIL = 67, + COMPACTSUCCESS = 68, + KCOMPACTD_WAKE = 69, + KCOMPACTD_MIGRATE_SCANNED = 70, + KCOMPACTD_FREE_SCANNED = 71, + HTLB_BUDDY_PGALLOC = 72, + HTLB_BUDDY_PGALLOC_FAIL = 73, + CMA_ALLOC_SUCCESS = 74, + CMA_ALLOC_FAIL = 75, + UNEVICTABLE_PGCULLED = 76, + UNEVICTABLE_PGSCANNED = 77, + UNEVICTABLE_PGRESCUED = 78, + UNEVICTABLE_PGMLOCKED = 79, + UNEVICTABLE_PGMUNLOCKED = 80, + UNEVICTABLE_PGCLEARED = 81, + UNEVICTABLE_PGSTRANDED = 82, + THP_FAULT_ALLOC = 83, + THP_FAULT_FALLBACK = 84, + THP_FAULT_FALLBACK_CHARGE = 85, + THP_COLLAPSE_ALLOC = 86, + THP_COLLAPSE_ALLOC_FAILED = 87, + THP_FILE_ALLOC = 88, + THP_FILE_FALLBACK = 89, + THP_FILE_FALLBACK_CHARGE = 90, + THP_FILE_MAPPED = 91, + THP_SPLIT_PAGE = 92, + THP_SPLIT_PAGE_FAILED = 93, + THP_DEFERRED_SPLIT_PAGE = 94, + THP_UNDERUSED_SPLIT_PAGE = 95, + THP_SPLIT_PMD = 96, + THP_SCAN_EXCEED_NONE_PTE = 97, + THP_SCAN_EXCEED_SWAP_PTE = 98, + THP_SCAN_EXCEED_SHARED_PTE = 99, + THP_SPLIT_PUD = 100, + THP_ZERO_PAGE_ALLOC = 101, + THP_ZERO_PAGE_ALLOC_FAILED = 102, + THP_SWPOUT = 103, + THP_SWPOUT_FALLBACK = 104, + BALLOON_INFLATE = 105, + BALLOON_DEFLATE = 106, + BALLOON_MIGRATE = 107, + SWAP_RA = 108, + SWAP_RA_HIT = 109, + SWPIN_ZERO = 110, + SWPOUT_ZERO = 111, + KSM_SWPIN_COPY = 112, + COW_KSM = 113, + ZSWPIN = 114, + ZSWPOUT = 115, + ZSWPWB = 116, + DIRECT_MAP_LEVEL2_SPLIT = 117, + DIRECT_MAP_LEVEL3_SPLIT = 118, + DIRECT_MAP_LEVEL2_COLLAPSE = 119, + DIRECT_MAP_LEVEL3_COLLAPSE = 120, + NR_VM_EVENT_ITEMS = 121, +}; + +enum vm_fault_reason { + VM_FAULT_OOM = 1, + VM_FAULT_SIGBUS = 2, + VM_FAULT_MAJOR = 4, + VM_FAULT_HWPOISON = 16, + VM_FAULT_HWPOISON_LARGE = 32, + VM_FAULT_SIGSEGV = 64, + VM_FAULT_NOPAGE = 256, + VM_FAULT_LOCKED = 512, + VM_FAULT_RETRY = 1024, + VM_FAULT_FALLBACK = 2048, + VM_FAULT_DONE_COW = 4096, + VM_FAULT_NEEDDSYNC = 8192, + VM_FAULT_COMPLETED = 16384, + VM_FAULT_HINDEX_MASK = 983040, +}; + +enum vm_stat_item { + NR_DIRTY_THRESHOLD = 0, + NR_DIRTY_BG_THRESHOLD = 1, + NR_MEMMAP_PAGES = 2, + NR_MEMMAP_BOOT_PAGES = 3, + NR_VM_STAT_ITEMS = 4, +}; + +enum vma_merge_state { + VMA_MERGE_START = 0, + VMA_MERGE_ERROR_NOMEM = 1, + VMA_MERGE_NOMERGE = 2, + VMA_MERGE_SUCCESS = 3, +}; + +enum vma_resv_mode { + VMA_NEEDS_RESV = 0, + VMA_COMMIT_RESV = 1, + VMA_END_RESV = 2, + VMA_ADD_RESV = 3, + VMA_DEL_RESV = 4, +}; + +enum vme_resource_type { + VME_MASTER = 0, + VME_SLAVE = 1, + VME_DMA = 2, + VME_LM = 3, +}; + +enum vmpressure_levels { + VMPRESSURE_LOW = 0, + VMPRESSURE_MEDIUM = 1, + VMPRESSURE_CRITICAL = 2, + VMPRESSURE_NUM_LEVELS = 3, +}; + +enum vmpressure_modes { + VMPRESSURE_NO_PASSTHROUGH = 0, + VMPRESSURE_HIERARCHY = 1, + VMPRESSURE_LOCAL = 2, + VMPRESSURE_NUM_MODES = 3, +}; + +enum vmscan_throttle_state { + VMSCAN_THROTTLE_WRITEBACK = 0, + VMSCAN_THROTTLE_ISOLATED = 1, + VMSCAN_THROTTLE_NOPROGRESS = 2, + VMSCAN_THROTTLE_CONGESTED = 3, + NR_VMSCAN_THROTTLE = 4, +}; + +enum vmscape_mitigations { + VMSCAPE_MITIGATION_NONE = 0, + VMSCAPE_MITIGATION_AUTO = 1, + VMSCAPE_MITIGATION_IBPB_EXIT_TO_USER = 2, + VMSCAPE_MITIGATION_IBPB_ON_VMEXIT = 3, +}; + +enum vmx_feature_leafs { + MISC_FEATURES = 0, + PRIMARY_CTLS = 1, + SECONDARY_CTLS = 2, + TERTIARY_CTLS_LOW = 3, + TERTIARY_CTLS_HIGH = 4, + NR_VMX_FEATURE_WORDS = 5, +}; + +enum vmx_l1d_flush_state { + VMENTER_L1D_FLUSH_AUTO = 0, + VMENTER_L1D_FLUSH_NEVER = 1, + VMENTER_L1D_FLUSH_COND = 2, + VMENTER_L1D_FLUSH_ALWAYS = 3, + VMENTER_L1D_FLUSH_EPT_DISABLED = 4, + VMENTER_L1D_FLUSH_NOT_REQUIRED = 5, +}; + +enum vp_vq_vector_policy { + VP_VQ_VECTOR_POLICY_EACH = 0, + VP_VQ_VECTOR_POLICY_SHARED_SLOW = 1, + VP_VQ_VECTOR_POLICY_SHARED = 2, +}; + +enum vtime_state { + VTIME_INACTIVE = 0, + VTIME_IDLE = 1, + VTIME_SYS = 2, + VTIME_USER = 3, + VTIME_GUEST = 4, +}; + +enum watch_meta_notification_subtype { + WATCH_META_REMOVAL_NOTIFICATION = 0, + WATCH_META_LOSS_NOTIFICATION = 1, +}; + +enum watch_notification_type { + WATCH_TYPE_META = 0, + WATCH_TYPE_KEY_NOTIFY = 1, + WATCH_TYPE__NR = 2, +}; + +enum wb_reason { + WB_REASON_BACKGROUND = 0, + WB_REASON_VMSCAN = 1, + WB_REASON_SYNC = 2, + WB_REASON_PERIODIC = 3, + WB_REASON_LAPTOP_TIMER = 4, + WB_REASON_FS_FREE_SPACE = 5, + WB_REASON_FORKER_THREAD = 6, + WB_REASON_FOREIGN_FLUSH = 7, + WB_REASON_MAX = 8, +}; + +enum wb_stat_item { + WB_RECLAIMABLE = 0, + WB_WRITEBACK = 1, + WB_DIRTIED = 2, + WB_WRITTEN = 3, + NR_WB_STAT_ITEMS = 4, +}; + +enum wb_state { + WB_registered = 0, + WB_writeback_running = 1, + WB_has_dirty_io = 2, + WB_start_all = 3, +}; + +enum wbrf_notifier_actions { + WBRF_CHANGED = 0, +}; + +enum wbt_flags { + WBT_TRACKED = 1, + WBT_READ = 2, + WBT_SWAP = 4, + WBT_DISCARD = 8, + WBT_NR_BITS = 4, +}; + +enum wd_read_status { + WD_READ_SUCCESS = 0, + WD_READ_UNSTABLE = 1, + WD_READ_SKIP = 2, +}; + +enum which_selector { + FS = 0, + GS = 1, +}; + +enum wiphy_flags { + WIPHY_FLAG_SUPPORTS_EXT_KEK_KCK = 1, + WIPHY_FLAG_SUPPORTS_MLO = 2, + WIPHY_FLAG_SPLIT_SCAN_6GHZ = 4, + WIPHY_FLAG_NETNS_OK = 8, + WIPHY_FLAG_PS_ON_BY_DEFAULT = 16, + WIPHY_FLAG_4ADDR_AP = 32, + WIPHY_FLAG_4ADDR_STATION = 64, + WIPHY_FLAG_CONTROL_PORT_PROTOCOL = 128, + WIPHY_FLAG_IBSS_RSN = 256, + WIPHY_FLAG_DISABLE_WEXT = 512, + WIPHY_FLAG_MESH_AUTH = 1024, + WIPHY_FLAG_SUPPORTS_EXT_KCK_32 = 2048, + WIPHY_FLAG_SUPPORTS_NSTR_NONPRIMARY = 4096, + WIPHY_FLAG_SUPPORTS_FW_ROAM = 8192, + WIPHY_FLAG_AP_UAPSD = 16384, + WIPHY_FLAG_SUPPORTS_TDLS = 32768, + WIPHY_FLAG_TDLS_EXTERNAL_SETUP = 65536, + WIPHY_FLAG_HAVE_AP_SME = 131072, + WIPHY_FLAG_REPORTS_OBSS = 262144, + WIPHY_FLAG_AP_PROBE_RESP_OFFLOAD = 524288, + WIPHY_FLAG_OFFCHAN_TX = 1048576, + WIPHY_FLAG_HAS_REMAIN_ON_CHANNEL = 2097152, + WIPHY_FLAG_SUPPORTS_5_10_MHZ = 4194304, + WIPHY_FLAG_HAS_CHANNEL_SWITCH = 8388608, + WIPHY_FLAG_NOTIFY_REGDOM_BY_DRIVER = 16777216, + WIPHY_FLAG_CHANNEL_CHANGE_ON_BEACON = 33554432, +}; + +enum wm831x_auxadc { + WM831X_AUX_CAL = 15, + WM831X_AUX_BKUP_BATT = 10, + WM831X_AUX_WALL = 9, + WM831X_AUX_BATT = 8, + WM831X_AUX_USB = 7, + WM831X_AUX_SYSVDD = 6, + WM831X_AUX_BATT_TEMP = 5, + WM831X_AUX_CHIP_TEMP = 4, + WM831X_AUX_AUX4 = 3, + WM831X_AUX_AUX3 = 2, + WM831X_AUX_AUX2 = 1, + WM831X_AUX_AUX1 = 0, +}; + +enum wm831x_parent { + WM8310 = 33552, + WM8311 = 33553, + WM8312 = 33554, + WM8320 = 33568, + WM8321 = 33569, + WM8325 = 33573, + WM8326 = 33574, +}; + +enum wm831x_status_src { + WM831X_STATUS_PRESERVE = 0, + WM831X_STATUS_OTP = 1, + WM831X_STATUS_POWER = 2, + WM831X_STATUS_CHARGER = 3, + WM831X_STATUS_MANUAL = 4, +}; + +enum wm831x_watchdog_action { + WM831X_WDOG_NONE = 0, + WM831X_WDOG_INTERRUPT = 1, + WM831X_WDOG_RESET = 2, + WM831X_WDOG_WAKE = 3, +}; + +enum work_bits { + WORK_STRUCT_PENDING_BIT = 0, + WORK_STRUCT_INACTIVE_BIT = 1, + WORK_STRUCT_PWQ_BIT = 2, + WORK_STRUCT_LINKED_BIT = 3, + WORK_STRUCT_FLAG_BITS = 4, + WORK_STRUCT_COLOR_SHIFT = 4, + WORK_STRUCT_COLOR_BITS = 4, + WORK_STRUCT_PWQ_SHIFT = 8, + WORK_OFFQ_FLAG_SHIFT = 4, + WORK_OFFQ_BH_BIT = 4, + WORK_OFFQ_FLAG_END = 5, + WORK_OFFQ_FLAG_BITS = 1, + WORK_OFFQ_DISABLE_SHIFT = 5, + WORK_OFFQ_DISABLE_BITS = 16, + WORK_OFFQ_POOL_SHIFT = 21, + WORK_OFFQ_LEFT = 43, + WORK_OFFQ_POOL_BITS = 31, +}; + +enum work_cancel_flags { + WORK_CANCEL_DELAYED = 1, + WORK_CANCEL_DISABLE = 2, +}; + +enum work_flags { + WORK_STRUCT_PENDING = 1, + WORK_STRUCT_INACTIVE = 2, + WORK_STRUCT_PWQ = 4, + WORK_STRUCT_LINKED = 8, + WORK_STRUCT_STATIC = 0, +}; + +enum worker_flags { + WORKER_DIE = 2, + WORKER_IDLE = 4, + WORKER_PREP = 8, + WORKER_CPU_INTENSIVE = 64, + WORKER_UNBOUND = 128, + WORKER_REBOUND = 256, + WORKER_NOT_RUNNING = 456, +}; + +enum worker_pool_flags { + POOL_BH = 1, + POOL_MANAGER_ACTIVE = 2, + POOL_DISASSOCIATED = 4, + POOL_BH_DRAINING = 8, +}; + +enum wq_affn_scope { + WQ_AFFN_DFL = 0, + WQ_AFFN_CPU = 1, + WQ_AFFN_SMT = 2, + WQ_AFFN_CACHE = 3, + WQ_AFFN_NUMA = 4, + WQ_AFFN_SYSTEM = 5, + WQ_AFFN_NR_TYPES = 6, +}; + +enum wq_consts { + WQ_MAX_ACTIVE = 2048, + WQ_UNBOUND_MAX_ACTIVE = 2048, + WQ_DFL_ACTIVE = 1024, + WQ_DFL_MIN_ACTIVE = 8, +}; + +enum wq_flags { + WQ_BH = 1, + WQ_UNBOUND = 2, + WQ_FREEZABLE = 4, + WQ_MEM_RECLAIM = 8, + WQ_HIGHPRI = 16, + WQ_CPU_INTENSIVE = 32, + WQ_SYSFS = 64, + WQ_POWER_EFFICIENT = 128, + WQ_PERCPU = 256, + __WQ_DESTROYING = 32768, + __WQ_DRAINING = 65536, + __WQ_ORDERED = 131072, + __WQ_LEGACY = 262144, + __WQ_BH_ALLOWS = 17, +}; + +enum wq_internal_consts { + NR_STD_WORKER_POOLS = 2, + UNBOUND_POOL_HASH_ORDER = 6, + BUSY_WORKER_HASH_ORDER = 6, + MAX_IDLE_WORKERS_RATIO = 4, + IDLE_WORKER_TIMEOUT = 300000, + MAYDAY_INITIAL_TIMEOUT = 10, + MAYDAY_INTERVAL = 100, + CREATE_COOLDOWN = 1000, + RESCUER_NICE_LEVEL = -20, + HIGHPRI_NICE_LEVEL = -20, + WQ_NAME_LEN = 32, + WORKER_ID_LEN = 42, +}; + +enum wq_misc_consts { + WORK_NR_COLORS = 16, + WORK_CPU_UNBOUND = 8192, + WORK_BUSY_PENDING = 1, + WORK_BUSY_RUNNING = 2, + WORKER_DESC_LEN = 32, +}; + +enum writeback_sync_modes { + WB_SYNC_NONE = 0, + WB_SYNC_ALL = 1, +}; + +enum x509_actions { + ACT_x509_extract_key_data = 0, + ACT_x509_extract_name_segment = 1, + ACT_x509_note_OID = 2, + ACT_x509_note_issuer = 3, + ACT_x509_note_not_after = 4, + ACT_x509_note_not_before = 5, + ACT_x509_note_params = 6, + ACT_x509_note_serial = 7, + ACT_x509_note_sig_algo = 8, + ACT_x509_note_signature = 9, + ACT_x509_note_subject = 10, + ACT_x509_note_tbs_certificate = 11, + ACT_x509_process_extension = 12, + NR__x509_actions = 13, +}; + +enum x509_akid_actions { + ACT_x509_akid_note_kid = 0, + ACT_x509_akid_note_name = 1, + ACT_x509_akid_note_serial = 2, + ACT_x509_extract_name_segment___2 = 3, + ACT_x509_note_OID___2 = 4, + NR__x509_akid_actions = 5, +}; + +enum x86_hardware_subarch { + X86_SUBARCH_PC = 0, + X86_SUBARCH_LGUEST = 1, + X86_SUBARCH_XEN = 2, + X86_SUBARCH_INTEL_MID = 3, + X86_SUBARCH_CE4100 = 4, + X86_NR_SUBARCHS = 5, +}; + +enum x86_hypervisor_type { + X86_HYPER_NATIVE = 0, + X86_HYPER_VMWARE = 1, + X86_HYPER_MS_HYPERV = 2, + X86_HYPER_XEN_PV = 3, + X86_HYPER_XEN_HVM = 4, + X86_HYPER_KVM = 5, + X86_HYPER_JAILHOUSE = 6, + X86_HYPER_ACRN = 7, +}; + +enum x86_intercept_stage; + +enum x86_legacy_i8042_state { + X86_LEGACY_I8042_PLATFORM_ABSENT = 0, + X86_LEGACY_I8042_FIRMWARE_ABSENT = 1, + X86_LEGACY_I8042_EXPECTED_PRESENT = 2, +}; + +enum x86_pf_error_code { + X86_PF_PROT = 1, + X86_PF_WRITE = 2, + X86_PF_USER = 4, + X86_PF_RSVD = 8, + X86_PF_INSTR = 16, + X86_PF_PK = 32, + X86_PF_SHSTK = 64, + X86_PF_SGX = 32768, + X86_PF_RMP = 2147483648, +}; + +enum x86_regset_32 { + REGSET32_GENERAL = 0, + REGSET32_FP = 1, + REGSET32_XFP = 2, + REGSET32_XSTATE = 3, + REGSET32_TLS = 4, + REGSET32_IOPERM = 5, +}; + +enum x86_regset_64 { + REGSET64_GENERAL = 0, + REGSET64_FP = 1, + REGSET64_IOPERM = 2, + REGSET64_XSTATE = 3, + REGSET64_SSP = 4, +}; + +enum x86_topology_cpu_type { + TOPO_CPU_TYPE_PERFORMANCE = 0, + TOPO_CPU_TYPE_EFFICIENCY = 1, + TOPO_CPU_TYPE_UNKNOWN = 2, +}; + +enum x86_topology_domains { + TOPO_SMT_DOMAIN = 0, + TOPO_CORE_DOMAIN = 1, + TOPO_MODULE_DOMAIN = 2, + TOPO_TILE_DOMAIN = 3, + TOPO_DIE_DOMAIN = 4, + TOPO_DIEGRP_DOMAIN = 5, + TOPO_PKG_DOMAIN = 6, + TOPO_MAX_DOMAIN = 7, +}; + +enum xa_lock_type { + XA_LOCK_IRQ = 1, + XA_LOCK_BH = 2, +}; + +enum xb_req_state { + xb_req_state_queued = 0, + xb_req_state_wait_reply = 1, + xb_req_state_got_reply = 2, + xb_req_state_aborted = 3, +}; + +enum xdp_action { + XDP_ABORTED = 0, + XDP_DROP = 1, + XDP_PASS = 2, + XDP_TX = 3, + XDP_REDIRECT = 4, +}; + +enum xdp_buff_flags { + XDP_FLAGS_HAS_FRAGS = 1, + XDP_FLAGS_FRAGS_PF_MEMALLOC = 2, +}; + +enum xdp_mem_type { + MEM_TYPE_PAGE_SHARED = 0, + MEM_TYPE_PAGE_ORDER0 = 1, + MEM_TYPE_PAGE_POOL = 2, + MEM_TYPE_XSK_BUFF_POOL = 3, + MEM_TYPE_MAX = 4, +}; + +enum xdp_rss_hash_type { + XDP_RSS_L3_IPV4 = 1, + XDP_RSS_L3_IPV6 = 2, + XDP_RSS_L3_DYNHDR = 4, + XDP_RSS_L4 = 8, + XDP_RSS_L4_TCP = 16, + XDP_RSS_L4_UDP = 32, + XDP_RSS_L4_SCTP = 64, + XDP_RSS_L4_IPSEC = 128, + XDP_RSS_L4_ICMP = 256, + XDP_RSS_TYPE_NONE = 0, + XDP_RSS_TYPE_L2 = 0, + XDP_RSS_TYPE_L3_IPV4 = 1, + XDP_RSS_TYPE_L3_IPV6 = 2, + XDP_RSS_TYPE_L3_IPV4_OPT = 5, + XDP_RSS_TYPE_L3_IPV6_EX = 6, + XDP_RSS_TYPE_L4_ANY = 8, + XDP_RSS_TYPE_L4_IPV4_TCP = 25, + XDP_RSS_TYPE_L4_IPV4_UDP = 41, + XDP_RSS_TYPE_L4_IPV4_SCTP = 73, + XDP_RSS_TYPE_L4_IPV4_IPSEC = 137, + XDP_RSS_TYPE_L4_IPV4_ICMP = 265, + XDP_RSS_TYPE_L4_IPV6_TCP = 26, + XDP_RSS_TYPE_L4_IPV6_UDP = 42, + XDP_RSS_TYPE_L4_IPV6_SCTP = 74, + XDP_RSS_TYPE_L4_IPV6_IPSEC = 138, + XDP_RSS_TYPE_L4_IPV6_ICMP = 266, + XDP_RSS_TYPE_L4_IPV6_TCP_EX = 30, + XDP_RSS_TYPE_L4_IPV6_UDP_EX = 46, + XDP_RSS_TYPE_L4_IPV6_SCTP_EX = 78, +}; + +enum xdp_rx_metadata { + XDP_METADATA_KFUNC_RX_TIMESTAMP = 0, + XDP_METADATA_KFUNC_RX_HASH = 1, + XDP_METADATA_KFUNC_RX_VLAN_TAG = 2, + MAX_XDP_METADATA_KFUNC = 3, +}; + +enum xen_domain_type { + XEN_NATIVE = 0, + XEN_PV_DOMAIN = 1, + XEN_HVM_DOMAIN = 2, +}; + +enum xen_irq_type { + IRQT_UNBOUND = 0, + IRQT_PIRQ = 1, + IRQT_VIRQ = 2, + IRQT_IPI = 3, + IRQT_EVTCHN = 4, +}; + +enum xen_lazy_mode { + XEN_LAZY_NONE = 0, + XEN_LAZY_MMU = 1, + XEN_LAZY_CPU = 2, +}; + +enum xen_mc_extend_args { + XEN_MC_XE_OK = 0, + XEN_MC_XE_BAD_OP = 1, + XEN_MC_XE_NO_SPACE = 2, +}; + +enum xen_mc_flush_reason { + XEN_MC_FL_NONE = 0, + XEN_MC_FL_BATCH = 1, + XEN_MC_FL_ARGS = 2, + XEN_MC_FL_CALLBACK = 3, +}; + +enum xenbus_state { + XenbusStateUnknown = 0, + XenbusStateInitialising = 1, + XenbusStateInitWait = 2, + XenbusStateInitialised = 3, + XenbusStateConnected = 4, + XenbusStateClosing = 5, + XenbusStateClosed = 6, + XenbusStateReconfiguring = 7, + XenbusStateReconfigured = 8, +}; + +enum xenstore_init { + XS_UNKNOWN = 0, + XS_PV = 1, + XS_HVM = 2, + XS_LOCAL = 3, +}; + +enum xfeature { + XFEATURE_FP = 0, + XFEATURE_SSE = 1, + XFEATURE_YMM = 2, + XFEATURE_BNDREGS = 3, + XFEATURE_BNDCSR = 4, + XFEATURE_OPMASK = 5, + XFEATURE_ZMM_Hi256 = 6, + XFEATURE_Hi16_ZMM = 7, + XFEATURE_PT_UNIMPLEMENTED_SO_FAR = 8, + XFEATURE_PKRU = 9, + XFEATURE_PASID = 10, + XFEATURE_CET_USER = 11, + XFEATURE_CET_KERNEL = 12, + XFEATURE_RSRVD_COMP_13 = 13, + XFEATURE_RSRVD_COMP_14 = 14, + XFEATURE_LBR = 15, + XFEATURE_RSRVD_COMP_16 = 16, + XFEATURE_XTILE_CFG = 17, + XFEATURE_XTILE_DATA = 18, + XFEATURE_APX = 19, + XFEATURE_MAX = 20, +}; + +enum xfrm_ae_ftype_t { + XFRM_AE_UNSPEC = 0, + XFRM_AE_RTHR = 1, + XFRM_AE_RVAL = 2, + XFRM_AE_LVAL = 4, + XFRM_AE_ETHR = 8, + XFRM_AE_CR = 16, + XFRM_AE_CE = 32, + XFRM_AE_CU = 64, + __XFRM_AE_MAX = 65, +}; + +enum xfrm_attr_type_t { + XFRMA_UNSPEC = 0, + XFRMA_ALG_AUTH = 1, + XFRMA_ALG_CRYPT = 2, + XFRMA_ALG_COMP = 3, + XFRMA_ENCAP = 4, + XFRMA_TMPL = 5, + XFRMA_SA = 6, + XFRMA_POLICY = 7, + XFRMA_SEC_CTX = 8, + XFRMA_LTIME_VAL = 9, + XFRMA_REPLAY_VAL = 10, + XFRMA_REPLAY_THRESH = 11, + XFRMA_ETIMER_THRESH = 12, + XFRMA_SRCADDR = 13, + XFRMA_COADDR = 14, + XFRMA_LASTUSED = 15, + XFRMA_POLICY_TYPE = 16, + XFRMA_MIGRATE = 17, + XFRMA_ALG_AEAD = 18, + XFRMA_KMADDRESS = 19, + XFRMA_ALG_AUTH_TRUNC = 20, + XFRMA_MARK = 21, + XFRMA_TFCPAD = 22, + XFRMA_REPLAY_ESN_VAL = 23, + XFRMA_SA_EXTRA_FLAGS = 24, + XFRMA_PROTO = 25, + XFRMA_ADDRESS_FILTER = 26, + XFRMA_PAD = 27, + XFRMA_OFFLOAD_DEV = 28, + XFRMA_SET_MARK = 29, + XFRMA_SET_MARK_MASK = 30, + XFRMA_IF_ID = 31, + XFRMA_MTIMER_THRESH = 32, + XFRMA_SA_DIR = 33, + XFRMA_NAT_KEEPALIVE_INTERVAL = 34, + XFRMA_SA_PCPU = 35, + XFRMA_IPTFS_DROP_TIME = 36, + XFRMA_IPTFS_REORDER_WINDOW = 37, + XFRMA_IPTFS_DONT_FRAG = 38, + XFRMA_IPTFS_INIT_DELAY = 39, + XFRMA_IPTFS_MAX_QSIZE = 40, + XFRMA_IPTFS_PKT_SIZE = 41, + __XFRMA_MAX = 42, +}; + +enum xfrm_nlgroups { + XFRMNLGRP_NONE = 0, + XFRMNLGRP_ACQUIRE = 1, + XFRMNLGRP_EXPIRE = 2, + XFRMNLGRP_SA = 3, + XFRMNLGRP_POLICY = 4, + XFRMNLGRP_AEVENTS = 5, + XFRMNLGRP_REPORT = 6, + XFRMNLGRP_MIGRATE = 7, + XFRMNLGRP_MAPPING = 8, + __XFRMNLGRP_MAX = 9, +}; + +enum xfrm_pol_inexact_candidate_type { + XFRM_POL_CAND_BOTH = 0, + XFRM_POL_CAND_SADDR = 1, + XFRM_POL_CAND_DADDR = 2, + XFRM_POL_CAND_ANY = 3, + XFRM_POL_CAND_MAX = 4, +}; + +enum xfrm_replay_mode { + XFRM_REPLAY_MODE_LEGACY = 0, + XFRM_REPLAY_MODE_BMP = 1, + XFRM_REPLAY_MODE_ESN = 2, +}; + +enum xfrm_sa_dir { + XFRM_SA_DIR_IN = 1, + XFRM_SA_DIR_OUT = 2, +}; + +enum xhci_cancelled_td_status { + TD_DIRTY = 0, + TD_HALTED = 1, + TD_CLEARING_CACHE = 2, + TD_CLEARING_CACHE_DEFERRED = 3, + TD_CLEARED = 4, +}; + +enum xhci_ep_reset_type { + EP_HARD_RESET = 0, + EP_SOFT_RESET = 1, +}; + +enum xhci_overhead_type { + LS_OVERHEAD_TYPE = 0, + FS_OVERHEAD_TYPE = 1, + HS_OVERHEAD_TYPE = 2, +}; + +enum xhci_ring_type { + TYPE_CTRL = 0, + TYPE_ISOC = 1, + TYPE_BULK = 2, + TYPE_INTR = 3, + TYPE_STREAM = 4, + TYPE_COMMAND = 5, + TYPE_EVENT = 6, +}; + +enum xhci_setup_dev { + SETUP_CONTEXT_ONLY = 0, + SETUP_CONTEXT_ADDRESS = 1, +}; + +enum xhci_sideband_notify_type { + XHCI_SIDEBAND_XFER_RING_FREE = 0, +}; + +enum xhci_sideband_type { + XHCI_SIDEBAND_AUDIO = 0, + XHCI_SIDEBAND_VENDOR = 1, +}; + +enum xprtsec_policies { + RPC_XPRTSEC_NONE = 0, + RPC_XPRTSEC_TLS_ANON = 1, + RPC_XPRTSEC_TLS_X509 = 2, +}; + +enum xps_map_type { + XPS_CPUS = 0, + XPS_RXQS = 1, + XPS_MAPS_MAX = 2, +}; + +enum xsd_sockmsg_type { + XS_CONTROL = 0, + XS_DIRECTORY = 1, + XS_READ = 2, + XS_GET_PERMS = 3, + XS_WATCH = 4, + XS_UNWATCH = 5, + XS_TRANSACTION_START = 6, + XS_TRANSACTION_END = 7, + XS_INTRODUCE = 8, + XS_RELEASE = 9, + XS_GET_DOMAIN_PATH = 10, + XS_WRITE = 11, + XS_MKDIR = 12, + XS_RM = 13, + XS_SET_PERMS = 14, + XS_WATCH_EVENT = 15, + XS_ERROR = 16, + XS_IS_DOMAIN_INTRODUCED = 17, + XS_RESUME = 18, + XS_SET_TARGET = 19, + XS_RESET_WATCHES = 21, + XS_DIRECTORY_PART = 22, + XS_TYPE_COUNT = 23, + XS_INVALID = 65535, +}; + +enum xstate_copy_mode { + XSTATE_COPY_FP = 0, + XSTATE_COPY_FX = 1, + XSTATE_COPY_XSAVE = 2, +}; + +enum xz_check { + XZ_CHECK_NONE = 0, + XZ_CHECK_CRC32 = 1, + XZ_CHECK_CRC64 = 4, + XZ_CHECK_SHA256 = 10, +}; + +enum xz_mode { + XZ_SINGLE = 0, + XZ_PREALLOC = 1, + XZ_DYNALLOC = 2, +}; + +enum xz_ret { + XZ_OK = 0, + XZ_STREAM_END = 1, + XZ_UNSUPPORTED_CHECK = 2, + XZ_MEM_ERROR = 3, + XZ_MEMLIMIT_ERROR = 4, + XZ_FORMAT_ERROR = 5, + XZ_OPTIONS_ERROR = 6, + XZ_DATA_ERROR = 7, + XZ_BUF_ERROR = 8, +}; + +enum zbc_zone_alignment_method { + ZBC_CONSTANT_ZONE_LENGTH = 1, + ZBC_CONSTANT_ZONE_START_OFFSET = 8, +}; + +enum zbc_zone_cond { + ZBC_ZONE_COND_NO_WP = 0, + ZBC_ZONE_COND_EMPTY = 1, + ZBC_ZONE_COND_IMP_OPEN = 2, + ZBC_ZONE_COND_EXP_OPEN = 3, + ZBC_ZONE_COND_CLOSED = 4, + ZBC_ZONE_COND_READONLY = 13, + ZBC_ZONE_COND_FULL = 14, + ZBC_ZONE_COND_OFFLINE = 15, +}; + +enum zbc_zone_type { + ZBC_ZONE_TYPE_CONV = 1, + ZBC_ZONE_TYPE_SEQWRITE_REQ = 2, + ZBC_ZONE_TYPE_SEQWRITE_PREF = 3, + ZBC_ZONE_TYPE_SEQ_OR_BEFORE_REQ = 4, + ZBC_ZONE_TYPE_GAP = 5, +}; + +enum zone_flags { + ZONE_BOOSTED_WATERMARK = 0, + ZONE_RECLAIM_ACTIVE = 1, + ZONE_BELOW_HIGH = 2, +}; + +enum zone_stat_item { + NR_FREE_PAGES = 0, + NR_FREE_PAGES_BLOCKS = 1, + NR_ZONE_LRU_BASE = 2, + NR_ZONE_INACTIVE_ANON = 2, + NR_ZONE_ACTIVE_ANON = 3, + NR_ZONE_INACTIVE_FILE = 4, + NR_ZONE_ACTIVE_FILE = 5, + NR_ZONE_UNEVICTABLE = 6, + NR_ZONE_WRITE_PENDING = 7, + NR_MLOCK = 8, + NR_ZSPAGES = 9, + NR_FREE_CMA_PAGES = 10, + NR_UNACCEPTED = 11, + NR_VM_ZONE_STAT_ITEMS = 12, +}; + +enum zone_type { + ZONE_DMA = 0, + ZONE_DMA32 = 1, + ZONE_NORMAL = 2, + ZONE_MOVABLE = 3, + ZONE_DEVICE = 4, + __MAX_NR_ZONES = 5, +}; + +enum zone_watermarks { + WMARK_MIN = 0, + WMARK_LOW = 1, + WMARK_HIGH = 2, + WMARK_PROMO = 3, + NR_WMARK = 4, +}; + +enum zswap_init_type { + ZSWAP_UNINIT = 0, + ZSWAP_INIT_SUCCEED = 1, + ZSWAP_INIT_FAILED = 2, +}; + +typedef _Bool bool; + +typedef __int128 s_max; + +typedef __int128 unsigned __u128; + +typedef __u128 u128; + +typedef u128 freelist_full_t; + +typedef __int128 unsigned u_max; + +typedef char *__guest_handle_char; + +typedef char acpi_bus_id[8]; + +typedef char acpi_device_class[20]; + +typedef char acpi_device_name[40]; + +typedef char *acpi_string; + +typedef const char (* const ethnl_string_array_t)[32]; + +typedef int *__guest_handle_int; + +typedef int __kernel_clockid_t; + +typedef int __kernel_daddr_t; + +typedef int __kernel_ipc_pid_t; + +typedef int __kernel_key_t; + +typedef int __kernel_mqd_t; + +typedef int __kernel_pid_t; + +typedef int __kernel_rwf_t; + +typedef int __kernel_timer_t; + +typedef int __s32; + +typedef int class_get_unused_fd_t; + +typedef __kernel_clockid_t clockid_t; + +typedef __s32 s32; + +typedef s32 compat_clock_t; + +typedef s32 compat_daddr_t; + +typedef s32 compat_int_t; + +typedef s32 compat_key_t; + +typedef s32 compat_long_t; + +typedef s32 compat_off_t; + +typedef s32 compat_pid_t; + +typedef s32 compat_ssize_t; + +typedef s32 compat_timer_t; + +typedef int cydp_t; + +typedef s32 dma_cookie_t; + +typedef int ext4_grpblk_t; + +typedef int folio_walk_flags_t; + +typedef int fpb_t; + +typedef int fpi_t; + +typedef int initcall_entry_t; + +typedef int insn_value_t; + +typedef s32 int32_t; + +typedef int32_t key_serial_t; + +typedef __kernel_key_t key_t; + +typedef int mhp_t; + +typedef int mm_id_mapcount_t; + +typedef int mpi_size_t; + +typedef __kernel_mqd_t mqd_t; + +typedef s32 old_time32_t; + +typedef int pci_power_t; + +typedef __kernel_pid_t pid_t; + +typedef int rmap_t; + +typedef __kernel_rwf_t rwf_t; + +typedef __s32 sctp_assoc_t; + +typedef int suspend_state_t; + +typedef __kernel_timer_t timer_t; + +typedef const int tracepoint_ptr_t; + +typedef long int __kernel_long_t; + +typedef __kernel_long_t __kernel_clock_t; + +typedef __kernel_long_t __kernel_off_t; + +typedef __kernel_long_t __kernel_old_time_t; + +typedef __kernel_long_t __kernel_ptrdiff_t; + +typedef __kernel_long_t __kernel_ssize_t; + +typedef __kernel_long_t __kernel_suseconds_t; + +typedef __kernel_clock_t clock_t; + +typedef long int intptr_t; + +typedef long int mpi_limb_signed_t; + +typedef __kernel_off_t off_t; + +typedef __kernel_ptrdiff_t ptrdiff_t; + +typedef __kernel_ssize_t ssize_t; + +typedef __kernel_suseconds_t suseconds_t; + +typedef long int xen_long_t; + +typedef long long int __s64; + +typedef __s64 Elf64_Sxword; + +typedef __s64 s64; + +typedef s64 int64_t; + +typedef int64_t S64; + +typedef long long int __kernel_loff_t; + +typedef long long int __kernel_time64_t; + +typedef s64 compat_loff_t; + +typedef s64 ktime_t; + +typedef __kernel_loff_t loff_t; + +typedef long long int qsize_t; + +typedef __s64 time64_t; + +typedef long long unsigned int __u64; + +typedef __u64 Elf64_Addr; + +typedef __u64 Elf64_Off; + +typedef __u64 Elf64_Xword; + +typedef __u64 u64; + +typedef u64 uint64_t; + +typedef uint64_t U64; + +typedef U64 ZSTD_VecMask; + +typedef __u64 __addrpair; + +typedef __u64 __be64; + +typedef uint64_t *__guest_handle_uint64_t; + +typedef __u64 __le64; + +typedef __u64 __virtio64; + +typedef u64 acpi_bus_address; + +typedef u64 acpi_integer; + +typedef u64 acpi_io_address; + +typedef u64 acpi_physical_address; + +typedef u64 acpi_size; + +typedef u64 async_cookie_t; + +typedef __u64 blist_flags_t; + +typedef u64 blkcnt_t; + +typedef uint64_t blkif_sector_t; + +typedef u64 compat_u64; + +typedef long long unsigned int cycles_t; + +typedef u64 dma_addr_t; + +typedef u64 efi_physical_addr_t; + +typedef long long unsigned int ext4_fsblk_t; + +typedef __be64 fdt64_t; + +typedef u64 gfn_t; + +typedef u64 gpa_t; + +typedef u64 hfn_t; + +typedef u64 hpa_t; + +typedef u64 io_req_flags_t; + +typedef hfn_t kvm_pfn_t; + +typedef long long unsigned int llu; + +typedef u64 netdev_features_t; + +typedef u64 pci_bus_addr_t; + +typedef u64 phys_addr_t; + +typedef phys_addr_t resource_size_t; + +typedef u64 sci_t; + +typedef u64 sector_t; + +typedef __u64 timeu64_t; + +typedef u64 upf_t; + +typedef uint64_t vli_type; + +typedef long unsigned int __kernel_ulong_t; + +typedef __kernel_ulong_t __kernel_size_t; + +typedef __kernel_size_t size_t; + +typedef size_t BitContainerType; + +typedef size_t HUF_CElt; + +typedef long unsigned int mpi_limb_t; + +typedef mpi_limb_t UWtype; + +typedef long unsigned int xen_pfn_t; + +typedef xen_pfn_t *__guest_handle_xen_pfn_t; + +typedef long unsigned int xen_ulong_t; + +typedef xen_ulong_t *__guest_handle_xen_ulong_t; + +typedef long unsigned int __kernel_old_dev_t; + +typedef __kernel_ulong_t aio_context_t; + +typedef long unsigned int dax_entry_t; + +typedef long unsigned int efi_status_t; + +typedef long unsigned int elf_greg_t; + +typedef elf_greg_t elf_gregset_t[27]; + +typedef long unsigned int gva_t; + +typedef __kernel_ulong_t ino_t; + +typedef long unsigned int irq_hw_number_t; + +typedef long unsigned int kernel_ulong_t; + +typedef long unsigned int kimage_entry_t; + +typedef long unsigned int mce_banks_t[1]; + +typedef mpi_limb_t *mpi_ptr_t; + +typedef long unsigned int netmem_ref; + +typedef long unsigned int old_sigset_t; + +typedef long unsigned int p4dval_t; + +typedef long unsigned int perf_trace_t[1024]; + +typedef long unsigned int pgdval_t; + +typedef long unsigned int pgprotval_t; + +typedef long unsigned int pmdval_t; + +typedef long unsigned int pte_marker; + +typedef long unsigned int pteval_t; + +typedef long unsigned int pudval_t; + +typedef long unsigned int uLong; + +typedef long unsigned int u_long; + +typedef long unsigned int uintptr_t; + +typedef long unsigned int ulg; + +typedef long unsigned int ulong; + +typedef uintptr_t uptrval; + +typedef long unsigned int vm_flags_t; + +typedef long unsigned int xen_callback_t; + +typedef short int __s16; + +typedef __s16 s16; + +typedef s16 int16_t; + +typedef int16_t S16; + +typedef short unsigned int __u16; + +typedef __u16 Elf32_Half; + +typedef __u16 Elf64_Half; + +typedef short unsigned int ush; + +typedef ush Pos; + +typedef __u16 u16; + +typedef u16 uint16_t; + +typedef uint16_t U16; + +typedef __u16 __be16; + +typedef u16 __compat_gid_t; + +typedef u16 __compat_uid_t; + +typedef __u16 __hc16; + +typedef short unsigned int __kernel_gid16_t; + +typedef short unsigned int __kernel_old_gid_t; + +typedef short unsigned int __kernel_old_uid_t; + +typedef short unsigned int __kernel_sa_family_t; + +typedef short unsigned int __kernel_uid16_t; + +typedef __u16 __le16; + +typedef __u16 __sum16; + +typedef __u16 __virtio16; + +typedef u16 access_mask_t; + +typedef u16 acpi_owner_id; + +typedef u16 acpi_rs_length; + +typedef __u16 bitmap_counter_t; + +typedef u16 blk_short_t; + +typedef uint16_t blkif_vdev_t; + +typedef __u16 comp_t; + +typedef u16 compat_dev_t; + +typedef u16 compat_ipc_pid_t; + +typedef u16 compat_mode_t; + +typedef u16 compat_nlink_t; + +typedef u16 compat_ushort_t; + +typedef uint16_t domid_t; + +typedef u16 efi_char16_t; + +typedef __kernel_gid16_t gid16_t; + +typedef uint16_t grant_status_t; + +typedef u16 hv_pci_rid; + +typedef u16 hv_pci_segment; + +typedef u16 layer_mask_t; + +typedef short unsigned int mifi_t; + +typedef __kernel_old_gid_t old_gid_t; + +typedef __kernel_old_uid_t old_uid_t; + +typedef short unsigned int pci_bus_flags_t; + +typedef short unsigned int pci_dev_flags_t; + +typedef __u16 port_id; + +typedef __kernel_sa_family_t sa_family_t; + +typedef u16 u_int16_t; + +typedef short unsigned int u_short; + +typedef u16 ucs2_char_t; + +typedef __kernel_uid16_t uid16_t; + +typedef __u16 uio_meta_flags_t; + +typedef short unsigned int umode_t; + +typedef short unsigned int ushort; + +typedef short unsigned int vifi_t; + +typedef u16 wchar_t; + +typedef signed char __s8; + +typedef __s8 s8; + +typedef s8 int8_t; + +typedef unsigned char __u8; + +typedef __u8 u8; + +typedef u8 uint8_t; + +typedef uint8_t BYTE; + +typedef unsigned char Byte; + +typedef uint8_t U8; + +typedef unsigned char *__guest_handle_uchar; + +typedef u8 acpi_adr_space_type; + +typedef u8 blk_status_t; + +typedef __u8 byte_t; + +typedef unsigned char cc_t; + +typedef u8 deny_masks_t; + +typedef u8 dscp_t; + +typedef __u8 dvd_challenge[10]; + +typedef __u8 dvd_key[5]; + +typedef u8 efi_bool_t; + +typedef unsigned char insn_byte_t; + +typedef u8 kprobe_opcode_t; + +typedef __u8 mctp_eid_t; + +typedef __u8 mtrr_type; + +typedef u8 retpoline_thunk_t[32]; + +typedef u8 rmap_age_t; + +typedef unsigned char u8___2; + +typedef unsigned char u_char; + +typedef u8 u_int8_t; + +typedef unsigned char uch; + +typedef u8 uprobe_opcode_t; + +typedef const unsigned char utf8leaf_t; + +typedef const unsigned char utf8trie_t; + +typedef __u8 virtio_net_ctrl_ack; + +typedef uint8_t xen_domain_handle_t[16]; + +typedef unsigned int __u32; + +typedef __u32 Elf32_Addr; + +typedef __u32 Elf32_Off; + +typedef __u32 Elf32_Word; + +typedef __u32 Elf64_Word; + +typedef unsigned int FSE_CTable; + +typedef unsigned int FSE_DTable; + +typedef __u32 u32; + +typedef u32 uint32_t; + +typedef uint32_t U32; + +typedef U32 HUF_DTable; + +typedef unsigned int IPos; + +typedef unsigned int RING_IDX; + +typedef unsigned int UHWtype; + +typedef uint32_t XENCONS_RING_IDX; + +typedef uint32_t XENSTORE_RING_IDX; + +typedef __u32 __be32; + +typedef u32 __compat_gid32_t; + +typedef u32 __compat_uid32_t; + +typedef uint32_t evtchn_port_t; + +typedef evtchn_port_t *__guest_handle_evtchn_port_t; + +typedef uint32_t *__guest_handle_uint32_t; + +typedef __u32 __hc32; + +typedef u32 __kernel_dev_t; + +typedef unsigned int __kernel_gid32_t; + +typedef unsigned int __kernel_gid_t; + +typedef unsigned int __kernel_mode_t; + +typedef unsigned int __kernel_uid32_t; + +typedef unsigned int __kernel_uid_t; + +typedef __u32 __le32; + +typedef unsigned int __poll_t; + +typedef __u32 __portpair; + +typedef __u32 __virtio32; + +typedef __u32 __wsum; + +typedef u32 acpi_event_status; + +typedef u32 acpi_mutex_handle; + +typedef u32 acpi_name; + +typedef u32 acpi_object_type; + +typedef u32 acpi_rsdesc_size; + +typedef u32 acpi_status; + +typedef unsigned int acr_flags_t; + +typedef unsigned int blk_features_t; + +typedef unsigned int blk_flags_t; + +typedef unsigned int blk_insert_t; + +typedef unsigned int blk_mode_t; + +typedef __u32 blk_mq_req_flags_t; + +typedef __u32 blk_opf_t; + +typedef unsigned int blk_qc_t; + +typedef u32 compat_aio_context_t; + +typedef u32 compat_caddr_t; + +typedef u32 compat_ino_t; + +typedef u32 compat_old_sigset_t; + +typedef u32 compat_sigset_word; + +typedef u32 compat_size_t; + +typedef u32 compat_uint_t; + +typedef u32 compat_ulong_t; + +typedef u32 compat_uptr_t; + +typedef u32 depot_flags_t; + +typedef u32 depot_stack_handle_t; + +typedef __kernel_dev_t dev_t; + +typedef uint32_t drbg_flag_t; + +typedef unsigned int drm_magic_t; + +typedef u32 errseq_t; + +typedef uint32_t event_word_t; + +typedef unsigned int ext4_group_t; + +typedef __u32 ext4_lblk_t; + +typedef __be32 fdt32_t; + +typedef unsigned int fgf_t; + +typedef unsigned int fmode_t; + +typedef unsigned int fop_flags_t; + +typedef unsigned int gfp_t; + +typedef __kernel_gid32_t gid_t; + +typedef uint32_t grant_handle_t; + +typedef uint32_t grant_ref_t; + +typedef __u32 if_mask; + +typedef unsigned int insn_attr_t; + +typedef __u32 int32; + +typedef unsigned int ioasid_t; + +typedef unsigned int iov_iter_extraction_t; + +typedef unsigned int isolate_mode_t; + +typedef unsigned int kasan_vmalloc_flags_t; + +typedef uint32_t key_perm_t; + +typedef unsigned int mm_id_t; + +typedef unsigned int mmc_pm_flag_t; + +typedef __kernel_mode_t mode_t; + +typedef u32 nlink_t; + +typedef u32 note_buf_t[92]; + +typedef unsigned int pci_channel_state_t; + +typedef unsigned int pci_ers_result_t; + +typedef unsigned int pgtbl_mod_mask; + +typedef u32 phandle; + +typedef u32 phys_cpuid_t; + +typedef unsigned int pipe_index_t; + +typedef __kernel_uid32_t projid_t; + +typedef __kernel_uid32_t qid_t; + +typedef U32 rankValCol_t[13]; + +typedef __u32 req_flags_t; + +typedef u32 rpc_authflavor_t; + +typedef unsigned int sk_buff_data_t; + +typedef unsigned int slab_flags_t; + +typedef unsigned int speed_t; + +typedef u32 ssci_t; + +typedef unsigned int t_key; + +typedef unsigned int tcflag_t; + +typedef unsigned int tid_t; + +typedef unsigned int uInt; + +typedef unsigned int u_int; + +typedef u32 u_int32_t; + +typedef unsigned int uffd_flags_t; + +typedef __kernel_uid32_t uid_t; + +typedef unsigned int uint; + +typedef u32 unicode_t; + +typedef unsigned int upstat_t; + +typedef u32 usb_port_location_t; + +typedef unsigned int vm_fault_t; + +typedef unsigned int xa_mark_t; + +typedef u32 xdp_features_t; + +typedef unsigned int zap_flags_t; + +typedef struct { + BitContainerType bitContainer; + unsigned int bitPos; + char *startPtr; + char *ptr; + char *endPtr; +} BIT_CStream_t; + +typedef struct { + BitContainerType bitContainer; + unsigned int bitsConsumed; + const char *ptr; + const char *start; + const char *limitPtr; +} BIT_DStream_t; + +typedef struct { + size_t nbSequences; + size_t blockSize; + size_t litSize; +} BlockSummary; + +typedef struct { + BYTE maxTableLog; + BYTE tableType; + BYTE tableLog; + BYTE reserved; +} DTableDesc; + +typedef struct { + size_t estLitSize; + size_t estBlockSize; +} EstimatedBlockSize; + +typedef struct { + unsigned int events[1024]; + size_t nbEvents; +} Fingerprint; + +typedef struct { + Fingerprint pastEvents; + Fingerprint newEvents; +} FPStats; + +typedef struct { + ptrdiff_t value; + const void *stateTable; + const void *symbolTT; + unsigned int stateLog; +} FSE_CState_t; + +typedef struct { + size_t state; + const void *table; +} FSE_DState_t; + +typedef struct { + U16 tableLog; + U16 fastMode; +} FSE_DTableHeader; + +typedef struct { + short int ncount[256]; +} FSE_DecompressWksp; + +typedef struct { + short unsigned int newState; + unsigned char symbol; + unsigned char nbBits; +} FSE_decode_t; + +typedef struct { + int deltaFindState; + U32 deltaNbBits; +} FSE_symbolCompressionTransform; + +typedef struct { + size_t bitContainer[2]; + size_t bitPos[2]; + BYTE *startPtr; + BYTE *ptr; + BYTE *endPtr; +} HUF_CStream_t; + +typedef struct { + BYTE tableLog; + BYTE maxSymbolValue; + BYTE unused[6]; +} HUF_CTableHeader; + +typedef struct { + FSE_CTable CTable[59]; + U32 scratchBuffer[41]; + unsigned int count[13]; + S16 norm[13]; +} HUF_CompressWeightsWksp; + +typedef struct { + BYTE nbBits; + BYTE byte; +} HUF_DEltX1; + +typedef struct { + U16 sequence; + BYTE nbBits; + BYTE length; +} HUF_DEltX2; + +typedef struct { + const BYTE *ip[4]; + BYTE *op[4]; + U64 bits[4]; + const void *dt; + const BYTE *ilowest; + BYTE *oend; + const BYTE *iend[4]; +} HUF_DecompressFastArgs; + +typedef struct { + U32 rankVal[13]; + U32 rankStart[13]; + U32 statsWksp[219]; + BYTE symbols[256]; + BYTE huffWeight[256]; +} HUF_ReadDTableX1_Workspace; + +typedef struct { + BYTE symbol; +} sortedSymbol_t; + +typedef struct { + U32 rankVal[156]; + U32 rankStats[13]; + U32 rankStart0[15]; + sortedSymbol_t sortedSymbol[256]; + BYTE weightList[256]; + U32 calleeWksp[219]; +} HUF_ReadDTableX2_Workspace; + +typedef struct { + HUF_CompressWeightsWksp wksp; + BYTE bitsToWeight[13]; + BYTE huffWeight[255]; +} HUF_WriteCTableWksp; + +struct nodeElt_s { + U32 count; + U16 parent; + BYTE byte; + BYTE nbBits; +}; + +typedef struct nodeElt_s nodeElt; + +typedef nodeElt huffNodeTable[512]; + +typedef struct { + U16 base; + U16 curr; +} rankPos; + +typedef struct { + huffNodeTable huffNodeTbl; + rankPos rankPosition[192]; +} HUF_buildCTable_wksp_tables; + +typedef struct { + unsigned int count[256]; + HUF_CElt CTable[257]; + union { + HUF_buildCTable_wksp_tables buildCTable_wksp; + HUF_WriteCTableWksp writeCTable_wksp; + U32 hist_wksp[1024]; + } wksps; +} HUF_compress_tables_t; + +struct buffer_head; + +typedef struct { + __le32 *p; + __le32 key; + struct buffer_head *bh; +} Indirect; + +typedef struct { + const uint8_t *externalDict; + size_t extDictSize; + const uint8_t *prefixEnd; + size_t prefixSize; +} LZ4_streamDecode_t_internal; + +typedef union { + long long unsigned int table[4]; + LZ4_streamDecode_t_internal internal_donotuse; +} LZ4_streamDecode_t; + +typedef struct { + U32 offset; + U32 litLength; + U32 matchLength; +} rawSeq; + +typedef struct { + rawSeq *seq; + size_t pos; + size_t posInSequence; + size_t size; + size_t capacity; +} RawSeqStore_t; + +struct folio; + +typedef struct { + struct folio *v; +} Sector; + +typedef struct { + unsigned int offset; + unsigned int litLength; + unsigned int matchLength; + unsigned int rep; +} ZSTD_Sequence; + +typedef struct { + int collectSequences; + ZSTD_Sequence *seqStart; + size_t seqIndex; + size_t maxSequences; +} SeqCollector; + +struct SeqDef_s; + +typedef struct SeqDef_s SeqDef; + +typedef struct { + SeqDef *sequencesStart; + SeqDef *sequences; + BYTE *litStart; + BYTE *lit; + BYTE *llCode; + BYTE *mlCode; + BYTE *ofCode; + size_t maxNbSeq; + size_t maxNbLit; + ZSTD_longLengthType_e longLengthType; + U32 longLengthPos; +} SeqStore_t; + +typedef struct { + S16 norm[53]; + U32 wksp[285]; +} ZSTD_BuildCTableWksp; + +struct ZSTD_DDict_s; + +typedef struct ZSTD_DDict_s ZSTD_DDict; + +typedef struct { + const ZSTD_DDict **ddictPtrTable; + size_t ddictPtrTableSize; + size_t ddictPtrCount; +} ZSTD_DDictHashSet; + +typedef struct { + long long unsigned int frameContentSize; + long long unsigned int windowSize; + unsigned int blockSizeMax; + ZSTD_FrameType_e frameType; + unsigned int headerSize; + unsigned int dictID; + unsigned int checksumFlag; + unsigned int _reserved1; + unsigned int _reserved2; +} ZSTD_FrameHeader; + +typedef struct { + unsigned int longOffsetShare; + unsigned int maxNbAdditionalBits; +} ZSTD_OffsetInfo; + +typedef struct { + U32 litLength; + U32 matchLength; +} ZSTD_SequenceLength; + +typedef struct { + U32 idx; + U32 posInSequence; + size_t posInSrc; +} ZSTD_SequencePosition; + +typedef struct { + SymbolEncodingType_e hType; + BYTE hufDesBuffer[128]; + size_t hufDesSize; +} ZSTD_hufCTablesMetadata_t; + +typedef struct { + SymbolEncodingType_e llType; + SymbolEncodingType_e ofType; + SymbolEncodingType_e mlType; + BYTE fseTablesBuffer[133]; + size_t fseTablesSize; + size_t lastCountSize; +} ZSTD_fseCTablesMetadata_t; + +typedef struct { + ZSTD_hufCTablesMetadata_t hufMetadata; + ZSTD_fseCTablesMetadata_t fseMetadata; +} ZSTD_entropyCTablesMetadata_t; + +typedef struct { + SeqStore_t fullSeqStoreChunk; + SeqStore_t firstHalfSeqStore; + SeqStore_t secondHalfSeqStore; + SeqStore_t currSeqStore; + SeqStore_t nextSeqStore; + U32 partitions[196]; + ZSTD_entropyCTablesMetadata_t entropyMetadata; +} ZSTD_blockSplitCtx; + +typedef struct { + HUF_CElt CTable[257]; + HUF_repeat repeatMode; +} ZSTD_hufCTables_t; + +typedef struct { + FSE_CTable offcodeCTable[193]; + FSE_CTable matchlengthCTable[363]; + FSE_CTable litlengthCTable[329]; + FSE_repeat offcode_repeatMode; + FSE_repeat matchlength_repeatMode; + FSE_repeat litlength_repeatMode; +} ZSTD_fseCTables_t; + +typedef struct { + ZSTD_hufCTables_t huf; + ZSTD_fseCTables_t fse; +} ZSTD_entropyCTables_t; + +typedef struct { + ZSTD_entropyCTables_t entropy; + U32 rep[3]; +} ZSTD_compressedBlockState_t; + +typedef struct { + const BYTE *nextSrc; + const BYTE *base; + const BYTE *dictBase; + U32 dictLimit; + U32 lowLimit; + U32 nbOverflowCorrections; +} ZSTD_window_t; + +typedef struct { + U32 off; + U32 len; +} ZSTD_match_t; + +typedef struct { + int price; + U32 off; + U32 mlen; + U32 litlen; + U32 rep[3]; +} ZSTD_optimal_t; + +typedef struct { + unsigned int *litFreq; + unsigned int *litLengthFreq; + unsigned int *matchLengthFreq; + unsigned int *offCodeFreq; + ZSTD_match_t *matchTable; + ZSTD_optimal_t *priceTable; + U32 litSum; + U32 litLengthSum; + U32 matchLengthSum; + U32 offCodeSum; + U32 litSumBasePrice; + U32 litLengthSumBasePrice; + U32 matchLengthSumBasePrice; + U32 offCodeSumBasePrice; + ZSTD_OptPrice_e priceType; + const ZSTD_entropyCTables_t *symbolCosts; + ZSTD_ParamSwitch_e literalCompressionMode; +} optState_t; + +typedef struct { + unsigned int windowLog; + unsigned int chainLog; + unsigned int hashLog; + unsigned int searchLog; + unsigned int minMatch; + unsigned int targetLength; + ZSTD_strategy strategy; +} ZSTD_compressionParameters; + +struct ZSTD_MatchState_t; + +typedef struct ZSTD_MatchState_t ZSTD_MatchState_t; + +struct ZSTD_MatchState_t { + ZSTD_window_t window; + U32 loadedDictEnd; + U32 nextToUpdate; + U32 hashLog3; + U32 rowHashLog; + BYTE *tagTable; + U32 hashCache[8]; + U64 hashSalt; + U32 hashSaltEntropy; + U32 *hashTable; + U32 *hashTable3; + U32 *chainTable; + int forceNonContiguous; + int dedicatedDictSearch; + optState_t opt; + const ZSTD_MatchState_t *dictMatchState; + ZSTD_compressionParameters cParams; + const RawSeqStore_t *ldmSeqStore; + int prefetchCDictTables; + int lazySkipping; +}; + +typedef struct { + ZSTD_compressedBlockState_t *prevCBlock; + ZSTD_compressedBlockState_t *nextCBlock; + ZSTD_MatchState_t matchState; +} ZSTD_blockState_t; + +typedef struct { + size_t error; + int lowerBound; + int upperBound; +} ZSTD_bounds; + +typedef struct { + U32 f1c; + U32 f1d; + U32 f7b; + U32 f7c; +} ZSTD_cpuid_t; + +typedef void * (*ZSTD_allocFunction)(void *, size_t); + +typedef void (*ZSTD_freeFunction)(void *, void *); + +typedef struct { + ZSTD_allocFunction customAlloc; + ZSTD_freeFunction customFree; + void *opaque; +} ZSTD_customMem; + +typedef struct { + void *workspace; + void *workspaceEnd; + void *objectEnd; + void *tableEnd; + void *tableValidEnd; + void *allocStart; + void *initOnceStart; + BYTE allocFailed; + int workspaceOversizedDuration; + ZSTD_cwksp_alloc_phase_e phase; + ZSTD_cwksp_static_alloc_e isStatic; +} ZSTD_cwksp; + +typedef struct { + U16 nextState; + BYTE nbAdditionalBits; + BYTE nbBits; + U32 baseValue; +} ZSTD_seqSymbol; + +typedef struct { + ZSTD_seqSymbol LLTable[513]; + ZSTD_seqSymbol OFTable[257]; + ZSTD_seqSymbol MLTable[513]; + HUF_DTable hufTable[4097]; + U32 rep[3]; + U32 workspace[157]; +} ZSTD_entropyDTables_t; + +typedef struct { + int contentSizeFlag; + int checksumFlag; + int noDictIDFlag; +} ZSTD_frameParameters; + +typedef struct { + long long unsigned int ingested; + long long unsigned int consumed; + long long unsigned int produced; + long long unsigned int flushed; + unsigned int currentJobID; + unsigned int nbActiveWorkers; +} ZSTD_frameProgression; + +typedef struct { + size_t nbBlocks; + size_t compressedSize; + long long unsigned int decompressedBound; +} ZSTD_frameSizeInfo; + +typedef struct { + size_t state; + const ZSTD_seqSymbol *table; +} ZSTD_fseState; + +struct ZSTD_CDict_s; + +typedef struct ZSTD_CDict_s ZSTD_CDict; + +typedef struct { + void *dictBuffer; + const void *dict; + size_t dictSize; + ZSTD_dictContentType_e dictContentType; + ZSTD_CDict *cdict; +} ZSTD_localDict; + +typedef struct { + RawSeqStore_t seqStore; + U32 startPosInBlock; + U32 endPosInBlock; + U32 offset; +} ZSTD_optLdm_t; + +typedef struct { + ZSTD_compressionParameters cParams; + ZSTD_frameParameters fParams; +} ZSTD_parameters; + +typedef struct { + U32 fastMode; + U32 tableLog; +} ZSTD_seqSymbol_header; + +typedef struct { + U32 LLtype; + U32 Offtype; + U32 MLtype; + size_t size; + size_t lastCountSize; + int longOffsets; +} ZSTD_symbolEncodingTypeStats_t; + +typedef struct { + long unsigned int fds_bits[16]; +} __kernel_fd_set; + +typedef struct { + int val[2]; +} __kernel_fsid_t; + +typedef struct { + U32 tableTime; + U32 decode256Time; +} algo_time_t; + +typedef struct { + s64 counter; +} atomic64_t; + +typedef atomic64_t atomic_long_t; + +typedef struct { + int counter; +} atomic_t; + +typedef struct { + char ax25_call[7]; +} ax25_address; + +struct hlist_node { + struct hlist_node *next; + struct hlist_node **pprev; +}; + +struct timer_list { + struct hlist_node entry; + long unsigned int expires; + void (*function)(struct timer_list *); + u32 flags; +}; + +typedef struct { + char slave; + struct timer_list slave_timer; + short unsigned int slave_timeout; +} ax25_dama_info; + +typedef struct { + __be64 a; + __be64 b; +} be128; + +typedef struct { + blockType_e blockType; + U32 lastBlock; + U32 origSize; +} blockProperties_t; + +typedef struct { + union { + void *kernel; + void *user; + }; + bool is_kernel: 1; +} sockptr_t; + +typedef sockptr_t bpfptr_t; + +struct permanent_flags_t { + __be16 tag; + u8 disable; + u8 ownership; + u8 deactivated; + u8 readPubek; + u8 disableOwnerClear; + u8 allowMaintenance; + u8 physicalPresenceLifetimeLock; + u8 physicalPresenceHWEnable; + u8 physicalPresenceCMDEnable; + u8 CEKPUsed; + u8 TPMpost; + u8 TPMpostLock; + u8 FIPS; + u8 operator; + u8 enableRevokeEK; + u8 nvLocked; + u8 readSRKPub; + u8 tpmEstablished; + u8 maintenanceDone; + u8 disableFullDALogicInfo; +}; + +struct stclear_flags_t { + __be16 tag; + u8 deactivated; + u8 disableForceClear; + u8 physicalPresence; + u8 physicalPresenceLock; + u8 bGlobalLock; +} __attribute__((packed)); + +struct tpm1_version { + u8 major; + u8 minor; + u8 rev_major; + u8 rev_minor; +}; + +struct tpm1_version2 { + __be16 tag; + struct tpm1_version version; +}; + +struct timeout_t { + __be32 a; + __be32 b; + __be32 c; + __be32 d; +}; + +struct duration_t { + __be32 tpm_short; + __be32 tpm_medium; + __be32 tpm_long; +}; + +typedef union { + struct permanent_flags_t perm_flags; + struct stclear_flags_t stclear_flags; + __u8 owned; + __be32 num_pcrs; + struct tpm1_version version1; + struct tpm1_version2 version2; + __be32 manufacturer_id; + struct timeout_t timeout; + struct duration_t duration; +} cap_t; + +typedef struct { + unsigned int interval; + unsigned int timeout; +} cisco_proto; + +typedef struct { + int *lock; + long unsigned int flags; +} class_core_lock_t; + +typedef struct { + void *lock; +} class_cpus_read_lock_t; + +struct raw_spinlock; + +typedef struct raw_spinlock raw_spinlock_t; + +typedef struct { + raw_spinlock_t *lock; + raw_spinlock_t *lock2; +} class_double_raw_spinlock_t; + +struct rq; + +typedef struct { + struct rq *lock; + struct rq *lock2; +} class_double_rq_lock_t; + +typedef struct { + void *lock; +} class_irq_t; + +struct irq_desc; + +typedef struct { + struct irq_desc *lock; + long unsigned int flags; + bool bus; +} class_irqdesc_lock_t; + +typedef struct { + void *lock; + long unsigned int flags; +} class_irqsave_t; + +typedef struct { + void *lock; +} class_jump_label_lock_t; + +struct device; + +typedef struct { + struct device *lock; +} class_msi_descs_lock_t; + +typedef struct { + void *lock; +} class_pagefault_t; + +struct perf_cpu_context; + +struct perf_event_context; + +typedef struct { + struct perf_cpu_context *cpuctx; + struct perf_event_context *ctx; +} class_perf_ctx_lock_t; + +typedef struct { + void *lock; +} class_preempt_notrace_t; + +typedef struct { + void *lock; +} class_preempt_t; + +typedef struct { + raw_spinlock_t *lock; +} class_raw_spinlock_irq_t; + +typedef struct { + raw_spinlock_t *lock; + long unsigned int flags; +} class_raw_spinlock_irqsave_t; + +typedef struct { + raw_spinlock_t *lock; +} class_raw_spinlock_nested_t; + +typedef struct { + raw_spinlock_t *lock; +} class_raw_spinlock_t; + +typedef struct { + void *lock; +} class_rcu_t; + +typedef struct { + void *lock; +} class_rcu_tasks_trace_t; + +struct qspinlock { + union { + atomic_t val; + struct { + u8 locked; + u8 pending; + }; + struct { + u16 locked_pending; + u16 tail; + }; + }; +}; + +typedef struct qspinlock arch_spinlock_t; + +struct qrwlock { + union { + atomic_t cnts; + struct { + u8 wlocked; + u8 __lstate[3]; + }; + }; + arch_spinlock_t wait_lock; +}; + +typedef struct qrwlock arch_rwlock_t; + +typedef struct { + arch_rwlock_t raw_lock; +} rwlock_t; + +typedef struct { + rwlock_t *lock; + long unsigned int flags; +} class_read_lock_irqsave_t; + +struct pin_cookie {}; + +struct rq_flags { + long unsigned int flags; + struct pin_cookie cookie; + unsigned int clock_update_flags; +}; + +typedef struct { + struct rq *lock; + struct rq_flags rf; +} class_rq_lock_irq_t; + +typedef struct { + struct rq *lock; + struct rq_flags rf; +} class_rq_lock_irqsave_t; + +typedef struct { + struct rq *lock; + struct rq_flags rf; +} class_rq_lock_t; + +struct spinlock; + +typedef struct spinlock spinlock_t; + +typedef struct { + spinlock_t *lock; +} class_spinlock_irq_t; + +typedef struct { + spinlock_t *lock; + long unsigned int flags; +} class_spinlock_irqsave_t; + +typedef struct { + spinlock_t *lock; +} class_spinlock_t; + +struct srcu_struct; + +typedef struct { + struct srcu_struct *lock; + int idx; +} class_srcu_t; + +struct task_struct; + +typedef struct { + struct task_struct *lock; + struct rq *rq; + struct rq_flags rf; +} class_task_rq_lock_t; + +typedef struct { + rwlock_t *lock; +} class_write_lock_irq_t; + +typedef struct { + rwlock_t *lock; + long unsigned int flags; +} class_write_lock_irqsave_t; + +typedef struct { + unsigned char op; + unsigned char bits; + short unsigned int val; +} code; + +typedef __kernel_fsid_t compat_fsid_t; + +typedef struct { + compat_sigset_word sig[2]; +} compat_sigset_t; + +typedef struct { + __be16 disc_information_length; + __u8 disc_status: 2; + __u8 border_status: 2; + __u8 erasable: 1; + __u8 reserved1: 3; + __u8 n_first_track; + __u8 n_sessions_lsb; + __u8 first_track_lsb; + __u8 last_track_lsb; + __u8 mrw_status: 2; + __u8 dbit: 1; + __u8 reserved2: 2; + __u8 uru: 1; + __u8 dbc_v: 1; + __u8 did_v: 1; + __u8 disc_type; + __u8 n_sessions_msb; + __u8 first_track_msb; + __u8 last_track_msb; + __u32 disc_id; + __u32 lead_in; + __u32 lead_out; + __u8 disc_bar_code[8]; + __u8 reserved3; + __u8 n_opc; +} disc_information; + +typedef struct { + long unsigned int bits[1]; +} dma_cap_mask_t; + +struct dvd_lu_send_agid { + __u8 type; + unsigned int agid: 2; +}; + +struct dvd_host_send_challenge { + __u8 type; + unsigned int agid: 2; + dvd_challenge chal; +}; + +struct dvd_send_key { + __u8 type; + unsigned int agid: 2; + dvd_key key; +}; + +struct dvd_lu_send_challenge { + __u8 type; + unsigned int agid: 2; + dvd_challenge chal; +}; + +struct dvd_lu_send_title_key { + __u8 type; + unsigned int agid: 2; + dvd_key title_key; + int lba; + unsigned int cpm: 1; + unsigned int cp_sec: 1; + unsigned int cgms: 2; +}; + +struct dvd_lu_send_asf { + __u8 type; + unsigned int agid: 2; + unsigned int asf: 1; +}; + +struct dvd_host_send_rpcstate { + __u8 type; + __u8 pdrc; +}; + +struct dvd_lu_send_rpcstate { + __u8 type: 2; + __u8 vra: 3; + __u8 ucca: 3; + __u8 region_mask; + __u8 rpc_scheme; +}; + +typedef union { + __u8 type; + struct dvd_lu_send_agid lsa; + struct dvd_host_send_challenge hsc; + struct dvd_send_key lsk; + struct dvd_lu_send_challenge lsc; + struct dvd_send_key hsk; + struct dvd_lu_send_title_key lstk; + struct dvd_lu_send_asf lsasf; + struct dvd_host_send_rpcstate hrpcs; + struct dvd_lu_send_rpcstate lrpcs; +} dvd_authinfo; + +struct dvd_layer { + __u8 book_version: 4; + __u8 book_type: 4; + __u8 min_rate: 4; + __u8 disc_size: 4; + __u8 layer_type: 4; + __u8 track_path: 1; + __u8 nlayers: 2; + char: 1; + __u8 track_density: 4; + __u8 linear_density: 4; + __u8 bca: 1; + __u32 start_sector; + __u32 end_sector; + __u32 end_sector_l0; +}; + +struct dvd_physical { + __u8 type; + __u8 layer_num; + struct dvd_layer layer[4]; +}; + +struct dvd_copyright { + __u8 type; + __u8 layer_num; + __u8 cpst; + __u8 rmi; +}; + +struct dvd_disckey { + __u8 type; + unsigned int agid: 2; + __u8 value[2048]; +}; + +struct dvd_bca { + __u8 type; + int len; + __u8 value[188]; +}; + +struct dvd_manufact { + __u8 type; + __u8 layer_num; + int len; + __u8 value[2048]; +}; + +typedef union { + __u8 type; + struct dvd_physical physical; + struct dvd_copyright copyright; + struct dvd_disckey disckey; + struct dvd_bca bca; + struct dvd_manufact manufact; +} dvd_struct; + +typedef struct { + u64 length; + u64 data; +} efi_capsule_block_desc_t; + +typedef struct { + __u8 b[16]; +} guid_t; + +typedef guid_t efi_guid_t; + +typedef struct { + efi_guid_t guid; + u32 headersize; + u32 flags; + u32 imagesize; +} efi_capsule_header_t; + +typedef struct { + efi_guid_t guid; + u32 table; +} efi_config_table_32_t; + +typedef struct { + efi_guid_t guid; + u64 table; +} efi_config_table_64_t; + +typedef union { + struct { + efi_guid_t guid; + void *table; + }; + efi_config_table_32_t mixed_mode; +} efi_config_table_t; + +typedef struct { + efi_guid_t guid; + long unsigned int *ptr; + const char name[16]; +} efi_config_table_type_t; + +typedef struct { + u32 type; + u32 pad; + u64 phys_addr; + u64 virt_addr; + u64 num_pages; + u64 attribute; +} efi_memory_desc_t; + +typedef struct { + u32 version; + u32 num_entries; + u32 desc_size; + u32 flags; + efi_memory_desc_t entry[0]; +} efi_memory_attributes_table_t; + +typedef struct { + u16 version; + u16 length; + u32 runtime_services_supported; +} efi_rt_properties_table_t; + +typedef struct { + u64 signature; + u32 revision; + u32 headersize; + u32 crc32; + u32 reserved; +} efi_table_hdr_t; + +typedef struct { + efi_table_hdr_t hdr; + u32 get_time; + u32 set_time; + u32 get_wakeup_time; + u32 set_wakeup_time; + u32 set_virtual_address_map; + u32 convert_pointer; + u32 get_variable; + u32 get_next_variable; + u32 set_variable; + u32 get_next_high_mono_count; + u32 reset_system; + u32 update_capsule; + u32 query_capsule_caps; + u32 query_variable_info; +} efi_runtime_services_32_t; + +typedef struct { + u16 year; + u8 month; + u8 day; + u8 hour; + u8 minute; + u8 second; + u8 pad1; + u32 nanosecond; + s16 timezone; + u8 daylight; + u8 pad2; +} efi_time_t; + +typedef struct { + u32 resolution; + u32 accuracy; + u8 sets_to_zero; +} efi_time_cap_t; + +typedef union { + struct { + efi_table_hdr_t hdr; + efi_status_t (*get_time)(efi_time_t *, efi_time_cap_t *); + efi_status_t (*set_time)(efi_time_t *); + efi_status_t (*get_wakeup_time)(efi_bool_t *, efi_bool_t *, efi_time_t *); + efi_status_t (*set_wakeup_time)(efi_bool_t, efi_time_t *); + efi_status_t (*set_virtual_address_map)(long unsigned int, long unsigned int, u32, efi_memory_desc_t *); + void *convert_pointer; + efi_status_t (*get_variable)(efi_char16_t *, efi_guid_t *, u32 *, long unsigned int *, void *); + efi_status_t (*get_next_variable)(long unsigned int *, efi_char16_t *, efi_guid_t *); + efi_status_t (*set_variable)(efi_char16_t *, efi_guid_t *, u32, long unsigned int, void *); + efi_status_t (*get_next_high_mono_count)(u32 *); + void (*reset_system)(int, efi_status_t, long unsigned int, efi_char16_t *); + efi_status_t (*update_capsule)(efi_capsule_header_t **, long unsigned int, long unsigned int); + efi_status_t (*query_capsule_caps)(efi_capsule_header_t **, long unsigned int, u64 *, int *); + efi_status_t (*query_variable_info)(u32, u64 *, u64 *, u64 *); + }; + efi_runtime_services_32_t mixed_mode; +} efi_runtime_services_t; + +typedef struct { + efi_guid_t signature_owner; + u8 signature_data[0]; +} efi_signature_data_t; + +typedef struct { + efi_guid_t signature_type; + u32 signature_list_size; + u32 signature_header_size; + u32 signature_size; + u8 signature_header[0]; +} efi_signature_list_t; + +typedef struct { + efi_table_hdr_t hdr; + u32 fw_vendor; + u32 fw_revision; + u32 con_in_handle; + u32 con_in; + u32 con_out_handle; + u32 con_out; + u32 stderr_handle; + u32 stderr; + u32 runtime; + u32 boottime; + u32 nr_tables; + u32 tables; +} efi_system_table_32_t; + +typedef struct { + efi_table_hdr_t hdr; + u64 fw_vendor; + u32 fw_revision; + u32 __pad1; + u64 con_in_handle; + u64 con_in; + u64 con_out_handle; + u64 con_out; + u64 stderr_handle; + u64 stderr; + u64 runtime; + u64 boottime; + u32 nr_tables; + u32 __pad2; + u64 tables; +} efi_system_table_64_t; + +union efi_simple_text_input_protocol; + +typedef union efi_simple_text_input_protocol efi_simple_text_input_protocol_t; + +union efi_simple_text_output_protocol; + +typedef union efi_simple_text_output_protocol efi_simple_text_output_protocol_t; + +union efi_boot_services; + +typedef union efi_boot_services efi_boot_services_t; + +typedef union { + struct { + efi_table_hdr_t hdr; + long unsigned int fw_vendor; + u32 fw_revision; + long unsigned int con_in_handle; + efi_simple_text_input_protocol_t *con_in; + long unsigned int con_out_handle; + efi_simple_text_output_protocol_t *con_out; + long unsigned int stderr_handle; + long unsigned int stderr; + efi_runtime_services_t *runtime; + efi_boot_services_t *boottime; + long unsigned int nr_tables; + long unsigned int tables; + }; + efi_system_table_32_t mixed_mode; +} efi_system_table_t; + +typedef struct { + __le16 e_tag; + __le16 e_perm; + __le32 e_id; +} ext4_acl_entry; + +typedef struct { + __le32 a_version; +} ext4_acl_header; + +typedef __kernel_fd_set fd_set; + +typedef struct { + long unsigned int *in; + long unsigned int *out; + long unsigned int *ex; + long unsigned int *res_in; + long unsigned int *res_out; + long unsigned int *res_ex; +} fd_set_bits; + +typedef struct { + atomic64_t refcnt; +} file_ref_t; + +typedef struct { + unsigned int t391; + unsigned int t392; + unsigned int n391; + unsigned int n392; + unsigned int n393; + short unsigned int lmi; + short unsigned int dce; +} fr_proto; + +typedef struct { + unsigned int dlci; +} fr_proto_pvc; + +typedef struct { + unsigned int dlci; + char master[16]; +} fr_proto_pvc_info; + +typedef union { + struct { + void *freelist; + long unsigned int counter; + }; + freelist_full_t full; +} freelist_aba_t; + +typedef struct { + long unsigned int v; +} freeptr_t; + +typedef struct { + long unsigned int key[2]; +} hsiphash_key_t; + +typedef struct { + u8 kvm_cpu_l1tf_flush_l1d; + unsigned int __nmi_count; + unsigned int apic_timer_irqs; + unsigned int irq_spurious_count; + unsigned int icr_read_retry_count; + unsigned int kvm_posted_intr_ipis; + unsigned int kvm_posted_intr_wakeup_ipis; + unsigned int kvm_posted_intr_nested_ipis; + unsigned int x86_platform_ipis; + unsigned int apic_perf_irqs; + unsigned int apic_irq_work_irqs; + unsigned int irq_resched_count; + unsigned int irq_call_count; + unsigned int irq_tlb_count; + unsigned int irq_thermal_count; + unsigned int irq_threshold_count; + unsigned int irq_deferred_error_count; + unsigned int irq_hv_callback_count; + unsigned int irq_hv_reenlightenment_count; + unsigned int hyperv_stimer0_count; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +} irq_cpustat_t; + +typedef struct { + u64 val; +} kernel_cap_t; + +typedef struct { + gid_t val; +} kgid_t; + +typedef struct { + uid_t val; +} kuid_t; + +typedef union { + kuid_t uid; + kgid_t gid; +} kid_t; + +typedef struct { + projid_t val; +} kprojid_t; + +typedef struct { + U32 offset; + U32 checksum; +} ldmEntry_t; + +typedef struct { + const BYTE *split; + U32 hash; + U32 checksum; + ldmEntry_t *bucket; +} ldmMatchCandidate_t; + +typedef struct { + ZSTD_ParamSwitch_e enableLdm; + U32 hashLog; + U32 bucketSizeLog; + U32 minMatchLength; + U32 hashRateLog; + U32 windowLog; +} ldmParams_t; + +typedef struct { + U64 rolling; + U64 stopMask; +} ldmRollingHashState_t; + +typedef struct { + ZSTD_window_t window; + ldmEntry_t *hashTable; + U32 loadedDictEnd; + BYTE *bucketOffsets; + size_t splitIndices[64]; + ldmMatchCandidate_t matchCandidates[64]; +} ldmState_t; + +typedef struct { + __le64 b; + __le64 a; +} le128; + +typedef struct { + atomic_long_t a; +} local_t; + +typedef struct { + local_t a; +} local64_t; + +typedef struct {} local_lock_t; + +typedef struct { + local_lock_t llock; + u8 acquired; +} local_trylock_t; + +typedef struct {} lockdep_map_p; + +struct optimistic_spin_queue { + atomic_t tail; +}; + +struct raw_spinlock { + arch_spinlock_t raw_lock; +}; + +struct list_head { + struct list_head *next; + struct list_head *prev; +}; + +struct rw_semaphore { + atomic_long_t count; + atomic_long_t owner; + struct optimistic_spin_queue osq; + raw_spinlock_t wait_lock; + struct list_head wait_list; +}; + +struct mutex { + atomic_long_t owner; + raw_spinlock_t wait_lock; + struct optimistic_spin_queue osq; + struct list_head wait_list; +}; + +struct ldt_struct; + +struct vdso_image; + +typedef struct { + u64 ctx_id; + atomic64_t tlb_gen; + long unsigned int next_trim_cpumask; + struct rw_semaphore ldt_usr_sem; + struct ldt_struct *ldt; + long unsigned int flags; + struct mutex lock; + void *vdso; + const struct vdso_image *vdso_image; + atomic_t perf_rdpmc_allowed; + u16 pkey_allocation_map; + s16 execute_only_pkey; + u16 global_asid; + bool asid_transition; +} mm_context_t; + +typedef struct {} netdevice_tracker; + +typedef struct {} netns_tracker; + +typedef struct { + char data[8]; +} nfs4_verifier; + +typedef struct { + long unsigned int bits[16]; +} nodemask_t; + +typedef struct { + p4dval_t p4d; +} p4d_t; + +typedef struct { + u64 pme; +} pagemap_entry_t; + +typedef struct { + pgdval_t pgd; +} pgd_t; + +typedef struct { + pmdval_t pmd; +} pmd_t; + +typedef struct { + long unsigned int bits[4]; +} pnp_irq_mask_t; + +struct net; + +typedef struct { + struct net *net; +} possible_net_t; + +typedef struct { + pteval_t pte; +} pte_t; + +typedef struct { + pudval_t pud; +} pud_t; + +typedef struct { + short unsigned int encoding; + short unsigned int parity; +} raw_hdlc_proto; + +typedef struct { + atomic_t refcnt; +} rcuref_t; + +typedef struct { + size_t written; + size_t count; + union { + char *buf; + void *data; + } arg; + int error; +} read_descriptor_t; + +typedef union { +} release_pages_arg; + +typedef struct { + __u16 report_key_length; + __u8 reserved1; + __u8 reserved2; + __u8 ucca: 3; + __u8 vra: 3; + __u8 type_code: 2; + __u8 region_mask; + __u8 rpc_scheme; + __u8 reserved3; +} rpc_state_t; + +typedef struct { + BIT_DStream_t DStream; + ZSTD_fseState stateLL; + ZSTD_fseState stateOffb; + ZSTD_fseState stateML; + size_t prevOffset[3]; +} seqState_t; + +typedef struct { + U32 *splitLocations; + size_t idx; +} seqStoreSplits; + +typedef struct { + size_t litLength; + size_t matchLength; + size_t offset; +} seq_t; + +struct seqcount { + unsigned int sequence; +}; + +typedef struct seqcount seqcount_t; + +typedef struct { + seqcount_t seqcount; +} seqcount_latch_t; + +struct seqcount_spinlock { + seqcount_t seqcount; +}; + +typedef struct seqcount_spinlock seqcount_spinlock_t; + +struct spinlock { + union { + struct raw_spinlock rlock; + }; +}; + +typedef struct { + seqcount_spinlock_t seqcount; + spinlock_t lock; +} seqlock_t; + +typedef struct { + long unsigned int sig[1]; +} sigset_t; + +typedef struct { + u64 key[2]; +} siphash_key_t; + +struct wait_queue_head { + spinlock_t lock; + struct list_head head; +}; + +typedef struct wait_queue_head wait_queue_head_t; + +typedef struct { + spinlock_t slock; + int owned; + wait_queue_head_t wq; +} socket_lock_t; + +typedef struct { + char *from; + char *to; +} substring_t; + +typedef struct { + long unsigned int val; +} swp_entry_t; + +typedef struct { + unsigned int clock_rate; + unsigned int clock_type; + short unsigned int loopback; +} sync_serial_settings; + +typedef struct { + unsigned int clock_rate; + unsigned int clock_type; + short unsigned int loopback; + unsigned int slot_map; +} te1_settings; + +typedef struct { + __be16 track_information_length; + __u8 track_lsb; + __u8 session_lsb; + __u8 reserved1; + __u8 track_mode: 4; + __u8 copy: 1; + __u8 damage: 1; + __u8 reserved2: 2; + __u8 data_mode: 4; + __u8 fp: 1; + __u8 packet: 1; + __u8 blank: 1; + __u8 rt: 1; + __u8 nwa_v: 1; + __u8 lra_v: 1; + __u8 reserved3: 6; + __be32 track_start; + __be32 next_writable; + __be32 free_blocks; + __be32 fixed_packet_size; + __be32 track_size; + __be32 last_rec_address; +} track_information; + +typedef struct { + int data; + int audio; + int cdi; + int xa; + long int error; +} tracktype; + +typedef struct { + local64_t v; +} u64_stats_t; + +typedef struct { + u64 m_low; + u64 m_high; +} uint128_t; + +typedef struct { + __u8 b[16]; +} uuid_t; + +typedef struct { + gid_t val; +} vfsgid_t; + +typedef struct { + uid_t val; +} vfsuid_t; + +typedef struct { + short unsigned int dce; + unsigned int modulo; + unsigned int window; + unsigned int t1; + unsigned int t2; + unsigned int n2; +} x25_hdlc_proto; + +struct in6_addr { + union { + __u8 u6_addr8[16]; + __be16 u6_addr16[8]; + __be32 u6_addr32[4]; + } in6_u; +}; + +typedef union { + __be32 a4; + __be32 a6[4]; + struct in6_addr in6; +} xfrm_address_t; + +typedef ZSTD_compressionParameters zstd_compression_parameters; + +typedef ZSTD_customMem zstd_custom_mem; + +typedef ZSTD_FrameHeader zstd_frame_header; + +typedef ZSTD_parameters zstd_parameters; + +typedef ZSTD_Sequence zstd_sequence; + +union IO_APIC_reg_00 { + u32 raw; + struct { + u32 __reserved_2: 14; + u32 LTS: 1; + u32 delivery_type: 1; + u32 __reserved_1: 8; + u32 ID: 8; + } bits; +}; + +union IO_APIC_reg_01 { + u32 raw; + struct { + u32 version: 8; + u32 __reserved_2: 7; + u32 PRQ: 1; + u32 entries: 8; + u32 __reserved_1: 8; + } bits; +}; + +union IO_APIC_reg_02 { + u32 raw; + struct { + u32 __reserved_2: 24; + u32 arbitration: 4; + u32 __reserved_1: 4; + } bits; +}; + +union IO_APIC_reg_03 { + u32 raw; + struct { + u32 boot_DT: 1; + u32 __reserved_1: 31; + } bits; +}; + +struct IO_APIC_route_entry { + union { + struct { + u64 vector: 8; + u64 delivery_mode: 3; + u64 dest_mode_logical: 1; + u64 delivery_status: 1; + u64 active_low: 1; + u64 irr: 1; + u64 is_level: 1; + u64 masked: 1; + u64 reserved_0: 15; + u64 reserved_1: 17; + u64 virt_destid_8_14: 7; + u64 destid_0_7: 8; + }; + struct { + u64 ir_shared_0: 8; + u64 ir_zero: 3; + u64 ir_index_15: 1; + u64 ir_shared_1: 5; + u64 ir_reserved_0: 31; + u64 ir_format: 1; + u64 ir_index_0_14: 15; + }; + struct { + u64 w1: 32; + u64 w2: 32; + }; + }; +}; + +struct PartitionBlock { + __be32 pb_ID; + __be32 pb_SummedLongs; + __be32 pb_ChkSum; + __be32 pb_HostID; + __be32 pb_Next; + __be32 pb_Flags; + __be32 pb_Reserved1[2]; + __be32 pb_DevFlags; + __u8 pb_DriveName[32]; + __be32 pb_Reserved2[15]; + __be32 pb_Environment[17]; + __be32 pb_EReserved[15]; +}; + +struct refcount_struct { + atomic_t refs; +}; + +typedef struct refcount_struct refcount_t; + +struct sk_buff; + +struct sk_buff_list { + struct sk_buff *next; + struct sk_buff *prev; +}; + +struct sk_buff_head { + union { + struct { + struct sk_buff *next; + struct sk_buff *prev; + }; + struct sk_buff_list list; + }; + __u32 qlen; + spinlock_t lock; +}; + +struct qdisc_skb_head { + struct sk_buff *head; + struct sk_buff *tail; + __u32 qlen; + spinlock_t lock; +}; + +struct u64_stats_sync {}; + +struct gnet_stats_basic_sync { + u64_stats_t bytes; + u64_stats_t packets; + struct u64_stats_sync syncp; +}; + +struct gnet_stats_queue { + __u32 qlen; + __u32 backlog; + __u32 drops; + __u32 requeues; + __u32 overlimits; +}; + +struct callback_head { + struct callback_head *next; + void (*func)(struct callback_head *); +}; + +struct lock_class_key {}; + +struct Qdisc_ops; + +struct qdisc_size_table; + +struct netdev_queue; + +struct net_rate_estimator; + +struct Qdisc { + int (*enqueue)(struct sk_buff *, struct Qdisc *, struct sk_buff **); + struct sk_buff * (*dequeue)(struct Qdisc *); + unsigned int flags; + u32 limit; + const struct Qdisc_ops *ops; + struct qdisc_size_table *stab; + struct hlist_node hash; + u32 handle; + u32 parent; + struct netdev_queue *dev_queue; + struct net_rate_estimator *rate_est; + struct gnet_stats_basic_sync *cpu_bstats; + struct gnet_stats_queue *cpu_qstats; + int pad; + refcount_t refcnt; + long: 64; + long: 64; + long: 64; + struct sk_buff_head gso_skb; + struct qdisc_skb_head q; + struct gnet_stats_basic_sync bstats; + struct gnet_stats_queue qstats; + int owner; + long unsigned int state; + long unsigned int state2; + struct Qdisc *next_sched; + struct sk_buff_head skb_bad_txq; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + spinlock_t busylock; + spinlock_t seqlock; + struct callback_head rcu; + netdevice_tracker dev_tracker; + struct lock_class_key root_lock_key; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long int privdata[0]; +}; + +struct Qdisc_class_common { + u32 classid; + unsigned int filter_cnt; + struct hlist_node hnode; +}; + +struct hlist_head; + +struct Qdisc_class_hash { + struct hlist_head *hash; + unsigned int hashsize; + unsigned int hashmask; + unsigned int hashelems; +}; + +struct tcmsg; + +struct netlink_ext_ack; + +struct nlattr; + +struct qdisc_walker; + +struct tcf_block; + +struct gnet_dump; + +struct Qdisc_class_ops { + unsigned int flags; + struct netdev_queue * (*select_queue)(struct Qdisc *, struct tcmsg *); + int (*graft)(struct Qdisc *, long unsigned int, struct Qdisc *, struct Qdisc **, struct netlink_ext_ack *); + struct Qdisc * (*leaf)(struct Qdisc *, long unsigned int); + void (*qlen_notify)(struct Qdisc *, long unsigned int); + long unsigned int (*find)(struct Qdisc *, u32); + int (*change)(struct Qdisc *, u32, u32, struct nlattr **, long unsigned int *, struct netlink_ext_ack *); + int (*delete)(struct Qdisc *, long unsigned int, struct netlink_ext_ack *); + void (*walk)(struct Qdisc *, struct qdisc_walker *); + struct tcf_block * (*tcf_block)(struct Qdisc *, long unsigned int, struct netlink_ext_ack *); + long unsigned int (*bind_tcf)(struct Qdisc *, long unsigned int, u32); + void (*unbind_tcf)(struct Qdisc *, long unsigned int); + int (*dump)(struct Qdisc *, long unsigned int, struct sk_buff *, struct tcmsg *); + int (*dump_stats)(struct Qdisc *, long unsigned int, struct gnet_dump *); +}; + +struct module; + +struct Qdisc_ops { + struct Qdisc_ops *next; + const struct Qdisc_class_ops *cl_ops; + char id[16]; + int priv_size; + unsigned int static_flags; + int (*enqueue)(struct sk_buff *, struct Qdisc *, struct sk_buff **); + struct sk_buff * (*dequeue)(struct Qdisc *); + struct sk_buff * (*peek)(struct Qdisc *); + int (*init)(struct Qdisc *, struct nlattr *, struct netlink_ext_ack *); + void (*reset)(struct Qdisc *); + void (*destroy)(struct Qdisc *); + int (*change)(struct Qdisc *, struct nlattr *, struct netlink_ext_ack *); + void (*attach)(struct Qdisc *); + int (*change_tx_queue_len)(struct Qdisc *, unsigned int); + void (*change_real_num_tx)(struct Qdisc *, unsigned int); + int (*dump)(struct Qdisc *, struct sk_buff *); + int (*dump_stats)(struct Qdisc *, struct gnet_dump *); + void (*ingress_block_set)(struct Qdisc *, u32); + void (*egress_block_set)(struct Qdisc *, u32); + u32 (*ingress_block_get)(struct Qdisc *); + u32 (*egress_block_get)(struct Qdisc *); + struct module *owner; +}; + +struct RigidDiskBlock { + __be32 rdb_ID; + __be32 rdb_SummedLongs; + __be32 rdb_ChkSum; + __be32 rdb_HostID; + __be32 rdb_BlockBytes; + __be32 rdb_Flags; + __be32 rdb_BadBlockList; + __be32 rdb_PartitionList; + __be32 rdb_FileSysHeaderList; + __be32 rdb_DriveInit; + __be32 rdb_Reserved1[6]; + __be32 rdb_Cylinders; + __be32 rdb_Sectors; + __be32 rdb_Heads; + __be32 rdb_Interleave; + __be32 rdb_Park; + __be32 rdb_Reserved2[3]; + __be32 rdb_WritePreComp; + __be32 rdb_ReducedWrite; + __be32 rdb_StepRate; + __be32 rdb_Reserved3[5]; + __be32 rdb_RDBBlocksLo; + __be32 rdb_RDBBlocksHi; + __be32 rdb_LoCylinder; + __be32 rdb_HiCylinder; + __be32 rdb_CylBlocks; + __be32 rdb_AutoParkSeconds; + __be32 rdb_HighRDSKBlock; + __be32 rdb_Reserved4; + char rdb_DiskVendor[8]; + char rdb_DiskProduct[16]; + char rdb_DiskRevision[4]; + char rdb_ControllerVendor[8]; + char rdb_ControllerProduct[16]; + char rdb_ControllerRevision[4]; + __be32 rdb_Reserved5[10]; +}; + +struct kref { + refcount_t refcount; +}; + +struct swait_queue_head { + raw_spinlock_t lock; + struct list_head task_list; +}; + +struct completion { + unsigned int done; + struct swait_queue_head wait; +}; + +struct blk_mq_queue_map { + unsigned int *mq_map; + unsigned int nr_queues; + unsigned int queue_offset; +}; + +struct blk_mq_ops; + +struct blk_mq_tags; + +struct blk_mq_tag_set { + const struct blk_mq_ops *ops; + struct blk_mq_queue_map map[3]; + unsigned int nr_maps; + unsigned int nr_hw_queues; + unsigned int queue_depth; + unsigned int reserved_tags; + unsigned int cmd_size; + int numa_node; + unsigned int timeout; + unsigned int flags; + void *driver_data; + struct blk_mq_tags **tags; + struct blk_mq_tags *shared_tags; + struct mutex tag_list_lock; + struct list_head tag_list; + struct srcu_struct *srcu; + struct rw_semaphore update_nr_hwq_lock; +}; + +struct kset; + +struct kobj_type; + +struct kernfs_node; + +struct kobject { + const char *name; + struct list_head entry; + struct kobject *parent; + struct kset *kset; + const struct kobj_type *ktype; + struct kernfs_node *sd; + struct kref kref; + unsigned int state_initialized: 1; + unsigned int state_in_sysfs: 1; + unsigned int state_add_uevent_sent: 1; + unsigned int state_remove_uevent_sent: 1; + unsigned int uevent_suppress: 1; +}; + +struct dev_links_info { + struct list_head suppliers; + struct list_head consumers; + struct list_head defer_sync; + enum dl_dev_state status; +}; + +struct pm_message { + int event; +}; + +typedef struct pm_message pm_message_t; + +struct rb_node { + long unsigned int __rb_parent_color; + struct rb_node *rb_right; + struct rb_node *rb_left; +}; + +struct timerqueue_node { + struct rb_node node; + ktime_t expires; +}; + +struct hrtimer_clock_base; + +struct hrtimer { + struct timerqueue_node node; + ktime_t _softexpires; + enum hrtimer_restart (*function)(struct hrtimer *); + struct hrtimer_clock_base *base; + u8 state; + u8 is_rel; + u8 is_soft; + u8 is_hard; +}; + +struct work_struct; + +typedef void (*work_func_t)(struct work_struct *); + +struct work_struct { + atomic_long_t data; + struct list_head entry; + work_func_t func; +}; + +struct wakeup_source; + +struct wake_irq; + +struct pm_subsys_data; + +struct dev_pm_qos; + +struct dev_pm_info { + pm_message_t power_state; + bool can_wakeup: 1; + bool async_suspend: 1; + bool in_dpm_list: 1; + bool is_prepared: 1; + bool is_suspended: 1; + bool is_noirq_suspended: 1; + bool is_late_suspended: 1; + bool no_pm: 1; + bool early_init: 1; + bool direct_complete: 1; + u32 driver_flags; + spinlock_t lock; + struct list_head entry; + struct completion completion; + struct wakeup_source *wakeup; + bool wakeup_path: 1; + bool syscore: 1; + bool no_pm_callbacks: 1; + bool work_in_progress: 1; + bool smart_suspend: 1; + bool must_resume: 1; + bool may_skip_resume: 1; + bool strict_midlayer: 1; + struct hrtimer suspend_timer; + u64 timer_expires; + struct work_struct work; + wait_queue_head_t wait_queue; + struct wake_irq *wakeirq; + atomic_t usage_count; + atomic_t child_count; + unsigned int disable_depth: 3; + bool idle_notification: 1; + bool request_pending: 1; + bool deferred_resume: 1; + bool needs_force_resume: 1; + bool runtime_auto: 1; + bool ignore_children: 1; + bool no_callbacks: 1; + bool irq_safe: 1; + bool use_autosuspend: 1; + bool timer_autosuspends: 1; + bool memalloc_noio: 1; + unsigned int links_count; + enum rpm_request request; + enum rpm_status runtime_status; + enum rpm_status last_status; + int runtime_error; + int autosuspend_delay; + u64 last_busy; + u64 active_time; + u64 suspended_time; + u64 accounting_timestamp; + struct pm_subsys_data *subsys_data; + void (*set_latency_tolerance)(struct device *, s32); + struct dev_pm_qos *qos; + bool detach_power_off: 1; +}; + +struct irq_domain; + +struct msi_device_data; + +struct dev_msi_info { + struct irq_domain *domain; + struct msi_device_data *data; +}; + +struct dev_archdata {}; + +struct device_private; + +struct device_type; + +struct bus_type; + +struct device_driver; + +struct dev_pm_domain; + +struct em_perf_domain; + +struct dev_pin_info; + +struct dma_map_ops; + +struct bus_dma_region; + +struct device_dma_parameters; + +struct cma; + +struct io_tlb_mem; + +struct device_node; + +struct fwnode_handle; + +struct class; + +struct attribute_group; + +struct iommu_group; + +struct dev_iommu; + +struct device_physical_location; + +struct device { + struct kobject kobj; + struct device *parent; + struct device_private *p; + const char *init_name; + const struct device_type *type; + const struct bus_type *bus; + struct device_driver *driver; + void *platform_data; + void *driver_data; + struct mutex mutex; + struct dev_links_info links; + struct dev_pm_info power; + struct dev_pm_domain *pm_domain; + struct em_perf_domain *em_pd; + struct dev_pin_info *pins; + struct dev_msi_info msi; + const struct dma_map_ops *dma_ops; + u64 *dma_mask; + u64 coherent_dma_mask; + u64 bus_dma_limit; + const struct bus_dma_region *dma_range_map; + struct device_dma_parameters *dma_parms; + struct list_head dma_pools; + struct cma *cma_area; + struct io_tlb_mem *dma_io_tlb_mem; + struct list_head dma_io_tlb_pools; + spinlock_t dma_io_tlb_lock; + bool dma_uses_io_tlb; + struct dev_archdata archdata; + struct device_node *of_node; + struct fwnode_handle *fwnode; + int numa_node; + dev_t devt; + u32 id; + spinlock_t devres_lock; + struct list_head devres_head; + const struct class *class; + const struct attribute_group **groups; + void (*release)(struct device *); + struct iommu_group *iommu_group; + struct dev_iommu *iommu; + struct device_physical_location *physical_location; + enum device_removable removable; + bool offline_disabled: 1; + bool offline: 1; + bool of_node_reused: 1; + bool state_synced: 1; + bool can_match: 1; + bool dma_skip_sync: 1; + bool dma_iommu: 1; +}; + +struct scsi_host_template; + +struct scsi_transport_template; + +struct workqueue_struct; + +struct Scsi_Host { + struct list_head __devices; + struct list_head __targets; + struct list_head starved_list; + spinlock_t default_lock; + spinlock_t *host_lock; + struct mutex scan_mutex; + struct list_head eh_abort_list; + struct list_head eh_cmd_q; + struct task_struct *ehandler; + struct completion *eh_action; + wait_queue_head_t host_wait; + const struct scsi_host_template *hostt; + struct scsi_transport_template *transportt; + struct kref tagset_refcnt; + struct completion tagset_freed; + struct blk_mq_tag_set tag_set; + atomic_t host_blocked; + unsigned int host_failed; + unsigned int host_eh_scheduled; + unsigned int host_no; + int eh_deadline; + long unsigned int last_reset; + unsigned int max_channel; + unsigned int max_id; + u64 max_lun; + unsigned int unique_id; + short unsigned int max_cmd_len; + int this_id; + int can_queue; + short int cmd_per_lun; + short unsigned int sg_tablesize; + short unsigned int sg_prot_tablesize; + unsigned int max_sectors; + unsigned int opt_sectors; + unsigned int max_segment_size; + unsigned int dma_alignment; + long unsigned int dma_boundary; + long unsigned int virt_boundary_mask; + unsigned int nr_hw_queues; + unsigned int nr_maps; + unsigned int active_mode: 2; + unsigned int host_self_blocked: 1; + unsigned int reverse_ordering: 1; + unsigned int tmf_in_progress: 1; + unsigned int async_scan: 1; + unsigned int eh_noresume: 1; + unsigned int no_write_same: 1; + unsigned int host_tagset: 1; + unsigned int queuecommand_may_block: 1; + unsigned int short_inquiry: 1; + unsigned int no_scsi2_lun_in_cdb: 1; + struct workqueue_struct *work_q; + struct workqueue_struct *tmf_work_q; + unsigned int max_host_blocked; + unsigned int prot_capabilities; + unsigned char prot_guard_type; + long unsigned int base; + long unsigned int io_port; + unsigned char n_io_port; + unsigned char dma_channel; + unsigned int irq; + enum scsi_host_state shost_state; + struct device shost_gendev; + struct device shost_dev; + void *shost_data; + struct device *dma_dev; + int rpm_autosuspend_delay; + long unsigned int hostdata[0]; +}; + +struct SeqDef_s { + U32 offBase; + U16 litLength; + U16 mlBase; +}; + +typedef size_t (*ZSTD_sequenceProducer_F)(void *, ZSTD_Sequence *, size_t, const void *, size_t, const void *, size_t, int, size_t); + +struct ZSTD_CCtx_params_s { + ZSTD_format_e format; + ZSTD_compressionParameters cParams; + ZSTD_frameParameters fParams; + int compressionLevel; + int forceWindow; + size_t targetCBlockSize; + int srcSizeHint; + ZSTD_dictAttachPref_e attachDictPref; + ZSTD_ParamSwitch_e literalCompressionMode; + int nbWorkers; + size_t jobSize; + int overlapLog; + int rsyncable; + ldmParams_t ldmParams; + int enableDedicatedDictSearch; + ZSTD_bufferMode_e inBufferMode; + ZSTD_bufferMode_e outBufferMode; + ZSTD_SequenceFormat_e blockDelimiters; + int validateSequences; + ZSTD_ParamSwitch_e postBlockSplitter; + int preBlockSplitter_level; + size_t maxBlockSize; + ZSTD_ParamSwitch_e useRowMatchFinder; + int deterministicRefPrefix; + ZSTD_customMem customMem; + ZSTD_ParamSwitch_e prefetchCDictTables; + int enableMatchFinderFallback; + void *extSeqProdState; + ZSTD_sequenceProducer_F extSeqProdFunc; + ZSTD_ParamSwitch_e searchForExternalRepcodes; +}; + +typedef struct ZSTD_CCtx_params_s ZSTD_CCtx_params; + +struct xxh64_state { + uint64_t total_len; + uint64_t v1; + uint64_t v2; + uint64_t v3; + uint64_t v4; + uint64_t mem64[4]; + uint32_t memsize; +}; + +struct POOL_ctx_s; + +typedef struct POOL_ctx_s ZSTD_threadPool; + +struct ZSTD_inBuffer_s { + const void *src; + size_t size; + size_t pos; +}; + +typedef struct ZSTD_inBuffer_s ZSTD_inBuffer; + +struct ZSTD_prefixDict_s { + const void *dict; + size_t dictSize; + ZSTD_dictContentType_e dictContentType; +}; + +typedef struct ZSTD_prefixDict_s ZSTD_prefixDict; + +struct ZSTD_CCtx_s { + ZSTD_compressionStage_e stage; + int cParamsChanged; + int bmi2; + ZSTD_CCtx_params requestedParams; + ZSTD_CCtx_params appliedParams; + ZSTD_CCtx_params simpleApiParams; + U32 dictID; + size_t dictContentSize; + ZSTD_cwksp workspace; + size_t blockSizeMax; + long long unsigned int pledgedSrcSizePlusOne; + long long unsigned int consumedSrcSize; + long long unsigned int producedCSize; + struct xxh64_state xxhState; + ZSTD_customMem customMem; + ZSTD_threadPool *pool; + size_t staticSize; + SeqCollector seqCollector; + int isFirstBlock; + int initialized; + SeqStore_t seqStore; + ldmState_t ldmState; + rawSeq *ldmSequences; + size_t maxNbLdmSequences; + RawSeqStore_t externSeqStore; + ZSTD_blockState_t blockState; + void *tmpWorkspace; + size_t tmpWkspSize; + ZSTD_buffered_policy_e bufferedPolicy; + char *inBuff; + size_t inBuffSize; + size_t inToCompress; + size_t inBuffPos; + size_t inBuffTarget; + char *outBuff; + size_t outBuffSize; + size_t outBuffContentSize; + size_t outBuffFlushedSize; + ZSTD_cStreamStage streamStage; + U32 frameEnded; + ZSTD_inBuffer expectedInBuffer; + size_t stableIn_notConsumed; + size_t expectedOutBufferSize; + ZSTD_localDict localDict; + const ZSTD_CDict *cdict; + ZSTD_prefixDict prefixDict; + ZSTD_blockSplitCtx blockSplitCtx; + ZSTD_Sequence *extSeqBuf; + size_t extSeqBufCapacity; +}; + +typedef struct ZSTD_CCtx_s ZSTD_CCtx; + +typedef ZSTD_CCtx ZSTD_CStream; + +typedef ZSTD_CCtx zstd_cctx; + +typedef ZSTD_CStream zstd_cstream; + +struct ZSTD_CDict_s { + const void *dictContent; + size_t dictContentSize; + ZSTD_dictContentType_e dictContentType; + U32 *entropyWorkspace; + ZSTD_cwksp workspace; + ZSTD_MatchState_t matchState; + ZSTD_compressedBlockState_t cBlockState; + ZSTD_customMem customMem; + U32 dictID; + int compressionLevel; + ZSTD_ParamSwitch_e useRowMatchFinder; +}; + +typedef ZSTD_CDict zstd_cdict; + +struct ZSTD_outBuffer_s { + void *dst; + size_t size; + size_t pos; +}; + +typedef struct ZSTD_outBuffer_s ZSTD_outBuffer; + +struct ZSTD_DCtx_s { + const ZSTD_seqSymbol *LLTptr; + const ZSTD_seqSymbol *MLTptr; + const ZSTD_seqSymbol *OFTptr; + const HUF_DTable *HUFptr; + ZSTD_entropyDTables_t entropy; + U32 workspace[640]; + const void *previousDstEnd; + const void *prefixStart; + const void *virtualStart; + const void *dictEnd; + size_t expected; + ZSTD_FrameHeader fParams; + U64 processedCSize; + U64 decodedSize; + blockType_e bType; + ZSTD_dStage stage; + U32 litEntropy; + U32 fseEntropy; + struct xxh64_state xxhState; + size_t headerSize; + ZSTD_format_e format; + ZSTD_forceIgnoreChecksum_e forceIgnoreChecksum; + U32 validateChecksum; + const BYTE *litPtr; + ZSTD_customMem customMem; + size_t litSize; + size_t rleSize; + size_t staticSize; + int isFrameDecompression; + int bmi2; + ZSTD_DDict *ddictLocal; + const ZSTD_DDict *ddict; + U32 dictID; + int ddictIsCold; + ZSTD_dictUses_e dictUses; + ZSTD_DDictHashSet *ddictSet; + ZSTD_refMultipleDDicts_e refMultipleDDicts; + int disableHufAsm; + int maxBlockSizeParam; + ZSTD_dStreamStage streamStage; + char *inBuff; + size_t inBuffSize; + size_t inPos; + size_t maxWindowSize; + char *outBuff; + size_t outBuffSize; + size_t outStart; + size_t outEnd; + size_t lhSize; + U32 hostageByte; + int noForwardProgress; + ZSTD_bufferMode_e outBufferMode; + ZSTD_outBuffer expectedOutBuffer; + BYTE *litBuffer; + const BYTE *litBufferEnd; + ZSTD_litLocation_e litBufferLocation; + BYTE litExtraBuffer[65568]; + BYTE headerBuffer[18]; + size_t oversizedDuration; +}; + +typedef struct ZSTD_DCtx_s ZSTD_DCtx; + +typedef ZSTD_DCtx ZSTD_DStream; + +typedef ZSTD_DCtx zstd_dctx; + +typedef ZSTD_DStream zstd_dstream; + +struct ZSTD_DDict_s { + void *dictBuffer; + const void *dictContent; + size_t dictSize; + ZSTD_entropyDTables_t entropy; + U32 dictID; + U32 entropyPresent; + ZSTD_customMem cMem; +}; + +typedef ZSTD_DDict zstd_ddict; + +typedef ZSTD_inBuffer zstd_in_buffer; + +typedef ZSTD_outBuffer zstd_out_buffer; + +struct __aio_sigset { + const sigset_t *sigmask; + size_t sigsetsize; +}; + +struct fred_cs { + u64 cs: 16; + u64 sl: 2; + u64 wfe: 1; +}; + +struct fred_ss { + u64 ss: 16; + u64 sti: 1; + u64 swevent: 1; + u64 nmi: 1; + int: 13; + u64 vector: 8; + short: 8; + u64 type: 4; + char: 4; + u64 enclave: 1; + u64 lm: 1; + u64 nested: 1; + char: 1; + u64 insnlen: 4; +}; + +struct pt_regs { + long unsigned int r15; + long unsigned int r14; + long unsigned int r13; + long unsigned int r12; + long unsigned int bp; + long unsigned int bx; + long unsigned int r11; + long unsigned int r10; + long unsigned int r9; + long unsigned int r8; + long unsigned int ax; + long unsigned int cx; + long unsigned int dx; + long unsigned int si; + long unsigned int di; + long unsigned int orig_ax; + long unsigned int ip; + union { + u16 cs; + u64 csx; + struct fred_cs fred_cs; + }; + long unsigned int flags; + long unsigned int sp; + union { + u16 ss; + u64 ssx; + struct fred_ss fred_ss; + }; +}; + +struct __arch_ftrace_regs { + struct pt_regs regs; +}; + +struct __arch_relative_insn { + u8 op; + s32 raddr; +} __attribute__((packed)); + +struct llist_node { + struct llist_node *next; +}; + +struct __call_single_node { + struct llist_node llist; + union { + unsigned int u_flags; + atomic_t a_flags; + }; + u16 src; + u16 dst; +}; + +typedef void (*smp_call_func_t)(void *); + +struct __call_single_data { + struct __call_single_node node; + smp_call_func_t func; + void *info; +}; + +typedef struct __call_single_data call_single_data_t; + +struct idr; + +struct __class_idr { + struct idr *idr; + int id; +}; + +typedef struct __class_idr class_idr_alloc_t; + +struct cpumask; + +struct __cmp_key { + const struct cpumask *cpus; + struct cpumask ***masks; + int node; + int cpu; + int w; +}; + +struct __compat_aio_sigset { + compat_uptr_t sigmask; + compat_size_t sigsetsize; +}; + +struct __compat_iw_event { + __u16 len; + __u16 cmd; + union { + compat_caddr_t pointer; + struct { + struct {} __empty_ptr_bytes; + __u8 ptr_bytes[0]; + }; + }; +}; + +struct drm_connector; + +struct drm_connector_state; + +struct __drm_connnectors_state { + struct drm_connector *ptr; + struct drm_connector_state *state; + struct drm_connector_state *old_state; + struct drm_connector_state *new_state; + s32 *out_fence_ptr; +}; + +struct drm_crtc; + +struct drm_crtc_state; + +struct drm_crtc_commit; + +struct __drm_crtcs_state { + struct drm_crtc *ptr; + struct drm_crtc_state *state; + struct drm_crtc_state *old_state; + struct drm_crtc_state *new_state; + struct drm_crtc_commit *commit; + s32 *out_fence_ptr; + u64 last_vblank_count; +}; + +struct drm_plane; + +struct drm_plane_state; + +struct __drm_planes_state { + struct drm_plane *ptr; + struct drm_plane_state *state; + struct drm_plane_state *old_state; + struct drm_plane_state *new_state; +}; + +struct drm_private_obj; + +struct drm_private_state; + +struct __drm_private_objs_state { + struct drm_private_obj *ptr; + struct drm_private_state *state; + struct drm_private_state *old_state; + struct drm_private_state *new_state; +}; + +struct __extcon_info { + unsigned int type; + unsigned int id; + const char *name; +}; + +struct __fat_dirent { + long int d_ino; + __kernel_off_t d_off; + short unsigned int d_reclen; + char d_name[256]; +}; + +struct __fb_timings { + u32 dclk; + u32 hfreq; + u32 vfreq; + u32 hactive; + u32 vactive; + u32 hblank; + u32 vblank; + u32 htotal; + u32 vtotal; +}; + +struct tracepoint; + +struct __find_tracepoint_cb_data { + const char *tp_name; + struct tracepoint *tpoint; + struct module *mod; +}; + +struct genradix_root; + +struct __genradix { + struct genradix_root *root; +}; + +struct pmu; + +struct cgroup; + +struct __group_key { + int cpu; + struct pmu *pmu; + struct cgroup *cgroup; +}; + +struct sha256_block_state { + u32 h[8]; +}; + +struct __sha256_ctx { + struct sha256_block_state state; + u64 bytecount; + u8 buf[64]; +}; + +struct __hmac_sha256_ctx { + struct __sha256_ctx sha_ctx; + struct sha256_block_state ostate; +}; + +struct __hmac_sha256_key { + struct sha256_block_state istate; + struct sha256_block_state ostate; +}; + +struct sha512_block_state { + u64 h[8]; +}; + +struct __sha512_ctx { + struct sha512_block_state state; + u64 bytecount_lo; + u64 bytecount_hi; + u8 buf[128]; +}; + +struct __hmac_sha512_ctx { + struct __sha512_ctx sha_ctx; + struct sha512_block_state ostate; +}; + +struct __hmac_sha512_key { + struct sha512_block_state istate; + struct sha512_block_state ostate; +}; + +struct __ip6_tnl_parm { + char name[16]; + int link; + __u8 proto; + __u8 encap_limit; + __u8 hop_limit; + bool collect_md; + __be32 flowinfo; + __u32 flags; + struct in6_addr laddr; + struct in6_addr raddr; + long unsigned int i_flags[1]; + long unsigned int o_flags[1]; + __be32 i_key; + __be32 o_key; + __u32 fwmark; + __u32 index; + __u8 erspan_ver; + __u8 dir; + __u16 hwid; +}; + +struct __kernel_timespec { + __kernel_time64_t tv_sec; + long long int tv_nsec; +}; + +struct __kernel_itimerspec { + struct __kernel_timespec it_interval; + struct __kernel_timespec it_value; +}; + +struct __kernel_old_timeval { + __kernel_long_t tv_sec; + __kernel_long_t tv_usec; +}; + +struct __kernel_old_itimerval { + struct __kernel_old_timeval it_interval; + struct __kernel_old_timeval it_value; +}; + +struct __kernel_old_timespec { + __kernel_old_time_t tv_sec; + long int tv_nsec; +}; + +struct __kernel_sock_timeval { + __s64 tv_sec; + __s64 tv_usec; +}; + +struct __kernel_sockaddr_storage { + union { + struct { + __kernel_sa_family_t ss_family; + char __data[126]; + }; + void *__align; + }; +}; + +struct __kernel_timex_timeval { + __kernel_time64_t tv_sec; + long long int tv_usec; +}; + +struct __kernel_timex { + unsigned int modes; + long long int offset; + long long int freq; + long long int maxerror; + long long int esterror; + int status; + long long int constant; + long long int precision; + long long int tolerance; + struct __kernel_timex_timeval time; + long long int tick; + long long int ppsfreq; + long long int jitter; + int shift; + long long int stabil; + long long int jitcnt; + long long int calcnt; + long long int errcnt; + long long int stbcnt; + int tai; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct __kfifo { + unsigned int in; + unsigned int out; + unsigned int mask; + unsigned int esize; + void *data; +}; + +struct __ksymtab { + long unsigned int value; + const char *mod_name; + long unsigned int mod_start; + long unsigned int mod_end; + const char *sec_name; + long unsigned int sec_start; + long unsigned int sec_end; + const char *sym_name; + long unsigned int sym_start; + long unsigned int sym_end; +}; + +typedef struct __ksymtab kdb_symtab_t; + +struct __large_struct { + long unsigned int buf[100]; +}; + +struct __old_kernel_stat { + short unsigned int st_dev; + short unsigned int st_ino; + short unsigned int st_mode; + short unsigned int st_nlink; + short unsigned int st_uid; + short unsigned int st_gid; + short unsigned int st_rdev; + unsigned int st_size; + unsigned int st_atime; + unsigned int st_mtime; + unsigned int st_ctime; +}; + +struct __pldm_timestamp { + u8 b[13]; +}; + +struct __pldm_header { + uuid_t id; + u8 revision; + __le16 size; + struct __pldm_timestamp release_date; + __le16 component_bitmap_len; + u8 version_type; + u8 version_len; + u8 version_string[0]; +} __attribute__((packed)); + +struct __pldmfw_component_area { + __le16 component_image_count; + u8 components[0]; +}; + +struct __pldmfw_component_info { + __le16 classification; + __le16 identifier; + __le32 comparison_stamp; + __le16 options; + __le16 activation_method; + __le32 location_offset; + __le32 size; + u8 version_type; + u8 version_len; + u8 version_string[0]; +} __attribute__((packed)); + +struct __pldmfw_desc_tlv { + __le16 type; + __le16 size; + u8 data[0]; +}; + +struct __pldmfw_record_area { + u8 record_count; + u8 records[0]; +}; + +struct __pldmfw_record_info { + __le16 record_len; + u8 descriptor_count; + __le32 device_update_flags; + u8 version_type; + u8 version_len; + __le16 package_data_len; + u8 variable_record_data[0]; +} __attribute__((packed)); + +struct net_device; + +struct __rt6_probe_work { + struct work_struct work; + struct in6_addr target; + struct net_device *dev; + netdevice_tracker dev_tracker; +}; + +union sigval { + int sival_int; + void *sival_ptr; +}; + +typedef union sigval sigval_t; + +union __sifields { + struct { + __kernel_pid_t _pid; + __kernel_uid32_t _uid; + } _kill; + struct { + __kernel_timer_t _tid; + int _overrun; + sigval_t _sigval; + int _sys_private; + } _timer; + struct { + __kernel_pid_t _pid; + __kernel_uid32_t _uid; + sigval_t _sigval; + } _rt; + struct { + __kernel_pid_t _pid; + __kernel_uid32_t _uid; + int _status; + __kernel_clock_t _utime; + __kernel_clock_t _stime; + } _sigchld; + struct { + void *_addr; + union { + int _trapno; + short int _addr_lsb; + struct { + char _dummy_bnd[8]; + void *_lower; + void *_upper; + } _addr_bnd; + struct { + char _dummy_pkey[8]; + __u32 _pkey; + } _addr_pkey; + struct { + long unsigned int _data; + __u32 _type; + __u32 _flags; + } _perf; + }; + } _sigfault; + struct { + long int _band; + int _fd; + } _sigpoll; + struct { + void *_call_addr; + int _syscall; + unsigned int _arch; + } _sigsys; +}; + +struct bpf_flow_keys; + +struct bpf_sock; + +struct __sk_buff { + __u32 len; + __u32 pkt_type; + __u32 mark; + __u32 queue_mapping; + __u32 protocol; + __u32 vlan_present; + __u32 vlan_tci; + __u32 vlan_proto; + __u32 priority; + __u32 ingress_ifindex; + __u32 ifindex; + __u32 tc_index; + __u32 cb[5]; + __u32 hash; + __u32 tc_classid; + __u32 data; + __u32 data_end; + __u32 napi_id; + __u32 family; + __u32 remote_ip4; + __u32 local_ip4; + __u32 remote_ip6[4]; + __u32 local_ip6[4]; + __u32 remote_port; + __u32 local_port; + __u32 data_meta; + union { + struct bpf_flow_keys *flow_keys; + }; + __u64 tstamp; + __u32 wire_len; + __u32 gso_segs; + union { + struct bpf_sock *sk; + }; + __u32 gso_size; + __u8 tstamp_type; + __u64 hwtstamp; +}; + +struct dentry; + +struct __track_dentry_update_args { + struct dentry *dentry; + int op; +}; + +struct __track_range_args { + ext4_lblk_t start; + ext4_lblk_t end; +}; + +union __u128_halves { + u128 full; + struct { + u64 low; + u64 high; + }; +}; + +struct inode; + +struct __uprobe_key { + struct inode *inode; + loff_t offset; +}; + +struct __user_cap_data_struct { + __u32 effective; + __u32 permitted; + __u32 inheritable; +}; + +typedef struct __user_cap_data_struct *cap_user_data_t; + +struct __user_cap_header_struct { + __u32 version; + int pid; +}; + +typedef struct __user_cap_header_struct *cap_user_header_t; + +struct __va_list_tag { + unsigned int gp_offset; + unsigned int fp_offset; + void *overflow_arg_area; + void *reg_save_area; +}; + +typedef __builtin_va_list va_list; + +struct _bpf_dtab_netdev { + struct net_device *dev; +}; + +union _cpuid4_leaf_eax { + struct { + enum _cache_type type: 5; + unsigned int level: 3; + unsigned int is_self_initializing: 1; + unsigned int is_fully_associative: 1; + unsigned int reserved: 4; + unsigned int num_threads_sharing: 12; + unsigned int num_cores_on_die: 6; + } split; + u32 full; +}; + +union _cpuid4_leaf_ebx { + struct { + unsigned int coherency_line_size: 12; + unsigned int physical_line_partition: 10; + unsigned int ways_of_associativity: 10; + } split; + u32 full; +}; + +union _cpuid4_leaf_ecx { + struct { + unsigned int number_of_sets: 32; + } split; + u32 full; +}; + +struct _cpuid4_info { + union _cpuid4_leaf_eax eax; + union _cpuid4_leaf_ebx ebx; + union _cpuid4_leaf_ecx ecx; + unsigned int id; + long unsigned int size; +}; + +struct jump_entry; + +struct static_key_mod; + +struct static_key { + atomic_t enabled; + union { + long unsigned int type; + struct jump_entry *entries; + struct static_key_mod *next; + }; +}; + +struct static_key_true { + struct static_key key; +}; + +struct static_key_false { + struct static_key key; +}; + +struct _ddebug { + const char *modname; + const char *function; + const char *filename; + const char *format; + unsigned int lineno: 18; + unsigned int class_id: 6; + unsigned int flags: 8; + union { + struct static_key_true dd_key_true; + struct static_key_false dd_key_false; + } key; +}; + +struct ddebug_class_map; + +struct _ddebug_info { + struct _ddebug *descs; + struct ddebug_class_map *classes; + unsigned int num_descs; + unsigned int num_classes; +}; + +struct _flow_keys_digest_data { + __be16 n_proto; + u8 ip_proto; + u8 padding; + __be32 ports; + __be32 src; + __be32 dst; +}; + +struct _fpreg { + __u16 significand[4]; + __u16 exponent; +}; + +struct _fpxreg { + __u16 significand[4]; + __u16 exponent; + __u16 padding[3]; +}; + +struct _xmmreg { + __u32 element[4]; +}; + +struct _fpx_sw_bytes { + __u32 magic1; + __u32 extended_size; + __u64 xfeatures; + __u32 xstate_size; + __u32 padding[7]; +}; + +struct _fpstate_32 { + __u32 cw; + __u32 sw; + __u32 tag; + __u32 ipoff; + __u32 cssel; + __u32 dataoff; + __u32 datasel; + struct _fpreg _st[8]; + __u16 status; + __u16 magic; + __u32 _fxsr_env[6]; + __u32 mxcsr; + __u32 reserved; + struct _fpxreg _fxsr_st[8]; + struct _xmmreg _xmm[8]; + union { + __u32 padding1[44]; + __u32 padding[44]; + }; + union { + __u32 padding2[12]; + struct _fpx_sw_bytes sw_reserved; + }; +}; + +struct _gpiochip_for_each_data { + const char **label; + unsigned int *i; +}; + +typedef struct _gpiochip_for_each_data class__gpiochip_for_each_data_t; + +struct _gpt_entry_attributes { + u64 required_to_function: 1; + u64 reserved: 47; + u64 type_guid_specific: 16; +}; + +typedef struct _gpt_entry_attributes gpt_entry_attributes; + +struct _gpt_entry { + efi_guid_t partition_type_guid; + efi_guid_t unique_partition_guid; + __le64 starting_lba; + __le64 ending_lba; + gpt_entry_attributes attributes; + __le16 partition_name[36]; +}; + +typedef struct _gpt_entry gpt_entry; + +struct _gpt_header { + __le64 signature; + __le32 revision; + __le32 header_size; + __le32 header_crc32; + __le32 reserved1; + __le64 my_lba; + __le64 alternate_lba; + __le64 first_usable_lba; + __le64 last_usable_lba; + efi_guid_t disk_guid; + __le64 partition_entry_lba; + __le32 num_partition_entries; + __le32 sizeof_partition_entry; + __le32 partition_entry_array_crc32; +} __attribute__((packed)); + +typedef struct _gpt_header gpt_header; + +struct _gpt_mbr_record { + u8 boot_indicator; + u8 start_head; + u8 start_sector; + u8 start_track; + u8 os_type; + u8 end_head; + u8 end_sector; + u8 end_track; + __le32 starting_lba; + __le32 size_in_lba; +}; + +typedef struct _gpt_mbr_record gpt_mbr_record; + +struct resource { + resource_size_t start; + resource_size_t end; + const char *name; + long unsigned int flags; + long unsigned int desc; + struct resource *parent; + struct resource *sibling; + struct resource *child; +}; + +struct intel_gtt_driver; + +struct pci_dev; + +struct page; + +struct _intel_private { + const struct intel_gtt_driver *driver; + struct pci_dev *pcidev; + struct pci_dev *bridge_dev; + u8 *registers; + phys_addr_t gtt_phys_addr; + u32 PGETBL_save; + u32 *gtt; + bool clear_fake_agp; + int num_dcache_entries; + void *i9xx_flush_page; + char *i81x_gtt_table; + struct resource ifp_resource; + int resource_valid; + struct page *scratch_page; + phys_addr_t scratch_page_dma; + int refcount; + unsigned int needs_dmar: 1; + phys_addr_t gma_bus_addr; + resource_size_t stolen_size; + unsigned int gtt_total_entries; + unsigned int gtt_mappable_entries; +}; + +struct _kdb_bp { + long unsigned int bp_addr; + unsigned int bp_free: 1; + unsigned int bp_enabled: 1; + unsigned int bp_type: 4; + unsigned int bp_installed: 1; + unsigned int bp_delay: 1; + unsigned int bp_delayed: 1; + unsigned int bph_length; +}; + +typedef struct _kdb_bp kdb_bp_t; + +struct _kdbmsg { + int km_diag; + char *km_msg; +}; + +typedef struct _kdbmsg kdbmsg_t; + +typedef int (*kdb_func_t)(int, const char **); + +struct _kdbtab { + char *name; + kdb_func_t func; + char *usage; + char *help; + short int minlen; + kdb_cmdflags_t flags; + struct list_head list_node; +}; + +typedef struct _kdbtab kdbtab_t; + +struct kvm_stats_desc { + __u32 flags; + __s16 exponent; + __u16 size; + __u32 offset; + __u32 bucket_size; + char name[0]; +}; + +struct _kvm_stats_desc { + struct kvm_stats_desc desc; + char name[48]; +}; + +struct _legacy_mbr { + u8 boot_code[440]; + __le32 unique_mbr_signature; + __le16 unknown; + gpt_mbr_record partition_record[4]; + __le16 signature; +} __attribute__((packed)); + +typedef struct _legacy_mbr legacy_mbr; + +struct strp_msg { + int full_len; + int offset; +}; + +struct _strp_msg { + struct strp_msg strp; + int accum_len; +}; + +struct delayed_work { + struct work_struct work; + struct timer_list timer; + struct workqueue_struct *wq; + int cpu; +}; + +struct _thermal_state { + u64 next_check; + u64 last_interrupt_time; + struct delayed_work therm_work; + long unsigned int count; + long unsigned int last_count; + long unsigned int max_time_ms; + long unsigned int total_time_ms; + bool rate_control_active; + bool new_event; + u8 level; + u8 sample_index; + u8 sample_count; + u8 average; + u8 baseline_temp; + u8 temp_samples[3]; +}; + +struct aa_policydb; + +struct aa_attachment { + const char *xmatch_str; + struct aa_policydb *xmatch; + unsigned int xmatch_len; + int xattr_count; + char **xattrs; +}; + +struct aa_audit_cache { + spinlock_t lock; + int size; + struct list_head head; +}; + +struct vfsmount; + +struct path { + struct vfsmount *mnt; + struct dentry *dentry; +}; + +struct lsm_network_audit; + +struct lsm_ioctlop_audit; + +struct file; + +struct lsm_ibpkey_audit; + +struct lsm_ibendport_audit; + +struct smack_audit_data; + +struct selinux_audit_data; + +struct apparmor_audit_data; + +struct common_audit_data { + char type; + union { + struct path path; + struct dentry *dentry; + struct inode *inode; + struct lsm_network_audit *net; + int cap; + int ipc_id; + struct task_struct *tsk; + struct { + key_serial_t key; + char *key_desc; + } key_struct; + char *kmod_name; + struct lsm_ioctlop_audit *op; + struct file *file; + struct lsm_ibpkey_audit *ibpkey; + struct lsm_ibendport_audit *ibendport; + int reason; + const char *anonclass; + u16 nlmsg_type; + } u; + union { + struct smack_audit_data *smack_audit_data; + struct selinux_audit_data *selinux_audit_data; + struct apparmor_audit_data *apparmor_audit_data; + }; +}; + +struct cred; + +struct aa_label; + +struct aa_profile; + +struct apparmor_audit_data { + u32 flags; + int error; + int type; + u16 class; + const char *op; + const struct cred *subj_cred; + struct aa_label *subj_label; + const char *name; + const char *info; + u32 request; + u32 denied; + u32 tags; + struct task_struct *subjtsk; + union { + struct { + struct aa_label *peer; + union { + struct { + const char *target; + kuid_t ouid; + } fs; + struct { + int rlim; + long unsigned int max; + } rlim; + struct { + int signal; + int unmappedsig; + }; + struct { + int type; + int protocol; + void *addr; + int addrlen; + struct { + void *addr; + int addrlen; + } peer; + } net; + struct { + const char *target; + } ns; + struct { + kuid_t ouid; + } mq; + }; + }; + struct { + struct aa_profile *profile; + const char *ns; + long int pos; + } iface; + struct { + const char *src_name; + const char *type; + const char *trans; + const char *data; + long unsigned int flags; + } mnt; + struct { + struct aa_label *target; + } uring; + }; + struct common_audit_data common; +}; + +struct aa_knotif { + struct apparmor_audit_data *ad; + struct list_head list; + struct completion ready; + u64 id; + u16 ntype; + u16 flags; +}; + +struct aa_audit_node { + struct kref count; + struct apparmor_audit_data data; + struct list_head list; + struct aa_knotif knotif; +}; + +struct aa_audit_rule { + struct aa_label *label; +}; + +union aa_buffer { + struct list_head list; + struct { + struct {} __empty_buffer; + char buffer[0]; + }; +}; + +struct aa_caps { + kernel_cap_t allow; + kernel_cap_t audit; + kernel_cap_t denied; + kernel_cap_t quiet; + kernel_cap_t kill; + kernel_cap_t extended; +}; + +struct aa_common_ref { + struct kref count; + enum reftype reftype; +}; + +struct rhash_head { + struct rhash_head *next; +}; + +struct aa_data { + char *key; + u32 size; + char *data; + struct rhash_head head; +}; + +struct table_header; + +struct aa_dfa { + struct kref count; + u16 flags; + u32 max_oob; + struct table_header *tables[8]; +}; + +struct aa_ext { + void *start; + void *end; + void *pos; + u32 version; +}; + +struct aa_file_ctx { + spinlock_t lock; + struct aa_label *label; + u32 allow; +}; + +struct aa_inode_sec { + struct inode *inode; + struct aa_label *label; + u16 sclass; + bool initialized; + spinlock_t lock; +}; + +struct aa_proxy; + +struct aa_ruleset; + +struct aa_label { + struct aa_common_ref count; + struct rb_node node; + struct callback_head rcu; + struct aa_proxy *proxy; + char *hname; + long int flags; + u32 secid; + int size; + u64 mediates; + union { + struct { + struct aa_profile *profile[2]; + struct { + struct {} __empty_rules; + struct aa_ruleset *rules[0]; + }; + }; + struct { + struct {} __empty_vec; + struct aa_profile *vec[0]; + }; + }; +}; + +struct rb_root { + struct rb_node *rb_node; +}; + +struct aa_labelset { + rwlock_t lock; + struct rb_root root; +}; + +struct aa_ns; + +struct aa_listener { + struct kref count; + spinlock_t lock; + wait_queue_head_t wait; + struct list_head ns_proxies; + struct list_head notifications; + struct list_head pending; + struct aa_ns *ns; + struct aa_dfa *filter; + struct aa_label *label; + u64 listener_id; + u64 last_id; + u32 mask; + u32 flags; + u16 version; +}; + +struct aa_listener_proxy { + struct aa_ns *ns; + struct aa_listener *listener; + struct list_head llist; + struct list_head nslist; + struct delayed_work work; +}; + +struct aa_load_ent { + struct list_head list; + struct aa_profile *new; + struct aa_profile *old; + struct aa_profile *rename; + const char *ns_name; +}; + +struct aa_loaddata { + struct aa_common_ref count; + struct kref pcount; + struct list_head list; + struct work_struct work; + struct dentry *dents[6]; + struct aa_ns *ns; + char *name; + size_t size; + size_t compressed_size; + long int revision; + int abi; + unsigned char *hash; + char *data; +}; + +struct aa_local_cache { + unsigned int hold; + unsigned int count; + struct list_head head; +}; + +struct aa_net_compat { + u16 allow[46]; + u16 audit[46]; + u16 quiet[46]; +}; + +struct aa_policy { + const char *name; + char *hname; + struct list_head list; + struct list_head profiles; +}; + +struct aa_ns_acct { + int max_size; + int max_count; + int size; + int count; +}; + +struct aa_ns { + struct aa_policy base; + struct aa_ns *parent; + struct mutex lock; + struct aa_ns_acct acct; + struct aa_profile *unconfined; + struct list_head sub_ns; + atomic_t uniq_null; + long int uniq_id; + int level; + long int revision; + wait_queue_head_t wait; + spinlock_t listener_lock; + struct list_head listeners; + struct aa_labelset labels; + struct list_head rawdata_list; + struct dentry *dents[13]; +}; + +struct aa_perms { + u32 allow; + u32 deny; + u32 subtree; + u32 cond; + u32 kill; + u32 complain; + u32 prompt; + u32 audit; + u32 quiet; + u32 hide; + u32 xindex; + u32 tag; + u32 label; +}; + +struct aa_str_table_ent; + +struct aa_str_table { + int size; + struct aa_str_table_ent *table; +}; + +struct aa_tags_header; + +struct aa_tags_struct { + struct { + u32 size; + u32 *table; + } sets; + struct { + u32 size; + struct aa_tags_header *table; + } hdrs; + struct aa_str_table strs; +}; + +struct aa_policydb { + struct kref count; + struct aa_dfa *dfa; + struct { + struct aa_perms *perms; + u32 size; + }; + struct aa_str_table trans; + struct aa_tags_struct tags; + unsigned int start[33]; +}; + +struct rhashtable; + +struct aa_profile { + struct aa_policy base; + struct aa_profile *parent; + struct aa_ns *ns; + const char *rename; + enum audit_mode audit; + long int mode; + u32 path_flags; + int signal; + const char *disconnected; + const char *disconnected_ipc; + struct aa_attachment attach; + struct aa_net_compat *net_compat; + struct aa_audit_cache learning_cache; + struct aa_loaddata *rawdata; + unsigned char *hash; + char *dirname; + struct dentry *dents[10]; + struct rhashtable *data; + int n_rules; + struct aa_label label; +}; + +struct aa_proxy { + struct aa_common_ref count; + struct aa_label *label; +}; + +struct aa_revision { + struct aa_ns *ns; + long int last_read; +}; + +struct rlimit { + __kernel_ulong_t rlim_cur; + __kernel_ulong_t rlim_max; +}; + +struct aa_rlimit { + unsigned int mask; + struct rlimit limits[16]; +}; + +struct aa_secmark; + +struct aa_ruleset { + int size; + struct aa_policydb *policy; + struct aa_policydb *file; + struct aa_caps caps; + struct aa_rlimit rlimits; + int secmark_count; + struct aa_secmark *secmark; +}; + +struct aa_secmark { + u8 audit; + u8 deny; + u32 secid; + char *label; +}; + +struct file_operations; + +struct aa_sfs_entry { + const char *name; + struct dentry *dentry; + umode_t mode; + enum aa_sfs_type v_type; + union { + bool boolean; + char *string; + long unsigned int u64; + struct aa_sfs_entry *files; + } v; + const struct file_operations *file_ops; +}; + +struct aa_sk_ctx { + struct aa_label *label; + struct aa_label *peer; + struct aa_label *peer_lastupdate; +}; + +struct aa_str_table_ent { + int count; + int size; + char *strs; +}; + +struct aa_tags_header { + u32 mask; + u32 count; + u32 size; + u32 tags; +}; + +struct aa_task_ctx { + struct aa_label *nnp; + struct aa_label *onexec; + struct aa_label *previous; + u64 token; +}; + +struct i2c_client; + +struct aat2870_register; + +struct aat2870_data { + struct device *dev; + struct i2c_client *client; + struct mutex io_lock; + struct aat2870_register *reg_cache; + int en_pin; + bool is_enable; + int (*init)(struct aat2870_data *); + void (*uninit)(struct aat2870_data *); + int (*read)(struct aat2870_data *, u8, u8 *); + int (*write)(struct aat2870_data *, u8, u8); + int (*update)(struct aat2870_data *, u8, u8, u8); +}; + +struct aat2870_subdev_info; + +struct aat2870_platform_data { + int en_pin; + struct aat2870_subdev_info *subdevs; + int num_subdevs; + int (*init)(struct aat2870_data *); + void (*uninit)(struct aat2870_data *); +}; + +struct aat2870_register { + bool readable; + bool writeable; + u8 value; +}; + +struct aat2870_subdev_info { + int id; + const char *name; + void *platform_data; +}; + +struct seq_net_private { + struct net *net; + netns_tracker ns_tracker; +}; + +struct ac6_iter_state { + struct seq_net_private p; + struct net_device *dev; +}; + +struct accept_range { + struct list_head list; + long unsigned int start; + long unsigned int end; +}; + +struct access_coordinate { + unsigned int read_bandwidth; + unsigned int write_bandwidth; + unsigned int read_latency; + unsigned int write_latency; +}; + +struct access_masks { + access_mask_t fs: 16; + access_mask_t net: 2; + access_mask_t scope: 2; +}; + +union access_masks_all { + struct access_masks masks; + u32 all; +}; + +struct access_report_info { + struct callback_head work; + const char *access; + struct task_struct *target; + struct task_struct *agent; +}; + +struct acct_v3 { + char ac_flag; + char ac_version; + __u16 ac_tty; + __u32 ac_exitcode; + __u32 ac_uid; + __u32 ac_gid; + __u32 ac_pid; + __u32 ac_ppid; + __u32 ac_btime; + __u32 ac_etime; + comp_t ac_utime; + comp_t ac_stime; + comp_t ac_mem; + comp_t ac_io; + comp_t ac_rw; + comp_t ac_minflt; + comp_t ac_majflt; + comp_t ac_swaps; + char ac_comm[16]; +}; + +typedef struct acct_v3 acct_t; + +struct ack_sample { + u32 pkts_acked; + s32 rtt_us; + u32 in_flight; +}; + +struct crypto_tfm; + +struct cipher_alg { + unsigned int cia_min_keysize; + unsigned int cia_max_keysize; + int (*cia_setkey)(struct crypto_tfm *, const u8 *, unsigned int); + void (*cia_encrypt)(struct crypto_tfm *, u8 *, const u8 *); + void (*cia_decrypt)(struct crypto_tfm *, u8 *, const u8 *); +}; + +struct crypto_type; + +struct crypto_alg { + struct list_head cra_list; + struct list_head cra_users; + u32 cra_flags; + unsigned int cra_blocksize; + unsigned int cra_ctxsize; + unsigned int cra_alignmask; + unsigned int cra_reqsize; + int cra_priority; + refcount_t cra_refcnt; + char cra_name[128]; + char cra_driver_name[128]; + const struct crypto_type *cra_type; + union { + struct cipher_alg cipher; + } cra_u; + int (*cra_init)(struct crypto_tfm *); + void (*cra_exit)(struct crypto_tfm *); + void (*cra_destroy)(struct crypto_alg *); + struct module *cra_module; +}; + +struct comp_alg_common { + struct crypto_alg base; +}; + +struct acomp_req; + +struct crypto_acomp; + +struct acomp_alg { + int (*compress)(struct acomp_req *); + int (*decompress)(struct acomp_req *); + int (*init)(struct crypto_acomp *); + void (*exit)(struct crypto_acomp *); + union { + struct { + struct crypto_alg base; + }; + struct comp_alg_common calg; + }; +}; + +typedef void (*crypto_completion_t)(void *, int); + +struct crypto_async_request { + struct list_head list; + crypto_completion_t complete; + void *data; + struct crypto_tfm *tfm; + u32 flags; +}; + +struct scatterlist { + long unsigned int page_link; + unsigned int offset; + unsigned int length; + dma_addr_t dma_address; + unsigned int dma_length; + unsigned int dma_flags; +}; + +struct acomp_req_chain { + crypto_completion_t compl; + void *data; + struct scatterlist ssg; + struct scatterlist dsg; + union { + const u8 *src; + struct folio *sfolio; + }; + union { + u8 *dst; + struct folio *dfolio; + }; + u32 flags; +}; + +struct acomp_req { + struct crypto_async_request base; + union { + struct scatterlist *src; + const u8 *svirt; + }; + union { + struct scatterlist *dst; + u8 *dvirt; + }; + unsigned int slen; + unsigned int dlen; + struct acomp_req_chain chain; + void *__ctx[0]; +}; + +union crypto_no_such_thing; + +struct scatter_walk { + union { + void * const addr; + union crypto_no_such_thing *__addr; + }; + struct scatterlist *sg; + unsigned int offset; +}; + +struct acomp_walk { + union { + struct { + struct { + const void * const addr; + } virt; + } src; + struct scatter_walk in; + }; + union { + struct { + struct { + void * const addr; + } virt; + } dst; + struct scatter_walk out; + }; + unsigned int slen; + unsigned int dlen; + int flags; +}; + +struct power_supply; + +union power_supply_propval; + +struct power_supply_desc { + const char *name; + enum power_supply_type type; + u8 charge_behaviours; + u32 charge_types; + u32 usb_types; + const enum power_supply_property *properties; + size_t num_properties; + int (*get_property)(struct power_supply *, enum power_supply_property, union power_supply_propval *); + int (*set_property)(struct power_supply *, enum power_supply_property, const union power_supply_propval *); + int (*property_is_writeable)(struct power_supply *, enum power_supply_property); + void (*external_power_changed)(struct power_supply *); + bool no_thermal; + int use_for_apm; +}; + +struct notifier_block; + +typedef int (*notifier_fn_t)(struct notifier_block *, long unsigned int, void *); + +struct notifier_block { + notifier_fn_t notifier_call; + struct notifier_block *next; + int priority; +}; + +struct acpi_device; + +struct acpi_ac { + struct power_supply *charger; + struct power_supply_desc charger_desc; + struct acpi_device *device; + long long unsigned int state; + struct notifier_block battery_nb; +}; + +struct acpi_address16_attribute { + u16 granularity; + u16 minimum; + u16 maximum; + u16 translation_offset; + u16 address_length; +}; + +struct acpi_address32_attribute { + u32 granularity; + u32 minimum; + u32 maximum; + u32 translation_offset; + u32 address_length; +}; + +struct acpi_address64_attribute { + u64 granularity; + u64 minimum; + u64 maximum; + u64 translation_offset; + u64 address_length; +}; + +struct acpi_namespace_node; + +struct acpi_address_range { + struct acpi_address_range *next; + struct acpi_namespace_node *region_node; + acpi_physical_address start_address; + acpi_physical_address end_address; +}; + +struct circ_buf { + char *buf; + int head; + int tail; +}; + +typedef void (*acpi_osd_exec_callback)(void *); + +struct acpi_aml_io { + wait_queue_head_t wait; + long unsigned int flags; + long unsigned int users; + struct mutex lock; + struct task_struct *thread; + char out_buf[4096]; + struct circ_buf out_crc; + char in_buf[4096]; + struct circ_buf in_crc; + acpi_osd_exec_callback function; + void *context; + long unsigned int usages; +}; + +struct acpi_battery { + struct mutex lock; + struct mutex update_lock; + struct power_supply *bat; + struct power_supply_desc bat_desc; + struct acpi_device *device; + struct notifier_block pm_nb; + struct list_head list; + long unsigned int update_time; + int revision; + int rate_now; + int capacity_now; + int voltage_now; + int design_capacity; + int full_charge_capacity; + int technology; + int design_voltage; + int design_capacity_warning; + int design_capacity_low; + int cycle_count; + int measurement_accuracy; + int max_sampling_time; + int min_sampling_time; + int max_averaging_interval; + int min_averaging_interval; + int capacity_granularity_1; + int capacity_granularity_2; + int alarm; + char model_number[64]; + char serial_number[64]; + char type[64]; + char oem_info[64]; + int state; + int power_unit; + long unsigned int flags; +}; + +struct acpi_battery_hook { + const char *name; + int (*add_battery)(struct power_supply *, struct acpi_battery_hook *); + int (*remove_battery)(struct power_supply *, struct acpi_battery_hook *); + struct list_head list; +}; + +struct acpi_bert_region { + u32 block_status; + u32 raw_data_offset; + u32 raw_data_length; + u32 data_length; + u32 error_severity; +}; + +struct acpi_bit_register_info { + u8 parent_register; + u8 bit_position; + u16 access_bit_mask; +}; + +struct acpi_buffer { + acpi_size length; + void *pointer; +}; + +struct acpi_bus_event { + struct list_head node; + acpi_device_class device_class; + acpi_bus_id bus_id; + u32 type; + u32 data; +}; + +struct acpi_bus_type { + struct list_head list; + const char *name; + bool (*match)(struct device *); + struct acpi_device * (*find_companion)(struct device *); + void (*setup)(struct device *); +}; + +struct input_dev; + +struct acpi_button { + unsigned int type; + struct input_dev *input; + char phys[32]; + long unsigned int pushed; + int last_state; + ktime_t last_time; + bool suspended; + bool lid_state_initialized; +}; + +struct acpi_cdat_header { + u8 type; + u8 reserved; + u16 length; +}; + +struct acpi_cedt_header { + u8 type; + u8 reserved; + u16 length; +}; + +struct acpi_cedt_cfmws { + struct acpi_cedt_header header; + u32 reserved1; + u64 base_hpa; + u64 window_size; + u8 interleave_ways; + u8 interleave_arithmetic; + u16 reserved2; + u32 granularity; + u16 restrictions; + u16 qtg_id; + u32 interleave_targets[0]; +} __attribute__((packed)); + +struct acpi_comment_node { + char *comment; + struct acpi_comment_node *next; +}; + +struct acpi_common_descriptor { + void *common_pointer; + u8 descriptor_type; +}; + +struct acpi_common_state { + void *next; + u8 descriptor_type; + u8 flags; + u16 value; + u16 state; +}; + +struct acpi_connection_info { + u8 *connection; + u16 length; + u8 access_length; +}; + +union acpi_parse_object; + +struct acpi_control_state { + void *next; + u8 descriptor_type; + u8 flags; + u16 value; + u16 state; + u16 opcode; + union acpi_parse_object *predicate_op; + u8 *aml_predicate_start; + u8 *package_end; + u64 loop_timeout; +}; + +typedef struct cpumask *cpumask_var_t; + +struct acpi_pct_register; + +struct acpi_cpufreq_data { + unsigned int resume; + unsigned int cpu_feature; + unsigned int acpi_perf_cpu; + cpumask_var_t freqdomain_cpus; + void (*cpu_freq_write)(struct acpi_pct_register *, u32); + u32 (*cpu_freq_read)(struct acpi_pct_register *); +}; + +struct acpi_create_field_info { + struct acpi_namespace_node *region_node; + struct acpi_namespace_node *field_node; + struct acpi_namespace_node *register_node; + struct acpi_namespace_node *data_register_node; + struct acpi_namespace_node *connection_node; + u8 *resource_buffer; + u32 bank_value; + u32 field_bit_position; + u32 field_bit_length; + u16 resource_length; + u16 pin_number_index; + u8 field_flags; + u8 attribute; + u8 field_type; + u8 access_length; +}; + +struct acpi_csrt_group { + u32 length; + u32 vendor_id; + u32 subvendor_id; + u16 device_id; + u16 subdevice_id; + u16 revision; + u16 reserved; + u32 shared_info_length; +}; + +struct acpi_csrt_shared_info { + u16 major_version; + u16 minor_version; + u32 mmio_base_low; + u32 mmio_base_high; + u32 gsi_interrupt; + u8 interrupt_polarity; + u8 interrupt_mode; + u8 num_channels; + u8 dma_address_width; + u16 base_request_line; + u16 num_handshake_signals; + u32 max_block_size; +}; + +struct attribute { + const char *name; + umode_t mode; +}; + +struct address_space; + +struct vm_area_struct; + +struct bin_attribute { + struct attribute attr; + size_t size; + void *private; + struct address_space * (*f_mapping)(void); + ssize_t (*read)(struct file *, struct kobject *, const struct bin_attribute *, char *, loff_t, size_t); + ssize_t (*read_new)(struct file *, struct kobject *, const struct bin_attribute *, char *, loff_t, size_t); + ssize_t (*write)(struct file *, struct kobject *, const struct bin_attribute *, char *, loff_t, size_t); + ssize_t (*write_new)(struct file *, struct kobject *, const struct bin_attribute *, char *, loff_t, size_t); + loff_t (*llseek)(struct file *, struct kobject *, const struct bin_attribute *, loff_t, int); + int (*mmap)(struct file *, struct kobject *, const struct bin_attribute *, struct vm_area_struct *); +}; + +struct acpi_data_attr { + struct bin_attribute attr; + u64 addr; +}; + +typedef void *acpi_handle; + +struct fwnode_operations; + +struct fwnode_handle { + struct fwnode_handle *secondary; + const struct fwnode_operations *ops; + struct device *dev; + struct list_head suppliers; + struct list_head consumers; + u8 flags; +}; + +union acpi_object; + +struct acpi_device_data { + const union acpi_object *pointer; + struct list_head properties; + const union acpi_object *of_compatible; + struct list_head subnodes; +}; + +struct acpi_data_node { + struct list_head sibling; + const char *name; + acpi_handle handle; + struct fwnode_handle fwnode; + struct fwnode_handle *parent; + struct acpi_device_data data; + struct kobject kobj; + struct completion kobj_done; +}; + +struct acpi_data_node_attr { + struct attribute attr; + ssize_t (*show)(struct acpi_data_node *, char *); + ssize_t (*store)(struct acpi_data_node *, const char *, size_t); +}; + +struct acpi_data_obj { + char *name; + int (*fn)(void *, struct acpi_data_attr *); +}; + +struct acpi_data_table_mapping { + void *pointer; +}; + +struct acpi_db_argument_info { + const char *name; +}; + +struct acpi_db_command_help { + u8 line_count; + char *invocation; + char *description; +}; + +struct acpi_db_command_info { + const char *name; + u8 min_args; +}; + +struct acpi_db_execute_walk { + u32 count; + u32 max_count; + char name_seg[5]; +}; + +struct acpi_db_method_info { + acpi_handle method; + acpi_handle main_thread_gate; + acpi_handle thread_complete_gate; + acpi_handle info_gate; + u64 *threads; + u32 num_threads; + u32 num_created; + u32 num_completed; + char *name; + u32 flags; + u32 num_loops; + char pathname[512]; + char **args; + acpi_object_type *types; + char init_args; + acpi_object_type arg_types[7]; + char *arguments[7]; + char num_threads_str[11]; + char id_of_thread_str[11]; + char index_of_thread_str[11]; +}; + +struct acpi_debugger_ops; + +struct acpi_debugger { + const struct acpi_debugger_ops *ops; + struct module *owner; + struct mutex lock; +}; + +struct acpi_debugger_ops { + int (*create_thread)(acpi_osd_exec_callback, void *); + ssize_t (*write_log)(const char *); + ssize_t (*read_cmd)(char *, size_t); + int (*wait_command_ready)(bool, char *, size_t); + int (*notify_command_complete)(void); +}; + +struct acpi_dep_data { + struct list_head node; + acpi_handle supplier; + acpi_handle consumer; + bool honor_dep; + bool met; + bool free_when_met; +}; + +union acpi_operand_object; + +struct acpi_object_common { + union acpi_operand_object *next_object; + u8 descriptor_type; + u8 type; + u16 reference_count; + u8 flags; +}; + +struct acpi_object_integer { + union acpi_operand_object *next_object; + u8 descriptor_type; + u8 type; + u16 reference_count; + u8 flags; + u8 fill[3]; + u64 value; +}; + +struct acpi_object_string { + union acpi_operand_object *next_object; + u8 descriptor_type; + u8 type; + u16 reference_count; + u8 flags; + char *pointer; + u32 length; +}; + +struct acpi_object_buffer { + union acpi_operand_object *next_object; + u8 descriptor_type; + u8 type; + u16 reference_count; + u8 flags; + u8 *pointer; + u32 length; + u32 aml_length; + u8 *aml_start; + struct acpi_namespace_node *node; +}; + +struct acpi_object_package { + union acpi_operand_object *next_object; + u8 descriptor_type; + u8 type; + u16 reference_count; + u8 flags; + struct acpi_namespace_node *node; + union acpi_operand_object **elements; + u8 *aml_start; + u32 aml_length; + u32 count; +}; + +struct acpi_object_event { + union acpi_operand_object *next_object; + u8 descriptor_type; + u8 type; + u16 reference_count; + u8 flags; + void *os_semaphore; +}; + +struct acpi_walk_state; + +typedef acpi_status (*acpi_internal_method)(struct acpi_walk_state *); + +struct acpi_object_method { + union acpi_operand_object *next_object; + u8 descriptor_type; + u8 type; + u16 reference_count; + u8 flags; + u8 info_flags; + u8 param_count; + u8 sync_level; + union acpi_operand_object *mutex; + union acpi_operand_object *node; + u8 *aml_start; + union { + acpi_internal_method implementation; + union acpi_operand_object *handler; + } dispatch; + u32 aml_length; + acpi_owner_id owner_id; + u8 thread_count; +}; + +struct acpi_thread_state; + +struct acpi_object_mutex { + union acpi_operand_object *next_object; + u8 descriptor_type; + u8 type; + u16 reference_count; + u8 flags; + u8 sync_level; + u16 acquisition_depth; + void *os_mutex; + u64 thread_id; + struct acpi_thread_state *owner_thread; + union acpi_operand_object *prev; + union acpi_operand_object *next; + struct acpi_namespace_node *node; + u8 original_sync_level; +}; + +struct acpi_object_region { + union acpi_operand_object *next_object; + u8 descriptor_type; + u8 type; + u16 reference_count; + u8 flags; + u8 space_id; + struct acpi_namespace_node *node; + union acpi_operand_object *handler; + union acpi_operand_object *next; + acpi_physical_address address; + u32 length; + void *pointer; +}; + +struct acpi_object_notify_common { + union acpi_operand_object *next_object; + u8 descriptor_type; + u8 type; + u16 reference_count; + u8 flags; + union acpi_operand_object *notify_list[2]; + union acpi_operand_object *handler; +}; + +struct acpi_gpe_block_info; + +struct acpi_object_device { + union acpi_operand_object *next_object; + u8 descriptor_type; + u8 type; + u16 reference_count; + u8 flags; + union acpi_operand_object *notify_list[2]; + union acpi_operand_object *handler; + struct acpi_gpe_block_info *gpe_block; +}; + +struct acpi_object_power_resource { + union acpi_operand_object *next_object; + u8 descriptor_type; + u8 type; + u16 reference_count; + u8 flags; + union acpi_operand_object *notify_list[2]; + union acpi_operand_object *handler; + u32 system_level; + u32 resource_order; +}; + +struct acpi_object_processor { + union acpi_operand_object *next_object; + u8 descriptor_type; + u8 type; + u16 reference_count; + u8 flags; + u8 proc_id; + u8 length; + union acpi_operand_object *notify_list[2]; + union acpi_operand_object *handler; + acpi_io_address address; +}; + +struct acpi_object_thermal_zone { + union acpi_operand_object *next_object; + u8 descriptor_type; + u8 type; + u16 reference_count; + u8 flags; + union acpi_operand_object *notify_list[2]; + union acpi_operand_object *handler; +}; + +struct acpi_object_field_common { + union acpi_operand_object *next_object; + u8 descriptor_type; + u8 type; + u16 reference_count; + u8 flags; + u8 field_flags; + u8 attribute; + u8 access_byte_width; + struct acpi_namespace_node *node; + u32 bit_length; + u32 base_byte_offset; + u32 value; + u8 start_field_bit_offset; + u8 access_length; + union acpi_operand_object *region_obj; +}; + +struct acpi_object_region_field { + union acpi_operand_object *next_object; + u8 descriptor_type; + u8 type; + u16 reference_count; + u8 flags; + u8 field_flags; + u8 attribute; + u8 access_byte_width; + struct acpi_namespace_node *node; + u32 bit_length; + u32 base_byte_offset; + u32 value; + u8 start_field_bit_offset; + u8 access_length; + u16 resource_length; + union acpi_operand_object *region_obj; + u8 *resource_buffer; + u16 pin_number_index; + u8 *internal_pcc_buffer; +}; + +struct acpi_object_buffer_field { + union acpi_operand_object *next_object; + u8 descriptor_type; + u8 type; + u16 reference_count; + u8 flags; + u8 field_flags; + u8 attribute; + u8 access_byte_width; + struct acpi_namespace_node *node; + u32 bit_length; + u32 base_byte_offset; + u32 value; + u8 start_field_bit_offset; + u8 access_length; + u8 is_create_field; + union acpi_operand_object *buffer_obj; +}; + +struct acpi_object_bank_field { + union acpi_operand_object *next_object; + u8 descriptor_type; + u8 type; + u16 reference_count; + u8 flags; + u8 field_flags; + u8 attribute; + u8 access_byte_width; + struct acpi_namespace_node *node; + u32 bit_length; + u32 base_byte_offset; + u32 value; + u8 start_field_bit_offset; + u8 access_length; + union acpi_operand_object *region_obj; + union acpi_operand_object *bank_obj; +}; + +struct acpi_object_index_field { + union acpi_operand_object *next_object; + u8 descriptor_type; + u8 type; + u16 reference_count; + u8 flags; + u8 field_flags; + u8 attribute; + u8 access_byte_width; + struct acpi_namespace_node *node; + u32 bit_length; + u32 base_byte_offset; + u32 value; + u8 start_field_bit_offset; + u8 access_length; + union acpi_operand_object *index_obj; + union acpi_operand_object *data_obj; +}; + +typedef void (*acpi_notify_handler)(acpi_handle, u32, void *); + +struct acpi_object_notify_handler { + union acpi_operand_object *next_object; + u8 descriptor_type; + u8 type; + u16 reference_count; + u8 flags; + struct acpi_namespace_node *node; + u32 handler_type; + acpi_notify_handler handler; + void *context; + union acpi_operand_object *next[2]; +}; + +typedef acpi_status (*acpi_adr_space_handler)(u32, acpi_physical_address, u32, u64 *, void *, void *); + +typedef acpi_status (*acpi_adr_space_setup)(acpi_handle, u32, void *, void **); + +struct acpi_object_addr_handler { + union acpi_operand_object *next_object; + u8 descriptor_type; + u8 type; + u16 reference_count; + u8 flags; + u8 space_id; + u8 handler_flags; + acpi_adr_space_handler handler; + struct acpi_namespace_node *node; + void *context; + void *context_mutex; + acpi_adr_space_setup setup; + union acpi_operand_object *region_list; + union acpi_operand_object *next; +}; + +struct acpi_object_reference { + union acpi_operand_object *next_object; + u8 descriptor_type; + u8 type; + u16 reference_count; + u8 flags; + u8 class; + u8 target_type; + u8 resolved; + void *object; + struct acpi_namespace_node *node; + union acpi_operand_object **where; + u8 *index_pointer; + u8 *aml; + u32 value; +}; + +struct acpi_object_extra { + union acpi_operand_object *next_object; + u8 descriptor_type; + u8 type; + u16 reference_count; + u8 flags; + struct acpi_namespace_node *method_REG; + struct acpi_namespace_node *scope_node; + void *region_context; + u8 *aml_start; + u32 aml_length; +}; + +typedef void (*acpi_object_handler)(acpi_handle, void *); + +struct acpi_object_data { + union acpi_operand_object *next_object; + u8 descriptor_type; + u8 type; + u16 reference_count; + u8 flags; + acpi_object_handler handler; + void *pointer; +}; + +struct acpi_object_cache_list { + union acpi_operand_object *next_object; + u8 descriptor_type; + u8 type; + u16 reference_count; + u8 flags; + union acpi_operand_object *next; +}; + +union acpi_name_union { + u32 integer; + char ascii[4]; +}; + +struct acpi_namespace_node { + union acpi_operand_object *object; + u8 descriptor_type; + u8 type; + u16 flags; + union acpi_name_union name; + struct acpi_namespace_node *parent; + struct acpi_namespace_node *child; + struct acpi_namespace_node *peer; + acpi_owner_id owner_id; +}; + +union acpi_operand_object { + struct acpi_object_common common; + struct acpi_object_integer integer; + struct acpi_object_string string; + struct acpi_object_buffer buffer; + struct acpi_object_package package; + struct acpi_object_event event; + struct acpi_object_method method; + struct acpi_object_mutex mutex; + struct acpi_object_region region; + struct acpi_object_notify_common common_notify; + struct acpi_object_device device; + struct acpi_object_power_resource power_resource; + struct acpi_object_processor processor; + struct acpi_object_thermal_zone thermal_zone; + struct acpi_object_field_common common_field; + struct acpi_object_region_field field; + struct acpi_object_buffer_field buffer_field; + struct acpi_object_bank_field bank_field; + struct acpi_object_index_field index_field; + struct acpi_object_notify_handler notify; + struct acpi_object_addr_handler address_space; + struct acpi_object_reference reference; + struct acpi_object_extra extra; + struct acpi_object_data data; + struct acpi_object_cache_list cache; + struct acpi_namespace_node node; +}; + +union acpi_parse_value { + u64 integer; + u32 size; + char *string; + u8 *buffer; + char *name; + union acpi_parse_object *arg; +}; + +struct acpi_parse_obj_common { + union acpi_parse_object *parent; + u8 descriptor_type; + u8 flags; + u16 aml_opcode; + u8 *aml; + union acpi_parse_object *next; + struct acpi_namespace_node *node; + union acpi_parse_value value; + u8 arg_list_length; + u16 disasm_flags; + u8 disasm_opcode; + char *operator_symbol; + char aml_op_name[16]; +}; + +struct acpi_parse_obj_named { + union acpi_parse_object *parent; + u8 descriptor_type; + u8 flags; + u16 aml_opcode; + u8 *aml; + union acpi_parse_object *next; + struct acpi_namespace_node *node; + union acpi_parse_value value; + u8 arg_list_length; + u16 disasm_flags; + u8 disasm_opcode; + char *operator_symbol; + char aml_op_name[16]; + char *path; + u8 *data; + u32 length; + u32 name; +}; + +struct acpi_parse_obj_asl { + union acpi_parse_object *parent; + u8 descriptor_type; + u8 flags; + u16 aml_opcode; + u8 *aml; + union acpi_parse_object *next; + struct acpi_namespace_node *node; + union acpi_parse_value value; + u8 arg_list_length; + u16 disasm_flags; + u8 disasm_opcode; + char *operator_symbol; + char aml_op_name[16]; + union acpi_parse_object *child; + union acpi_parse_object *parent_method; + char *filename; + u8 file_changed; + char *parent_filename; + char *external_name; + char *namepath; + char name_seg[4]; + u32 extra_value; + u32 column; + u32 line_number; + u32 logical_line_number; + u32 logical_byte_offset; + u32 end_line; + u32 end_logical_line; + u32 acpi_btype; + u32 aml_length; + u32 aml_subtree_length; + u32 final_aml_length; + u32 final_aml_offset; + u32 compile_flags; + u16 parse_opcode; + u8 aml_opcode_length; + u8 aml_pkg_len_bytes; + u8 extra; + char parse_op_name[20]; +}; + +union acpi_parse_object { + struct acpi_parse_obj_common common; + struct acpi_parse_obj_named named; + struct acpi_parse_obj_asl asl; +}; + +union acpi_descriptor { + struct acpi_common_descriptor common; + union acpi_operand_object object; + struct acpi_namespace_node node; + union acpi_parse_object op; +}; + +struct acpi_device_id { + __u8 id[16]; + kernel_ulong_t driver_data; + __u32 cls; + __u32 cls_msk; +}; + +struct acpi_dev_match_info { + struct acpi_device_id hid[2]; + const char *uid; + s64 hrv; +}; + +struct acpi_dev_walk_context { + int (*fn)(struct acpi_device *, void *); + void *data; +}; + +struct acpi_device_status { + u32 present: 1; + u32 enabled: 1; + u32 show_in_ui: 1; + u32 functional: 1; + u32 battery_present: 1; + u32 reserved: 27; +}; + +struct acpi_device_flags { + u32 dynamic_status: 1; + u32 removable: 1; + u32 ejectable: 1; + u32 power_manageable: 1; + u32 match_driver: 1; + u32 initialized: 1; + u32 visited: 1; + u32 hotplug_notify: 1; + u32 is_dock_station: 1; + u32 of_compatible_ok: 1; + u32 coherent_dma: 1; + u32 cca_seen: 1; + u32 enumeration_by_parent: 1; + u32 honor_deps: 1; + u32 reserved: 18; +}; + +struct acpi_pnp_type { + u32 hardware_id: 1; + u32 bus_address: 1; + u32 platform_id: 1; + u32 backlight: 1; + u32 reserved: 28; +}; + +struct acpi_device_pnp { + acpi_bus_id bus_id; + int instance_no; + struct acpi_pnp_type type; + acpi_bus_address bus_address; + char *unique_id; + struct list_head ids; + acpi_device_name device_name; + acpi_device_class device_class; +}; + +struct acpi_device_power_flags { + u32 explicit_get: 1; + u32 power_resources: 1; + u32 inrush_current: 1; + u32 power_removed: 1; + u32 ignore_parent: 1; + u32 dsw_present: 1; + u32 reserved: 26; +}; + +struct acpi_device_power_state { + struct list_head resources; + struct { + u8 valid: 1; + u8 explicit_set: 1; + u8 reserved: 6; + } flags; + int power; + int latency; +}; + +struct acpi_device_power { + int state; + struct acpi_device_power_flags flags; + struct acpi_device_power_state states[5]; + u8 state_for_enumeration; +}; + +struct acpi_device_wakeup_flags { + u8 valid: 1; + u8 notifier_present: 1; +}; + +struct acpi_device_wakeup_context { + void (*func)(struct acpi_device_wakeup_context *); + struct device *dev; +}; + +struct acpi_device_wakeup { + acpi_handle gpe_device; + u64 gpe_number; + u64 sleep_state; + struct list_head resources; + struct acpi_device_wakeup_flags flags; + struct acpi_device_wakeup_context context; + struct wakeup_source *ws; + int prepare_count; + int enable_count; +}; + +struct acpi_device_perf_flags { + u8 reserved: 8; +}; + +struct acpi_device_perf_state; + +struct acpi_device_perf { + int state; + struct acpi_device_perf_flags flags; + int state_count; + struct acpi_device_perf_state *states; +}; + +struct proc_dir_entry; + +struct acpi_device_dir { + struct proc_dir_entry *entry; +}; + +struct acpi_scan_handler; + +struct acpi_hotplug_context; + +struct acpi_device_software_nodes; + +struct acpi_gpio_mapping; + +struct acpi_device { + u32 pld_crc; + int device_type; + acpi_handle handle; + struct fwnode_handle fwnode; + struct list_head wakeup_list; + struct list_head del_list; + struct acpi_device_status status; + struct acpi_device_flags flags; + struct acpi_device_pnp pnp; + struct acpi_device_power power; + struct acpi_device_wakeup wakeup; + struct acpi_device_perf performance; + struct acpi_device_dir dir; + struct acpi_device_data data; + struct acpi_scan_handler *handler; + struct acpi_hotplug_context *hp; + struct acpi_device_software_nodes *swnodes; + const struct acpi_gpio_mapping *driver_gpios; + void *driver_data; + struct device dev; + unsigned int physical_node_count; + unsigned int dep_unmet; + struct list_head physical_node_list; + struct mutex physical_node_lock; + void (*remove)(struct acpi_device *); +}; + +struct xarray { + spinlock_t xa_lock; + gfp_t xa_flags; + void *xa_head; +}; + +struct ida { + struct xarray xa; +}; + +struct acpi_device_bus_id { + const char *bus_id; + struct ida instance_ida; + struct list_head node; +}; + +struct acpi_pnp_device_id { + u32 length; + char *string; +}; + +struct acpi_pnp_device_id_list { + u32 count; + u32 list_size; + struct acpi_pnp_device_id ids[0]; +}; + +struct acpi_device_info { + u32 info_size; + u32 name; + acpi_object_type type; + u8 param_count; + u16 valid; + u8 flags; + u8 highest_dstates[4]; + u8 lowest_dstates[5]; + u64 address; + struct acpi_pnp_device_id hardware_id; + struct acpi_pnp_device_id unique_id; + struct acpi_pnp_device_id class_code; + struct acpi_pnp_device_id_list compatible_id_list; +}; + +typedef int (*acpi_op_add)(struct acpi_device *); + +typedef void (*acpi_op_remove)(struct acpi_device *); + +typedef void (*acpi_op_notify)(struct acpi_device *, u32); + +struct acpi_device_ops { + acpi_op_add add; + acpi_op_remove remove; + acpi_op_notify notify; +}; + +struct acpi_device_perf_state { + struct { + u8 valid: 1; + u8 reserved: 7; + } flags; + u8 power; + u8 performance; + int latency; +}; + +struct acpi_device_physical_node { + struct list_head node; + struct device *dev; + unsigned int node_id; + bool put_online: 1; +}; + +struct acpi_device_properties { + struct list_head list; + const guid_t *guid; + union acpi_object *properties; + void **bufs; +}; + +struct property_entry { + const char *name; + size_t length; + bool is_inline; + enum dev_prop_type type; + union { + const void *pointer; + union { + u8 u8_data[8]; + u16 u16_data[4]; + u32 u32_data[2]; + u64 u64_data[1]; + const char *str[1]; + } value; + }; +}; + +struct software_node; + +struct software_node_ref_args { + const struct software_node *node; + unsigned int nargs; + u64 args[16]; +}; + +struct acpi_device_software_node_port { + char port_name[9]; + u32 data_lanes[8]; + u32 lane_polarities[9]; + u64 link_frequencies[8]; + unsigned int port_nr; + bool crs_csi2_local; + struct property_entry port_props[2]; + struct property_entry ep_props[8]; + struct software_node_ref_args remote_ep[1]; +}; + +struct acpi_device_software_nodes { + struct property_entry dev_props[6]; + struct software_node *nodes; + const struct software_node **nodeptrs; + struct acpi_device_software_node_port *ports; + unsigned int num_ports; +}; + +struct acpi_table_desc; + +struct acpi_evaluate_info; + +struct acpi_device_walk_info { + struct acpi_table_desc *table_desc; + struct acpi_evaluate_info *evaluate_info; + u32 device_count; + u32 num_STA; + u32 num_INI; +}; + +struct acpi_dlayer { + const char *name; + long unsigned int value; +}; + +struct acpi_dlevel { + const char *name; + long unsigned int value; +}; + +struct dma_chan; + +struct acpi_dma_spec; + +struct acpi_dma { + struct list_head dma_controllers; + struct device *dev; + struct dma_chan * (*acpi_dma_xlate)(struct acpi_dma_spec *, struct acpi_dma *); + void *data; + short unsigned int base_request_line; + short unsigned int end_request_line; +}; + +typedef bool (*dma_filter_fn)(struct dma_chan *, void *); + +struct acpi_dma_filter_info { + dma_cap_mask_t dma_cap; + dma_filter_fn filter_fn; +}; + +struct acpi_dma_spec { + int chan_id; + int slave_id; + struct device *dev; +}; + +struct acpi_dma_parser_data { + struct acpi_dma_spec dma_spec; + size_t index; + size_t n; +}; + +struct acpi_dmar_header { + u16 type; + u16 length; +}; + +struct acpi_dmar_andd { + struct acpi_dmar_header header; + u8 reserved[3]; + u8 device_number; + union { + char __pad; + struct { + struct {} __Empty_device_name; + char device_name[0]; + }; + }; +} __attribute__((packed)); + +struct acpi_dmar_atsr { + struct acpi_dmar_header header; + u8 flags; + u8 reserved; + u16 segment; +}; + +struct acpi_dmar_device_scope { + u8 entry_type; + u8 length; + u8 flags; + u8 reserved; + u8 enumeration_id; + u8 bus; +}; + +struct acpi_dmar_hardware_unit { + struct acpi_dmar_header header; + u8 flags; + u8 size; + u16 segment; + u64 address; +}; + +struct acpi_dmar_pci_path { + u8 device; + u8 function; +}; + +struct acpi_dmar_reserved_memory { + struct acpi_dmar_header header; + u16 reserved; + u16 segment; + u64 base_address; + u64 end_address; +}; + +struct acpi_dmar_rhsa { + struct acpi_dmar_header header; + u32 reserved; + u64 base_address; + u32 proximity_domain; +} __attribute__((packed)); + +struct acpi_dmar_satc { + struct acpi_dmar_header header; + u8 flags; + u8 reserved; + u16 segment; +}; + +struct of_device_id; + +struct dev_pm_ops; + +struct driver_private; + +struct device_driver { + const char *name; + const struct bus_type *bus; + struct module *owner; + const char *mod_name; + bool suppress_bind_attrs; + enum probe_type probe_type; + const struct of_device_id *of_match_table; + const struct acpi_device_id *acpi_match_table; + int (*probe)(struct device *); + void (*sync_state)(struct device *); + int (*remove)(struct device *); + void (*shutdown)(struct device *); + int (*suspend)(struct device *, pm_message_t); + int (*resume)(struct device *); + const struct attribute_group **groups; + const struct attribute_group **dev_groups; + const struct dev_pm_ops *pm; + void (*coredump)(struct device *); + struct driver_private *p; +}; + +struct acpi_driver { + char name[80]; + char class[80]; + const struct acpi_device_id *ids; + unsigned int flags; + struct acpi_device_ops ops; + struct device_driver drv; +}; + +struct transaction; + +struct acpi_ec { + acpi_handle handle; + int gpe; + int irq; + long unsigned int command_addr; + long unsigned int data_addr; + bool global_lock; + long unsigned int flags; + long unsigned int reference_count; + struct mutex mutex; + wait_queue_head_t wait; + struct list_head list; + struct transaction *curr; + spinlock_t lock; + struct work_struct work; + long unsigned int timestamp; + enum acpi_ec_event_state event_state; + unsigned int events_to_process; + unsigned int events_in_progress; + unsigned int queries_in_progress; + bool busy_polling; + unsigned int polling_guard; +}; + +struct transaction { + const u8 *wdata; + u8 *rdata; + short unsigned int irq_count; + u8 command; + u8 wi; + u8 ri; + u8 wlen; + u8 rlen; + u8 flags; +}; + +struct acpi_ec_query_handler; + +struct acpi_ec_query { + struct transaction transaction; + struct work_struct work; + struct acpi_ec_query_handler *handler; + struct acpi_ec *ec; +}; + +typedef int (*acpi_ec_query_func)(void *); + +struct acpi_ec_query_handler { + struct list_head node; + acpi_ec_query_func func; + acpi_handle handle; + void *data; + u8 query_bit; + struct kref kref; +}; + +union acpi_predefined_info; + +struct acpi_evaluate_info { + struct acpi_namespace_node *prefix_node; + const char *relative_pathname; + union acpi_operand_object **parameters; + struct acpi_namespace_node *node; + union acpi_operand_object *obj_desc; + char *full_pathname; + const union acpi_predefined_info *predefined; + union acpi_operand_object *return_object; + union acpi_operand_object *parent_package; + u32 return_flags; + u32 return_btype; + u16 param_count; + u16 node_flags; + u8 pass_number; + u8 return_object_type; + u8 flags; +}; + +struct acpi_exception_info { + char *name; +}; + +struct acpi_exdump_info { + u8 opcode; + u8 offset; + const char *name; +} __attribute__((packed)); + +struct acpi_fadt_info { + const char *name; + u16 address64; + u16 address32; + u16 length; + u8 default_length; + u8 flags; +}; + +struct acpi_generic_address; + +struct acpi_fadt_pm_info { + struct acpi_generic_address *target; + u16 source; + u8 register_num; +}; + +struct acpi_fan_fif { + u8 revision; + u8 fine_grain_ctrl; + u8 step_size; + u8 low_speed_notification; +}; + +struct device_attribute { + struct attribute attr; + ssize_t (*show)(struct device *, struct device_attribute *, char *); + ssize_t (*store)(struct device *, struct device_attribute *, const char *, size_t); +}; + +struct acpi_fan_fps; + +struct thermal_cooling_device; + +struct acpi_fan { + acpi_handle handle; + bool acpi4; + bool has_fst; + struct acpi_fan_fif fif; + struct acpi_fan_fps *fps; + int fps_count; + struct thermal_cooling_device *cdev; + struct device_attribute fst_speed; + struct device_attribute fine_grain_control; +}; + +struct acpi_fan_fps { + u64 control; + u64 trip_point; + u64 speed; + u64 noise_level; + u64 power; + char name[20]; + struct device_attribute dev_attr; +}; + +struct acpi_fan_fst { + u64 revision; + u64 control; + u64 speed; +}; + +struct acpi_ffh_info { + u64 offset; + u64 length; +}; + +typedef u32 (*acpi_event_handler)(void *); + +struct acpi_fixed_event_handler { + acpi_event_handler handler; + void *context; +}; + +struct acpi_fixed_event_info { + u8 status_register_id; + u8 enable_register_id; + u16 status_bit_mask; + u16 enable_bit_mask; +}; + +struct acpi_ged_device { + struct device *dev; + struct list_head event_list; +}; + +struct acpi_ged_event { + struct list_head node; + struct device *dev; + unsigned int gsi; + unsigned int irq; + acpi_handle handle; +}; + +struct acpi_ged_handler_info { + struct acpi_ged_handler_info *next; + u32 int_id; + struct acpi_namespace_node *evt_method; +}; + +struct acpi_generic_address { + u8 space_id; + u8 bit_width; + u8 bit_offset; + u8 access_width; + u64 address; +} __attribute__((packed)); + +struct acpi_update_state { + void *next; + u8 descriptor_type; + u8 flags; + u16 value; + u16 state; + union acpi_operand_object *object; +}; + +struct acpi_scope_state { + void *next; + u8 descriptor_type; + u8 flags; + u16 value; + u16 state; + struct acpi_namespace_node *node; +}; + +struct acpi_pscope_state { + void *next; + u8 descriptor_type; + u8 flags; + u16 value; + u16 state; + u32 arg_count; + union acpi_parse_object *op; + u8 *arg_end; + u8 *pkg_end; + u32 arg_list; +}; + +struct acpi_pkg_state { + void *next; + u8 descriptor_type; + u8 flags; + u16 value; + u16 state; + u32 index; + union acpi_operand_object *source_object; + union acpi_operand_object *dest_object; + struct acpi_walk_state *walk_state; + void *this_target_obj; + u32 num_packages; +}; + +struct acpi_thread_state { + void *next; + u8 descriptor_type; + u8 flags; + u16 value; + u16 state; + u8 current_sync_level; + struct acpi_walk_state *walk_state_list; + union acpi_operand_object *acquired_mutex_list; + u64 thread_id; +}; + +struct acpi_result_values { + void *next; + u8 descriptor_type; + u8 flags; + u16 value; + u16 state; + union acpi_operand_object *obj_desc[8]; +}; + +struct acpi_global_notify_handler; + +struct acpi_notify_info { + void *next; + u8 descriptor_type; + u8 flags; + u16 value; + u16 state; + u8 handler_list_id; + struct acpi_namespace_node *node; + union acpi_operand_object *handler_list_head; + struct acpi_global_notify_handler *global; +}; + +union acpi_generic_state { + struct acpi_common_state common; + struct acpi_control_state control; + struct acpi_update_state update; + struct acpi_scope_state scope; + struct acpi_pscope_state parse_scope; + struct acpi_pkg_state pkg; + struct acpi_thread_state thread; + struct acpi_result_values results; + struct acpi_notify_info notify; +}; + +struct acpi_genl_event { + acpi_device_class device_class; + char bus_id[15]; + u32 type; + u32 data; +}; + +typedef acpi_status (*acpi_walk_callback)(acpi_handle, u32, void *, void **); + +struct acpi_get_devices_info { + acpi_walk_callback user_function; + void *context; + const char *hid; +}; + +struct acpi_global_notify_handler { + acpi_notify_handler handler; + void *context; +}; + +struct acpi_gpe_address { + u8 space_id; + u64 address; +}; + +struct acpi_gpe_xrupt_info; + +struct acpi_gpe_register_info; + +struct acpi_gpe_event_info; + +struct acpi_gpe_block_info { + struct acpi_namespace_node *node; + struct acpi_gpe_block_info *previous; + struct acpi_gpe_block_info *next; + struct acpi_gpe_xrupt_info *xrupt_block; + struct acpi_gpe_register_info *register_info; + struct acpi_gpe_event_info *event_info; + u64 address; + u32 register_count; + u16 gpe_count; + u16 block_base_number; + u8 space_id; + u8 initialized; +}; + +struct acpi_gpe_block_status_context { + struct acpi_gpe_register_info *gpe_skip_register_info; + u8 gpe_skip_mask; + u8 retval; +}; + +struct acpi_gpe_device_info { + u32 index; + u32 next_block_base_index; + acpi_status status; + struct acpi_namespace_node *gpe_device; +}; + +struct acpi_gpe_handler_info; + +struct acpi_gpe_notify_info; + +union acpi_gpe_dispatch_info { + struct acpi_namespace_node *method_node; + struct acpi_gpe_handler_info *handler; + struct acpi_gpe_notify_info *notify_list; +}; + +struct acpi_gpe_event_info { + union acpi_gpe_dispatch_info dispatch; + struct acpi_gpe_register_info *register_info; + u8 flags; + u8 gpe_number; + u8 runtime_count; + u8 disable_for_dispatch; +}; + +typedef u32 (*acpi_gpe_handler)(acpi_handle, u32, void *); + +struct acpi_gpe_handler_info { + acpi_gpe_handler address; + void *context; + struct acpi_namespace_node *method_node; + u8 original_flags; + u8 originally_enabled; +}; + +struct acpi_gpe_notify_info { + struct acpi_namespace_node *device_node; + struct acpi_gpe_notify_info *next; +}; + +struct acpi_gpe_register_info { + struct acpi_gpe_address status_address; + struct acpi_gpe_address enable_address; + u16 base_gpe_number; + u8 enable_for_wake; + u8 enable_for_run; + u8 mask_for_run; + u8 enable_mask; +}; + +struct acpi_gpe_walk_info { + struct acpi_namespace_node *gpe_device; + struct acpi_gpe_block_info *gpe_block; + u16 count; + acpi_owner_id owner_id; + u8 execute_by_owner_id; +}; + +struct acpi_gpe_xrupt_info { + struct acpi_gpe_xrupt_info *previous; + struct acpi_gpe_xrupt_info *next; + struct acpi_gpe_block_info *gpe_block_list_head; + u32 interrupt_number; +}; + +struct gpio_chip; + +struct acpi_gpio_chip { + struct acpi_connection_info conn_info; + struct list_head conns; + struct mutex conn_lock; + struct gpio_chip *chip; + struct list_head events; + struct list_head deferred_req_irqs_list_entry; +}; + +struct gpio_desc; + +struct acpi_gpio_connection { + struct list_head node; + unsigned int pin; + struct gpio_desc *desc; +}; + +typedef irqreturn_t (*irq_handler_t)(int, void *); + +struct acpi_gpio_event { + struct list_head node; + acpi_handle handle; + irq_handler_t handler; + unsigned int pin; + unsigned int irq; + long unsigned int irqflags; + bool irq_is_wake; + bool irq_requested; + struct gpio_desc *desc; +}; + +struct acpi_gpio_info { + struct acpi_device *adev; + enum gpiod_flags flags; + bool gpioint; + bool wake_capable; + int pin_config; + int polarity; + int triggering; + unsigned int debounce; + unsigned int quirks; +}; + +struct acpi_gpio_params { + unsigned int crs_entry_index; + short unsigned int line_index; + bool active_low; +}; + +struct acpi_gpio_lookup { + struct acpi_gpio_params params; + struct acpi_gpio_info *info; + struct gpio_desc *desc; + int n; +}; + +struct acpi_gpio_mapping { + const char *name; + const struct acpi_gpio_params *data; + unsigned int size; + unsigned int quirks; +}; + +struct acpi_gpiolib_dmi_quirk { + bool no_edge_events_on_boot; + char *ignore_wake; + char *ignore_interrupt; +}; + +struct acpi_handle_list { + u32 count; + acpi_handle *handles; +}; + +struct acpi_handler_info { + void *handler; + char *name; +}; + +struct acpi_hardware_id { + struct list_head list; + const char *id; +}; + +struct acpi_hest_header { + u16 type; + u16 source_id; +}; + +struct acpi_hest_notify { + u8 type; + u8 length; + u16 config_write_enable; + u32 poll_interval; + u32 vector; + u32 polling_threshold_value; + u32 polling_threshold_window; + u32 error_threshold_value; + u32 error_threshold_window; +}; + +struct acpi_hest_generic { + struct acpi_hest_header header; + u16 related_source_id; + u8 reserved; + u8 enabled; + u32 records_to_preallocate; + u32 max_sections_per_record; + u32 max_raw_data_length; + struct acpi_generic_address error_status_address; + struct acpi_hest_notify notify; + u32 error_block_length; +}; + +struct acpi_hest_generic_data { + u8 section_type[16]; + u32 error_severity; + u16 revision; + u8 validation_bits; + u8 flags; + u32 error_data_length; + u8 fru_id[16]; + u8 fru_text[20]; +}; + +struct acpi_hest_generic_data_v300 { + u8 section_type[16]; + u32 error_severity; + u16 revision; + u8 validation_bits; + u8 flags; + u32 error_data_length; + u8 fru_id[16]; + u8 fru_text[20]; + u64 time_stamp; +}; + +struct acpi_hest_generic_status { + u32 block_status; + u32 raw_data_offset; + u32 raw_data_length; + u32 data_length; + u32 error_severity; +}; + +struct acpi_hest_generic_v2 { + struct acpi_hest_header header; + u16 related_source_id; + u8 reserved; + u8 enabled; + u32 records_to_preallocate; + u32 max_sections_per_record; + u32 max_raw_data_length; + struct acpi_generic_address error_status_address; + struct acpi_hest_notify notify; + u32 error_block_length; + struct acpi_generic_address read_ack_register; + u64 read_ack_preserve; + u64 read_ack_write; +} __attribute__((packed)); + +struct acpi_hest_ia_corrected { + struct acpi_hest_header header; + u16 reserved1; + u8 flags; + u8 enabled; + u32 records_to_preallocate; + u32 max_sections_per_record; + struct acpi_hest_notify notify; + u8 num_hardware_banks; + u8 reserved2[3]; +}; + +struct acpi_hest_ia_deferred_check { + struct acpi_hest_header header; + u16 reserved1; + u8 flags; + u8 enabled; + u32 records_to_preallocate; + u32 max_sections_per_record; + struct acpi_hest_notify notify; + u8 num_hardware_banks; + u8 reserved2[3]; +}; + +struct acpi_hest_ia_error_bank { + u8 bank_number; + u8 clear_status_on_init; + u8 status_format; + u8 reserved; + u32 control_register; + u64 control_data; + u32 status_register; + u32 address_register; + u32 misc_register; +} __attribute__((packed)); + +struct acpi_hest_ia_machine_check { + struct acpi_hest_header header; + u16 reserved1; + u8 flags; + u8 enabled; + u32 records_to_preallocate; + u32 max_sections_per_record; + u64 global_capability_data; + u64 global_control_data; + u8 num_hardware_banks; + u8 reserved3[7]; +}; + +struct acpi_hmat_structure { + u16 type; + u16 reserved; + u32 length; +}; + +struct acpi_hmat_cache { + struct acpi_hmat_structure header; + u32 memory_PD; + u32 reserved1; + u64 cache_size; + u32 cache_attributes; + u16 address_mode; + u16 number_of_SMBIOShandles; +}; + +struct acpi_hmat_locality { + struct acpi_hmat_structure header; + u8 flags; + u8 data_type; + u8 min_transfer_size; + u8 reserved1; + u32 number_of_initiator_Pds; + u32 number_of_target_Pds; + u32 reserved2; + u64 entry_base_unit; +}; + +struct acpi_hmat_proximity_domain { + struct acpi_hmat_structure header; + u16 flags; + u16 reserved1; + u32 processor_PD; + u32 memory_PD; + u32 reserved2; + u64 reserved3; + u64 reserved4; +}; + +typedef int (*acpi_hp_notify)(struct acpi_device *, u32); + +typedef void (*acpi_hp_uevent)(struct acpi_device *, u32); + +typedef void (*acpi_hp_fixup)(struct acpi_device *); + +struct acpi_hotplug_context { + struct acpi_device *self; + acpi_hp_notify notify; + acpi_hp_uevent uevent; + acpi_hp_fixup fixup; +}; + +struct acpi_hotplug_profile { + struct kobject kobj; + int (*scan_dependent)(struct acpi_device *); + void (*notify_online)(struct acpi_device *); + bool enabled: 1; + bool demand_offline: 1; +}; + +struct acpi_hp_work { + struct work_struct work; + struct acpi_device *adev; + u32 src; +}; + +struct acpi_init_walk_info { + u32 table_index; + u32 object_count; + u32 method_count; + u32 serial_method_count; + u32 non_serial_method_count; + u32 serialized_method_count; + u32 device_count; + u32 op_region_count; + u32 field_count; + u32 buffer_count; + u32 package_count; + u32 op_region_init; + u32 field_init; + u32 buffer_init; + u32 package_init; + acpi_owner_id owner_id; +}; + +struct acpi_integrity_info { + u32 nodes; + u32 objects; +}; + +struct acpi_interface_info { + char *name; + struct acpi_interface_info *next; + u8 flags; + u8 value; +}; + +struct acpi_io_attribute { + u8 range_type; + u8 translation; + u8 translation_type; + u8 reserved1; +}; + +struct rcu_work { + struct work_struct work; + struct callback_head rcu; + struct workqueue_struct *wq; +}; + +struct acpi_ioremap { + struct list_head list; + void *virt; + acpi_physical_address phys; + acpi_size size; + union { + long unsigned int refcount; + struct rcu_work rwork; + } track; +}; + +struct acpi_lpat { + int temp; + int raw; +}; + +struct acpi_lpat_conversion_table { + struct acpi_lpat *lpat; + int lpat_count; +}; + +struct acpi_lpi_state { + u32 min_residency; + u32 wake_latency; + u32 flags; + u32 arch_flags; + u32 res_cnt_freq; + u32 enable_parent_state; + u64 address; + u8 index; + u8 entry_method; + char desc[32]; +}; + +struct acpi_lpi_states_array { + unsigned int size; + unsigned int composite_states_size; + struct acpi_lpi_state *entries; + struct acpi_lpi_state *composite_states[8]; +}; + +struct acpi_lpit_header { + u32 type; + u32 length; + u16 unique_id; + u16 reserved; + u32 flags; +}; + +struct acpi_lpit_native { + struct acpi_lpit_header header; + struct acpi_generic_address entry_trigger; + u32 residency; + u32 latency; + struct acpi_generic_address residency_counter; + u64 counter_frequency; +}; + +struct acpi_subtable_header { + u8 type; + u8 length; +}; + +struct acpi_madt_core_pic { + struct acpi_subtable_header header; + u8 version; + u32 processor_id; + u32 core_id; + u32 flags; +} __attribute__((packed)); + +struct acpi_madt_generic_distributor { + struct acpi_subtable_header header; + u16 reserved; + u32 gic_id; + u64 base_address; + u32 global_irq_base; + u8 version; + u8 reserved2[3]; +}; + +struct acpi_madt_generic_interrupt { + struct acpi_subtable_header header; + u16 reserved; + u32 cpu_interface_number; + u32 uid; + u32 flags; + u32 parking_version; + u32 performance_interrupt; + u64 parked_address; + u64 base_address; + u64 gicv_base_address; + u64 gich_base_address; + u32 vgic_interrupt; + u64 gicr_base_address; + u64 arm_mpidr; + u8 efficiency_class; + u8 reserved2[1]; + u16 spe_interrupt; + u16 trbe_interrupt; +} __attribute__((packed)); + +struct acpi_madt_interrupt_override { + struct acpi_subtable_header header; + u8 bus; + u8 source_irq; + u32 global_irq; + u16 inti_flags; +} __attribute__((packed)); + +struct acpi_madt_interrupt_source { + struct acpi_subtable_header header; + u16 inti_flags; + u8 type; + u8 id; + u8 eid; + u8 io_sapic_vector; + u32 global_irq; + u32 flags; +}; + +struct acpi_madt_io_apic { + struct acpi_subtable_header header; + u8 id; + u8 reserved; + u32 address; + u32 global_irq_base; +}; + +struct acpi_madt_io_sapic { + struct acpi_subtable_header header; + u8 id; + u8 reserved; + u32 global_irq_base; + u64 address; +}; + +struct acpi_madt_local_apic { + struct acpi_subtable_header header; + u8 processor_id; + u8 id; + u32 lapic_flags; +}; + +struct acpi_madt_local_apic_nmi { + struct acpi_subtable_header header; + u8 processor_id; + u16 inti_flags; + u8 lint; +} __attribute__((packed)); + +struct acpi_madt_local_apic_override { + struct acpi_subtable_header header; + u16 reserved; + u64 address; +} __attribute__((packed)); + +struct acpi_madt_local_sapic { + struct acpi_subtable_header header; + u8 processor_id; + u8 id; + u8 eid; + u8 reserved[3]; + u32 lapic_flags; + u32 uid; + char uid_string[0]; +}; + +struct acpi_madt_local_x2apic { + struct acpi_subtable_header header; + u16 reserved; + u32 local_apic_id; + u32 lapic_flags; + u32 uid; +}; + +struct acpi_madt_local_x2apic_nmi { + struct acpi_subtable_header header; + u16 inti_flags; + u32 uid; + u8 lint; + u8 reserved[3]; +}; + +struct acpi_madt_multiproc_wakeup { + struct acpi_subtable_header header; + u16 version; + u32 reserved; + u64 mailbox_address; + u64 reset_vector; +}; + +struct acpi_madt_multiproc_wakeup_mailbox { + u16 command; + u16 reserved; + u32 apic_id; + u64 wakeup_vector; + u8 reserved_os[2032]; + u8 reserved_firmware[2048]; +}; + +struct acpi_madt_nmi_source { + struct acpi_subtable_header header; + u16 inti_flags; + u32 global_irq; +}; + +struct acpi_madt_rintc { + struct acpi_subtable_header header; + u8 version; + u8 reserved; + u32 flags; + u64 hart_id; + u32 uid; + u32 ext_intc_id; + u64 imsic_addr; + u32 imsic_size; +} __attribute__((packed)); + +struct acpi_mcfg_allocation { + u64 address; + u16 pci_segment; + u8 start_bus_number; + u8 end_bus_number; + u32 reserved; +}; + +struct acpi_mem_mapping { + acpi_physical_address physical_address; + u8 *logical_address; + acpi_size length; + struct acpi_mem_mapping *next_mm; +}; + +struct acpi_mem_space_context { + u32 length; + acpi_physical_address address; + struct acpi_mem_mapping *cur_mm; + struct acpi_mem_mapping *first_mm; +}; + +struct acpi_memory_attribute { + u8 write_protect; + u8 caching; + u8 range_type; + u8 translation; +}; + +struct acpi_memory_device { + struct acpi_device *device; + struct list_head res_list; + int mgid; +}; + +struct acpi_memory_info { + struct list_head list; + u64 start_addr; + u64 length; + short unsigned int caching; + short unsigned int write_protect; + unsigned int enabled: 1; +}; + +struct acpi_subtbl_hdr_16 { + u16 type; + u16 length; +}; + +struct acpi_mrrm_mem_range_entry { + struct acpi_subtbl_hdr_16 header; + u32 reserved0; + u64 addr_base; + u64 addr_len; + u16 region_id_flags; + u8 local_region_id; + u8 remote_region_id; + u32 reserved1; +}; + +struct acpi_mutex_info { + void *mutex; + u32 use_count; + u64 thread_id; +}; + +struct acpi_name_info { + char name[4]; + u16 argument_list; + u8 expected_btypes; +} __attribute__((packed)); + +struct acpi_namestring_info { + const char *external_name; + const char *next_external_char; + char *internal_name; + u32 length; + u32 num_segments; + u32 num_carats; + u8 fully_qualified; +}; + +struct acpi_nhlt_config { + u32 capabilities_size; + u8 capabilities[0]; +}; + +struct acpi_nhlt_gendevice_config { + u8 virtual_slot; + u8 config_type; +}; + +struct acpi_nhlt_micdevice_config { + u8 virtual_slot; + u8 config_type; + u8 array_type; +}; + +struct acpi_nhlt_vendor_mic_config { + u8 type; + u8 panel; + u16 speaker_position_distance; + u16 horizontal_offset; + u16 vertical_offset; + u8 frequency_low_band; + u8 frequency_high_band; + u16 direction_angle; + u16 elevation_angle; + u16 work_vertical_angle_begin; + u16 work_vertical_angle_end; + u16 work_horizontal_angle_begin; + u16 work_horizontal_angle_end; +}; + +struct acpi_nhlt_vendor_micdevice_config { + u8 virtual_slot; + u8 config_type; + u8 array_type; + u8 mics_count; + struct acpi_nhlt_vendor_mic_config mics[0]; +}; + +union acpi_nhlt_device_config { + u8 virtual_slot; + struct acpi_nhlt_gendevice_config gen; + struct acpi_nhlt_micdevice_config mic; + struct acpi_nhlt_vendor_micdevice_config vendor_mic; +}; + +struct acpi_nhlt_endpoint { + u32 length; + u8 link_type; + u8 instance_id; + u16 vendor_id; + u16 device_id; + u16 revision_id; + u32 subsystem_id; + u8 device_type; + u8 direction; + u8 virtual_bus_id; +} __attribute__((packed)); + +struct acpi_nhlt_wave_formatext { + u16 format_tag; + u16 channel_count; + u32 samples_per_sec; + u32 avg_bytes_per_sec; + u16 block_align; + u16 bits_per_sample; + u16 extra_format_size; + u16 valid_bits_per_sample; + u32 channel_mask; + u8 subformat[16]; +}; + +struct acpi_nhlt_format_config { + struct acpi_nhlt_wave_formatext format; + struct acpi_nhlt_config config; +}; + +struct acpi_nhlt_formats_config { + u8 formats_count; + struct acpi_nhlt_format_config formats[0]; +} __attribute__((packed)); + +union acpi_object { + acpi_object_type type; + struct { + acpi_object_type type; + u64 value; + } integer; + struct { + acpi_object_type type; + u32 length; + char *pointer; + } string; + struct { + acpi_object_type type; + u32 length; + u8 *pointer; + } buffer; + struct { + acpi_object_type type; + u32 count; + union acpi_object *elements; + } package; + struct { + acpi_object_type type; + acpi_object_type actual_type; + acpi_handle handle; + } reference; + struct { + acpi_object_type type; + u32 proc_id; + acpi_io_address pblk_address; + u32 pblk_length; + } processor; + struct { + acpi_object_type type; + u32 system_level; + u32 resource_order; + } power_resource; +}; + +struct acpi_object_info { + u32 types[28]; +}; + +struct acpi_object_list { + u32 count; + union acpi_object *pointer; +}; + +struct acpi_offsets { + size_t offset; + u8 mode; +}; + +struct acpi_opcode_info { + char *name; + u32 parse_args; + u32 runtime_args; + u16 flags; + u8 object_type; + u8 class; + u8 type; +}; + +struct acpi_os_dpc { + acpi_osd_exec_callback function; + void *context; + struct work_struct work; +}; + +struct acpi_osc_context { + char *uuid_str; + int rev; + struct acpi_buffer cap; + struct acpi_buffer ret; +}; + +struct acpi_osi_config { + u8 default_disabling; + unsigned int linux_enable: 1; + unsigned int linux_dmi: 1; + unsigned int linux_cmdline: 1; + unsigned int darwin_enable: 1; + unsigned int darwin_dmi: 1; + unsigned int darwin_cmdline: 1; +}; + +struct acpi_osi_entry { + char string[64]; + bool enable; +}; + +struct acpi_package_info { + u8 type; + u8 object_type1; + u8 count1; + u8 object_type2; + u8 count2; + u16 reserved; +} __attribute__((packed)); + +struct acpi_package_info2 { + u8 type; + u8 count; + u8 object_type[4]; + u8 reserved; +}; + +struct acpi_package_info3 { + u8 type; + u8 count; + u8 object_type[2]; + u8 tail_object_type; + u16 reserved; +} __attribute__((packed)); + +struct acpi_package_info4 { + u8 type; + u8 object_type1; + u8 count1; + u8 sub_object_types; + u8 pkg_count; + u16 reserved; +} __attribute__((packed)); + +struct acpi_parse_state { + u8 *aml_start; + u8 *aml; + u8 *aml_end; + u8 *pkg_start; + u8 *pkg_end; + union acpi_parse_object *start_op; + struct acpi_namespace_node *start_node; + union acpi_generic_state *scope; + union acpi_parse_object *start_scope; + u32 aml_size; +}; + +struct acpi_pcc_info { + u8 subspace_id; + u16 length; + u8 *internal_buffer; +}; + +struct acpi_pcct_ext_pcc_master { + struct acpi_subtable_header header; + u32 platform_interrupt; + u8 flags; + u8 reserved1; + u64 base_address; + u32 length; + struct acpi_generic_address doorbell_register; + u64 preserve_mask; + u64 write_mask; + u32 latency; + u32 max_access_rate; + u32 min_turnaround_time; + struct acpi_generic_address platform_ack_register; + u64 ack_preserve_mask; + u64 ack_set_mask; + u64 reserved2; + struct acpi_generic_address cmd_complete_register; + u64 cmd_complete_mask; + struct acpi_generic_address cmd_update_register; + u64 cmd_update_preserve_mask; + u64 cmd_update_set_mask; + struct acpi_generic_address error_status_register; + u64 error_status_mask; +} __attribute__((packed)); + +struct acpi_pcct_ext_pcc_shared_memory { + u32 signature; + u32 flags; + u32 length; + u32 command; +}; + +struct acpi_pcct_ext_pcc_slave { + struct acpi_subtable_header header; + u32 platform_interrupt; + u8 flags; + u8 reserved1; + u64 base_address; + u32 length; + struct acpi_generic_address doorbell_register; + u64 preserve_mask; + u64 write_mask; + u32 latency; + u32 max_access_rate; + u32 min_turnaround_time; + struct acpi_generic_address platform_ack_register; + u64 ack_preserve_mask; + u64 ack_set_mask; + u64 reserved2; + struct acpi_generic_address cmd_complete_register; + u64 cmd_complete_mask; + struct acpi_generic_address cmd_update_register; + u64 cmd_update_preserve_mask; + u64 cmd_update_set_mask; + struct acpi_generic_address error_status_register; + u64 error_status_mask; +} __attribute__((packed)); + +struct acpi_pcct_hw_reduced { + struct acpi_subtable_header header; + u32 platform_interrupt; + u8 flags; + u8 reserved; + u64 base_address; + u64 length; + struct acpi_generic_address doorbell_register; + u64 preserve_mask; + u64 write_mask; + u32 latency; + u32 max_access_rate; + u16 min_turnaround_time; +} __attribute__((packed)); + +struct acpi_pcct_hw_reduced_type2 { + struct acpi_subtable_header header; + u32 platform_interrupt; + u8 flags; + u8 reserved; + u64 base_address; + u64 length; + struct acpi_generic_address doorbell_register; + u64 preserve_mask; + u64 write_mask; + u32 latency; + u32 max_access_rate; + u16 min_turnaround_time; + struct acpi_generic_address platform_ack_register; + u64 ack_preserve_mask; + u64 ack_write_mask; +} __attribute__((packed)); + +struct acpi_pcct_shared_memory { + u32 signature; + u16 command; + u16 status; +}; + +struct acpi_pcct_subspace { + struct acpi_subtable_header header; + u8 reserved[6]; + u64 base_address; + u64 length; + struct acpi_generic_address doorbell_register; + u64 preserve_mask; + u64 write_mask; + u32 latency; + u32 max_access_rate; + u16 min_turnaround_time; +} __attribute__((packed)); + +struct acpi_pci_device { + acpi_handle device; + struct acpi_pci_device *next; +}; + +struct acpi_pci_id { + u16 segment; + u16 bus; + u16 device; + u16 function; +}; + +struct acpi_pci_ioapic { + acpi_handle root_handle; + acpi_handle handle; + u32 gsi_base; + struct resource res; + struct pci_dev *pdev; + struct list_head list; +}; + +struct acpi_pci_link_irq { + u32 active; + u8 triggering; + u8 polarity; + u8 resource_type; + u8 possible_count; + u32 possible[16]; + u8 initialized: 1; + u8 reserved: 7; +}; + +struct acpi_pci_link { + struct list_head list; + struct acpi_device *device; + struct acpi_pci_link_irq irq; + int refcnt; +}; + +struct pci_bus; + +struct acpi_pci_root { + struct acpi_device *device; + struct pci_bus *bus; + u16 segment; + int bridge_type; + struct resource secondary; + u32 osc_support_set; + u32 osc_control_set; + u32 osc_ext_support_set; + u32 osc_ext_control_set; + phys_addr_t mcfg_addr; +}; + +struct acpi_pci_root_ops; + +struct acpi_pci_root_info { + struct acpi_pci_root *root; + struct acpi_device *bridge; + struct acpi_pci_root_ops *ops; + struct list_head resources; + char name[16]; +}; + +struct pci_ops; + +struct acpi_pci_root_ops { + struct pci_ops *pci_ops; + int (*init_info)(struct acpi_pci_root_info *); + void (*release_info)(struct acpi_pci_root_info *); + int (*prepare_resources)(struct acpi_pci_root_info *); +}; + +struct acpi_pci_routing_table { + u32 length; + u32 pin; + u64 address; + u32 source_index; + union { + char pad[4]; + struct { + struct {} __Empty_source; + char source[0]; + }; + }; +}; + +struct pci_slot; + +struct acpi_pci_slot { + struct pci_slot *pci_slot; + struct list_head list; +}; + +struct acpi_pct_register { + u8 descriptor; + u16 length; + u8 space_id; + u8 bit_width; + u8 bit_offset; + u8 reserved; + u64 address; +} __attribute__((packed)); + +struct acpi_pkg_info { + u8 *free_space; + acpi_size length; + u32 object_space; + u32 num_packages; +}; + +struct acpi_platform_list { + char oem_id[7]; + char oem_table_id[9]; + u32 oem_revision; + char *table; + enum acpi_predicate pred; + char *reason; + u32 data; +}; + +struct acpi_pld_info { + u8 revision; + u8 ignore_color; + u8 red; + u8 green; + u8 blue; + u16 width; + u16 height; + u8 user_visible; + u8 dock; + u8 lid; + u8 panel; + u8 vertical_position; + u8 horizontal_position; + u8 shape; + u8 group_orientation; + u8 group_token; + u8 group_position; + u8 bay; + u8 ejectable; + u8 ospm_eject_required; + u8 cabinet_number; + u8 card_cage_number; + u8 reference; + u8 rotation; + u8 order; + u8 reserved; + u16 vertical_offset; + u16 horizontal_offset; +}; + +struct acpi_port_info { + char *name; + u16 start; + u16 end; + u8 osi_dependency; +}; + +struct acpi_power_dependent_device { + struct device *dev; + struct list_head node; +}; + +struct acpi_power_register { + u8 descriptor; + u16 length; + u8 space_id; + u8 bit_width; + u8 bit_offset; + u8 access_size; + u64 address; +} __attribute__((packed)); + +struct acpi_power_resource { + struct acpi_device device; + struct list_head list_node; + u32 system_level; + u32 order; + unsigned int ref_count; + u8 state; + struct mutex resource_lock; + struct list_head dependents; +}; + +struct acpi_power_resource_entry { + struct list_head node; + struct acpi_power_resource *resource; +}; + +union acpi_predefined_info { + struct acpi_name_info info; + struct acpi_package_info ret_info; + struct acpi_package_info2 ret_info2; + struct acpi_package_info3 ret_info3; + struct acpi_package_info4 ret_info4; +}; + +struct acpi_predefined_names { + const char *name; + u8 type; + char *val; +}; + +struct acpi_prmt_handler_info { + u16 revision; + u16 length; + u8 handler_guid[16]; + u64 handler_address; + u64 static_data_buffer_address; + u64 acpi_param_buffer_address; +} __attribute__((packed)); + +struct acpi_prmt_module_header { + u16 revision; + u16 length; +}; + +struct acpi_prmt_module_info { + u16 revision; + u16 length; + u8 module_guid[16]; + u16 major_rev; + u16 minor_rev; + u16 handler_info_count; + u32 handler_info_offset; + u64 mmio_list_pointer; +} __attribute__((packed)); + +struct acpi_probe_entry; + +typedef bool (*acpi_probe_entry_validate_subtbl)(struct acpi_subtable_header *, struct acpi_probe_entry *); + +struct acpi_table_header; + +typedef int (*acpi_tbl_table_handler)(struct acpi_table_header *); + +union acpi_subtable_headers; + +typedef int (*acpi_tbl_entry_handler)(union acpi_subtable_headers *, const long unsigned int); + +struct acpi_probe_entry { + __u8 id[5]; + __u8 type; + acpi_probe_entry_validate_subtbl subtable_valid; + union { + acpi_tbl_table_handler probe_table; + acpi_tbl_entry_handler probe_subtbl; + }; + kernel_ulong_t driver_data; +}; + +struct acpi_processor_flags { + u8 power: 1; + u8 performance: 1; + u8 throttling: 1; + u8 limit: 1; + u8 bm_control: 1; + u8 bm_check: 1; + u8 has_cst: 1; + u8 has_lpi: 1; + u8 power_setup_done: 1; + u8 bm_rld_set: 1; + u8 previously_online: 1; +}; + +struct acpi_processor_cx { + u8 valid; + u8 type; + u32 address; + u8 entry_method; + u8 index; + u32 latency; + u8 bm_sts_skip; + char desc[32]; +}; + +struct acpi_processor_power { + int count; + union { + struct acpi_processor_cx states[8]; + struct acpi_lpi_state lpi_states[8]; + }; + int timer_broadcast_on_state; +}; + +struct acpi_tsd_package { + u64 num_entries; + u64 revision; + u64 domain; + u64 coord_type; + u64 num_processors; +}; + +struct acpi_processor_tx { + u16 power; + u16 performance; +}; + +struct acpi_processor_tx_tss; + +struct acpi_processor; + +struct acpi_processor_throttling { + unsigned int state; + unsigned int platform_limit; + struct acpi_pct_register control_register; + struct acpi_pct_register status_register; + unsigned int state_count; + struct acpi_processor_tx_tss *states_tss; + struct acpi_tsd_package domain_info; + cpumask_var_t shared_cpu_map; + int (*acpi_processor_get_throttling)(struct acpi_processor *); + int (*acpi_processor_set_throttling)(struct acpi_processor *, int, bool); + u32 address; + u8 duty_offset; + u8 duty_width; + u8 tsd_valid_flag; + unsigned int shared_type; + struct acpi_processor_tx states[16]; +}; + +struct acpi_processor_lx { + int px; + int tx; +}; + +struct acpi_processor_limit { + struct acpi_processor_lx state; + struct acpi_processor_lx thermal; + struct acpi_processor_lx user; +}; + +struct plist_node { + int prio; + struct list_head prio_list; + struct list_head node_list; +}; + +struct freq_constraints; + +struct freq_qos_request { + enum freq_qos_req_type type; + struct plist_node pnode; + struct freq_constraints *qos; +}; + +struct acpi_processor_performance; + +struct acpi_processor { + acpi_handle handle; + u32 acpi_id; + phys_cpuid_t phys_id; + u32 id; + u32 pblk; + int performance_platform_limit; + int throttling_platform_limit; + struct acpi_processor_flags flags; + struct acpi_processor_power power; + struct acpi_processor_performance *performance; + struct acpi_processor_throttling throttling; + struct acpi_processor_limit limit; + struct thermal_cooling_device *cdev; + struct device *dev; + struct freq_qos_request perflib_req; + struct freq_qos_request thermal_req; +}; + +struct acpi_processor_errata { + u8 smp; + struct { + u8 throttle: 1; + u8 fdma: 1; + u8 reserved: 6; + u32 bmisx; + } piix4; +}; + +struct acpi_psd_package { + u64 num_entries; + u64 revision; + u64 domain; + u64 coord_type; + u64 num_processors; +}; + +struct acpi_processor_px; + +struct acpi_processor_performance { + unsigned int state; + unsigned int platform_limit; + struct acpi_pct_register control_register; + struct acpi_pct_register status_register; + unsigned int state_count; + struct acpi_processor_px *states; + struct acpi_psd_package domain_info; + cpumask_var_t shared_cpu_map; + unsigned int shared_type; +}; + +struct acpi_processor_px { + u64 core_frequency; + u64 power; + u64 transition_latency; + u64 bus_master_latency; + u64 control; + u64 status; +}; + +struct acpi_processor_throttling_arg { + struct acpi_processor *pr; + int target_state; + bool force; +}; + +struct acpi_processor_tx_tss { + u64 freqpercentage; + u64 power; + u64 transition_latency; + u64 control; + u64 status; +}; + +struct acpi_prt_entry { + struct acpi_pci_id id; + u8 pin; + acpi_handle link; + u32 index; +}; + +struct acpi_reg_walk_info { + u32 function; + u32 reg_run_count; + acpi_adr_space_type space_id; +}; + +struct acpi_region_walk_info { + u32 debug_level; + u32 count; + acpi_owner_id owner_id; + u8 display_type; + u32 address_space_id; +}; + +typedef acpi_status (*acpi_repair_function)(struct acpi_evaluate_info *, union acpi_operand_object **); + +struct acpi_repair_info { + char name[4]; + acpi_repair_function repair_function; +}; + +struct acpi_resource_irq { + u8 descriptor_length; + u8 triggering; + u8 polarity; + u8 shareable; + u8 wake_capable; + u8 interrupt_count; + union { + u8 interrupt; + struct { + struct {} __Empty_interrupts; + u8 interrupts[0]; + }; + }; +}; + +struct acpi_resource_dma { + u8 type; + u8 bus_master; + u8 transfer; + u8 channel_count; + union { + u8 channel; + struct { + struct {} __Empty_channels; + u8 channels[0]; + }; + }; +}; + +struct acpi_resource_start_dependent { + u8 descriptor_length; + u8 compatibility_priority; + u8 performance_robustness; +}; + +struct acpi_resource_io { + u8 io_decode; + u8 alignment; + u8 address_length; + u16 minimum; + u16 maximum; +} __attribute__((packed)); + +struct acpi_resource_fixed_io { + u16 address; + u8 address_length; +} __attribute__((packed)); + +struct acpi_resource_fixed_dma { + u16 request_lines; + u16 channels; + u8 width; +} __attribute__((packed)); + +struct acpi_resource_vendor { + u16 byte_length; + u8 byte_data[0]; +}; + +struct acpi_resource_vendor_typed { + u16 byte_length; + u8 uuid_subtype; + u8 uuid[16]; + u8 byte_data[0]; +} __attribute__((packed)); + +struct acpi_resource_end_tag { + u8 checksum; +}; + +struct acpi_resource_memory24 { + u8 write_protect; + u16 minimum; + u16 maximum; + u16 alignment; + u16 address_length; +} __attribute__((packed)); + +struct acpi_resource_memory32 { + u8 write_protect; + u32 minimum; + u32 maximum; + u32 alignment; + u32 address_length; +} __attribute__((packed)); + +struct acpi_resource_fixed_memory32 { + u8 write_protect; + u32 address; + u32 address_length; +} __attribute__((packed)); + +union acpi_resource_attribute { + struct acpi_memory_attribute mem; + struct acpi_io_attribute io; + u8 type_specific; +}; + +struct acpi_resource_source { + u8 index; + u16 string_length; + char *string_ptr; +} __attribute__((packed)); + +struct acpi_resource_address16 { + u8 resource_type; + u8 producer_consumer; + u8 decode; + u8 min_address_fixed; + u8 max_address_fixed; + union acpi_resource_attribute info; + struct acpi_address16_attribute address; + struct acpi_resource_source resource_source; +} __attribute__((packed)); + +struct acpi_resource_address32 { + u8 resource_type; + u8 producer_consumer; + u8 decode; + u8 min_address_fixed; + u8 max_address_fixed; + union acpi_resource_attribute info; + struct acpi_address32_attribute address; + struct acpi_resource_source resource_source; +} __attribute__((packed)); + +struct acpi_resource_address64 { + u8 resource_type; + u8 producer_consumer; + u8 decode; + u8 min_address_fixed; + u8 max_address_fixed; + union acpi_resource_attribute info; + struct acpi_address64_attribute address; + struct acpi_resource_source resource_source; +} __attribute__((packed)); + +struct acpi_resource_extended_address64 { + u8 resource_type; + u8 producer_consumer; + u8 decode; + u8 min_address_fixed; + u8 max_address_fixed; + union acpi_resource_attribute info; + u8 revision_ID; + struct acpi_address64_attribute address; + u64 type_specific; +} __attribute__((packed)); + +struct acpi_resource_extended_irq { + u8 producer_consumer; + u8 triggering; + u8 polarity; + u8 shareable; + u8 wake_capable; + u8 interrupt_count; + struct acpi_resource_source resource_source; + union { + u32 interrupt; + struct { + struct {} __Empty_interrupts; + u32 interrupts[0]; + }; + }; +} __attribute__((packed)); + +struct acpi_resource_generic_register { + u8 space_id; + u8 bit_width; + u8 bit_offset; + u8 access_size; + u64 address; +} __attribute__((packed)); + +struct acpi_resource_gpio { + u8 revision_id; + u8 connection_type; + u8 producer_consumer; + u8 pin_config; + u8 shareable; + u8 wake_capable; + u8 io_restriction; + u8 triggering; + u8 polarity; + u16 drive_strength; + u16 debounce_timeout; + u16 pin_table_length; + u16 vendor_length; + struct acpi_resource_source resource_source; + u16 *pin_table; + u8 *vendor_data; +} __attribute__((packed)); + +struct acpi_resource_i2c_serialbus { + u8 revision_id; + u8 type; + u8 producer_consumer; + u8 slave_mode; + u8 connection_sharing; + u8 type_revision_id; + u16 type_data_length; + u16 vendor_length; + struct acpi_resource_source resource_source; + u8 *vendor_data; + u8 access_mode; + u16 slave_address; + u32 connection_speed; +} __attribute__((packed)); + +struct acpi_resource_spi_serialbus { + u8 revision_id; + u8 type; + u8 producer_consumer; + u8 slave_mode; + u8 connection_sharing; + u8 type_revision_id; + u16 type_data_length; + u16 vendor_length; + struct acpi_resource_source resource_source; + u8 *vendor_data; + u8 wire_mode; + u8 device_polarity; + u8 data_bit_length; + u8 clock_phase; + u8 clock_polarity; + u16 device_selection; + u32 connection_speed; +} __attribute__((packed)); + +struct acpi_resource_uart_serialbus { + u8 revision_id; + u8 type; + u8 producer_consumer; + u8 slave_mode; + u8 connection_sharing; + u8 type_revision_id; + u16 type_data_length; + u16 vendor_length; + struct acpi_resource_source resource_source; + u8 *vendor_data; + u8 endian; + u8 data_bits; + u8 stop_bits; + u8 flow_control; + u8 parity; + u8 lines_enabled; + u16 rx_fifo_size; + u16 tx_fifo_size; + u32 default_baud_rate; +} __attribute__((packed)); + +struct acpi_resource_csi2_serialbus { + u8 revision_id; + u8 type; + u8 producer_consumer; + u8 slave_mode; + u8 connection_sharing; + u8 type_revision_id; + u16 type_data_length; + u16 vendor_length; + struct acpi_resource_source resource_source; + u8 *vendor_data; + u8 local_port_instance; + u8 phy_type; +} __attribute__((packed)); + +struct acpi_resource_common_serialbus { + u8 revision_id; + u8 type; + u8 producer_consumer; + u8 slave_mode; + u8 connection_sharing; + u8 type_revision_id; + u16 type_data_length; + u16 vendor_length; + struct acpi_resource_source resource_source; + u8 *vendor_data; +} __attribute__((packed)); + +struct acpi_resource_pin_function { + u8 revision_id; + u8 pin_config; + u8 shareable; + u16 function_number; + u16 pin_table_length; + u16 vendor_length; + struct acpi_resource_source resource_source; + u16 *pin_table; + u8 *vendor_data; +} __attribute__((packed)); + +struct acpi_resource_pin_config { + u8 revision_id; + u8 producer_consumer; + u8 shareable; + u8 pin_config_type; + u32 pin_config_value; + u16 pin_table_length; + u16 vendor_length; + struct acpi_resource_source resource_source; + u16 *pin_table; + u8 *vendor_data; +} __attribute__((packed)); + +struct acpi_resource_label { + u16 string_length; + char *string_ptr; +} __attribute__((packed)); + +struct acpi_resource_pin_group { + u8 revision_id; + u8 producer_consumer; + u16 pin_table_length; + u16 vendor_length; + u16 *pin_table; + struct acpi_resource_label resource_label; + u8 *vendor_data; +} __attribute__((packed)); + +struct acpi_resource_pin_group_function { + u8 revision_id; + u8 producer_consumer; + u8 shareable; + u16 function_number; + u16 vendor_length; + struct acpi_resource_source resource_source; + struct acpi_resource_label resource_source_label; + u8 *vendor_data; +} __attribute__((packed)); + +struct acpi_resource_pin_group_config { + u8 revision_id; + u8 producer_consumer; + u8 shareable; + u8 pin_config_type; + u32 pin_config_value; + u16 vendor_length; + struct acpi_resource_source resource_source; + struct acpi_resource_label resource_source_label; + u8 *vendor_data; +} __attribute__((packed)); + +struct acpi_resource_clock_input { + u8 revision_id; + u8 mode; + u8 scale; + u16 frequency_divisor; + u32 frequency_numerator; + struct acpi_resource_source resource_source; +} __attribute__((packed)); + +struct acpi_resource_address { + u8 resource_type; + u8 producer_consumer; + u8 decode; + u8 min_address_fixed; + u8 max_address_fixed; + union acpi_resource_attribute info; +}; + +union acpi_resource_data { + struct acpi_resource_irq irq; + struct acpi_resource_dma dma; + struct acpi_resource_start_dependent start_dpf; + struct acpi_resource_io io; + struct acpi_resource_fixed_io fixed_io; + struct acpi_resource_fixed_dma fixed_dma; + struct acpi_resource_vendor vendor; + struct acpi_resource_vendor_typed vendor_typed; + struct acpi_resource_end_tag end_tag; + struct acpi_resource_memory24 memory24; + struct acpi_resource_memory32 memory32; + struct acpi_resource_fixed_memory32 fixed_memory32; + struct acpi_resource_address16 address16; + struct acpi_resource_address32 address32; + struct acpi_resource_address64 address64; + struct acpi_resource_extended_address64 ext_address64; + struct acpi_resource_extended_irq extended_irq; + struct acpi_resource_generic_register generic_reg; + struct acpi_resource_gpio gpio; + struct acpi_resource_i2c_serialbus i2c_serial_bus; + struct acpi_resource_spi_serialbus spi_serial_bus; + struct acpi_resource_uart_serialbus uart_serial_bus; + struct acpi_resource_csi2_serialbus csi2_serial_bus; + struct acpi_resource_common_serialbus common_serial_bus; + struct acpi_resource_pin_function pin_function; + struct acpi_resource_pin_config pin_config; + struct acpi_resource_pin_group pin_group; + struct acpi_resource_pin_group_function pin_group_function; + struct acpi_resource_pin_group_config pin_group_config; + struct acpi_resource_clock_input clock_input; + struct acpi_resource_address address; +}; + +struct acpi_resource { + u32 type; + u32 length; + union acpi_resource_data data; +}; + +struct acpi_rsconvert_info { + u8 opcode; + u8 resource_offset; + u8 aml_offset; + u8 value; +}; + +struct acpi_rsdump_info { + u8 opcode; + u8 offset; + const char *name; + const char **pointer; +} __attribute__((packed)); + +struct acpi_rw_lock { + void *writer_mutex; + void *reader_mutex; + u32 num_readers; +}; + +struct acpi_s2idle_dev_ops { + struct list_head list_node; + void (*prepare)(void); + void (*check)(void); + void (*restore)(void); +}; + +struct acpi_scan_clear_dep_work { + struct work_struct work; + struct acpi_device *adev; +}; + +struct acpi_scan_handler { + struct list_head list_node; + const struct acpi_device_id *ids; + bool (*match)(const char *, const struct acpi_device_id **); + int (*attach)(struct acpi_device *, const struct acpi_device_id *); + void (*detach)(struct acpi_device *); + void (*post_eject)(struct acpi_device *); + void (*bind)(struct device *); + void (*unbind)(struct device *); + struct acpi_hotplug_profile hotplug; +}; + +typedef u32 (*acpi_sci_handler)(void *); + +struct acpi_sci_handler_info { + struct acpi_sci_handler_info *next; + acpi_sci_handler address; + void *context; +}; + +struct acpi_serdev_lookup { + acpi_handle device_handle; + acpi_handle controller_handle; + int n; + int index; +}; + +struct acpi_signal_fatal_info { + u32 type; + u32 code; + u32 argument; +}; + +typedef acpi_status (*acpi_object_converter)(struct acpi_namespace_node *, union acpi_operand_object *, union acpi_operand_object **); + +struct acpi_simple_repair_info { + char name[4]; + u32 unexpected_btypes; + u32 package_index; + acpi_object_converter object_converter; +}; + +struct spi_controller; + +struct acpi_spi_lookup { + struct spi_controller *ctlr; + u32 max_speed_hz; + u32 mode; + int irq; + u8 bits_per_word; + u8 chip_select; + int n; + int index; +}; + +struct acpi_srat_cpu_affinity { + struct acpi_subtable_header header; + u8 proximity_domain_lo; + u8 apic_id; + u32 flags; + u8 local_sapic_eid; + u8 proximity_domain_hi[3]; + u32 clock_domain; +}; + +struct acpi_srat_generic_affinity { + struct acpi_subtable_header header; + u8 reserved; + u8 device_handle_type; + u32 proximity_domain; + u8 device_handle[16]; + u32 flags; + u32 reserved1; +}; + +struct acpi_srat_gicc_affinity { + struct acpi_subtable_header header; + u32 proximity_domain; + u32 acpi_processor_uid; + u32 flags; + u32 clock_domain; +} __attribute__((packed)); + +struct acpi_srat_mem_affinity { + struct acpi_subtable_header header; + u32 proximity_domain; + u16 reserved; + u64 base_address; + u64 length; + u32 reserved1; + u32 flags; + u64 reserved2; +} __attribute__((packed)); + +struct acpi_srat_rintc_affinity { + struct acpi_subtable_header header; + u16 reserved; + u32 proximity_domain; + u32 acpi_processor_uid; + u32 flags; + u32 clock_domain; +}; + +struct acpi_srat_x2apic_cpu_affinity { + struct acpi_subtable_header header; + u16 reserved; + u32 proximity_domain; + u32 apic_id; + u32 flags; + u32 clock_domain; + u32 reserved2; +}; + +struct acpi_subtable_entry { + union acpi_subtable_headers *hdr; + enum acpi_subtable_type type; +}; + +union acpi_subtable_headers { + struct acpi_subtable_header common; + struct acpi_hmat_structure hmat; + struct acpi_prmt_module_header prmt; + struct acpi_cedt_header cedt; + struct acpi_cdat_header cdat; +}; + +typedef int (*acpi_tbl_entry_handler_arg)(union acpi_subtable_headers *, void *, const long unsigned int); + +struct acpi_subtable_proc { + int id; + acpi_tbl_entry_handler handler; + acpi_tbl_entry_handler_arg handler_arg; + void *arg; + int count; +}; + +struct acpi_table_attr { + struct bin_attribute attr; + char name[4]; + int instance; + char filename[8]; + struct list_head node; +}; + +struct acpi_table_header { + char signature[4]; + u32 length; + u8 revision; + u8 checksum; + char oem_id[6]; + char oem_table_id[8]; + u32 oem_revision; + char asl_compiler_id[4]; + u32 asl_compiler_revision; +}; + +struct acpi_table_bert { + struct acpi_table_header header; + u32 region_length; + u64 address; +}; + +struct acpi_table_bgrt { + struct acpi_table_header header; + u16 version; + u8 status; + u8 image_type; + u64 image_address; + u32 image_offset_x; + u32 image_offset_y; +}; + +struct acpi_table_boot { + struct acpi_table_header header; + u8 cmos_index; + u8 reserved[3]; +}; + +struct acpi_table_ccel { + struct acpi_table_header header; + u8 CCtype; + u8 Ccsub_type; + u16 reserved; + u64 log_area_minimum_length; + u64 log_area_start_address; +}; + +struct acpi_table_cdat { + u32 length; + u8 revision; + u8 checksum; + u8 reserved[6]; + u32 sequence; +}; + +struct acpi_table_csrt { + struct acpi_table_header header; +}; + +struct acpi_table_desc { + acpi_physical_address address; + struct acpi_table_header *pointer; + u32 length; + union acpi_name_union signature; + acpi_owner_id owner_id; + u8 flags; + u16 validation_count; +}; + +struct acpi_table_dmar { + struct acpi_table_header header; + u8 width; + u8 flags; + u8 reserved[10]; +}; + +struct acpi_table_ecdt { + struct acpi_table_header header; + struct acpi_generic_address control; + struct acpi_generic_address data; + u32 uid; + u8 gpe; + u8 id[0]; +} __attribute__((packed)); + +struct acpi_table_erst { + struct acpi_table_header header; + u32 header_length; + u32 reserved; + u32 entries; +}; + +struct acpi_table_facs { + char signature[4]; + u32 length; + u32 hardware_signature; + u32 firmware_waking_vector; + u32 global_lock; + u32 flags; + u64 xfirmware_waking_vector; + u8 version; + u8 reserved[3]; + u32 ospm_flags; + u8 reserved1[24]; +}; + +struct acpi_table_fadt { + struct acpi_table_header header; + u32 facs; + u32 dsdt; + u8 model; + u8 preferred_profile; + u16 sci_interrupt; + u32 smi_command; + u8 acpi_enable; + u8 acpi_disable; + u8 s4_bios_request; + u8 pstate_control; + u32 pm1a_event_block; + u32 pm1b_event_block; + u32 pm1a_control_block; + u32 pm1b_control_block; + u32 pm2_control_block; + u32 pm_timer_block; + u32 gpe0_block; + u32 gpe1_block; + u8 pm1_event_length; + u8 pm1_control_length; + u8 pm2_control_length; + u8 pm_timer_length; + u8 gpe0_block_length; + u8 gpe1_block_length; + u8 gpe1_base; + u8 cst_control; + u16 c2_latency; + u16 c3_latency; + u16 flush_size; + u16 flush_stride; + u8 duty_offset; + u8 duty_width; + u8 day_alarm; + u8 month_alarm; + u8 century; + u16 boot_flags; + u8 reserved; + u32 flags; + struct acpi_generic_address reset_register; + u8 reset_value; + u16 arm_boot_flags; + u8 minor_revision; + u64 Xfacs; + u64 Xdsdt; + struct acpi_generic_address xpm1a_event_block; + struct acpi_generic_address xpm1b_event_block; + struct acpi_generic_address xpm1a_control_block; + struct acpi_generic_address xpm1b_control_block; + struct acpi_generic_address xpm2_control_block; + struct acpi_generic_address xpm_timer_block; + struct acpi_generic_address xgpe0_block; + struct acpi_generic_address xgpe1_block; + struct acpi_generic_address sleep_control; + struct acpi_generic_address sleep_status; + u64 hypervisor_id; +} __attribute__((packed)); + +struct acpi_table_hest { + struct acpi_table_header header; + u32 error_source_count; +}; + +struct acpi_table_hpet { + struct acpi_table_header header; + u32 id; + struct acpi_generic_address address; + u8 sequence; + u16 minimum_tick; + u8 flags; +} __attribute__((packed)); + +struct acpi_table_list { + struct acpi_table_desc *tables; + u32 current_table_count; + u32 max_table_count; + u8 flags; +}; + +struct acpi_table_lpit { + struct acpi_table_header header; +}; + +struct acpi_table_madt { + struct acpi_table_header header; + u32 address; + u32 flags; +}; + +struct acpi_table_mcfg { + struct acpi_table_header header; + u8 reserved[8]; +}; + +struct acpi_table_mrrm { + struct acpi_table_header header; + u8 max_mem_region; + u8 flags; + u8 reserved[26]; + u8 memory_range_entry[0]; +}; + +struct acpi_table_nhlt { + struct acpi_table_header header; + u8 endpoints_count; +} __attribute__((packed)); + +struct acpi_table_pcct { + struct acpi_table_header header; + u32 flags; + u64 reserved; +}; + +struct acpi_table_rsdp { + char signature[8]; + u8 checksum; + char oem_id[6]; + u8 revision; + u32 rsdt_physical_address; + u32 length; + u64 xsdt_physical_address; + u8 extended_checksum; + u8 reserved[3]; +} __attribute__((packed)); + +struct acpi_table_slit { + struct acpi_table_header header; + u64 locality_count; + u8 entry[0]; +} __attribute__((packed)); + +struct acpi_table_spcr { + struct acpi_table_header header; + u8 interface_type; + u8 reserved[3]; + struct acpi_generic_address serial_port; + u8 interrupt_type; + u8 pc_interrupt; + u32 interrupt; + u8 baud_rate; + u8 parity; + u8 stop_bits; + u8 flow_control; + u8 terminal_type; + u8 language; + u16 pci_device_id; + u16 pci_vendor_id; + u8 pci_bus; + u8 pci_device; + u8 pci_function; + u32 pci_flags; + u8 pci_segment; + u32 uart_clk_freq; + u32 precise_baudrate; + u16 name_space_string_length; + u16 name_space_string_offset; + char name_space_string[0]; +} __attribute__((packed)); + +struct acpi_table_srat { + struct acpi_table_header header; + u32 table_revision; + u64 reserved; +}; + +struct acpi_table_stao { + struct acpi_table_header header; + u8 ignore_uart; +} __attribute__((packed)); + +struct acpi_table_tpm2 { + struct acpi_table_header header; + u16 platform_class; + u16 reserved; + u64 control_address; + u32 start_method; +} __attribute__((packed)); + +struct acpi_table_viot { + struct acpi_table_header header; + u16 node_count; + u16 node_offset; + u8 reserved[8]; +}; + +struct acpi_table_wdat { + struct acpi_table_header header; + u32 header_length; + u16 pci_segment; + u8 pci_bus; + u8 pci_device; + u8 pci_function; + u8 reserved[3]; + u32 timer_period; + u32 max_count; + u32 min_count; + u8 flags; + u8 reserved2[3]; + u32 entries; +}; + +struct client_hdr { + u32 log_max_len; + u64 log_start_addr; +} __attribute__((packed)); + +struct server_hdr { + u16 reserved; + u64 log_max_len; + u64 log_start_addr; +} __attribute__((packed)); + +struct acpi_tcpa { + struct acpi_table_header hdr; + u16 platform_class; + union { + struct client_hdr client; + struct server_hdr server; + }; +}; + +struct acpi_thermal_trip { + long unsigned int temp_dk; + struct acpi_handle_list devices; +}; + +struct acpi_thermal_passive { + struct acpi_thermal_trip trip; + long unsigned int tc1; + long unsigned int tc2; + long unsigned int delay; +}; + +struct acpi_thermal_active { + struct acpi_thermal_trip trip; +}; + +struct acpi_thermal_trips { + struct acpi_thermal_passive passive; + struct acpi_thermal_active active[10]; +}; + +struct thermal_zone_device; + +struct acpi_thermal { + struct acpi_device *device; + acpi_bus_id name; + long unsigned int temp_dk; + long unsigned int last_temp_dk; + long unsigned int polling_frequency; + volatile u8 zombie; + struct acpi_thermal_trips trips; + struct thermal_zone_device *thermal_zone; + int kelvin_offset; + struct work_struct thermal_check_work; + struct mutex thermal_check_lock; + refcount_t thermal_check_count; +}; + +struct acpi_tpm2_phy { + u8 start_method_specific[12]; + u32 log_area_minimum_length; + u64 log_area_start_address; +}; + +struct acpi_vendor_uuid { + u8 subtype; + u8 data[16]; +}; + +struct acpi_vendor_walk_info { + struct acpi_vendor_uuid *uuid; + struct acpi_buffer *buffer; + acpi_status status; +}; + +struct acpi_viot_header { + u8 type; + u8 reserved; + u16 length; +}; + +struct acpi_viot_mmio { + struct acpi_viot_header header; + u32 endpoint; + u64 base_address; + u16 output_node; + u8 reserved[6]; +}; + +struct acpi_viot_pci_range { + struct acpi_viot_header header; + u32 endpoint_start; + u16 segment_start; + u16 segment_end; + u16 bdf_start; + u16 bdf_end; + u16 output_node; + u8 reserved[6]; +}; + +struct acpi_viot_virtio_iommu_mmio { + struct acpi_viot_header header; + u8 reserved[4]; + u64 base_address; +}; + +struct acpi_viot_virtio_iommu_pci { + struct acpi_viot_header header; + u16 segment; + u16 bdf; + u8 reserved[8]; +}; + +struct acpi_wakeup_handler { + struct list_head list_node; + bool (*wakeup)(void *); + void *context; +}; + +struct acpi_walk_info { + u32 debug_level; + u32 count; + acpi_owner_id owner_id; + u8 display_type; +}; + +typedef acpi_status (*acpi_parse_downwards)(struct acpi_walk_state *, union acpi_parse_object **); + +typedef acpi_status (*acpi_parse_upwards)(struct acpi_walk_state *); + +struct acpi_walk_state { + struct acpi_walk_state *next; + u8 descriptor_type; + u8 walk_type; + u16 opcode; + u8 next_op_info; + u8 num_operands; + u8 operand_index; + acpi_owner_id owner_id; + u8 last_predicate; + u8 current_result; + u8 return_used; + u8 scope_depth; + u8 pass_number; + u8 namespace_override; + u8 result_size; + u8 result_count; + u8 *aml; + u32 arg_types; + u32 method_breakpoint; + u32 user_breakpoint; + u32 parse_flags; + struct acpi_parse_state parser_state; + u32 prev_arg_types; + u32 arg_count; + u16 method_nesting_depth; + u8 method_is_nested; + struct acpi_namespace_node arguments[7]; + struct acpi_namespace_node local_variables[8]; + union acpi_operand_object *operands[9]; + union acpi_operand_object **params; + u8 *aml_last_while; + union acpi_operand_object **caller_return_desc; + union acpi_generic_state *control_state; + struct acpi_namespace_node *deferred_node; + union acpi_operand_object *implicit_return_obj; + struct acpi_namespace_node *method_call_node; + union acpi_parse_object *method_call_op; + union acpi_operand_object *method_desc; + struct acpi_namespace_node *method_node; + char *method_pathname; + union acpi_parse_object *op; + const struct acpi_opcode_info *op_info; + union acpi_parse_object *origin; + union acpi_operand_object *result_obj; + union acpi_generic_state *results; + union acpi_operand_object *return_desc; + union acpi_generic_state *scope_info; + union acpi_parse_object *prev_op; + union acpi_parse_object *next_op; + struct acpi_thread_state *thread; + acpi_parse_downwards descending_callback; + acpi_parse_upwards ascending_callback; +}; + +struct acpi_wdat_entry { + u8 action; + u8 instruction; + u16 reserved; + struct acpi_generic_address register_region; + u32 value; + u32 mask; +}; + +struct acpi_whea_header { + u8 action; + u8 instruction; + u8 flags; + u8 reserved; + struct acpi_generic_address register_region; + u64 value; + u64 mask; +}; + +struct acpihid_map_entry { + struct list_head list; + u8 uid[256]; + u8 hid[9]; + u32 devid; + u32 root_devid; + bool cmd_line; + struct iommu_group *group; +}; + +struct hotplug_slot; + +struct acpiphp_attention_info { + int (*set_attn)(struct hotplug_slot *, u8); + int (*get_attn)(struct hotplug_slot *, u8 *); + struct module *owner; +}; + +struct acpiphp_context; + +struct acpiphp_bridge { + struct list_head list; + struct list_head slots; + struct kref ref; + struct acpiphp_context *context; + int nr_slots; + struct pci_bus *pci_bus; + struct pci_dev *pci_dev; + bool is_going_away; +}; + +struct acpiphp_slot; + +struct acpiphp_func { + struct acpiphp_bridge *parent; + struct acpiphp_slot *slot; + struct list_head sibling; + u8 function; + u32 flags; +}; + +struct acpiphp_context { + struct acpi_hotplug_context hp; + struct acpiphp_func func; + struct acpiphp_bridge *bridge; + unsigned int refcount; +}; + +struct acpiphp_root_context { + struct acpi_hotplug_context hp; + struct acpiphp_bridge *root_bridge; +}; + +struct slot; + +struct acpiphp_slot { + struct list_head node; + struct pci_bus *bus; + struct list_head funcs; + struct slot *slot; + u8 device; + u32 flags; +}; + +struct pnp_dev; + +struct acpipnp_parse_option_s { + struct pnp_dev *dev; + unsigned int option_flags; +}; + +struct action_cache { + long unsigned int allow_native[8]; + long unsigned int allow_compat[8]; +}; + +struct hist_trigger_data; + +struct tracing_map_elt; + +struct trace_buffer; + +struct ring_buffer_event; + +struct action_data; + +typedef void (*action_fn_t)(struct hist_trigger_data *, struct tracing_map_elt *, struct trace_buffer *, void *, struct ring_buffer_event *, void *, struct action_data *, u64 *); + +typedef bool (*check_track_val_fn_t)(u64, u64); + +struct synth_event; + +struct hist_field; + +struct action_data { + enum handler_id handler; + enum action_id action; + char *action_name; + action_fn_t fn; + unsigned int n_params; + char *params[64]; + unsigned int var_ref_idx[64]; + struct synth_event *synth_event; + bool use_trace_keyword; + char *synth_event_name; + union { + struct { + char *event; + char *event_system; + } match_data; + struct { + char *var_str; + struct hist_field *var_ref; + struct hist_field *track_var; + check_track_val_fn_t check_val; + action_fn_t save_data; + } track_data; + }; +}; + +struct action_devres { + void *data; + void (*action)(void *); +}; + +struct action_gate_entry { + u8 gate_state; + u32 interval; + s32 ipv; + s32 maxoctets; +}; + +struct addr_marker { + long unsigned int start_address; + const char *name; + long unsigned int max_lines; +}; + +struct rb_root_cached { + struct rb_root rb_root; + struct rb_node *rb_leftmost; +}; + +struct address_space_operations; + +struct address_space { + struct inode *host; + struct xarray i_pages; + struct rw_semaphore invalidate_lock; + gfp_t gfp_mask; + atomic_t i_mmap_writable; + struct rb_root_cached i_mmap; + long unsigned int nrpages; + long unsigned int writeback_index; + const struct address_space_operations *a_ops; + long unsigned int flags; + errseq_t wb_err; + spinlock_t i_private_lock; + struct list_head i_private_list; + struct rw_semaphore i_mmap_rwsem; + void *i_private_data; +}; + +struct writeback_control; + +struct readahead_control; + +struct kiocb; + +struct iov_iter; + +struct swap_info_struct; + +struct address_space_operations { + int (*read_folio)(struct file *, struct folio *); + int (*writepages)(struct address_space *, struct writeback_control *); + bool (*dirty_folio)(struct address_space *, struct folio *); + void (*readahead)(struct readahead_control *); + int (*write_begin)(const struct kiocb *, struct address_space *, loff_t, unsigned int, struct folio **, void **); + int (*write_end)(const struct kiocb *, struct address_space *, loff_t, unsigned int, unsigned int, struct folio *, void *); + sector_t (*bmap)(struct address_space *, sector_t); + void (*invalidate_folio)(struct folio *, size_t, size_t); + bool (*release_folio)(struct folio *, gfp_t); + void (*free_folio)(struct folio *); + ssize_t (*direct_IO)(struct kiocb *, struct iov_iter *); + int (*migrate_folio)(struct address_space *, struct folio *, struct folio *, enum migrate_mode); + int (*launder_folio)(struct folio *); + bool (*is_partially_uptodate)(struct folio *, size_t, size_t); + void (*is_dirty_writeback)(struct folio *, bool *, bool *); + int (*error_remove_folio)(struct address_space *, struct folio *); + int (*swap_activate)(struct swap_info_struct *, struct file *, sector_t *); + void (*swap_deactivate)(struct file *); + int (*swap_rw)(struct kiocb *, struct iov_iter *); +}; + +struct audit_ntp_val { + long long int oldval; + long long int newval; +}; + +struct audit_ntp_data { + struct audit_ntp_val vals[6]; +}; + +struct timespec64 { + time64_t tv_sec; + long int tv_nsec; +}; + +struct adjtimex_result { + struct audit_ntp_data ad; + struct timespec64 delta; + bool clock_set; +}; + +struct adjust_trip_data { + struct acpi_thermal *tz; + u32 event; +}; + +struct adp5520_backlight_platform_data { + u8 fade_in; + u8 fade_out; + u8 fade_led_law; + u8 en_ambl_sens; + u8 abml_filt; + u8 l1_daylight_max; + u8 l1_daylight_dim; + u8 l2_office_max; + u8 l2_office_dim; + u8 l3_dark_max; + u8 l3_dark_dim; + u8 l2_trip; + u8 l2_hyst; + u8 l3_trip; + u8 l3_hyst; +}; + +struct blocking_notifier_head { + struct rw_semaphore rwsem; + struct notifier_block *head; +}; + +struct adp5520_chip { + struct i2c_client *client; + struct device *dev; + struct mutex lock; + struct blocking_notifier_head notifier_list; + int irq; + long unsigned int id; + uint8_t mode; +}; + +struct adp5520_gpio_platform_data { + unsigned int gpio_start; + u8 gpio_en_mask; + u8 gpio_pullup_mask; +}; + +struct adp5520_keys_platform_data { + int rows_en_mask; + int cols_en_mask; + const short unsigned int *keymap; + short unsigned int keymapsize; + unsigned int repeat: 1; +}; + +struct led_info; + +struct adp5520_leds_platform_data { + int num_leds; + struct led_info *leds; + u8 fade_in; + u8 fade_out; + u8 led_on_time; +}; + +struct adp5520_platform_data { + struct adp5520_keys_platform_data *keys; + struct adp5520_gpio_platform_data *gpio; + struct adp5520_leds_platform_data *leds; + struct adp5520_backlight_platform_data *backlight; +}; + +struct advisor_ctx { + ktime_t start_scan; + long unsigned int scan_time; + long unsigned int change; + long long unsigned int cpu_time; +}; + +struct crypto_aead; + +struct aead_request; + +struct aead_alg { + int (*setkey)(struct crypto_aead *, const u8 *, unsigned int); + int (*setauthsize)(struct crypto_aead *, unsigned int); + int (*encrypt)(struct aead_request *); + int (*decrypt)(struct aead_request *); + int (*init)(struct crypto_aead *); + void (*exit)(struct crypto_aead *); + unsigned int ivsize; + unsigned int maxauthsize; + unsigned int chunksize; + struct crypto_alg base; +}; + +struct aead_geniv_ctx { + spinlock_t lock; + struct crypto_aead *child; + u8 salt[0]; +}; + +struct crypto_template; + +struct crypto_spawn; + +struct crypto_instance { + struct crypto_alg alg; + struct crypto_template *tmpl; + union { + struct hlist_node list; + struct crypto_spawn *spawns; + }; + void *__ctx[0]; +}; + +struct aead_instance { + void (*free)(struct aead_instance *); + union { + struct { + char head[64]; + struct crypto_instance base; + } s; + struct aead_alg alg; + }; +}; + +struct aead_request { + struct crypto_async_request base; + unsigned int assoclen; + unsigned int cryptlen; + u8 *iv; + struct scatterlist *src; + struct scatterlist *dst; + void *__ctx[0]; +}; + +struct pcie_tlp_log { + union { + u32 dw[14]; + struct { + u32 _do_not_use[4]; + u32 prefix[4]; + }; + }; + u8 header_len; + bool flit; +}; + +struct aer_capability_regs { + u32 header; + u32 uncor_status; + u32 uncor_mask; + u32 uncor_severity; + u32 cor_status; + u32 cor_mask; + u32 cap_control; + struct pcie_tlp_log header_log; + u32 root_command; + u32 root_status; + u16 cor_err_source; + u16 uncor_err_source; +}; + +struct aer_err_info { + struct pci_dev *dev[5]; + int ratelimit_print[5]; + int error_dev_num; + const char *level; + unsigned int id: 16; + unsigned int severity: 2; + unsigned int root_ratelimit_print: 1; + unsigned int __pad1: 4; + unsigned int multi_error_valid: 1; + unsigned int first_error: 5; + unsigned int __pad2: 2; + unsigned int tlp_header_valid: 1; + unsigned int status; + unsigned int mask; + struct pcie_tlp_log tlp; +}; + +struct aer_err_source { + u32 status; + u32 id; +}; + +struct ratelimit_state { + raw_spinlock_t lock; + int interval; + int burst; + atomic_t rs_n_left; + atomic_t missed; + unsigned int flags; + long unsigned int begin; +}; + +struct aer_info { + u64 dev_cor_errs[16]; + u64 dev_fatal_errs[32]; + u64 dev_nonfatal_errs[32]; + u64 dev_total_cor_errs; + u64 dev_total_fatal_errs; + u64 dev_total_nonfatal_errs; + u64 rootport_total_cor_errs; + u64 rootport_total_fatal_errs; + u64 rootport_total_nonfatal_errs; + struct ratelimit_state correctable_ratelimit; + struct ratelimit_state nonfatal_ratelimit; +}; + +struct aer_recover_entry { + u8 bus; + u8 devfn; + u16 domain; + int severity; + struct aer_capability_regs *regs; +}; + +struct aer_rpc { + struct pci_dev *rpd; + struct { + union { + struct __kfifo kfifo; + struct aer_err_source *type; + const struct aer_err_source *const_type; + char (*rectype)[0]; + struct aer_err_source *ptr; + const struct aer_err_source *ptr_const; + }; + struct aer_err_source buf[128]; + } aer_fifo; +}; + +struct crypto_aes_ctx { + u32 key_enc[60]; + u32 key_dec[60]; + u32 key_length; +}; + +struct aesgcm_ctx { + be128 ghash_key; + struct crypto_aes_ctx aes_ctx; + unsigned int authsize; +}; + +struct affinity_context { + const struct cpumask *new_mask; + struct cpumask *user_mask; + unsigned int flags; +}; + +struct aggregate_control { + long int *aggregate; + long int *local; + long int *pending; + long int *ppending; + long int *cstat; + long int *cstat_prev; + int size; +}; + +struct component_master_ops; + +struct component_match; + +struct aggregate_device { + struct list_head node; + bool bound; + const struct component_master_ops *ops; + struct device *parent; + struct component_match *match; +}; + +struct agp_3_5_dev { + struct list_head list; + u8 capndx; + u32 maxbw; + struct pci_dev *dev; +}; + +struct agp_version; + +struct agp_bridge_driver; + +struct vm_operations_struct; + +struct agp_bridge_data { + const struct agp_version *version; + const struct agp_bridge_driver *driver; + const struct vm_operations_struct *vm_ops; + void *previous_size; + void *current_size; + void *dev_private_data; + struct pci_dev *dev; + u32 *gatt_table; + u32 *gatt_table_real; + long unsigned int scratch_page; + struct page *scratch_page_page; + dma_addr_t scratch_page_dma; + long unsigned int gart_bus_addr; + long unsigned int gatt_bus_addr; + u32 mode; + long unsigned int *key_list; + atomic_t current_memory_agp; + atomic_t agp_in_use; + int max_memory_agp; + int aperture_size_idx; + int capndx; + int flags; + char major_version; + char minor_version; + struct list_head list; + u32 apbase_config; + struct list_head mapped_list; + spinlock_t mapped_lock; +}; + +struct gatt_mask; + +struct agp_memory; + +struct agp_bridge_driver { + struct module *owner; + const void *aperture_sizes; + int num_aperture_sizes; + enum aper_size_type size_type; + bool cant_use_aperture; + bool needs_scratch_page; + const struct gatt_mask *masks; + int (*fetch_size)(void); + int (*configure)(void); + void (*agp_enable)(struct agp_bridge_data *, u32); + void (*cleanup)(void); + void (*tlb_flush)(struct agp_memory *); + long unsigned int (*mask_memory)(struct agp_bridge_data *, dma_addr_t, int); + void (*cache_flush)(void); + int (*create_gatt_table)(struct agp_bridge_data *); + int (*free_gatt_table)(struct agp_bridge_data *); + int (*insert_memory)(struct agp_memory *, off_t, int); + int (*remove_memory)(struct agp_memory *, off_t, int); + struct agp_memory * (*alloc_by_type)(size_t, int); + void (*free_by_type)(struct agp_memory *); + struct page * (*agp_alloc_page)(struct agp_bridge_data *); + int (*agp_alloc_pages)(struct agp_bridge_data *, struct agp_memory *, size_t); + void (*agp_destroy_page)(struct page *, int); + void (*agp_destroy_pages)(struct agp_memory *); + int (*agp_type_to_mask_type)(struct agp_bridge_data *, int); +}; + +struct agp_device_ids { + short unsigned int device_id; + enum chipset_type chipset; + const char *chipset_name; + int (*chipset_setup)(struct pci_dev *); +}; + +struct agp_version { + u16 major; + u16 minor; +}; + +struct agp_kern_info { + struct agp_version version; + struct pci_dev *device; + enum chipset_type chipset; + long unsigned int mode; + long unsigned int aper_base; + size_t aper_size; + int max_memory; + int current_memory; + bool cant_use_aperture; + long unsigned int page_mask; + const struct vm_operations_struct *vm_ops; +}; + +struct agp_memory { + struct agp_memory *next; + struct agp_memory *prev; + struct agp_bridge_data *bridge; + struct page **pages; + size_t page_count; + int key; + int num_scratch_pages; + off_t pg_start; + u32 type; + u32 physical; + bool is_bound; + bool is_flushed; + struct list_head mapped_list; + struct scatterlist *sg_list; + int num_sg; +}; + +struct hash_alg_common { + unsigned int digestsize; + unsigned int statesize; + struct crypto_alg base; +}; + +struct ahash_request; + +struct crypto_ahash; + +struct ahash_alg { + int (*init)(struct ahash_request *); + int (*update)(struct ahash_request *); + int (*final)(struct ahash_request *); + int (*finup)(struct ahash_request *); + int (*digest)(struct ahash_request *); + int (*export)(struct ahash_request *, void *); + int (*import)(struct ahash_request *, const void *); + int (*export_core)(struct ahash_request *, void *); + int (*import_core)(struct ahash_request *, const void *); + int (*setkey)(struct crypto_ahash *, const u8 *, unsigned int); + int (*init_tfm)(struct crypto_ahash *); + void (*exit_tfm)(struct crypto_ahash *); + int (*clone_tfm)(struct crypto_ahash *, struct crypto_ahash *); + struct hash_alg_common halg; +}; + +struct ahash_hmac_ctx { + struct crypto_ahash *hash; + u8 pads[0]; +}; + +struct ahash_instance { + void (*free)(struct ahash_instance *); + union { + struct { + char head[112]; + struct crypto_instance base; + } s; + struct ahash_alg alg; + }; +}; + +struct ahash_request { + struct crypto_async_request base; + unsigned int nbytes; + union { + struct scatterlist *src; + const u8 *svirt; + }; + u8 *result; + struct scatterlist sg_head[2]; + crypto_completion_t saved_complete; + void *saved_data; + void *__ctx[0]; +}; + +struct wait_page_queue; + +struct kiocb { + struct file *ki_filp; + loff_t ki_pos; + void (*ki_complete)(struct kiocb *, long int); + void *private; + int ki_flags; + u16 ki_ioprio; + u8 ki_write_stream; + union { + struct wait_page_queue *ki_waitq; + ssize_t (*dio_complete)(void *); + }; +}; + +struct fsync_iocb { + struct file *file; + struct work_struct work; + bool datasync; + struct cred *creds; +}; + +struct wait_queue_entry; + +typedef int (*wait_queue_func_t)(struct wait_queue_entry *, unsigned int, int, void *); + +struct wait_queue_entry { + unsigned int flags; + void *private; + wait_queue_func_t func; + struct list_head entry; +}; + +struct poll_iocb { + struct file *file; + struct wait_queue_head *head; + __poll_t events; + bool cancelled; + bool work_scheduled; + bool work_need_resched; + struct wait_queue_entry wait; + struct work_struct work; +}; + +typedef int kiocb_cancel_fn(struct kiocb *); + +struct io_event { + __u64 data; + __u64 obj; + __s64 res; + __s64 res2; +}; + +struct kioctx; + +struct eventfd_ctx; + +struct aio_kiocb { + union { + struct file *ki_filp; + struct kiocb rw; + struct fsync_iocb fsync; + struct poll_iocb poll; + }; + struct kioctx *ki_ctx; + kiocb_cancel_fn *ki_cancel; + struct io_event ki_res; + struct list_head ki_list; + refcount_t ki_refcnt; + struct eventfd_ctx *ki_eventfd; +}; + +struct poll_table_struct; + +typedef void (*poll_queue_proc)(struct file *, wait_queue_head_t *, struct poll_table_struct *); + +struct poll_table_struct { + poll_queue_proc _qproc; + __poll_t _key; +}; + +struct aio_poll_table { + struct poll_table_struct pt; + struct aio_kiocb *iocb; + bool queued; + int error; +}; + +struct aio_ring { + unsigned int id; + unsigned int nr; + unsigned int head; + unsigned int tail; + unsigned int magic; + unsigned int compat_features; + unsigned int incompat_features; + unsigned int header_length; + struct io_event io_events[0]; +}; + +struct aio_waiter { + struct wait_queue_entry w; + size_t min_nr; +}; + +struct akcipher_request; + +struct crypto_akcipher; + +struct akcipher_alg { + int (*encrypt)(struct akcipher_request *); + int (*decrypt)(struct akcipher_request *); + int (*set_pub_key)(struct crypto_akcipher *, const void *, unsigned int); + int (*set_priv_key)(struct crypto_akcipher *, const void *, unsigned int); + unsigned int (*max_size)(struct crypto_akcipher *); + int (*init)(struct crypto_akcipher *); + void (*exit)(struct crypto_akcipher *); + struct crypto_alg base; +}; + +struct akcipher_instance { + void (*free)(struct akcipher_instance *); + union { + struct { + char head[56]; + struct crypto_instance base; + } s; + struct akcipher_alg alg; + }; +}; + +struct akcipher_request { + struct crypto_async_request base; + struct scatterlist *src; + struct scatterlist *dst; + unsigned int src_len; + unsigned int dst_len; + void *__ctx[0]; +}; + +struct alarm { + struct timerqueue_node node; + struct hrtimer timer; + void (*function)(struct alarm *, ktime_t); + enum alarmtimer_type type; + int state; + void *data; +}; + +struct timerqueue_head { + struct rb_root_cached rb_root; +}; + +struct alarm_base { + spinlock_t lock; + struct timerqueue_head timerqueue; + ktime_t (*get_ktime)(void); + void (*get_timespec)(struct timespec64 *); + clockid_t base_clockid; +}; + +struct source_location { + const char *file_name; + union { + long unsigned int reported; + struct { + u32 line; + u32 column; + }; + }; +}; + +struct type_descriptor; + +struct alignment_assumption_data { + struct source_location location; + struct source_location assumption_location; + struct type_descriptor *type; +}; + +struct zonelist; + +struct zoneref; + +struct alloc_context { + struct zonelist *zonelist; + nodemask_t *nodemask; + struct zoneref *preferred_zoneref; + int migratetype; + enum zone_type highest_zoneidx; + bool spread_dirty_pages; +}; + +struct codetag { + unsigned int flags; + unsigned int lineno; + const char *modname; + const char *function; + const char *filename; +}; + +struct alloc_tag_counters; + +struct alloc_tag { + struct codetag ct; + struct alloc_tag_counters *counters; +}; + +struct alloc_tag_counters { + u64 bytes; + u64 calls; +}; + +struct alt_instr { + s32 instr_offset; + s32 repl_offset; + union { + struct { + u32 cpuid: 16; + u32 flags: 16; + }; + u32 ft_flags; + }; + u8 instrlen; + u8 replacementlen; +} __attribute__((packed)); + +struct amd_aperf_mperf { + u64 aperf; + u64 mperf; + u64 tsc; +}; + +struct amd_chipset_type { + enum amd_chipset_gen gen; + u8 rev; +}; + +struct amd_chipset_info { + struct pci_dev *nb_dev; + struct pci_dev *smbus_dev; + int nb_type; + struct amd_chipset_type sb_type; + int isoc_reqs; + int probe_count; + bool need_pll_quirk; +}; + +union perf_cached { + struct { + u8 highest_perf; + u8 nominal_perf; + u8 lowest_nonlinear_perf; + u8 lowest_perf; + u8 min_limit_perf; + u8 max_limit_perf; + u8 bios_min_perf; + }; + u64 val; +}; + +struct amd_cpudata { + int cpu; + struct freq_qos_request req[2]; + u64 cppc_req_cached; + union perf_cached perf; + u8 prefcore_ranking; + u32 min_limit_freq; + u32 max_limit_freq; + u32 nominal_freq; + u32 lowest_nonlinear_freq; + struct amd_aperf_mperf cur; + struct amd_aperf_mperf prev; + u64 freq; + bool boost_supported; + bool hw_prefcore; + u32 policy; + bool suspended; + u8 epp_default; +}; + +union amd_debug_extn_cfg { + __u64 val; + struct { + __u64 rsvd0: 2; + __u64 brsmen: 1; + __u64 rsvd4_3: 2; + __u64 vb: 1; + __u64 rsvd2: 10; + __u64 msroff: 4; + __u64 rsvd3: 4; + __u64 pmc: 3; + __u64 rsvd4: 37; + }; +}; + +struct amd_function { + const char *name; + const char * const groups[4]; + unsigned int ngroups; + int index; +}; + +struct irq_fwspec; + +struct irq_data; + +struct irq_domain_ops { + int (*match)(struct irq_domain *, struct device_node *, enum irq_domain_bus_token); + int (*select)(struct irq_domain *, struct irq_fwspec *, enum irq_domain_bus_token); + int (*map)(struct irq_domain *, unsigned int, irq_hw_number_t); + void (*unmap)(struct irq_domain *, unsigned int); + int (*xlate)(struct irq_domain *, struct device_node *, const u32 *, unsigned int, long unsigned int *, unsigned int *); + int (*alloc)(struct irq_domain *, unsigned int, unsigned int, void *); + void (*free)(struct irq_domain *, unsigned int, unsigned int); + int (*activate)(struct irq_domain *, struct irq_data *, bool); + void (*deactivate)(struct irq_domain *, struct irq_data *); + int (*translate)(struct irq_domain *, struct irq_fwspec *, long unsigned int *, unsigned int *); +}; + +typedef void (*irq_flow_handler_t)(struct irq_desc *); + +struct irq_chip; + +union gpio_irq_fwspec; + +struct gpio_irq_chip { + struct irq_chip *chip; + struct irq_domain *domain; + struct fwnode_handle *fwnode; + struct irq_domain *parent_domain; + int (*child_to_parent_hwirq)(struct gpio_chip *, unsigned int, unsigned int, unsigned int *, unsigned int *); + int (*populate_parent_alloc_arg)(struct gpio_chip *, union gpio_irq_fwspec *, unsigned int, unsigned int); + unsigned int (*child_offset_to_irq)(struct gpio_chip *, unsigned int); + struct irq_domain_ops child_irq_domain_ops; + irq_flow_handler_t handler; + unsigned int default_type; + struct lock_class_key *lock_key; + struct lock_class_key *request_key; + irq_flow_handler_t parent_handler; + union { + void *parent_handler_data; + void **parent_handler_data_array; + }; + unsigned int num_parents; + unsigned int *parents; + unsigned int *map; + bool threaded; + bool per_parent_data; + bool initialized; + bool domain_is_allocated_externally; + int (*init_hw)(struct gpio_chip *); + void (*init_valid_mask)(struct gpio_chip *, long unsigned int *, unsigned int); + long unsigned int *valid_mask; + unsigned int first; + void (*irq_enable)(struct irq_data *); + void (*irq_disable)(struct irq_data *); + void (*irq_unmask)(struct irq_data *); + void (*irq_mask)(struct irq_data *); +}; + +struct gpio_device; + +struct seq_file; + +struct gpio_chip { + const char *label; + struct gpio_device *gpiodev; + struct device *parent; + struct fwnode_handle *fwnode; + struct module *owner; + int (*request)(struct gpio_chip *, unsigned int); + void (*free)(struct gpio_chip *, unsigned int); + int (*get_direction)(struct gpio_chip *, unsigned int); + int (*direction_input)(struct gpio_chip *, unsigned int); + int (*direction_output)(struct gpio_chip *, unsigned int, int); + int (*get)(struct gpio_chip *, unsigned int); + int (*get_multiple)(struct gpio_chip *, long unsigned int *, long unsigned int *); + int (*set)(struct gpio_chip *, unsigned int, int); + int (*set_multiple)(struct gpio_chip *, long unsigned int *, long unsigned int *); + int (*set_config)(struct gpio_chip *, unsigned int, long unsigned int); + int (*to_irq)(struct gpio_chip *, unsigned int); + void (*dbg_show)(struct seq_file *, struct gpio_chip *); + int (*init_valid_mask)(struct gpio_chip *, long unsigned int *, unsigned int); + int (*add_pin_ranges)(struct gpio_chip *); + int (*en_hw_timestamp)(struct gpio_chip *, u32, long unsigned int); + int (*dis_hw_timestamp)(struct gpio_chip *, u32, long unsigned int); + int base; + u16 ngpio; + u16 offset; + const char * const *names; + bool can_sleep; + long unsigned int (*read_reg)(void *); + void (*write_reg)(void *, long unsigned int); + bool be_bits; + void *reg_dat; + void *reg_set; + void *reg_clr; + void *reg_dir_out; + void *reg_dir_in; + bool bgpio_dir_unreadable; + bool bgpio_pinctrl; + int bgpio_bits; + raw_spinlock_t bgpio_lock; + long unsigned int bgpio_data; + long unsigned int bgpio_dir; + struct gpio_irq_chip irq; +}; + +struct pingroup; + +struct pinctrl_dev; + +struct platform_device; + +struct amd_gpio { + raw_spinlock_t lock; + void *base; + void *iomux_base; + const struct pingroup *groups; + u32 ngroups; + struct pinctrl_dev *pctrl; + struct gpio_chip gc; + unsigned int hwbank_num; + struct resource *res; + struct platform_device *pdev; + u32 *saved_regs; + int irq; +}; + +struct amd_hfi_classes { + u32 perf; + u32 eff; +}; + +struct amd_hfi_cpuinfo { + int cpu; + u32 apic_id; + cpumask_var_t cpus; + s16 class_index; + u8 nr_class; + int *ipcc_scores; + struct amd_hfi_classes *amd_hfi_classes; +}; + +struct pcc_mbox_chan; + +struct amd_shmem_info; + +struct amd_hfi_data { + const char *name; + struct device *dev; + struct pcc_mbox_chan *pcc_chan; + void *pcc_comm_addr; + struct acpi_subtable_header *pcct_entry; + struct amd_shmem_info *shmem; + struct dentry *dbgfs_dir; +}; + +struct amd_hostbridge { + u32 bus; + u32 slot; + u32 device; +}; + +struct iommu_flush_ops; + +struct io_pgtable_cfg { + long unsigned int quirks; + long unsigned int pgsize_bitmap; + unsigned int ias; + unsigned int oas; + bool coherent_walk; + const struct iommu_flush_ops *tlb; + struct device *iommu_dev; + void * (*alloc)(void *, size_t, gfp_t); + void (*free)(void *, void *, size_t); + union { + struct { + u64 ttbr; + struct { + u32 ips: 3; + u32 tg: 2; + u32 sh: 2; + u32 orgn: 2; + u32 irgn: 2; + u32 tsz: 6; + } tcr; + u64 mair; + } arm_lpae_s1_cfg; + struct { + u64 vttbr; + struct { + u32 ps: 3; + u32 tg: 2; + u32 sh: 2; + u32 orgn: 2; + u32 irgn: 2; + u32 sl: 2; + u32 tsz: 6; + } vtcr; + } arm_lpae_s2_cfg; + struct { + u32 ttbr; + u32 tcr; + u32 nmrr; + u32 prrr; + } arm_v7s_cfg; + struct { + u64 transtab; + u64 memattr; + } arm_mali_lpae_cfg; + struct { + u64 ttbr[4]; + u32 n_ttbrs; + } apple_dart_cfg; + struct { + int nid; + } amd; + }; +}; + +struct iommu_iotlb_gather; + +struct iommu_dirty_bitmap; + +struct io_pgtable_ops { + int (*map_pages)(struct io_pgtable_ops *, long unsigned int, phys_addr_t, size_t, size_t, int, gfp_t, size_t *); + size_t (*unmap_pages)(struct io_pgtable_ops *, long unsigned int, size_t, size_t, struct iommu_iotlb_gather *); + phys_addr_t (*iova_to_phys)(struct io_pgtable_ops *, long unsigned int); + int (*pgtable_walk)(struct io_pgtable_ops *, long unsigned int, void *); + int (*read_and_clear_dirty)(struct io_pgtable_ops *, long unsigned int, size_t, long unsigned int, struct iommu_dirty_bitmap *); +}; + +struct io_pgtable { + enum io_pgtable_fmt fmt; + void *cookie; + struct io_pgtable_cfg cfg; + struct io_pgtable_ops ops; +}; + +struct amd_io_pgtable { + seqcount_t seqcount; + struct io_pgtable pgtbl; + int mode; + u64 *root; + u64 *pgd; +}; + +struct iommu_ops; + +struct iommu_device { + struct list_head list; + const struct iommu_ops *ops; + struct fwnode_handle *fwnode; + struct device *dev; + struct iommu_group *singleton_group; + u32 max_pasids; + bool ready; +}; + +struct amd_iommu_pci_seg; + +struct amd_irte_ops; + +struct iopf_queue; + +struct amd_iommu { + struct list_head list; + int index; + raw_spinlock_t lock; + struct pci_dev *dev; + struct pci_dev *root_pdev; + u64 mmio_phys; + u64 mmio_phys_end; + u8 *mmio_base; + u32 cap; + u8 acpi_flags; + u64 features; + u64 features2; + u16 devid; + u16 cap_ptr; + struct amd_iommu_pci_seg *pci_seg; + u64 exclusion_start; + u64 exclusion_length; + u8 *cmd_buf; + u32 cmd_buf_head; + u32 cmd_buf_tail; + u8 *evt_buf; + unsigned char evt_irq_name[16]; + u8 *ppr_log; + unsigned char ppr_irq_name[16]; + u8 *ga_log; + unsigned char ga_irq_name[16]; + u8 *ga_log_tail; + bool int_enabled; + bool need_sync; + bool irtcachedis_enabled; + struct iommu_device iommu; + u32 stored_addr_lo; + u32 stored_addr_hi; + u32 stored_l1[108]; + u32 stored_l2[131]; + u8 max_banks; + u8 max_counters; + struct irq_domain *ir_domain; + struct amd_irte_ops *irte_ops; + u32 flags; + volatile u64 *cmd_sem; + atomic64_t cmd_sem_val; + u64 cmd_sem_paddr; + struct iopf_queue *iopf_queue; + unsigned char iopfq_name[32]; +}; + +struct amd_iommu_event_desc { + struct device_attribute attr; + const char *event; +}; + +struct llist_head { + struct llist_node *first; +}; + +struct dev_table_entry; + +struct irq_remap_table; + +struct amd_iommu_pci_seg { + struct list_head list; + struct llist_head dev_data_list; + u16 id; + u16 last_bdf; + u32 dev_table_size; + struct dev_table_entry *dev_table; + struct amd_iommu **rlookup_table; + struct irq_remap_table **irq_lookup_table; + struct dev_table_entry *old_dev_tbl_cpy; + u16 *alias_table; + struct list_head unity_map; +}; + +struct amd_iommu_pi_data { + u64 vapic_addr; + u32 ga_tag; + u32 vector; + int cpu; + bool ga_log_intr; + bool is_guest_mode; + void *ir_data; +}; + +struct irq_2_irte { + u16 devid; + u16 index; +}; + +struct x86_msi_addr_lo { + union { + struct { + u32 reserved_0: 2; + u32 dest_mode_logical: 1; + u32 redirect_hint: 1; + u32 reserved_1: 1; + u32 virt_destid_8_14: 7; + u32 destid_0_7: 8; + u32 base_address: 12; + }; + struct { + u32 dmar_reserved_0: 2; + u32 dmar_index_15: 1; + u32 dmar_subhandle_valid: 1; + u32 dmar_format: 1; + u32 dmar_index_0_14: 15; + u32 dmar_base_address: 12; + }; + }; +}; + +typedef struct x86_msi_addr_lo arch_msi_msg_addr_lo_t; + +struct x86_msi_addr_hi { + u32 reserved: 8; + u32 destid_8_31: 24; +}; + +typedef struct x86_msi_addr_hi arch_msi_msg_addr_hi_t; + +struct x86_msi_data { + union { + struct { + u32 vector: 8; + u32 delivery_mode: 3; + u32 dest_mode_logical: 1; + u32 reserved: 2; + u32 active_low: 1; + u32 is_level: 1; + }; + u32 dmar_subhandle; + }; +}; + +typedef struct x86_msi_data arch_msi_msg_data_t; + +struct msi_msg { + union { + u32 address_lo; + arch_msi_msg_addr_lo_t arch_addr_lo; + }; + union { + u32 address_hi; + arch_msi_msg_addr_hi_t arch_addr_hi; + }; + union { + u32 data; + arch_msi_msg_data_t arch_data; + }; +}; + +struct irq_cfg; + +struct amd_ir_data { + struct amd_iommu *iommu; + struct irq_2_irte irq_2_irte; + struct msi_msg msi_entry; + void *entry; + struct irq_cfg *cfg; + int ga_vector; + u64 ga_root_ptr; + u32 ga_tag; +}; + +struct amd_irte_ops { + void (*prepare)(void *, u32, bool, u8, u32, int); + void (*activate)(struct amd_iommu *, void *, u16, u16); + void (*deactivate)(struct amd_iommu *, void *, u16, u16); + void (*set_affinity)(struct amd_iommu *, void *, u16, u16, u8, u32); + void * (*get)(struct irq_remap_table *, int); + void (*set_allocated)(struct irq_remap_table *, int); + bool (*is_allocated)(struct irq_remap_table *, int); + void (*clear_allocated)(struct irq_remap_table *, int); +}; + +struct amd_l3_cache { + unsigned int indices; + u8 subcaches[4]; +}; + +struct amd_lps0_hid_device_data { + const bool check_off_by_one; +}; + +struct event_constraint { + union { + long unsigned int idxmsk[1]; + u64 idxmsk64; + }; + u64 code; + u64 cmask; + int weight; + int overlap; + int flags; + unsigned int size; +}; + +struct perf_event; + +struct amd_nb { + int nb_id; + int refcnt; + struct perf_event *owners[64]; + struct event_constraint event_constraints[64]; +}; + +struct amd_nb_bus_dev_range { + u8 bus; + u8 dev_base; + u8 dev_limit; +}; + +struct amd_northbridge { + struct pci_dev *misc; + struct pci_dev *link; + struct amd_l3_cache l3_cache; +}; + +struct amd_northbridge_info { + u16 num; + u64 flags; + struct amd_northbridge *nb; +}; + +struct amd_shmem_info { + struct acpi_pcct_ext_pcc_shared_memory header; + u32 version_number: 8; + u32 n_logical_processors: 8; + u32 n_capabilities: 8; + u32 table_update_context: 8; + u32 n_bitmaps: 8; + u32 reserved: 24; + u32 table_data[0]; +}; + +struct freq_band_range { + u64 start; + u64 end; +}; + +struct amd_wbrf_ranges_out { + u32 num_of_ranges; + struct freq_band_range band_list[11]; +} __attribute__((packed)); + +struct aml_resource_small_header { + u8 descriptor_type; +}; + +struct aml_resource_large_header { + u8 descriptor_type; + u16 resource_length; +} __attribute__((packed)); + +struct aml_resource_irq { + u8 descriptor_type; + u16 irq_mask; + u8 flags; +} __attribute__((packed)); + +struct aml_resource_dma { + u8 descriptor_type; + u8 dma_channel_mask; + u8 flags; +}; + +struct aml_resource_start_dependent { + u8 descriptor_type; + u8 flags; +}; + +struct aml_resource_end_dependent { + u8 descriptor_type; +}; + +struct aml_resource_io { + u8 descriptor_type; + u8 flags; + u16 minimum; + u16 maximum; + u8 alignment; + u8 address_length; +}; + +struct aml_resource_fixed_io { + u8 descriptor_type; + u16 address; + u8 address_length; +} __attribute__((packed)); + +struct aml_resource_fixed_dma { + u8 descriptor_type; + u16 request_lines; + u16 channels; + u8 width; +} __attribute__((packed)); + +struct aml_resource_vendor_small { + u8 descriptor_type; +}; + +struct aml_resource_end_tag { + u8 descriptor_type; + u8 checksum; +}; + +struct aml_resource_memory24 { + u8 descriptor_type; + u16 resource_length; + u8 flags; + u16 minimum; + u16 maximum; + u16 alignment; + u16 address_length; +} __attribute__((packed)); + +struct aml_resource_generic_register { + u8 descriptor_type; + u16 resource_length; + u8 address_space_id; + u8 bit_width; + u8 bit_offset; + u8 access_size; + u64 address; +} __attribute__((packed)); + +struct aml_resource_vendor_large { + u8 descriptor_type; + u16 resource_length; +} __attribute__((packed)); + +struct aml_resource_memory32 { + u8 descriptor_type; + u16 resource_length; + u8 flags; + u32 minimum; + u32 maximum; + u32 alignment; + u32 address_length; +} __attribute__((packed)); + +struct aml_resource_fixed_memory32 { + u8 descriptor_type; + u16 resource_length; + u8 flags; + u32 address; + u32 address_length; +} __attribute__((packed)); + +struct aml_resource_address16 { + u8 descriptor_type; + u16 resource_length; + u8 resource_type; + u8 flags; + u8 specific_flags; + u16 granularity; + u16 minimum; + u16 maximum; + u16 translation_offset; + u16 address_length; +} __attribute__((packed)); + +struct aml_resource_address32 { + u8 descriptor_type; + u16 resource_length; + u8 resource_type; + u8 flags; + u8 specific_flags; + u32 granularity; + u32 minimum; + u32 maximum; + u32 translation_offset; + u32 address_length; +} __attribute__((packed)); + +struct aml_resource_address64 { + u8 descriptor_type; + u16 resource_length; + u8 resource_type; + u8 flags; + u8 specific_flags; + u64 granularity; + u64 minimum; + u64 maximum; + u64 translation_offset; + u64 address_length; +} __attribute__((packed)); + +struct aml_resource_extended_address64 { + u8 descriptor_type; + u16 resource_length; + u8 resource_type; + u8 flags; + u8 specific_flags; + u8 revision_ID; + u8 reserved; + u64 granularity; + u64 minimum; + u64 maximum; + u64 translation_offset; + u64 address_length; + u64 type_specific; +} __attribute__((packed)); + +struct aml_resource_extended_irq { + u8 descriptor_type; + u16 resource_length; + u8 flags; + u8 interrupt_count; + union { + u32 interrupt; + struct { + struct {} __Empty_interrupts; + u32 interrupts[0]; + }; + }; +} __attribute__((packed)); + +struct aml_resource_gpio { + u8 descriptor_type; + u16 resource_length; + u8 revision_id; + u8 connection_type; + u16 flags; + u16 int_flags; + u8 pin_config; + u16 drive_strength; + u16 debounce_timeout; + u16 pin_table_offset; + u8 res_source_index; + u16 res_source_offset; + u16 vendor_offset; + u16 vendor_length; +} __attribute__((packed)); + +struct aml_resource_i2c_serialbus { + u8 descriptor_type; + u16 resource_length; + u8 revision_id; + u8 res_source_index; + u8 type; + u8 flags; + u16 type_specific_flags; + u8 type_revision_id; + u16 type_data_length; + u32 connection_speed; + u16 slave_address; +} __attribute__((packed)); + +struct aml_resource_spi_serialbus { + u8 descriptor_type; + u16 resource_length; + u8 revision_id; + u8 res_source_index; + u8 type; + u8 flags; + u16 type_specific_flags; + u8 type_revision_id; + u16 type_data_length; + u32 connection_speed; + u8 data_bit_length; + u8 clock_phase; + u8 clock_polarity; + u16 device_selection; +} __attribute__((packed)); + +struct aml_resource_uart_serialbus { + u8 descriptor_type; + u16 resource_length; + u8 revision_id; + u8 res_source_index; + u8 type; + u8 flags; + u16 type_specific_flags; + u8 type_revision_id; + u16 type_data_length; + u32 default_baud_rate; + u16 rx_fifo_size; + u16 tx_fifo_size; + u8 parity; + u8 lines_enabled; +} __attribute__((packed)); + +struct aml_resource_csi2_serialbus { + u8 descriptor_type; + u16 resource_length; + u8 revision_id; + u8 res_source_index; + u8 type; + u8 flags; + u16 type_specific_flags; + u8 type_revision_id; + u16 type_data_length; +} __attribute__((packed)); + +struct aml_resource_common_serialbus { + u8 descriptor_type; + u16 resource_length; + u8 revision_id; + u8 res_source_index; + u8 type; + u8 flags; + u16 type_specific_flags; + u8 type_revision_id; + u16 type_data_length; +} __attribute__((packed)); + +struct aml_resource_pin_function { + u8 descriptor_type; + u16 resource_length; + u8 revision_id; + u16 flags; + u8 pin_config; + u16 function_number; + u16 pin_table_offset; + u8 res_source_index; + u16 res_source_offset; + u16 vendor_offset; + u16 vendor_length; +} __attribute__((packed)); + +struct aml_resource_pin_config { + u8 descriptor_type; + u16 resource_length; + u8 revision_id; + u16 flags; + u8 pin_config_type; + u32 pin_config_value; + u16 pin_table_offset; + u8 res_source_index; + u16 res_source_offset; + u16 vendor_offset; + u16 vendor_length; +} __attribute__((packed)); + +struct aml_resource_pin_group { + u8 descriptor_type; + u16 resource_length; + u8 revision_id; + u16 flags; + u16 pin_table_offset; + u16 label_offset; + u16 vendor_offset; + u16 vendor_length; +} __attribute__((packed)); + +struct aml_resource_pin_group_function { + u8 descriptor_type; + u16 resource_length; + u8 revision_id; + u16 flags; + u16 function_number; + u8 res_source_index; + u16 res_source_offset; + u16 res_source_label_offset; + u16 vendor_offset; + u16 vendor_length; +} __attribute__((packed)); + +struct aml_resource_pin_group_config { + u8 descriptor_type; + u16 resource_length; + u8 revision_id; + u16 flags; + u8 pin_config_type; + u32 pin_config_value; + u8 res_source_index; + u16 res_source_offset; + u16 res_source_label_offset; + u16 vendor_offset; + u16 vendor_length; +} __attribute__((packed)); + +struct aml_resource_clock_input { + u8 descriptor_type; + u16 resource_length; + u8 revision_id; + u16 flags; + u16 frequency_divisor; + u32 frequency_numerator; +} __attribute__((packed)); + +struct aml_resource_address { + u8 descriptor_type; + u16 resource_length; + u8 resource_type; + u8 flags; + u8 specific_flags; +} __attribute__((packed)); + +union aml_resource { + u8 descriptor_type; + struct aml_resource_small_header small_header; + struct aml_resource_large_header large_header; + struct aml_resource_irq irq; + struct aml_resource_dma dma; + struct aml_resource_start_dependent start_dpf; + struct aml_resource_end_dependent end_dpf; + struct aml_resource_io io; + struct aml_resource_fixed_io fixed_io; + struct aml_resource_fixed_dma fixed_dma; + struct aml_resource_vendor_small vendor_small; + struct aml_resource_end_tag end_tag; + struct aml_resource_memory24 memory24; + struct aml_resource_generic_register generic_reg; + struct aml_resource_vendor_large vendor_large; + struct aml_resource_memory32 memory32; + struct aml_resource_fixed_memory32 fixed_memory32; + struct aml_resource_address16 address16; + struct aml_resource_address32 address32; + struct aml_resource_address64 address64; + struct aml_resource_extended_address64 ext_address64; + struct aml_resource_extended_irq extended_irq; + struct aml_resource_gpio gpio; + struct aml_resource_i2c_serialbus i2c_serial_bus; + struct aml_resource_spi_serialbus spi_serial_bus; + struct aml_resource_uart_serialbus uart_serial_bus; + struct aml_resource_csi2_serialbus csi2_serial_bus; + struct aml_resource_common_serialbus common_serial_bus; + struct aml_resource_pin_function pin_function; + struct aml_resource_pin_config pin_config; + struct aml_resource_pin_group pin_group; + struct aml_resource_pin_group_function pin_group_function; + struct aml_resource_pin_group_config pin_group_config; + struct aml_resource_clock_input clock_input; + struct aml_resource_address address; + u32 dword_item; + u16 word_item; + u8 byte_item; +}; + +struct analog_param_field { + unsigned int even; + unsigned int odd; +}; + +struct analog_param_range { + unsigned int min; + unsigned int typ; + unsigned int max; +}; + +struct analog_parameters { + unsigned int num_lines; + unsigned int line_duration_ns; + struct analog_param_range hact_ns; + struct analog_param_range hfp_ns; + struct analog_param_range hslen_ns; + struct analog_param_range hbp_ns; + struct analog_param_range hblk_ns; + unsigned int bt601_hfp; + struct analog_param_field vfp_lines; + struct analog_param_field vslen_lines; + struct analog_param_field vbp_lines; +}; + +struct kobj_uevent_env; + +struct kobj_ns_type_operations; + +struct class { + const char *name; + const struct attribute_group **class_groups; + const struct attribute_group **dev_groups; + int (*dev_uevent)(const struct device *, struct kobj_uevent_env *); + char * (*devnode)(const struct device *, umode_t *); + void (*class_release)(const struct class *); + void (*dev_release)(struct device *); + int (*shutdown_pre)(struct device *); + const struct kobj_ns_type_operations *ns_type; + const void * (*namespace)(const struct device *); + void (*get_ownership)(const struct device *, kuid_t *, kgid_t *); + const struct dev_pm_ops *pm; +}; + +struct transport_container; + +struct transport_class { + struct class class; + int (*setup)(struct transport_container *, struct device *, struct device *); + int (*configure)(struct transport_container *, struct device *, struct device *); + int (*remove)(struct transport_container *, struct device *, struct device *); +}; + +struct klist_node; + +struct klist { + spinlock_t k_lock; + struct list_head k_list; + void (*get)(struct klist_node *); + void (*put)(struct klist_node *); +}; + +struct attribute_container { + struct list_head node; + struct klist containers; + struct class *class; + const struct attribute_group *grp; + struct device_attribute **attrs; + int (*match)(struct attribute_container *, struct device *); + long unsigned int flags; +}; + +struct anon_transport_class { + struct transport_class tclass; + struct attribute_container container; +}; + +struct anon_vma { + struct anon_vma *root; + struct rw_semaphore rwsem; + atomic_t refcount; + long unsigned int num_children; + long unsigned int num_active_vmas; + struct anon_vma *parent; + struct rb_root_cached rb_root; +}; + +struct anon_vma_chain { + struct vm_area_struct *vma; + struct anon_vma *anon_vma; + struct list_head same_vma; + struct rb_node rb; + long unsigned int rb_subtree_last; +}; + +struct anon_vma_name { + struct kref kref; + char name[0]; +}; + +struct apd_private_data; + +struct apd_device_desc { + unsigned int fixed_clk_rate; + struct property_entry *properties; + int (*setup)(struct apd_private_data *); +}; + +struct clk; + +struct apd_private_data { + struct clk *clk; + struct acpi_device *adev; + const struct apd_device_desc *dev_desc; +}; + +struct apei_exec_ins_type; + +struct apei_exec_context { + u32 ip; + u64 value; + u64 var1; + u64 var2; + u64 src_base; + u64 dst_base; + struct apei_exec_ins_type *ins_table; + u32 instructions; + struct acpi_whea_header *action_table; + u32 entries; +}; + +typedef int (*apei_exec_ins_func_t)(struct apei_exec_context *, struct acpi_whea_header *); + +struct apei_exec_ins_type { + u32 flags; + apei_exec_ins_func_t run; +}; + +struct apei_res { + struct list_head list; + long unsigned int start; + long unsigned int end; +}; + +struct apei_resources { + struct list_head iomem; + struct list_head ioport; +}; + +struct aper_size_info_16 { + int size; + int num_entries; + int page_order; + u16 size_value; +}; + +struct aper_size_info_32 { + int size; + int num_entries; + int page_order; + u32 size_value; +}; + +struct aper_size_info_8 { + int size; + int num_entries; + int page_order; + u8 size_value; +}; + +struct aper_size_info_fixed { + int size; + int num_entries; + int page_order; +}; + +struct aper_size_info_lvl2 { + int size; + int num_entries; + u32 size_value; +}; + +struct aperfmperf { + seqcount_t seq; + long unsigned int last_update; + u64 acnt; + u64 mcnt; + u64 aperf; + u64 mperf; +}; + +struct aperture_range { + struct device *dev; + resource_size_t base; + resource_size_t size; + struct list_head lh; + void (*detach)(struct device *); +}; + +struct api_context { + struct completion done; + int status; +}; + +struct apic { + void (*eoi)(void); + void (*native_eoi)(void); + void (*write)(u32, u32); + u32 (*read)(u32); + void (*wait_icr_idle)(void); + u32 (*safe_wait_icr_idle)(void); + void (*send_IPI)(int, int); + void (*send_IPI_mask)(const struct cpumask *, int); + void (*send_IPI_mask_allbutself)(const struct cpumask *, int); + void (*send_IPI_allbutself)(int); + void (*send_IPI_all)(int); + void (*send_IPI_self)(int); + u32 disable_esr: 1; + u32 dest_mode_logical: 1; + u32 x2apic_set_max_apicid: 1; + u32 nmi_to_offline_cpu: 1; + u32 (*calc_dest_apicid)(unsigned int); + u64 (*icr_read)(void); + void (*icr_write)(u32, u32); + u32 max_apic_id; + int (*probe)(void); + int (*acpi_madt_oem_check)(char *, char *); + void (*init_apic_ldr)(void); + u32 (*cpu_present_to_apicid)(int); + u32 (*get_apic_id)(u32); + int (*wakeup_secondary_cpu)(u32, long unsigned int, unsigned int); + int (*wakeup_secondary_cpu_64)(u32, long unsigned int, unsigned int); + char *name; +}; + +struct irq_cfg { + unsigned int dest_apicid; + unsigned int vector; +}; + +struct apic_chip_data { + struct irq_cfg hw_irq_cfg; + unsigned int vector; + unsigned int prev_vector; + unsigned int cpu; + unsigned int prev_cpu; + unsigned int irq; + struct hlist_node clist; + unsigned int move_in_progress: 1; + unsigned int is_managed: 1; + unsigned int can_reserve: 1; + unsigned int has_reserved: 1; +}; + +union apic_ir { + long unsigned int map[4]; + u32 regs[8]; +}; + +struct apic_override { + void (*eoi)(void); + void (*native_eoi)(void); + void (*write)(u32, u32); + u32 (*read)(u32); + void (*send_IPI)(int, int); + void (*send_IPI_mask)(const struct cpumask *, int); + void (*send_IPI_mask_allbutself)(const struct cpumask *, int); + void (*send_IPI_allbutself)(int); + void (*send_IPI_all)(int); + void (*send_IPI_self)(int); + u64 (*icr_read)(void); + void (*icr_write)(u32, u32); + int (*wakeup_secondary_cpu)(u32, long unsigned int, unsigned int); + int (*wakeup_secondary_cpu_64)(u32, long unsigned int, unsigned int); +}; + +struct apm_bios_info { + __u16 version; + __u16 cseg; + __u32 offset; + __u16 cseg_16; + __u16 dseg; + __u16 flags; + __u16 cseg_len; + __u16 cseg_16_len; + __u16 dseg_len; +}; + +struct apparmor_notif_common { + __u16 len; + __u16 version; +}; + +struct apparmor_notif { + struct apparmor_notif_common base; + __u16 ntype; + __u8 signalled; + __u8 flags; + __u64 id; + __s32 error; +} __attribute__((packed)); + +struct apparmor_notif_op { + struct apparmor_notif base; + __u32 allow; + __u32 deny; + pid_t pid; + __u32 label; + __u16 class; + __u16 op; +}; + +struct apparmor_notif_file { + struct apparmor_notif_op base; + uid_t subj_uid; + uid_t obj_uid; + __u32 name; + __u8 data[0]; +}; + +struct apparmor_notif_file_v5 { + struct apparmor_notif_op base; + uid_t subj_uid; + uid_t obj_uid; + __u32 name; + __u32 tags; + __u16 tags_count; + __u8 data[0]; +} __attribute__((packed)); + +struct apparmor_notif_filter { + struct apparmor_notif_common base; + __u32 modeset; + __u32 ns; + __u32 filter; + __u8 data[0]; +}; + +union apparmor_notif_filters { + struct { + struct apparmor_notif_common base; + __u32 modeset; + __u32 ns; + __u32 filter; + __u8 data[0]; + }; + struct apparmor_notif_filter v3; + struct apparmor_notif_filter v5; +}; + +union apparmor_notif_recv { + struct { + struct apparmor_notif_op base; + uid_t subj_uid; + uid_t obj_uid; + __u32 name; + __u8 data[0]; + }; + struct { + struct apparmor_notif_file file; + } v3; + struct { + struct apparmor_notif_file_v5 file; + } v5; +}; + +struct apparmor_notif_resp_perm { + struct apparmor_notif base; + __s32 error; + __u32 allow; + __u32 deny; +}; + +struct apparmor_notif_resp_name { + union { + struct apparmor_notif base; + struct apparmor_notif_resp_perm perm; + }; + __u32 name; + __u8 data[0]; +}; + +union apparmor_notif_resp { + struct apparmor_notif base; + struct apparmor_notif_resp_perm perm; + struct apparmor_notif_resp_name name; + union { + struct apparmor_notif_resp_perm perm; + struct apparmor_notif_resp_name name; + } v3; + union { + struct apparmor_notif_resp_perm perm; + struct apparmor_notif_resp_name name; + } v5; +}; + +struct apparmor_notif_register_v5 { + struct apparmor_notif_common base; + __u64 listener_id; +} __attribute__((packed)); + +struct apparmor_notif_resend_v5 { + struct apparmor_notif_common base; + __u64 listener_id; + __u32 ready; + __u32 pending; +} __attribute__((packed)); + +union apparmor_notif_register { + struct { + struct apparmor_notif_register_v5 registration; + struct apparmor_notif_resend_v5 resend; + } v5; +}; + +union apparmor_notif_all { + struct apparmor_notif_common common; + struct apparmor_notif base; + struct apparmor_notif_op op; + struct apparmor_notif_file filev3; + struct apparmor_notif_file_v5 file; + union apparmor_notif_filters filter; + union apparmor_notif_recv recv; + union apparmor_notif_resp respnse; + union apparmor_notif_register registration; +}; + +struct apparmor_tags_header_v5 { + __u32 mask; + __u32 count; + __u32 tagset; +}; + +struct workqueue_attrs; + +struct pool_workqueue; + +struct apply_wqattrs_ctx { + struct workqueue_struct *wq; + struct workqueue_attrs *attrs; + struct list_head list; + struct pool_workqueue *dfl_pwq; + struct pool_workqueue *pwq_tbl[0]; +}; + +struct arch_elf_state {}; + +struct arch_hw_breakpoint { + long unsigned int address; + long unsigned int mask; + u8 len; + u8 type; +}; + +struct arch_hybrid_cpu_scale { + long unsigned int capacity; + long unsigned int freq_ratio; +}; + +struct drm_privacy_screen_lookup { + struct list_head list; + const char *dev_id; + const char *con_id; + const char *provider; +}; + +struct arch_init_data { + struct drm_privacy_screen_lookup lookup; + bool (*detect)(void); +}; + +struct arch_io_reserve_memtype_wc_devres { + resource_size_t start; + resource_size_t size; +}; + +struct lbr_entry { + u64 from; + u64 to; + u64 info; +}; + +struct arch_lbr_state { + u64 lbr_ctl; + u64 lbr_depth; + u64 ler_from; + u64 ler_to; + u64 ler_info; + struct lbr_entry entries[0]; +}; + +struct arch_mbm_state { + u64 chunks; + u64 prev_msr; +}; + +struct arch_optimized_insn { + kprobe_opcode_t copied_insn[4]; + kprobe_opcode_t *insn; + size_t size; +}; + +struct arch_shared_info { + long unsigned int max_pfn; + xen_pfn_t pfn_to_mfn_frame_list_list; + long unsigned int nmi_reason; + long unsigned int p2m_cr3; + long unsigned int p2m_vaddr; + long unsigned int p2m_generation; +}; + +struct kprobe; + +struct arch_specific_insn { + kprobe_opcode_t *insn; + unsigned int boostable: 1; + unsigned char size; + union { + unsigned char opcode; + struct { + unsigned char type; + } jcc; + struct { + unsigned char type; + unsigned char asize; + } loop; + struct { + unsigned char reg; + } indirect; + }; + s32 rel32; + void (*emulate_op)(struct kprobe *, struct pt_regs *); + int tp_len; +}; + +struct cpumask { + long unsigned int bits[128]; +}; + +struct arch_tlbflush_unmap_batch { + struct cpumask cpumask; + bool unmapped_pages; +}; + +struct uprobe_xol_ops; + +struct arch_uprobe { + union { + u8 insn[16]; + u8 ixol[16]; + }; + const struct uprobe_xol_ops *ops; + union { + struct { + s32 offs; + u8 ilen; + u8 opc1; + } branch; + struct { + u8 fixups; + u8 ilen; + } defparam; + struct { + u8 reg_offset; + u8 ilen; + } push; + }; +}; + +struct arch_uprobe_task { + long unsigned int saved_scratch_register; + unsigned int saved_trap_nr; + unsigned int saved_tf; +}; + +struct arch_vcpu_info { + long unsigned int cr2; + long unsigned int pad; +}; + +struct arch_vdso_time_data {}; + +struct arg_dev_net_ip { + struct net *net; + struct in6_addr *addr; +}; + +struct arg_netdev_event { + const struct net_device *dev; + union { + unsigned char nh_flags; + long unsigned int event; + }; +}; + +struct arphdr { + __be16 ar_hrd; + __be16 ar_pro; + unsigned char ar_hln; + unsigned char ar_pln; + __be16 ar_op; +}; + +struct sockaddr { + sa_family_t sa_family; + union { + char sa_data_min[14]; + struct { + struct {} __empty_sa_data; + char sa_data[0]; + }; + }; +}; + +struct arpreq { + struct sockaddr arp_pa; + struct sockaddr arp_ha; + int arp_flags; + struct sockaddr arp_netmask; + char arp_dev[16]; +}; + +struct trace_array; + +struct trace_array_cpu; + +struct array_buffer { + struct trace_array *tr; + struct trace_buffer *buffer; + struct trace_array_cpu *data; + u64 time_start; + int cpu; +}; + +struct regmap; + +struct as3711 { + struct device *dev; + struct regmap *regmap; +}; + +struct as3711_bl_pdata { + bool su1_fb; + int su1_max_uA; + bool su2_fb; + int su2_max_uA; + enum as3711_su2_feedback su2_feedback; + enum as3711_su2_fbprot su2_fbprot; + bool su2_auto_curr1; + bool su2_auto_curr2; + bool su2_auto_curr3; +}; + +struct regulator_init_data; + +struct as3711_regulator_pdata { + struct regulator_init_data *init_data[12]; +}; + +struct as3711_platform_data { + struct as3711_regulator_pdata regulator; + struct as3711_bl_pdata backlight; +}; + +typedef int (*asn1_action_t)(void *, size_t, unsigned char, const void *, size_t); + +struct asn1_decoder { + const unsigned char *machine; + size_t machlen; + const asn1_action_t *actions; +}; + +struct assoc_array_ptr; + +struct assoc_array { + struct assoc_array_ptr *root; + long unsigned int nr_leaves_on_tree; +}; + +struct assoc_array_node; + +struct assoc_array_delete_collapse_context { + struct assoc_array_node *node; + const void *skip_leaf; + int slot; +}; + +struct assoc_array_ops; + +struct assoc_array_edit { + struct callback_head rcu; + struct assoc_array *array; + const struct assoc_array_ops *ops; + const struct assoc_array_ops *ops_for_excised_subtree; + struct assoc_array_ptr *leaf; + struct assoc_array_ptr **leaf_p; + struct assoc_array_ptr *dead_leaf; + struct assoc_array_ptr *new_meta[3]; + struct assoc_array_ptr *excised_meta[1]; + struct assoc_array_ptr *excised_subtree; + struct assoc_array_ptr **set_backpointers[16]; + struct assoc_array_ptr *set_backpointers_to; + struct assoc_array_node *adjust_count_on; + long int adjust_count_by; + struct { + struct assoc_array_ptr **ptr; + struct assoc_array_ptr *to; + } set[2]; + struct { + u8 *p; + u8 to; + } set_parent_slot[1]; + u8 segment_cache[17]; +}; + +struct assoc_array_node { + struct assoc_array_ptr *back_pointer; + u8 parent_slot; + struct assoc_array_ptr *slots[16]; + long unsigned int nr_leaves_on_branch; +}; + +struct assoc_array_ops { + long unsigned int (*get_key_chunk)(const void *, int); + long unsigned int (*get_object_key_chunk)(const void *, int); + bool (*compare_object)(const void *, const void *); + int (*diff_objects)(const void *, const void *); + void (*free_object)(void *); +}; + +struct assoc_array_shortcut { + struct assoc_array_ptr *back_pointer; + int parent_slot; + int skip_to_level; + struct assoc_array_ptr *next_node; + long unsigned int index_key[0]; +}; + +struct assoc_array_walk_result { + struct { + struct assoc_array_node *node; + int level; + int slot; + } terminal_node; + struct { + struct assoc_array_shortcut *shortcut; + int level; + int sc_level; + long unsigned int sc_segments; + long unsigned int dissimilarity; + } wrong_shortcut; +}; + +struct asym_cap_data { + struct list_head link; + struct callback_head rcu; + long unsigned int capacity; + long unsigned int cpus[0]; +}; + +struct asymmetric_key_id { + short unsigned int len; + unsigned char data[0]; +}; + +struct asymmetric_key_ids { + void *id[3]; +}; + +struct key_preparsed_payload; + +struct asymmetric_key_parser { + struct list_head link; + struct module *owner; + const char *name; + int (*parse)(struct key_preparsed_payload *); +}; + +struct key; + +struct kernel_pkey_params; + +struct kernel_pkey_query; + +struct public_key_signature; + +struct asymmetric_key_subtype { + struct module *owner; + const char *name; + short unsigned int name_len; + void (*describe)(const struct key *, struct seq_file *); + void (*destroy)(void *, void *); + int (*query)(const struct kernel_pkey_params *, struct kernel_pkey_query *); + int (*eds_op)(struct kernel_pkey_params *, const void *, void *); + int (*verify_signature)(const struct key *, const struct public_key_signature *); +}; + +struct usb_dev_state; + +struct pid; + +struct urb; + +struct usb_memory; + +struct async { + struct list_head asynclist; + struct usb_dev_state *ps; + struct pid *pid; + const struct cred *cred; + unsigned int signr; + unsigned int ifnum; + void *userbuffer; + void *userurb; + sigval_t userurb_sigval; + struct urb *urb; + struct usb_memory *usbm; + unsigned int mem_usage; + int status; + u8 bulk_addr; + u8 bulk_status; +}; + +struct async_domain { + struct list_head pending; + unsigned int registered: 1; +}; + +typedef void (*async_func_t)(void *, async_cookie_t); + +struct async_entry { + struct list_head domain_list; + struct list_head global_list; + struct work_struct work; + async_cookie_t cookie; + async_func_t func; + void *data; + struct async_domain *domain; +}; + +struct io_poll { + struct file *file; + struct wait_queue_head *head; + __poll_t events; + int retries; + struct wait_queue_entry wait; +}; + +struct async_poll { + struct io_poll poll; + struct io_poll *double_poll; +}; + +struct async_scan_data { + struct list_head list; + struct Scsi_Host *shost; + struct completion prev_finished; +}; + +struct ata_acpi_drive { + u32 pio; + u32 dma; +}; + +struct ata_acpi_gtf { + u8 tf[7]; +}; + +struct ata_acpi_gtm { + struct ata_acpi_drive drive[2]; + u32 flags; +}; + +struct ata_port; + +struct ata_device; + +struct ata_acpi_hotplug_context { + struct acpi_hotplug_context hp; + union { + struct ata_port *ap; + struct ata_device *dev; + } data; +}; + +struct ata_bmdma_prd { + __le32 addr; + __le32 flags_len; +}; + +struct ata_cdl { + u8 desc_log_buf[512]; + u8 ncq_sense_log_buf[1024]; +}; + +struct ata_cpr { + u8 num; + u8 num_storage_elements; + u64 start_lba; + u64 num_lbas; +}; + +struct ata_cpr_log { + u8 nr_cpr; + struct ata_cpr cpr[0]; +}; + +struct ata_dev_quirks_entry { + const char *model_num; + const char *model_rev; + unsigned int quirks; +}; + +struct ata_ering_entry { + unsigned int eflags; + unsigned int err_mask; + u64 timestamp; +}; + +struct ata_ering { + int cursor; + struct ata_ering_entry ring[32]; +}; + +struct ata_link; + +struct scsi_device; + +struct ata_device { + struct ata_link *link; + unsigned int devno; + unsigned int quirks; + long unsigned int flags; + struct scsi_device *sdev; + void *private_data; + union acpi_object *gtf_cache; + unsigned int gtf_filter; + void *zpodd; + struct device tdev; + u64 n_sectors; + u64 n_native_sectors; + unsigned int class; + long unsigned int unpark_deadline; + u8 pio_mode; + u8 dma_mode; + u8 xfer_mode; + unsigned int xfer_shift; + unsigned int multi_count; + unsigned int max_sectors; + unsigned int cdb_len; + unsigned int pio_mask; + unsigned int mwdma_mask; + unsigned int udma_mask; + u16 cylinders; + u16 heads; + u16 sectors; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + union { + u16 id[256]; + u32 gscr[128]; + }; + u8 gp_log_dir[512]; + u8 devslp_timing[8]; + u8 ncq_send_recv_cmds[20]; + u8 ncq_non_data_cmds[64]; + u32 zac_zoned_cap; + u32 zac_zones_optimal_open; + u32 zac_zones_optimal_nonseq; + u32 zac_zones_max_open; + struct ata_cpr_log *cpr_log; + struct ata_cdl *cdl; + int spdn_cnt; + struct ata_ering ering; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + u8 sector_buf[512]; +}; + +struct ata_eh_cmd_timeout_ent { + const u8 *commands; + const unsigned int *timeouts; +}; + +struct ata_eh_info { + struct ata_device *dev; + u32 serror; + unsigned int err_mask; + unsigned int action; + unsigned int dev_action[2]; + unsigned int flags; + unsigned int probe_mask; + char desc[80]; + int desc_len; +}; + +struct ata_eh_context { + struct ata_eh_info i; + int tries[2]; + int cmd_timeout_idx[16]; + unsigned int classes[2]; + unsigned int did_probe_mask; + unsigned int unloaded_mask; + unsigned int saved_ncq_enabled; + u8 saved_xfer_mode[2]; + long unsigned int last_reset; +}; + +struct ata_force_param { + const char *name; + u8 cbl; + u8 spd_limit; + unsigned int xfer_mask; + unsigned int quirk_on; + unsigned int quirk_off; + unsigned int pflags_on; + u16 lflags_on; + u16 lflags_off; +}; + +struct ata_force_ent { + int port; + int device; + struct ata_force_param param; +}; + +struct ata_port_operations; + +struct ata_host { + spinlock_t lock; + struct device *dev; + void * const *iomap; + unsigned int n_ports; + unsigned int n_tags; + void *private_data; + struct ata_port_operations *ops; + long unsigned int flags; + struct kref kref; + struct mutex eh_mutex; + struct task_struct *eh_owner; + struct ata_port *simplex_claimed; + struct ata_port *ports[0]; +}; + +struct transport_container { + struct attribute_container ac; + const struct attribute_group *statistics; +}; + +struct scsi_transport_template { + struct transport_container host_attrs; + struct transport_container target_attrs; + struct transport_container device_attrs; + int (*user_scan)(struct Scsi_Host *, uint, uint, u64); + int device_size; + int device_private_offset; + int target_size; + int target_private_offset; + int host_size; + unsigned int create_work_queue: 1; + void (*eh_strategy_handler)(struct Scsi_Host *); +}; + +struct ata_internal { + struct scsi_transport_template t; + struct device_attribute private_port_attrs[3]; + struct device_attribute private_link_attrs[3]; + struct device_attribute private_dev_attrs[9]; + struct transport_container link_attr_cont; + struct transport_container dev_attr_cont; + struct device_attribute *link_attrs[4]; + struct device_attribute *port_attrs[4]; + struct device_attribute *dev_attrs[10]; +}; + +struct ata_ioports { + void *cmd_addr; + void *data_addr; + void *error_addr; + void *feature_addr; + void *nsect_addr; + void *lbal_addr; + void *lbam_addr; + void *lbah_addr; + void *device_addr; + void *status_addr; + void *command_addr; + void *altstatus_addr; + void *ctl_addr; + void *bmdma_addr; + void *scr_addr; +}; + +struct ata_link { + struct ata_port *ap; + int pmp; + struct device tdev; + unsigned int active_tag; + u32 sactive; + unsigned int flags; + u32 saved_scontrol; + unsigned int hw_sata_spd_limit; + unsigned int sata_spd_limit; + unsigned int sata_spd; + enum ata_lpm_policy lpm_policy; + struct ata_eh_info eh_info; + struct ata_eh_context eh_context; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + struct ata_device device[2]; + long unsigned int last_lpm_change; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct ata_taskfile { + long unsigned int flags; + u8 protocol; + u8 ctl; + u8 hob_feature; + u8 hob_nsect; + u8 hob_lbal; + u8 hob_lbam; + u8 hob_lbah; + union { + u8 error; + u8 feature; + }; + u8 nsect; + u8 lbal; + u8 lbam; + u8 lbah; + u8 device; + union { + u8 status; + u8 command; + }; + u32 auxiliary; +}; + +struct ata_queued_cmd; + +typedef void (*ata_qc_cb_t)(struct ata_queued_cmd *); + +struct scsi_cmnd; + +struct ata_queued_cmd { + struct ata_port *ap; + struct ata_device *dev; + struct scsi_cmnd *scsicmd; + void (*scsidone)(struct scsi_cmnd *); + struct ata_taskfile tf; + u8 cdb[16]; + long unsigned int flags; + unsigned int tag; + unsigned int hw_tag; + unsigned int n_elem; + unsigned int orig_n_elem; + int dma_dir; + unsigned int sect_size; + unsigned int nbytes; + unsigned int extrabytes; + unsigned int curbytes; + struct scatterlist sgent; + struct scatterlist *sg; + struct scatterlist *cursg; + unsigned int cursg_ofs; + unsigned int err_mask; + struct ata_taskfile result_tf; + ata_qc_cb_t complete_fn; + void *private_data; + void *lldd_task; +}; + +struct ata_port_stats { + long unsigned int unhandled_irq; + long unsigned int idle_irq; + long unsigned int rw_reqbuf; +}; + +struct ata_port { + struct Scsi_Host *scsi_host; + struct ata_port_operations *ops; + spinlock_t *lock; + long unsigned int flags; + unsigned int pflags; + unsigned int print_id; + unsigned int port_no; + struct ata_ioports ioaddr; + u8 ctl; + u8 last_ctl; + struct ata_link *sff_pio_task_link; + struct delayed_work sff_pio_task; + struct ata_bmdma_prd *bmdma_prd; + dma_addr_t bmdma_prd_dma; + unsigned int pio_mask; + unsigned int mwdma_mask; + unsigned int udma_mask; + unsigned int cbl; + struct ata_queued_cmd qcmd[33]; + u64 qc_active; + int nr_active_links; + long: 64; + long: 64; + struct ata_link link; + struct ata_link *slave_link; + int nr_pmp_links; + struct ata_link *pmp_link; + struct ata_link *excl_link; + struct ata_port_stats stats; + struct ata_host *host; + struct device *dev; + struct device tdev; + struct mutex scsi_scan_mutex; + struct delayed_work hotplug_task; + struct delayed_work scsi_rescan_task; + unsigned int hsm_task_state; + struct list_head eh_done_q; + wait_queue_head_t eh_wait_q; + int eh_tries; + struct completion park_req_pending; + pm_message_t pm_mesg; + enum ata_lpm_policy target_lpm_policy; + struct timer_list fastdrain_timer; + unsigned int fastdrain_cnt; + async_cookie_t cookie; + int em_message_type; + void *private_data; + struct ata_acpi_gtm __acpi_init_gtm; + long: 64; + long: 64; + long: 64; +}; + +struct ata_port_info { + long unsigned int flags; + long unsigned int link_flags; + unsigned int pio_mask; + unsigned int mwdma_mask; + unsigned int udma_mask; + struct ata_port_operations *port_ops; + void *private_data; +}; + +typedef int (*ata_prereset_fn_t)(struct ata_link *, long unsigned int); + +typedef int (*ata_reset_fn_t)(struct ata_link *, unsigned int *, long unsigned int); + +typedef void (*ata_postreset_fn_t)(struct ata_link *, unsigned int *); + +struct ata_reset_operations { + ata_prereset_fn_t prereset; + ata_reset_fn_t softreset; + ata_reset_fn_t hardreset; + ata_postreset_fn_t postreset; +}; + +struct ata_port_operations { + int (*qc_defer)(struct ata_queued_cmd *); + int (*check_atapi_dma)(struct ata_queued_cmd *); + enum ata_completion_errors (*qc_prep)(struct ata_queued_cmd *); + unsigned int (*qc_issue)(struct ata_queued_cmd *); + void (*qc_fill_rtf)(struct ata_queued_cmd *); + void (*qc_ncq_fill_rtf)(struct ata_port *, u64); + int (*cable_detect)(struct ata_port *); + unsigned int (*mode_filter)(struct ata_device *, unsigned int); + void (*set_piomode)(struct ata_port *, struct ata_device *); + void (*set_dmamode)(struct ata_port *, struct ata_device *); + int (*set_mode)(struct ata_link *, struct ata_device **); + unsigned int (*read_id)(struct ata_device *, struct ata_taskfile *, __le16 *); + void (*dev_config)(struct ata_device *); + void (*freeze)(struct ata_port *); + void (*thaw)(struct ata_port *); + struct ata_reset_operations reset; + struct ata_reset_operations pmp_reset; + void (*error_handler)(struct ata_port *); + void (*lost_interrupt)(struct ata_port *); + void (*post_internal_cmd)(struct ata_queued_cmd *); + void (*sched_eh)(struct ata_port *); + void (*end_eh)(struct ata_port *); + int (*scr_read)(struct ata_link *, unsigned int, u32 *); + int (*scr_write)(struct ata_link *, unsigned int, u32); + void (*pmp_attach)(struct ata_port *); + void (*pmp_detach)(struct ata_port *); + int (*set_lpm)(struct ata_link *, enum ata_lpm_policy, unsigned int); + int (*port_suspend)(struct ata_port *, pm_message_t); + int (*port_resume)(struct ata_port *); + int (*port_start)(struct ata_port *); + void (*port_stop)(struct ata_port *); + void (*host_stop)(struct ata_host *); + void (*sff_dev_select)(struct ata_port *, unsigned int); + void (*sff_set_devctl)(struct ata_port *, u8); + u8 (*sff_check_status)(struct ata_port *); + u8 (*sff_check_altstatus)(struct ata_port *); + void (*sff_tf_load)(struct ata_port *, const struct ata_taskfile *); + void (*sff_tf_read)(struct ata_port *, struct ata_taskfile *); + void (*sff_exec_command)(struct ata_port *, const struct ata_taskfile *); + unsigned int (*sff_data_xfer)(struct ata_queued_cmd *, unsigned char *, unsigned int, int); + void (*sff_irq_on)(struct ata_port *); + bool (*sff_irq_check)(struct ata_port *); + void (*sff_irq_clear)(struct ata_port *); + void (*sff_drain_fifo)(struct ata_queued_cmd *); + void (*bmdma_setup)(struct ata_queued_cmd *); + void (*bmdma_start)(struct ata_queued_cmd *); + void (*bmdma_stop)(struct ata_queued_cmd *); + u8 (*bmdma_status)(struct ata_port *); + ssize_t (*em_show)(struct ata_port *, char *); + ssize_t (*em_store)(struct ata_port *, const char *, size_t); + ssize_t (*sw_activity_show)(struct ata_device *, char *); + ssize_t (*sw_activity_store)(struct ata_device *, enum sw_activity); + ssize_t (*transmit_led_message)(struct ata_port *, u32, ssize_t); + const struct ata_port_operations *inherits; +}; + +struct ata_show_ering_arg { + char *buf; + int written; +}; + +struct ata_timing { + short unsigned int mode; + short unsigned int setup; + short unsigned int act8b; + short unsigned int rec8b; + short unsigned int cyc8b; + short unsigned int active; + short unsigned int recover; + short unsigned int dmack_hold; + short unsigned int cycle; + short unsigned int udma; +}; + +struct ata_xfer_ent { + int shift; + int bits; + u8 base; +}; + +struct ps2dev; + +typedef enum ps2_disposition (*ps2_pre_receive_handler_t)(struct ps2dev *, u8, unsigned int); + +typedef void (*ps2_receive_handler_t)(struct ps2dev *, u8); + +struct serio; + +struct ps2dev { + struct serio *serio; + struct mutex cmd_mutex; + wait_queue_head_t wait; + long unsigned int flags; + u8 cmdbuf[8]; + u8 cmdcnt; + u8 nak; + ps2_pre_receive_handler_t pre_receive_handler; + ps2_receive_handler_t receive_handler; +}; + +struct vivaldi_data { + u32 function_row_physmap[24]; + unsigned int num_function_row_keys; +}; + +struct atkbd { + struct ps2dev ps2dev; + struct input_dev *dev; + char name[64]; + char phys[32]; + short unsigned int id; + short unsigned int keycode[512]; + long unsigned int force_release_mask[8]; + unsigned char set; + bool translated; + bool extra; + bool write; + bool softrepeat; + bool softraw; + bool scroll; + bool enabled; + unsigned char emul; + bool resend; + bool release; + long unsigned int xl_bit; + unsigned int last; + long unsigned int time; + long unsigned int err_count; + struct delayed_work event_work; + long unsigned int event_jiffies; + long unsigned int event_mask; + struct mutex mutex; + struct vivaldi_data vdata; +}; + +struct atl_err { + u64 addr; + u64 ipid; + u32 cpu; +}; + +struct atomic_notifier_head { + spinlock_t lock; + struct notifier_block *head; +}; + +struct attribute_group { + const char *name; + umode_t (*is_visible)(struct kobject *, struct attribute *, int); + umode_t (*is_bin_visible)(struct kobject *, const struct bin_attribute *, int); + size_t (*bin_size)(struct kobject *, const struct bin_attribute *, int); + struct attribute **attrs; + union { + const struct bin_attribute * const *bin_attrs; + const struct bin_attribute * const *bin_attrs_new; + }; +}; + +struct audit_aux_data { + struct audit_aux_data *next; + int type; +}; + +struct audit_cap_data { + kernel_cap_t permitted; + kernel_cap_t inheritable; + union { + unsigned int fE; + kernel_cap_t effective; + }; + kernel_cap_t ambient; + kuid_t rootid; +}; + +struct audit_aux_data_bprm_fcaps { + struct audit_aux_data d; + struct audit_cap_data fcap; + unsigned int fcap_ver; + struct audit_cap_data old_pcap; + struct audit_cap_data new_pcap; +}; + +struct lsm_prop_selinux { + u32 secid; +}; + +struct smack_known; + +struct lsm_prop_smack { + struct smack_known *skp; +}; + +struct lsm_prop_apparmor { + struct aa_label *label; +}; + +struct lsm_prop_bpf { + u32 secid; +}; + +struct lsm_prop { + struct lsm_prop_selinux selinux; + struct lsm_prop_smack smack; + struct lsm_prop_apparmor apparmor; + struct lsm_prop_bpf bpf; +}; + +struct audit_aux_data_pids { + struct audit_aux_data d; + pid_t target_pid[16]; + kuid_t target_auid[16]; + kuid_t target_uid[16]; + unsigned int target_sessionid[16]; + struct lsm_prop target_ref[16]; + char target_comm[256]; + int pid_count; +}; + +struct audit_stamp { + struct timespec64 ctime; + unsigned int serial; +}; + +struct audit_context; + +struct audit_buffer { + struct sk_buff *skb; + struct sk_buff_head skb_list; + struct audit_context *ctx; + struct audit_stamp stamp; + gfp_t gfp_mask; +}; + +struct audit_cache { + const struct cred *ad_subj_cred; + u64 ktime_ns_expiration[41]; +}; + +struct audit_tree; + +struct audit_node { + struct list_head list; + struct audit_tree *owner; + unsigned int index; +}; + +struct fsnotify_mark; + +struct audit_chunk { + struct list_head hash; + long unsigned int key; + struct fsnotify_mark *mark; + struct list_head trees; + int count; + atomic_long_t refs; + struct callback_head head; + struct audit_node owners[0]; +}; + +struct filename; + +struct audit_names { + struct list_head list; + struct filename *name; + int name_len; + bool hidden; + long unsigned int ino; + dev_t dev; + umode_t mode; + kuid_t uid; + kgid_t gid; + dev_t rdev; + struct lsm_prop oprop; + struct audit_cap_data fcap; + unsigned int fcap_ver; + unsigned char type; + bool should_free; +}; + +struct mq_attr { + __kernel_long_t mq_flags; + __kernel_long_t mq_maxmsg; + __kernel_long_t mq_msgsize; + __kernel_long_t mq_curmsgs; + __kernel_long_t __reserved[4]; +}; + +struct open_how { + __u64 flags; + __u64 mode; + __u64 resolve; +}; + +struct audit_proctitle { + int len; + char *value; +}; + +struct audit_tree_refs; + +struct audit_context { + int dummy; + enum { + AUDIT_CTX_UNUSED = 0, + AUDIT_CTX_SYSCALL = 1, + AUDIT_CTX_URING = 2, + } context; + enum audit_state state; + enum audit_state current_state; + struct audit_stamp stamp; + int major; + int uring_op; + long unsigned int argv[4]; + long int return_code; + u64 prio; + int return_valid; + struct audit_names preallocated_names[5]; + int name_count; + struct list_head names_list; + char *filterkey; + struct path pwd; + struct audit_aux_data *aux; + struct audit_aux_data *aux_pids; + struct __kernel_sockaddr_storage *sockaddr; + size_t sockaddr_len; + pid_t ppid; + kuid_t uid; + kuid_t euid; + kuid_t suid; + kuid_t fsuid; + kgid_t gid; + kgid_t egid; + kgid_t sgid; + kgid_t fsgid; + long unsigned int personality; + int arch; + pid_t target_pid; + kuid_t target_auid; + kuid_t target_uid; + unsigned int target_sessionid; + struct lsm_prop target_ref; + char target_comm[16]; + struct audit_tree_refs *trees; + struct audit_tree_refs *first_trees; + struct list_head killed_trees; + int tree_count; + int type; + union { + struct { + int nargs; + long int args[6]; + } socketcall; + struct { + kuid_t uid; + kgid_t gid; + umode_t mode; + struct lsm_prop oprop; + int has_perm; + uid_t perm_uid; + gid_t perm_gid; + umode_t perm_mode; + long unsigned int qbytes; + } ipc; + struct { + mqd_t mqdes; + struct mq_attr mqstat; + } mq_getsetattr; + struct { + mqd_t mqdes; + int sigev_signo; + } mq_notify; + struct { + mqd_t mqdes; + size_t msg_len; + unsigned int msg_prio; + struct timespec64 abs_timeout; + } mq_sendrecv; + struct { + int oflag; + umode_t mode; + struct mq_attr attr; + } mq_open; + struct { + pid_t pid; + struct audit_cap_data cap; + } capset; + struct { + int fd; + int flags; + } mmap; + struct open_how openat2; + struct { + int argc; + } execve; + struct { + const char *name; + } module; + struct { + struct audit_ntp_data ntp_data; + struct timespec64 tk_injoffset; + } time; + }; + int fds[2]; + struct audit_proctitle proctitle; +}; + +struct audit_ctl_mutex { + struct mutex lock; + void *owner; +}; + +struct audit_field; + +struct audit_watch; + +struct audit_fsnotify_mark; + +struct audit_krule { + u32 pflags; + u32 flags; + u32 listnr; + u32 action; + u32 mask[64]; + u32 buflen; + u32 field_count; + char *filterkey; + struct audit_field *fields; + struct audit_field *arch_f; + struct audit_field *inode_f; + struct audit_watch *watch; + struct audit_tree *tree; + struct audit_fsnotify_mark *exe; + struct list_head rlist; + struct list_head list; + u64 prio; +}; + +struct audit_entry { + struct list_head list; + struct callback_head rcu; + struct audit_krule rule; +}; + +struct audit_features { + __u32 vers; + __u32 mask; + __u32 features; + __u32 lock; +}; + +struct audit_field { + u32 type; + union { + u32 val; + kuid_t uid; + kgid_t gid; + struct { + char *lsm_str; + void *lsm_rule; + }; + }; + u32 op; +}; + +struct fsnotify_group; + +struct fsnotify_mark_connector; + +struct fsnotify_mark { + __u32 mask; + refcount_t refcnt; + struct fsnotify_group *group; + struct list_head g_list; + spinlock_t lock; + struct hlist_node obj_list; + struct fsnotify_mark_connector *connector; + __u32 ignore_mask; + unsigned int flags; +}; + +struct audit_fsnotify_mark { + dev_t dev; + long unsigned int ino; + char *path; + struct fsnotify_mark mark; + struct audit_krule *rule; +}; + +struct sock; + +struct audit_net { + struct sock *sk; +}; + +struct audit_netlink_list { + __u32 portid; + struct net *net; + struct sk_buff_head q; +}; + +struct audit_nfcfgop_tab { + enum audit_nfcfgop op; + const char *s; +}; + +struct audit_parent { + struct list_head watches; + struct fsnotify_mark mark; +}; + +struct audit_reply { + __u32 portid; + struct net *net; + struct sk_buff *skb; +}; + +struct audit_rule_data { + __u32 flags; + __u32 action; + __u32 field_count; + __u32 mask[64]; + __u32 fields[64]; + __u32 values[64]; + __u32 fieldflags[64]; + __u32 buflen; + char buf[0]; +}; + +struct audit_sig_info { + uid_t uid; + pid_t pid; + char ctx[0]; +}; + +struct audit_status { + __u32 mask; + __u32 enabled; + __u32 failure; + __u32 pid; + __u32 rate_limit; + __u32 backlog_limit; + __u32 lost; + __u32 backlog; + union { + __u32 version; + __u32 feature_bitmap; + }; + __u32 backlog_wait_time; + __u32 backlog_wait_time_actual; +}; + +struct audit_tree { + refcount_t count; + int goner; + struct audit_chunk *root; + struct list_head chunks; + struct list_head rules; + struct list_head list; + struct list_head same_root; + struct callback_head head; + char pathname[0]; +}; + +struct audit_tree_mark { + struct fsnotify_mark mark; + struct audit_chunk *chunk; +}; + +struct audit_tree_refs { + struct audit_tree_refs *next; + struct audit_chunk *c[31]; +}; + +struct audit_tty_status { + __u32 enabled; + __u32 log_passwd; +}; + +struct audit_watch { + refcount_t count; + dev_t dev; + char *path; + long unsigned int ino; + struct audit_parent *parent; + struct list_head wlist; + struct list_head rules; +}; + +struct auditd_connection { + struct pid *pid; + u32 portid; + struct net *net; + struct callback_head rcu; +}; + +struct auth_cred { + const struct cred *cred; + const char *principal; +}; + +struct auth_ops; + +struct auth_domain { + struct kref ref; + struct hlist_node hash; + char *name; + struct auth_ops *flavour; + struct callback_head callback_head; +}; + +struct svc_rqst; + +struct auth_ops { + char *name; + struct module *owner; + int flavour; + enum svc_auth_status (*accept)(struct svc_rqst *); + int (*release)(struct svc_rqst *); + void (*domain_release)(struct auth_domain *); + enum svc_auth_status (*set_client)(struct svc_rqst *); + rpc_authflavor_t (*pseudoflavor)(struct svc_rqst *); +}; + +struct auto_mode_param { + int qp_type; +}; + +struct auto_movable_group_stats { + long unsigned int movable_pages; + long unsigned int req_kernel_early_pages; +}; + +struct auto_movable_stats { + long unsigned int kernel_early_pages; + long unsigned int movable_pages; +}; + +struct task_group; + +struct autogroup { + struct kref kref; + struct task_group *tg; + struct rw_semaphore lock; + long unsigned int id; + int nice; +}; + +struct automaton_wwnr { + char *state_names[2]; + char *event_names[3]; + unsigned char function[6]; + unsigned char initial_state; + bool final_states[2]; +}; + +struct auxiliary_device { + struct device dev; + const char *name; + u32 id; + struct { + struct xarray irqs; + struct mutex lock; + bool irq_dir_exists; + } sysfs; +}; + +struct auxiliary_device_id { + char name[32]; + kernel_ulong_t driver_data; +}; + +struct auxiliary_driver { + int (*probe)(struct auxiliary_device *, const struct auxiliary_device_id *); + void (*remove)(struct auxiliary_device *); + void (*shutdown)(struct auxiliary_device *); + int (*suspend)(struct auxiliary_device *, pm_message_t); + int (*resume)(struct auxiliary_device *); + const char *name; + struct device_driver driver; + const struct auxiliary_device_id *id_table; +}; + +struct auxiliary_irq_info { + struct device_attribute sysfs_attr; + char name[11]; +}; + +struct av_decision { + u32 allowed; + u32 auditallow; + u32 auditdeny; + u32 seqno; + u32 flags; +}; + +struct hlist_head { + struct hlist_node *first; +}; + +struct avc_cache { + struct hlist_head slots[512]; + spinlock_t slots_lock[512]; + atomic_t lru_hint; + atomic_t active_nodes; + u32 latest_notif; +}; + +struct avc_cache_stats { + unsigned int lookups; + unsigned int misses; + unsigned int allocations; + unsigned int reclaims; + unsigned int frees; +}; + +struct avc_callback_node { + int (*callback)(u32); + u32 events; + struct avc_callback_node *next; +}; + +struct avc_xperms_node; + +struct avc_entry { + u32 ssid; + u32 tsid; + u16 tclass; + struct av_decision avd; + struct avc_xperms_node *xp_node; +}; + +struct avc_node { + struct avc_entry ae; + struct hlist_node list; + struct callback_head rhead; +}; + +struct extended_perms_data; + +struct extended_perms_decision { + u8 used; + u8 driver; + u8 base_perm; + struct extended_perms_data *allowed; + struct extended_perms_data *auditallow; + struct extended_perms_data *dontaudit; +}; + +struct avc_xperms_decision_node { + struct extended_perms_decision xpd; + struct list_head xpd_list; +}; + +struct extended_perms_data { + u32 p[8]; +}; + +struct extended_perms { + u16 len; + u8 base_perms; + struct extended_perms_data drivers; +}; + +struct avc_xperms_node { + struct extended_perms xp; + struct list_head xpd_head; +}; + +struct avdc_entry { + u32 isid; + u32 allowed; + u32 audited; + bool permissive; +}; + +struct avtab_node; + +struct avtab { + struct avtab_node **htable; + u32 nel; + u32 nslot; + u32 mask; +}; + +struct avtab_extended_perms; + +struct avtab_datum { + union { + u32 data; + struct avtab_extended_perms *xperms; + } u; +}; + +struct avtab_extended_perms { + u8 specified; + u8 driver; + struct extended_perms_data perms; +}; + +struct avtab_key { + u16 source_type; + u16 target_type; + u16 target_class; + u16 specified; +}; + +struct avtab_node { + struct avtab_key key; + struct avtab_datum datum; + struct avtab_node *next; +}; + +struct ctl_table_header; + +struct ax25_dev { + struct list_head list; + struct net_device *dev; + netdevice_tracker dev_tracker; + struct net_device *forward; + struct ctl_table_header *sysheader; + int values[14]; + ax25_dama_info dama; + refcount_t refcount; + bool device_up; + struct callback_head rcu; +}; + +struct regmap_irq_chip_data; + +struct mfd_cell; + +struct regmap_config; + +struct regmap_irq_chip; + +struct axp20x_dev { + struct device *dev; + int irq; + long unsigned int irq_flags; + struct regmap *regmap; + struct regmap_irq_chip_data *regmap_irqc; + enum axp20x_variants variant; + int nr_cells; + const struct mfd_cell *cells; + const struct regmap_config *regmap_cfg; + const struct regmap_irq_chip *regmap_irq_chip; +}; + +struct backing_aio { + struct kiocb iocb; + refcount_t ref; + struct kiocb *orig_iocb; + void (*end_write)(struct kiocb *, ssize_t); + struct work_struct work; + long int res; +}; + +struct percpu_counter { + raw_spinlock_t lock; + s64 count; + struct list_head list; + s32 *counters; +}; + +struct fprop_local_percpu { + struct percpu_counter events; + unsigned int period; + raw_spinlock_t lock; +}; + +struct percpu_ref_data; + +struct percpu_ref { + long unsigned int percpu_count_ptr; + struct percpu_ref_data *data; +}; + +struct backing_dev_info; + +struct cgroup_subsys_state; + +struct bdi_writeback { + struct backing_dev_info *bdi; + long unsigned int state; + long unsigned int last_old_flush; + struct list_head b_dirty; + struct list_head b_io; + struct list_head b_more_io; + struct list_head b_dirty_time; + spinlock_t list_lock; + atomic_t writeback_inodes; + struct percpu_counter stat[4]; + long unsigned int bw_time_stamp; + long unsigned int dirtied_stamp; + long unsigned int written_stamp; + long unsigned int write_bandwidth; + long unsigned int avg_write_bandwidth; + long unsigned int dirty_ratelimit; + long unsigned int balanced_dirty_ratelimit; + struct fprop_local_percpu completions; + int dirty_exceeded; + enum wb_reason start_all_reason; + spinlock_t work_lock; + struct list_head work_list; + struct delayed_work dwork; + struct delayed_work bw_dwork; + struct list_head bdi_node; + struct percpu_ref refcnt; + struct fprop_local_percpu memcg_completions; + struct cgroup_subsys_state *memcg_css; + struct cgroup_subsys_state *blkcg_css; + struct list_head memcg_node; + struct list_head blkcg_node; + struct list_head b_attached; + struct list_head offline_node; + union { + struct work_struct release_work; + struct callback_head rcu; + }; +}; + +struct backing_dev_info { + u64 id; + struct rb_node rb_node; + struct list_head bdi_list; + long unsigned int ra_pages; + long unsigned int io_pages; + struct kref refcnt; + unsigned int capabilities; + unsigned int min_ratio; + unsigned int max_ratio; + unsigned int max_prop_frac; + atomic_long_t tot_write_bandwidth; + long unsigned int last_bdp_sleep; + struct bdi_writeback wb; + struct list_head wb_list; + struct xarray cgwb_tree; + struct mutex cgwb_release_mutex; + struct rw_semaphore wb_switch_rwsem; + wait_queue_head_t wb_waitq; + struct device *dev; + char dev_name[64]; + struct device *owner; + struct timer_list laptop_mode_wb_timer; + struct dentry *debug_dir; +}; + +struct file_ra_state { + long unsigned int start; + unsigned int size; + unsigned int async_size; + unsigned int ra_pages; + short unsigned int order; + short unsigned int mmap_miss; + loff_t prev_pos; +}; + +struct fown_struct; + +struct file { + spinlock_t f_lock; + fmode_t f_mode; + const struct file_operations *f_op; + struct address_space *f_mapping; + void *private_data; + struct inode *f_inode; + unsigned int f_flags; + unsigned int f_iocb_flags; + const struct cred *f_cred; + struct fown_struct *f_owner; + struct path f_path; + union { + struct mutex f_pos_lock; + u64 f_pipe; + }; + loff_t f_pos; + void *f_security; + errseq_t f_wb_err; + errseq_t f_sb_err; + struct hlist_head *f_ep; + union { + struct callback_head f_task_work; + struct llist_node f_llist; + struct file_ra_state f_ra; + freeptr_t f_freeptr; + }; + file_ref_t f_ref; +}; + +struct backing_file { + struct file file; + union { + struct path user_path; + freeptr_t bf_freeptr; + }; +}; + +struct backing_file_ctx { + const struct cred *cred; + void (*accessed)(struct file *); + void (*end_write)(struct kiocb *, ssize_t); +}; + +struct backlight_properties { + int brightness; + int max_brightness; + int power; + enum backlight_type type; + unsigned int state; + enum backlight_scale scale; +}; + +struct backlight_ops; + +struct backlight_device { + struct backlight_properties props; + struct mutex update_lock; + struct mutex ops_lock; + const struct backlight_ops *ops; + struct list_head entry; + struct device dev; + int use_count; +}; + +struct backlight_ops { + unsigned int options; + int (*update_status)(struct backlight_device *); + int (*get_brightness)(struct backlight_device *); + bool (*controls_device)(struct backlight_device *, struct device *); +}; + +struct bpf_verifier_env; + +struct backtrack_state { + struct bpf_verifier_env *env; + u32 frame; + u32 reg_masks[8]; + u64 stack_masks[8]; +}; + +struct badblocks { + struct device *dev; + int count; + int unacked_exist; + int shift; + u64 *page; + int changed; + seqlock_t lock; + sector_t sector; + sector_t size; +}; + +struct badblocks_context { + sector_t start; + sector_t len; + int ack; +}; + +struct badrange { + struct list_head list; + spinlock_t lock; +}; + +struct badrange_entry { + u64 start; + u64 length; + struct list_head list; +}; + +struct balance_callback { + struct balance_callback *next; + void (*func)(struct rq *); +}; + +struct balloon_dev_info { + long unsigned int isolated_pages; + spinlock_t pages_lock; + struct list_head pages; + int (*migratepage)(struct balloon_dev_info *, struct page *, struct page *, enum migrate_mode); +}; + +struct balloon_stats { + long unsigned int current_pages; + long unsigned int target_pages; + long unsigned int target_unpopulated; + long unsigned int balloon_low; + long unsigned int balloon_high; + long unsigned int total_pages; + long unsigned int schedule_delay; + long unsigned int max_schedule_delay; + long unsigned int retry_count; + long unsigned int max_retry_count; +}; + +struct batadv_unicast_packet { + __u8 packet_type; + __u8 version; + __u8 ttl; + __u8 ttvn; + __u8 dest[6]; +}; + +struct batch_u16 { + u16 entropy[48]; + local_lock_t lock; + long unsigned int generation; + unsigned int position; +}; + +struct batch_u32 { + u32 entropy[24]; + local_lock_t lock; + long unsigned int generation; + unsigned int position; +}; + +struct batch_u64 { + u64 entropy[12]; + local_lock_t lock; + long unsigned int generation; + unsigned int position; +}; + +struct batch_u8 { + u8 entropy[96]; + local_lock_t lock; + long unsigned int generation; + unsigned int position; +}; + +struct bd_holder_disk { + struct list_head list; + struct kobject *holder_dir; + int refcnt; +}; + +struct gendisk; + +struct request_queue; + +struct disk_stats; + +struct blk_holder_ops; + +struct partition_meta_info; + +struct block_device { + sector_t bd_start_sect; + sector_t bd_nr_sectors; + struct gendisk *bd_disk; + struct request_queue *bd_queue; + struct disk_stats *bd_stats; + long unsigned int bd_stamp; + atomic_t __bd_flags; + dev_t bd_dev; + struct address_space *bd_mapping; + atomic_t bd_openers; + spinlock_t bd_size_lock; + void *bd_claiming; + void *bd_holder; + const struct blk_holder_ops *bd_holder_ops; + struct mutex bd_holder_lock; + int bd_holders; + struct kobject *bd_holder_dir; + atomic_t bd_fsfreeze_count; + struct mutex bd_fsfreeze_mutex; + struct partition_meta_info *bd_meta_info; + int bd_writers; + void *bd_security; + struct device bd_device; +}; + +struct posix_acl; + +struct inode_operations; + +struct super_block; + +struct file_lock_context; + +struct pipe_inode_info; + +struct cdev; + +struct fscrypt_inode_info; + +struct fsverity_info; + +struct inode { + umode_t i_mode; + short unsigned int i_opflags; + kuid_t i_uid; + kgid_t i_gid; + unsigned int i_flags; + struct posix_acl *i_acl; + struct posix_acl *i_default_acl; + const struct inode_operations *i_op; + struct super_block *i_sb; + struct address_space *i_mapping; + void *i_security; + long unsigned int i_ino; + union { + const unsigned int i_nlink; + unsigned int __i_nlink; + }; + dev_t i_rdev; + loff_t i_size; + time64_t i_atime_sec; + time64_t i_mtime_sec; + time64_t i_ctime_sec; + u32 i_atime_nsec; + u32 i_mtime_nsec; + u32 i_ctime_nsec; + u32 i_generation; + spinlock_t i_lock; + short unsigned int i_bytes; + u8 i_blkbits; + enum rw_hint i_write_hint; + blkcnt_t i_blocks; + u32 i_state; + struct rw_semaphore i_rwsem; + long unsigned int dirtied_when; + long unsigned int dirtied_time_when; + struct hlist_node i_hash; + struct list_head i_io_list; + struct bdi_writeback *i_wb; + int i_wb_frn_winner; + u16 i_wb_frn_avg_time; + u16 i_wb_frn_history; + struct list_head i_lru; + struct list_head i_sb_list; + struct list_head i_wb_list; + union { + struct hlist_head i_dentry; + struct callback_head i_rcu; + }; + atomic64_t i_version; + atomic64_t i_sequence; + atomic_t i_count; + atomic_t i_dio_count; + atomic_t i_writecount; + atomic_t i_readcount; + union { + const struct file_operations *i_fop; + void (*free_inode)(struct inode *); + }; + struct file_lock_context *i_flctx; + struct address_space i_data; + union { + struct list_head i_devices; + int i_linklen; + }; + union { + struct pipe_inode_info *i_pipe; + struct cdev *i_cdev; + char *i_link; + unsigned int i_dir_seq; + }; + __u32 i_fsnotify_mask; + struct fsnotify_mark_connector *i_fsnotify_marks; + struct fscrypt_inode_info *i_crypt_info; + struct fsverity_info *i_verity_info; + void *i_private; +}; + +struct bdev_inode { + struct block_device bdev; + struct inode vfs_inode; +}; + +struct bgl_lock { + spinlock_t lock; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct bh_accounting { + int nr; + int ratelimit; +}; + +struct bh_lru { + struct buffer_head *bhs[16]; +}; + +struct bictcp { + u32 cnt; + u32 last_max_cwnd; + u32 last_cwnd; + u32 last_time; + u32 bic_origin_point; + u32 bic_K; + u32 delay_min; + u32 epoch_start; + u32 ack_cnt; + u32 tcp_cwnd; + u16 unused; + u8 sample_cnt; + u8 found; + u32 round_start; + u32 end_seq; + u32 last_ack; + u32 curr_rtt; +}; + +struct big_key_payload { + u8 *data; + struct path path; + size_t length; +}; + +struct binfmt_misc { + struct list_head entries; + rwlock_t entries_lock; + bool enabled; +}; + +struct bvec_iter { + sector_t bi_sector; + unsigned int bi_size; + unsigned int bi_idx; + unsigned int bi_bvec_done; +} __attribute__((packed)); + +struct bio; + +typedef void bio_end_io_t(struct bio *); + +struct bio_vec { + struct page *bv_page; + unsigned int bv_len; + unsigned int bv_offset; +}; + +struct blkcg_gq; + +struct bio_crypt_ctx; + +struct bio_integrity_payload; + +struct bio_set; + +struct bio { + struct bio *bi_next; + struct block_device *bi_bdev; + blk_opf_t bi_opf; + short unsigned int bi_flags; + short unsigned int bi_ioprio; + enum rw_hint bi_write_hint; + u8 bi_write_stream; + blk_status_t bi_status; + atomic_t __bi_remaining; + struct bvec_iter bi_iter; + union { + blk_qc_t bi_cookie; + unsigned int __bi_nr_segments; + }; + bio_end_io_t *bi_end_io; + void *bi_private; + struct blkcg_gq *bi_blkg; + u64 issue_time_ns; + u64 bi_iocost_cost; + struct bio_crypt_ctx *bi_crypt_context; + struct bio_integrity_payload *bi_integrity; + short unsigned int bi_vcnt; + short unsigned int bi_max_vecs; + atomic_t __bi_cnt; + struct bio_vec *bi_io_vec; + struct bio_set *bi_pool; + struct bio_vec bi_inline_vecs[0]; +}; + +struct bio_alloc_cache { + struct bio *free_list; + struct bio *free_list_irq; + unsigned int nr; + unsigned int nr_irq; +}; + +struct blk_crypto_key; + +struct bio_crypt_ctx { + const struct blk_crypto_key *bc_key; + u64 bc_dun[4]; +}; + +struct bio_fallback_crypt_ctx { + struct bio_crypt_ctx crypt_ctx; + struct bvec_iter crypt_iter; + union { + struct { + struct work_struct work; + struct bio *bio; + }; + struct { + void *bi_private_orig; + bio_end_io_t *bi_end_io_orig; + }; + }; +}; + +struct bio_integrity_payload { + struct bvec_iter bip_iter; + short unsigned int bip_vcnt; + short unsigned int bip_max_vcnt; + short unsigned int bip_flags; + u16 app_tag; + struct bio_vec *bip_vec; +}; + +struct bio_integrity_alloc { + struct bio_integrity_payload bip; + struct bio_vec bvecs[0]; +}; + +struct bio_integrity_data { + struct bio *bio; + struct bvec_iter saved_bio_iter; + struct work_struct work; + struct bio_integrity_payload bip; + struct bio_vec bvec; +}; + +struct bio_list { + struct bio *head; + struct bio *tail; +}; + +struct iovec { + void *iov_base; + __kernel_size_t iov_len; +}; + +struct kvec; + +struct folio_queue; + +struct iov_iter { + u8 iter_type; + bool nofault; + bool data_source; + size_t iov_offset; + union { + struct iovec __ubuf_iovec; + struct { + union { + const struct iovec *__iov; + const struct kvec *kvec; + const struct bio_vec *bvec; + const struct folio_queue *folioq; + struct xarray *xarray; + void *ubuf; + }; + size_t count; + }; + }; + union { + long unsigned int nr_segs; + u8 folioq_slot; + loff_t xarray_start; + }; +}; + +struct bio_map_data { + bool is_our_pages: 1; + bool is_null_mapped: 1; + struct iov_iter iter; + struct iovec iov[0]; +}; + +struct bio_post_read_ctx { + struct bio *bio; + struct work_struct work; + unsigned int cur_step; + unsigned int enabled_steps; +}; + +typedef void *mempool_alloc_t(gfp_t, void *); + +typedef void mempool_free_t(void *, void *); + +struct mempool_s { + spinlock_t lock; + int min_nr; + int curr_nr; + void **elements; + void *pool_data; + mempool_alloc_t *alloc; + mempool_free_t *free; + wait_queue_head_t wait; +}; + +typedef struct mempool_s mempool_t; + +struct kmem_cache; + +struct bio_set { + struct kmem_cache *bio_slab; + unsigned int front_pad; + struct bio_alloc_cache *cache; + mempool_t bio_pool; + mempool_t bvec_pool; + unsigned int back_pad; + spinlock_t rescue_lock; + struct bio_list rescue_list; + struct work_struct rescue_work; + struct workqueue_struct *rescue_workqueue; + struct hlist_node cpuhp_dead; +}; + +struct bio_slab { + struct kmem_cache *slab; + unsigned int slab_ref; + unsigned int slab_size; + char name[12]; +}; + +struct biovec_slab { + int nr_vecs; + char *name; + struct kmem_cache *slab; +}; + +struct bitmap_page; + +struct bitmap_counts { + spinlock_t lock; + struct bitmap_page *bp; + long unsigned int pages; + long unsigned int missing_pages; + long unsigned int chunkshift; + long unsigned int chunks; +}; + +struct bitmap_storage { + struct file *file; + struct page *sb_page; + long unsigned int sb_index; + struct page **filemap; + long unsigned int *filemap_attr; + long unsigned int file_pages; + long unsigned int bytes; +}; + +struct mddev; + +struct bitmap { + struct bitmap_counts counts; + struct mddev *mddev; + __u64 events_cleared; + int need_sync; + struct bitmap_storage storage; + long unsigned int flags; + int allclean; + atomic_t behind_writes; + long unsigned int behind_writes_used; + long unsigned int daemon_lastrun; + long unsigned int last_end_sync; + atomic_t pending_writes; + wait_queue_head_t write_wait; + wait_queue_head_t overflow_wait; + wait_queue_head_t behind_wait; + struct kernfs_node *sysfs_can_clear; + int cluster_slot; +}; + +struct md_bitmap_stats; + +struct bitmap_operations { + bool (*enabled)(struct mddev *); + int (*create)(struct mddev *); + int (*resize)(struct mddev *, sector_t, int, bool); + int (*load)(struct mddev *); + void (*destroy)(struct mddev *); + void (*flush)(struct mddev *); + void (*write_all)(struct mddev *); + void (*dirty_bits)(struct mddev *, long unsigned int, long unsigned int); + void (*unplug)(struct mddev *, bool); + void (*daemon_work)(struct mddev *); + void (*start_behind_write)(struct mddev *); + void (*end_behind_write)(struct mddev *); + void (*wait_behind_writes)(struct mddev *); + void (*start_write)(struct mddev *, sector_t, long unsigned int); + void (*end_write)(struct mddev *, sector_t, long unsigned int); + bool (*start_sync)(struct mddev *, sector_t, sector_t *, bool); + void (*end_sync)(struct mddev *, sector_t, sector_t *); + void (*cond_end_sync)(struct mddev *, sector_t, bool); + void (*close_sync)(struct mddev *); + void (*update_sb)(void *); + int (*get_stats)(void *, struct md_bitmap_stats *); + void (*sync_with_cluster)(struct mddev *, sector_t, sector_t, sector_t, sector_t); + void * (*get_from_slot)(struct mddev *, int); + int (*copy_from_slot)(struct mddev *, int, sector_t *, sector_t *, bool); + void (*set_pages)(void *, long unsigned int); + void (*free)(void *); +}; + +struct bitmap_page { + char *map; + unsigned int hijacked: 1; + unsigned int pending: 1; + unsigned int count: 30; +}; + +struct bitmap_super_s { + __le32 magic; + __le32 version; + __u8 uuid[16]; + __le64 events; + __le64 events_cleared; + __le64 sync_size; + __le32 state; + __le32 chunksize; + __le32 daemon_sleep; + __le32 write_behind; + __le32 sectors_reserved; + __le32 nodes; + __u8 cluster_name[64]; + __u8 pad[120]; +}; + +typedef struct bitmap_super_s bitmap_super_t; + +struct bitmap_unplug_work { + struct work_struct work; + struct bitmap *bitmap; + struct completion *done; +}; + +struct blacklist_entry { + struct list_head next; + char *buf; +}; + +struct blake2s_state { + u32 h[8]; + u32 t[2]; + u32 f[2]; + u8 buf[64]; + unsigned int buflen; + unsigned int outlen; +}; + +struct blk_crypto_profile; + +struct blk_crypto_attr { + struct attribute attr; + ssize_t (*show)(struct blk_crypto_profile *, struct blk_crypto_attr *, char *); +}; + +struct blk_crypto_config { + enum blk_crypto_mode_num crypto_mode; + unsigned int data_unit_size; + unsigned int dun_bytes; + enum blk_crypto_key_type key_type; +}; + +struct crypto_skcipher; + +struct blk_crypto_fallback_keyslot { + enum blk_crypto_mode_num crypto_mode; + struct crypto_skcipher *tfms[5]; +}; + +struct blk_crypto_generate_key_arg { + __u64 lt_key_ptr; + __u64 lt_key_size; + __u64 reserved[4]; +}; + +struct blk_crypto_import_key_arg { + __u64 raw_key_ptr; + __u64 raw_key_size; + __u64 lt_key_ptr; + __u64 lt_key_size; + __u64 reserved[4]; +}; + +union blk_crypto_iv { + __le64 dun[4]; + u8 bytes[32]; +}; + +struct blk_crypto_key { + struct blk_crypto_config crypto_cfg; + unsigned int data_unit_size_bits; + unsigned int size; + u8 bytes[128]; +}; + +struct blk_crypto_keyslot { + atomic_t slot_refs; + struct list_head idle_slot_node; + struct hlist_node hash_node; + const struct blk_crypto_key *key; + struct blk_crypto_profile *profile; +}; + +struct blk_crypto_kobj { + struct kobject kobj; + struct blk_crypto_profile *profile; +}; + +struct blk_crypto_ll_ops { + int (*keyslot_program)(struct blk_crypto_profile *, const struct blk_crypto_key *, unsigned int); + int (*keyslot_evict)(struct blk_crypto_profile *, const struct blk_crypto_key *, unsigned int); + int (*derive_sw_secret)(struct blk_crypto_profile *, const u8 *, size_t, u8 *); + int (*import_key)(struct blk_crypto_profile *, const u8 *, size_t, u8 *); + int (*generate_key)(struct blk_crypto_profile *, u8 *); + int (*prepare_key)(struct blk_crypto_profile *, const u8 *, size_t, u8 *); +}; + +struct blk_crypto_mode { + const char *name; + const char *cipher_str; + unsigned int keysize; + unsigned int security_strength; + unsigned int ivsize; +}; + +struct blk_crypto_prepare_key_arg { + __u64 lt_key_ptr; + __u64 lt_key_size; + __u64 eph_key_ptr; + __u64 eph_key_size; + __u64 reserved[4]; +}; + +struct blk_crypto_profile { + struct blk_crypto_ll_ops ll_ops; + unsigned int max_dun_bytes_supported; + unsigned int key_types_supported; + unsigned int modes_supported[5]; + struct device *dev; + unsigned int num_slots; + struct rw_semaphore lock; + struct lock_class_key lockdep_key; + wait_queue_head_t idle_slots_wait_queue; + struct list_head idle_slots; + spinlock_t idle_slots_lock; + struct hlist_head *slot_hashtable; + unsigned int log_slot_ht_size; + struct blk_crypto_keyslot *slots; +}; + +struct req_iterator { + struct bvec_iter iter; + struct bio *bio; +}; + +struct dev_pagemap; + +struct pci_p2pdma_map_state { + struct dev_pagemap *pgmap; + enum pci_p2pdma_map_type map; + u64 bus_off; +}; + +struct blk_dma_iter { + dma_addr_t addr; + u32 len; + blk_status_t status; + struct req_iterator iter; + struct pci_p2pdma_map_state p2pdma; +}; + +struct blk_expired_data { + bool has_timedout_rq; + long unsigned int next; + long unsigned int timeout_start; +}; + +struct request; + +struct blk_flush_queue { + spinlock_t mq_flush_lock; + unsigned int flush_pending_idx: 1; + unsigned int flush_running_idx: 1; + blk_status_t rq_status; + long unsigned int flush_pending_since; + struct list_head flush_queue[2]; + long unsigned int flush_data_in_flight; + struct request *flush_rq; +}; + +struct blk_holder_ops { + void (*mark_dead)(struct block_device *, bool); + void (*sync)(struct block_device *); + int (*freeze)(struct block_device *); + int (*thaw)(struct block_device *); +}; + +struct blk_independent_access_range; + +struct blk_ia_range_sysfs_entry { + struct attribute attr; + ssize_t (*show)(struct blk_independent_access_range *, char *); +}; + +struct blk_independent_access_range { + struct kobject kobj; + sector_t sector; + sector_t nr_sectors; +}; + +struct blk_independent_access_ranges { + struct kobject kobj; + bool sysfs_registered; + unsigned int nr_ia_ranges; + struct blk_independent_access_range ia_range[0]; +}; + +struct blk_integrity { + unsigned char flags; + enum blk_integrity_checksum csum_type; + unsigned char metadata_size; + unsigned char pi_offset; + unsigned char interval_exp; + unsigned char tag_size; + unsigned char pi_tuple_size; +}; + +struct blk_integrity_iter { + void *prot_buf; + void *data_buf; + sector_t seed; + unsigned int data_size; + short unsigned int interval; + const char *disk_name; +}; + +struct blk_io_trace { + __u32 magic; + __u32 sequence; + __u64 time; + __u64 sector; + __u32 bytes; + __u32 action; + __u32 pid; + __u32 device; + __u32 cpu; + __u16 error; + __u16 pdu_len; +}; + +struct blk_io_trace_remap { + __be32 device_from; + __be32 device_to; + __be64 sector_from; +}; + +struct blk_iou_cmd { + int res; + bool nowait; +}; + +struct blk_major_name { + struct blk_major_name *next; + int major; + char name[16]; + void (*probe)(dev_t); +}; + +struct rq_list; + +struct blk_mq_ctx; + +struct blk_mq_hw_ctx; + +struct blk_mq_alloc_data { + struct request_queue *q; + blk_mq_req_flags_t flags; + unsigned int shallow_depth; + blk_opf_t cmd_flags; + req_flags_t rq_flags; + unsigned int nr_tags; + struct rq_list *cached_rqs; + struct blk_mq_ctx *ctx; + struct blk_mq_hw_ctx *hctx; +}; + +struct blk_mq_ctxs; + +struct blk_mq_ctx { + struct { + spinlock_t lock; + struct list_head rq_lists[3]; + long: 64; + }; + unsigned int cpu; + short unsigned int index_hw[3]; + struct blk_mq_hw_ctx *hctxs[3]; + struct request_queue *queue; + struct blk_mq_ctxs *ctxs; + struct kobject kobj; + long: 64; +}; + +struct blk_mq_ctxs { + struct kobject kobj; + struct blk_mq_ctx *queue_ctx; +}; + +struct seq_operations; + +struct blk_mq_debugfs_attr { + const char *name; + umode_t mode; + int (*show)(void *, struct seq_file *); + ssize_t (*write)(void *, const char *, size_t, loff_t *); + const struct seq_operations *seq_ops; +}; + +struct sbitmap_word; + +struct sbitmap { + unsigned int depth; + unsigned int shift; + unsigned int map_nr; + bool round_robin; + struct sbitmap_word *map; + unsigned int *alloc_hint; +}; + +typedef struct wait_queue_entry wait_queue_entry_t; + +struct blk_mq_hw_ctx { + struct { + spinlock_t lock; + struct list_head dispatch; + long unsigned int state; + long: 64; + long: 64; + long: 64; + long: 64; + }; + struct delayed_work run_work; + cpumask_var_t cpumask; + int next_cpu; + int next_cpu_batch; + long unsigned int flags; + void *sched_data; + struct request_queue *queue; + struct blk_flush_queue *fq; + void *driver_data; + struct sbitmap ctx_map; + struct blk_mq_ctx *dispatch_from; + unsigned int dispatch_busy; + short unsigned int type; + short unsigned int nr_ctx; + struct blk_mq_ctx **ctxs; + spinlock_t dispatch_wait_lock; + wait_queue_entry_t dispatch_wait; + atomic_t wait_index; + struct blk_mq_tags *tags; + struct blk_mq_tags *sched_tags; + unsigned int numa_node; + unsigned int queue_num; + atomic_t nr_active; + struct hlist_node cpuhp_online; + struct hlist_node cpuhp_dead; + struct kobject kobj; + struct dentry *debugfs_dir; + struct dentry *sched_debugfs_dir; + struct list_head hctx_list; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct blk_mq_hw_ctx_sysfs_entry { + struct attribute attr; + ssize_t (*show)(struct blk_mq_hw_ctx *, char *); +}; + +struct blk_mq_queue_data; + +struct io_comp_batch; + +struct blk_mq_ops { + blk_status_t (*queue_rq)(struct blk_mq_hw_ctx *, const struct blk_mq_queue_data *); + void (*commit_rqs)(struct blk_mq_hw_ctx *); + void (*queue_rqs)(struct rq_list *); + int (*get_budget)(struct request_queue *); + void (*put_budget)(struct request_queue *, int); + void (*set_rq_budget_token)(struct request *, int); + int (*get_rq_budget_token)(struct request *); + enum blk_eh_timer_return (*timeout)(struct request *); + int (*poll)(struct blk_mq_hw_ctx *, struct io_comp_batch *); + void (*complete)(struct request *); + int (*init_hctx)(struct blk_mq_hw_ctx *, void *, unsigned int); + void (*exit_hctx)(struct blk_mq_hw_ctx *, unsigned int); + int (*init_request)(struct blk_mq_tag_set *, struct request *, unsigned int, unsigned int); + void (*exit_request)(struct blk_mq_tag_set *, struct request *, unsigned int); + void (*cleanup_rq)(struct request *); + bool (*busy)(struct request_queue *); + void (*map_queues)(struct blk_mq_tag_set *); + void (*show_rq)(struct seq_file *, struct request *); +}; + +struct blk_mq_queue_data { + struct request *rq; + bool last; +}; + +struct sbq_wait_state; + +struct sbitmap_queue { + struct sbitmap sb; + unsigned int wake_batch; + atomic_t wake_index; + struct sbq_wait_state *ws; + atomic_t ws_active; + unsigned int min_shallow_depth; + atomic_t completion_cnt; + atomic_t wakeup_cnt; +}; + +struct blk_mq_tags { + unsigned int nr_tags; + unsigned int nr_reserved_tags; + unsigned int active_queues; + struct sbitmap_queue bitmap_tags; + struct sbitmap_queue breserved_tags; + struct request **rqs; + struct request **static_rqs; + struct list_head page_list; + spinlock_t lock; +}; + +struct rq_list { + struct request *head; + struct request *tail; +}; + +struct blk_plug { + struct rq_list mq_list; + struct rq_list cached_rqs; + u64 cur_ktime; + short unsigned int nr_ios; + short unsigned int rq_count; + bool multiple_queues; + bool has_elevator; + struct list_head cb_list; +}; + +struct blk_plug_cb; + +typedef void (*blk_plug_cb_fn)(struct blk_plug_cb *, bool); + +struct blk_plug_cb { + struct list_head list; + blk_plug_cb_fn callback; + void *data; +}; + +struct blk_queue_stats { + struct list_head callbacks; + spinlock_t lock; + int accounting; +}; + +struct blk_revalidate_zone_args { + struct gendisk *disk; + long unsigned int *conv_zones_bitmap; + unsigned int nr_zones; + unsigned int zone_capacity; + unsigned int last_zone_capacity; + sector_t sector; +}; + +struct blk_rq_stat { + u64 mean; + u64 min; + u64 max; + u32 nr_samples; + u64 batch; +}; + +struct blk_rq_wait { + struct completion done; + blk_status_t ret; +}; + +struct blkif_request_segment { + grant_ref_t gref; + uint8_t first_sect; + uint8_t last_sect; +}; + +struct blkif_request_rw { + uint8_t nr_segments; + blkif_vdev_t handle; + uint32_t _pad1; + uint64_t id; + blkif_sector_t sector_number; + struct blkif_request_segment seg[11]; +} __attribute__((packed)); + +struct blkif_request_discard { + uint8_t flag; + blkif_vdev_t _pad1; + uint32_t _pad2; + uint64_t id; + blkif_sector_t sector_number; + uint64_t nr_sectors; + uint8_t _pad3; +} __attribute__((packed)); + +struct blkif_request_other { + uint8_t _pad1; + blkif_vdev_t _pad2; + uint32_t _pad3; + uint64_t id; +} __attribute__((packed)); + +struct blkif_request_indirect { + uint8_t indirect_op; + uint16_t nr_segments; + uint32_t _pad1; + uint64_t id; + blkif_sector_t sector_number; + blkif_vdev_t handle; + uint16_t _pad2; + grant_ref_t indirect_grefs[8]; + uint32_t _pad3; +} __attribute__((packed)); + +struct blkif_request { + uint8_t operation; + union { + struct blkif_request_rw rw; + struct blkif_request_discard discard; + struct blkif_request_other other; + struct blkif_request_indirect indirect; + } u; +}; + +struct grant; + +struct blk_shadow { + struct blkif_request req; + struct request *request; + struct grant **grants_used; + struct grant **indirect_grants; + struct scatterlist *sg; + unsigned int num_sg; + enum blk_req_status status; + long unsigned int associated_id; +}; + +struct blk_stat_callback { + struct list_head list; + struct timer_list timer; + struct blk_rq_stat *cpu_stat; + int (*bucket_fn)(const struct request *); + unsigned int buckets; + struct blk_rq_stat *stat; + void (*timer_fn)(struct blk_stat_callback *); + void *data; + struct callback_head rcu; +}; + +struct rchan; + +struct blk_trace { + int trace_state; + struct rchan *rchan; + long unsigned int *sequence; + unsigned char *msg_data; + u16 act_mask; + u64 start_lba; + u64 end_lba; + u32 pid; + u32 dev; + struct dentry *dir; + struct list_head running_list; + atomic_t dropped; +}; + +struct blk_user_trace_setup { + char name[32]; + __u16 act_mask; + __u32 buf_size; + __u32 buf_nr; + __u64 start_lba; + __u64 end_lba; + __u32 pid; +}; + +struct blk_zone { + __u64 start; + __u64 len; + __u64 wp; + __u8 type; + __u8 cond; + __u8 non_seq; + __u8 reset; + __u8 resv[4]; + __u64 capacity; + __u8 reserved[24]; +}; + +struct blk_zone_range { + __u64 sector; + __u64 nr_sectors; +}; + +struct blk_zone_report { + __u64 sector; + __u32 nr_zones; + __u32 flags; + struct blk_zone zones[0]; +}; + +struct blk_zone_wplug { + struct hlist_node node; + refcount_t ref; + spinlock_t lock; + unsigned int flags; + unsigned int zone_no; + unsigned int wp_offset; + struct bio_list bio_list; + struct work_struct bio_work; + struct callback_head callback_head; + struct gendisk *disk; +}; + +struct cgroup_subsys; + +struct css_rstat_cpu; + +struct cgroup_subsys_state { + struct cgroup *cgroup; + struct cgroup_subsys *ss; + struct percpu_ref refcnt; + struct css_rstat_cpu *rstat_cpu; + struct list_head sibling; + struct list_head children; + int id; + unsigned int flags; + u64 serial_nr; + atomic_t online_cnt; + struct work_struct destroy_work; + struct rcu_work destroy_rwork; + struct cgroup_subsys_state *parent; + int nr_descendants; + struct cgroup_subsys_state *rstat_flush_next; +}; + +struct blkcg_policy_data; + +struct blkcg { + struct cgroup_subsys_state css; + spinlock_t lock; + refcount_t online_pin; + atomic_t congestion_count; + struct xarray blkg_tree; + struct blkcg_gq *blkg_hint; + struct hlist_head blkg_list; + struct blkcg_policy_data *cpd[6]; + struct list_head all_blkcgs_node; + struct llist_head *lhead; + char fc_app_id[129]; + struct list_head cgwb_list; +}; + +struct blkg_iostat { + u64 bytes[3]; + u64 ios[3]; +}; + +struct blkg_iostat_set { + struct u64_stats_sync sync; + struct blkcg_gq *blkg; + struct llist_node lnode; + int lqueued; + struct blkg_iostat cur; + struct blkg_iostat last; +}; + +struct blkg_policy_data; + +struct blkcg_gq { + struct request_queue *q; + struct list_head q_node; + struct hlist_node blkcg_node; + struct blkcg *blkcg; + struct blkcg_gq *parent; + struct percpu_ref refcnt; + bool online; + struct blkg_iostat_set *iostat_cpu; + struct blkg_iostat_set iostat; + struct blkg_policy_data *pd[6]; + spinlock_t async_bio_lock; + struct bio_list async_bios; + union { + struct work_struct async_bio_work; + struct work_struct free_work; + }; + atomic_t use_delay; + atomic64_t delay_nsec; + atomic64_t delay_start; + u64 last_delay; + int last_use; + struct callback_head callback_head; +}; + +typedef struct blkcg_policy_data *blkcg_pol_alloc_cpd_fn(gfp_t); + +typedef void blkcg_pol_free_cpd_fn(struct blkcg_policy_data *); + +typedef struct blkg_policy_data *blkcg_pol_alloc_pd_fn(struct gendisk *, struct blkcg *, gfp_t); + +typedef void blkcg_pol_init_pd_fn(struct blkg_policy_data *); + +typedef void blkcg_pol_online_pd_fn(struct blkg_policy_data *); + +typedef void blkcg_pol_offline_pd_fn(struct blkg_policy_data *); + +typedef void blkcg_pol_free_pd_fn(struct blkg_policy_data *); + +typedef void blkcg_pol_reset_pd_stats_fn(struct blkg_policy_data *); + +typedef void blkcg_pol_stat_pd_fn(struct blkg_policy_data *, struct seq_file *); + +struct cftype; + +struct blkcg_policy { + int plid; + struct cftype *dfl_cftypes; + struct cftype *legacy_cftypes; + blkcg_pol_alloc_cpd_fn *cpd_alloc_fn; + blkcg_pol_free_cpd_fn *cpd_free_fn; + blkcg_pol_alloc_pd_fn *pd_alloc_fn; + blkcg_pol_init_pd_fn *pd_init_fn; + blkcg_pol_online_pd_fn *pd_online_fn; + blkcg_pol_offline_pd_fn *pd_offline_fn; + blkcg_pol_free_pd_fn *pd_free_fn; + blkcg_pol_reset_pd_stats_fn *pd_reset_stats_fn; + blkcg_pol_stat_pd_fn *pd_stat_fn; +}; + +struct blkcg_policy_data { + struct blkcg *blkcg; + int plid; +}; + +struct blkdev_dio { + union { + struct kiocb *iocb; + struct task_struct *waiter; + }; + size_t size; + atomic_t ref; + unsigned int flags; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + struct bio bio; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct xenbus_device; + +struct blkfront_ring_info; + +struct blkfront_info { + struct mutex mutex; + struct xenbus_device *xbdev; + struct gendisk *gd; + u16 sector_size; + unsigned int physical_sector_size; + long unsigned int vdisk_info; + int vdevice; + blkif_vdev_t handle; + enum blkif_state connected; + unsigned int nr_ring_pages; + struct request_queue *rq; + unsigned int feature_flush: 1; + unsigned int feature_fua: 1; + unsigned int feature_discard: 1; + unsigned int feature_secdiscard: 1; + unsigned int feature_persistent_parm: 1; + unsigned int feature_persistent: 1; + unsigned int bounce: 1; + unsigned int discard_granularity; + unsigned int discard_alignment; + unsigned int max_indirect_segments; + int is_ready; + struct blk_mq_tag_set tag_set; + struct blkfront_ring_info *rinfo; + unsigned int nr_rings; + unsigned int rinfo_size; + struct list_head requests; + struct bio_list bio_list; + struct list_head info_list; +}; + +struct blkif_sring; + +struct blkif_front_ring { + RING_IDX req_prod_pvt; + RING_IDX rsp_cons; + unsigned int nr_ents; + struct blkif_sring *sring; +}; + +struct gnttab_free_callback { + struct gnttab_free_callback *next; + void (*fn)(void *); + void *arg; + u16 count; +}; + +struct blkfront_ring_info { + spinlock_t ring_lock; + struct blkif_front_ring ring; + unsigned int ring_ref[16]; + unsigned int evtchn; + unsigned int irq; + struct work_struct work; + struct gnttab_free_callback callback; + struct list_head indirect_pages; + struct list_head grants; + unsigned int persistent_gnts_c; + long unsigned int shadow_free; + struct blkfront_info *dev_info; + struct blk_shadow shadow[0]; +}; + +struct blkg_conf_ctx { + char *input; + char *body; + struct block_device *bdev; + struct blkcg_gq *blkg; +}; + +struct blkg_policy_data { + struct blkcg_gq *blkg; + int plid; + bool online; +}; + +struct blkg_rwstat { + struct percpu_counter cpu_cnt[5]; + atomic64_t aux_cnt[5]; +}; + +struct blkg_rwstat_sample { + u64 cnt[5]; +}; + +struct blkif_req { + blk_status_t error; +}; + +struct blkif_response { + uint64_t id; + uint8_t operation; + int16_t status; +}; + +union blkif_sring_entry { + struct blkif_request req; + struct blkif_response rsp; +}; + +struct blkif_sring { + RING_IDX req_prod; + RING_IDX req_event; + RING_IDX rsp_prod; + RING_IDX rsp_event; + uint8_t __pad[48]; + union blkif_sring_entry ring[0]; +}; + +struct blkpg_ioctl_arg { + int op; + int flags; + int datalen; + void *data; +}; + +struct blkpg_partition { + long long int start; + long long int length; + int pno; + char devname[64]; + char volname[64]; +}; + +struct block_buffer { + u32 filled; + bool is_root_hash; + u8 *data; +}; + +typedef int (*report_zones_cb)(struct blk_zone *, unsigned int, void *); + +struct hd_geometry; + +struct pr_ops; + +struct block_device_operations { + void (*submit_bio)(struct bio *); + int (*poll_bio)(struct bio *, struct io_comp_batch *, unsigned int); + int (*open)(struct gendisk *, blk_mode_t); + void (*release)(struct gendisk *); + int (*ioctl)(struct block_device *, blk_mode_t, unsigned int, long unsigned int); + int (*compat_ioctl)(struct block_device *, blk_mode_t, unsigned int, long unsigned int); + unsigned int (*check_events)(struct gendisk *, unsigned int); + void (*unlock_native_capacity)(struct gendisk *); + int (*getgeo)(struct block_device *, struct hd_geometry *); + int (*set_read_only)(struct block_device *, bool); + void (*free_disk)(struct gendisk *); + void (*swap_slot_free_notify)(struct block_device *, long unsigned int); + int (*report_zones)(struct gendisk *, sector_t, unsigned int, report_zones_cb, void *); + char * (*devnode)(struct gendisk *, umode_t *); + int (*get_unique_id)(struct gendisk *, u8 *, enum blk_unique_id); + struct module *owner; + const struct pr_ops *pr_ops; + int (*alternative_gpt_sector)(struct gendisk *, sector_t *); +}; + +struct blockgroup_lock { + struct bgl_lock locks[128]; +}; + +struct mem_zone_bm_rtree; + +struct rtree_node; + +struct bm_position { + struct mem_zone_bm_rtree *zone; + struct rtree_node *node; + long unsigned int node_pfn; + long unsigned int cur_pfn; + int node_bit; +}; + +struct bmp_header { + u16 id; + u32 size; +} __attribute__((packed)); + +struct spi_board_info { + char modalias[32]; + const void *platform_data; + const struct software_node *swnode; + void *controller_data; + int irq; + u32 max_speed_hz; + u16 bus_num; + u16 chip_select; + u32 mode; +}; + +struct boardinfo { + struct list_head list; + struct spi_board_info board_info; +}; + +struct boot_e820_entry { + __u64 addr; + __u64 size; + __u32 type; +} __attribute__((packed)); + +struct screen_info { + __u8 orig_x; + __u8 orig_y; + __u16 ext_mem_k; + __u16 orig_video_page; + __u8 orig_video_mode; + __u8 orig_video_cols; + __u8 flags; + __u8 unused2; + __u16 orig_video_ega_bx; + __u16 unused3; + __u8 orig_video_lines; + __u8 orig_video_isVGA; + __u16 orig_video_points; + __u16 lfb_width; + __u16 lfb_height; + __u16 lfb_depth; + __u32 lfb_base; + __u32 lfb_size; + __u16 cl_magic; + __u16 cl_offset; + __u16 lfb_linelength; + __u8 red_size; + __u8 red_pos; + __u8 green_size; + __u8 green_pos; + __u8 blue_size; + __u8 blue_pos; + __u8 rsvd_size; + __u8 rsvd_pos; + __u16 vesapm_seg; + __u16 vesapm_off; + __u16 pages; + __u16 vesa_attributes; + __u32 capabilities; + __u32 ext_lfb_base; + __u8 _reserved[2]; +} __attribute__((packed)); + +struct ist_info { + __u32 signature; + __u32 command; + __u32 event; + __u32 perf_level; +}; + +struct sys_desc_table { + __u16 length; + __u8 table[14]; +}; + +struct olpc_ofw_header { + __u32 ofw_magic; + __u32 ofw_version; + __u32 cif_handler; + __u32 irq_desc_table; +}; + +struct edid_info { + unsigned char dummy[128]; +}; + +struct efi_info { + __u32 efi_loader_signature; + __u32 efi_systab; + __u32 efi_memdesc_size; + __u32 efi_memdesc_version; + __u32 efi_memmap; + __u32 efi_memmap_size; + __u32 efi_systab_hi; + __u32 efi_memmap_hi; +}; + +struct setup_header { + __u8 setup_sects; + __u16 root_flags; + __u32 syssize; + __u16 ram_size; + __u16 vid_mode; + __u16 root_dev; + __u16 boot_flag; + __u16 jump; + __u32 header; + __u16 version; + __u32 realmode_swtch; + __u16 start_sys_seg; + __u16 kernel_version; + __u8 type_of_loader; + __u8 loadflags; + __u16 setup_move_size; + __u32 code32_start; + __u32 ramdisk_image; + __u32 ramdisk_size; + __u32 bootsect_kludge; + __u16 heap_end_ptr; + __u8 ext_loader_ver; + __u8 ext_loader_type; + __u32 cmd_line_ptr; + __u32 initrd_addr_max; + __u32 kernel_alignment; + __u8 relocatable_kernel; + __u8 min_alignment; + __u16 xloadflags; + __u32 cmdline_size; + __u32 hardware_subarch; + __u64 hardware_subarch_data; + __u32 payload_offset; + __u32 payload_length; + __u64 setup_data; + __u64 pref_address; + __u32 init_size; + __u32 handover_offset; + __u32 kernel_info_offset; +} __attribute__((packed)); + +struct edd_device_params { + __u16 length; + __u16 info_flags; + __u32 num_default_cylinders; + __u32 num_default_heads; + __u32 sectors_per_track; + __u64 number_of_sectors; + __u16 bytes_per_sector; + __u32 dpte_ptr; + __u16 key; + __u8 device_path_info_length; + __u8 reserved2; + __u16 reserved3; + __u8 host_bus_type[4]; + __u8 interface_type[8]; + union { + struct { + __u16 base_address; + __u16 reserved1; + __u32 reserved2; + } isa; + struct { + __u8 bus; + __u8 slot; + __u8 function; + __u8 channel; + __u32 reserved; + } pci; + struct { + __u64 reserved; + } ibnd; + struct { + __u64 reserved; + } xprs; + struct { + __u64 reserved; + } htpt; + struct { + __u64 reserved; + } unknown; + } interface_path; + union { + struct { + __u8 device; + __u8 reserved1; + __u16 reserved2; + __u32 reserved3; + __u64 reserved4; + } ata; + struct { + __u8 device; + __u8 lun; + __u8 reserved1; + __u8 reserved2; + __u32 reserved3; + __u64 reserved4; + } atapi; + struct { + __u16 id; + __u64 lun; + __u16 reserved1; + __u32 reserved2; + } __attribute__((packed)) scsi; + struct { + __u64 serial_number; + __u64 reserved; + } usb; + struct { + __u64 eui; + __u64 reserved; + } i1394; + struct { + __u64 wwid; + __u64 lun; + } fibre; + struct { + __u64 identity_tag; + __u64 reserved; + } i2o; + struct { + __u32 array_number; + __u32 reserved1; + __u64 reserved2; + } raid; + struct { + __u8 device; + __u8 reserved1; + __u16 reserved2; + __u32 reserved3; + __u64 reserved4; + } sata; + struct { + __u64 reserved1; + __u64 reserved2; + } unknown; + } device_path; + __u8 reserved4; + __u8 checksum; +} __attribute__((packed)); + +struct edd_info { + __u8 device; + __u8 version; + __u16 interface_support; + __u16 legacy_max_cylinder; + __u8 legacy_max_head; + __u8 legacy_sectors_per_track; + struct edd_device_params params; +}; + +struct boot_params { + struct screen_info screen_info; + struct apm_bios_info apm_bios_info; + __u8 _pad2[4]; + __u64 tboot_addr; + struct ist_info ist_info; + __u64 acpi_rsdp_addr; + __u8 _pad3[8]; + __u8 hd0_info[16]; + __u8 hd1_info[16]; + struct sys_desc_table sys_desc_table; + struct olpc_ofw_header olpc_ofw_header; + __u32 ext_ramdisk_image; + __u32 ext_ramdisk_size; + __u32 ext_cmd_line_ptr; + __u8 _pad4[112]; + __u32 cc_blob_address; + struct edid_info edid_info; + struct efi_info efi_info; + __u32 alt_mem_k; + __u32 scratch; + __u8 e820_entries; + __u8 eddbuf_entries; + __u8 edd_mbr_sig_buf_entries; + __u8 kbd_status; + __u8 secure_boot; + __u8 _pad5[2]; + __u8 sentinel; + __u8 _pad6[1]; + struct setup_header hdr; + __u8 _pad7[36]; + __u32 edd_mbr_sig_buffer[16]; + struct boot_e820_entry e820_table[128]; + __u8 _pad8[48]; + struct edd_info eddbuf[6]; + __u8 _pad9[276]; +}; + +struct boot_params_to_save { + unsigned int start; + unsigned int len; +}; + +struct fpdt_record_header { + u16 type; + u8 length; + u8 revision; +}; + +struct boot_performance_record { + struct fpdt_record_header header; + u32 reserved; + u64 firmware_start; + u64 bootloader_load; + u64 bootloader_launch; + u64 exitbootservice_start; + u64 exitbootservice_end; +}; + +struct boot_triggers { + const char *event; + char *trigger; +}; + +struct bp_slots_histogram { + atomic_t count[4]; +}; + +struct bp_cpuinfo { + unsigned int cpu_pinned; + struct bp_slots_histogram tsk_pinned; +}; + +struct bpf_map_ops; + +struct btf_record; + +struct btf; + +struct obj_cgroup; + +struct bpf_map_owner; + +struct bpf_map { + const struct bpf_map_ops *ops; + struct bpf_map *inner_map_meta; + void *security; + enum bpf_map_type map_type; + u32 key_size; + u32 value_size; + u32 max_entries; + u64 map_extra; + u32 map_flags; + u32 id; + struct btf_record *record; + int numa_node; + u32 btf_key_type_id; + u32 btf_value_type_id; + u32 btf_vmlinux_value_type_id; + struct btf *btf; + struct obj_cgroup *objcg; + char name[16]; + struct mutex freeze_mutex; + atomic64_t refcnt; + atomic64_t usercnt; + union { + struct work_struct work; + struct callback_head rcu; + }; + atomic64_t writecnt; + spinlock_t owner_lock; + struct bpf_map_owner *owner; + bool bypass_spec_v1; + bool frozen; + bool free_after_mult_rcu_gp; + bool free_after_rcu_gp; + atomic64_t sleepable_refcnt; + s64 *elem_count; + u64 cookie; +}; + +struct range_tree { + struct rb_root_cached it_root; + struct rb_root_cached range_size_root; +}; + +struct vm_struct; + +struct bpf_arena { + struct bpf_map map; + u64 user_vm_start; + u64 user_vm_end; + struct vm_struct *kern_vm; + struct range_tree rt; + struct list_head vma_list; + struct mutex lock; +}; + +struct bpf_array_aux; + +struct bpf_array { + struct bpf_map map; + u32 elem_size; + u32 index_mask; + struct bpf_array_aux *aux; + union { + struct { + struct {} __empty_value; + char value[0]; + }; + struct { + struct {} __empty_ptrs; + void *ptrs[0]; + }; + struct { + struct {} __empty_pptrs; + void *pptrs[0]; + }; + }; +}; + +struct bpf_array_aux { + struct list_head poke_progs; + struct bpf_map *map; + struct mutex poke_mutex; + struct work_struct work; +}; + +struct bpf_prog; + +struct bpf_async_cb { + struct bpf_map *map; + struct bpf_prog *prog; + void *callback_fn; + void *value; + union { + struct callback_head rcu; + struct work_struct delete_work; + }; + u64 flags; +}; + +struct bpf_spin_lock { + __u32 val; +}; + +struct bpf_hrtimer; + +struct bpf_work; + +struct bpf_async_kern { + union { + struct bpf_async_cb *cb; + struct bpf_hrtimer *timer; + struct bpf_work *work; + }; + struct bpf_spin_lock lock; +}; + +struct btf_func_model { + u8 ret_size; + u8 ret_flags; + u8 nr_args; + u8 arg_size[12]; + u8 arg_flags[12]; +}; + +struct btf_type; + +struct bpf_attach_target_info { + struct btf_func_model fmodel; + long int tgt_addr; + struct module *tgt_mod; + const char *tgt_name; + const struct btf_type *tgt_type; +}; + +union bpf_attr { + struct { + __u32 map_type; + __u32 key_size; + __u32 value_size; + __u32 max_entries; + __u32 map_flags; + __u32 inner_map_fd; + __u32 numa_node; + char map_name[16]; + __u32 map_ifindex; + __u32 btf_fd; + __u32 btf_key_type_id; + __u32 btf_value_type_id; + __u32 btf_vmlinux_value_type_id; + __u64 map_extra; + __s32 value_type_btf_obj_fd; + __s32 map_token_fd; + }; + struct { + __u32 map_fd; + __u64 key; + union { + __u64 value; + __u64 next_key; + }; + __u64 flags; + }; + struct { + __u64 in_batch; + __u64 out_batch; + __u64 keys; + __u64 values; + __u32 count; + __u32 map_fd; + __u64 elem_flags; + __u64 flags; + } batch; + struct { + __u32 prog_type; + __u32 insn_cnt; + __u64 insns; + __u64 license; + __u32 log_level; + __u32 log_size; + __u64 log_buf; + __u32 kern_version; + __u32 prog_flags; + char prog_name[16]; + __u32 prog_ifindex; + __u32 expected_attach_type; + __u32 prog_btf_fd; + __u32 func_info_rec_size; + __u64 func_info; + __u32 func_info_cnt; + __u32 line_info_rec_size; + __u64 line_info; + __u32 line_info_cnt; + __u32 attach_btf_id; + union { + __u32 attach_prog_fd; + __u32 attach_btf_obj_fd; + }; + __u32 core_relo_cnt; + __u64 fd_array; + __u64 core_relos; + __u32 core_relo_rec_size; + __u32 log_true_size; + __s32 prog_token_fd; + __u32 fd_array_cnt; + }; + struct { + __u64 pathname; + __u32 bpf_fd; + __u32 file_flags; + __s32 path_fd; + }; + struct { + union { + __u32 target_fd; + __u32 target_ifindex; + }; + __u32 attach_bpf_fd; + __u32 attach_type; + __u32 attach_flags; + __u32 replace_bpf_fd; + union { + __u32 relative_fd; + __u32 relative_id; + }; + __u64 expected_revision; + }; + struct { + __u32 prog_fd; + __u32 retval; + __u32 data_size_in; + __u32 data_size_out; + __u64 data_in; + __u64 data_out; + __u32 repeat; + __u32 duration; + __u32 ctx_size_in; + __u32 ctx_size_out; + __u64 ctx_in; + __u64 ctx_out; + __u32 flags; + __u32 cpu; + __u32 batch_size; + } test; + struct { + union { + __u32 start_id; + __u32 prog_id; + __u32 map_id; + __u32 btf_id; + __u32 link_id; + }; + __u32 next_id; + __u32 open_flags; + __s32 fd_by_id_token_fd; + }; + struct { + __u32 bpf_fd; + __u32 info_len; + __u64 info; + } info; + struct { + union { + __u32 target_fd; + __u32 target_ifindex; + }; + __u32 attach_type; + __u32 query_flags; + __u32 attach_flags; + __u64 prog_ids; + union { + __u32 prog_cnt; + __u32 count; + }; + __u64 prog_attach_flags; + __u64 link_ids; + __u64 link_attach_flags; + __u64 revision; + } query; + struct { + __u64 name; + __u32 prog_fd; + __u64 cookie; + } raw_tracepoint; + struct { + __u64 btf; + __u64 btf_log_buf; + __u32 btf_size; + __u32 btf_log_size; + __u32 btf_log_level; + __u32 btf_log_true_size; + __u32 btf_flags; + __s32 btf_token_fd; + }; + struct { + __u32 pid; + __u32 fd; + __u32 flags; + __u32 buf_len; + __u64 buf; + __u32 prog_id; + __u32 fd_type; + __u64 probe_offset; + __u64 probe_addr; + } task_fd_query; + struct { + union { + __u32 prog_fd; + __u32 map_fd; + }; + union { + __u32 target_fd; + __u32 target_ifindex; + }; + __u32 attach_type; + __u32 flags; + union { + __u32 target_btf_id; + struct { + __u64 iter_info; + __u32 iter_info_len; + }; + struct { + __u64 bpf_cookie; + } perf_event; + struct { + __u32 flags; + __u32 cnt; + __u64 syms; + __u64 addrs; + __u64 cookies; + } kprobe_multi; + struct { + __u32 target_btf_id; + __u64 cookie; + } tracing; + struct { + __u32 pf; + __u32 hooknum; + __s32 priority; + __u32 flags; + } netfilter; + struct { + union { + __u32 relative_fd; + __u32 relative_id; + }; + __u64 expected_revision; + } tcx; + struct { + __u64 path; + __u64 offsets; + __u64 ref_ctr_offsets; + __u64 cookies; + __u32 cnt; + __u32 flags; + __u32 pid; + } uprobe_multi; + struct { + union { + __u32 relative_fd; + __u32 relative_id; + }; + __u64 expected_revision; + } netkit; + struct { + union { + __u32 relative_fd; + __u32 relative_id; + }; + __u64 expected_revision; + } cgroup; + }; + } link_create; + struct { + __u32 link_fd; + union { + __u32 new_prog_fd; + __u32 new_map_fd; + }; + __u32 flags; + union { + __u32 old_prog_fd; + __u32 old_map_fd; + }; + } link_update; + struct { + __u32 link_fd; + } link_detach; + struct { + __u32 type; + } enable_stats; + struct { + __u32 link_fd; + __u32 flags; + } iter_create; + struct { + __u32 prog_fd; + __u32 map_fd; + __u32 flags; + } prog_bind_map; + struct { + __u32 flags; + __u32 bpffs_fd; + } token_create; + struct { + __u64 stream_buf; + __u32 stream_buf_len; + __u32 stream_id; + __u32 prog_fd; + } prog_stream_read; +}; + +struct bpf_binary_header { + u32 size; + long: 0; + u8 image[0]; +}; + +struct bpf_bloom_filter { + struct bpf_map map; + u32 bitset_mask; + u32 hash_seed; + u32 nr_hash_funcs; + long unsigned int bitset[0]; +}; + +struct bpf_bprintf_buffers { + char bin_args[512]; + char buf[1024]; +}; + +struct bpf_bprintf_data { + u32 *bin_args; + char *buf; + bool get_bin_args; + bool get_buf; +}; + +struct bpf_btf_info { + __u64 btf; + __u32 btf_size; + __u32 id; + __u64 name; + __u32 name_len; + __u32 kernel_btf; +}; + +struct btf_field; + +struct bpf_call_arg_meta { + struct bpf_map *map_ptr; + bool raw_mode; + bool pkt_access; + u8 release_regno; + int regno; + int access_size; + int mem_size; + u64 msize_max_value; + int ref_obj_id; + int dynptr_id; + int map_uid; + int func_id; + struct btf *btf; + u32 btf_id; + struct btf *ret_btf; + u32 ret_btf_id; + u32 subprogno; + struct btf_field *kptr_field; + s64 const_map_key; +}; + +struct bpf_cand_cache { + const char *name; + u32 name_len; + u16 kind; + u16 cnt; + struct { + const struct btf *btf; + u32 id; + } cands[0]; +}; + +struct bpf_run_ctx {}; + +struct bpf_prog_array_item; + +struct bpf_cg_run_ctx { + struct bpf_run_ctx run_ctx; + const struct bpf_prog_array_item *prog_item; + int retval; +}; + +struct bpf_cgroup_dev_ctx { + __u32 access_type; + __u32 major; + __u32 minor; +}; + +struct bpf_link_ops; + +struct bpf_link { + atomic64_t refcnt; + u32 id; + enum bpf_link_type type; + const struct bpf_link_ops *ops; + struct bpf_prog *prog; + u32 flags; + enum bpf_attach_type attach_type; + union { + struct callback_head rcu; + struct work_struct work; + }; + bool sleepable; +}; + +struct bpf_cgroup_link { + struct bpf_link link; + struct cgroup *cgroup; +}; + +struct bpf_cgroup_storage_key { + __u64 cgroup_inode_id; + __u32 attach_type; +}; + +struct bpf_storage_buffer; + +struct bpf_cgroup_storage_map; + +struct bpf_cgroup_storage { + union { + struct bpf_storage_buffer *buf; + void *percpu_buf; + }; + struct bpf_cgroup_storage_map *map; + struct bpf_cgroup_storage_key key; + struct list_head list_map; + struct list_head list_cg; + struct rb_node node; + struct callback_head rcu; +}; + +struct bpf_cgroup_storage_map { + struct bpf_map map; + spinlock_t lock; + struct rb_root root; + struct list_head list; +}; + +struct bpf_lru_list { + struct list_head lists[3]; + unsigned int counts[2]; + struct list_head *next_inactive_rotation; + raw_spinlock_t lock; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct bpf_lru_locallist; + +struct bpf_common_lru { + struct bpf_lru_list lru_list; + struct bpf_lru_locallist *local_list; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct bpf_core_accessor { + __u32 type_id; + __u32 idx; + const char *name; +}; + +struct bpf_core_cand { + const struct btf *btf; + __u32 id; +}; + +struct bpf_core_cand_list { + struct bpf_core_cand *cands; + int len; +}; + +struct bpf_verifier_log; + +struct bpf_core_ctx { + struct bpf_verifier_log *log; + const struct btf *btf; +}; + +struct bpf_core_relo { + __u32 insn_off; + __u32 type_id; + __u32 access_str_off; + enum bpf_core_relo_kind kind; +}; + +struct bpf_core_relo_res { + __u64 orig_val; + __u64 new_val; + bool poison; + bool validate; + bool fail_memsz_adjust; + __u32 orig_sz; + __u32 orig_type_id; + __u32 new_sz; + __u32 new_type_id; +}; + +struct bpf_core_spec { + const struct btf *btf; + struct bpf_core_accessor spec[64]; + __u32 root_type_id; + enum bpf_core_relo_kind relo_kind; + int len; + int raw_spec[64]; + int raw_len; + __u32 bit_offset; +}; + +struct bpf_cpu_map_entry; + +struct bpf_cpu_map { + struct bpf_map map; + struct bpf_cpu_map_entry **cpu_map; +}; + +struct bpf_cpumap_val { + __u32 qsize; + union { + int fd; + __u32 id; + } bpf_prog; +}; + +struct gro_list { + struct list_head list; + int count; +}; + +struct gro_node { + long unsigned int bitmask; + struct gro_list hash[8]; + struct list_head rx_list; + u32 rx_count; + u32 cached_napi_id; +}; + +struct xdp_bulk_queue; + +struct ptr_ring; + +struct bpf_cpu_map_entry { + u32 cpu; + int map_id; + struct xdp_bulk_queue *bulkq; + struct ptr_ring *queue; + struct task_struct *kthread; + struct bpf_cpumap_val value; + struct bpf_prog *prog; + struct gro_node gro; + struct completion kthread_running; + struct rcu_work free_work; +}; + +typedef struct cpumask cpumask_t; + +struct bpf_cpumask { + cpumask_t cpumask; + refcount_t usage; +}; + +struct bpf_crypto_type; + +struct bpf_crypto_ctx { + const struct bpf_crypto_type *type; + void *tfm; + u32 siv_len; + struct callback_head rcu; + refcount_t usage; +}; + +struct bpf_crypto_params { + char type[14]; + u8 reserved[2]; + char algo[128]; + u8 key[256]; + u32 key_len; + u32 authsize; +}; + +struct bpf_crypto_type { + void * (*alloc_tfm)(const char *); + void (*free_tfm)(void *); + int (*has_algo)(const char *); + int (*setkey)(void *, const u8 *, unsigned int); + int (*setauthsize)(void *, unsigned int); + int (*encrypt)(void *, const u8 *, u8 *, unsigned int, u8 *); + int (*decrypt)(void *, const u8 *, u8 *, unsigned int, u8 *); + unsigned int (*ivsize)(void *); + unsigned int (*statesize)(void *); + u32 (*get_flags)(void *); + struct module *owner; + char name[14]; +}; + +struct bpf_crypto_type_list { + const struct bpf_crypto_type *type; + struct list_head list; +}; + +struct bpf_ctx_arg_aux { + u32 offset; + enum bpf_reg_type reg_type; + struct btf *btf; + u32 btf_id; + u32 ref_obj_id; + bool refcounted; +}; + +struct skb_ext; + +struct sk_buff { + union { + struct { + struct sk_buff *next; + struct sk_buff *prev; + union { + struct net_device *dev; + long unsigned int dev_scratch; + }; + }; + struct rb_node rbnode; + struct list_head list; + struct llist_node ll_node; + }; + struct sock *sk; + union { + ktime_t tstamp; + u64 skb_mstamp_ns; + }; + char cb[48]; + union { + struct { + long unsigned int _skb_refdst; + void (*destructor)(struct sk_buff *); + }; + struct list_head tcp_tsorted_anchor; + long unsigned int _sk_redir; + }; + long unsigned int _nfct; + unsigned int len; + unsigned int data_len; + __u16 mac_len; + __u16 hdr_len; + __u16 queue_mapping; + __u8 __cloned_offset[0]; + __u8 cloned: 1; + __u8 nohdr: 1; + __u8 fclone: 2; + __u8 peeked: 1; + __u8 head_frag: 1; + __u8 pfmemalloc: 1; + __u8 pp_recycle: 1; + __u8 active_extensions; + union { + struct { + __u8 __pkt_type_offset[0]; + __u8 pkt_type: 3; + __u8 ignore_df: 1; + __u8 dst_pending_confirm: 1; + __u8 ip_summed: 2; + __u8 ooo_okay: 1; + __u8 __mono_tc_offset[0]; + __u8 tstamp_type: 2; + __u8 tc_at_ingress: 1; + __u8 tc_skip_classify: 1; + __u8 remcsum_offload: 1; + __u8 csum_complete_sw: 1; + __u8 csum_level: 2; + __u8 inner_protocol_type: 1; + __u8 l4_hash: 1; + __u8 sw_hash: 1; + __u8 wifi_acked_valid: 1; + __u8 wifi_acked: 1; + __u8 no_fcs: 1; + __u8 encapsulation: 1; + __u8 encap_hdr_csum: 1; + __u8 csum_valid: 1; + __u8 ndisc_nodetype: 2; + __u8 ipvs_property: 1; + __u8 nf_trace: 1; + __u8 offload_fwd_mark: 1; + __u8 offload_l3_fwd_mark: 1; + __u8 redirected: 1; + __u8 from_ingress: 1; + __u8 nf_skip_egress: 1; + __u8 decrypted: 1; + __u8 slow_gro: 1; + __u8 csum_not_inet: 1; + __u8 unreadable: 1; + __u16 tc_index; + u16 alloc_cpu; + union { + __wsum csum; + struct { + __u16 csum_start; + __u16 csum_offset; + }; + }; + __u32 priority; + int skb_iif; + __u32 hash; + union { + u32 vlan_all; + struct { + __be16 vlan_proto; + __u16 vlan_tci; + }; + }; + union { + unsigned int napi_id; + unsigned int sender_cpu; + }; + __u32 secmark; + union { + __u32 mark; + __u32 reserved_tailroom; + }; + union { + __be16 inner_protocol; + __u8 inner_ipproto; + }; + __u16 inner_transport_header; + __u16 inner_network_header; + __u16 inner_mac_header; + __be16 protocol; + __u16 transport_header; + __u16 network_header; + __u16 mac_header; + }; + struct { + __u8 __pkt_type_offset[0]; + __u8 pkt_type: 3; + __u8 ignore_df: 1; + __u8 dst_pending_confirm: 1; + __u8 ip_summed: 2; + __u8 ooo_okay: 1; + __u8 __mono_tc_offset[0]; + __u8 tstamp_type: 2; + __u8 tc_at_ingress: 1; + __u8 tc_skip_classify: 1; + __u8 remcsum_offload: 1; + __u8 csum_complete_sw: 1; + __u8 csum_level: 2; + __u8 inner_protocol_type: 1; + __u8 l4_hash: 1; + __u8 sw_hash: 1; + __u8 wifi_acked_valid: 1; + __u8 wifi_acked: 1; + __u8 no_fcs: 1; + __u8 encapsulation: 1; + __u8 encap_hdr_csum: 1; + __u8 csum_valid: 1; + __u8 ndisc_nodetype: 2; + __u8 ipvs_property: 1; + __u8 nf_trace: 1; + __u8 offload_fwd_mark: 1; + __u8 offload_l3_fwd_mark: 1; + __u8 redirected: 1; + __u8 from_ingress: 1; + __u8 nf_skip_egress: 1; + __u8 decrypted: 1; + __u8 slow_gro: 1; + __u8 csum_not_inet: 1; + __u8 unreadable: 1; + __u16 tc_index; + u16 alloc_cpu; + union { + __wsum csum; + struct { + __u16 csum_start; + __u16 csum_offset; + }; + }; + __u32 priority; + int skb_iif; + __u32 hash; + union { + u32 vlan_all; + struct { + __be16 vlan_proto; + __u16 vlan_tci; + }; + }; + union { + unsigned int napi_id; + unsigned int sender_cpu; + }; + __u32 secmark; + union { + __u32 mark; + __u32 reserved_tailroom; + }; + union { + __be16 inner_protocol; + __u8 inner_ipproto; + }; + __u16 inner_transport_header; + __u16 inner_network_header; + __u16 inner_mac_header; + __be16 protocol; + __u16 transport_header; + __u16 network_header; + __u16 mac_header; + } headers; + }; + sk_buff_data_t tail; + sk_buff_data_t end; + unsigned char *head; + unsigned char *data; + unsigned int truesize; + refcount_t users; + struct skb_ext *extensions; +}; + +struct xdp_md { + __u32 data; + __u32 data_end; + __u32 data_meta; + __u32 ingress_ifindex; + __u32 rx_queue_index; + __u32 egress_ifindex; +}; + +struct xdp_rxq_info; + +struct xdp_txq_info; + +struct xdp_buff { + void *data; + void *data_end; + void *data_meta; + void *data_hard_start; + struct xdp_rxq_info *rxq; + struct xdp_txq_info *txq; + u32 frame_sz; + u32 flags; +}; + +struct bpf_sock { + __u32 bound_dev_if; + __u32 family; + __u32 type; + __u32 protocol; + __u32 mark; + __u32 priority; + __u32 src_ip4; + __u32 src_ip6[4]; + __u32 src_port; + __be16 dst_port; + __u32 dst_ip4; + __u32 dst_ip6[4]; + __u32 state; + __s32 rx_queue_mapping; +}; + +struct hlist_nulls_node { + struct hlist_nulls_node *next; + struct hlist_nulls_node **pprev; +}; + +struct proto; + +struct inet_timewait_death_row; + +struct sock_common { + union { + __addrpair skc_addrpair; + struct { + __be32 skc_daddr; + __be32 skc_rcv_saddr; + }; + }; + union { + unsigned int skc_hash; + __u16 skc_u16hashes[2]; + }; + union { + __portpair skc_portpair; + struct { + __be16 skc_dport; + __u16 skc_num; + }; + }; + short unsigned int skc_family; + volatile unsigned char skc_state; + unsigned char skc_reuse: 4; + unsigned char skc_reuseport: 1; + unsigned char skc_ipv6only: 1; + unsigned char skc_net_refcnt: 1; + int skc_bound_dev_if; + union { + struct hlist_node skc_bind_node; + struct hlist_node skc_portaddr_node; + }; + struct proto *skc_prot; + possible_net_t skc_net; + struct in6_addr skc_v6_daddr; + struct in6_addr skc_v6_rcv_saddr; + atomic64_t skc_cookie; + union { + long unsigned int skc_flags; + struct sock *skc_listener; + struct inet_timewait_death_row *skc_tw_dr; + }; + int skc_dontcopy_begin[0]; + union { + struct hlist_node skc_node; + struct hlist_nulls_node skc_nulls_node; + }; + short unsigned int skc_tx_queue_mapping; + short unsigned int skc_rx_queue_mapping; + union { + int skc_incoming_cpu; + u32 skc_rcv_wnd; + u32 skc_tw_rcv_nxt; + }; + refcount_t skc_refcnt; + int skc_dontcopy_end[0]; + union { + u32 skc_rxhash; + u32 skc_window_clamp; + u32 skc_tw_snd_nxt; + }; +}; + +struct page_frag { + struct page *page; + __u32 offset; + __u32 size; +}; + +struct sock_cgroup_data { + struct cgroup *cgroup; + u32 classid; + u16 prioidx; +}; + +struct dst_entry; + +struct sk_filter; + +struct socket_wq; + +struct socket; + +struct mem_cgroup; + +struct xfrm_policy; + +struct sock_reuseport; + +struct bpf_local_storage; + +struct sock { + struct sock_common __sk_common; + __u8 __cacheline_group_begin__sock_write_rx[0]; + atomic_t sk_drops; + __s32 sk_peek_off; + struct sk_buff_head sk_error_queue; + struct sk_buff_head sk_receive_queue; + struct { + atomic_t rmem_alloc; + int len; + struct sk_buff *head; + struct sk_buff *tail; + } sk_backlog; + __u8 __cacheline_group_end__sock_write_rx[0]; + __u8 __cacheline_group_begin__sock_read_rx[0]; + struct dst_entry *sk_rx_dst; + int sk_rx_dst_ifindex; + u32 sk_rx_dst_cookie; + unsigned int sk_ll_usec; + unsigned int sk_napi_id; + u16 sk_busy_poll_budget; + u8 sk_prefer_busy_poll; + u8 sk_userlocks; + int sk_rcvbuf; + struct sk_filter *sk_filter; + union { + struct socket_wq *sk_wq; + struct socket_wq *sk_wq_raw; + }; + void (*sk_data_ready)(struct sock *); + long int sk_rcvtimeo; + int sk_rcvlowat; + __u8 __cacheline_group_end__sock_read_rx[0]; + __u8 __cacheline_group_begin__sock_read_rxtx[0]; + int sk_err; + struct socket *sk_socket; + struct mem_cgroup *sk_memcg; + struct xfrm_policy *sk_policy[2]; + __u8 __cacheline_group_end__sock_read_rxtx[0]; + __u8 __cacheline_group_begin__sock_write_rxtx[0]; + socket_lock_t sk_lock; + u32 sk_reserved_mem; + int sk_forward_alloc; + u32 sk_tsflags; + __u8 __cacheline_group_end__sock_write_rxtx[0]; + __u8 __cacheline_group_begin__sock_write_tx[0]; + int sk_write_pending; + atomic_t sk_omem_alloc; + int sk_sndbuf; + int sk_wmem_queued; + refcount_t sk_wmem_alloc; + long unsigned int sk_tsq_flags; + union { + struct sk_buff *sk_send_head; + struct rb_root tcp_rtx_queue; + }; + struct sk_buff_head sk_write_queue; + u32 sk_dst_pending_confirm; + u32 sk_pacing_status; + struct page_frag sk_frag; + struct timer_list sk_timer; + long unsigned int sk_pacing_rate; + atomic_t sk_zckey; + atomic_t sk_tskey; + __u8 __cacheline_group_end__sock_write_tx[0]; + __u8 __cacheline_group_begin__sock_read_tx[0]; + long unsigned int sk_max_pacing_rate; + long int sk_sndtimeo; + u32 sk_priority; + u32 sk_mark; + struct dst_entry *sk_dst_cache; + netdev_features_t sk_route_caps; + struct sk_buff * (*sk_validate_xmit_skb)(struct sock *, struct net_device *, struct sk_buff *); + u16 sk_gso_type; + u16 sk_gso_max_segs; + unsigned int sk_gso_max_size; + gfp_t sk_allocation; + u32 sk_txhash; + u8 sk_pacing_shift; + bool sk_use_task_frag; + __u8 __cacheline_group_end__sock_read_tx[0]; + u8 sk_gso_disabled: 1; + u8 sk_kern_sock: 1; + u8 sk_no_check_tx: 1; + u8 sk_no_check_rx: 1; + u8 sk_shutdown; + u16 sk_type; + u16 sk_protocol; + long unsigned int sk_lingertime; + struct proto *sk_prot_creator; + rwlock_t sk_callback_lock; + int sk_err_soft; + u32 sk_ack_backlog; + u32 sk_max_ack_backlog; + kuid_t sk_uid; + long unsigned int sk_ino; + spinlock_t sk_peer_lock; + int sk_bind_phc; + struct pid *sk_peer_pid; + const struct cred *sk_peer_cred; + ktime_t sk_stamp; + int sk_disconnects; + union { + u8 sk_txrehash; + u8 sk_scm_recv_flags; + struct { + u8 sk_scm_credentials: 1; + u8 sk_scm_security: 1; + u8 sk_scm_pidfd: 1; + u8 sk_scm_rights: 1; + u8 sk_scm_unused: 4; + }; + }; + u8 sk_clockid; + u8 sk_txtime_deadline_mode: 1; + u8 sk_txtime_report_errors: 1; + u8 sk_txtime_unused: 6; + u8 sk_bpf_cb_flags; + void *sk_user_data; + void *sk_security; + struct sock_cgroup_data sk_cgrp_data; + void (*sk_state_change)(struct sock *); + void (*sk_write_space)(struct sock *); + void (*sk_error_report)(struct sock *); + int (*sk_backlog_rcv)(struct sock *, struct sk_buff *); + void (*sk_destruct)(struct sock *); + struct sock_reuseport *sk_reuseport_cb; + struct bpf_local_storage *sk_bpf_storage; + struct callback_head sk_rcu; + netns_tracker ns_tracker; + struct xarray sk_user_frags; +}; + +struct bpf_sock_addr { + __u32 user_family; + __u32 user_ip4; + __u32 user_ip6[4]; + __u32 user_port; + __u32 family; + __u32 type; + __u32 protocol; + __u32 msg_src_ip4; + __u32 msg_src_ip6[4]; + union { + struct bpf_sock *sk; + }; +}; + +struct bpf_sock_addr_kern { + struct sock *sk; + struct sockaddr *uaddr; + u64 tmp_reg; + void *t_ctx; + u32 uaddrlen; +}; + +struct bpf_sock_ops { + __u32 op; + union { + __u32 args[4]; + __u32 reply; + __u32 replylong[4]; + }; + __u32 family; + __u32 remote_ip4; + __u32 local_ip4; + __u32 remote_ip6[4]; + __u32 local_ip6[4]; + __u32 remote_port; + __u32 local_port; + __u32 is_fullsock; + __u32 snd_cwnd; + __u32 srtt_us; + __u32 bpf_sock_ops_cb_flags; + __u32 state; + __u32 rtt_min; + __u32 snd_ssthresh; + __u32 rcv_nxt; + __u32 snd_nxt; + __u32 snd_una; + __u32 mss_cache; + __u32 ecn_flags; + __u32 rate_delivered; + __u32 rate_interval_us; + __u32 packets_out; + __u32 retrans_out; + __u32 total_retrans; + __u32 segs_in; + __u32 data_segs_in; + __u32 segs_out; + __u32 data_segs_out; + __u32 lost_out; + __u32 sacked_out; + __u32 sk_txhash; + __u64 bytes_received; + __u64 bytes_acked; + union { + struct bpf_sock *sk; + }; + union { + void *skb_data; + }; + union { + void *skb_data_end; + }; + __u32 skb_len; + __u32 skb_tcp_flags; + __u64 skb_hwtstamp; +}; + +struct bpf_sock_ops_kern { + struct sock *sk; + union { + u32 args[4]; + u32 reply; + u32 replylong[4]; + }; + struct sk_buff *syn_skb; + struct sk_buff *skb; + void *skb_data_end; + u8 op; + u8 is_fullsock; + u8 is_locked_tcp_sock; + u8 remaining_opt_len; + u64 temp; +}; + +struct sk_msg_md { + union { + void *data; + }; + union { + void *data_end; + }; + __u32 family; + __u32 remote_ip4; + __u32 local_ip4; + __u32 remote_ip6[4]; + __u32 local_ip6[4]; + __u32 remote_port; + __u32 local_port; + __u32 size; + union { + struct bpf_sock *sk; + }; +}; + +struct sk_msg_sg { + u32 start; + u32 curr; + u32 end; + u32 size; + u32 copybreak; + long unsigned int copy[1]; + struct scatterlist data[19]; +}; + +struct sk_msg { + struct sk_msg_sg sg; + void *data; + void *data_end; + u32 apply_bytes; + u32 cork_bytes; + u32 flags; + struct sk_buff *skb; + struct sock *sk_redir; + struct sock *sk; + struct list_head list; +}; + +struct bpf_flow_dissector { + struct bpf_flow_keys *flow_keys; + const struct sk_buff *skb; + const void *data; + const void *data_end; +}; + +typedef struct pt_regs bpf_user_pt_regs_t; + +struct bpf_perf_event_data { + bpf_user_pt_regs_t regs; + __u64 sample_period; + __u64 addr; +}; + +struct perf_sample_data; + +struct bpf_perf_event_data_kern { + bpf_user_pt_regs_t *regs; + struct perf_sample_data *data; + struct perf_event *event; +}; + +struct bpf_raw_tracepoint_args { + __u64 args[0]; +}; + +struct bpf_sysctl { + __u32 write; + __u32 file_pos; +}; + +struct ctl_table; + +struct bpf_sysctl_kern { + struct ctl_table_header *head; + const struct ctl_table *table; + void *cur_val; + size_t cur_len; + void *new_val; + size_t new_len; + int new_updated; + int write; + loff_t *ppos; + u64 tmp_reg; +}; + +struct bpf_sockopt { + union { + struct bpf_sock *sk; + }; + union { + void *optval; + }; + union { + void *optval_end; + }; + __s32 level; + __s32 optname; + __s32 optlen; + __s32 retval; +}; + +struct bpf_sockopt_kern { + struct sock *sk; + u8 *optval; + u8 *optval_end; + s32 level; + s32 optname; + s32 optlen; + struct task_struct *current_task; + u64 tmp_reg; +}; + +struct sk_reuseport_md { + union { + void *data; + }; + union { + void *data_end; + }; + __u32 len; + __u32 eth_protocol; + __u32 ip_protocol; + __u32 bind_inany; + __u32 hash; + union { + struct bpf_sock *sk; + }; + union { + struct bpf_sock *migrating_sk; + }; +}; + +struct sk_reuseport_kern { + struct sk_buff *skb; + struct sock *sk; + struct sock *selected_sk; + struct sock *migrating_sk; + void *data_end; + u32 hash; + u32 reuseport_id; + bool bind_inany; +}; + +struct bpf_sk_lookup { + union { + union { + struct bpf_sock *sk; + }; + __u64 cookie; + }; + __u32 family; + __u32 protocol; + __u32 remote_ip4; + __u32 remote_ip6[4]; + __be16 remote_port; + __u32 local_ip4; + __u32 local_ip6[4]; + __u32 local_port; + __u32 ingress_ifindex; +}; + +struct bpf_sk_lookup_kern { + u16 family; + u16 protocol; + __be16 sport; + u16 dport; + struct { + __be32 saddr; + __be32 daddr; + } v4; + struct { + const struct in6_addr *saddr; + const struct in6_addr *daddr; + } v6; + struct sock *selected_sk; + u32 ingress_ifindex; + bool no_reuseport; +}; + +struct nf_hook_state; + +struct bpf_nf_ctx { + const struct nf_hook_state *state; + struct sk_buff *skb; +}; + +struct bpf_ctx_convert { + struct __sk_buff BPF_PROG_TYPE_SOCKET_FILTER_prog; + struct sk_buff BPF_PROG_TYPE_SOCKET_FILTER_kern; + struct __sk_buff BPF_PROG_TYPE_SCHED_CLS_prog; + struct sk_buff BPF_PROG_TYPE_SCHED_CLS_kern; + struct __sk_buff BPF_PROG_TYPE_SCHED_ACT_prog; + struct sk_buff BPF_PROG_TYPE_SCHED_ACT_kern; + struct xdp_md BPF_PROG_TYPE_XDP_prog; + struct xdp_buff BPF_PROG_TYPE_XDP_kern; + struct __sk_buff BPF_PROG_TYPE_CGROUP_SKB_prog; + struct sk_buff BPF_PROG_TYPE_CGROUP_SKB_kern; + struct bpf_sock BPF_PROG_TYPE_CGROUP_SOCK_prog; + struct sock BPF_PROG_TYPE_CGROUP_SOCK_kern; + struct bpf_sock_addr BPF_PROG_TYPE_CGROUP_SOCK_ADDR_prog; + struct bpf_sock_addr_kern BPF_PROG_TYPE_CGROUP_SOCK_ADDR_kern; + struct __sk_buff BPF_PROG_TYPE_LWT_IN_prog; + struct sk_buff BPF_PROG_TYPE_LWT_IN_kern; + struct __sk_buff BPF_PROG_TYPE_LWT_OUT_prog; + struct sk_buff BPF_PROG_TYPE_LWT_OUT_kern; + struct __sk_buff BPF_PROG_TYPE_LWT_XMIT_prog; + struct sk_buff BPF_PROG_TYPE_LWT_XMIT_kern; + struct __sk_buff BPF_PROG_TYPE_LWT_SEG6LOCAL_prog; + struct sk_buff BPF_PROG_TYPE_LWT_SEG6LOCAL_kern; + struct bpf_sock_ops BPF_PROG_TYPE_SOCK_OPS_prog; + struct bpf_sock_ops_kern BPF_PROG_TYPE_SOCK_OPS_kern; + struct __sk_buff BPF_PROG_TYPE_SK_SKB_prog; + struct sk_buff BPF_PROG_TYPE_SK_SKB_kern; + struct sk_msg_md BPF_PROG_TYPE_SK_MSG_prog; + struct sk_msg BPF_PROG_TYPE_SK_MSG_kern; + struct __sk_buff BPF_PROG_TYPE_FLOW_DISSECTOR_prog; + struct bpf_flow_dissector BPF_PROG_TYPE_FLOW_DISSECTOR_kern; + bpf_user_pt_regs_t BPF_PROG_TYPE_KPROBE_prog; + struct pt_regs BPF_PROG_TYPE_KPROBE_kern; + __u64 BPF_PROG_TYPE_TRACEPOINT_prog; + u64 BPF_PROG_TYPE_TRACEPOINT_kern; + struct bpf_perf_event_data BPF_PROG_TYPE_PERF_EVENT_prog; + struct bpf_perf_event_data_kern BPF_PROG_TYPE_PERF_EVENT_kern; + struct bpf_raw_tracepoint_args BPF_PROG_TYPE_RAW_TRACEPOINT_prog; + u64 BPF_PROG_TYPE_RAW_TRACEPOINT_kern; + struct bpf_raw_tracepoint_args BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE_prog; + u64 BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE_kern; + void *BPF_PROG_TYPE_TRACING_prog; + void *BPF_PROG_TYPE_TRACING_kern; + struct bpf_cgroup_dev_ctx BPF_PROG_TYPE_CGROUP_DEVICE_prog; + struct bpf_cgroup_dev_ctx BPF_PROG_TYPE_CGROUP_DEVICE_kern; + struct bpf_sysctl BPF_PROG_TYPE_CGROUP_SYSCTL_prog; + struct bpf_sysctl_kern BPF_PROG_TYPE_CGROUP_SYSCTL_kern; + struct bpf_sockopt BPF_PROG_TYPE_CGROUP_SOCKOPT_prog; + struct bpf_sockopt_kern BPF_PROG_TYPE_CGROUP_SOCKOPT_kern; + struct sk_reuseport_md BPF_PROG_TYPE_SK_REUSEPORT_prog; + struct sk_reuseport_kern BPF_PROG_TYPE_SK_REUSEPORT_kern; + struct bpf_sk_lookup BPF_PROG_TYPE_SK_LOOKUP_prog; + struct bpf_sk_lookup_kern BPF_PROG_TYPE_SK_LOOKUP_kern; + void *BPF_PROG_TYPE_STRUCT_OPS_prog; + void *BPF_PROG_TYPE_STRUCT_OPS_kern; + void *BPF_PROG_TYPE_EXT_prog; + void *BPF_PROG_TYPE_EXT_kern; + void *BPF_PROG_TYPE_LSM_prog; + void *BPF_PROG_TYPE_LSM_kern; + void *BPF_PROG_TYPE_SYSCALL_prog; + void *BPF_PROG_TYPE_SYSCALL_kern; + struct bpf_nf_ctx BPF_PROG_TYPE_NETFILTER_prog; + struct bpf_nf_ctx BPF_PROG_TYPE_NETFILTER_kern; +}; + +struct bpf_devmap_val { + __u32 ifindex; + union { + int fd; + __u32 id; + } bpf_prog; +}; + +struct bpf_dispatcher_prog { + struct bpf_prog *prog; + refcount_t users; +}; + +struct latch_tree_node { + struct rb_node node[2]; +}; + +struct bpf_ksym { + long unsigned int start; + long unsigned int end; + char name[512]; + struct list_head lnode; + struct latch_tree_node tnode; + bool prog; +}; + +struct static_call_key; + +struct bpf_dispatcher { + struct mutex mutex; + void *func; + struct bpf_dispatcher_prog progs[48]; + int num_progs; + void *image; + void *rw_image; + u32 image_off; + struct bpf_ksym ksym; + struct static_call_key *sc_key; + void *sc_tramp; +}; + +struct bpf_dtab_netdev; + +struct bpf_dtab { + struct bpf_map map; + struct bpf_dtab_netdev **netdev_map; + struct list_head list; + struct hlist_head *dev_index_head; + spinlock_t index_lock; + unsigned int items; + u32 n_buckets; +}; + +struct bpf_dtab_netdev { + struct net_device *dev; + struct hlist_node index_hlist; + struct bpf_prog *xdp_prog; + struct callback_head rcu; + unsigned int idx; + struct bpf_devmap_val val; +}; + +struct bpf_dummy_ops_state; + +struct bpf_dummy_ops { + int (*test_1)(struct bpf_dummy_ops_state *); + int (*test_2)(struct bpf_dummy_ops_state *, int, short unsigned int, char, long unsigned int); + int (*test_sleepable)(struct bpf_dummy_ops_state *); +}; + +struct bpf_dummy_ops_state { + int val; +}; + +struct bpf_dummy_ops_test_args { + u64 args[12]; + struct bpf_dummy_ops_state state; +}; + +struct bpf_dynptr { + __u64 __opaque[2]; +}; + +struct bpf_dynptr_kern { + void *data; + u32 size; + u32 offset; +}; + +struct bpf_prog_array_item { + struct bpf_prog *prog; + union { + struct bpf_cgroup_storage *cgroup_storage[2]; + u64 bpf_cookie; + }; +}; + +struct bpf_prog_array { + struct callback_head rcu; + struct bpf_prog_array_item items[0]; +}; + +struct bpf_empty_prog_array { + struct bpf_prog_array hdr; + struct bpf_prog *null_prog; +}; + +struct bpf_event_entry { + struct perf_event *event; + struct file *perf_file; + struct file *map_file; + struct callback_head rcu; +}; + +struct bpf_fentry_test_t { + struct bpf_fentry_test_t *a; +}; + +struct bpf_fib_lookup { + __u8 family; + __u8 l4_protocol; + __be16 sport; + __be16 dport; + union { + __u16 tot_len; + __u16 mtu_result; + }; + __u32 ifindex; + union { + __u8 tos; + __be32 flowinfo; + __u32 rt_metric; + }; + union { + __be32 ipv4_src; + __u32 ipv6_src[4]; + }; + union { + __be32 ipv4_dst; + __u32 ipv6_dst[4]; + }; + union { + struct { + __be16 h_vlan_proto; + __be16 h_vlan_TCI; + }; + __u32 tbid; + }; + union { + struct { + __u32 mark; + }; + struct { + __u8 smac[6]; + __u8 dmac[6]; + }; + }; +}; + +struct bpf_flow_keys { + __u16 nhoff; + __u16 thoff; + __u16 addr_proto; + __u8 is_frag; + __u8 is_first_frag; + __u8 is_encap; + __u8 ip_proto; + __be16 n_proto; + __be16 sport; + __be16 dport; + union { + struct { + __be32 ipv4_src; + __be32 ipv4_dst; + }; + struct { + __u32 ipv6_src[4]; + __u32 ipv6_dst[4]; + }; + }; + __u32 flags; + __be32 flow_label; +}; + +struct bpf_func_info { + __u32 insn_off; + __u32 type_id; +}; + +struct bpf_func_info_aux { + u16 linkage; + bool unreliable; + bool called: 1; + bool verified: 1; +}; + +struct bpf_func_proto { + u64 (*func)(u64, u64, u64, u64, u64); + bool gpl_only; + bool pkt_access; + bool might_sleep; + bool allow_fastcall; + enum bpf_return_type ret_type; + union { + struct { + enum bpf_arg_type arg1_type; + enum bpf_arg_type arg2_type; + enum bpf_arg_type arg3_type; + enum bpf_arg_type arg4_type; + enum bpf_arg_type arg5_type; + }; + enum bpf_arg_type arg_type[5]; + }; + union { + struct { + u32 *arg1_btf_id; + u32 *arg2_btf_id; + u32 *arg3_btf_id; + u32 *arg4_btf_id; + u32 *arg5_btf_id; + }; + u32 *arg_btf_id[5]; + struct { + size_t arg1_size; + size_t arg2_size; + size_t arg3_size; + size_t arg4_size; + size_t arg5_size; + }; + size_t arg_size[5]; + }; + int *ret_btf_id; + bool (*allowed)(const struct bpf_prog *); +}; + +struct tnum { + u64 value; + u64 mask; +}; + +struct bpf_reg_state { + enum bpf_reg_type type; + s32 off; + union { + int range; + struct { + struct bpf_map *map_ptr; + u32 map_uid; + }; + struct { + struct btf *btf; + u32 btf_id; + }; + struct { + u32 mem_size; + u32 dynptr_id; + }; + struct { + enum bpf_dynptr_type type; + bool first_slot; + } dynptr; + struct { + struct btf *btf; + u32 btf_id; + enum bpf_iter_state state: 2; + int depth: 30; + } iter; + struct { + enum { + IRQ_NATIVE_KFUNC = 0, + IRQ_LOCK_KFUNC = 1, + } kfunc_class; + } irq; + struct { + long unsigned int raw1; + long unsigned int raw2; + } raw; + u32 subprogno; + }; + struct tnum var_off; + s64 smin_value; + s64 smax_value; + u64 umin_value; + u64 umax_value; + s32 s32_min_value; + s32 s32_max_value; + u32 u32_min_value; + u32 u32_max_value; + u32 id; + u32 ref_obj_id; + struct bpf_reg_state *parent; + u32 frameno; + s32 subreg_def; + enum bpf_reg_liveness live; + bool precise; +}; + +struct bpf_retval_range { + s32 minval; + s32 maxval; +}; + +struct bpf_stack_state; + +struct bpf_func_state { + struct bpf_reg_state regs[11]; + int callsite; + u32 frameno; + u32 subprogno; + u32 async_entry_cnt; + struct bpf_retval_range callback_ret_range; + bool in_callback_fn; + bool in_async_callback_fn; + bool in_exception_callback_fn; + u32 callback_depth; + struct bpf_stack_state *stack; + int allocated_stack; +}; + +struct bpf_hrtimer { + struct bpf_async_cb cb; + struct hrtimer timer; + atomic_t cancelling; +}; + +struct bpf_mem_caches; + +struct bpf_mem_cache; + +struct bpf_mem_alloc { + struct bpf_mem_caches *caches; + struct bpf_mem_cache *cache; + struct obj_cgroup *objcg; + bool percpu; + struct work_struct work; +}; + +struct pcpu_freelist_head; + +struct pcpu_freelist { + struct pcpu_freelist_head *freelist; +}; + +struct bpf_lru_node; + +typedef bool (*del_from_htab_func)(void *, struct bpf_lru_node *); + +struct bpf_lru { + union { + struct bpf_common_lru common_lru; + struct bpf_lru_list *percpu_lru; + }; + del_from_htab_func del_from_htab; + void *del_arg; + unsigned int hash_offset; + unsigned int target_free; + unsigned int nr_scans; + bool percpu; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct bucket; + +struct htab_elem; + +struct bpf_htab { + struct bpf_map map; + struct bpf_mem_alloc ma; + struct bpf_mem_alloc pcpu_ma; + struct bucket *buckets; + void *elems; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + union { + struct pcpu_freelist freelist; + struct bpf_lru lru; + }; + struct htab_elem **extra_elems; + struct percpu_counter pcount; + atomic_t count; + bool use_percpu_counter; + u32 n_buckets; + u32 elem_size; + u32 hashrnd; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct bpf_id_pair { + u32 old; + u32 cur; +}; + +struct bpf_idmap { + u32 tmp_id_gen; + struct bpf_id_pair map[600]; +}; + +struct bpf_idset { + u32 count; + u32 ids[600]; +}; + +struct bpf_insn { + __u8 code; + __u8 dst_reg: 4; + __u8 src_reg: 4; + __s16 off; + __s32 imm; +}; + +struct bpf_insn_access_aux { + enum bpf_reg_type reg_type; + bool is_ldsx; + union { + int ctx_field_size; + struct { + struct btf *btf; + u32 btf_id; + u32 ref_obj_id; + }; + }; + struct bpf_verifier_log *log; + bool is_retval; +}; + +struct bpf_map_ptr_state { + struct bpf_map *map_ptr; + bool poison; + bool unpriv; +}; + +struct bpf_loop_inline_state { + unsigned int initialized: 1; + unsigned int fit_for_inline: 1; + u32 callback_subprogno; +}; + +struct btf_struct_meta; + +struct bpf_insn_aux_data { + union { + enum bpf_reg_type ptr_type; + struct bpf_map_ptr_state map_ptr_state; + s32 call_imm; + u32 alu_limit; + struct { + u32 map_index; + u32 map_off; + }; + struct { + enum bpf_reg_type reg_type; + union { + struct { + struct btf *btf; + u32 btf_id; + }; + u32 mem_size; + }; + } btf_var; + struct bpf_loop_inline_state loop_inline_state; + }; + union { + u64 obj_new_size; + u64 insert_off; + }; + struct btf_struct_meta *kptr_struct_meta; + u64 map_key_state; + int ctx_field_size; + u32 seen; + bool nospec; + bool nospec_result; + bool zext_dst; + bool needs_zext; + bool storage_get_func_atomic; + bool is_iter_next; + bool call_with_percpu_alloc_ptr; + u8 alu_state; + u8 fastcall_pattern: 1; + u8 fastcall_spills_num: 3; + u8 arg_prog: 4; + unsigned int orig_idx; + bool jmp_point; + bool prune_point; + bool force_checkpoint; + bool calls_callback; + u32 scc; + u16 live_regs_before; +}; + +typedef void (*bpf_insn_print_t)(void *, const char *, ...); + +typedef const char * (*bpf_insn_revmap_call_t)(void *, const struct bpf_insn *); + +typedef const char * (*bpf_insn_print_imm_t)(void *, const struct bpf_insn *, __u64); + +struct bpf_insn_cbs { + bpf_insn_print_t cb_print; + bpf_insn_revmap_call_t cb_call; + bpf_insn_print_imm_t cb_imm; + void *private_data; +}; + +struct bpf_iter_meta; + +struct bpf_iter__bpf_link { + union { + struct bpf_iter_meta *meta; + }; + union { + struct bpf_link *link; + }; +}; + +struct bpf_iter__bpf_map { + union { + struct bpf_iter_meta *meta; + }; + union { + struct bpf_map *map; + }; +}; + +struct bpf_iter__bpf_map_elem { + union { + struct bpf_iter_meta *meta; + }; + union { + struct bpf_map *map; + }; + union { + void *key; + }; + union { + void *value; + }; +}; + +struct bpf_iter__bpf_prog { + union { + struct bpf_iter_meta *meta; + }; + union { + struct bpf_prog *prog; + }; +}; + +struct bpf_iter__bpf_sk_storage_map { + union { + struct bpf_iter_meta *meta; + }; + union { + struct bpf_map *map; + }; + union { + struct sock *sk; + }; + union { + void *value; + }; +}; + +struct bpf_iter__cgroup { + union { + struct bpf_iter_meta *meta; + }; + union { + struct cgroup *cgroup; + }; +}; + +struct dma_buf; + +struct bpf_iter__dmabuf { + union { + struct bpf_iter_meta *meta; + }; + union { + struct dma_buf *dmabuf; + }; +}; + +struct fib6_info; + +struct bpf_iter__ipv6_route { + union { + struct bpf_iter_meta *meta; + }; + union { + struct fib6_info *rt; + }; +}; + +struct bpf_iter__kmem_cache { + union { + struct bpf_iter_meta *meta; + }; + union { + struct kmem_cache *s; + }; +}; + +struct kallsym_iter; + +struct bpf_iter__ksym { + union { + struct bpf_iter_meta *meta; + }; + union { + struct kallsym_iter *ksym; + }; +}; + +struct netlink_sock; + +struct bpf_iter__netlink { + union { + struct bpf_iter_meta *meta; + }; + union { + struct netlink_sock *sk; + }; +}; + +struct bpf_iter__sockmap { + union { + struct bpf_iter_meta *meta; + }; + union { + struct bpf_map *map; + }; + union { + void *key; + }; + union { + struct sock *sk; + }; +}; + +struct bpf_iter__task { + union { + struct bpf_iter_meta *meta; + }; + union { + struct task_struct *task; + }; +}; + +struct bpf_iter__task__safe_trusted { + struct bpf_iter_meta *meta; + struct task_struct *task; +}; + +struct bpf_iter__task_file { + union { + struct bpf_iter_meta *meta; + }; + union { + struct task_struct *task; + }; + u32 fd; + union { + struct file *file; + }; +}; + +struct bpf_iter__task_vma { + union { + struct bpf_iter_meta *meta; + }; + union { + struct task_struct *task; + }; + union { + struct vm_area_struct *vma; + }; +}; + +struct bpf_iter__tcp { + union { + struct bpf_iter_meta *meta; + }; + union { + struct sock_common *sk_common; + }; + uid_t uid; +}; + +struct udp_sock; + +struct bpf_iter__udp { + union { + struct bpf_iter_meta *meta; + }; + union { + struct udp_sock *udp_sk; + }; + uid_t uid; + long: 0; + int bucket; +}; + +struct unix_sock; + +struct bpf_iter__unix { + union { + struct bpf_iter_meta *meta; + }; + union { + struct unix_sock *unix_sk; + }; + uid_t uid; +}; + +struct bpf_iter_aux_info { + struct bpf_map *map; + struct { + struct cgroup *start; + enum bpf_cgroup_iter_order order; + } cgroup; + struct { + enum bpf_iter_task_type type; + u32 pid; + } task; +}; + +struct bpf_iter_bits { + __u64 __opaque[2]; +}; + +struct bpf_iter_bits_kern { + union { + __u64 *bits; + __u64 bits_copy; + }; + int nr_bits; + int bit; +}; + +struct bpf_iter_css { + __u64 __opaque[3]; +}; + +struct bpf_iter_css_kern { + struct cgroup_subsys_state *start; + struct cgroup_subsys_state *pos; + unsigned int flags; +}; + +struct bpf_iter_css_task { + __u64 __opaque[1]; +}; + +struct css_task_iter; + +struct bpf_iter_css_task_kern { + struct css_task_iter *css_it; +}; + +struct bpf_iter_dmabuf { + __u64 __opaque[1]; +}; + +struct bpf_iter_dmabuf_kern { + struct dma_buf *dmabuf; +}; + +struct bpf_iter_kmem_cache { + __u64 __opaque[1]; +}; + +struct bpf_iter_kmem_cache_kern { + struct kmem_cache *pos; +}; + +struct bpf_iter_target_info; + +struct bpf_iter_link { + struct bpf_link link; + struct bpf_iter_aux_info aux; + struct bpf_iter_target_info *tinfo; +}; + +union bpf_iter_link_info { + struct { + __u32 map_fd; + } map; + struct { + enum bpf_cgroup_iter_order order; + __u32 cgroup_fd; + __u64 cgroup_id; + } cgroup; + struct { + __u32 tid; + __u32 pid; + __u32 pid_fd; + } task; +}; + +struct bpf_iter_meta { + union { + struct seq_file *seq; + }; + u64 session_id; + u64 seq_num; +}; + +struct bpf_iter_meta__safe_trusted { + struct seq_file *seq; +}; + +struct bpf_iter_num { + __u64 __opaque[1]; +}; + +struct bpf_iter_num_kern { + int cur; + int end; +}; + +struct bpf_iter_seq_info; + +struct bpf_iter_priv_data { + struct bpf_iter_target_info *tinfo; + const struct bpf_iter_seq_info *seq_info; + struct bpf_prog *prog; + u64 session_id; + u64 seq_num; + bool done_stop; + long: 0; + u8 target_private[0]; +}; + +typedef int (*bpf_iter_attach_target_t)(struct bpf_prog *, union bpf_iter_link_info *, struct bpf_iter_aux_info *); + +typedef void (*bpf_iter_detach_target_t)(struct bpf_iter_aux_info *); + +typedef void (*bpf_iter_show_fdinfo_t)(const struct bpf_iter_aux_info *, struct seq_file *); + +struct bpf_link_info; + +typedef int (*bpf_iter_fill_link_info_t)(const struct bpf_iter_aux_info *, struct bpf_link_info *); + +typedef const struct bpf_func_proto * (*bpf_iter_get_func_proto_t)(enum bpf_func_id, const struct bpf_prog *); + +struct bpf_iter_reg { + const char *target; + bpf_iter_attach_target_t attach_target; + bpf_iter_detach_target_t detach_target; + bpf_iter_show_fdinfo_t show_fdinfo; + bpf_iter_fill_link_info_t fill_link_info; + bpf_iter_get_func_proto_t get_func_proto; + u32 ctx_arg_info_size; + u32 feature; + struct bpf_ctx_arg_aux ctx_arg_info[2]; + const struct bpf_iter_seq_info *seq_info; +}; + +struct bpf_iter_scx_dsq { + u64 __opaque[6]; +}; + +struct scx_dsq_list_node { + struct list_head node; + u32 flags; + u32 priv; +}; + +struct scx_dispatch_q; + +struct bpf_iter_scx_dsq_kern { + struct scx_dsq_list_node cursor; + struct scx_dispatch_q *dsq; + u64 slice; + u64 vtime; +}; + +struct bpf_iter_seq_array_map_info { + struct bpf_map *map; + void *percpu_value_buf; + u32 index; +}; + +struct bpf_iter_seq_hash_map_info { + struct bpf_map *map; + struct bpf_htab *htab; + void *percpu_value_buf; + u32 bucket_id; + u32 skip_elems; +}; + +typedef int (*bpf_iter_init_seq_priv_t)(void *, struct bpf_iter_aux_info *); + +typedef void (*bpf_iter_fini_seq_priv_t)(void *); + +struct bpf_iter_seq_info { + const struct seq_operations *seq_ops; + bpf_iter_init_seq_priv_t init_seq_private; + bpf_iter_fini_seq_priv_t fini_seq_private; + u32 seq_priv_size; +}; + +struct bpf_iter_seq_link_info { + u32 link_id; +}; + +struct bpf_iter_seq_map_info { + u32 map_id; +}; + +struct bpf_iter_seq_prog_info { + u32 prog_id; +}; + +struct bpf_iter_seq_sk_storage_map_info { + struct bpf_map *map; + unsigned int bucket_id; + unsigned int skip_elems; +}; + +struct pid_namespace; + +struct bpf_iter_seq_task_common { + struct pid_namespace *ns; + enum bpf_iter_task_type type; + u32 pid; + u32 pid_visiting; +}; + +struct bpf_iter_seq_task_file_info { + struct bpf_iter_seq_task_common common; + struct task_struct *task; + u32 tid; + u32 fd; +}; + +struct bpf_iter_seq_task_info { + struct bpf_iter_seq_task_common common; + u32 tid; +}; + +struct mm_struct; + +struct bpf_iter_seq_task_vma_info { + struct bpf_iter_seq_task_common common; + struct task_struct *task; + struct mm_struct *mm; + struct vm_area_struct *vma; + u32 tid; + long unsigned int prev_vm_start; + long unsigned int prev_vm_end; +}; + +struct bpf_iter_target_info { + struct list_head list; + const struct bpf_iter_reg *reg_info; + u32 btf_id; +}; + +struct bpf_iter_task { + __u64 __opaque[3]; +}; + +struct bpf_iter_task_kern { + struct task_struct *task; + struct task_struct *pos; + unsigned int flags; +}; + +struct bpf_iter_task_vma { + __u64 __opaque[1]; +}; + +struct bpf_iter_task_vma_kern_data; + +struct bpf_iter_task_vma_kern { + struct bpf_iter_task_vma_kern_data *data; +}; + +struct maple_enode; + +struct maple_tree; + +struct maple_alloc; + +struct ma_state { + struct maple_tree *tree; + long unsigned int index; + long unsigned int last; + struct maple_enode *node; + long unsigned int min; + long unsigned int max; + struct maple_alloc *alloc; + enum maple_status status; + unsigned char depth; + unsigned char offset; + unsigned char mas_flags; + unsigned char end; + enum store_type store_type; +}; + +struct vma_iterator { + struct ma_state mas; +}; + +struct mmap_unlock_irq_work; + +struct bpf_iter_task_vma_kern_data { + struct task_struct *task; + struct mm_struct *mm; + struct mmap_unlock_irq_work *work; + struct vma_iterator vmi; +}; + +struct bpf_jit_poke_descriptor { + void *tailcall_target; + void *tailcall_bypass; + void *bypass_addr; + void *aux; + union { + struct { + struct bpf_map *map; + u32 key; + } tail_call; + }; + bool tailcall_target_stable; + u8 adj_off; + u16 reason; + u32 insn_idx; +}; + +struct bpf_jmp_history_entry { + u32 idx; + u32 prev_idx: 20; + u32 flags: 12; + u64 linked_regs; +}; + +struct bpf_key { + struct key *key; + bool has_ref; +}; + +struct bpf_kfunc_btf { + struct btf *btf; + struct module *module; + u16 offset; +}; + +struct bpf_kfunc_btf_tab { + struct bpf_kfunc_btf descs[256]; + u32 nr_descs; +}; + +struct bpf_kfunc_call_arg_meta { + struct btf *btf; + u32 func_id; + u32 kfunc_flags; + const struct btf_type *func_proto; + const char *func_name; + u32 ref_obj_id; + u8 release_regno; + bool r0_rdonly; + u32 ret_btf_id; + u64 r0_size; + u32 subprogno; + struct { + u64 value; + bool found; + } arg_constant; + struct btf *arg_btf; + u32 arg_btf_id; + bool arg_owning_ref; + bool arg_prog; + struct { + struct btf_field *field; + } arg_list_head; + struct { + struct btf_field *field; + } arg_rbtree_root; + struct { + enum bpf_dynptr_type type; + u32 id; + u32 ref_obj_id; + } initialized_dynptr; + struct { + u8 spi; + u8 frameno; + } iter; + struct { + struct bpf_map *ptr; + int uid; + } map; + u64 mem_size; +}; + +struct bpf_kfunc_desc { + struct btf_func_model func_model; + u32 func_id; + s32 imm; + u16 offset; + long unsigned int addr; +}; + +struct bpf_kfunc_desc_tab { + struct bpf_kfunc_desc descs[256]; + u32 nr_descs; +}; + +struct fprobe; + +struct ftrace_regs; + +typedef int (*fprobe_entry_cb)(struct fprobe *, long unsigned int, long unsigned int, struct ftrace_regs *, void *); + +typedef void (*fprobe_exit_cb)(struct fprobe *, long unsigned int, long unsigned int, struct ftrace_regs *, void *); + +struct fprobe_hlist; + +struct fprobe { + long unsigned int nmissed; + unsigned int flags; + size_t entry_data_size; + fprobe_entry_cb entry_handler; + fprobe_exit_cb exit_handler; + struct fprobe_hlist *hlist_array; +}; + +struct bpf_kprobe_multi_link { + struct bpf_link link; + struct fprobe fp; + long unsigned int *addrs; + u64 *cookies; + u32 cnt; + u32 mods_cnt; + struct module **mods; +}; + +struct bpf_session_run_ctx { + struct bpf_run_ctx run_ctx; + bool is_return; + void *data; +}; + +struct bpf_kprobe_multi_run_ctx { + struct bpf_session_run_ctx session_ctx; + struct bpf_kprobe_multi_link *link; + long unsigned int entry_ip; +}; + +struct bpf_line_info { + __u32 insn_off; + __u32 file_name_off; + __u32 line_off; + __u32 line_col; +}; + +struct bpf_link_info { + __u32 type; + __u32 id; + __u32 prog_id; + union { + struct { + __u64 tp_name; + __u32 tp_name_len; + __u64 cookie; + } raw_tracepoint; + struct { + __u32 attach_type; + __u32 target_obj_id; + __u32 target_btf_id; + __u64 cookie; + } tracing; + struct { + __u64 cgroup_id; + __u32 attach_type; + } cgroup; + struct { + __u64 target_name; + __u32 target_name_len; + union { + struct { + __u32 map_id; + } map; + }; + union { + struct { + __u64 cgroup_id; + __u32 order; + } cgroup; + struct { + __u32 tid; + __u32 pid; + } task; + }; + } iter; + struct { + __u32 netns_ino; + __u32 attach_type; + } netns; + struct { + __u32 ifindex; + } xdp; + struct { + __u32 map_id; + } struct_ops; + struct { + __u32 pf; + __u32 hooknum; + __s32 priority; + __u32 flags; + } netfilter; + struct { + __u64 addrs; + __u32 count; + __u32 flags; + __u64 missed; + __u64 cookies; + } kprobe_multi; + struct { + __u64 path; + __u64 offsets; + __u64 ref_ctr_offsets; + __u64 cookies; + __u32 path_size; + __u32 count; + __u32 flags; + __u32 pid; + } uprobe_multi; + struct { + __u32 type; + union { + struct { + __u64 file_name; + __u32 name_len; + __u32 offset; + __u64 cookie; + __u64 ref_ctr_offset; + } uprobe; + struct { + __u64 func_name; + __u32 name_len; + __u32 offset; + __u64 addr; + __u64 missed; + __u64 cookie; + } kprobe; + struct { + __u64 tp_name; + __u32 name_len; + __u64 cookie; + } tracepoint; + struct { + __u64 config; + __u32 type; + __u64 cookie; + } event; + }; + } perf_event; + struct { + __u32 ifindex; + __u32 attach_type; + } tcx; + struct { + __u32 ifindex; + __u32 attach_type; + } netkit; + struct { + __u32 map_id; + __u32 attach_type; + } sockmap; + }; +}; + +struct bpf_link_ops { + void (*release)(struct bpf_link *); + void (*dealloc)(struct bpf_link *); + void (*dealloc_deferred)(struct bpf_link *); + int (*detach)(struct bpf_link *); + int (*update_prog)(struct bpf_link *, struct bpf_prog *, struct bpf_prog *); + void (*show_fdinfo)(const struct bpf_link *, struct seq_file *); + int (*fill_link_info)(const struct bpf_link *, struct bpf_link_info *); + int (*update_map)(struct bpf_link *, struct bpf_map *, struct bpf_map *); + __poll_t (*poll)(struct file *, struct poll_table_struct *); +}; + +struct bpf_link_primer { + struct bpf_link *link; + struct file *file; + int fd; + u32 id; +}; + +struct bpf_list_head { + __u64 __opaque[2]; +}; + +struct bpf_list_node { + __u64 __opaque[3]; +}; + +struct bpf_list_node_kern { + struct list_head list_head; + void *owner; +}; + +struct bpf_local_storage_data; + +struct bpf_local_storage_map; + +struct bpf_local_storage { + struct bpf_local_storage_data *cache[16]; + struct bpf_local_storage_map *smap; + struct hlist_head list; + void *owner; + struct callback_head rcu; + raw_spinlock_t lock; +}; + +struct bpf_local_storage_cache { + spinlock_t idx_lock; + u64 idx_usage_counts[16]; +}; + +struct bpf_local_storage_data { + struct bpf_local_storage_map *smap; + u8 data[0]; +}; + +struct bpf_local_storage_elem { + struct hlist_node map_node; + struct hlist_node snode; + struct bpf_local_storage *local_storage; + union { + struct callback_head rcu; + struct hlist_node free_node; + }; + long: 64; + struct bpf_local_storage_data sdata; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct bpf_local_storage_map_bucket; + +struct bpf_local_storage_map { + struct bpf_map map; + struct bpf_local_storage_map_bucket *buckets; + u32 bucket_log; + u16 elem_size; + u16 cache_idx; + struct bpf_mem_alloc selem_ma; + struct bpf_mem_alloc storage_ma; + bool bpf_ma; +}; + +struct bpf_local_storage_map_bucket { + struct hlist_head list; + raw_spinlock_t lock; +}; + +struct bpf_lpm_trie_key_hdr { + __u32 prefixlen; +}; + +struct bpf_lpm_trie_key_u8 { + union { + struct bpf_lpm_trie_key_hdr hdr; + __u32 prefixlen; + }; + __u8 data[0]; +}; + +struct bpf_lru_locallist { + struct list_head lists[2]; + u16 next_steal; + raw_spinlock_t lock; +}; + +struct bpf_lru_node { + struct list_head list; + u16 cpu; + u8 type; + u8 ref; +}; + +struct bpf_lwt_prog { + struct bpf_prog *prog; + char *name; +}; + +struct bpf_lwt { + struct bpf_lwt_prog in; + struct bpf_lwt_prog out; + struct bpf_lwt_prog xmit; + int family; +}; + +struct bpf_offloaded_map; + +struct bpf_map_dev_ops { + int (*map_get_next_key)(struct bpf_offloaded_map *, void *, void *); + int (*map_lookup_elem)(struct bpf_offloaded_map *, void *, void *); + int (*map_update_elem)(struct bpf_offloaded_map *, void *, void *, u64); + int (*map_delete_elem)(struct bpf_offloaded_map *, void *); +}; + +struct bpf_map_info { + __u32 type; + __u32 id; + __u32 key_size; + __u32 value_size; + __u32 max_entries; + __u32 map_flags; + char name[16]; + __u32 ifindex; + __u32 btf_vmlinux_value_type_id; + __u64 netns_dev; + __u64 netns_ino; + __u32 btf_id; + __u32 btf_key_type_id; + __u32 btf_value_type_id; + __u32 btf_vmlinux_id; + __u64 map_extra; +}; + +typedef u64 (*bpf_callback_t)(u64, u64, u64, u64, u64); + +struct bpf_prog_aux; + +struct bpf_map_ops { + int (*map_alloc_check)(union bpf_attr *); + struct bpf_map * (*map_alloc)(union bpf_attr *); + void (*map_release)(struct bpf_map *, struct file *); + void (*map_free)(struct bpf_map *); + int (*map_get_next_key)(struct bpf_map *, void *, void *); + void (*map_release_uref)(struct bpf_map *); + void * (*map_lookup_elem_sys_only)(struct bpf_map *, void *); + int (*map_lookup_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *); + int (*map_lookup_and_delete_elem)(struct bpf_map *, void *, void *, u64); + int (*map_lookup_and_delete_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *); + int (*map_update_batch)(struct bpf_map *, struct file *, const union bpf_attr *, union bpf_attr *); + int (*map_delete_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *); + void * (*map_lookup_elem)(struct bpf_map *, void *); + long int (*map_update_elem)(struct bpf_map *, void *, void *, u64); + long int (*map_delete_elem)(struct bpf_map *, void *); + long int (*map_push_elem)(struct bpf_map *, void *, u64); + long int (*map_pop_elem)(struct bpf_map *, void *); + long int (*map_peek_elem)(struct bpf_map *, void *); + void * (*map_lookup_percpu_elem)(struct bpf_map *, void *, u32); + void * (*map_fd_get_ptr)(struct bpf_map *, struct file *, int); + void (*map_fd_put_ptr)(struct bpf_map *, void *, bool); + int (*map_gen_lookup)(struct bpf_map *, struct bpf_insn *); + u32 (*map_fd_sys_lookup_elem)(void *); + void (*map_seq_show_elem)(struct bpf_map *, void *, struct seq_file *); + int (*map_check_btf)(const struct bpf_map *, const struct btf *, const struct btf_type *, const struct btf_type *); + int (*map_poke_track)(struct bpf_map *, struct bpf_prog_aux *); + void (*map_poke_untrack)(struct bpf_map *, struct bpf_prog_aux *); + void (*map_poke_run)(struct bpf_map *, u32, struct bpf_prog *, struct bpf_prog *); + int (*map_direct_value_addr)(const struct bpf_map *, u64 *, u32); + int (*map_direct_value_meta)(const struct bpf_map *, u64, u32 *); + int (*map_mmap)(struct bpf_map *, struct vm_area_struct *); + __poll_t (*map_poll)(struct bpf_map *, struct file *, struct poll_table_struct *); + long unsigned int (*map_get_unmapped_area)(struct file *, long unsigned int, long unsigned int, long unsigned int, long unsigned int); + int (*map_local_storage_charge)(struct bpf_local_storage_map *, void *, u32); + void (*map_local_storage_uncharge)(struct bpf_local_storage_map *, void *, u32); + struct bpf_local_storage ** (*map_owner_storage_ptr)(void *); + long int (*map_redirect)(struct bpf_map *, u64, u64); + bool (*map_meta_equal)(const struct bpf_map *, const struct bpf_map *); + int (*map_set_for_each_callback_args)(struct bpf_verifier_env *, struct bpf_func_state *, struct bpf_func_state *); + long int (*map_for_each_callback)(struct bpf_map *, bpf_callback_t, void *, u64); + u64 (*map_mem_usage)(const struct bpf_map *); + int *map_btf_id; + const struct bpf_iter_seq_info *iter_seq_info; +}; + +struct bpf_map_owner { + enum bpf_prog_type type; + bool jited; + bool xdp_has_frags; + u64 storage_cookie[2]; + const struct btf_type *attach_func_proto; + enum bpf_attach_type expected_attach_type; +}; + +struct rcuwait { + struct task_struct *task; +}; + +struct irq_work { + struct __call_single_node node; + void (*func)(struct irq_work *); + struct rcuwait irqwait; +}; + +struct bpf_mem_cache { + struct llist_head free_llist; + local_t active; + struct llist_head free_llist_extra; + struct irq_work refill_work; + struct obj_cgroup *objcg; + int unit_size; + int free_cnt; + int low_watermark; + int high_watermark; + int batch; + int percpu_size; + bool draining; + struct bpf_mem_cache *tgt; + struct llist_head free_by_rcu; + struct llist_node *free_by_rcu_tail; + struct llist_head waiting_for_gp; + struct llist_node *waiting_for_gp_tail; + struct callback_head rcu; + atomic_t call_rcu_in_progress; + struct llist_head free_llist_extra_rcu; + struct llist_head free_by_rcu_ttrace; + struct llist_head waiting_for_gp_ttrace; + struct callback_head rcu_ttrace; + atomic_t call_rcu_ttrace_in_progress; +}; + +struct bpf_mem_caches { + struct bpf_mem_cache cache[11]; +}; + +struct bpf_mount_opts { + kuid_t uid; + kgid_t gid; + umode_t mode; + u64 delegate_cmds; + u64 delegate_maps; + u64 delegate_progs; + u64 delegate_attachs; +}; + +struct bpf_mprog_fp { + struct bpf_prog *prog; +}; + +struct bpf_mprog_bundle; + +struct bpf_mprog_entry { + struct bpf_mprog_fp fp_items[64]; + struct bpf_mprog_bundle *parent; +}; + +struct bpf_mprog_cp { + struct bpf_link *link; +}; + +struct bpf_mprog_bundle { + struct bpf_mprog_entry a; + struct bpf_mprog_entry b; + struct bpf_mprog_cp cp_items[64]; + struct bpf_prog *ref; + atomic64_t revision; + u32 count; +}; + +struct bpf_nested_pt_regs { + struct pt_regs regs[3]; +}; + +struct bpf_nh_params { + u32 nh_family; + union { + u32 ipv4_nh; + struct in6_addr ipv6_nh; + }; +}; + +struct bpf_redirect_info { + u64 tgt_index; + void *tgt_value; + struct bpf_map *map; + u32 flags; + u32 map_id; + enum bpf_map_type map_type; + struct bpf_nh_params nh; + u32 kern_flags; +}; + +struct bpf_net_context { + struct bpf_redirect_info ri; + struct list_head cpu_map_flush_list; + struct list_head dev_map_flush_list; + struct list_head xskmap_map_flush_list; +}; + +struct bpf_netns_link { + struct bpf_link link; + struct net *net; + struct list_head node; + enum netns_bpf_attach_type netns_type; +}; + +typedef unsigned int nf_hookfn(void *, struct sk_buff *, const struct nf_hook_state *); + +struct nf_hook_ops { + struct list_head list; + struct callback_head rcu; + nf_hookfn *hook; + struct net_device *dev; + void *priv; + u8 pf; + enum nf_hook_ops_type hook_ops_type: 8; + unsigned int hooknum; + int priority; +}; + +struct nf_defrag_hook; + +struct bpf_nf_link { + struct bpf_link link; + struct nf_hook_ops hook_ops; + netns_tracker ns_tracker; + struct net *net; + u32 dead; + const struct nf_defrag_hook *defrag_hook; +}; + +struct bpf_prog_offload_ops; + +struct bpf_offload_dev { + const struct bpf_prog_offload_ops *ops; + struct list_head netdevs; + void *priv; +}; + +struct bpf_offload_netdev { + struct rhash_head l; + struct net_device *netdev; + struct bpf_offload_dev *offdev; + struct list_head progs; + struct list_head maps; + struct list_head offdev_netdevs; +}; + +struct bpf_offloaded_map { + struct bpf_map map; + struct net_device *netdev; + const struct bpf_map_dev_ops *dev_ops; + void *dev_priv; + struct list_head offloads; +}; + +struct bpf_perf_event_value { + __u64 counter; + __u64 enabled; + __u64 running; +}; + +struct bpf_perf_link { + struct bpf_link link; + struct file *perf_file; +}; + +struct bpf_pidns_info { + __u32 pid; + __u32 tgid; +}; + +struct bpf_preload_info { + char link_name[16]; + struct bpf_link *link; +}; + +struct bpf_preload_ops { + int (*preload)(struct bpf_preload_info *); + struct module *owner; +}; + +struct sock_filter { + __u16 code; + __u8 jt; + __u8 jf; + __u32 k; +}; + +struct bpf_prog_stats; + +struct sock_fprog_kern; + +struct bpf_prog { + u16 pages; + u16 jited: 1; + u16 jit_requested: 1; + u16 gpl_compatible: 1; + u16 cb_access: 1; + u16 dst_needed: 1; + u16 blinding_requested: 1; + u16 blinded: 1; + u16 is_func: 1; + u16 kprobe_override: 1; + u16 has_callchain_buf: 1; + u16 enforce_expected_attach_type: 1; + u16 call_get_stack: 1; + u16 call_get_func_ip: 1; + u16 tstamp_type_access: 1; + u16 sleepable: 1; + enum bpf_prog_type type; + enum bpf_attach_type expected_attach_type; + u32 len; + u32 jited_len; + u8 tag[8]; + struct bpf_prog_stats *stats; + int *active; + unsigned int (*bpf_func)(const void *, const struct bpf_insn *); + struct bpf_prog_aux *aux; + struct sock_fprog_kern *orig_prog; + union { + struct { + struct {} __empty_insns; + struct sock_filter insns[0]; + }; + struct { + struct {} __empty_insnsi; + struct bpf_insn insnsi[0]; + }; + }; +}; + +struct bpf_stream { + atomic_t capacity; + struct llist_head log; + struct mutex lock; + struct llist_node *backlog_head; + struct llist_node *backlog_tail; +}; + +struct bpf_trampoline; + +struct bpf_prog_ops; + +struct bpf_struct_ops; + +struct btf_mod_pair; + +struct user_struct; + +struct bpf_token; + +struct bpf_prog_offload; + +struct exception_table_entry; + +struct bpf_prog_aux { + atomic64_t refcnt; + u32 used_map_cnt; + u32 used_btf_cnt; + u32 max_ctx_offset; + u32 max_pkt_offset; + u32 max_tp_access; + u32 stack_depth; + u32 id; + u32 func_cnt; + u32 real_func_cnt; + u32 func_idx; + u32 attach_btf_id; + u32 attach_st_ops_member_off; + u32 ctx_arg_info_size; + u32 max_rdonly_access; + u32 max_rdwr_access; + struct btf *attach_btf; + struct bpf_ctx_arg_aux *ctx_arg_info; + void *priv_stack_ptr; + struct mutex dst_mutex; + struct bpf_prog *dst_prog; + struct bpf_trampoline *dst_trampoline; + enum bpf_prog_type saved_dst_prog_type; + enum bpf_attach_type saved_dst_attach_type; + bool verifier_zext; + bool dev_bound; + bool offload_requested; + bool attach_btf_trace; + bool attach_tracing_prog; + bool func_proto_unreliable; + bool tail_call_reachable; + bool xdp_has_frags; + bool exception_cb; + bool exception_boundary; + bool is_extended; + bool jits_use_priv_stack; + bool priv_stack_requested; + bool changes_pkt_data; + bool might_sleep; + u64 prog_array_member_cnt; + struct mutex ext_mutex; + struct bpf_arena *arena; + void (*recursion_detected)(struct bpf_prog *); + const struct btf_type *attach_func_proto; + const char *attach_func_name; + struct bpf_prog **func; + void *jit_data; + struct bpf_jit_poke_descriptor *poke_tab; + struct bpf_kfunc_desc_tab *kfunc_tab; + struct bpf_kfunc_btf_tab *kfunc_btf_tab; + u32 size_poke_tab; + struct bpf_ksym ksym; + const struct bpf_prog_ops *ops; + const struct bpf_struct_ops *st_ops; + struct bpf_map **used_maps; + struct mutex used_maps_mutex; + struct btf_mod_pair *used_btfs; + struct bpf_prog *prog; + struct user_struct *user; + u64 load_time; + u32 verified_insns; + int cgroup_atype; + struct bpf_map *cgroup_storage[2]; + char name[16]; + u64 (*bpf_exception_cb)(u64, u64, u64, u64, u64); + void *security; + struct bpf_token *token; + struct bpf_prog_offload *offload; + struct btf *btf; + struct bpf_func_info *func_info; + struct bpf_func_info_aux *func_info_aux; + struct bpf_line_info *linfo; + void **jited_linfo; + u32 func_info_cnt; + u32 nr_linfo; + u32 linfo_idx; + struct module *mod; + u32 num_exentries; + struct exception_table_entry *extable; + union { + struct work_struct work; + struct callback_head rcu; + }; + struct bpf_stream stream[2]; +}; + +struct bpf_prog_dummy { + struct bpf_prog prog; +}; + +struct bpf_prog_info { + __u32 type; + __u32 id; + __u8 tag[8]; + __u32 jited_prog_len; + __u32 xlated_prog_len; + __u64 jited_prog_insns; + __u64 xlated_prog_insns; + __u64 load_time; + __u32 created_by_uid; + __u32 nr_map_ids; + __u64 map_ids; + char name[16]; + __u32 ifindex; + __u32 gpl_compatible: 1; + __u64 netns_dev; + __u64 netns_ino; + __u32 nr_jited_ksyms; + __u32 nr_jited_func_lens; + __u64 jited_ksyms; + __u64 jited_func_lens; + __u32 btf_id; + __u32 func_info_rec_size; + __u64 func_info; + __u32 nr_func_info; + __u32 nr_line_info; + __u64 line_info; + __u64 jited_line_info; + __u32 nr_jited_line_info; + __u32 line_info_rec_size; + __u32 jited_line_info_rec_size; + __u32 nr_prog_tags; + __u64 prog_tags; + __u64 run_time_ns; + __u64 run_cnt; + __u64 recursion_misses; + __u32 verified_insns; + __u32 attach_btf_obj_id; + __u32 attach_btf_id; +}; + +struct bpf_prog_kstats { + u64 nsecs; + u64 cnt; + u64 misses; +}; + +struct bpf_prog_list { + struct hlist_node node; + struct bpf_prog *prog; + struct bpf_cgroup_link *link; + struct bpf_cgroup_storage *storage[2]; + u32 flags; +}; + +struct bpf_prog_offload { + struct bpf_prog *prog; + struct net_device *netdev; + struct bpf_offload_dev *offdev; + void *dev_priv; + struct list_head offloads; + bool dev_state; + bool opt_failed; + void *jited_image; + u32 jited_len; +}; + +struct bpf_prog_offload_ops { + int (*insn_hook)(struct bpf_verifier_env *, int, int); + int (*finalize)(struct bpf_verifier_env *); + int (*replace_insn)(struct bpf_verifier_env *, u32, struct bpf_insn *); + int (*remove_insns)(struct bpf_verifier_env *, u32, u32); + int (*prepare)(struct bpf_prog *); + int (*translate)(struct bpf_prog *); + void (*destroy)(struct bpf_prog *); +}; + +struct bpf_prog_ops { + int (*test_run)(struct bpf_prog *, const union bpf_attr *, union bpf_attr *); +}; + +struct bpf_prog_pack { + struct list_head list; + void *ptr; + long unsigned int bitmap[0]; +}; + +struct bpf_prog_stats { + u64_stats_t cnt; + u64_stats_t nsecs; + u64_stats_t misses; + struct u64_stats_sync syncp; + long: 64; +}; + +typedef struct qspinlock rqspinlock_t; + +struct bpf_queue_stack { + struct bpf_map map; + rqspinlock_t lock; + u32 head; + u32 tail; + u32 size; + char elements[0]; +}; + +struct bpf_raw_event_map { + struct tracepoint *tp; + void *bpf_func; + u32 num_args; + u32 writable_size; + long: 64; +}; + +struct bpf_raw_tp_link { + struct bpf_link link; + struct bpf_raw_event_map *btp; + u64 cookie; +}; + +struct bpf_raw_tp_null_args { + const char *func; + u64 mask; +}; + +struct bpf_raw_tp_regs { + struct pt_regs regs[3]; +}; + +struct bpf_raw_tp_test_run_info { + struct bpf_prog *prog; + void *ctx; + u32 retval; +}; + +struct bpf_rb_node { + __u64 __opaque[4]; +}; + +struct bpf_rb_node_kern { + struct rb_node rb_node; + void *owner; +}; + +struct bpf_rb_root { + __u64 __opaque[2]; +}; + +struct bpf_redir_neigh { + __u32 nh_family; + union { + __be32 ipv4_nh; + __u32 ipv6_nh[4]; + }; +}; + +struct bpf_refcount { + __u32 __opaque[1]; +}; + +struct bpf_reference_state { + enum ref_state_type type; + int id; + int insn_idx; + void *ptr; +}; + +struct bpf_reg_types { + const enum bpf_reg_type types[10]; + u32 *btf_id; +}; + +struct bpf_res_spin_lock { + u32 val; +}; + +struct bpf_ringbuf { + wait_queue_head_t waitq; + struct irq_work work; + u64 mask; + struct page **pages; + int nr_pages; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + rqspinlock_t spinlock; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + atomic_t busy; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long unsigned int consumer_pos; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long unsigned int producer_pos; + long unsigned int pending_pos; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + char data[0]; +}; + +struct bpf_ringbuf_hdr { + u32 len; + u32 pg_off; +}; + +struct bpf_ringbuf_map { + struct bpf_map map; + struct bpf_ringbuf *rb; +}; + +struct bpf_sanitize_info { + struct bpf_insn_aux_data aux; + bool mask_to_left; +}; + +struct bpf_verifier_state { + struct bpf_func_state *frame[8]; + struct bpf_verifier_state *parent; + struct bpf_reference_state *refs; + u32 branches; + u32 insn_idx; + u32 curframe; + u32 acquired_refs; + u32 active_locks; + u32 active_preempt_locks; + u32 active_irq_id; + u32 active_lock_id; + void *active_lock_ptr; + bool active_rcu_lock; + bool speculative; + bool in_sleepable; + u32 first_insn_idx; + u32 last_insn_idx; + struct bpf_verifier_state *equal_state; + struct bpf_jmp_history_entry *jmp_history; + u32 jmp_history_cnt; + u32 dfs_depth; + u32 callback_unroll_depth; + u32 may_goto_depth; +}; + +struct bpf_scc_backedge { + struct bpf_scc_backedge *next; + struct bpf_verifier_state state; +}; + +struct bpf_scc_callchain { + u32 callsites[7]; + u32 scc; +}; + +struct bpf_scc_visit { + struct bpf_scc_callchain callchain; + struct bpf_verifier_state *entry_state; + struct bpf_scc_backedge *backedges; + u32 num_backedges; +}; + +struct bpf_scc_info { + u32 num_visits; + struct bpf_scc_visit visits[0]; +}; + +struct qdisc_watchdog { + struct hrtimer timer; + struct Qdisc *qdisc; +}; + +struct bpf_sched_data { + struct qdisc_watchdog watchdog; +}; + +struct bpf_security_struct { + u32 sid; +}; + +struct bpf_tramp_link { + struct bpf_link link; + struct hlist_node tramp_hlist; + u64 cookie; +}; + +struct bpf_shim_tramp_link { + struct bpf_tramp_link link; + struct bpf_trampoline *trampoline; +}; + +struct sk_psock_progs { + struct bpf_prog *msg_parser; + struct bpf_prog *stream_parser; + struct bpf_prog *stream_verdict; + struct bpf_prog *skb_verdict; + struct bpf_link *msg_parser_link; + struct bpf_link *stream_parser_link; + struct bpf_link *stream_verdict_link; + struct bpf_link *skb_verdict_link; +}; + +struct bpf_shtab_bucket; + +struct bpf_shtab { + struct bpf_map map; + struct bpf_shtab_bucket *buckets; + u32 buckets_num; + u32 elem_size; + struct sk_psock_progs progs; + atomic_t count; +}; + +struct bpf_shtab_bucket { + struct hlist_head head; + spinlock_t lock; +}; + +struct bpf_shtab_elem { + struct callback_head rcu; + u32 hash; + struct sock *sk; + struct hlist_node node; + u8 key[0]; +}; + +struct bpf_sk_buff_ptr { + struct sk_buff *skb; +}; + +struct bpf_sk_storage_diag { + u32 nr_maps; + struct bpf_map *maps[0]; +}; + +struct qdisc_skb_cb { + struct { + unsigned int pkt_len; + u16 slave_dev_queue_mapping; + u16 tc_classid; + }; + unsigned char data[20]; +}; + +struct bpf_skb_data_end { + struct qdisc_skb_cb qdisc_cb; + void *data_meta; + void *data_end; +}; + +struct bpf_sock_tuple { + union { + struct { + __be32 saddr; + __be32 daddr; + __be16 sport; + __be16 dport; + } ipv4; + struct { + __be32 saddr[4]; + __be32 daddr[4]; + __be16 sport; + __be16 dport; + } ipv6; + }; +}; + +struct bpf_sockopt_buf { + u8 data[32]; +}; + +struct bpf_stab { + struct bpf_map map; + struct sock **sks; + struct sk_psock_progs progs; + spinlock_t lock; +}; + +struct bpf_stack_build_id { + __s32 status; + unsigned char build_id[20]; + union { + __u64 offset; + __u64 ip; + }; +}; + +struct stack_map_bucket; + +struct bpf_stack_map { + struct bpf_map map; + void *elems; + struct pcpu_freelist freelist; + u32 n_buckets; + struct stack_map_bucket *buckets[0]; +}; + +struct bpf_stack_state { + struct bpf_reg_state spilled_ptr; + u8 slot_type[8]; +}; + +struct bpf_storage_blob { + struct bpf_local_storage *storage; +}; + +struct bpf_storage_buffer { + struct callback_head rcu; + char data[0]; +}; + +struct bpf_stream_elem { + struct llist_node node; + int total_len; + int consumed_len; + char str[0]; +}; + +struct bpf_stream_page { + refcount_t ref; + u32 consumed; + char buf[0]; +}; + +struct bpf_stream_stage { + struct llist_head log; + int len; +}; + +struct bpf_verifier_ops; + +struct btf_member; + +struct bpf_struct_ops { + const struct bpf_verifier_ops *verifier_ops; + int (*init)(struct btf *); + int (*check_member)(const struct btf_type *, const struct btf_member *, const struct bpf_prog *); + int (*init_member)(const struct btf_type *, const struct btf_member *, void *, const void *); + int (*reg)(void *, struct bpf_link *); + void (*unreg)(void *, struct bpf_link *); + int (*update)(void *, void *, struct bpf_link *); + int (*validate)(void *); + void *cfi_stubs; + struct module *owner; + const char *name; + struct btf_func_model func_models[64]; +}; + +struct bpf_struct_ops_common_value { + refcount_t refcnt; + enum bpf_struct_ops_state state; +}; + +struct bpf_struct_ops_Qdisc_ops { + struct bpf_struct_ops_common_value common; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + struct Qdisc_ops data; + long: 64; + long: 64; +}; + +struct bpf_struct_ops_arg_info { + struct bpf_ctx_arg_aux *info; + u32 cnt; +}; + +struct bpf_struct_ops_bpf_dummy_ops { + struct bpf_struct_ops_common_value common; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + struct bpf_dummy_ops data; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct bpf_struct_ops_desc { + struct bpf_struct_ops *st_ops; + const struct btf_type *type; + const struct btf_type *value_type; + u32 type_id; + u32 value_id; + struct bpf_struct_ops_arg_info *arg_info; +}; + +struct hid_bpf_ctx; + +struct hid_device; + +struct hid_bpf_ops { + int hid_id; + u32 flags; + struct list_head list; + int (*hid_device_event)(struct hid_bpf_ctx *, enum hid_report_type, u64); + int (*hid_rdesc_fixup)(struct hid_bpf_ctx *); + int (*hid_hw_request)(struct hid_bpf_ctx *, unsigned char, enum hid_report_type, enum hid_class_request, u64); + int (*hid_hw_output_report)(struct hid_bpf_ctx *, u64); + struct hid_device *hdev; +}; + +struct bpf_struct_ops_hid_bpf_ops { + struct bpf_struct_ops_common_value common; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + struct hid_bpf_ops data; +}; + +struct bpf_struct_ops_link { + struct bpf_link link; + struct bpf_map *map; + wait_queue_head_t wait_hup; +}; + +struct bpf_struct_ops_value { + struct bpf_struct_ops_common_value common; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + char data[0]; +}; + +struct bpf_struct_ops_map { + struct bpf_map map; + const struct bpf_struct_ops_desc *st_ops_desc; + struct mutex lock; + struct bpf_link **links; + struct bpf_ksym **ksyms; + u32 funcs_cnt; + u32 image_pages_cnt; + void *image_pages[8]; + struct btf *btf; + struct bpf_struct_ops_value *uvalue; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + struct bpf_struct_ops_value kvalue; +}; + +struct scx_cpu_acquire_args; + +struct scx_cpu_release_args; + +struct scx_init_task_args; + +struct scx_exit_task_args; + +struct scx_dump_ctx; + +struct scx_cgroup_init_args; + +struct scx_exit_info; + +struct sched_ext_ops { + s32 (*select_cpu)(struct task_struct *, s32, u64); + void (*enqueue)(struct task_struct *, u64); + void (*dequeue)(struct task_struct *, u64); + void (*dispatch)(s32, struct task_struct *); + void (*tick)(struct task_struct *); + void (*runnable)(struct task_struct *, u64); + void (*running)(struct task_struct *); + void (*stopping)(struct task_struct *, bool); + void (*quiescent)(struct task_struct *, u64); + bool (*yield)(struct task_struct *, struct task_struct *); + bool (*core_sched_before)(struct task_struct *, struct task_struct *); + void (*set_weight)(struct task_struct *, u32); + void (*set_cpumask)(struct task_struct *, const struct cpumask *); + void (*update_idle)(s32, bool); + void (*cpu_acquire)(s32, struct scx_cpu_acquire_args *); + void (*cpu_release)(s32, struct scx_cpu_release_args *); + s32 (*init_task)(struct task_struct *, struct scx_init_task_args *); + void (*exit_task)(struct task_struct *, struct scx_exit_task_args *); + void (*enable)(struct task_struct *); + void (*disable)(struct task_struct *); + void (*dump)(struct scx_dump_ctx *); + void (*dump_cpu)(struct scx_dump_ctx *, s32, bool); + void (*dump_task)(struct scx_dump_ctx *, struct task_struct *); + s32 (*cgroup_init)(struct cgroup *, struct scx_cgroup_init_args *); + void (*cgroup_exit)(struct cgroup *); + s32 (*cgroup_prep_move)(struct task_struct *, struct cgroup *, struct cgroup *); + void (*cgroup_move)(struct task_struct *, struct cgroup *, struct cgroup *); + void (*cgroup_cancel_move)(struct task_struct *, struct cgroup *, struct cgroup *); + void (*cgroup_set_weight)(struct cgroup *, u32); + void (*cgroup_set_bandwidth)(struct cgroup *, u64, u64, u64); + void (*cpu_online)(s32); + void (*cpu_offline)(s32); + s32 (*init)(void); + void (*exit)(struct scx_exit_info *); + u32 dispatch_max_batch; + u64 flags; + u32 timeout_ms; + u32 exit_dump_len; + u64 hotplug_seq; + char name[128]; + void *priv; +}; + +struct bpf_struct_ops_sched_ext_ops { + struct bpf_struct_ops_common_value common; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + struct sched_ext_ops data; + long: 64; +}; + +struct rate_sample; + +union tcp_cc_info; + +struct tcp_congestion_ops { + u32 (*ssthresh)(struct sock *); + void (*cong_avoid)(struct sock *, u32, u32); + void (*set_state)(struct sock *, u8); + void (*cwnd_event)(struct sock *, enum tcp_ca_event); + void (*in_ack_event)(struct sock *, u32); + void (*pkts_acked)(struct sock *, const struct ack_sample *); + u32 (*min_tso_segs)(struct sock *); + void (*cong_control)(struct sock *, u32, int, const struct rate_sample *); + u32 (*undo_cwnd)(struct sock *); + u32 (*sndbuf_expand)(struct sock *); + size_t (*get_info)(struct sock *, u32, int *, union tcp_cc_info *); + char name[16]; + struct module *owner; + struct list_head list; + u32 key; + u32 flags; + void (*init)(struct sock *); + void (*release)(struct sock *); + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct bpf_struct_ops_tcp_congestion_ops { + struct bpf_struct_ops_common_value common; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + struct tcp_congestion_ops data; +}; + +struct bpf_subprog_arg_info { + enum bpf_arg_type arg_type; + union { + u32 mem_size; + u32 btf_id; + }; +}; + +struct bpf_subprog_info { + u32 start; + u32 linfo_idx; + u16 stack_depth; + u16 stack_extra; + s16 fastcall_stack_off; + bool has_tail_call: 1; + bool tail_call_reachable: 1; + bool has_ld_abs: 1; + bool is_cb: 1; + bool is_async_cb: 1; + bool is_exception_cb: 1; + bool args_cached: 1; + bool keep_fastcall_stack: 1; + bool changes_pkt_data: 1; + bool might_sleep: 1; + enum priv_stack_mode priv_stack_mode; + u8 arg_cnt; + struct bpf_subprog_arg_info args[5]; +}; + +union bpf_tcp_iter_batch_item { + struct sock *sk; + __u64 cookie; +}; + +struct tcp_iter_state { + struct seq_net_private p; + enum tcp_seq_states state; + struct sock *syn_wait_sk; + int bucket; + int offset; + int sbucket; + int num; + loff_t last_pos; +}; + +struct bpf_tcp_iter_state { + struct tcp_iter_state state; + unsigned int cur_sk; + unsigned int end_sk; + unsigned int max_sk; + union bpf_tcp_iter_batch_item *batch; +}; + +struct bpf_tcp_req_attrs { + u32 rcv_tsval; + u32 rcv_tsecr; + u16 mss; + u8 rcv_wscale; + u8 snd_wscale; + u8 ecn_ok; + u8 wscale_ok; + u8 sack_ok; + u8 tstamp_ok; + u8 usec_ts_ok; + u8 reserved[3]; +}; + +struct bpf_tcp_sock { + __u32 snd_cwnd; + __u32 srtt_us; + __u32 rtt_min; + __u32 snd_ssthresh; + __u32 rcv_nxt; + __u32 snd_nxt; + __u32 snd_una; + __u32 mss_cache; + __u32 ecn_flags; + __u32 rate_delivered; + __u32 rate_interval_us; + __u32 packets_out; + __u32 retrans_out; + __u32 total_retrans; + __u32 segs_in; + __u32 data_segs_in; + __u32 segs_out; + __u32 data_segs_out; + __u32 lost_out; + __u32 sacked_out; + __u64 bytes_received; + __u64 bytes_acked; + __u32 dsack_dups; + __u32 delivered; + __u32 delivered_ce; + __u32 icsk_retransmits; +}; + +struct bpf_test_timer { + enum { + NO_PREEMPT = 0, + NO_MIGRATE = 1, + } mode; + u32 i; + u64 time_start; + u64 time_spent; +}; + +struct bpf_throw_ctx { + struct bpf_prog_aux *aux; + u64 sp; + u64 bp; + int cnt; +}; + +struct bpf_timed_may_goto { + u64 count; + u64 timestamp; +}; + +struct bpf_timer { + __u64 __opaque[2]; +}; + +struct user_namespace; + +struct bpf_token { + struct work_struct work; + atomic64_t refcnt; + struct user_namespace *userns; + u64 allowed_cmds; + u64 allowed_maps; + u64 allowed_progs; + u64 allowed_attachs; + void *security; +}; + +struct bpf_token_info { + __u64 allowed_cmds; + __u64 allowed_maps; + __u64 allowed_progs; + __u64 allowed_attachs; +}; + +struct bpf_trace_module { + struct module *module; + struct list_head list; +}; + +struct bpf_trace_run_ctx { + struct bpf_run_ctx run_ctx; + u64 bpf_cookie; + bool is_uprobe; +}; + +union perf_sample_weight { + __u64 full; + struct { + __u32 var1_dw; + __u16 var2_w; + __u16 var3_w; + }; +}; + +union perf_mem_data_src { + __u64 val; + struct { + __u64 mem_op: 5; + __u64 mem_lvl: 14; + __u64 mem_snoop: 5; + __u64 mem_lock: 2; + __u64 mem_dtlb: 7; + __u64 mem_lvl_num: 4; + __u64 mem_remote: 1; + __u64 mem_snoopx: 2; + __u64 mem_blk: 3; + __u64 mem_hops: 3; + __u64 mem_rsvd: 18; + }; +}; + +struct perf_regs { + __u64 abi; + struct pt_regs *regs; +}; + +struct perf_callchain_entry; + +struct perf_raw_record; + +struct perf_branch_stack; + +struct perf_sample_data { + u64 sample_flags; + u64 period; + u64 dyn_size; + u64 type; + struct { + u32 pid; + u32 tid; + } tid_entry; + u64 time; + u64 id; + struct { + u32 cpu; + u32 reserved; + } cpu_entry; + u64 ip; + struct perf_callchain_entry *callchain; + struct perf_raw_record *raw; + struct perf_branch_stack *br_stack; + u64 *br_stack_cntr; + union perf_sample_weight weight; + union perf_mem_data_src data_src; + u64 txn; + struct perf_regs regs_user; + struct perf_regs regs_intr; + u64 stack_user_size; + u64 stream_id; + u64 cgroup; + u64 addr; + u64 phys_addr; + u64 data_page_size; + u64 code_page_size; + u64 aux_size; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct bpf_trace_sample_data { + struct perf_sample_data sds[3]; +}; + +struct bpf_tracing_link { + struct bpf_tramp_link link; + struct bpf_trampoline *trampoline; + struct bpf_prog *tgt_prog; +}; + +struct bpf_tramp_image { + void *image; + int size; + struct bpf_ksym ksym; + struct percpu_ref pcref; + void *ip_after_call; + void *ip_epilogue; + union { + struct callback_head rcu; + struct work_struct work; + }; +}; + +struct bpf_tramp_links { + struct bpf_tramp_link *links[38]; + int nr_links; +}; + +struct bpf_tramp_run_ctx { + struct bpf_run_ctx run_ctx; + u64 bpf_cookie; + struct bpf_run_ctx *saved_run_ctx; +}; + +struct ftrace_ops; + +struct bpf_trampoline { + struct hlist_node hlist; + struct ftrace_ops *fops; + struct mutex mutex; + refcount_t refcnt; + u32 flags; + u64 key; + struct { + struct btf_func_model model; + void *addr; + bool ftrace_managed; + } func; + struct bpf_prog *extension_prog; + struct hlist_head progs_hlist[3]; + int progs_cnt[3]; + struct bpf_tramp_image *cur_image; +}; + +struct bpf_tunnel_key { + __u32 tunnel_id; + union { + __u32 remote_ipv4; + __u32 remote_ipv6[4]; + }; + __u8 tunnel_tos; + __u8 tunnel_ttl; + union { + __u16 tunnel_ext; + __be16 tunnel_flags; + }; + __u32 tunnel_label; + union { + __u32 local_ipv4; + __u32 local_ipv6[4]; + }; +}; + +struct bpf_tuple { + struct bpf_prog *prog; + struct bpf_link *link; +}; + +union bpf_udp_iter_batch_item { + struct sock *sk; + __u64 cookie; +}; + +struct udp_iter_state { + struct seq_net_private p; + int bucket; +}; + +struct bpf_udp_iter_state { + struct udp_iter_state state; + unsigned int cur_sk; + unsigned int end_sk; + unsigned int max_sk; + union bpf_udp_iter_batch_item *batch; +}; + +struct bpf_unix_iter_state { + struct seq_net_private p; + unsigned int cur_sk; + unsigned int end_sk; + unsigned int max_sk; + struct sock **batch; + bool st_bucket_done; +}; + +struct uprobe_consumer { + int (*handler)(struct uprobe_consumer *, struct pt_regs *, __u64 *); + int (*ret_handler)(struct uprobe_consumer *, long unsigned int, struct pt_regs *, __u64 *); + bool (*filter)(struct uprobe_consumer *, struct mm_struct *); + struct list_head cons_node; + __u64 id; +}; + +struct bpf_uprobe_multi_link; + +struct uprobe; + +struct bpf_uprobe { + struct bpf_uprobe_multi_link *link; + loff_t offset; + long unsigned int ref_ctr_offset; + u64 cookie; + struct uprobe *uprobe; + struct uprobe_consumer consumer; + bool session; +}; + +struct bpf_uprobe_multi_link { + struct path path; + struct bpf_link link; + u32 cnt; + struct bpf_uprobe *uprobes; + struct task_struct *task; +}; + +struct bpf_uprobe_multi_run_ctx { + struct bpf_session_run_ctx session_ctx; + long unsigned int entry_ip; + struct bpf_uprobe *uprobe; +}; + +struct btf_mod_pair { + struct btf *btf; + struct module *module; +}; + +struct bpf_verifier_log { + u64 start_pos; + u64 end_pos; + char *ubuf; + u32 level; + u32 len_total; + u32 len_max; + char kbuf[1024]; +}; + +struct bpf_verifier_stack_elem; + +struct bpf_verifier_env { + u32 insn_idx; + u32 prev_insn_idx; + struct bpf_prog *prog; + const struct bpf_verifier_ops *ops; + struct module *attach_btf_mod; + struct bpf_verifier_stack_elem *head; + int stack_size; + bool strict_alignment; + bool test_state_freq; + bool test_reg_invariants; + struct bpf_verifier_state *cur_state; + struct list_head *explored_states; + struct list_head free_list; + struct bpf_map *used_maps[64]; + struct btf_mod_pair used_btfs[64]; + u32 used_map_cnt; + u32 used_btf_cnt; + u32 id_gen; + u32 hidden_subprog_cnt; + int exception_callback_subprog; + bool explore_alu_limits; + bool allow_ptr_leaks; + bool allow_uninit_stack; + bool bpf_capable; + bool bypass_spec_v1; + bool bypass_spec_v4; + bool seen_direct_write; + bool seen_exception; + struct bpf_insn_aux_data *insn_aux_data; + const struct bpf_line_info *prev_linfo; + struct bpf_verifier_log log; + struct bpf_subprog_info subprog_info[258]; + union { + struct bpf_idmap idmap_scratch; + struct bpf_idset idset_scratch; + }; + struct { + int *insn_state; + int *insn_stack; + int *insn_postorder; + int cur_stack; + int cur_postorder; + } cfg; + struct backtrack_state bt; + struct bpf_jmp_history_entry *cur_hist_ent; + u32 pass_cnt; + u32 subprog_cnt; + u32 prev_insn_processed; + u32 insn_processed; + u32 prev_jmps_processed; + u32 jmps_processed; + u64 verification_time; + u32 max_states_per_insn; + u32 total_states; + u32 peak_states; + u32 longest_mark_read_walk; + u32 free_list_size; + u32 explored_states_size; + u32 num_backedges; + bpfptr_t fd_array; + u32 scratched_regs; + u64 scratched_stack_slots; + u64 prev_log_pos; + u64 prev_insn_print_pos; + struct bpf_reg_state fake_reg[2]; + char tmp_str_buf[320]; + struct bpf_insn insn_buf[32]; + struct bpf_insn epilogue_buf[32]; + struct bpf_scc_callchain callchain_buf; + struct bpf_scc_info **scc_info; + u32 scc_cnt; +}; + +struct bpf_verifier_ops { + const struct bpf_func_proto * (*get_func_proto)(enum bpf_func_id, const struct bpf_prog *); + bool (*is_valid_access)(int, int, enum bpf_access_type, const struct bpf_prog *, struct bpf_insn_access_aux *); + int (*gen_prologue)(struct bpf_insn *, bool, const struct bpf_prog *); + int (*gen_epilogue)(struct bpf_insn *, const struct bpf_prog *, s16); + int (*gen_ld_abs)(const struct bpf_insn *, struct bpf_insn *); + u32 (*convert_ctx_access)(enum bpf_access_type, const struct bpf_insn *, struct bpf_insn *, struct bpf_prog *, u32 *); + int (*btf_struct_access)(struct bpf_verifier_log *, const struct bpf_reg_state *, int, int); +}; + +struct bpf_verifier_stack_elem { + struct bpf_verifier_state st; + int insn_idx; + int prev_insn_idx; + struct bpf_verifier_stack_elem *next; + u32 log_pos; +}; + +struct bpf_verifier_state_list { + struct bpf_verifier_state state; + struct list_head node; + u32 miss_cnt; + u32 hit_cnt: 31; + u32 in_free_list: 1; +}; + +struct bpf_work { + struct bpf_async_cb cb; + struct work_struct work; + struct work_struct delete_work; +}; + +struct bpf_wq { + __u64 __opaque[2]; +}; + +struct bpf_xdp_link; + +struct bpf_xdp_entity { + struct bpf_prog *prog; + struct bpf_xdp_link *link; +}; + +struct bpf_xdp_link { + struct bpf_link link; + struct net_device *dev; + int flags; +}; + +struct bpf_xdp_sock { + __u32 queue_id; +}; + +struct bpf_xfrm_state { + __u32 reqid; + __u32 spi; + __u16 family; + __u16 ext; + union { + __u32 remote_ipv4; + __u32 remote_ipv6[4]; + }; +}; + +struct bpf_xfrm_state_opts { + s32 error; + s32 netns_id; + u32 mark; + xfrm_address_t daddr; + __be32 spi; + u8 proto; + u16 family; +}; + +struct bpffs_btf_enums { + const struct btf *btf; + const struct btf_type *cmd_t; + const struct btf_type *map_t; + const struct btf_type *prog_t; + const struct btf_type *attach_t; +}; + +struct trace_entry { + short unsigned int type; + unsigned char flags; + unsigned char preempt_count; + int pid; +}; + +struct bprint_entry { + struct trace_entry ent; + long unsigned int ip; + const char *fmt; + u32 buf[0]; +}; + +struct bputs_entry { + struct trace_entry ent; + long unsigned int ip; + const char *str; +}; + +struct br_input_skb_cb { + struct net_device *brdev; + u16 frag_max_size; + u8 igmp; + u8 mrouters_only: 1; + u8 proxyarp_replied: 1; + u8 src_port_isolated: 1; + u8 promisc: 1; + u8 vlan_filtered: 1; + u8 br_netfilter_broute: 1; + u8 tx_fwd_offload: 1; + int src_hwdom; + long unsigned int fwd_hwdoms; + u32 backup_nhid; +}; + +struct br_ip { + union { + __be32 ip4; + struct in6_addr ip6; + } src; + union { + __be32 ip4; + struct in6_addr ip6; + unsigned char mac_addr[6]; + } dst; + __be16 proto; + __u16 vid; +}; + +struct br_mcast_stats { + __u64 igmp_v1queries[2]; + __u64 igmp_v2queries[2]; + __u64 igmp_v3queries[2]; + __u64 igmp_leaves[2]; + __u64 igmp_v1reports[2]; + __u64 igmp_v2reports[2]; + __u64 igmp_v3reports[2]; + __u64 igmp_parse_errors; + __u64 mld_v1queries[2]; + __u64 mld_v2queries[2]; + __u64 mld_leaves[2]; + __u64 mld_v1reports[2]; + __u64 mld_v2reports[2]; + __u64 mld_parse_errors; + __u64 mcast_bytes[2]; + __u64 mcast_packets[2]; +}; + +struct br_mdb_entry { + __u32 ifindex; + __u8 state; + __u8 flags; + __u16 vid; + struct { + union { + __be32 ip4; + struct in6_addr ip6; + unsigned char mac_addr[6]; + } u; + __be16 proto; + } addr; +}; + +struct br_port_msg { + __u8 family; + __u32 ifindex; +}; + +struct metadata_dst; + +struct br_tunnel_info { + __be64 tunnel_id; + struct metadata_dst *tunnel_dst; +}; + +struct branch_entry { + union { + struct { + u64 ip: 58; + u64 ip_sign_ext: 5; + u64 mispredict: 1; + } split; + u64 full; + } from; + union { + struct { + u64 ip: 58; + u64 ip_sign_ext: 3; + u64 reserved: 1; + u64 spec: 1; + u64 valid: 1; + } split; + u64 full; + } to; +}; + +struct bridge_id { + unsigned char prio[2]; + unsigned char addr[6]; +}; + +typedef struct bridge_id bridge_id; + +struct bridge_mcast_other_query { + struct timer_list timer; + struct timer_list delay_timer; +}; + +struct bridge_mcast_own_query { + struct timer_list timer; + u32 startup_sent; +}; + +struct bridge_mcast_querier { + struct br_ip addr; + int port_ifidx; + seqcount_spinlock_t seq; +}; + +struct bridge_mcast_stats { + struct br_mcast_stats mstats; + struct u64_stats_sync syncp; +}; + +struct bridge_stp_xstats { + __u64 transition_blk; + __u64 transition_fwd; + __u64 rx_bpdu; + __u64 tx_bpdu; + __u64 rx_tcn; + __u64 tx_tcn; +}; + +struct broadcast_sk { + struct sock *sk; + struct work_struct work; +}; + +struct broken_edid { + u8 manufacturer[4]; + u32 model; + u32 fix; +}; + +struct fs_pin { + wait_queue_head_t wait; + int done; + struct hlist_node s_list; + struct hlist_node m_list; + void (*kill)(struct fs_pin *); +}; + +struct bsd_acct_struct { + struct fs_pin pin; + atomic_long_t count; + struct callback_head rcu; + struct mutex lock; + bool active; + bool check_space; + long unsigned int needcheck; + struct file *file; + struct pid_namespace *ns; + struct work_struct work; + struct completion done; + acct_t ac; +}; + +struct bsd_partition { + __le32 p_size; + __le32 p_offset; + __le32 p_fsize; + __u8 p_fstype; + __u8 p_frag; + __le16 p_cpg; +}; + +struct bsd_disklabel { + __le32 d_magic; + __s16 d_type; + __s16 d_subtype; + char d_typename[16]; + char d_packname[16]; + __u32 d_secsize; + __u32 d_nsectors; + __u32 d_ntracks; + __u32 d_ncylinders; + __u32 d_secpercyl; + __u32 d_secperunit; + __u16 d_sparespertrack; + __u16 d_sparespercyl; + __u32 d_acylinders; + __u16 d_rpm; + __u16 d_interleave; + __u16 d_trackskew; + __u16 d_cylskew; + __u32 d_headswitch; + __u32 d_trkseek; + __u32 d_flags; + __u32 d_drivedata[5]; + __u32 d_spare[5]; + __le32 d_magic2; + __le16 d_checksum; + __le16 d_npartitions; + __le32 d_bbsize; + __le32 d_sbsize; + struct bsd_partition d_partitions[16]; +}; + +struct bsg_buffer { + unsigned int payload_len; + int sg_cnt; + struct scatterlist *sg_list; +}; + +struct cdev { + struct kobject kobj; + struct module *owner; + const struct file_operations *ops; + struct list_head list; + dev_t dev; + unsigned int count; +}; + +struct sg_io_v4; + +typedef int bsg_sg_io_fn(struct request_queue *, struct sg_io_v4 *, bool, unsigned int); + +struct bsg_device { + struct request_queue *queue; + struct device device; + struct cdev cdev; + int max_queue; + unsigned int timeout; + unsigned int reserved_size; + bsg_sg_io_fn *sg_io_fn; +}; + +struct bsg_job { + struct device *dev; + struct kref kref; + unsigned int timeout; + void *request; + void *reply; + unsigned int request_len; + unsigned int reply_len; + struct bsg_buffer request_payload; + struct bsg_buffer reply_payload; + int result; + unsigned int reply_payload_rcv_len; + struct request *bidi_rq; + struct bio *bidi_bio; + void *dd_data; +}; + +typedef int bsg_job_fn(struct bsg_job *); + +typedef enum blk_eh_timer_return bsg_timeout_fn(struct request *); + +struct bsg_set { + struct blk_mq_tag_set tag_set; + struct bsg_device *bd; + bsg_job_fn *job_fn; + bsg_timeout_fn *timeout_fn; +}; + +typedef bool busy_tag_iter_fn(struct request *, void *); + +struct bt_iter_data { + struct blk_mq_hw_ctx *hctx; + struct request_queue *q; + busy_tag_iter_fn *fn; + void *data; + bool reserved; +}; + +struct bt_tags_iter_data { + struct blk_mq_tags *tags; + busy_tag_iter_fn *fn; + void *data; + unsigned int flags; +}; + +struct btf_header { + __u16 magic; + __u8 version; + __u8 flags; + __u32 hdr_len; + __u32 type_off; + __u32 type_len; + __u32 str_off; + __u32 str_len; +}; + +struct btf_kfunc_set_tab; + +struct btf_id_dtor_kfunc_tab; + +struct btf_struct_metas; + +struct btf_struct_ops_tab; + +struct btf { + void *data; + struct btf_type **types; + u32 *resolved_ids; + u32 *resolved_sizes; + const char *strings; + void *nohdr_data; + struct btf_header hdr; + u32 nr_types; + u32 types_size; + u32 data_size; + refcount_t refcnt; + u32 id; + struct callback_head rcu; + struct btf_kfunc_set_tab *kfunc_set_tab; + struct btf_id_dtor_kfunc_tab *dtor_kfunc_tab; + struct btf_struct_metas *struct_meta_tab; + struct btf_struct_ops_tab *struct_ops_tab; + struct btf *base_btf; + u32 start_id; + u32 start_str_off; + char name[56]; + bool kernel_btf; + __u32 *base_id_map; +}; + +struct btf_anon_stack { + u32 tid; + u32 offset; +}; + +struct btf_array { + __u32 type; + __u32 index_type; + __u32 nelems; +}; + +struct btf_decl_tag { + __s32 component_idx; +}; + +struct btf_enum { + __u32 name_off; + __s32 val; +}; + +struct btf_enum64 { + __u32 name_off; + __u32 val_lo32; + __u32 val_hi32; +}; + +typedef void (*btf_dtor_kfunc_t)(void *); + +struct btf_field_kptr { + struct btf *btf; + struct module *module; + btf_dtor_kfunc_t dtor; + u32 btf_id; +}; + +struct btf_field_graph_root { + struct btf *btf; + u32 value_btf_id; + u32 node_offset; + struct btf_record *value_rec; +}; + +struct btf_field { + u32 offset; + u32 size; + enum btf_field_type type; + union { + struct btf_field_kptr kptr; + struct btf_field_graph_root graph_root; + }; +}; + +struct btf_field_desc { + int t_off_cnt; + int t_offs[2]; + int m_sz; + int m_off_cnt; + int m_offs[1]; +}; + +struct btf_field_info { + enum btf_field_type type; + u32 off; + union { + struct { + u32 type_id; + } kptr; + struct { + const char *node_name; + u32 value_btf_id; + } graph_root; + }; +}; + +struct btf_field_iter { + struct btf_field_desc desc; + void *p; + int m_idx; + int off_idx; + int vlen; +}; + +struct btf_id_dtor_kfunc { + u32 btf_id; + u32 kfunc_btf_id; +}; + +struct btf_id_dtor_kfunc_tab { + u32 cnt; + struct btf_id_dtor_kfunc dtors[0]; +}; + +struct btf_id_set { + u32 cnt; + u32 ids[0]; +}; + +struct btf_id_set8 { + u32 cnt; + u32 flags; + struct { + u32 id; + u32 flags; + } pairs[0]; +}; + +typedef int (*btf_kfunc_filter_t)(const struct bpf_prog *, u32); + +struct btf_kfunc_hook_filter { + btf_kfunc_filter_t filters[16]; + u32 nr_filters; +}; + +struct btf_kfunc_id_set { + struct module *owner; + struct btf_id_set8 *set; + btf_kfunc_filter_t filter; +}; + +struct btf_kfunc_set_tab { + struct btf_id_set8 *sets[14]; + struct btf_kfunc_hook_filter hook_filters[14]; +}; + +struct btf_verifier_env; + +struct resolve_vertex; + +struct btf_show; + +struct btf_kind_operations { + s32 (*check_meta)(struct btf_verifier_env *, const struct btf_type *, u32); + int (*resolve)(struct btf_verifier_env *, const struct resolve_vertex *); + int (*check_member)(struct btf_verifier_env *, const struct btf_type *, const struct btf_member *, const struct btf_type *); + int (*check_kflag_member)(struct btf_verifier_env *, const struct btf_type *, const struct btf_member *, const struct btf_type *); + void (*log_details)(struct btf_verifier_env *, const struct btf_type *); + void (*show)(const struct btf *, const struct btf_type *, u32, void *, u8, struct btf_show *); +}; + +struct btf_member { + __u32 name_off; + __u32 type; + __u32 offset; +}; + +struct btf_module { + struct list_head list; + struct module *module; + struct btf *btf; + struct bin_attribute *sysfs_attr; + int flags; +}; + +struct btf_name_info { + const char *name; + bool needs_size: 1; + unsigned int size: 31; + __u32 id; +}; + +struct btf_param { + __u32 name_off; + __u32 type; +}; + +struct btf_ptr { + void *ptr; + __u32 type_id; + __u32 flags; +}; + +struct btf_record { + u32 cnt; + u32 field_mask; + int spin_lock_off; + int res_spin_lock_off; + int timer_off; + int wq_off; + int refcount_off; + struct btf_field fields[0]; +}; + +struct btf_relocate { + struct btf *btf; + const struct btf *base_btf; + const struct btf *dist_base_btf; + unsigned int nr_base_types; + unsigned int nr_split_types; + unsigned int nr_dist_base_types; + int dist_str_len; + int base_str_len; + __u32 *id_map; + __u32 *str_map; +}; + +struct btf_sec_info { + u32 off; + u32 len; +}; + +struct btf_show { + u64 flags; + void *target; + void (*showfn)(struct btf_show *, const char *, struct __va_list_tag *); + const struct btf *btf; + struct { + u8 depth; + u8 depth_to_show; + u8 depth_check; + u8 array_member: 1; + u8 array_terminated: 1; + u16 array_encoding; + u32 type_id; + int status; + const struct btf_type *type; + const struct btf_member *member; + char name[80]; + } state; + struct { + u32 size; + void *head; + void *data; + u8 safe[32]; + } obj; +}; + +struct btf_show_snprintf { + struct btf_show show; + int len_left; + int len; +}; + +struct btf_struct_meta { + u32 btf_id; + struct btf_record *record; +}; + +struct btf_struct_metas { + u32 cnt; + struct btf_struct_meta types[0]; +}; + +struct btf_struct_ops_tab { + u32 cnt; + u32 capacity; + struct bpf_struct_ops_desc ops[0]; +}; + +struct btf_type { + __u32 name_off; + __u32 info; + union { + __u32 size; + __u32 type; + }; +}; + +struct btf_var { + __u32 linkage; +}; + +struct btf_var_secinfo { + __u32 type; + __u32 offset; + __u32 size; +}; + +struct resolve_vertex { + const struct btf_type *t; + u32 type_id; + u16 next_member; +}; + +struct btf_verifier_env { + struct btf *btf; + u8 *visit_states; + struct resolve_vertex stack[32]; + struct bpf_verifier_log log; + u32 log_type_id; + u32 top_stack; + enum verifier_phase phase; + enum resolve_mode resolve_mode; +}; + +struct btree_geo { + int keylen; + int no_pairs; + int no_longs; +}; + +struct btree_head { + long unsigned int *node; + mempool_t *mempool; + int height; +}; + +struct bts_phys { + struct page *page; + long unsigned int size; + long unsigned int offset; + long unsigned int displacement; +}; + +struct bts_buffer { + size_t real_size; + unsigned int nr_pages; + unsigned int nr_bufs; + unsigned int cur_buf; + bool snapshot; + local_t data_size; + local_t head; + long unsigned int end; + void **data_pages; + struct bts_phys buf[0]; +}; + +struct perf_buffer; + +struct perf_output_handle { + struct perf_event *event; + struct perf_buffer *rb; + long unsigned int wakeup; + long unsigned int size; + union { + u64 flags; + u64 aux_flags; + struct { + u64 skip_read: 1; + }; + }; + union { + void *addr; + long unsigned int head; + }; + int page; +}; + +struct debug_store { + u64 bts_buffer_base; + u64 bts_index; + u64 bts_absolute_maximum; + u64 bts_interrupt_threshold; + u64 pebs_buffer_base; + u64 pebs_index; + u64 pebs_absolute_maximum; + u64 pebs_interrupt_threshold; + u64 pebs_event_reset[48]; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct bts_ctx { + struct perf_output_handle handle; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + struct debug_store ds_back; + int state; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct bts_record { + u64 from; + u64 to; + u64 flags; +}; + +struct nd_btt; + +struct nd_region; + +struct btt { + struct gendisk *btt_disk; + struct list_head arena_list; + struct dentry *debugfs_dir; + struct nd_btt *nd_btt; + u64 nlba; + long long unsigned int rawsize; + u32 lbasize; + u32 sector_size; + struct nd_region *nd_region; + struct mutex init_lock; + int init_state; + int num_arenas; + struct badblocks *phys_bb; +}; + +struct btt_sb { + u8 signature[16]; + u8 uuid[16]; + u8 parent_uuid[16]; + __le32 flags; + __le16 version_major; + __le16 version_minor; + __le32 external_lbasize; + __le32 external_nlba; + __le32 internal_lbasize; + __le32 internal_nlba; + __le32 nfree; + __le32 infosize; + __le64 nextoff; + __le64 dataoff; + __le64 mapoff; + __le64 logoff; + __le64 info2off; + u8 padding[3968]; + __le64 checksum; +}; + +struct hlist_nulls_head { + struct hlist_nulls_node *first; +}; + +struct bucket { + struct hlist_nulls_head head; + rqspinlock_t raw_lock; +}; + +struct lockdep_map {}; + +struct rhash_lock_head; + +struct bucket_table { + unsigned int size; + unsigned int nest; + u32 hash_rnd; + struct list_head walkers; + struct callback_head rcu; + struct bucket_table *future_tbl; + struct lockdep_map dep_map; + long: 64; + struct rhash_lock_head *buckets[0]; +}; + +struct buf_sel_arg { + struct iovec *iovs; + size_t out_len; + size_t max_len; + short unsigned int nr_iovs; + short unsigned int mode; + short unsigned int buf_group; + short unsigned int partial_map; +}; + +struct buffer_data_page { + u64 time_stamp; + local_t commit; + unsigned char data[0]; +}; + +struct buffer_data_read_page { + unsigned int order; + struct buffer_data_page *data; +}; + +typedef void bh_end_io_t(struct buffer_head *, int); + +struct buffer_head { + long unsigned int b_state; + struct buffer_head *b_this_page; + union { + struct page *b_page; + struct folio *b_folio; + }; + sector_t b_blocknr; + size_t b_size; + char *b_data; + struct block_device *b_bdev; + bh_end_io_t *b_end_io; + void *b_private; + struct list_head b_assoc_buffers; + struct address_space *b_assoc_map; + atomic_t b_count; + spinlock_t b_uptodate_lock; +}; + +struct buffer_page { + struct list_head list; + local_t write; + unsigned int read; + local_t entries; + long unsigned int real_end; + unsigned int order; + u32 id: 30; + u32 range: 1; + struct buffer_data_page *page; +}; + +struct buffer_ref { + struct trace_buffer *buffer; + void *page; + int cpu; + refcount_t refcount; +}; + +struct bug_entry { + int bug_addr_disp; + int file_disp; + short unsigned int line; + short unsigned int flags; +}; + +struct builtin_fw { + char *name; + void *data; + long unsigned int size; +}; + +struct group_data { + int limit[21]; + int base[20]; + int permute[258]; + int minLen; + int maxLen; +}; + +struct bunzip_data { + int writeCopies; + int writePos; + int writeRunCountdown; + int writeCount; + int writeCurrent; + long int (*fill)(void *, long unsigned int); + long int inbufCount; + long int inbufPos; + unsigned char *inbuf; + unsigned int inbufBitCount; + unsigned int inbufBits; + unsigned int crc32Table[256]; + unsigned int headerCRC; + unsigned int totalCRC; + unsigned int writeCRC; + unsigned int *dbuf; + unsigned int dbufSize; + unsigned char selectors[32768]; + struct group_data groups[6]; + int io_error; + int byteCount[256]; + unsigned char symToByte[256]; + unsigned char mtfSymbol[256]; +}; + +struct bus_attribute { + struct attribute attr; + ssize_t (*show)(const struct bus_type *, char *); + ssize_t (*store)(const struct bus_type *, const char *, size_t); +}; + +struct bus_dma_region { + phys_addr_t cpu_start; + dma_addr_t dma_start; + u64 size; +}; + +struct bus_type { + const char *name; + const char *dev_name; + const struct attribute_group **bus_groups; + const struct attribute_group **dev_groups; + const struct attribute_group **drv_groups; + int (*match)(struct device *, const struct device_driver *); + int (*uevent)(const struct device *, struct kobj_uevent_env *); + int (*probe)(struct device *); + void (*sync_state)(struct device *); + void (*remove)(struct device *); + void (*shutdown)(struct device *); + const struct cpumask * (*irq_get_affinity)(struct device *, unsigned int); + int (*online)(struct device *); + int (*offline)(struct device *); + int (*suspend)(struct device *, pm_message_t); + int (*resume)(struct device *); + int (*num_vf)(struct device *); + int (*dma_configure)(struct device *); + void (*dma_cleanup)(struct device *); + const struct dev_pm_ops *pm; + bool need_parent_lock; +}; + +struct bvec_iter_all { + struct bio_vec bv; + int idx; + unsigned int done; +}; + +struct bzimage64_data { + void *bootparams_buf; +}; + +struct cache_head; + +struct cache_deferred_req { + struct hlist_node hash; + struct list_head recent; + struct cache_head *item; + void *owner; + void (*revisit)(struct cache_deferred_req *, int); +}; + +struct cache_head { + struct hlist_node cache_list; + time64_t expiry_time; + time64_t last_refresh; + struct kref ref; + long unsigned int flags; +}; + +struct cache_map { + u64 start; + u64 end; + u64 flags; + u64 type: 8; + u64 fixed: 1; +}; + +struct cache_req { + struct cache_deferred_req * (*defer)(struct cache_req *); + long unsigned int thread_wait; +}; + +struct intel_iommu; + +struct cache_tag { + struct list_head node; + enum cache_tag_type type; + struct intel_iommu *iommu; + struct device *dev; + u16 domain_id; + ioasid_t pasid; + unsigned int users; +}; + +struct cacheinfo { + unsigned int id; + enum cache_type type; + unsigned int level; + unsigned int coherency_line_size; + unsigned int number_of_sets; + unsigned int ways_of_associativity; + unsigned int physical_line_partition; + unsigned int size; + cpumask_t shared_cpu_map; + unsigned int attributes; + void *fw_token; + bool disable_sysfs; + void *priv; +}; + +struct cacheline_padding { + char x[0]; +}; + +struct cachestat { + __u64 nr_cache; + __u64 nr_dirty; + __u64 nr_writeback; + __u64 nr_evicted; + __u64 nr_recently_evicted; +}; + +struct cachestat_range { + __u64 off; + __u64 len; +}; + +struct calipso_doi { + u32 doi; + u32 type; + refcount_t refcount; + struct list_head list; + struct callback_head rcu; +}; + +struct calipso_map_cache_bkt { + spinlock_t lock; + u32 size; + struct list_head list; +}; + +struct netlbl_lsm_cache; + +struct calipso_map_cache_entry { + u32 hash; + unsigned char *key; + size_t key_len; + struct netlbl_lsm_cache *lsm_data; + u32 activity; + struct list_head list; +}; + +struct call_function_data { + call_single_data_t *csd; + cpumask_var_t cpumask; + cpumask_var_t cpumask_ipi; +}; + +struct call_summary { + u8 num_params; + bool is_void; + bool fastcall; +}; + +struct callback { + void (*fn)(void *); + void *data; +}; + +struct callback_register { + uint16_t type; + uint16_t flags; + xen_callback_t address; +}; + +struct callchain_cpus_entries { + struct callback_head callback_head; + struct perf_callchain_entry *cpu_entries[0]; +}; + +struct callthunk_sites { + s32 *call_start; + s32 *call_end; +}; + +struct compact_control; + +struct capture_control { + struct compact_control *cc; + struct page *page; +}; + +struct cat_datum { + u32 value; + unsigned char isalias; +}; + +struct cb_id { + __u32 idx; + __u32 val; +}; + +struct cc_attr_flags { + __u64 host_sev_snp: 1; + __u64 __resv: 63; +}; + +struct cc_blob_sev_info { + u32 magic; + u16 version; + u16 reserved; + u64 secrets_phys; + u32 secrets_len; + u32 rsvd1; + u64 cpuid_phys; + u32 cpuid_len; + u32 rsvd2; +}; + +struct setup_data { + __u64 next; + __u32 type; + __u32 len; + __u8 data[0]; +}; + +struct cc_setup_data { + struct setup_data header; + u32 cc_blob_address; +}; + +struct ccs_modesel_head { + __u8 _r1; + __u8 medium; + __u8 _r2; + __u8 block_desc_length; + __u8 density; + __u8 number_blocks_hi; + __u8 number_blocks_med; + __u8 number_blocks_lo; + __u8 _r3; + __u8 block_length_hi; + __u8 block_length_med; + __u8 block_length_lo; +}; + +struct cdrom_msf0 { + __u8 minute; + __u8 second; + __u8 frame; +}; + +union cdrom_addr { + struct cdrom_msf0 msf; + int lba; +}; + +struct cdrom_blk { + unsigned int from; + short unsigned int len; +}; + +struct cdrom_mechstat_header { + __u8 curslot: 5; + __u8 changer_state: 2; + __u8 fault: 1; + __u8 reserved1: 4; + __u8 door_open: 1; + __u8 mech_state: 3; + __u8 curlba[3]; + __u8 nslots; + __u16 slot_tablelen; +}; + +struct cdrom_slot { + __u8 change: 1; + __u8 reserved1: 6; + __u8 disc_present: 1; + __u8 reserved2[3]; +}; + +struct cdrom_changer_info { + struct cdrom_mechstat_header hdr; + struct cdrom_slot slots[256]; +}; + +struct cdrom_device_ops; + +struct cdrom_device_info { + const struct cdrom_device_ops *ops; + struct list_head list; + struct gendisk *disk; + void *handle; + int mask; + int speed; + int capacity; + unsigned int options: 30; + unsigned int mc_flags: 2; + unsigned int vfs_events; + unsigned int ioctl_events; + int use_count; + char name[20]; + __u8 sanyo_slot: 2; + __u8 keeplocked: 1; + __u8 reserved: 5; + int cdda_method; + __u8 last_sense; + __u8 media_written; + short unsigned int mmc3_profile; + int mrw_mode_page; + bool opened_for_data; + __s64 last_media_change_ms; +}; + +struct cdrom_multisession; + +struct cdrom_mcn; + +struct packet_command; + +struct cdrom_device_ops { + int (*open)(struct cdrom_device_info *, int); + void (*release)(struct cdrom_device_info *); + int (*drive_status)(struct cdrom_device_info *, int); + unsigned int (*check_events)(struct cdrom_device_info *, unsigned int, int); + int (*tray_move)(struct cdrom_device_info *, int); + int (*lock_door)(struct cdrom_device_info *, int); + int (*select_speed)(struct cdrom_device_info *, long unsigned int); + int (*get_last_session)(struct cdrom_device_info *, struct cdrom_multisession *); + int (*get_mcn)(struct cdrom_device_info *, struct cdrom_mcn *); + int (*reset)(struct cdrom_device_info *); + int (*audio_ioctl)(struct cdrom_device_info *, unsigned int, void *); + int (*generic_packet)(struct cdrom_device_info *, struct packet_command *); + int (*read_cdda_bpc)(struct cdrom_device_info *, void *, u32, u32, u8 *); + const int capability; +}; + +struct request_sense; + +struct cdrom_generic_command { + unsigned char cmd[12]; + unsigned char *buffer; + unsigned int buflen; + int stat; + struct request_sense *sense; + unsigned char data_direction; + int quiet; + int timeout; + union { + void *reserved[1]; + void *unused; + }; +}; + +struct cdrom_mcn { + __u8 medium_catalog_number[14]; +}; + +struct cdrom_msf { + __u8 cdmsf_min0; + __u8 cdmsf_sec0; + __u8 cdmsf_frame0; + __u8 cdmsf_min1; + __u8 cdmsf_sec1; + __u8 cdmsf_frame1; +}; + +struct cdrom_multisession { + union cdrom_addr addr; + __u8 xa_flag; + __u8 addr_format; +}; + +struct cdrom_read_audio { + union cdrom_addr addr; + __u8 addr_format; + int nframes; + __u8 *buf; +}; + +struct cdrom_subchnl { + __u8 cdsc_format; + __u8 cdsc_audiostatus; + __u8 cdsc_adr: 4; + __u8 cdsc_ctrl: 4; + __u8 cdsc_trk; + __u8 cdsc_ind; + union cdrom_addr cdsc_absaddr; + union cdrom_addr cdsc_reladdr; +}; + +struct cdrom_sysctl_settings { + char info[1000]; + int autoclose; + int autoeject; + int debug; + int lock; + int check; +}; + +struct cdrom_ti { + __u8 cdti_trk0; + __u8 cdti_ind0; + __u8 cdti_trk1; + __u8 cdti_ind1; +}; + +struct cdrom_timed_media_change_info { + __s64 last_media_change; + __u64 media_flags; +}; + +struct cdrom_tocentry { + __u8 cdte_track; + __u8 cdte_adr: 4; + __u8 cdte_ctrl: 4; + __u8 cdte_format; + union cdrom_addr cdte_addr; + __u8 cdte_datamode; +}; + +struct cdrom_tochdr { + __u8 cdth_trk0; + __u8 cdth_trk1; +}; + +struct cdrom_volctrl { + __u8 channel0; + __u8 channel1; + __u8 channel2; + __u8 channel3; +}; + +struct ce_array { + u64 *array; + unsigned int n; + unsigned int decay_count; + u64 pfns_poisoned; + u64 ces_entered; + u64 decays_done; + union { + struct { + __u32 disabled: 1; + __u32 __resv: 31; + }; + __u32 flags; + }; +}; + +struct clock_event_device; + +struct ce_unbind { + struct clock_event_device *ce; + int res; +}; + +struct cea_db { + u8 tag_length; + u8 data[0]; +}; + +struct drm_edid; + +struct drm_edid_iter { + const struct drm_edid *drm_edid; + int index; +}; + +struct displayid_iter { + const struct drm_edid *drm_edid; + const u8 *section; + int length; + int idx; + int ext_index; + u8 version; + u8 primary_use; + u8 quirks; +}; + +struct cea_db_iter { + struct drm_edid_iter edid_iter; + struct displayid_iter displayid_iter; + const u8 *collection; + int index; + int end; +}; + +struct cea_exception_stacks { + char DF_stack_guard[4096]; + char DF_stack[8192]; + char NMI_stack_guard[4096]; + char NMI_stack[8192]; + char DB_stack_guard[4096]; + char DB_stack[8192]; + char MCE_stack_guard[4096]; + char MCE_stack[8192]; + char VC_stack_guard[4096]; + char VC_stack[8192]; + char VC2_stack_guard[4096]; + char VC2_stack[8192]; + char IST_top_guard[4096]; +}; + +struct cea_sad { + u8 format; + u8 channels; + u8 freq; + u8 byte2; +}; + +struct cee_pfc { + __u8 willing; + __u8 error; + __u8 pfc_en; + __u8 tcs_supported; +}; + +struct cee_pg { + __u8 willing; + __u8 error; + __u8 pg_en; + __u8 tcs_supported; + __u8 pg_bw[8]; + __u8 prio_pg[8]; +}; + +struct cet_user_state { + u64 user_cet; + u64 user_ssp; +}; + +struct cfg80211_bss_select_adjust { + enum nl80211_band band; + s8 delta; +}; + +struct cfg80211_bss_selection { + enum nl80211_bss_select_attr behaviour; + union { + enum nl80211_band band_pref; + struct cfg80211_bss_select_adjust adjust; + } param; +}; + +struct ieee80211_edmg { + u8 channels; + enum ieee80211_edmg_bw_config bw_config; +}; + +struct ieee80211_channel; + +struct cfg80211_chan_def { + struct ieee80211_channel *chan; + enum nl80211_chan_width width; + u32 center_freq1; + u32 center_freq2; + struct ieee80211_edmg edmg; + u16 freq1_offset; + u16 punctured; +}; + +struct cfg80211_crypto_settings { + u32 wpa_versions; + u32 cipher_group; + int n_ciphers_pairwise; + u32 ciphers_pairwise[5]; + int n_akm_suites; + u32 akm_suites[10]; + bool control_port; + __be16 control_port_ethertype; + bool control_port_no_encrypt; + bool control_port_over_nl80211; + bool control_port_no_preauth; + const u8 *psk; + const u8 *sae_pwd; + u8 sae_pwd_len; + enum nl80211_sae_pwe_mechanism sae_pwe; +}; + +struct ieee80211_mcs_info { + u8 rx_mask[10]; + __le16 rx_highest; + u8 tx_params; + u8 reserved[3]; +}; + +struct ieee80211_ht_cap { + __le16 cap_info; + u8 ampdu_params_info; + struct ieee80211_mcs_info mcs; + __le16 extended_ht_cap_info; + __le32 tx_BF_cap_info; + u8 antenna_selection_info; +} __attribute__((packed)); + +struct ieee80211_vht_mcs_info { + __le16 rx_mcs_map; + __le16 rx_highest; + __le16 tx_mcs_map; + __le16 tx_highest; +}; + +struct ieee80211_vht_cap { + __le32 vht_cap_info; + struct ieee80211_vht_mcs_info supp_mcs; +}; + +struct cfg80211_connect_params { + struct ieee80211_channel *channel; + struct ieee80211_channel *channel_hint; + const u8 *bssid; + const u8 *bssid_hint; + const u8 *ssid; + size_t ssid_len; + enum nl80211_auth_type auth_type; + const u8 *ie; + size_t ie_len; + bool privacy; + enum nl80211_mfp mfp; + struct cfg80211_crypto_settings crypto; + const u8 *key; + u8 key_len; + u8 key_idx; + u32 flags; + int bg_scan_period; + struct ieee80211_ht_cap ht_capa; + struct ieee80211_ht_cap ht_capa_mask; + struct ieee80211_vht_cap vht_capa; + struct ieee80211_vht_cap vht_capa_mask; + bool pbss; + struct cfg80211_bss_selection bss_select; + const u8 *prev_bssid; + const u8 *fils_erp_username; + size_t fils_erp_username_len; + const u8 *fils_erp_realm; + size_t fils_erp_realm_len; + u16 fils_erp_next_seq_num; + const u8 *fils_erp_rrk; + size_t fils_erp_rrk_len; + bool want_1x; + struct ieee80211_edmg edmg; +}; + +struct key_params; + +struct cfg80211_ibss_params { + const u8 *ssid; + const u8 *bssid; + struct cfg80211_chan_def chandef; + const u8 *ie; + u8 ssid_len; + u8 ie_len; + u16 beacon_interval; + u32 basic_rates; + bool channel_fixed; + bool privacy; + bool control_port; + bool control_port_over_nl80211; + bool userspace_handles_dfs; + int mcast_rate[6]; + struct ieee80211_ht_cap ht_capa; + struct ieee80211_ht_cap ht_capa_mask; + struct key_params *wep_keys; + int wep_tx_key; +}; + +struct cfg80211_ssid { + u8 ssid[32]; + u8 ssid_len; +}; + +struct cfg80211_match_set { + struct cfg80211_ssid ssid; + u8 bssid[6]; + s32 rssi_thold; +}; + +struct cfg80211_pkt_pattern { + const u8 *mask; + const u8 *pattern; + int pattern_len; + int pkt_offset; +}; + +struct cfg80211_pmsr_capabilities { + unsigned int max_peers; + u8 report_ap_tsf: 1; + u8 randomize_mac_addr: 1; + struct { + u32 preambles; + u32 bandwidths; + s8 max_bursts_exponent; + u8 max_ftms_per_burst; + u8 supported: 1; + u8 asap: 1; + u8 non_asap: 1; + u8 request_lci: 1; + u8 request_civicloc: 1; + u8 trigger_based: 1; + u8 non_trigger_based: 1; + } ftm; +}; + +struct cfg80211_sar_freq_ranges; + +struct cfg80211_sar_capa { + enum nl80211_sar_type type; + u32 num_freq_ranges; + const struct cfg80211_sar_freq_ranges *freq_ranges; +}; + +struct cfg80211_sar_freq_ranges { + u32 start_freq; + u32 end_freq; +}; + +struct cfg80211_sched_scan_plan { + u32 interval; + u32 iterations; +}; + +struct wiphy; + +struct cfg80211_sched_scan_request { + u64 reqid; + struct cfg80211_ssid *ssids; + int n_ssids; + u32 n_channels; + const u8 *ie; + size_t ie_len; + u32 flags; + struct cfg80211_match_set *match_sets; + int n_match_sets; + s32 min_rssi_thold; + u32 delay; + struct cfg80211_sched_scan_plan *scan_plans; + int n_scan_plans; + u8 mac_addr[6]; + u8 mac_addr_mask[6]; + bool relative_rssi_set; + s8 relative_rssi; + struct cfg80211_bss_select_adjust rssi_adjust; + struct wiphy *wiphy; + struct net_device *dev; + long unsigned int scan_start; + bool report_results; + struct callback_head callback_head; + u32 owner_nlportid; + bool nl_owner_dead; + struct list_head list; + struct ieee80211_channel *channels[0]; +}; + +struct cfg80211_wowlan_tcp; + +struct cfg80211_wowlan { + bool any; + bool disconnect; + bool magic_pkt; + bool gtk_rekey_failure; + bool eap_identity_req; + bool four_way_handshake; + bool rfkill_release; + struct cfg80211_pkt_pattern *patterns; + struct cfg80211_wowlan_tcp *tcp; + int n_patterns; + struct cfg80211_sched_scan_request *nd_config; +}; + +struct nl80211_wowlan_tcp_data_seq { + __u32 start; + __u32 offset; + __u32 len; +}; + +struct nl80211_wowlan_tcp_data_token { + __u32 offset; + __u32 len; + __u8 token_stream[0]; +}; + +struct cfg80211_wowlan_tcp { + struct socket *sock; + __be32 src; + __be32 dst; + u16 src_port; + u16 dst_port; + u8 dst_mac[6]; + int payload_len; + const u8 *payload; + struct nl80211_wowlan_tcp_data_seq payload_seq; + u32 data_interval; + u32 wake_len; + const u8 *wake_data; + const u8 *wake_mask; + u32 tokens_size; + struct nl80211_wowlan_tcp_data_token payload_tok; +}; + +struct cfs_bandwidth { + raw_spinlock_t lock; + ktime_t period; + u64 quota; + u64 runtime; + u64 burst; + u64 runtime_snap; + s64 hierarchical_quota; + u8 idle; + u8 period_active; + u8 slack_started; + struct hrtimer period_timer; + struct hrtimer slack_timer; + struct list_head throttled_cfs_rq; + int nr_periods; + int nr_throttled; + int nr_burst; + u64 throttled_time; + u64 burst_time; +}; + +struct load_weight { + long unsigned int weight; + u32 inv_weight; +}; + +struct sched_avg { + u64 last_update_time; + u64 load_sum; + u64 runnable_sum; + u32 util_sum; + u32 period_contrib; + long unsigned int load_avg; + long unsigned int runnable_avg; + long unsigned int util_avg; + unsigned int util_est; +}; + +struct sched_entity; + +struct cfs_rq { + struct load_weight load; + unsigned int nr_queued; + unsigned int h_nr_queued; + unsigned int h_nr_runnable; + unsigned int h_nr_idle; + s64 avg_vruntime; + u64 avg_load; + u64 zero_vruntime; + unsigned int forceidle_seq; + u64 zero_vruntime_fi; + struct rb_root_cached tasks_timeline; + struct sched_entity *curr; + struct sched_entity *next; + long: 64; + long: 64; + long: 64; + struct sched_avg avg; + struct { + raw_spinlock_t lock; + int nr; + long unsigned int load_avg; + long unsigned int util_avg; + long unsigned int runnable_avg; + long: 64; + long: 64; + long: 64; + long: 64; + } removed; + u64 last_update_tg_load_avg; + long unsigned int tg_load_avg_contrib; + long int propagate; + long int prop_runnable_sum; + long unsigned int h_load; + u64 last_h_load_update; + struct sched_entity *h_load_next; + struct rq *rq; + int on_list; + struct list_head leaf_cfs_rq_list; + struct task_group *tg; + int idle; + int runtime_enabled; + s64 runtime_remaining; + u64 throttled_pelt_idle; + u64 throttled_clock; + u64 throttled_clock_pelt; + u64 throttled_clock_pelt_time; + u64 throttled_clock_self; + u64 throttled_clock_self_time; + int throttled; + int throttle_count; + struct list_head throttled_list; + struct list_head throttled_csd_list; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct cfs_schedulable_data { + struct task_group *tg; + u64 period; + u64 quota; +}; + +struct kernfs_ops; + +struct kernfs_open_file; + +struct cftype { + char name[64]; + long unsigned int private; + size_t max_write_len; + unsigned int flags; + unsigned int file_offset; + struct cgroup_subsys *ss; + struct list_head node; + struct kernfs_ops *kf_ops; + int (*open)(struct kernfs_open_file *); + void (*release)(struct kernfs_open_file *); + u64 (*read_u64)(struct cgroup_subsys_state *, struct cftype *); + s64 (*read_s64)(struct cgroup_subsys_state *, struct cftype *); + int (*seq_show)(struct seq_file *, void *); + void * (*seq_start)(struct seq_file *, loff_t *); + void * (*seq_next)(struct seq_file *, void *, loff_t *); + void (*seq_stop)(struct seq_file *, void *); + int (*write_u64)(struct cgroup_subsys_state *, struct cftype *, u64); + int (*write_s64)(struct cgroup_subsys_state *, struct cftype *, s64); + ssize_t (*write)(struct kernfs_open_file *, char *, size_t, loff_t); + __poll_t (*poll)(struct kernfs_open_file *, struct poll_table_struct *); + struct lock_class_key lockdep_key; +}; + +struct cgroup_file { + struct kernfs_node *kn; + long unsigned int notified_at; + struct timer_list notify_timer; +}; + +struct task_cputime { + u64 stime; + u64 utime; + long long unsigned int sum_exec_runtime; +}; + +struct cgroup_base_stat { + struct task_cputime cputime; + u64 forceidle_sum; + u64 ntime; +}; + +struct prev_cputime { + u64 utime; + u64 stime; + raw_spinlock_t lock; +}; + +struct cgroup_bpf { + struct bpf_prog_array *effective[38]; + struct hlist_head progs[38]; + u8 flags[38]; + u64 revisions[38]; + struct list_head storages; + struct bpf_prog_array *inactive; + struct percpu_ref refcnt; + struct work_struct release_work; +}; + +struct cgroup_freezer_state { + bool freeze; + bool e_freeze; + int nr_frozen_descendants; + int nr_frozen_tasks; +}; + +struct cgroup_root; + +struct cgroup_rstat_base_cpu; + +struct psi_group; + +struct cgroup { + struct cgroup_subsys_state self; + long unsigned int flags; + int level; + int max_depth; + int nr_descendants; + int nr_dying_descendants; + int max_descendants; + int nr_populated_csets; + int nr_populated_domain_children; + int nr_populated_threaded_children; + int nr_threaded_children; + unsigned int kill_seq; + struct kernfs_node *kn; + struct cgroup_file procs_file; + struct cgroup_file events_file; + struct cgroup_file psi_files[3]; + u16 subtree_control; + u16 subtree_ss_mask; + u16 old_subtree_control; + u16 old_subtree_ss_mask; + struct cgroup_subsys_state *subsys[15]; + int nr_dying_subsys[15]; + struct cgroup_root *root; + struct list_head cset_links; + struct list_head e_csets[15]; + struct cgroup *dom_cgrp; + struct cgroup *old_dom_cgrp; + struct cgroup_rstat_base_cpu *rstat_base_cpu; + struct cacheline_padding _pad_; + struct cgroup_base_stat last_bstat; + struct cgroup_base_stat bstat; + struct prev_cputime prev_cputime; + struct list_head pidlists; + struct mutex pidlist_mutex; + wait_queue_head_t offline_waitq; + struct work_struct release_agent_work; + struct psi_group *psi; + struct cgroup_bpf bpf; + struct cgroup_freezer_state freezer; + struct bpf_local_storage *bpf_cgrp_storage; + struct cgroup *ancestors[0]; + long: 64; + long: 64; +}; + +struct cgroup__safe_rcu { + struct kernfs_node *kn; +}; + +struct cgroup_cls_state { + struct cgroup_subsys_state css; + u32 classid; +}; + +struct css_set; + +struct css_task_iter { + struct cgroup_subsys *ss; + unsigned int flags; + struct list_head *cset_pos; + struct list_head *cset_head; + struct list_head *tcset_pos; + struct list_head *tcset_head; + struct list_head *task_pos; + struct list_head *cur_tasks_head; + struct css_set *cur_cset; + struct css_set *cur_dcset; + struct task_struct *cur_task; + struct list_head iters_node; +}; + +struct cgroup_of_peak { + long unsigned int value; + struct list_head list; +}; + +struct cgroup_namespace; + +struct cgroup_pidlist; + +struct cgroup_file_ctx { + struct cgroup_namespace *ns; + struct { + void *trigger; + } psi; + struct { + bool started; + struct css_task_iter iter; + } procs; + struct { + struct cgroup_pidlist *pidlist; + } procs1; + struct cgroup_of_peak peak; +}; + +struct kernfs_root; + +struct kernfs_fs_context { + struct kernfs_root *root; + void *ns_tag; + long unsigned int magic; + bool new_sb_created; +}; + +struct cgroup_fs_context { + struct kernfs_fs_context kfc; + struct cgroup_root *root; + struct cgroup_namespace *ns; + unsigned int flags; + bool cpuset_clone_children; + bool none; + bool all_ss; + u16 subsys_mask; + char *name; + char *release_agent; +}; + +struct cgroup_iter_priv { + struct cgroup_subsys_state *start_css; + bool visited_all; + bool terminate; + int order; +}; + +struct cgroup_lsm_atype { + u32 attach_btf_id; + int refcnt; +}; + +struct cgroup_taskset { + struct list_head src_csets; + struct list_head dst_csets; + int nr_tasks; + int ssid; + struct list_head *csets; + struct css_set *cur_cset; + struct task_struct *cur_task; +}; + +struct cgroup_mgctx { + struct list_head preloaded_src_csets; + struct list_head preloaded_dst_csets; + struct cgroup_taskset tset; + u16 ss_mask; +}; + +struct proc_ns_operations; + +struct ns_common { + struct dentry *stashed; + const struct proc_ns_operations *ops; + unsigned int inum; + refcount_t count; +}; + +struct ucounts; + +struct cgroup_namespace { + struct ns_common ns; + struct user_namespace *user_ns; + struct ucounts *ucounts; + struct css_set *root_cset; +}; + +struct cgroup_pidlist { + struct { + enum cgroup_filetype type; + struct pid_namespace *ns; + } key; + pid_t *list; + int length; + struct list_head links; + struct cgroup *owner; + struct delayed_work destroy_dwork; +}; + +struct cgroup_root { + struct kernfs_root *kf_root; + unsigned int subsys_mask; + int hierarchy_id; + struct list_head root_list; + struct callback_head rcu; + long: 64; + long: 64; + struct cgroup cgrp; + struct cgroup *cgrp_ancestor_storage; + atomic_t nr_cgrps; + unsigned int flags; + char release_agent_path[4096]; + char name[64]; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct cgroup_rstat_base_cpu { + struct u64_stats_sync bsync; + struct cgroup_base_stat bstat; + struct cgroup_base_stat last_bstat; + struct cgroup_base_stat subtree_bstat; + struct cgroup_base_stat last_subtree_bstat; +}; + +struct idr { + struct xarray idr_rt; + unsigned int idr_base; + unsigned int idr_next; +}; + +struct cgroup_subsys { + struct cgroup_subsys_state * (*css_alloc)(struct cgroup_subsys_state *); + int (*css_online)(struct cgroup_subsys_state *); + void (*css_offline)(struct cgroup_subsys_state *); + void (*css_released)(struct cgroup_subsys_state *); + void (*css_free)(struct cgroup_subsys_state *); + void (*css_reset)(struct cgroup_subsys_state *); + void (*css_killed)(struct cgroup_subsys_state *); + void (*css_rstat_flush)(struct cgroup_subsys_state *, int); + int (*css_extra_stat_show)(struct seq_file *, struct cgroup_subsys_state *); + int (*css_local_stat_show)(struct seq_file *, struct cgroup_subsys_state *); + int (*can_attach)(struct cgroup_taskset *); + void (*cancel_attach)(struct cgroup_taskset *); + void (*attach)(struct cgroup_taskset *); + void (*post_attach)(void); + int (*can_fork)(struct task_struct *, struct css_set *); + void (*cancel_fork)(struct task_struct *, struct css_set *); + void (*fork)(struct task_struct *); + void (*exit)(struct task_struct *); + void (*release)(struct task_struct *); + void (*bind)(struct cgroup_subsys_state *); + bool early_init: 1; + bool implicit_on_dfl: 1; + bool threaded: 1; + int id; + const char *name; + const char *legacy_name; + struct cgroup_root *root; + struct idr css_idr; + struct list_head cfts; + struct cftype *dfl_cftypes; + struct cftype *legacy_cftypes; + unsigned int depends_on; + spinlock_t rstat_ss_lock; + struct llist_head *lhead; +}; + +struct cgroup_subsys_state__safe_rcu { + struct cgroup *cgroup; +}; + +struct cgroupstats { + __u64 nr_sleeping; + __u64 nr_running; + __u64 nr_stopped; + __u64 nr_uninterruptible; + __u64 nr_io_wait; +}; + +struct cgrp_cset_link { + struct cgroup *cgrp; + struct css_set *cset; + struct list_head cset_link; + struct list_head cgrp_link; +}; + +struct chacha_state { + u32 x[16]; +}; + +struct linked_page; + +struct chain_allocator { + struct linked_page *chain; + unsigned int used_space; + gfp_t gfp_mask; + int safe_needed; +}; + +struct e820_entry; + +struct change_member { + struct e820_entry *entry; + long long unsigned int addr; +}; + +struct ppp_file { + enum { + INTERFACE = 1, + CHANNEL = 2, + } kind; + struct sk_buff_head xq; + struct sk_buff_head rq; + wait_queue_head_t rwait; + refcount_t refcnt; + int hdrlen; + int index; + int dead; +}; + +struct ppp_channel; + +struct ppp; + +struct channel { + struct ppp_file file; + struct list_head list; + struct ppp_channel *chan; + struct rw_semaphore chan_sem; + spinlock_t downl; + struct ppp *ppp; + struct net *chan_net; + netns_tracker ns_tracker; + struct list_head clist; + rwlock_t upl; + struct channel *bridge; + u8 avail; + u8 had_frag; + u32 lastseq; + int speed; +}; + +struct ethnl_reply_data { + struct net_device *dev; +}; + +struct ethtool_channels { + __u32 cmd; + __u32 max_rx; + __u32 max_tx; + __u32 max_other; + __u32 max_combined; + __u32 rx_count; + __u32 tx_count; + __u32 other_count; + __u32 combined_count; +}; + +struct channels_reply_data { + struct ethnl_reply_data base; + struct ethtool_channels channels; +}; + +struct char_device_struct { + struct char_device_struct *next; + unsigned int major; + unsigned int baseminor; + int minorct; + char name[64]; + struct cdev *cdev; +}; + +struct extcon_dev; + +struct charger_regulator; + +struct charger_manager; + +struct charger_cable { + const char *extcon_name; + const char *name; + struct extcon_dev *extcon_dev; + u64 extcon_type; + struct work_struct wq; + struct notifier_block nb; + bool attached; + struct charger_regulator *charger; + int min_uA; + int max_uA; + struct charger_manager *cm; +}; + +struct charger_desc { + const char *psy_name; + enum polling_modes polling_mode; + unsigned int polling_interval_ms; + unsigned int fullbatt_vchkdrop_uV; + unsigned int fullbatt_uV; + unsigned int fullbatt_soc; + unsigned int fullbatt_full_capacity; + enum data_source battery_present; + const char **psy_charger_stat; + int num_charger_regulators; + struct charger_regulator *charger_regulators; + const struct attribute_group **sysfs_groups; + const char *psy_fuel_gauge; + const char *thermal_zone; + int temp_min; + int temp_max; + int temp_diff; + bool measure_battery_temp; + u32 charging_max_duration_ms; + u32 discharging_max_duration_ms; +}; + +struct charger_manager { + struct list_head entry; + struct device *dev; + struct charger_desc *desc; + struct thermal_zone_device *tzd_batt; + bool charger_enabled; + int emergency_stop; + char psy_name_buf[31]; + struct power_supply_desc charger_psy_desc; + struct power_supply *charger_psy; + u64 charging_start_time; + u64 charging_end_time; + int battery_status; +}; + +struct regulator; + +struct charger_regulator { + const char *regulator_name; + struct regulator *consumer; + int externally_control; + struct charger_cable *cables; + int num_cables; + struct attribute_group attr_grp; + struct device_attribute attr_name; + struct device_attribute attr_state; + struct device_attribute attr_externally_control; + struct attribute *attrs[4]; + struct charger_manager *cm; +}; + +struct qdisc_walker { + int stop; + int skip; + int count; + int (*fn)(struct Qdisc *, long unsigned int, struct qdisc_walker *); +}; + +struct check_loop_arg { + struct qdisc_walker w; + struct Qdisc *p; + int depth; +}; + +struct check_mount { + struct vfsmount *mnt; + unsigned int mounted; +}; + +struct chips_init_reg { + unsigned char addr; + unsigned char data; +}; + +struct chipset { + u32 vendor; + u32 device; + u32 class; + u32 class_mask; + u32 flags; + void (*f)(int, int, int); +}; + +struct chksum_ctx { + u32 key; +}; + +struct chksum_desc_ctx { + u32 crc; +}; + +struct cipher_context { + char iv[20]; + char rec_seq[8]; +}; + +struct cipso_v4_std_map_tbl; + +struct cipso_v4_doi { + u32 doi; + u32 type; + union { + struct cipso_v4_std_map_tbl *std; + } map; + u8 tags[5]; + refcount_t refcount; + struct list_head list; + struct callback_head rcu; +}; + +struct cipso_v4_map_cache_bkt { + spinlock_t lock; + u32 size; + struct list_head list; +}; + +struct cipso_v4_map_cache_entry { + u32 hash; + unsigned char *key; + size_t key_len; + struct netlbl_lsm_cache *lsm_data; + u32 activity; + struct list_head list; +}; + +struct cipso_v4_std_map_tbl { + struct { + u32 *cipso; + u32 *local; + u32 cipso_size; + u32 local_size; + } lvl; + struct { + u32 *cipso; + u32 *local; + u32 cipso_size; + u32 local_size; + } cat; +}; + +struct mmc_card; + +struct sdio_func; + +typedef int tpl_parse_t(struct mmc_card *, struct sdio_func *, const unsigned char *, unsigned int); + +struct cis_tpl { + unsigned char code; + unsigned char min_size; + tpl_parse_t *parse; +}; + +struct class_attribute { + struct attribute attr; + ssize_t (*show)(const struct class *, const struct class_attribute *, char *); + ssize_t (*store)(const struct class *, const struct class_attribute *, const char *, size_t); +}; + +struct class_attribute_string { + struct class_attribute attr; + char *str; +}; + +struct class_compat { + struct kobject *kobj; +}; + +struct hashtab_node; + +struct hashtab { + struct hashtab_node **htable; + u32 size; + u32 nel; +}; + +struct symtab { + struct hashtab table; + u32 nprim; +}; + +struct common_datum; + +struct constraint_node; + +struct class_datum { + u32 value; + char *comkey; + struct common_datum *comdatum; + struct symtab permissions; + struct constraint_node *constraints; + struct constraint_node *validatetrans; + char default_user; + char default_role; + char default_type; + char default_range; +}; + +struct klist_iter { + struct klist *i_klist; + struct klist_node *i_cur; +}; + +struct subsys_private; + +struct class_dev_iter { + struct klist_iter ki; + const struct device_type *type; + struct subsys_private *sp; +}; + +struct class_dir { + struct kobject kobj; + const struct class *class; +}; + +struct class_info { + int class; + char *class_name; +}; + +struct class_interface { + struct list_head node; + const struct class *class; + int (*add_dev)(struct device *); + void (*remove_dev)(struct device *); +}; + +struct mmu_notifier_range { + struct mm_struct *mm; + long unsigned int start; + long unsigned int end; + unsigned int flags; + enum mmu_notifier_event event; + void *owner; +}; + +struct wp_walk { + struct mmu_notifier_range range; + long unsigned int tlbflush_start; + long unsigned int tlbflush_end; + long unsigned int total; +}; + +struct clean_walk { + struct wp_walk base; + long unsigned int bitmap_pgoff; + long unsigned int *bitmap; + long unsigned int start; + long unsigned int end; +}; + +struct clear_badblocks_context { + resource_size_t phys; + resource_size_t cleared; +}; + +struct clear_refs_private { + enum clear_refs_types type; +}; + +struct clk_core; + +struct clk { + struct clk_core *core; + struct device *dev; + const char *dev_id; + const char *con_id; + long unsigned int min_rate; + long unsigned int max_rate; + unsigned int exclusive_count; + struct hlist_node clks_node; +}; + +struct clk_bulk_data { + const char *id; + struct clk *clk; +}; + +struct clk_bulk_devres { + struct clk_bulk_data *clks; + int num_clks; +}; + +struct clk_init_data; + +struct clk_hw { + struct clk_core *core; + struct clk *clk; + const struct clk_init_data *init; +}; + +struct clk_rate_request; + +struct clk_duty; + +struct clk_ops { + int (*prepare)(struct clk_hw *); + void (*unprepare)(struct clk_hw *); + int (*is_prepared)(struct clk_hw *); + void (*unprepare_unused)(struct clk_hw *); + int (*enable)(struct clk_hw *); + void (*disable)(struct clk_hw *); + int (*is_enabled)(struct clk_hw *); + void (*disable_unused)(struct clk_hw *); + int (*save_context)(struct clk_hw *); + void (*restore_context)(struct clk_hw *); + long unsigned int (*recalc_rate)(struct clk_hw *, long unsigned int); + long int (*round_rate)(struct clk_hw *, long unsigned int, long unsigned int *); + int (*determine_rate)(struct clk_hw *, struct clk_rate_request *); + int (*set_parent)(struct clk_hw *, u8); + u8 (*get_parent)(struct clk_hw *); + int (*set_rate)(struct clk_hw *, long unsigned int, long unsigned int); + int (*set_rate_and_parent)(struct clk_hw *, long unsigned int, long unsigned int, u8); + long unsigned int (*recalc_accuracy)(struct clk_hw *, long unsigned int); + int (*get_phase)(struct clk_hw *); + int (*set_phase)(struct clk_hw *, int); + int (*get_duty_cycle)(struct clk_hw *, struct clk_duty *); + int (*set_duty_cycle)(struct clk_hw *, struct clk_duty *); + int (*init)(struct clk_hw *); + void (*terminate)(struct clk_hw *); + void (*debug_init)(struct clk_hw *, struct dentry *); +}; + +struct clk_composite { + struct clk_hw hw; + struct clk_ops ops; + struct clk_hw *mux_hw; + struct clk_hw *rate_hw; + struct clk_hw *gate_hw; + const struct clk_ops *mux_ops; + const struct clk_ops *rate_ops; + const struct clk_ops *gate_ops; +}; + +struct clk_duty { + unsigned int num; + unsigned int den; +}; + +struct clk_parent_map; + +struct clk_core { + const char *name; + const struct clk_ops *ops; + struct clk_hw *hw; + struct module *owner; + struct device *dev; + struct hlist_node rpm_node; + struct device_node *of_node; + struct clk_core *parent; + struct clk_parent_map *parents; + u8 num_parents; + u8 new_parent_index; + long unsigned int rate; + long unsigned int req_rate; + long unsigned int new_rate; + struct clk_core *new_parent; + struct clk_core *new_child; + long unsigned int flags; + bool orphan; + bool rpm_enabled; + unsigned int enable_count; + unsigned int prepare_count; + unsigned int protect_count; + long unsigned int min_rate; + long unsigned int max_rate; + long unsigned int accuracy; + int phase; + struct clk_duty duty; + struct hlist_head children; + struct hlist_node child_node; + struct hlist_head clks; + unsigned int notifier_count; + struct dentry *dentry; + struct hlist_node debug_node; + struct kref ref; +}; + +struct clk_div_table { + unsigned int val; + unsigned int div; +}; + +struct clk_divider { + struct clk_hw hw; + void *reg; + u8 shift; + u8 width; + u16 flags; + const struct clk_div_table *table; + spinlock_t *lock; +}; + +struct clk_fixed_factor { + struct clk_hw hw; + unsigned int mult; + unsigned int div; + long unsigned int acc; + unsigned int flags; +}; + +struct clk_fixed_rate { + struct clk_hw hw; + long unsigned int fixed_rate; + long unsigned int fixed_accuracy; + long unsigned int flags; +}; + +struct clk_fractional_divider { + struct clk_hw hw; + void *reg; + u8 mshift; + u8 mwidth; + u8 nshift; + u8 nwidth; + u8 flags; + void (*approximation)(struct clk_hw *, long unsigned int, long unsigned int *, long unsigned int *, long unsigned int *); + spinlock_t *lock; +}; + +struct clk_gate { + struct clk_hw hw; + void *reg; + u8 bit_idx; + u8 flags; + spinlock_t *lock; +}; + +struct clk_gpio { + struct clk_hw hw; + struct gpio_desc *gpiod; +}; + +struct clk_gated_fixed { + struct clk_gpio clk_gpio; + struct regulator *supply; + long unsigned int rate; +}; + +struct clk_parent_data; + +struct clk_init_data { + const char *name; + const struct clk_ops *ops; + const char * const *parent_names; + const struct clk_parent_data *parent_data; + const struct clk_hw **parent_hws; + u8 num_parents; + long unsigned int flags; +}; + +struct clk_lookup { + struct list_head node; + const char *dev_id; + const char *con_id; + struct clk *clk; + struct clk_hw *clk_hw; +}; + +struct clk_lookup_alloc { + struct clk_lookup cl; + char dev_id[24]; + char con_id[16]; +}; + +struct clk_multiplier { + struct clk_hw hw; + void *reg; + u8 shift; + u8 width; + u8 flags; + spinlock_t *lock; +}; + +struct clk_mux { + struct clk_hw hw; + void *reg; + const u32 *table; + u32 mask; + u8 shift; + u8 flags; + spinlock_t *lock; +}; + +struct srcu_node; + +struct srcu_usage { + struct srcu_node *node; + struct srcu_node *level[4]; + int srcu_size_state; + struct mutex srcu_cb_mutex; + spinlock_t lock; + struct mutex srcu_gp_mutex; + long unsigned int srcu_gp_seq; + long unsigned int srcu_gp_seq_needed; + long unsigned int srcu_gp_seq_needed_exp; + long unsigned int srcu_gp_start; + long unsigned int srcu_last_gp_end; + long unsigned int srcu_size_jiffies; + long unsigned int srcu_n_lock_retries; + long unsigned int srcu_n_exp_nodelay; + bool sda_is_static; + long unsigned int srcu_barrier_seq; + struct mutex srcu_barrier_mutex; + struct completion srcu_barrier_completion; + atomic_t srcu_barrier_cpu_cnt; + long unsigned int reschedule_jiffies; + long unsigned int reschedule_count; + struct delayed_work work; + struct srcu_struct *srcu_ssp; +}; + +struct srcu_ctr; + +struct srcu_data; + +struct srcu_struct { + struct srcu_ctr *srcu_ctrp; + struct srcu_data *sda; + struct lockdep_map dep_map; + struct srcu_usage *srcu_sup; +}; + +struct srcu_notifier_head { + struct mutex mutex; + struct srcu_usage srcuu; + struct srcu_struct srcu; + struct notifier_block *head; +}; + +struct clk_notifier { + struct clk *clk; + struct srcu_notifier_head notifier_head; + struct list_head node; +}; + +struct clk_notifier_data { + struct clk *clk; + long unsigned int old_rate; + long unsigned int new_rate; +}; + +struct clk_notifier_devres { + struct clk *clk; + struct notifier_block *nb; +}; + +struct clk_parent_data { + const struct clk_hw *hw; + const char *fw_name; + const char *name; + int index; +}; + +struct clk_parent_map { + const struct clk_hw *hw; + struct clk_core *core; + const char *fw_name; + const char *name; + int index; +}; + +struct clk_plt { + struct clk_hw hw; + void *reg; + struct clk_lookup *lookup; + spinlock_t lock; +}; + +struct clk_plt_fixed; + +struct clk_plt_data { + struct clk_plt_fixed **parents; + u8 nparents; + struct clk_plt *clks[6]; + struct clk_lookup *mclk_lookup; + struct clk_lookup *ether_clk_lookup; +}; + +struct clk_plt_fixed { + struct clk_hw *clk; + struct clk_lookup *lookup; +}; + +struct clk_rate_request { + struct clk_core *core; + long unsigned int rate; + long unsigned int min_rate; + long unsigned int max_rate; + long unsigned int best_parent_rate; + struct clk_hw *best_parent_hw; +}; + +struct clock_event_device { + void (*event_handler)(struct clock_event_device *); + int (*set_next_event)(long unsigned int, struct clock_event_device *); + int (*set_next_ktime)(ktime_t, struct clock_event_device *); + ktime_t next_event; + u64 max_delta_ns; + u64 min_delta_ns; + u32 mult; + u32 shift; + enum clock_event_state state_use_accessors; + unsigned int features; + long unsigned int retries; + int (*set_state_periodic)(struct clock_event_device *); + int (*set_state_oneshot)(struct clock_event_device *); + int (*set_state_oneshot_stopped)(struct clock_event_device *); + int (*set_state_shutdown)(struct clock_event_device *); + int (*tick_resume)(struct clock_event_device *); + void (*broadcast)(const struct cpumask *); + void (*suspend)(struct clock_event_device *); + void (*resume)(struct clock_event_device *); + long unsigned int min_delta_ticks; + long unsigned int max_delta_ticks; + const char *name; + int rating; + int irq; + int bound_on; + const struct cpumask *cpumask; + struct list_head list; + struct module *owner; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct clock_identity { + u8 id[8]; +}; + +struct clocksource_base; + +struct clocksource { + u64 (*read)(struct clocksource *); + u64 mask; + u32 mult; + u32 shift; + u64 max_idle_ns; + u32 maxadj; + u32 uncertainty_margin; + u64 max_cycles; + u64 max_raw_delta; + const char *name; + struct list_head list; + u32 freq_khz; + int rating; + enum clocksource_ids id; + enum vdso_clock_mode vdso_clock_mode; + long unsigned int flags; + struct clocksource_base *base; + int (*enable)(struct clocksource *); + void (*disable)(struct clocksource *); + void (*suspend)(struct clocksource *); + void (*resume)(struct clocksource *); + void (*mark_unstable)(struct clocksource *); + void (*tick_stable)(struct clocksource *); + struct list_head wd_list; + u64 cs_last; + u64 wd_last; + struct module *owner; +}; + +struct clocksource_base { + enum clocksource_ids id; + u32 freq_khz; + u64 offset; + u32 numerator; + u32 denominator; +}; + +struct clone_args { + __u64 flags; + __u64 pidfd; + __u64 child_tid; + __u64 parent_tid; + __u64 exit_signal; + __u64 stack; + __u64 stack_size; + __u64 tls; + __u64 set_tid; + __u64 set_tid_size; + __u64 cgroup; +}; + +struct dm_table; + +struct dm_io; + +struct clone_info { + struct dm_table *map; + struct bio *bio; + struct dm_io *io; + sector_t sector; + unsigned int sector_count; + bool is_abnormal_io: 1; + bool submit_as_polled: 1; +}; + +typedef void closure_fn(struct work_struct *); + +struct closure_syncer; + +struct closure { + union { + struct { + struct workqueue_struct *wq; + struct closure_syncer *s; + struct llist_node list; + closure_fn *fn; + }; + struct work_struct work; + }; + struct closure *parent; + atomic_t remaining; + bool closure_get_happened; +}; + +struct closure_syncer { + struct task_struct *task; + int done; +}; + +struct closure_waitlist { + struct llist_head list; +}; + +struct debugfs_u32_array { + u32 *array; + u32 n_elements; +}; + +struct cma_memrange { + long unsigned int base_pfn; + long unsigned int count; + union { + long unsigned int early_pfn; + long unsigned int *bitmap; + }; + struct debugfs_u32_array dfs_bitmap; +}; + +struct cma_kobject; + +struct cma { + long unsigned int count; + long unsigned int available_count; + unsigned int order_per_bit; + spinlock_t lock; + struct mutex alloc_mutex; + struct hlist_head mem_head; + spinlock_t mem_head_lock; + char name[64]; + int nranges; + struct cma_memrange ranges[8]; + atomic64_t nr_pages_succeeded; + atomic64_t nr_pages_failed; + atomic64_t nr_pages_released; + struct cma_kobject *cma_kobj; + long unsigned int flags; + int nid; +}; + +struct dma_heap; + +struct cma_heap { + struct dma_heap *heap; + struct cma *cma; +}; + +struct cma_heap_buffer { + struct cma_heap *heap; + struct list_head attachments; + struct mutex lock; + long unsigned int len; + struct page *cma_pages; + struct page **pages; + long unsigned int pagecount; + int vmap_cnt; + void *vaddr; +}; + +struct cma_init_memrange { + phys_addr_t base; + phys_addr_t size; + struct list_head list; +}; + +struct cma_kobject { + struct kobject kobj; + struct cma *cma; +}; + +struct cma_mem { + struct hlist_node node; + struct page *p; + long unsigned int n; +}; + +struct cmdline_subpart; + +struct cmdline_parts { + char name[32]; + unsigned int nr_subparts; + struct cmdline_subpart *subpart; + struct cmdline_parts *next_parts; +}; + +struct cmdline_subpart { + char name[32]; + sector_t from; + sector_t size; + int flags; + struct cmdline_subpart *next_subpart; +}; + +struct cmis_cdb_advert_rpl { + u8 inst_supported; + u8 read_write_len_ext; + u8 resv1; + u8 resv2; +}; + +struct cmis_cdb_fw_mng_features_rpl { + u8 resv1; + u8 resv2; + u8 start_cmd_payload_size; + u8 resv3; + u8 read_write_len_ext; + u8 write_mechanism; + u8 resv4; + u8 resv5; + __be16 max_duration_start; + __be16 resv6; + __be16 max_duration_write; + __be16 max_duration_complete; + __be16 resv7; +}; + +struct cmis_cdb_module_features_rpl { + u8 resv1[34]; + __be16 max_completion_time; +}; + +struct cmis_cdb_query_status_pl { + u16 response_delay; +}; + +struct cmis_cdb_query_status_rpl { + u8 length; + u8 status; +}; + +struct cmis_cdb_run_fw_image_pl { + u8 resv1; + u8 image_to_run; + u16 delay_to_reset; +}; + +struct cmis_cdb_start_fw_download_pl_h { + __be32 image_size; + __be32 resv1; +}; + +struct cmis_cdb_start_fw_download_pl { + union { + struct { + __be32 image_size; + __be32 resv1; + }; + struct cmis_cdb_start_fw_download_pl_h head; + }; + u8 vendor_data[112]; +}; + +struct cmis_cdb_write_fw_block_epl_pl { + u8 fw_block[2048]; +}; + +struct cmis_cdb_write_fw_block_lpl_pl { + __be32 block_address; + u8 fw_block[116]; +}; + +struct cmis_fw_update_fw_mng_features { + u8 start_cmd_payload_size; + u8 write_mechanism; + u16 max_duration_start; + u16 max_duration_write; + u16 max_duration_complete; +}; + +struct cmis_password_entry_pl { + __be32 password; +}; + +struct cmis_rev_rpl { + u8 rev; +}; + +struct cmis_wait_for_cond_rpl { + u8 state; +}; + +struct cmos_rtc; + +struct rtc_time; + +struct cmos_read_alarm_callback_param { + struct cmos_rtc *cmos; + struct rtc_time *time; + unsigned char rtc_control; +}; + +struct rtc_time { + int tm_sec; + int tm_min; + int tm_hour; + int tm_mday; + int tm_mon; + int tm_year; + int tm_wday; + int tm_yday; + int tm_isdst; +}; + +struct rtc_wkalrm { + unsigned char enabled; + unsigned char pending; + struct rtc_time time; +}; + +struct rtc_device; + +struct cmos_rtc { + struct rtc_device *rtc; + struct device *dev; + int irq; + struct resource *iomem; + time64_t alarm_expires; + void (*wake_on)(struct device *); + void (*wake_off)(struct device *); + u8 enabled_wake; + u8 suspend_ctrl; + u8 day_alrm; + u8 mon_alrm; + u8 century; + struct rtc_wkalrm saved_wkalrm; +}; + +struct cmos_rtc_board_info { + void (*wake_on)(struct device *); + void (*wake_off)(struct device *); + u32 flags; + int address_space; + u8 rtc_day_alarm; + u8 rtc_mon_alarm; + u8 rtc_century; +}; + +struct cmos_set_alarm_callback_param { + struct cmos_rtc *cmos; + unsigned char mon; + unsigned char mday; + unsigned char hrs; + unsigned char min; + unsigned char sec; + struct rtc_wkalrm *t; +}; + +struct cmp_data { + struct task_struct *thr; + struct crypto_acomp *cc; + struct acomp_req *cr; + atomic_t ready; + atomic_t stop; + int ret; + wait_queue_head_t go; + wait_queue_head_t done; + size_t unc_len; + size_t cmp_len; + unsigned char unc[131072]; + unsigned char cmp[143360]; +}; + +struct cmsghdr { + __kernel_size_t cmsg_len; + int cmsg_level; + int cmsg_type; +}; + +struct cn_callback_id { + unsigned char name[32]; + struct cb_id id; +}; + +struct cn_queue_dev; + +struct cn_msg; + +struct netlink_skb_parms; + +struct cn_callback_entry { + struct list_head callback_entry; + refcount_t refcnt; + struct cn_queue_dev *pdev; + struct cn_callback_id id; + void (*callback)(struct cn_msg *, struct netlink_skb_parms *); + u32 seq; + u32 group; +}; + +struct cn_dev { + struct cb_id id; + u32 seq; + u32 groups; + struct sock *nls; + struct cn_queue_dev *cbdev; +}; + +struct cn_msg { + struct cb_id id; + __u32 seq; + __u32 ack; + __u16 len; + __u16 flags; + __u8 data[0]; +}; + +struct cn_queue_dev { + atomic_t refcnt; + unsigned char name[32]; + struct list_head queue_list; + spinlock_t queue_lock; + struct sock *nls; +}; + +struct ethtool_coalesce { + __u32 cmd; + __u32 rx_coalesce_usecs; + __u32 rx_max_coalesced_frames; + __u32 rx_coalesce_usecs_irq; + __u32 rx_max_coalesced_frames_irq; + __u32 tx_coalesce_usecs; + __u32 tx_max_coalesced_frames; + __u32 tx_coalesce_usecs_irq; + __u32 tx_max_coalesced_frames_irq; + __u32 stats_block_coalesce_usecs; + __u32 use_adaptive_rx_coalesce; + __u32 use_adaptive_tx_coalesce; + __u32 pkt_rate_low; + __u32 rx_coalesce_usecs_low; + __u32 rx_max_coalesced_frames_low; + __u32 tx_coalesce_usecs_low; + __u32 tx_max_coalesced_frames_low; + __u32 pkt_rate_high; + __u32 rx_coalesce_usecs_high; + __u32 rx_max_coalesced_frames_high; + __u32 tx_coalesce_usecs_high; + __u32 tx_max_coalesced_frames_high; + __u32 rate_sample_interval; +}; + +struct kernel_ethtool_coalesce { + u8 use_cqe_mode_tx; + u8 use_cqe_mode_rx; + u32 tx_aggr_max_bytes; + u32 tx_aggr_max_frames; + u32 tx_aggr_time_usecs; +}; + +struct coalesce_reply_data { + struct ethnl_reply_data base; + struct ethtool_coalesce coalesce; + struct kernel_ethtool_coalesce kernel_coalesce; + u32 supported_params; +}; + +struct collapse_control { + bool is_khugepaged; + u32 node_load[1024]; + nodemask_t alloc_nmask; +}; + +struct comm_proc_event { + __kernel_pid_t process_pid; + __kernel_pid_t process_tgid; + char comm[16]; +}; + +struct commit_header { + __be32 h_magic; + __be32 h_blocktype; + __be32 h_sequence; + unsigned char h_chksum_type; + unsigned char h_chksum_size; + unsigned char h_padding[2]; + __be32 h_chksum[8]; + __be64 h_commit_sec; + __be32 h_commit_nsec; +}; + +struct common_datum { + u32 value; + struct symtab permissions; +}; + +struct comp_opts { + int dict_size; +}; + +struct zone; + +struct compact_control { + struct list_head freepages[11]; + struct list_head migratepages; + unsigned int nr_freepages; + unsigned int nr_migratepages; + long unsigned int free_pfn; + long unsigned int migrate_pfn; + long unsigned int fast_start_pfn; + struct zone *zone; + long unsigned int total_migrate_scanned; + long unsigned int total_free_scanned; + short unsigned int fast_search_fail; + short int search_order; + const gfp_t gfp_mask; + int order; + int migratetype; + const unsigned int alloc_flags; + const int highest_zoneidx; + enum migrate_mode mode; + bool ignore_skip_hint; + bool no_set_skip_hint; + bool ignore_block_suitable; + bool direct_compaction; + bool proactive_compaction; + bool whole_zone; + bool contended; + bool finish_pageblock; + bool alloc_contig; +}; + +struct compare_key { + u16 base; + u16 mark; +}; + +struct compat_blk_user_trace_setup { + char name[32]; + u16 act_mask; + int: 0; + u32 buf_size; + u32 buf_nr; + compat_u64 start_lba; + compat_u64 end_lba; + u32 pid; +} __attribute__((packed)); + +struct compat_blkpg_ioctl_arg { + compat_int_t op; + compat_int_t flags; + compat_int_t datalen; + compat_caddr_t data; +}; + +struct compat_cdrom_generic_command { + unsigned char cmd[12]; + compat_caddr_t buffer; + compat_uint_t buflen; + compat_int_t stat; + compat_caddr_t sense; + unsigned char data_direction; + unsigned char pad[3]; + compat_int_t quiet; + compat_int_t timeout; + compat_caddr_t unused; +}; + +struct compat_cdrom_read_audio { + union cdrom_addr addr; + u8 addr_format; + compat_int_t nframes; + compat_caddr_t buf; +}; + +struct compat_cmsghdr { + compat_size_t cmsg_len; + compat_int_t cmsg_level; + compat_int_t cmsg_type; +}; + +struct compat_console_font_op { + compat_uint_t op; + compat_uint_t flags; + compat_uint_t width; + compat_uint_t height; + compat_uint_t charcount; + compat_caddr_t data; +}; + +struct compat_dirent { + u32 d_ino; + compat_off_t d_off; + u16 d_reclen; + char d_name[256]; +}; + +struct compat_elf_prpsinfo { + char pr_state; + char pr_sname; + char pr_zomb; + char pr_nice; + compat_ulong_t pr_flag; + __compat_uid_t pr_uid; + __compat_gid_t pr_gid; + compat_pid_t pr_pid; + compat_pid_t pr_ppid; + compat_pid_t pr_pgrp; + compat_pid_t pr_sid; + char pr_fname[16]; + char pr_psargs[80]; +}; + +struct compat_elf_siginfo { + compat_int_t si_signo; + compat_int_t si_code; + compat_int_t si_errno; +}; + +struct old_timeval32 { + old_time32_t tv_sec; + s32 tv_usec; +}; + +struct compat_elf_prstatus_common { + struct compat_elf_siginfo pr_info; + short int pr_cursig; + compat_ulong_t pr_sigpend; + compat_ulong_t pr_sighold; + compat_pid_t pr_pid; + compat_pid_t pr_ppid; + compat_pid_t pr_pgrp; + compat_pid_t pr_sid; + struct old_timeval32 pr_utime; + struct old_timeval32 pr_stime; + struct old_timeval32 pr_cutime; + struct old_timeval32 pr_cstime; +}; + +struct user_regs_struct { + long unsigned int r15; + long unsigned int r14; + long unsigned int r13; + long unsigned int r12; + long unsigned int bp; + long unsigned int bx; + long unsigned int r11; + long unsigned int r10; + long unsigned int r9; + long unsigned int r8; + long unsigned int ax; + long unsigned int cx; + long unsigned int dx; + long unsigned int si; + long unsigned int di; + long unsigned int orig_ax; + long unsigned int ip; + long unsigned int cs; + long unsigned int flags; + long unsigned int sp; + long unsigned int ss; + long unsigned int fs_base; + long unsigned int gs_base; + long unsigned int ds; + long unsigned int es; + long unsigned int fs; + long unsigned int gs; +}; + +typedef struct user_regs_struct compat_elf_gregset_t; + +struct compat_elf_prstatus { + struct compat_elf_prstatus_common common; + compat_elf_gregset_t pr_reg; + compat_int_t pr_fpvalid; +}; + +struct ethtool_tcpip4_spec { + __be32 ip4src; + __be32 ip4dst; + __be16 psrc; + __be16 pdst; + __u8 tos; +}; + +struct ethtool_ah_espip4_spec { + __be32 ip4src; + __be32 ip4dst; + __be32 spi; + __u8 tos; +}; + +struct ethtool_usrip4_spec { + __be32 ip4src; + __be32 ip4dst; + __be32 l4_4_bytes; + __u8 tos; + __u8 ip_ver; + __u8 proto; +}; + +struct ethtool_tcpip6_spec { + __be32 ip6src[4]; + __be32 ip6dst[4]; + __be16 psrc; + __be16 pdst; + __u8 tclass; +}; + +struct ethtool_ah_espip6_spec { + __be32 ip6src[4]; + __be32 ip6dst[4]; + __be32 spi; + __u8 tclass; +}; + +struct ethtool_usrip6_spec { + __be32 ip6src[4]; + __be32 ip6dst[4]; + __be32 l4_4_bytes; + __u8 tclass; + __u8 l4_proto; +}; + +struct ethhdr { + unsigned char h_dest[6]; + unsigned char h_source[6]; + __be16 h_proto; +}; + +union ethtool_flow_union { + struct ethtool_tcpip4_spec tcp_ip4_spec; + struct ethtool_tcpip4_spec udp_ip4_spec; + struct ethtool_tcpip4_spec sctp_ip4_spec; + struct ethtool_ah_espip4_spec ah_ip4_spec; + struct ethtool_ah_espip4_spec esp_ip4_spec; + struct ethtool_usrip4_spec usr_ip4_spec; + struct ethtool_tcpip6_spec tcp_ip6_spec; + struct ethtool_tcpip6_spec udp_ip6_spec; + struct ethtool_tcpip6_spec sctp_ip6_spec; + struct ethtool_ah_espip6_spec ah_ip6_spec; + struct ethtool_ah_espip6_spec esp_ip6_spec; + struct ethtool_usrip6_spec usr_ip6_spec; + struct ethhdr ether_spec; + __u8 hdata[52]; +}; + +struct ethtool_flow_ext { + __u8 padding[2]; + unsigned char h_dest[6]; + __be16 vlan_etype; + __be16 vlan_tci; + __be32 data[2]; +}; + +struct compat_ethtool_rx_flow_spec { + u32 flow_type; + union ethtool_flow_union h_u; + struct ethtool_flow_ext h_ext; + union ethtool_flow_union m_u; + struct ethtool_flow_ext m_ext; + compat_u64 ring_cookie; + u32 location; +} __attribute__((packed)); + +struct compat_ethtool_rxnfc { + u32 cmd; + u32 flow_type; + compat_u64 data; + struct compat_ethtool_rx_flow_spec fs; + u32 rule_cnt; + u32 rule_locs[0]; +} __attribute__((packed)); + +struct compat_ext4_new_group_input { + u32 group; + compat_u64 block_bitmap; + compat_u64 inode_bitmap; + compat_u64 inode_table; + u32 blocks_count; + u16 reserved_blocks; + u16 unused; +} __attribute__((packed)); + +struct compat_flock { + short int l_type; + short int l_whence; + compat_off_t l_start; + compat_off_t l_len; + compat_pid_t l_pid; +}; + +struct compat_flock64 { + short int l_type; + short int l_whence; + compat_loff_t l_start; + compat_loff_t l_len; + compat_pid_t l_pid; +} __attribute__((packed)); + +struct compat_fs_qfilestat { + compat_u64 dqb_bhardlimit; + compat_u64 qfs_nblks; + compat_uint_t qfs_nextents; +} __attribute__((packed)); + +struct compat_fs_quota_stat { + __s8 qs_version; + __u16 qs_flags; + __s8 qs_pad; + long: 0; + struct compat_fs_qfilestat qs_uquota; + struct compat_fs_qfilestat qs_gquota; + compat_uint_t qs_incoredqs; + compat_int_t qs_btimelimit; + compat_int_t qs_itimelimit; + compat_int_t qs_rtbtimelimit; + __u16 qs_bwarnlimit; + __u16 qs_iwarnlimit; +}; + +struct dir_context; + +typedef bool (*filldir_t)(struct dir_context *, const char *, int, loff_t, u64, unsigned int); + +struct dir_context { + filldir_t actor; + loff_t pos; + int count; +}; + +struct compat_linux_dirent; + +struct compat_getdents_callback { + struct dir_context ctx; + struct compat_linux_dirent *current_dir; + int prev_reclen; + int error; +}; + +struct compat_group_filter { + union { + struct { + __u32 gf_interface_aux; + struct __kernel_sockaddr_storage gf_group_aux; + __u32 gf_fmode_aux; + __u32 gf_numsrc_aux; + struct __kernel_sockaddr_storage gf_slist[1]; + } __attribute__((packed)); + struct { + __u32 gf_interface; + struct __kernel_sockaddr_storage gf_group; + __u32 gf_fmode; + __u32 gf_numsrc; + struct __kernel_sockaddr_storage gf_slist_flex[0]; + } __attribute__((packed)); + }; +}; + +struct compat_group_req { + __u32 gr_interface; + struct __kernel_sockaddr_storage gr_group; +} __attribute__((packed)); + +struct compat_group_source_req { + __u32 gsr_interface; + struct __kernel_sockaddr_storage gsr_group; + struct __kernel_sockaddr_storage gsr_source; +} __attribute__((packed)); + +struct compat_hd_geometry { + unsigned char heads; + unsigned char sectors; + short unsigned int cylinders; + u32 start; +}; + +struct compat_hpet_info { + compat_ulong_t hi_ireqfreq; + compat_ulong_t hi_flags; + short unsigned int hi_hpet; + short unsigned int hi_timer; +}; + +struct compat_if_dqblk { + compat_u64 dqb_bhardlimit; + compat_u64 dqb_bsoftlimit; + compat_u64 dqb_curspace; + compat_u64 dqb_ihardlimit; + compat_u64 dqb_isoftlimit; + compat_u64 dqb_curinodes; + compat_u64 dqb_btime; + compat_u64 dqb_itime; + compat_uint_t dqb_valid; +} __attribute__((packed)); + +struct compat_if_settings { + unsigned int type; + unsigned int size; + compat_uptr_t ifs_ifsu; +}; + +struct compat_ifconf { + compat_int_t ifc_len; + compat_caddr_t ifcbuf; +}; + +struct compat_ifmap { + compat_ulong_t mem_start; + compat_ulong_t mem_end; + short unsigned int base_addr; + unsigned char irq; + unsigned char dma; + unsigned char port; +}; + +struct compat_ifreq { + union { + char ifrn_name[16]; + } ifr_ifrn; + union { + struct sockaddr ifru_addr; + struct sockaddr ifru_dstaddr; + struct sockaddr ifru_broadaddr; + struct sockaddr ifru_netmask; + struct sockaddr ifru_hwaddr; + short int ifru_flags; + compat_int_t ifru_ivalue; + compat_int_t ifru_mtu; + struct compat_ifmap ifru_map; + char ifru_slave[16]; + char ifru_newname[16]; + compat_caddr_t ifru_data; + struct compat_if_settings ifru_settings; + } ifr_ifru; +}; + +struct compat_in6_rtmsg { + struct in6_addr rtmsg_dst; + struct in6_addr rtmsg_src; + struct in6_addr rtmsg_gateway; + u32 rtmsg_type; + u16 rtmsg_dst_len; + u16 rtmsg_src_len; + u32 rtmsg_metric; + u32 rtmsg_info; + u32 rtmsg_flags; + s32 rtmsg_ifindex; +}; + +struct compat_iovec { + compat_uptr_t iov_base; + compat_size_t iov_len; +}; + +struct compat_ipc64_perm { + compat_key_t key; + __compat_uid32_t uid; + __compat_gid32_t gid; + __compat_uid32_t cuid; + __compat_gid32_t cgid; + compat_mode_t mode; + unsigned char __pad1[2]; + compat_ushort_t seq; + compat_ushort_t __pad2; + compat_ulong_t unused1; + compat_ulong_t unused2; +}; + +struct compat_ipc_kludge { + compat_uptr_t msgp; + compat_long_t msgtyp; +}; + +struct compat_ipc_perm { + key_t key; + __compat_uid_t uid; + __compat_gid_t gid; + __compat_uid_t cuid; + __compat_gid_t cgid; + compat_mode_t mode; + short unsigned int seq; +}; + +struct compat_iw_point { + compat_caddr_t pointer; + __u16 length; + __u16 flags; +}; + +struct compat_kexec_segment { + compat_uptr_t buf; + compat_size_t bufsz; + compat_ulong_t mem; + compat_size_t memsz; +}; + +struct compat_keyctl_kdf_params { + compat_uptr_t hashname; + compat_uptr_t otherinfo; + __u32 otherinfolen; + __u32 __spare[8]; +}; + +struct compat_linux_dirent { + compat_ulong_t d_ino; + compat_ulong_t d_off; + short unsigned int d_reclen; + char d_name[0]; +}; + +struct compat_loop_info { + compat_int_t lo_number; + compat_dev_t lo_device; + compat_ulong_t lo_inode; + compat_dev_t lo_rdevice; + compat_int_t lo_offset; + compat_int_t lo_encrypt_type; + compat_int_t lo_encrypt_key_size; + compat_int_t lo_flags; + char lo_name[64]; + unsigned char lo_encrypt_key[32]; + compat_ulong_t lo_init[2]; + char reserved[4]; +}; + +struct compat_msghdr { + compat_uptr_t msg_name; + compat_int_t msg_namelen; + compat_uptr_t msg_iov; + compat_size_t msg_iovlen; + compat_uptr_t msg_control; + compat_size_t msg_controllen; + compat_uint_t msg_flags; +}; + +struct compat_mmsghdr { + struct compat_msghdr msg_hdr; + compat_uint_t msg_len; +}; + +struct compat_mq_attr { + compat_long_t mq_flags; + compat_long_t mq_maxmsg; + compat_long_t mq_msgsize; + compat_long_t mq_curmsgs; + compat_long_t __reserved[4]; +}; + +struct compat_msgbuf { + compat_long_t mtype; + char mtext[0]; +}; + +struct compat_msqid64_ds { + struct compat_ipc64_perm msg_perm; + compat_ulong_t msg_stime; + compat_ulong_t msg_stime_high; + compat_ulong_t msg_rtime; + compat_ulong_t msg_rtime_high; + compat_ulong_t msg_ctime; + compat_ulong_t msg_ctime_high; + compat_ulong_t msg_cbytes; + compat_ulong_t msg_qnum; + compat_ulong_t msg_qbytes; + compat_pid_t msg_lspid; + compat_pid_t msg_lrpid; + compat_ulong_t __unused4; + compat_ulong_t __unused5; +}; + +struct compat_msqid_ds { + struct compat_ipc_perm msg_perm; + compat_uptr_t msg_first; + compat_uptr_t msg_last; + old_time32_t msg_stime; + old_time32_t msg_rtime; + old_time32_t msg_ctime; + compat_ulong_t msg_lcbytes; + compat_ulong_t msg_lqbytes; + short unsigned int msg_cbytes; + short unsigned int msg_qnum; + short unsigned int msg_qbytes; + compat_ipc_pid_t msg_lspid; + compat_ipc_pid_t msg_lrpid; +}; + +struct compat_old_linux_dirent { + compat_ulong_t d_ino; + compat_ulong_t d_offset; + short unsigned int d_namlen; + char d_name[0]; +}; + +struct compat_old_sigaction { + compat_uptr_t sa_handler; + compat_old_sigset_t sa_mask; + compat_ulong_t sa_flags; + compat_uptr_t sa_restorer; +}; + +struct compat_readdir_callback { + struct dir_context ctx; + struct compat_old_linux_dirent *dirent; + int result; +}; + +struct compat_resume_swap_area { + compat_loff_t offset; + u32 dev; +} __attribute__((packed)); + +struct compat_rlimit { + compat_ulong_t rlim_cur; + compat_ulong_t rlim_max; +}; + +struct compat_robust_list { + compat_uptr_t next; +}; + +struct compat_robust_list_head { + struct compat_robust_list list; + compat_long_t futex_offset; + compat_uptr_t list_op_pending; +}; + +struct compat_rtentry { + u32 rt_pad1; + struct sockaddr rt_dst; + struct sockaddr rt_gateway; + struct sockaddr rt_genmask; + short unsigned int rt_flags; + short int rt_pad2; + u32 rt_pad3; + unsigned char rt_tos; + unsigned char rt_class; + short int rt_pad4; + short int rt_metric; + compat_uptr_t rt_dev; + u32 rt_mtu; + u32 rt_window; + short unsigned int rt_irtt; +}; + +struct compat_rusage { + struct old_timeval32 ru_utime; + struct old_timeval32 ru_stime; + compat_long_t ru_maxrss; + compat_long_t ru_ixrss; + compat_long_t ru_idrss; + compat_long_t ru_isrss; + compat_long_t ru_minflt; + compat_long_t ru_majflt; + compat_long_t ru_nswap; + compat_long_t ru_inblock; + compat_long_t ru_oublock; + compat_long_t ru_msgsnd; + compat_long_t ru_msgrcv; + compat_long_t ru_nsignals; + compat_long_t ru_nvcsw; + compat_long_t ru_nivcsw; +}; + +struct compat_sel_arg_struct { + compat_ulong_t n; + compat_uptr_t inp; + compat_uptr_t outp; + compat_uptr_t exp; + compat_uptr_t tvp; +}; + +struct compat_semid64_ds { + struct compat_ipc64_perm sem_perm; + compat_ulong_t sem_otime; + compat_ulong_t sem_otime_high; + compat_ulong_t sem_ctime; + compat_ulong_t sem_ctime_high; + compat_ulong_t sem_nsems; + compat_ulong_t __unused3; + compat_ulong_t __unused4; +}; + +struct compat_semid_ds { + struct compat_ipc_perm sem_perm; + old_time32_t sem_otime; + old_time32_t sem_ctime; + compat_uptr_t sem_base; + compat_uptr_t sem_pending; + compat_uptr_t sem_pending_last; + compat_uptr_t undo; + short unsigned int sem_nsems; +}; + +struct compat_sg_io_hdr { + compat_int_t interface_id; + compat_int_t dxfer_direction; + unsigned char cmd_len; + unsigned char mx_sb_len; + short unsigned int iovec_count; + compat_uint_t dxfer_len; + compat_uint_t dxferp; + compat_uptr_t cmdp; + compat_uptr_t sbp; + compat_uint_t timeout; + compat_uint_t flags; + compat_int_t pack_id; + compat_uptr_t usr_ptr; + unsigned char status; + unsigned char masked_status; + unsigned char msg_status; + unsigned char sb_len_wr; + short unsigned int host_status; + short unsigned int driver_status; + compat_int_t resid; + compat_uint_t duration; + compat_uint_t info; +}; + +struct compat_sg_req_info { + char req_state; + char orphan; + char sg_io_owned; + char problem; + int pack_id; + compat_uptr_t usr_ptr; + unsigned int duration; + int unused; +}; + +struct compat_shm_info { + compat_int_t used_ids; + compat_ulong_t shm_tot; + compat_ulong_t shm_rss; + compat_ulong_t shm_swp; + compat_ulong_t swap_attempts; + compat_ulong_t swap_successes; +}; + +struct compat_shmid64_ds { + struct compat_ipc64_perm shm_perm; + compat_size_t shm_segsz; + compat_ulong_t shm_atime; + compat_ulong_t shm_atime_high; + compat_ulong_t shm_dtime; + compat_ulong_t shm_dtime_high; + compat_ulong_t shm_ctime; + compat_ulong_t shm_ctime_high; + compat_pid_t shm_cpid; + compat_pid_t shm_lpid; + compat_ulong_t shm_nattch; + compat_ulong_t __unused4; + compat_ulong_t __unused5; +}; + +struct compat_shmid_ds { + struct compat_ipc_perm shm_perm; + int shm_segsz; + old_time32_t shm_atime; + old_time32_t shm_dtime; + old_time32_t shm_ctime; + compat_ipc_pid_t shm_cpid; + compat_ipc_pid_t shm_lpid; + short unsigned int shm_nattch; + short unsigned int shm_unused; + compat_uptr_t shm_unused2; + compat_uptr_t shm_unused3; +}; + +struct compat_shminfo64 { + compat_ulong_t shmmax; + compat_ulong_t shmmin; + compat_ulong_t shmmni; + compat_ulong_t shmseg; + compat_ulong_t shmall; + compat_ulong_t __unused1; + compat_ulong_t __unused2; + compat_ulong_t __unused3; + compat_ulong_t __unused4; +}; + +struct compat_sigaction { + compat_uptr_t sa_handler; + compat_ulong_t sa_flags; + compat_uptr_t sa_restorer; + compat_sigset_t sa_mask; +}; + +struct compat_sigaltstack { + compat_uptr_t ss_sp; + int ss_flags; + compat_size_t ss_size; +}; + +typedef struct compat_sigaltstack compat_stack_t; + +union compat_sigval { + compat_int_t sival_int; + compat_uptr_t sival_ptr; +}; + +typedef union compat_sigval compat_sigval_t; + +struct compat_sigevent { + compat_sigval_t sigev_value; + compat_int_t sigev_signo; + compat_int_t sigev_notify; + union { + compat_int_t _pad[13]; + compat_int_t _tid; + struct { + compat_uptr_t _function; + compat_uptr_t _attribute; + } _sigev_thread; + } _sigev_un; +}; + +struct compat_siginfo { + int si_signo; + int si_errno; + int si_code; + union { + int _pad[29]; + struct { + compat_pid_t _pid; + __compat_uid32_t _uid; + } _kill; + struct { + compat_timer_t _tid; + int _overrun; + compat_sigval_t _sigval; + } _timer; + struct { + compat_pid_t _pid; + __compat_uid32_t _uid; + compat_sigval_t _sigval; + } _rt; + struct { + compat_pid_t _pid; + __compat_uid32_t _uid; + int _status; + compat_clock_t _utime; + compat_clock_t _stime; + } _sigchld; + struct { + compat_uptr_t _addr; + union { + int _trapno; + short int _addr_lsb; + struct { + char _dummy_bnd[4]; + compat_uptr_t _lower; + compat_uptr_t _upper; + } _addr_bnd; + struct { + char _dummy_pkey[4]; + u32 _pkey; + } _addr_pkey; + struct { + compat_ulong_t _data; + u32 _type; + u32 _flags; + } _perf; + }; + } _sigfault; + struct { + compat_long_t _band; + int _fd; + } _sigpoll; + struct { + compat_uptr_t _call_addr; + int _syscall; + unsigned int _arch; + } _sigsys; + } _sifields; +}; + +typedef struct compat_siginfo compat_siginfo_t; + +struct compat_sigset_argpack { + compat_uptr_t p; + compat_size_t size; +}; + +struct compat_sioc_mif_req6 { + mifi_t mifi; + compat_ulong_t icount; + compat_ulong_t ocount; + compat_ulong_t ibytes; + compat_ulong_t obytes; +}; + +struct in_addr { + __be32 s_addr; +}; + +struct compat_sioc_sg_req { + struct in_addr src; + struct in_addr grp; + compat_ulong_t pktcnt; + compat_ulong_t bytecnt; + compat_ulong_t wrong_if; +}; + +struct sockaddr_in6 { + short unsigned int sin6_family; + __be16 sin6_port; + __be32 sin6_flowinfo; + struct in6_addr sin6_addr; + __u32 sin6_scope_id; +}; + +struct compat_sioc_sg_req6 { + struct sockaddr_in6 src; + struct sockaddr_in6 grp; + compat_ulong_t pktcnt; + compat_ulong_t bytecnt; + compat_ulong_t wrong_if; +}; + +struct compat_sioc_vif_req { + vifi_t vifi; + compat_ulong_t icount; + compat_ulong_t ocount; + compat_ulong_t ibytes; + compat_ulong_t obytes; +}; + +struct compat_sock_fprog { + u16 len; + compat_uptr_t filter; +}; + +struct compat_stat { + u32 st_dev; + compat_ino_t st_ino; + compat_mode_t st_mode; + compat_nlink_t st_nlink; + __compat_uid_t st_uid; + __compat_gid_t st_gid; + u32 st_rdev; + u32 st_size; + u32 st_blksize; + u32 st_blocks; + u32 st_atime; + u32 st_atime_nsec; + u32 st_mtime; + u32 st_mtime_nsec; + u32 st_ctime; + u32 st_ctime_nsec; + u32 __unused4; + u32 __unused5; +}; + +struct compat_statfs { + int f_type; + int f_bsize; + int f_blocks; + int f_bfree; + int f_bavail; + int f_files; + int f_ffree; + compat_fsid_t f_fsid; + int f_namelen; + int f_frsize; + int f_flags; + int f_spare[4]; +}; + +struct compat_statfs64 { + __u32 f_type; + __u32 f_bsize; + __u64 f_blocks; + __u64 f_bfree; + __u64 f_bavail; + __u64 f_files; + __u64 f_ffree; + __kernel_fsid_t f_fsid; + __u32 f_namelen; + __u32 f_frsize; + __u32 f_flags; + __u32 f_spare[4]; +} __attribute__((packed)); + +struct compat_sysinfo { + s32 uptime; + u32 loads[3]; + u32 totalram; + u32 freeram; + u32 sharedram; + u32 bufferram; + u32 totalswap; + u32 freeswap; + u16 procs; + u16 pad; + u32 totalhigh; + u32 freehigh; + u32 mem_unit; + char _f[8]; +}; + +struct compat_tms { + compat_clock_t tms_utime; + compat_clock_t tms_stime; + compat_clock_t tms_cutime; + compat_clock_t tms_cstime; +}; + +struct compat_unimapdesc { + short unsigned int entry_ct; + compat_caddr_t entries; +}; + +struct compat_ustat { + compat_daddr_t f_tfree; + compat_ino_t f_tinode; + char f_fname[6]; + char f_fpack[6]; +}; + +struct component_ops; + +struct component { + struct list_head node; + struct aggregate_device *adev; + bool bound; + const struct component_ops *ops; + int subcomponent; + struct device *dev; +}; + +struct component_master_ops { + int (*bind)(struct device *); + void (*unbind)(struct device *); +}; + +struct component_match_array; + +struct component_match { + size_t alloc; + size_t num; + struct component_match_array *compare; +}; + +struct component_match_array { + void *data; + int (*compare)(struct device *, void *); + int (*compare_typed)(struct device *, int, void *); + void (*release)(struct device *, void *); + struct component *component; + bool duplicate; +}; + +struct component_ops { + int (*bind)(struct device *, struct device *, void *); + void (*unbind)(struct device *, struct device *, void *); +}; + +typedef int (*decompress_fn)(unsigned char *, long int, long int (*)(void *, long unsigned int), long int (*)(void *, long unsigned int), unsigned char *, long int *, void (*)(char *)); + +struct compress_format { + unsigned char magic[2]; + const char *name; + decompress_fn decompressor; +}; + +struct compstat; + +struct compressor { + int compress_proto; + void * (*comp_alloc)(unsigned char *, int); + void (*comp_free)(void *); + int (*comp_init)(void *, unsigned char *, int, int, int, int); + void (*comp_reset)(void *); + int (*compress)(void *, unsigned char *, unsigned char *, int, int); + void (*comp_stat)(void *, struct compstat *); + void * (*decomp_alloc)(unsigned char *, int); + void (*decomp_free)(void *); + int (*decomp_init)(void *, unsigned char *, int, int, int, int, int); + void (*decomp_reset)(void *); + int (*decompress)(void *, unsigned char *, int, unsigned char *, int); + void (*incomp)(void *, unsigned char *, int); + void (*decomp_stat)(void *, struct compstat *); + struct module *owner; + unsigned int comp_extra; +}; + +struct compressor_entry { + struct list_head list; + struct compressor *comp; +}; + +struct compstat { + __u32 unc_bytes; + __u32 unc_packets; + __u32 comp_bytes; + __u32 comp_packets; + __u32 inc_bytes; + __u32 inc_packets; + __u32 in_count; + __u32 bytes_out; + double ratio; +}; + +struct consw; + +struct con_driver { + const struct consw *con; + const char *desc; + struct device *dev; + int node; + int first; + int last; + int flag; +}; + +struct cond_av_list { + struct avtab_node **nodes; + u32 len; +}; + +struct cond_bool_datum { + u32 value; + int state; +}; + +struct cond_expr_node; + +struct cond_expr { + struct cond_expr_node *nodes; + u32 len; +}; + +struct cond_expr_node { + u32 expr_type; + u32 boolean; +}; + +struct policydb; + +struct cond_insertf_data { + struct policydb *p; + struct avtab_node **dst; + struct cond_av_list *other; +}; + +struct cond_node { + int cur_state; + struct cond_expr expr; + struct cond_av_list true_list; + struct cond_av_list false_list; +}; + +typedef bool (*cond_update_fn_t)(struct trace_array *, void *); + +struct cond_snapshot { + void *cond_data; + cond_update_fn_t update; +}; + +struct config_group; + +struct config_item_type; + +struct config_item { + char *ci_name; + char ci_namebuf[20]; + struct kref ci_kref; + struct list_head ci_entry; + struct config_item *ci_parent; + struct config_group *ci_group; + const struct config_item_type *ci_type; + struct dentry *ci_dentry; +}; + +struct configfs_subsystem; + +struct config_group { + struct config_item cg_item; + struct list_head cg_children; + struct configfs_subsystem *cg_subsys; + struct list_head default_groups; + struct list_head group_entry; +}; + +struct configfs_item_operations; + +struct configfs_group_operations; + +struct configfs_attribute; + +struct configfs_bin_attribute; + +struct config_item_type { + struct module *ct_owner; + struct configfs_item_operations *ct_item_ops; + struct configfs_group_operations *ct_group_ops; + struct configfs_attribute **ct_attrs; + struct configfs_bin_attribute **ct_bin_attrs; +}; + +struct config_key { + struct config_item item; + const char *description; +}; + +struct deflate_state; + +typedef struct deflate_state deflate_state; + +typedef block_state (*compress_func)(deflate_state *, int); + +struct config_s { + ush good_length; + ush max_lazy; + ush nice_length; + ush max_chain; + compress_func func; +}; + +typedef struct config_s config; + +struct configfs_attribute { + const char *ca_name; + struct module *ca_owner; + umode_t ca_mode; + ssize_t (*show)(struct config_item *, char *); + ssize_t (*store)(struct config_item *, const char *, size_t); +}; + +struct configfs_bin_attribute { + struct configfs_attribute cb_attr; + void *cb_private; + size_t cb_max_size; + ssize_t (*read)(struct config_item *, void *, size_t); + ssize_t (*write)(struct config_item *, const void *, size_t); +}; + +struct configfs_buffer { + size_t count; + loff_t pos; + char *page; + struct configfs_item_operations *ops; + struct mutex mutex; + int needs_read_fill; + bool read_in_progress; + bool write_in_progress; + char *bin_buffer; + int bin_buffer_size; + int cb_max_size; + struct config_item *item; + struct module *owner; + union { + struct configfs_attribute *attr; + struct configfs_bin_attribute *bin_attr; + }; +}; + +struct iattr; + +struct configfs_fragment; + +struct configfs_dirent { + atomic_t s_count; + int s_dependent_count; + struct list_head s_sibling; + struct list_head s_children; + int s_links; + void *s_element; + int s_type; + umode_t s_mode; + struct dentry *s_dentry; + struct iattr *s_iattr; + struct configfs_fragment *s_frag; +}; + +struct configfs_fragment { + atomic_t frag_count; + struct rw_semaphore frag_sem; + bool frag_dead; +}; + +struct configfs_group_operations { + struct config_item * (*make_item)(struct config_group *, const char *); + struct config_group * (*make_group)(struct config_group *, const char *); + void (*disconnect_notify)(struct config_group *, struct config_item *); + void (*drop_item)(struct config_group *, struct config_item *); + bool (*is_visible)(struct config_item *, struct configfs_attribute *, int); + bool (*is_bin_visible)(struct config_item *, struct configfs_bin_attribute *, int); +}; + +struct configfs_item_operations { + void (*release)(struct config_item *); + int (*allow_link)(struct config_item *, struct config_item *); + void (*drop_link)(struct config_item *, struct config_item *); +}; + +struct configfs_subsystem { + struct config_group su_group; + struct mutex su_mutex; +}; + +struct console; + +struct printk_buffers; + +struct nbcon_context { + struct console *console; + unsigned int spinwait_max_us; + enum nbcon_prio prio; + unsigned int allow_unsafe_takeover: 1; + unsigned int backlog: 1; + struct printk_buffers *pbufs; + u64 seq; +}; + +struct tty_driver; + +struct nbcon_write_context; + +struct console { + char name[16]; + void (*write)(struct console *, const char *, unsigned int); + int (*read)(struct console *, char *, unsigned int); + struct tty_driver * (*device)(struct console *, int *); + void (*unblank)(void); + int (*setup)(struct console *, char *); + int (*exit)(struct console *); + int (*match)(struct console *, char *, int, char *); + short int flags; + short int index; + int cflag; + uint ispeed; + uint ospeed; + u64 seq; + long unsigned int dropped; + void *data; + struct hlist_node node; + void (*write_atomic)(struct console *, struct nbcon_write_context *); + void (*write_thread)(struct console *, struct nbcon_write_context *); + void (*device_lock)(struct console *, long unsigned int *); + void (*device_unlock)(struct console *, long unsigned int); + atomic_t nbcon_state; + atomic_long_t nbcon_seq; + struct nbcon_context nbcon_device_ctxt; + atomic_long_t nbcon_prev_seq; + struct printk_buffers *pbufs; + struct task_struct *kthread; + struct rcuwait rcuwait; + struct irq_work irq_work; +}; + +struct winsize { + short unsigned int ws_row; + short unsigned int ws_col; + short unsigned int ws_xpixel; + short unsigned int ws_ypixel; +}; + +struct hvc_struct; + +struct console___2 { + struct list_head list; + struct hvc_struct *hvc; + struct winsize ws; + u32 vtermno; +}; + +struct console_cmdline { + char name[16]; + int index; + char devname[32]; + bool user_specified; + char *options; +}; + +struct console_flush_type { + bool nbcon_atomic; + bool nbcon_offload; + bool legacy_direct; + bool legacy_offload; +}; + +struct console_font { + unsigned int width; + unsigned int height; + unsigned int charcount; + unsigned char *data; +}; + +struct console_font_op { + unsigned int op; + unsigned int flags; + unsigned int width; + unsigned int height; + unsigned int charcount; + unsigned char *data; +}; + +struct constant_table { + const char *name; + int value; +}; + +struct ebitmap_node; + +struct ebitmap { + struct ebitmap_node *node; + u32 highbit; +}; + +struct type_set; + +struct constraint_expr { + u32 expr_type; + u32 attr; + u32 op; + struct ebitmap names; + struct type_set *type_names; + struct constraint_expr *next; +}; + +struct constraint_node { + u32 permissions; + struct constraint_expr *expr; + struct constraint_node *next; +}; + +struct vc_data; + +struct consw { + struct module *owner; + const char * (*con_startup)(void); + void (*con_init)(struct vc_data *, bool); + void (*con_deinit)(struct vc_data *); + void (*con_clear)(struct vc_data *, unsigned int, unsigned int, unsigned int); + void (*con_putc)(struct vc_data *, u16, unsigned int, unsigned int); + void (*con_putcs)(struct vc_data *, const u16 *, unsigned int, unsigned int, unsigned int); + void (*con_cursor)(struct vc_data *, bool); + bool (*con_scroll)(struct vc_data *, unsigned int, unsigned int, enum con_scroll, unsigned int); + bool (*con_switch)(struct vc_data *); + bool (*con_blank)(struct vc_data *, enum vesa_blank_mode, bool); + int (*con_font_set)(struct vc_data *, const struct console_font *, unsigned int, unsigned int); + int (*con_font_get)(struct vc_data *, struct console_font *, unsigned int); + int (*con_font_default)(struct vc_data *, struct console_font *, const char *); + int (*con_resize)(struct vc_data *, unsigned int, unsigned int, bool); + void (*con_set_palette)(struct vc_data *, const unsigned char *); + void (*con_scrolldelta)(struct vc_data *, int); + bool (*con_set_origin)(struct vc_data *); + void (*con_save_screen)(struct vc_data *); + u8 (*con_build_attr)(struct vc_data *, u8, enum vc_intensity, bool, bool, bool, bool); + void (*con_invert_region)(struct vc_data *, u16 *, int); + void (*con_debug_enter)(struct vc_data *); + void (*con_debug_leave)(struct vc_data *); +}; + +struct microcode_amd; + +struct cont_desc { + struct microcode_amd *mc; + u32 psize; + u8 *data; + size_t size; +}; + +struct container_dev { + struct device dev; + int (*offline)(struct container_dev *); +}; + +struct mls_level { + u32 sens; + struct ebitmap cat; +}; + +struct mls_range { + struct mls_level level[2]; +}; + +struct context___2 { + u32 user; + u32 role; + u32 type; + u32 len; + struct mls_range range; + char *str; +}; + +struct context_entry { + u64 lo; + u64 hi; +}; + +struct context_tracking { + bool active; + int recursion; + atomic_t state; + long int nesting; + long int nmi_nesting; +}; + +struct contig_page_info { + long unsigned int free_pages; + long unsigned int free_blocks_total; + long unsigned int free_blocks_suitable; +}; + +struct virtio_net_ctrl_hdr { + __u8 class; + __u8 cmd; +}; + +struct control_buf { + struct virtio_net_ctrl_hdr hdr; + virtio_net_ctrl_ack status; +}; + +struct hotplug_slot_ops; + +struct hotplug_slot { + const struct hotplug_slot_ops *ops; + struct pci_slot *pci_slot; + struct module *owner; + const char *mod_name; +}; + +struct pcie_device; + +struct controller { + struct pcie_device *pcie; + u64 dsn; + u32 slot_cap; + unsigned int inband_presence_disabled: 1; + u16 slot_ctrl; + struct mutex ctrl_lock; + long unsigned int cmd_started; + unsigned int cmd_busy: 1; + wait_queue_head_t queue; + atomic_t pending_events; + unsigned int notification_enabled: 1; + unsigned int power_fault_detected; + struct task_struct *poll_thread; + u8 state; + struct mutex state_lock; + struct delayed_work button_work; + struct hotplug_slot hotplug_slot; + struct rw_semaphore reset_lock; + unsigned int depth; + unsigned int ist_running; + int request_result; + wait_queue_head_t requester; +}; + +struct controller___2 { + struct mutex crit_sect; + struct mutex cmd_lock; + int num_slots; + int slot_num_inc; + struct pci_dev *pci_dev; + struct list_head slot_list; + wait_queue_head_t queue; + u8 slot_device_offset; + u32 pcix_misc2_reg; + u32 first_slot; + u32 cap_offset; + long unsigned int mmio_base; + long unsigned int mmio_size; + void *creg; + struct timer_list poll_timer; +}; + +struct convert_context_args { + struct policydb *oldp; + struct policydb *newp; +}; + +struct cooling_dev_stats { + spinlock_t lock; + unsigned int total_trans; + long unsigned int state; + ktime_t last_time; + ktime_t *time_in_state; + unsigned int *trans_table; +}; + +struct cooling_spec { + long unsigned int upper; + long unsigned int lower; + unsigned int weight; +}; + +struct copy_from_grant { + const struct blk_shadow *s; + unsigned int grant_idx; + unsigned int bvec_offset; + char *bvec_data; +}; + +struct copy_subpage_arg { + struct folio *dst; + struct folio *src; + struct vm_area_struct *vma; +}; + +struct core_name { + char *corename; + int used; + int size; + unsigned int core_pipe_limit; + bool core_dumped; + enum coredump_type_t core_type; + u64 mask; +}; + +struct core_thread { + struct task_struct *task; + struct core_thread *next; +}; + +struct core_state { + atomic_t nr_threads; + struct core_thread dumper; + struct completion startup; +}; + +struct core_text { + long unsigned int base; + long unsigned int end; + const char *name; +}; + +struct core_vma_metadata { + long unsigned int start; + long unsigned int end; + vm_flags_t flags; + long unsigned int dump_size; + long unsigned int pgoff; + struct file *file; +}; + +struct coredump_ack { + __u32 size; + __u32 spare; + __u64 mask; +}; + +struct kernel_siginfo; + +typedef struct kernel_siginfo kernel_siginfo_t; + +struct coredump_params { + const kernel_siginfo_t *siginfo; + struct file *file; + long unsigned int limit; + long unsigned int mm_flags; + int cpu; + loff_t written; + loff_t pos; + loff_t to_skip; + int vma_count; + size_t vma_data_size; + struct core_vma_metadata *vma_meta; + struct pid *pid; +}; + +struct coredump_proc_event { + __kernel_pid_t process_pid; + __kernel_pid_t process_tgid; + __kernel_pid_t parent_pid; + __kernel_pid_t parent_tgid; +}; + +struct coredump_req { + __u32 size; + __u32 size_ack; + __u64 mask; +}; + +struct counted_str { + struct kref count; + char name[0]; +}; + +struct regulator_dev; + +struct regulator_coupler; + +struct coupling_desc { + struct regulator_dev **coupled_rdevs; + struct regulator_coupler *coupler; + int n_resolved; + int n_coupled; +}; + +struct pgprot { + pgprotval_t pgprot; +}; + +typedef struct pgprot pgprot_t; + +struct cpa_data { + long unsigned int *vaddr; + pgd_t *pgd; + pgprot_t mask_set; + pgprot_t mask_clr; + long unsigned int numpages; + long unsigned int curpage; + long unsigned int pfn; + unsigned int flags; + unsigned int force_split: 1; + unsigned int force_static_prot: 1; + unsigned int force_flush_all: 1; + struct page **pages; +}; + +struct cpc_reg { + u8 descriptor; + u16 length; + u8 space_id; + u8 bit_width; + u8 bit_offset; + u8 access_width; + u64 address; +} __attribute__((packed)); + +struct cpc_register_resource { + acpi_object_type type; + u64 *sys_mem_vaddr; + union { + struct cpc_reg reg; + u64 int_value; + } cpc_entry; +}; + +struct cpc_desc { + int num_entries; + int version; + int cpu_id; + int write_cmd_status; + int write_cmd_id; + raw_spinlock_t rmw_lock; + struct cpc_register_resource cpc_regs[21]; + struct acpi_psd_package domain_info; + struct kobject kobj; +}; + +struct cpci_hp_controller_ops; + +struct cpci_hp_controller { + unsigned int irq; + long unsigned int irq_flags; + char *devname; + void *dev_id; + char *name; + struct cpci_hp_controller_ops *ops; +}; + +struct cpci_hp_controller_ops { + int (*query_enum)(void); + int (*enable_irq)(void); + int (*disable_irq)(void); + int (*check_irq)(void *); +}; + +struct cper_arm_ctx_info { + u16 version; + u16 type; + u32 size; +}; + +struct cper_arm_err_info { + u8 version; + u8 length; + u16 validation_bits; + u8 type; + u16 multiple_error; + u8 flags; + u64 error_info; + u64 virt_fault_addr; + u64 physical_fault_addr; +} __attribute__((packed)); + +struct cper_cxl_event_devid { + u16 vendor_id; + u16 device_id; + u8 func_num; + u8 device_num; + u8 bus_num; + u16 segment_num; + u16 slot_num; + u8 reserved; +} __attribute__((packed)); + +struct cper_cxl_event_sn { + u32 lower_dw; + u32 upper_dw; +}; + +struct cper_ia_err_info { + guid_t err_type; + u64 validation_bits; + u64 check_info; + u64 target_id; + u64 requestor_id; + u64 responder_id; + u64 ip; +}; + +struct cper_ia_proc_ctx { + u16 reg_ctx_type; + u16 reg_arr_size; + u32 msr_addr; + u64 mm_reg_addr; +}; + +struct cper_record_header { + char signature[4]; + u16 revision; + u32 signature_end; + u16 section_count; + u32 error_severity; + u32 validation_bits; + u32 record_length; + u64 timestamp; + guid_t platform_id; + guid_t partition_id; + guid_t creator_id; + guid_t notification_type; + u64 record_id; + u32 flags; + u64 persistence_information; + u8 reserved[12]; +} __attribute__((packed)); + +struct cper_section_descriptor { + u32 section_offset; + u32 section_length; + u16 revision; + u8 validation_bits; + u8 reserved; + u32 flags; + guid_t section_type; + guid_t fru_id; + u32 section_severity; + u8 fru_text[20]; +}; + +struct mce { + __u64 status; + __u64 misc; + __u64 addr; + __u64 mcgstatus; + __u64 ip; + __u64 tsc; + __u64 time; + __u8 cpuvendor; + __u8 inject_flags; + __u8 severity; + __u8 pad; + __u32 cpuid; + __u8 cs; + __u8 bank; + __u8 cpu; + __u8 finished; + __u32 extcpu; + __u32 socketid; + __u32 apicid; + __u64 mcgcap; + __u64 synd; + __u64 ipid; + __u64 ppin; + __u32 microcode; + __u64 kflags; +}; + +struct cper_mce_record { + struct cper_record_header hdr; + struct cper_section_descriptor sec_hdr; + struct mce mce; +}; + +struct cper_mem_err_compact { + u64 validation_bits; + u16 node; + u16 card; + u16 module; + u16 bank; + u16 device; + u16 row; + u16 column; + u16 bit_pos; + u64 requestor_id; + u64 responder_id; + u64 target_id; + u16 rank; + u16 mem_array_handle; + u16 mem_dev_handle; + u8 extended; +} __attribute__((packed)); + +struct cper_pstore_record { + struct cper_record_header hdr; + struct cper_section_descriptor sec_hdr; + char data[0]; +}; + +struct cper_sec_fw_err_rec_ref { + u8 record_type; + u8 revision; + u8 reserved[6]; + u64 record_identifier; + guid_t record_identifier_guid; +}; + +struct cper_sec_mem_err { + u64 validation_bits; + u64 error_status; + u64 physical_addr; + u64 physical_addr_mask; + u16 node; + u16 card; + u16 module; + u16 bank; + u16 device; + u16 row; + u16 column; + u16 bit_pos; + u64 requestor_id; + u64 responder_id; + u64 target_id; + u8 error_type; + u8 extended; + u16 rank; + u16 mem_array_handle; + u16 mem_dev_handle; +}; + +struct cper_sec_pcie { + u64 validation_bits; + u32 port_type; + struct { + u8 minor; + u8 major; + u8 reserved[2]; + } version; + u16 command; + u16 status; + u32 reserved; + struct { + u16 vendor_id; + u16 device_id; + u8 class_code[3]; + u8 function; + u8 device; + u16 segment; + u8 bus; + u8 secondary_bus; + u16 slot; + u8 reserved; + } __attribute__((packed)) device_id; + struct { + u32 lower; + u32 upper; + } serial_number; + struct { + u16 secondary_status; + u16 control; + } bridge; + u8 capability[60]; + u8 aer_info[96]; +}; + +struct cper_sec_proc_arm { + u32 validation_bits; + u16 err_info_num; + u16 context_info_num; + u32 section_length; + u8 affinity_level; + u8 reserved[3]; + u64 mpidr; + u64 midr; + u32 running_state; + u32 psci_state; +}; + +struct cper_sec_proc_generic { + u64 validation_bits; + u8 proc_type; + u8 proc_isa; + u8 proc_error_type; + u8 operation; + u8 flags; + u8 level; + u16 reserved; + u64 cpu_version; + char cpu_brand[128]; + u64 proc_id; + u64 target_addr; + u64 requestor_id; + u64 responder_id; + u64 ip; +}; + +struct cper_sec_proc_ia { + u64 validation_bits; + u64 lapic_id; + u8 cpuid[48]; +}; + +struct cpio_data { + void *data; + size_t size; + char name[18]; +}; + +struct cppc_perf_caps { + u32 guaranteed_perf; + u32 highest_perf; + u32 nominal_perf; + u32 lowest_perf; + u32 lowest_nonlinear_perf; + u32 lowest_freq; + u32 nominal_freq; + u32 energy_perf; + bool auto_sel; +}; + +struct cppc_perf_ctrls { + u32 max_perf; + u32 min_perf; + u32 desired_perf; + u32 energy_perf; +}; + +struct cppc_perf_fb_ctrs { + u64 reference; + u64 delivered; + u64 reference_perf; + u64 wraparound_time; +}; + +struct cppc_cpudata { + struct cppc_perf_caps perf_caps; + struct cppc_perf_ctrls perf_ctrls; + struct cppc_perf_fb_ctrs perf_fb_ctrs; + unsigned int shared_type; + cpumask_var_t shared_cpu_map; +}; + +struct cppc_pcc_data { + struct pcc_mbox_chan *pcc_channel; + bool pcc_channel_acquired; + unsigned int deadline_us; + unsigned int pcc_mpar; + unsigned int pcc_mrtt; + unsigned int pcc_nominal; + bool pending_pcc_write_cmd; + bool platform_owns_pcc; + unsigned int pcc_write_cnt; + struct rw_semaphore pcc_lock; + wait_queue_head_t pcc_write_wait_q; + ktime_t last_cmd_cmpl_time; + ktime_t last_mpar_reset; + int mpar_count; + int refcount; +}; + +struct cpu { + int node_id; + int hotpluggable; + struct device dev; +}; + +struct cpu_attr { + struct device_attribute attr; + const struct cpumask * const map; +}; + +struct cpu_cacheinfo { + struct cacheinfo *info_list; + unsigned int per_cpu_data_slice_size; + unsigned int num_levels; + unsigned int num_leaves; + bool cpu_map_populated; + bool early_ci_levels; +}; + +struct update_util_data { + void (*func)(struct update_util_data *, u64, unsigned int); +}; + +struct policy_dbs_info; + +struct cpu_dbs_info { + u64 prev_cpu_idle; + u64 prev_update_time; + u64 prev_cpu_nice; + unsigned int prev_load; + struct update_util_data update_util; + struct policy_dbs_info *policy_dbs; +}; + +struct cpuinfo_x86; + +struct cpu_dev { + const char *c_vendor; + const char *c_ident[2]; + void (*c_early_init)(struct cpuinfo_x86 *); + void (*c_bsp_init)(struct cpuinfo_x86 *); + void (*c_init)(struct cpuinfo_x86 *); + void (*c_identify)(struct cpuinfo_x86 *); + void (*c_detect_tlb)(struct cpuinfo_x86 *); + int c_x86_vendor; +}; + +struct cpu_down_work { + unsigned int cpu; + enum cpuhp_state target; +}; + +struct entry_stack { + char stack[4096]; +}; + +struct entry_stack_page { + struct entry_stack stack; +}; + +struct x86_hw_tss { + u32 reserved1; + u64 sp0; + u64 sp1; + u64 sp2; + u64 reserved2; + u64 ist[7]; + u32 reserved3; + u32 reserved4; + u16 reserved5; + u16 io_bitmap_base; +} __attribute__((packed)); + +struct x86_io_bitmap { + u64 prev_sequence; + unsigned int prev_max; + long unsigned int bitmap[1025]; + long unsigned int mapall[1025]; +}; + +struct tss_struct { + struct x86_hw_tss x86_tss; + struct x86_io_bitmap io_bitmap; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct debug_store_buffers { + char bts_buffer[65536]; + char pebs_buffer[65536]; +}; + +struct cpu_entry_area { + char gdt[4096]; + struct entry_stack_page entry_stack_page; + struct tss_struct tss; + struct cea_exception_stacks estacks; + struct debug_store cpu_debug_store; + struct debug_store_buffers cpu_debug_buffers; +}; + +struct folio_batch { + unsigned char nr; + unsigned char i; + bool percpu_pvec_drained; + struct folio *folios[31]; +}; + +struct cpu_fbatches { + local_lock_t lock; + struct folio_batch lru_add; + struct folio_batch lru_deactivate_file; + struct folio_batch lru_deactivate; + struct folio_batch lru_lazyfree; + struct folio_batch lru_activate; + local_lock_t lock_irq; + struct folio_batch lru_move_tail; +}; + +struct perf_branch_entry { + __u64 from; + __u64 to; + __u64 mispred: 1; + __u64 predicted: 1; + __u64 in_tx: 1; + __u64 abort: 1; + __u64 cycles: 16; + __u64 type: 4; + __u64 spec: 2; + __u64 new_type: 4; + __u64 priv: 3; + __u64 reserved: 31; +}; + +struct perf_branch_stack { + u64 nr; + u64 hw_idx; + struct perf_branch_entry entries[0]; +}; + +struct perf_guest_switch_msr { + unsigned int msr; + u64 host; + u64 guest; +}; + +struct er_account; + +struct intel_shared_regs; + +struct intel_excl_cntrs; + +struct cpu_hw_events { + struct perf_event *events[64]; + long unsigned int active_mask[1]; + long unsigned int dirty[1]; + int enabled; + int n_events; + int n_added; + int n_txn; + int n_txn_pair; + int n_txn_metric; + int assign[64]; + u64 tags[64]; + struct perf_event *event_list[64]; + struct event_constraint *event_constraint[64]; + int n_excl; + int n_late_setup; + unsigned int txn_flags; + int is_fake; + struct debug_store *ds; + void *ds_pebs_vaddr; + void *ds_bts_vaddr; + u64 pebs_enabled; + int n_pebs; + int n_large_pebs; + int n_pebs_via_pt; + int pebs_output; + u64 pebs_data_cfg; + u64 active_pebs_data_cfg; + int pebs_record_size; + u64 fixed_ctrl_val; + u64 active_fixed_ctrl_val; + u64 acr_cfg_b[64]; + u64 acr_cfg_c[64]; + int lbr_users; + int lbr_pebs_users; + struct perf_branch_stack lbr_stack; + struct perf_branch_entry lbr_entries[32]; + u64 lbr_counters[32]; + union { + struct er_account *lbr_sel; + struct er_account *lbr_ctl; + }; + u64 br_sel; + void *last_task_ctx; + int last_log_id; + int lbr_select; + void *lbr_xsave; + u64 intel_ctrl_guest_mask; + u64 intel_ctrl_host_mask; + struct perf_guest_switch_msr guest_switch_msrs[64]; + u64 intel_cp_status; + struct intel_shared_regs *shared_regs; + struct event_constraint *constraint_list; + struct intel_excl_cntrs *excl_cntrs; + int excl_thread_id; + u64 tfa_shadow; + int n_metric; + struct amd_nb *amd_nb; + int brs_active; + u64 perf_ctr_virt_mask; + int n_pair; + void *kfree_on_online[2]; + struct pmu *pmu; +}; + +struct cpu_id { + __u8 x86; + __u8 x86_model; + __u8 x86_stepping; +}; + +struct cpu_itimer { + u64 expires; + u64 incr; +}; + +struct cpu_map_ret { + u32 xdp_n; + u32 skb_n; +}; + +struct cpufreq_frequency_table; + +struct cpu_model { + const struct cpu_id *cpu_id; + const char *model_name; + unsigned int max_freq; + struct cpufreq_frequency_table *op_points; +}; + +struct cpu_perf_ibs { + struct perf_event *event; + long unsigned int state[1]; +}; + +struct cpu_rmap { + struct kref refcount; + u16 size; + void **obj; + struct { + u16 index; + u16 dist; + } near[0]; +}; + +struct cpu_signature { + unsigned int sig; + unsigned int pf; + unsigned int rev; +}; + +struct cpu_stop_done { + atomic_t nr_todo; + int ret; + struct completion completion; +}; + +typedef int (*cpu_stop_fn_t)(void *); + +struct cpu_stop_work { + struct list_head list; + cpu_stop_fn_t fn; + long unsigned int caller; + void *arg; + struct cpu_stop_done *done; +}; + +struct cpu_stopper { + struct task_struct *thread; + raw_spinlock_t lock; + bool enabled; + struct list_head works; + struct cpu_stop_work stop_work; + long unsigned int caller; + cpu_stop_fn_t fn; +}; + +struct cpu_timer { + struct timerqueue_node node; + struct timerqueue_head *head; + struct pid *pid; + struct list_head elist; + bool firing; + bool nanosleep; + struct task_struct *handling; +}; + +struct cpu_user_regs { + uint64_t r15; + uint64_t r14; + uint64_t r13; + uint64_t r12; + union { + uint64_t rbp; + uint64_t ebp; + uint32_t _ebp; + }; + union { + uint64_t rbx; + uint64_t ebx; + uint32_t _ebx; + }; + uint64_t r11; + uint64_t r10; + uint64_t r9; + uint64_t r8; + union { + uint64_t rax; + uint64_t eax; + uint32_t _eax; + }; + union { + uint64_t rcx; + uint64_t ecx; + uint32_t _ecx; + }; + union { + uint64_t rdx; + uint64_t edx; + uint32_t _edx; + }; + union { + uint64_t rsi; + uint64_t esi; + uint32_t _esi; + }; + union { + uint64_t rdi; + uint64_t edi; + uint32_t _edi; + }; + uint32_t error_code; + uint32_t entry_vector; + union { + uint64_t rip; + uint64_t eip; + uint32_t _eip; + }; + uint16_t cs; + uint16_t _pad0[1]; + uint8_t saved_upcall_mask; + uint8_t _pad1[3]; + union { + uint64_t rflags; + uint64_t eflags; + uint32_t _eflags; + }; + union { + uint64_t rsp; + uint64_t esp; + uint32_t _esp; + }; + uint16_t ss; + uint16_t _pad2[3]; + uint16_t es; + uint16_t _pad3[3]; + uint16_t ds; + uint16_t _pad4[3]; + uint16_t fs; + uint16_t _pad5[3]; + uint16_t gs; + uint16_t _pad6[3]; +}; + +struct cpu_vfs_cap_data { + __u32 magic_etc; + kuid_t rootid; + kernel_cap_t permitted; + kernel_cap_t inheritable; +}; + +struct kernel_cpustat; + +struct cpuacct { + struct cgroup_subsys_state css; + u64 *cpuusage; + struct kernel_cpustat *cpustat; +}; + +struct pstate_data { + int current_pstate; + int min_pstate; + int max_pstate; + int max_pstate_physical; + int perf_ctl_scaling; + int scaling; + int turbo_pstate; + unsigned int min_freq; + unsigned int max_freq; + unsigned int turbo_freq; +}; + +struct vid_data { + int min; + int max; + int turbo; + int32_t ratio; +}; + +struct sample { + int32_t core_avg_perf; + int32_t busy_scaled; + u64 aperf; + u64 mperf; + u64 tsc; + u64 time; +}; + +struct cpudata { + int cpu; + unsigned int policy; + struct update_util_data update_util; + bool update_util_set; + struct pstate_data pstate; + struct vid_data vid; + u64 last_update; + u64 last_sample_time; + u64 aperf_mperf_shift; + u64 prev_aperf; + u64 prev_mperf; + u64 prev_tsc; + struct sample sample; + int32_t min_perf_ratio; + int32_t max_perf_ratio; + struct acpi_processor_performance acpi_perf_data; + bool valid_pss_table; + unsigned int iowait_boost; + s16 epp_powersave; + s16 epp_policy; + s16 epp_default; + s16 epp_cached; + u64 hwp_req_cached; + u64 hwp_cap_cached; + u64 last_io_update; + unsigned int capacity_perf; + unsigned int sched_flags; + u32 hwp_boost_min; + bool suspended; + bool pd_registered; + struct delayed_work hwp_notify_work; +}; + +struct cpudl_item; + +struct cpudl { + raw_spinlock_t lock; + int size; + cpumask_var_t free_cpus; + struct cpudl_item *elements; +}; + +struct cpudl_item { + u64 dl; + int cpu; + int idx; +}; + +struct cpufreq_cpuinfo { + unsigned int max_freq; + unsigned int min_freq; + unsigned int transition_latency; +}; + +struct cpufreq_policy; + +struct cpufreq_policy_data; + +struct freq_attr; + +struct cpufreq_driver { + char name[16]; + u16 flags; + void *driver_data; + int (*init)(struct cpufreq_policy *); + int (*verify)(struct cpufreq_policy_data *); + int (*setpolicy)(struct cpufreq_policy *); + int (*target)(struct cpufreq_policy *, unsigned int, unsigned int); + int (*target_index)(struct cpufreq_policy *, unsigned int); + unsigned int (*fast_switch)(struct cpufreq_policy *, unsigned int); + void (*adjust_perf)(unsigned int, long unsigned int, long unsigned int, long unsigned int); + unsigned int (*get_intermediate)(struct cpufreq_policy *, unsigned int); + int (*target_intermediate)(struct cpufreq_policy *, unsigned int); + unsigned int (*get)(unsigned int); + void (*update_limits)(struct cpufreq_policy *); + int (*bios_limit)(int, unsigned int *); + int (*online)(struct cpufreq_policy *); + int (*offline)(struct cpufreq_policy *); + void (*exit)(struct cpufreq_policy *); + int (*suspend)(struct cpufreq_policy *); + int (*resume)(struct cpufreq_policy *); + void (*ready)(struct cpufreq_policy *); + struct freq_attr **attr; + bool boost_enabled; + int (*set_boost)(struct cpufreq_policy *, int); + void (*register_em)(struct cpufreq_policy *); +}; + +struct cpufreq_freqs { + struct cpufreq_policy *policy; + unsigned int old; + unsigned int new; + u8 flags; +}; + +struct cpufreq_frequency_table { + unsigned int flags; + unsigned int driver_data; + unsigned int frequency; +}; + +struct cpufreq_governor { + char name[16]; + int (*init)(struct cpufreq_policy *); + void (*exit)(struct cpufreq_policy *); + int (*start)(struct cpufreq_policy *); + void (*stop)(struct cpufreq_policy *); + void (*limits)(struct cpufreq_policy *); + ssize_t (*show_setspeed)(struct cpufreq_policy *, char *); + int (*store_setspeed)(struct cpufreq_policy *, unsigned int); + struct list_head governor_list; + struct module *owner; + u8 flags; +}; + +typedef struct cpufreq_policy *class_cpufreq_policy_read_t; + +typedef struct cpufreq_policy *class_cpufreq_policy_write_t; + +struct plist_head { + struct list_head node_list; +}; + +struct pm_qos_constraints { + struct plist_head list; + s32 target_value; + s32 default_value; + s32 no_constraint_value; + enum pm_qos_type type; + struct blocking_notifier_head *notifiers; +}; + +struct freq_constraints { + struct pm_qos_constraints min_freq; + struct blocking_notifier_head min_freq_notifiers; + struct pm_qos_constraints max_freq; + struct blocking_notifier_head max_freq_notifiers; +}; + +struct cpufreq_stats; + +struct cpufreq_policy { + cpumask_var_t cpus; + cpumask_var_t related_cpus; + cpumask_var_t real_cpus; + unsigned int shared_type; + unsigned int cpu; + struct clk *clk; + struct cpufreq_cpuinfo cpuinfo; + unsigned int min; + unsigned int max; + unsigned int cur; + unsigned int suspend_freq; + unsigned int policy; + unsigned int last_policy; + struct cpufreq_governor *governor; + void *governor_data; + char last_governor[16]; + struct work_struct update; + struct freq_constraints constraints; + struct freq_qos_request *min_freq_req; + struct freq_qos_request *max_freq_req; + struct cpufreq_frequency_table *freq_table; + enum cpufreq_table_sorting freq_table_sorted; + struct list_head policy_list; + struct kobject kobj; + struct completion kobj_unregister; + struct rw_semaphore rwsem; + bool fast_switch_possible; + bool fast_switch_enabled; + bool strict_target; + bool efficiencies_available; + unsigned int transition_delay_us; + bool dvfs_possible_from_any_cpu; + bool boost_enabled; + bool boost_supported; + unsigned int cached_target_freq; + unsigned int cached_resolved_idx; + bool transition_ongoing; + spinlock_t transition_lock; + wait_queue_head_t transition_wait; + struct task_struct *transition_task; + struct cpufreq_stats *stats; + void *driver_data; + struct thermal_cooling_device *cdev; + struct notifier_block nb_min; + struct notifier_block nb_max; +}; + +struct cpufreq_policy_data { + struct cpufreq_cpuinfo cpuinfo; + struct cpufreq_frequency_table *freq_table; + unsigned int cpu; + unsigned int min; + unsigned int max; +}; + +struct cpufreq_stats { + unsigned int total_trans; + long long unsigned int last_time; + unsigned int max_state; + unsigned int state_num; + unsigned int last_index; + u64 *time_in_state; + unsigned int *freq_table; + unsigned int *trans_table; + unsigned int reset_pending; + long long unsigned int reset_time; +}; + +struct cpuhp_cpu_state { + enum cpuhp_state state; + enum cpuhp_state target; + enum cpuhp_state fail; + struct task_struct *thread; + bool should_run; + bool rollback; + bool single; + bool bringup; + struct hlist_node *node; + struct hlist_node *last; + enum cpuhp_state cb_state; + int result; + atomic_t ap_sync_state; + struct completion done_up; + struct completion done_down; +}; + +struct cpuhp_step { + const char *name; + union { + int (*single)(unsigned int); + int (*multi)(unsigned int, struct hlist_node *); + } startup; + union { + int (*single)(unsigned int); + int (*multi)(unsigned int, struct hlist_node *); + } teardown; + struct hlist_head list; + bool cant_stop; + bool multi_instance; +}; + +union cpuid10_eax { + struct { + unsigned int version_id: 8; + unsigned int num_counters: 8; + unsigned int bit_width: 8; + unsigned int mask_length: 8; + } split; + unsigned int full; +}; + +union cpuid10_ebx { + struct { + unsigned int no_unhalted_core_cycles: 1; + unsigned int no_instructions_retired: 1; + unsigned int no_unhalted_reference_cycles: 1; + unsigned int no_llc_reference: 1; + unsigned int no_llc_misses: 1; + unsigned int no_branch_instruction_retired: 1; + unsigned int no_branch_misses_retired: 1; + } split; + unsigned int full; +}; + +union cpuid10_edx { + struct { + unsigned int num_counters_fixed: 5; + unsigned int bit_width_fixed: 8; + unsigned int reserved1: 2; + unsigned int anythread_deprecated: 1; + unsigned int reserved2: 16; + } split; + unsigned int full; +}; + +union cpuid28_eax { + struct { + unsigned int lbr_depth_mask: 8; + unsigned int reserved: 22; + unsigned int lbr_deep_c_reset: 1; + unsigned int lbr_lip: 1; + } split; + unsigned int full; +}; + +union cpuid28_ebx { + struct { + unsigned int lbr_cpl: 1; + unsigned int lbr_filter: 1; + unsigned int lbr_call_stack: 1; + } split; + unsigned int full; +}; + +union cpuid28_ecx { + struct { + unsigned int lbr_mispred: 1; + unsigned int lbr_timed_lbr: 1; + unsigned int lbr_br_type: 1; + unsigned int reserved: 13; + unsigned int lbr_counters: 4; + } split; + unsigned int full; +}; + +union cpuid35_eax { + struct { + unsigned int leaf0: 1; + unsigned int cntr_subleaf: 1; + unsigned int acr_subleaf: 1; + unsigned int events_subleaf: 1; + unsigned int reserved: 28; + } split; + unsigned int full; +}; + +union cpuid35_ebx { + struct { + unsigned int umask2: 1; + unsigned int eq: 1; + unsigned int reserved: 30; + } split; + unsigned int full; +}; + +union hfi_capabilities { + struct { + u8 performance: 1; + u8 energy_efficiency: 1; + u8 __reserved: 6; + } split; + u8 bits; +}; + +union cpuid6_edx { + struct { + union hfi_capabilities capabilities; + u32 table_pages: 4; + u32 __reserved: 4; + s32 index: 16; + } split; + u32 full; +}; + +union cpuid_0x10_1_eax { + struct { + unsigned int cbm_len: 5; + } split; + unsigned int full; +}; + +union cpuid_0x10_3_eax { + struct { + unsigned int max_delay: 12; + } split; + unsigned int full; +}; + +union cpuid_0x10_x_ecx { + struct { + unsigned int reserved: 3; + unsigned int noncont: 1; + } split; + unsigned int full; +}; + +union cpuid_0x10_x_edx { + struct { + unsigned int cos_max: 16; + } split; + unsigned int full; +}; + +union cpuid_0x80000022_ebx { + struct { + unsigned int num_core_pmc: 4; + unsigned int lbr_v2_stack_sz: 6; + unsigned int num_df_pmc: 6; + unsigned int num_umc_pmc: 6; + } split; + unsigned int full; +}; + +union cpuid_1_eax { + struct { + __u32 stepping: 4; + __u32 model: 4; + __u32 family: 4; + __u32 __reserved0: 4; + __u32 ext_model: 4; + __u32 ext_fam: 8; + __u32 __reserved1: 4; + }; + __u32 full; +}; + +struct cpuid_bit { + u16 feature; + u8 reg; + u8 bit; + u32 level; + u32 sub_leaf; +}; + +struct cpuid_dep { + unsigned int feature; + unsigned int depends; +}; + +struct cpuid_dependent_feature { + u32 feature; + u32 level; +}; + +struct cpuid_leaf { + u32 fn; + u32 subfn; + u32 eax; + u32 ebx; + u32 ecx; + u32 edx; +}; + +struct cpuidle_device; + +struct cpuidle_attr { + struct attribute attr; + ssize_t (*show)(struct cpuidle_device *, char *); + ssize_t (*store)(struct cpuidle_device *, const char *, size_t); +}; + +struct cpuidle_state_usage { + long long unsigned int disable; + long long unsigned int usage; + u64 time_ns; + long long unsigned int above; + long long unsigned int below; + long long unsigned int rejected; + long long unsigned int s2idle_usage; + long long unsigned int s2idle_time; +}; + +struct cpuidle_driver_kobj; + +struct cpuidle_state_kobj; + +struct cpuidle_device_kobj; + +struct cpuidle_device { + unsigned int registered: 1; + unsigned int enabled: 1; + unsigned int poll_time_limit: 1; + unsigned int cpu; + ktime_t next_hrtimer; + int last_state_idx; + u64 last_residency_ns; + u64 poll_limit_ns; + u64 forced_idle_latency_limit_ns; + struct cpuidle_state_usage states_usage[10]; + struct cpuidle_state_kobj *kobjs[10]; + struct cpuidle_driver_kobj *kobj_driver; + struct cpuidle_device_kobj *kobj_dev; + struct list_head device_list; +}; + +struct cpuidle_device_kobj { + struct cpuidle_device *dev; + struct completion kobj_unregister; + struct kobject kobj; +}; + +struct cpuidle_driver; + +struct cpuidle_state { + char name[16]; + char desc[32]; + s64 exit_latency_ns; + s64 target_residency_ns; + unsigned int flags; + unsigned int exit_latency; + int power_usage; + unsigned int target_residency; + int (*enter)(struct cpuidle_device *, struct cpuidle_driver *, int); + void (*enter_dead)(struct cpuidle_device *, int); + int (*enter_s2idle)(struct cpuidle_device *, struct cpuidle_driver *, int); +}; + +struct cpuidle_driver { + const char *name; + struct module *owner; + unsigned int bctimer: 1; + struct cpuidle_state states[10]; + int state_count; + int safe_state_index; + struct cpumask *cpumask; + const char *governor; +}; + +struct cpuidle_governor { + char name[16]; + struct list_head governor_list; + unsigned int rating; + int (*enable)(struct cpuidle_driver *, struct cpuidle_device *); + void (*disable)(struct cpuidle_driver *, struct cpuidle_device *); + int (*select)(struct cpuidle_driver *, struct cpuidle_device *, bool *); + void (*reflect)(struct cpuidle_device *, int); +}; + +struct cpuidle_state_attr { + struct attribute attr; + ssize_t (*show)(struct cpuidle_state *, struct cpuidle_state_usage *, char *); + ssize_t (*store)(struct cpuidle_state *, struct cpuidle_state_usage *, const char *, size_t); +}; + +struct cpuidle_state_kobj { + struct cpuidle_state *state; + struct cpuidle_state_usage *state_usage; + struct completion kobj_unregister; + struct kobject kobj; + struct cpuidle_device *device; +}; + +struct cpuinfo_topology { + u32 apicid; + u32 initial_apicid; + u32 pkg_id; + u32 die_id; + u32 cu_id; + u32 core_id; + u32 logical_pkg_id; + u32 logical_die_id; + u32 logical_core_id; + u32 amd_node_id; + u32 llc_id; + u32 l2c_id; + union { + u32 cpu_type; + struct { + u32 intel_native_model_id: 24; + u32 intel_type: 8; + }; + struct { + u32 amd_num_processors: 16; + u32 amd_power_eff_ranking: 8; + u32 amd_native_model_id: 4; + u32 amd_type: 4; + }; + }; +}; + +struct cpuinfo_x86 { + union { + struct { + __u8 x86_model; + __u8 x86; + __u8 x86_vendor; + __u8 x86_reserved; + }; + __u32 x86_vfm; + }; + __u8 x86_stepping; + int x86_tlbsize; + __u32 vmx_capability[5]; + __u8 x86_virt_bits; + __u8 x86_phys_bits; + __u32 extended_cpuid_level; + int cpuid_level; + union { + __u32 x86_capability[24]; + long unsigned int x86_capability_alignment; + }; + char x86_vendor_id[16]; + char x86_model_id[64]; + struct cpuinfo_topology topo; + unsigned int x86_cache_size; + int x86_cache_alignment; + int x86_cache_max_rmid; + int x86_cache_occ_scale; + int x86_cache_mbm_width_offset; + int x86_power; + long unsigned int loops_per_jiffy; + u64 ppin; + u16 x86_clflush_size; + u16 booted_cores; + u16 cpu_index; + bool smt_active; + u32 microcode; + u8 x86_cache_bits; + unsigned int initialized: 1; +}; + +struct cpumap { + unsigned int available; + unsigned int allocated; + unsigned int managed; + unsigned int managed_allocated; + bool initialized; + bool online; + long unsigned int *managed_map; + long unsigned int alloc_map[0]; +}; + +union cpumask_rcuhead { + cpumask_t cpumask; + struct callback_head rcu; +}; + +struct cpupri_vec { + atomic_t count; + cpumask_var_t mask; +}; + +struct cpupri { + struct cpupri_vec pri_to_cpu[101]; + int *cpu_to_pri; +}; + +struct fmeter { + int cnt; + int val; + time64_t time; + spinlock_t lock; +}; + +struct uf_node { + struct uf_node *parent; + unsigned int rank; +}; + +struct cpuset { + struct cgroup_subsys_state css; + long unsigned int flags; + cpumask_var_t cpus_allowed; + nodemask_t mems_allowed; + cpumask_var_t effective_cpus; + nodemask_t effective_mems; + cpumask_var_t effective_xcpus; + cpumask_var_t exclusive_cpus; + nodemask_t old_mems_allowed; + struct fmeter fmeter; + int attach_in_progress; + int relax_domain_level; + int nr_subparts; + int partition_root_state; + int nr_deadline_tasks; + int nr_migrate_dl_tasks; + u64 sum_migrate_dl_bw; + enum prs_errcode prs_err; + struct cgroup_file partition_file; + struct list_head remote_sibling; + struct uf_node node; +}; + +struct cpuset_migrate_mm_work { + struct work_struct work; + struct mm_struct *mm; + nodemask_t from; + nodemask_t to; +}; + +struct cpuset_remove_tasks_struct { + struct work_struct work; + struct cpuset *cs; +}; + +struct range { + u64 start; + u64 end; +}; + +struct crash_mem { + unsigned int max_nr_ranges; + unsigned int nr_ranges; + struct range ranges[0]; +}; + +struct crash_memmap_data { + struct boot_params *params; + unsigned int type; +}; + +struct crb_regs_head; + +struct crb_regs_tail; + +struct crb_priv { + u32 sm; + const char *hid; + struct crb_regs_head *regs_h; + struct crb_regs_tail *regs_t; + u8 *cmd; + u8 *rsp; + u32 cmd_size; + u32 smc_func_id; + u32 *pluton_start_addr; + u32 *pluton_reply_addr; + u8 ffa_flags; + u8 ffa_attributes; +}; + +struct crb_regs_head { + u32 loc_state; + u32 reserved1; + u32 loc_ctrl; + u32 loc_sts; + u8 reserved2[32]; + u64 intf_id; + u64 ctrl_ext; +}; + +struct crb_regs_tail { + u32 ctrl_req; + u32 ctrl_sts; + u32 ctrl_cancel; + u32 ctrl_start; + u32 ctrl_int_enable; + u32 ctrl_int_sts; + u32 ctrl_cmd_size; + u32 ctrl_cmd_pa_low; + u32 ctrl_cmd_pa_high; + u32 ctrl_rsp_size; + u64 ctrl_rsp_pa; +}; + +struct crc64_pi_tuple { + __be64 guard_tag; + __be16 app_tag; + __u8 ref_tag[6]; +}; + +struct crc_data { + struct task_struct *thr; + atomic_t ready; + atomic_t stop; + unsigned int run_threads; + wait_queue_head_t go; + wait_queue_head_t done; + u32 *crc32; + size_t *unc_len[3]; + unsigned char *unc[3]; +}; + +struct group_info; + +struct cred { + atomic_long_t usage; + kuid_t uid; + kgid_t gid; + kuid_t suid; + kgid_t sgid; + kuid_t euid; + kgid_t egid; + kuid_t fsuid; + kgid_t fsgid; + unsigned int securebits; + kernel_cap_t cap_inheritable; + kernel_cap_t cap_permitted; + kernel_cap_t cap_effective; + kernel_cap_t cap_bset; + kernel_cap_t cap_ambient; + unsigned char jit_keyring; + struct key *session_keyring; + struct key *process_keyring; + struct key *thread_keyring; + struct key *request_key_auth; + void *security; + struct user_struct *user; + struct user_namespace *user_ns; + struct ucounts *ucounts; + struct group_info *group_info; + union { + int non_rcu; + struct callback_head rcu; + }; +}; + +struct cred_label { + const struct cred *cred; + struct aa_label *label; +}; + +struct cred_security_struct { + u32 osid; + u32 sid; + u32 exec_sid; + u32 create_sid; + u32 keycreate_sid; + u32 sockcreate_sid; +}; + +struct crng { + u8 key[32]; + long unsigned int generation; + local_lock_t lock; +}; + +struct crs_csi2 { + struct list_head entry; + acpi_handle handle; + struct acpi_device_software_nodes *swnodes; + struct list_head connections; + u32 port_count; +}; + +struct crs_csi2_connection { + struct list_head entry; + struct acpi_resource_csi2_serialbus csi2_data; + acpi_handle remote_handle; + char remote_name[0]; +}; + +struct crypto_tfm { + refcount_t refcnt; + u32 crt_flags; + int node; + struct crypto_tfm *fb; + void (*exit)(struct crypto_tfm *); + struct crypto_alg *__crt_alg; + void *__crt_ctx[0]; +}; + +struct crypto_acomp { + int (*compress)(struct acomp_req *); + int (*decompress)(struct acomp_req *); + unsigned int reqsize; + struct crypto_tfm base; +}; + +struct crypto_wait { + struct completion completion; + int err; +}; + +struct crypto_acomp_ctx { + struct crypto_acomp *acomp; + struct acomp_req *req; + struct crypto_wait wait; + u8 *buffer; + struct mutex mutex; + bool is_sleepable; +}; + +struct crypto_acomp_stream { + spinlock_t lock; + void *ctx; +}; + +struct crypto_acomp_streams { + void * (*alloc_ctx)(void); + void (*free_ctx)(void *); + struct crypto_acomp_stream *streams; + struct work_struct stream_work; + cpumask_t stream_want; +}; + +struct crypto_aead { + unsigned int authsize; + unsigned int reqsize; + struct crypto_tfm base; +}; + +struct crypto_spawn { + struct list_head list; + struct crypto_alg *alg; + union { + struct crypto_instance *inst; + struct crypto_spawn *next; + }; + const struct crypto_type *frontend; + u32 mask; + bool dead; + bool registered; +}; + +struct crypto_aead_spawn { + struct crypto_spawn base; +}; + +struct crypto_ahash { + bool using_shash; + unsigned int statesize; + unsigned int reqsize; + struct crypto_tfm base; +}; + +struct crypto_ahash_spawn { + struct crypto_spawn base; +}; + +struct crypto_akcipher { + unsigned int reqsize; + struct crypto_tfm base; +}; + +struct crypto_akcipher_spawn { + struct crypto_spawn base; +}; + +struct crypto_akcipher_sync_data { + struct crypto_akcipher *tfm; + const void *src; + void *dst; + unsigned int slen; + unsigned int dlen; + struct akcipher_request *req; + struct crypto_wait cwait; + struct scatterlist sg; + u8 *buf; +}; + +struct crypto_attr_alg { + char name[128]; +}; + +struct crypto_attr_type { + u32 type; + u32 mask; +}; + +struct crypto_cipher { + struct crypto_tfm base; +}; + +struct crypto_cipher_spawn { + struct crypto_spawn base; +}; + +struct crypto_cts_ctx { + struct crypto_skcipher *child; +}; + +struct skcipher_request { + unsigned int cryptlen; + u8 *iv; + struct scatterlist *src; + struct scatterlist *dst; + struct crypto_async_request base; + void *__ctx[0]; +}; + +struct crypto_cts_reqctx { + struct scatterlist sg[2]; + unsigned int offset; + struct skcipher_request subreq; +}; + +struct crypto_gcm_ctx { + struct crypto_skcipher *ctr; + struct crypto_ahash *ghash; +}; + +struct crypto_gcm_ghash_ctx { + unsigned int cryptlen; + struct scatterlist *src; + int (*complete)(struct aead_request *, u32); +}; + +struct crypto_gcm_req_priv_ctx { + u8 iv[16]; + u8 auth_tag[16]; + u8 iauth_tag[16]; + struct scatterlist src[3]; + struct scatterlist dst[3]; + struct scatterlist sg; + struct crypto_gcm_ghash_ctx ghash_ctx; + union { + struct ahash_request ahreq; + struct skcipher_request skreq; + } u; +}; + +struct crypto_hash_walk { + const char *data; + unsigned int offset; + unsigned int flags; + struct page *pg; + unsigned int entrylen; + unsigned int total; + struct scatterlist *sg; +}; + +struct crypto_kpp { + unsigned int reqsize; + struct crypto_tfm base; +}; + +struct crypto_kpp_spawn { + struct crypto_spawn base; +}; + +struct crypto_larval { + struct crypto_alg alg; + struct crypto_alg *adult; + struct completion completion; + u32 mask; + bool test_started; +}; + +struct crypto_lskcipher { + struct crypto_tfm base; +}; + +struct crypto_lskcipher_spawn { + struct crypto_spawn base; +}; + +struct crypto_queue { + struct list_head list; + struct list_head *backlog; + unsigned int qlen; + unsigned int max_qlen; +}; + +struct crypto_report_acomp { + char type[64]; +}; + +struct crypto_report_aead { + char type[64]; + char geniv[64]; + unsigned int blocksize; + unsigned int maxauthsize; + unsigned int ivsize; +}; + +struct crypto_report_akcipher { + char type[64]; +}; + +struct crypto_report_blkcipher { + char type[64]; + char geniv[64]; + unsigned int blocksize; + unsigned int min_keysize; + unsigned int max_keysize; + unsigned int ivsize; +}; + +struct crypto_report_comp { + char type[64]; +}; + +struct crypto_report_hash { + char type[64]; + unsigned int blocksize; + unsigned int digestsize; +}; + +struct crypto_report_kpp { + char type[64]; +}; + +struct crypto_report_rng { + char type[64]; + unsigned int seedsize; +}; + +struct crypto_report_sig { + char type[64]; +}; + +struct crypto_rfc3686_ctx { + struct crypto_skcipher *child; + u8 nonce[4]; +}; + +struct crypto_rfc3686_req_ctx { + u8 iv[16]; + struct skcipher_request subreq; +}; + +struct crypto_rfc4106_ctx { + struct crypto_aead *child; + u8 nonce[4]; +}; + +struct crypto_rfc4106_req_ctx { + struct scatterlist src[3]; + struct scatterlist dst[3]; + struct aead_request subreq; +}; + +struct crypto_rfc4543_ctx { + struct crypto_aead *child; + u8 nonce[4]; +}; + +struct crypto_rfc4543_instance_ctx { + struct crypto_aead_spawn aead; +}; + +struct crypto_rfc4543_req_ctx { + struct aead_request subreq; +}; + +struct crypto_rng { + struct crypto_tfm base; +}; + +struct crypto_scomp { + struct crypto_tfm base; +}; + +struct crypto_shash { + struct crypto_tfm base; +}; + +struct crypto_shash_spawn { + struct crypto_spawn base; +}; + +struct crypto_sig { + struct crypto_tfm base; +}; + +struct crypto_sig_spawn { + struct crypto_spawn base; +}; + +struct crypto_skcipher { + unsigned int reqsize; + struct crypto_tfm base; +}; + +struct crypto_skcipher_spawn { + struct crypto_spawn base; +}; + +struct crypto_sync_skcipher { + struct crypto_skcipher base; +}; + +struct rtattr; + +struct crypto_template { + struct list_head list; + struct hlist_head instances; + struct hlist_head dead; + struct module *module; + struct work_struct free_work; + int (*create)(struct crypto_template *, struct rtattr **); + char name[128]; +}; + +struct crypto_test_param { + char driver[128]; + char alg[128]; + u32 type; +}; + +struct crypto_type { + unsigned int (*ctxsize)(struct crypto_alg *, u32, u32); + unsigned int (*extsize)(struct crypto_alg *); + int (*init_tfm)(struct crypto_tfm *); + void (*show)(struct seq_file *, struct crypto_alg *); + int (*report)(struct sk_buff *, struct crypto_alg *); + void (*free)(struct crypto_instance *); + void (*destroy)(struct crypto_alg *); + unsigned int type; + unsigned int maskclear; + unsigned int maskset; + unsigned int tfmsize; + unsigned int algsize; +}; + +struct rtattr { + short unsigned int rta_len; + short unsigned int rta_type; +}; + +struct cryptomgr_param { + struct rtattr *tb[34]; + struct { + struct rtattr attr; + struct crypto_attr_type data; + } type; + struct { + struct rtattr attr; + struct crypto_attr_alg data; + } attrs[32]; + char template[128]; + struct crypto_larval *larval; + u32 otype; + u32 omask; +}; + +struct crystal_cove_config { + long unsigned int irq_flags; + struct mfd_cell *cell_dev; + int n_cell_devs; + const struct regmap_config *regmap_config; + const struct regmap_irq_chip *irq_chip; +}; + +struct crystalcove_gpio { + struct mutex buslock; + struct gpio_chip chip; + struct regmap *regmap; + int update; + int intcnt_value; + bool set_irq_mask; +}; + +struct crystalcove_pwm { + struct regmap *regmap; +}; + +struct cs_dbs_tuners { + unsigned int down_threshold; + unsigned int freq_step; +}; + +struct dbs_data; + +struct policy_dbs_info { + struct cpufreq_policy *policy; + struct mutex update_mutex; + u64 last_sample_time; + s64 sample_delay_ns; + atomic_t work_count; + struct irq_work irq_work; + struct work_struct work; + struct dbs_data *dbs_data; + struct list_head list; + unsigned int rate_mult; + unsigned int idle_periods; + bool is_shared; + bool work_in_progress; +}; + +struct cs_policy_dbs_info { + struct policy_dbs_info policy_dbs; + unsigned int down_skip; + unsigned int requested_freq; +}; + +struct csi2_resources_walk_data { + acpi_handle handle; + struct list_head connections; +}; + +struct mem_ctl_info; + +struct rank_info; + +struct csrow_info { + struct device dev; + long unsigned int first_page; + long unsigned int last_page; + long unsigned int page_mask; + int csrow_idx; + u32 ue_count; + u32 ce_count; + struct mem_ctl_info *mci; + u32 nr_channels; + struct rank_info **channels; +}; + +struct css_rstat_cpu { + struct cgroup_subsys_state *updated_children; + struct cgroup_subsys_state *updated_next; + struct llist_node lnode; + struct cgroup_subsys_state *owner; +}; + +struct css_set { + struct cgroup_subsys_state *subsys[15]; + refcount_t refcount; + struct css_set *dom_cset; + struct cgroup *dfl_cgrp; + int nr_tasks; + struct list_head tasks; + struct list_head mg_tasks; + struct list_head dying_tasks; + struct list_head task_iters; + struct list_head e_cset_node[15]; + struct list_head threaded_csets; + struct list_head threaded_csets_node; + struct hlist_node hlist; + struct list_head cgrp_links; + struct list_head mg_src_preload_node; + struct list_head mg_dst_preload_node; + struct list_head mg_node; + struct cgroup *mg_src_cgrp; + struct cgroup *mg_dst_cgrp; + struct css_set *mg_dst_cset; + bool dead; + struct callback_head callback_head; +}; + +struct css_set__safe_rcu { + struct cgroup *dfl_cgrp; +}; + +struct iphdr { + __u8 ihl: 4; + __u8 version: 4; + __u8 tos; + __be16 tot_len; + __be16 id; + __be16 frag_off; + __u8 ttl; + __u8 protocol; + __sum16 check; + union { + struct { + __be32 saddr; + __be32 daddr; + }; + struct { + __be32 saddr; + __be32 daddr; + } addrs; + }; +}; + +struct tcphdr { + __be16 source; + __be16 dest; + __be32 seq; + __be32 ack_seq; + __u16 ae: 1; + __u16 res1: 3; + __u16 doff: 4; + __u16 fin: 1; + __u16 syn: 1; + __u16 rst: 1; + __u16 psh: 1; + __u16 ack: 1; + __u16 urg: 1; + __u16 ece: 1; + __u16 cwr: 1; + __be16 window; + __sum16 check; + __be16 urg_ptr; +}; + +struct cstate { + byte_t cs_this; + bool initialized; + struct cstate *next; + struct iphdr cs_ip; + struct tcphdr cs_tcp; + unsigned char cs_ipopt[64]; + unsigned char cs_tcpopt[64]; + int cs_hsize; +}; + +struct cstate___2 { + int state; + uint32_t rep0; + uint32_t rep1; + uint32_t rep2; + uint32_t rep3; +}; + +struct cstate_entry { + struct { + unsigned int eax; + unsigned int ecx; + } states[8]; +}; + +struct csum_pseudo_header { + __be64 data_seq; + __be32 subflow_seq; + __be16 data_len; + __sum16 csum; +}; + +struct csum_state { + __wsum csum; + size_t off; +}; + +struct ct_data_s { + union { + ush freq; + ush code; + } fc; + union { + ush dad; + ush len; + } dl; +}; + +typedef struct ct_data_s ct_data; + +struct ctl_table_root; + +struct ctl_table_set; + +struct ctl_dir; + +struct ctl_node; + +struct ctl_table_header { + union { + struct { + const struct ctl_table *ctl_table; + int ctl_table_size; + int used; + int count; + int nreg; + }; + struct callback_head rcu; + }; + struct completion *unregistering; + const struct ctl_table *ctl_table_arg; + struct ctl_table_root *root; + struct ctl_table_set *set; + struct ctl_dir *parent; + struct ctl_node *node; + struct hlist_head inodes; + enum { + SYSCTL_TABLE_TYPE_DEFAULT = 0, + SYSCTL_TABLE_TYPE_PERMANENTLY_EMPTY = 1, + } type; +}; + +struct ctl_dir { + struct ctl_table_header header; + struct rb_root root; +}; + +struct edac_device_ctl_info; + +struct ctl_info_attribute { + struct attribute attr; + ssize_t (*show)(struct edac_device_ctl_info *, char *); + ssize_t (*store)(struct edac_device_ctl_info *, const char *, size_t); +}; + +struct ctl_node { + struct rb_node node; + struct ctl_table_header *header; +}; + +typedef int proc_handler(const struct ctl_table *, int, void *, size_t *, loff_t *); + +struct ctl_table_poll; + +struct ctl_table { + const char *procname; + void *data; + int maxlen; + umode_t mode; + proc_handler *proc_handler; + struct ctl_table_poll *poll; + void *extra1; + void *extra2; +}; + +struct ctl_table_poll { + atomic_t event; + wait_queue_head_t wait; +}; + +struct ctl_table_set { + int (*is_seen)(struct ctl_table_set *); + struct ctl_dir dir; +}; + +struct ctl_table_root { + struct ctl_table_set default_set; + struct ctl_table_set * (*lookup)(struct ctl_table_root *); + void (*set_ownership)(struct ctl_table_header *, kuid_t *, kgid_t *); + int (*permissions)(struct ctl_table_header *, const struct ctl_table *); +}; + +struct netlink_policy_dump_state; + +struct genl_family; + +struct genl_op_iter; + +struct ctrl_dump_policy_ctx { + struct netlink_policy_dump_state *state; + const struct genl_family *rt; + struct genl_op_iter *op_iter; + u32 op; + u16 fam_id; + u8 dump_map: 1; + u8 single_op: 1; +}; + +struct ctrl_pos { + long unsigned int refaulted; + long unsigned int total; + int gain; +}; + +struct ctx_rq_wait { + struct completion comp; + atomic_t count; +}; + +struct ctx_switch_entry { + struct trace_entry ent; + unsigned int prev_pid; + unsigned int next_pid; + unsigned int next_cpu; + unsigned char prev_prio; + unsigned char prev_state; + unsigned char next_prio; + unsigned char next_state; +}; + +struct cvt_timing { + u8 code[3]; +}; + +struct cxl_event_record_hdr { + u8 length; + u8 flags[3]; + __le16 handle; + __le16 related_handle; + __le64 timestamp; + u8 maint_op_class; + u8 maint_op_sub_class; + __le16 ld_id; + u8 head_id; + u8 reserved[11]; +}; + +struct cxl_event_generic { + struct cxl_event_record_hdr hdr; + u8 data[80]; +}; + +struct cxl_event_media_hdr { + struct cxl_event_record_hdr hdr; + __le64 phys_addr; + u8 descriptor; + u8 type; + u8 transaction_type; + u8 validity_flags[2]; + u8 channel; + u8 rank; +} __attribute__((packed)); + +struct cxl_event_gen_media { + struct cxl_event_media_hdr media_hdr; + u8 device[3]; + u8 component_id[16]; + u8 cme_threshold_ev_flags; + u8 cme_count[3]; + u8 sub_type; + u8 reserved[41]; +}; + +struct cxl_event_dram { + struct cxl_event_media_hdr media_hdr; + u8 nibble_mask[3]; + u8 bank_group; + u8 bank; + u8 row[3]; + u8 column[2]; + u8 correction_mask[32]; + u8 component_id[16]; + u8 sub_channel; + u8 cme_threshold_ev_flags; + u8 cvme_count[3]; + u8 sub_type; + u8 reserved; +}; + +struct cxl_get_health_info { + u8 health_status; + u8 media_status; + u8 add_status; + u8 life_used; + u8 device_temp[2]; + u8 dirty_shutdown_cnt[4]; + u8 cor_vol_err_cnt[4]; + u8 cor_per_err_cnt[4]; +}; + +struct cxl_event_mem_module { + struct cxl_event_record_hdr hdr; + u8 event_type; + struct cxl_get_health_info info; + u8 validity_flags[2]; + u8 component_id[16]; + u8 event_sub_type; + u8 reserved[42]; +}; + +struct cxl_event_mem_sparing { + struct cxl_event_record_hdr hdr; + u8 rsv1; + u8 rsv2; + u8 flags; + u8 result; + __le16 validity_flags; + u8 reserved1[6]; + __le16 res_avail; + u8 channel; + u8 rank; + u8 nibble_mask[3]; + u8 bank_group; + u8 bank; + u8 row[3]; + __le16 column; + u8 component_id[16]; + u8 sub_channel; + u8 reserved2[37]; +}; + +union cxl_event { + struct cxl_event_generic generic; + struct cxl_event_gen_media gen_media; + struct cxl_event_dram dram; + struct cxl_event_mem_module mem_module; + struct cxl_event_mem_sparing mem_sparing; + struct cxl_event_media_hdr media_hdr; +}; + +struct cxl_cper_event_rec { + struct { + u32 length; + u64 validation_bits; + struct cper_cxl_event_devid device_id; + struct cper_cxl_event_sn dev_serial_num; + } __attribute__((packed)) hdr; + union cxl_event event; +}; + +struct cxl_cper_sec_prot_err { + u64 valid_bits; + u8 agent_type; + u8 reserved[7]; + union { + u64 rcrb_base_addr; + struct { + u8 function; + u8 device; + u8 bus; + u16 segment; + u8 reserved_1[3]; + } __attribute__((packed)); + } agent_addr; + struct { + u16 vendor_id; + u16 device_id; + u16 subsystem_vendor_id; + u16 subsystem_id; + u8 class_code[2]; + u16 slot; + u8 reserved_1[4]; + } device_id; + struct { + u32 lower_dw; + u32 upper_dw; + } dev_serial_num; + u8 capability[60]; + u16 dvsec_len; + u16 err_len; + u8 reserved_2[4]; +} __attribute__((packed)); + +struct cxl_ras_capability_regs { + u32 uncor_status; + u32 uncor_mask; + u32 uncor_severity; + u32 cor_status; + u32 cor_mask; + u32 cap_control; + u32 header_log[16]; +}; + +struct cxl_cper_prot_err_work_data { + struct cxl_cper_sec_prot_err prot_err; + struct cxl_ras_capability_regs ras_cap; + int severity; +}; + +struct cxl_cper_work_data { + enum cxl_event_type event_type; + struct cxl_cper_event_rec rec; +} __attribute__((packed)); + +struct cxl_mbox_cmd_rc { + int err; + const char *desc; +}; + +struct cyc2ns_data { + u32 cyc2ns_mul; + u32 cyc2ns_shift; + u64 cyc2ns_offset; +}; + +struct cyc2ns { + struct cyc2ns_data data[2]; + seqcount_latch_t seq; +}; + +struct cyclecounter { + u64 (*read)(struct cyclecounter *); + u64 mask; + u32 mult; + u32 shift; +}; + +struct d0_features { + __be16 code; + u8 r_version; + u8 length; + u8 features[0]; +}; + +struct d0_geometry_features { + u8 header[4]; + u8 reserved01; + u8 reserved02[7]; + __be32 logical_block_size; + __be64 alignment_granularity; + __be64 lowest_aligned_lba; +}; + +struct d0_header { + __be32 length; + __be32 revision; + __be32 reserved01; + __be32 reserved02; + u8 ignored[32]; +}; + +struct d0_locking_features { + u8 supported_features; + u8 reserved01[3]; + __be32 reserved02; + __be32 reserved03; +}; + +struct d0_opal_v100 { + __be16 baseComID; + __be16 numComIDs; +}; + +struct d0_opal_v200 { + __be16 baseComID; + __be16 numComIDs; + u8 range_crossing; + u8 num_locking_admin_auth[2]; + u8 num_locking_user_auth[2]; + u8 initialPIN; + u8 revertedPIN; + u8 reserved01; + __be32 reserved02; +}; + +struct d0_single_user_mode { + __be32 num_locking_objects; + u8 reserved01; + u8 reserved02; + __be16 reserved03; + __be32 reserved04; +}; + +struct d0_tper_features { + u8 supported_features; + u8 reserved01[3]; + __be32 reserved02; + __be32 reserved03; +}; + +struct d_partition { + __le32 p_size; + __le32 p_offset; + __le32 p_fsize; + u8 p_fstype; + u8 p_frag; + __le16 p_cpg; +}; + +struct d_partition___2 { + __le32 p_res; + u8 p_fstype; + u8 p_res2[3]; + __le32 p_offset; + __le32 p_size; +}; + +struct da903x_chip_ops; + +struct da903x_chip { + struct i2c_client *client; + struct device *dev; + const struct da903x_chip_ops *ops; + int type; + uint32_t events_mask; + struct mutex lock; + struct work_struct irq_work; + struct blocking_notifier_head notifier_list; +}; + +struct da903x_chip_ops { + int (*init_chip)(struct da903x_chip *); + int (*unmask_events)(struct da903x_chip *, unsigned int); + int (*mask_events)(struct da903x_chip *, unsigned int); + int (*read_events)(struct da903x_chip *, unsigned int *); + int (*read_status)(struct da903x_chip *, unsigned int *); +}; + +struct da903x_subdev_info; + +struct da903x_platform_data { + int num_subdevs; + struct da903x_subdev_info *subdevs; +}; + +struct da903x_subdev_info { + int id; + const char *name; + void *platform_data; +}; + +struct da9052 { + struct device *dev; + struct regmap *regmap; + struct mutex auxadc_lock; + struct completion done; + int irq_base; + struct regmap_irq_chip_data *irq_data; + u8 chip_id; + int chip_irq; + int fault_log; + int (*fix_io)(struct da9052 *, unsigned char); +}; + +struct led_platform_data; + +struct da9052_pdata { + struct led_platform_data *pled; + int (*init)(struct da9052 *); + int irq_base; + int gpio_base; + int use_for_apm; + struct regulator_init_data *regulators[14]; +}; + +struct da9055 { + struct regmap *regmap; + struct regmap_irq_chip_data *irq_data; + struct device *dev; + struct i2c_client *i2c_client; + int irq_base; + int chip_irq; +}; + +struct da9055_pdata { + int (*init)(struct da9055 *); + int irq_base; + int gpio_base; + struct regulator_init_data *regulators[8]; + bool reset_enable; + enum gpio_select *reg_ren; + enum gpio_select *reg_rsel; +}; + +struct da9063 { + struct device *dev; + enum da9063_type type; + unsigned char variant_code; + unsigned int flags; + bool use_sw_pm; + struct regmap *regmap; + int chip_irq; + unsigned int irq_base; + struct regmap_irq_chip_data *regmap_irq; +}; + +struct da_monitor { + bool monitoring; + unsigned int curr_state; +}; + +struct data_chunk { + size_t size; + size_t icg; + size_t dst_icg; + size_t src_icg; +}; + +struct data_dirent { + uint32_t virtual_address; + uint32_t size; +}; + +struct data_directory { + struct data_dirent exports; + struct data_dirent imports; + struct data_dirent resources; + struct data_dirent exceptions; + struct data_dirent certs; + struct data_dirent base_relocations; + struct data_dirent debug; + struct data_dirent arch; + struct data_dirent global_ptr; + struct data_dirent tls; + struct data_dirent load_config; + struct data_dirent bound_imports; + struct data_dirent import_addrs; + struct data_dirent delay_imports; + struct data_dirent clr_runtime_hdr; + struct data_dirent reserved; +}; + +struct dax_operations; + +struct dax_holder_operations; + +struct dax_device { + struct inode inode; + struct cdev cdev; + void *private; + long unsigned int flags; + const struct dax_operations *ops; + void *holder_data; + const struct dax_holder_operations *holder_ops; +}; + +struct dev_dax; + +struct dax_device_driver { + struct device_driver drv; + struct list_head ids; + enum dax_driver_type type; + int (*probe)(struct dev_dax *); + void (*remove)(struct dev_dax *); +}; + +struct dax_holder_operations { + int (*notify_failure)(struct dax_device *, u64, u64, int); +}; + +struct dax_id { + struct list_head list; + char dev_name[30]; +}; + +struct dax_mapping { + struct device dev; + int range_id; + int id; +}; + +struct dax_operations { + long int (*direct_access)(struct dax_device *, long unsigned int, long int, enum dax_access_mode, void **, long unsigned int *); + int (*zero_page_range)(struct dax_device *, long unsigned int, size_t); + size_t (*recovery_write)(struct dax_device *, long unsigned int, void *, size_t, struct iov_iter *); +}; + +struct dax_region { + int id; + int target_node; + struct kref kref; + struct device *dev; + unsigned int align; + struct ida ida; + struct resource res; + struct device *seed; + struct device *youngest; +}; + +struct xhci_dbc; + +struct dbc_driver { + int (*configure)(struct xhci_dbc *); + void (*disconnect)(struct xhci_dbc *); +}; + +struct xhci_ring; + +struct dbc_ep { + struct xhci_dbc *dbc; + struct list_head list_pending; + struct xhci_ring *ring; + unsigned int direction: 1; + unsigned int halted: 1; +}; + +struct dbc_info_context { + __le64 string0; + __le64 manufacturer; + __le64 product; + __le64 serial; + __le32 length; + __le32 __reserved_0[7]; +}; + +struct tty_buffer { + union { + struct tty_buffer *next; + struct llist_node free; + }; + unsigned int used; + unsigned int size; + unsigned int commit; + unsigned int lookahead; + unsigned int read; + bool flags; + long: 0; + u8 data[0]; +}; + +struct tty_bufhead { + struct tty_buffer *head; + struct work_struct work; + struct mutex lock; + atomic_t priority; + struct tty_buffer sentinel; + struct llist_head free; + atomic_t mem_used; + int mem_limit; + struct tty_buffer *tail; +}; + +struct tty_struct; + +struct tty_port_operations; + +struct tty_port_client_operations; + +struct tty_port { + struct tty_bufhead buf; + struct tty_struct *tty; + struct tty_struct *itty; + const struct tty_port_operations *ops; + const struct tty_port_client_operations *client_ops; + spinlock_t lock; + int blocked_open; + int count; + wait_queue_head_t open_wait; + wait_queue_head_t delta_msr_wait; + long unsigned int flags; + long unsigned int iflags; + unsigned char console: 1; + struct mutex mutex; + struct mutex buf_mutex; + u8 *xmit_buf; + struct { + union { + struct __kfifo kfifo; + u8 *type; + const u8 *const_type; + char (*rectype)[0]; + u8 *ptr; + const u8 *ptr_const; + }; + u8 buf[0]; + } xmit_fifo; + unsigned int close_delay; + unsigned int closing_wait; + int drain_delay; + struct kref kref; + void *client_data; +}; + +struct tasklet_struct { + struct tasklet_struct *next; + long unsigned int state; + atomic_t count; + bool use_callback; + union { + void (*func)(long unsigned int); + void (*callback)(struct tasklet_struct *); + }; + long unsigned int data; +}; + +struct dbc_port { + struct tty_port port; + spinlock_t port_lock; + int minor; + struct list_head read_pool; + struct list_head read_queue; + unsigned int n_read; + struct tasklet_struct push; + struct list_head write_pool; + unsigned int tx_boundary; + bool registered; + bool tx_running; +}; + +struct dbc_regs { + __le32 capability; + __le32 doorbell; + __le32 ersts; + __le32 __reserved_0; + __le64 erstba; + __le64 erdp; + __le32 control; + __le32 status; + __le32 portsc; + __le32 __reserved_1; + __le64 dccp; + __le32 devinfo1; + __le32 devinfo2; +}; + +union xhci_trb; + +struct dbc_request { + void *buf; + unsigned int length; + dma_addr_t dma; + void (*complete)(struct xhci_dbc *, struct dbc_request *); + struct list_head list_pool; + int status; + unsigned int actual; + struct xhci_dbc *dbc; + struct list_head list_pending; + dma_addr_t trb_dma; + union xhci_trb *trb; + unsigned int direction: 1; +}; + +struct dbc_str_descs { + char string0[64]; + char manufacturer[64]; + char product[64]; + char serial[64]; +}; + +struct dbg_reg_def_t { + char *name; + int size; + int offset; +}; + +struct gov_attr_set { + struct kobject kobj; + struct list_head policy_list; + struct mutex update_lock; + int usage_count; +}; + +struct dbs_governor; + +struct dbs_data { + struct gov_attr_set attr_set; + struct dbs_governor *gov; + void *tuners; + unsigned int ignore_nice_load; + unsigned int sampling_rate; + unsigned int sampling_down_factor; + unsigned int up_threshold; + unsigned int io_is_busy; +}; + +struct sysfs_ops; + +struct kobj_type { + void (*release)(struct kobject *); + const struct sysfs_ops *sysfs_ops; + const struct attribute_group **default_groups; + const struct kobj_ns_type_operations * (*child_ns_type)(const struct kobject *); + const void * (*namespace)(const struct kobject *); + void (*get_ownership)(const struct kobject *, kuid_t *, kgid_t *); +}; + +struct dbs_governor { + struct cpufreq_governor gov; + struct kobj_type kobj_type; + struct dbs_data *gdbs_data; + unsigned int (*gov_dbs_update)(struct cpufreq_policy *); + struct policy_dbs_info * (*alloc)(void); + void (*free)(struct policy_dbs_info *); + int (*init)(struct dbs_data *); + void (*exit)(struct dbs_data *); + void (*start)(struct cpufreq_policy *); +}; + +struct dcb_app { + __u8 selector; + __u8 priority; + __u16 protocol; +}; + +struct dcb_app_type { + int ifindex; + struct dcb_app app; + struct list_head list; + u8 dcbx; +}; + +struct dcb_ieee_app_dscp_map { + u8 map[64]; +}; + +struct dcb_ieee_app_prio_map { + u64 map[8]; +}; + +struct dcb_peer_app_info { + __u8 willing; + __u8 error; +}; + +struct dcb_rewr_prio_pcp_map { + u16 map[8]; +}; + +struct dcbmsg { + __u8 dcb_family; + __u8 cmd; + __u16 dcb_pad; +}; + +struct dcbnl_buffer { + __u8 prio2buffer[8]; + __u32 buffer_size[8]; + __u32 total_size; +}; + +struct ieee_ets; + +struct ieee_maxrate; + +struct ieee_qcn; + +struct ieee_qcn_stats; + +struct ieee_pfc; + +struct dcbnl_rtnl_ops { + int (*ieee_getets)(struct net_device *, struct ieee_ets *); + int (*ieee_setets)(struct net_device *, struct ieee_ets *); + int (*ieee_getmaxrate)(struct net_device *, struct ieee_maxrate *); + int (*ieee_setmaxrate)(struct net_device *, struct ieee_maxrate *); + int (*ieee_getqcn)(struct net_device *, struct ieee_qcn *); + int (*ieee_setqcn)(struct net_device *, struct ieee_qcn *); + int (*ieee_getqcnstats)(struct net_device *, struct ieee_qcn_stats *); + int (*ieee_getpfc)(struct net_device *, struct ieee_pfc *); + int (*ieee_setpfc)(struct net_device *, struct ieee_pfc *); + int (*ieee_getapp)(struct net_device *, struct dcb_app *); + int (*ieee_setapp)(struct net_device *, struct dcb_app *); + int (*ieee_delapp)(struct net_device *, struct dcb_app *); + int (*ieee_peer_getets)(struct net_device *, struct ieee_ets *); + int (*ieee_peer_getpfc)(struct net_device *, struct ieee_pfc *); + u8 (*getstate)(struct net_device *); + u8 (*setstate)(struct net_device *, u8); + void (*getpermhwaddr)(struct net_device *, u8 *); + void (*setpgtccfgtx)(struct net_device *, int, u8, u8, u8, u8); + void (*setpgbwgcfgtx)(struct net_device *, int, u8); + void (*setpgtccfgrx)(struct net_device *, int, u8, u8, u8, u8); + void (*setpgbwgcfgrx)(struct net_device *, int, u8); + void (*getpgtccfgtx)(struct net_device *, int, u8 *, u8 *, u8 *, u8 *); + void (*getpgbwgcfgtx)(struct net_device *, int, u8 *); + void (*getpgtccfgrx)(struct net_device *, int, u8 *, u8 *, u8 *, u8 *); + void (*getpgbwgcfgrx)(struct net_device *, int, u8 *); + void (*setpfccfg)(struct net_device *, int, u8); + void (*getpfccfg)(struct net_device *, int, u8 *); + u8 (*setall)(struct net_device *); + u8 (*getcap)(struct net_device *, int, u8 *); + int (*getnumtcs)(struct net_device *, int, u8 *); + int (*setnumtcs)(struct net_device *, int, u8); + u8 (*getpfcstate)(struct net_device *); + void (*setpfcstate)(struct net_device *, u8); + void (*getbcncfg)(struct net_device *, int, u32 *); + void (*setbcncfg)(struct net_device *, int, u32); + void (*getbcnrp)(struct net_device *, int, u8 *); + void (*setbcnrp)(struct net_device *, int, u8); + int (*setapp)(struct net_device *, u8, u16, u8); + int (*getapp)(struct net_device *, u8, u16); + u8 (*getfeatcfg)(struct net_device *, int, u8 *); + u8 (*setfeatcfg)(struct net_device *, int, u8); + u8 (*getdcbx)(struct net_device *); + u8 (*setdcbx)(struct net_device *, u8); + int (*peer_getappinfo)(struct net_device *, struct dcb_peer_app_info *, u16 *); + int (*peer_getapptable)(struct net_device *, struct dcb_app *); + int (*cee_peer_getpg)(struct net_device *, struct cee_pg *); + int (*cee_peer_getpfc)(struct net_device *, struct cee_pfc *); + int (*dcbnl_getbuffer)(struct net_device *, struct dcbnl_buffer *); + int (*dcbnl_setbuffer)(struct net_device *, struct dcbnl_buffer *); + int (*dcbnl_setapptrust)(struct net_device *, u8 *, int); + int (*dcbnl_getapptrust)(struct net_device *, u8 *, int *); + int (*dcbnl_setrewr)(struct net_device *, struct dcb_app *); + int (*dcbnl_delrewr)(struct net_device *, struct dcb_app *); +}; + +struct io_stats_per_prio { + uint32_t inserted; + uint32_t merged; + uint32_t dispatched; + atomic_t completed; +}; + +struct dd_per_prio { + struct rb_root sort_list[2]; + struct list_head fifo_list[2]; + sector_t latest_pos[2]; + struct io_stats_per_prio stats; +}; + +struct ddebug_class_map { + struct list_head link; + struct module *mod; + const char *mod_name; + const char **class_names; + const int length; + const int base; + enum class_map_type map_type; +}; + +struct ddebug_class_param { + union { + long unsigned int *bits; + unsigned int *lvl; + }; + char flags[8]; + const struct ddebug_class_map *map; +}; + +struct ddebug_table; + +struct ddebug_iter { + struct ddebug_table *table; + int idx; +}; + +struct ddebug_query { + const char *filename; + const char *module; + const char *function; + const char *format; + const char *class_string; + unsigned int first_lineno; + unsigned int last_lineno; +}; + +struct ddebug_table { + struct list_head link; + struct list_head maps; + const char *mod_name; + unsigned int num_ddebugs; + struct _ddebug *ddebugs; +}; + +struct deadline_data { + struct list_head dispatch; + struct dd_per_prio per_prio[3]; + enum dd_data_dir last_dir; + unsigned int batching; + unsigned int starved; + int fifo_expire[2]; + int fifo_batch; + int writes_starved; + int front_merges; + u32 async_depth; + int prio_aging_expire; + spinlock_t lock; +}; + +struct ohci_hcd; + +struct debug_buffer { + ssize_t (*fill_func)(struct debug_buffer *); + struct ohci_hcd *ohci; + struct mutex mutex; + size_t count; + char *page; +}; + +struct usb_bus; + +struct debug_buffer___2 { + ssize_t (*fill_func)(struct debug_buffer___2 *); + struct usb_bus *bus; + struct mutex mutex; + size_t count; + char *output_buf; + size_t alloc_size; +}; + +struct debug_reply_data { + struct ethnl_reply_data base; + u32 msg_mask; +}; + +struct debugfs_blob_wrapper { + void *data; + long unsigned int size; +}; + +struct debugfs_cancellation { + struct list_head list; + void (*cancel)(struct dentry *, void *); + void *cancel_data; +}; + +struct debugfs_devm_entry { + int (*read)(struct seq_file *, void *); + struct device *dev; +}; + +struct debugfs_fs_info { + kuid_t uid; + kgid_t gid; + umode_t mode; + unsigned int opts; +}; + +struct debugfs_short_fops; + +struct debugfs_fsdata { + const struct file_operations *real_fops; + const struct debugfs_short_fops *short_fops; + struct { + refcount_t active_users; + struct completion active_users_drained; + struct mutex cancellations_mtx; + struct list_head cancellations; + unsigned int methods; + }; +}; + +struct debugfs_info { + struct dentry *debug_dir; + void *rasdes_info; +}; + +typedef struct vfsmount * (*debugfs_automount_t)(struct dentry *, void *); + +struct debugfs_inode_info { + struct inode vfs_inode; + union { + const void *raw; + const struct file_operations *real_fops; + const struct debugfs_short_fops *short_fops; + debugfs_automount_t automount; + }; + void *aux; +}; + +struct debugfs_reg32 { + char *name; + long unsigned int offset; +}; + +struct debugfs_regset32 { + const struct debugfs_reg32 *regs; + int nregs; + void *base; + struct device *dev; +}; + +struct debugfs_short_fops { + ssize_t (*read)(struct file *, char *, size_t, loff_t *); + ssize_t (*write)(struct file *, const char *, size_t, loff_t *); + loff_t (*llseek)(struct file *, loff_t, int); +}; + +struct debuggerinfo_struct { + void *debuggerinfo; + struct task_struct *task; + int exception_state; + int ret_state; + int irq_depth; + int enter_kgdb; + bool rounding_up; +}; + +struct dec_data { + struct task_struct *thr; + struct crypto_acomp *cc; + struct acomp_req *cr; + atomic_t ready; + atomic_t stop; + int ret; + wait_queue_head_t go; + wait_queue_head_t done; + size_t unc_len; + size_t cmp_len; + unsigned char unc[131072]; + unsigned char cmp[143360]; +}; + +struct decomp_stream { + void *stream; + struct list_head list; +}; + +struct deepsleep_control_data { + u8 reg_add; + u8 ds_pos_bit; +}; + +struct dma_fence; + +struct dma_fence_cb; + +typedef void (*dma_fence_func_t)(struct dma_fence *, struct dma_fence_cb *); + +struct dma_fence_cb { + struct list_head node; + dma_fence_func_t func; +}; + +struct default_wait_cb { + struct dma_fence_cb base; + struct task_struct *task; +}; + +struct deferred_entry { + struct list_head list; + grant_ref_t ref; + uint16_t warn_delay; + struct page *page; +}; + +struct deferred_split { + spinlock_t split_queue_lock; + struct list_head split_queue; + long unsigned int split_queue_len; +}; + +struct z_stream_s; + +typedef struct z_stream_s z_stream; + +typedef z_stream *z_streamp; + +struct static_tree_desc_s; + +typedef struct static_tree_desc_s static_tree_desc; + +struct tree_desc_s { + ct_data *dyn_tree; + int max_code; + static_tree_desc *stat_desc; +}; + +struct deflate_state { + z_streamp strm; + int status; + Byte *pending_buf; + ulg pending_buf_size; + Byte *pending_out; + int pending; + int noheader; + Byte data_type; + Byte method; + int last_flush; + uInt w_size; + uInt w_bits; + uInt w_mask; + Byte *window; + ulg window_size; + Pos *prev; + Pos *head; + uInt ins_h; + uInt hash_size; + uInt hash_bits; + uInt hash_mask; + uInt hash_shift; + long int block_start; + uInt match_length; + IPos prev_match; + int match_available; + uInt strstart; + uInt match_start; + uInt lookahead; + uInt prev_length; + uInt max_chain_length; + uInt max_lazy_match; + int level; + int strategy; + uInt good_match; + int nice_match; + struct ct_data_s dyn_ltree[573]; + struct ct_data_s dyn_dtree[61]; + struct ct_data_s bl_tree[39]; + struct tree_desc_s l_desc; + struct tree_desc_s d_desc; + struct tree_desc_s bl_desc; + ush bl_count[16]; + int heap[573]; + int heap_len; + int heap_max; + uch depth[573]; + uch *l_buf; + uInt lit_bufsize; + uInt last_lit; + ush *d_buf; + ulg opt_len; + ulg static_len; + ulg compressed_len; + uInt matches; + int last_eob_len; + ush bi_buf; + int bi_valid; +}; + +struct internal_state; + +struct z_stream_s { + const Byte *next_in; + uLong avail_in; + uLong total_in; + Byte *next_out; + uLong avail_out; + uLong total_out; + char *msg; + struct internal_state *state; + void *workspace; + int data_type; + uLong adler; + uLong reserved; +}; + +struct deflate_stream { + struct z_stream_s stream; + u8 workspace[0]; +}; + +struct deflate_workspace { + deflate_state deflate_memory; + Byte *window_memory; + Pos *prev_memory; + Pos *head_memory; + char *overlay_memory; +}; + +typedef struct deflate_workspace deflate_workspace; + +struct delayed_call { + void (*fn)(void *); + void *arg; +}; + +struct delayed_uprobe { + struct list_head list; + struct uprobe *uprobe; + struct mm_struct *mm; +}; + +struct demotion_nodes { + nodemask_t preferred; +}; + +struct hlist_bl_node { + struct hlist_bl_node *next; + struct hlist_bl_node **pprev; +}; + +struct qstr { + union { + struct { + u32 hash; + u32 len; + }; + u64 hash_len; + }; + const unsigned char *name; +}; + +union shortname_store { + unsigned char string[40]; + long unsigned int words[5]; +}; + +struct lockref { + union { + __u64 lock_count; + struct { + spinlock_t lock; + int count; + }; + }; +}; + +struct dentry_operations; + +struct dentry { + unsigned int d_flags; + seqcount_spinlock_t d_seq; + struct hlist_bl_node d_hash; + struct dentry *d_parent; + struct qstr d_name; + struct inode *d_inode; + union shortname_store d_shortname; + const struct dentry_operations *d_op; + struct super_block *d_sb; + long unsigned int d_time; + void *d_fsdata; + struct lockref d_lockref; + union { + struct list_head d_lru; + wait_queue_head_t *d_wait; + }; + struct hlist_node d_sib; + struct hlist_head d_children; + union { + struct hlist_node d_alias; + struct hlist_bl_node d_in_lookup_hash; + struct callback_head d_rcu; + } d_u; +}; + +struct dentry__safe_trusted_or_null { + struct inode *d_inode; +}; + +struct dentry_info_args { + int parent_ino; + int dname_len; + int ino; + int inode_len; + char *dname; +}; + +struct dentry_operations { + int (*d_revalidate)(struct inode *, const struct qstr *, struct dentry *, unsigned int); + int (*d_weak_revalidate)(struct dentry *, unsigned int); + int (*d_hash)(const struct dentry *, struct qstr *); + int (*d_compare)(const struct dentry *, unsigned int, const char *, const struct qstr *); + int (*d_delete)(const struct dentry *); + int (*d_init)(struct dentry *); + void (*d_release)(struct dentry *); + void (*d_prune)(struct dentry *); + void (*d_iput)(struct dentry *, struct inode *); + char * (*d_dname)(struct dentry *, char *, int); + struct vfsmount * (*d_automount)(struct path *); + int (*d_manage)(const struct path *, bool); + struct dentry * (*d_real)(struct dentry *, enum d_real_type); + bool (*d_unalias_trylock)(const struct dentry *); + void (*d_unalias_unlock)(const struct dentry *); + long: 64; +}; + +struct dentry_stat_t { + long int nr_dentry; + long int nr_unused; + long int age_limit; + long int want_pages; + long int nr_negative; + long int dummy; +}; + +struct desc_ptr { + short unsigned int size; + long unsigned int address; +} __attribute__((packed)); + +struct desc_struct { + u16 limit0; + u16 base0; + u16 base1: 8; + u16 type: 4; + u16 s: 1; + u16 dpl: 2; + u16 p: 1; + u16 limit1: 4; + u16 avl: 1; + u16 l: 1; + u16 d: 1; + u16 g: 1; + u16 base2: 8; +}; + +struct slab; + +struct detached_freelist { + struct slab *slab; + void *tail; + void *freelist; + int cnt; + struct kmem_cache *s; +}; + +struct detailed_data_monitor_range { + u8 min_vfreq; + u8 max_vfreq; + u8 min_hfreq_khz; + u8 max_hfreq_khz; + u8 pixel_clock_mhz; + u8 flags; + union { + struct { + u8 reserved; + u8 hfreq_start_khz; + u8 c; + __le16 m; + u8 k; + u8 j; + } __attribute__((packed)) gtf2; + struct { + u8 version; + u8 data1; + u8 data2; + u8 supported_aspects; + u8 flags; + u8 supported_scalings; + u8 preferred_refresh; + } cvt; + } formula; +}; + +struct detailed_data_string { + u8 str[13]; +}; + +struct detailed_data_wpindex { + u8 white_yx_lo; + u8 white_x_hi; + u8 white_y_hi; + u8 gamma; +}; + +struct detailed_mode_closure { + struct drm_connector *connector; + const struct drm_edid *drm_edid; + bool preferred; + int modes; +}; + +struct std_timing { + u8 hsize; + u8 vfreq_aspect; +}; + +struct detailed_non_pixel { + u8 pad1; + u8 type; + u8 pad2; + union { + struct detailed_data_string str; + struct detailed_data_monitor_range range; + struct detailed_data_wpindex color; + struct std_timing timings[6]; + struct cvt_timing cvt[4]; + } data; +}; + +struct detailed_pixel_timing { + u8 hactive_lo; + u8 hblank_lo; + u8 hactive_hblank_hi; + u8 vactive_lo; + u8 vblank_lo; + u8 vactive_vblank_hi; + u8 hsync_offset_lo; + u8 hsync_pulse_width_lo; + u8 vsync_offset_pulse_width_lo; + u8 hsync_vsync_offset_pulse_width_hi; + u8 width_mm_lo; + u8 height_mm_lo; + u8 width_height_mm_hi; + u8 hborder; + u8 vborder; + u8 misc; +}; + +struct detailed_timing { + __le16 pixel_clock; + union { + struct detailed_pixel_timing pixel_data; + struct detailed_non_pixel other_data; + } data; +}; + +struct detected_devices_node { + struct list_head list; + dev_t dev; +}; + +struct dev_cgroup { + struct cgroup_subsys_state css; + struct list_head exceptions; + enum devcg_behavior behavior; +}; + +struct dev_dax_range; + +struct dev_dax { + struct dax_region *region; + struct dax_device *dax_dev; + unsigned int align; + int target_node; + bool dyn_id; + int id; + struct ida ida; + struct device dev; + struct dev_pagemap *pgmap; + bool memmap_on_memory; + int nr_range; + struct dev_dax_range *ranges; +}; + +struct dev_dax_data { + struct dax_region *dax_region; + struct dev_pagemap *pgmap; + resource_size_t size; + int id; + bool memmap_on_memory; +}; + +struct dev_dax_range { + long unsigned int pgoff; + struct range range; + struct dax_mapping *mapping; +}; + +struct dev_exception_item { + u32 major; + u32 minor; + short int type; + short int access; + struct list_head list; + struct callback_head rcu; +}; + +struct dev_ext_attribute { + struct device_attribute attr; + void *var; +}; + +struct efi_generic_dev_path { + u8 type; + u8 sub_type; + u16 length; +}; + +struct efi_acpi_dev_path { + struct efi_generic_dev_path header; + u32 hid; + u32 uid; +}; + +struct efi_pci_dev_path { + struct efi_generic_dev_path header; + u8 fn; + u8 dev; +}; + +struct efi_vendor_dev_path { + struct efi_generic_dev_path header; + efi_guid_t vendorguid; + u8 vendordata[0]; +}; + +struct efi_rel_offset_dev_path { + struct efi_generic_dev_path header; + u32 reserved; + u64 starting_offset; + u64 ending_offset; +}; + +struct efi_dev_path { + union { + struct efi_generic_dev_path header; + struct efi_acpi_dev_path acpi; + struct efi_pci_dev_path pci; + struct efi_vendor_dev_path vendor; + struct efi_rel_offset_dev_path rel_offset; + }; +}; + +struct dev_header { + u32 len; + u32 prop_count; + struct efi_dev_path path[0]; +}; + +struct dev_ifalias { + struct callback_head rcuhead; + char ifalias[0]; +}; + +struct iommu_fault_param; + +struct iommu_fwspec; + +struct dev_iommu { + struct mutex lock; + struct iommu_fault_param *fault_param; + struct iommu_fwspec *fwspec; + struct iommu_device *iommu_dev; + void *priv; + u32 max_pasids; + u32 attach_deferred: 1; + u32 pci_32bit_workaround: 1; + u32 require_direct: 1; + u32 shadow_on_flush: 1; +}; + +struct dev_kfree_skb_cb { + enum skb_drop_reason reason; +}; + +struct vmem_altmap { + long unsigned int base_pfn; + const long unsigned int end_pfn; + const long unsigned int reserve; + long unsigned int free; + long unsigned int align; + long unsigned int alloc; + bool inaccessible; +}; + +struct dev_pagemap_ops; + +struct dev_pagemap { + struct vmem_altmap altmap; + struct percpu_ref ref; + struct completion done; + enum memory_type type; + unsigned int flags; + long unsigned int vmemmap_shift; + const struct dev_pagemap_ops *ops; + void *owner; + int nr_range; + union { + struct range range; + struct { + struct {} __empty_ranges; + struct range ranges[0]; + }; + }; +}; + +struct vm_fault; + +struct dev_pagemap_ops { + void (*page_free)(struct page *); + vm_fault_t (*migrate_to_ram)(struct vm_fault *); + int (*memory_failure)(struct dev_pagemap *, long unsigned int, long unsigned int, int); +}; + +struct dev_pasid_info { + struct list_head link_domain; + struct device *dev; + ioasid_t pasid; +}; + +struct pinctrl; + +struct pinctrl_state; + +struct dev_pin_info { + struct pinctrl *p; + struct pinctrl_state *default_state; + struct pinctrl_state *init_state; + struct pinctrl_state *sleep_state; + struct pinctrl_state *idle_state; +}; + +struct dev_pm_ops { + int (*prepare)(struct device *); + void (*complete)(struct device *); + int (*suspend)(struct device *); + int (*resume)(struct device *); + int (*freeze)(struct device *); + int (*thaw)(struct device *); + int (*poweroff)(struct device *); + int (*restore)(struct device *); + int (*suspend_late)(struct device *); + int (*resume_early)(struct device *); + int (*freeze_late)(struct device *); + int (*thaw_early)(struct device *); + int (*poweroff_late)(struct device *); + int (*restore_early)(struct device *); + int (*suspend_noirq)(struct device *); + int (*resume_noirq)(struct device *); + int (*freeze_noirq)(struct device *); + int (*thaw_noirq)(struct device *); + int (*poweroff_noirq)(struct device *); + int (*restore_noirq)(struct device *); + int (*runtime_suspend)(struct device *); + int (*runtime_resume)(struct device *); + int (*runtime_idle)(struct device *); +}; + +struct dev_pm_domain { + struct dev_pm_ops ops; + int (*start)(struct device *); + void (*detach)(struct device *, bool); + int (*activate)(struct device *); + void (*sync)(struct device *); + void (*dismiss)(struct device *); + int (*set_performance_state)(struct device *, unsigned int); +}; + +struct dev_pm_domain_attach_data { + const char * const *pd_names; + const u32 num_pd_names; + const u32 pd_flags; +}; + +struct device_link; + +struct dev_pm_domain_list { + struct device **pd_devs; + struct device_link **pd_links; + u32 *opp_tokens; + u32 num_pds; +}; + +struct dev_pm_opp_supply; + +struct dev_pm_opp_icc_bw; + +struct opp_table; + +struct dev_pm_opp { + struct list_head node; + struct kref kref; + bool available; + bool dynamic; + bool turbo; + bool suspend; + bool removed; + long unsigned int *rates; + unsigned int level; + struct dev_pm_opp_supply *supplies; + struct dev_pm_opp_icc_bw *bandwidth; + long unsigned int clock_latency_ns; + struct dev_pm_opp **required_opps; + struct opp_table *opp_table; + struct device_node *np; + struct dentry *dentry; + const char *of_name; +}; + +typedef int (*config_clks_t)(struct device *, struct opp_table *, struct dev_pm_opp *, void *, bool); + +typedef int (*config_regulators_t)(struct device *, struct dev_pm_opp *, struct dev_pm_opp *, struct regulator **, unsigned int); + +struct dev_pm_opp_config { + const char * const *clk_names; + config_clks_t config_clks; + const char *prop_name; + config_regulators_t config_regulators; + const unsigned int *supported_hw; + unsigned int supported_hw_count; + const char * const *regulator_names; + struct device *required_dev; + unsigned int required_dev_index; +}; + +struct dev_pm_opp_data { + bool turbo; + unsigned int level; + long unsigned int freq; + long unsigned int u_volt; +}; + +struct dev_pm_opp_icc_bw { + u32 avg; + u32 peak; +}; + +struct dev_pm_opp_supply { + long unsigned int u_volt; + long unsigned int u_volt_min; + long unsigned int u_volt_max; + long unsigned int u_amp; + long unsigned int u_watt; +}; + +struct pm_qos_flags { + struct list_head list; + s32 effective_flags; +}; + +struct dev_pm_qos_request; + +struct dev_pm_qos { + struct pm_qos_constraints resume_latency; + struct pm_qos_constraints latency_tolerance; + struct freq_constraints freq; + struct pm_qos_flags flags; + struct dev_pm_qos_request *resume_latency_req; + struct dev_pm_qos_request *latency_tolerance_req; + struct dev_pm_qos_request *flags_req; +}; + +struct pm_qos_flags_request { + struct list_head node; + s32 flags; +}; + +struct dev_pm_qos_request { + enum dev_pm_qos_req_type type; + union { + struct plist_node pnode; + struct pm_qos_flags_request flr; + struct freq_qos_request freq; + } data; + struct device *dev; +}; + +struct dev_power_governor { + bool (*power_down_ok)(struct dev_pm_domain *); + bool (*suspend_ok)(struct device *); +}; + +struct dev_printk_info { + char subsystem[16]; + char device[48]; +}; + +struct dev_table_entry { + union { + u64 data[4]; + u128 data128[2]; + }; +}; + +struct devcd_entry { + struct device devcd_dev; + void *data; + size_t datalen; + struct mutex mutex; + bool init_completed; + bool deleted; + struct module *owner; + ssize_t (*read)(char *, loff_t, size_t, void *, size_t); + void (*free)(void *); + struct delayed_work del_wk; + struct device *failing_dev; +}; + +struct devfreq_dev_status { + long unsigned int total_time; + long unsigned int busy_time; + long unsigned int current_frequency; + void *private_data; +}; + +struct devfreq_stats { + unsigned int total_trans; + unsigned int *trans_table; + u64 *time_in_state; + u64 last_update; +}; + +struct devfreq_dev_profile; + +struct devfreq_governor; + +struct devfreq { + struct list_head node; + struct mutex lock; + struct device dev; + struct devfreq_dev_profile *profile; + const struct devfreq_governor *governor; + struct opp_table *opp_table; + struct notifier_block nb; + struct delayed_work work; + long unsigned int *freq_table; + unsigned int max_state; + long unsigned int previous_freq; + struct devfreq_dev_status last_status; + void *data; + void *governor_data; + struct dev_pm_qos_request user_min_freq_req; + struct dev_pm_qos_request user_max_freq_req; + long unsigned int scaling_min_freq; + long unsigned int scaling_max_freq; + bool stop_polling; + long unsigned int suspend_freq; + long unsigned int resume_freq; + atomic_t suspend_count; + struct devfreq_stats stats; + struct srcu_notifier_head transition_notifier_list; + struct thermal_cooling_device *cdev; + struct notifier_block nb_min; + struct notifier_block nb_max; +}; + +struct thermal_cooling_device_ops { + int (*get_max_state)(struct thermal_cooling_device *, long unsigned int *); + int (*get_cur_state)(struct thermal_cooling_device *, long unsigned int *); + int (*set_cur_state)(struct thermal_cooling_device *, long unsigned int); + int (*get_requested_power)(struct thermal_cooling_device *, u32 *); + int (*state2power)(struct thermal_cooling_device *, long unsigned int, u32 *); + int (*power2state)(struct thermal_cooling_device *, u32, long unsigned int *); +}; + +struct devfreq_cooling_power; + +struct devfreq_cooling_device { + struct thermal_cooling_device *cdev; + struct thermal_cooling_device_ops cooling_ops; + struct devfreq *devfreq; + long unsigned int cooling_state; + u32 *freq_table; + size_t max_state; + struct devfreq_cooling_power *power_ops; + u32 res_util; + int capped_state; + struct dev_pm_qos_request req_max_freq; + struct em_perf_domain *em_pd; +}; + +struct devfreq_cooling_power { + int (*get_real_power)(struct devfreq *, u32 *, long unsigned int, long unsigned int); +}; + +struct devfreq_cpu_data { + struct list_head node; + struct device *dev; + unsigned int first_cpu; + struct opp_table *opp_table; + unsigned int cur_freq; + unsigned int min_freq; + unsigned int max_freq; +}; + +struct devfreq_dev_profile { + long unsigned int initial_freq; + unsigned int polling_ms; + enum devfreq_timer timer; + int (*target)(struct device *, long unsigned int *, u32); + int (*get_dev_status)(struct device *, struct devfreq_dev_status *); + int (*get_cur_freq)(struct device *, long unsigned int *); + void (*exit)(struct device *); + long unsigned int *freq_table; + unsigned int max_state; + bool is_cooling_device; + const struct attribute_group **dev_groups; +}; + +struct devfreq_event_data { + long unsigned int load_count; + long unsigned int total_count; +}; + +struct devfreq_event_ops; + +struct devfreq_event_desc { + const char *name; + u32 event_type; + void *driver_data; + const struct devfreq_event_ops *ops; +}; + +struct devfreq_event_dev { + struct list_head node; + struct device dev; + struct mutex lock; + u32 enable_count; + const struct devfreq_event_desc *desc; +}; + +struct devfreq_event_ops { + int (*enable)(struct devfreq_event_dev *); + int (*disable)(struct devfreq_event_dev *); + int (*reset)(struct devfreq_event_dev *); + int (*set_event)(struct devfreq_event_dev *); + int (*get_event)(struct devfreq_event_dev *, struct devfreq_event_data *); +}; + +struct devfreq_freqs { + long unsigned int old; + long unsigned int new; +}; + +struct devfreq_governor { + struct list_head node; + const char name[16]; + const u64 attrs; + const u64 flags; + int (*get_target_freq)(struct devfreq *, long unsigned int *); + int (*event_handler)(struct devfreq *, unsigned int, void *); +}; + +struct devfreq_notifier_devres { + struct devfreq *devfreq; + struct notifier_block *nb; + unsigned int list; +}; + +struct devfreq_passive_data { + struct devfreq *parent; + int (*get_target_freq)(struct devfreq *, long unsigned int *); + enum devfreq_parent_dev_type parent_type; + struct devfreq *this; + struct notifier_block nb; + struct list_head cpu_data_list; +}; + +struct devfreq_simple_ondemand_data { + unsigned int upthreshold; + unsigned int downdifferential; +}; + +struct device_attach_data { + struct device *dev; + bool check_async; + bool want_async; + bool have_async; +}; + +union device_attr_group_devres { + const struct attribute_group *group; + const struct attribute_group **groups; +}; + +struct device_dma_parameters { + unsigned int max_segment_size; + unsigned int min_align_mask; + long unsigned int segment_boundary_mask; +}; + +struct dmar_domain; + +struct pasid_table; + +struct device_domain_info { + struct list_head link; + u32 segment; + u8 bus; + u8 devfn; + u16 pfsid; + u8 pasid_supported: 3; + u8 pasid_enabled: 1; + u8 pri_supported: 1; + u8 pri_enabled: 1; + u8 ats_supported: 1; + u8 ats_enabled: 1; + u8 dtlb_extra_inval: 1; + u8 domain_attached: 1; + u8 ats_qdep; + unsigned int iopf_refcount; + struct device *dev; + struct intel_iommu *iommu; + struct dmar_domain *domain; + struct pasid_table *pasid_table; + struct rb_node node; +}; + +struct device_link { + struct device *supplier; + struct list_head s_node; + struct device *consumer; + struct list_head c_node; + struct device link_dev; + enum device_link_state status; + u32 flags; + refcount_t rpm_active; + struct kref kref; + struct work_struct rm_work; + bool supplier_preactivated; +}; + +struct property; + +struct device_node { + const char *name; + phandle phandle; + const char *full_name; + struct fwnode_handle fwnode; + struct property *properties; + struct property *deadprops; + struct device_node *parent; + struct device_node *child; + struct device_node *sibling; + long unsigned int _flags; + void *data; +}; + +struct device_physical_location { + enum device_physical_location_panel panel; + enum device_physical_location_vertical_position vertical_position; + enum device_physical_location_horizontal_position horizontal_position; + bool dock; + bool lid; +}; + +struct klist_node { + void *n_klist; + struct list_head n_node; + struct kref n_ref; +}; + +struct device_private { + struct klist klist_children; + struct klist_node knode_parent; + struct klist_node knode_driver; + struct klist_node knode_bus; + struct klist_node knode_class; + struct list_head deferred_probe; + const struct device_driver *async_driver; + char *deferred_probe_reason; + struct device *device; + u8 dead: 1; +}; + +struct device_type { + const char *name; + const struct attribute_group **groups; + int (*uevent)(const struct device *, struct kobj_uevent_env *); + char * (*devnode)(const struct device *, umode_t *, kuid_t *, kgid_t *); + void (*release)(struct device *); + const struct dev_pm_ops *pm; +}; + +struct devid_map { + struct list_head list; + u8 id; + u32 devid; + bool cmd_line; +}; + +struct devinet_sysctl_table { + struct ctl_table_header *sysctl_header; + struct ctl_table devinet_vars[33]; +}; + +struct printk_buffers { + char outbuf[2048]; + char scratchbuf[1024]; +}; + +struct devkmsg_user { + atomic64_t seq; + struct ratelimit_state rs; + struct mutex lock; + struct printk_buffers pbufs; +}; + +struct devlink_dev_stats { + u32 reload_stats[6]; + u32 remote_reload_stats[6]; +}; + +struct devlink_dpipe_headers; + +struct devlink_ops; + +struct devlink_rel; + +struct devlink { + u32 index; + struct xarray ports; + struct list_head rate_list; + struct list_head sb_list; + struct list_head dpipe_table_list; + struct list_head resource_list; + struct xarray params; + struct list_head region_list; + struct list_head reporter_list; + struct devlink_dpipe_headers *dpipe_headers; + struct list_head trap_list; + struct list_head trap_group_list; + struct list_head trap_policer_list; + struct list_head linecard_list; + const struct devlink_ops *ops; + struct xarray snapshot_ids; + struct devlink_dev_stats stats; + struct device *dev; + possible_net_t _net; + struct mutex lock; + struct lock_class_key lock_key; + u8 reload_failed: 1; + refcount_t refcount; + struct rcu_work rwork; + struct devlink_rel *rel; + struct xarray nested_rels; + char priv[0]; +}; + +struct devlink_dpipe_header; + +struct devlink_dpipe_action { + enum devlink_dpipe_action_type type; + unsigned int header_index; + struct devlink_dpipe_header *header; + unsigned int field_id; +}; + +struct genl_info; + +struct devlink_dpipe_dump_ctx { + struct genl_info *info; + enum devlink_command cmd; + struct sk_buff *skb; + struct nlattr *nest; + void *hdr; +}; + +struct devlink_dpipe_value; + +struct devlink_dpipe_entry { + u64 index; + struct devlink_dpipe_value *match_values; + unsigned int match_values_count; + struct devlink_dpipe_value *action_values; + unsigned int action_values_count; + u64 counter; + bool counter_valid; +}; + +struct devlink_dpipe_field { + const char *name; + unsigned int id; + unsigned int bitwidth; + enum devlink_dpipe_field_mapping_type mapping_type; +}; + +struct devlink_dpipe_header { + const char *name; + unsigned int id; + struct devlink_dpipe_field *fields; + unsigned int fields_count; + bool global; +}; + +struct devlink_dpipe_headers { + struct devlink_dpipe_header **headers; + unsigned int headers_count; +}; + +struct devlink_dpipe_match { + enum devlink_dpipe_match_type type; + unsigned int header_index; + struct devlink_dpipe_header *header; + unsigned int field_id; +}; + +struct devlink_dpipe_table_ops; + +struct devlink_dpipe_table { + void *priv; + struct list_head list; + const char *name; + bool counters_enabled; + bool counter_control_extern; + bool resource_valid; + u64 resource_id; + u64 resource_units; + const struct devlink_dpipe_table_ops *table_ops; + struct callback_head rcu; +}; + +struct devlink_dpipe_table_ops { + int (*actions_dump)(void *, struct sk_buff *); + int (*matches_dump)(void *, struct sk_buff *); + int (*entries_dump)(void *, bool, struct devlink_dpipe_dump_ctx *); + int (*counters_set_update)(void *, bool); + u64 (*size_get)(void *); +}; + +struct devlink_dpipe_value { + union { + struct devlink_dpipe_action *action; + struct devlink_dpipe_match *match; + }; + unsigned int mapping_value; + bool mapping_valid; + unsigned int value_size; + void *value; + void *mask; +}; + +struct devlink_flash_component_lookup_ctx { + const char *lookup_name; + bool lookup_name_found; +}; + +struct devlink_flash_notify { + const char *status_msg; + const char *component; + long unsigned int done; + long unsigned int total; + long unsigned int timeout; +}; + +struct firmware; + +struct devlink_flash_update_params { + const struct firmware *fw; + const char *component; + u32 overwrite_mask; +}; + +struct devlink_fmsg { + struct list_head item_list; + int err; + bool putting_binary; +}; + +struct devlink_fmsg_item { + struct list_head list; + int attrtype; + u8 nla_type; + u16 len; + int value[0]; +}; + +struct devlink_health_reporter_ops; + +struct devlink_port; + +struct devlink_health_reporter { + struct list_head list; + void *priv; + const struct devlink_health_reporter_ops *ops; + struct devlink *devlink; + struct devlink_port *devlink_port; + struct devlink_fmsg *dump_fmsg; + u64 graceful_period; + bool auto_recover; + bool auto_dump; + u8 health_state; + u64 dump_ts; + u64 dump_real_ts; + u64 error_count; + u64 recovery_count; + u64 last_recovery_ts; +}; + +struct devlink_health_reporter_ops { + char *name; + int (*recover)(struct devlink_health_reporter *, void *, struct netlink_ext_ack *); + int (*dump)(struct devlink_health_reporter *, struct devlink_fmsg *, void *, struct netlink_ext_ack *); + int (*diagnose)(struct devlink_health_reporter *, struct devlink_fmsg *, struct netlink_ext_ack *); + int (*test)(struct devlink_health_reporter *, struct netlink_ext_ack *); +}; + +struct devlink_info_req { + struct sk_buff *msg; + void (*version_cb)(const char *, enum devlink_info_version_type, void *); + void *version_cb_priv; +}; + +struct devlink_linecard_ops; + +struct devlink_linecard_type; + +struct devlink_linecard { + struct list_head list; + struct devlink *devlink; + unsigned int index; + const struct devlink_linecard_ops *ops; + void *priv; + enum devlink_linecard_state state; + struct mutex state_lock; + const char *type; + struct devlink_linecard_type *types; + unsigned int types_count; + u32 rel_index; +}; + +struct devlink_linecard_ops { + int (*provision)(struct devlink_linecard *, void *, const char *, const void *, struct netlink_ext_ack *); + int (*unprovision)(struct devlink_linecard *, void *, struct netlink_ext_ack *); + bool (*same_provision)(struct devlink_linecard *, void *, const char *, const void *); + unsigned int (*types_count)(struct devlink_linecard *, void *); + void (*types_get)(struct devlink_linecard *, void *, unsigned int, const char **, const void **); +}; + +struct devlink_linecard_type { + const char *type; + const void *priv; +}; + +struct devlink_nl_dump_state { + long unsigned int instance; + int idx; + union { + struct { + u64 start_offset; + }; + struct { + u64 dump_ts; + }; + }; +}; + +struct devlink_obj_desc; + +struct devlink_nl_sock_priv { + struct devlink_obj_desc *flt; + spinlock_t flt_lock; +}; + +struct devlink_obj_desc { + struct callback_head rcu; + const char *bus_name; + const char *dev_name; + unsigned int port_index; + bool port_index_valid; + long int data[0]; +}; + +struct devlink_sb_pool_info; + +struct devlink_trap; + +struct devlink_trap_group; + +struct devlink_trap_policer; + +struct devlink_port_new_attrs; + +struct devlink_rate; + +struct devlink_ops { + u32 supported_flash_update_params; + long unsigned int reload_actions; + long unsigned int reload_limits; + int (*reload_down)(struct devlink *, bool, enum devlink_reload_action, enum devlink_reload_limit, struct netlink_ext_ack *); + int (*reload_up)(struct devlink *, enum devlink_reload_action, enum devlink_reload_limit, u32 *, struct netlink_ext_ack *); + int (*sb_pool_get)(struct devlink *, unsigned int, u16, struct devlink_sb_pool_info *); + int (*sb_pool_set)(struct devlink *, unsigned int, u16, u32, enum devlink_sb_threshold_type, struct netlink_ext_ack *); + int (*sb_port_pool_get)(struct devlink_port *, unsigned int, u16, u32 *); + int (*sb_port_pool_set)(struct devlink_port *, unsigned int, u16, u32, struct netlink_ext_ack *); + int (*sb_tc_pool_bind_get)(struct devlink_port *, unsigned int, u16, enum devlink_sb_pool_type, u16 *, u32 *); + int (*sb_tc_pool_bind_set)(struct devlink_port *, unsigned int, u16, enum devlink_sb_pool_type, u16, u32, struct netlink_ext_ack *); + int (*sb_occ_snapshot)(struct devlink *, unsigned int); + int (*sb_occ_max_clear)(struct devlink *, unsigned int); + int (*sb_occ_port_pool_get)(struct devlink_port *, unsigned int, u16, u32 *, u32 *); + int (*sb_occ_tc_port_bind_get)(struct devlink_port *, unsigned int, u16, enum devlink_sb_pool_type, u32 *, u32 *); + int (*eswitch_mode_get)(struct devlink *, u16 *); + int (*eswitch_mode_set)(struct devlink *, u16, struct netlink_ext_ack *); + int (*eswitch_inline_mode_get)(struct devlink *, u8 *); + int (*eswitch_inline_mode_set)(struct devlink *, u8, struct netlink_ext_ack *); + int (*eswitch_encap_mode_get)(struct devlink *, enum devlink_eswitch_encap_mode *); + int (*eswitch_encap_mode_set)(struct devlink *, enum devlink_eswitch_encap_mode, struct netlink_ext_ack *); + int (*info_get)(struct devlink *, struct devlink_info_req *, struct netlink_ext_ack *); + int (*flash_update)(struct devlink *, struct devlink_flash_update_params *, struct netlink_ext_ack *); + int (*trap_init)(struct devlink *, const struct devlink_trap *, void *); + void (*trap_fini)(struct devlink *, const struct devlink_trap *, void *); + int (*trap_action_set)(struct devlink *, const struct devlink_trap *, enum devlink_trap_action, struct netlink_ext_ack *); + int (*trap_group_init)(struct devlink *, const struct devlink_trap_group *); + int (*trap_group_set)(struct devlink *, const struct devlink_trap_group *, const struct devlink_trap_policer *, struct netlink_ext_ack *); + int (*trap_group_action_set)(struct devlink *, const struct devlink_trap_group *, enum devlink_trap_action, struct netlink_ext_ack *); + int (*trap_drop_counter_get)(struct devlink *, const struct devlink_trap *, u64 *); + int (*trap_policer_init)(struct devlink *, const struct devlink_trap_policer *); + void (*trap_policer_fini)(struct devlink *, const struct devlink_trap_policer *); + int (*trap_policer_set)(struct devlink *, const struct devlink_trap_policer *, u64, u64, struct netlink_ext_ack *); + int (*trap_policer_counter_get)(struct devlink *, const struct devlink_trap_policer *, u64 *); + int (*port_new)(struct devlink *, const struct devlink_port_new_attrs *, struct netlink_ext_ack *, struct devlink_port **); + int (*rate_leaf_tx_share_set)(struct devlink_rate *, void *, u64, struct netlink_ext_ack *); + int (*rate_leaf_tx_max_set)(struct devlink_rate *, void *, u64, struct netlink_ext_ack *); + int (*rate_leaf_tx_priority_set)(struct devlink_rate *, void *, u32, struct netlink_ext_ack *); + int (*rate_leaf_tx_weight_set)(struct devlink_rate *, void *, u32, struct netlink_ext_ack *); + int (*rate_leaf_tc_bw_set)(struct devlink_rate *, void *, u32 *, struct netlink_ext_ack *); + int (*rate_node_tx_share_set)(struct devlink_rate *, void *, u64, struct netlink_ext_ack *); + int (*rate_node_tx_max_set)(struct devlink_rate *, void *, u64, struct netlink_ext_ack *); + int (*rate_node_tx_priority_set)(struct devlink_rate *, void *, u32, struct netlink_ext_ack *); + int (*rate_node_tx_weight_set)(struct devlink_rate *, void *, u32, struct netlink_ext_ack *); + int (*rate_node_tc_bw_set)(struct devlink_rate *, void *, u32 *, struct netlink_ext_ack *); + int (*rate_node_new)(struct devlink_rate *, void **, struct netlink_ext_ack *); + int (*rate_node_del)(struct devlink_rate *, void *, struct netlink_ext_ack *); + int (*rate_leaf_parent_set)(struct devlink_rate *, struct devlink_rate *, void *, void *, struct netlink_ext_ack *); + int (*rate_node_parent_set)(struct devlink_rate *, struct devlink_rate *, void *, void *, struct netlink_ext_ack *); + bool (*selftest_check)(struct devlink *, unsigned int, struct netlink_ext_ack *); + enum devlink_selftest_status (*selftest_run)(struct devlink *, unsigned int, struct netlink_ext_ack *); +}; + +struct devlink_param_gset_ctx; + +union devlink_param_value; + +struct devlink_param { + u32 id; + const char *name; + bool generic; + enum devlink_param_type type; + long unsigned int supported_cmodes; + int (*get)(struct devlink *, u32, struct devlink_param_gset_ctx *); + int (*set)(struct devlink *, u32, struct devlink_param_gset_ctx *, struct netlink_ext_ack *); + int (*validate)(struct devlink *, u32, union devlink_param_value, struct netlink_ext_ack *); +}; + +union devlink_param_value { + u8 vu8; + u16 vu16; + u32 vu32; + u64 vu64; + char vstr[32]; + bool vbool; +}; + +struct devlink_param_gset_ctx { + union devlink_param_value val; + enum devlink_param_cmode cmode; +}; + +struct devlink_param_item { + struct list_head list; + const struct devlink_param *param; + union devlink_param_value driverinit_value; + bool driverinit_value_valid; + union devlink_param_value driverinit_value_new; + bool driverinit_value_new_valid; +}; + +struct netdev_phys_item_id { + unsigned char id[32]; + unsigned char id_len; +}; + +struct devlink_port_phys_attrs { + u32 port_number; + u32 split_subport_number; +}; + +struct devlink_port_pci_pf_attrs { + u32 controller; + u16 pf; + u8 external: 1; +}; + +struct devlink_port_pci_vf_attrs { + u32 controller; + u16 pf; + u16 vf; + u8 external: 1; +}; + +struct devlink_port_pci_sf_attrs { + u32 controller; + u32 sf; + u16 pf; + u8 external: 1; +}; + +struct devlink_port_attrs { + u8 split: 1; + u8 splittable: 1; + u8 no_phys_port_name: 1; + u32 lanes; + enum devlink_port_flavour flavour; + struct netdev_phys_item_id switch_id; + union { + struct devlink_port_phys_attrs phys; + struct devlink_port_pci_pf_attrs pci_pf; + struct devlink_port_pci_vf_attrs pci_vf; + struct devlink_port_pci_sf_attrs pci_sf; + }; +}; + +struct devlink_port_ops; + +struct ib_device; + +struct devlink_port { + struct list_head list; + struct list_head region_list; + struct devlink *devlink; + const struct devlink_port_ops *ops; + unsigned int index; + spinlock_t type_lock; + enum devlink_port_type type; + enum devlink_port_type desired_type; + union { + struct { + struct net_device *netdev; + int ifindex; + char ifname[16]; + } type_eth; + struct { + struct ib_device *ibdev; + } type_ib; + }; + struct devlink_port_attrs attrs; + u8 attrs_set: 1; + u8 switch_port: 1; + u8 registered: 1; + u8 initialized: 1; + struct delayed_work type_warn_dw; + struct list_head reporter_list; + struct devlink_rate *devlink_rate; + struct devlink_linecard *linecard; + u32 rel_index; +}; + +struct devlink_port_new_attrs { + enum devlink_port_flavour flavour; + unsigned int port_index; + u32 controller; + u32 sfnum; + u16 pfnum; + u8 port_index_valid: 1; + u8 controller_valid: 1; + u8 sfnum_valid: 1; +}; + +struct devlink_port_ops { + int (*port_split)(struct devlink *, struct devlink_port *, unsigned int, struct netlink_ext_ack *); + int (*port_unsplit)(struct devlink *, struct devlink_port *, struct netlink_ext_ack *); + int (*port_type_set)(struct devlink_port *, enum devlink_port_type); + int (*port_del)(struct devlink *, struct devlink_port *, struct netlink_ext_ack *); + int (*port_fn_hw_addr_get)(struct devlink_port *, u8 *, int *, struct netlink_ext_ack *); + int (*port_fn_hw_addr_set)(struct devlink_port *, const u8 *, int, struct netlink_ext_ack *); + int (*port_fn_roce_get)(struct devlink_port *, bool *, struct netlink_ext_ack *); + int (*port_fn_roce_set)(struct devlink_port *, bool, struct netlink_ext_ack *); + int (*port_fn_migratable_get)(struct devlink_port *, bool *, struct netlink_ext_ack *); + int (*port_fn_migratable_set)(struct devlink_port *, bool, struct netlink_ext_ack *); + int (*port_fn_state_get)(struct devlink_port *, enum devlink_port_fn_state *, enum devlink_port_fn_opstate *, struct netlink_ext_ack *); + int (*port_fn_state_set)(struct devlink_port *, enum devlink_port_fn_state, struct netlink_ext_ack *); + int (*port_fn_ipsec_crypto_get)(struct devlink_port *, bool *, struct netlink_ext_ack *); + int (*port_fn_ipsec_crypto_set)(struct devlink_port *, bool, struct netlink_ext_ack *); + int (*port_fn_ipsec_packet_get)(struct devlink_port *, bool *, struct netlink_ext_ack *); + int (*port_fn_ipsec_packet_set)(struct devlink_port *, bool, struct netlink_ext_ack *); + int (*port_fn_max_io_eqs_get)(struct devlink_port *, u32 *, struct netlink_ext_ack *); + int (*port_fn_max_io_eqs_set)(struct devlink_port *, u32, struct netlink_ext_ack *); +}; + +struct devlink_port_region_ops { + const char *name; + void (*destructor)(const void *); + int (*snapshot)(struct devlink_port *, const struct devlink_port_region_ops *, struct netlink_ext_ack *, u8 **); + int (*read)(struct devlink_port *, const struct devlink_port_region_ops *, struct netlink_ext_ack *, u64, u32, u8 *); + void *priv; +}; + +struct devlink_rate { + struct list_head list; + enum devlink_rate_type type; + struct devlink *devlink; + void *priv; + u64 tx_share; + u64 tx_max; + struct devlink_rate *parent; + union { + struct devlink_port *devlink_port; + struct { + char *name; + refcount_t refcnt; + }; + }; + u32 tx_priority; + u32 tx_weight; + u32 tc_bw[8]; +}; + +struct devlink_region_ops; + +struct devlink_region { + struct devlink *devlink; + struct devlink_port *port; + struct list_head list; + union { + const struct devlink_region_ops *ops; + const struct devlink_port_region_ops *port_ops; + }; + struct mutex snapshot_lock; + struct list_head snapshot_list; + u32 max_snapshots; + u32 cur_snapshots; + u64 size; +}; + +struct devlink_region_ops { + const char *name; + void (*destructor)(const void *); + int (*snapshot)(struct devlink *, const struct devlink_region_ops *, struct netlink_ext_ack *, u8 **); + int (*read)(struct devlink *, const struct devlink_region_ops *, struct netlink_ext_ack *, u64, u32, u8 *); + void *priv; +}; + +typedef void devlink_rel_notify_cb_t(struct devlink *, u32); + +typedef void devlink_rel_cleanup_cb_t(struct devlink *, u32, u32); + +struct devlink_rel { + u32 index; + refcount_t refcount; + u32 devlink_index; + struct { + u32 devlink_index; + u32 obj_index; + devlink_rel_notify_cb_t *notify_cb; + devlink_rel_cleanup_cb_t *cleanup_cb; + struct delayed_work notify_work; + } nested_in; +}; + +struct devlink_reload_combination { + enum devlink_reload_action action; + enum devlink_reload_limit limit; +}; + +struct devlink_resource_size_params { + u64 size_min; + u64 size_max; + u64 size_granularity; + enum devlink_resource_unit unit; +}; + +typedef u64 devlink_resource_occ_get_t(void *); + +struct devlink_resource { + const char *name; + u64 id; + u64 size; + u64 size_new; + bool size_valid; + struct devlink_resource *parent; + struct devlink_resource_size_params size_params; + struct list_head list; + struct list_head resource_list; + devlink_resource_occ_get_t *occ_get; + void *occ_get_priv; +}; + +struct devlink_sb { + struct list_head list; + unsigned int index; + u32 size; + u16 ingress_pools_count; + u16 egress_pools_count; + u16 ingress_tc_count; + u16 egress_tc_count; +}; + +struct devlink_sb_pool_info { + enum devlink_sb_pool_type pool_type; + u32 size; + enum devlink_sb_threshold_type threshold_type; + u32 cell_size; +}; + +struct devlink_snapshot { + struct list_head list; + struct devlink_region *region; + u8 *data; + u32 id; +}; + +struct devlink_stats { + u64_stats_t rx_bytes; + u64_stats_t rx_packets; + struct u64_stats_sync syncp; +}; + +struct devlink_trap { + enum devlink_trap_type type; + enum devlink_trap_action init_action; + bool generic; + u16 id; + const char *name; + u16 init_group_id; + u32 metadata_cap; +}; + +struct devlink_trap_group { + const char *name; + u16 id; + bool generic; + u32 init_policer_id; +}; + +struct devlink_trap_policer_item; + +struct devlink_trap_group_item { + const struct devlink_trap_group *group; + struct devlink_trap_policer_item *policer_item; + struct list_head list; + struct devlink_stats *stats; +}; + +struct devlink_trap_item { + const struct devlink_trap *trap; + struct devlink_trap_group_item *group_item; + struct list_head list; + enum devlink_trap_action action; + struct devlink_stats *stats; + void *priv; +}; + +struct flow_action_cookie; + +struct devlink_trap_metadata { + const char *trap_name; + const char *trap_group_name; + struct net_device *input_dev; + netdevice_tracker dev_tracker; + const struct flow_action_cookie *fa_cookie; + enum devlink_trap_type trap_type; +}; + +struct devlink_trap_policer { + u32 id; + u64 init_rate; + u64 init_burst; + u64 max_rate; + u64 min_rate; + u64 max_burst; + u64 min_burst; +}; + +struct devlink_trap_policer_item { + const struct devlink_trap_policer *policer; + u64 rate; + u64 burst; + struct list_head list; +}; + +struct devm_clk_state { + struct clk *clk; + void (*exit)(struct clk *); +}; + +typedef void (*dr_release_t)(struct device *, void *); + +struct devres_node { + struct list_head entry; + dr_release_t release; + const char *name; + size_t size; +}; + +struct devres { + struct devres_node node; + u8 data[0]; +}; + +struct devres_group { + struct devres_node node[2]; + void *id; + int color; +}; + +struct dh { + const void *key; + const void *p; + const void *g; + unsigned int key_size; + unsigned int p_size; + unsigned int g_size; +}; + +struct gcry_mpi; + +typedef struct gcry_mpi *MPI; + +struct dh_ctx { + MPI p; + MPI g; + MPI xa; +}; + +struct dh_safe_prime { + unsigned int max_strength; + unsigned int p_size; + const char *p; +}; + +struct dh_safe_prime_instance_ctx { + struct crypto_kpp_spawn dh_spawn; + const struct dh_safe_prime *safe_prime; +}; + +struct dh_safe_prime_tfm_ctx { + struct crypto_kpp *dh_tfm; +}; + +struct dictionary { + uint8_t *buf; + size_t start; + size_t pos; + size_t full; + size_t limit; + size_t end; + uint32_t size; + uint32_t size_max; + uint32_t allocated; + enum xz_mode mode; +}; + +struct die_args { + struct pt_regs *regs; + const char *str; + long int err; + int trapnr; + int signr; +}; + +struct digest_info { + const char *alg; + const u8 *digest; + size_t digest_len; +}; + +struct dim_stats { + int ppms; + int bpms; + int epms; + int cpms; + int cpe_ratio; +}; + +struct dim_sample { + ktime_t time; + u32 pkt_ctr; + u32 byte_ctr; + u16 event_ctr; + u32 comp_ctr; +}; + +struct dim { + u8 state; + struct dim_stats prev_stats; + struct dim_sample start_sample; + struct dim_sample measuring_sample; + struct work_struct work; + void *priv; + u8 profile_ix; + u8 mode; + u8 tune_state; + u8 steps_right; + u8 steps_left; + u8 tired; +}; + +struct dim_cq_moder { + u16 usec; + u16 pkts; + u16 comps; + u8 cq_period_mode; + struct callback_head rcu; +}; + +struct dim_irq_moder { + u8 profile_flags; + u8 coal_flags; + u8 dim_rx_mode; + u8 dim_tx_mode; + struct dim_cq_moder *rx_profile; + struct dim_cq_moder *tx_profile; + void (*rx_dim_work)(struct work_struct *); + void (*tx_dim_work)(struct work_struct *); +}; + +struct dimm_info { + struct device dev; + char label[32]; + unsigned int location[3]; + struct mem_ctl_info *mci; + unsigned int idx; + u32 grain; + enum dev_type dtype; + enum mem_type mtype; + enum edac_type edac_mode; + u32 nr_pages; + unsigned int csrow; + unsigned int cschannel; + u16 smbios_handle; + u32 ce_count; + u32 ue_count; +}; + +typedef int dio_iodone_t(struct kiocb *, loff_t, ssize_t, void *); + +struct dio { + int flags; + blk_opf_t opf; + struct gendisk *bio_disk; + struct inode *inode; + loff_t i_size; + dio_iodone_t *end_io; + bool is_pinned; + void *private; + spinlock_t bio_lock; + int page_errors; + int is_async; + bool defer_completion; + bool should_dirty; + int io_error; + long unsigned int refcount; + struct bio *bio_list; + struct task_struct *waiter; + struct kiocb *iocb; + ssize_t result; + union { + struct page *pages[64]; + struct work_struct complete_work; + }; + long: 64; +}; + +typedef int get_block_t(struct inode *, sector_t, struct buffer_head *, int); + +struct dio_submit { + struct bio *bio; + unsigned int blkbits; + unsigned int blkfactor; + unsigned int start_zero_done; + int pages_in_io; + sector_t block_in_file; + unsigned int blocks_available; + int reap_counter; + sector_t final_block_in_request; + int boundary; + get_block_t *get_block; + loff_t logical_offset_in_bio; + sector_t final_block_in_bio; + sector_t next_block_for_io; + struct page *cur_page; + unsigned int cur_page_offset; + unsigned int cur_page_len; + sector_t cur_page_block; + loff_t cur_page_fs_offset; + struct iov_iter *iter; + unsigned int head; + unsigned int tail; + size_t from; + size_t to; +}; + +struct dir_entry { + struct list_head list; + time64_t mtime; + char name[0]; +}; + +struct fname; + +struct dir_private_info { + struct rb_root root; + struct rb_node *curr_node; + struct fname *extra_fname; + loff_t last_pos; + __u32 curr_hash; + __u32 curr_minor_hash; + __u32 next_hash; + u64 cookie; + bool initialized; +}; + +struct wb_domain; + +struct dirty_throttle_control { + struct wb_domain *dom; + struct dirty_throttle_control *gdtc; + struct bdi_writeback *wb; + struct fprop_local_percpu *wb_completions; + long unsigned int avail; + long unsigned int dirty; + long unsigned int thresh; + long unsigned int bg_thresh; + long unsigned int limit; + long unsigned int wb_dirty; + long unsigned int wb_thresh; + long unsigned int wb_bg_thresh; + long unsigned int pos_ratio; + bool freerun; + bool dirty_exceeded; +}; + +struct disk_comp_opts { + __le32 dictionary_size; + __le32 flags; +}; + +struct disk_events { + struct list_head node; + struct gendisk *disk; + spinlock_t lock; + struct mutex block_mutex; + int block; + unsigned int pending; + unsigned int clearing; + long int poll_msecs; + struct delayed_work dwork; +}; + +struct disk_report_zones_cb_args { + struct gendisk *disk; + report_zones_cb user_cb; + void *user_data; +}; + +struct disk_stats { + u64 nsecs[4]; + long unsigned int sectors[4]; + long unsigned int ios[4]; + long unsigned int merges[4]; + long unsigned int io_ticks; + local_t in_flight[2]; +}; + +struct disklabel { + __le32 d_magic; + __le16 d_type; + __le16 d_subtype; + u8 d_typename[16]; + u8 d_packname[16]; + __le32 d_secsize; + __le32 d_nsectors; + __le32 d_ntracks; + __le32 d_ncylinders; + __le32 d_secpercyl; + __le32 d_secprtunit; + __le16 d_sparespertrack; + __le16 d_sparespercyl; + __le32 d_acylinders; + __le16 d_rpm; + __le16 d_interleave; + __le16 d_trackskew; + __le16 d_cylskew; + __le32 d_headswitch; + __le32 d_trkseek; + __le32 d_flags; + __le32 d_drivedata[5]; + __le32 d_spare[5]; + __le32 d_magic2; + __le16 d_checksum; + __le16 d_npartitions; + __le32 d_bbsize; + __le32 d_sbsize; + struct d_partition d_partitions[18]; +}; + +struct disklabel___2 { + u8 d_reserved[270]; + struct d_partition___2 d_partitions[2]; + u8 d_blank[208]; + __le16 d_magic; +} __attribute__((packed)); + +struct dispatch_rq_data { + struct blk_mq_hw_ctx *hctx; + struct request *rq; +}; + +struct timing_entry { + u32 min; + u32 typ; + u32 max; +}; + +struct display_timing { + struct timing_entry pixelclock; + struct timing_entry hactive; + struct timing_entry hfront_porch; + struct timing_entry hback_porch; + struct timing_entry hsync_len; + struct timing_entry vactive; + struct timing_entry vfront_porch; + struct timing_entry vback_porch; + struct timing_entry vsync_len; + enum display_flags flags; +}; + +struct display_timings { + unsigned int num_timings; + unsigned int native_mode; + struct display_timing **timings; +}; + +struct displayid_block { + u8 tag; + u8 rev; + u8 num_bytes; +}; + +struct displayid_detailed_timings_1 { + u8 pixel_clock[3]; + u8 flags; + __le16 hactive; + __le16 hblank; + __le16 hsync; + __le16 hsw; + __le16 vactive; + __le16 vblank; + __le16 vsync; + __le16 vsw; +}; + +struct displayid_detailed_timing_block { + struct displayid_block base; + struct displayid_detailed_timings_1 timings[0]; +} __attribute__((packed)); + +struct displayid_formula_timings_9 { + u8 flags; + __le16 hactive; + __le16 vactive; + u8 vrefresh; +} __attribute__((packed)); + +struct displayid_formula_timing_block { + struct displayid_block base; + struct displayid_formula_timings_9 timings[0]; +}; + +struct displayid_header { + u8 rev; + u8 bytes; + u8 prod_id; + u8 ext_count; +}; + +struct drm_edid_ident { + u32 panel_id; + const char *name; +}; + +struct displayid_quirk { + const struct drm_edid_ident ident; + u8 quirks; +}; + +struct displayid_tiled_block { + struct displayid_block base; + u8 tile_cap; + u8 topo[3]; + u8 tile_size[4]; + u8 tile_pixel_bezel[5]; + u8 topology_id[8]; +}; + +struct displayid_vesa_vendor_specific_block { + struct displayid_block base; + u8 oui[3]; + u8 data_structure_type; + u8 mso; +}; + +struct volumeid { + u8 vid_unused[248]; + u8 vid_mac[8]; +}; + +struct dkconfig { + u8 ios_unused0[128]; + __be32 ios_slcblk; + __be16 ios_slccnt; + u8 ios_unused1[122]; +}; + +struct dkblk0 { + struct volumeid dk_vid; + struct dkconfig dk_ios; +}; + +struct dl_bw { + raw_spinlock_t lock; + u64 bw; + u64 total_bw; +}; + +struct dl_rq { + struct rb_root_cached root; + unsigned int dl_nr_running; + struct { + u64 curr; + u64 next; + } earliest_dl; + bool overloaded; + struct rb_root_cached pushable_dl_tasks_root; + u64 running_bw; + u64 this_bw; + u64 extra_bw; + u64 max_bw; + u64 bw_ratio; +}; + +struct dm_arg { + unsigned int min; + unsigned int max; + char *error; +}; + +struct dm_arg_set { + unsigned int argc; + char **argv; +}; + +struct dm_blkdev_id { + u8 *id; + enum blk_unique_id type; +}; + +struct dm_crypt_key { + unsigned int key_size; + char key_desc[128]; + u8 data[256]; +}; + +struct mapped_device; + +struct dm_crypto_profile { + struct blk_crypto_profile profile; + struct mapped_device *md; +}; + +struct dm_dev { + struct block_device *bdev; + struct file *bdev_file; + struct dax_device *dax_dev; + blk_mode_t mode; + char name[16]; +}; + +struct dm_dev_internal { + struct list_head list; + refcount_t count; + struct dm_dev *dm_dev; +}; + +struct dm_ioctl { + __u32 version[3]; + __u32 data_size; + __u32 data_start; + __u32 target_count; + __s32 open_count; + __u32 flags; + __u32 event_nr; + __u32 padding; + __u64 dev; + char name[128]; + char uuid[129]; + char data[7]; +}; + +struct dm_target_spec; + +struct dm_device { + struct dm_ioctl dmi; + struct dm_target_spec *table[256]; + char *target_args_array[256]; + struct list_head list; +}; + +struct dm_device_zone_count { + sector_t start; + sector_t len; + unsigned int total_nr_seq_zones; + unsigned int target_nr_seq_zones; +}; + +struct dm_file { + volatile unsigned int global_event_nr; +}; + +struct dm_hw_stat_delta { + long unsigned int last_rx; + long unsigned int last_drop_val; + struct callback_head rcu; +}; + +struct dm_ima_device_table_metadata { + char *device_metadata; + unsigned int device_metadata_len; + unsigned int num_targets; + char *hash; + unsigned int hash_len; +}; + +struct dm_ima_measurements { + struct dm_ima_device_table_metadata active_table; + struct dm_ima_device_table_metadata inactive_table; + unsigned int dm_version_str_len; +}; + +struct dm_stats_aux { + bool merged; + long long unsigned int duration_ns; +}; + +struct dm_target; + +struct dm_target_io { + short unsigned int magic; + blk_short_t flags; + unsigned int target_bio_nr; + struct dm_io *io; + struct dm_target *ti; + unsigned int *len_ptr; + sector_t old_sector; + struct bio clone; +}; + +struct dm_io { + short unsigned int magic; + blk_short_t flags; + spinlock_t lock; + long unsigned int start_time; + void *data; + struct dm_io *next; + struct dm_stats_aux stats_aux; + blk_status_t status; + atomic_t io_count; + struct mapped_device *md; + struct bio *orig_bio; + unsigned int sector_offset; + unsigned int sectors; + struct dm_target_io tio; +}; + +struct dm_io_client { + mempool_t pool; + struct bio_set bios; +}; + +struct page_list; + +struct dm_io_memory { + enum dm_io_mem_type type; + unsigned int offset; + union { + struct page_list *pl; + struct bio *bio; + void *vma; + void *addr; + } ptr; +}; + +typedef void (*io_notify_fn)(long unsigned int, void *); + +struct dm_io_notify { + io_notify_fn fn; + void *context; +}; + +struct dm_io_region { + struct block_device *bdev; + sector_t sector; + sector_t count; +}; + +struct dm_io_request { + blk_opf_t bi_opf; + struct dm_io_memory mem; + struct dm_io_notify notify; + struct dm_io_client *client; +}; + +struct dm_kcopyd_throttle; + +struct dm_kcopyd_client { + struct page_list *pages; + unsigned int nr_reserved_pages; + unsigned int nr_free_pages; + unsigned int sub_job_size; + struct dm_io_client *io_client; + wait_queue_head_t destroyq; + mempool_t job_pool; + struct workqueue_struct *kcopyd_wq; + struct work_struct kcopyd_work; + struct dm_kcopyd_throttle *throttle; + atomic_t nr_jobs; + spinlock_t job_lock; + struct list_head callback_jobs; + struct list_head complete_jobs; + struct list_head io_jobs; + struct list_head pages_jobs; +}; + +struct dm_kcopyd_throttle { + unsigned int throttle; + unsigned int num_io_jobs; + unsigned int io_period; + unsigned int total_period; + unsigned int last_jiffies; +}; + +struct dm_kobject_holder { + struct kobject kobj; + struct completion completion; +}; + +struct dm_md_mempools { + struct bio_set bs; + struct bio_set io_bs; +}; + +struct dm_name_list { + __u64 dev; + __u32 next; + char name[0]; +}; + +struct pr_keys; + +struct pr_held_reservation; + +struct dm_pr { + u64 old_key; + u64 new_key; + u32 flags; + bool abort; + bool fail_early; + int ret; + enum pr_type type; + struct pr_keys *read_keys; + struct pr_held_reservation *rsv; +}; + +struct dm_report_zones_args { + struct dm_target *tgt; + sector_t next_sector; + void *orig_data; + report_zones_cb orig_cb; + unsigned int zone_idx; + sector_t start; +}; + +struct dm_rq_target_io; + +struct dm_rq_clone_bio_info { + struct bio *orig; + struct dm_rq_target_io *tio; + struct bio clone; +}; + +struct kthread_work; + +typedef void (*kthread_work_func_t)(struct kthread_work *); + +struct kthread_worker; + +struct kthread_work { + struct list_head node; + kthread_work_func_t func; + struct kthread_worker *worker; + int canceling; +}; + +union map_info { + void *ptr; +}; + +struct dm_rq_target_io { + struct mapped_device *md; + struct dm_target *ti; + struct request *orig; + struct request *clone; + struct kthread_work work; + blk_status_t error; + union map_info info; + struct dm_stats_aux stats_aux; + long unsigned int duration_jiffies; + unsigned int n_sectors; + unsigned int completed; +}; + +struct dm_stat_percpu { + long long unsigned int sectors[2]; + long long unsigned int ios[2]; + long long unsigned int merges[2]; + long long unsigned int ticks[2]; + long long unsigned int io_ticks[2]; + long long unsigned int io_ticks_total; + long long unsigned int time_in_queue; + long long unsigned int *histogram; +}; + +struct dm_stat_shared { + atomic_t in_flight[2]; + long long unsigned int stamp; + struct dm_stat_percpu tmp; +}; + +struct dm_stat { + struct list_head list_entry; + int id; + unsigned int stat_flags; + size_t n_entries; + sector_t start; + sector_t end; + sector_t step; + unsigned int n_histogram_entries; + long long unsigned int *histogram_boundaries; + const char *program_id; + const char *aux_data; + struct callback_head callback_head; + size_t shared_alloc_size; + size_t percpu_alloc_size; + size_t histogram_alloc_size; + struct dm_stat_percpu *stat_percpu[8192]; + struct dm_stat_shared stat_shared[0]; +}; + +struct dm_stats_last_position; + +struct dm_stats { + struct mutex mutex; + struct list_head list; + struct dm_stats_last_position *last; + bool precise_timestamps; +}; + +struct dm_stats_last_position { + sector_t last_sector; + unsigned int last_rw; +}; + +struct dm_sysfs_attr { + struct attribute attr; + ssize_t (*show)(struct mapped_device *, char *); + ssize_t (*store)(struct mapped_device *, const char *, size_t); +}; + +struct target_type; + +struct dm_table { + struct mapped_device *md; + enum dm_queue_mode type; + unsigned int depth; + unsigned int counts[16]; + sector_t *index[16]; + unsigned int num_targets; + unsigned int num_allocated; + sector_t *highs; + struct dm_target *targets; + struct target_type *immutable_target_type; + bool integrity_supported: 1; + bool singleton: 1; + bool flush_bypasses_map: 1; + blk_mode_t mode; + struct list_head devices; + struct rw_semaphore devices_lock; + void (*event_fn)(void *); + void *event_context; + struct dm_md_mempools *mempools; + struct blk_crypto_profile *crypto_profile; +}; + +struct dm_target { + struct dm_table *table; + struct target_type *type; + sector_t begin; + sector_t len; + uint32_t max_io_len; + unsigned int num_flush_bios; + unsigned int num_discard_bios; + unsigned int num_secure_erase_bios; + unsigned int num_write_zeroes_bios; + unsigned int per_io_data_size; + void *private; + char *error; + bool flush_supported: 1; + bool discards_supported: 1; + bool zone_reset_all_supported: 1; + bool max_discard_granularity: 1; + bool limit_swap_bios: 1; + bool emulate_zone_append: 1; + bool accounts_remapped_io: 1; + bool needs_bio_set_dev: 1; + bool flush_bypasses_map: 1; + bool mempool_needs_integrity: 1; +}; + +struct dm_target_deps { + __u32 count; + __u32 padding; + __u64 dev[0]; +}; + +struct dm_target_msg { + __u64 sector; + char message[0]; +}; + +struct dm_target_spec { + __u64 sector_start; + __u64 length; + __s32 status; + __u32 next; + char target_type[16]; +}; + +struct dm_target_versions { + __u32 next; + __u32 version[3]; + char name[0]; +}; + +struct kobj_uevent_env { + char *argv[3]; + char *envp[64]; + int envp_idx; + char buf[2048]; + int buflen; +}; + +struct dm_uevent { + struct mapped_device *md; + enum kobject_action action; + struct kobj_uevent_env ku_env; + struct list_head elist; + char name[128]; + char uuid[129]; +}; + +struct dm_verity_digest { + const char *alg; + const u8 *digest; + size_t digest_len; +}; + +struct dm_wrappedkey_op_args { + enum dm_wrappedkey_op op; + int err; + union { + struct { + const u8 *eph_key; + size_t eph_key_size; + u8 *sw_secret; + } derive_sw_secret; + struct { + const u8 *raw_key; + size_t raw_key_size; + u8 *lt_key; + } import_key; + struct { + u8 *lt_key; + } generate_key; + struct { + const u8 *lt_key; + size_t lt_key_size; + u8 *eph_key; + } prepare_key; + }; +}; + +struct queue_limits; + +struct dm_zone_resource_limits { + unsigned int mapped_nr_seq_zones; + struct queue_limits *lim; + bool reliable_limits; +}; + +typedef void (*dma_async_tx_callback)(void *); + +struct dmaengine_result; + +typedef void (*dma_async_tx_callback_result)(void *, const struct dmaengine_result *); + +struct dmaengine_unmap_data; + +struct dma_descriptor_metadata_ops; + +struct dma_async_tx_descriptor { + dma_cookie_t cookie; + enum dma_ctrl_flags flags; + dma_addr_t phys; + struct dma_chan *chan; + dma_cookie_t (*tx_submit)(struct dma_async_tx_descriptor *); + int (*desc_free)(struct dma_async_tx_descriptor *); + dma_async_tx_callback callback; + dma_async_tx_callback_result callback_result; + void *callback_param; + struct dmaengine_unmap_data *unmap; + enum dma_desc_metadata_mode desc_metadata_mode; + struct dma_descriptor_metadata_ops *metadata_ops; +}; + +struct dma_block { + struct dma_block *next_block; + dma_addr_t dma; +}; + +struct iosys_map { + union { + void *vaddr_iomem; + void *vaddr; + }; + bool is_iomem; +}; + +struct dma_buf_poll_cb_t { + struct dma_fence_cb cb; + wait_queue_head_t *poll; + __poll_t active; +}; + +struct dma_buf_ops; + +struct dma_resv; + +struct dma_buf { + size_t size; + struct file *file; + struct list_head attachments; + const struct dma_buf_ops *ops; + unsigned int vmapping_counter; + struct iosys_map vmap_ptr; + const char *exp_name; + const char *name; + spinlock_t name_lock; + struct module *owner; + struct list_head list_node; + void *priv; + struct dma_resv *resv; + wait_queue_head_t poll; + struct dma_buf_poll_cb_t cb_in; + struct dma_buf_poll_cb_t cb_out; +}; + +struct dma_buf_attachment; + +struct dma_buf_attach_ops { + bool allow_peer2peer; + void (*move_notify)(struct dma_buf_attachment *); +}; + +struct dma_buf_attachment { + struct dma_buf *dmabuf; + struct device *dev; + struct list_head node; + bool peer2peer; + const struct dma_buf_attach_ops *importer_ops; + void *importer_priv; + void *priv; +}; + +struct dma_buf_export_info { + const char *exp_name; + struct module *owner; + const struct dma_buf_ops *ops; + size_t size; + int flags; + struct dma_resv *resv; + void *priv; +}; + +struct dma_buf_export_sync_file { + __u32 flags; + __s32 fd; +}; + +struct dma_buf_import_sync_file { + __u32 flags; + __s32 fd; +}; + +struct sg_table; + +struct dma_buf_ops { + int (*attach)(struct dma_buf *, struct dma_buf_attachment *); + void (*detach)(struct dma_buf *, struct dma_buf_attachment *); + int (*pin)(struct dma_buf_attachment *); + void (*unpin)(struct dma_buf_attachment *); + struct sg_table * (*map_dma_buf)(struct dma_buf_attachment *, enum dma_data_direction); + void (*unmap_dma_buf)(struct dma_buf_attachment *, struct sg_table *, enum dma_data_direction); + void (*release)(struct dma_buf *); + int (*begin_cpu_access)(struct dma_buf *, enum dma_data_direction); + int (*end_cpu_access)(struct dma_buf *, enum dma_data_direction); + int (*mmap)(struct dma_buf *, struct vm_area_struct *); + int (*vmap)(struct dma_buf *, struct iosys_map *); + void (*vunmap)(struct dma_buf *, struct iosys_map *); +}; + +struct dma_buf_sync { + __u64 flags; +}; + +struct dma_chan___2 { + int lock; + const char *device_id; +}; + +struct dma_device; + +struct dma_chan_dev; + +struct dma_chan_percpu; + +struct dma_router; + +struct dma_chan { + struct dma_device *device; + struct device *slave; + dma_cookie_t cookie; + dma_cookie_t completed_cookie; + int chan_id; + struct dma_chan_dev *dev; + const char *name; + char *dbg_client_name; + struct list_head device_node; + struct dma_chan_percpu *local; + int client_count; + int table_count; + struct dma_router *router; + void *route_data; + void *private; +}; + +struct dma_chan_dev { + struct dma_chan *chan; + struct device device; + int dev_id; + bool chan_dma_dev; +}; + +struct dma_chan_percpu { + long unsigned int memcpy_count; + long unsigned int bytes_transferred; +}; + +struct dma_chan_tbl_ent { + struct dma_chan *chan; +}; + +struct dma_descriptor_metadata_ops { + int (*attach)(struct dma_async_tx_descriptor *, void *, size_t); + void * (*get_ptr)(struct dma_async_tx_descriptor *, size_t *, size_t *); + int (*set_len)(struct dma_async_tx_descriptor *, size_t); +}; + +struct dma_slave_map; + +struct dma_filter { + dma_filter_fn fn; + int mapcnt; + const struct dma_slave_map *map; +}; + +struct dma_vec; + +struct dma_interleaved_template; + +struct dma_slave_caps; + +struct dma_slave_config; + +struct dma_tx_state; + +struct dma_device { + struct kref ref; + unsigned int chancnt; + unsigned int privatecnt; + struct list_head channels; + struct list_head global_node; + struct dma_filter filter; + dma_cap_mask_t cap_mask; + enum dma_desc_metadata_mode desc_metadata_modes; + short unsigned int max_xor; + short unsigned int max_pq; + enum dmaengine_alignment copy_align; + enum dmaengine_alignment xor_align; + enum dmaengine_alignment pq_align; + enum dmaengine_alignment fill_align; + int dev_id; + struct device *dev; + struct module *owner; + struct ida chan_ida; + u32 src_addr_widths; + u32 dst_addr_widths; + u32 directions; + u32 min_burst; + u32 max_burst; + u32 max_sg_burst; + bool descriptor_reuse; + enum dma_residue_granularity residue_granularity; + int (*device_alloc_chan_resources)(struct dma_chan *); + int (*device_router_config)(struct dma_chan *); + void (*device_free_chan_resources)(struct dma_chan *); + struct dma_async_tx_descriptor * (*device_prep_dma_memcpy)(struct dma_chan *, dma_addr_t, dma_addr_t, size_t, long unsigned int); + struct dma_async_tx_descriptor * (*device_prep_dma_xor)(struct dma_chan *, dma_addr_t, dma_addr_t *, unsigned int, size_t, long unsigned int); + struct dma_async_tx_descriptor * (*device_prep_dma_xor_val)(struct dma_chan *, dma_addr_t *, unsigned int, size_t, enum sum_check_flags *, long unsigned int); + struct dma_async_tx_descriptor * (*device_prep_dma_pq)(struct dma_chan *, dma_addr_t *, dma_addr_t *, unsigned int, const unsigned char *, size_t, long unsigned int); + struct dma_async_tx_descriptor * (*device_prep_dma_pq_val)(struct dma_chan *, dma_addr_t *, dma_addr_t *, unsigned int, const unsigned char *, size_t, enum sum_check_flags *, long unsigned int); + struct dma_async_tx_descriptor * (*device_prep_dma_memset)(struct dma_chan *, dma_addr_t, int, size_t, long unsigned int); + struct dma_async_tx_descriptor * (*device_prep_dma_memset_sg)(struct dma_chan *, struct scatterlist *, unsigned int, int, long unsigned int); + struct dma_async_tx_descriptor * (*device_prep_dma_interrupt)(struct dma_chan *, long unsigned int); + struct dma_async_tx_descriptor * (*device_prep_peripheral_dma_vec)(struct dma_chan *, const struct dma_vec *, size_t, enum dma_transfer_direction, long unsigned int); + struct dma_async_tx_descriptor * (*device_prep_slave_sg)(struct dma_chan *, struct scatterlist *, unsigned int, enum dma_transfer_direction, long unsigned int, void *); + struct dma_async_tx_descriptor * (*device_prep_dma_cyclic)(struct dma_chan *, dma_addr_t, size_t, size_t, enum dma_transfer_direction, long unsigned int); + struct dma_async_tx_descriptor * (*device_prep_interleaved_dma)(struct dma_chan *, struct dma_interleaved_template *, long unsigned int); + void (*device_caps)(struct dma_chan *, struct dma_slave_caps *); + int (*device_config)(struct dma_chan *, struct dma_slave_config *); + int (*device_pause)(struct dma_chan *); + int (*device_resume)(struct dma_chan *); + int (*device_terminate_all)(struct dma_chan *); + void (*device_synchronize)(struct dma_chan *); + enum dma_status (*device_tx_status)(struct dma_chan *, dma_cookie_t, struct dma_tx_state *); + void (*device_issue_pending)(struct dma_chan *); + void (*device_release)(struct dma_device *); + void (*dbg_summary_show)(struct seq_file *, struct dma_device *); + struct dentry *dbg_dev_root; +}; + +struct dma_devres { + size_t size; + void *vaddr; + dma_addr_t dma_handle; + long unsigned int attrs; +}; + +struct dma_fence_ops; + +struct dma_fence { + spinlock_t *lock; + const struct dma_fence_ops *ops; + union { + struct list_head cb_list; + ktime_t timestamp; + struct callback_head rcu; + }; + u64 context; + u64 seqno; + long unsigned int flags; + struct kref refcount; + int error; +}; + +struct dma_fence_array; + +struct dma_fence_array_cb { + struct dma_fence_cb cb; + struct dma_fence_array *array; +}; + +struct dma_fence_array { + struct dma_fence base; + spinlock_t lock; + unsigned int num_fences; + atomic_t num_pending; + struct dma_fence **fences; + struct irq_work work; + struct dma_fence_array_cb callbacks[0]; +}; + +struct dma_fence_chain { + struct dma_fence base; + struct dma_fence *prev; + u64 prev_seqno; + struct dma_fence *fence; + union { + struct dma_fence_cb cb; + struct irq_work work; + }; + spinlock_t lock; +}; + +struct dma_fence_ops { + const char * (*get_driver_name)(struct dma_fence *); + const char * (*get_timeline_name)(struct dma_fence *); + bool (*enable_signaling)(struct dma_fence *); + bool (*signaled)(struct dma_fence *); + long int (*wait)(struct dma_fence *, bool, long int); + void (*release)(struct dma_fence *); + void (*set_deadline)(struct dma_fence *, ktime_t); +}; + +struct dma_fence_unwrap { + struct dma_fence *chain; + struct dma_fence *array; + unsigned int index; +}; + +struct dma_heap_ops; + +struct dma_heap { + const char *name; + const struct dma_heap_ops *ops; + void *priv; + dev_t heap_devt; + struct list_head list; + struct cdev heap_cdev; +}; + +struct dma_heap_allocation_data { + __u64 len; + __u32 fd; + __u32 fd_flags; + __u64 heap_flags; +}; + +struct sg_table { + struct scatterlist *sgl; + unsigned int nents; + unsigned int orig_nents; +}; + +struct dma_heap_attachment { + struct device *dev; + struct sg_table table; + struct list_head list; + bool mapped; +}; + +struct dma_heap_export_info { + const char *name; + const struct dma_heap_ops *ops; + void *priv; +}; + +struct dma_heap_ops { + struct dma_buf * (*allocate)(struct dma_heap *, long unsigned int, u32, u64); +}; + +struct dma_interleaved_template { + dma_addr_t src_start; + dma_addr_t dst_start; + enum dma_transfer_direction dir; + bool src_inc; + bool dst_inc; + bool src_sgl; + bool dst_sgl; + size_t numf; + size_t frame_size; + struct data_chunk sgl[0]; +}; + +struct dma_iova_state { + dma_addr_t addr; + u64 __size; +}; + +struct dma_map_ops { + void * (*alloc)(struct device *, size_t, dma_addr_t *, gfp_t, long unsigned int); + void (*free)(struct device *, size_t, void *, dma_addr_t, long unsigned int); + struct page * (*alloc_pages_op)(struct device *, size_t, dma_addr_t *, enum dma_data_direction, gfp_t); + void (*free_pages)(struct device *, size_t, struct page *, dma_addr_t, enum dma_data_direction); + int (*mmap)(struct device *, struct vm_area_struct *, void *, dma_addr_t, size_t, long unsigned int); + int (*get_sgtable)(struct device *, struct sg_table *, void *, dma_addr_t, size_t, long unsigned int); + dma_addr_t (*map_page)(struct device *, struct page *, long unsigned int, size_t, enum dma_data_direction, long unsigned int); + void (*unmap_page)(struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int); + int (*map_sg)(struct device *, struct scatterlist *, int, enum dma_data_direction, long unsigned int); + void (*unmap_sg)(struct device *, struct scatterlist *, int, enum dma_data_direction, long unsigned int); + dma_addr_t (*map_resource)(struct device *, phys_addr_t, size_t, enum dma_data_direction, long unsigned int); + void (*unmap_resource)(struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int); + void (*sync_single_for_cpu)(struct device *, dma_addr_t, size_t, enum dma_data_direction); + void (*sync_single_for_device)(struct device *, dma_addr_t, size_t, enum dma_data_direction); + void (*sync_sg_for_cpu)(struct device *, struct scatterlist *, int, enum dma_data_direction); + void (*sync_sg_for_device)(struct device *, struct scatterlist *, int, enum dma_data_direction); + void (*cache_sync)(struct device *, void *, size_t, enum dma_data_direction); + int (*dma_supported)(struct device *, u64); + u64 (*get_required_mask)(struct device *); + size_t (*max_mapping_size)(struct device *); + size_t (*opt_mapping_size)(void); + long unsigned int (*get_merge_boundary)(struct device *); +}; + +struct dma_page { + struct list_head page_list; + void *vaddr; + dma_addr_t dma; +}; + +struct dma_pool { + struct list_head page_list; + spinlock_t lock; + struct dma_block *next_block; + size_t nr_blocks; + size_t nr_active; + size_t nr_pages; + struct device *dev; + unsigned int size; + unsigned int allocation; + unsigned int boundary; + int node; + char name[32]; + struct list_head pools; +}; + +struct dma_pte { + u64 val; +}; + +struct ww_acquire_ctx; + +struct ww_mutex { + struct mutex base; + struct ww_acquire_ctx *ctx; +}; + +struct dma_resv_list; + +struct dma_resv { + struct ww_mutex lock; + struct dma_resv_list *fences; +}; + +struct dma_resv_iter { + struct dma_resv *obj; + enum dma_resv_usage usage; + struct dma_fence *fence; + enum dma_resv_usage fence_usage; + unsigned int index; + struct dma_resv_list *fences; + unsigned int num_fences; + bool is_restarted; +}; + +struct dma_resv_list { + struct callback_head rcu; + u32 num_fences; + u32 max_fences; + struct dma_fence *table[0]; +}; + +struct dma_router { + struct device *dev; + void (*route_free)(struct device *, void *); +}; + +struct dma_sgt_handle { + struct sg_table sgt; + struct page **pages; +}; + +struct dma_slave_caps { + u32 src_addr_widths; + u32 dst_addr_widths; + u32 directions; + u32 min_burst; + u32 max_burst; + u32 max_sg_burst; + bool cmd_pause; + bool cmd_resume; + bool cmd_terminate; + enum dma_residue_granularity residue_granularity; + bool descriptor_reuse; +}; + +struct dma_slave_config { + enum dma_transfer_direction direction; + phys_addr_t src_addr; + phys_addr_t dst_addr; + enum dma_slave_buswidth src_addr_width; + enum dma_slave_buswidth dst_addr_width; + u32 src_maxburst; + u32 dst_maxburst; + u32 src_port_window_size; + u32 dst_port_window_size; + bool device_fc; + void *peripheral_config; + size_t peripheral_size; +}; + +struct dma_slave_map { + const char *devname; + const char *slave; + void *param; +}; + +struct dma_tx_state { + dma_cookie_t last; + dma_cookie_t used; + u32 residue; + u32 in_flight_bytes; +}; + +struct dma_vec { + dma_addr_t addr; + size_t len; +}; + +struct dmabuf_cmsg { + __u64 frag_offset; + __u32 frag_size; + __u32 frag_token; + __u32 dmabuf_id; + __u32 flags; +}; + +struct net_iov; + +struct net_iov_area { + struct net_iov *niovs; + size_t num_niovs; + long unsigned int base_virtual; +}; + +struct net_devmem_dmabuf_binding; + +struct dmabuf_genpool_chunk_owner { + struct net_iov_area area; + struct net_devmem_dmabuf_binding *binding; + dma_addr_t base_dma_addr; +}; + +struct dmabuf_iter_priv { + struct dma_buf *dmabuf; +}; + +struct dmabuf_token { + __u32 token_start; + __u32 token_count; +}; + +struct dmaengine_desc_callback { + dma_async_tx_callback callback; + dma_async_tx_callback_result callback_result; + void *callback_param; +}; + +struct dmaengine_result { + enum dmaengine_tx_result result; + u32 residue; +}; + +struct dmaengine_unmap_data { + u16 map_cnt; + u8 to_cnt; + u8 from_cnt; + u8 bidi_cnt; + struct device *dev; + struct kref kref; + size_t len; + dma_addr_t addr[0]; +}; + +struct dmaengine_unmap_pool { + struct kmem_cache *cache; + const char *name; + mempool_t *pool; + size_t size; +}; + +struct dmar_dev_scope; + +struct dmar_atsr_unit { + struct list_head list; + struct acpi_dmar_header *hdr; + struct dmar_dev_scope *devices; + int devices_cnt; + u8 include_all: 1; +}; + +struct dmar_dev_scope { + struct device *dev; + u8 bus; + u8 devfn; +}; + +struct iommu_hwpt_vtd_s1 { + __u64 flags; + __u64 pgtbl_addr; + __u32 addr_width; + __u32 __reserved; +}; + +struct mmu_notifier_ops; + +struct mmu_notifier { + struct hlist_node hlist; + const struct mmu_notifier_ops *ops; + struct mm_struct *mm; + struct callback_head rcu; + unsigned int users; +}; + +struct iommu_domain_geometry { + dma_addr_t aperture_start; + dma_addr_t aperture_end; + bool force_aperture; +}; + +struct iommu_domain; + +typedef int (*iommu_fault_handler_t)(struct iommu_domain *, struct device *, long unsigned int, int, void *); + +struct iommu_domain_ops; + +struct iommu_dirty_ops; + +struct iopf_group; + +struct iommu_dma_cookie; + +struct iommu_dma_msi_cookie; + +struct iommufd_hw_pagetable; + +struct iommu_domain { + unsigned int type; + enum iommu_domain_cookie_type cookie_type; + const struct iommu_domain_ops *ops; + const struct iommu_dirty_ops *dirty_ops; + const struct iommu_ops *owner; + long unsigned int pgsize_bitmap; + struct iommu_domain_geometry geometry; + int (*iopf_handler)(struct iopf_group *); + union { + struct iommu_dma_cookie *iova_cookie; + struct iommu_dma_msi_cookie *msi_cookie; + struct iommufd_hw_pagetable *iommufd_hwpt; + struct { + iommu_fault_handler_t handler; + void *handler_token; + }; + struct { + struct mm_struct *mm; + int users; + struct list_head next; + }; + }; +}; + +struct qi_batch; + +struct dmar_domain { + int nid; + struct xarray iommu_array; + u8 iommu_coherency: 1; + u8 force_snooping: 1; + u8 set_pte_snp: 1; + u8 use_first_level: 1; + u8 dirty_tracking: 1; + u8 nested_parent: 1; + u8 has_mappings: 1; + u8 iotlb_sync_map: 1; + spinlock_t lock; + struct list_head devices; + struct list_head dev_pasids; + spinlock_t cache_lock; + struct list_head cache_tags; + struct qi_batch *qi_batch; + int iommu_superpage; + union { + struct { + struct dma_pte *pgd; + int gaw; + int agaw; + u64 max_addr; + spinlock_t s1_lock; + struct list_head s1_domains; + }; + struct { + struct dmar_domain *s2_domain; + struct iommu_hwpt_vtd_s1 s1_cfg; + struct list_head s2_link; + }; + struct { + struct mmu_notifier notifier; + }; + }; + struct iommu_domain domain; +}; + +struct dmar_drhd_unit { + struct list_head list; + struct acpi_dmar_header *hdr; + u64 reg_base_addr; + long unsigned int reg_size; + struct dmar_dev_scope *devices; + int devices_cnt; + u16 segment; + u8 ignored: 1; + u8 include_all: 1; + u8 gfx_dedicated: 1; + struct intel_iommu *iommu; +}; + +struct dmar_pci_path { + u8 bus; + u8 device; + u8 function; +}; + +struct dmar_pci_notify_info { + struct pci_dev *dev; + long unsigned int event; + int bus; + u16 seg; + u16 level; + struct dmar_pci_path path[0]; +}; + +typedef int (*dmar_res_handler_t)(struct acpi_dmar_header *, void *); + +struct dmar_res_callback { + dmar_res_handler_t cb[7]; + void *arg[7]; + bool ignore_unhandled; + bool print_entry; +}; + +struct dmar_rmrr_unit { + struct list_head list; + struct acpi_dmar_header *hdr; + u64 base_address; + u64 end_address; + struct dmar_dev_scope *devices; + int devices_cnt; +}; + +struct dmar_satc_unit { + struct list_head list; + struct acpi_dmar_header *hdr; + struct dmar_dev_scope *devices; + struct intel_iommu *iommu; + int devices_cnt; + u8 atc_required: 1; +}; + +struct page_counter { + atomic_long_t usage; + long unsigned int failcnt; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + struct cacheline_padding _pad1_; + long unsigned int emin; + atomic_long_t min_usage; + atomic_long_t children_min_usage; + long unsigned int elow; + atomic_long_t low_usage; + atomic_long_t children_low_usage; + long unsigned int watermark; + long unsigned int local_watermark; + struct cacheline_padding _pad2_; + bool protection_support; + bool track_failcnt; + long unsigned int min; + long unsigned int low; + long unsigned int high; + long unsigned int max; + struct page_counter *parent; + long: 64; + long: 64; +}; + +struct dmem_cgroup_region; + +struct dmemcg_state; + +struct dmem_cgroup_pool_state { + struct dmem_cgroup_region *region; + struct dmemcg_state *cs; + struct list_head css_node; + struct list_head region_node; + struct callback_head rcu; + struct page_counter cnt; + bool inited; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct dmem_cgroup_region { + struct kref ref; + struct callback_head rcu; + struct list_head region_node; + struct list_head pools; + u64 size; + char *name; + bool unregistered; +}; + +struct dmemcg_state { + struct cgroup_subsys_state css; + struct list_head pools; +}; + +struct dmi_device { + struct list_head list; + int type; + const char *name; + void *device_data; +}; + +struct dmi_dev_onboard { + struct dmi_device dev; + int instance; + int segment; + int bus; + int devfn; +}; + +struct dmi_device_attribute { + struct device_attribute dev_attr; + int field; +}; + +struct dmi_header { + u8 type; + u8 length; + u16 handle; +}; + +struct dmi_memdev_info { + const char *device; + const char *bank; + u64 size; + u16 handle; + u8 type; +}; + +struct dmi_strmatch { + unsigned char slot: 7; + unsigned char exact_match: 1; + char substr[79]; +}; + +struct dmi_system_id { + int (*callback)(const struct dmi_system_id *); + const char *ident; + struct dmi_strmatch matches[4]; + void *driver_data; +}; + +struct fb_videomode; + +struct dmt_videomode { + u32 dmt_id; + u32 std_2byte_code; + u32 cvt_3byte_code; + const struct fb_videomode *mode; +}; + +struct dnotify_struct; + +struct dnotify_mark { + struct fsnotify_mark fsn_mark; + struct dnotify_struct *dn; +}; + +typedef void *fl_owner_t; + +struct dnotify_struct { + struct dnotify_struct *dn_next; + __u32 dn_mask; + int dn_fd; + struct file *dn_filp; + fl_owner_t dn_owner; +}; + +struct dns_payload_header { + __u8 zero; + __u8 content; + __u8 version; +}; + +struct dns_server_list_v1_header { + struct dns_payload_header hdr; + __u8 source; + __u8 status; + __u8 nr_servers; +}; + +struct do_proc_dointvec_minmax_conv_param { + int *min; + int *max; +}; + +struct do_proc_douintvec_minmax_conv_param { + unsigned int *min; + unsigned int *max; +}; + +struct dock_dependent_device { + struct list_head list; + struct acpi_device *adev; +}; + +struct dock_station { + acpi_handle handle; + long unsigned int last_dock_time; + u32 flags; + struct list_head dependent_devices; + struct list_head sibling; + struct platform_device *dock_device; +}; + +struct dom0_vga_console_info { + uint8_t video_type; + union { + struct { + uint16_t font_height; + uint16_t cursor_x; + uint16_t cursor_y; + uint16_t rows; + uint16_t columns; + } text_mode_3; + struct { + uint16_t width; + uint16_t height; + uint16_t bytes_per_line; + uint16_t bits_per_pixel; + uint32_t lfb_base; + uint32_t lfb_size; + uint8_t red_pos; + uint8_t red_size; + uint8_t green_pos; + uint8_t green_size; + uint8_t blue_pos; + uint8_t blue_size; + uint8_t rsvd_pos; + uint8_t rsvd_size; + uint32_t gbl_caps; + uint16_t mode_attrs; + uint16_t pad; + uint32_t ext_lfb_base; + } vesa_lfb; + } u; +}; + +struct double_list { + struct list_head *top; + struct list_head *bottom; +}; + +struct dp_sdp_header { + u8 HB0; + u8 HB1; + u8 HB2; + u8 HB3; +}; + +struct dp_sdp { + struct dp_sdp_header sdp_header; + u8 db[32]; +}; + +struct dpages { + void (*get_page)(struct dpages *, struct page **, long unsigned int *, unsigned int *); + void (*next_page)(struct dpages *); + union { + unsigned int context_u; + struct bvec_iter context_bi; + }; + void *context_ptr; + void *vma_invalidate_address; + long unsigned int vma_invalidate_size; +}; + +struct dpll_device { + u32 id; + u32 device_idx; + u64 clock_id; + struct module *module; + enum dpll_type type; + struct xarray pin_refs; + refcount_t refcount; + struct list_head registration_list; +}; + +struct dpll_device_ops { + int (*mode_get)(const struct dpll_device *, void *, enum dpll_mode *, struct netlink_ext_ack *); + int (*lock_status_get)(const struct dpll_device *, void *, enum dpll_lock_status *, enum dpll_lock_status_error *, struct netlink_ext_ack *); + int (*temp_get)(const struct dpll_device *, void *, s32 *, struct netlink_ext_ack *); + int (*clock_quality_level_get)(const struct dpll_device *, void *, long unsigned int *, struct netlink_ext_ack *); + int (*phase_offset_monitor_set)(const struct dpll_device *, void *, enum dpll_feature_state, struct netlink_ext_ack *); + int (*phase_offset_monitor_get)(const struct dpll_device *, void *, enum dpll_feature_state *, struct netlink_ext_ack *); +}; + +struct dpll_device_registration { + struct list_head list; + const struct dpll_device_ops *ops; + void *priv; +}; + +struct dpll_dump_ctx { + long unsigned int idx; +}; + +struct dpll_pin_phase_adjust_range { + s32 min; + s32 max; +}; + +struct dpll_pin_frequency; + +struct dpll_pin_properties { + const char *board_label; + const char *panel_label; + const char *package_label; + enum dpll_pin_type type; + long unsigned int capabilities; + u32 freq_supported_num; + struct dpll_pin_frequency *freq_supported; + struct dpll_pin_phase_adjust_range phase_range; +}; + +struct dpll_pin { + u32 id; + u32 pin_idx; + u64 clock_id; + struct module *module; + struct xarray dpll_refs; + struct xarray parent_refs; + struct xarray ref_sync_pins; + struct dpll_pin_properties prop; + refcount_t refcount; + struct callback_head rcu; +}; + +struct dpll_pin_esync { + u64 freq; + const struct dpll_pin_frequency *range; + u8 range_num; + u8 pulse; +}; + +struct dpll_pin_frequency { + u64 min; + u64 max; +}; + +struct dpll_pin_ops { + int (*frequency_set)(const struct dpll_pin *, void *, const struct dpll_device *, void *, const u64, struct netlink_ext_ack *); + int (*frequency_get)(const struct dpll_pin *, void *, const struct dpll_device *, void *, u64 *, struct netlink_ext_ack *); + int (*direction_set)(const struct dpll_pin *, void *, const struct dpll_device *, void *, const enum dpll_pin_direction, struct netlink_ext_ack *); + int (*direction_get)(const struct dpll_pin *, void *, const struct dpll_device *, void *, enum dpll_pin_direction *, struct netlink_ext_ack *); + int (*state_on_pin_get)(const struct dpll_pin *, void *, const struct dpll_pin *, void *, enum dpll_pin_state *, struct netlink_ext_ack *); + int (*state_on_dpll_get)(const struct dpll_pin *, void *, const struct dpll_device *, void *, enum dpll_pin_state *, struct netlink_ext_ack *); + int (*state_on_pin_set)(const struct dpll_pin *, void *, const struct dpll_pin *, void *, const enum dpll_pin_state, struct netlink_ext_ack *); + int (*state_on_dpll_set)(const struct dpll_pin *, void *, const struct dpll_device *, void *, const enum dpll_pin_state, struct netlink_ext_ack *); + int (*prio_get)(const struct dpll_pin *, void *, const struct dpll_device *, void *, u32 *, struct netlink_ext_ack *); + int (*prio_set)(const struct dpll_pin *, void *, const struct dpll_device *, void *, const u32, struct netlink_ext_ack *); + int (*phase_offset_get)(const struct dpll_pin *, void *, const struct dpll_device *, void *, s64 *, struct netlink_ext_ack *); + int (*phase_adjust_get)(const struct dpll_pin *, void *, const struct dpll_device *, void *, s32 *, struct netlink_ext_ack *); + int (*phase_adjust_set)(const struct dpll_pin *, void *, const struct dpll_device *, void *, const s32, struct netlink_ext_ack *); + int (*ffo_get)(const struct dpll_pin *, void *, const struct dpll_device *, void *, s64 *, struct netlink_ext_ack *); + int (*esync_set)(const struct dpll_pin *, void *, const struct dpll_device *, void *, u64, struct netlink_ext_ack *); + int (*esync_get)(const struct dpll_pin *, void *, const struct dpll_device *, void *, struct dpll_pin_esync *, struct netlink_ext_ack *); + int (*ref_sync_set)(const struct dpll_pin *, void *, const struct dpll_pin *, void *, const enum dpll_pin_state, struct netlink_ext_ack *); + int (*ref_sync_get)(const struct dpll_pin *, void *, const struct dpll_pin *, void *, enum dpll_pin_state *, struct netlink_ext_ack *); +}; + +struct dpll_pin_ref { + union { + struct dpll_device *dpll; + struct dpll_pin *pin; + }; + struct list_head registration_list; + refcount_t refcount; +}; + +struct dpll_pin_registration { + struct list_head list; + const struct dpll_pin_ops *ops; + void *priv; + void *cookie; +}; + +struct dql { + unsigned int num_queued; + unsigned int adj_limit; + unsigned int last_obj_cnt; + short unsigned int stall_thrs; + long unsigned int history_head; + long unsigned int history[4]; + long: 64; + unsigned int limit; + unsigned int num_completed; + unsigned int prev_ovlimit; + unsigned int prev_num_queued; + unsigned int prev_last_obj_cnt; + unsigned int lowest_slack; + long unsigned int slack_start_time; + unsigned int max_limit; + unsigned int min_limit; + unsigned int slack_hold_time; + short unsigned int stall_max; + long unsigned int last_reap; + long unsigned int stall_cnt; +}; + +struct dqstats { + long unsigned int stat[8]; + struct percpu_counter counter[8]; +}; + +struct kqid { + union { + kuid_t uid; + kgid_t gid; + kprojid_t projid; + }; + enum quota_type type; +}; + +struct mem_dqblk { + qsize_t dqb_bhardlimit; + qsize_t dqb_bsoftlimit; + qsize_t dqb_curspace; + qsize_t dqb_rsvspace; + qsize_t dqb_ihardlimit; + qsize_t dqb_isoftlimit; + qsize_t dqb_curinodes; + time64_t dqb_btime; + time64_t dqb_itime; +}; + +struct dquot { + struct hlist_node dq_hash; + struct list_head dq_inuse; + struct list_head dq_free; + struct list_head dq_dirty; + struct mutex dq_lock; + spinlock_t dq_dqb_lock; + atomic_t dq_count; + struct super_block *dq_sb; + struct kqid dq_id; + loff_t dq_off; + long unsigned int dq_flags; + struct mem_dqblk dq_dqb; +}; + +struct dquot_operations { + int (*write_dquot)(struct dquot *); + struct dquot * (*alloc_dquot)(struct super_block *, int); + void (*destroy_dquot)(struct dquot *); + int (*acquire_dquot)(struct dquot *); + int (*release_dquot)(struct dquot *); + int (*mark_dirty)(struct dquot *); + int (*write_info)(struct super_block *, int); + qsize_t * (*get_reserved_space)(struct inode *); + int (*get_projid)(struct inode *, kprojid_t *); + int (*get_inode_usage)(struct inode *, qsize_t *); + int (*get_next_id)(struct super_block *, struct kqid *); +}; + +struct dquot_warn { + struct super_block *w_sb; + struct kqid w_dq_id; + short int w_type; +}; + +struct drbg_core { + drbg_flag_t flags; + __u8 statelen; + __u8 blocklen_bytes; + char cra_name[128]; + char backend_cra_name[128]; +}; + +struct drbg_string { + const unsigned char *buf; + size_t len; + struct list_head list; +}; + +struct drbg_state_ops; + +struct drbg_state { + struct mutex drbg_mutex; + unsigned char *V; + unsigned char *Vbuf; + unsigned char *C; + unsigned char *Cbuf; + size_t reseed_ctr; + size_t reseed_threshold; + unsigned char *scratchpad; + unsigned char *scratchpadbuf; + void *priv_data; + struct crypto_skcipher *ctr_handle; + struct skcipher_request *ctr_req; + __u8 *outscratchpadbuf; + __u8 *outscratchpad; + struct crypto_wait ctr_wait; + struct scatterlist sg_in; + struct scatterlist sg_out; + enum drbg_seed_state seeded; + long unsigned int last_seed_time; + bool pr; + bool fips_primed; + unsigned char *prev; + struct crypto_rng *jent; + const struct drbg_state_ops *d_ops; + const struct drbg_core *core; + struct drbg_string test_data; +}; + +struct drbg_state_ops { + int (*update)(struct drbg_state *, struct list_head *, int); + int (*generate)(struct drbg_state *, unsigned char *, unsigned int, struct list_head *); + int (*crypto_init)(struct drbg_state *); + int (*crypto_fini)(struct drbg_state *); +}; + +struct driver_attribute { + struct attribute attr; + ssize_t (*show)(struct device_driver *, char *); + ssize_t (*store)(struct device_driver *, const char *, size_t); +}; + +struct module_kobject; + +struct driver_private { + struct kobject kobj; + struct klist klist_devices; + struct klist_node knode_bus; + struct module_kobject *mkobj; + struct device_driver *driver; +}; + +struct drm_object_properties; + +struct drm_mode_object { + uint32_t id; + uint32_t type; + struct drm_object_properties *properties; + struct kref refcount; + void (*free_cb)(struct kref *); +}; + +struct drm_device; + +struct drm_format_info; + +struct drm_framebuffer_funcs; + +struct drm_gem_object; + +struct drm_framebuffer { + struct drm_device *dev; + struct list_head head; + struct drm_mode_object base; + char comm[16]; + const struct drm_format_info *format; + const struct drm_framebuffer_funcs *funcs; + unsigned int pitches[4]; + unsigned int offsets[4]; + uint64_t modifier; + unsigned int width; + unsigned int height; + int flags; + unsigned int internal_flags; + struct list_head filp_head; + struct drm_gem_object *obj[4]; +}; + +struct drm_afbc_framebuffer { + struct drm_framebuffer base; + u32 block_width; + u32 block_height; + u32 aligned_width; + u32 aligned_height; + u32 offset; + u32 afbc_size; +}; + +struct drm_rect { + int x1; + int y1; + int x2; + int y2; +}; + +struct drm_atomic_helper_damage_iter { + struct drm_rect plane_src; + const struct drm_rect *clips; + uint32_t num_clips; + uint32_t curr_clip; + bool full_update; +}; + +struct drm_modeset_acquire_ctx; + +struct drm_atomic_state { + struct kref ref; + struct drm_device *dev; + bool allow_modeset: 1; + bool legacy_cursor_update: 1; + bool async_update: 1; + bool duplicated: 1; + struct __drm_planes_state *planes; + struct __drm_crtcs_state *crtcs; + int num_connector; + struct __drm_connnectors_state *connectors; + int num_private_objs; + struct __drm_private_objs_state *private_objs; + struct drm_modeset_acquire_ctx *acquire_ctx; + struct drm_crtc_commit *fake_commit; + struct work_struct commit_work; +}; + +struct drm_auth { + drm_magic_t magic; +}; + +struct drm_modeset_lock { + struct ww_mutex mutex; + struct list_head head; +}; + +struct drm_private_state_funcs; + +struct drm_private_obj { + struct list_head head; + struct drm_modeset_lock lock; + struct drm_private_state *state; + const struct drm_private_state_funcs *funcs; +}; + +struct drm_encoder; + +struct drm_bridge_timings; + +struct drm_bridge_funcs; + +struct i2c_adapter; + +struct drm_bridge { + struct drm_private_obj base; + struct drm_device *dev; + struct drm_encoder *encoder; + struct list_head chain_node; + struct device_node *of_node; + struct list_head list; + const struct drm_bridge_timings *timings; + const struct drm_bridge_funcs *funcs; + void *container; + struct kref refcount; + void *driver_private; + enum drm_bridge_ops ops; + int type; + bool interlace_allowed; + bool ycbcr_420_allowed; + bool pre_enable_prev_first; + struct i2c_adapter *ddc; + const char *vendor; + const char *product; + unsigned int supported_formats; + unsigned int max_bpc; + struct device *hdmi_cec_dev; + struct device *hdmi_audio_dev; + int hdmi_audio_max_i2s_playback_channels; + u64 hdmi_audio_i2s_formats; + unsigned int hdmi_audio_spdif_playback: 1; + int hdmi_audio_dai_port; + const char *hdmi_cec_adapter_name; + u8 hdmi_cec_available_las; + struct mutex hpd_mutex; + void (*hpd_cb)(void *, enum drm_connector_status); + void *hpd_data; +}; + +struct hdmi_codec_daifmt; + +struct hdmi_codec_params; + +struct cec_msg; + +struct drm_display_info; + +struct drm_display_mode; + +struct drm_bridge_state; + +struct drm_bridge_funcs { + int (*attach)(struct drm_bridge *, struct drm_encoder *, enum drm_bridge_attach_flags); + void (*destroy)(struct drm_bridge *); + void (*detach)(struct drm_bridge *); + enum drm_mode_status (*mode_valid)(struct drm_bridge *, const struct drm_display_info *, const struct drm_display_mode *); + bool (*mode_fixup)(struct drm_bridge *, const struct drm_display_mode *, struct drm_display_mode *); + void (*disable)(struct drm_bridge *); + void (*post_disable)(struct drm_bridge *); + void (*mode_set)(struct drm_bridge *, const struct drm_display_mode *, const struct drm_display_mode *); + void (*pre_enable)(struct drm_bridge *); + void (*enable)(struct drm_bridge *); + void (*atomic_pre_enable)(struct drm_bridge *, struct drm_atomic_state *); + void (*atomic_enable)(struct drm_bridge *, struct drm_atomic_state *); + void (*atomic_disable)(struct drm_bridge *, struct drm_atomic_state *); + void (*atomic_post_disable)(struct drm_bridge *, struct drm_atomic_state *); + struct drm_bridge_state * (*atomic_duplicate_state)(struct drm_bridge *); + void (*atomic_destroy_state)(struct drm_bridge *, struct drm_bridge_state *); + u32 * (*atomic_get_output_bus_fmts)(struct drm_bridge *, struct drm_bridge_state *, struct drm_crtc_state *, struct drm_connector_state *, unsigned int *); + u32 * (*atomic_get_input_bus_fmts)(struct drm_bridge *, struct drm_bridge_state *, struct drm_crtc_state *, struct drm_connector_state *, u32, unsigned int *); + int (*atomic_check)(struct drm_bridge *, struct drm_bridge_state *, struct drm_crtc_state *, struct drm_connector_state *); + struct drm_bridge_state * (*atomic_reset)(struct drm_bridge *); + enum drm_connector_status (*detect)(struct drm_bridge *, struct drm_connector *); + int (*get_modes)(struct drm_bridge *, struct drm_connector *); + const struct drm_edid * (*edid_read)(struct drm_bridge *, struct drm_connector *); + void (*hpd_notify)(struct drm_bridge *, enum drm_connector_status); + void (*hpd_enable)(struct drm_bridge *); + void (*hpd_disable)(struct drm_bridge *); + enum drm_mode_status (*hdmi_tmds_char_rate_valid)(const struct drm_bridge *, const struct drm_display_mode *, long long unsigned int); + int (*hdmi_clear_infoframe)(struct drm_bridge *, enum hdmi_infoframe_type); + int (*hdmi_write_infoframe)(struct drm_bridge *, enum hdmi_infoframe_type, const u8 *, size_t); + int (*hdmi_audio_startup)(struct drm_bridge *, struct drm_connector *); + int (*hdmi_audio_prepare)(struct drm_bridge *, struct drm_connector *, struct hdmi_codec_daifmt *, struct hdmi_codec_params *); + void (*hdmi_audio_shutdown)(struct drm_bridge *, struct drm_connector *); + int (*hdmi_audio_mute_stream)(struct drm_bridge *, struct drm_connector *, bool, int); + int (*hdmi_cec_init)(struct drm_bridge *, struct drm_connector *); + int (*hdmi_cec_enable)(struct drm_bridge *, bool); + int (*hdmi_cec_log_addr)(struct drm_bridge *, u8); + int (*hdmi_cec_transmit)(struct drm_bridge *, u8, u32, struct cec_msg *); + int (*dp_audio_startup)(struct drm_bridge *, struct drm_connector *); + int (*dp_audio_prepare)(struct drm_bridge *, struct drm_connector *, struct hdmi_codec_daifmt *, struct hdmi_codec_params *); + void (*dp_audio_shutdown)(struct drm_bridge *, struct drm_connector *); + int (*dp_audio_mute_stream)(struct drm_bridge *, struct drm_connector *, bool, int); + void (*debugfs_init)(struct drm_bridge *, struct dentry *); +}; + +struct drm_private_state { + struct drm_atomic_state *state; + struct drm_private_obj *obj; +}; + +struct drm_bus_cfg { + u32 format; + u32 flags; +}; + +struct drm_bridge_state { + struct drm_private_state base; + struct drm_bridge *bridge; + struct drm_bus_cfg input_bus_cfg; + struct drm_bus_cfg output_bus_cfg; +}; + +struct drm_bridge_timings { + u32 input_bus_flags; + u32 setup_time_ps; + u32 hold_time_ps; + bool dual_link; +}; + +struct drm_client { + int idx; + int auth; + long unsigned int pid; + long unsigned int uid; + long unsigned int magic; + long unsigned int iocs; +}; + +struct drm_client32 { + int idx; + int auth; + u32 pid; + u32 uid; + u32 magic; + u32 iocs; +}; + +typedef struct drm_client32 drm_client32_t; + +struct drm_client_dev; + +struct drm_client_buffer { + struct drm_client_dev *client; + u32 pitch; + struct drm_gem_object *gem; + struct iosys_map map; + struct drm_framebuffer *fb; +}; + +struct drm_client_funcs; + +struct drm_file; + +struct drm_mode_set; + +struct drm_client_dev { + struct drm_device *dev; + const char *name; + struct list_head list; + const struct drm_client_funcs *funcs; + struct drm_file *file; + struct mutex modeset_mutex; + struct drm_mode_set *modesets; + bool suspended; + bool hotplug_pending; + bool hotplug_failed; +}; + +struct drm_client_funcs { + struct module *owner; + void (*unregister)(struct drm_client_dev *); + int (*restore)(struct drm_client_dev *); + int (*hotplug)(struct drm_client_dev *); + int (*suspend)(struct drm_client_dev *, bool); + int (*resume)(struct drm_client_dev *, bool); +}; + +struct drm_client_offset { + int x; + int y; +}; + +struct drm_clip_rect { + short unsigned int x1; + short unsigned int y1; + short unsigned int x2; + short unsigned int y2; +}; + +struct drm_connector_tv_margins { + unsigned int bottom; + unsigned int left; + unsigned int right; + unsigned int top; +}; + +struct drm_cmdline_mode { + char name[32]; + bool specified; + bool refresh_specified; + bool bpp_specified; + unsigned int pixel_clock; + int xres; + int yres; + int bpp; + int refresh; + bool rb; + bool interlace; + bool cvt; + bool margins; + enum drm_connector_force force; + unsigned int rotation_reflection; + enum drm_panel_orientation panel_orientation; + struct drm_connector_tv_margins tv_margins; + enum drm_connector_tv_mode tv_mode; + bool tv_mode_specified; +}; + +struct drm_color_lut { + __u16 red; + __u16 green; + __u16 blue; + __u16 reserved; +}; + +struct drm_conn_prop_enum_list { + int type; + const char *name; + struct ida ida; +}; + +struct drm_scrambling { + bool supported; + bool low_rates; +}; + +struct drm_scdc { + bool supported; + bool read_request; + struct drm_scrambling scrambling; +}; + +struct drm_hdmi_dsc_cap { + bool v_1p2; + bool native_420; + bool all_bpp; + u8 bpc_supported; + u8 max_slices; + int clk_per_slice; + u8 max_lanes; + u8 max_frl_rate_per_lane; + u8 total_chunk_kbytes; +}; + +struct drm_hdmi_info { + struct drm_scdc scdc; + long unsigned int y420_vdb_modes[4]; + long unsigned int y420_cmdb_modes[4]; + u8 y420_dc_modes; + u8 max_frl_rate_per_lane; + u8 max_lanes; + struct drm_hdmi_dsc_cap dsc_cap; +}; + +struct hdr_static_metadata { + __u8 eotf; + __u8 metadata_type; + __u16 max_cll; + __u16 max_fall; + __u16 min_cll; +}; + +struct hdr_sink_metadata { + __u32 metadata_type; + union { + struct hdr_static_metadata hdmi_type1; + }; +}; + +struct drm_monitor_range_info { + u16 min_vfreq; + u16 max_vfreq; +}; + +struct drm_luminance_range_info { + u32 min_luminance; + u32 max_luminance; +}; + +struct drm_display_info { + unsigned int width_mm; + unsigned int height_mm; + unsigned int bpc; + enum subpixel_order subpixel_order; + int panel_orientation; + u32 color_formats; + const u32 *bus_formats; + unsigned int num_bus_formats; + u32 bus_flags; + int max_tmds_clock; + bool dvi_dual; + bool is_hdmi; + bool has_audio; + bool has_hdmi_infoframe; + bool rgb_quant_range_selectable; + u8 edid_hdmi_rgb444_dc_modes; + u8 edid_hdmi_ycbcr444_dc_modes; + u8 cea_rev; + struct drm_hdmi_info hdmi; + struct hdr_sink_metadata hdr_sink_metadata; + bool non_desktop; + struct drm_monitor_range_info monitor_range; + struct drm_luminance_range_info luminance_range; + u8 mso_stream_count; + u8 mso_pixel_overlap; + u32 max_dsc_bpp; + u8 *vics; + int vics_len; + u32 quirks; + u16 source_physical_address; +}; + +struct drm_property; + +struct drm_object_properties { + int count; + struct drm_property *properties[64]; + uint64_t values[64]; +}; + +struct hdmi_any_infoframe { + enum hdmi_infoframe_type type; + unsigned char version; + unsigned char length; +}; + +struct hdmi_avi_infoframe { + enum hdmi_infoframe_type type; + unsigned char version; + unsigned char length; + bool itc; + unsigned char pixel_repeat; + enum hdmi_colorspace colorspace; + enum hdmi_scan_mode scan_mode; + enum hdmi_colorimetry colorimetry; + enum hdmi_picture_aspect picture_aspect; + enum hdmi_active_aspect active_aspect; + enum hdmi_extended_colorimetry extended_colorimetry; + enum hdmi_quantization_range quantization_range; + enum hdmi_nups nups; + unsigned char video_code; + enum hdmi_ycc_quantization_range ycc_quantization_range; + enum hdmi_content_type content_type; + short unsigned int top_bar; + short unsigned int bottom_bar; + short unsigned int left_bar; + short unsigned int right_bar; +}; + +struct hdmi_spd_infoframe { + enum hdmi_infoframe_type type; + unsigned char version; + unsigned char length; + char vendor[8]; + char product[16]; + enum hdmi_spd_sdi sdi; +}; + +struct hdmi_vendor_infoframe { + enum hdmi_infoframe_type type; + unsigned char version; + unsigned char length; + unsigned int oui; + u8 vic; + enum hdmi_3d_structure s3d_struct; + unsigned int s3d_ext_data; +}; + +union hdmi_vendor_any_infoframe { + struct { + enum hdmi_infoframe_type type; + unsigned char version; + unsigned char length; + unsigned int oui; + } any; + struct hdmi_vendor_infoframe hdmi; +}; + +struct hdmi_audio_infoframe { + enum hdmi_infoframe_type type; + unsigned char version; + unsigned char length; + unsigned char channels; + enum hdmi_audio_coding_type coding_type; + enum hdmi_audio_sample_size sample_size; + enum hdmi_audio_sample_frequency sample_frequency; + enum hdmi_audio_coding_type_ext coding_type_ext; + unsigned char channel_allocation; + unsigned char level_shift_value; + bool downmix_inhibit; +}; + +struct hdmi_drm_infoframe { + enum hdmi_infoframe_type type; + unsigned char version; + unsigned char length; + enum hdmi_eotf eotf; + enum hdmi_metadata_type metadata_type; + struct { + u16 x; + u16 y; + } display_primaries[3]; + struct { + u16 x; + u16 y; + } white_point; + u16 max_display_mastering_luminance; + u16 min_display_mastering_luminance; + u16 max_cll; + u16 max_fall; +}; + +union hdmi_infoframe { + struct hdmi_any_infoframe any; + struct hdmi_avi_infoframe avi; + struct hdmi_spd_infoframe spd; + union hdmi_vendor_any_infoframe vendor; + struct hdmi_audio_infoframe audio; + struct hdmi_drm_infoframe drm; +}; + +struct drm_connector_hdmi_infoframe { + union hdmi_infoframe data; + bool set; +}; + +struct drm_connector_hdmi_funcs; + +struct drm_connector_hdmi { + unsigned char vendor[8]; + unsigned char product[16]; + long unsigned int supported_formats; + const struct drm_connector_hdmi_funcs *funcs; + struct { + struct mutex lock; + struct drm_connector_hdmi_infoframe audio; + } infoframes; +}; + +struct drm_connector_hdmi_audio_funcs; + +struct drm_connector_hdmi_audio { + const struct drm_connector_hdmi_audio_funcs *funcs; + struct platform_device *codec_pdev; + struct mutex lock; + void (*plugged_cb)(struct device *, bool); + struct device *plugged_cb_dev; + bool last_state; + int dai_port; +}; + +struct drm_connector_cec_funcs; + +struct drm_connector_cec { + struct mutex mutex; + const struct drm_connector_cec_funcs *funcs; + void *data; +}; + +struct drm_connector_funcs; + +struct drm_property_blob; + +struct drm_privacy_screen; + +struct drm_connector_helper_funcs; + +struct drm_tile_group; + +struct drm_connector { + struct drm_device *dev; + struct device *kdev; + struct device_attribute *attr; + struct fwnode_handle *fwnode; + struct list_head head; + struct list_head global_connector_list_entry; + struct drm_mode_object base; + char *name; + struct mutex mutex; + unsigned int index; + int connector_type; + int connector_type_id; + bool interlace_allowed; + bool doublescan_allowed; + bool stereo_allowed; + bool ycbcr_420_allowed; + enum drm_connector_registration_state registration_state; + struct list_head modes; + enum drm_connector_status status; + struct list_head probed_modes; + struct drm_display_info display_info; + const struct drm_connector_funcs *funcs; + struct drm_property_blob *edid_blob_ptr; + struct drm_object_properties properties; + struct drm_property *scaling_mode_property; + struct drm_property *vrr_capable_property; + struct drm_property *colorspace_property; + struct drm_property_blob *path_blob_ptr; + unsigned int max_bpc; + struct drm_property *max_bpc_property; + struct drm_privacy_screen *privacy_screen; + struct notifier_block privacy_screen_notifier; + struct drm_property *privacy_screen_sw_state_property; + struct drm_property *privacy_screen_hw_state_property; + struct drm_property *broadcast_rgb_property; + uint8_t polled; + int dpms; + const struct drm_connector_helper_funcs *helper_private; + struct drm_cmdline_mode cmdline_mode; + enum drm_connector_force force; + const struct drm_edid *edid_override; + struct mutex edid_override_mutex; + u64 epoch_counter; + u32 possible_encoders; + struct drm_encoder *encoder; + uint8_t eld[128]; + struct mutex eld_mutex; + bool latency_present[2]; + int video_latency[2]; + int audio_latency[2]; + struct i2c_adapter *ddc; + int null_edid_counter; + unsigned int bad_edid_counter; + bool edid_corrupt; + u8 real_edid_checksum; + struct dentry *debugfs_entry; + struct drm_connector_state *state; + struct drm_property_blob *tile_blob_ptr; + bool has_tile; + struct drm_tile_group *tile_group; + bool tile_is_single_monitor; + uint8_t num_h_tile; + uint8_t num_v_tile; + uint8_t tile_h_loc; + uint8_t tile_v_loc; + uint16_t tile_h_size; + uint16_t tile_v_size; + struct llist_node free_node; + struct drm_connector_hdmi hdmi; + struct drm_connector_hdmi_audio hdmi_audio; + struct drm_connector_cec cec; +}; + +struct drm_connector_cec_funcs { + void (*phys_addr_invalidate)(struct drm_connector *); + void (*phys_addr_set)(struct drm_connector *, u16); +}; + +struct drm_printer; + +struct drm_connector_funcs { + int (*dpms)(struct drm_connector *, int); + void (*reset)(struct drm_connector *); + enum drm_connector_status (*detect)(struct drm_connector *, bool); + void (*force)(struct drm_connector *); + int (*fill_modes)(struct drm_connector *, uint32_t, uint32_t); + int (*set_property)(struct drm_connector *, struct drm_property *, uint64_t); + int (*late_register)(struct drm_connector *); + void (*early_unregister)(struct drm_connector *); + void (*destroy)(struct drm_connector *); + struct drm_connector_state * (*atomic_duplicate_state)(struct drm_connector *); + void (*atomic_destroy_state)(struct drm_connector *, struct drm_connector_state *); + int (*atomic_set_property)(struct drm_connector *, struct drm_connector_state *, struct drm_property *, uint64_t); + int (*atomic_get_property)(struct drm_connector *, const struct drm_connector_state *, struct drm_property *, uint64_t *); + void (*atomic_print_state)(struct drm_printer *, const struct drm_connector_state *); + void (*oob_hotplug_event)(struct drm_connector *, enum drm_connector_status); + void (*debugfs_init)(struct drm_connector *, struct dentry *); +}; + +struct drm_connector_hdmi_audio_funcs { + int (*startup)(struct drm_connector *); + int (*prepare)(struct drm_connector *, struct hdmi_codec_daifmt *, struct hdmi_codec_params *); + void (*shutdown)(struct drm_connector *); + int (*mute_stream)(struct drm_connector *, bool, int); +}; + +struct drm_connector_hdmi_funcs { + enum drm_mode_status (*tmds_char_rate_valid)(const struct drm_connector *, const struct drm_display_mode *, long long unsigned int); + int (*clear_infoframe)(struct drm_connector *, enum hdmi_infoframe_type); + int (*write_infoframe)(struct drm_connector *, enum hdmi_infoframe_type, const u8 *, size_t); + const struct drm_edid * (*read_edid)(struct drm_connector *); +}; + +struct drm_connector_hdmi_state { + enum drm_hdmi_broadcast_rgb broadcast_rgb; + struct { + struct drm_connector_hdmi_infoframe avi; + struct drm_connector_hdmi_infoframe hdr_drm; + struct drm_connector_hdmi_infoframe spd; + struct drm_connector_hdmi_infoframe hdmi; + } infoframes; + bool is_limited_range; + unsigned int output_bpc; + enum hdmi_colorspace output_format; + long long unsigned int tmds_char_rate; +}; + +struct drm_writeback_connector; + +struct drm_writeback_job; + +struct drm_connector_helper_funcs { + int (*get_modes)(struct drm_connector *); + int (*detect_ctx)(struct drm_connector *, struct drm_modeset_acquire_ctx *, bool); + enum drm_mode_status (*mode_valid)(struct drm_connector *, const struct drm_display_mode *); + int (*mode_valid_ctx)(struct drm_connector *, const struct drm_display_mode *, struct drm_modeset_acquire_ctx *, enum drm_mode_status *); + struct drm_encoder * (*best_encoder)(struct drm_connector *); + struct drm_encoder * (*atomic_best_encoder)(struct drm_connector *, struct drm_atomic_state *); + int (*atomic_check)(struct drm_connector *, struct drm_atomic_state *); + void (*atomic_commit)(struct drm_connector *, struct drm_atomic_state *); + int (*prepare_writeback_job)(struct drm_writeback_connector *, struct drm_writeback_job *); + void (*cleanup_writeback_job)(struct drm_writeback_connector *, struct drm_writeback_job *); + void (*enable_hpd)(struct drm_connector *); + void (*disable_hpd)(struct drm_connector *); +}; + +struct drm_connector_list_iter { + struct drm_device *dev; + struct drm_connector *conn; +}; + +struct drm_tv_connector_state { + enum drm_mode_subconnector select_subconnector; + enum drm_mode_subconnector subconnector; + struct drm_connector_tv_margins margins; + unsigned int legacy_mode; + unsigned int mode; + unsigned int brightness; + unsigned int contrast; + unsigned int flicker_reduction; + unsigned int overscan; + unsigned int saturation; + unsigned int hue; +}; + +struct drm_connector_state { + struct drm_connector *connector; + struct drm_crtc *crtc; + struct drm_encoder *best_encoder; + enum drm_link_status link_status; + struct drm_atomic_state *state; + struct drm_crtc_commit *commit; + struct drm_tv_connector_state tv; + bool self_refresh_aware; + enum hdmi_picture_aspect picture_aspect_ratio; + unsigned int content_type; + unsigned int hdcp_content_type; + unsigned int scaling_mode; + unsigned int content_protection; + enum drm_colorspace colorspace; + struct drm_writeback_job *writeback_job; + u8 max_requested_bpc; + u8 max_bpc; + enum drm_privacy_screen_status privacy_screen_sw_state; + struct drm_property_blob *hdr_output_metadata; + struct drm_connector_hdmi_state hdmi; +}; + +struct drm_display_mode { + int clock; + u16 hdisplay; + u16 hsync_start; + u16 hsync_end; + u16 htotal; + u16 hskew; + u16 vdisplay; + u16 vsync_start; + u16 vsync_end; + u16 vtotal; + u16 vscan; + u32 flags; + int crtc_clock; + u16 crtc_hdisplay; + u16 crtc_hblank_start; + u16 crtc_hblank_end; + u16 crtc_hsync_start; + u16 crtc_hsync_end; + u16 crtc_htotal; + u16 crtc_hskew; + u16 crtc_vdisplay; + u16 crtc_vblank_start; + u16 crtc_vblank_end; + u16 crtc_vsync_start; + u16 crtc_vsync_end; + u16 crtc_vtotal; + u16 width_mm; + u16 height_mm; + u8 type; + bool expose_to_userspace; + struct list_head head; + char name[32]; + enum drm_mode_status status; + enum hdmi_picture_aspect picture_aspect_ratio; +}; + +struct drm_crtc_crc_entry; + +struct drm_crtc_crc { + spinlock_t lock; + const char *source; + bool opened; + bool overflow; + struct drm_crtc_crc_entry *entries; + int head; + int tail; + size_t values_cnt; + wait_queue_head_t wq; +}; + +struct drm_crtc_funcs; + +struct drm_crtc_helper_funcs; + +struct drm_self_refresh_data; + +struct drm_crtc { + struct drm_device *dev; + struct device_node *port; + struct list_head head; + char *name; + struct drm_modeset_lock mutex; + struct drm_mode_object base; + struct drm_plane *primary; + struct drm_plane *cursor; + unsigned int index; + int cursor_x; + int cursor_y; + bool enabled; + struct drm_display_mode mode; + struct drm_display_mode hwmode; + int x; + int y; + const struct drm_crtc_funcs *funcs; + uint32_t gamma_size; + uint16_t *gamma_store; + const struct drm_crtc_helper_funcs *helper_private; + struct drm_object_properties properties; + struct drm_property *scaling_filter_property; + struct drm_crtc_state *state; + struct list_head commit_list; + spinlock_t commit_lock; + struct dentry *debugfs_entry; + struct drm_crtc_crc crc; + unsigned int fence_context; + spinlock_t fence_lock; + long unsigned int fence_seqno; + char timeline_name[32]; + struct drm_self_refresh_data *self_refresh_data; +}; + +struct drm_pending_vblank_event; + +struct drm_crtc_commit { + struct drm_crtc *crtc; + struct kref ref; + struct completion flip_done; + struct completion hw_done; + struct completion cleanup_done; + struct list_head commit_entry; + struct drm_pending_vblank_event *event; + bool abort_completion; +}; + +struct drm_crtc_crc_entry { + bool has_frame_counter; + uint32_t frame; + uint32_t crcs[10]; +}; + +struct drm_crtc_funcs { + void (*reset)(struct drm_crtc *); + int (*cursor_set)(struct drm_crtc *, struct drm_file *, uint32_t, uint32_t, uint32_t); + int (*cursor_set2)(struct drm_crtc *, struct drm_file *, uint32_t, uint32_t, uint32_t, int32_t, int32_t); + int (*cursor_move)(struct drm_crtc *, int, int); + int (*gamma_set)(struct drm_crtc *, u16 *, u16 *, u16 *, uint32_t, struct drm_modeset_acquire_ctx *); + void (*destroy)(struct drm_crtc *); + int (*set_config)(struct drm_mode_set *, struct drm_modeset_acquire_ctx *); + int (*page_flip)(struct drm_crtc *, struct drm_framebuffer *, struct drm_pending_vblank_event *, uint32_t, struct drm_modeset_acquire_ctx *); + int (*page_flip_target)(struct drm_crtc *, struct drm_framebuffer *, struct drm_pending_vblank_event *, uint32_t, uint32_t, struct drm_modeset_acquire_ctx *); + int (*set_property)(struct drm_crtc *, struct drm_property *, uint64_t); + struct drm_crtc_state * (*atomic_duplicate_state)(struct drm_crtc *); + void (*atomic_destroy_state)(struct drm_crtc *, struct drm_crtc_state *); + int (*atomic_set_property)(struct drm_crtc *, struct drm_crtc_state *, struct drm_property *, uint64_t); + int (*atomic_get_property)(struct drm_crtc *, const struct drm_crtc_state *, struct drm_property *, uint64_t *); + int (*late_register)(struct drm_crtc *); + void (*early_unregister)(struct drm_crtc *); + int (*set_crc_source)(struct drm_crtc *, const char *); + int (*verify_crc_source)(struct drm_crtc *, const char *, size_t *); + const char * const * (*get_crc_sources)(struct drm_crtc *, size_t *); + void (*atomic_print_state)(struct drm_printer *, const struct drm_crtc_state *); + u32 (*get_vblank_counter)(struct drm_crtc *); + int (*enable_vblank)(struct drm_crtc *); + void (*disable_vblank)(struct drm_crtc *); + bool (*get_vblank_timestamp)(struct drm_crtc *, int *, ktime_t *, bool); +}; + +struct drm_crtc_get_sequence { + __u32 crtc_id; + __u32 active; + __u64 sequence; + __s64 sequence_ns; +}; + +struct drm_crtc_helper_funcs { + void (*dpms)(struct drm_crtc *, int); + void (*prepare)(struct drm_crtc *); + void (*commit)(struct drm_crtc *); + enum drm_mode_status (*mode_valid)(struct drm_crtc *, const struct drm_display_mode *); + bool (*mode_fixup)(struct drm_crtc *, const struct drm_display_mode *, struct drm_display_mode *); + int (*mode_set)(struct drm_crtc *, struct drm_display_mode *, struct drm_display_mode *, int, int, struct drm_framebuffer *); + void (*mode_set_nofb)(struct drm_crtc *); + int (*mode_set_base)(struct drm_crtc *, int, int, struct drm_framebuffer *); + int (*mode_set_base_atomic)(struct drm_crtc *, struct drm_framebuffer *, int, int, enum mode_set_atomic); + void (*disable)(struct drm_crtc *); + int (*atomic_check)(struct drm_crtc *, struct drm_atomic_state *); + void (*atomic_begin)(struct drm_crtc *, struct drm_atomic_state *); + void (*atomic_flush)(struct drm_crtc *, struct drm_atomic_state *); + void (*atomic_enable)(struct drm_crtc *, struct drm_atomic_state *); + void (*atomic_disable)(struct drm_crtc *, struct drm_atomic_state *); + bool (*get_scanout_position)(struct drm_crtc *, bool, int *, int *, ktime_t *, ktime_t *, const struct drm_display_mode *); +}; + +struct drm_crtc_queue_sequence { + __u32 crtc_id; + __u32 flags; + __u64 sequence; + __u64 user_data; +}; + +struct drm_crtc_state { + struct drm_crtc *crtc; + bool enable; + bool active; + bool planes_changed: 1; + bool mode_changed: 1; + bool active_changed: 1; + bool connectors_changed: 1; + bool zpos_changed: 1; + bool color_mgmt_changed: 1; + bool no_vblank: 1; + u32 plane_mask; + u32 connector_mask; + u32 encoder_mask; + struct drm_display_mode adjusted_mode; + struct drm_display_mode mode; + struct drm_property_blob *mode_blob; + struct drm_property_blob *degamma_lut; + struct drm_property_blob *ctm; + struct drm_property_blob *gamma_lut; + u32 target_vblank; + bool async_flip; + bool vrr_enabled; + bool self_refresh_active; + enum drm_scaling_filter scaling_filter; + struct drm_pending_vblank_event *event; + struct drm_crtc_commit *commit; + struct drm_atomic_state *state; +}; + +struct drm_debugfs_info { + const char *name; + int (*show)(struct seq_file *, void *); + u32 driver_features; + void *data; +}; + +struct drm_debugfs_entry { + struct drm_device *dev; + struct drm_debugfs_info file; + struct list_head list; +}; + +struct drm_mode_config_funcs; + +struct drm_mode_config_helper_funcs; + +struct drm_mode_config { + struct mutex mutex; + struct drm_modeset_lock connection_mutex; + struct drm_modeset_acquire_ctx *acquire_ctx; + struct mutex idr_mutex; + struct idr object_idr; + struct idr tile_idr; + struct mutex fb_lock; + int num_fb; + struct list_head fb_list; + spinlock_t connector_list_lock; + int num_connector; + struct ida connector_ida; + struct list_head connector_list; + struct llist_head connector_free_list; + struct work_struct connector_free_work; + int num_encoder; + struct list_head encoder_list; + int num_total_plane; + struct list_head plane_list; + struct raw_spinlock panic_lock; + int num_crtc; + struct list_head crtc_list; + struct list_head property_list; + struct list_head privobj_list; + unsigned int min_width; + unsigned int min_height; + unsigned int max_width; + unsigned int max_height; + const struct drm_mode_config_funcs *funcs; + bool poll_enabled; + bool poll_running; + bool delayed_event; + struct delayed_work output_poll_work; + struct mutex blob_lock; + struct list_head property_blob_list; + struct drm_property *edid_property; + struct drm_property *dpms_property; + struct drm_property *path_property; + struct drm_property *tile_property; + struct drm_property *link_status_property; + struct drm_property *plane_type_property; + struct drm_property *prop_src_x; + struct drm_property *prop_src_y; + struct drm_property *prop_src_w; + struct drm_property *prop_src_h; + struct drm_property *prop_crtc_x; + struct drm_property *prop_crtc_y; + struct drm_property *prop_crtc_w; + struct drm_property *prop_crtc_h; + struct drm_property *prop_fb_id; + struct drm_property *prop_in_fence_fd; + struct drm_property *prop_out_fence_ptr; + struct drm_property *prop_crtc_id; + struct drm_property *prop_fb_damage_clips; + struct drm_property *prop_active; + struct drm_property *prop_mode_id; + struct drm_property *prop_vrr_enabled; + struct drm_property *dvi_i_subconnector_property; + struct drm_property *dvi_i_select_subconnector_property; + struct drm_property *dp_subconnector_property; + struct drm_property *tv_subconnector_property; + struct drm_property *tv_select_subconnector_property; + struct drm_property *legacy_tv_mode_property; + struct drm_property *tv_mode_property; + struct drm_property *tv_left_margin_property; + struct drm_property *tv_right_margin_property; + struct drm_property *tv_top_margin_property; + struct drm_property *tv_bottom_margin_property; + struct drm_property *tv_brightness_property; + struct drm_property *tv_contrast_property; + struct drm_property *tv_flicker_reduction_property; + struct drm_property *tv_overscan_property; + struct drm_property *tv_saturation_property; + struct drm_property *tv_hue_property; + struct drm_property *scaling_mode_property; + struct drm_property *aspect_ratio_property; + struct drm_property *content_type_property; + struct drm_property *degamma_lut_property; + struct drm_property *degamma_lut_size_property; + struct drm_property *ctm_property; + struct drm_property *gamma_lut_property; + struct drm_property *gamma_lut_size_property; + struct drm_property *suggested_x_property; + struct drm_property *suggested_y_property; + struct drm_property *non_desktop_property; + struct drm_property *panel_orientation_property; + struct drm_property *writeback_fb_id_property; + struct drm_property *writeback_pixel_formats_property; + struct drm_property *writeback_out_fence_ptr_property; + struct drm_property *hdr_output_metadata_property; + struct drm_property *content_protection_property; + struct drm_property *hdcp_content_type_property; + uint32_t preferred_depth; + uint32_t prefer_shadow; + bool quirk_addfb_prefer_xbgr_30bpp; + bool quirk_addfb_prefer_host_byte_order; + bool async_page_flip; + bool fb_modifiers_not_supported; + bool normalize_zpos; + struct drm_property *modifiers_property; + struct drm_property *async_modifiers_property; + struct drm_property *size_hints_property; + uint32_t cursor_width; + uint32_t cursor_height; + struct drm_atomic_state *suspend_state; + const struct drm_mode_config_helper_funcs *helper_private; +}; + +struct drm_vram_mm; + +struct drm_driver; + +struct drm_minor; + +struct drm_master; + +struct drm_vblank_crtc; + +struct drm_vma_offset_manager; + +struct drm_fb_helper; + +struct drm_device { + int if_version; + struct kref ref; + struct device *dev; + struct device *dma_dev; + struct { + struct list_head resources; + void *final_kfree; + spinlock_t lock; + } managed; + const struct drm_driver *driver; + void *dev_private; + struct drm_minor *primary; + struct drm_minor *render; + struct drm_minor *accel; + bool registered; + struct drm_master *master; + u32 driver_features; + bool unplugged; + struct inode *anon_inode; + char *unique; + struct mutex struct_mutex; + struct mutex master_mutex; + atomic_t open_count; + struct mutex filelist_mutex; + struct list_head filelist; + struct list_head filelist_internal; + struct mutex clientlist_mutex; + struct list_head clientlist; + bool vblank_disable_immediate; + struct drm_vblank_crtc *vblank; + spinlock_t vblank_time_lock; + spinlock_t vbl_lock; + u32 max_vblank_count; + struct list_head vblank_event_list; + spinlock_t event_lock; + unsigned int num_crtcs; + struct drm_mode_config mode_config; + struct mutex object_name_lock; + struct idr object_name_idr; + struct drm_vma_offset_manager *vma_offset_manager; + struct drm_vram_mm *vram_mm; + enum switch_power_state switch_power_state; + struct drm_fb_helper *fb_helper; + struct dentry *debugfs_root; +}; + +struct drm_dmi_panel_orientation_data { + int width; + int height; + const char * const *bios_dates; + int orientation; +}; + +struct drm_mode_create_dumb; + +struct drm_fb_helper_surface_size; + +struct drm_ioctl_desc; + +struct drm_driver { + int (*load)(struct drm_device *, long unsigned int); + int (*open)(struct drm_device *, struct drm_file *); + void (*postclose)(struct drm_device *, struct drm_file *); + void (*unload)(struct drm_device *); + void (*release)(struct drm_device *); + void (*master_set)(struct drm_device *, struct drm_file *, bool); + void (*master_drop)(struct drm_device *, struct drm_file *); + void (*debugfs_init)(struct drm_minor *); + struct drm_gem_object * (*gem_create_object)(struct drm_device *, size_t); + int (*prime_handle_to_fd)(struct drm_device *, struct drm_file *, uint32_t, uint32_t, int *); + int (*prime_fd_to_handle)(struct drm_device *, struct drm_file *, int, uint32_t *); + struct drm_gem_object * (*gem_prime_import)(struct drm_device *, struct dma_buf *); + struct drm_gem_object * (*gem_prime_import_sg_table)(struct drm_device *, struct dma_buf_attachment *, struct sg_table *); + int (*dumb_create)(struct drm_file *, struct drm_device *, struct drm_mode_create_dumb *); + int (*dumb_map_offset)(struct drm_file *, struct drm_device *, uint32_t, uint64_t *); + int (*fbdev_probe)(struct drm_fb_helper *, struct drm_fb_helper_surface_size *); + void (*show_fdinfo)(struct drm_printer *, struct drm_file *); + int major; + int minor; + int patchlevel; + char *name; + char *desc; + u32 driver_features; + const struct drm_ioctl_desc *ioctls; + int num_ioctls; + const struct file_operations *fops; +}; + +struct drm_dsc_rc_range_parameters { + u8 range_min_qp; + u8 range_max_qp; + u8 range_bpg_offset; +}; + +struct drm_dsc_config { + u8 line_buf_depth; + u8 bits_per_component; + bool convert_rgb; + u8 slice_count; + u16 slice_width; + u16 slice_height; + bool simple_422; + u16 pic_width; + u16 pic_height; + u8 rc_tgt_offset_high; + u8 rc_tgt_offset_low; + u16 bits_per_pixel; + u8 rc_edge_factor; + u8 rc_quant_incr_limit1; + u8 rc_quant_incr_limit0; + u16 initial_xmit_delay; + u16 initial_dec_delay; + bool block_pred_enable; + u8 first_line_bpg_offset; + u16 initial_offset; + u16 rc_buf_thresh[14]; + struct drm_dsc_rc_range_parameters rc_range_params[15]; + u16 rc_model_size; + u8 flatness_min_qp; + u8 flatness_max_qp; + u8 initial_scale_value; + u16 scale_decrement_interval; + u16 scale_increment_interval; + u16 nfl_bpg_offset; + u16 slice_bpg_offset; + u16 final_offset; + bool vbr_enable; + u8 mux_word_size; + u16 slice_chunk_size; + u16 rc_bits; + u8 dsc_version_minor; + u8 dsc_version_major; + bool native_422; + bool native_420; + u8 second_line_bpg_offset; + u16 nsl_bpg_offset; + u16 second_line_offset_adj; +}; + +struct drm_dsc_picture_parameter_set { + u8 dsc_version; + u8 pps_identifier; + u8 pps_reserved; + u8 pps_3; + u8 pps_4; + u8 bits_per_pixel_low; + __be16 pic_height; + __be16 pic_width; + __be16 slice_height; + __be16 slice_width; + __be16 chunk_size; + u8 initial_xmit_delay_high; + u8 initial_xmit_delay_low; + __be16 initial_dec_delay; + u8 pps20_reserved; + u8 initial_scale_value; + __be16 scale_increment_interval; + u8 scale_decrement_interval_high; + u8 scale_decrement_interval_low; + u8 pps26_reserved; + u8 first_line_bpg_offset; + __be16 nfl_bpg_offset; + __be16 slice_bpg_offset; + __be16 initial_offset; + __be16 final_offset; + u8 flatness_min_qp; + u8 flatness_max_qp; + __be16 rc_model_size; + u8 rc_edge_factor; + u8 rc_quant_incr_limit0; + u8 rc_quant_incr_limit1; + u8 rc_tgt_offset; + u8 rc_buf_thresh[14]; + __be16 rc_range_parameters[15]; + u8 native_422_420; + u8 second_line_bpg_offset; + __be16 nsl_bpg_offset; + __be16 second_line_offset_adj; + u32 pps_long_94_reserved; + u32 pps_long_98_reserved; + u32 pps_long_102_reserved; + u32 pps_long_106_reserved; + u32 pps_long_110_reserved; + u32 pps_long_114_reserved; + u32 pps_long_118_reserved; + u32 pps_long_122_reserved; + __be16 pps_short_126_reserved; +} __attribute__((packed)); + +struct edid; + +struct drm_edid { + size_t size; + const struct edid *edid; +}; + +struct drm_edid_match_closure { + const struct drm_edid_ident *ident; + bool matched; +}; + +struct drm_edid_product_id { + __be16 manufacturer_name; + __le16 product_code; + __le32 serial_number; + u8 week_of_manufacture; + u8 year_of_manufacture; +} __attribute__((packed)); + +struct drm_encoder_funcs; + +struct drm_encoder_helper_funcs; + +struct drm_encoder { + struct drm_device *dev; + struct list_head head; + struct drm_mode_object base; + char *name; + int encoder_type; + unsigned int index; + uint32_t possible_crtcs; + uint32_t possible_clones; + struct drm_crtc *crtc; + struct list_head bridge_chain; + const struct drm_encoder_funcs *funcs; + const struct drm_encoder_helper_funcs *helper_private; + struct dentry *debugfs_entry; +}; + +struct drm_encoder_funcs { + void (*reset)(struct drm_encoder *); + void (*destroy)(struct drm_encoder *); + int (*late_register)(struct drm_encoder *); + void (*early_unregister)(struct drm_encoder *); + void (*debugfs_init)(struct drm_encoder *, struct dentry *); +}; + +struct drm_encoder_helper_funcs { + void (*dpms)(struct drm_encoder *, int); + enum drm_mode_status (*mode_valid)(struct drm_encoder *, const struct drm_display_mode *); + bool (*mode_fixup)(struct drm_encoder *, const struct drm_display_mode *, struct drm_display_mode *); + void (*prepare)(struct drm_encoder *); + void (*commit)(struct drm_encoder *); + void (*mode_set)(struct drm_encoder *, struct drm_display_mode *, struct drm_display_mode *); + void (*atomic_mode_set)(struct drm_encoder *, struct drm_crtc_state *, struct drm_connector_state *); + enum drm_connector_status (*detect)(struct drm_encoder *, struct drm_connector *); + void (*atomic_disable)(struct drm_encoder *, struct drm_atomic_state *); + void (*atomic_enable)(struct drm_encoder *, struct drm_atomic_state *); + void (*disable)(struct drm_encoder *); + void (*enable)(struct drm_encoder *); + int (*atomic_check)(struct drm_encoder *, struct drm_crtc_state *, struct drm_connector_state *); +}; + +struct drm_event { + __u32 type; + __u32 length; +}; + +struct drm_event_crtc_sequence { + struct drm_event base; + __u64 user_data; + __s64 time_ns; + __u64 sequence; +}; + +struct drm_event_vblank { + struct drm_event base; + __u64 user_data; + __u32 tv_sec; + __u32 tv_usec; + __u32 sequence; + __u32 crtc_id; +}; + +struct ww_acquire_ctx { + struct task_struct *task; + long unsigned int stamp; + unsigned int acquired; + short unsigned int wounded; + short unsigned int is_wait_die; +}; + +struct drm_exec { + u32 flags; + struct ww_acquire_ctx ticket; + unsigned int num_objects; + unsigned int max_objects; + struct drm_gem_object **objects; + struct drm_gem_object *contended; + struct drm_gem_object *prelocked; +}; + +struct fb_info; + +struct fb_deferred_io { + long unsigned int delay; + bool sort_pagereflist; + int open_count; + struct mutex lock; + struct list_head pagereflist; + struct address_space *mapping; + struct page * (*get_page)(struct fb_info *, long unsigned int); + void (*deferred_io)(struct fb_info *, struct list_head *); +}; + +struct drm_fb_helper_funcs; + +struct drm_fb_helper { + struct drm_client_dev client; + struct drm_client_buffer *buffer; + struct drm_framebuffer *fb; + struct drm_device *dev; + const struct drm_fb_helper_funcs *funcs; + struct fb_info *info; + u32 pseudo_palette[17]; + struct drm_clip_rect damage_clip; + spinlock_t damage_lock; + struct work_struct damage_work; + struct work_struct resume_work; + struct mutex lock; + struct list_head kernel_fb_list; + bool delayed_hotplug; + bool deferred_setup; + int preferred_bpp; + struct fb_deferred_io fbdefio; +}; + +struct drm_fb_helper_funcs { + int (*fb_dirty)(struct drm_fb_helper *, struct drm_clip_rect *); + void (*fb_restore)(struct drm_fb_helper *); + void (*fb_set_suspend)(struct drm_fb_helper *, bool); +}; + +struct drm_fb_helper_surface_size { + u32 fb_width; + u32 fb_height; + u32 surface_width; + u32 surface_height; + u32 surface_bpp; + u32 surface_depth; +}; + +struct drm_prime_file_private { + struct mutex lock; + struct rb_root dmabufs; + struct rb_root handles; +}; + +struct drm_file { + bool authenticated; + bool stereo_allowed; + bool universal_planes; + bool atomic; + bool aspect_ratio_allowed; + bool writeback_connectors; + bool was_master; + bool is_master; + bool supports_virtualized_cursor_plane; + struct drm_master *master; + spinlock_t master_lookup_lock; + struct pid *pid; + u64 client_id; + drm_magic_t magic; + struct list_head lhead; + struct drm_minor *minor; + struct idr object_idr; + spinlock_t table_lock; + struct idr syncobj_idr; + spinlock_t syncobj_table_lock; + struct file *filp; + void *driver_priv; + struct list_head fbs; + struct mutex fbs_lock; + struct list_head blobs; + wait_queue_head_t event_wait; + struct list_head pending_event_list; + struct list_head event_list; + int event_space; + struct mutex event_read_lock; + struct drm_prime_file_private prime; + const char *client_name; + struct mutex client_name_lock; + struct dentry *debugfs_client; +}; + +struct drm_flip_task { + struct list_head node; + void *data; +}; + +struct drm_flip_work; + +typedef void (*drm_flip_func_t)(struct drm_flip_work *, void *); + +struct drm_flip_work { + const char *name; + drm_flip_func_t func; + struct work_struct worker; + struct list_head queued; + struct list_head commited; + spinlock_t lock; +}; + +struct drm_format_conv_state { + struct { + void *mem; + size_t size; + bool preallocated; + } tmp; +}; + +struct drm_format_info { + u32 format; + u8 depth; + u8 num_planes; + union { + u8 cpp[4]; + u8 char_per_block[4]; + }; + u8 block_w[4]; + u8 block_h[4]; + u8 hsub; + u8 vsub; + bool has_alpha; + bool is_yuv; + bool is_color_indexed; +}; + +struct drm_format_modifier { + __u64 formats; + __u32 offset; + __u32 pad; + __u64 modifier; +}; + +struct drm_format_modifier_blob { + __u32 version; + __u32 flags; + __u32 count_formats; + __u32 formats_offset; + __u32 count_modifiers; + __u32 modifiers_offset; +}; + +struct drm_framebuffer_funcs { + void (*destroy)(struct drm_framebuffer *); + int (*create_handle)(struct drm_framebuffer *, struct drm_file *, unsigned int *); + int (*dirty)(struct drm_framebuffer *, struct drm_file *, unsigned int, unsigned int, struct drm_clip_rect *, unsigned int); +}; + +struct drm_gem_close { + __u32 handle; + __u32 pad; +}; + +struct drm_gem_flink { + __u32 handle; + __u32 name; +}; + +struct drm_gem_lru { + struct mutex *lock; + long int count; + struct list_head list; +}; + +struct drm_mm; + +struct drm_mm_node { + long unsigned int color; + u64 start; + u64 size; + struct drm_mm *mm; + struct list_head node_list; + struct list_head hole_stack; + struct rb_node rb; + struct rb_node rb_hole_size; + struct rb_node rb_hole_addr; + u64 __subtree_last; + u64 hole_size; + u64 subtree_max_hole; + long unsigned int flags; +}; + +struct drm_vma_offset_node { + rwlock_t vm_lock; + struct drm_mm_node vm_node; + struct rb_root vm_files; + void *driver_private; +}; + +struct drm_gem_object_funcs; + +struct drm_gem_object { + struct kref refcount; + unsigned int handle_count; + struct drm_device *dev; + struct file *filp; + struct drm_vma_offset_node vma_node; + size_t size; + int name; + struct dma_buf *dma_buf; + struct dma_buf_attachment *import_attach; + struct dma_resv *resv; + struct dma_resv _resv; + struct { + struct list_head list; + } gpuva; + const struct drm_gem_object_funcs *funcs; + struct list_head lru_node; + struct drm_gem_lru *lru; +}; + +struct drm_gem_object_funcs { + void (*free)(struct drm_gem_object *); + int (*open)(struct drm_gem_object *, struct drm_file *); + void (*close)(struct drm_gem_object *, struct drm_file *); + void (*print_info)(struct drm_printer *, unsigned int, const struct drm_gem_object *); + struct dma_buf * (*export)(struct drm_gem_object *, int); + int (*pin)(struct drm_gem_object *); + void (*unpin)(struct drm_gem_object *); + struct sg_table * (*get_sg_table)(struct drm_gem_object *); + int (*vmap)(struct drm_gem_object *, struct iosys_map *); + void (*vunmap)(struct drm_gem_object *, struct iosys_map *); + int (*mmap)(struct drm_gem_object *, struct vm_area_struct *); + int (*evict)(struct drm_gem_object *); + enum drm_gem_object_status (*status)(struct drm_gem_object *); + size_t (*rss)(struct drm_gem_object *); + const struct vm_operations_struct *vm_ops; +}; + +struct drm_gem_open { + __u32 name; + __u32 handle; + __u64 size; +}; + +struct drm_gem_shmem_object { + struct drm_gem_object base; + struct page **pages; + refcount_t pages_use_count; + refcount_t pages_pin_count; + int madv; + struct list_head madv_list; + struct sg_table *sgt; + void *vaddr; + refcount_t vmap_use_count; + bool pages_mark_dirty_on_put: 1; + bool pages_mark_accessed_on_put: 1; + bool map_wc: 1; +}; + +struct drm_get_cap { + __u64 capability; + __u64 value; +}; + +struct drm_gpuvm; + +struct drm_gpuvm_bo; + +struct drm_gpuva { + struct drm_gpuvm *vm; + struct drm_gpuvm_bo *vm_bo; + enum drm_gpuva_flags flags; + struct { + u64 addr; + u64 range; + } va; + struct { + u64 offset; + struct drm_gem_object *obj; + struct list_head entry; + } gem; + struct { + struct rb_node node; + struct list_head entry; + u64 __subtree_last; + } rb; +}; + +struct drm_gpuva_op_map { + struct { + u64 addr; + u64 range; + } va; + struct { + u64 offset; + struct drm_gem_object *obj; + } gem; +}; + +struct drm_gpuva_op_unmap; + +struct drm_gpuva_op_remap { + struct drm_gpuva_op_map *prev; + struct drm_gpuva_op_map *next; + struct drm_gpuva_op_unmap *unmap; +}; + +struct drm_gpuva_op_unmap { + struct drm_gpuva *va; + bool keep; +}; + +struct drm_gpuva_op_prefetch { + struct drm_gpuva *va; +}; + +struct drm_gpuva_op { + struct list_head entry; + enum drm_gpuva_op_type op; + union { + struct drm_gpuva_op_map map; + struct drm_gpuva_op_remap remap; + struct drm_gpuva_op_unmap unmap; + struct drm_gpuva_op_prefetch prefetch; + }; +}; + +struct drm_gpuvm_ops; + +struct drm_gpuvm { + const char *name; + enum drm_gpuvm_flags flags; + struct drm_device *drm; + u64 mm_start; + u64 mm_range; + struct { + struct rb_root_cached tree; + struct list_head list; + } rb; + struct kref kref; + struct drm_gpuva kernel_alloc_node; + const struct drm_gpuvm_ops *ops; + struct drm_gem_object *r_obj; + struct { + struct list_head list; + struct list_head *local_list; + spinlock_t lock; + } extobj; + struct { + struct list_head list; + struct list_head *local_list; + spinlock_t lock; + } evict; +}; + +struct drm_gpuvm_bo { + struct drm_gpuvm *vm; + struct drm_gem_object *obj; + bool evicted; + struct kref kref; + struct { + struct list_head gpuva; + struct { + struct list_head gem; + struct list_head extobj; + struct list_head evict; + } entry; + } list; +}; + +struct drm_gpuvm_ops { + void (*vm_free)(struct drm_gpuvm *); + struct drm_gpuva_op * (*op_alloc)(void); + void (*op_free)(struct drm_gpuva_op *); + struct drm_gpuvm_bo * (*vm_bo_alloc)(void); + void (*vm_bo_free)(struct drm_gpuvm_bo *); + int (*vm_bo_validate)(struct drm_gpuvm_bo *, struct drm_exec *); + int (*sm_step_map)(struct drm_gpuva_op *, void *); + int (*sm_step_remap)(struct drm_gpuva_op *, void *); + int (*sm_step_unmap)(struct drm_gpuva_op *, void *); +}; + +struct drm_info_list { + const char *name; + int (*show)(struct seq_file *, void *); + u32 driver_features; + void *data; +}; + +struct drm_info_node { + struct drm_minor *minor; + const struct drm_info_list *info_ent; + struct list_head list; + struct dentry *dent; +}; + +typedef int drm_ioctl_t(struct drm_device *, void *, struct drm_file *); + +struct drm_ioctl_desc { + unsigned int cmd; + enum drm_ioctl_flags flags; + drm_ioctl_t *func; + const char *name; +}; + +struct drm_log_scanout; + +struct drm_log { + struct mutex lock; + struct drm_client_dev client; + struct console con; + bool probed; + u32 n_scanout; + struct drm_log_scanout *scanout; +}; + +struct font_desc; + +struct drm_log_scanout { + struct drm_client_buffer *buffer; + const struct font_desc *font; + u32 rows; + u32 columns; + u32 scaled_font_h; + u32 scaled_font_w; + u32 line; + u32 format; + u32 px_width; + u32 front_color; + u32 prefix_color; +}; + +struct drm_master { + struct kref refcount; + struct drm_device *dev; + char *unique; + int unique_len; + struct idr magic_map; + void *driver_priv; + struct drm_master *lessor; + int lessee_id; + struct list_head lessee_list; + struct list_head lessees; + struct idr leases; + struct idr lessee_idr; +}; + +struct drm_memory_stats { + u64 shared; + u64 private; + u64 resident; + u64 purgeable; + u64 active; +}; + +struct drm_minor { + int index; + int type; + struct device *kdev; + struct drm_device *dev; + struct dentry *debugfs_symlink; + struct dentry *debugfs_root; +}; + +struct drm_mm { + void (*color_adjust)(const struct drm_mm_node *, long unsigned int, u64 *, u64 *); + struct list_head hole_stack; + struct drm_mm_node head_node; + struct rb_root_cached interval_tree; + struct rb_root_cached holes_size; + struct rb_root holes_addr; + long unsigned int scan_active; +}; + +struct drm_mm_scan { + struct drm_mm *mm; + u64 size; + u64 alignment; + u64 remainder_mask; + u64 range_start; + u64 range_end; + u64 hit_start; + u64 hit_end; + long unsigned int color; + enum drm_mm_insert_mode mode; +}; + +struct drm_mode_atomic { + __u32 flags; + __u32 count_objs; + __u64 objs_ptr; + __u64 count_props_ptr; + __u64 props_ptr; + __u64 prop_values_ptr; + __u64 reserved; + __u64 user_data; +}; + +struct drm_mode_card_res { + __u64 fb_id_ptr; + __u64 crtc_id_ptr; + __u64 connector_id_ptr; + __u64 encoder_id_ptr; + __u32 count_fbs; + __u32 count_crtcs; + __u32 count_connectors; + __u32 count_encoders; + __u32 min_width; + __u32 max_width; + __u32 min_height; + __u32 max_height; +}; + +struct drm_mode_closefb { + __u32 fb_id; + __u32 pad; +}; + +struct drm_mode_fb_cmd2; + +struct drm_mode_config_funcs { + struct drm_framebuffer * (*fb_create)(struct drm_device *, struct drm_file *, const struct drm_format_info *, const struct drm_mode_fb_cmd2 *); + const struct drm_format_info * (*get_format_info)(u32, u64); + enum drm_mode_status (*mode_valid)(struct drm_device *, const struct drm_display_mode *); + int (*atomic_check)(struct drm_device *, struct drm_atomic_state *); + int (*atomic_commit)(struct drm_device *, struct drm_atomic_state *, bool); + struct drm_atomic_state * (*atomic_state_alloc)(struct drm_device *); + void (*atomic_state_clear)(struct drm_atomic_state *); + void (*atomic_state_free)(struct drm_atomic_state *); +}; + +struct drm_mode_config_helper_funcs { + void (*atomic_commit_tail)(struct drm_atomic_state *); + int (*atomic_commit_setup)(struct drm_atomic_state *); +}; + +struct drm_mode_connector_set_property { + __u64 value; + __u32 prop_id; + __u32 connector_id; +}; + +struct drm_mode_create_blob { + __u64 data; + __u32 length; + __u32 blob_id; +}; + +struct drm_mode_create_dumb { + __u32 height; + __u32 width; + __u32 bpp; + __u32 flags; + __u32 handle; + __u32 pitch; + __u64 size; +}; + +struct drm_mode_create_lease { + __u64 object_ids; + __u32 object_count; + __u32 flags; + __u32 lessee_id; + __u32 fd; +}; + +struct drm_mode_modeinfo { + __u32 clock; + __u16 hdisplay; + __u16 hsync_start; + __u16 hsync_end; + __u16 htotal; + __u16 hskew; + __u16 vdisplay; + __u16 vsync_start; + __u16 vsync_end; + __u16 vtotal; + __u16 vscan; + __u32 vrefresh; + __u32 flags; + __u32 type; + char name[32]; +}; + +struct drm_mode_crtc { + __u64 set_connectors_ptr; + __u32 count_connectors; + __u32 crtc_id; + __u32 fb_id; + __u32 x; + __u32 y; + __u32 gamma_size; + __u32 mode_valid; + struct drm_mode_modeinfo mode; +}; + +struct drm_mode_crtc_lut { + __u32 crtc_id; + __u32 gamma_size; + __u64 red; + __u64 green; + __u64 blue; +}; + +struct drm_mode_crtc_page_flip_target { + __u32 crtc_id; + __u32 fb_id; + __u32 flags; + __u32 sequence; + __u64 user_data; +}; + +struct drm_mode_cursor { + __u32 flags; + __u32 crtc_id; + __s32 x; + __s32 y; + __u32 width; + __u32 height; + __u32 handle; +}; + +struct drm_mode_cursor2 { + __u32 flags; + __u32 crtc_id; + __s32 x; + __s32 y; + __u32 width; + __u32 height; + __u32 handle; + __s32 hot_x; + __s32 hot_y; +}; + +struct drm_mode_destroy_blob { + __u32 blob_id; +}; + +struct drm_mode_destroy_dumb { + __u32 handle; +}; + +struct drm_mode_fb_cmd { + __u32 fb_id; + __u32 width; + __u32 height; + __u32 pitch; + __u32 bpp; + __u32 depth; + __u32 handle; +}; + +struct drm_mode_fb_cmd2 { + __u32 fb_id; + __u32 width; + __u32 height; + __u32 pixel_format; + __u32 flags; + __u32 handles[4]; + __u32 pitches[4]; + __u32 offsets[4]; + __u64 modifier[4]; +}; + +struct drm_mode_fb_cmd232 { + u32 fb_id; + u32 width; + u32 height; + u32 pixel_format; + u32 flags; + u32 handles[4]; + u32 pitches[4]; + u32 offsets[4]; + u64 modifier[4]; +} __attribute__((packed)); + +struct drm_mode_fb_dirty_cmd { + __u32 fb_id; + __u32 flags; + __u32 color; + __u32 num_clips; + __u64 clips_ptr; +}; + +struct drm_mode_get_blob { + __u32 blob_id; + __u32 length; + __u64 data; +}; + +struct drm_mode_get_connector { + __u64 encoders_ptr; + __u64 modes_ptr; + __u64 props_ptr; + __u64 prop_values_ptr; + __u32 count_modes; + __u32 count_props; + __u32 count_encoders; + __u32 encoder_id; + __u32 connector_id; + __u32 connector_type; + __u32 connector_type_id; + __u32 connection; + __u32 mm_width; + __u32 mm_height; + __u32 subpixel; + __u32 pad; +}; + +struct drm_mode_get_encoder { + __u32 encoder_id; + __u32 encoder_type; + __u32 crtc_id; + __u32 possible_crtcs; + __u32 possible_clones; +}; + +struct drm_mode_get_lease { + __u32 count_objects; + __u32 pad; + __u64 objects_ptr; +}; + +struct drm_mode_get_plane { + __u32 plane_id; + __u32 crtc_id; + __u32 fb_id; + __u32 possible_crtcs; + __u32 gamma_size; + __u32 count_format_types; + __u64 format_type_ptr; +}; + +struct drm_mode_get_plane_res { + __u64 plane_id_ptr; + __u32 count_planes; +}; + +struct drm_mode_get_property { + __u64 values_ptr; + __u64 enum_blob_ptr; + __u32 prop_id; + __u32 flags; + char name[32]; + __u32 count_values; + __u32 count_enum_blobs; +}; + +struct drm_mode_list_lessees { + __u32 count_lessees; + __u32 pad; + __u64 lessees_ptr; +}; + +struct drm_mode_map_dumb { + __u32 handle; + __u32 pad; + __u64 offset; +}; + +struct drm_mode_obj_get_properties { + __u64 props_ptr; + __u64 prop_values_ptr; + __u32 count_props; + __u32 obj_id; + __u32 obj_type; +}; + +struct drm_mode_obj_set_property { + __u64 value; + __u32 prop_id; + __u32 obj_id; + __u32 obj_type; +}; + +struct drm_mode_property_enum { + __u64 value; + char name[32]; +}; + +struct drm_mode_rect { + __s32 x1; + __s32 y1; + __s32 x2; + __s32 y2; +}; + +struct drm_mode_revoke_lease { + __u32 lessee_id; +}; + +struct drm_mode_rmfb_work { + struct work_struct work; + struct list_head fbs; +}; + +struct drm_mode_set { + struct drm_framebuffer *fb; + struct drm_crtc *crtc; + struct drm_display_mode *mode; + uint32_t x; + uint32_t y; + struct drm_connector **connectors; + size_t num_connectors; +}; + +struct drm_mode_set_plane { + __u32 plane_id; + __u32 crtc_id; + __u32 fb_id; + __u32 flags; + __s32 crtc_x; + __s32 crtc_y; + __u32 crtc_w; + __u32 crtc_h; + __u32 src_x; + __u32 src_y; + __u32 src_h; + __u32 src_w; +}; + +struct drm_modeset_acquire_ctx { + struct ww_acquire_ctx ww_ctx; + struct drm_modeset_lock *contended; + depot_stack_handle_t stack_depot; + struct list_head locked; + bool trylock_only; + bool interruptible; +}; + +struct drm_named_mode { + const char *name; + unsigned int pixel_clock_khz; + unsigned int xres; + unsigned int yres; + unsigned int flags; + unsigned int tv_mode; +}; + +struct sync_file; + +struct drm_out_fence_state { + s32 *out_fence_ptr; + struct sync_file *sync_file; + int fd; +}; + +struct drm_panel_funcs; + +struct drm_panel { + struct device *dev; + struct backlight_device *backlight; + const struct drm_panel_funcs *funcs; + int connector_type; + struct list_head list; + struct list_head followers; + struct mutex follower_lock; + bool prepare_prev_first; + bool prepared; + bool enabled; + void *container; + struct kref refcount; +}; + +struct drm_panel_follower_funcs; + +struct drm_panel_follower { + const struct drm_panel_follower_funcs *funcs; + struct list_head list; + struct drm_panel *panel; +}; + +struct drm_panel_follower_funcs { + int (*panel_prepared)(struct drm_panel_follower *); + int (*panel_unpreparing)(struct drm_panel_follower *); + int (*panel_enabled)(struct drm_panel_follower *); + int (*panel_disabling)(struct drm_panel_follower *); +}; + +struct drm_panel_funcs { + int (*prepare)(struct drm_panel *); + int (*enable)(struct drm_panel *); + int (*disable)(struct drm_panel *); + int (*unprepare)(struct drm_panel *); + int (*get_modes)(struct drm_panel *, struct drm_connector *); + enum drm_panel_orientation (*get_orientation)(struct drm_panel *); + int (*get_timings)(struct drm_panel *, unsigned int, struct display_timing *); + void (*debugfs_init)(struct drm_panel *, struct dentry *); +}; + +struct drm_panic_line { + u32 len; + const char *txt; +}; + +struct drm_pending_event { + struct completion *completion; + void (*completion_release)(struct completion *); + struct drm_event *event; + struct dma_fence *fence; + struct drm_file *file_priv; + struct list_head link; + struct list_head pending_link; +}; + +struct drm_pending_vblank_event { + struct drm_pending_event base; + unsigned int pipe; + u64 sequence; + union { + struct drm_event base; + struct drm_event_vblank vbl; + struct drm_event_crtc_sequence seq; + } event; +}; + +struct kmsg_dump_detail; + +struct kmsg_dumper { + struct list_head list; + void (*dump)(struct kmsg_dumper *, struct kmsg_dump_detail *); + enum kmsg_dump_reason max_reason; + bool registered; +}; + +struct drm_plane_funcs; + +struct drm_plane_helper_funcs; + +struct drm_plane { + struct drm_device *dev; + struct list_head head; + char *name; + struct drm_modeset_lock mutex; + struct drm_mode_object base; + uint32_t possible_crtcs; + uint32_t *format_types; + unsigned int format_count; + bool format_default; + uint64_t *modifiers; + unsigned int modifier_count; + struct drm_crtc *crtc; + struct drm_framebuffer *fb; + struct drm_framebuffer *old_fb; + const struct drm_plane_funcs *funcs; + struct drm_object_properties properties; + enum drm_plane_type type; + unsigned int index; + const struct drm_plane_helper_funcs *helper_private; + struct drm_plane_state *state; + struct drm_property *alpha_property; + struct drm_property *zpos_property; + struct drm_property *rotation_property; + struct drm_property *blend_mode_property; + struct drm_property *color_encoding_property; + struct drm_property *color_range_property; + struct drm_property *scaling_filter_property; + struct drm_property *hotspot_x_property; + struct drm_property *hotspot_y_property; + struct kmsg_dumper kmsg_panic; +}; + +struct drm_plane_funcs { + int (*update_plane)(struct drm_plane *, struct drm_crtc *, struct drm_framebuffer *, int, int, unsigned int, unsigned int, uint32_t, uint32_t, uint32_t, uint32_t, struct drm_modeset_acquire_ctx *); + int (*disable_plane)(struct drm_plane *, struct drm_modeset_acquire_ctx *); + void (*destroy)(struct drm_plane *); + void (*reset)(struct drm_plane *); + int (*set_property)(struct drm_plane *, struct drm_property *, uint64_t); + struct drm_plane_state * (*atomic_duplicate_state)(struct drm_plane *); + void (*atomic_destroy_state)(struct drm_plane *, struct drm_plane_state *); + int (*atomic_set_property)(struct drm_plane *, struct drm_plane_state *, struct drm_property *, uint64_t); + int (*atomic_get_property)(struct drm_plane *, const struct drm_plane_state *, struct drm_property *, uint64_t *); + int (*late_register)(struct drm_plane *); + void (*early_unregister)(struct drm_plane *); + void (*atomic_print_state)(struct drm_printer *, const struct drm_plane_state *); + bool (*format_mod_supported)(struct drm_plane *, uint32_t, uint64_t); + bool (*format_mod_supported_async)(struct drm_plane *, u32, u64); +}; + +struct drm_scanout_buffer; + +struct drm_plane_helper_funcs { + int (*prepare_fb)(struct drm_plane *, struct drm_plane_state *); + void (*cleanup_fb)(struct drm_plane *, struct drm_plane_state *); + int (*begin_fb_access)(struct drm_plane *, struct drm_plane_state *); + void (*end_fb_access)(struct drm_plane *, struct drm_plane_state *); + int (*atomic_check)(struct drm_plane *, struct drm_atomic_state *); + void (*atomic_update)(struct drm_plane *, struct drm_atomic_state *); + void (*atomic_enable)(struct drm_plane *, struct drm_atomic_state *); + void (*atomic_disable)(struct drm_plane *, struct drm_atomic_state *); + int (*atomic_async_check)(struct drm_plane *, struct drm_atomic_state *, bool); + void (*atomic_async_update)(struct drm_plane *, struct drm_atomic_state *); + int (*get_scanout_buffer)(struct drm_plane *, struct drm_scanout_buffer *); + void (*panic_flush)(struct drm_plane *); +}; + +struct drm_plane_size_hint { + __u16 width; + __u16 height; +}; + +struct drm_plane_state { + struct drm_plane *plane; + struct drm_crtc *crtc; + struct drm_framebuffer *fb; + struct dma_fence *fence; + int32_t crtc_x; + int32_t crtc_y; + uint32_t crtc_w; + uint32_t crtc_h; + uint32_t src_x; + uint32_t src_y; + uint32_t src_h; + uint32_t src_w; + int32_t hotspot_x; + int32_t hotspot_y; + u16 alpha; + uint16_t pixel_blend_mode; + unsigned int rotation; + unsigned int zpos; + unsigned int normalized_zpos; + enum drm_color_encoding color_encoding; + enum drm_color_range color_range; + struct drm_property_blob *fb_damage_clips; + bool ignore_damage_clips; + struct drm_rect src; + struct drm_rect dst; + bool visible; + enum drm_scaling_filter scaling_filter; + struct drm_crtc_commit *commit; + struct drm_atomic_state *state; + bool color_mgmt_changed: 1; +}; + +struct drm_prime_handle { + __u32 handle; + __u32 flags; + __s32 fd; +}; + +struct drm_prime_member { + struct dma_buf *dma_buf; + uint32_t handle; + struct rb_node dmabuf_rb; + struct rb_node handle_rb; +}; + +struct drm_print_iterator { + void *data; + ssize_t start; + ssize_t remain; + ssize_t offset; +}; + +struct va_format; + +struct drm_printer { + void (*printfn)(struct drm_printer *, struct va_format *); + void (*puts)(struct drm_printer *, const char *); + void *arg; + const void *origin; + const char *prefix; + struct { + unsigned int series; + unsigned int counter; + } line; + enum drm_debug_category category; +}; + +struct drm_privacy_screen_ops; + +struct drm_privacy_screen { + struct device dev; + struct mutex lock; + struct list_head list; + struct blocking_notifier_head notifier_head; + const struct drm_privacy_screen_ops *ops; + enum drm_privacy_screen_status sw_state; + enum drm_privacy_screen_status hw_state; + void *drvdata; +}; + +struct drm_privacy_screen_ops { + int (*set_sw_state)(struct drm_privacy_screen *, enum drm_privacy_screen_status); + void (*get_hw_state)(struct drm_privacy_screen *); +}; + +struct drm_private_state_funcs { + struct drm_private_state * (*atomic_duplicate_state)(struct drm_private_obj *); + void (*atomic_destroy_state)(struct drm_private_obj *, struct drm_private_state *); + void (*atomic_print_state)(struct drm_printer *, const struct drm_private_state *); +}; + +struct drm_prop_enum_list { + int type; + const char *name; +}; + +struct drm_property { + struct list_head head; + struct drm_mode_object base; + uint32_t flags; + char name[32]; + uint32_t num_values; + uint64_t *values; + struct drm_device *dev; + struct list_head enum_list; +}; + +struct drm_property_blob { + struct drm_mode_object base; + struct drm_device *dev; + struct list_head head_global; + struct list_head head_file; + size_t length; + void *data; +}; + +struct drm_property_enum { + uint64_t value; + struct list_head head; + char name[32]; +}; + +struct drm_scanout_buffer { + const struct drm_format_info *format; + struct iosys_map map[4]; + struct page **pages; + unsigned int width; + unsigned int height; + unsigned int pitch[4]; + void (*set_pixel)(struct drm_scanout_buffer *, unsigned int, unsigned int, u32); + void *private; +}; + +struct ewma_psr_time { + long unsigned int internal; +}; + +struct drm_self_refresh_data { + struct drm_crtc *crtc; + struct delayed_work entry_work; + struct mutex avg_mutex; + struct ewma_psr_time entry_avg_ms; + struct ewma_psr_time exit_avg_ms; +}; + +struct drm_set_client_cap { + __u64 capability; + __u64 value; +}; + +struct drm_set_client_name { + __u64 name_len; + __u64 name; +}; + +struct drm_set_version { + int drm_di_major; + int drm_di_minor; + int drm_dd_major; + int drm_dd_minor; +}; + +struct drm_shadow_plane_state { + struct drm_plane_state base; + struct drm_format_conv_state fmtcnv_state; + struct iosys_map map[4]; + struct iosys_map data[4]; +}; + +struct drm_simple_display_pipe_funcs; + +struct drm_simple_display_pipe { + struct drm_crtc crtc; + struct drm_plane plane; + struct drm_encoder encoder; + struct drm_connector *connector; + const struct drm_simple_display_pipe_funcs *funcs; +}; + +struct drm_simple_display_pipe_funcs { + enum drm_mode_status (*mode_valid)(struct drm_simple_display_pipe *, const struct drm_display_mode *); + void (*enable)(struct drm_simple_display_pipe *, struct drm_crtc_state *, struct drm_plane_state *); + void (*disable)(struct drm_simple_display_pipe *); + int (*check)(struct drm_simple_display_pipe *, struct drm_plane_state *, struct drm_crtc_state *); + void (*update)(struct drm_simple_display_pipe *, struct drm_plane_state *); + int (*prepare_fb)(struct drm_simple_display_pipe *, struct drm_plane_state *); + void (*cleanup_fb)(struct drm_simple_display_pipe *, struct drm_plane_state *); + int (*begin_fb_access)(struct drm_simple_display_pipe *, struct drm_plane_state *); + void (*end_fb_access)(struct drm_simple_display_pipe *, struct drm_plane_state *); + int (*enable_vblank)(struct drm_simple_display_pipe *); + void (*disable_vblank)(struct drm_simple_display_pipe *); + void (*reset_crtc)(struct drm_simple_display_pipe *); + struct drm_crtc_state * (*duplicate_crtc_state)(struct drm_simple_display_pipe *); + void (*destroy_crtc_state)(struct drm_simple_display_pipe *, struct drm_crtc_state *); + void (*reset_plane)(struct drm_simple_display_pipe *); + struct drm_plane_state * (*duplicate_plane_state)(struct drm_simple_display_pipe *); + void (*destroy_plane_state)(struct drm_simple_display_pipe *, struct drm_plane_state *); +}; + +struct drm_stats { + long unsigned int count; + struct { + long unsigned int value; + enum drm_stat_type type; + } data[15]; +}; + +struct drm_stats32 { + u32 count; + struct { + u32 value; + enum drm_stat_type type; + } data[15]; +}; + +typedef struct drm_stats32 drm_stats32_t; + +struct drm_syncobj { + struct kref refcount; + struct dma_fence *fence; + struct list_head cb_list; + struct list_head ev_fd_list; + spinlock_t lock; + struct file *file; +}; + +struct drm_syncobj_array { + __u64 handles; + __u32 count_handles; + __u32 pad; +}; + +struct drm_syncobj_create { + __u32 handle; + __u32 flags; +}; + +struct drm_syncobj_destroy { + __u32 handle; + __u32 pad; +}; + +struct drm_syncobj_eventfd { + __u32 handle; + __u32 flags; + __u64 point; + __s32 fd; + __u32 pad; +}; + +struct drm_syncobj_handle { + __u32 handle; + __u32 flags; + __s32 fd; + __u32 pad; + __u64 point; +}; + +struct drm_syncobj_timeline_array { + __u64 handles; + __u64 points; + __u32 count_handles; + __u32 flags; +}; + +struct drm_syncobj_timeline_wait { + __u64 handles; + __u64 points; + __s64 timeout_nsec; + __u32 count_handles; + __u32 flags; + __u32 first_signaled; + __u32 pad; + __u64 deadline_nsec; +}; + +struct drm_syncobj_transfer { + __u32 src_handle; + __u32 dst_handle; + __u64 src_point; + __u64 dst_point; + __u32 flags; + __u32 pad; +}; + +struct drm_syncobj_wait { + __u64 handles; + __s64 timeout_nsec; + __u32 count_handles; + __u32 flags; + __u32 first_signaled; + __u32 pad; + __u64 deadline_nsec; +}; + +struct drm_sysfb_crtc_state { + struct drm_crtc_state base; + const struct drm_format_info *format; +}; + +struct drm_sysfb_device { + struct drm_device dev; + const u8 *edid; + struct drm_display_mode fb_mode; + const struct drm_format_info *fb_format; + unsigned int fb_pitch; + unsigned int fb_gamma_lut_size; + struct iosys_map fb_addr; +}; + +struct pixel_format { + unsigned char bits_per_pixel; + bool indexed; + union { + struct { + struct { + unsigned char offset; + unsigned char length; + } alpha; + struct { + unsigned char offset; + unsigned char length; + } red; + struct { + unsigned char offset; + unsigned char length; + } green; + struct { + unsigned char offset; + unsigned char length; + } blue; + }; + struct { + unsigned char offset; + unsigned char length; + } index; + }; +}; + +struct drm_sysfb_format { + struct pixel_format pixel; + u32 fourcc; +}; + +struct drm_tile_group { + struct kref refcount; + struct drm_device *dev; + int id; + u8 group_data[8]; +}; + +struct drm_unique { + __kernel_size_t unique_len; + char *unique; +}; + +struct drm_unique32 { + u32 unique_len; + u32 unique; +}; + +typedef struct drm_unique32 drm_unique32_t; + +struct drm_vblank_crtc_config { + int offdelay_ms; + bool disable_immediate; +}; + +struct drm_vblank_crtc { + struct drm_device *dev; + wait_queue_head_t queue; + struct timer_list disable_timer; + seqlock_t seqlock; + atomic64_t count; + ktime_t time; + atomic_t refcount; + u32 last; + u32 max_vblank_count; + unsigned int inmodeset; + unsigned int pipe; + int framedur_ns; + int linedur_ns; + struct drm_display_mode hwmode; + struct drm_vblank_crtc_config config; + bool enabled; + struct kthread_worker *worker; + struct list_head pending_work; + wait_queue_head_t work_wait_queue; +}; + +struct drm_vblank_work { + struct kthread_work base; + struct drm_vblank_crtc *vblank; + u64 count; + int cancelling; + struct list_head node; +}; + +struct drm_version { + int version_major; + int version_minor; + int version_patchlevel; + __kernel_size_t name_len; + char *name; + __kernel_size_t date_len; + char *date; + __kernel_size_t desc_len; + char *desc; +}; + +struct drm_version_32 { + int version_major; + int version_minor; + int version_patchlevel; + u32 name_len; + u32 name; + u32 date_len; + u32 date; + u32 desc_len; + u32 desc; +}; + +typedef struct drm_version_32 drm_version32_t; + +struct drm_vma_offset_file { + struct rb_node vm_rb; + struct drm_file *vm_tag; + long unsigned int vm_count; +}; + +struct drm_vma_offset_manager { + rwlock_t vm_lock; + struct drm_mm vm_addr_space_mm; +}; + +struct drm_wait_vblank_request { + enum drm_vblank_seq_type type; + unsigned int sequence; + long unsigned int signal; +}; + +struct drm_wait_vblank_reply { + enum drm_vblank_seq_type type; + unsigned int sequence; + long int tval_sec; + long int tval_usec; +}; + +union drm_wait_vblank { + struct drm_wait_vblank_request request; + struct drm_wait_vblank_reply reply; +}; + +struct drm_wait_vblank_request32 { + enum drm_vblank_seq_type type; + unsigned int sequence; + u32 signal; +}; + +struct drm_wait_vblank_reply32 { + enum drm_vblank_seq_type type; + unsigned int sequence; + s32 tval_sec; + s32 tval_usec; +}; + +union drm_wait_vblank32 { + struct drm_wait_vblank_request32 request; + struct drm_wait_vblank_reply32 reply; +}; + +typedef union drm_wait_vblank32 drm_wait_vblank32_t; + +struct drm_wedge_task_info { + pid_t pid; + char comm[16]; +}; + +struct drm_writeback_connector { + struct drm_connector base; + struct drm_encoder encoder; + struct drm_property_blob *pixel_formats_blob_ptr; + spinlock_t job_lock; + struct list_head job_queue; + unsigned int fence_context; + spinlock_t fence_lock; + long unsigned int fence_seqno; + char timeline_name[32]; +}; + +struct drm_writeback_job { + struct drm_writeback_connector *connector; + bool prepared; + struct work_struct cleanup_work; + struct list_head list_entry; + struct drm_framebuffer *fb; + struct dma_fence *out_fence; + void *priv; +}; + +typedef void (*drmres_release_t)(struct drm_device *, void *); + +struct drmres_node { + struct list_head entry; + drmres_release_t release; + const char *name; + size_t size; +}; + +struct drmres { + struct drmres_node node; + u8 data[0]; +}; + +struct drop_reason_list { + const char * const *reasons; + size_t n_reasons; +}; + +struct drv_cmd { + struct acpi_pct_register *reg; + u32 val; + union { + void (*write)(struct acpi_pct_register *, u32); + u32 (*read)(struct acpi_pct_register *); + } func; +}; + +struct pci_driver; + +struct pci_device_id; + +struct drv_dev_and_id { + struct pci_driver *drv; + struct pci_dev *dev; + const struct pci_device_id *id; +}; + +struct dsa_bridge { + struct net_device *dev; + unsigned int num; + bool tx_fwd_offload; + refcount_t refcount; +}; + +struct dsa_chip_data { + struct device *host_dev; + int sw_addr; + struct device *netdev[12]; + int eeprom_len; + struct device_node *of_node; + char *port_names[12]; + struct device_node *port_dn[12]; + s8 rtable[4]; +}; + +struct dsa_lag { + struct net_device *dev; + unsigned int id; + struct mutex fdb_lock; + struct list_head fdbs; + refcount_t refcount; +}; + +struct dsa_port; + +struct dsa_db { + enum dsa_db_type type; + union { + const struct dsa_port *dp; + struct dsa_lag lag; + struct dsa_bridge bridge; + }; +}; + +struct dsa_switch; + +struct dsa_device_ops { + struct sk_buff * (*xmit)(struct sk_buff *, struct net_device *); + struct sk_buff * (*rcv)(struct sk_buff *, struct net_device *); + void (*flow_dissect)(const struct sk_buff *, __be16 *, int *); + int (*connect)(struct dsa_switch *); + void (*disconnect)(struct dsa_switch *); + unsigned int needed_headroom; + unsigned int needed_tailroom; + const char *name; + enum dsa_tag_protocol proto; + bool promisc_on_conduit; +}; + +struct dsa_mall_mirror_tc_entry { + u8 to_local_port; + bool ingress; +}; + +struct dsa_mall_policer_tc_entry { + u32 burst; + u64 rate_bytes_per_sec; +}; + +struct dsa_platform_data { + struct device *netdev; + struct net_device *of_netdev; + int nr_chips; + struct dsa_chip_data *chip; +}; + +struct phylink; + +struct phylink_link_state; + +struct phylink_config { + struct device *dev; + enum phylink_op_type type; + bool poll_fixed_state; + bool mac_managed_pm; + bool mac_requires_rxc; + bool default_an_inband; + bool eee_rx_clk_stop_enable; + void (*get_fixed_state)(struct phylink_config *, struct phylink_link_state *); + long unsigned int supported_interfaces[1]; + long unsigned int lpi_interfaces[1]; + long unsigned int mac_capabilities; + long unsigned int lpi_capabilities; + u32 lpi_timer_default; + bool eee_enabled_default; +}; + +struct dsa_switch_tree; + +struct ethtool_ops; + +struct dsa_port { + union { + struct net_device *conduit; + struct net_device *user; + }; + const struct dsa_device_ops *tag_ops; + struct dsa_switch_tree *dst; + struct sk_buff * (*rcv)(struct sk_buff *, struct net_device *); + struct dsa_switch *ds; + unsigned int index; + enum { + DSA_PORT_TYPE_UNUSED = 0, + DSA_PORT_TYPE_CPU = 1, + DSA_PORT_TYPE_DSA = 2, + DSA_PORT_TYPE_USER = 3, + } type; + const char *name; + struct dsa_port *cpu_dp; + u8 mac[6]; + u8 stp_state; + u8 vlan_filtering: 1; + u8 learning: 1; + u8 lag_tx_enabled: 1; + u8 conduit_admin_up: 1; + u8 conduit_oper_up: 1; + u8 cpu_port_in_lag: 1; + u8 setup: 1; + struct device_node *dn; + unsigned int ageing_time; + struct dsa_bridge *bridge; + struct devlink_port devlink_port; + struct phylink *pl; + struct phylink_config pl_config; + netdevice_tracker conduit_tracker; + struct dsa_lag *lag; + struct net_device *hsr_dev; + struct list_head list; + const struct ethtool_ops *orig_ethtool_ops; + struct mutex addr_lists_lock; + struct list_head fdbs; + struct list_head mdbs; + struct mutex vlans_lock; + union { + struct list_head vlans; + struct list_head user_vlans; + }; +}; + +struct kernel_hwtstamp_config; + +struct dsa_stubs { + int (*conduit_hwtstamp_validate)(struct net_device *, const struct kernel_hwtstamp_config *, struct netlink_ext_ack *); +}; + +struct dsa_8021q_context; + +struct dsa_switch_ops; + +struct phylink_mac_ops; + +struct mii_bus; + +struct dsa_switch { + struct device *dev; + struct dsa_switch_tree *dst; + unsigned int index; + u32 setup: 1; + u32 vlan_filtering_is_global: 1; + u32 needs_standalone_vlan_filtering: 1; + u32 configure_vlan_while_not_filtering: 1; + u32 untag_bridge_pvid: 1; + u32 untag_vlan_aware_bridge_pvid: 1; + u32 assisted_learning_on_cpu_port: 1; + u32 vlan_filtering: 1; + u32 mtu_enforcement_ingress: 1; + u32 fdb_isolation: 1; + u32 dscp_prio_mapping_is_global: 1; + struct notifier_block nb; + void *priv; + void *tagger_data; + struct dsa_chip_data *cd; + const struct dsa_switch_ops *ops; + const struct phylink_mac_ops *phylink_mac_ops; + u32 phys_mii_mask; + struct mii_bus *user_mii_bus; + unsigned int ageing_time_min; + unsigned int ageing_time_max; + struct dsa_8021q_context *tag_8021q_ctx; + struct devlink *devlink; + unsigned int num_tx_queues; + unsigned int num_lag_ids; + unsigned int max_num_bridges; + unsigned int num_ports; +}; + +typedef int dsa_fdb_dump_cb_t(const unsigned char *, u16, bool, void *); + +struct ethtool_eth_phy_stats; + +struct ethtool_eth_mac_stats; + +struct ethtool_eth_ctrl_stats; + +struct ethtool_rmon_stats; + +struct ethtool_rmon_hist_range; + +struct ethtool_ts_stats; + +struct rtnl_link_stats64; + +struct ethtool_pause_stats; + +struct ethtool_test; + +struct ethtool_wolinfo; + +struct kernel_ethtool_ts_info; + +struct ethtool_mm_state; + +struct ethtool_mm_cfg; + +struct ethtool_mm_stats; + +struct phy_device; + +struct ethtool_keee; + +struct ethtool_eeprom; + +struct ethtool_regs; + +struct netdev_notifier_changeupper_info; + +struct switchdev_mst_state; + +struct switchdev_brport_flags; + +struct switchdev_obj_port_vlan; + +struct switchdev_vlan_msti; + +struct switchdev_obj_port_mdb; + +struct ethtool_rxnfc; + +struct flow_cls_offload; + +struct netdev_lag_upper_info; + +struct switchdev_obj_mrp; + +struct switchdev_obj_ring_role_mrp; + +struct dsa_switch_ops { + enum dsa_tag_protocol (*get_tag_protocol)(struct dsa_switch *, int, enum dsa_tag_protocol); + int (*change_tag_protocol)(struct dsa_switch *, enum dsa_tag_protocol); + int (*connect_tag_protocol)(struct dsa_switch *, enum dsa_tag_protocol); + int (*port_change_conduit)(struct dsa_switch *, int, struct net_device *, struct netlink_ext_ack *); + int (*setup)(struct dsa_switch *); + void (*teardown)(struct dsa_switch *); + int (*port_setup)(struct dsa_switch *, int); + void (*port_teardown)(struct dsa_switch *, int); + u32 (*get_phy_flags)(struct dsa_switch *, int); + int (*phy_read)(struct dsa_switch *, int, int); + int (*phy_write)(struct dsa_switch *, int, int, u16); + void (*phylink_get_caps)(struct dsa_switch *, int, struct phylink_config *); + void (*phylink_fixed_state)(struct dsa_switch *, int, struct phylink_link_state *); + void (*get_strings)(struct dsa_switch *, int, u32, uint8_t *); + void (*get_ethtool_stats)(struct dsa_switch *, int, uint64_t *); + int (*get_sset_count)(struct dsa_switch *, int, int); + void (*get_ethtool_phy_stats)(struct dsa_switch *, int, uint64_t *); + void (*get_eth_phy_stats)(struct dsa_switch *, int, struct ethtool_eth_phy_stats *); + void (*get_eth_mac_stats)(struct dsa_switch *, int, struct ethtool_eth_mac_stats *); + void (*get_eth_ctrl_stats)(struct dsa_switch *, int, struct ethtool_eth_ctrl_stats *); + void (*get_rmon_stats)(struct dsa_switch *, int, struct ethtool_rmon_stats *, const struct ethtool_rmon_hist_range **); + void (*get_ts_stats)(struct dsa_switch *, int, struct ethtool_ts_stats *); + void (*get_stats64)(struct dsa_switch *, int, struct rtnl_link_stats64 *); + void (*get_pause_stats)(struct dsa_switch *, int, struct ethtool_pause_stats *); + void (*self_test)(struct dsa_switch *, int, struct ethtool_test *, u64 *); + void (*get_wol)(struct dsa_switch *, int, struct ethtool_wolinfo *); + int (*set_wol)(struct dsa_switch *, int, struct ethtool_wolinfo *); + int (*get_ts_info)(struct dsa_switch *, int, struct kernel_ethtool_ts_info *); + int (*get_mm)(struct dsa_switch *, int, struct ethtool_mm_state *); + int (*set_mm)(struct dsa_switch *, int, struct ethtool_mm_cfg *, struct netlink_ext_ack *); + void (*get_mm_stats)(struct dsa_switch *, int, struct ethtool_mm_stats *); + int (*port_get_default_prio)(struct dsa_switch *, int); + int (*port_set_default_prio)(struct dsa_switch *, int, u8); + int (*port_get_dscp_prio)(struct dsa_switch *, int, u8); + int (*port_add_dscp_prio)(struct dsa_switch *, int, u8, u8); + int (*port_del_dscp_prio)(struct dsa_switch *, int, u8, u8); + int (*port_set_apptrust)(struct dsa_switch *, int, const u8 *, int); + int (*port_get_apptrust)(struct dsa_switch *, int, u8 *, int *); + int (*suspend)(struct dsa_switch *); + int (*resume)(struct dsa_switch *); + int (*port_enable)(struct dsa_switch *, int, struct phy_device *); + void (*port_disable)(struct dsa_switch *, int); + int (*port_set_mac_address)(struct dsa_switch *, int, const unsigned char *); + struct dsa_port * (*preferred_default_local_cpu_port)(struct dsa_switch *); + bool (*support_eee)(struct dsa_switch *, int); + int (*set_mac_eee)(struct dsa_switch *, int, struct ethtool_keee *); + int (*get_eeprom_len)(struct dsa_switch *); + int (*get_eeprom)(struct dsa_switch *, struct ethtool_eeprom *, u8 *); + int (*set_eeprom)(struct dsa_switch *, struct ethtool_eeprom *, u8 *); + int (*get_regs_len)(struct dsa_switch *, int); + void (*get_regs)(struct dsa_switch *, int, struct ethtool_regs *, void *); + int (*port_prechangeupper)(struct dsa_switch *, int, struct netdev_notifier_changeupper_info *); + int (*set_ageing_time)(struct dsa_switch *, unsigned int); + int (*port_bridge_join)(struct dsa_switch *, int, struct dsa_bridge, bool *, struct netlink_ext_ack *); + void (*port_bridge_leave)(struct dsa_switch *, int, struct dsa_bridge); + void (*port_stp_state_set)(struct dsa_switch *, int, u8); + int (*port_mst_state_set)(struct dsa_switch *, int, const struct switchdev_mst_state *); + void (*port_fast_age)(struct dsa_switch *, int); + int (*port_vlan_fast_age)(struct dsa_switch *, int, u16); + int (*port_pre_bridge_flags)(struct dsa_switch *, int, struct switchdev_brport_flags, struct netlink_ext_ack *); + int (*port_bridge_flags)(struct dsa_switch *, int, struct switchdev_brport_flags, struct netlink_ext_ack *); + void (*port_set_host_flood)(struct dsa_switch *, int, bool, bool); + int (*port_vlan_filtering)(struct dsa_switch *, int, bool, struct netlink_ext_ack *); + int (*port_vlan_add)(struct dsa_switch *, int, const struct switchdev_obj_port_vlan *, struct netlink_ext_ack *); + int (*port_vlan_del)(struct dsa_switch *, int, const struct switchdev_obj_port_vlan *); + int (*vlan_msti_set)(struct dsa_switch *, struct dsa_bridge, const struct switchdev_vlan_msti *); + int (*port_fdb_add)(struct dsa_switch *, int, const unsigned char *, u16, struct dsa_db); + int (*port_fdb_del)(struct dsa_switch *, int, const unsigned char *, u16, struct dsa_db); + int (*port_fdb_dump)(struct dsa_switch *, int, dsa_fdb_dump_cb_t *, void *); + int (*lag_fdb_add)(struct dsa_switch *, struct dsa_lag, const unsigned char *, u16, struct dsa_db); + int (*lag_fdb_del)(struct dsa_switch *, struct dsa_lag, const unsigned char *, u16, struct dsa_db); + int (*port_mdb_add)(struct dsa_switch *, int, const struct switchdev_obj_port_mdb *, struct dsa_db); + int (*port_mdb_del)(struct dsa_switch *, int, const struct switchdev_obj_port_mdb *, struct dsa_db); + int (*get_rxnfc)(struct dsa_switch *, int, struct ethtool_rxnfc *, u32 *); + int (*set_rxnfc)(struct dsa_switch *, int, struct ethtool_rxnfc *); + int (*cls_flower_add)(struct dsa_switch *, int, struct flow_cls_offload *, bool); + int (*cls_flower_del)(struct dsa_switch *, int, struct flow_cls_offload *, bool); + int (*cls_flower_stats)(struct dsa_switch *, int, struct flow_cls_offload *, bool); + int (*port_mirror_add)(struct dsa_switch *, int, struct dsa_mall_mirror_tc_entry *, bool, struct netlink_ext_ack *); + void (*port_mirror_del)(struct dsa_switch *, int, struct dsa_mall_mirror_tc_entry *); + int (*port_policer_add)(struct dsa_switch *, int, struct dsa_mall_policer_tc_entry *); + void (*port_policer_del)(struct dsa_switch *, int); + int (*port_setup_tc)(struct dsa_switch *, int, enum tc_setup_type, void *); + int (*crosschip_bridge_join)(struct dsa_switch *, int, int, int, struct dsa_bridge, struct netlink_ext_ack *); + void (*crosschip_bridge_leave)(struct dsa_switch *, int, int, int, struct dsa_bridge); + int (*crosschip_lag_change)(struct dsa_switch *, int, int); + int (*crosschip_lag_join)(struct dsa_switch *, int, int, struct dsa_lag, struct netdev_lag_upper_info *, struct netlink_ext_ack *); + int (*crosschip_lag_leave)(struct dsa_switch *, int, int, struct dsa_lag); + int (*port_hwtstamp_get)(struct dsa_switch *, int, struct kernel_hwtstamp_config *); + int (*port_hwtstamp_set)(struct dsa_switch *, int, struct kernel_hwtstamp_config *, struct netlink_ext_ack *); + void (*port_txtstamp)(struct dsa_switch *, int, struct sk_buff *); + bool (*port_rxtstamp)(struct dsa_switch *, int, struct sk_buff *, unsigned int); + int (*devlink_param_get)(struct dsa_switch *, u32, struct devlink_param_gset_ctx *); + int (*devlink_param_set)(struct dsa_switch *, u32, struct devlink_param_gset_ctx *); + int (*devlink_info_get)(struct dsa_switch *, struct devlink_info_req *, struct netlink_ext_ack *); + int (*devlink_sb_pool_get)(struct dsa_switch *, unsigned int, u16, struct devlink_sb_pool_info *); + int (*devlink_sb_pool_set)(struct dsa_switch *, unsigned int, u16, u32, enum devlink_sb_threshold_type, struct netlink_ext_ack *); + int (*devlink_sb_port_pool_get)(struct dsa_switch *, int, unsigned int, u16, u32 *); + int (*devlink_sb_port_pool_set)(struct dsa_switch *, int, unsigned int, u16, u32, struct netlink_ext_ack *); + int (*devlink_sb_tc_pool_bind_get)(struct dsa_switch *, int, unsigned int, u16, enum devlink_sb_pool_type, u16 *, u32 *); + int (*devlink_sb_tc_pool_bind_set)(struct dsa_switch *, int, unsigned int, u16, enum devlink_sb_pool_type, u16, u32, struct netlink_ext_ack *); + int (*devlink_sb_occ_snapshot)(struct dsa_switch *, unsigned int); + int (*devlink_sb_occ_max_clear)(struct dsa_switch *, unsigned int); + int (*devlink_sb_occ_port_pool_get)(struct dsa_switch *, int, unsigned int, u16, u32 *, u32 *); + int (*devlink_sb_occ_tc_port_bind_get)(struct dsa_switch *, int, unsigned int, u16, enum devlink_sb_pool_type, u32 *, u32 *); + int (*port_change_mtu)(struct dsa_switch *, int, int); + int (*port_max_mtu)(struct dsa_switch *, int); + int (*port_lag_change)(struct dsa_switch *, int); + int (*port_lag_join)(struct dsa_switch *, int, struct dsa_lag, struct netdev_lag_upper_info *, struct netlink_ext_ack *); + int (*port_lag_leave)(struct dsa_switch *, int, struct dsa_lag); + int (*port_hsr_join)(struct dsa_switch *, int, struct net_device *, struct netlink_ext_ack *); + int (*port_hsr_leave)(struct dsa_switch *, int, struct net_device *); + int (*port_mrp_add)(struct dsa_switch *, int, const struct switchdev_obj_mrp *); + int (*port_mrp_del)(struct dsa_switch *, int, const struct switchdev_obj_mrp *); + int (*port_mrp_add_ring_role)(struct dsa_switch *, int, const struct switchdev_obj_ring_role_mrp *); + int (*port_mrp_del_ring_role)(struct dsa_switch *, int, const struct switchdev_obj_ring_role_mrp *); + int (*tag_8021q_vlan_add)(struct dsa_switch *, int, u16, u16); + int (*tag_8021q_vlan_del)(struct dsa_switch *, int, u16); + void (*conduit_state_change)(struct dsa_switch *, const struct net_device *, bool); +}; + +struct raw_notifier_head { + struct notifier_block *head; +}; + +struct dsa_switch_tree { + struct list_head list; + struct list_head ports; + struct raw_notifier_head nh; + unsigned int index; + struct kref refcount; + struct dsa_lag **lags; + const struct dsa_device_ops *tag_ops; + enum dsa_tag_protocol default_proto; + bool setup; + struct dsa_platform_data *pd; + struct list_head rtable; + unsigned int lags_len; + unsigned int last_switch; +}; + +struct dsm_output { + u16 status; + u8 function_specific_err; + u8 vendor_specific_err; + u32 state; +}; + +struct dst_cache_pcpu; + +struct dst_cache { + struct dst_cache_pcpu *cache; + long unsigned int reset_ts; +}; + +struct dst_cache_pcpu { + long unsigned int refresh_ts; + struct dst_entry *dst; + local_lock_t bh_lock; + u32 cookie; + union { + struct in_addr in_saddr; + struct in6_addr in6_saddr; + }; +}; + +struct dst_ops; + +struct xfrm_state; + +struct uncached_list; + +struct lwtunnel_state; + +struct dst_entry { + union { + struct net_device *dev; + struct net_device *dev_rcu; + }; + struct dst_ops *ops; + long unsigned int _metrics; + long unsigned int expires; + struct xfrm_state *xfrm; + int (*input)(struct sk_buff *); + int (*output)(struct net *, struct sock *, struct sk_buff *); + short unsigned int flags; + short int obsolete; + short unsigned int header_len; + short unsigned int trailer_len; + rcuref_t __rcuref; + int __use; + long unsigned int lastuse; + struct callback_head callback_head; + short int error; + short int __pad; + __u32 tclassid; + netdevice_tracker dev_tracker; + struct list_head rt_uncached; + struct uncached_list *rt_uncached_list; + struct lwtunnel_state *lwtstate; +}; + +struct dst_metrics { + u32 metrics[17]; + refcount_t refcnt; +}; + +struct neighbour; + +struct dst_ops { + short unsigned int family; + unsigned int gc_thresh; + void (*gc)(struct dst_ops *); + struct dst_entry * (*check)(struct dst_entry *, __u32); + unsigned int (*default_advmss)(const struct dst_entry *); + unsigned int (*mtu)(const struct dst_entry *); + u32 * (*cow_metrics)(struct dst_entry *, long unsigned int); + void (*destroy)(struct dst_entry *); + void (*ifdown)(struct dst_entry *, struct net_device *); + void (*negative_advice)(struct sock *, struct dst_entry *); + void (*link_failure)(struct sk_buff *); + void (*update_pmtu)(struct dst_entry *, struct sock *, struct sk_buff *, u32, bool); + void (*redirect)(struct dst_entry *, struct sock *, struct sk_buff *); + int (*local_out)(struct net *, struct sock *, struct sk_buff *); + struct neighbour * (*neigh_lookup)(const struct dst_entry *, struct sk_buff *, const void *); + void (*confirm_neigh)(const struct dst_entry *, const void *); + struct kmem_cache *kmem_cachep; + struct percpu_counter pcpuc_entries; + long: 64; + long: 64; + long: 64; +}; + +struct dump_stack_ctx { + struct bpf_stream_stage *ss; + int err; +}; + +struct dw2_desc { + u32 field; + u32 addr; +}; + +struct virt_dma_desc { + struct dma_async_tx_descriptor tx; + struct dmaengine_result tx_result; + struct list_head node; +}; + +struct ldma_chan; + +struct dw2_desc_sw { + struct virt_dma_desc vdesc; + struct ldma_chan *chan; + dma_addr_t desc_phys; + size_t desc_cnt; + size_t size; + struct dw2_desc *desc_hw; +}; + +struct uart_8250_port; + +struct uart_8250_dma { + int (*tx_dma)(struct uart_8250_port *); + int (*rx_dma)(struct uart_8250_port *); + void (*prepare_tx_dma)(struct uart_8250_port *); + void (*prepare_rx_dma)(struct uart_8250_port *); + dma_filter_fn fn; + void *rx_param; + void *tx_param; + struct dma_slave_config rxconf; + struct dma_slave_config txconf; + struct dma_chan *rxchan; + struct dma_chan *txchan; + phys_addr_t rx_dma_addr; + phys_addr_t tx_dma_addr; + dma_addr_t rx_addr; + dma_addr_t tx_addr; + dma_cookie_t rx_cookie; + dma_cookie_t tx_cookie; + void *rx_buf; + size_t rx_size; + size_t tx_size; + unsigned char tx_running; + unsigned char tx_err; + unsigned char rx_running; +}; + +struct dw8250_port_data { + int line; + struct uart_8250_dma dma; + u32 cpr_value; + u8 dlf_size; + bool hw_rs485_support; +}; + +struct dw_edma_region { + u64 paddr; + union { + void *mem; + void *io; + } vaddr; + size_t sz; +}; + +struct dw_edma; + +struct dw_edma_plat_ops; + +struct dw_edma_chip { + struct device *dev; + int nr_irqs; + const struct dw_edma_plat_ops *ops; + u32 flags; + void *reg_base; + u16 ll_wr_cnt; + u16 ll_rd_cnt; + struct dw_edma_region ll_region_wr[8]; + struct dw_edma_region ll_region_rd[8]; + struct dw_edma_region dt_region_wr[8]; + struct dw_edma_region dt_region_rd[8]; + enum dw_edma_map_format mf; + struct dw_edma *dw; +}; + +struct dw_edma_plat_ops { + int (*irq_vector)(struct device *, unsigned int); + u64 (*pci_address)(struct device *, phys_addr_t); +}; + +struct rt_mutex_base { + raw_spinlock_t wait_lock; + struct rb_root_cached waiters; + struct task_struct *owner; +}; + +struct rt_mutex { + struct rt_mutex_base rtmutex; +}; + +struct i2c_algorithm; + +struct i2c_lock_operations; + +struct i2c_bus_recovery_info; + +struct i2c_adapter_quirks; + +struct i2c_adapter { + struct module *owner; + unsigned int class; + const struct i2c_algorithm *algo; + void *algo_data; + const struct i2c_lock_operations *lock_ops; + struct rt_mutex bus_lock; + struct rt_mutex mux_lock; + int timeout; + int retries; + struct device dev; + long unsigned int locked_flags; + int nr; + char name[48]; + struct completion dev_released; + struct mutex userspace_clients_lock; + struct list_head userspace_clients; + struct i2c_bus_recovery_info *bus_recovery_info; + const struct i2c_adapter_quirks *quirks; + struct irq_domain *host_notify_domain; + struct regulator *bus_regulator; + struct dentry *debugfs; + long unsigned int addrs_in_instantiation[2]; +}; + +struct i2c_timings { + u32 bus_freq_hz; + u32 scl_rise_ns; + u32 scl_fall_ns; + u32 scl_int_delay_ns; + u32 sda_fall_ns; + u32 sda_hold_ns; + u32 digital_filter_width_ns; + u32 analog_filter_cutoff_freq_hz; +}; + +struct i2c_bus_recovery_info { + int (*recover_bus)(struct i2c_adapter *); + int (*get_scl)(struct i2c_adapter *); + void (*set_scl)(struct i2c_adapter *, int); + int (*get_sda)(struct i2c_adapter *); + void (*set_sda)(struct i2c_adapter *, int); + int (*get_bus_free)(struct i2c_adapter *); + void (*prepare_recovery)(struct i2c_adapter *); + void (*unprepare_recovery)(struct i2c_adapter *); + struct gpio_desc *scl_gpiod; + struct gpio_desc *sda_gpiod; + struct pinctrl *pinctrl; + struct pinctrl_state *pins_default; + struct pinctrl_state *pins_gpio; +}; + +struct reset_control; + +struct i2c_msg; + +struct dw_i2c_dev { + struct device *dev; + struct regmap *map; + struct regmap *sysmap; + void *base; + void *ext; + struct completion cmd_complete; + struct clk *clk; + struct clk *pclk; + struct reset_control *rst; + struct i2c_client *slave; + u32 (*get_clk_rate_khz)(struct dw_i2c_dev *); + int cmd_err; + struct i2c_msg *msgs; + int msgs_num; + int msg_write_idx; + u32 tx_buf_len; + u8 *tx_buf; + int msg_read_idx; + u32 rx_buf_len; + u8 *rx_buf; + int msg_err; + unsigned int status; + unsigned int abort_source; + unsigned int sw_mask; + int irq; + u32 flags; + struct i2c_adapter adapter; + u32 functionality; + u32 master_cfg; + u32 slave_cfg; + unsigned int tx_fifo_depth; + unsigned int rx_fifo_depth; + int rx_outstanding; + struct i2c_timings timings; + u32 sda_hold_time; + u16 ss_hcnt; + u16 ss_lcnt; + u16 fs_hcnt; + u16 fs_lcnt; + u16 fp_hcnt; + u16 fp_lcnt; + u16 hs_hcnt; + u16 hs_lcnt; + int (*acquire_lock)(void); + void (*release_lock)(void); + int semaphore_idx; + bool shared_with_punit; + int (*init)(struct dw_i2c_dev *); + int (*set_sda_hold_time)(struct dw_i2c_dev *); + int mode; + struct i2c_bus_recovery_info rinfo; + u32 bus_capacitance_pF; + bool clk_freq_optimized; +}; + +struct pci_eq_presets { + u16 eq_presets_8gts[16]; + u8 eq_presets_Ngts[48]; +}; + +struct dw_pcie_host_ops; + +struct pci_host_bridge; + +struct dw_pcie_rp { + bool has_msi_ctrl: 1; + bool cfg0_io_shared: 1; + u64 cfg0_base; + void *va_cfg0_base; + u32 cfg0_size; + resource_size_t io_base; + phys_addr_t io_bus_addr; + u32 io_size; + int irq; + const struct dw_pcie_host_ops *ops; + int msi_irq[8]; + struct irq_domain *irq_domain; + dma_addr_t msi_data; + struct irq_chip *msi_irq_chip; + u32 num_vectors; + u32 irq_mask[8]; + struct pci_host_bridge *bridge; + raw_spinlock_t lock; + long unsigned int msi_irq_in_use[4]; + bool use_atu_msg; + int msg_atu_index; + struct resource *msg_res; + bool use_linkup_irq; + struct pci_eq_presets presets; +}; + +struct pci_epc; + +struct dw_pcie_ep_ops; + +struct pci_epf_bar; + +struct dw_pcie_ep { + struct pci_epc *epc; + struct list_head func_list; + const struct dw_pcie_ep_ops *ops; + phys_addr_t phys_base; + size_t addr_size; + size_t page_size; + u8 bar_to_atu[6]; + phys_addr_t *outbound_addr; + long unsigned int *ib_window_map; + long unsigned int *ob_window_map; + void *msi_mem; + phys_addr_t msi_mem_phys; + struct pci_epf_bar *epf_bar[6]; +}; + +struct reset_control_bulk_data { + const char *id; + struct reset_control *rstc; +}; + +struct dw_pcie_ops; + +struct pci_ptm_debugfs; + +struct dw_pcie { + struct device *dev; + void *dbi_base; + resource_size_t dbi_phys_addr; + void *dbi_base2; + void *atu_base; + void *elbi_base; + resource_size_t atu_phys_addr; + size_t atu_size; + resource_size_t parent_bus_offset; + u32 num_ib_windows; + u32 num_ob_windows; + u32 region_align; + u64 region_limit; + struct dw_pcie_rp pp; + struct dw_pcie_ep ep; + const struct dw_pcie_ops *ops; + u32 version; + u32 type; + long unsigned int caps; + int num_lanes; + int max_link_speed; + u8 n_fts[2]; + struct dw_edma_chip edma; + struct clk_bulk_data app_clks[3]; + struct clk_bulk_data core_clks[4]; + struct reset_control_bulk_data app_rsts[3]; + struct reset_control_bulk_data core_rsts[7]; + struct gpio_desc *pe_rst; + bool suspended; + struct debugfs_info *debugfs; + enum dw_pcie_device_mode mode; + u16 ptm_vsec_offset; + struct pci_ptm_debugfs *ptm_debugfs; + bool use_parent_dt_ranges; +}; + +struct dw_pcie_ep_func { + struct list_head list; + u8 func_no; + u8 msi_cap; + u8 msix_cap; +}; + +struct pci_epc_features; + +struct dw_pcie_ep_ops { + void (*pre_init)(struct dw_pcie_ep *); + void (*init)(struct dw_pcie_ep *); + int (*raise_irq)(struct dw_pcie_ep *, u8, unsigned int, u16); + const struct pci_epc_features * (*get_features)(struct dw_pcie_ep *); + unsigned int (*get_dbi_offset)(struct dw_pcie_ep *, u8); + unsigned int (*get_dbi2_offset)(struct dw_pcie_ep *, u8); +}; + +struct dw_pcie_host_ops { + int (*init)(struct dw_pcie_rp *); + void (*deinit)(struct dw_pcie_rp *); + void (*post_init)(struct dw_pcie_rp *); + int (*msi_init)(struct dw_pcie_rp *); + void (*pme_turn_off)(struct dw_pcie_rp *); +}; + +struct dw_pcie_ob_atu_cfg { + int index; + int type; + u8 func_no; + u8 code; + u8 routing; + u64 parent_bus_addr; + u64 pci_addr; + u64 size; +}; + +struct dw_pcie_ops { + u64 (*cpu_addr_fixup)(struct dw_pcie *, u64); + u32 (*read_dbi)(struct dw_pcie *, void *, u32, size_t); + void (*write_dbi)(struct dw_pcie *, void *, u32, size_t, u32); + void (*write_dbi2)(struct dw_pcie *, void *, u32, size_t, u32); + bool (*link_up)(struct dw_pcie *); + enum dw_pcie_ltssm (*get_ltssm)(struct dw_pcie *); + int (*start_link)(struct dw_pcie *); + void (*stop_link)(struct dw_pcie *); +}; + +struct dw_plat_pcie { + struct dw_pcie *pci; + enum dw_pcie_device_mode mode; +}; + +struct dw_plat_pcie_of_data { + enum dw_pcie_device_mode mode; +}; + +struct usb_otg_caps { + u16 otg_rev; + bool hnp_support; + bool srp_support; + bool adp_support; +}; + +struct dwc2_core_params { + struct usb_otg_caps otg_caps; + u8 phy_type; + u8 speed; + u8 phy_utmi_width; + bool eusb2_disc; + bool phy_ulpi_ddr; + bool phy_ulpi_ext_vbus; + bool enable_dynamic_fifo; + bool en_multiple_tx_fifo; + bool i2c_enable; + bool acg_enable; + bool ulpi_fs_ls; + bool ts_dline; + bool reload_ctl; + bool uframe_sched; + bool external_id_pin_ctl; + int power_down; + bool no_clock_gating; + bool lpm; + bool lpm_clock_gating; + bool besl; + bool hird_threshold_en; + bool service_interval; + u8 hird_threshold; + bool activate_stm_fs_transceiver; + bool activate_stm_id_vb_detection; + bool activate_ingenic_overcurrent_detection; + bool ipg_isoc_en; + u16 max_packet_count; + u32 max_transfer_size; + u32 ahbcfg; + u32 ref_clk_per; + u16 sof_cnt_wkup_alert; + bool host_dma; + bool dma_desc_enable; + bool dma_desc_fs_enable; + bool host_support_fs_ls_low_power; + bool host_ls_low_power_phy_clk; + bool oc_disable; + u8 host_channels; + u16 host_rx_fifo_size; + u16 host_nperio_tx_fifo_size; + u16 host_perio_tx_fifo_size; + bool g_dma; + bool g_dma_desc; + u32 g_rx_fifo_size; + u32 g_np_tx_fifo_size; + u32 g_tx_fifo_size[16]; + bool change_speed_quirk; +}; + +struct dwc2_dma_desc { + u32 status; + u32 buf; +}; + +struct dwc2_dregs_backup { + u32 dcfg; + u32 dctl; + u32 daintmsk; + u32 diepmsk; + u32 doepmsk; + u32 diepctl[16]; + u32 dieptsiz[16]; + u32 diepdma[16]; + u32 doepctl[16]; + u32 doeptsiz[16]; + u32 doepdma[16]; + u32 dtxfsiz[16]; + bool valid; +}; + +struct dwc2_gregs_backup { + u32 gintsts; + u32 gotgctl; + u32 gintmsk; + u32 gahbcfg; + u32 gusbcfg; + u32 grxfsiz; + u32 gnptxfsiz; + u32 gi2cctl; + u32 glpmcfg; + u32 pcgcctl; + u32 pcgcctl1; + u32 gdfifocfg; + u32 gpwrdn; + bool valid; +}; + +union dwc2_hcd_internal_flags { + u32 d32; + struct { + unsigned int port_connect_status_change: 1; + unsigned int port_connect_status: 1; + unsigned int port_reset_change: 1; + unsigned int port_enable_change: 1; + unsigned int port_suspend_change: 1; + unsigned int port_over_current_change: 1; + unsigned int port_l1_change: 1; + unsigned int reserved: 25; + } b; +}; + +struct dwc2_hcd_iso_packet_desc { + u32 offset; + u32 length; + u32 actual_length; + u32 status; +}; + +struct dwc2_hcd_pipe_info { + u8 dev_addr; + u8 ep_num; + u8 pipe_type; + u8 pipe_dir; + u16 maxp; + u16 maxp_mult; +}; + +struct dwc2_qtd; + +struct dwc2_hcd_urb { + void *priv; + struct dwc2_qtd *qtd; + void *buf; + dma_addr_t dma; + void *setup_packet; + dma_addr_t setup_dma; + u32 length; + u32 actual_length; + u32 status; + u32 error_count; + u32 packet_count; + u32 flags; + u16 interval; + struct dwc2_hcd_pipe_info pipe_info; + struct dwc2_hcd_iso_packet_desc iso_descs[0]; +}; + +struct dwc2_qh; + +struct dwc2_host_chan { + u8 hc_num; + unsigned int dev_addr: 7; + unsigned int ep_num: 4; + unsigned int ep_is_in: 1; + unsigned int speed: 4; + unsigned int ep_type: 2; + int: 6; + unsigned int max_packet: 11; + unsigned int data_pid_start: 2; + unsigned int multi_count: 2; + u8 *xfer_buf; + dma_addr_t xfer_dma; + dma_addr_t align_buf; + u32 xfer_len; + u32 xfer_count; + u16 start_pkt_count; + u8 xfer_started; + u8 do_ping; + u8 error_state; + u8 halt_on_queue; + u8 halt_pending; + u8 do_split; + u8 complete_split; + u8 hub_addr; + u8 hub_port; + u8 xact_pos; + u8 requests; + u8 schinfo; + u16 ntd; + enum dwc2_halt_status halt_status; + u32 hcint; + struct dwc2_qh *qh; + struct list_head hc_list_entry; + dma_addr_t desc_list_addr; + u32 desc_list_sz; + struct list_head split_order_list_entry; +}; + +struct dwc2_hregs_backup { + u32 hcfg; + u32 hflbaddr; + u32 haintmsk; + u32 hcchar[16]; + u32 hcsplt[16]; + u32 hcintmsk[16]; + u32 hctsiz[16]; + u32 hcidma[16]; + u32 hcidmab[16]; + u32 hprt0; + u32 hfir; + u32 hptxfsiz; + bool valid; +}; + +struct dwc2_hs_transfer_time { + u32 start_schedule_us; + u16 duration_us; +}; + +struct dwc2_hw_params { + unsigned int op_mode: 3; + unsigned int arch: 2; + unsigned int dma_desc_enable: 1; + unsigned int enable_dynamic_fifo: 1; + unsigned int en_multiple_tx_fifo: 1; + unsigned int rx_fifo_size: 16; + int: 8; + unsigned int host_nperio_tx_fifo_size: 16; + unsigned int dev_nperio_tx_fifo_size: 16; + unsigned int host_perio_tx_fifo_size: 16; + unsigned int nperio_tx_q_depth: 3; + unsigned int host_perio_tx_q_depth: 3; + unsigned int dev_token_q_depth: 5; + int: 5; + unsigned int max_transfer_size: 26; + long: 6; + unsigned int max_packet_count: 11; + unsigned int host_channels: 5; + unsigned int hs_phy_type: 2; + unsigned int fs_phy_type: 2; + unsigned int i2c_enable: 1; + unsigned int acg_enable: 1; + unsigned int num_dev_ep: 4; + unsigned int num_dev_in_eps: 4; + int: 2; + unsigned int num_dev_perio_in_ep: 4; + unsigned int total_fifo_size: 16; + unsigned int power_optimized: 1; + unsigned int hibernation: 1; + unsigned int utmi_phy_data_width: 2; + unsigned int lpm_mode: 1; + unsigned int ipg_isoc_en: 1; + unsigned int service_interval_mode: 1; + u32 snpsid; + u32 dev_ep_dirs; + u32 g_tx_fifo_size[16]; +}; + +struct regulator_bulk_data { + const char *supply; + struct regulator *consumer; + int init_load_uA; + int ret; +}; + +struct usb_role_switch; + +struct phy; + +struct usb_phy; + +struct dwc2_hsotg_plat; + +struct dwc2_hsotg { + struct device *dev; + void *regs; + struct dwc2_hw_params hw_params; + struct dwc2_core_params params; + enum usb_otg_state op_state; + enum usb_dr_mode dr_mode; + struct usb_role_switch *role_sw; + enum usb_dr_mode role_sw_default_mode; + unsigned int hcd_enabled: 1; + unsigned int gadget_enabled: 1; + unsigned int ll_hw_enabled: 1; + unsigned int hibernated: 1; + unsigned int in_ppd: 1; + bool bus_suspended; + unsigned int reset_phy_on_wake: 1; + unsigned int need_phy_for_wake: 1; + unsigned int phy_off_for_suspend: 1; + u16 frame_number; + struct phy *phy; + struct usb_phy *uphy; + struct dwc2_hsotg_plat *plat; + struct regulator_bulk_data supplies[2]; + struct regulator *vbus_supply; + struct regulator *usb33d; + spinlock_t lock; + void *priv; + int irq; + struct clk *clk; + struct clk *utmi_clk; + struct reset_control *reset; + struct reset_control *reset_ecc; + unsigned int queuing_high_bandwidth: 1; + unsigned int srp_success: 1; + struct workqueue_struct *wq_otg; + struct work_struct wf_otg; + struct timer_list wkp_timer; + enum dwc2_lx_state lx_state; + struct dwc2_gregs_backup gr_backup; + struct dwc2_dregs_backup dr_backup; + struct dwc2_hregs_backup hr_backup; + struct dentry *debug_root; + struct debugfs_regset32 *regset; + bool needs_byte_swap; + union dwc2_hcd_internal_flags flags; + struct list_head non_periodic_sched_inactive; + struct list_head non_periodic_sched_waiting; + struct list_head non_periodic_sched_active; + struct list_head *non_periodic_qh_ptr; + struct list_head periodic_sched_inactive; + struct list_head periodic_sched_ready; + struct list_head periodic_sched_assigned; + struct list_head periodic_sched_queued; + struct list_head split_order; + u16 periodic_usecs; + long unsigned int hs_periodic_bitmap[13]; + u16 periodic_qh_count; + bool new_connection; + u16 last_frame_num; + struct list_head free_hc_list; + int periodic_channels; + int non_periodic_channels; + int available_host_channels; + struct dwc2_host_chan *hc_ptr_array[16]; + u8 *status_buf; + dma_addr_t status_buf_dma; + struct delayed_work start_work; + struct delayed_work reset_work; + struct work_struct phy_reset_work; + u8 otg_port; + u32 *frame_list; + dma_addr_t frame_list_dma; + u32 frame_list_sz; + struct kmem_cache *desc_gen_cache; + struct kmem_cache *desc_hsisoc_cache; + struct kmem_cache *unaligned_cache; +}; + +struct dwc2_hsotg_plat { + enum dwc2_hsotg_dmamode dma; + unsigned int is_osc: 1; + int phy_type; + int (*phy_init)(struct platform_device *, int); + int (*phy_exit)(struct platform_device *, int); +}; + +struct dwc2_tt; + +struct dwc2_qh { + struct dwc2_hsotg *hsotg; + u8 ep_type; + u8 ep_is_in; + u16 maxp; + u16 maxp_mult; + u8 dev_speed; + u8 data_toggle; + u8 ping_state; + u8 do_split; + u8 td_first; + u8 td_last; + u16 host_us; + u16 device_us; + u16 host_interval; + u16 device_interval; + u16 next_active_frame; + u16 start_active_frame; + s16 num_hs_transfers; + struct dwc2_hs_transfer_time hs_transfers[8]; + u32 ls_start_schedule_slice; + u16 ntd; + u8 *dw_align_buf; + dma_addr_t dw_align_buf_dma; + struct list_head qtd_list; + struct dwc2_host_chan *channel; + struct list_head qh_list_entry; + struct dwc2_dma_desc *desc_list; + dma_addr_t desc_list_dma; + u32 desc_list_sz; + u32 *n_bytes; + struct timer_list unreserve_timer; + struct hrtimer wait_timer; + struct dwc2_tt *dwc_tt; + int ttport; + unsigned int tt_buffer_dirty: 1; + unsigned int unreserve_pending: 1; + unsigned int schedule_low_speed: 1; + unsigned int want_wait: 1; + unsigned int wait_timer_cancel: 1; +}; + +struct dwc2_qtd { + enum dwc2_control_phase control_phase; + u8 in_process; + u8 data_toggle; + u8 complete_split; + u8 isoc_split_pos; + u16 isoc_frame_index; + u16 isoc_split_offset; + u16 isoc_td_last; + u16 isoc_td_first; + u32 ssplit_out_xfer_count; + u8 error_count; + u8 n_desc; + u16 isoc_frame_index_last; + u16 num_naks; + struct dwc2_hcd_urb *urb; + struct dwc2_qh *qh; + struct list_head qtd_list_entry; +}; + +struct usb_tt; + +struct dwc2_tt { + int refcount; + struct usb_tt *usb_tt; + long unsigned int periodic_bitmaps[0]; +}; + +struct dwc_pcie_vsec_id { + u16 vendor_id; + u16 vsec_id; + u8 vsec_rev; +}; + +struct dx_countlimit { + __le16 limit; + __le16 count; +}; + +struct dx_entry { + __le32 hash; + __le32 block; +}; + +struct dx_frame { + struct buffer_head *bh; + struct dx_entry *entries; + struct dx_entry *at; +}; + +struct dx_hash_info { + u32 hash; + u32 minor_hash; + int hash_version; + u32 *seed; +}; + +struct dx_map_entry { + u32 hash; + u16 offs; + u16 size; +}; + +struct fake_dirent { + __le32 inode; + __le16 rec_len; + u8 name_len; + u8 file_type; +}; + +struct dx_node { + struct fake_dirent fake; + struct dx_entry entries[0]; +}; + +struct dx_root_info { + __le32 reserved_zero; + u8 hash_version; + u8 info_length; + u8 indirect_levels; + u8 unused_flags; +}; + +struct dx_root { + struct fake_dirent dot; + char dot_name[4]; + struct fake_dirent dotdot; + char dotdot_name[4]; + struct dx_root_info info; + struct dx_entry entries[0]; +}; + +struct dx_tail { + u32 dt_reserved; + __le32 dt_checksum; +}; + +struct dyn_arch_ftrace {}; + +struct dyn_event_operations; + +struct dyn_event { + struct list_head list; + struct dyn_event_operations *ops; +}; + +struct dyn_event_operations { + struct list_head list; + int (*create)(const char *); + int (*show)(struct seq_file *, struct dyn_event *); + bool (*is_busy)(struct dyn_event *); + int (*free)(struct dyn_event *); + bool (*match)(const char *, const char *, int, const char **, struct dyn_event *); +}; + +struct dyn_ftrace { + long unsigned int ip; + long unsigned int flags; + struct dyn_arch_ftrace arch; +}; + +struct dynevent_arg { + const char *str; + char separator; +}; + +struct dynevent_arg_pair { + const char *lhs; + const char *rhs; + char operator; + char separator; +}; + +struct seq_buf { + char *buffer; + size_t size; + size_t len; +}; + +struct dynevent_cmd; + +typedef int (*dynevent_create_fn_t)(struct dynevent_cmd *); + +struct dynevent_cmd { + struct seq_buf seq; + const char *event_name; + unsigned int n_fields; + enum dynevent_type type; + dynevent_create_fn_t run_command; + void *private_data; +}; + +struct e820_entry { + u64 addr; + u64 size; + enum e820_type type; +} __attribute__((packed)); + +struct e820_table { + __u32 nr_entries; + struct e820_entry entries[3200]; +}; + +struct usb_device; + +struct each_dev_arg { + void *data; + int (*fn)(struct usb_device *, void *); +}; + +struct early_load_data { + u32 old_rev; + u32 new_rev; +}; + +struct uart_icount { + __u32 cts; + __u32 dsr; + __u32 rng; + __u32 dcd; + __u32 rx; + __u32 tx; + __u32 frame; + __u32 overrun; + __u32 parity; + __u32 brk; + __u32 buf_overrun; +}; + +struct serial_rs485 { + __u32 flags; + __u32 delay_rts_before_send; + __u32 delay_rts_after_send; + union { + __u32 padding[5]; + struct { + __u8 addr_recv; + __u8 addr_dest; + __u8 padding0[2]; + __u32 padding1[4]; + }; + }; +}; + +struct serial_iso7816 { + __u32 flags; + __u32 tg; + __u32 sc_fi; + __u32 sc_di; + __u32 clk; + __u32 reserved[5]; +}; + +struct ktermios; + +struct uart_state; + +struct uart_ops; + +struct serial_port_device; + +struct uart_port { + spinlock_t lock; + long unsigned int iobase; + unsigned char *membase; + u32 (*serial_in)(struct uart_port *, unsigned int); + void (*serial_out)(struct uart_port *, unsigned int, u32); + void (*set_termios)(struct uart_port *, struct ktermios *, const struct ktermios *); + void (*set_ldisc)(struct uart_port *, struct ktermios *); + unsigned int (*get_mctrl)(struct uart_port *); + void (*set_mctrl)(struct uart_port *, unsigned int); + unsigned int (*get_divisor)(struct uart_port *, unsigned int, unsigned int *); + void (*set_divisor)(struct uart_port *, unsigned int, unsigned int, unsigned int); + int (*startup)(struct uart_port *); + void (*shutdown)(struct uart_port *); + void (*throttle)(struct uart_port *); + void (*unthrottle)(struct uart_port *); + int (*handle_irq)(struct uart_port *); + void (*pm)(struct uart_port *, unsigned int, unsigned int); + void (*handle_break)(struct uart_port *); + int (*rs485_config)(struct uart_port *, struct ktermios *, struct serial_rs485 *); + int (*iso7816_config)(struct uart_port *, struct serial_iso7816 *); + unsigned int ctrl_id; + unsigned int port_id; + unsigned int irq; + long unsigned int irqflags; + unsigned int uartclk; + unsigned int fifosize; + unsigned char x_char; + unsigned char regshift; + unsigned char quirks; + enum uart_iotype iotype; + unsigned int read_status_mask; + unsigned int ignore_status_mask; + struct uart_state *state; + struct uart_icount icount; + struct console *cons; + upf_t flags; + upstat_t status; + bool hw_stopped; + unsigned int mctrl; + unsigned int frame_time; + unsigned int type; + const struct uart_ops *ops; + unsigned int custom_divisor; + unsigned int line; + unsigned int minor; + resource_size_t mapbase; + resource_size_t mapsize; + struct device *dev; + struct serial_port_device *port_dev; + long unsigned int sysrq; + u8 sysrq_ch; + unsigned char has_sysrq; + unsigned char sysrq_seq; + unsigned char hub6; + unsigned char suspended; + unsigned char console_reinit; + const char *name; + struct attribute_group *attr_group; + const struct attribute_group **tty_groups; + struct serial_rs485 rs485; + struct serial_rs485 rs485_supported; + struct gpio_desc *rs485_term_gpio; + struct gpio_desc *rs485_rx_during_tx_gpio; + struct serial_iso7816 iso7816; + void *private_data; +}; + +struct earlycon_device { + struct console *con; + struct uart_port port; + char options[32]; + unsigned int baud; +}; + +struct earlycon_id { + char name[15]; + char name_term; + char compatible[128]; + int (*setup)(struct earlycon_device *, const char *); +}; + +struct ebitmap_node { + struct ebitmap_node *next; + long unsigned int maps[6]; + u32 startbit; +}; + +struct ecc_point { + u64 *x; + u64 *y; + u8 ndigits; +}; + +struct ecc_curve { + char *name; + u32 nbits; + struct ecc_point g; + u64 *p; + u64 *n; + u64 *a; + u64 *b; +}; + +struct ecdh { + char *key; + short unsigned int key_size; +}; + +struct ecdh_ctx { + unsigned int curve_id; + unsigned int ndigits; + u64 private_key[9]; +}; + +struct ecryptfs_session_key { + u32 flags; + u32 encrypted_key_size; + u32 decrypted_key_size; + u8 encrypted_key[512]; + u8 decrypted_key[64]; +}; + +struct ecryptfs_password { + u32 password_bytes; + s32 hash_algo; + u32 hash_iterations; + u32 session_key_encryption_key_bytes; + u32 flags; + u8 session_key_encryption_key[64]; + u8 signature[17]; + u8 salt[8]; +}; + +struct ecryptfs_private_key { + u32 key_size; + u32 data_len; + u8 signature[17]; + char pki_type[17]; + u8 data[0]; +}; + +struct ecryptfs_auth_tok { + u16 version; + u16 token_type; + u32 flags; + struct ecryptfs_session_key session_key; + u8 reserved[32]; + union { + struct ecryptfs_password password; + struct ecryptfs_private_key private_key; + } token; +}; + +struct ecryptfs_auth_tok_list_item { + unsigned char encrypted_session_key[64]; + struct list_head list; + struct ecryptfs_auth_tok auth_tok; +}; + +struct ecryptfs_cache_info { + struct kmem_cache **cache; + const char *name; + size_t size; + slab_flags_t flags; + void (*ctor)(void *); +}; + +struct ecryptfs_cipher_code_str_map_elem { + char cipher_str[16]; + u8 cipher_code; +}; + +struct ecryptfs_mount_crypt_stat; + +struct ecryptfs_crypt_stat { + u32 flags; + unsigned int file_version; + size_t iv_bytes; + size_t metadata_size; + size_t extent_size; + size_t key_size; + size_t extent_shift; + unsigned int extent_mask; + struct ecryptfs_mount_crypt_stat *mount_crypt_stat; + struct crypto_skcipher *tfm; + struct crypto_shash *hash_tfm; + unsigned char cipher[32]; + unsigned char key[64]; + unsigned char root_iv[16]; + struct list_head keysig_list; + struct mutex keysig_list_mutex; + struct mutex cs_tfm_mutex; + struct mutex cs_mutex; +}; + +struct ecryptfs_daemon { + u32 flags; + u32 num_queued_msg_ctx; + struct file *file; + struct mutex mux; + struct list_head msg_ctx_out_queue; + wait_queue_head_t wait; + struct hlist_node euid_chain; +}; + +struct ecryptfs_dentry_info { + struct path lower_path; + struct callback_head rcu; +}; + +struct ecryptfs_file_info { + struct file *wfi_file; + struct ecryptfs_crypt_stat *crypt_stat; +}; + +struct ecryptfs_filename { + struct list_head crypt_stat_list; + u32 flags; + u32 seq_no; + char *filename; + char *encrypted_filename; + size_t filename_size; + size_t encrypted_filename_size; + char fnek_sig[16]; + char dentry_name[57]; +}; + +struct ecryptfs_flag_map_elem { + u32 file_flag; + u32 local_flag; +}; + +struct ecryptfs_fs_context { + bool check_ruid; + bool sig_set; + bool cipher_name_set; + bool cipher_key_bytes_set; + bool fn_cipher_name_set; + bool fn_cipher_key_bytes_set; +}; + +struct ecryptfs_getdents_callback { + struct dir_context ctx; + struct dir_context *caller; + struct super_block *sb; + int filldir_called; + int entries_written; +}; + +struct ecryptfs_global_auth_tok { + u32 flags; + struct list_head mount_crypt_stat_list; + struct key *global_auth_tok_key; + unsigned char sig[17]; +}; + +struct ecryptfs_inode_info { + struct inode vfs_inode; + struct inode *wii_inode; + struct mutex lower_file_mutex; + atomic_t lower_file_count; + struct file *lower_file; + struct ecryptfs_crypt_stat crypt_stat; +}; + +struct ecryptfs_key_record { + unsigned char type; + size_t enc_key_size; + unsigned char sig[8]; + unsigned char enc_key[512]; +}; + +struct ecryptfs_key_sig { + struct list_head crypt_stat_list; + char keysig[17]; +}; + +struct ecryptfs_key_tfm { + struct crypto_skcipher *key_tfm; + size_t key_size; + struct mutex key_tfm_mutex; + struct list_head key_tfm_list; + unsigned char cipher_name[32]; +}; + +struct ecryptfs_kthread_ctl { + u32 flags; + struct mutex mux; + struct list_head req_list; + wait_queue_head_t wait; +}; + +struct ecryptfs_message { + u32 index; + u32 data_len; + u8 data[0]; +}; + +struct ecryptfs_mount_crypt_stat { + u32 flags; + struct list_head global_auth_tok_list; + struct mutex global_auth_tok_list_mutex; + size_t global_default_cipher_key_size; + size_t global_default_fn_cipher_key_bytes; + unsigned char global_default_cipher_name[32]; + unsigned char global_default_fn_cipher_name[32]; + char global_default_fnek_sig[17]; +}; + +struct ecryptfs_msg_ctx { + u8 state; + u8 type; + u32 index; + u32 counter; + size_t msg_size; + struct ecryptfs_message *msg; + struct task_struct *task; + struct list_head node; + struct list_head daemon_out_list; + struct mutex mux; +}; + +struct ecryptfs_open_req { + struct file **lower_file; + struct path path; + struct completion done; + struct list_head kthread_ctl_list; +}; + +struct ecryptfs_parse_tag_70_packet_silly_stack { + u8 cipher_code; + size_t max_packet_size; + size_t packet_size_len; + size_t parsed_tag_70_packet_size; + size_t block_aligned_filename_size; + size_t block_size; + size_t i; + struct mutex *tfm_mutex; + char *decrypted_filename; + struct ecryptfs_auth_tok *auth_tok; + struct scatterlist src_sg[2]; + struct scatterlist dst_sg[2]; + struct crypto_skcipher *skcipher_tfm; + struct skcipher_request *skcipher_req; + char fnek_sig_hex[17]; + char iv[16]; + char cipher_string[32]; +}; + +struct ecryptfs_sb_info { + struct super_block *wsi_sb; + struct ecryptfs_mount_crypt_stat mount_crypt_stat; +}; + +struct shash_desc; + +struct ecryptfs_write_tag_70_packet_silly_stack { + u8 cipher_code; + size_t max_packet_size; + size_t packet_size_len; + size_t block_aligned_filename_size; + size_t block_size; + size_t i; + size_t j; + size_t num_rand_bytes; + struct mutex *tfm_mutex; + char *block_aligned_filename; + struct ecryptfs_auth_tok *auth_tok; + struct scatterlist src_sg[2]; + struct scatterlist dst_sg[2]; + struct crypto_skcipher *skcipher_tfm; + struct skcipher_request *skcipher_req; + char iv[16]; + char hash[16]; + char tmp_hash[16]; + struct crypto_shash *hash_tfm; + struct shash_desc *hash_desc; +}; + +struct td; + +struct ed { + __hc32 hwINFO; + __hc32 hwTailP; + __hc32 hwHeadP; + __hc32 hwNextED; + dma_addr_t dma; + struct td *dummy; + struct ed *ed_next; + struct ed *ed_prev; + struct list_head td_list; + struct list_head in_use_list; + u8 state; + u8 type; + u8 branch; + u16 interval; + u16 load; + u16 last_iso; + u16 tick; + unsigned int takeback_wdh_cnt; + struct td *pending_td; + long: 64; +}; + +struct edac_scrub_ops; + +struct edac_ecs_ops; + +struct edac_mem_repair_ops; + +struct edac_dev_data { + union { + const struct edac_scrub_ops *scrub_ops; + const struct edac_ecs_ops *ecs_ops; + const struct edac_mem_repair_ops *mem_repair_ops; + }; + u8 instance; + void *private; +}; + +struct edac_dev_feat_ctx { + struct device dev; + void *private; + struct edac_dev_data *scrub; + struct edac_dev_data ecs; + struct edac_dev_data *mem_repair; +}; + +struct edac_ecs_ex_info { + u16 num_media_frus; +}; + +struct edac_dev_feature { + enum edac_dev_feat ft_type; + u8 instance; + union { + const struct edac_scrub_ops *scrub_ops; + const struct edac_ecs_ops *ecs_ops; + const struct edac_mem_repair_ops *mem_repair_ops; + }; + void *ctx; + struct edac_ecs_ex_info ecs_info; +}; + +struct edac_dev_sysfs_attribute { + struct attribute attr; + ssize_t (*show)(struct edac_device_ctl_info *, char *); + ssize_t (*store)(struct edac_device_ctl_info *, const char *, size_t); +}; + +struct edac_dev_sysfs_block_attribute { + struct attribute attr; + ssize_t (*show)(struct kobject *, struct attribute *, char *); +}; + +struct edac_device_counter { + u32 ue_count; + u32 ce_count; +}; + +struct edac_device_instance; + +struct edac_device_block { + struct edac_device_instance *instance; + char name[32]; + struct edac_device_counter counters; + int nr_attribs; + struct edac_dev_sysfs_block_attribute *block_attributes; + struct kobject kobj; +}; + +struct edac_device_ctl_info { + struct list_head link; + struct module *owner; + int dev_idx; + int log_ue; + int log_ce; + int panic_on_ue; + unsigned int poll_msec; + long unsigned int delay; + struct edac_dev_sysfs_attribute *sysfs_attributes; + const struct bus_type *edac_subsys; + int op_state; + struct delayed_work work; + void (*edac_check)(struct edac_device_ctl_info *); + struct device *dev; + const char *mod_name; + const char *ctl_name; + const char *dev_name; + void *pvt_info; + long unsigned int start_time; + char name[32]; + u32 nr_instances; + struct edac_device_instance *instances; + struct edac_device_block *blocks; + struct edac_device_counter counters; + struct kobject kobj; +}; + +struct edac_device_instance { + struct edac_device_ctl_info *ctl; + char name[35]; + struct edac_device_counter counters; + u32 nr_blocks; + struct edac_device_block *blocks; + struct kobject kobj; +}; + +struct edac_ecs_fru_context; + +struct edac_ecs_context { + u16 num_media_frus; + struct edac_ecs_fru_context *fru_ctxs; +}; + +struct edac_ecs_dev_attr { + struct device_attribute dev_attr; + int fru_id; +}; + +struct edac_ecs_fru_context { + char name[128]; + struct edac_ecs_dev_attr dev_attr[4]; + struct attribute *ecs_attrs[5]; + struct attribute_group group; +}; + +struct edac_ecs_ops { + int (*get_log_entry_type)(struct device *, void *, int, u32 *); + int (*set_log_entry_type)(struct device *, void *, int, u32); + int (*get_mode)(struct device *, void *, int, u32 *); + int (*set_mode)(struct device *, void *, int, u32); + int (*reset)(struct device *, void *, int, u32); + int (*get_threshold)(struct device *, void *, int, u32 *); + int (*set_threshold)(struct device *, void *, int, u32); +}; + +struct edac_mc_layer { + enum edac_mc_layer_type type; + unsigned int size; + bool is_virt_csrow; +}; + +struct edac_mem_repair_dev_attr { + struct device_attribute dev_attr; + u8 instance; +}; + +struct edac_mem_repair_context { + char name[128]; + struct edac_mem_repair_dev_attr mem_repair_dev_attr[18]; + struct attribute *mem_repair_attrs[19]; + struct attribute_group group; +}; + +struct edac_mem_repair_ops { + int (*get_repair_type)(struct device *, void *, const char **); + int (*get_persist_mode)(struct device *, void *, bool *); + int (*set_persist_mode)(struct device *, void *, bool); + int (*get_repair_safe_when_in_use)(struct device *, void *, bool *); + int (*get_hpa)(struct device *, void *, u64 *); + int (*set_hpa)(struct device *, void *, u64); + int (*get_min_hpa)(struct device *, void *, u64 *); + int (*get_max_hpa)(struct device *, void *, u64 *); + int (*get_dpa)(struct device *, void *, u64 *); + int (*set_dpa)(struct device *, void *, u64); + int (*get_min_dpa)(struct device *, void *, u64 *); + int (*get_max_dpa)(struct device *, void *, u64 *); + int (*get_nibble_mask)(struct device *, void *, u32 *); + int (*set_nibble_mask)(struct device *, void *, u32); + int (*get_bank_group)(struct device *, void *, u32 *); + int (*set_bank_group)(struct device *, void *, u32); + int (*get_bank)(struct device *, void *, u32 *); + int (*set_bank)(struct device *, void *, u32); + int (*get_rank)(struct device *, void *, u32 *); + int (*set_rank)(struct device *, void *, u32); + int (*get_row)(struct device *, void *, u32 *); + int (*set_row)(struct device *, void *, u32); + int (*get_column)(struct device *, void *, u32 *); + int (*set_column)(struct device *, void *, u32); + int (*get_channel)(struct device *, void *, u32 *); + int (*set_channel)(struct device *, void *, u32); + int (*get_sub_channel)(struct device *, void *, u32 *); + int (*set_sub_channel)(struct device *, void *, u32); + int (*do_repair)(struct device *, void *, u32); +}; + +struct edac_pci_counter { + atomic_t pe_count; + atomic_t npe_count; +}; + +struct edac_pci_ctl_info { + struct list_head link; + int pci_idx; + int op_state; + struct delayed_work work; + void (*edac_check)(struct edac_pci_ctl_info *); + struct device *dev; + const char *mod_name; + const char *ctl_name; + const char *dev_name; + void *pvt_info; + long unsigned int start_time; + char name[32]; + struct edac_pci_counter counters; + struct kobject kobj; +}; + +struct edac_pci_dev_attribute { + struct attribute attr; + void *value; + ssize_t (*show)(void *, char *); + ssize_t (*store)(void *, const char *, size_t); +}; + +struct edac_pci_gen_data { + int edac_idx; +}; + +struct edac_raw_error_desc { + char location[256]; + char label[296]; + long int grain; + u16 error_count; + enum hw_event_mc_err_type type; + int top_layer; + int mid_layer; + int low_layer; + long unsigned int page_frame_number; + long unsigned int offset_in_page; + long unsigned int syndrome; + const char *msg; + const char *other_detail; +}; + +struct edac_scrub_dev_attr { + struct device_attribute dev_attr; + u8 instance; +}; + +struct edac_scrub_context { + char name[128]; + struct edac_scrub_dev_attr scrub_dev_attr[6]; + struct attribute *scrub_attrs[7]; + struct attribute_group group; +}; + +struct edac_scrub_ops { + int (*read_addr)(struct device *, void *, u64 *); + int (*read_size)(struct device *, void *, u64 *); + int (*write_addr)(struct device *, void *, u64); + int (*write_size)(struct device *, void *, u64); + int (*get_enabled_bg)(struct device *, void *, bool *); + int (*set_enabled_bg)(struct device *, void *, bool); + int (*get_min_cycle)(struct device *, void *, u32 *); + int (*get_max_cycle)(struct device *, void *, u32 *); + int (*get_cycle_duration)(struct device *, void *, u32 *); + int (*set_cycle_duration)(struct device *, void *, u32); +}; + +struct edd { + unsigned int mbr_signature[16]; + struct edd_info edd_info[6]; + unsigned char mbr_signature_nr; + unsigned char edd_info_nr; +}; + +struct edd_device; + +struct edd_attribute { + struct attribute attr; + ssize_t (*show)(struct edd_device *, char *); + int (*test)(struct edd_device *); +}; + +struct edd_device { + unsigned int index; + unsigned int mbr_signature; + struct edd_info *info; + struct kobject kobj; +}; + +struct est_timings { + u8 t1; + u8 t2; + u8 mfg_rsvd; +}; + +struct edid { + u8 header[8]; + union { + struct drm_edid_product_id product_id; + struct { + u8 mfg_id[2]; + u8 prod_code[2]; + u32 serial; + u8 mfg_week; + u8 mfg_year; + } __attribute__((packed)); + }; + u8 version; + u8 revision; + u8 input; + u8 width_cm; + u8 height_cm; + u8 gamma; + u8 features; + u8 red_green_lo; + u8 blue_white_lo; + u8 red_x; + u8 red_y; + u8 green_x; + u8 green_y; + u8 blue_x; + u8 blue_y; + u8 white_x; + u8 white_y; + struct est_timings established_timings; + struct std_timing standard_timings[8]; + struct detailed_timing detailed_timings[4]; + u8 extensions; + u8 checksum; +}; + +struct edid_quirk { + const struct drm_edid_ident ident; + u32 quirks; +}; + +struct eee_config { + u32 tx_lpi_timer; + bool tx_lpi_enabled; + bool eee_enabled; +}; + +struct ethtool_keee { + long unsigned int supported[2]; + long unsigned int advertised[2]; + long unsigned int lp_advertised[2]; + u32 tx_lpi_timer; + bool tx_lpi_enabled; + bool eee_active; + bool eee_enabled; +}; + +struct eee_reply_data { + struct ethnl_reply_data base; + struct ethtool_keee eee; +}; + +struct eeprom_reply_data { + struct ethnl_reply_data base; + u32 length; + u8 *data; +}; + +struct ethnl_req_info { + struct net_device *dev; + netdevice_tracker dev_tracker; + u32 flags; + u32 phy_index; +}; + +struct eeprom_req_info { + struct ethnl_req_info base; + u32 offset; + u32 length; + u8 page; + u8 bank; + u8 i2c_address; +}; + +typedef efi_status_t efi_get_time_t(efi_time_t *, efi_time_cap_t *); + +typedef efi_status_t efi_set_time_t(efi_time_t *); + +typedef efi_status_t efi_get_wakeup_time_t(efi_bool_t *, efi_bool_t *, efi_time_t *); + +typedef efi_status_t efi_set_wakeup_time_t(efi_bool_t, efi_time_t *); + +typedef efi_status_t efi_get_variable_t(efi_char16_t *, efi_guid_t *, u32 *, long unsigned int *, void *); + +typedef efi_status_t efi_get_next_variable_t(long unsigned int *, efi_char16_t *, efi_guid_t *); + +typedef efi_status_t efi_set_variable_t(efi_char16_t *, efi_guid_t *, u32, long unsigned int, void *); + +typedef efi_status_t efi_query_variable_info_t(u32, u64 *, u64 *, u64 *); + +typedef efi_status_t efi_update_capsule_t(efi_capsule_header_t **, long unsigned int, long unsigned int); + +typedef efi_status_t efi_query_capsule_caps_t(efi_capsule_header_t **, long unsigned int, u64 *, int *); + +typedef efi_status_t efi_get_next_high_mono_count_t(u32 *); + +typedef void efi_reset_system_t(int, efi_status_t, long unsigned int, efi_char16_t *); + +struct efi_memory_map { + phys_addr_t phys_map; + void *map; + void *map_end; + int nr_map; + long unsigned int desc_version; + long unsigned int desc_size; + long unsigned int flags; +}; + +struct efi { + const efi_runtime_services_t *runtime; + unsigned int runtime_version; + unsigned int runtime_supported_mask; + long unsigned int acpi; + long unsigned int acpi20; + long unsigned int smbios; + long unsigned int smbios3; + long unsigned int esrt; + long unsigned int tpm_log; + long unsigned int tpm_final_log; + long unsigned int ovmf_debug_log; + long unsigned int mokvar_table; + long unsigned int coco_secret; + long unsigned int unaccepted; + efi_get_time_t *get_time; + efi_set_time_t *set_time; + efi_get_wakeup_time_t *get_wakeup_time; + efi_set_wakeup_time_t *set_wakeup_time; + efi_get_variable_t *get_variable; + efi_get_next_variable_t *get_next_variable; + efi_set_variable_t *set_variable; + efi_set_variable_t *set_variable_nonblocking; + efi_query_variable_info_t *query_variable_info; + efi_query_variable_info_t *query_variable_info_nonblocking; + efi_update_capsule_t *update_capsule; + efi_query_capsule_caps_t *query_capsule_caps; + efi_get_next_high_mono_count_t *get_next_high_mono_count; + efi_reset_system_t *reset_system; + struct efi_memory_map memmap; + long unsigned int flags; +}; + +struct efi_embedded_fw { + struct list_head list; + const char *name; + const u8 *data; + size_t length; +}; + +struct efi_embedded_fw_desc { + const char *name; + u8 prefix[8]; + u32 length; + u8 sha256[32]; +}; + +struct efi_error_code { + efi_status_t status; + int errno; + const char *description; +}; + +struct efi_mem_range { + struct range range; + u64 attribute; +}; + +struct efi_memory_map_data { + phys_addr_t phys_map; + long unsigned int size; + long unsigned int desc_version; + long unsigned int desc_size; + long unsigned int flags; +}; + +struct efi_mokvar_sysfs_attr { + struct bin_attribute bin_attr; + struct list_head node; +}; + +struct efi_mokvar_table_entry { + char name[256]; + u64 data_size; + u8 data[0]; +}; + +union efi_rts_args { + struct { + efi_time_t *time; + efi_time_cap_t *capabilities; + } GET_TIME; + struct { + efi_time_t *time; + } SET_TIME; + struct { + efi_bool_t *enabled; + efi_bool_t *pending; + efi_time_t *time; + } GET_WAKEUP_TIME; + struct { + efi_bool_t enable; + efi_time_t *time; + } SET_WAKEUP_TIME; + struct { + efi_char16_t *name; + efi_guid_t *vendor; + u32 *attr; + long unsigned int *data_size; + void *data; + } GET_VARIABLE; + struct { + long unsigned int *name_size; + efi_char16_t *name; + efi_guid_t *vendor; + } GET_NEXT_VARIABLE; + struct { + efi_char16_t *name; + efi_guid_t *vendor; + u32 attr; + long unsigned int data_size; + void *data; + } SET_VARIABLE; + struct { + u32 attr; + u64 *storage_space; + u64 *remaining_space; + u64 *max_variable_size; + } QUERY_VARIABLE_INFO; + struct { + u32 *high_count; + } GET_NEXT_HIGH_MONO_COUNT; + struct { + efi_capsule_header_t **capsules; + long unsigned int count; + long unsigned int sg_list; + } UPDATE_CAPSULE; + struct { + efi_capsule_header_t **capsules; + long unsigned int count; + u64 *max_size; + int *reset_type; + } QUERY_CAPSULE_CAPS; + struct { + efi_status_t (*acpi_prm_handler)(u64, void *); + u64 param_buffer_addr; + void *context; + } ACPI_PRM_HANDLER; +}; + +struct efi_runtime_map_entry { + efi_memory_desc_t md; + struct kobject kobj; +}; + +struct efi_runtime_work { + union efi_rts_args *args; + efi_status_t status; + struct work_struct work; + enum efi_rts_ids efi_rts_id; + struct completion efi_rts_comp; + const void *caller; +}; + +struct efi_setup_data { + u64 fw_vendor; + u64 __unused; + u64 tables; + u64 smbios; + u64 reserved[8]; +}; + +struct efi_system_resource_entry_v1 { + efi_guid_t fw_class; + u32 fw_type; + u32 fw_version; + u32 lowest_supported_fw_version; + u32 capsule_flags; + u32 last_attempt_version; + u32 last_attempt_status; +}; + +struct efi_system_resource_table { + u32 fw_resource_count; + u32 fw_resource_count_max; + u64 fw_resource_version; + u8 entries[0]; +}; + +struct efi_tcg2_final_events_table { + u64 version; + u64 nr_events; + u8 events[0]; +}; + +struct efi_unaccepted_memory { + u32 version; + u32 unit_size; + u64 phys_base; + u64 size; + long unsigned int bitmap[0]; +}; + +struct efi_variable { + efi_char16_t VariableName[512]; + efi_guid_t VendorGuid; +}; + +struct efifb_dmi_info { + char *optname; + long unsigned int base; + int stride; + int width; + int height; + int flags; +}; + +struct efivar_entry { + struct efi_variable var; + struct inode vfs_inode; + long unsigned int open_count; + bool removed; +}; + +typedef efi_status_t efi_query_variable_store_t(u32, long unsigned int, bool); + +struct efivar_operations { + efi_get_variable_t *get_variable; + efi_get_next_variable_t *get_next_variable; + efi_set_variable_t *set_variable; + efi_set_variable_t *set_variable_nonblocking; + efi_query_variable_store_t *query_variable_store; + efi_query_variable_info_t *query_variable_info; +}; + +struct efivarfs_mount_opts { + kuid_t uid; + kgid_t gid; +}; + +struct efivarfs_fs_info { + struct efivarfs_mount_opts mount_opts; + struct super_block *sb; + struct notifier_block nb; +}; + +struct efivars { + struct kset *kset; + const struct efivar_operations *ops; +}; + +struct ehci_caps { + u32 hc_capbase; + u32 hcs_params; + u32 hcc_params; + u8 portroute[8]; +}; + +struct ehci_dbg_port { + u32 control; + u32 pids; + u32 data03; + u32 data47; + u32 address; +}; + +struct ehci_dev { + u32 bus; + u32 slot; + u32 func; +}; + +struct usb_hcd; + +struct ehci_driver_overrides { + size_t extra_priv_size; + int (*reset)(struct usb_hcd *); + int (*port_power)(struct usb_hcd *, int, bool); +}; + +struct ehci_qh; + +struct ehci_itd; + +struct ehci_sitd; + +struct ehci_fstn; + +union ehci_shadow { + struct ehci_qh *qh; + struct ehci_itd *itd; + struct ehci_sitd *sitd; + struct ehci_fstn *fstn; + __le32 *hw_next; + void *ptr; +}; + +struct ehci_fstn { + __le32 hw_next; + __le32 hw_prev; + dma_addr_t fstn_dma; + union ehci_shadow fstn_next; + long: 64; +}; + +struct ehci_stats { + long unsigned int normal; + long unsigned int error; + long unsigned int iaa; + long unsigned int lost_iaa; + long unsigned int complete; + long unsigned int unlink; +}; + +struct ehci_regs; + +struct ehci_hcd { + enum ehci_hrtimer_event next_hrtimer_event; + unsigned int enabled_hrtimer_events; + ktime_t hr_timeouts[12]; + struct hrtimer hrtimer; + int PSS_poll_count; + int ASS_poll_count; + int died_poll_count; + struct ehci_caps *caps; + struct ehci_regs *regs; + struct ehci_dbg_port *debug; + __u32 hcs_params; + spinlock_t lock; + enum ehci_rh_state rh_state; + bool scanning: 1; + bool need_rescan: 1; + bool intr_unlinking: 1; + bool iaa_in_progress: 1; + bool async_unlinking: 1; + bool shutdown: 1; + struct ehci_qh *qh_scan_next; + struct ehci_qh *async; + struct ehci_qh *dummy; + struct list_head async_unlink; + struct list_head async_idle; + unsigned int async_unlink_cycle; + unsigned int async_count; + __le32 old_current; + __le32 old_token; + unsigned int periodic_size; + __le32 *periodic; + dma_addr_t periodic_dma; + struct list_head intr_qh_list; + unsigned int i_thresh; + union ehci_shadow *pshadow; + struct list_head intr_unlink_wait; + struct list_head intr_unlink; + unsigned int intr_unlink_wait_cycle; + unsigned int intr_unlink_cycle; + unsigned int now_frame; + unsigned int last_iso_frame; + unsigned int intr_count; + unsigned int isoc_count; + unsigned int periodic_count; + unsigned int uframe_periodic_max; + struct list_head cached_itd_list; + struct ehci_itd *last_itd_to_free; + struct list_head cached_sitd_list; + struct ehci_sitd *last_sitd_to_free; + long unsigned int reset_done[15]; + long unsigned int bus_suspended; + long unsigned int companion_ports; + long unsigned int owned_ports; + long unsigned int port_c_suspend; + long unsigned int suspended_ports; + long unsigned int resuming_ports; + struct dma_pool *qh_pool; + struct dma_pool *qtd_pool; + struct dma_pool *itd_pool; + struct dma_pool *sitd_pool; + unsigned int random_frame; + long unsigned int next_statechange; + ktime_t last_periodic_enable; + u32 command; + unsigned int no_selective_suspend: 1; + unsigned int has_fsl_port_bug: 1; + unsigned int has_fsl_hs_errata: 1; + unsigned int has_fsl_susp_errata: 1; + unsigned int has_ci_pec_bug: 1; + unsigned int big_endian_mmio: 1; + unsigned int big_endian_desc: 1; + unsigned int big_endian_capbase: 1; + unsigned int has_amcc_usb23: 1; + unsigned int need_io_watchdog: 1; + unsigned int amd_pll_fix: 1; + unsigned int use_dummy_qh: 1; + unsigned int has_synopsys_hc_bug: 1; + unsigned int frame_index_bug: 1; + unsigned int need_oc_pp_cycle: 1; + unsigned int imx28_write_fix: 1; + unsigned int spurious_oc: 1; + unsigned int is_aspeed: 1; + unsigned int zx_wakeup_clear_needed: 1; + __le32 *ohci_hcctrl_reg; + unsigned int has_hostpc: 1; + unsigned int has_tdi_phy_lpm: 1; + unsigned int has_ppcd: 1; + u8 sbrn; + struct ehci_stats stats; + struct dentry *debug_dir; + u8 bandwidth[64]; + u8 tt_budget[64]; + struct list_head tt_list; + long unsigned int priv[0]; +}; + +struct ehci_iso_packet { + u64 bufp; + __le32 transaction; + u8 cross; + u32 buf1; +}; + +struct ehci_iso_sched { + struct list_head td_list; + unsigned int span; + unsigned int first_packet; + struct ehci_iso_packet packet[0]; +}; + +struct usb_host_endpoint; + +struct ehci_per_sched { + struct usb_device *udev; + struct usb_host_endpoint *ep; + struct list_head ps_list; + u16 tt_usecs; + u16 cs_mask; + u16 period; + u16 phase; + u8 bw_phase; + u8 phase_uf; + u8 usecs; + u8 c_usecs; + u8 bw_uperiod; + u8 bw_period; +}; + +struct ehci_qh_hw; + +struct ehci_iso_stream { + struct ehci_qh_hw *hw; + u8 bEndpointAddress; + u8 highspeed; + struct list_head td_list; + struct list_head free_list; + struct ehci_per_sched ps; + unsigned int next_uframe; + __le32 splits; + u16 uperiod; + u16 maxp; + unsigned int bandwidth; + __le32 buf0; + __le32 buf1; + __le32 buf2; + __le32 address; +}; + +struct ehci_itd { + __le32 hw_next; + __le32 hw_transaction[8]; + __le32 hw_bufp[7]; + __le32 hw_bufp_hi[7]; + dma_addr_t itd_dma; + union ehci_shadow itd_next; + struct urb *urb; + struct ehci_iso_stream *stream; + struct list_head itd_list; + unsigned int frame; + unsigned int pg; + unsigned int index[8]; + long: 64; +}; + +struct ehci_platform_priv { + struct clk *clks[4]; + struct reset_control *rsts; + bool reset_on_resume; + bool quirk_poll; + struct timer_list poll_timer; + struct delayed_work poll_work; +}; + +struct ehci_qtd; + +struct ehci_qh { + struct ehci_qh_hw *hw; + dma_addr_t qh_dma; + union ehci_shadow qh_next; + struct list_head qtd_list; + struct list_head intr_node; + struct ehci_qtd *dummy; + struct list_head unlink_node; + struct ehci_per_sched ps; + unsigned int unlink_cycle; + u8 qh_state; + u8 xacterrs; + u8 unlink_reason; + u8 gap_uf; + unsigned int is_out: 1; + unsigned int clearing_tt: 1; + unsigned int dequeue_during_giveback: 1; + unsigned int should_be_inactive: 1; +}; + +struct ehci_qh_hw { + __le32 hw_next; + __le32 hw_info1; + __le32 hw_info2; + __le32 hw_current; + __le32 hw_qtd_next; + __le32 hw_alt_next; + __le32 hw_token; + __le32 hw_buf[5]; + __le32 hw_buf_hi[5]; + long: 64; + long: 64; + long: 64; +}; + +struct ehci_qtd { + __le32 hw_next; + __le32 hw_alt_next; + __le32 hw_token; + __le32 hw_buf[5]; + __le32 hw_buf_hi[5]; + dma_addr_t qtd_dma; + struct list_head qtd_list; + struct urb *urb; + size_t length; +}; + +struct ehci_regs { + u32 command; + u32 status; + u32 intr_enable; + u32 frame_index; + u32 segment; + u32 frame_list; + u32 async_next; + u32 reserved1[2]; + u32 txfill_tuning; + u32 reserved2[6]; + u32 configured_flag; + union { + u32 port_status[15]; + struct { + u32 reserved3[9]; + u32 usbmode; + }; + }; + union { + struct { + u32 reserved4; + u32 hostpc[15]; + }; + u32 brcm_insnreg[4]; + }; + u32 reserved5[2]; + u32 usbmode_ex; +}; + +struct ehci_sitd { + __le32 hw_next; + __le32 hw_fullspeed_ep; + __le32 hw_uframe; + __le32 hw_results; + __le32 hw_buf[2]; + __le32 hw_backpointer; + __le32 hw_buf_hi[2]; + dma_addr_t sitd_dma; + union ehci_shadow sitd_next; + struct urb *urb; + struct ehci_iso_stream *stream; + struct list_head sitd_list; + unsigned int frame; + unsigned int index; +}; + +struct ehci_tt { + u16 bandwidth[8]; + struct list_head tt_list; + struct list_head ps_list; + struct usb_tt *usb_tt; + int tt_port; +}; + +struct ei_entry { + struct list_head list; + long unsigned int start_addr; + long unsigned int end_addr; + int etype; + void *priv; +}; + +struct touchscreen_properties { + unsigned int max_x; + unsigned int max_y; + bool invert_x; + bool invert_y; + bool swap_x_y; +}; + +struct elants_data { + struct i2c_client *client; + struct input_dev *input; + struct regulator *vcc33; + struct regulator *vccio; + struct gpio_desc *reset_gpio; + u16 fw_version; + u8 test_version; + u8 solution_version; + u8 bc_version; + u8 iap_version; + u16 hw_version; + u8 major_res; + unsigned int x_res; + unsigned int y_res; + unsigned int x_max; + unsigned int y_max; + unsigned int phy_x; + unsigned int phy_y; + struct touchscreen_properties prop; + enum elants_state state; + enum elants_chip_id chip_id; + enum elants_iap_mode iap_mode; + struct mutex sysfs_mutex; + u8 cmd_resp[4]; + struct completion cmd_done; + bool keep_power_in_suspend; + long: 64; + u8 buf[169]; + long: 64; + long: 64; +}; + +struct elants_version_attribute { + struct device_attribute dattr; + size_t field_offset; + size_t field_size; +}; + +struct elevator_queue; + +struct io_cq; + +struct elevator_mq_ops { + int (*init_sched)(struct request_queue *, struct elevator_queue *); + void (*exit_sched)(struct elevator_queue *); + int (*init_hctx)(struct blk_mq_hw_ctx *, unsigned int); + void (*exit_hctx)(struct blk_mq_hw_ctx *, unsigned int); + void (*depth_updated)(struct request_queue *); + void * (*alloc_sched_data)(struct request_queue *); + void (*free_sched_data)(void *); + bool (*allow_merge)(struct request_queue *, struct request *, struct bio *); + bool (*bio_merge)(struct request_queue *, struct bio *, unsigned int); + int (*request_merge)(struct request_queue *, struct request **, struct bio *); + void (*request_merged)(struct request_queue *, struct request *, enum elv_merge); + void (*requests_merged)(struct request_queue *, struct request *, struct request *); + void (*limit_depth)(blk_opf_t, struct blk_mq_alloc_data *); + void (*prepare_request)(struct request *); + void (*finish_request)(struct request *); + void (*insert_requests)(struct blk_mq_hw_ctx *, struct list_head *, blk_insert_t); + struct request * (*dispatch_request)(struct blk_mq_hw_ctx *); + bool (*has_work)(struct blk_mq_hw_ctx *); + void (*completed_request)(struct request *, u64); + void (*requeue_request)(struct request *); + struct request * (*former_request)(struct request_queue *, struct request *); + struct request * (*next_request)(struct request_queue *, struct request *); + void (*init_icq)(struct io_cq *); + void (*exit_icq)(struct io_cq *); +}; + +struct elevator_type; + +struct elevator_tags; + +struct elevator_queue { + struct elevator_type *type; + struct elevator_tags *et; + void *elevator_data; + struct kobject kobj; + struct mutex sysfs_lock; + long unsigned int flags; + struct hlist_head hash[64]; +}; + +struct elevator_resources { + void *data; + struct elevator_tags *et; +}; + +struct elevator_tags { + unsigned int nr_hw_queues; + unsigned int nr_requests; + struct blk_mq_tags *tags[0]; +}; + +struct elv_fs_entry; + +struct elevator_type { + struct kmem_cache *icq_cache; + struct elevator_mq_ops ops; + size_t icq_size; + size_t icq_align; + const struct elv_fs_entry *elevator_attrs; + const char *elevator_name; + const char *elevator_alias; + struct module *elevator_owner; + const struct blk_mq_debugfs_attr *queue_debugfs_attrs; + const struct blk_mq_debugfs_attr *hctx_debugfs_attrs; + char icq_cache_name[22]; + struct list_head list; +}; + +struct elf32_hdr { + unsigned char e_ident[16]; + Elf32_Half e_type; + Elf32_Half e_machine; + Elf32_Word e_version; + Elf32_Addr e_entry; + Elf32_Off e_phoff; + Elf32_Off e_shoff; + Elf32_Word e_flags; + Elf32_Half e_ehsize; + Elf32_Half e_phentsize; + Elf32_Half e_phnum; + Elf32_Half e_shentsize; + Elf32_Half e_shnum; + Elf32_Half e_shstrndx; +}; + +typedef struct elf32_hdr Elf32_Ehdr; + +struct elf32_note { + Elf32_Word n_namesz; + Elf32_Word n_descsz; + Elf32_Word n_type; +}; + +typedef struct elf32_note Elf32_Nhdr; + +struct elf32_phdr { + Elf32_Word p_type; + Elf32_Off p_offset; + Elf32_Addr p_vaddr; + Elf32_Addr p_paddr; + Elf32_Word p_filesz; + Elf32_Word p_memsz; + Elf32_Word p_flags; + Elf32_Word p_align; +}; + +typedef struct elf32_phdr Elf32_Phdr; + +struct elf32_shdr { + Elf32_Word sh_name; + Elf32_Word sh_type; + Elf32_Word sh_flags; + Elf32_Addr sh_addr; + Elf32_Off sh_offset; + Elf32_Word sh_size; + Elf32_Word sh_link; + Elf32_Word sh_info; + Elf32_Word sh_addralign; + Elf32_Word sh_entsize; +}; + +struct elf64_hdr { + unsigned char e_ident[16]; + Elf64_Half e_type; + Elf64_Half e_machine; + Elf64_Word e_version; + Elf64_Addr e_entry; + Elf64_Off e_phoff; + Elf64_Off e_shoff; + Elf64_Word e_flags; + Elf64_Half e_ehsize; + Elf64_Half e_phentsize; + Elf64_Half e_phnum; + Elf64_Half e_shentsize; + Elf64_Half e_shnum; + Elf64_Half e_shstrndx; +}; + +typedef struct elf64_hdr Elf64_Ehdr; + +struct elf64_note { + Elf64_Word n_namesz; + Elf64_Word n_descsz; + Elf64_Word n_type; +}; + +typedef struct elf64_note Elf64_Nhdr; + +struct elf64_phdr { + Elf64_Word p_type; + Elf64_Word p_flags; + Elf64_Off p_offset; + Elf64_Addr p_vaddr; + Elf64_Addr p_paddr; + Elf64_Xword p_filesz; + Elf64_Xword p_memsz; + Elf64_Xword p_align; +}; + +typedef struct elf64_phdr Elf64_Phdr; + +struct elf64_rela { + Elf64_Addr r_offset; + Elf64_Xword r_info; + Elf64_Sxword r_addend; +}; + +typedef struct elf64_rela Elf64_Rela; + +struct elf64_shdr { + Elf64_Word sh_name; + Elf64_Word sh_type; + Elf64_Xword sh_flags; + Elf64_Addr sh_addr; + Elf64_Off sh_offset; + Elf64_Xword sh_size; + Elf64_Word sh_link; + Elf64_Word sh_info; + Elf64_Xword sh_addralign; + Elf64_Xword sh_entsize; +}; + +typedef struct elf64_shdr Elf64_Shdr; + +struct elf64_sym { + Elf64_Word st_name; + unsigned char st_info; + unsigned char st_other; + Elf64_Half st_shndx; + Elf64_Addr st_value; + Elf64_Xword st_size; +}; + +typedef struct elf64_sym Elf64_Sym; + +struct memelfnote { + const char *name; + int type; + unsigned int datasz; + void *data; +}; + +struct elf_thread_core_info; + +struct elf_note_info { + struct elf_thread_core_info *thread; + struct memelfnote psinfo; + struct memelfnote signote; + struct memelfnote auxv; + struct memelfnote files; + compat_siginfo_t csigdata; + size_t size; + int thread_notes; +}; + +struct siginfo { + union { + struct { + int si_signo; + int si_errno; + int si_code; + union __sifields _sifields; + }; + int _si_pad[32]; + }; +}; + +typedef struct siginfo siginfo_t; + +struct elf_thread_core_info___2; + +struct elf_note_info___2 { + struct elf_thread_core_info___2 *thread; + struct memelfnote psinfo; + struct memelfnote signote; + struct memelfnote auxv; + struct memelfnote files; + siginfo_t csigdata; + size_t size; + int thread_notes; +}; + +struct elf_prpsinfo { + char pr_state; + char pr_sname; + char pr_zomb; + char pr_nice; + long unsigned int pr_flag; + __kernel_uid_t pr_uid; + __kernel_gid_t pr_gid; + pid_t pr_pid; + pid_t pr_ppid; + pid_t pr_pgrp; + pid_t pr_sid; + char pr_fname[16]; + char pr_psargs[80]; +}; + +struct elf_siginfo { + int si_signo; + int si_code; + int si_errno; +}; + +struct elf_prstatus_common { + struct elf_siginfo pr_info; + short int pr_cursig; + long unsigned int pr_sigpend; + long unsigned int pr_sighold; + pid_t pr_pid; + pid_t pr_ppid; + pid_t pr_pgrp; + pid_t pr_sid; + struct __kernel_old_timeval pr_utime; + struct __kernel_old_timeval pr_stime; + struct __kernel_old_timeval pr_cutime; + struct __kernel_old_timeval pr_cstime; +}; + +struct elf_prstatus { + struct elf_prstatus_common common; + elf_gregset_t pr_reg; + int pr_fpvalid; +}; + +struct elf_thread_core_info___2 { + struct elf_thread_core_info___2 *next; + struct task_struct *task; + struct elf_prstatus prstatus; + struct memelfnote notes[0]; +}; + +struct elf_thread_core_info { + struct elf_thread_core_info *next; + struct task_struct *task; + struct compat_elf_prstatus prstatus; + struct memelfnote notes[0]; +}; + +struct elv_change_ctx { + const char *name; + bool no_uevent; + struct elevator_queue *old; + struct elevator_queue *new; + struct elevator_type *type; + struct elevator_resources res; +}; + +struct elv_fs_entry { + struct attribute attr; + ssize_t (*show)(struct elevator_queue *, char *); + ssize_t (*store)(struct elevator_queue *, const char *, size_t); +}; + +struct em_data_callback { + int (*active_power)(struct device *, long unsigned int *, long unsigned int *); + int (*get_cost)(struct device *, long unsigned int, long unsigned int *); +}; + +struct em_dbg_info { + struct em_perf_domain *pd; + int ps_id; +}; + +struct em_perf_table; + +struct em_perf_domain { + struct em_perf_table *em_table; + int nr_perf_states; + int min_perf_state; + int max_perf_state; + long unsigned int flags; + long unsigned int cpus[0]; +}; + +struct em_perf_state { + long unsigned int performance; + long unsigned int frequency; + long unsigned int power; + long unsigned int cost; + long unsigned int flags; +}; + +struct em_perf_table { + struct callback_head rcu; + struct kref kref; + struct em_perf_state state[0]; +}; + +struct trace_event_file; + +struct enable_trigger_data { + struct trace_event_file *file; + bool enable; + bool hist; +}; + +struct encrypted_key_payload { + struct callback_head rcu; + char *format; + char *master_desc; + char *datalen; + u8 *iv; + u8 *encrypted_data; + short unsigned int datablob_len; + short unsigned int decrypted_datalen; + short unsigned int payload_datalen; + short unsigned int encrypted_key_format; + u8 *decrypted_data; + u8 payload_data[0]; +}; + +struct energy_env { + long unsigned int task_busy_time; + long unsigned int pd_busy_time; + long unsigned int cpu_cap; + long unsigned int pd_cap; +}; + +struct entropy_timer_state { + long unsigned int entropy; + struct timer_list timer; + atomic_t samples; + unsigned int samples_per_bit; +}; + +struct usb_endpoint_descriptor; + +struct ep_device { + struct usb_endpoint_descriptor *desc; + struct usb_device *udev; + struct device dev; +}; + +typedef struct poll_table_struct poll_table; + +struct epitem; + +struct ep_pqueue { + poll_table pt; + struct epitem *epi; +}; + +struct epoll_filefd { + struct file *file; + int fd; +} __attribute__((packed)); + +struct epoll_event { + __poll_t events; + __u64 data; +} __attribute__((packed)); + +struct eppoll_entry; + +struct eventpoll; + +struct epitem { + union { + struct rb_node rbn; + struct callback_head rcu; + }; + struct list_head rdllink; + struct epitem *next; + struct epoll_filefd ffd; + bool dying; + struct eppoll_entry *pwqlist; + struct eventpoll *ep; + struct hlist_node fllink; + struct wakeup_source *ws; + struct epoll_event event; +}; + +struct epitems_head { + struct hlist_head epitems; + struct epitems_head *next; +}; + +struct epoll_params { + __u32 busy_poll_usecs; + __u16 busy_poll_budget; + __u8 prefer_busy_poll; + __u8 __pad; +}; + +struct eppoll_entry { + struct eppoll_entry *next; + struct epitem *base; + wait_queue_entry_t wait; + wait_queue_head_t *whead; +}; + +struct trace_eprobe; + +struct eprobe_data { + struct trace_event_file *file; + struct trace_eprobe *ep; +}; + +struct eprobe_trace_entry_head { + struct trace_entry ent; +}; + +struct equiv_cpu_entry { + u32 installed_cpu; + u32 fixed_errata_mask; + u32 fixed_errata_compare; + u16 equiv_cpu; + u16 res; +}; + +struct equiv_cpu_table { + unsigned int num_entries; + struct equiv_cpu_entry *entry; +}; + +struct er_account { + raw_spinlock_t lock; + u64 config; + u64 reg; + atomic_t ref; +}; + +struct err_info { + const char **errs; + u8 type; + u16 pos; + u64 ts; +}; + +struct error_info { + short unsigned int code12; + short unsigned int size; +}; + +struct error_info2 { + unsigned char code1; + unsigned char code2_min; + unsigned char code2_max; + const char *str; + const char *fmt; +}; + +struct error_injection_entry { + long unsigned int addr; + int etype; +}; + +struct erspan_md2 { + __be32 timestamp; + __be16 sgt; + __u8 hwid_upper: 2; + __u8 ft: 5; + __u8 p: 1; + __u8 o: 1; + __u8 gra: 2; + __u8 dir: 1; + __u8 hwid: 4; +}; + +struct erspan_metadata { + int version; + union { + __be32 index; + struct erspan_md2 md2; + } u; +}; + +struct erst_erange { + u64 base; + u64 size; + void *vaddr; + u32 attr; + u64 timings; +}; + +struct erst_record_id_cache { + struct mutex lock; + u64 *entries; + int len; + int size; + int refcount; +}; + +struct insn_field { + union { + insn_value_t value; + insn_byte_t bytes[4]; + }; + unsigned char got; + unsigned char nbytes; +}; + +struct insn { + struct insn_field prefixes; + struct insn_field rex_prefix; + struct insn_field vex_prefix; + struct insn_field opcode; + struct insn_field modrm; + struct insn_field sib; + struct insn_field displacement; + union { + struct insn_field immediate; + struct insn_field moffset1; + struct insn_field immediate1; + }; + union { + struct insn_field moffset2; + struct insn_field immediate2; + }; + int emulate_prefix_size; + insn_attr_t attr; + unsigned char opnd_bytes; + unsigned char addr_bytes; + unsigned char length; + unsigned char x86_64; + const insn_byte_t *kaddr; + const insn_byte_t *end_kaddr; + const insn_byte_t *next_byte; +}; + +struct es_fault_info { + long unsigned int vector; + long unsigned int error_code; + long unsigned int cr2; +}; + +struct es_em_ctxt { + struct pt_regs *regs; + struct insn insn; + struct es_fault_info fi; +}; + +struct strp_stats { + long long unsigned int msgs; + long long unsigned int bytes; + unsigned int mem_fail; + unsigned int need_more_hdr; + unsigned int msg_too_big; + unsigned int msg_timeouts; + unsigned int bad_hdr_len; +}; + +typedef int (*sk_read_actor_t)(read_descriptor_t *, struct sk_buff *, unsigned int, size_t); + +struct strparser; + +struct strp_callbacks { + int (*parse_msg)(struct strparser *, struct sk_buff *); + void (*rcv_msg)(struct strparser *, struct sk_buff *); + int (*read_sock)(struct strparser *, read_descriptor_t *, sk_read_actor_t); + int (*read_sock_done)(struct strparser *, int); + void (*abort_parser)(struct strparser *, int); + void (*lock)(struct strparser *); + void (*unlock)(struct strparser *); +}; + +struct strparser { + struct sock *sk; + u32 stopped: 1; + u32 paused: 1; + u32 aborted: 1; + u32 interrupted: 1; + u32 unrecov_intr: 1; + struct sk_buff **skb_nextp; + struct sk_buff *skb_head; + unsigned int need_bytes; + struct delayed_work msg_timer_work; + struct work_struct work; + struct strp_stats stats; + struct strp_callbacks cb; +}; + +struct espintcp_msg { + struct sk_buff *skb; + struct sk_msg skmsg; + int offset; + int len; +}; + +struct espintcp_ctx { + struct strparser strp; + struct sk_buff_head ike_queue; + struct sk_buff_head out_queue; + struct espintcp_msg partial; + void (*saved_data_ready)(struct sock *); + void (*saved_write_space)(struct sock *); + void (*saved_destruct)(struct sock *); + struct work_struct work; + bool tx_running; +}; + +struct esre_entry; + +struct esre_attribute { + struct attribute attr; + ssize_t (*show)(struct esre_entry *, char *); +}; + +struct esre_entry { + union { + struct efi_system_resource_entry_v1 *esre1; + } esre; + struct kobject kobj; + struct list_head list; +}; + +struct estack_pages { + u32 offs; + u16 size; + u16 type; +}; + +struct ethnl_request_ops; + +struct ethnl_dump_ctx { + const struct ethnl_request_ops *ops; + struct ethnl_req_info *req_info; + struct ethnl_reply_data *reply_data; + long unsigned int pos_ifindex; +}; + +struct ethnl_module_fw_flash_ntf_params { + u32 portid; + u32 seq; + bool closed_sock; +}; + +struct ethnl_perphy_dump_ctx { + struct ethnl_dump_ctx ethnl_ctx; + unsigned int ifindex; + long unsigned int pos_phyindex; +}; + +struct ethnl_request_ops { + u8 request_cmd; + u8 reply_cmd; + u16 hdr_attr; + unsigned int req_info_size; + unsigned int reply_data_size; + bool allow_nodev_do; + u8 set_ntf_cmd; + int (*parse_request)(struct ethnl_req_info *, struct nlattr **, struct netlink_ext_ack *); + int (*prepare_data)(const struct ethnl_req_info *, struct ethnl_reply_data *, const struct genl_info *); + int (*reply_size)(const struct ethnl_req_info *, const struct ethnl_reply_data *); + int (*fill_reply)(struct sk_buff *, const struct ethnl_req_info *, const struct ethnl_reply_data *); + void (*cleanup_data)(struct ethnl_reply_data *); + int (*set_validate)(struct ethnl_req_info *, struct genl_info *); + int (*set)(struct ethnl_req_info *, struct genl_info *); +}; + +struct ethnl_sock_priv { + struct net_device *dev; + u32 portid; + enum ethnl_sock_type type; +}; + +struct tsinfo_req_info; + +struct tsinfo_reply_data; + +struct ethnl_tsinfo_dump_ctx { + struct tsinfo_req_info *req_info; + struct tsinfo_reply_data *reply_data; + long unsigned int pos_ifindex; + bool netdev_dump_done; + long unsigned int pos_phyindex; + enum hwtstamp_provider_qualifier pos_phcqualifier; +}; + +struct ethnl_tunnel_info_dump_ctx { + struct ethnl_req_info req_info; + long unsigned int ifindex; +}; + +struct ethtool_c33_pse_ext_state_info { + enum ethtool_c33_pse_ext_state c33_pse_ext_state; + union { + enum ethtool_c33_pse_ext_substate_error_condition error_condition; + enum ethtool_c33_pse_ext_substate_mr_pse_enable mr_pse_enable; + enum ethtool_c33_pse_ext_substate_option_detect_ted option_detect_ted; + enum ethtool_c33_pse_ext_substate_option_vport_lim option_vport_lim; + enum ethtool_c33_pse_ext_substate_ovld_detected ovld_detected; + enum ethtool_c33_pse_ext_substate_power_not_available power_not_available; + enum ethtool_c33_pse_ext_substate_short_detected short_detected; + u32 __c33_pse_ext_substate; + }; +}; + +struct ethtool_c33_pse_pw_limit_range { + u32 min; + u32 max; +}; + +struct ethtool_cmd { + __u32 cmd; + __u32 supported; + __u32 advertising; + __u16 speed; + __u8 duplex; + __u8 port; + __u8 phy_address; + __u8 transceiver; + __u8 autoneg; + __u8 mdio_support; + __u32 maxtxpkt; + __u32 maxrxpkt; + __u16 speed_hi; + __u8 eth_tp_mdix; + __u8 eth_tp_mdix_ctrl; + __u32 lp_advertising; + __u32 reserved[2]; +}; + +struct ethtool_cmis_cdb { + u8 cmis_rev; + u8 read_write_len_ext; + u16 max_completion_time; +}; + +struct ethtool_cmis_cdb_request { + __be16 id; + union { + struct { + __be16 epl_len; + u8 lpl_len; + u8 chk_code; + u8 resv1; + u8 resv2; + u8 payload[120]; + }; + struct { + __be16 epl_len; + u8 lpl_len; + u8 chk_code; + u8 resv1; + u8 resv2; + u8 payload[120]; + } body; + }; + u8 *epl; +}; + +struct ethtool_cmis_cdb_cmd_args { + struct ethtool_cmis_cdb_request req; + u16 max_duration; + u8 read_write_len_ext; + u8 msleep_pre_rpl; + u8 rpl_exp_len; + u8 flags; + char *err_msg; +}; + +struct ethtool_cmis_cdb_rpl_hdr { + u8 rpl_len; + u8 rpl_chk_code; +}; + +struct ethtool_cmis_cdb_rpl { + struct ethtool_cmis_cdb_rpl_hdr hdr; + u8 payload[120]; +}; + +struct ethtool_module_fw_flash_params { + __be32 password; + u8 password_valid: 1; +}; + +struct ethtool_cmis_fw_update_params { + struct net_device *dev; + struct ethtool_module_fw_flash_params params; + struct ethnl_module_fw_flash_ntf_params ntf_params; + const struct firmware *fw; +}; + +struct ethtool_flash { + __u32 cmd; + __u32 region; + char data[128]; +}; + +struct ethtool_drvinfo { + __u32 cmd; + char driver[32]; + char version[32]; + char fw_version[32]; + char bus_info[32]; + char erom_version[32]; + char reserved2[12]; + __u32 n_priv_flags; + __u32 n_stats; + __u32 testinfo_len; + __u32 eedump_len; + __u32 regdump_len; +}; + +struct ethtool_devlink_compat { + struct devlink *devlink; + union { + struct ethtool_flash efl; + struct ethtool_drvinfo info; + }; +}; + +struct ethtool_dump { + __u32 cmd; + __u32 version; + __u32 flag; + __u32 len; + __u8 data[0]; +}; + +struct ethtool_eee { + __u32 cmd; + __u32 supported; + __u32 advertised; + __u32 lp_advertised; + __u32 eee_active; + __u32 eee_enabled; + __u32 tx_lpi_enabled; + __u32 tx_lpi_timer; + __u32 reserved[2]; +}; + +struct ethtool_eeprom { + __u32 cmd; + __u32 magic; + __u32 offset; + __u32 len; + __u8 data[0]; +}; + +struct ethtool_eth_ctrl_stats { + enum ethtool_mac_stats_src src; + union { + struct { + u64 MACControlFramesTransmitted; + u64 MACControlFramesReceived; + u64 UnsupportedOpcodesReceived; + }; + struct { + u64 MACControlFramesTransmitted; + u64 MACControlFramesReceived; + u64 UnsupportedOpcodesReceived; + } stats; + }; +}; + +struct ethtool_eth_mac_stats { + enum ethtool_mac_stats_src src; + union { + struct { + u64 FramesTransmittedOK; + u64 SingleCollisionFrames; + u64 MultipleCollisionFrames; + u64 FramesReceivedOK; + u64 FrameCheckSequenceErrors; + u64 AlignmentErrors; + u64 OctetsTransmittedOK; + u64 FramesWithDeferredXmissions; + u64 LateCollisions; + u64 FramesAbortedDueToXSColls; + u64 FramesLostDueToIntMACXmitError; + u64 CarrierSenseErrors; + u64 OctetsReceivedOK; + u64 FramesLostDueToIntMACRcvError; + u64 MulticastFramesXmittedOK; + u64 BroadcastFramesXmittedOK; + u64 FramesWithExcessiveDeferral; + u64 MulticastFramesReceivedOK; + u64 BroadcastFramesReceivedOK; + u64 InRangeLengthErrors; + u64 OutOfRangeLengthField; + u64 FrameTooLongErrors; + }; + struct { + u64 FramesTransmittedOK; + u64 SingleCollisionFrames; + u64 MultipleCollisionFrames; + u64 FramesReceivedOK; + u64 FrameCheckSequenceErrors; + u64 AlignmentErrors; + u64 OctetsTransmittedOK; + u64 FramesWithDeferredXmissions; + u64 LateCollisions; + u64 FramesAbortedDueToXSColls; + u64 FramesLostDueToIntMACXmitError; + u64 CarrierSenseErrors; + u64 OctetsReceivedOK; + u64 FramesLostDueToIntMACRcvError; + u64 MulticastFramesXmittedOK; + u64 BroadcastFramesXmittedOK; + u64 FramesWithExcessiveDeferral; + u64 MulticastFramesReceivedOK; + u64 BroadcastFramesReceivedOK; + u64 InRangeLengthErrors; + u64 OutOfRangeLengthField; + u64 FrameTooLongErrors; + } stats; + }; +}; + +struct ethtool_eth_phy_stats { + enum ethtool_mac_stats_src src; + union { + struct { + u64 SymbolErrorDuringCarrier; + }; + struct { + u64 SymbolErrorDuringCarrier; + } stats; + }; +}; + +struct ethtool_fec_stat { + u64 total; + u64 lanes[8]; +}; + +struct ethtool_fec_stats { + struct ethtool_fec_stat corrected_blocks; + struct ethtool_fec_stat uncorrectable_blocks; + struct ethtool_fec_stat corrected_bits; +}; + +struct ethtool_fecparam { + __u32 cmd; + __u32 active_fec; + __u32 fec; + __u32 reserved; +}; + +struct ethtool_forced_speed_map { + u32 speed; + long unsigned int caps[2]; + const u32 *cap_arr; + u32 arr_size; +}; + +struct ethtool_get_features_block { + __u32 available; + __u32 requested; + __u32 active; + __u32 never_changed; +}; + +struct ethtool_gfeatures { + __u32 cmd; + __u32 size; + struct ethtool_get_features_block features[0]; +}; + +struct ethtool_gstrings { + __u32 cmd; + __u32 string_set; + __u32 len; + __u8 data[0]; +}; + +struct ethtool_link_ext_state_info { + enum ethtool_link_ext_state link_ext_state; + union { + enum ethtool_link_ext_substate_autoneg autoneg; + enum ethtool_link_ext_substate_link_training link_training; + enum ethtool_link_ext_substate_link_logical_mismatch link_logical_mismatch; + enum ethtool_link_ext_substate_bad_signal_integrity bad_signal_integrity; + enum ethtool_link_ext_substate_cable_issue cable_issue; + enum ethtool_link_ext_substate_module module; + u32 __link_ext_substate; + }; +}; + +struct ethtool_link_ext_stats { + u64 link_down_events; +}; + +struct ethtool_link_settings { + __u32 cmd; + __u32 speed; + __u8 duplex; + __u8 port; + __u8 phy_address; + __u8 autoneg; + __u8 mdio_support; + __u8 eth_tp_mdix; + __u8 eth_tp_mdix_ctrl; + __s8 link_mode_masks_nwords; + __u8 transceiver; + __u8 master_slave_cfg; + __u8 master_slave_state; + __u8 rate_matching; + __u32 reserved[7]; +}; + +struct ethtool_link_ksettings { + struct ethtool_link_settings base; + struct { + long unsigned int supported[2]; + long unsigned int advertising[2]; + long unsigned int lp_advertising[2]; + } link_modes; + u32 lanes; +}; + +struct ethtool_link_usettings { + struct ethtool_link_settings base; + struct { + __u32 supported[4]; + __u32 advertising[4]; + __u32 lp_advertising[4]; + } link_modes; +}; + +struct ethtool_mm_cfg { + u32 verify_time; + bool verify_enabled; + bool tx_enabled; + bool pmac_enabled; + u32 tx_min_frag_size; +}; + +struct ethtool_mm_state { + u32 verify_time; + u32 max_verify_time; + enum ethtool_mm_verify_status verify_status; + bool tx_enabled; + bool tx_active; + bool pmac_enabled; + bool verify_enabled; + u32 tx_min_frag_size; + u32 rx_min_frag_size; +}; + +struct ethtool_mm_stats { + u64 MACMergeFrameAssErrorCount; + u64 MACMergeFrameSmdErrorCount; + u64 MACMergeFrameAssOkCount; + u64 MACMergeFragCountRx; + u64 MACMergeFragCountTx; + u64 MACMergeHoldCount; +}; + +struct ethtool_mmsv_ops; + +struct ethtool_mmsv { + const struct ethtool_mmsv_ops *ops; + struct net_device *dev; + spinlock_t lock; + enum ethtool_mm_verify_status status; + struct timer_list verify_timer; + bool verify_enabled; + int verify_retries; + bool pmac_enabled; + u32 verify_time; + bool tx_enabled; +}; + +struct ethtool_mmsv_ops { + void (*configure_tx)(struct ethtool_mmsv *, bool); + void (*configure_pmac)(struct ethtool_mmsv *, bool); + void (*send_mpacket)(struct ethtool_mmsv *, enum ethtool_mpacket); +}; + +struct ethtool_modinfo { + __u32 cmd; + __u32 type; + __u32 eeprom_len; + __u32 reserved[8]; +}; + +struct ethtool_module_eeprom { + u32 offset; + u32 length; + u8 page; + u8 bank; + u8 i2c_address; + u8 *data; +}; + +struct ethtool_module_fw_flash { + struct list_head list; + netdevice_tracker dev_tracker; + struct work_struct work; + struct ethtool_cmis_fw_update_params fw_update; +}; + +struct ethtool_module_power_mode_params { + enum ethtool_module_power_mode_policy policy; + enum ethtool_module_power_mode mode; +}; + +struct ethtool_netdev_state { + struct xarray rss_ctx; + struct mutex rss_lock; + unsigned int wol_enabled: 1; + unsigned int module_fw_flash_in_progress: 1; +}; + +struct ethtool_ringparam; + +struct kernel_ethtool_ringparam; + +struct ethtool_pauseparam; + +struct ethtool_stats; + +struct ethtool_rxfh_param; + +struct ethtool_rxfh_fields; + +struct ethtool_rxfh_context; + +struct ethtool_tunable; + +struct ethtool_ops { + u32 supported_input_xfrm: 8; + u32 cap_link_lanes_supported: 1; + u32 rxfh_per_ctx_fields: 1; + u32 rxfh_per_ctx_key: 1; + u32 cap_rss_rxnfc_adds: 1; + u32 rxfh_indir_space; + u16 rxfh_key_space; + u16 rxfh_priv_size; + u32 rxfh_max_num_contexts; + u32 supported_coalesce_params; + u32 supported_ring_params; + u32 supported_hwtstamp_qualifiers; + void (*get_drvinfo)(struct net_device *, struct ethtool_drvinfo *); + int (*get_regs_len)(struct net_device *); + void (*get_regs)(struct net_device *, struct ethtool_regs *, void *); + void (*get_wol)(struct net_device *, struct ethtool_wolinfo *); + int (*set_wol)(struct net_device *, struct ethtool_wolinfo *); + u32 (*get_msglevel)(struct net_device *); + void (*set_msglevel)(struct net_device *, u32); + int (*nway_reset)(struct net_device *); + u32 (*get_link)(struct net_device *); + int (*get_link_ext_state)(struct net_device *, struct ethtool_link_ext_state_info *); + void (*get_link_ext_stats)(struct net_device *, struct ethtool_link_ext_stats *); + int (*get_eeprom_len)(struct net_device *); + int (*get_eeprom)(struct net_device *, struct ethtool_eeprom *, u8 *); + int (*set_eeprom)(struct net_device *, struct ethtool_eeprom *, u8 *); + int (*get_coalesce)(struct net_device *, struct ethtool_coalesce *, struct kernel_ethtool_coalesce *, struct netlink_ext_ack *); + int (*set_coalesce)(struct net_device *, struct ethtool_coalesce *, struct kernel_ethtool_coalesce *, struct netlink_ext_ack *); + void (*get_ringparam)(struct net_device *, struct ethtool_ringparam *, struct kernel_ethtool_ringparam *, struct netlink_ext_ack *); + int (*set_ringparam)(struct net_device *, struct ethtool_ringparam *, struct kernel_ethtool_ringparam *, struct netlink_ext_ack *); + void (*get_pause_stats)(struct net_device *, struct ethtool_pause_stats *); + void (*get_pauseparam)(struct net_device *, struct ethtool_pauseparam *); + int (*set_pauseparam)(struct net_device *, struct ethtool_pauseparam *); + void (*self_test)(struct net_device *, struct ethtool_test *, u64 *); + void (*get_strings)(struct net_device *, u32, u8 *); + int (*set_phys_id)(struct net_device *, enum ethtool_phys_id_state); + void (*get_ethtool_stats)(struct net_device *, struct ethtool_stats *, u64 *); + int (*begin)(struct net_device *); + void (*complete)(struct net_device *); + u32 (*get_priv_flags)(struct net_device *); + int (*set_priv_flags)(struct net_device *, u32); + int (*get_sset_count)(struct net_device *, int); + int (*get_rxnfc)(struct net_device *, struct ethtool_rxnfc *, u32 *); + int (*set_rxnfc)(struct net_device *, struct ethtool_rxnfc *); + int (*flash_device)(struct net_device *, struct ethtool_flash *); + int (*reset)(struct net_device *, u32 *); + u32 (*get_rxfh_key_size)(struct net_device *); + u32 (*get_rxfh_indir_size)(struct net_device *); + int (*get_rxfh)(struct net_device *, struct ethtool_rxfh_param *); + int (*set_rxfh)(struct net_device *, struct ethtool_rxfh_param *, struct netlink_ext_ack *); + int (*get_rxfh_fields)(struct net_device *, struct ethtool_rxfh_fields *); + int (*set_rxfh_fields)(struct net_device *, const struct ethtool_rxfh_fields *, struct netlink_ext_ack *); + int (*create_rxfh_context)(struct net_device *, struct ethtool_rxfh_context *, const struct ethtool_rxfh_param *, struct netlink_ext_ack *); + int (*modify_rxfh_context)(struct net_device *, struct ethtool_rxfh_context *, const struct ethtool_rxfh_param *, struct netlink_ext_ack *); + int (*remove_rxfh_context)(struct net_device *, struct ethtool_rxfh_context *, u32, struct netlink_ext_ack *); + void (*get_channels)(struct net_device *, struct ethtool_channels *); + int (*set_channels)(struct net_device *, struct ethtool_channels *); + int (*get_dump_flag)(struct net_device *, struct ethtool_dump *); + int (*get_dump_data)(struct net_device *, struct ethtool_dump *, void *); + int (*set_dump)(struct net_device *, struct ethtool_dump *); + int (*get_ts_info)(struct net_device *, struct kernel_ethtool_ts_info *); + void (*get_ts_stats)(struct net_device *, struct ethtool_ts_stats *); + int (*get_module_info)(struct net_device *, struct ethtool_modinfo *); + int (*get_module_eeprom)(struct net_device *, struct ethtool_eeprom *, u8 *); + int (*get_eee)(struct net_device *, struct ethtool_keee *); + int (*set_eee)(struct net_device *, struct ethtool_keee *); + int (*get_tunable)(struct net_device *, const struct ethtool_tunable *, void *); + int (*set_tunable)(struct net_device *, const struct ethtool_tunable *, const void *); + int (*get_per_queue_coalesce)(struct net_device *, u32, struct ethtool_coalesce *); + int (*set_per_queue_coalesce)(struct net_device *, u32, struct ethtool_coalesce *); + int (*get_link_ksettings)(struct net_device *, struct ethtool_link_ksettings *); + int (*set_link_ksettings)(struct net_device *, const struct ethtool_link_ksettings *); + void (*get_fec_stats)(struct net_device *, struct ethtool_fec_stats *); + int (*get_fecparam)(struct net_device *, struct ethtool_fecparam *); + int (*set_fecparam)(struct net_device *, struct ethtool_fecparam *); + void (*get_ethtool_phy_stats)(struct net_device *, struct ethtool_stats *, u64 *); + int (*get_phy_tunable)(struct net_device *, const struct ethtool_tunable *, void *); + int (*set_phy_tunable)(struct net_device *, const struct ethtool_tunable *, const void *); + int (*get_module_eeprom_by_page)(struct net_device *, const struct ethtool_module_eeprom *, struct netlink_ext_ack *); + int (*set_module_eeprom_by_page)(struct net_device *, const struct ethtool_module_eeprom *, struct netlink_ext_ack *); + void (*get_eth_phy_stats)(struct net_device *, struct ethtool_eth_phy_stats *); + void (*get_eth_mac_stats)(struct net_device *, struct ethtool_eth_mac_stats *); + void (*get_eth_ctrl_stats)(struct net_device *, struct ethtool_eth_ctrl_stats *); + void (*get_rmon_stats)(struct net_device *, struct ethtool_rmon_stats *, const struct ethtool_rmon_hist_range **); + int (*get_module_power_mode)(struct net_device *, struct ethtool_module_power_mode_params *, struct netlink_ext_ack *); + int (*set_module_power_mode)(struct net_device *, const struct ethtool_module_power_mode_params *, struct netlink_ext_ack *); + int (*get_mm)(struct net_device *, struct ethtool_mm_state *); + int (*set_mm)(struct net_device *, struct ethtool_mm_cfg *, struct netlink_ext_ack *); + void (*get_mm_stats)(struct net_device *, struct ethtool_mm_stats *); +}; + +struct ethtool_pause_stats { + enum ethtool_mac_stats_src src; + union { + struct { + u64 tx_pause_frames; + u64 rx_pause_frames; + }; + struct { + u64 tx_pause_frames; + u64 rx_pause_frames; + } stats; + }; +}; + +struct ethtool_pauseparam { + __u32 cmd; + __u32 autoneg; + __u32 rx_pause; + __u32 tx_pause; +}; + +struct ethtool_per_queue_op { + __u32 cmd; + __u32 sub_command; + __u32 queue_mask[128]; + char data[0]; +}; + +struct ethtool_perm_addr { + __u32 cmd; + __u32 size; + __u8 data[0]; +}; + +struct phy_plca_cfg; + +struct phy_plca_status; + +struct phy_tdr_config; + +struct ethtool_phy_ops { + int (*get_sset_count)(struct phy_device *); + int (*get_strings)(struct phy_device *, u8 *); + int (*get_stats)(struct phy_device *, struct ethtool_stats *, u64 *); + int (*get_plca_cfg)(struct phy_device *, struct phy_plca_cfg *); + int (*set_plca_cfg)(struct phy_device *, const struct phy_plca_cfg *, struct netlink_ext_ack *); + int (*get_plca_status)(struct phy_device *, struct phy_plca_status *); + int (*start_cable_test)(struct phy_device *, struct netlink_ext_ack *); + int (*start_cable_test_tdr)(struct phy_device *, struct netlink_ext_ack *, const struct phy_tdr_config *); +}; + +struct ethtool_phy_stats { + u64 rx_packets; + u64 rx_bytes; + u64 rx_errors; + u64 tx_packets; + u64 tx_bytes; + u64 tx_errors; +}; + +struct ethtool_pse_control_status { + u32 pw_d_id; + enum ethtool_podl_pse_admin_state podl_admin_state; + enum ethtool_podl_pse_pw_d_status podl_pw_status; + enum ethtool_c33_pse_admin_state c33_admin_state; + enum ethtool_c33_pse_pw_d_status c33_pw_status; + u32 c33_pw_class; + u32 c33_actual_pw; + struct ethtool_c33_pse_ext_state_info c33_ext_state_info; + u32 c33_avail_pw_limit; + struct ethtool_c33_pse_pw_limit_range *c33_pw_limit_ranges; + u32 c33_pw_limit_nb_ranges; + u32 prio_max; + u32 prio; +}; + +struct ethtool_regs { + __u32 cmd; + __u32 version; + __u32 len; + __u8 data[0]; +}; + +struct ethtool_ringparam { + __u32 cmd; + __u32 rx_max_pending; + __u32 rx_mini_max_pending; + __u32 rx_jumbo_max_pending; + __u32 tx_max_pending; + __u32 rx_pending; + __u32 rx_mini_pending; + __u32 rx_jumbo_pending; + __u32 tx_pending; +}; + +struct ethtool_rmon_hist_range { + u16 low; + u16 high; +}; + +struct ethtool_rmon_stats { + enum ethtool_mac_stats_src src; + union { + struct { + u64 undersize_pkts; + u64 oversize_pkts; + u64 fragments; + u64 jabbers; + u64 hist[11]; + u64 hist_tx[11]; + }; + struct { + u64 undersize_pkts; + u64 oversize_pkts; + u64 fragments; + u64 jabbers; + u64 hist[11]; + u64 hist_tx[11]; + } stats; + }; +}; + +struct flow_dissector_key_basic { + __be16 n_proto; + u8 ip_proto; + u8 padding; +}; + +struct flow_dissector_key_ipv4_addrs { + __be32 src; + __be32 dst; +}; + +struct flow_dissector_key_ipv6_addrs { + struct in6_addr src; + struct in6_addr dst; +}; + +struct flow_dissector_key_ports { + union { + __be32 ports; + struct { + __be16 src; + __be16 dst; + }; + }; +}; + +struct flow_dissector_key_ip { + __u8 tos; + __u8 ttl; +}; + +struct flow_dissector_key_vlan { + union { + struct { + u16 vlan_id: 12; + u16 vlan_dei: 1; + u16 vlan_priority: 3; + }; + __be16 vlan_tci; + }; + __be16 vlan_tpid; + __be16 vlan_eth_type; + u16 padding; +}; + +struct flow_dissector_key_eth_addrs { + unsigned char dst[6]; + unsigned char src[6]; +}; + +struct ethtool_rx_flow_key { + struct flow_dissector_key_basic basic; + union { + struct flow_dissector_key_ipv4_addrs ipv4; + struct flow_dissector_key_ipv6_addrs ipv6; + }; + struct flow_dissector_key_ports tp; + struct flow_dissector_key_ip ip; + struct flow_dissector_key_vlan vlan; + struct flow_dissector_key_eth_addrs eth_addrs; +}; + +struct flow_dissector { + long long unsigned int used_keys; + short unsigned int offset[33]; +}; + +struct ethtool_rx_flow_match { + struct flow_dissector dissector; + struct ethtool_rx_flow_key key; + struct ethtool_rx_flow_key mask; +}; + +struct flow_rule; + +struct ethtool_rx_flow_rule { + struct flow_rule *rule; + long unsigned int priv[0]; +}; + +struct ethtool_rx_flow_spec { + __u32 flow_type; + union ethtool_flow_union h_u; + struct ethtool_flow_ext h_ext; + union ethtool_flow_union m_u; + struct ethtool_flow_ext m_ext; + __u64 ring_cookie; + __u32 location; +}; + +struct ethtool_rx_flow_spec_input { + const struct ethtool_rx_flow_spec *fs; + u32 rss_ctx; +}; + +struct ethtool_rxfh { + __u32 cmd; + __u32 rss_context; + __u32 indir_size; + __u32 key_size; + __u8 hfunc; + __u8 input_xfrm; + __u8 rsvd8[2]; + __u32 rsvd32; + __u32 rss_config[0]; +}; + +struct ethtool_rxfh_context { + u32 indir_size; + u32 key_size; + u16 priv_size; + u8 hfunc; + u8 input_xfrm; + u8 indir_configured: 1; + u8 key_configured: 1; + u32 key_off; + long: 0; + u8 data[0]; +}; + +struct ethtool_rxfh_fields { + u32 data; + u32 flow_type; + u32 rss_context; +}; + +struct ethtool_rxfh_param { + u8 hfunc; + u32 indir_size; + u32 *indir; + u32 key_size; + u8 *key; + u32 rss_context; + u8 rss_delete; + u8 input_xfrm; +}; + +struct ethtool_rxnfc { + __u32 cmd; + __u32 flow_type; + __u64 data; + struct ethtool_rx_flow_spec fs; + union { + __u32 rule_cnt; + __u32 rss_context; + }; + __u32 rule_locs[0]; +}; + +struct ethtool_set_features_block { + __u32 valid; + __u32 requested; +}; + +struct ethtool_sfeatures { + __u32 cmd; + __u32 size; + struct ethtool_set_features_block features[0]; +}; + +struct ethtool_sset_info { + __u32 cmd; + __u32 reserved; + __u64 sset_mask; + __u32 data[0]; +}; + +struct ethtool_stats { + __u32 cmd; + __u32 n_stats; + __u64 data[0]; +}; + +struct ethtool_test { + __u32 cmd; + __u32 flags; + __u32 reserved; + __u32 len; + __u64 data[0]; +}; + +struct ethtool_ts_info { + __u32 cmd; + __u32 so_timestamping; + __s32 phc_index; + __u32 tx_types; + __u32 tx_reserved[3]; + __u32 rx_filters; + __u32 rx_reserved[3]; +}; + +struct ethtool_ts_stats { + union { + struct { + u64 pkts; + u64 onestep_pkts_unconfirmed; + u64 lost; + u64 err; + }; + struct { + u64 pkts; + u64 onestep_pkts_unconfirmed; + u64 lost; + u64 err; + } tx_stats; + }; +}; + +struct ethtool_tunable { + __u32 cmd; + __u32 id; + __u32 type_id; + __u32 len; + void *data[0]; +}; + +struct ethtool_value { + __u32 cmd; + __u32 data; +}; + +struct ethtool_wolinfo { + __u32 cmd; + __u32 supported; + __u32 wolopts; + __u8 sopass[6]; +}; + +struct input_handler; + +struct input_value; + +struct input_handle { + void *private; + int open; + const char *name; + struct input_dev *dev; + struct input_handler *handler; + unsigned int (*handle_events)(struct input_handle *, struct input_value *, unsigned int); + struct list_head d_node; + struct list_head h_node; +}; + +struct evdev_client; + +struct evdev { + int open; + struct input_handle handle; + struct evdev_client *grab; + struct list_head client_list; + spinlock_t client_lock; + struct mutex mutex; + struct device dev; + struct cdev cdev; + bool exist; +}; + +struct input_event { + __kernel_ulong_t __sec; + __kernel_ulong_t __usec; + __u16 type; + __u16 code; + __s32 value; +}; + +struct fasync_struct; + +struct evdev_client { + unsigned int head; + unsigned int tail; + unsigned int packet_head; + spinlock_t buffer_lock; + wait_queue_head_t wait; + struct fasync_struct *fasync; + struct evdev *evdev; + struct list_head node; + enum input_clock_type clk_type; + bool revoked; + long unsigned int *evmasks[32]; + unsigned int bufsize; + struct input_event buffer[0]; +}; + +struct event_trigger_data; + +struct event_trigger_ops; + +struct event_command { + struct list_head list; + char *name; + enum event_trigger_type trigger_type; + int flags; + int (*parse)(struct event_command *, struct trace_event_file *, char *, char *, char *); + int (*reg)(char *, struct event_trigger_data *, struct trace_event_file *); + void (*unreg)(char *, struct event_trigger_data *, struct trace_event_file *); + void (*unreg_all)(struct trace_event_file *); + int (*set_filter)(char *, struct event_trigger_data *, struct trace_event_file *); + const struct event_trigger_ops * (*get_trigger_ops)(char *, char *); +}; + +struct event_counter { + u32 count; + u32 flags; +}; + +struct event_file_link { + struct trace_event_file *file; + struct list_head list; +}; + +struct prog_entry; + +struct event_filter { + struct prog_entry *prog; + char *filter_string; +}; + +typedef void (*event_f)(struct perf_event *, struct perf_cpu_context *, struct perf_event_context *, void *); + +struct event_function_struct { + struct perf_event *event; + event_f func; + void *data; +}; + +struct event_header { + __be16 data_len; + __u8 notification_class: 3; + __u8 reserved1: 4; + __u8 nea: 1; + __u8 supp_event_class; +}; + +struct slot___2; + +struct event_info { + u32 event_type; + struct slot___2 *p_slot; + struct work_struct work; +}; + +struct event_mod_load { + struct list_head list; + char *module; + char *match; + char *system; + char *event; +}; + +struct event_probe_data { + struct trace_event_file *file; + long unsigned int count; + int ref; + bool enable; +}; + +struct event_subsystem { + struct list_head list; + const char *name; + struct event_filter *filter; + int ref_count; +}; + +struct event_trigger_data { + long unsigned int count; + int ref; + int flags; + const struct event_trigger_ops *ops; + struct event_command *cmd_ops; + struct event_filter *filter; + char *filter_str; + void *private_data; + bool paused; + bool paused_tmp; + struct list_head list; + char *name; + struct list_head named_list; + struct event_trigger_data *named_data; +}; + +struct event_trigger_ops { + void (*trigger)(struct event_trigger_data *, struct trace_buffer *, void *, struct ring_buffer_event *); + int (*init)(struct event_trigger_data *); + void (*free)(struct event_trigger_data *); + int (*print)(struct seq_file *, struct event_trigger_data *); +}; + +struct eventfd_ctx { + struct kref kref; + wait_queue_head_t wqh; + __u64 count; + unsigned int flags; + int id; +}; + +struct eventfs_attr { + int mode; + kuid_t uid; + kgid_t gid; +}; + +typedef int (*eventfs_callback)(const char *, umode_t *, void **, const struct file_operations **); + +typedef void (*eventfs_release)(const char *, void *); + +struct eventfs_entry { + const char *name; + eventfs_callback callback; + eventfs_release release; +}; + +struct eventfs_inode { + union { + struct list_head list; + struct callback_head rcu; + }; + struct list_head children; + const struct eventfs_entry *entries; + const char *name; + struct eventfs_attr *entry_attrs; + void *data; + struct eventfs_attr attr; + struct kref kref; + unsigned int is_freed: 1; + unsigned int is_events: 1; + unsigned int nr_entries: 30; + unsigned int ino; +}; + +struct eventfs_root_inode { + struct eventfs_inode ei; + struct dentry *events_dir; +}; + +struct eventpoll { + struct mutex mtx; + wait_queue_head_t wq; + wait_queue_head_t poll_wait; + struct list_head rdllist; + spinlock_t lock; + struct rb_root_cached rbr; + struct epitem *ovflist; + struct wakeup_source *ws; + struct user_struct *user; + struct file *file; + u64 gen; + struct hlist_head refs; + u8 loop_check_depth; + refcount_t refcount; + unsigned int napi_id; + u32 busy_poll_usecs; + u16 busy_poll_budget; + bool prefer_busy_poll; +}; + +struct ima_digest_data_hdr { + u8 algo; + u8 length; + union { + struct { + u8 unused; + u8 type; + } sha1; + struct { + u8 type; + u8 algo; + } ng; + u8 data[2]; + } xattr; +}; + +struct evm_digest { + struct ima_digest_data_hdr hdr; + char digest[64]; +}; + +struct integrity_inode_attributes { + u64 version; + long unsigned int ino; + dev_t dev; +}; + +struct evm_iint_cache { + long unsigned int flags; + enum integrity_status evm_status: 4; + struct integrity_inode_attributes metadata_inode; +}; + +struct evm_ima_xattr_data_hdr { + u8 type; +}; + +struct evm_ima_xattr_data { + union { + struct { + u8 type; + }; + struct evm_ima_xattr_data_hdr hdr; + }; + u8 data[0]; +}; + +struct evm_xattr { + struct evm_ima_xattr_data_hdr data; + u8 digest[20]; +}; + +struct evtchn_alloc_unbound { + domid_t dom; + domid_t remote_dom; + evtchn_port_t port; +}; + +struct evtchn_bind_interdomain { + domid_t remote_dom; + evtchn_port_t remote_port; + evtchn_port_t local_port; +}; + +struct evtchn_bind_ipi { + uint32_t vcpu; + evtchn_port_t port; +}; + +struct evtchn_bind_pirq { + uint32_t pirq; + uint32_t flags; + evtchn_port_t port; +}; + +struct evtchn_bind_vcpu { + evtchn_port_t port; + uint32_t vcpu; +}; + +struct evtchn_bind_virq { + uint32_t virq; + uint32_t vcpu; + evtchn_port_t port; +}; + +struct evtchn_close { + evtchn_port_t port; +}; + +struct evtchn_expand_array { + uint64_t array_gfn; +}; + +struct evtchn_fifo_control_block { + uint32_t ready; + uint32_t _rsvd; + event_word_t head[16]; +}; + +struct evtchn_fifo_queue { + uint32_t head[16]; +}; + +struct evtchn_init_control { + uint64_t control_gfn; + uint32_t offset; + uint32_t vcpu; + uint8_t link_bits; + uint8_t _pad[7]; +}; + +struct evtchn_loop_ctrl { + ktime_t timeout; + unsigned int count; + bool defer_eoi; +}; + +struct evtchn_ops { + unsigned int (*max_channels)(void); + unsigned int (*nr_channels)(void); + int (*setup)(evtchn_port_t); + void (*remove)(evtchn_port_t, unsigned int); + void (*bind_to_cpu)(evtchn_port_t, unsigned int, unsigned int); + void (*clear_pending)(evtchn_port_t); + void (*set_pending)(evtchn_port_t); + bool (*is_pending)(evtchn_port_t); + void (*mask)(evtchn_port_t); + void (*unmask)(evtchn_port_t); + void (*handle_events)(unsigned int, struct evtchn_loop_ctrl *); + void (*resume)(void); + int (*percpu_init)(unsigned int); + int (*percpu_deinit)(unsigned int); +}; + +struct evtchn_send { + evtchn_port_t port; +}; + +struct evtchn_set_priority { + evtchn_port_t port; + uint32_t priority; +}; + +struct evtchn_status { + domid_t dom; + evtchn_port_t port; + uint32_t status; + uint32_t vcpu; + union { + struct { + domid_t dom; + } unbound; + struct { + domid_t dom; + evtchn_port_t port; + } interdomain; + uint32_t pirq; + uint32_t virq; + } u; +}; + +struct evtchn_unmask { + evtchn_port_t port; +}; + +struct ewma_pkt_len { + long unsigned int internal; +}; + +struct exception_stacks { + char DF_stack_guard[0]; + char DF_stack[8192]; + char NMI_stack_guard[0]; + char NMI_stack[8192]; + char DB_stack_guard[0]; + char DB_stack[8192]; + char MCE_stack_guard[0]; + char MCE_stack[8192]; + char VC_stack_guard[0]; + char VC_stack[8192]; + char VC2_stack_guard[0]; + char VC2_stack[8192]; + char IST_top_guard[0]; +}; + +struct exception_table_entry { + int insn; + int fixup; + int data; +}; + +struct exceptional_entry_key { + struct xarray *xa; + long unsigned int entry_start; +}; + +struct exec_proc_event { + __kernel_pid_t process_pid; + __kernel_pid_t process_tgid; +}; + +struct maple_tree { + union { + spinlock_t ma_lock; + lockdep_map_p ma_external_lock; + }; + unsigned int ma_flags; + void *ma_root; +}; + +struct execmem_cache { + struct mutex mutex; + struct maple_tree busy_areas; + struct maple_tree free_areas; + unsigned int pending_free_cnt; +}; + +struct execmem_range { + long unsigned int start; + long unsigned int end; + long unsigned int fallback_start; + long unsigned int fallback_end; + pgprot_t pgprot; + unsigned int alignment; + enum execmem_range_flags flags; +}; + +struct execmem_info { + struct execmem_range ranges[5]; +}; + +struct execute_work { + struct work_struct work; +}; + +struct exit_proc_event { + __kernel_pid_t process_pid; + __kernel_pid_t process_tgid; + __u32 exit_code; + __u32 exit_signal; + __kernel_pid_t parent_pid; + __kernel_pid_t parent_tgid; +}; + +struct fid; + +struct iomap; + +struct handle_to_path_ctx; + +struct export_operations { + int (*encode_fh)(struct inode *, __u32 *, int *, struct inode *); + struct dentry * (*fh_to_dentry)(struct super_block *, struct fid *, int, int); + struct dentry * (*fh_to_parent)(struct super_block *, struct fid *, int, int); + int (*get_name)(struct dentry *, char *, struct dentry *); + struct dentry * (*get_parent)(struct dentry *); + int (*commit_metadata)(struct inode *); + int (*get_uuid)(struct super_block *, u8 *, u32 *, u64 *); + int (*map_blocks)(struct inode *, loff_t, u64, struct iomap *, bool, u32 *); + int (*commit_blocks)(struct inode *, struct iomap *, int, struct iattr *); + int (*permission)(struct handle_to_path_ctx *, unsigned int); + struct file * (*open)(struct path *, unsigned int); + long unsigned int flags; +}; + +struct expresswire_timing { + long unsigned int poweroff_us; + long unsigned int detect_delay_us; + long unsigned int detect_us; + long unsigned int data_start_us; + long unsigned int end_of_data_low_us; + long unsigned int end_of_data_high_us; + long unsigned int short_bitset_us; + long unsigned int long_bitset_us; +}; + +struct expresswire_common_props { + struct gpio_desc *ctrl_gpio; + struct expresswire_timing timing; +}; + +struct ext4_free_extent { + ext4_lblk_t fe_logical; + ext4_grpblk_t fe_start; + ext4_group_t fe_group; + ext4_grpblk_t fe_len; +}; + +struct ext4_buddy; + +struct ext4_prealloc_space; + +struct ext4_locality_group; + +struct ext4_allocation_context { + struct inode *ac_inode; + struct super_block *ac_sb; + struct ext4_free_extent ac_o_ex; + struct ext4_free_extent ac_g_ex; + struct ext4_free_extent ac_b_ex; + struct ext4_free_extent ac_f_ex; + ext4_grpblk_t ac_orig_goal_len; + ext4_group_t ac_prefetch_grp; + unsigned int ac_prefetch_ios; + unsigned int ac_prefetch_nr; + int ac_first_err; + __u32 ac_flags; + __u16 ac_groups_scanned; + __u16 ac_found; + __u16 ac_cX_found[5]; + __u16 ac_tail; + __u16 ac_buddy; + __u8 ac_status; + __u8 ac_criteria; + __u8 ac_2order; + __u8 ac_op; + struct ext4_buddy *ac_e4b; + struct folio *ac_bitmap_folio; + struct folio *ac_buddy_folio; + struct ext4_prealloc_space *ac_pa; + struct ext4_locality_group *ac_lg; +}; + +struct ext4_allocation_request { + struct inode *inode; + unsigned int len; + ext4_lblk_t logical; + ext4_lblk_t lleft; + ext4_lblk_t lright; + ext4_fsblk_t goal; + ext4_fsblk_t pleft; + ext4_fsblk_t pright; + unsigned int flags; +}; + +struct ext4_attr { + struct attribute attr; + short int attr_id; + short int attr_ptr; + short unsigned int attr_size; + union { + int offset; + void *explicit_ptr; + } u; +}; + +struct ext4_group_info; + +struct ext4_buddy { + struct folio *bd_buddy_folio; + void *bd_buddy; + struct folio *bd_bitmap_folio; + void *bd_bitmap; + struct ext4_group_info *bd_info; + struct super_block *bd_sb; + __u16 bd_blkbits; + ext4_group_t bd_group; +}; + +struct ext4_dir_entry { + __le32 inode; + __le16 rec_len; + __le16 name_len; + char name[255]; +}; + +struct ext4_dir_entry_2 { + __le32 inode; + __le16 rec_len; + __u8 name_len; + __u8 file_type; + char name[255]; +}; + +struct ext4_dir_entry_hash { + __le32 hash; + __le32 minor_hash; +}; + +struct ext4_dir_entry_tail { + __le32 det_reserved_zero1; + __le16 det_rec_len; + __u8 det_reserved_zero2; + __u8 det_reserved_ft; + __le32 det_checksum; +}; + +struct ext4_err_translation { + int code; + int errno; +}; + +struct ext4_es_stats { + long unsigned int es_stats_shrunk; + struct percpu_counter es_stats_cache_hits; + struct percpu_counter es_stats_cache_misses; + u64 es_stats_scan_time; + u64 es_stats_max_scan_time; + struct percpu_counter es_stats_all_cnt; + struct percpu_counter es_stats_shk_cnt; +}; + +struct extent_status; + +struct ext4_es_tree { + struct rb_root root; + struct extent_status *cache_es; +}; + +struct ext4_extent; + +struct ext4_extent_idx; + +struct ext4_extent_header; + +struct ext4_ext_path { + ext4_fsblk_t p_block; + __u16 p_depth; + __u16 p_maxdepth; + struct ext4_extent *p_ext; + struct ext4_extent_idx *p_idx; + struct ext4_extent_header *p_hdr; + struct buffer_head *p_bh; +}; + +struct ext4_extent { + __le32 ee_block; + __le16 ee_len; + __le16 ee_start_hi; + __le32 ee_start_lo; +}; + +struct ext4_extent_header { + __le16 eh_magic; + __le16 eh_entries; + __le16 eh_max; + __le16 eh_depth; + __le32 eh_generation; +}; + +struct ext4_extent_idx { + __le32 ei_block; + __le32 ei_leaf_lo; + __le16 ei_leaf_hi; + __u16 ei_unused; +}; + +struct ext4_extent_tail { + __le32 et_checksum; +}; + +struct ext4_fc_add_range { + __le32 fc_ino; + __u8 fc_ex[12]; +}; + +struct ext4_fc_alloc_region { + ext4_lblk_t lblk; + ext4_fsblk_t pblk; + int ino; + int len; +}; + +struct ext4_fc_del_range { + __le32 fc_ino; + __le32 fc_lblk; + __le32 fc_len; +}; + +struct ext4_fc_dentry_info { + __le32 fc_parent_ino; + __le32 fc_ino; + __u8 fc_dname[0]; +}; + +struct name_snapshot { + struct qstr name; + union shortname_store inline_name; +}; + +struct ext4_fc_dentry_update { + int fcd_op; + int fcd_parent; + int fcd_ino; + struct name_snapshot fcd_name; + struct list_head fcd_list; + struct list_head fcd_dilist; +}; + +struct ext4_fc_head { + __le32 fc_features; + __le32 fc_tid; +}; + +struct ext4_fc_inode { + __le32 fc_ino; + __u8 fc_raw_inode[0]; +}; + +struct ext4_fc_replay_state { + int fc_replay_num_tags; + int fc_replay_expected_off; + int fc_current_pass; + int fc_cur_tag; + int fc_crc; + struct ext4_fc_alloc_region *fc_regions; + int fc_regions_size; + int fc_regions_used; + int fc_regions_valid; + int *fc_modified_inodes; + int fc_modified_inodes_used; + int fc_modified_inodes_size; +}; + +struct ext4_fc_stats { + unsigned int fc_ineligible_reason_count[10]; + long unsigned int fc_num_commits; + long unsigned int fc_ineligible_commits; + long unsigned int fc_failed_commits; + long unsigned int fc_skipped_commits; + long unsigned int fc_numblks; + u64 s_fc_avg_commit_time; +}; + +struct ext4_fc_tail { + __le32 fc_tid; + __le32 fc_crc; +}; + +struct ext4_fc_tl { + __le16 fc_tag; + __le16 fc_len; +}; + +struct ext4_fc_tl_mem { + u16 fc_tag; + u16 fc_len; +}; + +struct fscrypt_str { + unsigned char *name; + u32 len; +}; + +struct ext4_filename { + const struct qstr *usr_fname; + struct fscrypt_str disk_name; + struct dx_hash_info hinfo; + struct fscrypt_str crypto_buf; + struct qstr cf_name; +}; + +struct ext4_free_data { + struct list_head efd_list; + struct rb_node efd_node; + ext4_group_t efd_group; + ext4_grpblk_t efd_start_cluster; + ext4_grpblk_t efd_count; + tid_t efd_tid; +}; + +union fscrypt_policy; + +struct fscrypt_dummy_policy { + const union fscrypt_policy *policy; +}; + +struct ext4_fs_context { + char *s_qf_names[3]; + struct fscrypt_dummy_policy dummy_enc_policy; + int s_jquota_fmt; + short unsigned int qname_spec; + long unsigned int vals_s_flags; + long unsigned int mask_s_flags; + long unsigned int journal_devnum; + long unsigned int s_commit_interval; + long unsigned int s_stripe; + unsigned int s_inode_readahead_blks; + unsigned int s_want_extra_isize; + unsigned int s_li_wait_mult; + unsigned int s_max_dir_size_kb; + unsigned int journal_ioprio; + unsigned int vals_s_mount_opt; + unsigned int mask_s_mount_opt; + unsigned int vals_s_mount_opt2; + unsigned int mask_s_mount_opt2; + unsigned int opt_flags; + unsigned int spec; + u32 s_max_batch_time; + u32 s_min_batch_time; + kuid_t s_resuid; + kgid_t s_resgid; + ext4_fsblk_t s_sb_block; +}; + +struct ext4_fsmap { + struct list_head fmr_list; + dev_t fmr_device; + uint32_t fmr_flags; + uint64_t fmr_physical; + uint64_t fmr_owner; + uint64_t fmr_length; +}; + +struct ext4_fsmap_head { + uint32_t fmh_iflags; + uint32_t fmh_oflags; + unsigned int fmh_count; + unsigned int fmh_entries; + struct ext4_fsmap fmh_keys[2]; +}; + +struct ext4_getfsmap_info; + +struct ext4_getfsmap_dev { + int (*gfd_fn)(struct super_block *, struct ext4_fsmap *, struct ext4_getfsmap_info *); + u32 gfd_dev; +}; + +typedef int (*ext4_fsmap_format_t)(struct ext4_fsmap *, void *); + +struct ext4_getfsmap_info { + struct ext4_fsmap_head *gfi_head; + ext4_fsmap_format_t gfi_formatter; + void *gfi_format_arg; + ext4_fsblk_t gfi_next_fsblk; + u32 gfi_dev; + ext4_group_t gfi_agno; + struct ext4_fsmap gfi_low; + struct ext4_fsmap gfi_high; + struct ext4_fsmap gfi_lastfree; + struct list_head gfi_meta_list; + bool gfi_last; +}; + +struct ext4_group_desc { + __le32 bg_block_bitmap_lo; + __le32 bg_inode_bitmap_lo; + __le32 bg_inode_table_lo; + __le16 bg_free_blocks_count_lo; + __le16 bg_free_inodes_count_lo; + __le16 bg_used_dirs_count_lo; + __le16 bg_flags; + __le32 bg_exclude_bitmap_lo; + __le16 bg_block_bitmap_csum_lo; + __le16 bg_inode_bitmap_csum_lo; + __le16 bg_itable_unused_lo; + __le16 bg_checksum; + __le32 bg_block_bitmap_hi; + __le32 bg_inode_bitmap_hi; + __le32 bg_inode_table_hi; + __le16 bg_free_blocks_count_hi; + __le16 bg_free_inodes_count_hi; + __le16 bg_used_dirs_count_hi; + __le16 bg_itable_unused_hi; + __le32 bg_exclude_bitmap_hi; + __le16 bg_block_bitmap_csum_hi; + __le16 bg_inode_bitmap_csum_hi; + __u32 bg_reserved; +}; + +struct ext4_group_info { + long unsigned int bb_state; + struct rb_root bb_free_root; + ext4_grpblk_t bb_first_free; + ext4_grpblk_t bb_free; + ext4_grpblk_t bb_fragments; + int bb_avg_fragment_size_order; + ext4_grpblk_t bb_largest_free_order; + ext4_group_t bb_group; + struct list_head bb_prealloc_list; + struct rw_semaphore alloc_sem; + ext4_grpblk_t bb_counters[0]; +}; + +struct ext4_iloc { + struct buffer_head *bh; + long unsigned int offset; + ext4_group_t block_group; +}; + +struct ext4_inode { + __le16 i_mode; + __le16 i_uid; + __le32 i_size_lo; + __le32 i_atime; + __le32 i_ctime; + __le32 i_mtime; + __le32 i_dtime; + __le16 i_gid; + __le16 i_links_count; + __le32 i_blocks_lo; + __le32 i_flags; + union { + struct { + __le32 l_i_version; + } linux1; + struct { + __u32 h_i_translator; + } hurd1; + struct { + __u32 m_i_reserved1; + } masix1; + } osd1; + __le32 i_block[15]; + __le32 i_generation; + __le32 i_file_acl_lo; + __le32 i_size_high; + __le32 i_obso_faddr; + union { + struct { + __le16 l_i_blocks_high; + __le16 l_i_file_acl_high; + __le16 l_i_uid_high; + __le16 l_i_gid_high; + __le16 l_i_checksum_lo; + __le16 l_i_reserved; + } linux2; + struct { + __le16 h_i_reserved1; + __u16 h_i_mode_high; + __u16 h_i_uid_high; + __u16 h_i_gid_high; + __u32 h_i_author; + } hurd2; + struct { + __le16 h_i_reserved1; + __le16 m_i_file_acl_high; + __u32 m_i_reserved2[2]; + } masix2; + } osd2; + __le16 i_extra_isize; + __le16 i_checksum_hi; + __le32 i_ctime_extra; + __le32 i_mtime_extra; + __le32 i_atime_extra; + __le32 i_crtime; + __le32 i_crtime_extra; + __le32 i_version_hi; + __le32 i_projid; +}; + +struct ext4_pending_tree { + struct rb_root root; +}; + +struct jbd2_inode; + +struct ext4_inode_info { + __le32 i_data[15]; + __u32 i_dtime; + ext4_fsblk_t i_file_acl; + ext4_group_t i_block_group; + ext4_lblk_t i_dir_start_lookup; + long unsigned int i_flags; + struct rw_semaphore xattr_sem; + union { + struct list_head i_orphan; + unsigned int i_orphan_idx; + }; + struct list_head i_fc_dilist; + struct list_head i_fc_list; + ext4_lblk_t i_fc_lblk_start; + ext4_lblk_t i_fc_lblk_len; + spinlock_t i_raw_lock; + wait_queue_head_t i_fc_wait; + spinlock_t i_fc_lock; + loff_t i_disksize; + struct rw_semaphore i_data_sem; + struct inode vfs_inode; + struct jbd2_inode *jinode; + struct timespec64 i_crtime; + atomic_t i_prealloc_active; + unsigned int i_reserved_data_blocks; + struct rb_root i_prealloc_node; + rwlock_t i_prealloc_lock; + struct ext4_es_tree i_es_tree; + rwlock_t i_es_lock; + struct list_head i_es_list; + unsigned int i_es_all_nr; + unsigned int i_es_shk_nr; + ext4_lblk_t i_es_shrink_lblk; + ext4_group_t i_last_alloc_group; + struct ext4_pending_tree i_pending_tree; + __u16 i_extra_isize; + u16 i_inline_off; + u16 i_inline_size; + qsize_t i_reserved_quota; + spinlock_t i_block_reservation_lock; + spinlock_t i_completed_io_lock; + struct list_head i_rsv_conversion_list; + struct work_struct i_rsv_conversion_work; + tid_t i_sync_tid; + tid_t i_datasync_tid; + struct dquot *i_dquot[3]; + __u32 i_csum_seed; + kprojid_t i_projid; +}; + +struct jbd2_journal_handle; + +typedef struct jbd2_journal_handle handle_t; + +struct ext4_io_end { + struct list_head list; + handle_t *handle; + struct inode *inode; + struct bio *bio; + unsigned int flag; + refcount_t count; + struct list_head list_vec; +}; + +typedef struct ext4_io_end ext4_io_end_t; + +struct ext4_io_end_vec { + struct list_head list; + loff_t offset; + ssize_t size; +}; + +struct ext4_io_submit { + struct writeback_control *io_wbc; + struct bio *io_bio; + ext4_io_end_t *io_end; + sector_t io_next_block; +}; + +struct jbd2_buffer_trigger_type { + void (*t_frozen)(struct jbd2_buffer_trigger_type *, struct buffer_head *, void *, size_t); + void (*t_abort)(struct jbd2_buffer_trigger_type *, struct buffer_head *); +}; + +struct ext4_journal_trigger { + struct jbd2_buffer_trigger_type tr_triggers; + struct super_block *sb; +}; + +struct ext4_lazy_init { + long unsigned int li_state; + struct list_head li_request_list; + struct mutex li_list_mtx; +}; + +struct ext4_li_request { + struct super_block *lr_super; + enum ext4_li_mode lr_mode; + ext4_group_t lr_first_not_zeroed; + ext4_group_t lr_next_group; + struct list_head lr_request; + long unsigned int lr_next_sched; + long unsigned int lr_timeout; +}; + +struct ext4_locality_group { + struct mutex lg_mutex; + struct list_head lg_prealloc_list[10]; + spinlock_t lg_prealloc_lock; +}; + +struct ext4_map_blocks { + ext4_fsblk_t m_pblk; + ext4_lblk_t m_lblk; + unsigned int m_len; + unsigned int m_flags; +}; + +struct ext4_mount_options { + long unsigned int s_mount_opt; + long unsigned int s_mount_opt2; + kuid_t s_resuid; + kgid_t s_resgid; + long unsigned int s_commit_interval; + u32 s_min_batch_time; + u32 s_max_batch_time; + int s_jquota_fmt; + char *s_qf_names[3]; +}; + +struct ext4_new_group_data; + +struct ext4_new_flex_group_data { + struct ext4_new_group_data *groups; + __u16 *bg_flags; + ext4_group_t resize_bg; + ext4_group_t count; +}; + +struct ext4_new_group_data { + __u32 group; + __u64 block_bitmap; + __u64 inode_bitmap; + __u64 inode_table; + __u32 blocks_count; + __u16 reserved_blocks; + __u16 mdata_blocks; + __u32 free_clusters_count; +}; + +struct ext4_new_group_input { + __u32 group; + __u64 block_bitmap; + __u64 inode_bitmap; + __u64 inode_table; + __u32 blocks_count; + __u16 reserved_blocks; + __u16 unused; +}; + +struct ext4_orphan_block { + atomic_t ob_free_entries; + struct buffer_head *ob_bh; +}; + +struct ext4_orphan_block_tail { + __le32 ob_magic; + __le32 ob_checksum; +}; + +struct ext4_orphan_info { + int of_blocks; + __u32 of_csum_seed; + struct ext4_orphan_block *of_binfo; +}; + +struct ext4_prealloc_space { + union { + struct rb_node inode_node; + struct list_head lg_list; + } pa_node; + struct list_head pa_group_list; + union { + struct list_head pa_tmp_list; + struct callback_head pa_rcu; + } u; + spinlock_t pa_lock; + atomic_t pa_count; + unsigned int pa_deleted; + ext4_fsblk_t pa_pstart; + ext4_lblk_t pa_lstart; + ext4_grpblk_t pa_len; + ext4_grpblk_t pa_free; + short unsigned int pa_type; + union { + rwlock_t *inode_lock; + spinlock_t *lg_lock; + } pa_node_lock; + struct inode *pa_inode; +}; + +struct ext4_rcu_ptr { + struct callback_head rcu; + void *ptr; +}; + +struct ext4_renament { + struct inode *dir; + struct dentry *dentry; + struct inode *inode; + bool is_dir; + int dir_nlink_delta; + struct buffer_head *bh; + struct ext4_dir_entry_2 *de; + int inlined; + struct buffer_head *dir_bh; + struct ext4_dir_entry_2 *parent_de; + int dir_inlined; +}; + +struct ext4_sb_encodings { + __u16 magic; + char *name; + unsigned int version; +}; + +struct rcu_sync { + int gp_state; + int gp_count; + wait_queue_head_t gp_wait; + struct callback_head cb_head; +}; + +struct percpu_rw_semaphore { + struct rcu_sync rss; + unsigned int *read_count; + struct rcuwait writer; + wait_queue_head_t waiters; + atomic_t block; +}; + +struct ext4_super_block; + +struct journal_s; + +struct ext4_system_blocks; + +struct flex_groups; + +struct shrinker; + +struct mb_cache; + +struct ext4_sb_info { + long unsigned int s_desc_size; + long unsigned int s_inodes_per_block; + long unsigned int s_blocks_per_group; + long unsigned int s_clusters_per_group; + long unsigned int s_inodes_per_group; + long unsigned int s_itb_per_group; + long unsigned int s_gdb_count; + long unsigned int s_desc_per_block; + ext4_group_t s_groups_count; + ext4_group_t s_blockfile_groups; + long unsigned int s_overhead; + unsigned int s_cluster_ratio; + unsigned int s_cluster_bits; + loff_t s_bitmap_maxbytes; + struct buffer_head *s_sbh; + struct ext4_super_block *s_es; + struct buffer_head **s_group_desc; + unsigned int s_mount_opt; + unsigned int s_mount_opt2; + long unsigned int s_mount_flags; + unsigned int s_def_mount_opt; + unsigned int s_def_mount_opt2; + ext4_fsblk_t s_sb_block; + atomic64_t s_resv_clusters; + kuid_t s_resuid; + kgid_t s_resgid; + short unsigned int s_mount_state; + short unsigned int s_pad; + int s_addr_per_block_bits; + int s_desc_per_block_bits; + int s_inode_size; + int s_first_ino; + unsigned int s_inode_readahead_blks; + unsigned int s_inode_goal; + u32 s_hash_seed[4]; + int s_def_hash_version; + int s_hash_unsigned; + struct percpu_counter s_freeclusters_counter; + struct percpu_counter s_freeinodes_counter; + struct percpu_counter s_dirs_counter; + struct percpu_counter s_dirtyclusters_counter; + struct percpu_counter s_sra_exceeded_retry_limit; + struct blockgroup_lock *s_blockgroup_lock; + struct proc_dir_entry *s_proc; + struct kobject s_kobj; + struct completion s_kobj_unregister; + struct super_block *s_sb; + struct buffer_head *s_mmp_bh; + struct journal_s *s_journal; + long unsigned int s_ext4_flags; + struct mutex s_orphan_lock; + struct list_head s_orphan; + struct ext4_orphan_info s_orphan_info; + long unsigned int s_commit_interval; + u32 s_max_batch_time; + u32 s_min_batch_time; + struct file *s_journal_bdev_file; + char *s_qf_names[3]; + int s_jquota_fmt; + unsigned int s_want_extra_isize; + struct ext4_system_blocks *s_system_blks; + struct ext4_group_info ***s_group_info; + struct inode *s_buddy_cache; + spinlock_t s_md_lock; + short unsigned int *s_mb_offsets; + unsigned int *s_mb_maxs; + unsigned int s_group_info_size; + atomic_t s_mb_free_pending; + struct list_head s_freed_data_list[2]; + struct list_head s_discard_list; + struct work_struct s_discard_work; + atomic_t s_retry_alloc_pending; + struct xarray *s_mb_avg_fragment_size; + struct xarray *s_mb_largest_free_orders; + long unsigned int s_stripe; + unsigned int s_mb_max_linear_groups; + unsigned int s_mb_stream_request; + unsigned int s_mb_max_to_scan; + unsigned int s_mb_min_to_scan; + unsigned int s_mb_stats; + unsigned int s_mb_order2_reqs; + unsigned int s_mb_group_prealloc; + unsigned int s_max_dir_size_kb; + unsigned int s_mb_prefetch; + unsigned int s_mb_prefetch_limit; + unsigned int s_mb_best_avail_max_trim_order; + unsigned int s_sb_update_sec; + unsigned int s_sb_update_kb; + ext4_group_t *s_mb_last_groups; + unsigned int s_mb_nr_global_goals; + atomic_t s_bal_reqs; + atomic_t s_bal_success; + atomic_t s_bal_allocated; + atomic_t s_bal_ex_scanned; + atomic_t s_bal_cX_ex_scanned[5]; + atomic_t s_bal_groups_scanned; + atomic_t s_bal_goals; + atomic_t s_bal_stream_goals; + atomic_t s_bal_len_goals; + atomic_t s_bal_breaks; + atomic_t s_bal_2orders; + atomic64_t s_bal_cX_groups_considered[5]; + atomic64_t s_bal_cX_hits[5]; + atomic64_t s_bal_cX_failed[5]; + atomic_t s_mb_buddies_generated; + atomic64_t s_mb_generation_time; + atomic_t s_mb_lost_chunks; + atomic_t s_mb_preallocated; + atomic_t s_mb_discarded; + atomic_t s_lock_busy; + struct ext4_locality_group *s_locality_groups; + long unsigned int s_sectors_written_start; + u64 s_kbytes_written; + unsigned int s_extent_max_zeroout_kb; + unsigned int s_log_groups_per_flex; + struct flex_groups **s_flex_groups; + ext4_group_t s_flex_groups_allocated; + struct workqueue_struct *rsv_conversion_wq; + struct timer_list s_err_report; + struct ext4_li_request *s_li_request; + unsigned int s_li_wait_mult; + struct task_struct *s_mmp_tsk; + long unsigned int s_last_trim_minblks; + __u32 s_csum_seed; + struct shrinker *s_es_shrinker; + struct list_head s_es_list; + long int s_es_nr_inode; + struct ext4_es_stats s_es_stats; + struct mb_cache *s_ea_block_cache; + struct mb_cache *s_ea_inode_cache; + long: 64; + long: 64; + long: 64; + long: 64; + spinlock_t s_es_lock; + struct ext4_journal_trigger s_journal_triggers[1]; + struct ratelimit_state s_err_ratelimit_state; + struct ratelimit_state s_warning_ratelimit_state; + struct ratelimit_state s_msg_ratelimit_state; + atomic_t s_warning_count; + atomic_t s_msg_count; + struct fscrypt_dummy_policy s_dummy_enc_policy; + struct percpu_rw_semaphore s_writepages_rwsem; + struct dax_device *s_daxdev; + u64 s_dax_part_off; + errseq_t s_bdev_wb_err; + spinlock_t s_bdev_wb_lock; + spinlock_t s_error_lock; + int s_add_error_count; + int s_first_error_code; + __u32 s_first_error_line; + __u32 s_first_error_ino; + __u64 s_first_error_block; + const char *s_first_error_func; + time64_t s_first_error_time; + int s_last_error_code; + __u32 s_last_error_line; + __u32 s_last_error_ino; + __u64 s_last_error_block; + const char *s_last_error_func; + time64_t s_last_error_time; + struct work_struct s_sb_upd_work; + unsigned int s_awu_min; + unsigned int s_awu_max; + atomic_t s_fc_subtid; + struct list_head s_fc_q[2]; + struct list_head s_fc_dentry_q[2]; + unsigned int s_fc_bytes; + struct mutex s_fc_lock; + struct buffer_head *s_fc_bh; + struct ext4_fc_stats s_fc_stats; + tid_t s_fc_ineligible_tid; + struct ext4_fc_replay_state s_fc_replay_state; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct ext4_super_block { + __le32 s_inodes_count; + __le32 s_blocks_count_lo; + __le32 s_r_blocks_count_lo; + __le32 s_free_blocks_count_lo; + __le32 s_free_inodes_count; + __le32 s_first_data_block; + __le32 s_log_block_size; + __le32 s_log_cluster_size; + __le32 s_blocks_per_group; + __le32 s_clusters_per_group; + __le32 s_inodes_per_group; + __le32 s_mtime; + __le32 s_wtime; + __le16 s_mnt_count; + __le16 s_max_mnt_count; + __le16 s_magic; + __le16 s_state; + __le16 s_errors; + __le16 s_minor_rev_level; + __le32 s_lastcheck; + __le32 s_checkinterval; + __le32 s_creator_os; + __le32 s_rev_level; + __le16 s_def_resuid; + __le16 s_def_resgid; + __le32 s_first_ino; + __le16 s_inode_size; + __le16 s_block_group_nr; + __le32 s_feature_compat; + __le32 s_feature_incompat; + __le32 s_feature_ro_compat; + __u8 s_uuid[16]; + char s_volume_name[16]; + char s_last_mounted[64]; + __le32 s_algorithm_usage_bitmap; + __u8 s_prealloc_blocks; + __u8 s_prealloc_dir_blocks; + __le16 s_reserved_gdt_blocks; + __u8 s_journal_uuid[16]; + __le32 s_journal_inum; + __le32 s_journal_dev; + __le32 s_last_orphan; + __le32 s_hash_seed[4]; + __u8 s_def_hash_version; + __u8 s_jnl_backup_type; + __le16 s_desc_size; + __le32 s_default_mount_opts; + __le32 s_first_meta_bg; + __le32 s_mkfs_time; + __le32 s_jnl_blocks[17]; + __le32 s_blocks_count_hi; + __le32 s_r_blocks_count_hi; + __le32 s_free_blocks_count_hi; + __le16 s_min_extra_isize; + __le16 s_want_extra_isize; + __le32 s_flags; + __le16 s_raid_stride; + __le16 s_mmp_update_interval; + __le64 s_mmp_block; + __le32 s_raid_stripe_width; + __u8 s_log_groups_per_flex; + __u8 s_checksum_type; + __u8 s_encryption_level; + __u8 s_reserved_pad; + __le64 s_kbytes_written; + __le32 s_snapshot_inum; + __le32 s_snapshot_id; + __le64 s_snapshot_r_blocks_count; + __le32 s_snapshot_list; + __le32 s_error_count; + __le32 s_first_error_time; + __le32 s_first_error_ino; + __le64 s_first_error_block; + __u8 s_first_error_func[32]; + __le32 s_first_error_line; + __le32 s_last_error_time; + __le32 s_last_error_ino; + __le32 s_last_error_line; + __le64 s_last_error_block; + __u8 s_last_error_func[32]; + __u8 s_mount_opts[64]; + __le32 s_usr_quota_inum; + __le32 s_grp_quota_inum; + __le32 s_overhead_clusters; + __le32 s_backup_bgs[2]; + __u8 s_encrypt_algos[4]; + __u8 s_encrypt_pw_salt[16]; + __le32 s_lpf_ino; + __le32 s_prj_quota_inum; + __le32 s_checksum_seed; + __u8 s_wtime_hi; + __u8 s_mtime_hi; + __u8 s_mkfs_time_hi; + __u8 s_lastcheck_hi; + __u8 s_first_error_time_hi; + __u8 s_last_error_time_hi; + __u8 s_first_error_errcode; + __u8 s_last_error_errcode; + __le16 s_encoding; + __le16 s_encoding_flags; + __le32 s_orphan_file_inum; + __le32 s_reserved[94]; + __le32 s_checksum; +}; + +struct ext4_system_blocks { + struct rb_root root; + struct callback_head rcu; +}; + +struct ext4_system_zone { + struct rb_node node; + ext4_fsblk_t start_blk; + unsigned int count; + u32 ino; +}; + +struct ext4_xattr_entry; + +struct ext4_xattr_search { + struct ext4_xattr_entry *first; + void *base; + void *end; + struct ext4_xattr_entry *here; + int not_found; +}; + +struct ext4_xattr_block_find { + struct ext4_xattr_search s; + struct buffer_head *bh; +}; + +struct ext4_xattr_entry { + __u8 e_name_len; + __u8 e_name_index; + __le16 e_value_offs; + __le32 e_value_inum; + __le32 e_value_size; + __le32 e_hash; + char e_name[0]; +}; + +struct ext4_xattr_header { + __le32 h_magic; + __le32 h_refcount; + __le32 h_blocks; + __le32 h_hash; + __le32 h_checksum; + __u32 h_reserved[3]; +}; + +struct ext4_xattr_ibody_find { + struct ext4_xattr_search s; + struct ext4_iloc iloc; +}; + +struct ext4_xattr_ibody_header { + __le32 h_magic; +}; + +struct ext4_xattr_info { + const char *name; + const void *value; + size_t value_len; + int name_index; + int in_inode; +}; + +struct ext4_xattr_inode_array { + unsigned int count; + struct inode *inodes[0]; +}; + +struct ext_arg { + size_t argsz; + struct timespec64 ts; + const sigset_t *sig; + ktime_t min_time; + bool ts_set; + bool iowait; +}; + +struct msg_msg; + +struct ext_wait_queue { + struct task_struct *task; + struct list_head list; + struct msg_msg *msg; + int state; +}; + +union extcon_property_value { + int intval; +}; + +struct extcon_cable { + struct extcon_dev *edev; + int cable_index; + struct attribute_group attr_g; + struct device_attribute attr_name; + struct device_attribute attr_state; + struct attribute *attrs[3]; + union extcon_property_value usb_propval[3]; + union extcon_property_value chg_propval[1]; + union extcon_property_value jack_propval[1]; + union extcon_property_value disp_propval[2]; + long unsigned int usb_bits[1]; + long unsigned int chg_bits[1]; + long unsigned int jack_bits[1]; + long unsigned int disp_bits[1]; +}; + +struct extcon_dev { + const char *name; + const unsigned int *supported_cable; + const u32 *mutually_exclusive; + struct device dev; + unsigned int id; + struct raw_notifier_head nh_all; + struct raw_notifier_head *nh; + struct list_head entry; + int max_supported; + spinlock_t lock; + u32 state; + struct device_type extcon_dev_type; + struct extcon_cable *cables; + struct attribute_group attr_g_muex; + struct attribute **attrs_muex; + struct device_attribute *d_attrs_muex; +}; + +struct extcon_dev_notifier_devres { + struct extcon_dev *edev; + unsigned int id; + struct notifier_block *nb; +}; + +struct extended_signature { + unsigned int sig; + unsigned int pf; + unsigned int cksum; +}; + +struct extended_sigtable { + unsigned int count; + unsigned int cksum; + unsigned int reserved[3]; + struct extended_signature sigs[0]; +}; + +struct extent_status { + struct rb_node rb_node; + ext4_lblk_t es_lblk; + ext4_lblk_t es_len; + ext4_fsblk_t es_pblk; +}; + +struct external_name { + atomic_t count; + struct callback_head head; + unsigned char name[0]; +}; + +struct extra_reg { + unsigned int event; + unsigned int msr; + u64 config_mask; + u64 valid_mask; + int idx; + bool extra_msr_access; +}; + +struct f815xxa_data { + spinlock_t lock; + int idx; +}; + +struct f_owner_ex { + int type; + __kernel_pid_t pid; +}; + +struct failover_ops; + +struct failover { + struct list_head list; + struct net_device *failover_dev; + netdevice_tracker dev_tracker; + struct failover_ops *ops; +}; + +struct failover_ops { + int (*slave_pre_register)(struct net_device *, struct net_device *); + int (*slave_register)(struct net_device *, struct net_device *); + int (*slave_pre_unregister)(struct net_device *, struct net_device *); + int (*slave_unregister)(struct net_device *, struct net_device *); + int (*slave_link_change)(struct net_device *, struct net_device *); + int (*slave_name_change)(struct net_device *, struct net_device *); + rx_handler_result_t (*slave_handle_frame)(struct sk_buff **); +}; + +struct fan_fsid { + struct super_block *sb; + __kernel_fsid_t id; + bool weak; +}; + +struct fsnotify_event { + struct list_head list; +}; + +struct fanotify_event { + struct fsnotify_event fse; + struct hlist_node merge_list; + u32 mask; + struct { + unsigned int type: 3; + unsigned int hash: 29; + }; + struct pid *pid; +}; + +struct fanotify_fh { + u8 type; + u8 len; + u8 flags; + u8 pad; +}; + +struct fanotify_error_event { + struct fanotify_event fae; + s32 error; + u32 err_count; + __kernel_fsid_t fsid; + struct { + struct fanotify_fh object_fh; + unsigned char _inline_fh_buf[128]; + }; +}; + +struct fanotify_event_info_header { + __u8 info_type; + __u8 pad; + __u16 len; +}; + +struct fanotify_event_info_error { + struct fanotify_event_info_header hdr; + __s32 error; + __u32 error_count; +}; + +struct fanotify_event_info_fid { + struct fanotify_event_info_header hdr; + __kernel_fsid_t fsid; + unsigned char handle[0]; +}; + +struct fanotify_event_info_mnt { + struct fanotify_event_info_header hdr; + __u64 mnt_id; +}; + +struct fanotify_event_info_pidfd { + struct fanotify_event_info_header hdr; + __s32 pidfd; +}; + +struct fanotify_event_info_range { + struct fanotify_event_info_header hdr; + __u32 pad; + __u64 offset; + __u64 count; +}; + +struct fanotify_event_metadata { + __u32 event_len; + __u8 vers; + __u8 reserved; + __u16 metadata_len; + __u64 mask; + __s32 fd; + __s32 pid; +}; + +struct fanotify_fid_event { + struct fanotify_event fae; + __kernel_fsid_t fsid; + struct { + struct fanotify_fh object_fh; + unsigned char _inline_fh_buf[12]; + }; +}; + +struct fanotify_group_private_data { + struct hlist_head *merge_hash; + struct list_head access_list; + wait_queue_head_t access_waitq; + int flags; + int f_flags; + struct ucounts *ucounts; + mempool_t error_events_pool; +}; + +struct fanotify_info { + u8 dir_fh_totlen; + u8 dir2_fh_totlen; + u8 file_fh_totlen; + u8 name_len; + u8 name2_len; + u8 pad[3]; + unsigned char buf[0]; +}; + +struct fanotify_mark { + struct fsnotify_mark fsn_mark; + __kernel_fsid_t fsid; +}; + +struct fanotify_mnt_event { + struct fanotify_event fae; + u64 mnt_id; +}; + +struct fanotify_name_event { + struct fanotify_event fae; + __kernel_fsid_t fsid; + struct fanotify_info info; +}; + +struct fanotify_path_event { + struct fanotify_event fae; + struct path path; +}; + +struct fanotify_response_info_header { + __u8 type; + __u8 pad; + __u16 len; +}; + +struct fanotify_response_info_audit_rule { + struct fanotify_response_info_header hdr; + __u32 rule_number; + __u32 subj_trust; + __u32 obj_trust; +}; + +struct fanotify_perm_event { + struct fanotify_event fae; + struct path path; + const loff_t *ppos; + size_t count; + u32 response; + short unsigned int state; + int fd; + union { + struct fanotify_response_info_header hdr; + struct fanotify_response_info_audit_rule audit_rule; + }; +}; + +struct fanotify_response { + __s32 fd; + __u32 response; +}; + +struct fanout_args { + __u16 id; + __u16 type_flags; + __u32 max_num_members; +}; + +struct fast_pool { + long unsigned int pool[4]; + long unsigned int last; + unsigned int count; + struct timer_list mix; +}; + +struct request_sock; + +struct tcp_fastopen_context; + +struct fastopen_queue { + struct request_sock *rskq_rst_head; + struct request_sock *rskq_rst_tail; + spinlock_t lock; + int qlen; + int max_qlen; + struct tcp_fastopen_context *ctx; +}; + +struct fasync_struct { + rwlock_t fa_lock; + int magic; + int fa_fd; + struct fasync_struct *fa_next; + struct file *fa_file; + struct callback_head fa_rcu; +}; + +struct fat_bios_param_block { + u16 fat_sector_size; + u8 fat_sec_per_clus; + u16 fat_reserved; + u8 fat_fats; + u16 fat_dir_entries; + u16 fat_sectors; + u16 fat_fat_length; + u32 fat_total_sect; + u8 fat16_state; + u32 fat16_vol_id; + u32 fat32_length; + u32 fat32_root_cluster; + u16 fat32_info_sector; + u8 fat32_state; + u32 fat32_vol_id; +}; + +struct fat_boot_fsinfo { + __le32 signature1; + __le32 reserved1[120]; + __le32 signature2; + __le32 free_clusters; + __le32 next_cluster; + __le32 reserved2[4]; +}; + +struct fat_boot_sector { + __u8 ignored[3]; + __u8 system_id[8]; + __u8 sector_size[2]; + __u8 sec_per_clus; + __le16 reserved; + __u8 fats; + __u8 dir_entries[2]; + __u8 sectors[2]; + __u8 media; + __le16 fat_length; + __le16 secs_track; + __le16 heads; + __le32 hidden; + __le32 total_sect; + union { + struct { + __u8 drive_number; + __u8 state; + __u8 signature; + __u8 vol_id[4]; + __u8 vol_label[11]; + __u8 fs_type[8]; + } fat16; + struct { + __le32 length; + __le16 flags; + __u8 version[2]; + __le32 root_cluster; + __le16 info_sector; + __le16 backup_boot; + __le16 reserved2[6]; + __u8 drive_number; + __u8 state; + __u8 signature; + __u8 vol_id[4]; + __u8 vol_label[11]; + __u8 fs_type[8]; + } fat32; + }; +}; + +struct fat_cache { + struct list_head cache_list; + int nr_contig; + int fcluster; + int dcluster; +}; + +struct fat_cache_id { + unsigned int id; + int nr_contig; + int fcluster; + int dcluster; +}; + +struct fat_entry { + int entry; + union { + u8 *ent12_p[2]; + __le16 *ent16_p; + __le32 *ent32_p; + } u; + int nr_bhs; + struct buffer_head *bhs[2]; + struct inode *fat_inode; +}; + +struct fat_fid { + u32 i_gen; + u32 i_pos_low; + u16 i_pos_hi; + u16 parent_i_pos_hi; + u32 parent_i_pos_low; + u32 parent_i_gen; +}; + +struct fat_floppy_defaults { + unsigned int nr_sectors; + unsigned int sec_per_clus; + unsigned int dir_entries; + unsigned int media; + unsigned int fat_length; +}; + +struct fat_ioctl_filldir_callback { + struct dir_context ctx; + void *dirent; + int result; + const char *longname; + int long_len; + const char *shortname; + int short_len; +}; + +struct fat_mount_options { + kuid_t fs_uid; + kgid_t fs_gid; + short unsigned int fs_fmask; + short unsigned int fs_dmask; + short unsigned int codepage; + int time_offset; + char *iocharset; + short unsigned int shortname; + unsigned char name_check; + unsigned char errors; + unsigned char nfs; + short unsigned int allow_utime; + unsigned int quiet: 1; + unsigned int showexec: 1; + unsigned int sys_immutable: 1; + unsigned int dotsOK: 1; + unsigned int isvfat: 1; + unsigned int utf8: 1; + unsigned int unicode_xlate: 1; + unsigned int numtail: 1; + unsigned int flush: 1; + unsigned int nocase: 1; + unsigned int usefree: 1; + unsigned int tz_set: 1; + unsigned int rodir: 1; + unsigned int discard: 1; + unsigned int dos1xfloppy: 1; + unsigned int debug: 1; +}; + +struct msdos_dir_entry; + +struct fat_slot_info { + loff_t i_pos; + loff_t slot_off; + int nr_slots; + struct msdos_dir_entry *de; + struct buffer_head *bh; +}; + +struct fatent_operations { + void (*ent_blocknr)(struct super_block *, int, int *, sector_t *); + void (*ent_set_ptr)(struct fat_entry *, int); + int (*ent_bread)(struct super_block *, struct fat_entry *, int, sector_t); + int (*ent_get)(struct fat_entry *); + void (*ent_put)(struct fat_entry *, int); + int (*ent_next)(struct fat_entry *); +}; + +struct fatent_ra { + sector_t cur; + sector_t limit; + unsigned int ra_blocks; + sector_t ra_advance; + sector_t ra_next; + sector_t ra_limit; +}; + +struct faux_device { + struct device dev; +}; + +struct faux_device_ops { + int (*probe)(struct faux_device *); + void (*remove)(struct faux_device *); +}; + +struct faux_object { + struct faux_device faux_dev; + const struct faux_device_ops *faux_ops; + const struct attribute_group **groups; +}; + +struct fb_address { + void *address; + int bits; +}; + +struct fb_bitfield { + __u32 offset; + __u32 length; + __u32 msb_right; +}; + +struct fb_bitmap4x_iter { + const u8 *data; + u32 fgxcolor; + u32 bgcolor; + int width; + int i; + const u32 *expand; + int bpp; + bool top; +}; + +struct fb_bitmap_iter { + const u8 *data; + long unsigned int colors[2]; + int width; + int i; +}; + +struct fb_blit_caps { + long unsigned int x[1]; + long unsigned int y[2]; + u32 len; + u32 flags; +}; + +struct fb_chroma { + __u32 redx; + __u32 greenx; + __u32 bluex; + __u32 whitex; + __u32 redy; + __u32 greeny; + __u32 bluey; + __u32 whitey; +}; + +struct fb_cmap { + __u32 start; + __u32 len; + __u16 *red; + __u16 *green; + __u16 *blue; + __u16 *transp; +}; + +struct fb_cmap32 { + u32 start; + u32 len; + compat_caddr_t red; + compat_caddr_t green; + compat_caddr_t blue; + compat_caddr_t transp; +}; + +struct fb_cmap_user { + __u32 start; + __u32 len; + __u16 *red; + __u16 *green; + __u16 *blue; + __u16 *transp; +}; + +struct fb_reverse { + bool byte; + bool pixel; +}; + +struct fb_color_iter { + const u8 *data; + const u32 *palette; + struct fb_reverse reverse; + int shift; + int width; + int i; +}; + +struct fb_con2fbmap { + __u32 console; + __u32 framebuffer; +}; + +struct fb_copyarea { + __u32 dx; + __u32 dy; + __u32 width; + __u32 height; + __u32 sx; + __u32 sy; +}; + +struct fbcurpos { + __u16 x; + __u16 y; +}; + +struct fb_image { + __u32 dx; + __u32 dy; + __u32 width; + __u32 height; + __u32 fg_color; + __u32 bg_color; + __u8 depth; + const char *data; + struct fb_cmap cmap; +}; + +struct fb_cursor { + __u16 set; + __u16 enable; + __u16 rop; + const char *mask; + struct fbcurpos hot; + struct fb_image image; +}; + +struct fb_cvt_data { + u32 xres; + u32 yres; + u32 refresh; + u32 f_refresh; + u32 pixclock; + u32 hperiod; + u32 hblank; + u32 hfreq; + u32 htotal; + u32 vtotal; + u32 vsync; + u32 hsync; + u32 h_front_porch; + u32 h_back_porch; + u32 v_front_porch; + u32 v_back_porch; + u32 h_margin; + u32 v_margin; + u32 interlace; + u32 aspect_ratio; + u32 active_pixels; + u32 flags; + u32 status; +}; + +struct fb_deferred_io_pageref { + struct page *page; + long unsigned int offset; + struct list_head list; +}; + +struct fb_fillrect { + __u32 dx; + __u32 dy; + __u32 width; + __u32 height; + __u32 color; + __u32 rop; +}; + +struct fb_fix_screeninfo { + char id[16]; + long unsigned int smem_start; + __u32 smem_len; + __u32 type; + __u32 type_aux; + __u32 visual; + __u16 xpanstep; + __u16 ypanstep; + __u16 ywrapstep; + __u32 line_length; + long unsigned int mmio_start; + __u32 mmio_len; + __u32 accel; + __u16 capabilities; + __u16 reserved[2]; +}; + +struct fb_fix_screeninfo32 { + char id[16]; + compat_caddr_t smem_start; + u32 smem_len; + u32 type; + u32 type_aux; + u32 visual; + u16 xpanstep; + u16 ypanstep; + u16 ywrapstep; + u32 line_length; + compat_caddr_t mmio_start; + u32 mmio_len; + u32 accel; + u16 reserved[3]; +}; + +struct fb_var_screeninfo { + __u32 xres; + __u32 yres; + __u32 xres_virtual; + __u32 yres_virtual; + __u32 xoffset; + __u32 yoffset; + __u32 bits_per_pixel; + __u32 grayscale; + struct fb_bitfield red; + struct fb_bitfield green; + struct fb_bitfield blue; + struct fb_bitfield transp; + __u32 nonstd; + __u32 activate; + __u32 height; + __u32 width; + __u32 accel_flags; + __u32 pixclock; + __u32 left_margin; + __u32 right_margin; + __u32 upper_margin; + __u32 lower_margin; + __u32 hsync_len; + __u32 vsync_len; + __u32 sync; + __u32 vmode; + __u32 rotate; + __u32 colorspace; + __u32 reserved[4]; +}; + +struct fb_monspecs { + struct fb_chroma chroma; + struct fb_videomode *modedb; + __u8 manufacturer[4]; + __u8 monitor[14]; + __u8 serial_no[14]; + __u8 ascii[14]; + __u32 modedb_len; + __u32 model; + __u32 serial; + __u32 year; + __u32 week; + __u32 hfmin; + __u32 hfmax; + __u32 dclkmin; + __u32 dclkmax; + __u16 input; + __u16 dpms; + __u16 signal; + __u16 vfmin; + __u16 vfmax; + __u16 gamma; + __u16 gtf: 1; + __u16 misc; + __u8 version; + __u8 revision; + __u8 max_x; + __u8 max_y; +}; + +struct fb_pixmap { + u8 *addr; + u32 size; + u32 offset; + u32 buf_align; + u32 scan_align; + u32 access_align; + u32 flags; + long unsigned int blit_x[1]; + long unsigned int blit_y[2]; + void (*writeio)(struct fb_info *, void *, void *, unsigned int); + void (*readio)(struct fb_info *, void *, void *, unsigned int); +}; + +struct lcd_device; + +struct fb_ops; + +struct fb_tile_ops; + +struct fb_info { + refcount_t count; + int node; + int flags; + int fbcon_rotate_hint; + struct mutex lock; + struct mutex mm_lock; + struct fb_var_screeninfo var; + struct fb_fix_screeninfo fix; + struct fb_monspecs monspecs; + struct fb_pixmap pixmap; + struct fb_pixmap sprite; + struct fb_cmap cmap; + struct list_head modelist; + struct fb_videomode *mode; + int blank; + struct backlight_device *bl_dev; + struct mutex bl_curve_mutex; + u8 bl_curve[128]; + struct lcd_device *lcd_dev; + struct delayed_work deferred_work; + long unsigned int npagerefs; + struct fb_deferred_io_pageref *pagerefs; + struct fb_deferred_io *fbdefio; + const struct fb_ops *fbops; + struct device *device; + struct device *dev; + int class_flag; + struct fb_tile_ops *tileops; + union { + char *screen_base; + char *screen_buffer; + }; + long unsigned int screen_size; + void *pseudo_palette; + u32 state; + void *fbcon_par; + void *par; + bool skip_vt_switch; + bool skip_panic; +}; + +struct fb_videomode { + const char *name; + u32 refresh; + u32 xres; + u32 yres; + u32 pixclock; + u32 left_margin; + u32 right_margin; + u32 upper_margin; + u32 lower_margin; + u32 hsync_len; + u32 vsync_len; + u32 sync; + u32 vmode; + u32 flag; +}; + +struct fb_modelist { + struct list_head list; + struct fb_videomode mode; +}; + +struct fb_ops { + struct module *owner; + int (*fb_open)(struct fb_info *, int); + int (*fb_release)(struct fb_info *, int); + ssize_t (*fb_read)(struct fb_info *, char *, size_t, loff_t *); + ssize_t (*fb_write)(struct fb_info *, const char *, size_t, loff_t *); + int (*fb_check_var)(struct fb_var_screeninfo *, struct fb_info *); + int (*fb_set_par)(struct fb_info *); + int (*fb_setcolreg)(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, struct fb_info *); + int (*fb_setcmap)(struct fb_cmap *, struct fb_info *); + int (*fb_blank)(int, struct fb_info *); + int (*fb_pan_display)(struct fb_var_screeninfo *, struct fb_info *); + void (*fb_fillrect)(struct fb_info *, const struct fb_fillrect *); + void (*fb_copyarea)(struct fb_info *, const struct fb_copyarea *); + void (*fb_imageblit)(struct fb_info *, const struct fb_image *); + int (*fb_cursor)(struct fb_info *, struct fb_cursor *); + int (*fb_sync)(struct fb_info *); + int (*fb_ioctl)(struct fb_info *, unsigned int, long unsigned int); + int (*fb_compat_ioctl)(struct fb_info *, unsigned int, long unsigned int); + int (*fb_mmap)(struct fb_info *, struct vm_area_struct *); + void (*fb_get_caps)(struct fb_info *, struct fb_blit_caps *, struct fb_var_screeninfo *); + void (*fb_destroy)(struct fb_info *); + int (*fb_debug_enter)(struct fb_info *); + int (*fb_debug_leave)(struct fb_info *); +}; + +struct fb_pattern { + long unsigned int pixels; + int left; + int right; + struct fb_reverse reverse; +}; + +struct fb_tilemap; + +struct fb_tilearea; + +struct fb_tilerect; + +struct fb_tileblit; + +struct fb_tilecursor; + +struct fb_tile_ops { + void (*fb_settile)(struct fb_info *, struct fb_tilemap *); + void (*fb_tilecopy)(struct fb_info *, struct fb_tilearea *); + void (*fb_tilefill)(struct fb_info *, struct fb_tilerect *); + void (*fb_tileblit)(struct fb_info *, struct fb_tileblit *); + void (*fb_tilecursor)(struct fb_info *, struct fb_tilecursor *); + int (*fb_get_tilemax)(struct fb_info *); +}; + +struct fb_tilearea { + __u32 sx; + __u32 sy; + __u32 dx; + __u32 dy; + __u32 width; + __u32 height; +}; + +struct fb_tileblit { + __u32 sx; + __u32 sy; + __u32 width; + __u32 height; + __u32 fg; + __u32 bg; + __u32 length; + __u32 *indices; +}; + +struct fb_tilecursor { + __u32 sx; + __u32 sy; + __u32 mode; + __u32 shape; + __u32 fg; + __u32 bg; +}; + +struct fb_tilemap { + __u32 width; + __u32 height; + __u32 depth; + __u32 length; + const __u8 *data; +}; + +struct fb_tilerect { + __u32 sx; + __u32 sy; + __u32 width; + __u32 height; + __u32 index; + __u32 fg; + __u32 bg; + __u32 rop; +}; + +struct fbcon_display { + const u_char *fontdata; + int userfont; + u_short inverse; + short int yscroll; + int vrows; + int cursor_shape; + int con_rotate; + u32 xres_virtual; + u32 yres_virtual; + u32 height; + u32 width; + u32 bits_per_pixel; + u32 grayscale; + u32 nonstd; + u32 accel_flags; + u32 rotate; + struct fb_bitfield red; + struct fb_bitfield green; + struct fb_bitfield blue; + struct fb_bitfield transp; + const struct fb_videomode *mode; +}; + +struct fbcon_ops { + void (*bmove)(struct vc_data *, struct fb_info *, int, int, int, int, int, int); + void (*clear)(struct vc_data *, struct fb_info *, int, int, int, int, int, int); + void (*putcs)(struct vc_data *, struct fb_info *, const short unsigned int *, int, int, int, int, int); + void (*clear_margins)(struct vc_data *, struct fb_info *, int, int); + void (*cursor)(struct vc_data *, struct fb_info *, bool, int, int); + int (*update_start)(struct fb_info *); + int (*rotate_font)(struct fb_info *, struct vc_data *); + struct fb_var_screeninfo var; + struct delayed_work cursor_work; + struct fb_cursor cursor_state; + struct fbcon_display *p; + struct fb_info *info; + int currcon; + int cur_blink_jiffies; + int cursor_flash; + int cursor_reset; + int blank_state; + int graphics; + int save_graphics; + bool initialized; + int rotate; + int cur_rotate; + char *cursor_data; + u8 *fontbuffer; + u8 *fontdata; + u8 *cursor_src; + u32 cursor_size; + u32 fd_size; +}; + +struct fc_log { + refcount_t usage; + u8 head; + u8 tail; + u8 need_free; + struct module *owner; + char *buffer[8]; +}; + +struct fch_clk_data { + void *base; + char *name; +}; + +struct fch_hdr { + __u8 daddr[6]; + __u8 saddr[6]; +}; + +struct fcllc { + __u8 dsap; + __u8 ssap; + __u8 llc; + __u8 protid[3]; + __be16 ethertype; +}; + +struct fd { + long unsigned int word; +}; + +typedef struct fd class_fd_pos_t; + +typedef struct fd class_fd_raw_t; + +typedef struct fd class_fd_t; + +struct fd_data { + fmode_t mode; + unsigned int fd; +}; + +struct fd_range { + unsigned int from; + unsigned int to; +}; + +struct fddi_8022_1_hdr { + __u8 dsap; + __u8 ssap; + __u8 ctrl; +}; + +struct fddi_8022_2_hdr { + __u8 dsap; + __u8 ssap; + __u8 ctrl_1; + __u8 ctrl_2; +}; + +struct fddi_snap_hdr { + __u8 dsap; + __u8 ssap; + __u8 ctrl; + __u8 oui[3]; + __be16 ethertype; +}; + +struct fddihdr { + __u8 fc; + __u8 daddr[6]; + __u8 saddr[6]; + union { + struct fddi_8022_1_hdr llc_8022_1; + struct fddi_8022_2_hdr llc_8022_2; + struct fddi_snap_hdr llc_snap; + } hdr; +} __attribute__((packed)); + +struct fdt_debugfs { + struct list_head list; + struct debugfs_blob_wrapper wrapper; + struct dentry *file; +}; + +struct fdt_errtabent { + const char *str; +}; + +struct fdt_header { + fdt32_t magic; + fdt32_t totalsize; + fdt32_t off_dt_struct; + fdt32_t off_dt_strings; + fdt32_t off_mem_rsvmap; + fdt32_t version; + fdt32_t last_comp_version; + fdt32_t boot_cpuid_phys; + fdt32_t size_dt_strings; + fdt32_t size_dt_struct; +}; + +struct fdt_node_header { + fdt32_t tag; + char name[0]; +}; + +struct fdt_property { + fdt32_t tag; + fdt32_t len; + fdt32_t nameoff; + char data[0]; +}; + +struct fdt_reserve_entry { + fdt64_t address; + fdt64_t size; +}; + +struct fdtable { + unsigned int max_fds; + struct file **fd; + long unsigned int *close_on_exec; + long unsigned int *open_fds; + long unsigned int *full_fds_bits; + struct callback_head rcu; +}; + +struct features_reply_data { + struct ethnl_reply_data base; + u32 hw[2]; + u32 wanted[2]; + u32 active[2]; + u32 nochange[2]; + u32 all[2]; +}; + +struct fec_stat_grp { + u64 stats[9]; + u8 cnt; +}; + +struct fec_reply_data { + struct ethnl_reply_data base; + long unsigned int fec_link_modes[2]; + u32 active_fec; + u8 fec_auto; + struct fec_stat_grp corr; + struct fec_stat_grp uncorr; + struct fec_stat_grp corr_bits; +}; + +struct fentry_trace_entry_head { + struct trace_entry ent; + long unsigned int ip; +}; + +struct fetch_insn { + enum fetch_op op; + union { + unsigned int param; + struct { + unsigned int size; + int offset; + }; + struct { + unsigned char basesize; + unsigned char lshift; + unsigned char rshift; + }; + long unsigned int immediate; + void *data; + }; +}; + +struct trace_seq; + +typedef int (*print_type_func_t)(struct trace_seq *, void *, void *); + +struct fetch_type { + const char *name; + size_t size; + bool is_signed; + bool is_string; + print_type_func_t print; + const char *fmt; + const char *fmttype; +}; + +struct fexit_trace_entry_head { + struct trace_entry ent; + long unsigned int func; + long unsigned int ret_ip; +}; + +struct ff_condition_effect { + __u16 right_saturation; + __u16 left_saturation; + __s16 right_coeff; + __s16 left_coeff; + __u16 deadband; + __s16 center; +}; + +struct ff_envelope { + __u16 attack_length; + __u16 attack_level; + __u16 fade_length; + __u16 fade_level; +}; + +struct ff_constant_effect { + __s16 level; + struct ff_envelope envelope; +}; + +struct ff_effect; + +struct ff_device { + int (*upload)(struct input_dev *, struct ff_effect *, struct ff_effect *); + int (*erase)(struct input_dev *, int); + int (*playback)(struct input_dev *, int, int); + void (*set_gain)(struct input_dev *, u16); + void (*set_autocenter)(struct input_dev *, u16); + void (*destroy)(struct ff_device *); + void *private; + long unsigned int ffbit[2]; + struct mutex mutex; + int max_effects; + struct ff_effect *effects; + struct file *effect_owners[0]; +}; + +struct ff_trigger { + __u16 button; + __u16 interval; +}; + +struct ff_replay { + __u16 length; + __u16 delay; +}; + +struct ff_ramp_effect { + __s16 start_level; + __s16 end_level; + struct ff_envelope envelope; +}; + +struct ff_periodic_effect { + __u16 waveform; + __u16 period; + __s16 magnitude; + __s16 offset; + __u16 phase; + struct ff_envelope envelope; + __u32 custom_len; + __s16 *custom_data; +}; + +struct ff_rumble_effect { + __u16 strong_magnitude; + __u16 weak_magnitude; +}; + +struct ff_effect { + __u16 type; + __s16 id; + __u16 direction; + struct ff_trigger trigger; + struct ff_replay replay; + union { + struct ff_constant_effect constant; + struct ff_ramp_effect ramp; + struct ff_periodic_effect periodic; + struct ff_condition_effect condition[2]; + struct ff_rumble_effect rumble; + } u; +}; + +struct ff_periodic_effect_compat { + __u16 waveform; + __u16 period; + __s16 magnitude; + __s16 offset; + __u16 phase; + struct ff_envelope envelope; + __u32 custom_len; + compat_uptr_t custom_data; +}; + +struct ff_effect_compat { + __u16 type; + __s16 id; + __u16 direction; + struct ff_trigger trigger; + struct ff_replay replay; + union { + struct ff_constant_effect constant; + struct ff_ramp_effect ramp; + struct ff_periodic_effect_compat periodic; + struct ff_condition_effect condition[2]; + struct ff_rumble_effect rumble; + } u; +}; + +struct fgraph_cpu_data { + pid_t last_pid; + int depth; + int depth_irq; + int ignore; + long unsigned int enter_funcs[50]; +}; + +struct ftrace_graph_ent { + long unsigned int func; + int depth; +} __attribute__((packed)); + +struct ftrace_graph_ent_entry { + struct trace_entry ent; + struct ftrace_graph_ent graph_ent; + long unsigned int args[0]; +}; + +struct fgraph_ent_args { + struct ftrace_graph_ent_entry ent; + long unsigned int args[6]; +}; + +struct fgraph_retaddr_ent { + long unsigned int func; + int depth; + long unsigned int retaddr; +} __attribute__((packed)); + +struct fgraph_retaddr_ent_entry { + struct trace_entry ent; + struct fgraph_retaddr_ent graph_ent; +}; + +struct ftrace_graph_ret { + long unsigned int func; + long unsigned int retval; + int depth; + unsigned int overrun; +}; + +struct ftrace_graph_ret_entry { + struct trace_entry ent; + struct ftrace_graph_ret ret; + long long unsigned int calltime; + long long unsigned int rettime; +}; + +struct fgraph_data { + struct fgraph_cpu_data *cpu_data; + union { + struct fgraph_ent_args ent; + struct fgraph_retaddr_ent_entry rent; + }; + struct ftrace_graph_ret_entry ret; + int failed; + int cpu; +}; + +struct fgraph_ops; + +typedef int (*trace_func_graph_ent_t)(struct ftrace_graph_ent *, struct fgraph_ops *, struct ftrace_regs *); + +typedef void (*trace_func_graph_ret_t)(struct ftrace_graph_ret *, struct fgraph_ops *, struct ftrace_regs *); + +typedef void (*ftrace_func_t)(long unsigned int, long unsigned int, struct ftrace_ops *, struct ftrace_regs *); + +struct ftrace_hash; + +struct ftrace_ops_hash { + struct ftrace_hash *notrace_hash; + struct ftrace_hash *filter_hash; + struct mutex regex_lock; +}; + +typedef int (*ftrace_ops_func_t)(struct ftrace_ops *, enum ftrace_ops_cmd); + +struct ftrace_ops { + ftrace_func_t func; + struct ftrace_ops *next; + long unsigned int flags; + void *private; + ftrace_func_t saved_func; + struct ftrace_ops_hash local_hash; + struct ftrace_ops_hash *func_hash; + struct ftrace_ops_hash old_hash; + long unsigned int trampoline; + long unsigned int trampoline_size; + struct list_head list; + struct list_head subop_list; + ftrace_ops_func_t ops_func; + struct ftrace_ops *managed; + long unsigned int direct_call; +}; + +struct fgraph_ops { + trace_func_graph_ent_t entryfunc; + trace_func_graph_ret_t retfunc; + struct ftrace_ops ops; + void *private; + trace_func_graph_ent_t saved_func; + int idx; +}; + +struct fgraph_times { + long long unsigned int calltime; + long long unsigned int sleeptime; +}; + +struct fib_kuid_range { + kuid_t start; + kuid_t end; +}; + +struct fib_rule_port_range { + __u16 start; + __u16 end; +}; + +struct fib_rule { + struct list_head list; + int iifindex; + int oifindex; + u32 mark; + u32 mark_mask; + u32 flags; + u32 table; + u8 action; + u8 l3mdev; + u8 proto; + u8 ip_proto; + u32 target; + __be64 tun_id; + struct fib_rule *ctarget; + struct net *fr_net; + refcount_t refcnt; + u32 pref; + int suppress_ifgroup; + int suppress_prefixlen; + char iifname[16]; + char oifname[16]; + struct fib_kuid_range uid_range; + struct fib_rule_port_range sport_range; + struct fib_rule_port_range dport_range; + u16 sport_mask; + u16 dport_mask; + u8 iif_is_l3_master; + u8 oif_is_l3_master; + struct callback_head rcu; +}; + +struct fib4_rule { + struct fib_rule common; + u8 dst_len; + u8 src_len; + dscp_t dscp; + dscp_t dscp_mask; + u8 dscp_full: 1; + __be32 src; + __be32 srcmask; + __be32 dst; + __be32 dstmask; + u32 tclassid; +}; + +struct fib6_node; + +struct fib6_walker { + struct list_head lh; + struct fib6_node *root; + struct fib6_node *node; + struct fib6_info *leaf; + enum fib6_walk_state state; + unsigned int skip; + unsigned int count; + unsigned int skip_in_node; + int (*func)(struct fib6_walker *); + void *args; +}; + +struct fib6_cleaner { + struct fib6_walker w; + struct net *net; + int (*func)(struct fib6_info *, void *); + int sernum; + void *arg; + bool skip_notify; +}; + +struct nlmsghdr; + +struct nl_info { + struct nlmsghdr *nlh; + struct net *nl_net; + u32 portid; + u8 skip_notify: 1; + u8 skip_notify_kernel: 1; +}; + +struct fib6_config { + u32 fc_table; + u32 fc_metric; + int fc_dst_len; + int fc_src_len; + int fc_ifindex; + u32 fc_flags; + u32 fc_protocol; + u16 fc_type; + u16 fc_delete_all_nh: 1; + u16 fc_ignore_dev_down: 1; + u16 __unused: 14; + u32 fc_nh_id; + struct in6_addr fc_dst; + struct in6_addr fc_src; + struct in6_addr fc_prefsrc; + struct in6_addr fc_gateway; + long unsigned int fc_expires; + struct nlattr *fc_mx; + int fc_mx_len; + int fc_mp_len; + struct nlattr *fc_mp; + struct nl_info fc_nlinfo; + struct nlattr *fc_encap; + u16 fc_encap_type; + bool fc_is_fdb; +}; + +struct fib6_dump_arg { + struct net *net; + struct notifier_block *nb; + struct netlink_ext_ack *extack; +}; + +struct fib_notifier_info { + int family; + struct netlink_ext_ack *extack; +}; + +struct fib6_entry_notifier_info { + struct fib_notifier_info info; + struct fib6_info *rt; + unsigned int nsiblings; +}; + +struct fib6_gc_args { + int timeout; + int more; +}; + +struct rt6key { + struct in6_addr addr; + int plen; +}; + +struct rtable; + +struct fnhe_hash_bucket; + +struct fib_nh_common { + struct net_device *nhc_dev; + netdevice_tracker nhc_dev_tracker; + int nhc_oif; + unsigned char nhc_scope; + u8 nhc_family; + u8 nhc_gw_family; + unsigned char nhc_flags; + struct lwtunnel_state *nhc_lwtstate; + union { + __be32 ipv4; + struct in6_addr ipv6; + } nhc_gw; + int nhc_weight; + atomic_t nhc_upper_bound; + struct rtable **nhc_pcpu_rth_output; + struct rtable *nhc_rth_input; + struct fnhe_hash_bucket *nhc_exceptions; +}; + +struct rt6_info; + +struct rt6_exception_bucket; + +struct fib6_nh { + struct fib_nh_common nh_common; + long unsigned int last_probe; + struct rt6_info **rt6i_pcpu; + struct rt6_exception_bucket *rt6i_exception_bucket; +}; + +struct fib6_table; + +struct nexthop; + +struct fib6_info { + struct fib6_table *fib6_table; + struct fib6_info *fib6_next; + struct fib6_node *fib6_node; + union { + struct list_head fib6_siblings; + struct list_head nh_list; + }; + unsigned int fib6_nsiblings; + refcount_t fib6_ref; + long unsigned int expires; + struct hlist_node gc_link; + struct dst_metrics *fib6_metrics; + struct rt6key fib6_dst; + u32 fib6_flags; + struct rt6key fib6_src; + struct rt6key fib6_prefsrc; + u32 fib6_metric; + u8 fib6_protocol; + u8 fib6_type; + u8 offload; + u8 trap; + u8 offload_failed; + u8 should_flush: 1; + u8 dst_nocount: 1; + u8 dst_nopolicy: 1; + u8 fib6_destroying: 1; + u8 unused: 4; + struct list_head purge_link; + struct callback_head rcu; + struct nexthop *nh; + struct fib6_nh fib6_nh[0]; +}; + +struct fib6_nh_age_excptn_arg { + struct fib6_gc_args *gc_args; + long unsigned int now; +}; + +struct fib6_nh_del_cached_rt_arg { + struct fib6_config *cfg; + struct fib6_info *f6i; +}; + +struct fib6_nh_dm_arg { + struct net *net; + const struct in6_addr *saddr; + int oif; + int flags; + struct fib6_nh *nh; +}; + +struct rt6_rtnl_dump_arg; + +struct fib6_nh_exception_dump_walker { + struct rt6_rtnl_dump_arg *dump; + struct fib6_info *rt; + unsigned int flags; + unsigned int skip; + unsigned int count; +}; + +struct fib6_nh_excptn_arg { + struct rt6_info *rt; + int plen; +}; + +struct fib6_nh_frl_arg { + u32 flags; + int oif; + int strict; + int *mpri; + bool *do_rr; + struct fib6_nh *nh; +}; + +struct fib6_nh_match_arg { + const struct net_device *dev; + const struct in6_addr *gw; + struct fib6_nh *match; +}; + +struct fib6_result; + +struct flowi6; + +struct fib6_nh_rd_arg { + struct fib6_result *res; + struct flowi6 *fl6; + const struct in6_addr *gw; + struct rt6_info **ret; +}; + +struct fib6_node { + struct fib6_node *parent; + struct fib6_node *left; + struct fib6_node *right; + struct fib6_node *subtree; + struct fib6_info *leaf; + __u16 fn_bit; + __u16 fn_flags; + int fn_sernum; + struct fib6_info *rr_ptr; + struct callback_head rcu; +}; + +struct fib6_result { + struct fib6_nh *nh; + struct fib6_info *f6i; + u32 fib6_flags; + u8 fib6_type; + struct rt6_info *rt6; +}; + +struct fib6_rule { + struct fib_rule common; + struct rt6key src; + struct rt6key dst; + __be32 flowlabel; + __be32 flowlabel_mask; + dscp_t dscp; + dscp_t dscp_mask; + u8 dscp_full: 1; +}; + +struct inet_peer_base { + struct rb_root rb_root; + seqlock_t lock; + int total; +}; + +struct fib6_table { + struct hlist_node tb6_hlist; + u32 tb6_id; + spinlock_t tb6_lock; + struct fib6_node tb6_root; + struct inet_peer_base tb6_peers; + unsigned int flags; + unsigned int fib_seq; + struct hlist_head tb6_gc_hlist; +}; + +struct fib_info; + +struct fib_alias { + struct hlist_node fa_list; + struct fib_info *fa_info; + dscp_t fa_dscp; + u8 fa_type; + u8 fa_state; + u8 fa_slen; + u32 tb_id; + s16 fa_default; + u8 offload; + u8 trap; + u8 offload_failed; + struct callback_head rcu; +}; + +struct rtnexthop; + +struct fib_config { + u8 fc_dst_len; + dscp_t fc_dscp; + u8 fc_protocol; + u8 fc_scope; + u8 fc_type; + u8 fc_gw_family; + u32 fc_table; + __be32 fc_dst; + union { + __be32 fc_gw4; + struct in6_addr fc_gw6; + }; + int fc_oif; + u32 fc_flags; + u32 fc_priority; + __be32 fc_prefsrc; + u32 fc_nh_id; + struct nlattr *fc_mx; + struct rtnexthop *fc_mp; + int fc_mx_len; + int fc_mp_len; + u32 fc_flow; + u32 fc_nlflags; + struct nl_info fc_nlinfo; + struct nlattr *fc_encap; + u16 fc_encap_type; +}; + +struct fib_dump_filter { + u32 table_id; + bool filter_set; + bool dump_routes; + bool dump_exceptions; + bool rtnl_held; + unsigned char protocol; + unsigned char rt_type; + unsigned int flags; + struct net_device *dev; +}; + +struct fib_entry_notifier_info { + struct fib_notifier_info info; + u32 dst; + int dst_len; + struct fib_info *fi; + dscp_t dscp; + u8 type; + u32 tb_id; +}; + +struct fib_nh { + struct fib_nh_common nh_common; + struct hlist_node nh_hash; + struct fib_info *nh_parent; + __u32 nh_tclassid; + __be32 nh_saddr; + int nh_saddr_genid; +}; + +struct fib_info { + struct hlist_node fib_hash; + struct hlist_node fib_lhash; + struct list_head nh_list; + struct net *fib_net; + refcount_t fib_treeref; + refcount_t fib_clntref; + unsigned int fib_flags; + unsigned char fib_dead; + unsigned char fib_protocol; + unsigned char fib_scope; + unsigned char fib_type; + __be32 fib_prefsrc; + u32 fib_tb_id; + u32 fib_priority; + struct dst_metrics *fib_metrics; + int fib_nhs; + bool fib_nh_is_v6; + bool nh_updated; + bool pfsrc_removed; + struct nexthop *nh; + struct callback_head rcu; + struct fib_nh fib_nh[0]; +}; + +struct fib_lookup_arg { + void *lookup_ptr; + const void *lookup_data; + void *result; + struct fib_rule *rule; + u32 table; + int flags; +}; + +struct fib_nh_exception { + struct fib_nh_exception *fnhe_next; + int fnhe_genid; + __be32 fnhe_daddr; + u32 fnhe_pmtu; + bool fnhe_mtu_locked; + __be32 fnhe_gw; + long unsigned int fnhe_expires; + struct rtable *fnhe_rth_input; + struct rtable *fnhe_rth_output; + long unsigned int fnhe_stamp; + struct callback_head rcu; +}; + +struct fib_nh_notifier_info { + struct fib_notifier_info info; + struct fib_nh *fib_nh; +}; + +struct fib_notifier_net { + struct list_head fib_notifier_ops; + struct atomic_notifier_head fib_chain; +}; + +struct fib_notifier_ops { + int family; + struct list_head list; + unsigned int (*fib_seq_read)(const struct net *); + int (*fib_dump)(struct net *, struct notifier_block *, struct netlink_ext_ack *); + struct module *owner; + struct callback_head rcu; +}; + +struct fib_prop { + int error; + u8 scope; +}; + +struct fib_table; + +struct fib_result { + __be32 prefix; + unsigned char prefixlen; + unsigned char nh_sel; + unsigned char type; + unsigned char scope; + u32 tclassid; + dscp_t dscp; + struct fib_nh_common *nhc; + struct fib_info *fi; + struct fib_table *table; + struct hlist_head *fa_head; +}; + +struct fib_result_nl { + __be32 fl_addr; + u32 fl_mark; + unsigned char fl_tos; + unsigned char fl_scope; + unsigned char tb_id_in; + unsigned char tb_id; + unsigned char prefixlen; + unsigned char nh_sel; + unsigned char type; + unsigned char scope; + int err; +}; + +struct key_vector; + +struct fib_route_iter { + struct seq_net_private p; + struct fib_table *main_tb; + struct key_vector *tnode; + loff_t pos; + t_key key; +}; + +struct fib_rt_info { + struct fib_info *fi; + u32 tb_id; + __be32 dst; + int dst_len; + dscp_t dscp; + u8 type; + u8 offload: 1; + u8 trap: 1; + u8 offload_failed: 1; + u8 unused: 5; +}; + +struct fib_rule_hdr { + __u8 family; + __u8 dst_len; + __u8 src_len; + __u8 tos; + __u8 table; + __u8 res1; + __u8 res2; + __u8 action; + __u32 flags; +}; + +struct fib_rule_notifier_info { + struct fib_notifier_info info; + struct fib_rule *rule; +}; + +struct fib_rule_uid_range { + __u32 start; + __u32 end; +}; + +struct flowi; + +struct fib_rules_ops { + int family; + struct list_head list; + int rule_size; + int addr_size; + int unresolved_rules; + int nr_goto_rules; + unsigned int fib_rules_seq; + int (*action)(struct fib_rule *, struct flowi *, int, struct fib_lookup_arg *); + bool (*suppress)(struct fib_rule *, int, struct fib_lookup_arg *); + int (*match)(struct fib_rule *, struct flowi *, int); + int (*configure)(struct fib_rule *, struct sk_buff *, struct fib_rule_hdr *, struct nlattr **, struct netlink_ext_ack *); + int (*delete)(struct fib_rule *); + int (*compare)(struct fib_rule *, struct fib_rule_hdr *, struct nlattr **); + int (*fill)(struct fib_rule *, struct sk_buff *, struct fib_rule_hdr *); + size_t (*nlmsg_payload)(struct fib_rule *); + void (*flush_cache)(struct fib_rules_ops *); + int nlgroup; + struct list_head rules_list; + struct module *owner; + struct net *fro_net; + struct callback_head rcu; +}; + +struct fib_table { + struct hlist_node tb_hlist; + u32 tb_id; + int tb_num_default; + struct callback_head rcu; + long unsigned int *tb_data; + long unsigned int __data[0]; +}; + +struct fib_trie_iter { + struct seq_net_private p; + struct fib_table *tb; + struct key_vector *tnode; + unsigned int index; + unsigned int depth; +}; + +struct fid { + union { + struct { + u32 ino; + u32 gen; + u32 parent_ino; + u32 parent_gen; + } i32; + struct { + u64 ino; + u32 gen; + } __attribute__((packed)) i64; + struct { + u32 block; + u16 partref; + u16 parent_partref; + u32 generation; + u32 parent_block; + u32 parent_generation; + } udf; + struct { + struct {} __empty_raw; + __u32 raw[0]; + }; + }; +}; + +struct field_var { + struct hist_field *var; + struct hist_field *val; +}; + +struct field_var_hist { + struct hist_trigger_data *hist_data; + char *cmd; +}; + +struct fiemap_extent { + __u64 fe_logical; + __u64 fe_physical; + __u64 fe_length; + __u64 fe_reserved64[2]; + __u32 fe_flags; + __u32 fe_reserved[3]; +}; + +struct fiemap { + __u64 fm_start; + __u64 fm_length; + __u32 fm_flags; + __u32 fm_mapped_extents; + __u32 fm_extent_count; + __u32 fm_reserved; + struct fiemap_extent fm_extents[0]; +}; + +struct fiemap_extent_info { + unsigned int fi_flags; + unsigned int fi_extents_mapped; + unsigned int fi_extents_max; + struct fiemap_extent *fi_extents_start; +}; + +struct file__safe_trusted { + struct inode *f_inode; +}; + +struct file_attr { + __u64 fa_xflags; + __u32 fa_extsize; + __u32 fa_nextents; + __u32 fa_projid; + __u32 fa_cowextsize; +}; + +struct file_clone_range { + __s64 src_fd; + __u64 src_offset; + __u64 src_length; + __u64 dest_offset; +}; + +struct file_dedupe_range_info { + __s64 dest_fd; + __u64 dest_offset; + __u64 bytes_deduped; + __s32 status; + __u32 reserved; +}; + +struct file_dedupe_range { + __u64 src_offset; + __u64 src_length; + __u16 dest_count; + __u16 reserved1; + __u32 reserved2; + struct file_dedupe_range_info info[0]; +}; + +struct file_handle { + __u32 handle_bytes; + int handle_type; + unsigned char f_handle[0]; +}; + +struct file_kattr { + u32 flags; + u32 fsx_xflags; + u32 fsx_extsize; + u32 fsx_nextents; + u32 fsx_projid; + u32 fsx_cowextsize; + bool flags_valid: 1; + bool fsx_valid: 1; +}; + +struct file_lock_core { + struct file_lock_core *flc_blocker; + struct list_head flc_list; + struct hlist_node flc_link; + struct list_head flc_blocked_requests; + struct list_head flc_blocked_member; + fl_owner_t flc_owner; + unsigned int flc_flags; + unsigned char flc_type; + pid_t flc_pid; + int flc_link_cpu; + wait_queue_head_t flc_wait; + struct file *flc_file; +}; + +struct lease_manager_operations; + +struct file_lease { + struct file_lock_core c; + struct fasync_struct *fl_fasync; + long unsigned int fl_break_time; + long unsigned int fl_downgrade_time; + const struct lease_manager_operations *fl_lmops; +}; + +struct nlm_lockowner; + +struct nfs_lock_info { + u32 state; + struct nlm_lockowner *owner; + struct list_head list; +}; + +struct nfs4_lock_state; + +struct nfs4_lock_info { + struct nfs4_lock_state *owner; +}; + +struct file_lock_operations; + +struct lock_manager_operations; + +struct file_lock { + struct file_lock_core c; + loff_t fl_start; + loff_t fl_end; + const struct file_lock_operations *fl_ops; + const struct lock_manager_operations *fl_lmops; + union { + struct nfs_lock_info nfs_fl; + struct nfs4_lock_info nfs4_fl; + struct { + struct list_head link; + int state; + unsigned int debug_id; + } afs; + struct { + struct inode *inode; + } ceph; + } fl_u; +}; + +struct file_lock_context { + spinlock_t flc_lock; + struct list_head flc_flock; + struct list_head flc_posix; + struct list_head flc_lease; +}; + +struct file_lock_list_struct { + spinlock_t lock; + struct hlist_head hlist; +}; + +struct file_lock_operations { + void (*fl_copy_lock)(struct file_lock *, struct file_lock *); + void (*fl_release_private)(struct file_lock *); +}; + +struct io_uring_cmd; + +struct vm_area_desc; + +struct file_operations { + struct module *owner; + fop_flags_t fop_flags; + loff_t (*llseek)(struct file *, loff_t, int); + ssize_t (*read)(struct file *, char *, size_t, loff_t *); + ssize_t (*write)(struct file *, const char *, size_t, loff_t *); + ssize_t (*read_iter)(struct kiocb *, struct iov_iter *); + ssize_t (*write_iter)(struct kiocb *, struct iov_iter *); + int (*iopoll)(struct kiocb *, struct io_comp_batch *, unsigned int); + int (*iterate_shared)(struct file *, struct dir_context *); + __poll_t (*poll)(struct file *, struct poll_table_struct *); + long int (*unlocked_ioctl)(struct file *, unsigned int, long unsigned int); + long int (*compat_ioctl)(struct file *, unsigned int, long unsigned int); + int (*mmap)(struct file *, struct vm_area_struct *); + int (*open)(struct inode *, struct file *); + int (*flush)(struct file *, fl_owner_t); + int (*release)(struct inode *, struct file *); + int (*fsync)(struct file *, loff_t, loff_t, int); + int (*fasync)(int, struct file *, int); + int (*lock)(struct file *, int, struct file_lock *); + long unsigned int (*get_unmapped_area)(struct file *, long unsigned int, long unsigned int, long unsigned int, long unsigned int); + int (*check_flags)(int); + int (*flock)(struct file *, int, struct file_lock *); + ssize_t (*splice_write)(struct pipe_inode_info *, struct file *, loff_t *, size_t, unsigned int); + ssize_t (*splice_read)(struct file *, loff_t *, struct pipe_inode_info *, size_t, unsigned int); + void (*splice_eof)(struct file *); + int (*setlease)(struct file *, int, struct file_lease **, void **); + long int (*fallocate)(struct file *, int, loff_t, loff_t); + void (*show_fdinfo)(struct seq_file *, struct file *); + ssize_t (*copy_file_range)(struct file *, loff_t, struct file *, loff_t, size_t, unsigned int); + loff_t (*remap_file_range)(struct file *, loff_t, struct file *, loff_t, loff_t, unsigned int); + int (*fadvise)(struct file *, loff_t, loff_t, int); + int (*uring_cmd)(struct io_uring_cmd *, unsigned int); + int (*uring_cmd_iopoll)(struct io_uring_cmd *, struct io_comp_batch *, unsigned int); + int (*mmap_prepare)(struct vm_area_desc *); +}; + +struct tpm_chip; + +struct tpm_space; + +struct file_priv { + struct tpm_chip *chip; + struct tpm_space *space; + struct mutex buffer_mutex; + struct timer_list user_read_timer; + struct work_struct timeout_work; + struct work_struct async_work; + wait_queue_head_t async_wait; + ssize_t response_length; + bool response_read; + bool command_enqueued; + u8 data_buffer[4096]; +}; + +struct file_range { + const struct path *path; + loff_t pos; + size_t count; +}; + +struct file_region { + struct list_head link; + long int from; + long int to; + struct page_counter *reservation_counter; + struct cgroup_subsys_state *css; +}; + +struct file_security_struct { + u32 sid; + u32 fown_sid; + u32 isid; + u32 pseqno; +}; + +struct fs_context; + +struct fs_parameter_spec; + +struct file_system_type { + const char *name; + int fs_flags; + int (*init_fs_context)(struct fs_context *); + const struct fs_parameter_spec *parameters; + struct dentry * (*mount)(struct file_system_type *, int, const char *, void *); + void (*kill_sb)(struct super_block *); + struct module *owner; + struct file_system_type *next; + struct hlist_head fs_supers; + struct lock_class_key s_lock_key; + struct lock_class_key s_umount_key; + struct lock_class_key s_vfs_rename_key; + struct lock_class_key s_writers_key[3]; + struct lock_class_key i_lock_key; + struct lock_class_key i_mutex_key; + struct lock_class_key invalidate_lock_key; + struct lock_class_key i_mutex_dir_key; +}; + +struct filename { + const char *name; + const char *uptr; + atomic_t refcnt; + struct audit_names *aname; + const char iname[0]; +}; + +struct filename_trans_datum { + struct ebitmap stypes; + u32 otype; + struct filename_trans_datum *next; +}; + +struct filename_trans_key { + u32 ttype; + u16 tclass; + const char *name; +}; + +struct files_stat_struct { + long unsigned int nr_files; + long unsigned int nr_free_files; + long unsigned int max_files; +}; + +struct files_struct { + atomic_t count; + bool resize_in_progress; + wait_queue_head_t resize_wait; + struct fdtable *fdt; + struct fdtable fdtab; + long: 64; + long: 64; + long: 64; + long: 64; + spinlock_t file_lock; + unsigned int next_fd; + long unsigned int close_on_exec_init[1]; + long unsigned int open_fds_init[1]; + long unsigned int full_fds_bits_init[1]; + struct file *fd_array[64]; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct filter_head { + struct list_head list; + union { + struct callback_head rcu; + struct rcu_work rwork; + }; +}; + +struct filter_list { + struct list_head list; + struct event_filter *filter; +}; + +struct filter_match_data { + const char *filter; + const char *notfilter; + size_t index; + size_t size; + long unsigned int *addrs; + struct module **mods; +}; + +struct filter_parse_error { + int lasterr; + int lasterr_pos; +}; + +struct regex; + +struct ftrace_event_field; + +struct filter_pred { + struct regex *regex; + struct cpumask *mask; + short unsigned int *ops; + struct ftrace_event_field *field; + u64 val; + u64 val2; + enum filter_pred_fn fn_num; + int offset; + int not; + int op; +}; + +struct find_child_walk_data { + struct acpi_device *adev; + u64 address; + int score; + bool check_sta; + bool check_children; +}; + +struct find_interface_arg { + int minor; + struct device_driver *drv; +}; + +struct kernel_symbol; + +struct find_symbol_arg { + const char *name; + bool gplok; + bool warn; + struct module *owner; + const u32 *crc; + const struct kernel_symbol *sym; + enum mod_license license; +}; + +struct fintek_8250 { + u16 pid; + u16 base_port; + u8 index; + u8 key; +}; + +struct firmware { + size_t size; + const u8 *data; + void *priv; +}; + +struct firmware_cache { + spinlock_t lock; + struct list_head head; + int state; + spinlock_t name_lock; + struct list_head fw_names; + struct delayed_work work; + struct notifier_block pm_notify; +}; + +struct firmware_fallback_config { + unsigned int force_sysfs_fallback; + unsigned int ignore_sysfs_fallback; + int old_timeout; + int loading_timeout; +}; + +struct firmware_map_entry { + u64 start; + u64 end; + const char *type; + struct list_head list; + struct kobject kobj; +}; + +struct firmware_work { + struct work_struct work; + struct module *module; + const char *name; + struct device *device; + void *context; + void (*cont)(const struct firmware *, void *); + u32 opt_flags; +}; + +struct fixed_mdio_bus { + struct mii_bus *mii_bus; + struct list_head phys; +}; + +struct fixed_phy_status { + int link; + int speed; + int duplex; + int pause; + int asym_pause; +}; + +struct fixed_phy { + int addr; + struct phy_device *phydev; + struct fixed_phy_status status; + bool no_carrier; + int (*link_update)(struct net_device *, struct fixed_phy_status *); + struct list_head node; + struct gpio_desc *link_gpiod; +}; + +struct fixed_range_block { + int base_msr; + int ranges; +}; + +struct fixed_voltage_config { + const char *supply_name; + const char *input_supply; + int microvolts; + unsigned int startup_delay; + unsigned int off_on_delay; + unsigned int enabled_at_boot: 1; + struct regulator_init_data *init_data; +}; + +struct regulator_state { + int uV; + int min_uV; + int max_uV; + unsigned int mode; + int enabled; + bool changeable; +}; + +struct notification_limit { + int prot; + int err; + int warn; +}; + +struct regulation_constraints { + const char *name; + int min_uV; + int max_uV; + int uV_offset; + int min_uA; + int max_uA; + int ilim_uA; + int pw_budget_mW; + int system_load; + u32 *max_spread; + int max_uV_step; + unsigned int valid_modes_mask; + unsigned int valid_ops_mask; + int input_uV; + struct regulator_state state_disk; + struct regulator_state state_mem; + struct regulator_state state_standby; + struct notification_limit over_curr_limits; + struct notification_limit over_voltage_limits; + struct notification_limit under_voltage_limits; + struct notification_limit temp_limits; + suspend_state_t initial_state; + unsigned int initial_mode; + unsigned int ramp_delay; + unsigned int settling_time; + unsigned int settling_time_up; + unsigned int settling_time_down; + unsigned int enable_time; + unsigned int uv_less_critical_window_ms; + unsigned int active_discharge; + unsigned int always_on: 1; + unsigned int boot_on: 1; + unsigned int apply_uV: 1; + unsigned int ramp_disable: 1; + unsigned int soft_start: 1; + unsigned int pull_down: 1; + unsigned int system_critical: 1; + unsigned int over_current_protection: 1; + unsigned int over_current_detection: 1; + unsigned int over_voltage_detection: 1; + unsigned int under_voltage_detection: 1; + unsigned int over_temp_detection: 1; +}; + +struct regulator_consumer_supply; + +struct regulator_init_data { + const char *supply_regulator; + struct regulation_constraints constraints; + int num_consumer_supplies; + struct regulator_consumer_supply *consumer_supplies; + void *driver_data; +}; + +struct pdev_archdata {}; + +struct platform_device_id; + +struct platform_device { + const char *name; + int id; + bool id_auto; + struct device dev; + u64 platform_dma_mask; + struct device_dma_parameters dma_parms; + u32 num_resources; + struct resource *resource; + const struct platform_device_id *id_entry; + const char *driver_override; + struct mfd_cell *mfd_cell; + struct pdev_archdata archdata; +}; + +struct fixed_regulator_data { + struct fixed_voltage_config cfg; + struct regulator_init_data init_data; + struct platform_device pdev; +}; + +struct flag_settings { + unsigned int flags; + unsigned int mask; +}; + +struct flagsbuf { + char buf[8]; +}; + +struct flex_groups { + atomic64_t free_clusters; + atomic_t free_inodes; + atomic_t used_dirs; +}; + +struct flock { + short int l_type; + short int l_whence; + __kernel_off_t l_start; + __kernel_off_t l_len; + __kernel_pid_t l_pid; +}; + +struct flock64 { + short int l_type; + short int l_whence; + __kernel_loff_t l_start; + __kernel_loff_t l_len; + __kernel_pid_t l_pid; +}; + +typedef void (*action_destr)(void *); + +struct nf_flowtable; + +struct ip_tunnel_info; + +struct psample_group; + +struct flow_action_entry { + enum flow_action_id id; + u32 hw_index; + long unsigned int cookie; + u64 miss_cookie; + enum flow_action_hw_stats hw_stats; + action_destr destructor; + void *destructor_priv; + union { + u32 chain_index; + struct net_device *dev; + struct { + u16 vid; + __be16 proto; + u8 prio; + } vlan; + struct { + unsigned char dst[6]; + unsigned char src[6]; + } vlan_push_eth; + struct { + enum flow_action_mangle_base htype; + u32 offset; + u32 mask; + u32 val; + } mangle; + struct ip_tunnel_info *tunnel; + u32 csum_flags; + u32 mark; + u16 ptype; + u16 rx_queue; + u32 priority; + struct { + u32 ctx; + u32 index; + u8 vf; + } queue; + struct { + struct psample_group *psample_group; + u32 rate; + u32 trunc_size; + bool truncate; + } sample; + struct { + u32 burst; + u64 rate_bytes_ps; + u64 peakrate_bytes_ps; + u32 avrate; + u16 overhead; + u64 burst_pkt; + u64 rate_pkt_ps; + u32 mtu; + struct { + enum flow_action_id act_id; + u32 extval; + } exceed; + struct { + enum flow_action_id act_id; + u32 extval; + } notexceed; + } police; + struct { + int action; + u16 zone; + struct nf_flowtable *flow_table; + } ct; + struct { + long unsigned int cookie; + u32 mark; + u32 labels[4]; + bool orig_dir; + } ct_metadata; + struct { + u32 label; + __be16 proto; + u8 tc; + u8 bos; + u8 ttl; + } mpls_push; + struct { + __be16 proto; + } mpls_pop; + struct { + u32 label; + u8 tc; + u8 bos; + u8 ttl; + } mpls_mangle; + struct { + s32 prio; + u64 basetime; + u64 cycletime; + u64 cycletimeext; + u32 num_entries; + struct action_gate_entry *entries; + } gate; + struct { + u16 sid; + } pppoe; + }; + struct flow_action_cookie *user_cookie; +}; + +struct flow_action { + unsigned int num_entries; + struct flow_action_entry entries[0]; +}; + +struct flow_action_cookie { + u32 cookie_len; + u8 cookie[0]; +}; + +struct flow_block { + struct list_head cb_list; +}; + +typedef int flow_setup_cb_t(enum tc_setup_type, void *, void *); + +struct flow_block_cb; + +struct flow_block_indr { + struct list_head list; + struct net_device *dev; + struct Qdisc *sch; + enum flow_block_binder_type binder_type; + void *data; + void *cb_priv; + void (*cleanup)(struct flow_block_cb *); +}; + +struct flow_block_cb { + struct list_head driver_list; + struct list_head list; + flow_setup_cb_t *cb; + void *cb_ident; + void *cb_priv; + void (*release)(void *); + struct flow_block_indr indr; + unsigned int refcnt; +}; + +struct flow_block_offload { + enum flow_block_command command; + enum flow_block_binder_type binder_type; + bool block_shared; + bool unlocked_driver_cb; + struct net *net; + struct flow_block *block; + struct list_head cb_list; + struct list_head *driver_block_list; + struct netlink_ext_ack *extack; + struct Qdisc *sch; + struct list_head *cb_list_head; +}; + +struct flow_cls_common_offload { + u32 chain_index; + __be16 protocol; + u32 prio; + bool skip_sw; + struct netlink_ext_ack *extack; +}; + +struct flow_stats { + u64 pkts; + u64 bytes; + u64 drops; + u64 lastused; + enum flow_action_hw_stats used_hw_stats; + bool used_hw_stats_valid; +}; + +struct flow_cls_offload { + struct flow_cls_common_offload common; + enum flow_cls_command command; + bool use_act_stats; + long unsigned int cookie; + struct flow_rule *rule; + struct flow_stats stats; + u32 classid; +}; + +struct flow_dissector_key { + enum flow_dissector_key_id key_id; + size_t offset; +}; + +struct flow_dissector_key_tipc { + __be32 key; +}; + +struct flow_dissector_key_addrs { + union { + struct flow_dissector_key_ipv4_addrs v4addrs; + struct flow_dissector_key_ipv6_addrs v6addrs; + struct flow_dissector_key_tipc tipckey; + }; +}; + +struct flow_dissector_key_arp { + __u32 sip; + __u32 tip; + __u8 op; + unsigned char sha[6]; + unsigned char tha[6]; +}; + +struct flow_dissector_key_cfm { + u8 mdl_ver; + u8 opcode; +}; + +struct flow_dissector_key_control { + u16 thoff; + u16 addr_type; + u32 flags; +}; + +struct flow_dissector_key_ct { + u16 ct_state; + u16 ct_zone; + u32 ct_mark; + u32 ct_labels[4]; +}; + +struct flow_dissector_key_enc_opts { + u8 data[255]; + u8 len; + u32 dst_opt_type; +}; + +struct flow_dissector_key_hash { + u32 hash; +}; + +struct flow_dissector_key_icmp { + struct { + u8 type; + u8 code; + }; + u16 id; +}; + +struct flow_dissector_key_ipsec { + __be32 spi; +}; + +struct flow_dissector_key_keyid { + __be32 keyid; +}; + +struct flow_dissector_key_l2tpv3 { + __be32 session_id; +}; + +struct flow_dissector_key_meta { + int ingress_ifindex; + u16 ingress_iftype; + u8 l2_miss; +}; + +struct flow_dissector_mpls_lse { + u32 mpls_ttl: 8; + u32 mpls_bos: 1; + u32 mpls_tc: 3; + u32 mpls_label: 20; +}; + +struct flow_dissector_key_mpls { + struct flow_dissector_mpls_lse ls[7]; + u8 used_lses; +}; + +struct flow_dissector_key_num_of_vlans { + u8 num_of_vlans; +}; + +struct flow_dissector_key_ports_range { + union { + struct flow_dissector_key_ports tp; + struct { + struct flow_dissector_key_ports tp_min; + struct flow_dissector_key_ports tp_max; + }; + }; +}; + +struct flow_dissector_key_pppoe { + __be16 session_id; + __be16 ppp_proto; + __be16 type; +}; + +struct flow_dissector_key_tags { + u32 flow_label; +}; + +struct flow_dissector_key_tcp { + __be16 flags; +}; + +struct flow_indir_dev_info { + void *data; + struct net_device *dev; + struct Qdisc *sch; + enum tc_setup_type type; + void (*cleanup)(struct flow_block_cb *); + struct list_head list; + enum flow_block_command command; + enum flow_block_binder_type binder_type; + struct list_head *cb_list; +}; + +typedef int flow_indr_block_bind_cb_t(struct net_device *, struct Qdisc *, void *, enum tc_setup_type, void *, void *, void (*)(struct flow_block_cb *)); + +struct flow_indr_dev { + struct list_head list; + flow_indr_block_bind_cb_t *cb; + void *cb_priv; + refcount_t refcnt; +}; + +struct flow_keys { + struct flow_dissector_key_control control; + struct flow_dissector_key_basic basic; + struct flow_dissector_key_tags tags; + struct flow_dissector_key_vlan vlan; + struct flow_dissector_key_vlan cvlan; + struct flow_dissector_key_keyid keyid; + struct flow_dissector_key_ports ports; + struct flow_dissector_key_icmp icmp; + struct flow_dissector_key_addrs addrs; + long: 0; +}; + +struct flow_keys_basic { + struct flow_dissector_key_control control; + struct flow_dissector_key_basic basic; +}; + +struct flow_keys_digest { + u8 data[16]; +}; + +struct flow_match { + struct flow_dissector *dissector; + void *mask; + void *key; +}; + +struct flow_match_arp { + struct flow_dissector_key_arp *key; + struct flow_dissector_key_arp *mask; +}; + +struct flow_match_basic { + struct flow_dissector_key_basic *key; + struct flow_dissector_key_basic *mask; +}; + +struct flow_match_control { + struct flow_dissector_key_control *key; + struct flow_dissector_key_control *mask; +}; + +struct flow_match_ct { + struct flow_dissector_key_ct *key; + struct flow_dissector_key_ct *mask; +}; + +struct flow_match_enc_keyid { + struct flow_dissector_key_keyid *key; + struct flow_dissector_key_keyid *mask; +}; + +struct flow_match_enc_opts { + struct flow_dissector_key_enc_opts *key; + struct flow_dissector_key_enc_opts *mask; +}; + +struct flow_match_eth_addrs { + struct flow_dissector_key_eth_addrs *key; + struct flow_dissector_key_eth_addrs *mask; +}; + +struct flow_match_icmp { + struct flow_dissector_key_icmp *key; + struct flow_dissector_key_icmp *mask; +}; + +struct flow_match_ip { + struct flow_dissector_key_ip *key; + struct flow_dissector_key_ip *mask; +}; + +struct flow_match_ipsec { + struct flow_dissector_key_ipsec *key; + struct flow_dissector_key_ipsec *mask; +}; + +struct flow_match_ipv4_addrs { + struct flow_dissector_key_ipv4_addrs *key; + struct flow_dissector_key_ipv4_addrs *mask; +}; + +struct flow_match_ipv6_addrs { + struct flow_dissector_key_ipv6_addrs *key; + struct flow_dissector_key_ipv6_addrs *mask; +}; + +struct flow_match_l2tpv3 { + struct flow_dissector_key_l2tpv3 *key; + struct flow_dissector_key_l2tpv3 *mask; +}; + +struct flow_match_meta { + struct flow_dissector_key_meta *key; + struct flow_dissector_key_meta *mask; +}; + +struct flow_match_mpls { + struct flow_dissector_key_mpls *key; + struct flow_dissector_key_mpls *mask; +}; + +struct flow_match_ports { + struct flow_dissector_key_ports *key; + struct flow_dissector_key_ports *mask; +}; + +struct flow_match_ports_range { + struct flow_dissector_key_ports_range *key; + struct flow_dissector_key_ports_range *mask; +}; + +struct flow_match_pppoe { + struct flow_dissector_key_pppoe *key; + struct flow_dissector_key_pppoe *mask; +}; + +struct flow_match_tcp { + struct flow_dissector_key_tcp *key; + struct flow_dissector_key_tcp *mask; +}; + +struct flow_match_vlan { + struct flow_dissector_key_vlan *key; + struct flow_dissector_key_vlan *mask; +}; + +struct flow_offload_action { + struct netlink_ext_ack *extack; + enum offload_act_command command; + enum flow_action_id id; + u32 index; + long unsigned int cookie; + struct flow_stats stats; + struct flow_action action; +}; + +struct flow_rule { + struct flow_match match; + struct flow_action action; +}; + +struct flowi_tunnel { + __be64 tun_id; +}; + +struct flowi_common { + int flowic_oif; + int flowic_iif; + int flowic_l3mdev; + __u32 flowic_mark; + __u8 flowic_tos; + __u8 flowic_scope; + __u8 flowic_proto; + __u8 flowic_flags; + __u32 flowic_secid; + kuid_t flowic_uid; + __u32 flowic_multipath_hash; + struct flowi_tunnel flowic_tun_key; +}; + +union flowi_uli { + struct { + __be16 dport; + __be16 sport; + } ports; + struct { + __u8 type; + __u8 code; + } icmpt; + __be32 gre_key; + struct { + __u8 type; + } mht; +}; + +struct flowi4 { + struct flowi_common __fl_common; + __be32 saddr; + __be32 daddr; + union flowi_uli uli; +}; + +struct flowi6 { + struct flowi_common __fl_common; + struct in6_addr daddr; + struct in6_addr saddr; + __be32 flowlabel; + union flowi_uli uli; + __u32 mp_hash; +}; + +struct flowi { + union { + struct flowi_common __fl_common; + struct flowi4 ip4; + struct flowi6 ip6; + } u; +}; + +struct flush_backlogs { + cpumask_t flush_cpus; + struct work_struct w[0]; +}; + +struct flush_busy_ctx_data { + struct blk_mq_hw_ctx *hctx; + struct list_head *list; +}; + +struct flush_tlb_info { + struct mm_struct *mm; + long unsigned int start; + long unsigned int end; + u64 new_tlb_gen; + unsigned int initiating_cpu; + u8 stride_shift; + u8 freed_tables; + u8 trim_cpumask; +}; + +struct fmt { + const char *str; + unsigned char state; + unsigned char size; +}; + +struct fname { + __u32 hash; + __u32 minor_hash; + struct rb_node rb_hash; + struct fname *next; + __u32 inode; + __u8 name_len; + __u8 file_type; + char name[0]; +}; + +struct fnhe_hash_bucket { + struct fib_nh_exception *chain; +}; + +struct page_pool; + +struct page { + long unsigned int flags; + union { + struct { + union { + struct list_head lru; + struct { + void *__filler; + unsigned int mlock_count; + }; + struct list_head buddy_list; + struct list_head pcp_list; + struct { + struct llist_node pcp_llist; + unsigned int order; + }; + }; + struct address_space *mapping; + union { + long unsigned int __folio_index; + long unsigned int share; + }; + long unsigned int private; + }; + struct { + long unsigned int pp_magic; + struct page_pool *pp; + long unsigned int _pp_mapping_pad; + long unsigned int dma_addr; + atomic_long_t pp_ref_count; + }; + struct { + long unsigned int compound_head; + }; + struct { + void *_unused_pgmap_compound_head; + void *zone_device_data; + }; + struct callback_head callback_head; + }; + union { + unsigned int page_type; + atomic_t _mapcount; + }; + atomic_t _refcount; + long unsigned int memcg_data; +}; + +struct folio { + union { + struct { + long unsigned int flags; + union { + struct list_head lru; + struct { + void *__filler; + unsigned int mlock_count; + }; + struct dev_pagemap *pgmap; + }; + struct address_space *mapping; + union { + long unsigned int index; + long unsigned int share; + }; + union { + void *private; + swp_entry_t swap; + }; + atomic_t _mapcount; + atomic_t _refcount; + long unsigned int memcg_data; + }; + struct page page; + }; + union { + struct { + long unsigned int _flags_1; + long unsigned int _head_1; + union { + struct { + atomic_t _large_mapcount; + atomic_t _nr_pages_mapped; + atomic_t _entire_mapcount; + atomic_t _pincount; + mm_id_mapcount_t _mm_id_mapcount[2]; + union { + mm_id_t _mm_id[2]; + long unsigned int _mm_ids; + }; + }; + long unsigned int _usable_1[4]; + }; + atomic_t _mapcount_1; + atomic_t _refcount_1; + unsigned int _nr_pages; + }; + struct page __page_1; + }; + union { + struct { + long unsigned int _flags_2; + long unsigned int _head_2; + struct list_head _deferred_list; + }; + struct page __page_2; + }; + union { + struct { + long unsigned int _flags_3; + long unsigned int _head_3; + void *_hugetlb_subpool; + void *_hugetlb_cgroup; + void *_hugetlb_cgroup_rsvd; + void *_hugetlb_hwpoison; + }; + struct page __page_3; + }; +}; + +struct folio_iter { + struct folio *folio; + size_t offset; + size_t length; + struct folio *_next; + size_t _seg_count; + int _i; +}; + +struct folio_or_pfn { + union { + struct folio *folio; + long unsigned int pfn; + }; + bool is_folio; +}; + +struct folio_queue { + struct folio_batch vec; + u8 orders[31]; + struct folio_queue *next; + struct folio_queue *prev; + long unsigned int marks; + long unsigned int marks2; + unsigned int rreq_id; + unsigned int debug_id; +}; + +struct folio_referenced_arg { + int mapcount; + int referenced; + vm_flags_t vm_flags; + struct mem_cgroup *memcg; +}; + +struct folio_walk { + struct page *page; + enum folio_walk_level level; + union { + pte_t *ptep; + pud_t *pudp; + pmd_t *pmdp; + }; + union { + pte_t pte; + pud_t pud; + pmd_t pmd; + }; + struct vm_area_struct *vma; + spinlock_t *ptl; +}; + +struct follow_page_context { + struct dev_pagemap *pgmap; + unsigned int page_mask; +}; + +struct follow_pfnmap_args { + struct vm_area_struct *vma; + long unsigned int address; + spinlock_t *lock; + pte_t *ptep; + long unsigned int pfn; + long unsigned int addr_mask; + pgprot_t pgprot; + bool writable; + bool special; +}; + +struct font_data { + unsigned int extra[4]; + const unsigned char data[0]; +}; + +struct font_desc { + int idx; + const char *name; + unsigned int width; + unsigned int height; + unsigned int charcount; + const void *data; + int pref; +}; + +struct memory_block; + +typedef int (*walk_memory_blocks_func_t)(struct memory_block *, void *); + +struct for_each_memory_block_cb_data { + walk_memory_blocks_func_t func; + void *arg; +}; + +struct inactive_task_frame { + long unsigned int r15; + long unsigned int r14; + long unsigned int r13; + long unsigned int r12; + long unsigned int bx; + long unsigned int bp; + long unsigned int ret_addr; +}; + +struct fork_frame { + struct inactive_task_frame frame; + struct pt_regs regs; +}; + +struct fork_proc_event { + __kernel_pid_t parent_pid; + __kernel_pid_t parent_tgid; + __kernel_pid_t child_pid; + __kernel_pid_t child_tgid; +}; + +struct format_state___2 { + unsigned char state; + unsigned char size; + unsigned char flags_or_double_size; + unsigned char base; +}; + +struct fown_struct { + struct file *file; + rwlock_t lock; + struct pid *pid; + enum pid_type pid_type; + kuid_t uid; + kuid_t euid; + int signum; +}; + +struct fpdt_subtable_entry { + u16 type; + u8 length; + u8 revision; + u32 reserved; + u64 address; +}; + +struct fpdt_subtable_header { + u32 signature; + u32 length; +}; + +struct fregs_state { + u32 cwd; + u32 swd; + u32 twd; + u32 fip; + u32 fcs; + u32 foo; + u32 fos; + u32 st_space[20]; + u32 status; +}; + +struct fxregs_state { + u16 cwd; + u16 swd; + u16 twd; + u16 fop; + union { + struct { + u64 rip; + u64 rdp; + }; + struct { + u32 fip; + u32 fcs; + u32 foo; + u32 fos; + }; + }; + u32 mxcsr; + u32 mxcsr_mask; + u32 st_space[32]; + u32 xmm_space[64]; + u32 padding[12]; + union { + u32 padding1[12]; + u32 sw_reserved[12]; + }; +}; + +struct math_emu_info; + +struct swregs_state { + u32 cwd; + u32 swd; + u32 twd; + u32 fip; + u32 fcs; + u32 foo; + u32 fos; + u32 st_space[20]; + u8 ftop; + u8 changed; + u8 lookahead; + u8 no_update; + u8 rm; + u8 alimit; + struct math_emu_info *info; + u32 entry_eip; +}; + +struct xstate_header { + u64 xfeatures; + u64 xcomp_bv; + u64 reserved[6]; +}; + +struct xregs_state { + struct fxregs_state i387; + struct xstate_header header; + u8 extended_state_area[0]; +}; + +union fpregs_state { + struct fregs_state fsave; + struct fxregs_state fxsave; + struct swregs_state soft; + struct xregs_state xsave; + u8 __padding[4096]; +}; + +struct fprobe_addr_list { + int index; + int size; + long unsigned int *addrs; +}; + +struct fprobe_hlist_node { + struct hlist_node hlist; + long unsigned int addr; + struct fprobe *fp; +}; + +struct fprobe_hlist { + struct hlist_node hlist; + struct callback_head rcu; + struct fprobe *fp; + int size; + struct fprobe_hlist_node array[0]; +}; + +struct fprop_global { + struct percpu_counter events; + unsigned int period; + seqcount_t sequence; +}; + +struct fpstate { + unsigned int size; + unsigned int user_size; + u64 xfeatures; + u64 user_xfeatures; + u64 xfd; + unsigned int is_valloc: 1; + unsigned int is_guest: 1; + unsigned int is_confidential: 1; + unsigned int in_use: 1; + long: 64; + long: 64; + long: 64; + union fpregs_state regs; +}; + +struct fpu_state_perm { + u64 __state_perm; + unsigned int __state_size; + unsigned int __user_state_size; +}; + +struct fpu { + unsigned int last_cpu; + long unsigned int avx512_timestamp; + struct fpstate *fpstate; + struct fpstate *__task_fpstate; + struct fpu_state_perm perm; + struct fpu_state_perm guest_perm; + struct fpstate __fpstate; +}; + +struct fpu_guest { + u64 xfeatures; + u64 xfd_err; + unsigned int uabi_size; + struct fpstate *fpstate; +}; + +struct fpu_state_config { + unsigned int max_size; + unsigned int default_size; + u64 max_features; + u64 default_features; + u64 legacy_features; + u64 independent_features; +}; + +typedef u32 (*rht_hashfn_t)(const void *, u32, u32); + +typedef u32 (*rht_obj_hashfn_t)(const void *, u32, u32); + +struct rhashtable_compare_arg; + +typedef int (*rht_obj_cmpfn_t)(struct rhashtable_compare_arg *, const void *); + +struct rhashtable_params { + u16 nelem_hint; + u16 key_len; + u16 key_offset; + u16 head_offset; + unsigned int max_size; + u16 min_size; + bool automatic_shrinking; + rht_hashfn_t hashfn; + rht_obj_hashfn_t obj_hashfn; + rht_obj_cmpfn_t obj_cmpfn; +}; + +struct rhashtable { + struct bucket_table *tbl; + unsigned int key_len; + unsigned int max_elems; + struct rhashtable_params p; + bool rhlist; + struct work_struct run_work; + struct mutex mutex; + spinlock_t lock; + atomic_t nelems; +}; + +struct inet_frags; + +struct fqdir { + long int high_thresh; + long int low_thresh; + int timeout; + int max_dist; + struct inet_frags *f; + struct net *net; + bool dead; + long: 64; + long: 64; + struct rhashtable rhashtable; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + atomic_long_t mem; + struct work_struct destroy_work; + struct llist_node free_list; + long: 64; + long: 64; +}; + +struct frag { + struct list_head list; + u32 group; + u8 num; + u8 rec; + u8 map; + u8 data[0]; +}; + +struct frag_hdr { + __u8 nexthdr; + __u8 reserved; + __be16 frag_off; + __be32 identification; +}; + +struct frag_v4_compare_key { + __be32 saddr; + __be32 daddr; + u32 user; + u32 vif; + __be16 id; + u16 protocol; +}; + +struct frag_v6_compare_key { + struct in6_addr saddr; + struct in6_addr daddr; + u32 user; + __be32 id; + u32 iif; +}; + +struct inet_frag_queue { + struct rhash_head node; + union { + struct frag_v4_compare_key v4; + struct frag_v6_compare_key v6; + } key; + struct timer_list timer; + spinlock_t lock; + refcount_t refcnt; + struct rb_root rb_fragments; + struct sk_buff *fragments_tail; + struct sk_buff *last_run_head; + ktime_t stamp; + int len; + int meat; + u8 tstamp_type; + __u8 flags; + u16 max_size; + struct fqdir *fqdir; + struct callback_head rcu; +}; + +struct frag_queue { + struct inet_frag_queue q; + int iif; + __u16 nhoffset; + u8 ecn; +}; + +struct freader { + void *buf; + u32 buf_sz; + int err; + union { + struct { + struct file *file; + struct folio *folio; + void *addr; + loff_t folio_off; + bool may_fault; + }; + struct { + const char *data; + u64 data_sz; + }; + }; +}; + +struct fred_info { + long unsigned int edata; + long unsigned int resv; +}; + +struct fred_frame { + struct pt_regs regs; + struct fred_info info; +}; + +struct free_area { + struct list_head free_list[6]; + long unsigned int nr_free; +}; + +struct freerunning_counters { + unsigned int counter_base; + unsigned int counter_offset; + unsigned int box_offset; + unsigned int num_counters; + unsigned int bits; + unsigned int *box_offsets; +}; + +struct freezer { + struct cgroup_subsys_state css; + unsigned int state; +}; + +struct freq_attr { + struct attribute attr; + ssize_t (*show)(struct cpufreq_policy *, char *); + ssize_t (*store)(struct cpufreq_policy *, const char *, size_t); +}; + +struct muldiv { + u32 multiplier; + u32 divider; +}; + +struct freq_desc { + bool use_msr_plat; + struct muldiv muldiv[16]; + u32 freqs[16]; + u32 mask; +}; + +struct p_log { + const char *prefix; + struct fc_log *log; +}; + +struct fs_context_operations; + +struct fs_context { + const struct fs_context_operations *ops; + struct mutex uapi_mutex; + struct file_system_type *fs_type; + void *fs_private; + void *sget_key; + struct dentry *root; + struct user_namespace *user_ns; + struct net *net_ns; + const struct cred *cred; + struct p_log log; + const char *source; + void *security; + void *s_fs_info; + unsigned int sb_flags; + unsigned int sb_flags_mask; + unsigned int s_iflags; + enum fs_context_purpose purpose: 8; + enum fs_context_phase phase: 8; + bool need_free: 1; + bool global: 1; + bool oldapi: 1; + bool exclusive: 1; +}; + +struct fs_parameter; + +struct fs_context_operations { + void (*free)(struct fs_context *); + int (*dup)(struct fs_context *, struct fs_context *); + int (*parse_param)(struct fs_context *, struct fs_parameter *); + int (*parse_monolithic)(struct fs_context *, void *); + int (*get_tree)(struct fs_context *); + int (*reconfigure)(struct fs_context *); +}; + +struct fs_disk_quota { + __s8 d_version; + __s8 d_flags; + __u16 d_fieldmask; + __u32 d_id; + __u64 d_blk_hardlimit; + __u64 d_blk_softlimit; + __u64 d_ino_hardlimit; + __u64 d_ino_softlimit; + __u64 d_bcount; + __u64 d_icount; + __s32 d_itimer; + __s32 d_btimer; + __u16 d_iwarns; + __u16 d_bwarns; + __s8 d_itimer_hi; + __s8 d_btimer_hi; + __s8 d_rtbtimer_hi; + __s8 d_padding2; + __u64 d_rtb_hardlimit; + __u64 d_rtb_softlimit; + __u64 d_rtbcount; + __s32 d_rtbtimer; + __u16 d_rtbwarns; + __s16 d_padding3; + char d_padding4[8]; +}; + +struct fs_error_report { + int error; + struct inode *inode; + struct super_block *sb; +}; + +struct fs_parameter { + const char *key; + enum fs_value_type type: 8; + union { + char *string; + void *blob; + struct filename *name; + struct file *file; + }; + size_t size; + int dirfd; +}; + +struct fs_parse_result; + +typedef int fs_param_type(struct p_log *, const struct fs_parameter_spec *, struct fs_parameter *, struct fs_parse_result *); + +struct fs_parameter_spec { + const char *name; + fs_param_type *type; + u8 opt; + short unsigned int flags; + const void *data; +}; + +struct fs_parse_result { + bool negated; + union { + bool boolean; + int int_32; + unsigned int uint_32; + u64 uint_64; + kuid_t uid; + kgid_t gid; + }; +}; + +struct fs_qfilestat { + __u64 qfs_ino; + __u64 qfs_nblks; + __u32 qfs_nextents; +}; + +typedef struct fs_qfilestat fs_qfilestat_t; + +struct fs_qfilestatv { + __u64 qfs_ino; + __u64 qfs_nblks; + __u32 qfs_nextents; + __u32 qfs_pad; +}; + +struct fs_quota_stat { + __s8 qs_version; + __u16 qs_flags; + __s8 qs_pad; + fs_qfilestat_t qs_uquota; + fs_qfilestat_t qs_gquota; + __u32 qs_incoredqs; + __s32 qs_btimelimit; + __s32 qs_itimelimit; + __s32 qs_rtbtimelimit; + __u16 qs_bwarnlimit; + __u16 qs_iwarnlimit; +}; + +struct fs_quota_statv { + __s8 qs_version; + __u8 qs_pad1; + __u16 qs_flags; + __u32 qs_incoredqs; + struct fs_qfilestatv qs_uquota; + struct fs_qfilestatv qs_gquota; + struct fs_qfilestatv qs_pquota; + __s32 qs_btimelimit; + __s32 qs_itimelimit; + __s32 qs_rtbtimelimit; + __u16 qs_bwarnlimit; + __u16 qs_iwarnlimit; + __u16 qs_rtbwarnlimit; + __u16 qs_pad3; + __u32 qs_pad4; + __u64 qs_pad2[7]; +}; + +struct fs_struct { + int users; + seqlock_t seq; + int umask; + int in_exec; + struct path root; + struct path pwd; +}; + +struct fs_sysfs_path { + __u8 len; + __u8 name[128]; +}; + +struct fscrypt_key_specifier { + __u32 type; + __u32 __reserved; + union { + __u8 __reserved[32]; + __u8 descriptor[8]; + __u8 identifier[16]; + } u; +}; + +struct fscrypt_add_key_arg { + struct fscrypt_key_specifier key_spec; + __u32 raw_size; + __u32 key_id; + __u32 flags; + __u32 __reserved[7]; + __u8 raw[0]; +}; + +struct fscrypt_context_v1 { + u8 version; + u8 contents_encryption_mode; + u8 filenames_encryption_mode; + u8 flags; + u8 master_key_descriptor[8]; + u8 nonce[16]; +}; + +struct fscrypt_context_v2 { + u8 version; + u8 contents_encryption_mode; + u8 filenames_encryption_mode; + u8 flags; + u8 log2_data_unit_size; + u8 __reserved[3]; + u8 master_key_identifier[16]; + u8 nonce[16]; +}; + +union fscrypt_context { + u8 version; + struct fscrypt_context_v1 v1; + struct fscrypt_context_v2 v2; +}; + +struct fscrypt_prepared_key { + struct crypto_sync_skcipher *tfm; + struct blk_crypto_key *blk_key; +}; + +struct fscrypt_mode; + +struct fscrypt_direct_key { + struct super_block *dk_sb; + struct hlist_node dk_node; + refcount_t dk_refcount; + const struct fscrypt_mode *dk_mode; + struct fscrypt_prepared_key dk_key; + u8 dk_descriptor[8]; + u8 dk_raw[64]; +}; + +struct fscrypt_get_key_status_arg { + struct fscrypt_key_specifier key_spec; + __u32 __reserved[6]; + __u32 status; + __u32 status_flags; + __u32 user_count; + __u32 __out_reserved[13]; +}; + +struct fscrypt_policy_v1 { + __u8 version; + __u8 contents_encryption_mode; + __u8 filenames_encryption_mode; + __u8 flags; + __u8 master_key_descriptor[8]; +}; + +struct fscrypt_policy_v2 { + __u8 version; + __u8 contents_encryption_mode; + __u8 filenames_encryption_mode; + __u8 flags; + __u8 log2_data_unit_size; + __u8 __reserved[3]; + __u8 master_key_identifier[16]; +}; + +struct fscrypt_get_policy_ex_arg { + __u64 policy_size; + union { + __u8 version; + struct fscrypt_policy_v1 v1; + struct fscrypt_policy_v2 v2; + } policy; +}; + +struct fscrypt_hkdf { + struct crypto_shash *hmac_tfm; +}; + +union fscrypt_policy { + u8 version; + struct fscrypt_policy_v1 v1; + struct fscrypt_policy_v2 v2; +}; + +struct fscrypt_master_key; + +struct fscrypt_inode_info { + struct fscrypt_prepared_key ci_enc_key; + u8 ci_owns_key: 1; + u8 ci_inlinecrypt: 1; + u8 ci_dirhash_key_initialized: 1; + u8 ci_data_unit_bits; + u8 ci_data_units_per_block_bits; + u32 ci_hashed_ino; + struct fscrypt_mode *ci_mode; + struct inode *ci_inode; + struct fscrypt_master_key *ci_master_key; + struct list_head ci_master_key_link; + struct fscrypt_direct_key *ci_direct_key; + siphash_key_t ci_dirhash_key; + union fscrypt_policy ci_policy; + u8 ci_nonce[16]; +}; + +union fscrypt_iv { + struct { + __le64 index; + u8 nonce[16]; + }; + u8 raw[32]; + __le64 dun[4]; +}; + +struct fscrypt_key { + __u32 mode; + __u8 raw[64]; + __u32 size; +}; + +struct fscrypt_keyring { + spinlock_t lock; + struct hlist_head key_hashtable[128]; +}; + +struct fscrypt_master_key_secret { + struct fscrypt_hkdf hkdf; + bool is_hw_wrapped; + u32 size; + u8 bytes[128]; +}; + +struct fscrypt_master_key { + struct hlist_node mk_node; + struct rw_semaphore mk_sem; + refcount_t mk_active_refs; + refcount_t mk_struct_refs; + struct callback_head mk_rcu_head; + struct fscrypt_master_key_secret mk_secret; + struct fscrypt_key_specifier mk_spec; + struct key *mk_users; + struct list_head mk_decrypted_inodes; + spinlock_t mk_decrypted_inodes_lock; + struct fscrypt_prepared_key mk_direct_keys[11]; + struct fscrypt_prepared_key mk_iv_ino_lblk_64_keys[11]; + struct fscrypt_prepared_key mk_iv_ino_lblk_32_keys[11]; + siphash_key_t mk_ino_hash_key; + bool mk_ino_hash_key_initialized; + bool mk_present; +}; + +struct fscrypt_mode { + const char *friendly_name; + const char *cipher_str; + int keysize; + int security_strength; + int ivsize; + int logged_cryptoapi_impl; + int logged_blk_crypto_native; + int logged_blk_crypto_fallback; + enum blk_crypto_mode_num blk_crypto_mode; +}; + +struct fscrypt_name { + const struct qstr *usr_fname; + struct fscrypt_str disk_name; + u32 hash; + u32 minor_hash; + struct fscrypt_str crypto_buf; + bool is_nokey_name; +}; + +struct fscrypt_nokey_name { + u32 dirhash[2]; + u8 bytes[149]; + u8 sha256[32]; +}; + +struct fscrypt_operations { + unsigned int needs_bounce_pages: 1; + unsigned int has_32bit_inodes: 1; + unsigned int supports_subblock_data_units: 1; + const char *legacy_key_prefix; + int (*get_context)(struct inode *, void *, size_t); + int (*set_context)(struct inode *, const void *, size_t, void *); + const union fscrypt_policy * (*get_dummy_policy)(struct super_block *); + bool (*empty_dir)(struct inode *); + bool (*has_stable_inodes)(struct super_block *); + struct block_device ** (*get_devices)(struct super_block *, unsigned int *); +}; + +struct fscrypt_provisioning_key_payload { + __u32 type; + __u32 flags; + __u8 raw[0]; +}; + +struct fscrypt_remove_key_arg { + struct fscrypt_key_specifier key_spec; + __u32 removal_status_flags; + __u32 __reserved[5]; +}; + +struct fscrypt_symlink_data { + __le16 len; + char encrypted_path[0]; +}; + +struct fsl_mc_obj_desc { + char type[16]; + int id; + u16 vendor; + u16 ver_major; + u16 ver_minor; + u8 irq_count; + u8 region_count; + u32 state; + char label[16]; + u16 flags; +}; + +struct fsl_mc_io; + +struct fsl_mc_device_irq; + +struct fsl_mc_resource; + +struct fsl_mc_device { + struct device dev; + u64 dma_mask; + u16 flags; + u32 icid; + u16 mc_handle; + struct fsl_mc_io *mc_io; + struct fsl_mc_obj_desc obj_desc; + struct resource *regions; + struct fsl_mc_device_irq **irqs; + struct fsl_mc_resource *resource; + struct device_link *consumer_link; + const char *driver_override; +}; + +struct fsl_mc_resource_pool; + +struct fsl_mc_resource { + enum fsl_mc_pool_type type; + s32 id; + void *data; + struct fsl_mc_resource_pool *parent_pool; + struct list_head node; +}; + +struct fsl_mc_device_irq { + unsigned int virq; + struct fsl_mc_device *mc_dev; + u8 dev_irq_index; + struct fsl_mc_resource resource; +}; + +struct fsl_mc_io { + struct device *dev; + u16 flags; + u32 portal_size; + phys_addr_t portal_phys_addr; + void *portal_virt_addr; + struct fsl_mc_device *dpmcp_dev; + union { + struct mutex mutex; + raw_spinlock_t spinlock; + }; +}; + +struct fsmap { + __u32 fmr_device; + __u32 fmr_flags; + __u64 fmr_physical; + __u64 fmr_owner; + __u64 fmr_offset; + __u64 fmr_length; + __u64 fmr_reserved[3]; +}; + +struct fsmap_head { + __u32 fmh_iflags; + __u32 fmh_oflags; + __u32 fmh_count; + __u32 fmh_entries; + __u64 fmh_reserved[6]; + struct fsmap fmh_keys[2]; + struct fsmap fmh_recs[0]; +}; + +struct inotify_group_private_data { + spinlock_t idr_lock; + struct idr idr; + struct ucounts *ucounts; +}; + +struct fsnotify_ops; + +struct fsnotify_group { + const struct fsnotify_ops *ops; + refcount_t refcnt; + spinlock_t notification_lock; + struct list_head notification_list; + wait_queue_head_t notification_waitq; + unsigned int q_len; + unsigned int max_events; + enum fsnotify_group_prio priority; + bool shutdown; + int flags; + unsigned int owner_flags; + struct mutex mark_mutex; + atomic_t user_waits; + struct list_head marks_list; + struct fasync_struct *fsn_fa; + struct fsnotify_event *overflow_event; + struct mem_cgroup *memcg; + struct user_namespace *user_ns; + union { + void *private; + struct inotify_group_private_data inotify_data; + struct fanotify_group_private_data fanotify_data; + }; +}; + +struct fsnotify_iter_info { + struct fsnotify_mark *marks[6]; + struct fsnotify_group *current_group; + unsigned int report_mask; + int srcu_idx; +}; + +typedef struct fsnotify_mark_connector *fsnotify_connp_t; + +struct fsnotify_mark_connector { + spinlock_t lock; + unsigned char type; + unsigned char prio; + short unsigned int flags; + union { + void *obj; + struct fsnotify_mark_connector *destroy_next; + }; + struct hlist_head list; +}; + +struct mnt_namespace; + +struct fsnotify_mnt { + const struct mnt_namespace *ns; + u64 mnt_id; +}; + +struct fsnotify_ops { + int (*handle_event)(struct fsnotify_group *, u32, const void *, int, struct inode *, const struct qstr *, u32, struct fsnotify_iter_info *); + int (*handle_inode_event)(struct fsnotify_mark *, u32, struct inode *, struct inode *, const struct qstr *, u32); + void (*free_group_priv)(struct fsnotify_group *); + void (*freeing_mark)(struct fsnotify_mark *, struct fsnotify_group *); + void (*free_event)(struct fsnotify_group *, struct fsnotify_event *); + void (*free_mark)(struct fsnotify_mark *); +}; + +struct fsnotify_sb_info { + struct fsnotify_mark_connector *sb_marks; + atomic_long_t watched_objects[3]; +}; + +struct fstrim_range { + __u64 start; + __u64 len; + __u64 minlen; +}; + +struct fsuuid { + __u32 fsu_len; + __u32 fsu_flags; + __u8 fsu_uuid[0]; +}; + +struct fsuuid2 { + __u8 len; + __u8 uuid[16]; +}; + +struct fsverity_descriptor { + __u8 version; + __u8 hash_algorithm; + __u8 log_blocksize; + __u8 salt_size; + __le32 sig_size; + __le64 data_size; + __u8 root_hash[64]; + __u8 salt[32]; + __u8 __reserved[144]; + __u8 signature[0]; +}; + +struct fsverity_digest { + __u16 digest_algorithm; + __u16 digest_size; + __u8 digest[0]; +}; + +struct fsverity_enable_arg { + __u32 version; + __u32 hash_algorithm; + __u32 block_size; + __u32 salt_size; + __u64 salt_ptr; + __u32 sig_size; + __u32 __reserved1; + __u64 sig_ptr; + __u64 __reserved2[11]; +}; + +struct fsverity_formatted_digest { + char magic[8]; + __le16 digest_algorithm; + __le16 digest_size; + __u8 digest[0]; +}; + +struct fsverity_hash_alg { + const char *name; + unsigned int digest_size; + unsigned int block_size; + enum hash_algo algo_id; +}; + +struct sha256_ctx { + struct __sha256_ctx ctx; +}; + +struct sha512_ctx { + struct __sha512_ctx ctx; +}; + +union fsverity_hash_ctx { + struct sha256_ctx sha256; + struct sha512_ctx sha512; +}; + +struct merkle_tree_params { + const struct fsverity_hash_alg *hash_alg; + const union fsverity_hash_ctx *hashstate; + unsigned int digest_size; + unsigned int block_size; + unsigned int hashes_per_block; + unsigned int blocks_per_page; + u8 log_digestsize; + u8 log_blocksize; + u8 log_arity; + u8 log_blocks_per_page; + unsigned int num_levels; + u64 tree_size; + long unsigned int tree_pages; + long unsigned int level_start[8]; +}; + +struct fsverity_info { + struct merkle_tree_params tree_params; + u8 root_hash[64]; + u8 file_digest[64]; + const struct inode *inode; + long unsigned int *hash_block_verified; +}; + +struct fsverity_operations { + int (*begin_enable_verity)(struct file *); + int (*end_enable_verity)(struct file *, const void *, size_t, u64); + int (*get_verity_descriptor)(struct inode *, void *, size_t); + struct page * (*read_merkle_tree_page)(struct inode *, long unsigned int, long unsigned int); + int (*write_merkle_tree_block)(struct inode *, const void *, u64, unsigned int); +}; + +struct fsverity_read_metadata_arg { + __u64 metadata_type; + __u64 offset; + __u64 length; + __u64 buf_ptr; + __u64 __reserved; +}; + +struct fsxattr { + __u32 fsx_xflags; + __u32 fsx_extsize; + __u32 fsx_nextents; + __u32 fsx_projid; + __u32 fsx_cowextsize; + unsigned char fsx_pad[8]; +}; + +struct trace_seq { + char buffer[8156]; + struct seq_buf seq; + size_t readpos; + int full; +}; + +struct tracer; + +struct ring_buffer_iter; + +struct trace_iterator { + struct trace_array *tr; + struct tracer *trace; + struct array_buffer *array_buffer; + void *private; + int cpu_file; + struct mutex mutex; + struct ring_buffer_iter **buffer_iter; + long unsigned int iter_flags; + void *temp; + unsigned int temp_size; + char *fmt; + unsigned int fmt_size; + atomic_t wait_index; + struct trace_seq tmp_seq; + cpumask_var_t started; + bool closed; + bool snapshot; + struct trace_seq seq; + struct trace_entry *ent; + long unsigned int lost_events; + int leftover; + int ent_size; + int cpu; + u64 ts; + loff_t pos; + long int idx; +}; + +struct ftrace_buffer_info { + struct trace_iterator iter; + void *spare; + unsigned int spare_cpu; + unsigned int spare_size; + unsigned int read; +}; + +struct ftrace_entry { + struct trace_entry ent; + long unsigned int ip; + long unsigned int parent_ip; + long unsigned int args[0]; +}; + +struct ftrace_event_field { + struct list_head link; + const char *name; + const char *type; + int filter_type; + int offset; + int size; + unsigned int is_signed: 1; + unsigned int needs_test: 1; + int len; +}; + +struct ftrace_func_command { + struct list_head list; + char *name; + int (*func)(struct trace_array *, struct ftrace_hash *, char *, char *, char *, int); +}; + +struct ftrace_func_entry { + struct hlist_node hlist; + long unsigned int ip; + long unsigned int direct; +}; + +struct ftrace_func_map { + struct ftrace_func_entry entry; + void *data; +}; + +struct ftrace_hash { + long unsigned int size_bits; + struct hlist_head *buckets; + long unsigned int count; + long unsigned int flags; + struct callback_head rcu; +}; + +struct ftrace_func_mapper { + struct ftrace_hash hash; +}; + +struct ftrace_probe_ops; + +struct ftrace_func_probe { + struct ftrace_probe_ops *probe_ops; + struct ftrace_ops ops; + struct trace_array *tr; + struct list_head list; + void *data; + int ref; +}; + +struct ftrace_glob { + char *search; + unsigned int len; + int type; +}; + +struct trace_parser { + bool cont; + bool fail; + char *buffer; + unsigned int idx; + unsigned int size; +}; + +struct ftrace_graph_data { + struct ftrace_hash *hash; + struct ftrace_func_entry *entry; + int idx; + enum graph_filter_type type; + struct ftrace_hash *new_hash; + const struct seq_operations *seq_ops; + struct trace_parser parser; +}; + +struct ftrace_init_func { + struct list_head list; + long unsigned int ip; +}; + +struct ftrace_page; + +struct ftrace_iterator { + loff_t pos; + loff_t func_pos; + loff_t mod_pos; + struct ftrace_page *pg; + struct dyn_ftrace *func; + struct ftrace_func_probe *probe; + struct ftrace_func_entry *probe_entry; + struct trace_parser parser; + struct ftrace_hash *hash; + struct ftrace_ops *ops; + struct trace_array *tr; + struct list_head *mod_list; + int pidx; + int idx; + unsigned int flags; +}; + +struct ftrace_mod_func { + struct list_head list; + char *name; + long unsigned int ip; + unsigned int size; +}; + +struct ftrace_mod_load { + struct list_head list; + char *func; + char *module; + int enable; +}; + +struct ftrace_mod_map { + struct callback_head rcu; + struct list_head list; + struct module *mod; + long unsigned int start_addr; + long unsigned int end_addr; + struct list_head funcs; + unsigned int num_funcs; +}; + +union ftrace_op_code_union { + char code[7]; + struct { + char op[3]; + int offset; + } __attribute__((packed)); +}; + +struct ftrace_page { + struct ftrace_page *next; + struct dyn_ftrace *records; + int index; + int order; +}; + +struct ftrace_probe_ops { + void (*func)(long unsigned int, long unsigned int, struct trace_array *, struct ftrace_probe_ops *, void *); + int (*init)(struct ftrace_probe_ops *, struct trace_array *, long unsigned int, void *, void **); + void (*free)(struct ftrace_probe_ops *, struct trace_array *, long unsigned int, void *); + int (*print)(struct seq_file *, long unsigned int, struct ftrace_probe_ops *, void *); +}; + +struct ftrace_profile { + struct hlist_node node; + long unsigned int ip; + long unsigned int counter; + long long unsigned int time; + long long unsigned int time_squared; +}; + +struct ftrace_profile_page { + struct ftrace_profile_page *next; + long unsigned int index; + struct ftrace_profile records[0]; +}; + +typedef int (*cmp_func_t)(const void *, const void *); + +struct tracer_stat { + const char *name; + void * (*stat_start)(struct tracer_stat *); + void * (*stat_next)(void *, int); + cmp_func_t stat_cmp; + int (*stat_show)(struct seq_file *, void *); + void (*stat_release)(void *); + int (*stat_headers)(struct seq_file *); +}; + +struct ftrace_profile_stat { + atomic_t disabled; + struct hlist_head *hash; + struct ftrace_profile_page *pages; + struct ftrace_profile_page *start; + struct tracer_stat stat; +}; + +struct ftrace_rec_iter { + struct ftrace_page *pg; + int index; +}; + +struct ftrace_regs {}; + +struct ftrace_ret_stack { + long unsigned int ret; + long unsigned int func; + long unsigned int *retp; +}; + +struct ftrace_stack { + long unsigned int calls[1024]; +}; + +struct ftrace_stacks { + struct ftrace_stack stacks[4]; +}; + +struct func_repeats_entry { + struct trace_entry ent; + long unsigned int ip; + long unsigned int parent_ip; + u16 count; + u16 top_delta_ts; + u32 bottom_delta_ts; +}; + +struct function_filter_data { + struct ftrace_ops *ops; + int first_filter; + int first_notrace; +}; + +struct fuse_access_in { + uint32_t mask; + uint32_t padding; +}; + +struct fuse_arg { + unsigned int size; + void *value; +}; + +struct fuse_in_arg { + unsigned int size; + const void *value; +}; + +struct fuse_mount; + +struct fuse_args { + uint64_t nodeid; + uint32_t opcode; + uint8_t in_numargs; + uint8_t out_numargs; + uint8_t ext_idx; + bool force: 1; + bool noreply: 1; + bool nocreds: 1; + bool in_pages: 1; + bool out_pages: 1; + bool user_pages: 1; + bool out_argvar: 1; + bool page_zeroing: 1; + bool page_replace: 1; + bool may_block: 1; + bool is_ext: 1; + bool is_pinned: 1; + bool invalidate_vmap: 1; + struct fuse_in_arg in_args[4]; + struct fuse_arg out_args[2]; + void (*end)(struct fuse_mount *, struct fuse_args *, int); + void *vmap_base; +}; + +struct fuse_folio_desc; + +struct fuse_args_pages { + struct fuse_args args; + struct folio **folios; + struct fuse_folio_desc *descs; + unsigned int num_folios; +}; + +struct fuse_attr { + uint64_t ino; + uint64_t size; + uint64_t blocks; + uint64_t atime; + uint64_t mtime; + uint64_t ctime; + uint32_t atimensec; + uint32_t mtimensec; + uint32_t ctimensec; + uint32_t mode; + uint32_t nlink; + uint32_t uid; + uint32_t gid; + uint32_t rdev; + uint32_t blksize; + uint32_t flags; +}; + +struct fuse_attr_out { + uint64_t attr_valid; + uint32_t attr_valid_nsec; + uint32_t dummy; + struct fuse_attr attr; +}; + +struct fuse_backing { + struct file *file; + struct cred *cred; + refcount_t count; + struct callback_head rcu; +}; + +struct fuse_backing_map { + int32_t fd; + uint32_t flags; + uint64_t padding; +}; + +struct fuse_batch_forget_in { + uint32_t count; + uint32_t dummy; +}; + +struct fuse_bmap_in { + uint64_t block; + uint32_t blocksize; + uint32_t padding; +}; + +struct fuse_bmap_out { + uint64_t block; +}; + +struct fuse_forget_one { + uint64_t nodeid; + uint64_t nlookup; +}; + +struct fuse_forget_link { + struct fuse_forget_one forget_one; + struct fuse_forget_link *next; +}; + +struct fuse_iqueue_ops; + +struct fuse_iqueue { + unsigned int connected; + spinlock_t lock; + wait_queue_head_t waitq; + u64 reqctr; + struct list_head pending; + struct list_head interrupts; + struct fuse_forget_link forget_list_head; + struct fuse_forget_link *forget_list_tail; + int forget_batch; + struct fasync_struct *fasync; + const struct fuse_iqueue_ops *ops; + void *priv; +}; + +struct fuse_conn_dax; + +struct fuse_sync_bucket; + +struct fuse_ring; + +struct fuse_conn { + spinlock_t lock; + refcount_t count; + atomic_t dev_count; + atomic_t epoch; + struct callback_head rcu; + kuid_t user_id; + kgid_t group_id; + struct pid_namespace *pid_ns; + struct user_namespace *user_ns; + unsigned int max_read; + unsigned int max_write; + unsigned int max_pages; + unsigned int max_pages_limit; + struct fuse_iqueue iq; + atomic64_t khctr; + struct rb_root polled_files; + unsigned int max_background; + unsigned int congestion_threshold; + unsigned int num_background; + unsigned int active_background; + struct list_head bg_queue; + spinlock_t bg_lock; + int initialized; + int blocked; + wait_queue_head_t blocked_waitq; + unsigned int connected; + bool aborted; + unsigned int conn_error: 1; + unsigned int conn_init: 1; + unsigned int async_read: 1; + unsigned int abort_err: 1; + unsigned int atomic_o_trunc: 1; + unsigned int export_support: 1; + unsigned int writeback_cache: 1; + unsigned int parallel_dirops: 1; + unsigned int handle_killpriv: 1; + unsigned int cache_symlinks: 1; + unsigned int legacy_opts_show: 1; + unsigned int handle_killpriv_v2: 1; + unsigned int no_open: 1; + unsigned int no_opendir: 1; + unsigned int no_fsync: 1; + unsigned int no_fsyncdir: 1; + unsigned int no_flush: 1; + unsigned int no_setxattr: 1; + unsigned int setxattr_ext: 1; + unsigned int no_getxattr: 1; + unsigned int no_listxattr: 1; + unsigned int no_removexattr: 1; + unsigned int no_lock: 1; + unsigned int no_access: 1; + unsigned int no_create: 1; + unsigned int no_interrupt: 1; + unsigned int no_bmap: 1; + unsigned int no_poll: 1; + unsigned int big_writes: 1; + unsigned int dont_mask: 1; + unsigned int no_flock: 1; + unsigned int no_fallocate: 1; + unsigned int no_rename2: 1; + unsigned int auto_inval_data: 1; + unsigned int explicit_inval_data: 1; + unsigned int do_readdirplus: 1; + unsigned int readdirplus_auto: 1; + unsigned int async_dio: 1; + unsigned int no_lseek: 1; + unsigned int posix_acl: 1; + unsigned int default_permissions: 1; + unsigned int allow_other: 1; + unsigned int no_copy_file_range: 1; + unsigned int destroy: 1; + unsigned int delete_stale: 1; + unsigned int no_control: 1; + unsigned int no_force_umount: 1; + unsigned int auto_submounts: 1; + unsigned int sync_fs: 1; + unsigned int init_security: 1; + unsigned int create_supp_group: 1; + unsigned int inode_dax: 1; + unsigned int no_tmpfile: 1; + unsigned int direct_io_allow_mmap: 1; + unsigned int no_statx: 1; + unsigned int passthrough: 1; + unsigned int use_pages_for_kvec_io: 1; + unsigned int no_link: 1; + unsigned int io_uring; + int max_stack_depth; + atomic_t num_waiting; + unsigned int minor; + struct list_head entry; + dev_t dev; + u32 scramble_key[4]; + atomic64_t attr_version; + atomic64_t evict_ctr; + u32 name_max; + void (*release)(struct fuse_conn *); + struct rw_semaphore killsb; + struct list_head devices; + enum fuse_dax_mode dax_mode; + struct fuse_conn_dax *dax; + struct list_head mounts; + struct fuse_sync_bucket *curr_bucket; + struct idr backing_files_map; + struct fuse_ring *ring; + struct { + struct delayed_work work; + unsigned int req_timeout; + } timeout; + u8 blkbits; +}; + +struct fuse_conn_dax { + struct dax_device *dev; + spinlock_t lock; + long unsigned int nr_busy_ranges; + struct list_head busy_ranges; + struct delayed_work free_work; + wait_queue_head_t range_waitq; + long int nr_free_ranges; + struct list_head free_ranges; + long unsigned int nr_ranges; +}; + +struct fuse_copy_file_range_in { + uint64_t fh_in; + uint64_t off_in; + uint64_t nodeid_out; + uint64_t fh_out; + uint64_t off_out; + uint64_t len; + uint64_t flags; +}; + +struct fuse_req; + +struct pipe_buffer; + +struct fuse_copy_state { + struct fuse_req *req; + struct iov_iter *iter; + struct pipe_buffer *pipebufs; + struct pipe_buffer *currbuf; + struct pipe_inode_info *pipe; + long unsigned int nr_segs; + struct page *pg; + unsigned int len; + unsigned int offset; + bool write: 1; + bool move_folios: 1; + bool is_uring: 1; + struct { + unsigned int copied_sz; + } ring; +}; + +struct fuse_create_in { + uint32_t flags; + uint32_t mode; + uint32_t umask; + uint32_t open_flags; +}; + +struct interval_tree_node { + struct rb_node rb; + long unsigned int start; + long unsigned int last; + long unsigned int __subtree_last; +}; + +struct fuse_dax_mapping { + struct inode *inode; + struct list_head list; + struct interval_tree_node itn; + struct list_head busy_list; + u64 window_offset; + loff_t length; + bool writable; + refcount_t refcnt; +}; + +struct fuse_pqueue { + unsigned int connected; + spinlock_t lock; + struct list_head *processing; + struct list_head io; +}; + +struct fuse_dev { + struct fuse_conn *fc; + struct fuse_pqueue pq; + struct list_head entry; +}; + +struct fuse_dirent { + uint64_t ino; + uint64_t off; + uint32_t namelen; + uint32_t type; + char name[0]; +}; + +struct fuse_entry_out { + uint64_t nodeid; + uint64_t generation; + uint64_t entry_valid; + uint64_t attr_valid; + uint32_t entry_valid_nsec; + uint32_t attr_valid_nsec; + struct fuse_attr attr; +}; + +struct fuse_direntplus { + struct fuse_entry_out entry_out; + struct fuse_dirent dirent; +}; + +struct fuse_ext_header { + uint32_t size; + uint32_t type; +}; + +struct fuse_fallocate_in { + uint64_t fh; + uint64_t offset; + uint64_t length; + uint32_t mode; + uint32_t padding; +}; + +union fuse_file_args; + +struct fuse_file { + struct fuse_mount *fm; + union fuse_file_args *args; + u64 kh; + u64 fh; + u64 nodeid; + refcount_t count; + u32 open_flags; + struct list_head write_entry; + struct { + loff_t pos; + loff_t cache_off; + u64 version; + } readdir; + struct rb_node polled_node; + wait_queue_head_t poll_wait; + enum { + IOM_NONE = 0, + IOM_CACHED = 1, + IOM_UNCACHED = 2, + } iomode; + struct file *passthrough; + const struct cred *cred; + bool flock: 1; +}; + +struct fuse_open_out { + uint64_t fh; + uint32_t open_flags; + int32_t backing_id; +}; + +struct fuse_release_in { + uint64_t fh; + uint32_t flags; + uint32_t release_flags; + uint64_t lock_owner; +}; + +struct fuse_release_args { + struct fuse_args args; + struct fuse_release_in inarg; + struct inode *inode; +}; + +union fuse_file_args { + struct fuse_open_out open_outarg; + struct fuse_release_args release_args; +}; + +struct fuse_file_lock { + uint64_t start; + uint64_t end; + uint32_t type; + uint32_t pid; +}; + +struct fuse_writepage_args; + +struct fuse_fill_wb_data { + struct fuse_writepage_args *wpa; + struct fuse_file *ff; + unsigned int max_folios; + unsigned int nr_bytes; +}; + +struct fuse_flush_in { + uint64_t fh; + uint32_t unused; + uint32_t padding; + uint64_t lock_owner; +}; + +struct fuse_folio_desc { + unsigned int length; + unsigned int offset; +}; + +struct fuse_forget_in { + uint64_t nlookup; +}; + +struct fuse_fs_context { + int fd; + struct file *file; + unsigned int rootmode; + kuid_t user_id; + kgid_t group_id; + bool is_bdev: 1; + bool fd_present: 1; + bool rootmode_present: 1; + bool user_id_present: 1; + bool group_id_present: 1; + bool default_permissions: 1; + bool allow_other: 1; + bool destroy: 1; + bool no_control: 1; + bool no_force_umount: 1; + bool legacy_opts_show: 1; + enum fuse_dax_mode dax_mode; + unsigned int max_read; + unsigned int blksize; + const char *subtype; + struct dax_device *dax_dev; + void **fudptr; +}; + +struct fuse_fsync_in { + uint64_t fh; + uint32_t fsync_flags; + uint32_t padding; +}; + +struct fuse_getattr_in { + uint32_t getattr_flags; + uint32_t dummy; + uint64_t fh; +}; + +struct fuse_getxattr_in { + uint32_t size; + uint32_t padding; +}; + +struct fuse_getxattr_out { + uint32_t size; + uint32_t padding; +}; + +struct fuse_in_header { + uint32_t len; + uint32_t opcode; + uint64_t unique; + uint64_t nodeid; + uint32_t uid; + uint32_t gid; + uint32_t pid; + uint16_t total_extlen; + uint16_t padding; +}; + +struct fuse_init_in { + uint32_t major; + uint32_t minor; + uint32_t max_readahead; + uint32_t flags; + uint32_t flags2; + uint32_t unused[11]; +}; + +struct fuse_init_out { + uint32_t major; + uint32_t minor; + uint32_t max_readahead; + uint32_t flags; + uint16_t max_background; + uint16_t congestion_threshold; + uint32_t max_write; + uint32_t time_gran; + uint16_t max_pages; + uint16_t map_alignment; + uint32_t flags2; + uint32_t max_stack_depth; + uint16_t request_timeout; + uint16_t unused[11]; +}; + +struct fuse_init_args { + struct fuse_args args; + struct fuse_init_in in; + struct fuse_init_out out; +}; + +struct fuse_inode_dax; + +struct fuse_submount_lookup; + +struct fuse_inode { + struct inode inode; + u64 nodeid; + u64 nlookup; + struct fuse_forget_link *forget; + u64 i_time; + u32 inval_mask; + umode_t orig_i_mode; + struct timespec64 i_btime; + u64 orig_ino; + u64 attr_version; + union { + struct { + struct list_head write_files; + struct list_head queued_writes; + int writectr; + int iocachectr; + wait_queue_head_t page_waitq; + wait_queue_head_t direct_io_waitq; + }; + struct { + bool cached; + loff_t size; + loff_t pos; + u64 version; + struct timespec64 mtime; + u64 iversion; + spinlock_t lock; + } rdc; + }; + long unsigned int state; + struct mutex mutex; + spinlock_t lock; + struct fuse_inode_dax *dax; + struct fuse_submount_lookup *submount_lookup; + struct fuse_backing *fb; + u8 cached_i_blkbits; +}; + +struct fuse_inode_dax { + struct rw_semaphore sem; + struct rb_root_cached tree; + long unsigned int nr; +}; + +struct fuse_inode_handle { + u64 nodeid; + u32 generation; +}; + +struct fuse_interrupt_in { + uint64_t unique; +}; + +struct fuse_read_in { + uint64_t fh; + uint64_t offset; + uint32_t size; + uint32_t read_flags; + uint64_t lock_owner; + uint32_t flags; + uint32_t padding; +}; + +struct fuse_write_in { + uint64_t fh; + uint64_t offset; + uint32_t size; + uint32_t write_flags; + uint64_t lock_owner; + uint32_t flags; + uint32_t padding; +}; + +struct fuse_write_out { + uint32_t size; + uint32_t padding; +}; + +struct fuse_io_priv; + +struct fuse_io_args { + union { + struct { + struct fuse_read_in in; + u64 attr_ver; + } read; + struct { + struct fuse_write_in in; + struct fuse_write_out out; + bool folio_locked; + } write; + }; + struct fuse_args_pages ap; + struct fuse_io_priv *io; + struct fuse_file *ff; +}; + +struct fuse_io_priv { + struct kref refcnt; + int async; + spinlock_t lock; + unsigned int reqs; + ssize_t bytes; + size_t size; + __u64 offset; + bool write; + bool should_dirty; + int err; + struct kiocb *iocb; + struct completion *done; + bool blocking; +}; + +struct fuse_ioctl_in { + uint64_t fh; + uint32_t flags; + uint32_t cmd; + uint64_t arg; + uint32_t in_size; + uint32_t out_size; +}; + +struct fuse_ioctl_iovec { + uint64_t base; + uint64_t len; +}; + +struct fuse_ioctl_out { + int32_t result; + uint32_t flags; + uint32_t in_iovs; + uint32_t out_iovs; +}; + +struct fuse_iqueue_ops { + void (*send_forget)(struct fuse_iqueue *, struct fuse_forget_link *); + void (*send_interrupt)(struct fuse_iqueue *, struct fuse_req *); + void (*send_req)(struct fuse_iqueue *, struct fuse_req *); + void (*release)(struct fuse_iqueue *); +}; + +struct fuse_kstatfs { + uint64_t blocks; + uint64_t bfree; + uint64_t bavail; + uint64_t files; + uint64_t ffree; + uint32_t bsize; + uint32_t namelen; + uint32_t frsize; + uint32_t padding; + uint32_t spare[6]; +}; + +struct fuse_link_in { + uint64_t oldnodeid; +}; + +struct fuse_lk_in { + uint64_t fh; + uint64_t owner; + struct fuse_file_lock lk; + uint32_t lk_flags; + uint32_t padding; +}; + +struct fuse_lk_out { + struct fuse_file_lock lk; +}; + +struct fuse_lseek_in { + uint64_t fh; + uint64_t offset; + uint32_t whence; + uint32_t padding; +}; + +struct fuse_lseek_out { + uint64_t offset; +}; + +struct fuse_mkdir_in { + uint32_t mode; + uint32_t umask; +}; + +struct fuse_mknod_in { + uint32_t mode; + uint32_t rdev; + uint32_t umask; + uint32_t padding; +}; + +struct fuse_mount { + struct fuse_conn *fc; + struct super_block *sb; + struct list_head fc_entry; + struct callback_head rcu; +}; + +struct fuse_notify_delete_out { + uint64_t parent; + uint64_t child; + uint32_t namelen; + uint32_t padding; +}; + +struct fuse_notify_inval_entry_out { + uint64_t parent; + uint32_t namelen; + uint32_t flags; +}; + +struct fuse_notify_inval_inode_out { + uint64_t ino; + int64_t off; + int64_t len; +}; + +struct fuse_notify_poll_wakeup_out { + uint64_t kh; +}; + +struct fuse_notify_retrieve_in { + uint64_t dummy1; + uint64_t offset; + uint32_t size; + uint32_t dummy2; + uint64_t dummy3; + uint64_t dummy4; +}; + +struct fuse_notify_retrieve_out { + uint64_t notify_unique; + uint64_t nodeid; + uint64_t offset; + uint32_t size; + uint32_t padding; +}; + +struct fuse_notify_store_out { + uint64_t nodeid; + uint64_t offset; + uint32_t size; + uint32_t padding; +}; + +struct fuse_open_in { + uint32_t flags; + uint32_t open_flags; +}; + +struct fuse_out_header { + uint32_t len; + int32_t error; + uint64_t unique; +}; + +struct fuse_poll_in { + uint64_t fh; + uint64_t kh; + uint32_t flags; + uint32_t events; +}; + +struct fuse_poll_out { + uint32_t revents; + uint32_t padding; +}; + +struct fuse_removemapping_in { + uint32_t count; +}; + +struct fuse_removemapping_one { + uint64_t moffset; + uint64_t len; +}; + +struct fuse_rename2_in { + uint64_t newdir; + uint32_t flags; + uint32_t padding; +}; + +struct fuse_req { + struct list_head list; + struct list_head intr_entry; + struct fuse_args *args; + refcount_t count; + long unsigned int flags; + struct { + struct fuse_in_header h; + } in; + struct { + struct fuse_out_header h; + } out; + wait_queue_head_t waitq; + void *argbuf; + struct fuse_mount *fm; + void *ring_entry; + void *ring_queue; + long unsigned int create_time; +}; + +struct fuse_retrieve_args { + struct fuse_args_pages ap; + struct fuse_notify_retrieve_in inarg; +}; + +struct fuse_ring_queue; + +struct fuse_ring { + struct fuse_conn *fc; + size_t nr_queues; + size_t max_payload_sz; + struct fuse_ring_queue **queues; + unsigned int stop_debug_log: 1; + wait_queue_head_t stop_waitq; + struct delayed_work async_teardown_work; + long unsigned int teardown_time; + atomic_t queue_refs; + bool ready; +}; + +struct fuse_uring_req_header; + +struct fuse_ring_ent { + struct fuse_uring_req_header *headers; + void *payload; + struct fuse_ring_queue *queue; + struct io_uring_cmd *cmd; + struct list_head list; + enum fuse_ring_req_state state; + struct fuse_req *fuse_req; +}; + +struct fuse_ring_queue { + struct fuse_ring *ring; + unsigned int qid; + spinlock_t lock; + struct list_head ent_avail_queue; + struct list_head ent_w_req_queue; + struct list_head ent_commit_queue; + struct list_head ent_in_userspace; + struct list_head ent_released; + struct list_head fuse_req_queue; + struct list_head fuse_req_bg_queue; + struct fuse_pqueue fpq; + unsigned int active_background; + bool stopped; +}; + +struct fuse_secctx { + uint32_t size; + uint32_t padding; +}; + +struct fuse_secctx_header { + uint32_t size; + uint32_t nr_secctx; +}; + +struct fuse_setattr_in { + uint32_t valid; + uint32_t padding; + uint64_t fh; + uint64_t size; + uint64_t lock_owner; + uint64_t atime; + uint64_t mtime; + uint64_t ctime; + uint32_t atimensec; + uint32_t mtimensec; + uint32_t ctimensec; + uint32_t mode; + uint32_t unused4; + uint32_t uid; + uint32_t gid; + uint32_t unused5; +}; + +struct fuse_setupmapping_in { + uint64_t fh; + uint64_t foffset; + uint64_t len; + uint64_t flags; + uint64_t moffset; +}; + +struct fuse_setxattr_in { + uint32_t size; + uint32_t flags; + uint32_t setxattr_flags; + uint32_t padding; +}; + +struct fuse_statfs_out { + struct fuse_kstatfs st; +}; + +struct fuse_sx_time { + int64_t tv_sec; + uint32_t tv_nsec; + int32_t __reserved; +}; + +struct fuse_statx { + uint32_t mask; + uint32_t blksize; + uint64_t attributes; + uint32_t nlink; + uint32_t uid; + uint32_t gid; + uint16_t mode; + uint16_t __spare0[1]; + uint64_t ino; + uint64_t size; + uint64_t blocks; + uint64_t attributes_mask; + struct fuse_sx_time atime; + struct fuse_sx_time btime; + struct fuse_sx_time ctime; + struct fuse_sx_time mtime; + uint32_t rdev_major; + uint32_t rdev_minor; + uint32_t dev_major; + uint32_t dev_minor; + uint64_t __spare2[14]; +}; + +struct fuse_statx_in { + uint32_t getattr_flags; + uint32_t reserved; + uint64_t fh; + uint32_t sx_flags; + uint32_t sx_mask; +}; + +struct fuse_statx_out { + uint64_t attr_valid; + uint32_t attr_valid_nsec; + uint32_t flags; + uint64_t spare[2]; + struct fuse_statx stat; +}; + +struct fuse_submount_lookup { + refcount_t count; + u64 nodeid; + struct fuse_forget_link *forget; +}; + +struct fuse_supp_groups { + uint32_t nr_groups; + uint32_t groups[0]; +}; + +struct fuse_sync_bucket { + atomic_t count; + wait_queue_head_t waitq; + struct callback_head rcu; +}; + +struct fuse_syncfs_in { + uint64_t padding; +}; + +struct fuse_uring_cmd_req { + uint64_t flags; + uint64_t commit_id; + uint16_t qid; + uint8_t padding[6]; +}; + +struct fuse_uring_ent_in_out { + uint64_t flags; + uint64_t commit_id; + uint32_t payload_sz; + uint32_t padding; + uint64_t reserved; +}; + +struct fuse_uring_pdu { + struct fuse_ring_ent *ent; +}; + +struct fuse_uring_req_header { + char in_out[128]; + char op_in[128]; + struct fuse_uring_ent_in_out ring_ent_in_out; +}; + +struct fuse_writepage_args { + struct fuse_io_args ia; + struct list_head queue_entry; + struct inode *inode; + struct fuse_sync_bucket *bucket; +}; + +struct futex_hash_bucket; + +typedef struct futex_hash_bucket *class_hb_t; + +struct futex_private_hash; + +struct futex_hash_bucket { + atomic_t waiters; + spinlock_t lock; + struct plist_head chain; + struct futex_private_hash *priv; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +union futex_key { + struct { + u64 i_seq; + long unsigned int pgoff; + unsigned int offset; + } shared; + struct { + union { + struct mm_struct *mm; + u64 __tmp; + }; + long unsigned int address; + unsigned int offset; + } private; + struct { + u64 ptr; + long unsigned int word; + unsigned int offset; + unsigned int node; + } both; +}; + +struct futex_pi_state { + struct list_head list; + struct rt_mutex_base pi_mutex; + struct task_struct *owner; + refcount_t refcount; + union futex_key key; +}; + +typedef struct futex_private_hash *class_private_hash_t; + +struct futex_private_hash { + int state; + unsigned int hash_mask; + struct callback_head rcu; + void *mm; + bool custom; + long: 64; + long: 64; + long: 64; + struct futex_hash_bucket queues[0]; +}; + +struct wake_q_head; + +struct futex_q; + +typedef void futex_wake_fn(struct wake_q_head *, struct futex_q *); + +struct rt_mutex_waiter; + +struct futex_q { + struct plist_node list; + struct task_struct *task; + spinlock_t *lock_ptr; + futex_wake_fn *wake; + void *wake_data; + union futex_key key; + struct futex_pi_state *pi_state; + struct rt_mutex_waiter *rt_waiter; + union futex_key *requeue_pi_key; + u32 bitset; + atomic_t requeue_state; + bool drop_hb_ref; +}; + +struct futex_waitv { + __u64 val; + __u64 uaddr; + __u32 flags; + __u32 __reserved; +}; + +struct futex_vector { + struct futex_waitv w; + struct futex_q q; +}; + +struct fw_cache_entry { + struct list_head list; + const char *name; +}; + +struct fw_name_devm { + long unsigned int magic; + const char *name; +}; + +struct fw_state { + struct completion completion; + enum fw_status status; +}; + +struct fw_priv { + struct kref ref; + struct list_head list; + struct firmware_cache *fwc; + struct fw_state fw_st; + void *data; + size_t size; + size_t allocated_size; + size_t offset; + u32 opt_flags; + bool is_paged_buf; + struct page **pages; + int nr_pages; + int page_array_size; + bool need_uevent; + struct list_head pending_list; + const char *fw_name; +}; + +struct fw_rsc_carveout { + u32 da; + u32 pa; + u32 len; + u32 flags; + u32 reserved; + u8 name[32]; +}; + +struct fw_rsc_devmem { + u32 da; + u32 pa; + u32 len; + u32 flags; + u32 reserved; + u8 name[32]; +}; + +struct fw_rsc_hdr { + u32 type; + u8 data[0]; +}; + +struct fw_rsc_trace { + u32 da; + u32 len; + u32 reserved; + u8 name[32]; +}; + +struct fw_rsc_vdev_vring { + u32 da; + u32 align; + u32 num; + u32 notifyid; + u32 pa; +}; + +struct fw_rsc_vdev { + u32 id; + u32 notifyid; + u32 dfeatures; + u32 gfeatures; + u32 config_len; + u8 status; + u8 num_of_vrings; + u8 reserved[2]; + struct fw_rsc_vdev_vring vring[0]; +}; + +struct fw_sysfs { + bool nowait; + struct device dev; + struct fw_priv *fw_priv; + struct firmware *fw; + void *fw_upload_priv; +}; + +union fw_table_header { + struct acpi_table_header acpi; + struct acpi_table_cdat cdat; +}; + +struct fw_upload { + void *dd_handle; + void *priv; +}; + +struct fw_upload_ops { + enum fw_upload_err (*prepare)(struct fw_upload *, const u8 *, u32); + enum fw_upload_err (*write)(struct fw_upload *, const u8 *, u32, u32, u32 *); + enum fw_upload_err (*poll_complete)(struct fw_upload *); + void (*cancel)(struct fw_upload *); + void (*cleanup)(struct fw_upload *); +}; + +struct fw_upload_priv { + struct fw_upload *fw_upload; + struct module *module; + const char *name; + const struct fw_upload_ops *ops; + struct mutex lock; + struct work_struct work; + const u8 *data; + u32 remaining_size; + enum fw_upload_prog progress; + enum fw_upload_prog err_progress; + enum fw_upload_err err_code; +}; + +union fwnet_hwaddr { + u8 u[16]; + struct { + __be64 uniq_id; + u8 max_rec; + u8 sspd; + u8 fifo[6]; + } uc; +}; + +struct fwnode_endpoint { + unsigned int port; + unsigned int id; + const struct fwnode_handle *local_fwnode; +}; + +struct fwnode_link { + struct fwnode_handle *supplier; + struct list_head s_hook; + struct fwnode_handle *consumer; + struct list_head c_hook; + u8 flags; +}; + +struct fwnode_reference_args; + +struct fwnode_operations { + struct fwnode_handle * (*get)(struct fwnode_handle *); + void (*put)(struct fwnode_handle *); + bool (*device_is_available)(const struct fwnode_handle *); + const void * (*device_get_match_data)(const struct fwnode_handle *, const struct device *); + bool (*device_dma_supported)(const struct fwnode_handle *); + enum dev_dma_attr (*device_get_dma_attr)(const struct fwnode_handle *); + bool (*property_present)(const struct fwnode_handle *, const char *); + bool (*property_read_bool)(const struct fwnode_handle *, const char *); + int (*property_read_int_array)(const struct fwnode_handle *, const char *, unsigned int, void *, size_t); + int (*property_read_string_array)(const struct fwnode_handle *, const char *, const char **, size_t); + const char * (*get_name)(const struct fwnode_handle *); + const char * (*get_name_prefix)(const struct fwnode_handle *); + struct fwnode_handle * (*get_parent)(const struct fwnode_handle *); + struct fwnode_handle * (*get_next_child_node)(const struct fwnode_handle *, struct fwnode_handle *); + struct fwnode_handle * (*get_named_child_node)(const struct fwnode_handle *, const char *); + int (*get_reference_args)(const struct fwnode_handle *, const char *, const char *, unsigned int, unsigned int, struct fwnode_reference_args *); + struct fwnode_handle * (*graph_get_next_endpoint)(const struct fwnode_handle *, struct fwnode_handle *); + struct fwnode_handle * (*graph_get_remote_endpoint)(const struct fwnode_handle *); + struct fwnode_handle * (*graph_get_port_parent)(struct fwnode_handle *); + int (*graph_parse_endpoint)(const struct fwnode_handle *, struct fwnode_endpoint *); + void * (*iomap)(struct fwnode_handle *, int); + int (*irq_get)(const struct fwnode_handle *, unsigned int); + int (*add_links)(struct fwnode_handle *); +}; + +struct fwnode_reference_args { + struct fwnode_handle *fwnode; + unsigned int nargs; + u64 args[16]; +}; + +struct idt_bits { + u16 ist: 3; + u16 zero: 5; + u16 type: 5; + u16 dpl: 2; + u16 p: 1; +}; + +struct gate_struct { + u16 offset_low; + u16 segment; + struct idt_bits bits; + u16 offset_middle; + u32 offset_high; + u32 reserved; +}; + +typedef struct gate_struct gate_desc; + +struct gatt_mask { + long unsigned int mask; + u32 type; +}; + +struct gcm_instance_ctx { + struct crypto_skcipher_spawn ctr; + struct crypto_ahash_spawn ghash; +}; + +struct gcr3_tbl_info { + u64 *gcr3_tbl; + int glx; + u32 pasid_cnt; + u16 domid; +}; + +struct gcry_mpi { + int alloced; + int nlimbs; + int nbits; + int sign; + unsigned int flags; + mpi_limb_t *d; +}; + +struct gdt_page { + struct desc_struct gdt[16]; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct pcpu_gen_cookie; + +struct gen_cookie { + struct pcpu_gen_cookie *local; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + atomic64_t forward_last; + atomic64_t reverse_last; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct gen_pool; + +typedef long unsigned int (*genpool_algo_t)(long unsigned int *, long unsigned int, long unsigned int, unsigned int, void *, struct gen_pool *, long unsigned int); + +struct gen_pool { + spinlock_t lock; + struct list_head chunks; + int min_alloc_order; + genpool_algo_t algo; + void *data; + const char *name; +}; + +struct gen_pool_chunk { + struct list_head next_chunk; + atomic_long_t avail; + phys_addr_t phys_addr; + void *owner; + long unsigned int start_addr; + long unsigned int end_addr; + long unsigned int bits[0]; +}; + +struct timer_rand_state; + +struct gendisk { + int major; + int first_minor; + int minors; + char disk_name[32]; + short unsigned int events; + short unsigned int event_flags; + struct xarray part_tbl; + struct block_device *part0; + const struct block_device_operations *fops; + struct request_queue *queue; + void *private_data; + struct bio_set bio_split; + int flags; + long unsigned int state; + struct mutex open_mutex; + unsigned int open_partitions; + struct backing_dev_info *bdi; + struct kobject queue_kobj; + struct kobject *slave_dir; + struct list_head slave_bdevs; + struct timer_rand_state *random; + struct disk_events *ev; + unsigned int nr_zones; + unsigned int zone_capacity; + unsigned int last_zone_capacity; + long unsigned int *conv_zones_bitmap; + unsigned int zone_wplugs_hash_bits; + atomic_t nr_zone_wplugs; + spinlock_t zone_wplugs_lock; + struct mempool_s *zone_wplugs_pool; + struct hlist_head *zone_wplugs_hash; + struct workqueue_struct *zone_wplugs_wq; + struct cdrom_device_info *cdi; + int node_id; + struct badblocks *bb; + struct lockdep_map lockdep_map; + u64 diskseq; + blk_mode_t open_mode; + struct blk_independent_access_ranges *ia_ranges; + struct mutex rqos_state_mutex; +}; + +struct gpd_dev_ops { + int (*start)(struct device *); + int (*stop)(struct device *); +}; + +struct genpd_governor_data; + +struct genpd_power_state; + +struct genpd_lock_ops; + +struct generic_pm_domain { + struct device dev; + struct dev_pm_domain domain; + struct list_head gpd_list_node; + struct list_head parent_links; + struct list_head child_links; + struct list_head dev_list; + struct dev_power_governor *gov; + struct genpd_governor_data *gd; + struct work_struct power_off_work; + struct fwnode_handle *provider; + bool has_provider; + const char *name; + atomic_t sd_count; + enum gpd_status status; + unsigned int device_count; + unsigned int device_id; + unsigned int suspended_count; + unsigned int prepared_count; + unsigned int performance_state; + cpumask_var_t cpus; + bool synced_poweroff; + bool stay_on; + enum genpd_sync_state sync_state; + int (*power_off)(struct generic_pm_domain *); + int (*power_on)(struct generic_pm_domain *); + struct raw_notifier_head power_notifiers; + struct opp_table *opp_table; + int (*set_performance_state)(struct generic_pm_domain *, unsigned int); + struct gpd_dev_ops dev_ops; + int (*set_hwmode_dev)(struct generic_pm_domain *, struct device *, bool); + bool (*get_hwmode_dev)(struct generic_pm_domain *, struct device *); + int (*attach_dev)(struct generic_pm_domain *, struct device *); + void (*detach_dev)(struct generic_pm_domain *, struct device *); + unsigned int flags; + struct genpd_power_state *states; + void (*free_states)(struct genpd_power_state *, unsigned int); + unsigned int state_count; + unsigned int state_idx; + u64 on_time; + u64 accounting_time; + const struct genpd_lock_ops *lock_ops; + union { + struct mutex mlock; + struct { + spinlock_t slock; + long unsigned int lock_flags; + }; + struct { + raw_spinlock_t raw_slock; + long unsigned int raw_lock_flags; + }; + }; +}; + +struct pm_domain_data { + struct list_head list_node; + struct device *dev; +}; + +struct gpd_timing_data; + +struct generic_pm_domain_data { + struct pm_domain_data base; + struct gpd_timing_data *td; + struct notifier_block nb; + struct notifier_block *power_nb; + int cpu; + unsigned int performance_state; + unsigned int default_pstate; + unsigned int rpm_pstate; + unsigned int opp_token; + bool hw_mode; + bool rpm_always_on; + void *data; +}; + +struct geneve_opt { + __be16 opt_class; + u8 type; + u8 length: 5; + u8 r3: 1; + u8 r2: 1; + u8 r1: 1; + u8 opt_data[0]; +}; + +struct ocontext; + +struct genfs { + char *fstype; + struct ocontext *head; + struct genfs *next; +}; + +struct netlink_callback; + +struct nla_policy; + +struct genl_split_ops { + union { + struct { + int (*pre_doit)(const struct genl_split_ops *, struct sk_buff *, struct genl_info *); + int (*doit)(struct sk_buff *, struct genl_info *); + void (*post_doit)(const struct genl_split_ops *, struct sk_buff *, struct genl_info *); + }; + struct { + int (*start)(struct netlink_callback *); + int (*dumpit)(struct sk_buff *, struct netlink_callback *); + int (*done)(struct netlink_callback *); + }; + }; + const struct nla_policy *policy; + unsigned int maxattr; + u8 cmd; + u8 internal_flags; + u8 flags; + u8 validate; +}; + +struct genlmsghdr; + +struct genl_info { + u32 snd_seq; + u32 snd_portid; + const struct genl_family *family; + const struct nlmsghdr *nlhdr; + struct genlmsghdr *genlhdr; + struct nlattr **attrs; + possible_net_t _net; + union { + u8 ctx[48]; + void *user_ptr[2]; + }; + struct netlink_ext_ack *extack; +}; + +struct genl_dumpit_info { + struct genl_split_ops op; + struct genl_info info; +}; + +struct genl_ops; + +struct genl_small_ops; + +struct genl_multicast_group; + +struct genl_family { + unsigned int hdrsize; + char name[16]; + unsigned int version; + unsigned int maxattr; + u8 netnsok: 1; + u8 parallel_ops: 1; + u8 n_ops; + u8 n_small_ops; + u8 n_split_ops; + u8 n_mcgrps; + u8 resv_start_op; + const struct nla_policy *policy; + int (*pre_doit)(const struct genl_split_ops *, struct sk_buff *, struct genl_info *); + void (*post_doit)(const struct genl_split_ops *, struct sk_buff *, struct genl_info *); + int (*bind)(int); + void (*unbind)(int); + const struct genl_ops *ops; + const struct genl_small_ops *small_ops; + const struct genl_split_ops *split_ops; + const struct genl_multicast_group *mcgrps; + struct module *module; + size_t sock_priv_size; + void (*sock_priv_init)(void *); + void (*sock_priv_destroy)(void *); + int id; + unsigned int mcgrp_offset; + struct xarray *sock_privs; +}; + +struct genl_multicast_group { + char name[16]; + u8 flags; +}; + +struct genl_op_iter { + const struct genl_family *family; + struct genl_split_ops doit; + struct genl_split_ops dumpit; + int cmd_idx; + int entry_idx; + u32 cmd; + u8 flags; +}; + +struct genl_ops { + int (*doit)(struct sk_buff *, struct genl_info *); + int (*start)(struct netlink_callback *); + int (*dumpit)(struct sk_buff *, struct netlink_callback *); + int (*done)(struct netlink_callback *); + const struct nla_policy *policy; + unsigned int maxattr; + u8 cmd; + u8 internal_flags; + u8 flags; + u8 validate; +}; + +struct genl_small_ops { + int (*doit)(struct sk_buff *, struct genl_info *); + int (*dumpit)(struct sk_buff *, struct netlink_callback *); + u8 cmd; + u8 internal_flags; + u8 flags; + u8 validate; +}; + +struct genl_start_context { + const struct genl_family *family; + struct nlmsghdr *nlh; + struct netlink_ext_ack *extack; + const struct genl_split_ops *ops; + int hdrlen; +}; + +struct genlmsghdr { + __u8 cmd; + __u8 version; + __u16 reserved; +}; + +struct genpd_governor_data { + s64 max_off_time_ns; + bool max_off_time_changed; + ktime_t next_wakeup; + ktime_t next_hrtimer; + ktime_t last_enter; + bool reflect_residency; + bool cached_power_down_ok; + bool cached_power_down_state_idx; +}; + +struct genpd_lock_ops { + void (*lock)(struct generic_pm_domain *); + void (*lock_nested)(struct generic_pm_domain *, int); + int (*lock_interruptible)(struct generic_pm_domain *); + void (*unlock)(struct generic_pm_domain *); +}; + +struct genpd_power_state { + const char *name; + s64 power_off_latency_ns; + s64 power_on_latency_ns; + s64 residency_ns; + u64 usage; + u64 rejected; + u64 above; + u64 below; + struct fwnode_handle *fwnode; + u64 idle_time; + void *data; +}; + +struct genpool_data_align { + int align; +}; + +struct genpool_data_fixed { + long unsigned int offset; +}; + +struct genradix_iter { + size_t offset; + size_t pos; +}; + +struct genradix_node { + union { + struct genradix_node *children[64]; + u8 data[512]; + }; +}; + +struct getcpu_cache { + long unsigned int blob[16]; +}; + +struct linux_dirent; + +struct getdents_callback { + struct dir_context ctx; + struct linux_dirent *current_dir; + int prev_reclen; + int error; +}; + +struct getdents_callback___2 { + struct dir_context ctx; + char *name; + u64 ino; + int found; + int sequence; +}; + +struct linux_dirent64; + +struct getdents_callback64 { + struct dir_context ctx; + struct linux_dirent64 *current_dir; + int prev_reclen; + int error; +}; + +struct getfsmap_info { + struct super_block *gi_sb; + struct fsmap_head *gi_data; + unsigned int gi_idx; + __u32 gi_last_flags; +}; + +struct input_keymap_entry { + __u8 flags; + __u8 len; + __u16 index; + __u32 keycode; + __u8 scancode[32]; +}; + +struct getset_keycode_data { + struct input_keymap_entry ke; + int error; +}; + +struct gf128mul_4k { + be128 t[256]; +}; + +struct gf128mul_64k { + struct gf128mul_4k *t[16]; +}; + +struct kvm_memory_slot; + +struct gfn_to_hva_cache { + u64 generation; + gpa_t gpa; + long unsigned int hva; + long unsigned int len; + struct kvm_memory_slot *memslot; +}; + +struct kvm; + +struct gfn_to_pfn_cache { + u64 generation; + gpa_t gpa; + long unsigned int uhva; + struct kvm_memory_slot *memslot; + struct kvm *kvm; + struct list_head list; + rwlock_t lock; + struct mutex refresh_lock; + void *khva; + kvm_pfn_t pfn; + bool active; + bool valid; +}; + +struct ghash_ctx { + struct gf128mul_4k *gf128; +}; + +struct ghash_desc_ctx { + u8 buffer[16]; +}; + +struct ghcb_save_area { + u8 reserved_0x0[203]; + u8 cpl; + u8 reserved_0xcc[116]; + u64 xss; + u8 reserved_0x148[24]; + u64 dr7; + u8 reserved_0x168[16]; + u64 rip; + u8 reserved_0x180[88]; + u64 rsp; + u8 reserved_0x1e0[24]; + u64 rax; + u8 reserved_0x200[264]; + u64 rcx; + u64 rdx; + u64 rbx; + u8 reserved_0x320[8]; + u64 rbp; + u64 rsi; + u64 rdi; + u64 r8; + u64 r9; + u64 r10; + u64 r11; + u64 r12; + u64 r13; + u64 r14; + u64 r15; + u8 reserved_0x380[16]; + u64 sw_exit_code; + u64 sw_exit_info_1; + u64 sw_exit_info_2; + u64 sw_scratch; + u8 reserved_0x3b0[56]; + u64 xcr0; + u8 valid_bitmap[16]; + u64 x87_state_gpa; +}; + +struct ghcb { + struct ghcb_save_area save; + u8 reserved_save[1016]; + u8 shared_buffer[2032]; + u8 reserved_0xff0[10]; + u16 protocol_version; + u32 ghcb_usage; +}; + +struct ghcb_state { + struct ghcb *ghcb; +}; + +struct ghes { + union { + struct acpi_hest_generic *generic; + struct acpi_hest_generic_v2 *generic_v2; + }; + struct acpi_hest_generic_status *estatus; + long unsigned int flags; + union { + struct list_head list; + struct timer_list timer; + unsigned int irq; + }; + struct device *dev; + struct list_head elist; +}; + +struct ghes_arr { + struct platform_device **ghes_devs; + unsigned int count; +}; + +struct ghes_estatus_cache { + u32 estatus_len; + atomic_t count; + struct acpi_hest_generic *generic; + long long unsigned int time_in; + struct callback_head rcu; +}; + +struct ghes_estatus_node { + struct llist_node llnode; + struct acpi_hest_generic *generic; + struct ghes *ghes; +}; + +struct ghes_hw_desc { + int num_dimms; + struct dimm_info *dimms; +}; + +struct ghes_pvt { + struct mem_ctl_info *mci; + char other_detail[400]; + char msg[80]; +}; + +struct ghes_task_work { + struct callback_head twork; + u64 pfn; + int flags; +}; + +struct ghes_vendor_record_entry { + struct work_struct work; + int error_severity; + char vendor_record[0]; +}; + +struct giveback_urb_bh { + bool running; + bool high_prio; + spinlock_t lock; + struct list_head head; + struct work_struct bh; + struct usb_host_endpoint *completing_ep; +}; + +struct global_params { + bool no_turbo; + bool turbo_disabled; + int max_perf_pct; + int min_perf_pct; +}; + +struct tc_stats { + __u64 bytes; + __u32 packets; + __u32 drops; + __u32 overlimits; + __u32 bps; + __u32 pps; + __u32 qlen; + __u32 backlog; +}; + +struct gnet_dump { + spinlock_t *lock; + struct sk_buff *skb; + struct nlattr *tail; + int compat_tc_stats; + int compat_xstats; + int padattr; + void *xstats; + int xstats_len; + struct tc_stats tc_stats; +}; + +struct gnet_estimator { + signed char interval; + unsigned char ewma_log; +}; + +struct gnet_stats_basic { + __u64 bytes; + __u32 packets; +}; + +struct gnet_stats_rate_est { + __u32 bps; + __u32 pps; +}; + +struct gnet_stats_rate_est64 { + __u64 bps; + __u64 pps; +}; + +struct gntab_unmap_queue_data; + +typedef void (*gnttab_unmap_refs_done)(int, struct gntab_unmap_queue_data *); + +struct gnttab_unmap_grant_ref; + +struct gntab_unmap_queue_data { + struct delayed_work gnttab_work; + void *data; + gnttab_unmap_refs_done done; + struct gnttab_unmap_grant_ref *unmap_ops; + struct gnttab_unmap_grant_ref *kunmap_ops; + struct page **pages; + unsigned int count; + unsigned int age; +}; + +struct gnttab_copy_ptr { + union { + grant_ref_t ref; + xen_pfn_t gmfn; + } u; + domid_t domid; + uint16_t offset; +}; + +struct gnttab_copy { + struct gnttab_copy_ptr source; + struct gnttab_copy_ptr dest; + uint16_t len; + uint16_t flags; + int16_t status; +}; + +struct gnttab_dma_alloc_args { + struct device *dev; + bool coherent; + int nr_pages; + struct page **pages; + xen_pfn_t *frames; + void *vaddr; + dma_addr_t dev_bus_addr; +}; + +struct gnttab_get_status_frames { + uint32_t nr_frames; + domid_t dom; + int16_t status; + __guest_handle_uint64_t frame_list; +}; + +struct gnttab_map_grant_ref { + uint64_t host_addr; + uint32_t flags; + grant_ref_t ref; + domid_t dom; + int16_t status; + grant_handle_t handle; + uint64_t dev_bus_addr; +}; + +struct gnttab_ops { + unsigned int version; + unsigned int grefs_per_grant_frame; + int (*map_frames)(xen_pfn_t *, unsigned int); + void (*unmap_frames)(void); + void (*update_entry)(grant_ref_t, domid_t, long unsigned int, unsigned int); + int (*end_foreign_access_ref)(grant_ref_t); + long unsigned int (*read_frame)(grant_ref_t); +}; + +struct gnttab_page_cache { + spinlock_t lock; + struct page *pages; + unsigned int num_pages; +}; + +struct gnttab_query_size { + domid_t dom; + uint32_t nr_frames; + uint32_t max_nr_frames; + int16_t status; +}; + +struct gnttab_set_version { + uint32_t version; +}; + +struct gnttab_setup_table { + domid_t dom; + uint32_t nr_frames; + int16_t status; + __guest_handle_xen_pfn_t frame_list; +}; + +struct gnttab_unmap_grant_ref { + uint64_t host_addr; + uint64_t dev_bus_addr; + grant_handle_t handle; + int16_t status; +}; + +struct gnttab_vm_area { + struct vm_struct *area; + pte_t **ptes; + int idx; +}; + +struct governor_attr { + struct attribute attr; + ssize_t (*show)(struct gov_attr_set *, char *); + ssize_t (*store)(struct gov_attr_set *, const char *, size_t); +}; + +struct watchdog_governor; + +struct governor_priv { + struct watchdog_governor *gov; + struct list_head entry; +}; + +struct gpd_link { + struct generic_pm_domain *parent; + struct list_head parent_node; + struct generic_pm_domain *child; + struct list_head child_node; + unsigned int performance_state; + unsigned int prev_performance_state; +}; + +struct gpd_timing_data { + s64 suspend_latency_ns; + s64 resume_latency_ns; + s64 effective_constraint_ns; + ktime_t next_wakeup; + bool constraint_changed; + bool cached_suspend_ok; +}; + +struct gpio_array { + struct gpio_desc **desc; + unsigned int size; + struct gpio_device *gdev; + long unsigned int *get_mask; + long unsigned int *set_mask; + long unsigned int invert_mask[0]; +}; + +struct gpio_v2_line_attribute { + __u32 id; + __u32 padding; + union { + __u64 flags; + __u64 values; + __u32 debounce_period_us; + }; +}; + +struct gpio_v2_line_info { + char name[32]; + char consumer[32]; + __u32 offset; + __u32 num_attrs; + __u64 flags; + struct gpio_v2_line_attribute attrs[10]; + __u32 padding[4]; +}; + +struct gpio_v2_line_info_changed { + struct gpio_v2_line_info info; + __u64 timestamp_ns; + __u32 event_type; + __u32 padding[5]; +}; + +struct gpio_chardev_data { + struct gpio_device *gdev; + wait_queue_head_t wait; + struct { + union { + struct __kfifo kfifo; + struct gpio_v2_line_info_changed *type; + const struct gpio_v2_line_info_changed *const_type; + char (*rectype)[0]; + struct gpio_v2_line_info_changed *ptr; + const struct gpio_v2_line_info_changed *ptr_const; + }; + struct gpio_v2_line_info_changed buf[32]; + } events; + struct notifier_block lineinfo_changed_nb; + struct notifier_block device_unregistered_nb; + long unsigned int *watched_lines; + atomic_t watch_abi_version; + struct file *fp; +}; + +struct gpio_chip_guard { + struct gpio_device *gdev; + struct gpio_chip *gc; + int idx; +}; + +typedef struct gpio_chip_guard class_gpio_chip_guard_t; + +struct gpio_desc_label; + +struct gpio_desc { + struct gpio_device *gdev; + long unsigned int flags; + struct gpio_desc_label *label; + const char *name; + unsigned int debounce_period_us; +}; + +struct gpio_desc_label { + struct callback_head rh; + char str[0]; +}; + +struct gpio_descs { + struct gpio_array *info; + unsigned int ndescs; + struct gpio_desc *desc[0]; +}; + +struct gpio_device { + struct device dev; + struct cdev chrdev; + int id; + struct module *owner; + struct gpio_chip *chip; + struct gpio_desc *descs; + long unsigned int *valid_mask; + struct srcu_struct desc_srcu; + unsigned int base; + u16 ngpio; + bool can_sleep; + const char *label; + void *data; + struct list_head list; + struct raw_notifier_head line_state_notifier; + rwlock_t line_state_lock; + struct workqueue_struct *line_state_wq; + struct blocking_notifier_head device_notifier; + struct srcu_struct srcu; + struct list_head pin_ranges; +}; + +struct irq_fwspec { + struct fwnode_handle *fwnode; + int param_count; + u32 param[16]; +}; + +struct ioapic_alloc_info { + int pin; + int node; + u32 is_level: 1; + u32 active_low: 1; + u32 valid: 1; +}; + +struct uv_alloc_info { + int limit; + int blade; + long unsigned int offset; + char *name; +}; + +struct msi_desc; + +struct irq_alloc_info { + enum irq_alloc_type type; + u32 flags; + u32 devid; + irq_hw_number_t hwirq; + const struct cpumask *mask; + struct msi_desc *desc; + void *data; + union { + struct ioapic_alloc_info ioapic; + struct uv_alloc_info uv; + }; +}; + +typedef struct irq_alloc_info msi_alloc_info_t; + +union gpio_irq_fwspec { + struct irq_fwspec fwspec; + msi_alloc_info_t msiinfo; +}; + +struct pinctrl_gpio_range { + struct list_head node; + const char *name; + unsigned int id; + unsigned int base; + unsigned int pin_base; + unsigned int npins; + const unsigned int *pins; + struct gpio_chip *gc; +}; + +struct gpio_pin_range { + struct list_head node; + struct pinctrl_dev *pctldev; + struct pinctrl_gpio_range range; +}; + +struct gpio_v2_line_config_attribute { + struct gpio_v2_line_attribute attr; + __u64 mask; +}; + +struct gpio_v2_line_config { + __u64 flags; + __u32 num_attrs; + __u32 padding[5]; + struct gpio_v2_line_config_attribute attrs[10]; +}; + +struct gpio_v2_line_event { + __u64 timestamp_ns; + __u32 id; + __u32 offset; + __u32 seqno; + __u32 line_seqno; + __u32 padding[6]; +}; + +struct gpio_v2_line_request { + __u32 offsets[64]; + char consumer[32]; + struct gpio_v2_line_config config; + __u32 num_lines; + __u32 event_buffer_size; + __u32 padding[5]; + __s32 fd; +}; + +struct gpio_v2_line_values { + __u64 bits; + __u64 mask; +}; + +struct gpiochip_info { + char name[32]; + char label[32]; + __u32 lines; +}; + +struct gpiod_data { + struct list_head list; + struct gpio_desc *desc; + struct device *dev; + struct mutex mutex; + struct kernfs_node *value_kn; + int irq; + unsigned char irq_flags; + bool direction_can_change; + struct kobject *parent; + struct device_attribute dir_attr; + struct device_attribute val_attr; + struct device_attribute edge_attr; + struct device_attribute active_low_attr; + struct attribute *class_attrs[5]; + struct attribute_group class_attr_group; + const struct attribute_group *class_attr_groups[2]; + struct attribute *chip_attrs[3]; + struct attribute_group chip_attr_group; + const struct attribute_group *chip_attr_groups[2]; +}; + +struct gpiod_hog { + struct list_head list; + const char *chip_label; + u16 chip_hwnum; + const char *line_name; + long unsigned int lflags; + int dflags; +}; + +struct gpiod_lookup { + const char *key; + u16 chip_hwnum; + const char *con_id; + unsigned int idx; + long unsigned int flags; +}; + +struct gpiod_lookup_table { + struct list_head list; + const char *dev_id; + struct gpiod_lookup table[0]; +}; + +struct gpiodev_data { + struct list_head exported_lines; + struct gpio_device *gdev; + struct device *cdev_id; + struct device *cdev_base; +}; + +struct gpioevent_data { + __u64 timestamp; + __u32 id; +}; + +struct gpioevent_request { + __u32 lineoffset; + __u32 handleflags; + __u32 eventflags; + char consumer_label[32]; + int fd; +}; + +struct gpiohandle_config { + __u32 flags; + __u8 default_values[64]; + __u32 padding[4]; +}; + +struct gpiohandle_data { + __u8 values[64]; +}; + +struct gpiohandle_request { + __u32 lineoffsets[64]; + __u32 flags; + __u8 default_values[64]; + char consumer_label[32]; + __u32 lines; + int fd; +}; + +struct gpiolib_seq_priv { + bool newline; + int idx; +}; + +struct gpioline_info { + __u32 line_offset; + __u32 flags; + char name[32]; + char consumer[32]; +}; + +struct gpioline_info_changed { + struct gpioline_info info; + __u64 timestamp; + __u32 event_type; + __u32 padding[5]; +}; + +struct grant { + grant_ref_t gref; + struct page *page; + struct list_head node; +}; + +struct grant_entry_header { + uint16_t flags; + domid_t domid; +}; + +struct grant_entry_v1 { + uint16_t flags; + domid_t domid; + uint32_t frame; +}; + +union grant_entry_v2 { + struct grant_entry_header hdr; + struct { + struct grant_entry_header hdr; + uint32_t pad0; + uint64_t frame; + } full_page; + struct { + struct grant_entry_header hdr; + uint16_t page_off; + uint16_t length; + uint64_t frame; + } sub_page; + struct { + struct grant_entry_header hdr; + domid_t trans_domid; + uint16_t pad0; + grant_ref_t gref; + } transitive; + uint32_t __spacer[4]; +}; + +struct grant_frames { + xen_pfn_t *pfn; + unsigned int count; + void *vaddr; +}; + +struct gre_base_hdr { + __be16 flags; + __be16 protocol; +}; + +struct gre_full_hdr { + struct gre_base_hdr fixed_header; + __be16 csum; + __be16 reserved1; + __be32 key; + __be32 seq; +}; + +struct irq_affinity_notify { + unsigned int irq; + struct kref kref; + struct work_struct work; + void (*notify)(struct irq_affinity_notify *, const cpumask_t *); + void (*release)(struct kref *); +}; + +struct napi_config; + +struct napi_struct { + struct list_head poll_list; + long unsigned int state; + int weight; + u32 defer_hard_irqs_count; + int (*poll)(struct napi_struct *, int); + int poll_owner; + int list_owner; + struct net_device *dev; + struct sk_buff *skb; + struct gro_node gro; + struct hrtimer timer; + struct task_struct *thread; + long unsigned int gro_flush_timeout; + long unsigned int irq_suspend_timeout; + u32 defer_hard_irqs; + u32 napi_id; + struct list_head dev_list; + struct hlist_node napi_hash_node; + int irq; + struct irq_affinity_notify notify; + int napi_rmap_idx; + int index; + struct napi_config *config; +}; + +struct gro_cell { + struct sk_buff_head napi_skbs; + struct napi_struct napi; +}; + +struct gro_cells { + struct gro_cell *cells; +}; + +struct group_device { + struct list_head list; + struct device *dev; + char *name; +}; + +struct group_filter { + union { + struct { + __u32 gf_interface_aux; + struct __kernel_sockaddr_storage gf_group_aux; + __u32 gf_fmode_aux; + __u32 gf_numsrc_aux; + struct __kernel_sockaddr_storage gf_slist[1]; + }; + struct { + __u32 gf_interface; + struct __kernel_sockaddr_storage gf_group; + __u32 gf_fmode; + __u32 gf_numsrc; + struct __kernel_sockaddr_storage gf_slist_flex[0]; + }; + }; +}; + +struct group_for_pci_data { + struct pci_dev *pdev; + struct iommu_group *group; +}; + +struct group_info { + refcount_t usage; + int ngroups; + kgid_t gid[0]; +}; + +struct group_req { + __u32 gr_interface; + struct __kernel_sockaddr_storage gr_group; +}; + +struct group_source_req { + __u32 gsr_interface; + struct __kernel_sockaddr_storage gsr_group; + struct __kernel_sockaddr_storage gsr_source; +}; + +struct gsb_buffer { + u8 status; + u8 len; + union { + u16 wdata; + u8 bdata; + struct { + struct {} __empty_data; + u8 data[0]; + }; + }; +}; + +struct rpcsec_gss_oid { + unsigned int len; + u8 data[32]; +}; + +struct gss_api_ops; + +struct pf_desc; + +struct gss_api_mech { + struct list_head gm_list; + struct module *gm_owner; + struct rpcsec_gss_oid gm_oid; + char *gm_name; + const struct gss_api_ops *gm_ops; + int gm_pf_num; + struct pf_desc *gm_pfs; + const char *gm_upcall_enctypes; +}; + +struct gss_ctx; + +struct xdr_buf; + +struct xdr_netobj; + +struct gss_api_ops { + int (*gss_import_sec_context)(const void *, size_t, struct gss_ctx *, time64_t *, gfp_t); + u32 (*gss_get_mic)(struct gss_ctx *, struct xdr_buf *, struct xdr_netobj *); + u32 (*gss_verify_mic)(struct gss_ctx *, struct xdr_buf *, struct xdr_netobj *); + u32 (*gss_wrap)(struct gss_ctx *, int, struct xdr_buf *, struct page **); + u32 (*gss_unwrap)(struct gss_ctx *, int, int, struct xdr_buf *); + void (*gss_delete_sec_context)(void *); +}; + +struct gss_ctx { + struct gss_api_mech *mech_type; + void *internal_ctx_id; + unsigned int slack; + unsigned int align; +}; + +struct h_misc { + long unsigned int ino; + __u32 generation; + uid_t uid; + gid_t gid; + umode_t mode; +}; + +union handle_parts { + depot_stack_handle_t handle; + struct { + u32 pool_index_plus_1: 17; + u32 offset: 10; + u32 extra: 5; + }; +}; + +struct handle_to_path_ctx { + struct path root; + enum handle_to_path_flags flags; + unsigned int fh_flags; +}; + +struct handshake_net { + spinlock_t hn_lock; + int hn_pending; + int hn_pending_max; + struct list_head hn_requests; + long unsigned int hn_flags; +}; + +struct handshake_req; + +struct handshake_proto { + int hp_handler_class; + size_t hp_privsize; + long unsigned int hp_flags; + int (*hp_accept)(struct handshake_req *, struct genl_info *, int); + void (*hp_done)(struct handshake_req *, unsigned int, struct genl_info *); + void (*hp_destroy)(struct handshake_req *); +}; + +struct handshake_req { + struct list_head hr_list; + struct rhash_head hr_rhash; + long unsigned int hr_flags; + const struct handshake_proto *hr_proto; + struct sock *hr_sk; + void (*hr_odestruct)(struct sock *); + char hr_priv[0]; +}; + +struct hash { + int ino; + int minor; + int major; + umode_t mode; + struct hash *next; + char name[4098]; +}; + +struct hash_cell { + struct rb_node name_node; + struct rb_node uuid_node; + bool name_set; + bool uuid_set; + char *name; + char *uuid; + struct mapped_device *md; + struct dm_table *new_map; +}; + +struct hash_prefix { + const char *name; + const u8 *data; + size_t size; +}; + +struct hashtab_key_params { + u32 (*hash)(const void *); + int (*cmp)(const void *, const void *); +}; + +struct hashtab_node { + void *key; + void *datum; + struct hashtab_node *next; +}; + +struct hc_driver { + const char *description; + const char *product_desc; + size_t hcd_priv_size; + irqreturn_t (*irq)(struct usb_hcd *); + int flags; + int (*reset)(struct usb_hcd *); + int (*start)(struct usb_hcd *); + int (*pci_suspend)(struct usb_hcd *, bool); + int (*pci_resume)(struct usb_hcd *, pm_message_t); + int (*pci_poweroff_late)(struct usb_hcd *, bool); + void (*stop)(struct usb_hcd *); + void (*shutdown)(struct usb_hcd *); + int (*get_frame_number)(struct usb_hcd *); + int (*urb_enqueue)(struct usb_hcd *, struct urb *, gfp_t); + int (*urb_dequeue)(struct usb_hcd *, struct urb *, int); + int (*map_urb_for_dma)(struct usb_hcd *, struct urb *, gfp_t); + void (*unmap_urb_for_dma)(struct usb_hcd *, struct urb *); + void (*endpoint_disable)(struct usb_hcd *, struct usb_host_endpoint *); + void (*endpoint_reset)(struct usb_hcd *, struct usb_host_endpoint *); + int (*hub_status_data)(struct usb_hcd *, char *); + int (*hub_control)(struct usb_hcd *, u16, u16, u16, char *, u16); + int (*bus_suspend)(struct usb_hcd *); + int (*bus_resume)(struct usb_hcd *); + int (*start_port_reset)(struct usb_hcd *, unsigned int); + long unsigned int (*get_resuming_ports)(struct usb_hcd *); + void (*relinquish_port)(struct usb_hcd *, int); + int (*port_handed_over)(struct usb_hcd *, int); + void (*clear_tt_buffer_complete)(struct usb_hcd *, struct usb_host_endpoint *); + int (*alloc_dev)(struct usb_hcd *, struct usb_device *); + void (*free_dev)(struct usb_hcd *, struct usb_device *); + int (*alloc_streams)(struct usb_hcd *, struct usb_device *, struct usb_host_endpoint **, unsigned int, unsigned int, gfp_t); + int (*free_streams)(struct usb_hcd *, struct usb_device *, struct usb_host_endpoint **, unsigned int, gfp_t); + int (*add_endpoint)(struct usb_hcd *, struct usb_device *, struct usb_host_endpoint *); + int (*drop_endpoint)(struct usb_hcd *, struct usb_device *, struct usb_host_endpoint *); + int (*check_bandwidth)(struct usb_hcd *, struct usb_device *); + void (*reset_bandwidth)(struct usb_hcd *, struct usb_device *); + int (*address_device)(struct usb_hcd *, struct usb_device *, unsigned int); + int (*enable_device)(struct usb_hcd *, struct usb_device *); + int (*update_hub_device)(struct usb_hcd *, struct usb_device *, struct usb_tt *, gfp_t); + int (*reset_device)(struct usb_hcd *, struct usb_device *); + int (*update_device)(struct usb_hcd *, struct usb_device *); + int (*set_usb2_hw_lpm)(struct usb_hcd *, struct usb_device *, int); + int (*enable_usb3_lpm_timeout)(struct usb_hcd *, struct usb_device *, enum usb3_link_state); + int (*disable_usb3_lpm_timeout)(struct usb_hcd *, struct usb_device *, enum usb3_link_state); + int (*find_raw_port_number)(struct usb_hcd *, int); + int (*port_power)(struct usb_hcd *, int, bool); + int (*submit_single_step_set_feature)(struct usb_hcd *, struct urb *, int); +}; + +struct hd_geometry { + unsigned char heads; + unsigned char sectors; + short unsigned int cylinders; + long unsigned int start; +}; + +struct header_iter { + struct pci_dev *dev; +}; + +struct hh_cache; + +struct header_ops { + int (*create)(struct sk_buff *, struct net_device *, short unsigned int, const void *, const void *, unsigned int); + int (*parse)(const struct sk_buff *, unsigned char *); + int (*cache)(const struct neighbour *, struct hh_cache *, __be16); + void (*cache_update)(struct hh_cache *, const struct net_device *, const unsigned char *); + bool (*validate)(const char *, unsigned int); + __be16 (*parse_protocol)(const struct sk_buff *); +}; + +struct hfi_cpu_data { + u8 perf_cap; + u8 ee_cap; +}; + +struct hfi_instance; + +struct hfi_cpu_info { + s16 index; + struct hfi_instance *hfi_instance; +}; + +struct hfi_features { + size_t nr_table_pages; + unsigned int cpu_stride; + unsigned int hdr_size; +}; + +struct hfi_instance { + union { + void *local_table; + u64 *timestamp; + }; + void *hdr; + void *data; + cpumask_var_t cpus; + void *hw_table; + struct delayed_work update_work; + raw_spinlock_t table_lock; + raw_spinlock_t event_lock; +}; + +struct hh_cache { + unsigned int hh_len; + seqlock_t hh_lock; + long unsigned int hh_data[16]; +}; + +struct hib_bio_batch { + atomic_t count; + wait_queue_head_t wait; + blk_status_t error; + struct blk_plug plug; +}; + +struct hid_bpf { + u8 *device_data; + u32 allocated_data; + bool destroyed; + struct hid_bpf_ops *rdesc_ops; + struct list_head prog_list; + struct mutex prog_list_lock; + struct srcu_struct srcu; +}; + +struct hid_bpf_ctx { + struct hid_device *hid; + __u32 allocated_size; + union { + __s32 retval; + __s32 size; + }; +}; + +struct hid_bpf_ctx_kern { + struct hid_bpf_ctx ctx; + u8 *data; + bool from_bpf; +}; + +struct hid_bpf_offset_write_range { + const char *struct_name; + u32 struct_length; + u32 start; + u32 end; +}; + +struct hid_collection { + int parent_idx; + unsigned int type; + unsigned int usage; + unsigned int level; +}; + +struct hid_report; + +struct hid_report_enum { + unsigned int numbered; + struct list_head report_list; + struct hid_report *report_id_hash[256]; +}; + +struct semaphore { + raw_spinlock_t lock; + unsigned int count; + struct list_head wait_list; + long unsigned int last_holder; +}; + +struct hid_driver; + +struct hid_ll_driver; + +struct hid_field; + +struct hid_usage; + +struct hid_device { + const __u8 *dev_rdesc; + const __u8 *bpf_rdesc; + const __u8 *rdesc; + unsigned int dev_rsize; + unsigned int bpf_rsize; + unsigned int rsize; + unsigned int collection_size; + struct hid_collection *collection; + unsigned int maxcollection; + unsigned int maxapplication; + __u16 bus; + __u16 group; + __u32 vendor; + __u32 product; + __u32 version; + enum hid_type type; + unsigned int country; + struct hid_report_enum report_enum[3]; + struct work_struct led_work; + struct semaphore driver_input_lock; + struct device dev; + struct hid_driver *driver; + void *devres_group_id; + const struct hid_ll_driver *ll_driver; + struct mutex ll_open_lock; + unsigned int ll_open_count; + struct power_supply *battery; + __s32 battery_capacity; + __s32 battery_min; + __s32 battery_max; + __s32 battery_report_type; + __s32 battery_report_id; + __s32 battery_charge_status; + enum hid_battery_status battery_status; + bool battery_avoid_query; + ktime_t battery_ratelimit_time; + long unsigned int status; + unsigned int claimed; + unsigned int quirks; + unsigned int initial_quirks; + bool io_started; + struct list_head inputs; + void *hiddev; + void *hidraw; + char name[128]; + char phys[64]; + char uniq[64]; + void *driver_data; + int (*ff_init)(struct hid_device *); + int (*hiddev_connect)(struct hid_device *, unsigned int); + void (*hiddev_disconnect)(struct hid_device *); + void (*hiddev_hid_event)(struct hid_device *, struct hid_field *, struct hid_usage *, __s32); + void (*hiddev_report_event)(struct hid_device *, struct hid_report *); + short unsigned int debug; + struct dentry *debug_dir; + struct dentry *debug_rdesc; + struct dentry *debug_events; + struct list_head debug_list; + spinlock_t debug_list_lock; + wait_queue_head_t debug_wait; + struct kref ref; + unsigned int id; + struct hid_bpf bpf; +}; + +struct hid_device_id { + __u16 bus; + __u16 group; + __u32 vendor; + __u32 product; + kernel_ulong_t driver_data; +}; + +struct hid_report_id; + +struct hid_usage_id; + +struct hid_input; + +struct hid_driver { + char *name; + const struct hid_device_id *id_table; + struct list_head dyn_list; + spinlock_t dyn_lock; + bool (*match)(struct hid_device *, bool); + int (*probe)(struct hid_device *, const struct hid_device_id *); + void (*remove)(struct hid_device *); + const struct hid_report_id *report_table; + int (*raw_event)(struct hid_device *, struct hid_report *, u8 *, int); + const struct hid_usage_id *usage_table; + int (*event)(struct hid_device *, struct hid_field *, struct hid_usage *, __s32); + void (*report)(struct hid_device *, struct hid_report *); + const __u8 * (*report_fixup)(struct hid_device *, __u8 *, unsigned int *); + int (*input_mapping)(struct hid_device *, struct hid_input *, struct hid_field *, struct hid_usage *, long unsigned int **, int *); + int (*input_mapped)(struct hid_device *, struct hid_input *, struct hid_field *, struct hid_usage *, long unsigned int **, int *); + int (*input_configured)(struct hid_device *, struct hid_input *); + void (*feature_mapping)(struct hid_device *, struct hid_field *, struct hid_usage *); + int (*suspend)(struct hid_device *, pm_message_t); + int (*resume)(struct hid_device *); + int (*reset_resume)(struct hid_device *); + void (*on_hid_hw_open)(struct hid_device *); + void (*on_hid_hw_close)(struct hid_device *); + struct device_driver driver; +}; + +struct hid_field { + unsigned int physical; + unsigned int logical; + unsigned int application; + struct hid_usage *usage; + unsigned int maxusage; + unsigned int flags; + unsigned int report_offset; + unsigned int report_size; + unsigned int report_count; + unsigned int report_type; + __s32 *value; + __s32 *new_value; + __s32 *usages_priorities; + __s32 logical_minimum; + __s32 logical_maximum; + __s32 physical_minimum; + __s32 physical_maximum; + __s32 unit_exponent; + unsigned int unit; + bool ignored; + struct hid_report *report; + unsigned int index; + struct hid_input *hidinput; + __u16 dpad; + unsigned int slot_idx; +}; + +struct hid_field_entry { + struct list_head list; + struct hid_field *field; + unsigned int index; + __s32 priority; +}; + +struct hid_input { + struct list_head list; + struct hid_report *report; + struct input_dev *input; + const char *name; + struct list_head reports; + unsigned int application; + bool registered; +}; + +struct hid_ll_driver { + int (*start)(struct hid_device *); + void (*stop)(struct hid_device *); + int (*open)(struct hid_device *); + void (*close)(struct hid_device *); + int (*power)(struct hid_device *, int); + int (*parse)(struct hid_device *); + void (*request)(struct hid_device *, struct hid_report *, int); + int (*wait)(struct hid_device *); + int (*raw_request)(struct hid_device *, unsigned char, __u8 *, size_t, unsigned char, int); + int (*output_report)(struct hid_device *, __u8 *, size_t); + int (*idle)(struct hid_device *, int, int, int); + bool (*may_wakeup)(struct hid_device *); + unsigned int max_buffer_size; +}; + +struct hid_ops { + struct hid_report * (*hid_get_report)(struct hid_report_enum *, const u8 *); + int (*hid_hw_raw_request)(struct hid_device *, unsigned char, __u8 *, size_t, enum hid_report_type, enum hid_class_request, u64, bool); + int (*hid_hw_output_report)(struct hid_device *, __u8 *, size_t, u64, bool); + int (*hid_input_report)(struct hid_device *, enum hid_report_type, u8 *, u32, int, u64, bool, bool); + struct module *owner; + const struct bus_type *bus_type; +}; + +struct hid_report { + struct list_head list; + struct list_head hidinput_list; + struct list_head field_entry_list; + unsigned int id; + enum hid_report_type type; + unsigned int application; + struct hid_field *field[256]; + struct hid_field_entry *field_entries; + unsigned int maxfield; + unsigned int size; + struct hid_device *device; + bool tool_active; + unsigned int tool; +}; + +struct hid_report_id { + __u32 report_type; +}; + +struct hid_uid { + const char *hid; + const char *uid; +}; + +struct hid_usage { + unsigned int hid; + unsigned int collection_index; + unsigned int usage_index; + __s8 resolution_multiplier; + __s8 wheel_factor; + __u16 code; + __u8 type; + __s16 hat_min; + __s16 hat_max; + __s16 hat_dir; + __s16 wheel_accumulated; +}; + +struct hid_usage_id { + __u32 usage_hid; + __u32 usage_type; + __u32 usage_code; +}; + +struct hist_elt_data { + char *comm; + u64 *var_ref_vals; + char **field_var_str; + int n_field_var_str; +}; + +struct hist_var { + char *name; + struct hist_trigger_data *hist_data; + unsigned int idx; +}; + +struct hist_field { + struct ftrace_event_field *field; + long unsigned int flags; + long unsigned int buckets; + const char *type; + struct hist_field *operands[2]; + struct hist_trigger_data *hist_data; + enum hist_field_fn fn_num; + unsigned int ref; + unsigned int size; + unsigned int offset; + unsigned int is_signed; + struct hist_var var; + enum field_op_id operator; + char *system; + char *event_name; + char *name; + unsigned int var_ref_idx; + bool read_once; + unsigned int var_str_idx; + u64 constant; + u64 div_multiplier; +}; + +struct hist_file_data { + struct file *file; + u64 last_read; + u64 last_act; +}; + +struct hist_pad { + long unsigned int entries[16]; + u64 var_ref_vals[16]; + char compound_key[384]; +}; + +struct var_defs { + unsigned int n_vars; + char *name[16]; + char *expr[16]; +}; + +struct hist_trigger_attrs { + char *keys_str; + char *vals_str; + char *sort_key_str; + char *name; + char *clock; + bool pause; + bool cont; + bool clear; + bool ts_in_usecs; + bool no_hitcount; + unsigned int map_bits; + char *assignment_str[16]; + unsigned int n_assignments; + char *action_str[8]; + unsigned int n_actions; + struct var_defs var_defs; +}; + +struct tracing_map_sort_key { + unsigned int field_idx; + bool descending; +}; + +struct tracing_map; + +struct hist_trigger_data { + struct hist_field *fields[22]; + unsigned int n_vals; + unsigned int n_keys; + unsigned int n_fields; + unsigned int n_vars; + unsigned int n_var_str; + unsigned int key_size; + struct tracing_map_sort_key sort_keys[2]; + unsigned int n_sort_keys; + struct trace_event_file *event_file; + struct hist_trigger_attrs *attrs; + struct tracing_map *map; + bool enable_timestamps; + bool remove; + struct hist_field *var_refs[16]; + unsigned int n_var_refs; + struct action_data *actions[8]; + unsigned int n_actions; + struct field_var *field_vars[64]; + unsigned int n_field_vars; + unsigned int n_field_var_str; + struct field_var_hist *field_var_hists[64]; + unsigned int n_field_var_hists; + struct field_var *save_vars[64]; + unsigned int n_save_vars; + unsigned int n_save_var_str; +}; + +struct hist_val_stat { + u64 max; + u64 total; +}; + +struct hist_var_data { + struct list_head list; + struct hist_trigger_data *hist_data; +}; + +struct history_info { + char *command; + u32 cmd_num; +}; + +typedef struct history_info HISTORY_INFO; + +struct hkdf_testvec { + const char *test; + const u8 *ikm; + const u8 *salt; + const u8 *info; + const u8 *prk; + const u8 *okm; + u16 ikm_size; + u16 salt_size; + u16 info_size; + u16 prk_size; + u16 okm_size; +}; + +struct hlist_bl_head { + struct hlist_bl_node *first; +}; + +struct hmac_ctx { + struct crypto_shash *hash; + u8 pads[0]; +}; + +struct sha1_block_state { + u32 h[5]; +}; + +struct sha1_ctx { + struct sha1_block_state state; + u64 bytecount; + u8 buf[64]; +}; + +struct hmac_sha1_ctx { + struct sha1_ctx sha_ctx; + struct sha1_block_state ostate; +}; + +struct hmac_sha1_key { + struct sha1_block_state istate; + struct sha1_block_state ostate; +}; + +struct hmac_sha224_ctx { + struct __hmac_sha256_ctx ctx; +}; + +struct hmac_sha224_key { + struct __hmac_sha256_key key; +}; + +struct hmac_sha256_ctx { + struct __hmac_sha256_ctx ctx; +}; + +struct hmac_sha256_key { + struct __hmac_sha256_key key; +}; + +struct hmac_sha384_ctx { + struct __hmac_sha512_ctx ctx; +}; + +struct hmac_sha384_key { + struct __hmac_sha512_key key; +}; + +struct hmac_sha512_ctx { + struct __hmac_sha512_ctx ctx; +}; + +struct hmac_sha512_key { + struct __hmac_sha512_key key; +}; + +struct hmac_storage { + local_lock_t bh_lock; + char hmac_ring[256]; +}; + +struct hmm_dma_map { + struct dma_iova_state state; + long unsigned int *pfn_list; + dma_addr_t *dma_list; + size_t dma_entry_size; +}; + +struct mmu_interval_notifier; + +struct hmm_range { + struct mmu_interval_notifier *notifier; + long unsigned int notifier_seq; + long unsigned int start; + long unsigned int end; + long unsigned int *hmm_pfns; + long unsigned int default_flags; + long unsigned int pfn_flags_mask; + void *dev_private_owner; +}; + +struct hmm_vma_walk { + struct hmm_range *range; + long unsigned int last; +}; + +struct hop_jumbo_hdr { + u8 nexthdr; + u8 hdrlen; + u8 tlv_type; + u8 tlv_len; + __be32 jumbo_payload_len; +}; + +struct hotplug_slot_ops { + int (*enable_slot)(struct hotplug_slot *); + int (*disable_slot)(struct hotplug_slot *); + int (*set_attention_status)(struct hotplug_slot *, u8); + int (*hardware_test)(struct hotplug_slot *, u32); + int (*get_power_status)(struct hotplug_slot *, u8 *); + int (*get_attention_status)(struct hotplug_slot *, u8 *); + int (*get_latch_status)(struct hotplug_slot *, u8 *); + int (*get_adapter_status)(struct hotplug_slot *, u8 *); + int (*reset_slot)(struct hotplug_slot *, bool); +}; + +struct housekeeping { + cpumask_var_t cpumasks[3]; + long unsigned int flags; +}; + +struct hpet_timer { + u64 hpet_config; + union { + u64 _hpet_hc64; + u32 _hpet_hc32; + long unsigned int _hpet_compare; + } _u1; + u64 hpet_fsb[2]; +}; + +struct hpet { + u64 hpet_cap; + u64 res0; + u64 hpet_config; + u64 res1; + u64 hpet_isr; + u64 res2[25]; + union { + u64 _hpet_mc64; + u32 _hpet_mc32; + long unsigned int _hpet_mc; + } _u0; + u64 res3; + struct hpet_timer hpet_timers[0]; +}; + +struct hpet_channel; + +struct hpet_base { + unsigned int nr_channels; + unsigned int nr_clockevents; + unsigned int boot_cfg; + struct hpet_channel *channels; +}; + +struct hpet_channel { + struct clock_event_device evt; + unsigned int num; + unsigned int cpu; + unsigned int irq; + unsigned int in_use; + enum hpet_mode mode; + unsigned int boot_cfg; + char name[10]; + long: 64; + long: 64; + long: 64; +}; + +struct hpet_data { + long unsigned int hd_phys_address; + void *hd_address; + short unsigned int hd_nirqs; + unsigned int hd_state; + unsigned int hd_irq[32]; +}; + +struct hpets; + +struct hpet_dev { + struct hpets *hd_hpets; + struct hpet *hd_hpet; + struct hpet_timer *hd_timer; + long unsigned int hd_ireqfreq; + long unsigned int hd_irqdata; + wait_queue_head_t hd_waitqueue; + struct fasync_struct *hd_async_queue; + unsigned int hd_flags; + unsigned int hd_irq; + unsigned int hd_hdwirq; + char hd_name[7]; +}; + +struct hpet_info { + long unsigned int hi_ireqfreq; + long unsigned int hi_flags; + short unsigned int hi_hpet; + short unsigned int hi_timer; +}; + +union hpet_lock { + struct { + arch_spinlock_t lock; + u32 value; + }; + u64 lockval; +}; + +struct hpet_scope { + struct intel_iommu *iommu; + u8 id; + unsigned int bus; + unsigned int devfn; +}; + +struct hpets { + struct hpets *hp_next; + struct hpet *hp_hpet; + long unsigned int hp_hpet_phys; + long long unsigned int hp_tick_freq; + long unsigned int hp_delta; + unsigned int hp_ntimer; + unsigned int hp_which; + struct hpet_dev hp_dev[0]; +}; + +struct hprobe { + enum hprobe_state state; + int srcu_idx; + struct uprobe *uprobe; +}; + +struct hpx_type0 { + u32 revision; + u8 cache_line_size; + u8 latency_timer; + u8 enable_serr; + u8 enable_perr; +}; + +struct hpx_type1 { + u32 revision; + u8 max_mem_read; + u8 avg_max_split; + u16 tot_max_split; +}; + +struct hpx_type2 { + u32 revision; + u32 unc_err_mask_and; + u32 unc_err_mask_or; + u32 unc_err_sever_and; + u32 unc_err_sever_or; + u32 cor_err_mask_and; + u32 cor_err_mask_or; + u32 adv_err_cap_and; + u32 adv_err_cap_or; + u16 pci_exp_devctl_and; + u16 pci_exp_devctl_or; + u16 pci_exp_lnkctl_and; + u16 pci_exp_lnkctl_or; + u32 sec_unc_err_sever_and; + u32 sec_unc_err_sever_or; + u32 sec_unc_err_mask_and; + u32 sec_unc_err_mask_or; +}; + +struct hpx_type3 { + u16 device_type; + u16 function_type; + u16 config_space_location; + u16 pci_exp_cap_id; + u16 pci_exp_cap_ver; + u16 pci_exp_vendor_id; + u16 dvsec_id; + u16 dvsec_rev; + u16 match_offset; + u32 match_mask_and; + u32 match_value; + u16 reg_offset; + u32 reg_mask_and; + u32 reg_mask_or; +}; + +struct seqcount_raw_spinlock { + seqcount_t seqcount; +}; + +typedef struct seqcount_raw_spinlock seqcount_raw_spinlock_t; + +struct hrtimer_cpu_base; + +struct hrtimer_clock_base { + struct hrtimer_cpu_base *cpu_base; + unsigned int index; + clockid_t clockid; + seqcount_raw_spinlock_t seq; + struct hrtimer *running; + struct timerqueue_head active; + ktime_t (*get_time)(void); + ktime_t offset; +}; + +struct hrtimer_cpu_base { + raw_spinlock_t lock; + unsigned int cpu; + unsigned int active_bases; + unsigned int clock_was_set_seq; + unsigned int hres_active: 1; + unsigned int in_hrtirq: 1; + unsigned int hang_detected: 1; + unsigned int softirq_activated: 1; + unsigned int online: 1; + unsigned int nr_events; + short unsigned int nr_retries; + short unsigned int nr_hangs; + unsigned int max_hang_time; + ktime_t expires_next; + struct hrtimer *next_timer; + ktime_t softirq_expires_next; + struct hrtimer *softirq_next_timer; + struct hrtimer_clock_base clock_base[8]; + call_single_data_t csd; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct hrtimer_sleeper { + struct hrtimer timer; + struct task_struct *task; +}; + +struct hsr_tag { + __be16 path_and_LSDU_size; + __be16 sequence_nr; + __be16 encap_proto; +}; + +struct hstate { + struct mutex resize_lock; + struct lock_class_key resize_key; + int next_nid_to_alloc; + int next_nid_to_free; + unsigned int order; + unsigned int demote_order; + long unsigned int mask; + long unsigned int max_huge_pages; + long unsigned int nr_huge_pages; + long unsigned int free_huge_pages; + long unsigned int resv_huge_pages; + long unsigned int surplus_huge_pages; + long unsigned int nr_overcommit_huge_pages; + struct list_head hugepage_activelist; + struct list_head hugepage_freelists[1024]; + unsigned int max_huge_pages_node[1024]; + unsigned int nr_huge_pages_node[1024]; + unsigned int free_huge_pages_node[1024]; + unsigned int surplus_huge_pages_node[1024]; + char name[32]; +}; + +struct hsu_dma_chan; + +struct hsu_dma { + struct dma_device dma; + struct hsu_dma_chan *chan; + short unsigned int nr_channels; +}; + +struct virt_dma_chan { + struct dma_chan chan; + struct tasklet_struct task; + void (*desc_free)(struct virt_dma_desc *); + spinlock_t lock; + struct list_head desc_allocated; + struct list_head desc_submitted; + struct list_head desc_issued; + struct list_head desc_completed; + struct list_head desc_terminated; + struct virt_dma_desc *cyclic; +}; + +struct hsu_dma_desc; + +struct hsu_dma_chan { + struct virt_dma_chan vchan; + void *reg; + enum dma_transfer_direction direction; + struct dma_slave_config config; + struct hsu_dma_desc *desc; +}; + +struct hsu_dma_chip { + struct device *dev; + int irq; + void *regs; + unsigned int length; + unsigned int offset; + struct hsu_dma *hsu; +}; + +struct hsu_dma_sg; + +struct hsu_dma_desc { + struct virt_dma_desc vdesc; + enum dma_transfer_direction direction; + struct hsu_dma_sg *sg; + unsigned int nents; + size_t length; + unsigned int active; + enum dma_status status; +}; + +struct hsu_dma_sg { + dma_addr_t addr; + unsigned int len; +}; + +struct hsu_dma_slave { + struct device *dma_dev; + int chan_id; +}; + +union hsw_tsx_tuning { + struct { + u32 cycles_last_block: 32; + u32 hle_abort: 1; + u32 rtm_abort: 1; + u32 instruction_abort: 1; + u32 non_instruction_abort: 1; + u32 retry: 1; + u32 data_conflict: 1; + u32 capacity_writes: 1; + u32 capacity_reads: 1; + }; + u64 value; +}; + +struct pcpu_freelist_node { + struct pcpu_freelist_node *next; +}; + +struct htab_elem { + union { + struct hlist_nulls_node hash_node; + struct { + void *padding; + union { + struct pcpu_freelist_node fnode; + struct htab_elem *batch_flink; + }; + }; + }; + union { + void *ptr_to_pptr; + struct bpf_lru_node lru_node; + }; + u32 hash; + long: 0; + char key[0]; +}; + +struct hte_ops; + +struct of_phandle_args; + +struct hte_ts_desc; + +struct hte_device; + +struct hte_chip { + const char *name; + struct device *dev; + const struct hte_ops *ops; + u32 nlines; + int (*xlate_of)(struct hte_chip *, const struct of_phandle_args *, struct hte_ts_desc *, u32 *); + int (*xlate_plat)(struct hte_chip *, struct hte_ts_desc *, u32 *); + bool (*match_from_linedata)(const struct hte_chip *, const struct hte_ts_desc *); + u8 of_hte_n_cells; + struct hte_device *gdev; + void *data; +}; + +struct hte_clk_info { + u64 hz; + clockid_t type; +}; + +struct hte_ts_data; + +typedef enum hte_return (*hte_ts_cb_t)(struct hte_ts_data *, void *); + +typedef enum hte_return (*hte_ts_sec_cb_t)(void *); + +struct hte_ts_info { + u32 xlated_id; + long unsigned int flags; + long unsigned int hte_cb_flags; + u64 seq; + char *line_name; + bool free_attr_name; + hte_ts_cb_t cb; + hte_ts_sec_cb_t tcb; + atomic_t dropped_ts; + spinlock_t slock; + struct work_struct cb_work; + struct mutex req_mlock; + struct dentry *ts_dbg_root; + struct hte_device *gdev; + void *cl_data; +}; + +struct hte_device { + u32 nlines; + atomic_t ts_req; + struct device *sdev; + struct dentry *dbg_root; + struct list_head list; + struct hte_chip *chip; + struct module *owner; + struct hte_ts_info ei[0]; +}; + +struct hte_line_attr { + u32 line_id; + void *line_data; + long unsigned int edge_flags; + const char *name; +}; + +struct hte_ops { + int (*request)(struct hte_chip *, struct hte_ts_desc *, u32); + int (*release)(struct hte_chip *, struct hte_ts_desc *, u32); + int (*enable)(struct hte_chip *, u32); + int (*disable)(struct hte_chip *, u32); + int (*get_clk_src_info)(struct hte_chip *, struct hte_clk_info *); +}; + +struct hte_ts_data { + u64 tsc; + u64 seq; + int raw_level; +}; + +struct hte_ts_desc { + struct hte_line_attr attr; + void *hte_data; +}; + +struct huge_bootmem_page { + struct list_head list; + struct hstate *hstate; + long unsigned int flags; + struct cma *cma; +}; + +struct hugepage_subpool { + spinlock_t lock; + long int count; + long int max_hpages; + long int used_hpages; + struct hstate *hstate; + long int min_hpages; + long int rsv_hpages; +}; + +struct hugetlb_cgroup_per_node; + +struct hugetlb_cgroup { + struct cgroup_subsys_state css; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + struct page_counter hugepage[2]; + struct page_counter rsvd_hugepage[2]; + atomic_long_t events[2]; + atomic_long_t events_local[2]; + struct cgroup_file events_file[2]; + struct cgroup_file events_local_file[2]; + struct hugetlb_cgroup_per_node *nodeinfo[0]; +}; + +struct hugetlb_cgroup_per_node { + long unsigned int usage[2]; +}; + +struct hugetlb_cmdline { + char *val; + int (*setup)(char *); +}; + +struct hugetlb_vma_lock { + struct kref refs; + struct rw_semaphore rw_sema; + struct vm_area_struct *vma; +}; + +struct hugetlbfs_fs_context { + struct hstate *hstate; + long long unsigned int max_size_opt; + long long unsigned int min_size_opt; + long int max_hpages; + long int nr_inodes; + long int min_hpages; + enum hugetlbfs_size_type max_val_type; + enum hugetlbfs_size_type min_val_type; + kuid_t uid; + kgid_t gid; + umode_t mode; +}; + +struct hugetlbfs_inode_info { + struct inode vfs_inode; + unsigned int seals; +}; + +struct hugetlbfs_sb_info { + long int max_inodes; + long int free_inodes; + spinlock_t stat_lock; + struct hstate *hstate; + struct hugepage_subpool *spool; + kuid_t uid; + kgid_t gid; + umode_t mode; +}; + +union hv_arm64_pending_synthetic_exception_event { + u64 as_uint64[2]; + struct { + u8 event_pending: 1; + u8 event_type: 3; + u8 reserved: 4; + u8 rsvd[3]; + u32 exception_type; + u64 context; + }; +}; + +struct hv_proximity_domain_flags { + u32 proximity_preferred: 1; + u32 reserved: 30; + u32 proximity_info_valid: 1; +}; + +struct hv_proximity_domain_info { + u32 domain_id; + struct hv_proximity_domain_flags flags; +}; + +struct hv_create_vp { + u64 partition_id; + u32 vp_index; + u8 padding[3]; + u8 subnode_type; + u64 subnode_id; + struct hv_proximity_domain_info proximity_domain_info; + u64 flags; +}; + +struct hv_deposit_memory { + u64 partition_id; + u64 gpa_page_list[0]; +}; + +union hv_pci_bdf { + u16 as_uint16; + struct { + u8 function: 3; + u8 device: 5; + u8 bus; + }; +}; + +union hv_pci_bus_range { + u16 as_uint16; + struct { + u8 subordinate_bus; + u8 secondary_bus; + }; +}; + +union hv_device_id { + u64 as_uint64; + struct { + u64 reserved0: 62; + u64 device_type: 2; + }; + struct { + u64 id: 62; + u64 device_type: 2; + } logical; + struct { + union { + hv_pci_rid rid; + union hv_pci_bdf bdf; + }; + hv_pci_segment segment; + union hv_pci_bus_range shadow_bus_range; + u16 phantom_function_bits: 2; + u16 source_shadow: 1; + u16 rsvdz0: 11; + u16 device_type: 2; + } pci; + struct { + u8 ioapic_id; + u8 rsvdz0; + u16 rsvdz1; + u16 rsvdz2; + u16 rsvdz3: 14; + u16 device_type: 2; + } ioapic; + struct { + u32 input_mapping_base; + u32 input_mapping_count: 30; + u32 device_type: 2; + } acpi; +}; + +struct hv_vpset { + u64 format; + u64 valid_bank_mask; + u64 bank_contents[0]; +}; + +struct hv_device_interrupt_target { + u32 vector; + u32 flags; + union { + u64 vp_mask; + struct hv_vpset vp_set; + }; +}; + +struct hv_device_interrupt_descriptor { + u32 interrupt_type; + u32 trigger_mode; + u32 vector_count; + u32 reserved; + struct hv_device_interrupt_target target; +}; + +union hv_dispatch_suspend_register { + u64 as_uint64; + struct { + u64 suspended: 1; + u64 reserved: 63; + }; +}; + +union hv_input_vtl { + u8 as_uint8; + struct { + u8 target_vtl: 4; + u8 use_target_vtl: 1; + u8 reserved_z: 3; + }; +}; + +struct hv_x64_segment_register { + u64 base; + u32 limit; + u16 selector; + union { + struct { + u16 segment_type: 4; + u16 non_system_segment: 1; + u16 descriptor_privilege_level: 2; + u16 present: 1; + u16 reserved: 4; + u16 available: 1; + u16 _long: 1; + u16 _default: 1; + u16 granularity: 1; + }; + u16 attributes; + }; +}; + +struct hv_x64_table_register { + u16 pad[3]; + u16 limit; + u64 base; +}; + +struct hv_init_vp_context { + u64 rip; + u64 rsp; + u64 rflags; + struct hv_x64_segment_register cs; + struct hv_x64_segment_register ds; + struct hv_x64_segment_register es; + struct hv_x64_segment_register fs; + struct hv_x64_segment_register gs; + struct hv_x64_segment_register ss; + struct hv_x64_segment_register tr; + struct hv_x64_segment_register ldtr; + struct hv_x64_table_register idtr; + struct hv_x64_table_register gdtr; + u64 efer; + u64 cr0; + u64 cr3; + u64 cr4; + u64 msr_cr_pat; +}; + +struct hv_enable_vp_vtl { + u64 partition_id; + u32 vp_index; + union hv_input_vtl target_vtl; + u8 mbz0; + u16 mbz1; + struct hv_init_vp_context vp_context; +}; + +union hv_explicit_suspend_register { + u64 as_uint64; + struct { + u64 suspended: 1; + u64 reserved: 63; + }; +}; + +struct hv_get_vp_from_apic_id_in { + u64 partition_id; + union hv_input_vtl target_vtl; + u8 res[7]; + u32 apic_ids[0]; +}; + +union hv_ghcb { + struct ghcb ghcb; + struct { + u64 hypercalldata[509]; + u64 outputgpa; + union { + union { + struct { + u32 callcode: 16; + u32 isfast: 1; + u32 reserved1: 14; + u32 isnested: 1; + u32 countofelements: 12; + u32 reserved2: 4; + u32 repstartindex: 12; + u32 reserved3: 4; + }; + u64 asuint64; + } hypercallinput; + union { + struct { + u16 callstatus; + u16 reserved1; + u32 elementsprocessed: 12; + u32 reserved2: 20; + }; + u64 asunit64; + } hypercalloutput; + }; + u64 reserved2; + } hypercall; +}; + +union hv_gpa_page_range { + u64 address_space; + struct { + u64 additional_pages: 11; + u64 largepage: 1; + u64 basepfn: 52; + } page; + struct { + u64 reserved: 12; + u64 page_size: 1; + u64 reserved1: 8; + u64 base_large_pfn: 43; + }; +}; + +struct hv_gpa_range_for_visibility { + u64 partition_id; + u32 host_visibility: 2; + u32 reserved0: 30; + u32 reserved1; + u64 gpa_page_list[510]; +}; + +struct hv_guest_mapping_flush { + u64 address_space; + u64 flags; +}; + +struct hv_guest_mapping_flush_list { + u64 address_space; + u64 flags; + union hv_gpa_page_range gpa_list[510]; +}; + +union hv_hypervisor_version_info { + struct { + u32 build_number; + u32 minor_version: 16; + u32 major_version: 16; + u32 service_pack; + u32 service_number: 24; + u32 service_branch: 8; + }; + struct { + u32 eax; + u32 ebx; + u32 ecx; + u32 edx; + }; +}; + +struct hv_input_add_logical_processor { + u32 lp_index; + u32 apic_id; + struct hv_proximity_domain_info proximity_domain_info; +}; + +struct hv_input_get_partition_property { + u64 partition_id; + u32 property_code; + u32 padding; +}; + +struct hv_input_get_vp_registers { + u64 partition_id; + u32 vp_index; + union hv_input_vtl input_vtl; + u8 rsvd_z8; + u16 rsvd_z16; + u32 names[0]; +}; + +union hv_msi_address_register { + u32 as_uint32; + struct { + u32 reserved1: 2; + u32 destination_mode: 1; + u32 redirection_hint: 1; + u32 reserved2: 8; + u32 destination_id: 8; + u32 msi_base: 12; + }; +}; + +union hv_msi_data_register { + u32 as_uint32; + struct { + u32 vector: 8; + u32 delivery_mode: 3; + u32 reserved1: 3; + u32 level_assert: 1; + u32 trigger_mode: 1; + u32 reserved2: 16; + }; +}; + +union hv_msi_entry { + u64 as_uint64; + struct { + union hv_msi_address_register address; + union hv_msi_data_register data; + }; +}; + +union hv_ioapic_rte { + u64 as_uint64; + struct { + u32 vector: 8; + u32 delivery_mode: 3; + u32 destination_mode: 1; + u32 delivery_status: 1; + u32 interrupt_polarity: 1; + u32 remote_irr: 1; + u32 trigger_mode: 1; + u32 interrupt_mask: 1; + u32 reserved1: 15; + u32 reserved2: 24; + u32 destination_id: 8; + }; + struct { + u32 low_uint32; + u32 high_uint32; + }; +}; + +struct hv_interrupt_entry { + u32 source; + u32 reserved1; + union { + union hv_msi_entry msi_entry; + union hv_ioapic_rte ioapic_rte; + }; +}; + +struct hv_input_map_device_interrupt { + u64 partition_id; + u64 device_id; + u32 flags; + u32 base_irt_idx; + struct hv_interrupt_entry logical_interrupt_entry; + struct hv_device_interrupt_descriptor interrupt_descriptor; +}; + +struct hv_u128 { + u64 low_part; + u64 high_part; +}; + +union hv_intercept_suspend_register { + u64 as_uint64; + struct { + u64 suspended: 1; + u64 reserved: 63; + }; +}; + +union hv_x64_interrupt_state_register { + u64 as_uint64; + struct { + u64 interrupt_shadow: 1; + u64 nmi_masked: 1; + u64 reserved: 62; + }; +}; + +union hv_x64_pending_interruption_register { + u64 as_uint64; + struct { + u32 interruption_pending: 1; + u32 interruption_type: 3; + u32 deliver_error_code: 1; + u32 instruction_length: 4; + u32 nested_event: 1; + u32 reserved: 6; + u32 interruption_vector: 16; + u32 error_code; + }; +}; + +union hv_register_value { + struct hv_u128 reg128; + u64 reg64; + u32 reg32; + u16 reg16; + u8 reg8; + struct hv_x64_segment_register segment; + struct hv_x64_table_register table; + union hv_explicit_suspend_register explicit_suspend; + union hv_intercept_suspend_register intercept_suspend; + union hv_dispatch_suspend_register dispatch_suspend; + union hv_x64_interrupt_state_register interrupt_state; + union hv_x64_pending_interruption_register pending_interruption; + union hv_arm64_pending_synthetic_exception_event pending_synthetic_exception_event; +}; + +struct hv_register_assoc { + u32 name; + u32 reserved1; + u64 reserved2; + union hv_register_value value; +}; + +struct hv_input_set_vp_registers { + u64 partition_id; + u32 vp_index; + union hv_input_vtl input_vtl; + u8 rsvd_z8; + u16 rsvd_z16; + struct hv_register_assoc elements[0]; +}; + +struct hv_input_unmap_device_interrupt { + u64 partition_id; + u64 device_id; + struct hv_interrupt_entry interrupt_entry; + u32 flags; +} __attribute__((packed)); + +struct hv_lp_startup_status { + u64 hv_status; + u64 substatus1; + u64 substatus2; + u64 substatus3; + u64 substatus4; + u64 substatus5; + u64 substatus6; +}; + +union hv_message_flags { + u8 asu8; + struct { + u8 msg_pending: 1; + u8 reserved: 7; + }; +}; + +union hv_port_id { + u32 asu32; + struct { + u32 id: 24; + u32 reserved: 8; + } u; +}; + +struct hv_message_header { + u32 message_type; + u8 payload_size; + union hv_message_flags message_flags; + u8 reserved[2]; + union { + u64 sender; + union hv_port_id port; + }; +}; + +struct hv_message { + struct hv_message_header header; + union { + u64 payload[30]; + } u; +}; + +struct hv_nested_enlightenments_control { + struct { + u32 directhypercall: 1; + u32 reserved: 31; + } features; + struct { + u32 inter_partition_comm: 1; + u32 reserved: 31; + } hypercall_controls; +}; + +struct hv_ops { + ssize_t (*get_chars)(uint32_t, u8 *, size_t); + ssize_t (*put_chars)(uint32_t, const u8 *, size_t); + int (*flush)(uint32_t, bool); + int (*notifier_add)(struct hvc_struct *, int); + void (*notifier_del)(struct hvc_struct *, int); + void (*notifier_hangup)(struct hvc_struct *, int); + int (*tiocmget)(struct hvc_struct *); + int (*tiocmset)(struct hvc_struct *, unsigned int, unsigned int); + void (*dtr_rts)(struct hvc_struct *, bool); +}; + +struct hv_output_add_logical_processor { + struct hv_lp_startup_status startup_status; +}; + +struct hv_output_get_partition_id { + u64 partition_id; +}; + +struct hv_output_get_partition_property { + u64 property_value; +}; + +struct hv_output_map_device_interrupt { + struct hv_interrupt_entry interrupt_entry; + u64 ext_status_deprecated[5]; +}; + +struct hv_partition_assist_pg { + u32 tlb_lock_count; +}; + +struct hv_reenlightenment_control { + u64 vector: 8; + u64 reserved1: 8; + u64 enabled: 1; + u64 reserved2: 15; + u64 target_vp: 32; +}; + +union hv_reference_tsc_msr { + u64 as_uint64; + struct { + u64 enable: 1; + u64 reserved: 11; + u64 pfn: 52; + }; +}; + +struct hv_send_ipi { + u32 vector; + u32 reserved; + u64 cpu_mask; +}; + +struct hv_send_ipi_ex { + u32 vector; + u32 reserved; + struct hv_vpset vp_set; +}; + +struct hv_status_info { + char *string; + int errno; + u16 code; +}; + +union hv_stimer_config { + u64 as_uint64; + struct { + u64 enable: 1; + u64 periodic: 1; + u64 lazy: 1; + u64 auto_enable: 1; + u64 apic_vector: 8; + u64 direct_mode: 1; + u64 reserved_z0: 3; + u64 sintx: 4; + u64 reserved_z1: 44; + }; +}; + +struct hv_tlb_flush { + u64 address_space; + u64 flags; + u64 processor_mask; + u64 gva_list[0]; +}; + +struct hv_tlb_flush_ex { + u64 address_space; + u64 flags; + struct hv_vpset hv_vp_set; + u64 gva_list[0]; +}; + +struct hv_tsc_emulation_control { + u64 enabled: 1; + u64 reserved: 63; +}; + +struct hv_tsc_emulation_status { + u64 inprogress: 1; + u64 reserved: 63; +}; + +union hv_vp_assist_msr_contents { + u64 as_uint64; + struct { + u64 enable: 1; + u64 reserved: 11; + u64 pfn: 52; + }; +}; + +struct hv_vp_assist_page { + u32 apic_assist; + u32 reserved1; + u32 vtl_entry_reason; + u32 vtl_reserved; + u64 vtl_ret_x64rax; + u64 vtl_ret_x64rcx; + struct hv_nested_enlightenments_control nested_control; + u8 enlighten_vmentry; + u8 reserved2[7]; + u64 current_nested_vmcs; + u8 synthetic_time_unhalted_timer_expired; + u8 reserved3[7]; + u8 virtualization_fault_information[40]; + u8 reserved4[8]; + u8 intercept_message[256]; + u8 vtl_ret_actions[256]; +}; + +union hv_x64_msr_hypercall_contents { + u64 as_uint64; + struct { + u64 enable: 1; + u64 reserved: 11; + u64 guest_physical_address: 52; + }; +}; + +struct hvc_struct { + struct tty_port port; + spinlock_t lock; + int index; + int do_wakeup; + int outbuf_size; + int n_outbuf; + uint32_t vtermno; + const struct hv_ops *ops; + int irq_requested; + int data; + struct winsize ws; + struct work_struct tty_resize; + struct list_head next; + long unsigned int flags; + u8 outbuf[0]; +}; + +struct hvm_memmap_table_entry { + uint64_t addr; + uint64_t size; + uint32_t type; + uint32_t reserved; +}; + +struct hvm_modlist_entry { + uint64_t paddr; + uint64_t size; + uint64_t cmdline_paddr; + uint64_t reserved; +}; + +struct hvm_start_info { + uint32_t magic; + uint32_t version; + uint32_t flags; + uint32_t nr_modules; + uint64_t modlist_paddr; + uint64_t cmdline_paddr; + uint64_t rsdp_paddr; + uint64_t memmap_paddr; + uint32_t memmap_entries; + uint32_t reserved; +}; + +struct hw_breakpoint { + unsigned int enabled; + long unsigned int addr; + int len; + int type; + struct perf_event **pev; +}; + +struct hw_perf_event_extra { + u64 config; + unsigned int reg; + int alloc; + int idx; +}; + +struct rhlist_head { + struct rhash_head rhead; + struct rhlist_head *next; +}; + +struct hw_perf_event { + union { + struct { + u64 config; + u64 config1; + u64 last_tag; + u64 dyn_constraint; + long unsigned int config_base; + long unsigned int event_base; + int event_base_rdpmc; + int idx; + int last_cpu; + int flags; + struct hw_perf_event_extra extra_reg; + struct hw_perf_event_extra branch_reg; + }; + struct { + u64 aux_config; + unsigned int aux_paused; + }; + struct { + struct hrtimer hrtimer; + }; + struct { + struct list_head tp_list; + }; + struct { + u64 pwr_acc; + u64 ptsc; + }; + struct { + struct arch_hw_breakpoint info; + struct rhlist_head bp_list; + }; + struct { + u8 iommu_bank; + u8 iommu_cntr; + u16 padding; + u64 conf; + u64 conf1; + }; + }; + struct task_struct *target; + void *addr_filters; + long unsigned int addr_filters_gen; + int state; + local64_t prev_count; + u64 sample_period; + union { + struct { + u64 last_period; + local64_t period_left; + }; + struct { + u64 saved_metric; + u64 saved_slots; + }; + }; + u64 interrupts_seq; + u64 interrupts; + u64 freq_time_stamp; + u64 freq_count_stamp; +}; + +struct hw_port_info { + struct net_device *lower_dev; + u32 port_id; +}; + +struct hwlat_data { + struct mutex lock; + u64 count; + u64 sample_window; + u64 sample_width; + int thread_mode; +}; + +struct hwlat_entry { + struct trace_entry ent; + u64 duration; + u64 outer_duration; + u64 nmi_total_ts; + struct timespec64 timestamp; + unsigned int nmi_count; + unsigned int seqnum; + unsigned int count; +}; + +struct hwlat_kthread_data { + struct task_struct *kthread; + u64 nmi_ts_start; + u64 nmi_total_ts; + int nmi_count; + int nmi_cpu; +}; + +struct hwlat_sample { + u64 seqnum; + u64 duration; + u64 outer_duration; + u64 nmi_total_ts; + struct timespec64 timestamp; + int nmi_count; + int count; +}; + +struct hwmon_channel_info { + enum hwmon_sensor_types type; + const u32 *config; +}; + +struct hwmon_ops; + +struct hwmon_chip_info { + const struct hwmon_ops *ops; + const struct hwmon_channel_info * const *info; +}; + +struct hwmon_device { + const char *name; + const char *label; + struct device dev; + const struct hwmon_chip_info *chip; + struct list_head tzdata; + struct attribute_group group; + const struct attribute_group **groups; +}; + +struct hwmon_device_attribute { + struct device_attribute dev_attr; + const struct hwmon_ops *ops; + enum hwmon_sensor_types type; + u32 attr; + int index; + char name[32]; +}; + +struct hwmon_ops { + umode_t visible; + umode_t (*is_visible)(const void *, enum hwmon_sensor_types, u32, int); + int (*read)(struct device *, enum hwmon_sensor_types, u32, int, long int *); + int (*read_string)(struct device *, enum hwmon_sensor_types, u32, int, const char **); + int (*write)(struct device *, enum hwmon_sensor_types, u32, int, long int); +}; + +struct hwmon_thermal_data { + struct list_head node; + struct device *dev; + int index; + struct thermal_zone_device *tzd; +}; + +struct hwmon_type_attr_list { + const u32 *attrs; + size_t n_attrs; +}; + +struct to_kill { + struct list_head nd; + struct task_struct *tsk; + long unsigned int addr; + short int size_shift; +}; + +struct hwpoison_walk { + struct to_kill tk; + long unsigned int pfn; + int flags; +}; + +struct hwrng { + const char *name; + int (*init)(struct hwrng *); + void (*cleanup)(struct hwrng *); + int (*data_present)(struct hwrng *, int); + int (*data_read)(struct hwrng *, u32 *); + int (*read)(struct hwrng *, void *, size_t, bool); + long unsigned int priv; + short unsigned int quality; + struct list_head list; + struct kref ref; + struct completion cleanup_done; + struct completion dying; +}; + +struct hwspinlock_device; + +struct hwspinlock { + struct hwspinlock_device *bank; + spinlock_t lock; + void *priv; +}; + +struct hwspinlock_ops; + +struct hwspinlock_device { + struct device *dev; + const struct hwspinlock_ops *ops; + int base_id; + int num_locks; + struct hwspinlock lock[0]; +}; + +struct hwspinlock_ops { + int (*trylock)(struct hwspinlock *); + void (*unlock)(struct hwspinlock *); + int (*bust)(struct hwspinlock *, unsigned int); + void (*relax)(struct hwspinlock *); +}; + +struct hwtstamp_config { + int flags; + int tx_type; + int rx_filter; +}; + +struct hwtstamp_provider_desc { + int index; + enum hwtstamp_provider_qualifier qualifier; +}; + +struct hwtstamp_provider { + struct callback_head callback_head; + enum hwtstamp_source source; + struct phy_device *phydev; + struct hwtstamp_provider_desc desc; +}; + +struct hyp_sysfs_attr { + struct attribute attr; + ssize_t (*show)(struct hyp_sysfs_attr *, char *); + ssize_t (*store)(struct hyp_sysfs_attr *, const char *, size_t); + union { + void *hyp_attr_data; + long unsigned int hyp_attr_value; + }; +}; + +struct hyperv_root_ir_data { + u8 ioapic_id; + bool is_level; + struct hv_interrupt_entry entry; +} __attribute__((packed)); + +struct x86_hyper_init { + void (*init_platform)(void); + void (*guest_late_init)(void); + bool (*x2apic_available)(void); + bool (*msi_ext_dest_id)(void); + void (*init_mem_mapping)(void); + void (*init_after_bootmem)(void); +}; + +struct x86_hyper_runtime { + void (*pin_vcpu)(int); + void (*sev_es_hcall_prepare)(struct ghcb *, struct pt_regs *); + bool (*sev_es_hcall_finish)(struct ghcb *, struct pt_regs *); + bool (*is_private_mmio)(u64); +}; + +struct hypervisor_x86 { + const char *name; + uint32_t (*detect)(void); + enum x86_hypervisor_type type; + struct x86_hyper_init init; + struct x86_hyper_runtime runtime; + bool ignore_nopv; +}; + +struct i2c_acpi_handler_data { + struct acpi_connection_info info; + struct i2c_adapter *adapter; +}; + +struct i2c_acpi_irq_context { + int irq; + bool wake_capable; +}; + +struct i2c_board_info; + +struct i2c_acpi_lookup { + struct i2c_board_info *info; + acpi_handle adapter_handle; + acpi_handle device_handle; + acpi_handle search_handle; + int n; + int index; + u32 speed; + u32 min_speed; + u32 force_speed; +}; + +struct i2c_adapter_quirks { + u64 flags; + int max_num_msgs; + u16 max_write_len; + u16 max_read_len; + u16 max_comb_1st_msg_len; + u16 max_comb_2nd_msg_len; +}; + +union i2c_smbus_data; + +struct i2c_algorithm { + union { + int (*xfer)(struct i2c_adapter *, struct i2c_msg *, int); + int (*master_xfer)(struct i2c_adapter *, struct i2c_msg *, int); + }; + union { + int (*xfer_atomic)(struct i2c_adapter *, struct i2c_msg *, int); + int (*master_xfer_atomic)(struct i2c_adapter *, struct i2c_msg *, int); + }; + int (*smbus_xfer)(struct i2c_adapter *, u16, short unsigned int, char, u8, int, union i2c_smbus_data *); + int (*smbus_xfer_atomic)(struct i2c_adapter *, u16, short unsigned int, char, u8, int, union i2c_smbus_data *); + u32 (*functionality)(struct i2c_adapter *); + union { + int (*reg_target)(struct i2c_client *); + int (*reg_slave)(struct i2c_client *); + }; + union { + int (*unreg_target)(struct i2c_client *); + int (*unreg_slave)(struct i2c_client *); + }; +}; + +struct i2c_board_info { + char type[20]; + short unsigned int flags; + short unsigned int addr; + const char *dev_name; + void *platform_data; + struct fwnode_handle *fwnode; + const struct software_node *swnode; + const struct resource *resources; + unsigned int num_resources; + int irq; +}; + +typedef int (*i2c_slave_cb_t)(struct i2c_client *, enum i2c_slave_event, u8 *); + +struct i2c_client { + short unsigned int flags; + short unsigned int addr; + char name[20]; + struct i2c_adapter *adapter; + struct device dev; + int init_irq; + int irq; + struct list_head detected; + i2c_slave_cb_t slave_cb; + void *devres_group_id; + struct dentry *debugfs; +}; + +struct i2c_cmd_arg { + unsigned int cmd; + void *arg; +}; + +struct i2c_dev { + struct list_head list; + struct i2c_adapter *adap; + struct device dev; + struct cdev cdev; +}; + +struct i2c_device_id { + char name[20]; + kernel_ulong_t driver_data; +}; + +struct i2c_device_identity { + u16 manufacturer_id; + u16 part_id; + u8 die_revision; +}; + +struct i2c_devinfo { + struct list_head list; + int busnum; + struct i2c_board_info board_info; +}; + +struct i2c_driver { + unsigned int class; + int (*probe)(struct i2c_client *); + void (*remove)(struct i2c_client *); + void (*shutdown)(struct i2c_client *); + void (*alert)(struct i2c_client *, enum i2c_alert_protocol, unsigned int); + int (*command)(struct i2c_client *, unsigned int, void *); + struct device_driver driver; + const struct i2c_device_id *id_table; + int (*detect)(struct i2c_client *, struct i2c_board_info *); + const short unsigned int *address_list; + struct list_head clients; + u32 flags; +}; + +struct i2c_dw_semaphore_callbacks { + int (*probe)(struct dw_i2c_dev *); + void (*remove)(struct dw_i2c_dev *); +}; + +struct i2c_lock_operations { + void (*lock_bus)(struct i2c_adapter *, unsigned int); + int (*trylock_bus)(struct i2c_adapter *, unsigned int); + void (*unlock_bus)(struct i2c_adapter *, unsigned int); +}; + +struct i2c_msg { + __u16 addr; + __u16 flags; + __u16 len; + __u8 *buf; +}; + +struct i2c_msg32 { + u16 addr; + u16 flags; + u16 len; + compat_caddr_t buf; +}; + +struct i2c_rdwr_ioctl_data { + struct i2c_msg *msgs; + __u32 nmsgs; +}; + +struct i2c_rdwr_ioctl_data32 { + compat_caddr_t msgs; + u32 nmsgs; +}; + +struct i2c_smbus_alert_setup { + int irq; +}; + +union i2c_smbus_data { + __u8 byte; + __u16 word; + __u8 block[34]; +}; + +struct i2c_smbus_ioctl_data { + __u8 read_write; + __u8 command; + __u32 size; + union i2c_smbus_data *data; +}; + +struct i2c_smbus_ioctl_data32 { + u8 read_write; + u8 command; + u32 size; + compat_caddr_t data; +}; + +struct user_regs_struct32 { + __u32 ebx; + __u32 ecx; + __u32 edx; + __u32 esi; + __u32 edi; + __u32 ebp; + __u32 eax; + short unsigned int ds; + short unsigned int __ds; + short unsigned int es; + short unsigned int __es; + short unsigned int fs; + short unsigned int __fs; + short unsigned int gs; + short unsigned int __gs; + __u32 orig_eax; + __u32 eip; + short unsigned int cs; + short unsigned int __cs; + __u32 eflags; + __u32 esp; + short unsigned int ss; + short unsigned int __ss; +}; + +struct i386_elf_prstatus { + struct compat_elf_prstatus_common common; + struct user_regs_struct32 pr_reg; + compat_int_t pr_fpvalid; +}; + +struct i8042_port { + struct serio *serio; + int irq; + bool exists; + bool driver_bound; + signed char mux; +}; + +struct iattr { + unsigned int ia_valid; + umode_t ia_mode; + union { + kuid_t ia_uid; + vfsuid_t ia_vfsuid; + }; + union { + kgid_t ia_gid; + vfsgid_t ia_vfsgid; + }; + loff_t ia_size; + struct timespec64 ia_atime; + struct timespec64 ia_mtime; + struct timespec64 ia_ctime; + struct file *ia_file; +}; + +struct ib_pd; + +struct ib_uobject; + +struct ib_gid_attr; + +struct ib_ah { + struct ib_device *device; + struct ib_pd *pd; + struct ib_uobject *uobject; + const struct ib_gid_attr *sgid_attr; + enum rdma_ah_attr_type type; +}; + +struct ib_ah_attr { + u16 dlid; + u8 src_path_bits; +}; + +struct ib_core_device { + struct device dev; + possible_net_t rdma_net; + struct kobject *ports_kobj; + struct list_head port_list; + struct ib_device *owner; +}; + +struct ib_counters { + struct ib_device *device; + struct ib_uobject *uobject; + atomic_t usecnt; +}; + +struct ib_counters_read_attr { + u64 *counters_buff; + u32 ncounters; + u32 flags; +}; + +struct ib_ucq_object; + +struct ib_cq; + +typedef void (*ib_comp_handler)(struct ib_cq *, void *); + +struct irq_poll; + +typedef int irq_poll_fn(struct irq_poll *, int); + +struct irq_poll { + struct list_head list; + long unsigned int state; + int weight; + irq_poll_fn *poll; +}; + +struct rdma_restrack_entry { + bool valid; + u8 no_track: 1; + struct kref kref; + struct completion comp; + struct task_struct *task; + const char *kern_name; + enum rdma_restrack_type type; + bool user; + u32 id; +}; + +struct ib_event; + +struct ib_wc; + +struct ib_cq { + struct ib_device *device; + struct ib_ucq_object *uobject; + ib_comp_handler comp_handler; + void (*event_handler)(struct ib_event *, void *); + void *cq_context; + int cqe; + unsigned int cqe_used; + atomic_t usecnt; + enum ib_poll_context poll_ctx; + struct ib_wc *wc; + struct list_head pool_entry; + union { + struct irq_poll iop; + struct work_struct work; + }; + struct workqueue_struct *comp_wq; + struct dim *dim; + ktime_t timestamp; + u8 interrupt: 1; + u8 shared: 1; + unsigned int comp_vector; + struct rdma_restrack_entry res; +}; + +struct ib_cq_caps { + u16 max_cq_moderation_count; + u16 max_cq_moderation_period; +}; + +struct ib_cq_init_attr { + unsigned int cqe; + u32 comp_vector; + u32 flags; +}; + +struct ib_cqe { + void (*done)(struct ib_cq *, struct ib_wc *); +}; + +struct ib_mad; + +struct uverbs_attr_bundle; + +struct ib_umem; + +struct rdma_cm_id; + +struct iw_cm_id; + +struct iw_cm_conn_param; + +struct ib_uverbs_file; + +struct ib_qp; + +struct ib_send_wr; + +struct ib_recv_wr; + +struct ib_srq; + +struct ib_grh; + +struct ib_device_attr; + +struct ib_udata; + +struct ib_device_modify; + +struct ib_port_attr; + +struct ib_port_modify; + +struct ib_port_immutable; + +struct rdma_netdev_alloc_params; + +union ib_gid; + +struct ib_ucontext; + +struct rdma_user_mmap_entry; + +struct rdma_ah_init_attr; + +struct rdma_ah_attr; + +struct ib_srq_init_attr; + +struct ib_srq_attr; + +struct ib_qp_init_attr; + +struct ib_qp_attr; + +struct ib_mr; + +struct ib_dmah; + +struct ib_sge; + +struct ib_mr_status; + +struct ib_mw; + +struct ib_xrcd; + +struct ib_flow; + +struct ib_flow_attr; + +struct ib_flow_action; + +struct ifla_vf_info; + +struct ifla_vf_stats; + +struct ifla_vf_guid; + +struct ib_wq; + +struct ib_wq_init_attr; + +struct ib_wq_attr; + +struct ib_rwq_ind_table; + +struct ib_rwq_ind_table_init_attr; + +struct ib_dm; + +struct ib_dm_alloc_attr; + +struct ib_dm_mr_attr; + +struct rdma_hw_stats; + +struct rdma_counter; + +struct ib_device_ops { + struct module *owner; + enum rdma_driver_id driver_id; + u32 uverbs_abi_ver; + unsigned int uverbs_no_driver_id_binding: 1; + const struct attribute_group *device_group; + const struct attribute_group **port_groups; + int (*post_send)(struct ib_qp *, const struct ib_send_wr *, const struct ib_send_wr **); + int (*post_recv)(struct ib_qp *, const struct ib_recv_wr *, const struct ib_recv_wr **); + void (*drain_rq)(struct ib_qp *); + void (*drain_sq)(struct ib_qp *); + int (*poll_cq)(struct ib_cq *, int, struct ib_wc *); + int (*peek_cq)(struct ib_cq *, int); + int (*req_notify_cq)(struct ib_cq *, enum ib_cq_notify_flags); + int (*post_srq_recv)(struct ib_srq *, const struct ib_recv_wr *, const struct ib_recv_wr **); + int (*process_mad)(struct ib_device *, int, u32, const struct ib_wc *, const struct ib_grh *, const struct ib_mad *, struct ib_mad *, size_t *, u16 *); + int (*query_device)(struct ib_device *, struct ib_device_attr *, struct ib_udata *); + int (*modify_device)(struct ib_device *, int, struct ib_device_modify *); + void (*get_dev_fw_str)(struct ib_device *, char *); + const struct cpumask * (*get_vector_affinity)(struct ib_device *, int); + int (*query_port)(struct ib_device *, u32, struct ib_port_attr *); + int (*modify_port)(struct ib_device *, u32, int, struct ib_port_modify *); + int (*get_port_immutable)(struct ib_device *, u32, struct ib_port_immutable *); + enum rdma_link_layer (*get_link_layer)(struct ib_device *, u32); + struct net_device * (*get_netdev)(struct ib_device *, u32); + struct net_device * (*alloc_rdma_netdev)(struct ib_device *, u32, enum rdma_netdev_t, const char *, unsigned char, void (*)(struct net_device *)); + int (*rdma_netdev_get_params)(struct ib_device *, u32, enum rdma_netdev_t, struct rdma_netdev_alloc_params *); + int (*query_gid)(struct ib_device *, u32, int, union ib_gid *); + int (*add_gid)(const struct ib_gid_attr *, void **); + int (*del_gid)(const struct ib_gid_attr *, void **); + int (*query_pkey)(struct ib_device *, u32, u16, u16 *); + int (*alloc_ucontext)(struct ib_ucontext *, struct ib_udata *); + void (*dealloc_ucontext)(struct ib_ucontext *); + int (*mmap)(struct ib_ucontext *, struct vm_area_struct *); + void (*mmap_free)(struct rdma_user_mmap_entry *); + void (*disassociate_ucontext)(struct ib_ucontext *); + int (*alloc_pd)(struct ib_pd *, struct ib_udata *); + int (*dealloc_pd)(struct ib_pd *, struct ib_udata *); + int (*create_ah)(struct ib_ah *, struct rdma_ah_init_attr *, struct ib_udata *); + int (*create_user_ah)(struct ib_ah *, struct rdma_ah_init_attr *, struct ib_udata *); + int (*modify_ah)(struct ib_ah *, struct rdma_ah_attr *); + int (*query_ah)(struct ib_ah *, struct rdma_ah_attr *); + int (*destroy_ah)(struct ib_ah *, u32); + int (*create_srq)(struct ib_srq *, struct ib_srq_init_attr *, struct ib_udata *); + int (*modify_srq)(struct ib_srq *, struct ib_srq_attr *, enum ib_srq_attr_mask, struct ib_udata *); + int (*query_srq)(struct ib_srq *, struct ib_srq_attr *); + int (*destroy_srq)(struct ib_srq *, struct ib_udata *); + int (*create_qp)(struct ib_qp *, struct ib_qp_init_attr *, struct ib_udata *); + int (*modify_qp)(struct ib_qp *, struct ib_qp_attr *, int, struct ib_udata *); + int (*query_qp)(struct ib_qp *, struct ib_qp_attr *, int, struct ib_qp_init_attr *); + int (*destroy_qp)(struct ib_qp *, struct ib_udata *); + int (*create_cq)(struct ib_cq *, const struct ib_cq_init_attr *, struct uverbs_attr_bundle *); + int (*create_cq_umem)(struct ib_cq *, const struct ib_cq_init_attr *, struct ib_umem *, struct uverbs_attr_bundle *); + int (*modify_cq)(struct ib_cq *, u16, u16); + int (*destroy_cq)(struct ib_cq *, struct ib_udata *); + int (*resize_cq)(struct ib_cq *, int, struct ib_udata *); + int (*pre_destroy_cq)(struct ib_cq *); + void (*post_destroy_cq)(struct ib_cq *); + struct ib_mr * (*get_dma_mr)(struct ib_pd *, int); + struct ib_mr * (*reg_user_mr)(struct ib_pd *, u64, u64, u64, int, struct ib_dmah *, struct ib_udata *); + struct ib_mr * (*reg_user_mr_dmabuf)(struct ib_pd *, u64, u64, u64, int, int, struct ib_dmah *, struct uverbs_attr_bundle *); + struct ib_mr * (*rereg_user_mr)(struct ib_mr *, int, u64, u64, u64, int, struct ib_pd *, struct ib_udata *); + int (*dereg_mr)(struct ib_mr *, struct ib_udata *); + struct ib_mr * (*alloc_mr)(struct ib_pd *, enum ib_mr_type, u32); + struct ib_mr * (*alloc_mr_integrity)(struct ib_pd *, u32, u32); + int (*advise_mr)(struct ib_pd *, enum ib_uverbs_advise_mr_advice, u32, struct ib_sge *, u32, struct uverbs_attr_bundle *); + int (*map_mr_sg)(struct ib_mr *, struct scatterlist *, int, unsigned int *); + int (*check_mr_status)(struct ib_mr *, u32, struct ib_mr_status *); + int (*alloc_mw)(struct ib_mw *, struct ib_udata *); + int (*dealloc_mw)(struct ib_mw *); + int (*attach_mcast)(struct ib_qp *, union ib_gid *, u16); + int (*detach_mcast)(struct ib_qp *, union ib_gid *, u16); + int (*alloc_xrcd)(struct ib_xrcd *, struct ib_udata *); + int (*dealloc_xrcd)(struct ib_xrcd *, struct ib_udata *); + struct ib_flow * (*create_flow)(struct ib_qp *, struct ib_flow_attr *, struct ib_udata *); + int (*destroy_flow)(struct ib_flow *); + int (*destroy_flow_action)(struct ib_flow_action *); + int (*set_vf_link_state)(struct ib_device *, int, u32, int); + int (*get_vf_config)(struct ib_device *, int, u32, struct ifla_vf_info *); + int (*get_vf_stats)(struct ib_device *, int, u32, struct ifla_vf_stats *); + int (*get_vf_guid)(struct ib_device *, int, u32, struct ifla_vf_guid *, struct ifla_vf_guid *); + int (*set_vf_guid)(struct ib_device *, int, u32, u64, int); + struct ib_wq * (*create_wq)(struct ib_pd *, struct ib_wq_init_attr *, struct ib_udata *); + int (*destroy_wq)(struct ib_wq *, struct ib_udata *); + int (*modify_wq)(struct ib_wq *, struct ib_wq_attr *, u32, struct ib_udata *); + int (*create_rwq_ind_table)(struct ib_rwq_ind_table *, struct ib_rwq_ind_table_init_attr *, struct ib_udata *); + int (*destroy_rwq_ind_table)(struct ib_rwq_ind_table *); + struct ib_dm * (*alloc_dm)(struct ib_device *, struct ib_ucontext *, struct ib_dm_alloc_attr *, struct uverbs_attr_bundle *); + int (*dealloc_dm)(struct ib_dm *, struct uverbs_attr_bundle *); + int (*alloc_dmah)(struct ib_dmah *, struct uverbs_attr_bundle *); + int (*dealloc_dmah)(struct ib_dmah *, struct uverbs_attr_bundle *); + struct ib_mr * (*reg_dm_mr)(struct ib_pd *, struct ib_dm *, struct ib_dm_mr_attr *, struct uverbs_attr_bundle *); + int (*create_counters)(struct ib_counters *, struct uverbs_attr_bundle *); + int (*destroy_counters)(struct ib_counters *); + int (*read_counters)(struct ib_counters *, struct ib_counters_read_attr *, struct uverbs_attr_bundle *); + int (*map_mr_sg_pi)(struct ib_mr *, struct scatterlist *, int, unsigned int *, struct scatterlist *, int, unsigned int *); + struct rdma_hw_stats * (*alloc_hw_device_stats)(struct ib_device *); + struct rdma_hw_stats * (*alloc_hw_port_stats)(struct ib_device *, u32); + int (*get_hw_stats)(struct ib_device *, struct rdma_hw_stats *, u32, int); + int (*modify_hw_stat)(struct ib_device *, u32, unsigned int, bool); + int (*fill_res_mr_entry)(struct sk_buff *, struct ib_mr *); + int (*fill_res_mr_entry_raw)(struct sk_buff *, struct ib_mr *); + int (*fill_res_cq_entry)(struct sk_buff *, struct ib_cq *); + int (*fill_res_cq_entry_raw)(struct sk_buff *, struct ib_cq *); + int (*fill_res_qp_entry)(struct sk_buff *, struct ib_qp *); + int (*fill_res_qp_entry_raw)(struct sk_buff *, struct ib_qp *); + int (*fill_res_cm_id_entry)(struct sk_buff *, struct rdma_cm_id *); + int (*fill_res_srq_entry)(struct sk_buff *, struct ib_srq *); + int (*fill_res_srq_entry_raw)(struct sk_buff *, struct ib_srq *); + int (*enable_driver)(struct ib_device *); + void (*dealloc_driver)(struct ib_device *); + void (*iw_add_ref)(struct ib_qp *); + void (*iw_rem_ref)(struct ib_qp *); + struct ib_qp * (*iw_get_qp)(struct ib_device *, int); + int (*iw_connect)(struct iw_cm_id *, struct iw_cm_conn_param *); + int (*iw_accept)(struct iw_cm_id *, struct iw_cm_conn_param *); + int (*iw_reject)(struct iw_cm_id *, const void *, u8); + int (*iw_create_listen)(struct iw_cm_id *, int); + int (*iw_destroy_listen)(struct iw_cm_id *); + int (*counter_bind_qp)(struct rdma_counter *, struct ib_qp *, u32); + int (*counter_unbind_qp)(struct ib_qp *, u32); + int (*counter_dealloc)(struct rdma_counter *); + struct rdma_hw_stats * (*counter_alloc_stats)(struct rdma_counter *); + int (*counter_update_stats)(struct rdma_counter *); + void (*counter_init)(struct rdma_counter *); + int (*fill_stat_mr_entry)(struct sk_buff *, struct ib_mr *); + int (*query_ucontext)(struct ib_ucontext *, struct uverbs_attr_bundle *); + int (*get_numa_node)(struct ib_device *); + struct ib_device * (*add_sub_dev)(struct ib_device *, enum rdma_nl_dev_type, const char *); + void (*del_sub_dev)(struct ib_device *); + void (*ufile_hw_cleanup)(struct ib_uverbs_file *); + void (*report_port_event)(struct ib_device *, struct net_device *, long unsigned int); + size_t size_ib_ah; + size_t size_ib_counters; + size_t size_ib_cq; + size_t size_ib_dmah; + size_t size_ib_mw; + size_t size_ib_pd; + size_t size_ib_qp; + size_t size_ib_rwq_ind_table; + size_t size_ib_srq; + size_t size_ib_ucontext; + size_t size_ib_xrcd; + size_t size_rdma_counter; +}; + +struct ib_odp_caps { + uint64_t general_caps; + struct { + uint32_t rc_odp_caps; + uint32_t uc_odp_caps; + uint32_t ud_odp_caps; + uint32_t xrc_odp_caps; + } per_transport_caps; +}; + +struct ib_rss_caps { + u32 supported_qpts; + u32 max_rwq_indirection_tables; + u32 max_rwq_indirection_table_size; +}; + +struct ib_tm_caps { + u32 max_rndv_hdr_size; + u32 max_num_tags; + u32 flags; + u32 max_ops; + u32 max_sge; +}; + +struct ib_device_attr { + u64 fw_ver; + __be64 sys_image_guid; + u64 max_mr_size; + u64 page_size_cap; + u32 vendor_id; + u32 vendor_part_id; + u32 hw_ver; + int max_qp; + int max_qp_wr; + u64 device_cap_flags; + u64 kernel_cap_flags; + int max_send_sge; + int max_recv_sge; + int max_sge_rd; + int max_cq; + int max_cqe; + int max_mr; + int max_pd; + int max_qp_rd_atom; + int max_ee_rd_atom; + int max_res_rd_atom; + int max_qp_init_rd_atom; + int max_ee_init_rd_atom; + enum ib_atomic_cap atomic_cap; + enum ib_atomic_cap masked_atomic_cap; + int max_ee; + int max_rdd; + int max_mw; + int max_raw_ipv6_qp; + int max_raw_ethy_qp; + int max_mcast_grp; + int max_mcast_qp_attach; + int max_total_mcast_qp_attach; + int max_ah; + int max_srq; + int max_srq_wr; + int max_srq_sge; + unsigned int max_fast_reg_page_list_len; + unsigned int max_pi_fast_reg_page_list_len; + u16 max_pkeys; + u8 local_ca_ack_delay; + int sig_prot_cap; + int sig_guard_cap; + struct ib_odp_caps odp_caps; + uint64_t timestamp_mask; + uint64_t hca_core_clock; + struct ib_rss_caps rss_caps; + u32 max_wq_type_rq; + u32 raw_packet_caps; + struct ib_tm_caps tm_caps; + struct ib_cq_caps cq_caps; + u64 max_dm_size; + u32 max_sgl_rd; +}; + +struct hw_stats_device_data; + +struct rdmacg_device { + struct list_head dev_node; + struct list_head rpools; + char *name; +}; + +struct rdma_restrack_root; + +struct uapi_definition; + +struct ib_port_data; + +struct rdma_link_ops; + +struct ib_device { + struct device *dma_device; + struct ib_device_ops ops; + char name[64]; + struct callback_head callback_head; + struct list_head event_handler_list; + struct rw_semaphore event_handler_rwsem; + spinlock_t qp_open_list_lock; + struct rw_semaphore client_data_rwsem; + struct xarray client_data; + struct mutex unregistration_lock; + rwlock_t cache_lock; + struct ib_port_data *port_data; + int num_comp_vectors; + union { + struct device dev; + struct ib_core_device coredev; + }; + const struct attribute_group *groups[4]; + u8 hw_stats_attr_index; + u64 uverbs_cmd_mask; + char node_desc[64]; + __be64 node_guid; + u32 local_dma_lkey; + u16 is_switch: 1; + u16 kverbs_provider: 1; + u16 use_cq_dim: 1; + u8 node_type; + u32 phys_port_cnt; + struct ib_device_attr attrs; + struct hw_stats_device_data *hw_stats_data; + struct rdmacg_device cg_device; + u32 index; + spinlock_t cq_pools_lock; + struct list_head cq_pools[3]; + struct rdma_restrack_root *res; + const struct uapi_definition *driver_def; + refcount_t refcount; + struct completion unreg_completion; + struct work_struct unregistration_work; + const struct rdma_link_ops *link_ops; + struct mutex compat_devs_mutex; + struct xarray compat_devs; + char iw_ifname[16]; + u32 iw_driver_flags; + u32 lag_flags; + struct mutex subdev_lock; + struct list_head subdev_list_head; + enum rdma_nl_dev_type type; + struct ib_device *parent; + struct list_head subdev_list; + enum rdma_nl_name_assign_type name_assign_type; +}; + +struct ib_device_modify { + u64 sys_image_guid; + char node_desc[64]; +}; + +struct ib_dm { + struct ib_device *device; + u32 length; + u32 flags; + struct ib_uobject *uobject; + atomic_t usecnt; +}; + +struct ib_dm_alloc_attr { + u64 length; + u32 alignment; + u32 flags; +}; + +struct ib_dm_mr_attr { + u64 length; + u64 offset; + u32 access_flags; +}; + +struct ib_dmah { + struct ib_device *device; + struct ib_uobject *uobject; + struct rdma_restrack_entry res; + u32 cpu_id; + enum tph_mem_type mem_type; + atomic_t usecnt; + u8 ph; + u8 valid_fields; +}; + +struct ib_event { + struct ib_device *device; + union { + struct ib_cq *cq; + struct ib_qp *qp; + struct ib_srq *srq; + struct ib_wq *wq; + u32 port_num; + } element; + enum ib_event_type event; +}; + +struct ib_flow { + struct ib_qp *qp; + struct ib_device *device; + struct ib_uobject *uobject; +}; + +struct ib_flow_action { + struct ib_device *device; + struct ib_uobject *uobject; + enum ib_flow_action_type type; + atomic_t usecnt; +}; + +struct ib_flow_eth_filter { + u8 dst_mac[6]; + u8 src_mac[6]; + __be16 ether_type; + __be16 vlan_tag; +}; + +struct ib_flow_spec_eth { + u32 type; + u16 size; + struct ib_flow_eth_filter val; + struct ib_flow_eth_filter mask; +}; + +struct ib_flow_ib_filter { + __be16 dlid; + __u8 sl; +}; + +struct ib_flow_spec_ib { + u32 type; + u16 size; + struct ib_flow_ib_filter val; + struct ib_flow_ib_filter mask; +}; + +struct ib_flow_ipv4_filter { + __be32 src_ip; + __be32 dst_ip; + u8 proto; + u8 tos; + u8 ttl; + u8 flags; +}; + +struct ib_flow_spec_ipv4 { + u32 type; + u16 size; + struct ib_flow_ipv4_filter val; + struct ib_flow_ipv4_filter mask; +}; + +struct ib_flow_tcp_udp_filter { + __be16 dst_port; + __be16 src_port; +}; + +struct ib_flow_spec_tcp_udp { + u32 type; + u16 size; + struct ib_flow_tcp_udp_filter val; + struct ib_flow_tcp_udp_filter mask; +}; + +struct ib_flow_ipv6_filter { + u8 src_ip[16]; + u8 dst_ip[16]; + __be32 flow_label; + u8 next_hdr; + u8 traffic_class; + u8 hop_limit; +} __attribute__((packed)); + +struct ib_flow_spec_ipv6 { + u32 type; + u16 size; + struct ib_flow_ipv6_filter val; + struct ib_flow_ipv6_filter mask; +}; + +struct ib_flow_tunnel_filter { + __be32 tunnel_id; +}; + +struct ib_flow_spec_tunnel { + u32 type; + u16 size; + struct ib_flow_tunnel_filter val; + struct ib_flow_tunnel_filter mask; +}; + +struct ib_flow_esp_filter { + __be32 spi; + __be32 seq; +}; + +struct ib_flow_spec_esp { + u32 type; + u16 size; + struct ib_flow_esp_filter val; + struct ib_flow_esp_filter mask; +}; + +struct ib_flow_gre_filter { + __be16 c_ks_res0_ver; + __be16 protocol; + __be32 key; +}; + +struct ib_flow_spec_gre { + u32 type; + u16 size; + struct ib_flow_gre_filter val; + struct ib_flow_gre_filter mask; +}; + +struct ib_flow_mpls_filter { + __be32 tag; +}; + +struct ib_flow_spec_mpls { + u32 type; + u16 size; + struct ib_flow_mpls_filter val; + struct ib_flow_mpls_filter mask; +}; + +struct ib_flow_spec_action_tag { + enum ib_flow_spec_type type; + u16 size; + u32 tag_id; +}; + +struct ib_flow_spec_action_drop { + enum ib_flow_spec_type type; + u16 size; +}; + +struct ib_flow_spec_action_handle { + enum ib_flow_spec_type type; + u16 size; + struct ib_flow_action *act; +}; + +struct ib_flow_spec_action_count { + enum ib_flow_spec_type type; + u16 size; + struct ib_counters *counters; +}; + +union ib_flow_spec { + struct { + u32 type; + u16 size; + }; + struct ib_flow_spec_eth eth; + struct ib_flow_spec_ib ib; + struct ib_flow_spec_ipv4 ipv4; + struct ib_flow_spec_tcp_udp tcp_udp; + struct ib_flow_spec_ipv6 ipv6; + struct ib_flow_spec_tunnel tunnel; + struct ib_flow_spec_esp esp; + struct ib_flow_spec_gre gre; + struct ib_flow_spec_mpls mpls; + struct ib_flow_spec_action_tag flow_tag; + struct ib_flow_spec_action_drop drop; + struct ib_flow_spec_action_handle action; + struct ib_flow_spec_action_count flow_count; +}; + +struct ib_flow_attr { + enum ib_flow_attr_type type; + u16 size; + u16 priority; + u32 flags; + u8 num_of_specs; + u32 port; + union ib_flow_spec flows[0]; +}; + +union ib_gid { + u8 raw[16]; + struct { + __be64 subnet_prefix; + __be64 interface_id; + } global; +}; + +struct ib_gid_attr { + struct net_device *ndev; + struct ib_device *device; + union ib_gid gid; + enum ib_gid_type gid_type; + u16 index; + u32 port_num; +}; + +struct ib_global_route { + const struct ib_gid_attr *sgid_attr; + union ib_gid dgid; + u32 flow_label; + u8 sgid_index; + u8 hop_limit; + u8 traffic_class; +}; + +struct ib_grh { + __be32 version_tclass_flow; + __be16 paylen; + u8 next_hdr; + u8 hop_limit; + union ib_gid sgid; + union ib_gid dgid; +}; + +struct ib_sig_attrs; + +struct ib_mr { + struct ib_device *device; + struct ib_pd *pd; + u32 lkey; + u32 rkey; + u64 iova; + u64 length; + unsigned int page_size; + enum ib_mr_type type; + bool need_inval; + union { + struct ib_uobject *uobject; + struct list_head qp_entry; + }; + struct ib_dm *dm; + struct ib_sig_attrs *sig_attrs; + struct ib_dmah *dmah; + struct rdma_restrack_entry res; +}; + +struct ib_sig_err { + enum ib_sig_err_type err_type; + u32 expected; + u32 actual; + u64 sig_err_offset; + u32 key; +}; + +struct ib_mr_status { + u32 fail_status; + struct ib_sig_err sig_err; +}; + +struct ib_mw { + struct ib_device *device; + struct ib_pd *pd; + struct ib_uobject *uobject; + u32 rkey; + enum ib_mw_type type; +}; + +struct ib_pd { + u32 local_dma_lkey; + u32 flags; + struct ib_device *device; + struct ib_uobject *uobject; + atomic_t usecnt; + u32 unsafe_global_rkey; + struct ib_mr *__internal_mr; + struct rdma_restrack_entry res; +}; + +struct ib_port_attr { + u64 subnet_prefix; + enum ib_port_state state; + enum ib_mtu max_mtu; + enum ib_mtu active_mtu; + u32 phys_mtu; + int gid_tbl_len; + unsigned int ip_gids: 1; + u32 port_cap_flags; + u32 max_msg_sz; + u32 bad_pkey_cntr; + u32 qkey_viol_cntr; + u16 pkey_tbl_len; + u32 sm_lid; + u32 lid; + u8 lmc; + u8 max_vl_num; + u8 sm_sl; + u8 subnet_timeout; + u8 init_type_reply; + u8 active_width; + u16 active_speed; + u8 phys_state; + u16 port_cap_flags2; +}; + +struct ib_pkey_cache; + +struct ib_gid_table; + +struct ib_port_cache { + u64 subnet_prefix; + struct ib_pkey_cache *pkey; + struct ib_gid_table *gid; + u8 lmc; + enum ib_port_state port_state; + enum ib_port_state last_port_state; +}; + +struct ib_port_immutable { + int pkey_tbl_len; + int gid_tbl_len; + u32 core_cap_flags; + u32 max_mad_size; +}; + +struct rdma_counter_mode { + enum rdma_nl_counter_mode mode; + enum rdma_nl_counter_mask mask; + struct auto_mode_param param; + bool bind_opcnt; +}; + +struct rdma_port_counter { + struct rdma_counter_mode mode; + struct rdma_hw_stats *hstats; + unsigned int num_counters; + struct mutex lock; +}; + +struct ib_port; + +struct ib_port_data { + struct ib_device *ib_dev; + struct ib_port_immutable immutable; + spinlock_t pkey_list_lock; + spinlock_t netdev_lock; + struct list_head pkey_list; + struct ib_port_cache cache; + struct net_device *netdev; + netdevice_tracker netdev_tracker; + struct hlist_node ndev_hash_link; + struct rdma_port_counter port_counter; + struct ib_port *sysfs; +}; + +struct ib_port_modify { + u32 set_port_cap_mask; + u32 clr_port_cap_mask; + u8 init_type; +}; + +struct ib_qp_security; + +struct ib_port_pkey { + enum port_pkey_state state; + u16 pkey_index; + u32 port_num; + struct list_head qp_list; + struct list_head to_error_list; + struct ib_qp_security *sec; +}; + +struct ib_ports_pkeys { + struct ib_port_pkey main; + struct ib_port_pkey alt; +}; + +struct ib_uqp_object; + +struct ib_qp { + struct ib_device *device; + struct ib_pd *pd; + struct ib_cq *send_cq; + struct ib_cq *recv_cq; + spinlock_t mr_lock; + int mrs_used; + struct list_head rdma_mrs; + struct list_head sig_mrs; + struct ib_srq *srq; + struct completion srq_completion; + struct ib_xrcd *xrcd; + struct list_head xrcd_list; + atomic_t usecnt; + struct list_head open_list; + struct ib_qp *real_qp; + struct ib_uqp_object *uobject; + void (*event_handler)(struct ib_event *, void *); + void (*registered_event_handler)(struct ib_event *, void *); + void *qp_context; + const struct ib_gid_attr *av_sgid_attr; + const struct ib_gid_attr *alt_path_sgid_attr; + u32 qp_num; + u32 max_write_sge; + u32 max_read_sge; + enum ib_qp_type qp_type; + struct ib_rwq_ind_table *rwq_ind_tbl; + struct ib_qp_security *qp_sec; + u32 port; + bool integrity_en; + struct rdma_restrack_entry res; + struct rdma_counter *counter; +}; + +struct ib_qp_cap { + u32 max_send_wr; + u32 max_recv_wr; + u32 max_send_sge; + u32 max_recv_sge; + u32 max_inline_data; + u32 max_rdma_ctxs; +}; + +struct roce_ah_attr { + u8 dmac[6]; +}; + +struct opa_ah_attr { + u32 dlid; + u8 src_path_bits; + bool make_grd; +}; + +struct rdma_ah_attr { + struct ib_global_route grh; + u8 sl; + u8 static_rate; + u32 port_num; + u8 ah_flags; + enum rdma_ah_attr_type type; + union { + struct ib_ah_attr ib; + struct roce_ah_attr roce; + struct opa_ah_attr opa; + }; +}; + +struct ib_qp_attr { + enum ib_qp_state qp_state; + enum ib_qp_state cur_qp_state; + enum ib_mtu path_mtu; + enum ib_mig_state path_mig_state; + u32 qkey; + u32 rq_psn; + u32 sq_psn; + u32 dest_qp_num; + int qp_access_flags; + struct ib_qp_cap cap; + struct rdma_ah_attr ah_attr; + struct rdma_ah_attr alt_ah_attr; + u16 pkey_index; + u16 alt_pkey_index; + u8 en_sqd_async_notify; + u8 sq_draining; + u8 max_rd_atomic; + u8 max_dest_rd_atomic; + u8 min_rnr_timer; + u32 port_num; + u8 timeout; + u8 retry_cnt; + u8 rnr_retry; + u32 alt_port_num; + u8 alt_timeout; + u32 rate_limit; + struct net_device *xmit_slave; +}; + +struct ib_qp_init_attr { + void (*event_handler)(struct ib_event *, void *); + void *qp_context; + struct ib_cq *send_cq; + struct ib_cq *recv_cq; + struct ib_srq *srq; + struct ib_xrcd *xrcd; + struct ib_qp_cap cap; + enum ib_sig_type sq_sig_type; + enum ib_qp_type qp_type; + u32 create_flags; + u32 port_num; + struct ib_rwq_ind_table *rwq_ind_tbl; + u32 source_qpn; +}; + +struct ib_qp_security { + struct ib_qp *qp; + struct ib_device *dev; + struct mutex mutex; + struct ib_ports_pkeys *ports_pkeys; + struct list_head shared_qp_list; + void *security; + bool destroying; + atomic_t error_list_count; + struct completion error_complete; + int error_comps_pending; +}; + +struct rdma_cgroup; + +struct ib_rdmacg_object { + struct rdma_cgroup *cg; +}; + +struct ib_recv_wr { + struct ib_recv_wr *next; + union { + u64 wr_id; + struct ib_cqe *wr_cqe; + }; + struct ib_sge *sg_list; + int num_sge; +}; + +struct ib_rwq_ind_table { + struct ib_device *device; + struct ib_uobject *uobject; + atomic_t usecnt; + u32 ind_tbl_num; + u32 log_ind_tbl_size; + struct ib_wq **ind_tbl; +}; + +struct ib_rwq_ind_table_init_attr { + u32 log_ind_tbl_size; + struct ib_wq **ind_tbl; +}; + +struct ib_security_struct { + u32 sid; +}; + +struct ib_send_wr { + struct ib_send_wr *next; + union { + u64 wr_id; + struct ib_cqe *wr_cqe; + }; + struct ib_sge *sg_list; + int num_sge; + enum ib_wr_opcode opcode; + int send_flags; + union { + __be32 imm_data; + u32 invalidate_rkey; + } ex; +}; + +struct ib_sge { + u64 addr; + u32 length; + u32 lkey; +}; + +struct ib_t10_dif_domain { + enum ib_t10_dif_bg_type bg_type; + u16 pi_interval; + u16 bg; + u16 app_tag; + u32 ref_tag; + bool ref_remap; + bool app_escape; + bool ref_escape; + u16 apptag_check_mask; +}; + +struct ib_sig_domain { + enum ib_signature_type sig_type; + union { + struct ib_t10_dif_domain dif; + } sig; +}; + +struct ib_sig_attrs { + u8 check_mask; + struct ib_sig_domain mem; + struct ib_sig_domain wire; + int meta_length; +}; + +struct ib_usrq_object; + +struct ib_srq { + struct ib_device *device; + struct ib_pd *pd; + struct ib_usrq_object *uobject; + void (*event_handler)(struct ib_event *, void *); + void *srq_context; + enum ib_srq_type srq_type; + atomic_t usecnt; + struct { + struct ib_cq *cq; + union { + struct { + struct ib_xrcd *xrcd; + u32 srq_num; + } xrc; + }; + } ext; + struct rdma_restrack_entry res; +}; + +struct ib_srq_attr { + u32 max_wr; + u32 max_sge; + u32 srq_limit; +}; + +struct ib_srq_init_attr { + void (*event_handler)(struct ib_event *, void *); + void *srq_context; + struct ib_srq_attr attr; + enum ib_srq_type srq_type; + struct { + struct ib_cq *cq; + union { + struct { + struct ib_xrcd *xrcd; + } xrc; + struct { + u32 max_num_tags; + } tag_matching; + }; + } ext; +}; + +struct ib_ucontext { + struct ib_device *device; + struct ib_uverbs_file *ufile; + struct ib_rdmacg_object cg_obj; + u64 enabled_caps; + struct rdma_restrack_entry res; + struct xarray mmap_xa; +}; + +struct ib_udata { + const void *inbuf; + void *outbuf; + size_t inlen; + size_t outlen; +}; + +struct uverbs_api_object; + +struct ib_uobject { + u64 user_handle; + struct ib_uverbs_file *ufile; + struct ib_ucontext *context; + void *object; + struct list_head list; + struct ib_rdmacg_object cg_obj; + int id; + struct kref ref; + atomic_t usecnt; + struct callback_head rcu; + const struct uverbs_api_object *uapi_object; +}; + +struct ib_wc { + union { + u64 wr_id; + struct ib_cqe *wr_cqe; + }; + enum ib_wc_status status; + enum ib_wc_opcode opcode; + u32 vendor_err; + u32 byte_len; + struct ib_qp *qp; + union { + __be32 imm_data; + u32 invalidate_rkey; + } ex; + u32 src_qp; + u32 slid; + int wc_flags; + u16 pkey_index; + u8 sl; + u8 dlid_path_bits; + u32 port_num; + u8 smac[6]; + u16 vlan_id; + u8 network_hdr_type; +}; + +struct ib_uwq_object; + +struct ib_wq { + struct ib_device *device; + struct ib_uwq_object *uobject; + void *wq_context; + void (*event_handler)(struct ib_event *, void *); + struct ib_pd *pd; + struct ib_cq *cq; + u32 wq_num; + enum ib_wq_state state; + enum ib_wq_type wq_type; + atomic_t usecnt; +}; + +struct ib_wq_attr { + enum ib_wq_state wq_state; + enum ib_wq_state curr_wq_state; + u32 flags; + u32 flags_mask; +}; + +struct ib_wq_init_attr { + void *wq_context; + enum ib_wq_type wq_type; + u32 max_wr; + u32 max_sge; + struct ib_cq *cq; + void (*event_handler)(struct ib_event *, void *); + u32 create_flags; +}; + +struct ib_xrcd { + struct ib_device *device; + atomic_t usecnt; + struct inode *inode; + struct rw_semaphore tgt_qps_rwsem; + struct xarray tgt_qps; +}; + +union ibs_fetch_ctl { + __u64 val; + struct { + __u64 fetch_maxcnt: 16; + __u64 fetch_cnt: 16; + __u64 fetch_lat: 16; + __u64 fetch_en: 1; + __u64 fetch_val: 1; + __u64 fetch_comp: 1; + __u64 ic_miss: 1; + __u64 phy_addr_valid: 1; + __u64 l1tlb_pgsz: 2; + __u64 l1tlb_miss: 1; + __u64 l2tlb_miss: 1; + __u64 rand_en: 1; + __u64 fetch_l2_miss: 1; + __u64 l3_miss_only: 1; + __u64 fetch_oc_miss: 1; + __u64 fetch_l3_miss: 1; + __u64 reserved: 2; + }; +}; + +union ibs_op_ctl { + __u64 val; + struct { + __u64 opmaxcnt: 16; + __u64 l3_miss_only: 1; + __u64 op_en: 1; + __u64 op_val: 1; + __u64 cnt_ctl: 1; + __u64 opmaxcnt_ext: 7; + __u64 reserved0: 5; + __u64 opcurcnt: 27; + __u64 ldlat_thrsh: 4; + __u64 ldlat_en: 1; + }; +}; + +union ibs_op_data { + __u64 val; + struct { + __u64 comp_to_ret_ctr: 16; + __u64 tag_to_ret_ctr: 16; + __u64 reserved1: 2; + __u64 op_return: 1; + __u64 op_brn_taken: 1; + __u64 op_brn_misp: 1; + __u64 op_brn_ret: 1; + __u64 op_rip_invalid: 1; + __u64 op_brn_fuse: 1; + __u64 op_microcode: 1; + __u64 reserved2: 23; + }; +}; + +union ibs_op_data2 { + __u64 val; + struct { + __u64 data_src_lo: 3; + __u64 reserved0: 1; + __u64 rmt_node: 1; + __u64 cache_hit_st: 1; + __u64 data_src_hi: 2; + __u64 reserved1: 56; + }; +}; + +union ibs_op_data3 { + __u64 val; + struct { + __u64 ld_op: 1; + __u64 st_op: 1; + __u64 dc_l1tlb_miss: 1; + __u64 dc_l2tlb_miss: 1; + __u64 dc_l1tlb_hit_2m: 1; + __u64 dc_l1tlb_hit_1g: 1; + __u64 dc_l2tlb_hit_2m: 1; + __u64 dc_miss: 1; + __u64 dc_mis_acc: 1; + __u64 reserved: 4; + __u64 dc_wc_mem_acc: 1; + __u64 dc_uc_mem_acc: 1; + __u64 dc_locked_op: 1; + __u64 dc_miss_no_mab_alloc: 1; + __u64 dc_lin_addr_valid: 1; + __u64 dc_phy_addr_valid: 1; + __u64 dc_l2_tlb_hit_1g: 1; + __u64 l2_miss: 1; + __u64 sw_pf: 1; + __u64 op_mem_width: 4; + __u64 op_dc_miss_open_mem_reqs: 6; + __u64 dc_miss_lat: 16; + __u64 tlb_refill_lat: 16; + }; +}; + +struct icc_path; + +struct icc_bulk_data { + struct icc_path *path; + const char *name; + u32 avg_bw; + u32 peak_bw; +}; + +struct icc_bulk_devres { + struct icc_bulk_data *paths; + int num_paths; +}; + +struct icc_provider; + +struct icc_node { + int id; + const char *name; + struct icc_node **links; + size_t num_links; + struct icc_provider *provider; + struct list_head node_list; + struct list_head search_list; + struct icc_node *reverse; + u8 is_traversed: 1; + struct hlist_head req_list; + u32 avg_bw; + u32 peak_bw; + u32 init_avg; + u32 init_peak; + void *data; +}; + +struct icc_node_data { + struct icc_node *node; + u32 tag; +}; + +struct icc_onecell_data { + unsigned int num_nodes; + struct icc_node *nodes[0]; +}; + +struct icc_req { + struct hlist_node req_node; + struct icc_node *node; + struct device *dev; + bool enabled; + u32 tag; + u32 avg_bw; + u32 peak_bw; +}; + +struct icc_path { + const char *name; + size_t num_nodes; + struct icc_req reqs[0]; +}; + +struct icc_provider { + struct list_head provider_list; + struct list_head nodes; + int (*set)(struct icc_node *, struct icc_node *); + int (*aggregate)(struct icc_node *, u32, u32, u32, u32 *, u32 *); + void (*pre_aggregate)(struct icc_node *); + int (*get_bw)(struct icc_node *, u32 *, u32 *); + struct icc_node * (*xlate)(const struct of_phandle_args *, void *); + struct icc_node_data * (*xlate_extended)(const struct of_phandle_args *, void *); + struct device *dev; + int users; + bool inter_set; + void *data; +}; + +struct ich_laptop { + u16 device; + u16 subvendor; + u16 subdevice; +}; + +struct icmp6_err { + int err; + int fatal; +}; + +struct icmp6_filter { + __u32 data[8]; +}; + +struct icmpv6_echo { + __be16 identifier; + __be16 sequence; +}; + +struct icmpv6_nd_advt { + __u32 reserved: 5; + __u32 override: 1; + __u32 solicited: 1; + __u32 router: 1; + __u32 reserved2: 24; +}; + +struct icmpv6_nd_ra { + __u8 hop_limit; + __u8 reserved: 3; + __u8 router_pref: 2; + __u8 home_agent: 1; + __u8 other: 1; + __u8 managed: 1; + __be16 rt_lifetime; +}; + +struct icmp6hdr { + __u8 icmp6_type; + __u8 icmp6_code; + __sum16 icmp6_cksum; + union { + __be32 un_data32[1]; + __be16 un_data16[2]; + __u8 un_data8[4]; + struct icmpv6_echo u_echo; + struct icmpv6_nd_advt u_nd_advt; + struct icmpv6_nd_ra u_nd_ra; + } icmp6_dataun; +}; + +struct icmphdr { + __u8 type; + __u8 code; + __sum16 checksum; + union { + struct { + __be16 id; + __be16 sequence; + } echo; + __be32 gateway; + struct { + __be16 __unused; + __be16 mtu; + } frag; + __u8 reserved[4]; + } un; +}; + +struct ip_options { + __be32 faddr; + __be32 nexthop; + unsigned char optlen; + unsigned char srr; + unsigned char rr; + unsigned char ts; + unsigned char is_strictroute: 1; + unsigned char srr_is_hit: 1; + unsigned char is_changed: 1; + unsigned char rr_needaddr: 1; + unsigned char ts_needtime: 1; + unsigned char ts_needaddr: 1; + unsigned char router_alert; + unsigned char cipso; + unsigned char __pad2; + unsigned char __data[0]; +}; + +struct ip_options_rcu { + struct callback_head rcu; + struct ip_options opt; +}; + +struct ip_options_data { + struct ip_options_rcu opt; + char data[40]; +}; + +struct icmp_bxm { + struct sk_buff *skb; + int offset; + int data_len; + struct { + struct icmphdr icmph; + __be32 times[3]; + } data; + int head_len; + struct ip_options_data replyopts; +}; + +struct icmp_control { + enum skb_drop_reason (*handler)(struct sk_buff *); + short int error; +}; + +struct icmp_err { + int errno; + unsigned int fatal: 1; +}; + +struct icmp_ext_echo_ctype3_hdr { + __be16 afi; + __u8 addrlen; + __u8 reserved; +}; + +struct icmp_extobj_hdr { + __be16 length; + __u8 class_num; + __u8 class_type; +}; + +struct icmp_ext_echo_iio { + struct icmp_extobj_hdr extobj_hdr; + union { + char name[16]; + __be32 ifindex; + struct { + struct icmp_ext_echo_ctype3_hdr ctype3_hdr; + union { + __be32 ipv4_addr; + struct in6_addr ipv6_addr; + } ip_addr; + } addr; + } ident; +}; + +struct icmp_ext_hdr { + __u8 reserved1: 4; + __u8 version: 4; + __u8 reserved2; + __sum16 checksum; +}; + +struct icmp_filter { + __u32 data; +}; + +struct icmp_mib { + long unsigned int mibs[30]; +}; + +struct icmpmsg_mib { + atomic_long_t mibs[512]; +}; + +struct icmpv6_mib { + long unsigned int mibs[7]; +}; + +struct icmpv6_mib_device { + atomic_long_t mibs[7]; +}; + +struct icmpv6_msg { + struct sk_buff *skb; + int offset; + uint8_t type; +}; + +struct icmpv6msg_mib { + atomic_long_t mibs[512]; +}; + +struct icmpv6msg_mib_device { + atomic_long_t mibs[512]; +}; + +struct id_bitmap { + long unsigned int map[4]; +}; + +struct id_proc_event { + __kernel_pid_t process_pid; + __kernel_pid_t process_tgid; + union { + __u32 ruid; + __u32 rgid; + } r; + union { + __u32 euid; + __u32 egid; + } e; +}; + +struct ida_bitmap { + long unsigned int bitmap[16]; +}; + +struct idempotent { + const void *cookie; + struct hlist_node entry; + struct completion complete; + int ret; +}; + +struct idle_cpu { + struct cpuidle_state *state_table; + long unsigned int auto_demotion_disable_flags; + bool disable_promotion_to_c1e; + bool c1_demotion_supported; + bool use_acpi; +}; + +struct idle_inject_device { + struct hrtimer timer; + unsigned int idle_duration_us; + unsigned int run_duration_us; + unsigned int latency_us; + bool (*update)(void); + long unsigned int cpumask[0]; +}; + +struct idle_inject_thread { + struct task_struct *tsk; + int should_run; +}; + +struct idle_timer { + struct hrtimer timer; + int done; +}; + +struct idmap_key { + bool map_up; + u32 id; + u32 count; +}; + +struct idt_data { + unsigned int vector; + unsigned int segment; + struct idt_bits bits; + const void *addr; +}; + +struct ieee80211_channel { + enum nl80211_band band; + u32 center_freq; + u16 freq_offset; + u16 hw_value; + u32 flags; + int max_antenna_gain; + int max_power; + int max_reg_power; + bool beacon_found; + u32 orig_flags; + int orig_mag; + int orig_mpwr; + enum nl80211_dfs_state dfs_state; + long unsigned int dfs_state_entered; + unsigned int dfs_cac_ms; + s8 psd; +}; + +struct ieee80211_eht_cap_elem_fixed { + u8 mac_cap_info[2]; + u8 phy_cap_info[9]; +}; + +struct ieee80211_eht_mcs_nss_supp_20mhz_only { + union { + struct { + u8 rx_tx_mcs7_max_nss; + u8 rx_tx_mcs9_max_nss; + u8 rx_tx_mcs11_max_nss; + u8 rx_tx_mcs13_max_nss; + }; + u8 rx_tx_max_nss[4]; + }; +}; + +struct ieee80211_eht_mcs_nss_supp_bw { + union { + struct { + u8 rx_tx_mcs9_max_nss; + u8 rx_tx_mcs11_max_nss; + u8 rx_tx_mcs13_max_nss; + }; + u8 rx_tx_max_nss[3]; + }; +}; + +struct ieee80211_eht_mcs_nss_supp { + union { + struct ieee80211_eht_mcs_nss_supp_20mhz_only only_20mhz; + struct { + struct ieee80211_eht_mcs_nss_supp_bw _80; + struct ieee80211_eht_mcs_nss_supp_bw _160; + struct ieee80211_eht_mcs_nss_supp_bw _320; + } bw; + }; +}; + +struct ieee80211_freq_range { + u32 start_freq_khz; + u32 end_freq_khz; + u32 max_bandwidth_khz; +}; + +struct ieee80211_he_6ghz_capa { + __le16 capa; +}; + +struct ieee80211_he_cap_elem { + u8 mac_cap_info[6]; + u8 phy_cap_info[11]; +}; + +struct ieee80211_he_mcs_nss_supp { + __le16 rx_mcs_80; + __le16 tx_mcs_80; + __le16 rx_mcs_160; + __le16 tx_mcs_160; + __le16 rx_mcs_80p80; + __le16 tx_mcs_80p80; +}; + +struct ieee80211_iface_limit; + +struct ieee80211_iface_combination { + const struct ieee80211_iface_limit *limits; + u32 num_different_channels; + u16 max_interfaces; + u8 n_limits; + bool beacon_int_infra_match; + u8 radar_detect_widths; + u8 radar_detect_regions; + u32 beacon_int_min_gcd; +}; + +struct ieee80211_iface_limit { + u16 max; + u16 types; +}; + +struct ieee80211_power_rule { + u32 max_antenna_gain; + u32 max_eirp; +}; + +struct ieee80211_rate { + u32 flags; + u16 bitrate; + u16 hw_value; + u16 hw_value_short; +}; + +struct ieee80211_wmm_ac { + u16 cw_min; + u16 cw_max; + u16 cot; + u8 aifsn; +}; + +struct ieee80211_wmm_rule { + struct ieee80211_wmm_ac client[4]; + struct ieee80211_wmm_ac ap[4]; +}; + +struct ieee80211_reg_rule { + struct ieee80211_freq_range freq_range; + struct ieee80211_power_rule power_rule; + struct ieee80211_wmm_rule wmm_rule; + u32 flags; + u32 dfs_cac_ms; + bool has_wmm; + s8 psd; +}; + +struct ieee80211_regdomain { + struct callback_head callback_head; + u32 n_reg_rules; + char alpha2[3]; + enum nl80211_dfs_regions dfs_region; + struct ieee80211_reg_rule reg_rules[0]; +}; + +struct ieee80211_sta_he_cap { + bool has_he; + struct ieee80211_he_cap_elem he_cap_elem; + struct ieee80211_he_mcs_nss_supp he_mcs_nss_supp; + u8 ppe_thres[25]; +} __attribute__((packed)); + +struct ieee80211_sta_eht_cap { + bool has_eht; + struct ieee80211_eht_cap_elem_fixed eht_cap_elem; + struct ieee80211_eht_mcs_nss_supp eht_mcs_nss_supp; + u8 eht_ppe_thres[32]; +}; + +struct ieee80211_sband_iftype_data { + u16 types_mask; + struct ieee80211_sta_he_cap he_cap; + struct ieee80211_he_6ghz_capa he_6ghz_capa; + struct ieee80211_sta_eht_cap eht_cap; + struct { + const u8 *data; + unsigned int len; + } vendor_elems; +} __attribute__((packed)); + +struct ieee80211_sta_ht_cap { + u16 cap; + bool ht_supported; + u8 ampdu_factor; + u8 ampdu_density; + struct ieee80211_mcs_info mcs; + short: 0; +} __attribute__((packed)); + +struct ieee80211_sta_s1g_cap { + bool s1g; + u8 cap[10]; + u8 nss_mcs[5]; +}; + +struct ieee80211_sta_vht_cap { + bool vht_supported; + u32 cap; + struct ieee80211_vht_mcs_info vht_mcs; +}; + +struct ieee80211_supported_band { + struct ieee80211_channel *channels; + struct ieee80211_rate *bitrates; + enum nl80211_band band; + int n_channels; + int n_bitrates; + struct ieee80211_sta_ht_cap ht_cap; + struct ieee80211_sta_vht_cap vht_cap; + struct ieee80211_sta_s1g_cap s1g_cap; + struct ieee80211_edmg edmg_cap; + u16 n_iftype_data; + const struct ieee80211_sband_iftype_data *iftype_data; +}; + +struct ieee80211_txrx_stypes { + u16 tx; + u16 rx; +}; + +struct ieee802154_addr { + u8 mode; + __le16 pan_id; + union { + __le16 short_addr; + __le64 extended_addr; + }; +}; + +struct ieee802154_pan_device { + __le16 pan_id; + u8 mode; + __le16 short_addr; + __le64 extended_addr; + struct list_head node; +}; + +struct ieee_ets { + __u8 willing; + __u8 ets_cap; + __u8 cbs; + __u8 tc_tx_bw[8]; + __u8 tc_rx_bw[8]; + __u8 tc_tsa[8]; + __u8 prio_tc[8]; + __u8 tc_reco_bw[8]; + __u8 tc_reco_tsa[8]; + __u8 reco_prio_tc[8]; +}; + +struct ieee_maxrate { + __u64 tc_maxrate[8]; +}; + +struct ieee_pfc { + __u8 pfc_cap; + __u8 pfc_en; + __u8 mbc; + __u16 delay; + __u64 requests[8]; + __u64 indications[8]; +}; + +struct ieee_qcn { + __u8 rpg_enable[8]; + __u32 rppp_max_rps[8]; + __u32 rpg_time_reset[8]; + __u32 rpg_byte_reset[8]; + __u32 rpg_threshold[8]; + __u32 rpg_max_rate[8]; + __u32 rpg_ai_rate[8]; + __u32 rpg_hai_rate[8]; + __u32 rpg_gd[8]; + __u32 rpg_min_dec_fac[8]; + __u32 rpg_min_rate[8]; + __u32 cndd_state_machine[8]; +}; + +struct ieee_qcn_stats { + __u64 rppp_rp_centiseconds[8]; + __u32 rppp_created_rps[8]; +}; + +struct if6_iter_state { + struct seq_net_private p; + int bucket; + int offset; +}; + +struct if_dqblk { + __u64 dqb_bhardlimit; + __u64 dqb_bsoftlimit; + __u64 dqb_curspace; + __u64 dqb_ihardlimit; + __u64 dqb_isoftlimit; + __u64 dqb_curinodes; + __u64 dqb_btime; + __u64 dqb_itime; + __u32 dqb_valid; +}; + +struct if_dqinfo { + __u64 dqi_bgrace; + __u64 dqi_igrace; + __u32 dqi_flags; + __u32 dqi_valid; +}; + +struct if_nextdqblk { + __u64 dqb_bhardlimit; + __u64 dqb_bsoftlimit; + __u64 dqb_curspace; + __u64 dqb_ihardlimit; + __u64 dqb_isoftlimit; + __u64 dqb_curinodes; + __u64 dqb_btime; + __u64 dqb_itime; + __u32 dqb_valid; + __u32 dqb_id; +}; + +struct if_set { + if_mask ifs_bits[8]; +}; + +struct if_settings { + unsigned int type; + unsigned int size; + union { + raw_hdlc_proto *raw_hdlc; + cisco_proto *cisco; + fr_proto *fr; + fr_proto_pvc *fr_pvc; + fr_proto_pvc_info *fr_pvc_info; + x25_hdlc_proto *x25; + sync_serial_settings *sync; + te1_settings *te1; + } ifs_ifsu; +}; + +struct if_stats_msg { + __u8 family; + __u8 pad1; + __u16 pad2; + __u32 ifindex; + __u32 filter_mask; +}; + +struct ifa6_config { + const struct in6_addr *pfx; + unsigned int plen; + u8 ifa_proto; + const struct in6_addr *peer_pfx; + u32 rt_priority; + u32 ifa_flags; + u32 preferred_lft; + u32 valid_lft; + u16 scope; +}; + +struct ifa_cacheinfo { + __u32 ifa_prefered; + __u32 ifa_valid; + __u32 cstamp; + __u32 tstamp; +}; + +struct ifacaddr6 { + struct in6_addr aca_addr; + struct fib6_info *aca_rt; + struct ifacaddr6 *aca_next; + struct hlist_node aca_addr_lst; + int aca_users; + refcount_t aca_refcnt; + long unsigned int aca_cstamp; + long unsigned int aca_tstamp; + struct callback_head rcu; +}; + +struct ifaddrlblmsg { + __u8 ifal_family; + __u8 __ifal_reserved; + __u8 ifal_prefixlen; + __u8 ifal_flags; + __u32 ifal_index; + __u32 ifal_seq; +}; + +struct ifaddrmsg { + __u8 ifa_family; + __u8 ifa_prefixlen; + __u8 ifa_flags; + __u8 ifa_scope; + __u32 ifa_index; +}; + +struct ifbond { + __s32 bond_mode; + __s32 num_slaves; + __s32 miimon; +}; + +typedef struct ifbond ifbond; + +struct ifreq; + +struct ifconf { + int ifc_len; + union { + char *ifcu_buf; + struct ifreq *ifcu_req; + } ifc_ifcu; +}; + +struct ifinfomsg { + unsigned char ifi_family; + unsigned char __ifi_pad; + short unsigned int ifi_type; + int ifi_index; + unsigned int ifi_flags; + unsigned int ifi_change; +}; + +struct ifla_cacheinfo { + __u32 max_reasm_len; + __u32 tstamp; + __u32 reachable_time; + __u32 retrans_time; +}; + +struct ifla_vf_broadcast { + __u8 broadcast[32]; +}; + +struct ifla_vf_guid { + __u32 vf; + __u64 guid; +}; + +struct ifla_vf_info { + __u32 vf; + __u8 mac[32]; + __u32 vlan; + __u32 qos; + __u32 spoofchk; + __u32 linkstate; + __u32 min_tx_rate; + __u32 max_tx_rate; + __u32 rss_query_en; + __u32 trusted; + __be16 vlan_proto; +}; + +struct ifla_vf_link_state { + __u32 vf; + __u32 link_state; +}; + +struct ifla_vf_mac { + __u32 vf; + __u8 mac[32]; +}; + +struct ifla_vf_rate { + __u32 vf; + __u32 min_tx_rate; + __u32 max_tx_rate; +}; + +struct ifla_vf_rss_query_en { + __u32 vf; + __u32 setting; +}; + +struct ifla_vf_spoofchk { + __u32 vf; + __u32 setting; +}; + +struct ifla_vf_stats { + __u64 rx_packets; + __u64 tx_packets; + __u64 rx_bytes; + __u64 tx_bytes; + __u64 broadcast; + __u64 multicast; + __u64 rx_dropped; + __u64 tx_dropped; +}; + +struct ifla_vf_trust { + __u32 vf; + __u32 setting; +}; + +struct ifla_vf_tx_rate { + __u32 vf; + __u32 rate; +}; + +struct ifla_vf_vlan { + __u32 vf; + __u32 vlan; + __u32 qos; +}; + +struct ifla_vf_vlan_info { + __u32 vf; + __u32 vlan; + __u32 qos; + __be16 vlan_proto; +}; + +struct ifmap { + long unsigned int mem_start; + long unsigned int mem_end; + short unsigned int base_addr; + unsigned char irq; + unsigned char dma; + unsigned char port; +}; + +struct inet6_dev; + +struct ip6_sf_list; + +struct ifmcaddr6 { + struct in6_addr mca_addr; + struct inet6_dev *idev; + struct ifmcaddr6 *next; + struct ip6_sf_list *mca_sources; + struct ip6_sf_list *mca_tomb; + unsigned int mca_sfmode; + unsigned char mca_crcount; + long unsigned int mca_sfcount[2]; + struct delayed_work mca_work; + unsigned int mca_flags; + int mca_users; + refcount_t mca_refcnt; + long unsigned int mca_cstamp; + long unsigned int mca_tstamp; + struct callback_head rcu; +}; + +struct ifreq { + union { + char ifrn_name[16]; + } ifr_ifrn; + union { + struct sockaddr ifru_addr; + struct sockaddr ifru_dstaddr; + struct sockaddr ifru_broadaddr; + struct sockaddr ifru_netmask; + struct sockaddr ifru_hwaddr; + short int ifru_flags; + int ifru_ivalue; + int ifru_mtu; + struct ifmap ifru_map; + char ifru_slave[16]; + char ifru_newname[16]; + void *ifru_data; + struct if_settings ifru_settings; + } ifr_ifru; +}; + +struct ifslave { + __s32 slave_id; + char slave_name[16]; + __s8 link; + __s8 state; + __u32 link_failure_count; +}; + +typedef struct ifslave ifslave; + +struct igmp6_mc_iter_state { + struct seq_net_private p; + struct net_device *dev; + struct inet6_dev *idev; +}; + +struct igmp6_mcf_iter_state { + struct seq_net_private p; + struct net_device *dev; + struct inet6_dev *idev; + struct ifmcaddr6 *im; +}; + +struct in_device; + +struct igmp_mc_iter_state { + struct seq_net_private p; + struct net_device *dev; + struct in_device *in_dev; +}; + +struct ip_mc_list; + +struct igmp_mcf_iter_state { + struct seq_net_private p; + struct net_device *dev; + struct in_device *idev; + struct ip_mc_list *im; +}; + +struct igmphdr { + __u8 type; + __u8 code; + __sum16 csum; + __be32 group; +}; + +struct igmpmsg { + __u32 unused1; + __u32 unused2; + unsigned char im_msgtype; + unsigned char im_mbz; + unsigned char im_vif; + unsigned char im_vif_hi; + struct in_addr im_src; + struct in_addr im_dst; +}; + +struct igmpv3_grec { + __u8 grec_type; + __u8 grec_auxwords; + __be16 grec_nsrcs; + __be32 grec_mca; + __be32 grec_src[0]; +}; + +struct igmpv3_query { + __u8 type; + __u8 code; + __sum16 csum; + __be32 group; + __u8 qrv: 3; + __u8 suppress: 1; + __u8 resv: 4; + __u8 qqic; + __be16 nsrcs; + __be32 srcs[0]; +}; + +struct igmpv3_report { + __u8 type; + __u8 resv1; + __sum16 csum; + __be16 resv2; + __be16 ngrec; + struct igmpv3_grec grec[0]; +}; + +struct ignore_section { + guid_t guid; + const char *name; +}; + +struct ima_algo_desc { + struct crypto_shash *tfm; + enum hash_algo algo; +}; + +struct ima_digest_data { + union { + struct { + u8 algo; + u8 length; + union { + struct { + u8 unused; + u8 type; + } sha1; + struct { + u8 type; + u8 algo; + } ng; + u8 data[2]; + } xattr; + }; + struct ima_digest_data_hdr hdr; + }; + u8 digest[0]; +}; + +struct ima_iint_cache; + +struct modsig; + +struct ima_event_data { + struct ima_iint_cache *iint; + struct file *file; + const unsigned char *filename; + struct evm_ima_xattr_data *xattr_value; + int xattr_len; + const struct modsig *modsig; + const char *violation; + const void *buf; + int buf_len; +}; + +struct ima_field_data { + u8 *data; + u32 len; +}; + +struct ima_file_id { + __u8 hash_type; + __u8 hash_algorithm; + __u8 hash[64]; +}; + +struct ima_h_table { + atomic_long_t len; + atomic_long_t violations; + struct hlist_head queue[1024]; +}; + +struct ima_iint_cache { + struct mutex mutex; + struct integrity_inode_attributes real_inode; + long unsigned int flags; + long unsigned int measured_pcrs; + long unsigned int atomic_flags; + enum integrity_status ima_file_status: 4; + enum integrity_status ima_mmap_status: 4; + enum integrity_status ima_bprm_status: 4; + enum integrity_status ima_read_status: 4; + enum integrity_status ima_creds_status: 4; + struct ima_digest_data *ima_hash; +}; + +struct ima_kexec_hdr { + u16 version; + u16 _reserved0; + u32 _reserved1; + u64 buffer_size; + u64 count; +}; + +struct ima_key_entry { + struct list_head list; + void *payload; + size_t payload_len; + char *keyring_name; +}; + +struct ima_max_digest_data { + struct ima_digest_data_hdr hdr; + u8 digest[64]; +}; + +struct ima_template_entry; + +struct ima_queue_entry { + struct hlist_node hnext; + struct list_head later; + struct ima_template_entry *entry; +}; + +struct ima_rule_opt_list; + +struct ima_template_desc; + +struct ima_rule_entry { + struct list_head list; + int action; + unsigned int flags; + enum ima_hooks func; + int mask; + long unsigned int fsmagic; + uuid_t fsuuid; + kuid_t uid; + kgid_t gid; + kuid_t fowner; + kgid_t fgroup; + bool (*uid_op)(kuid_t, kuid_t); + bool (*gid_op)(kgid_t, kgid_t); + bool (*fowner_op)(vfsuid_t, kuid_t); + bool (*fgroup_op)(vfsgid_t, kgid_t); + int pcr; + unsigned int allowed_algos; + struct { + void *rule; + char *args_p; + int type; + } lsm[6]; + char *fsname; + struct ima_rule_opt_list *keyrings; + struct ima_rule_opt_list *label; + struct ima_template_desc *template; +}; + +struct ima_rule_opt_list { + size_t count; + char *items[0]; +}; + +struct ima_setup_data { + __u64 addr; + __u64 size; +}; + +struct ima_template_field; + +struct ima_template_desc { + struct list_head list; + char *name; + char *fmt; + int num_fields; + const struct ima_template_field **fields; +}; + +struct tpm_digest; + +struct ima_template_entry { + int pcr; + struct tpm_digest *digests; + struct ima_template_desc *template_desc; + u32 template_data_len; + struct ima_field_data template_data[0]; +}; + +struct ima_template_field { + const char field_id[16]; + int (*field_init)(struct ima_event_data *, struct ima_field_data *); + void (*field_show)(struct seq_file *, enum ima_show_type, struct ima_field_data *); +}; + +struct imc_uncore_pci_dev { + __u32 pci_id; + struct pci_driver *driver; +}; + +struct implicit_conversion_data { + struct source_location location; + struct type_descriptor *from_type; + struct type_descriptor *to_type; + unsigned char type_check_kind; +}; + +struct imstt_regvals { + __u32 pitch; + __u16 hes; + __u16 heb; + __u16 hsb; + __u16 ht; + __u16 ves; + __u16 veb; + __u16 vsb; + __u16 vt; + __u16 vil; + __u8 pclk_m; + __u8 pclk_n; + __u8 pclk_p; + __u8 mlc[3]; + __u8 lckl_p[3]; +}; + +struct imstt_par { + struct imstt_regvals init; + __u32 *dc_regs; + long unsigned int cmap_regs_phys; + __u8 *cmap_regs; + __u32 ramdac; + __u32 palette[16]; +}; + +struct in6_flowlabel_req { + struct in6_addr flr_dst; + __be32 flr_label; + __u8 flr_action; + __u8 flr_share; + __u16 flr_flags; + __u16 flr_expires; + __u16 flr_linger; + __u32 __flr_pad; +}; + +struct in6_ifreq { + struct in6_addr ifr6_addr; + __u32 ifr6_prefixlen; + int ifr6_ifindex; +}; + +struct in6_pktinfo { + struct in6_addr ipi6_addr; + int ipi6_ifindex; +}; + +struct in6_rtmsg { + struct in6_addr rtmsg_dst; + struct in6_addr rtmsg_src; + struct in6_addr rtmsg_gateway; + __u32 rtmsg_type; + __u16 rtmsg_dst_len; + __u16 rtmsg_src_len; + __u32 rtmsg_metric; + long unsigned int rtmsg_info; + __u32 rtmsg_flags; + int rtmsg_ifindex; +}; + +struct in6_validator_info { + struct in6_addr i6vi_addr; + struct inet6_dev *i6vi_dev; + struct netlink_ext_ack *extack; +}; + +struct ipv4_devconf { + void *sysctl; + int data[33]; + long unsigned int state[1]; +}; + +struct in_ifaddr; + +struct neigh_parms; + +struct in_device { + struct net_device *dev; + netdevice_tracker dev_tracker; + refcount_t refcnt; + int dead; + struct in_ifaddr *ifa_list; + struct ip_mc_list *mc_list; + struct ip_mc_list **mc_hash; + int mc_count; + spinlock_t mc_tomb_lock; + struct ip_mc_list *mc_tomb; + long unsigned int mr_v1_seen; + long unsigned int mr_v2_seen; + long unsigned int mr_maxdelay; + long unsigned int mr_qi; + long unsigned int mr_qri; + unsigned char mr_qrv; + unsigned char mr_gq_running; + u32 mr_ifc_count; + struct timer_list mr_gq_timer; + struct timer_list mr_ifc_timer; + struct neigh_parms *arp_parms; + struct ipv4_devconf cnf; + struct callback_head callback_head; +}; + +struct in_ifaddr { + struct hlist_node addr_lst; + struct in_ifaddr *ifa_next; + struct in_device *ifa_dev; + struct callback_head callback_head; + __be32 ifa_local; + __be32 ifa_address; + __be32 ifa_mask; + __u32 ifa_rt_priority; + __be32 ifa_broadcast; + unsigned char ifa_scope; + unsigned char ifa_prefixlen; + unsigned char ifa_proto; + __u32 ifa_flags; + char ifa_label[16]; + __u32 ifa_valid_lft; + __u32 ifa_preferred_lft; + long unsigned int ifa_cstamp; + long unsigned int ifa_tstamp; +}; + +struct in_pktinfo { + int ipi_ifindex; + struct in_addr ipi_spec_dst; + struct in_addr ipi_addr; +}; + +struct in_validator_info { + __be32 ivi_addr; + struct in_device *ivi_dev; + struct netlink_ext_ack *extack; +}; + +struct indication { + u32 bit; + const char *name; +}; + +struct ipv6_txoptions; + +struct inet6_cork { + struct ipv6_txoptions *opt; + u8 hop_limit; + u8 tclass; + u8 dontfrag: 1; +}; + +struct ipv6_stable_secret { + bool initialized; + struct in6_addr secret; +}; + +struct ipv6_devconf { + __u8 __cacheline_group_begin__ipv6_devconf_read_txrx[0]; + __s32 disable_ipv6; + __s32 hop_limit; + __s32 mtu6; + __s32 forwarding; + __s32 force_forwarding; + __s32 disable_policy; + __s32 proxy_ndp; + __u8 __cacheline_group_end__ipv6_devconf_read_txrx[0]; + __s32 accept_ra; + __s32 accept_redirects; + __s32 autoconf; + __s32 dad_transmits; + __s32 rtr_solicits; + __s32 rtr_solicit_interval; + __s32 rtr_solicit_max_interval; + __s32 rtr_solicit_delay; + __s32 force_mld_version; + __s32 mldv1_unsolicited_report_interval; + __s32 mldv2_unsolicited_report_interval; + __s32 use_tempaddr; + __s32 temp_valid_lft; + __s32 temp_prefered_lft; + __s32 regen_min_advance; + __s32 regen_max_retry; + __s32 max_desync_factor; + __s32 max_addresses; + __s32 accept_ra_defrtr; + __u32 ra_defrtr_metric; + __s32 accept_ra_min_hop_limit; + __s32 accept_ra_min_lft; + __s32 accept_ra_pinfo; + __s32 ignore_routes_with_linkdown; + __s32 accept_ra_rtr_pref; + __s32 rtr_probe_interval; + __s32 accept_ra_rt_info_min_plen; + __s32 accept_ra_rt_info_max_plen; + __s32 accept_source_route; + __s32 accept_ra_from_local; + __s32 optimistic_dad; + __s32 use_optimistic; + atomic_t mc_forwarding; + __s32 drop_unicast_in_l2_multicast; + __s32 accept_dad; + __s32 force_tllao; + __s32 ndisc_notify; + __s32 suppress_frag_ndisc; + __s32 accept_ra_mtu; + __s32 drop_unsolicited_na; + __s32 accept_untracked_na; + struct ipv6_stable_secret stable_secret; + __s32 use_oif_addrs_only; + __s32 keep_addr_on_down; + __s32 seg6_enabled; + __s32 seg6_require_hmac; + __u32 enhanced_dad; + __u32 addr_gen_mode; + __s32 ndisc_tclass; + __s32 rpl_seg_enabled; + __u32 ioam6_id; + __u32 ioam6_id_wide; + __u8 ioam6_enabled; + __u8 ndisc_evict_nocarrier; + __u8 ra_honor_pio_life; + __u8 ra_honor_pio_pflag; + struct ctl_table_header *sysctl_header; +}; + +struct ipstats_mib; + +struct ipv6_devstat { + struct proc_dir_entry *proc_dir_entry; + struct ipstats_mib *ipv6; + struct icmpv6_mib_device *icmpv6dev; + struct icmpv6msg_mib_device *icmpv6msgdev; +}; + +struct inet6_dev { + struct net_device *dev; + netdevice_tracker dev_tracker; + struct list_head addr_list; + struct ifmcaddr6 *mc_list; + struct ifmcaddr6 *mc_tomb; + unsigned char mc_qrv; + unsigned char mc_gq_running; + unsigned char mc_ifc_count; + unsigned char mc_dad_count; + long unsigned int mc_v1_seen; + long unsigned int mc_qi; + long unsigned int mc_qri; + long unsigned int mc_maxdelay; + struct delayed_work mc_gq_work; + struct delayed_work mc_ifc_work; + struct delayed_work mc_dad_work; + struct delayed_work mc_query_work; + struct delayed_work mc_report_work; + struct sk_buff_head mc_query_queue; + struct sk_buff_head mc_report_queue; + spinlock_t mc_query_lock; + spinlock_t mc_report_lock; + struct mutex mc_lock; + struct ifacaddr6 *ac_list; + rwlock_t lock; + refcount_t refcnt; + __u32 if_flags; + int dead; + u32 desync_factor; + struct list_head tempaddr_list; + struct in6_addr token; + struct neigh_parms *nd_parms; + struct ipv6_devconf cnf; + struct ipv6_devstat stats; + struct timer_list rs_timer; + __s32 rs_interval; + __u8 rs_probes; + long unsigned int tstamp; + struct callback_head rcu; + unsigned int ra_mtu; +}; + +struct inet6_fill_args { + u32 portid; + u32 seq; + int event; + unsigned int flags; + int netnsid; + int ifindex; + enum addr_type_t type; + bool force_rt_scope_universe; +}; + +struct inet6_ifaddr { + struct in6_addr addr; + __u32 prefix_len; + __u32 rt_priority; + __u32 valid_lft; + __u32 prefered_lft; + refcount_t refcnt; + spinlock_t lock; + int state; + __u32 flags; + __u8 dad_probes; + __u8 stable_privacy_retry; + __u16 scope; + __u64 dad_nonce; + long unsigned int cstamp; + long unsigned int tstamp; + struct delayed_work dad_work; + struct inet6_dev *idev; + struct fib6_info *rt; + struct hlist_node addr_lst; + struct list_head if_list; + struct list_head if_list_aux; + struct list_head tmp_list; + struct inet6_ifaddr *ifpub; + int regen_count; + bool tokenized; + u8 ifa_proto; + struct callback_head rcu; + struct in6_addr peer_addr; +}; + +struct inet6_skb_parm; + +struct inet6_protocol { + int (*handler)(struct sk_buff *); + int (*err_handler)(struct sk_buff *, struct inet6_skb_parm *, u8, u8, int, __be32); + unsigned int flags; + u32 secret; +}; + +struct inet6_skb_parm { + int iif; + __be16 ra; + __u16 dst0; + __u16 srcrt; + __u16 dst1; + __u16 lastopt; + __u16 nhoff; + __u16 flags; + __u16 dsthao; + __u16 frag_max_size; + __u16 srhoff; +}; + +union inet_addr { + __be32 ip; + struct in6_addr in6; +}; + +struct inet_bind2_bucket { + possible_net_t ib_net; + int l3mdev; + short unsigned int port; + short unsigned int addr_type; + struct in6_addr v6_rcv_saddr; + struct hlist_node node; + struct hlist_node bhash_node; + struct hlist_head owners; + signed char fastreuse; + signed char fastreuseport; +}; + +struct inet_bind_bucket { + possible_net_t ib_net; + int l3mdev; + short unsigned int port; + signed char fastreuse; + signed char fastreuseport; + kuid_t fastuid; + struct in6_addr fast_v6_rcv_saddr; + __be32 fast_rcv_saddr; + short unsigned int fast_sk_family; + bool fast_ipv6_only; + struct hlist_node node; + struct hlist_head bhash2; + struct callback_head rcu; +}; + +struct inet_bind_hashbucket { + spinlock_t lock; + struct hlist_head chain; +}; + +struct inet_cork { + unsigned int flags; + __be32 addr; + struct ip_options *opt; + unsigned int fragsize; + int length; + struct dst_entry *dst; + u8 tx_flags; + __u8 ttl; + __s16 tos; + u32 priority; + __u16 gso_size; + u32 ts_opt_id; + u64 transmit_time; + u32 mark; +}; + +struct inet_cork_full { + struct inet_cork base; + struct flowi fl; +}; + +struct ipv6_pinfo; + +struct ip_mc_socklist; + +struct inet_sock { + struct sock sk; + struct ipv6_pinfo *pinet6; + long unsigned int inet_flags; + __be32 inet_saddr; + __s16 uc_ttl; + __be16 inet_sport; + struct ip_options_rcu *inet_opt; + atomic_t inet_id; + __u8 tos; + __u8 min_ttl; + __u8 mc_ttl; + __u8 pmtudisc; + __u8 rcv_tos; + __u8 convert_csum; + int uc_index; + int mc_index; + __be32 mc_addr; + u32 local_port_range; + struct ip_mc_socklist *mc_list; + struct inet_cork_full cork; +}; + +struct request_sock_queue { + spinlock_t rskq_lock; + u8 rskq_defer_accept; + u32 synflood_warned; + atomic_t qlen; + atomic_t young; + struct request_sock *rskq_accept_head; + struct request_sock *rskq_accept_tail; + struct fastopen_queue fastopenq; +}; + +struct inet_connection_sock_af_ops; + +struct tcp_ulp_ops; + +struct inet_connection_sock { + struct inet_sock icsk_inet; + struct request_sock_queue icsk_accept_queue; + struct inet_bind_bucket *icsk_bind_hash; + struct inet_bind2_bucket *icsk_bind2_hash; + struct timer_list icsk_retransmit_timer; + struct timer_list icsk_delack_timer; + __u32 icsk_rto; + __u32 icsk_rto_min; + u32 icsk_rto_max; + __u32 icsk_delack_max; + __u32 icsk_pmtu_cookie; + const struct tcp_congestion_ops *icsk_ca_ops; + const struct inet_connection_sock_af_ops *icsk_af_ops; + const struct tcp_ulp_ops *icsk_ulp_ops; + void *icsk_ulp_data; + unsigned int (*icsk_sync_mss)(struct sock *, u32); + __u8 icsk_ca_state: 5; + __u8 icsk_ca_initialized: 1; + __u8 icsk_ca_setsockopt: 1; + __u8 icsk_ca_dst_locked: 1; + __u8 icsk_retransmits; + __u8 icsk_pending; + __u8 icsk_backoff; + __u8 icsk_syn_retries; + __u8 icsk_probes_out; + __u16 icsk_ext_hdr_len; + struct { + __u8 pending; + __u8 quick; + __u8 pingpong; + __u8 retry; + __u32 ato: 8; + __u32 lrcv_flowlabel: 20; + __u32 dst_quick_ack: 1; + __u32 unused: 3; + __u32 lrcvtime; + __u16 last_seg_size; + __u16 rcv_mss; + } icsk_ack; + struct { + int search_high; + int search_low; + u32 probe_size: 31; + u32 enabled: 1; + u32 probe_timestamp; + } icsk_mtup; + u32 icsk_probes_tstamp; + u32 icsk_user_timeout; + u64 icsk_ca_priv[13]; +}; + +struct inet_connection_sock_af_ops { + int (*queue_xmit)(struct sock *, struct sk_buff *, struct flowi *); + void (*send_check)(struct sock *, struct sk_buff *); + int (*rebuild_header)(struct sock *); + void (*sk_rx_dst_set)(struct sock *, const struct sk_buff *); + int (*conn_request)(struct sock *, struct sk_buff *); + struct sock * (*syn_recv_sock)(const struct sock *, struct sk_buff *, struct request_sock *, struct dst_entry *, struct request_sock *, bool *); + u16 net_header_len; + int (*setsockopt)(struct sock *, int, int, sockptr_t, unsigned int); + int (*getsockopt)(struct sock *, int, int, char *, int *); + void (*mtu_reduced)(struct sock *); +}; + +struct inet_ehash_bucket { + struct hlist_nulls_head chain; +}; + +struct inet_fill_args { + u32 portid; + u32 seq; + int event; + unsigned int flags; + int netnsid; + int ifindex; +}; + +struct inet_frags { + unsigned int qsize; + void (*constructor)(struct inet_frag_queue *, const void *); + void (*destructor)(struct inet_frag_queue *); + void (*frag_expire)(struct timer_list *); + struct kmem_cache *frags_cachep; + const char *frags_cache_name; + struct rhashtable_params rhash_params; + refcount_t refcnt; + struct completion completion; +}; + +struct inet_listen_hashbucket; + +struct inet_hashinfo { + struct inet_ehash_bucket *ehash; + spinlock_t *ehash_locks; + unsigned int ehash_mask; + unsigned int ehash_locks_mask; + struct kmem_cache *bind_bucket_cachep; + struct inet_bind_hashbucket *bhash; + struct kmem_cache *bind2_bucket_cachep; + struct inet_bind_hashbucket *bhash2; + unsigned int bhash_size; + unsigned int lhash2_mask; + struct inet_listen_hashbucket *lhash2; + bool pernet; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct inet_listen_hashbucket { + spinlock_t lock; + struct hlist_nulls_head nulls_head; +}; + +struct ipv4_addr_key { + __be32 addr; + int vif; +}; + +struct inetpeer_addr { + union { + struct ipv4_addr_key a4; + struct in6_addr a6; + u32 key[4]; + }; + __u16 family; +}; + +struct inet_peer { + struct rb_node rb_node; + struct inetpeer_addr daddr; + u32 metrics[17]; + u32 rate_tokens; + u32 n_redirects; + long unsigned int rate_last; + union { + struct { + atomic_t rid; + }; + struct callback_head rcu; + }; + __u32 dtime; + refcount_t refcnt; +}; + +struct proto_ops; + +struct inet_protosw { + struct list_head list; + short unsigned int type; + short unsigned int protocol; + struct proto *prot; + const struct proto_ops *ops; + unsigned char flags; +}; + +struct request_sock_ops; + +struct saved_syn; + +struct request_sock { + struct sock_common __req_common; + struct request_sock *dl_next; + u16 mss; + u8 num_retrans; + u8 syncookie: 1; + u8 num_timeout: 7; + u32 ts_recent; + struct timer_list rsk_timer; + const struct request_sock_ops *rsk_ops; + struct sock *sk; + struct saved_syn *saved_syn; + u32 secid; + u32 peer_secid; + u32 timeout; +}; + +struct inet_request_sock { + struct request_sock req; + u16 snd_wscale: 4; + u16 rcv_wscale: 4; + u16 tstamp_ok: 1; + u16 sack_ok: 1; + u16 wscale_ok: 1; + u16 ecn_ok: 1; + u16 acked: 1; + u16 no_srccheck: 1; + u16 smc_ok: 1; + u32 ir_mark; + union { + struct ip_options_rcu *ireq_opt; + struct { + struct ipv6_txoptions *ipv6_opt; + struct sk_buff *pktopts; + }; + }; +}; + +struct inet_skb_parm { + int iif; + struct ip_options opt; + u16 flags; + u16 frag_max_size; +}; + +struct inet_timewait_death_row { + refcount_t tw_refcount; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + struct inet_hashinfo *hashinfo; + int sysctl_max_tw_buckets; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct inet_timewait_sock { + struct sock_common __tw_common; + __u32 tw_mark; + unsigned char tw_substate; + unsigned char tw_rcv_wscale; + __be16 tw_sport; + unsigned int tw_transparent: 1; + unsigned int tw_flowlabel: 20; + unsigned int tw_usec_ts: 1; + unsigned int tw_connect_bind: 1; + unsigned int tw_pad: 1; + unsigned int tw_tos: 8; + u32 tw_txhash; + u32 tw_priority; + u32 tw_entry_stamp; + struct timer_list tw_timer; + struct inet_bind_bucket *tw_tb; + struct inet_bind2_bucket *tw_tb2; +}; + +struct inflate_state { + inflate_mode mode; + int last; + int wrap; + int havedict; + int flags; + unsigned int dmax; + long unsigned int check; + long unsigned int total; + unsigned int wbits; + unsigned int wsize; + unsigned int whave; + unsigned int write; + unsigned char *window; + long unsigned int hold; + unsigned int bits; + unsigned int length; + unsigned int offset; + unsigned int extra; + const code *lencode; + const code *distcode; + unsigned int lenbits; + unsigned int distbits; + unsigned int ncode; + unsigned int nlen; + unsigned int ndist; + unsigned int have; + code *next; + short unsigned int lens[320]; + short unsigned int work[288]; + code codes[2048]; +}; + +struct inflate_workspace { + struct inflate_state inflate_state; + unsigned char working_window[32768]; +}; + +struct init_nmi { + unsigned int offset; + unsigned int mask; + unsigned int data; +}; + +struct powernow_k8_data; + +struct init_on_cpu { + struct powernow_k8_data *data; + int rc; +}; + +struct x86_mapping_info; + +struct init_pgtable_data { + struct x86_mapping_info *info; + pgd_t *level4p; +}; + +struct initvalues { + __u8 addr; + __u8 value; +}; + +struct mnt_idmap; + +struct kstat; + +struct offset_ctx; + +struct inode_operations { + struct dentry * (*lookup)(struct inode *, struct dentry *, unsigned int); + const char * (*get_link)(struct dentry *, struct inode *, struct delayed_call *); + int (*permission)(struct mnt_idmap *, struct inode *, int); + struct posix_acl * (*get_inode_acl)(struct inode *, int, bool); + int (*readlink)(struct dentry *, char *, int); + int (*create)(struct mnt_idmap *, struct inode *, struct dentry *, umode_t, bool); + int (*link)(struct dentry *, struct inode *, struct dentry *); + int (*unlink)(struct inode *, struct dentry *); + int (*symlink)(struct mnt_idmap *, struct inode *, struct dentry *, const char *); + struct dentry * (*mkdir)(struct mnt_idmap *, struct inode *, struct dentry *, umode_t); + int (*rmdir)(struct inode *, struct dentry *); + int (*mknod)(struct mnt_idmap *, struct inode *, struct dentry *, umode_t, dev_t); + int (*rename)(struct mnt_idmap *, struct inode *, struct dentry *, struct inode *, struct dentry *, unsigned int); + int (*setattr)(struct mnt_idmap *, struct dentry *, struct iattr *); + int (*getattr)(struct mnt_idmap *, const struct path *, struct kstat *, u32, unsigned int); + ssize_t (*listxattr)(struct dentry *, char *, size_t); + int (*fiemap)(struct inode *, struct fiemap_extent_info *, u64, u64); + int (*update_time)(struct inode *, int); + int (*atomic_open)(struct inode *, struct dentry *, struct file *, unsigned int, umode_t); + int (*tmpfile)(struct mnt_idmap *, struct inode *, struct file *, umode_t); + struct posix_acl * (*get_acl)(struct mnt_idmap *, struct dentry *, int); + int (*set_acl)(struct mnt_idmap *, struct dentry *, struct posix_acl *, int); + int (*fileattr_set)(struct mnt_idmap *, struct dentry *, struct file_kattr *); + int (*fileattr_get)(struct dentry *, struct file_kattr *); + struct offset_ctx * (*get_offset_ctx)(struct inode *); + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct inode_security_struct { + struct inode *inode; + struct list_head list; + u32 task_sid; + u32 sid; + u16 sclass; + unsigned char initialized; + spinlock_t lock; +}; + +struct inode_smack { + struct smack_known *smk_inode; + struct smack_known *smk_task; + struct smack_known *smk_mmap; + int smk_flags; +}; + +struct inode_switch_wbs_context { + struct rcu_work work; + struct bdi_writeback *new_wb; + struct inode *inodes[0]; +}; + +struct inodes_stat_t { + long int nr_inodes; + long int nr_unused; + long int dummy[5]; +}; + +struct inotify_event { + __s32 wd; + __u32 mask; + __u32 cookie; + __u32 len; + char name[0]; +}; + +struct inotify_event_info { + struct fsnotify_event fse; + u32 mask; + int wd; + u32 sync_cookie; + int name_len; + char name[0]; +}; + +struct inotify_inode_mark { + struct fsnotify_mark fsn_mark; + int wd; +}; + +struct input_absinfo { + __s32 value; + __s32 minimum; + __s32 maximum; + __s32 fuzz; + __s32 flat; + __s32 resolution; +}; + +struct input_id { + __u16 bustype; + __u16 vendor; + __u16 product; + __u16 version; +}; + +struct input_dev_poller; + +struct input_mt; + +struct input_dev { + const char *name; + const char *phys; + const char *uniq; + struct input_id id; + long unsigned int propbit[1]; + long unsigned int evbit[1]; + long unsigned int keybit[12]; + long unsigned int relbit[1]; + long unsigned int absbit[1]; + long unsigned int mscbit[1]; + long unsigned int ledbit[1]; + long unsigned int sndbit[1]; + long unsigned int ffbit[2]; + long unsigned int swbit[1]; + unsigned int hint_events_per_packet; + unsigned int keycodemax; + unsigned int keycodesize; + void *keycode; + int (*setkeycode)(struct input_dev *, const struct input_keymap_entry *, unsigned int *); + int (*getkeycode)(struct input_dev *, struct input_keymap_entry *); + struct ff_device *ff; + struct input_dev_poller *poller; + unsigned int repeat_key; + struct timer_list timer; + int rep[2]; + struct input_mt *mt; + struct input_absinfo *absinfo; + long unsigned int key[12]; + long unsigned int led[1]; + long unsigned int snd[1]; + long unsigned int sw[1]; + int (*open)(struct input_dev *); + void (*close)(struct input_dev *); + int (*flush)(struct input_dev *, struct file *); + int (*event)(struct input_dev *, unsigned int, unsigned int, int); + struct input_handle *grab; + spinlock_t event_lock; + struct mutex mutex; + unsigned int users; + bool going_away; + struct device dev; + struct list_head h_list; + struct list_head node; + unsigned int num_vals; + unsigned int max_vals; + struct input_value *vals; + bool devres_managed; + ktime_t timestamp[3]; + bool inhibited; +}; + +struct input_dev_poller { + void (*poll)(struct input_dev *); + unsigned int poll_interval; + unsigned int poll_interval_max; + unsigned int poll_interval_min; + struct input_dev *input; + struct delayed_work work; +}; + +struct input_device_id { + kernel_ulong_t flags; + __u16 bustype; + __u16 vendor; + __u16 product; + __u16 version; + kernel_ulong_t evbit[1]; + kernel_ulong_t keybit[12]; + kernel_ulong_t relbit[1]; + kernel_ulong_t absbit[1]; + kernel_ulong_t mscbit[1]; + kernel_ulong_t ledbit[1]; + kernel_ulong_t sndbit[1]; + kernel_ulong_t ffbit[2]; + kernel_ulong_t swbit[1]; + kernel_ulong_t propbit[1]; + kernel_ulong_t driver_info; +}; + +struct input_devres { + struct input_dev *input; +}; + +struct input_event_compat { + compat_ulong_t sec; + compat_ulong_t usec; + __u16 type; + __u16 code; + __s32 value; +}; + +struct input_handler { + void *private; + void (*event)(struct input_handle *, unsigned int, unsigned int, int); + unsigned int (*events)(struct input_handle *, struct input_value *, unsigned int); + bool (*filter)(struct input_handle *, unsigned int, unsigned int, int); + bool (*match)(struct input_handler *, struct input_dev *); + int (*connect)(struct input_handler *, struct input_dev *, const struct input_device_id *); + void (*disconnect)(struct input_handle *); + void (*start)(struct input_handle *); + bool passive_observer; + bool legacy_minors; + int minor; + const char *name; + const struct input_device_id *id_table; + struct list_head h_list; + struct list_head node; +}; + +struct input_mask { + __u32 type; + __u32 codes_size; + __u64 codes_ptr; +}; + +struct input_mt_slot { + int abs[14]; + unsigned int frame; + unsigned int key; +}; + +struct input_mt { + int trkid; + int num_slots; + int slot; + unsigned int flags; + unsigned int frame; + int *red; + struct input_mt_slot slots[0]; +}; + +struct input_mt_pos { + s16 x; + s16 y; +}; + +struct input_seq_state { + short unsigned int pos; + bool mutex_acquired; + int input_devices_state; +}; + +struct input_value { + __u16 type; + __u16 code; + __s32 value; +}; + +struct insn_live_regs { + u16 use; + u16 def; + u16 in; + u16 out; +}; + +struct instance_attribute { + struct attribute attr; + ssize_t (*show)(struct edac_pci_ctl_info *, char *); + ssize_t (*store)(struct edac_pci_ctl_info *, const char *, size_t); +}; + +struct instance_attribute___2 { + struct attribute attr; + ssize_t (*show)(struct edac_device_instance *, char *); + ssize_t (*store)(struct edac_device_instance *, const char *, size_t); +}; + +union intcapxt { + u64 capxt; + struct { + u64 reserved_0: 2; + u64 dest_mode_logical: 1; + u64 reserved_1: 5; + u64 destid_0_23: 24; + u64 vector: 8; + u64 reserved_2: 16; + u64 destid_24_31: 8; + }; +}; + +struct intel_agp_driver_description { + unsigned int chip_id; + char *name; + const struct agp_bridge_driver *driver; +}; + +struct intel_padgroup; + +struct intel_community { + unsigned int barno; + unsigned int padown_offset; + unsigned int padcfglock_offset; + unsigned int hostown_offset; + unsigned int is_offset; + unsigned int ie_offset; + unsigned int features; + unsigned int pin_base; + size_t npins; + unsigned int gpp_size; + unsigned int gpp_num_padown_regs; + const struct intel_padgroup *gpps; + size_t ngpps; + const unsigned int *pad_map; + short unsigned int nirqs; + short unsigned int acpi_space_id; + void *regs; + void *pad_regs; +}; + +struct intel_community_context { + u32 *intmask; + u32 *hostown; +}; + +struct intel_community_context___2 { + unsigned int intr_lines[16]; + u32 saved_intmask; +}; + +struct intel_early_ops { + resource_size_t (*stolen_size)(int, int, int); + resource_size_t (*stolen_base)(int, int, int, resource_size_t); +}; + +struct intel_excl_states { + enum intel_excl_state_type state[64]; + bool sched_started; +}; + +struct intel_excl_cntrs { + raw_spinlock_t lock; + struct intel_excl_states states[2]; + union { + u16 has_exclusive[2]; + u32 exclusive_present; + }; + int refcnt; + unsigned int core_id; +}; + +struct pinfunction { + const char *name; + const char * const *groups; + size_t ngroups; +}; + +struct intel_function { + struct pinfunction func; +}; + +struct intel_gtt_driver { + unsigned int gen: 8; + unsigned int is_g33: 1; + unsigned int is_pineview: 1; + unsigned int is_ironlake: 1; + unsigned int has_pgtbl_enable: 1; + unsigned int dma_mask_size: 8; + int (*setup)(void); + void (*cleanup)(void); + void (*write_entry)(dma_addr_t, unsigned int, unsigned int); + dma_addr_t (*read_entry)(unsigned int, bool *, bool *); + bool (*check_flags)(unsigned int); + void (*chipset_flush)(void); +}; + +struct intel_gtt_driver_description { + unsigned int gmch_chip_id; + char *name; + const struct intel_gtt_driver *gtt_driver; +}; + +struct iommu_flush { + void (*flush_context)(struct intel_iommu *, u16, u16, u8, u64); + void (*flush_iotlb)(struct intel_iommu *, u16, u64, unsigned int, u64); +}; + +struct root_entry; + +struct page_req_dsc; + +struct q_inval; + +struct ir_table; + +struct iommu_pmu; + +struct intel_iommu { + void *reg; + u64 reg_phys; + u64 reg_size; + u64 cap; + u64 ecap; + u64 vccap; + u64 ecmdcap[4]; + u32 gcmd; + raw_spinlock_t register_lock; + int seq_id; + int agaw; + int msagaw; + unsigned int irq; + unsigned int pr_irq; + unsigned int perf_irq; + u16 segment; + unsigned char name[16]; + struct mutex did_lock; + struct ida domain_ida; + long unsigned int *copied_tables; + spinlock_t lock; + struct root_entry *root_entry; + struct iommu_flush flush; + struct page_req_dsc *prq; + unsigned char prq_name[16]; + long unsigned int prq_seq_number; + struct completion prq_complete; + struct iopf_queue *iopf_queue; + unsigned char iopfq_name[16]; + struct mutex iopf_lock; + struct q_inval *qi; + u32 iommu_state[4]; + struct rb_root device_rbtree; + spinlock_t device_rbtree_lock; + struct ir_table *ir_table; + struct irq_domain *ir_domain; + struct iommu_device iommu; + int node; + u32 flags; + struct dmar_drhd_unit *drhd; + void *perf_statistic; + struct iommu_pmu *pmu; +}; + +struct intel_iommu_pi_data { + u64 pi_desc_addr; + u32 vector; +}; + +struct irq_2_iommu { + struct intel_iommu *iommu; + u16 irte_index; + u16 sub_handle; + u8 irte_mask; + bool posted_msi; + bool posted_vcpu; +}; + +struct irte { + union { + struct { + union { + struct { + __u64 present: 1; + __u64 fpd: 1; + __u64 __res0: 6; + __u64 avail: 4; + __u64 __res1: 3; + __u64 pst: 1; + __u64 vector: 8; + __u64 __res2: 40; + }; + struct { + __u64 r_present: 1; + __u64 r_fpd: 1; + __u64 dst_mode: 1; + __u64 redir_hint: 1; + __u64 trigger_mode: 1; + __u64 dlvry_mode: 3; + __u64 r_avail: 4; + __u64 r_res0: 4; + __u64 r_vector: 8; + __u64 r_res1: 8; + __u64 dest_id: 32; + }; + struct { + __u64 p_present: 1; + __u64 p_fpd: 1; + __u64 p_res0: 6; + __u64 p_avail: 4; + __u64 p_res1: 2; + __u64 p_urgent: 1; + __u64 p_pst: 1; + __u64 p_vector: 8; + __u64 p_res2: 14; + __u64 pda_l: 26; + }; + __u64 low; + }; + union { + struct { + __u64 sid: 16; + __u64 sq: 2; + __u64 svt: 2; + __u64 __res3: 44; + }; + struct { + __u64 p_sid: 16; + __u64 p_sq: 2; + __u64 p_svt: 2; + __u64 p_res3: 12; + __u64 pda_h: 32; + }; + __u64 high; + }; + }; + __u128 irte; + }; +}; + +struct intel_ir_data { + struct irq_2_iommu irq_2_iommu; + struct irte irte_entry; + union { + struct msi_msg msi_entry; + }; +}; + +struct intel_pad_context { + u32 conf0; + u32 val; +}; + +struct intel_pad_context___2 { + u32 padctrl0; + u32 padctrl1; +}; + +struct intel_pad_context___3 { + u32 padcfg0; + u32 padcfg1; + u32 padcfg2; +}; + +struct intel_padgroup { + unsigned int reg_num; + unsigned int base; + unsigned int size; + int gpio_base; + unsigned int padown_num; +}; + +struct pinctrl_pin_desc; + +struct pinctrl_ops; + +struct pinmux_ops; + +struct pinconf_ops; + +struct pinconf_generic_params; + +struct pin_config_item; + +struct pinctrl_desc { + const char *name; + const struct pinctrl_pin_desc *pins; + unsigned int npins; + const struct pinctrl_ops *pctlops; + const struct pinmux_ops *pmxops; + const struct pinconf_ops *confops; + struct module *owner; + unsigned int num_custom_params; + const struct pinconf_generic_params *custom_params; + const struct pin_config_item *custom_conf_items; + bool link_consumers; +}; + +struct intel_pinctrl_context { + struct intel_pad_context___2 *pads; + struct intel_community_context___2 *communities; +}; + +struct intel_pinctrl_soc_data; + +struct intel_pinctrl { + struct device *dev; + raw_spinlock_t lock; + struct pinctrl_desc pctldesc; + struct pinctrl_dev *pctldev; + struct gpio_chip chip; + const struct intel_pinctrl_soc_data *soc; + struct intel_community *communities; + size_t ncommunities; + struct intel_pinctrl_context context; + int irq; +}; + +struct intel_pinctrl_context___2 { + struct intel_pad_context___3 *pads; + struct intel_community_context *communities; +}; + +struct intel_pinctrl___2 { + struct device *dev; + raw_spinlock_t lock; + struct pinctrl_desc pctldesc; + struct pinctrl_dev *pctldev; + struct gpio_chip chip; + const struct intel_pinctrl_soc_data *soc; + struct intel_community *communities; + size_t ncommunities; + struct intel_pinctrl_context___2 context; + int irq; +}; + +struct intel_community_context; + +struct intel_pinctrl_context___3 { + struct intel_pad_context *pads; + struct intel_community_context *communities; +}; + +struct intel_pinctrl___3 { + struct device *dev; + raw_spinlock_t lock; + struct pinctrl_desc pctldesc; + struct pinctrl_dev *pctldev; + struct gpio_chip chip; + const struct intel_pinctrl_soc_data *soc; + struct intel_community *communities; + size_t ncommunities; + struct intel_pinctrl_context___3 context; + int irq; +}; + +struct intel_pingroup; + +struct intel_pinctrl_soc_data { + const char *uid; + const struct pinctrl_pin_desc *pins; + size_t npins; + const struct intel_pingroup *groups; + size_t ngroups; + const struct intel_function *functions; + size_t nfunctions; + const struct intel_community *communities; + size_t ncommunities; +}; + +struct pingroup { + const char *name; + const unsigned int *pins; + size_t npins; +}; + +struct intel_pingroup { + struct pingroup grp; + short unsigned int mode; + const unsigned int *modes; +}; + +struct intel_pmic_regs_handler_ctx { + unsigned int val; + u16 addr; +}; + +struct intel_pmic_opregion_data; + +struct intel_pmic_opregion { + struct mutex lock; + struct acpi_lpat_conversion_table *lpat_table; + struct regmap *regmap; + const struct intel_pmic_opregion_data *data; + struct intel_pmic_regs_handler_ctx ctx; +}; + +struct pmic_table; + +struct intel_pmic_opregion_data { + int (*get_power)(struct regmap *, int, int, u64 *); + int (*update_power)(struct regmap *, int, int, bool); + int (*get_raw_temp)(struct regmap *, int); + int (*update_aux)(struct regmap *, int, int); + int (*get_policy)(struct regmap *, int, int, u64 *); + int (*update_policy)(struct regmap *, int, int, int); + int (*exec_mipi_pmic_seq_element)(struct regmap *, u16, u32, u32, u32); + int (*lpat_raw_to_temp)(struct acpi_lpat_conversion_table *, int); + const struct pmic_table *power_table; + int power_table_count; + const struct pmic_table *thermal_table; + int thermal_table_count; + int pmic_i2c_address; +}; + +struct intel_scu_ipc_data { + struct resource mem; + int irq; +}; + +struct intel_scu_ipc_dev { + struct device dev; + struct module *owner; + void *ipc_base; + struct completion cmd_complete; + struct intel_scu_ipc_data data; +}; + +struct intel_scu_ipc_devres { + struct intel_scu_ipc_dev *scu; +}; + +struct intel_shared_regs { + struct er_account regs[7]; + int refcnt; + unsigned int core_id; +}; + +struct intel_soc_pmic { + int irq; + struct regmap *regmap; + struct regmap_irq_chip_data *irq_chip_data; + struct regmap_irq_chip_data *irq_chip_data_pwrbtn; + struct regmap_irq_chip_data *irq_chip_data_tmu; + struct regmap_irq_chip_data *irq_chip_data_bcu; + struct regmap_irq_chip_data *irq_chip_data_adc; + struct regmap_irq_chip_data *irq_chip_data_chgr; + struct regmap_irq_chip_data *irq_chip_data_crit; + struct device *dev; + struct intel_scu_ipc_dev *scu; + enum intel_cht_wc_models cht_wc_model; +}; + +struct intel_uncore_extra_reg { + raw_spinlock_t lock; + u64 config; + u64 config1; + u64 config2; + atomic_t ref; +}; + +struct intel_uncore_pmu; + +struct intel_uncore_box { + int dieid; + int n_active; + int n_events; + int cpu; + long unsigned int flags; + atomic_t refcnt; + struct perf_event *events[10]; + struct perf_event *event_list[10]; + struct event_constraint *event_constraint[10]; + long unsigned int active_mask[1]; + u64 tags[10]; + struct pci_dev *pci_dev; + struct intel_uncore_pmu *pmu; + u64 hrtimer_duration; + struct hrtimer hrtimer; + struct list_head list; + struct list_head active_list; + void *io_addr; + struct intel_uncore_extra_reg shared_regs[0]; +}; + +struct intel_uncore_discovery_type { + struct rb_node node; + enum uncore_access_type access_type; + struct rb_root units; + u16 type; + u8 num_counters; + u8 counter_width; + u8 ctl_offset; + u8 ctr_offset; + u16 num_units; +}; + +struct intel_uncore_discovery_unit { + struct rb_node node; + unsigned int pmu_idx; + unsigned int id; + unsigned int die; + u64 addr; +}; + +struct intel_uncore_init_fun { + void (*cpu_init)(void); + int (*pci_init)(void); + void (*mmio_init)(void); + bool use_discovery; + int *uncore_units_ignore; +}; + +struct intel_uncore_ops { + void (*init_box)(struct intel_uncore_box *); + void (*exit_box)(struct intel_uncore_box *); + void (*disable_box)(struct intel_uncore_box *); + void (*enable_box)(struct intel_uncore_box *); + void (*disable_event)(struct intel_uncore_box *, struct perf_event *); + void (*enable_event)(struct intel_uncore_box *, struct perf_event *); + u64 (*read_counter)(struct intel_uncore_box *, struct perf_event *); + int (*hw_config)(struct intel_uncore_box *, struct perf_event *); + struct event_constraint * (*get_constraint)(struct intel_uncore_box *, struct perf_event *); + void (*put_constraint)(struct intel_uncore_box *, struct perf_event *); +}; + +struct perf_cpu_pmu_context; + +struct perf_event_pmu_context; + +struct pmu { + struct list_head entry; + spinlock_t events_lock; + struct list_head events; + struct module *module; + struct device *dev; + struct device *parent; + const struct attribute_group **attr_groups; + const struct attribute_group **attr_update; + const char *name; + int type; + int capabilities; + unsigned int scope; + struct perf_cpu_pmu_context **cpu_pmu_context; + atomic_t exclusive_cnt; + int task_ctx_nr; + int hrtimer_interval_ms; + unsigned int nr_addr_filters; + void (*pmu_enable)(struct pmu *); + void (*pmu_disable)(struct pmu *); + int (*event_init)(struct perf_event *); + void (*event_mapped)(struct perf_event *, struct mm_struct *); + void (*event_unmapped)(struct perf_event *, struct mm_struct *); + int (*add)(struct perf_event *, int); + void (*del)(struct perf_event *, int); + void (*start)(struct perf_event *, int); + void (*stop)(struct perf_event *, int); + void (*read)(struct perf_event *); + void (*start_txn)(struct pmu *, unsigned int); + int (*commit_txn)(struct pmu *); + void (*cancel_txn)(struct pmu *); + int (*event_idx)(struct perf_event *); + void (*sched_task)(struct perf_event_pmu_context *, struct task_struct *, bool); + struct kmem_cache *task_ctx_cache; + void * (*setup_aux)(struct perf_event *, void **, int, bool); + void (*free_aux)(void *); + long int (*snapshot_aux)(struct perf_event *, struct perf_output_handle *, long unsigned int); + int (*addr_filters_validate)(struct list_head *); + void (*addr_filters_sync)(struct perf_event *); + int (*aux_output_match)(struct perf_event *); + bool (*filter)(struct pmu *, int); + int (*check_period)(struct perf_event *, u64); +}; + +struct intel_uncore_type; + +struct intel_uncore_pmu { + struct pmu pmu; + char name[32]; + int pmu_idx; + bool registered; + atomic_t activeboxes; + cpumask_t cpu_mask; + struct intel_uncore_type *type; + struct intel_uncore_box **boxes; +}; + +struct uncore_iio_topology; + +struct uncore_upi_topology; + +struct intel_uncore_topology { + int pmu_idx; + union { + void *untyped; + struct uncore_iio_topology *iio; + struct uncore_upi_topology *upi; + }; +}; + +struct uncore_event_desc; + +struct intel_uncore_type { + const char *name; + int num_counters; + int num_boxes; + int perf_ctr_bits; + int fixed_ctr_bits; + int num_freerunning_types; + int type_id; + unsigned int perf_ctr; + unsigned int event_ctl; + unsigned int event_mask; + unsigned int event_mask_ext; + unsigned int fixed_ctr; + unsigned int fixed_ctl; + unsigned int box_ctl; + union { + unsigned int msr_offset; + unsigned int mmio_offset; + }; + unsigned int mmio_map_size; + unsigned int num_shared_regs: 8; + unsigned int single_fixed: 1; + unsigned int pair_ctr_ctl: 1; + union { + u64 *msr_offsets; + u64 *pci_offsets; + u64 *mmio_offsets; + }; + struct event_constraint unconstrainted; + struct event_constraint *constraints; + struct intel_uncore_pmu *pmus; + struct intel_uncore_ops *ops; + struct uncore_event_desc *event_descs; + struct freerunning_counters *freerunning; + const struct attribute_group *attr_groups[4]; + const struct attribute_group **attr_update; + struct pmu *pmu; + struct rb_root *boxes; + struct intel_uncore_topology **topology; + int (*get_topology)(struct intel_uncore_type *); + void (*set_mapping)(struct intel_uncore_type *); + void (*cleanup_mapping)(struct intel_uncore_type *); + void (*cleanup_extra_boxes)(struct intel_uncore_type *); +}; + +union intel_x86_pebs_dse { + u64 val; + struct { + unsigned int ld_dse: 4; + unsigned int ld_stlb_miss: 1; + unsigned int ld_locked: 1; + unsigned int ld_data_blk: 1; + unsigned int ld_addr_blk: 1; + unsigned int ld_reserved: 24; + }; + struct { + unsigned int st_l1d_hit: 1; + unsigned int st_reserved1: 3; + unsigned int st_stlb_miss: 1; + unsigned int st_locked: 1; + unsigned int st_reserved2: 26; + }; + struct { + unsigned int st_lat_dse: 4; + unsigned int st_lat_stlb_miss: 1; + unsigned int st_lat_locked: 1; + unsigned int ld_reserved3: 26; + }; + struct { + unsigned int mtl_dse: 5; + unsigned int mtl_locked: 1; + unsigned int mtl_stlb_miss: 1; + unsigned int mtl_fwd_blk: 1; + unsigned int ld_reserved4: 24; + }; + struct { + unsigned int lnc_dse: 8; + unsigned int ld_reserved5: 2; + unsigned int lnc_stlb_miss: 1; + unsigned int lnc_locked: 1; + unsigned int lnc_data_blk: 1; + unsigned int lnc_addr_blk: 1; + unsigned int ld_reserved6: 18; + }; +}; + +struct internal_container { + struct klist_node node; + struct attribute_container *cont; + struct device classdev; +}; + +struct internal_state { + int dummy; +}; + +struct interval_tree_span_iter { + struct interval_tree_node *nodes[2]; + long unsigned int first_index; + long unsigned int last_index; + union { + long unsigned int start_hole; + long unsigned int start_used; + }; + union { + long unsigned int last_hole; + long unsigned int last_used; + }; + int is_hole; +}; + +struct invalid_value_data { + struct source_location location; + struct type_descriptor *type; +}; + +struct io { + long unsigned int error_bits; + atomic_t count; + struct dm_io_client *client; + io_notify_fn callback; + void *context; + void *vma_invalidate_address; + long unsigned int vma_invalidate_size; + long: 64; +}; + +struct io_accept { + struct file *file; + struct sockaddr *addr; + int *addr_len; + int flags; + int iou_flags; + u32 file_slot; + long unsigned int nofile; +}; + +struct io_alloc_cache { + void **entries; + unsigned int nr_cached; + unsigned int max_cached; + unsigned int elem_size; + unsigned int init_clear; +}; + +struct io_apic { + unsigned int index; + unsigned int unused[3]; + unsigned int data; + unsigned int unused2[11]; + unsigned int eoi; +}; + +struct iou_vec { + union { + struct iovec *iovec; + struct bio_vec *bvec; + }; + unsigned int nr; +}; + +struct io_uring_sqe { + __u8 opcode; + __u8 flags; + __u16 ioprio; + __s32 fd; + union { + __u64 off; + __u64 addr2; + struct { + __u32 cmd_op; + __u32 __pad1; + }; + }; + union { + __u64 addr; + __u64 splice_off_in; + struct { + __u32 level; + __u32 optname; + }; + }; + __u32 len; + union { + __u32 rw_flags; + __u32 fsync_flags; + __u16 poll_events; + __u32 poll32_events; + __u32 sync_range_flags; + __u32 msg_flags; + __u32 timeout_flags; + __u32 accept_flags; + __u32 cancel_flags; + __u32 open_flags; + __u32 statx_flags; + __u32 fadvise_advice; + __u32 splice_flags; + __u32 rename_flags; + __u32 unlink_flags; + __u32 hardlink_flags; + __u32 xattr_flags; + __u32 msg_ring_flags; + __u32 uring_cmd_flags; + __u32 waitid_flags; + __u32 futex_flags; + __u32 install_fd_flags; + __u32 nop_flags; + __u32 pipe_flags; + }; + __u64 user_data; + union { + __u16 buf_index; + __u16 buf_group; + }; + __u16 personality; + union { + __s32 splice_fd_in; + __u32 file_index; + __u32 zcrx_ifq_idx; + __u32 optlen; + struct { + __u16 addr_len; + __u16 __pad3[1]; + }; + struct { + __u8 write_stream; + __u8 __pad4[3]; + }; + }; + union { + struct { + __u64 addr3; + __u64 __pad2[1]; + }; + struct { + __u64 attr_ptr; + __u64 attr_type_mask; + }; + __u64 optval; + __u8 cmd[0]; + }; +}; + +struct io_async_cmd { + struct iou_vec vec; + struct io_uring_sqe sqes[2]; +}; + +struct ubuf_info; + +struct msghdr { + void *msg_name; + int msg_namelen; + int msg_inq; + struct iov_iter msg_iter; + union { + void *msg_control; + void *msg_control_user; + }; + bool msg_control_is_user: 1; + bool msg_get_inq: 1; + unsigned int msg_flags; + __kernel_size_t msg_controllen; + struct kiocb *msg_iocb; + struct ubuf_info *msg_ubuf; + int (*sg_from_iter)(struct sk_buff *, struct iov_iter *, size_t); +}; + +struct io_async_msghdr { + struct iou_vec vec; + union { + struct { + int namelen; + struct iovec fast_iov; + __kernel_size_t controllen; + __kernel_size_t payloadlen; + struct sockaddr *uaddr; + struct msghdr msg; + struct __kernel_sockaddr_storage addr; + }; + struct { + int namelen; + struct iovec fast_iov; + __kernel_size_t controllen; + __kernel_size_t payloadlen; + struct sockaddr *uaddr; + struct msghdr msg; + struct __kernel_sockaddr_storage addr; + } clear; + }; +}; + +struct iov_iter_state { + size_t iov_offset; + size_t count; + long unsigned int nr_segs; +}; + +struct wait_page_queue { + struct folio *folio; + int bit_nr; + wait_queue_entry_t wait; +}; + +struct uio_meta { + uio_meta_flags_t flags; + u16 app_tag; + u64 seed; + struct iov_iter iter; +}; + +struct io_meta_state { + u32 seed; + struct iov_iter_state iter_meta; +}; + +struct io_async_rw { + struct iou_vec vec; + size_t bytes_done; + union { + struct { + struct iov_iter iter; + struct iov_iter_state iter_state; + struct iovec fast_iov; + unsigned int buf_group; + union { + struct wait_page_queue wpq; + struct { + struct uio_meta meta; + struct io_meta_state meta_state; + }; + }; + }; + struct { + struct iov_iter iter; + struct iov_iter_state iter_state; + struct iovec fast_iov; + unsigned int buf_group; + union { + struct wait_page_queue wpq; + struct { + struct uio_meta meta; + struct io_meta_state meta_state; + }; + }; + } clear; + }; +}; + +struct io_big_cqe { + u64 extra1; + u64 extra2; +}; + +struct io_bind { + struct file *file; + int addr_len; +}; + +struct io_bitmap { + u64 sequence; + refcount_t refcnt; + unsigned int max; + long unsigned int bitmap[1024]; +}; + +struct io_buffer { + struct list_head list; + __u64 addr; + __u32 len; + __u16 bid; + __u16 bgid; +}; + +struct io_mapped_region { + struct page **pages; + void *ptr; + unsigned int nr_pages; + unsigned int flags; +}; + +struct io_uring_buf_ring; + +struct io_buffer_list { + union { + struct list_head buf_list; + struct io_uring_buf_ring *buf_ring; + }; + int nbufs; + __u16 bgid; + __u16 buf_nr_pages; + __u16 nr_entries; + __u16 head; + __u16 mask; + __u16 flags; + struct io_mapped_region region; +}; + +struct io_cancel { + struct file *file; + u64 addr; + u32 flags; + s32 fd; + u8 opcode; +}; + +struct io_ring_ctx; + +struct io_cancel_data { + struct io_ring_ctx *ctx; + union { + u64 data; + struct file *file; + }; + u8 opcode; + u32 flags; + int seq; +}; + +struct io_wq_work; + +typedef bool work_cancel_fn(struct io_wq_work *, void *); + +struct io_cb_cancel_data { + work_cancel_fn *fn; + void *data; + int nr_running; + int nr_pending; + bool cancel_all; +}; + +struct io_close { + struct file *file; + int fd; + u32 file_slot; +}; + +struct io_cmd_data { + struct file *file; + __u8 data[56]; +}; + +struct io_kiocb; + +struct io_cold_def { + const char *name; + void (*sqe_copy)(struct io_kiocb *); + void (*cleanup)(struct io_kiocb *); + void (*fail)(struct io_kiocb *); +}; + +struct io_comp_batch { + struct rq_list req_list; + bool need_ts; + void (*complete)(struct io_comp_batch *); +}; + +struct io_connect { + struct file *file; + struct sockaddr *addr; + int addr_len; + bool in_progress; + bool seen_econnaborted; +}; + +struct io_context { + atomic_long_t refcount; + atomic_t active_ref; + short unsigned int ioprio; + spinlock_t lock; + struct xarray icq_tree; + struct io_cq *icq_hint; + struct hlist_head icq_list; + struct work_struct release_work; +}; + +struct io_copy_cache { + struct page *page; + long unsigned int offset; + size_t size; +}; + +struct io_cq { + struct request_queue *q; + struct io_context *ioc; + union { + struct list_head q_node; + struct kmem_cache *__rcu_icq_cache; + }; + union { + struct hlist_node ioc_node; + struct callback_head __rcu_head; + }; + unsigned int flags; +}; + +struct io_cqe { + __u64 user_data; + __s32 res; + union { + __u32 flags; + int fd; + }; +}; + +struct io_cqring_offsets { + __u32 head; + __u32 tail; + __u32 ring_mask; + __u32 ring_entries; + __u32 overflow; + __u32 cqes; + __u32 flags; + __u32 resv1; + __u64 user_addr; +}; + +struct io_defer_entry { + struct list_head list; + struct io_kiocb *req; +}; + +struct io_epoll { + struct file *file; + int epfd; + int op; + int fd; + struct epoll_event event; +}; + +struct io_epoll_wait { + struct file *file; + int maxevents; + struct epoll_event *events; +}; + +struct io_err_c { + struct dm_dev *dev; + sector_t start; +}; + +struct io_ev_fd { + struct eventfd_ctx *cq_ev_fd; + unsigned int eventfd_async; + unsigned int last_cq_tail; + refcount_t refs; + atomic_t ops; + struct callback_head rcu; +}; + +struct io_fadvise { + struct file *file; + u64 offset; + u64 len; + u32 advice; +}; + +struct io_rsrc_node; + +struct io_rsrc_data { + unsigned int nr; + struct io_rsrc_node **nodes; +}; + +struct io_file_table { + struct io_rsrc_data data; + long unsigned int *bitmap; + unsigned int alloc_hint; +}; + +struct io_fixed_install { + struct file *file; + unsigned int o_flags; +}; + +struct io_ftrunc { + struct file *file; + loff_t len; +}; + +struct io_futex { + struct file *file; + void *uaddr; + long unsigned int futex_val; + long unsigned int futex_mask; + long unsigned int futexv_owned; + u32 futex_flags; + unsigned int futex_nr; + bool futexv_unqueued; +}; + +struct io_futex_data { + struct futex_q q; + struct io_kiocb *req; +}; + +struct io_hash_bucket { + struct hlist_head list; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct io_hash_table { + struct io_hash_bucket *hbs; + unsigned int hash_bits; +}; + +struct io_imu_folio_data { + unsigned int nr_pages_head; + unsigned int nr_pages_mid; + unsigned int folio_shift; + unsigned int nr_folios; + long unsigned int first_folio_page_idx; +}; + +struct io_issue_def { + unsigned int needs_file: 1; + unsigned int plug: 1; + unsigned int ioprio: 1; + unsigned int iopoll: 1; + unsigned int buffer_select: 1; + unsigned int hash_reg_file: 1; + unsigned int unbound_nonreg_file: 1; + unsigned int pollin: 1; + unsigned int pollout: 1; + unsigned int poll_exclusive: 1; + unsigned int audit_skip: 1; + unsigned int iopoll_queue: 1; + unsigned int vectored: 1; + short unsigned int async_size; + int (*issue)(struct io_kiocb *, unsigned int); + int (*prep)(struct io_kiocb *, const struct io_uring_sqe *); +}; + +struct io_wq_work_node { + struct io_wq_work_node *next; +}; + +struct io_tw_state; + +typedef struct io_tw_state io_tw_token_t; + +typedef void (*io_req_tw_func_t)(struct io_kiocb *, io_tw_token_t); + +struct io_task_work { + struct llist_node node; + io_req_tw_func_t func; +}; + +struct io_wq_work { + struct io_wq_work_node list; + atomic_t flags; + int cancel_seq; +}; + +struct io_uring_task; + +struct io_kiocb { + union { + struct file *file; + struct io_cmd_data cmd; + }; + u8 opcode; + u8 iopoll_completed; + u16 buf_index; + unsigned int nr_tw; + io_req_flags_t flags; + struct io_cqe cqe; + struct io_ring_ctx *ctx; + struct io_uring_task *tctx; + union { + struct io_buffer *kbuf; + struct io_buffer_list *buf_list; + struct io_rsrc_node *buf_node; + }; + union { + struct io_wq_work_node comp_list; + __poll_t apoll_events; + }; + struct io_rsrc_node *file_node; + atomic_t refs; + bool cancel_seq_set; + struct io_task_work io_task_work; + union { + struct hlist_node hash_node; + u64 iopoll_start; + struct callback_head callback_head; + }; + struct async_poll *apoll; + void *async_data; + atomic_t poll_refs; + struct io_kiocb *link; + const struct cred *creds; + struct io_wq_work work; + struct io_big_cqe big_cqe; +}; + +struct io_link { + struct file *file; + int old_dfd; + int new_dfd; + struct filename *oldpath; + struct filename *newpath; + int flags; +}; + +struct io_listen { + struct file *file; + int backlog; +}; + +struct io_madvise { + struct file *file; + u64 addr; + u64 len; + u32 advice; +}; + +struct io_mapped_ubuf { + u64 ubuf; + unsigned int len; + unsigned int nr_bvecs; + unsigned int folio_shift; + refcount_t refs; + long unsigned int acct_pages; + void (*release)(void *); + void *priv; + bool is_kbuf; + u8 dir; + struct bio_vec bvec[0]; +}; + +struct io_mkdir { + struct file *file; + int dfd; + umode_t mode; + struct filename *filename; +}; + +struct io_msg { + struct file *file; + struct file *src_file; + struct callback_head tw; + u64 user_data; + u32 len; + u32 cmd; + u32 src_fd; + union { + u32 dst_fd; + u32 cqe_flags; + }; + u32 flags; +}; + +struct io_napi_entry { + unsigned int napi_id; + struct list_head list; + long unsigned int timeout; + struct hlist_node node; + struct callback_head rcu; +}; + +struct io_nop { + struct file *file; + int result; + int fd; + unsigned int flags; +}; + +struct ubuf_info_ops; + +struct ubuf_info { + const struct ubuf_info_ops *ops; + refcount_t refcnt; + u8 flags; +}; + +struct io_notif_data { + struct file *file; + struct ubuf_info uarg; + struct io_notif_data *next; + struct io_notif_data *head; + unsigned int account_pages; + bool zc_report; + bool zc_used; + bool zc_copied; +}; + +struct io_open { + struct file *file; + int dfd; + u32 file_slot; + struct filename *filename; + struct open_how how; + long unsigned int nofile; +}; + +struct io_uring_cqe { + __u64 user_data; + __s32 res; + __u32 flags; + __u64 big_cqe[0]; +}; + +struct io_overflow_cqe { + struct list_head list; + struct io_uring_cqe cqe; +}; + +struct io_pagetable { + struct rw_semaphore domains_rwsem; + struct xarray domains; + struct xarray access_list; + unsigned int next_domain_id; + struct rw_semaphore iova_rwsem; + struct rb_root_cached area_itree; + struct rb_root_cached allowed_itree; + struct rb_root_cached reserved_itree; + u8 disable_large_pages; + long unsigned int iova_alignment; +}; + +struct io_pgtable_init_fns { + struct io_pgtable * (*alloc)(struct io_pgtable_cfg *, void *); + void (*free)(struct io_pgtable *); + u32 caps; +}; + +struct io_pipe { + struct file *file; + int *fds; + int flags; + int file_slot; + long unsigned int nofile; +}; + +struct io_poll_table { + struct poll_table_struct pt; + struct io_kiocb *req; + int nr_entries; + int error; + bool owning; + __poll_t result_mask; +}; + +struct io_poll_update { + struct file *file; + u64 old_user_data; + u64 new_user_data; + __poll_t events; + bool update_events; + bool update_user_data; +}; + +struct io_provide_buf { + struct file *file; + __u64 addr; + __u32 len; + __u32 bgid; + __u32 nbufs; + __u16 bid; +}; + +struct io_uring_recvmsg_out { + __u32 namelen; + __u32 controllen; + __u32 payloadlen; + __u32 flags; +}; + +struct io_recvmsg_multishot_hdr { + struct io_uring_recvmsg_out msg; + struct __kernel_sockaddr_storage addr; +}; + +struct io_zcrx_ifq; + +struct io_recvzc { + struct file *file; + unsigned int msg_flags; + u16 flags; + u32 len; + struct io_zcrx_ifq *ifq; +}; + +struct io_rename { + struct file *file; + int old_dfd; + int new_dfd; + struct filename *oldpath; + struct filename *newpath; + int flags; +}; + +struct io_restriction { + long unsigned int register_op[1]; + long unsigned int sqe_op[1]; + u8 sqe_flags_allowed; + u8 sqe_flags_required; + bool registered; +}; + +struct io_wq_work_list { + struct io_wq_work_node *first; + struct io_wq_work_node *last; +}; + +struct io_submit_link { + struct io_kiocb *head; + struct io_kiocb *last; +}; + +struct io_submit_state { + struct io_wq_work_node free_list; + struct io_wq_work_list compl_reqs; + struct io_submit_link link; + bool plug_started; + bool need_plug; + bool cq_flush; + short unsigned int submit_nr; + struct blk_plug plug; +}; + +struct io_rings; + +struct io_sq_data; + +struct io_wq_hash; + +struct io_ring_ctx { + struct { + unsigned int flags; + unsigned int drain_next: 1; + unsigned int restricted: 1; + unsigned int off_timeout_used: 1; + unsigned int drain_active: 1; + unsigned int has_evfd: 1; + unsigned int task_complete: 1; + unsigned int lockless_cq: 1; + unsigned int syscall_iopoll: 1; + unsigned int poll_activated: 1; + unsigned int drain_disabled: 1; + unsigned int compat: 1; + unsigned int iowq_limits_set: 1; + struct task_struct *submitter_task; + struct io_rings *rings; + struct percpu_ref refs; + clockid_t clockid; + enum tk_offsets clock_offset; + enum task_work_notify_mode notify_method; + unsigned int sq_thread_idle; + long: 64; + }; + struct { + struct mutex uring_lock; + u32 *sq_array; + struct io_uring_sqe *sq_sqes; + unsigned int cached_sq_head; + unsigned int sq_entries; + atomic_t cancel_seq; + bool poll_multi_queue; + struct io_wq_work_list iopoll_list; + struct io_file_table file_table; + struct io_rsrc_data buf_table; + struct io_alloc_cache node_cache; + struct io_alloc_cache imu_cache; + struct io_submit_state submit_state; + struct xarray io_bl_xa; + struct io_hash_table cancel_table; + struct io_alloc_cache apoll_cache; + struct io_alloc_cache netmsg_cache; + struct io_alloc_cache rw_cache; + struct io_alloc_cache cmd_cache; + struct hlist_head cancelable_uring_cmd; + u64 hybrid_poll_time; + long: 64; + long: 64; + }; + struct { + struct io_uring_cqe *cqe_cached; + struct io_uring_cqe *cqe_sentinel; + unsigned int cached_cq_tail; + unsigned int cq_entries; + struct io_ev_fd *io_ev_fd; + void *cq_wait_arg; + size_t cq_wait_size; + long: 64; + long: 64; + }; + struct { + struct llist_head work_llist; + struct llist_head retry_llist; + long unsigned int check_cq; + atomic_t cq_wait_nr; + atomic_t cq_timeouts; + struct wait_queue_head cq_wait; + long: 64; + }; + struct { + raw_spinlock_t timeout_lock; + struct list_head timeout_list; + struct list_head ltimeout_list; + unsigned int cq_last_tm_flush; + long: 64; + long: 64; + }; + spinlock_t completion_lock; + struct list_head cq_overflow_list; + struct hlist_head waitid_list; + struct hlist_head futex_list; + struct io_alloc_cache futex_cache; + const struct cred *sq_creds; + struct io_sq_data *sq_data; + struct wait_queue_head sqo_sq_wait; + struct list_head sqd_list; + unsigned int file_alloc_start; + unsigned int file_alloc_end; + struct wait_queue_head poll_wq; + struct io_restriction restrictions; + struct xarray zcrx_ctxs; + u32 pers_next; + struct xarray personalities; + struct io_wq_hash *hash_map; + struct user_struct *user; + struct mm_struct *mm_account; + struct llist_head fallback_llist; + struct delayed_work fallback_work; + struct work_struct exit_work; + struct list_head tctx_list; + struct completion ref_comp; + u32 iowq_limits[2]; + struct callback_head poll_wq_task_work; + struct list_head defer_list; + unsigned int nr_drained; + struct list_head napi_list; + spinlock_t napi_lock; + ktime_t napi_busy_poll_dt; + bool napi_prefer_busy_poll; + u8 napi_track_mode; + struct hlist_head napi_ht[16]; + unsigned int evfd_last_cq_tail; + unsigned int nr_req_allocated; + struct mutex mmap_lock; + struct io_mapped_region sq_region; + struct io_mapped_region ring_region; + struct io_mapped_region param_region; + long: 64; + long: 64; + long: 64; +}; + +struct io_ring_ctx_rings { + struct io_rings *rings; + struct io_uring_sqe *sq_sqes; + struct io_mapped_region sq_region; + struct io_mapped_region ring_region; +}; + +struct io_uring { + u32 head; + u32 tail; +}; + +struct io_rings { + struct io_uring sq; + struct io_uring cq; + u32 sq_ring_mask; + u32 cq_ring_mask; + u32 sq_ring_entries; + u32 cq_ring_entries; + u32 sq_dropped; + atomic_t sq_flags; + u32 cq_flags; + u32 cq_overflow; + long: 64; + long: 64; + struct io_uring_cqe cqes[0]; +}; + +struct io_rsrc_node { + unsigned char type; + int refs; + u64 tag; + union { + long unsigned int file_ptr; + struct io_mapped_ubuf *buf; + }; +}; + +struct io_rsrc_update { + struct file *file; + u64 arg; + u32 nr_args; + u32 offset; +}; + +struct io_rw { + struct kiocb kiocb; + u64 addr; + u32 len; + rwf_t flags; +}; + +struct io_shutdown { + struct file *file; + int how; +}; + +struct io_socket { + struct file *file; + int domain; + int type; + int protocol; + int flags; + u32 file_slot; + long unsigned int nofile; +}; + +struct io_splice { + struct file *file_out; + loff_t off_out; + loff_t off_in; + u64 len; + int splice_fd_in; + unsigned int flags; + struct io_rsrc_node *rsrc_node; +}; + +struct io_sq_data { + refcount_t refs; + atomic_t park_pending; + struct mutex lock; + struct list_head ctx_list; + struct task_struct *thread; + struct wait_queue_head wait; + unsigned int sq_thread_idle; + int sq_cpu; + pid_t task_pid; + pid_t task_tgid; + u64 work_time; + long unsigned int state; + struct completion exited; +}; + +struct io_sq_time { + bool started; + u64 usec; +}; + +struct io_sqring_offsets { + __u32 head; + __u32 tail; + __u32 ring_mask; + __u32 ring_entries; + __u32 flags; + __u32 dropped; + __u32 array; + __u32 resv1; + __u64 user_addr; +}; + +struct user_msghdr; + +struct io_sr_msg { + struct file *file; + union { + struct compat_msghdr *umsg_compat; + struct user_msghdr *umsg; + void *buf; + }; + int len; + unsigned int done_io; + unsigned int msg_flags; + unsigned int nr_multishot_loops; + u16 flags; + u16 buf_group; + unsigned int mshot_len; + unsigned int mshot_total_len; + void *msg_control; + struct io_kiocb *notif; +}; + +struct statx; + +struct io_statx { + struct file *file; + int dfd; + unsigned int mask; + unsigned int flags; + struct filename *filename; + struct statx *buffer; +}; + +struct io_sync { + struct file *file; + loff_t len; + loff_t off; + int flags; + int mode; +}; + +struct io_task_cancel { + struct io_uring_task *tctx; + bool all; +}; + +struct io_tctx_exit { + struct callback_head task_work; + struct completion completion; + struct io_ring_ctx *ctx; +}; + +struct io_tctx_node { + struct list_head ctx_node; + struct task_struct *task; + struct io_ring_ctx *ctx; +}; + +struct io_timeout { + struct file *file; + u32 off; + u32 target_seq; + u32 repeats; + struct list_head list; + struct io_kiocb *head; + struct io_kiocb *prev; +}; + +struct io_timeout_data { + struct io_kiocb *req; + struct hrtimer timer; + struct timespec64 ts; + enum hrtimer_mode mode; + u32 flags; +}; + +struct io_timeout_rem { + struct file *file; + u64 addr; + struct timespec64 ts; + u32 flags; + bool ltimeout; +}; + +struct io_timespec { + __u64 tv_sec; + __u64 tv_nsec; +}; + +struct io_tlb_area { + long unsigned int used; + unsigned int index; + spinlock_t lock; +}; + +struct io_tlb_slot; + +struct io_tlb_pool { + phys_addr_t start; + phys_addr_t end; + void *vaddr; + long unsigned int nslabs; + bool late_alloc; + unsigned int nareas; + unsigned int area_nslabs; + struct io_tlb_area *areas; + struct io_tlb_slot *slots; + struct list_head node; + struct callback_head rcu; + bool transient; +}; + +struct io_tlb_mem { + struct io_tlb_pool defpool; + long unsigned int nslabs; + struct dentry *debugfs; + bool force_bounce; + bool for_alloc; + bool can_grow; + u64 phys_limit; + spinlock_t lock; + struct list_head pools; + struct work_struct dyn_alloc; + atomic_long_t total_used; + atomic_long_t used_hiwater; + atomic_long_t transient_nslabs; +}; + +struct io_tlb_slot { + phys_addr_t orig_addr; + size_t alloc_size; + short unsigned int list; + short unsigned int pad_slots; +}; + +struct io_tw_state {}; + +struct io_unlink { + struct file *file; + int dfd; + int flags; + struct filename *filename; +}; + +struct io_uring_attr_pi { + __u16 flags; + __u16 app_tag; + __u32 len; + __u64 addr; + __u64 seed; + __u64 rsvd; +}; + +struct io_uring_buf { + __u64 addr; + __u32 len; + __u16 bid; + __u16 resv; +}; + +struct io_uring_buf_reg { + __u64 ring_addr; + __u32 ring_entries; + __u16 bgid; + __u16 flags; + __u64 resv[3]; +}; + +struct io_uring_buf_ring { + union { + struct { + __u64 resv1; + __u32 resv2; + __u16 resv3; + __u16 tail; + }; + struct { + struct {} __empty_bufs; + struct io_uring_buf bufs[0]; + }; + }; +}; + +struct io_uring_buf_status { + __u32 buf_group; + __u32 head; + __u32 resv[8]; +}; + +struct io_uring_clock_register { + __u32 clockid; + __u32 __resv[3]; +}; + +struct io_uring_clone_buffers { + __u32 src_fd; + __u32 flags; + __u32 src_off; + __u32 dst_off; + __u32 nr; + __u32 pad[3]; +}; + +struct io_uring_cmd { + struct file *file; + const struct io_uring_sqe *sqe; + void (*task_work_cb)(struct io_uring_cmd *, unsigned int); + u32 cmd_op; + u32 flags; + u8 pdu[32]; +}; + +struct io_uring_file_index_range { + __u32 off; + __u32 len; + __u64 resv; +}; + +struct io_uring_getevents_arg { + __u64 sigmask; + __u32 sigmask_sz; + __u32 min_wait_usec; + __u64 ts; +}; + +struct io_uring_mem_region_reg { + __u64 region_uptr; + __u64 flags; + __u64 __resv[2]; +}; + +struct io_uring_napi { + __u32 busy_poll_to; + __u8 prefer_busy_poll; + __u8 opcode; + __u8 pad[2]; + __u32 op_param; + __u32 resv; +}; + +struct io_uring_params { + __u32 sq_entries; + __u32 cq_entries; + __u32 flags; + __u32 sq_thread_cpu; + __u32 sq_thread_idle; + __u32 features; + __u32 wq_fd; + __u32 resv[3]; + struct io_sqring_offsets sq_off; + struct io_cqring_offsets cq_off; +}; + +struct io_uring_probe_op { + __u8 op; + __u8 resv; + __u16 flags; + __u32 resv2; +}; + +struct io_uring_probe { + __u8 last_op; + __u8 ops_len; + __u16 resv; + __u32 resv2[3]; + struct io_uring_probe_op ops[0]; +}; + +struct io_uring_reg_wait { + struct __kernel_timespec ts; + __u32 min_wait_usec; + __u32 flags; + __u64 sigmask; + __u32 sigmask_sz; + __u32 pad[3]; + __u64 pad2[2]; +}; + +struct io_uring_region_desc { + __u64 user_addr; + __u64 size; + __u32 flags; + __u32 id; + __u64 mmap_offset; + __u64 __resv[4]; +}; + +struct io_uring_restriction { + __u16 opcode; + union { + __u8 register_op; + __u8 sqe_op; + __u8 sqe_flags; + }; + __u8 resv; + __u32 resv2[3]; +}; + +struct io_uring_rsrc_register { + __u32 nr; + __u32 flags; + __u64 resv2; + __u64 data; + __u64 tags; +}; + +struct io_uring_rsrc_update { + __u32 offset; + __u32 resv; + __u64 data; +}; + +struct io_uring_rsrc_update2 { + __u32 offset; + __u32 resv; + __u64 data; + __u64 tags; + __u32 nr; + __u32 resv2; +}; + +struct io_uring_sync_cancel_reg { + __u64 addr; + __s32 fd; + __u32 flags; + struct __kernel_timespec timeout; + __u8 opcode; + __u8 pad[7]; + __u64 pad2[3]; +}; + +struct io_wq; + +struct io_uring_task { + int cached_refs; + const struct io_ring_ctx *last; + struct task_struct *task; + struct io_wq *io_wq; + struct file *registered_rings[16]; + struct xarray xa; + struct wait_queue_head wait; + atomic_t in_cancel; + atomic_t inflight_tracked; + struct percpu_counter inflight; + long: 64; + struct { + struct llist_head task_list; + struct callback_head task_work; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + }; +}; + +struct io_uring_zcrx_area_reg { + __u64 addr; + __u64 len; + __u64 rq_area_token; + __u32 flags; + __u32 dmabuf_fd; + __u64 __resv2[2]; +}; + +struct io_uring_zcrx_cqe { + __u64 off; + __u64 __pad; +}; + +struct io_uring_zcrx_offsets { + __u32 head; + __u32 tail; + __u32 rqes; + __u32 __resv2; + __u64 __resv[2]; +}; + +struct io_uring_zcrx_ifq_reg { + __u32 if_idx; + __u32 if_rxq; + __u32 rq_entries; + __u32 flags; + __u64 area_ptr; + __u64 region_ptr; + struct io_uring_zcrx_offsets offsets; + __u32 zcrx_id; + __u32 __resv2; + __u64 __resv[3]; +}; + +struct io_uring_zcrx_rqe { + __u64 off; + __u32 len; + __u32 __pad; +}; + +struct io_wait_queue { + struct wait_queue_entry wq; + struct io_ring_ctx *ctx; + unsigned int cq_tail; + unsigned int cq_min_tail; + unsigned int nr_timeouts; + int hit_timeout; + ktime_t min_timeout; + ktime_t timeout; + struct hrtimer t; + ktime_t napi_busy_poll_dt; + bool napi_prefer_busy_poll; +}; + +struct waitid_info { + pid_t pid; + uid_t uid; + int status; + int cause; +}; + +struct io_waitid { + struct file *file; + int which; + pid_t upid; + int options; + atomic_t refs; + struct wait_queue_head *head; + struct siginfo *infop; + struct waitid_info info; +}; + +struct rusage; + +struct wait_opts { + enum pid_type wo_type; + int wo_flags; + struct pid *wo_pid; + struct waitid_info *wo_info; + int wo_stat; + struct rusage *wo_rusage; + wait_queue_entry_t child_wait; + int notask_error; +}; + +struct io_waitid_async { + struct io_kiocb *req; + struct wait_opts wo; +}; + +struct io_wq_acct; + +struct io_worker { + refcount_t ref; + long unsigned int flags; + struct hlist_nulls_node nulls_node; + struct list_head all_list; + struct task_struct *task; + struct io_wq *wq; + struct io_wq_acct *acct; + struct io_wq_work *cur_work; + raw_spinlock_t lock; + struct completion ref_done; + long unsigned int create_state; + struct callback_head create_work; + int init_retries; + union { + struct callback_head rcu; + struct delayed_work work; + }; +}; + +struct io_wq_acct { + raw_spinlock_t workers_lock; + unsigned int nr_workers; + unsigned int max_workers; + atomic_t nr_running; + struct hlist_nulls_head free_list; + struct list_head all_list; + raw_spinlock_t lock; + struct io_wq_work_list work_list; + long unsigned int flags; +}; + +struct io_wq { + long unsigned int state; + struct io_wq_hash *hash; + atomic_t worker_refs; + struct completion worker_done; + struct hlist_node cpuhp_node; + struct task_struct *task; + struct io_wq_acct acct[2]; + struct wait_queue_entry wait; + struct io_wq_work *hash_tail[64]; + cpumask_var_t cpu_mask; +}; + +struct io_wq_data { + struct io_wq_hash *hash; + struct task_struct *task; +}; + +struct io_wq_hash { + refcount_t refs; + long unsigned int map; + struct wait_queue_head wait; +}; + +struct xattr_name; + +struct kernel_xattr_ctx { + union { + const void *cvalue; + void *value; + }; + void *kvalue; + size_t size; + struct xattr_name *kname; + unsigned int flags; +}; + +struct io_xattr { + struct file *file; + struct kernel_xattr_ctx ctx; + struct filename *filename; +}; + +struct io_zcrx_mem { + long unsigned int size; + bool is_dmabuf; + struct page **pages; + long unsigned int nr_folios; + struct sg_table page_sg_table; + long unsigned int account_pages; + struct dma_buf_attachment *attach; + struct dma_buf *dmabuf; + struct sg_table *sgt; + long unsigned int dmabuf_offset; +}; + +struct io_zcrx_area { + struct net_iov_area nia; + struct io_zcrx_ifq *ifq; + atomic_t *user_refs; + bool is_mapped; + u16 area_id; + long: 64; + long: 64; + spinlock_t freelist_lock; + u32 free_count; + u32 *freelist; + struct io_zcrx_mem mem; + long: 64; + long: 64; + long: 64; +}; + +struct io_zcrx_args { + struct io_kiocb *req; + struct io_zcrx_ifq *ifq; + struct socket *sock; + unsigned int nr_skbs; +}; + +struct io_zcrx_ifq { + struct io_ring_ctx *ctx; + struct io_zcrx_area *area; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + spinlock_t rq_lock; + struct io_uring *rq_ring; + struct io_uring_zcrx_rqe *rqes; + u32 cached_rq_head; + u32 rq_entries; + u32 if_rxq; + struct device *dev; + struct net_device *netdev; + netdevice_tracker netdev_tracker; + spinlock_t lock; + struct mutex dma_lock; + struct io_mapped_region region; + long: 64; +}; + +struct ioam6_hdr { + __u8 opt_type; + __u8 opt_len; + char: 8; + __u8 type; +}; + +struct ioam6_lwt_freq { + u32 k; + u32 n; +}; + +struct ipv6_opt_hdr { + __u8 nexthdr; + __u8 hdrlen; +}; + +struct ioam6_trace_hdr { + __be16 namespace_id; + char: 2; + __u8 overflow: 1; + __u8 nodelen: 5; + __u8 remlen: 7; + union { + __be32 type_be32; + struct { + __u32 bit7: 1; + __u32 bit6: 1; + __u32 bit5: 1; + __u32 bit4: 1; + __u32 bit3: 1; + __u32 bit2: 1; + __u32 bit1: 1; + __u32 bit0: 1; + __u32 bit15: 1; + __u32 bit14: 1; + __u32 bit13: 1; + __u32 bit12: 1; + __u32 bit11: 1; + __u32 bit10: 1; + __u32 bit9: 1; + __u32 bit8: 1; + __u32 bit23: 1; + __u32 bit22: 1; + __u32 bit21: 1; + __u32 bit20: 1; + __u32 bit19: 1; + __u32 bit18: 1; + __u32 bit17: 1; + __u32 bit16: 1; + } type; + }; + __u8 data[0]; +}; + +struct ioam6_lwt_encap { + struct ipv6_opt_hdr eh; + u8 pad[2]; + struct ioam6_hdr ioamh; + struct ioam6_trace_hdr traceh; +}; + +struct ioam6_lwt { + struct dst_entry null_dst; + struct dst_cache cache; + struct ioam6_lwt_freq freq; + atomic_t pkt_cnt; + u8 mode; + bool has_tunsrc; + struct in6_addr tunsrc; + struct in6_addr tundst; + struct ioam6_lwt_encap tuninfo; +}; + +struct ioam6_schema; + +struct ioam6_namespace { + struct rhash_head head; + struct callback_head rcu; + struct ioam6_schema *schema; + __be16 id; + __be32 data; + __be64 data_wide; +}; + +struct ioam6_pernet_data { + struct mutex lock; + struct rhashtable namespaces; + struct rhashtable schemas; +}; + +struct ioam6_schema { + struct rhash_head head; + struct callback_head rcu; + struct ioam6_namespace *ns; + u32 id; + int len; + __be32 hdr; + u8 data[0]; +}; + +struct mpc_ioapic { + unsigned char type; + unsigned char apicid; + unsigned char apicver; + unsigned char flags; + unsigned int apicaddr; +}; + +struct mp_ioapic_gsi { + u32 gsi_base; + u32 gsi_end; +}; + +struct ioapic_domain_cfg { + enum ioapic_domain_type type; + const struct irq_domain_ops *ops; + struct device_node *dev; +}; + +struct ioapic { + int nr_registers; + struct IO_APIC_route_entry *saved_registers; + struct mpc_ioapic mp_config; + struct mp_ioapic_gsi gsi_config; + struct ioapic_domain_cfg irqdomain_cfg; + struct irq_domain *irqdomain; + struct resource *iomem_res; +}; + +struct ioapic_scope { + struct intel_iommu *iommu; + unsigned int id; + unsigned int bus; + unsigned int devfn; +}; + +struct rq_qos_ops; + +struct rq_qos { + const struct rq_qos_ops *ops; + struct gendisk *disk; + enum rq_qos_id id; + struct rq_qos *next; + struct dentry *debugfs_dir; +}; + +struct ioc_params { + u32 qos[6]; + u64 i_lcoefs[6]; + u64 lcoefs[6]; + u32 too_fast_vrate_pct; + u32 too_slow_vrate_pct; +}; + +struct ioc_margins { + s64 min; + s64 low; + s64 target; +}; + +struct ioc_pcpu_stat; + +struct ioc { + struct rq_qos rqos; + bool enabled; + struct ioc_params params; + struct ioc_margins margins; + u32 period_us; + u32 timer_slack_ns; + u64 vrate_min; + u64 vrate_max; + spinlock_t lock; + struct timer_list timer; + struct list_head active_iocgs; + struct ioc_pcpu_stat *pcpu_stat; + enum ioc_running running; + atomic64_t vtime_rate; + u64 vtime_base_rate; + s64 vtime_err; + seqcount_spinlock_t period_seqcount; + u64 period_at; + u64 period_at_vtime; + atomic64_t cur_period; + int busy_level; + bool weights_updated; + atomic_t hweight_gen; + u64 dfgv_period_at; + u64 dfgv_period_rem; + u64 dfgv_usage_us_sum; + u64 autop_too_fast_at; + u64 autop_too_slow_at; + int autop_idx; + bool user_qos_params: 1; + bool user_cost_model: 1; +}; + +struct ioc_cgrp { + struct blkcg_policy_data cpd; + unsigned int dfl_weight; +}; + +struct iocg_stat { + u64 usage_us; + u64 wait_us; + u64 indebt_us; + u64 indelay_us; +}; + +struct iocg_pcpu_stat; + +struct ioc_gq { + struct blkg_policy_data pd; + struct ioc *ioc; + u32 cfg_weight; + u32 weight; + u32 active; + u32 inuse; + u32 last_inuse; + s64 saved_margin; + sector_t cursor; + atomic64_t vtime; + atomic64_t done_vtime; + u64 abs_vdebt; + u64 delay; + u64 delay_at; + atomic64_t active_period; + struct list_head active_list; + u64 child_active_sum; + u64 child_inuse_sum; + u64 child_adjusted_sum; + int hweight_gen; + u32 hweight_active; + u32 hweight_inuse; + u32 hweight_donating; + u32 hweight_after_donation; + struct list_head walk_list; + struct list_head surplus_list; + struct wait_queue_head waitq; + struct hrtimer waitq_timer; + u64 activated_at; + struct iocg_pcpu_stat *pcpu_stat; + struct iocg_stat stat; + struct iocg_stat last_stat; + u64 last_stat_abs_vusage; + u64 usage_delta_us; + u64 wait_since; + u64 indebt_since; + u64 indelay_since; + int level; + struct ioc_gq *ancestors[0]; +}; + +struct ioc_missed { + local_t nr_met; + local_t nr_missed; + u32 last_met; + u32 last_missed; +}; + +struct ioc_now { + u64 now_ns; + u64 now; + u64 vnow; +}; + +struct ioc_pcpu_stat { + struct ioc_missed missed[2]; + local64_t rq_wait_ns; + u64 last_rq_wait_ns; +}; + +struct iocb { + __u64 aio_data; + __u32 aio_key; + __kernel_rwf_t aio_rw_flags; + __u16 aio_lio_opcode; + __s16 aio_reqprio; + __u32 aio_fildes; + __u64 aio_buf; + __u64 aio_nbytes; + __s64 aio_offset; + __u64 aio_reserved2; + __u32 aio_flags; + __u32 aio_resfd; +}; + +struct iocg_pcpu_stat { + local64_t abs_vusage; +}; + +struct iocg_wait { + struct wait_queue_entry wait; + struct bio *bio; + u64 abs_cost; + bool committed; +}; + +struct iocg_wake_ctx { + struct ioc_gq *iocg; + u32 hw_inuse; + s64 vbudget; +}; + +struct iomap { + u64 addr; + loff_t offset; + u64 length; + u16 type; + u16 flags; + struct block_device *bdev; + struct dax_device *dax_dev; + void *inline_data; + void *private; + u64 validity_cookie; +}; + +struct iomap_dio_ops; + +struct iomap_dio { + struct kiocb *iocb; + const struct iomap_dio_ops *dops; + loff_t i_size; + loff_t size; + atomic_t ref; + unsigned int flags; + int error; + size_t done_before; + bool wait_for_completion; + union { + struct { + struct iov_iter *iter; + struct task_struct *waiter; + } submit; + struct { + struct work_struct work; + } aio; + }; +}; + +struct iomap_iter; + +struct iomap_dio_ops { + int (*end_io)(struct kiocb *, ssize_t, int, unsigned int); + void (*submit_io)(const struct iomap_iter *, struct bio *, loff_t); + struct bio_set *bio_set; +}; + +struct iomap_folio_state { + spinlock_t state_lock; + unsigned int read_bytes_pending; + atomic_t write_bytes_pending; + long unsigned int state[0]; +}; + +struct iomap_ioend { + struct list_head io_list; + u16 io_flags; + struct inode *io_inode; + size_t io_size; + atomic_t io_remaining; + int io_error; + struct iomap_ioend *io_parent; + loff_t io_offset; + sector_t io_sector; + void *io_private; + struct bio io_bio; +}; + +struct iomap_iter { + struct inode *inode; + loff_t pos; + u64 len; + loff_t iter_start_pos; + int status; + unsigned int flags; + struct iomap iomap; + struct iomap srcmap; + void *private; +}; + +struct iomap_ops { + int (*iomap_begin)(struct inode *, loff_t, loff_t, unsigned int, struct iomap *, struct iomap *); + int (*iomap_end)(struct inode *, loff_t, loff_t, ssize_t, unsigned int, struct iomap *); +}; + +struct iomap_readpage_ctx { + struct folio *cur_folio; + bool cur_folio_in_bio; + struct bio *bio; + struct readahead_control *rac; +}; + +struct iomap_swapfile_info { + struct iomap iomap; + struct swap_info_struct *sis; + uint64_t lowest_ppage; + uint64_t highest_ppage; + long unsigned int nr_pages; + int nr_extents; + struct file *file; +}; + +struct iomap_write_ops { + struct folio * (*get_folio)(struct iomap_iter *, loff_t, unsigned int); + void (*put_folio)(struct inode *, loff_t, unsigned int, struct folio *); + bool (*iomap_valid)(struct inode *, const struct iomap *); + int (*read_folio_range)(const struct iomap_iter *, struct folio *, loff_t, size_t); +}; + +struct iomap_writepage_ctx; + +struct iomap_writeback_ops { + ssize_t (*writeback_range)(struct iomap_writepage_ctx *, struct folio *, u64, unsigned int, u64); + int (*writeback_submit)(struct iomap_writepage_ctx *, int); +}; + +struct iomap_writepage_ctx { + struct iomap iomap; + struct inode *inode; + struct writeback_control *wbc; + const struct iomap_writeback_ops *ops; + u32 nr_folios; + void *wb_ctx; +}; + +struct iommu_attach_handle { + struct iommu_domain *domain; +}; + +struct iommu_cmd { + u32 data[4]; +}; + +struct protection_domain; + +struct iommu_dev_data { + struct mutex mutex; + spinlock_t dte_lock; + struct list_head list; + struct llist_node dev_data_list; + struct protection_domain *domain; + struct gcr3_tbl_info gcr3_info; + struct device *dev; + u16 devid; + unsigned int max_irqs; + u32 max_pasids; + u32 flags; + int ats_qdep; + u8 ats_enabled: 1; + u8 pri_enabled: 1; + u8 pasid_enabled: 1; + u8 pri_tlp: 1; + u8 ppr: 1; + bool use_vapic; + bool defer_attach; + struct ratelimit_state rs; +}; + +struct iova_bitmap; + +struct iommu_dirty_bitmap { + struct iova_bitmap *bitmap; + struct iommu_iotlb_gather *gather; +}; + +struct iommu_dirty_ops { + int (*set_dirty_tracking)(struct iommu_domain *, bool); + int (*read_and_clear_dirty)(struct iommu_domain *, long unsigned int, size_t, long unsigned int, struct iommu_dirty_bitmap *); +}; + +struct iova { + struct rb_node node; + long unsigned int pfn_hi; + long unsigned int pfn_lo; +}; + +struct iova_rcache; + +struct iova_domain { + spinlock_t iova_rbtree_lock; + struct rb_root rbroot; + struct rb_node *cached_node; + struct rb_node *cached32_node; + long unsigned int granule; + long unsigned int start_pfn; + long unsigned int dma_32bit_pfn; + long unsigned int max32_alloc_size; + struct iova anchor; + struct iova_rcache *rcaches; + struct hlist_node cpuhp_dead; +}; + +struct iommu_dma_options { + enum iommu_dma_queue_type qt; + size_t fq_size; + unsigned int fq_timeout; +}; + +struct iova_fq; + +struct iommu_dma_cookie { + struct iova_domain iovad; + struct list_head msi_page_list; + union { + struct iova_fq *single_fq; + struct iova_fq *percpu_fq; + }; + atomic64_t fq_flush_start_cnt; + atomic64_t fq_flush_finish_cnt; + struct timer_list fq_timer; + atomic_t fq_timer_on; + struct iommu_domain *fq_domain; + struct iommu_dma_options options; +}; + +struct iommu_dma_msi_cookie { + dma_addr_t msi_iova; + struct list_head msi_page_list; +}; + +struct iommu_dma_msi_page { + struct list_head list; + dma_addr_t iova; + phys_addr_t phys; +}; + +struct iommu_domain_info { + struct intel_iommu *iommu; + unsigned int refcnt; + u16 did; +}; + +struct iommu_user_data_array; + +struct iommu_domain_ops { + int (*attach_dev)(struct iommu_domain *, struct device *); + int (*set_dev_pasid)(struct iommu_domain *, struct device *, ioasid_t, struct iommu_domain *); + int (*map_pages)(struct iommu_domain *, long unsigned int, phys_addr_t, size_t, size_t, int, gfp_t, size_t *); + size_t (*unmap_pages)(struct iommu_domain *, long unsigned int, size_t, size_t, struct iommu_iotlb_gather *); + void (*flush_iotlb_all)(struct iommu_domain *); + int (*iotlb_sync_map)(struct iommu_domain *, long unsigned int, size_t); + void (*iotlb_sync)(struct iommu_domain *, struct iommu_iotlb_gather *); + int (*cache_invalidate_user)(struct iommu_domain *, struct iommu_user_data_array *); + phys_addr_t (*iova_to_phys)(struct iommu_domain *, dma_addr_t); + bool (*enforce_cache_coherency)(struct iommu_domain *); + int (*set_pgtable_quirks)(struct iommu_domain *, long unsigned int); + void (*free)(struct iommu_domain *); +}; + +struct iommu_fault_page_request { + u32 flags; + u32 pasid; + u32 grpid; + u32 perm; + u64 addr; + u64 private_data[2]; +}; + +struct iommu_fault { + u32 type; + struct iommu_fault_page_request prm; +}; + +struct iommu_fault_param { + struct mutex lock; + refcount_t users; + struct callback_head rcu; + struct device *dev; + struct iopf_queue *queue; + struct list_head queue_list; + struct list_head partial; + struct list_head faults; +}; + +struct iommu_flush_ops { + void (*tlb_flush_all)(void *); + void (*tlb_flush_walk)(long unsigned int, size_t, size_t, void *); + void (*tlb_add_page)(struct iommu_iotlb_gather *, long unsigned int, size_t, void *); +}; + +struct iommu_fwspec { + struct fwnode_handle *iommu_fwnode; + u32 flags; + unsigned int num_ids; + u32 ids[0]; +}; + +struct iommu_group { + struct kobject kobj; + struct kobject *devices_kobj; + struct list_head devices; + struct xarray pasid_array; + struct mutex mutex; + void *iommu_data; + void (*iommu_data_release)(void *); + char *name; + int id; + struct iommu_domain *default_domain; + struct iommu_domain *blocking_domain; + struct iommu_domain *domain; + struct list_head entry; + unsigned int owner_cnt; + void *owner; +}; + +struct iommu_group_attribute { + struct attribute attr; + ssize_t (*show)(struct iommu_group *, char *); + ssize_t (*store)(struct iommu_group *, const char *, size_t); +}; + +struct iommu_hw_info_vtd { + __u32 flags; + __u32 __reserved; + __u64 cap_reg; + __u64 ecap_reg; +}; + +struct iommu_hwpt_vtd_s1_invalidate { + __u64 addr; + __u64 npages; + __u32 flags; + __u32 __reserved; +}; + +struct iommu_pages_list { + struct list_head pages; +}; + +struct iommu_iotlb_gather { + long unsigned int start; + long unsigned int end; + size_t pgsize; + struct iommu_pages_list freelist; + bool queued; +}; + +struct iommu_mm_data { + u32 pasid; + struct list_head sva_domains; +}; + +struct iommu_user_data; + +struct iopf_fault; + +struct iommu_page_response; + +struct iommufd_viommu; + +struct iommu_ops { + bool (*capable)(struct device *, enum iommu_cap); + void * (*hw_info)(struct device *, u32 *, enum iommu_hw_info_type *); + struct iommu_domain * (*domain_alloc_identity)(struct device *); + struct iommu_domain * (*domain_alloc_paging_flags)(struct device *, u32, const struct iommu_user_data *); + struct iommu_domain * (*domain_alloc_paging)(struct device *); + struct iommu_domain * (*domain_alloc_sva)(struct device *, struct mm_struct *); + struct iommu_domain * (*domain_alloc_nested)(struct device *, struct iommu_domain *, u32, const struct iommu_user_data *); + struct iommu_device * (*probe_device)(struct device *); + void (*release_device)(struct device *); + void (*probe_finalize)(struct device *); + struct iommu_group * (*device_group)(struct device *); + void (*get_resv_regions)(struct device *, struct list_head *); + int (*of_xlate)(struct device *, const struct of_phandle_args *); + bool (*is_attach_deferred)(struct device *); + void (*page_response)(struct device *, struct iopf_fault *, struct iommu_page_response *); + int (*def_domain_type)(struct device *); + size_t (*get_viommu_size)(struct device *, enum iommu_viommu_type); + int (*viommu_init)(struct iommufd_viommu *, struct iommu_domain *, const struct iommu_user_data *); + const struct iommu_domain_ops *default_domain_ops; + struct module *owner; + struct iommu_domain *identity_domain; + struct iommu_domain *blocked_domain; + struct iommu_domain *release_domain; + struct iommu_domain *default_domain; + u8 user_pasid_table: 1; +}; + +struct iommu_page_response { + u32 pasid; + u32 grpid; + u32 code; +}; + +struct iommu_pmu { + struct intel_iommu *iommu; + u32 num_cntr; + u32 num_eg; + u32 cntr_width; + u32 cntr_stride; + u32 filter; + void *base; + void *cfg_reg; + void *cntr_reg; + void *overflow; + u64 *evcap; + u32 **cntr_evcap; + struct pmu pmu; + long unsigned int used_mask[1]; + struct perf_event *event_list[64]; + unsigned char irq_name[16]; +}; + +struct iommu_resv_region { + struct list_head list; + phys_addr_t start; + size_t length; + int prot; + enum iommu_resv_type type; + void (*free)(struct device *, struct iommu_resv_region *); +}; + +struct iommu_sva { + struct iommu_attach_handle handle; + struct device *dev; + refcount_t users; +}; + +struct iommu_user_data { + unsigned int type; + void *uptr; + size_t len; +}; + +struct iommu_user_data_array { + unsigned int type; + void *uptr; + size_t entry_len; + u32 entry_num; +}; + +struct iommufd_object { + refcount_t wait_cnt; + refcount_t users; + enum iommufd_object_type type; + unsigned int id; +}; + +struct iommufd_ctx; + +struct iommufd_ioas; + +struct iommufd_access_ops; + +struct iommufd_access { + struct iommufd_object obj; + struct iommufd_ctx *ictx; + struct iommufd_ioas *ioas; + struct iommufd_ioas *ioas_unpin; + struct mutex ioas_lock; + const struct iommufd_access_ops *ops; + void *data; + long unsigned int iova_alignment; + u32 iopt_access_list_id; +}; + +struct iommufd_access_ops { + u8 needs_pin_pages: 1; + void (*unmap)(void *, long unsigned int, long unsigned int); +}; + +struct iommufd_ctx { + struct file *file; + struct xarray objects; + struct xarray groups; + wait_queue_head_t destroy_wait; + struct rw_semaphore ioas_creation_lock; + struct maple_tree mt_mmap; + struct mutex sw_msi_lock; + struct list_head sw_msi_list; + unsigned int sw_msi_id; + u8 account_mode; + u8 no_iommu_mode; + struct iommufd_ioas *vfio_ioas; +}; + +struct iommufd_group; + +struct iommufd_vdevice; + +struct iommufd_device { + struct iommufd_object obj; + struct iommufd_ctx *ictx; + struct iommufd_group *igroup; + struct list_head group_item; + struct device *dev; + bool enforce_cache_coherency; + struct iommufd_vdevice *vdev; + bool destroying; +}; + +struct iommufd_eventq { + struct iommufd_object obj; + struct iommufd_ctx *ictx; + struct file *filep; + spinlock_t lock; + struct list_head deliver; + struct wait_queue_head wait_queue; +}; + +struct iommufd_fault { + struct iommufd_eventq common; + struct mutex mutex; + struct xarray response; +}; + +struct iommufd_sw_msi_maps { + long unsigned int bitmap[1]; +}; + +struct iommufd_group { + struct kref ref; + struct mutex lock; + struct iommufd_ctx *ictx; + struct iommu_group *group; + struct xarray pasid_attach; + struct iommufd_sw_msi_maps required_sw_msi; + phys_addr_t sw_msi_start; +}; + +struct iommufd_hw_pagetable { + struct iommufd_object obj; + struct iommu_domain *domain; + struct iommufd_fault *fault; + bool pasid_compat: 1; +}; + +struct iommufd_hw_queue { + struct iommufd_object obj; + struct iommufd_viommu *viommu; + struct iommufd_access *access; + u64 base_addr; + size_t length; + enum iommu_hw_queue_type type; + void (*destroy)(struct iommufd_hw_queue *); +}; + +struct iommufd_hwpt_paging { + struct iommufd_hw_pagetable common; + struct iommufd_ioas *ioas; + bool auto_domain: 1; + bool enforce_cache_coherency: 1; + bool nest_parent: 1; + struct list_head hwpt_item; + struct iommufd_sw_msi_maps present_sw_msi; +}; + +struct iommufd_ioas { + struct iommufd_object obj; + struct io_pagetable iopt; + struct mutex mutex; + struct list_head hwpt_list; +}; + +struct iommufd_mmap { + struct iommufd_object *owner; + long unsigned int vm_pgoff; + phys_addr_t mmio_addr; + size_t length; +}; + +struct iommufd_vdevice { + struct iommufd_object obj; + struct iommufd_viommu *viommu; + struct iommufd_device *idev; + u64 virt_id; + void (*destroy)(struct iommufd_vdevice *); +}; + +struct iommufd_vevent_header { + __u32 flags; + __u32 sequence; +}; + +struct iommufd_vevent { + struct iommufd_vevent_header header; + struct list_head node; + ssize_t data_len; + u64 event_data[0]; +}; + +struct iommufd_veventq { + struct iommufd_eventq common; + struct iommufd_viommu *viommu; + struct list_head node; + struct iommufd_vevent lost_events_header; + enum iommu_veventq_type type; + unsigned int depth; + u32 num_events; + u32 sequence; +}; + +struct iommufd_viommu_ops; + +struct iommufd_viommu { + struct iommufd_object obj; + struct iommufd_ctx *ictx; + struct iommu_device *iommu_dev; + struct iommufd_hwpt_paging *hwpt; + const struct iommufd_viommu_ops *ops; + struct xarray vdevs; + struct list_head veventqs; + struct rw_semaphore veventqs_rwsem; + enum iommu_viommu_type type; +}; + +struct iommufd_viommu_ops { + void (*destroy)(struct iommufd_viommu *); + struct iommu_domain * (*alloc_domain_nested)(struct iommufd_viommu *, u32, const struct iommu_user_data *); + int (*cache_invalidate)(struct iommufd_viommu *, struct iommu_user_data_array *); + const size_t vdevice_size; + int (*vdevice_init)(struct iommufd_vdevice *); + size_t (*get_hw_queue_size)(struct iommufd_viommu *, enum iommu_hw_queue_type); + int (*hw_queue_init_phys)(struct iommufd_hw_queue *, u32, phys_addr_t); +}; + +struct iopf_fault { + struct iommu_fault fault; + struct list_head list; +}; + +struct iopf_group { + struct iopf_fault last_fault; + struct list_head faults; + size_t fault_count; + struct list_head pending_node; + struct work_struct work; + struct iommu_attach_handle *attach_handle; + struct iommu_fault_param *fault_param; + struct list_head node; + u32 cookie; +}; + +struct iopf_queue { + struct workqueue_struct *wq; + struct list_head devices; + struct mutex lock; +}; + +struct ioprio_blkcg { + struct blkcg_policy_data cpd; + enum prio_policy prio_policy; +}; + +struct ioptdesc { + long unsigned int __page_flags; + struct list_head iopt_freelist_elm; + long unsigned int __page_mapping; + long unsigned int __index; + void *_private; + unsigned int __page_type; + atomic_t __page_refcount; + long unsigned int memcg_data; +}; + +struct ioremap_desc { + unsigned int flags; +}; + +struct iova_bitmap_map { + long unsigned int iova; + long unsigned int length; + long unsigned int pgshift; + long unsigned int pgoff; + long unsigned int npages; + struct page **pages; +}; + +struct iova_bitmap { + struct iova_bitmap_map mapped; + u8 *bitmap; + long unsigned int mapped_base_index; + long unsigned int mapped_total_index; + long unsigned int iova; + size_t length; +}; + +struct iova_magazine; + +struct iova_cpu_rcache { + spinlock_t lock; + struct iova_magazine *loaded; + struct iova_magazine *prev; +}; + +struct iova_fq_entry { + long unsigned int iova_pfn; + long unsigned int pages; + struct iommu_pages_list freelist; + u64 counter; +}; + +struct iova_fq { + spinlock_t lock; + unsigned int head; + unsigned int tail; + unsigned int mod_mask; + struct iova_fq_entry entries[0]; +}; + +struct iova_magazine { + union { + long unsigned int size; + struct iova_magazine *next; + }; + long unsigned int pfns[127]; +}; + +struct iova_rcache { + spinlock_t lock; + unsigned int depot_size; + struct iova_magazine *depot; + struct iova_cpu_rcache *cpu_rcaches; + struct iova_domain *iovad; + struct delayed_work work; +}; + +struct ip6_flowlabel { + struct ip6_flowlabel *next; + __be32 label; + atomic_t users; + struct in6_addr dst; + struct ipv6_txoptions *opt; + long unsigned int linger; + struct callback_head rcu; + u8 share; + union { + struct pid *pid; + kuid_t uid; + } owner; + long unsigned int lastuse; + long unsigned int expires; + struct net *fl_net; +}; + +struct ip6_frag_state { + u8 *prevhdr; + unsigned int hlen; + unsigned int mtu; + unsigned int left; + int offset; + int ptr; + int hroom; + int troom; + __be32 frag_id; + u8 nexthdr; +}; + +struct ipv6hdr; + +struct ip6_fraglist_iter { + struct ipv6hdr *tmp_hdr; + struct sk_buff *frag; + int offset; + unsigned int hlen; + __be32 frag_id; + u8 nexthdr; +}; + +struct ip6_mtuinfo { + struct sockaddr_in6 ip6m_addr; + __u32 ip6m_mtu; +}; + +struct ip6_ra_chain { + struct ip6_ra_chain *next; + struct sock *sk; + int sel; + void (*destructor)(struct sock *); +}; + +struct ip6_rt_info { + struct in6_addr daddr; + struct in6_addr saddr; + u_int32_t mark; +}; + +struct ip6_sf_list { + struct ip6_sf_list *sf_next; + struct in6_addr sf_addr; + long unsigned int sf_count[2]; + unsigned char sf_gsresp; + unsigned char sf_oldin; + unsigned char sf_crcount; + struct callback_head rcu; +}; + +struct ip6_sf_socklist { + unsigned int sl_max; + unsigned int sl_count; + struct callback_head rcu; + struct in6_addr sl_addr[0]; +}; + +struct ip_tunnel_encap { + u16 type; + u16 flags; + __be16 sport; + __be16 dport; +}; + +struct ip6_tnl { + struct ip6_tnl *next; + struct net_device *dev; + netdevice_tracker dev_tracker; + struct net *net; + struct __ip6_tnl_parm parms; + struct flowi fl; + struct dst_cache dst_cache; + struct gro_cells gro_cells; + int err_count; + long unsigned int err_time; + __u32 i_seqno; + atomic_t o_seqno; + int hlen; + int tun_hlen; + int encap_hlen; + struct ip_tunnel_encap encap; + int mlink; +}; + +struct ip6_tnl_encap_ops { + size_t (*encap_hlen)(struct ip_tunnel_encap *); + int (*build_header)(struct sk_buff *, struct ip_tunnel_encap *, u8 *, struct flowi6 *); + int (*err_handler)(struct sk_buff *, struct inet6_skb_parm *, u8, u8, int, __be32); +}; + +struct ip6addrlbl_entry { + struct in6_addr prefix; + int prefixlen; + int ifindex; + int addrtype; + u32 label; + struct hlist_node list; + struct callback_head rcu; +}; + +struct ip6addrlbl_init_table { + const struct in6_addr *prefix; + int prefixlen; + u32 label; +}; + +struct ip6fl_iter_state { + struct seq_net_private p; + struct pid_namespace *pid_ns; + int bucket; +}; + +struct mr_table; + +struct ip6mr_result { + struct mr_table *mrt; +}; + +struct ip6rd_flowi { + struct flowi6 fl6; + struct in6_addr gateway; +}; + +struct ip_auth_hdr { + __u8 nexthdr; + __u8 hdrlen; + __be16 reserved; + __be32 spi; + __be32 seq_no; + __u8 auth_data[0]; +}; + +struct ip_beet_phdr { + __u8 nexthdr; + __u8 hdrlen; + __u8 padlen; + __u8 reserved; +}; + +struct ip_conntrack_stat { + unsigned int found; + unsigned int invalid; + unsigned int insert; + unsigned int insert_failed; + unsigned int clash_resolve; + unsigned int drop; + unsigned int early_drop; + unsigned int error; + unsigned int expect_new; + unsigned int expect_create; + unsigned int expect_delete; + unsigned int search_restart; + unsigned int chaintoolong; +}; + +struct ip_ct_sctp { + enum sctp_conntrack state; + __be32 vtag[2]; + u8 init[2]; + u8 last_dir; + u8 flags; +}; + +struct ip_ct_tcp_state { + u_int32_t td_end; + u_int32_t td_maxend; + u_int32_t td_maxwin; + u_int32_t td_maxack; + u_int8_t td_scale; + u_int8_t flags; +}; + +struct ip_ct_tcp { + struct ip_ct_tcp_state seen[2]; + u_int8_t state; + u_int8_t last_dir; + u_int8_t retrans; + u_int8_t last_index; + u_int32_t last_seq; + u_int32_t last_ack; + u_int32_t last_end; + u_int16_t last_win; + u_int8_t last_wscale; + u_int8_t last_flags; +}; + +struct ip_esp_hdr { + __be32 spi; + __be32 seq_no; + __u8 enc_data[0]; +}; + +struct ip_frag_state { + bool DF; + unsigned int hlen; + unsigned int ll_rs; + unsigned int mtu; + unsigned int left; + int offset; + int ptr; + __be16 not_last_frag; +}; + +struct ip_fraglist_iter { + struct sk_buff *frag; + struct iphdr *iph; + int offset; + unsigned int hlen; +}; + +struct ip_sf_list; + +struct ip_mc_list { + struct in_device *interface; + __be32 multiaddr; + unsigned int sfmode; + struct ip_sf_list *sources; + struct ip_sf_list *tomb; + long unsigned int sfcount[2]; + union { + struct ip_mc_list *next; + struct ip_mc_list *next_rcu; + }; + struct ip_mc_list *next_hash; + struct timer_list timer; + int users; + refcount_t refcnt; + spinlock_t lock; + char tm_running; + char reporter; + char unsolicit_count; + char loaded; + unsigned char gsquery; + unsigned char crcount; + long unsigned int mca_cstamp; + long unsigned int mca_tstamp; + struct callback_head rcu; +}; + +struct ip_mreqn { + struct in_addr imr_multiaddr; + struct in_addr imr_address; + int imr_ifindex; +}; + +struct ip_sf_socklist; + +struct ip_mc_socklist { + struct ip_mc_socklist *next_rcu; + struct ip_mreqn multi; + unsigned int sfmode; + struct ip_sf_socklist *sflist; + struct callback_head rcu; +}; + +struct ip_mreq_source { + __be32 imr_multiaddr; + __be32 imr_interface; + __be32 imr_sourceaddr; +}; + +struct ip_msfilter { + __be32 imsf_multiaddr; + __be32 imsf_interface; + __u32 imsf_fmode; + __u32 imsf_numsrc; + union { + __be32 imsf_slist[1]; + struct { + struct {} __empty_imsf_slist_flex; + __be32 imsf_slist_flex[0]; + }; + }; +}; + +struct ip_ra_chain { + struct ip_ra_chain *next; + struct sock *sk; + union { + void (*destructor)(struct sock *); + struct sock *saved_sk; + }; + struct callback_head rcu; +}; + +struct kvec { + void *iov_base; + size_t iov_len; +}; + +struct ip_reply_arg { + struct kvec iov[1]; + int flags; + __wsum csum; + int csumoffset; + int bound_dev_if; + u8 tos; + kuid_t uid; +}; + +struct ip_rt_acct { + __u32 o_bytes; + __u32 o_packets; + __u32 i_bytes; + __u32 i_packets; +}; + +struct ip_rt_info { + __be32 daddr; + __be32 saddr; + u_int8_t tos; + u_int32_t mark; +}; + +struct ip_sf_list { + struct ip_sf_list *sf_next; + long unsigned int sf_count[2]; + __be32 sf_inaddr; + unsigned char sf_gsresp; + unsigned char sf_oldin; + unsigned char sf_crcount; +}; + +struct ip_sf_socklist { + unsigned int sl_max; + unsigned int sl_count; + struct callback_head rcu; + __be32 sl_addr[0]; +}; + +struct ip_tunnel_parm_kern { + char name[16]; + long unsigned int i_flags[1]; + long unsigned int o_flags[1]; + __be32 i_key; + __be32 o_key; + int link; + struct iphdr iph; +}; + +struct ip_tunnel_6rd_parm { + struct in6_addr prefix; + __be32 relay_prefix; + u16 prefixlen; + u16 relay_prefixlen; +}; + +struct ip_tunnel_fan { + struct list_head fan_maps; +}; + +struct ip_tunnel_prl_entry; + +struct ip_tunnel { + struct ip_tunnel *next; + struct hlist_node hash_node; + struct net_device *dev; + netdevice_tracker dev_tracker; + struct net *net; + long unsigned int err_time; + int err_count; + u32 i_seqno; + atomic_t o_seqno; + int tun_hlen; + u32 index; + u8 erspan_ver; + u8 dir; + u16 hwid; + struct dst_cache dst_cache; + struct ip_tunnel_parm_kern parms; + int mlink; + int encap_hlen; + int hlen; + struct ip_tunnel_encap encap; + struct ip_tunnel_6rd_parm ip6rd; + struct ip_tunnel_prl_entry *prl; + unsigned int prl_count; + struct ip_tunnel_fan fan; + unsigned int ip_tnl_net_id; + struct gro_cells gro_cells; + __u32 fwmark; + bool collect_md; + bool ignore_df; +}; + +struct ip_tunnel_encap_ops { + size_t (*encap_hlen)(struct ip_tunnel_encap *); + int (*build_header)(struct sk_buff *, struct ip_tunnel_encap *, u8 *, struct flowi4 *); + int (*err_handler)(struct sk_buff *, u32); +}; + +struct ip_tunnel_key { + __be64 tun_id; + union { + struct { + __be32 src; + __be32 dst; + } ipv4; + struct { + struct in6_addr src; + struct in6_addr dst; + } ipv6; + } u; + long unsigned int tun_flags[1]; + __be32 label; + u32 nhid; + u8 tos; + u8 ttl; + __be16 tp_src; + __be16 tp_dst; + __u8 flow_flags; +}; + +struct ip_tunnel_info { + struct ip_tunnel_key key; + struct ip_tunnel_encap encap; + struct dst_cache dst_cache; + u8 options_len; + u8 mode; + long: 0; + u8 options[0]; +}; + +struct ip_tunnel_prl_entry { + struct ip_tunnel_prl_entry *next; + __be32 addr; + u16 flags; + struct callback_head callback_head; +}; + +struct ipc64_perm { + __kernel_key_t key; + __kernel_uid32_t uid; + __kernel_gid32_t gid; + __kernel_uid32_t cuid; + __kernel_gid32_t cgid; + __kernel_mode_t mode; + unsigned char __pad1[0]; + short unsigned int seq; + short unsigned int __pad2; + __kernel_ulong_t __unused1; + __kernel_ulong_t __unused2; +}; + +struct ipc_ids { + int in_use; + short unsigned int seq; + struct rw_semaphore rwsem; + struct idr ipcs_idr; + int max_idx; + int last_idx; + int next_id; + struct rhashtable key_ht; +}; + +struct ipc_namespace { + struct ipc_ids ids[3]; + int sem_ctls[4]; + int used_sems; + unsigned int msg_ctlmax; + unsigned int msg_ctlmnb; + unsigned int msg_ctlmni; + struct percpu_counter percpu_msg_bytes; + struct percpu_counter percpu_msg_hdrs; + size_t shm_ctlmax; + size_t shm_ctlall; + long unsigned int shm_tot; + int shm_ctlmni; + int shm_rmid_forced; + struct notifier_block ipcns_nb; + struct vfsmount *mq_mnt; + unsigned int mq_queues_count; + unsigned int mq_queues_max; + unsigned int mq_msg_max; + unsigned int mq_msgsize_max; + unsigned int mq_msg_default; + unsigned int mq_msgsize_default; + struct ctl_table_set mq_set; + struct ctl_table_header *mq_sysctls; + struct ctl_table_set ipc_set; + struct ctl_table_header *ipc_sysctls; + struct user_namespace *user_ns; + struct ucounts *ucounts; + struct llist_node mnt_llist; + struct ns_common ns; +}; + +struct ipc_params; + +struct kern_ipc_perm; + +struct ipc_ops { + int (*getnew)(struct ipc_namespace *, struct ipc_params *); + int (*associate)(struct kern_ipc_perm *, int); + int (*more_checks)(struct kern_ipc_perm *, struct ipc_params *); +}; + +struct ipc_params { + key_t key; + int flg; + union { + size_t size; + int nsems; + } u; +}; + +struct ipc_perm { + __kernel_key_t key; + __kernel_uid_t uid; + __kernel_gid_t gid; + __kernel_uid_t cuid; + __kernel_gid_t cgid; + __kernel_mode_t mode; + short unsigned int seq; +}; + +struct ipc_proc_iface { + const char *path; + const char *header; + int ids; + int (*show)(struct seq_file *, void *); +}; + +struct ipc_proc_iter { + struct ipc_namespace *ns; + struct pid_namespace *pid_ns; + struct ipc_proc_iface *iface; +}; + +struct ipc_security_struct { + u16 sclass; + u32 sid; +}; + +struct sockcm_cookie { + u64 transmit_time; + u32 mark; + u32 tsflags; + u32 ts_opt_id; + u32 priority; + u32 dmabuf_id; +}; + +struct ipcm6_cookie { + struct sockcm_cookie sockc; + __s16 hlimit; + __s16 tclass; + __u16 gso_size; + __s8 dontfrag; + struct ipv6_txoptions *opt; +}; + +struct ipcm_cookie { + struct sockcm_cookie sockc; + __be32 addr; + int oif; + struct ip_options_rcu *opt; + __u8 protocol; + __u8 ttl; + __s16 tos; + __u16 gso_size; +}; + +struct ipe_bdev { + bool dm_verity_signed; + struct digest_info *root_hash; +}; + +struct ipe_inode; + +struct ipe_eval_ctx { + enum ipe_op_type op; + enum ipe_hook_type hook; + const struct file *file; + bool initramfs; + const struct ipe_bdev *ipe_bdev; + const struct inode *ino; + const struct ipe_inode *ipe_inode; +}; + +struct ipe_inode { + bool fs_verity_signed; +}; + +struct ipe_op_table { + struct list_head rules; + enum ipe_action_type default_action; +}; + +struct ipe_parsed_policy { + const char *name; + struct { + u16 major; + u16 minor; + u16 rev; + } version; + enum ipe_action_type global_default_action; + struct ipe_op_table rules[7]; +}; + +struct ipe_policy { + const char *pkcs7; + size_t pkcs7len; + const char *text; + size_t textlen; + struct ipe_parsed_policy *parsed; + struct dentry *policyfs; +}; + +struct ipe_prop { + struct list_head next; + enum ipe_prop_type type; + void *value; +}; + +struct ipe_rule { + enum ipe_op_type op; + enum ipe_action_type action; + struct list_head props; + struct list_head next; +}; + +struct ipe_superblock { + bool initramfs; +}; + +struct ipefs_file { + const char *name; + umode_t access; + const struct file_operations *fops; +}; + +struct ipfrag_skb_cb { + union { + struct inet_skb_parm h4; + struct inet6_skb_parm h6; + }; + struct sk_buff *next_frag; + int frag_run_len; + int ip_defrag_offset; +}; + +struct ipmi_dmi_info { + enum si_type si_type; + unsigned int space; + long unsigned int addr; + u8 slave_addr; + struct ipmi_dmi_info *next; +}; + +struct ipmi_plat_data { + enum ipmi_plat_interface_type iftype; + unsigned int type; + unsigned int space; + long unsigned int addr; + unsigned int regspacing; + unsigned int regsize; + unsigned int regshift; + unsigned int irq; + unsigned int slave_addr; + enum ipmi_addr_src addr_source; +}; + +struct ipmr_result { + struct mr_table *mrt; +}; + +struct ipq { + struct inet_frag_queue q; + u8 ecn; + u16 max_df_size; + int iif; + unsigned int rid; + struct inet_peer *peer; +}; + +struct ipstats_mib { + u64 mibs[38]; + struct u64_stats_sync syncp; +}; + +struct ipv6_ac_socklist { + struct in6_addr acl_addr; + int acl_ifindex; + struct ipv6_ac_socklist *acl_next; +}; + +struct udp_table; + +struct ipv6_bpf_stub { + int (*inet6_bind)(struct sock *, struct sockaddr *, int, u32); + struct sock * (*udp6_lib_lookup)(const struct net *, const struct in6_addr *, __be16, const struct in6_addr *, __be16, int, int, struct udp_table *, struct sk_buff *); + int (*ipv6_setsockopt)(struct sock *, int, int, sockptr_t, unsigned int); + int (*ipv6_getsockopt)(struct sock *, int, int, sockptr_t, sockptr_t); + int (*ipv6_dev_get_saddr)(struct net *, const struct net_device *, const struct in6_addr *, unsigned int, struct in6_addr *); +}; + +struct ipv6_destopt_hao { + __u8 type; + __u8 length; + struct in6_addr addr; +} __attribute__((packed)); + +struct ipv6_fl_socklist { + struct ipv6_fl_socklist *next; + struct ip6_flowlabel *fl; + struct callback_head rcu; +}; + +struct ipv6_mc_socklist { + struct in6_addr addr; + int ifindex; + unsigned int sfmode; + struct ipv6_mc_socklist *next; + struct ip6_sf_socklist *sflist; + struct callback_head rcu; +}; + +struct ipv6_mreq { + struct in6_addr ipv6mr_multiaddr; + int ipv6mr_ifindex; +}; + +struct ipv6_params { + __s32 disable_ipv6; + __s32 autoconf; +}; + +struct ipv6_pinfo { + struct in6_addr saddr; + struct in6_pktinfo sticky_pktinfo; + const struct in6_addr *daddr_cache; + const struct in6_addr *saddr_cache; + __be32 flow_label; + __u32 frag_size; + s16 hop_limit; + u8 mcast_hops; + int ucast_oif; + int mcast_oif; + union { + struct { + __u16 srcrt: 1; + __u16 osrcrt: 1; + __u16 rxinfo: 1; + __u16 rxoinfo: 1; + __u16 rxhlim: 1; + __u16 rxohlim: 1; + __u16 hopopts: 1; + __u16 ohopopts: 1; + __u16 dstopts: 1; + __u16 odstopts: 1; + __u16 rxflow: 1; + __u16 rxtclass: 1; + __u16 rxpmtu: 1; + __u16 rxorigdstaddr: 1; + __u16 recvfragsize: 1; + } bits; + __u16 all; + } rxopt; + __u8 srcprefs; + __u8 pmtudisc; + __u8 min_hopcount; + __u8 tclass; + __be32 rcv_flowinfo; + __u32 dst_cookie; + struct ipv6_mc_socklist *ipv6_mc_list; + struct ipv6_ac_socklist *ipv6_ac_list; + struct ipv6_fl_socklist *ipv6_fl_list; + struct ipv6_txoptions *opt; + struct sk_buff *pktoptions; + struct sk_buff *rxpmtu; + struct inet6_cork cork; +}; + +struct ipv6_route_iter { + struct seq_net_private p; + struct fib6_walker w; + loff_t skip; + struct fib6_table *tbl; + int sernum; +}; + +struct ipv6_rpl_sr_hdr { + __u8 nexthdr; + __u8 hdrlen; + __u8 type; + __u8 segments_left; + __u32 cmpre: 4; + __u32 cmpri: 4; + __u32 reserved: 4; + __u32 pad: 4; + __u32 reserved1: 16; + union { + struct { + struct {} __empty_addr; + struct in6_addr addr[0]; + }; + struct { + struct {} __empty_data; + __u8 data[0]; + }; + } segments; +}; + +struct ipv6_rt_hdr { + __u8 nexthdr; + __u8 hdrlen; + __u8 type; + __u8 segments_left; +}; + +struct ipv6_saddr_dst { + const struct in6_addr *addr; + int ifindex; + int scope; + int label; + unsigned int prefs; +}; + +struct ipv6_saddr_score { + int rule; + int addr_type; + struct inet6_ifaddr *ifa; + long unsigned int scorebits[1]; + int scopedist; + int matchlen; +}; + +struct ipv6_sr_hdr { + __u8 nexthdr; + __u8 hdrlen; + __u8 type; + __u8 segments_left; + __u8 first_segment; + __u8 flags; + __u16 tag; + struct in6_addr segments[0]; +}; + +struct neigh_table; + +struct ipv6_stub { + int (*ipv6_sock_mc_join)(struct sock *, int, const struct in6_addr *); + int (*ipv6_sock_mc_drop)(struct sock *, int, const struct in6_addr *); + struct dst_entry * (*ipv6_dst_lookup_flow)(struct net *, const struct sock *, struct flowi6 *, const struct in6_addr *); + int (*ipv6_route_input)(struct sk_buff *); + struct fib6_table * (*fib6_get_table)(struct net *, u32); + int (*fib6_lookup)(struct net *, int, struct flowi6 *, struct fib6_result *, int); + int (*fib6_table_lookup)(struct net *, struct fib6_table *, int, struct flowi6 *, struct fib6_result *, int); + void (*fib6_select_path)(const struct net *, struct fib6_result *, struct flowi6 *, int, bool, const struct sk_buff *, int); + u32 (*ip6_mtu_from_fib6)(const struct fib6_result *, const struct in6_addr *, const struct in6_addr *); + int (*fib6_nh_init)(struct net *, struct fib6_nh *, struct fib6_config *, gfp_t, struct netlink_ext_ack *); + void (*fib6_nh_release)(struct fib6_nh *); + void (*fib6_nh_release_dsts)(struct fib6_nh *); + void (*fib6_update_sernum)(struct net *, struct fib6_info *); + int (*ip6_del_rt)(struct net *, struct fib6_info *, bool); + void (*fib6_rt_update)(struct net *, struct fib6_info *, struct nl_info *); + void (*udpv6_encap_enable)(void); + void (*ndisc_send_na)(struct net_device *, const struct in6_addr *, const struct in6_addr *, bool, bool, bool, bool); + void (*xfrm6_local_rxpmtu)(struct sk_buff *, u32); + int (*xfrm6_udp_encap_rcv)(struct sock *, struct sk_buff *); + struct sk_buff * (*xfrm6_gro_udp_encap_rcv)(struct sock *, struct list_head *, struct sk_buff *); + int (*xfrm6_rcv_encap)(struct sk_buff *, int, __be32, int); + struct neigh_table *nd_tbl; + int (*ipv6_fragment)(struct net *, struct sock *, struct sk_buff *, int (*)(struct net *, struct sock *, struct sk_buff *)); + struct net_device * (*ipv6_dev_find)(struct net *, const struct in6_addr *, struct net_device *); + int (*ip6_xmit)(const struct sock *, struct sk_buff *, struct flowi6 *, __u32, struct ipv6_txoptions *, int, u32); +}; + +struct ipv6_txoptions { + refcount_t refcnt; + int tot_len; + __u16 opt_flen; + __u16 opt_nflen; + struct ipv6_opt_hdr *hopopt; + struct ipv6_opt_hdr *dst0opt; + struct ipv6_rt_hdr *srcrt; + struct ipv6_opt_hdr *dst1opt; + struct callback_head rcu; +}; + +struct ipv6hdr { + __u8 priority: 4; + __u8 version: 4; + __u8 flow_lbl[3]; + __be16 payload_len; + __u8 nexthdr; + __u8 hop_limit; + union { + struct { + struct in6_addr saddr; + struct in6_addr daddr; + }; + struct { + struct in6_addr saddr; + struct in6_addr daddr; + } addrs; + }; +}; + +struct ir_table { + struct irte *base; + long unsigned int *bitmap; +}; + +struct irq_affinity { + unsigned int pre_vectors; + unsigned int post_vectors; + unsigned int nr_sets; + unsigned int set_size[4]; + void (*calc_sets)(struct irq_affinity *, unsigned int); + void *priv; +}; + +struct irq_affinity_desc { + struct cpumask mask; + unsigned int is_managed: 1; +}; + +struct irq_affinity_devres { + unsigned int count; + unsigned int irq[0]; +}; + +struct irq_chip { + const char *name; + unsigned int (*irq_startup)(struct irq_data *); + void (*irq_shutdown)(struct irq_data *); + void (*irq_enable)(struct irq_data *); + void (*irq_disable)(struct irq_data *); + void (*irq_ack)(struct irq_data *); + void (*irq_mask)(struct irq_data *); + void (*irq_mask_ack)(struct irq_data *); + void (*irq_unmask)(struct irq_data *); + void (*irq_eoi)(struct irq_data *); + int (*irq_set_affinity)(struct irq_data *, const struct cpumask *, bool); + int (*irq_retrigger)(struct irq_data *); + int (*irq_set_type)(struct irq_data *, unsigned int); + int (*irq_set_wake)(struct irq_data *, unsigned int); + void (*irq_bus_lock)(struct irq_data *); + void (*irq_bus_sync_unlock)(struct irq_data *); + void (*irq_suspend)(struct irq_data *); + void (*irq_resume)(struct irq_data *); + void (*irq_pm_shutdown)(struct irq_data *); + void (*irq_calc_mask)(struct irq_data *); + void (*irq_print_chip)(struct irq_data *, struct seq_file *); + int (*irq_request_resources)(struct irq_data *); + void (*irq_release_resources)(struct irq_data *); + void (*irq_compose_msi_msg)(struct irq_data *, struct msi_msg *); + void (*irq_write_msi_msg)(struct irq_data *, struct msi_msg *); + int (*irq_get_irqchip_state)(struct irq_data *, enum irqchip_irq_state, bool *); + int (*irq_set_irqchip_state)(struct irq_data *, enum irqchip_irq_state, bool); + int (*irq_set_vcpu_affinity)(struct irq_data *, void *); + void (*ipi_send_single)(struct irq_data *, unsigned int); + void (*ipi_send_mask)(struct irq_data *, const struct cpumask *); + int (*irq_nmi_setup)(struct irq_data *); + void (*irq_nmi_teardown)(struct irq_data *); + void (*irq_force_complete_move)(struct irq_data *); + long unsigned int flags; +}; + +struct irq_chip_regs { + long unsigned int enable; + long unsigned int disable; + long unsigned int mask; + long unsigned int ack; + long unsigned int eoi; + long unsigned int type; +}; + +struct irq_chip_type { + struct irq_chip chip; + struct irq_chip_regs regs; + irq_flow_handler_t handler; + u32 type; + u32 mask_cache_priv; + u32 *mask_cache; +}; + +struct irq_chip_generic { + raw_spinlock_t lock; + void *reg_base; + u32 (*reg_readl)(void *); + void (*reg_writel)(u32, void *); + void (*suspend)(struct irq_chip_generic *); + void (*resume)(struct irq_chip_generic *); + unsigned int irq_base; + unsigned int irq_cnt; + u32 mask_cache; + u32 wake_enabled; + u32 wake_active; + unsigned int num_ct; + void *private; + long unsigned int installed; + long unsigned int unused; + struct irq_domain *domain; + struct list_head list; + struct irq_chip_type chip_types[0]; +}; + +struct irq_common_data { + unsigned int state_use_accessors; + unsigned int node; + void *handler_data; + struct msi_desc *msi_desc; + cpumask_var_t affinity; + cpumask_var_t effective_affinity; +}; + +struct irq_data { + u32 mask; + unsigned int irq; + irq_hw_number_t hwirq; + struct irq_common_data *common; + struct irq_chip *chip; + struct irq_domain *domain; + struct irq_data *parent_data; + void *chip_data; +}; + +struct irqstat; + +struct irqaction; + +struct irq_desc { + struct irq_common_data irq_common_data; + struct irq_data irq_data; + struct irqstat *kstat_irqs; + irq_flow_handler_t handle_irq; + struct irqaction *action; + unsigned int status_use_accessors; + unsigned int core_internal_state__do_not_mess_with_it; + unsigned int depth; + unsigned int wake_depth; + unsigned int tot_count; + unsigned int irq_count; + long unsigned int last_unhandled; + unsigned int irqs_unhandled; + atomic_t threads_handled; + int threads_handled_last; + raw_spinlock_t lock; + struct cpumask *percpu_enabled; + const struct cpumask *percpu_affinity; + const struct cpumask *affinity_hint; + struct irq_affinity_notify *affinity_notify; + cpumask_var_t pending_mask; + long unsigned int threads_oneshot; + atomic_t threads_active; + wait_queue_head_t wait_for_threads; + unsigned int nr_actions; + unsigned int no_suspend_depth; + unsigned int cond_suspend_depth; + unsigned int force_resume_depth; + struct proc_dir_entry *dir; + struct callback_head rcu; + struct kobject kobj; + struct mutex request_mutex; + int parent_irq; + struct module *owner; + const char *name; + struct hlist_node resend_node; + long: 64; + long: 64; + long: 64; +}; + +typedef struct irq_desc *vector_irq_t[256]; + +struct irq_desc_devres { + unsigned int from; + unsigned int cnt; +}; + +struct irq_devres { + unsigned int irq; + void *dev_id; +}; + +struct irq_domain_chip_generic; + +struct msi_parent_ops; + +struct irq_domain { + struct list_head link; + const char *name; + const struct irq_domain_ops *ops; + void *host_data; + unsigned int flags; + unsigned int mapcount; + struct mutex mutex; + struct irq_domain *root; + struct fwnode_handle *fwnode; + enum irq_domain_bus_token bus_token; + struct irq_domain_chip_generic *gc; + struct device *dev; + struct device *pm_dev; + struct irq_domain *parent; + const struct msi_parent_ops *msi_parent_ops; + void (*exit)(struct irq_domain *); + irq_hw_number_t hwirq_max; + unsigned int revmap_size; + struct xarray revmap_tree; + struct irq_data *revmap[0]; +}; + +struct irq_domain_chip_generic { + unsigned int irqs_per_chip; + unsigned int num_chips; + unsigned int irq_flags_to_clear; + unsigned int irq_flags_to_set; + enum irq_gc_flags gc_flags; + void (*exit)(struct irq_chip_generic *); + struct irq_chip_generic *gc[0]; +}; + +struct irq_domain_chip_generic_info { + const char *name; + irq_flow_handler_t handler; + unsigned int irqs_per_chip; + unsigned int num_ct; + unsigned int irq_flags_to_clear; + unsigned int irq_flags_to_set; + enum irq_gc_flags gc_flags; + int (*init)(struct irq_chip_generic *); + void (*exit)(struct irq_chip_generic *); +}; + +struct irq_domain_info { + struct fwnode_handle *fwnode; + unsigned int domain_flags; + unsigned int size; + irq_hw_number_t hwirq_max; + int direct_max; + unsigned int hwirq_base; + unsigned int virq_base; + enum irq_domain_bus_token bus_token; + const char *name_suffix; + const struct irq_domain_ops *ops; + void *host_data; + struct device *dev; + struct irq_domain *parent; + struct irq_domain_chip_generic_info *dgc_info; + int (*init)(struct irq_domain *); + void (*exit)(struct irq_domain *); +}; + +struct irq_generic_chip_devres { + struct irq_chip_generic *gc; + u32 msk; + unsigned int clr; + unsigned int set; +}; + +struct irq_glue { + struct irq_affinity_notify notify; + struct cpu_rmap *rmap; + u16 index; +}; + +struct irq_info { + u8 bus; + u8 devfn; + struct { + u8 link; + u16 bitmap; + } __attribute__((packed)) irq[4]; + u8 slot; + u8 rfu; +}; + +struct irq_info___2 { + struct list_head list; + struct list_head eoi_list; + struct rcu_work rwork; + short int refcnt; + u8 spurious_cnt; + u8 is_accounted; + short int type; + u8 mask_reason; + u8 is_active; + unsigned int irq; + evtchn_port_t evtchn; + short unsigned int cpu; + short unsigned int eoi_cpu; + unsigned int irq_epoch; + u64 eoi_time; + raw_spinlock_t lock; + bool is_static; + union { + short unsigned int virq; + enum ipi_vector ipi; + struct { + short unsigned int pirq; + short unsigned int gsi; + unsigned char vector; + unsigned char flags; + uint16_t domid; + } pirq; + struct xenbus_device *interdomain; + } u; +}; + +struct irq_info___3 { + struct hlist_node node; + int irq; + spinlock_t lock; + struct list_head *head; +}; + +struct irq_matrix { + unsigned int matrix_bits; + unsigned int alloc_start; + unsigned int alloc_end; + unsigned int alloc_size; + unsigned int global_available; + unsigned int global_reserved; + unsigned int systembits_inalloc; + unsigned int total_allocated; + unsigned int online_maps; + struct cpumap *maps; + long unsigned int *system_map; + long unsigned int scratch_map[0]; +}; + +struct irq_override_cmp { + const struct dmi_system_id *system; + unsigned char irq; + unsigned char triggering; + unsigned char polarity; + unsigned char shareable; + bool override; +}; + +struct irq_pin_list { + struct list_head list; + int apic; + int pin; +}; + +struct irq_remap_ops { + int capability; + int (*prepare)(void); + int (*enable)(void); + void (*disable)(void); + int (*reenable)(int); + int (*enable_faulting)(unsigned int); +}; + +struct irq_remap_table { + raw_spinlock_t lock; + unsigned int min_index; + u32 *table; +}; + +struct irq_router { + char *name; + u16 vendor; + u16 device; + int (*get)(struct pci_dev *, struct pci_dev *, int); + int (*set)(struct pci_dev *, struct pci_dev *, int, int); + int (*lvl)(struct pci_dev *, struct pci_dev *, int, int); +}; + +struct irq_router_handler { + u16 vendor; + int (*probe)(struct irq_router *, struct pci_dev *, u16); +}; + +struct irq_routing_table { + u32 signature; + u16 version; + u16 size; + u8 rtr_bus; + u8 rtr_devfn; + u16 exclusive_irqs; + u16 rtr_vendor; + u16 rtr_device; + u32 miniport_data; + u8 rfu[11]; + u8 checksum; + struct irq_info slots[0]; +}; + +struct irq_sim_work_ctx; + +struct irq_sim_irq_ctx { + bool enabled; + struct irq_sim_work_ctx *work_ctx; +}; + +struct irq_sim_ops { + int (*irq_sim_irq_requested)(struct irq_domain *, irq_hw_number_t, void *); + void (*irq_sim_irq_released)(struct irq_domain *, irq_hw_number_t, void *); +}; + +struct irq_sim_work_ctx { + struct irq_work work; + unsigned int irq_count; + long unsigned int *pending; + struct irq_domain *domain; + struct irq_sim_ops ops; + void *user_data; +}; + +struct irq_stack { + char stack[16384]; +}; + +struct irqaction { + irq_handler_t handler; + void *dev_id; + void *percpu_dev_id; + struct irqaction *next; + irq_handler_t thread_fn; + struct task_struct *thread; + struct irqaction *secondary; + unsigned int irq; + unsigned int flags; + long unsigned int thread_flags; + long unsigned int thread_mask; + const char *name; + struct proc_dir_entry *dir; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct irqchip_fwid { + struct fwnode_handle fwnode; + unsigned int type; + char *name; + phys_addr_t *pa; +}; + +struct irqentry_state { + union { + bool exit_rcu; + bool lockdep; + }; +}; + +typedef struct irqentry_state irqentry_state_t; + +struct irqstat { + unsigned int cnt; +}; + +struct irt_routing_table { + u32 signature; + u8 size; + u8 used; + u16 exclusive_irqs; + struct irq_info slots[0]; +}; + +union irte___2 { + u32 val; + struct { + u32 valid: 1; + u32 no_fault: 1; + u32 int_type: 3; + u32 rq_eoi: 1; + u32 dm: 1; + u32 rsvd_1: 1; + u32 destination: 8; + u32 vector: 8; + u32 rsvd_2: 8; + } fields; +}; + +union irte_ga_lo { + u64 val; + struct { + u64 valid: 1; + u64 no_fault: 1; + u64 int_type: 3; + u64 rq_eoi: 1; + u64 dm: 1; + u64 guest_mode: 1; + u64 destination: 24; + u64 ga_tag: 32; + } fields_remap; + struct { + u64 valid: 1; + u64 no_fault: 1; + u64 ga_log_intr: 1; + u64 rsvd1: 3; + u64 is_run: 1; + u64 guest_mode: 1; + u64 destination: 24; + u64 ga_tag: 32; + } fields_vapic; +}; + +union irte_ga_hi { + u64 val; + struct { + u64 vector: 8; + u64 rsvd_1: 4; + u64 ga_root_ptr: 40; + u64 rsvd_2: 4; + u64 destination: 8; + } fields; +}; + +struct irte_ga { + union { + struct { + union irte_ga_lo lo; + union irte_ga_hi hi; + }; + u128 irte; + }; +}; + +struct isa_dev { + struct device dev; + struct device *next; + unsigned int id; +}; + +struct isa_driver { + int (*match)(struct device *, unsigned int); + int (*probe)(struct device *, unsigned int); + void (*remove)(struct device *, unsigned int); + void (*shutdown)(struct device *, unsigned int); + int (*suspend)(struct device *, unsigned int, pm_message_t); + int (*resume)(struct device *, unsigned int); + struct device_driver driver; + struct device *devices; +}; + +struct isoch_data { + u32 maxbw; + u32 n; + u32 y; + u32 l; + u32 rq; + struct agp_3_5_dev *dev; +}; + +struct itimerspec64 { + struct timespec64 it_interval; + struct timespec64 it_value; +}; + +struct its_array { + void **pages; + int num; +}; + +struct ivhd_dte_flags { + struct list_head list; + u16 segid; + u16 devid_first; + u16 devid_last; + long: 64; + struct dev_table_entry dte; +}; + +struct ivhd_entry { + u8 type; + u16 devid; + u8 flags; + union { + struct { + u32 ext; + u32 hidh; + }; + struct { + u32 ext; + u32 hidh; + } ext_hid; + }; + u64 cid; + u8 uidf; + u8 uidl; + u8 uid; +} __attribute__((packed)); + +struct ivhd_header { + u8 type; + u8 flags; + u16 length; + u16 devid; + u16 cap_ptr; + u64 mmio_phys; + u16 pci_seg; + u16 info; + u32 efr_attr; + u64 efr_reg; + u64 efr_reg2; +}; + +struct ivmd_header { + u8 type; + u8 flags; + u16 length; + u16 devid; + u16 aux; + u16 pci_seg; + u8 resv[6]; + u64 range_start; + u64 range_length; +}; + +struct ivrs_quirk_entry { + u8 id; + u32 devid; +}; + +struct iw_discarded { + __u32 nwid; + __u32 code; + __u32 fragment; + __u32 retries; + __u32 misc; +}; + +struct iw_encode_ext { + __u32 ext_flags; + __u8 tx_seq[8]; + __u8 rx_seq[8]; + struct sockaddr addr; + __u16 alg; + __u16 key_len; + __u8 key[0]; +}; + +struct iw_point { + void *pointer; + __u16 length; + __u16 flags; +}; + +struct iw_param { + __s32 value; + __u8 fixed; + __u8 disabled; + __u16 flags; +}; + +struct iw_freq { + __s32 m; + __s16 e; + __u8 i; + __u8 flags; +}; + +struct iw_quality { + __u8 qual; + __u8 level; + __u8 noise; + __u8 updated; +}; + +union iwreq_data { + char name[16]; + struct iw_point essid; + struct iw_param nwid; + struct iw_freq freq; + struct iw_param sens; + struct iw_param bitrate; + struct iw_param txpower; + struct iw_param rts; + struct iw_param frag; + __u32 mode; + struct iw_param retry; + struct iw_point encoding; + struct iw_param power; + struct iw_quality qual; + struct sockaddr ap_addr; + struct sockaddr addr; + struct iw_param param; + struct iw_point data; +}; + +struct iw_event { + __u16 len; + __u16 cmd; + union iwreq_data u; +}; + +struct iw_request_info; + +typedef int (*iw_handler)(struct net_device *, struct iw_request_info *, union iwreq_data *, char *); + +struct iw_priv_args; + +struct iw_statistics; + +struct iw_handler_def { + const iw_handler *standard; + __u16 num_standard; + __u16 num_private; + __u16 num_private_args; + const iw_handler *private; + const struct iw_priv_args *private_args; + struct iw_statistics * (*get_wireless_stats)(struct net_device *); +}; + +struct iw_ioctl_description { + __u8 header_type; + __u8 flags; + __u16 token_size; + __u16 min_tokens; + __u16 max_tokens; +}; + +struct iw_missed { + __u32 beacon; +}; + +struct kobj_attribute { + struct attribute attr; + ssize_t (*show)(struct kobject *, struct kobj_attribute *, char *); + ssize_t (*store)(struct kobject *, struct kobj_attribute *, const char *, size_t); +}; + +struct iw_node_attr { + struct kobj_attribute kobj_attr; + int nid; +}; + +struct iw_priv_args { + __u32 cmd; + __u16 set_args; + __u16 get_args; + char name[16]; +}; + +struct iw_request_info { + __u16 cmd; + __u16 flags; +}; + +struct iw_statistics { + __u16 status; + struct iw_quality qual; + struct iw_discarded discard; + struct iw_missed miss; +}; + +struct iwreq { + union { + char ifrn_name[16]; + } ifr_ifrn; + union iwreq_data u; +}; + +struct jailhouse_setup_data { + struct { + __u16 version; + __u16 compatible_version; + } hdr; + struct { + __u16 pm_timer_address; + __u16 num_cpus; + __u64 pci_mmconfig_base; + __u32 tsc_khz; + __u32 apic_khz; + __u8 standard_ioapic; + __u8 cpu_ids[255]; + } __attribute__((packed)) v1; + struct { + __u32 flags; + } v2; +}; + +struct transaction_s; + +typedef struct transaction_s transaction_t; + +struct jbd2_inode { + transaction_t *i_transaction; + transaction_t *i_next_transaction; + struct list_head i_list; + struct inode *i_vfs_inode; + long unsigned int i_flags; + loff_t i_dirty_start; + loff_t i_dirty_end; +}; + +struct jbd2_journal_block_tail { + __be32 t_checksum; +}; + +typedef struct journal_s journal_t; + +struct jbd2_journal_handle { + union { + transaction_t *h_transaction; + journal_t *h_journal; + }; + handle_t *h_rsv_handle; + int h_total_credits; + int h_revoke_credits; + int h_revoke_credits_requested; + int h_ref; + int h_err; + unsigned int h_sync: 1; + unsigned int h_reserved: 1; + unsigned int h_aborted: 1; + unsigned int h_type: 8; + unsigned int h_line_no: 16; + long unsigned int h_start_jiffies; + unsigned int h_requested_credits; + unsigned int saved_alloc_context; +}; + +struct journal_header_s { + __be32 h_magic; + __be32 h_blocktype; + __be32 h_sequence; +}; + +typedef struct journal_header_s journal_header_t; + +struct jbd2_journal_revoke_header_s { + journal_header_t r_header; + __be32 r_count; +}; + +typedef struct jbd2_journal_revoke_header_s jbd2_journal_revoke_header_t; + +struct jbd2_revoke_record_s { + struct list_head hash; + tid_t sequence; + long long unsigned int blocknr; +}; + +struct jbd2_revoke_table_s { + int hash_size; + int hash_shift; + struct list_head *hash_table; +}; + +struct transaction_stats_s; + +struct jbd2_stats_proc_session { + journal_t *journal; + struct transaction_stats_s *stats; + int start; + int max; +}; + +struct jit_context { + int cleanup_addr; + int tail_call_direct_label; + int tail_call_indirect_label; +}; + +struct rand_data; + +struct jitterentropy { + spinlock_t jent_lock; + struct rand_data *entropy_collector; + struct crypto_shash *tfm; + struct shash_desc *sdesc; +}; + +struct join_entry { + u32 token; + u32 remote_nonce; + u32 local_nonce; + u8 join_id; + u8 local_id; + u8 backup; + u8 valid; +}; + +struct journal_block_tag3_s { + __be32 t_blocknr; + __be32 t_flags; + __be32 t_blocknr_high; + __be32 t_checksum; +}; + +typedef struct journal_block_tag3_s journal_block_tag3_t; + +struct journal_block_tag_s { + __be32 t_blocknr; + __be16 t_checksum; + __be16 t_flags; + __be32 t_blocknr_high; +}; + +typedef struct journal_block_tag_s journal_block_tag_t; + +struct journal_head { + struct buffer_head *b_bh; + spinlock_t b_state_lock; + int b_jcount; + unsigned int b_jlist; + unsigned int b_modified; + char *b_frozen_data; + char *b_committed_data; + transaction_t *b_transaction; + transaction_t *b_next_transaction; + struct journal_head *b_tnext; + struct journal_head *b_tprev; + transaction_t *b_cp_transaction; + struct journal_head *b_cpnext; + struct journal_head *b_cpprev; + struct jbd2_buffer_trigger_type *b_triggers; + struct jbd2_buffer_trigger_type *b_frozen_triggers; +}; + +struct transaction_run_stats_s { + long unsigned int rs_wait; + long unsigned int rs_request_delay; + long unsigned int rs_running; + long unsigned int rs_locked; + long unsigned int rs_flushing; + long unsigned int rs_logging; + __u32 rs_handle_count; + __u32 rs_blocks; + __u32 rs_blocks_logged; +}; + +struct transaction_stats_s { + long unsigned int ts_tid; + long unsigned int ts_requested; + struct transaction_run_stats_s run; +}; + +struct journal_superblock_s; + +typedef struct journal_superblock_s journal_superblock_t; + +struct journal_s { + long unsigned int j_flags; + int j_errno; + struct mutex j_abort_mutex; + struct buffer_head *j_sb_buffer; + journal_superblock_t *j_superblock; + rwlock_t j_state_lock; + int j_barrier_count; + struct mutex j_barrier; + transaction_t *j_running_transaction; + transaction_t *j_committing_transaction; + transaction_t *j_checkpoint_transactions; + wait_queue_head_t j_wait_transaction_locked; + wait_queue_head_t j_wait_done_commit; + wait_queue_head_t j_wait_commit; + wait_queue_head_t j_wait_updates; + wait_queue_head_t j_wait_reserved; + wait_queue_head_t j_fc_wait; + struct mutex j_checkpoint_mutex; + struct buffer_head *j_chkpt_bhs[64]; + struct shrinker *j_shrinker; + struct percpu_counter j_checkpoint_jh_count; + transaction_t *j_shrink_transaction; + long unsigned int j_head; + long unsigned int j_tail; + long unsigned int j_free; + long unsigned int j_first; + long unsigned int j_last; + long unsigned int j_fc_first; + long unsigned int j_fc_off; + long unsigned int j_fc_last; + struct block_device *j_dev; + int j_blocksize; + long long unsigned int j_blk_offset; + char j_devname[56]; + struct block_device *j_fs_dev; + errseq_t j_fs_dev_wb_err; + unsigned int j_total_len; + atomic_t j_reserved_credits; + spinlock_t j_list_lock; + struct inode *j_inode; + tid_t j_tail_sequence; + tid_t j_transaction_sequence; + tid_t j_commit_sequence; + tid_t j_commit_request; + __u8 j_uuid[16]; + struct task_struct *j_task; + int j_max_transaction_buffers; + int j_revoke_records_per_block; + int j_transaction_overhead_buffers; + long unsigned int j_commit_interval; + struct timer_list j_commit_timer; + spinlock_t j_revoke_lock; + struct jbd2_revoke_table_s *j_revoke; + struct jbd2_revoke_table_s *j_revoke_table[2]; + struct buffer_head **j_wbuf; + struct buffer_head **j_fc_wbuf; + int j_wbufsize; + int j_fc_wbufsize; + pid_t j_last_sync_writer; + u64 j_average_commit_time; + u32 j_min_batch_time; + u32 j_max_batch_time; + void (*j_commit_callback)(journal_t *, transaction_t *); + int (*j_submit_inode_data_buffers)(struct jbd2_inode *); + int (*j_finish_inode_data_buffers)(struct jbd2_inode *); + spinlock_t j_history_lock; + struct proc_dir_entry *j_proc_entry; + struct transaction_stats_s j_stats; + unsigned int j_failed_commit; + void *j_private; + __u32 j_csum_seed; + struct lock_class_key jbd2_trans_commit_key; + void (*j_fc_cleanup_callback)(struct journal_s *, int, tid_t); + int (*j_fc_replay_callback)(struct journal_s *, struct buffer_head *, enum passtype, int, tid_t); + int (*j_bmap)(struct journal_s *, sector_t *); +}; + +struct journal_superblock_s { + journal_header_t s_header; + __be32 s_blocksize; + __be32 s_maxlen; + __be32 s_first; + __be32 s_sequence; + __be32 s_start; + __be32 s_errno; + __be32 s_feature_compat; + __be32 s_feature_incompat; + __be32 s_feature_ro_compat; + __u8 s_uuid[16]; + __be32 s_nr_users; + __be32 s_dynsuper; + __be32 s_max_transaction; + __be32 s_max_trans_data; + __u8 s_checksum_type; + __u8 s_padding2[3]; + __be32 s_num_fc_blks; + __be32 s_head; + __u32 s_padding[40]; + __be32 s_checksum; + __u8 s_users[768]; +}; + +struct jump_entry { + s32 code; + s32 target; + long int key; +}; + +struct jump_label_patch { + const void *code; + int size; +}; + +struct k_itimer; + +struct k_clock { + int (*clock_getres)(const clockid_t, struct timespec64 *); + int (*clock_set)(const clockid_t, const struct timespec64 *); + int (*clock_get_timespec)(const clockid_t, struct timespec64 *); + ktime_t (*clock_get_ktime)(const clockid_t); + int (*clock_adj)(const clockid_t, struct __kernel_timex *); + int (*timer_create)(struct k_itimer *); + int (*nsleep)(const clockid_t, int, const struct timespec64 *); + int (*timer_set)(struct k_itimer *, int, struct itimerspec64 *, struct itimerspec64 *); + int (*timer_del)(struct k_itimer *); + void (*timer_get)(struct k_itimer *, struct itimerspec64 *); + void (*timer_rearm)(struct k_itimer *); + s64 (*timer_forward)(struct k_itimer *, ktime_t); + ktime_t (*timer_remaining)(struct k_itimer *, ktime_t); + int (*timer_try_to_cancel)(struct k_itimer *); + void (*timer_arm)(struct k_itimer *, ktime_t, bool, bool); + void (*timer_wait_running)(struct k_itimer *); +}; + +typedef struct k_itimer *class_lock_timer_t; + +struct kernel_siginfo { + struct { + int si_signo; + int si_errno; + int si_code; + union __sifields _sifields; + }; +}; + +struct sigqueue { + struct list_head list; + int flags; + kernel_siginfo_t info; + struct ucounts *ucounts; +}; + +struct signal_struct; + +struct k_itimer { + struct hlist_node t_hash; + struct hlist_node list; + timer_t it_id; + clockid_t it_clock; + int it_sigev_notify; + enum pid_type it_pid_type; + struct signal_struct *it_signal; + const struct k_clock *kclock; + spinlock_t it_lock; + int it_status; + bool it_sig_periodic; + s64 it_overrun; + s64 it_overrun_last; + unsigned int it_signal_seq; + unsigned int it_sigqueue_seq; + ktime_t it_interval; + struct hlist_node ignored_list; + union { + struct pid *it_pid; + struct task_struct *it_process; + }; + struct sigqueue sigq; + rcuref_t rcuref; + union { + struct { + struct hrtimer timer; + } real; + struct cpu_timer cpu; + struct { + struct alarm alarmtimer; + } alarm; + } it; + struct callback_head rcu; + long: 64; + long: 64; + long: 64; +}; + +typedef void __signalfn_t(int); + +typedef __signalfn_t *__sighandler_t; + +typedef void __restorefn_t(void); + +typedef __restorefn_t *__sigrestore_t; + +struct sigaction { + __sighandler_t sa_handler; + long unsigned int sa_flags; + __sigrestore_t sa_restorer; + sigset_t sa_mask; +}; + +struct k_sigaction { + struct sigaction sa; +}; + +struct kallsym_iter { + loff_t pos; + loff_t pos_mod_end; + loff_t pos_ftrace_mod_end; + loff_t pos_bpf_end; + long unsigned int value; + unsigned int nameoff; + char type; + char name[512]; + char module_name[56]; + int exported; + int show_value; +}; + +struct kallsyms_data { + long unsigned int *addrs; + const char **syms; + size_t cnt; + size_t found; +}; + +struct karatsuba_ctx { + struct karatsuba_ctx *next; + mpi_ptr_t tspace; + mpi_size_t tspace_size; + mpi_ptr_t tp; + mpi_size_t tp_size; +}; + +struct kaslr_memory_region { + long unsigned int *base; + long unsigned int *end; + long unsigned int size_tb; +}; + +struct led_classdev; + +struct led_hw_trigger_type; + +struct led_trigger { + const char *name; + int (*activate)(struct led_classdev *); + void (*deactivate)(struct led_classdev *); + enum led_brightness brightness; + struct led_hw_trigger_type *trigger_type; + spinlock_t leddev_list_lock; + struct list_head led_cdevs; + struct list_head next_trig; + const struct attribute_group **groups; +}; + +struct kbd_led_trigger { + struct led_trigger trigger; + unsigned int mask; +}; + +struct kbd_repeat { + int delay; + int period; +}; + +struct kbd_struct { + unsigned char lockstate; + unsigned char slockstate; + unsigned char ledmode: 1; + unsigned char ledflagstate: 4; + char: 3; + unsigned char default_ledflagstate: 4; + unsigned char kbdmode: 3; + int: 1; + unsigned char modeflags: 5; +}; + +struct kbdiacr { + unsigned char diacr; + unsigned char base; + unsigned char result; +}; + +struct kbdiacrs { + unsigned int kb_cnt; + struct kbdiacr kbdiacr[256]; +}; + +struct kbdiacruc { + unsigned int diacr; + unsigned int base; + unsigned int result; +}; + +struct kbdiacrsuc { + unsigned int kb_cnt; + struct kbdiacruc kbdiacruc[256]; +}; + +struct kbentry { + unsigned char kb_table; + unsigned char kb_index; + short unsigned int kb_value; +}; + +struct kbkeycode { + unsigned int scancode; + unsigned int keycode; +}; + +struct kbsentry { + unsigned char kb_func; + unsigned char kb_string[512]; +}; + +struct kcmp_epoll_slot { + __u32 efd; + __u32 tfd; + __u32 toff; +}; + +typedef void (*dm_kcopyd_notify_fn)(int, long unsigned int, void *); + +struct kcopyd_job { + struct dm_kcopyd_client *kc; + struct list_head list; + unsigned int flags; + int read_err; + long unsigned int write_err; + enum req_op op; + struct dm_io_region source; + unsigned int num_dests; + struct dm_io_region dests[8]; + struct page_list *pages; + dm_kcopyd_notify_fn fn; + void *context; + struct mutex lock; + atomic_t sub_jobs; + sector_t progress; + sector_t write_offset; + struct kcopyd_job *master_job; +}; + +struct kcore_list { + struct list_head list; + long unsigned int addr; + size_t size; + int type; +}; + +struct kcsan_scoped_access {}; + +struct kdb_macro { + kdbtab_t cmd; + struct list_head statements; +}; + +struct kdb_macro_statement { + char *statement; + struct list_head list_node; +}; + +struct tcp6_ao_context { + struct in6_addr saddr; + struct in6_addr daddr; + __be16 sport; + __be16 dport; + __be32 sisn; + __be32 disn; +}; + +struct kdf_input_block { + u8 counter; + u8 label[6]; + struct tcp6_ao_context ctx; + __be16 outlen; +} __attribute__((packed)); + +struct tcp4_ao_context { + __be32 saddr; + __be32 daddr; + __be16 sport; + __be16 dport; + __be32 sisn; + __be32 disn; +}; + +struct kdf_input_block___2 { + u8 counter; + u8 label[6]; + struct tcp4_ao_context ctx; + __be16 outlen; +} __attribute__((packed)); + +struct kdf_testvec { + unsigned char *key; + size_t keylen; + unsigned char *ikm; + size_t ikmlen; + struct kvec info; + unsigned char *expected; + size_t expectedlen; +}; + +struct kern_ipc_perm { + spinlock_t lock; + bool deleted; + int id; + key_t key; + kuid_t uid; + kgid_t gid; + kuid_t cuid; + kgid_t cgid; + umode_t mode; + long unsigned int seq; + void *security; + struct rhash_head khtnode; + struct callback_head rcu; + refcount_t refcount; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct kernel_clone_args { + u64 flags; + int *pidfd; + int *child_tid; + int *parent_tid; + const char *name; + int exit_signal; + u32 kthread: 1; + u32 io_thread: 1; + u32 user_worker: 1; + u32 no_files: 1; + long unsigned int stack; + long unsigned int stack_size; + long unsigned int tls; + pid_t *set_tid; + size_t set_tid_size; + int cgroup; + int idle; + int (*fn)(void *); + void *fn_arg; + struct cgroup *cgrp; + struct css_set *cset; + unsigned int kill_seq; +}; + +struct kernel_cpustat { + u64 cpustat[11]; +}; + +struct kernel_ethtool_ringparam { + u32 rx_buf_len; + u8 tcp_data_split; + u8 tx_push; + u8 rx_push; + u32 cqe_size; + u32 tx_push_buf_len; + u32 tx_push_buf_max_len; + u32 hds_thresh; + u32 hds_thresh_max; +}; + +struct kernel_ethtool_ts_info { + u32 cmd; + u32 so_timestamping; + int phc_index; + enum hwtstamp_provider_qualifier phc_qualifier; + enum hwtstamp_source phc_source; + int phc_phyindex; + u32 tx_types; + u32 rx_filters; +}; + +struct kernel_hwtstamp_config { + int flags; + int tx_type; + int rx_filter; + struct ifreq *ifr; + bool copied_to_user; + enum hwtstamp_source source; + enum hwtstamp_provider_qualifier qualifier; +}; + +struct kernel_param_ops; + +struct kparam_string; + +struct kparam_array; + +struct kernel_param { + const char *name; + struct module *mod; + const struct kernel_param_ops *ops; + const u16 perm; + s8 level; + u8 flags; + union { + void *arg; + const struct kparam_string *str; + const struct kparam_array *arr; + }; +}; + +struct kernel_param_ops { + unsigned int flags; + int (*set)(const char *, const struct kernel_param *); + int (*get)(char *, const struct kernel_param *); + void (*free)(void *); +}; + +struct kernel_pkey_params { + struct key *key; + const char *encoding; + const char *hash_algo; + char *info; + __u32 in_len; + union { + __u32 out_len; + __u32 in2_len; + }; + enum kernel_pkey_operation op: 8; +}; + +struct kernel_pkey_query { + __u32 supported_ops; + __u32 key_size; + __u16 max_data_size; + __u16 max_sig_size; + __u16 max_enc_size; + __u16 max_dec_size; +}; + +struct kernel_stat { + long unsigned int irqs_sum; + unsigned int softirqs[10]; +}; + +struct kernel_symbol { + int value_offset; + int name_offset; + int namespace_offset; +}; + +struct kernel_vm86_regs { + struct pt_regs pt; + short unsigned int es; + short unsigned int __esh; + short unsigned int ds; + short unsigned int __dsh; + short unsigned int fs; + short unsigned int __fsh; + short unsigned int gs; + short unsigned int __gsh; +}; + +struct kernfs_open_node; + +struct kernfs_elem_attr { + const struct kernfs_ops *ops; + struct kernfs_open_node *open; + loff_t size; + struct kernfs_node *notify_next; +}; + +struct kernfs_elem_dir { + long unsigned int subdirs; + struct rb_root children; + struct kernfs_root *root; + long unsigned int rev; +}; + +struct kernfs_elem_symlink { + struct kernfs_node *target_kn; +}; + +struct kernfs_global_locks { + struct mutex open_file_mutex[1024]; +}; + +struct simple_xattrs { + struct rb_root rb_root; + rwlock_t lock; +}; + +struct kernfs_iattrs { + kuid_t ia_uid; + kgid_t ia_gid; + struct timespec64 ia_atime; + struct timespec64 ia_mtime; + struct timespec64 ia_ctime; + struct simple_xattrs xattrs; + atomic_t nr_user_xattrs; + atomic_t user_xattr_size; +}; + +struct kernfs_node { + atomic_t count; + atomic_t active; + struct kernfs_node *__parent; + const char *name; + struct rb_node rb; + const void *ns; + unsigned int hash; + short unsigned int flags; + umode_t mode; + union { + struct kernfs_elem_dir dir; + struct kernfs_elem_symlink symlink; + struct kernfs_elem_attr attr; + }; + u64 id; + void *priv; + struct kernfs_iattrs *iattr; + struct callback_head rcu; +}; + +struct kernfs_open_file { + struct kernfs_node *kn; + struct file *file; + struct seq_file *seq_file; + void *priv; + struct mutex mutex; + struct mutex prealloc_mutex; + int event; + struct list_head list; + char *prealloc_buf; + size_t atomic_write_len; + bool mmapped: 1; + bool released: 1; + const struct vm_operations_struct *vm_ops; +}; + +struct kernfs_open_node { + struct callback_head callback_head; + atomic_t event; + wait_queue_head_t poll; + struct list_head files; + unsigned int nr_mmapped; + unsigned int nr_to_release; +}; + +struct kernfs_ops { + int (*open)(struct kernfs_open_file *); + void (*release)(struct kernfs_open_file *); + int (*seq_show)(struct seq_file *, void *); + void * (*seq_start)(struct seq_file *, loff_t *); + void * (*seq_next)(struct seq_file *, void *, loff_t *); + void (*seq_stop)(struct seq_file *, void *); + ssize_t (*read)(struct kernfs_open_file *, char *, size_t, loff_t); + size_t atomic_write_len; + bool prealloc; + ssize_t (*write)(struct kernfs_open_file *, char *, size_t, loff_t); + __poll_t (*poll)(struct kernfs_open_file *, struct poll_table_struct *); + int (*mmap)(struct kernfs_open_file *, struct vm_area_struct *); + loff_t (*llseek)(struct kernfs_open_file *, loff_t, int); +}; + +struct kernfs_syscall_ops; + +struct kernfs_root { + struct kernfs_node *kn; + unsigned int flags; + struct idr ino_idr; + spinlock_t kernfs_idr_lock; + u32 last_id_lowbits; + u32 id_highbits; + struct kernfs_syscall_ops *syscall_ops; + struct list_head supers; + wait_queue_head_t deactivate_waitq; + struct rw_semaphore kernfs_rwsem; + struct rw_semaphore kernfs_iattr_rwsem; + struct rw_semaphore kernfs_supers_rwsem; + rwlock_t kernfs_rename_lock; + struct callback_head rcu; +}; + +struct kernfs_super_info { + struct super_block *sb; + struct kernfs_root *root; + const void *ns; + struct list_head node; +}; + +struct kernfs_syscall_ops { + int (*show_options)(struct seq_file *, struct kernfs_root *); + int (*mkdir)(struct kernfs_node *, const char *, umode_t); + int (*rmdir)(struct kernfs_node *); + int (*rename)(struct kernfs_node *, struct kernfs_node *, const char *); + int (*show_path)(struct seq_file *, struct kernfs_node *, struct kernfs_root *); +}; + +struct kimage; + +struct kexec_buf { + struct kimage *image; + void *buffer; + long unsigned int bufsz; + long unsigned int mem; + long unsigned int memsz; + long unsigned int buf_align; + long unsigned int buf_min; + long unsigned int buf_max; + struct page *cma; + bool top_down; + bool random; +}; + +struct kexec_entry64_regs { + uint64_t rax; + uint64_t rcx; + uint64_t rdx; + uint64_t rbx; + uint64_t rsp; + uint64_t rbp; + uint64_t rsi; + uint64_t rdi; + uint64_t r8; + uint64_t r9; + uint64_t r10; + uint64_t r11; + uint64_t r12; + uint64_t r13; + uint64_t r14; + uint64_t r15; + uint64_t rip; +}; + +typedef int kexec_probe_t(const char *, long unsigned int); + +typedef void *kexec_load_t(struct kimage *, char *, long unsigned int, char *, long unsigned int, char *, long unsigned int); + +typedef int kexec_cleanup_t(void *); + +typedef int kexec_verify_sig_t(const char *, long unsigned int); + +struct kexec_file_ops { + kexec_probe_t *probe; + kexec_load_t *load; + kexec_cleanup_t *cleanup; + kexec_verify_sig_t *verify_sig; +}; + +struct kexec_load_limit { + struct mutex mutex; + int limit; +}; + +struct kexec_segment { + union { + void *buf; + void *kbuf; + }; + size_t bufsz; + long unsigned int mem; + size_t memsz; +}; + +struct kexec_sha_region { + long unsigned int start; + long unsigned int len; +}; + +struct key_type; + +struct key_tag; + +struct keyring_index_key { + long unsigned int hash; + union { + struct { + u16 desc_len; + char desc[6]; + }; + long unsigned int x; + }; + struct key_type *type; + struct key_tag *domain_tag; + const char *description; +}; + +union key_payload { + void *rcu_data0; + void *data[4]; +}; + +struct watch_list; + +struct key_user; + +struct key_restriction; + +struct key { + refcount_t usage; + key_serial_t serial; + union { + struct list_head graveyard_link; + struct rb_node serial_node; + }; + struct watch_list *watchers; + struct rw_semaphore sem; + struct key_user *user; + void *security; + union { + time64_t expiry; + time64_t revoked_at; + }; + time64_t last_used_at; + kuid_t uid; + kgid_t gid; + key_perm_t perm; + short unsigned int quotalen; + short unsigned int datalen; + short int state; + long unsigned int flags; + union { + struct keyring_index_key index_key; + struct { + long unsigned int hash; + long unsigned int len_desc; + struct key_type *type; + struct key_tag *domain_tag; + char *description; + }; + }; + union { + union key_payload payload; + struct { + struct list_head name_link; + struct assoc_array keys; + }; + }; + struct key_restriction *restrict_link; +}; + +struct key_match_data { + bool (*cmp)(const struct key *, const struct key_match_data *); + const void *raw_data; + void *preparsed; + unsigned int lookup_type; +}; + +struct watch_notification { + __u32 type: 24; + __u32 subtype: 8; + __u32 info; +}; + +struct key_notification { + struct watch_notification watch; + __u32 key_id; + __u32 aux; +}; + +struct key_params { + const u8 *key; + const u8 *seq; + int key_len; + int seq_len; + u16 vlan_id; + u32 cipher; + enum nl80211_key_mode mode; +}; + +struct key_preparsed_payload { + const char *orig_description; + char *description; + union key_payload payload; + const void *data; + size_t datalen; + size_t quotalen; + time64_t expiry; +}; + +typedef int (*key_restrict_link_func_t)(struct key *, const struct key_type *, const union key_payload *, struct key *); + +struct key_restriction { + key_restrict_link_func_t check; + struct key *key; + struct key_type *keytype; +}; + +struct key_security_struct { + u32 sid; +}; + +struct key_tag { + struct callback_head rcu; + refcount_t usage; + bool removed; +}; + +typedef int (*request_key_actor_t)(struct key *, void *); + +struct key_type { + const char *name; + size_t def_datalen; + unsigned int flags; + int (*vet_description)(const char *); + int (*preparse)(struct key_preparsed_payload *); + void (*free_preparse)(struct key_preparsed_payload *); + int (*instantiate)(struct key *, struct key_preparsed_payload *); + int (*update)(struct key *, struct key_preparsed_payload *); + int (*match_preparse)(struct key_match_data *); + void (*match_free)(struct key_match_data *); + void (*revoke)(struct key *); + void (*destroy)(struct key *); + void (*describe)(const struct key *, struct seq_file *); + long int (*read)(const struct key *, char *, size_t); + request_key_actor_t request_key; + struct key_restriction * (*lookup_restriction)(const char *); + int (*asym_query)(const struct kernel_pkey_params *, struct kernel_pkey_query *); + int (*asym_eds_op)(struct kernel_pkey_params *, const void *, void *); + int (*asym_verify_signature)(struct kernel_pkey_params *, const void *, const void *); + struct list_head link; + struct lock_class_key lock_class; +}; + +struct key_user { + struct rb_node node; + struct mutex cons_lock; + spinlock_t lock; + refcount_t usage; + atomic_t nkeys; + atomic_t nikeys; + kuid_t uid; + int qnkeys; + int qnbytes; +}; + +struct key_vector { + t_key key; + unsigned char pos; + unsigned char bits; + unsigned char slen; + union { + struct hlist_head leaf; + struct { + struct {} __empty_tnode; + struct key_vector *tnode[0]; + }; + }; +}; + +struct keyboard_notifier_param { + struct vc_data *vc; + int down; + int shift; + int ledstate; + unsigned int value; +}; + +struct keyctl_dh_params { + union { + __s32 private; + __s32 priv; + }; + __s32 prime; + __s32 base; +}; + +struct keyctl_kdf_params { + char *hashname; + char *otherinfo; + __u32 otherinfolen; + __u32 __spare[8]; +}; + +struct keyctl_pkey_params { + __s32 key_id; + __u32 in_len; + union { + __u32 out_len; + __u32 in2_len; + }; + __u32 __spare[7]; +}; + +struct keyctl_pkey_query { + __u32 supported_ops; + __u32 key_size; + __u16 max_data_size; + __u16 max_sig_size; + __u16 max_enc_size; + __u16 max_dec_size; + __u32 __spare[10]; +}; + +struct keyring_read_iterator_context { + size_t buflen; + size_t count; + key_serial_t *buffer; +}; + +struct __key_reference_with_attributes; + +typedef struct __key_reference_with_attributes *key_ref_t; + +struct keyring_search_context { + struct keyring_index_key index_key; + const struct cred *cred; + struct key_match_data match_data; + unsigned int flags; + int (*iterator)(const void *, void *); + int skipped_ret; + bool possessed; + key_ref_t result; + time64_t now; +}; + +struct keys_header { + unsigned int total_keys; + struct dm_crypt_key keys[0]; +}; + +struct kfence_track { + pid_t pid; + int cpu; + u64 ts_nsec; + int num_stack_entries; + long unsigned int stack_entries[64]; +}; + +struct slabobj_ext { + struct obj_cgroup *objcg; +}; + +struct kfence_metadata { + struct list_head list; + struct callback_head callback_head; + raw_spinlock_t lock; + enum kfence_object_state state; + long unsigned int addr; + size_t size; + struct kmem_cache *cache; + long unsigned int unprotected_page; + struct kfence_track alloc_track; + struct kfence_track free_track; + u32 alloc_stack_hash; + struct slabobj_ext obj_exts; +}; + +struct rcu_gp_oldstate { + long unsigned int rgos_norm; + long unsigned int rgos_exp; +}; + +struct kfree_rcu_cpu; + +struct kfree_rcu_cpu_work { + struct rcu_work rcu_work; + struct callback_head *head_free; + struct rcu_gp_oldstate head_free_gp_snap; + struct list_head bulk_head_free[2]; + struct kfree_rcu_cpu *krcp; +}; + +struct kfree_rcu_cpu { + struct callback_head *head; + long unsigned int head_gp_snap; + atomic_t head_count; + struct list_head bulk_head[2]; + atomic_t bulk_count[2]; + struct kfree_rcu_cpu_work krw_arr[2]; + raw_spinlock_t lock; + struct delayed_work monitor_work; + bool initialized; + struct delayed_work page_cache_work; + atomic_t backoff_page_cache_fill; + atomic_t work_in_progress; + struct hrtimer hrtimer; + struct llist_head bkvcache; + int nr_bkv_objs; +}; + +struct kgdb_arch { + unsigned char gdb_bpt_instr[1]; + long unsigned int flags; + int (*set_breakpoint)(long unsigned int, char *); + int (*remove_breakpoint)(long unsigned int, char *); + int (*set_hw_breakpoint)(long unsigned int, int, enum kgdb_bptype); + int (*remove_hw_breakpoint)(long unsigned int, int, enum kgdb_bptype); + void (*disable_hw_break)(struct pt_regs *); + void (*remove_all_hw_break)(void); + void (*correct_hw_break)(void); +}; + +struct kgdb_bkpt { + long unsigned int bpt_addr; + unsigned char saved_instr[1]; + enum kgdb_bptype type; + enum kgdb_bpstate state; +}; + +struct kgdb_io { + const char *name; + int (*read_char)(void); + void (*write_char)(u8); + void (*flush)(void); + int (*init)(void); + void (*deinit)(void); + void (*pre_exception)(void); + void (*post_exception)(void); + struct console *cons; +}; + +struct kgdb_state { + int ex_vector; + int signo; + int err_code; + int cpu; + int pass_exception; + long unsigned int thr_query; + long unsigned int threadid; + long int kgdb_usethreadid; + struct pt_regs *linux_regs; + atomic_t *send_ready; +}; + +struct kho_data { + __u64 fdt_addr; + __u64 fdt_size; + __u64 scratch_addr; + __u64 scratch_size; +}; + +struct kho_in { + struct dentry *dir; + phys_addr_t fdt_phys; + phys_addr_t scratch_phys; + struct list_head fdt_list; +}; + +struct kho_mem_phys { + struct xarray phys_bits; +}; + +struct kho_mem_phys_bits { + long unsigned int preserve[64]; +}; + +struct kho_mem_track { + struct xarray orders; +}; + +struct khoser_mem_chunk; + +struct kho_serialization { + struct page *fdt; + struct list_head fdt_list; + struct dentry *sub_fdt_dir; + struct kho_mem_track track; + struct khoser_mem_chunk *preserved_mem_map; +}; + +struct kho_out { + struct blocking_notifier_head chain_head; + struct dentry *dir; + struct mutex lock; + struct kho_serialization ser; + bool finalized; +}; + +struct kho_scratch { + phys_addr_t addr; + phys_addr_t size; +}; + +struct khoser_mem_bitmap_ptr { + phys_addr_t phys_start; + union { + phys_addr_t phys; + struct kho_mem_phys_bits *ptr; + } bitmap; +}; + +struct khoser_mem_chunk_hdr { + union { + phys_addr_t phys; + struct khoser_mem_chunk *ptr; + } next; + unsigned int order; + unsigned int num_elms; +}; + +struct khoser_mem_chunk { + struct khoser_mem_chunk_hdr hdr; + struct khoser_mem_bitmap_ptr bitmaps[255]; +}; + +struct mm_slot { + struct hlist_node hash; + struct list_head mm_node; + struct mm_struct *mm; +}; + +struct khugepaged_mm_slot { + struct mm_slot slot; +}; + +struct khugepaged_scan { + struct list_head mm_head; + struct khugepaged_mm_slot *mm_slot; + long unsigned int address; +}; + +struct kimage_arch { + pgd_t *pgd; + p4d_t *p4d; + pud_t *pud; + pmd_t *pmd; + pte_t *pte; +}; + +struct purgatory_info { + const Elf64_Ehdr *ehdr; + Elf64_Shdr *sechdrs; + void *purgatory_buf; +}; + +struct kimage { + kimage_entry_t head; + kimage_entry_t *entry; + kimage_entry_t *last_entry; + long unsigned int start; + struct page *control_code_page; + struct page *swap_page; + void *vmcoreinfo_data_copy; + long unsigned int nr_segments; + struct kexec_segment segment[16]; + struct page *segment_cma[16]; + struct list_head control_pages; + struct list_head dest_pages; + struct list_head unusable_pages; + long unsigned int control_page; + unsigned int type: 1; + unsigned int preserve_context: 1; + unsigned int file_mode: 1; + unsigned int hotplug_support: 1; + unsigned int no_cma: 1; + struct kimage_arch arch; + void *kernel_buf; + long unsigned int kernel_buf_len; + void *initrd_buf; + long unsigned int initrd_buf_len; + char *cmdline_buf; + long unsigned int cmdline_buf_len; + const struct kexec_file_ops *fops; + void *image_loader_data; + struct purgatory_info purgatory_info; + int hp_action; + int elfcorehdr_index; + bool elfcorehdr_updated; + void *ima_buffer; + phys_addr_t ima_buffer_addr; + size_t ima_buffer_size; + long unsigned int ima_segment_index; + bool is_ima_segment_index_set; + struct { + struct kexec_segment *scratch; + phys_addr_t fdt; + } kho; + void *elf_headers; + long unsigned int elf_headers_sz; + long unsigned int elf_load_addr; + long unsigned int dm_crypt_keys_addr; + long unsigned int dm_crypt_keys_sz; +}; + +struct kioctx_cpu; + +struct kioctx { + struct percpu_ref users; + atomic_t dead; + struct percpu_ref reqs; + long unsigned int user_id; + struct kioctx_cpu *cpu; + unsigned int req_batch; + unsigned int max_reqs; + unsigned int nr_events; + long unsigned int mmap_base; + long unsigned int mmap_size; + struct folio **ring_folios; + long int nr_pages; + struct rcu_work free_rwork; + struct ctx_rq_wait *rq_wait; + long: 64; + long: 64; + long: 64; + struct { + atomic_t reqs_available; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + }; + struct { + spinlock_t ctx_lock; + struct list_head active_reqs; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + }; + struct { + struct mutex ring_lock; + wait_queue_head_t wait; + long: 64; + }; + struct { + unsigned int tail; + unsigned int completed_events; + spinlock_t completion_lock; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + }; + struct folio *internal_folios[8]; + struct file *aio_ring_file; + unsigned int id; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct kioctx_cpu { + unsigned int reqs_available; +}; + +struct kioctx_table { + struct callback_head rcu; + unsigned int nr; + struct kioctx *table[0]; +}; + +struct klist_waiter { + struct list_head list; + struct klist_node *node; + struct task_struct *process; + int woken; +}; + +struct klistmount { + u64 last_mnt_id; + u64 mnt_parent_id; + u64 *kmnt_ids; + u32 nr_mnt_ids; + struct mnt_namespace *ns; + struct path root; +}; + +struct klp_object; + +struct klp_callbacks { + int (*pre_patch)(struct klp_object *); + void (*post_patch)(struct klp_object *); + void (*pre_unpatch)(struct klp_object *); + void (*post_unpatch)(struct klp_object *); + bool post_unpatch_enabled; +}; + +struct klp_find_arg { + const char *name; + long unsigned int addr; + long unsigned int count; + long unsigned int pos; +}; + +struct klp_func { + const char *old_name; + void *new_func; + long unsigned int old_sympos; + void *old_func; + struct kobject kobj; + struct list_head node; + struct list_head stack_node; + long unsigned int old_size; + long unsigned int new_size; + bool nop; + bool patched; + bool transition; +}; + +struct klp_modinfo { + Elf64_Ehdr hdr; + Elf64_Shdr *sechdrs; + char *secstrings; + unsigned int symndx; +}; + +struct klp_object { + const char *name; + struct klp_func *funcs; + struct klp_callbacks callbacks; + struct kobject kobj; + struct list_head func_list; + struct list_head node; + struct module *mod; + bool dynamic; + bool patched; +}; + +struct klp_ops { + struct list_head node; + struct list_head func_stack; + struct ftrace_ops fops; +}; + +struct klp_state; + +struct klp_patch { + struct module *mod; + struct klp_object *objs; + struct klp_state *states; + bool replace; + struct list_head list; + struct kobject kobj; + struct list_head obj_list; + bool enabled; + bool forced; + struct work_struct free_work; + struct completion finish; +}; + +struct klp_shadow { + struct hlist_node node; + struct callback_head callback_head; + void *obj; + long unsigned int id; + char data[0]; +}; + +struct klp_state { + long unsigned int id; + unsigned int version; + void *data; +}; + +struct km_event { + union { + u32 hard; + u32 proto; + u32 byid; + u32 aevent; + u32 type; + } data; + u32 seq; + u32 portid; + u32 event; + struct net *net; +}; + +struct kmalloc_info_struct { + const char *name[19]; + unsigned int size; +}; + +struct kmalloced_param { + struct list_head list; + char val[0]; +}; + +struct kmap_ctrl {}; + +typedef struct kmem_cache *kmem_buckets[14]; + +struct reciprocal_value { + u32 m; + u8 sh1; + u8 sh2; +}; + +struct kmem_cache_order_objects { + unsigned int x; +}; + +struct kmem_cache_cpu; + +struct kmem_cache_node; + +struct kmem_cache { + struct kmem_cache_cpu *cpu_slab; + slab_flags_t flags; + long unsigned int min_partial; + unsigned int size; + unsigned int object_size; + struct reciprocal_value reciprocal_size; + unsigned int offset; + unsigned int cpu_partial; + unsigned int cpu_partial_slabs; + struct kmem_cache_order_objects oo; + struct kmem_cache_order_objects min; + gfp_t allocflags; + int refcount; + void (*ctor)(void *); + unsigned int inuse; + unsigned int align; + unsigned int red_left_pad; + const char *name; + struct list_head list; + struct kobject kobj; + long unsigned int random; + unsigned int remote_node_defrag_ratio; + unsigned int *random_seq; + unsigned int useroffset; + unsigned int usersize; + struct kmem_cache_node *node[1024]; +}; + +struct kmem_cache_args { + unsigned int align; + unsigned int useroffset; + unsigned int usersize; + unsigned int freeptr_offset; + bool use_freeptr_offset; + void (*ctor)(void *); +}; + +struct kmem_cache_cpu { + union { + struct { + void **freelist; + long unsigned int tid; + }; + freelist_aba_t freelist_tid; + }; + struct slab *slab; + struct slab *partial; + local_lock_t lock; +}; + +union kmem_cache_iter_priv { + struct bpf_iter_kmem_cache it; + struct bpf_iter_kmem_cache_kern kit; +}; + +struct kmem_cache_node { + spinlock_t list_lock; + long unsigned int nr_partial; + struct list_head partial; + atomic_long_t nr_slabs; + atomic_long_t total_objects; + struct list_head full; +}; + +struct kmem_obj_info { + void *kp_ptr; + struct slab *kp_slab; + void *kp_objp; + long unsigned int kp_data_offset; + struct kmem_cache *kp_slab_cache; + void *kp_ret; + void *kp_stack[16]; + void *kp_free_stack[16]; +}; + +struct kmmio_fault_page; + +struct kmmio_probe; + +struct kmmio_context { + struct kmmio_fault_page *fpage; + struct kmmio_probe *probe; + long unsigned int saved_flags; + long unsigned int addr; + int active; +}; + +struct kmmio_delayed_release { + struct callback_head rcu; + struct kmmio_fault_page *release_list; +}; + +struct kmmio_fault_page { + struct list_head list; + struct kmmio_fault_page *release_next; + long unsigned int addr; + pteval_t old_presence; + bool armed; + int count; + bool scheduled_for_release; +}; + +typedef void (*kmmio_pre_handler_t)(struct kmmio_probe *, struct pt_regs *, long unsigned int); + +typedef void (*kmmio_post_handler_t)(struct kmmio_probe *, long unsigned int, struct pt_regs *); + +struct kmmio_probe { + struct list_head list; + long unsigned int addr; + long unsigned int len; + kmmio_pre_handler_t pre_handler; + kmmio_post_handler_t post_handler; + void *private; +}; + +struct kmsg_dump_detail { + enum kmsg_dump_reason reason; + const char *description; +}; + +struct kmsg_dump_iter { + u64 cur_seq; + u64 next_seq; +}; + +struct probe; + +struct kobj_map { + struct probe *probes[255]; + struct mutex *lock; +}; + +struct kobj_ns_type_operations { + enum kobj_ns_type type; + bool (*current_may_mount)(void); + void * (*grab_current_ns)(void); + const void * (*netlink_ns)(struct sock *); + const void * (*initial_ns)(void); + void (*drop_ns)(void *); +}; + +struct kparam_array { + unsigned int max; + unsigned int elemsize; + unsigned int *num; + const struct kernel_param_ops *ops; + void *elem; +}; + +struct kparam_string { + unsigned int maxlen; + char *string; +}; + +struct kpp_request; + +struct kpp_alg { + int (*set_secret)(struct crypto_kpp *, const void *, unsigned int); + int (*generate_public_key)(struct kpp_request *); + int (*compute_shared_secret)(struct kpp_request *); + unsigned int (*max_size)(struct crypto_kpp *); + int (*init)(struct crypto_kpp *); + void (*exit)(struct crypto_kpp *); + struct crypto_alg base; +}; + +struct kpp_instance { + void (*free)(struct kpp_instance *); + union { + struct { + char head[48]; + struct crypto_instance base; + } s; + struct kpp_alg alg; + }; +}; + +struct kpp_request { + struct crypto_async_request base; + struct scatterlist *src; + struct scatterlist *dst; + unsigned int src_len; + unsigned int dst_len; + void *__ctx[0]; +}; + +struct kpp_secret { + short unsigned int type; + short unsigned int len; +}; + +typedef int (*kprobe_pre_handler_t)(struct kprobe *, struct pt_regs *); + +typedef void (*kprobe_post_handler_t)(struct kprobe *, struct pt_regs *, long unsigned int); + +struct kprobe { + struct hlist_node hlist; + struct list_head list; + long unsigned int nmissed; + kprobe_opcode_t *addr; + const char *symbol_name; + unsigned int offset; + kprobe_pre_handler_t pre_handler; + kprobe_post_handler_t post_handler; + kprobe_opcode_t opcode; + struct arch_specific_insn ainsn; + u32 flags; +}; + +struct kprobe_blacklist_entry { + struct list_head list; + long unsigned int start_addr; + long unsigned int end_addr; +}; + +struct prev_kprobe { + struct kprobe *kp; + long unsigned int status; + long unsigned int old_flags; + long unsigned int saved_flags; +}; + +struct kprobe_ctlblk { + long unsigned int kprobe_status; + long unsigned int kprobe_old_flags; + long unsigned int kprobe_saved_flags; + struct prev_kprobe prev_kprobe; +}; + +struct kprobe_insn_cache { + struct mutex mutex; + void * (*alloc)(void); + void (*free)(void *); + const char *sym; + struct list_head pages; + size_t insn_size; + int nr_garbage; +}; + +struct kprobe_insn_page { + struct list_head list; + kprobe_opcode_t *insns; + struct kprobe_insn_cache *cache; + int nused; + int ngarbage; + char slot_used[0]; +}; + +struct kprobe_trace_entry_head { + struct trace_entry ent; + long unsigned int ip; +}; + +struct kretprobe_instance; + +typedef int (*kretprobe_handler_t)(struct kretprobe_instance *, struct pt_regs *); + +struct rethook; + +struct kretprobe { + struct kprobe kp; + kretprobe_handler_t handler; + kretprobe_handler_t entry_handler; + int maxactive; + int nmissed; + size_t data_size; + struct rethook *rh; +}; + +struct kretprobe_blackpoint { + const char *name; + void *addr; +}; + +struct rethook_node { + struct callback_head rcu; + struct llist_node llist; + struct rethook *rethook; + long unsigned int ret_addr; + long unsigned int frame; +}; + +struct kretprobe_instance { + struct rethook_node node; + char data[0]; +}; + +struct kretprobe_trace_entry_head { + struct trace_entry ent; + long unsigned int func; + long unsigned int ret_ip; +}; + +struct kset_uevent_ops; + +struct kset { + struct list_head list; + spinlock_t list_lock; + struct kobject kobj; + const struct kset_uevent_ops *uevent_ops; +}; + +struct kset_uevent_ops { + int (* const filter)(const struct kobject *); + const char * (* const name)(const struct kobject *); + int (* const uevent)(const struct kobject *, struct kobj_uevent_env *); +}; + +struct ksignal { + struct k_sigaction ka; + kernel_siginfo_t info; + int sig; +}; + +struct ksm_rmap_item; + +struct ksm_mm_slot { + struct mm_slot slot; + struct ksm_rmap_item *rmap_list; +}; + +struct ksm_next_page_arg { + struct folio *folio; + struct page *page; + long unsigned int addr; +}; + +struct ksm_stable_node; + +struct ksm_rmap_item { + struct ksm_rmap_item *rmap_list; + union { + struct anon_vma *anon_vma; + int nid; + }; + struct mm_struct *mm; + long unsigned int address; + unsigned int oldchecksum; + rmap_age_t age; + rmap_age_t remaining_skips; + union { + struct rb_node node; + struct { + struct ksm_stable_node *head; + struct hlist_node hlist; + }; + }; +}; + +struct ksm_scan { + struct ksm_mm_slot *mm_slot; + long unsigned int address; + struct ksm_rmap_item **rmap_list; + long unsigned int seqnr; +}; + +struct ksm_stable_node { + union { + struct rb_node node; + struct { + struct list_head *head; + struct { + struct hlist_node hlist_dup; + struct list_head list; + }; + }; + }; + struct hlist_head hlist; + union { + long unsigned int kpfn; + long unsigned int chain_prune_time; + }; + int rmap_hlist_len; + int nid; +}; + +struct kstat { + u32 result_mask; + umode_t mode; + unsigned int nlink; + uint32_t blksize; + u64 attributes; + u64 attributes_mask; + u64 ino; + dev_t dev; + dev_t rdev; + kuid_t uid; + kgid_t gid; + loff_t size; + struct timespec64 atime; + struct timespec64 mtime; + struct timespec64 ctime; + struct timespec64 btime; + u64 blocks; + u64 mnt_id; + u64 change_cookie; + u64 subvol; + u32 dio_mem_align; + u32 dio_offset_align; + u32 dio_read_offset_align; + u32 atomic_write_unit_min; + u32 atomic_write_unit_max; + u32 atomic_write_unit_max_opt; + u32 atomic_write_segments_max; +}; + +struct kstatfs { + long int f_type; + long int f_bsize; + u64 f_blocks; + u64 f_bfree; + u64 f_bavail; + u64 f_files; + u64 f_ffree; + __kernel_fsid_t f_fsid; + long int f_namelen; + long int f_frsize; + long int f_flags; + long int f_spare[4]; +}; + +struct seq_file { + char *buf; + size_t size; + size_t from; + size_t count; + size_t pad_until; + loff_t index; + loff_t read_pos; + struct mutex lock; + const struct seq_operations *op; + int poll_event; + const struct file *file; + void *private; +}; + +struct statmount { + __u32 size; + __u32 mnt_opts; + __u64 mask; + __u32 sb_dev_major; + __u32 sb_dev_minor; + __u64 sb_magic; + __u32 sb_flags; + __u32 fs_type; + __u64 mnt_id; + __u64 mnt_parent_id; + __u32 mnt_id_old; + __u32 mnt_parent_id_old; + __u64 mnt_attr; + __u64 mnt_propagation; + __u64 mnt_peer_group; + __u64 mnt_master; + __u64 propagate_from; + __u32 mnt_root; + __u32 mnt_point; + __u64 mnt_ns_id; + __u32 fs_subtype; + __u32 sb_source; + __u32 opt_num; + __u32 opt_array; + __u32 opt_sec_num; + __u32 opt_sec_array; + __u64 supported_mask; + __u32 mnt_uidmap_num; + __u32 mnt_uidmap; + __u32 mnt_gidmap_num; + __u32 mnt_gidmap; + __u64 __spare2[43]; + char str[0]; +}; + +struct kstatmount { + struct statmount *buf; + size_t bufsize; + struct vfsmount *mnt; + struct mnt_idmap *idmap; + u64 mask; + struct path root; + struct seq_file seq; + struct statmount sm; +}; + +struct ktermios { + tcflag_t c_iflag; + tcflag_t c_oflag; + tcflag_t c_cflag; + tcflag_t c_lflag; + cc_t c_line; + cc_t c_cc[19]; + speed_t c_ispeed; + speed_t c_ospeed; +}; + +struct kthread { + long unsigned int flags; + unsigned int cpu; + unsigned int node; + int started; + int result; + int (*threadfn)(void *); + void *data; + struct completion parked; + struct completion exited; + struct cgroup_subsys_state *blkcg_css; + char *full_name; + struct task_struct *task; + struct list_head hotplug_node; + struct cpumask *preferred_affinity; +}; + +struct kthread_create_info { + char *full_name; + int (*threadfn)(void *); + void *data; + int node; + struct task_struct *result; + struct completion *done; + struct list_head list; +}; + +struct kthread_delayed_work { + struct kthread_work work; + struct timer_list timer; +}; + +struct kthread_flush_work { + struct kthread_work work; + struct completion done; +}; + +struct kthread_worker { + unsigned int flags; + raw_spinlock_t lock; + struct list_head work_list; + struct list_head delayed_work_list; + struct task_struct *task; + struct kthread_work *current_work; +}; + +struct kvfree_rcu_bulk_data { + struct list_head list; + struct rcu_gp_oldstate gp_snap; + long unsigned int nr_records; + void *records[0]; +}; + +struct kvm_memslots { + u64 generation; + atomic_long_t last_used_slot; + struct rb_root_cached hva_tree; + struct rb_root gfn_tree; + struct hlist_head id_hash[128]; + int node_idx; +}; + +struct kvm_vm_stat_generic { + u64 remote_tlb_flush; + u64 remote_tlb_flush_requests; +}; + +struct kvm_vm_stat { + struct kvm_vm_stat_generic generic; + u64 mmu_shadow_zapped; + u64 mmu_pte_write; + u64 mmu_pde_zapped; + u64 mmu_flooded; + u64 mmu_recycled; + u64 mmu_cache_miss; + u64 mmu_unsync; + union { + struct { + atomic64_t pages_4k; + atomic64_t pages_2m; + atomic64_t pages_1g; + }; + atomic64_t pages[3]; + }; + u64 nx_lpage_splits; + u64 max_mmu_page_hash_collisions; + u64 max_mmu_rmap_size; +}; + +struct kvm_page_track_notifier_head { + struct srcu_struct track_srcu; + struct hlist_head track_notifier_list; +}; + +struct kvm_pic; + +struct kvm_ioapic; + +struct kvm_pit; + +struct ms_hyperv_tsc_page { + volatile u32 tsc_sequence; + u32 reserved1; + volatile u64 tsc_scale; + volatile s64 tsc_offset; +}; + +struct kvm_hv_syndbg { + struct { + u64 control; + u64 status; + u64 send_page; + u64 recv_page; + u64 pending_page; + } control; + u64 options; +}; + +struct kvm_hv { + struct mutex hv_lock; + u64 hv_guest_os_id; + u64 hv_hypercall; + u64 hv_tsc_page; + enum hv_tsc_page_status hv_tsc_page_status; + u64 hv_crash_param[5]; + u64 hv_crash_ctl; + struct ms_hyperv_tsc_page tsc_ref; + struct idr conn_to_evt; + u64 hv_reenlightenment_control; + u64 hv_tsc_emulation_control; + u64 hv_tsc_emulation_status; + u64 hv_invtsc_control; + atomic_t num_mismatched_vp_indexes; + unsigned int synic_auto_eoi_used; + struct kvm_hv_syndbg hv_syndbg; + bool xsaves_xsavec_checked; +}; + +struct kvm_xen_hvm_config { + __u32 flags; + __u32 msr; + __u64 blob_addr_32; + __u64 blob_addr_64; + __u8 blob_size_32; + __u8 blob_size_64; + __u8 pad2[30]; +}; + +struct kvm_xen { + struct mutex xen_lock; + u32 xen_version; + bool long_mode; + bool runstate_update_flag; + u8 upcall_vector; + struct gfn_to_pfn_cache shinfo_cache; + struct idr evtchn_ports; + long unsigned int poll_mask[64]; + struct kvm_xen_hvm_config hvm_config; +}; + +struct once { + atomic_t state; + struct mutex lock; +}; + +struct kvm_mmu_memory_cache { + gfp_t gfp_zero; + gfp_t gfp_custom; + u64 init_value; + struct kmem_cache *kmem_cache; + int capacity; + int nobjs; + void **objects; +}; + +struct kvm_apic_map; + +struct kvm_x86_msr_filter; + +struct kvm_x86_pmu_event_filter; + +struct vhost_task; + +struct kvm_arch { + long unsigned int n_used_mmu_pages; + long unsigned int n_requested_mmu_pages; + long unsigned int n_max_mmu_pages; + unsigned int indirect_shadow_pages; + u8 mmu_valid_gen; + u8 vm_type; + bool has_private_mem; + bool has_protected_state; + bool pre_fault_allowed; + struct hlist_head *mmu_page_hash; + struct list_head active_mmu_pages; + struct list_head possible_nx_huge_pages; + struct kvm_page_track_notifier_head track_notifier_head; + spinlock_t mmu_unsync_pages_lock; + u64 shadow_mmio_value; + atomic_t noncoherent_dma_count; + long unsigned int nr_possible_bypass_irqs; + struct kvm_pic *vpic; + struct kvm_ioapic *vioapic; + struct kvm_pit *vpit; + atomic_t vapics_in_nmi_mode; + struct mutex apic_map_lock; + struct kvm_apic_map *apic_map; + atomic_t apic_map_dirty; + bool apic_access_memslot_enabled; + bool apic_access_memslot_inhibited; + struct rw_semaphore apicv_update_lock; + long unsigned int apicv_inhibit_reasons; + gpa_t wall_clock; + u64 disabled_exits; + s64 kvmclock_offset; + raw_spinlock_t tsc_write_lock; + u64 last_tsc_nsec; + u64 last_tsc_write; + u32 last_tsc_khz; + u64 last_tsc_offset; + u64 cur_tsc_nsec; + u64 cur_tsc_write; + u64 cur_tsc_offset; + u64 cur_tsc_generation; + int nr_vcpus_matched_tsc; + u32 default_tsc_khz; + bool user_set_tsc; + u64 apic_bus_cycle_ns; + seqcount_raw_spinlock_t pvclock_sc; + bool use_master_clock; + u64 master_kernel_ns; + u64 master_cycle_now; + struct delayed_work kvmclock_update_work; + struct delayed_work kvmclock_sync_work; + struct kvm_hv hyperv; + struct kvm_xen xen; + bool backwards_tsc_observed; + bool boot_vcpu_runs_old_kvmclock; + u32 bsp_vcpu_id; + u64 disabled_quirks; + enum kvm_irqchip_mode irqchip_mode; + u8 nr_reserved_ioapic_pins; + bool disabled_lapic_found; + bool x2apic_format; + bool x2apic_broadcast_quirk_disabled; + bool has_mapped_host_mmio; + bool guest_can_read_msr_platform_info; + bool exception_payload_enabled; + bool triple_fault_event; + bool bus_lock_detection_enabled; + bool enable_pmu; + u32 notify_window; + u32 notify_vmexit_flags; + bool exit_on_emulation_error; + u32 user_space_msr_mask; + struct kvm_x86_msr_filter *msr_filter; + u32 hypercall_exit_enabled; + bool sgx_provisioning_allowed; + struct kvm_x86_pmu_event_filter *pmu_event_filter; + struct vhost_task *nx_huge_page_recovery_thread; + u64 nx_huge_page_last; + struct once nx_once; + struct list_head tdp_mmu_roots; + spinlock_t tdp_mmu_pages_lock; + bool shadow_root_allocated; + bool external_write_tracking_enabled; + hpa_t hv_root_tdp; + spinlock_t hv_root_tdp_lock; + struct hv_partition_assist_pg *hv_pa_pg; + u32 max_vcpu_ids; + bool disable_nx_huge_pages; + struct kvm_mmu_memory_cache split_shadow_page_cache; + struct kvm_mmu_memory_cache split_page_header_cache; + struct kvm_mmu_memory_cache split_desc_cache; + gfn_t gfn_direct_bits; + int cpu_dirty_log_size; +}; + +struct kvm_io_bus; + +struct kvm_coalesced_mmio_ring; + +struct kvm_irq_routing_table; + +struct kvm_stat_data; + +struct kvm { + rwlock_t mmu_lock; + struct mutex slots_lock; + struct mutex slots_arch_lock; + struct mm_struct *mm; + long unsigned int nr_memslot_pages; + struct kvm_memslots __memslots[4]; + struct kvm_memslots *memslots[2]; + struct xarray vcpu_array; + atomic_t nr_memslots_dirty_logging; + spinlock_t mn_invalidate_lock; + long unsigned int mn_active_invalidate_count; + struct rcuwait mn_memslots_update_rcuwait; + spinlock_t gpc_lock; + struct list_head gpc_list; + atomic_t online_vcpus; + int max_vcpus; + int created_vcpus; + int last_boosted_vcpu; + struct list_head vm_list; + struct mutex lock; + struct kvm_io_bus *buses[5]; + struct { + spinlock_t lock; + struct list_head items; + struct list_head resampler_list; + struct mutex resampler_lock; + } irqfds; + struct list_head ioeventfds; + struct kvm_vm_stat stat; + struct kvm_arch arch; + refcount_t users_count; + struct kvm_coalesced_mmio_ring *coalesced_mmio_ring; + spinlock_t ring_lock; + struct list_head coalesced_zones; + struct mutex irq_lock; + struct kvm_irq_routing_table *irq_routing; + struct hlist_head irq_ack_notifier_list; + struct mmu_notifier mmu_notifier; + long unsigned int mmu_invalidate_seq; + long int mmu_invalidate_in_progress; + gfn_t mmu_invalidate_range_start; + gfn_t mmu_invalidate_range_end; + struct list_head devices; + u64 manual_dirty_log_protect; + struct dentry *debugfs_dentry; + struct kvm_stat_data **debugfs_stat_data; + struct srcu_struct srcu; + struct srcu_struct irq_srcu; + pid_t userspace_pid; + bool override_halt_poll_ns; + unsigned int max_halt_poll_ns; + u32 dirty_ring_size; + bool dirty_ring_with_bitmap; + bool vm_bugged; + bool vm_dead; + struct notifier_block pm_notifier; + struct xarray mem_attr_array; + char stats_id[48]; +}; + +struct kvm_lapic; + +struct kvm_apic_map { + struct callback_head rcu; + enum kvm_apic_logical_mode logical_mode; + u32 max_apic_id; + union { + struct kvm_lapic *xapic_flat_map[8]; + struct kvm_lapic *xapic_cluster_map[64]; + }; + struct kvm_lapic *phys_map[0]; +}; + +struct kvm_rmap_head; + +struct kvm_lpage_info; + +struct kvm_arch_memory_slot { + struct kvm_rmap_head *rmap[3]; + struct kvm_lpage_info *lpage_info[2]; + short unsigned int *gfn_write_track; +}; + +struct kvm_coalesced_mmio { + __u64 phys_addr; + __u32 len; + union { + __u32 pad; + __u32 pio; + }; + __u8 data[8]; +}; + +struct kvm_coalesced_mmio_ring { + __u32 first; + __u32 last; + struct kvm_coalesced_mmio coalesced_mmio[0]; +}; + +union kvm_mmu_page_role { + u32 word; + struct { + unsigned int level: 4; + unsigned int has_4_byte_gpte: 1; + unsigned int quadrant: 2; + unsigned int direct: 1; + unsigned int access: 3; + unsigned int invalid: 1; + unsigned int efer_nx: 1; + unsigned int cr0_wp: 1; + unsigned int smep_andnot_wp: 1; + unsigned int smap_andnot_wp: 1; + unsigned int ad_disabled: 1; + unsigned int guest_mode: 1; + unsigned int passthrough: 1; + unsigned int is_mirror: 1; + char: 4; + unsigned int smm: 8; + }; +}; + +union kvm_mmu_extended_role { + u32 word; + struct { + unsigned int valid: 1; + unsigned int execonly: 1; + unsigned int cr4_pse: 1; + unsigned int cr4_pke: 1; + unsigned int cr4_smap: 1; + unsigned int cr4_smep: 1; + unsigned int cr4_la57: 1; + unsigned int efer_lma: 1; + }; +}; + +union kvm_cpu_role { + u64 as_u64; + struct { + union kvm_mmu_page_role base; + union kvm_mmu_extended_role ext; + }; +}; + +struct kvm_cpuid_entry2 { + __u32 function; + __u32 index; + __u32 flags; + __u32 eax; + __u32 ebx; + __u32 ecx; + __u32 edx; + __u32 padding[3]; +}; + +struct kvm_debug_exit_arch { + __u32 exception; + __u32 pad; + __u64 pc; + __u64 dr6; + __u64 dr7; +}; + +struct kvm_dirty_gfn { + __u32 flags; + __u32 slot; + __u64 offset; +}; + +struct kvm_dirty_ring { + u32 dirty_index; + u32 reset_index; + u32 size; + u32 soft_limit; + struct kvm_dirty_gfn *dirty_gfns; + int index; +}; + +struct kvm_dtable { + __u64 base; + __u16 limit; + __u16 padding[3]; +}; + +struct kvm_enc_region { + __u64 addr; + __u64 size; +}; + +struct kvm_hyperv_exit { + __u32 type; + __u32 pad1; + union { + struct { + __u32 msr; + __u32 pad2; + __u64 control; + __u64 evt_page; + __u64 msg_page; + } synic; + struct { + __u64 input; + __u64 result; + __u64 params[2]; + } hcall; + struct { + __u32 msr; + __u32 pad2; + __u64 control; + __u64 status; + __u64 send_page; + __u64 recv_page; + __u64 pending_page; + } syndbg; + } u; +}; + +struct kvm_hypervisor_cpuid { + u32 base; + u32 limit; +}; + +struct kvm_io_device; + +struct kvm_io_range { + gpa_t addr; + int len; + struct kvm_io_device *dev; +}; + +struct kvm_io_bus { + int dev_count; + int ioeventfd_count; + struct kvm_io_range range[0]; +}; + +struct kvm_irq_routing_table { + int chip[72]; + u32 nr_rt_entries; + struct hlist_head map[0]; +}; + +struct kvm_lpage_info { + int disallow_lpage; +}; + +struct kvm_memory_slot { + struct hlist_node id_node[2]; + struct interval_tree_node hva_node[2]; + struct rb_node gfn_node[2]; + gfn_t base_gfn; + long unsigned int npages; + long unsigned int *dirty_bitmap; + struct kvm_arch_memory_slot arch; + long unsigned int userspace_addr; + u32 flags; + short int id; + u16 as_id; + struct { + struct file *file; + long unsigned int pgoff; + } gmem; +}; + +struct kvm_mmio_fragment { + gpa_t gpa; + void *data; + unsigned int len; +}; + +struct kvm_page_fault; + +struct x86_exception; + +struct kvm_mmu_page; + +struct kvm_mmu_root_info { + gpa_t pgd; + hpa_t hpa; +}; + +struct rsvd_bits_validate { + u64 rsvd_bits_mask[10]; + u64 bad_mt_xwr; +}; + +struct kvm_vcpu; + +struct kvm_mmu { + long unsigned int (*get_guest_pgd)(struct kvm_vcpu *); + u64 (*get_pdptr)(struct kvm_vcpu *, int); + int (*page_fault)(struct kvm_vcpu *, struct kvm_page_fault *); + void (*inject_page_fault)(struct kvm_vcpu *, struct x86_exception *); + gpa_t (*gva_to_gpa)(struct kvm_vcpu *, struct kvm_mmu *, gpa_t, u64, struct x86_exception *); + int (*sync_spte)(struct kvm_vcpu *, struct kvm_mmu_page *, int); + struct kvm_mmu_root_info root; + hpa_t mirror_root_hpa; + union kvm_cpu_role cpu_role; + union kvm_mmu_page_role root_role; + u32 pkru_mask; + struct kvm_mmu_root_info prev_roots[3]; + u8 permissions[16]; + u64 *pae_root; + u64 *pml4_root; + u64 *pml5_root; + struct rsvd_bits_validate shadow_zero_check; + struct rsvd_bits_validate guest_rsvd_check; + u64 pdptrs[4]; +}; + +struct kvm_mtrr { + u64 var[16]; + u64 fixed_64k; + u64 fixed_16k[2]; + u64 fixed_4k[8]; + u64 deftype; +}; + +struct kvm_vmx_nested_state_hdr { + __u64 vmxon_pa; + __u64 vmcs12_pa; + struct { + __u16 flags; + } smm; + __u16 pad; + __u32 flags; + __u64 preemption_timer_deadline; +}; + +struct kvm_svm_nested_state_hdr { + __u64 vmcb_pa; +}; + +struct kvm_vmx_nested_state_data { + __u8 vmcs12[4096]; + __u8 shadow_vmcs12[4096]; +}; + +struct kvm_svm_nested_state_data { + __u8 vmcb12[4096]; +}; + +struct kvm_nested_state { + __u16 flags; + __u16 format; + __u32 size; + union { + struct kvm_vmx_nested_state_hdr vmx; + struct kvm_svm_nested_state_hdr svm; + __u8 pad[120]; + } hdr; + union { + struct { + struct {} __empty_vmx; + struct kvm_vmx_nested_state_data vmx[0]; + }; + struct { + struct {} __empty_svm; + struct kvm_svm_nested_state_data svm[0]; + }; + } data; +}; + +struct kvm_pio_request { + long unsigned int count; + int in; + int port; + int size; +}; + +struct kvm_pmc { + enum pmc_type type; + u8 idx; + bool is_paused; + bool intr; + u64 counter; + u64 emulated_counter; + u64 eventsel; + struct perf_event *perf_event; + struct kvm_vcpu *vcpu; + u64 current_config; +}; + +struct kvm_pmu { + u8 version; + unsigned int nr_arch_gp_counters; + unsigned int nr_arch_fixed_counters; + unsigned int available_event_types; + u64 fixed_ctr_ctrl; + u64 fixed_ctr_ctrl_rsvd; + u64 global_ctrl; + u64 global_status; + u64 counter_bitmask[2]; + u64 global_ctrl_rsvd; + u64 global_status_rsvd; + u64 reserved_bits; + u64 raw_event_mask; + struct kvm_pmc gp_counters[8]; + struct kvm_pmc fixed_counters[3]; + union { + long unsigned int reprogram_pmi[1]; + atomic64_t __reprogram_pmi; + }; + long unsigned int all_valid_pmc_idx[1]; + long unsigned int pmc_in_use[1]; + u64 ds_area; + u64 pebs_enable; + u64 pebs_enable_rsvd; + u64 pebs_data_cfg; + u64 pebs_data_cfg_rsvd; + u64 host_cross_mapped_mask; + bool need_cleanup; + u8 event_count; +}; + +struct kvm_queued_exception { + bool pending; + bool injected; + bool has_error_code; + u8 vector; + u32 error_code; + long unsigned int payload; + bool has_payload; +}; + +struct kvm_queued_interrupt { + bool injected; + bool soft; + u8 nr; +}; + +struct kvm_regs { + __u64 rax; + __u64 rbx; + __u64 rcx; + __u64 rdx; + __u64 rsi; + __u64 rdi; + __u64 rsp; + __u64 rbp; + __u64 r8; + __u64 r9; + __u64 r10; + __u64 r11; + __u64 r12; + __u64 r13; + __u64 r14; + __u64 r15; + __u64 rip; + __u64 rflags; +}; + +struct kvm_rmap_head { + atomic_long_t val; +}; + +struct kvm_xen_exit { + __u32 type; + union { + struct { + __u32 longmode; + __u32 cpl; + __u64 input; + __u64 result; + __u64 params[6]; + } hcall; + } u; +}; + +struct kvm_segment { + __u64 base; + __u32 limit; + __u16 selector; + __u8 type; + __u8 present; + __u8 dpl; + __u8 db; + __u8 s; + __u8 l; + __u8 g; + __u8 avl; + __u8 unusable; + __u8 padding; +}; + +struct kvm_sregs { + struct kvm_segment cs; + struct kvm_segment ds; + struct kvm_segment es; + struct kvm_segment fs; + struct kvm_segment gs; + struct kvm_segment ss; + struct kvm_segment tr; + struct kvm_segment ldt; + struct kvm_dtable gdt; + struct kvm_dtable idt; + __u64 cr0; + __u64 cr2; + __u64 cr3; + __u64 cr4; + __u64 cr8; + __u64 efer; + __u64 apic_base; + __u64 interrupt_bitmap[4]; +}; + +struct kvm_vcpu_events { + struct { + __u8 injected; + __u8 nr; + __u8 has_error_code; + __u8 pending; + __u32 error_code; + } exception; + struct { + __u8 injected; + __u8 nr; + __u8 soft; + __u8 shadow; + } interrupt; + struct { + __u8 injected; + __u8 pending; + __u8 masked; + __u8 pad; + } nmi; + __u32 sipi_vector; + __u32 flags; + struct { + __u8 smm; + __u8 pending; + __u8 smm_inside_nmi; + __u8 latched_init; + } smi; + struct { + __u8 pending; + } triple_fault; + __u8 reserved[26]; + __u8 exception_has_payload; + __u64 exception_payload; +}; + +struct kvm_sync_regs { + struct kvm_regs regs; + struct kvm_sregs sregs; + struct kvm_vcpu_events events; +}; + +struct kvm_run { + __u8 request_interrupt_window; + __u8 immediate_exit__unsafe; + __u8 padding1[6]; + __u32 exit_reason; + __u8 ready_for_interrupt_injection; + __u8 if_flag; + __u16 flags; + __u64 cr8; + __u64 apic_base; + union { + struct { + __u64 hardware_exit_reason; + } hw; + struct { + __u64 hardware_entry_failure_reason; + __u32 cpu; + } fail_entry; + struct { + __u32 exception; + __u32 error_code; + } ex; + struct { + __u8 direction; + __u8 size; + __u16 port; + __u32 count; + __u64 data_offset; + } io; + struct { + struct kvm_debug_exit_arch arch; + } debug; + struct { + __u64 phys_addr; + __u8 data[8]; + __u32 len; + __u8 is_write; + } mmio; + struct { + __u64 phys_addr; + __u8 data[8]; + __u32 len; + __u8 is_write; + } iocsr_io; + struct { + __u64 nr; + __u64 args[6]; + __u64 ret; + union { + __u64 flags; + }; + } hypercall; + struct { + __u64 rip; + __u32 is_write; + __u32 pad; + } tpr_access; + struct { + __u8 icptcode; + __u16 ipa; + __u32 ipb; + } s390_sieic; + __u64 s390_reset_flags; + struct { + __u64 trans_exc_code; + __u32 pgm_code; + } s390_ucontrol; + struct { + __u32 dcrn; + __u32 data; + __u8 is_write; + } dcr; + struct { + __u32 suberror; + __u32 ndata; + __u64 data[16]; + } internal; + struct { + __u32 suberror; + __u32 ndata; + __u64 flags; + union { + struct { + __u8 insn_size; + __u8 insn_bytes[15]; + }; + }; + } emulation_failure; + struct { + __u64 gprs[32]; + } osi; + struct { + __u64 nr; + __u64 ret; + __u64 args[9]; + } papr_hcall; + struct { + __u16 subchannel_id; + __u16 subchannel_nr; + __u32 io_int_parm; + __u32 io_int_word; + __u32 ipb; + __u8 dequeued; + } s390_tsch; + struct { + __u32 epr; + } epr; + struct { + __u32 type; + __u32 ndata; + union { + __u64 data[16]; + }; + } system_event; + struct { + __u64 addr; + __u8 ar; + __u8 reserved; + __u8 fc; + __u8 sel1; + __u16 sel2; + } s390_stsi; + struct { + __u8 vector; + } eoi; + struct kvm_hyperv_exit hyperv; + struct { + __u64 esr_iss; + __u64 fault_ipa; + } arm_nisv; + struct { + __u8 error; + __u8 pad[7]; + __u32 reason; + __u32 index; + __u64 data; + } msr; + struct kvm_xen_exit xen; + struct { + long unsigned int extension_id; + long unsigned int function_id; + long unsigned int args[6]; + long unsigned int ret[2]; + } riscv_sbi; + struct { + long unsigned int csr_num; + long unsigned int new_value; + long unsigned int write_mask; + long unsigned int ret_value; + } riscv_csr; + struct { + __u32 flags; + } notify; + struct { + __u64 flags; + __u64 gpa; + __u64 size; + } memory_fault; + struct { + __u64 flags; + __u64 nr; + union { + struct { + __u64 ret; + __u64 data[5]; + } unknown; + struct { + __u64 ret; + __u64 gpa; + __u64 size; + } get_quote; + struct { + __u64 ret; + __u64 leaf; + __u64 r11; + __u64 r12; + __u64 r13; + __u64 r14; + } get_tdvmcall_info; + struct { + __u64 ret; + __u64 vector; + } setup_event_notify; + }; + } tdx; + char padding[256]; + }; + __u64 kvm_valid_regs; + __u64 kvm_dirty_regs; + union { + struct kvm_sync_regs regs; + char padding[2048]; + } s; +}; + +struct kvm_stat_data { + struct kvm *kvm; + const struct _kvm_stats_desc *desc; + enum kvm_stat_kind kind; +}; + +struct kvm_steal_time { + __u64 steal; + __u32 version; + __u32 flags; + __u8 preempted; + __u8 u8_pad[3]; + __u32 pad[11]; +}; + +struct kvm_task_sleep_head { + raw_spinlock_t lock; + struct hlist_head list; +}; + +struct kvm_task_sleep_node { + struct hlist_node link; + struct swait_queue_head wq; + u32 token; + int cpu; +}; + +struct preempt_ops; + +struct preempt_notifier { + struct hlist_node link; + struct preempt_ops *ops; +}; + +struct x86_emulate_ctxt; + +struct kvm_vcpu_xen { + u64 hypercall_rip; + u32 current_runstate; + u8 upcall_vector; + struct gfn_to_pfn_cache vcpu_info_cache; + struct gfn_to_pfn_cache vcpu_time_info_cache; + struct gfn_to_pfn_cache runstate_cache; + struct gfn_to_pfn_cache runstate2_cache; + u64 last_steal; + u64 runstate_entry_time; + u64 runstate_times[4]; + long unsigned int evtchn_pending_sel; + u32 vcpu_id; + u32 timer_virq; + u64 timer_expires; + atomic_t timer_pending; + struct hrtimer timer; + int poll_evtchn; + struct timer_list poll_timer; + struct kvm_hypervisor_cpuid cpuid; +}; + +struct kvm_vcpu_hv; + +struct kvm_vcpu_arch { + long unsigned int regs[17]; + u32 regs_avail; + u32 regs_dirty; + long unsigned int cr0; + long unsigned int cr0_guest_owned_bits; + long unsigned int cr2; + long unsigned int cr3; + long unsigned int cr4; + long unsigned int cr4_guest_owned_bits; + long unsigned int cr4_guest_rsvd_bits; + long unsigned int cr8; + u32 host_pkru; + u32 pkru; + u32 hflags; + u64 efer; + u64 host_debugctl; + u64 apic_base; + struct kvm_lapic *apic; + bool load_eoi_exitmap_pending; + long unsigned int ioapic_handled_vectors[4]; + long unsigned int apic_attention; + int32_t apic_arb_prio; + int mp_state; + u64 ia32_misc_enable_msr; + u64 smbase; + u64 smi_count; + bool at_instruction_boundary; + bool tpr_access_reporting; + bool xfd_no_write_intercept; + u64 ia32_xss; + u64 microcode_version; + u64 arch_capabilities; + u64 perf_capabilities; + struct kvm_mmu *mmu; + struct kvm_mmu root_mmu; + struct kvm_mmu guest_mmu; + struct kvm_mmu nested_mmu; + struct kvm_mmu *walk_mmu; + struct kvm_mmu_memory_cache mmu_pte_list_desc_cache; + struct kvm_mmu_memory_cache mmu_shadow_page_cache; + struct kvm_mmu_memory_cache mmu_shadowed_info_cache; + struct kvm_mmu_memory_cache mmu_page_header_cache; + struct kvm_mmu_memory_cache mmu_external_spt_cache; + struct fpu_guest guest_fpu; + u64 xcr0; + u64 guest_supported_xcr0; + struct kvm_pio_request pio; + void *pio_data; + void *sev_pio_data; + unsigned int sev_pio_count; + u8 event_exit_inst_len; + bool exception_from_userspace; + struct kvm_queued_exception exception; + struct kvm_queued_exception exception_vmexit; + struct kvm_queued_interrupt interrupt; + int halt_request; + int cpuid_nent; + struct kvm_cpuid_entry2 *cpuid_entries; + bool cpuid_dynamic_bits_dirty; + bool is_amd_compatible; + u32 cpu_caps[29]; + u64 reserved_gpa_bits; + int maxphyaddr; + struct x86_emulate_ctxt *emulate_ctxt; + bool emulate_regs_need_sync_to_vcpu; + bool emulate_regs_need_sync_from_vcpu; + int (*complete_userspace_io)(struct kvm_vcpu *); + long unsigned int cui_linear_rip; + int cui_rdmsr_imm_reg; + gpa_t time; + s8 pvclock_tsc_shift; + u32 pvclock_tsc_mul; + unsigned int hw_tsc_khz; + struct gfn_to_pfn_cache pv_time; + bool pvclock_set_guest_stopped_request; + struct { + u8 preempted; + u64 msr_val; + u64 last_steal; + struct gfn_to_hva_cache cache; + } st; + u64 l1_tsc_offset; + u64 tsc_offset; + u64 last_guest_tsc; + u64 last_host_tsc; + u64 tsc_offset_adjustment; + u64 this_tsc_nsec; + u64 this_tsc_write; + u64 this_tsc_generation; + bool tsc_catchup; + bool tsc_always_catchup; + s8 virtual_tsc_shift; + u32 virtual_tsc_mult; + u32 virtual_tsc_khz; + s64 ia32_tsc_adjust_msr; + u64 msr_ia32_power_ctl; + u64 l1_tsc_scaling_ratio; + u64 tsc_scaling_ratio; + atomic_t nmi_queued; + unsigned int nmi_pending; + bool nmi_injected; + bool smi_pending; + u8 handling_intr_from_guest; + struct kvm_mtrr mtrr_state; + u64 pat; + unsigned int switch_db_regs; + long unsigned int db[4]; + long unsigned int dr6; + long unsigned int dr7; + long unsigned int eff_db[4]; + long unsigned int guest_debug_dr7; + u64 msr_platform_info; + u64 msr_misc_features_enables; + u64 mcg_cap; + u64 mcg_status; + u64 mcg_ctl; + u64 mcg_ext_ctl; + u64 *mce_banks; + u64 *mci_ctl2_banks; + u64 mmio_gva; + unsigned int mmio_access; + gfn_t mmio_gfn; + u64 mmio_gen; + struct kvm_pmu pmu; + long unsigned int singlestep_rip; + bool hyperv_enabled; + struct kvm_vcpu_hv *hyperv; + struct kvm_vcpu_xen xen; + cpumask_var_t wbinvd_dirty_mask; + long unsigned int last_retry_eip; + long unsigned int last_retry_addr; + struct { + bool halted; + gfn_t gfns[64]; + struct gfn_to_hva_cache data; + u64 msr_en_val; + u64 msr_int_val; + u16 vec; + u32 id; + u32 host_apf_flags; + bool send_always; + bool delivery_as_pf_vmexit; + bool pageready_pending; + } apf; + struct { + u64 length; + u64 status; + } osvw; + struct { + u64 msr_val; + struct gfn_to_hva_cache data; + } pv_eoi; + u64 msr_kvm_poll_control; + struct { + bool pv_unhalted; + } pv; + int pending_ioapic_eoi; + int pending_external_vector; + int highest_stale_pending_ioapic_eoi; + bool preempted_in_kernel; + bool l1tf_flush_l1d; + int last_vmentry_cpu; + u64 msr_hwcr; + struct { + u32 features; + bool enforce; + } pv_cpuid; + bool guest_state_protected; + bool guest_tsc_protected; + bool pdptrs_from_userspace; + hpa_t hv_root_tdp; +}; + +struct kvm_vcpu_stat_generic { + u64 halt_successful_poll; + u64 halt_attempted_poll; + u64 halt_poll_invalid; + u64 halt_wakeup; + u64 halt_poll_success_ns; + u64 halt_poll_fail_ns; + u64 halt_wait_ns; + u64 halt_poll_success_hist[32]; + u64 halt_poll_fail_hist[32]; + u64 halt_wait_hist[32]; + u64 blocking; +}; + +struct kvm_vcpu_stat { + struct kvm_vcpu_stat_generic generic; + u64 pf_taken; + u64 pf_fixed; + u64 pf_emulate; + u64 pf_spurious; + u64 pf_fast; + u64 pf_mmio_spte_created; + u64 pf_guest; + u64 tlb_flush; + u64 invlpg; + u64 exits; + u64 io_exits; + u64 mmio_exits; + u64 signal_exits; + u64 irq_window_exits; + u64 nmi_window_exits; + u64 l1d_flush; + u64 halt_exits; + u64 request_irq_exits; + u64 irq_exits; + u64 host_state_reload; + u64 fpu_reload; + u64 insn_emulation; + u64 insn_emulation_fail; + u64 hypercalls; + u64 irq_injections; + u64 nmi_injections; + u64 req_event; + u64 nested_run; + u64 directed_yield_attempted; + u64 directed_yield_successful; + u64 preemption_reported; + u64 preemption_other; + u64 guest_mode; + u64 notify_window_exits; +}; + +struct kvm_vcpu { + struct kvm *kvm; + struct preempt_notifier preempt_notifier; + int cpu; + int vcpu_id; + int vcpu_idx; + int ____srcu_idx; + int mode; + u64 requests; + long unsigned int guest_debug; + struct mutex mutex; + struct kvm_run *run; + struct rcuwait wait; + struct pid *pid; + rwlock_t pid_lock; + int sigset_active; + sigset_t sigset; + unsigned int halt_poll_ns; + bool valid_wakeup; + int mmio_needed; + int mmio_read_completed; + int mmio_is_write; + int mmio_cur_fragment; + int mmio_nr_fragments; + struct kvm_mmio_fragment mmio_fragments[2]; + struct { + u32 queued; + struct list_head queue; + struct list_head done; + spinlock_t lock; + } async_pf; + struct { + bool in_spin_loop; + bool dy_eligible; + } spin_loop; + bool wants_to_run; + bool preempted; + bool ready; + bool scheduled_out; + struct kvm_vcpu_arch arch; + struct kvm_vcpu_stat stat; + char stats_id[48]; + struct kvm_dirty_ring dirty_ring; + struct kvm_memory_slot *last_used_slot; + u64 last_used_slot_gen; +}; + +struct kvm_vcpu_hv_synic { + u64 version; + u64 control; + u64 msg_page; + u64 evt_page; + atomic64_t sint[16]; + atomic_t sint_to_gsi[16]; + long unsigned int auto_eoi_bitmap[4]; + long unsigned int vec_bitmap[4]; + bool active; + bool dont_zero_synic_pages; +}; + +struct kvm_vcpu_hv_stimer { + struct hrtimer timer; + int index; + union hv_stimer_config config; + u64 count; + u64 exp_time; + struct hv_message msg; + bool msg_pending; +}; + +struct kvm_vcpu_hv_tlb_flush_fifo { + spinlock_t write_lock; + struct { + union { + struct __kfifo kfifo; + u64 *type; + const u64 *const_type; + char (*rectype)[0]; + u64 *ptr; + const u64 *ptr_const; + }; + u64 buf[16]; + } entries; +}; + +struct kvm_vcpu_hv { + struct kvm_vcpu *vcpu; + u32 vp_index; + u64 hv_vapic; + s64 runtime_offset; + struct kvm_vcpu_hv_synic synic; + struct kvm_hyperv_exit exit; + struct kvm_vcpu_hv_stimer stimer[4]; + long unsigned int stimer_pending_bitmap[1]; + bool enforce_cpuid; + struct { + u32 features_eax; + u32 features_ebx; + u32 features_edx; + u32 enlightenments_eax; + u32 enlightenments_ebx; + u32 syndbg_cap_eax; + u32 nested_eax; + u32 nested_ebx; + } cpuid_cache; + struct kvm_vcpu_hv_tlb_flush_fifo tlb_flush_fifo[2]; + u64 sparse_banks[64]; + long unsigned int vcpu_mask[64]; + struct hv_vp_assist_page vp_assist_page; + struct { + u64 pa_page_gpa; + u64 vm_id; + u32 vp_id; + } nested; +}; + +struct kvm_vcpu_pv_apf_data { + __u32 flags; + __u32 token; + __u8 pad[56]; +}; + +struct msr_bitmap_range { + u32 flags; + u32 nmsrs; + u32 base; + long unsigned int *bitmap; +}; + +struct kvm_x86_msr_filter { + u8 count; + bool default_allow: 1; + struct msr_bitmap_range ranges[16]; +}; + +struct kvm_x86_nested_ops { + void (*leave_nested)(struct kvm_vcpu *); + bool (*is_exception_vmexit)(struct kvm_vcpu *, u8, u32); + int (*check_events)(struct kvm_vcpu *); + bool (*has_events)(struct kvm_vcpu *, bool); + void (*triple_fault)(struct kvm_vcpu *); + int (*get_state)(struct kvm_vcpu *, struct kvm_nested_state *, unsigned int); + int (*set_state)(struct kvm_vcpu *, struct kvm_nested_state *, struct kvm_nested_state *); + bool (*get_nested_state_pages)(struct kvm_vcpu *); + int (*write_log_dirty)(struct kvm_vcpu *, gpa_t); + int (*enable_evmcs)(struct kvm_vcpu *, uint16_t *); + uint16_t (*get_evmcs_version)(struct kvm_vcpu *); + void (*hv_inject_synthetic_vmexit_post_tlb_flush)(struct kvm_vcpu *); +}; + +typedef void cpu_emergency_virt_cb(void); + +struct x86_instruction_info; + +struct kvm_kernel_irqfd; + +union kvm_smram; + +struct msr_data; + +struct kvm_x86_ops { + const char *name; + int (*check_processor_compatibility)(void); + int (*enable_virtualization_cpu)(void); + void (*disable_virtualization_cpu)(void); + cpu_emergency_virt_cb *emergency_disable_virtualization_cpu; + void (*hardware_unsetup)(void); + bool (*has_emulated_msr)(struct kvm *, u32); + void (*vcpu_after_set_cpuid)(struct kvm_vcpu *); + unsigned int vm_size; + int (*vm_init)(struct kvm *); + void (*vm_destroy)(struct kvm *); + void (*vm_pre_destroy)(struct kvm *); + int (*vcpu_precreate)(struct kvm *); + int (*vcpu_create)(struct kvm_vcpu *); + void (*vcpu_free)(struct kvm_vcpu *); + void (*vcpu_reset)(struct kvm_vcpu *, bool); + void (*prepare_switch_to_guest)(struct kvm_vcpu *); + void (*vcpu_load)(struct kvm_vcpu *, int); + void (*vcpu_put)(struct kvm_vcpu *); + const u64 HOST_OWNED_DEBUGCTL; + void (*update_exception_bitmap)(struct kvm_vcpu *); + int (*get_msr)(struct kvm_vcpu *, struct msr_data *); + int (*set_msr)(struct kvm_vcpu *, struct msr_data *); + u64 (*get_segment_base)(struct kvm_vcpu *, int); + void (*get_segment)(struct kvm_vcpu *, struct kvm_segment *, int); + int (*get_cpl)(struct kvm_vcpu *); + int (*get_cpl_no_cache)(struct kvm_vcpu *); + void (*set_segment)(struct kvm_vcpu *, struct kvm_segment *, int); + void (*get_cs_db_l_bits)(struct kvm_vcpu *, int *, int *); + bool (*is_valid_cr0)(struct kvm_vcpu *, long unsigned int); + void (*set_cr0)(struct kvm_vcpu *, long unsigned int); + void (*post_set_cr3)(struct kvm_vcpu *, long unsigned int); + bool (*is_valid_cr4)(struct kvm_vcpu *, long unsigned int); + void (*set_cr4)(struct kvm_vcpu *, long unsigned int); + int (*set_efer)(struct kvm_vcpu *, u64); + void (*get_idt)(struct kvm_vcpu *, struct desc_ptr *); + void (*set_idt)(struct kvm_vcpu *, struct desc_ptr *); + void (*get_gdt)(struct kvm_vcpu *, struct desc_ptr *); + void (*set_gdt)(struct kvm_vcpu *, struct desc_ptr *); + void (*sync_dirty_debug_regs)(struct kvm_vcpu *); + void (*set_dr7)(struct kvm_vcpu *, long unsigned int); + void (*cache_reg)(struct kvm_vcpu *, enum kvm_reg); + long unsigned int (*get_rflags)(struct kvm_vcpu *); + void (*set_rflags)(struct kvm_vcpu *, long unsigned int); + bool (*get_if_flag)(struct kvm_vcpu *); + void (*flush_tlb_all)(struct kvm_vcpu *); + void (*flush_tlb_current)(struct kvm_vcpu *); + int (*flush_remote_tlbs)(struct kvm *); + int (*flush_remote_tlbs_range)(struct kvm *, gfn_t, gfn_t); + void (*flush_tlb_gva)(struct kvm_vcpu *, gva_t); + void (*flush_tlb_guest)(struct kvm_vcpu *); + int (*vcpu_pre_run)(struct kvm_vcpu *); + enum exit_fastpath_completion (*vcpu_run)(struct kvm_vcpu *, u64); + int (*handle_exit)(struct kvm_vcpu *, enum exit_fastpath_completion); + int (*skip_emulated_instruction)(struct kvm_vcpu *); + void (*update_emulated_instruction)(struct kvm_vcpu *); + void (*set_interrupt_shadow)(struct kvm_vcpu *, int); + u32 (*get_interrupt_shadow)(struct kvm_vcpu *); + void (*patch_hypercall)(struct kvm_vcpu *, unsigned char *); + void (*inject_irq)(struct kvm_vcpu *, bool); + void (*inject_nmi)(struct kvm_vcpu *); + void (*inject_exception)(struct kvm_vcpu *); + void (*cancel_injection)(struct kvm_vcpu *); + int (*interrupt_allowed)(struct kvm_vcpu *, bool); + int (*nmi_allowed)(struct kvm_vcpu *, bool); + bool (*get_nmi_mask)(struct kvm_vcpu *); + void (*set_nmi_mask)(struct kvm_vcpu *, bool); + bool (*is_vnmi_pending)(struct kvm_vcpu *); + bool (*set_vnmi_pending)(struct kvm_vcpu *); + void (*enable_nmi_window)(struct kvm_vcpu *); + void (*enable_irq_window)(struct kvm_vcpu *); + void (*update_cr8_intercept)(struct kvm_vcpu *, int, int); + const bool x2apic_icr_is_split; + const long unsigned int required_apicv_inhibits; + bool allow_apicv_in_x2apic_without_x2apic_virtualization; + void (*refresh_apicv_exec_ctrl)(struct kvm_vcpu *); + void (*hwapic_isr_update)(struct kvm_vcpu *, int); + void (*load_eoi_exitmap)(struct kvm_vcpu *, u64 *); + void (*set_virtual_apic_mode)(struct kvm_vcpu *); + void (*set_apic_access_page_addr)(struct kvm_vcpu *); + void (*deliver_interrupt)(struct kvm_lapic *, int, int, int); + int (*sync_pir_to_irr)(struct kvm_vcpu *); + int (*set_tss_addr)(struct kvm *, unsigned int); + int (*set_identity_map_addr)(struct kvm *, u64); + u8 (*get_mt_mask)(struct kvm_vcpu *, gfn_t, bool); + void (*load_mmu_pgd)(struct kvm_vcpu *, hpa_t, int); + int (*link_external_spt)(struct kvm *, gfn_t, enum pg_level, void *); + int (*set_external_spte)(struct kvm *, gfn_t, enum pg_level, kvm_pfn_t); + int (*free_external_spt)(struct kvm *, gfn_t, enum pg_level, void *); + int (*remove_external_spte)(struct kvm *, gfn_t, enum pg_level, kvm_pfn_t); + bool (*has_wbinvd_exit)(void); + u64 (*get_l2_tsc_offset)(struct kvm_vcpu *); + u64 (*get_l2_tsc_multiplier)(struct kvm_vcpu *); + void (*write_tsc_offset)(struct kvm_vcpu *); + void (*write_tsc_multiplier)(struct kvm_vcpu *); + void (*get_exit_info)(struct kvm_vcpu *, u32 *, u64 *, u64 *, u32 *, u32 *); + void (*get_entry_info)(struct kvm_vcpu *, u32 *, u32 *); + int (*check_intercept)(struct kvm_vcpu *, struct x86_instruction_info *, enum x86_intercept_stage, struct x86_exception *); + void (*handle_exit_irqoff)(struct kvm_vcpu *); + void (*update_cpu_dirty_logging)(struct kvm_vcpu *); + const struct kvm_x86_nested_ops *nested_ops; + void (*vcpu_blocking)(struct kvm_vcpu *); + void (*vcpu_unblocking)(struct kvm_vcpu *); + int (*pi_update_irte)(struct kvm_kernel_irqfd *, struct kvm *, unsigned int, uint32_t, struct kvm_vcpu *, u32); + void (*pi_start_bypass)(struct kvm *); + void (*apicv_pre_state_restore)(struct kvm_vcpu *); + void (*apicv_post_state_restore)(struct kvm_vcpu *); + bool (*dy_apicv_has_pending_interrupt)(struct kvm_vcpu *); + bool (*protected_apic_has_interrupt)(struct kvm_vcpu *); + int (*set_hv_timer)(struct kvm_vcpu *, u64, bool *); + void (*cancel_hv_timer)(struct kvm_vcpu *); + void (*setup_mce)(struct kvm_vcpu *); + int (*smi_allowed)(struct kvm_vcpu *, bool); + int (*enter_smm)(struct kvm_vcpu *, union kvm_smram *); + int (*leave_smm)(struct kvm_vcpu *, const union kvm_smram *); + void (*enable_smi_window)(struct kvm_vcpu *); + int (*dev_get_attr)(u32, u64, u64 *); + int (*mem_enc_ioctl)(struct kvm *, void *); + int (*vcpu_mem_enc_ioctl)(struct kvm_vcpu *, void *); + int (*mem_enc_register_region)(struct kvm *, struct kvm_enc_region *); + int (*mem_enc_unregister_region)(struct kvm *, struct kvm_enc_region *); + int (*vm_copy_enc_context_from)(struct kvm *, unsigned int); + int (*vm_move_enc_context_from)(struct kvm *, unsigned int); + void (*guest_memory_reclaimed)(struct kvm *); + int (*get_feature_msr)(u32, u64 *); + int (*check_emulate_instruction)(struct kvm_vcpu *, int, void *, int); + bool (*apic_init_signal_blocked)(struct kvm_vcpu *); + int (*enable_l2_tlb_flush)(struct kvm_vcpu *); + void (*migrate_timers)(struct kvm_vcpu *); + void (*recalc_msr_intercepts)(struct kvm_vcpu *); + int (*complete_emulated_msr)(struct kvm_vcpu *, int); + void (*vcpu_deliver_sipi_vector)(struct kvm_vcpu *, u8); + long unsigned int (*vcpu_get_apicv_inhibit_reasons)(struct kvm_vcpu *); + gva_t (*get_untagged_addr)(struct kvm_vcpu *, gva_t, unsigned int); + void * (*alloc_apic_backing_page)(struct kvm_vcpu *); + int (*gmem_prepare)(struct kvm *, kvm_pfn_t, gfn_t, int); + void (*gmem_invalidate)(kvm_pfn_t, kvm_pfn_t); + int (*private_max_mapping_level)(struct kvm *, kvm_pfn_t); +}; + +struct kvm_x86_pmu_event_filter { + __u32 action; + __u32 nevents; + __u32 fixed_counter_bitmap; + __u32 flags; + __u32 nr_includes; + __u32 nr_excludes; + __u64 *includes; + __u64 *excludes; + __u64 events[0]; +}; + +union l1_cache { + struct { + unsigned int line_size: 8; + unsigned int lines_per_tag: 8; + unsigned int assoc: 8; + unsigned int size_in_kb: 8; + }; + unsigned int val; +}; + +union l2_cache { + struct { + unsigned int line_size: 8; + unsigned int lines_per_tag: 4; + unsigned int assoc: 4; + unsigned int size_in_kb: 16; + }; + unsigned int val; +}; + +union l3_cache { + struct { + unsigned int line_size: 8; + unsigned int lines_per_tag: 4; + unsigned int assoc: 4; + unsigned int res: 2; + unsigned int size_encoded: 14; + }; + unsigned int val; +}; + +typedef int (*lookup_by_table_id_t)(struct net *, u32); + +struct l3mdev_handler { + lookup_by_table_id_t dev_lookup; +}; + +struct l3mdev_ops { + u32 (*l3mdev_fib_table)(const struct net_device *); + struct sk_buff * (*l3mdev_l3_rcv)(struct net_device *, struct sk_buff *, u16); + struct sk_buff * (*l3mdev_l3_out)(struct net_device *, struct sock *, struct sk_buff *, u16); + struct dst_entry * (*l3mdev_link_scope_lookup)(const struct net_device *, struct flowi6 *); +}; + +struct label_it { + int i; + int j; +}; + +struct ladder_device_state { + struct { + u32 promotion_count; + u32 demotion_count; + u64 promotion_time_ns; + u64 demotion_time_ns; + } threshold; + struct { + int promotion_count; + int demotion_count; + } stats; +}; + +struct ladder_device { + struct ladder_device_state states[10]; +}; + +struct landlock_ruleset; + +struct landlock_cred_security { + struct landlock_ruleset *domain; + u16 domain_exec; + u8 log_subdomains_off: 1; +} __attribute__((packed)); + +struct landlock_details { + struct pid *pid; + uid_t uid; + char comm[16]; + char exe_path[0]; +}; + +struct landlock_erratum { + const int abi; + const u8 number; +}; + +struct landlock_file_security { + access_mask_t allowed_access; + deny_masks_t deny_masks; + u8 fown_layer; + struct landlock_cred_security fown_subject; +}; + +struct landlock_hierarchy { + struct landlock_hierarchy *parent; + refcount_t usage; + enum landlock_log_status log_status; + atomic64_t num_denials; + u64 id; + const struct landlock_details *details; + u32 log_same_exec: 1; + u32 log_new_exec: 1; +}; + +struct landlock_object; + +union landlock_key { + struct landlock_object *object; + uintptr_t data; +}; + +struct landlock_id { + union landlock_key key; + const enum landlock_key_type type; +}; + +struct landlock_inode_security { + struct landlock_object *object; +}; + +struct landlock_layer { + u16 level; + access_mask_t access; +}; + +struct landlock_net_port_attr { + __u64 allowed_access; + __u64 port; +}; + +struct landlock_object_underops; + +struct landlock_object { + refcount_t usage; + spinlock_t lock; + void *underobj; + union { + struct callback_head rcu_free; + const struct landlock_object_underops *underops; + }; +}; + +struct landlock_object_underops { + void (*release)(struct landlock_object * const); +}; + +struct landlock_path_beneath_attr { + __u64 allowed_access; + __s32 parent_fd; +} __attribute__((packed)); + +struct landlock_request { + enum landlock_request_type type; + struct common_audit_data audit; + size_t layer_plus_one; + access_mask_t access; + const layer_mask_t (*layer_masks)[0]; + size_t layer_masks_size; + const access_mask_t all_existing_optional_access; + deny_masks_t deny_masks; +}; + +struct landlock_rule { + struct rb_node node; + union landlock_key key; + u32 num_layers; + struct landlock_layer layers[0]; +}; + +struct landlock_ruleset { + struct rb_root root_inode; + struct rb_root root_net_port; + struct landlock_hierarchy *hierarchy; + union { + struct work_struct work_free; + struct { + struct mutex lock; + refcount_t usage; + u32 num_rules; + u32 num_layers; + struct access_masks access_masks[0]; + }; + }; +}; + +struct landlock_ruleset_attr { + __u64 handled_access_fs; + __u64 handled_access_net; + __u64 scoped; +}; + +struct landlock_superblock_security { + atomic_long_t inode_refs; +}; + +struct latch_tree_ops { + bool (*less)(struct latch_tree_node *, struct latch_tree_node *); + int (*comp)(void *, struct latch_tree_node *); +}; + +struct latch_tree_root { + seqcount_latch_t seq; + struct rb_root tree[2]; +}; + +struct latched_seq { + seqcount_latch_t latch; + u64 val[2]; +}; + +struct lateeoi_work { + struct delayed_work delayed; + spinlock_t eoi_list_lock; + struct list_head eoi_list; +}; + +struct latency_record { + long unsigned int backtrace[12]; + unsigned int count; + long unsigned int time; + long unsigned int max; +}; + +struct sched_domain; + +struct lb_env { + struct sched_domain *sd; + struct rq *src_rq; + int src_cpu; + int dst_cpu; + struct rq *dst_rq; + struct cpumask *dst_grpmask; + int new_dst_cpu; + enum cpu_idle_type idle; + long int imbalance; + struct cpumask *cpus; + unsigned int flags; + unsigned int loop; + unsigned int loop_break; + unsigned int loop_max; + enum fbq_type fbq_type; + enum migration_type migration_type; + struct list_head tasks; +}; + +struct lcd_properties { + int max_contrast; +}; + +struct lcd_ops; + +struct lcd_device { + struct lcd_properties props; + struct mutex ops_lock; + const struct lcd_ops *ops; + struct mutex update_lock; + struct list_head entry; + struct device dev; +}; + +struct lcd_ops { + int (*get_power)(struct lcd_device *); + int (*set_power)(struct lcd_device *, int); + int (*get_contrast)(struct lcd_device *); + int (*set_contrast)(struct lcd_device *, int); + int (*set_mode)(struct lcd_device *, u32, u32); + bool (*controls_device)(struct lcd_device *, struct device *); +}; + +struct ld_semaphore { + atomic_long_t count; + raw_spinlock_t wait_lock; + unsigned int wait_readers; + struct list_head read_wait; + struct list_head write_wait; +}; + +struct ldma_port; + +struct ldma_chan { + struct virt_dma_chan vchan; + struct ldma_port *port; + char name[8]; + int nr; + u32 flags; + enum ldma_chan_on_off onoff; + dma_addr_t desc_phys; + void *desc_base; + u32 desc_cnt; + int rst; + u32 hdrm_len; + bool hdrm_csum; + u32 boff_len; + u32 data_endian; + u32 desc_endian; + bool pden; + bool desc_rx_np; + bool data_endian_en; + bool desc_endian_en; + bool abc_en; + bool desc_init; + struct dma_pool *desc_pool; + u32 desc_num; + struct dw2_desc_sw *ds; + struct work_struct work; + struct dma_slave_config config; +}; + +struct ldma_inst_data; + +struct ldma_dev { + struct device *dev; + void *base; + struct reset_control *rst; + struct clk *core_clk; + struct dma_device dma_dev; + u32 ver; + int irq; + struct ldma_port *ports; + struct ldma_chan *chans; + spinlock_t dev_lock; + u32 chan_nrs; + u32 port_nrs; + u32 channels_mask; + u32 flags; + u32 pollcnt; + const struct ldma_inst_data *inst; + struct workqueue_struct *wq; +}; + +struct ldma_inst_data { + bool desc_in_sram; + bool chan_fc; + bool desc_fod; + bool valid_desc_fetch_ack; + u32 orrc; + const char *name; + u32 type; +}; + +struct ldma_port { + struct ldma_dev *ldev; + u32 portid; + u32 rxbl; + u32 txbl; + u32 rxendi; + u32 txendi; + u32 pkt_drop; +}; + +struct privhead { + u16 ver_major; + u16 ver_minor; + u64 logical_disk_start; + u64 logical_disk_size; + u64 config_start; + u64 config_size; + uuid_t disk_id; +}; + +struct tocblock { + u8 bitmap1_name[16]; + u64 bitmap1_start; + u64 bitmap1_size; + u8 bitmap2_name[16]; + u64 bitmap2_start; + u64 bitmap2_size; +}; + +struct vmdb { + u16 ver_major; + u16 ver_minor; + u32 vblk_size; + u32 vblk_offset; + u32 last_vblk_seq; +}; + +struct ldmdb { + struct privhead ph; + struct tocblock toc; + struct vmdb vm; + struct list_head v_dgrp; + struct list_head v_disk; + struct list_head v_volu; + struct list_head v_comp; + struct list_head v_part; +}; + +struct ldsem_waiter { + struct list_head list; + struct task_struct *task; +}; + +struct ldt_struct { + struct desc_struct *entries; + unsigned int nr_entries; + int slot; +}; + +struct ldttss_desc { + u16 limit0; + u16 base0; + u16 base1: 8; + u16 type: 5; + u16 dpl: 2; + u16 p: 1; + u16 limit1: 4; + u16 zero0: 3; + u16 g: 1; + u16 base2: 8; + u32 base3; + u32 zero1; +}; + +typedef struct ldttss_desc ldt_desc; + +typedef struct ldttss_desc tss_desc; + +struct leaf_0x2_reg { + int: 31; + u32 invalid: 1; +}; + +union leaf_0x2_regs { + struct leaf_0x2_reg reg[4]; + u32 regv[4]; + u8 desc[16]; +}; + +struct leaf_0x2_table { + union { + enum _cache_table_type c_type; + enum _tlb_table_type t_type; + }; + union { + short int c_size; + short int entries; + }; +}; + +struct lease_manager_operations { + bool (*lm_break)(struct file_lease *); + int (*lm_change)(struct file_lease *, int, struct list_head *); + void (*lm_setup)(struct file_lease *, void **); + bool (*lm_breaker_owns_lease)(struct file_lease *); +}; + +struct led_pattern; + +struct led_classdev { + const char *name; + unsigned int brightness; + unsigned int max_brightness; + unsigned int color; + int flags; + long unsigned int work_flags; + void (*brightness_set)(struct led_classdev *, enum led_brightness); + int (*brightness_set_blocking)(struct led_classdev *, enum led_brightness); + enum led_brightness (*brightness_get)(struct led_classdev *); + int (*blink_set)(struct led_classdev *, long unsigned int *, long unsigned int *); + int (*pattern_set)(struct led_classdev *, struct led_pattern *, u32, int); + int (*pattern_clear)(struct led_classdev *); + struct device *dev; + const struct attribute_group **groups; + struct list_head node; + const char *default_trigger; + long unsigned int blink_delay_on; + long unsigned int blink_delay_off; + struct timer_list blink_timer; + int blink_brightness; + int new_blink_brightness; + void (*flash_resume)(struct led_classdev *); + struct workqueue_struct *wq; + struct work_struct set_brightness_work; + int delayed_set_value; + long unsigned int delayed_delay_on; + long unsigned int delayed_delay_off; + struct rw_semaphore trigger_lock; + struct led_trigger *trigger; + struct list_head trig_list; + void *trigger_data; + bool activated; + struct led_hw_trigger_type *trigger_type; + const char *hw_control_trigger; + int (*hw_control_is_supported)(struct led_classdev *, long unsigned int); + int (*hw_control_set)(struct led_classdev *, long unsigned int); + int (*hw_control_get)(struct led_classdev *, long unsigned int *); + struct device * (*hw_control_get_device)(struct led_classdev *); + int brightness_hw_changed; + struct kernfs_node *brightness_hw_changed_kn; + struct mutex led_access; +}; + +struct mc_subled; + +struct led_classdev_mc { + struct led_classdev led_cdev; + unsigned int num_colors; + struct mc_subled *subled_info; +}; + +struct led_hw_trigger_type { + int dummy; +}; + +struct led_init_data { + struct fwnode_handle *fwnode; + const char *default_label; + const char *devicename; + bool devname_mandatory; +}; + +struct led_lookup_data { + struct list_head list; + const char *provider; + const char *dev_id; + const char *con_id; +}; + +struct led_pattern { + u32 delta_t; + int brightness; +}; + +struct led_properties { + u32 color; + bool color_present; + const char *function; + u32 func_enum; + bool func_enum_present; + const char *label; +}; + +struct led_trigger_cpu { + bool is_active; + char name[8]; + struct led_trigger *_trig; +}; + +struct legacy_fs_context { + char *legacy_data; + size_t data_size; + enum legacy_fs_param param_type; +}; + +struct legacy_pic { + int nr_legacy_irqs; + struct irq_chip *chip; + void (*mask)(unsigned int); + void (*unmask)(unsigned int); + void (*mask_all)(void); + void (*restore_mask)(void); + void (*init)(int); + int (*probe)(void); + int (*irq_pending)(unsigned int); + void (*make_irq)(unsigned int); +}; + +struct level_datum { + struct mls_level level; + unsigned char isalias; +}; + +struct limit_names { + const char *name; + const char *unit; +}; + +struct linereq; + +struct line { + struct gpio_desc *desc; + struct linereq *req; + unsigned int irq; + u64 edflags; + u64 timestamp_ns; + u32 req_seqno; + u32 line_seqno; + struct delayed_work work; + unsigned int sw_debounced; + unsigned int level; + struct hte_ts_desc hdesc; + int raw_level; + u32 total_discard_seq; + u32 last_seqno; +}; + +struct linear_c { + struct dm_dev *dev; + sector_t start; +}; + +struct linear_range { + unsigned int min; + unsigned int min_sel; + unsigned int max_sel; + unsigned int step; +}; + +struct lineevent_state { + struct gpio_device *gdev; + const char *label; + struct gpio_desc *desc; + u32 eflags; + int irq; + wait_queue_head_t wait; + struct notifier_block device_unregistered_nb; + struct { + union { + struct __kfifo kfifo; + struct gpioevent_data *type; + const struct gpioevent_data *const_type; + char (*rectype)[0]; + struct gpioevent_data *ptr; + const struct gpioevent_data *ptr_const; + }; + struct gpioevent_data buf[16]; + } events; + u64 timestamp; +}; + +struct linehandle_state { + struct gpio_device *gdev; + const char *label; + struct gpio_desc *descs[64]; + u32 num_descs; +}; + +struct lineinfo_changed_ctx { + struct work_struct work; + struct gpio_v2_line_info_changed chg; + struct gpio_device *gdev; + struct gpio_chardev_data *cdev; +}; + +struct linereq { + struct gpio_device *gdev; + const char *label; + u32 num_lines; + wait_queue_head_t wait; + struct notifier_block device_unregistered_nb; + u32 event_buffer_size; + struct { + union { + struct __kfifo kfifo; + struct gpio_v2_line_event *type; + const struct gpio_v2_line_event *const_type; + char (*rectype)[0]; + struct gpio_v2_line_event *ptr; + const struct gpio_v2_line_event *ptr_const; + }; + struct gpio_v2_line_event buf[0]; + } events; + atomic_t seqno; + struct mutex config_mutex; + struct line lines[0]; +}; + +struct linger { + int l_onoff; + int l_linger; +}; + +struct link_capabilities { + int speed; + unsigned int duplex; + long unsigned int linkmodes[2]; +}; + +struct link_free { + union { + long unsigned int next; + long unsigned int handle; + }; +}; + +struct link_mode_info { + int speed; + u8 lanes; + u8 duplex; +}; + +struct linked_page { + struct linked_page *next; + char data[4088]; +}; + +struct linked_reg { + u8 frameno; + union { + u8 spi; + u8 regno; + }; + bool is_reg; +}; + +struct linked_regs { + int cnt; + struct linked_reg entries[6]; +}; + +struct linkinfo_reply_data { + struct ethnl_reply_data base; + struct ethtool_link_ksettings ksettings; + struct ethtool_link_settings *lsettings; +}; + +struct linkmodes_reply_data { + struct ethnl_reply_data base; + struct ethtool_link_ksettings ksettings; + struct ethtool_link_settings *lsettings; + bool peer_empty; +}; + +struct linkstate_reply_data { + struct ethnl_reply_data base; + int link; + int sqi; + int sqi_max; + struct ethtool_link_ext_stats link_stats; + bool link_ext_state_provided; + struct ethtool_link_ext_state_info ethtool_link_ext_state_info; +}; + +struct linux_binprm; + +struct linux_binfmt { + struct list_head lh; + struct module *module; + int (*load_binary)(struct linux_binprm *); + int (*core_dump)(struct coredump_params *); + long unsigned int min_coredump; +}; + +struct linux_binprm { + struct vm_area_struct *vma; + long unsigned int vma_pages; + long unsigned int argmin; + struct mm_struct *mm; + long unsigned int p; + unsigned int have_execfd: 1; + unsigned int execfd_creds: 1; + unsigned int secureexec: 1; + unsigned int point_of_no_return: 1; + unsigned int comm_from_dentry: 1; + unsigned int is_check: 1; + struct file *executable; + struct file *interpreter; + struct file *file; + struct cred *cred; + int unsafe; + unsigned int per_clear; + int argc; + int envc; + const char *filename; + const char *interp; + const char *fdpath; + unsigned int interp_flags; + int execfd; + long unsigned int exec; + struct rlimit rlim_stack; + char buf[256]; +}; + +struct linux_binprm__safe_trusted { + struct file *file; +}; + +struct linux_dirent { + long unsigned int d_ino; + long unsigned int d_off; + short unsigned int d_reclen; + char d_name[0]; +}; + +struct linux_dirent64 { + u64 d_ino; + s64 d_off; + short unsigned int d_reclen; + unsigned char d_type; + char d_name[0]; +}; + +struct linux_efi_initrd { + long unsigned int base; + long unsigned int size; +}; + +struct linux_efi_memreserve { + int size; + atomic_t count; + phys_addr_t next; + struct { + phys_addr_t base; + phys_addr_t size; + } entry[0]; +}; + +struct linux_efi_random_seed { + u32 size; + u8 bits[0]; +}; + +struct linux_efi_tpm_eventlog { + u32 size; + u32 final_events_preboot_size; + u8 version; + u8 log[0]; +}; + +struct linux_logo { + int type; + unsigned int width; + unsigned int height; + unsigned int clutsize; + const unsigned char *clut; + const unsigned char *data; +}; + +struct linux_mib { + long unsigned int mibs[136]; +}; + +struct linux_tls_mib { + long unsigned int mibs[18]; +}; + +struct linux_xfrm_mib { + long unsigned int mibs[33]; +}; + +struct list_lru_node; + +struct list_lru { + struct list_lru_node *node; + struct list_head list; + int shrinker_id; + bool memcg_aware; + struct xarray xa; +}; + +struct list_lru_one { + struct list_head list; + long int nr_items; + spinlock_t lock; +}; + +struct list_lru_memcg { + struct callback_head rcu; + struct list_lru_one node[0]; +}; + +struct list_lru_node { + struct list_lru_one lru; + atomic_long_t nr_items; + long: 64; + long: 64; + long: 64; +}; + +struct listener { + struct list_head list; + pid_t pid; + char valid; +}; + +struct listener_list { + struct rw_semaphore sem; + struct list_head list; +}; + +struct listeners { + struct callback_head rcu; + long unsigned int masks[0]; +}; + +struct load_info { + const char *name; + struct module *mod; + Elf64_Ehdr *hdr; + long unsigned int len; + Elf64_Shdr *sechdrs; + char *secstrings; + char *strtab; + long unsigned int symoffs; + long unsigned int stroffs; + long unsigned int init_typeoffs; + long unsigned int core_typeoffs; + bool sig_ok; + long unsigned int mod_kallsyms_init_off; + struct page **pages; + unsigned int max_pages; + unsigned int used_pages; + struct { + unsigned int sym; + unsigned int str; + unsigned int mod; + unsigned int vers; + unsigned int info; + unsigned int pcpu; + unsigned int vers_ext_crc; + unsigned int vers_ext_name; + } index; +}; + +struct location; + +struct loc_track { + long unsigned int max; + long unsigned int count; + struct location *loc; + loff_t idx; +}; + +struct local_event { + local_lock_t lock; + __u32 count; +}; + +struct local_ports { + u32 range; + bool warned; +}; + +struct location { + depot_stack_handle_t handle; + long unsigned int count; + long unsigned int addr; + long unsigned int waste; + long long int sum_time; + long int min_time; + long int max_time; + long int min_pid; + long int max_pid; + long unsigned int cpus[128]; + nodemask_t nodes; +}; + +struct lock_manager_operations { + void *lm_mod_owner; + fl_owner_t (*lm_get_owner)(fl_owner_t); + void (*lm_put_owner)(fl_owner_t); + void (*lm_notify)(struct file_lock *); + int (*lm_grant)(struct file_lock *, int); + bool (*lm_lock_expirable)(struct file_lock *); + void (*lm_expire_lock)(void); +}; + +struct locks_iterator { + int li_cpu; + loff_t li_pos; +}; + +struct logic_pio_host_ops { + u32 (*in)(void *, long unsigned int, size_t); + void (*out)(void *, long unsigned int, u32, size_t); + u32 (*ins)(void *, long unsigned int, void *, size_t, unsigned int); + void (*outs)(void *, long unsigned int, const void *, size_t, unsigned int); +}; + +struct logic_pio_hwaddr { + struct list_head list; + const struct fwnode_handle *fwnode; + resource_size_t hw_start; + resource_size_t io_start; + resource_size_t size; + long unsigned int flags; + void *hostdata; + const struct logic_pio_host_ops *ops; +}; + +struct logical_block_metadata_cap { + __u32 lbmd_flags; + __u16 lbmd_interval; + __u8 lbmd_size; + __u8 lbmd_opaque_size; + __u8 lbmd_opaque_offset; + __u8 lbmd_pi_size; + __u8 lbmd_pi_offset; + __u8 lbmd_guard_tag_type; + __u8 lbmd_app_tag_size; + __u8 lbmd_ref_tag_size; + __u8 lbmd_storage_tag_size; + __u8 pad; +}; + +struct lookup_args { + int offset; + const struct in6_addr *addr; +}; + +struct loop_cmd { + struct list_head list_entry; + bool use_aio; + atomic_t ref; + long int ret; + struct kiocb iocb; + struct bio_vec *bvec; + struct cgroup_subsys_state *blkcg_css; + struct cgroup_subsys_state *memcg_css; +}; + +struct loop_info64 { + __u64 lo_device; + __u64 lo_inode; + __u64 lo_rdevice; + __u64 lo_offset; + __u64 lo_sizelimit; + __u32 lo_number; + __u32 lo_encrypt_type; + __u32 lo_encrypt_key_size; + __u32 lo_flags; + __u8 lo_file_name[64]; + __u8 lo_crypt_name[64]; + __u8 lo_encrypt_key[32]; + __u64 lo_init[2]; +}; + +struct loop_config { + __u32 fd; + __u32 block_size; + struct loop_info64 info; + __u64 __reserved[8]; +}; + +struct loop_device { + int lo_number; + loff_t lo_offset; + loff_t lo_sizelimit; + int lo_flags; + char lo_file_name[64]; + struct file *lo_backing_file; + unsigned int lo_min_dio_size; + struct block_device *lo_device; + gfp_t old_gfp_mask; + spinlock_t lo_lock; + int lo_state; + spinlock_t lo_work_lock; + struct workqueue_struct *workqueue; + struct work_struct rootcg_work; + struct list_head rootcg_cmd_list; + struct list_head idle_worker_list; + struct rb_root worker_tree; + struct timer_list timer; + bool sysfs_inited; + struct request_queue *lo_queue; + struct blk_mq_tag_set tag_set; + struct gendisk *lo_disk; + struct mutex lo_mutex; + bool idr_visible; +}; + +struct loop_info { + int lo_number; + __kernel_old_dev_t lo_device; + long unsigned int lo_inode; + __kernel_old_dev_t lo_rdevice; + int lo_offset; + int lo_encrypt_type; + int lo_encrypt_key_size; + int lo_flags; + char lo_name[64]; + unsigned char lo_encrypt_key[32]; + long unsigned int lo_init[2]; + char reserved[4]; +}; + +struct loop_worker { + struct rb_node rb_node; + struct work_struct work; + struct list_head cmd_list; + struct list_head idle_list; + struct loop_device *lo; + struct cgroup_subsys_state *blkcg_css; + long unsigned int last_ran_at; +}; + +union lower_chunk { + union lower_chunk *next; + long unsigned int data[256]; +}; + +struct lp8788_platform_data; + +struct lp8788 { + struct device *dev; + struct regmap *regmap; + struct irq_domain *irqdm; + int irq; + struct lp8788_platform_data *pdata; +}; + +struct lp8788_buck1_dvs { + enum lp8788_dvs_sel vsel; +}; + +struct lp8788_buck2_dvs { + enum lp8788_dvs_sel vsel; +}; + +struct lp8788_chg_param; + +struct lp8788_charger_platform_data { + const char *adc_vbatt; + const char *adc_batt_temp; + unsigned int max_vbatt_mv; + struct lp8788_chg_param *chg_params; + int num_chg_params; + void (*charger_event)(struct lp8788 *, enum lp8788_charger_event); +}; + +struct lp8788_chg_param { + u8 addr; + u8 val; +}; + +struct lp8788_irq_data { + struct lp8788 *lp; + struct mutex irq_lock; + struct irq_domain *domain; + int enabled[24]; +}; + +struct lp8788_led_platform_data { + char *name; + enum lp8788_isink_scale scale; + enum lp8788_isink_number num; + int iout_code; +}; + +struct iio_map; + +struct lp8788_vib_platform_data; + +struct lp8788_platform_data { + int (*init_func)(struct lp8788 *); + struct regulator_init_data *buck_data[4]; + struct regulator_init_data *dldo_data[12]; + struct regulator_init_data *aldo_data[10]; + struct lp8788_buck1_dvs *buck1_dvs; + struct lp8788_buck2_dvs *buck2_dvs; + struct lp8788_charger_platform_data *chg_pdata; + enum lp8788_alarm_sel alarm_sel; + struct lp8788_led_platform_data *led_pdata; + struct lp8788_vib_platform_data *vib_pdata; + struct iio_map *adc_pdata; +}; + +struct lp8788_vib_platform_data { + char *name; + enum lp8788_isink_scale scale; + enum lp8788_isink_number num; + int iout_code; + int pwm_code; +}; + +struct lpi_constraints { + acpi_handle handle; + int min_dstate; +}; + +struct lpi_device_constraint { + int uid; + int min_dstate; + int function_states; +}; + +struct lpi_device_constraint_amd { + char *name; + int enabled; + int function_states; + int min_dstate; +}; + +struct lpi_device_info { + char *name; + int enabled; + union acpi_object *package; +}; + +struct lpit_residency_info { + struct acpi_generic_address gaddr; + u64 frequency; + void *iomem_addr; +}; + +struct lpm_trie_node; + +struct lpm_trie { + struct bpf_map map; + struct lpm_trie_node *root; + struct bpf_mem_alloc ma; + size_t n_entries; + size_t max_prefixlen; + size_t data_size; + rqspinlock_t lock; +}; + +struct lpm_trie_node { + struct lpm_trie_node *child[2]; + u32 prefixlen; + u32 flags; + u8 data[0]; +}; + +struct lpss_clk_data { + const char *name; + struct clk *clk; +}; + +struct lpss_private_data; + +struct lpss_device_desc { + unsigned int flags; + const char *clk_con_id; + unsigned int prv_offset; + size_t prv_size_override; + const struct property_entry *properties; + void (*setup)(struct lpss_private_data *); + bool resume_from_noirq; +}; + +struct lpss_device_links { + const char *supplier_hid; + const char *supplier_uid; + const char *consumer_hid; + const char *consumer_uid; + u32 flags; + const struct dmi_system_id *dep_missing_ids; +}; + +struct lpss_private_data { + struct acpi_device *adev; + void *mmio_base; + resource_size_t mmio_size; + unsigned int fixed_clk_rate; + struct clk *clk; + const struct lpss_device_desc *dev_desc; + u32 prv_reg_ctx[9]; +}; + +struct lru_gen_folio { + long unsigned int max_seq; + long unsigned int min_seq[2]; + long unsigned int timestamps[4]; + struct list_head folios[40]; + long int nr_pages[40]; + long unsigned int avg_refaulted[8]; + long unsigned int avg_total[8]; + long unsigned int protected[8]; + atomic_long_t evicted[8]; + atomic_long_t refaulted[8]; + bool enabled; + u8 gen; + u8 seg; + struct hlist_nulls_node list; +}; + +struct lru_gen_memcg { + long unsigned int seq; + long unsigned int nr_memcgs[3]; + struct hlist_nulls_head fifo[24]; + spinlock_t lock; +}; + +struct lru_gen_mm_list { + struct list_head fifo; + spinlock_t lock; +}; + +struct lru_gen_mm_state { + long unsigned int seq; + struct list_head *head; + struct list_head *tail; + long unsigned int *filters[2]; + long unsigned int stats[4]; +}; + +struct lruvec; + +struct lru_gen_mm_walk { + struct lruvec *lruvec; + long unsigned int seq; + long unsigned int next_addr; + int nr_pages[40]; + int mm_stats[4]; + int batched; + int swappiness; + bool force_scan; +}; + +struct zswap_lruvec_state { + atomic_long_t nr_disk_swapins; +}; + +struct pglist_data; + +struct lruvec { + struct list_head lists[5]; + spinlock_t lru_lock; + long unsigned int anon_cost; + long unsigned int file_cost; + atomic_long_t nonresident_age; + long unsigned int refaults[2]; + long unsigned int flags; + struct lru_gen_folio lrugen; + struct lru_gen_mm_state mm_state; + struct pglist_data *pgdat; + struct zswap_lruvec_state zswap_lruvec_state; +}; + +struct lruvec_stats { + long int state[33]; + long int state_local[33]; + long int state_pending[33]; +}; + +struct lruvec_stats_percpu { + long int state[33]; + long int state_prev[33]; +}; + +struct skcipher_alg_common { + unsigned int min_keysize; + unsigned int max_keysize; + unsigned int ivsize; + unsigned int chunksize; + unsigned int statesize; + struct crypto_alg base; +}; + +struct lskcipher_alg { + int (*setkey)(struct crypto_lskcipher *, const u8 *, unsigned int); + int (*encrypt)(struct crypto_lskcipher *, const u8 *, u8 *, unsigned int, u8 *, u32); + int (*decrypt)(struct crypto_lskcipher *, const u8 *, u8 *, unsigned int, u8 *, u32); + int (*init)(struct crypto_lskcipher *); + void (*exit)(struct crypto_lskcipher *); + struct skcipher_alg_common co; +}; + +struct lskcipher_instance { + void (*free)(struct lskcipher_instance *); + union { + struct { + char head[64]; + struct crypto_instance base; + } s; + struct lskcipher_alg alg; + }; +}; + +struct lsm_blob_sizes { + int lbs_cred; + int lbs_file; + int lbs_ib; + int lbs_inode; + int lbs_sock; + int lbs_superblock; + int lbs_ipc; + int lbs_key; + int lbs_msg_msg; + int lbs_perf_event; + int lbs_task; + int lbs_xattr_count; + int lbs_tun_dev; + int lbs_bdev; + bool lbs_secmark; +}; + +struct lsm_context { + char *context; + u32 len; + int id; +}; + +struct lsm_ctx { + __u64 id; + __u64 flags; + __u64 len; + __u64 ctx_len; + __u8 ctx[0]; +}; + +struct lsm_ibendport_audit { + const char *dev_name; + u8 port; +}; + +struct lsm_ibpkey_audit { + u64 subnet_prefix; + u16 pkey; +}; + +struct lsm_id { + const char *name; + u64 id; + bool lsmprop; +}; + +struct lsm_info { + const char *name; + enum lsm_order order; + long unsigned int flags; + int *enabled; + int (*init)(void); + struct lsm_blob_sizes *blobs; +}; + +struct lsm_ioctlop_audit { + struct path path; + u16 cmd; +}; + +struct lsm_network_audit { + int netif; + const struct sock *sk; + u16 family; + __be16 dport; + __be16 sport; + union { + struct { + __be32 daddr; + __be32 saddr; + } v4; + struct { + struct in6_addr daddr; + struct in6_addr saddr; + } v6; + } fam; +}; + +struct ltl_monitor {}; + +struct lv_info { + short unsigned int pps_per_lv; + short unsigned int pps_found; + unsigned char lv_is_contiguous; +}; + +struct lvd { + __be16 lv_ix; + __be16 res2; + __be16 res4; + __be16 maxsize; + __be16 lv_state; + __be16 mirror; + __be16 mirror_policy; + __be16 num_lps; + __be16 res10[8]; +}; + +struct lvm_rec { + char lvm_id[4]; + char reserved4[16]; + __be32 lvmarea_len; + __be32 vgda_len; + __be32 vgda_psn[2]; + char reserved36[10]; + __be16 pp_size; + char reserved46[12]; + __be16 version; +}; + +struct lvname { + char name[64]; +}; + +struct lwq { + spinlock_t lock; + struct llist_node *ready; + struct llist_head new; +}; + +struct lwq_node { + struct llist_node node; +}; + +struct lwtunnel_encap_ops { + int (*build_state)(struct net *, struct nlattr *, unsigned int, const void *, struct lwtunnel_state **, struct netlink_ext_ack *); + void (*destroy_state)(struct lwtunnel_state *); + int (*output)(struct net *, struct sock *, struct sk_buff *); + int (*input)(struct sk_buff *); + int (*fill_encap)(struct sk_buff *, struct lwtunnel_state *); + int (*get_encap_size)(struct lwtunnel_state *); + int (*cmp_encap)(struct lwtunnel_state *, struct lwtunnel_state *); + int (*xmit)(struct sk_buff *); + struct module *owner; +}; + +struct lwtunnel_state { + __u16 type; + __u16 flags; + __u16 headroom; + atomic_t refcnt; + int (*orig_output)(struct net *, struct sock *, struct sk_buff *); + int (*orig_input)(struct sk_buff *); + struct callback_head rcu; + __u8 data[0]; +}; + +struct lz4_comp_opts { + __le32 version; + __le32 flags; +}; + +struct lzma2_dec { + enum lzma2_seq sequence; + enum lzma2_seq next_sequence; + uint32_t uncompressed; + uint32_t compressed; + bool need_dict_reset; + bool need_props; + bool pedantic_microlzma; +}; + +struct lzma_len_dec { + uint16_t choice; + uint16_t choice2; + uint16_t low[128]; + uint16_t mid[128]; + uint16_t high[256]; +}; + +struct lzma_dec { + uint32_t rep0; + uint32_t rep1; + uint32_t rep2; + uint32_t rep3; + enum lzma_state state; + uint32_t len; + uint32_t lc; + uint32_t literal_pos_mask; + uint32_t pos_mask; + uint16_t is_match[192]; + uint16_t is_rep[12]; + uint16_t is_rep0[12]; + uint16_t is_rep1[12]; + uint16_t is_rep2[12]; + uint16_t is_rep0_long[192]; + uint16_t dist_slot[256]; + uint16_t dist_special[114]; + uint16_t dist_align[16]; + struct lzma_len_dec match_len_dec; + struct lzma_len_dec rep_len_dec; + uint16_t literal[12288]; +}; + +struct lzma_header { + uint8_t pos; + uint32_t dict_size; + uint64_t dst_size; +} __attribute__((packed)); + +struct ma_topiary { + struct maple_enode *head; + struct maple_enode *tail; + struct maple_tree *mtree; +}; + +struct maple_node; + +struct ma_wr_state { + struct ma_state *mas; + struct maple_node *node; + long unsigned int r_min; + long unsigned int r_max; + enum maple_type type; + unsigned char offset_end; + long unsigned int *pivots; + long unsigned int end_piv; + void **slots; + void *entry; + void *content; + unsigned char vacant_height; + unsigned char sufficient_height; +}; + +struct mac_addr { + unsigned char addr[6]; +}; + +typedef struct mac_addr mac_addr; + +struct mac_address { + u8 addr[6]; +}; + +struct mac_driver_desc { + __be16 signature; + __be16 block_size; + __be32 block_count; +}; + +struct mac_partition { + __be16 signature; + __be16 res1; + __be32 map_count; + __be32 start_block; + __be32 block_count; + char name[32]; + char type[32]; + __be32 data_start; + __be32 data_count; + __be32 status; + __be32 boot_start; + __be32 boot_size; + __be32 boot_load; + __be32 boot_load2; + __be32 boot_entry; + __be32 boot_entry2; + __be32 boot_cksum; + char processor[16]; +}; + +struct machine_ops { + void (*restart)(char *); + void (*halt)(void); + void (*power_off)(void); + void (*shutdown)(void); + void (*crash_shutdown)(struct pt_regs *); + void (*emergency_restart)(void); +}; + +struct macsec_secy; + +struct macsec_rx_sc; + +struct macsec_rx_sa; + +struct macsec_tx_sa; + +struct macsec_tx_sc_stats; + +struct macsec_tx_sa_stats; + +struct macsec_rx_sc_stats; + +struct macsec_rx_sa_stats; + +struct macsec_dev_stats; + +struct macsec_context { + union { + struct net_device *netdev; + struct phy_device *phydev; + }; + enum macsec_offload offload; + struct macsec_secy *secy; + struct macsec_rx_sc *rx_sc; + struct { + bool update_pn; + unsigned char assoc_num; + u8 key[128]; + union { + struct macsec_rx_sa *rx_sa; + struct macsec_tx_sa *tx_sa; + }; + } sa; + union { + struct macsec_tx_sc_stats *tx_sc_stats; + struct macsec_tx_sa_stats *tx_sa_stats; + struct macsec_rx_sc_stats *rx_sc_stats; + struct macsec_rx_sa_stats *rx_sa_stats; + struct macsec_dev_stats *dev_stats; + } stats; +}; + +struct macsec_dev_stats { + __u64 OutPktsUntagged; + __u64 InPktsUntagged; + __u64 OutPktsTooLong; + __u64 InPktsNoTag; + __u64 InPktsBadTag; + __u64 InPktsUnknownSCI; + __u64 InPktsNoSCI; + __u64 InPktsOverrun; +}; + +struct macsec_info { + sci_t sci; +}; + +union salt { + struct { + ssci_t ssci; + __be64 pn; + } __attribute__((packed)); + u8 bytes[12]; +}; + +typedef union salt salt_t; + +struct macsec_key { + u8 id[16]; + struct crypto_aead *tfm; + salt_t salt; +}; + +struct macsec_ops { + int (*mdo_dev_open)(struct macsec_context *); + int (*mdo_dev_stop)(struct macsec_context *); + int (*mdo_add_secy)(struct macsec_context *); + int (*mdo_upd_secy)(struct macsec_context *); + int (*mdo_del_secy)(struct macsec_context *); + int (*mdo_add_rxsc)(struct macsec_context *); + int (*mdo_upd_rxsc)(struct macsec_context *); + int (*mdo_del_rxsc)(struct macsec_context *); + int (*mdo_add_rxsa)(struct macsec_context *); + int (*mdo_upd_rxsa)(struct macsec_context *); + int (*mdo_del_rxsa)(struct macsec_context *); + int (*mdo_add_txsa)(struct macsec_context *); + int (*mdo_upd_txsa)(struct macsec_context *); + int (*mdo_del_txsa)(struct macsec_context *); + int (*mdo_get_dev_stats)(struct macsec_context *); + int (*mdo_get_tx_sc_stats)(struct macsec_context *); + int (*mdo_get_tx_sa_stats)(struct macsec_context *); + int (*mdo_get_rx_sc_stats)(struct macsec_context *); + int (*mdo_get_rx_sa_stats)(struct macsec_context *); + int (*mdo_insert_tx_tag)(struct phy_device *, struct sk_buff *); + unsigned int needed_headroom; + unsigned int needed_tailroom; + bool rx_uses_md_dst; +}; + +union pn { + struct { + u32 lower; + u32 upper; + }; + u64 full64; +}; + +typedef union pn pn_t; + +struct macsec_rx_sa { + struct macsec_key key; + ssci_t ssci; + spinlock_t lock; + union { + pn_t next_pn_halves; + u64 next_pn; + }; + refcount_t refcnt; + bool active; + struct macsec_rx_sa_stats *stats; + struct macsec_rx_sc *sc; + struct callback_head rcu; +}; + +struct macsec_rx_sa_stats { + __u32 InPktsOK; + __u32 InPktsInvalid; + __u32 InPktsNotValid; + __u32 InPktsNotUsingSA; + __u32 InPktsUnusedSA; +}; + +struct pcpu_rx_sc_stats; + +struct macsec_rx_sc { + struct macsec_rx_sc *next; + sci_t sci; + bool active; + struct macsec_rx_sa *sa[4]; + struct pcpu_rx_sc_stats *stats; + refcount_t refcnt; + struct callback_head callback_head; +}; + +struct macsec_rx_sc_stats { + __u64 InOctetsValidated; + __u64 InOctetsDecrypted; + __u64 InPktsUnchecked; + __u64 InPktsDelayed; + __u64 InPktsOK; + __u64 InPktsInvalid; + __u64 InPktsLate; + __u64 InPktsNotValid; + __u64 InPktsNotUsingSA; + __u64 InPktsUnusedSA; +}; + +struct pcpu_tx_sc_stats; + +struct macsec_tx_sc { + bool active; + u8 encoding_sa; + bool encrypt; + bool send_sci; + bool end_station; + bool scb; + struct macsec_tx_sa *sa[4]; + struct pcpu_tx_sc_stats *stats; + struct metadata_dst *md_dst; +}; + +struct macsec_secy { + struct net_device *netdev; + unsigned int n_rx_sc; + sci_t sci; + u16 key_len; + u16 icv_len; + enum macsec_validation_type validate_frames; + bool xpn; + bool operational; + bool protect_frames; + bool replay_protect; + u32 replay_window; + struct macsec_tx_sc tx_sc; + struct macsec_rx_sc *rx_sc; +}; + +struct macsec_tx_sa { + struct macsec_key key; + ssci_t ssci; + spinlock_t lock; + union { + pn_t next_pn_halves; + u64 next_pn; + }; + refcount_t refcnt; + bool active; + struct macsec_tx_sa_stats *stats; + struct callback_head rcu; +}; + +struct macsec_tx_sa_stats { + __u32 OutPktsProtected; + __u32 OutPktsEncrypted; +}; + +struct macsec_tx_sc_stats { + __u64 OutPktsProtected; + __u64 OutPktsEncrypted; + __u64 OutOctetsProtected; + __u64 OutOctetsEncrypted; +}; + +struct madvise_behavior_range { + long unsigned int start; + long unsigned int end; +}; + +struct mmu_gather; + +struct madvise_behavior { + struct mm_struct *mm; + int behavior; + struct mmu_gather *tlb; + enum madvise_lock_mode lock_mode; + struct anon_vma_name *anon_name; + struct madvise_behavior_range range; + struct vm_area_struct *prev; + struct vm_area_struct *vma; + bool lock_dropped; +}; + +struct madvise_walk_private { + struct mmu_gather *tlb; + bool pageout; +}; + +struct mafield { + const char *prefix; + int field; +}; + +struct map_attribute { + struct attribute attr; + ssize_t (*show)(struct efi_runtime_map_entry *, char *); +}; + +struct map_balloon_pages { + xen_pfn_t *pfns; + unsigned int idx; +}; + +struct map_files_info { + long unsigned int start; + long unsigned int end; + fmode_t mode; +}; + +struct map_info___2 { + struct map_info___2 *next; + struct mm_struct *mm; + long unsigned int vaddr; +}; + +struct map_iter { + void *key; + bool done; +}; + +struct map_range { + long unsigned int start; + long unsigned int end; + unsigned int page_size_mask; +}; + +struct xenbus_map_node; + +struct map_ring_valloc { + struct xenbus_map_node *node; + long unsigned int addrs[16]; + phys_addr_t phys_addrs[16]; + struct gnttab_map_grant_ref map[16]; + struct gnttab_unmap_grant_ref unmap[16]; + unsigned int idx; +}; + +struct maple_alloc { + long unsigned int total; + unsigned char node_count; + unsigned int request_count; + struct maple_alloc *slot[30]; +}; + +struct maple_pnode; + +struct maple_metadata { + unsigned char end; + unsigned char gap; +}; + +struct maple_arange_64 { + struct maple_pnode *parent; + long unsigned int pivot[9]; + void *slot[10]; + long unsigned int gap[10]; + struct maple_metadata meta; +}; + +struct maple_big_node { + long unsigned int pivot[33]; + union { + struct maple_enode *slot[34]; + struct { + long unsigned int padding[21]; + long unsigned int gap[21]; + }; + }; + unsigned char b_end; + enum maple_type type; +}; + +struct maple_range_64 { + struct maple_pnode *parent; + long unsigned int pivot[15]; + union { + void *slot[16]; + struct { + void *pad[15]; + struct maple_metadata meta; + }; + }; +}; + +struct maple_node { + union { + struct { + struct maple_pnode *parent; + void *slot[31]; + }; + struct { + void *pad; + struct callback_head rcu; + struct maple_enode *piv_parent; + unsigned char parent_slot; + enum maple_type type; + unsigned char slot_len; + unsigned int ma_flags; + }; + struct maple_range_64 mr64; + struct maple_arange_64 ma64; + struct maple_alloc alloc; + }; +}; + +struct maple_subtree_state { + struct ma_state *orig_l; + struct ma_state *orig_r; + struct ma_state *l; + struct ma_state *m; + struct ma_state *r; + struct ma_topiary *free; + struct ma_topiary *destroy; + struct maple_big_node *bn; +}; + +struct maple_topiary { + struct maple_pnode *parent; + struct maple_enode *next; +}; + +struct mapped_device { + struct mutex suspend_lock; + struct mutex table_devices_lock; + struct list_head table_devices; + void *map; + long unsigned int flags; + struct mutex type_lock; + enum dm_queue_mode type; + int numa_node_id; + struct request_queue *queue; + atomic_t holders; + atomic_t open_count; + struct dm_target *immutable_target; + struct target_type *immutable_target_type; + char name[16]; + struct gendisk *disk; + struct dax_device *dax_dev; + wait_queue_head_t wait; + long unsigned int *pending_io; + struct hd_geometry geometry; + struct workqueue_struct *wq; + struct work_struct work; + spinlock_t deferred_lock; + struct bio_list deferred; + struct work_struct requeue_work; + struct dm_io *requeue_list; + void *interface_ptr; + wait_queue_head_t eventq; + atomic_t event_nr; + atomic_t uevent_seq; + struct list_head uevent_list; + spinlock_t uevent_lock; + bool init_tio_pdu: 1; + struct blk_mq_tag_set *tag_set; + struct dm_stats stats; + unsigned int internal_suspend_count; + int swap_bios; + struct semaphore swap_bios_semaphore; + struct mutex swap_bios_lock; + struct dm_md_mempools *mempools; + struct dm_kobject_holder kobj_holder; + struct srcu_struct io_barrier; + unsigned int nr_zones; + void *zone_revalidate_map; + struct task_struct *revalidate_map_task; + struct dm_ima_measurements ima; +}; + +struct match_addr { + const char *addrp; + enum addr_type addrtype; + int len; + __be16 port; +}; + +struct match_ids_walk_data { + struct acpi_device_id *ids; + struct acpi_device *adev; +}; + +struct match_token { + int token; + const char *pattern; +}; + +struct match_workbuf { + unsigned int pos; + unsigned int len; + unsigned int history[32]; +}; + +struct math_emu_info { + long int ___orig_eip; + struct pt_regs *regs; +}; + +struct max14577 { + struct device *dev; + struct i2c_client *i2c; + struct i2c_client *i2c_pmic; + enum maxim_device_type dev_type; + struct regmap *regmap; + struct regmap *regmap_pmic; + struct regmap_irq_chip_data *irq_data; + struct regmap_irq_chip_data *irq_data_pmic; + int irq; +}; + +struct max14577_regulator_platform_data; + +struct max14577_platform_data { + int irq_base; + int gpio_pogo_vbatt_en; + int gpio_pogo_vbus_en; + int (*set_gpio_pogo_vbatt_en)(int); + int (*set_gpio_pogo_vbus_en)(int); + int (*set_gpio_pogo_cb)(int); + struct max14577_regulator_platform_data *regulators; +}; + +struct max14577_regulator_platform_data { + int id; + struct regulator_init_data *initdata; + struct device_node *of_node; +}; + +struct max310x_devtype { + struct { + short unsigned int min; + short unsigned int max; + } slave_addr; + int nr; + char name[9]; + u8 mode1; + u8 rev_id_val; + u8 rev_id_reg; + u8 power_reg; + u8 power_bit; +}; + +struct max310x_if_cfg { + int (*extended_reg_enable)(struct device *, bool); + u8 rev_id_offset; +}; + +struct max310x_one { + struct uart_port port; + struct work_struct tx_work; + struct work_struct md_work; + struct work_struct rs_work; + struct regmap *regmap; + u8 rx_buf[128]; +}; + +struct max310x_port { + const struct max310x_devtype *devtype; + const struct max310x_if_cfg *if_cfg; + struct regmap *regmap; + struct clk *clk; + struct gpio_chip gpio; + struct max310x_one p[0]; +}; + +struct max77693_dev { + struct device *dev; + struct i2c_client *i2c; + struct i2c_client *i2c_muic; + struct i2c_client *i2c_haptic; + struct i2c_client *i2c_chg; + enum max77693_types type; + struct regmap *regmap; + struct regmap *regmap_muic; + struct regmap *regmap_haptic; + struct regmap *regmap_chg; + struct regmap *regmap_leds; + struct regmap_irq_chip_data *irq_data_led; + struct regmap_irq_chip_data *irq_data_topsys; + struct regmap_irq_chip_data *irq_data_chg; + struct regmap_irq_chip_data *irq_data_muic; + int irq; +}; + +struct max8925_backlight_pdata { + int lxw_scl; + int lxw_freq; + int dual_string; +}; + +struct max8925_chip { + struct device *dev; + struct i2c_client *i2c; + struct i2c_client *adc; + struct i2c_client *rtc; + struct mutex io_lock; + struct mutex irq_lock; + int irq_base; + int core_irq; + int tsc_irq; + unsigned int wakeup_flag; +}; + +struct max8925_irq_data { + int reg; + int mask_reg; + int enable; + int offs; + int flags; + int tsc_irq; +}; + +struct max8925_touch_pdata; + +struct max8925_power_pdata; + +struct max8925_platform_data { + struct max8925_backlight_pdata *backlight; + struct max8925_touch_pdata *touch; + struct max8925_power_pdata *power; + struct regulator_init_data *sd1; + struct regulator_init_data *sd2; + struct regulator_init_data *sd3; + struct regulator_init_data *ldo1; + struct regulator_init_data *ldo2; + struct regulator_init_data *ldo3; + struct regulator_init_data *ldo4; + struct regulator_init_data *ldo5; + struct regulator_init_data *ldo6; + struct regulator_init_data *ldo7; + struct regulator_init_data *ldo8; + struct regulator_init_data *ldo9; + struct regulator_init_data *ldo10; + struct regulator_init_data *ldo11; + struct regulator_init_data *ldo12; + struct regulator_init_data *ldo13; + struct regulator_init_data *ldo14; + struct regulator_init_data *ldo15; + struct regulator_init_data *ldo16; + struct regulator_init_data *ldo17; + struct regulator_init_data *ldo18; + struct regulator_init_data *ldo19; + struct regulator_init_data *ldo20; + int irq_base; + int tsc_irq; +}; + +struct max8925_power_pdata { + int (*set_charger)(int); + unsigned int batt_detect: 1; + unsigned int topoff_threshold: 2; + unsigned int fast_charge: 3; + unsigned int no_temp_support: 1; + unsigned int no_insert_detect: 1; + char **supplied_to; + int num_supplicants; +}; + +struct max8925_touch_pdata { + unsigned int flags; +}; + +struct max8997_platform_data; + +struct max8997_dev { + struct device *dev; + struct max8997_platform_data *pdata; + struct i2c_client *i2c; + struct i2c_client *rtc; + struct i2c_client *haptic; + struct i2c_client *muic; + struct mutex iolock; + long unsigned int type; + struct platform_device *battery; + int irq; + int ono; + struct irq_domain *irq_domain; + struct mutex irqlock; + int irq_masks_cur[11]; + int irq_masks_cache[11]; + u8 reg_dump[187]; + bool gpio_status[12]; +}; + +struct max8997_haptic_platform_data { + unsigned int pwm_period; + enum max8997_haptic_motor_type type; + enum max8997_haptic_pulse_mode mode; + enum max8997_haptic_pwm_divisor pwm_divisor; + unsigned int internal_mode_pattern; + unsigned int pattern_cycle; + unsigned int pattern_signal_period; +}; + +struct max8997_irq_data { + int mask; + enum max8997_irq_source group; +}; + +struct max8997_led_platform_data { + enum max8997_led_mode mode[2]; + u8 brightness[2]; +}; + +struct max8997_muic_reg_data; + +struct max8997_muic_platform_data { + struct max8997_muic_reg_data *init_data; + int num_init_data; + int detcable_delay_ms; + int path_usb; + int path_uart; +}; + +struct max8997_muic_reg_data { + u8 addr; + u8 data; +}; + +struct max8997_regulator_data; + +struct max8997_platform_data { + int ono; + struct max8997_regulator_data *regulators; + int num_regulators; + bool ignore_gpiodvs_side_effect; + int buck125_default_idx; + unsigned int buck1_voltage[8]; + bool buck1_gpiodvs; + unsigned int buck2_voltage[8]; + bool buck2_gpiodvs; + unsigned int buck5_voltage[8]; + bool buck5_gpiodvs; + int eoc_mA; + int timeout; + struct max8997_muic_platform_data *muic_pdata; + struct max8997_haptic_platform_data *haptic_pdata; + struct max8997_led_platform_data *led_pdata; +}; + +struct max8997_regulator_data { + int id; + struct regulator_init_data *initdata; + struct device_node *reg_node; +}; + +struct max8998_platform_data; + +struct max8998_dev { + struct device *dev; + struct max8998_platform_data *pdata; + struct i2c_client *i2c; + struct i2c_client *rtc; + struct mutex iolock; + struct mutex irqlock; + unsigned int irq_base; + struct irq_domain *irq_domain; + int irq; + int ono; + u8 irq_masks_cur[4]; + u8 irq_masks_cache[4]; + long unsigned int type; + bool wakeup; +}; + +struct max8998_irq_data { + int reg; + int mask; +}; + +struct max8998_regulator_data; + +struct max8998_platform_data { + struct max8998_regulator_data *regulators; + int num_regulators; + unsigned int irq_base; + int ono; + bool buck_voltage_lock; + int buck1_voltage[4]; + int buck2_voltage[2]; + int buck1_default_idx; + int buck2_default_idx; + bool wakeup; + bool rtc_delay; + int eoc; + int restart; + int timeout; +}; + +struct max8998_reg_dump { + u8 addr; + u8 val; +}; + +struct max8998_regulator_data { + int id; + struct regulator_init_data *initdata; + struct device_node *reg_node; +}; + +struct maxim_charger_current { + unsigned int min; + unsigned int high_start; + unsigned int high_step; + unsigned int max; +}; + +struct mb_cache { + struct hlist_bl_head *c_hash; + int c_bucket_bits; + long unsigned int c_max_entries; + spinlock_t c_list_lock; + struct list_head c_list; + long unsigned int c_entry_count; + struct shrinker *c_shrink; + struct work_struct c_shrink_work; +}; + +struct mb_cache_entry { + struct list_head e_list; + struct hlist_bl_node e_hash_list; + atomic_t e_refcnt; + u32 e_key; + long unsigned int e_flags; + u64 e_value; +}; + +struct mbm_correction_factor_table { + u32 rmidthreshold; + u64 cf; +}; + +struct mbm_state { + u64 prev_bw_bytes; + u32 prev_bw; +}; + +struct mbox_controller; + +struct mbox_client; + +struct mbox_chan { + struct mbox_controller *mbox; + unsigned int txdone_method; + struct mbox_client *cl; + struct completion tx_complete; + void *active_req; + unsigned int msg_count; + unsigned int msg_free; + void *msg_data[20]; + spinlock_t lock; + void *con_priv; +}; + +struct mbox_chan_ops { + int (*send_data)(struct mbox_chan *, void *); + int (*flush)(struct mbox_chan *, long unsigned int); + int (*startup)(struct mbox_chan *); + void (*shutdown)(struct mbox_chan *); + bool (*last_tx_done)(struct mbox_chan *); + bool (*peek_data)(struct mbox_chan *); +}; + +struct mbox_client { + struct device *dev; + bool tx_block; + long unsigned int tx_tout; + bool knows_txdone; + void (*rx_callback)(struct mbox_client *, void *); + void (*tx_prepare)(struct mbox_client *, void *); + void (*tx_done)(struct mbox_client *, void *, int); +}; + +struct mbox_controller { + struct device *dev; + const struct mbox_chan_ops *ops; + struct mbox_chan *chans; + int num_chans; + bool txdone_irq; + bool txdone_poll; + unsigned int txpoll_period; + struct mbox_chan * (*of_xlate)(struct mbox_controller *, const struct of_phandle_args *); + struct hrtimer poll_hrt; + spinlock_t poll_hrt_lock; + struct list_head node; +}; + +struct mc146818_get_time_callback_param { + struct rtc_time *time; + unsigned char ctrl; + unsigned char century; +}; + +struct multicall_entry { + xen_ulong_t op; + xen_long_t result; + xen_ulong_t args[6]; +}; + +struct mc_buffer { + unsigned int mcidx; + unsigned int argidx; + unsigned int cbidx; + struct multicall_entry entries[32]; + unsigned char args[512]; + struct callback callbacks[32]; +}; + +struct mc_debug_data { + struct multicall_entry entries[32]; + void *caller[32]; + size_t argsz[32]; + long unsigned int *args[32]; +}; + +struct mc_info; + +typedef struct mc_info *__guest_handle_mc_info; + +struct mc_info { + uint32_t mi_nentries; + uint32_t flags; + uint64_t mi_data[95]; +}; + +struct mc_subled { + unsigned int color_index; + unsigned int brightness; + unsigned int intensity; + unsigned int channel; +}; + +struct mca_config { + __u64 lmce_disabled: 1; + __u64 disabled: 1; + __u64 ser: 1; + __u64 recovery: 1; + __u64 bios_cmci_threshold: 1; + __u64 initialized: 1; + __u64 __reserved: 58; + bool dont_log_ce; + bool cmci_disabled; + bool ignore_ce; + bool print_all; + int monarch_timeout; + int panic_timeout; + u32 rip_msr; + s8 bootlog; +}; + +struct storm_bank { + u64 history; + u64 timestamp; + bool in_storm_mode; + bool poll_only; +}; + +struct mca_storm_desc { + struct storm_bank banks[64]; + u8 stormy_bank_count; + bool poll_mode; +}; + +struct mce_bank { + u64 ctl; + __u64 init: 1; + __u64 lsb_in_status: 1; + __u64 __reserved_1: 62; +}; + +struct mce_bank_dev { + struct device_attribute attr; + char attrname[16]; + u8 bank; +}; + +union vendor_info { + struct { + u64 synd1; + u64 synd2; + } amd; +}; + +struct mce_hw_err { + struct mce m; + union vendor_info vendor; +}; + +struct mce_evt_llist { + struct llist_node llnode; + struct mce_hw_err err; +}; + +struct mce_log_buffer { + char signature[12]; + unsigned int len; + unsigned int next; + unsigned int flags; + unsigned int recordlen; + struct mce entry[0]; +}; + +struct mce_vendor_flags { + __u64 overflow_recov: 1; + __u64 succor: 1; + __u64 smca: 1; + __u64 zen_ifu_quirk: 1; + __u64 amd_threshold: 1; + __u64 p5: 1; + __u64 winchip: 1; + __u64 snb_ifu_quirk: 1; + __u64 skx_repmov_quirk: 1; + __u64 __reserved_0: 55; +}; + +struct mcinfo_common { + uint16_t type; + uint16_t size; +}; + +struct mcinfo_bank { + struct mcinfo_common common; + uint16_t mc_bank; + uint16_t mc_domid; + uint64_t mc_status; + uint64_t mc_addr; + uint64_t mc_misc; + uint64_t mc_ctrl2; + uint64_t mc_tsc; +}; + +struct mcinfo_global { + struct mcinfo_common common; + uint16_t mc_domid; + uint16_t mc_vcpuid; + uint32_t mc_socketid; + uint16_t mc_coreid; + uint16_t mc_core_threadid; + uint32_t mc_apicid; + uint32_t mc_flags; + uint64_t mc_gstatus; +}; + +struct mcinfo_logical_cpu; + +typedef struct mcinfo_logical_cpu *__guest_handle_mcinfo_logical_cpu; + +struct mcinfo_msr { + uint64_t reg; + uint64_t value; +}; + +struct mcinfo_logical_cpu { + uint32_t mc_cpunr; + uint32_t mc_chipid; + uint16_t mc_coreid; + uint16_t mc_threadid; + uint32_t mc_apicid; + uint32_t mc_clusterid; + uint32_t mc_ncores; + uint32_t mc_ncores_active; + uint32_t mc_nthreads; + uint32_t mc_cpuid_level; + uint32_t mc_family; + uint32_t mc_vendor; + uint32_t mc_model; + uint32_t mc_step; + char mc_vendorid[16]; + char mc_brandid[64]; + uint32_t mc_cpu_caps[7]; + uint32_t mc_cache_size; + uint32_t mc_cache_alignment; + uint32_t mc_nmsrvals; + struct mcinfo_msr mc_msrvalues[8]; +}; + +struct mcs_spinlock { + struct mcs_spinlock *next; + int locked; + int count; +}; + +struct mctp_addr { + mctp_eid_t s_addr; +}; + +struct mctp_netdev_ops; + +struct mctp_dev { + struct net_device *dev; + refcount_t refs; + unsigned int net; + enum mctp_phys_binding binding; + const struct mctp_netdev_ops *ops; + u8 *addrs; + size_t num_addrs; + spinlock_t addrs_lock; + struct callback_head rcu; +}; + +struct mctp_dst { + struct mctp_dev *dev; + unsigned int mtu; + mctp_eid_t nexthop; + unsigned char halen; + unsigned char haddr[32]; + int (*output)(struct mctp_dst *, struct sk_buff *); +}; + +struct mctp_dump_cb { + long unsigned int ifindex; + size_t a_idx; +}; + +struct mctp_sk_key; + +struct mctp_flow { + struct mctp_sk_key *key; +}; + +struct mctp_fq_addr { + unsigned int net; + mctp_eid_t eid; +}; + +struct mctp_hdr { + u8 ver; + u8 dest; + u8 src; + u8 flags_seq_tag; +}; + +struct mctp_ioc_tag_ctl { + mctp_eid_t peer_addr; + __u8 tag; + __u16 flags; +}; + +struct mctp_ioc_tag_ctl2 { + unsigned int net; + mctp_eid_t peer_addr; + mctp_eid_t local_addr; + __u16 flags; + __u8 tag; +}; + +struct mctp_neigh { + struct mctp_dev *dev; + mctp_eid_t eid; + enum mctp_neigh_source source; + unsigned char ha[32]; + struct list_head list; + struct callback_head rcu; +}; + +struct mctp_netdev_ops { + void (*release_flow)(struct mctp_dev *, struct mctp_sk_key *); +}; + +struct mctp_route { + mctp_eid_t min; + mctp_eid_t max; + unsigned char type; + unsigned int mtu; + enum { + MCTP_ROUTE_DIRECT = 0, + MCTP_ROUTE_GATEWAY = 1, + } dst_type; + union { + struct mctp_dev *dev; + struct mctp_fq_addr gateway; + }; + int (*output)(struct mctp_dst *, struct sk_buff *); + struct list_head list; + refcount_t refs; + struct callback_head rcu; +}; + +struct mctp_sk_key { + unsigned int net; + mctp_eid_t peer_addr; + mctp_eid_t local_addr; + __u8 tag; + struct sock *sk; + struct hlist_node hlist; + struct hlist_node sklist; + spinlock_t lock; + refcount_t refs; + struct sk_buff *reasm_head; + struct sk_buff **reasm_tailp; + bool reasm_dead; + u8 last_seq; + bool valid; + long unsigned int expiry; + long unsigned int dev_flow_state; + struct mctp_dev *dev; + bool manual_alloc; +}; + +struct mctp_skb_cb { + unsigned int magic; + unsigned int net; + int ifindex; + unsigned char halen; + unsigned char haddr[32]; +}; + +struct mctp_sock { + struct sock sk; + unsigned int bind_net; + mctp_eid_t bind_local_addr; + mctp_eid_t bind_peer_addr; + unsigned int bind_peer_net; + bool bind_peer_set; + __u8 bind_type; + bool addr_ext; + struct hlist_head keys; + struct timer_list key_expiry; +}; + +struct mctrl_gpios { + struct uart_port *port; + struct gpio_desc *gpio[6]; + int irq[6]; + unsigned int mctrl_prev; + bool mctrl_on; +}; + +struct md5_state { + u32 hash[4]; + u64 byte_count; + u32 block[16]; +}; + +struct md_bitmap_stats { + u64 events_cleared; + int behind_writes; + bool behind_wait; + long unsigned int missing_pages; + long unsigned int file_pages; + long unsigned int sync_size; + long unsigned int pages; + struct file *file; +}; + +struct md_submodule_head { + enum md_submodule_type type; + enum md_submodule_id id; + const char *name; + struct module *owner; +}; + +struct md_rdev; + +struct md_cluster_operations { + struct md_submodule_head head; + int (*join)(struct mddev *, int); + int (*leave)(struct mddev *); + int (*slot_number)(struct mddev *); + int (*resync_info_update)(struct mddev *, sector_t, sector_t); + int (*resync_start_notify)(struct mddev *); + int (*resync_status_get)(struct mddev *); + void (*resync_info_get)(struct mddev *, sector_t *, sector_t *); + int (*metadata_update_start)(struct mddev *); + int (*metadata_update_finish)(struct mddev *); + void (*metadata_update_cancel)(struct mddev *); + int (*resync_start)(struct mddev *); + int (*resync_finish)(struct mddev *); + int (*area_resyncing)(struct mddev *, int, sector_t, sector_t); + int (*add_new_disk)(struct mddev *, struct md_rdev *); + void (*add_new_disk_cancel)(struct mddev *); + int (*new_disk_ack)(struct mddev *, bool); + int (*remove_disk)(struct mddev *, struct md_rdev *); + void (*load_bitmaps)(struct mddev *, int); + int (*gather_bitmaps)(struct md_rdev *); + int (*resize_bitmaps)(struct mddev *, sector_t, sector_t); + int (*lock_all_bitmaps)(struct mddev *); + void (*unlock_all_bitmaps)(struct mddev *); + void (*update_size)(struct mddev *, sector_t); +}; + +struct md_io_clone { + struct mddev *mddev; + struct bio *orig_bio; + long unsigned int start_time; + sector_t offset; + long unsigned int sectors; + struct bio bio_clone; +}; + +struct md_personality { + struct md_submodule_head head; + bool (*make_request)(struct mddev *, struct bio *); + int (*run)(struct mddev *); + int (*start)(struct mddev *); + void (*free)(struct mddev *, void *); + void (*status)(struct seq_file *, struct mddev *); + void (*error_handler)(struct mddev *, struct md_rdev *); + int (*hot_add_disk)(struct mddev *, struct md_rdev *); + int (*hot_remove_disk)(struct mddev *, struct md_rdev *); + int (*spare_active)(struct mddev *); + sector_t (*sync_request)(struct mddev *, sector_t, sector_t, int *); + int (*resize)(struct mddev *, sector_t); + sector_t (*size)(struct mddev *, sector_t, int); + int (*check_reshape)(struct mddev *); + int (*start_reshape)(struct mddev *); + void (*finish_reshape)(struct mddev *); + void (*update_reshape_pos)(struct mddev *); + void (*prepare_suspend)(struct mddev *); + void (*quiesce)(struct mddev *, int); + void * (*takeover)(struct mddev *); + int (*change_consistency_policy)(struct mddev *, const char *); + void (*bitmap_sector)(struct mddev *, sector_t *, long unsigned int *); +}; + +struct serial_in_rdev; + +struct md_rdev { + struct list_head same_set; + sector_t sectors; + struct mddev *mddev; + long unsigned int last_events; + struct block_device *meta_bdev; + struct block_device *bdev; + struct file *bdev_file; + struct page *sb_page; + struct page *bb_page; + int sb_loaded; + __u64 sb_events; + sector_t data_offset; + sector_t new_data_offset; + sector_t sb_start; + int sb_size; + int preferred_minor; + struct kobject kobj; + long unsigned int flags; + wait_queue_head_t blocked_wait; + int desc_nr; + int raid_disk; + int new_raid_disk; + int saved_raid_disk; + union { + sector_t recovery_offset; + sector_t journal_tail; + }; + atomic_t nr_pending; + atomic_t read_errors; + time64_t last_read_error; + atomic_t corrected_errors; + struct serial_in_rdev *serial; + struct kernfs_node *sysfs_state; + struct kernfs_node *sysfs_unack_badblocks; + struct kernfs_node *sysfs_badblocks; + struct badblocks badblocks; + struct { + short int offset; + unsigned int size; + sector_t sector; + } ppl; +}; + +struct md_setup_args { + int minor; + int partitioned; + int level; + int chunk; + char *device_names; +}; + +struct md_sysfs_entry { + struct attribute attr; + ssize_t (*show)(struct mddev *, char *); + ssize_t (*store)(struct mddev *, const char *, size_t); +}; + +struct md_thread { + void (*run)(struct md_thread *); + struct mddev *mddev; + wait_queue_head_t wqueue; + long unsigned int flags; + struct task_struct *tsk; + long unsigned int timeout; + void *private; +}; + +struct md_cluster_info; + +struct mddev { + void *private; + struct md_personality *pers; + dev_t unit; + int md_minor; + struct list_head disks; + long unsigned int flags; + long unsigned int sb_flags; + int suspended; + struct mutex suspend_mutex; + struct percpu_ref active_io; + int ro; + int sysfs_active; + struct gendisk *gendisk; + struct gendisk *dm_gendisk; + struct kobject kobj; + int hold_active; + int major_version; + int minor_version; + int patch_version; + int persistent; + int external; + char metadata_type[17]; + int chunk_sectors; + time64_t ctime; + time64_t utime; + int level; + int layout; + char clevel[16]; + int raid_disks; + int max_disks; + sector_t dev_sectors; + sector_t array_sectors; + int external_size; + __u64 events; + int can_decrease_events; + char uuid[16]; + sector_t reshape_position; + int delta_disks; + int new_level; + int new_layout; + int new_chunk_sectors; + int reshape_backwards; + struct md_thread *thread; + struct md_thread *sync_thread; + enum sync_action last_sync_action; + sector_t curr_resync; + sector_t curr_resync_completed; + long unsigned int resync_mark; + sector_t resync_mark_cnt; + sector_t curr_mark_cnt; + sector_t resync_max_sectors; + atomic64_t resync_mismatches; + sector_t suspend_lo; + sector_t suspend_hi; + int sync_speed_min; + int sync_speed_max; + int sync_io_depth; + int parallel_resync; + int ok_start_degraded; + long unsigned int recovery; + int recovery_disabled; + int in_sync; + struct mutex open_mutex; + struct mutex reconfig_mutex; + atomic_t active; + atomic_t openers; + int changed; + int degraded; + long unsigned int normal_io_events; + atomic_t recovery_active; + wait_queue_head_t recovery_wait; + sector_t resync_offset; + sector_t resync_min; + sector_t resync_max; + struct kernfs_node *sysfs_state; + struct kernfs_node *sysfs_action; + struct kernfs_node *sysfs_completed; + struct kernfs_node *sysfs_degraded; + struct kernfs_node *sysfs_level; + struct work_struct del_work; + struct work_struct sync_work; + spinlock_t lock; + wait_queue_head_t sb_wait; + atomic_t pending_writes; + unsigned int safemode; + unsigned int safemode_delay; + struct timer_list safemode_timer; + struct percpu_ref writes_pending; + int sync_checkers; + void *bitmap; + struct bitmap_operations *bitmap_ops; + struct { + struct file *file; + loff_t offset; + long unsigned int space; + loff_t default_offset; + long unsigned int default_space; + struct mutex mutex; + long unsigned int chunksize; + long unsigned int daemon_sleep; + long unsigned int max_write_behind; + int external; + int nodes; + char cluster_name[64]; + } bitmap_info; + atomic_t max_corr_read_errors; + struct list_head all_mddevs; + const struct attribute_group *to_remove; + struct bio_set bio_set; + struct bio_set sync_set; + struct bio_set io_clone_set; + struct work_struct event_work; + mempool_t *serial_info_pool; + void (*sync_super)(struct mddev *, struct md_rdev *); + struct md_cluster_info *cluster_info; + struct md_cluster_operations *cluster_ops; + unsigned int good_device_nr; + unsigned int noio_flag; + struct list_head deleting; + atomic_t sync_seq; + bool has_superblocks: 1; + bool fail_last_dev: 1; + bool serialize_policy: 1; +}; + +struct mdio_board_info { + const char *bus_id; + char modalias[32]; + int mdio_addr; + const void *platform_data; +}; + +struct mdio_board_entry { + struct list_head list; + struct mdio_board_info board_info; +}; + +struct mdio_bus_stat_attr { + int addr; + unsigned int field_offset; +}; + +struct mdio_bus_stats { + u64_stats_t transfers; + u64_stats_t errors; + u64_stats_t writes; + u64_stats_t reads; + struct u64_stats_sync syncp; +}; + +struct mdio_device { + struct device dev; + struct mii_bus *bus; + char modalias[32]; + int (*bus_match)(struct device *, const struct device_driver *); + void (*device_free)(struct mdio_device *); + void (*device_remove)(struct mdio_device *); + int addr; + int flags; + int reset_state; + struct gpio_desc *reset_gpio; + struct reset_control *reset_ctrl; + unsigned int reset_assert_delay; + unsigned int reset_deassert_delay; +}; + +struct mdio_device_id { + __u32 phy_id; + __u32 phy_id_mask; +}; + +struct mdio_driver_common { + struct device_driver driver; + int flags; +}; + +struct mdio_driver { + struct mdio_driver_common mdiodrv; + int (*probe)(struct mdio_device *); + void (*remove)(struct mdio_device *); + void (*shutdown)(struct mdio_device *); +}; + +struct mdiobus_devres { + struct mii_bus *mii; +}; + +struct mdp_device_descriptor_s { + __u32 number; + __u32 major; + __u32 minor; + __u32 raid_disk; + __u32 state; + __u32 reserved[27]; +}; + +typedef struct mdp_device_descriptor_s mdp_disk_t; + +struct mdp_superblock_1 { + __le32 magic; + __le32 major_version; + __le32 feature_map; + __le32 pad0; + __u8 set_uuid[16]; + char set_name[32]; + __le64 ctime; + __le32 level; + __le32 layout; + __le64 size; + __le32 chunksize; + __le32 raid_disks; + union { + __le32 bitmap_offset; + struct { + __le16 offset; + __le16 size; + } ppl; + }; + __le32 new_level; + __le64 reshape_position; + __le32 delta_disks; + __le32 new_layout; + __le32 new_chunk; + __le32 new_offset; + __le64 data_offset; + __le64 data_size; + __le64 super_offset; + union { + __le64 recovery_offset; + __le64 journal_tail; + }; + __le32 dev_number; + __le32 cnt_corrected_read; + __u8 device_uuid[16]; + __u8 devflags; + __u8 bblog_shift; + __le16 bblog_size; + __le32 bblog_offset; + __le64 utime; + __le64 events; + __le64 resync_offset; + __le32 sb_csum; + __le32 max_dev; + __u8 pad3[32]; + __le16 dev_roles[0]; +}; + +struct mdp_superblock_s { + __u32 md_magic; + __u32 major_version; + __u32 minor_version; + __u32 patch_version; + __u32 gvalid_words; + __u32 set_uuid0; + __u32 ctime; + __u32 level; + __u32 size; + __u32 nr_disks; + __u32 raid_disks; + __u32 md_minor; + __u32 not_persistent; + __u32 set_uuid1; + __u32 set_uuid2; + __u32 set_uuid3; + __u32 gstate_creserved[16]; + __u32 utime; + __u32 state; + __u32 active_disks; + __u32 working_disks; + __u32 failed_disks; + __u32 spare_disks; + __u32 sb_csum; + __u32 events_lo; + __u32 events_hi; + __u32 cp_events_lo; + __u32 cp_events_hi; + __u32 recovery_cp; + __u64 reshape_position; + __u32 new_level; + __u32 delta_disks; + __u32 new_layout; + __u32 new_chunk; + __u32 gstate_sreserved[14]; + __u32 layout; + __u32 chunk_size; + __u32 root_pv; + __u32 root_block; + __u32 pstate_reserved[60]; + mdp_disk_t disks[27]; + __u32 reserved[0]; + mdp_disk_t this_disk; +}; + +typedef struct mdp_superblock_s mdp_super_t; + +struct mdu_array_info_s { + int major_version; + int minor_version; + int patch_version; + unsigned int ctime; + int level; + int size; + int nr_disks; + int raid_disks; + int md_minor; + int not_persistent; + unsigned int utime; + int state; + int active_disks; + int working_disks; + int failed_disks; + int spare_disks; + int layout; + int chunk_size; +}; + +typedef struct mdu_array_info_s mdu_array_info_t; + +struct mdu_bitmap_file_s { + char pathname[4096]; +}; + +typedef struct mdu_bitmap_file_s mdu_bitmap_file_t; + +struct mdu_disk_info_s { + int number; + int major; + int minor; + int raid_disk; + int state; +}; + +typedef struct mdu_disk_info_s mdu_disk_info_t; + +struct mdu_version_s { + int major; + int minor; + int patchlevel; +}; + +typedef struct mdu_version_s mdu_version_t; + +struct media_event_desc { + __u8 media_event_code: 4; + __u8 reserved1: 4; + __u8 door_open: 1; + __u8 media_present: 1; + __u8 reserved2: 6; + __u8 start_slot; + __u8 end_slot; +}; + +struct mem_cgroup_id { + int id; + refcount_t ref; +}; + +struct vmpressure { + long unsigned int scanned; + long unsigned int reclaimed; + long unsigned int tree_scanned; + long unsigned int tree_reclaimed; + spinlock_t sr_lock; + struct list_head events; + struct mutex events_lock; + struct work_struct work; +}; + +struct wb_domain { + spinlock_t lock; + struct fprop_global completions; + struct timer_list period_timer; + long unsigned int period_time; + long unsigned int dirty_limit_tstamp; + long unsigned int dirty_limit; +}; + +struct wb_completion { + atomic_t cnt; + wait_queue_head_t *waitq; +}; + +struct memcg_cgwb_frn { + u64 bdi_id; + int memcg_id; + u64 at; + struct wb_completion done; +}; + +struct mem_cgroup_threshold_ary; + +struct mem_cgroup_thresholds { + struct mem_cgroup_threshold_ary *primary; + struct mem_cgroup_threshold_ary *spare; +}; + +struct memcg_vmstats; + +struct memcg_vmstats_percpu; + +struct memcg1_events_percpu; + +struct mem_cgroup_per_node; + +struct mem_cgroup { + struct cgroup_subsys_state css; + struct mem_cgroup_id id; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + struct page_counter memory; + union { + struct page_counter swap; + struct page_counter memsw; + }; + struct list_head memory_peaks; + struct list_head swap_peaks; + spinlock_t peaks_lock; + struct work_struct high_work; + long unsigned int zswap_max; + bool zswap_writeback; + struct vmpressure vmpressure; + bool oom_group; + int swappiness; + struct cgroup_file events_file; + struct cgroup_file events_local_file; + struct cgroup_file swap_events_file; + struct memcg_vmstats *vmstats; + atomic_long_t memory_events[9]; + atomic_long_t memory_events_local[9]; + u64 socket_pressure; + int kmemcg_id; + struct obj_cgroup *objcg; + struct obj_cgroup *orig_objcg; + struct list_head objcg_list; + struct memcg_vmstats_percpu *vmstats_percpu; + struct list_head cgwb_list; + struct wb_domain cgwb_domain; + struct memcg_cgwb_frn cgwb_frn[4]; + struct deferred_split deferred_split_queue; + struct lru_gen_mm_list mm_list; + long: 64; + long: 64; + struct page_counter kmem; + struct page_counter tcpmem; + struct memcg1_events_percpu *events_percpu; + long unsigned int soft_limit; + bool oom_lock; + int under_oom; + int oom_kill_disable; + struct mutex thresholds_lock; + struct mem_cgroup_thresholds thresholds; + struct mem_cgroup_thresholds memsw_thresholds; + struct list_head oom_notify; + bool tcpmem_active; + int tcpmem_pressure; + struct list_head event_list; + spinlock_t event_list_lock; + struct mem_cgroup_per_node *nodeinfo[0]; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct mem_cgroup_event { + struct mem_cgroup *memcg; + struct eventfd_ctx *eventfd; + struct list_head list; + int (*register_event)(struct mem_cgroup *, struct eventfd_ctx *, const char *); + void (*unregister_event)(struct mem_cgroup *, struct eventfd_ctx *); + poll_table pt; + wait_queue_head_t *wqh; + wait_queue_entry_t wait; + struct work_struct remove; +}; + +struct mem_cgroup_eventfd_list { + struct list_head list; + struct eventfd_ctx *eventfd; +}; + +struct mem_cgroup_reclaim_iter { + struct mem_cgroup *position; + atomic_t generation; +}; + +struct shrinker_info; + +struct mem_cgroup_per_node { + struct mem_cgroup *memcg; + struct lruvec_stats_percpu *lruvec_stats_percpu; + struct lruvec_stats *lruvec_stats; + struct shrinker_info *shrinker_info; + struct rb_node tree_node; + long unsigned int usage_in_excess; + bool on_tree; + struct lruvec lruvec; + long: 64; + struct cacheline_padding _pad2_; + long unsigned int lru_zone_size[25]; + struct mem_cgroup_reclaim_iter iter; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +typedef struct pglist_data pg_data_t; + +struct mem_cgroup_reclaim_cookie { + pg_data_t *pgdat; + int generation; +}; + +struct mem_cgroup_threshold { + struct eventfd_ctx *eventfd; + long unsigned int threshold; +}; + +struct mem_cgroup_threshold_ary { + int current_threshold; + unsigned int size; + struct mem_cgroup_threshold entries[0]; +}; + +struct mem_cgroup_tree_per_node; + +struct mem_cgroup_tree { + struct mem_cgroup_tree_per_node *rb_tree_per_node[1024]; +}; + +struct mem_cgroup_tree_per_node { + struct rb_root rb_root; + struct rb_node *rb_rightmost; + spinlock_t lock; +}; + +struct mcidev_sysfs_attribute; + +struct mem_ctl_info { + struct device dev; + const struct bus_type *bus; + struct list_head link; + struct module *owner; + long unsigned int mtype_cap; + long unsigned int edac_ctl_cap; + long unsigned int edac_cap; + long unsigned int scrub_cap; + enum scrub_type scrub_mode; + int (*set_sdram_scrub_rate)(struct mem_ctl_info *, u32); + int (*get_sdram_scrub_rate)(struct mem_ctl_info *); + void (*edac_check)(struct mem_ctl_info *); + long unsigned int (*ctl_page_to_phys)(struct mem_ctl_info *, long unsigned int); + int mc_idx; + struct csrow_info **csrows; + unsigned int nr_csrows; + unsigned int num_cschannel; + unsigned int n_layers; + struct edac_mc_layer *layers; + bool csbased; + unsigned int tot_dimms; + struct dimm_info **dimms; + struct device *pdev; + const char *mod_name; + const char *ctl_name; + const char *dev_name; + void *pvt_info; + long unsigned int start_time; + u32 ce_noinfo_count; + u32 ue_noinfo_count; + u32 ue_mc; + u32 ce_mc; + struct completion complete; + const struct mcidev_sysfs_attribute *mc_driver_sysfs_attributes; + struct delayed_work work; + struct edac_raw_error_desc error_desc; + int op_state; + struct dentry *debugfs; + u8 fake_inject_layer[3]; + bool fake_inject_ue; + u16 fake_inject_count; +}; + +struct quota_format_type; + +struct mem_dqinfo { + struct quota_format_type *dqi_format; + int dqi_fmt_id; + struct list_head dqi_dirty_list; + long unsigned int dqi_flags; + unsigned int dqi_bgrace; + unsigned int dqi_igrace; + qsize_t dqi_max_spc_limit; + qsize_t dqi_max_ino_limit; + void *dqi_priv; +}; + +struct mem_extent { + struct list_head hook; + long unsigned int start; + long unsigned int end; +}; + +struct mem_section_usage; + +struct mem_section { + long unsigned int section_mem_map; + struct mem_section_usage *usage; +}; + +struct mem_section_usage { + struct callback_head rcu; + long unsigned int subsection_map[1]; + long unsigned int pageblock_flags[0]; +}; + +struct mem_size_stats { + long unsigned int resident; + long unsigned int shared_clean; + long unsigned int shared_dirty; + long unsigned int private_clean; + long unsigned int private_dirty; + long unsigned int referenced; + long unsigned int anonymous; + long unsigned int lazyfree; + long unsigned int anonymous_thp; + long unsigned int shmem_thp; + long unsigned int file_thp; + long unsigned int swap; + long unsigned int shared_hugetlb; + long unsigned int private_hugetlb; + long unsigned int ksm; + u64 pss; + u64 pss_anon; + u64 pss_file; + u64 pss_shmem; + u64 pss_dirty; + u64 pss_locked; + u64 swap_pss; +}; + +struct mem_zone_bm_rtree { + struct list_head list; + struct list_head nodes; + struct list_head leaves; + long unsigned int start_pfn; + long unsigned int end_pfn; + struct rtree_node *rtree; + int levels; + unsigned int blocks; +}; + +struct memblock_region; + +struct memblock_type { + long unsigned int cnt; + long unsigned int max; + phys_addr_t total_size; + struct memblock_region *regions; + char *name; +}; + +struct memblock { + bool bottom_up; + phys_addr_t current_limit; + struct memblock_type memory; + struct memblock_type reserved; +}; + +struct memblock_region { + phys_addr_t base; + phys_addr_t size; + enum memblock_flags flags; + int nid; +}; + +struct membuf { + void *p; + size_t left; +}; + +struct memcg1_events_percpu { + long unsigned int nr_page_events; + long unsigned int targets[2]; +}; + +struct memcg_stock_pcp { + local_trylock_t lock; + uint8_t nr_pages[7]; + struct mem_cgroup *cached[7]; + struct work_struct work; + long unsigned int flags; +}; + +struct memcg_vmstats { + long int state[40]; + long unsigned int events[31]; + long int state_local[40]; + long unsigned int events_local[31]; + long int state_pending[40]; + long unsigned int events_pending[31]; + atomic_t stats_updates; +}; + +struct memcg_vmstats_percpu { + unsigned int stats_updates; + struct memcg_vmstats_percpu *parent_pcpu; + struct memcg_vmstats *vmstats; + long int state[40]; + long unsigned int events[31]; + long int state_prev[40]; + long unsigned int events_prev[31]; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct memdev { + const char *name; + const struct file_operations *fops; + fmode_t fmode; + umode_t mode; +}; + +struct memdev_dmi_entry { + u8 type; + u8 length; + u16 handle; + u16 phys_mem_array_handle; + u16 mem_err_info_handle; + u16 total_width; + u16 data_width; + u16 size; + u8 form_factor; + u8 device_set; + u8 device_locator; + u8 bank_locator; + u8 memory_type; + u16 type_detail; + u16 speed; + u8 manufacturer; + u8 serial_number; + u8 asset_tag; + u8 part_number; + u8 attributes; + u32 extended_size; + u16 conf_mem_clk_speed; +} __attribute__((packed)); + +struct memmap_attribute { + struct attribute attr; + ssize_t (*show)(struct firmware_map_entry *, char *); +}; + +struct memory_bitmap { + struct list_head zones; + struct linked_page *p_list; + struct bm_position cur; +}; + +struct memory_group; + +struct memory_block { + long unsigned int start_section_nr; + long unsigned int state; + int online_type; + int nid; + struct zone *zone; + struct device dev; + struct vmem_altmap *altmap; + struct memory_group *group; + struct list_head group_next; + atomic_long_t nr_hwpoison; +}; + +struct memory_dev_type { + struct list_head tier_sibling; + struct list_head list; + int adistance; + nodemask_t nodes; + struct kref kref; +}; + +struct memory_failure_entry { + long unsigned int pfn; + int flags; +}; + +struct memory_failure_cpu { + struct { + union { + struct __kfifo kfifo; + struct memory_failure_entry *type; + const struct memory_failure_entry *const_type; + char (*rectype)[0]; + struct memory_failure_entry *ptr; + const struct memory_failure_entry *ptr_const; + }; + struct memory_failure_entry buf[16]; + } fifo; + raw_spinlock_t lock; + struct work_struct work; +}; + +struct memory_failure_stats { + long unsigned int total; + long unsigned int ignored; + long unsigned int failed; + long unsigned int delayed; + long unsigned int recovered; +}; + +struct memory_group { + int nid; + struct list_head memory_blocks; + long unsigned int present_kernel_pages; + long unsigned int present_movable_pages; + bool is_dynamic; + union { + struct { + long unsigned int max_pages; + } s; + struct { + long unsigned int unit_pages; + } d; + }; +}; + +struct memory_initiator { + struct list_head node; + unsigned int processor_pxm; + bool has_cpu; +}; + +struct memory_locality { + struct list_head node; + struct acpi_hmat_locality *hmat_loc; +}; + +struct memory_notify { + long unsigned int altmap_start_pfn; + long unsigned int altmap_nr_pages; + long unsigned int start_pfn; + long unsigned int nr_pages; +}; + +struct netdev_rx_queue; + +struct memory_provider_ops { + netmem_ref (*alloc_netmems)(struct page_pool *, gfp_t); + bool (*release_netmem)(struct page_pool *, netmem_ref); + int (*init)(struct page_pool *); + void (*destroy)(struct page_pool *); + int (*nl_fill)(void *, struct sk_buff *, struct netdev_rx_queue *); + void (*uninstall)(void *, struct netdev_rx_queue *); +}; + +struct memory_stat { + const char *name; + unsigned int idx; +}; + +struct node_cache_attrs { + enum cache_indexing indexing; + enum cache_write_policy write_policy; + u64 size; + u16 line_size; + u8 level; + u16 address_mode; +}; + +struct memory_target { + struct list_head node; + unsigned int memory_pxm; + unsigned int processor_pxm; + struct resource memregions; + struct access_coordinate coord[4]; + struct list_head caches; + struct node_cache_attrs cache_attrs; + u8 gen_port_device_handle[16]; + bool registered; + bool ext_updated; +}; + +struct memory_tier { + struct list_head list; + struct list_head memory_types; + int adistance_start; + struct device dev; + nodemask_t lower_tier_mask; +}; + +struct mempolicy { + atomic_t refcnt; + short unsigned int mode; + short unsigned int flags; + nodemask_t nodes; + int home_node; + union { + nodemask_t cpuset_mems_allowed; + nodemask_t user_nodemask; + } w; +}; + +struct mempolicy_operations { + int (*create)(struct mempolicy *, const nodemask_t *); + void (*rebind)(struct mempolicy *, const nodemask_t *); +}; + +struct memtype { + u64 start; + u64 end; + u64 subtree_max_end; + enum page_cache_mode type; + struct rb_node rb; +}; + +struct menu_device { + int needs_update; + int tick_wakeup; + u64 next_timer_ns; + unsigned int bucket; + unsigned int correction_factor[6]; + unsigned int intervals[8]; + int interval_ptr; +}; + +struct meta_entry { + u64 data_block; + unsigned int index_block; + short unsigned int offset; + short unsigned int pad; +}; + +struct meta_index { + unsigned int inode_number; + unsigned int offset; + short unsigned int entries; + short unsigned int skip; + short unsigned int locked; + short unsigned int pad; + struct meta_entry meta_entry[127]; +}; + +struct xfrm_md_info { + u32 if_id; + int link; + struct dst_entry *dst_orig; +}; + +struct metadata_dst { + struct dst_entry dst; + enum metadata_type type; + union { + struct ip_tunnel_info tun_info; + struct hw_port_info port_info; + struct macsec_info macsec_info; + struct xfrm_md_info xfrm_info; + } u; +}; + +struct mf6cctl { + struct sockaddr_in6 mf6cc_origin; + struct sockaddr_in6 mf6cc_mcastgrp; + mifi_t mf6cc_parent; + struct if_set mf6cc_ifset; +}; + +struct mr_mfc { + struct rhlist_head mnode; + short unsigned int mfc_parent; + int mfc_flags; + union { + struct { + long unsigned int expires; + struct sk_buff_head unresolved; + } unres; + struct { + long unsigned int last_assert; + int minvif; + int maxvif; + atomic_long_t bytes; + atomic_long_t pkt; + atomic_long_t wrong_if; + long unsigned int lastuse; + unsigned char ttls[32]; + refcount_t refcount; + } res; + } mfc_un; + struct list_head list; + struct callback_head rcu; + void (*free)(struct callback_head *); +}; + +struct mfc6_cache_cmp_arg { + struct in6_addr mf6c_mcastgrp; + struct in6_addr mf6c_origin; +}; + +struct mfc6_cache { + struct mr_mfc _c; + union { + struct { + struct in6_addr mf6c_mcastgrp; + struct in6_addr mf6c_origin; + }; + struct mfc6_cache_cmp_arg cmparg; + }; +}; + +struct mfc_cache_cmp_arg { + __be32 mfc_mcastgrp; + __be32 mfc_origin; +}; + +struct mfc_cache { + struct mr_mfc _c; + union { + struct { + __be32 mfc_mcastgrp; + __be32 mfc_origin; + }; + struct mfc_cache_cmp_arg cmparg; + }; +}; + +struct mfc_entry_notifier_info { + struct fib_notifier_info info; + struct mr_mfc *mfc; + u32 tb_id; +}; + +struct mfcctl { + struct in_addr mfcc_origin; + struct in_addr mfcc_mcastgrp; + vifi_t mfcc_parent; + unsigned char mfcc_ttls[32]; + unsigned int mfcc_pkt_cnt; + unsigned int mfcc_byte_cnt; + unsigned int mfcc_wrong_if; + int mfcc_expire; +}; + +struct mfd_cell_acpi_match; + +struct mfd_cell { + const char *name; + int id; + int level; + int (*suspend)(struct platform_device *); + int (*resume)(struct platform_device *); + const void *platform_data; + size_t pdata_size; + const struct mfd_cell_acpi_match *acpi_match; + const struct software_node *swnode; + const char *of_compatible; + u64 of_reg; + bool use_of_reg; + int num_resources; + const struct resource *resources; + bool ignore_resource_conflicts; + bool pm_runtime_no_callbacks; + int num_parent_supplies; + const char * const *parent_supplies; +}; + +struct mfd_cell_acpi_match { + const char *pnpid; + const long long unsigned int adr; +}; + +struct mfd_of_node_entry { + struct list_head list; + struct device *dev; + struct device_node *np; +}; + +struct mhp_params { + struct vmem_altmap *altmap; + pgprot_t pgprot; + struct dev_pagemap *pgmap; +}; + +struct microcode_header_amd { + u32 data_code; + u32 patch_id; + u16 mc_patch_data_id; + u8 mc_patch_data_len; + u8 init_flag; + u32 mc_patch_data_checksum; + u32 nb_dev_id; + u32 sb_dev_id; + u16 processor_rev_id; + u8 nb_rev_id; + u8 sb_rev_id; + u8 bios_api_rev; + u8 reserved1[3]; + u32 match_reg[8]; +}; + +struct microcode_amd { + struct microcode_header_amd hdr; + unsigned int mpb[0]; +}; + +struct microcode_header_intel { + unsigned int hdrver; + unsigned int rev; + unsigned int date; + unsigned int sig; + unsigned int cksum; + unsigned int ldrver; + unsigned int pf; + unsigned int datasize; + unsigned int totalsize; + unsigned int metasize; + unsigned int min_req_ver; + unsigned int reserved; +}; + +struct microcode_intel { + struct microcode_header_intel hdr; + unsigned int bits[0]; +}; + +struct microcode_ops { + enum ucode_state (*request_microcode_fw)(int, struct device *); + void (*microcode_fini_cpu)(int); + enum ucode_state (*apply_microcode)(int); + int (*collect_cpu_info)(int, struct cpu_signature *); + void (*finalize_late_load)(int); + unsigned int nmi_safe: 1; + unsigned int use_nmi: 1; +}; + +struct mid8250_board; + +struct mid8250 { + int line; + int dma_index; + struct pci_dev *dma_dev; + struct uart_8250_dma dma; + struct mid8250_board *board; + struct hsu_dma_chip dma_chip; +}; + +struct mid8250_board { + long unsigned int freq; + unsigned int base_baud; + unsigned int bar; + int (*setup)(struct mid8250 *, struct uart_port *); + void (*exit)(struct mid8250 *); +}; + +struct mif6ctl { + mifi_t mif6c_mifi; + unsigned char mif6c_flags; + unsigned char vifc_threshold; + __u16 mif6c_pifi; + unsigned int vifc_rate_limit; +}; + +struct migrate_pages_stats { + int nr_succeeded; + int nr_failed_pages; + int nr_thp_succeeded; + int nr_thp_failed; + int nr_thp_split; + int nr_split; +}; + +struct migrate_struct { + ext4_lblk_t first_block; + ext4_lblk_t last_block; + ext4_lblk_t curr_block; + ext4_fsblk_t first_pblock; + ext4_fsblk_t last_pblock; +}; + +struct migrate_vma { + struct vm_area_struct *vma; + long unsigned int *dst; + long unsigned int *src; + long unsigned int cpages; + long unsigned int npages; + long unsigned int start; + long unsigned int end; + void *pgmap_owner; + long unsigned int flags; + struct page *fault_page; +}; + +struct set_affinity_pending; + +struct migration_arg { + struct task_struct *task; + int dest_cpu; + struct set_affinity_pending *pending; +}; + +struct migration_mpol { + struct mempolicy *pol; + long unsigned int ilx; +}; + +struct migration_swap_arg { + struct task_struct *src_task; + struct task_struct *dst_task; + int src_cpu; + int dst_cpu; +}; + +struct migration_target_control { + int nid; + nodemask_t *nmask; + gfp_t gfp_mask; + enum migrate_reason reason; +}; + +struct phy_package_shared; + +struct mii_bus { + struct module *owner; + const char *name; + char id[61]; + void *priv; + int (*read)(struct mii_bus *, int, int); + int (*write)(struct mii_bus *, int, int, u16); + int (*read_c45)(struct mii_bus *, int, int, int); + int (*write_c45)(struct mii_bus *, int, int, int, u16); + int (*reset)(struct mii_bus *); + struct mdio_bus_stats stats[32]; + struct mutex mdio_lock; + struct device *parent; + enum { + MDIOBUS_ALLOCATED = 1, + MDIOBUS_REGISTERED = 2, + MDIOBUS_UNREGISTERED = 3, + MDIOBUS_RELEASED = 4, + } state; + struct device dev; + struct mdio_device *mdio_map[32]; + u32 phy_mask; + u32 phy_ignore_ta_mask; + int irq[32]; + int reset_delay_us; + int reset_post_delay_us; + struct gpio_desc *reset_gpiod; + struct mutex shared_lock; + struct phy_package_shared *shared[32]; +}; + +struct mii_ioctl_data { + __u16 phy_id; + __u16 reg_num; + __u16 val_in; + __u16 val_out; +}; + +struct mii_timestamper { + bool (*rxtstamp)(struct mii_timestamper *, struct sk_buff *, int); + void (*txtstamp)(struct mii_timestamper *, struct sk_buff *, int); + int (*hwtstamp)(struct mii_timestamper *, struct kernel_hwtstamp_config *, struct netlink_ext_ack *); + void (*link_state)(struct mii_timestamper *, struct phy_device *); + int (*ts_info)(struct mii_timestamper *, struct kernel_ethtool_ts_info *); + struct device *device; +}; + +struct mii_timestamping_ctrl { + struct mii_timestamper * (*probe_channel)(struct device *, unsigned int); + void (*release_channel)(struct device *, struct mii_timestamper *); +}; + +struct mii_timestamping_desc { + struct list_head list; + struct mii_timestamping_ctrl *ctrl; + struct device *device; +}; + +struct min_heap_callbacks { + bool (*less)(const void *, const void *, void *); + void (*swp)(void *, void *, void *); +}; + +struct min_heap_char { + size_t nr; + size_t size; + char *data; + char preallocated[0]; +}; + +typedef struct min_heap_char min_heap_char; + +struct tcf_proto; + +struct mini_Qdisc { + struct tcf_proto *filter_list; + struct tcf_block *block; + struct gnet_stats_basic_sync *cpu_bstats; + struct gnet_stats_queue *cpu_qstats; + long unsigned int rcu_state; +}; + +struct mini_Qdisc_pair { + struct mini_Qdisc miniq1; + struct mini_Qdisc miniq2; + struct mini_Qdisc **p_miniq; +}; + +struct minimode { + short int w; + short int h; + short int r; + short int rb; +}; + +struct minmax_sample { + u32 t; + u32 v; +}; + +struct minmax { + struct minmax_sample s[3]; +}; + +struct mipi_dsi_host; + +struct mipi_dsi_device { + struct mipi_dsi_host *host; + struct device dev; + bool attached; + char name[20]; + unsigned int channel; + unsigned int lanes; + enum mipi_dsi_pixel_format format; + long unsigned int mode_flags; + long unsigned int hs_rate; + long unsigned int lp_rate; + struct drm_dsc_config *dsc; +}; + +struct mipi_dsi_device_info { + char type[20]; + u32 channel; + struct device_node *node; +}; + +struct mipi_dsi_driver { + struct device_driver driver; + int (*probe)(struct mipi_dsi_device *); + void (*remove)(struct mipi_dsi_device *); + void (*shutdown)(struct mipi_dsi_device *); +}; + +struct mipi_dsi_host_ops; + +struct mipi_dsi_host { + struct device *dev; + const struct mipi_dsi_host_ops *ops; + struct list_head list; +}; + +struct mipi_dsi_msg; + +struct mipi_dsi_host_ops { + int (*attach)(struct mipi_dsi_host *, struct mipi_dsi_device *); + int (*detach)(struct mipi_dsi_host *, struct mipi_dsi_device *); + ssize_t (*transfer)(struct mipi_dsi_host *, const struct mipi_dsi_msg *); +}; + +struct mipi_dsi_msg { + u8 channel; + u8 type; + u16 flags; + size_t tx_len; + const void *tx_buf; + size_t rx_len; + void *rx_buf; +}; + +struct mipi_dsi_multi_context { + struct mipi_dsi_device *dsi; + int accum_err; +}; + +struct mipi_dsi_packet { + size_t size; + u8 header[4]; + size_t payload_length; + const u8 *payload; +}; + +struct misc_res { + u64 max; + atomic64_t watermark; + atomic64_t usage; + atomic64_t events; + atomic64_t events_local; +}; + +struct misc_cg { + struct cgroup_subsys_state css; + struct cgroup_file events_file; + struct cgroup_file events_local_file; + struct misc_res res[3]; +}; + +struct miscdevice { + int minor; + const char *name; + const struct file_operations *fops; + struct list_head list; + struct device *parent; + struct device *this_device; + const struct attribute_group **groups; + const char *nodename; + umode_t mode; +}; + +struct mld2_grec { + __u8 grec_type; + __u8 grec_auxwords; + __be16 grec_nsrcs; + struct in6_addr grec_mca; + struct in6_addr grec_src[0]; +}; + +struct mld2_query { + struct icmp6hdr mld2q_hdr; + struct in6_addr mld2q_mca; + __u8 mld2q_qrv: 3; + __u8 mld2q_suppress: 1; + __u8 mld2q_resv2: 4; + __u8 mld2q_qqic; + __be16 mld2q_nsrcs; + struct in6_addr mld2q_srcs[0]; +}; + +struct mld2_report { + struct icmp6hdr mld2r_hdr; + struct mld2_grec mld2r_grec[0]; +}; + +struct mld_msg { + struct icmp6hdr mld_hdr; + struct in6_addr mld_mca; +}; + +struct mlock_fbatch { + local_lock_t lock; + struct folio_batch fbatch; +}; + +struct mm_cid { + u64 time; + int cid; + int recent_cid; +}; + +struct mm_reply_data { + struct ethnl_reply_data base; + struct ethtool_mm_state state; + struct ethtool_mm_stats stats; +}; + +typedef struct mm_struct *class_mmap_read_lock_t; + +struct xol_area; + +struct uprobes_state { + struct xol_area *xol_area; +}; + +struct mmu_notifier_subscriptions; + +struct mm_struct { + struct { + struct { + atomic_t mm_count; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + }; + struct maple_tree mm_mt; + long unsigned int mmap_base; + long unsigned int mmap_legacy_base; + long unsigned int mmap_compat_base; + long unsigned int mmap_compat_legacy_base; + long unsigned int task_size; + pgd_t *pgd; + atomic_t membarrier_state; + atomic_t mm_users; + struct mm_cid *pcpu_cid; + long unsigned int mm_cid_next_scan; + unsigned int nr_cpus_allowed; + atomic_t max_nr_cid; + raw_spinlock_t cpus_allowed_lock; + atomic_long_t pgtables_bytes; + int map_count; + spinlock_t page_table_lock; + struct rw_semaphore mmap_lock; + struct list_head mmlist; + struct rcuwait vma_writer_wait; + seqcount_t mm_lock_seq; + struct mutex futex_hash_lock; + struct futex_private_hash *futex_phash; + struct futex_private_hash *futex_phash_new; + long unsigned int futex_batches; + struct callback_head futex_rcu; + atomic_long_t futex_atomic; + unsigned int *futex_ref; + long unsigned int hiwater_rss; + long unsigned int hiwater_vm; + long unsigned int total_vm; + long unsigned int locked_vm; + atomic64_t pinned_vm; + long unsigned int data_vm; + long unsigned int exec_vm; + long unsigned int stack_vm; + vm_flags_t def_flags; + seqcount_t write_protect_seq; + spinlock_t arg_lock; + long unsigned int start_code; + long unsigned int end_code; + long unsigned int start_data; + long unsigned int end_data; + long unsigned int start_brk; + long unsigned int brk; + long unsigned int start_stack; + long unsigned int arg_start; + long unsigned int arg_end; + long unsigned int env_start; + long unsigned int env_end; + long unsigned int saved_auxv[52]; + struct percpu_counter rss_stat[4]; + struct linux_binfmt *binfmt; + mm_context_t context; + long unsigned int flags; + spinlock_t ioctx_lock; + struct kioctx_table *ioctx_table; + struct task_struct *owner; + struct user_namespace *user_ns; + struct file *exe_file; + struct mmu_notifier_subscriptions *notifier_subscriptions; + long unsigned int numa_next_scan; + long unsigned int numa_scan_offset; + int numa_scan_seq; + atomic_t tlb_flush_pending; + atomic_t tlb_flush_batched; + struct uprobes_state uprobes_state; + atomic_long_t hugetlb_usage; + struct work_struct async_put_work; + struct iommu_mm_data *iommu_mm; + long unsigned int ksm_merging_pages; + long unsigned int ksm_rmap_items; + atomic_long_t ksm_zero_pages; + struct { + struct list_head list; + long unsigned int bitmap; + struct mem_cgroup *memcg; + } lru_gen; + mm_id_t mm_id; + long: 64; + long: 64; + long: 64; + }; + long unsigned int cpu_bitmap[0]; +}; + +struct mm_struct__safe_rcu_or_null { + struct file *exe_file; +}; + +struct mm_walk_ops; + +struct mm_walk { + const struct mm_walk_ops *ops; + struct mm_struct *mm; + pgd_t *pgd; + struct vm_area_struct *vma; + enum page_walk_action action; + bool no_vma; + void *private; +}; + +struct mm_walk_ops { + int (*pgd_entry)(pgd_t *, long unsigned int, long unsigned int, struct mm_walk *); + int (*p4d_entry)(p4d_t *, long unsigned int, long unsigned int, struct mm_walk *); + int (*pud_entry)(pud_t *, long unsigned int, long unsigned int, struct mm_walk *); + int (*pmd_entry)(pmd_t *, long unsigned int, long unsigned int, struct mm_walk *); + int (*pte_entry)(pte_t *, long unsigned int, long unsigned int, struct mm_walk *); + int (*pte_hole)(long unsigned int, long unsigned int, int, struct mm_walk *); + int (*hugetlb_entry)(pte_t *, long unsigned int, long unsigned int, long unsigned int, struct mm_walk *); + int (*test_walk)(long unsigned int, long unsigned int, struct mm_walk *); + int (*pre_vma)(long unsigned int, long unsigned int, struct mm_walk *); + void (*post_vma)(struct mm_walk *); + int (*install_pte)(long unsigned int, long unsigned int, pte_t *, struct mm_walk *); + enum page_walk_lock walk_lock; +}; + +struct mmap_arg_struct32 { + unsigned int addr; + unsigned int len; + unsigned int prot; + unsigned int flags; + unsigned int fd; + unsigned int offset; +}; + +struct vma_munmap_struct { + struct vma_iterator *vmi; + struct vm_area_struct *vma; + struct vm_area_struct *prev; + struct vm_area_struct *next; + struct list_head *uf; + long unsigned int start; + long unsigned int end; + long unsigned int unmap_start; + long unsigned int unmap_end; + int vma_count; + bool unlock; + bool clear_ptes; + long unsigned int nr_pages; + long unsigned int locked_vm; + long unsigned int nr_accounted; + long unsigned int exec_vm; + long unsigned int stack_vm; + long unsigned int data_vm; +}; + +struct mmap_state { + struct mm_struct *mm; + struct vma_iterator *vmi; + long unsigned int addr; + long unsigned int end; + long unsigned int pgoff; + long unsigned int pglen; + vm_flags_t vm_flags; + struct file *file; + pgprot_t page_prot; + const struct vm_operations_struct *vm_ops; + void *vm_private_data; + long unsigned int charged; + struct vm_area_struct *prev; + struct vm_area_struct *next; + struct vma_munmap_struct vms; + struct ma_state mas_detach; + struct maple_tree mt_detach; + bool check_ksm_early; +}; + +struct mmap_unlock_irq_work { + struct irq_work irq_work; + struct mm_struct *mm; +}; + +struct uhs2_command { + u16 header; + u16 arg; + __be32 payload[2]; + u8 payload_len; + u8 packet_len; + u8 tmode_half_duplex; + u8 uhs2_resp[20]; + u8 uhs2_resp_len; +}; + +struct mmc_command; + +struct mmc_data; + +struct mmc_host; + +struct mmc_request { + struct mmc_command *sbc; + struct mmc_command *cmd; + struct mmc_data *data; + struct mmc_command *stop; + struct completion completion; + struct completion cmd_completion; + void (*done)(struct mmc_request *); + void (*recovery_notifier)(struct mmc_request *); + struct mmc_host *host; + bool cap_cmd_during_tfr; + int tag; + const struct bio_crypt_ctx *crypto_ctx; + int crypto_key_slot; + struct uhs2_command uhs2_cmd; +}; + +struct mmc_command { + u32 opcode; + u32 arg; + u32 resp[4]; + unsigned int flags; + unsigned int retries; + int error; + unsigned int busy_timeout; + struct mmc_data *data; + struct mmc_request *mrq; + struct uhs2_command *uhs2_cmd; + bool has_ext_addr; + u8 ext_addr; +}; + +struct mmc_data { + unsigned int timeout_ns; + unsigned int timeout_clks; + unsigned int blksz; + unsigned int blocks; + unsigned int blk_addr; + int error; + unsigned int flags; + unsigned int bytes_xfered; + struct mmc_command *stop; + struct mmc_request *mrq; + unsigned int sg_len; + int sg_count; + struct scatterlist *sg; + s32 host_cookie; +}; + +struct mmc_blk_request { + struct mmc_request mrq; + struct mmc_command sbc; + struct mmc_command cmd; + struct mmc_command stop; + struct mmc_data data; +}; + +struct mmc_bus_ops { + void (*remove)(struct mmc_host *); + void (*detect)(struct mmc_host *); + int (*pre_suspend)(struct mmc_host *); + int (*suspend)(struct mmc_host *); + int (*resume)(struct mmc_host *); + int (*runtime_suspend)(struct mmc_host *); + int (*runtime_resume)(struct mmc_host *); + int (*alive)(struct mmc_host *); + int (*shutdown)(struct mmc_host *); + int (*hw_reset)(struct mmc_host *); + int (*sw_reset)(struct mmc_host *); + bool (*cache_enabled)(struct mmc_host *); + int (*flush_cache)(struct mmc_host *); +}; + +struct mmc_busy_data { + struct mmc_card *card; + bool retry_crc_err; + enum mmc_busy_cmd busy_cmd; +}; + +struct mmc_cid { + unsigned int manfid; + char prod_name[8]; + unsigned char prv; + unsigned int serial; + short unsigned int oemid; + short unsigned int year; + unsigned char hwrev; + unsigned char fwrev; + unsigned char month; +}; + +struct mmc_csd { + unsigned char structure; + unsigned char mmca_vsn; + short unsigned int cmdclass; + short unsigned int taac_clks; + unsigned int taac_ns; + unsigned int c_size; + unsigned int r2w_factor; + unsigned int max_dtr; + unsigned int erase_size; + unsigned int wp_grp_size; + unsigned int read_blkbits; + unsigned int write_blkbits; + sector_t capacity; + unsigned int read_partial: 1; + unsigned int read_misalign: 1; + unsigned int write_partial: 1; + unsigned int write_misalign: 1; + unsigned int dsr_imp: 1; +}; + +struct mmc_ext_csd { + u8 rev; + u8 erase_group_def; + u8 sec_feature_support; + u8 rel_sectors; + u8 rel_param; + bool enhanced_rpmb_supported; + u8 part_config; + u8 cache_ctrl; + u8 rst_n_function; + unsigned int part_time; + unsigned int sa_timeout; + unsigned int generic_cmd6_time; + unsigned int power_off_longtime; + u8 power_off_notification; + unsigned int hs_max_dtr; + unsigned int hs200_max_dtr; + unsigned int sectors; + unsigned int hc_erase_size; + unsigned int hc_erase_timeout; + unsigned int sec_trim_mult; + unsigned int sec_erase_mult; + unsigned int trim_timeout; + bool partition_setting_completed; + long long unsigned int enhanced_area_offset; + unsigned int enhanced_area_size; + unsigned int cache_size; + bool hpi_en; + bool hpi; + unsigned int hpi_cmd; + bool bkops; + bool man_bkops_en; + bool auto_bkops_en; + unsigned int data_sector_size; + unsigned int data_tag_unit_size; + unsigned int boot_ro_lock; + bool boot_ro_lockable; + bool ffu_capable; + bool cmdq_en; + bool cmdq_support; + unsigned int cmdq_depth; + u8 fwrev[8]; + u8 raw_exception_status; + u8 raw_partition_support; + u8 raw_rpmb_size_mult; + u8 raw_erased_mem_count; + u8 strobe_support; + u8 raw_ext_csd_structure; + u8 raw_card_type; + u8 raw_driver_strength; + u8 out_of_int_time; + u8 raw_pwr_cl_52_195; + u8 raw_pwr_cl_26_195; + u8 raw_pwr_cl_52_360; + u8 raw_pwr_cl_26_360; + u8 raw_s_a_timeout; + u8 raw_hc_erase_gap_size; + u8 raw_erase_timeout_mult; + u8 raw_hc_erase_grp_size; + u8 raw_boot_mult; + u8 raw_sec_trim_mult; + u8 raw_sec_erase_mult; + u8 raw_sec_feature_support; + u8 raw_trim_mult; + u8 raw_pwr_cl_200_195; + u8 raw_pwr_cl_200_360; + u8 raw_pwr_cl_ddr_52_195; + u8 raw_pwr_cl_ddr_52_360; + u8 raw_pwr_cl_ddr_200_360; + u8 raw_bkops_status; + u8 raw_sectors[4]; + u8 pre_eol_info; + u8 device_life_time_est_typ_a; + u8 device_life_time_est_typ_b; + unsigned int feature_support; +}; + +struct sd_scr { + unsigned char sda_vsn; + unsigned char sda_spec3; + unsigned char sda_spec4; + unsigned char sda_specx; + unsigned char bus_widths; + unsigned char cmds; +}; + +struct sd_ssr { + unsigned int au; + unsigned int erase_timeout; + unsigned int erase_offset; +}; + +struct sd_switch_caps { + unsigned int hs_max_dtr; + unsigned int uhs_max_dtr; + unsigned int sd3_bus_mode; + unsigned int sd3_drv_type; + unsigned int sd3_curr_limit; +}; + +struct sd_ext_reg { + u8 fno; + u8 page; + u16 offset; + u8 rev; + u8 feature_enabled; + u8 feature_support; +}; + +struct sd_uhs2_config { + u32 node_id; + u32 n_fcu; + u32 maxblk_len; + u8 n_lanes; + u8 dadr_len; + u8 app_type; + u8 phy_minor_rev; + u8 phy_major_rev; + u8 can_hibernate; + u8 n_lss_sync; + u8 n_lss_dir; + u8 link_minor_rev; + u8 link_major_rev; + u8 dev_type; + u8 n_data_gap; + u32 n_fcu_set; + u32 maxblk_len_set; + u8 n_lanes_set; + u8 speed_range_set; + u8 n_lss_sync_set; + u8 n_lss_dir_set; + u8 n_data_gap_set; + u8 max_retry_set; +}; + +struct sdio_cccr { + unsigned int sdio_vsn; + unsigned int sd_vsn; + unsigned int multi_block: 1; + unsigned int low_speed: 1; + unsigned int wide_bus: 1; + unsigned int high_power: 1; + unsigned int high_speed: 1; + unsigned int disable_cd: 1; + unsigned int enable_async_irq: 1; +}; + +struct sdio_cis { + short unsigned int vendor; + short unsigned int device; + short unsigned int blksize; + unsigned int max_dtr; +}; + +struct mmc_part { + u64 size; + unsigned int part_cfg; + char name[20]; + bool force_ro; + unsigned int area_type; +}; + +struct sdio_func_tuple; + +struct mmc_card { + struct mmc_host *host; + struct device dev; + u32 ocr; + unsigned int rca; + unsigned int type; + unsigned int state; + unsigned int quirks; + unsigned int quirk_max_rate; + bool written_flag; + bool reenable_cmdq; + unsigned int erase_size; + unsigned int erase_shift; + unsigned int pref_erase; + unsigned int eg_boundary; + unsigned int erase_arg; + u8 erased_byte; + unsigned int wp_grp_size; + u32 raw_cid[4]; + u32 raw_csd[4]; + u32 raw_scr[2]; + u32 raw_ssr[16]; + struct mmc_cid cid; + struct mmc_csd csd; + struct mmc_ext_csd ext_csd; + struct sd_scr scr; + struct sd_ssr ssr; + struct sd_switch_caps sw_caps; + struct sd_ext_reg ext_power; + struct sd_ext_reg ext_perf; + struct sd_uhs2_config uhs2_config; + unsigned int sdio_funcs; + atomic_t sdio_funcs_probed; + struct sdio_cccr cccr; + struct sdio_cis cis; + struct sdio_func *sdio_func[7]; + struct sdio_func *sdio_single_irq; + u8 major_rev; + u8 minor_rev; + unsigned int num_info; + const char **info; + struct sdio_func_tuple *tuples; + unsigned int sd_bus_speed; + unsigned int mmc_avail_type; + unsigned int drive_strength; + struct dentry *debugfs_root; + struct mmc_part part[7]; + unsigned int nr_parts; + struct workqueue_struct *complete_wq; +}; + +struct mmc_clk_phase { + bool valid; + u16 in_deg; + u16 out_deg; +}; + +struct mmc_clk_phase_map { + struct mmc_clk_phase phase[11]; +}; + +struct mmc_cqe_ops { + int (*cqe_enable)(struct mmc_host *, struct mmc_card *); + void (*cqe_disable)(struct mmc_host *); + int (*cqe_request)(struct mmc_host *, struct mmc_request *); + void (*cqe_post_req)(struct mmc_host *, struct mmc_request *); + void (*cqe_off)(struct mmc_host *); + int (*cqe_wait_for_idle)(struct mmc_host *); + bool (*cqe_timeout)(struct mmc_host *, struct mmc_request *, bool *); + void (*cqe_recovery_start)(struct mmc_host *); + void (*cqe_recovery_finish)(struct mmc_host *); +}; + +struct mmc_ctx { + struct task_struct *task; +}; + +struct mmc_driver { + struct device_driver drv; + int (*probe)(struct mmc_card *); + void (*remove)(struct mmc_card *); + void (*shutdown)(struct mmc_card *); +}; + +struct mmc_fixup { + const char *name; + u64 rev_start; + u64 rev_end; + unsigned int manfid; + short unsigned int oemid; + short unsigned int year; + unsigned char month; + u16 cis_vendor; + u16 cis_device; + unsigned int ext_csd_rev; + const char *of_compatible; + void (*vendor_fixup)(struct mmc_card *, int); + int data; +}; + +struct mmc_gpio { + struct gpio_desc *ro_gpio; + struct gpio_desc *cd_gpio; + irq_handler_t cd_gpio_isr; + char *ro_label; + char *cd_label; + u32 cd_debounce_delay_ms; + int cd_irq; +}; + +struct sd_uhs2_caps { + u32 dap; + u32 gap; + u32 group_desc; + u32 maxblk_len; + u32 n_fcu; + u8 n_lanes; + u8 addr64; + u8 card_type; + u8 phy_rev; + u8 speed_range; + u8 n_lss_sync; + u8 n_lss_dir; + u8 link_rev; + u8 host_type; + u8 n_data_gap; + u32 maxblk_len_set; + u32 n_fcu_set; + u8 n_lanes_set; + u8 n_lss_sync_set; + u8 n_lss_dir_set; + u8 n_data_gap_set; + u8 max_retry_set; +}; + +struct mmc_ios { + unsigned int clock; + short unsigned int vdd; + unsigned int power_delay_ms; + unsigned char bus_mode; + unsigned char chip_select; + unsigned char power_mode; + unsigned char bus_width; + unsigned char timing; + unsigned char signal_voltage; + unsigned char vqmmc2_voltage; + unsigned char drv_type; + bool enhanced_strobe; +}; + +struct mmc_slot { + int cd_irq; + bool cd_wake_enabled; + void *handler_priv; +}; + +struct mmc_supply { + struct regulator *vmmc; + struct regulator *vqmmc; + struct regulator *vqmmc2; +}; + +struct mmc_host_ops; + +struct mmc_pwrseq; + +struct mmc_host { + struct device *parent; + struct device class_dev; + int index; + const struct mmc_host_ops *ops; + struct mmc_pwrseq *pwrseq; + unsigned int f_min; + unsigned int f_max; + unsigned int f_init; + u32 ocr_avail; + u32 ocr_avail_sdio; + u32 ocr_avail_sd; + u32 ocr_avail_mmc; + struct wakeup_source *ws; + u32 max_current_330; + u32 max_current_300; + u32 max_current_180; + u32 caps; + u32 caps2; + bool uhs2_sd_tran; + bool uhs2_app_cmd; + struct sd_uhs2_caps uhs2_caps; + int fixed_drv_type; + mmc_pm_flag_t pm_caps; + unsigned int max_seg_size; + short unsigned int max_segs; + short unsigned int unused; + unsigned int max_req_size; + unsigned int max_blk_size; + unsigned int max_blk_count; + unsigned int max_busy_timeout; + spinlock_t lock; + struct mmc_ios ios; + unsigned int use_spi_crc: 1; + unsigned int claimed: 1; + unsigned int doing_init_tune: 1; + unsigned int can_retune: 1; + unsigned int doing_retune: 1; + unsigned int retune_now: 1; + unsigned int retune_paused: 1; + unsigned int retune_crc_disable: 1; + unsigned int can_dma_map_merge: 1; + unsigned int vqmmc_enabled: 1; + int rescan_disable; + int rescan_entered; + int need_retune; + int hold_retune; + unsigned int retune_period; + struct timer_list retune_timer; + bool trigger_card_event; + struct mmc_card *card; + wait_queue_head_t wq; + struct mmc_ctx *claimer; + int claim_cnt; + struct mmc_ctx default_ctx; + struct delayed_work detect; + int detect_change; + struct mmc_slot slot; + const struct mmc_bus_ops *bus_ops; + unsigned int sdio_irqs; + struct task_struct *sdio_irq_thread; + struct work_struct sdio_irq_work; + bool sdio_irq_pending; + atomic_t sdio_irq_thread_abort; + mmc_pm_flag_t pm_flags; + struct led_trigger *led; + bool regulator_enabled; + struct mmc_supply supply; + struct dentry *debugfs_root; + struct mmc_request *ongoing_mrq; + unsigned int actual_clock; + unsigned int slotno; + int dsr_req; + u32 dsr; + const struct mmc_cqe_ops *cqe_ops; + void *cqe_private; + int cqe_qdepth; + bool cqe_enabled; + bool cqe_on; + struct blk_crypto_profile crypto_profile; + bool hsq_enabled; + int hsq_depth; + u32 err_stats[15]; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long unsigned int private[0]; +}; + +struct mmc_host_ops { + void (*post_req)(struct mmc_host *, struct mmc_request *, int); + void (*pre_req)(struct mmc_host *, struct mmc_request *); + void (*request)(struct mmc_host *, struct mmc_request *); + int (*request_atomic)(struct mmc_host *, struct mmc_request *); + void (*set_ios)(struct mmc_host *, struct mmc_ios *); + int (*get_ro)(struct mmc_host *); + int (*get_cd)(struct mmc_host *); + void (*enable_sdio_irq)(struct mmc_host *, int); + void (*ack_sdio_irq)(struct mmc_host *); + void (*init_card)(struct mmc_host *, struct mmc_card *); + int (*start_signal_voltage_switch)(struct mmc_host *, struct mmc_ios *); + int (*card_busy)(struct mmc_host *); + int (*execute_tuning)(struct mmc_host *, u32); + int (*prepare_hs400_tuning)(struct mmc_host *, struct mmc_ios *); + int (*execute_hs400_tuning)(struct mmc_host *, struct mmc_card *); + int (*prepare_sd_hs_tuning)(struct mmc_host *, struct mmc_card *); + int (*execute_sd_hs_tuning)(struct mmc_host *, struct mmc_card *); + int (*hs400_prepare_ddr)(struct mmc_host *); + void (*hs400_downgrade)(struct mmc_host *); + void (*hs400_complete)(struct mmc_host *); + void (*hs400_enhanced_strobe)(struct mmc_host *, struct mmc_ios *); + int (*select_drive_strength)(struct mmc_card *, unsigned int, int, int, int *); + void (*card_hw_reset)(struct mmc_host *); + void (*card_event)(struct mmc_host *); + int (*multi_io_quirk)(struct mmc_card *, unsigned int, int); + int (*init_sd_express)(struct mmc_host *, struct mmc_ios *); + int (*uhs2_control)(struct mmc_host *, enum sd_uhs2_operation); +}; + +struct mmc_op_cond_busy_data { + struct mmc_host *host; + u32 ocr; + struct mmc_command *cmd; +}; + +struct mmc_pwrseq_ops; + +struct mmc_pwrseq { + const struct mmc_pwrseq_ops *ops; + struct device *dev; + struct list_head pwrseq_node; + struct module *owner; +}; + +struct mmc_pwrseq_ops { + void (*pre_power_on)(struct mmc_host *); + void (*post_power_on)(struct mmc_host *); + void (*power_off)(struct mmc_host *); + void (*reset)(struct mmc_host *); +}; + +struct mmc_queue_req { + struct mmc_blk_request brq; + struct scatterlist *sg; + enum mmc_drv_op drv_op; + int drv_op_result; + void *drv_op_data; + unsigned int ioc_count; + int retries; +}; + +struct mminit_pfnnid_cache { + long unsigned int last_start; + long unsigned int last_end; + int last_nid; +}; + +struct mmiotrace_map { + resource_size_t phys; + long unsigned int virt; + long unsigned int len; + int map_id; + unsigned char opcode; +}; + +struct mmiotrace_rw { + resource_size_t phys; + long unsigned int value; + long unsigned int pc; + int map_id; + unsigned char opcode; + unsigned char width; +}; + +struct mmp_struct { + __le32 mmp_magic; + __le32 mmp_seq; + __le64 mmp_time; + char mmp_nodename[64]; + char mmp_bdevname[32]; + __le16 mmp_check_interval; + __le16 mmp_pad1; + __le32 mmp_pad2[226]; + __le32 mmp_checksum; +}; + +struct mmpin { + struct user_struct *user; + unsigned int num_pg; +}; + +struct user_msghdr { + void *msg_name; + int msg_namelen; + struct iovec *msg_iov; + __kernel_size_t msg_iovlen; + void *msg_control; + __kernel_size_t msg_controllen; + unsigned int msg_flags; +}; + +struct mmsghdr { + struct user_msghdr msg_hdr; + unsigned int msg_len; +}; + +struct encoded_page; + +struct mmu_gather_batch { + struct mmu_gather_batch *next; + unsigned int nr; + unsigned int max; + struct encoded_page *encoded_pages[0]; +}; + +struct mmu_table_batch; + +struct mmu_gather { + struct mm_struct *mm; + struct mmu_table_batch *batch; + long unsigned int start; + long unsigned int end; + unsigned int fullmm: 1; + unsigned int need_flush_all: 1; + unsigned int freed_tables: 1; + unsigned int delayed_rmap: 1; + unsigned int cleared_ptes: 1; + unsigned int cleared_pmds: 1; + unsigned int cleared_puds: 1; + unsigned int cleared_p4ds: 1; + unsigned int vma_exec: 1; + unsigned int vma_huge: 1; + unsigned int vma_pfn: 1; + unsigned int batch_count; + struct mmu_gather_batch *active; + struct mmu_gather_batch local; + struct page *__pages[8]; +}; + +struct mmu_interval_notifier_ops; + +struct mmu_interval_notifier { + struct interval_tree_node interval_tree; + const struct mmu_interval_notifier_ops *ops; + struct mm_struct *mm; + struct hlist_node deferred_item; + long unsigned int invalidate_seq; +}; + +struct mmu_interval_notifier_ops { + bool (*invalidate)(struct mmu_interval_notifier *, const struct mmu_notifier_range *, long unsigned int); +}; + +struct mmu_notifier_ops { + void (*release)(struct mmu_notifier *, struct mm_struct *); + int (*clear_flush_young)(struct mmu_notifier *, struct mm_struct *, long unsigned int, long unsigned int); + int (*clear_young)(struct mmu_notifier *, struct mm_struct *, long unsigned int, long unsigned int); + int (*test_young)(struct mmu_notifier *, struct mm_struct *, long unsigned int); + int (*invalidate_range_start)(struct mmu_notifier *, const struct mmu_notifier_range *); + void (*invalidate_range_end)(struct mmu_notifier *, const struct mmu_notifier_range *); + void (*arch_invalidate_secondary_tlbs)(struct mmu_notifier *, struct mm_struct *, long unsigned int, long unsigned int); + struct mmu_notifier * (*alloc_notifier)(struct mm_struct *); + void (*free_notifier)(struct mmu_notifier *); +}; + +struct mmu_notifier_subscriptions { + struct hlist_head list; + bool has_itree; + spinlock_t lock; + long unsigned int invalidate_seq; + long unsigned int active_invalidate_ranges; + struct rb_root_cached itree; + wait_queue_head_t wq; + struct hlist_head deferred_list; +}; + +struct mmu_table_batch { + struct callback_head rcu; + unsigned int nr; + void *tables[0]; +}; + +struct mmu_update { + uint64_t ptr; + uint64_t val; +}; + +struct mmuext_op { + unsigned int cmd; + union { + xen_pfn_t mfn; + long unsigned int linear_addr; + } arg1; + union { + unsigned int nr_ents; + void *vcpumask; + xen_pfn_t src_mfn; + } arg2; +}; + +struct mn { + unsigned char m_val; + unsigned char n_val; + unsigned char m_shift; + unsigned char n_lshift; +}; + +struct mnt_id_req { + __u32 size; + __u32 mnt_ns_fd; + __u64 mnt_id; + __u64 param; + __u64 mnt_ns_id; +}; + +struct uid_gid_extent { + u32 first; + u32 lower_first; + u32 count; +}; + +struct uid_gid_map { + union { + struct { + struct uid_gid_extent extent[5]; + u32 nr_extents; + }; + struct { + struct uid_gid_extent *forward; + struct uid_gid_extent *reverse; + }; + }; +}; + +struct mnt_idmap { + struct uid_gid_map uid_map; + struct uid_gid_map gid_map; + refcount_t count; +}; + +struct mount; + +struct mnt_namespace { + struct ns_common ns; + struct mount *root; + struct { + struct rb_root mounts; + struct rb_node *mnt_last_node; + struct rb_node *mnt_first_node; + }; + struct user_namespace *user_ns; + struct ucounts *ucounts; + u64 seq; + union { + wait_queue_head_t poll; + struct callback_head mnt_ns_rcu; + }; + u64 seq_origin; + u64 event; + __u32 n_fsnotify_mask; + struct fsnotify_mark_connector *n_fsnotify_marks; + unsigned int nr_mounts; + unsigned int pending_mounts; + struct rb_node mnt_ns_tree_node; + struct list_head mnt_ns_list; + refcount_t passive; +}; + +struct mnt_ns_info { + __u32 size; + __u32 nr_mounts; + __u64 mnt_ns_id; +}; + +struct mnt_pcp { + int mnt_count; + int mnt_writers; +}; + +struct mod_arch_specific { + struct its_array its_pages; +}; + +struct mod_initfree { + struct llist_node node; + void *init_text; + void *init_data; + void *init_rodata; +}; + +struct mod_kallsyms { + Elf64_Sym *symtab; + unsigned int num_symtab; + char *strtab; + char *typetab; +}; + +struct mod_tree_node { + struct module *mod; + struct latch_tree_node node; +}; + +struct mod_tree_root { + struct latch_tree_root root; + long unsigned int addr_min; + long unsigned int addr_max; +}; + +struct mode_page_header { + __be16 mode_data_length; + __u8 medium_type; + __u8 reserved1; + __u8 reserved2; + __u8 reserved3; + __be16 desc_length; +}; + +struct modesel_head { + __u8 reserved1; + __u8 medium; + __u8 reserved2; + __u8 block_desc_length; + __u8 density; + __u8 number_of_blocks_hi; + __u8 number_of_blocks_med; + __u8 number_of_blocks_lo; + __u8 reserved3; + __u8 block_length_hi; + __u8 block_length_med; + __u8 block_length_lo; +}; + +struct pkcs7_message; + +struct modsig { + struct pkcs7_message *pkcs7_msg; + enum hash_algo hash_algo; + const u8 *digest; + u32 digest_size; + int raw_pkcs7_len; + u8 raw_pkcs7[0]; +}; + +struct module_param_attrs; + +struct module_kobject { + struct kobject kobj; + struct module *mod; + struct kobject *drivers_dir; + struct module_param_attrs *mp; + struct completion *kobj_completion; +}; + +struct module_memory { + void *base; + bool is_rox; + unsigned int size; + struct mod_tree_node mtn; +}; + +struct module_attribute; + +struct module_sect_attrs; + +struct module_notes_attrs; + +struct trace_event_call; + +struct trace_eval_map; + +struct static_call_site; + +struct module { + enum module_state state; + struct list_head list; + char name[56]; + struct module_kobject mkobj; + struct module_attribute *modinfo_attrs; + const char *version; + const char *srcversion; + struct kobject *holders_dir; + const struct kernel_symbol *syms; + const u32 *crcs; + unsigned int num_syms; + struct mutex param_lock; + struct kernel_param *kp; + unsigned int num_kp; + unsigned int num_gpl_syms; + const struct kernel_symbol *gpl_syms; + const u32 *gpl_crcs; + bool using_gplonly_symbols; + bool sig_ok; + bool async_probe_requested; + unsigned int num_exentries; + struct exception_table_entry *extable; + int (*init)(void); + struct module_memory mem[7]; + struct mod_arch_specific arch; + long unsigned int taints; + unsigned int num_bugs; + struct list_head bug_list; + struct bug_entry *bug_table; + struct mod_kallsyms *kallsyms; + struct mod_kallsyms core_kallsyms; + struct module_sect_attrs *sect_attrs; + struct module_notes_attrs *notes_attrs; + char *args; + void *percpu; + unsigned int percpu_size; + void *noinstr_text_start; + unsigned int noinstr_text_size; + unsigned int num_tracepoints; + tracepoint_ptr_t *tracepoints_ptrs; + unsigned int num_srcu_structs; + struct srcu_struct **srcu_struct_ptrs; + unsigned int num_bpf_raw_events; + struct bpf_raw_event_map *bpf_raw_events; + unsigned int btf_data_size; + unsigned int btf_base_data_size; + void *btf_data; + void *btf_base_data; + struct jump_entry *jump_entries; + unsigned int num_jump_entries; + unsigned int num_trace_bprintk_fmt; + const char **trace_bprintk_fmt_start; + struct trace_event_call **trace_events; + unsigned int num_trace_events; + struct trace_eval_map **trace_evals; + unsigned int num_trace_evals; + unsigned int num_ftrace_callsites; + long unsigned int *ftrace_callsites; + void *kprobes_text_start; + unsigned int kprobes_text_size; + long unsigned int *kprobe_blacklist; + unsigned int num_kprobe_blacklist; + int num_static_call_sites; + struct static_call_site *static_call_sites; + bool klp; + bool klp_alive; + struct klp_modinfo *klp_info; + struct list_head source_list; + struct list_head target_list; + void (*exit)(void); + atomic_t refcnt; + struct error_injection_entry *ei_funcs; + unsigned int num_ei_funcs; + struct _ddebug_info dyndbg_info; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct module_attribute { + struct attribute attr; + ssize_t (*show)(const struct module_attribute *, struct module_kobject *, char *); + ssize_t (*store)(const struct module_attribute *, struct module_kobject *, const char *, size_t); + void (*setup)(struct module *, const char *); + int (*test)(struct module *); + void (*free)(struct module *); +}; + +struct module_notes_attrs { + struct attribute_group grp; + struct bin_attribute attrs[0]; +}; + +struct param_attribute { + struct module_attribute mattr; + const struct kernel_param *param; +}; + +struct module_param_attrs { + unsigned int num; + struct attribute_group grp; + struct param_attribute attrs[0]; +}; + +struct module_reply_data { + struct ethnl_reply_data base; + struct ethtool_module_power_mode_params power; +}; + +struct module_sect_attrs { + struct attribute_group grp; + struct bin_attribute attrs[0]; +}; + +struct module_signature { + u8 algo; + u8 hash; + u8 id_type; + u8 signer_len; + u8 key_id_len; + u8 __pad[3]; + __be32 sig_len; +}; + +struct module_string { + struct list_head next; + struct module *module; + char *str; +}; + +struct module_use { + struct list_head source_list; + struct list_head target_list; + struct module *source; + struct module *target; +}; + +struct module_version_attribute { + struct module_attribute mattr; + const char *module_name; + const char *version; +}; + +struct modules_array { + struct module **mods; + int mods_cnt; + int mods_cap; +}; + +struct modversion_info { + long unsigned int crc; + char name[56]; +}; + +struct modversion_info_ext { + size_t remaining; + const u32 *crc; + const char *name; +}; + +struct mon_data { + struct list_head list; + enum resctrl_res_level rid; + enum resctrl_event_id evtid; + int domid; + bool sum; +}; + +struct mon_evt { + enum resctrl_event_id evtid; + char *name; + bool configurable; + struct list_head list; +}; + +struct rdtgroup; + +struct mongroup { + struct kernfs_node *mon_data_kn; + struct rdtgroup *parent; + struct list_head crdtgrp_list; + u32 rmid; +}; + +struct vfsmount { + struct dentry *mnt_root; + struct super_block *mnt_sb; + int mnt_flags; + struct mnt_idmap *mnt_idmap; +}; + +struct mountpoint; + +struct mount { + struct hlist_node mnt_hash; + struct mount *mnt_parent; + struct dentry *mnt_mountpoint; + struct vfsmount mnt; + union { + struct rb_node mnt_node; + struct callback_head mnt_rcu; + struct llist_node mnt_llist; + }; + struct mnt_pcp *mnt_pcp; + struct list_head mnt_mounts; + struct list_head mnt_child; + struct list_head mnt_instance; + const char *mnt_devname; + struct list_head mnt_list; + struct list_head mnt_expire; + struct list_head mnt_share; + struct hlist_head mnt_slave_list; + struct hlist_node mnt_slave; + struct mount *mnt_master; + struct mnt_namespace *mnt_ns; + struct mountpoint *mnt_mp; + union { + struct hlist_node mnt_mp_list; + struct hlist_node mnt_umount; + }; + struct fsnotify_mark_connector *mnt_fsnotify_marks; + __u32 mnt_fsnotify_mask; + struct list_head to_notify; + struct mnt_namespace *prev_ns; + int mnt_t_flags; + int mnt_id; + u64 mnt_id_unique; + int mnt_group_id; + int mnt_expiry_mark; + struct hlist_head mnt_pins; + struct hlist_head mnt_stuck_children; + struct mount *overmount; +}; + +struct mount_attr { + __u64 attr_set; + __u64 attr_clr; + __u64 propagation; + __u64 userns_fd; +}; + +struct mount_kattr { + unsigned int attr_set; + unsigned int attr_clr; + unsigned int propagation; + unsigned int lookup_flags; + enum mount_kattr_flags_t kflags; + struct user_namespace *mnt_userns; + struct mnt_idmap *mnt_idmap; +}; + +struct mount_opts { + int token; + int mount_opt; + int flags; +}; + +struct mountpoint { + struct hlist_node m_hash; + struct dentry *m_dentry; + struct hlist_head m_list; +}; + +struct mousedev_hw_data { + int dx; + int dy; + int dz; + int x; + int y; + int abs_event; + long unsigned int buttons; +}; + +struct mousedev { + int open; + struct input_handle handle; + wait_queue_head_t wait; + struct list_head client_list; + spinlock_t client_lock; + struct mutex mutex; + struct device dev; + struct cdev cdev; + bool exist; + struct list_head mixdev_node; + bool opened_by_mixdev; + struct mousedev_hw_data packet; + unsigned int pkt_count; + int old_x[4]; + int old_y[4]; + int frac_dx; + int frac_dy; + long unsigned int touch; + int (*open_device)(struct mousedev *); + void (*close_device)(struct mousedev *); +}; + +struct mousedev_motion { + int dx; + int dy; + int dz; + long unsigned int buttons; +}; + +struct mousedev_client { + struct fasync_struct *fasync; + struct mousedev *mousedev; + struct list_head node; + struct mousedev_motion packets[16]; + unsigned int head; + unsigned int tail; + spinlock_t packet_lock; + int pos_x; + int pos_y; + u8 ps2[6]; + unsigned char ready; + unsigned char buffer; + unsigned char bufsiz; + unsigned char imexseq; + unsigned char impsseq; + enum mousedev_emul mode; + long unsigned int last_buttons; +}; + +struct movable_operations { + bool (*isolate_page)(struct page *, isolate_mode_t); + int (*migrate_page)(struct page *, struct page *, enum migrate_mode); + void (*putback_page)(struct page *); +}; + +struct move_extent { + __u32 reserved; + __u32 donor_fd; + __u64 orig_start; + __u64 donor_start; + __u64 len; + __u64 moved_len; +}; + +struct mp_chip_data { + struct list_head irq_2_pin; + struct IO_APIC_route_entry entry; + bool is_level; + bool active_low; + bool isa_irq; + u32 count; +}; + +struct mpage_da_data { + struct inode *inode; + struct writeback_control *wbc; + unsigned int can_map: 1; + loff_t start_pos; + loff_t next_pos; + loff_t end_pos; + struct ext4_map_blocks map; + struct ext4_io_submit io_submit; + unsigned int do_map: 1; + unsigned int scanned_until_end: 1; + unsigned int journalled_more_data: 1; +}; + +struct mpage_data { + struct bio *bio; + sector_t last_block_in_bio; + get_block_t *get_block; +}; + +struct mpage_readpage_args { + struct bio *bio; + struct folio *folio; + unsigned int nr_pages; + bool is_readahead; + sector_t last_block_in_bio; + struct buffer_head map_bh; + long unsigned int first_logical_block; + get_block_t *get_block; +}; + +struct mpc_bus { + unsigned char type; + unsigned char busid; + unsigned char bustype[6]; +}; + +struct mpc_cpu { + unsigned char type; + unsigned char apicid; + unsigned char apicver; + unsigned char cpuflag; + unsigned int cpufeature; + unsigned int featureflag; + unsigned int reserved[2]; +}; + +struct mpc_intsrc { + unsigned char type; + unsigned char irqtype; + short unsigned int irqflag; + unsigned char srcbus; + unsigned char srcbusirq; + unsigned char dstapic; + unsigned char dstirq; +}; + +struct mpc_lintsrc { + unsigned char type; + unsigned char irqtype; + short unsigned int irqflag; + unsigned char srcbusid; + unsigned char srcbusirq; + unsigned char destapic; + unsigned char destapiclint; +}; + +struct mpc_table { + char signature[4]; + short unsigned int length; + char spec; + char checksum; + char oem[8]; + char productid[12]; + unsigned int oemptr; + short unsigned int oemsize; + short unsigned int oemcount; + unsigned int lapic; + unsigned int reserved; +}; + +struct mpf_intel { + char signature[4]; + unsigned int physptr; + unsigned char length; + unsigned char specification; + unsigned char checksum; + unsigned char feature1; + unsigned char feature2; + unsigned char feature3; + unsigned char feature4; + unsigned char feature5; +}; + +struct mpls_label { + __be32 entry; +}; + +struct mpls_shim_hdr { + __be32 label_stack_entry; +}; + +struct mptcp_addr_info { + u8 id; + sa_family_t family; + __be16 port; + union { + struct in_addr addr; + struct in6_addr addr6; + }; +}; + +struct mptcp_rm_list { + u8 ids[8]; + u8 nr; +}; + +struct mptcp_pm_data { + struct mptcp_addr_info local; + struct mptcp_addr_info remote; + struct list_head anno_list; + struct list_head userspace_pm_local_addr_list; + spinlock_t lock; + union { + struct { + u8 addr_signal; + bool server_side; + bool work_pending; + bool accept_addr; + bool accept_subflow; + bool remote_deny_join_id0; + u8 add_addr_signaled; + u8 add_addr_accepted; + u8 local_addr_used; + u8 pm_type; + u8 subflows; + u8 status; + }; + struct { + u8 addr_signal; + bool server_side; + bool work_pending; + bool accept_addr; + bool accept_subflow; + bool remote_deny_join_id0; + u8 add_addr_signaled; + u8 add_addr_accepted; + u8 local_addr_used; + u8 pm_type; + u8 subflows; + u8 status; + } reset; + }; + long unsigned int id_avail_bitmap[4]; + struct mptcp_rm_list rm_list_tx; + struct mptcp_rm_list rm_list_rx; +}; + +struct mptcp_data_frag; + +struct mptcp_sched_ops; + +struct mptcp_sock { + struct inet_connection_sock sk; + u64 local_key; + u64 remote_key; + u64 write_seq; + u64 bytes_sent; + u64 snd_nxt; + u64 bytes_received; + u64 ack_seq; + atomic64_t rcv_wnd_sent; + u64 rcv_data_fin_seq; + u64 bytes_retrans; + u64 bytes_consumed; + int snd_burst; + int old_wspace; + u64 recovery_snd_nxt; + u64 bytes_acked; + u64 snd_una; + u64 wnd_end; + u32 last_data_sent; + u32 last_data_recv; + u32 last_ack_recv; + long unsigned int timer_ival; + u32 token; + long unsigned int flags; + long unsigned int cb_flags; + bool recovery; + bool can_ack; + bool fully_established; + bool rcv_data_fin; + bool snd_data_fin_enable; + bool rcv_fastclose; + bool use_64bit_ack; + bool csum_enabled; + bool allow_infinite_fallback; + u8 pending_state; + u8 mpc_endpoint_id; + u8 recvmsg_inq: 1; + u8 cork: 1; + u8 nodelay: 1; + u8 fastopening: 1; + u8 in_accept_queue: 1; + u8 free_first: 1; + u8 rcvspace_init: 1; + u8 fastclosing: 1; + u32 notsent_lowat; + int keepalive_cnt; + int keepalive_idle; + int keepalive_intvl; + int maxseg; + struct work_struct work; + struct sk_buff *ooo_last_skb; + struct rb_root out_of_order_queue; + struct list_head conn_list; + struct list_head rtx_queue; + struct mptcp_data_frag *first_pending; + struct list_head join_list; + struct sock *first; + struct mptcp_pm_data pm; + struct mptcp_sched_ops *sched; + struct { + u32 space; + u32 copied; + u64 time; + u64 rtt_us; + } rcvq_space; + u8 scaling_ratio; + bool allow_subflows; + u32 subflow_id; + u32 setsockopt_seq; + char ca_name[16]; + spinlock_t fallback_lock; +}; + +struct mptcp6_sock { + struct mptcp_sock msk; + struct ipv6_pinfo np; +}; + +struct mptcp_data_frag { + struct list_head list; + u64 data_seq; + u16 data_len; + u16 offset; + u16 overhead; + u16 already_sent; + struct page *page; +}; + +struct mptcp_delegated_action { + struct napi_struct napi; + local_lock_t bh_lock; + struct list_head head; +}; + +struct mptcp_ext { + union { + u64 data_ack; + u32 data_ack32; + }; + u64 data_seq; + u32 subflow_seq; + u16 data_len; + __sum16 csum; + u8 use_map: 1; + u8 dsn64: 1; + u8 data_fin: 1; + u8 use_ack: 1; + u8 ack64: 1; + u8 mpc_map: 1; + u8 frozen: 1; + u8 reset_transient: 1; + u8 reset_reason: 4; + u8 csum_reqd: 1; + u8 infinite_map: 1; +}; + +struct mptcp_info { + __u8 mptcpi_subflows; + __u8 mptcpi_add_addr_signal; + __u8 mptcpi_add_addr_accepted; + __u8 mptcpi_subflows_max; + __u8 mptcpi_add_addr_signal_max; + __u8 mptcpi_add_addr_accepted_max; + __u32 mptcpi_flags; + __u32 mptcpi_token; + __u64 mptcpi_write_seq; + __u64 mptcpi_snd_una; + __u64 mptcpi_rcv_nxt; + __u8 mptcpi_local_addr_used; + __u8 mptcpi_local_addr_max; + __u8 mptcpi_csum_enabled; + __u32 mptcpi_retransmits; + __u64 mptcpi_bytes_retrans; + __u64 mptcpi_bytes_sent; + __u64 mptcpi_bytes_received; + __u64 mptcpi_bytes_acked; + __u8 mptcpi_subflows_total; + __u8 reserved[3]; + __u32 mptcpi_last_data_sent; + __u32 mptcpi_last_data_recv; + __u32 mptcpi_last_ack_recv; +}; + +struct mptcp_full_info { + __u32 size_tcpinfo_kernel; + __u32 size_tcpinfo_user; + __u32 size_sfinfo_kernel; + __u32 size_sfinfo_user; + __u32 num_subflows; + __u32 size_arrays_user; + __u64 subflow_info; + __u64 tcp_info; + struct mptcp_info mptcp_info; +}; + +struct mptcp_mib { + long unsigned int mibs[77]; +}; + +struct mptcp_options_received { + u64 sndr_key; + u64 rcvr_key; + u64 data_ack; + u64 data_seq; + u32 subflow_seq; + u16 data_len; + __sum16 csum; + union { + struct { + u16 suboptions; + u16 use_map: 1; + u16 dsn64: 1; + u16 data_fin: 1; + u16 use_ack: 1; + u16 ack64: 1; + u16 mpc_map: 1; + u16 reset_reason: 4; + u16 reset_transient: 1; + u16 echo: 1; + u16 backup: 1; + u16 deny_join_id0: 1; + u16 __unused: 2; + }; + struct { + u16 suboptions; + u16 use_map: 1; + u16 dsn64: 1; + u16 data_fin: 1; + u16 use_ack: 1; + u16 ack64: 1; + u16 mpc_map: 1; + u16 reset_reason: 4; + u16 reset_transient: 1; + u16 echo: 1; + u16 backup: 1; + u16 deny_join_id0: 1; + u16 __unused: 2; + } status; + }; + u8 join_id; + u32 token; + u32 nonce; + u64 thmac; + u8 hmac[20]; + struct mptcp_addr_info addr; + struct mptcp_rm_list rm_list; + u64 ahmac; + u64 fail_seq; +}; + +struct mptcp_out_options { + u16 suboptions; + struct mptcp_rm_list rm_list; + u8 join_id; + u8 backup; + u8 reset_reason: 4; + u8 reset_transient: 1; + u8 csum_reqd: 1; + u8 allow_join_id0: 1; + union { + struct { + u64 sndr_key; + u64 rcvr_key; + u64 data_seq; + u32 subflow_seq; + u16 data_len; + __sum16 csum; + }; + struct { + struct mptcp_addr_info addr; + u64 ahmac; + }; + struct { + struct mptcp_ext ext_copy; + u64 fail_seq; + }; + struct { + u32 nonce; + u32 token; + u64 thmac; + u8 hmac[20]; + }; + }; +}; + +struct mptcp_pernet { + struct ctl_table_header *ctl_table_hdr; + unsigned int add_addr_timeout; + unsigned int blackhole_timeout; + unsigned int close_timeout; + unsigned int stale_loss_cnt; + atomic_t active_disable_times; + u8 syn_retrans_before_tcp_fallback; + long unsigned int active_disable_stamp; + u8 mptcp_enabled; + u8 checksum_enabled; + u8 allow_join_initial_addr_port; + u8 pm_type; + char scheduler[16]; + char path_manager[16]; +}; + +struct mptcp_pm_add_entry { + struct list_head list; + struct mptcp_addr_info addr; + u8 retrans_times; + struct timer_list add_timer; + struct mptcp_sock *sock; + struct callback_head rcu; +}; + +struct mptcp_pm_addr_entry { + struct list_head list; + struct mptcp_addr_info addr; + u8 flags; + int ifindex; + struct socket *lsk; +}; + +struct mptcp_pm_local { + struct mptcp_addr_info addr; + u8 flags; + int ifindex; +}; + +struct mptcp_pm_ops { + char name[16]; + struct module *owner; + struct list_head list; + void (*init)(struct mptcp_sock *); + void (*release)(struct mptcp_sock *); + long: 64; +}; + +struct mptcp_sched_ops { + int (*get_send)(struct mptcp_sock *); + int (*get_retrans)(struct mptcp_sock *); + char name[16]; + struct module *owner; + struct list_head list; + void (*init)(struct mptcp_sock *); + void (*release)(struct mptcp_sock *); + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct mptcp_sendmsg_info { + int mss_now; + int size_goal; + u16 limit; + u16 sent; + unsigned int flags; + bool data_lock_held; +}; + +struct mptcp_skb_cb { + u64 map_seq; + u64 end_seq; + u32 offset; + u8 has_rxtstamp; + u8 cant_coalesce; +}; + +struct sockaddr_in { + __kernel_sa_family_t sin_family; + __be16 sin_port; + struct in_addr sin_addr; + unsigned char __pad[8]; +}; + +struct mptcp_subflow_addrs { + union { + __kernel_sa_family_t sa_family; + struct sockaddr sa_local; + struct sockaddr_in sin_local; + struct sockaddr_in6 sin6_local; + struct __kernel_sockaddr_storage ss_local; + }; + union { + struct sockaddr sa_remote; + struct sockaddr_in sin_remote; + struct sockaddr_in6 sin6_remote; + struct __kernel_sockaddr_storage ss_remote; + }; +}; + +struct mptcp_subflow_context { + struct list_head node; + union { + struct { + long unsigned int avg_pacing_rate; + u64 local_key; + u64 remote_key; + u64 idsn; + u64 map_seq; + u64 rcv_wnd_sent; + u32 snd_isn; + u32 token; + u32 rel_write_seq; + u32 map_subflow_seq; + u32 ssn_offset; + u32 map_data_len; + __wsum map_data_csum; + u32 map_csum_len; + u32 request_mptcp: 1; + u32 request_join: 1; + u32 request_bkup: 1; + u32 mp_capable: 1; + u32 mp_join: 1; + u32 pm_notified: 1; + u32 conn_finished: 1; + u32 map_valid: 1; + u32 map_csum_reqd: 1; + u32 map_data_fin: 1; + u32 mpc_map: 1; + u32 backup: 1; + u32 send_mp_prio: 1; + u32 send_mp_fail: 1; + u32 send_fastclose: 1; + u32 send_infinite_map: 1; + u32 remote_key_valid: 1; + u32 disposable: 1; + u32 stale: 1; + u32 valid_csum_seen: 1; + u32 is_mptfo: 1; + u32 close_event_done: 1; + u32 mpc_drop: 1; + u32 __unused: 9; + bool data_avail; + bool scheduled; + bool pm_listener; + bool fully_established; + u32 remote_nonce; + u64 thmac; + u32 local_nonce; + u32 remote_token; + union { + u8 hmac[20]; + u64 iasn; + }; + s16 local_id; + u8 remote_id; + u8 reset_seen: 1; + u8 reset_transient: 1; + u8 reset_reason: 4; + u8 stale_count; + u32 subflow_id; + long int delegated_status; + long unsigned int fail_tout; + }; + struct { + long unsigned int avg_pacing_rate; + u64 local_key; + u64 remote_key; + u64 idsn; + u64 map_seq; + u64 rcv_wnd_sent; + u32 snd_isn; + u32 token; + u32 rel_write_seq; + u32 map_subflow_seq; + u32 ssn_offset; + u32 map_data_len; + __wsum map_data_csum; + u32 map_csum_len; + u32 request_mptcp: 1; + u32 request_join: 1; + u32 request_bkup: 1; + u32 mp_capable: 1; + u32 mp_join: 1; + u32 pm_notified: 1; + u32 conn_finished: 1; + u32 map_valid: 1; + u32 map_csum_reqd: 1; + u32 map_data_fin: 1; + u32 mpc_map: 1; + u32 backup: 1; + u32 send_mp_prio: 1; + u32 send_mp_fail: 1; + u32 send_fastclose: 1; + u32 send_infinite_map: 1; + u32 remote_key_valid: 1; + u32 disposable: 1; + u32 stale: 1; + u32 valid_csum_seen: 1; + u32 is_mptfo: 1; + u32 close_event_done: 1; + u32 mpc_drop: 1; + u32 __unused: 9; + bool data_avail; + bool scheduled; + bool pm_listener; + bool fully_established; + u32 remote_nonce; + u64 thmac; + u32 local_nonce; + u32 remote_token; + union { + u8 hmac[20]; + u64 iasn; + }; + s16 local_id; + u8 remote_id; + u8 reset_seen: 1; + u8 reset_transient: 1; + u8 reset_reason: 4; + u8 stale_count; + u32 subflow_id; + long int delegated_status; + long unsigned int fail_tout; + } reset; + }; + struct list_head delegated_node; + u32 setsockopt_seq; + u32 stale_rcv_tstamp; + int cached_sndbuf; + struct sock *tcp_sock; + struct sock *conn; + const struct inet_connection_sock_af_ops *icsk_af_ops; + void (*tcp_state_change)(struct sock *); + void (*tcp_error_report)(struct sock *); + struct callback_head rcu; +}; + +struct mptcp_subflow_data { + __u32 size_subflow_data; + __u32 num_subflows; + __u32 size_kernel; + __u32 size_user; +}; + +struct mptcp_subflow_info { + __u32 id; + struct mptcp_subflow_addrs addrs; +}; + +struct tcp_request_sock_ops; + +struct tcp_request_sock { + struct inet_request_sock req; + const struct tcp_request_sock_ops *af_specific; + u64 snt_synack; + bool tfo_listener; + bool is_mptcp; + bool req_usec_ts; + bool drop_req; + u32 txhash; + u32 rcv_isn; + u32 snt_isn; + u32 ts_off; + u32 snt_tsval_first; + u32 snt_tsval_last; + u32 last_oow_ack_time; + u32 rcv_nxt; + u8 syn_tos; + u8 ao_keyid; + u8 ao_rcv_next; + bool used_tcp_ao; +}; + +struct mptcp_subflow_request_sock { + struct tcp_request_sock sk; + u16 mp_capable: 1; + u16 mp_join: 1; + u16 backup: 1; + u16 request_bkup: 1; + u16 csum_reqd: 1; + u16 allow_join_id0: 1; + u8 local_id; + u8 remote_id; + u64 local_key; + u64 idsn; + u32 token; + u32 ssn_offset; + u64 thmac; + u32 local_nonce; + u32 remote_nonce; + struct mptcp_sock *msk; + struct hlist_nulls_node token_node; +}; + +struct mq_inflight { + struct block_device *part; + unsigned int inflight[2]; +}; + +struct mq_sched { + struct Qdisc **qdiscs; +}; + +struct mqueue_fs_context { + struct ipc_namespace *ipc_ns; + bool newns; +}; + +struct sigevent { + sigval_t sigev_value; + int sigev_signo; + int sigev_notify; + union { + int _pad[12]; + int _tid; + struct { + void (*_function)(sigval_t); + void *_attribute; + } _sigev_thread; + } _sigev_un; +}; + +struct posix_msg_tree_node; + +struct mqueue_inode_info { + spinlock_t lock; + struct inode vfs_inode; + wait_queue_head_t wait_q; + struct rb_root msg_tree; + struct rb_node *msg_tree_rightmost; + struct posix_msg_tree_node *node_cache; + struct mq_attr attr; + struct sigevent notify; + struct pid *notify_owner; + u32 notify_self_exec_id; + struct user_namespace *notify_user_ns; + struct ucounts *ucounts; + struct sock *notify_sock; + struct sk_buff *notify_cookie; + struct ext_wait_queue e_wait_q[2]; + long unsigned int qsize; +}; + +struct mr_mfc_iter { + struct seq_net_private p; + struct mr_table *mrt; + struct list_head *cache; + spinlock_t *lock; +}; + +struct mr_table_ops { + const struct rhashtable_params *rht_params; + void *cmparg_any; +}; + +struct vif_device { + struct net_device *dev; + netdevice_tracker dev_tracker; + long unsigned int bytes_in; + long unsigned int bytes_out; + long unsigned int pkt_in; + long unsigned int pkt_out; + long unsigned int rate_limit; + unsigned char threshold; + short unsigned int flags; + int link; + struct netdev_phys_item_id dev_parent_id; + __be32 local; + __be32 remote; +}; + +struct rhltable { + struct rhashtable ht; +}; + +struct mr_table { + struct list_head list; + possible_net_t net; + struct mr_table_ops ops; + u32 id; + struct sock *mroute_sk; + struct timer_list ipmr_expire_timer; + struct list_head mfc_unres_queue; + struct vif_device vif_table[32]; + struct rhltable mfc_hash; + struct list_head mfc_cache_list; + int maxvif; + atomic_t cache_resolve_queue_len; + bool mroute_do_assert; + bool mroute_do_pim; + bool mroute_do_wrvifwhole; + int mroute_reg_vif_num; +}; + +struct mr_vif_iter { + struct seq_net_private p; + struct mr_table *mrt; + int ct; +}; + +struct mrrm_mem_range_entry { + u64 base; + u64 length; + int node; + u8 local_region_id; + u8 remote_region_id; +}; + +struct mrt6msg { + __u8 im6_mbz; + __u8 im6_msgtype; + __u16 im6_mif; + __u32 im6_pad; + struct in6_addr im6_src; + struct in6_addr im6_dst; +}; + +struct mrw_feature_desc { + __be16 feature_code; + __u8 curr: 1; + __u8 persistent: 1; + __u8 feature_version: 4; + __u8 reserved1: 2; + __u8 add_len; + __u8 write: 1; + __u8 reserved2: 7; + __u8 reserved3; + __u8 reserved4; + __u8 reserved5; +}; + +struct ms_hyperv_info { + u32 features; + u32 priv_high; + u32 ext_features; + u32 misc_features; + u32 hints; + u32 nested_features; + u32 max_vp_index; + u32 max_lp_index; + u8 vtl; + union { + u32 isolation_config_a; + struct { + u32 paravisor_present: 1; + u32 reserved_a1: 31; + }; + }; + union { + u32 isolation_config_b; + struct { + u32 cvm_type: 4; + u32 reserved_b1: 1; + u32 shared_gpa_boundary_active: 1; + u32 shared_gpa_boundary_bits: 6; + u32 reserved_b2: 20; + }; + }; + u64 shared_gpa_boundary; +}; + +struct msdos_dir_entry { + __u8 name[11]; + __u8 attr; + __u8 lcase; + __u8 ctime_cs; + __le16 ctime; + __le16 cdate; + __le16 adate; + __le16 starthi; + __le16 time; + __le16 date; + __le16 start; + __le32 size; +}; + +struct msdos_dir_slot { + __u8 id; + __u8 name0_4[10]; + __u8 attr; + __u8 reserved; + __u8 alias_checksum; + __u8 name5_10[12]; + __le16 start; + __u8 name11_12[4]; +}; + +struct msdos_inode_info { + spinlock_t cache_lru_lock; + struct list_head cache_lru; + int nr_caches; + unsigned int cache_valid_id; + loff_t mmu_private; + int i_start; + int i_logstart; + int i_attrs; + loff_t i_pos; + struct hlist_node i_fat_hash; + struct hlist_node i_dir_hash; + struct rw_semaphore truncate_lock; + struct timespec64 i_crtime; + struct inode vfs_inode; +}; + +struct msdos_partition { + u8 boot_ind; + u8 head; + u8 sector; + u8 cyl; + u8 sys_ind; + u8 end_head; + u8 end_sector; + u8 end_cyl; + __le32 start_sect; + __le32 nr_sects; +}; + +struct nls_table; + +struct msdos_sb_info { + short unsigned int sec_per_clus; + short unsigned int cluster_bits; + unsigned int cluster_size; + unsigned char fats; + unsigned char fat_bits; + short unsigned int fat_start; + long unsigned int fat_length; + long unsigned int dir_start; + short unsigned int dir_entries; + long unsigned int data_start; + long unsigned int max_cluster; + long unsigned int root_cluster; + long unsigned int fsinfo_sector; + struct mutex fat_lock; + struct mutex nfs_build_inode_lock; + struct mutex s_lock; + unsigned int prev_free; + unsigned int free_clusters; + unsigned int free_clus_valid; + struct fat_mount_options options; + struct nls_table *nls_disk; + struct nls_table *nls_io; + const void *dir_ops; + int dir_per_block; + int dir_per_block_bits; + unsigned int vol_id; + int fatent_shift; + const struct fatent_operations *fatent_ops; + struct inode *fat_inode; + struct inode *fsinfo_inode; + struct ratelimit_state ratelimit; + spinlock_t inode_hash_lock; + struct hlist_head inode_hashtable[256]; + spinlock_t dir_hash_lock; + struct hlist_head dir_hashtable[256]; + unsigned int dirty; + struct callback_head rcu; +}; + +struct msg_msgseg; + +struct msg_msg { + struct list_head m_list; + long int m_type; + size_t m_ts; + struct msg_msgseg *next; + void *security; +}; + +struct msg_msgseg { + struct msg_msgseg *next; +}; + +struct msg_queue { + struct kern_ipc_perm q_perm; + time64_t q_stime; + time64_t q_rtime; + time64_t q_ctime; + long unsigned int q_cbytes; + long unsigned int q_qnum; + long unsigned int q_qbytes; + struct pid *q_lspid; + struct pid *q_lrpid; + struct list_head q_messages; + struct list_head q_receivers; + struct list_head q_senders; + long: 64; + long: 64; +}; + +struct msg_receiver { + struct list_head r_list; + struct task_struct *r_tsk; + int r_mode; + long int r_msgtype; + long int r_maxsize; + struct msg_msg *r_msg; +}; + +struct msg_security_struct { + u32 sid; +}; + +struct msg_sender { + struct list_head list; + struct task_struct *tsk; + size_t msgsz; +}; + +struct msgbuf { + __kernel_long_t mtype; + char mtext[1]; +}; + +struct msginfo { + int msgpool; + int msgmap; + int msgmax; + int msgmnb; + int msgmni; + int msgssz; + int msgtql; + short unsigned int msgseg; +}; + +struct msi_ctrl { + unsigned int domid; + unsigned int first; + unsigned int last; + unsigned int nirqs; +}; + +struct pci_msi_desc { + union { + u32 msi_mask; + u32 msix_ctrl; + }; + struct { + u8 is_msix: 1; + u8 multiple: 3; + u8 multi_cap: 3; + u8 can_mask: 1; + u8 is_64: 1; + u8 is_virtual: 1; + unsigned int default_irq; + } msi_attrib; + union { + u8 mask_pos; + void *mask_base; + }; +}; + +union msi_domain_cookie { + u64 value; + void *ptr; + void *iobase; +}; + +union msi_instance_cookie { + u64 value; + void *ptr; +}; + +struct msi_desc_data { + union msi_domain_cookie dcookie; + union msi_instance_cookie icookie; +}; + +struct msi_desc { + unsigned int irq; + unsigned int nvec_used; + struct device *dev; + struct msi_msg msg; + struct irq_affinity_desc *affinity; + struct device_attribute *sysfs_attrs; + void (*write_msi_msg)(struct msi_desc *, void *); + void *write_msi_msg_data; + u16 msi_index; + union { + struct pci_msi_desc pci; + struct msi_desc_data data; + }; +}; + +struct msi_dev_domain { + struct xarray store; + struct irq_domain *domain; +}; + +struct msi_device_data { + long unsigned int properties; + struct mutex mutex; + struct msi_dev_domain __domains[1]; + long unsigned int __iter_idx; +}; + +struct msi_domain_ops; + +struct msi_domain_info { + u32 flags; + enum irq_domain_bus_token bus_token; + unsigned int hwsize; + struct msi_domain_ops *ops; + struct device *dev; + struct irq_chip *chip; + void *chip_data; + irq_flow_handler_t handler; + void *handler_data; + const char *handler_name; + msi_alloc_info_t *alloc_data; + void *data; +}; + +struct msi_domain_ops { + irq_hw_number_t (*get_hwirq)(struct msi_domain_info *, msi_alloc_info_t *); + int (*msi_init)(struct irq_domain *, struct msi_domain_info *, unsigned int, irq_hw_number_t, msi_alloc_info_t *); + void (*msi_free)(struct irq_domain *, struct msi_domain_info *, unsigned int); + int (*msi_prepare)(struct irq_domain *, struct device *, int, msi_alloc_info_t *); + void (*msi_teardown)(struct irq_domain *, msi_alloc_info_t *); + void (*prepare_desc)(struct irq_domain *, msi_alloc_info_t *, struct msi_desc *); + void (*set_desc)(msi_alloc_info_t *, struct msi_desc *); + int (*domain_alloc_irqs)(struct irq_domain *, struct device *, int); + void (*domain_free_irqs)(struct irq_domain *, struct device *); + void (*msi_post_free)(struct irq_domain *, struct device *); + int (*msi_translate)(struct irq_domain *, struct irq_fwspec *, irq_hw_number_t *, unsigned int *); +}; + +struct msi_domain_template { + char name[48]; + struct irq_chip chip; + struct msi_domain_ops ops; + struct msi_domain_info info; + msi_alloc_info_t alloc_info; +}; + +struct msi_map { + int index; + int virq; +}; + +struct msi_parent_ops { + u32 supported_flags; + u32 required_flags; + u32 chip_flags; + u32 bus_select_token; + u32 bus_select_mask; + const char *prefix; + bool (*init_dev_msi_info)(struct device *, struct irq_domain *, struct irq_domain *, struct msi_domain_info *); +}; + +struct msix_entry { + u32 vector; + u16 entry; +}; + +struct msqid64_ds { + struct ipc64_perm msg_perm; + long int msg_stime; + long int msg_rtime; + long int msg_ctime; + long unsigned int msg_cbytes; + long unsigned int msg_qnum; + long unsigned int msg_qbytes; + __kernel_pid_t msg_lspid; + __kernel_pid_t msg_lrpid; + long unsigned int __unused4; + long unsigned int __unused5; +}; + +struct msg; + +struct msqid_ds { + struct ipc_perm msg_perm; + struct msg *msg_first; + struct msg *msg_last; + __kernel_old_time_t msg_stime; + __kernel_old_time_t msg_rtime; + __kernel_old_time_t msg_ctime; + long unsigned int msg_lcbytes; + long unsigned int msg_lqbytes; + short unsigned int msg_cbytes; + short unsigned int msg_qnum; + short unsigned int msg_qbytes; + __kernel_ipc_pid_t msg_lspid; + __kernel_ipc_pid_t msg_lrpid; +}; + +struct msr { + union { + struct { + u32 l; + u32 h; + }; + u64 q; + }; +}; + +struct msr_data { + bool host_initiated; + u32 index; + u64 data; +}; + +struct msr_enumeration { + u32 msr_no; + u32 feature; +}; + +struct msr_info { + u32 msr_no; + struct msr reg; + struct msr *msrs; + int err; +}; + +struct msr_info_completion { + struct msr_info msr; + struct completion done; +}; + +struct rdt_resource; + +struct rdt_ctrl_domain; + +struct msr_param { + struct rdt_resource *res; + struct rdt_ctrl_domain *dom; + u32 low; + u32 high; +}; + +struct msr_regs_info { + u32 *regs; + int err; +}; + +struct mt6323_pwrc { + struct device *dev; + struct regmap *regmap; + u32 base; +}; + +struct mt6397_chip { + struct device *dev; + struct regmap *regmap; + struct notifier_block pm_nb; + int irq; + struct irq_domain *irq_domain; + struct mutex irqlock; + u16 wake_mask[3]; + u16 irq_masks_cur[3]; + u16 irq_masks_cache[3]; + u16 int_con[3]; + u16 int_status[3]; + u16 chip_id; + void *irq_data; +}; + +struct mthp_stat { + long unsigned int stats[170]; +}; + +struct mtrr_cleanup_result { + long unsigned int gran_sizek; + long unsigned int chunk_sizek; + long unsigned int lose_cover_sizek; + unsigned int num_reg; + int bad; +}; + +struct mtrr_gentry { + __u64 base; + __u32 size; + __u32 regnum; + __u32 type; + __u32 _pad; +}; + +struct mtrr_gentry32 { + compat_ulong_t regnum; + compat_uint_t base; + compat_uint_t size; + compat_uint_t type; +}; + +struct mtrr_ops { + u32 var_regs; + void (*set)(unsigned int, long unsigned int, long unsigned int, mtrr_type); + void (*get)(unsigned int, long unsigned int *, long unsigned int *, mtrr_type *); + int (*get_free_region)(long unsigned int, long unsigned int, int); + int (*validate_add_page)(long unsigned int, long unsigned int, unsigned int); + int (*have_wrcomb)(void); +}; + +struct mtrr_sentry { + __u64 base; + __u32 size; + __u32 type; +}; + +struct mtrr_sentry32 { + compat_ulong_t base; + compat_uint_t size; + compat_uint_t type; +}; + +struct mtrr_var_range { + __u32 base_lo; + __u32 base_hi; + __u32 mask_lo; + __u32 mask_hi; +}; + +struct mtrr_state_type { + struct mtrr_var_range var_ranges[256]; + mtrr_type fixed_ranges[88]; + unsigned char enabled; + bool have_fixed; + mtrr_type def_type; +}; + +struct multi_stop_data { + cpu_stop_fn_t fn; + void *data; + unsigned int num_threads; + const struct cpumask *active_cpus; + enum multi_stop_state state; + atomic_t thread_ack; +}; + +struct multi_symbols_sort { + const char **funcs; + u64 *cookies; +}; + +struct multi_transaction { + struct kref count; + ssize_t size; + char data[0]; +}; + +struct multicall_space { + struct multicall_entry *mc; + void *args; +}; + +struct multiprocess_signals { + sigset_t signal; + struct hlist_node node; +}; + +typedef struct mutex *class_mutex_t; + +typedef class_mutex_t class_mutex_intr_t; + +struct mutex_waiter { + struct list_head list; + struct task_struct *task; + struct ww_acquire_ctx *ww_ctx; +}; + +struct mwait_cpu_dead { + unsigned int control; + unsigned int status; +}; + +struct mz_hdr { + uint16_t magic; + uint16_t lbsize; + uint16_t blocks; + uint16_t relocs; + uint16_t hdrsize; + uint16_t min_extra_pps; + uint16_t max_extra_pps; + uint16_t ss; + uint16_t sp; + uint16_t checksum; + uint16_t ip; + uint16_t cs; + uint16_t reloc_table_offset; + uint16_t overlay_num; + uint16_t reserved0[4]; + uint16_t oem_id; + uint16_t oem_info; + uint16_t reserved1[10]; + uint32_t peaddr; + char message[0]; +}; + +struct n_tty_data { + size_t read_head; + size_t commit_head; + size_t canon_head; + size_t echo_head; + size_t echo_commit; + size_t echo_mark; + long unsigned int char_map[4]; + long unsigned int overrun_time; + unsigned int num_overrun; + bool no_room; + unsigned char lnext: 1; + unsigned char erasing: 1; + unsigned char raw: 1; + unsigned char real_raw: 1; + unsigned char icanon: 1; + unsigned char push: 1; + u8 read_buf[4096]; + long unsigned int read_flags[64]; + u8 echo_buf[4096]; + size_t read_tail; + size_t line_start; + size_t lookahead_count; + unsigned int column; + unsigned int canon_column; + size_t echo_tail; + struct mutex atomic_read_lock; + struct mutex output_lock; +}; + +struct saved { + struct path link; + struct delayed_call done; + const char *name; + unsigned int seq; +}; + +struct nameidata { + struct path path; + struct qstr last; + struct path root; + struct inode *inode; + unsigned int flags; + unsigned int state; + unsigned int seq; + unsigned int next_seq; + unsigned int m_seq; + unsigned int r_seq; + int last_type; + unsigned int depth; + int total_link_count; + struct saved *stack; + struct saved internal[2]; + struct filename *name; + const char *pathname; + struct nameidata *saved; + unsigned int root_seq; + int dfd; + vfsuid_t dir_vfsuid; + umode_t dir_mode; +}; + +struct page_frag_cache { + long unsigned int encoded_page; + __u32 offset; + __u32 pagecnt_bias; +}; + +struct napi_alloc_cache { + local_lock_t bh_lock; + struct page_frag_cache page; + unsigned int skb_count; + void *skb_cache[64]; +}; + +struct napi_config { + u64 gro_flush_timeout; + u64 irq_suspend_timeout; + u32 defer_hard_irqs; + cpumask_t affinity_mask; + u8 threaded; + unsigned int napi_id; +}; + +struct napi_gro_cb { + union { + struct { + void *frag0; + unsigned int frag0_len; + }; + struct { + struct sk_buff *last; + long unsigned int age; + }; + }; + int data_offset; + u16 flush; + u16 count; + u16 proto; + u16 pad; + union { + struct { + u16 gro_remcsum_start; + u8 same_flow: 1; + u8 encap_mark: 1; + u8 csum_valid: 1; + u8 csum_cnt: 3; + u8 free: 2; + u8 is_ipv6: 1; + u8 is_fou: 1; + u8 ip_fixedid: 1; + u8 recursion_counter: 4; + u8 is_flist: 1; + }; + struct { + u16 gro_remcsum_start; + u8 same_flow: 1; + u8 encap_mark: 1; + u8 csum_valid: 1; + u8 csum_cnt: 3; + u8 free: 2; + u8 is_ipv6: 1; + u8 is_fou: 1; + u8 ip_fixedid: 1; + u8 recursion_counter: 4; + u8 is_flist: 1; + } zeroed; + }; + __wsum csum; + union { + struct { + u16 network_offset; + u16 inner_network_offset; + }; + u16 network_offsets[2]; + }; +}; + +struct nat_keepalive { + struct net *net; + u16 family; + xfrm_address_t saddr; + xfrm_address_t daddr; + __be16 encap_sport; + __be16 encap_dport; + __u32 smark; +}; + +struct nat_keepalive_work_ctx { + time64_t next_run; + time64_t now; +}; + +struct nbcon_state { + union { + unsigned int atom; + struct { + unsigned int prio: 2; + unsigned int req_prio: 2; + unsigned int unsafe: 1; + unsigned int unsafe_takeover: 1; + unsigned int cpu: 24; + }; + }; +}; + +struct nbcon_write_context { + struct nbcon_context ctxt; + char *outbuf; + unsigned int len; + bool unsafe_takeover; +}; + +struct ncsi_dev_priv; + +struct ncsi_aen_pkt_hdr; + +struct ncsi_aen_handler { + unsigned char type; + int payload; + int (*handler)(struct ncsi_dev_priv *, struct ncsi_aen_pkt_hdr *); +}; + +struct ncsi_pkt_hdr { + unsigned char mc_id; + unsigned char revision; + unsigned char reserved; + unsigned char id; + unsigned char type; + unsigned char channel; + __be16 length; + __be32 reserved1[2]; +}; + +struct ncsi_aen_pkt_hdr { + struct ncsi_pkt_hdr common; + unsigned char reserved2[3]; + unsigned char type; +}; + +struct ncsi_aen_hncdsc_pkt { + struct ncsi_aen_pkt_hdr aen; + __be32 status; + __be32 checksum; + unsigned char pad[18]; +}; + +struct ncsi_aen_lsc_pkt { + struct ncsi_aen_pkt_hdr aen; + __be32 status; + __be32 oem_status; + __be32 checksum; + unsigned char pad[14]; +}; + +struct ncsi_channel_version { + u8 major; + u8 minor; + u8 update; + char alpha1; + char alpha2; + u8 fw_name[13]; + u32 fw_version; + u16 pci_ids[4]; + u32 mf_id; +}; + +struct ncsi_channel_cap { + u32 index; + u32 cap; +}; + +struct ncsi_channel_mode { + u32 index; + u32 enable; + u32 size; + u32 data[8]; +}; + +struct ncsi_channel_mac_filter { + u8 n_uc; + u8 n_mc; + u8 n_mixed; + u64 bitmap; + unsigned char *addrs; +}; + +struct ncsi_channel_vlan_filter { + u8 n_vids; + u64 bitmap; + u16 *vids; +}; + +struct ncsi_channel_stats { + u64 hnc_cnt; + u64 hnc_rx_bytes; + u64 hnc_tx_bytes; + u64 hnc_rx_uc_pkts; + u64 hnc_rx_mc_pkts; + u64 hnc_rx_bc_pkts; + u64 hnc_tx_uc_pkts; + u64 hnc_tx_mc_pkts; + u64 hnc_tx_bc_pkts; + u32 hnc_fcs_err; + u32 hnc_align_err; + u32 hnc_false_carrier; + u32 hnc_runt_pkts; + u32 hnc_jabber_pkts; + u32 hnc_rx_pause_xon; + u32 hnc_rx_pause_xoff; + u32 hnc_tx_pause_xon; + u32 hnc_tx_pause_xoff; + u32 hnc_tx_s_collision; + u32 hnc_tx_m_collision; + u32 hnc_l_collision; + u32 hnc_e_collision; + u32 hnc_rx_ctl_frames; + u32 hnc_rx_64_frames; + u32 hnc_rx_127_frames; + u32 hnc_rx_255_frames; + u32 hnc_rx_511_frames; + u32 hnc_rx_1023_frames; + u32 hnc_rx_1522_frames; + u32 hnc_rx_9022_frames; + u32 hnc_tx_64_frames; + u32 hnc_tx_127_frames; + u32 hnc_tx_255_frames; + u32 hnc_tx_511_frames; + u32 hnc_tx_1023_frames; + u32 hnc_tx_1522_frames; + u32 hnc_tx_9022_frames; + u64 hnc_rx_valid_bytes; + u32 hnc_rx_runt_pkts; + u32 hnc_rx_jabber_pkts; + u32 ncsi_rx_cmds; + u32 ncsi_dropped_cmds; + u32 ncsi_cmd_type_errs; + u32 ncsi_cmd_csum_errs; + u32 ncsi_rx_pkts; + u32 ncsi_tx_pkts; + u32 ncsi_tx_aen_pkts; + u32 pt_tx_pkts; + u32 pt_tx_dropped; + u32 pt_tx_channel_err; + u32 pt_tx_us_err; + u32 pt_rx_pkts; + u32 pt_rx_dropped; + u32 pt_rx_channel_err; + u32 pt_rx_us_err; + u32 pt_rx_os_err; +}; + +struct ncsi_package; + +struct ncsi_channel { + unsigned char id; + int state; + bool reconfigure_needed; + spinlock_t lock; + struct ncsi_package *package; + struct ncsi_channel_version version; + struct ncsi_channel_cap caps[6]; + struct ncsi_channel_mode modes[8]; + struct ncsi_channel_mac_filter mac_filter; + struct ncsi_channel_vlan_filter vlan_filter; + struct ncsi_channel_stats stats; + struct { + struct timer_list timer; + bool enabled; + unsigned int state; + } monitor; + struct list_head node; + struct list_head link; +}; + +struct ncsi_cmd_pkt_hdr { + struct ncsi_pkt_hdr common; +}; + +struct ncsi_cmd_ae_pkt { + struct ncsi_cmd_pkt_hdr cmd; + unsigned char reserved[3]; + unsigned char mc_id; + __be32 mode; + __be32 checksum; + unsigned char pad[18]; +}; + +struct ncsi_cmd_arg { + struct ncsi_dev_priv *ndp; + unsigned char type; + unsigned char id; + unsigned char package; + unsigned char channel; + short unsigned int payload; + unsigned int req_flags; + union { + unsigned char bytes[16]; + short unsigned int words[8]; + unsigned int dwords[4]; + }; + unsigned char *data; + struct genl_info *info; +}; + +struct ncsi_cmd_dc_pkt { + struct ncsi_cmd_pkt_hdr cmd; + unsigned char reserved[3]; + unsigned char ald; + __be32 checksum; + unsigned char pad[22]; +}; + +struct ncsi_cmd_ebf_pkt { + struct ncsi_cmd_pkt_hdr cmd; + __be32 mode; + __be32 checksum; + unsigned char pad[22]; +}; + +struct ncsi_cmd_egmf_pkt { + struct ncsi_cmd_pkt_hdr cmd; + __be32 mode; + __be32 checksum; + unsigned char pad[22]; +}; + +struct ncsi_cmd_ev_pkt { + struct ncsi_cmd_pkt_hdr cmd; + unsigned char reserved[3]; + unsigned char mode; + __be32 checksum; + unsigned char pad[22]; +}; + +struct ncsi_cmd_handler { + unsigned char type; + int payload; + int (*handler)(struct sk_buff *, struct ncsi_cmd_arg *); +}; + +struct ncsi_cmd_oem_pkt { + struct ncsi_cmd_pkt_hdr cmd; + __be32 mfr_id; + unsigned char data[0]; +}; + +struct ncsi_cmd_pkt { + struct ncsi_cmd_pkt_hdr cmd; + __be32 checksum; + unsigned char pad[26]; +}; + +struct ncsi_cmd_rc_pkt { + struct ncsi_cmd_pkt_hdr cmd; + __be32 reserved; + __be32 checksum; + unsigned char pad[22]; +}; + +struct ncsi_cmd_sl_pkt { + struct ncsi_cmd_pkt_hdr cmd; + __be32 mode; + __be32 oem_mode; + __be32 checksum; + unsigned char pad[18]; +}; + +struct ncsi_cmd_sma_pkt { + struct ncsi_cmd_pkt_hdr cmd; + unsigned char mac[6]; + unsigned char index; + unsigned char at_e; + __be32 checksum; + unsigned char pad[18]; +}; + +struct ncsi_cmd_snfc_pkt { + struct ncsi_cmd_pkt_hdr cmd; + unsigned char reserved[3]; + unsigned char mode; + __be32 checksum; + unsigned char pad[22]; +}; + +struct ncsi_cmd_sp_pkt { + struct ncsi_cmd_pkt_hdr cmd; + unsigned char reserved[3]; + unsigned char hw_arbitration; + __be32 checksum; + unsigned char pad[22]; +}; + +struct ncsi_cmd_svf_pkt { + struct ncsi_cmd_pkt_hdr cmd; + __be16 reserved; + __be16 vlan; + __be16 reserved1; + unsigned char index; + unsigned char enable; + __be32 checksum; + unsigned char pad[18]; +}; + +struct ncsi_dev { + int state; + int link_up; + struct net_device *dev; + void (*handler)(struct ncsi_dev *); +}; + +struct nlmsghdr { + __u32 nlmsg_len; + __u16 nlmsg_type; + __u16 nlmsg_flags; + __u32 nlmsg_seq; + __u32 nlmsg_pid; +}; + +struct ncsi_request { + unsigned char id; + bool used; + unsigned int flags; + struct ncsi_dev_priv *ndp; + struct sk_buff *cmd; + struct sk_buff *rsp; + struct timer_list timer; + bool enabled; + u32 snd_seq; + u32 snd_portid; + struct nlmsghdr nlhdr; +}; + +struct packet_type { + __be16 type; + bool ignore_outgoing; + struct net_device *dev; + netdevice_tracker dev_tracker; + int (*func)(struct sk_buff *, struct net_device *, struct packet_type *, struct net_device *); + void (*list_func)(struct list_head *, struct packet_type *, struct net_device *); + bool (*id_match)(struct packet_type *, struct sock *); + struct net *af_packet_net; + void *af_packet_priv; + struct list_head list; +}; + +struct ncsi_dev_priv { + struct ncsi_dev ndev; + unsigned int flags; + unsigned int gma_flag; + struct __kernel_sockaddr_storage pending_mac; + spinlock_t lock; + unsigned int package_probe_id; + unsigned int package_num; + unsigned int channel_probe_id; + struct list_head packages; + struct ncsi_channel *hot_channel; + struct ncsi_request requests[256]; + unsigned int request_id; + unsigned int pending_req_num; + struct ncsi_package *active_package; + struct ncsi_channel *active_channel; + struct list_head channel_queue; + struct work_struct work; + struct packet_type ptype; + struct list_head node; + struct list_head vlan_vids; + bool multi_package; + bool mlx_multi_host; + u32 package_whitelist; + unsigned char channel_count; +}; + +struct ncsi_oem_gma_handler { + unsigned int mfr_id; + int (*handler)(struct ncsi_cmd_arg *); +}; + +struct ncsi_package { + unsigned char id; + unsigned char uuid[16]; + struct ncsi_dev_priv *ndp; + spinlock_t lock; + unsigned int channel_num; + struct list_head channels; + struct list_head node; + bool multi_channel; + u32 channel_whitelist; + struct ncsi_channel *preferred_channel; +}; + +struct ncsi_rsp_pkt_hdr { + struct ncsi_pkt_hdr common; + __be16 code; + __be16 reason; +}; + +struct ncsi_rsp_gc_pkt { + struct ncsi_rsp_pkt_hdr rsp; + __be32 cap; + __be32 bc_cap; + __be32 mc_cap; + __be32 buf_cap; + __be32 aen_cap; + unsigned char vlan_cnt; + unsigned char mixed_cnt; + unsigned char mc_cnt; + unsigned char uc_cnt; + unsigned char reserved[2]; + unsigned char vlan_mode; + unsigned char channel_cnt; + __be32 checksum; +}; + +struct ncsi_rsp_gcps_pkt { + struct ncsi_rsp_pkt_hdr rsp; + __be64 cnt; + __be64 rx_bytes; + __be64 tx_bytes; + __be64 rx_uc_pkts; + __be64 rx_mc_pkts; + __be64 rx_bc_pkts; + __be64 tx_uc_pkts; + __be64 tx_mc_pkts; + __be64 tx_bc_pkts; + __be32 fcs_err; + __be32 align_err; + __be32 false_carrier; + __be32 runt_pkts; + __be32 jabber_pkts; + __be32 rx_pause_xon; + __be32 rx_pause_xoff; + __be32 tx_pause_xon; + __be32 tx_pause_xoff; + __be32 tx_s_collision; + __be32 tx_m_collision; + __be32 l_collision; + __be32 e_collision; + __be32 rx_ctl_frames; + __be32 rx_64_frames; + __be32 rx_127_frames; + __be32 rx_255_frames; + __be32 rx_511_frames; + __be32 rx_1023_frames; + __be32 rx_1522_frames; + __be32 rx_9022_frames; + __be32 tx_64_frames; + __be32 tx_127_frames; + __be32 tx_255_frames; + __be32 tx_511_frames; + __be32 tx_1023_frames; + __be32 tx_1522_frames; + __be32 tx_9022_frames; + __be64 rx_valid_bytes; + __be32 rx_runt_pkts; + __be32 rx_jabber_pkts; + __be32 checksum; +} __attribute__((packed)); + +struct ncsi_rsp_gls_pkt { + struct ncsi_rsp_pkt_hdr rsp; + __be32 status; + __be32 other; + __be32 oem_status; + __be32 checksum; + unsigned char pad[10]; +}; + +struct ncsi_rsp_gmcma_pkt { + struct ncsi_rsp_pkt_hdr rsp; + unsigned char address_count; + unsigned char reserved[3]; + unsigned char addresses[0]; +}; + +struct ncsi_rsp_gnpts_pkt { + struct ncsi_rsp_pkt_hdr rsp; + __be32 tx_pkts; + __be32 tx_dropped; + __be32 tx_channel_err; + __be32 tx_us_err; + __be32 rx_pkts; + __be32 rx_dropped; + __be32 rx_channel_err; + __be32 rx_us_err; + __be32 rx_os_err; + __be32 checksum; +}; + +struct ncsi_rsp_gns_pkt { + struct ncsi_rsp_pkt_hdr rsp; + __be32 rx_cmds; + __be32 dropped_cmds; + __be32 cmd_type_errs; + __be32 cmd_csum_errs; + __be32 rx_pkts; + __be32 tx_pkts; + __be32 tx_aen_pkts; + __be32 checksum; +}; + +struct ncsi_rsp_gp_pkt { + struct ncsi_rsp_pkt_hdr rsp; + unsigned char mac_cnt; + unsigned char reserved[2]; + unsigned char mac_enable; + unsigned char vlan_cnt; + unsigned char reserved1; + __be16 vlan_enable; + __be32 link_mode; + __be32 bc_mode; + __be32 valid_modes; + unsigned char vlan_mode; + unsigned char fc_mode; + unsigned char reserved2[2]; + __be32 aen_mode; + unsigned char mac[6]; + __be16 vlan; + __be32 checksum; +}; + +struct ncsi_rsp_gps_pkt { + struct ncsi_rsp_pkt_hdr rsp; + __be32 status; + __be32 checksum; +}; + +struct ncsi_rsp_gpuuid_pkt { + struct ncsi_rsp_pkt_hdr rsp; + unsigned char uuid[16]; + __be32 checksum; +}; + +struct ncsi_rsp_gvi_pkt { + struct ncsi_rsp_pkt_hdr rsp; + unsigned char major; + unsigned char minor; + unsigned char update; + unsigned char alpha1; + unsigned char reserved[3]; + unsigned char alpha2; + unsigned char fw_name[12]; + __be32 fw_version; + __be16 pci_ids[4]; + __be32 mf_id; + __be32 checksum; +}; + +struct ncsi_rsp_handler { + unsigned char type; + int payload; + int (*handler)(struct ncsi_request *); +}; + +struct ncsi_rsp_oem_bcm_pkt { + unsigned char ver; + unsigned char type; + __be16 len; + unsigned char data[0]; +}; + +struct ncsi_rsp_oem_handler { + unsigned int mfr_id; + int (*handler)(struct ncsi_request *); +}; + +struct ncsi_rsp_oem_intel_pkt { + unsigned char cmd; + unsigned char data[0]; +}; + +struct ncsi_rsp_oem_mlx_pkt { + unsigned char cmd_rev; + unsigned char cmd; + unsigned char param; + unsigned char optional; + unsigned char data[0]; +}; + +struct ncsi_rsp_oem_pkt { + struct ncsi_rsp_pkt_hdr rsp; + __be32 mfr_id; + unsigned char data[0]; +}; + +struct ncsi_rsp_pkt { + struct ncsi_rsp_pkt_hdr rsp; + __be32 checksum; + unsigned char pad[22]; +}; + +struct nd_namespace_common; + +struct nd_btt { + struct device dev; + struct nd_namespace_common *ndns; + struct btt *btt; + long unsigned int lbasize; + u64 size; + uuid_t *uuid; + int id; + int initial_offset; + u16 version_major; + u16 version_minor; +}; + +struct nd_cmd_ars_cap { + __u64 address; + __u64 length; + __u32 status; + __u32 max_ars_out; + __u32 clear_err_unit; + __u16 flags; + __u16 reserved; +}; + +struct nd_cmd_clear_error { + __u64 address; + __u64 length; + __u32 status; + __u8 reserved[4]; + __u64 cleared; +}; + +struct nd_cmd_desc { + int in_num; + int out_num; + u32 in_sizes[5]; + int out_sizes[5]; +}; + +struct nd_cmd_get_config_data_hdr { + __u32 in_offset; + __u32 in_length; + __u32 status; + __u8 out_buf[0]; +}; + +struct nd_cmd_get_config_size { + __u32 status; + __u32 config_size; + __u32 max_xfer; +}; + +struct nd_cmd_pkg { + __u64 nd_family; + __u64 nd_command; + __u32 nd_size_in; + __u32 nd_size_out; + __u32 nd_reserved2[9]; + __u32 nd_fw_size; + unsigned char nd_payload[0]; +}; + +struct nd_cmd_set_config_hdr { + __u32 in_offset; + __u32 in_length; + __u8 in_buf[0]; +}; + +struct nd_cmd_vendor_hdr { + __u32 opcode; + __u32 in_length; + __u8 in_buf[0]; +}; + +struct nd_pfn_sb; + +struct nd_pfn { + int id; + uuid_t *uuid; + struct device dev; + long unsigned int align; + long unsigned int npfns; + enum nd_pfn_mode mode; + struct nd_pfn_sb *pfn_sb; + struct nd_namespace_common *ndns; +}; + +struct nd_dax { + struct nd_pfn nd_pfn; +}; + +struct nd_device_driver { + struct device_driver drv; + long unsigned int type; + int (*probe)(struct device *); + void (*remove)(struct device *); + void (*shutdown)(struct device *); + void (*notify)(struct device *, enum nvdimm_event); +}; + +struct nd_gen_sb { + char reserved[4088]; + __le64 checksum; +}; + +struct nd_interleave_set { + u64 cookie1; + u64 cookie2; + u64 altcookie; + guid_t type_guid; +}; + +struct nd_namespace_label; + +struct nd_label_ent { + struct list_head list; + long unsigned int flags; + struct nd_namespace_label *label; +}; + +struct nd_label_id { + char id[50]; +}; + +struct nvdimm; + +struct nvdimm_drvdata; + +struct nd_mapping { + struct nvdimm *nvdimm; + u64 start; + u64 size; + int position; + struct list_head labels; + struct mutex lock; + struct nvdimm_drvdata *ndd; +}; + +struct nd_mapping_desc { + struct nvdimm *nvdimm; + u64 start; + u64 size; + int position; +}; + +struct nd_msg { + struct icmp6hdr icmph; + struct in6_addr target; + __u8 opt[0]; +}; + +struct nd_namespace_common { + int force_raw; + struct device dev; + struct device *claim; + enum nvdimm_claim_class claim_class; + int (*rw_bytes)(struct nd_namespace_common *, resource_size_t, void *, size_t, int, long unsigned int); +}; + +struct nd_namespace_index { + u8 sig[16]; + u8 flags[3]; + u8 labelsize; + __le32 seq; + __le64 myoff; + __le64 mysize; + __le64 otheroff; + __le64 labeloff; + __le32 nslot; + __le16 major; + __le16 minor; + __le64 checksum; + u8 free[0]; +}; + +struct nd_namespace_io { + struct nd_namespace_common common; + struct resource res; + resource_size_t size; + void *addr; + struct badblocks bb; +}; + +struct nvdimm_cxl_label { + u8 type[16]; + u8 uuid[16]; + u8 name[64]; + __le32 flags; + __le16 nrange; + __le16 position; + __le64 dpa; + __le64 rawsize; + __le32 slot; + __le32 align; + u8 region_uuid[16]; + u8 abstraction_uuid[16]; + __le16 lbasize; + u8 reserved[86]; + __le64 checksum; +}; + +struct nvdimm_efi_label { + u8 uuid[16]; + u8 name[64]; + __le32 flags; + __le16 nlabel; + __le16 position; + __le64 isetcookie; + __le64 lbasize; + __le64 dpa; + __le64 rawsize; + __le32 slot; + u8 align; + u8 reserved[3]; + guid_t type_guid; + guid_t abstraction_guid; + u8 reserved2[88]; + __le64 checksum; +}; + +struct nd_namespace_label { + union { + struct nvdimm_cxl_label cxl; + struct nvdimm_efi_label efi; + }; +}; + +struct nd_namespace_pmem { + struct nd_namespace_io nsio; + long unsigned int lbasize; + char *alt_name; + uuid_t *uuid; + int id; +}; + +struct nd_opt_hdr { + __u8 nd_opt_type; + __u8 nd_opt_len; +}; + +struct nd_percpu_lane { + int count; + spinlock_t lock; +}; + +struct nd_pfn_sb { + u8 signature[16]; + u8 uuid[16]; + u8 parent_uuid[16]; + __le32 flags; + __le16 version_major; + __le16 version_minor; + __le64 dataoff; + __le64 npfns; + __le32 mode; + __le32 start_pad; + __le32 end_trunc; + __le32 align; + __le32 page_size; + __le16 page_struct_size; + u8 padding[3994]; + __le64 checksum; +}; + +struct nd_region { + struct device dev; + struct ida ns_ida; + struct ida btt_ida; + struct ida pfn_ida; + struct ida dax_ida; + long unsigned int flags; + struct device *ns_seed; + struct device *btt_seed; + struct device *pfn_seed; + struct device *dax_seed; + long unsigned int align; + u16 ndr_mappings; + u64 ndr_size; + u64 ndr_start; + int id; + int num_lanes; + int ro; + int numa_node; + int target_node; + void *provider_data; + struct kernfs_node *bb_state; + struct badblocks bb; + struct nd_interleave_set *nd_set; + struct nd_percpu_lane *lane; + int (*flush)(struct nd_region *, struct bio *); + struct nd_mapping mapping[0]; +}; + +struct nd_region_data { + int ns_count; + int ns_active; + unsigned int hints_shift; + void *flush_wpq[0]; +}; + +struct nd_region_desc { + struct resource *res; + struct nd_mapping_desc *mapping; + u16 num_mappings; + const struct attribute_group **attr_groups; + struct nd_interleave_set *nd_set; + void *provider_data; + int num_lanes; + int numa_node; + int target_node; + long unsigned int flags; + int memregion; + struct device_node *of_node; + int (*flush)(struct nd_region *, struct bio *); +}; + +struct nda_cacheinfo { + __u32 ndm_confirmed; + __u32 ndm_used; + __u32 ndm_updated; + __u32 ndm_refcnt; +}; + +struct ndisc_options; + +struct prefix_info; + +struct ndisc_ops { + int (*parse_options)(const struct net_device *, struct nd_opt_hdr *, struct ndisc_options *); + void (*update)(const struct net_device *, struct neighbour *, u32, u8, const struct ndisc_options *); + int (*opt_addr_space)(const struct net_device *, u8, struct neighbour *, u8 *, u8 **); + void (*fill_addr_option)(const struct net_device *, struct sk_buff *, u8, const u8 *); + void (*prefix_rcv_add_addr)(struct net *, struct net_device *, const struct prefix_info *, struct inet6_dev *, struct in6_addr *, int, u32, bool, bool, __u32, u32, bool); +}; + +struct ndisc_options { + struct nd_opt_hdr *nd_opt_array[15]; + struct nd_opt_hdr *nd_opts_ri; + struct nd_opt_hdr *nd_opts_ri_end; + struct nd_opt_hdr *nd_useropts; + struct nd_opt_hdr *nd_useropts_end; + struct nd_opt_hdr *nd_802154_opt_array[3]; +}; + +struct ndmsg { + __u8 ndm_family; + __u8 ndm_pad1; + __u16 ndm_pad2; + __s32 ndm_ifindex; + __u16 ndm_state; + __u8 ndm_flags; + __u8 ndm_type; +}; + +struct ndo_fdb_dump_context { + long unsigned int ifindex; + long unsigned int fdb_idx; +}; + +struct ndt_config { + __u16 ndtc_key_len; + __u16 ndtc_entry_size; + __u32 ndtc_entries; + __u32 ndtc_last_flush; + __u32 ndtc_last_rand; + __u32 ndtc_hash_rnd; + __u32 ndtc_hash_mask; + __u32 ndtc_hash_chain_gc; + __u32 ndtc_proxy_qlen; +}; + +struct ndt_stats { + __u64 ndts_allocs; + __u64 ndts_destroys; + __u64 ndts_hash_grows; + __u64 ndts_res_failed; + __u64 ndts_lookups; + __u64 ndts_hits; + __u64 ndts_rcv_probes_mcast; + __u64 ndts_rcv_probes_ucast; + __u64 ndts_periodic_gc_runs; + __u64 ndts_forced_gc_runs; + __u64 ndts_table_fulls; +}; + +struct ndtmsg { + __u8 ndtm_family; + __u8 ndtm_pad1; + __u16 ndtm_pad2; +}; + +struct nduseroptmsg { + unsigned char nduseropt_family; + unsigned char nduseropt_pad1; + short unsigned int nduseropt_opts_len; + int nduseropt_ifindex; + __u8 nduseropt_icmp_type; + __u8 nduseropt_icmp_code; + short unsigned int nduseropt_pad2; + unsigned int nduseropt_pad3; +}; + +struct neigh_dump_filter { + int master_idx; + int dev_idx; +}; + +struct neigh_hash_table { + struct hlist_head *hash_heads; + unsigned int hash_shift; + __u32 hash_rnd[4]; + struct callback_head rcu; +}; + +struct neigh_ops { + int family; + void (*solicit)(struct neighbour *, struct sk_buff *); + void (*error_report)(struct neighbour *, struct sk_buff *); + int (*output)(struct neighbour *, struct sk_buff *); + int (*connected_output)(struct neighbour *, struct sk_buff *); +}; + +struct neigh_parms { + possible_net_t net; + struct net_device *dev; + netdevice_tracker dev_tracker; + struct list_head list; + int (*neigh_setup)(struct neighbour *); + struct neigh_table *tbl; + void *sysctl_table; + int dead; + refcount_t refcnt; + struct callback_head callback_head; + int reachable_time; + u32 qlen; + int data[14]; + long unsigned int data_state[1]; +}; + +struct neigh_seq_state { + struct seq_net_private p; + struct neigh_table *tbl; + struct neigh_hash_table *nht; + void * (*neigh_sub_iter)(struct neigh_seq_state *, struct neighbour *, loff_t *); + unsigned int bucket; + unsigned int flags; +}; + +struct neigh_statistics { + long unsigned int allocs; + long unsigned int destroys; + long unsigned int hash_grows; + long unsigned int res_failed; + long unsigned int lookups; + long unsigned int hits; + long unsigned int rcv_probes_mcast; + long unsigned int rcv_probes_ucast; + long unsigned int periodic_gc_runs; + long unsigned int forced_gc_runs; + long unsigned int unres_discards; + long unsigned int table_fulls; +}; + +struct neigh_sysctl_table { + struct ctl_table_header *sysctl_header; + struct ctl_table neigh_vars[21]; +}; + +struct pneigh_entry; + +struct neigh_table { + int family; + unsigned int entry_size; + unsigned int key_len; + __be16 protocol; + __u32 (*hash)(const void *, const struct net_device *, __u32 *); + bool (*key_eq)(const struct neighbour *, const void *); + int (*constructor)(struct neighbour *); + int (*pconstructor)(struct pneigh_entry *); + void (*pdestructor)(struct pneigh_entry *); + void (*proxy_redo)(struct sk_buff *); + int (*is_multicast)(const void *); + bool (*allow_add)(const struct net_device *, struct netlink_ext_ack *); + char *id; + struct neigh_parms parms; + struct list_head parms_list; + int gc_interval; + int gc_thresh1; + int gc_thresh2; + int gc_thresh3; + long unsigned int last_flush; + struct delayed_work gc_work; + struct delayed_work managed_work; + struct timer_list proxy_timer; + struct sk_buff_head proxy_queue; + atomic_t entries; + atomic_t gc_entries; + struct list_head gc_list; + struct list_head managed_list; + rwlock_t lock; + long unsigned int last_rand; + struct neigh_statistics *stats; + struct neigh_hash_table *nht; + struct mutex phash_lock; + struct pneigh_entry **phash_buckets; +}; + +struct neighbour { + struct hlist_node hash; + struct hlist_node dev_list; + struct neigh_table *tbl; + struct neigh_parms *parms; + long unsigned int confirmed; + long unsigned int updated; + rwlock_t lock; + refcount_t refcnt; + unsigned int arp_queue_len_bytes; + struct sk_buff_head arp_queue; + struct timer_list timer; + long unsigned int used; + atomic_t probes; + u8 nud_state; + u8 type; + u8 dead; + u8 protocol; + u32 flags; + seqlock_t ha_lock; + long: 0; + unsigned char ha[32]; + struct hh_cache hh; + int (*output)(struct neighbour *, struct sk_buff *); + const struct neigh_ops *ops; + struct list_head gc_list; + struct list_head managed_list; + struct callback_head rcu; + struct net_device *dev; + netdevice_tracker dev_tracker; + u8 primary_key[0]; +}; + +struct neighbour_cb { + long unsigned int sched_next; + unsigned int flags; +}; + +union nested_table { + union nested_table *table; + struct rhash_lock_head *bucket; +}; + +struct ref_tracker_dir {}; + +struct prot_inuse; + +struct netns_core { + struct ctl_table_header *sysctl_hdr; + int sysctl_somaxconn; + int sysctl_optmem_max; + u8 sysctl_txrehash; + u8 sysctl_tstamp_allow_data; + struct prot_inuse *prot_inuse; + struct cpumask *rps_default_mask; +}; + +struct tcp_mib; + +struct udp_mib; + +struct netns_mib { + struct ipstats_mib *ip_statistics; + struct ipstats_mib *ipv6_statistics; + struct tcp_mib *tcp_statistics; + struct linux_mib *net_statistics; + struct udp_mib *udp_statistics; + struct udp_mib *udp_stats_in6; + struct linux_xfrm_mib *xfrm_statistics; + struct linux_tls_mib *tls_statistics; + struct mptcp_mib *mptcp_statistics; + struct udp_mib *udplite_statistics; + struct udp_mib *udplite_stats_in6; + struct icmp_mib *icmp_statistics; + struct icmpmsg_mib *icmpmsg_statistics; + struct icmpv6_mib *icmpv6_statistics; + struct icmpv6msg_mib *icmpv6msg_statistics; + struct proc_dir_entry *proc_net_devsnmp6; +}; + +struct netns_packet { + struct mutex sklist_lock; + struct hlist_head sklist; +}; + +struct unix_table { + spinlock_t *locks; + struct hlist_head *buckets; +}; + +struct netns_unix { + struct unix_table table; + int sysctl_max_dgram_qlen; + struct ctl_table_header *ctl; +}; + +struct netns_nexthop { + struct rb_root rb_root; + struct hlist_head *devhash; + unsigned int seq; + u32 last_id_allocated; + struct blocking_notifier_head notifier_chain; +}; + +struct udp_tunnel_gro { + struct sock *sk; + struct hlist_head list; +}; + +struct ping_group_range { + seqlock_t lock; + kgid_t range[2]; +}; + +struct sysctl_fib_multipath_hash_seed { + u32 user_seed; + u32 mp_seed; +}; + +struct netns_ipv4 { + __u8 __cacheline_group_begin__netns_ipv4_read_tx[0]; + u8 sysctl_tcp_early_retrans; + u8 sysctl_tcp_tso_win_divisor; + u8 sysctl_tcp_tso_rtt_log; + u8 sysctl_tcp_autocorking; + int sysctl_tcp_min_snd_mss; + unsigned int sysctl_tcp_notsent_lowat; + int sysctl_tcp_limit_output_bytes; + int sysctl_tcp_min_rtt_wlen; + int sysctl_tcp_wmem[3]; + u8 sysctl_ip_fwd_use_pmtu; + __u8 __cacheline_group_end__netns_ipv4_read_tx[0]; + __u8 __cacheline_group_begin__netns_ipv4_read_txrx[0]; + u8 sysctl_tcp_moderate_rcvbuf; + __u8 __cacheline_group_end__netns_ipv4_read_txrx[0]; + __u8 __cacheline_group_begin__netns_ipv4_read_rx[0]; + u8 sysctl_ip_early_demux; + u8 sysctl_tcp_early_demux; + u8 sysctl_tcp_l3mdev_accept; + int sysctl_tcp_reordering; + int sysctl_tcp_rmem[3]; + __u8 __cacheline_group_end__netns_ipv4_read_rx[0]; + long: 64; + struct inet_timewait_death_row tcp_death_row; + struct udp_table *udp_table; + struct udp_tunnel_gro udp_tunnel_gro[2]; + struct ctl_table_header *forw_hdr; + struct ctl_table_header *frags_hdr; + struct ctl_table_header *ipv4_hdr; + struct ctl_table_header *route_hdr; + struct ctl_table_header *xfrm4_hdr; + struct ipv4_devconf *devconf_all; + struct ipv4_devconf *devconf_dflt; + struct ip_ra_chain *ra_chain; + struct mutex ra_mutex; + struct fib_rules_ops *rules_ops; + struct fib_table *fib_main; + struct fib_table *fib_default; + unsigned int fib_rules_require_fldissect; + bool fib_has_custom_rules; + bool fib_has_custom_local_routes; + bool fib_offload_disabled; + u8 sysctl_tcp_shrink_window; + atomic_t fib_num_tclassid_users; + struct hlist_head *fib_table_hash; + struct sock *fibnl; + struct hlist_head *fib_info_hash; + unsigned int fib_info_hash_bits; + unsigned int fib_info_cnt; + struct sock *mc_autojoin_sk; + struct inet_peer_base *peers; + struct fqdir *fqdir; + u8 sysctl_icmp_echo_ignore_all; + u8 sysctl_icmp_echo_enable_probe; + u8 sysctl_icmp_echo_ignore_broadcasts; + u8 sysctl_icmp_ignore_bogus_error_responses; + u8 sysctl_icmp_errors_use_inbound_ifaddr; + int sysctl_icmp_ratelimit; + int sysctl_icmp_ratemask; + int sysctl_icmp_msgs_per_sec; + int sysctl_icmp_msgs_burst; + atomic_t icmp_global_credit; + u32 icmp_global_stamp; + u32 ip_rt_min_pmtu; + int ip_rt_mtu_expires; + int ip_rt_min_advmss; + struct local_ports ip_local_ports; + u8 sysctl_tcp_ecn; + u8 sysctl_tcp_ecn_fallback; + u8 sysctl_ip_default_ttl; + u8 sysctl_ip_no_pmtu_disc; + u8 sysctl_ip_fwd_update_priority; + u8 sysctl_ip_nonlocal_bind; + u8 sysctl_ip_autobind_reuse; + u8 sysctl_ip_dynaddr; + u8 sysctl_raw_l3mdev_accept; + u8 sysctl_udp_early_demux; + u8 sysctl_nexthop_compat_mode; + u8 sysctl_fwmark_reflect; + u8 sysctl_tcp_fwmark_accept; + u8 sysctl_tcp_mtu_probing; + int sysctl_tcp_mtu_probe_floor; + int sysctl_tcp_base_mss; + int sysctl_tcp_probe_threshold; + u32 sysctl_tcp_probe_interval; + int sysctl_tcp_keepalive_time; + int sysctl_tcp_keepalive_intvl; + u8 sysctl_tcp_keepalive_probes; + u8 sysctl_tcp_syn_retries; + u8 sysctl_tcp_synack_retries; + u8 sysctl_tcp_syncookies; + u8 sysctl_tcp_migrate_req; + u8 sysctl_tcp_comp_sack_nr; + u8 sysctl_tcp_backlog_ack_defer; + u8 sysctl_tcp_pingpong_thresh; + u8 sysctl_tcp_retries1; + u8 sysctl_tcp_retries2; + u8 sysctl_tcp_orphan_retries; + u8 sysctl_tcp_tw_reuse; + unsigned int sysctl_tcp_tw_reuse_delay; + int sysctl_tcp_fin_timeout; + u8 sysctl_tcp_sack; + u8 sysctl_tcp_window_scaling; + u8 sysctl_tcp_timestamps; + int sysctl_tcp_rto_min_us; + int sysctl_tcp_rto_max_ms; + u8 sysctl_tcp_recovery; + u8 sysctl_tcp_thin_linear_timeouts; + u8 sysctl_tcp_slow_start_after_idle; + u8 sysctl_tcp_retrans_collapse; + u8 sysctl_tcp_stdurg; + u8 sysctl_tcp_rfc1337; + u8 sysctl_tcp_abort_on_overflow; + u8 sysctl_tcp_fack; + int sysctl_tcp_max_reordering; + int sysctl_tcp_adv_win_scale; + u8 sysctl_tcp_dsack; + u8 sysctl_tcp_app_win; + u8 sysctl_tcp_frto; + u8 sysctl_tcp_nometrics_save; + u8 sysctl_tcp_no_ssthresh_metrics_save; + u8 sysctl_tcp_workaround_signed_windows; + int sysctl_tcp_challenge_ack_limit; + u8 sysctl_tcp_min_tso_segs; + u8 sysctl_tcp_reflect_tos; + int sysctl_tcp_invalid_ratelimit; + int sysctl_tcp_pacing_ss_ratio; + int sysctl_tcp_pacing_ca_ratio; + unsigned int sysctl_tcp_child_ehash_entries; + long unsigned int sysctl_tcp_comp_sack_delay_ns; + long unsigned int sysctl_tcp_comp_sack_slack_ns; + int sysctl_max_syn_backlog; + int sysctl_tcp_fastopen; + const struct tcp_congestion_ops *tcp_congestion_control; + struct tcp_fastopen_context *tcp_fastopen_ctx; + unsigned int sysctl_tcp_fastopen_blackhole_timeout; + atomic_t tfo_active_disable_times; + long unsigned int tfo_active_disable_stamp; + u32 tcp_challenge_timestamp; + u32 tcp_challenge_count; + u8 sysctl_tcp_plb_enabled; + u8 sysctl_tcp_plb_idle_rehash_rounds; + u8 sysctl_tcp_plb_rehash_rounds; + u8 sysctl_tcp_plb_suspend_rto_sec; + int sysctl_tcp_plb_cong_thresh; + int sysctl_udp_wmem_min; + int sysctl_udp_rmem_min; + u8 sysctl_fib_notify_on_flag_change; + u8 sysctl_tcp_syn_linear_timeouts; + u8 sysctl_udp_l3mdev_accept; + u8 sysctl_igmp_llm_reports; + int sysctl_igmp_max_memberships; + int sysctl_igmp_max_msf; + int sysctl_igmp_qrv; + struct ping_group_range ping_group_range; + atomic_t dev_addr_genid; + unsigned int sysctl_udp_child_hash_entries; + long unsigned int *sysctl_local_reserved_ports; + int sysctl_ip_prot_sock; + struct list_head mr_tables; + struct fib_rules_ops *mr_rules_ops; + struct sysctl_fib_multipath_hash_seed sysctl_fib_multipath_hash_seed; + u32 sysctl_fib_multipath_hash_fields; + u8 sysctl_fib_multipath_use_neigh; + u8 sysctl_fib_multipath_hash_policy; + struct fib_notifier_ops *notifier_ops; + unsigned int fib_seq; + struct fib_notifier_ops *ipmr_notifier_ops; + unsigned int ipmr_seq; + atomic_t rt_genid; + siphash_key_t ip_id_key; + struct hlist_head *inet_addr_lst; + struct delayed_work addr_chk_work; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct netns_sysctl_ipv6 { + struct ctl_table_header *hdr; + struct ctl_table_header *route_hdr; + struct ctl_table_header *icmp_hdr; + struct ctl_table_header *frags_hdr; + struct ctl_table_header *xfrm6_hdr; + int flush_delay; + int ip6_rt_max_size; + int ip6_rt_gc_min_interval; + int ip6_rt_gc_timeout; + int ip6_rt_gc_interval; + int ip6_rt_gc_elasticity; + int ip6_rt_mtu_expires; + int ip6_rt_min_advmss; + u32 multipath_hash_fields; + u8 multipath_hash_policy; + u8 bindv6only; + u8 flowlabel_consistency; + u8 auto_flowlabels; + int icmpv6_time; + u8 icmpv6_echo_ignore_all; + u8 icmpv6_echo_ignore_multicast; + u8 icmpv6_echo_ignore_anycast; + long unsigned int icmpv6_ratemask[4]; + long unsigned int *icmpv6_ratemask_ptr; + u8 anycast_src_echo_reply; + u8 ip_nonlocal_bind; + u8 fwmark_reflect; + u8 flowlabel_state_ranges; + int idgen_retries; + int idgen_delay; + int flowlabel_reflect; + int max_dst_opts_cnt; + int max_hbh_opts_cnt; + int max_dst_opts_len; + int max_hbh_opts_len; + int seg6_flowlabel; + u32 ioam6_id; + u64 ioam6_id_wide; + u8 skip_notify_on_dev_down; + u8 fib_notify_on_flag_change; + u8 icmpv6_error_anycast_as_unicast; +}; + +struct rt6_statistics; + +struct seg6_pernet_data; + +struct netns_ipv6 { + struct dst_ops ip6_dst_ops; + struct netns_sysctl_ipv6 sysctl; + struct ipv6_devconf *devconf_all; + struct ipv6_devconf *devconf_dflt; + struct inet_peer_base *peers; + struct fqdir *fqdir; + struct fib6_info *fib6_null_entry; + struct rt6_info *ip6_null_entry; + struct rt6_statistics *rt6_stats; + struct timer_list ip6_fib_timer; + struct hlist_head *fib_table_hash; + spinlock_t fib_table_hash_lock; + struct fib6_table *fib6_main_tbl; + struct list_head fib6_walkers; + rwlock_t fib6_walker_lock; + spinlock_t fib6_gc_lock; + atomic_t ip6_rt_gc_expire; + long unsigned int ip6_rt_last_gc; + unsigned char flowlabel_has_excl; + bool fib6_has_custom_rules; + unsigned int fib6_rules_require_fldissect; + unsigned int fib6_routes_require_src; + struct rt6_info *ip6_prohibit_entry; + struct rt6_info *ip6_blk_hole_entry; + struct fib6_table *fib6_local_tbl; + struct fib_rules_ops *fib6_rules_ops; + struct sock *ndisc_sk; + struct sock *tcp_sk; + struct sock *igmp_sk; + struct sock *mc_autojoin_sk; + struct hlist_head *inet6_addr_lst; + spinlock_t addrconf_hash_lock; + struct delayed_work addr_chk_work; + struct list_head mr6_tables; + struct fib_rules_ops *mr6_rules_ops; + atomic_t dev_addr_genid; + atomic_t fib6_sernum; + struct seg6_pernet_data *seg6_data; + struct fib_notifier_ops *notifier_ops; + struct fib_notifier_ops *ip6mr_notifier_ops; + unsigned int ipmr_seq; + struct { + struct hlist_head head; + spinlock_t lock; + u32 seq; + } ip6addrlbl_table; + struct ioam6_pernet_data *ioam6_data; + long: 64; + long: 64; + long: 64; +}; + +struct netns_sysctl_lowpan { + struct ctl_table_header *frags_hdr; +}; + +struct netns_ieee802154_lowpan { + struct netns_sysctl_lowpan sysctl; + struct fqdir *fqdir; +}; + +struct sctp_mib; + +struct netns_sctp { + struct sctp_mib *sctp_statistics; + struct proc_dir_entry *proc_net_sctp; + struct ctl_table_header *sysctl_header; + struct sock *ctl_sock; + struct sock *udp4_sock; + struct sock *udp6_sock; + int udp_port; + int encap_port; + struct list_head local_addr_list; + struct list_head addr_waitq; + struct timer_list addr_wq_timer; + struct list_head auto_asconf_splist; + spinlock_t addr_wq_lock; + spinlock_t local_addr_lock; + unsigned int rto_initial; + unsigned int rto_min; + unsigned int rto_max; + int rto_alpha; + int rto_beta; + int max_burst; + int cookie_preserve_enable; + char *sctp_hmac_alg; + unsigned int valid_cookie_life; + unsigned int sack_timeout; + unsigned int hb_interval; + unsigned int probe_interval; + int max_retrans_association; + int max_retrans_path; + int max_retrans_init; + int pf_retrans; + int ps_retrans; + int pf_enable; + int pf_expose; + int sndbuf_policy; + int rcvbuf_policy; + int default_auto_asconf; + int addip_enable; + int addip_noauth; + int prsctp_enable; + int reconf_enable; + int auth_enable; + int intl_enable; + int ecn_enable; + int scope_policy; + int rwnd_upd_shift; + long unsigned int max_autoclose; + int l3mdev_accept; +}; + +struct nf_logger; + +struct nf_hook_entries; + +struct netns_nf { + struct proc_dir_entry *proc_netfilter; + const struct nf_logger *nf_loggers[11]; + struct ctl_table_header *nf_log_dir_header; + struct ctl_table_header *nf_lwtnl_dir_header; + struct nf_hook_entries *hooks_ipv4[5]; + struct nf_hook_entries *hooks_ipv6[5]; + struct nf_hook_entries *hooks_arp[3]; + struct nf_hook_entries *hooks_bridge[5]; + unsigned int defrag_ipv4_users; + unsigned int defrag_ipv6_users; +}; + +struct nf_generic_net { + unsigned int timeout; +}; + +struct nf_tcp_net { + unsigned int timeouts[14]; + u8 tcp_loose; + u8 tcp_be_liberal; + u8 tcp_max_retrans; + u8 tcp_ignore_invalid_rst; + unsigned int offload_timeout; +}; + +struct nf_udp_net { + unsigned int timeouts[2]; + unsigned int offload_timeout; +}; + +struct nf_icmp_net { + unsigned int timeout; +}; + +struct nf_sctp_net { + unsigned int timeouts[10]; +}; + +struct nf_gre_net { + struct list_head keymap_list; + unsigned int timeouts[2]; +}; + +struct nf_ip_net { + struct nf_generic_net generic; + struct nf_tcp_net tcp; + struct nf_udp_net udp; + struct nf_icmp_net icmp; + struct nf_icmp_net icmpv6; + struct nf_sctp_net sctp; + struct nf_gre_net gre; +}; + +struct nf_ct_event_notifier; + +struct netns_ct { + bool ecache_dwork_pending; + u8 sysctl_log_invalid; + u8 sysctl_events; + u8 sysctl_acct; + u8 sysctl_tstamp; + u8 sysctl_checksum; + struct ip_conntrack_stat *stat; + struct nf_ct_event_notifier *nf_conntrack_event_cb; + struct nf_ip_net nf_ct_proto; + atomic_t labels_used; +}; + +struct netns_nftables { + unsigned int base_seq; + u8 gencursor; +}; + +struct nf_flow_table_stat; + +struct netns_ft { + struct nf_flow_table_stat *stat; +}; + +struct netns_bpf { + struct bpf_prog_array *run_array[2]; + struct bpf_prog *progs[2]; + struct list_head links[2]; +}; + +struct xfrm_policy_hash { + struct hlist_head *table; + unsigned int hmask; + u8 dbits4; + u8 sbits4; + u8 dbits6; + u8 sbits6; +}; + +struct xfrm_policy_hthresh { + struct work_struct work; + seqlock_t lock; + u8 lbits4; + u8 rbits4; + u8 lbits6; + u8 rbits6; +}; + +struct netns_xfrm { + struct list_head state_all; + struct hlist_head *state_bydst; + struct hlist_head *state_bysrc; + struct hlist_head *state_byspi; + struct hlist_head *state_byseq; + struct hlist_head *state_cache_input; + unsigned int state_hmask; + unsigned int state_num; + struct work_struct state_hash_work; + struct list_head policy_all; + struct hlist_head *policy_byidx; + unsigned int policy_idx_hmask; + unsigned int idx_generator; + struct xfrm_policy_hash policy_bydst[3]; + unsigned int policy_count[6]; + struct work_struct policy_hash_work; + struct xfrm_policy_hthresh policy_hthresh; + struct list_head inexact_bins; + struct sock *nlsk; + struct sock *nlsk_stash; + u32 sysctl_aevent_etime; + u32 sysctl_aevent_rseqth; + int sysctl_larval_drop; + u32 sysctl_acq_expires; + u8 policy_default[3]; + struct ctl_table_header *sysctl_hdr; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + struct dst_ops xfrm4_dst_ops; + struct dst_ops xfrm6_dst_ops; + spinlock_t xfrm_state_lock; + seqcount_spinlock_t xfrm_state_hash_generation; + seqcount_spinlock_t xfrm_policy_hash_generation; + spinlock_t xfrm_policy_lock; + struct mutex xfrm_cfg_mutex; + struct delayed_work nat_keepalive_work; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct netns_ipvs; + +struct mpls_route; + +struct netns_mpls { + int ip_ttl_propagate; + int default_ttl; + size_t platform_labels; + struct mpls_route **platform_label; + struct ctl_table_header *ctl; +}; + +struct can_dev_rcv_lists; + +struct can_pkg_stats; + +struct can_rcv_lists_stats; + +struct netns_can { + struct proc_dir_entry *proc_dir; + struct proc_dir_entry *pde_stats; + struct proc_dir_entry *pde_reset_stats; + struct proc_dir_entry *pde_rcvlist_all; + struct proc_dir_entry *pde_rcvlist_fil; + struct proc_dir_entry *pde_rcvlist_inv; + struct proc_dir_entry *pde_rcvlist_sff; + struct proc_dir_entry *pde_rcvlist_eff; + struct proc_dir_entry *pde_rcvlist_err; + struct proc_dir_entry *bcmproc_dir; + struct can_dev_rcv_lists *rx_alldev_list; + spinlock_t rcvlists_lock; + struct timer_list stattimer; + struct can_pkg_stats *pkg_stats; + struct can_rcv_lists_stats *rcv_lists_stats; + struct hlist_head cgw_list; +}; + +struct netns_xdp { + struct mutex lock; + struct hlist_head list; +}; + +struct netns_mctp { + struct list_head routes; + struct mutex bind_lock; + struct hlist_head binds[128]; + spinlock_t keys_lock; + struct hlist_head keys; + unsigned int default_net; + struct mutex neigh_lock; + struct list_head neighbours; +}; + +struct smc_stats; + +struct smc_stats_rsn; + +struct netns_smc { + struct smc_stats *smc_stats; + struct mutex mutex_fback_rsn; + struct smc_stats_rsn *fback_rsn; + bool limit_smc_hs; + struct ctl_table_header *smc_hdr; + unsigned int sysctl_autocorking_size; + unsigned int sysctl_smcr_buf_type; + int sysctl_smcr_testlink_time; + int sysctl_wmem; + int sysctl_rmem; + int sysctl_max_links_per_lgr; + int sysctl_max_conns_per_lgr; +}; + +struct uevent_sock; + +struct net_generic; + +struct net { + refcount_t passive; + spinlock_t rules_mod_lock; + unsigned int dev_base_seq; + u32 ifindex; + spinlock_t nsid_lock; + atomic_t fnhe_genid; + struct list_head list; + struct list_head exit_list; + struct llist_node defer_free_list; + struct llist_node cleanup_list; + struct list_head ptype_all; + struct list_head ptype_specific; + struct key_tag *key_domain; + struct user_namespace *user_ns; + struct ucounts *ucounts; + struct idr netns_ids; + struct ns_common ns; + struct ref_tracker_dir refcnt_tracker; + struct ref_tracker_dir notrefcnt_tracker; + struct list_head dev_base_head; + struct proc_dir_entry *proc_net; + struct proc_dir_entry *proc_net_stat; + struct ctl_table_set sysctls; + struct sock *rtnl; + struct sock *genl_sock; + struct uevent_sock *uevent_sock; + struct hlist_head *dev_name_head; + struct hlist_head *dev_index_head; + struct xarray dev_by_index; + struct raw_notifier_head netdev_chain; + u32 hash_mix; + struct net_device *loopback_dev; + struct list_head rules_ops; + struct netns_core core; + struct netns_mib mib; + struct netns_packet packet; + struct netns_unix unx; + struct netns_nexthop nexthop; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + struct netns_ipv4 ipv4; + struct netns_ipv6 ipv6; + struct netns_ieee802154_lowpan ieee802154_lowpan; + struct netns_sctp sctp; + struct netns_nf nf; + struct netns_ct ct; + struct netns_nftables nft; + struct netns_ft ft; + struct sk_buff_head wext_nlevents; + struct net_generic *gen; + struct netns_bpf bpf; + long: 64; + long: 64; + struct netns_xfrm xfrm; + u64 net_cookie; + struct netns_ipvs *ipvs; + struct netns_mpls mpls; + struct netns_can can; + struct netns_xdp xdp; + struct netns_mctp mctp; + struct sock *crypto_nlsk; + struct sock *diag_nlsk; + struct netns_smc smc; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct net_aligned_data { + atomic64_t net_cookie; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + atomic_long_t tcp_memory_allocated; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + atomic_long_t udp_memory_allocated; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct rtable { + struct dst_entry dst; + int rt_genid; + unsigned int rt_flags; + __u16 rt_type; + __u8 rt_is_input; + __u8 rt_uses_gateway; + int rt_iif; + u8 rt_gw_family; + union { + __be32 rt_gw4; + struct in6_addr rt_gw6; + }; + u32 rt_mtu_locked: 1; + u32 rt_pmtu: 31; +}; + +struct rt6_info { + struct dst_entry dst; + struct fib6_info *from; + int sernum; + struct rt6key rt6i_dst; + struct rt6key rt6i_src; + struct in6_addr rt6i_gateway; + struct inet6_dev *rt6i_idev; + u32 rt6i_flags; + short unsigned int rt6i_nfheader_len; +}; + +struct net_bridge; + +struct net_bridge_vlan; + +struct net_bridge_mcast { + struct net_bridge *br; + struct net_bridge_vlan *vlan; + u32 multicast_last_member_count; + u32 multicast_startup_query_count; + u8 multicast_querier; + u8 multicast_igmp_version; + u8 multicast_router; + u8 multicast_mld_version; + long unsigned int multicast_last_member_interval; + long unsigned int multicast_membership_interval; + long unsigned int multicast_querier_interval; + long unsigned int multicast_query_interval; + long unsigned int multicast_query_response_interval; + long unsigned int multicast_startup_query_interval; + struct hlist_head ip4_mc_router_list; + struct timer_list ip4_mc_router_timer; + struct bridge_mcast_other_query ip4_other_query; + struct bridge_mcast_own_query ip4_own_query; + struct bridge_mcast_querier ip4_querier; + struct hlist_head ip6_mc_router_list; + struct timer_list ip6_mc_router_timer; + struct bridge_mcast_other_query ip6_other_query; + struct bridge_mcast_own_query ip6_own_query; + struct bridge_mcast_querier ip6_querier; +}; + +struct net_bridge_vlan_group; + +struct net_bridge { + spinlock_t lock; + spinlock_t hash_lock; + struct hlist_head frame_type_list; + struct net_device *dev; + long unsigned int options; + __be16 vlan_proto; + u16 default_pvid; + struct net_bridge_vlan_group *vlgrp; + struct rhashtable fdb_hash_tbl; + struct list_head port_list; + union { + struct rtable fake_rtable; + struct rt6_info fake_rt6_info; + }; + u32 metrics[17]; + u16 group_fwd_mask; + u16 group_fwd_mask_required; + bridge_id designated_root; + bridge_id bridge_id; + unsigned char topology_change; + unsigned char topology_change_detected; + u16 root_port; + long unsigned int max_age; + long unsigned int hello_time; + long unsigned int forward_delay; + long unsigned int ageing_time; + long unsigned int bridge_max_age; + long unsigned int bridge_hello_time; + long unsigned int bridge_forward_delay; + long unsigned int bridge_ageing_time; + u32 root_path_cost; + u8 group_addr[6]; + enum { + BR_NO_STP = 0, + BR_KERNEL_STP = 1, + BR_USER_STP = 2, + } stp_enabled; + struct net_bridge_mcast multicast_ctx; + struct bridge_mcast_stats *mcast_stats; + u32 hash_max; + spinlock_t multicast_lock; + struct rhashtable mdb_hash_tbl; + struct rhashtable sg_port_tbl; + struct hlist_head mcast_gc_list; + struct hlist_head mdb_list; + struct work_struct mcast_gc_work; + struct timer_list hello_timer; + struct timer_list tcn_timer; + struct timer_list topology_change_timer; + struct delayed_work gc_work; + struct kobject *ifobj; + u32 auto_cnt; + atomic_t fdb_n_learned; + u32 fdb_max_learned; + int last_hwdom; + long unsigned int busy_hwdoms; + struct hlist_head fdb_list; + struct hlist_head mrp_list; + struct hlist_head mep_list; +}; + +struct net_bridge_fdb_key { + mac_addr addr; + u16 vlan_id; +}; + +struct net_bridge_port; + +struct net_bridge_fdb_entry { + struct rhash_head rhnode; + struct net_bridge_port *dst; + struct net_bridge_fdb_key key; + struct hlist_node fdb_node; + long unsigned int flags; + long: 64; + long: 64; + long unsigned int updated; + long unsigned int used; + struct callback_head rcu; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct net_bridge_mcast_port { + struct net_bridge_port *port; + struct net_bridge_vlan *vlan; + struct bridge_mcast_own_query ip4_own_query; + struct timer_list ip4_mc_router_timer; + struct hlist_node ip4_rlist; + struct bridge_mcast_own_query ip6_own_query; + struct timer_list ip6_mc_router_timer; + struct hlist_node ip6_rlist; + unsigned char multicast_router; + u32 mdb_n_entries; + u32 mdb_max_entries; +}; + +struct netpoll; + +struct net_bridge_port { + struct net_bridge *br; + struct net_device *dev; + netdevice_tracker dev_tracker; + struct list_head list; + long unsigned int flags; + struct net_bridge_vlan_group *vlgrp; + struct net_bridge_port *backup_port; + u32 backup_nhid; + u8 priority; + u8 state; + u16 port_no; + unsigned char topology_change_ack; + unsigned char config_pending; + port_id port_id; + port_id designated_port; + bridge_id designated_root; + bridge_id designated_bridge; + u32 path_cost; + u32 designated_cost; + long unsigned int designated_age; + struct timer_list forward_delay_timer; + struct timer_list hold_timer; + struct timer_list message_age_timer; + struct kobject kobj; + struct callback_head rcu; + struct net_bridge_mcast_port multicast_ctx; + struct bridge_mcast_stats *mcast_stats; + u32 multicast_eht_hosts_limit; + u32 multicast_eht_hosts_cnt; + struct hlist_head mglist; + char sysfs_name[16]; + struct netpoll *np; + int hwdom; + int offload_count; + struct netdev_phys_item_id ppid; + u16 group_fwd_mask; + u16 backup_redirected_cnt; + struct bridge_stp_xstats stp_xstats; +}; + +struct pcpu_sw_netstats; + +struct net_bridge_vlan { + struct rhash_head vnode; + struct rhash_head tnode; + u16 vid; + u16 flags; + u16 priv_flags; + u8 state; + struct pcpu_sw_netstats *stats; + union { + struct net_bridge *br; + struct net_bridge_port *port; + }; + union { + refcount_t refcnt; + struct net_bridge_vlan *brvlan; + }; + struct br_tunnel_info tinfo; + union { + struct net_bridge_mcast br_mcast_ctx; + struct net_bridge_mcast_port port_mcast_ctx; + }; + u16 msti; + struct list_head vlist; + struct callback_head rcu; +}; + +struct net_bridge_vlan_group { + struct rhashtable vlan_hash; + struct rhashtable tunnel_hash; + struct list_head vlan_list; + u16 num_vlans; + u16 pvid; + u8 pvid_state; +}; + +struct netdev_tc_txq { + u16 count; + u16 offset; +}; + +typedef rx_handler_result_t rx_handler_func_t(struct sk_buff **); + +struct net_device_stats { + union { + long unsigned int rx_packets; + atomic_long_t __rx_packets; + }; + union { + long unsigned int tx_packets; + atomic_long_t __tx_packets; + }; + union { + long unsigned int rx_bytes; + atomic_long_t __rx_bytes; + }; + union { + long unsigned int tx_bytes; + atomic_long_t __tx_bytes; + }; + union { + long unsigned int rx_errors; + atomic_long_t __rx_errors; + }; + union { + long unsigned int tx_errors; + atomic_long_t __tx_errors; + }; + union { + long unsigned int rx_dropped; + atomic_long_t __rx_dropped; + }; + union { + long unsigned int tx_dropped; + atomic_long_t __tx_dropped; + }; + union { + long unsigned int multicast; + atomic_long_t __multicast; + }; + union { + long unsigned int collisions; + atomic_long_t __collisions; + }; + union { + long unsigned int rx_length_errors; + atomic_long_t __rx_length_errors; + }; + union { + long unsigned int rx_over_errors; + atomic_long_t __rx_over_errors; + }; + union { + long unsigned int rx_crc_errors; + atomic_long_t __rx_crc_errors; + }; + union { + long unsigned int rx_frame_errors; + atomic_long_t __rx_frame_errors; + }; + union { + long unsigned int rx_fifo_errors; + atomic_long_t __rx_fifo_errors; + }; + union { + long unsigned int rx_missed_errors; + atomic_long_t __rx_missed_errors; + }; + union { + long unsigned int tx_aborted_errors; + atomic_long_t __tx_aborted_errors; + }; + union { + long unsigned int tx_carrier_errors; + atomic_long_t __tx_carrier_errors; + }; + union { + long unsigned int tx_fifo_errors; + atomic_long_t __tx_fifo_errors; + }; + union { + long unsigned int tx_heartbeat_errors; + atomic_long_t __tx_heartbeat_errors; + }; + union { + long unsigned int tx_window_errors; + atomic_long_t __tx_window_errors; + }; + union { + long unsigned int rx_compressed; + atomic_long_t __rx_compressed; + }; + union { + long unsigned int tx_compressed; + atomic_long_t __tx_compressed; + }; +}; + +struct netdev_hw_addr_list { + struct list_head list; + int count; + struct rb_root tree; +}; + +struct tipc_bearer; + +struct mpls_dev; + +struct garp_port; + +struct mrp_port; + +struct udp_tunnel_nic; + +struct net_device_ops; + +struct xps_dev_maps; + +struct pcpu_lstats; + +struct pcpu_dstats; + +struct netpoll_info; + +struct netdev_name_node; + +struct xdp_metadata_ops; + +struct xsk_tx_metadata_ops; + +struct net_device_core_stats; + +struct xfrmdev_ops; + +struct tlsdev_ops; + +struct vlan_info; + +struct wireless_dev; + +struct wpan_dev; + +struct xdp_dev_bulk_queue; + +struct rtnl_link_ops; + +struct netdev_stat_ops; + +struct netdev_queue_mgmt_ops; + +struct netprio_map; + +struct phy_link_topology; + +struct sfp_bus; + +struct udp_tunnel_nic_info; + +struct netdev_config; + +struct rtnl_hw_stats64; + +struct net_shaper_hierarchy; + +struct net_device { + __u8 __cacheline_group_begin__net_device_read_tx[0]; + union { + struct { + long unsigned int priv_flags: 32; + long unsigned int lltx: 1; + long unsigned int netmem_tx: 1; + }; + struct { + long unsigned int priv_flags: 32; + long unsigned int lltx: 1; + long unsigned int netmem_tx: 1; + } priv_flags_fast; + }; + const struct net_device_ops *netdev_ops; + const struct header_ops *header_ops; + struct netdev_queue *_tx; + netdev_features_t gso_partial_features; + unsigned int real_num_tx_queues; + unsigned int gso_max_size; + unsigned int gso_ipv4_max_size; + u16 gso_max_segs; + s16 num_tc; + unsigned int mtu; + short unsigned int needed_headroom; + struct netdev_tc_txq tc_to_txq[16]; + struct xps_dev_maps *xps_maps[2]; + struct nf_hook_entries *nf_hooks_egress; + struct bpf_mprog_entry *tcx_egress; + __u8 __cacheline_group_end__net_device_read_tx[0]; + __u8 __cacheline_group_begin__net_device_read_txrx[0]; + union { + struct pcpu_lstats *lstats; + struct pcpu_sw_netstats *tstats; + struct pcpu_dstats *dstats; + }; + long unsigned int state; + unsigned int flags; + short unsigned int hard_header_len; + netdev_features_t features; + struct inet6_dev *ip6_ptr; + __u8 __cacheline_group_end__net_device_read_txrx[0]; + __u8 __cacheline_group_begin__net_device_read_rx[0]; + struct bpf_prog *xdp_prog; + struct list_head ptype_specific; + int ifindex; + unsigned int real_num_rx_queues; + struct netdev_rx_queue *_rx; + unsigned int gro_max_size; + unsigned int gro_ipv4_max_size; + rx_handler_func_t *rx_handler; + void *rx_handler_data; + possible_net_t nd_net; + struct netpoll_info *npinfo; + struct bpf_mprog_entry *tcx_ingress; + __u8 __cacheline_group_end__net_device_read_rx[0]; + char name[16]; + struct netdev_name_node *name_node; + struct dev_ifalias *ifalias; + long unsigned int mem_end; + long unsigned int mem_start; + long unsigned int base_addr; + struct list_head dev_list; + struct list_head napi_list; + struct list_head unreg_list; + struct list_head close_list; + struct list_head ptype_all; + struct { + struct list_head upper; + struct list_head lower; + } adj_list; + xdp_features_t xdp_features; + const struct xdp_metadata_ops *xdp_metadata_ops; + const struct xsk_tx_metadata_ops *xsk_tx_metadata_ops; + short unsigned int gflags; + short unsigned int needed_tailroom; + netdev_features_t hw_features; + netdev_features_t wanted_features; + netdev_features_t vlan_features; + netdev_features_t hw_enc_features; + netdev_features_t mpls_features; + unsigned int min_mtu; + unsigned int max_mtu; + short unsigned int type; + unsigned char min_header_len; + unsigned char name_assign_type; + int group; + struct net_device_stats stats; + struct net_device_core_stats *core_stats; + atomic_t carrier_up_count; + atomic_t carrier_down_count; + const struct iw_handler_def *wireless_handlers; + const struct ethtool_ops *ethtool_ops; + const struct l3mdev_ops *l3mdev_ops; + const struct ndisc_ops *ndisc_ops; + const struct xfrmdev_ops *xfrmdev_ops; + const struct tlsdev_ops *tlsdev_ops; + unsigned int operstate; + unsigned char link_mode; + unsigned char if_port; + unsigned char dma; + unsigned char perm_addr[32]; + unsigned char addr_assign_type; + unsigned char addr_len; + unsigned char upper_level; + unsigned char lower_level; + u8 threaded; + short unsigned int neigh_priv_len; + short unsigned int dev_id; + short unsigned int dev_port; + int irq; + u32 priv_len; + spinlock_t addr_list_lock; + struct netdev_hw_addr_list uc; + struct netdev_hw_addr_list mc; + struct netdev_hw_addr_list dev_addrs; + struct kset *queues_kset; + unsigned int promiscuity; + unsigned int allmulti; + bool uc_promisc; + struct in_device *ip_ptr; + struct hlist_head fib_nh_head; + struct vlan_info *vlan_info; + struct dsa_port *dsa_ptr; + struct tipc_bearer *tipc_ptr; + void *atalk_ptr; + struct ax25_dev *ax25_ptr; + struct wireless_dev *ieee80211_ptr; + struct wpan_dev *ieee802154_ptr; + struct mpls_dev *mpls_ptr; + struct mctp_dev *mctp_ptr; + const unsigned char *dev_addr; + unsigned int num_rx_queues; + unsigned int xdp_zc_max_segs; + struct netdev_queue *ingress_queue; + struct nf_hook_entries *nf_hooks_ingress; + unsigned char broadcast[32]; + struct cpu_rmap *rx_cpu_rmap; + struct hlist_node index_hlist; + unsigned int num_tx_queues; + struct Qdisc *qdisc; + unsigned int tx_queue_len; + spinlock_t tx_global_lock; + struct xdp_dev_bulk_queue *xdp_bulkq; + struct hlist_head qdisc_hash[16]; + struct timer_list watchdog_timer; + int watchdog_timeo; + u32 proto_down_reason; + struct list_head todo_list; + int *pcpu_refcnt; + struct ref_tracker_dir refcnt_tracker; + struct list_head link_watch_list; + u8 reg_state; + bool dismantle; + bool moving_ns; + bool rtnl_link_initializing; + bool needs_free_netdev; + void (*priv_destructor)(struct net_device *); + void *ml_priv; + enum netdev_ml_priv_type ml_priv_type; + enum netdev_stat_type pcpu_stat_type: 8; + struct garp_port *garp_port; + struct mrp_port *mrp_port; + struct dm_hw_stat_delta *dm_private; + struct device dev; + const struct attribute_group *sysfs_groups[5]; + const struct attribute_group *sysfs_rx_queue_group; + const struct rtnl_link_ops *rtnl_link_ops; + const struct netdev_stat_ops *stat_ops; + const struct netdev_queue_mgmt_ops *queue_mgmt_ops; + unsigned int tso_max_size; + u16 tso_max_segs; + const struct dcbnl_rtnl_ops *dcbnl_ops; + u8 prio_tc_map[16]; + unsigned int fcoe_ddp_xid; + struct netprio_map *priomap; + struct phy_link_topology *link_topo; + struct phy_device *phydev; + struct sfp_bus *sfp_bus; + struct lock_class_key *qdisc_tx_busylock; + bool proto_down; + bool irq_affinity_auto; + bool rx_cpu_rmap_auto; + long unsigned int see_all_hwtstamp_requests: 1; + long unsigned int change_proto_down: 1; + long unsigned int netns_immutable: 1; + long unsigned int fcoe_mtu: 1; + struct list_head net_notifier_list; + const struct macsec_ops *macsec_ops; + const struct udp_tunnel_nic_info *udp_tunnel_nic_info; + struct udp_tunnel_nic *udp_tunnel_nic; + struct netdev_config *cfg; + struct netdev_config *cfg_pending; + struct ethtool_netdev_state *ethtool; + struct bpf_xdp_entity xdp_state[3]; + u8 dev_addr_shadow[32]; + netdevice_tracker linkwatch_dev_tracker; + netdevice_tracker watchdog_dev_tracker; + netdevice_tracker dev_registered_tracker; + struct rtnl_hw_stats64 *offload_xstats_l3; + struct devlink_port *devlink_port; + struct dpll_pin *dpll_pin; + struct hlist_head page_pools; + struct dim_irq_moder *irq_moder; + u64 max_pacing_offload_horizon; + struct napi_config *napi_config; + u32 num_napi_configs; + u32 napi_defer_hard_irqs; + long unsigned int gro_flush_timeout; + bool up; + bool request_ops_lock; + struct mutex lock; + struct net_shaper_hierarchy *net_shaper_hierarchy; + struct hlist_head neighbours[2]; + struct hwtstamp_provider *hwprov; + u8 priv[0]; +}; + +struct net_device_core_stats { + long unsigned int rx_dropped; + long unsigned int tx_dropped; + long unsigned int rx_nohandler; + long unsigned int rx_otherhost_dropped; +}; + +struct net_device_devres { + struct net_device *ndev; +}; + +struct netdev_fcoe_hbainfo; + +struct netdev_bpf; + +struct xdp_frame; + +struct net_device_path_ctx; + +struct net_device_path; + +struct skb_shared_hwtstamps; + +struct net_shaper_ops; + +struct net_device_ops { + int (*ndo_init)(struct net_device *); + void (*ndo_uninit)(struct net_device *); + int (*ndo_open)(struct net_device *); + int (*ndo_stop)(struct net_device *); + netdev_tx_t (*ndo_start_xmit)(struct sk_buff *, struct net_device *); + netdev_features_t (*ndo_features_check)(struct sk_buff *, struct net_device *, netdev_features_t); + u16 (*ndo_select_queue)(struct net_device *, struct sk_buff *, struct net_device *); + void (*ndo_change_rx_flags)(struct net_device *, int); + void (*ndo_set_rx_mode)(struct net_device *); + int (*ndo_set_mac_address)(struct net_device *, void *); + int (*ndo_validate_addr)(struct net_device *); + int (*ndo_do_ioctl)(struct net_device *, struct ifreq *, int); + int (*ndo_eth_ioctl)(struct net_device *, struct ifreq *, int); + int (*ndo_siocbond)(struct net_device *, struct ifreq *, int); + int (*ndo_siocwandev)(struct net_device *, struct if_settings *); + int (*ndo_siocdevprivate)(struct net_device *, struct ifreq *, void *, int); + int (*ndo_set_config)(struct net_device *, struct ifmap *); + int (*ndo_change_mtu)(struct net_device *, int); + int (*ndo_neigh_setup)(struct net_device *, struct neigh_parms *); + void (*ndo_tx_timeout)(struct net_device *, unsigned int); + void (*ndo_get_stats64)(struct net_device *, struct rtnl_link_stats64 *); + bool (*ndo_has_offload_stats)(const struct net_device *, int); + int (*ndo_get_offload_stats)(int, const struct net_device *, void *); + struct net_device_stats * (*ndo_get_stats)(struct net_device *); + int (*ndo_vlan_rx_add_vid)(struct net_device *, __be16, u16); + int (*ndo_vlan_rx_kill_vid)(struct net_device *, __be16, u16); + void (*ndo_poll_controller)(struct net_device *); + int (*ndo_netpoll_setup)(struct net_device *); + void (*ndo_netpoll_cleanup)(struct net_device *); + int (*ndo_set_vf_mac)(struct net_device *, int, u8 *); + int (*ndo_set_vf_vlan)(struct net_device *, int, u16, u8, __be16); + int (*ndo_set_vf_rate)(struct net_device *, int, int, int); + int (*ndo_set_vf_spoofchk)(struct net_device *, int, bool); + int (*ndo_set_vf_trust)(struct net_device *, int, bool); + int (*ndo_get_vf_config)(struct net_device *, int, struct ifla_vf_info *); + int (*ndo_set_vf_link_state)(struct net_device *, int, int); + int (*ndo_get_vf_stats)(struct net_device *, int, struct ifla_vf_stats *); + int (*ndo_set_vf_port)(struct net_device *, int, struct nlattr **); + int (*ndo_get_vf_port)(struct net_device *, int, struct sk_buff *); + int (*ndo_get_vf_guid)(struct net_device *, int, struct ifla_vf_guid *, struct ifla_vf_guid *); + int (*ndo_set_vf_guid)(struct net_device *, int, u64, int); + int (*ndo_set_vf_rss_query_en)(struct net_device *, int, bool); + int (*ndo_setup_tc)(struct net_device *, enum tc_setup_type, void *); + int (*ndo_fcoe_enable)(struct net_device *); + int (*ndo_fcoe_disable)(struct net_device *); + int (*ndo_fcoe_ddp_setup)(struct net_device *, u16, struct scatterlist *, unsigned int); + int (*ndo_fcoe_ddp_done)(struct net_device *, u16); + int (*ndo_fcoe_ddp_target)(struct net_device *, u16, struct scatterlist *, unsigned int); + int (*ndo_fcoe_get_hbainfo)(struct net_device *, struct netdev_fcoe_hbainfo *); + int (*ndo_fcoe_get_wwn)(struct net_device *, u64 *, int); + int (*ndo_rx_flow_steer)(struct net_device *, const struct sk_buff *, u16, u32); + int (*ndo_add_slave)(struct net_device *, struct net_device *, struct netlink_ext_ack *); + int (*ndo_del_slave)(struct net_device *, struct net_device *); + struct net_device * (*ndo_get_xmit_slave)(struct net_device *, struct sk_buff *, bool); + struct net_device * (*ndo_sk_get_lower_dev)(struct net_device *, struct sock *); + netdev_features_t (*ndo_fix_features)(struct net_device *, netdev_features_t); + int (*ndo_set_features)(struct net_device *, netdev_features_t); + int (*ndo_neigh_construct)(struct net_device *, struct neighbour *); + void (*ndo_neigh_destroy)(struct net_device *, struct neighbour *); + int (*ndo_fdb_add)(struct ndmsg *, struct nlattr **, struct net_device *, const unsigned char *, u16, u16, bool *, struct netlink_ext_ack *); + int (*ndo_fdb_del)(struct ndmsg *, struct nlattr **, struct net_device *, const unsigned char *, u16, bool *, struct netlink_ext_ack *); + int (*ndo_fdb_del_bulk)(struct nlmsghdr *, struct net_device *, struct netlink_ext_ack *); + int (*ndo_fdb_dump)(struct sk_buff *, struct netlink_callback *, struct net_device *, struct net_device *, int *); + int (*ndo_fdb_get)(struct sk_buff *, struct nlattr **, struct net_device *, const unsigned char *, u16, u32, u32, struct netlink_ext_ack *); + int (*ndo_mdb_add)(struct net_device *, struct nlattr **, u16, struct netlink_ext_ack *); + int (*ndo_mdb_del)(struct net_device *, struct nlattr **, struct netlink_ext_ack *); + int (*ndo_mdb_del_bulk)(struct net_device *, struct nlattr **, struct netlink_ext_ack *); + int (*ndo_mdb_dump)(struct net_device *, struct sk_buff *, struct netlink_callback *); + int (*ndo_mdb_get)(struct net_device *, struct nlattr **, u32, u32, struct netlink_ext_ack *); + int (*ndo_bridge_setlink)(struct net_device *, struct nlmsghdr *, u16, struct netlink_ext_ack *); + int (*ndo_bridge_getlink)(struct sk_buff *, u32, u32, struct net_device *, u32, int); + int (*ndo_bridge_dellink)(struct net_device *, struct nlmsghdr *, u16); + int (*ndo_change_carrier)(struct net_device *, bool); + int (*ndo_get_phys_port_id)(struct net_device *, struct netdev_phys_item_id *); + int (*ndo_get_port_parent_id)(struct net_device *, struct netdev_phys_item_id *); + int (*ndo_get_phys_port_name)(struct net_device *, char *, size_t); + void * (*ndo_dfwd_add_station)(struct net_device *, struct net_device *); + void (*ndo_dfwd_del_station)(struct net_device *, void *); + int (*ndo_set_tx_maxrate)(struct net_device *, int, u32); + int (*ndo_get_iflink)(const struct net_device *); + int (*ndo_fill_metadata_dst)(struct net_device *, struct sk_buff *); + void (*ndo_set_rx_headroom)(struct net_device *, int); + int (*ndo_bpf)(struct net_device *, struct netdev_bpf *); + int (*ndo_xdp_xmit)(struct net_device *, int, struct xdp_frame **, u32); + struct net_device * (*ndo_xdp_get_xmit_slave)(struct net_device *, struct xdp_buff *); + int (*ndo_xsk_wakeup)(struct net_device *, u32, u32); + int (*ndo_tunnel_ctl)(struct net_device *, struct ip_tunnel_parm_kern *, int); + struct net_device * (*ndo_get_peer_dev)(struct net_device *); + int (*ndo_fill_forward_path)(struct net_device_path_ctx *, struct net_device_path *); + ktime_t (*ndo_get_tstamp)(struct net_device *, const struct skb_shared_hwtstamps *, bool); + int (*ndo_hwtstamp_get)(struct net_device *, struct kernel_hwtstamp_config *); + int (*ndo_hwtstamp_set)(struct net_device *, struct kernel_hwtstamp_config *, struct netlink_ext_ack *); + const struct net_shaper_ops *net_shaper_ops; +}; + +struct net_device_path { + enum net_device_path_type type; + const struct net_device *dev; + union { + struct { + u16 id; + __be16 proto; + u8 h_dest[6]; + } encap; + struct { + enum { + DEV_PATH_BR_VLAN_KEEP = 0, + DEV_PATH_BR_VLAN_TAG = 1, + DEV_PATH_BR_VLAN_UNTAG = 2, + DEV_PATH_BR_VLAN_UNTAG_HW = 3, + } vlan_mode; + u16 vlan_id; + __be16 vlan_proto; + } bridge; + struct { + int port; + u16 proto; + } dsa; + struct { + u8 wdma_idx; + u8 queue; + u16 wcid; + u8 bss; + u8 amsdu; + } mtk_wdma; + }; +}; + +struct net_device_path_ctx { + const struct net_device *dev; + u8 daddr[6]; + int num_vlans; + struct { + u16 id; + __be16 proto; + } vlan[2]; +}; + +struct net_device_path_stack { + int num_paths; + struct net_device_path path[5]; +}; + +struct net_devmem_dmabuf_binding { + struct dma_buf *dmabuf; + struct dma_buf_attachment *attachment; + struct sg_table *sgt; + struct net_device *dev; + struct gen_pool *chunk_pool; + struct mutex lock; + refcount_t ref; + struct list_head list; + struct xarray bound_rxqs; + u32 id; + enum dma_data_direction direction; + struct net_iov **tx_vec; + struct work_struct unbind_w; +}; + +struct net_dm_drop_point { + __u8 pc[8]; + __u32 count; +}; + +struct net_dm_alert_msg { + __u32 entries; + struct net_dm_drop_point points[0]; +}; + +struct net_dm_alert_ops { + void (*kfree_skb_probe)(void *, struct sk_buff *, void *, enum skb_drop_reason, struct sock *); + void (*napi_poll_probe)(void *, struct napi_struct *, int, int); + void (*work_item_func)(struct work_struct *); + void (*hw_work_item_func)(struct work_struct *); + void (*hw_trap_probe)(void *, const struct devlink *, struct sk_buff *, const struct devlink_trap_metadata *); +}; + +struct net_dm_hw_entry { + char trap_name[40]; + u32 count; +}; + +struct net_dm_hw_entries { + u32 num_entries; + struct net_dm_hw_entry entries[0]; +}; + +struct net_dm_skb_cb { + union { + struct devlink_trap_metadata *hw_metadata; + void *pc; + }; + enum skb_drop_reason reason; +}; + +struct net_dm_stats { + u64_stats_t dropped; + struct u64_stats_sync syncp; +}; + +struct rtnl_link_stats64 { + __u64 rx_packets; + __u64 tx_packets; + __u64 rx_bytes; + __u64 tx_bytes; + __u64 rx_errors; + __u64 tx_errors; + __u64 rx_dropped; + __u64 tx_dropped; + __u64 multicast; + __u64 collisions; + __u64 rx_length_errors; + __u64 rx_over_errors; + __u64 rx_crc_errors; + __u64 rx_frame_errors; + __u64 rx_fifo_errors; + __u64 rx_missed_errors; + __u64 tx_aborted_errors; + __u64 tx_carrier_errors; + __u64 tx_fifo_errors; + __u64 tx_heartbeat_errors; + __u64 tx_window_errors; + __u64 rx_compressed; + __u64 tx_compressed; + __u64 rx_nohandler; + __u64 rx_otherhost_dropped; +}; + +struct net_failover_info { + struct net_device *primary_dev; + struct net_device *standby_dev; + struct rtnl_link_stats64 primary_stats; + struct rtnl_link_stats64 standby_stats; + struct rtnl_link_stats64 failover_stats; + spinlock_t stats_lock; +}; + +struct net_fill_args { + u32 portid; + u32 seq; + int flags; + int cmd; + int nsid; + bool add_ref; + int ref_nsid; +}; + +struct net_generic { + union { + struct { + unsigned int len; + struct callback_head rcu; + } s; + struct { + struct {} __empty_ptr; + void *ptr[0]; + }; + }; +}; + +struct offload_callbacks { + struct sk_buff * (*gso_segment)(struct sk_buff *, netdev_features_t); + struct sk_buff * (*gro_receive)(struct list_head *, struct sk_buff *); + int (*gro_complete)(struct sk_buff *, int); +}; + +struct packet_offload { + __be16 type; + u16 priority; + struct offload_callbacks callbacks; + struct list_head list; +}; + +struct net_offload { + struct offload_callbacks callbacks; + unsigned int flags; + u32 secret; +}; + +struct net_protocol { + int (*handler)(struct sk_buff *); + int (*err_handler)(struct sk_buff *, u32); + unsigned int no_policy: 1; + unsigned int icmp_strict_tag_validation: 1; + u32 secret; +}; + +struct rps_sock_flow_table; + +struct net_hotdata { + struct packet_offload ip_packet_offload; + struct net_offload tcpv4_offload; + struct net_protocol tcp_protocol; + struct net_offload udpv4_offload; + struct net_protocol udp_protocol; + struct packet_offload ipv6_packet_offload; + struct net_offload tcpv6_offload; + struct inet6_protocol tcpv6_protocol; + struct inet6_protocol udpv6_protocol; + struct net_offload udpv6_offload; + struct list_head offload_base; + struct kmem_cache *skbuff_cache; + struct kmem_cache *skbuff_fclone_cache; + struct kmem_cache *skb_small_head_cache; + struct rps_sock_flow_table *rps_sock_flow_table; + u32 rps_cpu_mask; + int gro_normal_batch; + int netdev_budget; + int netdev_budget_usecs; + int tstamp_prequeue; + int max_backlog; + int dev_tx_weight; + int dev_rx_weight; + int sysctl_max_skb_frags; + int sysctl_skb_defer_max; + int sysctl_mem_pcpu_rsv; +}; + +struct netmem_desc { + long unsigned int _flags; + long unsigned int pp_magic; + struct page_pool *pp; + long unsigned int _pp_mapping_pad; + long unsigned int dma_addr; + atomic_long_t pp_ref_count; +}; + +struct net_iov { + union { + struct netmem_desc desc; + struct { + long unsigned int _flags; + long unsigned int pp_magic; + struct page_pool *pp; + long unsigned int _pp_mapping_pad; + long unsigned int dma_addr; + atomic_long_t pp_ref_count; + }; + }; + struct net_iov_area *owner; + enum net_iov_type type; +}; + +struct net_packet_attrs { + const unsigned char *src; + const unsigned char *dst; + u32 ip_src; + u32 ip_dst; + bool tcp; + u16 sport; + u16 dport; + int timeout; + int size; + int max_size; + u8 id; + u16 queue_mapping; + bool bad_csum; +}; + +struct net_proto_family { + int family; + int (*create)(struct net *, struct socket *, int, int); + struct module *owner; +}; + +struct net_rate_estimator { + struct gnet_stats_basic_sync *bstats; + spinlock_t *stats_lock; + bool running; + struct gnet_stats_basic_sync *cpu_bstats; + u8 ewma_log; + u8 intvl_log; + seqcount_t seq; + u64 last_packets; + u64 last_bytes; + u64 avpps; + u64 avbps; + long unsigned int next_jiffies; + struct timer_list timer; + struct callback_head rcu; +}; + +struct net_shaper_handle { + enum net_shaper_scope scope; + u32 id; +}; + +struct net_shaper { + struct net_shaper_handle parent; + struct net_shaper_handle handle; + enum net_shaper_metric metric; + u64 bw_min; + u64 bw_max; + u64 burst; + u32 priority; + u32 weight; + u32 leaves; + struct callback_head rcu; +}; + +struct net_shaper_binding { + enum net_shaper_binding_type type; + union { + struct net_device *netdev; + struct devlink *devlink; + }; +}; + +struct net_shaper_hierarchy { + struct xarray shapers; +}; + +struct net_shaper_nl_ctx { + struct net_shaper_binding binding; + netdevice_tracker dev_tracker; + long unsigned int start_index; +}; + +struct net_shaper_ops { + int (*group)(struct net_shaper_binding *, int, const struct net_shaper *, const struct net_shaper *, struct netlink_ext_ack *); + int (*set)(struct net_shaper_binding *, const struct net_shaper *, struct netlink_ext_ack *); + int (*delete)(struct net_shaper_binding *, const struct net_shaper_handle *, struct netlink_ext_ack *); + void (*capabilities)(struct net_shaper_binding *, enum net_shaper_scope, long unsigned int *); +}; + +struct net_test { + char name[32]; + int (*fn)(struct net_device *); +}; + +struct net_test_priv { + struct net_packet_attrs *packet; + struct packet_type pt; + struct completion comp; + int double_vlan; + int vlan_id; + int ok; +}; + +struct netconfmsg { + __u8 ncm_family; +}; + +struct netdev_adjacent { + struct net_device *dev; + netdevice_tracker dev_tracker; + bool master; + bool ignore; + u16 ref_nr; + void *private; + struct list_head list; + struct callback_head rcu; +}; + +struct netdev_bonding_info { + ifslave slave; + ifbond master; +}; + +struct xsk_buff_pool; + +struct netdev_bpf { + enum bpf_netdev_command command; + union { + struct { + u32 flags; + struct bpf_prog *prog; + struct netlink_ext_ack *extack; + }; + struct { + struct bpf_offloaded_map *offmap; + }; + struct { + struct xsk_buff_pool *pool; + u16 queue_id; + } xsk; + }; +}; + +struct netdev_config { + u32 hds_thresh; + u8 hds_config; +}; + +struct netdev_fcoe_hbainfo { + char manufacturer[64]; + char serial_number[64]; + char hardware_version[64]; + char driver_version[64]; + char optionrom_version[64]; + char firmware_version[64]; + char model[256]; + char model_description[256]; +}; + +struct netdev_hw_addr { + struct list_head list; + struct rb_node node; + unsigned char addr[32]; + unsigned char type; + bool global_use; + int sync_cnt; + int refcount; + int synced; + struct callback_head callback_head; +}; + +struct netdev_lag_lower_state_info { + u8 link_up: 1; + u8 tx_enabled: 1; +}; + +struct netdev_lag_upper_info { + enum netdev_lag_tx_type tx_type; + enum netdev_lag_hash hash_type; +}; + +struct netdev_name_node { + struct hlist_node hlist; + struct list_head list; + struct net_device *dev; + const char *name; + struct callback_head rcu; +}; + +struct netdev_nested_priv { + unsigned char flags; + void *data; +}; + +struct netdev_net_notifier { + struct list_head list; + struct notifier_block *nb; +}; + +struct netdev_nl_dump_ctx { + long unsigned int ifindex; + unsigned int rxq_idx; + unsigned int txq_idx; + unsigned int napi_id; +}; + +struct netdev_nl_sock { + struct mutex lock; + struct list_head bindings; +}; + +struct netdev_notifier_info { + struct net_device *dev; + struct netlink_ext_ack *extack; +}; + +struct netdev_notifier_bonding_info { + struct netdev_notifier_info info; + struct netdev_bonding_info bonding_info; +}; + +struct netdev_notifier_change_info { + struct netdev_notifier_info info; + unsigned int flags_changed; +}; + +struct netdev_notifier_changelowerstate_info { + struct netdev_notifier_info info; + void *lower_state_info; +}; + +struct netdev_notifier_changeupper_info { + struct netdev_notifier_info info; + struct net_device *upper_dev; + bool master; + bool linking; + void *upper_info; +}; + +struct netdev_notifier_info_ext { + struct netdev_notifier_info info; + union { + u32 mtu; + } ext; +}; + +struct netdev_notifier_offload_xstats_rd; + +struct netdev_notifier_offload_xstats_ru; + +struct netdev_notifier_offload_xstats_info { + struct netdev_notifier_info info; + enum netdev_offload_xstats_type type; + union { + struct netdev_notifier_offload_xstats_rd *report_delta; + struct netdev_notifier_offload_xstats_ru *report_used; + }; +}; + +struct rtnl_hw_stats64 { + __u64 rx_packets; + __u64 tx_packets; + __u64 rx_bytes; + __u64 tx_bytes; + __u64 rx_errors; + __u64 tx_errors; + __u64 rx_dropped; + __u64 tx_dropped; + __u64 multicast; +}; + +struct netdev_notifier_offload_xstats_rd { + struct rtnl_hw_stats64 stats; + bool used; +}; + +struct netdev_notifier_offload_xstats_ru { + bool used; +}; + +struct netdev_notifier_pre_changeaddr_info { + struct netdev_notifier_info info; + const unsigned char *dev_addr; +}; + +struct netdev_queue { + struct net_device *dev; + netdevice_tracker dev_tracker; + struct Qdisc *qdisc; + struct Qdisc *qdisc_sleeping; + struct kobject kobj; + const struct attribute_group **groups; + long unsigned int tx_maxrate; + atomic_long_t trans_timeout; + struct net_device *sb_dev; + struct xsk_buff_pool *pool; + struct dql dql; + spinlock_t _xmit_lock; + int xmit_lock_owner; + long unsigned int trans_start; + long unsigned int state; + struct napi_struct *napi; + int numa_node; + long: 64; + long: 64; + long: 64; +}; + +struct netdev_queue_attribute { + struct attribute attr; + ssize_t (*show)(struct kobject *, struct attribute *, struct netdev_queue *, char *); + ssize_t (*store)(struct kobject *, struct attribute *, struct netdev_queue *, const char *, size_t); +}; + +struct netdev_queue_mgmt_ops { + size_t ndo_queue_mem_size; + int (*ndo_queue_mem_alloc)(struct net_device *, void *, int); + void (*ndo_queue_mem_free)(struct net_device *, void *); + int (*ndo_queue_start)(struct net_device *, void *, int); + int (*ndo_queue_stop)(struct net_device *, void *, int); +}; + +struct netdev_queue_stats_rx { + u64 bytes; + u64 packets; + u64 alloc_fail; + u64 hw_drops; + u64 hw_drop_overruns; + u64 csum_complete; + u64 csum_unnecessary; + u64 csum_none; + u64 csum_bad; + u64 hw_gro_packets; + u64 hw_gro_bytes; + u64 hw_gro_wire_packets; + u64 hw_gro_wire_bytes; + u64 hw_drop_ratelimits; +}; + +struct netdev_queue_stats_tx { + u64 bytes; + u64 packets; + u64 hw_drops; + u64 hw_drop_errors; + u64 csum_none; + u64 needs_csum; + u64 hw_gso_packets; + u64 hw_gso_bytes; + u64 hw_gso_wire_packets; + u64 hw_gso_wire_bytes; + u64 hw_drop_ratelimits; + u64 stop; + u64 wake; +}; + +struct xdp_mem_info { + u32 type; + u32 id; +}; + +struct xdp_rxq_info { + struct net_device *dev; + u32 queue_index; + u32 reg_state; + struct xdp_mem_info mem; + u32 frag_size; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct pp_memory_provider_params { + void *mp_priv; + const struct memory_provider_ops *mp_ops; +}; + +struct rps_map; + +struct rps_dev_flow_table; + +struct netdev_rx_queue { + struct xdp_rxq_info xdp_rxq; + struct rps_map *rps_map; + struct rps_dev_flow_table *rps_flow_table; + struct kobject kobj; + const struct attribute_group **groups; + struct net_device *dev; + netdevice_tracker dev_tracker; + struct xsk_buff_pool *pool; + struct napi_struct *napi; + struct pp_memory_provider_params mp_params; +}; + +struct netdev_stat_ops { + void (*get_queue_stats_rx)(struct net_device *, int, struct netdev_queue_stats_rx *); + void (*get_queue_stats_tx)(struct net_device *, int, struct netdev_queue_stats_tx *); + void (*get_base_stats)(struct net_device *, struct netdev_queue_stats_rx *, struct netdev_queue_stats_tx *); +}; + +struct netdev_xmit { + u16 recursion; + u8 more; + u8 skip_txqueue; + u8 sched_mirred_nest; + u8 nf_dup_skb_recursion; +}; + +struct netevent_redirect { + struct dst_entry *old; + struct dst_entry *new; + struct neighbour *neigh; + const void *daddr; +}; + +struct netfront_cb { + int pull_to; +}; + +struct netfront_queue; + +struct netfront_stats; + +struct netfront_info { + struct list_head list; + struct net_device *netdev; + struct xenbus_device *xbdev; + struct netfront_queue *queues; + struct netfront_stats *rx_stats; + struct netfront_stats *tx_stats; + bool netback_has_xdp_headroom; + bool netfront_xdp_enabled; + bool broken; + bool bounce; + atomic_t rx_gso_checksum_fixup; +}; + +struct xen_netif_tx_sring; + +struct xen_netif_tx_front_ring { + RING_IDX req_prod_pvt; + RING_IDX rsp_cons; + unsigned int nr_ents; + struct xen_netif_tx_sring *sring; +}; + +struct xen_netif_rx_sring; + +struct xen_netif_rx_front_ring { + RING_IDX req_prod_pvt; + RING_IDX rsp_cons; + unsigned int nr_ents; + struct xen_netif_rx_sring *sring; +}; + +struct netfront_queue { + unsigned int id; + char name[22]; + struct netfront_info *info; + struct bpf_prog *xdp_prog; + struct napi_struct napi; + unsigned int tx_evtchn; + unsigned int rx_evtchn; + unsigned int tx_irq; + unsigned int rx_irq; + char tx_irq_name[25]; + char rx_irq_name[25]; + spinlock_t tx_lock; + struct xen_netif_tx_front_ring tx; + int tx_ring_ref; + struct sk_buff *tx_skbs[256]; + short unsigned int tx_link[256]; + grant_ref_t gref_tx_head; + grant_ref_t grant_tx_ref[256]; + struct page *grant_tx_page[256]; + unsigned int tx_skb_freelist; + unsigned int tx_pend_queue; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + spinlock_t rx_lock; + struct xen_netif_rx_front_ring rx; + int rx_ring_ref; + struct timer_list rx_refill_timer; + struct sk_buff *rx_skbs[256]; + grant_ref_t gref_rx_head; + grant_ref_t grant_rx_ref[256]; + unsigned int rx_rsp_unconsumed; + spinlock_t rx_cons_lock; + struct page_pool *page_pool; + long: 64; + long: 64; + long: 64; + struct xdp_rxq_info xdp_rxq; +}; + +struct xen_netif_rx_response { + uint16_t id; + uint16_t offset; + uint16_t flags; + int16_t status; +}; + +struct xen_netif_extra_info { + uint8_t type; + uint8_t flags; + union { + struct { + uint16_t size; + uint8_t type; + uint8_t pad; + uint16_t features; + } gso; + struct { + uint8_t addr[6]; + } mcast; + struct { + uint8_t type; + uint8_t algorithm; + uint8_t value[4]; + } hash; + struct { + uint16_t headroom; + uint16_t pad[2]; + } xdp; + uint16_t pad[3]; + } u; +}; + +struct netfront_rx_info { + struct xen_netif_rx_response rx; + struct xen_netif_extra_info extras[5]; +}; + +struct netfront_stats { + u64 packets; + u64 bytes; + struct u64_stats_sync syncp; +}; + +struct netif_security_struct { + const struct net *ns; + int ifindex; + u32 sid; +}; + +struct netkit { + struct net_device *peer; + struct bpf_mprog_entry *active; + enum netkit_action policy; + enum netkit_scrub scrub; + struct bpf_mprog_bundle bundle; + enum netkit_mode mode; + bool primary; + u32 headroom; +}; + +struct netkit_link { + struct bpf_link link; + struct net_device *dev; +}; + +struct netlbl_af4list { + __be32 addr; + __be32 mask; + u32 valid; + struct list_head list; +}; + +struct netlbl_af6list { + struct in6_addr addr; + struct in6_addr mask; + u32 valid; + struct list_head list; +}; + +struct netlbl_audit { + struct lsm_prop prop; + kuid_t loginuid; + unsigned int sessionid; +}; + +struct netlbl_calipso_doiwalk_arg { + struct netlink_callback *nl_cb; + struct sk_buff *skb; + u32 seq; +}; + +struct netlbl_lsm_secattr; + +struct netlbl_calipso_ops { + int (*doi_add)(struct calipso_doi *, struct netlbl_audit *); + void (*doi_free)(struct calipso_doi *); + int (*doi_remove)(u32, struct netlbl_audit *); + struct calipso_doi * (*doi_getdef)(u32); + void (*doi_putdef)(struct calipso_doi *); + int (*doi_walk)(u32 *, int (*)(struct calipso_doi *, void *), void *); + int (*sock_getattr)(struct sock *, struct netlbl_lsm_secattr *); + int (*sock_setattr)(struct sock *, const struct calipso_doi *, const struct netlbl_lsm_secattr *); + void (*sock_delattr)(struct sock *); + int (*req_setattr)(struct request_sock *, const struct calipso_doi *, const struct netlbl_lsm_secattr *); + void (*req_delattr)(struct request_sock *); + int (*opt_getattr)(const unsigned char *, struct netlbl_lsm_secattr *); + unsigned char * (*skbuff_optptr)(const struct sk_buff *); + int (*skbuff_setattr)(struct sk_buff *, const struct calipso_doi *, const struct netlbl_lsm_secattr *); + int (*skbuff_delattr)(struct sk_buff *); + void (*cache_invalidate)(void); + int (*cache_add)(const unsigned char *, const struct netlbl_lsm_secattr *); +}; + +struct netlbl_cipsov4_doiwalk_arg { + struct netlink_callback *nl_cb; + struct sk_buff *skb; + u32 seq; +}; + +struct netlbl_domaddr_map; + +struct netlbl_dommap_def { + u32 type; + union { + struct netlbl_domaddr_map *addrsel; + struct cipso_v4_doi *cipso; + struct calipso_doi *calipso; + }; +}; + +struct netlbl_dom_map { + char *domain; + struct netlbl_dommap_def def; + u16 family; + u32 valid; + struct list_head list; + struct callback_head rcu; +}; + +struct netlbl_domaddr4_map { + struct netlbl_dommap_def def; + struct netlbl_af4list list; +}; + +struct netlbl_domaddr6_map { + struct netlbl_dommap_def def; + struct netlbl_af6list list; +}; + +struct netlbl_domaddr_map { + struct list_head list4; + struct list_head list6; +}; + +struct netlbl_domhsh_tbl { + struct list_head *tbl; + u32 size; +}; + +struct netlbl_domhsh_walk_arg { + struct netlink_callback *nl_cb; + struct sk_buff *skb; + u32 seq; +}; + +struct netlbl_domhsh_walk_arg___2 { + struct netlbl_audit *audit_info; + u32 doi; +}; + +struct netlbl_lsm_cache { + refcount_t refcount; + void (*free)(const void *); + void *data; +}; + +struct netlbl_lsm_catmap { + u32 startbit; + u64 bitmap[4]; + struct netlbl_lsm_catmap *next; +}; + +struct netlbl_lsm_secattr { + u32 flags; + u32 type; + char *domain; + struct netlbl_lsm_cache *cache; + struct { + struct { + struct netlbl_lsm_catmap *cat; + u32 lvl; + } mls; + u32 secid; + } attr; +}; + +struct netlbl_unlhsh_addr4 { + u32 secid; + struct netlbl_af4list list; + struct callback_head rcu; +}; + +struct netlbl_unlhsh_addr6 { + u32 secid; + struct netlbl_af6list list; + struct callback_head rcu; +}; + +struct netlbl_unlhsh_iface { + int ifindex; + struct list_head addr4_list; + struct list_head addr6_list; + u32 valid; + struct list_head list; + struct callback_head rcu; +}; + +struct netlbl_unlhsh_tbl { + struct list_head *tbl; + u32 size; +}; + +struct netlbl_unlhsh_walk_arg { + struct netlink_callback *nl_cb; + struct sk_buff *skb; + u32 seq; +}; + +struct netlink_broadcast_data { + struct sock *exclude_sk; + struct net *net; + u32 portid; + u32 group; + int failure; + int delivery_failure; + int congested; + int delivered; + gfp_t allocation; + struct sk_buff *skb; + struct sk_buff *skb2; + int (*tx_filter)(struct sock *, struct sk_buff *, void *); + void *tx_data; +}; + +struct netlink_callback { + struct sk_buff *skb; + const struct nlmsghdr *nlh; + int (*dump)(struct sk_buff *, struct netlink_callback *); + int (*done)(struct netlink_callback *); + void *data; + struct module *module; + struct netlink_ext_ack *extack; + u16 family; + u16 answer_flags; + u32 min_dump_alloc; + unsigned int prev_seq; + unsigned int seq; + int flags; + bool strict_check; + union { + u8 ctx[48]; + long int args[6]; + }; +}; + +struct netlink_compare_arg { + possible_net_t pnet; + u32 portid; +}; + +struct netlink_dump_control { + int (*start)(struct netlink_callback *); + int (*dump)(struct sk_buff *, struct netlink_callback *); + int (*done)(struct netlink_callback *); + struct netlink_ext_ack *extack; + void *data; + struct module *module; + u32 min_dump_alloc; + int flags; +}; + +struct netlink_ext_ack { + const char *_msg; + const struct nlattr *bad_attr; + const struct nla_policy *policy; + const struct nlattr *miss_nest; + u16 miss_type; + u8 cookie[8]; + u8 cookie_len; + char _msg_buf[80]; +}; + +struct netlink_kernel_cfg { + unsigned int groups; + unsigned int flags; + void (*input)(struct sk_buff *); + int (*bind)(struct net *, int); + void (*unbind)(struct net *, int); + void (*release)(struct sock *, long unsigned int *); +}; + +struct netlink_notify { + struct net *net; + u32 portid; + int protocol; +}; + +struct netlink_policy_dump_state { + unsigned int policy_idx; + unsigned int attr_idx; + unsigned int n_alloc; + struct { + const struct nla_policy *policy; + unsigned int maxtype; + } policies[0]; +}; + +struct netlink_range_validation { + u64 min; + u64 max; +}; + +struct netlink_range_validation_signed { + s64 min; + s64 max; +}; + +struct netlink_set_err_data { + struct sock *exclude_sk; + u32 portid; + u32 group; + int code; +}; + +struct scm_creds { + u32 pid; + kuid_t uid; + kgid_t gid; +}; + +struct netlink_skb_parms { + struct scm_creds creds; + __u32 portid; + __u32 dst_group; + __u32 flags; + struct sock *sk; + bool nsid_is_set; + int nsid; +}; + +struct netlink_sock { + struct sock sk; + long unsigned int flags; + u32 portid; + u32 dst_portid; + u32 dst_group; + u32 subscriptions; + u32 ngroups; + long unsigned int *groups; + long unsigned int state; + size_t max_recvmsg_len; + wait_queue_head_t wait; + bool bound; + bool cb_running; + int dump_done_errno; + struct netlink_callback cb; + struct mutex nl_cb_mutex; + void (*netlink_rcv)(struct sk_buff *); + int (*netlink_bind)(struct net *, int); + void (*netlink_unbind)(struct net *, int); + void (*netlink_release)(struct sock *, long unsigned int *); + struct module *module; + struct rhash_head node; + struct callback_head rcu; +}; + +struct netlink_table { + struct rhashtable hash; + struct hlist_head mc_list; + struct listeners *listeners; + unsigned int flags; + unsigned int groups; + struct mutex *cb_mutex; + struct module *module; + int (*bind)(struct net *, int); + void (*unbind)(struct net *, int); + void (*release)(struct sock *, long unsigned int *); + int registered; +}; + +struct netlink_tap { + struct net_device *dev; + struct module *module; + struct list_head list; +}; + +struct netlink_tap_net { + struct list_head netlink_tap_all; + struct mutex netlink_tap_lock; +}; + +struct netnode_security_struct { + union { + __be32 ipv4; + struct in6_addr ipv6; + } addr; + u32 sid; + u16 family; +}; + +struct netpoll { + struct net_device *dev; + netdevice_tracker dev_tracker; + char dev_name[16]; + u8 dev_mac[6]; + const char *name; + union inet_addr local_ip; + union inet_addr remote_ip; + bool ipv6; + u16 local_port; + u16 remote_port; + u8 remote_mac[6]; + struct sk_buff_head skb_pool; + struct work_struct refill_wq; +}; + +struct netpoll_info { + refcount_t refcnt; + struct semaphore dev_lock; + struct sk_buff_head txq; + struct delayed_work tx_work; + struct netpoll *netpoll; + struct callback_head rcu; +}; + +struct netport_security_struct { + u32 sid; + u16 port; + u8 protocol; +}; + +struct netprio_map { + struct callback_head rcu; + u32 priomap_len; + u32 priomap[0]; +}; + +struct netsfhdr { + __be32 version; + __be64 magic; + u8 id; +} __attribute__((packed)); + +struct new_asid { + unsigned int asid: 16; + unsigned int need_flush: 1; +}; + +struct new_utsname { + char sysname[65]; + char nodename[65]; + char release[65]; + char version[65]; + char machine[65]; + char domainname[65]; +}; + +struct nh_info; + +struct nh_group; + +struct nexthop { + struct rb_node rb_node; + struct list_head fi_list; + struct list_head f6i_list; + struct list_head fdb_list; + struct list_head grp_list; + struct net *net; + u32 id; + u8 protocol; + u8 nh_flags; + bool is_group; + bool dead; + spinlock_t lock; + refcount_t refcnt; + struct callback_head rcu; + union { + struct nh_info *nh_info; + struct nh_group *nh_grp; + }; +}; + +struct nexthop_grp { + __u32 id; + __u8 weight; + __u8 weight_high; + __u16 resvd2; +}; + +struct nf_bridge_info { + enum { + BRNF_PROTO_UNCHANGED = 0, + BRNF_PROTO_8021Q = 1, + BRNF_PROTO_PPPOE = 2, + } orig_proto: 8; + u8 pkt_otherhost: 1; + u8 in_prerouting: 1; + u8 bridged_dnat: 1; + u8 sabotage_in_done: 1; + __u16 frag_max_size; + int physinif; + struct net_device *physoutdev; + union { + __be32 ipv4_daddr; + struct in6_addr ipv6_daddr; + char neigh_header[8]; + }; +}; + +struct nf_conntrack { + refcount_t use; +}; + +struct nf_conntrack_zone { + u16 id; + u8 flags; + u8 dir; +}; + +union nf_inet_addr { + __u32 all[4]; + __be32 ip; + __be32 ip6[4]; + struct in_addr in; + struct in6_addr in6; +}; + +union nf_conntrack_man_proto { + __be16 all; + struct { + __be16 port; + } tcp; + struct { + __be16 port; + } udp; + struct { + __be16 id; + } icmp; + struct { + __be16 port; + } dccp; + struct { + __be16 port; + } sctp; + struct { + __be16 key; + } gre; +}; + +struct nf_conntrack_man { + union nf_inet_addr u3; + union nf_conntrack_man_proto u; + u_int16_t l3num; +}; + +struct nf_conntrack_tuple { + struct nf_conntrack_man src; + struct { + union nf_inet_addr u3; + union { + __be16 all; + struct { + __be16 port; + } tcp; + struct { + __be16 port; + } udp; + struct { + u_int8_t type; + u_int8_t code; + } icmp; + struct { + __be16 port; + } dccp; + struct { + __be16 port; + } sctp; + struct { + __be16 key; + } gre; + } u; + u_int8_t protonum; + struct {} __nfct_hash_offsetend; + u_int8_t dir; + } dst; +}; + +struct nf_conntrack_tuple_hash { + struct hlist_nulls_node hnnode; + struct nf_conntrack_tuple tuple; +}; + +struct nf_ct_udp { + long unsigned int stream_ts; +}; + +struct nf_ct_gre { + unsigned int stream_timeout; + unsigned int timeout; +}; + +union nf_conntrack_proto { + struct ip_ct_sctp sctp; + struct ip_ct_tcp tcp; + struct nf_ct_udp udp; + struct nf_ct_gre gre; + unsigned int tmpl_padto; +}; + +struct nf_ct_ext; + +struct nf_conn { + struct nf_conntrack ct_general; + spinlock_t lock; + u32 timeout; + struct nf_conntrack_zone zone; + struct nf_conntrack_tuple_hash tuplehash[2]; + long unsigned int status; + possible_net_t ct_net; + struct hlist_node nat_bysource; + struct {} __nfct_init_offset; + struct nf_conn *master; + u_int32_t mark; + u_int32_t secmark; + struct nf_ct_ext *ext; + union nf_conntrack_proto proto; +}; + +struct nf_conn___init { + struct nf_conn ct; +}; + +struct nf_conn_labels { + long unsigned int bits[2]; +}; + +struct nf_conntrack_tuple_mask { + struct { + union nf_inet_addr u3; + union nf_conntrack_man_proto u; + } src; +}; + +struct nf_conntrack_helper; + +struct nf_conntrack_expect { + struct hlist_node lnode; + struct hlist_node hnode; + struct nf_conntrack_tuple tuple; + struct nf_conntrack_tuple_mask mask; + refcount_t use; + unsigned int flags; + unsigned int class; + void (*expectfn)(struct nf_conn *, struct nf_conntrack_expect *); + struct nf_conntrack_helper *helper; + struct nf_conn *master; + struct timer_list timeout; + union nf_inet_addr saved_addr; + union nf_conntrack_man_proto saved_proto; + enum ip_conntrack_dir dir; + struct callback_head rcu; +}; + +struct nf_ct_event { + struct nf_conn *ct; + u32 portid; + int report; +}; + +struct nf_exp_event; + +struct nf_ct_event_notifier { + int (*ct_event)(unsigned int, const struct nf_ct_event *); + int (*exp_event)(unsigned int, const struct nf_exp_event *); +}; + +struct nf_ct_ext { + u8 offset[10]; + u8 len; + unsigned int gen_id; + char data[0]; +}; + +struct nf_ct_hook { + int (*update)(struct net *, struct sk_buff *); + void (*destroy)(struct nf_conntrack *); + bool (*get_tuple_skb)(struct nf_conntrack_tuple *, const struct sk_buff *); + void (*attach)(struct sk_buff *, const struct sk_buff *); + void (*set_closing)(struct nf_conntrack *); + int (*confirm)(struct sk_buff *); + u32 (*get_id)(const struct nf_conntrack *); +}; + +struct nf_defrag_hook { + struct module *owner; + int (*enable)(struct net *); + void (*disable)(struct net *); +}; + +struct nf_exp_event { + struct nf_conntrack_expect *exp; + u32 portid; + int report; +}; + +struct nf_flow_table_stat { + unsigned int count_wq_add; + unsigned int count_wq_del; + unsigned int count_wq_stats; +}; + +struct nf_hook_entry { + nf_hookfn *hook; + void *priv; +}; + +struct nf_hook_entries { + u16 num_hook_entries; + struct nf_hook_entry hooks[0]; +}; + +struct nf_hook_entries_rcu_head { + struct callback_head head; + void *allocation; +}; + +struct nf_hook_state { + u8 hook; + u8 pf; + struct net_device *in; + struct net_device *out; + struct sock *sk; + struct net *net; + int (*okfn)(struct net *, struct sock *, struct sk_buff *); +}; + +struct nf_queue_entry; + +struct nf_ipv6_ops { + void (*route_input)(struct sk_buff *); + int (*fragment)(struct net *, struct sock *, struct sk_buff *, int (*)(struct net *, struct sock *, struct sk_buff *)); + int (*reroute)(struct sk_buff *, const struct nf_queue_entry *); +}; + +struct nf_log_buf { + unsigned int count; + char buf[1020]; +}; + +struct nf_loginfo; + +typedef void nf_logfn(struct net *, u_int8_t, unsigned int, const struct sk_buff *, const struct net_device *, const struct net_device *, const struct nf_loginfo *, const char *); + +struct nf_logger { + char *name; + enum nf_log_type type; + nf_logfn *logfn; + struct module *me; +}; + +struct nf_loginfo { + u_int8_t type; + union { + struct { + u_int32_t copy_len; + u_int16_t group; + u_int16_t qthreshold; + u_int16_t flags; + } ulog; + struct { + u_int8_t level; + u_int8_t logflags; + } log; + } u; +}; + +struct nf_nat_hook { + int (*parse_nat_setup)(struct nf_conn *, enum nf_nat_manip_type, const struct nlattr *); + void (*decode_session)(struct sk_buff *, struct flowi *); + void (*remove_nat_bysrc)(struct nf_conn *); +}; + +struct nf_queue_entry { + struct list_head list; + struct sk_buff *skb; + unsigned int id; + unsigned int hook_index; + struct net_device *physin; + struct net_device *physout; + struct nf_hook_state state; + u16 size; +}; + +struct nf_queue_handler { + int (*outfn)(struct nf_queue_entry *, unsigned int); + void (*nf_hook_drop)(struct net *); +}; + +struct nf_sockopt_ops { + struct list_head list; + u_int8_t pf; + int set_optmin; + int set_optmax; + int (*set)(struct sock *, int, sockptr_t, unsigned int); + int get_optmin; + int get_optmax; + int (*get)(struct sock *, int, void *, int *); + struct module *owner; +}; + +struct nfnl_ct_hook { + size_t (*build_size)(const struct nf_conn *); + int (*build)(struct sk_buff *, struct nf_conn *, enum ip_conntrack_info, u_int16_t, u_int16_t); + int (*parse)(const struct nlattr *, struct nf_conn *); + int (*attach_expect)(const struct nlattr *, struct nf_conn *, u32, u32); + void (*seq_adjust)(struct sk_buff *, struct nf_conn *, enum ip_conntrack_info, s32); +}; + +struct nfstime4 { + int64_t seconds; + uint32_t nseconds; +}; + +struct nfs41_impl_id { + char domain[1025]; + char name[1025]; + struct nfstime4 date; +}; + +struct nfs41_server_owner { + uint64_t minor_id; + uint32_t major_id_sz; + char major_id[1024]; +}; + +struct nfs41_server_scope { + uint32_t server_scope_sz; + char server_scope[1024]; +}; + +struct nfs4_change_info { + u32 atomic; + u64 before; + u64 after; +}; + +struct nfs4_string { + unsigned int len; + char *data; +}; + +struct nfs4_pathname { + unsigned int ncomponents; + struct nfs4_string components[512]; +}; + +struct nfs4_fs_location { + unsigned int nservers; + struct nfs4_string servers[10]; + struct nfs4_pathname rootpath; +}; + +struct nfs_fattr; + +struct nfs_server; + +struct nfs4_fs_locations { + struct nfs_fattr *fattr; + const struct nfs_server *server; + struct nfs4_pathname fs_path; + int nlocations; + struct nfs4_fs_location locations[10]; +}; + +struct nfs4_label { + uint32_t lfs; + uint32_t pi; + u32 lsmid; + u32 len; + char *label; +}; + +struct rpc_timer { + struct list_head list; + long unsigned int expires; + struct delayed_work dwork; +}; + +struct rpc_wait_queue { + spinlock_t lock; + struct list_head tasks[4]; + unsigned char maxpriority; + unsigned char priority; + unsigned char nr; + unsigned int qlen; + struct rpc_timer timer_list; + const char *name; +}; + +struct nfs_seqid_counter { + ktime_t create_time; + u64 owner_id; + int flags; + u32 counter; + spinlock_t lock; + struct list_head list; + struct rpc_wait_queue wait; +}; + +struct nfs4_stateid_struct { + union { + char data[16]; + struct { + __be32 seqid; + char other[12]; + }; + }; + enum { + NFS4_INVALID_STATEID_TYPE = 0, + NFS4_SPECIAL_STATEID_TYPE = 1, + NFS4_OPEN_STATEID_TYPE = 2, + NFS4_LOCK_STATEID_TYPE = 3, + NFS4_DELEGATION_STATEID_TYPE = 4, + NFS4_LAYOUT_STATEID_TYPE = 5, + NFS4_PNFS_DS_STATEID_TYPE = 6, + NFS4_REVOKED_STATEID_TYPE = 7, + NFS4_FREED_STATEID_TYPE = 8, + } type; +}; + +typedef struct nfs4_stateid_struct nfs4_stateid; + +struct nfs4_state; + +struct nfs4_lock_state { + struct list_head ls_locks; + struct nfs4_state *ls_state; + long unsigned int ls_flags; + struct nfs_seqid_counter ls_seqid; + nfs4_stateid ls_stateid; + refcount_t ls_count; + fl_owner_t ls_owner; +}; + +struct nfs_fh; + +struct nfs4_mig_recovery_ops { + int (*get_locations)(struct nfs_server *, struct nfs_fh *, struct nfs4_fs_locations *, struct page *, const struct cred *); + int (*fsid_present)(struct inode *, const struct cred *); +}; + +struct nfs_client; + +struct nfs_seqid; + +struct rpc_clnt; + +struct rpc_xprt; + +struct rpc_call_ops; + +struct nfs4_state_recovery_ops; + +struct nfs4_state_maintenance_ops; + +struct nfs4_minor_version_ops { + u32 minor_version; + unsigned int init_caps; + int (*init_client)(struct nfs_client *); + void (*shutdown_client)(struct nfs_client *); + bool (*match_stateid)(const nfs4_stateid *, const nfs4_stateid *); + int (*find_root_sec)(struct nfs_server *, struct nfs_fh *, struct nfs_fattr *); + void (*free_lock_state)(struct nfs_server *, struct nfs4_lock_state *); + int (*test_and_free_expired)(struct nfs_server *, nfs4_stateid *, const struct cred *); + struct nfs_seqid * (*alloc_seqid)(struct nfs_seqid_counter *, gfp_t); + void (*session_trunk)(struct rpc_clnt *, struct rpc_xprt *, void *); + const struct rpc_call_ops *call_sync_ops; + const struct nfs4_state_recovery_ops *reboot_recovery_ops; + const struct nfs4_state_recovery_ops *nograce_recovery_ops; + const struct nfs4_state_maintenance_ops *state_renewal_ops; + const struct nfs4_mig_recovery_ops *mig_recovery_ops; +}; + +struct nfs4_slot; + +struct nfs4_sequence_args { + struct nfs4_slot *sa_slot; + u8 sa_cache_this: 1; + u8 sa_privileged: 1; +}; + +struct nfs4_sequence_res { + struct nfs4_slot *sr_slot; + long unsigned int sr_timestamp; + int sr_status; + u32 sr_status_flags; + u32 sr_highest_slotid; + u32 sr_target_highest_slotid; +}; + +struct nfs4_ssc_client_ops { + struct file * (*sco_open)(struct vfsmount *, struct nfs_fh *, nfs4_stateid *); + void (*sco_close)(struct file *); +}; + +struct nfs4_state_owner; + +struct nfs4_state { + struct list_head open_states; + struct list_head inode_states; + struct list_head lock_states; + struct nfs4_state_owner *owner; + struct inode *inode; + long unsigned int flags; + spinlock_t state_lock; + seqlock_t seqlock; + nfs4_stateid stateid; + nfs4_stateid open_stateid; + unsigned int n_rdonly; + unsigned int n_wronly; + unsigned int n_rdwr; + fmode_t state; + refcount_t count; + wait_queue_head_t waitq; + struct callback_head callback_head; +}; + +struct nfs4_state_maintenance_ops { + int (*sched_state_renewal)(struct nfs_client *, const struct cred *, unsigned int); + const struct cred * (*get_state_renewal_cred)(struct nfs_client *); + int (*renew_lease)(struct nfs_client *, const struct cred *); +}; + +struct nfs4_state_owner { + struct nfs_server *so_server; + struct list_head so_lru; + long unsigned int so_expires; + struct rb_node so_server_node; + const struct cred *so_cred; + spinlock_t so_lock; + atomic_t so_count; + long unsigned int so_flags; + struct list_head so_states; + struct nfs_seqid_counter so_seqid; + struct mutex so_delegreturn_mutex; +}; + +struct nfs4_state_recovery_ops { + int owner_flag_bit; + int state_flag_bit; + int (*recover_open)(struct nfs4_state_owner *, struct nfs4_state *); + int (*recover_lock)(struct nfs4_state *, struct file_lock *); + int (*establish_clid)(struct nfs_client *, const struct cred *); + int (*reclaim_complete)(struct nfs_client *, const struct cred *); + int (*detect_trunking)(struct nfs_client *, struct nfs_client **, const struct cred *); +}; + +struct nfs4_threshold { + __u32 bm; + __u32 l_type; + __u64 rd_sz; + __u64 wr_sz; + __u64 rd_io_sz; + __u64 wr_io_sz; +}; + +struct nfs_access_entry { + struct rb_node rb_node; + struct list_head lru; + kuid_t fsuid; + kgid_t fsgid; + struct group_info *group_info; + u64 timestamp; + __u32 mask; + struct callback_head callback_head; +}; + +struct nfs_auth_info { + unsigned int flavor_len; + rpc_authflavor_t flavors[12]; +}; + +struct nfs_subversion; + +struct xprtsec_parms { + enum xprtsec_policies policy; + key_serial_t cert_serial; + key_serial_t privkey_serial; +}; + +struct idmap; + +struct nfs4_slot_table; + +struct nfs4_session; + +struct nfs_rpc_ops; + +struct nfs_client { + refcount_t cl_count; + atomic_t cl_mds_count; + int cl_cons_state; + long unsigned int cl_res_state; + long unsigned int cl_flags; + struct __kernel_sockaddr_storage cl_addr; + size_t cl_addrlen; + char *cl_hostname; + char *cl_acceptor; + struct list_head cl_share_link; + struct list_head cl_superblocks; + struct rpc_clnt *cl_rpcclient; + const struct nfs_rpc_ops *rpc_ops; + int cl_proto; + struct nfs_subversion *cl_nfs_mod; + u32 cl_minorversion; + unsigned int cl_nconnect; + unsigned int cl_max_connect; + const char *cl_principal; + struct xprtsec_parms cl_xprtsec; + struct list_head cl_ds_clients; + u64 cl_clientid; + nfs4_verifier cl_confirm; + long unsigned int cl_state; + spinlock_t cl_lock; + long unsigned int cl_lease_time; + long unsigned int cl_last_renewal; + struct delayed_work cl_renewd; + struct rpc_wait_queue cl_rpcwaitq; + struct idmap *cl_idmap; + const char *cl_owner_id; + u32 cl_cb_ident; + const struct nfs4_minor_version_ops *cl_mvops; + long unsigned int cl_mig_gen; + struct nfs4_slot_table *cl_slot_tbl; + u32 cl_seqid; + u32 cl_exchange_flags; + struct nfs4_session *cl_session; + bool cl_preserve_clid; + struct nfs41_server_owner *cl_serverowner; + struct nfs41_server_scope *cl_serverscope; + struct nfs41_impl_id *cl_implid; + long unsigned int cl_sp4_flags; + wait_queue_head_t cl_lock_waitq; + char cl_ipaddr[48]; + struct net *cl_net; + netns_tracker cl_ns_tracker; + struct list_head pending_cb_stateids; + struct callback_head rcu; +}; + +struct nfs_page; + +struct nfs_commit_data; + +struct nfs_commit_info; + +struct nfs_commit_completion_ops { + void (*completion)(struct nfs_commit_data *); + void (*resched_write)(struct nfs_commit_info *, struct nfs_page *); +}; + +struct rpc_wait { + struct list_head list; + struct list_head links; + struct list_head timer_list; +}; + +struct rpc_procinfo; + +struct rpc_message { + const struct rpc_procinfo *rpc_proc; + void *rpc_argp; + void *rpc_resp; + const struct cred *rpc_cred; +}; + +struct rpc_cred; + +struct rpc_rqst; + +struct rpc_task { + atomic_t tk_count; + int tk_status; + struct list_head tk_task; + void (*tk_callback)(struct rpc_task *); + void (*tk_action)(struct rpc_task *); + long unsigned int tk_timeout; + long unsigned int tk_runstate; + struct rpc_wait_queue *tk_waitqueue; + union { + struct work_struct tk_work; + struct rpc_wait tk_wait; + } u; + struct rpc_message tk_msg; + void *tk_calldata; + const struct rpc_call_ops *tk_ops; + struct rpc_clnt *tk_client; + struct rpc_xprt *tk_xprt; + struct rpc_cred *tk_op_cred; + struct rpc_rqst *tk_rqstp; + struct workqueue_struct *tk_workqueue; + ktime_t tk_start; + pid_t tk_owner; + int tk_rpc_status; + short unsigned int tk_flags; + short unsigned int tk_timeouts; + short unsigned int tk_pid; + unsigned char tk_priority: 2; + unsigned char tk_garb_retry: 2; + unsigned char tk_cred_retry: 2; +}; + +struct nfs_fsid { + uint64_t major; + uint64_t minor; +}; + +struct nfs_fattr { + __u64 valid; + umode_t mode; + __u32 nlink; + kuid_t uid; + kgid_t gid; + dev_t rdev; + __u64 size; + union { + struct { + __u32 blocksize; + __u32 blocks; + } nfs2; + struct { + __u64 used; + } nfs3; + } du; + struct nfs_fsid fsid; + __u64 fileid; + __u64 mounted_on_fileid; + struct timespec64 atime; + struct timespec64 mtime; + struct timespec64 ctime; + struct timespec64 btime; + __u64 change_attr; + __u64 pre_change_attr; + __u64 pre_size; + struct timespec64 pre_mtime; + struct timespec64 pre_ctime; + long unsigned int time_start; + long unsigned int gencount; + struct nfs4_string *owner_name; + struct nfs4_string *group_name; + struct nfs4_threshold *mdsthreshold; + struct nfs4_label *label; +}; + +struct nfs_write_verifier { + char data[8]; +}; + +struct nfs_writeverf { + struct nfs_write_verifier verifier; + enum nfs3_stable_how committed; +}; + +struct nfs_direct_req; + +struct nfs_commitargs { + struct nfs4_sequence_args seq_args; + struct nfs_fh *fh; + __u64 offset; + __u32 count; + const u32 *bitmask; +}; + +struct nfs_commitres { + struct nfs4_sequence_res seq_res; + __u32 op_status; + struct nfs_fattr *fattr; + struct nfs_writeverf *verf; + const struct nfs_server *server; +}; + +struct pnfs_layout_segment; + +struct nfs_open_context; + +struct nfs_commit_data { + struct rpc_task task; + struct inode *inode; + const struct cred *cred; + struct nfs_fattr fattr; + struct nfs_writeverf verf; + struct list_head pages; + struct list_head list; + struct nfs_direct_req *dreq; + struct nfs_commitargs args; + struct nfs_commitres res; + struct nfs_open_context *context; + struct pnfs_layout_segment *lseg; + struct nfs_client *ds_clp; + int ds_commit_index; + loff_t lwb; + const struct rpc_call_ops *mds_ops; + const struct nfs_commit_completion_ops *completion_ops; + int (*commit_done_cb)(struct rpc_task *, struct nfs_commit_data *); + long unsigned int flags; +}; + +struct nfs_mds_commit_info; + +struct pnfs_ds_commit_info; + +struct nfs_commit_info { + struct inode *inode; + struct nfs_mds_commit_info *mds; + struct pnfs_ds_commit_info *ds; + struct nfs_direct_req *dreq; + const struct nfs_commit_completion_ops *completion_ops; +}; + +struct nfs_entry { + __u64 ino; + __u64 cookie; + const char *name; + unsigned int len; + int eof; + struct nfs_fh *fh; + struct nfs_fattr *fattr; + unsigned char d_type; + struct nfs_server *server; +}; + +struct nfs_fh { + short unsigned int size; + unsigned char data[128]; +}; + +struct nfsd_file; + +struct nfs_file_localio { + struct nfsd_file *ro_file; + struct nfsd_file *rw_file; + struct list_head list; + void *nfs_uuid; +}; + +struct nfs_fsinfo { + struct nfs_fattr *fattr; + __u32 rtmax; + __u32 rtpref; + __u32 rtmult; + __u32 wtmax; + __u32 wtpref; + __u32 wtmult; + __u32 dtpref; + __u64 maxfilesize; + struct timespec64 time_delta; + __u32 lease_time; + __u32 nlayouttypes; + __u32 layouttype[8]; + __u32 blksize; + __u32 clone_blksize; + enum nfs4_change_attr_type change_attr_type; + __u32 xattr_support; +}; + +struct nfs_fsstat { + struct nfs_fattr *fattr; + __u64 tbytes; + __u64 fbytes; + __u64 abytes; + __u64 tfiles; + __u64 ffiles; + __u64 afiles; +}; + +struct nfs_lock_context { + refcount_t count; + struct list_head list; + struct nfs_open_context *open_context; + fl_owner_t lockowner; + atomic_t io_count; + struct callback_head callback_head; +}; + +struct nfs_mds_commit_info { + atomic_t rpcs_out; + atomic_long_t ncommit; + struct list_head list; +}; + +struct nfs_open_context { + struct nfs_lock_context lock_context; + fl_owner_t flock_owner; + struct dentry *dentry; + const struct cred *cred; + struct rpc_cred *ll_cred; + struct nfs4_state *state; + fmode_t mode; + int error; + long unsigned int flags; + struct nfs4_threshold *mdsthreshold; + struct list_head list; + struct callback_head callback_head; + struct nfs_file_localio nfl; +}; + +struct nfs_page_array { + struct page **pagevec; + unsigned int npages; + struct page *page_array[8]; +}; + +struct nfs_pathconf { + struct nfs_fattr *fattr; + __u32 max_link; + __u32 max_namelen; +}; + +struct nfs_pgio_args { + struct nfs4_sequence_args seq_args; + struct nfs_fh *fh; + struct nfs_open_context *context; + struct nfs_lock_context *lock_context; + nfs4_stateid stateid; + __u64 offset; + __u32 count; + unsigned int pgbase; + struct page **pages; + union { + unsigned int replen; + struct { + const u32 *bitmask; + u32 bitmask_store[3]; + enum nfs3_stable_how stable; + }; + }; +}; + +struct nfs_pgio_header; + +struct nfs_pgio_completion_ops { + void (*error_cleanup)(struct list_head *, int); + void (*init_hdr)(struct nfs_pgio_header *); + void (*completion)(struct nfs_pgio_header *); + void (*reschedule_io)(struct nfs_pgio_header *); +}; + +struct nfs_rw_ops; + +struct nfs_io_completion; + +struct nfs_pgio_res { + struct nfs4_sequence_res seq_res; + struct nfs_fattr *fattr; + __u64 count; + __u32 op_status; + union { + struct { + unsigned int replen; + int eof; + void *scratch; + }; + struct { + struct nfs_writeverf *verf; + const struct nfs_server *server; + }; + }; +}; + +struct nfs_pgio_header { + struct inode *inode; + const struct cred *cred; + struct list_head pages; + struct nfs_page *req; + struct nfs_writeverf verf; + fmode_t rw_mode; + struct pnfs_layout_segment *lseg; + loff_t io_start; + const struct rpc_call_ops *mds_ops; + void (*release)(struct nfs_pgio_header *); + const struct nfs_pgio_completion_ops *completion_ops; + const struct nfs_rw_ops *rw_ops; + struct nfs_io_completion *io_completion; + struct nfs_direct_req *dreq; + void *netfs; + short unsigned int retrans; + int pnfs_error; + int error; + unsigned int good_bytes; + long unsigned int flags; + struct rpc_task task; + struct nfs_fattr fattr; + struct nfs_pgio_args args; + struct nfs_pgio_res res; + long unsigned int timestamp; + int (*pgio_done_cb)(struct rpc_task *, struct nfs_pgio_header *); + __u64 mds_offset; + struct nfs_page_array page_array; + struct nfs_client *ds_clp; + u32 ds_commit_idx; + u32 pgio_mirror_idx; +}; + +struct nfs_readdir_arg { + struct dentry *dentry; + const struct cred *cred; + __be32 *verf; + u64 cookie; + struct page **pages; + unsigned int page_len; + bool plus; +}; + +struct nfs_readdir_res { + __be32 *verf; +}; + +struct nfs_removeargs { + struct nfs4_sequence_args seq_args; + const struct nfs_fh *fh; + struct qstr name; +}; + +struct nfs_removeres { + struct nfs4_sequence_res seq_res; + struct nfs_server *server; + struct nfs_fattr *dir_attr; + struct nfs4_change_info cinfo; +}; + +struct nfs_renameargs { + struct nfs4_sequence_args seq_args; + const struct nfs_fh *old_dir; + const struct nfs_fh *new_dir; + const struct qstr *old_name; + const struct qstr *new_name; +}; + +struct nfs_renameres { + struct nfs4_sequence_res seq_res; + struct nfs_server *server; + struct nfs4_change_info old_cinfo; + struct nfs_fattr *old_fattr; + struct nfs4_change_info new_cinfo; + struct nfs_fattr *new_fattr; +}; + +struct nfs_renamedata { + struct nfs_renameargs args; + struct nfs_renameres res; + struct rpc_task task; + const struct cred *cred; + struct inode *old_dir; + struct dentry *old_dentry; + struct nfs_fattr old_fattr; + struct inode *new_dir; + struct dentry *new_dentry; + struct nfs_fattr new_fattr; + void (*complete)(struct rpc_task *, struct nfs_renamedata *); + long int timeout; + bool cancelled; +}; + +struct nlmclnt_operations; + +struct nfs_client_initdata; + +struct nfs_unlinkdata; + +struct xdr_stream; + +struct nfs_rpc_ops { + u32 version; + const struct dentry_operations *dentry_ops; + const struct inode_operations *dir_inode_ops; + const struct inode_operations *file_inode_ops; + const struct file_operations *file_ops; + const struct nlmclnt_operations *nlmclnt_ops; + int (*getroot)(struct nfs_server *, struct nfs_fh *, struct nfs_fsinfo *); + int (*submount)(struct fs_context *, struct nfs_server *); + int (*try_get_tree)(struct fs_context *); + int (*getattr)(struct nfs_server *, struct nfs_fh *, struct nfs_fattr *, struct inode *); + int (*setattr)(struct dentry *, struct nfs_fattr *, struct iattr *); + int (*lookup)(struct inode *, struct dentry *, const struct qstr *, struct nfs_fh *, struct nfs_fattr *); + int (*lookupp)(struct inode *, struct nfs_fh *, struct nfs_fattr *); + int (*access)(struct inode *, struct nfs_access_entry *, const struct cred *); + int (*readlink)(struct inode *, struct page *, unsigned int, unsigned int); + int (*create)(struct inode *, struct dentry *, struct iattr *, int); + int (*remove)(struct inode *, struct dentry *); + void (*unlink_setup)(struct rpc_message *, struct dentry *, struct inode *); + void (*unlink_rpc_prepare)(struct rpc_task *, struct nfs_unlinkdata *); + int (*unlink_done)(struct rpc_task *, struct inode *); + void (*rename_setup)(struct rpc_message *, struct dentry *, struct dentry *); + void (*rename_rpc_prepare)(struct rpc_task *, struct nfs_renamedata *); + int (*rename_done)(struct rpc_task *, struct inode *, struct inode *); + int (*link)(struct inode *, struct inode *, const struct qstr *); + int (*symlink)(struct inode *, struct dentry *, struct folio *, unsigned int, struct iattr *); + struct dentry * (*mkdir)(struct inode *, struct dentry *, struct iattr *); + int (*rmdir)(struct inode *, const struct qstr *); + int (*readdir)(struct nfs_readdir_arg *, struct nfs_readdir_res *); + int (*mknod)(struct inode *, struct dentry *, struct iattr *, dev_t); + int (*statfs)(struct nfs_server *, struct nfs_fh *, struct nfs_fsstat *); + int (*fsinfo)(struct nfs_server *, struct nfs_fh *, struct nfs_fsinfo *); + int (*pathconf)(struct nfs_server *, struct nfs_fh *, struct nfs_pathconf *); + int (*set_capabilities)(struct nfs_server *, struct nfs_fh *); + int (*decode_dirent)(struct xdr_stream *, struct nfs_entry *, bool); + int (*pgio_rpc_prepare)(struct rpc_task *, struct nfs_pgio_header *); + void (*read_setup)(struct nfs_pgio_header *, struct rpc_message *); + int (*read_done)(struct rpc_task *, struct nfs_pgio_header *); + void (*write_setup)(struct nfs_pgio_header *, struct rpc_message *, struct rpc_clnt **); + int (*write_done)(struct rpc_task *, struct nfs_pgio_header *); + void (*commit_setup)(struct nfs_commit_data *, struct rpc_message *, struct rpc_clnt **); + void (*commit_rpc_prepare)(struct rpc_task *, struct nfs_commit_data *); + int (*commit_done)(struct rpc_task *, struct nfs_commit_data *); + int (*lock)(struct file *, int, struct file_lock *); + int (*lock_check_bounds)(const struct file_lock *); + void (*clear_acl_cache)(struct inode *); + void (*close_context)(struct nfs_open_context *, int); + struct inode * (*open_context)(struct inode *, struct nfs_open_context *, int, struct iattr *, int *); + int (*have_delegation)(struct inode *, fmode_t, int); + int (*return_delegation)(struct inode *); + struct nfs_client * (*alloc_client)(const struct nfs_client_initdata *); + struct nfs_client * (*init_client)(struct nfs_client *, const struct nfs_client_initdata *); + void (*free_client)(struct nfs_client *); + struct nfs_server * (*create_server)(struct fs_context *); + struct nfs_server * (*clone_server)(struct nfs_server *, struct nfs_fh *, struct nfs_fattr *, rpc_authflavor_t); + int (*discover_trunking)(struct nfs_server *, struct nfs_fh *); + void (*enable_swap)(struct inode *); + void (*disable_swap)(struct inode *); +}; + +struct nfs_seqid { + struct nfs_seqid_counter *sequence; + struct list_head list; + struct rpc_task *task; +}; + +struct nlm_host; + +struct nfs_iostats; + +struct fscache_volume; + +struct pnfs_layoutdriver_type; + +struct nfs_server { + struct nfs_client *nfs_client; + struct list_head client_link; + struct list_head master_link; + struct rpc_clnt *client; + struct rpc_clnt *client_acl; + struct nlm_host *nlm_host; + struct nfs_iostats *io_stats; + wait_queue_head_t write_congestion_wait; + atomic_long_t writeback; + unsigned int write_congested; + unsigned int flags; + unsigned int automount_inherit; + unsigned int caps; + __u64 fattr_valid; + unsigned int rsize; + unsigned int rpages; + unsigned int wsize; + unsigned int wtmult; + unsigned int dtsize; + short unsigned int port; + unsigned int bsize; + unsigned int gxasize; + unsigned int sxasize; + unsigned int lxasize; + unsigned int acregmin; + unsigned int acregmax; + unsigned int acdirmin; + unsigned int acdirmax; + unsigned int namelen; + unsigned int options; + unsigned int clone_blksize; + enum nfs4_change_attr_type change_attr_type; + struct nfs_fsid fsid; + int s_sysfs_id; + __u64 maxfilesize; + long unsigned int mount_time; + struct super_block *super; + dev_t s_dev; + struct nfs_auth_info auth_info; + struct fscache_volume *fscache; + char *fscache_uniq; + u32 fh_expire_type; + u32 pnfs_blksize; + u32 attr_bitmask[3]; + u32 attr_bitmask_nl[3]; + u32 exclcreat_bitmask[3]; + u32 cache_consistency_bitmask[3]; + u32 acl_bitmask; + struct pnfs_layoutdriver_type *pnfs_curr_ld; + struct rpc_wait_queue roc_rpcwaitq; + struct rb_root state_owners; + atomic64_t owner_ctr; + struct list_head state_owners_lru; + struct list_head layouts; + struct list_head delegations; + atomic_long_t nr_active_delegations; + unsigned int delegation_hash_mask; + struct hlist_head *delegation_hash_table; + struct list_head ss_copies; + struct list_head ss_src_copies; + long unsigned int delegation_flags; + long unsigned int delegation_gen; + long unsigned int mig_gen; + long unsigned int mig_status; + void (*destroy)(struct nfs_server *); + atomic_t active; + struct __kernel_sockaddr_storage mountd_address; + size_t mountd_addrlen; + u32 mountd_version; + short unsigned int mountd_port; + short unsigned int mountd_protocol; + struct rpc_wait_queue uoc_rpcwaitq; + unsigned int read_hdrsize; + const struct cred *cred; + bool has_sec_mnt_opts; + struct kobject kobj; + struct callback_head rcu; +}; + +struct nfs_ssc_client_ops { + void (*sco_sb_deactive)(struct super_block *); +}; + +struct nfs_ssc_client_ops_tbl { + const struct nfs4_ssc_client_ops *ssc_nfs4_ops; + const struct nfs_ssc_client_ops *ssc_nfs_ops; +}; + +struct nfs_unlinkdata { + struct nfs_removeargs args; + struct nfs_removeres res; + struct dentry *dentry; + wait_queue_head_t wq; + const struct cred *cred; + struct nfs_fattr dir_attr; + long int timeout; +}; + +struct nh_config { + u32 nh_id; + u8 nh_family; + u8 nh_protocol; + u8 nh_blackhole; + u8 nh_fdb; + u32 nh_flags; + int nh_ifindex; + struct net_device *dev; + union { + __be32 ipv4; + struct in6_addr ipv6; + } gw; + struct nlattr *nh_grp; + u16 nh_grp_type; + u16 nh_grp_res_num_buckets; + long unsigned int nh_grp_res_idle_timer; + long unsigned int nh_grp_res_unbalanced_timer; + bool nh_grp_res_has_num_buckets; + bool nh_grp_res_has_idle_timer; + bool nh_grp_res_has_unbalanced_timer; + bool nh_hw_stats; + struct nlattr *nh_encap; + u16 nh_encap_type; + u32 nlflags; + struct nl_info nlinfo; +}; + +struct nh_dump_filter { + u32 nh_id; + int dev_idx; + int master_idx; + bool group_filter; + bool fdb_filter; + u32 res_bucket_nh_id; + u32 op_flags; +}; + +struct nh_grp_entry_stats; + +struct nh_grp_entry { + struct nexthop *nh; + struct nh_grp_entry_stats *stats; + u16 weight; + union { + struct { + atomic_t upper_bound; + } hthr; + struct { + struct list_head uw_nh_entry; + u16 count_buckets; + u16 wants_buckets; + } res; + }; + struct list_head nh_list; + struct nexthop *nh_parent; + u64 packets_hw; +}; + +struct nh_res_table; + +struct nh_group { + struct nh_group *spare; + u16 num_nh; + bool is_multipath; + bool hash_threshold; + bool resilient; + bool fdb_nh; + bool has_v4; + bool hw_stats; + struct nh_res_table *res_table; + struct nh_grp_entry nh_entries[0]; +}; + +struct nh_grp_entry_stats { + u64_stats_t packets; + struct u64_stats_sync syncp; +}; + +struct nh_info { + struct hlist_node dev_hash; + struct nexthop *nh_parent; + u8 family; + bool reject_nh; + bool fdb_nh; + union { + struct fib_nh_common fib_nhc; + struct fib_nh fib_nh; + struct fib6_nh fib6_nh; + }; +}; + +struct nh_notifier_single_info { + struct net_device *dev; + u8 gw_family; + union { + __be32 ipv4; + struct in6_addr ipv6; + }; + u32 id; + u8 is_reject: 1; + u8 is_fdb: 1; + u8 has_encap: 1; +}; + +struct nh_notifier_grp_entry_info { + u16 weight; + struct nh_notifier_single_info nh; +}; + +struct nh_notifier_grp_hw_stats_entry_info { + u32 id; + u64 packets; +}; + +struct nh_notifier_grp_hw_stats_info { + u16 num_nh; + bool hw_stats_used; + struct nh_notifier_grp_hw_stats_entry_info stats[0]; +}; + +struct nh_notifier_grp_info { + u16 num_nh; + bool is_fdb; + bool hw_stats; + struct nh_notifier_grp_entry_info nh_entries[0]; +}; + +struct nh_notifier_res_table_info; + +struct nh_notifier_res_bucket_info; + +struct nh_notifier_info { + struct net *net; + struct netlink_ext_ack *extack; + u32 id; + enum nh_notifier_info_type type; + union { + struct nh_notifier_single_info *nh; + struct nh_notifier_grp_info *nh_grp; + struct nh_notifier_res_table_info *nh_res_table; + struct nh_notifier_res_bucket_info *nh_res_bucket; + struct nh_notifier_grp_hw_stats_info *nh_grp_hw_stats; + }; +}; + +struct nh_notifier_res_bucket_info { + u16 bucket_index; + unsigned int idle_timer_ms; + bool force; + struct nh_notifier_single_info old_nh; + struct nh_notifier_single_info new_nh; +}; + +struct nh_notifier_res_table_info { + u16 num_nh_buckets; + bool hw_stats; + struct nh_notifier_single_info nhs[0]; +}; + +struct nh_res_bucket { + struct nh_grp_entry *nh_entry; + atomic_long_t used_time; + long unsigned int migrated_time; + bool occupied; + u8 nh_flags; +}; + +struct nh_res_table { + struct net *net; + u32 nhg_id; + struct delayed_work upkeep_dw; + struct list_head uw_nh_entries; + long unsigned int unbalanced_since; + u32 idle_timer; + u32 unbalanced_timer; + u16 num_nh_buckets; + struct nh_res_bucket nh_buckets[0]; +}; + +struct nhmsg { + unsigned char nh_family; + unsigned char nh_scope; + unsigned char nh_protocol; + unsigned char resvd; + unsigned int nh_flags; +}; + +struct nl80211_vendor_cmd_info { + __u32 vendor_id; + __u32 subcmd; +}; + +struct nl80211_wowlan_tcp_data_token_feature { + __u32 min_len; + __u32 max_len; + __u32 bufsize; +}; + +struct nl_pktinfo { + __u32 group; +}; + +struct rhashtable_walker { + struct list_head list; + struct bucket_table *tbl; +}; + +struct rhashtable_iter { + struct rhashtable *ht; + struct rhash_head *p; + struct rhlist_head *list; + struct rhashtable_walker walker; + unsigned int slot; + unsigned int skip; + bool end_of_table; +}; + +struct nl_seq_iter { + struct seq_net_private p; + struct rhashtable_iter hti; + int link; +}; + +struct nla_bitfield32 { + __u32 value; + __u32 selector; +}; + +struct nla_policy { + u8 type; + u8 validation_type; + u16 len; + union { + u16 strict_start_type; + const u32 bitfield32_valid; + const u32 mask; + const char *reject_message; + const struct nla_policy *nested_policy; + const struct netlink_range_validation *range; + const struct netlink_range_validation_signed *range_signed; + struct { + s16 min; + s16 max; + }; + int (*validate)(const struct nlattr *, struct netlink_ext_ack *); + }; +}; + +struct nlattr { + __u16 nla_len; + __u16 nla_type; +}; + +struct nlmsg_perm { + u16 nlmsg_type; + u32 perm; +}; + +struct nlmsgerr { + int error; + struct nlmsghdr msg; +}; + +struct nls_table { + const char *charset; + const char *alias; + int (*uni2char)(wchar_t, unsigned char *, int); + int (*char2uni)(const unsigned char *, int, wchar_t *); + const unsigned char *charset2lower; + const unsigned char *charset2upper; + struct module *owner; + struct nls_table *next; +}; + +typedef int (*nmi_handler_t)(unsigned int, struct pt_regs *); + +struct nmi_desc { + raw_spinlock_t lock; + nmi_handler_t emerg_handler; + struct list_head head; +}; + +struct nmi_stats { + unsigned int normal; + unsigned int unknown; + unsigned int external; + unsigned int swallow; + long unsigned int recv_jiffies; + long unsigned int idt_seq; + long unsigned int idt_nmi_seq; + long unsigned int idt_ignored; + atomic_long_t idt_calls; + long unsigned int idt_seq_snap; + long unsigned int idt_nmi_seq_snap; + long unsigned int idt_ignored_snap; + long int idt_calls_snap; +}; + +struct nmiaction { + struct list_head list; + nmi_handler_t handler; + u64 max_duration; + long unsigned int flags; + const char *name; +}; + +struct node { + struct device dev; + struct list_head access_list; + struct list_head cache_attrs; + struct device *cache_dev; +}; + +struct node_access_nodes { + struct device dev; + struct list_head list_node; + unsigned int access; + struct access_coordinate coord; +}; + +struct node_attr { + struct device_attribute attr; + enum node_states state; +}; + +struct node_cache_info { + struct device dev; + struct list_head node; + struct node_cache_attrs cache_attrs; +}; + +struct node_groups { + unsigned int id; + union { + unsigned int ngroups; + unsigned int ncpus; + }; +}; + +struct node_hstate { + struct kobject *hugepages_kobj; + struct kobject *hstate_kobjs[2]; +}; + +struct node_memory_type_map { + struct memory_dev_type *memtype; + int map_count; +}; + +struct node_notify { + int nid; +}; + +struct nodemask_scratch { + nodemask_t mask1; + nodemask_t mask2; +}; + +struct nonram_remap { + phys_addr_t maddr; + phys_addr_t paddr; + size_t size; +}; + +struct nosave_region { + struct list_head list; + long unsigned int start_pfn; + long unsigned int end_pfn; +}; + +struct notification { + atomic_t requests; + u32 flags; + u64 next_id; + struct list_head notifications; +}; + +struct npem; + +struct npem_led { + const struct indication *indication; + struct npem *npem; + char name[64]; + struct led_classdev led; +}; + +struct npem_ops; + +struct npem { + struct pci_dev *dev; + const struct npem_ops *ops; + struct mutex lock; + u16 pos; + u32 supported_indications; + u32 active_indications; + unsigned int active_inds_initialized: 1; + int led_cnt; + struct npem_led leds[0]; +}; + +struct npem_ops { + int (*get_active_indications)(struct npem *, u32 *); + int (*set_active_indications)(struct npem *, u32); + const struct indication *inds; + const char *name; +}; + +struct npioctl { + int protocol; + enum NPmode mode; +}; + +struct ns_get_path_bpf_map_args { + struct bpf_offloaded_map *offmap; + struct bpf_map_info *info; +}; + +struct ns_get_path_bpf_prog_args { + struct bpf_prog *prog; + struct bpf_prog_info *info; +}; + +struct ns_get_path_task_args { + const struct proc_ns_operations *ns_ops; + struct task_struct *task; +}; + +struct uts_namespace; + +struct time_namespace; + +struct nsproxy { + refcount_t count; + struct uts_namespace *uts_ns; + struct ipc_namespace *ipc_ns; + struct mnt_namespace *mnt_ns; + struct pid_namespace *pid_ns_for_children; + struct net *net_ns; + struct time_namespace *time_ns; + struct time_namespace *time_ns_for_children; + struct cgroup_namespace *cgroup_ns; +}; + +struct nsset { + unsigned int flags; + struct nsproxy *nsproxy; + struct fs_struct *fs; + const struct cred *cred; +}; + +struct nt_partition_info { + u32 xlink_enabled; + u32 target_part_low; + u32 target_part_high; + u32 reserved; +}; + +struct ntb_ctrl_regs { + u32 partition_status; + u32 partition_op; + u32 partition_ctrl; + u32 bar_setup; + u32 bar_error; + u16 lut_table_entries; + u16 lut_table_offset; + u32 lut_error; + u16 req_id_table_size; + u16 req_id_table_offset; + u32 req_id_error; + u32 reserved1[7]; + struct { + u32 ctl; + u32 win_size; + u64 xlate_addr; + } bar_entry[6]; + struct { + u32 win_size; + u32 reserved[3]; + } bar_ext_entry[6]; + u32 reserved2[192]; + u32 req_id_table[512]; + u32 reserved3[256]; + u64 lut_entry[512]; +}; + +struct ntb_info_regs { + u8 partition_count; + u8 partition_id; + u16 reserved1; + u64 ep_map; + u16 requester_id; + u16 reserved2; + u32 reserved3[4]; + struct nt_partition_info ntp_info[48]; +} __attribute__((packed)); + +struct ntp_data { + long unsigned int tick_usec; + u64 tick_length; + u64 tick_length_base; + int time_state; + int time_status; + s64 time_offset; + long int time_constant; + long int time_maxerror; + long int time_esterror; + s64 time_freq; + time64_t time_reftime; + long int time_adjust; + s64 ntp_tick_adj; + time64_t ntp_next_leap_sec; +}; + +struct numa_group { + refcount_t refcount; + spinlock_t lock; + int nr_tasks; + pid_t gid; + int active_nodes; + struct callback_head rcu; + long unsigned int total_faults; + long unsigned int max_faults_cpu; + long unsigned int faults[0]; +}; + +struct numa_maps { + long unsigned int pages; + long unsigned int anon; + long unsigned int active; + long unsigned int writeback; + long unsigned int mapcount_max; + long unsigned int dirty; + long unsigned int swapcache; + long unsigned int node[1024]; +}; + +struct proc_maps_private { + struct inode *inode; + struct task_struct *task; + struct mm_struct *mm; + struct vma_iterator iter; + loff_t last_pos; + bool mmap_locked; + struct vm_area_struct *locked_vma; + struct mempolicy *task_mempolicy; +}; + +struct numa_maps_private { + struct proc_maps_private proc_maps; + struct numa_maps md; +}; + +struct numa_memblk { + u64 start; + u64 end; + int nid; +}; + +struct numa_meminfo { + int nr_blks; + struct numa_memblk blk[2048]; +}; + +struct numa_stat { + const char *name; + unsigned int lru_mask; +}; + +struct numa_stats { + long unsigned int load; + long unsigned int runnable; + long unsigned int util; + long unsigned int compute_capacity; + unsigned int nr_running; + unsigned int weight; + enum numa_type node_type; + int idle_cpu; +}; + +struct nvdimm_security_ops; + +struct nvdimm_fw_ops; + +struct nvdimm { + long unsigned int flags; + void *provider_data; + long unsigned int cmd_mask; + struct device dev; + atomic_t busy; + int id; + int num_flush; + struct resource *flush_wpq; + const char *dimm_id; + struct { + const struct nvdimm_security_ops *ops; + long unsigned int flags; + long unsigned int ext_flags; + unsigned int overwrite_tmo; + struct kernfs_node *overwrite_state; + } sec; + struct delayed_work dwork; + const struct nvdimm_fw_ops *fw_ops; +}; + +struct nvdimm_bus_descriptor; + +struct nvdimm_bus { + struct nvdimm_bus_descriptor *nd_desc; + wait_queue_head_t wait; + struct list_head list; + struct device dev; + int id; + int probe_active; + atomic_t ioctl_active; + struct list_head mapping_list; + struct mutex reconfig_mutex; + struct badrange badrange; +}; + +typedef int (*ndctl_fn)(struct nvdimm_bus_descriptor *, struct nvdimm *, unsigned int, void *, unsigned int, int *); + +struct nvdimm_bus_fw_ops; + +struct nvdimm_bus_descriptor { + const struct attribute_group **attr_groups; + long unsigned int cmd_mask; + long unsigned int dimm_family_mask; + long unsigned int bus_family_mask; + struct module *module; + char *provider_name; + struct device_node *of_node; + ndctl_fn ndctl; + int (*flush_probe)(struct nvdimm_bus_descriptor *); + int (*clear_to_send)(struct nvdimm_bus_descriptor *, struct nvdimm *, unsigned int, void *); + const struct nvdimm_bus_fw_ops *fw_ops; +}; + +struct nvdimm_bus_fw_ops { + enum nvdimm_fwa_state (*activate_state)(struct nvdimm_bus_descriptor *); + enum nvdimm_fwa_capability (*capability)(struct nvdimm_bus_descriptor *); + int (*activate)(struct nvdimm_bus_descriptor *); +}; + +struct nvdimm_drvdata { + struct device *dev; + int nslabel_size; + struct nd_cmd_get_config_size nsarea; + void *data; + bool cxl; + int ns_current; + int ns_next; + struct resource dpa; + struct kref kref; +}; + +struct nvdimm_fw_ops { + enum nvdimm_fwa_state (*activate_state)(struct nvdimm *); + enum nvdimm_fwa_result (*activate_result)(struct nvdimm *); + int (*arm)(struct nvdimm *, enum nvdimm_fwa_trigger); +}; + +struct nvdimm_key_data { + u8 data[32]; +}; + +struct nvdimm_map { + struct nvdimm_bus *nvdimm_bus; + struct list_head list; + resource_size_t offset; + long unsigned int flags; + size_t size; + union { + void *mem; + void *iomem; + }; + struct kref kref; +}; + +struct nvdimm_pmu { + struct pmu pmu; + struct device *dev; + int cpu; + struct hlist_node node; + enum cpuhp_state cpuhp_state; + struct cpumask arch_cpumask; +}; + +struct nvdimm_security_ops { + long unsigned int (*get_flags)(struct nvdimm *, enum nvdimm_passphrase_type); + int (*freeze)(struct nvdimm *); + int (*change_key)(struct nvdimm *, const struct nvdimm_key_data *, const struct nvdimm_key_data *, enum nvdimm_passphrase_type); + int (*unlock)(struct nvdimm *, const struct nvdimm_key_data *); + int (*disable)(struct nvdimm *, const struct nvdimm_key_data *); + int (*erase)(struct nvdimm *, const struct nvdimm_key_data *, enum nvdimm_passphrase_type); + int (*overwrite)(struct nvdimm *, const struct nvdimm_key_data *); + int (*query_overwrite)(struct nvdimm *); + int (*disable_master)(struct nvdimm *, const struct nvdimm_key_data *); +}; + +struct nvmem_cell_entry; + +struct nvmem_cell { + struct nvmem_cell_entry *entry; + const char *id; + int index; +}; + +typedef int (*nvmem_cell_post_process_t)(void *, const char *, int, unsigned int, void *, size_t); + +struct nvmem_device; + +struct nvmem_cell_entry { + const char *name; + int offset; + size_t raw_len; + int bytes; + int bit_offset; + int nbits; + nvmem_cell_post_process_t read_post_process; + void *priv; + struct device_node *np; + struct nvmem_device *nvmem; + struct list_head node; +}; + +struct nvmem_cell_info { + const char *name; + unsigned int offset; + size_t raw_len; + unsigned int bytes; + unsigned int bit_offset; + unsigned int nbits; + struct device_node *np; + nvmem_cell_post_process_t read_post_process; + void *priv; +}; + +struct nvmem_cell_lookup { + const char *nvmem_name; + const char *cell_name; + const char *dev_id; + const char *con_id; + struct list_head node; +}; + +typedef int (*nvmem_reg_read_t)(void *, unsigned int, void *, size_t); + +typedef int (*nvmem_reg_write_t)(void *, unsigned int, void *, size_t); + +struct nvmem_keepout; + +struct nvmem_layout; + +struct nvmem_config { + struct device *dev; + const char *name; + int id; + struct module *owner; + const struct nvmem_cell_info *cells; + int ncells; + bool add_legacy_fixed_of_cells; + void (*fixup_dt_cell_info)(struct nvmem_device *, struct nvmem_cell_info *); + const struct nvmem_keepout *keepout; + unsigned int nkeepout; + enum nvmem_type type; + bool read_only; + bool root_only; + bool ignore_wp; + struct nvmem_layout *layout; + struct device_node *of_node; + nvmem_reg_read_t reg_read; + nvmem_reg_write_t reg_write; + int size; + int word_size; + int stride; + void *priv; + bool compat; + struct device *base_dev; +}; + +struct nvmem_device { + struct module *owner; + struct device dev; + struct list_head node; + int stride; + int word_size; + int id; + struct kref refcnt; + size_t size; + bool read_only; + bool root_only; + int flags; + enum nvmem_type type; + struct bin_attribute eeprom; + struct device *base_dev; + struct list_head cells; + void (*fixup_dt_cell_info)(struct nvmem_device *, struct nvmem_cell_info *); + const struct nvmem_keepout *keepout; + unsigned int nkeepout; + nvmem_reg_read_t reg_read; + nvmem_reg_write_t reg_write; + struct gpio_desc *wp_gpio; + struct nvmem_layout *layout; + void *priv; + bool sysfs_cells_populated; +}; + +struct nvmem_keepout { + unsigned int start; + unsigned int end; + unsigned char value; +}; + +struct nvmem_layout { + struct device dev; + struct nvmem_device *nvmem; + int (*add_cells)(struct nvmem_layout *); +}; + +struct nvs_page { + long unsigned int phys_start; + unsigned int size; + void *kaddr; + void *data; + bool unmap; + struct list_head node; +}; + +struct nvs_region { + __u64 phys_start; + __u64 size; + struct list_head node; +}; + +struct obj_cgroup { + struct percpu_ref refcnt; + struct mem_cgroup *memcg; + atomic_t nr_charged_bytes; + union { + struct list_head list; + struct callback_head rcu; + }; +}; + +struct obj_stock_pcp { + local_trylock_t lock; + unsigned int nr_bytes; + struct obj_cgroup *cached_objcg; + struct pglist_data *cached_pgdat; + int nr_slab_reclaimable_b; + int nr_slab_unreclaimable_b; + struct work_struct work; + long unsigned int flags; +}; + +struct objpool_head; + +typedef int (*objpool_fini_cb)(struct objpool_head *, void *); + +struct objpool_slot; + +struct objpool_head { + int obj_size; + int nr_objs; + int nr_possible_cpus; + int capacity; + gfp_t gfp; + refcount_t ref; + long unsigned int flags; + struct objpool_slot **cpu_slots; + objpool_fini_cb release; + void *context; +}; + +struct objpool_slot { + uint32_t head; + uint32_t tail; + uint32_t last; + uint32_t mask; + void *entries[0]; +}; + +struct obs_kernel_param { + const char *str; + int (*setup_func)(char *); + int early; +}; + +struct ocontext { + union { + char *name; + struct { + u8 protocol; + u16 low_port; + u16 high_port; + } port; + struct { + u32 addr; + u32 mask; + } node; + struct { + u32 addr[4]; + u32 mask[4]; + } node6; + struct { + u64 subnet_prefix; + u16 low_pkey; + u16 high_pkey; + } ibpkey; + struct { + char *dev_name; + u8 port; + } ibendport; + } u; + union { + u32 sclass; + u32 behavior; + } v; + struct context___2 context[2]; + u32 sid[2]; + struct ocontext *next; +}; + +struct octep_hp_cmd { + struct list_head list; + enum octep_hp_intr_type intr_type; + u64 intr_val; +}; + +struct octep_hp_intr_info { + enum octep_hp_intr_type type; + int number; + char name[16]; +}; + +struct octep_hp_controller { + void *base; + struct pci_dev *pdev; + struct octep_hp_intr_info intr[2]; + struct work_struct work; + struct list_head slot_list; + struct mutex slot_lock; + struct list_head hp_cmd_list; + spinlock_t hp_cmd_lock; +}; + +struct octep_hp_slot { + struct list_head list; + struct hotplug_slot slot; + u16 slot_number; + struct pci_dev *hp_pdev; + unsigned int hp_devfn; + struct octep_hp_controller *ctrl; +}; + +struct od_dbs_tuners { + unsigned int powersave_bias; +}; + +struct od_ops { + unsigned int (*powersave_bias_target)(struct cpufreq_policy *, unsigned int, unsigned int); +}; + +struct od_policy_dbs_info { + struct policy_dbs_info policy_dbs; + unsigned int freq_lo; + unsigned int freq_lo_delay_us; + unsigned int freq_hi_delay_us; + unsigned int sample_type: 1; +}; + +struct of_dev_auxdata { + char *compatible; + resource_size_t phys_addr; + char *name; + void *platform_data; +}; + +struct of_device_id { + char name[32]; + char type[32]; + char compatible[128]; + const void *data; +}; + +struct of_dma { + struct list_head of_dma_controllers; + struct device_node *of_node; + struct dma_chan * (*of_dma_xlate)(struct of_phandle_args *, struct of_dma *); + void * (*of_dma_route_allocate)(struct of_phandle_args *, struct of_dma *); + struct dma_router *dma_router; + void *of_dma_data; +}; + +struct of_pci_range { + union { + u64 pci_addr; + u64 bus_addr; + }; + u64 cpu_addr; + u64 parent_bus_addr; + u64 size; + u32 flags; +}; + +struct of_bus; + +struct of_pci_range_parser { + struct device_node *node; + const struct of_bus *bus; + const __be32 *range; + const __be32 *end; + int na; + int ns; + int pna; + bool dma; +}; + +struct of_phandle_args { + struct device_node *np; + int args_count; + uint32_t args[16]; +}; + +struct offset_ctx { + struct maple_tree mt; + long unsigned int next_offset; +}; + +struct ohci_driver_overrides { + const char *product_desc; + size_t extra_priv_size; + int (*reset)(struct usb_hcd *); +}; + +struct ohci_hcca { + __hc32 int_table[32]; + __hc32 frame_no; + __hc32 done_head; + u8 reserved_for_hc[116]; + u8 what[4]; +}; + +struct ohci_regs; + +struct ohci_hcd { + spinlock_t lock; + struct ohci_regs *regs; + struct ohci_hcca *hcca; + dma_addr_t hcca_dma; + struct ed *ed_rm_list; + struct ed *ed_bulktail; + struct ed *ed_controltail; + struct ed *periodic[32]; + void (*start_hnp)(struct ohci_hcd *); + struct dma_pool *td_cache; + struct dma_pool *ed_cache; + struct td *td_hash[64]; + struct td *dl_start; + struct td *dl_end; + struct list_head pending; + struct list_head eds_in_use; + enum ohci_rh_state rh_state; + int num_ports; + int load[32]; + u32 hc_control; + long unsigned int next_statechange; + u32 fminterval; + unsigned int autostop: 1; + unsigned int working: 1; + unsigned int restart_work: 1; + long unsigned int flags; + unsigned int prev_frame_no; + unsigned int wdh_cnt; + unsigned int prev_wdh_cnt; + u32 prev_donehead; + struct timer_list io_watchdog; + struct work_struct nec_work; + struct dentry *debug_dir; + long unsigned int priv[0]; +}; + +struct ohci_platform_priv { + struct clk *clks[4]; + struct reset_control *resets; +}; + +struct ohci_roothub_regs { + __hc32 a; + __hc32 b; + __hc32 status; + __hc32 portstatus[15]; +}; + +struct ohci_regs { + __hc32 revision; + __hc32 control; + __hc32 cmdstatus; + __hc32 intrstatus; + __hc32 intrenable; + __hc32 intrdisable; + __hc32 hcca; + __hc32 ed_periodcurrent; + __hc32 ed_controlhead; + __hc32 ed_controlcurrent; + __hc32 ed_bulkhead; + __hc32 ed_bulkcurrent; + __hc32 donehead; + __hc32 fminterval; + __hc32 fmremaining; + __hc32 fmnumber; + __hc32 periodicstart; + __hc32 lsthresh; + struct ohci_roothub_regs roothub; + long: 64; + long: 64; +}; + +struct old_timespec32 { + old_time32_t tv_sec; + s32 tv_nsec; +}; + +struct old_itimerspec32 { + struct old_timespec32 it_interval; + struct old_timespec32 it_value; +}; + +struct old_itimerval32 { + struct old_timeval32 it_interval; + struct old_timeval32 it_value; +}; + +struct old_linux_dirent { + long unsigned int d_ino; + long unsigned int d_offset; + short unsigned int d_namlen; + char d_name[0]; +}; + +struct old_serial_port { + unsigned int uart; + unsigned int baud_base; + unsigned int port; + unsigned int irq; + upf_t flags; + unsigned char io_type; + unsigned char *iomem_base; + short unsigned int iomem_reg_shift; +}; + +struct old_timex32 { + u32 modes; + s32 offset; + s32 freq; + s32 maxerror; + s32 esterror; + s32 status; + s32 constant; + s32 precision; + s32 tolerance; + struct old_timeval32 time; + s32 tick; + s32 ppsfreq; + s32 jitter; + s32 shift; + s32 stabil; + s32 jitcnt; + s32 calcnt; + s32 errcnt; + s32 stbcnt; + s32 tai; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct old_utimbuf32 { + old_time32_t actime; + old_time32_t modtime; +}; + +struct old_utsname { + char sysname[65]; + char nodename[65]; + char release[65]; + char version[65]; + char machine[65]; +}; + +struct oldold_utsname { + char sysname[9]; + char nodename[9]; + char release[9]; + char version[9]; + char machine[9]; +}; + +struct once_work { + struct work_struct work; + struct static_key_true *key; + struct module *module; +}; + +struct online_data { + unsigned int cpu; + bool online; +}; + +struct oom_control { + struct zonelist *zonelist; + nodemask_t *nodemask; + struct mem_cgroup *memcg; + const gfp_t gfp_mask; + const int order; + long unsigned int totalpages; + struct task_struct *chosen; + long int chosen_points; + enum oom_constraint constraint; +}; + +struct oom_wait_info { + struct mem_cgroup *memcg; + wait_queue_entry_t wait; +}; + +struct opal_compacket { + __be32 reserved0; + u8 extendedComID[4]; + __be32 outstandingData; + __be32 minTransfer; + __be32 length; +}; + +struct opal_data_subpacket { + u8 reserved0[6]; + __be16 kind; + __be32 length; +}; + +typedef int sec_send_recv(void *, u16, u8, void *, size_t, bool); + +struct opal_resp_tok { + const u8 *pos; + size_t len; + enum opal_response_token type; + enum opal_atom_width width; + union { + u64 u; + s64 s; + } stored; +}; + +struct parsed_resp { + int num; + struct opal_resp_tok toks[64]; +}; + +struct opal_dev { + u32 flags; + void *data; + sec_send_recv *send_recv; + struct mutex dev_lock; + u16 comid; + u32 hsn; + u32 tsn; + u64 align; + u64 lowest_lba; + u32 logical_block_size; + u8 align_required; + size_t pos; + u8 *cmd; + u8 *resp; + struct parsed_resp parsed; + size_t prev_d_len; + void *prev_data; + struct list_head unlk_lst; +}; + +struct opal_discovery { + __u64 data; + __u64 size; +}; + +struct opal_geometry { + __u8 align; + __u32 logical_block_size; + __u64 alignment_granularity; + __u64 lowest_aligned_lba; + __u8 __align[3]; +}; + +struct opal_packet { + __be32 tsn; + __be32 hsn; + __be32 seq_number; + __be16 reserved0; + __be16 ack_type; + __be32 acknowledgment; + __be32 length; +}; + +struct opal_header { + struct opal_compacket cp; + struct opal_packet pkt; + struct opal_data_subpacket subpkt; +}; + +struct opal_key { + __u8 lr; + __u8 key_len; + __u8 key_type; + __u8 __align[5]; + __u8 key[256]; +}; + +struct opal_session_info { + __u32 sum; + __u32 who; + struct opal_key opal_key; +}; + +struct opal_lock_unlock { + struct opal_session_info session; + __u32 l_state; + __u16 flags; + __u8 __align[2]; +}; + +struct opal_lr_act { + struct opal_key key; + __u32 sum; + __u8 num_lrs; + __u8 lr[9]; + __u8 align[2]; +}; + +struct opal_lr_status { + struct opal_session_info session; + __u64 range_start; + __u64 range_length; + __u32 RLE; + __u32 WLE; + __u32 l_state; + __u8 align[4]; +}; + +struct opal_mbr_data { + struct opal_key key; + __u8 enable_disable; + __u8 __align[7]; +}; + +struct opal_mbr_done { + struct opal_key key; + __u8 done_flag; + __u8 __align[7]; +}; + +struct opal_new_pw { + struct opal_session_info session; + struct opal_session_info new_user_pw; +}; + +struct opal_read_write_table { + struct opal_key key; + const __u64 data; + const __u8 table_uid[8]; + __u64 offset; + __u64 size; + __u64 flags; + __u64 priv; +}; + +struct opal_revert_lsp { + struct opal_key key; + __u32 options; + __u32 __pad; +}; + +struct opal_shadow_mbr { + struct opal_key key; + const __u64 data; + __u64 offset; + __u64 size; +}; + +struct opal_status { + __u32 flags; + __u32 reserved; +}; + +struct opal_step { + int (*fn)(struct opal_dev *, void *); + void *data; +}; + +struct opal_suspend_data { + struct opal_lock_unlock unlk; + u8 lr; + struct list_head node; +}; + +struct opal_user_lr_setup { + __u64 range_start; + __u64 range_length; + __u32 RLE; + __u32 WLE; + struct opal_session_info session; +}; + +struct open_flags { + int open_flag; + umode_t mode; + int acc_mode; + int intent; + int lookup_flags; +}; + +struct opp_config_data { + struct opp_table *opp_table; + unsigned int flags; + unsigned int required_dev_index; +}; + +struct opp_device { + struct list_head node; + const struct device *dev; + struct dentry *dentry; +}; + +struct opp_table { + struct list_head node; + struct list_head lazy; + struct blocking_notifier_head head; + struct list_head dev_list; + struct list_head opp_list; + struct kref kref; + struct mutex lock; + struct device_node *np; + long unsigned int clock_latency_ns_max; + unsigned int voltage_tolerance_v1; + unsigned int parsed_static_opps; + enum opp_table_access shared_opp; + long unsigned int current_rate_single_clk; + struct dev_pm_opp *current_opp; + struct dev_pm_opp *suspend_opp; + struct opp_table **required_opp_tables; + struct device **required_devs; + unsigned int required_opp_count; + unsigned int *supported_hw; + unsigned int supported_hw_count; + const char *prop_name; + config_clks_t config_clks; + struct clk **clks; + struct clk *clk; + int clk_count; + config_regulators_t config_regulators; + struct regulator **regulators; + int regulator_count; + struct icc_path **paths; + unsigned int path_count; + bool enabled; + bool is_genpd; + struct dentry *dentry; + char dentry_name[255]; +}; + +struct optimistic_spin_node { + struct optimistic_spin_node *next; + struct optimistic_spin_node *prev; + int locked; + int cpu; +}; + +struct optimized_kprobe { + struct kprobe kp; + struct list_head list; + struct arch_optimized_insn optinsn; +}; + +struct orlov_stats { + __u64 free_clusters; + __u32 free_inodes; + __u32 used_dirs; +}; + +struct osapsess { + uint32_t handle; + unsigned char secret[20]; + unsigned char enonce[20]; +}; + +struct osn_irq { + u64 count; + u64 arrival_time; + u64 delta_start; +}; + +struct osn_nmi { + u64 count; + u64 delta_start; +}; + +struct osn_softirq { + u64 count; + u64 arrival_time; + u64 delta_start; +}; + +struct osn_thread { + u64 count; + u64 arrival_time; + u64 delta_start; +}; + +struct osnoise_data { + u64 sample_period; + u64 sample_runtime; + u64 stop_tracing; + u64 stop_tracing_total; + u64 timerlat_period; + u64 print_stack; + int timerlat_tracer; + bool tainted; +}; + +struct osnoise_entry { + struct trace_entry ent; + u64 noise; + u64 runtime; + u64 max_sample; + unsigned int hw_count; + unsigned int nmi_count; + unsigned int irq_count; + unsigned int softirq_count; + unsigned int thread_count; +}; + +struct osnoise_instance { + struct list_head list; + struct trace_array *tr; +}; + +struct osnoise_sample { + u64 runtime; + u64 noise; + u64 max_sample; + int hw_count; + int nmi_count; + int irq_count; + int softirq_count; + int thread_count; +}; + +struct osnoise_variables { + struct task_struct *kthread; + bool sampling; + pid_t pid; + struct osn_nmi nmi; + struct osn_irq irq; + struct osn_softirq softirq; + struct osn_thread thread; + local_t int_counter; +}; + +struct out_of_bounds_data { + struct source_location location; + struct type_descriptor *array_type; + struct type_descriptor *index_type; +}; + +struct overflow_data { + struct source_location location; + struct type_descriptor *type; +}; + +struct x86_cpu_id { + __u16 vendor; + __u16 family; + __u16 model; + __u16 steppings; + __u16 feature; + __u16 flags; + __u8 type; + kernel_ulong_t driver_data; +}; + +struct override_status_id { + struct acpi_device_id hid[2]; + struct x86_cpu_id cpu_ids[2]; + struct dmi_system_id dmi_ids[2]; + const char *uid; + const char *path; + long long unsigned int status; +}; + +struct ovmf_debug_log_header { + u64 magic1; + u64 magic2; + u64 hdr_size; + u64 log_size; + u64 lock; + u64 head_off; + u64 tail_off; + u64 truncated; + u8 fw_version[128]; +}; + +struct p2sb_res_cache { + u32 bus_dev_id; + struct resource res; +}; + +struct p4_event_alias { + u64 original; + u64 alternative; +}; + +struct p4_event_bind { + unsigned int opcode; + unsigned int escr_msr[2]; + unsigned int escr_emask; + unsigned int shared; + signed char cntr[6]; +}; + +struct p4_pebs_bind { + unsigned int metric_pebs; + unsigned int metric_vert; +}; + +struct pacct_struct { + int ac_flag; + long int ac_exitcode; + long unsigned int ac_mem; + u64 ac_utime; + u64 ac_stime; + long unsigned int ac_minflt; + long unsigned int ac_majflt; +}; + +struct packed_field_u16 { + u16 startbit; + u16 endbit; + u16 offset; + u16 size; +}; + +struct packed_field_u8 { + u8 startbit; + u8 endbit; + u8 offset; + u8 size; +}; + +struct scsi_sense_hdr; + +struct packet_command { + unsigned char cmd[12]; + unsigned char *buffer; + unsigned int buflen; + int stat; + struct scsi_sense_hdr *sshdr; + unsigned char data_direction; + int quiet; + int timeout; + void *reserved[1]; +}; + +struct packet_fanout { + possible_net_t net; + unsigned int num_members; + u32 max_num_members; + u16 id; + u8 type; + u8 flags; + union { + atomic_t rr_cur; + struct bpf_prog *bpf_prog; + }; + struct list_head list; + spinlock_t lock; + refcount_t sk_ref; + long: 64; + struct packet_type prot_hook; + struct sock *arr[0]; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct packet_mclist { + struct packet_mclist *next; + int ifindex; + int count; + short unsigned int type; + short unsigned int alen; + unsigned char addr[32]; + struct list_head remove_list; +}; + +struct packet_mreq_max { + int mr_ifindex; + short unsigned int mr_type; + short unsigned int mr_alen; + unsigned char mr_address[32]; +}; + +struct pgv; + +struct tpacket_kbdq_core { + struct pgv *pkbdq; + unsigned int feature_req_word; + unsigned int hdrlen; + unsigned char reset_pending_on_curr_blk; + unsigned char delete_blk_timer; + short unsigned int kactive_blk_num; + short unsigned int blk_sizeof_priv; + short unsigned int last_kactive_blk_num; + char *pkblk_start; + char *pkblk_end; + int kblk_size; + unsigned int max_frame_len; + unsigned int knum_blocks; + uint64_t knxt_seq_num; + char *prev; + char *nxt_offset; + struct sk_buff *skb; + rwlock_t blk_fill_in_prog_lock; + short unsigned int retire_blk_tov; + short unsigned int version; + long unsigned int tov_in_jiffies; + struct timer_list retire_blk_timer; +}; + +struct packet_ring_buffer { + struct pgv *pg_vec; + unsigned int head; + unsigned int frames_per_block; + unsigned int frame_size; + unsigned int frame_max; + unsigned int pg_vec_order; + unsigned int pg_vec_pages; + unsigned int pg_vec_len; + unsigned int *pending_refcnt; + union { + long unsigned int *rx_owner_map; + struct tpacket_kbdq_core prb_bdqc; + }; +}; + +struct packet_rollover { + int sock; + atomic_long_t num; + atomic_long_t num_huge; + atomic_long_t num_failed; + long: 64; + long: 64; + long: 64; + long: 64; + u32 history[16]; +}; + +struct sockaddr_pkt { + short unsigned int spkt_family; + unsigned char spkt_device[14]; + __be16 spkt_protocol; +}; + +struct sockaddr_ll { + short unsigned int sll_family; + __be16 sll_protocol; + int sll_ifindex; + short unsigned int sll_hatype; + unsigned char sll_pkttype; + unsigned char sll_halen; + unsigned char sll_addr[8]; +}; + +struct packet_skb_cb { + union { + struct sockaddr_pkt pkt; + union { + unsigned int origlen; + struct sockaddr_ll ll; + }; + } sa; +}; + +struct tpacket_stats { + unsigned int tp_packets; + unsigned int tp_drops; +}; + +struct tpacket_stats_v3 { + unsigned int tp_packets; + unsigned int tp_drops; + unsigned int tp_freeze_q_cnt; +}; + +union tpacket_stats_u { + struct tpacket_stats stats1; + struct tpacket_stats_v3 stats3; +}; + +struct packet_sock { + struct sock sk; + struct packet_fanout *fanout; + union tpacket_stats_u stats; + struct packet_ring_buffer rx_ring; + struct packet_ring_buffer tx_ring; + int copy_thresh; + spinlock_t bind_lock; + struct mutex pg_vec_lock; + long unsigned int flags; + int ifindex; + u8 vnet_hdr_sz; + __be16 num; + struct packet_rollover *rollover; + struct packet_mclist *mclist; + atomic_long_t mapped; + enum tpacket_versions tp_version; + unsigned int tp_hdrlen; + unsigned int tp_reserve; + unsigned int tp_tstamp; + struct completion skb_completion; + struct net_device *cached_dev; + struct packet_type prot_hook; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + atomic_t tp_drops; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct padata_cpumask { + cpumask_var_t pcpu; + cpumask_var_t cbcpu; +}; + +struct padata_instance { + struct hlist_node cpu_online_node; + struct hlist_node cpu_dead_node; + struct workqueue_struct *parallel_wq; + struct workqueue_struct *serial_wq; + struct list_head pslist; + struct padata_cpumask cpumask; + struct kobject kobj; + struct mutex lock; + u8 flags; +}; + +struct padata_list { + struct list_head list; + spinlock_t lock; +}; + +struct padata_mt_job { + void (*thread_fn)(long unsigned int, long unsigned int, void *); + void *fn_arg; + long unsigned int start; + long unsigned int size; + long unsigned int align; + long unsigned int min_chunk; + int max_threads; + bool numa_aware; +}; + +struct padata_mt_job_state { + spinlock_t lock; + struct completion completion; + struct padata_mt_job *job; + int nworks; + int nworks_fini; + long unsigned int chunk_size; +}; + +struct parallel_data; + +struct padata_priv { + struct list_head list; + struct parallel_data *pd; + int cb_cpu; + unsigned int seq_nr; + int info; + void (*parallel)(struct padata_priv *); + void (*serial)(struct padata_priv *); +}; + +struct padata_serial_queue { + struct padata_list serial; + struct work_struct work; + struct parallel_data *pd; +}; + +struct padata_shell { + struct padata_instance *pinst; + struct parallel_data *pd; + struct parallel_data *opd; + struct list_head list; +}; + +struct padata_sysfs_entry { + struct attribute attr; + ssize_t (*show)(struct padata_instance *, struct attribute *, char *); + ssize_t (*store)(struct padata_instance *, struct attribute *, const char *, size_t); +}; + +struct padata_work { + struct work_struct pw_work; + struct list_head pw_list; + void *pw_data; +}; + +typedef struct page *pgtable_t; + +struct printf_spec; + +struct page_flags_fields { + int width; + int shift; + int mask; + const struct printf_spec *spec; + const char *name; +}; + +struct page_list { + struct page_list *next; + struct page *page; +}; + +struct page_pool_params_fast { + unsigned int order; + unsigned int pool_size; + int nid; + struct device *dev; + struct napi_struct *napi; + enum dma_data_direction dma_dir; + unsigned int max_len; + unsigned int offset; +}; + +struct page_pool_alloc_stats { + u64 fast; + u64 slow; + u64 slow_high_order; + u64 empty; + u64 refill; + u64 waive; +}; + +struct pp_alloc_cache { + u32 count; + netmem_ref cache[128]; +}; + +struct ptr_ring { + int producer; + spinlock_t producer_lock; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + int consumer_head; + int consumer_tail; + spinlock_t consumer_lock; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + int size; + int batch; + void **queue; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct page_pool_params_slow { + struct net_device *netdev; + unsigned int queue_idx; + unsigned int flags; + void (*init_callback)(netmem_ref, void *); + void *init_arg; +}; + +struct page_pool_recycle_stats; + +struct page_pool { + struct page_pool_params_fast p; + int cpuid; + u32 pages_state_hold_cnt; + bool has_init_callback: 1; + bool dma_map: 1; + bool dma_sync: 1; + bool dma_sync_for_cpu: 1; + bool system: 1; + long: 0; + __u8 __cacheline_group_begin__frag[0]; + long int frag_users; + netmem_ref frag_page; + unsigned int frag_offset; + long: 0; + __u8 __cacheline_group_end__frag[0]; + long: 64; + struct {} __cacheline_group_pad__frag; + struct delayed_work release_dw; + void (*disconnect)(void *); + long unsigned int defer_start; + long unsigned int defer_warn; + struct page_pool_alloc_stats alloc_stats; + u32 xdp_mem_id; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + struct pp_alloc_cache alloc; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + struct ptr_ring ring; + void *mp_priv; + const struct memory_provider_ops *mp_ops; + struct xarray dma_mapped; + struct page_pool_recycle_stats *recycle_stats; + atomic_t pages_state_release_cnt; + refcount_t user_cnt; + u64 destroy_cnt; + struct page_pool_params_slow slow; + struct { + struct hlist_node list; + u64 detach_time; + u32 id; + } user; + long: 64; +}; + +struct page_pool_bh { + struct page_pool *pool; + local_lock_t bh_lock; +}; + +struct page_pool_dump_cb { + long unsigned int ifindex; + u32 pp_id; +}; + +struct page_pool_params { + union { + struct { + unsigned int order; + unsigned int pool_size; + int nid; + struct device *dev; + struct napi_struct *napi; + enum dma_data_direction dma_dir; + unsigned int max_len; + unsigned int offset; + }; + struct page_pool_params_fast fast; + }; + union { + struct { + struct net_device *netdev; + unsigned int queue_idx; + unsigned int flags; + void (*init_callback)(netmem_ref, void *); + void *init_arg; + }; + struct page_pool_params_slow slow; + }; +}; + +struct page_pool_recycle_stats { + u64 cached; + u64 cache_full; + u64 ring; + u64 ring_full; + u64 released_refcnt; +}; + +struct page_pool_stats { + struct page_pool_alloc_stats alloc_stats; + struct page_pool_recycle_stats recycle_stats; +}; + +struct page_region { + __u64 start; + __u64 end; + __u64 categories; +}; + +struct page_reporting_dev_info { + int (*report)(struct page_reporting_dev_info *, struct scatterlist *, unsigned int); + struct delayed_work work; + atomic_t state; + unsigned int order; +}; + +struct page_req_dsc { + union { + struct { + u64 type: 8; + u64 pasid_present: 1; + u64 rsvd: 7; + u64 rid: 16; + u64 pasid: 20; + u64 exe_req: 1; + u64 pm_req: 1; + u64 rsvd2: 10; + }; + u64 qw_0; + }; + union { + struct { + u64 rd_req: 1; + u64 wr_req: 1; + u64 lpig: 1; + u64 prg_index: 9; + u64 addr: 52; + }; + u64 qw_1; + }; + u64 qw_2; + u64 qw_3; +}; + +struct page_snapshot { + struct folio folio_snapshot; + struct page page_snapshot; + long unsigned int pfn; + long unsigned int idx; + long unsigned int flags; + long: 64; +}; + +struct page_state { + long unsigned int mask; + long unsigned int res; + enum mf_action_page_type type; + int (*action)(struct page_state *, struct page *); +}; + +struct page_vma_mapped_walk { + long unsigned int pfn; + long unsigned int nr_pages; + long unsigned int pgoff; + struct vm_area_struct *vma; + long unsigned int address; + pmd_t *pmd; + pte_t *pte; + spinlock_t *ptl; + unsigned int flags; +}; + +struct pm_scan_arg { + __u64 size; + __u64 flags; + __u64 start; + __u64 end; + __u64 walk_end; + __u64 vec; + __u64 vec_len; + __u64 max_pages; + __u64 category_inverted; + __u64 category_mask; + __u64 category_anyof_mask; + __u64 return_mask; +}; + +struct pagemap_scan_private { + struct pm_scan_arg arg; + long unsigned int masks_of_interest; + long unsigned int cur_vma_category; + struct page_region *vec_buf; + long unsigned int vec_buf_len; + long unsigned int vec_buf_index; + long unsigned int found_pages; + struct page_region *vec_out; +}; + +struct pagemapread { + int pos; + int len; + pagemap_entry_t *buffer; + bool show_pfn; +}; + +struct pagerange_state { + long unsigned int cur_pfn; + int ram; + int not_ram; +}; + +struct pages_devres { + long unsigned int addr; + unsigned int order; +}; + +struct pages_or_folios { + union { + struct page **pages; + struct folio **folios; + void **entries; + }; + bool has_folios; + long int nr_entries; +}; + +struct pagetable_move_control { + struct vm_area_struct *old; + struct vm_area_struct *new; + long unsigned int old_addr; + long unsigned int old_end; + long unsigned int new_addr; + long unsigned int len_in; + bool need_rmap_locks; + bool for_stack; +}; + +struct palmas_gpadc; + +struct palmas_pmic_driver_data; + +struct palmas_pmic; + +struct palmas_resource; + +struct palmas_usb; + +struct palmas { + struct device *dev; + struct i2c_client *i2c_clients[3]; + struct regmap *regmap[3]; + int id; + unsigned int features; + int irq; + u32 irq_mask; + struct mutex irq_lock; + struct regmap_irq_chip_data *irq_data; + struct palmas_pmic_driver_data *pmic_ddata; + struct palmas_pmic *pmic; + struct palmas_gpadc *gpadc; + struct palmas_resource *resource; + struct palmas_usb *usb; + u8 gpio_muxed; + u8 led_muxed; + u8 pwm_muxed; +}; + +struct palmas_clk_platform_data { + int clk32kg_mode_sleep; + int clk32kgaudio_mode_sleep; +}; + +struct palmas_device_data { + int ngpio; +}; + +struct palmas_driver_data { + unsigned int features; + const struct regmap_irq_chip *irq_chip; +}; + +struct palmas_gpadc_platform_data { + int ch3_current; + int ch0_current; + bool extended_delay; + int bat_removal; + int start_polarity; + int auto_conversion_period_ms; +}; + +struct palmas_gpio { + struct gpio_chip gpio_chip; + struct palmas *palmas; +}; + +struct palmas_pmic_platform_data; + +struct palmas_usb_platform_data; + +struct palmas_resource_platform_data; + +struct palmas_platform_data { + int irq_flags; + int gpio_base; + u8 power_ctrl; + int mux_from_pdata; + u8 pad1; + u8 pad2; + bool pm_off; + struct palmas_pmic_platform_data *pmic_pdata; + struct palmas_gpadc_platform_data *gpadc_pdata; + struct palmas_usb_platform_data *usb_pdata; + struct palmas_resource_platform_data *resource_pdata; + struct palmas_clk_platform_data *clk_pdata; +}; + +struct regulator_config; + +struct regulator_ops; + +struct regulator_desc { + const char *name; + const char *supply_name; + const char *of_match; + bool of_match_full_name; + const char *regulators_node; + int (*of_parse_cb)(struct device_node *, const struct regulator_desc *, struct regulator_config *); + int (*init_cb)(struct regulator_dev *, struct regulator_config *); + int id; + unsigned int continuous_voltage_range: 1; + unsigned int n_voltages; + unsigned int n_current_limits; + const struct regulator_ops *ops; + int irq; + enum regulator_type type; + struct module *owner; + unsigned int min_uV; + unsigned int uV_step; + unsigned int linear_min_sel; + int fixed_uV; + unsigned int ramp_delay; + int min_dropout_uV; + const struct linear_range *linear_ranges; + const unsigned int *linear_range_selectors_bitfield; + int n_linear_ranges; + const unsigned int *volt_table; + const unsigned int *curr_table; + unsigned int vsel_range_reg; + unsigned int vsel_range_mask; + bool range_applied_by_vsel; + unsigned int vsel_reg; + unsigned int vsel_mask; + unsigned int vsel_step; + unsigned int csel_reg; + unsigned int csel_mask; + unsigned int apply_reg; + unsigned int apply_bit; + unsigned int enable_reg; + unsigned int enable_mask; + unsigned int enable_val; + unsigned int disable_val; + bool enable_is_inverted; + unsigned int bypass_reg; + unsigned int bypass_mask; + unsigned int bypass_val_on; + unsigned int bypass_val_off; + unsigned int active_discharge_on; + unsigned int active_discharge_off; + unsigned int active_discharge_mask; + unsigned int active_discharge_reg; + unsigned int soft_start_reg; + unsigned int soft_start_mask; + unsigned int soft_start_val_on; + unsigned int pull_down_reg; + unsigned int pull_down_mask; + unsigned int pull_down_val_on; + unsigned int ramp_reg; + unsigned int ramp_mask; + const unsigned int *ramp_delay_table; + unsigned int n_ramp_values; + unsigned int enable_time; + unsigned int off_on_delay; + unsigned int poll_enabled_time; + unsigned int (*of_map_mode)(unsigned int); +}; + +struct palmas_pmic { + struct palmas *palmas; + struct device *dev; + struct regulator_desc desc[27]; + struct mutex mutex; + int smps123; + int smps457; + int smps12; + int range[10]; + unsigned int ramp_delay[10]; + unsigned int current_reg_mode[10]; +}; + +struct of_regulator_match; + +struct palmas_regs_info; + +struct palmas_sleep_requestor_info; + +struct palmas_pmic_driver_data { + int smps_start; + int smps_end; + int ldo_begin; + int ldo_end; + int max_reg; + bool has_regen3; + struct palmas_regs_info *palmas_regs_info; + struct of_regulator_match *palmas_matches; + struct palmas_sleep_requestor_info *sleep_req_info; + int (*smps_register)(struct palmas_pmic *, struct palmas_pmic_driver_data *, struct palmas_pmic_platform_data *, const char *, struct regulator_config); + int (*ldo_register)(struct palmas_pmic *, struct palmas_pmic_driver_data *, struct palmas_pmic_platform_data *, const char *, struct regulator_config); +}; + +struct palmas_reg_init; + +struct palmas_pmic_platform_data { + struct regulator_init_data *reg_data[27]; + struct palmas_reg_init *reg_init[27]; + int ldo6_vibrator; + bool enable_ldo8_tracking; +}; + +struct palmas_reg_init { + int warm_reset; + int roof_floor; + int mode_sleep; + u8 vsel; +}; + +struct palmas_regs_info { + const char *name; + const char *sname; + u8 vsel_addr; + u8 ctrl_addr; + u8 tstep_addr; + int sleep_id; +}; + +struct palmas_resource { + struct palmas *palmas; + struct device *dev; +}; + +struct palmas_resource_platform_data { + int regen1_mode_sleep; + int regen2_mode_sleep; + int sysen1_mode_sleep; + int sysen2_mode_sleep; + u8 nsleep_res; + u8 nsleep_smps; + u8 nsleep_ldo1; + u8 nsleep_ldo2; + u8 enable1_res; + u8 enable1_smps; + u8 enable1_ldo1; + u8 enable1_ldo2; + u8 enable2_res; + u8 enable2_smps; + u8 enable2_ldo1; + u8 enable2_ldo2; +}; + +struct palmas_sleep_requestor_info { + int id; + int reg_offset; + int bit_pos; +}; + +struct palmas_usb { + struct palmas *palmas; + struct device *dev; + struct extcon_dev *edev; + int id_otg_irq; + int id_irq; + int vbus_otg_irq; + int vbus_irq; + int gpio_id_irq; + int gpio_vbus_irq; + struct gpio_desc *id_gpiod; + struct gpio_desc *vbus_gpiod; + long unsigned int sw_debounce_jiffies; + struct delayed_work wq_detectid; + enum palmas_usb_state linkstat; + int wakeup; + bool enable_vbus_detection; + bool enable_id_detection; + bool enable_gpio_id_detection; + bool enable_gpio_vbus_detection; +}; + +struct palmas_usb_platform_data { + int wakeup; +}; + +struct panel_bridge { + struct drm_bridge bridge; + struct drm_connector connector; + struct drm_panel *panel; + u32 connector_type; +}; + +struct parallel_data { + struct padata_shell *ps; + struct padata_list *reorder_list; + struct padata_serial_queue *squeue; + refcount_t refcnt; + unsigned int seq_nr; + unsigned int processed; + int cpu; + struct padata_cpumask cpumask; +}; + +struct thermal_genl_cpu_caps; + +struct param { + struct nlattr **attrs; + struct sk_buff *msg; + const char *name; + int tz_id; + int cdev_id; + int trip_id; + int trip_temp; + int trip_type; + int trip_hyst; + int temp; + int prev_temp; + int direction; + int cdev_state; + int cdev_max_state; + struct thermal_genl_cpu_caps *cpu_capabilities; + int cpu_capabilities_count; +}; + +struct paravirt_callee_save { + void *func; +}; + +struct thread_struct; + +struct pv_cpu_ops { + void (*io_delay)(void); + long unsigned int (*get_debugreg)(int); + void (*set_debugreg)(int, long unsigned int); + long unsigned int (*read_cr0)(void); + void (*write_cr0)(long unsigned int); + void (*write_cr4)(long unsigned int); + void (*load_tr_desc)(void); + void (*load_gdt)(const struct desc_ptr *); + void (*load_idt)(const struct desc_ptr *); + void (*set_ldt)(const void *, unsigned int); + long unsigned int (*store_tr)(void); + void (*load_tls)(struct thread_struct *, unsigned int); + void (*load_gs_index)(unsigned int); + void (*write_ldt_entry)(struct desc_struct *, int, const void *); + void (*write_gdt_entry)(struct desc_struct *, int, const void *, int); + void (*write_idt_entry)(gate_desc *, int, const gate_desc *); + void (*alloc_ldt)(struct desc_struct *, unsigned int); + void (*free_ldt)(struct desc_struct *, unsigned int); + void (*load_sp0)(long unsigned int); + void (*invalidate_io_bitmap)(void); + void (*update_io_bitmap)(void); + void (*cpuid)(unsigned int *, unsigned int *, unsigned int *, unsigned int *); + u64 (*read_msr)(u32); + void (*write_msr)(u32, u64); + int (*read_msr_safe)(u32, u64 *); + int (*write_msr_safe)(u32, u64); + u64 (*read_pmc)(int); + void (*start_context_switch)(struct task_struct *); + void (*end_context_switch)(struct task_struct *); +}; + +struct pv_irq_ops { + struct paravirt_callee_save save_fl; + struct paravirt_callee_save irq_disable; + struct paravirt_callee_save irq_enable; + void (*safe_halt)(void); + void (*halt)(void); +}; + +struct pv_lazy_ops { + void (*enter)(void); + void (*leave)(void); + void (*flush)(void); +}; + +struct pv_mmu_ops { + void (*flush_tlb_user)(void); + void (*flush_tlb_kernel)(void); + void (*flush_tlb_one_user)(long unsigned int); + void (*flush_tlb_multi)(const struct cpumask *, const struct flush_tlb_info *); + void (*exit_mmap)(struct mm_struct *); + void (*notify_page_enc_status_changed)(long unsigned int, int, bool); + struct paravirt_callee_save read_cr2; + void (*write_cr2)(long unsigned int); + long unsigned int (*read_cr3)(void); + void (*write_cr3)(long unsigned int); + void (*enter_mmap)(struct mm_struct *); + int (*pgd_alloc)(struct mm_struct *); + void (*pgd_free)(struct mm_struct *, pgd_t *); + void (*alloc_pte)(struct mm_struct *, long unsigned int); + void (*alloc_pmd)(struct mm_struct *, long unsigned int); + void (*alloc_pud)(struct mm_struct *, long unsigned int); + void (*alloc_p4d)(struct mm_struct *, long unsigned int); + void (*release_pte)(long unsigned int); + void (*release_pmd)(long unsigned int); + void (*release_pud)(long unsigned int); + void (*release_p4d)(long unsigned int); + void (*set_pte)(pte_t *, pte_t); + void (*set_pmd)(pmd_t *, pmd_t); + pte_t (*ptep_modify_prot_start)(struct vm_area_struct *, long unsigned int, pte_t *); + void (*ptep_modify_prot_commit)(struct vm_area_struct *, long unsigned int, pte_t *, pte_t); + struct paravirt_callee_save pte_val; + struct paravirt_callee_save make_pte; + struct paravirt_callee_save pgd_val; + struct paravirt_callee_save make_pgd; + void (*set_pud)(pud_t *, pud_t); + struct paravirt_callee_save pmd_val; + struct paravirt_callee_save make_pmd; + struct paravirt_callee_save pud_val; + struct paravirt_callee_save make_pud; + void (*set_p4d)(p4d_t *, p4d_t); + struct paravirt_callee_save p4d_val; + struct paravirt_callee_save make_p4d; + void (*set_pgd)(pgd_t *, pgd_t); + struct pv_lazy_ops lazy_mode; + void (*set_fixmap)(unsigned int, phys_addr_t, pgprot_t); +}; + +struct pv_lock_ops { + void (*queued_spin_lock_slowpath)(struct qspinlock *, u32); + struct paravirt_callee_save queued_spin_unlock; + void (*wait)(u8 *, u8); + void (*kick)(int); + struct paravirt_callee_save vcpu_is_preempted; +}; + +struct paravirt_patch_template { + struct pv_cpu_ops cpu; + struct pv_irq_ops irq; + struct pv_mmu_ops mmu; + struct pv_lock_ops lock; +}; + +struct parsed_desc { + u32 mb; + u32 valid; +}; + +struct partition_meta_info { + char uuid[37]; + u8 volname[64]; +}; + +struct parsed_partitions { + struct gendisk *disk; + char name[32]; + struct { + sector_t from; + sector_t size; + int flags; + bool has_info; + struct partition_meta_info info; + } *parts; + int next; + int limit; + bool access_beyond_eod; + char *pp_buf; +}; + +struct partial_cluster { + ext4_fsblk_t pclu; + ext4_lblk_t lblk; + enum { + initial = 0, + tofree = 1, + nofree = 2, + } state; +}; + +struct partial_context { + gfp_t flags; + unsigned int orig_size; + void *object; +}; + +struct partial_page { + unsigned int offset; + unsigned int len; + long unsigned int private; +}; + +struct partition_info { + u8 flg; + char id[3]; + __be32 st; + __be32 siz; +}; + +union partition_info_u { + u64 val; + struct { + u64 hub_version: 8; + u64 partition_id: 16; + u64 coherence_id: 16; + u64 region_size: 24; + }; +}; + +struct pasid_dir_entry { + u64 val; +}; + +struct pasid_entry { + u64 val[8]; +}; + +struct pasid_table { + void *table; + u32 max_pasid; +}; + +struct patch_digest { + u32 patch_id; + u8 sha256[32]; +}; + +struct path_cond { + kuid_t uid; + umode_t mode; +}; + +struct pause_reply_data { + struct ethnl_reply_data base; + struct ethtool_pauseparam pauseparam; + struct ethtool_pause_stats pausestat; +}; + +struct pause_req_info { + struct ethnl_req_info base; + enum ethtool_mac_stats_src src; +}; + +struct pbe { + void *address; + void *orig_address; + struct pbe *next; +}; + +struct pcap_adc_request { + u8 bank; + u8 ch[2]; + u32 flags; + void (*callback)(void *, u16 *); + void *data; +}; + +struct spi_device; + +struct pcap_chip { + struct spi_device *spi; + u32 buf; + spinlock_t io_lock; + unsigned int irq_base; + u32 msr; + struct work_struct isr_work; + struct work_struct msr_work; + struct workqueue_struct *workqueue; + struct pcap_adc_request *adc_queue[8]; + u8 adc_head; + u8 adc_tail; + spinlock_t adc_lock; +}; + +struct pcap_subdev; + +struct pcap_platform_data { + unsigned int irq_base; + unsigned int config; + int gpio; + void (*init)(void *); + int num_subdevs; + struct pcap_subdev *subdevs; +}; + +struct pcap_subdev { + int id; + const char *name; + void *platform_data; +}; + +struct pcc_mbox_chan { + struct mbox_chan *mchan; + u64 shmem_base_addr; + void *shmem; + u64 shmem_size; + u32 latency; + u32 max_access_rate; + u16 min_turnaround_time; + bool manage_writes; + void * (*rx_alloc)(struct mbox_client *, int); +}; + +struct pcc_chan_reg { + void *vaddr; + struct acpi_generic_address *gas; + u64 preserve_mask; + u64 set_mask; + u64 status_mask; +}; + +struct pcc_chan_info { + struct pcc_mbox_chan chan; + struct pcc_chan_reg db; + struct pcc_chan_reg plat_irq_ack; + struct pcc_chan_reg cmd_complete; + struct pcc_chan_reg cmd_update; + struct pcc_chan_reg error; + int plat_irq; + u8 type; + unsigned int plat_irq_flags; + bool chan_in_use; +}; + +struct pcc_cpu { + u32 input_offset; + u32 output_offset; +}; + +struct pcc_data { + struct pcc_mbox_chan *pcc_chan; + struct completion done; + struct mbox_client cl; + struct acpi_pcc_info ctx; +}; + +struct pcc_header { + u32 signature; + u32 flags; + u32 length; + u32 command; +}; + +struct pcc_header___2 { + u32 signature; + u16 length; + u8 major; + u8 minor; + u32 features; + u16 command; + u16 status; + u32 latency; + u32 minimum_time; + u32 maximum_time; + u32 nominal; + u32 throttled_frequency; + u32 minimum_frequency; +}; + +struct pcc_memory_resource { + u8 descriptor; + u16 length; + u8 space_id; + u8 resource_usage; + u8 type_specific; + u64 granularity; + u64 minimum; + u64 maximum; + u64 translation_offset; + u64 address_length; +} __attribute__((packed)); + +struct pcc_register_resource { + u8 descriptor; + u16 length; + u8 space_id; + u8 bit_width; + u8 bit_offset; + u8 access_size; + u64 address; +} __attribute__((packed)); + +struct pci2phy_map { + struct list_head list; + int segment; + int pbus_to_dieid[256]; +}; + +struct pci_acs { + u16 cap; + u16 ctrl; + u16 fw_ctrl; +}; + +struct pci_bits { + unsigned int reg; + unsigned int width; + long unsigned int mask; + long unsigned int val; +}; + +struct pci_bus { + struct list_head node; + struct pci_bus *parent; + struct list_head children; + struct list_head devices; + struct pci_dev *self; + struct list_head slots; + struct resource *resource[4]; + struct list_head resources; + struct resource busn_res; + struct pci_ops *ops; + void *sysdata; + struct proc_dir_entry *procdir; + unsigned char number; + unsigned char primary; + unsigned char max_bus_speed; + unsigned char cur_bus_speed; + char name[48]; + short unsigned int bridge_ctl; + pci_bus_flags_t bus_flags; + struct device *bridge; + struct device dev; + struct bin_attribute *legacy_io; + struct bin_attribute *legacy_mem; + unsigned int is_added: 1; + unsigned int unsafe_warn: 1; + unsigned int flit_mode: 1; +}; + +struct pci_bus_region { + pci_bus_addr_t start; + pci_bus_addr_t end; +}; + +struct pci_bus_resource { + struct list_head list; + struct resource *res; +}; + +struct pci_cap_saved_data { + u16 cap_nr; + bool cap_extended; + unsigned int size; + u32 data[0]; +}; + +struct pci_cap_saved_state { + struct hlist_node next; + struct pci_cap_saved_data cap; +}; + +struct pci_check_idx_range { + int start; + int end; +}; + +struct pci_vpd { + struct mutex lock; + unsigned int len; + u8 cap; +}; + +struct rcec_ea; + +struct pcie_link_state; + +struct pcie_bwctrl_data; + +struct pci_sriov; + +struct pci_p2pdma; + +struct pci_dev { + struct list_head bus_list; + struct pci_bus *bus; + struct pci_bus *subordinate; + void *sysdata; + struct proc_dir_entry *procent; + struct pci_slot *slot; + unsigned int devfn; + short unsigned int vendor; + short unsigned int device; + short unsigned int subsystem_vendor; + short unsigned int subsystem_device; + unsigned int class; + u8 revision; + u8 hdr_type; + u16 aer_cap; + struct aer_info *aer_info; + struct rcec_ea *rcec_ea; + struct pci_dev *rcec; + u32 devcap; + u16 rebar_cap; + u8 pcie_cap; + u8 msi_cap; + u8 msix_cap; + u8 pcie_mpss: 3; + u8 rom_base_reg; + u8 pin; + u16 pcie_flags_reg; + long unsigned int *dma_alias_mask; + struct pci_driver *driver; + u64 dma_mask; + struct device_dma_parameters dma_parms; + pci_power_t current_state; + u8 pm_cap; + unsigned int pme_support: 5; + unsigned int pme_poll: 1; + unsigned int pinned: 1; + unsigned int config_rrs_sv: 1; + unsigned int imm_ready: 1; + unsigned int d1_support: 1; + unsigned int d2_support: 1; + unsigned int no_d1d2: 1; + unsigned int no_d3cold: 1; + unsigned int bridge_d3: 1; + unsigned int d3cold_allowed: 1; + unsigned int mmio_always_on: 1; + unsigned int wakeup_prepared: 1; + unsigned int skip_bus_pm: 1; + unsigned int ignore_hotplug: 1; + unsigned int hotplug_user_indicators: 1; + unsigned int clear_retrain_link: 1; + unsigned int d3hot_delay; + unsigned int d3cold_delay; + u16 l1ss; + struct pcie_link_state *link_state; + unsigned int ltr_path: 1; + unsigned int pasid_no_tlp: 1; + unsigned int eetlp_prefix_max: 3; + pci_channel_state_t error_state; + struct device dev; + int cfg_size; + unsigned int irq; + struct resource resource[17]; + struct resource driver_exclusive_resource; + unsigned int transparent: 1; + unsigned int io_window: 1; + unsigned int pref_window: 1; + unsigned int pref_64_window: 1; + unsigned int multifunction: 1; + unsigned int is_busmaster: 1; + unsigned int no_msi: 1; + unsigned int no_64bit_msi: 1; + unsigned int block_cfg_access: 1; + unsigned int broken_parity_status: 1; + unsigned int irq_reroute_variant: 2; + unsigned int msi_enabled: 1; + unsigned int msix_enabled: 1; + unsigned int ari_enabled: 1; + unsigned int ats_enabled: 1; + unsigned int pasid_enabled: 1; + unsigned int pri_enabled: 1; + unsigned int tph_enabled: 1; + unsigned int is_managed: 1; + unsigned int is_msi_managed: 1; + unsigned int needs_freset: 1; + unsigned int state_saved: 1; + unsigned int is_physfn: 1; + unsigned int is_virtfn: 1; + unsigned int is_hotplug_bridge: 1; + unsigned int is_pciehp: 1; + unsigned int shpc_managed: 1; + unsigned int is_thunderbolt: 1; + unsigned int untrusted: 1; + unsigned int external_facing: 1; + unsigned int broken_intx_masking: 1; + unsigned int io_window_1k: 1; + unsigned int irq_managed: 1; + unsigned int non_compliant_bars: 1; + unsigned int is_probed: 1; + unsigned int link_active_reporting: 1; + unsigned int no_vf_scan: 1; + unsigned int no_command_memory: 1; + unsigned int rom_bar_overlap: 1; + unsigned int rom_attr_enabled: 1; + unsigned int non_mappable_bars: 1; + unsigned int aspm_os_control: 1; + pci_dev_flags_t dev_flags; + atomic_t enable_cnt; + spinlock_t pcie_cap_lock; + u32 saved_config_space[16]; + struct hlist_head saved_cap_space; + struct bin_attribute *res_attr[17]; + struct bin_attribute *res_attr_wc[17]; + unsigned int broken_cmd_compl: 1; + u16 ptm_cap; + unsigned int ptm_root: 1; + unsigned int ptm_enabled: 1; + u8 ptm_granularity; + void *msix_base; + raw_spinlock_t msi_lock; + struct pci_vpd vpd; + u16 dpc_cap; + unsigned int dpc_rp_extensions: 1; + u8 dpc_rp_log_size; + struct pcie_bwctrl_data *link_bwctrl; + union { + struct pci_sriov *sriov; + struct pci_dev *physfn; + }; + u16 ats_cap; + u8 ats_stu; + u16 pri_cap; + u32 pri_reqs_alloc; + unsigned int pasid_required: 1; + u16 pasid_cap; + u16 pasid_features; + struct pci_p2pdma *p2pdma; + struct xarray doe_mbs; + struct npem *npem; + u16 acs_cap; + u8 supported_speeds; + phys_addr_t rom; + size_t romlen; + const char *driver_override; + long unsigned int priv_flags; + u8 reset_methods[8]; + u16 tph_cap; + u8 tph_mode; + u8 tph_req_type; +}; + +struct pci_dev_acs_enabled { + u16 vendor; + u16 device; + int (*acs_enabled)(struct pci_dev *, u16); +}; + +struct pci_dev_acs_ops { + u16 vendor; + u16 device; + int (*enable_acs)(struct pci_dev *); + int (*disable_acs_redir)(struct pci_dev *); +}; + +struct pci_dev_reset_methods { + u16 vendor; + u16 device; + int (*reset)(struct pci_dev *, bool); +}; + +struct pci_dev_resource { + struct list_head list; + struct resource *res; + struct pci_dev *dev; + resource_size_t start; + resource_size_t end; + resource_size_t add_size; + resource_size_t min_align; + long unsigned int flags; +}; + +struct pci_device_id { + __u32 vendor; + __u32 device; + __u32 subvendor; + __u32 subdevice; + __u32 class; + __u32 class_mask; + kernel_ulong_t driver_data; + __u32 override_only; +}; + +struct physdev_pci_device { + uint16_t seg; + uint8_t bus; + uint8_t devfn; +}; + +struct pci_device_reset { + struct physdev_pci_device dev; + uint32_t flags; +}; + +struct pci_doe_feature { + u16 vid; + u8 type; +}; + +struct pci_doe_mb { + struct pci_dev *pdev; + u16 cap_offset; + struct xarray feats; + wait_queue_head_t wq; + struct workqueue_struct *work_queue; + long unsigned int flags; + struct device_attribute *sysfs_attrs; +}; + +struct pci_doe_task { + struct pci_doe_feature feat; + const __le32 *request_pl; + size_t request_pl_sz; + __le32 *response_pl; + size_t response_pl_sz; + int rv; + void (*complete)(struct pci_doe_task *); + void *private; + struct work_struct work; + struct pci_doe_mb *doe_mb; +}; + +struct pci_domain_busn_res { + struct list_head list; + struct resource res; + int domain_nr; +}; + +struct pci_dynids { + spinlock_t lock; + struct list_head list; +}; + +struct pci_error_handlers; + +struct pci_driver { + const char *name; + const struct pci_device_id *id_table; + int (*probe)(struct pci_dev *, const struct pci_device_id *); + void (*remove)(struct pci_dev *); + int (*suspend)(struct pci_dev *, pm_message_t); + int (*resume)(struct pci_dev *); + void (*shutdown)(struct pci_dev *); + int (*sriov_configure)(struct pci_dev *, int); + int (*sriov_set_msix_vec_count)(struct pci_dev *, int); + u32 (*sriov_get_vf_total_msix)(struct pci_dev *); + const struct pci_error_handlers *err_handler; + const struct attribute_group **groups; + const struct attribute_group **dev_groups; + struct device_driver driver; + struct pci_dynids dynids; + bool driver_managed_dma; +}; + +struct pci_dynid { + struct list_head node; + struct pci_device_id id; +}; + +struct pci_epc_ops; + +struct pci_epc_mem; + +struct pci_epc { + struct device dev; + struct list_head pci_epf; + struct mutex list_lock; + const struct pci_epc_ops *ops; + struct pci_epc_mem **windows; + struct pci_epc_mem *mem; + unsigned int num_windows; + u8 max_functions; + u8 *max_vfs; + struct config_group *group; + struct mutex lock; + long unsigned int function_num_map; + int domain_nr; + bool init_complete; +}; + +struct pci_epc_bar_desc { + enum pci_epc_bar_type type; + u64 fixed_size; + bool only_64bit; +}; + +struct pci_epf; + +struct pci_epc_event_ops { + int (*epc_init)(struct pci_epf *); + void (*epc_deinit)(struct pci_epf *); + int (*link_up)(struct pci_epf *); + int (*link_down)(struct pci_epf *); + int (*bus_master_enable)(struct pci_epf *); +}; + +struct pci_epc_features { + unsigned int linkup_notifier: 1; + unsigned int msi_capable: 1; + unsigned int msix_capable: 1; + unsigned int intx_capable: 1; + struct pci_epc_bar_desc bar[6]; + size_t align; +}; + +struct pci_epc_group { + struct config_group group; + struct pci_epc *epc; + bool start; +}; + +struct pci_epc_map { + u64 pci_addr; + size_t pci_size; + u64 map_pci_addr; + size_t map_size; + phys_addr_t phys_base; + phys_addr_t phys_addr; + void *virt_base; + void *virt_addr; +}; + +struct pci_epc_mem_window { + phys_addr_t phys_base; + size_t size; + size_t page_size; +}; + +struct pci_epc_mem { + struct pci_epc_mem_window window; + long unsigned int *bitmap; + int pages; + struct mutex lock; +}; + +struct pci_epf_header; + +struct pci_epc_ops { + int (*write_header)(struct pci_epc *, u8, u8, struct pci_epf_header *); + int (*set_bar)(struct pci_epc *, u8, u8, struct pci_epf_bar *); + void (*clear_bar)(struct pci_epc *, u8, u8, struct pci_epf_bar *); + u64 (*align_addr)(struct pci_epc *, u64, size_t *, size_t *); + int (*map_addr)(struct pci_epc *, u8, u8, phys_addr_t, u64, size_t); + void (*unmap_addr)(struct pci_epc *, u8, u8, phys_addr_t); + int (*set_msi)(struct pci_epc *, u8, u8, u8); + int (*get_msi)(struct pci_epc *, u8, u8); + int (*set_msix)(struct pci_epc *, u8, u8, u16, enum pci_barno, u32); + int (*get_msix)(struct pci_epc *, u8, u8); + int (*raise_irq)(struct pci_epc *, u8, u8, unsigned int, u16); + int (*map_msi_irq)(struct pci_epc *, u8, u8, phys_addr_t, u8, u32, u32 *, u32 *); + int (*start)(struct pci_epc *); + void (*stop)(struct pci_epc *); + const struct pci_epc_features * (*get_features)(struct pci_epc *, u8, u8); + struct module *owner; +}; + +struct pci_epf_bar { + dma_addr_t phys_addr; + void *addr; + size_t size; + size_t aligned_size; + enum pci_barno barno; + int flags; +}; + +struct pci_epf_driver; + +struct pci_epf_device_id; + +struct pci_epf_doorbell_msg; + +struct pci_epf { + struct device dev; + const char *name; + struct pci_epf_header *header; + struct pci_epf_bar bar[6]; + u8 msi_interrupts; + u16 msix_interrupts; + u8 func_no; + u8 vfunc_no; + struct pci_epc *epc; + struct pci_epf *epf_pf; + struct pci_epf_driver *driver; + const struct pci_epf_device_id *id; + struct list_head list; + struct mutex lock; + struct pci_epc *sec_epc; + struct list_head sec_epc_list; + struct pci_epf_bar sec_epc_bar[6]; + u8 sec_epc_func_no; + struct config_group *group; + unsigned int is_bound; + unsigned int is_vf; + long unsigned int vfunction_num_map; + struct list_head pci_vepf; + const struct pci_epc_event_ops *event_ops; + struct pci_epf_doorbell_msg *db_msg; + u16 num_db; +}; + +struct pci_epf_device_id { + char name[20]; + kernel_ulong_t driver_data; +}; + +struct pci_epf_doorbell_msg { + struct msi_msg msg; + int virq; +}; + +struct pci_epf_ops; + +struct pci_epf_driver { + int (*probe)(struct pci_epf *, const struct pci_epf_device_id *); + void (*remove)(struct pci_epf *); + struct device_driver driver; + const struct pci_epf_ops *ops; + struct module *owner; + struct list_head epf_group; + const struct pci_epf_device_id *id_table; +}; + +struct pci_epf_group { + struct config_group group; + struct config_group primary_epc_group; + struct config_group secondary_epc_group; + struct delayed_work cfs_work; + struct pci_epf *epf; + int index; +}; + +struct pci_epf_header { + u16 vendorid; + u16 deviceid; + u8 revid; + u8 progif_code; + u8 subclass_code; + u8 baseclass_code; + u8 cache_line_size; + u16 subsys_vendor_id; + u16 subsys_id; + enum pci_interrupt_pin interrupt_pin; +}; + +struct pci_epf_msix_tbl { + u64 msg_addr; + u32 msg_data; + u32 vector_ctrl; +}; + +struct pci_epf_ops { + int (*bind)(struct pci_epf *); + void (*unbind)(struct pci_epf *); + struct config_group * (*add_cfs)(struct pci_epf *, struct config_group *); +}; + +struct pci_error_handlers { + pci_ers_result_t (*error_detected)(struct pci_dev *, pci_channel_state_t); + pci_ers_result_t (*mmio_enabled)(struct pci_dev *); + pci_ers_result_t (*slot_reset)(struct pci_dev *); + void (*reset_prepare)(struct pci_dev *); + void (*reset_done)(struct pci_dev *); + void (*resume)(struct pci_dev *); + void (*cor_error_detected)(struct pci_dev *); +}; + +struct pci_extra_dev { + struct pci_dev *dev[4]; +}; + +struct pci_filp_private { + enum pci_mmap_state mmap_state; + int write_combine; +}; + +struct pci_fixup { + u16 vendor; + u16 device; + u32 class; + unsigned int class_shift; + int hook_offset; +}; + +struct pci_host_bridge { + struct device dev; + struct pci_bus *bus; + struct pci_ops *ops; + struct pci_ops *child_ops; + void *sysdata; + int busnr; + int domain_nr; + struct list_head windows; + struct list_head dma_ranges; + u8 (*swizzle_irq)(struct pci_dev *, u8 *); + int (*map_irq)(const struct pci_dev *, u8, u8); + void (*release_fn)(struct pci_host_bridge *); + int (*enable_device)(struct pci_host_bridge *, struct pci_dev *); + void (*disable_device)(struct pci_host_bridge *, struct pci_dev *); + void *release_data; + unsigned int ignore_reset_delay: 1; + unsigned int no_ext_tags: 1; + unsigned int no_inc_mrrs: 1; + unsigned int native_aer: 1; + unsigned int native_pcie_hotplug: 1; + unsigned int native_shpc_hotplug: 1; + unsigned int native_pme: 1; + unsigned int native_ltr: 1; + unsigned int native_dpc: 1; + unsigned int native_cxl_error: 1; + unsigned int preserve_config: 1; + unsigned int size_windows: 1; + unsigned int msi_domain: 1; + resource_size_t (*align_resource)(struct pci_dev *, const struct resource *, resource_size_t, resource_size_t, resource_size_t); + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long unsigned int private[0]; +}; + +struct pci_hostbridge_probe { + u32 bus; + u32 slot; + u32 vendor; + u32 device; +}; + +struct pci_mmcfg_hostbridge_probe { + u32 bus; + u32 devfn; + u32 vendor; + u32 device; + const char * (*probe)(void); +}; + +struct pci_mmcfg_region { + struct list_head list; + struct resource res; + u64 address; + char *virt; + u16 segment; + u8 start_bus; + u8 end_bus; + char name[30]; +}; + +struct pci_ops { + int (*add_bus)(struct pci_bus *); + void (*remove_bus)(struct pci_bus *); + void * (*map_bus)(struct pci_bus *, unsigned int, int); + int (*read)(struct pci_bus *, unsigned int, int, int, u32 *); + int (*write)(struct pci_bus *, unsigned int, int, int, u32); +}; + +struct pci_osc_bit_struct { + u32 bit; + char *desc; +}; + +struct pci_p2pdma { + struct gen_pool *pool; + bool p2pmem_published; + struct xarray map_types; +}; + +struct pci_p2pdma_pagemap { + struct pci_dev *provider; + u64 bus_offset; + struct dev_pagemap pgmap; +}; + +struct pci_p2pdma_whitelist_entry { + short unsigned int vendor; + short unsigned int device; + enum { + REQ_SAME_HOST_BRIDGE = 1, + } flags; +}; + +struct pci_pme_device { + struct list_head list; + struct pci_dev *dev; +}; + +struct pcie_ptm_ops; + +struct pci_ptm_debugfs { + struct dentry *debugfs; + const struct pcie_ptm_ops *ops; + struct mutex lock; + void *pdata; +}; + +struct pci_raw_ops { + int (*read)(unsigned int, unsigned int, unsigned int, int, int, u32 *); + int (*write)(unsigned int, unsigned int, unsigned int, int, int, u32); +}; + +struct pci_reset_fn_method { + int (*reset_fn)(struct pci_dev *, bool); + char *name; +}; + +struct pci_root_info { + struct list_head list; + char name[12]; + struct list_head resources; + struct resource busn; + int node; + int link; +}; + +struct pci_sysdata { + int domain; + int node; + struct acpi_device *companion; + void *iommu; + void *fwnode; + struct pci_dev *vmd_dev; +}; + +struct pci_root_info___2 { + struct acpi_pci_root_info common; + struct pci_sysdata sd; + bool mcfg_added; + u8 start_bus; + u8 end_bus; +}; + +struct pci_root_res { + struct list_head list; + struct resource res; +}; + +struct pci_saved_state { + u32 config_space[16]; + struct pci_cap_saved_data cap[0]; +}; + +struct serial_private; + +struct pciserial_board; + +struct pci_serial_quirk { + u32 vendor; + u32 device; + u32 subvendor; + u32 subdevice; + int (*probe)(struct pci_dev *); + int (*init)(struct pci_dev *); + int (*setup)(struct serial_private *, const struct pciserial_board *, struct uart_8250_port *, int); + void (*exit)(struct pci_dev *); +}; + +struct pci_setup_rom { + struct setup_data data; + uint16_t vendor; + uint16_t devid; + uint64_t pcilen; + long unsigned int segment; + long unsigned int bus; + long unsigned int device; + long unsigned int function; + uint8_t romdata[0]; +}; + +struct pci_slot { + struct pci_bus *bus; + struct list_head list; + struct hotplug_slot *hotplug; + unsigned char number; + struct kobject kobj; +}; + +struct pci_slot_attribute { + struct attribute attr; + ssize_t (*show)(struct pci_slot *, char *); + ssize_t (*store)(struct pci_slot *, const char *, size_t); +}; + +struct pci_sriov { + int pos; + int nres; + u32 cap; + u16 ctrl; + u16 total_VFs; + u16 initial_VFs; + u16 num_VFs; + u16 offset; + u16 stride; + u16 vf_device; + u32 pgsz; + u8 link; + u8 max_VF_buses; + u16 driver_max_VFs; + struct pci_dev *dev; + struct pci_dev *self; + u32 class; + u8 hdr_type; + u16 subsystem_vendor; + u16 subsystem_device; + resource_size_t barsz[6]; + u16 vf_rebar_cap; + bool drivers_autoprobe; +}; + +struct pcibios_fwaddrmap { + struct list_head list; + struct pci_dev *dev; + resource_size_t fw_addr[17]; +}; + +struct pcie_bwctrl_data { + struct mutex set_speed_mutex; + struct thermal_cooling_device *cdev; +}; + +struct pcie_device { + int irq; + struct pci_dev *port; + u32 service; + void *priv_data; + struct device device; +}; + +struct pcie_link_state { + struct pci_dev *pdev; + struct pci_dev *downstream; + struct pcie_link_state *root; + struct pcie_link_state *parent; + struct list_head sibling; + u32 aspm_support: 7; + u32 aspm_enabled: 7; + u32 aspm_capable: 7; + u32 aspm_default: 7; + int: 4; + u32 aspm_disable: 7; + u32 clkpm_capable: 1; + u32 clkpm_enabled: 1; + u32 clkpm_default: 1; + u32 clkpm_disable: 1; +}; + +struct pcie_pme_service_data { + spinlock_t lock; + struct pcie_device *srv; + struct work_struct work; + bool noirq; +}; + +struct pcie_port_service_driver { + const char *name; + int (*probe)(struct pcie_device *); + void (*remove)(struct pcie_device *); + int (*suspend)(struct pcie_device *); + int (*resume_noirq)(struct pcie_device *); + int (*resume)(struct pcie_device *); + int (*runtime_suspend)(struct pcie_device *); + int (*runtime_resume)(struct pcie_device *); + int (*slot_reset)(struct pcie_device *); + int port_type; + u32 service; + struct device_driver driver; +}; + +struct pcie_ptm_ops { + int (*check_capability)(void *); + int (*context_update_write)(void *, u8); + int (*context_update_read)(void *, u8 *); + int (*context_valid_write)(void *, bool); + int (*context_valid_read)(void *, bool *); + int (*local_clock_read)(void *, u64 *); + int (*master_clock_read)(void *, u64 *); + int (*t1_read)(void *, u64 *); + int (*t2_read)(void *, u64 *); + int (*t3_read)(void *, u64 *); + int (*t4_read)(void *, u64 *); + bool (*context_update_visible)(void *); + bool (*context_valid_visible)(void *); + bool (*local_clock_visible)(void *); + bool (*master_clock_visible)(void *); + bool (*t1_visible)(void *); + bool (*t2_visible)(void *); + bool (*t3_visible)(void *); + bool (*t4_visible)(void *); +}; + +struct pcim_addr_devres { + enum pcim_addr_devres_type type; + void *baseaddr; + long unsigned int offset; + long unsigned int len; + int bar; +}; + +struct pcim_intx_devres { + int orig_intx; +}; + +struct pcim_iomap_devres { + void *table[17]; +}; + +struct pciserial_board { + unsigned int flags; + unsigned int num_ports; + unsigned int base_baud; + unsigned int uart_offset; + unsigned int reg_shift; + unsigned int first_offset; +}; + +struct pcpu { + struct list_head list; + struct device dev; + uint32_t cpu_id; + uint32_t acpi_id; + uint32_t flags; +}; + +struct pcpu_group_info { + int nr_units; + long unsigned int base_offset; + unsigned int *cpu_map; +}; + +struct pcpu_alloc_info { + size_t static_size; + size_t reserved_size; + size_t dyn_size; + size_t unit_size; + size_t atom_size; + size_t alloc_size; + size_t __ai_size; + int nr_groups; + struct pcpu_group_info groups[0]; +}; + +struct pcpu_block_md { + int scan_hint; + int scan_hint_start; + int contig_hint; + int contig_hint_start; + int left_free; + int right_free; + int first_free; + int nr_bits; +}; + +struct pcpuobj_ext; + +struct pcpu_chunk { + struct list_head list; + int free_bytes; + struct pcpu_block_md chunk_md; + long unsigned int *bound_map; + void *base_addr; + long unsigned int *alloc_map; + struct pcpu_block_md *md_blocks; + void *data; + bool immutable; + bool isolated; + int start_offset; + int end_offset; + struct pcpuobj_ext *obj_exts; + int nr_pages; + int nr_populated; + int nr_empty_pop_pages; + long unsigned int populated[0]; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct pcpu_dstats { + u64_stats_t rx_packets; + u64_stats_t rx_bytes; + u64_stats_t tx_packets; + u64_stats_t tx_bytes; + u64_stats_t rx_drops; + u64_stats_t tx_drops; + struct u64_stats_sync syncp; + long: 64; + long: 64; +}; + +struct pcpu_freelist_head { + struct pcpu_freelist_node *first; + rqspinlock_t lock; +}; + +struct pcpu_gen_cookie { + local_t nesting; + u64 last; +}; + +struct pcpu_lstats { + u64_stats_t packets; + u64_stats_t bytes; + struct u64_stats_sync syncp; +}; + +struct pcpu_rx_sc_stats { + struct macsec_rx_sc_stats stats; + struct u64_stats_sync syncp; +}; + +struct pcpu_seg6_local_counters { + u64_stats_t packets; + u64_stats_t bytes; + u64_stats_t errors; + struct u64_stats_sync syncp; +}; + +struct pcpu_sw_netstats { + u64_stats_t rx_packets; + u64_stats_t rx_bytes; + u64_stats_t tx_packets; + u64_stats_t tx_bytes; + struct u64_stats_sync syncp; +}; + +struct pcpu_tx_sc_stats { + struct macsec_tx_sc_stats stats; + struct u64_stats_sync syncp; +}; + +struct pcpuobj_ext { + struct obj_cgroup *cgroup; +}; + +struct pde_opener { + struct list_head lh; + struct file *file; + bool closing; + struct completion *c; +}; + +struct pdom_dev_data { + struct iommu_dev_data *dev_data; + ioasid_t pasid; + struct list_head list; +}; + +struct pdom_iommu_info { + struct amd_iommu *iommu; + u32 refcnt; +}; + +struct pe32_opt_hdr { + uint16_t magic; + uint8_t ld_major; + uint8_t ld_minor; + uint32_t text_size; + uint32_t data_size; + uint32_t bss_size; + uint32_t entry_point; + uint32_t code_base; + uint32_t data_base; + uint32_t image_base; + uint32_t section_align; + uint32_t file_align; + uint16_t os_major; + uint16_t os_minor; + uint16_t image_major; + uint16_t image_minor; + uint16_t subsys_major; + uint16_t subsys_minor; + uint32_t win32_version; + uint32_t image_size; + uint32_t header_size; + uint32_t csum; + uint16_t subsys; + uint16_t dll_flags; + uint32_t stack_size_req; + uint32_t stack_size; + uint32_t heap_size_req; + uint32_t heap_size; + uint32_t loader_flags; + uint32_t data_dirs; +}; + +struct pe32plus_opt_hdr { + uint16_t magic; + uint8_t ld_major; + uint8_t ld_minor; + uint32_t text_size; + uint32_t data_size; + uint32_t bss_size; + uint32_t entry_point; + uint32_t code_base; + uint64_t image_base; + uint32_t section_align; + uint32_t file_align; + uint16_t os_major; + uint16_t os_minor; + uint16_t image_major; + uint16_t image_minor; + uint16_t subsys_major; + uint16_t subsys_minor; + uint32_t win32_version; + uint32_t image_size; + uint32_t header_size; + uint32_t csum; + uint16_t subsys; + uint16_t dll_flags; + uint64_t stack_size_req; + uint64_t stack_size; + uint64_t heap_size_req; + uint64_t heap_size; + uint32_t loader_flags; + uint32_t data_dirs; +}; + +struct pe_hdr { + uint32_t magic; + uint16_t machine; + uint16_t sections; + uint32_t timestamp; + uint32_t symbol_table; + uint32_t symbols; + uint16_t opt_hdr_size; + uint16_t flags; +}; + +struct pebs_basic { + u64 format_group: 32; + u64 retire_latency: 16; + u64 format_size: 16; + u64 ip; + u64 applicable_counters; + u64 tsc; +}; + +struct pebs_cntr_header { + u32 cntr; + u32 fixed; + u32 metrics; + u32 reserved; +}; + +struct pebs_gprs { + u64 flags; + u64 ip; + u64 ax; + u64 cx; + u64 dx; + u64 bx; + u64 sp; + u64 bp; + u64 si; + u64 di; + u64 r8; + u64 r9; + u64 r10; + u64 r11; + u64 r12; + u64 r13; + u64 r14; + u64 r15; +}; + +struct pebs_meminfo { + u64 address; + u64 aux; + union { + u64 mem_latency; + struct { + u64 instr_latency: 16; + u64 pad2: 16; + u64 cache_latency: 16; + u64 pad3: 16; + }; + }; + u64 tsx_tuning; +}; + +struct pebs_record_core { + u64 flags; + u64 ip; + u64 ax; + u64 bx; + u64 cx; + u64 dx; + u64 si; + u64 di; + u64 bp; + u64 sp; + u64 r8; + u64 r9; + u64 r10; + u64 r11; + u64 r12; + u64 r13; + u64 r14; + u64 r15; +}; + +struct pebs_record_nhm { + u64 flags; + u64 ip; + u64 ax; + u64 bx; + u64 cx; + u64 dx; + u64 si; + u64 di; + u64 bp; + u64 sp; + u64 r8; + u64 r9; + u64 r10; + u64 r11; + u64 r12; + u64 r13; + u64 r14; + u64 r15; + u64 status; + u64 dla; + u64 dse; + u64 lat; +}; + +struct pebs_record_skl { + u64 flags; + u64 ip; + u64 ax; + u64 bx; + u64 cx; + u64 dx; + u64 si; + u64 di; + u64 bp; + u64 sp; + u64 r8; + u64 r9; + u64 r10; + u64 r11; + u64 r12; + u64 r13; + u64 r14; + u64 r15; + u64 status; + u64 dla; + u64 dse; + u64 lat; + u64 real_ip; + u64 tsx_tuning; + u64 tsc; +}; + +struct pebs_xmm { + u64 xmm[32]; +}; + +struct section_header; + +struct pefile_context { + unsigned int header_size; + unsigned int image_checksum_offset; + unsigned int cert_dirent_offset; + unsigned int n_data_dirents; + unsigned int n_sections; + unsigned int certs_size; + unsigned int sig_offset; + unsigned int sig_len; + const struct section_header *secs; + const void *digest; + unsigned int digest_len; + const char *digest_algo; +}; + +struct pending_reservation { + struct rb_node rb_node; + ext4_lblk_t lclu; +}; + +struct per_cpu_dm_data { + raw_spinlock_t lock; + union { + struct sk_buff *skb; + struct net_dm_hw_entries *hw_entries; + }; + struct sk_buff_head drop_queue; + struct work_struct dm_alert_work; + struct timer_list send_timer; + struct net_dm_stats stats; +}; + +struct per_cpu_nodestat { + s8 stat_threshold; + s8 vm_node_stat_diff[49]; +}; + +struct per_cpu_pages { + spinlock_t lock; + int count; + int high; + int high_min; + int high_max; + int batch; + u8 flags; + u8 alloc_factor; + u8 expire; + short int free_count; + struct list_head lists[14]; +}; + +struct per_cpu_zonestat { + s8 vm_stat_diff[12]; + s8 stat_threshold; + long unsigned int vm_numa_event[6]; +}; + +struct percpu_free_defer { + struct callback_head rcu; + void *ptr; +}; + +typedef void percpu_ref_func_t(struct percpu_ref *); + +struct percpu_ref_data { + atomic_long_t count; + percpu_ref_func_t *release; + percpu_ref_func_t *confirm_switch; + bool force_atomic: 1; + bool allow_reinit: 1; + struct callback_head rcu; + struct percpu_ref *ref; +}; + +typedef struct percpu_rw_semaphore *class_percpu_read_t; + +typedef struct percpu_rw_semaphore *class_percpu_write_t; + +struct percpu_swap_cluster { + struct swap_info_struct *si[10]; + long unsigned int offset[10]; + local_lock_t lock; +}; + +struct perf_addr_filter { + struct list_head entry; + struct path path; + long unsigned int offset; + long unsigned int size; + enum perf_addr_filter_action_t action; +}; + +struct perf_addr_filter_range { + long unsigned int start; + long unsigned int size; +}; + +struct perf_addr_filters_head { + struct list_head list; + raw_spinlock_t lock; + unsigned int nr_file_filters; +}; + +struct perf_amd_iommu { + struct list_head list; + struct pmu pmu; + struct amd_iommu *iommu; + char name[24]; + u8 max_banks; + u8 max_counters; + u64 cntr_assign_mask; + raw_spinlock_t lock; +}; + +struct perf_event_header { + __u32 type; + __u16 misc; + __u16 size; +}; + +struct perf_aux_event { + struct perf_event_header header; + u64 hw_id; +}; + +struct perf_aux_event___2 { + struct perf_event_header header; + u32 pid; + u32 tid; +}; + +struct perf_aux_event___3 { + struct perf_event_header header; + u64 offset; + u64 size; + u64 flags; +}; + +struct perf_bpf_event { + struct bpf_prog *prog; + struct { + struct perf_event_header header; + u16 type; + u16 flags; + u32 id; + u8 tag[8]; + } event_id; +}; + +struct perf_event_mmap_page; + +struct perf_buffer { + refcount_t refcount; + struct callback_head callback_head; + int nr_pages; + int overwrite; + int paused; + atomic_t poll; + local_t head; + unsigned int nest; + local_t events; + local_t wakeup; + local_t lost; + long int watermark; + long int aux_watermark; + spinlock_t event_lock; + struct list_head event_list; + atomic_t mmap_count; + long unsigned int mmap_locked; + struct user_struct *mmap_user; + struct mutex aux_mutex; + long int aux_head; + unsigned int aux_nest; + long int aux_wakeup; + long unsigned int aux_pgoff; + int aux_nr_pages; + int aux_overwrite; + atomic_t aux_mmap_count; + long unsigned int aux_mmap_locked; + void (*free_aux)(void *); + refcount_t aux_refcount; + int aux_in_sampling; + int aux_in_pause_resume; + void **aux_pages; + void *aux_priv; + struct perf_event_mmap_page *user_page; + void *data_pages[0]; +}; + +struct perf_callchain_entry { + u64 nr; + u64 ip[0]; +}; + +struct perf_callchain_entry_ctx { + struct perf_callchain_entry *entry; + u32 max_stack; + u32 nr; + short int contexts; + bool contexts_maxed; +}; + +union perf_capabilities { + struct { + u64 lbr_format: 6; + u64 pebs_trap: 1; + u64 pebs_arch_reg: 1; + u64 pebs_format: 4; + u64 smm_freeze: 1; + u64 full_width_write: 1; + u64 pebs_baseline: 1; + u64 perf_metrics: 1; + u64 pebs_output_pt_available: 1; + u64 pebs_timing_info: 1; + u64 anythread_deprecated: 1; + u64 rdpmc_metrics_clear: 1; + }; + u64 capabilities; +}; + +struct perf_cgroup_info; + +struct perf_cgroup { + struct cgroup_subsys_state css; + struct perf_cgroup_info *info; +}; + +struct perf_cgroup_event { + char *path; + int path_size; + struct { + struct perf_event_header header; + u64 id; + char path[0]; + } event_id; +}; + +struct perf_cgroup_info { + u64 time; + u64 timestamp; + u64 timeoffset; + int active; +}; + +struct perf_comm_event { + struct task_struct *task; + char *comm; + int comm_size; + struct { + struct perf_event_header header; + u32 pid; + u32 tid; + } event_id; +}; + +struct perf_event_groups { + struct rb_root tree; + u64 index; +}; + +struct perf_event_context { + raw_spinlock_t lock; + struct mutex mutex; + struct list_head pmu_ctx_list; + struct perf_event_groups pinned_groups; + struct perf_event_groups flexible_groups; + struct list_head event_list; + int nr_events; + int nr_user; + int is_active; + int nr_stat; + int nr_freq; + int rotate_disable; + refcount_t refcount; + struct task_struct *task; + u64 time; + u64 timestamp; + u64 timeoffset; + struct perf_event_context *parent_ctx; + u64 parent_gen; + u64 generation; + int pin_count; + int nr_cgroups; + struct callback_head callback_head; + local_t nr_no_switch_fast; +}; + +struct perf_cpu_context { + struct perf_event_context ctx; + struct perf_event_context *task_ctx; + int online; + struct perf_cgroup *cgrp; + int heap_size; + struct perf_event **heap; + struct perf_event *heap_default[2]; +}; + +struct perf_event_pmu_context { + struct pmu *pmu; + struct perf_event_context *ctx; + struct list_head pmu_ctx_entry; + struct list_head pinned_active; + struct list_head flexible_active; + unsigned int embedded: 1; + unsigned int nr_events; + unsigned int nr_cgroups; + unsigned int nr_freq; + atomic_t refcount; + struct callback_head callback_head; + int rotate_necessary; +}; + +struct perf_cpu_pmu_context { + struct perf_event_pmu_context epc; + struct perf_event_pmu_context *task_epc; + struct list_head sched_cb_entry; + int sched_cb_usage; + int active_oncpu; + int exclusive; + int pmu_disable_count; + raw_spinlock_t hrtimer_lock; + struct hrtimer hrtimer; + ktime_t hrtimer_interval; + unsigned int hrtimer_active; +}; + +struct perf_ctx_data { + struct callback_head callback_head; + refcount_t refcount; + int global; + struct kmem_cache *ctx_cache; + void *data; +}; + +struct perf_domain { + struct em_perf_domain *em_pd; + struct perf_domain *next; + struct callback_head rcu; +}; + +struct perf_event_attr { + __u32 type; + __u32 size; + __u64 config; + union { + __u64 sample_period; + __u64 sample_freq; + }; + __u64 sample_type; + __u64 read_format; + __u64 disabled: 1; + __u64 inherit: 1; + __u64 pinned: 1; + __u64 exclusive: 1; + __u64 exclude_user: 1; + __u64 exclude_kernel: 1; + __u64 exclude_hv: 1; + __u64 exclude_idle: 1; + __u64 mmap: 1; + __u64 comm: 1; + __u64 freq: 1; + __u64 inherit_stat: 1; + __u64 enable_on_exec: 1; + __u64 task: 1; + __u64 watermark: 1; + __u64 precise_ip: 2; + __u64 mmap_data: 1; + __u64 sample_id_all: 1; + __u64 exclude_host: 1; + __u64 exclude_guest: 1; + __u64 exclude_callchain_kernel: 1; + __u64 exclude_callchain_user: 1; + __u64 mmap2: 1; + __u64 comm_exec: 1; + __u64 use_clockid: 1; + __u64 context_switch: 1; + __u64 write_backward: 1; + __u64 namespaces: 1; + __u64 ksymbol: 1; + __u64 bpf_event: 1; + __u64 aux_output: 1; + __u64 cgroup: 1; + __u64 text_poke: 1; + __u64 build_id: 1; + __u64 inherit_thread: 1; + __u64 remove_on_exec: 1; + __u64 sigtrap: 1; + __u64 __reserved_1: 26; + union { + __u32 wakeup_events; + __u32 wakeup_watermark; + }; + __u32 bp_type; + union { + __u64 bp_addr; + __u64 kprobe_func; + __u64 uprobe_path; + __u64 config1; + }; + union { + __u64 bp_len; + __u64 kprobe_addr; + __u64 probe_offset; + __u64 config2; + }; + __u64 branch_sample_type; + __u64 sample_regs_user; + __u32 sample_stack_user; + __s32 clockid; + __u64 sample_regs_intr; + __u32 aux_watermark; + __u16 sample_max_stack; + __u16 __reserved_2; + __u32 aux_sample_size; + union { + __u32 aux_action; + struct { + __u32 aux_start_paused: 1; + __u32 aux_pause: 1; + __u32 aux_resume: 1; + __u32 __reserved_3: 29; + }; + }; + __u64 sig_data; + __u64 config3; +}; + +typedef void (*perf_overflow_handler_t)(struct perf_event *, struct perf_sample_data *, struct pt_regs *); + +struct perf_event { + struct list_head event_entry; + struct list_head sibling_list; + struct list_head active_list; + struct rb_node group_node; + u64 group_index; + struct list_head migrate_entry; + struct hlist_node hlist_entry; + struct list_head active_entry; + int nr_siblings; + int event_caps; + int group_caps; + unsigned int group_generation; + struct perf_event *group_leader; + struct pmu *pmu; + void *pmu_private; + enum perf_event_state state; + unsigned int attach_state; + local64_t count; + atomic64_t child_count; + u64 total_time_enabled; + u64 total_time_running; + u64 tstamp; + struct perf_event_attr attr; + u16 header_size; + u16 id_header_size; + u16 read_size; + struct hw_perf_event hw; + struct perf_event_context *ctx; + struct perf_event_pmu_context *pmu_ctx; + atomic_long_t refcount; + atomic64_t child_total_time_enabled; + atomic64_t child_total_time_running; + struct mutex child_mutex; + struct list_head child_list; + struct perf_event *parent; + int oncpu; + int cpu; + struct list_head owner_entry; + struct task_struct *owner; + struct mutex mmap_mutex; + atomic_t mmap_count; + struct perf_buffer *rb; + struct list_head rb_entry; + long unsigned int rcu_batches; + int rcu_pending; + wait_queue_head_t waitq; + struct fasync_struct *fasync; + unsigned int pending_wakeup; + unsigned int pending_kill; + unsigned int pending_disable; + long unsigned int pending_addr; + struct irq_work pending_irq; + struct irq_work pending_disable_irq; + struct callback_head pending_task; + unsigned int pending_work; + atomic_t event_limit; + struct perf_addr_filters_head addr_filters; + struct perf_addr_filter_range *addr_filter_ranges; + long unsigned int addr_filters_gen; + struct perf_event *aux_event; + void (*destroy)(struct perf_event *); + struct callback_head callback_head; + struct pid_namespace *ns; + u64 id; + atomic64_t lost_samples; + u64 (*clock)(void); + perf_overflow_handler_t overflow_handler; + void *overflow_handler_context; + struct bpf_prog *prog; + u64 bpf_cookie; + struct trace_event_call *tp_event; + struct event_filter *filter; + struct ftrace_ops ftrace_ops; + struct perf_cgroup *cgrp; + void *security; + struct list_head sb_list; + struct list_head pmu_list; + u32 orig_type; +}; + +struct perf_event_min_heap { + size_t nr; + size_t size; + struct perf_event **data; + struct perf_event *preallocated[0]; +}; + +struct perf_event_mmap_page { + __u32 version; + __u32 compat_version; + __u32 lock; + __u32 index; + __s64 offset; + __u64 time_enabled; + __u64 time_running; + union { + __u64 capabilities; + struct { + __u64 cap_bit0: 1; + __u64 cap_bit0_is_deprecated: 1; + __u64 cap_user_rdpmc: 1; + __u64 cap_user_time: 1; + __u64 cap_user_time_zero: 1; + __u64 cap_user_time_short: 1; + __u64 cap_____res: 58; + }; + }; + __u16 pmc_width; + __u16 time_shift; + __u32 time_mult; + __u64 time_offset; + __u64 time_zero; + __u32 size; + __u32 __reserved_1; + __u64 time_cycles; + __u64 time_mask; + __u8 __reserved[928]; + __u64 data_head; + __u64 data_tail; + __u64 data_offset; + __u64 data_size; + __u64 aux_head; + __u64 aux_tail; + __u64 aux_offset; + __u64 aux_size; +}; + +struct perf_event_query_bpf { + __u32 ids_len; + __u32 prog_cnt; + __u32 ids[0]; +}; + +struct perf_event_security_struct { + u32 sid; +}; + +struct perf_guest_info_callbacks { + unsigned int (*state)(void); + long unsigned int (*get_ip)(void); + unsigned int (*handle_intel_pt_intr)(void); +}; + +struct perf_ibs { + struct pmu pmu; + unsigned int msr; + u64 config_mask; + u64 cnt_mask; + u64 enable_mask; + u64 valid_mask; + u16 min_period; + u64 max_period; + long unsigned int offset_mask[1]; + int offset_max; + unsigned int fetch_count_reset_broken: 1; + unsigned int fetch_ignore_if_zero_rip: 1; + struct cpu_perf_ibs *pcpu; + u64 (*get_count)(u64); +}; + +struct perf_ibs_data { + u32 size; + union { + u32 data[0]; + u32 caps; + }; + u64 regs[8]; +}; + +struct perf_ksymbol_event { + const char *name; + int name_len; + struct { + struct perf_event_header header; + u64 addr; + u32 len; + u16 ksym_type; + u16 flags; + } event_id; +}; + +struct perf_mmap_event { + struct vm_area_struct *vma; + const char *file_name; + int file_size; + int maj; + int min; + u64 ino; + u64 ino_generation; + u32 prot; + u32 flags; + u8 build_id[20]; + u32 build_id_size; + struct { + struct perf_event_header header; + u32 pid; + u32 tid; + u64 start; + u64 len; + u64 pgoff; + } event_id; +}; + +struct perf_msr { + u64 msr; + struct attribute_group *grp; + bool (*test)(int, void *); + bool no_check; + u64 mask; +}; + +struct perf_ns_link_info { + __u64 dev; + __u64 ino; +}; + +struct perf_namespaces_event { + struct task_struct *task; + struct { + struct perf_event_header header; + u32 pid; + u32 tid; + u64 nr_namespaces; + struct perf_ns_link_info link_info[7]; + } event_id; +}; + +struct perf_pmu_events_attr { + struct device_attribute attr; + u64 id; + const char *event_str; +}; + +struct perf_pmu_events_ht_attr { + struct device_attribute attr; + u64 id; + const char *event_str_ht; + const char *event_str_noht; +}; + +struct perf_pmu_events_hybrid_attr { + struct device_attribute attr; + u64 id; + const char *event_str; + u64 pmu_type; +}; + +struct perf_pmu_format_hybrid_attr { + struct device_attribute attr; + u64 pmu_type; +}; + +typedef long unsigned int (*perf_copy_f)(void *, const void *, long unsigned int, long unsigned int); + +struct perf_raw_frag { + union { + struct perf_raw_frag *next; + long unsigned int pad; + }; + perf_copy_f copy; + void *data; + u32 size; +} __attribute__((packed)); + +struct perf_raw_record { + struct perf_raw_frag frag; + u32 size; +}; + +struct perf_read_data { + struct perf_event *event; + bool group; + int ret; +}; + +struct perf_read_event { + struct perf_event_header header; + u32 pid; + u32 tid; +}; + +struct sched_state { + int weight; + int event; + int counter; + int unassigned; + int nr_gp; + u64 used; +}; + +struct perf_sched { + int max_weight; + int max_events; + int max_gp; + int saved_states; + struct event_constraint **constraints; + struct sched_state state; + struct sched_state saved[2]; +}; + +struct perf_switch_event { + struct task_struct *task; + struct task_struct *next_prev; + struct { + struct perf_event_header header; + u32 next_prev_pid; + u32 next_prev_tid; + } event_id; +}; + +struct perf_task_event { + struct task_struct *task; + struct perf_event_context *task_ctx; + struct { + struct perf_event_header header; + u32 pid; + u32 ppid; + u32 tid; + u32 ptid; + u64 time; + } event_id; +}; + +struct perf_text_poke_event { + const void *old_bytes; + const void *new_bytes; + size_t pad; + u16 old_len; + u16 new_len; + struct { + struct perf_event_header header; + u64 addr; + } event_id; +}; + +struct perm_datum { + u32 value; +}; + +struct pernet_operations { + struct list_head list; + int (*init)(struct net *); + void (*pre_exit)(struct net *); + void (*exit)(struct net *); + void (*exit_batch)(struct list_head *); + void (*exit_rtnl)(struct net *, struct list_head *); + unsigned int * const id; + const size_t size; +}; + +struct pf_desc { + u32 pseudoflavor; + u32 qop; + u32 service; + char *name; + char *auth_domain_name; + struct auth_domain *domain; + bool datatouch; +}; + +struct skb_array { + struct ptr_ring ring; +}; + +struct pfifo_fast_priv { + struct skb_array q[3]; +}; + +struct pfnmap_track_ctx { + struct kref kref; + long unsigned int pfn; + long unsigned int size; +}; + +struct ptdump_range; + +struct ptdump_state { + void (*note_page_pte)(struct ptdump_state *, long unsigned int, pte_t); + void (*note_page_pmd)(struct ptdump_state *, long unsigned int, pmd_t); + void (*note_page_pud)(struct ptdump_state *, long unsigned int, pud_t); + void (*note_page_p4d)(struct ptdump_state *, long unsigned int, p4d_t); + void (*note_page_pgd)(struct ptdump_state *, long unsigned int, pgd_t); + void (*note_page_flush)(struct ptdump_state *); + void (*effective_prot_pte)(struct ptdump_state *, pte_t); + void (*effective_prot_pmd)(struct ptdump_state *, pmd_t); + void (*effective_prot_pud)(struct ptdump_state *, pud_t); + void (*effective_prot_p4d)(struct ptdump_state *, p4d_t); + void (*effective_prot_pgd)(struct ptdump_state *, pgd_t); + const struct ptdump_range *range; +}; + +struct pg_state { + struct ptdump_state ptdump; + int level; + pgprotval_t current_prot; + pgprotval_t effective_prot; + pgprotval_t prot_levels[5]; + long unsigned int start_address; + const struct addr_marker *marker; + long unsigned int lines; + bool to_dmesg; + bool check_wx; + long unsigned int wx_pages; + struct seq_file *seq; +}; + +struct zone { + long unsigned int _watermark[4]; + long unsigned int watermark_boost; + long unsigned int nr_reserved_highatomic; + long unsigned int nr_free_highatomic; + long int lowmem_reserve[5]; + int node; + struct pglist_data *zone_pgdat; + struct per_cpu_pages *per_cpu_pageset; + struct per_cpu_zonestat *per_cpu_zonestats; + int pageset_high_min; + int pageset_high_max; + int pageset_batch; + long unsigned int zone_start_pfn; + atomic_long_t managed_pages; + long unsigned int spanned_pages; + long unsigned int present_pages; + long unsigned int present_early_pages; + long unsigned int cma_pages; + const char *name; + long unsigned int nr_isolate_pageblock; + seqlock_t span_seqlock; + int initialized; + long: 64; + long: 64; + long: 64; + long: 64; + struct cacheline_padding _pad1_; + struct free_area free_area[11]; + struct list_head unaccepted_pages; + struct work_struct unaccepted_cleanup; + long unsigned int flags; + spinlock_t lock; + struct llist_head trylock_free_pages; + struct cacheline_padding _pad2_; + long unsigned int percpu_drift_mark; + long unsigned int compact_cached_free_pfn; + long unsigned int compact_cached_migrate_pfn[2]; + long unsigned int compact_init_migrate_pfn; + long unsigned int compact_init_free_pfn; + unsigned int compact_considered; + unsigned int compact_defer_shift; + int compact_order_failed; + bool compact_blockskip_flush; + bool contiguous; + long: 0; + struct cacheline_padding _pad3_; + atomic_long_t vm_stat[12]; + atomic_long_t vm_numa_event[6]; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct zoneref { + struct zone *zone; + int zone_idx; +}; + +struct zonelist { + struct zoneref _zonerefs[5121]; +}; + +struct pglist_data { + struct zone node_zones[5]; + struct zonelist node_zonelists[2]; + int nr_zones; + spinlock_t node_size_lock; + long unsigned int node_start_pfn; + long unsigned int node_present_pages; + long unsigned int node_spanned_pages; + int node_id; + wait_queue_head_t kswapd_wait; + wait_queue_head_t pfmemalloc_wait; + wait_queue_head_t reclaim_wait[4]; + atomic_t nr_writeback_throttled; + long unsigned int nr_reclaim_start; + struct mutex kswapd_lock; + struct task_struct *kswapd; + int kswapd_order; + enum zone_type kswapd_highest_zoneidx; + int kswapd_failures; + int kcompactd_max_order; + enum zone_type kcompactd_highest_zoneidx; + wait_queue_head_t kcompactd_wait; + struct task_struct *kcompactd; + bool proactive_compact_trigger; + long unsigned int totalreserve_pages; + long unsigned int min_unmapped_pages; + long unsigned int min_slab_pages; + long: 64; + long: 64; + long: 64; + struct cacheline_padding _pad1_; + struct deferred_split deferred_split_queue; + unsigned int nbp_rl_start; + long unsigned int nbp_rl_nr_cand; + unsigned int nbp_threshold; + unsigned int nbp_th_start; + long unsigned int nbp_th_nr_cand; + struct lruvec __lruvec; + long unsigned int flags; + struct lru_gen_mm_walk mm_walk; + struct lru_gen_memcg memcg_lru; + long: 64; + struct cacheline_padding _pad2_; + struct per_cpu_nodestat *per_cpu_nodestats; + atomic_long_t vm_stat[49]; + struct memory_tier *memtier; + struct memory_failure_stats mf_stats; +}; + +struct pgv { + char *buffer; +}; + +struct phc_vclocks_reply_data { + struct ethnl_reply_data base; + int num; + int *index; +}; + +struct phy_attrs { + u32 bus_width; + u32 max_link_rate; + enum phy_mode mode; +}; + +struct phy_ops; + +struct phy { + struct device dev; + int id; + const struct phy_ops *ops; + struct mutex mutex; + struct lock_class_key lockdep_key; + int init_count; + int power_count; + struct phy_attrs attrs; + struct regulator *pwr; + struct dentry *debugfs; +}; + +struct phy_c45_device_ids { + u32 devices_in_package; + u32 mmds_present; + u32 device_ids[32]; +}; + +struct phy_configure_opts_mipi_dphy { + unsigned int clk_miss; + unsigned int clk_post; + unsigned int clk_pre; + unsigned int clk_prepare; + unsigned int clk_settle; + unsigned int clk_term_en; + unsigned int clk_trail; + unsigned int clk_zero; + unsigned int d_term_en; + unsigned int eot; + unsigned int hs_exit; + unsigned int hs_prepare; + unsigned int hs_settle; + unsigned int hs_skip; + unsigned int hs_trail; + unsigned int hs_zero; + unsigned int init; + unsigned int lpx; + unsigned int ta_get; + unsigned int ta_go; + unsigned int ta_sure; + unsigned int wakeup; + long unsigned int hs_clk_rate; + long unsigned int lp_clk_rate; + unsigned char lanes; +}; + +struct phy_configure_opts_dp { + unsigned int link_rate; + unsigned int lanes; + unsigned int voltage[4]; + unsigned int pre[4]; + u8 ssc: 1; + u8 set_rate: 1; + u8 set_lanes: 1; + u8 set_voltages: 1; +}; + +struct phy_configure_opts_lvds { + unsigned int bits_per_lane_and_dclk_cycle; + long unsigned int differential_clk_rate; + unsigned int lanes; + bool is_slave; +}; + +struct phy_configure_opts_hdmi { + long long unsigned int tmds_char_rate; + unsigned int bpc; +}; + +union phy_configure_opts { + struct phy_configure_opts_mipi_dphy mipi_dphy; + struct phy_configure_opts_dp dp; + struct phy_configure_opts_lvds lvds; + struct phy_configure_opts_hdmi hdmi; +}; + +struct phy_driver; + +struct phy_led_trigger; + +struct pse_control; + +struct phy_device { + struct mdio_device mdio; + const struct phy_driver *drv; + struct device_link *devlink; + u32 phyindex; + u32 phy_id; + struct phy_c45_device_ids c45_ids; + unsigned int is_c45: 1; + unsigned int is_internal: 1; + unsigned int is_pseudo_fixed_link: 1; + unsigned int is_gigabit_capable: 1; + unsigned int has_fixups: 1; + unsigned int suspended: 1; + unsigned int suspended_by_mdio_bus: 1; + unsigned int sysfs_links: 1; + unsigned int loopback_enabled: 1; + unsigned int downshifted_rate: 1; + unsigned int is_on_sfp_module: 1; + unsigned int mac_managed_pm: 1; + unsigned int wol_enabled: 1; + unsigned int is_genphy_driven: 1; + unsigned int autoneg: 1; + unsigned int link: 1; + unsigned int autoneg_complete: 1; + unsigned int interrupts: 1; + unsigned int irq_suspended: 1; + unsigned int irq_rerun: 1; + unsigned int default_timestamp: 1; + int rate_matching; + enum phy_state state; + u32 dev_flags; + phy_interface_t interface; + long unsigned int possible_interfaces[1]; + int speed; + int duplex; + int port; + int pause; + int asym_pause; + u8 master_slave_get; + u8 master_slave_set; + u8 master_slave_state; + long unsigned int supported[2]; + long unsigned int advertising[2]; + long unsigned int lp_advertising[2]; + long unsigned int adv_old[2]; + long unsigned int supported_eee[2]; + long unsigned int advertising_eee[2]; + long unsigned int eee_disabled_modes[2]; + bool enable_tx_lpi; + bool eee_active; + struct eee_config eee_cfg; + long unsigned int host_interfaces[1]; + struct phy_led_trigger *phy_led_triggers; + unsigned int phy_num_led_triggers; + struct phy_led_trigger *last_triggered; + struct phy_led_trigger *led_link_trigger; + struct list_head leds; + int irq; + void *priv; + struct phy_package_shared *shared; + struct sk_buff *skb; + void *ehdr; + struct nlattr *nest; + struct delayed_work state_queue; + struct mutex lock; + bool sfp_bus_attached; + struct sfp_bus *sfp_bus; + struct phylink *phylink; + struct net_device *attached_dev; + struct mii_timestamper *mii_ts; + struct pse_control *psec; + u8 mdix; + u8 mdix_ctrl; + int pma_extable; + unsigned int link_down_events; + void (*phy_link_change)(struct phy_device *, bool); + void (*adjust_link)(struct net_device *); + const struct macsec_ops *macsec_ops; +}; + +struct phy_device_node { + enum phy_upstream upstream_type; + union { + struct net_device *netdev; + struct phy_device *phydev; + } upstream; + struct sfp_bus *parent_sfp_bus; + struct phy_device *phy; +}; + +struct phy_devm { + struct usb_phy *phy; + struct notifier_block *nb; +}; + +struct phy_driver { + struct mdio_driver_common mdiodrv; + u32 phy_id; + char *name; + u32 phy_id_mask; + const long unsigned int * const features; + u32 flags; + const void *driver_data; + int (*soft_reset)(struct phy_device *); + int (*config_init)(struct phy_device *); + int (*probe)(struct phy_device *); + int (*get_features)(struct phy_device *); + unsigned int (*inband_caps)(struct phy_device *, phy_interface_t); + int (*config_inband)(struct phy_device *, unsigned int); + int (*get_rate_matching)(struct phy_device *, phy_interface_t); + int (*suspend)(struct phy_device *); + int (*resume)(struct phy_device *); + int (*config_aneg)(struct phy_device *); + int (*aneg_done)(struct phy_device *); + int (*read_status)(struct phy_device *); + int (*config_intr)(struct phy_device *); + irqreturn_t (*handle_interrupt)(struct phy_device *); + void (*remove)(struct phy_device *); + int (*match_phy_device)(struct phy_device *, const struct phy_driver *); + int (*set_wol)(struct phy_device *, struct ethtool_wolinfo *); + void (*get_wol)(struct phy_device *, struct ethtool_wolinfo *); + void (*link_change_notify)(struct phy_device *); + int (*read_mmd)(struct phy_device *, int, u16); + int (*write_mmd)(struct phy_device *, int, u16, u16); + int (*read_page)(struct phy_device *); + int (*write_page)(struct phy_device *, int); + int (*module_info)(struct phy_device *, struct ethtool_modinfo *); + int (*module_eeprom)(struct phy_device *, struct ethtool_eeprom *, u8 *); + int (*cable_test_start)(struct phy_device *); + int (*cable_test_tdr_start)(struct phy_device *, const struct phy_tdr_config *); + int (*cable_test_get_status)(struct phy_device *, bool *); + void (*get_phy_stats)(struct phy_device *, struct ethtool_eth_phy_stats *, struct ethtool_phy_stats *); + void (*get_link_stats)(struct phy_device *, struct ethtool_link_ext_stats *); + int (*update_stats)(struct phy_device *); + int (*get_sset_count)(struct phy_device *); + void (*get_strings)(struct phy_device *, u8 *); + void (*get_stats)(struct phy_device *, struct ethtool_stats *, u64 *); + int (*get_tunable)(struct phy_device *, struct ethtool_tunable *, void *); + int (*set_tunable)(struct phy_device *, struct ethtool_tunable *, const void *); + int (*set_loopback)(struct phy_device *, bool, int); + int (*get_sqi)(struct phy_device *); + int (*get_sqi_max)(struct phy_device *); + int (*get_plca_cfg)(struct phy_device *, struct phy_plca_cfg *); + int (*set_plca_cfg)(struct phy_device *, const struct phy_plca_cfg *); + int (*get_plca_status)(struct phy_device *, struct phy_plca_status *); + int (*led_brightness_set)(struct phy_device *, u8, enum led_brightness); + int (*led_blink_set)(struct phy_device *, u8, long unsigned int *, long unsigned int *); + int (*led_hw_is_supported)(struct phy_device *, u8, long unsigned int); + int (*led_hw_control_set)(struct phy_device *, u8, long unsigned int); + int (*led_hw_control_get)(struct phy_device *, u8, long unsigned int *); + int (*led_polarity_set)(struct phy_device *, int, long unsigned int); + unsigned int (*get_next_update_time)(struct phy_device *); +}; + +struct phy_fixup { + struct list_head list; + char bus_id[64]; + u32 phy_uid; + u32 phy_uid_mask; + int (*run)(struct phy_device *); +}; + +struct phy_led_trigger { + struct led_trigger trigger; + char name[76]; + unsigned int speed; +}; + +struct phy_link_topology { + struct xarray phys; + u32 next_phy_index; +}; + +struct phy_lookup { + struct list_head node; + const char *dev_id; + const char *con_id; + struct phy *phy; +}; + +struct phy_ops { + int (*init)(struct phy *); + int (*exit)(struct phy *); + int (*power_on)(struct phy *); + int (*power_off)(struct phy *); + int (*set_mode)(struct phy *, enum phy_mode, int); + int (*set_media)(struct phy *, enum phy_media); + int (*set_speed)(struct phy *, int); + int (*configure)(struct phy *, union phy_configure_opts *); + int (*validate)(struct phy *, enum phy_mode, int, union phy_configure_opts *); + int (*reset)(struct phy *); + int (*calibrate)(struct phy *); + int (*connect)(struct phy *, int); + int (*disconnect)(struct phy *, int); + void (*release)(struct phy *); + struct module *owner; +}; + +struct phy_plca_cfg { + int version; + int enabled; + int node_id; + int node_cnt; + int to_tmr; + int burst_cnt; + int burst_tmr; +}; + +struct phy_plca_status { + bool pst; +}; + +struct phy_provider { + struct device *dev; + struct device_node *children; + struct module *owner; + struct list_head list; + struct phy * (*of_xlate)(struct device *, const struct of_phandle_args *); +}; + +struct phy_reply_data { + struct ethnl_reply_data base; + u32 phyindex; + char *drvname; + char *name; + unsigned int upstream_type; + char *upstream_sfp_name; + unsigned int upstream_index; + char *downstream_sfp_name; +}; + +struct phy_tdr_config { + u32 first; + u32 last; + u32 step; + s8 pair; +}; + +struct phylib_stubs { + int (*hwtstamp_get)(struct phy_device *, struct kernel_hwtstamp_config *); + int (*hwtstamp_set)(struct phy_device *, struct kernel_hwtstamp_config *, struct netlink_ext_ack *); + void (*get_phy_stats)(struct phy_device *, struct ethtool_eth_phy_stats *, struct ethtool_phy_stats *); + void (*get_link_ext_stats)(struct phy_device *, struct ethtool_link_ext_stats *); +}; + +struct phylink_link_state { + long unsigned int advertising[2]; + long unsigned int lp_advertising[2]; + phy_interface_t interface; + int speed; + int duplex; + int pause; + int rate_matching; + unsigned int link: 1; + unsigned int an_complete: 1; +}; + +struct phylink_pcs; + +struct phylink_mac_ops { + long unsigned int (*mac_get_caps)(struct phylink_config *, phy_interface_t); + struct phylink_pcs * (*mac_select_pcs)(struct phylink_config *, phy_interface_t); + int (*mac_prepare)(struct phylink_config *, unsigned int, phy_interface_t); + void (*mac_config)(struct phylink_config *, unsigned int, const struct phylink_link_state *); + int (*mac_finish)(struct phylink_config *, unsigned int, phy_interface_t); + void (*mac_link_down)(struct phylink_config *, unsigned int, phy_interface_t); + void (*mac_link_up)(struct phylink_config *, struct phy_device *, unsigned int, phy_interface_t, int, int, bool, bool); + void (*mac_disable_tx_lpi)(struct phylink_config *); + int (*mac_enable_tx_lpi)(struct phylink_config *, u32, bool); +}; + +struct phylink_pcs_ops; + +struct phylink_pcs { + long unsigned int supported_interfaces[1]; + const struct phylink_pcs_ops *ops; + struct phylink *phylink; + bool poll; + bool rxc_always_on; +}; + +struct phylink_pcs_ops { + int (*pcs_validate)(struct phylink_pcs *, long unsigned int *, const struct phylink_link_state *); + unsigned int (*pcs_inband_caps)(struct phylink_pcs *, phy_interface_t); + int (*pcs_enable)(struct phylink_pcs *); + void (*pcs_disable)(struct phylink_pcs *); + void (*pcs_pre_config)(struct phylink_pcs *, phy_interface_t); + int (*pcs_post_config)(struct phylink_pcs *, phy_interface_t); + void (*pcs_get_state)(struct phylink_pcs *, unsigned int, struct phylink_link_state *); + int (*pcs_config)(struct phylink_pcs *, unsigned int, phy_interface_t, const long unsigned int *, bool); + void (*pcs_an_restart)(struct phylink_pcs *); + void (*pcs_link_up)(struct phylink_pcs *, unsigned int, phy_interface_t, int, int); + void (*pcs_disable_eee)(struct phylink_pcs *); + void (*pcs_enable_eee)(struct phylink_pcs *); + int (*pcs_pre_init)(struct phylink_pcs *); +}; + +struct phys_vec { + phys_addr_t paddr; + u32 len; +}; + +struct physdev_apic { + long unsigned int apic_physbase; + uint32_t reg; + uint32_t value; +}; + +struct physdev_dbgp_op { + uint8_t op; + uint8_t bus; + union { + struct physdev_pci_device pci; + } u; +}; + +struct physdev_eoi { + uint32_t irq; +}; + +struct physdev_get_free_pirq { + int type; + uint32_t pirq; +}; + +struct physdev_irq { + uint32_t irq; + uint32_t vector; +}; + +struct physdev_irq_status_query { + uint32_t irq; + uint32_t flags; +}; + +struct physdev_manage_pci { + uint8_t bus; + uint8_t devfn; +}; + +struct physdev_manage_pci_ext { + uint8_t bus; + uint8_t devfn; + unsigned int is_extfn; + unsigned int is_virtfn; + struct { + uint8_t bus; + uint8_t devfn; + } physfn; +}; + +struct physdev_map_pirq { + domid_t domid; + int type; + int index; + int pirq; + int bus; + int devfn; + int entry_nr; + uint64_t table_base; +}; + +struct physdev_pci_device_add { + uint16_t seg; + uint8_t bus; + uint8_t devfn; + uint32_t flags; + struct { + uint8_t bus; + uint8_t devfn; + } physfn; + uint32_t optarr[0]; +}; + +struct physdev_pci_mmcfg_reserved { + uint64_t address; + uint16_t segment; + uint8_t start_bus; + uint8_t end_bus; + uint32_t flags; +}; + +struct physdev_pirq_eoi_gmfn { + xen_ulong_t gmfn; +}; + +struct physdev_restore_msi { + uint8_t bus; + uint8_t devfn; +}; + +struct physdev_set_iobitmap { + uint8_t *bitmap; + uint32_t nr_ports; +}; + +struct physdev_set_iopl { + uint32_t iopl; +}; + +struct physdev_setup_gsi { + int gsi; + uint8_t triggering; + uint8_t polarity; +}; + +struct physdev_unmap_pirq { + domid_t domid; + int pirq; +}; + +struct upid { + int nr; + struct pid_namespace *ns; +}; + +struct pidfs_attr; + +struct pid { + refcount_t count; + unsigned int level; + spinlock_t lock; + struct { + u64 ino; + struct rb_node pidfs_node; + struct dentry *stashed; + struct pidfs_attr *attr; + }; + struct hlist_head tasks[4]; + struct hlist_head inodes; + wait_queue_head_t wait_pidfd; + struct callback_head rcu; + struct upid numbers[0]; +}; + +union proc_op { + int (*proc_get_link)(struct dentry *, struct path *); + int (*proc_show)(struct seq_file *, struct pid_namespace *, struct pid *, struct task_struct *); + int lsmid; +}; + +struct pid_entry { + const char *name; + unsigned int len; + umode_t mode; + const struct inode_operations *iop; + const struct file_operations *fop; + union proc_op op; +}; + +struct pid_namespace { + struct idr idr; + struct callback_head rcu; + unsigned int pid_allocated; + struct task_struct *child_reaper; + struct kmem_cache *pid_cachep; + unsigned int level; + int pid_max; + struct pid_namespace *parent; + struct fs_pin *bacct; + struct user_namespace *user_ns; + struct ucounts *ucounts; + int reboot; + struct ns_common ns; + struct work_struct work; + struct ctl_table_set set; + struct ctl_table_header *sysctls; + int memfd_noexec_scope; +}; + +struct pidfd_info { + __u64 mask; + __u64 cgroupid; + __u32 pid; + __u32 tgid; + __u32 ppid; + __u32 ruid; + __u32 rgid; + __u32 euid; + __u32 egid; + __u32 suid; + __u32 sgid; + __u32 fsuid; + __u32 fsgid; + __s32 exit_code; + __u32 coredump_mask; + __u32 __spare1; +}; + +struct pidfs_exit_info { + __u64 cgroupid; + __s32 exit_code; + __u32 coredump_mask; +}; + +struct pidfs_attr { + struct simple_xattrs *xattrs; + struct pidfs_exit_info __pei; + struct pidfs_exit_info *exit_info; +}; + +struct pids_cgroup { + struct cgroup_subsys_state css; + atomic64_t counter; + atomic64_t limit; + int64_t watermark; + struct cgroup_file events_file; + struct cgroup_file events_local_file; + atomic64_t events[2]; + atomic64_t events_local[2]; +}; + +struct piix_host_priv { + const int *map; + u32 saved_iocfg; + void *sidpr; +}; + +struct piix_map_db { + const u32 mask; + const u16 port_enable; + const int map[0]; +}; + +struct pimreghdr { + __u8 type; + __u8 reserved; + __be16 csum; + __be32 flags; +}; + +struct pin_config_item { + const enum pin_config_param param; + const char * const display; + const char * const format; + bool has_arg; +}; + +struct pinctrl_setting_mux; + +struct pin_desc { + struct pinctrl_dev *pctldev; + const char *name; + bool dynamic_name; + void *drv_data; + unsigned int mux_usecount; + const char *mux_owner; + const struct pinctrl_setting_mux *mux_setting; + const char *gpio_owner; + struct mutex mux_lock; +}; + +struct pinconf_generic_params { + const char * const property; + enum pin_config_param param; + u32 default_value; +}; + +struct pinconf_ops { + bool is_generic; + int (*pin_config_get)(struct pinctrl_dev *, unsigned int, long unsigned int *); + int (*pin_config_set)(struct pinctrl_dev *, unsigned int, long unsigned int *, unsigned int); + int (*pin_config_group_get)(struct pinctrl_dev *, unsigned int, long unsigned int *); + int (*pin_config_group_set)(struct pinctrl_dev *, unsigned int, long unsigned int *, unsigned int); + void (*pin_config_dbg_show)(struct pinctrl_dev *, struct seq_file *, unsigned int); + void (*pin_config_group_dbg_show)(struct pinctrl_dev *, struct seq_file *, unsigned int); + void (*pin_config_config_dbg_show)(struct pinctrl_dev *, struct seq_file *, long unsigned int); +}; + +struct pinctrl { + struct list_head node; + struct device *dev; + struct list_head states; + struct pinctrl_state *state; + struct list_head dt_maps; + struct kref users; +}; + +struct pinctrl_dev { + struct list_head node; + const struct pinctrl_desc *desc; + struct xarray pin_desc_tree; + struct list_head gpio_ranges; + struct device *dev; + struct module *owner; + void *driver_data; + struct pinctrl *p; + struct pinctrl_state *hog_default; + struct pinctrl_state *hog_sleep; + struct mutex mutex; + struct dentry *device_root; +}; + +struct pinctrl_map_mux { + const char *group; + const char *function; +}; + +struct pinctrl_map_configs { + const char *group_or_pin; + long unsigned int *configs; + unsigned int num_configs; +}; + +struct pinctrl_map { + const char *dev_name; + const char *name; + enum pinctrl_map_type type; + const char *ctrl_dev_name; + union { + struct pinctrl_map_mux mux; + struct pinctrl_map_configs configs; + } data; +}; + +struct pinctrl_maps { + struct list_head node; + const struct pinctrl_map *maps; + unsigned int num_maps; +}; + +struct pinctrl_ops { + int (*get_groups_count)(struct pinctrl_dev *); + const char * (*get_group_name)(struct pinctrl_dev *, unsigned int); + int (*get_group_pins)(struct pinctrl_dev *, unsigned int, const unsigned int **, unsigned int *); + void (*pin_dbg_show)(struct pinctrl_dev *, struct seq_file *, unsigned int); + int (*dt_node_to_map)(struct pinctrl_dev *, struct device_node *, struct pinctrl_map **, unsigned int *); + void (*dt_free_map)(struct pinctrl_dev *, struct pinctrl_map *, unsigned int); +}; + +struct pinctrl_pin_desc { + unsigned int number; + const char *name; + void *drv_data; +}; + +struct pinctrl_setting_mux { + unsigned int group; + unsigned int func; +}; + +struct pinctrl_setting_configs { + unsigned int group_or_pin; + long unsigned int *configs; + unsigned int num_configs; +}; + +struct pinctrl_setting { + struct list_head node; + enum pinctrl_map_type type; + struct pinctrl_dev *pctldev; + const char *dev_name; + union { + struct pinctrl_setting_mux mux; + struct pinctrl_setting_configs configs; + } data; +}; + +struct pinctrl_state { + struct list_head node; + const char *name; + struct list_head settings; +}; + +struct ping_iter_state { + struct seq_net_private p; + int bucket; + sa_family_t family; +}; + +struct ping_table { + struct hlist_head hash[64]; + spinlock_t lock; +}; + +struct pingfakehdr { + struct icmphdr icmph; + struct msghdr *msg; + sa_family_t family; + __wsum wcheck; +}; + +struct pingv6_ops { + int (*ipv6_recv_error)(struct sock *, struct msghdr *, int, int *); + void (*ip6_datagram_recv_common_ctl)(struct sock *, struct msghdr *, struct sk_buff *); + void (*ip6_datagram_recv_specific_ctl)(struct sock *, struct msghdr *, struct sk_buff *); + int (*icmpv6_err_convert)(u8, u8, int *); + void (*ipv6_icmp_error)(struct sock *, struct sk_buff *, int, __be16, u32, u8 *); + int (*ipv6_chk_addr)(struct net *, const struct in6_addr *, const struct net_device *, int); +}; + +struct pinmux_ops { + int (*request)(struct pinctrl_dev *, unsigned int); + int (*free)(struct pinctrl_dev *, unsigned int); + int (*get_functions_count)(struct pinctrl_dev *); + const char * (*get_function_name)(struct pinctrl_dev *, unsigned int); + int (*get_function_groups)(struct pinctrl_dev *, unsigned int, const char * const **, unsigned int *); + int (*set_mux)(struct pinctrl_dev *, unsigned int, unsigned int); + int (*gpio_request_enable)(struct pinctrl_dev *, struct pinctrl_gpio_range *, unsigned int); + void (*gpio_disable_free)(struct pinctrl_dev *, struct pinctrl_gpio_range *, unsigned int); + int (*gpio_set_direction)(struct pinctrl_dev *, struct pinctrl_gpio_range *, unsigned int, bool); + bool strict; +}; + +struct pinned_mountpoint { + struct hlist_node node; + struct mountpoint *mp; +}; + +struct pipe_buf_operations { + int (*confirm)(struct pipe_inode_info *, struct pipe_buffer *); + void (*release)(struct pipe_inode_info *, struct pipe_buffer *); + bool (*try_steal)(struct pipe_inode_info *, struct pipe_buffer *); + bool (*get)(struct pipe_inode_info *, struct pipe_buffer *); +}; + +struct pipe_buffer { + struct page *page; + unsigned int offset; + unsigned int len; + const struct pipe_buf_operations *ops; + unsigned int flags; + long unsigned int private; +}; + +union pipe_index { + long unsigned int head_tail; + struct { + pipe_index_t head; + pipe_index_t tail; + }; +}; + +struct watch_queue; + +struct pipe_inode_info { + struct mutex mutex; + wait_queue_head_t rd_wait; + wait_queue_head_t wr_wait; + union { + long unsigned int head_tail; + struct { + pipe_index_t head; + pipe_index_t tail; + }; + }; + unsigned int max_usage; + unsigned int ring_size; + unsigned int nr_accounted; + unsigned int readers; + unsigned int writers; + unsigned int files; + unsigned int r_counter; + unsigned int w_counter; + bool poll_usage; + bool note_loss; + struct page *tmp_page[2]; + struct fasync_struct *fasync_readers; + struct fasync_struct *fasync_writers; + struct pipe_buffer *bufs; + struct user_struct *user; + struct watch_queue *watch_queue; +}; + +struct pipe_wait { + struct trace_iterator *iter; + int wait_index; +}; + +struct pkcs1pad_ctx { + struct crypto_akcipher *child; + unsigned int key_size; +}; + +struct pkcs1pad_inst_ctx { + struct crypto_akcipher_spawn spawn; +}; + +struct pkcs1pad_request { + struct scatterlist in_sg[2]; + struct scatterlist out_sg[1]; + uint8_t *in_buf; + uint8_t *out_buf; + struct akcipher_request child_req; +}; + +struct x509_certificate; + +struct pkcs7_signed_info; + +struct pkcs7_message { + struct x509_certificate *certs; + struct x509_certificate *crl; + struct pkcs7_signed_info *signed_infos; + u8 version; + bool have_authattrs; + enum OID data_type; + size_t data_len; + size_t data_hdrlen; + const void *data; +}; + +struct pkcs7_parse_context { + struct pkcs7_message *msg; + struct pkcs7_signed_info *sinfo; + struct pkcs7_signed_info **ppsinfo; + struct x509_certificate *certs; + struct x509_certificate **ppcerts; + long unsigned int data; + enum OID last_oid; + unsigned int x509_index; + unsigned int sinfo_index; + const void *raw_serial; + unsigned int raw_serial_size; + unsigned int raw_issuer_size; + const void *raw_issuer; + const void *raw_skid; + unsigned int raw_skid_size; + bool expect_skid; +}; + +struct pkcs7_signed_info { + struct pkcs7_signed_info *next; + struct x509_certificate *signer; + unsigned int index; + bool unsupported_crypto; + bool blacklisted; + const void *msgdigest; + unsigned int msgdigest_len; + unsigned int authattrs_len; + const void *authattrs; + long unsigned int aa_set; + time64_t signing_time; + struct public_key_signature *sig; +}; + +struct pkey_security_struct { + u64 subnet_prefix; + u16 pkey; + u32 sid; +}; + +struct pkru_state { + u32 pkru; + u32 pad; +}; + +struct plat_serial8250_port { + long unsigned int iobase; + void *membase; + resource_size_t mapbase; + resource_size_t mapsize; + unsigned int uartclk; + unsigned int irq; + long unsigned int irqflags; + void *private_data; + unsigned char regshift; + unsigned char iotype; + unsigned char hub6; + unsigned char has_sysrq; + unsigned int type; + upf_t flags; + u16 bugs; + u32 (*serial_in)(struct uart_port *, unsigned int); + void (*serial_out)(struct uart_port *, unsigned int, u32); + u32 (*dl_read)(struct uart_8250_port *); + void (*dl_write)(struct uart_8250_port *, u32); + void (*set_termios)(struct uart_port *, struct ktermios *, const struct ktermios *); + void (*set_ldisc)(struct uart_port *, struct ktermios *); + unsigned int (*get_mctrl)(struct uart_port *); + int (*handle_irq)(struct uart_port *); + void (*pm)(struct uart_port *, unsigned int, unsigned int); + void (*handle_break)(struct uart_port *); +}; + +struct platform_device_id { + char name[24]; + kernel_ulong_t driver_data; +}; + +struct platform_device_info { + struct device *parent; + struct fwnode_handle *fwnode; + bool of_node_reused; + const char *name; + int id; + const struct resource *res; + unsigned int num_res; + const void *data; + size_t size_data; + u64 dma_mask; + const struct property_entry *properties; +}; + +struct platform_driver { + int (*probe)(struct platform_device *); + void (*remove)(struct platform_device *); + void (*shutdown)(struct platform_device *); + int (*suspend)(struct platform_device *, pm_message_t); + int (*resume)(struct platform_device *); + struct device_driver driver; + const struct platform_device_id *id_table; + bool prevent_deferred_probe; + bool driver_managed_dma; +}; + +struct platform_hibernation_ops { + int (*begin)(pm_message_t); + void (*end)(void); + int (*pre_snapshot)(void); + void (*finish)(void); + int (*prepare)(void); + int (*enter)(void); + void (*leave)(void); + int (*pre_restore)(void); + void (*restore_cleanup)(void); + void (*recover)(void); +}; + +struct platform_object { + struct platform_device pdev; + char name[0]; +}; + +struct platform_s2idle_ops { + int (*begin)(void); + int (*prepare)(void); + int (*prepare_late)(void); + void (*check)(void); + bool (*wake)(void); + void (*restore_early)(void); + void (*restore)(void); + void (*end)(void); +}; + +struct platform_suspend_ops { + int (*valid)(suspend_state_t); + int (*begin)(suspend_state_t); + int (*prepare)(void); + int (*prepare_late)(void); + int (*enter)(suspend_state_t); + void (*wake)(void); + void (*finish)(void); + bool (*suspend_again)(void); + void (*end)(void); + void (*recover)(void); +}; + +struct plca_reply_data { + struct ethnl_reply_data base; + struct phy_plca_cfg plca_cfg; + struct phy_plca_status plca_st; +}; + +struct pldm_pci_record_id { + int vendor; + int device; + int subsystem_vendor; + int subsystem_device; +}; + +struct pldmfw_ops; + +struct pldmfw { + const struct pldmfw_ops *ops; + struct device *dev; + u16 component_identifier; + enum pldmfw_update_mode mode; +}; + +struct pldmfw_component { + struct list_head entry; + u16 classification; + u16 identifier; + u16 options; + u16 activation_method; + u32 comparison_stamp; + u32 component_size; + const u8 *component_data; + const u8 *version_string; + u8 version_type; + u8 version_len; + u8 index; +}; + +struct pldmfw_desc_tlv { + struct list_head entry; + const u8 *data; + u16 type; + u16 size; +}; + +struct pldmfw_record; + +struct pldmfw_ops { + bool (*match_record)(struct pldmfw *, struct pldmfw_record *); + int (*send_package_data)(struct pldmfw *, const u8 *, u16); + int (*send_component_table)(struct pldmfw *, struct pldmfw_component *, u8); + int (*flash_component)(struct pldmfw *, struct pldmfw_component *); + int (*finalize_update)(struct pldmfw *); +}; + +struct pldmfw_priv { + struct pldmfw *context; + const struct firmware *fw; + size_t offset; + struct list_head records; + struct list_head components; + const struct __pldm_header *header; + u16 total_header_size; + u16 component_bitmap_len; + u16 bitmap_size; + u16 component_count; + const u8 *component_start; + const u8 *record_start; + u8 record_count; + u32 header_crc; + struct pldmfw_record *matching_record; +}; + +struct pldmfw_record { + struct list_head entry; + struct list_head descs; + const u8 *version_string; + u8 version_type; + u8 version_len; + u16 package_data_len; + u32 device_update_flags; + const u8 *package_data; + long unsigned int *component_bitmap; + u16 component_bitmap_len; +}; + +struct pm860x_backlight_pdata { + int pwm; + int iset; +}; + +struct pm860x_chip { + struct device *dev; + struct mutex irq_lock; + struct mutex osc_lock; + struct i2c_client *client; + struct i2c_client *companion; + struct regmap *regmap; + struct regmap *regmap_companion; + int buck3_double; + int companion_addr; + short unsigned int osc_vote; + int id; + int irq_mode; + int irq_base; + int core_irq; + unsigned char chip_version; + unsigned char osc_status; + unsigned int wakeup_flag; +}; + +struct pm860x_irq_data { + int reg; + int mask_reg; + int enable; + int offs; +}; + +struct pm860x_led_pdata { + int iset; +}; + +struct pm860x_rtc_pdata; + +struct pm860x_touch_pdata; + +struct pm860x_power_pdata; + +struct pm860x_platform_data { + struct pm860x_backlight_pdata *backlight; + struct pm860x_led_pdata *led; + struct pm860x_rtc_pdata *rtc; + struct pm860x_touch_pdata *touch; + struct pm860x_power_pdata *power; + struct regulator_init_data *buck1; + struct regulator_init_data *buck2; + struct regulator_init_data *buck3; + struct regulator_init_data *ldo1; + struct regulator_init_data *ldo2; + struct regulator_init_data *ldo3; + struct regulator_init_data *ldo4; + struct regulator_init_data *ldo5; + struct regulator_init_data *ldo6; + struct regulator_init_data *ldo7; + struct regulator_init_data *ldo8; + struct regulator_init_data *ldo9; + struct regulator_init_data *ldo10; + struct regulator_init_data *ldo12; + struct regulator_init_data *ldo_vibrator; + struct regulator_init_data *ldo14; + struct charger_desc *chg_desc; + int companion_addr; + int i2c_port; + int irq_mode; + int irq_base; + int num_leds; + int num_backlights; +}; + +struct pm860x_power_pdata { + int max_capacity; + int resistor; +}; + +struct pm860x_rtc_pdata { + int (*sync)(unsigned int); + int vrtc; +}; + +struct pm860x_touch_pdata { + int gpadc_prebias; + int slot_cycle; + int off_scale; + int sw_cal; + int tsi_prebias; + int pen_prebias; + int pen_prechg; + int res_x; + long unsigned int flags; +}; + +struct pm_clk_notifier_block { + struct notifier_block nb; + struct dev_pm_domain *pm_domain; + char *con_ids[0]; +}; + +struct pm_clock_entry { + struct list_head node; + char *con_id; + struct clk *clk; + enum pce_status status; + bool enabled_when_prepared; +}; + +struct pm_nl_pernet { + spinlock_t lock; + struct list_head local_addr_list; + unsigned int addrs; + unsigned int stale_loss_cnt; + unsigned int add_addr_signal_max; + unsigned int add_addr_accept_max; + unsigned int local_addr_max; + unsigned int subflows_max; + unsigned int next_id; + long unsigned int id_bitmap[4]; +}; + +struct pm_qos_request { + struct plist_node node; + struct pm_qos_constraints *qos; +}; + +struct pm_subsys_data { + spinlock_t lock; + unsigned int refcount; + unsigned int clock_op_might_sleep; + struct mutex clock_mutex; + struct list_head clock_list; + struct pm_domain_data *domain_data; +}; + +struct pm_vt_switch { + struct list_head head; + struct device *dev; + bool required; +}; + +struct pmc_bit_map { + const char *name; + u32 bit_mask; +}; + +struct pmc_clk { + const char *name; + long unsigned int freq; + const char *parent_name; +}; + +struct pmc_clk_data { + void *base; + const struct pmc_clk *clks; + bool critical; +}; + +struct pmc_reg_map; + +struct pmc_data { + const struct pmc_reg_map *map; + const struct pmc_clk *clks; +}; + +struct pmc_dev { + u32 base_addr; + void *regmap; + const struct pmc_reg_map *map; + struct dentry *dbgfs_dir; + bool init; +}; + +struct pmc_reg_map { + const struct pmc_bit_map *d3_sts_0; + const struct pmc_bit_map *d3_sts_1; + const struct pmc_bit_map *func_dis; + const struct pmc_bit_map *func_dis_2; + const struct pmc_bit_map *pss; +}; + +struct pmic_table { + int address; + int reg; + int bit; +}; + +struct pmu_event_list { + raw_spinlock_t lock; + struct list_head list; +}; + +struct pmu_mode { + const char *name; + uint32_t mode; +}; + +struct pneigh_entry { + struct pneigh_entry *next; + possible_net_t net; + struct net_device *dev; + netdevice_tracker dev_tracker; + union { + struct list_head free_node; + struct callback_head rcu; + }; + u32 flags; + u8 protocol; + bool permanent; + u32 key[0]; +}; + +struct pnfs_commit_ops; + +struct pnfs_ds_commit_info { + struct list_head commits; + unsigned int nwritten; + unsigned int ncommitting; + const struct pnfs_commit_ops *ops; +}; + +struct pnp_protocol; + +struct pnp_id; + +struct pnp_card { + struct device dev; + unsigned char number; + struct list_head global_list; + struct list_head protocol_list; + struct list_head devices; + struct pnp_protocol *protocol; + struct pnp_id *id; + char name[50]; + unsigned char pnpver; + unsigned char productver; + unsigned int serial; + unsigned char checksum; + struct proc_dir_entry *procdir; +}; + +struct pnp_card_device_id { + __u8 id[8]; + kernel_ulong_t driver_data; + struct { + __u8 id[8]; + } devs[8]; +}; + +struct pnp_device_id; + +struct pnp_driver { + const char *name; + const struct pnp_device_id *id_table; + unsigned int flags; + int (*probe)(struct pnp_dev *, const struct pnp_device_id *); + void (*remove)(struct pnp_dev *); + void (*shutdown)(struct pnp_dev *); + int (*suspend)(struct pnp_dev *, pm_message_t); + int (*resume)(struct pnp_dev *); + struct device_driver driver; +}; + +struct pnp_card_link; + +struct pnp_card_driver { + struct list_head global_list; + char *name; + const struct pnp_card_device_id *id_table; + unsigned int flags; + int (*probe)(struct pnp_card_link *, const struct pnp_card_device_id *); + void (*remove)(struct pnp_card_link *); + int (*suspend)(struct pnp_card_link *, pm_message_t); + int (*resume)(struct pnp_card_link *); + struct pnp_driver link; +}; + +struct pnp_card_link { + struct pnp_card *card; + struct pnp_card_driver *driver; + void *driver_data; + pm_message_t pm_state; +}; + +struct pnp_dev { + struct device dev; + u64 dma_mask; + unsigned int number; + int status; + struct list_head global_list; + struct list_head protocol_list; + struct list_head card_list; + struct list_head rdev_list; + struct pnp_protocol *protocol; + struct pnp_card *card; + struct pnp_driver *driver; + struct pnp_card_link *card_link; + struct pnp_id *id; + int active; + int capabilities; + unsigned int num_dependent_sets; + struct list_head resources; + struct list_head options; + char name[50]; + int flags; + struct proc_dir_entry *procent; + void *data; +}; + +struct pnp_device_id { + __u8 id[8]; + kernel_ulong_t driver_data; +}; + +struct pnp_dma { + unsigned char map; + unsigned char flags; +}; + +struct pnp_fixup { + char id[8]; + void (*quirk_function)(struct pnp_dev *); +}; + +struct pnp_id { + char id[8]; + struct pnp_id *next; +}; + +struct pnp_info_buffer { + char *buffer; + char *curr; + long unsigned int size; + long unsigned int len; + int stop; + int error; +}; + +typedef struct pnp_info_buffer pnp_info_buffer_t; + +struct pnp_irq { + pnp_irq_mask_t map; + unsigned char flags; +}; + +struct pnp_mem { + resource_size_t min; + resource_size_t max; + resource_size_t align; + resource_size_t size; + unsigned char flags; +}; + +struct pnp_port { + resource_size_t min; + resource_size_t max; + resource_size_t align; + resource_size_t size; + unsigned char flags; +}; + +struct pnp_option { + struct list_head list; + unsigned int flags; + long unsigned int type; + union { + struct pnp_port port; + struct pnp_irq irq; + struct pnp_dma dma; + struct pnp_mem mem; + } u; +}; + +struct pnp_protocol { + struct list_head protocol_list; + char *name; + int (*get)(struct pnp_dev *); + int (*set)(struct pnp_dev *); + int (*disable)(struct pnp_dev *); + bool (*can_wakeup)(struct pnp_dev *); + int (*suspend)(struct pnp_dev *, pm_message_t); + int (*resume)(struct pnp_dev *); + unsigned char number; + struct device dev; + struct list_head cards; + struct list_head devices; +}; + +struct pnp_resource { + struct list_head list; + struct resource res; +}; + +struct policy_file; + +struct policy_data { + struct policydb *p; + struct policy_file *fp; +}; + +struct policy_file { + char *data; + size_t len; +}; + +struct policy_load_memory { + size_t len; + void *data; +}; + +struct role_datum; + +struct user_datum; + +struct type_datum; + +struct role_allow; + +struct policydb { + int mls_enabled; + struct symtab symtab[8]; + char **sym_val_to_name[8]; + struct class_datum **class_val_to_struct; + struct role_datum **role_val_to_struct; + struct user_datum **user_val_to_struct; + struct type_datum **type_val_to_struct; + struct avtab te_avtab; + struct hashtab role_tr; + struct ebitmap filename_trans_ttypes; + struct hashtab filename_trans; + u32 compat_filename_trans_count; + struct cond_bool_datum **bool_val_to_struct; + struct avtab te_cond_avtab; + struct cond_node *cond_list; + u32 cond_list_len; + struct role_allow *role_allow; + struct ocontext *ocontexts[9]; + struct genfs *genfs; + struct hashtab range_tr; + struct ebitmap *type_attr_map_array; + struct ebitmap policycaps; + struct ebitmap permissive_map; + struct ebitmap neveraudit_map; + size_t len; + unsigned int policyvers; + unsigned int reject_unknown: 1; + unsigned int allow_unknown: 1; + u16 process_class; + u32 process_trans_perms; +}; + +struct policydb_compat_info { + unsigned int version; + unsigned int sym_num; + unsigned int ocon_num; +}; + +struct pollfd { + int fd; + short int events; + short int revents; +}; + +struct poll_list { + struct poll_list *next; + unsigned int len; + struct pollfd entries[0]; +}; + +struct poll_table_entry { + struct file *filp; + __poll_t key; + wait_queue_entry_t wait; + wait_queue_head_t *wait_address; +}; + +struct poll_table_page { + struct poll_table_page *next; + struct poll_table_entry *entry; + struct poll_table_entry entries[0]; +}; + +struct poll_wqueues { + poll_table pt; + struct poll_table_page *table; + struct task_struct *polling_task; + int triggered; + int error; + int inline_index; + struct poll_table_entry inline_entries[9]; +}; + +struct poly1305_arch_internal { + union { + struct { + u32 h[5]; + u32 is_base2_26; + }; + u64 hs[3]; + }; + u64 r[2]; + u64 pad; + struct { + u32 r2; + u32 r1; + u32 r4; + u32 r3; + } rn[9]; +}; + +struct poly1305_state { + union { + u32 h[5]; + u64 h64[3]; + }; +}; + +struct poly1305_key { + union { + u32 r[5]; + u64 r64[3]; + }; +}; + +struct poly1305_core_key { + struct poly1305_key key; + struct poly1305_key precomputed_s; +}; + +struct poly1305_block_state { + struct poly1305_state h; + union { + struct poly1305_key opaque_r[11]; + struct poly1305_core_key core_r; + }; +}; + +struct poly1305_desc_ctx { + u8 buf[16]; + unsigned int buflen; + u32 s[4]; + struct poly1305_block_state state; +}; + +struct worker_pool; + +struct pool_workqueue { + struct worker_pool *pool; + struct workqueue_struct *wq; + int work_color; + int flush_color; + int refcnt; + int nr_in_flight[16]; + bool plugged; + int nr_active; + struct list_head inactive_works; + struct list_head pending_node; + struct list_head pwqs_node; + struct list_head mayday_node; + u64 stats[8]; + struct kthread_work release_work; + struct callback_head rcu; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct port_stats { + long unsigned int bytes_sent; + long unsigned int bytes_received; + long unsigned int bytes_discarded; +}; + +struct ports_device; + +struct port_buffer; + +struct virtqueue; + +struct port { + struct list_head list; + struct ports_device *portdev; + struct port_buffer *inbuf; + spinlock_t inbuf_lock; + spinlock_t outvq_lock; + struct virtqueue *in_vq; + struct virtqueue *out_vq; + struct dentry *debugfs_file; + struct port_stats stats; + struct console___2 cons; + struct cdev *cdev; + struct device *dev; + struct kref kref; + wait_queue_head_t waitqueue; + char *name; + struct fasync_struct *async_queue; + u32 id; + bool outvq_full; + bool host_connected; + bool guest_connected; +}; + +struct port_buffer { + char *buf; + size_t size; + size_t len; + size_t offset; + dma_addr_t dma; + struct device *dev; + struct list_head list; + unsigned int sgpages; + struct scatterlist sg[0]; +}; + +struct port_identity { + struct clock_identity clock_identity; + __be16 port_number; +}; + +struct portdrv_service_data { + struct pcie_port_service_driver *drv; + struct device *dev; + u32 service; +}; + +struct virtio_console_control { + __virtio32 id; + __virtio16 event; + __virtio16 value; +}; + +struct virtio_device; + +struct ports_device { + struct list_head list; + struct work_struct control_work; + struct work_struct config_work; + struct list_head ports; + spinlock_t ports_lock; + spinlock_t c_ivq_lock; + spinlock_t c_ovq_lock; + u32 max_nr_ports; + struct virtio_device *vdev; + struct virtqueue *c_ivq; + struct virtqueue *c_ovq; + struct virtio_console_control cpkt; + struct virtqueue **in_vqs; + struct virtqueue **out_vqs; + int chr_major; +}; + +struct ports_driver_data { + struct dentry *debugfs_dir; + struct list_head portdevs; + struct list_head consoles; +}; + +struct posix_acl_hdr { + refcount_t a_refcount; + unsigned int a_count; + struct callback_head a_rcu; +}; + +struct posix_acl_entry { + short int e_tag; + short unsigned int e_perm; + union { + kuid_t e_uid; + kgid_t e_gid; + }; +}; + +struct posix_acl { + union { + struct { + refcount_t a_refcount; + unsigned int a_count; + struct callback_head a_rcu; + }; + struct posix_acl_hdr hdr; + }; + struct posix_acl_entry a_entries[0]; +}; + +struct posix_acl_xattr_entry { + __le16 e_tag; + __le16 e_perm; + __le32 e_id; +}; + +struct posix_acl_xattr_header { + __le32 a_version; +}; + +struct posix_clock; + +struct posix_clock_context; + +struct posix_clock_operations { + struct module *owner; + int (*clock_adjtime)(struct posix_clock *, struct __kernel_timex *); + int (*clock_gettime)(struct posix_clock *, struct timespec64 *); + int (*clock_getres)(struct posix_clock *, struct timespec64 *); + int (*clock_settime)(struct posix_clock *, const struct timespec64 *); + long int (*ioctl)(struct posix_clock_context *, unsigned int, long unsigned int); + int (*open)(struct posix_clock_context *, fmode_t); + __poll_t (*poll)(struct posix_clock_context *, struct file *, poll_table *); + int (*release)(struct posix_clock_context *); + ssize_t (*read)(struct posix_clock_context *, uint, char *, size_t); +}; + +struct posix_clock { + struct posix_clock_operations ops; + struct cdev cdev; + struct device *dev; + struct rw_semaphore rwsem; + bool zombie; +}; + +struct posix_clock_context { + struct posix_clock *clk; + struct file *fp; + void *private_clkdata; +}; + +struct posix_clock_desc { + struct file *fp; + struct posix_clock *clk; +}; + +struct posix_cputimer_base { + u64 nextevt; + struct timerqueue_head tqhead; +}; + +struct posix_cputimers { + struct posix_cputimer_base bases[3]; + unsigned int timers_active; + unsigned int expiry_active; +}; + +struct posix_cputimers_work { + struct callback_head work; + struct mutex mutex; + unsigned int scheduled; +}; + +struct posix_msg_tree_node { + struct rb_node rb_node; + struct list_head msg_list; + int priority; +}; + +struct postprocess_bh_ctx { + struct work_struct work; + struct buffer_head *bh; +}; + +struct power_actor { + u32 req_power; + u32 max_power; + u32 granted_power; + u32 extra_actor_power; + u32 weighted_req_power; +}; + +struct thermal_trip; + +struct power_allocator_params { + bool allocated_tzp; + bool update_cdevs; + s64 err_integral; + s32 prev_err; + u32 sustainable_power; + const struct thermal_trip *trip_switch_on; + const struct thermal_trip *trip_max; + int total_weight; + unsigned int num_actors; + unsigned int buffer_size; + struct power_actor *power; +}; + +struct power_supply_battery_info; + +struct power_supply { + const struct power_supply_desc *desc; + char **supplied_to; + size_t num_supplicants; + char **supplied_from; + size_t num_supplies; + void *drv_data; + struct device dev; + struct work_struct changed_work; + struct delayed_work deferred_register_work; + spinlock_t changed_lock; + bool changed; + bool update_groups; + bool initialized; + bool removing; + atomic_t use_cnt; + struct power_supply_battery_info *battery_info; + struct rw_semaphore extensions_sem; + struct list_head extensions; + struct thermal_zone_device *tzd; + struct thermal_cooling_device *tcd; + struct led_trigger *trig; + struct led_trigger *charging_trig; + struct led_trigger *full_trig; + struct led_trigger *charging_blink_full_solid_trig; + struct led_trigger *charging_orange_full_green_trig; +}; + +struct power_supply_attr { + const char *prop_name; + char attr_name[31]; + struct device_attribute dev_attr; + const char * const *text_values; + int text_values_len; +}; + +struct power_supply_maintenance_charge_table; + +struct power_supply_battery_ocv_table; + +struct power_supply_resistance_temp_table; + +struct power_supply_vbat_ri_table; + +struct power_supply_battery_info { + unsigned int technology; + int energy_full_design_uwh; + int charge_full_design_uah; + int voltage_min_design_uv; + int voltage_max_design_uv; + int tricklecharge_current_ua; + int precharge_current_ua; + int precharge_voltage_max_uv; + int charge_term_current_ua; + int charge_restart_voltage_uv; + int overvoltage_limit_uv; + int constant_charge_current_max_ua; + int constant_charge_voltage_max_uv; + const struct power_supply_maintenance_charge_table *maintenance_charge; + int maintenance_charge_size; + int alert_low_temp_charge_current_ua; + int alert_low_temp_charge_voltage_uv; + int alert_high_temp_charge_current_ua; + int alert_high_temp_charge_voltage_uv; + int factory_internal_resistance_uohm; + int factory_internal_resistance_charging_uohm; + int ocv_temp[20]; + int temp_ambient_alert_min; + int temp_ambient_alert_max; + int temp_alert_min; + int temp_alert_max; + int temp_min; + int temp_max; + const struct power_supply_battery_ocv_table *ocv_table[20]; + int ocv_table_size[20]; + const struct power_supply_resistance_temp_table *resist_table; + int resist_table_size; + const struct power_supply_vbat_ri_table *vbat2ri_discharging; + int vbat2ri_discharging_size; + const struct power_supply_vbat_ri_table *vbat2ri_charging; + int vbat2ri_charging_size; + int bti_resistance_ohm; + int bti_resistance_tolerance; +}; + +struct power_supply_battery_ocv_table { + int ocv; + int capacity; +}; + +struct power_supply_config { + struct fwnode_handle *fwnode; + void *drv_data; + const struct attribute_group **attr_grp; + char **supplied_to; + size_t num_supplicants; + bool no_wakeup_source; +}; + +struct power_supply_ext { + const char * const name; + u8 charge_behaviours; + u32 charge_types; + const enum power_supply_property *properties; + size_t num_properties; + int (*get_property)(struct power_supply *, const struct power_supply_ext *, void *, enum power_supply_property, union power_supply_propval *); + int (*set_property)(struct power_supply *, const struct power_supply_ext *, void *, enum power_supply_property, const union power_supply_propval *); + int (*property_is_writeable)(struct power_supply *, const struct power_supply_ext *, void *, enum power_supply_property); +}; + +struct power_supply_ext_registration { + struct list_head list_head; + const struct power_supply_ext *ext; + struct device *dev; + void *data; +}; + +struct power_supply_hwmon { + struct power_supply *psy; + long unsigned int *props; +}; + +struct power_supply_led_trigger { + struct led_trigger trig; + struct power_supply *psy; +}; + +struct power_supply_maintenance_charge_table { + int charge_current_max_ua; + int charge_voltage_max_uv; + int charge_safety_timer_minutes; +}; + +union power_supply_propval { + int intval; + const char *strval; +}; + +struct power_supply_resistance_temp_table { + int temp; + int resistance; +}; + +struct power_supply_vbat_ri_table { + int vbat_uv; + int ri_uohm; +}; + +struct powercap_constraint_attr { + struct device_attribute power_limit_attr; + struct device_attribute time_window_attr; + struct device_attribute max_power_attr; + struct device_attribute min_power_attr; + struct device_attribute max_time_window_attr; + struct device_attribute min_time_window_attr; + struct device_attribute name_attr; +}; + +struct powercap_control_type_ops; + +struct powercap_control_type { + struct device dev; + struct idr idr; + int nr_zones; + const struct powercap_control_type_ops *ops; + struct mutex lock; + bool allocated; + struct list_head node; +}; + +struct powercap_control_type_ops { + int (*set_enable)(struct powercap_control_type *, bool); + int (*get_enable)(struct powercap_control_type *, bool *); + int (*release)(struct powercap_control_type *); +}; + +struct powercap_zone_ops; + +struct powercap_zone_constraint; + +struct powercap_zone { + int id; + char *name; + void *control_type_inst; + const struct powercap_zone_ops *ops; + struct device dev; + int const_id_cnt; + struct idr idr; + struct idr *parent_idr; + void *private_data; + struct attribute **zone_dev_attrs; + int zone_attr_count; + struct attribute_group dev_zone_attr_group; + const struct attribute_group *dev_attr_groups[2]; + bool allocated; + struct powercap_zone_constraint *constraints; +}; + +struct powercap_zone_constraint_ops; + +struct powercap_zone_constraint { + int id; + struct powercap_zone *power_zone; + const struct powercap_zone_constraint_ops *ops; +}; + +struct powercap_zone_constraint_ops { + int (*set_power_limit_uw)(struct powercap_zone *, int, u64); + int (*get_power_limit_uw)(struct powercap_zone *, int, u64 *); + int (*set_time_window_us)(struct powercap_zone *, int, u64); + int (*get_time_window_us)(struct powercap_zone *, int, u64 *); + int (*get_max_power_uw)(struct powercap_zone *, int, u64 *); + int (*get_min_power_uw)(struct powercap_zone *, int, u64 *); + int (*get_max_time_window_us)(struct powercap_zone *, int, u64 *); + int (*get_min_time_window_us)(struct powercap_zone *, int, u64 *); + const char * (*get_name)(struct powercap_zone *, int); +}; + +struct powercap_zone_ops { + int (*get_max_energy_range_uj)(struct powercap_zone *, u64 *); + int (*get_energy_uj)(struct powercap_zone *, u64 *); + int (*reset_energy_uj)(struct powercap_zone *); + int (*get_max_power_range_uw)(struct powercap_zone *, u64 *); + int (*get_power_uw)(struct powercap_zone *, u64 *); + int (*set_enable)(struct powercap_zone *, bool); + int (*get_enable)(struct powercap_zone *, bool *); + int (*release)(struct powercap_zone *); +}; + +struct powernow_k8_data { + unsigned int cpu; + u32 numps; + u32 batps; + u32 rvo; + u32 irt; + u32 vidmvs; + u32 vstable; + u32 plllock; + u32 exttype; + u32 currvid; + u32 currfid; + struct cpufreq_frequency_table *powernow_table; + struct acpi_processor_performance acpi_data; + struct cpumask *available_cores; +}; + +struct powernowk8_target_arg { + struct cpufreq_policy *pol; + unsigned int newstate; +}; + +struct ppe { + __be16 lv_ix; + short unsigned int res2; + short unsigned int res4; + __be16 lp_ix; + short unsigned int res8[12]; +}; + +struct ppin_info { + int feature; + int msr_ppin_ctl; + int msr_ppin; +}; + +struct ppp_xmit_recursion; + +struct slcompress; + +struct ppp { + struct ppp_file file; + struct file *owner; + struct list_head channels; + int n_channels; + spinlock_t rlock; + spinlock_t wlock; + struct ppp_xmit_recursion *xmit_recursion; + int mru; + unsigned int flags; + unsigned int xstate; + unsigned int rstate; + int debug; + struct slcompress *vj; + enum NPmode npmode[6]; + struct sk_buff *xmit_pending; + struct compressor *xcomp; + void *xc_state; + struct compressor *rcomp; + void *rc_state; + long unsigned int last_xmit; + long unsigned int last_recv; + struct net_device *dev; + int closing; + int nxchan; + u32 nxseq; + int mrru; + u32 nextseq; + u32 minseq; + struct sk_buff_head mrq; + struct bpf_prog *pass_filter; + struct bpf_prog *active_filter; + struct net *ppp_net; +}; + +struct ppp_channel_ops; + +struct ppp_channel { + void *private; + const struct ppp_channel_ops *ops; + int mtu; + int hdrlen; + void *ppp; + int speed; + bool direct_xmit; +}; + +struct ppp_channel_ops { + int (*start_xmit)(struct ppp_channel *, struct sk_buff *); + int (*ioctl)(struct ppp_channel *, unsigned int, long unsigned int); + int (*fill_forward_path)(struct net_device_path_ctx *, struct net_device_path *, const struct ppp_channel *); +}; + +struct ppp_comp_stats { + struct compstat c; + struct compstat d; +}; + +struct ppp_config { + struct file *file; + s32 unit; + bool ifname_is_set; +}; + +struct ppp_idle32 { + __s32 xmit_idle; + __s32 recv_idle; +}; + +struct ppp_idle64 { + __s64 xmit_idle; + __s64 recv_idle; +}; + +struct ppp_mp_skb_parm { + u32 sequence; + u8 BEbits; +}; + +struct ppp_net { + struct idr units_idr; + struct mutex all_ppp_mutex; + struct list_head all_channels; + struct list_head new_channels; + int last_channel_index; + spinlock_t all_channels_lock; +}; + +struct ppp_option_data { + __u8 *ptr; + __u32 length; + int transmit; +}; + +struct ppp_option_data32 { + compat_uptr_t ptr; + u32 length; + compat_int_t transmit; +}; + +struct pppstat { + __u32 ppp_discards; + __u32 ppp_ibytes; + __u32 ppp_ioctects; + __u32 ppp_ipackets; + __u32 ppp_ierrors; + __u32 ppp_ilqrs; + __u32 ppp_obytes; + __u32 ppp_ooctects; + __u32 ppp_opackets; + __u32 ppp_oerrors; + __u32 ppp_olqrs; +}; + +struct vjstat { + __u32 vjs_packets; + __u32 vjs_compressed; + __u32 vjs_searches; + __u32 vjs_misses; + __u32 vjs_uncompressedin; + __u32 vjs_compressedin; + __u32 vjs_errorin; + __u32 vjs_tossed; +}; + +struct ppp_stats { + struct pppstat p; + struct vjstat vj; +}; + +struct ppp_xmit_recursion { + struct task_struct *owner; + local_lock_t bh_lock; +}; + +struct pppoe_tag { + __be16 tag_type; + __be16 tag_len; + char tag_data[0]; +}; + +struct pppoe_hdr { + __u8 type: 4; + __u8 ver: 4; + __u8 code; + __be16 sid; + __be16 length; + struct pppoe_tag tag[0]; +}; + +struct pps_bind_args { + int tsformat; + int edge; + int consumer; +}; + +struct pps_device; + +struct pps_source_info { + char name[32]; + char path[32]; + int mode; + void (*echo)(struct pps_device *, int, void *); + struct module *owner; + struct device *dev; +}; + +struct pps_ktime { + __s64 sec; + __s32 nsec; + __u32 flags; +}; + +struct pps_kparams { + int api_version; + int mode; + struct pps_ktime assert_off_tu; + struct pps_ktime clear_off_tu; +}; + +struct pps_device { + struct pps_source_info info; + struct pps_kparams params; + __u32 assert_sequence; + __u32 clear_sequence; + struct pps_ktime assert_tu; + struct pps_ktime clear_tu; + int current_mode; + unsigned int last_ev; + unsigned int last_fetched_ev; + wait_queue_head_t queue; + unsigned int id; + const void *lookup_cookie; + struct device dev; + struct fasync_struct *async_queue; + spinlock_t lock; +}; + +struct pps_event_time { + struct timespec64 ts_real; +}; + +struct pps_kinfo { + __u32 assert_sequence; + __u32 clear_sequence; + struct pps_ktime assert_tu; + struct pps_ktime clear_tu; + int current_mode; +}; + +struct pps_fdata { + struct pps_kinfo info; + struct pps_ktime timeout; +}; + +struct pps_ktime_compat { + __s64 sec; + __s32 nsec; + __u32 flags; +}; + +struct pps_kinfo_compat { + __u32 assert_sequence; + __u32 clear_sequence; + struct pps_ktime_compat assert_tu; + struct pps_ktime_compat clear_tu; + int current_mode; +} __attribute__((packed)); + +struct pps_fdata_compat { + struct pps_kinfo_compat info; + struct pps_ktime_compat timeout; +} __attribute__((packed)); + +struct pptp_gre_header { + struct gre_base_hdr gre_hd; + __be16 payload_len; + __be16 call_id; + __be32 seq; + __be32 ack; +}; + +struct pr_clear { + __u64 key; + __u32 flags; + __u32 __pad; +}; + +struct pr_cont_work_struct { + bool comma; + work_func_t func; + long int ctr; +}; + +struct pr_held_reservation { + u64 key; + u32 generation; + enum pr_type type; +}; + +struct pr_keys { + u32 generation; + u32 num_keys; + u64 keys[0]; +}; + +struct pr_ops { + int (*pr_register)(struct block_device *, u64, u64, u32); + int (*pr_reserve)(struct block_device *, u64, enum pr_type, u32); + int (*pr_release)(struct block_device *, u64, enum pr_type); + int (*pr_preempt)(struct block_device *, u64, u64, enum pr_type, bool); + int (*pr_clear)(struct block_device *, u64); + int (*pr_read_keys)(struct block_device *, struct pr_keys *); + int (*pr_read_reservation)(struct block_device *, struct pr_held_reservation *); +}; + +struct pr_preempt { + __u64 old_key; + __u64 new_key; + __u32 type; + __u32 flags; +}; + +struct pr_registration { + __u64 old_key; + __u64 new_key; + __u32 flags; + __u32 __pad; +}; + +struct pr_reservation { + __u64 key; + __u32 type; + __u32 flags; +}; + +struct prb_data_blk_lpos { + long unsigned int begin; + long unsigned int next; +}; + +struct prb_data_block { + long unsigned int id; + char data[0]; +}; + +struct prb_data_ring { + unsigned int size_bits; + char *data; + atomic_long_t head_lpos; + atomic_long_t tail_lpos; +}; + +struct prb_desc { + atomic_long_t state_var; + struct prb_data_blk_lpos text_blk_lpos; +}; + +struct printk_info; + +struct prb_desc_ring { + unsigned int count_bits; + struct prb_desc *descs; + struct printk_info *infos; + atomic_long_t head_id; + atomic_long_t tail_id; + atomic_long_t last_finalized_seq; +}; + +struct printk_ringbuffer; + +struct prb_reserved_entry { + struct printk_ringbuffer *rb; + long unsigned int irqflags; + long unsigned int id; + unsigned int text_space; +}; + +struct prctl_mm_map { + __u64 start_code; + __u64 end_code; + __u64 start_data; + __u64 end_data; + __u64 start_brk; + __u64 brk; + __u64 start_stack; + __u64 arg_start; + __u64 arg_end; + __u64 env_start; + __u64 env_end; + __u64 *auxv; + __u32 auxv_size; + __u32 exe_fd; +}; + +struct pre_voltage_change_data { + long unsigned int old_uV; + long unsigned int min_uV; + long unsigned int max_uV; +}; + +struct preempt_ops { + void (*sched_in)(struct preempt_notifier *, int); + void (*sched_out)(struct preempt_notifier *, struct task_struct *); +}; + +struct prefix_bits { + unsigned int shorted: 1; + unsigned int enlarged: 1; + unsigned int rexr: 1; + unsigned int rex: 1; +}; + +struct prefix_cacheinfo { + __u32 preferred_time; + __u32 valid_time; +}; + +struct prefix_info { + __u8 type; + __u8 length; + __u8 prefix_len; + union { + __u8 flags; + struct { + __u8 reserved: 4; + __u8 preferpd: 1; + __u8 routeraddr: 1; + __u8 autoconf: 1; + __u8 onlink: 1; + }; + }; + __be32 valid; + __be32 prefered; + __be32 reserved2; + struct in6_addr prefix; +}; + +struct prefixmsg { + unsigned char prefix_family; + unsigned char prefix_pad1; + short unsigned int prefix_pad2; + int prefix_ifindex; + unsigned char prefix_type; + unsigned char prefix_len; + unsigned char prefix_flags; + unsigned char prefix_pad3; +}; + +struct prepend_buffer { + char *buf; + int len; +}; + +struct print_entry { + struct trace_entry ent; + long unsigned int ip; + char buf[0]; +}; + +struct printf_spec { + unsigned char flags; + unsigned char base; + short int precision; + int field_width; +}; + +struct printk_info { + u64 seq; + u64 ts_nsec; + u16 text_len; + u8 facility; + u8 flags: 5; + u8 level: 3; + u32 caller_id; + struct dev_printk_info dev_info; +}; + +struct printk_message { + struct printk_buffers *pbufs; + unsigned int outbuf_len; + u64 seq; + long unsigned int dropped; +}; + +struct printk_record { + struct printk_info *info; + char *text_buf; + unsigned int text_buf_size; +}; + +struct printk_ringbuffer { + struct prb_desc_ring desc_ring; + struct prb_data_ring text_data_ring; + atomic_long_t fail; +}; + +struct privflags_reply_data { + struct ethnl_reply_data base; + const char (*priv_flag_names)[32]; + unsigned int n_priv_flags; + u32 priv_flags; +}; + +struct prm_buffer { + u8 prm_status; + u64 efi_status; + u8 prm_cmd; + guid_t handler_guid; +} __attribute__((packed)); + +struct prm_mmio_info; + +struct prm_context_buffer { + char signature[4]; + u16 revision; + u16 reserved; + guid_t identifier; + u64 static_data_buffer; + struct prm_mmio_info *mmio_ranges; +}; + +struct prm_handler_info { + efi_guid_t guid; + efi_status_t (*handler_addr)(u64, void *); + u64 static_data_buffer_addr; + u64 acpi_param_buffer_addr; + struct list_head handler_list; +}; + +struct prm_mmio_addr_range { + u64 phys_addr; + u64 virt_addr; + u32 length; +} __attribute__((packed)); + +struct prm_mmio_info { + u64 mmio_count; + struct prm_mmio_addr_range addr_ranges[0]; +}; + +struct prm_module_info { + guid_t guid; + u16 major_rev; + u16 minor_rev; + u16 handler_count; + struct prm_mmio_info *mmio_info; + bool updatable; + struct list_head module_list; + struct prm_handler_info handlers[0]; +}; + +typedef struct kobject *kobj_probe_t(dev_t, int *, void *); + +struct probe { + struct probe *next; + dev_t dev; + long unsigned int range; + struct module *owner; + kobj_probe_t *get; + int (*lock)(dev_t, void *); + void *data; +}; + +struct probe_arg { + struct fetch_insn *code; + bool dynamic; + unsigned int offset; + unsigned int count; + const char *name; + const char *comm; + char *fmt; + const struct fetch_type *type; +}; + +struct probe_entry_arg { + struct fetch_insn *code; + unsigned int size; +}; + +typedef int (*proc_write_t)(struct file *, char *, size_t); + +struct proc_ops; + +struct proc_dir_entry { + atomic_t in_use; + refcount_t refcnt; + struct list_head pde_openers; + spinlock_t pde_unload_lock; + struct completion *pde_unload_completion; + const struct inode_operations *proc_iops; + union { + const struct proc_ops *proc_ops; + const struct file_operations *proc_dir_ops; + }; + union { + const struct seq_operations *seq_ops; + int (*single_show)(struct seq_file *, void *); + }; + proc_write_t write; + void *data; + unsigned int state_size; + unsigned int low_ino; + nlink_t nlink; + kuid_t uid; + kgid_t gid; + loff_t size; + struct proc_dir_entry *parent; + struct rb_root subdir; + struct rb_node subdir_node; + char *name; + umode_t mode; + u8 flags; + u8 namelen; + char inline_name[0]; +}; + +struct sid_proc_event { + __kernel_pid_t process_pid; + __kernel_pid_t process_tgid; +}; + +struct ptrace_proc_event { + __kernel_pid_t process_pid; + __kernel_pid_t process_tgid; + __kernel_pid_t tracer_pid; + __kernel_pid_t tracer_tgid; +}; + +struct proc_event { + enum proc_cn_event what; + __u32 cpu; + __u64 timestamp_ns; + union { + struct { + __u32 err; + } ack; + struct fork_proc_event fork; + struct exec_proc_event exec; + struct id_proc_event id; + struct sid_proc_event sid; + struct ptrace_proc_event ptrace; + struct comm_proc_event comm; + struct coredump_proc_event coredump; + struct exit_proc_event exit; + } event_data; +}; + +struct proc_fs_context { + struct pid_namespace *pid_ns; + unsigned int mask; + enum proc_hidepid hidepid; + int gid; + enum proc_pidonly pidonly; +}; + +struct proc_fs_info { + struct pid_namespace *pid_ns; + struct dentry *proc_self; + struct dentry *proc_thread_self; + kgid_t pid_gid; + enum proc_hidepid hide_pid; + enum proc_pidonly pidonly; + struct callback_head rcu; +}; + +struct proc_fs_opts { + int flag; + const char *str; +}; + +struct proc_inode { + struct pid *pid; + unsigned int fd; + union proc_op op; + struct proc_dir_entry *pde; + struct ctl_table_header *sysctl; + const struct ctl_table *sysctl_entry; + struct hlist_node sibling_inodes; + const struct proc_ns_operations *ns_ops; + struct inode vfs_inode; +}; + +struct proc_input { + enum proc_cn_mcast_op mcast_op; + enum proc_cn_event event_type; +}; + +struct proc_mounts { + struct mnt_namespace *ns; + struct path root; + int (*show)(struct seq_file *, struct vfsmount *); +}; + +struct proc_ns_operations { + const char *name; + const char *real_ns_name; + int type; + struct ns_common * (*get)(struct task_struct *); + void (*put)(struct ns_common *); + int (*install)(struct nsset *, struct ns_common *); + struct user_namespace * (*owner)(struct ns_common *); + struct ns_common * (*get_parent)(struct ns_common *); +}; + +struct proc_ops { + unsigned int proc_flags; + int (*proc_open)(struct inode *, struct file *); + ssize_t (*proc_read)(struct file *, char *, size_t, loff_t *); + ssize_t (*proc_read_iter)(struct kiocb *, struct iov_iter *); + ssize_t (*proc_write)(struct file *, const char *, size_t, loff_t *); + loff_t (*proc_lseek)(struct file *, loff_t, int); + int (*proc_release)(struct inode *, struct file *); + __poll_t (*proc_poll)(struct file *, struct poll_table_struct *); + long int (*proc_ioctl)(struct file *, unsigned int, long unsigned int); + long int (*proc_compat_ioctl)(struct file *, unsigned int, long unsigned int); + int (*proc_mmap)(struct file *, struct vm_area_struct *); + long unsigned int (*proc_get_unmapped_area)(struct file *, long unsigned int, long unsigned int, long unsigned int, long unsigned int); +}; + +struct proc_timens_offset { + int clockid; + struct timespec64 val; +}; + +struct process_timer { + struct timer_list timer; + struct task_struct *task; +}; + +struct procmap_query { + __u64 size; + __u64 query_flags; + __u64 query_addr; + __u64 vma_start; + __u64 vma_end; + __u64 vma_flags; + __u64 vma_page_size; + __u64 vma_offset; + __u64 inode; + __u32 dev_major; + __u32 dev_minor; + __u32 vma_name_size; + __u32 build_id_size; + __u64 vma_name_addr; + __u64 build_id_addr; +}; + +struct profile_fgraph_data { + long long unsigned int calltime; + long long unsigned int subtime; + long long unsigned int sleeptime; +}; + +struct prog_entry { + int target; + int when_to_branch; + struct filter_pred *pred; +}; + +struct prog_poke_elem { + struct list_head list; + struct bpf_prog_aux *aux; +}; + +struct prog_test_member1 { + int a; +}; + +struct prog_test_member { + struct prog_test_member1 m; + int c; +}; + +struct prog_test_ref_kfunc { + int a; + int b; + struct prog_test_member memb; + struct prog_test_ref_kfunc *next; + refcount_t cnt; +}; + +struct properties_header { + u32 len; + u32 version; + u32 dev_count; + struct dev_header dev_header[0]; +} __attribute__((packed)); + +struct property { + char *name; + int length; + void *value; + struct property *next; +}; + +struct prot_inuse { + int all; + int val[64]; +}; + +struct protection_domain { + struct list_head dev_list; + struct iommu_domain domain; + struct amd_io_pgtable iop; + spinlock_t lock; + u16 id; + enum protection_domain_mode pd_mode; + bool dirty_tracking; + struct xarray iommu_array; + struct mmu_notifier mn; + struct list_head dev_data_list; +}; + +struct smc_hashinfo; + +struct proto_accept_arg; + +struct sk_psock; + +struct timewait_sock_ops; + +struct raw_hashinfo; + +struct proto { + void (*close)(struct sock *, long int); + int (*pre_connect)(struct sock *, struct sockaddr *, int); + int (*connect)(struct sock *, struct sockaddr *, int); + int (*disconnect)(struct sock *, int); + struct sock * (*accept)(struct sock *, struct proto_accept_arg *); + int (*ioctl)(struct sock *, int, int *); + int (*init)(struct sock *); + void (*destroy)(struct sock *); + void (*shutdown)(struct sock *, int); + int (*setsockopt)(struct sock *, int, int, sockptr_t, unsigned int); + int (*getsockopt)(struct sock *, int, int, char *, int *); + void (*keepalive)(struct sock *, int); + int (*compat_ioctl)(struct sock *, unsigned int, long unsigned int); + int (*sendmsg)(struct sock *, struct msghdr *, size_t); + int (*recvmsg)(struct sock *, struct msghdr *, size_t, int, int *); + void (*splice_eof)(struct socket *); + int (*bind)(struct sock *, struct sockaddr *, int); + int (*bind_add)(struct sock *, struct sockaddr *, int); + int (*backlog_rcv)(struct sock *, struct sk_buff *); + bool (*bpf_bypass_getsockopt)(int, int); + void (*release_cb)(struct sock *); + int (*hash)(struct sock *); + void (*unhash)(struct sock *); + void (*rehash)(struct sock *); + int (*get_port)(struct sock *, short unsigned int); + void (*put_port)(struct sock *); + int (*psock_update_sk_prot)(struct sock *, struct sk_psock *, bool); + unsigned int inuse_idx; + bool (*stream_memory_free)(const struct sock *, int); + bool (*sock_is_readable)(struct sock *); + void (*enter_memory_pressure)(struct sock *); + void (*leave_memory_pressure)(struct sock *); + atomic_long_t *memory_allocated; + int *per_cpu_fw_alloc; + struct percpu_counter *sockets_allocated; + long unsigned int *memory_pressure; + long int *sysctl_mem; + int *sysctl_wmem; + int *sysctl_rmem; + u32 sysctl_wmem_offset; + u32 sysctl_rmem_offset; + int max_header; + bool no_autobind; + struct kmem_cache *slab; + unsigned int obj_size; + unsigned int ipv6_pinfo_offset; + slab_flags_t slab_flags; + unsigned int useroffset; + unsigned int usersize; + unsigned int *orphan_count; + struct request_sock_ops *rsk_prot; + struct timewait_sock_ops *twsk_prot; + union { + struct inet_hashinfo *hashinfo; + struct udp_table *udp_table; + struct raw_hashinfo *raw_hash; + struct smc_hashinfo *smc_hash; + } h; + struct module *owner; + char name[32]; + struct list_head node; + int (*diag_destroy)(struct sock *, int); +}; + +struct proto_accept_arg { + int flags; + int err; + int is_empty; + bool kern; +}; + +typedef int (*skb_read_actor_t)(struct sock *, struct sk_buff *); + +struct proto_ops { + int family; + struct module *owner; + int (*release)(struct socket *); + int (*bind)(struct socket *, struct sockaddr *, int); + int (*connect)(struct socket *, struct sockaddr *, int, int); + int (*socketpair)(struct socket *, struct socket *); + int (*accept)(struct socket *, struct socket *, struct proto_accept_arg *); + int (*getname)(struct socket *, struct sockaddr *, int); + __poll_t (*poll)(struct file *, struct socket *, struct poll_table_struct *); + int (*ioctl)(struct socket *, unsigned int, long unsigned int); + int (*compat_ioctl)(struct socket *, unsigned int, long unsigned int); + int (*gettstamp)(struct socket *, void *, bool, bool); + int (*listen)(struct socket *, int); + int (*shutdown)(struct socket *, int); + int (*setsockopt)(struct socket *, int, int, sockptr_t, unsigned int); + int (*getsockopt)(struct socket *, int, int, char *, int *); + void (*show_fdinfo)(struct seq_file *, struct socket *); + int (*sendmsg)(struct socket *, struct msghdr *, size_t); + int (*recvmsg)(struct socket *, struct msghdr *, size_t, int); + int (*mmap)(struct file *, struct socket *, struct vm_area_struct *); + ssize_t (*splice_read)(struct socket *, loff_t *, struct pipe_inode_info *, size_t, unsigned int); + void (*splice_eof)(struct socket *); + int (*set_peek_off)(struct sock *, int); + int (*peek_len)(struct socket *); + int (*read_sock)(struct sock *, read_descriptor_t *, sk_read_actor_t); + int (*read_skb)(struct sock *, skb_read_actor_t); + int (*sendmsg_locked)(struct sock *, struct msghdr *, size_t); + int (*set_rcvlowat)(struct sock *, int); +}; + +struct prt_quirk { + const struct dmi_system_id *system; + unsigned int segment; + unsigned int bus; + unsigned int device; + unsigned char pin; + const char *source; + const char *actual_source; +}; + +struct psample_group { + struct list_head list; + struct net *net; + u32 group_num; + u32 refcount; + u32 seq; + struct callback_head rcu; +}; + +struct psb_s { + u8 signature[10]; + u8 tableversion; + u8 flags1; + u16 vstable; + u8 flags2; + u8 num_tables; + u32 cpuid; + u8 plllocktime; + u8 maxfid; + u8 maxvid; + u8 numps; +}; + +struct psc_entry { + u64 cur_page: 12; + u64 gfn: 40; + u64 operation: 4; + u64 pagesize: 1; + u64 reserved: 7; +}; + +struct psc_hdr { + u16 cur_entry; + u16 end_entry; + u32 reserved; +}; + +struct psched_pktrate { + u64 rate_pkts_ps; + u32 mult; + u8 shift; +}; + +struct psched_ratecfg { + u64 rate_bytes_ps; + u32 mult; + u16 overhead; + u16 mpu; + u8 linklayer; + u8 shift; +}; + +struct pse_admin_state { + enum ethtool_podl_pse_admin_state podl_admin_state; + enum ethtool_c33_pse_admin_state c33_admin_state; +}; + +struct pse_controller_dev; + +struct pse_control { + struct pse_controller_dev *pcdev; + struct regulator *ps; + struct list_head list; + unsigned int id; + struct kref refcnt; + struct phy_device *attached_phydev; +}; + +struct pse_control_config { + enum ethtool_podl_pse_admin_state podl_admin_control; + enum ethtool_c33_pse_admin_state c33_admin_control; +}; + +struct pse_ntf { + int id; + long unsigned int notifs; +}; + +struct pse_controller_ops; + +struct pse_pi; + +struct pse_controller_dev { + const struct pse_controller_ops *ops; + struct module *owner; + struct list_head list; + struct list_head pse_control_head; + struct device *dev; + int of_pse_n_cells; + unsigned int nr_lines; + struct mutex lock; + enum ethtool_pse_types types; + struct pse_pi *pi; + bool no_of_pse_pi; + int irq; + unsigned int pis_prio_max; + u32 supp_budget_eval_strategies; + struct work_struct ntf_work; + struct { + union { + struct __kfifo kfifo; + struct pse_ntf *type; + const struct pse_ntf *const_type; + char (*rectype)[0]; + struct pse_ntf *ptr; + const struct pse_ntf *ptr_const; + }; + struct pse_ntf buf[0]; + } ntf_fifo; + spinlock_t ntf_fifo_lock; +}; + +struct pse_pw_status; + +struct pse_ext_state_info; + +struct pse_pw_limit_ranges; + +struct pse_controller_ops { + int (*setup_pi_matrix)(struct pse_controller_dev *); + int (*pi_get_admin_state)(struct pse_controller_dev *, int, struct pse_admin_state *); + int (*pi_get_pw_status)(struct pse_controller_dev *, int, struct pse_pw_status *); + int (*pi_get_ext_state)(struct pse_controller_dev *, int, struct pse_ext_state_info *); + int (*pi_get_pw_class)(struct pse_controller_dev *, int); + int (*pi_get_actual_pw)(struct pse_controller_dev *, int); + int (*pi_enable)(struct pse_controller_dev *, int); + int (*pi_disable)(struct pse_controller_dev *, int); + int (*pi_get_voltage)(struct pse_controller_dev *, int); + int (*pi_get_pw_limit)(struct pse_controller_dev *, int); + int (*pi_set_pw_limit)(struct pse_controller_dev *, int, int); + int (*pi_get_pw_limit_ranges)(struct pse_controller_dev *, int, struct pse_pw_limit_ranges *); + int (*pi_get_prio)(struct pse_controller_dev *, int); + int (*pi_set_prio)(struct pse_controller_dev *, int, unsigned int); + int (*pi_get_pw_req)(struct pse_controller_dev *, int); +}; + +struct pse_ext_state_info { + struct ethtool_c33_pse_ext_state_info c33_ext_state_info; +}; + +struct pse_irq_desc { + const char *name; + int (*map_event)(int, struct pse_controller_dev *, long unsigned int *, long unsigned int *); +}; + +struct pse_irq { + struct pse_controller_dev *pcdev; + struct pse_irq_desc desc; + long unsigned int *notifs; +}; + +struct pse_pi_pairset { + enum pse_pi_pairset_pinout pinout; + struct device_node *np; +}; + +struct pse_power_domain; + +struct pse_pi { + struct pse_pi_pairset pairset[2]; + struct device_node *np; + struct regulator_dev *rdev; + bool admin_state_enabled; + struct pse_power_domain *pw_d; + int prio; + bool isr_pd_detected; + int pw_allocated_mW; +}; + +struct pse_power_domain { + int id; + struct regulator *supply; + struct kref refcnt; + u32 budget_eval_strategy; +}; + +struct pse_pw_limit_ranges { + struct ethtool_c33_pse_pw_limit_range *c33_pw_limit_ranges; +}; + +struct pse_pw_status { + enum ethtool_podl_pse_pw_d_status podl_pw_status; + enum ethtool_c33_pse_pw_d_status c33_pw_status; +}; + +struct pse_reply_data { + struct ethnl_reply_data base; + struct ethtool_pse_control_status status; +}; + +struct super_operations; + +struct xattr_handler; + +struct pseudo_fs_context { + const struct super_operations *ops; + const struct export_operations *eops; + const struct xattr_handler * const *xattr; + const struct dentry_operations *dops; + long unsigned int magic; +}; + +struct pseudo_lock_pm_req { + struct list_head list; + struct dev_pm_qos_request req; +}; + +struct resctrl_schema; + +struct pseudo_lock_region { + struct resctrl_schema *s; + u32 closid; + struct rdt_ctrl_domain *d; + u32 cbm; + wait_queue_head_t lock_thread_wq; + int thread_done; + int cpu; + unsigned int line_size; + unsigned int size; + void *kmem; + unsigned int minor; + struct dentry *debugfs_dir; + struct list_head pm_reqs; +}; + +struct psi_group_cpu; + +struct psi_group { + struct psi_group *parent; + bool enabled; + struct mutex avgs_lock; + struct psi_group_cpu *pcpu; + u64 avg_total[6]; + u64 avg_last_update; + u64 avg_next_update; + struct delayed_work avgs_work; + struct list_head avg_triggers; + u32 avg_nr_triggers[6]; + u64 total[12]; + long unsigned int avg[18]; + struct task_struct *rtpoll_task; + struct timer_list rtpoll_timer; + wait_queue_head_t rtpoll_wait; + atomic_t rtpoll_wakeup; + atomic_t rtpoll_scheduled; + struct mutex rtpoll_trigger_lock; + struct list_head rtpoll_triggers; + u32 rtpoll_nr_triggers[6]; + u32 rtpoll_states; + u64 rtpoll_min_period; + u64 rtpoll_total[6]; + u64 rtpoll_next_update; + u64 rtpoll_until; +}; + +struct psi_group_cpu { + unsigned int tasks[4]; + u32 state_mask; + u32 times[7]; + u64 state_start; + long: 64; + u32 times_prev[14]; + long: 64; +}; + +struct psi_window { + u64 size; + u64 start_time; + u64 start_value; + u64 prev_growth; +}; + +struct psi_trigger { + enum psi_states state; + u64 threshold; + struct list_head node; + struct psi_group *group; + wait_queue_head_t event_wait; + struct kernfs_open_file *of; + int event; + struct psi_window win; + u64 last_event_time; + bool pending_event; + enum psi_aggregators aggregator; +}; + +struct pst_s { + u8 fid; + u8 vid; +}; + +struct pstate_funcs { + int (*get_max)(int); + int (*get_max_physical)(int); + int (*get_min)(int); + int (*get_turbo)(int); + int (*get_scaling)(void); + int (*get_cpu_scaling)(int); + int (*get_aperf_mperf_shift)(void); + u64 (*get_val)(struct cpudata *, int); + void (*get_vid)(struct cpudata *); +}; + +struct pstore_context { + unsigned int kmsg_bytes; +}; + +struct pstore_ftrace_record { + long unsigned int ip; + long unsigned int parent_ip; + u64 ts; +}; + +struct pstore_ftrace_seq_data { + const void *ptr; + size_t off; + size_t size; +}; + +struct pstore_record; + +struct pstore_info { + struct module *owner; + const char *name; + raw_spinlock_t buf_lock; + char *buf; + size_t bufsize; + struct mutex read_mutex; + int flags; + int max_reason; + void *data; + int (*open)(struct pstore_info *); + int (*close)(struct pstore_info *); + ssize_t (*read)(struct pstore_record *); + int (*write)(struct pstore_record *); + int (*write_user)(struct pstore_record *, const char *); + int (*erase)(struct pstore_record *); +}; + +struct pstore_private { + struct list_head list; + struct dentry *dentry; + struct pstore_record *record; + size_t total_size; +}; + +struct pstore_record { + struct pstore_info *psi; + enum pstore_type_id type; + u64 id; + struct timespec64 time; + char *buf; + ssize_t size; + ssize_t ecc_notice_size; + void *priv; + int count; + enum kmsg_dump_reason reason; + unsigned int part; + bool compressed; +}; + +struct psy_am_i_supplied_data { + struct power_supply *psy; + unsigned int count; +}; + +struct psy_for_each_psy_cb_data { + int (*fn)(struct power_supply *, void *); + void *data; +}; + +struct psy_get_supplier_prop_data { + struct power_supply *psy; + enum power_supply_property psp; + union power_supply_propval *val; +}; + +struct pt_filter { + long unsigned int msr_a; + long unsigned int msr_b; + long unsigned int config; +}; + +struct pt_filters { + struct pt_filter filter[4]; + unsigned int nr_filters; +}; + +struct pt { + struct perf_output_handle handle; + struct pt_filters filters; + int handle_nmi; + int vmx_on; + int pause_allowed; + int resume_allowed; + u64 output_base; + u64 output_mask; +}; + +struct pt_address_range { + long unsigned int msr_a; + long unsigned int msr_b; + unsigned int reg_off; +}; + +struct topa; + +struct topa_entry; + +struct pt_buffer { + struct list_head tables; + struct topa *first; + struct topa *last; + struct topa *cur; + unsigned int cur_idx; + size_t output_off; + long unsigned int nr_pages; + local_t data_size; + local64_t head; + bool snapshot; + bool single; + bool wrapped; + long int stop_pos; + long int intr_pos; + struct topa_entry *stop_te; + struct topa_entry *intr_te; + void **data_pages; +}; + +struct pt_cap_desc { + const char *name; + u32 leaf; + u8 reg; + u32 mask; +}; + +struct pt_info { + s32 pi_nblocks; + u32 pi_blkoff; +}; + +struct pt_pmu { + struct pmu pmu; + u32 caps[8]; + bool vmx; + bool branch_en_always_on; + long unsigned int max_nonturbo_ratio; + unsigned int tsc_art_num; + unsigned int tsc_art_den; +}; + +struct pt_regs_offset { + const char *name; + int offset; +}; + +struct ptdesc { + long unsigned int __page_flags; + union { + struct callback_head pt_rcu_head; + struct list_head pt_list; + struct { + long unsigned int _pt_pad_1; + pgtable_t pmd_huge_pte; + }; + }; + long unsigned int __page_mapping; + union { + long unsigned int pt_index; + struct mm_struct *pt_mm; + atomic_t pt_frag_refcount; + atomic_t pt_share_count; + }; + union { + long unsigned int _pt_pad_2; + spinlock_t ptl; + }; + unsigned int __page_type; + atomic_t __page_refcount; + long unsigned int pt_memcg_data; +}; + +struct ptdump_range { + long unsigned int start; + long unsigned int end; +}; + +struct pte_enc_desc { + pte_t *kpte; + int pte_level; + bool encrypt; + long unsigned int pfn; + long unsigned int pa; + void *va; + long unsigned int size; + pgprot_t new_pgprot; +}; + +struct ptp_clock_info; + +struct ptp_clock { + struct posix_clock clock; + struct device dev; + struct ptp_clock_info *info; + dev_t devid; + int index; + struct pps_device *pps_source; + long int dialed_frequency; + struct list_head tsevqs; + spinlock_t tsevqs_lock; + struct mutex pincfg_mux; + wait_queue_head_t tsev_wq; + int defunct; + struct device_attribute *pin_dev_attr; + struct attribute **pin_attr; + struct attribute_group pin_attr_group; + const struct attribute_group *pin_attr_groups[2]; + struct kthread_worker *kworker; + struct kthread_delayed_work aux_work; + unsigned int max_vclocks; + unsigned int n_vclocks; + int *vclock_index; + struct mutex n_vclocks_mux; + bool is_virtual_clock; + bool has_cycles; + struct dentry *debugfs_root; +}; + +struct ptp_clock_caps { + int max_adj; + int n_alarm; + int n_ext_ts; + int n_per_out; + int pps; + int n_pins; + int cross_timestamping; + int adjust_phase; + int max_phase_adj; + int rsv[11]; +}; + +struct ptp_clock_event { + int type; + int index; + union { + u64 timestamp; + s64 offset; + struct pps_event_time pps_times; + }; +}; + +struct ptp_pin_desc; + +struct ptp_system_timestamp; + +struct system_device_crosststamp; + +struct ptp_clock_request; + +struct ptp_clock_info { + struct module *owner; + char name[32]; + s32 max_adj; + int n_alarm; + int n_ext_ts; + int n_per_out; + int n_pins; + int pps; + unsigned int supported_perout_flags; + unsigned int supported_extts_flags; + struct ptp_pin_desc *pin_config; + int (*adjfine)(struct ptp_clock_info *, long int); + int (*adjphase)(struct ptp_clock_info *, s32); + s32 (*getmaxphase)(struct ptp_clock_info *); + int (*adjtime)(struct ptp_clock_info *, s64); + int (*gettime64)(struct ptp_clock_info *, struct timespec64 *); + int (*gettimex64)(struct ptp_clock_info *, struct timespec64 *, struct ptp_system_timestamp *); + int (*getcrosststamp)(struct ptp_clock_info *, struct system_device_crosststamp *); + int (*settime64)(struct ptp_clock_info *, const struct timespec64 *); + int (*getcycles64)(struct ptp_clock_info *, struct timespec64 *); + int (*getcyclesx64)(struct ptp_clock_info *, struct timespec64 *, struct ptp_system_timestamp *); + int (*getcrosscycles)(struct ptp_clock_info *, struct system_device_crosststamp *); + int (*enable)(struct ptp_clock_info *, struct ptp_clock_request *, int); + int (*verify)(struct ptp_clock_info *, unsigned int, enum ptp_pin_function, unsigned int); + long int (*do_aux_work)(struct ptp_clock_info *); +}; + +struct ptp_extts_request { + unsigned int index; + unsigned int flags; + unsigned int rsv[2]; +}; + +struct ptp_clock_time { + __s64 sec; + __u32 nsec; + __u32 reserved; +}; + +struct ptp_perout_request { + union { + struct ptp_clock_time start; + struct ptp_clock_time phase; + }; + struct ptp_clock_time period; + unsigned int index; + unsigned int flags; + union { + struct ptp_clock_time on; + unsigned int rsv[4]; + }; +}; + +struct ptp_clock_request { + enum { + PTP_CLK_REQ_EXTTS = 0, + PTP_CLK_REQ_PEROUT = 1, + PTP_CLK_REQ_PPS = 2, + } type; + union { + struct ptp_extts_request extts; + struct ptp_perout_request perout; + }; +}; + +struct ptp_extts_event { + struct ptp_clock_time t; + unsigned int index; + unsigned int flags; + unsigned int rsv[2]; +}; + +struct ptp_header { + u8 tsmt; + u8 ver; + __be16 message_length; + u8 domain_number; + u8 reserved1; + u8 flag_field[2]; + __be64 correction; + __be32 reserved2; + struct port_identity source_port_identity; + __be16 sequence_id; + u8 control; + u8 log_message_interval; +} __attribute__((packed)); + +struct ptp_pin_desc { + char name[64]; + unsigned int index; + unsigned int func; + unsigned int chan; + unsigned int rsv[5]; +}; + +struct ptp_sys_offset { + unsigned int n_samples; + unsigned int rsv[3]; + struct ptp_clock_time ts[51]; +}; + +struct ptp_sys_offset_extended { + unsigned int n_samples; + __kernel_clockid_t clockid; + unsigned int rsv[2]; + struct ptp_clock_time ts[75]; +}; + +struct ptp_sys_offset_precise { + struct ptp_clock_time device; + struct ptp_clock_time sys_realtime; + struct ptp_clock_time sys_monoraw; + unsigned int rsv[4]; +}; + +struct ptp_system_timestamp { + struct timespec64 pre_ts; + struct timespec64 post_ts; + clockid_t clockid; +}; + +struct timecounter { + struct cyclecounter *cc; + u64 cycle_last; + u64 nsec; + u64 mask; + u64 frac; +}; + +struct ptp_vclock { + struct ptp_clock *pclock; + struct ptp_clock_info info; + struct ptp_clock *clock; + struct hlist_node vclock_hash_node; + struct cyclecounter cc; + struct timecounter tc; + struct mutex lock; +}; + +struct ptrace_peeksiginfo_args { + __u64 off; + __u32 flags; + __s32 nr; +}; + +struct ptrace_relation { + struct task_struct *tracer; + struct task_struct *tracee; + bool invalid; + struct list_head node; + struct callback_head rcu; +}; + +struct ptrace_rseq_configuration { + __u64 rseq_abi_pointer; + __u32 rseq_abi_size; + __u32 signature; + __u32 flags; + __u32 pad; +}; + +struct ptrace_sud_config { + __u64 mode; + __u64 selector; + __u64 offset; + __u64 len; +}; + +struct ptrace_syscall_info { + __u8 op; + __u8 reserved; + __u16 flags; + __u32 arch; + __u64 instruction_pointer; + __u64 stack_pointer; + union { + struct { + __u64 nr; + __u64 args[6]; + } entry; + struct { + __s64 rval; + __u8 is_error; + } exit; + struct { + __u64 nr; + __u64 args[6]; + __u32 ret_data; + __u32 reserved2; + } seccomp; + }; +}; + +struct pts_mount_opts { + int setuid; + int setgid; + kuid_t uid; + kgid_t gid; + umode_t mode; + umode_t ptmxmode; + int reserve; + int max; +}; + +struct pts_fs_info { + struct ida allocated_ptys; + struct pts_mount_opts mount_opts; + struct super_block *sb; + struct dentry *ptmx_dentry; +}; + +struct pubkey_hdr { + uint8_t version; + uint32_t timestamp; + uint8_t algo; + uint8_t nmpi; + char mpi[0]; +} __attribute__((packed)); + +struct public_key { + void *key; + u32 keylen; + enum OID algo; + void *params; + u32 paramlen; + bool key_is_private; + const char *id_type; + const char *pkey_algo; + long unsigned int key_eflags; +}; + +struct public_key_signature { + struct asymmetric_key_id *auth_ids[3]; + u8 *s; + u8 *digest; + u32 s_size; + u32 digest_size; + const char *pkey_algo; + const char *hash_algo; + const char *encoding; +}; + +struct pushbutton_work_info { + struct slot___2 *p_slot; + struct work_struct work; +}; + +struct pv_node; + +struct pv_hash_entry { + struct qspinlock *lock; + struct pv_node *node; +}; + +struct pv_info { + u16 extra_user_64bit_cs; + const char *name; +}; + +struct pv_node { + struct mcs_spinlock mcs; + int cpu; + u8 state; +}; + +struct pvclock_vcpu_time_info { + u32 version; + u32 pad0; + u64 tsc_timestamp; + u64 system_time; + u32 tsc_to_system_mul; + s8 tsc_shift; + u8 flags; + u8 pad[2]; +}; + +struct pvclock_vsyscall_time_info { + struct pvclock_vcpu_time_info pvti; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct pvclock_wall_clock { + u32 version; + u32 sec; + u32 nsec; +}; + +struct pvd { + char reserved0[16]; + __be16 pp_count; + char reserved18[2]; + __be32 psn_part1; + char reserved24[8]; + struct ppe ppe[1016]; +}; + +struct pwm_args { + u64 period; + enum pwm_polarity polarity; +}; + +struct pwm_capture { + unsigned int period; + unsigned int duty_cycle; +}; + +struct pwm_chip; + +struct pwm_device; + +struct pwm_cdev_data { + struct pwm_chip *chip; + struct pwm_device *pwm[0]; +}; + +typedef struct pwm_chip *class_pwmchip_t; + +struct pwm_state { + u64 period; + u64 duty_cycle; + enum pwm_polarity polarity; + bool enabled; + bool usage_power; +}; + +struct pwm_device { + const char *label; + long unsigned int flags; + unsigned int hwpwm; + struct pwm_chip *chip; + struct pwm_args args; + struct pwm_state state; + struct pwm_state last; +}; + +struct pwm_ops; + +struct pwm_chip { + struct device dev; + struct cdev cdev; + const struct pwm_ops *ops; + struct module *owner; + unsigned int id; + unsigned int npwm; + struct pwm_device * (*of_xlate)(struct pwm_chip *, const struct of_phandle_args *); + bool atomic; + bool uses_pwmchip_alloc; + bool operational; + union { + struct mutex nonatomic_lock; + spinlock_t atomic_lock; + }; + struct pwm_device pwms[0]; +}; + +struct pwm_export { + struct device pwm_dev; + struct pwm_device *pwm; + struct mutex lock; + struct pwm_state suspend; +}; + +struct pwm_lookup { + struct list_head list; + const char *provider; + unsigned int index; + const char *dev_id; + const char *con_id; + unsigned int period; + enum pwm_polarity polarity; + const char *module; +}; + +struct pwm_lpss_boardinfo { + long unsigned int clk_rate; + unsigned int npwm; + long unsigned int base_unit_bits; + bool bypass; + bool other_devices_aml_touches_pwm_regs; +}; + +struct pwm_lpss_chip { + void *regs; + const struct pwm_lpss_boardinfo *info; +}; + +struct pwm_waveform; + +struct pwm_ops { + int (*request)(struct pwm_chip *, struct pwm_device *); + void (*free)(struct pwm_chip *, struct pwm_device *); + int (*capture)(struct pwm_chip *, struct pwm_device *, struct pwm_capture *, long unsigned int); + size_t sizeof_wfhw; + int (*round_waveform_tohw)(struct pwm_chip *, struct pwm_device *, const struct pwm_waveform *, void *); + int (*round_waveform_fromhw)(struct pwm_chip *, struct pwm_device *, const void *, struct pwm_waveform *); + int (*read_waveform)(struct pwm_chip *, struct pwm_device *, void *); + int (*write_waveform)(struct pwm_chip *, struct pwm_device *, const void *); + int (*apply)(struct pwm_chip *, struct pwm_device *, const struct pwm_state *); + int (*get_state)(struct pwm_chip *, struct pwm_device *, struct pwm_state *); +}; + +struct pwm_waveform { + u64 period_length_ns; + u64 duty_length_ns; + u64 duty_offset_ns; +}; + +struct pwmchip_waveform { + __u32 hwpwm; + __u32 __pad; + __u64 period_length_ns; + __u64 duty_length_ns; + __u64 duty_offset_ns; +}; + +struct q_inval { + raw_spinlock_t q_lock; + void *desc; + int *desc_status; + int free_head; + int free_tail; + int free_cnt; +}; + +struct qc_dqblk { + int d_fieldmask; + u64 d_spc_hardlimit; + u64 d_spc_softlimit; + u64 d_ino_hardlimit; + u64 d_ino_softlimit; + u64 d_space; + u64 d_ino_count; + s64 d_ino_timer; + s64 d_spc_timer; + int d_ino_warns; + int d_spc_warns; + u64 d_rt_spc_hardlimit; + u64 d_rt_spc_softlimit; + u64 d_rt_space; + s64 d_rt_spc_timer; + int d_rt_spc_warns; +}; + +struct qc_info { + int i_fieldmask; + unsigned int i_flags; + unsigned int i_spc_timelimit; + unsigned int i_ino_timelimit; + unsigned int i_rt_spc_timelimit; + unsigned int i_spc_warnlimit; + unsigned int i_ino_warnlimit; + unsigned int i_rt_spc_warnlimit; +}; + +struct qc_type_state { + unsigned int flags; + unsigned int spc_timelimit; + unsigned int ino_timelimit; + unsigned int rt_spc_timelimit; + unsigned int spc_warnlimit; + unsigned int ino_warnlimit; + unsigned int rt_spc_warnlimit; + long long unsigned int ino; + blkcnt_t blocks; + blkcnt_t nextents; +}; + +struct qc_state { + unsigned int s_incoredqs; + struct qc_type_state s_state[3]; +}; + +struct qdisc_dump_args { + struct qdisc_walker w; + struct sk_buff *skb; + struct netlink_callback *cb; +}; + +struct tc_ratespec { + unsigned char cell_log; + __u8 linklayer; + short unsigned int overhead; + short int cell_align; + short unsigned int mpu; + __u32 rate; +}; + +struct qdisc_rate_table { + struct tc_ratespec rate; + u32 data[256]; + struct qdisc_rate_table *next; + int refcnt; +}; + +struct tc_sizespec { + unsigned char cell_log; + unsigned char size_log; + short int cell_align; + int overhead; + unsigned int linklayer; + unsigned int mpu; + unsigned int mtu; + unsigned int tsize; +}; + +struct qdisc_size_table { + struct callback_head rcu; + struct list_head list; + struct tc_sizespec szopts; + int refcnt; + u16 data[0]; +}; + +struct qi_desc { + u64 qw0; + u64 qw1; + u64 qw2; + u64 qw3; +}; + +struct qi_batch { + struct qi_desc descs[16]; + unsigned int index; +}; + +struct qnode { + struct mcs_spinlock mcs; + long int reserved[2]; +}; + +struct queue_limits { + blk_features_t features; + blk_flags_t flags; + long unsigned int seg_boundary_mask; + long unsigned int virt_boundary_mask; + unsigned int max_hw_sectors; + unsigned int max_dev_sectors; + unsigned int chunk_sectors; + unsigned int max_sectors; + unsigned int max_user_sectors; + unsigned int max_segment_size; + unsigned int min_segment_size; + unsigned int physical_block_size; + unsigned int logical_block_size; + unsigned int alignment_offset; + unsigned int io_min; + unsigned int io_opt; + unsigned int max_discard_sectors; + unsigned int max_hw_discard_sectors; + unsigned int max_user_discard_sectors; + unsigned int max_secure_erase_sectors; + unsigned int max_write_zeroes_sectors; + unsigned int max_wzeroes_unmap_sectors; + unsigned int max_hw_wzeroes_unmap_sectors; + unsigned int max_user_wzeroes_unmap_sectors; + unsigned int max_hw_zone_append_sectors; + unsigned int max_zone_append_sectors; + unsigned int discard_granularity; + unsigned int discard_alignment; + unsigned int zone_write_granularity; + unsigned int atomic_write_hw_max; + unsigned int atomic_write_max_sectors; + unsigned int atomic_write_hw_boundary; + unsigned int atomic_write_boundary_sectors; + unsigned int atomic_write_hw_unit_min; + unsigned int atomic_write_unit_min; + unsigned int atomic_write_hw_unit_max; + unsigned int atomic_write_unit_max; + short unsigned int max_segments; + short unsigned int max_integrity_segments; + short unsigned int max_discard_segments; + short unsigned int max_write_streams; + unsigned int write_stream_granularity; + unsigned int max_open_zones; + unsigned int max_active_zones; + unsigned int dma_alignment; + unsigned int dma_pad_mask; + struct blk_integrity integrity; +}; + +struct queue_pages { + struct list_head *pagelist; + long unsigned int flags; + nodemask_t *nmask; + long unsigned int start; + long unsigned int end; + struct vm_area_struct *first; + struct folio *large; + long int nr_failed; +}; + +struct queue_sysfs_entry { + struct attribute attr; + ssize_t (*show)(struct gendisk *, char *); + ssize_t (*show_limit)(struct gendisk *, char *); + ssize_t (*store)(struct gendisk *, const char *, size_t); + int (*store_limit)(struct gendisk *, const char *, size_t, struct queue_limits *); +}; + +struct quirk_entry { + u16 vid; + u16 pid; + u32 flags; +}; + +struct quirk_entry___2 { + u32 nominal_freq; + u32 lowest_freq; +}; + +struct quota_format_ops { + int (*check_quota_file)(struct super_block *, int); + int (*read_file_info)(struct super_block *, int); + int (*write_file_info)(struct super_block *, int); + int (*free_file_info)(struct super_block *, int); + int (*read_dqblk)(struct dquot *); + int (*commit_dqblk)(struct dquot *); + int (*release_dqblk)(struct dquot *); + int (*get_next_id)(struct super_block *, struct kqid *); +}; + +struct quota_format_type { + int qf_fmt_id; + const struct quota_format_ops *qf_ops; + struct module *qf_owner; + struct quota_format_type *qf_next; +}; + +struct quota_id { + struct rb_node node; + qid_t id; + qsize_t bhardlimit; + qsize_t bsoftlimit; + qsize_t ihardlimit; + qsize_t isoftlimit; +}; + +struct quota_info { + unsigned int flags; + struct rw_semaphore dqio_sem; + struct inode *files[3]; + struct mem_dqinfo info[3]; + const struct quota_format_ops *ops[3]; +}; + +struct quota_module_name { + int qm_fmt_id; + char *qm_mod_name; +}; + +struct quotactl_ops { + int (*quota_on)(struct super_block *, int, int, const struct path *); + int (*quota_off)(struct super_block *, int); + int (*quota_enable)(struct super_block *, unsigned int); + int (*quota_disable)(struct super_block *, unsigned int); + int (*quota_sync)(struct super_block *, int); + int (*set_info)(struct super_block *, int, struct qc_info *); + int (*get_dqblk)(struct super_block *, struct kqid, struct qc_dqblk *); + int (*get_nextdqblk)(struct super_block *, struct kqid *, struct qc_dqblk *); + int (*set_dqblk)(struct super_block *, struct kqid, struct qc_dqblk *); + int (*get_state)(struct super_block *, struct qc_state *); + int (*rm_xquota)(struct super_block *, unsigned int); +}; + +struct ra_msg { + struct icmp6hdr icmph; + __be32 reachable_time; + __be32 retrans_timer; +}; + +struct xa_node; + +struct radix_tree_iter { + long unsigned int index; + long unsigned int next_index; + long unsigned int tags; + struct xa_node *node; +}; + +struct radix_tree_preload { + local_lock_t lock; + unsigned int nr; + struct xa_node *nodes; +}; + +struct ramfs_mount_opts { + umode_t mode; +}; + +struct ramfs_fs_info { + struct ramfs_mount_opts mount_opts; +}; + +struct rand_data { + void *hash_state; + __u64 prev_time; + __u64 last_delta; + __s64 last_delta2; + unsigned int flags; + unsigned int osr; + unsigned char *mem; + unsigned int memlocation; + unsigned int memblocks; + unsigned int memblocksize; + unsigned int memaccessloops; + unsigned int rct_count; + unsigned int apt_cutoff; + unsigned int apt_cutoff_permanent; + unsigned int apt_observations; + unsigned int apt_count; + unsigned int apt_base; + unsigned int health_failure; + unsigned int apt_base_set: 1; +}; + +struct range_node { + struct rb_node rn_rbnode; + struct rb_node rb_range_size; + u32 rn_start; + u32 rn_last; + u32 __rn_subtree_last; +}; + +struct range_trans { + u32 source_type; + u32 target_type; + u32 target_class; +}; + +struct rank_info { + int chan_idx; + struct csrow_info *csrow; + struct dimm_info *dimm; + u32 ce_count; +}; + +struct rate_sample { + u64 prior_mstamp; + u32 prior_delivered; + u32 prior_delivered_ce; + s32 delivered; + s32 delivered_ce; + long int interval_us; + u32 snd_interval_us; + u32 rcv_interval_us; + long int rtt_us; + int losses; + u32 acked_sacked; + u32 prior_in_flight; + u32 last_end_seq; + bool is_app_limited; + bool is_retrans; + bool is_ack_delayed; +}; + +struct raw6_frag_vec { + struct msghdr *msg; + int hlen; + char c[4]; +}; + +struct raw6_sock { + struct inet_sock inet; + __u32 checksum; + __u32 offset; + struct icmp6_filter filter; + __u32 ip6mr_table; + struct ipv6_pinfo inet6; +}; + +struct raw_data_entry { + struct trace_entry ent; + unsigned int id; + char buf[0]; +}; + +struct raw_frag_vec { + struct msghdr *msg; + union { + struct icmphdr icmph; + char c[1]; + } hdr; + int hlen; +}; + +struct raw_hashinfo { + spinlock_t lock; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + struct hlist_head ht[256]; +}; + +struct raw_hwp_page { + struct llist_node node; + struct page *page; +}; + +struct raw_iter_state { + struct seq_net_private p; + int bucket; +}; + +struct raw_sock { + struct inet_sock inet; + struct icmp_filter filter; + u32 ipmr_table; +}; + +struct rawdata_f_data { + struct aa_loaddata *loaddata; +}; + +struct rb_augment_callbacks { + void (*propagate)(struct rb_node *, struct rb_node *); + void (*copy)(struct rb_node *, struct rb_node *); + void (*rotate)(struct rb_node *, struct rb_node *); +}; + +struct rb_event_info { + u64 ts; + u64 delta; + u64 before; + u64 after; + long unsigned int length; + struct buffer_page *tail_page; + int add_timestamp; +}; + +struct rb_irq_work { + struct irq_work work; + wait_queue_head_t waiters; + wait_queue_head_t full_waiters; + atomic_t seq; + bool waiters_pending; + bool full_waiters_pending; + bool wakeup_full; +}; + +struct rb_list { + struct rb_root root; + struct list_head head; + spinlock_t lock; +}; + +struct rb_time_struct { + local64_t time; +}; + +typedef struct rb_time_struct rb_time_t; + +struct rb_wait_data { + struct rb_irq_work *irq_work; + int seq; +}; + +struct rc { + long int (*fill)(void *, long unsigned int); + uint8_t *ptr; + uint8_t *buffer; + uint8_t *buffer_end; + long int buffer_size; + uint32_t code; + uint32_t range; + uint32_t bound; + void (*error)(char *); +}; + +struct rc5t583 { + struct device *dev; + struct regmap *regmap; + int chip_irq; + int irq_base; + struct mutex irq_lock; + long unsigned int group_irq_en[5]; + uint8_t intc_inten_reg; + uint8_t irq_en_reg[8]; + uint8_t gpedge_reg[2]; +}; + +struct rc5t583_gpio { + struct gpio_chip gpio_chip; + struct rc5t583 *rc5t583; +}; + +struct rc5t583_irq_data { + u8 int_type; + u8 master_bit; + u8 int_en_bit; + u8 mask_reg_index; + int grp_index; +}; + +struct rc5t583_platform_data { + int irq_base; + int gpio_base; + bool enable_shutdown; + int regulator_deepsleep_slot[14]; + long unsigned int regulator_ext_pwr_control[14]; + struct regulator_init_data *reg_init_data[14]; +}; + +struct rc_dec { + uint32_t range; + uint32_t code; + uint32_t init_bytes_left; + const uint8_t *in; + size_t in_pos; + size_t in_limit; +}; + +struct rcec_ea { + u8 nextbusn; + u8 lastbusn; + u32 bitmap; +}; + +struct rchan_callbacks; + +struct rchan_buf; + +struct rchan { + u32 version; + size_t subbuf_size; + size_t n_subbufs; + size_t alloc_size; + const struct rchan_callbacks *cb; + struct kref kref; + void *private_data; + struct rchan_buf **buf; + int is_global; + struct list_head list; + struct dentry *parent; + int has_base_filename; + char base_filename[255]; +}; + +struct rchan_buf_stats { + unsigned int full_count; + unsigned int big_count; +}; + +struct rchan_buf { + void *start; + void *data; + size_t offset; + size_t subbufs_produced; + size_t subbufs_consumed; + struct rchan *chan; + wait_queue_head_t read_wait; + struct irq_work wakeup_work; + struct dentry *dentry; + struct kref kref; + struct rchan_buf_stats stats; + struct page **page_array; + unsigned int page_count; + unsigned int finalized; + size_t *padding; + size_t bytes_consumed; + size_t early_bytes; + unsigned int cpu; + long: 64; + long: 64; +}; + +struct rchan_callbacks { + int (*subbuf_start)(struct rchan_buf *, void *, void *); + struct dentry * (*create_buf_file)(const char *, struct dentry *, umode_t, struct rchan_buf *, int *); + int (*remove_buf_file)(struct dentry *); +}; + +struct rcu_cblist { + struct callback_head *head; + struct callback_head **tail; + long int len; +}; + +union rcu_noqs { + struct { + u8 norm; + u8 exp; + } b; + u16 s; +}; + +struct rcu_segcblist { + struct callback_head *head; + struct callback_head **tails[4]; + long unsigned int gp_seq[4]; + atomic_long_t len; + long int seglen[4]; + u8 flags; +}; + +struct rcu_snap_record { + long unsigned int gp_seq; + u64 cputime_irq; + u64 cputime_softirq; + u64 cputime_system; + u64 nr_hardirqs; + unsigned int nr_softirqs; + long long unsigned int nr_csw; + long unsigned int jiffies; +}; + +struct rcu_node; + +struct rcu_data { + long unsigned int gp_seq; + long unsigned int gp_seq_needed; + union rcu_noqs cpu_no_qs; + bool core_needs_qs; + bool beenonline; + bool gpwrap; + unsigned int gpwrap_count; + bool cpu_started; + struct rcu_node *mynode; + long unsigned int grpmask; + long unsigned int ticks_this_gp; + struct irq_work defer_qs_iw; + int defer_qs_iw_pending; + struct work_struct strict_work; + struct rcu_segcblist cblist; + long int qlen_last_fqs_check; + long unsigned int n_cbs_invoked; + long unsigned int n_force_qs_snap; + long int blimit; + int watching_snap; + bool rcu_need_heavy_qs; + bool rcu_urgent_qs; + bool rcu_forced_tick; + bool rcu_forced_tick_exp; + long unsigned int barrier_seq_snap; + struct callback_head barrier_head; + int exp_watching_snap; + struct swait_queue_head nocb_cb_wq; + struct swait_queue_head nocb_state_wq; + struct task_struct *nocb_gp_kthread; + raw_spinlock_t nocb_lock; + int nocb_defer_wakeup; + struct timer_list nocb_timer; + long unsigned int nocb_gp_adv_time; + struct mutex nocb_gp_kthread_mutex; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + raw_spinlock_t nocb_bypass_lock; + struct rcu_cblist nocb_bypass; + long unsigned int nocb_bypass_first; + long unsigned int nocb_nobypass_last; + int nocb_nobypass_count; + long: 64; + raw_spinlock_t nocb_gp_lock; + u8 nocb_gp_sleep; + u8 nocb_gp_bypass; + u8 nocb_gp_gp; + long unsigned int nocb_gp_seq; + long unsigned int nocb_gp_loops; + struct swait_queue_head nocb_gp_wq; + bool nocb_cb_sleep; + struct task_struct *nocb_cb_kthread; + struct list_head nocb_head_rdp; + struct list_head nocb_entry_rdp; + struct rcu_data *nocb_toggling_rdp; + long: 64; + long: 64; + long: 64; + struct rcu_data *nocb_gp_rdp; + struct task_struct *rcu_cpu_kthread_task; + unsigned int rcu_cpu_kthread_status; + char rcu_cpu_has_work; + long unsigned int rcuc_activity; + unsigned int softirq_snap; + struct irq_work rcu_iw; + bool rcu_iw_pending; + long unsigned int rcu_iw_gp_seq; + long unsigned int rcu_ofl_gp_seq; + short int rcu_ofl_gp_state; + long unsigned int rcu_onl_gp_seq; + short int rcu_onl_gp_state; + long unsigned int last_fqs_resched; + long unsigned int last_sched_clock; + struct rcu_snap_record snap_record; + long int lazy_len; + int cpu; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct rcu_exp_work { + long unsigned int rew_s; + struct kthread_work rew_work; +}; + +struct rcu_node { + raw_spinlock_t lock; + long unsigned int gp_seq; + long unsigned int gp_seq_needed; + long unsigned int completedqs; + long unsigned int qsmask; + long unsigned int rcu_gp_init_mask; + long unsigned int qsmaskinit; + long unsigned int qsmaskinitnext; + long unsigned int expmask; + long unsigned int expmaskinit; + long unsigned int expmaskinitnext; + struct kthread_worker *exp_kworker; + long unsigned int cbovldmask; + long unsigned int ffmask; + long unsigned int grpmask; + int grplo; + int grphi; + u8 grpnum; + u8 level; + bool wait_blkd_tasks; + struct rcu_node *parent; + struct list_head blkd_tasks; + struct list_head *gp_tasks; + struct list_head *exp_tasks; + struct list_head *boost_tasks; + struct rt_mutex boost_mtx; + long unsigned int boost_time; + struct mutex kthread_mutex; + struct task_struct *boost_kthread_task; + unsigned int boost_kthread_status; + long unsigned int n_boosts; + struct swait_queue_head nocb_gp_wq[2]; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + raw_spinlock_t fqslock; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + spinlock_t exp_lock; + long unsigned int exp_seq_rq; + wait_queue_head_t exp_wq[4]; + struct rcu_exp_work rew; + bool exp_need_flush; + raw_spinlock_t exp_poll_lock; + long unsigned int exp_seq_poll_rq; + struct work_struct exp_poll_wq; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +union rcu_special { + struct { + u8 blocked; + u8 need_qs; + u8 exp_hint; + u8 need_mb; + } b; + u32 s; +}; + +struct rcu_stall_chk_rdr { + int nesting; + union rcu_special rs; + bool on_blkd_list; +}; + +struct sr_wait_node { + atomic_t inuse; + struct llist_node node; +}; + +struct rcu_state { + struct rcu_node node[521]; + struct rcu_node *level[4]; + int ncpus; + int n_online_cpus; + long: 64; + long: 64; + long: 64; + long unsigned int gp_seq; + long unsigned int gp_max; + struct task_struct *gp_kthread; + struct swait_queue_head gp_wq; + short int gp_flags; + short int gp_state; + long unsigned int gp_wake_time; + long unsigned int gp_wake_seq; + long unsigned int gp_seq_polled; + long unsigned int gp_seq_polled_snap; + long unsigned int gp_seq_polled_exp_snap; + struct mutex barrier_mutex; + atomic_t barrier_cpu_count; + struct completion barrier_completion; + long unsigned int barrier_sequence; + raw_spinlock_t barrier_lock; + struct mutex exp_mutex; + struct mutex exp_wake_mutex; + long unsigned int expedited_sequence; + atomic_t expedited_need_qs; + struct swait_queue_head expedited_wq; + int ncpus_snap; + u8 cbovld; + u8 cbovldnext; + long unsigned int jiffies_force_qs; + long unsigned int jiffies_kick_kthreads; + long unsigned int n_force_qs; + long unsigned int gp_start; + long unsigned int gp_end; + long unsigned int gp_activity; + long unsigned int gp_req_activity; + long unsigned int jiffies_stall; + int nr_fqs_jiffies_stall; + long unsigned int jiffies_resched; + long unsigned int n_force_qs_gpstart; + const char *name; + char abbr; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + arch_spinlock_t ofl_lock; + struct llist_head srs_next; + struct llist_node *srs_wait_tail; + struct llist_node *srs_done_tail; + struct sr_wait_node srs_wait_nodes[5]; + struct work_struct srs_cleanup_work; + atomic_t srs_cleanups_pending; + struct mutex nocb_mutex; + int nocb_is_setup; +}; + +struct rcu_synchronize { + struct callback_head head; + struct completion completion; + struct rcu_gp_oldstate oldstate; +}; + +struct rcu_tasks; + +typedef void (*rcu_tasks_gp_func_t)(struct rcu_tasks *); + +typedef void (*pregp_func_t)(struct list_head *); + +typedef void (*pertask_func_t)(struct task_struct *, struct list_head *); + +typedef void (*postscan_func_t)(struct list_head *); + +typedef void (*holdouts_func_t)(struct list_head *, bool, bool *); + +typedef void (*postgp_func_t)(struct rcu_tasks *); + +typedef void (*rcu_callback_t)(struct callback_head *); + +typedef void (*call_rcu_func_t)(struct callback_head *, rcu_callback_t); + +struct rcu_tasks_percpu; + +struct rcu_tasks { + struct rcuwait cbs_wait; + raw_spinlock_t cbs_gbl_lock; + struct mutex tasks_gp_mutex; + int gp_state; + int gp_sleep; + int init_fract; + long unsigned int gp_jiffies; + long unsigned int gp_start; + long unsigned int tasks_gp_seq; + long unsigned int n_ipis; + long unsigned int n_ipis_fails; + struct task_struct *kthread_ptr; + long unsigned int lazy_jiffies; + rcu_tasks_gp_func_t gp_func; + pregp_func_t pregp_func; + pertask_func_t pertask_func; + postscan_func_t postscan_func; + holdouts_func_t holdouts_func; + postgp_func_t postgp_func; + call_rcu_func_t call_func; + unsigned int wait_state; + struct rcu_tasks_percpu *rtpcpu; + struct rcu_tasks_percpu **rtpcp_array; + int percpu_enqueue_shift; + int percpu_enqueue_lim; + int percpu_dequeue_lim; + long unsigned int percpu_dequeue_gpseq; + struct mutex barrier_q_mutex; + atomic_t barrier_q_count; + struct completion barrier_q_completion; + long unsigned int barrier_q_seq; + long unsigned int barrier_q_start; + char *name; + char *kname; +}; + +struct rcu_tasks_percpu { + struct rcu_segcblist cblist; + raw_spinlock_t lock; + long unsigned int rtp_jiffies; + long unsigned int rtp_n_lock_retries; + struct timer_list lazy_timer; + unsigned int urgent_gp; + struct work_struct rtp_work; + struct irq_work rtp_irq_work; + struct callback_head barrier_q_head; + struct list_head rtp_blkd_tasks; + struct list_head rtp_exit_list; + int cpu; + int index; + struct rcu_tasks *rtpp; +}; + +struct rd_msg { + struct icmp6hdr icmph; + struct in6_addr target; + struct in6_addr dest; + __u8 opt[0]; +}; + +struct rdev_sysfs_entry { + struct attribute attr; + ssize_t (*show)(struct md_rdev *, char *); + ssize_t (*store)(struct md_rdev *, const char *, size_t); +}; + +struct rdma_ah_init_attr { + struct rdma_ah_attr *ah_attr; + u32 flags; + struct net_device *xmit_slave; +}; + +struct rdma_cgroup { + struct cgroup_subsys_state css; + struct list_head rpools; +}; + +struct rdma_counter { + struct rdma_restrack_entry res; + struct ib_device *device; + uint32_t id; + struct kref kref; + struct rdma_counter_mode mode; + struct mutex lock; + struct rdma_hw_stats *stats; + u32 port; +}; + +struct rdma_stat_desc; + +struct rdma_hw_stats { + struct mutex lock; + long unsigned int timestamp; + long unsigned int lifespan; + const struct rdma_stat_desc *descs; + long unsigned int *is_disabled; + int num_counters; + u64 value[0]; +}; + +struct rdma_link_ops { + struct list_head list; + const char *type; + int (*newlink)(const char *, struct net_device *); +}; + +struct rdma_netdev_alloc_params { + size_t sizeof_priv; + unsigned int txqs; + unsigned int rxqs; + void *param; + int (*initialize_rdma_netdev)(struct ib_device *, u32, struct net_device *, void *); +}; + +struct rdma_stat_desc { + const char *name; + unsigned int flags; + const void *priv; +}; + +struct rdma_user_mmap_entry { + struct kref ref; + struct ib_ucontext *ucontext; + long unsigned int start_pgoff; + size_t npages; + bool driver_removed; +}; + +struct rdmacg_resource { + int max; + int usage; +}; + +struct rdmacg_resource_pool { + struct rdmacg_device *device; + struct rdmacg_resource resources[2]; + struct list_head cg_node; + struct list_head dev_node; + u64 usage_sum; + int num_max_cnt; +}; + +struct rdt_domain_hdr { + struct list_head list; + int id; + enum resctrl_domain_type type; + struct cpumask cpu_mask; +}; + +struct resctrl_staged_config { + u32 new_ctrl; + bool have_new_ctrl; +}; + +struct rdt_ctrl_domain { + struct rdt_domain_hdr hdr; + struct pseudo_lock_region *plr; + struct resctrl_staged_config staged_config[3]; + u32 *mbps_val; +}; + +struct rdt_fs_context { + struct kernfs_fs_context kfc; + bool enable_cdpl2; + bool enable_cdpl3; + bool enable_mba_mbps; + bool enable_debug; +}; + +struct rdt_hw_ctrl_domain { + struct rdt_ctrl_domain d_resctrl; + u32 *ctrl_val; +}; + +struct rdt_mon_domain { + struct rdt_domain_hdr hdr; + unsigned int ci_id; + long unsigned int *rmid_busy_llc; + struct mbm_state *mbm_total; + struct mbm_state *mbm_local; + struct delayed_work mbm_over; + struct delayed_work cqm_limbo; + int mbm_work_cpu; + int cqm_work_cpu; +}; + +struct rdt_hw_mon_domain { + struct rdt_mon_domain d_resctrl; + struct arch_mbm_state *arch_mbm_total; + struct arch_mbm_state *arch_mbm_local; +}; + +struct resctrl_cache { + unsigned int cbm_len; + unsigned int min_cbm_bits; + unsigned int shareable_bits; + bool arch_has_sparse_bitmasks; + bool arch_has_per_cpu_cfg; +}; + +struct resctrl_membw { + u32 min_bw; + u32 max_bw; + u32 bw_gran; + u32 delay_linear; + bool arch_needs_linear; + enum membw_throttle_mode throttle_mode; + bool mba_sc; + u32 *mb_map; +}; + +struct rdt_resource { + int rid; + bool alloc_capable; + bool mon_capable; + int num_rmid; + enum resctrl_scope ctrl_scope; + enum resctrl_scope mon_scope; + struct resctrl_cache cache; + struct resctrl_membw membw; + struct list_head ctrl_domains; + struct list_head mon_domains; + char *name; + enum resctrl_schema_fmt schema_fmt; + struct list_head evt_list; + unsigned int mbm_cfg_mask; + bool cdp_capable; +}; + +struct rdt_hw_resource { + struct rdt_resource r_resctrl; + u32 num_closid; + unsigned int msr_base; + void (*msr_update)(struct msr_param *); + unsigned int mon_scale; + unsigned int mbm_width; + bool cdp_enabled; +}; + +struct rdt_options { + char *name; + int flag; + bool force_off; + bool force_on; +}; + +struct rdt_parse_data { + struct rdtgroup *rdtgrp; + char *buf; +}; + +struct rdtgroup { + struct kernfs_node *kn; + struct list_head rdtgroup_list; + u32 closid; + struct cpumask cpu_mask; + int flags; + atomic_t waitcount; + enum rdt_group_type type; + struct mongroup mon; + enum rdtgrp_mode mode; + enum resctrl_event_id mba_mbps_event; + struct pseudo_lock_region *plr; +}; + +struct read_buffer { + struct list_head list; + unsigned int cons; + unsigned int len; + char msg[0]; +}; + +struct readahead_control { + struct file *file; + struct address_space *mapping; + struct file_ra_state *ra; + long unsigned int _index; + unsigned int _nr_pages; + unsigned int _batch_count; + bool dropbehind; + bool _workingset; + long unsigned int _pflags; +}; + +struct readdir_callback { + struct dir_context ctx; + struct old_linux_dirent *dirent; + int result; +}; + +struct real_mode_header { + u32 text_start; + u32 ro_end; + u32 trampoline_start; + u32 trampoline_header; + u32 sev_es_trampoline_start; + u32 trampoline_start64; + u32 trampoline_pgd; + u32 wakeup_start; + u32 wakeup_header; + u32 machine_real_restart_asm; + u32 machine_real_restart_seg; +}; + +struct virtnet_rq_stats { + struct u64_stats_sync syncp; + u64_stats_t packets; + u64_stats_t bytes; + u64_stats_t drops; + u64_stats_t xdp_packets; + u64_stats_t xdp_tx; + u64_stats_t xdp_redirects; + u64_stats_t xdp_drops; + u64_stats_t kicks; +}; + +struct virtnet_interrupt_coalesce { + u32 max_packets; + u32 max_usecs; +}; + +struct virtnet_rq_dma; + +struct receive_queue { + struct virtqueue *vq; + struct napi_struct napi; + struct bpf_prog *xdp_prog; + struct virtnet_rq_stats stats; + u16 calls; + bool dim_enabled; + struct mutex dim_lock; + struct dim dim; + u32 packets_in_napi; + struct virtnet_interrupt_coalesce intr_coal; + struct page *pages; + struct ewma_pkt_len mrg_avg_pkt_len; + struct page_frag alloc_frag; + struct scatterlist sg[19]; + unsigned int min_buf_len; + char name[16]; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + struct xdp_rxq_info xdp_rxq; + struct virtnet_rq_dma *last_dma; + struct xsk_buff_pool *xsk_pool; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + struct xdp_rxq_info xsk_rxq_info; + struct xdp_buff **xsk_buffs; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct reciprocal_value_adv { + u32 m; + u8 sh; + u8 exp; + bool is_wide_m; +}; + +struct reclaim_stat { + unsigned int nr_dirty; + unsigned int nr_unqueued_dirty; + unsigned int nr_congested; + unsigned int nr_writeback; + unsigned int nr_immediate; + unsigned int nr_pageout; + unsigned int nr_activate[2]; + unsigned int nr_ref_keep; + unsigned int nr_unmap_fail; + unsigned int nr_lazyfree_fail; + unsigned int nr_demoted; +}; + +struct reclaim_state { + long unsigned int reclaimed; + struct lru_gen_mm_walk *mm_walk; +}; + +struct recovery_info { + tid_t start_transaction; + tid_t end_transaction; + long unsigned int head_block; + int nr_replays; + int nr_revokes; + int nr_revoke_hits; +}; + +struct reg_default { + unsigned int reg; + unsigned int def; +}; + +struct reg_field { + unsigned int reg; + unsigned int lsb; + unsigned int msb; + unsigned int id_size; + unsigned int id_offset; +}; + +struct reg_genl_event { + char reg_name[32]; + uint64_t event; +}; + +struct reg_sequence { + unsigned int reg; + unsigned int def; + unsigned int delay_us; +}; + +struct regcache_ops { + const char *name; + enum regcache_type type; + int (*init)(struct regmap *); + int (*exit)(struct regmap *); + void (*debugfs_init)(struct regmap *); + int (*read)(struct regmap *, unsigned int, unsigned int *); + int (*write)(struct regmap *, unsigned int, unsigned int); + int (*sync)(struct regmap *, unsigned int, unsigned int); + int (*drop)(struct regmap *, unsigned int, unsigned int); +}; + +struct regcache_rbtree_node; + +struct regcache_rbtree_ctx { + struct rb_root root; + struct regcache_rbtree_node *cached_rbnode; +}; + +struct regcache_rbtree_node { + void *block; + long unsigned int *cache_present; + unsigned int base_reg; + unsigned int blklen; + struct rb_node node; +}; + +typedef int (*regex_match_func)(char *, struct regex *, int); + +struct regex { + char pattern[256]; + int len; + int field_len; + regex_match_func match; +}; + +struct region { + unsigned int start; + unsigned int off; + unsigned int group_len; + unsigned int end; + unsigned int nbits; +}; + +struct region_devres { + struct resource *parent; + resource_size_t start; + resource_size_t n; +}; + +typedef void (*regmap_lock)(void *); + +typedef void (*regmap_unlock)(void *); + +struct regmap_format { + size_t buf_size; + size_t reg_bytes; + size_t pad_bytes; + size_t val_bytes; + s8 reg_shift; + void (*format_write)(struct regmap *, unsigned int, unsigned int); + void (*format_reg)(void *, unsigned int, unsigned int); + void (*format_val)(void *, unsigned int, unsigned int); + unsigned int (*parse_val)(const void *); + void (*parse_inplace)(void *); +}; + +struct regmap_bus; + +struct regmap_access_table; + +struct regmap { + union { + struct mutex mutex; + struct { + spinlock_t spinlock; + long unsigned int spinlock_flags; + }; + struct { + raw_spinlock_t raw_spinlock; + long unsigned int raw_spinlock_flags; + }; + }; + struct lock_class_key *lock_key; + regmap_lock lock; + regmap_unlock unlock; + void *lock_arg; + gfp_t alloc_flags; + unsigned int reg_base; + struct device *dev; + void *work_buf; + struct regmap_format format; + const struct regmap_bus *bus; + void *bus_context; + const char *name; + spinlock_t async_lock; + wait_queue_head_t async_waitq; + struct list_head async_list; + struct list_head async_free; + int async_ret; + bool async; + bool debugfs_disable; + struct dentry *debugfs; + const char *debugfs_name; + unsigned int debugfs_reg_len; + unsigned int debugfs_val_len; + unsigned int debugfs_tot_len; + struct list_head debugfs_off_cache; + struct mutex cache_lock; + unsigned int max_register; + bool max_register_is_set; + bool (*writeable_reg)(struct device *, unsigned int); + bool (*readable_reg)(struct device *, unsigned int); + bool (*volatile_reg)(struct device *, unsigned int); + bool (*precious_reg)(struct device *, unsigned int); + bool (*writeable_noinc_reg)(struct device *, unsigned int); + bool (*readable_noinc_reg)(struct device *, unsigned int); + const struct regmap_access_table *wr_table; + const struct regmap_access_table *rd_table; + const struct regmap_access_table *volatile_table; + const struct regmap_access_table *precious_table; + const struct regmap_access_table *wr_noinc_table; + const struct regmap_access_table *rd_noinc_table; + int (*reg_read)(void *, unsigned int, unsigned int *); + int (*reg_write)(void *, unsigned int, unsigned int); + int (*reg_update_bits)(void *, unsigned int, unsigned int, unsigned int); + int (*read)(void *, const void *, size_t, void *, size_t); + int (*write)(void *, const void *, size_t); + long unsigned int read_flag_mask; + long unsigned int write_flag_mask; + int reg_shift; + int reg_stride; + int reg_stride_order; + bool defer_caching; + bool force_write_field; + const struct regcache_ops *cache_ops; + enum regcache_type cache_type; + unsigned int cache_size_raw; + unsigned int cache_word_size; + unsigned int num_reg_defaults; + unsigned int num_reg_defaults_raw; + bool cache_only; + bool cache_bypass; + bool cache_free; + struct reg_default *reg_defaults; + const void *reg_defaults_raw; + void *cache; + bool cache_dirty; + bool no_sync_defaults; + struct reg_sequence *patch; + int patch_regs; + bool can_sleep; + bool use_single_read; + bool use_single_write; + bool can_multi_write; + size_t max_raw_read; + size_t max_raw_write; + struct rb_root range_tree; + void *selector_work_buf; + struct hwspinlock *hwlock; +}; + +struct regmap_range; + +struct regmap_access_table { + const struct regmap_range *yes_ranges; + unsigned int n_yes_ranges; + const struct regmap_range *no_ranges; + unsigned int n_no_ranges; +}; + +struct regmap_async { + struct list_head list; + struct regmap *map; + void *work_buf; +}; + +struct spi_offload; + +struct spi_message { + struct list_head transfers; + struct spi_device *spi; + bool pre_optimized; + bool optimized; + bool prepared; + int status; + void (*complete)(void *); + void *context; + unsigned int frame_length; + unsigned int actual_length; + struct list_head queue; + void *state; + void *opt_state; + struct spi_offload *offload; + struct list_head resources; +}; + +struct spi_delay { + u16 value; + u8 unit; +}; + +struct spi_transfer { + const void *tx_buf; + void *rx_buf; + unsigned int len; + u16 error; + bool tx_sg_mapped; + bool rx_sg_mapped; + struct sg_table tx_sg; + struct sg_table rx_sg; + dma_addr_t tx_dma; + dma_addr_t rx_dma; + unsigned int dummy_data: 1; + unsigned int cs_off: 1; + unsigned int cs_change: 1; + unsigned int tx_nbits: 4; + unsigned int rx_nbits: 4; + unsigned int timestamped: 1; + bool dtr_mode; + u8 bits_per_word; + struct spi_delay delay; + struct spi_delay cs_change_delay; + struct spi_delay word_delay; + u32 speed_hz; + u32 effective_speed_hz; + unsigned int offload_flags; + unsigned int ptp_sts_word_pre; + unsigned int ptp_sts_word_post; + struct ptp_system_timestamp *ptp_sts; + struct list_head transfer_list; +}; + +struct regmap_async_spi { + struct regmap_async core; + struct spi_message m; + struct spi_transfer t[2]; +}; + +typedef int (*regmap_hw_write)(void *, const void *, size_t); + +typedef int (*regmap_hw_gather_write)(void *, const void *, size_t, const void *, size_t); + +typedef int (*regmap_hw_async_write)(void *, const void *, size_t, const void *, size_t, struct regmap_async *); + +typedef int (*regmap_hw_reg_write)(void *, unsigned int, unsigned int); + +typedef int (*regmap_hw_reg_noinc_write)(void *, unsigned int, const void *, size_t); + +typedef int (*regmap_hw_reg_update_bits)(void *, unsigned int, unsigned int, unsigned int); + +typedef int (*regmap_hw_read)(void *, const void *, size_t, void *, size_t); + +typedef int (*regmap_hw_reg_read)(void *, unsigned int, unsigned int *); + +typedef int (*regmap_hw_reg_noinc_read)(void *, unsigned int, void *, size_t); + +typedef void (*regmap_hw_free_context)(void *); + +typedef struct regmap_async * (*regmap_hw_async_alloc)(void); + +struct regmap_bus { + bool fast_io; + bool free_on_exit; + regmap_hw_write write; + regmap_hw_gather_write gather_write; + regmap_hw_async_write async_write; + regmap_hw_reg_write reg_write; + regmap_hw_reg_noinc_write reg_noinc_write; + regmap_hw_reg_update_bits reg_update_bits; + regmap_hw_read read; + regmap_hw_reg_read reg_read; + regmap_hw_reg_noinc_read reg_noinc_read; + regmap_hw_free_context free_context; + regmap_hw_async_alloc async_alloc; + u8 read_flag_mask; + enum regmap_endian reg_format_endian_default; + enum regmap_endian val_format_endian_default; + size_t max_raw_read; + size_t max_raw_write; +}; + +struct regmap_range_cfg; + +struct regmap_config { + const char *name; + int reg_bits; + int reg_stride; + int reg_shift; + unsigned int reg_base; + int pad_bits; + int val_bits; + bool (*writeable_reg)(struct device *, unsigned int); + bool (*readable_reg)(struct device *, unsigned int); + bool (*volatile_reg)(struct device *, unsigned int); + bool (*precious_reg)(struct device *, unsigned int); + bool (*writeable_noinc_reg)(struct device *, unsigned int); + bool (*readable_noinc_reg)(struct device *, unsigned int); + int (*reg_read)(void *, unsigned int, unsigned int *); + int (*reg_write)(void *, unsigned int, unsigned int); + int (*reg_update_bits)(void *, unsigned int, unsigned int, unsigned int); + int (*read)(void *, const void *, size_t, void *, size_t); + int (*write)(void *, const void *, size_t); + size_t max_raw_read; + size_t max_raw_write; + bool can_sleep; + bool fast_io; + bool io_port; + bool disable_locking; + regmap_lock lock; + regmap_unlock unlock; + void *lock_arg; + unsigned int max_register; + bool max_register_is_0; + const struct regmap_access_table *wr_table; + const struct regmap_access_table *rd_table; + const struct regmap_access_table *volatile_table; + const struct regmap_access_table *precious_table; + const struct regmap_access_table *wr_noinc_table; + const struct regmap_access_table *rd_noinc_table; + const struct reg_default *reg_defaults; + unsigned int num_reg_defaults; + enum regcache_type cache_type; + const void *reg_defaults_raw; + unsigned int num_reg_defaults_raw; + long unsigned int read_flag_mask; + long unsigned int write_flag_mask; + bool zero_flag_mask; + bool use_single_read; + bool use_single_write; + bool use_relaxed_mmio; + bool can_multi_write; + bool use_hwlock; + bool use_raw_spinlock; + unsigned int hwlock_id; + unsigned int hwlock_mode; + enum regmap_endian reg_format_endian; + enum regmap_endian val_format_endian; + const struct regmap_range_cfg *ranges; + unsigned int num_ranges; +}; + +struct regmap_debugfs_node { + struct regmap *map; + struct list_head link; +}; + +struct regmap_debugfs_off_cache { + struct list_head list; + off_t min; + off_t max; + unsigned int base_reg; + unsigned int max_reg; +}; + +struct regmap_field { + struct regmap *regmap; + unsigned int mask; + unsigned int shift; + unsigned int reg; + unsigned int id_size; + unsigned int id_offset; +}; + +struct regmap_irq_type { + unsigned int type_reg_offset; + unsigned int type_reg_mask; + unsigned int type_rising_val; + unsigned int type_falling_val; + unsigned int type_level_low_val; + unsigned int type_level_high_val; + unsigned int types_supported; +}; + +struct regmap_irq { + unsigned int reg_offset; + unsigned int mask; + struct regmap_irq_type type; +}; + +struct regmap_irq_sub_irq_map; + +struct regmap_irq_chip { + const char *name; + const char *domain_suffix; + unsigned int main_status; + unsigned int num_main_status_bits; + const struct regmap_irq_sub_irq_map *sub_reg_offsets; + int num_main_regs; + unsigned int status_base; + unsigned int mask_base; + unsigned int unmask_base; + unsigned int ack_base; + unsigned int wake_base; + const unsigned int *config_base; + unsigned int irq_reg_stride; + unsigned int init_ack_masked: 1; + unsigned int mask_unmask_non_inverted: 1; + unsigned int use_ack: 1; + unsigned int ack_invert: 1; + unsigned int clear_ack: 1; + unsigned int status_invert: 1; + unsigned int status_is_level: 1; + unsigned int wake_invert: 1; + unsigned int type_in_mask: 1; + unsigned int clear_on_unmask: 1; + unsigned int runtime_pm: 1; + unsigned int no_status: 1; + int num_regs; + const struct regmap_irq *irqs; + int num_irqs; + int num_config_bases; + int num_config_regs; + int (*handle_pre_irq)(void *); + int (*handle_post_irq)(void *); + int (*handle_mask_sync)(int, unsigned int, unsigned int, void *); + int (*set_type_config)(unsigned int **, unsigned int, const struct regmap_irq *, int, void *); + unsigned int (*get_irq_reg)(struct regmap_irq_chip_data *, unsigned int, int); + void *irq_drv_data; +}; + +struct regmap_irq_chip_data { + struct mutex lock; + struct lock_class_key lock_key; + struct irq_chip irq_chip; + struct regmap *map; + const struct regmap_irq_chip *chip; + int irq_base; + struct irq_domain *domain; + int irq; + int wake_count; + void *status_reg_buf; + unsigned int *main_status_buf; + unsigned int *status_buf; + unsigned int *prev_status_buf; + unsigned int *mask_buf; + unsigned int *mask_buf_def; + unsigned int *wake_buf; + unsigned int *type_buf; + unsigned int *type_buf_def; + unsigned int **config_buf; + unsigned int irq_reg_stride; + unsigned int (*get_irq_reg)(struct regmap_irq_chip_data *, unsigned int, int); + unsigned int clear_status: 1; +}; + +struct regmap_irq_sub_irq_map { + unsigned int num_regs; + unsigned int *offset; +}; + +struct regmap_mmio_context { + void *regs; + unsigned int val_bytes; + bool big_endian; + bool attached_clk; + struct clk *clk; + void (*reg_write)(struct regmap_mmio_context *, unsigned int, unsigned int); + unsigned int (*reg_read)(struct regmap_mmio_context *, unsigned int); +}; + +struct regmap_range { + unsigned int range_min; + unsigned int range_max; +}; + +struct regmap_range_cfg { + const char *name; + unsigned int range_min; + unsigned int range_max; + unsigned int selector_reg; + unsigned int selector_mask; + int selector_shift; + unsigned int window_start; + unsigned int window_len; +}; + +struct regmap_range_node { + struct rb_node node; + const char *name; + struct regmap *map; + unsigned int range_min; + unsigned int range_max; + unsigned int selector_reg; + unsigned int selector_mask; + int selector_shift; + unsigned int window_start; + unsigned int window_len; +}; + +struct regulator_voltage { + int min_uV; + int max_uV; +}; + +struct regulator { + struct device *dev; + struct list_head list; + unsigned int always_on: 1; + unsigned int bypass: 1; + unsigned int device_link: 1; + int uA_load; + unsigned int enable_count; + unsigned int deferred_disables; + struct regulator_voltage voltage[5]; + const char *supply_name; + struct device_attribute dev_attr; + struct regulator_dev *rdev; + struct dentry *debugfs; +}; + +struct regulator_bulk_devres { + struct regulator_bulk_data *consumers; + int num_consumers; +}; + +struct regulator_config { + struct device *dev; + const struct regulator_init_data *init_data; + void *driver_data; + struct device_node *of_node; + struct regmap *regmap; + struct gpio_desc *ena_gpiod; +}; + +struct regulator_consumer_supply { + const char *dev_name; + const char *supply; +}; + +struct regulator_coupler { + struct list_head list; + int (*attach_regulator)(struct regulator_coupler *, struct regulator_dev *); + int (*detach_regulator)(struct regulator_coupler *, struct regulator_dev *); + int (*balance_voltage)(struct regulator_coupler *, struct regulator_dev *, suspend_state_t); +}; + +struct regulator_enable_gpio; + +struct regulator_dev { + const struct regulator_desc *desc; + int exclusive; + u32 use_count; + u32 open_count; + u32 bypass_count; + struct list_head list; + struct list_head consumer_list; + struct coupling_desc coupling_desc; + struct blocking_notifier_head notifier; + struct ww_mutex mutex; + struct task_struct *mutex_owner; + int ref_cnt; + struct module *owner; + struct device dev; + struct regulation_constraints *constraints; + struct regulator *supply; + const char *supply_name; + struct regmap *regmap; + struct delayed_work disable_work; + void *reg_data; + struct dentry *debugfs; + struct regulator_enable_gpio *ena_pin; + unsigned int ena_gpio_state: 1; + unsigned int is_switch: 1; + ktime_t last_off; + int cached_err; + bool use_cached_err; + spinlock_t err_lock; + int pw_requested_mW; +}; + +struct regulator_enable_gpio { + struct list_head list; + struct gpio_desc *gpiod; + u32 enable_count; + u32 request_count; +}; + +struct regulator_err_state { + struct regulator_dev *rdev; + long unsigned int notifs; + long unsigned int errors; + int possible_errs; +}; + +struct regulator_irq_data { + struct regulator_err_state *states; + int num_states; + void *data; + long int opaque; +}; + +struct regulator_irq_desc { + const char *name; + int fatal_cnt; + int reread_ms; + int irq_off_ms; + bool skip_off; + bool high_prio; + void *data; + int (*die)(struct regulator_irq_data *); + int (*map_event)(int, struct regulator_irq_data *, long unsigned int *); + int (*renable)(struct regulator_irq_data *); +}; + +struct regulator_irq { + struct regulator_irq_data rdata; + struct regulator_irq_desc desc; + int irq; + int retry_cnt; + struct delayed_work isr_work; +}; + +struct regulator_map { + struct list_head list; + const char *dev_name; + const char *supply; + struct regulator_dev *regulator; +}; + +struct regulator_notifier_match { + struct regulator *regulator; + struct notifier_block *nb; +}; + +struct regulator_ops { + int (*list_voltage)(struct regulator_dev *, unsigned int); + int (*set_voltage)(struct regulator_dev *, int, int, unsigned int *); + int (*map_voltage)(struct regulator_dev *, int, int); + int (*set_voltage_sel)(struct regulator_dev *, unsigned int); + int (*get_voltage)(struct regulator_dev *); + int (*get_voltage_sel)(struct regulator_dev *); + int (*set_current_limit)(struct regulator_dev *, int, int); + int (*get_current_limit)(struct regulator_dev *); + int (*set_input_current_limit)(struct regulator_dev *, int); + int (*set_over_current_protection)(struct regulator_dev *, int, int, bool); + int (*set_over_voltage_protection)(struct regulator_dev *, int, int, bool); + int (*set_under_voltage_protection)(struct regulator_dev *, int, int, bool); + int (*set_thermal_protection)(struct regulator_dev *, int, int, bool); + int (*set_active_discharge)(struct regulator_dev *, bool); + int (*enable)(struct regulator_dev *); + int (*disable)(struct regulator_dev *); + int (*is_enabled)(struct regulator_dev *); + int (*set_mode)(struct regulator_dev *, unsigned int); + unsigned int (*get_mode)(struct regulator_dev *); + int (*get_error_flags)(struct regulator_dev *, unsigned int *); + int (*enable_time)(struct regulator_dev *); + int (*set_ramp_delay)(struct regulator_dev *, int); + int (*set_voltage_time)(struct regulator_dev *, int, int); + int (*set_voltage_time_sel)(struct regulator_dev *, unsigned int, unsigned int); + int (*set_soft_start)(struct regulator_dev *); + int (*get_status)(struct regulator_dev *); + unsigned int (*get_optimum_mode)(struct regulator_dev *, int, int, int); + int (*set_load)(struct regulator_dev *, int); + int (*set_bypass)(struct regulator_dev *, bool); + int (*get_bypass)(struct regulator_dev *, bool *); + int (*set_suspend_voltage)(struct regulator_dev *, int); + int (*set_suspend_enable)(struct regulator_dev *); + int (*set_suspend_disable)(struct regulator_dev *); + int (*set_suspend_mode)(struct regulator_dev *, unsigned int); + int (*resume)(struct regulator_dev *); + int (*set_pull_down)(struct regulator_dev *); +}; + +struct regulator_supply_alias { + struct list_head list; + struct device *src_dev; + const char *src_supply; + struct device *alias_dev; + const char *alias_supply; +}; + +struct regulator_supply_alias_match { + struct device *dev; + const char *id; +}; + +struct regulatory_request { + struct callback_head callback_head; + int wiphy_idx; + enum nl80211_reg_initiator initiator; + enum nl80211_user_reg_hint_type user_reg_hint_type; + char alpha2[3]; + enum nl80211_dfs_regions dfs_region; + bool intersect; + bool processed; + enum environment_cap country_ie_env; + struct list_head list; +}; + +struct release_task_post { + struct pid *pids[4]; +}; + +struct xen_remap_gfn_info; + +struct remap_data { + xen_pfn_t *fgfn; + int nr_fgfn; + pgprot_t prot; + domid_t domid; + struct vm_area_struct *vma; + int index; + struct page **pages; + struct xen_remap_gfn_info *info; + int *err_ptr; + int mapped; + int h_errs[1]; + xen_ulong_t h_idxs[1]; + xen_pfn_t h_gpfns[1]; + int h_iter; +}; + +struct remap_data___2 { + xen_pfn_t *pfn; + bool contiguous; + bool no_translate; + pgprot_t prot; + struct mmu_update *mmu_update; +}; + +struct remap_pfn { + struct mm_struct *mm; + struct page **pages; + pgprot_t prot; + long unsigned int i; +}; + +struct remap_trace { + struct list_head list; + struct kmmio_probe probe; + resource_size_t phys; + long unsigned int id; +}; + +typedef int (*remote_function_f)(void *); + +struct remote_function_call { + struct task_struct *p; + remote_function_f func; + void *info; + int ret; +}; + +struct remote_output { + struct perf_buffer *rb; + int err; +}; + +struct renamedata { + struct mnt_idmap *old_mnt_idmap; + struct dentry *old_parent; + struct dentry *old_dentry; + struct mnt_idmap *new_mnt_idmap; + struct dentry *new_parent; + struct dentry *new_dentry; + struct inode **delegated_inode; + unsigned int flags; +}; + +struct repcodes_s { + U32 rep[3]; +}; + +typedef struct repcodes_s Repcodes_t; + +struct reply_func { + int type; + int (*cb)(struct net_device *, struct nlmsghdr *, u32, struct nlattr **, struct sk_buff *); +}; + +struct req { + struct req *next; + struct completion done; + int err; + const char *name; + umode_t mode; + kuid_t uid; + kgid_t gid; + struct device *dev; +}; + +typedef enum rq_end_io_ret rq_end_io_fn(struct request *, blk_status_t); + +struct request { + struct request_queue *q; + struct blk_mq_ctx *mq_ctx; + struct blk_mq_hw_ctx *mq_hctx; + blk_opf_t cmd_flags; + req_flags_t rq_flags; + int tag; + int internal_tag; + unsigned int timeout; + unsigned int __data_len; + sector_t __sector; + struct bio *bio; + struct bio *biotail; + union { + struct list_head queuelist; + struct request *rq_next; + }; + struct block_device *part; + u64 alloc_time_ns; + u64 start_time_ns; + u64 io_start_time_ns; + short unsigned int wbt_flags; + short unsigned int stats_sectors; + short unsigned int nr_phys_segments; + short unsigned int nr_integrity_segments; + struct bio_crypt_ctx *crypt_ctx; + struct blk_crypto_keyslot *crypt_keyslot; + enum mq_rq_state state; + atomic_t ref; + long unsigned int deadline; + union { + struct hlist_node hash; + struct llist_node ipi_list; + }; + union { + struct rb_node rb_node; + struct bio_vec special_vec; + }; + struct { + struct io_cq *icq; + void *priv[2]; + } elv; + struct { + unsigned int seq; + rq_end_io_fn *saved_end_io; + } flush; + u64 fifo_time; + rq_end_io_fn *end_io; + void *end_io_data; +}; + +struct request_key_auth { + struct callback_head rcu; + struct key *target_key; + struct key *dest_keyring; + const struct cred *cred; + void *callout_info; + size_t callout_len; + pid_t pid; + char op[8]; +}; + +struct throtl_data; + +struct request_queue { + void *queuedata; + struct elevator_queue *elevator; + const struct blk_mq_ops *mq_ops; + struct blk_mq_ctx *queue_ctx; + long unsigned int queue_flags; + unsigned int rq_timeout; + unsigned int queue_depth; + refcount_t refs; + unsigned int nr_hw_queues; + struct xarray hctx_table; + struct percpu_ref q_usage_counter; + struct lock_class_key io_lock_cls_key; + struct lockdep_map io_lockdep_map; + struct lock_class_key q_lock_cls_key; + struct lockdep_map q_lockdep_map; + struct request *last_merge; + spinlock_t queue_lock; + int quiesce_depth; + struct gendisk *disk; + struct kobject *mq_kobj; + struct queue_limits limits; + struct device *dev; + enum rpm_status rpm_status; + atomic_t pm_only; + struct blk_queue_stats *stats; + struct rq_qos *rq_qos; + struct mutex rq_qos_mutex; + int id; + long unsigned int nr_requests; + struct blk_crypto_profile *crypto_profile; + struct kobject *crypto_kobject; + struct timer_list timeout; + struct work_struct timeout_work; + atomic_t nr_active_requests_shared_tags; + struct blk_mq_tags *sched_shared_tags; + struct list_head icq_list; + long unsigned int blkcg_pols[1]; + struct blkcg_gq *root_blkg; + struct list_head blkg_list; + struct mutex blkcg_mutex; + int node; + spinlock_t requeue_lock; + struct list_head requeue_list; + struct delayed_work requeue_work; + struct blk_trace *blk_trace; + struct blk_flush_queue *fq; + struct list_head flush_list; + struct mutex elevator_lock; + struct mutex sysfs_lock; + struct mutex limits_lock; + struct list_head unused_hctx_list; + spinlock_t unused_hctx_lock; + int mq_freeze_depth; + struct throtl_data *td; + struct callback_head callback_head; + wait_queue_head_t mq_freeze_wq; + struct mutex mq_freeze_lock; + struct blk_mq_tag_set *tag_set; + struct list_head tag_set_list; + struct dentry *debugfs_dir; + struct dentry *sched_debugfs_dir; + struct dentry *rqos_debugfs_dir; + struct mutex debugfs_mutex; +}; + +struct request_sense { + __u8 error_code: 7; + __u8 valid: 1; + __u8 segment_number; + __u8 sense_key: 4; + __u8 reserved2: 1; + __u8 ili: 1; + __u8 reserved1: 2; + __u8 information[4]; + __u8 add_sense_len; + __u8 command_info[4]; + __u8 asc; + __u8 ascq; + __u8 fruc; + __u8 sks[3]; + __u8 asb[46]; +}; + +struct request_sock__safe_rcu_or_null { + struct sock *sk; +}; + +struct request_sock_ops { + int family; + unsigned int obj_size; + struct kmem_cache *slab; + char *slab_name; + void (*send_ack)(const struct sock *, struct sk_buff *, struct request_sock *); + void (*send_reset)(const struct sock *, struct sk_buff *, enum sk_rst_reason); + void (*destructor)(struct request_sock *); + void (*syn_ack_timeout)(const struct request_sock *); +}; + +struct res_proc_context { + struct list_head *list; + int (*preproc)(struct acpi_resource *, void *); + void *preproc_data; + int count; + int error; +}; + +struct resctrl_cpu_defaults { + u32 closid; + u32 rmid; +}; + +struct resctrl_mon_config_info { + struct rdt_resource *r; + struct rdt_mon_domain *d; + u32 evtid; + u32 mon_config; +}; + +struct resctrl_pqr_state { + u32 cur_rmid; + u32 cur_closid; + u32 default_rmid; + u32 default_closid; +}; + +struct resctrl_schema { + struct list_head list; + char name[8]; + const char *fmt_str; + enum resctrl_conf_type conf_type; + struct rdt_resource *res; + u32 num_closid; +}; + +struct reserve_mem_table { + char name[16]; + phys_addr_t start; + phys_addr_t size; +}; + +struct reset_controller_dev; + +struct reset_control { + struct reset_controller_dev *rcdev; + struct list_head list; + unsigned int id; + struct kref refcnt; + bool acquired; + bool shared; + bool array; + atomic_t deassert_count; + atomic_t triggered_count; +}; + +struct reset_control_array { + struct reset_control base; + unsigned int num_rstcs; + struct reset_control *rstc[0]; +}; + +struct reset_control_bulk_devres { + int num_rstcs; + struct reset_control_bulk_data *rstcs; +}; + +struct reset_control_lookup { + struct list_head list; + const char *provider; + unsigned int index; + const char *dev_id; + const char *con_id; +}; + +struct reset_control_ops { + int (*reset)(struct reset_controller_dev *, long unsigned int); + int (*assert)(struct reset_controller_dev *, long unsigned int); + int (*deassert)(struct reset_controller_dev *, long unsigned int); + int (*status)(struct reset_controller_dev *, long unsigned int); +}; + +struct reset_controller_dev { + const struct reset_control_ops *ops; + struct module *owner; + struct list_head list; + struct list_head reset_control_head; + struct device *dev; + struct device_node *of_node; + const struct of_phandle_args *of_args; + int of_reset_n_cells; + int (*of_xlate)(struct reset_controller_dev *, const struct of_phandle_args *); + unsigned int nr_resets; +}; + +struct reset_gpio_lookup { + struct of_phandle_args of_args; + struct list_head list; +}; + +struct reset_simple_data { + spinlock_t lock; + void *membase; + struct reset_controller_dev rcdev; + bool active_low; + bool status_active_low; + unsigned int reset_us; +}; + +struct reset_simple_devdata { + u32 reg_offset; + u32 nr_resets; + bool active_low; + bool status_active_low; +}; + +struct residency_counts { + u64 miss_before; + u64 hits_before; + u64 miss_after; + u64 hits_after; +}; + +typedef resource_size_t (*resource_alignf)(void *, const struct resource *, resource_size_t, resource_size_t); + +struct resource_constraint { + resource_size_t min; + resource_size_t max; + resource_size_t align; + resource_alignf alignf; + void *alignf_data; +}; + +struct resource_entry { + struct list_head node; + struct resource *res; + resource_size_t offset; + struct resource __res; +}; + +struct resource_table { + u32 ver; + u32 num; + u32 reserved[2]; + u32 offset[0]; +}; + +struct resource_win { + struct resource res; + resource_size_t offset; +}; + +struct restart_block { + long unsigned int arch_data; + long int (*fn)(struct restart_block *); + union { + struct { + u32 *uaddr; + u32 val; + u32 flags; + u32 bitset; + u64 time; + u32 *uaddr2; + } futex; + struct { + clockid_t clockid; + enum timespec_type type; + union { + struct __kernel_timespec *rmtp; + struct old_timespec32 *compat_rmtp; + }; + u64 expires; + } nanosleep; + struct { + struct pollfd *ufds; + int nfds; + int has_timeout; + long unsigned int tv_sec; + long unsigned int tv_nsec; + } poll; + }; +}; + +struct restore_data_record { + long unsigned int jump_address; + long unsigned int jump_address_phys; + long unsigned int cr3; + long unsigned int magic; + long unsigned int e820_checksum; +}; + +struct resume_performance_record { + struct fpdt_record_header header; + u32 resume_count; + u64 resume_prev; + u64 resume_avg; +}; + +struct resume_swap_area { + __kernel_loff_t offset; + __u32 dev; +} __attribute__((packed)); + +struct resv_map { + struct kref refs; + spinlock_t lock; + struct list_head regions; + long int adds_in_progress; + struct list_head region_cache; + long int region_cache_count; + struct rw_semaphore rw_sema; + struct page_counter *reservation_counter; + long unsigned int pages_per_hpage; + struct cgroup_subsys_state *css; +}; + +struct rethook { + void *data; + void (*handler)(struct rethook_node *, void *, long unsigned int, struct pt_regs *); + struct objpool_head pool; + struct callback_head rcu; +}; + +struct return_consumer { + __u64 cookie; + __u64 id; +}; + +struct return_instance { + struct hprobe hprobe; + long unsigned int func; + long unsigned int stack; + long unsigned int orig_ret_vaddr; + bool chained; + int cons_cnt; + struct return_instance *next; + struct callback_head rcu; + struct return_consumer consumer; + struct return_consumer *extra_consumers; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct reuseport_array { + struct bpf_map map; + struct sock *ptrs[0]; +}; + +struct rfkill_ops; + +struct rfkill { + spinlock_t lock; + enum rfkill_type type; + long unsigned int state; + long unsigned int hard_block_reasons; + u32 idx; + bool registered; + bool persistent; + bool polling_paused; + bool suspended; + bool need_sync; + const struct rfkill_ops *ops; + void *data; + struct led_trigger led_trigger; + const char *ledtrigname; + struct device dev; + struct list_head node; + struct delayed_work poll_work; + struct work_struct uevent_work; + struct work_struct sync_work; + char name[0]; +}; + +struct rfkill_data { + struct list_head list; + struct list_head events; + struct mutex mtx; + wait_queue_head_t read_wait; + bool input_handler; +}; + +struct rfkill_event_ext { + __u32 idx; + __u8 type; + __u8 op; + __u8 soft; + __u8 hard; + __u8 hard_block_reasons; +} __attribute__((packed)); + +struct rfkill_int_event { + struct list_head list; + struct rfkill_event_ext ev; +}; + +struct rfkill_ops { + void (*poll)(struct rfkill *, void *); + void (*query)(struct rfkill *, void *); + int (*set_block)(void *, bool); +}; + +struct rftype { + char *name; + umode_t mode; + const struct kernfs_ops *kf_ops; + long unsigned int flags; + long unsigned int fflags; + int (*seq_show)(struct kernfs_open_file *, struct seq_file *, void *); + ssize_t (*write)(struct kernfs_open_file *, char *, size_t, loff_t); +}; + +struct rgb { + u8 r; + u8 g; + u8 b; +}; + +struct rhash_lock_head {}; + +struct rhashtable_compare_arg { + struct rhashtable *ht; + const void *key; +}; + +struct rid_data { + struct pci_dev *bridge; + u32 rid; +}; + +struct ring_buffer_cpu_meta { + long unsigned int first_buffer; + long unsigned int head_buffer; + long unsigned int commit_buffer; + __u32 subbuf_size; + __u32 nr_subbufs; + int buffers[0]; +}; + +struct ring_buffer_event { + u32 type_len: 5; + u32 time_delta: 27; + u32 array[0]; +}; + +struct ring_buffer_per_cpu; + +struct ring_buffer_iter { + struct ring_buffer_per_cpu *cpu_buffer; + long unsigned int head; + long unsigned int next_event; + struct buffer_page *head_page; + struct buffer_page *cache_reader_page; + long unsigned int cache_read; + long unsigned int cache_pages_removed; + u64 read_stamp; + u64 page_stamp; + struct ring_buffer_event *event; + size_t event_size; + int missed_events; +}; + +struct ring_buffer_meta { + int magic; + int struct_sizes; + long unsigned int total_size; + long unsigned int buffers_offset; +}; + +struct trace_buffer_meta; + +struct ring_buffer_per_cpu { + int cpu; + atomic_t record_disabled; + atomic_t resize_disabled; + struct trace_buffer *buffer; + raw_spinlock_t reader_lock; + arch_spinlock_t lock; + struct lock_class_key lock_key; + struct buffer_data_page *free_page; + long unsigned int nr_pages; + unsigned int current_context; + struct list_head *pages; + long unsigned int cnt; + struct buffer_page *head_page; + struct buffer_page *tail_page; + struct buffer_page *commit_page; + struct buffer_page *reader_page; + long unsigned int lost_events; + long unsigned int last_overrun; + long unsigned int nest; + local_t entries_bytes; + local_t entries; + local_t overrun; + local_t commit_overrun; + local_t dropped_events; + local_t committing; + local_t commits; + local_t pages_touched; + local_t pages_lost; + local_t pages_read; + long int last_pages_touch; + size_t shortest_full; + long unsigned int read; + long unsigned int read_bytes; + rb_time_t write_stamp; + rb_time_t before_stamp; + u64 event_stamp[5]; + u64 read_stamp; + long unsigned int pages_removed; + unsigned int mapped; + unsigned int user_mapped; + struct mutex mapping_lock; + long unsigned int *subbuf_ids; + struct trace_buffer_meta *meta_page; + struct ring_buffer_cpu_meta *ring_meta; + long int nr_pages_to_update; + struct list_head new_pages; + struct work_struct update_pages_work; + struct completion update_done; + struct rb_irq_work irq_work; +}; + +struct rings_reply_data { + struct ethnl_reply_data base; + struct ethtool_ringparam ringparam; + struct kernel_ethtool_ringparam kernel_ringparam; + u32 supported_ring_params; +}; + +struct rio_mport; + +struct rio_dbell { + struct list_head node; + struct resource *res; + void (*dinb)(struct rio_mport *, void *, u16, u16, u16); + void *dev_id; +}; + +struct rio_switch_ops; + +struct rio_dev; + +struct rio_switch { + struct list_head node; + u8 *route_table; + u32 port_ok; + struct rio_switch_ops *ops; + spinlock_t lock; + struct rio_dev *nextdev[0]; +}; + +struct rio_net; + +struct rio_driver; + +union rio_pw_msg; + +struct rio_dev { + struct list_head global_list; + struct list_head net_list; + struct rio_net *net; + bool do_enum; + u16 did; + u16 vid; + u32 device_rev; + u16 asm_did; + u16 asm_vid; + u16 asm_rev; + u16 efptr; + u32 pef; + u32 swpinfo; + u32 src_ops; + u32 dst_ops; + u32 comp_tag; + u32 phys_efptr; + u32 phys_rmap; + u32 em_efptr; + u64 dma_mask; + struct rio_driver *driver; + struct device dev; + struct resource riores[16]; + int (*pwcback)(struct rio_dev *, union rio_pw_msg *, int); + u16 destid; + u8 hopcount; + struct rio_dev *prev; + atomic_t state; + struct rio_switch rswitch[0]; +}; + +struct rio_device_id { + __u16 did; + __u16 vid; + __u16 asm_did; + __u16 asm_vid; +}; + +struct rio_disc_work { + struct work_struct work; + struct rio_mport *mport; +}; + +struct rio_dma_data { + struct scatterlist *sg; + unsigned int sg_len; + u64 rio_addr; + u8 rio_addr_u; + enum rio_write_type wr_type; +}; + +struct rio_dma_ext { + u16 destid; + u64 rio_addr; + u8 rio_addr_u; + enum rio_write_type wr_type; +}; + +struct rio_driver { + struct list_head node; + char *name; + const struct rio_device_id *id_table; + int (*probe)(struct rio_dev *, const struct rio_device_id *); + void (*remove)(struct rio_dev *); + void (*shutdown)(struct rio_dev *); + int (*suspend)(struct rio_dev *, u32); + int (*resume)(struct rio_dev *); + int (*enable_wake)(struct rio_dev *, u32, int); + struct device_driver driver; +}; + +struct rio_msg { + struct resource *res; + void (*mcback)(struct rio_mport *, void *, int, int); +}; + +struct rio_ops; + +struct rio_scan; + +struct rio_mport { + struct list_head dbells; + struct list_head pwrites; + struct list_head node; + struct list_head nnode; + struct rio_net *net; + struct mutex lock; + struct resource iores; + struct resource riores[16]; + struct rio_msg inb_msg[4]; + struct rio_msg outb_msg[4]; + int host_deviceid; + struct rio_ops *ops; + unsigned char id; + unsigned char index; + unsigned int sys_size; + u32 phys_efptr; + u32 phys_rmap; + unsigned char name[40]; + struct device dev; + void *priv; + struct dma_device dma; + struct rio_scan *nscan; + atomic_t state; + unsigned int pwe_refcnt; +}; + +struct rio_mport_attr { + int flags; + int link_speed; + int link_width; + int dma_max_sge; + int dma_max_size; + int dma_align; +}; + +struct rio_net { + struct list_head node; + struct list_head devices; + struct list_head switches; + struct list_head mports; + struct rio_mport *hport; + unsigned char id; + struct device dev; + void *enum_data; + void (*release)(struct rio_net *); +}; + +struct rio_ops { + int (*lcread)(struct rio_mport *, int, u32, int, u32 *); + int (*lcwrite)(struct rio_mport *, int, u32, int, u32); + int (*cread)(struct rio_mport *, int, u16, u8, u32, int, u32 *); + int (*cwrite)(struct rio_mport *, int, u16, u8, u32, int, u32); + int (*dsend)(struct rio_mport *, int, u16, u16); + int (*pwenable)(struct rio_mport *, int); + int (*open_outb_mbox)(struct rio_mport *, void *, int, int); + void (*close_outb_mbox)(struct rio_mport *, int); + int (*open_inb_mbox)(struct rio_mport *, void *, int, int); + void (*close_inb_mbox)(struct rio_mport *, int); + int (*add_outb_message)(struct rio_mport *, struct rio_dev *, int, void *, size_t); + int (*add_inb_buffer)(struct rio_mport *, int, void *); + void * (*get_inb_message)(struct rio_mport *, int); + int (*map_inb)(struct rio_mport *, dma_addr_t, u64, u64, u32); + void (*unmap_inb)(struct rio_mport *, dma_addr_t); + int (*query_mport)(struct rio_mport *, struct rio_mport_attr *); + int (*map_outb)(struct rio_mport *, u16, u64, u32, u32, dma_addr_t *); + void (*unmap_outb)(struct rio_mport *, u16, u64); +}; + +union rio_pw_msg { + struct { + u32 comptag; + u32 errdetect; + u32 is_port; + u32 ltlerrdet; + u32 padding[12]; + } em; + u32 raw[16]; +}; + +struct rio_pwrite { + struct list_head node; + int (*pwcback)(struct rio_mport *, void *, union rio_pw_msg *, int); + void *context; +}; + +struct rio_scan { + struct module *owner; + int (*enumerate)(struct rio_mport *, u32); + int (*discover)(struct rio_mport *, u32); +}; + +struct rio_scan_node { + int mport_id; + struct list_head node; + struct rio_scan *ops; +}; + +struct rio_switch_ops { + struct module *owner; + int (*add_entry)(struct rio_mport *, u16, u8, u16, u16, u8); + int (*get_entry)(struct rio_mport *, u16, u8, u16, u16, u8 *); + int (*clr_table)(struct rio_mport *, u16, u8, u16); + int (*set_domain)(struct rio_mport *, u16, u8, u8); + int (*get_domain)(struct rio_mport *, u16, u8, u8 *); + int (*em_init)(struct rio_dev *); + int (*em_handle)(struct rio_dev *, u8); +}; + +struct rlimit64 { + __u64 rlim_cur; + __u64 rlim_max; +}; + +struct rm_feature_desc { + __be16 feature_code; + __u8 curr: 1; + __u8 persistent: 1; + __u8 feature_version: 4; + __u8 reserved1: 2; + __u8 add_len; + __u8 lock: 1; + __u8 dbml: 1; + __u8 pvnt_jmpr: 1; + __u8 eject: 1; + __u8 load: 1; + __u8 mech_type: 3; + __u8 reserved2; + __u8 reserved3; + __u8 reserved4; +}; + +struct rmap_walk_arg { + struct folio *folio; + bool map_unused_to_zeropage; +}; + +struct rmap_walk_control { + void *arg; + bool try_lock; + bool contended; + bool (*rmap_one)(struct folio *, struct vm_area_struct *, long unsigned int, void *); + int (*done)(struct folio *); + struct anon_vma * (*anon_lock)(const struct folio *, struct rmap_walk_control *); + bool (*invalid_vma)(struct vm_area_struct *, void *); +}; + +struct rmid_entry { + u32 closid; + u32 rmid; + int busy; + struct list_head list; +}; + +struct rmid_read { + struct rdtgroup *rgrp; + struct rdt_resource *r; + struct rdt_mon_domain *d; + enum resctrl_event_id evtid; + bool first; + struct cacheinfo *ci; + int err; + u64 val; + void *arch_mon_ctx; +}; + +struct rmpentry_raw; + +struct rmp_segment_desc { + struct rmpentry_raw *rmp_entry; + u64 max_index; + u64 size; +}; + +struct rmp_state { + u64 gpa; + u8 assigned; + u8 pagesize; + u8 immutable; + u8 rsvd; + u32 asid; +}; + +struct rmpentry { + u64 gpa; + u8 assigned: 1; + u8 rsvd1: 7; + u8 pagesize: 1; + u8 hpage_region_status: 1; + u8 rsvd2: 6; + u8 immutable: 1; + u8 rsvd3: 7; + u8 rsvd4; + u32 asid; +}; + +struct rmpentry_raw { + union { + struct { + u64 assigned: 1; + u64 pagesize: 1; + u64 immutable: 1; + u64 rsvd1: 9; + u64 gpa: 39; + u64 asid: 10; + u64 vmsa: 1; + u64 validated: 1; + u64 rsvd2: 1; + }; + u64 lo; + }; + u64 hi; +}; + +struct rnd_state { + __u32 s1; + __u32 s2; + __u32 s3; + __u32 s4; +}; + +struct rng_alg { + int (*generate)(struct crypto_rng *, const u8 *, unsigned int, u8 *, unsigned int); + int (*seed)(struct crypto_rng *, const u8 *, unsigned int); + void (*set_ent)(struct crypto_rng *, const u8 *, unsigned int); + unsigned int seedsize; + struct crypto_alg base; +}; + +struct robust_list { + struct robust_list *next; +}; + +struct robust_list_head { + struct robust_list list; + long int futex_offset; + struct robust_list *list_op_pending; +}; + +struct role_allow { + u32 role; + u32 new_role; + struct role_allow *next; +}; + +struct role_datum { + u32 value; + u32 bounds; + struct ebitmap dominates; + struct ebitmap types; +}; + +struct role_trans_datum { + u32 new_role; +}; + +struct role_trans_key { + u32 role; + u32 type; + u32 tclass; +}; + +struct root_device { + struct device dev; + struct module *owner; +}; + +struct root_domain { + atomic_t refcount; + atomic_t rto_count; + struct callback_head rcu; + cpumask_var_t span; + cpumask_var_t online; + bool overloaded; + bool overutilized; + cpumask_var_t dlo_mask; + atomic_t dlo_count; + struct dl_bw dl_bw; + struct cpudl cpudl; + u64 visit_cookie; + struct irq_work rto_push_work; + raw_spinlock_t rto_lock; + int rto_loop; + int rto_cpu; + atomic_t rto_loop_next; + atomic_t rto_loop_start; + cpumask_var_t rto_mask; + struct cpupri cpupri; + struct perf_domain *pd; +}; + +struct root_entry { + u64 lo; + u64 hi; +}; + +struct rootsector { + char unused[342]; + struct partition_info icdpart[8]; + char unused2[12]; + u32 hd_siz; + struct partition_info part[4]; + u32 bsl_st; + u32 bsl_cnt; + u16 checksum; +} __attribute__((packed)); + +struct route_info { + __u8 type; + __u8 length; + __u8 prefix_len; + __u8 reserved_l: 3; + __u8 route_pref: 2; + __u8 reserved_h: 3; + __be32 lifetime; + __u8 prefix[0]; +}; + +struct rpc_cred_cache; + +struct rpc_authops; + +struct rpc_auth { + unsigned int au_cslack; + unsigned int au_rslack; + unsigned int au_verfsize; + unsigned int au_ralign; + long unsigned int au_flags; + const struct rpc_authops *au_ops; + rpc_authflavor_t au_flavor; + refcount_t au_count; + struct rpc_cred_cache *au_credcache; +}; + +struct rpc_auth_create_args { + rpc_authflavor_t pseudoflavor; + const char *target_name; +}; + +struct rpcsec_gss_info; + +struct rpc_authops { + struct module *owner; + rpc_authflavor_t au_flavor; + char *au_name; + struct rpc_auth * (*create)(const struct rpc_auth_create_args *, struct rpc_clnt *); + void (*destroy)(struct rpc_auth *); + int (*hash_cred)(struct auth_cred *, unsigned int); + struct rpc_cred * (*lookup_cred)(struct rpc_auth *, struct auth_cred *, int); + struct rpc_cred * (*crcreate)(struct rpc_auth *, struct auth_cred *, int, gfp_t); + rpc_authflavor_t (*info2flavor)(struct rpcsec_gss_info *); + int (*flavor2info)(rpc_authflavor_t, struct rpcsec_gss_info *); + int (*key_timeout)(struct rpc_auth *, struct rpc_cred *); + int (*ping)(struct rpc_clnt *); +}; + +struct rpc_call_ops { + void (*rpc_call_prepare)(struct rpc_task *, void *); + void (*rpc_call_done)(struct rpc_task *, void *); + void (*rpc_count_stats)(struct rpc_task *, void *); + void (*rpc_release)(void *); +}; + +struct rpc_iostats; + +struct rpc_pipe_dir_head { + struct list_head pdh_entries; + struct dentry *pdh_dentry; +}; + +struct rpc_rtt { + long unsigned int timeo; + long unsigned int srtt[5]; + long unsigned int sdrtt[5]; + int ntimeouts[5]; +}; + +struct rpc_timeout { + long unsigned int to_initval; + long unsigned int to_maxval; + long unsigned int to_increment; + unsigned int to_retries; + unsigned char to_exponential; +}; + +struct rpc_xprt_switch; + +struct rpc_xprt_iter_ops; + +struct rpc_xprt_iter { + struct rpc_xprt_switch *xpi_xpswitch; + struct rpc_xprt *xpi_cursor; + const struct rpc_xprt_iter_ops *xpi_ops; +}; + +struct rpc_stat; + +struct rpc_program; + +struct rpc_sysfs_client; + +struct rpc_clnt { + refcount_t cl_count; + unsigned int cl_clid; + struct list_head cl_clients; + struct list_head cl_tasks; + atomic_t cl_pid; + spinlock_t cl_lock; + struct rpc_xprt *cl_xprt; + const struct rpc_procinfo *cl_procinfo; + u32 cl_prog; + u32 cl_vers; + u32 cl_maxproc; + struct rpc_auth *cl_auth; + struct rpc_stat *cl_stats; + struct rpc_iostats *cl_metrics; + unsigned int cl_softrtry: 1; + unsigned int cl_softerr: 1; + unsigned int cl_discrtry: 1; + unsigned int cl_noretranstimeo: 1; + unsigned int cl_autobind: 1; + unsigned int cl_chatty: 1; + unsigned int cl_shutdown: 1; + unsigned int cl_netunreach_fatal: 1; + struct xprtsec_parms cl_xprtsec; + struct rpc_rtt *cl_rtt; + const struct rpc_timeout *cl_timeout; + atomic_t cl_swapper; + int cl_nodelen; + char cl_nodename[65]; + struct rpc_pipe_dir_head cl_pipedir_objects; + struct rpc_clnt *cl_parent; + struct rpc_rtt cl_rtt_default; + struct rpc_timeout cl_timeout_default; + const struct rpc_program *cl_program; + const char *cl_principal; + struct dentry *cl_debugfs; + struct rpc_sysfs_client *cl_sysfs; + union { + struct rpc_xprt_iter cl_xpi; + struct work_struct cl_work; + }; + const struct cred *cl_cred; + unsigned int cl_max_connect; + struct super_block *pipefs_sb; + atomic_t cl_task_count; +}; + +struct rpc_credops; + +struct rpc_cred { + struct hlist_node cr_hash; + struct list_head cr_lru; + struct callback_head cr_rcu; + struct rpc_auth *cr_auth; + const struct rpc_credops *cr_ops; + long unsigned int cr_expire; + long unsigned int cr_flags; + refcount_t cr_count; + const struct cred *cr_cred; +}; + +struct rpc_credops { + const char *cr_name; + int (*cr_init)(struct rpc_auth *, struct rpc_cred *); + void (*crdestroy)(struct rpc_cred *); + int (*crmatch)(struct auth_cred *, struct rpc_cred *, int); + int (*crmarshal)(struct rpc_task *, struct xdr_stream *); + int (*crrefresh)(struct rpc_task *); + int (*crvalidate)(struct rpc_task *, struct xdr_stream *); + int (*crwrap_req)(struct rpc_task *, struct xdr_stream *); + int (*crunwrap_resp)(struct rpc_task *, struct xdr_stream *); + int (*crkey_timeout)(struct rpc_cred *); + char * (*crstringify_acceptor)(struct rpc_cred *); + bool (*crneed_reencode)(struct rpc_task *); +}; + +typedef void (*kxdreproc_t)(struct rpc_rqst *, struct xdr_stream *, const void *); + +typedef int (*kxdrdproc_t)(struct rpc_rqst *, struct xdr_stream *, void *); + +struct rpc_procinfo { + u32 p_proc; + kxdreproc_t p_encode; + kxdrdproc_t p_decode; + unsigned int p_arglen; + unsigned int p_replen; + unsigned int p_timer; + u32 p_statidx; + const char *p_name; +}; + +struct rpc_version; + +struct rpc_program { + const char *name; + u32 number; + unsigned int nrvers; + const struct rpc_version **version; + struct rpc_stat *stats; + const char *pipe_dir_name; +}; + +struct xdr_buf { + struct kvec head[1]; + struct kvec tail[1]; + struct bio_vec *bvec; + struct page **pages; + unsigned int page_base; + unsigned int page_len; + unsigned int flags; + unsigned int buflen; + unsigned int len; +}; + +struct rpc_rqst { + struct rpc_xprt *rq_xprt; + struct xdr_buf rq_snd_buf; + struct xdr_buf rq_rcv_buf; + struct rpc_task *rq_task; + struct rpc_cred *rq_cred; + __be32 rq_xid; + int rq_cong; + u32 rq_seqnos[3]; + unsigned int rq_seqno_count; + int rq_enc_pages_num; + struct page **rq_enc_pages; + void (*rq_release_snd_buf)(struct rpc_rqst *); + union { + struct list_head rq_list; + struct rb_node rq_recv; + }; + struct list_head rq_xmit; + struct list_head rq_xmit2; + void *rq_buffer; + size_t rq_callsize; + void *rq_rbuffer; + size_t rq_rcvsize; + size_t rq_xmit_bytes_sent; + size_t rq_reply_bytes_recvd; + struct xdr_buf rq_private_buf; + long unsigned int rq_majortimeo; + long unsigned int rq_minortimeo; + long unsigned int rq_timeout; + ktime_t rq_rtt; + unsigned int rq_retries; + unsigned int rq_connect_cookie; + atomic_t rq_pin; + u32 rq_bytes_sent; + ktime_t rq_xtime; + int rq_ntrans; + struct lwq_node rq_bc_list; + long unsigned int rq_bc_pa_state; + struct list_head rq_bc_pa_list; +}; + +struct rpc_stat { + const struct rpc_program *program; + unsigned int netcnt; + unsigned int netudpcnt; + unsigned int nettcpcnt; + unsigned int nettcpconn; + unsigned int netreconn; + unsigned int rpccnt; + unsigned int rpcretrans; + unsigned int rpcauthrefresh; + unsigned int rpcgarbage; +}; + +struct rpc_sysfs_client { + struct kobject kobject; + struct net *net; + struct rpc_clnt *clnt; + struct rpc_xprt_switch *xprt_switch; +}; + +struct rpc_version { + u32 number; + unsigned int nrprocs; + const struct rpc_procinfo *procs; + unsigned int *counts; +}; + +struct svc_xprt; + +struct rpc_sysfs_xprt; + +struct rpc_xprt_ops; + +struct svc_serv; + +struct xprt_class; + +struct rpc_xprt { + struct kref kref; + const struct rpc_xprt_ops *ops; + unsigned int id; + const struct rpc_timeout *timeout; + struct __kernel_sockaddr_storage addr; + size_t addrlen; + int prot; + long unsigned int cong; + long unsigned int cwnd; + size_t max_payload; + struct rpc_wait_queue binding; + struct rpc_wait_queue sending; + struct rpc_wait_queue pending; + struct rpc_wait_queue backlog; + struct list_head free; + unsigned int max_reqs; + unsigned int min_reqs; + unsigned int num_reqs; + long unsigned int state; + unsigned char resvport: 1; + unsigned char reuseport: 1; + atomic_t swapper; + unsigned int bind_index; + struct list_head xprt_switch; + long unsigned int bind_timeout; + long unsigned int reestablish_timeout; + struct xprtsec_parms xprtsec; + unsigned int connect_cookie; + struct work_struct task_cleanup; + struct timer_list timer; + long unsigned int last_used; + long unsigned int idle_timeout; + long unsigned int connect_timeout; + long unsigned int max_reconnect_timeout; + atomic_long_t queuelen; + spinlock_t transport_lock; + spinlock_t reserve_lock; + spinlock_t queue_lock; + u32 xid; + struct rpc_task *snd_task; + struct list_head xmit_queue; + atomic_long_t xmit_queuelen; + struct svc_xprt *bc_xprt; + struct svc_serv *bc_serv; + unsigned int bc_alloc_max; + unsigned int bc_alloc_count; + atomic_t bc_slot_count; + spinlock_t bc_pa_lock; + struct list_head bc_pa_list; + struct rb_root recv_queue; + struct { + long unsigned int bind_count; + long unsigned int connect_count; + long unsigned int connect_start; + long unsigned int connect_time; + long unsigned int sends; + long unsigned int recvs; + long unsigned int bad_xids; + long unsigned int max_slots; + long long unsigned int req_u; + long long unsigned int bklog_u; + long long unsigned int sending_u; + long long unsigned int pending_u; + } stat; + struct net *xprt_net; + netns_tracker ns_tracker; + const char *servername; + const char *address_strings[6]; + struct dentry *debugfs; + struct callback_head rcu; + const struct xprt_class *xprt_class; + struct rpc_sysfs_xprt *xprt_sysfs; + bool main; +}; + +struct rpc_xprt_iter_ops { + void (*xpi_rewind)(struct rpc_xprt_iter *); + struct rpc_xprt * (*xpi_xprt)(struct rpc_xprt_iter *); + struct rpc_xprt * (*xpi_next)(struct rpc_xprt_iter *); +}; + +struct rpc_xprt_ops { + void (*set_buffer_size)(struct rpc_xprt *, size_t, size_t); + int (*reserve_xprt)(struct rpc_xprt *, struct rpc_task *); + void (*release_xprt)(struct rpc_xprt *, struct rpc_task *); + void (*alloc_slot)(struct rpc_xprt *, struct rpc_task *); + void (*free_slot)(struct rpc_xprt *, struct rpc_rqst *); + void (*rpcbind)(struct rpc_task *); + void (*set_port)(struct rpc_xprt *, short unsigned int); + void (*connect)(struct rpc_xprt *, struct rpc_task *); + int (*get_srcaddr)(struct rpc_xprt *, char *, size_t); + short unsigned int (*get_srcport)(struct rpc_xprt *); + int (*buf_alloc)(struct rpc_task *); + void (*buf_free)(struct rpc_task *); + int (*prepare_request)(struct rpc_rqst *, struct xdr_buf *); + int (*send_request)(struct rpc_rqst *); + void (*abort_send_request)(struct rpc_rqst *); + void (*wait_for_reply_request)(struct rpc_task *); + void (*timer)(struct rpc_xprt *, struct rpc_task *); + void (*release_request)(struct rpc_task *); + void (*close)(struct rpc_xprt *); + void (*destroy)(struct rpc_xprt *); + void (*set_connect_timeout)(struct rpc_xprt *, long unsigned int, long unsigned int); + void (*print_stats)(struct rpc_xprt *, struct seq_file *); + int (*enable_swap)(struct rpc_xprt *); + void (*disable_swap)(struct rpc_xprt *); + void (*inject_disconnect)(struct rpc_xprt *); + int (*bc_setup)(struct rpc_xprt *, unsigned int); + size_t (*bc_maxpayload)(struct rpc_xprt *); + unsigned int (*bc_num_slots)(struct rpc_xprt *); + void (*bc_free_rqst)(struct rpc_rqst *); + void (*bc_destroy)(struct rpc_xprt *, unsigned int); +}; + +struct rpc_sysfs_xprt_switch; + +struct rpc_xprt_switch { + spinlock_t xps_lock; + struct kref xps_kref; + unsigned int xps_id; + unsigned int xps_nxprts; + unsigned int xps_nactive; + unsigned int xps_nunique_destaddr_xprts; + atomic_long_t xps_queuelen; + struct list_head xps_xprt_list; + struct net *xps_net; + const struct rpc_xprt_iter_ops *xps_iter_ops; + struct rpc_sysfs_xprt_switch *xps_sysfs; + struct callback_head xps_rcu; +}; + +struct rpcsec_gss_info { + struct rpcsec_gss_oid oid; + u32 qop; + u32 service; +}; + +struct rproc_ops; + +struct rproc { + struct list_head node; + struct iommu_domain *domain; + const char *name; + const char *firmware; + void *priv; + struct rproc_ops *ops; + struct device dev; + atomic_t power; + unsigned int state; + enum rproc_dump_mechanism dump_conf; + struct mutex lock; + struct dentry *dbg_dir; + struct list_head traces; + int num_traces; + struct list_head carveouts; + struct list_head mappings; + u64 bootaddr; + struct list_head rvdevs; + struct list_head subdevs; + struct idr notifyids; + int index; + struct work_struct crash_handler; + unsigned int crash_cnt; + bool recovery_disabled; + int max_notifyid; + struct resource_table *table_ptr; + struct resource_table *clean_table; + struct resource_table *cached_table; + size_t table_sz; + bool has_iommu; + bool auto_boot; + bool sysfs_read_only; + struct list_head dump_segments; + int nb_vdev; + u8 elf_class; + u16 elf_machine; + struct cdev cdev; + bool cdev_put_on_release; + long unsigned int features[1]; +}; + +struct rproc_coredump_state { + struct rproc *rproc; + void *header; + struct completion dump_done; +}; + +struct rproc_mem_entry { + void *va; + bool is_iomem; + dma_addr_t dma; + size_t len; + u32 da; + void *priv; + char name[32]; + struct list_head node; + u32 rsc_offset; + u32 flags; + u32 of_resm_idx; + int (*alloc)(struct rproc *, struct rproc_mem_entry *); + int (*release)(struct rproc *, struct rproc_mem_entry *); +}; + +struct rproc_debug_trace { + struct rproc *rproc; + struct dentry *tfile; + struct list_head node; + struct rproc_mem_entry trace_mem; +}; + +struct rproc_dump_segment { + struct list_head node; + dma_addr_t da; + size_t size; + void *priv; + void (*dump)(struct rproc *, struct rproc_dump_segment *, void *, size_t, size_t); + loff_t offset; +}; + +struct rproc_ops { + int (*prepare)(struct rproc *); + int (*unprepare)(struct rproc *); + int (*start)(struct rproc *); + int (*stop)(struct rproc *); + int (*attach)(struct rproc *); + int (*detach)(struct rproc *); + void (*kick)(struct rproc *, int); + void * (*da_to_va)(struct rproc *, u64, size_t, bool *); + int (*parse_fw)(struct rproc *, const struct firmware *); + int (*handle_rsc)(struct rproc *, u32, void *, int, int); + struct resource_table * (*find_loaded_rsc_table)(struct rproc *, const struct firmware *); + struct resource_table * (*get_loaded_rsc_table)(struct rproc *, size_t *); + int (*load)(struct rproc *, const struct firmware *); + int (*sanity_check)(struct rproc *, const struct firmware *); + u64 (*get_boot_addr)(struct rproc *, const struct firmware *); + long unsigned int (*panic)(struct rproc *); + void (*coredump)(struct rproc *); +}; + +struct rproc_subdev { + struct list_head node; + int (*prepare)(struct rproc_subdev *); + int (*start)(struct rproc_subdev *); + void (*stop)(struct rproc_subdev *, bool); + void (*unprepare)(struct rproc_subdev *); +}; + +struct rproc_vdev; + +struct rproc_vring { + void *va; + int num; + u32 da; + u32 align; + int notifyid; + struct rproc_vdev *rvdev; + struct virtqueue *vq; +}; + +struct rproc_vdev { + struct rproc_subdev subdev; + struct platform_device *pdev; + unsigned int id; + struct list_head node; + struct rproc *rproc; + struct rproc_vring vring[2]; + u32 rsc_offset; + u32 index; +}; + +struct rproc_vdev_data { + u32 rsc_offset; + unsigned int id; + u32 index; + struct fw_rsc_vdev *rsc; +}; + +struct rps_dev_flow { + u16 cpu; + u16 filter; + unsigned int last_qtail; + u32 hash; +}; + +struct rps_dev_flow_table { + u8 log; + struct callback_head rcu; + struct rps_dev_flow flows[0]; +}; + +struct rps_map { + unsigned int len; + struct callback_head rcu; + u16 cpus[0]; +}; + +struct rps_sock_flow_table { + struct callback_head rcu; + u32 mask; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + u32 ents[0]; +}; + +struct uclamp_bucket { + long unsigned int value: 11; + long unsigned int tasks: 53; +}; + +struct uclamp_rq { + unsigned int value; + struct uclamp_bucket bucket[5]; +}; + +struct rt_prio_array { + long unsigned int bitmap[2]; + struct list_head queue[100]; +}; + +struct rt_rq { + struct rt_prio_array active; + unsigned int rt_nr_running; + unsigned int rr_nr_running; + struct { + int curr; + int next; + } highest_prio; + bool overloaded; + struct plist_head pushable_tasks; + int rt_queued; + struct task_group *tg; +}; + +struct scx_dispatch_q { + raw_spinlock_t lock; + struct list_head list; + struct rb_root priq; + u32 nr; + u32 seq; + u64 id; + struct rhash_head hash_node; + struct llist_node free_node; + struct callback_head rcu; +}; + +struct scx_rq { + struct scx_dispatch_q local_dsq; + struct list_head runnable_list; + struct list_head ddsp_deferred_locals; + long unsigned int ops_qseq; + u64 extra_enq_flags; + u32 nr_running; + u32 cpuperf_target; + bool cpu_released; + u32 flags; + u64 clock; + cpumask_var_t cpus_to_kick; + cpumask_var_t cpus_to_kick_if_idle; + cpumask_var_t cpus_to_preempt; + cpumask_var_t cpus_to_wait; + long unsigned int pnt_seq; + struct balance_callback deferred_bal_cb; + struct irq_work deferred_irq_work; + struct irq_work kick_cpus_irq_work; +}; + +struct sched_dl_entity; + +typedef struct task_struct * (*dl_server_pick_f)(struct sched_dl_entity *); + +struct sched_dl_entity { + struct rb_node rb_node; + u64 dl_runtime; + u64 dl_deadline; + u64 dl_period; + u64 dl_bw; + u64 dl_density; + s64 runtime; + u64 deadline; + unsigned int flags; + unsigned int dl_throttled: 1; + unsigned int dl_yielded: 1; + unsigned int dl_non_contending: 1; + unsigned int dl_overrun: 1; + unsigned int dl_server: 1; + unsigned int dl_server_active: 1; + unsigned int dl_defer: 1; + unsigned int dl_defer_armed: 1; + unsigned int dl_defer_running: 1; + struct hrtimer dl_timer; + struct hrtimer inactive_timer; + struct rq *rq; + dl_server_pick_f server_pick_task; + struct sched_dl_entity *pi_se; +}; + +struct sched_info { + long unsigned int pcount; + long long unsigned int run_delay; + long long unsigned int max_run_delay; + long long unsigned int min_run_delay; + long long unsigned int last_arrival; + long long unsigned int last_queued; +}; + +struct rq { + raw_spinlock_t __lock; + unsigned int nr_running; + unsigned int nr_numa_running; + unsigned int nr_preferred_running; + unsigned int numa_migrate_on; + long unsigned int last_blocked_load_update_tick; + unsigned int has_blocked_load; + long: 64; + long: 64; + long: 64; + call_single_data_t nohz_csd; + unsigned int nohz_tick_stopped; + atomic_t nohz_flags; + unsigned int ttwu_pending; + u64 nr_switches; + long: 64; + struct uclamp_rq uclamp[2]; + unsigned int uclamp_flags; + long: 64; + long: 64; + long: 64; + struct cfs_rq cfs; + struct rt_rq rt; + struct dl_rq dl; + struct scx_rq scx; + struct sched_dl_entity fair_server; + struct list_head leaf_cfs_rq_list; + struct list_head *tmp_alone_branch; + long unsigned int nr_uninterruptible; + union { + struct task_struct *donor; + struct task_struct *curr; + }; + struct sched_dl_entity *dl_server; + struct task_struct *idle; + struct task_struct *stop; + long unsigned int next_balance; + struct mm_struct *prev_mm; + unsigned int clock_update_flags; + u64 clock; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + u64 clock_task; + u64 clock_pelt; + long unsigned int lost_idle_time; + u64 clock_pelt_idle; + u64 clock_idle; + atomic_t nr_iowait; + u64 last_seen_need_resched_ns; + int ticks_without_resched; + int membarrier_state; + struct root_domain *rd; + struct sched_domain *sd; + long unsigned int cpu_capacity; + struct balance_callback *balance_callback; + unsigned char nohz_idle_balance; + unsigned char idle_balance; + long unsigned int misfit_task_load; + int active_balance; + int push_cpu; + struct cpu_stop_work active_balance_work; + int cpu; + int online; + struct list_head cfs_tasks; + struct sched_avg avg_rt; + struct sched_avg avg_dl; + u64 idle_stamp; + u64 avg_idle; + u64 max_idle_balance_cost; + struct rcuwait hotplug_wait; + u64 prev_steal_time; + long unsigned int calc_load_update; + long int calc_load_active; + long: 64; + call_single_data_t hrtick_csd; + struct hrtimer hrtick_timer; + ktime_t hrtick_time; + struct sched_info rq_sched_info; + long long unsigned int rq_cpu_time; + unsigned int yld_count; + unsigned int sched_count; + unsigned int sched_goidle; + unsigned int ttwu_count; + unsigned int ttwu_local; + struct cpuidle_state *idle_state; + unsigned int nr_pinned; + unsigned int push_busy; + struct cpu_stop_work push_work; + struct rq *core; + struct task_struct *core_pick; + struct sched_dl_entity *core_dl_server; + unsigned int core_enabled; + unsigned int core_sched_seq; + struct rb_root core_tree; + unsigned int core_task_seq; + unsigned int core_pick_seq; + long unsigned int core_cookie; + unsigned int core_forceidle_count; + unsigned int core_forceidle_seq; + unsigned int core_forceidle_occupation; + u64 core_forceidle_start; + cpumask_var_t scratch_mask; + long: 64; + long: 64; + call_single_data_t cfsb_csd; + struct list_head cfsb_csd_list; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct rq_depth { + unsigned int max_depth; + int scale_step; + bool scaled_max; + unsigned int queue_depth; + unsigned int default_depth; +}; + +struct rq_iter_data { + struct blk_mq_hw_ctx *hctx; + bool has_rq; +}; + +struct rq_map_data { + struct page **pages; + long unsigned int offset; + short unsigned int page_order; + short unsigned int nr_entries; + bool null_mapped; + bool from_user; +}; + +struct rq_qos_ops { + void (*throttle)(struct rq_qos *, struct bio *); + void (*track)(struct rq_qos *, struct request *, struct bio *); + void (*merge)(struct rq_qos *, struct request *, struct bio *); + void (*issue)(struct rq_qos *, struct request *); + void (*requeue)(struct rq_qos *, struct request *); + void (*done)(struct rq_qos *, struct request *); + void (*done_bio)(struct rq_qos *, struct bio *); + void (*cleanup)(struct rq_qos *, struct bio *); + void (*queue_depth_changed)(struct rq_qos *); + void (*exit)(struct rq_qos *); + const struct blk_mq_debugfs_attr *debugfs_attrs; +}; + +struct rq_wait; + +typedef bool acquire_inflight_cb_t(struct rq_wait *, void *); + +struct rq_qos_wait_data { + struct wait_queue_entry wq; + struct rq_wait *rqw; + acquire_inflight_cb_t *cb; + void *private_data; + bool got_token; +}; + +struct rq_wait { + wait_queue_head_t wait; + atomic_t inflight; +}; + +struct rq_wb { + unsigned int wb_background; + unsigned int wb_normal; + short int enable_state; + unsigned int unknown_cnt; + u64 win_nsec; + u64 cur_win_nsec; + struct blk_stat_callback *cb; + u64 sync_issue; + void *sync_cookie; + long unsigned int last_issue; + long unsigned int last_comp; + long unsigned int min_lat_nsec; + struct rq_qos rqos; + struct rq_wait rq_wait[3]; + struct rq_depth rq_depth; +}; + +struct rqspinlock_held { + int cnt; + void *locks[31]; +}; + +struct rqspinlock_timeout { + u64 timeout_end; + u64 duration; + u64 cur; + u16 spin; +}; + +struct rs_msg { + struct icmp6hdr icmph; + __u8 opt[0]; +}; + +struct rsa_key { + const u8 *n; + const u8 *e; + const u8 *d; + const u8 *p; + const u8 *q; + const u8 *dp; + const u8 *dq; + const u8 *qinv; + size_t n_sz; + size_t e_sz; + size_t d_sz; + size_t p_sz; + size_t q_sz; + size_t dp_sz; + size_t dq_sz; + size_t qinv_sz; +}; + +struct rsa_mpi_key { + MPI n; + MPI e; + MPI d; + MPI p; + MPI q; + MPI dp; + MPI dq; + MPI qinv; +}; + +struct rsassa_pkcs1_ctx { + struct crypto_akcipher *child; + unsigned int key_size; +}; + +struct rsassa_pkcs1_inst_ctx { + struct crypto_akcipher_spawn spawn; + const struct hash_prefix *hash_prefix; +}; + +struct rseq { + __u32 cpu_id_start; + __u32 cpu_id; + __u64 rseq_cs; + __u32 flags; + __u32 node_id; + __u32 mm_cid; + char end[0]; +}; + +struct rseq_cs { + __u32 version; + __u32 flags; + __u64 start_ip; + __u64 post_commit_offset; + __u64 abort_ip; +}; + +struct rss_nl_dump_ctx { + long unsigned int ifindex; + long unsigned int ctx_idx; + unsigned int match_ifindex; + unsigned int start_ctx; +}; + +struct rss_reply_data { + struct ethnl_reply_data base; + bool has_flow_hash; + bool no_key_fields; + u32 indir_size; + u32 hkey_size; + u32 hfunc; + u32 input_xfrm; + u32 *indir_table; + u8 *hkey; + int flow_hash[28]; +}; + +struct rss_req_info { + struct ethnl_req_info base; + u32 rss_context; +}; + +struct rsvd_count { + int ndelayed; + bool first_do_lblk_found; + ext4_lblk_t first_do_lblk; + ext4_lblk_t last_do_lblk; + struct extent_status *left_es; + bool partial; + ext4_lblk_t lclu; +}; + +struct rt0_hdr { + struct ipv6_rt_hdr rt_hdr; + __u32 reserved; + struct in6_addr addr[0]; +}; + +struct rt6_exception { + struct hlist_node hlist; + struct rt6_info *rt6i; + long unsigned int stamp; + struct callback_head rcu; +}; + +struct rt6_exception_bucket { + struct hlist_head chain; + int depth; +}; + +struct rt6_mtu_change_arg { + struct net_device *dev; + unsigned int mtu; + struct fib6_info *f6i; +}; + +struct rt6_nh { + struct fib6_info *fib6_info; + struct fib6_config r_cfg; + struct list_head list; +}; + +struct rt6_rtnl_dump_arg { + struct sk_buff *skb; + struct netlink_callback *cb; + struct net *net; + struct fib_dump_filter filter; +}; + +struct rt6_statistics { + __u32 fib_nodes; + __u32 fib_route_nodes; + __u32 fib_rt_entries; + __u32 fib_rt_cache; + __u32 fib_discarded_routes; + atomic_t fib_rt_alloc; +}; + +struct rt_cache_stat { + unsigned int in_slow_tot; + unsigned int in_slow_mc; + unsigned int in_no_route; + unsigned int in_brd; + unsigned int in_martian_dst; + unsigned int in_martian_src; + unsigned int out_slow_tot; + unsigned int out_slow_mc; +}; + +struct rt_waiter_node { + struct rb_node entry; + int prio; + u64 deadline; +}; + +struct rt_mutex_waiter { + struct rt_waiter_node tree; + struct rt_waiter_node pi_tree; + struct task_struct *task; + struct rt_mutex_base *lock; + unsigned int wake_state; + struct ww_acquire_ctx *ww_ctx; +}; + +typedef struct rt_rq *rt_rq_iter_t; + +struct sigaltstack { + void *ss_sp; + int ss_flags; + __kernel_size_t ss_size; +}; + +typedef struct sigaltstack stack_t; + +struct sigcontext_64 { + __u64 r8; + __u64 r9; + __u64 r10; + __u64 r11; + __u64 r12; + __u64 r13; + __u64 r14; + __u64 r15; + __u64 di; + __u64 si; + __u64 bp; + __u64 bx; + __u64 dx; + __u64 ax; + __u64 cx; + __u64 sp; + __u64 ip; + __u64 flags; + __u16 cs; + __u16 gs; + __u16 fs; + __u16 ss; + __u64 err; + __u64 trapno; + __u64 oldmask; + __u64 cr2; + __u64 fpstate; + __u64 reserved1[8]; +}; + +struct ucontext { + long unsigned int uc_flags; + struct ucontext *uc_link; + stack_t uc_stack; + struct sigcontext_64 uc_mcontext; + sigset_t uc_sigmask; +}; + +struct rt_sigframe { + char *pretcode; + struct ucontext uc; + struct siginfo info; +}; + +struct sigcontext_32 { + __u16 gs; + __u16 __gsh; + __u16 fs; + __u16 __fsh; + __u16 es; + __u16 __esh; + __u16 ds; + __u16 __dsh; + __u32 di; + __u32 si; + __u32 bp; + __u32 sp; + __u32 bx; + __u32 dx; + __u32 cx; + __u32 ax; + __u32 trapno; + __u32 err; + __u32 ip; + __u16 cs; + __u16 __csh; + __u32 flags; + __u32 sp_at_signal; + __u16 ss; + __u16 __ssh; + __u32 fpstate; + __u32 oldmask; + __u32 cr2; +}; + +struct ucontext_ia32 { + unsigned int uc_flags; + unsigned int uc_link; + compat_stack_t uc_stack; + struct sigcontext_32 uc_mcontext; + compat_sigset_t uc_sigmask; +}; + +struct rt_sigframe_ia32 { + u32 pretcode; + int sig; + u32 pinfo; + u32 puc; + compat_siginfo_t info; + struct ucontext_ia32 uc; + char retcode[8]; +}; + +struct wake_q_node; + +struct wake_q_head { + struct wake_q_node *first; + struct wake_q_node **lastp; +}; + +struct rt_wake_q_head { + struct wake_q_head head; + struct task_struct *rtlock_task; +}; + +struct rta_cacheinfo { + __u32 rta_clntref; + __u32 rta_lastuse; + __s32 rta_expires; + __u32 rta_error; + __u32 rta_used; + __u32 rta_id; + __u32 rta_ts; + __u32 rta_tsage; +}; + +struct rta_mfc_stats { + __u64 mfcs_packets; + __u64 mfcs_bytes; + __u64 mfcs_wrong_if; +}; + +struct rtc_param; + +struct rtc_class_ops { + int (*ioctl)(struct device *, unsigned int, long unsigned int); + int (*read_time)(struct device *, struct rtc_time *); + int (*set_time)(struct device *, struct rtc_time *); + int (*read_alarm)(struct device *, struct rtc_wkalrm *); + int (*set_alarm)(struct device *, struct rtc_wkalrm *); + int (*proc)(struct device *, struct seq_file *); + int (*alarm_irq_enable)(struct device *, unsigned int); + int (*read_offset)(struct device *, long int *); + int (*set_offset)(struct device *, long int); + int (*param_get)(struct device *, struct rtc_param *); + int (*param_set)(struct device *, struct rtc_param *); +}; + +struct rtc_timer { + struct timerqueue_node node; + ktime_t period; + void (*func)(struct rtc_device *); + struct rtc_device *rtc; + int enabled; +}; + +struct rtc_device { + struct device dev; + struct module *owner; + int id; + const struct rtc_class_ops *ops; + struct mutex ops_lock; + struct cdev char_dev; + long unsigned int flags; + long unsigned int irq_data; + spinlock_t irq_lock; + wait_queue_head_t irq_queue; + struct fasync_struct *async_queue; + int irq_freq; + int max_user_freq; + struct timerqueue_head timerqueue; + struct rtc_timer aie_timer; + struct rtc_timer uie_rtctimer; + struct hrtimer pie_timer; + int pie_enabled; + struct work_struct irqwork; + long unsigned int set_offset_nsec; + long unsigned int features[1]; + time64_t range_min; + timeu64_t range_max; + timeu64_t alarm_offset_max; + time64_t start_secs; + time64_t offset_secs; + bool set_start_time; +}; + +struct rtc_param { + __u64 param; + union { + __u64 uvalue; + __s64 svalue; + __u64 ptr; + }; + __u32 index; + __u32 __pad; +}; + +struct rtentry { + long unsigned int rt_pad1; + struct sockaddr rt_dst; + struct sockaddr rt_gateway; + struct sockaddr rt_genmask; + short unsigned int rt_flags; + short int rt_pad2; + long unsigned int rt_pad3; + void *rt_pad4; + short int rt_metric; + char *rt_dev; + long unsigned int rt_mtu; + long unsigned int rt_window; + short unsigned int rt_irtt; +}; + +struct rtgenmsg { + unsigned char rtgen_family; +}; + +struct rtm_dump_res_bucket_ctx; + +struct rtm_dump_nexthop_bucket_data { + struct rtm_dump_res_bucket_ctx *ctx; + struct nh_dump_filter filter; +}; + +struct rtm_dump_nh_ctx { + u32 idx; +}; + +struct rtm_dump_res_bucket_ctx { + struct rtm_dump_nh_ctx nh; + u16 bucket_index; +}; + +struct rtmsg { + unsigned char rtm_family; + unsigned char rtm_dst_len; + unsigned char rtm_src_len; + unsigned char rtm_tos; + unsigned char rtm_table; + unsigned char rtm_protocol; + unsigned char rtm_scope; + unsigned char rtm_type; + unsigned int rtm_flags; +}; + +struct rtnexthop { + short unsigned int rtnh_len; + unsigned char rtnh_flags; + unsigned char rtnh_hops; + int rtnh_ifindex; +}; + +struct rtnl_af_ops { + struct list_head list; + struct srcu_struct srcu; + int family; + int (*fill_link_af)(struct sk_buff *, const struct net_device *, u32); + size_t (*get_link_af_size)(const struct net_device *, u32); + int (*validate_link_af)(const struct net_device *, const struct nlattr *, struct netlink_ext_ack *); + int (*set_link_af)(struct net_device *, const struct nlattr *, struct netlink_ext_ack *); + int (*fill_stats_af)(struct sk_buff *, const struct net_device *); + size_t (*get_stats_af_size)(const struct net_device *); +}; + +typedef int (*rtnl_doit_func)(struct sk_buff *, struct nlmsghdr *, struct netlink_ext_ack *); + +typedef int (*rtnl_dumpit_func)(struct sk_buff *, struct netlink_callback *); + +struct rtnl_link { + rtnl_doit_func doit; + rtnl_dumpit_func dumpit; + struct module *owner; + unsigned int flags; + struct callback_head rcu; +}; + +struct rtnl_link_ifmap { + __u64 mem_start; + __u64 mem_end; + __u64 base_addr; + __u16 irq; + __u8 dma; + __u8 port; +}; + +struct rtnl_newlink_params; + +struct rtnl_link_ops { + struct list_head list; + struct srcu_struct srcu; + const char *kind; + size_t priv_size; + struct net_device * (*alloc)(struct nlattr **, const char *, unsigned char, unsigned int, unsigned int); + void (*setup)(struct net_device *); + bool netns_refund; + const u16 peer_type; + unsigned int maxtype; + const struct nla_policy *policy; + int (*validate)(struct nlattr **, struct nlattr **, struct netlink_ext_ack *); + int (*newlink)(struct net_device *, struct rtnl_newlink_params *, struct netlink_ext_ack *); + int (*changelink)(struct net_device *, struct nlattr **, struct nlattr **, struct netlink_ext_ack *); + void (*dellink)(struct net_device *, struct list_head *); + size_t (*get_size)(const struct net_device *); + int (*fill_info)(struct sk_buff *, const struct net_device *); + size_t (*get_xstats_size)(const struct net_device *); + int (*fill_xstats)(struct sk_buff *, const struct net_device *); + unsigned int (*get_num_tx_queues)(void); + unsigned int (*get_num_rx_queues)(void); + unsigned int slave_maxtype; + const struct nla_policy *slave_policy; + int (*slave_changelink)(struct net_device *, struct net_device *, struct nlattr **, struct nlattr **, struct netlink_ext_ack *); + size_t (*get_slave_size)(const struct net_device *, const struct net_device *); + int (*fill_slave_info)(struct sk_buff *, const struct net_device *, const struct net_device *); + struct net * (*get_link_net)(const struct net_device *); + size_t (*get_linkxstats_size)(const struct net_device *, int); + int (*fill_linkxstats)(struct sk_buff *, const struct net_device *, int *, int); +}; + +struct rtnl_link_stats { + __u32 rx_packets; + __u32 tx_packets; + __u32 rx_bytes; + __u32 tx_bytes; + __u32 rx_errors; + __u32 tx_errors; + __u32 rx_dropped; + __u32 tx_dropped; + __u32 multicast; + __u32 collisions; + __u32 rx_length_errors; + __u32 rx_over_errors; + __u32 rx_crc_errors; + __u32 rx_frame_errors; + __u32 rx_fifo_errors; + __u32 rx_missed_errors; + __u32 tx_aborted_errors; + __u32 tx_carrier_errors; + __u32 tx_fifo_errors; + __u32 tx_heartbeat_errors; + __u32 tx_window_errors; + __u32 rx_compressed; + __u32 tx_compressed; + __u32 rx_nohandler; +}; + +struct rtnl_mdb_dump_ctx { + long int idx; +}; + +struct rtnl_msg_handler { + struct module *owner; + int protocol; + int msgtype; + rtnl_doit_func doit; + rtnl_dumpit_func dumpit; + int flags; +}; + +struct rtnl_net_dump_cb { + struct net *tgt_net; + struct net *ref_net; + struct sk_buff *skb; + struct net_fill_args fillargs; + int idx; + int s_idx; +}; + +struct rtnl_nets { + struct net *net[3]; + unsigned char len; +}; + +struct rtnl_newlink_params { + struct net *src_net; + struct net *link_net; + struct net *peer_net; + struct nlattr **tb; + struct nlattr **data; +}; + +struct rtnl_newlink_tbs { + struct nlattr *tb[68]; + struct nlattr *linkinfo[6]; + struct nlattr *attr[51]; + struct nlattr *slave_attr[45]; +}; + +struct rtnl_offload_xstats_request_used { + bool request; + bool used; +}; + +struct rtnl_stats_dump_filters { + u32 mask[6]; +}; + +struct rtree_node { + struct list_head list; + long unsigned int *data; +}; + +struct rtvia { + __kernel_sa_family_t rtvia_family; + __u8 rtvia_addr[0]; +}; + +struct rusage { + struct __kernel_old_timeval ru_utime; + struct __kernel_old_timeval ru_stime; + __kernel_long_t ru_maxrss; + __kernel_long_t ru_ixrss; + __kernel_long_t ru_idrss; + __kernel_long_t ru_isrss; + __kernel_long_t ru_minflt; + __kernel_long_t ru_majflt; + __kernel_long_t ru_nswap; + __kernel_long_t ru_inblock; + __kernel_long_t ru_oublock; + __kernel_long_t ru_msgsnd; + __kernel_long_t ru_msgrcv; + __kernel_long_t ru_nsignals; + __kernel_long_t ru_nvcsw; + __kernel_long_t ru_nivcsw; +}; + +struct rv_interface { + struct dentry *root_dir; + struct dentry *monitors_dir; +}; + +struct rv_reactor; + +struct rv_monitor { + const char *name; + const char *description; + bool enabled; + int (*enable)(void); + void (*disable)(void); + void (*reset)(void); + struct rv_reactor *reactor; + void (*react)(const char *, ...); + struct list_head list; + struct rv_monitor *parent; + struct dentry *root_d; +}; + +struct rv_reactor { + const char *name; + const char *description; + void (*react)(const char *, ...); + struct list_head list; +}; + +union rv_task_monitor { + struct da_monitor da_mon; + struct ltl_monitor ltl_mon; +}; + +typedef struct rw_semaphore *class_namespace_lock_t; + +typedef struct rw_semaphore *class_rwsem_read_t; + +typedef struct rw_semaphore *class_rwsem_write_t; + +struct rwrt_feature_desc { + __be16 feature_code; + __u8 curr: 1; + __u8 persistent: 1; + __u8 feature_version: 4; + __u8 reserved1: 2; + __u8 add_len; + __u32 last_lba; + __u32 block_size; + __u16 blocking; + __u8 page_present: 1; + __u8 reserved2: 7; + __u8 reserved3; +}; + +struct rwsem_waiter { + struct list_head list; + struct task_struct *task; + enum rwsem_waiter_type type; + long unsigned int timeout; + bool handoff_set; +}; + +struct rx_queue_attribute { + struct attribute attr; + ssize_t (*show)(struct netdev_rx_queue *, char *); + ssize_t (*store)(struct netdev_rx_queue *, const char *, size_t); +}; + +struct s { + __be32 conv; +}; + +struct s3_save { + u32 command; + u32 dev_nt; + u64 dcbaa_ptr; + u32 config_reg; +}; + +struct s_data { + struct sched_domain **sd; + struct root_domain *rd; +}; + +struct value_name_pair; + +struct sa_name_list { + int opcode; + const struct value_name_pair *arr; + int arr_sz; +}; + +struct samsung_sdi_battery { + char *compatible; + char *name; + struct power_supply_battery_info info; +}; + +struct saved_alias { + struct kmem_cache *s; + const char *name; + struct saved_alias *next; +}; + +struct saved_cmdlines_buffer { + unsigned int map_pid_to_cmdline[32769]; + unsigned int *map_cmdline_to_pid; + unsigned int cmdline_num; + int cmdline_idx; + char saved_cmdlines[0]; +}; + +struct saved_msr; + +struct saved_msrs { + unsigned int num; + struct saved_msr *array; +}; + +struct saved_context { + struct pt_regs regs; + u16 ds; + u16 es; + u16 fs; + u16 gs; + long unsigned int kernelmode_gs_base; + long unsigned int usermode_gs_base; + long unsigned int fs_base; + long unsigned int cr0; + long unsigned int cr2; + long unsigned int cr3; + long unsigned int cr4; + u64 misc_enable; + struct saved_msrs saved_msrs; + long unsigned int efer; + u16 gdt_pad; + struct desc_ptr gdt_desc; + u16 idt_pad; + struct desc_ptr idt; + u16 ldt; + u16 tss; + long unsigned int tr; + long unsigned int safety; + long unsigned int return_address; + bool misc_enable_saved; +} __attribute__((packed)); + +struct saved_msr { + bool valid; + struct msr_info info; +}; + +struct saved_syn { + u32 mac_hdrlen; + u32 network_hdrlen; + u32 tcp_hdrlen; + u8 data[0]; +}; + +struct sb_writers { + short unsigned int frozen; + int freeze_kcount; + int freeze_ucount; + const void *freeze_owner; + struct percpu_rw_semaphore rw_sem[3]; +}; + +struct sbitmap_word { + long unsigned int word; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long unsigned int cleared; + raw_spinlock_t swap_lock; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct sbq_wait { + struct sbitmap_queue *sbq; + struct wait_queue_entry wait; +}; + +struct sbq_wait_state { + wait_queue_head_t wait; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct scan_area { + u64 addr; + u64 size; +}; + +struct scan_control { + long unsigned int nr_to_reclaim; + nodemask_t *nodemask; + struct mem_cgroup *target_mem_cgroup; + long unsigned int anon_cost; + long unsigned int file_cost; + int *proactive_swappiness; + unsigned int may_deactivate: 2; + unsigned int force_deactivate: 1; + unsigned int skipped_deactivate: 1; + unsigned int may_writepage: 1; + unsigned int may_unmap: 1; + unsigned int may_swap: 1; + unsigned int no_cache_trim_mode: 1; + unsigned int cache_trim_mode_failed: 1; + unsigned int proactive: 1; + unsigned int memcg_low_reclaim: 1; + unsigned int memcg_low_skipped: 1; + unsigned int memcg_full_walk: 1; + unsigned int hibernation_mode: 1; + unsigned int compaction_ready: 1; + unsigned int cache_trim_mode: 1; + unsigned int file_is_tiny: 1; + unsigned int no_demotion: 1; + s8 order; + s8 priority; + s8 reclaim_idx; + gfp_t gfp_mask; + long unsigned int nr_scanned; + long unsigned int nr_reclaimed; + struct { + unsigned int dirty; + unsigned int unqueued_dirty; + unsigned int congested; + unsigned int writeback; + unsigned int immediate; + unsigned int file_taken; + unsigned int taken; + } nr; + struct reclaim_state reclaim_state; +}; + +struct sccnxp_chip { + const char *name; + unsigned int nr; + long unsigned int freq_min; + long unsigned int freq_std; + long unsigned int freq_max; + unsigned int flags; + unsigned int fifosize; + unsigned int trwd; +}; + +struct sccnxp_pdata { + const u8 reg_shift; + const u32 mctrl_cfg[2]; + const unsigned int poll_time_us; +}; + +struct uart_driver { + struct module *owner; + const char *driver_name; + const char *dev_name; + int major; + int minor; + int nr; + struct console *cons; + struct uart_state *state; + struct tty_driver *tty_driver; +}; + +struct sccnxp_port { + struct uart_driver uart; + struct uart_port port[2]; + bool opened[2]; + int irq; + u8 imr; + struct sccnxp_chip *chip; + struct console console; + spinlock_t lock; + bool poll; + struct timer_list timer; + struct sccnxp_pdata pdata; + struct regulator *regulator; +}; + +struct sch_frag_data { + long unsigned int dst; + struct qdisc_skb_cb cb; + __be16 inner_protocol; + u16 vlan_tci; + __be16 vlan_proto; + unsigned int l2_len; + u8 l2_data[18]; + int (*xmit)(struct sk_buff *); + local_lock_t bh_lock; +}; + +struct sched_attr { + __u32 size; + __u32 sched_policy; + __u64 sched_flags; + __s32 sched_nice; + __u32 sched_priority; + __u64 sched_runtime; + __u64 sched_deadline; + __u64 sched_period; + __u32 sched_util_min; + __u32 sched_util_max; +}; + +struct sched_class { + int uclamp_enabled; + void (*enqueue_task)(struct rq *, struct task_struct *, int); + bool (*dequeue_task)(struct rq *, struct task_struct *, int); + void (*yield_task)(struct rq *); + bool (*yield_to_task)(struct rq *, struct task_struct *); + void (*wakeup_preempt)(struct rq *, struct task_struct *, int); + int (*balance)(struct rq *, struct task_struct *, struct rq_flags *); + struct task_struct * (*pick_task)(struct rq *); + struct task_struct * (*pick_next_task)(struct rq *, struct task_struct *); + void (*put_prev_task)(struct rq *, struct task_struct *, struct task_struct *); + void (*set_next_task)(struct rq *, struct task_struct *, bool); + int (*select_task_rq)(struct task_struct *, int, int); + void (*migrate_task_rq)(struct task_struct *, int); + void (*task_woken)(struct rq *, struct task_struct *); + void (*set_cpus_allowed)(struct task_struct *, struct affinity_context *); + void (*rq_online)(struct rq *); + void (*rq_offline)(struct rq *); + struct rq * (*find_lock_rq)(struct task_struct *, struct rq *); + void (*task_tick)(struct rq *, struct task_struct *, int); + void (*task_fork)(struct task_struct *); + void (*task_dead)(struct task_struct *); + void (*switching_to)(struct rq *, struct task_struct *); + void (*switched_from)(struct rq *, struct task_struct *); + void (*switched_to)(struct rq *, struct task_struct *); + void (*reweight_task)(struct rq *, struct task_struct *, const struct load_weight *); + void (*prio_changed)(struct rq *, struct task_struct *, int); + unsigned int (*get_rr_interval)(struct rq *, struct task_struct *); + void (*update_curr)(struct rq *); + void (*task_change_group)(struct task_struct *); + int (*task_is_throttled)(struct task_struct *, int); +}; + +struct sched_clock_data { + u64 tick_raw; + u64 tick_gtod; + u64 clock; +}; + +struct sched_core_cookie { + refcount_t refcnt; +}; + +struct sched_group; + +struct sched_domain_shared; + +struct sched_domain { + struct sched_domain *parent; + struct sched_domain *child; + struct sched_group *groups; + long unsigned int min_interval; + long unsigned int max_interval; + unsigned int busy_factor; + unsigned int imbalance_pct; + unsigned int cache_nice_tries; + unsigned int imb_numa_nr; + int nohz_idle; + int flags; + int level; + long unsigned int last_balance; + unsigned int balance_interval; + unsigned int nr_balance_failed; + unsigned int newidle_call; + unsigned int newidle_success; + unsigned int newidle_ratio; + u64 max_newidle_lb_cost; + long unsigned int last_decay_max_lb_cost; + unsigned int lb_count[3]; + unsigned int lb_failed[3]; + unsigned int lb_balanced[3]; + unsigned int lb_imbalance_load[3]; + unsigned int lb_imbalance_util[3]; + unsigned int lb_imbalance_task[3]; + unsigned int lb_imbalance_misfit[3]; + unsigned int lb_gained[3]; + unsigned int lb_hot_gained[3]; + unsigned int lb_nobusyg[3]; + unsigned int lb_nobusyq[3]; + unsigned int alb_count; + unsigned int alb_failed; + unsigned int alb_pushed; + unsigned int sbe_count; + unsigned int sbe_balanced; + unsigned int sbe_pushed; + unsigned int sbf_count; + unsigned int sbf_balanced; + unsigned int sbf_pushed; + unsigned int ttwu_wake_remote; + unsigned int ttwu_move_affine; + unsigned int ttwu_move_balance; + char *name; + union { + void *private; + struct callback_head rcu; + }; + struct sched_domain_shared *shared; + unsigned int span_weight; + long unsigned int span[0]; +}; + +struct sched_domain_attr { + int relax_domain_level; +}; + +struct sched_domain_shared { + atomic_t ref; + atomic_t nr_busy_cpus; + int has_idle_cores; + int nr_idle_scan; +}; + +struct sched_domain_topology_level; + +typedef const struct cpumask * (*sched_domain_mask_f)(struct sched_domain_topology_level *, int); + +typedef int (*sched_domain_flags_f)(void); + +struct sched_group_capacity; + +struct sd_data { + struct sched_domain **sd; + struct sched_domain_shared **sds; + struct sched_group **sg; + struct sched_group_capacity **sgc; +}; + +struct sched_domain_topology_level { + sched_domain_mask_f mask; + sched_domain_flags_f sd_flags; + int numa_level; + struct sd_data data; + char *name; +}; + +struct sched_enq_and_set_ctx { + struct task_struct *p; + int queue_flags; + bool queued; + bool running; +}; + +struct sched_entity { + struct load_weight load; + struct rb_node run_node; + u64 deadline; + u64 min_vruntime; + u64 min_slice; + struct list_head group_node; + unsigned char on_rq; + unsigned char sched_delayed; + unsigned char rel_deadline; + unsigned char custom_slice; + u64 exec_start; + u64 sum_exec_runtime; + u64 prev_sum_exec_runtime; + u64 vruntime; + union { + s64 vlag; + u64 vprot; + }; + u64 slice; + u64 nr_migrations; + int depth; + struct sched_entity *parent; + struct cfs_rq *cfs_rq; + struct cfs_rq *my_q; + long unsigned int runnable_weight; + long: 64; + struct sched_avg avg; +}; + +struct sched_statistics { + u64 wait_start; + u64 wait_max; + u64 wait_count; + u64 wait_sum; + u64 iowait_count; + u64 iowait_sum; + u64 sleep_start; + u64 sleep_max; + s64 sum_sleep_runtime; + u64 block_start; + u64 block_max; + s64 sum_block_runtime; + s64 exec_max; + u64 slice_max; + u64 nr_migrations_cold; + u64 nr_failed_migrations_affine; + u64 nr_failed_migrations_running; + u64 nr_failed_migrations_hot; + u64 nr_forced_migrations; + u64 nr_wakeups; + u64 nr_wakeups_sync; + u64 nr_wakeups_migrate; + u64 nr_wakeups_local; + u64 nr_wakeups_remote; + u64 nr_wakeups_affine; + u64 nr_wakeups_affine_attempts; + u64 nr_wakeups_passive; + u64 nr_wakeups_idle; + u64 core_forceidle_sum; + long: 64; + long: 64; + long: 64; +}; + +struct sched_entity_stats { + struct sched_entity se; + struct sched_statistics stats; +}; + +struct sched_ext_entity { + struct scx_dispatch_q *dsq; + struct scx_dsq_list_node dsq_list; + struct rb_node dsq_priq; + u32 dsq_seq; + u32 dsq_flags; + u32 flags; + u32 weight; + s32 sticky_cpu; + s32 holding_cpu; + s32 selected_cpu; + u32 kf_mask; + struct task_struct *kf_tasks[2]; + atomic_long_t ops_state; + struct list_head runnable_node; + long unsigned int runnable_at; + u64 core_sched_at; + u64 ddsp_dsq_id; + u64 ddsp_enq_flags; + u64 slice; + u64 dsq_vtime; + bool disallow; + struct cgroup *cgrp_moving_from; + struct list_head tasks_node; +}; + +struct sched_group { + struct sched_group *next; + atomic_t ref; + unsigned int group_weight; + unsigned int cores; + struct sched_group_capacity *sgc; + int asym_prefer_cpu; + int flags; + long unsigned int cpumask[0]; +}; + +struct sched_group_capacity { + atomic_t ref; + long unsigned int capacity; + long unsigned int min_capacity; + long unsigned int max_capacity; + long unsigned int next_update; + int imbalance; + int id; + long unsigned int cpumask[0]; +}; + +struct sched_param { + int sched_priority; +}; + +struct sched_pin_override { + int32_t pcpu; +}; + +struct sched_poll { + __guest_handle_evtchn_port_t ports; + unsigned int nr_ports; + uint64_t timeout; +}; + +struct sched_rt_entity { + struct list_head run_list; + long unsigned int timeout; + long unsigned int watchdog_stamp; + unsigned int time_slice; + short unsigned int on_rq; + short unsigned int on_list; + struct sched_rt_entity *back; +}; + +struct sched_shutdown { + unsigned int reason; +}; + +struct scm_fp_list; + +struct scm_cookie { + struct pid *pid; + struct scm_fp_list *fp; + struct scm_creds creds; + u32 secid; +}; + +struct unix_edge; + +struct scm_fp_list { + short int count; + short int count_unix; + short int max; + bool inflight; + bool dead; + struct list_head vertices; + struct unix_edge *edges; + struct user_struct *user; + struct file *fp[253]; +}; + +struct scm_stat { + atomic_t nr_fds; + long unsigned int nr_unix_fds; +}; + +struct scm_timestamping { + struct __kernel_old_timespec ts[3]; +}; + +struct scm_timestamping64 { + struct __kernel_timespec ts[3]; +}; + +struct scm_timestamping_internal { + struct timespec64 ts[3]; +}; + +struct scm_ts_pktinfo { + __u32 if_index; + __u32 pkt_length; + __u32 reserved[2]; +}; + +struct scomp_alg { + int (*compress)(struct crypto_scomp *, const u8 *, unsigned int, u8 *, unsigned int *, void *); + int (*decompress)(struct crypto_scomp *, const u8 *, unsigned int, u8 *, unsigned int *, void *); + struct crypto_acomp_streams streams; + union { + struct { + struct crypto_alg base; + }; + struct comp_alg_common calg; + }; +}; + +struct scomp_scratch { + spinlock_t lock; + union { + void *src; + long unsigned int saddr; + }; +}; + +struct scratches_to_free { + struct callback_head rcu; + unsigned int cnt; + void *scratches[0]; +}; + +struct scsi_cd { + unsigned int capacity; + struct scsi_device *device; + unsigned int vendor; + long unsigned int ms_offset; + unsigned int writeable: 1; + unsigned int use: 1; + unsigned int xa_flag: 1; + unsigned int readcd_known: 1; + unsigned int readcd_cdda: 1; + unsigned int media_present: 1; + int tur_mismatch; + bool tur_changed: 1; + bool get_event_changed: 1; + bool ignore_get_event: 1; + struct cdrom_device_info cdi; + struct mutex lock; + struct gendisk *disk; +}; + +typedef struct scsi_cd Scsi_CD; + +struct scsi_data_buffer { + struct sg_table table; + unsigned int length; +}; + +struct scsi_cmnd { + struct scsi_device *device; + struct list_head eh_entry; + struct delayed_work abort_work; + struct callback_head rcu; + int eh_eflags; + int budget_token; + long unsigned int jiffies_at_alloc; + int retries; + int allowed; + unsigned char prot_op; + unsigned char prot_type; + unsigned char prot_flags; + enum scsi_cmnd_submitter submitter; + short unsigned int cmd_len; + enum dma_data_direction sc_data_direction; + unsigned char cmnd[32]; + struct scsi_data_buffer sdb; + struct scsi_data_buffer *prot_sdb; + unsigned int underflow; + unsigned int transfersize; + unsigned int resid_len; + unsigned int sense_len; + unsigned char *sense_buffer; + int flags; + long unsigned int state; + unsigned int extra_len; + unsigned char *host_scribble; + int result; +}; + +struct scsi_dev_info_list { + struct list_head dev_info_list; + char vendor[8]; + char model[16]; + blist_flags_t flags; + unsigned int compatible; +}; + +struct scsi_dev_info_list_table { + struct list_head node; + struct list_head scsi_dev_info_list; + const char *name; + int key; +}; + +struct scsi_vpd; + +struct scsi_target; + +struct scsi_device_handler; + +struct scsi_device { + struct Scsi_Host *host; + struct request_queue *request_queue; + struct list_head siblings; + struct list_head same_target_siblings; + struct sbitmap budget_map; + atomic_t device_blocked; + atomic_t restarts; + spinlock_t list_lock; + struct list_head starved_entry; + short unsigned int queue_depth; + short unsigned int max_queue_depth; + short unsigned int last_queue_full_depth; + short unsigned int last_queue_full_count; + long unsigned int last_queue_full_time; + long unsigned int queue_ramp_up_period; + long unsigned int last_queue_ramp_up; + unsigned int id; + unsigned int channel; + u64 lun; + unsigned int manufacturer; + unsigned int sector_size; + void *hostdata; + unsigned char type; + char scsi_level; + char inq_periph_qual; + struct mutex inquiry_mutex; + unsigned char inquiry_len; + unsigned char *inquiry; + const char *vendor; + const char *model; + const char *rev; + struct scsi_vpd *vpd_pg0; + struct scsi_vpd *vpd_pg83; + struct scsi_vpd *vpd_pg80; + struct scsi_vpd *vpd_pg89; + struct scsi_vpd *vpd_pgb0; + struct scsi_vpd *vpd_pgb1; + struct scsi_vpd *vpd_pgb2; + struct scsi_vpd *vpd_pgb7; + struct scsi_target *sdev_target; + blist_flags_t sdev_bflags; + unsigned int eh_timeout; + unsigned int manage_system_start_stop: 1; + unsigned int manage_runtime_start_stop: 1; + unsigned int manage_shutdown: 1; + unsigned int force_runtime_start_on_system_start: 1; + unsigned int is_ata: 1; + unsigned int removable: 1; + unsigned int changed: 1; + unsigned int busy: 1; + unsigned int lockable: 1; + unsigned int locked: 1; + unsigned int borken: 1; + unsigned int disconnect: 1; + unsigned int soft_reset: 1; + unsigned int sdtr: 1; + unsigned int wdtr: 1; + unsigned int ppr: 1; + unsigned int tagged_supported: 1; + unsigned int simple_tags: 1; + unsigned int was_reset: 1; + unsigned int expecting_cc_ua: 1; + unsigned int use_10_for_rw: 1; + unsigned int use_10_for_ms: 1; + unsigned int set_dbd_for_ms: 1; + unsigned int read_before_ms: 1; + unsigned int no_report_opcodes: 1; + unsigned int no_write_same: 1; + unsigned int use_16_for_rw: 1; + unsigned int use_16_for_sync: 1; + unsigned int skip_ms_page_8: 1; + unsigned int skip_ms_page_3f: 1; + unsigned int skip_vpd_pages: 1; + unsigned int try_vpd_pages: 1; + unsigned int use_192_bytes_for_3f: 1; + unsigned int no_start_on_add: 1; + unsigned int allow_restart: 1; + unsigned int start_stop_pwr_cond: 1; + unsigned int no_uld_attach: 1; + unsigned int select_no_atn: 1; + unsigned int fix_capacity: 1; + unsigned int guess_capacity: 1; + unsigned int retry_hwerror: 1; + unsigned int last_sector_bug: 1; + unsigned int no_read_disc_info: 1; + unsigned int no_read_capacity_16: 1; + unsigned int try_rc_10_first: 1; + unsigned int security_supported: 1; + unsigned int is_visible: 1; + unsigned int wce_default_on: 1; + unsigned int no_dif: 1; + unsigned int broken_fua: 1; + unsigned int lun_in_cdb: 1; + unsigned int unmap_limit_for_ws: 1; + unsigned int rpm_autosuspend: 1; + unsigned int ignore_media_change: 1; + unsigned int silence_suspend: 1; + unsigned int no_vpd_size: 1; + unsigned int cdl_supported: 1; + unsigned int cdl_enable: 1; + unsigned int queue_stopped; + bool offline_already; + atomic_t ua_new_media_ctr; + atomic_t ua_por_ctr; + atomic_t disk_events_disable_depth; + long unsigned int supported_events[1]; + long unsigned int pending_events[1]; + struct list_head event_list; + struct work_struct event_work; + unsigned int max_device_blocked; + atomic_t iorequest_cnt; + atomic_t iodone_cnt; + atomic_t ioerr_cnt; + atomic_t iotmo_cnt; + struct device sdev_gendev; + struct device sdev_dev; + struct work_struct requeue_work; + struct scsi_device_handler *handler; + void *handler_data; + size_t dma_drain_len; + void *dma_drain_buf; + unsigned int sg_timeout; + unsigned int sg_reserved_size; + struct bsg_device *bsg_dev; + unsigned char access_state; + struct mutex state_mutex; + enum scsi_device_state sdev_state; + struct task_struct *quiesced_by; + long unsigned int sdev_data[0]; +}; + +typedef void (*activate_complete)(void *, int); + +struct scsi_device_handler { + struct list_head list; + struct module *module; + const char *name; + enum scsi_disposition (*check_sense)(struct scsi_device *, struct scsi_sense_hdr *); + int (*attach)(struct scsi_device *); + void (*detach)(struct scsi_device *); + int (*activate)(struct scsi_device *, activate_complete, void *); + blk_status_t (*prep_fn)(struct scsi_device *, struct request *); + int (*set_params)(struct scsi_device *, const char *); + void (*rescan)(struct scsi_device *); +}; + +struct scsi_dh_blist { + const char *vendor; + const char *model; + const char *driver; +}; + +struct zoned_disk_info { + u32 nr_zones; + u32 zone_blocks; +}; + +struct scsi_disk { + struct scsi_device *device; + struct device disk_dev; + struct gendisk *disk; + struct opal_dev *opal_dev; + struct zoned_disk_info early_zone_info; + struct zoned_disk_info zone_info; + u32 zones_optimal_open; + u32 zones_optimal_nonseq; + u32 zones_max_open; + u32 zone_starting_lba_gran; + atomic_t openers; + sector_t capacity; + int max_retries; + u32 min_xfer_blocks; + u32 max_xfer_blocks; + u32 opt_xfer_blocks; + u32 max_ws_blocks; + u32 max_unmap_blocks; + u32 unmap_granularity; + u32 unmap_alignment; + u32 max_atomic; + u32 atomic_alignment; + u32 atomic_granularity; + u32 max_atomic_with_boundary; + u32 max_atomic_boundary; + u32 index; + unsigned int physical_block_size; + unsigned int max_medium_access_timeouts; + unsigned int medium_access_timed_out; + u16 permanent_stream_count; + u8 media_present; + u8 write_prot; + u8 protection_type; + u8 provisioning_mode; + u8 zeroing_mode; + u8 nr_actuators; + bool suspended; + unsigned int ATO: 1; + unsigned int cache_override: 1; + unsigned int WCE: 1; + unsigned int RCD: 1; + unsigned int DPOFUA: 1; + unsigned int first_scan: 1; + unsigned int lbpme: 1; + unsigned int lbprz: 1; + unsigned int lbpu: 1; + unsigned int lbpws: 1; + unsigned int lbpws10: 1; + unsigned int lbpvpd: 1; + unsigned int ws10: 1; + unsigned int ws16: 1; + unsigned int rc_basis: 2; + unsigned int zoned: 2; + unsigned int urswrz: 1; + unsigned int security: 1; + unsigned int ignore_medium_access_errors: 1; + unsigned int rscs: 1; + unsigned int use_atomic_write_boundary: 1; +}; + +struct scsi_driver { + struct device_driver gendrv; + int (*resume)(struct device *); + void (*rescan)(struct device *); + blk_status_t (*init_command)(struct scsi_cmnd *); + void (*uninit_command)(struct scsi_cmnd *); + int (*done)(struct scsi_cmnd *); + int (*eh_action)(struct scsi_cmnd *, int); + void (*eh_reset)(struct scsi_cmnd *); +}; + +struct scsi_eh_save { + int result; + unsigned int resid_len; + int eh_eflags; + enum dma_data_direction data_direction; + unsigned int underflow; + unsigned char cmd_len; + unsigned char prot_op; + unsigned char cmnd[32]; + struct scsi_data_buffer sdb; + struct scatterlist sense_sgl; +}; + +struct scsi_event { + enum scsi_device_event evt_type; + struct list_head node; +}; + +struct scsi_failures; + +struct scsi_exec_args { + unsigned char *sense; + unsigned int sense_len; + struct scsi_sense_hdr *sshdr; + blk_mq_req_flags_t req_flags; + int scmd_flags; + int *resid; + struct scsi_failures *failures; +}; + +struct scsi_failure { + int result; + u8 sense; + u8 asc; + u8 ascq; + s8 allowed; + s8 retries; +}; + +struct scsi_failures { + int total_allowed; + int total_retries; + struct scsi_failure *failure_definitions; +}; + +struct scsi_host_busy_iter_data { + bool (*fn)(struct scsi_cmnd *, void *); + void *priv; +}; + +struct scsi_host_template { + unsigned int cmd_size; + int (*queuecommand)(struct Scsi_Host *, struct scsi_cmnd *); + void (*commit_rqs)(struct Scsi_Host *, u16); + struct module *module; + const char *name; + const char * (*info)(struct Scsi_Host *); + int (*ioctl)(struct scsi_device *, unsigned int, void *); + int (*compat_ioctl)(struct scsi_device *, unsigned int, void *); + int (*init_cmd_priv)(struct Scsi_Host *, struct scsi_cmnd *); + int (*exit_cmd_priv)(struct Scsi_Host *, struct scsi_cmnd *); + int (*eh_abort_handler)(struct scsi_cmnd *); + int (*eh_device_reset_handler)(struct scsi_cmnd *); + int (*eh_target_reset_handler)(struct scsi_cmnd *); + int (*eh_bus_reset_handler)(struct scsi_cmnd *); + int (*eh_host_reset_handler)(struct scsi_cmnd *); + int (*sdev_init)(struct scsi_device *); + int (*sdev_configure)(struct scsi_device *, struct queue_limits *); + void (*sdev_destroy)(struct scsi_device *); + int (*target_alloc)(struct scsi_target *); + void (*target_destroy)(struct scsi_target *); + int (*scan_finished)(struct Scsi_Host *, long unsigned int); + void (*scan_start)(struct Scsi_Host *); + int (*change_queue_depth)(struct scsi_device *, int); + void (*map_queues)(struct Scsi_Host *); + int (*mq_poll)(struct Scsi_Host *, unsigned int); + bool (*dma_need_drain)(struct request *); + int (*bios_param)(struct scsi_device *, struct block_device *, sector_t, int *); + void (*unlock_native_capacity)(struct scsi_device *); + int (*show_info)(struct seq_file *, struct Scsi_Host *); + int (*write_info)(struct Scsi_Host *, char *, int); + enum scsi_timeout_action (*eh_timed_out)(struct scsi_cmnd *); + bool (*eh_should_retry_cmd)(struct scsi_cmnd *); + int (*host_reset)(struct Scsi_Host *, int); + const char *proc_name; + int can_queue; + int this_id; + short unsigned int sg_tablesize; + short unsigned int sg_prot_tablesize; + unsigned int max_sectors; + unsigned int max_segment_size; + unsigned int dma_alignment; + long unsigned int dma_boundary; + long unsigned int virt_boundary_mask; + short int cmd_per_lun; + bool tag_alloc_policy_rr: 1; + unsigned int track_queue_depth: 1; + unsigned int supported_mode: 2; + unsigned int emulated: 1; + unsigned int skip_settle_delay: 1; + unsigned int no_write_same: 1; + unsigned int host_tagset: 1; + unsigned int queuecommand_may_block: 1; + unsigned int max_host_blocked; + const struct attribute_group **shost_groups; + const struct attribute_group **sdev_groups; + u64 vendor_id; +}; + +struct scsi_idlun { + __u32 dev_id; + __u32 host_unique_id; +}; + +struct scsi_io_group_descriptor { + u8 ic_enable: 1; + u8 cs_enble: 1; + u8 st_enble: 1; + u8 reserved1: 3; + u8 io_advice_hints_mode: 2; + u8 reserved2[3]; + u8 lbm_descriptor_type: 4; + u8 rlbsr: 2; + u8 reserved3: 1; + u8 acdlu: 1; + u8 params[2]; + u8 reserved4; + u8 reserved5[8]; +}; + +struct scsi_ioctl_command { + unsigned int inlen; + unsigned int outlen; + unsigned char data[0]; +}; + +struct scsi_lun { + __u8 scsi_lun[8]; +}; + +struct scsi_mode_data { + __u32 length; + __u16 block_descriptor_length; + __u8 medium_type; + __u8 device_specific; + __u8 header_length; + __u8 longlba: 1; +}; + +struct scsi_nl_hdr { + __u8 version; + __u8 transport; + __u16 magic; + __u16 msgtype; + __u16 msglen; +}; + +struct scsi_proc_entry { + struct list_head entry; + const struct scsi_host_template *sht; + struct proc_dir_entry *proc_dir; + unsigned int present; +}; + +struct scsi_sense_hdr { + u8 response_code; + u8 sense_key; + u8 asc; + u8 ascq; + u8 byte4; + u8 byte5; + u8 byte6; + u8 additional_length; +}; + +struct scsi_stream_status { + u8 reserved1: 7; + u8 perm: 1; + u8 reserved2; + __be16 stream_identifier; + u8 rel_lifetime: 6; + u8 reserved3: 2; + u8 reserved4[3]; +}; + +struct scsi_stream_status_header { + __be32 len; + u16 reserved; + __be16 number_of_open_streams; +}; + +struct scsi_target { + struct scsi_device *starget_sdev_user; + struct list_head siblings; + struct list_head devices; + struct device dev; + struct kref reap_ref; + unsigned int channel; + unsigned int id; + unsigned int create: 1; + unsigned int single_lun: 1; + unsigned int pdt_1f_for_no_lun: 1; + unsigned int no_report_luns: 1; + unsigned int expecting_lun_change: 1; + atomic_t target_busy; + atomic_t target_blocked; + unsigned int can_queue; + unsigned int max_target_blocked; + char scsi_level; + enum scsi_target_state state; + void *hostdata; + long unsigned int starget_data[0]; +}; + +struct scsi_varlen_cdb_hdr { + __u8 opcode; + __u8 control; + __u8 misc[5]; + __u8 additional_cdb_length; + __be16 service_action; +}; + +struct scsi_vpd { + struct callback_head rcu; + int len; + unsigned char data[0]; +}; + +struct sctp_paramhdr { + __be16 type; + __be16 length; +}; + +struct sctp_adaptation_ind_param { + struct sctp_paramhdr param_hdr; + __be32 adaptation_ind; +}; + +struct sctp_addip_param { + struct sctp_paramhdr param_hdr; + __be32 crr_id; +}; + +struct sctp_addiphdr { + __be32 serial; +}; + +struct sockaddr_inet { + short unsigned int sa_family; + char sa_data[26]; +}; + +union sctp_addr { + struct sockaddr_inet sa; + struct sockaddr_in v4; + struct sockaddr_in6 v6; +}; + +struct sctp_ipv4addr_param { + struct sctp_paramhdr param_hdr; + struct in_addr addr; +}; + +struct sctp_ipv6addr_param { + struct sctp_paramhdr param_hdr; + struct in6_addr addr; +}; + +union sctp_addr_param { + struct sctp_paramhdr p; + struct sctp_ipv4addr_param v4; + struct sctp_ipv6addr_param v6; +}; + +struct sctp_transport; + +struct sctp_sock; + +struct sctp_af { + int (*sctp_xmit)(struct sk_buff *, struct sctp_transport *); + int (*setsockopt)(struct sock *, int, int, sockptr_t, unsigned int); + int (*getsockopt)(struct sock *, int, int, char *, int *); + void (*get_dst)(struct sctp_transport *, union sctp_addr *, struct flowi *, struct sock *); + void (*get_saddr)(struct sctp_sock *, struct sctp_transport *, struct flowi *); + void (*copy_addrlist)(struct list_head *, struct net_device *); + int (*cmp_addr)(const union sctp_addr *, const union sctp_addr *); + void (*addr_copy)(union sctp_addr *, union sctp_addr *); + void (*from_skb)(union sctp_addr *, struct sk_buff *, int); + void (*from_sk)(union sctp_addr *, struct sock *); + bool (*from_addr_param)(union sctp_addr *, union sctp_addr_param *, __be16, int); + int (*to_addr_param)(const union sctp_addr *, union sctp_addr_param *); + int (*addr_valid)(union sctp_addr *, struct sctp_sock *, const struct sk_buff *); + enum sctp_scope (*scope)(union sctp_addr *); + void (*inaddr_any)(union sctp_addr *, __be16); + int (*is_any)(const union sctp_addr *); + int (*available)(union sctp_addr *, struct sctp_sock *); + int (*skb_iif)(const struct sk_buff *); + int (*skb_sdif)(const struct sk_buff *); + int (*is_ce)(const struct sk_buff *); + void (*seq_dump_addr)(struct seq_file *, union sctp_addr *); + void (*ecn_capable)(struct sock *); + __u16 net_header_len; + int sockaddr_len; + int (*ip_options_len)(struct sock *); + sa_family_t sa_family; + struct list_head list; +}; + +struct sctp_chunk; + +struct sctp_inq { + struct list_head in_chunk_list; + struct sctp_chunk *in_progress; + struct work_struct immediate; +}; + +struct sctp_bind_addr { + __u16 port; + struct list_head address_list; +}; + +struct sctp_ep_common { + enum sctp_endpoint_type type; + refcount_t refcnt; + bool dead; + struct sock *sk; + struct net *net; + struct sctp_inq inqueue; + struct sctp_bind_addr bind_addr; +}; + +struct sctp_cookie { + __u32 my_vtag; + __u32 peer_vtag; + __u32 my_ttag; + __u32 peer_ttag; + ktime_t expiration; + __u16 sinit_num_ostreams; + __u16 sinit_max_instreams; + __u32 initial_tsn; + union sctp_addr peer_addr; + __u16 my_port; + __u8 prsctp_capable; + __u8 padding; + __u32 adaptation_ind; + __u8 auth_random[36]; + __u8 auth_hmacs[10]; + __u8 auth_chunks[20]; + __u32 raw_addr_list_len; +}; + +struct sctp_tsnmap { + long unsigned int *tsn_map; + __u32 base_tsn; + __u32 cumulative_tsn_ack_point; + __u32 max_tsn_seen; + __u16 len; + __u16 pending_data; + __u16 num_dup_tsns; + __be32 dup_tsns[16]; +}; + +struct sctp_inithdr_host { + __u32 init_tag; + __u32 a_rwnd; + __u16 num_outbound_streams; + __u16 num_inbound_streams; + __u32 initial_tsn; +}; + +struct sctp_stream_out_ext; + +struct sctp_stream_out { + union { + __u32 mid; + __u16 ssn; + }; + __u32 mid_uo; + struct sctp_stream_out_ext *ext; + __u8 state; +}; + +struct sctp_stream_in { + union { + __u32 mid; + __u16 ssn; + }; + __u32 mid_uo; + __u32 fsn; + __u32 fsn_uo; + char pd_mode; + char pd_mode_uo; +}; + +struct sctp_stream_interleave; + +struct sctp_stream { + struct { + struct __genradix tree; + struct sctp_stream_out type[0]; + } out; + struct { + struct __genradix tree; + struct sctp_stream_in type[0]; + } in; + __u16 outcnt; + __u16 incnt; + struct sctp_stream_out *out_curr; + union { + struct { + struct list_head prio_list; + }; + struct { + struct list_head rr_list; + struct sctp_stream_out_ext *rr_next; + }; + struct { + struct list_head fc_list; + }; + }; + struct sctp_stream_interleave *si; +}; + +struct sctp_sched_ops; + +struct sctp_association; + +struct sctp_outq { + struct sctp_association *asoc; + struct list_head out_chunk_list; + struct sctp_sched_ops *sched; + unsigned int out_qlen; + unsigned int error; + struct list_head control_chunk_list; + struct list_head sacked; + struct list_head retransmit; + struct list_head abandoned; + __u32 outstanding_bytes; + char fast_rtx; + char cork; +}; + +struct sctp_ulpq { + char pd_mode; + struct sctp_association *asoc; + struct sk_buff_head reasm; + struct sk_buff_head reasm_uo; + struct sk_buff_head lobby; +}; + +struct sctp_priv_assoc_stats { + struct __kernel_sockaddr_storage obs_rto_ipaddr; + __u64 max_obs_rto; + __u64 isacks; + __u64 osacks; + __u64 opackets; + __u64 ipackets; + __u64 rtxchunks; + __u64 outofseqtsns; + __u64 idupchunks; + __u64 gapcnt; + __u64 ouodchunks; + __u64 iuodchunks; + __u64 oodchunks; + __u64 iodchunks; + __u64 octrlchunks; + __u64 ictrlchunks; +}; + +struct sctp_endpoint; + +struct sctp_random_param; + +struct sctp_chunks_param; + +struct sctp_hmac_algo_param; + +struct sctp_auth_bytes; + +struct sctp_shared_key; + +struct sctp_association { + struct sctp_ep_common base; + struct list_head asocs; + sctp_assoc_t assoc_id; + struct sctp_endpoint *ep; + struct sctp_cookie c; + struct { + struct list_head transport_addr_list; + __u32 rwnd; + __u16 transport_count; + __u16 port; + struct sctp_transport *primary_path; + union sctp_addr primary_addr; + struct sctp_transport *active_path; + struct sctp_transport *retran_path; + struct sctp_transport *last_sent_to; + struct sctp_transport *last_data_from; + struct sctp_tsnmap tsn_map; + __be16 addip_disabled_mask; + __u16 ecn_capable: 1; + __u16 ipv4_address: 1; + __u16 ipv6_address: 1; + __u16 asconf_capable: 1; + __u16 prsctp_capable: 1; + __u16 reconf_capable: 1; + __u16 intl_capable: 1; + __u16 auth_capable: 1; + __u16 sack_needed: 1; + __u16 sack_generation: 1; + __u16 zero_window_announced: 1; + __u32 sack_cnt; + __u32 adaptation_ind; + struct sctp_inithdr_host i; + void *cookie; + int cookie_len; + __u32 addip_serial; + struct sctp_random_param *peer_random; + struct sctp_chunks_param *peer_chunks; + struct sctp_hmac_algo_param *peer_hmacs; + } peer; + enum sctp_state state; + int overall_error_count; + ktime_t cookie_life; + long unsigned int rto_initial; + long unsigned int rto_max; + long unsigned int rto_min; + int max_burst; + int max_retrans; + __u16 pf_retrans; + __u16 ps_retrans; + __u16 max_init_attempts; + __u16 init_retries; + long unsigned int max_init_timeo; + long unsigned int hbinterval; + long unsigned int probe_interval; + __be16 encap_port; + __u16 pathmaxrxt; + __u32 flowlabel; + __u8 dscp; + __u8 pmtu_pending; + __u32 pathmtu; + __u32 param_flags; + __u32 sackfreq; + long unsigned int sackdelay; + long unsigned int timeouts[12]; + struct timer_list timers[12]; + struct sctp_transport *shutdown_last_sent_to; + struct sctp_transport *init_last_sent_to; + int shutdown_retries; + __u32 next_tsn; + __u32 ctsn_ack_point; + __u32 adv_peer_ack_point; + __u32 highest_sacked; + __u32 fast_recovery_exit; + __u8 fast_recovery; + __u16 unack_data; + __u32 rtx_data_chunks; + __u32 rwnd; + __u32 a_rwnd; + __u32 rwnd_over; + __u32 rwnd_press; + int sndbuf_used; + atomic_t rmem_alloc; + wait_queue_head_t wait; + __u32 frag_point; + __u32 user_frag; + int init_err_counter; + int init_cycle; + __u16 default_stream; + __u16 default_flags; + __u32 default_ppid; + __u32 default_context; + __u32 default_timetolive; + __u32 default_rcv_context; + struct sctp_stream stream; + struct sctp_outq outqueue; + struct sctp_ulpq ulpq; + __u32 last_ecne_tsn; + __u32 last_cwr_tsn; + int numduptsns; + struct sctp_chunk *addip_last_asconf; + struct list_head asconf_ack_list; + struct list_head addip_chunk_list; + __u32 addip_serial; + int src_out_of_asoc_ok; + union sctp_addr *asconf_addr_del_pending; + struct sctp_transport *new_transport; + struct list_head endpoint_shared_keys; + struct sctp_auth_bytes *asoc_shared_key; + struct sctp_shared_key *shkey; + __u16 default_hmac_id; + __u16 active_key_id; + __u8 need_ecne: 1; + __u8 temp: 1; + __u8 pf_expose: 2; + __u8 force_delay: 1; + __u8 strreset_enable; + __u8 strreset_outstanding; + __u32 strreset_outseq; + __u32 strreset_inseq; + __u32 strreset_result[2]; + struct sctp_chunk *strreset_chunk; + struct sctp_priv_assoc_stats stats; + int sent_cnt_removable; + __u16 subscribe; + __u64 abandoned_unsent[3]; + __u64 abandoned_sent[3]; + u32 secid; + u32 peer_secid; + struct callback_head rcu; +}; + +struct sctp_assocparams { + sctp_assoc_t sasoc_assoc_id; + __u16 sasoc_asocmaxrxt; + __u16 sasoc_number_peer_destinations; + __u32 sasoc_peer_rwnd; + __u32 sasoc_local_rwnd; + __u32 sasoc_cookie_life; +}; + +struct sctp_auth_bytes { + refcount_t refcnt; + __u32 len; + __u8 data[0]; +}; + +struct sctp_authhdr { + __be16 shkey_id; + __be16 hmac_id; +}; + +struct sctp_bind_bucket { + short unsigned int port; + signed char fastreuse; + signed char fastreuseport; + kuid_t fastuid; + struct hlist_node node; + struct hlist_head owner; + struct net *net; +}; + +struct sctp_cookie_preserve_param; + +struct sctp_hostname_param; + +struct sctp_cookie_param; + +struct sctp_supported_addrs_param; + +struct sctp_supported_ext_param; + +union sctp_params { + void *v; + struct sctp_paramhdr *p; + struct sctp_cookie_preserve_param *life; + struct sctp_hostname_param *dns; + struct sctp_cookie_param *cookie; + struct sctp_supported_addrs_param *sat; + struct sctp_ipv4addr_param *v4; + struct sctp_ipv6addr_param *v6; + union sctp_addr_param *addr; + struct sctp_adaptation_ind_param *aind; + struct sctp_supported_ext_param *ext; + struct sctp_random_param *random; + struct sctp_chunks_param *chunks; + struct sctp_hmac_algo_param *hmac_algo; + struct sctp_addip_param *addip; +}; + +struct sctp_sndrcvinfo { + __u16 sinfo_stream; + __u16 sinfo_ssn; + __u16 sinfo_flags; + __u32 sinfo_ppid; + __u32 sinfo_context; + __u32 sinfo_timetolive; + __u32 sinfo_tsn; + __u32 sinfo_cumtsn; + sctp_assoc_t sinfo_assoc_id; +}; + +struct sctp_datahdr; + +struct sctp_inithdr; + +struct sctp_sackhdr; + +struct sctp_heartbeathdr; + +struct sctp_sender_hb_info; + +struct sctp_shutdownhdr; + +struct sctp_signed_cookie; + +struct sctp_ecnehdr; + +struct sctp_cwrhdr; + +struct sctp_errhdr; + +struct sctp_fwdtsn_hdr; + +struct sctp_idatahdr; + +struct sctp_ifwdtsn_hdr; + +struct sctp_chunkhdr; + +struct sctphdr; + +struct sctp_datamsg; + +struct sctp_chunk { + struct list_head list; + refcount_t refcnt; + int sent_count; + union { + struct list_head transmitted_list; + struct list_head stream_list; + }; + struct list_head frag_list; + struct sk_buff *skb; + union { + struct sk_buff *head_skb; + struct sctp_shared_key *shkey; + }; + union sctp_params param_hdr; + union { + __u8 *v; + struct sctp_datahdr *data_hdr; + struct sctp_inithdr *init_hdr; + struct sctp_sackhdr *sack_hdr; + struct sctp_heartbeathdr *hb_hdr; + struct sctp_sender_hb_info *hbs_hdr; + struct sctp_shutdownhdr *shutdown_hdr; + struct sctp_signed_cookie *cookie_hdr; + struct sctp_ecnehdr *ecne_hdr; + struct sctp_cwrhdr *ecn_cwr_hdr; + struct sctp_errhdr *err_hdr; + struct sctp_addiphdr *addip_hdr; + struct sctp_fwdtsn_hdr *fwdtsn_hdr; + struct sctp_authhdr *auth_hdr; + struct sctp_idatahdr *idata_hdr; + struct sctp_ifwdtsn_hdr *ifwdtsn_hdr; + } subh; + __u8 *chunk_end; + struct sctp_chunkhdr *chunk_hdr; + struct sctphdr *sctp_hdr; + struct sctp_sndrcvinfo sinfo; + struct sctp_association *asoc; + struct sctp_ep_common *rcvr; + long unsigned int sent_at; + union sctp_addr source; + union sctp_addr dest; + struct sctp_datamsg *msg; + struct sctp_transport *transport; + struct sk_buff *auth_chunk; + __u16 rtt_in_progress: 1; + __u16 has_tsn: 1; + __u16 has_ssn: 1; + __u16 singleton: 1; + __u16 end_of_packet: 1; + __u16 ecn_ce_done: 1; + __u16 pdiscard: 1; + __u16 tsn_gap_acked: 1; + __u16 data_accepted: 1; + __u16 auth: 1; + __u16 has_asconf: 1; + __u16 pmtu_probe: 1; + __u16 tsn_missing_report: 2; + __u16 fast_retransmit: 2; +}; + +struct sctp_chunkhdr { + __u8 type; + __u8 flags; + __be16 length; +}; + +struct sctp_chunks_param { + struct sctp_paramhdr param_hdr; + __u8 chunks[0]; +}; + +struct sctp_cookie_param { + struct sctp_paramhdr p; + __u8 body[0]; +}; + +struct sctp_cookie_preserve_param { + struct sctp_paramhdr param_hdr; + __be32 lifespan_increment; +}; + +struct sctp_cwrhdr { + __be32 lowest_tsn; +}; + +struct sctp_datahdr { + __be32 tsn; + __be16 stream; + __be16 ssn; + __u32 ppid; +}; + +struct sctp_datamsg { + struct list_head chunks; + refcount_t refcnt; + long unsigned int expires_at; + int send_error; + u8 send_failed: 1; + u8 can_delay: 1; + u8 abandoned: 1; +}; + +struct sctp_ecnehdr { + __be32 lowest_tsn; +}; + +struct sctp_endpoint { + struct sctp_ep_common base; + struct hlist_node node; + int hashent; + struct list_head asocs; + __u8 secret_key[32]; + __u8 *digest; + __u32 sndbuf_policy; + __u32 rcvbuf_policy; + struct crypto_shash **auth_hmacs; + struct sctp_hmac_algo_param *auth_hmacs_list; + struct sctp_chunks_param *auth_chunk_list; + struct list_head endpoint_shared_keys; + __u16 active_key_id; + __u8 ecn_enable: 1; + __u8 auth_enable: 1; + __u8 intl_enable: 1; + __u8 prsctp_enable: 1; + __u8 asconf_enable: 1; + __u8 reconf_enable: 1; + __u8 strreset_enable; + struct callback_head rcu; +}; + +struct sctp_errhdr { + __be16 cause; + __be16 length; +}; + +struct sctp_fwdtsn_hdr { + __be32 new_cum_tsn; +}; + +struct sctp_heartbeathdr { + struct sctp_paramhdr info; +}; + +struct sctp_hmac_algo_param { + struct sctp_paramhdr param_hdr; + __be16 hmac_ids[0]; +}; + +struct sctp_hostname_param { + struct sctp_paramhdr param_hdr; + uint8_t hostname[0]; +}; + +struct sctp_idatahdr { + __be32 tsn; + __be16 stream; + __be16 reserved; + __be32 mid; + union { + __u32 ppid; + __be32 fsn; + }; +}; + +struct sctp_ifwdtsn_hdr { + __be32 new_cum_tsn; +}; + +struct sctp_inithdr { + __be32 init_tag; + __be32 a_rwnd; + __be16 num_outbound_streams; + __be16 num_inbound_streams; + __be32 initial_tsn; +}; + +struct sctp_initmsg { + __u16 sinit_num_ostreams; + __u16 sinit_max_instreams; + __u16 sinit_max_attempts; + __u16 sinit_max_init_timeo; +}; + +struct sctp_packet { + __u16 source_port; + __u16 destination_port; + __u32 vtag; + struct list_head chunk_list; + size_t overhead; + size_t size; + size_t max_size; + struct sctp_transport *transport; + struct sctp_chunk *auth; + u8 has_cookie_echo: 1; + u8 has_sack: 1; + u8 has_auth: 1; + u8 has_data: 1; + u8 ipfragok: 1; +}; + +struct sctp_paddrparams { + sctp_assoc_t spp_assoc_id; + struct __kernel_sockaddr_storage spp_address; + __u32 spp_hbinterval; + __u16 spp_pathmaxrxt; + __u32 spp_pathmtu; + __u32 spp_sackdelay; + __u32 spp_flags; + __u32 spp_ipv6_flowlabel; + __u8 spp_dscp; + int: 0; +} __attribute__((packed)); + +struct sctp_ulpevent; + +struct sctp_pf { + void (*event_msgname)(struct sctp_ulpevent *, char *, int *); + void (*skb_msgname)(struct sk_buff *, char *, int *); + int (*af_supported)(sa_family_t, struct sctp_sock *); + int (*cmp_addr)(const union sctp_addr *, const union sctp_addr *, struct sctp_sock *); + int (*bind_verify)(struct sctp_sock *, union sctp_addr *); + int (*send_verify)(struct sctp_sock *, union sctp_addr *); + int (*supported_addrs)(const struct sctp_sock *, __be16 *); + struct sock * (*create_accept_sk)(struct sock *, struct sctp_association *, bool); + int (*addr_to_user)(struct sctp_sock *, union sctp_addr *); + void (*to_sk_saddr)(union sctp_addr *, struct sock *); + void (*to_sk_daddr)(union sctp_addr *, struct sock *); + void (*copy_ip_options)(struct sock *, struct sock *); + struct sctp_af *af; +}; + +struct sctp_random_param { + struct sctp_paramhdr param_hdr; + __u8 random_val[0]; +}; + +struct sctp_rtoinfo { + sctp_assoc_t srto_assoc_id; + __u32 srto_initial; + __u32 srto_max; + __u32 srto_min; +}; + +struct sctp_sackhdr { + __be32 cum_tsn_ack; + __be32 a_rwnd; + __be16 num_gap_ack_blocks; + __be16 num_dup_tsns; +}; + +struct sctp_sender_hb_info { + struct sctp_paramhdr param_hdr; + union sctp_addr daddr; + long unsigned int sent_at; + __u64 hb_nonce; + __u32 probe_size; +}; + +struct sctp_shared_key { + struct list_head key_list; + struct sctp_auth_bytes *key; + refcount_t refcnt; + __u16 key_id; + __u8 deactivated; +}; + +struct sctp_shutdownhdr { + __be32 cum_tsn_ack; +}; + +struct sctp_signed_cookie { + __u8 signature[32]; + __u32 __pad; + struct sctp_cookie c; +} __attribute__((packed)); + +struct sctp_sock { + struct inet_sock inet; + enum sctp_socket_type type; + struct sctp_pf *pf; + struct crypto_shash *hmac; + char *sctp_hmac_alg; + struct sctp_endpoint *ep; + struct sctp_bind_bucket *bind_hash; + __u16 default_stream; + __u32 default_ppid; + __u16 default_flags; + __u32 default_context; + __u32 default_timetolive; + __u32 default_rcv_context; + int max_burst; + __u32 hbinterval; + __u32 probe_interval; + __be16 udp_port; + __be16 encap_port; + __u16 pathmaxrxt; + __u32 flowlabel; + __u8 dscp; + __u16 pf_retrans; + __u16 ps_retrans; + __u32 pathmtu; + __u32 sackdelay; + __u32 sackfreq; + __u32 param_flags; + __u32 default_ss; + struct sctp_rtoinfo rtoinfo; + struct sctp_paddrparams paddrparam; + struct sctp_assocparams assocparams; + __u16 subscribe; + struct sctp_initmsg initmsg; + int user_frag; + __u32 autoclose; + __u32 adaptation_ind; + __u32 pd_point; + __u16 nodelay: 1; + __u16 pf_expose: 2; + __u16 reuse: 1; + __u16 disable_fragments: 1; + __u16 v4mapped: 1; + __u16 frag_interleave: 1; + __u16 recvrcvinfo: 1; + __u16 recvnxtinfo: 1; + __u16 data_ready_signalled: 1; + atomic_t pd_mode; + struct sk_buff_head pd_lobby; + struct list_head auto_asconf_list; + int do_auto_asconf; +}; + +struct sctp_stream_interleave { + __u16 data_chunk_len; + __u16 ftsn_chunk_len; + struct sctp_chunk * (*make_datafrag)(const struct sctp_association *, const struct sctp_sndrcvinfo *, int, __u8, gfp_t); + void (*assign_number)(struct sctp_chunk *); + bool (*validate_data)(struct sctp_chunk *); + int (*ulpevent_data)(struct sctp_ulpq *, struct sctp_chunk *, gfp_t); + int (*enqueue_event)(struct sctp_ulpq *, struct sctp_ulpevent *); + void (*renege_events)(struct sctp_ulpq *, struct sctp_chunk *, gfp_t); + void (*start_pd)(struct sctp_ulpq *, gfp_t); + void (*abort_pd)(struct sctp_ulpq *, gfp_t); + void (*generate_ftsn)(struct sctp_outq *, __u32); + bool (*validate_ftsn)(struct sctp_chunk *); + void (*report_ftsn)(struct sctp_ulpq *, __u32); + void (*handle_ftsn)(struct sctp_ulpq *, struct sctp_chunk *); +}; + +struct sctp_stream_priorities; + +struct sctp_stream_out_ext { + __u64 abandoned_unsent[3]; + __u64 abandoned_sent[3]; + struct list_head outq; + union { + struct { + struct list_head prio_list; + struct sctp_stream_priorities *prio_head; + }; + struct { + struct list_head rr_list; + }; + struct { + struct list_head fc_list; + __u32 fc_length; + __u16 fc_weight; + }; + }; +}; + +struct sctp_stream_priorities { + struct list_head prio_sched; + struct list_head active; + struct sctp_stream_out_ext *next; + __u16 prio; + __u16 users; +}; + +struct sctp_supported_addrs_param { + struct sctp_paramhdr param_hdr; + __be16 types[0]; +}; + +struct sctp_supported_ext_param { + struct sctp_paramhdr param_hdr; + __u8 chunks[0]; +}; + +struct sctp_transport { + struct list_head transports; + struct rhlist_head node; + refcount_t refcnt; + __u32 dead: 1; + __u32 rto_pending: 1; + __u32 hb_sent: 1; + __u32 pmtu_pending: 1; + __u32 dst_pending_confirm: 1; + __u32 sack_generation: 1; + u32 dst_cookie; + struct flowi fl; + union sctp_addr ipaddr; + struct sctp_af *af_specific; + struct sctp_association *asoc; + long unsigned int rto; + __u32 rtt; + __u32 rttvar; + __u32 srtt; + __u32 cwnd; + __u32 ssthresh; + __u32 partial_bytes_acked; + __u32 flight_size; + __u32 burst_limited; + struct dst_entry *dst; + union sctp_addr saddr; + long unsigned int hbinterval; + long unsigned int probe_interval; + long unsigned int sackdelay; + __u32 sackfreq; + atomic_t mtu_info; + ktime_t last_time_heard; + long unsigned int last_time_sent; + long unsigned int last_time_ecne_reduced; + __be16 encap_port; + __u16 pathmaxrxt; + __u32 flowlabel; + __u8 dscp; + __u16 pf_retrans; + __u16 ps_retrans; + __u32 pathmtu; + __u32 param_flags; + int init_sent_count; + int state; + short unsigned int error_count; + struct timer_list T3_rtx_timer; + struct timer_list hb_timer; + struct timer_list proto_unreach_timer; + struct timer_list reconf_timer; + struct timer_list probe_timer; + struct list_head transmitted; + struct sctp_packet packet; + struct list_head send_ready; + struct { + __u32 next_tsn_at_change; + char changeover_active; + char cycling_changeover; + char cacc_saw_newack; + } cacc; + struct { + __u16 pmtu; + __u16 probe_size; + __u16 probe_high; + __u8 probe_count; + __u8 state; + } pl; + __u64 hb_nonce; + struct callback_head rcu; +}; + +struct sctp_ulpevent { + struct sctp_association *asoc; + struct sctp_chunk *chunk; + unsigned int rmem_len; + union { + __u32 mid; + __u16 ssn; + }; + union { + __u32 ppid; + __u32 fsn; + }; + __u32 tsn; + __u32 cumtsn; + __u16 stream; + __u16 flags; + __u16 msg_flags; +} __attribute__((packed)); + +struct sctphdr { + __be16 source; + __be16 dest; + __be32 vtag; + __le32 checksum; +}; + +struct scx_bstr_buf { + u64 data[12]; + char line[1024]; +}; + +struct scx_cgroup_init_args { + u32 weight; + u64 bw_period_us; + u64 bw_quota_us; + u64 bw_burst_us; +}; + +struct scx_cpu_acquire_args {}; + +struct scx_cpu_release_args { + enum scx_cpu_preempt_reason reason; + struct task_struct *task; +}; + +struct scx_dsp_buf_ent { + struct task_struct *task; + long unsigned int qseq; + u64 dsq_id; + u64 enq_flags; +}; + +struct scx_dsp_ctx { + struct rq *rq; + u32 cursor; + u32 nr_tasks; + struct scx_dsp_buf_ent buf[0]; +}; + +struct scx_dump_ctx { + enum scx_exit_kind kind; + s64 exit_code; + const char *reason; + u64 at_ns; + u64 at_jiffies; +}; + +struct scx_dump_data { + s32 cpu; + bool first; + s32 cursor; + struct seq_buf *s; + const char *prefix; + struct scx_bstr_buf buf; +}; + +struct scx_event_stats { + s64 SCX_EV_SELECT_CPU_FALLBACK; + s64 SCX_EV_DISPATCH_LOCAL_DSQ_OFFLINE; + s64 SCX_EV_DISPATCH_KEEP_LAST; + s64 SCX_EV_ENQ_SKIP_EXITING; + s64 SCX_EV_ENQ_SKIP_MIGRATION_DISABLED; + s64 SCX_EV_REFILL_SLICE_DFL; + s64 SCX_EV_BYPASS_DURATION; + s64 SCX_EV_BYPASS_DISPATCH; + s64 SCX_EV_BYPASS_ACTIVATE; +}; + +struct scx_exit_info { + enum scx_exit_kind kind; + s64 exit_code; + const char *reason; + long unsigned int *bt; + u32 bt_len; + char *msg; + char *dump; +}; + +struct scx_exit_task_args { + bool cancelled; +}; + +struct scx_idle_cpus { + cpumask_var_t cpu; + cpumask_var_t smt; +}; + +struct scx_init_task_args { + bool fork; + struct cgroup *cgroup; +}; + +struct scx_kick_pseqs { + struct callback_head rcu; + long unsigned int seqs[0]; +}; + +struct scx_sched_pcpu; + +struct scx_sched { + struct sched_ext_ops ops; + long unsigned int has_op[1]; + struct rhashtable dsq_hash; + struct scx_dispatch_q **global_dsqs; + struct scx_sched_pcpu *pcpu; + bool warned_zero_slice; + atomic_t exit_kind; + struct scx_exit_info *exit_info; + struct kobject kobj; + struct kthread_worker *helper; + struct irq_work error_irq_work; + struct kthread_work disable_work; + struct rcu_work rcu_work; +}; + +struct scx_sched_pcpu { + struct scx_event_stats event_stats; +}; + +struct scx_task_group { + u32 flags; + u32 weight; + u64 bw_period_us; + u64 bw_quota_us; + u64 bw_burst_us; +}; + +struct scx_task_iter { + struct sched_ext_entity cursor; + struct task_struct *locked; + struct rq *rq; + struct rq_flags rf; + u32 cnt; +}; + +struct sd_app_op_cond_busy_data { + struct mmc_host *host; + u32 ocr; + struct mmc_command *cmd; +}; + +struct sd_busy_data { + struct mmc_card *card; + u8 *reg_buf; +}; + +struct sd_flag_debug { + unsigned int meta_flags; + char *name; +}; + +struct sd_flow_limit { + struct callback_head rcu; + unsigned int count; + u8 log_buckets; + unsigned int history_head; + u16 history[128]; + u8 buckets[0]; +}; + +struct sg_lb_stats { + long unsigned int avg_load; + long unsigned int group_load; + long unsigned int group_capacity; + long unsigned int group_util; + long unsigned int group_runnable; + unsigned int sum_nr_running; + unsigned int sum_h_nr_running; + unsigned int idle_cpus; + unsigned int group_weight; + enum group_type group_type; + unsigned int group_asym_packing; + unsigned int group_smt_balance; + long unsigned int group_misfit_task_load; + unsigned int nr_numa_running; + unsigned int nr_preferred_running; +}; + +struct sd_lb_stats { + struct sched_group *busiest; + struct sched_group *local; + long unsigned int total_load; + long unsigned int total_capacity; + long unsigned int avg_load; + unsigned int prefer_sibling; + struct sg_lb_stats busiest_stat; + struct sg_lb_stats local_stat; +}; + +struct sd_uhs2_wait_active_state_data { + struct mmc_host *host; + struct mmc_command *cmd; +}; + +struct shash_desc { + struct crypto_shash *tfm; + void *__ctx[0]; +}; + +struct sdesc { + struct shash_desc shash; + char ctx[0]; +}; + +struct sdio_device_id { + __u8 class; + __u16 vendor; + __u16 device; + kernel_ulong_t driver_data; +}; + +struct sdio_driver { + char *name; + const struct sdio_device_id *id_table; + int (*probe)(struct sdio_func *, const struct sdio_device_id *); + void (*remove)(struct sdio_func *); + struct device_driver drv; +}; + +typedef void sdio_irq_handler_t(struct sdio_func *); + +struct sdio_func { + struct mmc_card *card; + struct device dev; + sdio_irq_handler_t *irq_handler; + unsigned int num; + unsigned char class; + short unsigned int vendor; + short unsigned int device; + unsigned int max_blksize; + unsigned int cur_blksize; + unsigned int enable_timeout; + unsigned int state; + u8 *tmpbuf; + u8 major_rev; + u8 minor_rev; + unsigned int num_info; + const char **info; + struct sdio_func_tuple *tuples; +}; + +struct sdio_func_tuple { + struct sdio_func_tuple *next; + unsigned char code; + unsigned char size; + unsigned char data[0]; +}; + +struct xfrm_offload { + struct { + __u32 low; + __u32 hi; + } seq; + __u32 flags; + __u32 status; + __u32 orig_mac_len; + __u8 proto; + __u8 inner_ipproto; +}; + +struct sec_path { + int len; + int olen; + int verified_cnt; + struct xfrm_state *xvec[6]; + struct xfrm_offload ovec[1]; +}; + +struct seccomp_filter; + +struct seccomp { + int mode; + atomic_t filter_count; + struct seccomp_filter *filter; +}; + +struct seccomp_data { + int nr; + __u32 arch; + __u64 instruction_pointer; + __u64 args[6]; +}; + +struct seccomp_filter { + refcount_t refs; + refcount_t users; + bool log; + bool wait_killable_recv; + struct action_cache cache; + struct seccomp_filter *prev; + struct bpf_prog *prog; + struct notification *notif; + struct mutex notify_lock; + wait_queue_head_t wqh; +}; + +struct seccomp_kaddfd { + struct file *file; + int fd; + unsigned int flags; + __u32 ioctl_flags; + union { + bool setfd; + int ret; + }; + struct completion completion; + struct list_head list; +}; + +struct seccomp_knotif { + struct task_struct *task; + u64 id; + const struct seccomp_data *data; + enum notify_state state; + int error; + long int val; + u32 flags; + struct completion ready; + struct list_head list; + struct list_head addfd; +}; + +struct seccomp_log_name { + u32 log; + const char *name; +}; + +struct seccomp_metadata { + __u64 filter_off; + __u64 flags; +}; + +struct seccomp_notif { + __u64 id; + __u32 pid; + __u32 flags; + struct seccomp_data data; +}; + +struct seccomp_notif_addfd { + __u64 id; + __u32 flags; + __u32 srcfd; + __u32 newfd; + __u32 newfd_flags; +}; + +struct seccomp_notif_resp { + __u64 id; + __s64 val; + __s32 error; + __u32 flags; +}; + +struct seccomp_notif_sizes { + __u16 seccomp_notif; + __u16 seccomp_notif_resp; + __u16 seccomp_data; +}; + +struct secrets_os_area { + u32 msg_seqno_0; + u32 msg_seqno_1; + u32 msg_seqno_2; + u32 msg_seqno_3; + u64 ap_jump_table_pa; + u8 rsvd[40]; + u8 guest_usage[32]; +}; + +struct section_header { + char name[8]; + uint32_t virtual_size; + uint32_t virtual_address; + uint32_t raw_data_size; + uint32_t data_addr; + uint32_t relocs; + uint32_t line_numbers; + uint16_t num_relocs; + uint16_t num_lin_numbers; + uint32_t flags; +}; + +struct security_class_mapping { + const char *name; + const char *perms[33]; +}; + +struct security_hook_heads { + struct hlist_head binder_set_context_mgr; + struct hlist_head binder_transaction; + struct hlist_head binder_transfer_binder; + struct hlist_head binder_transfer_file; + struct hlist_head ptrace_access_check; + struct hlist_head ptrace_traceme; + struct hlist_head capget; + struct hlist_head capset; + struct hlist_head capable; + struct hlist_head quotactl; + struct hlist_head quota_on; + struct hlist_head syslog; + struct hlist_head settime; + struct hlist_head vm_enough_memory; + struct hlist_head bprm_creds_for_exec; + struct hlist_head bprm_creds_from_file; + struct hlist_head bprm_check_security; + struct hlist_head bprm_committing_creds; + struct hlist_head bprm_committed_creds; + struct hlist_head fs_context_submount; + struct hlist_head fs_context_dup; + struct hlist_head fs_context_parse_param; + struct hlist_head sb_alloc_security; + struct hlist_head sb_delete; + struct hlist_head sb_free_security; + struct hlist_head sb_free_mnt_opts; + struct hlist_head sb_eat_lsm_opts; + struct hlist_head sb_mnt_opts_compat; + struct hlist_head sb_remount; + struct hlist_head sb_kern_mount; + struct hlist_head sb_show_options; + struct hlist_head sb_statfs; + struct hlist_head sb_mount; + struct hlist_head sb_umount; + struct hlist_head sb_pivotroot; + struct hlist_head sb_set_mnt_opts; + struct hlist_head sb_clone_mnt_opts; + struct hlist_head move_mount; + struct hlist_head dentry_init_security; + struct hlist_head dentry_create_files_as; + struct hlist_head path_unlink; + struct hlist_head path_mkdir; + struct hlist_head path_rmdir; + struct hlist_head path_mknod; + struct hlist_head path_post_mknod; + struct hlist_head path_truncate; + struct hlist_head path_symlink; + struct hlist_head path_link; + struct hlist_head path_rename; + struct hlist_head path_chmod; + struct hlist_head path_chown; + struct hlist_head path_chroot; + struct hlist_head path_notify; + struct hlist_head inode_alloc_security; + struct hlist_head inode_free_security; + struct hlist_head inode_free_security_rcu; + struct hlist_head inode_init_security; + struct hlist_head inode_init_security_anon; + struct hlist_head inode_create; + struct hlist_head inode_post_create_tmpfile; + struct hlist_head inode_link; + struct hlist_head inode_unlink; + struct hlist_head inode_symlink; + struct hlist_head inode_mkdir; + struct hlist_head inode_rmdir; + struct hlist_head inode_mknod; + struct hlist_head inode_rename; + struct hlist_head inode_readlink; + struct hlist_head inode_follow_link; + struct hlist_head inode_permission; + struct hlist_head inode_setattr; + struct hlist_head inode_post_setattr; + struct hlist_head inode_getattr; + struct hlist_head inode_xattr_skipcap; + struct hlist_head inode_setxattr; + struct hlist_head inode_post_setxattr; + struct hlist_head inode_getxattr; + struct hlist_head inode_listxattr; + struct hlist_head inode_removexattr; + struct hlist_head inode_post_removexattr; + struct hlist_head inode_file_setattr; + struct hlist_head inode_file_getattr; + struct hlist_head inode_set_acl; + struct hlist_head inode_post_set_acl; + struct hlist_head inode_get_acl; + struct hlist_head inode_remove_acl; + struct hlist_head inode_post_remove_acl; + struct hlist_head inode_need_killpriv; + struct hlist_head inode_killpriv; + struct hlist_head inode_getsecurity; + struct hlist_head inode_setsecurity; + struct hlist_head inode_listsecurity; + struct hlist_head inode_getlsmprop; + struct hlist_head inode_copy_up; + struct hlist_head inode_copy_up_xattr; + struct hlist_head inode_setintegrity; + struct hlist_head kernfs_init_security; + struct hlist_head file_permission; + struct hlist_head file_alloc_security; + struct hlist_head file_release; + struct hlist_head file_free_security; + struct hlist_head file_ioctl; + struct hlist_head file_ioctl_compat; + struct hlist_head mmap_addr; + struct hlist_head mmap_file; + struct hlist_head file_mprotect; + struct hlist_head file_lock; + struct hlist_head file_fcntl; + struct hlist_head file_set_fowner; + struct hlist_head file_send_sigiotask; + struct hlist_head file_receive; + struct hlist_head file_open; + struct hlist_head file_post_open; + struct hlist_head file_truncate; + struct hlist_head task_alloc; + struct hlist_head task_free; + struct hlist_head cred_alloc_blank; + struct hlist_head cred_free; + struct hlist_head cred_prepare; + struct hlist_head cred_transfer; + struct hlist_head cred_getsecid; + struct hlist_head cred_getlsmprop; + struct hlist_head kernel_act_as; + struct hlist_head kernel_create_files_as; + struct hlist_head kernel_module_request; + struct hlist_head kernel_load_data; + struct hlist_head kernel_post_load_data; + struct hlist_head kernel_read_file; + struct hlist_head kernel_post_read_file; + struct hlist_head task_fix_setuid; + struct hlist_head task_fix_setgid; + struct hlist_head task_fix_setgroups; + struct hlist_head task_setpgid; + struct hlist_head task_getpgid; + struct hlist_head task_getsid; + struct hlist_head current_getlsmprop_subj; + struct hlist_head task_getlsmprop_obj; + struct hlist_head task_setnice; + struct hlist_head task_setioprio; + struct hlist_head task_getioprio; + struct hlist_head task_prlimit; + struct hlist_head task_setrlimit; + struct hlist_head task_setscheduler; + struct hlist_head task_getscheduler; + struct hlist_head task_movememory; + struct hlist_head task_kill; + struct hlist_head task_prctl; + struct hlist_head task_to_inode; + struct hlist_head userns_create; + struct hlist_head ipc_permission; + struct hlist_head ipc_getlsmprop; + struct hlist_head msg_msg_alloc_security; + struct hlist_head msg_msg_free_security; + struct hlist_head msg_queue_alloc_security; + struct hlist_head msg_queue_free_security; + struct hlist_head msg_queue_associate; + struct hlist_head msg_queue_msgctl; + struct hlist_head msg_queue_msgsnd; + struct hlist_head msg_queue_msgrcv; + struct hlist_head shm_alloc_security; + struct hlist_head shm_free_security; + struct hlist_head shm_associate; + struct hlist_head shm_shmctl; + struct hlist_head shm_shmat; + struct hlist_head sem_alloc_security; + struct hlist_head sem_free_security; + struct hlist_head sem_associate; + struct hlist_head sem_semctl; + struct hlist_head sem_semop; + struct hlist_head netlink_send; + struct hlist_head d_instantiate; + struct hlist_head getselfattr; + struct hlist_head setselfattr; + struct hlist_head getprocattr; + struct hlist_head setprocattr; + struct hlist_head ismaclabel; + struct hlist_head secid_to_secctx; + struct hlist_head lsmprop_to_secctx; + struct hlist_head secctx_to_secid; + struct hlist_head release_secctx; + struct hlist_head inode_invalidate_secctx; + struct hlist_head inode_notifysecctx; + struct hlist_head inode_setsecctx; + struct hlist_head inode_getsecctx; + struct hlist_head post_notification; + struct hlist_head watch_key; + struct hlist_head unix_stream_connect; + struct hlist_head unix_may_send; + struct hlist_head socket_create; + struct hlist_head socket_post_create; + struct hlist_head socket_socketpair; + struct hlist_head socket_bind; + struct hlist_head socket_connect; + struct hlist_head socket_listen; + struct hlist_head socket_accept; + struct hlist_head socket_sendmsg; + struct hlist_head socket_recvmsg; + struct hlist_head socket_getsockname; + struct hlist_head socket_getpeername; + struct hlist_head socket_getsockopt; + struct hlist_head socket_setsockopt; + struct hlist_head socket_shutdown; + struct hlist_head socket_sock_rcv_skb; + struct hlist_head socket_getpeersec_stream; + struct hlist_head socket_getpeersec_dgram; + struct hlist_head sk_alloc_security; + struct hlist_head sk_free_security; + struct hlist_head sk_clone_security; + struct hlist_head sk_getsecid; + struct hlist_head sock_graft; + struct hlist_head inet_conn_request; + struct hlist_head inet_csk_clone; + struct hlist_head inet_conn_established; + struct hlist_head secmark_relabel_packet; + struct hlist_head secmark_refcount_inc; + struct hlist_head secmark_refcount_dec; + struct hlist_head req_classify_flow; + struct hlist_head tun_dev_alloc_security; + struct hlist_head tun_dev_create; + struct hlist_head tun_dev_attach_queue; + struct hlist_head tun_dev_attach; + struct hlist_head tun_dev_open; + struct hlist_head sctp_assoc_request; + struct hlist_head sctp_bind_connect; + struct hlist_head sctp_sk_clone; + struct hlist_head sctp_assoc_established; + struct hlist_head mptcp_add_subflow; + struct hlist_head ib_pkey_access; + struct hlist_head ib_endport_manage_subnet; + struct hlist_head ib_alloc_security; + struct hlist_head xfrm_policy_alloc_security; + struct hlist_head xfrm_policy_clone_security; + struct hlist_head xfrm_policy_free_security; + struct hlist_head xfrm_policy_delete_security; + struct hlist_head xfrm_state_alloc; + struct hlist_head xfrm_state_alloc_acquire; + struct hlist_head xfrm_state_free_security; + struct hlist_head xfrm_state_delete_security; + struct hlist_head xfrm_policy_lookup; + struct hlist_head xfrm_state_pol_flow_match; + struct hlist_head xfrm_decode_session; + struct hlist_head key_alloc; + struct hlist_head key_permission; + struct hlist_head key_getsecurity; + struct hlist_head key_post_create_or_update; + struct hlist_head audit_rule_init; + struct hlist_head audit_rule_known; + struct hlist_head audit_rule_match; + struct hlist_head audit_rule_free; + struct hlist_head bpf; + struct hlist_head bpf_map; + struct hlist_head bpf_prog; + struct hlist_head bpf_map_create; + struct hlist_head bpf_map_free; + struct hlist_head bpf_prog_load; + struct hlist_head bpf_prog_free; + struct hlist_head bpf_token_create; + struct hlist_head bpf_token_free; + struct hlist_head bpf_token_cmd; + struct hlist_head bpf_token_capable; + struct hlist_head locked_down; + struct hlist_head lock_kernel_down; + struct hlist_head perf_event_open; + struct hlist_head perf_event_alloc; + struct hlist_head perf_event_read; + struct hlist_head perf_event_write; + struct hlist_head uring_override_creds; + struct hlist_head uring_sqpoll; + struct hlist_head uring_cmd; + struct hlist_head uring_allowed; + struct hlist_head initramfs_populated; + struct hlist_head bdev_alloc_security; + struct hlist_head bdev_free_security; + struct hlist_head bdev_setintegrity; +}; + +struct timezone; + +struct xattr; + +struct sembuf; + +struct xfrm_sec_ctx; + +struct xfrm_user_sec_ctx; + +union security_list_options { + int (*binder_set_context_mgr)(const struct cred *); + int (*binder_transaction)(const struct cred *, const struct cred *); + int (*binder_transfer_binder)(const struct cred *, const struct cred *); + int (*binder_transfer_file)(const struct cred *, const struct cred *, const struct file *); + int (*ptrace_access_check)(struct task_struct *, unsigned int); + int (*ptrace_traceme)(struct task_struct *); + int (*capget)(const struct task_struct *, kernel_cap_t *, kernel_cap_t *, kernel_cap_t *); + int (*capset)(struct cred *, const struct cred *, const kernel_cap_t *, const kernel_cap_t *, const kernel_cap_t *); + int (*capable)(const struct cred *, struct user_namespace *, int, unsigned int); + int (*quotactl)(int, int, int, const struct super_block *); + int (*quota_on)(struct dentry *); + int (*syslog)(int); + int (*settime)(const struct timespec64 *, const struct timezone *); + int (*vm_enough_memory)(struct mm_struct *, long int); + int (*bprm_creds_for_exec)(struct linux_binprm *); + int (*bprm_creds_from_file)(struct linux_binprm *, const struct file *); + int (*bprm_check_security)(struct linux_binprm *); + void (*bprm_committing_creds)(const struct linux_binprm *); + void (*bprm_committed_creds)(const struct linux_binprm *); + int (*fs_context_submount)(struct fs_context *, struct super_block *); + int (*fs_context_dup)(struct fs_context *, struct fs_context *); + int (*fs_context_parse_param)(struct fs_context *, struct fs_parameter *); + int (*sb_alloc_security)(struct super_block *); + void (*sb_delete)(struct super_block *); + void (*sb_free_security)(struct super_block *); + void (*sb_free_mnt_opts)(void *); + int (*sb_eat_lsm_opts)(char *, void **); + int (*sb_mnt_opts_compat)(struct super_block *, void *); + int (*sb_remount)(struct super_block *, void *); + int (*sb_kern_mount)(const struct super_block *); + int (*sb_show_options)(struct seq_file *, struct super_block *); + int (*sb_statfs)(struct dentry *); + int (*sb_mount)(const char *, const struct path *, const char *, long unsigned int, void *); + int (*sb_umount)(struct vfsmount *, int); + int (*sb_pivotroot)(const struct path *, const struct path *); + int (*sb_set_mnt_opts)(struct super_block *, void *, long unsigned int, long unsigned int *); + int (*sb_clone_mnt_opts)(const struct super_block *, struct super_block *, long unsigned int, long unsigned int *); + int (*move_mount)(const struct path *, const struct path *); + int (*dentry_init_security)(struct dentry *, int, const struct qstr *, const char **, struct lsm_context *); + int (*dentry_create_files_as)(struct dentry *, int, struct qstr *, const struct cred *, struct cred *); + int (*path_unlink)(const struct path *, struct dentry *); + int (*path_mkdir)(const struct path *, struct dentry *, umode_t); + int (*path_rmdir)(const struct path *, struct dentry *); + int (*path_mknod)(const struct path *, struct dentry *, umode_t, unsigned int); + void (*path_post_mknod)(struct mnt_idmap *, struct dentry *); + int (*path_truncate)(const struct path *); + int (*path_symlink)(const struct path *, struct dentry *, const char *); + int (*path_link)(struct dentry *, const struct path *, struct dentry *); + int (*path_rename)(const struct path *, struct dentry *, const struct path *, struct dentry *, unsigned int); + int (*path_chmod)(const struct path *, umode_t); + int (*path_chown)(const struct path *, kuid_t, kgid_t); + int (*path_chroot)(const struct path *); + int (*path_notify)(const struct path *, u64, unsigned int); + int (*inode_alloc_security)(struct inode *); + void (*inode_free_security)(struct inode *); + void (*inode_free_security_rcu)(void *); + int (*inode_init_security)(struct inode *, struct inode *, const struct qstr *, struct xattr *, int *); + int (*inode_init_security_anon)(struct inode *, const struct qstr *, const struct inode *); + int (*inode_create)(struct inode *, struct dentry *, umode_t); + void (*inode_post_create_tmpfile)(struct mnt_idmap *, struct inode *); + int (*inode_link)(struct dentry *, struct inode *, struct dentry *); + int (*inode_unlink)(struct inode *, struct dentry *); + int (*inode_symlink)(struct inode *, struct dentry *, const char *); + int (*inode_mkdir)(struct inode *, struct dentry *, umode_t); + int (*inode_rmdir)(struct inode *, struct dentry *); + int (*inode_mknod)(struct inode *, struct dentry *, umode_t, dev_t); + int (*inode_rename)(struct inode *, struct dentry *, struct inode *, struct dentry *); + int (*inode_readlink)(struct dentry *); + int (*inode_follow_link)(struct dentry *, struct inode *, bool); + int (*inode_permission)(struct inode *, int); + int (*inode_setattr)(struct mnt_idmap *, struct dentry *, struct iattr *); + void (*inode_post_setattr)(struct mnt_idmap *, struct dentry *, int); + int (*inode_getattr)(const struct path *); + int (*inode_xattr_skipcap)(const char *); + int (*inode_setxattr)(struct mnt_idmap *, struct dentry *, const char *, const void *, size_t, int); + void (*inode_post_setxattr)(struct dentry *, const char *, const void *, size_t, int); + int (*inode_getxattr)(struct dentry *, const char *); + int (*inode_listxattr)(struct dentry *); + int (*inode_removexattr)(struct mnt_idmap *, struct dentry *, const char *); + void (*inode_post_removexattr)(struct dentry *, const char *); + int (*inode_file_setattr)(struct dentry *, struct file_kattr *); + int (*inode_file_getattr)(struct dentry *, struct file_kattr *); + int (*inode_set_acl)(struct mnt_idmap *, struct dentry *, const char *, struct posix_acl *); + void (*inode_post_set_acl)(struct dentry *, const char *, struct posix_acl *); + int (*inode_get_acl)(struct mnt_idmap *, struct dentry *, const char *); + int (*inode_remove_acl)(struct mnt_idmap *, struct dentry *, const char *); + void (*inode_post_remove_acl)(struct mnt_idmap *, struct dentry *, const char *); + int (*inode_need_killpriv)(struct dentry *); + int (*inode_killpriv)(struct mnt_idmap *, struct dentry *); + int (*inode_getsecurity)(struct mnt_idmap *, struct inode *, const char *, void **, bool); + int (*inode_setsecurity)(struct inode *, const char *, const void *, size_t, int); + int (*inode_listsecurity)(struct inode *, char *, size_t); + void (*inode_getlsmprop)(struct inode *, struct lsm_prop *); + int (*inode_copy_up)(struct dentry *, struct cred **); + int (*inode_copy_up_xattr)(struct dentry *, const char *); + int (*inode_setintegrity)(const struct inode *, enum lsm_integrity_type, const void *, size_t); + int (*kernfs_init_security)(struct kernfs_node *, struct kernfs_node *); + int (*file_permission)(struct file *, int); + int (*file_alloc_security)(struct file *); + void (*file_release)(struct file *); + void (*file_free_security)(struct file *); + int (*file_ioctl)(struct file *, unsigned int, long unsigned int); + int (*file_ioctl_compat)(struct file *, unsigned int, long unsigned int); + int (*mmap_addr)(long unsigned int); + int (*mmap_file)(struct file *, long unsigned int, long unsigned int, long unsigned int); + int (*file_mprotect)(struct vm_area_struct *, long unsigned int, long unsigned int); + int (*file_lock)(struct file *, unsigned int); + int (*file_fcntl)(struct file *, unsigned int, long unsigned int); + void (*file_set_fowner)(struct file *); + int (*file_send_sigiotask)(struct task_struct *, struct fown_struct *, int); + int (*file_receive)(struct file *); + int (*file_open)(struct file *); + int (*file_post_open)(struct file *, int); + int (*file_truncate)(struct file *); + int (*task_alloc)(struct task_struct *, long unsigned int); + void (*task_free)(struct task_struct *); + int (*cred_alloc_blank)(struct cred *, gfp_t); + void (*cred_free)(struct cred *); + int (*cred_prepare)(struct cred *, const struct cred *, gfp_t); + void (*cred_transfer)(struct cred *, const struct cred *); + void (*cred_getsecid)(const struct cred *, u32 *); + void (*cred_getlsmprop)(const struct cred *, struct lsm_prop *); + int (*kernel_act_as)(struct cred *, u32); + int (*kernel_create_files_as)(struct cred *, struct inode *); + int (*kernel_module_request)(char *); + int (*kernel_load_data)(enum kernel_load_data_id, bool); + int (*kernel_post_load_data)(char *, loff_t, enum kernel_load_data_id, char *); + int (*kernel_read_file)(struct file *, enum kernel_read_file_id, bool); + int (*kernel_post_read_file)(struct file *, char *, loff_t, enum kernel_read_file_id); + int (*task_fix_setuid)(struct cred *, const struct cred *, int); + int (*task_fix_setgid)(struct cred *, const struct cred *, int); + int (*task_fix_setgroups)(struct cred *, const struct cred *); + int (*task_setpgid)(struct task_struct *, pid_t); + int (*task_getpgid)(struct task_struct *); + int (*task_getsid)(struct task_struct *); + void (*current_getlsmprop_subj)(struct lsm_prop *); + void (*task_getlsmprop_obj)(struct task_struct *, struct lsm_prop *); + int (*task_setnice)(struct task_struct *, int); + int (*task_setioprio)(struct task_struct *, int); + int (*task_getioprio)(struct task_struct *); + int (*task_prlimit)(const struct cred *, const struct cred *, unsigned int); + int (*task_setrlimit)(struct task_struct *, unsigned int, struct rlimit *); + int (*task_setscheduler)(struct task_struct *); + int (*task_getscheduler)(struct task_struct *); + int (*task_movememory)(struct task_struct *); + int (*task_kill)(struct task_struct *, struct kernel_siginfo *, int, const struct cred *); + int (*task_prctl)(int, long unsigned int, long unsigned int, long unsigned int, long unsigned int); + void (*task_to_inode)(struct task_struct *, struct inode *); + int (*userns_create)(const struct cred *); + int (*ipc_permission)(struct kern_ipc_perm *, short int); + void (*ipc_getlsmprop)(struct kern_ipc_perm *, struct lsm_prop *); + int (*msg_msg_alloc_security)(struct msg_msg *); + void (*msg_msg_free_security)(struct msg_msg *); + int (*msg_queue_alloc_security)(struct kern_ipc_perm *); + void (*msg_queue_free_security)(struct kern_ipc_perm *); + int (*msg_queue_associate)(struct kern_ipc_perm *, int); + int (*msg_queue_msgctl)(struct kern_ipc_perm *, int); + int (*msg_queue_msgsnd)(struct kern_ipc_perm *, struct msg_msg *, int); + int (*msg_queue_msgrcv)(struct kern_ipc_perm *, struct msg_msg *, struct task_struct *, long int, int); + int (*shm_alloc_security)(struct kern_ipc_perm *); + void (*shm_free_security)(struct kern_ipc_perm *); + int (*shm_associate)(struct kern_ipc_perm *, int); + int (*shm_shmctl)(struct kern_ipc_perm *, int); + int (*shm_shmat)(struct kern_ipc_perm *, char *, int); + int (*sem_alloc_security)(struct kern_ipc_perm *); + void (*sem_free_security)(struct kern_ipc_perm *); + int (*sem_associate)(struct kern_ipc_perm *, int); + int (*sem_semctl)(struct kern_ipc_perm *, int); + int (*sem_semop)(struct kern_ipc_perm *, struct sembuf *, unsigned int, int); + int (*netlink_send)(struct sock *, struct sk_buff *); + void (*d_instantiate)(struct dentry *, struct inode *); + int (*getselfattr)(unsigned int, struct lsm_ctx *, u32 *, u32); + int (*setselfattr)(unsigned int, struct lsm_ctx *, u32, u32); + int (*getprocattr)(struct task_struct *, const char *, char **); + int (*setprocattr)(const char *, void *, size_t); + int (*ismaclabel)(const char *); + int (*secid_to_secctx)(u32, struct lsm_context *); + int (*lsmprop_to_secctx)(struct lsm_prop *, struct lsm_context *); + int (*secctx_to_secid)(const char *, u32, u32 *); + void (*release_secctx)(struct lsm_context *); + void (*inode_invalidate_secctx)(struct inode *); + int (*inode_notifysecctx)(struct inode *, void *, u32); + int (*inode_setsecctx)(struct dentry *, void *, u32); + int (*inode_getsecctx)(struct inode *, struct lsm_context *); + int (*post_notification)(const struct cred *, const struct cred *, struct watch_notification *); + int (*watch_key)(struct key *); + int (*unix_stream_connect)(struct sock *, struct sock *, struct sock *); + int (*unix_may_send)(struct socket *, struct socket *); + int (*socket_create)(int, int, int, int); + int (*socket_post_create)(struct socket *, int, int, int, int); + int (*socket_socketpair)(struct socket *, struct socket *); + int (*socket_bind)(struct socket *, struct sockaddr *, int); + int (*socket_connect)(struct socket *, struct sockaddr *, int); + int (*socket_listen)(struct socket *, int); + int (*socket_accept)(struct socket *, struct socket *); + int (*socket_sendmsg)(struct socket *, struct msghdr *, int); + int (*socket_recvmsg)(struct socket *, struct msghdr *, int, int); + int (*socket_getsockname)(struct socket *); + int (*socket_getpeername)(struct socket *); + int (*socket_getsockopt)(struct socket *, int, int); + int (*socket_setsockopt)(struct socket *, int, int); + int (*socket_shutdown)(struct socket *, int); + int (*socket_sock_rcv_skb)(struct sock *, struct sk_buff *); + int (*socket_getpeersec_stream)(struct socket *, sockptr_t, sockptr_t, unsigned int); + int (*socket_getpeersec_dgram)(struct socket *, struct sk_buff *, u32 *); + int (*sk_alloc_security)(struct sock *, int, gfp_t); + void (*sk_free_security)(struct sock *); + void (*sk_clone_security)(const struct sock *, struct sock *); + void (*sk_getsecid)(const struct sock *, u32 *); + void (*sock_graft)(struct sock *, struct socket *); + int (*inet_conn_request)(const struct sock *, struct sk_buff *, struct request_sock *); + void (*inet_csk_clone)(struct sock *, const struct request_sock *); + void (*inet_conn_established)(struct sock *, struct sk_buff *); + int (*secmark_relabel_packet)(u32); + void (*secmark_refcount_inc)(void); + void (*secmark_refcount_dec)(void); + void (*req_classify_flow)(const struct request_sock *, struct flowi_common *); + int (*tun_dev_alloc_security)(void *); + int (*tun_dev_create)(void); + int (*tun_dev_attach_queue)(void *); + int (*tun_dev_attach)(struct sock *, void *); + int (*tun_dev_open)(void *); + int (*sctp_assoc_request)(struct sctp_association *, struct sk_buff *); + int (*sctp_bind_connect)(struct sock *, int, struct sockaddr *, int); + void (*sctp_sk_clone)(struct sctp_association *, struct sock *, struct sock *); + int (*sctp_assoc_established)(struct sctp_association *, struct sk_buff *); + int (*mptcp_add_subflow)(struct sock *, struct sock *); + int (*ib_pkey_access)(void *, u64, u16); + int (*ib_endport_manage_subnet)(void *, const char *, u8); + int (*ib_alloc_security)(void *); + int (*xfrm_policy_alloc_security)(struct xfrm_sec_ctx **, struct xfrm_user_sec_ctx *, gfp_t); + int (*xfrm_policy_clone_security)(struct xfrm_sec_ctx *, struct xfrm_sec_ctx **); + void (*xfrm_policy_free_security)(struct xfrm_sec_ctx *); + int (*xfrm_policy_delete_security)(struct xfrm_sec_ctx *); + int (*xfrm_state_alloc)(struct xfrm_state *, struct xfrm_user_sec_ctx *); + int (*xfrm_state_alloc_acquire)(struct xfrm_state *, struct xfrm_sec_ctx *, u32); + void (*xfrm_state_free_security)(struct xfrm_state *); + int (*xfrm_state_delete_security)(struct xfrm_state *); + int (*xfrm_policy_lookup)(struct xfrm_sec_ctx *, u32); + int (*xfrm_state_pol_flow_match)(struct xfrm_state *, struct xfrm_policy *, const struct flowi_common *); + int (*xfrm_decode_session)(struct sk_buff *, u32 *, int); + int (*key_alloc)(struct key *, const struct cred *, long unsigned int); + int (*key_permission)(key_ref_t, const struct cred *, enum key_need_perm); + int (*key_getsecurity)(struct key *, char **); + void (*key_post_create_or_update)(struct key *, struct key *, const void *, size_t, long unsigned int, bool); + int (*audit_rule_init)(u32, u32, char *, void **, gfp_t); + int (*audit_rule_known)(struct audit_krule *); + int (*audit_rule_match)(struct lsm_prop *, u32, u32, void *); + void (*audit_rule_free)(void *); + int (*bpf)(int, union bpf_attr *, unsigned int, bool); + int (*bpf_map)(struct bpf_map *, fmode_t); + int (*bpf_prog)(struct bpf_prog *); + int (*bpf_map_create)(struct bpf_map *, union bpf_attr *, struct bpf_token *, bool); + void (*bpf_map_free)(struct bpf_map *); + int (*bpf_prog_load)(struct bpf_prog *, union bpf_attr *, struct bpf_token *, bool); + void (*bpf_prog_free)(struct bpf_prog *); + int (*bpf_token_create)(struct bpf_token *, union bpf_attr *, const struct path *); + void (*bpf_token_free)(struct bpf_token *); + int (*bpf_token_cmd)(const struct bpf_token *, enum bpf_cmd); + int (*bpf_token_capable)(const struct bpf_token *, int); + int (*locked_down)(enum lockdown_reason); + int (*lock_kernel_down)(const char *, enum lockdown_reason); + int (*perf_event_open)(int); + int (*perf_event_alloc)(struct perf_event *); + int (*perf_event_read)(struct perf_event *); + int (*perf_event_write)(struct perf_event *); + int (*uring_override_creds)(const struct cred *); + int (*uring_sqpoll)(void); + int (*uring_cmd)(struct io_uring_cmd *); + int (*uring_allowed)(void); + void (*initramfs_populated)(void); + int (*bdev_alloc_security)(struct block_device *); + void (*bdev_free_security)(struct block_device *); + int (*bdev_setintegrity)(struct block_device *, enum lsm_integrity_type, const void *, size_t); +}; + +struct security_hook_list { + struct hlist_node list; + struct hlist_head *head; + union security_list_options hook; + const struct lsm_id *lsmid; +}; + +struct seg6_local_lwt; + +struct seg6_local_lwtunnel_ops { + int (*build_state)(struct seg6_local_lwt *, const void *, struct netlink_ext_ack *); + void (*destroy_state)(struct seg6_local_lwt *); +}; + +struct seg6_action_desc { + int action; + long unsigned int attrs; + long unsigned int optattrs; + int (*input)(struct sk_buff *, struct seg6_local_lwt *); + int static_headroom; + struct seg6_local_lwtunnel_ops slwt_ops; +}; + +struct seg6_action_param { + int (*parse)(struct nlattr **, struct seg6_local_lwt *, struct netlink_ext_ack *); + int (*put)(struct sk_buff *, struct seg6_local_lwt *); + int (*cmp)(struct seg6_local_lwt *, struct seg6_local_lwt *); + void (*destroy)(struct seg6_local_lwt *); +}; + +struct seg6_bpf_srh_state { + local_lock_t bh_lock; + struct ipv6_sr_hdr *srh; + u16 hdrlen; + bool valid; +}; + +struct seg6_end_dt_info { + enum seg6_end_dt_mode mode; + struct net *net; + int vrf_ifindex; + int vrf_table; + u16 family; +}; + +struct seg6_flavors_info { + __u32 flv_ops; + __u8 lcblock_bits; + __u8 lcnode_func_bits; +}; + +struct seg6_hmac_algo { + u8 alg_id; + char name[64]; + struct crypto_shash **tfms; + struct shash_desc **shashs; +}; + +struct seg6_hmac_info { + struct rhash_head node; + struct callback_head rcu; + u32 hmackeyid; + char secret[64]; + u8 slen; + u8 alg_id; +}; + +struct seg6_iptunnel_encap { + int mode; + struct ipv6_sr_hdr srh[0]; +}; + +struct seg6_local_counters { + __u64 packets; + __u64 bytes; + __u64 errors; +}; + +struct seg6_local_lwt { + int action; + struct ipv6_sr_hdr *srh; + int table; + struct in_addr nh4; + struct in6_addr nh6; + int iif; + int oif; + struct bpf_lwt_prog bpf; + struct seg6_end_dt_info dt_info; + struct seg6_flavors_info flv_info; + struct pcpu_seg6_local_counters *pcpu_counters; + int headroom; + struct seg6_action_desc *desc; + long unsigned int parsed_optattrs; +}; + +struct seg6_lwt { + struct dst_cache cache; + struct seg6_iptunnel_encap tuninfo[0]; +}; + +struct seg6_pernet_data { + struct mutex lock; + struct in6_addr *tun_src; + struct rhashtable hmac_infos; +}; + +struct sel_ib_pkey { + struct pkey_security_struct psec; + struct list_head list; + struct callback_head rcu; +}; + +struct sel_ib_pkey_bkt { + int size; + struct list_head list; +}; + +struct sel_netif { + struct list_head list; + struct netif_security_struct nsec; + struct callback_head callback_head; +}; + +struct sel_netnode { + struct netnode_security_struct nsec; + struct list_head list; + struct callback_head rcu; +}; + +struct sel_netnode_bkt { + unsigned int size; + struct list_head list; +}; + +struct sel_netport { + struct netport_security_struct psec; + struct list_head list; + struct callback_head rcu; +}; + +struct sel_netport_bkt { + int size; + struct list_head list; +}; + +struct select_data { + struct dentry *start; + union { + long int found; + struct dentry *victim; + }; + struct list_head dispose; +}; + +struct selinux_audit_data { + u32 ssid; + u32 tsid; + u16 tclass; + u32 requested; + u32 audited; + u32 denied; + int result; +}; + +struct selinux_audit_rule { + u32 au_seqno; + struct context___2 au_ctxt; +}; + +struct selinux_avc { + unsigned int avc_cache_threshold; + struct avc_cache avc_cache; +}; + +struct selinux_fs_info { + struct dentry *bool_dir; + unsigned int bool_num; + char **bool_pending_names; + int *bool_pending_values; + struct dentry *class_dir; + long unsigned int last_class_ino; + bool policy_opened; + struct dentry *policycap_dir; + long unsigned int last_ino; + struct super_block *sb; +}; + +struct selinux_kernel_status { + u32 version; + u32 sequence; + u32 enforcing; + u32 policyload; + u32 deny_unknown; +}; + +struct selinux_policy; + +struct selinux_policy_convert_data; + +struct selinux_load_state { + struct selinux_policy *policy; + struct selinux_policy_convert_data *convert_data; +}; + +struct selinux_mapping; + +struct selinux_map { + struct selinux_mapping *mapping; + u16 size; +}; + +struct selinux_mapping { + u16 value; + u16 num_perms; + u32 perms[32]; +}; + +struct selinux_mnt_opts { + u32 fscontext_sid; + u32 context_sid; + u32 rootcontext_sid; + u32 defcontext_sid; +}; + +struct sidtab; + +struct selinux_policy { + struct sidtab *sidtab; + struct policydb policydb; + struct selinux_map map; + u32 latest_granting; +}; + +struct sidtab_convert_params { + struct convert_context_args *args; + struct sidtab *target; +}; + +struct selinux_policy_convert_data { + struct convert_context_args args; + struct sidtab_convert_params sidtab_params; +}; + +struct selinux_state { + bool enforcing; + bool initialized; + bool policycap[12]; + struct page *status_page; + struct mutex status_lock; + struct selinux_policy *policy; + struct mutex policy_mutex; +}; + +struct selnl_msg_policyload { + __u32 seqno; +}; + +struct selnl_msg_setenforce { + __s32 val; +}; + +struct sem { + int semval; + struct pid *sempid; + spinlock_t lock; + struct list_head pending_alter; + struct list_head pending_const; + time64_t sem_otime; +}; + +struct sem_array { + struct kern_ipc_perm sem_perm; + time64_t sem_ctime; + struct list_head pending_alter; + struct list_head pending_const; + struct list_head list_id; + int sem_nsems; + int complex_count; + unsigned int use_global_lock; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + struct sem sems[0]; +}; + +struct sem_undo; + +struct sem_queue { + struct list_head list; + struct task_struct *sleeper; + struct sem_undo *undo; + struct pid *pid; + int status; + struct sembuf *sops; + struct sembuf *blocking; + int nsops; + bool alter; + bool dupsop; +}; + +struct sem_undo_list; + +struct sem_undo { + struct list_head list_proc; + struct callback_head rcu; + struct sem_undo_list *ulp; + struct list_head list_id; + int semid; + short int semadj[0]; +}; + +struct sem_undo_list { + refcount_t refcnt; + spinlock_t lock; + struct list_head list_proc; +}; + +struct semaphore_waiter { + struct list_head list; + struct task_struct *task; + bool up; +}; + +struct sembuf { + short unsigned int sem_num; + short int sem_op; + short int sem_flg; +}; + +struct semid64_ds { + struct ipc64_perm sem_perm; + __kernel_long_t sem_otime; + __kernel_ulong_t __unused1; + __kernel_long_t sem_ctime; + __kernel_ulong_t __unused2; + __kernel_ulong_t sem_nsems; + __kernel_ulong_t __unused3; + __kernel_ulong_t __unused4; +}; + +struct semid_ds { + struct ipc_perm sem_perm; + __kernel_old_time_t sem_otime; + __kernel_old_time_t sem_ctime; + struct sem *sem_base; + struct sem_queue *sem_pending; + struct sem_queue **sem_pending_last; + struct sem_undo *undo; + short unsigned int sem_nsems; +}; + +struct seminfo { + int semmap; + int semmni; + int semmns; + int semmnu; + int semmsl; + int semopm; + int semume; + int semusz; + int semvmx; + int semaem; +}; + +struct virtnet_sq_stats { + struct u64_stats_sync syncp; + u64_stats_t packets; + u64_stats_t bytes; + u64_stats_t xdp_tx; + u64_stats_t xdp_tx_drops; + u64_stats_t kicks; + u64_stats_t tx_timeouts; + u64_stats_t stop; + u64_stats_t wake; +}; + +struct send_queue { + struct virtqueue *vq; + struct scatterlist sg[19]; + char name[16]; + struct virtnet_sq_stats stats; + struct virtnet_interrupt_coalesce intr_coal; + struct napi_struct napi; + bool reset; + struct xsk_buff_pool *xsk_pool; + dma_addr_t xsk_hdr_dma_addr; +}; + +struct send_signal_irq_work { + struct irq_work irq_work; + struct task_struct *task; + u32 sig; + enum pid_type type; + bool has_siginfo; + struct kernel_siginfo info; +}; + +struct seq_operations { + void * (*start)(struct seq_file *, loff_t *); + void (*stop)(struct seq_file *, void *); + void * (*next)(struct seq_file *, void *, loff_t *); + int (*show)(struct seq_file *, void *); +}; + +struct seqcount_rwlock { + seqcount_t seqcount; +}; + +typedef struct seqcount_rwlock seqcount_rwlock_t; + +struct serdev_device; + +struct serdev_controller_ops; + +struct serdev_controller { + struct device dev; + struct device *host; + unsigned int nr; + struct serdev_device *serdev; + const struct serdev_controller_ops *ops; +}; + +struct serdev_controller_ops { + ssize_t (*write_buf)(struct serdev_controller *, const u8 *, size_t); + void (*write_flush)(struct serdev_controller *); + int (*open)(struct serdev_controller *); + void (*close)(struct serdev_controller *); + void (*set_flow_control)(struct serdev_controller *, bool); + int (*set_parity)(struct serdev_controller *, enum serdev_parity); + unsigned int (*set_baudrate)(struct serdev_controller *, unsigned int); + void (*wait_until_sent)(struct serdev_controller *, long int); + int (*get_tiocm)(struct serdev_controller *); + int (*set_tiocm)(struct serdev_controller *, unsigned int, unsigned int); + int (*break_ctl)(struct serdev_controller *, unsigned int); +}; + +struct serdev_device_ops; + +struct serdev_device { + struct device dev; + int nr; + struct serdev_controller *ctrl; + const struct serdev_device_ops *ops; + struct completion write_comp; + struct mutex write_lock; +}; + +struct serdev_device_driver { + struct device_driver driver; + int (*probe)(struct serdev_device *); + void (*remove)(struct serdev_device *); +}; + +struct serdev_device_ops { + size_t (*receive_buf)(struct serdev_device *, const u8 *, size_t); + void (*write_wakeup)(struct serdev_device *); +}; + +struct serial8250_config { + const char *name; + short unsigned int fifo_size; + short unsigned int tx_loadsz; + unsigned char fcr; + unsigned char rxtrig_bytes[4]; + unsigned int flags; +}; + +struct serial_ctrl_device { + struct device dev; + struct ida port_ida; +}; + +struct serial_icounter_struct { + int cts; + int dsr; + int rng; + int dcd; + int rx; + int tx; + int frame; + int overrun; + int parity; + int brk; + int buf_overrun; + int reserved[9]; +}; + +struct serial_in_rdev { + struct rb_root_cached serial_rb; + spinlock_t serial_lock; + wait_queue_head_t serial_io_wait; +}; + +struct serial_port_device { + struct device dev; + struct uart_port *port; + unsigned int tx_enabled: 1; +}; + +struct serial_private { + struct pci_dev *dev; + unsigned int nr; + struct pci_serial_quirk *quirk; + const struct pciserial_board *board; + int line[0]; +}; + +struct serial_struct { + int type; + int line; + unsigned int port; + int irq; + int flags; + int xmit_fifo_size; + int custom_divisor; + int baud_base; + short unsigned int close_delay; + char io_type; + char reserved_char[1]; + int hub6; + short unsigned int closing_wait; + short unsigned int closing_wait2; + unsigned char *iomem_base; + short unsigned int iomem_reg_shift; + unsigned int port_high; + long unsigned int iomap_base; +}; + +struct serial_struct32 { + compat_int_t type; + compat_int_t line; + compat_uint_t port; + compat_int_t irq; + compat_int_t flags; + compat_int_t xmit_fifo_size; + compat_int_t custom_divisor; + compat_int_t baud_base; + short unsigned int close_delay; + char io_type; + char reserved_char; + compat_int_t hub6; + short unsigned int closing_wait; + short unsigned int closing_wait2; + compat_uint_t iomem_base; + short unsigned int iomem_reg_shift; + unsigned int port_high; + compat_int_t reserved; +}; + +typedef struct serio *class_serio_pause_rx_t; + +struct serio_device_id { + __u8 type; + __u8 extra; + __u8 id; + __u8 proto; +}; + +struct serio_driver; + +struct serio { + void *port_data; + char name[32]; + char phys[32]; + char firmware_id[128]; + bool manual_bind; + struct serio_device_id id; + spinlock_t lock; + int (*write)(struct serio *, unsigned char); + int (*open)(struct serio *); + void (*close)(struct serio *); + int (*start)(struct serio *); + void (*stop)(struct serio *); + struct serio *parent; + struct list_head child_node; + struct list_head children; + unsigned int depth; + struct serio_driver *drv; + struct mutex drv_mutex; + struct device dev; + struct list_head node; + struct mutex *ps2_cmd_mutex; +}; + +struct serio_driver { + const char *description; + const struct serio_device_id *id_table; + bool manual_bind; + void (*write_wakeup)(struct serio *); + irqreturn_t (*interrupt)(struct serio *, unsigned char, unsigned int); + int (*connect)(struct serio *, struct serio_driver *); + int (*reconnect)(struct serio *); + int (*fast_reconnect)(struct serio *); + void (*disconnect)(struct serio *); + void (*cleanup)(struct serio *); + struct device_driver driver; +}; + +struct serio_event { + enum serio_event_type type; + void *object; + struct module *owner; + struct list_head node; +}; + +struct serport { + struct tty_port *port; + struct tty_struct *tty; + struct tty_driver *tty_drv; + int tty_idx; + long unsigned int flags; +}; + +struct set_affinity_pending { + refcount_t refs; + unsigned int stop_pending; + struct completion done; + struct cpu_stop_work stop_work; + struct migration_arg arg; +}; + +struct set_config_request { + struct usb_device *udev; + int config; + struct work_struct work; + struct list_head node; +}; + +struct set_event_iter { + enum set_event_iter_type type; + union { + struct trace_event_file *file; + struct event_mod_load *event_mod; + }; +}; + +struct set_msi_sid_data { + struct pci_dev *pdev; + u16 alias; + int count; + int busmatch_count; +}; + +struct set_mtrr_data { + long unsigned int smp_base; + long unsigned int smp_size; + unsigned int smp_reg; + mtrr_type smp_type; +}; + +struct setid_rule { + struct hlist_node next; + kid_t src_id; + kid_t dst_id; + enum setid_type type; +}; + +struct setid_ruleset { + struct hlist_head rules[256]; + char *policy_str; + struct callback_head rcu; + enum setid_type type; +}; + +struct setup_indirect { + __u32 type; + __u32 reserved; + __u64 len; + __u64 addr; +}; + +struct setup_rw_req { + unsigned int grant_idx; + struct blkif_request_segment *segments; + struct blkfront_ring_info *rinfo; + struct blkif_request *ring_req; + grant_ref_t gref_head; + unsigned int id; + bool need_copy; + unsigned int bvec_off; + char *bvec_data; + bool require_extra_req; + struct blkif_request *extra_ring_req; +}; + +struct sev_config { + __u64 debug: 1; + __u64 ghcbs_initialized: 1; + __u64 use_cas: 1; + __u64 __reserved: 61; +}; + +struct sev_es_runtime_data { + struct ghcb ghcb_page; + struct ghcb backup_ghcb; + bool ghcb_active; + bool backup_ghcb_active; + long unsigned int dr7; +}; + +struct vmcb_seg { + u16 selector; + u16 attrib; + u32 limit; + u64 base; +}; + +struct sev_es_save_area { + struct vmcb_seg es; + struct vmcb_seg cs; + struct vmcb_seg ss; + struct vmcb_seg ds; + struct vmcb_seg fs; + struct vmcb_seg gs; + struct vmcb_seg gdtr; + struct vmcb_seg ldtr; + struct vmcb_seg idtr; + struct vmcb_seg tr; + u64 pl0_ssp; + u64 pl1_ssp; + u64 pl2_ssp; + u64 pl3_ssp; + u64 u_cet; + u8 reserved_0xc8[2]; + u8 vmpl; + u8 cpl; + u8 reserved_0xcc[4]; + u64 efer; + u8 reserved_0xd8[104]; + u64 xss; + u64 cr4; + u64 cr3; + u64 cr0; + u64 dr7; + u64 dr6; + u64 rflags; + u64 rip; + u64 dr0; + u64 dr1; + u64 dr2; + u64 dr3; + u64 dr0_addr_mask; + u64 dr1_addr_mask; + u64 dr2_addr_mask; + u64 dr3_addr_mask; + u8 reserved_0x1c0[24]; + u64 rsp; + u64 s_cet; + u64 ssp; + u64 isst_addr; + u64 rax; + u64 star; + u64 lstar; + u64 cstar; + u64 sfmask; + u64 kernel_gs_base; + u64 sysenter_cs; + u64 sysenter_esp; + u64 sysenter_eip; + u64 cr2; + u8 reserved_0x248[32]; + u64 g_pat; + u64 dbgctl; + u64 br_from; + u64 br_to; + u64 last_excp_from; + u64 last_excp_to; + u8 reserved_0x298[80]; + u32 pkru; + u32 tsc_aux; + u64 tsc_scale; + u64 tsc_offset; + u8 reserved_0x300[8]; + u64 rcx; + u64 rdx; + u64 rbx; + u64 reserved_0x320; + u64 rbp; + u64 rsi; + u64 rdi; + u64 r8; + u64 r9; + u64 r10; + u64 r11; + u64 r12; + u64 r13; + u64 r14; + u64 r15; + u8 reserved_0x380[16]; + u64 guest_exit_info_1; + u64 guest_exit_info_2; + u64 guest_exit_int_info; + u64 guest_nrip; + u64 sev_features; + u64 vintr_ctrl; + u64 guest_exit_code; + u64 virtual_tom; + u64 tlb_id; + u64 pcpu_id; + u64 event_inj; + u64 xcr0; + u8 reserved_0x3f0[16]; + u64 x87_dp; + u32 mxcsr; + u16 x87_ftw; + u16 x87_fsw; + u16 x87_fcw; + u16 x87_fop; + u16 x87_ds; + u16 x87_cs; + u64 x87_rip; + u8 fpreg_x87[80]; + u8 fpreg_xmm[256]; + u8 fpreg_ymm[256]; +}; + +struct severity { + u64 mask; + u64 result; + unsigned char sev; + short unsigned int mcgmask; + short unsigned int mcgres; + unsigned char ser; + unsigned char context; + unsigned char excp; + unsigned char covered; + unsigned int cpu_vfm; + unsigned char cpu_minstepping; + unsigned char bank_lo; + unsigned char bank_hi; + char *msg; +}; + +struct sfp; + +struct sfp_socket_ops; + +struct sfp_quirk; + +struct sfp_upstream_ops; + +struct sfp_bus { + struct kref kref; + struct list_head node; + const struct fwnode_handle *fwnode; + const struct sfp_socket_ops *socket_ops; + struct device *sfp_dev; + struct sfp *sfp; + const struct sfp_quirk *sfp_quirk; + const struct sfp_upstream_ops *upstream_ops; + void *upstream; + struct phy_device *phydev; + bool registered; + bool started; +}; + +struct sfp_eeprom_base { + u8 phys_id; + u8 phys_ext_id; + u8 connector; + u8 if_1x_copper_passive: 1; + u8 if_1x_copper_active: 1; + u8 if_1x_lx: 1; + u8 if_1x_sx: 1; + u8 e10g_base_sr: 1; + u8 e10g_base_lr: 1; + u8 e10g_base_lrm: 1; + u8 e10g_base_er: 1; + u8 sonet_oc3_short_reach: 1; + u8 sonet_oc3_smf_intermediate_reach: 1; + u8 sonet_oc3_smf_long_reach: 1; + u8 unallocated_5_3: 1; + u8 sonet_oc12_short_reach: 1; + u8 sonet_oc12_smf_intermediate_reach: 1; + u8 sonet_oc12_smf_long_reach: 1; + u8 unallocated_5_7: 1; + u8 sonet_oc48_short_reach: 1; + u8 sonet_oc48_intermediate_reach: 1; + u8 sonet_oc48_long_reach: 1; + u8 sonet_reach_bit2: 1; + u8 sonet_reach_bit1: 1; + u8 sonet_oc192_short_reach: 1; + u8 escon_smf_1310_laser: 1; + u8 escon_mmf_1310_led: 1; + u8 e1000_base_sx: 1; + u8 e1000_base_lx: 1; + u8 e1000_base_cx: 1; + u8 e1000_base_t: 1; + u8 e100_base_lx: 1; + u8 e100_base_fx: 1; + u8 e_base_bx10: 1; + u8 e_base_px: 1; + u8 fc_tech_electrical_inter_enclosure: 1; + u8 fc_tech_lc: 1; + u8 fc_tech_sa: 1; + u8 fc_ll_m: 1; + u8 fc_ll_l: 1; + u8 fc_ll_i: 1; + u8 fc_ll_s: 1; + u8 fc_ll_v: 1; + u8 unallocated_8_0: 1; + u8 unallocated_8_1: 1; + u8 sfp_ct_passive: 1; + u8 sfp_ct_active: 1; + u8 fc_tech_ll: 1; + u8 fc_tech_sl: 1; + u8 fc_tech_sn: 1; + u8 fc_tech_electrical_intra_enclosure: 1; + u8 fc_media_sm: 1; + u8 unallocated_9_1: 1; + u8 fc_media_m5: 1; + u8 fc_media_m6: 1; + u8 fc_media_tv: 1; + u8 fc_media_mi: 1; + u8 fc_media_tp: 1; + u8 fc_media_tw: 1; + u8 fc_speed_100: 1; + u8 unallocated_10_1: 1; + u8 fc_speed_200: 1; + u8 fc_speed_3200: 1; + u8 fc_speed_400: 1; + u8 fc_speed_1600: 1; + u8 fc_speed_800: 1; + u8 fc_speed_1200: 1; + u8 encoding; + u8 br_nominal; + u8 rate_id; + u8 link_len[6]; + char vendor_name[16]; + u8 extended_cc; + char vendor_oui[3]; + char vendor_pn[16]; + char vendor_rev[4]; + union { + __be16 optical_wavelength; + __be16 cable_compliance; + struct { + u8 sff8431_app_e: 1; + u8 fc_pi_4_app_h: 1; + u8 reserved60_2: 6; + u8 reserved61: 8; + } passive; + struct { + u8 sff8431_app_e: 1; + u8 fc_pi_4_app_h: 1; + u8 sff8431_lim: 1; + u8 fc_pi_4_lim: 1; + u8 reserved60_4: 4; + u8 reserved61: 8; + } active; + }; + u8 reserved62; + u8 cc_base; +}; + +struct sfp_eeprom_ext { + __be16 options; + u8 br_max; + u8 br_min; + char vendor_sn[16]; + char datecode[8]; + u8 diagmon; + u8 enhopts; + u8 sff8472_compliance; + u8 cc_ext; +}; + +struct sfp_eeprom_id { + struct sfp_eeprom_base base; + struct sfp_eeprom_ext ext; +}; + +struct sfp_quirk { + const char *vendor; + const char *part; + void (*modes)(const struct sfp_eeprom_id *, long unsigned int *, long unsigned int *); + void (*fixup)(struct sfp *); +}; + +struct sfp_socket_ops { + void (*attach)(struct sfp *); + void (*detach)(struct sfp *); + void (*start)(struct sfp *); + void (*stop)(struct sfp *); + void (*set_signal_rate)(struct sfp *, unsigned int); + int (*module_info)(struct sfp *, struct ethtool_modinfo *); + int (*module_eeprom)(struct sfp *, struct ethtool_eeprom *, u8 *); + int (*module_eeprom_by_page)(struct sfp *, const struct ethtool_module_eeprom *, struct netlink_ext_ack *); +}; + +struct sfp_upstream_ops { + void (*attach)(void *, struct sfp_bus *); + void (*detach)(void *, struct sfp_bus *); + int (*module_insert)(void *, const struct sfp_eeprom_id *); + void (*module_remove)(void *); + int (*module_start)(void *); + void (*module_stop)(void *); + void (*link_down)(void *); + void (*link_up)(void *); + int (*connect_phy)(void *, struct phy_device *); + void (*disconnect_phy)(void *, struct phy_device *); +}; + +struct sg_append_table { + struct sg_table sgt; + struct scatterlist *prv; + unsigned int total_nents; +}; + +struct sg_device { + struct scsi_device *device; + wait_queue_head_t open_wait; + struct mutex open_rel_lock; + int sg_tablesize; + u32 index; + struct list_head sfds; + rwlock_t sfd_lock; + atomic_t detaching; + bool exclude; + int open_cnt; + char sgdebug; + char name[32]; + struct cdev *cdev; + struct kref d_ref; +}; + +typedef struct sg_device Sg_device; + +struct sg_page_iter { + struct scatterlist *sg; + unsigned int sg_pgoffset; + unsigned int __nents; + int __pg_advance; +}; + +struct sg_dma_page_iter { + struct sg_page_iter base; +}; + +struct sg_scatter_hold { + short unsigned int k_use_sg; + unsigned int sglist_len; + unsigned int bufflen; + struct page **pages; + int page_order; + char dio_in_use; + unsigned char cmd_opcode; +}; + +typedef struct sg_scatter_hold Sg_scatter_hold; + +struct sg_io_hdr { + int interface_id; + int dxfer_direction; + unsigned char cmd_len; + unsigned char mx_sb_len; + short unsigned int iovec_count; + unsigned int dxfer_len; + void *dxferp; + unsigned char *cmdp; + void *sbp; + unsigned int timeout; + unsigned int flags; + int pack_id; + void *usr_ptr; + unsigned char status; + unsigned char masked_status; + unsigned char msg_status; + unsigned char sb_len_wr; + short unsigned int host_status; + short unsigned int driver_status; + int resid; + unsigned int duration; + unsigned int info; +}; + +typedef struct sg_io_hdr sg_io_hdr_t; + +struct sg_fd; + +struct sg_request { + struct list_head entry; + struct sg_fd *parentfp; + Sg_scatter_hold data; + sg_io_hdr_t header; + unsigned char sense_b[96]; + char res_used; + char orphan; + char sg_io_owned; + char done; + struct request *rq; + struct bio *bio; + struct execute_work ew; +}; + +typedef struct sg_request Sg_request; + +struct sg_fd { + struct list_head sfd_siblings; + struct sg_device *parentdp; + wait_queue_head_t read_wait; + rwlock_t rq_list_lock; + struct mutex f_mutex; + int timeout; + int timeout_user; + Sg_scatter_hold reserve; + struct list_head rq_list; + struct fasync_struct *async_qp; + Sg_request req_arr[16]; + char force_packid; + char cmd_q; + unsigned char next_cmd_len; + char keep_orphan; + char mmap_called; + char res_in_use; + struct kref f_ref; + struct execute_work ew; +}; + +typedef struct sg_fd Sg_fd; + +struct sg_header { + int pack_len; + int reply_len; + int pack_id; + int result; + unsigned int twelve_byte: 1; + unsigned int target_status: 5; + unsigned int host_status: 8; + unsigned int driver_status: 8; + unsigned int other_flags: 10; + unsigned char sense_buffer[16]; +}; + +struct sg_io_v4 { + __s32 guard; + __u32 protocol; + __u32 subprotocol; + __u32 request_len; + __u64 request; + __u64 request_tag; + __u32 request_attr; + __u32 request_priority; + __u32 request_extra; + __u32 max_response_len; + __u64 response; + __u32 dout_iovec_count; + __u32 dout_xfer_len; + __u32 din_iovec_count; + __u32 din_xfer_len; + __u64 dout_xferp; + __u64 din_xferp; + __u32 timeout; + __u32 flags; + __u64 usr_ptr; + __u32 spare_in; + __u32 driver_status; + __u32 transport_status; + __u32 device_status; + __u32 retry_delay; + __u32 info; + __u32 duration; + __u32 response_len; + __s32 din_resid; + __s32 dout_resid; + __u64 generated_tag; + __u32 spare_out; + __u32 padding; +}; + +struct sg_list { + unsigned int n; + unsigned int size; + size_t len; + struct scatterlist *sg; +}; + +struct sg_mapping_iter { + struct page *page; + void *addr; + size_t length; + size_t consumed; + struct sg_page_iter piter; + unsigned int __offset; + unsigned int __remaining; + unsigned int __flags; +}; + +struct sg_pool { + size_t size; + char *name; + struct kmem_cache *slab; + mempool_t *pool; +}; + +struct sg_proc_deviter { + loff_t index; + size_t max; +}; + +struct sg_req_info { + char req_state; + char orphan; + char sg_io_owned; + char problem; + int pack_id; + void *usr_ptr; + unsigned int duration; + int unused; +}; + +typedef struct sg_req_info sg_req_info_t; + +struct sg_scsi_id { + int host_no; + int channel; + int scsi_id; + int lun; + int scsi_type; + short int h_cmd_per_lun; + short int d_queue_depth; + int unused[2]; +}; + +typedef struct sg_scsi_id sg_scsi_id_t; + +struct sgi_volume { + s8 name[8]; + __be32 block_num; + __be32 num_bytes; +}; + +struct sgi_partition { + __be32 num_blocks; + __be32 first_block; + __be32 type; +}; + +struct sgi_disklabel { + __be32 magic_mushroom; + __be16 root_part_num; + __be16 swap_part_num; + s8 boot_file[16]; + u8 _unused0[48]; + struct sgi_volume volume[15]; + struct sgi_partition partitions[16]; + __be32 csum; + __be32 _unused1; +}; + +struct sgx_backing { + struct page *contents; + struct page *pcmd; + long unsigned int pcmd_offset; +}; + +struct sgx_epc_page; + +struct sgx_encl; + +struct sgx_va_page; + +struct sgx_encl_page { + long unsigned int desc; + long unsigned int vm_max_prot_bits: 8; + enum sgx_page_type type: 16; + struct sgx_epc_page *epc_page; + struct sgx_encl *encl; + struct sgx_va_page *va_page; +}; + +struct sgx_encl { + long unsigned int base; + long unsigned int size; + long unsigned int flags; + unsigned int page_cnt; + unsigned int secs_child_cnt; + struct mutex lock; + struct xarray page_array; + struct sgx_encl_page secs; + long unsigned int attributes; + long unsigned int attributes_mask; + cpumask_t cpumask; + struct file *backing; + struct kref refcount; + struct list_head va_pages; + long unsigned int mm_list_version; + struct list_head mm_list; + spinlock_t mm_lock; + struct srcu_struct srcu; +}; + +struct sgx_encl_mm { + struct sgx_encl *encl; + struct mm_struct *mm; + struct list_head list; + struct mmu_notifier mmu_notifier; +}; + +struct sgx_enclave_add_pages { + __u64 src; + __u64 offset; + __u64 length; + __u64 secinfo; + __u64 flags; + __u64 count; +}; + +struct sgx_enclave_create { + __u64 src; +}; + +struct sgx_enclave_init { + __u64 sigstruct; +}; + +struct sgx_enclave_modify_types { + __u64 offset; + __u64 length; + __u64 page_type; + __u64 result; + __u64 count; +}; + +struct sgx_enclave_provision { + __u64 fd; +}; + +struct sgx_enclave_remove_pages { + __u64 offset; + __u64 length; + __u64 count; +}; + +struct sgx_enclave_restrict_permissions { + __u64 offset; + __u64 length; + __u64 permissions; + __u64 result; + __u64 count; +}; + +struct sgx_epc_page { + unsigned int section; + u16 flags; + u16 poison; + struct sgx_encl_page *owner; + struct list_head list; +}; + +struct sgx_numa_node; + +struct sgx_epc_section { + long unsigned int phys_addr; + void *virt_addr; + struct sgx_epc_page *pages; + struct sgx_numa_node *node; +}; + +struct sgx_numa_node { + struct list_head free_page_list; + struct list_head sgx_poison_page_list; + long unsigned int size; + spinlock_t lock; +}; + +struct sgx_pageinfo { + u64 addr; + u64 contents; + u64 metadata; + u64 secs; +}; + +struct sgx_secinfo { + u64 flags; + u8 reserved[56]; +}; + +struct sgx_secs { + u64 size; + u64 base; + u32 ssa_frame_size; + u32 miscselect; + u8 reserved1[24]; + u64 attributes; + u64 xfrm; + u32 mrenclave[8]; + u8 reserved2[32]; + u32 mrsigner[8]; + u8 reserved3[32]; + u32 config_id[16]; + u16 isv_prod_id; + u16 isv_svn; + u16 config_svn; + u8 reserved4[3834]; +}; + +struct sgx_sigstruct_header { + u64 header1[2]; + u32 vendor; + u32 date; + u64 header2[2]; + u32 swdefined; + u8 reserved1[84]; +}; + +struct sgx_sigstruct_body { + u32 miscselect; + u32 misc_mask; + u8 reserved2[20]; + u64 attributes; + u64 xfrm; + u64 attributes_mask; + u64 xfrm_mask; + u8 mrenclave[32]; + u8 reserved3[32]; + u16 isvprodid; + u16 isvsvn; +} __attribute__((packed)); + +struct sgx_sigstruct { + struct sgx_sigstruct_header header; + u8 modulus[384]; + u32 exponent; + u8 signature[384]; + struct sgx_sigstruct_body body; + u8 reserved4[12]; + u8 q1[384]; + u8 q2[384]; +}; + +struct sgx_va_page { + struct sgx_epc_page *epc_page; + long unsigned int slots[8]; + struct list_head list; +}; + +struct sgx_vepc { + struct xarray page_array; + struct mutex lock; +}; + +struct sha1_hash { + u8 hash[20]; +}; + +struct sha224_ctx { + struct __sha256_ctx ctx; +}; + +struct sha384_ctx { + struct __sha512_ctx ctx; +}; + +struct sha3_state { + u64 st[25]; +}; + +struct vcpu_info { + uint8_t evtchn_upcall_pending; + uint8_t evtchn_upcall_mask; + xen_ulong_t evtchn_pending_sel; + struct arch_vcpu_info arch; + struct pvclock_vcpu_time_info time; +}; + +struct shared_info { + struct vcpu_info vcpu_info[32]; + xen_ulong_t evtchn_pending[64]; + xen_ulong_t evtchn_mask[64]; + struct pvclock_wall_clock wc; + uint32_t wc_sec_hi; + struct arch_shared_info arch; +}; + +struct shared_policy { + struct rb_root root; + rwlock_t lock; +}; + +struct shash_alg { + int (*init)(struct shash_desc *); + int (*update)(struct shash_desc *, const u8 *, unsigned int); + int (*final)(struct shash_desc *, u8 *); + int (*finup)(struct shash_desc *, const u8 *, unsigned int, u8 *); + int (*digest)(struct shash_desc *, const u8 *, unsigned int, u8 *); + int (*export)(struct shash_desc *, void *); + int (*import)(struct shash_desc *, const void *); + int (*export_core)(struct shash_desc *, void *); + int (*import_core)(struct shash_desc *, const void *); + int (*setkey)(struct crypto_shash *, const u8 *, unsigned int); + int (*init_tfm)(struct crypto_shash *); + void (*exit_tfm)(struct crypto_shash *); + int (*clone_tfm)(struct crypto_shash *, struct crypto_shash *); + unsigned int descsize; + union { + struct { + unsigned int digestsize; + unsigned int statesize; + struct crypto_alg base; + }; + struct hash_alg_common halg; + }; +}; + +struct shash_instance { + void (*free)(struct shash_instance *); + union { + struct { + char head[120]; + struct crypto_instance base; + } s; + struct shash_alg alg; + }; +}; + +struct shift_out_of_bounds_data { + struct source_location location; + struct type_descriptor *lhs_type; + struct type_descriptor *rhs_type; +}; + +struct shm_file_data { + int id; + struct ipc_namespace *ns; + struct file *file; + const struct vm_operations_struct *vm_ops; +}; + +struct shm_info { + int used_ids; + __kernel_ulong_t shm_tot; + __kernel_ulong_t shm_rss; + __kernel_ulong_t shm_swp; + __kernel_ulong_t swap_attempts; + __kernel_ulong_t swap_successes; +}; + +struct shmem_falloc { + wait_queue_head_t *waitq; + long unsigned int start; + long unsigned int next; + long unsigned int nr_falloced; + long unsigned int nr_unswapped; +}; + +struct shmem_inode_info { + spinlock_t lock; + unsigned int seals; + long unsigned int flags; + long unsigned int alloced; + long unsigned int swapped; + union { + struct offset_ctx dir_offsets; + struct { + struct list_head shrinklist; + struct list_head swaplist; + }; + }; + struct timespec64 i_crtime; + struct shared_policy policy; + struct simple_xattrs xattrs; + long unsigned int fallocend; + unsigned int fsflags; + atomic_t stop_eviction; + struct dquot *i_dquot[3]; + struct inode vfs_inode; +}; + +struct shmem_quota_limits { + qsize_t usrquota_bhardlimit; + qsize_t usrquota_ihardlimit; + qsize_t grpquota_bhardlimit; + qsize_t grpquota_ihardlimit; +}; + +struct unicode_map; + +struct shmem_options { + long long unsigned int blocks; + long long unsigned int inodes; + struct mempolicy *mpol; + kuid_t uid; + kgid_t gid; + umode_t mode; + bool full_inums; + int huge; + int seen; + bool noswap; + short unsigned int quota_types; + struct shmem_quota_limits qlimits; + struct unicode_map *encoding; + bool strict_encoding; +}; + +struct shmem_sb_info { + long unsigned int max_blocks; + struct percpu_counter used_blocks; + long unsigned int max_inodes; + long unsigned int free_ispace; + raw_spinlock_t stat_lock; + umode_t mode; + unsigned char huge; + kuid_t uid; + kgid_t gid; + bool full_inums; + bool noswap; + ino_t next_ino; + ino_t *ino_batch; + struct mempolicy *mpol; + spinlock_t shrinklist_lock; + struct list_head shrinklist; + long unsigned int shrinklist_len; + struct shmem_quota_limits qlimits; +}; + +struct shmid64_ds { + struct ipc64_perm shm_perm; + __kernel_size_t shm_segsz; + long int shm_atime; + long int shm_dtime; + long int shm_ctime; + __kernel_pid_t shm_cpid; + __kernel_pid_t shm_lpid; + long unsigned int shm_nattch; + long unsigned int __unused4; + long unsigned int __unused5; +}; + +struct shmid_ds { + struct ipc_perm shm_perm; + int shm_segsz; + __kernel_old_time_t shm_atime; + __kernel_old_time_t shm_dtime; + __kernel_old_time_t shm_ctime; + __kernel_ipc_pid_t shm_cpid; + __kernel_ipc_pid_t shm_lpid; + short unsigned int shm_nattch; + short unsigned int shm_unused; + void *shm_unused2; + void *shm_unused3; +}; + +struct shmid_kernel { + struct kern_ipc_perm shm_perm; + struct file *shm_file; + long unsigned int shm_nattch; + long unsigned int shm_segsz; + time64_t shm_atim; + time64_t shm_dtim; + time64_t shm_ctim; + struct pid *shm_cprid; + struct pid *shm_lprid; + struct ucounts *mlock_ucounts; + struct task_struct *shm_creator; + struct list_head shm_clist; + struct ipc_namespace *ns; + long: 64; + long: 64; + long: 64; +}; + +struct shminfo { + int shmmax; + int shmmin; + int shmmni; + int shmseg; + int shmall; +}; + +struct shminfo64 { + long unsigned int shmmax; + long unsigned int shmmin; + long unsigned int shmmni; + long unsigned int shmseg; + long unsigned int shmall; + long unsigned int __unused1; + long unsigned int __unused2; + long unsigned int __unused3; + long unsigned int __unused4; +}; + +struct shortname_info { + unsigned char lower: 1; + unsigned char upper: 1; + unsigned char valid: 1; +}; + +struct show_busy_params { + struct seq_file *m; + struct blk_mq_hw_ctx *hctx; +}; + +struct shrink_control { + gfp_t gfp_mask; + int nid; + long unsigned int nr_to_scan; + long unsigned int nr_scanned; + struct mem_cgroup *memcg; +}; + +struct shrinker { + long unsigned int (*count_objects)(struct shrinker *, struct shrink_control *); + long unsigned int (*scan_objects)(struct shrinker *, struct shrink_control *); + long int batch; + int seeks; + unsigned int flags; + refcount_t refcount; + struct completion done; + struct callback_head rcu; + void *private_data; + struct list_head list; + int id; + atomic_long_t *nr_deferred; +}; + +struct shrinker_info_unit; + +struct shrinker_info { + struct callback_head rcu; + int map_nr_max; + struct shrinker_info_unit *unit[0]; +}; + +struct shrinker_info_unit { + atomic_long_t nr_deferred[64]; + long unsigned int map[1]; +}; + +struct shutdown_handler { + const char command[11]; + bool flag; + void (*cb)(void); +}; + +struct sidtab_node_inner; + +struct sidtab_node_leaf; + +union sidtab_entry_inner { + struct sidtab_node_inner *ptr_inner; + struct sidtab_node_leaf *ptr_leaf; +}; + +struct sidtab_str_cache; + +struct sidtab_entry { + u32 sid; + u32 hash; + struct context___2 context; + struct sidtab_str_cache *cache; + struct hlist_node list; +}; + +struct sidtab_isid_entry { + int set; + struct sidtab_entry entry; +}; + +struct sidtab { + union sidtab_entry_inner roots[4]; + u32 count; + struct sidtab_convert_params *convert; + bool frozen; + spinlock_t lock; + u32 cache_free_slots; + struct list_head cache_lru_list; + spinlock_t cache_lock; + struct sidtab_isid_entry isids[27]; + struct hlist_head context_to_sid[512]; +}; + +struct sidtab_node_inner { + union sidtab_entry_inner entries[512]; +}; + +struct sidtab_node_leaf { + struct sidtab_entry entries[39]; +}; + +struct sidtab_str_cache { + struct callback_head rcu_member; + struct list_head lru_member; + struct sidtab_entry *parent; + u32 len; + char str[0]; +}; + +struct sig_alg { + int (*sign)(struct crypto_sig *, const void *, unsigned int, void *, unsigned int); + int (*verify)(struct crypto_sig *, const void *, unsigned int, const void *, unsigned int); + int (*set_pub_key)(struct crypto_sig *, const void *, unsigned int); + int (*set_priv_key)(struct crypto_sig *, const void *, unsigned int); + unsigned int (*key_size)(struct crypto_sig *); + unsigned int (*digest_size)(struct crypto_sig *); + unsigned int (*max_size)(struct crypto_sig *); + int (*init)(struct crypto_sig *); + void (*exit)(struct crypto_sig *); + struct crypto_alg base; +}; + +struct sig_instance { + void (*free)(struct sig_instance *); + union { + struct { + char head[72]; + struct crypto_instance base; + }; + struct sig_alg alg; + }; +}; + +typedef struct sigevent sigevent_t; + +struct sigframe_ia32 { + u32 pretcode; + int sig; + struct sigcontext_32 sc; + struct _fpstate_32 fpstate_unused; + unsigned int extramask[1]; + char retcode[8]; +}; + +struct sighand_struct { + spinlock_t siglock; + refcount_t count; + wait_queue_head_t signalfd_wqh; + struct k_sigaction action[64]; +}; + +struct sigpending { + struct list_head list; + sigset_t signal; +}; + +struct task_cputime_atomic { + atomic64_t utime; + atomic64_t stime; + atomic64_t sum_exec_runtime; +}; + +struct thread_group_cputimer { + struct task_cputime_atomic cputime_atomic; +}; + +struct task_io_accounting { + u64 rchar; + u64 wchar; + u64 syscr; + u64 syscw; + u64 read_bytes; + u64 write_bytes; + u64 cancelled_write_bytes; +}; + +struct taskstats; + +struct tty_audit_buf; + +struct signal_struct { + refcount_t sigcnt; + atomic_t live; + int nr_threads; + int quick_threads; + struct list_head thread_head; + wait_queue_head_t wait_chldexit; + struct task_struct *curr_target; + struct sigpending shared_pending; + struct hlist_head multiprocess; + int group_exit_code; + int notify_count; + struct task_struct *group_exec_task; + int group_stop_count; + unsigned int flags; + struct core_state *core_state; + unsigned int is_child_subreaper: 1; + unsigned int has_child_subreaper: 1; + unsigned int timer_create_restore_ids: 1; + atomic_t next_posix_timer_id; + struct hlist_head posix_timers; + struct hlist_head ignored_posix_timers; + struct hrtimer real_timer; + ktime_t it_real_incr; + struct cpu_itimer it[2]; + struct thread_group_cputimer cputimer; + struct posix_cputimers posix_cputimers; + struct pid *pids[4]; + atomic_t tick_dep_mask; + struct pid *tty_old_pgrp; + int leader; + struct tty_struct *tty; + struct autogroup *autogroup; + seqlock_t stats_lock; + u64 utime; + u64 stime; + u64 cutime; + u64 cstime; + u64 gtime; + u64 cgtime; + struct prev_cputime prev_cputime; + long unsigned int nvcsw; + long unsigned int nivcsw; + long unsigned int cnvcsw; + long unsigned int cnivcsw; + long unsigned int min_flt; + long unsigned int maj_flt; + long unsigned int cmin_flt; + long unsigned int cmaj_flt; + long unsigned int inblock; + long unsigned int oublock; + long unsigned int cinblock; + long unsigned int coublock; + long unsigned int maxrss; + long unsigned int cmaxrss; + struct task_io_accounting ioac; + long long unsigned int sum_sched_runtime; + struct rlimit rlim[16]; + struct pacct_struct pacct; + struct taskstats *stats; + unsigned int audit_tty; + struct tty_audit_buf *tty_audit_buf; + bool oom_flag_origin; + short int oom_score_adj; + short int oom_score_adj_min; + struct mm_struct *oom_mm; + struct mutex cred_guard_mutex; + struct rw_semaphore exec_update_lock; +}; + +struct signalfd_ctx { + sigset_t sigmask; +}; + +struct signalfd_siginfo { + __u32 ssi_signo; + __s32 ssi_errno; + __s32 ssi_code; + __u32 ssi_pid; + __u32 ssi_uid; + __s32 ssi_fd; + __u32 ssi_tid; + __u32 ssi_band; + __u32 ssi_overrun; + __u32 ssi_trapno; + __s32 ssi_status; + __s32 ssi_int; + __u64 ssi_ptr; + __u64 ssi_utime; + __u64 ssi_stime; + __u64 ssi_addr; + __u16 ssi_addr_lsb; + __u16 __pad2; + __s32 ssi_syscall; + __u64 ssi_call_addr; + __u32 ssi_arch; + __u8 __pad[28]; +}; + +struct signature_hdr { + uint8_t version; + uint32_t timestamp; + uint8_t algo; + uint8_t hash; + uint8_t keyid[8]; + uint8_t nmpi; + char mpi[0]; +} __attribute__((packed)); + +struct signature_v2_hdr { + uint8_t type; + uint8_t version; + uint8_t hash_algo; + __be32 keyid; + __be16 sig_size; + uint8_t sig[0]; +} __attribute__((packed)); + +struct sigpool_entry { + struct crypto_ahash *hash; + const char *alg; + struct kref kref; + uint16_t needs_key: 1; + uint16_t reserved: 15; +}; + +struct sigpool_scratch { + local_lock_t bh_lock; + void *pad; +}; + +struct sigset_argpack { + sigset_t *p; + size_t size; +}; + +struct sih_irq_data { + u8 isr_offset; + u8 imr_offset; +}; + +struct sih { + char name[8]; + u8 module; + u8 control_offset; + bool set_cor; + u8 bits; + u8 bytes_ixr; + u8 edr_offset; + u8 bytes_edr; + u8 irq_lines; + struct sih_irq_data mask[2]; +}; + +struct sih_agent { + int irq_base; + const struct sih *sih; + u32 imr; + bool imr_change_pending; + u32 edge_change; + struct mutex irq_lock; + char *irq_name; +}; + +struct simple_attr { + int (*get)(void *, u64 *); + int (*set)(void *, u64); + char get_buf[24]; + char set_buf[24]; + void *data; + const char *fmt; + struct mutex mutex; +}; + +struct simple_transaction_argresp { + ssize_t size; + char data[0]; +}; + +struct simple_xattr { + struct rb_node rb_node; + char *name; + size_t size; + char value[0]; +}; + +struct simpledrm_device { + struct drm_sysfb_device sysfb; + u32 formats[2]; + struct drm_plane primary_plane; + struct drm_crtc crtc; + struct drm_encoder encoder; + struct drm_connector connector; +}; + +struct simplefb_format { + const char *name; + u32 bits_per_pixel; + struct fb_bitfield red; + struct fb_bitfield green; + struct fb_bitfield blue; + struct fb_bitfield transp; + u32 fourcc; +}; + +struct simplefb_platform_data { + u32 width; + u32 height; + u32 stride; + const char *format; +}; + +struct sinit_mle_data { + u32 version; + struct sha1_hash bios_acm_id; + u32 edx_senter_flags; + u64 mseg_valid; + struct sha1_hash sinit_hash; + struct sha1_hash mle_hash; + struct sha1_hash stm_hash; + struct sha1_hash lcp_policy_hash; + u32 lcp_policy_control; + u32 rlp_wakeup_addr; + u32 reserved; + u32 num_mdrs; + u32 mdrs_off; + u32 num_vtd_dmars; + u32 vtd_dmars_off; +} __attribute__((packed)); + +struct sioc_mif_req6 { + mifi_t mifi; + long unsigned int icount; + long unsigned int ocount; + long unsigned int ibytes; + long unsigned int obytes; +}; + +struct sioc_sg_req { + struct in_addr src; + struct in_addr grp; + long unsigned int pktcnt; + long unsigned int bytecnt; + long unsigned int wrong_if; +}; + +struct sioc_sg_req6 { + struct sockaddr_in6 src; + struct sockaddr_in6 grp; + long unsigned int pktcnt; + long unsigned int bytecnt; + long unsigned int wrong_if; +}; + +struct sioc_vif_req { + vifi_t vifi; + long unsigned int icount; + long unsigned int ocount; + long unsigned int ibytes; + long unsigned int obytes; +}; + +struct sis_chipset { + u16 device; + const struct ata_port_info *info; +}; + +struct sis_laptop { + u16 device; + u16 subvendor; + u16 subdevice; +}; + +struct zs_size_stat { + long unsigned int objs[14]; +}; + +struct size_class { + spinlock_t lock; + struct list_head fullness_list[12]; + int size; + int objs_per_zspage; + int pages_per_zspage; + unsigned int index; + struct zs_size_stat stats; +}; + +struct sk_buff__safe_rcu_or_null { + struct sock *sk; +}; + +struct sk_buff_fclones { + struct sk_buff skb1; + struct sk_buff skb2; + refcount_t fclone_ref; +}; + +struct sk_filter { + refcount_t refcnt; + struct callback_head rcu; + struct bpf_prog *prog; +}; + +struct sk_psock_work_state { + u32 len; + u32 off; +}; + +struct sk_psock { + struct sock *sk; + struct sock *sk_redir; + u32 apply_bytes; + u32 cork_bytes; + u32 eval; + bool redir_ingress; + struct sk_msg *cork; + struct sk_psock_progs progs; + struct strparser strp; + u32 copied_seq; + u32 ingress_bytes; + struct sk_buff_head ingress_skb; + struct list_head ingress_msg; + spinlock_t ingress_lock; + long unsigned int state; + struct list_head link; + spinlock_t link_lock; + refcount_t refcnt; + void (*saved_unhash)(struct sock *); + void (*saved_destroy)(struct sock *); + void (*saved_close)(struct sock *, long int); + void (*saved_write_space)(struct sock *); + void (*saved_data_ready)(struct sock *); + int (*psock_update_sk_prot)(struct sock *, struct sk_psock *, bool); + struct proto *sk_proto; + struct mutex work_mutex; + struct sk_psock_work_state work_state; + struct delayed_work work; + struct sock *sk_pair; + struct rcu_work rwork; +}; + +struct sk_psock_link { + struct list_head list; + struct bpf_map *map; + void *link_raw; +}; + +struct sk_security_struct { + enum { + NLBL_UNSET = 0, + NLBL_REQUIRE = 1, + NLBL_LABELED = 2, + NLBL_REQSKB = 3, + NLBL_CONNLABELED = 4, + } nlbl_state; + struct netlbl_lsm_secattr *nlbl_secattr; + u32 sid; + u32 peer_sid; + u16 sclass; + enum { + SCTP_ASSOC_UNSET = 0, + SCTP_ASSOC_SET = 1, + } sctp_assoc_state; +}; + +struct tls_msg { + u8 control; +}; + +struct sk_skb_cb { + unsigned char data[20]; + unsigned char pad[4]; + struct _strp_msg strp; + struct tls_msg tls; + u64 temp_reg; +}; + +struct skb_ext { + refcount_t refcnt; + u8 offset[5]; + u8 chunks; + long: 0; + char data[0]; +}; + +struct skb_frag { + netmem_ref netmem; + unsigned int len; + unsigned int offset; +}; + +typedef struct skb_frag skb_frag_t; + +struct skb_free_array { + unsigned int skb_count; + void *skb_array[16]; +}; + +struct skb_gso_cb { + union { + int mac_offset; + int data_offset; + }; + int encap_level; + __wsum csum; + __u16 csum_start; +}; + +struct skb_seq_state { + __u32 lower_offset; + __u32 upper_offset; + __u32 frag_idx; + __u32 stepped_offset; + struct sk_buff *root_skb; + struct sk_buff *cur_skb; + __u8 *frag_data; + __u32 frag_off; +}; + +struct skb_shared_hwtstamps { + union { + ktime_t hwtstamp; + void *netdev_data; + }; +}; + +struct xsk_tx_metadata_compl { + __u64 *tx_timestamp; +}; + +struct skb_shared_info { + __u8 flags; + __u8 meta_len; + __u8 nr_frags; + __u8 tx_flags; + short unsigned int gso_size; + short unsigned int gso_segs; + struct sk_buff *frag_list; + union { + struct skb_shared_hwtstamps hwtstamps; + struct xsk_tx_metadata_compl xsk_meta; + }; + unsigned int gso_type; + u32 tskey; + atomic_t dataref; + union { + struct { + u32 xdp_frags_size; + u32 xdp_frags_truesize; + }; + void *destructor_arg; + }; + skb_frag_t frags[17]; +}; + +struct skcipher_alg { + int (*setkey)(struct crypto_skcipher *, const u8 *, unsigned int); + int (*encrypt)(struct skcipher_request *); + int (*decrypt)(struct skcipher_request *); + int (*export)(struct skcipher_request *, void *); + int (*import)(struct skcipher_request *, const void *); + int (*init)(struct crypto_skcipher *); + void (*exit)(struct crypto_skcipher *); + unsigned int walksize; + union { + struct { + unsigned int min_keysize; + unsigned int max_keysize; + unsigned int ivsize; + unsigned int chunksize; + unsigned int statesize; + struct crypto_alg base; + }; + struct skcipher_alg_common co; + }; +}; + +struct skcipher_ctx_simple { + struct crypto_cipher *cipher; +}; + +struct skcipher_instance { + void (*free)(struct skcipher_instance *); + union { + struct { + char head[88]; + struct crypto_instance base; + } s; + struct skcipher_alg alg; + }; +}; + +struct skcipher_walk { + union { + struct { + struct { + const void * const addr; + } virt; + } src; + struct scatter_walk in; + }; + union { + struct { + struct { + void * const addr; + } virt; + } dst; + struct scatter_walk out; + }; + unsigned int nbytes; + unsigned int total; + u8 *page; + u8 *buffer; + u8 *oiv; + void *iv; + unsigned int ivsize; + int flags; + unsigned int blocksize; + unsigned int stride; + unsigned int alignmask; +}; + +struct sku_microcode { + u32 vfm; + u8 stepping; + u32 microcode; +}; + +struct slab { + long unsigned int flags; + struct kmem_cache *slab_cache; + union { + struct { + union { + struct list_head slab_list; + struct { + struct slab *next; + int slabs; + }; + }; + union { + struct { + void *freelist; + union { + long unsigned int counters; + struct { + unsigned int inuse: 16; + unsigned int objects: 15; + unsigned int frozen: 1; + }; + }; + }; + freelist_aba_t freelist_counter; + }; + }; + struct callback_head callback_head; + }; + unsigned int __page_type; + atomic_t __page_refcount; + long unsigned int obj_exts; +}; + +struct slab_attribute { + struct attribute attr; + ssize_t (*show)(struct kmem_cache *, char *); + ssize_t (*store)(struct kmem_cache *, const char *, size_t); +}; + +struct slabinfo { + long unsigned int active_objs; + long unsigned int num_objs; + long unsigned int active_slabs; + long unsigned int num_slabs; + long unsigned int shared_avail; + unsigned int limit; + unsigned int batchcount; + unsigned int shared; + unsigned int objects_per_slab; + unsigned int cache_order; +}; + +struct slcompress { + struct cstate *tstate; + struct cstate *rstate; + byte_t tslot_limit; + byte_t rslot_limit; + byte_t xmit_oldest; + byte_t xmit_current; + byte_t recv_current; + byte_t flags; + int32 sls_o_nontcp; + int32 sls_o_tcp; + int32 sls_o_uncompressed; + int32 sls_o_compressed; + int32 sls_o_searches; + int32 sls_o_misses; + int32 sls_i_uncompressed; + int32 sls_i_compressed; + int32 sls_i_error; + int32 sls_i_tossed; + int32 sls_i_runt; + int32 sls_i_badcheck; +}; + +struct slice { + __be32 nblocks; + __be32 blkoff; +}; + +struct slot___2 { + u8 bus; + u8 device; + u16 status; + u32 number; + u8 is_a_board; + u8 state; + u8 attention_save; + u8 presence_save; + u8 latch_save; + u8 pwr_save; + struct controller___2 *ctrl; + struct hotplug_slot hotplug_slot; + struct list_head slot_list; + struct delayed_work work; + struct mutex lock; + struct workqueue_struct *wq; + u8 hp_slot; +}; + +struct slot { + struct hotplug_slot hotplug_slot; + struct acpiphp_slot *acpi_slot; + unsigned int sun; +}; + +struct slot___3 { + u8 number; + unsigned int devfn; + struct pci_bus *bus; + struct pci_dev *dev; + unsigned int latch_status: 1; + unsigned int adapter_status: 1; + unsigned int extracting; + struct hotplug_slot hotplug_slot; + struct list_head slot_list; +}; + +struct slub_flush_work { + struct work_struct work; + struct kmem_cache *s; + bool skip; +}; + +struct smack_audit_data { + const char *function; + char *subject; + char *object; + char *request; + int result; +}; + +struct smack_known { + struct list_head list; + struct hlist_node smk_hashed; + char *smk_known; + u32 smk_secid; + struct netlbl_lsm_secattr smk_netlabel; + struct list_head smk_rules; + struct mutex smk_rules_lock; +}; + +struct smack_known_list_elem { + struct list_head list; + struct smack_known *smk_label; +}; + +struct smack_mnt_opts { + const char *fsdefault; + const char *fsfloor; + const char *fshat; + const char *fsroot; + const char *fstransmute; +}; + +struct smack_parsed_rule { + struct smack_known *smk_subject; + struct smack_known *smk_object; + int smk_access1; + int smk_access2; +}; + +struct smack_rule { + struct list_head list; + struct smack_known *smk_subject; + struct smack_known *smk_object; + int smk_access; +}; + +struct smca_hwid; + +struct smca_bank { + const struct smca_hwid *hwid; + u32 id; + u8 sysfs_id; +}; + +struct smca_hwid { + unsigned int bank_type; + u32 hwid_mcatype; +}; + +struct sme_populate_pgd_data { + void *pgtable_area; + pgd_t *pgd; + pmdval_t pmd_flags; + pteval_t pte_flags; + long unsigned int paddr; + long unsigned int vaddr; + long unsigned int vaddr_end; +}; + +struct smk_audit_info { + struct common_audit_data a; + struct smack_audit_data sad; +}; + +struct smk_net4addr { + struct list_head list; + struct in_addr smk_host; + struct in_addr smk_mask; + int smk_masks; + struct smack_known *smk_label; +}; + +struct smk_net6addr { + struct list_head list; + struct in6_addr smk_host; + struct in6_addr smk_mask; + int smk_masks; + struct smack_known *smk_label; +}; + +struct smp_alt_module { + struct module *mod; + char *name; + const s32 *locks; + const s32 *locks_end; + u8 *text; + u8 *text_end; + struct list_head next; +}; + +struct smp_call_on_cpu_struct { + struct work_struct work; + struct completion done; + int (*func)(void *); + void *data; + int ret; + int cpu; +}; + +struct smp_hotplug_thread { + struct task_struct **store; + struct list_head list; + int (*thread_should_run)(unsigned int); + void (*thread_fn)(unsigned int); + void (*create)(unsigned int); + void (*setup)(unsigned int); + void (*cleanup)(unsigned int, bool); + void (*park)(unsigned int); + void (*unpark)(unsigned int); + bool selfparking; + const char *thread_comm; +}; + +struct smp_ops { + void (*smp_prepare_boot_cpu)(void); + void (*smp_prepare_cpus)(unsigned int); + void (*smp_cpus_done)(unsigned int); + void (*stop_other_cpus)(int); + void (*crash_stop_other_cpus)(void); + void (*smp_send_reschedule)(int); + void (*cleanup_dead_cpu)(unsigned int); + void (*poll_sync_state)(void); + int (*kick_ap_alive)(unsigned int, struct task_struct *); + int (*cpu_disable)(void); + void (*cpu_die)(unsigned int); + void (*play_dead)(void); + void (*stop_this_cpu)(void); + void (*send_call_func_ipi)(const struct cpumask *); + void (*send_call_func_single_ipi)(int); +}; + +struct smp_text_poke_loc { + s32 rel_addr; + s32 disp; + u8 len; + u8 opcode; + const u8 text[5]; + u8 old; +}; + +struct smp_text_poke_array { + struct smp_text_poke_loc vec[256]; + int nr_entries; +}; + +struct smpboot_thread_data { + unsigned int cpu; + unsigned int status; + struct smp_hotplug_thread *ht; +}; + +struct snapshot_context { + struct tracing_map_elt *elt; + void *key; +}; + +struct snapshot_handle { + unsigned int cur; + void *buffer; + int sync_read; +}; + +struct snapshot_data { + struct snapshot_handle handle; + int swap; + int mode; + bool frozen; + bool ready; + bool platform_support; + bool free_bitmaps; + dev_t dev; +}; + +struct snmp_mib { + const char *name; + int entry; +}; + +struct snp_cpuid_fn { + u32 eax_in; + u32 ecx_in; + u64 xcr0_in; + u64 xss_in; + u32 eax; + u32 ebx; + u32 ecx; + u32 edx; + u64 __reserved; +}; + +struct snp_cpuid_table { + u32 count; + u32 __reserved1; + u64 __reserved2; + struct snp_cpuid_fn fn[64]; +}; + +struct snp_guest_msg_hdr { + u8 authtag[32]; + u64 msg_seqno; + u8 rsvd1[8]; + u8 algo; + u8 hdr_version; + u16 hdr_sz; + u8 msg_type; + u8 msg_version; + u16 msg_sz; + u32 rsvd2; + u8 msg_vmpck; + u8 rsvd3[35]; +}; + +struct snp_guest_msg { + struct snp_guest_msg_hdr hdr; + u8 payload[4000]; +}; + +struct snp_req_data { + long unsigned int req_gpa; + long unsigned int resp_gpa; + long unsigned int data_gpa; + unsigned int data_npages; +}; + +struct snp_guest_req { + void *req_buf; + size_t req_sz; + void *resp_buf; + size_t resp_sz; + u64 exit_code; + u64 exitinfo2; + unsigned int vmpck_id; + u8 msg_version; + u8 msg_type; + struct snp_req_data input; + void *certs_data; +}; + +struct snp_secrets_page; + +struct snp_msg_desc { + struct snp_guest_msg *request; + struct snp_guest_msg *response; + struct snp_guest_msg secret_request; + struct snp_guest_msg secret_response; + struct snp_secrets_page *secrets; + struct aesgcm_ctx *ctx; + u32 *os_area_msg_seqno; + u8 *vmpck; + int vmpck_id; +}; + +struct snp_psc_desc { + struct psc_hdr hdr; + struct psc_entry entries[64]; +}; + +struct snp_secrets_page { + u32 version; + u32 imien: 1; + u32 rsvd1: 31; + u32 fms; + u32 rsvd2; + u8 gosvw[16]; + u8 vmpck0[32]; + u8 vmpck1[32]; + u8 vmpck2[32]; + u8 vmpck3[32]; + struct secrets_os_area os_area; + u8 vmsa_tweak_bitmap[64]; + u64 svsm_base; + u64 svsm_size; + u64 svsm_caa; + u32 svsm_max_version; + u8 svsm_guest_vmpl; + u8 rsvd3[3]; + u32 tsc_factor; + u8 rsvd4[3740]; +}; + +struct snp_tsc_info_req { + u8 rsvd[128]; +}; + +struct snp_tsc_info_resp { + u32 status; + u32 rsvd1; + u64 tsc_scale; + u64 tsc_offset; + u32 tsc_factor; + u8 rsvd2[100]; +}; + +struct so_timestamping { + int flags; + int bind_phc; +}; + +struct soc_device_attribute; + +struct soc_device { + struct device dev; + struct soc_device_attribute *attr; + int soc_dev_num; +}; + +struct soc_device_attribute { + const char *machine; + const char *family; + const char *revision; + const char *serial_number; + const char *soc_id; + const void *data; + const struct attribute_group *custom_attr_group; +}; + +struct sock_bh_locked { + struct sock *sock; + local_lock_t bh_lock; +}; + +struct sock_diag_handler { + struct module *owner; + __u8 family; + int (*dump)(struct sk_buff *, struct nlmsghdr *); + int (*get_info)(struct sk_buff *, struct sock *); + int (*destroy)(struct sk_buff *, struct nlmsghdr *); +}; + +struct sock_diag_inet_compat { + struct module *owner; + int (*fn)(struct sk_buff *, struct nlmsghdr *); +}; + +struct sock_diag_req { + __u8 sdiag_family; + __u8 sdiag_protocol; +}; + +struct sock_ee_data_rfc4884 { + __u16 len; + __u8 flags; + __u8 reserved; +}; + +struct sock_extended_err { + __u32 ee_errno; + __u8 ee_origin; + __u8 ee_type; + __u8 ee_code; + __u8 ee_pad; + __u32 ee_info; + union { + __u32 ee_data; + struct sock_ee_data_rfc4884 ee_rfc4884; + }; +}; + +struct sock_exterr_skb { + union { + struct inet_skb_parm h4; + struct inet6_skb_parm h6; + } header; + struct sock_extended_err ee; + u16 addr_offset; + __be16 port; + u8 opt_stats: 1; + u8 unused: 7; +}; + +struct sock_fprog { + short unsigned int len; + struct sock_filter *filter; +}; + +struct sock_fprog32 { + short unsigned int len; + compat_caddr_t filter; +}; + +struct sock_fprog_kern { + u16 len; + struct sock_filter *filter; +}; + +struct sock_hash_seq_info { + struct bpf_map *map; + struct bpf_shtab *htab; + u32 bucket_id; +}; + +struct sock_map_seq_info { + struct bpf_map *map; + struct sock *sk; + u32 index; +}; + +struct sock_reuseport { + struct callback_head rcu; + u16 max_socks; + u16 num_socks; + u16 num_closed_socks; + u16 incoming_cpu; + unsigned int synq_overflow_ts; + unsigned int reuseport_id; + unsigned int bind_inany: 1; + unsigned int has_conns: 1; + struct bpf_prog *prog; + struct sock *socks[0]; +}; + +struct sock_skb_cb { + u32 dropcount; +}; + +struct sock_txtime { + __kernel_clockid_t clockid; + __u32 flags; +}; + +struct sockaddr_mctp { + __kernel_sa_family_t smctp_family; + __u16 __smctp_pad0; + unsigned int smctp_network; + struct mctp_addr smctp_addr; + __u8 smctp_type; + __u8 smctp_tag; + __u8 __smctp_pad1; +}; + +struct sockaddr_mctp_ext { + struct sockaddr_mctp smctp_base; + int smctp_ifindex; + __u8 smctp_halen; + __u8 __smctp_pad0[3]; + __u8 smctp_haddr[32]; +}; + +struct sockaddr_nl { + __kernel_sa_family_t nl_family; + short unsigned int nl_pad; + __u32 nl_pid; + __u32 nl_groups; +}; + +struct sockaddr_un { + __kernel_sa_family_t sun_family; + char sun_path[108]; +}; + +struct sockaddr_xdp { + __u16 sxdp_family; + __u16 sxdp_flags; + __u32 sxdp_ifindex; + __u32 sxdp_queue_id; + __u32 sxdp_shared_umem_fd; +}; + +struct socket_wq { + wait_queue_head_t wait; + struct fasync_struct *fasync_list; + long unsigned int flags; + struct callback_head rcu; + long: 64; +}; + +struct socket { + socket_state state; + short int type; + long unsigned int flags; + struct file *file; + struct sock *sk; + const struct proto_ops *ops; + long: 64; + long: 64; + long: 64; + struct socket_wq wq; +}; + +struct socket__safe_trusted_or_null { + struct sock *sk; +}; + +struct socket_alloc { + struct socket socket; + struct inode vfs_inode; + long: 64; + long: 64; +}; + +struct socket_smack { + struct smack_known *smk_out; + struct smack_known *smk_in; + struct smack_known *smk_packet; + int smk_state; +}; + +struct sockmap_link { + struct bpf_link link; + struct bpf_map *map; +}; + +struct softirq_action { + void (*action)(void); +}; + +struct softnet_data { + struct list_head poll_list; + struct sk_buff_head process_queue; + local_lock_t process_queue_bh_lock; + unsigned int processed; + unsigned int time_squeeze; + struct softnet_data *rps_ipi_list; + unsigned int received_rps; + bool in_net_rx_action; + bool in_napi_threaded_poll; + struct sd_flow_limit *flow_limit; + struct Qdisc *output_queue; + struct Qdisc **output_queue_tailp; + struct sk_buff *completion_queue; + struct sk_buff_head xfrm_backlog; + struct netdev_xmit xmit; + unsigned int input_queue_head; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + call_single_data_t csd; + struct softnet_data *rps_ipi_next; + unsigned int cpu; + unsigned int input_queue_tail; + struct sk_buff_head input_pkt_queue; + struct napi_struct backlog; + long: 64; + atomic_t dropped; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + spinlock_t defer_lock; + int defer_count; + int defer_ipi_scheduled; + struct sk_buff *defer_list; + long: 64; + call_single_data_t defer_csd; +}; + +struct software_node { + const char *name; + const struct software_node *parent; + const struct property_entry *properties; +}; + +struct solaris_x86_slice { + __le16 s_tag; + __le16 s_flag; + __le32 s_start; + __le32 s_size; +}; + +struct solaris_x86_vtoc { + unsigned int v_bootinfo[3]; + __le32 v_sanity; + __le32 v_version; + char v_volume[8]; + __le16 v_sectorsz; + __le16 v_nparts; + unsigned int v_reserved[10]; + struct solaris_x86_slice v_slice[16]; + unsigned int timestamp[16]; + char v_asciilabel[128]; +}; + +struct sp_node { + struct rb_node nd; + long unsigned int start; + long unsigned int end; + struct mempolicy *policy; +}; + +struct space_resv { + __s16 l_type; + __s16 l_whence; + __s64 l_start; + __s64 l_len; + __s32 l_sysid; + __u32 l_pid; + __s32 l_pad[4]; +}; + +struct space_resv_32 { + __s16 l_type; + __s16 l_whence; + __s64 l_start; + __s64 l_len; + __s32 l_sysid; + __u32 l_pid; + __s32 l_pad[4]; +} __attribute__((packed)); + +struct speed_down_verdict_arg { + u64 since; + int xfer_ok; + int nr_errors[8]; +}; + +struct spi_controller_mem_ops; + +struct spi_controller_mem_caps; + +struct spi_offload_config; + +struct spi_statistics; + +struct spi_controller { + struct device dev; + struct list_head list; + s16 bus_num; + u16 num_chipselect; + u16 dma_alignment; + u32 mode_bits; + u32 buswidth_override_bits; + u32 bits_per_word_mask; + u32 min_speed_hz; + u32 max_speed_hz; + u16 flags; + bool devm_allocated; + union { + bool slave; + bool target; + }; + size_t (*max_transfer_size)(struct spi_device *); + size_t (*max_message_size)(struct spi_device *); + struct mutex io_mutex; + struct mutex add_lock; + spinlock_t bus_lock_spinlock; + struct mutex bus_lock_mutex; + bool bus_lock_flag; + int (*setup)(struct spi_device *); + int (*set_cs_timing)(struct spi_device *); + int (*transfer)(struct spi_device *, struct spi_message *); + void (*cleanup)(struct spi_device *); + bool (*can_dma)(struct spi_controller *, struct spi_device *, struct spi_transfer *); + struct device *dma_map_dev; + struct device *cur_rx_dma_dev; + struct device *cur_tx_dma_dev; + bool queued; + struct kthread_worker *kworker; + struct kthread_work pump_messages; + spinlock_t queue_lock; + struct list_head queue; + struct spi_message *cur_msg; + struct completion cur_msg_completion; + bool cur_msg_incomplete; + bool cur_msg_need_completion; + bool busy; + bool running; + bool rt; + bool auto_runtime_pm; + bool fallback; + bool last_cs_mode_high; + s8 last_cs[24]; + u32 last_cs_index_mask: 24; + struct completion xfer_completion; + size_t max_dma_len; + int (*optimize_message)(struct spi_message *); + int (*unoptimize_message)(struct spi_message *); + int (*prepare_transfer_hardware)(struct spi_controller *); + int (*transfer_one_message)(struct spi_controller *, struct spi_message *); + int (*unprepare_transfer_hardware)(struct spi_controller *); + int (*prepare_message)(struct spi_controller *, struct spi_message *); + int (*unprepare_message)(struct spi_controller *, struct spi_message *); + int (*target_abort)(struct spi_controller *); + void (*set_cs)(struct spi_device *, bool); + int (*transfer_one)(struct spi_controller *, struct spi_device *, struct spi_transfer *); + void (*handle_err)(struct spi_controller *, struct spi_message *); + const struct spi_controller_mem_ops *mem_ops; + const struct spi_controller_mem_caps *mem_caps; + bool dtr_caps; + struct spi_offload * (*get_offload)(struct spi_device *, const struct spi_offload_config *); + void (*put_offload)(struct spi_offload *); + struct gpio_desc **cs_gpiods; + bool use_gpio_descriptors; + s8 unused_native_cs; + s8 max_native_cs; + struct spi_statistics *pcpu_statistics; + struct dma_chan *dma_tx; + struct dma_chan *dma_rx; + void *dummy_rx; + void *dummy_tx; + int (*fw_translate_cs)(struct spi_controller *, unsigned int); + bool ptp_sts_supported; + long unsigned int irq_flags; + bool queue_empty; + bool must_async; + bool defer_optimize_message; +}; + +struct spi_controller_and_offload { + struct spi_controller *controller; + struct spi_offload *offload; +}; + +struct spi_controller_mem_caps { + bool dtr; + bool ecc; + bool swap16; + bool per_op_freq; +}; + +struct spi_mem; + +struct spi_mem_op; + +struct spi_mem_dirmap_desc; + +struct spi_controller_mem_ops { + int (*adjust_op_size)(struct spi_mem *, struct spi_mem_op *); + bool (*supports_op)(struct spi_mem *, const struct spi_mem_op *); + int (*exec_op)(struct spi_mem *, const struct spi_mem_op *); + const char * (*get_name)(struct spi_mem *); + int (*dirmap_create)(struct spi_mem_dirmap_desc *); + void (*dirmap_destroy)(struct spi_mem_dirmap_desc *); + ssize_t (*dirmap_read)(struct spi_mem_dirmap_desc *, u64, size_t, void *); + ssize_t (*dirmap_write)(struct spi_mem_dirmap_desc *, u64, size_t, const void *); + int (*poll_status)(struct spi_mem *, const struct spi_mem_op *, u16, u16, long unsigned int, long unsigned int, long unsigned int); +}; + +struct spi_device { + struct device dev; + struct spi_controller *controller; + u32 max_speed_hz; + u8 bits_per_word; + bool rt; + u32 mode; + int irq; + void *controller_state; + void *controller_data; + char modalias[32]; + const char *driver_override; + struct spi_statistics *pcpu_statistics; + struct spi_delay word_delay; + struct spi_delay cs_setup; + struct spi_delay cs_hold; + struct spi_delay cs_inactive; + u8 chip_select[24]; + u32 cs_index_mask: 24; + struct gpio_desc *cs_gpiod[24]; +}; + +struct spi_device_id { + char name[32]; + kernel_ulong_t driver_data; +}; + +struct spi_driver { + const struct spi_device_id *id_table; + int (*probe)(struct spi_device *); + void (*remove)(struct spi_device *); + void (*shutdown)(struct spi_device *); + struct device_driver driver; +}; + +struct spi_mem { + struct spi_device *spi; + void *drvpriv; + const char *name; +}; + +struct spi_mem_op { + struct { + u8 nbytes; + u8 buswidth; + u8 dtr: 1; + u8 __pad: 7; + u16 opcode; + } cmd; + struct { + u8 nbytes; + u8 buswidth; + u8 dtr: 1; + u8 __pad: 7; + u64 val; + } addr; + struct { + u8 nbytes; + u8 buswidth; + u8 dtr: 1; + u8 __pad: 7; + } dummy; + struct { + u8 buswidth; + u8 dtr: 1; + u8 ecc: 1; + u8 swap16: 1; + u8 __pad: 5; + enum spi_mem_data_dir dir; + unsigned int nbytes; + union { + void *in; + const void *out; + } buf; + } data; + unsigned int max_freq; +}; + +struct spi_mem_dirmap_info { + struct spi_mem_op op_tmpl; + u64 offset; + u64 length; +}; + +struct spi_mem_dirmap_desc { + struct spi_mem *mem; + struct spi_mem_dirmap_info info; + unsigned int nodirmap; + void *priv; +}; + +struct spi_mem_driver { + struct spi_driver spidrv; + int (*probe)(struct spi_mem *); + int (*remove)(struct spi_mem *); + void (*shutdown)(struct spi_mem *); +}; + +struct spi_offload_ops; + +struct spi_offload { + struct device *provider_dev; + void *priv; + const struct spi_offload_ops *ops; + u32 xfer_flags; +}; + +struct spi_offload_config { + u32 capability_flags; +}; + +struct spi_offload_ops { + int (*trigger_enable)(struct spi_offload *); + void (*trigger_disable)(struct spi_offload *); + struct dma_chan * (*tx_stream_request_dma_chan)(struct spi_offload *); + struct dma_chan * (*rx_stream_request_dma_chan)(struct spi_offload *); +}; + +struct spi_offload_trigger_ops; + +struct spi_offload_trigger { + struct list_head list; + struct kref ref; + struct fwnode_handle *fwnode; + struct mutex lock; + const struct spi_offload_trigger_ops *ops; + void *priv; +}; + +struct spi_offload_trigger_periodic { + u64 frequency_hz; +}; + +struct spi_offload_trigger_config { + enum spi_offload_trigger_type type; + union { + struct spi_offload_trigger_periodic periodic; + }; +}; + +struct spi_offload_trigger_info { + struct fwnode_handle *fwnode; + const struct spi_offload_trigger_ops *ops; + void *priv; +}; + +struct spi_offload_trigger_ops { + bool (*match)(struct spi_offload_trigger *, enum spi_offload_trigger_type, u64 *, u32); + int (*request)(struct spi_offload_trigger *, enum spi_offload_trigger_type, u64 *, u32); + void (*release)(struct spi_offload_trigger *); + int (*validate)(struct spi_offload_trigger *, struct spi_offload_trigger_config *); + int (*enable)(struct spi_offload_trigger *, struct spi_offload_trigger_config *); + void (*disable)(struct spi_offload_trigger *); +}; + +struct spi_replaced_transfers; + +typedef void (*spi_replaced_release_t)(struct spi_controller *, struct spi_message *, struct spi_replaced_transfers *); + +struct spi_replaced_transfers { + spi_replaced_release_t release; + void *extradata; + struct list_head replaced_transfers; + struct list_head *replaced_after; + size_t inserted; + struct spi_transfer inserted_transfers[0]; +}; + +typedef void (*spi_res_release_t)(struct spi_controller *, struct spi_message *, void *); + +struct spi_res { + struct list_head entry; + spi_res_release_t release; + long long unsigned int data[0]; +}; + +struct spi_statistics { + struct u64_stats_sync syncp; + u64_stats_t messages; + u64_stats_t transfers; + u64_stats_t errors; + u64_stats_t timedout; + u64_stats_t spi_sync; + u64_stats_t spi_sync_immediate; + u64_stats_t spi_async; + u64_stats_t bytes; + u64_stats_t bytes_rx; + u64_stats_t bytes_tx; + u64_stats_t transfer_bytes_histo[17]; + u64_stats_t transfers_split_maxsize; +}; + +struct splice_desc { + size_t total_len; + unsigned int len; + unsigned int flags; + union { + void *userptr; + struct file *file; + void *data; + } u; + void (*splice_eof)(struct splice_desc *); + loff_t pos; + loff_t *opos; + size_t num_spliced; + bool need_wakeup; +}; + +struct splice_pipe_desc { + struct page **pages; + struct partial_page *partial; + int nr_pages; + unsigned int nr_pages_max; + const struct pipe_buf_operations *ops; + void (*spd_release)(struct splice_pipe_desc *, unsigned int); +}; + +struct squashfs_base_inode { + __le16 inode_type; + __le16 mode; + __le16 uid; + __le16 guid; + __le32 mtime; + __le32 inode_number; +}; + +struct squashfs_cache_entry; + +struct squashfs_cache { + char *name; + int entries; + int curr_blk; + int next_blk; + int num_waiters; + int unused; + int block_size; + int pages; + spinlock_t lock; + wait_queue_head_t wait_queue; + struct squashfs_cache_entry *entry; +}; + +struct squashfs_page_actor; + +struct squashfs_cache_entry { + u64 block; + int length; + int refcount; + u64 next_index; + int pending; + int error; + int num_waiters; + wait_queue_head_t wait_queue; + struct squashfs_cache *cache; + void **data; + struct squashfs_page_actor *actor; +}; + +struct squashfs_sb_info; + +struct squashfs_decompressor { + void * (*init)(struct squashfs_sb_info *, void *); + void * (*comp_opts)(struct squashfs_sb_info *, void *, int); + void (*free)(void *); + int (*decompress)(struct squashfs_sb_info *, void *, struct bio *, int, int, struct squashfs_page_actor *); + int id; + char *name; + int alloc_buffer; + int supported; +}; + +struct squashfs_decompressor_thread_ops { + void * (*create)(struct squashfs_sb_info *, void *); + void (*destroy)(struct squashfs_sb_info *); + int (*decompress)(struct squashfs_sb_info *, struct bio *, int, int, struct squashfs_page_actor *); + int (*max_decompressors)(void); +}; + +struct squashfs_dev_inode { + __le16 inode_type; + __le16 mode; + __le16 uid; + __le16 guid; + __le32 mtime; + __le32 inode_number; + __le32 nlink; + __le32 rdev; +}; + +struct squashfs_dir_entry { + __le16 offset; + __le16 inode_number; + __le16 type; + __le16 size; + char name[0]; +}; + +struct squashfs_dir_header { + __le32 count; + __le32 start_block; + __le32 inode_number; +}; + +struct squashfs_dir_index { + __le32 index; + __le32 start_block; + __le32 size; + unsigned char name[0]; +}; + +struct squashfs_dir_inode { + __le16 inode_type; + __le16 mode; + __le16 uid; + __le16 guid; + __le32 mtime; + __le32 inode_number; + __le32 start_block; + __le32 nlink; + __le16 file_size; + __le16 offset; + __le32 parent_inode; +}; + +struct squashfs_fragment_entry { + __le64 start_block; + __le32 size; + unsigned int unused; +}; + +struct squashfs_ldev_inode { + __le16 inode_type; + __le16 mode; + __le16 uid; + __le16 guid; + __le32 mtime; + __le32 inode_number; + __le32 nlink; + __le32 rdev; + __le32 xattr; +}; + +struct squashfs_symlink_inode { + __le16 inode_type; + __le16 mode; + __le16 uid; + __le16 guid; + __le32 mtime; + __le32 inode_number; + __le32 nlink; + __le32 symlink_size; + char symlink[0]; +}; + +struct squashfs_reg_inode { + __le16 inode_type; + __le16 mode; + __le16 uid; + __le16 guid; + __le32 mtime; + __le32 inode_number; + __le32 start_block; + __le32 fragment; + __le32 offset; + __le32 file_size; + __le16 block_list[0]; +}; + +struct squashfs_lreg_inode { + __le16 inode_type; + __le16 mode; + __le16 uid; + __le16 guid; + __le32 mtime; + __le32 inode_number; + __le64 start_block; + __le64 file_size; + __le64 sparse; + __le32 nlink; + __le32 fragment; + __le32 offset; + __le32 xattr; + __le16 block_list[0]; +}; + +struct squashfs_ldir_inode { + __le16 inode_type; + __le16 mode; + __le16 uid; + __le16 guid; + __le32 mtime; + __le32 inode_number; + __le32 nlink; + __le32 file_size; + __le32 start_block; + __le32 parent_inode; + __le16 i_count; + __le16 offset; + __le32 xattr; + struct squashfs_dir_index index[0]; +}; + +struct squashfs_ipc_inode { + __le16 inode_type; + __le16 mode; + __le16 uid; + __le16 guid; + __le32 mtime; + __le32 inode_number; + __le32 nlink; +}; + +struct squashfs_lipc_inode { + __le16 inode_type; + __le16 mode; + __le16 uid; + __le16 guid; + __le32 mtime; + __le32 inode_number; + __le32 nlink; + __le32 xattr; +}; + +union squashfs_inode { + struct squashfs_base_inode base; + struct squashfs_dev_inode dev; + struct squashfs_ldev_inode ldev; + struct squashfs_symlink_inode symlink; + struct squashfs_reg_inode reg; + struct squashfs_lreg_inode lreg; + struct squashfs_dir_inode dir; + struct squashfs_ldir_inode ldir; + struct squashfs_ipc_inode ipc; + struct squashfs_lipc_inode lipc; +}; + +struct squashfs_inode_info { + u64 start; + int offset; + u64 xattr; + unsigned int xattr_size; + int xattr_count; + int parent; + union { + struct { + u64 fragment_block; + int fragment_size; + int fragment_offset; + u64 block_list_start; + }; + struct { + u64 dir_idx_start; + int dir_idx_offset; + int dir_idx_cnt; + }; + }; + struct inode vfs_inode; +}; + +struct squashfs_lz4 { + void *input; + void *output; +}; + +struct squashfs_lzo { + void *input; + void *output; +}; + +struct squashfs_mount_opts { + enum Opt_errors errors; + const struct squashfs_decompressor_thread_ops *thread_ops; + int thread_num; +}; + +struct squashfs_page_actor { + union { + void **buffer; + struct page **page; + }; + void *pageaddr; + void *tmp_buffer; + void * (*squashfs_first_page)(struct squashfs_page_actor *); + void * (*squashfs_next_page)(struct squashfs_page_actor *); + void (*squashfs_finish_page)(struct squashfs_page_actor *); + struct page *last_page; + int pages; + int length; + int next_page; + int alloc_buffer; + int returned_pages; + long unsigned int next_index; +}; + +struct squashfs_sb_info { + const struct squashfs_decompressor *decompressor; + int devblksize; + int devblksize_log2; + struct squashfs_cache *block_cache; + struct squashfs_cache *fragment_cache; + struct squashfs_cache *read_page; + struct address_space *cache_mapping; + int next_meta_index; + __le64 *id_table; + __le64 *fragment_index; + __le64 *xattr_id_table; + struct mutex meta_index_mutex; + struct meta_index *meta_index; + void *stream; + __le64 *inode_lookup_table; + u64 inode_table; + u64 directory_table; + u64 xattr_table; + unsigned int block_size; + short unsigned int block_log; + long long int bytes_used; + unsigned int inodes; + unsigned int fragments; + unsigned int xattr_ids; + unsigned int ids; + bool panic_on_errors; + const struct squashfs_decompressor_thread_ops *thread_ops; + int max_thread_num; +}; + +struct squashfs_stream { + void *comp_opts; + struct list_head strm_list; + struct mutex mutex; + int avail_decomp; + wait_queue_head_t wait; +}; + +struct squashfs_stream___2 { + void *stream; + local_lock_t lock; +}; + +struct squashfs_stream___3 { + void *stream; + struct mutex mutex; +}; + +struct squashfs_super_block { + __le32 s_magic; + __le32 inodes; + __le32 mkfs_time; + __le32 block_size; + __le32 fragments; + __le16 compression; + __le16 block_log; + __le16 flags; + __le16 no_ids; + __le16 s_major; + __le16 s_minor; + __le64 root_inode; + __le64 bytes_used; + __le64 id_table_start; + __le64 xattr_id_table_start; + __le64 inode_table_start; + __le64 directory_table_start; + __le64 fragment_table_start; + __le64 lookup_table_start; +}; + +struct squashfs_xattr_entry { + __le16 type; + __le16 size; + char data[0]; +}; + +struct squashfs_xattr_id { + __le64 xattr; + __le32 count; + __le32 size; +}; + +struct squashfs_xattr_id_table { + __le64 xattr_table_start; + __le32 xattr_ids; + __le32 unused; +}; + +struct squashfs_xattr_val { + __le32 vsize; + char value[0]; +}; + +struct xz_buf { + const uint8_t *in; + size_t in_pos; + size_t in_size; + uint8_t *out; + size_t out_pos; + size_t out_size; +}; + +struct xz_dec; + +struct squashfs_xz { + struct xz_dec *state; + struct xz_buf buf; +}; + +struct sr6_tlv { + __u8 type; + __u8 len; + __u8 data[0]; +}; + +struct sr6_tlv_hmac { + struct sr6_tlv tlvhdr; + __u16 reserved; + __be32 hmackeyid; + __u8 hmac[32]; +}; + +struct sram_config { + int (*init)(void); + bool map_only_reserved; +}; + +struct sram_partition; + +struct sram_dev { + const struct sram_config *config; + struct device *dev; + void *virt_base; + bool no_memory_wc; + struct gen_pool *pool; + struct sram_partition *partition; + u32 partitions; +}; + +struct sram_partition { + void *base; + struct gen_pool *pool; + struct bin_attribute battr; + struct mutex lock; + struct list_head list; +}; + +struct sram_reserve { + struct list_head list; + u32 start; + u32 size; + struct resource res; + bool export; + bool pool; + bool protect_exec; + const char *label; +}; + +struct srcu_ctr { + atomic_long_t srcu_locks; + atomic_long_t srcu_unlocks; +}; + +struct srcu_data { + struct srcu_ctr srcu_ctrs[2]; + int srcu_reader_flavor; + long: 64; + long: 64; + long: 64; + spinlock_t lock; + struct rcu_segcblist srcu_cblist; + long unsigned int srcu_gp_seq_needed; + long unsigned int srcu_gp_seq_needed_exp; + bool srcu_cblist_invoking; + struct timer_list delay_work; + struct work_struct work; + struct callback_head srcu_barrier_head; + struct srcu_node *mynode; + long unsigned int grpmask; + int cpu; + struct srcu_struct *ssp; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct srcu_node { + spinlock_t lock; + long unsigned int srcu_have_cbs[4]; + long unsigned int srcu_data_have_cbs[4]; + long unsigned int srcu_gp_seq_needed_exp; + struct srcu_node *srcu_parent; + int grplo; + int grphi; +}; + +struct ssb_state { + struct ssb_state *shared_state; + raw_spinlock_t lock; + unsigned int disable_state; + long unsigned int local_state; +}; + +union st_info { + struct { + u64 vm_st_valid: 1; + u64 vm_xst_valid: 1; + u64 vm_ph_ignore: 1; + u64 rsvd1: 5; + u64 vm_st: 8; + u64 vm_xst: 16; + u64 pm_st_valid: 1; + u64 pm_xst_valid: 1; + u64 pm_ph_ignore: 1; + u64 rsvd2: 5; + u64 pm_st: 8; + u64 pm_xst: 16; + }; + u64 value; +}; + +struct stack_entry { + struct trace_entry ent; + int size; + long unsigned int caller[0]; +}; + +struct stack_frame { + struct stack_frame *next_frame; + long unsigned int return_address; +}; + +struct stack_frame_ia32 { + u32 next_frame; + u32 return_address; +}; + +struct stack_frame_user { + const void *next_fp; + long unsigned int ret_addr; +}; + +struct stack_info { + enum stack_type type; + long unsigned int *begin; + long unsigned int *end; + long unsigned int *next_sp; +}; + +struct stack_map_bucket { + struct pcpu_freelist_node fnode; + u32 hash; + u32 nr; + u64 data[0]; +}; + +struct stack_record { + struct list_head hash_list; + u32 hash; + u32 size; + union handle_parts handle; + refcount_t count; + union { + long unsigned int entries[64]; + struct { + struct list_head free_list; + long unsigned int rcu_state; + }; + }; +}; + +struct stacktrace_cookie { + long unsigned int *store; + unsigned int size; + unsigned int skip; + unsigned int len; +}; + +struct start_info { + char magic[32]; + long unsigned int nr_pages; + long unsigned int shared_info; + uint32_t flags; + xen_pfn_t store_mfn; + uint32_t store_evtchn; + union { + struct { + xen_pfn_t mfn; + uint32_t evtchn; + } domU; + struct { + uint32_t info_off; + uint32_t info_size; + } dom0; + } console; + long unsigned int pt_base; + long unsigned int nr_pt_frames; + long unsigned int mfn_list; + long unsigned int mod_start; + long unsigned int mod_len; + int8_t cmd_line[1024]; + long unsigned int first_p2m_pfn; + long unsigned int nr_p2m_frames; +}; + +struct stashed_operations { + struct dentry * (*stash_dentry)(struct dentry **, struct dentry *); + void (*put_data)(void *); + int (*init_inode)(struct inode *, void *); +}; + +struct stat { + __kernel_ulong_t st_dev; + __kernel_ulong_t st_ino; + __kernel_ulong_t st_nlink; + unsigned int st_mode; + unsigned int st_uid; + unsigned int st_gid; + unsigned int __pad0; + __kernel_ulong_t st_rdev; + __kernel_long_t st_size; + __kernel_long_t st_blksize; + __kernel_long_t st_blocks; + __kernel_ulong_t st_atime; + __kernel_ulong_t st_atime_nsec; + __kernel_ulong_t st_mtime; + __kernel_ulong_t st_mtime_nsec; + __kernel_ulong_t st_ctime; + __kernel_ulong_t st_ctime_nsec; + __kernel_long_t __unused[3]; +}; + +struct stat64 { + long long unsigned int st_dev; + unsigned char __pad0[4]; + unsigned int __st_ino; + unsigned int st_mode; + unsigned int st_nlink; + unsigned int st_uid; + unsigned int st_gid; + long long unsigned int st_rdev; + unsigned char __pad3[4]; + long long int st_size; + unsigned int st_blksize; + long long int st_blocks; + unsigned int st_atime; + unsigned int st_atime_nsec; + unsigned int st_mtime; + unsigned int st_mtime_nsec; + unsigned int st_ctime; + unsigned int st_ctime_nsec; + long long unsigned int st_ino; +} __attribute__((packed)); + +struct stat_node { + struct rb_node node; + void *stat; +}; + +struct stat_session { + struct list_head session_list; + struct tracer_stat *ts; + struct rb_root stat_root; + struct mutex stat_mutex; + struct dentry *file; +}; + +struct statfs { + __kernel_long_t f_type; + __kernel_long_t f_bsize; + __kernel_long_t f_blocks; + __kernel_long_t f_bfree; + __kernel_long_t f_bavail; + __kernel_long_t f_files; + __kernel_long_t f_ffree; + __kernel_fsid_t f_fsid; + __kernel_long_t f_namelen; + __kernel_long_t f_frsize; + __kernel_long_t f_flags; + __kernel_long_t f_spare[4]; +}; + +struct statfs64 { + __kernel_long_t f_type; + __kernel_long_t f_bsize; + __u64 f_blocks; + __u64 f_bfree; + __u64 f_bavail; + __u64 f_files; + __u64 f_ffree; + __kernel_fsid_t f_fsid; + __kernel_long_t f_namelen; + __kernel_long_t f_frsize; + __kernel_long_t f_flags; + __kernel_long_t f_spare[4]; +}; + +struct static_call_mod; + +struct static_call_key { + void *func; + union { + long unsigned int type; + struct static_call_mod *mods; + struct static_call_site *sites; + }; +}; + +struct static_call_mod { + struct static_call_mod *next; + struct module *mod; + struct static_call_site *sites; +}; + +struct static_call_site { + s32 addr; + s32 key; +}; + +struct static_call_tramp_key { + s32 tramp; + s32 key; +}; + +struct static_key_deferred { + struct static_key key; + long unsigned int timeout; + struct delayed_work work; +}; + +struct static_key_false_deferred { + struct static_key_false key; + long unsigned int timeout; + struct delayed_work work; +}; + +struct static_key_mod { + struct static_key_mod *next; + struct jump_entry *entries; + struct module *mod; +}; + +struct static_tree_desc_s { + const ct_data *static_tree; + const int *extra_bits; + int extra_base; + int elems; + int max_length; +}; + +struct stats_reply_data { + struct ethnl_reply_data base; + union { + struct { + struct ethtool_eth_phy_stats phy_stats; + struct ethtool_eth_mac_stats mac_stats; + struct ethtool_eth_ctrl_stats ctrl_stats; + struct ethtool_rmon_stats rmon_stats; + struct ethtool_phy_stats phydev_stats; + }; + struct { + struct ethtool_eth_phy_stats phy_stats; + struct ethtool_eth_mac_stats mac_stats; + struct ethtool_eth_ctrl_stats ctrl_stats; + struct ethtool_rmon_stats rmon_stats; + struct ethtool_phy_stats phydev_stats; + } stats; + }; + const struct ethtool_rmon_hist_range *rmon_ranges; +}; + +struct stats_req_info { + struct ethnl_req_info base; + long unsigned int stat_mask[1]; + enum ethtool_mac_stats_src src; +}; + +struct statx_timestamp { + __s64 tv_sec; + __u32 tv_nsec; + __s32 __reserved; +}; + +struct statx { + __u32 stx_mask; + __u32 stx_blksize; + __u64 stx_attributes; + __u32 stx_nlink; + __u32 stx_uid; + __u32 stx_gid; + __u16 stx_mode; + __u16 __spare0[1]; + __u64 stx_ino; + __u64 stx_size; + __u64 stx_blocks; + __u64 stx_attributes_mask; + struct statx_timestamp stx_atime; + struct statx_timestamp stx_btime; + struct statx_timestamp stx_ctime; + struct statx_timestamp stx_mtime; + __u32 stx_rdev_major; + __u32 stx_rdev_minor; + __u32 stx_dev_major; + __u32 stx_dev_minor; + __u64 stx_mnt_id; + __u32 stx_dio_mem_align; + __u32 stx_dio_offset_align; + __u64 stx_subvol; + __u32 stx_atomic_write_unit_min; + __u32 stx_atomic_write_unit_max; + __u32 stx_atomic_write_segments_max; + __u32 stx_dio_read_offset_align; + __u32 stx_atomic_write_unit_max_opt; + __u32 __spare2[1]; + __u64 __spare3[8]; +}; + +struct stereo_mandatory_mode { + int width; + int height; + int vrefresh; + unsigned int flags; +}; + +struct stop_event_data { + struct perf_event *event; + unsigned int restart; +}; + +struct stored_match_addr { + union { + struct sockaddr addr; + struct sockaddr_in addr4; + struct sockaddr_in6 addr6; + }; + int addrlen; + struct match_addr maddr; +}; + +struct strarray { + char **array; + size_t n; +}; + +struct stripe { + struct dm_dev *dev; + sector_t physical_start; + atomic_t error_count; +}; + +struct stripe_c { + uint32_t stripes; + int stripes_shift; + sector_t stripe_width; + uint32_t chunk_size; + int chunk_size_shift; + struct dm_target *ti; + struct work_struct trigger_event; + struct stripe stripe[0]; +}; + +struct strset_info { + bool per_dev; + bool free_strings; + unsigned int count; + const char (*strings)[32]; +}; + +struct strset_reply_data { + struct ethnl_reply_data base; + struct strset_info sets[23]; +}; + +struct strset_req_info { + struct ethnl_req_info base; + u32 req_ids; + bool counts_only; +}; + +struct subflow_send_info { + struct sock *ssk; + u64 linger_time; +}; + +struct subprocess_info { + struct work_struct work; + struct completion *complete; + const char *path; + char **argv; + char **envp; + int wait; + int retval; + int (*init)(struct subprocess_info *, struct cred *); + void (*cleanup)(struct subprocess_info *); + void *data; +}; + +struct subsys_dev_iter { + struct klist_iter ki; + const struct device_type *type; +}; + +struct subsys_interface { + const char *name; + const struct bus_type *subsys; + struct list_head node; + int (*add_dev)(struct device *, struct subsys_interface *); + void (*remove_dev)(struct device *, struct subsys_interface *); +}; + +struct subsys_private { + struct kset subsys; + struct kset *devices_kset; + struct list_head interfaces; + struct mutex mutex; + struct kset *drivers_kset; + struct klist klist_devices; + struct klist klist_drivers; + struct blocking_notifier_head bus_notifier; + unsigned int drivers_autoprobe: 1; + const struct bus_type *bus; + struct device *dev_root; + struct kset glue_dirs; + const struct class *class; + struct lock_class_key lock_key; +}; + +struct sugov_policy; + +struct sugov_cpu { + struct update_util_data update_util; + struct sugov_policy *sg_policy; + unsigned int cpu; + bool iowait_boost_pending; + unsigned int iowait_boost; + u64 last_update; + long unsigned int util; + long unsigned int bw_min; + long unsigned int saved_idle_calls; +}; + +struct sugov_tunables; + +struct sugov_policy { + struct cpufreq_policy *policy; + struct sugov_tunables *tunables; + struct list_head tunables_hook; + raw_spinlock_t update_lock; + u64 last_freq_update_time; + s64 freq_update_delay_ns; + unsigned int next_freq; + unsigned int cached_raw_freq; + struct irq_work irq_work; + struct kthread_work work; + struct mutex work_lock; + struct kthread_worker worker; + struct task_struct *thread; + bool work_in_progress; + bool limits_changed; + bool need_freq_update; +}; + +struct sugov_tunables { + struct gov_attr_set attr_set; + unsigned int rate_limit_us; +}; + +struct summary_data { + struct seq_file *s; + struct regulator_dev *parent; + int level; +}; + +struct summary_lock_data { + struct ww_acquire_ctx *ww_ctx; + struct regulator_dev **new_contended_rdev; + struct regulator_dev **old_contended_rdev; +}; + +struct sun_info { + __be16 id; + __be16 flags; +}; + +struct sun_vtoc { + __be32 version; + char volume[8]; + __be16 nparts; + struct sun_info infos[8]; + __be16 padding; + __be32 bootinfo[3]; + __be32 sanity; + __be32 reserved[10]; + __be32 timestamp[8]; +}; + +struct sun_partition { + __be32 start_cylinder; + __be32 num_sectors; +}; + +struct sun_disklabel { + unsigned char info[128]; + struct sun_vtoc vtoc; + __be32 write_reinstruct; + __be32 read_reinstruct; + unsigned char spare[148]; + __be16 rspeed; + __be16 pcylcount; + __be16 sparecyl; + __be16 obs1; + __be16 obs2; + __be16 ilfact; + __be16 ncyl; + __be16 nacyl; + __be16 ntrks; + __be16 nsect; + __be16 obs3; + __be16 obs4; + struct sun_partition partitions[8]; + __be16 magic; + __be16 csum; +}; + +struct mtd_info; + +struct super_block { + struct list_head s_list; + dev_t s_dev; + unsigned char s_blocksize_bits; + long unsigned int s_blocksize; + loff_t s_maxbytes; + struct file_system_type *s_type; + const struct super_operations *s_op; + const struct dquot_operations *dq_op; + const struct quotactl_ops *s_qcop; + const struct export_operations *s_export_op; + long unsigned int s_flags; + long unsigned int s_iflags; + long unsigned int s_magic; + struct dentry *s_root; + struct rw_semaphore s_umount; + int s_count; + atomic_t s_active; + void *s_security; + const struct xattr_handler * const *s_xattr; + const struct fscrypt_operations *s_cop; + struct fscrypt_keyring *s_master_keys; + const struct fsverity_operations *s_vop; + struct unicode_map *s_encoding; + __u16 s_encoding_flags; + struct hlist_bl_head s_roots; + struct list_head s_mounts; + struct block_device *s_bdev; + struct file *s_bdev_file; + struct backing_dev_info *s_bdi; + struct mtd_info *s_mtd; + struct hlist_node s_instances; + unsigned int s_quota_types; + struct quota_info s_dquot; + struct sb_writers s_writers; + void *s_fs_info; + u32 s_time_gran; + time64_t s_time_min; + time64_t s_time_max; + u32 s_fsnotify_mask; + struct fsnotify_sb_info *s_fsnotify_info; + char s_id[32]; + uuid_t s_uuid; + u8 s_uuid_len; + char s_sysfs_name[37]; + unsigned int s_max_links; + unsigned int s_d_flags; + struct mutex s_vfs_rename_mutex; + const char *s_subtype; + const struct dentry_operations *__s_d_op; + struct shrinker *s_shrink; + atomic_long_t s_remove_count; + int s_readonly_remount; + errseq_t s_wb_err; + struct workqueue_struct *s_dio_done_wq; + struct hlist_head s_pins; + struct user_namespace *s_user_ns; + struct list_lru s_dentry_lru; + struct list_lru s_inode_lru; + struct callback_head rcu; + struct work_struct destroy_work; + struct mutex s_sync_lock; + int s_stack_depth; + long: 0; + spinlock_t s_inode_list_lock; + struct list_head s_inodes; + spinlock_t s_inode_wblist_lock; + struct list_head s_inodes_wb; + long: 64; + long: 64; +}; + +struct super_operations { + struct inode * (*alloc_inode)(struct super_block *); + void (*destroy_inode)(struct inode *); + void (*free_inode)(struct inode *); + void (*dirty_inode)(struct inode *, int); + int (*write_inode)(struct inode *, struct writeback_control *); + int (*drop_inode)(struct inode *); + void (*evict_inode)(struct inode *); + void (*put_super)(struct super_block *); + int (*sync_fs)(struct super_block *, int); + int (*freeze_super)(struct super_block *, enum freeze_holder, const void *); + int (*freeze_fs)(struct super_block *); + int (*thaw_super)(struct super_block *, enum freeze_holder, const void *); + int (*unfreeze_fs)(struct super_block *); + int (*statfs)(struct dentry *, struct kstatfs *); + int (*remount_fs)(struct super_block *, int *, char *); + void (*umount_begin)(struct super_block *); + int (*show_options)(struct seq_file *, struct dentry *); + int (*show_devname)(struct seq_file *, struct dentry *); + int (*show_path)(struct seq_file *, struct dentry *); + int (*show_stats)(struct seq_file *, struct dentry *); + ssize_t (*quota_read)(struct super_block *, int, char *, size_t, loff_t); + ssize_t (*quota_write)(struct super_block *, int, const char *, size_t, loff_t); + struct dquot ** (*get_dquots)(struct inode *); + long int (*nr_cached_objects)(struct super_block *, struct shrink_control *); + long int (*free_cached_objects)(struct super_block *, struct shrink_control *); + int (*remove_bdev)(struct super_block *, struct block_device *); + void (*shutdown)(struct super_block *); +}; + +struct super_type { + char *name; + struct module *owner; + int (*load_super)(struct md_rdev *, struct md_rdev *, int); + int (*validate_super)(struct mddev *, struct md_rdev *, struct md_rdev *); + void (*sync_super)(struct mddev *, struct md_rdev *); + long long unsigned int (*rdev_size_change)(struct md_rdev *, sector_t); + int (*allow_new_offset)(struct md_rdev *, long long unsigned int); +}; + +struct superblock_security_struct { + u32 sid; + u32 def_sid; + u32 mntpoint_sid; + short unsigned int behavior; + short unsigned int flags; + struct mutex lock; + struct list_head isec_head; + spinlock_t isec_lock; +}; + +struct superblock_smack { + struct smack_known *smk_root; + struct smack_known *smk_floor; + struct smack_known *smk_hat; + struct smack_known *smk_default; + int smk_flags; +}; + +struct suspend_info { + int cancelled; +}; + +struct suspend_performance_record { + struct fpdt_record_header header; + u64 suspend_start; + u64 suspend_end; +} __attribute__((packed)); + +struct suspend_stats { + unsigned int step_failures[8]; + unsigned int success; + unsigned int fail; + int last_failed_dev; + char failed_devs[80]; + int last_failed_errno; + int errno[2]; + int last_failed_step; + u64 last_hw_sleep; + u64 total_hw_sleep; + u64 max_hw_sleep; + enum suspend_stat_step failed_steps[2]; +}; + +struct svc_cred { + kuid_t cr_uid; + kgid_t cr_gid; + struct group_info *cr_group_info; + u32 cr_flavor; + char *cr_raw_principal; + char *cr_principal; + char *cr_targ_princ; + struct gss_api_mech *cr_gss_mech; +}; + +struct svc_deferred_req { + u32 prot; + struct svc_xprt *xprt; + struct __kernel_sockaddr_storage addr; + size_t addrlen; + struct __kernel_sockaddr_storage daddr; + size_t daddrlen; + void *xprt_ctxt; + struct cache_deferred_req handle; + int argslen; + __be32 args[0]; +}; + +struct svc_pool { + unsigned int sp_id; + struct lwq sp_xprts; + unsigned int sp_nrthreads; + struct list_head sp_all_threads; + struct llist_head sp_idle_threads; + struct percpu_counter sp_messages_arrived; + struct percpu_counter sp_sockets_queued; + struct percpu_counter sp_threads_woken; + long unsigned int sp_flags; +}; + +struct svc_procedure { + __be32 (*pc_func)(struct svc_rqst *); + bool (*pc_decode)(struct svc_rqst *, struct xdr_stream *); + bool (*pc_encode)(struct svc_rqst *, struct xdr_stream *); + void (*pc_release)(struct svc_rqst *); + unsigned int pc_argsize; + unsigned int pc_argzero; + unsigned int pc_ressize; + unsigned int pc_cachetype; + unsigned int pc_xdrressize; + const char *pc_name; +}; + +struct svc_process_info { + union { + int (*dispatch)(struct svc_rqst *); + struct { + unsigned int lovers; + unsigned int hivers; + } mismatch; + }; +}; + +struct svc_version; + +struct svc_program { + u32 pg_prog; + unsigned int pg_lovers; + unsigned int pg_hivers; + unsigned int pg_nvers; + const struct svc_version **pg_vers; + char *pg_name; + char *pg_class; + enum svc_auth_status (*pg_authenticate)(struct svc_rqst *); + __be32 (*pg_init_request)(struct svc_rqst *, const struct svc_program *, struct svc_process_info *); + int (*pg_rpcbind_set)(struct net *, const struct svc_program *, u32, int, short unsigned int, short unsigned int); +}; + +struct xdr_stream { + __be32 *p; + struct xdr_buf *buf; + __be32 *end; + struct kvec *iov; + struct kvec scratch; + struct page **page_ptr; + void *page_kaddr; + unsigned int nwords; + struct rpc_rqst *rqst; +}; + +struct svc_rqst { + struct list_head rq_all; + struct llist_node rq_idle; + struct callback_head rq_rcu_head; + struct svc_xprt *rq_xprt; + struct __kernel_sockaddr_storage rq_addr; + size_t rq_addrlen; + struct __kernel_sockaddr_storage rq_daddr; + size_t rq_daddrlen; + struct svc_serv *rq_server; + struct svc_pool *rq_pool; + const struct svc_procedure *rq_procinfo; + struct auth_ops *rq_authop; + struct svc_cred rq_cred; + void *rq_xprt_ctxt; + struct svc_deferred_req *rq_deferred; + struct xdr_buf rq_arg; + struct xdr_stream rq_arg_stream; + struct xdr_stream rq_res_stream; + struct page *rq_scratch_page; + struct xdr_buf rq_res; + long unsigned int rq_maxpages; + struct page **rq_pages; + struct page **rq_respages; + struct page **rq_next_page; + struct page **rq_page_end; + struct folio_batch rq_fbatch; + struct bio_vec *rq_bvec; + __be32 rq_xid; + u32 rq_prog; + u32 rq_vers; + u32 rq_proc; + u32 rq_prot; + int rq_cachetype; + long unsigned int rq_flags; + ktime_t rq_qtime; + void *rq_argp; + void *rq_resp; + __be32 *rq_accept_statp; + void *rq_auth_data; + __be32 rq_auth_stat; + int rq_auth_slack; + int rq_reserved; + ktime_t rq_stime; + struct cache_req rq_chandle; + struct auth_domain *rq_client; + struct auth_domain *rq_gssclient; + struct task_struct *rq_task; + struct net *rq_bc_net; + int rq_err; + long unsigned int bc_to_initval; + unsigned int bc_to_retries; + unsigned int rq_status_counter; + void **rq_lease_breaker; +}; + +struct svc_stat; + +struct svc_serv { + struct svc_program *sv_programs; + struct svc_stat *sv_stats; + spinlock_t sv_lock; + unsigned int sv_nprogs; + unsigned int sv_nrthreads; + unsigned int sv_max_payload; + unsigned int sv_max_mesg; + unsigned int sv_xdrsize; + struct list_head sv_permsocks; + struct list_head sv_tempsocks; + int sv_tmpcnt; + struct timer_list sv_temptimer; + char *sv_name; + unsigned int sv_nrpools; + bool sv_is_pooled; + struct svc_pool *sv_pools; + int (*sv_threadfn)(void *); + struct lwq sv_cb_list; + bool sv_bc_enabled; +}; + +struct svc_stat { + struct svc_program *program; + unsigned int netcnt; + unsigned int netudpcnt; + unsigned int nettcpcnt; + unsigned int nettcpconn; + unsigned int rpccnt; + unsigned int rpcbadfmt; + unsigned int rpcbadauth; + unsigned int rpcbadclnt; +}; + +struct svc_version { + u32 vs_vers; + u32 vs_nproc; + const struct svc_procedure *vs_proc; + long unsigned int *vs_count; + u32 vs_xdrsize; + bool vs_hidden; + bool vs_rpcb_optnl; + bool vs_need_cong_ctrl; + int (*vs_dispatch)(struct svc_rqst *); +}; + +struct svsm_loc_entry { + u64 pa; + u32 len; + u8 rsvd[4]; +}; + +struct svsm_attest_call { + struct svsm_loc_entry report_buf; + struct svsm_loc_entry nonce; + struct svsm_loc_entry manifest_buf; + struct svsm_loc_entry certificates_buf; + u8 service_guid[16]; + u32 service_manifest_ver; + u8 rsvd[4]; +}; + +struct svsm_ca { + u8 call_pending; + u8 mem_available; + u8 rsvd1[6]; + u8 svsm_buffer[4088]; +}; + +struct svsm_call { + struct svsm_ca *caa; + u64 rax; + u64 rcx; + u64 rdx; + u64 r8; + u64 r9; + u64 rax_out; + u64 rcx_out; + u64 rdx_out; + u64 r8_out; + u64 r9_out; +}; + +struct svsm_pvalidate_entry { + u64 page_size: 2; + u64 action: 1; + u64 ignore_cf: 1; + u64 rsvd: 8; + u64 pfn: 52; +}; + +struct svsm_pvalidate_call { + u16 num_entries; + u16 cur_index; + u8 rsvd1[4]; + struct svsm_pvalidate_entry entry[0]; +}; + +struct sw_sync_create_fence_data { + __u32 value; + char name[32]; + __s32 fence; +}; + +struct sw_sync_get_deadline { + __u64 deadline_ns; + __u32 pad; + __s32 fence_fd; +}; + +struct swait_queue { + struct task_struct *task; + struct list_head task_list; +}; + +struct swap_cgroup { + atomic_t ids; +}; + +struct swap_cgroup_ctrl { + struct swap_cgroup *map; +}; + +struct swap_cluster_info { + spinlock_t lock; + u16 count; + u8 flags; + u8 order; + struct list_head list; +}; + +struct swap_extent { + struct rb_node rb_node; + long unsigned int start_page; + long unsigned int nr_pages; + sector_t start_block; +}; + +union swap_header { + struct { + char reserved[4086]; + char magic[10]; + } magic; + struct { + char bootbits[1024]; + __u32 version; + __u32 last_page; + __u32 nr_badpages; + unsigned char sws_uuid[16]; + unsigned char sws_volume[16]; + __u32 padding[117]; + __u32 badpages[1]; + } info; +}; + +struct swap_sequential_cluster; + +struct swap_info_struct { + struct percpu_ref users; + long unsigned int flags; + short int prio; + struct plist_node list; + signed char type; + unsigned int max; + unsigned char *swap_map; + long unsigned int *zeromap; + struct swap_cluster_info *cluster_info; + struct list_head free_clusters; + struct list_head full_clusters; + struct list_head nonfull_clusters[10]; + struct list_head frag_clusters[10]; + atomic_long_t frag_cluster_nr[10]; + unsigned int pages; + atomic_long_t inuse_pages; + struct swap_sequential_cluster *global_cluster; + spinlock_t global_cluster_lock; + struct rb_root swap_extent_root; + struct block_device *bdev; + struct file *swap_file; + struct completion comp; + spinlock_t lock; + spinlock_t cont_lock; + struct work_struct discard_work; + struct work_struct reclaim_work; + struct list_head discard_clusters; + struct plist_node avail_lists[0]; +}; + +struct swap_iocb { + struct kiocb iocb; + struct bio_vec bvec[32]; + int pages; + int len; +}; + +struct swap_map_page; + +struct swap_map_page_list; + +struct swap_map_handle { + struct swap_map_page *cur; + struct swap_map_page_list *maps; + sector_t cur_swap; + sector_t first_sector; + unsigned int k; + long unsigned int reqd_free_pages; + u32 crc32; +}; + +struct swap_map_page { + sector_t entries[511]; + sector_t next_swap; +}; + +struct swap_map_page_list { + struct swap_map_page *map; + struct swap_map_page_list *next; +}; + +struct swap_sequential_cluster { + unsigned int next[10]; +}; + +struct swevent_hlist { + struct hlist_head heads[256]; + struct callback_head callback_head; +}; + +struct swevent_htable { + struct swevent_hlist *swevent_hlist; + struct mutex hlist_mutex; + int hlist_refcount; +}; + +struct switchdev_mst_state { + u16 msti; + u8 state; +}; + +struct switchdev_brport_flags { + long unsigned int val; + long unsigned int mask; +}; + +struct switchdev_vlan_msti { + u16 vid; + u16 msti; +}; + +struct switchdev_attr { + struct net_device *orig_dev; + enum switchdev_attr_id id; + u32 flags; + void *complete_priv; + void (*complete)(struct net_device *, int, void *); + union { + u8 stp_state; + struct switchdev_mst_state mst_state; + struct switchdev_brport_flags brport_flags; + bool mrouter; + clock_t ageing_time; + bool vlan_filtering; + u16 vlan_protocol; + bool mst; + bool mc_disabled; + u8 mrp_port_role; + struct switchdev_vlan_msti vlan_msti; + } u; +}; + +struct switchdev_brport { + struct net_device *dev; + const void *ctx; + struct notifier_block *atomic_nb; + struct notifier_block *blocking_nb; + bool tx_fwd_offload; +}; + +typedef void switchdev_deferred_func_t(struct net_device *, const void *); + +struct switchdev_deferred_item { + struct list_head list; + struct net_device *dev; + netdevice_tracker dev_tracker; + switchdev_deferred_func_t *func; + long unsigned int data[0]; +}; + +struct switchdev_nested_priv { + bool (*check_cb)(const struct net_device *); + bool (*foreign_dev_check_cb)(const struct net_device *, const struct net_device *); + const struct net_device *dev; + struct net_device *lower_dev; +}; + +struct switchdev_notifier_info { + struct net_device *dev; + struct netlink_ext_ack *extack; + const void *ctx; +}; + +struct switchdev_notifier_brport_info { + struct switchdev_notifier_info info; + const struct switchdev_brport brport; +}; + +struct switchdev_notifier_fdb_info { + struct switchdev_notifier_info info; + const unsigned char *addr; + u16 vid; + u8 added_by_user: 1; + u8 is_local: 1; + u8 locked: 1; + u8 offloaded: 1; +}; + +struct switchdev_notifier_port_attr_info { + struct switchdev_notifier_info info; + const struct switchdev_attr *attr; + bool handled; +}; + +struct switchdev_obj; + +struct switchdev_notifier_port_obj_info { + struct switchdev_notifier_info info; + const struct switchdev_obj *obj; + bool handled; +}; + +struct switchdev_obj { + struct list_head list; + struct net_device *orig_dev; + enum switchdev_obj_id id; + u32 flags; + void *complete_priv; + void (*complete)(struct net_device *, int, void *); +}; + +struct switchdev_obj_mrp { + struct switchdev_obj obj; + struct net_device *p_port; + struct net_device *s_port; + u32 ring_id; + u16 prio; +}; + +struct switchdev_obj_port_mdb { + struct switchdev_obj obj; + unsigned char addr[6]; + u16 vid; +}; + +struct switchdev_obj_port_vlan { + struct switchdev_obj obj; + u16 flags; + u16 vid; + bool changed; +}; + +struct switchdev_obj_ring_role_mrp { + struct switchdev_obj obj; + u8 ring_role; + u32 ring_id; + u8 sw_backup; +}; + +struct swmii_regs { + u16 bmsr; + u16 lpa; + u16 lpagb; + u16 estat; +}; + +struct swnode { + struct kobject kobj; + struct fwnode_handle fwnode; + const struct software_node *node; + int id; + struct ida child_ids; + struct list_head entry; + struct list_head children; + struct swnode *parent; + unsigned int allocated: 1; + unsigned int managed: 1; +}; + +struct swsusp_extent { + struct rb_node node; + long unsigned int start; + long unsigned int end; +}; + +struct swsusp_header { + char reserved[4056]; + u32 hw_sig; + u32 crc32; + sector_t image; + unsigned int flags; + char orig_sig[10]; + char sig[10]; +}; + +struct swsusp_info { + struct new_utsname uts; + u32 version_code; + long unsigned int num_physpages; + int cpus; + long unsigned int image_pages; + long unsigned int pages; + long unsigned int size; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct sx150x_123_pri { + u8 reg_pld_mode; + u8 reg_pld_table0; + u8 reg_pld_table1; + u8 reg_pld_table2; + u8 reg_pld_table3; + u8 reg_pld_table4; + u8 reg_advanced; +}; + +struct sx150x_456_pri { + u8 reg_pld_mode; + u8 reg_pld_table0; + u8 reg_pld_table1; + u8 reg_pld_table2; + u8 reg_pld_table3; + u8 reg_pld_table4; + u8 reg_advanced; +}; + +struct sx150x_789_pri { + u8 reg_drain; + u8 reg_polarity; + u8 reg_clock; + u8 reg_misc; + u8 reg_reset; + u8 ngpios; +}; + +struct sx150x_device_data { + u8 model; + u8 reg_pullup; + u8 reg_pulldn; + u8 reg_dir; + u8 reg_data; + u8 reg_irq_mask; + u8 reg_irq_src; + u8 reg_sense; + u8 ngpios; + union { + struct sx150x_123_pri x123; + struct sx150x_456_pri x456; + struct sx150x_789_pri x789; + } pri; + const struct pinctrl_pin_desc *pins; + unsigned int npins; +}; + +struct sx150x_pinctrl { + struct device *dev; + struct i2c_client *client; + struct pinctrl_dev *pctldev; + struct pinctrl_desc pinctrl_desc; + struct gpio_chip gpio; + struct regmap *regmap; + struct { + u32 sense; + u32 masked; + } irq; + struct mutex lock; + const struct sx150x_device_data *data; +}; + +struct sym_count_ctx { + unsigned int count; + const char *name; +}; + +struct symsearch { + const struct kernel_symbol *start; + const struct kernel_symbol *stop; + const u32 *crcs; + enum mod_license license; +}; + +struct sync_fence_info { + char obj_name[32]; + char driver_name[32]; + __s32 status; + __u32 flags; + __u64 timestamp_ns; +}; + +struct sync_file { + struct file *file; + char user_name[32]; + struct list_head sync_file_list; + wait_queue_head_t wq; + long unsigned int flags; + struct dma_fence *fence; + struct dma_fence_cb cb; +}; + +struct sync_file_info { + char name[32]; + __s32 status; + __u32 flags; + __u32 num_fences; + __u32 pad; + __u64 sync_fence_info; +}; + +struct sync_io { + long unsigned int error_bits; + struct completion wait; +}; + +struct sync_merge_data { + char name[32]; + __s32 fd2; + __s32 fence; + __u32 flags; + __u32 pad; +}; + +struct sync_pt { + struct dma_fence base; + struct list_head link; + struct rb_node node; + ktime_t deadline; +}; + +struct sync_set_deadline { + __u64 deadline_ns; + __u64 pad; +}; + +struct sync_timeline { + struct kref kref; + char name[32]; + u64 context; + int value; + struct rb_root pt_tree; + struct list_head pt_list; + spinlock_t lock; + struct list_head sync_timeline_list; +}; + +struct syncobj_eventfd_entry { + struct list_head node; + struct dma_fence *fence; + struct dma_fence_cb fence_cb; + struct drm_syncobj *syncobj; + struct eventfd_ctx *ev_fd_ctx; + u64 point; + u32 flags; +}; + +struct syncobj_wait_entry { + struct list_head node; + struct task_struct *task; + struct dma_fence *fence; + struct dma_fence_cb fence_cb; + u64 point; +}; + +struct trace_event_fields; + +struct trace_event_class { + const char *system; + void *probe; + void *perf_probe; + int (*reg)(struct trace_event_call *, enum trace_reg, void *); + struct trace_event_fields *fields_array; + struct list_head * (*get_fields)(struct trace_event_call *); + struct list_head fields; + int (*raw_init)(struct trace_event_call *); +}; + +struct trace_event_functions; + +struct trace_event { + struct hlist_node node; + int type; + struct trace_event_functions *funcs; +}; + +struct trace_event_call { + struct list_head list; + struct trace_event_class *class; + union { + const char *name; + struct tracepoint *tp; + }; + struct trace_event event; + char *print_fmt; + union { + void *module; + atomic_t refcnt; + }; + void *data; + int flags; + int perf_refcount; + struct hlist_head *perf_events; + struct bpf_prog_array *prog_array; + int (*perf_perm)(struct trace_event_call *, struct perf_event *); +}; + +struct synth_field; + +struct synth_event { + struct dyn_event devent; + int ref; + char *name; + struct synth_field **fields; + unsigned int n_fields; + struct synth_field **dynamic_fields; + unsigned int n_dynamic_fields; + unsigned int n_u64; + struct trace_event_class class; + struct trace_event_call call; + struct tracepoint *tp; + struct module *mod; +}; + +struct trace_event_buffer { + struct trace_buffer *buffer; + struct ring_buffer_event *event; + struct trace_event_file *trace_file; + void *entry; + unsigned int trace_ctx; + struct pt_regs *regs; +}; + +struct synth_trace_event; + +struct synth_event_trace_state { + struct trace_event_buffer fbuffer; + struct synth_trace_event *entry; + struct trace_buffer *buffer; + struct synth_event *event; + unsigned int cur_field; + unsigned int n_u64; + bool disabled; + bool add_next; + bool add_name; +}; + +struct synth_field { + char *type; + char *name; + size_t size; + unsigned int offset; + unsigned int field_pos; + bool is_signed; + bool is_string; + bool is_dynamic; + bool is_stack; +}; + +struct synth_field_desc { + const char *type; + const char *name; +}; + +struct trace_dynamic_info { + u16 offset; + u16 len; +}; + +union trace_synth_field { + u8 as_u8; + u16 as_u16; + u32 as_u32; + u64 as_u64; + struct trace_dynamic_info as_dynamic; +}; + +struct synth_trace_event { + struct trace_entry ent; + union trace_synth_field fields[0]; +}; + +struct sys_info_name { + long unsigned int bit; + const char *name; +}; + +struct sys_off_data { + int mode; + void *cb_data; + const char *cmd; + struct device *dev; +}; + +struct sys_off_handler { + struct notifier_block nb; + int (*sys_off_cb)(struct sys_off_data *); + void *cb_data; + enum sys_off_mode mode; + bool blocking; + void *list; + struct device *dev; +}; + +struct syscall_info { + __u64 sp; + struct seccomp_data data; +}; + +struct syscall_metadata { + const char *name; + int syscall_nr; + int nb_args; + const char **types; + const char **args; + struct list_head enter_fields; + struct trace_event_call *enter_event; + struct trace_event_call *exit_event; +}; + +struct syscall_tp_t { + struct trace_entry ent; + int syscall_nr; + long unsigned int ret; +}; + +struct syscall_tp_t___2 { + struct trace_entry ent; + int syscall_nr; + long unsigned int args[6]; +}; + +struct syscall_trace_enter { + struct trace_entry ent; + int nr; + long unsigned int args[0]; +}; + +struct syscall_trace_exit { + struct trace_entry ent; + int nr; + long int ret; +}; + +struct syscall_user_dispatch { + char *selector; + long unsigned int offset; + long unsigned int len; + bool on_dispatch; +}; + +struct syscon { + struct device_node *np; + struct regmap *regmap; + struct reset_control *reset; + struct list_head list; +}; + +struct syscore_ops { + struct list_head node; + int (*suspend)(void); + void (*resume)(void); + void (*shutdown)(void); +}; + +struct sysctl_alias { + const char *kernel_param; + const char *sysctl_param; +}; + +struct sysfs_ops { + ssize_t (*show)(struct kobject *, struct attribute *, char *); + ssize_t (*store)(struct kobject *, struct attribute *, const char *, size_t); +}; + +struct sysfs_wi_group { + struct kobject wi_kobj; + struct mutex kobj_lock; + struct iw_node_attr *nattrs[0]; +}; + +struct sysinfo { + __kernel_long_t uptime; + __kernel_ulong_t loads[3]; + __kernel_ulong_t totalram; + __kernel_ulong_t freeram; + __kernel_ulong_t sharedram; + __kernel_ulong_t bufferram; + __kernel_ulong_t totalswap; + __kernel_ulong_t freeswap; + __u16 procs; + __u16 pad; + __kernel_ulong_t totalhigh; + __kernel_ulong_t freehigh; + __u32 mem_unit; + char _f[0]; +}; + +struct sysrq_key_op { + void (* const handler)(u8); + const char * const help_msg; + const char * const action_msg; + const int enable_mask; +}; + +struct sysrq_state { + struct input_handle handle; + struct work_struct reinject_work; + long unsigned int key_down[12]; + unsigned int alt; + unsigned int alt_use; + unsigned int shift; + unsigned int shift_use; + bool active; + bool need_reinject; + bool reinjecting; + bool reset_canceled; + bool reset_requested; + long unsigned int reset_keybit[12]; + int reset_seq_len; + int reset_seq_cnt; + int reset_seq_version; + struct timer_list keyreset_timer; +}; + +struct system_counterval_t { + u64 cycles; + enum clocksource_ids cs_id; + bool use_nsecs; +}; + +struct system_device_crosststamp { + ktime_t device; + ktime_t sys_realtime; + ktime_t sys_monoraw; +}; + +struct system_heap_buffer { + struct dma_heap *heap; + struct list_head attachments; + struct mutex lock; + long unsigned int len; + struct sg_table sg_table; + int vmap_cnt; + void *vaddr; +}; + +struct system_time_snapshot { + u64 cycles; + ktime_t real; + ktime_t boot; + ktime_t raw; + enum clocksource_ids cs_id; + unsigned int clock_was_set_seq; + u8 cs_was_changed_seq; +}; + +struct sysv_sem { + struct sem_undo_list *undo_list; +}; + +struct sysv_shm { + struct list_head shm_clist; +}; + +struct t10_pi_tuple { + __be16 guard_tag; + __be16 app_tag; + __be32 ref_tag; +}; + +struct table_device { + struct list_head list; + refcount_t count; + struct dm_dev dm_dev; +}; + +struct table_header { + u16 td_id; + u16 td_flags; + u32 td_hilen; + u32 td_lolen; + char td_data[0]; +}; + +struct taint_flag { + char c_true; + char c_false; + bool module; + const char *desc; +}; + +struct tap_filter { + unsigned int count; + u32 mask[2]; + unsigned char addr[48]; +}; + +struct target_cache { + struct list_head node; + struct node_cache_attrs cache_attrs; +}; + +typedef int (*dm_ctr_fn)(struct dm_target *, unsigned int, char **); + +typedef void (*dm_dtr_fn)(struct dm_target *); + +typedef int (*dm_map_fn)(struct dm_target *, struct bio *); + +typedef int (*dm_clone_and_map_request_fn)(struct dm_target *, struct request *, union map_info *, struct request **); + +typedef void (*dm_release_clone_request_fn)(struct request *, union map_info *); + +typedef int (*dm_endio_fn)(struct dm_target *, struct bio *, blk_status_t *); + +typedef int (*dm_request_endio_fn)(struct dm_target *, struct request *, blk_status_t, union map_info *); + +typedef void (*dm_presuspend_fn)(struct dm_target *); + +typedef void (*dm_presuspend_undo_fn)(struct dm_target *); + +typedef void (*dm_postsuspend_fn)(struct dm_target *); + +typedef int (*dm_preresume_fn)(struct dm_target *); + +typedef void (*dm_resume_fn)(struct dm_target *); + +typedef void (*dm_status_fn)(struct dm_target *, status_type_t, unsigned int, char *, unsigned int); + +typedef int (*dm_message_fn)(struct dm_target *, unsigned int, char **, char *, unsigned int); + +typedef int (*dm_prepare_ioctl_fn)(struct dm_target *, struct block_device **, unsigned int, long unsigned int, bool *); + +typedef int (*dm_report_zones_fn)(struct dm_target *, struct dm_report_zones_args *, unsigned int); + +typedef int (*dm_busy_fn)(struct dm_target *); + +typedef int (*iterate_devices_callout_fn)(struct dm_target *, struct dm_dev *, sector_t, sector_t, void *); + +typedef int (*dm_iterate_devices_fn)(struct dm_target *, iterate_devices_callout_fn, void *); + +typedef void (*dm_io_hints_fn)(struct dm_target *, struct queue_limits *); + +typedef long int (*dm_dax_direct_access_fn)(struct dm_target *, long unsigned int, long int, enum dax_access_mode, void **, long unsigned int *); + +typedef int (*dm_dax_zero_page_range_fn)(struct dm_target *, long unsigned int, size_t); + +typedef size_t (*dm_dax_recovery_write_fn)(struct dm_target *, long unsigned int, void *, size_t, struct iov_iter *); + +struct target_type { + uint64_t features; + const char *name; + struct module *module; + unsigned int version[3]; + dm_ctr_fn ctr; + dm_dtr_fn dtr; + dm_map_fn map; + dm_clone_and_map_request_fn clone_and_map_rq; + dm_release_clone_request_fn release_clone_rq; + dm_endio_fn end_io; + dm_request_endio_fn rq_end_io; + dm_presuspend_fn presuspend; + dm_presuspend_undo_fn presuspend_undo; + dm_postsuspend_fn postsuspend; + dm_preresume_fn preresume; + dm_resume_fn resume; + dm_status_fn status; + dm_message_fn message; + dm_prepare_ioctl_fn prepare_ioctl; + dm_report_zones_fn report_zones; + dm_busy_fn busy; + dm_iterate_devices_fn iterate_devices; + dm_io_hints_fn io_hints; + dm_dax_direct_access_fn direct_access; + dm_dax_zero_page_range_fn dax_zero_page_range; + dm_dax_recovery_write_fn dax_recovery_write; + struct list_head list; +}; + +struct task_delay_info { + raw_spinlock_t lock; + u64 blkio_start; + u64 blkio_delay_max; + u64 blkio_delay_min; + u64 blkio_delay; + u64 swapin_start; + u64 swapin_delay_max; + u64 swapin_delay_min; + u64 swapin_delay; + u32 blkio_count; + u32 swapin_count; + u64 freepages_start; + u64 freepages_delay_max; + u64 freepages_delay_min; + u64 freepages_delay; + u64 thrashing_start; + u64 thrashing_delay_max; + u64 thrashing_delay_min; + u64 thrashing_delay; + u64 compact_start; + u64 compact_delay_max; + u64 compact_delay_min; + u64 compact_delay; + u64 wpcopy_start; + u64 wpcopy_delay_max; + u64 wpcopy_delay_min; + u64 wpcopy_delay; + u64 irq_delay_max; + u64 irq_delay_min; + u64 irq_delay; + u32 freepages_count; + u32 thrashing_count; + u32 compact_count; + u32 wpcopy_count; + u32 irq_count; +}; + +struct uclamp_se { + unsigned int value: 11; + unsigned int bucket_id: 3; + unsigned int active: 1; + unsigned int user_defined: 1; +}; + +struct task_group { + struct cgroup_subsys_state css; + int idle; + struct sched_entity **se; + struct cfs_rq **cfs_rq; + long unsigned int shares; + long: 64; + long: 64; + atomic_long_t load_avg; + struct scx_task_group scx; + struct callback_head rcu; + struct list_head list; + struct task_group *parent; + struct list_head siblings; + struct list_head children; + struct autogroup *autogroup; + struct cfs_bandwidth cfs_bandwidth; + unsigned int uclamp_pct[2]; + struct uclamp_se uclamp_req[2]; + struct uclamp_se uclamp[2]; +}; + +struct task_numa_env { + struct task_struct *p; + int src_cpu; + int src_nid; + int dst_cpu; + int dst_nid; + int imb_numa_nr; + struct numa_stats src_stats; + struct numa_stats dst_stats; + int imbalance_pct; + int dist; + struct task_struct *best_task; + long int best_imp; + int best_cpu; +}; + +struct task_security_struct { + struct { + u32 sid; + u32 seqno; + unsigned int dir_spot; + struct avdc_entry dir[4]; + bool permissive_neveraudit; + } avdcache; +}; + +struct task_smack { + struct smack_known *smk_task; + struct smack_known *smk_forked; + struct smack_known *smk_transmuted; + struct list_head smk_rules; + struct mutex smk_rules_lock; + struct list_head smk_relabel; +}; + +typedef struct task_struct *class_find_get_task_t; + +typedef struct task_struct *class_task_lock_t; + +struct thread_info { + long unsigned int flags; + long unsigned int syscall_work; + u32 status; + u32 cpu; +}; + +struct vtime { + seqcount_t seqcount; + long long unsigned int starttime; + enum vtime_state state; + unsigned int cpu; + u64 utime; + u64 stime; + u64 gtime; +}; + +struct wake_q_node { + struct wake_q_node *next; +}; + +struct tlbflush_unmap_batch { + struct arch_tlbflush_unmap_batch arch; + bool flush_required; + bool writable; +}; + +struct thread_shstk { + u64 base; + u64 size; +}; + +struct thread_struct { + struct desc_struct tls_array[3]; + long unsigned int sp; + short unsigned int es; + short unsigned int ds; + short unsigned int fsindex; + short unsigned int gsindex; + long unsigned int fsbase; + long unsigned int gsbase; + struct perf_event *ptrace_bps[4]; + long unsigned int virtual_dr6; + long unsigned int ptrace_dr7; + long unsigned int cr2; + long unsigned int trap_nr; + long unsigned int error_code; + struct io_bitmap *io_bitmap; + long unsigned int iopl_emul; + unsigned int iopl_warn: 1; + u32 pkru; + long unsigned int features; + long unsigned int features_locked; + struct thread_shstk shstk; +}; + +struct uprobe_task; + +struct user_event_mm; + +struct task_struct { + struct thread_info thread_info; + unsigned int __state; + unsigned int saved_state; + void *stack; + refcount_t usage; + unsigned int flags; + unsigned int ptrace; + int on_cpu; + struct __call_single_node wake_entry; + unsigned int wakee_flips; + long unsigned int wakee_flip_decay_ts; + struct task_struct *last_wakee; + int recent_used_cpu; + int wake_cpu; + int on_rq; + int prio; + int static_prio; + int normal_prio; + unsigned int rt_priority; + struct sched_entity se; + struct sched_rt_entity rt; + struct sched_dl_entity dl; + struct sched_dl_entity *dl_server; + struct sched_ext_entity scx; + const struct sched_class *sched_class; + struct rb_node core_node; + long unsigned int core_cookie; + unsigned int core_occupation; + struct task_group *sched_task_group; + struct uclamp_se uclamp_req[2]; + struct uclamp_se uclamp[2]; + struct sched_statistics stats; + struct hlist_head preempt_notifiers; + unsigned int btrace_seq; + unsigned int policy; + long unsigned int max_allowed_capacity; + int nr_cpus_allowed; + const cpumask_t *cpus_ptr; + cpumask_t *user_cpus_ptr; + cpumask_t cpus_mask; + void *migration_pending; + short unsigned int migration_disabled; + short unsigned int migration_flags; + int rcu_read_lock_nesting; + union rcu_special rcu_read_unlock_special; + struct list_head rcu_node_entry; + struct rcu_node *rcu_blocked_node; + long unsigned int rcu_tasks_nvcsw; + u8 rcu_tasks_holdout; + u8 rcu_tasks_idx; + int rcu_tasks_idle_cpu; + struct list_head rcu_tasks_holdout_list; + int rcu_tasks_exit_cpu; + struct list_head rcu_tasks_exit_list; + int trc_reader_nesting; + int trc_ipi_to_cpu; + union rcu_special trc_reader_special; + struct list_head trc_holdout_list; + struct list_head trc_blkd_node; + int trc_blkd_cpu; + struct sched_info sched_info; + struct list_head tasks; + struct plist_node pushable_tasks; + struct rb_node pushable_dl_tasks; + struct mm_struct *mm; + struct mm_struct *active_mm; + struct address_space *faults_disabled_mapping; + int exit_state; + int exit_code; + int exit_signal; + int pdeath_signal; + long unsigned int jobctl; + unsigned int personality; + unsigned int sched_reset_on_fork: 1; + unsigned int sched_contributes_to_load: 1; + unsigned int sched_migrated: 1; + unsigned int sched_task_hot: 1; + long: 28; + unsigned int sched_remote_wakeup: 1; + unsigned int sched_rt_mutex: 1; + unsigned int user_dumpable: 1; + unsigned int in_execve: 1; + unsigned int in_iowait: 1; + unsigned int restore_sigmask: 1; + unsigned int in_user_fault: 1; + unsigned int in_lru_fault: 1; + unsigned int no_cgroup_migration: 1; + unsigned int frozen: 1; + unsigned int use_memdelay: 1; + unsigned int in_memstall: 1; + unsigned int in_eventfd: 1; + unsigned int pasid_activated: 1; + unsigned int reported_split_lock: 1; + unsigned int in_thrashing: 1; + unsigned int in_nf_duplicate: 1; + long unsigned int atomic_flags; + struct restart_block restart_block; + pid_t pid; + pid_t tgid; + long unsigned int stack_canary; + struct task_struct *real_parent; + struct task_struct *parent; + struct list_head children; + struct list_head sibling; + struct task_struct *group_leader; + struct list_head ptraced; + struct list_head ptrace_entry; + struct pid *thread_pid; + struct hlist_node pid_links[4]; + struct list_head thread_node; + struct completion *vfork_done; + int *set_child_tid; + int *clear_child_tid; + void *worker_private; + u64 utime; + u64 stime; + u64 gtime; + struct prev_cputime prev_cputime; + struct vtime vtime; + atomic_t tick_dep_mask; + long unsigned int nvcsw; + long unsigned int nivcsw; + u64 start_time; + u64 start_boottime; + long unsigned int min_flt; + long unsigned int maj_flt; + struct posix_cputimers posix_cputimers; + struct posix_cputimers_work posix_cputimers_work; + const struct cred *ptracer_cred; + const struct cred *real_cred; + const struct cred *cred; + struct key *cached_requested_key; + char comm[16]; + struct nameidata *nameidata; + struct sysv_sem sysvsem; + struct sysv_shm sysvshm; + long unsigned int last_switch_count; + long unsigned int last_switch_time; + struct fs_struct *fs; + struct files_struct *files; + struct io_uring_task *io_uring; + struct nsproxy *nsproxy; + struct signal_struct *signal; + struct sighand_struct *sighand; + sigset_t blocked; + sigset_t real_blocked; + sigset_t saved_sigmask; + struct sigpending pending; + long unsigned int sas_ss_sp; + size_t sas_ss_size; + unsigned int sas_ss_flags; + struct callback_head *task_works; + struct audit_context *audit_context; + kuid_t loginuid; + unsigned int sessionid; + struct seccomp seccomp; + struct syscall_user_dispatch syscall_dispatch; + u64 parent_exec_id; + u64 self_exec_id; + spinlock_t alloc_lock; + raw_spinlock_t pi_lock; + struct wake_q_node wake_q; + struct rb_root_cached pi_waiters; + struct task_struct *pi_top_task; + struct rt_mutex_waiter *pi_blocked_on; + struct mutex *blocked_on; + long unsigned int blocker; + unsigned int in_ubsan; + void *journal_info; + struct bio_list *bio_list; + struct blk_plug *plug; + struct reclaim_state *reclaim_state; + struct io_context *io_context; + struct capture_control *capture_control; + long unsigned int ptrace_message; + kernel_siginfo_t *last_siginfo; + struct task_io_accounting ioac; + unsigned int psi_flags; + u64 acct_rss_mem1; + u64 acct_vm_mem1; + u64 acct_timexpd; + nodemask_t mems_allowed; + seqcount_spinlock_t mems_allowed_seq; + int cpuset_mem_spread_rotor; + struct css_set *cgroups; + struct list_head cg_list; + u32 closid; + u32 rmid; + struct robust_list_head *robust_list; + struct compat_robust_list_head *compat_robust_list; + struct list_head pi_state_list; + struct futex_pi_state *pi_state_cache; + struct mutex futex_exit_mutex; + unsigned int futex_state; + u8 perf_recursion[4]; + struct perf_event_context *perf_event_ctxp; + struct mutex perf_event_mutex; + struct list_head perf_event_list; + struct perf_ctx_data *perf_ctx_data; + struct mempolicy *mempolicy; + short int il_prev; + u8 il_weight; + short int pref_node_fork; + int numa_scan_seq; + unsigned int numa_scan_period; + unsigned int numa_scan_period_max; + int numa_preferred_nid; + long unsigned int numa_migrate_retry; + u64 node_stamp; + u64 last_task_numa_placement; + u64 last_sum_exec_runtime; + struct callback_head numa_work; + struct numa_group *numa_group; + long unsigned int *numa_faults; + long unsigned int total_numa_faults; + long unsigned int numa_faults_locality[3]; + long unsigned int numa_pages_migrated; + struct rseq *rseq; + u32 rseq_len; + u32 rseq_sig; + long unsigned int rseq_event_mask; + int mm_cid; + int last_mm_cid; + int migrate_from_cpu; + int mm_cid_active; + struct callback_head cid_work; + struct tlbflush_unmap_batch tlb_ubc; + struct pipe_inode_info *splice_pipe; + struct page_frag task_frag; + struct task_delay_info *delays; + int nr_dirtied; + int nr_dirtied_pause; + long unsigned int dirty_paused_when; + int latency_record_count; + struct latency_record latency_record[32]; + u64 timer_slack_ns; + u64 default_timer_slack_ns; + int curr_ret_stack; + int curr_ret_depth; + long unsigned int *ret_stack; + long long unsigned int ftrace_timestamp; + long long unsigned int ftrace_sleeptime; + atomic_t trace_overrun; + atomic_t tracing_graph_pause; + long unsigned int trace_recursion; + struct mem_cgroup *memcg_in_oom; + unsigned int memcg_nr_pages_over_high; + struct mem_cgroup *active_memcg; + struct obj_cgroup *objcg; + struct gendisk *throttle_disk; + struct uprobe_task *utask; + unsigned int sequential_io; + unsigned int sequential_io_avg; + struct kmap_ctrl kmap_ctrl; + struct callback_head rcu; + refcount_t rcu_users; + int pagefault_disabled; + struct task_struct *oom_reaper_list; + struct timer_list oom_reaper_timer; + struct vm_struct *stack_vm_area; + refcount_t stack_refcount; + int patch_state; + void *security; + struct bpf_local_storage *bpf_storage; + struct bpf_run_ctx *bpf_ctx; + struct bpf_net_context *bpf_net_context; + void *mce_vaddr; + __u64 mce_kflags; + u64 mce_addr; + __u64 mce_ripv: 1; + __u64 mce_whole_page: 1; + __u64 __mce_reserved: 62; + struct callback_head mce_kill_me; + int mce_count; + struct llist_head kretprobe_instances; + struct llist_head rethooks; + struct callback_head l1d_flush_kill; + union rv_task_monitor rv[2]; + struct user_event_mm *user_event_mm; + struct thread_struct thread; + long: 64; +}; + +struct task_struct__safe_rcu { + const cpumask_t *cpus_ptr; + struct css_set *cgroups; + struct task_struct *real_parent; + struct task_struct *group_leader; +}; + +struct tasklet_head { + struct tasklet_struct *head; + struct tasklet_struct **tail; +}; + +struct taskstats { + __u16 version; + __u32 ac_exitcode; + __u8 ac_flag; + __u8 ac_nice; + __u64 cpu_count; + __u64 cpu_delay_total; + __u64 blkio_count; + __u64 blkio_delay_total; + __u64 swapin_count; + __u64 swapin_delay_total; + __u64 cpu_run_real_total; + __u64 cpu_run_virtual_total; + char ac_comm[32]; + __u8 ac_sched; + __u8 ac_pad[3]; + long: 0; + __u32 ac_uid; + __u32 ac_gid; + __u32 ac_pid; + __u32 ac_ppid; + __u32 ac_btime; + __u64 ac_etime; + __u64 ac_utime; + __u64 ac_stime; + __u64 ac_minflt; + __u64 ac_majflt; + __u64 coremem; + __u64 virtmem; + __u64 hiwater_rss; + __u64 hiwater_vm; + __u64 read_char; + __u64 write_char; + __u64 read_syscalls; + __u64 write_syscalls; + __u64 read_bytes; + __u64 write_bytes; + __u64 cancelled_write_bytes; + __u64 nvcsw; + __u64 nivcsw; + __u64 ac_utimescaled; + __u64 ac_stimescaled; + __u64 cpu_scaled_run_real_total; + __u64 freepages_count; + __u64 freepages_delay_total; + __u64 thrashing_count; + __u64 thrashing_delay_total; + __u64 ac_btime64; + __u64 compact_count; + __u64 compact_delay_total; + __u32 ac_tgid; + __u64 ac_tgetime; + __u64 ac_exe_dev; + __u64 ac_exe_inode; + __u64 wpcopy_count; + __u64 wpcopy_delay_total; + __u64 irq_count; + __u64 irq_delay_total; + __u64 cpu_delay_max; + __u64 cpu_delay_min; + __u64 blkio_delay_max; + __u64 blkio_delay_min; + __u64 swapin_delay_max; + __u64 swapin_delay_min; + __u64 freepages_delay_max; + __u64 freepages_delay_min; + __u64 thrashing_delay_max; + __u64 thrashing_delay_min; + __u64 compact_delay_max; + __u64 compact_delay_min; + __u64 wpcopy_delay_max; + __u64 wpcopy_delay_min; + __u64 irq_delay_max; + __u64 irq_delay_min; +}; + +struct tboot_acpi_generic_address { + u8 space_id; + u8 bit_width; + u8 bit_offset; + u8 access_width; + u64 address; +} __attribute__((packed)); + +struct tboot_acpi_sleep_info { + struct tboot_acpi_generic_address pm1a_cnt_blk; + struct tboot_acpi_generic_address pm1b_cnt_blk; + struct tboot_acpi_generic_address pm1a_evt_blk; + struct tboot_acpi_generic_address pm1b_evt_blk; + u16 pm1a_cnt_val; + u16 pm1b_cnt_val; + u64 wakeup_vector; + u32 vector_width; + u64 kernel_s3_resume_vector; +} __attribute__((packed)); + +struct tboot_mac_region { + u64 start; + u32 size; +} __attribute__((packed)); + +struct tboot { + u8 uuid[16]; + u32 version; + u32 log_addr; + u32 shutdown_entry; + u32 shutdown_type; + struct tboot_acpi_sleep_info acpi_sinfo; + u32 tboot_base; + u32 tboot_size; + u8 num_mac_regions; + struct tboot_mac_region mac_regions[32]; + u8 s3_key[64]; + u8 reserved_align[3]; + u32 num_in_wfs; +}; + +struct tc_act_pernet_id { + struct list_head list; + unsigned int id; +}; + +struct tcf_t { + __u64 install; + __u64 lastuse; + __u64 expires; + __u64 firstuse; +}; + +struct tc_action_ops; + +struct tcf_idrinfo; + +struct tc_cookie; + +struct tcf_chain; + +struct tc_action { + const struct tc_action_ops *ops; + __u32 type; + struct tcf_idrinfo *idrinfo; + u32 tcfa_index; + refcount_t tcfa_refcnt; + atomic_t tcfa_bindcnt; + int tcfa_action; + struct tcf_t tcfa_tm; + long: 64; + struct gnet_stats_basic_sync tcfa_bstats; + struct gnet_stats_basic_sync tcfa_bstats_hw; + struct gnet_stats_queue tcfa_qstats; + struct net_rate_estimator *tcfa_rate_est; + spinlock_t tcfa_lock; + struct gnet_stats_basic_sync *cpu_bstats; + struct gnet_stats_basic_sync *cpu_bstats_hw; + struct gnet_stats_queue *cpu_qstats; + struct tc_cookie *user_cookie; + struct tcf_chain *goto_chain; + u32 tcfa_flags; + u8 hw_stats; + u8 used_hw_stats; + bool used_hw_stats_valid; + u32 in_hw_count; +}; + +struct tc_action_net { + struct tcf_idrinfo *idrinfo; + const struct tc_action_ops *ops; +}; + +typedef void (*tc_action_priv_destructor)(void *); + +struct tcf_result; + +struct tc_action_ops { + struct list_head head; + char kind[16]; + enum tca_id id; + unsigned int net_id; + size_t size; + struct module *owner; + int (*act)(struct sk_buff *, const struct tc_action *, struct tcf_result *); + int (*dump)(struct sk_buff *, struct tc_action *, int, int); + void (*cleanup)(struct tc_action *); + int (*lookup)(struct net *, struct tc_action **, u32); + int (*init)(struct net *, struct nlattr *, struct nlattr *, struct tc_action **, struct tcf_proto *, u32, struct netlink_ext_ack *); + int (*walk)(struct net *, struct sk_buff *, struct netlink_callback *, int, const struct tc_action_ops *, struct netlink_ext_ack *); + void (*stats_update)(struct tc_action *, u64, u64, u64, u64, bool); + size_t (*get_fill_size)(const struct tc_action *); + struct net_device * (*get_dev)(const struct tc_action *, tc_action_priv_destructor *); + struct psample_group * (*get_psample_group)(const struct tc_action *, tc_action_priv_destructor *); + int (*offload_act_setup)(struct tc_action *, void *, u32 *, bool, struct netlink_ext_ack *); +}; + +struct tc_bind_class_args { + struct qdisc_walker w; + long unsigned int new_cl; + u32 portid; + u32 clid; +}; + +struct tc_cookie { + u8 *data; + u32 len; + struct callback_head rcu; +}; + +struct tc_fifo_qopt { + __u32 limit; +}; + +struct tc_qopt_offload_stats { + struct gnet_stats_basic_sync *bstats; + struct gnet_stats_queue *qstats; +}; + +struct tc_fifo_qopt_offload { + enum tc_fifo_command command; + u32 handle; + u32 parent; + union { + struct tc_qopt_offload_stats stats; + }; +}; + +struct tc_mq_opt_offload_graft_params { + long unsigned int queue; + u32 child_handle; +}; + +struct tc_mq_qopt_offload { + enum tc_mq_command command; + u32 handle; + union { + struct tc_qopt_offload_stats stats; + struct tc_mq_opt_offload_graft_params graft_params; + }; +}; + +struct tc_pedit_key { + __u32 mask; + __u32 val; + __u32 off; + __u32 at; + __u32 offmask; + __u32 shift; +}; + +struct tc_prio_qopt { + int bands; + __u8 priomap[16]; +}; + +struct tc_query_caps_base { + enum tc_setup_type type; + void *caps; +}; + +struct tc_root_qopt_offload { + enum tc_root_command command; + u32 handle; + bool ingress; +}; + +struct tc_skb_cb { + struct qdisc_skb_cb qdisc_cb; + u32 drop_reason; + u16 zone; + u16 mru; + u8 post_ct: 1; + u8 post_ct_snat: 1; + u8 post_ct_dnat: 1; +}; + +struct tc_skb_ext { + union { + u64 act_miss_cookie; + __u32 chain; + }; + __u16 mru; + __u16 zone; + u8 post_ct: 1; + u8 post_ct_snat: 1; + u8 post_ct_dnat: 1; + u8 act_miss: 1; + u8 l2_miss: 1; +}; + +struct tcamsg { + unsigned char tca_family; + unsigned char tca__pad1; + short unsigned int tca__pad2; +}; + +struct tcf_walker { + int stop; + int skip; + int count; + bool nonempty; + long unsigned int cookie; + int (*fn)(struct tcf_proto *, void *, struct tcf_walker *); +}; + +struct tcf_bind_args { + struct tcf_walker w; + long unsigned int base; + long unsigned int cl; + u32 classid; +}; + +struct tcf_block { + struct xarray ports; + struct mutex lock; + struct list_head chain_list; + u32 index; + u32 classid; + refcount_t refcnt; + struct net *net; + struct Qdisc *q; + struct rw_semaphore cb_lock; + struct flow_block flow_block; + struct list_head owner_list; + bool keep_dst; + atomic_t useswcnt; + atomic_t offloadcnt; + unsigned int nooffloaddevcnt; + unsigned int lockeddevcnt; + struct { + struct tcf_chain *chain; + struct list_head filter_chain_list; + } chain0; + struct callback_head rcu; + struct hlist_head proto_destroy_ht[128]; + struct mutex proto_destroy_lock; +}; + +typedef void tcf_chain_head_change_t(struct tcf_proto *, void *); + +struct tcf_block_ext_info { + enum flow_block_binder_type binder_type; + tcf_chain_head_change_t *chain_head_change; + void *chain_head_change_priv; + u32 block_index; +}; + +struct tcf_block_owner_item { + struct list_head list; + struct Qdisc *q; + enum flow_block_binder_type binder_type; +}; + +struct tcf_proto_ops; + +struct tcf_chain { + struct mutex filter_chain_lock; + struct tcf_proto *filter_chain; + struct list_head list; + struct tcf_block *block; + u32 index; + unsigned int refcnt; + unsigned int action_refcnt; + bool explicitly_created; + bool flushing; + const struct tcf_proto_ops *tmplt_ops; + void *tmplt_priv; + struct callback_head rcu; +}; + +struct tcf_chain_info { + struct tcf_proto **pprev; + struct tcf_proto *next; +}; + +struct tcf_dump_args { + struct tcf_walker w; + struct sk_buff *skb; + struct netlink_callback *cb; + struct tcf_block *block; + struct Qdisc *q; + u32 parent; + bool terse_dump; +}; + +struct tcf_ematch_ops; + +struct tcf_ematch { + struct tcf_ematch_ops *ops; + long unsigned int data; + unsigned int datalen; + u16 matchid; + u16 flags; + struct net *net; +}; + +struct tcf_ematch_hdr { + __u16 matchid; + __u16 kind; + __u16 flags; + __u16 pad; +}; + +struct tcf_pkt_info; + +struct tcf_ematch_ops { + int kind; + int datalen; + int (*change)(struct net *, void *, int, struct tcf_ematch *); + int (*match)(struct sk_buff *, struct tcf_ematch *, struct tcf_pkt_info *); + void (*destroy)(struct tcf_ematch *); + int (*dump)(struct sk_buff *, struct tcf_ematch *); + struct module *owner; + struct list_head link; +}; + +struct tcf_ematch_tree_hdr { + __u16 nmatches; + __u16 progid; +}; + +struct tcf_ematch_tree { + struct tcf_ematch_tree_hdr hdr; + struct tcf_ematch *matches; +}; + +struct tcf_exts_miss_cookie_node; + +struct tcf_exts { + __u32 type; + int nr_actions; + struct tc_action **actions; + struct net *net; + netns_tracker ns_tracker; + struct tcf_exts_miss_cookie_node *miss_cookie_node; + int action; + int police; +}; + +union tcf_exts_miss_cookie { + struct { + u32 miss_cookie_base; + u32 act_index; + }; + u64 miss_cookie; +}; + +struct tcf_exts_miss_cookie_node { + const struct tcf_chain *chain; + const struct tcf_proto *tp; + const struct tcf_exts *exts; + u32 chain_index; + u32 tp_prio; + u32 handle; + u32 miss_cookie_base; + struct callback_head rcu; +}; + +struct tcf_filter_chain_list_item { + struct list_head list; + tcf_chain_head_change_t *chain_head_change; + void *chain_head_change_priv; +}; + +struct tcf_idrinfo { + struct mutex lock; + struct idr action_idr; + struct net *net; +}; + +struct tcf_net { + spinlock_t idr_lock; + struct idr idr; +}; + +struct tcf_pedit_parms; + +struct tcf_pedit { + struct tc_action common; + struct tcf_pedit_parms *parms; + long: 64; +}; + +struct tcf_pedit_key_ex { + enum pedit_header_type htype; + enum pedit_cmd cmd; +}; + +struct tcf_pedit_parms { + struct tc_pedit_key *tcfp_keys; + struct tcf_pedit_key_ex *tcfp_keys_ex; + int action; + u32 tcfp_off_max_hint; + unsigned char tcfp_nkeys; + unsigned char tcfp_flags; + struct callback_head rcu; +}; + +struct tcf_pkt_info { + unsigned char *ptr; + int nexthdr; +}; + +struct tcf_proto { + struct tcf_proto *next; + void *root; + int (*classify)(struct sk_buff *, const struct tcf_proto *, struct tcf_result *); + __be16 protocol; + u32 prio; + void *data; + const struct tcf_proto_ops *ops; + struct tcf_chain *chain; + spinlock_t lock; + bool deleting; + bool counted; + bool usesw; + refcount_t refcnt; + struct callback_head rcu; + struct hlist_node destroy_ht_node; +}; + +struct tcf_proto_ops { + struct list_head head; + char kind[16]; + int (*classify)(struct sk_buff *, const struct tcf_proto *, struct tcf_result *); + int (*init)(struct tcf_proto *); + void (*destroy)(struct tcf_proto *, bool, struct netlink_ext_ack *); + void * (*get)(struct tcf_proto *, u32); + void (*put)(struct tcf_proto *, void *); + int (*change)(struct net *, struct sk_buff *, struct tcf_proto *, long unsigned int, u32, struct nlattr **, void **, u32, struct netlink_ext_ack *); + int (*delete)(struct tcf_proto *, void *, bool *, bool, struct netlink_ext_ack *); + bool (*delete_empty)(struct tcf_proto *); + void (*walk)(struct tcf_proto *, struct tcf_walker *, bool); + int (*reoffload)(struct tcf_proto *, bool, flow_setup_cb_t *, void *, struct netlink_ext_ack *); + void (*hw_add)(struct tcf_proto *, void *); + void (*hw_del)(struct tcf_proto *, void *); + void (*bind_class)(void *, u32, long unsigned int, void *, long unsigned int); + void * (*tmplt_create)(struct net *, struct tcf_chain *, struct nlattr **, struct netlink_ext_ack *); + void (*tmplt_destroy)(void *); + void (*tmplt_reoffload)(struct tcf_chain *, bool, flow_setup_cb_t *, void *); + struct tcf_exts * (*get_exts)(const struct tcf_proto *, u32); + int (*dump)(struct net *, struct tcf_proto *, void *, struct sk_buff *, struct tcmsg *, bool); + int (*terse_dump)(struct net *, struct tcf_proto *, void *, struct sk_buff *, struct tcmsg *, bool); + int (*tmplt_dump)(struct sk_buff *, struct net *, void *); + struct module *owner; + int flags; +}; + +struct tcf_qevent { + struct tcf_block *block; + struct tcf_block_ext_info info; + struct tcf_proto *filter_chain; +}; + +struct tcf_result { + union { + struct { + long unsigned int class; + u32 classid; + }; + const struct tcf_proto *goto_tp; + }; +}; + +struct tcg_efi_specid_event_algs { + u16 alg_id; + u16 digest_size; +}; + +struct tcg_efi_specid_event_head { + u8 signature[16]; + u32 platform_class; + u8 spec_version_minor; + u8 spec_version_major; + u8 spec_errata; + u8 uintnsize; + u32 num_algs; + struct tcg_efi_specid_event_algs digest_sizes[0]; +}; + +struct tcg_event_field { + u32 event_size; + u8 event[0]; +}; + +struct tcg_pcr_event { + u32 pcr_idx; + u32 event_type; + u8 digest[20]; + u32 event_size; + u8 event[0]; +}; + +struct tpm_digest { + u16 alg_id; + u8 digest[64]; +}; + +struct tcg_pcr_event2_head { + u32 pcr_idx; + u32 event_type; + u32 count; + struct tpm_digest digests[0]; +}; + +struct tcmsg { + unsigned char tcm_family; + unsigned char tcm__pad1; + short unsigned int tcm__pad2; + int tcm_ifindex; + __u32 tcm_handle; + __u32 tcm_parent; + __u32 tcm_info; +}; + +struct tcp4_pseudohdr { + __be32 saddr; + __be32 daddr; + __u8 pad; + __u8 protocol; + __be16 len; +}; + +struct tcp6_pseudohdr { + struct in6_addr saddr; + struct in6_addr daddr; + __be32 len; + __be32 protocol; +}; + +struct tcp_options_received { + int ts_recent_stamp; + u32 ts_recent; + u32 rcv_tsval; + u32 rcv_tsecr; + u16 saw_tstamp: 1; + u16 tstamp_ok: 1; + u16 dsack: 1; + u16 wscale_ok: 1; + u16 sack_ok: 3; + u16 smc_ok: 1; + u16 snd_wscale: 4; + u16 rcv_wscale: 4; + u8 saw_unknown: 1; + u8 unused: 7; + u8 num_sacks; + u16 user_mss; + u16 mss_clamp; +}; + +struct tcp_rack { + u64 mstamp; + u32 rtt_us; + u32 end_seq; + u32 last_delivered; + u8 reo_wnd_steps; + u8 reo_wnd_persist: 5; + u8 dsack_seen: 1; + u8 advanced: 1; +}; + +struct tcp_sack_block { + u32 start_seq; + u32 end_seq; +}; + +struct tcp_sock_af_ops; + +struct tcp_md5sig_info; + +struct tcp_ao_info; + +struct tcp_fastopen_request; + +struct tcp_sock { + struct inet_connection_sock inet_conn; + __u8 __cacheline_group_begin__tcp_sock_read_tx[0]; + u32 max_window; + u32 rcv_ssthresh; + u32 reordering; + u32 notsent_lowat; + u16 gso_segs; + struct sk_buff *retransmit_skb_hint; + __u8 __cacheline_group_end__tcp_sock_read_tx[0]; + __u8 __cacheline_group_begin__tcp_sock_read_txrx[0]; + u32 tsoffset; + u32 snd_wnd; + u32 mss_cache; + u32 snd_cwnd; + u32 prr_out; + u32 lost_out; + u32 sacked_out; + u16 tcp_header_len; + u8 scaling_ratio; + u8 chrono_type: 2; + u8 repair: 1; + u8 tcp_usec_ts: 1; + u8 is_sack_reneg: 1; + u8 is_cwnd_limited: 1; + __u8 __cacheline_group_end__tcp_sock_read_txrx[0]; + __u8 __cacheline_group_begin__tcp_sock_read_rx[0]; + u32 copied_seq; + u32 rcv_tstamp; + u32 snd_wl1; + u32 tlp_high_seq; + u32 rttvar_us; + u32 retrans_out; + u16 advmss; + u16 urg_data; + u32 lost; + struct minmax rtt_min; + struct rb_root out_of_order_queue; + void (*tcp_clean_acked)(struct sock *, u32); + u32 snd_ssthresh; + u8 recvmsg_inq: 1; + __u8 __cacheline_group_end__tcp_sock_read_rx[0]; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + __u8 __cacheline_group_begin__tcp_sock_write_tx[0]; + u32 segs_out; + u32 data_segs_out; + u64 bytes_sent; + u32 snd_sml; + u32 chrono_start; + u32 chrono_stat[3]; + u32 write_seq; + u32 pushed_seq; + u32 lsndtime; + u32 mdev_us; + u32 rtt_seq; + u64 tcp_wstamp_ns; + struct list_head tsorted_sent_queue; + struct sk_buff *highest_sack; + u8 ecn_flags; + __u8 __cacheline_group_end__tcp_sock_write_tx[0]; + __u8 __cacheline_group_begin__tcp_sock_write_txrx[0]; + __be32 pred_flags; + u64 tcp_clock_cache; + u64 tcp_mstamp; + u32 rcv_nxt; + u32 snd_nxt; + u32 snd_una; + u32 window_clamp; + u32 srtt_us; + u32 packets_out; + u32 snd_up; + u32 delivered; + u32 delivered_ce; + u32 app_limited; + u32 rcv_wnd; + struct tcp_options_received rx_opt; + u8 nonagle: 4; + u8 rate_app_limited: 1; + __u8 __cacheline_group_end__tcp_sock_write_txrx[0]; + long: 0; + __u8 __cacheline_group_begin__tcp_sock_write_rx[0]; + u64 bytes_received; + u32 segs_in; + u32 data_segs_in; + u32 rcv_wup; + u32 max_packets_out; + u32 cwnd_usage_seq; + u32 rate_delivered; + u32 rate_interval_us; + u32 rcv_rtt_last_tsecr; + u64 first_tx_mstamp; + u64 delivered_mstamp; + u64 bytes_acked; + struct { + u32 rtt_us; + u32 seq; + u64 time; + } rcv_rtt_est; + struct { + int space; + u32 seq; + u64 time; + } rcvq_space; + __u8 __cacheline_group_end__tcp_sock_write_rx[0]; + u32 dsack_dups; + u32 compressed_ack_rcv_nxt; + struct list_head tsq_node; + struct tcp_rack rack; + u8 compressed_ack; + u8 dup_ack_counter: 2; + u8 tlp_retrans: 1; + u8 unused: 5; + u8 thin_lto: 1; + u8 fastopen_connect: 1; + u8 fastopen_no_cookie: 1; + u8 fastopen_client_fail: 2; + u8 frto: 1; + u8 repair_queue; + u8 save_syn: 2; + u8 syn_data: 1; + u8 syn_fastopen: 1; + u8 syn_fastopen_exp: 1; + u8 syn_fastopen_ch: 1; + u8 syn_data_acked: 1; + u8 syn_fastopen_child: 1; + u8 keepalive_probes; + u32 tcp_tx_delay; + u32 mdev_max_us; + u32 reord_seen; + u32 snd_cwnd_cnt; + u32 snd_cwnd_clamp; + u32 snd_cwnd_used; + u32 snd_cwnd_stamp; + u32 prior_cwnd; + u32 prr_delivered; + u32 last_oow_ack_time; + struct hrtimer pacing_timer; + struct hrtimer compressed_ack_timer; + struct sk_buff *ooo_last_skb; + struct tcp_sack_block duplicate_sack[1]; + struct tcp_sack_block selective_acks[4]; + struct tcp_sack_block recv_sack_cache[4]; + u32 prior_ssthresh; + u32 high_seq; + u32 retrans_stamp; + u32 undo_marker; + int undo_retrans; + u64 bytes_retrans; + u32 total_retrans; + u32 rto_stamp; + u16 total_rto; + u16 total_rto_recoveries; + u32 total_rto_time; + u32 urg_seq; + unsigned int keepalive_time; + unsigned int keepalive_intvl; + int linger2; + u8 bpf_sock_ops_cb_flags; + u8 bpf_chg_cc_inprogress: 1; + u16 timeout_rehash; + u32 rcv_ooopack; + struct { + u32 probe_seq_start; + u32 probe_seq_end; + } mtu_probe; + u32 plb_rehash; + u32 mtu_info; + bool is_mptcp; + bool syn_smc; + bool (*smc_hs_congested)(const struct sock *); + const struct tcp_sock_af_ops *af_specific; + struct tcp_md5sig_info *md5sig_info; + struct tcp_ao_info *ao_info; + struct tcp_fastopen_request *fastopen_req; + struct request_sock *fastopen_rsk; + struct saved_syn *saved_syn; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct tcp6_sock { + struct tcp_sock tcp; + struct ipv6_pinfo inet6; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct tcp_ao_add { + struct __kernel_sockaddr_storage addr; + char alg_name[64]; + __s32 ifindex; + __u32 set_current: 1; + __u32 set_rnext: 1; + __u32 reserved: 30; + __u16 reserved2; + __u8 prefix; + __u8 sndid; + __u8 rcvid; + __u8 maclen; + __u8 keyflags; + __u8 keylen; + __u8 key[80]; +}; + +union tcp_ao_addr { + struct in_addr a4; + struct in6_addr a6; +}; + +struct tcp_ao_counters { + atomic64_t pkt_good; + atomic64_t pkt_bad; + atomic64_t key_not_found; + atomic64_t ao_required; + atomic64_t dropped_icmp; +}; + +struct tcp_ao_del { + struct __kernel_sockaddr_storage addr; + __s32 ifindex; + __u32 set_current: 1; + __u32 set_rnext: 1; + __u32 del_async: 1; + __u32 reserved: 29; + __u16 reserved2; + __u8 prefix; + __u8 sndid; + __u8 rcvid; + __u8 current_key; + __u8 rnext; + __u8 keyflags; +}; + +struct tcp_ao_getsockopt { + struct __kernel_sockaddr_storage addr; + char alg_name[64]; + __u8 key[80]; + __u32 nkeys; + __u16 is_current: 1; + __u16 is_rnext: 1; + __u16 get_all: 1; + __u16 reserved: 13; + __u8 sndid; + __u8 rcvid; + __u8 prefix; + __u8 maclen; + __u8 keyflags; + __u8 keylen; + __s32 ifindex; + __u64 pkt_good; + __u64 pkt_bad; +}; + +struct tcp_ao_hdr { + u8 kind; + u8 length; + u8 keyid; + u8 rnext_keyid; +}; + +struct tcp_ao_key; + +struct tcp_ao_info { + struct hlist_head head; + struct tcp_ao_key *current_key; + struct tcp_ao_key *rnext_key; + struct tcp_ao_counters counters; + u32 ao_required: 1; + u32 accept_icmps: 1; + u32 __unused: 30; + __be32 lisn; + __be32 risn; + u32 snd_sne; + u32 rcv_sne; + refcount_t refcnt; + struct callback_head rcu; +}; + +struct tcp_ao_info_opt { + __u32 set_current: 1; + __u32 set_rnext: 1; + __u32 ao_required: 1; + __u32 set_counters: 1; + __u32 accept_icmps: 1; + __u32 reserved: 27; + __u16 reserved2; + __u8 current_key; + __u8 rnext; + __u64 pkt_good; + __u64 pkt_bad; + __u64 pkt_key_not_found; + __u64 pkt_ao_required; + __u64 pkt_dropped_icmp; +}; + +struct tcp_ao_key { + struct hlist_node node; + union tcp_ao_addr addr; + u8 key[80]; + unsigned int tcp_sigpool_id; + unsigned int digest_size; + int l3index; + u8 prefixlen; + u8 family; + u8 keylen; + u8 keyflags; + u8 sndid; + u8 rcvid; + u8 maclen; + struct callback_head rcu; + atomic64_t pkt_good; + atomic64_t pkt_bad; + u8 traffic_keys[0]; +}; + +struct tcp_ao_repair { + __be32 snt_isn; + __be32 rcv_isn; + __u32 snd_sne; + __u32 rcv_sne; +}; + +struct tcp_bbr_info { + __u32 bbr_bw_lo; + __u32 bbr_bw_hi; + __u32 bbr_min_rtt; + __u32 bbr_pacing_gain; + __u32 bbr_cwnd_gain; +}; + +struct tcpvegas_info { + __u32 tcpv_enabled; + __u32 tcpv_rttcnt; + __u32 tcpv_rtt; + __u32 tcpv_minrtt; +}; + +struct tcp_dctcp_info { + __u16 dctcp_enabled; + __u16 dctcp_ce_state; + __u32 dctcp_alpha; + __u32 dctcp_ab_ecn; + __u32 dctcp_ab_tot; +}; + +union tcp_cc_info { + struct tcpvegas_info vegas; + struct tcp_dctcp_info dctcp; + struct tcp_bbr_info bbr; +}; + +struct tcp_fastopen_context { + siphash_key_t key[2]; + int num; + struct callback_head rcu; +}; + +struct tcp_fastopen_cookie { + __le64 val[2]; + s8 len; + bool exp; +}; + +struct tcp_fastopen_metrics { + u16 mss; + u16 syn_loss: 10; + u16 try_exp: 2; + long unsigned int last_syn_loss; + struct tcp_fastopen_cookie cookie; +}; + +struct tcp_fastopen_request { + struct tcp_fastopen_cookie cookie; + struct msghdr *data; + size_t size; + int copied; + struct ubuf_info *uarg; +}; + +struct tcp_info { + __u8 tcpi_state; + __u8 tcpi_ca_state; + __u8 tcpi_retransmits; + __u8 tcpi_probes; + __u8 tcpi_backoff; + __u8 tcpi_options; + __u8 tcpi_snd_wscale: 4; + __u8 tcpi_rcv_wscale: 4; + __u8 tcpi_delivery_rate_app_limited: 1; + __u8 tcpi_fastopen_client_fail: 2; + __u32 tcpi_rto; + __u32 tcpi_ato; + __u32 tcpi_snd_mss; + __u32 tcpi_rcv_mss; + __u32 tcpi_unacked; + __u32 tcpi_sacked; + __u32 tcpi_lost; + __u32 tcpi_retrans; + __u32 tcpi_fackets; + __u32 tcpi_last_data_sent; + __u32 tcpi_last_ack_sent; + __u32 tcpi_last_data_recv; + __u32 tcpi_last_ack_recv; + __u32 tcpi_pmtu; + __u32 tcpi_rcv_ssthresh; + __u32 tcpi_rtt; + __u32 tcpi_rttvar; + __u32 tcpi_snd_ssthresh; + __u32 tcpi_snd_cwnd; + __u32 tcpi_advmss; + __u32 tcpi_reordering; + __u32 tcpi_rcv_rtt; + __u32 tcpi_rcv_space; + __u32 tcpi_total_retrans; + __u64 tcpi_pacing_rate; + __u64 tcpi_max_pacing_rate; + __u64 tcpi_bytes_acked; + __u64 tcpi_bytes_received; + __u32 tcpi_segs_out; + __u32 tcpi_segs_in; + __u32 tcpi_notsent_bytes; + __u32 tcpi_min_rtt; + __u32 tcpi_data_segs_in; + __u32 tcpi_data_segs_out; + __u64 tcpi_delivery_rate; + __u64 tcpi_busy_time; + __u64 tcpi_rwnd_limited; + __u64 tcpi_sndbuf_limited; + __u32 tcpi_delivered; + __u32 tcpi_delivered_ce; + __u64 tcpi_bytes_sent; + __u64 tcpi_bytes_retrans; + __u32 tcpi_dsack_dups; + __u32 tcpi_reord_seen; + __u32 tcpi_rcv_ooopack; + __u32 tcpi_snd_wnd; + __u32 tcpi_rcv_wnd; + __u32 tcpi_rehash; + __u16 tcpi_total_rto; + __u16 tcpi_total_rto_recoveries; + __u32 tcpi_total_rto_time; +}; + +struct tcp_md5sig_key; + +struct tcp_key { + union { + struct { + struct tcp_ao_key *ao_key; + char *traffic_key; + u32 sne; + u8 rcv_next; + }; + struct tcp_md5sig_key *md5_key; + }; + enum { + TCP_KEY_NONE = 0, + TCP_KEY_MD5 = 1, + TCP_KEY_AO = 2, + } type; +}; + +struct tcp_md5sig { + struct __kernel_sockaddr_storage tcpm_addr; + __u8 tcpm_flags; + __u8 tcpm_prefixlen; + __u16 tcpm_keylen; + int tcpm_ifindex; + __u8 tcpm_key[80]; +}; + +struct tcp_md5sig_info { + struct hlist_head head; + struct callback_head rcu; +}; + +struct tcp_md5sig_key { + struct hlist_node node; + u8 keylen; + u8 family; + u8 prefixlen; + u8 flags; + union tcp_ao_addr addr; + int l3index; + u8 key[80]; + struct callback_head rcu; +}; + +struct tcp_metrics_block { + struct tcp_metrics_block *tcpm_next; + struct net *tcpm_net; + struct inetpeer_addr tcpm_saddr; + struct inetpeer_addr tcpm_daddr; + long unsigned int tcpm_stamp; + u32 tcpm_lock; + u32 tcpm_vals[5]; + struct tcp_fastopen_metrics tcpm_fastopen; + struct callback_head callback_head; +}; + +struct tcp_mib { + long unsigned int mibs[16]; +}; + +struct tcp_out_options { + u16 options; + u16 mss; + u8 ws; + u8 num_sack_blocks; + u8 hash_size; + u8 bpf_opt_len; + __u8 *hash_location; + __u32 tsval; + __u32 tsecr; + struct tcp_fastopen_cookie *fastopen_cookie; + struct mptcp_out_options mptcp; +}; + +struct tcp_plb_state { + u8 consec_cong_rounds: 5; + u8 unused: 3; + u32 pause_until; +}; + +struct tcp_repair_opt { + __u32 opt_code; + __u32 opt_val; +}; + +struct tcp_repair_window { + __u32 snd_wl1; + __u32 snd_wnd; + __u32 max_window; + __u32 rcv_wnd; + __u32 rcv_wup; +}; + +struct tcp_request_sock_ops { + u16 mss_clamp; + struct tcp_md5sig_key * (*req_md5_lookup)(const struct sock *, const struct sock *); + int (*calc_md5_hash)(char *, const struct tcp_md5sig_key *, const struct sock *, const struct sk_buff *); + struct tcp_ao_key * (*ao_lookup)(const struct sock *, struct request_sock *, int, int); + int (*ao_calc_key)(struct tcp_ao_key *, u8 *, struct request_sock *); + int (*ao_synack_hash)(char *, struct tcp_ao_key *, struct request_sock *, const struct sk_buff *, int, u32); + __u32 (*cookie_init_seq)(const struct sk_buff *, __u16 *); + struct dst_entry * (*route_req)(const struct sock *, struct sk_buff *, struct flowi *, struct request_sock *, u32); + u32 (*init_seq)(const struct sk_buff *); + u32 (*init_ts_off)(const struct net *, const struct sk_buff *); + int (*send_synack)(const struct sock *, struct dst_entry *, struct flowi *, struct request_sock *, struct tcp_fastopen_cookie *, enum tcp_synack_type, struct sk_buff *); +}; + +struct tcp_sack_block_wire { + __be32 start_seq; + __be32 end_seq; +}; + +struct tcp_sacktag_state { + u64 first_sackt; + u64 last_sackt; + u32 reord; + u32 sack_delivered; + int flag; + unsigned int mss_now; + struct rate_sample *rate; +}; + +struct tcp_seq_afinfo { + sa_family_t family; +}; + +struct tcp_sigpool { + void *scratch; + struct ahash_request *req; +}; + +struct tcp_skb_cb { + __u32 seq; + __u32 end_seq; + union { + struct { + u16 tcp_gso_segs; + u16 tcp_gso_size; + }; + }; + __u16 tcp_flags; + __u8 sacked; + __u8 ip_dsfield; + __u8 txstamp_ack: 2; + __u8 eor: 1; + __u8 has_rxtstamp: 1; + __u8 unused: 4; + __u32 ack_seq; + union { + struct { + __u32 is_app_limited: 1; + __u32 delivered_ce: 20; + __u32 unused: 11; + __u32 delivered; + u64 first_tx_mstamp; + u64 delivered_mstamp; + } tx; + union { + struct inet_skb_parm h4; + struct inet6_skb_parm h6; + } header; + }; +}; + +struct tcp_sock_af_ops { + struct tcp_md5sig_key * (*md5_lookup)(const struct sock *, const struct sock *); + int (*calc_md5_hash)(char *, const struct tcp_md5sig_key *, const struct sock *, const struct sk_buff *); + int (*md5_parse)(struct sock *, int, sockptr_t, int); + int (*ao_parse)(struct sock *, int, sockptr_t, int); + struct tcp_ao_key * (*ao_lookup)(const struct sock *, struct sock *, int, int); + int (*ao_calc_key_sk)(struct tcp_ao_key *, u8 *, const struct sock *, __be32, __be32, bool); + int (*calc_ao_hash)(char *, struct tcp_ao_key *, const struct sock *, const struct sk_buff *, const u8 *, int, u32); +}; + +struct tcp_splice_state { + struct pipe_inode_info *pipe; + size_t len; + unsigned int flags; +}; + +struct tcp_timewait_sock { + struct inet_timewait_sock tw_sk; + u32 tw_rcv_wnd; + u32 tw_ts_offset; + u32 tw_ts_recent; + u32 tw_last_oow_ack_time; + int tw_ts_recent_stamp; + u32 tw_tx_delay; + struct tcp_md5sig_key *tw_md5_key; + struct tcp_ao_info *ao_info; +}; + +struct tcp_ulp_ops { + struct list_head list; + int (*init)(struct sock *); + void (*update)(struct sock *, struct proto *, void (*)(struct sock *)); + void (*release)(struct sock *); + int (*get_info)(struct sock *, struct sk_buff *, bool); + size_t (*get_info_size)(const struct sock *, bool); + void (*clone)(const struct request_sock *, struct sock *, const gfp_t); + char name[16]; + struct module *owner; +}; + +union tcp_word_hdr { + struct tcphdr hdr; + __be32 words[5]; +}; + +struct tcp_xa_pool { + u8 max; + u8 idx; + __u32 tokens[17]; + netmem_ref netmems[17]; +}; + +struct tcp_zerocopy_receive { + __u64 address; + __u32 length; + __u32 recv_skip_hint; + __u32 inq; + __s32 err; + __u64 copybuf_address; + __s32 copybuf_len; + __u32 flags; + __u64 msg_control; + __u64 msg_controllen; + __u32 msg_flags; + __u32 reserved; +}; + +struct tcpa_event { + u32 pcr_index; + u32 event_type; + u8 pcr_value[20]; + u32 event_size; + u8 event_data[0]; +}; + +struct tcpa_pc_event { + u32 event_id; + u32 event_size; + u8 event_data[0]; +}; + +struct tcpm_hash_bucket { + struct tcp_metrics_block *chain; +}; + +struct tcx_entry { + struct mini_Qdisc *miniq; + struct bpf_mprog_bundle bundle; + u32 miniq_active; + struct callback_head rcu; +}; + +struct tcx_link { + struct bpf_link link; + struct net_device *dev; +}; + +struct td { + __hc32 hwINFO; + __hc32 hwCBP; + __hc32 hwNextTD; + __hc32 hwBE; + __hc16 hwPSW[2]; + __u8 index; + struct ed *ed; + struct td *td_hash; + struct td *next_dl_td; + struct urb *urb; + dma_addr_t td_dma; + dma_addr_t data_dma; + struct list_head td_list; + long: 64; +}; + +struct tdmr_reserved_area { + u64 offset; + u64 size; +}; + +struct tdmr_info { + u64 base; + u64 size; + u64 pamt_1g_base; + u64 pamt_1g_size; + u64 pamt_2m_base; + u64 pamt_2m_size; + u64 pamt_4k_base; + u64 pamt_4k_size; + struct { + struct {} __empty_reserved_areas; + struct tdmr_reserved_area reserved_areas[0]; + }; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct tdmr_info_list { + void *tdmrs; + int nr_consumed_tdmrs; + int tdmr_sz; + int max_tdmrs; +}; + +struct tdx_memblock { + struct list_head list; + long unsigned int start_pfn; + long unsigned int end_pfn; + int nid; +}; + +struct tdx_module_args { + u64 rcx; + u64 rdx; + u64 r8; + u64 r9; + u64 r10; + u64 r11; + u64 r12; + u64 r13; + u64 r14; + u64 r15; + u64 rbx; + u64 rdi; + u64 rsi; +}; + +struct tdx_sys_info_features { + u64 tdx_features0; +}; + +struct tdx_sys_info_tdmr { + u16 max_tdmrs; + u16 max_reserved_per_tdmr; + u16 pamt_4k_entry_size; + u16 pamt_2m_entry_size; + u16 pamt_1g_entry_size; +}; + +struct tdx_sys_info_td_ctrl { + u16 tdr_base_size; + u16 tdcs_base_size; + u16 tdvps_base_size; +}; + +struct tdx_sys_info_td_conf { + u64 attributes_fixed0; + u64 attributes_fixed1; + u64 xfam_fixed0; + u64 xfam_fixed1; + u16 num_cpuid_config; + u16 max_vcpus_per_td; + u64 cpuid_config_leaves[128]; + u64 cpuid_config_values[256]; +}; + +struct tdx_sys_info { + struct tdx_sys_info_features features; + struct tdx_sys_info_tdmr tdmr; + struct tdx_sys_info_td_ctrl td_ctrl; + struct tdx_sys_info_td_conf td_conf; +}; + +struct tdx_td { + struct page *tdr_page; + int tdcs_nr_pages; + struct page **tdcs_pages; + int tdcx_nr_pages; +}; + +struct tdx_vp { + struct page *tdvpr_page; + phys_addr_t tdvpr_pa; + struct page **tdcx_pages; +}; + +struct temp_masks { + u32 tcc_offset; + u32 digital_readout; + u32 pkg_digital_readout; +}; + +struct teo_bin { + unsigned int intercepts; + unsigned int hits; +}; + +struct teo_cpu { + s64 sleep_length_ns; + struct teo_bin state_bins[10]; + unsigned int total; + unsigned int tick_intercepts; + unsigned int short_idles; + bool artificial_wakeup; +}; + +struct termio { + short unsigned int c_iflag; + short unsigned int c_oflag; + short unsigned int c_cflag; + short unsigned int c_lflag; + unsigned char c_line; + unsigned char c_cc[8]; +}; + +struct termios { + tcflag_t c_iflag; + tcflag_t c_oflag; + tcflag_t c_cflag; + tcflag_t c_lflag; + cc_t c_line; + cc_t c_cc[19]; +}; + +struct termios2 { + tcflag_t c_iflag; + tcflag_t c_oflag; + tcflag_t c_cflag; + tcflag_t c_lflag; + cc_t c_line; + cc_t c_cc[19]; + speed_t c_ispeed; + speed_t c_ospeed; +}; + +union text_poke_insn { + u8 text[5]; + struct { + u8 opcode; + s32 disp; + } __attribute__((packed)); +}; + +struct tgid_iter { + unsigned int tgid; + struct task_struct *task; +}; + +struct thermal_attr { + struct device_attribute attr; + char name[20]; +}; + +typedef struct thermal_cooling_device *class_cooling_dev_t; + +struct thermal_cooling_device { + int id; + const char *type; + long unsigned int max_state; + struct device device; + struct device_node *np; + void *devdata; + void *stats; + const struct thermal_cooling_device_ops *ops; + bool updated; + struct mutex lock; + struct list_head thermal_instances; + struct list_head node; +}; + +struct thermal_genl_cpu_caps { + int cpu; + int performance; + int efficiency; +}; + +struct thermal_genl_notify { + int mcgrp; +}; + +struct thermal_governor { + const char *name; + int (*bind_to_tz)(struct thermal_zone_device *); + void (*unbind_from_tz)(struct thermal_zone_device *); + void (*trip_crossed)(struct thermal_zone_device *, const struct thermal_trip *, bool); + void (*manage)(struct thermal_zone_device *); + void (*update_tz)(struct thermal_zone_device *, enum thermal_notify_event); + struct list_head governor_list; +}; + +struct thermal_hwmon_attr { + struct device_attribute attr; + char name[16]; +}; + +struct thermal_hwmon_device { + char type[20]; + struct device *device; + int count; + struct list_head tz_list; + struct list_head node; +}; + +struct thermal_hwmon_temp { + struct list_head hwmon_node; + struct thermal_zone_device *tz; + struct thermal_hwmon_attr temp_input; + struct thermal_hwmon_attr temp_crit; +}; + +struct thermal_instance { + int id; + char name[20]; + struct thermal_cooling_device *cdev; + const struct thermal_trip *trip; + bool initialized; + long unsigned int upper; + long unsigned int lower; + long unsigned int target; + char attr_name[20]; + struct device_attribute attr; + char weight_attr_name[20]; + struct device_attribute weight_attr; + struct list_head trip_node; + struct list_head cdev_node; + unsigned int weight; + bool upper_no_limit; +}; + +struct thermal_state { + struct _thermal_state core_throttle; + struct _thermal_state core_power_limit; + struct _thermal_state package_throttle; + struct _thermal_state package_power_limit; + struct _thermal_state core_thresh0; + struct _thermal_state core_thresh1; + struct _thermal_state pkg_thresh0; + struct _thermal_state pkg_thresh1; +}; + +struct thermal_trip { + int temperature; + int hysteresis; + enum thermal_trip_type type; + u8 flags; + void *priv; +}; + +struct thermal_trip_attrs { + struct thermal_attr type; + struct thermal_attr temp; + struct thermal_attr hyst; +}; + +struct thermal_trip_desc { + struct thermal_trip trip; + struct thermal_trip_attrs trip_attrs; + struct list_head list_node; + struct list_head thermal_instances; + int threshold; +}; + +typedef struct thermal_zone_device *class_thermal_zone_get_by_id_t; + +typedef struct thermal_zone_device *class_thermal_zone_reverse_t; + +typedef struct thermal_zone_device *class_thermal_zone_t; + +struct thermal_zone_device_ops { + bool (*should_bind)(struct thermal_zone_device *, const struct thermal_trip *, struct thermal_cooling_device *, struct cooling_spec *); + int (*get_temp)(struct thermal_zone_device *, int *); + int (*set_trips)(struct thermal_zone_device *, int, int); + int (*change_mode)(struct thermal_zone_device *, enum thermal_device_mode); + int (*set_trip_temp)(struct thermal_zone_device *, const struct thermal_trip *, int); + int (*get_crit_temp)(struct thermal_zone_device *, int *); + int (*set_emul_temp)(struct thermal_zone_device *, int); + int (*get_trend)(struct thermal_zone_device *, const struct thermal_trip *, enum thermal_trend *); + void (*hot)(struct thermal_zone_device *); + void (*critical)(struct thermal_zone_device *); +}; + +struct thermal_zone_params; + +struct thermal_zone_device { + int id; + char type[20]; + struct device device; + struct completion removal; + struct completion resume; + struct attribute_group trips_attribute_group; + struct list_head trips_high; + struct list_head trips_reached; + struct list_head trips_invalid; + enum thermal_device_mode mode; + void *devdata; + int num_trips; + long unsigned int passive_delay_jiffies; + long unsigned int polling_delay_jiffies; + long unsigned int recheck_delay_jiffies; + int temperature; + int last_temperature; + int emul_temperature; + int passive; + int prev_low_trip; + int prev_high_trip; + struct thermal_zone_device_ops ops; + struct thermal_zone_params *tzp; + struct thermal_governor *governor; + void *governor_data; + struct ida ida; + struct mutex lock; + struct list_head node; + struct delayed_work poll_queue; + enum thermal_notify_event notify_event; + u8 state; + struct list_head user_thresholds; + struct thermal_trip_desc trips[0]; +}; + +struct thermal_zone_params { + const char *governor_name; + bool no_hwmon; + u32 sustainable_power; + s32 k_po; + s32 k_pu; + s32 k_i; + s32 k_d; + s32 integral_cutoff; + int slope; + int offset; +}; + +struct thpsize { + struct kobject kobj; + struct list_head node; + int order; +}; + +struct threshold_block; + +struct thresh_restart { + struct threshold_block *b; + int set_lvt_off; + int lvt_off; + u16 old_limit; +}; + +struct threshold_attr { + struct attribute attr; + ssize_t (*show)(struct threshold_block *, char *); + ssize_t (*store)(struct threshold_block *, const char *, size_t); +}; + +struct threshold_bank { + struct kobject *kobj; + struct threshold_block *blocks; +}; + +struct threshold_block { + unsigned int block; + unsigned int bank; + unsigned int cpu; + u32 address; + bool interrupt_enable; + bool interrupt_capable; + u16 threshold_limit; + struct kobject kobj; + struct list_head miscj; +}; + +struct throtl_service_queue { + struct throtl_service_queue *parent_sq; + struct list_head queued[2]; + unsigned int nr_queued_bps[2]; + unsigned int nr_queued_iops[2]; + struct rb_root_cached pending_tree; + unsigned int nr_pending; + long unsigned int first_pending_disptime; + struct timer_list pending_timer; +}; + +struct throtl_data { + struct throtl_service_queue service_queue; + struct request_queue *queue; + unsigned int nr_queued[2]; + unsigned int throtl_slice; + struct work_struct dispatch_work; + bool track_bio_latency; +}; + +struct throtl_grp; + +struct throtl_qnode { + struct list_head node; + struct bio_list bios_bps; + struct bio_list bios_iops; + struct throtl_grp *tg; +}; + +struct throtl_grp { + struct blkg_policy_data pd; + struct rb_node rb_node; + struct throtl_data *td; + struct throtl_service_queue service_queue; + struct throtl_qnode qnode_on_self[2]; + struct throtl_qnode qnode_on_parent[2]; + long unsigned int disptime; + unsigned int flags; + bool has_rules_bps[2]; + bool has_rules_iops[2]; + uint64_t bps[2]; + unsigned int iops[2]; + int64_t bytes_disp[2]; + int io_disp[2]; + long unsigned int last_check_time; + long unsigned int slice_start[2]; + long unsigned int slice_end[2]; + struct blkg_rwstat stat_bytes; + struct blkg_rwstat stat_ios; +}; + +struct throttling_tstate { + unsigned int cpu; + int target_state; +}; + +struct tick_device { + struct clock_event_device *evtdev; + enum tick_device_mode mode; +}; + +struct tick_sched { + long unsigned int flags; + unsigned int stalled_jiffies; + long unsigned int last_tick_jiffies; + struct hrtimer sched_timer; + ktime_t last_tick; + ktime_t next_tick; + long unsigned int idle_jiffies; + ktime_t idle_waketime; + unsigned int got_idle_tick; + seqcount_t idle_sleeptime_seq; + ktime_t idle_entrytime; + long unsigned int last_jiffies; + u64 timer_expires_base; + u64 timer_expires; + u64 next_timer; + ktime_t idle_expires; + long unsigned int idle_calls; + long unsigned int idle_sleeps; + ktime_t idle_exittime; + ktime_t idle_sleeptime; + ktime_t iowait_sleeptime; + atomic_t tick_dep_mask; + long unsigned int check_clocks; +}; + +struct tick_work { + int cpu; + atomic_t state; + struct delayed_work work; +}; + +struct timens_offsets { + struct timespec64 monotonic; + struct timespec64 boottime; +}; + +struct time_namespace { + struct user_namespace *user_ns; + struct ucounts *ucounts; + struct ns_common ns; + struct timens_offsets offsets; + struct page *vvar_page; + bool frozen_offsets; +}; + +struct timedia_struct { + int num; + const short unsigned int *ids; +}; + +struct tk_read_base { + struct clocksource *clock; + u64 mask; + u64 cycle_last; + u32 mult; + u32 shift; + u64 xtime_nsec; + ktime_t base; + u64 base_real; +}; + +struct timekeeper { + struct tk_read_base tkr_mono; + u64 xtime_sec; + long unsigned int ktime_sec; + struct timespec64 wall_to_monotonic; + ktime_t offs_real; + ktime_t offs_boot; + union { + ktime_t offs_tai; + ktime_t offs_aux; + }; + u32 coarse_nsec; + enum timekeeper_ids id; + struct tk_read_base tkr_raw; + u64 raw_sec; + unsigned int clock_was_set_seq; + u8 cs_was_changed_seq; + u8 clock_valid; + union { + struct timespec64 monotonic_to_boot; + struct timespec64 monotonic_to_aux; + }; + u64 cycle_interval; + u64 xtime_interval; + s64 xtime_remainder; + u64 raw_interval; + ktime_t next_leap_ktime; + u64 ntp_tick; + s64 ntp_error; + u32 ntp_error_shift; + u32 ntp_err_mult; + u32 skip_second_overflow; + s32 tai_offset; +}; + +struct timens_offset { + s64 sec; + u64 nsec; +}; + +struct timer_base { + raw_spinlock_t lock; + struct timer_list *running_timer; + long unsigned int clk; + long unsigned int next_expiry; + unsigned int cpu; + bool next_expiry_recalc; + bool is_idle; + bool timers_pending; + long unsigned int pending_map[9]; + struct hlist_head vectors[576]; + long: 64; + long: 64; +}; + +struct timer_events { + u64 local; + u64 global; +}; + +struct timer_hash_bucket { + spinlock_t lock; + struct hlist_head head; +}; + +struct timer_list_iter { + int cpu; + bool second_pass; + u64 now; +}; + +struct timer_rand_state { + long unsigned int last_time; + long int last_delta; + long int last_delta2; +}; + +struct timerfd_ctx { + union { + struct hrtimer tmr; + struct alarm alarm; + } t; + ktime_t tintv; + ktime_t moffs; + wait_queue_head_t wqh; + u64 ticks; + int clockid; + short unsigned int expired; + short unsigned int settime_flags; + struct callback_head rcu; + struct list_head clist; + spinlock_t cancel_lock; + bool might_cancel; +}; + +struct timerlat_entry { + struct trace_entry ent; + unsigned int seqnum; + int context; + u64 timer_latency; +}; + +struct timerlat_sample { + u64 timer_latency; + unsigned int seqnum; + int context; +}; + +struct timerlat_variables { + struct task_struct *kthread; + struct hrtimer timer; + u64 rel_period; + u64 abs_period; + bool tracing_thread; + u64 count; + bool uthread_migrate; +}; + +struct timers_private { + struct pid *pid; + struct task_struct *task; + struct pid_namespace *ns; +}; + +struct timestamp_event_queue { + struct ptp_extts_event buf[128]; + int head; + int tail; + spinlock_t lock; + struct list_head qlist; + long unsigned int *mask; + struct dentry *debugfs_instance; + struct debugfs_u32_array dfs_bitmap; +}; + +struct timewait_sock_ops { + struct kmem_cache *twsk_slab; + char *twsk_slab_name; + unsigned int twsk_obj_size; + void (*twsk_destructor)(struct sock *); +}; + +struct timezone { + int tz_minuteswest; + int tz_dsttime; +}; + +struct tiocl_selection { + short unsigned int xs; + short unsigned int ys; + short unsigned int xe; + short unsigned int ye; + short unsigned int sel_mode; +}; + +struct tipc_basic_hdr { + __be32 w[4]; +}; + +struct tis_vendor_durations_override { + u32 did_vid; + struct tpm1_version version; + long unsigned int durations[3]; +}; + +struct tis_vendor_timeout_override { + u32 did_vid; + long unsigned int timeout_us[4]; +}; + +struct tk_data { + seqcount_raw_spinlock_t seq; + struct timekeeper timekeeper; + struct timekeeper shadow_timekeeper; + raw_spinlock_t lock; +}; + +struct tk_fast { + seqcount_latch_t seq; + struct tk_read_base base[2]; +}; + +struct tlb_context { + u64 ctx_id; + u64 tlb_gen; +}; + +struct tlb_state { + struct mm_struct *loaded_mm; + union { + struct mm_struct *last_user_mm; + long unsigned int last_user_mm_spec; + }; + u16 loaded_mm_asid; + u16 next_asid; + bool invalidate_other; + short unsigned int user_pcid_flush_mask; + long unsigned int cr4; + struct tlb_context ctxs[6]; +}; + +struct tlb_state_shared { + bool is_lazy; +}; + +struct tls_crypto_info { + __u16 version; + __u16 cipher_type; +}; + +struct tls12_crypto_info_aes_gcm_128 { + struct tls_crypto_info info; + unsigned char iv[8]; + unsigned char key[16]; + unsigned char salt[4]; + unsigned char rec_seq[8]; +}; + +struct tls12_crypto_info_aes_gcm_256 { + struct tls_crypto_info info; + unsigned char iv[8]; + unsigned char key[32]; + unsigned char salt[4]; + unsigned char rec_seq[8]; +}; + +struct tls12_crypto_info_chacha20_poly1305 { + struct tls_crypto_info info; + unsigned char iv[12]; + unsigned char key[32]; + unsigned char salt[0]; + unsigned char rec_seq[8]; +}; + +struct tls12_crypto_info_sm4_ccm { + struct tls_crypto_info info; + unsigned char iv[8]; + unsigned char key[16]; + unsigned char salt[4]; + unsigned char rec_seq[8]; +}; + +struct tls12_crypto_info_sm4_gcm { + struct tls_crypto_info info; + unsigned char iv[8]; + unsigned char key[16]; + unsigned char salt[4]; + unsigned char rec_seq[8]; +}; + +struct tls_prot_info { + u16 version; + u16 cipher_type; + u16 prepend_size; + u16 tag_size; + u16 overhead_size; + u16 iv_size; + u16 salt_size; + u16 rec_seq_size; + u16 aad_size; + u16 tail_size; +}; + +union tls_crypto_context { + struct tls_crypto_info info; + union { + struct tls12_crypto_info_aes_gcm_128 aes_gcm_128; + struct tls12_crypto_info_aes_gcm_256 aes_gcm_256; + struct tls12_crypto_info_chacha20_poly1305 chacha20_poly1305; + struct tls12_crypto_info_sm4_gcm sm4_gcm; + struct tls12_crypto_info_sm4_ccm sm4_ccm; + }; +}; + +struct tls_context { + struct tls_prot_info prot_info; + u8 tx_conf: 3; + u8 rx_conf: 3; + u8 zerocopy_sendfile: 1; + u8 rx_no_pad: 1; + int (*push_pending_record)(struct sock *, int); + void (*sk_write_space)(struct sock *); + void *priv_ctx_tx; + void *priv_ctx_rx; + struct net_device *netdev; + struct cipher_context tx; + struct cipher_context rx; + struct scatterlist *partially_sent_record; + u16 partially_sent_offset; + bool splicing_pages; + bool pending_open_record_frags; + struct mutex tx_lock; + long unsigned int flags; + struct proto *sk_proto; + struct sock *sk; + void (*sk_destruct)(struct sock *); + union tls_crypto_context crypto_send; + union tls_crypto_context crypto_recv; + struct list_head list; + refcount_t refcount; + struct callback_head rcu; +}; + +struct tls_descs { + struct desc_struct desc[3]; +}; + +typedef void (*tls_done_func_t)(void *, int, key_serial_t); + +struct tls_handshake_args { + struct socket *ta_sock; + tls_done_func_t ta_done; + void *ta_data; + const char *ta_peername; + unsigned int ta_timeout_ms; + key_serial_t ta_keyring; + key_serial_t ta_my_cert; + key_serial_t ta_my_privkey; + unsigned int ta_num_peerids; + key_serial_t ta_my_peerids[5]; +}; + +struct tls_handshake_req { + void (*th_consumer_done)(void *, int, key_serial_t); + void *th_consumer_data; + int th_type; + unsigned int th_timeout_ms; + int th_auth_mode; + const char *th_peername; + key_serial_t th_keyring; + key_serial_t th_certificate; + key_serial_t th_privkey; + unsigned int th_num_peerids; + key_serial_t th_peerid[5]; +}; + +struct tls_strparser { + struct sock *sk; + u32 mark: 8; + u32 stopped: 1; + u32 copy_mode: 1; + u32 mixed_decrypted: 1; + bool msg_ready; + struct strp_msg stm; + struct sk_buff *anchor; + struct work_struct work; +}; + +struct tls_sw_context_rx { + struct crypto_aead *aead_recv; + struct crypto_wait async_wait; + struct sk_buff_head rx_list; + void (*saved_data_ready)(struct sock *); + u8 reader_present; + u8 async_capable: 1; + u8 zc_capable: 1; + u8 reader_contended: 1; + bool key_update_pending; + struct tls_strparser strp; + atomic_t decrypt_pending; + struct sk_buff_head async_hold; + struct wait_queue_head wq; +}; + +struct tx_work { + struct delayed_work work; + struct sock *sk; +}; + +struct tls_rec; + +struct tls_sw_context_tx { + struct crypto_aead *aead_send; + struct crypto_wait async_wait; + struct tx_work tx_work; + struct tls_rec *open_rec; + struct list_head tx_list; + atomic_t encrypt_pending; + u8 async_capable: 1; + long unsigned int tx_bitmask; +}; + +struct tlsdev_ops { + int (*tls_dev_add)(struct net_device *, struct sock *, enum tls_offload_ctx_dir, struct tls_crypto_info *, u32); + void (*tls_dev_del)(struct net_device *, struct tls_context *, enum tls_offload_ctx_dir); + int (*tls_dev_resync)(struct net_device *, struct sock *, u32, u8 *, enum tls_offload_ctx_dir); +}; + +struct tm { + int tm_sec; + int tm_min; + int tm_hour; + int tm_mday; + int tm_mon; + long int tm_year; + int tm_wday; + int tm_yday; +}; + +struct tsm_measurements; + +struct tm_context { + struct rw_semaphore rwsem; + struct attribute_group agrp; + const struct tsm_measurements *tm; + bool in_sync; + struct bin_attribute mrs[0]; +}; + +struct tmigr_event { + struct timerqueue_node nextevt; + unsigned int cpu; + bool ignore; +}; + +struct tmigr_group; + +struct tmigr_cpu { + raw_spinlock_t lock; + bool online; + bool idle; + bool remote; + struct tmigr_group *tmgroup; + u8 groupmask; + u64 wakeup; + struct tmigr_event cpuevt; +}; + +struct tmigr_group { + raw_spinlock_t lock; + struct tmigr_group *parent; + struct tmigr_event groupevt; + u64 next_expiry; + struct timerqueue_head events; + atomic_t migr_state; + unsigned int level; + int numa_node; + unsigned int num_children; + u8 groupmask; + struct list_head list; +}; + +union tmigr_state { + u32 state; + struct { + u8 active; + u8 migrator; + u16 seq; + }; +}; + +struct tmigr_walk { + u64 nextexp; + u64 firstexp; + struct tmigr_event *evt; + u8 childmask; + bool remote; + long unsigned int basej; + u64 now; + bool check; + bool tmc_active; +}; + +struct tmpmasks { + cpumask_var_t addmask; + cpumask_var_t delmask; + cpumask_var_t new_cpus; +}; + +struct tms { + __kernel_clock_t tms_utime; + __kernel_clock_t tms_stime; + __kernel_clock_t tms_cutime; + __kernel_clock_t tms_cstime; +}; + +struct tnode { + struct callback_head rcu; + t_key empty_children; + t_key full_children; + struct key_vector *parent; + struct key_vector kv[1]; +}; + +struct token_bucket { + spinlock_t lock; + int chain_len; + struct hlist_nulls_head req_chain; + struct hlist_nulls_head msk_chain; +}; + +struct tomoyo_acl_head { + struct list_head list; + s8 is_deleted; +} __attribute__((packed)); + +struct tomoyo_condition; + +struct tomoyo_acl_info { + struct list_head list; + struct tomoyo_condition *cond; + s8 is_deleted; + u8 type; +} __attribute__((packed)); + +struct tomoyo_policy_namespace; + +struct tomoyo_acl_param { + char *data; + struct list_head *list; + struct tomoyo_policy_namespace *ns; + bool is_delete; +}; + +struct tomoyo_inet_addr_info { + __be16 port; + const __be32 *address; + bool is_ipv6; +}; + +struct tomoyo_unix_addr_info { + u8 *addr; + unsigned int addr_len; +}; + +struct tomoyo_addr_info { + u8 protocol; + u8 operation; + struct tomoyo_inet_addr_info inet; + struct tomoyo_unix_addr_info unix0; +}; + +struct tomoyo_group; + +struct tomoyo_ipaddr_union { + struct in6_addr ip[2]; + struct tomoyo_group *group; + bool is_ipv6; +}; + +struct tomoyo_address_group { + struct tomoyo_acl_head head; + struct tomoyo_ipaddr_union address; +}; + +struct tomoyo_path_info; + +struct tomoyo_aggregator { + struct tomoyo_acl_head head; + const struct tomoyo_path_info *original_name; + const struct tomoyo_path_info *aggregated_name; +}; + +struct tomoyo_argv { + long unsigned int index; + const struct tomoyo_path_info *value; + bool is_not; +}; + +struct tomoyo_shared_acl_head { + struct list_head list; + atomic_t users; +} __attribute__((packed)); + +struct tomoyo_condition { + struct tomoyo_shared_acl_head head; + u32 size; + u16 condc; + u16 numbers_count; + u16 names_count; + u16 argc; + u16 envc; + u8 grant_log; + const struct tomoyo_path_info *transit; +}; + +struct tomoyo_condition_element { + u8 left; + u8 right; + bool equals; +}; + +struct tomoyo_domain_info { + struct list_head list; + struct list_head acl_info_list; + const struct tomoyo_path_info *domainname; + struct tomoyo_policy_namespace *ns; + long unsigned int group[4]; + u8 profile; + bool is_deleted; + bool flags[2]; + atomic_t users; +}; + +struct tomoyo_env_acl { + struct tomoyo_acl_info head; + const struct tomoyo_path_info *env; +}; + +struct tomoyo_envp { + const struct tomoyo_path_info *name; + const struct tomoyo_path_info *value; + bool is_not; +}; + +struct tomoyo_obj_info; + +struct tomoyo_execve; + +struct tomoyo_request_info { + struct tomoyo_obj_info *obj; + struct tomoyo_execve *ee; + struct tomoyo_domain_info *domain; + union { + struct { + const struct tomoyo_path_info *filename; + const struct tomoyo_path_info *matched_path; + u8 operation; + } path; + struct { + const struct tomoyo_path_info *filename1; + const struct tomoyo_path_info *filename2; + u8 operation; + } path2; + struct { + const struct tomoyo_path_info *filename; + unsigned int mode; + unsigned int major; + unsigned int minor; + u8 operation; + } mkdev; + struct { + const struct tomoyo_path_info *filename; + long unsigned int number; + u8 operation; + } path_number; + struct { + const struct tomoyo_path_info *name; + } environ; + struct { + const __be32 *address; + u16 port; + u8 protocol; + u8 operation; + bool is_ipv6; + } inet_network; + struct { + const struct tomoyo_path_info *address; + u8 protocol; + u8 operation; + } unix_network; + struct { + const struct tomoyo_path_info *type; + const struct tomoyo_path_info *dir; + const struct tomoyo_path_info *dev; + long unsigned int flags; + int need_dev; + } mount; + struct { + const struct tomoyo_path_info *domainname; + } task; + } param; + struct tomoyo_acl_info *matched_acl; + u8 param_type; + bool granted; + u8 retry; + u8 profile; + u8 mode; + u8 type; +}; + +struct tomoyo_mini_stat { + kuid_t uid; + kgid_t gid; + ino_t ino; + umode_t mode; + dev_t dev; + dev_t rdev; +}; + +struct tomoyo_obj_info { + bool validate_done; + bool stat_valid[4]; + struct path path1; + struct path path2; + struct tomoyo_mini_stat stat[4]; + struct tomoyo_path_info *symlink_target; +}; + +struct tomoyo_page_dump { + struct page *page; + char *data; +}; + +struct tomoyo_execve { + struct tomoyo_request_info r; + struct tomoyo_obj_info obj; + struct linux_binprm *bprm; + const struct tomoyo_path_info *transition; + struct tomoyo_page_dump dump; + char *tmp; +}; + +struct tomoyo_group { + struct tomoyo_shared_acl_head head; + const struct tomoyo_path_info *group_name; + struct list_head member_list; +}; + +struct tomoyo_number_union { + long unsigned int values[2]; + struct tomoyo_group *group; + u8 value_type[2]; +}; + +struct tomoyo_inet_acl { + struct tomoyo_acl_info head; + u8 protocol; + u8 perm; + struct tomoyo_ipaddr_union address; + struct tomoyo_number_union port; +}; + +struct tomoyo_io_buffer { + void (*read)(struct tomoyo_io_buffer *); + int (*write)(struct tomoyo_io_buffer *); + __poll_t (*poll)(struct file *, poll_table *); + struct mutex io_sem; + char *read_user_buf; + size_t read_user_buf_avail; + struct { + struct list_head *ns; + struct list_head *domain; + struct list_head *group; + struct list_head *acl; + size_t avail; + unsigned int step; + unsigned int query_index; + u16 index; + u16 cond_index; + u8 acl_group_index; + u8 cond_step; + u8 bit; + u8 w_pos; + bool eof; + bool print_this_domain_only; + bool print_transition_related_only; + bool print_cond_part; + const char *w[64]; + } r; + struct { + struct tomoyo_policy_namespace *ns; + struct tomoyo_domain_info *domain; + size_t avail; + bool is_delete; + } w; + char *read_buf; + size_t readbuf_size; + char *write_buf; + size_t writebuf_size; + enum tomoyo_securityfs_interface_index type; + u8 users; + struct list_head list; +}; + +struct tomoyo_log { + struct list_head list; + char *log; + int size; +}; + +struct tomoyo_manager { + struct tomoyo_acl_head head; + const struct tomoyo_path_info *manager; +}; + +struct tomoyo_name_union { + const struct tomoyo_path_info *filename; + struct tomoyo_group *group; +}; + +struct tomoyo_mkdev_acl { + struct tomoyo_acl_info head; + u8 perm; + struct tomoyo_name_union name; + struct tomoyo_number_union mode; + struct tomoyo_number_union major; + struct tomoyo_number_union minor; +}; + +struct tomoyo_mount_acl { + struct tomoyo_acl_info head; + struct tomoyo_name_union dev_name; + struct tomoyo_name_union dir_name; + struct tomoyo_name_union fs_type; + struct tomoyo_number_union flags; +}; + +struct tomoyo_path_info { + const char *name; + u32 hash; + u16 const_len; + bool is_dir; + bool is_patterned; +}; + +struct tomoyo_name { + struct tomoyo_shared_acl_head head; + struct tomoyo_path_info entry; +}; + +struct tomoyo_number_group { + struct tomoyo_acl_head head; + struct tomoyo_number_union number; +}; + +struct tomoyo_path2_acl { + struct tomoyo_acl_info head; + u8 perm; + struct tomoyo_name_union name1; + struct tomoyo_name_union name2; +}; + +struct tomoyo_path_acl { + struct tomoyo_acl_info head; + u16 perm; + struct tomoyo_name_union name; +}; + +struct tomoyo_path_group { + struct tomoyo_acl_head head; + const struct tomoyo_path_info *member_name; +}; + +struct tomoyo_path_number_acl { + struct tomoyo_acl_info head; + u8 perm; + struct tomoyo_name_union name; + struct tomoyo_number_union number; +}; + +struct tomoyo_profile; + +struct tomoyo_policy_namespace { + struct tomoyo_profile *profile_ptr[256]; + struct list_head group_list[3]; + struct list_head policy_list[11]; + struct list_head acl_group[256]; + struct list_head namespace_list; + unsigned int profile_version; + const char *name; +}; + +struct tomoyo_preference { + unsigned int learning_max_entry; + bool enforcing_verbose; + bool learning_verbose; + bool permissive_verbose; +}; + +struct tomoyo_profile { + const struct tomoyo_path_info *comment; + struct tomoyo_preference *learning; + struct tomoyo_preference *permissive; + struct tomoyo_preference *enforcing; + struct tomoyo_preference preference; + u8 default_config; + u8 config[42]; + unsigned int pref[2]; +}; + +struct tomoyo_query { + struct list_head list; + struct tomoyo_domain_info *domain; + char *query; + size_t query_len; + unsigned int serial; + u8 timer; + u8 answer; + u8 retry; +}; + +struct tomoyo_task { + struct tomoyo_domain_info *domain_info; + struct tomoyo_domain_info *old_domain_info; +}; + +struct tomoyo_task_acl { + struct tomoyo_acl_info head; + const struct tomoyo_path_info *domainname; +}; + +struct tomoyo_time { + u16 year; + u8 month; + u8 day; + u8 hour; + u8 min; + u8 sec; +}; + +struct tomoyo_transition_control { + struct tomoyo_acl_head head; + u8 type; + bool is_last_name; + const struct tomoyo_path_info *domainname; + const struct tomoyo_path_info *program; +}; + +struct tomoyo_unix_acl { + struct tomoyo_acl_info head; + u8 protocol; + u8 perm; + struct tomoyo_name_union name; +}; + +struct topa { + struct list_head list; + u64 offset; + size_t size; + int last; + unsigned int z_count; +}; + +struct topa_entry { + u64 end: 1; + u64 rsvd0: 1; + u64 intr: 1; + u64 rsvd1: 1; + u64 stop: 1; + u64 rsvd2: 1; + u64 size: 4; + u64 rsvd3: 2; + u64 base: 40; + u64 rsvd4: 12; +}; + +struct topa_page { + struct topa_entry table[507]; + struct topa topa; +}; + +struct topo_scan { + struct cpuinfo_x86 *c; + unsigned int dom_shifts[7]; + unsigned int dom_ncpus[7]; + unsigned int ebx1_nproc_shift; + u16 amd_nodes_per_pkg; + u16 amd_node_id; +}; + +struct touch_overlay_segment { + struct list_head list; + u32 x_origin; + u32 y_origin; + u32 x_size; + u32 y_size; + u32 key; + bool pressed; + int slot; +}; + +struct tp_module { + struct list_head list; + struct module *mod; +}; + +struct tracepoint_func { + void *func; + void *data; + int prio; +}; + +struct tp_probes { + struct callback_head rcu; + struct tracepoint_func probes[0]; +}; + +struct tp_transition_snapshot { + long unsigned int rcu; + bool ongoing; +}; + +struct tpacket2_hdr { + __u32 tp_status; + __u32 tp_len; + __u32 tp_snaplen; + __u16 tp_mac; + __u16 tp_net; + __u32 tp_sec; + __u32 tp_nsec; + __u16 tp_vlan_tci; + __u16 tp_vlan_tpid; + __u8 tp_padding[4]; +}; + +struct tpacket_hdr_variant1 { + __u32 tp_rxhash; + __u32 tp_vlan_tci; + __u16 tp_vlan_tpid; + __u16 tp_padding; +}; + +struct tpacket3_hdr { + __u32 tp_next_offset; + __u32 tp_sec; + __u32 tp_nsec; + __u32 tp_snaplen; + __u32 tp_len; + __u32 tp_status; + __u16 tp_mac; + __u16 tp_net; + union { + struct tpacket_hdr_variant1 hv1; + }; + __u8 tp_padding[8]; +}; + +struct tpacket_auxdata { + __u32 tp_status; + __u32 tp_len; + __u32 tp_snaplen; + __u16 tp_mac; + __u16 tp_net; + __u16 tp_vlan_tci; + __u16 tp_vlan_tpid; +}; + +struct tpacket_bd_ts { + unsigned int ts_sec; + union { + unsigned int ts_usec; + unsigned int ts_nsec; + }; +}; + +struct tpacket_hdr_v1 { + __u32 block_status; + __u32 num_pkts; + __u32 offset_to_first_pkt; + __u32 blk_len; + __u64 seq_num; + struct tpacket_bd_ts ts_first_pkt; + struct tpacket_bd_ts ts_last_pkt; +}; + +union tpacket_bd_header_u { + struct tpacket_hdr_v1 bh1; +}; + +struct tpacket_block_desc { + __u32 version; + __u32 offset_to_priv; + union tpacket_bd_header_u hdr; +}; + +struct tpacket_hdr { + long unsigned int tp_status; + unsigned int tp_len; + unsigned int tp_snaplen; + short unsigned int tp_mac; + short unsigned int tp_net; + unsigned int tp_sec; + unsigned int tp_usec; +}; + +struct tpacket_req { + unsigned int tp_block_size; + unsigned int tp_block_nr; + unsigned int tp_frame_size; + unsigned int tp_frame_nr; +}; + +struct tpacket_req3 { + unsigned int tp_block_size; + unsigned int tp_block_nr; + unsigned int tp_frame_size; + unsigned int tp_frame_nr; + unsigned int tp_retire_blk_tov; + unsigned int tp_sizeof_priv; + unsigned int tp_feature_req_word; +}; + +union tpacket_req_u { + struct tpacket_req req; + struct tpacket_req3 req3; +}; + +struct tpacket_rollover_stats { + __u64 tp_all; + __u64 tp_huge; + __u64 tp_failed; +}; + +union tpacket_uhdr { + struct tpacket_hdr *h1; + struct tpacket2_hdr *h2; + struct tpacket3_hdr *h3; + void *raw; +}; + +struct tpm1_get_random_out { + __be32 rng_data_len; + u8 rng_data[128]; +}; + +struct tpm2_auth { + u32 handle; + u32 session; + u8 our_nonce[32]; + u8 tpm_nonce[32]; + union { + u8 salt[32]; + u8 scratch[32]; + }; + u8 session_key[32]; + u8 passphrase[32]; + int passphrase_len; + struct crypto_aes_ctx aes_ctx; + u8 attrs; + __be32 ordinal; + u32 name_h[3]; + u8 name[198]; +}; + +struct tpm2_cap_handles { + u8 more_data; + __be32 capability; + __be32 count; + __be32 handles[0]; +} __attribute__((packed)); + +struct tpm2_context { + __be64 sequence; + __be32 saved_handle; + __be32 hierarchy; + __be16 blob_size; +} __attribute__((packed)); + +struct tpm2_crb_ffa { + u8 flags; + u8 attributes; + u16 partition_id; + u8 reserved[8]; +}; + +struct tpm2_crb_pluton { + u64 start_addr; + u64 reply_addr; +}; + +struct tpm2_crb_smc { + u32 interrupt; + u8 interrupt_flags; + u8 op_flags; + u16 reserved2; + u32 smc_func_id; +}; + +struct tpm2_get_cap_out { + u8 more_data; + __be32 subcap_id; + __be32 property_cnt; + __be32 property_id; + __be32 value; +} __attribute__((packed)); + +struct tpm2_get_random_out { + __be16 size; + u8 buffer[128]; +}; + +struct tpm2_hash { + unsigned int crypto_id; + unsigned int tpm_id; +}; + +struct tpm2_key_context { + u32 parent; + const u8 *pub; + u32 pub_len; + const u8 *priv; + u32 priv_len; +}; + +struct tpm2_pcr_read_out { + __be32 update_cnt; + __be32 pcr_selects_cnt; + __be16 hash_alg; + u8 pcr_select_size; + u8 pcr_select[3]; + __be32 digests_cnt; + __be16 digest_size; + u8 digest[0]; +} __attribute__((packed)); + +struct tpm2_pcr_selection { + __be16 hash_alg; + u8 size_of_select; + u8 pcr_select[3]; +}; + +struct tpm_bank_info { + u16 alg_id; + u16 digest_size; + u16 crypto_id; +}; + +struct tpm_bios_log { + void *bios_event_log; + void *bios_event_log_end; +}; + +struct tpm_buf { + u32 flags; + u32 length; + u8 *data; + u8 handles; +}; + +struct tpm_chip_seqops { + struct tpm_chip *chip; + const struct seq_operations *seqops; +}; + +struct tpm_space { + u32 context_tbl[3]; + u8 *context_buf; + u32 session_tbl[3]; + u8 *session_buf; + u32 buf_size; +}; + +struct tpm_class_ops; + +struct tpm_chip { + struct device dev; + struct device devs; + struct cdev cdev; + struct cdev cdevs; + struct rw_semaphore ops_sem; + const struct tpm_class_ops *ops; + struct tpm_bios_log log; + struct tpm_chip_seqops bin_log_seqops; + struct tpm_chip_seqops ascii_log_seqops; + unsigned int flags; + int dev_num; + long unsigned int is_open; + char hwrng_name[64]; + struct hwrng hwrng; + struct mutex tpm_mutex; + long unsigned int timeout_a; + long unsigned int timeout_b; + long unsigned int timeout_c; + long unsigned int timeout_d; + bool timeout_adjusted; + long unsigned int duration[4]; + bool duration_adjusted; + struct dentry *bios_dir; + const struct attribute_group *groups[8]; + unsigned int groups_cnt; + u32 nr_allocated_banks; + struct tpm_bank_info allocated_banks[8]; + acpi_handle acpi_dev_handle; + char ppi_version[4]; + struct tpm_space work_space; + u32 last_cc; + u32 nr_commands; + u32 *cc_attrs_tbl; + int locality; +}; + +struct tpm_class_ops { + unsigned int flags; + const u8 req_complete_mask; + const u8 req_complete_val; + bool (*req_canceled)(struct tpm_chip *, u8); + int (*recv)(struct tpm_chip *, u8 *, size_t); + int (*send)(struct tpm_chip *, u8 *, size_t, size_t); + void (*cancel)(struct tpm_chip *); + u8 (*status)(struct tpm_chip *); + void (*update_timeouts)(struct tpm_chip *, long unsigned int *); + void (*update_durations)(struct tpm_chip *, long unsigned int *); + int (*go_idle)(struct tpm_chip *); + int (*cmd_ready)(struct tpm_chip *); + int (*request_locality)(struct tpm_chip *, int); + int (*relinquish_locality)(struct tpm_chip *, int); + void (*clk_enable)(struct tpm_chip *, bool); +}; + +struct tpm_digests { + unsigned char encauth[20]; + unsigned char pubauth[20]; + unsigned char xorwork[40]; + unsigned char xorhash[20]; + unsigned char nonceodd[20]; +}; + +struct tpm_header { + __be16 tag; + __be32 length; + union { + __be32 ordinal; + __be32 return_code; + }; +} __attribute__((packed)); + +struct tpm_info { + struct resource res; + int irq; +}; + +struct tpm_pcr_attr { + int alg_id; + int pcr; + struct device_attribute attr; +}; + +struct tpm_readpubek_out { + u8 algorithm[4]; + u8 encscheme[2]; + u8 sigscheme[2]; + __be32 paramsize; + u8 parameters[12]; + __be32 keysize; + u8 modulus[256]; + u8 checksum[20]; +}; + +struct tpm_tis_phy_ops; + +struct tpm_tis_data { + struct tpm_chip *chip; + u16 manufacturer_id; + struct mutex locality_count_mutex; + unsigned int locality_count; + int locality; + int irq; + struct work_struct free_irq_work; + long unsigned int last_unhandled_irq; + unsigned int unhandled_irqs; + unsigned int int_mask; + long unsigned int flags; + void *ilb_base_addr; + u16 clkrun_enabled; + wait_queue_head_t int_queue; + wait_queue_head_t read_queue; + const struct tpm_tis_phy_ops *phy_ops; + short unsigned int rng_quality; + unsigned int timeout_min; + unsigned int timeout_max; +}; + +struct tpm_tis_phy_ops { + int (*read_bytes)(struct tpm_tis_data *, u32, u16, u8 *, enum tpm_tis_io_mode); + int (*write_bytes)(struct tpm_tis_data *, u32, u16, const u8 *, enum tpm_tis_io_mode); + int (*verify_crc)(struct tpm_tis_data *, size_t, const u8 *); +}; + +struct tpm_tis_tcg_phy { + struct tpm_tis_data priv; + void *iobase; +}; + +struct tpmrm_priv { + struct file_priv priv; + struct tpm_space space; +}; + +struct tps65086_regulator_config; + +struct tps65086 { + struct device *dev; + struct regmap *regmap; + unsigned int chip_id; + const struct tps65086_regulator_config *reg_config; + int irq; + struct regmap_irq_chip_data *irq_data; +}; + +struct tps65090 { + struct device *dev; + struct regmap *rmap; + struct regmap_irq_chip_data *irq_data; +}; + +struct tps65090_regulator_plat_data; + +struct tps65090_platform_data { + int irq_base; + char **supplied_to; + size_t num_supplicants; + int enable_low_current_chrg; + struct tps65090_regulator_plat_data *reg_pdata[12]; +}; + +struct tps65090_regulator_plat_data { + struct regulator_init_data *reg_init_data; + bool enable_ext_control; + struct gpio_desc *gpiod; + bool overcurrent_wait_valid; + int overcurrent_wait; +}; + +struct tps6586x { + struct device *dev; + struct i2c_client *client; + struct regmap *regmap; + int version; + int irq; + struct irq_chip irq_chip; + struct mutex irq_lock; + int irq_base; + u32 irq_en; + u8 mask_reg[5]; + struct irq_domain *irq_domain; +}; + +struct tps6586x_gpio { + struct gpio_chip gpio_chip; + struct device *parent; +}; + +struct tps6586x_irq_data { + u8 mask_reg; + u8 mask_mask; +}; + +struct tps6586x_subdev_info; + +struct tps6586x_platform_data { + int num_subdevs; + struct tps6586x_subdev_info *subdevs; + int gpio_base; + int irq_base; + bool pm_off; + struct regulator_init_data *reg_init_data[15]; +}; + +struct tps6586x_subdev_info { + int id; + const char *name; + void *platform_data; + struct device_node *of_node; +}; + +struct tps65910_board; + +struct tps65910 { + struct device *dev; + struct i2c_client *i2c_client; + struct regmap *regmap; + long unsigned int id; + struct tps65910_board *of_plat_data; + int chip_irq; + struct regmap_irq_chip_data *irq_data; +}; + +struct tps65910_sleep_keepon_data { + unsigned int therm_keepon: 1; + unsigned int clkout32k_keepon: 1; + unsigned int i2chs_keepon: 1; +}; + +struct tps65910_board { + int gpio_base; + int irq; + int irq_base; + int vmbch_threshold; + int vmbch2_threshold; + bool en_ck32k_xtal; + bool en_dev_slp; + bool pm_off; + struct tps65910_sleep_keepon_data slp_keepon; + bool en_gpio_sleep[9]; + long unsigned int regulator_ext_sleep_control[14]; + struct regulator_init_data *tps65910_pmic_init_data[14]; +}; + +struct tps65910_gpio { + struct gpio_chip gpio_chip; + struct tps65910 *tps65910; +}; + +struct tps65910_platform_data { + int irq; + int irq_base; +}; + +struct tps65912 { + struct device *dev; + struct regmap *regmap; + int irq; + struct regmap_irq_chip_data *irq_data; +}; + +struct tps68470_pmic_opregion { + struct mutex lock; + struct regmap *regmap; +}; + +struct tps68470_pmic_table { + u32 address; + u32 reg; + u32 bitmask; +}; + +struct trace_module_delta; + +struct trace_pid_list; + +struct trace_options; + +struct trace_func_repeats; + +struct trace_array { + struct list_head list; + char *name; + struct array_buffer array_buffer; + struct array_buffer max_buffer; + bool allocated_snapshot; + spinlock_t snapshot_trigger_lock; + unsigned int snapshot; + long unsigned int max_latency; + struct dentry *d_max_latency; + struct work_struct fsnotify_work; + struct irq_work fsnotify_irqwork; + unsigned int mapped; + long unsigned int range_addr_start; + long unsigned int range_addr_size; + char *range_name; + long int text_delta; + struct trace_module_delta *module_delta; + void *scratch; + int scratch_size; + int buffer_disabled; + struct trace_pid_list *filtered_pids; + struct trace_pid_list *filtered_no_pids; + arch_spinlock_t max_lock; + int sys_refcount_enter; + int sys_refcount_exit; + struct trace_event_file *enter_syscall_files[470]; + struct trace_event_file *exit_syscall_files[470]; + int stop_count; + int clock_id; + int nr_topts; + bool clear_trace; + int buffer_percent; + unsigned int n_err_log_entries; + struct tracer *current_trace; + unsigned int trace_flags; + unsigned char trace_flags_index[32]; + unsigned int flags; + raw_spinlock_t start_lock; + const char *system_names; + struct list_head err_log; + struct dentry *dir; + struct dentry *options; + struct dentry *percpu_dir; + struct eventfs_inode *event_dir; + struct trace_options *topts; + struct list_head systems; + struct list_head events; + struct list_head marker_list; + struct trace_event_file *trace_marker_file; + cpumask_var_t tracing_cpumask; + cpumask_var_t pipe_cpumask; + int ref; + int trace_ref; + struct list_head mod_events; + struct ftrace_ops *ops; + struct trace_pid_list *function_pids; + struct trace_pid_list *function_no_pids; + struct fgraph_ops *gops; + struct list_head func_probes; + struct list_head mod_trace; + struct list_head mod_notrace; + int function_enabled; + int no_filter_buffering_ref; + struct list_head hist_vars; + struct cond_snapshot *cond_snapshot; + struct trace_func_repeats *last_func_repeats; + bool ring_buffer_expanded; +}; + +struct trace_array_cpu { + local_t disabled; + long unsigned int entries; + long unsigned int saved_latency; + long unsigned int critical_start; + long unsigned int critical_end; + long unsigned int critical_sequence; + long unsigned int nice; + long unsigned int policy; + long unsigned int rt_priority; + long unsigned int skipped_entries; + u64 preempt_timestamp; + pid_t pid; + kuid_t uid; + char comm[16]; + int ftrace_ignore_pid; + bool ignore_pid; +}; + +struct trace_bprintk_fmt { + struct list_head list; + const char *fmt; +}; + +typedef struct trace_buffer *class_ring_buffer_nest_t; + +struct trace_buffer { + unsigned int flags; + int cpus; + atomic_t record_disabled; + atomic_t resizing; + cpumask_var_t cpumask; + struct lock_class_key *reader_lock_key; + struct mutex mutex; + struct ring_buffer_per_cpu **buffers; + struct hlist_node node; + u64 (*clock)(void); + struct rb_irq_work irq_work; + bool time_stamp_abs; + long unsigned int range_addr_start; + long unsigned int range_addr_end; + struct ring_buffer_meta *meta; + unsigned int subbuf_size; + unsigned int subbuf_order; + unsigned int max_data_size; +}; + +struct trace_buffer_meta { + __u32 meta_page_size; + __u32 meta_struct_len; + __u32 subbuf_size; + __u32 nr_subbufs; + struct { + __u64 lost_events; + __u32 id; + __u32 read; + } reader; + __u64 flags; + __u64 entries; + __u64 overrun; + __u64 read; + __u64 Reserved1; + __u64 Reserved2; +}; + +struct trace_buffer_struct { + int nesting; + char buffer[4096]; +}; + +struct trace_probe_event; + +struct trace_probe { + struct list_head list; + struct trace_probe_event *event; + ssize_t size; + unsigned int nr_args; + struct probe_entry_arg *entry_arg; + struct probe_arg args[0]; +}; + +struct trace_eprobe { + const char *event_system; + const char *event_name; + char *filter_str; + struct trace_event_call *event; + struct dyn_event devent; + struct trace_probe tp; +}; + +struct trace_eval_map { + const char *system; + const char *eval_string; + long unsigned int eval_value; +}; + +struct trace_event_data_offsets_ack_update_msk {}; + +struct trace_event_data_offsets_aer_event { + u32 dev_name; + const void *dev_name_ptr_; +}; + +struct trace_event_data_offsets_alarm_class {}; + +struct trace_event_data_offsets_alarmtimer_suspend {}; + +struct trace_event_data_offsets_alloc_vmap_area {}; + +struct trace_event_data_offsets_amd_pstate_epp_perf {}; + +struct trace_event_data_offsets_amd_pstate_perf {}; + +struct trace_event_data_offsets_arm_event { + u32 pei_buf; + const void *pei_buf_ptr_; + u32 ctx_buf; + const void *ctx_buf_ptr_; + u32 oem_buf; + const void *oem_buf_ptr_; +}; + +struct trace_event_data_offsets_ata_bmdma_status {}; + +struct trace_event_data_offsets_ata_eh_action_template {}; + +struct trace_event_data_offsets_ata_eh_link_autopsy {}; + +struct trace_event_data_offsets_ata_eh_link_autopsy_qc {}; + +struct trace_event_data_offsets_ata_exec_command_template {}; + +struct trace_event_data_offsets_ata_link_reset_begin_template {}; + +struct trace_event_data_offsets_ata_link_reset_end_template {}; + +struct trace_event_data_offsets_ata_port_eh_begin_template {}; + +struct trace_event_data_offsets_ata_qc_complete_template {}; + +struct trace_event_data_offsets_ata_qc_issue_template {}; + +struct trace_event_data_offsets_ata_sff_hsm_template {}; + +struct trace_event_data_offsets_ata_sff_template {}; + +struct trace_event_data_offsets_ata_tf_load {}; + +struct trace_event_data_offsets_ata_transfer_data_template {}; + +struct trace_event_data_offsets_balance_dirty_pages {}; + +struct trace_event_data_offsets_bdi_dirty_ratelimit {}; + +struct trace_event_data_offsets_blkdev_zone_mgmt {}; + +struct trace_event_data_offsets_block_bio {}; + +struct trace_event_data_offsets_block_bio_complete {}; + +struct trace_event_data_offsets_block_bio_remap {}; + +struct trace_event_data_offsets_block_buffer {}; + +struct trace_event_data_offsets_block_plug {}; + +struct trace_event_data_offsets_block_rq { + u32 cmd; + const void *cmd_ptr_; +}; + +struct trace_event_data_offsets_block_rq_completion { + u32 cmd; + const void *cmd_ptr_; +}; + +struct trace_event_data_offsets_block_rq_remap {}; + +struct trace_event_data_offsets_block_rq_requeue { + u32 cmd; + const void *cmd_ptr_; +}; + +struct trace_event_data_offsets_block_split {}; + +struct trace_event_data_offsets_block_unplug {}; + +struct trace_event_data_offsets_block_zwplug {}; + +struct trace_event_data_offsets_bpf_test_finish {}; + +struct trace_event_data_offsets_bpf_trace_printk { + u32 bpf_string; + const void *bpf_string_ptr_; +}; + +struct trace_event_data_offsets_bpf_trigger_tp {}; + +struct trace_event_data_offsets_bpf_xdp_link_attach_failed { + u32 msg; + const void *msg_ptr_; +}; + +struct trace_event_data_offsets_br_fdb_add { + u32 dev; + const void *dev_ptr_; +}; + +struct trace_event_data_offsets_br_fdb_external_learn_add { + u32 br_dev; + const void *br_dev_ptr_; + u32 dev; + const void *dev_ptr_; +}; + +struct trace_event_data_offsets_br_fdb_update { + u32 br_dev; + const void *br_dev_ptr_; + u32 dev; + const void *dev_ptr_; +}; + +struct trace_event_data_offsets_br_mdb_full { + u32 dev; + const void *dev_ptr_; +}; + +struct trace_event_data_offsets_cache_tag_flush { + u32 iommu; + const void *iommu_ptr_; + u32 dev; + const void *dev_ptr_; +}; + +struct trace_event_data_offsets_cache_tag_log { + u32 iommu; + const void *iommu_ptr_; + u32 dev; + const void *dev_ptr_; +}; + +struct trace_event_data_offsets_cap_capable {}; + +struct trace_event_data_offsets_cdev_update { + u32 type; + const void *type_ptr_; +}; + +struct trace_event_data_offsets_cgroup { + u32 path; + const void *path_ptr_; +}; + +struct trace_event_data_offsets_cgroup_event { + u32 path; + const void *path_ptr_; +}; + +struct trace_event_data_offsets_cgroup_migrate { + u32 dst_path; + const void *dst_path_ptr_; + u32 comm; + const void *comm_ptr_; +}; + +struct trace_event_data_offsets_cgroup_root { + u32 name; + const void *name_ptr_; +}; + +struct trace_event_data_offsets_cgroup_rstat {}; + +struct trace_event_data_offsets_clk { + u32 name; + const void *name_ptr_; +}; + +struct trace_event_data_offsets_clk_duty_cycle { + u32 name; + const void *name_ptr_; +}; + +struct trace_event_data_offsets_clk_parent { + u32 name; + const void *name_ptr_; + u32 pname; + const void *pname_ptr_; +}; + +struct trace_event_data_offsets_clk_phase { + u32 name; + const void *name_ptr_; +}; + +struct trace_event_data_offsets_clk_rate { + u32 name; + const void *name_ptr_; +}; + +struct trace_event_data_offsets_clk_rate_range { + u32 name; + const void *name_ptr_; +}; + +struct trace_event_data_offsets_clk_rate_request { + u32 name; + const void *name_ptr_; + u32 pname; + const void *pname_ptr_; +}; + +struct trace_event_data_offsets_cma_alloc_busy_retry { + u32 name; + const void *name_ptr_; +}; + +struct trace_event_data_offsets_cma_alloc_finish { + u32 name; + const void *name_ptr_; +}; + +struct trace_event_data_offsets_cma_alloc_start { + u32 name; + const void *name_ptr_; +}; + +struct trace_event_data_offsets_cma_release { + u32 name; + const void *name_ptr_; +}; + +struct trace_event_data_offsets_compact_retry {}; + +struct trace_event_data_offsets_console { + u32 msg; + const void *msg_ptr_; +}; + +struct trace_event_data_offsets_consume_skb {}; + +struct trace_event_data_offsets_contention_begin {}; + +struct trace_event_data_offsets_contention_end {}; + +struct trace_event_data_offsets_context_tracking_user {}; + +struct trace_event_data_offsets_cpu {}; + +struct trace_event_data_offsets_cpu_frequency_limits {}; + +struct trace_event_data_offsets_cpu_idle_miss {}; + +struct trace_event_data_offsets_cpu_latency_qos_request {}; + +struct trace_event_data_offsets_cpuhp_enter {}; + +struct trace_event_data_offsets_cpuhp_exit {}; + +struct trace_event_data_offsets_cpuhp_multi_enter {}; + +struct trace_event_data_offsets_csd_function {}; + +struct trace_event_data_offsets_csd_queue_cpu {}; + +struct trace_event_data_offsets_ctime {}; + +struct trace_event_data_offsets_ctime_ns_xchg {}; + +struct trace_event_data_offsets_dax_pmd_fault_class {}; + +struct trace_event_data_offsets_dax_pmd_load_hole_class {}; + +struct trace_event_data_offsets_dax_pte_fault_class {}; + +struct trace_event_data_offsets_dax_writeback_one {}; + +struct trace_event_data_offsets_dax_writeback_range_class {}; + +struct trace_event_data_offsets_dev_pm_qos_request { + u32 name; + const void *name_ptr_; +}; + +struct trace_event_data_offsets_devfreq_frequency { + u32 dev_name; + const void *dev_name_ptr_; +}; + +struct trace_event_data_offsets_devfreq_monitor { + u32 dev_name; + const void *dev_name_ptr_; +}; + +struct trace_event_data_offsets_device_pm_callback_end { + u32 device; + const void *device_ptr_; + u32 driver; + const void *driver_ptr_; +}; + +struct trace_event_data_offsets_device_pm_callback_start { + u32 device; + const void *device_ptr_; + u32 driver; + const void *driver_ptr_; + u32 parent; + const void *parent_ptr_; + u32 pm_ops; + const void *pm_ops_ptr_; +}; + +struct trace_event_data_offsets_devlink_health_recover_aborted { + u32 bus_name; + const void *bus_name_ptr_; + u32 dev_name; + const void *dev_name_ptr_; + u32 driver_name; + const void *driver_name_ptr_; + u32 reporter_name; + const void *reporter_name_ptr_; +}; + +struct trace_event_data_offsets_devlink_health_report { + u32 bus_name; + const void *bus_name_ptr_; + u32 dev_name; + const void *dev_name_ptr_; + u32 driver_name; + const void *driver_name_ptr_; + u32 reporter_name; + const void *reporter_name_ptr_; + u32 msg; + const void *msg_ptr_; +}; + +struct trace_event_data_offsets_devlink_health_reporter_state_update { + u32 bus_name; + const void *bus_name_ptr_; + u32 dev_name; + const void *dev_name_ptr_; + u32 driver_name; + const void *driver_name_ptr_; + u32 reporter_name; + const void *reporter_name_ptr_; +}; + +struct trace_event_data_offsets_devlink_hwerr { + u32 bus_name; + const void *bus_name_ptr_; + u32 dev_name; + const void *dev_name_ptr_; + u32 driver_name; + const void *driver_name_ptr_; + u32 msg; + const void *msg_ptr_; +}; + +struct trace_event_data_offsets_devlink_hwmsg { + u32 bus_name; + const void *bus_name_ptr_; + u32 dev_name; + const void *dev_name_ptr_; + u32 driver_name; + const void *driver_name_ptr_; + u32 buf; + const void *buf_ptr_; +}; + +struct trace_event_data_offsets_devlink_trap_report { + u32 bus_name; + const void *bus_name_ptr_; + u32 dev_name; + const void *dev_name_ptr_; + u32 driver_name; + const void *driver_name_ptr_; + u32 trap_name; + const void *trap_name_ptr_; + u32 trap_group_name; + const void *trap_group_name_ptr_; +}; + +struct trace_event_data_offsets_devres { + u32 devname; + const void *devname_ptr_; + u32 name; + const void *name_ptr_; +}; + +struct trace_event_data_offsets_dma_alloc_class { + u32 device; + const void *device_ptr_; +}; + +struct trace_event_data_offsets_dma_alloc_sgt { + u32 device; + const void *device_ptr_; + u32 phys_addrs; + const void *phys_addrs_ptr_; +}; + +struct trace_event_data_offsets_dma_fence { + u32 driver; + const void *driver_ptr_; + u32 timeline; + const void *timeline_ptr_; +}; + +struct trace_event_data_offsets_dma_fence_unsignaled { + u32 driver; + const void *driver_ptr_; + u32 timeline; + const void *timeline_ptr_; +}; + +struct trace_event_data_offsets_dma_free_class { + u32 device; + const void *device_ptr_; +}; + +struct trace_event_data_offsets_dma_free_sgt { + u32 device; + const void *device_ptr_; + u32 phys_addrs; + const void *phys_addrs_ptr_; +}; + +struct trace_event_data_offsets_dma_map { + u32 device; + const void *device_ptr_; +}; + +struct trace_event_data_offsets_dma_map_sg { + u32 device; + const void *device_ptr_; + u32 phys_addrs; + const void *phys_addrs_ptr_; + u32 dma_addrs; + const void *dma_addrs_ptr_; + u32 lengths; + const void *lengths_ptr_; +}; + +struct trace_event_data_offsets_dma_map_sg_err { + u32 device; + const void *device_ptr_; + u32 phys_addrs; + const void *phys_addrs_ptr_; +}; + +struct trace_event_data_offsets_dma_sync_sg { + u32 device; + const void *device_ptr_; + u32 dma_addrs; + const void *dma_addrs_ptr_; + u32 lengths; + const void *lengths_ptr_; +}; + +struct trace_event_data_offsets_dma_sync_single { + u32 device; + const void *device_ptr_; +}; + +struct trace_event_data_offsets_dma_unmap { + u32 device; + const void *device_ptr_; +}; + +struct trace_event_data_offsets_dma_unmap_sg { + u32 device; + const void *device_ptr_; + u32 addrs; + const void *addrs_ptr_; +}; + +struct trace_event_data_offsets_dql_stall_detected {}; + +struct trace_event_data_offsets_drm_vblank_event {}; + +struct trace_event_data_offsets_drm_vblank_event_delivered {}; + +struct trace_event_data_offsets_drm_vblank_event_queued {}; + +struct trace_event_data_offsets_emulate_vsyscall {}; + +struct trace_event_data_offsets_error_da_monitor_id { + u32 state; + const void *state_ptr_; + u32 event; + const void *event_ptr_; +}; + +struct trace_event_data_offsets_error_report_template {}; + +struct trace_event_data_offsets_event_da_monitor_id { + u32 state; + const void *state_ptr_; + u32 event; + const void *event_ptr_; + u32 next_state; + const void *next_state_ptr_; +}; + +struct trace_event_data_offsets_exceptions {}; + +struct trace_event_data_offsets_exit_mmap {}; + +struct trace_event_data_offsets_ext4__bitmap_load {}; + +struct trace_event_data_offsets_ext4__es_extent {}; + +struct trace_event_data_offsets_ext4__es_shrink_enter {}; + +struct trace_event_data_offsets_ext4__fallocate_mode {}; + +struct trace_event_data_offsets_ext4__folio_op {}; + +struct trace_event_data_offsets_ext4__map_blocks_enter {}; + +struct trace_event_data_offsets_ext4__map_blocks_exit {}; + +struct trace_event_data_offsets_ext4__mb_new_pa {}; + +struct trace_event_data_offsets_ext4__mballoc {}; + +struct trace_event_data_offsets_ext4__trim {}; + +struct trace_event_data_offsets_ext4__truncate {}; + +struct trace_event_data_offsets_ext4__write_begin {}; + +struct trace_event_data_offsets_ext4__write_end {}; + +struct trace_event_data_offsets_ext4_alloc_da_blocks {}; + +struct trace_event_data_offsets_ext4_allocate_blocks {}; + +struct trace_event_data_offsets_ext4_allocate_inode {}; + +struct trace_event_data_offsets_ext4_begin_ordered_truncate {}; + +struct trace_event_data_offsets_ext4_collapse_range {}; + +struct trace_event_data_offsets_ext4_da_release_space {}; + +struct trace_event_data_offsets_ext4_da_reserve_space {}; + +struct trace_event_data_offsets_ext4_da_update_reserve_space {}; + +struct trace_event_data_offsets_ext4_da_write_folios_end {}; + +struct trace_event_data_offsets_ext4_da_write_folios_start {}; + +struct trace_event_data_offsets_ext4_da_write_pages_extent {}; + +struct trace_event_data_offsets_ext4_discard_blocks {}; + +struct trace_event_data_offsets_ext4_discard_preallocations {}; + +struct trace_event_data_offsets_ext4_drop_inode {}; + +struct trace_event_data_offsets_ext4_error {}; + +struct trace_event_data_offsets_ext4_es_find_extent_range_enter {}; + +struct trace_event_data_offsets_ext4_es_find_extent_range_exit {}; + +struct trace_event_data_offsets_ext4_es_insert_delayed_extent {}; + +struct trace_event_data_offsets_ext4_es_lookup_extent_enter {}; + +struct trace_event_data_offsets_ext4_es_lookup_extent_exit {}; + +struct trace_event_data_offsets_ext4_es_remove_extent {}; + +struct trace_event_data_offsets_ext4_es_shrink {}; + +struct trace_event_data_offsets_ext4_es_shrink_scan_exit {}; + +struct trace_event_data_offsets_ext4_evict_inode {}; + +struct trace_event_data_offsets_ext4_ext_convert_to_initialized_enter {}; + +struct trace_event_data_offsets_ext4_ext_convert_to_initialized_fastpath {}; + +struct trace_event_data_offsets_ext4_ext_handle_unwritten_extents {}; + +struct trace_event_data_offsets_ext4_ext_load_extent {}; + +struct trace_event_data_offsets_ext4_ext_remove_space {}; + +struct trace_event_data_offsets_ext4_ext_remove_space_done {}; + +struct trace_event_data_offsets_ext4_ext_rm_idx {}; + +struct trace_event_data_offsets_ext4_ext_rm_leaf {}; + +struct trace_event_data_offsets_ext4_ext_show_extent {}; + +struct trace_event_data_offsets_ext4_fallocate_exit {}; + +struct trace_event_data_offsets_ext4_fc_cleanup {}; + +struct trace_event_data_offsets_ext4_fc_commit_start {}; + +struct trace_event_data_offsets_ext4_fc_commit_stop {}; + +struct trace_event_data_offsets_ext4_fc_replay {}; + +struct trace_event_data_offsets_ext4_fc_replay_scan {}; + +struct trace_event_data_offsets_ext4_fc_stats {}; + +struct trace_event_data_offsets_ext4_fc_track_dentry {}; + +struct trace_event_data_offsets_ext4_fc_track_inode {}; + +struct trace_event_data_offsets_ext4_fc_track_range {}; + +struct trace_event_data_offsets_ext4_forget {}; + +struct trace_event_data_offsets_ext4_free_blocks {}; + +struct trace_event_data_offsets_ext4_free_inode {}; + +struct trace_event_data_offsets_ext4_fsmap_class {}; + +struct trace_event_data_offsets_ext4_get_implied_cluster_alloc_exit {}; + +struct trace_event_data_offsets_ext4_getfsmap_class {}; + +struct trace_event_data_offsets_ext4_insert_range {}; + +struct trace_event_data_offsets_ext4_invalidate_folio_op {}; + +struct trace_event_data_offsets_ext4_journal_start_inode {}; + +struct trace_event_data_offsets_ext4_journal_start_reserved {}; + +struct trace_event_data_offsets_ext4_journal_start_sb {}; + +struct trace_event_data_offsets_ext4_lazy_itable_init {}; + +struct trace_event_data_offsets_ext4_load_inode {}; + +struct trace_event_data_offsets_ext4_mark_inode_dirty {}; + +struct trace_event_data_offsets_ext4_mb_discard_preallocations {}; + +struct trace_event_data_offsets_ext4_mb_release_group_pa {}; + +struct trace_event_data_offsets_ext4_mb_release_inode_pa {}; + +struct trace_event_data_offsets_ext4_mballoc_alloc {}; + +struct trace_event_data_offsets_ext4_mballoc_prealloc {}; + +struct trace_event_data_offsets_ext4_nfs_commit_metadata {}; + +struct trace_event_data_offsets_ext4_other_inode_update_time {}; + +struct trace_event_data_offsets_ext4_prefetch_bitmaps {}; + +struct trace_event_data_offsets_ext4_read_block_bitmap_load {}; + +struct trace_event_data_offsets_ext4_remove_blocks {}; + +struct trace_event_data_offsets_ext4_request_blocks {}; + +struct trace_event_data_offsets_ext4_request_inode {}; + +struct trace_event_data_offsets_ext4_shutdown {}; + +struct trace_event_data_offsets_ext4_sync_file_enter {}; + +struct trace_event_data_offsets_ext4_sync_file_exit {}; + +struct trace_event_data_offsets_ext4_sync_fs {}; + +struct trace_event_data_offsets_ext4_unlink_enter {}; + +struct trace_event_data_offsets_ext4_unlink_exit {}; + +struct trace_event_data_offsets_ext4_update_sb {}; + +struct trace_event_data_offsets_ext4_writepages {}; + +struct trace_event_data_offsets_ext4_writepages_result {}; + +struct trace_event_data_offsets_extlog_mem_event { + u32 fru_text; + const void *fru_text_ptr_; +}; + +struct trace_event_data_offsets_fdb_delete { + u32 br_dev; + const void *br_dev_ptr_; + u32 dev; + const void *dev_ptr_; +}; + +struct trace_event_data_offsets_fib6_table_lookup {}; + +struct trace_event_data_offsets_fib_table_lookup {}; + +struct trace_event_data_offsets_file_check_and_advance_wb_err {}; + +struct trace_event_data_offsets_filelock_lease {}; + +struct trace_event_data_offsets_filelock_lock {}; + +struct trace_event_data_offsets_filemap_set_wb_err {}; + +struct trace_event_data_offsets_fill_mg_cmtime {}; + +struct trace_event_data_offsets_finish_task_reaping {}; + +struct trace_event_data_offsets_flush_foreign {}; + +struct trace_event_data_offsets_free_vmap_area_noflush {}; + +struct trace_event_data_offsets_fuse_request_end {}; + +struct trace_event_data_offsets_fuse_request_send {}; + +struct trace_event_data_offsets_generic_add_lease {}; + +struct trace_event_data_offsets_global_dirty_state {}; + +struct trace_event_data_offsets_gpio_direction {}; + +struct trace_event_data_offsets_gpio_value {}; + +struct trace_event_data_offsets_guest_halt_poll_ns {}; + +struct trace_event_data_offsets_handshake_alert_class {}; + +struct trace_event_data_offsets_handshake_complete {}; + +struct trace_event_data_offsets_handshake_error_class {}; + +struct trace_event_data_offsets_handshake_event_class {}; + +struct trace_event_data_offsets_handshake_fd_class {}; + +struct trace_event_data_offsets_hrtimer_class {}; + +struct trace_event_data_offsets_hrtimer_expire_entry {}; + +struct trace_event_data_offsets_hrtimer_setup {}; + +struct trace_event_data_offsets_hrtimer_start {}; + +struct trace_event_data_offsets_hugetlbfs__inode {}; + +struct trace_event_data_offsets_hugetlbfs_alloc_inode {}; + +struct trace_event_data_offsets_hugetlbfs_fallocate {}; + +struct trace_event_data_offsets_hugetlbfs_setattr { + u32 d_name; + const void *d_name_ptr_; +}; + +struct trace_event_data_offsets_hwmon_attr_class { + u32 attr_name; + const void *attr_name_ptr_; +}; + +struct trace_event_data_offsets_hwmon_attr_show_string { + u32 attr_name; + const void *attr_name_ptr_; + u32 label; + const void *label_ptr_; +}; + +struct trace_event_data_offsets_hyperv_mmu_flush_tlb_multi {}; + +struct trace_event_data_offsets_hyperv_nested_flush_guest_mapping {}; + +struct trace_event_data_offsets_hyperv_nested_flush_guest_mapping_range {}; + +struct trace_event_data_offsets_hyperv_send_ipi_mask {}; + +struct trace_event_data_offsets_hyperv_send_ipi_one {}; + +struct trace_event_data_offsets_i2c_read {}; + +struct trace_event_data_offsets_i2c_reply { + u32 buf; + const void *buf_ptr_; +}; + +struct trace_event_data_offsets_i2c_result {}; + +struct trace_event_data_offsets_i2c_slave {}; + +struct trace_event_data_offsets_i2c_write { + u32 buf; + const void *buf_ptr_; +}; + +struct trace_event_data_offsets_icc_set_bw { + u32 path_name; + const void *path_name_ptr_; + u32 dev; + const void *dev_ptr_; + u32 node_name; + const void *node_name_ptr_; +}; + +struct trace_event_data_offsets_icc_set_bw_end { + u32 path_name; + const void *path_name_ptr_; + u32 dev; + const void *dev_ptr_; +}; + +struct trace_event_data_offsets_icmp_send {}; + +struct trace_event_data_offsets_inet_sk_error_report {}; + +struct trace_event_data_offsets_inet_sock_set_state {}; + +struct trace_event_data_offsets_initcall_finish {}; + +struct trace_event_data_offsets_initcall_level { + u32 level; + const void *level_ptr_; +}; + +struct trace_event_data_offsets_initcall_start {}; + +struct trace_event_data_offsets_inode_foreign_history {}; + +struct trace_event_data_offsets_inode_switch_wbs {}; + +struct trace_event_data_offsets_io_uring_complete {}; + +struct trace_event_data_offsets_io_uring_cqe_overflow {}; + +struct trace_event_data_offsets_io_uring_cqring_wait {}; + +struct trace_event_data_offsets_io_uring_create {}; + +struct trace_event_data_offsets_io_uring_defer { + u32 op_str; + const void *op_str_ptr_; +}; + +struct trace_event_data_offsets_io_uring_fail_link { + u32 op_str; + const void *op_str_ptr_; +}; + +struct trace_event_data_offsets_io_uring_file_get {}; + +struct trace_event_data_offsets_io_uring_link {}; + +struct trace_event_data_offsets_io_uring_local_work_run {}; + +struct trace_event_data_offsets_io_uring_poll_arm { + u32 op_str; + const void *op_str_ptr_; +}; + +struct trace_event_data_offsets_io_uring_queue_async_work { + u32 op_str; + const void *op_str_ptr_; +}; + +struct trace_event_data_offsets_io_uring_register {}; + +struct trace_event_data_offsets_io_uring_req_failed { + u32 op_str; + const void *op_str_ptr_; +}; + +struct trace_event_data_offsets_io_uring_short_write {}; + +struct trace_event_data_offsets_io_uring_submit_req { + u32 op_str; + const void *op_str_ptr_; +}; + +struct trace_event_data_offsets_io_uring_task_add { + u32 op_str; + const void *op_str_ptr_; +}; + +struct trace_event_data_offsets_io_uring_task_work_run {}; + +struct trace_event_data_offsets_iocg_inuse_update { + u32 devname; + const void *devname_ptr_; + u32 cgroup; + const void *cgroup_ptr_; +}; + +struct trace_event_data_offsets_iocost_ioc_vrate_adj { + u32 devname; + const void *devname_ptr_; +}; + +struct trace_event_data_offsets_iocost_iocg_forgive_debt { + u32 devname; + const void *devname_ptr_; + u32 cgroup; + const void *cgroup_ptr_; +}; + +struct trace_event_data_offsets_iocost_iocg_state { + u32 devname; + const void *devname_ptr_; + u32 cgroup; + const void *cgroup_ptr_; +}; + +struct trace_event_data_offsets_iomap_add_to_ioend {}; + +struct trace_event_data_offsets_iomap_class {}; + +struct trace_event_data_offsets_iomap_dio_complete {}; + +struct trace_event_data_offsets_iomap_dio_rw_begin {}; + +struct trace_event_data_offsets_iomap_iter {}; + +struct trace_event_data_offsets_iomap_range_class {}; + +struct trace_event_data_offsets_iomap_readpage_class {}; + +struct trace_event_data_offsets_iommu_device_event { + u32 device; + const void *device_ptr_; +}; + +struct trace_event_data_offsets_iommu_error { + u32 device; + const void *device_ptr_; + u32 driver; + const void *driver_ptr_; +}; + +struct trace_event_data_offsets_iommu_group_event { + u32 device; + const void *device_ptr_; +}; + +struct trace_event_data_offsets_ipi_send_cpu {}; + +struct trace_event_data_offsets_ipi_send_cpumask { + u32 cpumask; + const void *cpumask_ptr_; +}; + +struct trace_event_data_offsets_irq_handler_entry { + u32 name; + const void *name_ptr_; +}; + +struct trace_event_data_offsets_irq_handler_exit {}; + +struct trace_event_data_offsets_irq_matrix_cpu {}; + +struct trace_event_data_offsets_irq_matrix_global {}; + +struct trace_event_data_offsets_irq_matrix_global_update {}; + +struct trace_event_data_offsets_irq_noise { + u32 desc; + const void *desc_ptr_; +}; + +struct trace_event_data_offsets_itimer_expire {}; + +struct trace_event_data_offsets_itimer_state {}; + +struct trace_event_data_offsets_jbd2_checkpoint {}; + +struct trace_event_data_offsets_jbd2_checkpoint_stats {}; + +struct trace_event_data_offsets_jbd2_commit {}; + +struct trace_event_data_offsets_jbd2_end_commit {}; + +struct trace_event_data_offsets_jbd2_handle_extend {}; + +struct trace_event_data_offsets_jbd2_handle_start_class {}; + +struct trace_event_data_offsets_jbd2_handle_stats {}; + +struct trace_event_data_offsets_jbd2_journal_shrink {}; + +struct trace_event_data_offsets_jbd2_lock_buffer_stall {}; + +struct trace_event_data_offsets_jbd2_run_stats {}; + +struct trace_event_data_offsets_jbd2_shrink_checkpoint_list {}; + +struct trace_event_data_offsets_jbd2_shrink_scan_exit {}; + +struct trace_event_data_offsets_jbd2_submit_inode_data {}; + +struct trace_event_data_offsets_jbd2_update_log_tail {}; + +struct trace_event_data_offsets_jbd2_write_superblock {}; + +struct trace_event_data_offsets_kcompactd_wake_template {}; + +struct trace_event_data_offsets_kfree {}; + +struct trace_event_data_offsets_kfree_skb {}; + +struct trace_event_data_offsets_kmalloc {}; + +struct trace_event_data_offsets_kmem_cache_alloc {}; + +struct trace_event_data_offsets_kmem_cache_free { + u32 name; + const void *name_ptr_; +}; + +struct trace_event_data_offsets_ksm_advisor {}; + +struct trace_event_data_offsets_ksm_enter_exit_template {}; + +struct trace_event_data_offsets_ksm_merge_one_page {}; + +struct trace_event_data_offsets_ksm_merge_with_ksm_page {}; + +struct trace_event_data_offsets_ksm_remove_ksm_page {}; + +struct trace_event_data_offsets_ksm_remove_rmap_item {}; + +struct trace_event_data_offsets_ksm_scan_template {}; + +struct trace_event_data_offsets_leases_conflict {}; + +struct trace_event_data_offsets_locks_get_lock_context {}; + +struct trace_event_data_offsets_ma_op {}; + +struct trace_event_data_offsets_ma_read {}; + +struct trace_event_data_offsets_ma_write {}; + +struct trace_event_data_offsets_map {}; + +struct trace_event_data_offsets_mark_victim { + u32 comm; + const void *comm_ptr_; +}; + +struct trace_event_data_offsets_mc_event { + u32 msg; + const void *msg_ptr_; + u32 label; + const void *label_ptr_; + u32 driver_detail; + const void *driver_detail_ptr_; +}; + +struct trace_event_data_offsets_mce_record { + u32 v_data; + const void *v_data_ptr_; +}; + +struct trace_event_data_offsets_mctp_key_acquire {}; + +struct trace_event_data_offsets_mctp_key_release {}; + +struct trace_event_data_offsets_mdio_access {}; + +struct trace_event_data_offsets_mem_connect {}; + +struct trace_event_data_offsets_mem_disconnect {}; + +struct trace_event_data_offsets_memcg_flush_stats {}; + +struct trace_event_data_offsets_memcg_rstat_events {}; + +struct trace_event_data_offsets_memcg_rstat_stats {}; + +struct trace_event_data_offsets_memory_failure_event {}; + +struct trace_event_data_offsets_migration_pmd {}; + +struct trace_event_data_offsets_migration_pte {}; + +struct trace_event_data_offsets_mm_calculate_totalreserve_pages {}; + +struct trace_event_data_offsets_mm_collapse_huge_page {}; + +struct trace_event_data_offsets_mm_collapse_huge_page_isolate {}; + +struct trace_event_data_offsets_mm_collapse_huge_page_swapin {}; + +struct trace_event_data_offsets_mm_compaction_begin {}; + +struct trace_event_data_offsets_mm_compaction_defer_template {}; + +struct trace_event_data_offsets_mm_compaction_end {}; + +struct trace_event_data_offsets_mm_compaction_isolate_template {}; + +struct trace_event_data_offsets_mm_compaction_kcompactd_sleep {}; + +struct trace_event_data_offsets_mm_compaction_migratepages {}; + +struct trace_event_data_offsets_mm_compaction_suitable_template {}; + +struct trace_event_data_offsets_mm_compaction_try_to_compact_pages {}; + +struct trace_event_data_offsets_mm_filemap_fault {}; + +struct trace_event_data_offsets_mm_filemap_op_page_cache {}; + +struct trace_event_data_offsets_mm_filemap_op_page_cache_range {}; + +struct trace_event_data_offsets_mm_khugepaged_collapse_file { + u32 filename; + const void *filename_ptr_; +}; + +struct trace_event_data_offsets_mm_khugepaged_scan_file { + u32 filename; + const void *filename_ptr_; +}; + +struct trace_event_data_offsets_mm_khugepaged_scan_pmd {}; + +struct trace_event_data_offsets_mm_lru_activate {}; + +struct trace_event_data_offsets_mm_lru_insertion {}; + +struct trace_event_data_offsets_mm_migrate_pages {}; + +struct trace_event_data_offsets_mm_migrate_pages_start {}; + +struct trace_event_data_offsets_mm_page {}; + +struct trace_event_data_offsets_mm_page_alloc {}; + +struct trace_event_data_offsets_mm_page_alloc_extfrag {}; + +struct trace_event_data_offsets_mm_page_free {}; + +struct trace_event_data_offsets_mm_page_free_batched {}; + +struct trace_event_data_offsets_mm_page_pcpu_drain {}; + +struct trace_event_data_offsets_mm_setup_per_zone_lowmem_reserve { + u32 name; + const void *name_ptr_; + u32 upper_name; + const void *upper_name_ptr_; +}; + +struct trace_event_data_offsets_mm_setup_per_zone_wmarks { + u32 name; + const void *name_ptr_; +}; + +struct trace_event_data_offsets_mm_shrink_slab_end {}; + +struct trace_event_data_offsets_mm_shrink_slab_start {}; + +struct trace_event_data_offsets_mm_vmscan_direct_reclaim_begin_template {}; + +struct trace_event_data_offsets_mm_vmscan_direct_reclaim_end_template {}; + +struct trace_event_data_offsets_mm_vmscan_kswapd_sleep {}; + +struct trace_event_data_offsets_mm_vmscan_kswapd_wake {}; + +struct trace_event_data_offsets_mm_vmscan_lru_isolate {}; + +struct trace_event_data_offsets_mm_vmscan_lru_shrink_active {}; + +struct trace_event_data_offsets_mm_vmscan_lru_shrink_inactive {}; + +struct trace_event_data_offsets_mm_vmscan_node_reclaim_begin {}; + +struct trace_event_data_offsets_mm_vmscan_reclaim_pages {}; + +struct trace_event_data_offsets_mm_vmscan_throttled {}; + +struct trace_event_data_offsets_mm_vmscan_wakeup_kswapd {}; + +struct trace_event_data_offsets_mm_vmscan_write_folio {}; + +struct trace_event_data_offsets_mmap_lock {}; + +struct trace_event_data_offsets_mmap_lock_acquire_returned {}; + +struct trace_event_data_offsets_mmc_request_done { + u32 name; + const void *name_ptr_; +}; + +struct trace_event_data_offsets_mmc_request_start { + u32 name; + const void *name_ptr_; +}; + +struct trace_event_data_offsets_module_free { + u32 name; + const void *name_ptr_; +}; + +struct trace_event_data_offsets_module_load { + u32 name; + const void *name_ptr_; +}; + +struct trace_event_data_offsets_module_refcnt { + u32 name; + const void *name_ptr_; +}; + +struct trace_event_data_offsets_module_request { + u32 name; + const void *name_ptr_; +}; + +struct trace_event_data_offsets_mon_llc_occupancy_limbo {}; + +struct trace_event_data_offsets_mptcp_dump_mpext {}; + +struct trace_event_data_offsets_mptcp_subflow_get_send {}; + +struct trace_event_data_offsets_msr_trace_class {}; + +struct trace_event_data_offsets_napi_poll { + u32 dev_name; + const void *dev_name_ptr_; +}; + +struct trace_event_data_offsets_neigh__update { + u32 dev; + const void *dev_ptr_; +}; + +struct trace_event_data_offsets_neigh_create { + u32 dev; + const void *dev_ptr_; +}; + +struct trace_event_data_offsets_neigh_update { + u32 dev; + const void *dev_ptr_; +}; + +struct trace_event_data_offsets_net_dev_rx_exit_template {}; + +struct trace_event_data_offsets_net_dev_rx_verbose_template { + u32 name; + const void *name_ptr_; +}; + +struct trace_event_data_offsets_net_dev_start_xmit { + u32 name; + const void *name_ptr_; +}; + +struct trace_event_data_offsets_net_dev_template { + u32 name; + const void *name_ptr_; +}; + +struct trace_event_data_offsets_net_dev_xmit { + u32 name; + const void *name_ptr_; +}; + +struct trace_event_data_offsets_net_dev_xmit_timeout { + u32 name; + const void *name_ptr_; + u32 driver; + const void *driver_ptr_; +}; + +struct trace_event_data_offsets_netlink_extack { + u32 msg; + const void *msg_ptr_; +}; + +struct trace_event_data_offsets_nmi_handler {}; + +struct trace_event_data_offsets_nmi_noise {}; + +struct trace_event_data_offsets_non_standard_event { + u32 fru_text; + const void *fru_text_ptr_; + u32 buf; + const void *buf_ptr_; +}; + +struct trace_event_data_offsets_notifier_info {}; + +struct trace_event_data_offsets_oom_score_adj_update {}; + +struct trace_event_data_offsets_osnoise_sample {}; + +struct trace_event_data_offsets_page_pool_release {}; + +struct trace_event_data_offsets_page_pool_state_hold {}; + +struct trace_event_data_offsets_page_pool_state_release {}; + +struct trace_event_data_offsets_page_pool_update_nid {}; + +struct trace_event_data_offsets_percpu_alloc_percpu {}; + +struct trace_event_data_offsets_percpu_alloc_percpu_fail {}; + +struct trace_event_data_offsets_percpu_create_chunk {}; + +struct trace_event_data_offsets_percpu_destroy_chunk {}; + +struct trace_event_data_offsets_percpu_free_percpu {}; + +struct trace_event_data_offsets_pm_qos_update {}; + +struct trace_event_data_offsets_prq_report { + u32 iommu; + const void *iommu_ptr_; + u32 dev; + const void *dev_ptr_; + u32 buff; + const void *buff_ptr_; +}; + +struct trace_event_data_offsets_pseudo_lock_l2 {}; + +struct trace_event_data_offsets_pseudo_lock_l3 {}; + +struct trace_event_data_offsets_pseudo_lock_mem_latency {}; + +struct trace_event_data_offsets_pstate_sample {}; + +struct trace_event_data_offsets_purge_vmap_area_lazy {}; + +struct trace_event_data_offsets_pwm {}; + +struct trace_event_data_offsets_pwm_read_waveform {}; + +struct trace_event_data_offsets_pwm_round_waveform_fromhw {}; + +struct trace_event_data_offsets_pwm_round_waveform_tohw {}; + +struct trace_event_data_offsets_pwm_write_waveform {}; + +struct trace_event_data_offsets_qdisc_create { + u32 dev; + const void *dev_ptr_; + u32 kind; + const void *kind_ptr_; +}; + +struct trace_event_data_offsets_qdisc_dequeue {}; + +struct trace_event_data_offsets_qdisc_destroy { + u32 dev; + const void *dev_ptr_; + u32 kind; + const void *kind_ptr_; +}; + +struct trace_event_data_offsets_qdisc_enqueue {}; + +struct trace_event_data_offsets_qdisc_reset { + u32 dev; + const void *dev_ptr_; + u32 kind; + const void *kind_ptr_; +}; + +struct trace_event_data_offsets_qi_submit { + u32 iommu; + const void *iommu_ptr_; +}; + +struct trace_event_data_offsets_rcu_stall_warning {}; + +struct trace_event_data_offsets_rcu_utilization {}; + +struct trace_event_data_offsets_reclaim_retry_zone {}; + +struct trace_event_data_offsets_regcache_drop_region { + u32 name; + const void *name_ptr_; +}; + +struct trace_event_data_offsets_regcache_sync { + u32 name; + const void *name_ptr_; + u32 status; + const void *status_ptr_; + u32 type; + const void *type_ptr_; +}; + +struct trace_event_data_offsets_regmap_async { + u32 name; + const void *name_ptr_; +}; + +struct trace_event_data_offsets_regmap_block { + u32 name; + const void *name_ptr_; +}; + +struct trace_event_data_offsets_regmap_bool { + u32 name; + const void *name_ptr_; +}; + +struct trace_event_data_offsets_regmap_bulk { + u32 name; + const void *name_ptr_; + u32 buf; + const void *buf_ptr_; +}; + +struct trace_event_data_offsets_regmap_reg { + u32 name; + const void *name_ptr_; +}; + +struct trace_event_data_offsets_regulator_basic { + u32 name; + const void *name_ptr_; +}; + +struct trace_event_data_offsets_regulator_range { + u32 name; + const void *name_ptr_; +}; + +struct trace_event_data_offsets_regulator_value { + u32 name; + const void *name_ptr_; +}; + +struct trace_event_data_offsets_rpm_internal { + u32 name; + const void *name_ptr_; +}; + +struct trace_event_data_offsets_rpm_return_int { + u32 name; + const void *name_ptr_; +}; + +struct trace_event_data_offsets_rpm_status { + u32 name; + const void *name_ptr_; +}; + +struct trace_event_data_offsets_rseq_ip_fixup {}; + +struct trace_event_data_offsets_rseq_update {}; + +struct trace_event_data_offsets_rss_stat {}; + +struct trace_event_data_offsets_rtc_alarm_irq_enable {}; + +struct trace_event_data_offsets_rtc_irq_set_freq {}; + +struct trace_event_data_offsets_rtc_irq_set_state {}; + +struct trace_event_data_offsets_rtc_offset_class {}; + +struct trace_event_data_offsets_rtc_time_alarm_class {}; + +struct trace_event_data_offsets_rtc_timer_class {}; + +struct trace_event_data_offsets_rv_retries_error { + u32 name; + const void *name_ptr_; + u32 event; + const void *event_ptr_; +}; + +struct trace_event_data_offsets_sample_threshold {}; + +struct trace_event_data_offsets_sched_ext_dump { + u32 line; + const void *line_ptr_; +}; + +struct trace_event_data_offsets_sched_ext_event { + u32 name; + const void *name_ptr_; +}; + +struct trace_event_data_offsets_sched_kthread_stop { + u32 comm; + const void *comm_ptr_; +}; + +struct trace_event_data_offsets_sched_kthread_stop_ret {}; + +struct trace_event_data_offsets_sched_kthread_work_execute_end {}; + +struct trace_event_data_offsets_sched_kthread_work_execute_start {}; + +struct trace_event_data_offsets_sched_kthread_work_queue_work {}; + +struct trace_event_data_offsets_sched_migrate_task { + u32 comm; + const void *comm_ptr_; +}; + +struct trace_event_data_offsets_sched_move_numa {}; + +struct trace_event_data_offsets_sched_numa_pair_template {}; + +struct trace_event_data_offsets_sched_pi_setprio { + u32 comm; + const void *comm_ptr_; +}; + +struct trace_event_data_offsets_sched_prepare_exec { + u32 interp; + const void *interp_ptr_; + u32 filename; + const void *filename_ptr_; + u32 comm; + const void *comm_ptr_; +}; + +struct trace_event_data_offsets_sched_process_exec { + u32 filename; + const void *filename_ptr_; +}; + +struct trace_event_data_offsets_sched_process_exit {}; + +struct trace_event_data_offsets_sched_process_fork { + u32 parent_comm; + const void *parent_comm_ptr_; + u32 child_comm; + const void *child_comm_ptr_; +}; + +struct trace_event_data_offsets_sched_process_hang { + u32 comm; + const void *comm_ptr_; +}; + +struct trace_event_data_offsets_sched_process_template { + u32 comm; + const void *comm_ptr_; +}; + +struct trace_event_data_offsets_sched_process_wait { + u32 comm; + const void *comm_ptr_; +}; + +struct trace_event_data_offsets_sched_skip_cpuset_numa {}; + +struct trace_event_data_offsets_sched_skip_vma_numa {}; + +struct trace_event_data_offsets_sched_stat_runtime { + u32 comm; + const void *comm_ptr_; +}; + +struct trace_event_data_offsets_sched_stat_template { + u32 comm; + const void *comm_ptr_; +}; + +struct trace_event_data_offsets_sched_switch {}; + +struct trace_event_data_offsets_sched_wake_idle_without_ipi {}; + +struct trace_event_data_offsets_sched_wakeup_template {}; + +struct trace_event_data_offsets_scsi_cmd_done_timeout_template { + u32 cmnd; + const void *cmnd_ptr_; +}; + +struct trace_event_data_offsets_scsi_dispatch_cmd_error { + u32 cmnd; + const void *cmnd_ptr_; +}; + +struct trace_event_data_offsets_scsi_dispatch_cmd_start { + u32 cmnd; + const void *cmnd_ptr_; +}; + +struct trace_event_data_offsets_scsi_eh_wakeup {}; + +struct trace_event_data_offsets_scsi_prepare_zone_append {}; + +struct trace_event_data_offsets_scsi_zone_wp_update {}; + +struct trace_event_data_offsets_selinux_audited { + u32 scontext; + const void *scontext_ptr_; + u32 tcontext; + const void *tcontext_ptr_; + u32 tclass; + const void *tclass_ptr_; +}; + +struct trace_event_data_offsets_signal_deliver {}; + +struct trace_event_data_offsets_signal_generate {}; + +struct trace_event_data_offsets_sk_data_ready {}; + +struct trace_event_data_offsets_skb_copy_datagram_iovec {}; + +struct trace_event_data_offsets_skip_task_reaping {}; + +struct trace_event_data_offsets_smbus_read {}; + +struct trace_event_data_offsets_smbus_reply {}; + +struct trace_event_data_offsets_smbus_result {}; + +struct trace_event_data_offsets_smbus_write {}; + +struct trace_event_data_offsets_sock_exceed_buf_limit {}; + +struct trace_event_data_offsets_sock_msg_length {}; + +struct trace_event_data_offsets_sock_rcvqueue_full {}; + +struct trace_event_data_offsets_softirq {}; + +struct trace_event_data_offsets_softirq_noise {}; + +struct trace_event_data_offsets_spi_controller {}; + +struct trace_event_data_offsets_spi_message {}; + +struct trace_event_data_offsets_spi_message_done {}; + +struct trace_event_data_offsets_spi_set_cs {}; + +struct trace_event_data_offsets_spi_setup {}; + +struct trace_event_data_offsets_spi_transfer { + u32 rx_buf; + const void *rx_buf_ptr_; + u32 tx_buf; + const void *tx_buf_ptr_; +}; + +struct trace_event_data_offsets_start_task_reaping {}; + +struct trace_event_data_offsets_subflow_check_data_avail {}; + +struct trace_event_data_offsets_suspend_resume {}; + +struct trace_event_data_offsets_swiotlb_bounced { + u32 dev_name; + const void *dev_name_ptr_; +}; + +struct trace_event_data_offsets_sync_timeline { + u32 name; + const void *name_ptr_; +}; + +struct trace_event_data_offsets_sys_enter {}; + +struct trace_event_data_offsets_sys_exit {}; + +struct trace_event_data_offsets_task_newtask {}; + +struct trace_event_data_offsets_task_prctl_unknown {}; + +struct trace_event_data_offsets_task_rename {}; + +struct trace_event_data_offsets_tasklet {}; + +struct trace_event_data_offsets_tcp_ao_event {}; + +struct trace_event_data_offsets_tcp_ao_event_sk {}; + +struct trace_event_data_offsets_tcp_ao_event_sne {}; + +struct trace_event_data_offsets_tcp_cong_state_set {}; + +struct trace_event_data_offsets_tcp_event_sk {}; + +struct trace_event_data_offsets_tcp_event_skb {}; + +struct trace_event_data_offsets_tcp_hash_event {}; + +struct trace_event_data_offsets_tcp_probe {}; + +struct trace_event_data_offsets_tcp_rcvbuf_grow {}; + +struct trace_event_data_offsets_tcp_retransmit_skb {}; + +struct trace_event_data_offsets_tcp_retransmit_synack {}; + +struct trace_event_data_offsets_tcp_send_reset {}; + +struct trace_event_data_offsets_tcp_sendmsg_locked {}; + +struct trace_event_data_offsets_test_pages_isolated {}; + +struct trace_event_data_offsets_thermal_power_actor {}; + +struct trace_event_data_offsets_thermal_power_allocator {}; + +struct trace_event_data_offsets_thermal_power_allocator_pid {}; + +struct trace_event_data_offsets_thermal_power_devfreq_get_power { + u32 type; + const void *type_ptr_; +}; + +struct trace_event_data_offsets_thermal_power_devfreq_limit { + u32 type; + const void *type_ptr_; +}; + +struct trace_event_data_offsets_thermal_temperature { + u32 thermal_zone; + const void *thermal_zone_ptr_; +}; + +struct trace_event_data_offsets_thermal_zone_trip { + u32 thermal_zone; + const void *thermal_zone_ptr_; +}; + +struct trace_event_data_offsets_thread_noise {}; + +struct trace_event_data_offsets_tick_stop {}; + +struct trace_event_data_offsets_timer_base_idle {}; + +struct trace_event_data_offsets_timer_class {}; + +struct trace_event_data_offsets_timer_expire_entry {}; + +struct trace_event_data_offsets_timer_start {}; + +struct trace_event_data_offsets_timerlat_sample {}; + +struct trace_event_data_offsets_tlb_flush {}; + +struct trace_event_data_offsets_tls_contenttype {}; + +struct trace_event_data_offsets_tmigr_connect_child_parent {}; + +struct trace_event_data_offsets_tmigr_connect_cpu_parent {}; + +struct trace_event_data_offsets_tmigr_cpugroup {}; + +struct trace_event_data_offsets_tmigr_group_and_cpu {}; + +struct trace_event_data_offsets_tmigr_group_set {}; + +struct trace_event_data_offsets_tmigr_handle_remote {}; + +struct trace_event_data_offsets_tmigr_idle {}; + +struct trace_event_data_offsets_tmigr_update_events {}; + +struct trace_event_data_offsets_track_foreign_dirty {}; + +struct trace_event_data_offsets_tsm_mr_read { + u32 mr; + const void *mr_ptr_; + u32 hash; + const void *hash_ptr_; + u32 d; + const void *d_ptr_; +}; + +struct trace_event_data_offsets_tsm_mr_refresh { + u32 mr; + const void *mr_ptr_; +}; + +struct trace_event_data_offsets_tsm_mr_write { + u32 mr; + const void *mr_ptr_; + u32 hash; + const void *hash_ptr_; + u32 d; + const void *d_ptr_; +}; + +struct trace_event_data_offsets_udp_fail_queue_rcv_skb {}; + +struct trace_event_data_offsets_unmap {}; + +struct trace_event_data_offsets_vector_activate {}; + +struct trace_event_data_offsets_vector_alloc {}; + +struct trace_event_data_offsets_vector_alloc_managed {}; + +struct trace_event_data_offsets_vector_config {}; + +struct trace_event_data_offsets_vector_free_moved {}; + +struct trace_event_data_offsets_vector_mod {}; + +struct trace_event_data_offsets_vector_reserve {}; + +struct trace_event_data_offsets_vector_setup {}; + +struct trace_event_data_offsets_vector_teardown {}; + +struct trace_event_data_offsets_vm_unmapped_area {}; + +struct trace_event_data_offsets_wake_reaper {}; + +struct trace_event_data_offsets_wakeup_source { + u32 name; + const void *name_ptr_; +}; + +struct trace_event_data_offsets_watchdog_set_timeout {}; + +struct trace_event_data_offsets_watchdog_template {}; + +struct trace_event_data_offsets_wbc_class {}; + +struct trace_event_data_offsets_wbt_lat {}; + +struct trace_event_data_offsets_wbt_stat {}; + +struct trace_event_data_offsets_wbt_step {}; + +struct trace_event_data_offsets_wbt_timer {}; + +struct trace_event_data_offsets_workqueue_activate_work {}; + +struct trace_event_data_offsets_workqueue_execute_end {}; + +struct trace_event_data_offsets_workqueue_execute_start {}; + +struct trace_event_data_offsets_workqueue_queue_work { + u32 workqueue; + const void *workqueue_ptr_; +}; + +struct trace_event_data_offsets_writeback_bdi_register {}; + +struct trace_event_data_offsets_writeback_class {}; + +struct trace_event_data_offsets_writeback_dirty_inode_template {}; + +struct trace_event_data_offsets_writeback_folio_template {}; + +struct trace_event_data_offsets_writeback_inode_template {}; + +struct trace_event_data_offsets_writeback_pages_written {}; + +struct trace_event_data_offsets_writeback_queue_io {}; + +struct trace_event_data_offsets_writeback_sb_inodes_requeue {}; + +struct trace_event_data_offsets_writeback_single_inode_template {}; + +struct trace_event_data_offsets_writeback_work_class {}; + +struct trace_event_data_offsets_writeback_write_inode_template {}; + +struct trace_event_data_offsets_x86_fpu {}; + +struct trace_event_data_offsets_x86_irq_vector {}; + +struct trace_event_data_offsets_xdp_bulk_tx {}; + +struct trace_event_data_offsets_xdp_cpumap_enqueue {}; + +struct trace_event_data_offsets_xdp_cpumap_kthread {}; + +struct trace_event_data_offsets_xdp_devmap_xmit {}; + +struct trace_event_data_offsets_xdp_exception {}; + +struct trace_event_data_offsets_xdp_redirect_template {}; + +struct trace_event_data_offsets_xen_cpu_load_idt {}; + +struct trace_event_data_offsets_xen_cpu_set_ldt {}; + +struct trace_event_data_offsets_xen_cpu_write_gdt_entry {}; + +struct trace_event_data_offsets_xen_cpu_write_idt_entry {}; + +struct trace_event_data_offsets_xen_cpu_write_ldt_entry {}; + +struct trace_event_data_offsets_xen_mc__batch {}; + +struct trace_event_data_offsets_xen_mc_callback {}; + +struct trace_event_data_offsets_xen_mc_entry {}; + +struct trace_event_data_offsets_xen_mc_entry_alloc {}; + +struct trace_event_data_offsets_xen_mc_extend_args {}; + +struct trace_event_data_offsets_xen_mc_flush {}; + +struct trace_event_data_offsets_xen_mc_flush_reason {}; + +struct trace_event_data_offsets_xen_mmu__set_pte {}; + +struct trace_event_data_offsets_xen_mmu_alloc_ptpage {}; + +struct trace_event_data_offsets_xen_mmu_flush_tlb_multi {}; + +struct trace_event_data_offsets_xen_mmu_flush_tlb_one_user {}; + +struct trace_event_data_offsets_xen_mmu_pgd {}; + +struct trace_event_data_offsets_xen_mmu_ptep_modify_prot {}; + +struct trace_event_data_offsets_xen_mmu_release_ptpage {}; + +struct trace_event_data_offsets_xen_mmu_set_p4d {}; + +struct trace_event_data_offsets_xen_mmu_set_pmd {}; + +struct trace_event_data_offsets_xen_mmu_set_pud {}; + +struct trace_event_data_offsets_xen_mmu_write_cr3 {}; + +struct trace_event_data_offsets_xhci_dbc_log_request {}; + +struct trace_event_data_offsets_xhci_log_ctrl_ctx {}; + +struct trace_event_data_offsets_xhci_log_ctx { + u32 ctx_data; + const void *ctx_data_ptr_; +}; + +struct trace_event_data_offsets_xhci_log_doorbell {}; + +struct trace_event_data_offsets_xhci_log_ep_ctx {}; + +struct trace_event_data_offsets_xhci_log_free_virt_dev {}; + +struct trace_event_data_offsets_xhci_log_msg { + u32 msg; + const void *msg_ptr_; +}; + +struct trace_event_data_offsets_xhci_log_portsc {}; + +struct trace_event_data_offsets_xhci_log_ring {}; + +struct trace_event_data_offsets_xhci_log_slot_ctx {}; + +struct trace_event_data_offsets_xhci_log_stream_ctx {}; + +struct trace_event_data_offsets_xhci_log_trb {}; + +struct trace_event_data_offsets_xhci_log_urb { + u32 devname; + const void *devname_ptr_; +}; + +struct trace_event_data_offsets_xhci_log_virt_dev {}; + +struct trace_event_fields { + const char *type; + union { + struct { + const char *name; + const int size; + const int align; + const unsigned int is_signed: 1; + unsigned int needs_test: 1; + const int filter_type; + const int len; + }; + int (*define_fields)(struct trace_event_call *); + }; +}; + +struct trace_subsystem_dir; + +struct trace_event_file { + struct list_head list; + struct trace_event_call *event_call; + struct event_filter *filter; + struct eventfs_inode *ei; + struct trace_array *tr; + struct trace_subsystem_dir *system; + struct list_head triggers; + long unsigned int flags; + refcount_t ref; + atomic_t sm_ref; + atomic_t tm_ref; +}; + +typedef enum print_line_t (*trace_print_func)(struct trace_iterator *, int, struct trace_event *); + +struct trace_event_functions { + trace_print_func trace; + trace_print_func raw; + trace_print_func hex; + trace_print_func binary; +}; + +struct trace_event_raw_ack_update_msk { + struct trace_entry ent; + u64 data_ack; + u64 old_snd_una; + u64 new_snd_una; + u64 new_wnd_end; + u64 msk_wnd_end; + char __data[0]; +}; + +struct trace_event_raw_aer_event { + struct trace_entry ent; + u32 __data_loc_dev_name; + u32 status; + u8 severity; + u8 tlp_header_valid; + u32 tlp_header[14]; + char __data[0]; +}; + +struct trace_event_raw_alarm_class { + struct trace_entry ent; + void *alarm; + unsigned char alarm_type; + s64 expires; + s64 now; + char __data[0]; +}; + +struct trace_event_raw_alarmtimer_suspend { + struct trace_entry ent; + s64 expires; + unsigned char alarm_type; + char __data[0]; +}; + +struct trace_event_raw_alloc_vmap_area { + struct trace_entry ent; + long unsigned int addr; + long unsigned int size; + long unsigned int align; + long unsigned int vstart; + long unsigned int vend; + int failed; + char __data[0]; +}; + +struct trace_event_raw_amd_pstate_epp_perf { + struct trace_entry ent; + unsigned int cpu_id; + u8 highest_perf; + u8 epp; + u8 min_perf; + u8 max_perf; + bool boost; + bool changed; + char __data[0]; +}; + +struct trace_event_raw_amd_pstate_perf { + struct trace_entry ent; + u8 min_perf; + u8 target_perf; + u8 capacity; + long long unsigned int freq; + long long unsigned int mperf; + long long unsigned int aperf; + long long unsigned int tsc; + unsigned int cpu_id; + bool fast_switch; + char __data[0]; +}; + +struct trace_event_raw_arm_event { + struct trace_entry ent; + u64 mpidr; + u64 midr; + u32 running_state; + u32 psci_state; + u8 affinity; + u32 pei_len; + u32 __data_loc_pei_buf; + u32 ctx_len; + u32 __data_loc_ctx_buf; + u32 oem_len; + u32 __data_loc_oem_buf; + u8 sev; + int cpu; + char __data[0]; +}; + +struct trace_event_raw_ata_bmdma_status { + struct trace_entry ent; + unsigned int ata_port; + unsigned int tag; + unsigned char host_stat; + char __data[0]; +}; + +struct trace_event_raw_ata_eh_action_template { + struct trace_entry ent; + unsigned int ata_port; + unsigned int ata_dev; + unsigned int eh_action; + char __data[0]; +}; + +struct trace_event_raw_ata_eh_link_autopsy { + struct trace_entry ent; + unsigned int ata_port; + unsigned int ata_dev; + unsigned int eh_action; + unsigned int eh_err_mask; + char __data[0]; +}; + +struct trace_event_raw_ata_eh_link_autopsy_qc { + struct trace_entry ent; + unsigned int ata_port; + unsigned int ata_dev; + unsigned int tag; + unsigned int qc_flags; + unsigned int eh_err_mask; + char __data[0]; +}; + +struct trace_event_raw_ata_exec_command_template { + struct trace_entry ent; + unsigned int ata_port; + unsigned int tag; + unsigned char cmd; + unsigned char feature; + unsigned char hob_nsect; + unsigned char proto; + char __data[0]; +}; + +struct trace_event_raw_ata_link_reset_begin_template { + struct trace_entry ent; + unsigned int ata_port; + unsigned int class[2]; + long unsigned int deadline; + char __data[0]; +}; + +struct trace_event_raw_ata_link_reset_end_template { + struct trace_entry ent; + unsigned int ata_port; + unsigned int class[2]; + int rc; + char __data[0]; +}; + +struct trace_event_raw_ata_port_eh_begin_template { + struct trace_entry ent; + unsigned int ata_port; + char __data[0]; +}; + +struct trace_event_raw_ata_qc_complete_template { + struct trace_entry ent; + unsigned int ata_port; + unsigned int ata_dev; + unsigned int tag; + unsigned char status; + unsigned char dev; + unsigned char lbal; + unsigned char lbam; + unsigned char lbah; + unsigned char nsect; + unsigned char error; + unsigned char hob_lbal; + unsigned char hob_lbam; + unsigned char hob_lbah; + unsigned char hob_nsect; + unsigned char hob_feature; + unsigned char ctl; + long unsigned int flags; + char __data[0]; +}; + +struct trace_event_raw_ata_qc_issue_template { + struct trace_entry ent; + unsigned int ata_port; + unsigned int ata_dev; + unsigned int tag; + unsigned char cmd; + unsigned char dev; + unsigned char lbal; + unsigned char lbam; + unsigned char lbah; + unsigned char nsect; + unsigned char feature; + unsigned char hob_lbal; + unsigned char hob_lbam; + unsigned char hob_lbah; + unsigned char hob_nsect; + unsigned char hob_feature; + unsigned char ctl; + unsigned char proto; + long unsigned int flags; + char __data[0]; +}; + +struct trace_event_raw_ata_sff_hsm_template { + struct trace_entry ent; + unsigned int ata_port; + unsigned int ata_dev; + unsigned int tag; + unsigned int qc_flags; + unsigned int protocol; + unsigned int hsm_state; + unsigned char dev_state; + char __data[0]; +}; + +struct trace_event_raw_ata_sff_template { + struct trace_entry ent; + unsigned int ata_port; + unsigned char hsm_state; + char __data[0]; +}; + +struct trace_event_raw_ata_tf_load { + struct trace_entry ent; + unsigned int ata_port; + unsigned char cmd; + unsigned char dev; + unsigned char lbal; + unsigned char lbam; + unsigned char lbah; + unsigned char nsect; + unsigned char feature; + unsigned char hob_lbal; + unsigned char hob_lbam; + unsigned char hob_lbah; + unsigned char hob_nsect; + unsigned char hob_feature; + unsigned char proto; + char __data[0]; +}; + +struct trace_event_raw_ata_transfer_data_template { + struct trace_entry ent; + unsigned int ata_port; + unsigned int ata_dev; + unsigned int tag; + unsigned int flags; + unsigned int offset; + unsigned int bytes; + char __data[0]; +}; + +struct trace_event_raw_balance_dirty_pages { + struct trace_entry ent; + char bdi[32]; + long unsigned int limit; + long unsigned int setpoint; + long unsigned int dirty; + long unsigned int wb_setpoint; + long unsigned int wb_dirty; + long unsigned int dirty_ratelimit; + long unsigned int task_ratelimit; + unsigned int dirtied; + unsigned int dirtied_pause; + long unsigned int paused; + long int pause; + long unsigned int period; + long int think; + ino_t cgroup_ino; + char __data[0]; +}; + +struct trace_event_raw_bdi_dirty_ratelimit { + struct trace_entry ent; + char bdi[32]; + long unsigned int write_bw; + long unsigned int avg_write_bw; + long unsigned int dirty_rate; + long unsigned int dirty_ratelimit; + long unsigned int task_ratelimit; + long unsigned int balanced_dirty_ratelimit; + ino_t cgroup_ino; + char __data[0]; +}; + +struct trace_event_raw_blkdev_zone_mgmt { + struct trace_entry ent; + dev_t dev; + sector_t sector; + sector_t nr_sectors; + char rwbs[10]; + char __data[0]; +}; + +struct trace_event_raw_block_bio { + struct trace_entry ent; + dev_t dev; + sector_t sector; + unsigned int nr_sector; + char rwbs[10]; + char comm[16]; + char __data[0]; +}; + +struct trace_event_raw_block_bio_complete { + struct trace_entry ent; + dev_t dev; + sector_t sector; + unsigned int nr_sector; + int error; + char rwbs[10]; + char __data[0]; +}; + +struct trace_event_raw_block_bio_remap { + struct trace_entry ent; + dev_t dev; + sector_t sector; + unsigned int nr_sector; + dev_t old_dev; + sector_t old_sector; + char rwbs[10]; + char __data[0]; +}; + +struct trace_event_raw_block_buffer { + struct trace_entry ent; + dev_t dev; + sector_t sector; + size_t size; + char __data[0]; +}; + +struct trace_event_raw_block_plug { + struct trace_entry ent; + char comm[16]; + char __data[0]; +}; + +struct trace_event_raw_block_rq { + struct trace_entry ent; + dev_t dev; + sector_t sector; + unsigned int nr_sector; + unsigned int bytes; + short unsigned int ioprio; + char rwbs[10]; + char comm[16]; + u32 __data_loc_cmd; + char __data[0]; +}; + +struct trace_event_raw_block_rq_completion { + struct trace_entry ent; + dev_t dev; + sector_t sector; + unsigned int nr_sector; + int error; + short unsigned int ioprio; + char rwbs[10]; + u32 __data_loc_cmd; + char __data[0]; +}; + +struct trace_event_raw_block_rq_remap { + struct trace_entry ent; + dev_t dev; + sector_t sector; + unsigned int nr_sector; + dev_t old_dev; + sector_t old_sector; + unsigned int nr_bios; + char rwbs[10]; + char __data[0]; +}; + +struct trace_event_raw_block_rq_requeue { + struct trace_entry ent; + dev_t dev; + sector_t sector; + unsigned int nr_sector; + short unsigned int ioprio; + char rwbs[10]; + u32 __data_loc_cmd; + char __data[0]; +}; + +struct trace_event_raw_block_split { + struct trace_entry ent; + dev_t dev; + sector_t sector; + sector_t new_sector; + char rwbs[10]; + char comm[16]; + char __data[0]; +}; + +struct trace_event_raw_block_unplug { + struct trace_entry ent; + int nr_rq; + char comm[16]; + char __data[0]; +}; + +struct trace_event_raw_block_zwplug { + struct trace_entry ent; + dev_t dev; + unsigned int zno; + sector_t sector; + unsigned int nr_sectors; + char __data[0]; +}; + +struct trace_event_raw_bpf_test_finish { + struct trace_entry ent; + int err; + char __data[0]; +}; + +struct trace_event_raw_bpf_trace_printk { + struct trace_entry ent; + u32 __data_loc_bpf_string; + char __data[0]; +}; + +struct trace_event_raw_bpf_trigger_tp { + struct trace_entry ent; + int nonce; + char __data[0]; +}; + +struct trace_event_raw_bpf_xdp_link_attach_failed { + struct trace_entry ent; + u32 __data_loc_msg; + char __data[0]; +}; + +struct trace_event_raw_br_fdb_add { + struct trace_entry ent; + u8 ndm_flags; + u32 __data_loc_dev; + unsigned char addr[6]; + u16 vid; + u16 nlh_flags; + char __data[0]; +}; + +struct trace_event_raw_br_fdb_external_learn_add { + struct trace_entry ent; + u32 __data_loc_br_dev; + u32 __data_loc_dev; + unsigned char addr[6]; + u16 vid; + char __data[0]; +}; + +struct trace_event_raw_br_fdb_update { + struct trace_entry ent; + u32 __data_loc_br_dev; + u32 __data_loc_dev; + unsigned char addr[6]; + u16 vid; + long unsigned int flags; + char __data[0]; +}; + +struct trace_event_raw_br_mdb_full { + struct trace_entry ent; + u32 __data_loc_dev; + int af; + u16 vid; + __u8 src[16]; + __u8 grp[16]; + __u8 grpmac[6]; + char __data[0]; +}; + +struct trace_event_raw_cache_tag_flush { + struct trace_entry ent; + u32 __data_loc_iommu; + u32 __data_loc_dev; + u16 type; + u16 domain_id; + u32 pasid; + long unsigned int start; + long unsigned int end; + long unsigned int addr; + long unsigned int pages; + long unsigned int mask; + char __data[0]; +}; + +struct trace_event_raw_cache_tag_log { + struct trace_entry ent; + u32 __data_loc_iommu; + u32 __data_loc_dev; + u16 type; + u16 domain_id; + u32 pasid; + u32 users; + char __data[0]; +}; + +struct trace_event_raw_cap_capable { + struct trace_entry ent; + const struct cred *cred; + struct user_namespace *target_ns; + const struct user_namespace *capable_ns; + int cap; + int ret; + char __data[0]; +}; + +struct trace_event_raw_cdev_update { + struct trace_entry ent; + u32 __data_loc_type; + long unsigned int target; + char __data[0]; +}; + +struct trace_event_raw_cgroup { + struct trace_entry ent; + int root; + int level; + u64 id; + u32 __data_loc_path; + char __data[0]; +}; + +struct trace_event_raw_cgroup_event { + struct trace_entry ent; + int root; + int level; + u64 id; + u32 __data_loc_path; + int val; + char __data[0]; +}; + +struct trace_event_raw_cgroup_migrate { + struct trace_entry ent; + int dst_root; + int dst_level; + u64 dst_id; + int pid; + u32 __data_loc_dst_path; + u32 __data_loc_comm; + char __data[0]; +}; + +struct trace_event_raw_cgroup_root { + struct trace_entry ent; + int root; + u16 ss_mask; + u32 __data_loc_name; + char __data[0]; +}; + +struct trace_event_raw_cgroup_rstat { + struct trace_entry ent; + int root; + int level; + u64 id; + int cpu; + bool contended; + char __data[0]; +}; + +struct trace_event_raw_clk { + struct trace_entry ent; + u32 __data_loc_name; + char __data[0]; +}; + +struct trace_event_raw_clk_duty_cycle { + struct trace_entry ent; + u32 __data_loc_name; + unsigned int num; + unsigned int den; + char __data[0]; +}; + +struct trace_event_raw_clk_parent { + struct trace_entry ent; + u32 __data_loc_name; + u32 __data_loc_pname; + char __data[0]; +}; + +struct trace_event_raw_clk_phase { + struct trace_entry ent; + u32 __data_loc_name; + int phase; + char __data[0]; +}; + +struct trace_event_raw_clk_rate { + struct trace_entry ent; + u32 __data_loc_name; + long unsigned int rate; + char __data[0]; +}; + +struct trace_event_raw_clk_rate_range { + struct trace_entry ent; + u32 __data_loc_name; + long unsigned int min; + long unsigned int max; + char __data[0]; +}; + +struct trace_event_raw_clk_rate_request { + struct trace_entry ent; + u32 __data_loc_name; + u32 __data_loc_pname; + long unsigned int min; + long unsigned int max; + long unsigned int prate; + char __data[0]; +}; + +struct trace_event_raw_cma_alloc_busy_retry { + struct trace_entry ent; + u32 __data_loc_name; + long unsigned int pfn; + const struct page *page; + long unsigned int count; + unsigned int align; + char __data[0]; +}; + +struct trace_event_raw_cma_alloc_finish { + struct trace_entry ent; + u32 __data_loc_name; + long unsigned int pfn; + const struct page *page; + long unsigned int count; + unsigned int align; + int errorno; + char __data[0]; +}; + +struct trace_event_raw_cma_alloc_start { + struct trace_entry ent; + u32 __data_loc_name; + long unsigned int count; + unsigned int align; + char __data[0]; +}; + +struct trace_event_raw_cma_release { + struct trace_entry ent; + u32 __data_loc_name; + long unsigned int pfn; + const struct page *page; + long unsigned int count; + char __data[0]; +}; + +struct trace_event_raw_compact_retry { + struct trace_entry ent; + int order; + int priority; + int result; + int retries; + int max_retries; + bool ret; + char __data[0]; +}; + +struct trace_event_raw_console { + struct trace_entry ent; + u32 __data_loc_msg; + char __data[0]; +}; + +struct trace_event_raw_consume_skb { + struct trace_entry ent; + void *skbaddr; + void *location; + char __data[0]; +}; + +struct trace_event_raw_contention_begin { + struct trace_entry ent; + void *lock_addr; + unsigned int flags; + char __data[0]; +}; + +struct trace_event_raw_contention_end { + struct trace_entry ent; + void *lock_addr; + int ret; + char __data[0]; +}; + +struct trace_event_raw_context_tracking_user { + struct trace_entry ent; + int dummy; + char __data[0]; +}; + +struct trace_event_raw_cpu { + struct trace_entry ent; + u32 state; + u32 cpu_id; + char __data[0]; +}; + +struct trace_event_raw_cpu_frequency_limits { + struct trace_entry ent; + u32 min_freq; + u32 max_freq; + u32 cpu_id; + char __data[0]; +}; + +struct trace_event_raw_cpu_idle_miss { + struct trace_entry ent; + u32 cpu_id; + u32 state; + bool below; + char __data[0]; +}; + +struct trace_event_raw_cpu_latency_qos_request { + struct trace_entry ent; + s32 value; + char __data[0]; +}; + +struct trace_event_raw_cpuhp_enter { + struct trace_entry ent; + unsigned int cpu; + int target; + int idx; + void *fun; + char __data[0]; +}; + +struct trace_event_raw_cpuhp_exit { + struct trace_entry ent; + unsigned int cpu; + int state; + int idx; + int ret; + char __data[0]; +}; + +struct trace_event_raw_cpuhp_multi_enter { + struct trace_entry ent; + unsigned int cpu; + int target; + int idx; + void *fun; + char __data[0]; +}; + +struct trace_event_raw_csd_function { + struct trace_entry ent; + void *func; + void *csd; + char __data[0]; +}; + +struct trace_event_raw_csd_queue_cpu { + struct trace_entry ent; + unsigned int cpu; + void *callsite; + void *func; + void *csd; + char __data[0]; +}; + +struct trace_event_raw_ctime { + struct trace_entry ent; + dev_t dev; + ino_t ino; + time64_t ctime_s; + u32 ctime_ns; + u32 gen; + char __data[0]; +}; + +struct trace_event_raw_ctime_ns_xchg { + struct trace_entry ent; + dev_t dev; + ino_t ino; + u32 gen; + u32 old; + u32 new; + u32 cur; + char __data[0]; +}; + +struct trace_event_raw_dax_pmd_fault_class { + struct trace_entry ent; + long unsigned int ino; + long unsigned int vm_start; + long unsigned int vm_end; + vm_flags_t vm_flags; + long unsigned int address; + long unsigned int pgoff; + long unsigned int max_pgoff; + dev_t dev; + unsigned int flags; + int result; + char __data[0]; +}; + +struct trace_event_raw_dax_pmd_load_hole_class { + struct trace_entry ent; + long unsigned int ino; + vm_flags_t vm_flags; + long unsigned int address; + struct folio *zero_folio; + void *radix_entry; + dev_t dev; + char __data[0]; +}; + +struct trace_event_raw_dax_pte_fault_class { + struct trace_entry ent; + long unsigned int ino; + vm_flags_t vm_flags; + long unsigned int address; + long unsigned int pgoff; + dev_t dev; + unsigned int flags; + int result; + char __data[0]; +}; + +struct trace_event_raw_dax_writeback_one { + struct trace_entry ent; + long unsigned int ino; + long unsigned int pgoff; + long unsigned int pglen; + dev_t dev; + char __data[0]; +}; + +struct trace_event_raw_dax_writeback_range_class { + struct trace_entry ent; + long unsigned int ino; + long unsigned int start_index; + long unsigned int end_index; + dev_t dev; + char __data[0]; +}; + +struct trace_event_raw_dev_pm_qos_request { + struct trace_entry ent; + u32 __data_loc_name; + enum dev_pm_qos_req_type type; + s32 new_value; + char __data[0]; +}; + +struct trace_event_raw_devfreq_frequency { + struct trace_entry ent; + u32 __data_loc_dev_name; + long unsigned int freq; + long unsigned int prev_freq; + long unsigned int busy_time; + long unsigned int total_time; + char __data[0]; +}; + +struct trace_event_raw_devfreq_monitor { + struct trace_entry ent; + long unsigned int freq; + long unsigned int busy_time; + long unsigned int total_time; + unsigned int polling_ms; + u32 __data_loc_dev_name; + char __data[0]; +}; + +struct trace_event_raw_device_pm_callback_end { + struct trace_entry ent; + u32 __data_loc_device; + u32 __data_loc_driver; + int error; + char __data[0]; +}; + +struct trace_event_raw_device_pm_callback_start { + struct trace_entry ent; + u32 __data_loc_device; + u32 __data_loc_driver; + u32 __data_loc_parent; + u32 __data_loc_pm_ops; + int event; + char __data[0]; +}; + +struct trace_event_raw_devlink_health_recover_aborted { + struct trace_entry ent; + u32 __data_loc_bus_name; + u32 __data_loc_dev_name; + u32 __data_loc_driver_name; + u32 __data_loc_reporter_name; + bool health_state; + u64 time_since_last_recover; + char __data[0]; +}; + +struct trace_event_raw_devlink_health_report { + struct trace_entry ent; + u32 __data_loc_bus_name; + u32 __data_loc_dev_name; + u32 __data_loc_driver_name; + u32 __data_loc_reporter_name; + u32 __data_loc_msg; + char __data[0]; +}; + +struct trace_event_raw_devlink_health_reporter_state_update { + struct trace_entry ent; + u32 __data_loc_bus_name; + u32 __data_loc_dev_name; + u32 __data_loc_driver_name; + u32 __data_loc_reporter_name; + u8 new_state; + char __data[0]; +}; + +struct trace_event_raw_devlink_hwerr { + struct trace_entry ent; + u32 __data_loc_bus_name; + u32 __data_loc_dev_name; + u32 __data_loc_driver_name; + int err; + u32 __data_loc_msg; + char __data[0]; +}; + +struct trace_event_raw_devlink_hwmsg { + struct trace_entry ent; + u32 __data_loc_bus_name; + u32 __data_loc_dev_name; + u32 __data_loc_driver_name; + bool incoming; + long unsigned int type; + u32 __data_loc_buf; + size_t len; + char __data[0]; +}; + +struct trace_event_raw_devlink_trap_report { + struct trace_entry ent; + u32 __data_loc_bus_name; + u32 __data_loc_dev_name; + u32 __data_loc_driver_name; + u32 __data_loc_trap_name; + u32 __data_loc_trap_group_name; + char input_dev_name[16]; + char __data[0]; +}; + +struct trace_event_raw_devres { + struct trace_entry ent; + u32 __data_loc_devname; + struct device *dev; + const char *op; + void *node; + u32 __data_loc_name; + size_t size; + char __data[0]; +}; + +struct trace_event_raw_dma_alloc_class { + struct trace_entry ent; + u32 __data_loc_device; + void *virt_addr; + u64 dma_addr; + size_t size; + gfp_t flags; + enum dma_data_direction dir; + long unsigned int attrs; + char __data[0]; +}; + +struct trace_event_raw_dma_alloc_sgt { + struct trace_entry ent; + u32 __data_loc_device; + u32 __data_loc_phys_addrs; + u64 dma_addr; + size_t size; + enum dma_data_direction dir; + gfp_t flags; + long unsigned int attrs; + char __data[0]; +}; + +struct trace_event_raw_dma_fence { + struct trace_entry ent; + u32 __data_loc_driver; + u32 __data_loc_timeline; + unsigned int context; + unsigned int seqno; + char __data[0]; +}; + +struct trace_event_raw_dma_fence_unsignaled { + struct trace_entry ent; + u32 __data_loc_driver; + u32 __data_loc_timeline; + unsigned int context; + unsigned int seqno; + char __data[0]; +}; + +struct trace_event_raw_dma_free_class { + struct trace_entry ent; + u32 __data_loc_device; + void *virt_addr; + u64 dma_addr; + size_t size; + enum dma_data_direction dir; + long unsigned int attrs; + char __data[0]; +}; + +struct trace_event_raw_dma_free_sgt { + struct trace_entry ent; + u32 __data_loc_device; + u32 __data_loc_phys_addrs; + u64 dma_addr; + size_t size; + enum dma_data_direction dir; + char __data[0]; +}; + +struct trace_event_raw_dma_map { + struct trace_entry ent; + u32 __data_loc_device; + u64 phys_addr; + u64 dma_addr; + size_t size; + enum dma_data_direction dir; + long unsigned int attrs; + char __data[0]; +}; + +struct trace_event_raw_dma_map_sg { + struct trace_entry ent; + u32 __data_loc_device; + u32 __data_loc_phys_addrs; + u32 __data_loc_dma_addrs; + u32 __data_loc_lengths; + enum dma_data_direction dir; + long unsigned int attrs; + char __data[0]; +}; + +struct trace_event_raw_dma_map_sg_err { + struct trace_entry ent; + u32 __data_loc_device; + u32 __data_loc_phys_addrs; + int err; + enum dma_data_direction dir; + long unsigned int attrs; + char __data[0]; +}; + +struct trace_event_raw_dma_sync_sg { + struct trace_entry ent; + u32 __data_loc_device; + u32 __data_loc_dma_addrs; + u32 __data_loc_lengths; + enum dma_data_direction dir; + char __data[0]; +}; + +struct trace_event_raw_dma_sync_single { + struct trace_entry ent; + u32 __data_loc_device; + u64 dma_addr; + size_t size; + enum dma_data_direction dir; + char __data[0]; +}; + +struct trace_event_raw_dma_unmap { + struct trace_entry ent; + u32 __data_loc_device; + u64 addr; + size_t size; + enum dma_data_direction dir; + long unsigned int attrs; + char __data[0]; +}; + +struct trace_event_raw_dma_unmap_sg { + struct trace_entry ent; + u32 __data_loc_device; + u32 __data_loc_addrs; + enum dma_data_direction dir; + long unsigned int attrs; + char __data[0]; +}; + +struct trace_event_raw_dql_stall_detected { + struct trace_entry ent; + short unsigned int thrs; + unsigned int len; + long unsigned int last_reap; + long unsigned int hist_head; + long unsigned int now; + long unsigned int hist[4]; + char __data[0]; +}; + +struct trace_event_raw_drm_vblank_event { + struct trace_entry ent; + int crtc; + unsigned int seq; + ktime_t time; + bool high_prec; + char __data[0]; +}; + +struct trace_event_raw_drm_vblank_event_delivered { + struct trace_entry ent; + struct drm_file *file; + int crtc; + unsigned int seq; + char __data[0]; +}; + +struct trace_event_raw_drm_vblank_event_queued { + struct trace_entry ent; + struct drm_file *file; + int crtc; + unsigned int seq; + char __data[0]; +}; + +struct trace_event_raw_emulate_vsyscall { + struct trace_entry ent; + int nr; + char __data[0]; +}; + +struct trace_event_raw_error_da_monitor_id { + struct trace_entry ent; + int id; + u32 __data_loc_state; + u32 __data_loc_event; + char __data[0]; +}; + +struct trace_event_raw_error_report_template { + struct trace_entry ent; + enum error_detector error_detector; + long unsigned int id; + char __data[0]; +}; + +struct trace_event_raw_event_da_monitor_id { + struct trace_entry ent; + int id; + u32 __data_loc_state; + u32 __data_loc_event; + u32 __data_loc_next_state; + bool final_state; + char __data[0]; +}; + +struct trace_event_raw_exceptions { + struct trace_entry ent; + long unsigned int address; + long unsigned int ip; + long unsigned int error_code; + char __data[0]; +}; + +struct trace_event_raw_exit_mmap { + struct trace_entry ent; + struct mm_struct *mm; + struct maple_tree *mt; + char __data[0]; +}; + +struct trace_event_raw_ext4__bitmap_load { + struct trace_entry ent; + dev_t dev; + __u32 group; + char __data[0]; +}; + +struct trace_event_raw_ext4__es_extent { + struct trace_entry ent; + dev_t dev; + ino_t ino; + ext4_lblk_t lblk; + ext4_lblk_t len; + ext4_fsblk_t pblk; + char status; + char __data[0]; +}; + +struct trace_event_raw_ext4__es_shrink_enter { + struct trace_entry ent; + dev_t dev; + int nr_to_scan; + int cache_cnt; + char __data[0]; +}; + +struct trace_event_raw_ext4__fallocate_mode { + struct trace_entry ent; + dev_t dev; + ino_t ino; + loff_t offset; + loff_t len; + int mode; + char __data[0]; +}; + +struct trace_event_raw_ext4__folio_op { + struct trace_entry ent; + dev_t dev; + ino_t ino; + long unsigned int index; + char __data[0]; +}; + +struct trace_event_raw_ext4__map_blocks_enter { + struct trace_entry ent; + dev_t dev; + ino_t ino; + ext4_lblk_t lblk; + unsigned int len; + unsigned int flags; + char __data[0]; +}; + +struct trace_event_raw_ext4__map_blocks_exit { + struct trace_entry ent; + dev_t dev; + ino_t ino; + unsigned int flags; + ext4_fsblk_t pblk; + ext4_lblk_t lblk; + unsigned int len; + unsigned int mflags; + int ret; + char __data[0]; +}; + +struct trace_event_raw_ext4__mb_new_pa { + struct trace_entry ent; + dev_t dev; + ino_t ino; + __u64 pa_pstart; + __u64 pa_lstart; + __u32 pa_len; + char __data[0]; +}; + +struct trace_event_raw_ext4__mballoc { + struct trace_entry ent; + dev_t dev; + ino_t ino; + int result_start; + __u32 result_group; + int result_len; + char __data[0]; +}; + +struct trace_event_raw_ext4__trim { + struct trace_entry ent; + int dev_major; + int dev_minor; + __u32 group; + int start; + int len; + char __data[0]; +}; + +struct trace_event_raw_ext4__truncate { + struct trace_entry ent; + dev_t dev; + ino_t ino; + __u64 blocks; + char __data[0]; +}; + +struct trace_event_raw_ext4__write_begin { + struct trace_entry ent; + dev_t dev; + ino_t ino; + loff_t pos; + unsigned int len; + char __data[0]; +}; + +struct trace_event_raw_ext4__write_end { + struct trace_entry ent; + dev_t dev; + ino_t ino; + loff_t pos; + unsigned int len; + unsigned int copied; + char __data[0]; +}; + +struct trace_event_raw_ext4_alloc_da_blocks { + struct trace_entry ent; + dev_t dev; + ino_t ino; + unsigned int data_blocks; + char __data[0]; +}; + +struct trace_event_raw_ext4_allocate_blocks { + struct trace_entry ent; + dev_t dev; + ino_t ino; + __u64 block; + unsigned int len; + __u32 logical; + __u32 lleft; + __u32 lright; + __u64 goal; + __u64 pleft; + __u64 pright; + unsigned int flags; + char __data[0]; +}; + +struct trace_event_raw_ext4_allocate_inode { + struct trace_entry ent; + dev_t dev; + ino_t ino; + ino_t dir; + __u16 mode; + char __data[0]; +}; + +struct trace_event_raw_ext4_begin_ordered_truncate { + struct trace_entry ent; + dev_t dev; + ino_t ino; + loff_t new_size; + char __data[0]; +}; + +struct trace_event_raw_ext4_collapse_range { + struct trace_entry ent; + dev_t dev; + ino_t ino; + loff_t offset; + loff_t len; + char __data[0]; +}; + +struct trace_event_raw_ext4_da_release_space { + struct trace_entry ent; + dev_t dev; + ino_t ino; + __u64 i_blocks; + int freed_blocks; + int reserved_data_blocks; + __u16 mode; + char __data[0]; +}; + +struct trace_event_raw_ext4_da_reserve_space { + struct trace_entry ent; + dev_t dev; + ino_t ino; + __u64 i_blocks; + int reserve_blocks; + int reserved_data_blocks; + __u16 mode; + char __data[0]; +}; + +struct trace_event_raw_ext4_da_update_reserve_space { + struct trace_entry ent; + dev_t dev; + ino_t ino; + __u64 i_blocks; + int used_blocks; + int reserved_data_blocks; + int quota_claim; + __u16 mode; + char __data[0]; +}; + +struct trace_event_raw_ext4_da_write_folios_end { + struct trace_entry ent; + dev_t dev; + ino_t ino; + loff_t start_pos; + loff_t next_pos; + long int nr_to_write; + int ret; + char __data[0]; +}; + +struct trace_event_raw_ext4_da_write_folios_start { + struct trace_entry ent; + dev_t dev; + ino_t ino; + loff_t start_pos; + loff_t next_pos; + long int nr_to_write; + int sync_mode; + char __data[0]; +}; + +struct trace_event_raw_ext4_da_write_pages_extent { + struct trace_entry ent; + dev_t dev; + ino_t ino; + __u64 lblk; + __u32 len; + __u32 flags; + char __data[0]; +}; + +struct trace_event_raw_ext4_discard_blocks { + struct trace_entry ent; + dev_t dev; + __u64 blk; + __u64 count; + char __data[0]; +}; + +struct trace_event_raw_ext4_discard_preallocations { + struct trace_entry ent; + dev_t dev; + ino_t ino; + unsigned int len; + char __data[0]; +}; + +struct trace_event_raw_ext4_drop_inode { + struct trace_entry ent; + dev_t dev; + ino_t ino; + int drop; + char __data[0]; +}; + +struct trace_event_raw_ext4_error { + struct trace_entry ent; + dev_t dev; + const char *function; + unsigned int line; + char __data[0]; +}; + +struct trace_event_raw_ext4_es_find_extent_range_enter { + struct trace_entry ent; + dev_t dev; + ino_t ino; + ext4_lblk_t lblk; + char __data[0]; +}; + +struct trace_event_raw_ext4_es_find_extent_range_exit { + struct trace_entry ent; + dev_t dev; + ino_t ino; + ext4_lblk_t lblk; + ext4_lblk_t len; + ext4_fsblk_t pblk; + char status; + char __data[0]; +}; + +struct trace_event_raw_ext4_es_insert_delayed_extent { + struct trace_entry ent; + dev_t dev; + ino_t ino; + ext4_lblk_t lblk; + ext4_lblk_t len; + ext4_fsblk_t pblk; + char status; + bool lclu_allocated; + bool end_allocated; + char __data[0]; +}; + +struct trace_event_raw_ext4_es_lookup_extent_enter { + struct trace_entry ent; + dev_t dev; + ino_t ino; + ext4_lblk_t lblk; + char __data[0]; +}; + +struct trace_event_raw_ext4_es_lookup_extent_exit { + struct trace_entry ent; + dev_t dev; + ino_t ino; + ext4_lblk_t lblk; + ext4_lblk_t len; + ext4_fsblk_t pblk; + char status; + int found; + char __data[0]; +}; + +struct trace_event_raw_ext4_es_remove_extent { + struct trace_entry ent; + dev_t dev; + ino_t ino; + loff_t lblk; + loff_t len; + char __data[0]; +}; + +struct trace_event_raw_ext4_es_shrink { + struct trace_entry ent; + dev_t dev; + int nr_shrunk; + long long unsigned int scan_time; + int nr_skipped; + int retried; + char __data[0]; +}; + +struct trace_event_raw_ext4_es_shrink_scan_exit { + struct trace_entry ent; + dev_t dev; + int nr_shrunk; + int cache_cnt; + char __data[0]; +}; + +struct trace_event_raw_ext4_evict_inode { + struct trace_entry ent; + dev_t dev; + ino_t ino; + int nlink; + char __data[0]; +}; + +struct trace_event_raw_ext4_ext_convert_to_initialized_enter { + struct trace_entry ent; + dev_t dev; + ino_t ino; + ext4_lblk_t m_lblk; + unsigned int m_len; + ext4_lblk_t u_lblk; + unsigned int u_len; + ext4_fsblk_t u_pblk; + char __data[0]; +}; + +struct trace_event_raw_ext4_ext_convert_to_initialized_fastpath { + struct trace_entry ent; + dev_t dev; + ino_t ino; + ext4_lblk_t m_lblk; + unsigned int m_len; + ext4_lblk_t u_lblk; + unsigned int u_len; + ext4_fsblk_t u_pblk; + ext4_lblk_t i_lblk; + unsigned int i_len; + ext4_fsblk_t i_pblk; + char __data[0]; +}; + +struct trace_event_raw_ext4_ext_handle_unwritten_extents { + struct trace_entry ent; + dev_t dev; + ino_t ino; + int flags; + ext4_lblk_t lblk; + ext4_fsblk_t pblk; + unsigned int len; + unsigned int allocated; + ext4_fsblk_t newblk; + char __data[0]; +}; + +struct trace_event_raw_ext4_ext_load_extent { + struct trace_entry ent; + dev_t dev; + ino_t ino; + ext4_fsblk_t pblk; + ext4_lblk_t lblk; + char __data[0]; +}; + +struct trace_event_raw_ext4_ext_remove_space { + struct trace_entry ent; + dev_t dev; + ino_t ino; + ext4_lblk_t start; + ext4_lblk_t end; + int depth; + char __data[0]; +}; + +struct trace_event_raw_ext4_ext_remove_space_done { + struct trace_entry ent; + dev_t dev; + ino_t ino; + ext4_lblk_t start; + ext4_lblk_t end; + int depth; + ext4_fsblk_t pc_pclu; + ext4_lblk_t pc_lblk; + int pc_state; + short unsigned int eh_entries; + char __data[0]; +}; + +struct trace_event_raw_ext4_ext_rm_idx { + struct trace_entry ent; + dev_t dev; + ino_t ino; + ext4_fsblk_t pblk; + char __data[0]; +}; + +struct trace_event_raw_ext4_ext_rm_leaf { + struct trace_entry ent; + dev_t dev; + ino_t ino; + ext4_lblk_t start; + ext4_lblk_t ee_lblk; + ext4_fsblk_t ee_pblk; + short int ee_len; + ext4_fsblk_t pc_pclu; + ext4_lblk_t pc_lblk; + int pc_state; + char __data[0]; +}; + +struct trace_event_raw_ext4_ext_show_extent { + struct trace_entry ent; + dev_t dev; + ino_t ino; + ext4_fsblk_t pblk; + ext4_lblk_t lblk; + short unsigned int len; + char __data[0]; +}; + +struct trace_event_raw_ext4_fallocate_exit { + struct trace_entry ent; + dev_t dev; + ino_t ino; + loff_t pos; + unsigned int blocks; + int ret; + char __data[0]; +}; + +struct trace_event_raw_ext4_fc_cleanup { + struct trace_entry ent; + dev_t dev; + int j_fc_off; + int full; + tid_t tid; + char __data[0]; +}; + +struct trace_event_raw_ext4_fc_commit_start { + struct trace_entry ent; + dev_t dev; + tid_t tid; + char __data[0]; +}; + +struct trace_event_raw_ext4_fc_commit_stop { + struct trace_entry ent; + dev_t dev; + int nblks; + int reason; + int num_fc; + int num_fc_ineligible; + int nblks_agg; + tid_t tid; + char __data[0]; +}; + +struct trace_event_raw_ext4_fc_replay { + struct trace_entry ent; + dev_t dev; + int tag; + int ino; + int priv1; + int priv2; + char __data[0]; +}; + +struct trace_event_raw_ext4_fc_replay_scan { + struct trace_entry ent; + dev_t dev; + int error; + int off; + char __data[0]; +}; + +struct trace_event_raw_ext4_fc_stats { + struct trace_entry ent; + dev_t dev; + unsigned int fc_ineligible_rc[10]; + long unsigned int fc_commits; + long unsigned int fc_ineligible_commits; + long unsigned int fc_numblks; + char __data[0]; +}; + +struct trace_event_raw_ext4_fc_track_dentry { + struct trace_entry ent; + dev_t dev; + tid_t t_tid; + ino_t i_ino; + tid_t i_sync_tid; + int error; + char __data[0]; +}; + +struct trace_event_raw_ext4_fc_track_inode { + struct trace_entry ent; + dev_t dev; + tid_t t_tid; + ino_t i_ino; + tid_t i_sync_tid; + int error; + char __data[0]; +}; + +struct trace_event_raw_ext4_fc_track_range { + struct trace_entry ent; + dev_t dev; + tid_t t_tid; + ino_t i_ino; + tid_t i_sync_tid; + long int start; + long int end; + int error; + char __data[0]; +}; + +struct trace_event_raw_ext4_forget { + struct trace_entry ent; + dev_t dev; + ino_t ino; + __u64 block; + int is_metadata; + __u16 mode; + char __data[0]; +}; + +struct trace_event_raw_ext4_free_blocks { + struct trace_entry ent; + dev_t dev; + ino_t ino; + __u64 block; + long unsigned int count; + int flags; + __u16 mode; + char __data[0]; +}; + +struct trace_event_raw_ext4_free_inode { + struct trace_entry ent; + dev_t dev; + ino_t ino; + uid_t uid; + gid_t gid; + __u64 blocks; + __u16 mode; + char __data[0]; +}; + +struct trace_event_raw_ext4_fsmap_class { + struct trace_entry ent; + dev_t dev; + dev_t keydev; + u32 agno; + u64 bno; + u64 len; + u64 owner; + char __data[0]; +}; + +struct trace_event_raw_ext4_get_implied_cluster_alloc_exit { + struct trace_entry ent; + dev_t dev; + unsigned int flags; + ext4_lblk_t lblk; + ext4_fsblk_t pblk; + unsigned int len; + int ret; + char __data[0]; +}; + +struct trace_event_raw_ext4_getfsmap_class { + struct trace_entry ent; + dev_t dev; + dev_t keydev; + u64 block; + u64 len; + u64 owner; + u64 flags; + char __data[0]; +}; + +struct trace_event_raw_ext4_insert_range { + struct trace_entry ent; + dev_t dev; + ino_t ino; + loff_t offset; + loff_t len; + char __data[0]; +}; + +struct trace_event_raw_ext4_invalidate_folio_op { + struct trace_entry ent; + dev_t dev; + ino_t ino; + long unsigned int index; + size_t offset; + size_t length; + char __data[0]; +}; + +struct trace_event_raw_ext4_journal_start_inode { + struct trace_entry ent; + long unsigned int ino; + dev_t dev; + long unsigned int ip; + int blocks; + int rsv_blocks; + int revoke_creds; + int type; + char __data[0]; +}; + +struct trace_event_raw_ext4_journal_start_reserved { + struct trace_entry ent; + dev_t dev; + long unsigned int ip; + int blocks; + char __data[0]; +}; + +struct trace_event_raw_ext4_journal_start_sb { + struct trace_entry ent; + dev_t dev; + long unsigned int ip; + int blocks; + int rsv_blocks; + int revoke_creds; + int type; + char __data[0]; +}; + +struct trace_event_raw_ext4_lazy_itable_init { + struct trace_entry ent; + dev_t dev; + __u32 group; + char __data[0]; +}; + +struct trace_event_raw_ext4_load_inode { + struct trace_entry ent; + dev_t dev; + ino_t ino; + char __data[0]; +}; + +struct trace_event_raw_ext4_mark_inode_dirty { + struct trace_entry ent; + dev_t dev; + ino_t ino; + long unsigned int ip; + char __data[0]; +}; + +struct trace_event_raw_ext4_mb_discard_preallocations { + struct trace_entry ent; + dev_t dev; + int needed; + char __data[0]; +}; + +struct trace_event_raw_ext4_mb_release_group_pa { + struct trace_entry ent; + dev_t dev; + __u64 pa_pstart; + __u32 pa_len; + char __data[0]; +}; + +struct trace_event_raw_ext4_mb_release_inode_pa { + struct trace_entry ent; + dev_t dev; + ino_t ino; + __u64 block; + __u32 count; + char __data[0]; +}; + +struct trace_event_raw_ext4_mballoc_alloc { + struct trace_entry ent; + dev_t dev; + ino_t ino; + __u32 orig_logical; + int orig_start; + __u32 orig_group; + int orig_len; + __u32 goal_logical; + int goal_start; + __u32 goal_group; + int goal_len; + __u32 result_logical; + int result_start; + __u32 result_group; + int result_len; + __u16 found; + __u16 groups; + __u16 buddy; + __u16 flags; + __u16 tail; + __u8 cr; + char __data[0]; +}; + +struct trace_event_raw_ext4_mballoc_prealloc { + struct trace_entry ent; + dev_t dev; + ino_t ino; + __u32 orig_logical; + int orig_start; + __u32 orig_group; + int orig_len; + __u32 result_logical; + int result_start; + __u32 result_group; + int result_len; + char __data[0]; +}; + +struct trace_event_raw_ext4_nfs_commit_metadata { + struct trace_entry ent; + dev_t dev; + ino_t ino; + char __data[0]; +}; + +struct trace_event_raw_ext4_other_inode_update_time { + struct trace_entry ent; + dev_t dev; + ino_t ino; + ino_t orig_ino; + uid_t uid; + gid_t gid; + __u16 mode; + char __data[0]; +}; + +struct trace_event_raw_ext4_prefetch_bitmaps { + struct trace_entry ent; + dev_t dev; + __u32 group; + __u32 next; + __u32 ios; + char __data[0]; +}; + +struct trace_event_raw_ext4_read_block_bitmap_load { + struct trace_entry ent; + dev_t dev; + __u32 group; + bool prefetch; + char __data[0]; +}; + +struct trace_event_raw_ext4_remove_blocks { + struct trace_entry ent; + dev_t dev; + ino_t ino; + ext4_lblk_t from; + ext4_lblk_t to; + ext4_fsblk_t ee_pblk; + ext4_lblk_t ee_lblk; + short unsigned int ee_len; + ext4_fsblk_t pc_pclu; + ext4_lblk_t pc_lblk; + int pc_state; + char __data[0]; +}; + +struct trace_event_raw_ext4_request_blocks { + struct trace_entry ent; + dev_t dev; + ino_t ino; + unsigned int len; + __u32 logical; + __u32 lleft; + __u32 lright; + __u64 goal; + __u64 pleft; + __u64 pright; + unsigned int flags; + char __data[0]; +}; + +struct trace_event_raw_ext4_request_inode { + struct trace_entry ent; + dev_t dev; + ino_t dir; + __u16 mode; + char __data[0]; +}; + +struct trace_event_raw_ext4_shutdown { + struct trace_entry ent; + dev_t dev; + unsigned int flags; + char __data[0]; +}; + +struct trace_event_raw_ext4_sync_file_enter { + struct trace_entry ent; + dev_t dev; + ino_t ino; + ino_t parent; + int datasync; + char __data[0]; +}; + +struct trace_event_raw_ext4_sync_file_exit { + struct trace_entry ent; + dev_t dev; + ino_t ino; + int ret; + char __data[0]; +}; + +struct trace_event_raw_ext4_sync_fs { + struct trace_entry ent; + dev_t dev; + int wait; + char __data[0]; +}; + +struct trace_event_raw_ext4_unlink_enter { + struct trace_entry ent; + dev_t dev; + ino_t ino; + ino_t parent; + loff_t size; + char __data[0]; +}; + +struct trace_event_raw_ext4_unlink_exit { + struct trace_entry ent; + dev_t dev; + ino_t ino; + int ret; + char __data[0]; +}; + +struct trace_event_raw_ext4_update_sb { + struct trace_entry ent; + dev_t dev; + ext4_fsblk_t fsblk; + unsigned int flags; + char __data[0]; +}; + +struct trace_event_raw_ext4_writepages { + struct trace_entry ent; + dev_t dev; + ino_t ino; + long int nr_to_write; + long int pages_skipped; + loff_t range_start; + loff_t range_end; + long unsigned int writeback_index; + int sync_mode; + char for_kupdate; + char range_cyclic; + char __data[0]; +}; + +struct trace_event_raw_ext4_writepages_result { + struct trace_entry ent; + dev_t dev; + ino_t ino; + int ret; + int pages_written; + long int pages_skipped; + long unsigned int writeback_index; + int sync_mode; + char __data[0]; +}; + +struct trace_event_raw_extlog_mem_event { + struct trace_entry ent; + u32 err_seq; + u8 etype; + u8 sev; + u64 pa; + u8 pa_mask_lsb; + guid_t fru_id; + u32 __data_loc_fru_text; + struct cper_mem_err_compact data; + char __data[0]; +}; + +struct trace_event_raw_fdb_delete { + struct trace_entry ent; + u32 __data_loc_br_dev; + u32 __data_loc_dev; + unsigned char addr[6]; + u16 vid; + char __data[0]; +}; + +struct trace_event_raw_fib6_table_lookup { + struct trace_entry ent; + u32 tb_id; + int err; + int oif; + int iif; + u32 flowlabel; + __u8 tos; + __u8 scope; + __u8 flags; + __u8 src[16]; + __u8 dst[16]; + u16 sport; + u16 dport; + u8 proto; + u8 rt_type; + char name[16]; + __u8 gw[16]; + char __data[0]; +}; + +struct trace_event_raw_fib_table_lookup { + struct trace_entry ent; + u32 tb_id; + int err; + int oif; + int iif; + u8 proto; + __u8 tos; + __u8 scope; + __u8 flags; + __u8 src[4]; + __u8 dst[4]; + __u8 gw4[4]; + __u8 gw6[16]; + u16 sport; + u16 dport; + char name[16]; + char __data[0]; +}; + +struct trace_event_raw_file_check_and_advance_wb_err { + struct trace_entry ent; + struct file *file; + long unsigned int i_ino; + dev_t s_dev; + errseq_t old; + errseq_t new; + char __data[0]; +}; + +struct trace_event_raw_filelock_lease { + struct trace_entry ent; + struct file_lease *fl; + long unsigned int i_ino; + dev_t s_dev; + struct file_lock_core *blocker; + fl_owner_t owner; + unsigned int flags; + unsigned char type; + long unsigned int break_time; + long unsigned int downgrade_time; + char __data[0]; +}; + +struct trace_event_raw_filelock_lock { + struct trace_entry ent; + struct file_lock *fl; + long unsigned int i_ino; + dev_t s_dev; + struct file_lock_core *blocker; + fl_owner_t owner; + unsigned int pid; + unsigned int flags; + unsigned char type; + loff_t fl_start; + loff_t fl_end; + int ret; + char __data[0]; +}; + +struct trace_event_raw_filemap_set_wb_err { + struct trace_entry ent; + long unsigned int i_ino; + dev_t s_dev; + errseq_t errseq; + char __data[0]; +}; + +struct trace_event_raw_fill_mg_cmtime { + struct trace_entry ent; + dev_t dev; + ino_t ino; + time64_t ctime_s; + time64_t mtime_s; + u32 ctime_ns; + u32 mtime_ns; + u32 gen; + char __data[0]; +}; + +struct trace_event_raw_finish_task_reaping { + struct trace_entry ent; + int pid; + char __data[0]; +}; + +struct trace_event_raw_flush_foreign { + struct trace_entry ent; + char name[32]; + ino_t cgroup_ino; + unsigned int frn_bdi_id; + unsigned int frn_memcg_id; + char __data[0]; +}; + +struct trace_event_raw_free_vmap_area_noflush { + struct trace_entry ent; + long unsigned int va_start; + long unsigned int nr_lazy; + long unsigned int nr_lazy_max; + char __data[0]; +}; + +struct trace_event_raw_fuse_request_end { + struct trace_entry ent; + dev_t connection; + uint64_t unique; + uint32_t len; + int32_t error; + char __data[0]; +}; + +struct trace_event_raw_fuse_request_send { + struct trace_entry ent; + dev_t connection; + uint64_t unique; + enum fuse_opcode opcode; + uint32_t len; + char __data[0]; +}; + +struct trace_event_raw_generic_add_lease { + struct trace_entry ent; + long unsigned int i_ino; + int wcount; + int rcount; + int icount; + dev_t s_dev; + fl_owner_t owner; + unsigned int flags; + unsigned char type; + char __data[0]; +}; + +struct trace_event_raw_global_dirty_state { + struct trace_entry ent; + long unsigned int nr_dirty; + long unsigned int nr_writeback; + long unsigned int background_thresh; + long unsigned int dirty_thresh; + long unsigned int dirty_limit; + long unsigned int nr_dirtied; + long unsigned int nr_written; + char __data[0]; +}; + +struct trace_event_raw_gpio_direction { + struct trace_entry ent; + unsigned int gpio; + int in; + int err; + char __data[0]; +}; + +struct trace_event_raw_gpio_value { + struct trace_entry ent; + unsigned int gpio; + int get; + int value; + char __data[0]; +}; + +struct trace_event_raw_guest_halt_poll_ns { + struct trace_entry ent; + bool grow; + unsigned int new; + unsigned int old; + char __data[0]; +}; + +struct trace_event_raw_handshake_alert_class { + struct trace_entry ent; + __u8 saddr[28]; + __u8 daddr[28]; + unsigned int netns_ino; + long unsigned int level; + long unsigned int description; + char __data[0]; +}; + +struct trace_event_raw_handshake_complete { + struct trace_entry ent; + const void *req; + const void *sk; + int status; + unsigned int netns_ino; + char __data[0]; +}; + +struct trace_event_raw_handshake_error_class { + struct trace_entry ent; + const void *req; + const void *sk; + int err; + unsigned int netns_ino; + char __data[0]; +}; + +struct trace_event_raw_handshake_event_class { + struct trace_entry ent; + const void *req; + const void *sk; + unsigned int netns_ino; + char __data[0]; +}; + +struct trace_event_raw_handshake_fd_class { + struct trace_entry ent; + const void *req; + const void *sk; + int fd; + unsigned int netns_ino; + char __data[0]; +}; + +struct trace_event_raw_hrtimer_class { + struct trace_entry ent; + void *hrtimer; + char __data[0]; +}; + +struct trace_event_raw_hrtimer_expire_entry { + struct trace_entry ent; + void *hrtimer; + s64 now; + void *function; + char __data[0]; +}; + +struct trace_event_raw_hrtimer_setup { + struct trace_entry ent; + void *hrtimer; + clockid_t clockid; + enum hrtimer_mode mode; + char __data[0]; +}; + +struct trace_event_raw_hrtimer_start { + struct trace_entry ent; + void *hrtimer; + void *function; + s64 expires; + s64 softexpires; + enum hrtimer_mode mode; + char __data[0]; +}; + +struct trace_event_raw_hugetlbfs__inode { + struct trace_entry ent; + dev_t dev; + ino_t ino; + __u16 mode; + loff_t size; + unsigned int nlink; + unsigned int seals; + blkcnt_t blocks; + char __data[0]; +}; + +struct trace_event_raw_hugetlbfs_alloc_inode { + struct trace_entry ent; + dev_t dev; + ino_t ino; + ino_t dir; + __u16 mode; + char __data[0]; +}; + +struct trace_event_raw_hugetlbfs_fallocate { + struct trace_entry ent; + dev_t dev; + ino_t ino; + int mode; + loff_t offset; + loff_t len; + loff_t size; + int ret; + char __data[0]; +}; + +struct trace_event_raw_hugetlbfs_setattr { + struct trace_entry ent; + dev_t dev; + ino_t ino; + unsigned int d_len; + u32 __data_loc_d_name; + unsigned int ia_valid; + unsigned int ia_mode; + loff_t old_size; + loff_t ia_size; + char __data[0]; +}; + +struct trace_event_raw_hwmon_attr_class { + struct trace_entry ent; + int index; + u32 __data_loc_attr_name; + long int val; + char __data[0]; +}; + +struct trace_event_raw_hwmon_attr_show_string { + struct trace_entry ent; + int index; + u32 __data_loc_attr_name; + u32 __data_loc_label; + char __data[0]; +}; + +struct trace_event_raw_hyperv_mmu_flush_tlb_multi { + struct trace_entry ent; + unsigned int ncpus; + struct mm_struct *mm; + long unsigned int addr; + long unsigned int end; + char __data[0]; +}; + +struct trace_event_raw_hyperv_nested_flush_guest_mapping { + struct trace_entry ent; + u64 as; + int ret; + char __data[0]; +}; + +struct trace_event_raw_hyperv_nested_flush_guest_mapping_range { + struct trace_entry ent; + u64 as; + int ret; + char __data[0]; +}; + +struct trace_event_raw_hyperv_send_ipi_mask { + struct trace_entry ent; + unsigned int ncpus; + int vector; + char __data[0]; +}; + +struct trace_event_raw_hyperv_send_ipi_one { + struct trace_entry ent; + int cpu; + int vector; + char __data[0]; +}; + +struct trace_event_raw_i2c_read { + struct trace_entry ent; + int adapter_nr; + __u16 msg_nr; + __u16 addr; + __u16 flags; + __u16 len; + char __data[0]; +}; + +struct trace_event_raw_i2c_reply { + struct trace_entry ent; + int adapter_nr; + __u16 msg_nr; + __u16 addr; + __u16 flags; + __u16 len; + u32 __data_loc_buf; + char __data[0]; +}; + +struct trace_event_raw_i2c_result { + struct trace_entry ent; + int adapter_nr; + __u16 nr_msgs; + __s16 ret; + char __data[0]; +}; + +struct trace_event_raw_i2c_slave { + struct trace_entry ent; + int adapter_nr; + int ret; + __u16 addr; + __u16 len; + enum i2c_slave_event event; + __u8 buf[1]; + char __data[0]; +}; + +struct trace_event_raw_i2c_write { + struct trace_entry ent; + int adapter_nr; + __u16 msg_nr; + __u16 addr; + __u16 flags; + __u16 len; + u32 __data_loc_buf; + char __data[0]; +}; + +struct trace_event_raw_icc_set_bw { + struct trace_entry ent; + u32 __data_loc_path_name; + u32 __data_loc_dev; + u32 __data_loc_node_name; + u32 avg_bw; + u32 peak_bw; + u32 node_avg_bw; + u32 node_peak_bw; + char __data[0]; +}; + +struct trace_event_raw_icc_set_bw_end { + struct trace_entry ent; + u32 __data_loc_path_name; + u32 __data_loc_dev; + int ret; + char __data[0]; +}; + +struct trace_event_raw_icmp_send { + struct trace_entry ent; + const void *skbaddr; + int type; + int code; + __u8 saddr[4]; + __u8 daddr[4]; + __u16 sport; + __u16 dport; + short unsigned int ulen; + char __data[0]; +}; + +struct trace_event_raw_inet_sk_error_report { + struct trace_entry ent; + int error; + __u16 sport; + __u16 dport; + __u16 family; + __u16 protocol; + __u8 saddr[4]; + __u8 daddr[4]; + __u8 saddr_v6[16]; + __u8 daddr_v6[16]; + char __data[0]; +}; + +struct trace_event_raw_inet_sock_set_state { + struct trace_entry ent; + const void *skaddr; + int oldstate; + int newstate; + __u16 sport; + __u16 dport; + __u16 family; + __u16 protocol; + __u8 saddr[4]; + __u8 daddr[4]; + __u8 saddr_v6[16]; + __u8 daddr_v6[16]; + char __data[0]; +}; + +typedef int (*initcall_t)(void); + +struct trace_event_raw_initcall_finish { + struct trace_entry ent; + initcall_t func; + int ret; + char __data[0]; +}; + +struct trace_event_raw_initcall_level { + struct trace_entry ent; + u32 __data_loc_level; + char __data[0]; +}; + +struct trace_event_raw_initcall_start { + struct trace_entry ent; + initcall_t func; + char __data[0]; +}; + +struct trace_event_raw_inode_foreign_history { + struct trace_entry ent; + char name[32]; + ino_t ino; + ino_t cgroup_ino; + unsigned int history; + char __data[0]; +}; + +struct trace_event_raw_inode_switch_wbs { + struct trace_entry ent; + char name[32]; + ino_t ino; + ino_t old_cgroup_ino; + ino_t new_cgroup_ino; + char __data[0]; +}; + +struct trace_event_raw_io_uring_complete { + struct trace_entry ent; + void *ctx; + void *req; + u64 user_data; + int res; + unsigned int cflags; + u64 extra1; + u64 extra2; + char __data[0]; +}; + +struct trace_event_raw_io_uring_cqe_overflow { + struct trace_entry ent; + void *ctx; + long long unsigned int user_data; + s32 res; + u32 cflags; + void *ocqe; + char __data[0]; +}; + +struct trace_event_raw_io_uring_cqring_wait { + struct trace_entry ent; + void *ctx; + int min_events; + char __data[0]; +}; + +struct trace_event_raw_io_uring_create { + struct trace_entry ent; + int fd; + void *ctx; + u32 sq_entries; + u32 cq_entries; + u32 flags; + char __data[0]; +}; + +struct trace_event_raw_io_uring_defer { + struct trace_entry ent; + void *ctx; + void *req; + long long unsigned int data; + u8 opcode; + u32 __data_loc_op_str; + char __data[0]; +}; + +struct trace_event_raw_io_uring_fail_link { + struct trace_entry ent; + void *ctx; + void *req; + long long unsigned int user_data; + u8 opcode; + void *link; + u32 __data_loc_op_str; + char __data[0]; +}; + +struct trace_event_raw_io_uring_file_get { + struct trace_entry ent; + void *ctx; + void *req; + u64 user_data; + int fd; + char __data[0]; +}; + +struct trace_event_raw_io_uring_link { + struct trace_entry ent; + void *ctx; + void *req; + void *target_req; + char __data[0]; +}; + +struct trace_event_raw_io_uring_local_work_run { + struct trace_entry ent; + void *ctx; + int count; + unsigned int loops; + char __data[0]; +}; + +struct trace_event_raw_io_uring_poll_arm { + struct trace_entry ent; + void *ctx; + void *req; + long long unsigned int user_data; + u8 opcode; + int mask; + int events; + u32 __data_loc_op_str; + char __data[0]; +}; + +struct trace_event_raw_io_uring_queue_async_work { + struct trace_entry ent; + void *ctx; + void *req; + u64 user_data; + u8 opcode; + long long unsigned int flags; + struct io_wq_work *work; + int rw; + u32 __data_loc_op_str; + char __data[0]; +}; + +struct trace_event_raw_io_uring_register { + struct trace_entry ent; + void *ctx; + unsigned int opcode; + unsigned int nr_files; + unsigned int nr_bufs; + long int ret; + char __data[0]; +}; + +struct trace_event_raw_io_uring_req_failed { + struct trace_entry ent; + void *ctx; + void *req; + long long unsigned int user_data; + u8 opcode; + u8 flags; + u8 ioprio; + u64 off; + u64 addr; + u32 len; + u32 op_flags; + u16 buf_index; + u16 personality; + u32 file_index; + u64 pad1; + u64 addr3; + int error; + u32 __data_loc_op_str; + char __data[0]; +}; + +struct trace_event_raw_io_uring_short_write { + struct trace_entry ent; + void *ctx; + u64 fpos; + u64 wanted; + u64 got; + char __data[0]; +}; + +struct trace_event_raw_io_uring_submit_req { + struct trace_entry ent; + void *ctx; + void *req; + long long unsigned int user_data; + u8 opcode; + long long unsigned int flags; + bool sq_thread; + u32 __data_loc_op_str; + char __data[0]; +}; + +struct trace_event_raw_io_uring_task_add { + struct trace_entry ent; + void *ctx; + void *req; + long long unsigned int user_data; + u8 opcode; + int mask; + u32 __data_loc_op_str; + char __data[0]; +}; + +struct trace_event_raw_io_uring_task_work_run { + struct trace_entry ent; + void *tctx; + unsigned int count; + char __data[0]; +}; + +struct trace_event_raw_iocg_inuse_update { + struct trace_entry ent; + u32 __data_loc_devname; + u32 __data_loc_cgroup; + u64 now; + u32 old_inuse; + u32 new_inuse; + u64 old_hweight_inuse; + u64 new_hweight_inuse; + char __data[0]; +}; + +struct trace_event_raw_iocost_ioc_vrate_adj { + struct trace_entry ent; + u32 __data_loc_devname; + u64 old_vrate; + u64 new_vrate; + int busy_level; + u32 read_missed_ppm; + u32 write_missed_ppm; + u32 rq_wait_pct; + int nr_lagging; + int nr_shortages; + char __data[0]; +}; + +struct trace_event_raw_iocost_iocg_forgive_debt { + struct trace_entry ent; + u32 __data_loc_devname; + u32 __data_loc_cgroup; + u64 now; + u64 vnow; + u32 usage_pct; + u64 old_debt; + u64 new_debt; + u64 old_delay; + u64 new_delay; + char __data[0]; +}; + +struct trace_event_raw_iocost_iocg_state { + struct trace_entry ent; + u32 __data_loc_devname; + u32 __data_loc_cgroup; + u64 now; + u64 vnow; + u64 vrate; + u64 last_period; + u64 cur_period; + u64 vtime; + u32 weight; + u32 inuse; + u64 hweight_active; + u64 hweight_inuse; + char __data[0]; +}; + +struct trace_event_raw_iomap_add_to_ioend { + struct trace_entry ent; + dev_t dev; + u64 ino; + u64 pos; + u64 dirty_len; + u64 addr; + loff_t offset; + u64 length; + u16 type; + u16 flags; + dev_t bdev; + char __data[0]; +}; + +struct trace_event_raw_iomap_class { + struct trace_entry ent; + dev_t dev; + u64 ino; + u64 addr; + loff_t offset; + u64 length; + u16 type; + u16 flags; + dev_t bdev; + char __data[0]; +}; + +struct trace_event_raw_iomap_dio_complete { + struct trace_entry ent; + dev_t dev; + ino_t ino; + loff_t isize; + loff_t pos; + int ki_flags; + bool aio; + int error; + ssize_t ret; + char __data[0]; +}; + +struct trace_event_raw_iomap_dio_rw_begin { + struct trace_entry ent; + dev_t dev; + ino_t ino; + loff_t isize; + loff_t pos; + size_t count; + size_t done_before; + int ki_flags; + unsigned int dio_flags; + bool aio; + char __data[0]; +}; + +struct trace_event_raw_iomap_iter { + struct trace_entry ent; + dev_t dev; + u64 ino; + loff_t pos; + u64 length; + int status; + unsigned int flags; + const void *ops; + long unsigned int caller; + char __data[0]; +}; + +struct trace_event_raw_iomap_range_class { + struct trace_entry ent; + dev_t dev; + u64 ino; + loff_t size; + loff_t offset; + u64 length; + char __data[0]; +}; + +struct trace_event_raw_iomap_readpage_class { + struct trace_entry ent; + dev_t dev; + u64 ino; + int nr_pages; + char __data[0]; +}; + +struct trace_event_raw_iommu_device_event { + struct trace_entry ent; + u32 __data_loc_device; + char __data[0]; +}; + +struct trace_event_raw_iommu_error { + struct trace_entry ent; + u32 __data_loc_device; + u32 __data_loc_driver; + u64 iova; + int flags; + char __data[0]; +}; + +struct trace_event_raw_iommu_group_event { + struct trace_entry ent; + int gid; + u32 __data_loc_device; + char __data[0]; +}; + +struct trace_event_raw_ipi_send_cpu { + struct trace_entry ent; + unsigned int cpu; + void *callsite; + void *callback; + char __data[0]; +}; + +struct trace_event_raw_ipi_send_cpumask { + struct trace_entry ent; + u32 __data_loc_cpumask; + void *callsite; + void *callback; + char __data[0]; +}; + +struct trace_event_raw_irq_handler_entry { + struct trace_entry ent; + int irq; + u32 __data_loc_name; + char __data[0]; +}; + +struct trace_event_raw_irq_handler_exit { + struct trace_entry ent; + int irq; + int ret; + char __data[0]; +}; + +struct trace_event_raw_irq_matrix_cpu { + struct trace_entry ent; + int bit; + unsigned int cpu; + bool online; + unsigned int available; + unsigned int allocated; + unsigned int managed; + unsigned int online_maps; + unsigned int global_available; + unsigned int global_reserved; + unsigned int total_allocated; + char __data[0]; +}; + +struct trace_event_raw_irq_matrix_global { + struct trace_entry ent; + unsigned int online_maps; + unsigned int global_available; + unsigned int global_reserved; + unsigned int total_allocated; + char __data[0]; +}; + +struct trace_event_raw_irq_matrix_global_update { + struct trace_entry ent; + int bit; + unsigned int online_maps; + unsigned int global_available; + unsigned int global_reserved; + unsigned int total_allocated; + char __data[0]; +}; + +struct trace_event_raw_irq_noise { + struct trace_entry ent; + u64 start; + u64 duration; + u32 __data_loc_desc; + int vector; + char __data[0]; +}; + +struct trace_event_raw_itimer_expire { + struct trace_entry ent; + int which; + pid_t pid; + long long unsigned int now; + char __data[0]; +}; + +struct trace_event_raw_itimer_state { + struct trace_entry ent; + int which; + long long unsigned int expires; + long int value_sec; + long int value_nsec; + long int interval_sec; + long int interval_nsec; + char __data[0]; +}; + +struct trace_event_raw_jbd2_checkpoint { + struct trace_entry ent; + dev_t dev; + int result; + char __data[0]; +}; + +struct trace_event_raw_jbd2_checkpoint_stats { + struct trace_entry ent; + dev_t dev; + tid_t tid; + long unsigned int chp_time; + __u32 forced_to_close; + __u32 written; + __u32 dropped; + char __data[0]; +}; + +struct trace_event_raw_jbd2_commit { + struct trace_entry ent; + dev_t dev; + char sync_commit; + tid_t transaction; + char __data[0]; +}; + +struct trace_event_raw_jbd2_end_commit { + struct trace_entry ent; + dev_t dev; + char sync_commit; + tid_t transaction; + tid_t head; + char __data[0]; +}; + +struct trace_event_raw_jbd2_handle_extend { + struct trace_entry ent; + dev_t dev; + tid_t tid; + unsigned int type; + unsigned int line_no; + int buffer_credits; + int requested_blocks; + char __data[0]; +}; + +struct trace_event_raw_jbd2_handle_start_class { + struct trace_entry ent; + dev_t dev; + tid_t tid; + unsigned int type; + unsigned int line_no; + int requested_blocks; + char __data[0]; +}; + +struct trace_event_raw_jbd2_handle_stats { + struct trace_entry ent; + dev_t dev; + tid_t tid; + unsigned int type; + unsigned int line_no; + int interval; + int sync; + int requested_blocks; + int dirtied_blocks; + char __data[0]; +}; + +struct trace_event_raw_jbd2_journal_shrink { + struct trace_entry ent; + dev_t dev; + long unsigned int nr_to_scan; + long unsigned int count; + char __data[0]; +}; + +struct trace_event_raw_jbd2_lock_buffer_stall { + struct trace_entry ent; + dev_t dev; + long unsigned int stall_ms; + char __data[0]; +}; + +struct trace_event_raw_jbd2_run_stats { + struct trace_entry ent; + dev_t dev; + tid_t tid; + long unsigned int wait; + long unsigned int request_delay; + long unsigned int running; + long unsigned int locked; + long unsigned int flushing; + long unsigned int logging; + __u32 handle_count; + __u32 blocks; + __u32 blocks_logged; + char __data[0]; +}; + +struct trace_event_raw_jbd2_shrink_checkpoint_list { + struct trace_entry ent; + dev_t dev; + tid_t first_tid; + tid_t tid; + tid_t last_tid; + long unsigned int nr_freed; + tid_t next_tid; + char __data[0]; +}; + +struct trace_event_raw_jbd2_shrink_scan_exit { + struct trace_entry ent; + dev_t dev; + long unsigned int nr_to_scan; + long unsigned int nr_shrunk; + long unsigned int count; + char __data[0]; +}; + +struct trace_event_raw_jbd2_submit_inode_data { + struct trace_entry ent; + dev_t dev; + ino_t ino; + char __data[0]; +}; + +struct trace_event_raw_jbd2_update_log_tail { + struct trace_entry ent; + dev_t dev; + tid_t tail_sequence; + tid_t first_tid; + long unsigned int block_nr; + long unsigned int freed; + char __data[0]; +}; + +struct trace_event_raw_jbd2_write_superblock { + struct trace_entry ent; + dev_t dev; + blk_opf_t write_flags; + char __data[0]; +}; + +struct trace_event_raw_kcompactd_wake_template { + struct trace_entry ent; + int nid; + int order; + enum zone_type highest_zoneidx; + char __data[0]; +}; + +struct trace_event_raw_kfree { + struct trace_entry ent; + long unsigned int call_site; + const void *ptr; + char __data[0]; +}; + +struct trace_event_raw_kfree_skb { + struct trace_entry ent; + void *skbaddr; + void *location; + void *rx_sk; + short unsigned int protocol; + enum skb_drop_reason reason; + char __data[0]; +}; + +struct trace_event_raw_kmalloc { + struct trace_entry ent; + long unsigned int call_site; + const void *ptr; + size_t bytes_req; + size_t bytes_alloc; + long unsigned int gfp_flags; + int node; + char __data[0]; +}; + +struct trace_event_raw_kmem_cache_alloc { + struct trace_entry ent; + long unsigned int call_site; + const void *ptr; + size_t bytes_req; + size_t bytes_alloc; + long unsigned int gfp_flags; + int node; + bool accounted; + char __data[0]; +}; + +struct trace_event_raw_kmem_cache_free { + struct trace_entry ent; + long unsigned int call_site; + const void *ptr; + u32 __data_loc_name; + char __data[0]; +}; + +struct trace_event_raw_ksm_advisor { + struct trace_entry ent; + s64 scan_time; + long unsigned int pages_to_scan; + unsigned int cpu_percent; + char __data[0]; +}; + +struct trace_event_raw_ksm_enter_exit_template { + struct trace_entry ent; + void *mm; + char __data[0]; +}; + +struct trace_event_raw_ksm_merge_one_page { + struct trace_entry ent; + long unsigned int pfn; + void *rmap_item; + void *mm; + int err; + char __data[0]; +}; + +struct trace_event_raw_ksm_merge_with_ksm_page { + struct trace_entry ent; + void *ksm_page; + long unsigned int pfn; + void *rmap_item; + void *mm; + int err; + char __data[0]; +}; + +struct trace_event_raw_ksm_remove_ksm_page { + struct trace_entry ent; + long unsigned int pfn; + char __data[0]; +}; + +struct trace_event_raw_ksm_remove_rmap_item { + struct trace_entry ent; + long unsigned int pfn; + void *rmap_item; + void *mm; + char __data[0]; +}; + +struct trace_event_raw_ksm_scan_template { + struct trace_entry ent; + int seq; + u32 rmap_entries; + char __data[0]; +}; + +struct trace_event_raw_leases_conflict { + struct trace_entry ent; + void *lease; + void *breaker; + unsigned int l_fl_flags; + unsigned int b_fl_flags; + unsigned char l_fl_type; + unsigned char b_fl_type; + bool conflict; + char __data[0]; +}; + +struct trace_event_raw_locks_get_lock_context { + struct trace_entry ent; + long unsigned int i_ino; + dev_t s_dev; + unsigned char type; + struct file_lock_context *ctx; + char __data[0]; +}; + +struct trace_event_raw_ma_op { + struct trace_entry ent; + const char *fn; + long unsigned int min; + long unsigned int max; + long unsigned int index; + long unsigned int last; + void *node; + char __data[0]; +}; + +struct trace_event_raw_ma_read { + struct trace_entry ent; + const char *fn; + long unsigned int min; + long unsigned int max; + long unsigned int index; + long unsigned int last; + void *node; + char __data[0]; +}; + +struct trace_event_raw_ma_write { + struct trace_entry ent; + const char *fn; + long unsigned int min; + long unsigned int max; + long unsigned int index; + long unsigned int last; + long unsigned int piv; + void *val; + void *node; + char __data[0]; +}; + +struct trace_event_raw_map { + struct trace_entry ent; + u64 iova; + u64 paddr; + size_t size; + char __data[0]; +}; + +struct trace_event_raw_mark_victim { + struct trace_entry ent; + int pid; + u32 __data_loc_comm; + long unsigned int total_vm; + long unsigned int anon_rss; + long unsigned int file_rss; + long unsigned int shmem_rss; + uid_t uid; + long unsigned int pgtables; + short int oom_score_adj; + char __data[0]; +}; + +struct trace_event_raw_mc_event { + struct trace_entry ent; + unsigned int error_type; + u32 __data_loc_msg; + u32 __data_loc_label; + u16 error_count; + u8 mc_index; + s8 top_layer; + s8 middle_layer; + s8 lower_layer; + long int address; + u8 grain_bits; + long int syndrome; + u32 __data_loc_driver_detail; + char __data[0]; +}; + +struct trace_event_raw_mce_record { + struct trace_entry ent; + u64 mcgcap; + u64 mcgstatus; + u64 status; + u64 addr; + u64 misc; + u64 synd; + u64 ipid; + u64 ip; + u64 tsc; + u64 ppin; + u64 walltime; + u32 cpu; + u32 cpuid; + u32 apicid; + u32 socketid; + u8 cs; + u8 bank; + u8 cpuvendor; + u32 microcode; + u32 __data_loc_v_data; + char __data[0]; +}; + +struct trace_event_raw_mctp_key_acquire { + struct trace_entry ent; + __u8 paddr; + __u8 laddr; + __u8 tag; + char __data[0]; +}; + +struct trace_event_raw_mctp_key_release { + struct trace_entry ent; + __u8 paddr; + __u8 laddr; + __u8 tag; + int reason; + char __data[0]; +}; + +struct trace_event_raw_mdio_access { + struct trace_entry ent; + char busid[61]; + char read; + u8 addr; + u16 val; + unsigned int regnum; + char __data[0]; +}; + +struct xdp_mem_allocator; + +struct trace_event_raw_mem_connect { + struct trace_entry ent; + const struct xdp_mem_allocator *xa; + u32 mem_id; + u32 mem_type; + const void *allocator; + const struct xdp_rxq_info *rxq; + int ifindex; + char __data[0]; +}; + +struct trace_event_raw_mem_disconnect { + struct trace_entry ent; + const struct xdp_mem_allocator *xa; + u32 mem_id; + u32 mem_type; + const void *allocator; + char __data[0]; +}; + +struct trace_event_raw_memcg_flush_stats { + struct trace_entry ent; + u64 id; + s64 stats_updates; + bool force; + bool needs_flush; + char __data[0]; +}; + +struct trace_event_raw_memcg_rstat_events { + struct trace_entry ent; + u64 id; + int item; + long unsigned int val; + char __data[0]; +}; + +struct trace_event_raw_memcg_rstat_stats { + struct trace_entry ent; + u64 id; + int item; + int val; + char __data[0]; +}; + +struct trace_event_raw_memory_failure_event { + struct trace_entry ent; + long unsigned int pfn; + int type; + int result; + char __data[0]; +}; + +struct trace_event_raw_migration_pmd { + struct trace_entry ent; + long unsigned int addr; + long unsigned int pmd; + char __data[0]; +}; + +struct trace_event_raw_migration_pte { + struct trace_entry ent; + long unsigned int addr; + long unsigned int pte; + int order; + char __data[0]; +}; + +struct trace_event_raw_mm_calculate_totalreserve_pages { + struct trace_entry ent; + long unsigned int totalreserve_pages; + char __data[0]; +}; + +struct trace_event_raw_mm_collapse_huge_page { + struct trace_entry ent; + struct mm_struct *mm; + int isolated; + int status; + char __data[0]; +}; + +struct trace_event_raw_mm_collapse_huge_page_isolate { + struct trace_entry ent; + long unsigned int pfn; + int none_or_zero; + int referenced; + bool writable; + int status; + char __data[0]; +}; + +struct trace_event_raw_mm_collapse_huge_page_swapin { + struct trace_entry ent; + struct mm_struct *mm; + int swapped_in; + int referenced; + int ret; + char __data[0]; +}; + +struct trace_event_raw_mm_compaction_begin { + struct trace_entry ent; + long unsigned int zone_start; + long unsigned int migrate_pfn; + long unsigned int free_pfn; + long unsigned int zone_end; + bool sync; + char __data[0]; +}; + +struct trace_event_raw_mm_compaction_defer_template { + struct trace_entry ent; + int nid; + enum zone_type idx; + int order; + unsigned int considered; + unsigned int defer_shift; + int order_failed; + char __data[0]; +}; + +struct trace_event_raw_mm_compaction_end { + struct trace_entry ent; + long unsigned int zone_start; + long unsigned int migrate_pfn; + long unsigned int free_pfn; + long unsigned int zone_end; + bool sync; + int status; + char __data[0]; +}; + +struct trace_event_raw_mm_compaction_isolate_template { + struct trace_entry ent; + long unsigned int start_pfn; + long unsigned int end_pfn; + long unsigned int nr_scanned; + long unsigned int nr_taken; + char __data[0]; +}; + +struct trace_event_raw_mm_compaction_kcompactd_sleep { + struct trace_entry ent; + int nid; + char __data[0]; +}; + +struct trace_event_raw_mm_compaction_migratepages { + struct trace_entry ent; + long unsigned int nr_migrated; + long unsigned int nr_failed; + char __data[0]; +}; + +struct trace_event_raw_mm_compaction_suitable_template { + struct trace_entry ent; + int nid; + enum zone_type idx; + int order; + int ret; + char __data[0]; +}; + +struct trace_event_raw_mm_compaction_try_to_compact_pages { + struct trace_entry ent; + int order; + long unsigned int gfp_mask; + int prio; + char __data[0]; +}; + +struct trace_event_raw_mm_filemap_fault { + struct trace_entry ent; + long unsigned int i_ino; + dev_t s_dev; + long unsigned int index; + char __data[0]; +}; + +struct trace_event_raw_mm_filemap_op_page_cache { + struct trace_entry ent; + long unsigned int pfn; + long unsigned int i_ino; + long unsigned int index; + dev_t s_dev; + unsigned char order; + char __data[0]; +}; + +struct trace_event_raw_mm_filemap_op_page_cache_range { + struct trace_entry ent; + long unsigned int i_ino; + dev_t s_dev; + long unsigned int index; + long unsigned int last_index; + char __data[0]; +}; + +struct trace_event_raw_mm_khugepaged_collapse_file { + struct trace_entry ent; + struct mm_struct *mm; + long unsigned int hpfn; + long unsigned int index; + long unsigned int addr; + bool is_shmem; + u32 __data_loc_filename; + int nr; + int result; + char __data[0]; +}; + +struct trace_event_raw_mm_khugepaged_scan_file { + struct trace_entry ent; + struct mm_struct *mm; + long unsigned int pfn; + u32 __data_loc_filename; + int present; + int swap; + int result; + char __data[0]; +}; + +struct trace_event_raw_mm_khugepaged_scan_pmd { + struct trace_entry ent; + struct mm_struct *mm; + long unsigned int pfn; + bool writable; + int referenced; + int none_or_zero; + int status; + int unmapped; + char __data[0]; +}; + +struct trace_event_raw_mm_lru_activate { + struct trace_entry ent; + struct folio *folio; + long unsigned int pfn; + char __data[0]; +}; + +struct trace_event_raw_mm_lru_insertion { + struct trace_entry ent; + struct folio *folio; + long unsigned int pfn; + enum lru_list lru; + long unsigned int flags; + char __data[0]; +}; + +struct trace_event_raw_mm_migrate_pages { + struct trace_entry ent; + long unsigned int succeeded; + long unsigned int failed; + long unsigned int thp_succeeded; + long unsigned int thp_failed; + long unsigned int thp_split; + long unsigned int large_folio_split; + enum migrate_mode mode; + int reason; + char __data[0]; +}; + +struct trace_event_raw_mm_migrate_pages_start { + struct trace_entry ent; + enum migrate_mode mode; + int reason; + char __data[0]; +}; + +struct trace_event_raw_mm_page { + struct trace_entry ent; + long unsigned int pfn; + unsigned int order; + int migratetype; + int percpu_refill; + char __data[0]; +}; + +struct trace_event_raw_mm_page_alloc { + struct trace_entry ent; + long unsigned int pfn; + unsigned int order; + long unsigned int gfp_flags; + int migratetype; + char __data[0]; +}; + +struct trace_event_raw_mm_page_alloc_extfrag { + struct trace_entry ent; + long unsigned int pfn; + int alloc_order; + int fallback_order; + int alloc_migratetype; + int fallback_migratetype; + int change_ownership; + char __data[0]; +}; + +struct trace_event_raw_mm_page_free { + struct trace_entry ent; + long unsigned int pfn; + unsigned int order; + char __data[0]; +}; + +struct trace_event_raw_mm_page_free_batched { + struct trace_entry ent; + long unsigned int pfn; + char __data[0]; +}; + +struct trace_event_raw_mm_page_pcpu_drain { + struct trace_entry ent; + long unsigned int pfn; + unsigned int order; + int migratetype; + char __data[0]; +}; + +struct trace_event_raw_mm_setup_per_zone_lowmem_reserve { + struct trace_entry ent; + int node_id; + u32 __data_loc_name; + u32 __data_loc_upper_name; + long int lowmem_reserve; + char __data[0]; +}; + +struct trace_event_raw_mm_setup_per_zone_wmarks { + struct trace_entry ent; + int node_id; + u32 __data_loc_name; + long unsigned int watermark_min; + long unsigned int watermark_low; + long unsigned int watermark_high; + long unsigned int watermark_promo; + char __data[0]; +}; + +struct trace_event_raw_mm_shrink_slab_end { + struct trace_entry ent; + struct shrinker *shr; + int nid; + void *shrink; + long int unused_scan; + long int new_scan; + int retval; + long int total_scan; + char __data[0]; +}; + +struct trace_event_raw_mm_shrink_slab_start { + struct trace_entry ent; + struct shrinker *shr; + void *shrink; + int nid; + long int nr_objects_to_shrink; + long unsigned int gfp_flags; + long unsigned int cache_items; + long long unsigned int delta; + long unsigned int total_scan; + int priority; + char __data[0]; +}; + +struct trace_event_raw_mm_vmscan_direct_reclaim_begin_template { + struct trace_entry ent; + int order; + long unsigned int gfp_flags; + char __data[0]; +}; + +struct trace_event_raw_mm_vmscan_direct_reclaim_end_template { + struct trace_entry ent; + long unsigned int nr_reclaimed; + char __data[0]; +}; + +struct trace_event_raw_mm_vmscan_kswapd_sleep { + struct trace_entry ent; + int nid; + char __data[0]; +}; + +struct trace_event_raw_mm_vmscan_kswapd_wake { + struct trace_entry ent; + int nid; + int zid; + int order; + char __data[0]; +}; + +struct trace_event_raw_mm_vmscan_lru_isolate { + struct trace_entry ent; + int highest_zoneidx; + int order; + long unsigned int nr_requested; + long unsigned int nr_scanned; + long unsigned int nr_skipped; + long unsigned int nr_taken; + int lru; + char __data[0]; +}; + +struct trace_event_raw_mm_vmscan_lru_shrink_active { + struct trace_entry ent; + int nid; + long unsigned int nr_taken; + long unsigned int nr_active; + long unsigned int nr_deactivated; + long unsigned int nr_referenced; + int priority; + int reclaim_flags; + char __data[0]; +}; + +struct trace_event_raw_mm_vmscan_lru_shrink_inactive { + struct trace_entry ent; + int nid; + long unsigned int nr_scanned; + long unsigned int nr_reclaimed; + long unsigned int nr_dirty; + long unsigned int nr_writeback; + long unsigned int nr_congested; + long unsigned int nr_immediate; + unsigned int nr_activate0; + unsigned int nr_activate1; + long unsigned int nr_ref_keep; + long unsigned int nr_unmap_fail; + int priority; + int reclaim_flags; + char __data[0]; +}; + +struct trace_event_raw_mm_vmscan_node_reclaim_begin { + struct trace_entry ent; + int nid; + int order; + long unsigned int gfp_flags; + char __data[0]; +}; + +struct trace_event_raw_mm_vmscan_reclaim_pages { + struct trace_entry ent; + int nid; + long unsigned int nr_scanned; + long unsigned int nr_reclaimed; + long unsigned int nr_dirty; + long unsigned int nr_writeback; + long unsigned int nr_congested; + long unsigned int nr_immediate; + unsigned int nr_activate0; + unsigned int nr_activate1; + long unsigned int nr_ref_keep; + long unsigned int nr_unmap_fail; + char __data[0]; +}; + +struct trace_event_raw_mm_vmscan_throttled { + struct trace_entry ent; + int nid; + int usec_timeout; + int usec_delayed; + int reason; + char __data[0]; +}; + +struct trace_event_raw_mm_vmscan_wakeup_kswapd { + struct trace_entry ent; + int nid; + int zid; + int order; + long unsigned int gfp_flags; + char __data[0]; +}; + +struct trace_event_raw_mm_vmscan_write_folio { + struct trace_entry ent; + long unsigned int pfn; + int reclaim_flags; + char __data[0]; +}; + +struct trace_event_raw_mmap_lock { + struct trace_entry ent; + struct mm_struct *mm; + u64 memcg_id; + bool write; + char __data[0]; +}; + +struct trace_event_raw_mmap_lock_acquire_returned { + struct trace_entry ent; + struct mm_struct *mm; + u64 memcg_id; + bool write; + bool success; + char __data[0]; +}; + +struct trace_event_raw_mmc_request_done { + struct trace_entry ent; + u32 cmd_opcode; + int cmd_err; + u32 cmd_resp[4]; + unsigned int cmd_retries; + u32 stop_opcode; + int stop_err; + u32 stop_resp[4]; + unsigned int stop_retries; + u32 sbc_opcode; + int sbc_err; + u32 sbc_resp[4]; + unsigned int sbc_retries; + unsigned int bytes_xfered; + int data_err; + int tag; + unsigned int can_retune; + unsigned int doing_retune; + unsigned int retune_now; + int need_retune; + int hold_retune; + unsigned int retune_period; + struct mmc_request *mrq; + u32 __data_loc_name; + char __data[0]; +}; + +struct trace_event_raw_mmc_request_start { + struct trace_entry ent; + u32 cmd_opcode; + u32 cmd_arg; + unsigned int cmd_flags; + unsigned int cmd_retries; + u32 stop_opcode; + u32 stop_arg; + unsigned int stop_flags; + unsigned int stop_retries; + u32 sbc_opcode; + u32 sbc_arg; + unsigned int sbc_flags; + unsigned int sbc_retries; + unsigned int blocks; + unsigned int blk_addr; + unsigned int blksz; + unsigned int data_flags; + int tag; + unsigned int can_retune; + unsigned int doing_retune; + unsigned int retune_now; + int need_retune; + int hold_retune; + unsigned int retune_period; + struct mmc_request *mrq; + u32 __data_loc_name; + char __data[0]; +}; + +struct trace_event_raw_module_free { + struct trace_entry ent; + u32 __data_loc_name; + char __data[0]; +}; + +struct trace_event_raw_module_load { + struct trace_entry ent; + unsigned int taints; + u32 __data_loc_name; + char __data[0]; +}; + +struct trace_event_raw_module_refcnt { + struct trace_entry ent; + long unsigned int ip; + int refcnt; + u32 __data_loc_name; + char __data[0]; +}; + +struct trace_event_raw_module_request { + struct trace_entry ent; + long unsigned int ip; + bool wait; + u32 __data_loc_name; + char __data[0]; +}; + +struct trace_event_raw_mon_llc_occupancy_limbo { + struct trace_entry ent; + u32 ctrl_hw_id; + u32 mon_hw_id; + int domain_id; + u64 llc_occupancy_bytes; + char __data[0]; +}; + +struct trace_event_raw_mptcp_dump_mpext { + struct trace_entry ent; + u64 data_ack; + u64 data_seq; + u32 subflow_seq; + u16 data_len; + u16 csum; + u8 use_map; + u8 dsn64; + u8 data_fin; + u8 use_ack; + u8 ack64; + u8 mpc_map; + u8 frozen; + u8 reset_transient; + u8 reset_reason; + u8 csum_reqd; + u8 infinite_map; + char __data[0]; +}; + +struct trace_event_raw_mptcp_subflow_get_send { + struct trace_entry ent; + bool active; + bool free; + u32 snd_wnd; + u32 pace; + u8 backup; + u64 ratio; + char __data[0]; +}; + +struct trace_event_raw_msr_trace_class { + struct trace_entry ent; + unsigned int msr; + u64 val; + int failed; + char __data[0]; +}; + +struct trace_event_raw_napi_poll { + struct trace_entry ent; + struct napi_struct *napi; + u32 __data_loc_dev_name; + int work; + int budget; + char __data[0]; +}; + +struct trace_event_raw_neigh__update { + struct trace_entry ent; + u32 family; + u32 __data_loc_dev; + u8 lladdr[32]; + u8 lladdr_len; + u8 flags; + u8 nud_state; + u8 type; + u8 dead; + int refcnt; + __u8 primary_key4[4]; + __u8 primary_key6[16]; + long unsigned int confirmed; + long unsigned int updated; + long unsigned int used; + u32 err; + char __data[0]; +}; + +struct trace_event_raw_neigh_create { + struct trace_entry ent; + u32 family; + u32 __data_loc_dev; + int entries; + u8 created; + u8 gc_exempt; + u8 primary_key4[4]; + u8 primary_key6[16]; + char __data[0]; +}; + +struct trace_event_raw_neigh_update { + struct trace_entry ent; + u32 family; + u32 __data_loc_dev; + u8 lladdr[32]; + u8 lladdr_len; + u8 flags; + u8 nud_state; + u8 type; + u8 dead; + int refcnt; + __u8 primary_key4[4]; + __u8 primary_key6[16]; + long unsigned int confirmed; + long unsigned int updated; + long unsigned int used; + u8 new_lladdr[32]; + u8 new_state; + u32 update_flags; + u32 pid; + char __data[0]; +}; + +struct trace_event_raw_net_dev_rx_exit_template { + struct trace_entry ent; + int ret; + char __data[0]; +}; + +struct trace_event_raw_net_dev_rx_verbose_template { + struct trace_entry ent; + u32 __data_loc_name; + unsigned int napi_id; + u16 queue_mapping; + const void *skbaddr; + bool vlan_tagged; + u16 vlan_proto; + u16 vlan_tci; + u16 protocol; + u8 ip_summed; + u32 hash; + bool l4_hash; + unsigned int len; + unsigned int data_len; + unsigned int truesize; + bool mac_header_valid; + int mac_header; + unsigned char nr_frags; + u16 gso_size; + u16 gso_type; + char __data[0]; +}; + +struct trace_event_raw_net_dev_start_xmit { + struct trace_entry ent; + u32 __data_loc_name; + u16 queue_mapping; + const void *skbaddr; + bool vlan_tagged; + u16 vlan_proto; + u16 vlan_tci; + u16 protocol; + u8 ip_summed; + unsigned int len; + unsigned int data_len; + int network_offset; + bool transport_offset_valid; + int transport_offset; + u8 tx_flags; + u16 gso_size; + u16 gso_segs; + u16 gso_type; + char __data[0]; +}; + +struct trace_event_raw_net_dev_template { + struct trace_entry ent; + void *skbaddr; + unsigned int len; + u32 __data_loc_name; + char __data[0]; +}; + +struct trace_event_raw_net_dev_xmit { + struct trace_entry ent; + void *skbaddr; + unsigned int len; + int rc; + u32 __data_loc_name; + char __data[0]; +}; + +struct trace_event_raw_net_dev_xmit_timeout { + struct trace_entry ent; + u32 __data_loc_name; + u32 __data_loc_driver; + int queue_index; + char __data[0]; +}; + +struct trace_event_raw_netlink_extack { + struct trace_entry ent; + u32 __data_loc_msg; + char __data[0]; +}; + +struct trace_event_raw_nmi_handler { + struct trace_entry ent; + void *handler; + s64 delta_ns; + int handled; + char __data[0]; +}; + +struct trace_event_raw_nmi_noise { + struct trace_entry ent; + u64 start; + u64 duration; + char __data[0]; +}; + +struct trace_event_raw_non_standard_event { + struct trace_entry ent; + char sec_type[16]; + char fru_id[16]; + u32 __data_loc_fru_text; + u8 sev; + u32 len; + u32 __data_loc_buf; + char __data[0]; +}; + +struct trace_event_raw_notifier_info { + struct trace_entry ent; + void *cb; + char __data[0]; +}; + +struct trace_event_raw_oom_score_adj_update { + struct trace_entry ent; + pid_t pid; + char comm[16]; + short int oom_score_adj; + char __data[0]; +}; + +struct trace_event_raw_osnoise_sample { + struct trace_entry ent; + u64 runtime; + u64 noise; + u64 max_sample; + int hw_count; + int irq_count; + int nmi_count; + int softirq_count; + int thread_count; + char __data[0]; +}; + +struct trace_event_raw_page_pool_release { + struct trace_entry ent; + const struct page_pool *pool; + s32 inflight; + u32 hold; + u32 release; + u64 cnt; + char __data[0]; +}; + +struct trace_event_raw_page_pool_state_hold { + struct trace_entry ent; + const struct page_pool *pool; + long unsigned int netmem; + u32 hold; + long unsigned int pfn; + char __data[0]; +}; + +struct trace_event_raw_page_pool_state_release { + struct trace_entry ent; + const struct page_pool *pool; + long unsigned int netmem; + u32 release; + long unsigned int pfn; + char __data[0]; +}; + +struct trace_event_raw_page_pool_update_nid { + struct trace_entry ent; + const struct page_pool *pool; + int pool_nid; + int new_nid; + char __data[0]; +}; + +struct trace_event_raw_percpu_alloc_percpu { + struct trace_entry ent; + long unsigned int call_site; + bool reserved; + bool is_atomic; + size_t size; + size_t align; + void *base_addr; + int off; + void *ptr; + size_t bytes_alloc; + long unsigned int gfp_flags; + char __data[0]; +}; + +struct trace_event_raw_percpu_alloc_percpu_fail { + struct trace_entry ent; + bool reserved; + bool is_atomic; + size_t size; + size_t align; + char __data[0]; +}; + +struct trace_event_raw_percpu_create_chunk { + struct trace_entry ent; + void *base_addr; + char __data[0]; +}; + +struct trace_event_raw_percpu_destroy_chunk { + struct trace_entry ent; + void *base_addr; + char __data[0]; +}; + +struct trace_event_raw_percpu_free_percpu { + struct trace_entry ent; + void *base_addr; + int off; + void *ptr; + char __data[0]; +}; + +struct trace_event_raw_pm_qos_update { + struct trace_entry ent; + enum pm_qos_req_action action; + int prev_value; + int curr_value; + char __data[0]; +}; + +struct trace_event_raw_prq_report { + struct trace_entry ent; + u64 dw0; + u64 dw1; + u64 dw2; + u64 dw3; + long unsigned int seq; + u32 __data_loc_iommu; + u32 __data_loc_dev; + u32 __data_loc_buff; + char __data[0]; +}; + +struct trace_event_raw_pseudo_lock_l2 { + struct trace_entry ent; + u64 l2_hits; + u64 l2_miss; + char __data[0]; +}; + +struct trace_event_raw_pseudo_lock_l3 { + struct trace_entry ent; + u64 l3_hits; + u64 l3_miss; + char __data[0]; +}; + +struct trace_event_raw_pseudo_lock_mem_latency { + struct trace_entry ent; + u32 latency; + char __data[0]; +}; + +struct trace_event_raw_pstate_sample { + struct trace_entry ent; + u32 core_busy; + u32 scaled_busy; + u32 from; + u32 to; + u64 mperf; + u64 aperf; + u64 tsc; + u32 freq; + u32 io_boost; + char __data[0]; +}; + +struct trace_event_raw_purge_vmap_area_lazy { + struct trace_entry ent; + long unsigned int start; + long unsigned int end; + unsigned int npurged; + char __data[0]; +}; + +struct trace_event_raw_pwm { + struct trace_entry ent; + unsigned int chipid; + unsigned int hwpwm; + u64 period; + u64 duty_cycle; + enum pwm_polarity polarity; + bool enabled; + int err; + char __data[0]; +}; + +struct trace_event_raw_pwm_read_waveform { + struct trace_entry ent; + unsigned int chipid; + unsigned int hwpwm; + void *wfhw; + int err; + char __data[0]; +}; + +struct trace_event_raw_pwm_round_waveform_fromhw { + struct trace_entry ent; + unsigned int chipid; + unsigned int hwpwm; + const void *wfhw; + u64 wf_period_length_ns; + u64 wf_duty_length_ns; + u64 wf_duty_offset_ns; + int err; + char __data[0]; +}; + +struct trace_event_raw_pwm_round_waveform_tohw { + struct trace_entry ent; + unsigned int chipid; + unsigned int hwpwm; + u64 wf_period_length_ns; + u64 wf_duty_length_ns; + u64 wf_duty_offset_ns; + void *wfhw; + int err; + char __data[0]; +}; + +struct trace_event_raw_pwm_write_waveform { + struct trace_entry ent; + unsigned int chipid; + unsigned int hwpwm; + const void *wfhw; + int err; + char __data[0]; +}; + +struct trace_event_raw_qdisc_create { + struct trace_entry ent; + u32 __data_loc_dev; + u32 __data_loc_kind; + u32 parent; + char __data[0]; +}; + +struct trace_event_raw_qdisc_dequeue { + struct trace_entry ent; + struct Qdisc *qdisc; + const struct netdev_queue *txq; + int packets; + void *skbaddr; + int ifindex; + u32 handle; + u32 parent; + long unsigned int txq_state; + char __data[0]; +}; + +struct trace_event_raw_qdisc_destroy { + struct trace_entry ent; + u32 __data_loc_dev; + u32 __data_loc_kind; + u32 parent; + u32 handle; + char __data[0]; +}; + +struct trace_event_raw_qdisc_enqueue { + struct trace_entry ent; + struct Qdisc *qdisc; + const struct netdev_queue *txq; + void *skbaddr; + int ifindex; + u32 handle; + u32 parent; + char __data[0]; +}; + +struct trace_event_raw_qdisc_reset { + struct trace_entry ent; + u32 __data_loc_dev; + u32 __data_loc_kind; + u32 parent; + u32 handle; + char __data[0]; +}; + +struct trace_event_raw_qi_submit { + struct trace_entry ent; + u64 qw0; + u64 qw1; + u64 qw2; + u64 qw3; + u32 __data_loc_iommu; + char __data[0]; +}; + +struct trace_event_raw_rcu_stall_warning { + struct trace_entry ent; + const char *rcuname; + const char *msg; + char __data[0]; +}; + +struct trace_event_raw_rcu_utilization { + struct trace_entry ent; + const char *s; + char __data[0]; +}; + +struct trace_event_raw_reclaim_retry_zone { + struct trace_entry ent; + int node; + int zone_idx; + int order; + long unsigned int reclaimable; + long unsigned int available; + long unsigned int min_wmark; + int no_progress_loops; + bool wmark_check; + char __data[0]; +}; + +struct trace_event_raw_regcache_drop_region { + struct trace_entry ent; + u32 __data_loc_name; + unsigned int from; + unsigned int to; + char __data[0]; +}; + +struct trace_event_raw_regcache_sync { + struct trace_entry ent; + u32 __data_loc_name; + u32 __data_loc_status; + u32 __data_loc_type; + char __data[0]; +}; + +struct trace_event_raw_regmap_async { + struct trace_entry ent; + u32 __data_loc_name; + char __data[0]; +}; + +struct trace_event_raw_regmap_block { + struct trace_entry ent; + u32 __data_loc_name; + unsigned int reg; + int count; + char __data[0]; +}; + +struct trace_event_raw_regmap_bool { + struct trace_entry ent; + u32 __data_loc_name; + int flag; + char __data[0]; +}; + +struct trace_event_raw_regmap_bulk { + struct trace_entry ent; + u32 __data_loc_name; + unsigned int reg; + u32 __data_loc_buf; + int val_len; + char __data[0]; +}; + +struct trace_event_raw_regmap_reg { + struct trace_entry ent; + u32 __data_loc_name; + unsigned int reg; + unsigned int val; + char __data[0]; +}; + +struct trace_event_raw_regulator_basic { + struct trace_entry ent; + u32 __data_loc_name; + char __data[0]; +}; + +struct trace_event_raw_regulator_range { + struct trace_entry ent; + u32 __data_loc_name; + int min; + int max; + char __data[0]; +}; + +struct trace_event_raw_regulator_value { + struct trace_entry ent; + u32 __data_loc_name; + unsigned int val; + char __data[0]; +}; + +struct trace_event_raw_rpm_internal { + struct trace_entry ent; + u32 __data_loc_name; + int flags; + int usage_count; + int disable_depth; + int runtime_auto; + int request_pending; + int irq_safe; + int child_count; + char __data[0]; +}; + +struct trace_event_raw_rpm_return_int { + struct trace_entry ent; + u32 __data_loc_name; + long unsigned int ip; + int ret; + char __data[0]; +}; + +struct trace_event_raw_rpm_status { + struct trace_entry ent; + u32 __data_loc_name; + int status; + char __data[0]; +}; + +struct trace_event_raw_rseq_ip_fixup { + struct trace_entry ent; + long unsigned int regs_ip; + long unsigned int start_ip; + long unsigned int post_commit_offset; + long unsigned int abort_ip; + char __data[0]; +}; + +struct trace_event_raw_rseq_update { + struct trace_entry ent; + s32 cpu_id; + s32 node_id; + s32 mm_cid; + char __data[0]; +}; + +struct trace_event_raw_rss_stat { + struct trace_entry ent; + unsigned int mm_id; + unsigned int curr; + int member; + long int size; + char __data[0]; +}; + +struct trace_event_raw_rtc_alarm_irq_enable { + struct trace_entry ent; + unsigned int enabled; + int err; + char __data[0]; +}; + +struct trace_event_raw_rtc_irq_set_freq { + struct trace_entry ent; + int freq; + int err; + char __data[0]; +}; + +struct trace_event_raw_rtc_irq_set_state { + struct trace_entry ent; + int enabled; + int err; + char __data[0]; +}; + +struct trace_event_raw_rtc_offset_class { + struct trace_entry ent; + long int offset; + int err; + char __data[0]; +}; + +struct trace_event_raw_rtc_time_alarm_class { + struct trace_entry ent; + time64_t secs; + int err; + char __data[0]; +}; + +struct trace_event_raw_rtc_timer_class { + struct trace_entry ent; + struct rtc_timer *timer; + ktime_t expires; + ktime_t period; + char __data[0]; +}; + +struct trace_event_raw_rv_retries_error { + struct trace_entry ent; + u32 __data_loc_name; + u32 __data_loc_event; + char __data[0]; +}; + +struct trace_event_raw_sample_threshold { + struct trace_entry ent; + u64 start; + u64 duration; + u64 interference; + char __data[0]; +}; + +struct trace_event_raw_sched_ext_dump { + struct trace_entry ent; + u32 __data_loc_line; + char __data[0]; +}; + +struct trace_event_raw_sched_ext_event { + struct trace_entry ent; + u32 __data_loc_name; + __s64 delta; + char __data[0]; +}; + +struct trace_event_raw_sched_kthread_stop { + struct trace_entry ent; + u32 __data_loc_comm; + pid_t pid; + char __data[0]; +}; + +struct trace_event_raw_sched_kthread_stop_ret { + struct trace_entry ent; + int ret; + char __data[0]; +}; + +struct trace_event_raw_sched_kthread_work_execute_end { + struct trace_entry ent; + void *work; + void *function; + char __data[0]; +}; + +struct trace_event_raw_sched_kthread_work_execute_start { + struct trace_entry ent; + void *work; + void *function; + char __data[0]; +}; + +struct trace_event_raw_sched_kthread_work_queue_work { + struct trace_entry ent; + void *work; + void *function; + void *worker; + char __data[0]; +}; + +struct trace_event_raw_sched_migrate_task { + struct trace_entry ent; + u32 __data_loc_comm; + pid_t pid; + int prio; + int orig_cpu; + int dest_cpu; + char __data[0]; +}; + +struct trace_event_raw_sched_move_numa { + struct trace_entry ent; + pid_t pid; + pid_t tgid; + pid_t ngid; + int src_cpu; + int src_nid; + int dst_cpu; + int dst_nid; + char __data[0]; +}; + +struct trace_event_raw_sched_numa_pair_template { + struct trace_entry ent; + pid_t src_pid; + pid_t src_tgid; + pid_t src_ngid; + int src_cpu; + int src_nid; + pid_t dst_pid; + pid_t dst_tgid; + pid_t dst_ngid; + int dst_cpu; + int dst_nid; + char __data[0]; +}; + +struct trace_event_raw_sched_pi_setprio { + struct trace_entry ent; + u32 __data_loc_comm; + pid_t pid; + int oldprio; + int newprio; + char __data[0]; +}; + +struct trace_event_raw_sched_prepare_exec { + struct trace_entry ent; + u32 __data_loc_interp; + u32 __data_loc_filename; + pid_t pid; + u32 __data_loc_comm; + char __data[0]; +}; + +struct trace_event_raw_sched_process_exec { + struct trace_entry ent; + u32 __data_loc_filename; + pid_t pid; + pid_t old_pid; + char __data[0]; +}; + +struct trace_event_raw_sched_process_exit { + struct trace_entry ent; + char comm[16]; + pid_t pid; + int prio; + bool group_dead; + char __data[0]; +}; + +struct trace_event_raw_sched_process_fork { + struct trace_entry ent; + u32 __data_loc_parent_comm; + pid_t parent_pid; + u32 __data_loc_child_comm; + pid_t child_pid; + char __data[0]; +}; + +struct trace_event_raw_sched_process_hang { + struct trace_entry ent; + u32 __data_loc_comm; + pid_t pid; + char __data[0]; +}; + +struct trace_event_raw_sched_process_template { + struct trace_entry ent; + u32 __data_loc_comm; + pid_t pid; + int prio; + char __data[0]; +}; + +struct trace_event_raw_sched_process_wait { + struct trace_entry ent; + u32 __data_loc_comm; + pid_t pid; + int prio; + char __data[0]; +}; + +struct trace_event_raw_sched_skip_cpuset_numa { + struct trace_entry ent; + char comm[16]; + pid_t pid; + pid_t tgid; + pid_t ngid; + long unsigned int mem_allowed[16]; + char __data[0]; +}; + +struct trace_event_raw_sched_skip_vma_numa { + struct trace_entry ent; + long unsigned int numa_scan_offset; + long unsigned int vm_start; + long unsigned int vm_end; + enum numa_vmaskip_reason reason; + char __data[0]; +}; + +struct trace_event_raw_sched_stat_runtime { + struct trace_entry ent; + u32 __data_loc_comm; + pid_t pid; + u64 runtime; + char __data[0]; +}; + +struct trace_event_raw_sched_stat_template { + struct trace_entry ent; + u32 __data_loc_comm; + pid_t pid; + u64 delay; + char __data[0]; +}; + +struct trace_event_raw_sched_switch { + struct trace_entry ent; + char prev_comm[16]; + pid_t prev_pid; + int prev_prio; + long int prev_state; + char next_comm[16]; + pid_t next_pid; + int next_prio; + char __data[0]; +}; + +struct trace_event_raw_sched_wake_idle_without_ipi { + struct trace_entry ent; + int cpu; + char __data[0]; +}; + +struct trace_event_raw_sched_wakeup_template { + struct trace_entry ent; + char comm[16]; + pid_t pid; + int prio; + int target_cpu; + char __data[0]; +}; + +struct trace_event_raw_scsi_cmd_done_timeout_template { + struct trace_entry ent; + unsigned int host_no; + unsigned int channel; + unsigned int id; + unsigned int lun; + int result; + unsigned int opcode; + unsigned int cmd_len; + int driver_tag; + int scheduler_tag; + unsigned int data_sglen; + unsigned int prot_sglen; + unsigned char prot_op; + u32 __data_loc_cmnd; + u8 sense_key; + u8 asc; + u8 ascq; + char __data[0]; +}; + +struct trace_event_raw_scsi_dispatch_cmd_error { + struct trace_entry ent; + unsigned int host_no; + unsigned int channel; + unsigned int id; + unsigned int lun; + int rtn; + unsigned int opcode; + unsigned int cmd_len; + int driver_tag; + int scheduler_tag; + unsigned int data_sglen; + unsigned int prot_sglen; + unsigned char prot_op; + u32 __data_loc_cmnd; + char __data[0]; +}; + +struct trace_event_raw_scsi_dispatch_cmd_start { + struct trace_entry ent; + unsigned int host_no; + unsigned int channel; + unsigned int id; + unsigned int lun; + unsigned int opcode; + unsigned int cmd_len; + int driver_tag; + int scheduler_tag; + unsigned int data_sglen; + unsigned int prot_sglen; + unsigned char prot_op; + u32 __data_loc_cmnd; + char __data[0]; +}; + +struct trace_event_raw_scsi_eh_wakeup { + struct trace_entry ent; + unsigned int host_no; + char __data[0]; +}; + +struct trace_event_raw_scsi_prepare_zone_append { + struct trace_entry ent; + unsigned int host_no; + unsigned int channel; + unsigned int id; + unsigned int lun; + sector_t lba; + unsigned int wp_offset; + char __data[0]; +}; + +struct trace_event_raw_scsi_zone_wp_update { + struct trace_entry ent; + unsigned int host_no; + unsigned int channel; + unsigned int id; + unsigned int lun; + sector_t rq_sector; + unsigned int wp_offset; + unsigned int good_bytes; + char __data[0]; +}; + +struct trace_event_raw_selinux_audited { + struct trace_entry ent; + u32 requested; + u32 denied; + u32 audited; + int result; + u32 __data_loc_scontext; + u32 __data_loc_tcontext; + u32 __data_loc_tclass; + char __data[0]; +}; + +struct trace_event_raw_signal_deliver { + struct trace_entry ent; + int sig; + int errno; + int code; + long unsigned int sa_handler; + long unsigned int sa_flags; + char __data[0]; +}; + +struct trace_event_raw_signal_generate { + struct trace_entry ent; + int sig; + int errno; + int code; + char comm[16]; + pid_t pid; + int group; + int result; + char __data[0]; +}; + +struct trace_event_raw_sk_data_ready { + struct trace_entry ent; + const void *skaddr; + __u16 family; + __u16 protocol; + long unsigned int ip; + char __data[0]; +}; + +struct trace_event_raw_skb_copy_datagram_iovec { + struct trace_entry ent; + const void *skbaddr; + int len; + char __data[0]; +}; + +struct trace_event_raw_skip_task_reaping { + struct trace_entry ent; + int pid; + char __data[0]; +}; + +struct trace_event_raw_smbus_read { + struct trace_entry ent; + int adapter_nr; + __u16 flags; + __u16 addr; + __u8 command; + __u32 protocol; + __u8 buf[34]; + char __data[0]; +}; + +struct trace_event_raw_smbus_reply { + struct trace_entry ent; + int adapter_nr; + __u16 addr; + __u16 flags; + __u8 command; + __u8 len; + __u32 protocol; + __u8 buf[34]; + char __data[0]; +}; + +struct trace_event_raw_smbus_result { + struct trace_entry ent; + int adapter_nr; + __u16 addr; + __u16 flags; + __u8 read_write; + __u8 command; + __s16 res; + __u32 protocol; + char __data[0]; +}; + +struct trace_event_raw_smbus_write { + struct trace_entry ent; + int adapter_nr; + __u16 addr; + __u16 flags; + __u8 command; + __u8 len; + __u32 protocol; + __u8 buf[34]; + char __data[0]; +}; + +struct trace_event_raw_sock_exceed_buf_limit { + struct trace_entry ent; + char name[32]; + long int sysctl_mem[3]; + long int allocated; + int sysctl_rmem; + int rmem_alloc; + int sysctl_wmem; + int wmem_alloc; + int wmem_queued; + int kind; + char __data[0]; +}; + +struct trace_event_raw_sock_msg_length { + struct trace_entry ent; + void *sk; + __u16 family; + __u16 protocol; + int ret; + int flags; + char __data[0]; +}; + +struct trace_event_raw_sock_rcvqueue_full { + struct trace_entry ent; + int rmem_alloc; + unsigned int truesize; + int sk_rcvbuf; + char __data[0]; +}; + +struct trace_event_raw_softirq { + struct trace_entry ent; + unsigned int vec; + char __data[0]; +}; + +struct trace_event_raw_softirq_noise { + struct trace_entry ent; + u64 start; + u64 duration; + int vector; + char __data[0]; +}; + +struct trace_event_raw_spi_controller { + struct trace_entry ent; + int bus_num; + char __data[0]; +}; + +struct trace_event_raw_spi_message { + struct trace_entry ent; + int bus_num; + int chip_select; + struct spi_message *msg; + char __data[0]; +}; + +struct trace_event_raw_spi_message_done { + struct trace_entry ent; + int bus_num; + int chip_select; + struct spi_message *msg; + unsigned int frame; + unsigned int actual; + char __data[0]; +}; + +struct trace_event_raw_spi_set_cs { + struct trace_entry ent; + int bus_num; + int chip_select; + long unsigned int mode; + bool enable; + char __data[0]; +}; + +struct trace_event_raw_spi_setup { + struct trace_entry ent; + int bus_num; + int chip_select; + long unsigned int mode; + unsigned int bits_per_word; + unsigned int max_speed_hz; + int status; + char __data[0]; +}; + +struct trace_event_raw_spi_transfer { + struct trace_entry ent; + int bus_num; + int chip_select; + struct spi_transfer *xfer; + int len; + u32 __data_loc_rx_buf; + u32 __data_loc_tx_buf; + char __data[0]; +}; + +struct trace_event_raw_start_task_reaping { + struct trace_entry ent; + int pid; + char __data[0]; +}; + +struct trace_event_raw_subflow_check_data_avail { + struct trace_entry ent; + u8 status; + const void *skb; + char __data[0]; +}; + +struct trace_event_raw_suspend_resume { + struct trace_entry ent; + const char *action; + int val; + bool start; + char __data[0]; +}; + +struct trace_event_raw_swiotlb_bounced { + struct trace_entry ent; + u32 __data_loc_dev_name; + u64 dma_mask; + dma_addr_t dev_addr; + size_t size; + bool force; + char __data[0]; +}; + +struct trace_event_raw_sync_timeline { + struct trace_entry ent; + u32 __data_loc_name; + u32 value; + char __data[0]; +}; + +struct trace_event_raw_sys_enter { + struct trace_entry ent; + long int id; + long unsigned int args[6]; + char __data[0]; +}; + +struct trace_event_raw_sys_exit { + struct trace_entry ent; + long int id; + long int ret; + char __data[0]; +}; + +struct trace_event_raw_task_newtask { + struct trace_entry ent; + pid_t pid; + char comm[16]; + long unsigned int clone_flags; + short int oom_score_adj; + char __data[0]; +}; + +struct trace_event_raw_task_prctl_unknown { + struct trace_entry ent; + int option; + long unsigned int arg2; + long unsigned int arg3; + long unsigned int arg4; + long unsigned int arg5; + char __data[0]; +}; + +struct trace_event_raw_task_rename { + struct trace_entry ent; + char oldcomm[16]; + char newcomm[16]; + short int oom_score_adj; + char __data[0]; +}; + +struct trace_event_raw_tasklet { + struct trace_entry ent; + void *tasklet; + void *func; + char __data[0]; +}; + +struct trace_event_raw_tcp_ao_event { + struct trace_entry ent; + __u64 net_cookie; + const void *skbaddr; + const void *skaddr; + int state; + __u8 saddr[28]; + __u8 daddr[28]; + int l3index; + __u16 sport; + __u16 dport; + __u16 family; + bool fin; + bool syn; + bool rst; + bool psh; + bool ack; + __u8 keyid; + __u8 rnext; + __u8 maclen; + char __data[0]; +}; + +struct trace_event_raw_tcp_ao_event_sk { + struct trace_entry ent; + __u64 net_cookie; + const void *skaddr; + int state; + __u8 saddr[28]; + __u8 daddr[28]; + __u16 sport; + __u16 dport; + __u16 family; + __u8 keyid; + __u8 rnext; + char __data[0]; +}; + +struct trace_event_raw_tcp_ao_event_sne { + struct trace_entry ent; + __u64 net_cookie; + const void *skaddr; + int state; + __u8 saddr[28]; + __u8 daddr[28]; + __u16 sport; + __u16 dport; + __u16 family; + __u32 new_sne; + char __data[0]; +}; + +struct trace_event_raw_tcp_cong_state_set { + struct trace_entry ent; + const void *skaddr; + __u16 sport; + __u16 dport; + __u16 family; + __u8 saddr[4]; + __u8 daddr[4]; + __u8 saddr_v6[16]; + __u8 daddr_v6[16]; + __u8 cong_state; + char __data[0]; +}; + +struct trace_event_raw_tcp_event_sk { + struct trace_entry ent; + const void *skaddr; + __u16 sport; + __u16 dport; + __u16 family; + __u8 saddr[4]; + __u8 daddr[4]; + __u8 saddr_v6[16]; + __u8 daddr_v6[16]; + __u64 sock_cookie; + char __data[0]; +}; + +struct trace_event_raw_tcp_event_skb { + struct trace_entry ent; + const void *skbaddr; + __u8 saddr[28]; + __u8 daddr[28]; + char __data[0]; +}; + +struct trace_event_raw_tcp_hash_event { + struct trace_entry ent; + __u64 net_cookie; + const void *skbaddr; + const void *skaddr; + int state; + __u8 saddr[28]; + __u8 daddr[28]; + int l3index; + __u16 sport; + __u16 dport; + __u16 family; + bool fin; + bool syn; + bool rst; + bool psh; + bool ack; + char __data[0]; +}; + +struct trace_event_raw_tcp_probe { + struct trace_entry ent; + __u8 saddr[28]; + __u8 daddr[28]; + __u16 sport; + __u16 dport; + __u16 family; + __u32 mark; + __u16 data_len; + __u32 snd_nxt; + __u32 snd_una; + __u32 snd_cwnd; + __u32 ssthresh; + __u32 snd_wnd; + __u32 srtt; + __u32 rcv_wnd; + __u64 sock_cookie; + const void *skbaddr; + const void *skaddr; + char __data[0]; +}; + +struct trace_event_raw_tcp_rcvbuf_grow { + struct trace_entry ent; + int time; + __u32 rtt_us; + __u32 copied; + __u32 inq; + __u32 space; + __u32 ooo_space; + __u32 rcvbuf; + __u8 scaling_ratio; + __u16 sport; + __u16 dport; + __u16 family; + __u8 saddr[4]; + __u8 daddr[4]; + __u8 saddr_v6[16]; + __u8 daddr_v6[16]; + const void *skaddr; + __u64 sock_cookie; + char __data[0]; +}; + +struct trace_event_raw_tcp_retransmit_skb { + struct trace_entry ent; + const void *skbaddr; + const void *skaddr; + int state; + __u16 sport; + __u16 dport; + __u16 family; + __u8 saddr[4]; + __u8 daddr[4]; + __u8 saddr_v6[16]; + __u8 daddr_v6[16]; + int err; + char __data[0]; +}; + +struct trace_event_raw_tcp_retransmit_synack { + struct trace_entry ent; + const void *skaddr; + const void *req; + __u16 sport; + __u16 dport; + __u16 family; + __u8 saddr[4]; + __u8 daddr[4]; + __u8 saddr_v6[16]; + __u8 daddr_v6[16]; + char __data[0]; +}; + +struct trace_event_raw_tcp_send_reset { + struct trace_entry ent; + const void *skbaddr; + const void *skaddr; + int state; + enum sk_rst_reason reason; + __u8 saddr[28]; + __u8 daddr[28]; + char __data[0]; +}; + +struct trace_event_raw_tcp_sendmsg_locked { + struct trace_entry ent; + const void *skb_addr; + int skb_len; + int msg_left; + int size_goal; + char __data[0]; +}; + +struct trace_event_raw_test_pages_isolated { + struct trace_entry ent; + long unsigned int start_pfn; + long unsigned int end_pfn; + long unsigned int fin_pfn; + char __data[0]; +}; + +struct trace_event_raw_thermal_power_actor { + struct trace_entry ent; + int tz_id; + int actor_id; + u32 req_power; + u32 granted_power; + char __data[0]; +}; + +struct trace_event_raw_thermal_power_allocator { + struct trace_entry ent; + int tz_id; + u32 total_req_power; + u32 total_granted_power; + size_t num_actors; + u32 power_range; + u32 max_allocatable_power; + int current_temp; + s32 delta_temp; + char __data[0]; +}; + +struct trace_event_raw_thermal_power_allocator_pid { + struct trace_entry ent; + int tz_id; + s32 err; + s32 err_integral; + s64 p; + s64 i; + s64 d; + s32 output; + char __data[0]; +}; + +struct trace_event_raw_thermal_power_devfreq_get_power { + struct trace_entry ent; + u32 __data_loc_type; + long unsigned int freq; + u32 busy_time; + u32 total_time; + u32 power; + char __data[0]; +}; + +struct trace_event_raw_thermal_power_devfreq_limit { + struct trace_entry ent; + u32 __data_loc_type; + unsigned int freq; + long unsigned int cdev_state; + u32 power; + char __data[0]; +}; + +struct trace_event_raw_thermal_temperature { + struct trace_entry ent; + u32 __data_loc_thermal_zone; + int id; + int temp_prev; + int temp; + char __data[0]; +}; + +struct trace_event_raw_thermal_zone_trip { + struct trace_entry ent; + u32 __data_loc_thermal_zone; + int id; + int trip; + enum thermal_trip_type trip_type; + char __data[0]; +}; + +struct trace_event_raw_thread_noise { + struct trace_entry ent; + char comm[16]; + u64 start; + u64 duration; + pid_t pid; + char __data[0]; +}; + +struct trace_event_raw_tick_stop { + struct trace_entry ent; + int success; + int dependency; + char __data[0]; +}; + +struct trace_event_raw_timer_base_idle { + struct trace_entry ent; + bool is_idle; + unsigned int cpu; + char __data[0]; +}; + +struct trace_event_raw_timer_class { + struct trace_entry ent; + void *timer; + char __data[0]; +}; + +struct trace_event_raw_timer_expire_entry { + struct trace_entry ent; + void *timer; + long unsigned int now; + void *function; + long unsigned int baseclk; + char __data[0]; +}; + +struct trace_event_raw_timer_start { + struct trace_entry ent; + void *timer; + void *function; + long unsigned int expires; + long unsigned int bucket_expiry; + long unsigned int now; + unsigned int flags; + char __data[0]; +}; + +struct trace_event_raw_timerlat_sample { + struct trace_entry ent; + u64 timer_latency; + unsigned int seqnum; + int context; + char __data[0]; +}; + +struct trace_event_raw_tlb_flush { + struct trace_entry ent; + int reason; + long unsigned int pages; + char __data[0]; +}; + +struct trace_event_raw_tls_contenttype { + struct trace_entry ent; + __u8 saddr[28]; + __u8 daddr[28]; + unsigned int netns_ino; + long unsigned int type; + char __data[0]; +}; + +struct trace_event_raw_tmigr_connect_child_parent { + struct trace_entry ent; + void *child; + void *parent; + unsigned int lvl; + unsigned int numa_node; + unsigned int num_children; + u32 groupmask; + char __data[0]; +}; + +struct trace_event_raw_tmigr_connect_cpu_parent { + struct trace_entry ent; + void *parent; + unsigned int cpu; + unsigned int lvl; + unsigned int numa_node; + unsigned int num_children; + u32 groupmask; + char __data[0]; +}; + +struct trace_event_raw_tmigr_cpugroup { + struct trace_entry ent; + u64 wakeup; + void *parent; + unsigned int cpu; + char __data[0]; +}; + +struct trace_event_raw_tmigr_group_and_cpu { + struct trace_entry ent; + void *group; + void *parent; + unsigned int lvl; + unsigned int numa_node; + u32 childmask; + u8 active; + u8 migrator; + char __data[0]; +}; + +struct trace_event_raw_tmigr_group_set { + struct trace_entry ent; + void *group; + unsigned int lvl; + unsigned int numa_node; + char __data[0]; +}; + +struct trace_event_raw_tmigr_handle_remote { + struct trace_entry ent; + void *group; + unsigned int lvl; + char __data[0]; +}; + +struct trace_event_raw_tmigr_idle { + struct trace_entry ent; + u64 nextevt; + u64 wakeup; + void *parent; + unsigned int cpu; + char __data[0]; +}; + +struct trace_event_raw_tmigr_update_events { + struct trace_entry ent; + void *child; + void *group; + u64 nextevt; + u64 group_next_expiry; + u64 child_evt_expiry; + unsigned int group_lvl; + unsigned int child_evtcpu; + u8 child_active; + u8 group_active; + char __data[0]; +}; + +struct trace_event_raw_track_foreign_dirty { + struct trace_entry ent; + char name[32]; + u64 bdi_id; + ino_t ino; + unsigned int memcg_id; + ino_t cgroup_ino; + ino_t page_cgroup_ino; + char __data[0]; +}; + +struct trace_event_raw_tsm_mr_read { + struct trace_entry ent; + u32 __data_loc_mr; + u32 __data_loc_hash; + u32 __data_loc_d; + char __data[0]; +}; + +struct trace_event_raw_tsm_mr_refresh { + struct trace_entry ent; + u32 __data_loc_mr; + int rc; + char __data[0]; +}; + +struct trace_event_raw_tsm_mr_write { + struct trace_entry ent; + u32 __data_loc_mr; + u32 __data_loc_hash; + u32 __data_loc_d; + char __data[0]; +}; + +struct trace_event_raw_udp_fail_queue_rcv_skb { + struct trace_entry ent; + int rc; + __u16 sport; + __u16 dport; + __u16 family; + __u8 saddr[28]; + __u8 daddr[28]; + char __data[0]; +}; + +struct trace_event_raw_unmap { + struct trace_entry ent; + u64 iova; + size_t size; + size_t unmapped_size; + char __data[0]; +}; + +struct trace_event_raw_vector_activate { + struct trace_entry ent; + unsigned int irq; + bool is_managed; + bool can_reserve; + bool reserve; + char __data[0]; +}; + +struct trace_event_raw_vector_alloc { + struct trace_entry ent; + unsigned int irq; + unsigned int vector; + bool reserved; + int ret; + char __data[0]; +}; + +struct trace_event_raw_vector_alloc_managed { + struct trace_entry ent; + unsigned int irq; + unsigned int vector; + int ret; + char __data[0]; +}; + +struct trace_event_raw_vector_config { + struct trace_entry ent; + unsigned int irq; + unsigned int vector; + unsigned int cpu; + unsigned int apicdest; + char __data[0]; +}; + +struct trace_event_raw_vector_free_moved { + struct trace_entry ent; + unsigned int irq; + unsigned int cpu; + unsigned int vector; + bool is_managed; + char __data[0]; +}; + +struct trace_event_raw_vector_mod { + struct trace_entry ent; + unsigned int irq; + unsigned int vector; + unsigned int cpu; + unsigned int prev_vector; + unsigned int prev_cpu; + char __data[0]; +}; + +struct trace_event_raw_vector_reserve { + struct trace_entry ent; + unsigned int irq; + int ret; + char __data[0]; +}; + +struct trace_event_raw_vector_setup { + struct trace_entry ent; + unsigned int irq; + bool is_legacy; + int ret; + char __data[0]; +}; + +struct trace_event_raw_vector_teardown { + struct trace_entry ent; + unsigned int irq; + bool is_managed; + bool has_reserved; + char __data[0]; +}; + +struct trace_event_raw_vm_unmapped_area { + struct trace_entry ent; + long unsigned int addr; + long unsigned int total_vm; + long unsigned int flags; + long unsigned int length; + long unsigned int low_limit; + long unsigned int high_limit; + long unsigned int align_mask; + long unsigned int align_offset; + char __data[0]; +}; + +struct trace_event_raw_wake_reaper { + struct trace_entry ent; + int pid; + char __data[0]; +}; + +struct trace_event_raw_wakeup_source { + struct trace_entry ent; + u32 __data_loc_name; + u64 state; + char __data[0]; +}; + +struct trace_event_raw_watchdog_set_timeout { + struct trace_entry ent; + int id; + unsigned int timeout; + int err; + char __data[0]; +}; + +struct trace_event_raw_watchdog_template { + struct trace_entry ent; + int id; + int err; + char __data[0]; +}; + +struct trace_event_raw_wbc_class { + struct trace_entry ent; + char name[32]; + long int nr_to_write; + long int pages_skipped; + int sync_mode; + int for_kupdate; + int for_background; + int range_cyclic; + long int range_start; + long int range_end; + ino_t cgroup_ino; + char __data[0]; +}; + +struct trace_event_raw_wbt_lat { + struct trace_entry ent; + char name[32]; + long unsigned int lat; + char __data[0]; +}; + +struct trace_event_raw_wbt_stat { + struct trace_entry ent; + char name[32]; + s64 rmean; + u64 rmin; + u64 rmax; + s64 rnr_samples; + s64 rtime; + s64 wmean; + u64 wmin; + u64 wmax; + s64 wnr_samples; + s64 wtime; + char __data[0]; +}; + +struct trace_event_raw_wbt_step { + struct trace_entry ent; + char name[32]; + const char *msg; + int step; + long unsigned int window; + unsigned int bg; + unsigned int normal; + unsigned int max; + char __data[0]; +}; + +struct trace_event_raw_wbt_timer { + struct trace_entry ent; + char name[32]; + unsigned int status; + int step; + unsigned int inflight; + char __data[0]; +}; + +struct trace_event_raw_workqueue_activate_work { + struct trace_entry ent; + void *work; + void *function; + char __data[0]; +}; + +struct trace_event_raw_workqueue_execute_end { + struct trace_entry ent; + void *work; + void *function; + char __data[0]; +}; + +struct trace_event_raw_workqueue_execute_start { + struct trace_entry ent; + void *work; + void *function; + char __data[0]; +}; + +struct trace_event_raw_workqueue_queue_work { + struct trace_entry ent; + void *work; + void *function; + u32 __data_loc_workqueue; + int req_cpu; + int cpu; + char __data[0]; +}; + +struct trace_event_raw_writeback_bdi_register { + struct trace_entry ent; + char name[32]; + char __data[0]; +}; + +struct trace_event_raw_writeback_class { + struct trace_entry ent; + char name[32]; + ino_t cgroup_ino; + char __data[0]; +}; + +struct trace_event_raw_writeback_dirty_inode_template { + struct trace_entry ent; + char name[32]; + ino_t ino; + long unsigned int state; + long unsigned int flags; + char __data[0]; +}; + +struct trace_event_raw_writeback_folio_template { + struct trace_entry ent; + char name[32]; + ino_t ino; + long unsigned int index; + char __data[0]; +}; + +struct trace_event_raw_writeback_inode_template { + struct trace_entry ent; + dev_t dev; + ino_t ino; + long unsigned int state; + __u16 mode; + long unsigned int dirtied_when; + char __data[0]; +}; + +struct trace_event_raw_writeback_pages_written { + struct trace_entry ent; + long int pages; + char __data[0]; +}; + +struct trace_event_raw_writeback_queue_io { + struct trace_entry ent; + char name[32]; + long unsigned int older; + long int age; + int moved; + int reason; + ino_t cgroup_ino; + char __data[0]; +}; + +struct trace_event_raw_writeback_sb_inodes_requeue { + struct trace_entry ent; + char name[32]; + ino_t ino; + long unsigned int state; + long unsigned int dirtied_when; + ino_t cgroup_ino; + char __data[0]; +}; + +struct trace_event_raw_writeback_single_inode_template { + struct trace_entry ent; + char name[32]; + ino_t ino; + long unsigned int state; + long unsigned int dirtied_when; + long unsigned int writeback_index; + long int nr_to_write; + long unsigned int wrote; + ino_t cgroup_ino; + char __data[0]; +}; + +struct trace_event_raw_writeback_work_class { + struct trace_entry ent; + char name[32]; + long int nr_pages; + dev_t sb_dev; + int sync_mode; + int for_kupdate; + int range_cyclic; + int for_background; + int reason; + ino_t cgroup_ino; + char __data[0]; +}; + +struct trace_event_raw_writeback_write_inode_template { + struct trace_entry ent; + char name[32]; + ino_t ino; + int sync_mode; + ino_t cgroup_ino; + char __data[0]; +}; + +struct trace_event_raw_x86_fpu { + struct trace_entry ent; + struct fpu *fpu; + bool load_fpu; + u64 xfeatures; + u64 xcomp_bv; + char __data[0]; +}; + +struct trace_event_raw_x86_irq_vector { + struct trace_entry ent; + int vector; + char __data[0]; +}; + +struct trace_event_raw_xdp_bulk_tx { + struct trace_entry ent; + int ifindex; + u32 act; + int drops; + int sent; + int err; + char __data[0]; +}; + +struct trace_event_raw_xdp_cpumap_enqueue { + struct trace_entry ent; + int map_id; + u32 act; + int cpu; + unsigned int drops; + unsigned int processed; + int to_cpu; + char __data[0]; +}; + +struct trace_event_raw_xdp_cpumap_kthread { + struct trace_entry ent; + int map_id; + u32 act; + int cpu; + unsigned int drops; + unsigned int processed; + int sched; + unsigned int xdp_pass; + unsigned int xdp_drop; + unsigned int xdp_redirect; + char __data[0]; +}; + +struct trace_event_raw_xdp_devmap_xmit { + struct trace_entry ent; + int from_ifindex; + u32 act; + int to_ifindex; + int drops; + int sent; + int err; + char __data[0]; +}; + +struct trace_event_raw_xdp_exception { + struct trace_entry ent; + int prog_id; + u32 act; + int ifindex; + char __data[0]; +}; + +struct trace_event_raw_xdp_redirect_template { + struct trace_entry ent; + int prog_id; + u32 act; + int ifindex; + int err; + int to_ifindex; + u32 map_id; + int map_index; + char __data[0]; +}; + +struct trace_event_raw_xen_cpu_load_idt { + struct trace_entry ent; + long unsigned int addr; + char __data[0]; +}; + +struct trace_event_raw_xen_cpu_set_ldt { + struct trace_entry ent; + const void *addr; + unsigned int entries; + char __data[0]; +}; + +struct trace_event_raw_xen_cpu_write_gdt_entry { + struct trace_entry ent; + u64 desc; + struct desc_struct *dt; + int entrynum; + int type; + char __data[0]; +}; + +struct trace_event_raw_xen_cpu_write_idt_entry { + struct trace_entry ent; + gate_desc *dt; + int entrynum; + char __data[0]; +}; + +struct trace_event_raw_xen_cpu_write_ldt_entry { + struct trace_entry ent; + struct desc_struct *dt; + int entrynum; + u64 desc; + char __data[0]; +}; + +struct trace_event_raw_xen_mc__batch { + struct trace_entry ent; + enum xen_lazy_mode mode; + char __data[0]; +}; + +typedef void (*xen_mc_callback_fn_t)(void *); + +struct trace_event_raw_xen_mc_callback { + struct trace_entry ent; + xen_mc_callback_fn_t fn; + void *data; + char __data[0]; +}; + +struct trace_event_raw_xen_mc_entry { + struct trace_entry ent; + unsigned int op; + unsigned int nargs; + long unsigned int args[6]; + char __data[0]; +}; + +struct trace_event_raw_xen_mc_entry_alloc { + struct trace_entry ent; + size_t args; + char __data[0]; +}; + +struct trace_event_raw_xen_mc_extend_args { + struct trace_entry ent; + unsigned int op; + size_t args; + enum xen_mc_extend_args res; + char __data[0]; +}; + +struct trace_event_raw_xen_mc_flush { + struct trace_entry ent; + unsigned int mcidx; + unsigned int argidx; + unsigned int cbidx; + char __data[0]; +}; + +struct trace_event_raw_xen_mc_flush_reason { + struct trace_entry ent; + enum xen_mc_flush_reason reason; + char __data[0]; +}; + +struct trace_event_raw_xen_mmu__set_pte { + struct trace_entry ent; + pte_t *ptep; + pteval_t pteval; + char __data[0]; +}; + +struct trace_event_raw_xen_mmu_alloc_ptpage { + struct trace_entry ent; + struct mm_struct *mm; + long unsigned int pfn; + unsigned int level; + bool pinned; + char __data[0]; +}; + +struct trace_event_raw_xen_mmu_flush_tlb_multi { + struct trace_entry ent; + unsigned int ncpus; + struct mm_struct *mm; + long unsigned int addr; + long unsigned int end; + char __data[0]; +}; + +struct trace_event_raw_xen_mmu_flush_tlb_one_user { + struct trace_entry ent; + long unsigned int addr; + char __data[0]; +}; + +struct trace_event_raw_xen_mmu_pgd { + struct trace_entry ent; + struct mm_struct *mm; + pgd_t *pgd; + char __data[0]; +}; + +struct trace_event_raw_xen_mmu_ptep_modify_prot { + struct trace_entry ent; + struct mm_struct *mm; + long unsigned int addr; + pte_t *ptep; + pteval_t pteval; + char __data[0]; +}; + +struct trace_event_raw_xen_mmu_release_ptpage { + struct trace_entry ent; + long unsigned int pfn; + unsigned int level; + bool pinned; + char __data[0]; +}; + +struct trace_event_raw_xen_mmu_set_p4d { + struct trace_entry ent; + p4d_t *p4dp; + p4d_t *user_p4dp; + p4dval_t p4dval; + char __data[0]; +}; + +struct trace_event_raw_xen_mmu_set_pmd { + struct trace_entry ent; + pmd_t *pmdp; + pmdval_t pmdval; + char __data[0]; +}; + +struct trace_event_raw_xen_mmu_set_pud { + struct trace_entry ent; + pud_t *pudp; + pudval_t pudval; + char __data[0]; +}; + +struct trace_event_raw_xen_mmu_write_cr3 { + struct trace_entry ent; + bool kernel; + long unsigned int cr3; + char __data[0]; +}; + +struct trace_event_raw_xhci_dbc_log_request { + struct trace_entry ent; + struct dbc_request *req; + bool dir; + unsigned int actual; + unsigned int length; + int status; + char __data[0]; +}; + +struct trace_event_raw_xhci_log_ctrl_ctx { + struct trace_entry ent; + u32 drop; + u32 add; + char __data[0]; +}; + +struct trace_event_raw_xhci_log_ctx { + struct trace_entry ent; + int ctx_64; + unsigned int ctx_type; + dma_addr_t ctx_dma; + u8 *ctx_va; + unsigned int ctx_ep_num; + u32 __data_loc_ctx_data; + char __data[0]; +}; + +struct trace_event_raw_xhci_log_doorbell { + struct trace_entry ent; + u32 slot; + u32 doorbell; + char __data[0]; +}; + +struct trace_event_raw_xhci_log_ep_ctx { + struct trace_entry ent; + u32 info; + u32 info2; + u64 deq; + u32 tx_info; + char __data[0]; +}; + +struct trace_event_raw_xhci_log_free_virt_dev { + struct trace_entry ent; + void *vdev; + long long unsigned int out_ctx; + long long unsigned int in_ctx; + int slot_id; + u16 current_mel; + char __data[0]; +}; + +struct trace_event_raw_xhci_log_msg { + struct trace_entry ent; + u32 __data_loc_msg; + char __data[0]; +}; + +struct trace_event_raw_xhci_log_portsc { + struct trace_entry ent; + u32 busnum; + u32 portnum; + u32 portsc; + char __data[0]; +}; + +struct trace_event_raw_xhci_log_ring { + struct trace_entry ent; + u32 type; + void *ring; + dma_addr_t enq; + dma_addr_t deq; + unsigned int num_segs; + unsigned int stream_id; + unsigned int cycle_state; + unsigned int bounce_buf_len; + char __data[0]; +}; + +struct trace_event_raw_xhci_log_slot_ctx { + struct trace_entry ent; + u32 info; + u32 info2; + u32 tt_info; + u32 state; + char __data[0]; +}; + +struct trace_event_raw_xhci_log_stream_ctx { + struct trace_entry ent; + unsigned int stream_id; + u64 stream_ring; + dma_addr_t ctx_array_dma; + char __data[0]; +}; + +struct trace_event_raw_xhci_log_trb { + struct trace_entry ent; + dma_addr_t dma; + u32 type; + u32 field0; + u32 field1; + u32 field2; + u32 field3; + char __data[0]; +}; + +struct trace_event_raw_xhci_log_urb { + struct trace_entry ent; + u32 __data_loc_devname; + void *urb; + unsigned int pipe; + unsigned int stream; + int status; + unsigned int flags; + int num_mapped_sgs; + int num_sgs; + int length; + int actual; + int epnum; + int dir_in; + int type; + int slot_id; + char __data[0]; +}; + +struct trace_event_raw_xhci_log_virt_dev { + struct trace_entry ent; + void *vdev; + long long unsigned int out_ctx; + long long unsigned int in_ctx; + int devnum; + int state; + int speed; + u8 portnum; + u8 level; + int slot_id; + char __data[0]; +}; + +struct trace_export { + struct trace_export *next; + void (*write)(struct trace_export *, const void *, unsigned int); + int flags; +}; + +struct tracepoint_user; + +struct trace_fprobe { + struct dyn_event devent; + struct fprobe fp; + const char *symbol; + bool tprobe; + struct tracepoint_user *tuser; + struct trace_probe tp; +}; + +struct trace_func_repeats { + long unsigned int ip; + long unsigned int parent_ip; + long unsigned int count; + u64 ts_last_call; +}; + +struct trace_kprobe { + struct dyn_event devent; + struct kretprobe rp; + long unsigned int *nhit; + const char *symbol; + struct trace_probe tp; +}; + +struct trace_mark { + long long unsigned int val; + char sym; +}; + +struct trace_min_max_param { + struct mutex *lock; + u64 *val; + u64 *min; + u64 *max; +}; + +struct trace_mmiotrace_map { + struct trace_entry ent; + struct mmiotrace_map map; +}; + +struct trace_mmiotrace_rw { + struct trace_entry ent; + struct mmiotrace_rw rw; +}; + +struct trace_mod_entry { + long unsigned int mod_addr; + char mod_name[56]; +}; + +struct trace_module_delta { + struct callback_head rcu; + long int delta[0]; +}; + +struct tracer_opt; + +struct tracer_flags; + +struct trace_option_dentry { + struct tracer_opt *opt; + struct tracer_flags *flags; + struct trace_array *tr; + struct dentry *entry; +}; + +struct trace_options { + struct tracer *tracer; + struct trace_option_dentry *topts; +}; + +union upper_chunk; + +struct trace_pid_list { + raw_spinlock_t lock; + struct irq_work refill_irqwork; + union upper_chunk *upper[256]; + union upper_chunk *upper_list; + union lower_chunk *lower_list; + int free_upper_chunks; + int free_lower_chunks; +}; + +struct trace_print_flags { + long unsigned int mask; + const char *name; +}; + +struct trace_uprobe_filter { + rwlock_t rwlock; + int nr_systemwide; + struct list_head perf_events; +}; + +struct trace_probe_event { + unsigned int flags; + struct trace_event_class class; + struct trace_event_call call; + struct list_head files; + struct list_head probes; + struct trace_uprobe_filter filter[0]; +}; + +struct trace_probe_log { + const char *subsystem; + const char **argv; + int argc; + int index; +}; + +struct trace_scratch { + unsigned int clock_id; + long unsigned int text_addr; + long unsigned int nr_entries; + struct trace_mod_entry entries[0]; +}; + +struct trace_stack { + int stack_size; + int nr_entries; + long unsigned int calls[256]; +}; + +struct trace_subsystem_dir { + struct list_head list; + struct event_subsystem *subsystem; + struct trace_array *tr; + struct eventfs_inode *ei; + int ref_count; + int nr_events; +}; + +struct trace_uprobe { + struct dyn_event devent; + struct uprobe_consumer consumer; + struct path path; + char *filename; + struct uprobe *uprobe; + long unsigned int offset; + long unsigned int ref_ctr_offset; + long unsigned int *nhits; + struct trace_probe tp; +}; + +struct trace_user_buf { + char *buf; +}; + +struct trace_user_buf_info { + struct trace_user_buf *tbuf; + int ref; +}; + +struct tracefs_dir_ops { + int (*mkdir)(const char *); + int (*rmdir)(const char *); +}; + +struct tracefs_fs_info { + kuid_t uid; + kgid_t gid; + umode_t mode; + unsigned int opts; +}; + +struct tracefs_inode { + struct inode vfs_inode; + struct list_head list; + long unsigned int flags; + void *private; +}; + +struct tracepoint_ext; + +struct tracepoint { + const char *name; + struct static_key_false key; + struct static_call_key *static_call_key; + void *static_call_tramp; + void *iterator; + void *probestub; + struct tracepoint_func *funcs; + struct tracepoint_ext *ext; +}; + +struct tracepoint_ext { + int (*regfunc)(void); + void (*unregfunc)(void); + unsigned int faultable: 1; +}; + +struct tracepoint_user { + struct list_head list; + const char *name; + struct tracepoint *tpoint; + unsigned int refcount; +}; + +struct traceprobe_parse_context { + struct trace_event_call *event; + const char *funcname; + const struct btf_type *proto; + const struct btf_param *params; + s32 nr_params; + struct btf *btf; + const struct btf_type *last_type; + u32 last_bitoffs; + u32 last_bitsize; + struct trace_probe *tp; + unsigned int flags; + int offset; +}; + +struct tracer { + const char *name; + int (*init)(struct trace_array *); + void (*reset)(struct trace_array *); + void (*start)(struct trace_array *); + void (*stop)(struct trace_array *); + int (*update_thresh)(struct trace_array *); + void (*open)(struct trace_iterator *); + void (*pipe_open)(struct trace_iterator *); + void (*close)(struct trace_iterator *); + void (*pipe_close)(struct trace_iterator *); + ssize_t (*read)(struct trace_iterator *, struct file *, char *, size_t, loff_t *); + ssize_t (*splice_read)(struct trace_iterator *, struct file *, loff_t *, struct pipe_inode_info *, size_t, unsigned int); + void (*print_header)(struct seq_file *); + enum print_line_t (*print_line)(struct trace_iterator *); + int (*set_flag)(struct trace_array *, u32, u32, int); + int (*flag_changed)(struct trace_array *, u32, int); + struct tracer *next; + struct tracer_flags *flags; + int enabled; + bool print_max; + bool allow_instances; + bool use_max_tr; + bool noboot; +}; + +struct tracer_flags { + u32 val; + struct tracer_opt *opts; + struct tracer *trace; +}; + +struct tracer_opt { + const char *name; + u32 bit; +}; + +struct tracing_log_err { + struct list_head list; + struct err_info info; + char loc[128]; + char *cmd; +}; + +typedef int (*tracing_map_cmp_fn_t)(void *, void *); + +struct tracing_map_field { + tracing_map_cmp_fn_t cmp_fn; + union { + atomic64_t sum; + unsigned int offset; + }; +}; + +struct tracing_map_array; + +struct tracing_map_ops; + +struct tracing_map { + unsigned int key_size; + unsigned int map_bits; + unsigned int map_size; + unsigned int max_elts; + atomic_t next_elt; + struct tracing_map_array *elts; + struct tracing_map_array *map; + const struct tracing_map_ops *ops; + void *private_data; + struct tracing_map_field fields[6]; + unsigned int n_fields; + int key_idx[3]; + unsigned int n_keys; + struct tracing_map_sort_key sort_key; + unsigned int n_vars; + atomic64_t hits; + atomic64_t drops; +}; + +struct tracing_map_array { + unsigned int entries_per_page; + unsigned int entry_size_shift; + unsigned int entry_shift; + unsigned int entry_mask; + unsigned int n_pages; + void **pages; +}; + +struct tracing_map_elt { + struct tracing_map *map; + struct tracing_map_field *fields; + atomic64_t *vars; + bool *var_set; + void *key; + void *private_data; +}; + +struct tracing_map_entry { + u32 key; + struct tracing_map_elt *val; +}; + +struct tracing_map_ops { + int (*elt_alloc)(struct tracing_map_elt *); + void (*elt_free)(struct tracing_map_elt *); + void (*elt_clear)(struct tracing_map_elt *); + void (*elt_init)(struct tracing_map_elt *); +}; + +struct tracing_map_sort_entry { + void *key; + struct tracing_map_elt *elt; + bool elt_copied; + bool dup; +}; + +struct track { + long unsigned int addr; + depot_stack_handle_t handle; + int cpu; + int pid; + long unsigned int when; +}; + +struct track_data { + u64 track_val; + bool updated; + unsigned int key_len; + void *key; + struct tracing_map_elt elt; + struct action_data *action_data; + struct hist_trigger_data *hist_data; +}; + +struct trampoline_header { + u64 start; + u64 efer; + u32 cr4; + u32 flags; + u32 lock; +}; + +struct transaction_chp_stats_s { + long unsigned int cs_chp_time; + __u32 cs_forced_to_close; + __u32 cs_written; + __u32 cs_dropped; +}; + +struct transaction_s { + journal_t *t_journal; + tid_t t_tid; + enum { + T_RUNNING = 0, + T_LOCKED = 1, + T_SWITCH = 2, + T_FLUSH = 3, + T_COMMIT = 4, + T_COMMIT_DFLUSH = 5, + T_COMMIT_JFLUSH = 6, + T_COMMIT_CALLBACK = 7, + T_FINISHED = 8, + } t_state; + long unsigned int t_log_start; + int t_nr_buffers; + struct journal_head *t_reserved_list; + struct journal_head *t_buffers; + struct journal_head *t_forget; + struct journal_head *t_checkpoint_list; + struct journal_head *t_shadow_list; + struct list_head t_inode_list; + long unsigned int t_max_wait; + long unsigned int t_start; + long unsigned int t_requested; + struct transaction_chp_stats_s t_chp_stats; + atomic_t t_updates; + atomic_t t_outstanding_credits; + atomic_t t_outstanding_revokes; + atomic_t t_handle_count; + transaction_t *t_cpnext; + transaction_t *t_cpprev; + long unsigned int t_expires; + ktime_t t_start_time; + unsigned int t_synchronous_commit: 1; + int t_need_data_flush; +}; + +struct trap_array_entry { + void (*orig)(void); + void (*xen)(void); + bool ist_okay; +}; + +struct trap_info { + uint8_t vector; + uint8_t flags; + uint16_t cs; + long unsigned int address; +}; + +struct trap_reason { + long unsigned int addr; + long unsigned int ip; + enum reason_type type; + int active_traces; +}; + +struct trc_stall_chk_rdr { + int nesting; + int ipi_to_cpu; + u8 needqs; +}; + +typedef struct tree_desc_s tree_desc; + +struct tree_descr { + const char *name; + const struct file_operations *ops; + int mode; +}; + +struct trie_use_stats; + +struct trie { + struct key_vector kv[1]; + struct trie_use_stats *stats; +}; + +struct trie_stat { + unsigned int totdepth; + unsigned int maxdepth; + unsigned int tnodes; + unsigned int leaves; + unsigned int nullpointers; + unsigned int prefixes; + unsigned int nodesizes[32]; +}; + +struct trie_use_stats { + unsigned int gets; + unsigned int backtrack; + unsigned int semantic_match_passed; + unsigned int semantic_match_miss; + unsigned int null_node_hit; + unsigned int resize_node_skipped; +}; + +struct trusted_key_payload; + +struct trusted_key_ops { + unsigned char migratable; + int (*init)(void); + int (*seal)(struct trusted_key_payload *, char *); + int (*unseal)(struct trusted_key_payload *, char *); + int (*get_random)(unsigned char *, size_t); + void (*exit)(void); +}; + +struct trusted_key_options { + uint16_t keytype; + uint32_t keyhandle; + unsigned char keyauth[20]; + uint32_t blobauth_len; + unsigned char blobauth[20]; + uint32_t pcrinfo_len; + unsigned char pcrinfo[64]; + int pcrlock; + uint32_t hash; + uint32_t policydigest_len; + unsigned char policydigest[64]; + uint32_t policyhandle; +}; + +struct trusted_key_payload { + struct callback_head rcu; + unsigned int key_len; + unsigned int blob_len; + unsigned char migratable; + unsigned char old_format; + unsigned char key[129]; + unsigned char blob[512]; +}; + +struct trusted_key_source { + char *name; + struct trusted_key_ops *ops; +}; + +struct ts_ops; + +struct ts_state; + +struct ts_config { + struct ts_ops *ops; + int flags; + unsigned int (*get_next_block)(unsigned int, const u8 **, struct ts_config *, struct ts_state *); + void (*finish)(struct ts_config *, struct ts_state *); +}; + +struct ts_dmi_data { + struct efi_embedded_fw_desc embedded_fw; + const char *acpi_name; + const struct property_entry *properties; +}; + +struct ts_linear_state { + unsigned int len; + const void *data; +}; + +struct ts_ops { + const char *name; + struct ts_config * (*init)(const void *, unsigned int, gfp_t, int); + unsigned int (*find)(struct ts_config *, struct ts_state *); + void (*destroy)(struct ts_config *); + void * (*get_pattern)(struct ts_config *); + unsigned int (*get_pattern_len)(struct ts_config *); + struct module *owner; + struct list_head list; +}; + +struct ts_state { + unsigned int offset; + char cb[48]; +}; + +struct tsc_adjust { + s64 bootval; + s64 adjusted; + long unsigned int nextcheck; + bool warned; +}; + +struct tsconfig_reply_data { + struct ethnl_reply_data base; + struct hwtstamp_provider_desc hwprov_desc; + struct { + u32 tx_type; + u32 rx_filter; + u32 flags; + } hwtst_config; +}; + +struct tsconfig_req_info { + struct ethnl_req_info base; +}; + +struct tsinfo_reply_data { + struct ethnl_reply_data base; + struct kernel_ethtool_ts_info ts_info; + struct ethtool_ts_stats stats; +}; + +struct tsinfo_req_info { + struct ethnl_req_info base; + struct hwtstamp_provider_desc hwprov_desc; +}; + +struct tsm_measurement_register { + const char *mr_name; + void *mr_value; + u32 mr_size; + u32 mr_flags; + enum hash_algo mr_hash; +}; + +struct tsm_measurements { + const struct tsm_measurement_register *mrs; + size_t nr_mrs; + int (*refresh)(const struct tsm_measurements *); + int (*write)(const struct tsm_measurements *, const struct tsm_measurement_register *, const u8 *); +}; + +struct tso_t { + int next_frag_idx; + int size; + void *data; + u16 ip_id; + u8 tlen; + bool ipv6; + u32 tcp_seq; +}; + +struct tsq_work { + struct work_struct work; + struct list_head head; +}; + +struct tty_audit_buf { + struct mutex mutex; + dev_t dev; + bool icanon; + size_t valid; + u8 *data; +}; + +struct tty_operations; + +struct tty_driver { + struct kref kref; + struct cdev **cdevs; + struct module *owner; + const char *driver_name; + const char *name; + int name_base; + int major; + int minor_start; + unsigned int num; + enum tty_driver_type type; + enum tty_driver_subtype subtype; + struct ktermios init_termios; + long unsigned int flags; + struct proc_dir_entry *proc_entry; + struct tty_driver *other; + struct tty_struct **ttys; + struct tty_port **ports; + struct ktermios **termios; + void *driver_state; + const struct tty_operations *ops; + struct list_head tty_drivers; +}; + +struct tty_file_private { + struct tty_struct *tty; + struct file *file; + struct list_head list; +}; + +struct tty_ldisc_ops; + +struct tty_ldisc { + struct tty_ldisc_ops *ops; + struct tty_struct *tty; +}; + +struct tty_ldisc_ops { + char *name; + int num; + int (*open)(struct tty_struct *); + void (*close)(struct tty_struct *); + void (*flush_buffer)(struct tty_struct *); + ssize_t (*read)(struct tty_struct *, struct file *, u8 *, size_t, void **, long unsigned int); + ssize_t (*write)(struct tty_struct *, struct file *, const u8 *, size_t); + int (*ioctl)(struct tty_struct *, unsigned int, long unsigned int); + int (*compat_ioctl)(struct tty_struct *, unsigned int, long unsigned int); + void (*set_termios)(struct tty_struct *, const struct ktermios *); + __poll_t (*poll)(struct tty_struct *, struct file *, struct poll_table_struct *); + void (*hangup)(struct tty_struct *); + void (*receive_buf)(struct tty_struct *, const u8 *, const u8 *, size_t); + void (*write_wakeup)(struct tty_struct *); + void (*dcd_change)(struct tty_struct *, bool); + size_t (*receive_buf2)(struct tty_struct *, const u8 *, const u8 *, size_t); + void (*lookahead_buf)(struct tty_struct *, const u8 *, const u8 *, size_t); + struct module *owner; +}; + +struct tty_operations { + struct tty_struct * (*lookup)(struct tty_driver *, struct file *, int); + int (*install)(struct tty_driver *, struct tty_struct *); + void (*remove)(struct tty_driver *, struct tty_struct *); + int (*open)(struct tty_struct *, struct file *); + void (*close)(struct tty_struct *, struct file *); + void (*shutdown)(struct tty_struct *); + void (*cleanup)(struct tty_struct *); + ssize_t (*write)(struct tty_struct *, const u8 *, size_t); + int (*put_char)(struct tty_struct *, u8); + void (*flush_chars)(struct tty_struct *); + unsigned int (*write_room)(struct tty_struct *); + unsigned int (*chars_in_buffer)(struct tty_struct *); + int (*ioctl)(struct tty_struct *, unsigned int, long unsigned int); + long int (*compat_ioctl)(struct tty_struct *, unsigned int, long unsigned int); + void (*set_termios)(struct tty_struct *, const struct ktermios *); + void (*throttle)(struct tty_struct *); + void (*unthrottle)(struct tty_struct *); + void (*stop)(struct tty_struct *); + void (*start)(struct tty_struct *); + void (*hangup)(struct tty_struct *); + int (*break_ctl)(struct tty_struct *, int); + void (*flush_buffer)(struct tty_struct *); + int (*ldisc_ok)(struct tty_struct *, int); + void (*set_ldisc)(struct tty_struct *); + void (*wait_until_sent)(struct tty_struct *, int); + void (*send_xchar)(struct tty_struct *, u8); + int (*tiocmget)(struct tty_struct *); + int (*tiocmset)(struct tty_struct *, unsigned int, unsigned int); + int (*resize)(struct tty_struct *, struct winsize *); + int (*get_icount)(struct tty_struct *, struct serial_icounter_struct *); + int (*get_serial)(struct tty_struct *, struct serial_struct *); + int (*set_serial)(struct tty_struct *, struct serial_struct *); + void (*show_fdinfo)(struct tty_struct *, struct seq_file *); + int (*poll_init)(struct tty_driver *, int, char *); + int (*poll_get_char)(struct tty_driver *, int); + void (*poll_put_char)(struct tty_driver *, int, char); + int (*proc_show)(struct seq_file *, void *); +}; + +struct tty_port_client_operations { + size_t (*receive_buf)(struct tty_port *, const u8 *, const u8 *, size_t); + void (*lookahead_buf)(struct tty_port *, const u8 *, const u8 *, size_t); + void (*write_wakeup)(struct tty_port *); +}; + +struct tty_port_operations { + bool (*carrier_raised)(struct tty_port *); + void (*dtr_rts)(struct tty_port *, bool); + void (*shutdown)(struct tty_port *); + int (*activate)(struct tty_port *, struct tty_struct *); + void (*destruct)(struct tty_port *); +}; + +struct tty_struct { + struct kref kref; + int index; + struct device *dev; + struct tty_driver *driver; + struct tty_port *port; + const struct tty_operations *ops; + struct tty_ldisc *ldisc; + struct ld_semaphore ldisc_sem; + struct mutex atomic_write_lock; + struct mutex legacy_mutex; + struct mutex throttle_mutex; + struct rw_semaphore termios_rwsem; + struct mutex winsize_mutex; + struct ktermios termios; + struct ktermios termios_locked; + char name[64]; + long unsigned int flags; + int count; + unsigned int receive_room; + struct winsize winsize; + struct { + spinlock_t lock; + bool stopped; + bool tco_stopped; + } flow; + struct { + struct pid *pgrp; + struct pid *session; + spinlock_t lock; + unsigned char pktstatus; + bool packet; + } ctrl; + bool hw_stopped; + bool closing; + int flow_change; + struct tty_struct *link; + struct fasync_struct *fasync; + wait_queue_head_t write_wait; + wait_queue_head_t read_wait; + struct work_struct hangup_work; + void *disc_data; + void *driver_data; + spinlock_t files_lock; + int write_cnt; + u8 *write_buf; + struct list_head tty_files; + struct work_struct SAK_work; +}; + +struct ttyprintk_port { + struct tty_port port; + spinlock_t spinlock; +}; + +struct tun_struct; + +struct tun_file { + struct sock sk; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + struct socket socket; + struct tun_struct *tun; + struct fasync_struct *fasync; + unsigned int flags; + union { + u16 queue_index; + unsigned int ifindex; + }; + struct napi_struct napi; + bool napi_enabled; + bool napi_frags_enabled; + struct mutex napi_mutex; + struct list_head next; + struct tun_struct *detached; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + struct ptr_ring tx_ring; + struct xdp_rxq_info xdp_rxq; +}; + +struct tun_filter { + __u16 flags; + __u16 count; + __u8 addr[0]; +}; + +struct tun_flow_entry { + struct hlist_node hash_link; + struct callback_head rcu; + struct tun_struct *tun; + u32 rxhash; + u32 rps_rxhash; + int queue_index; + long: 64; + long unsigned int updated; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct tun_msg_ctl { + short unsigned int type; + short unsigned int num; + void *ptr; +}; + +struct tun_page { + struct page *page; + int count; +}; + +struct tun_pi { + __u16 flags; + __be16 proto; +}; + +struct tun_prog { + struct callback_head rcu; + struct bpf_prog *prog; +}; + +struct tun_security_struct { + u32 sid; +}; + +struct tun_struct { + struct tun_file *tfiles[256]; + unsigned int numqueues; + unsigned int flags; + kuid_t owner; + kgid_t group; + struct net_device *dev; + netdev_features_t set_features; + int align; + int vnet_hdr_sz; + int sndbuf; + struct tap_filter txflt; + struct sock_fprog fprog; + bool filter_attached; + u32 msg_enable; + spinlock_t lock; + struct hlist_head flows[1024]; + struct timer_list flow_gc_timer; + long unsigned int ageing_time; + unsigned int numdisabled; + struct list_head disabled; + void *security; + u32 flow_count; + u32 rx_batched; + atomic_long_t rx_frame_errors; + struct bpf_prog *xdp_prog; + struct tun_prog *steering_prog; + struct tun_prog *filter_prog; + struct ethtool_link_ksettings link_ksettings; + struct file *file; + struct ifreq *ifr; +}; + +struct twl4030_audio_resource { + int request_count; + u8 reg; + u8 mask; +}; + +struct twl4030_audio { + unsigned int audio_mclk; + struct mutex mutex; + struct twl4030_audio_resource resource[2]; + struct mfd_cell cells[2]; +}; + +struct twl4030_codec_data; + +struct twl4030_vibra_data; + +struct twl4030_audio_data { + unsigned int audio_mclk; + struct twl4030_codec_data *codec; + struct twl4030_vibra_data *vibra; + int audpwron_gpio; + int naudint_irq; + unsigned int irq_base; +}; + +struct twl4030_codec_data { + unsigned int digimic_delay; + unsigned int ramp_delay_value; + unsigned int offset_cncl_path; + unsigned int hs_extmute: 1; + int hs_extmute_gpio; +}; + +struct twl4030_vibra_data { + unsigned int coexist; +}; + +struct twl6030_irq { + unsigned int irq_base; + int twl_irq; + bool irq_wake_enabled; + atomic_t wakeirqs; + struct notifier_block pm_nb; + struct irq_chip irq_chip; + struct irq_domain *irq_domain; + const int *irq_mapping_tbl; +}; + +struct twl6040 { + struct device *dev; + struct regmap *regmap; + struct regmap_irq_chip_data *irq_data; + struct regulator_bulk_data supplies[2]; + struct clk *clk32k; + struct clk *mclk; + struct mutex mutex; + struct mutex irq_mutex; + struct mfd_cell cells[4]; + struct completion ready; + struct gpio_desc *audpwron; + int power_count; + int rev; + int pll; + unsigned int sysclk_rate; + unsigned int mclk_rate; + unsigned int irq; + unsigned int irq_ready; + unsigned int irq_th; +}; + +struct twl_client { + struct i2c_client *client; + struct regmap *regmap; +}; + +struct twl_mapping { + unsigned char sid; + unsigned char base; +}; + +struct twl_private { + bool ready; + u32 twl_idcode; + unsigned int twl_id; + struct twl_mapping *twl_map; + struct twl_client *twl_modules; +}; + +struct type_datum { + u32 value; + u32 bounds; + unsigned char primary; + unsigned char attribute; +}; + +struct type_descriptor { + u16 type_kind; + u16 type_info; + char type_name[0]; +}; + +struct type_mismatch_data { + struct source_location location; + struct type_descriptor *type; + long unsigned int alignment; + unsigned char type_check_kind; +}; + +struct type_mismatch_data_common { + struct source_location *location; + struct type_descriptor *type; + long unsigned int alignment; + unsigned char type_check_kind; +}; + +struct type_mismatch_data_v1 { + struct source_location location; + struct type_descriptor *type; + unsigned char log_alignment; + unsigned char type_check_kind; +}; + +struct type_set { + struct ebitmap types; + struct ebitmap negset; + u32 flags; +}; + +struct typec_connector { + void (*attach)(struct typec_connector *, struct device *); + void (*deattach)(struct typec_connector *, struct device *); +}; + +struct u32_fract { + __u32 numerator; + __u32 denominator; +}; + +struct uart_8250_em485 { + struct hrtimer start_tx_timer; + struct hrtimer stop_tx_timer; + struct hrtimer *active_timer; + struct uart_8250_port *port; + unsigned int tx_stopped: 1; +}; + +struct uart_8250_ops { + int (*setup_irq)(struct uart_8250_port *); + void (*release_irq)(struct uart_8250_port *); + void (*setup_timer)(struct uart_8250_port *); +}; + +struct uart_8250_port { + struct uart_port port; + struct timer_list timer; + struct list_head list; + u32 capabilities; + u16 bugs; + unsigned int tx_loadsz; + unsigned char acr; + unsigned char fcr; + unsigned char ier; + unsigned char lcr; + unsigned char mcr; + unsigned char cur_iotype; + unsigned int rpm_tx_active; + unsigned char canary; + unsigned char probe; + struct mctrl_gpios *gpios; + u16 lsr_saved_flags; + u16 lsr_save_mask; + unsigned char msr_saved_flags; + struct uart_8250_dma *dma; + const struct uart_8250_ops *ops; + u32 (*dl_read)(struct uart_8250_port *); + void (*dl_write)(struct uart_8250_port *, u32); + struct uart_8250_em485 *em485; + void (*rs485_start_tx)(struct uart_8250_port *, bool); + void (*rs485_stop_tx)(struct uart_8250_port *, bool); + struct delayed_work overrun_backoff; + u32 overrun_backoff_time_ms; +}; + +struct uart_match { + struct uart_port *port; + struct uart_driver *driver; +}; + +struct uart_ops { + unsigned int (*tx_empty)(struct uart_port *); + void (*set_mctrl)(struct uart_port *, unsigned int); + unsigned int (*get_mctrl)(struct uart_port *); + void (*stop_tx)(struct uart_port *); + void (*start_tx)(struct uart_port *); + void (*throttle)(struct uart_port *); + void (*unthrottle)(struct uart_port *); + void (*send_xchar)(struct uart_port *, char); + void (*stop_rx)(struct uart_port *); + void (*start_rx)(struct uart_port *); + void (*enable_ms)(struct uart_port *); + void (*break_ctl)(struct uart_port *, int); + int (*startup)(struct uart_port *); + void (*shutdown)(struct uart_port *); + void (*flush_buffer)(struct uart_port *); + void (*set_termios)(struct uart_port *, struct ktermios *, const struct ktermios *); + void (*set_ldisc)(struct uart_port *, struct ktermios *); + void (*pm)(struct uart_port *, unsigned int, unsigned int); + const char * (*type)(struct uart_port *); + void (*release_port)(struct uart_port *); + int (*request_port)(struct uart_port *); + void (*config_port)(struct uart_port *, int); + int (*verify_port)(struct uart_port *, struct serial_struct *); + int (*ioctl)(struct uart_port *, unsigned int, long unsigned int); + int (*poll_init)(struct uart_port *); + void (*poll_put_char)(struct uart_port *, unsigned char); + int (*poll_get_char)(struct uart_port *); +}; + +struct uart_state { + struct tty_port port; + enum uart_pm_state pm_state; + atomic_t refcount; + wait_queue_head_t remove_wait; + struct uart_port *uart_port; +}; + +struct ubuf_info_msgzc { + struct ubuf_info ubuf; + union { + struct { + long unsigned int desc; + void *ctx; + }; + struct { + u32 id; + u16 len; + u16 zerocopy: 1; + u32 bytelen; + }; + }; + struct mmpin mmp; +}; + +struct ubuf_info_ops { + void (*complete)(struct sk_buff *, struct ubuf_info *, bool); + int (*link_skb)(struct sk_buff *, struct ubuf_info *); +}; + +struct uclamp_request { + s64 percent; + u64 util; + int ret; +}; + +struct ucode_cpu_info { + struct cpu_signature cpu_sig; + void *mc; +}; + +struct ucode_patch { + struct list_head plist; + void *data; + unsigned int size; + u32 patch_id; + u16 equiv_cpu; +}; + +struct ucounts { + struct hlist_nulls_node node; + struct user_namespace *ns; + kuid_t uid; + struct callback_head rcu; + rcuref_t count; + atomic_long_t ucount[12]; + atomic_long_t rlimit[4]; +}; + +struct ucred { + __u32 pid; + __u32 uid; + __u32 gid; +}; + +struct ucs_interval16 { + u16 first; + u16 last; +}; + +struct ucs_interval32 { + u32 first; + u32 last; +}; + +struct ucs_page_desc { + u8 page; + u8 count; + u16 start; +}; + +struct ucs_page_entry { + u8 offset; + u8 fallback; +}; + +struct ucs_recomposition { + u16 base; + u16 mark; + u16 recomposed; +}; + +struct udmabuf { + long unsigned int pagecount; + struct folio **folios; + long unsigned int nr_pinned; + struct folio **pinned_folios; + struct sg_table *sg; + struct miscdevice *device; + long unsigned int *offsets; +}; + +struct udmabuf_create { + __u32 memfd; + __u32 flags; + __u64 offset; + __u64 size; +}; + +struct udmabuf_create_item { + __u32 memfd; + __u32 __pad; + __u64 offset; + __u64 size; +}; + +struct udmabuf_create_list { + __u32 flags; + __u32 count; + struct udmabuf_create_item list[0]; +}; + +struct udp_sock { + struct inet_sock inet; + long unsigned int udp_flags; + int pending; + __u8 encap_type; + __u16 udp_lrpa_hash; + struct hlist_nulls_node udp_lrpa_node; + __u16 len; + __u16 gso_size; + __u16 pcslen; + __u16 pcrlen; + int (*encap_rcv)(struct sock *, struct sk_buff *); + void (*encap_err_rcv)(struct sock *, struct sk_buff *, int, __be16, u32, u8 *); + int (*encap_err_lookup)(struct sock *, struct sk_buff *); + void (*encap_destroy)(struct sock *); + struct sk_buff * (*gro_receive)(struct sock *, struct list_head *, struct sk_buff *); + int (*gro_complete)(struct sock *, struct sk_buff *, int); + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + struct sk_buff_head reader_queue; + int forward_deficit; + int forward_threshold; + bool peeking_with_offset; + struct hlist_node tunnel_list; + long: 64; +}; + +struct udp6_sock { + struct udp_sock udp; + struct ipv6_pinfo inet6; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct udp_dev_scratch { + u32 _tsize_state; + u16 len; + bool is_linear; + bool csum_unnecessary; +}; + +struct udp_hslot { + union { + struct hlist_head head; + struct hlist_nulls_head nulls_head; + }; + int count; + spinlock_t lock; +}; + +struct udp_hslot_main { + struct udp_hslot hslot; + u32 hash4_cnt; + long: 64; +}; + +struct udp_mib { + long unsigned int mibs[10]; +}; + +struct udp_seq_afinfo { + sa_family_t family; + struct udp_table *udp_table; +}; + +struct udp_skb_cb { + union { + struct inet_skb_parm h4; + struct inet6_skb_parm h6; + } header; + __u16 cscov; + __u8 partial_cov; +}; + +struct udp_table { + struct udp_hslot *hash; + struct udp_hslot_main *hash2; + struct udp_hslot *hash4; + unsigned int mask; + unsigned int log; +}; + +struct udp_tunnel_info { + short unsigned int type; + sa_family_t sa_family; + __be16 port; + u8 hw_priv; +}; + +struct udp_tunnel_nic_table_info { + unsigned int n_entries; + unsigned int tunnel_types; +}; + +struct udp_tunnel_nic_shared; + +struct udp_tunnel_nic_info { + int (*set_port)(struct net_device *, unsigned int, unsigned int, struct udp_tunnel_info *); + int (*unset_port)(struct net_device *, unsigned int, unsigned int, struct udp_tunnel_info *); + int (*sync_table)(struct net_device *, unsigned int); + struct udp_tunnel_nic_shared *shared; + unsigned int flags; + struct udp_tunnel_nic_table_info tables[4]; +}; + +struct udp_tunnel_nic_ops { + void (*get_port)(struct net_device *, unsigned int, unsigned int, struct udp_tunnel_info *); + void (*set_port_priv)(struct net_device *, unsigned int, unsigned int, u8); + void (*add_port)(struct net_device *, struct udp_tunnel_info *); + void (*del_port)(struct net_device *, struct udp_tunnel_info *); + void (*reset_ntf)(struct net_device *); + size_t (*dump_size)(struct net_device *, unsigned int); + int (*dump_write)(struct net_device *, unsigned int, struct sk_buff *); + void (*assert_locked)(struct net_device *); + void (*lock)(struct net_device *); + void (*unlock)(struct net_device *); +}; + +struct udp_tunnel_nic_shared { + struct udp_tunnel_nic *udp_tunnel_nic_info; + struct list_head devices; +}; + +typedef struct sk_buff * (*udp_tunnel_gro_rcv_t)(struct sock *, struct list_head *, struct sk_buff *); + +struct udp_tunnel_type_entry { + udp_tunnel_gro_rcv_t gro_receive; + refcount_t count; +}; + +struct udphdr { + __be16 source; + __be16 dest; + __be16 len; + __sum16 check; +}; + +struct uevent_sock { + struct list_head list; + struct sock *sk; +}; + +struct uffd_msg { + __u8 event; + __u8 reserved1; + __u16 reserved2; + __u32 reserved3; + union { + struct { + __u64 flags; + __u64 address; + union { + __u32 ptid; + } feat; + } pagefault; + struct { + __u32 ufd; + } fork; + struct { + __u64 from; + __u64 to; + __u64 len; + } remap; + struct { + __u64 start; + __u64 end; + } remove; + struct { + __u64 reserved1; + __u64 reserved2; + __u64 reserved3; + } reserved; + } arg; +}; + +struct uffdio_api { + __u64 api; + __u64 features; + __u64 ioctls; +}; + +struct uffdio_range { + __u64 start; + __u64 len; +}; + +struct uffdio_continue { + struct uffdio_range range; + __u64 mode; + __s64 mapped; +}; + +struct uffdio_copy { + __u64 dst; + __u64 src; + __u64 len; + __u64 mode; + __s64 copy; +}; + +struct uffdio_move { + __u64 dst; + __u64 src; + __u64 len; + __u64 mode; + __s64 move; +}; + +struct uffdio_poison { + struct uffdio_range range; + __u64 mode; + __s64 updated; +}; + +struct uffdio_register { + struct uffdio_range range; + __u64 mode; + __u64 ioctls; +}; + +struct uffdio_writeprotect { + struct uffdio_range range; + __u64 mode; +}; + +struct uffdio_zeropage { + struct uffdio_range range; + __u64 mode; + __s64 zeropage; +}; + +struct uhci_debug { + int size; + char *data; +}; + +struct uhci_td; + +struct uhci_qh; + +struct uhci_hcd { + long unsigned int io_addr; + void *regs; + struct dma_pool *qh_pool; + struct dma_pool *td_pool; + struct uhci_td *term_td; + struct uhci_qh *skelqh[11]; + struct uhci_qh *next_qh; + spinlock_t lock; + dma_addr_t frame_dma_handle; + __le32 *frame; + void **frame_cpu; + enum uhci_rh_state rh_state; + long unsigned int auto_stop_time; + unsigned int frame_number; + unsigned int is_stopped; + unsigned int last_iso_frame; + unsigned int cur_iso_frame; + unsigned int scan_in_progress: 1; + unsigned int need_rescan: 1; + unsigned int dead: 1; + unsigned int RD_enable: 1; + unsigned int is_initialized: 1; + unsigned int fsbr_is_on: 1; + unsigned int fsbr_is_wanted: 1; + unsigned int fsbr_expiring: 1; + struct timer_list fsbr_timer; + unsigned int oc_low: 1; + unsigned int wait_for_hp: 1; + unsigned int big_endian_mmio: 1; + unsigned int big_endian_desc: 1; + unsigned int is_aspeed: 1; + long unsigned int port_c_suspend; + long unsigned int resuming_ports; + long unsigned int ports_timeout; + struct list_head idle_qh_list; + int rh_numports; + wait_queue_head_t waitqh; + int num_waiting; + int total_load; + short int load[32]; + struct clk *clk; + void (*reset_hc)(struct uhci_hcd *); + int (*check_and_reset_hc)(struct uhci_hcd *); + void (*configure_hc)(struct uhci_hcd *); + int (*resume_detect_interrupts_are_broken)(struct uhci_hcd *); + int (*global_suspend_mode_is_broken)(struct uhci_hcd *); +}; + +struct usb_iso_packet_descriptor; + +struct uhci_qh { + __le32 link; + __le32 element; + dma_addr_t dma_handle; + struct list_head node; + struct usb_host_endpoint *hep; + struct usb_device *udev; + struct list_head queue; + struct uhci_td *dummy_td; + struct uhci_td *post_td; + struct usb_iso_packet_descriptor *iso_packet_desc; + long unsigned int advance_jiffies; + unsigned int unlink_frame; + unsigned int period; + short int phase; + short int load; + unsigned int iso_frame; + int state; + int type; + int skel; + unsigned int initial_toggle: 1; + unsigned int needs_fixup: 1; + unsigned int is_stopped: 1; + unsigned int wait_expired: 1; + unsigned int bandwidth_reserved: 1; +}; + +struct uhci_td { + __le32 link; + __le32 status; + __le32 token; + __le32 buffer; + dma_addr_t dma_handle; + struct list_head list; + int frame; + struct list_head fl_list; +}; + +struct uinput_abs_setup { + __u16 code; + struct input_absinfo absinfo; +}; + +struct uinput_request; + +struct uinput_device { + struct input_dev *dev; + struct mutex mutex; + enum uinput_state state; + wait_queue_head_t waitq; + unsigned char ready; + unsigned char head; + unsigned char tail; + struct input_event buff[16]; + unsigned int ff_effects_max; + struct uinput_request *requests[16]; + wait_queue_head_t requests_waitq; + spinlock_t requests_lock; +}; + +struct uinput_ff_erase { + __u32 request_id; + __s32 retval; + __u32 effect_id; +}; + +struct uinput_ff_upload { + __u32 request_id; + __s32 retval; + struct ff_effect effect; + struct ff_effect old; +}; + +struct uinput_ff_upload_compat { + __u32 request_id; + __s32 retval; + struct ff_effect_compat effect; + struct ff_effect_compat old; +}; + +struct uinput_request { + unsigned int id; + unsigned int code; + int retval; + struct completion done; + union { + unsigned int effect_id; + struct { + struct ff_effect *effect; + struct ff_effect *old; + } upload; + } u; +}; + +struct uinput_setup { + struct input_id id; + char name[80]; + __u32 ff_effects_max; +}; + +struct uinput_user_dev { + char name[80]; + struct input_id id; + __u32 ff_effects_max; + __s32 absmax[64]; + __s32 absmin[64]; + __s32 absfuzz[64]; + __s32 absflat[64]; +}; + +struct ultrix_disklabel { + s32 pt_magic; + s32 pt_valid; + struct pt_info pt_part[8]; +}; + +struct uncached_list { + spinlock_t lock; + struct list_head head; +}; + +struct uncharge_gather { + struct mem_cgroup *memcg; + long unsigned int nr_memory; + long unsigned int pgpgout; + long unsigned int nr_kmem; + int nid; +}; + +struct uncore_event_desc { + struct device_attribute attr; + const char *config; +}; + +struct uncore_global_discovery { + union { + u64 table1; + struct { + u64 type: 8; + u64 stride: 8; + u64 max_units: 10; + u64 __reserved_1: 36; + u64 access_type: 2; + }; + }; + u64 ctl; + union { + u64 table3; + struct { + u64 status_offset: 8; + u64 num_status: 16; + u64 __reserved_2: 40; + }; + }; +}; + +struct uncore_iio_topology { + int pci_bus_no; + int segment; +}; + +struct uncore_unit_discovery { + union { + u64 table1; + struct { + u64 num_regs: 8; + u64 ctl_offset: 8; + u64 bit_width: 8; + u64 ctr_offset: 8; + u64 status_offset: 8; + u64 __reserved_1: 22; + u64 access_type: 2; + }; + }; + u64 ctl; + union { + u64 table3; + struct { + u64 box_type: 16; + u64 box_id: 16; + u64 __reserved_2: 32; + }; + }; +}; + +struct uncore_upi_topology { + int die_to; + int pmu_idx_to; + int enabled; +}; + +struct uni_pagedict { + u16 **uni_pgdir[32]; + long unsigned int refcount; + long unsigned int sum; + unsigned char *inverse_translations[4]; + u16 *inverse_trans_unicode; +}; + +struct utf8data; + +struct utf8data_table; + +struct unicode_map { + unsigned int version; + const struct utf8data *ntab[2]; + const struct utf8data_table *tables; +}; + +struct unipair; + +struct unimapdesc { + short unsigned int entry_ct; + struct unipair *entries; +}; + +struct unipair { + short unsigned int unicode; + short unsigned int fontpos; +}; + +struct unity_map_entry { + struct list_head list; + u16 devid_start; + u16 devid_end; + u64 address_start; + u64 address_end; + int prot; +}; + +struct unix_address { + refcount_t refcnt; + int len; + struct sockaddr_un name[0]; +}; + +struct unix_edge { + struct unix_sock *predecessor; + struct unix_sock *successor; + struct list_head vertex_entry; + struct list_head stack_entry; +}; + +struct unix_peercred { + struct pid *peer_pid; + const struct cred *peer_cred; +}; + +struct unix_skb_parms { + struct pid *pid; + kuid_t uid; + kgid_t gid; + struct scm_fp_list *fp; + u32 secid; + u32 consumed; +}; + +struct unix_vertex; + +struct unix_sock { + struct sock sk; + struct unix_address *addr; + struct path path; + struct mutex iolock; + struct mutex bindlock; + struct sock *peer; + struct sock *listener; + struct unix_vertex *vertex; + spinlock_t lock; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + struct socket_wq peer_wq; + wait_queue_entry_t peer_wake; + struct scm_stat scm_stat; + int inq_len; + bool recvmsg_inq; + struct sk_buff *oob_skb; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct unix_stream_read_state { + int (*recv_actor)(struct sk_buff *, int, int, struct unix_stream_read_state *); + struct socket *socket; + struct msghdr *msg; + struct pipe_inode_info *pipe; + size_t size; + int flags; + unsigned int splice_flags; +}; + +struct unix_vertex { + struct list_head edges; + struct list_head entry; + struct list_head scc_entry; + long unsigned int out_degree; + long unsigned int index; + long unsigned int scc_index; +}; + +struct unixware_slice { + __le16 s_label; + __le16 s_flags; + __le32 start_sect; + __le32 nr_sects; +}; + +struct unixware_vtoc { + __le32 v_magic; + __le32 v_version; + char v_name[8]; + __le16 v_nslices; + __le16 v_unknown1; + __le32 v_reserved[10]; + struct unixware_slice v_slice[16]; +}; + +struct unixware_disklabel { + __le32 d_type; + __le32 d_magic; + __le32 d_version; + char d_serial[12]; + __le32 d_ncylinders; + __le32 d_ntracks; + __le32 d_nsectors; + __le32 d_secsize; + __le32 d_part_start; + __le32 d_unknown1[12]; + __le32 d_alt_tbl; + __le32 d_alt_len; + __le32 d_phys_cyl; + __le32 d_phys_trk; + __le32 d_phys_sec; + __le32 d_phys_bytes; + __le32 d_unknown2; + __le32 d_unknown3; + __le32 d_pad[8]; + struct unixware_vtoc vtoc; +}; + +struct unlink_vma_file_batch { + int count; + struct vm_area_struct *vmas[8]; +}; + +struct unmap_refs_callback_data { + struct completion completion; + int result; +}; + +struct unmap_ring_hvm { + unsigned int idx; + long unsigned int addrs[16]; +}; + +struct unreachable_data { + struct source_location location; +}; + +struct unwind_state { + struct stack_info stack_info; + long unsigned int stack_mask; + struct task_struct *task; + int graph_idx; + struct llist_node *kr_cur; + bool error; + bool got_irq; + long unsigned int *bp; + long unsigned int *orig_sp; + long unsigned int ip; + long unsigned int *next_bp; + struct pt_regs *regs; +}; + +struct update_classid_context { + u32 classid; + unsigned int batch; +}; + +union upper_chunk { + union upper_chunk *next; + union lower_chunk *data[256]; +}; + +struct uprobe { + struct rb_node rb_node; + refcount_t ref; + struct rw_semaphore register_rwsem; + struct rw_semaphore consumer_rwsem; + struct list_head pending_list; + struct list_head consumers; + struct inode *inode; + union { + struct callback_head rcu; + struct work_struct work; + }; + loff_t offset; + loff_t ref_ctr_offset; + long unsigned int flags; + struct arch_uprobe arch; +}; + +struct uprobe_cpu_buffer { + struct mutex mutex; + void *buf; + int dsize; +}; + +struct uprobe_dispatch_data { + struct trace_uprobe *tu; + long unsigned int bp_addr; +}; + +struct uprobe_task { + enum uprobe_task_state state; + unsigned int depth; + struct return_instance *return_instances; + struct return_instance *ri_pool; + struct timer_list ri_timer; + seqcount_t ri_seqcount; + union { + struct { + struct arch_uprobe_task autask; + long unsigned int vaddr; + }; + struct { + struct callback_head dup_xol_work; + long unsigned int dup_xol_addr; + }; + }; + struct uprobe *active_uprobe; + long unsigned int xol_vaddr; + bool signal_denied; + struct arch_uprobe *auprobe; +}; + +struct uprobe_trace_entry_head { + struct trace_entry ent; + long unsigned int vaddr[0]; +}; + +struct uprobe_xol_ops { + bool (*emulate)(struct arch_uprobe *, struct pt_regs *); + int (*pre_xol)(struct arch_uprobe *, struct pt_regs *); + int (*post_xol)(struct arch_uprobe *, struct pt_regs *); + void (*abort)(struct arch_uprobe *, struct pt_regs *); +}; + +typedef void (*usb_complete_t)(struct urb *); + +struct usb_iso_packet_descriptor { + unsigned int offset; + unsigned int length; + unsigned int actual_length; + int status; +}; + +struct usb_anchor; + +struct urb { + struct kref kref; + int unlinked; + void *hcpriv; + atomic_t use_count; + atomic_t reject; + struct list_head urb_list; + struct list_head anchor_list; + struct usb_anchor *anchor; + struct usb_device *dev; + struct usb_host_endpoint *ep; + unsigned int pipe; + unsigned int stream_id; + int status; + unsigned int transfer_flags; + void *transfer_buffer; + dma_addr_t transfer_dma; + struct scatterlist *sg; + struct sg_table *sgt; + int num_mapped_sgs; + int num_sgs; + u32 transfer_buffer_length; + u32 actual_length; + unsigned char *setup_packet; + dma_addr_t setup_dma; + int start_frame; + int number_of_packets; + int interval; + int error_count; + void *context; + usb_complete_t complete; + struct usb_iso_packet_descriptor iso_frame_desc[0]; +}; + +struct urb_priv { + struct ed *ed; + u16 length; + u16 td_cnt; + struct list_head pending; + struct td *td[0]; +}; + +struct urb_priv___2 { + struct list_head node; + struct urb *urb; + struct uhci_qh *qh; + struct list_head td_list; + unsigned int fsbr: 1; +}; + +struct xhci_segment; + +struct xhci_td { + struct list_head td_list; + struct list_head cancelled_td_list; + int status; + enum xhci_cancelled_td_status cancel_status; + struct urb *urb; + struct xhci_segment *start_seg; + union xhci_trb *start_trb; + struct xhci_segment *end_seg; + union xhci_trb *end_trb; + struct xhci_segment *bounce_seg; + bool urb_length_set; + bool error_mid_td; +}; + +struct urb_priv___3 { + int num_tds; + int num_tds_done; + struct xhci_td td[0]; +}; + +typedef struct urb_priv urb_priv_t; + +struct usb2_lpm_parameters { + unsigned int besl; + int timeout; +}; + +struct usb3_lpm_parameters { + unsigned int mel; + unsigned int pel; + unsigned int sel; + int timeout; +}; + +struct usb_anchor { + struct list_head urb_list; + wait_queue_head_t wait; + spinlock_t lock; + atomic_t suspend_wakeups; + unsigned int poisoned: 1; +}; + +struct usb_bos_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __le16 wTotalLength; + __u8 bNumDeviceCaps; +} __attribute__((packed)); + +struct mon_bus; + +struct usb_bus { + struct device *controller; + struct device *sysdev; + int busnum; + const char *bus_name; + u8 uses_pio_for_control; + u8 otg_port; + unsigned int is_b_host: 1; + unsigned int b_hnp_enable: 1; + unsigned int no_stop_on_short: 1; + unsigned int no_sg_constraint: 1; + unsigned int sg_tablesize; + int devnum_next; + struct mutex devnum_next_mutex; + long unsigned int devmap[2]; + struct usb_device *root_hub; + struct usb_bus *hs_companion; + int bandwidth_allocated; + int bandwidth_int_reqs; + int bandwidth_isoc_reqs; + unsigned int resuming_ports; + struct mon_bus *mon_bus; + int monitored; +}; + +struct usb_cdc_acm_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubType; + __u8 bmCapabilities; +}; + +struct usb_cdc_call_mgmt_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubType; + __u8 bmCapabilities; + __u8 bDataInterface; +}; + +struct usb_cdc_country_functional_desc { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubType; + __u8 iCountryCodeRelDate; + __le16 wCountyCode0; +}; + +struct usb_cdc_dmm_desc { + __u8 bFunctionLength; + __u8 bDescriptorType; + __u8 bDescriptorSubtype; + __u16 bcdVersion; + __le16 wMaxCommand; +} __attribute__((packed)); + +struct usb_cdc_ether_desc { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubType; + __u8 iMACAddress; + __le32 bmEthernetStatistics; + __le16 wMaxSegmentSize; + __le16 wNumberMCFilters; + __u8 bNumberPowerFilters; +} __attribute__((packed)); + +struct usb_cdc_header_desc { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubType; + __le16 bcdCDC; +} __attribute__((packed)); + +struct usb_cdc_mbim_desc { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubType; + __le16 bcdMBIMVersion; + __le16 wMaxControlMessage; + __u8 bNumberFilters; + __u8 bMaxFilterSize; + __le16 wMaxSegmentSize; + __u8 bmNetworkCapabilities; +} __attribute__((packed)); + +struct usb_cdc_mbim_extended_desc { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubType; + __le16 bcdMBIMExtendedVersion; + __u8 bMaxOutstandingCommandMessages; + __le16 wMTU; +} __attribute__((packed)); + +struct usb_cdc_mdlm_desc { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubType; + __le16 bcdVersion; + __u8 bGUID[16]; +} __attribute__((packed)); + +struct usb_cdc_mdlm_detail_desc { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubType; + __u8 bGuidDescriptorType; + __u8 bDetailData[0]; +}; + +struct usb_cdc_ncm_desc { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubType; + __le16 bcdNcmVersion; + __u8 bmNetworkCapabilities; +} __attribute__((packed)); + +struct usb_cdc_network_terminal_desc { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubType; + __u8 bEntityId; + __u8 iName; + __u8 bChannelIndex; + __u8 bPhysicalInterface; +}; + +struct usb_cdc_obex_desc { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubType; + __le16 bcdVersion; +} __attribute__((packed)); + +struct usb_cdc_union_desc; + +struct usb_cdc_parsed_header { + struct usb_cdc_union_desc *usb_cdc_union_desc; + struct usb_cdc_header_desc *usb_cdc_header_desc; + struct usb_cdc_call_mgmt_descriptor *usb_cdc_call_mgmt_descriptor; + struct usb_cdc_acm_descriptor *usb_cdc_acm_descriptor; + struct usb_cdc_country_functional_desc *usb_cdc_country_functional_desc; + struct usb_cdc_network_terminal_desc *usb_cdc_network_terminal_desc; + struct usb_cdc_ether_desc *usb_cdc_ether_desc; + struct usb_cdc_dmm_desc *usb_cdc_dmm_desc; + struct usb_cdc_mdlm_desc *usb_cdc_mdlm_desc; + struct usb_cdc_mdlm_detail_desc *usb_cdc_mdlm_detail_desc; + struct usb_cdc_obex_desc *usb_cdc_obex_desc; + struct usb_cdc_ncm_desc *usb_cdc_ncm_desc; + struct usb_cdc_mbim_desc *usb_cdc_mbim_desc; + struct usb_cdc_mbim_extended_desc *usb_cdc_mbim_extended_desc; + bool phonet_magic_present; +}; + +struct usb_cdc_union_desc { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDescriptorSubType; + __u8 bMasterInterface0; + __u8 bSlaveInterface0; +}; + +struct usb_charger_current { + unsigned int sdp_min; + unsigned int sdp_max; + unsigned int dcp_min; + unsigned int dcp_max; + unsigned int cdp_min; + unsigned int cdp_max; + unsigned int aca_min; + unsigned int aca_max; +}; + +struct usb_class_driver { + char *name; + char * (*devnode)(const struct device *, umode_t *); + const struct file_operations *fops; + int minor_base; +}; + +struct usb_config_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __le16 wTotalLength; + __u8 bNumInterfaces; + __u8 bConfigurationValue; + __u8 iConfiguration; + __u8 bmAttributes; + __u8 bMaxPower; +} __attribute__((packed)); + +struct usb_ctrlrequest { + __u8 bRequestType; + __u8 bRequest; + __le16 wValue; + __le16 wIndex; + __le16 wLength; +}; + +struct usb_dcd_config_params { + __u8 bU1devExitLat; + __le16 bU2DevExitLat; + __u8 besl_baseline; + __u8 besl_deep; +}; + +struct usb_debug_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDebugInEndpoint; + __u8 bDebugOutEndpoint; +}; + +struct usb_descriptor_header { + __u8 bLength; + __u8 bDescriptorType; +}; + +struct usb_dev_cap_header { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDevCapabilityType; +}; + +struct usb_dev_state { + struct list_head list; + struct usb_device *dev; + struct file *file; + spinlock_t lock; + struct list_head async_pending; + struct list_head async_completed; + struct list_head memory_list; + wait_queue_head_t wait; + wait_queue_head_t wait_for_resume; + unsigned int discsignr; + struct pid *disc_pid; + const struct cred *cred; + sigval_t disccontext; + long unsigned int ifclaimed; + u32 disabled_bulk_eps; + long unsigned int interface_allowed_mask; + int not_yet_resumed; + bool suspend_allowed; + bool privileges_dropped; +}; + +struct usb_endpoint_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bEndpointAddress; + __u8 bmAttributes; + __le16 wMaxPacketSize; + __u8 bInterval; + __u8 bRefresh; + __u8 bSynchAddress; +} __attribute__((packed)); + +struct usb_ss_ep_comp_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bMaxBurst; + __u8 bmAttributes; + __le16 wBytesPerInterval; +}; + +struct usb_ssp_isoc_ep_comp_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __le16 wReseved; + __le32 dwBytesPerInterval; +}; + +struct usb_eusb2_isoc_ep_comp_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __le16 wMaxPacketSize; + __le32 dwBytesPerInterval; +}; + +struct usb_host_endpoint { + struct usb_endpoint_descriptor desc; + struct usb_ss_ep_comp_descriptor ss_ep_comp; + struct usb_ssp_isoc_ep_comp_descriptor ssp_isoc_ep_comp; + struct usb_eusb2_isoc_ep_comp_descriptor eusb2_isoc_ep_comp; + long: 0; + struct list_head urb_list; + void *hcpriv; + struct ep_device *ep_dev; + unsigned char *extra; + int extralen; + int enabled; + int streams; + long: 0; +} __attribute__((packed)); + +struct usb_device_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __le16 bcdUSB; + __u8 bDeviceClass; + __u8 bDeviceSubClass; + __u8 bDeviceProtocol; + __u8 bMaxPacketSize0; + __le16 idVendor; + __le16 idProduct; + __le16 bcdDevice; + __u8 iManufacturer; + __u8 iProduct; + __u8 iSerialNumber; + __u8 bNumConfigurations; +}; + +struct usb_host_bos; + +struct usb_host_config; + +struct usb_device { + int devnum; + char devpath[16]; + u32 route; + enum usb_device_state state; + enum usb_device_speed speed; + unsigned int rx_lanes; + unsigned int tx_lanes; + enum usb_ssp_rate ssp_rate; + struct usb_tt *tt; + int ttport; + unsigned int toggle[2]; + struct usb_device *parent; + struct usb_bus *bus; + struct usb_host_endpoint ep0; + struct device dev; + struct usb_device_descriptor descriptor; + struct usb_host_bos *bos; + struct usb_host_config *config; + struct usb_host_config *actconfig; + struct usb_host_endpoint *ep_in[16]; + struct usb_host_endpoint *ep_out[16]; + char **rawdescriptors; + short unsigned int bus_mA; + u8 portnum; + u8 level; + u8 devaddr; + unsigned int can_submit: 1; + unsigned int persist_enabled: 1; + unsigned int reset_in_progress: 1; + unsigned int have_langid: 1; + unsigned int authorized: 1; + unsigned int authenticated: 1; + unsigned int lpm_capable: 1; + unsigned int lpm_devinit_allow: 1; + unsigned int usb2_hw_lpm_capable: 1; + unsigned int usb2_hw_lpm_besl_capable: 1; + unsigned int usb2_hw_lpm_enabled: 1; + unsigned int usb2_hw_lpm_allowed: 1; + unsigned int usb3_lpm_u1_enabled: 1; + unsigned int usb3_lpm_u2_enabled: 1; + int string_langid; + char *product; + char *manufacturer; + char *serial; + struct list_head filelist; + int maxchild; + u32 quirks; + atomic_t urbnum; + long unsigned int active_duration; + long unsigned int connect_time; + unsigned int do_remote_wakeup: 1; + unsigned int reset_resume: 1; + unsigned int port_is_suspended: 1; + enum usb_link_tunnel_mode tunnel_mode; + struct device_link *usb4_link; + int slot_id; + struct usb2_lpm_parameters l1_params; + struct usb3_lpm_parameters u1_params; + struct usb3_lpm_parameters u2_params; + unsigned int lpm_disable_count; + u16 hub_delay; + unsigned int use_generic_driver: 1; +}; + +struct usb_device_id; + +struct usb_device_driver { + const char *name; + bool (*match)(struct usb_device *); + int (*probe)(struct usb_device *); + void (*disconnect)(struct usb_device *); + int (*suspend)(struct usb_device *, pm_message_t); + int (*resume)(struct usb_device *, pm_message_t); + int (*choose_configuration)(struct usb_device *); + const struct attribute_group **dev_groups; + struct device_driver driver; + const struct usb_device_id *id_table; + unsigned int supports_autosuspend: 1; + unsigned int generic_subclass: 1; +}; + +struct usb_device_id { + __u16 match_flags; + __u16 idVendor; + __u16 idProduct; + __u16 bcdDevice_lo; + __u16 bcdDevice_hi; + __u8 bDeviceClass; + __u8 bDeviceSubClass; + __u8 bDeviceProtocol; + __u8 bInterfaceClass; + __u8 bInterfaceSubClass; + __u8 bInterfaceProtocol; + __u8 bInterfaceNumber; + kernel_ulong_t driver_info; +}; + +struct usb_dynids { + struct list_head list; +}; + +struct usb_interface; + +struct usb_driver { + const char *name; + int (*probe)(struct usb_interface *, const struct usb_device_id *); + void (*disconnect)(struct usb_interface *); + int (*unlocked_ioctl)(struct usb_interface *, unsigned int, void *); + int (*suspend)(struct usb_interface *, pm_message_t); + int (*resume)(struct usb_interface *); + int (*reset_resume)(struct usb_interface *); + int (*pre_reset)(struct usb_interface *); + int (*post_reset)(struct usb_interface *); + void (*shutdown)(struct usb_interface *); + const struct usb_device_id *id_table; + const struct attribute_group **dev_groups; + struct usb_dynids dynids; + struct device_driver driver; + unsigned int no_dynamic_id: 1; + unsigned int supports_autosuspend: 1; + unsigned int disable_hub_initiated_lpm: 1; + unsigned int soft_unbind: 1; +}; + +struct usb_dynid { + struct list_head node; + struct usb_device_id id; +}; + +struct usb_ehci_pdata { + int caps_offset; + unsigned int has_tt: 1; + unsigned int has_synopsys_hc_bug: 1; + unsigned int big_endian_desc: 1; + unsigned int big_endian_mmio: 1; + unsigned int no_io_watchdog: 1; + unsigned int reset_on_resume: 1; + unsigned int dma_mask_64: 1; + unsigned int spurious_oc: 1; + int (*power_on)(struct platform_device *); + void (*power_off)(struct platform_device *); + void (*power_suspend)(struct platform_device *); + int (*pre_setup)(struct usb_hcd *); +}; + +struct usb_ep_caps { + unsigned int type_control: 1; + unsigned int type_iso: 1; + unsigned int type_bulk: 1; + unsigned int type_int: 1; + unsigned int dir_in: 1; + unsigned int dir_out: 1; +}; + +struct usb_ep_ops; + +struct usb_ep { + void *driver_data; + const char *name; + const struct usb_ep_ops *ops; + const struct usb_endpoint_descriptor *desc; + const struct usb_ss_ep_comp_descriptor *comp_desc; + struct list_head ep_list; + struct usb_ep_caps caps; + bool claimed; + bool enabled; + unsigned int mult: 2; + unsigned int maxburst: 5; + u8 address; + u16 maxpacket; + u16 maxpacket_limit; + u16 max_streams; +}; + +struct usb_request; + +struct usb_ep_ops { + int (*enable)(struct usb_ep *, const struct usb_endpoint_descriptor *); + int (*disable)(struct usb_ep *); + void (*dispose)(struct usb_ep *); + struct usb_request * (*alloc_request)(struct usb_ep *, gfp_t); + void (*free_request)(struct usb_ep *, struct usb_request *); + int (*queue)(struct usb_ep *, struct usb_request *, gfp_t); + int (*dequeue)(struct usb_ep *, struct usb_request *); + int (*set_halt)(struct usb_ep *, int); + int (*set_wedge)(struct usb_ep *); + int (*fifo_status)(struct usb_ep *); + void (*fifo_flush)(struct usb_ep *); +}; + +struct usb_ext_cap_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDevCapabilityType; + __le32 bmAttributes; +} __attribute__((packed)); + +struct usb_udc; + +struct usb_gadget_ops; + +struct usb_gadget { + struct work_struct work; + struct usb_udc *udc; + const struct usb_gadget_ops *ops; + struct usb_ep *ep0; + struct list_head ep_list; + enum usb_device_speed speed; + enum usb_device_speed max_speed; + enum usb_ssp_rate ssp_rate; + enum usb_ssp_rate max_ssp_rate; + enum usb_device_state state; + spinlock_t state_lock; + bool teardown; + const char *name; + struct device dev; + unsigned int isoch_delay; + unsigned int out_epnum; + unsigned int in_epnum; + unsigned int mA; + struct usb_otg_caps *otg_caps; + unsigned int sg_supported: 1; + unsigned int is_otg: 1; + unsigned int is_a_peripheral: 1; + unsigned int b_hnp_enable: 1; + unsigned int a_hnp_support: 1; + unsigned int a_alt_hnp_support: 1; + unsigned int hnp_polling_support: 1; + unsigned int host_request_flag: 1; + unsigned int quirk_ep_out_aligned_size: 1; + unsigned int quirk_altset_not_supp: 1; + unsigned int quirk_stall_not_supp: 1; + unsigned int quirk_zlp_not_supp: 1; + unsigned int quirk_avoids_skb_reserve: 1; + unsigned int is_selfpowered: 1; + unsigned int deactivated: 1; + unsigned int connected: 1; + unsigned int lpm_capable: 1; + unsigned int wakeup_capable: 1; + unsigned int wakeup_armed: 1; + int irq; + int id_number; +}; + +struct usb_gadget_driver { + char *function; + enum usb_device_speed max_speed; + int (*bind)(struct usb_gadget *, struct usb_gadget_driver *); + void (*unbind)(struct usb_gadget *); + int (*setup)(struct usb_gadget *, const struct usb_ctrlrequest *); + void (*disconnect)(struct usb_gadget *); + void (*suspend)(struct usb_gadget *); + void (*resume)(struct usb_gadget *); + void (*reset)(struct usb_gadget *); + struct device_driver driver; + char *udc_name; + unsigned int match_existing_only: 1; + bool is_bound: 1; +}; + +struct usb_gadget_ops { + int (*get_frame)(struct usb_gadget *); + int (*wakeup)(struct usb_gadget *); + int (*func_wakeup)(struct usb_gadget *, int); + int (*set_remote_wakeup)(struct usb_gadget *, int); + int (*set_selfpowered)(struct usb_gadget *, int); + int (*vbus_session)(struct usb_gadget *, int); + int (*vbus_draw)(struct usb_gadget *, unsigned int); + int (*pullup)(struct usb_gadget *, int); + int (*ioctl)(struct usb_gadget *, unsigned int, long unsigned int); + void (*get_config_params)(struct usb_gadget *, struct usb_dcd_config_params *); + int (*udc_start)(struct usb_gadget *, struct usb_gadget_driver *); + int (*udc_stop)(struct usb_gadget *); + void (*udc_set_speed)(struct usb_gadget *, enum usb_device_speed); + void (*udc_set_ssp_rate)(struct usb_gadget *, enum usb_ssp_rate); + void (*udc_async_callbacks)(struct usb_gadget *, bool); + struct usb_ep * (*match_ep)(struct usb_gadget *, struct usb_endpoint_descriptor *, struct usb_ss_ep_comp_descriptor *); + int (*check_config)(struct usb_gadget *); +}; + +struct usb_phy_roothub; + +struct usb_hcd { + struct usb_bus self; + struct kref kref; + const char *product_desc; + int speed; + char irq_descr[24]; + struct timer_list rh_timer; + struct urb *status_urb; + struct work_struct wakeup_work; + struct work_struct died_work; + const struct hc_driver *driver; + struct usb_phy *usb_phy; + struct usb_phy_roothub *phy_roothub; + long unsigned int flags; + enum usb_dev_authorize_policy dev_policy; + unsigned int rh_registered: 1; + unsigned int rh_pollable: 1; + unsigned int msix_enabled: 1; + unsigned int msi_enabled: 1; + unsigned int skip_phy_initialization: 1; + unsigned int uses_new_polling: 1; + unsigned int has_tt: 1; + unsigned int amd_resume_bug: 1; + unsigned int can_do_streams: 1; + unsigned int tpl_support: 1; + unsigned int cant_recv_wakeups: 1; + unsigned int irq; + void *regs; + resource_size_t rsrc_start; + resource_size_t rsrc_len; + unsigned int power_budget; + struct giveback_urb_bh high_prio_bh; + struct giveback_urb_bh low_prio_bh; + struct mutex *address0_mutex; + struct mutex *bandwidth_mutex; + struct usb_hcd *shared_hcd; + struct usb_hcd *primary_hcd; + struct dma_pool *pool[4]; + int state; + struct gen_pool *localmem_pool; + long unsigned int hcd_priv[0]; +}; + +struct usb_ss_cap_descriptor; + +struct usb_ssp_cap_descriptor; + +struct usb_ss_container_id_descriptor; + +struct usb_ptm_cap_descriptor; + +struct usb_host_bos { + struct usb_bos_descriptor *desc; + struct usb_ext_cap_descriptor *ext_cap; + struct usb_ss_cap_descriptor *ss_cap; + struct usb_ssp_cap_descriptor *ssp_cap; + struct usb_ss_container_id_descriptor *ss_id; + struct usb_ptm_cap_descriptor *ptm_cap; +}; + +struct usb_interface_assoc_descriptor; + +struct usb_interface_cache; + +struct usb_host_config { + struct usb_config_descriptor desc; + char *string; + struct usb_interface_assoc_descriptor *intf_assoc[16]; + struct usb_interface *interface[32]; + struct usb_interface_cache *intf_cache[32]; + unsigned char *extra; + int extralen; +}; + +struct usb_interface_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bInterfaceNumber; + __u8 bAlternateSetting; + __u8 bNumEndpoints; + __u8 bInterfaceClass; + __u8 bInterfaceSubClass; + __u8 bInterfaceProtocol; + __u8 iInterface; +}; + +struct usb_host_interface { + struct usb_interface_descriptor desc; + int extralen; + unsigned char *extra; + struct usb_host_endpoint *endpoint; + char *string; +}; + +struct usb_hub_status { + __le16 wHubStatus; + __le16 wHubChange; +}; + +struct usb_port_status { + __le16 wPortStatus; + __le16 wPortChange; + __le32 dwExtPortStatus; +}; + +struct usb_tt { + struct usb_device *hub; + int multi; + unsigned int think_time; + void *hcpriv; + spinlock_t lock; + struct list_head clear_list; + struct work_struct clear_work; +}; + +struct usb_hub_descriptor; + +struct usb_port; + +struct usb_hub { + struct device *intfdev; + struct usb_device *hdev; + struct kref kref; + struct urb *urb; + u8 (*buffer)[8]; + union { + struct usb_hub_status hub; + struct usb_port_status port; + } *status; + struct mutex status_mutex; + int error; + int nerrors; + long unsigned int event_bits[1]; + long unsigned int change_bits[1]; + long unsigned int removed_bits[1]; + long unsigned int wakeup_bits[1]; + long unsigned int power_bits[1]; + long unsigned int child_usage_bits[1]; + long unsigned int warm_reset_bits[1]; + struct usb_hub_descriptor *descriptor; + struct usb_tt tt; + unsigned int mA_per_port; + unsigned int wakeup_enabled_descendants; + unsigned int limited_power: 1; + unsigned int quiescing: 1; + unsigned int disconnected: 1; + unsigned int in_reset: 1; + unsigned int quirk_disable_autosuspend: 1; + unsigned int quirk_check_port_auto_suspend: 1; + unsigned int has_indicators: 1; + u8 indicator[31]; + struct delayed_work leds; + struct delayed_work init_work; + struct delayed_work post_resume_work; + struct work_struct events; + spinlock_t irq_urb_lock; + struct timer_list irq_urb_retry; + struct usb_port **ports; + struct list_head onboard_devs; +}; + +struct usb_hub_descriptor { + __u8 bDescLength; + __u8 bDescriptorType; + __u8 bNbrPorts; + __le16 wHubCharacteristics; + __u8 bPwrOn2PwrGood; + __u8 bHubContrCurrent; + union { + struct { + __u8 DeviceRemovable[4]; + __u8 PortPwrCtrlMask[4]; + } hs; + struct { + __u8 bHubHdrDecLat; + __le16 wHubDelay; + __le16 DeviceRemovable; + } __attribute__((packed)) ss; + } u; +} __attribute__((packed)); + +struct usb_interface { + struct usb_host_interface *altsetting; + struct usb_host_interface *cur_altsetting; + unsigned int num_altsetting; + struct usb_interface_assoc_descriptor *intf_assoc; + int minor; + enum usb_interface_condition condition; + unsigned int sysfs_files_created: 1; + unsigned int ep_devs_created: 1; + unsigned int unregistering: 1; + unsigned int needs_remote_wakeup: 1; + unsigned int needs_altsetting0: 1; + unsigned int needs_binding: 1; + unsigned int resetting_device: 1; + unsigned int authorized: 1; + enum usb_wireless_status wireless_status; + struct work_struct wireless_status_work; + struct device dev; + struct device *usb_dev; + struct work_struct reset_ws; +}; + +struct usb_interface_assoc_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bFirstInterface; + __u8 bInterfaceCount; + __u8 bFunctionClass; + __u8 bFunctionSubClass; + __u8 bFunctionProtocol; + __u8 iFunction; +}; + +struct usb_interface_cache { + unsigned int num_altsetting; + struct kref ref; + struct usb_host_interface altsetting[0]; +}; + +struct usb_memory { + struct list_head memlist; + int vma_use_count; + int urb_use_count; + u32 size; + void *mem; + dma_addr_t dma_handle; + long unsigned int vm_start; + struct usb_dev_state *ps; +}; + +struct usb_mon_operations { + void (*urb_submit)(struct usb_bus *, struct urb *); + void (*urb_submit_error)(struct usb_bus *, struct urb *, int); + void (*urb_complete)(struct usb_bus *, struct urb *, int); +}; + +struct usb_ohci_pdata { + unsigned int big_endian_desc: 1; + unsigned int big_endian_mmio: 1; + unsigned int no_big_frame_no: 1; + unsigned int num_ports; + int (*power_on)(struct platform_device *); + void (*power_off)(struct platform_device *); + void (*power_suspend)(struct platform_device *); +}; + +struct usb_otg { + u8 default_a; + struct phy *phy; + struct usb_phy *usb_phy; + struct usb_bus *host; + struct usb_gadget *gadget; + enum usb_otg_state state; + int (*set_host)(struct usb_otg *, struct usb_bus *); + int (*set_peripheral)(struct usb_otg *, struct usb_gadget *); + int (*set_vbus)(struct usb_otg *, bool); + int (*start_srp)(struct usb_otg *); + int (*start_hnp)(struct usb_otg *); +}; + +struct usb_phy_io_ops; + +struct usb_phy { + struct device *dev; + const char *label; + unsigned int flags; + enum usb_phy_type type; + enum usb_phy_events last_event; + struct usb_otg *otg; + struct device *io_dev; + struct usb_phy_io_ops *io_ops; + void *io_priv; + struct extcon_dev *edev; + struct extcon_dev *id_edev; + struct notifier_block vbus_nb; + struct notifier_block id_nb; + struct notifier_block type_nb; + enum usb_charger_type chg_type; + enum usb_charger_state chg_state; + struct usb_charger_current chg_cur; + struct work_struct chg_work; + struct atomic_notifier_head notifier; + u16 port_status; + u16 port_change; + struct list_head head; + int (*init)(struct usb_phy *); + void (*shutdown)(struct usb_phy *); + int (*set_vbus)(struct usb_phy *, int); + int (*set_power)(struct usb_phy *, unsigned int); + int (*set_suspend)(struct usb_phy *, int); + int (*set_wakeup)(struct usb_phy *, bool); + int (*notify_connect)(struct usb_phy *, enum usb_device_speed); + int (*notify_disconnect)(struct usb_phy *, enum usb_device_speed); + enum usb_charger_type (*charger_detect)(struct usb_phy *); +}; + +struct usb_phy_io_ops { + int (*read)(struct usb_phy *, u32); + int (*write)(struct usb_phy *, u32, u32); +}; + +struct usb_phy_roothub { + struct phy *phy; + struct list_head list; +}; + +struct usb_port { + struct usb_device *child; + struct device dev; + struct usb_dev_state *port_owner; + struct usb_port *peer; + struct typec_connector *connector; + struct dev_pm_qos_request *req; + enum usb_port_connect_type connect_type; + enum usb_device_state state; + struct kernfs_node *state_kn; + usb_port_location_t location; + struct mutex status_lock; + u32 over_current_count; + u8 portnum; + u32 quirks; + unsigned int early_stop: 1; + unsigned int ignore_event: 1; + unsigned int is_superspeed: 1; + unsigned int usb3_lpm_u1_permit: 1; + unsigned int usb3_lpm_u2_permit: 1; +}; + +struct usb_ptm_cap_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDevCapabilityType; +}; + +struct usb_qualifier_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __le16 bcdUSB; + __u8 bDeviceClass; + __u8 bDeviceSubClass; + __u8 bDeviceProtocol; + __u8 bMaxPacketSize0; + __u8 bNumConfigurations; + __u8 bRESERVED; +}; + +struct usb_request { + struct usb_ep *ep; + void *buf; + unsigned int length; + dma_addr_t dma; + struct scatterlist *sg; + unsigned int num_sgs; + unsigned int num_mapped_sgs; + unsigned int stream_id: 16; + unsigned int is_last: 1; + unsigned int no_interrupt: 1; + unsigned int zero: 1; + unsigned int short_not_ok: 1; + unsigned int dma_mapped: 1; + unsigned int sg_was_mapped: 1; + void (*complete)(struct usb_ep *, struct usb_request *); + void *context; + struct list_head list; + unsigned int frame_number; + int status; + unsigned int actual; +}; + +typedef int (*usb_role_switch_set_t)(struct usb_role_switch *, enum usb_role); + +typedef enum usb_role (*usb_role_switch_get_t)(struct usb_role_switch *); + +struct usb_role_switch { + struct device dev; + struct lock_class_key key; + struct mutex lock; + struct module *module; + enum usb_role role; + bool registered; + struct device *usb2_port; + struct device *usb3_port; + struct device *udc; + usb_role_switch_set_t set; + usb_role_switch_get_t get; + bool allow_userspace_control; +}; + +struct usb_role_switch_desc { + struct fwnode_handle *fwnode; + struct device *usb2_port; + struct device *usb3_port; + struct device *udc; + usb_role_switch_set_t set; + usb_role_switch_get_t get; + bool allow_userspace_control; + void *driver_data; + const char *name; +}; + +struct usb_set_sel_req { + __u8 u1_sel; + __u8 u1_pel; + __le16 u2_sel; + __le16 u2_pel; +}; + +struct usb_sg_request { + int status; + size_t bytes; + spinlock_t lock; + struct usb_device *dev; + int pipe; + int entries; + struct urb **urbs; + int count; + struct completion complete; +}; + +struct usb_ss_cap_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDevCapabilityType; + __u8 bmAttributes; + __le16 wSpeedSupported; + __u8 bFunctionalitySupport; + __u8 bU1devExitLat; + __le16 bU2DevExitLat; +}; + +struct usb_ss_container_id_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDevCapabilityType; + __u8 bReserved; + __u8 ContainerID[16]; +}; + +struct usb_ssp_cap_descriptor { + __u8 bLength; + __u8 bDescriptorType; + __u8 bDevCapabilityType; + __u8 bReserved; + __le32 bmAttributes; + __le16 wFunctionalitySupport; + __le16 wReserved; + union { + __le32 legacy_padding; + struct { + struct {} __empty_bmSublinkSpeedAttr; + __le32 bmSublinkSpeedAttr[0]; + }; + }; +}; + +struct usb_string_descriptor { + __u8 bLength; + __u8 bDescriptorType; + union { + __le16 legacy_padding; + struct { + struct {} __empty_wData; + __le16 wData[0]; + }; + }; +}; + +struct usb_tt_clear { + struct list_head clear_list; + unsigned int tt; + u16 devinfo; + struct usb_hcd *hcd; + struct usb_host_endpoint *ep; +}; + +struct usbdevfs_bulktransfer { + unsigned int ep; + unsigned int len; + unsigned int timeout; + void *data; +}; + +struct usbdevfs_bulktransfer32 { + compat_uint_t ep; + compat_uint_t len; + compat_uint_t timeout; + compat_caddr_t data; +}; + +struct usbdevfs_connectinfo { + unsigned int devnum; + unsigned char slow; +}; + +struct usbdevfs_conninfo_ex { + __u32 size; + __u32 busnum; + __u32 devnum; + __u32 speed; + __u8 num_ports; + __u8 ports[7]; +}; + +struct usbdevfs_ctrltransfer { + __u8 bRequestType; + __u8 bRequest; + __u16 wValue; + __u16 wIndex; + __u16 wLength; + __u32 timeout; + void *data; +}; + +struct usbdevfs_ctrltransfer32 { + u8 bRequestType; + u8 bRequest; + u16 wValue; + u16 wIndex; + u16 wLength; + u32 timeout; + compat_caddr_t data; +}; + +struct usbdevfs_disconnect_claim { + unsigned int interface; + unsigned int flags; + char driver[256]; +}; + +struct usbdevfs_disconnectsignal { + unsigned int signr; + void *context; +}; + +struct usbdevfs_disconnectsignal32 { + compat_int_t signr; + compat_caddr_t context; +}; + +struct usbdevfs_getdriver { + unsigned int interface; + char driver[256]; +}; + +struct usbdevfs_hub_portinfo { + char nports; + char port[127]; +}; + +struct usbdevfs_ioctl { + int ifno; + int ioctl_code; + void *data; +}; + +struct usbdevfs_ioctl32 { + s32 ifno; + s32 ioctl_code; + compat_caddr_t data; +}; + +struct usbdevfs_iso_packet_desc { + unsigned int length; + unsigned int actual_length; + unsigned int status; +}; + +struct usbdevfs_setinterface { + unsigned int interface; + unsigned int altsetting; +}; + +struct usbdevfs_streams { + unsigned int num_streams; + unsigned int num_eps; + unsigned char eps[0]; +}; + +struct usbdevfs_urb { + unsigned char type; + unsigned char endpoint; + int status; + unsigned int flags; + void *buffer; + int buffer_length; + int actual_length; + int start_frame; + union { + int number_of_packets; + unsigned int stream_id; + }; + int error_count; + unsigned int signr; + void *usercontext; + struct usbdevfs_iso_packet_desc iso_frame_desc[0]; +}; + +struct usbdevfs_urb32 { + unsigned char type; + unsigned char endpoint; + compat_int_t status; + compat_uint_t flags; + compat_caddr_t buffer; + compat_int_t buffer_length; + compat_int_t actual_length; + compat_int_t start_frame; + compat_int_t number_of_packets; + compat_int_t error_count; + compat_uint_t signr; + compat_caddr_t usercontext; + struct usbdevfs_iso_packet_desc iso_frame_desc[0]; +}; + +struct used_address { + struct __kernel_sockaddr_storage name; + unsigned int name_len; +}; + +struct user_arg_ptr { + bool is_compat; + union { + const char * const *native; + const compat_uptr_t *compat; + } ptr; +}; + +struct user_datum { + u32 value; + u32 bounds; + struct ebitmap roles; + struct mls_range range; + struct mls_level dfltlevel; +}; + +struct user_desc { + unsigned int entry_number; + unsigned int base_addr; + unsigned int limit; + unsigned int seg_32bit: 1; + unsigned int contents: 2; + unsigned int read_exec_only: 1; + unsigned int limit_in_pages: 1; + unsigned int seg_not_present: 1; + unsigned int useable: 1; + unsigned int lm: 1; +}; + +struct user_event_group; + +struct user_event { + struct user_event_group *group; + char *reg_name; + struct tracepoint tracepoint; + struct trace_event_call call; + struct trace_event_class class; + struct dyn_event devent; + struct hlist_node node; + struct list_head fields; + struct list_head validators; + struct work_struct put_work; + refcount_t refcnt; + int min_size; + int reg_flags; + char status; +}; + +struct user_event_enabler { + struct list_head mm_enablers_link; + struct user_event *event; + long unsigned int addr; + long unsigned int values; +}; + +struct user_event_enabler_fault { + struct work_struct work; + struct user_event_mm *mm; + struct user_event_enabler *enabler; + int attempt; +}; + +struct user_event_refs; + +struct user_event_file_info { + struct user_event_group *group; + struct user_event_refs *refs; +}; + +struct user_event_group { + char *system_name; + char *system_multi_name; + struct hlist_node node; + struct mutex reg_mutex; + struct hlist_head register_table[256]; + u64 multi_id; +}; + +struct user_event_mm { + struct list_head mms_link; + struct list_head enablers; + struct mm_struct *mm; + struct user_event_mm *next; + refcount_t refcnt; + refcount_t tasks; + struct rcu_work put_rwork; +}; + +struct user_event_refs { + struct callback_head rcu; + int count; + struct user_event *events[0]; +}; + +struct user_event_validator { + struct list_head user_event_link; + int offset; + int flags; +}; + +struct user_i387_ia32_struct { + u32 cwd; + u32 swd; + u32 twd; + u32 fip; + u32 fcs; + u32 foo; + u32 fos; + u32 st_space[20]; +}; + +struct user_key_payload { + struct callback_head rcu; + short unsigned int datalen; + long: 0; + char data[0]; +}; + +struct user_namespace { + struct uid_gid_map uid_map; + struct uid_gid_map gid_map; + struct uid_gid_map projid_map; + struct user_namespace *parent; + int level; + kuid_t owner; + kgid_t group; + struct ns_common ns; + long unsigned int flags; + bool parent_could_setfcap; + struct list_head keyring_name_list; + struct key *user_keyring_register; + struct rw_semaphore keyring_sem; + struct key *persistent_keyring_register; + struct work_struct work; + struct ctl_table_set set; + struct ctl_table_header *sysctls; + struct ucounts *ucounts; + long int ucount_max[12]; + long int rlimit_max[4]; + struct binfmt_misc *binfmt_misc; +}; + +struct user_reg { + __u32 size; + __u8 enable_bit; + __u8 enable_size; + __u16 flags; + __u64 enable_addr; + __u64 name_args; + __u32 write_index; +} __attribute__((packed)); + +struct user_regset; + +typedef int user_regset_get2_fn(struct task_struct *, const struct user_regset *, struct membuf); + +typedef int user_regset_set_fn(struct task_struct *, const struct user_regset *, unsigned int, unsigned int, const void *, const void *); + +typedef int user_regset_active_fn(struct task_struct *, const struct user_regset *); + +typedef int user_regset_writeback_fn(struct task_struct *, const struct user_regset *, int); + +struct user_regset { + user_regset_get2_fn *regset_get; + user_regset_set_fn *set; + user_regset_active_fn *active; + user_regset_writeback_fn *writeback; + unsigned int n; + unsigned int size; + unsigned int align; + unsigned int bias; + unsigned int core_note_type; + const char *core_note_name; +}; + +struct user_regset_view { + const char *name; + const struct user_regset *regsets; + unsigned int n; + u32 e_flags; + u16 e_machine; + u8 ei_osabi; +}; + +struct user_return_notifier { + void (*on_user_return)(struct user_return_notifier *); + struct hlist_node link; +}; + +struct user_struct { + refcount_t __count; + struct percpu_counter epoll_watches; + long unsigned int unix_inflight; + atomic_long_t pipe_bufs; + struct hlist_node uidhash_node; + kuid_t uid; + atomic_long_t locked_vm; + atomic_t nr_watches; + struct ratelimit_state ratelimit; +}; + +struct user_syms { + const char **syms; + char *buf; +}; + +struct user_threshold { + struct list_head list_node; + int temperature; + int direction; +}; + +struct user_unreg { + __u32 size; + __u8 disable_bit; + __u8 __reserved; + __u16 __reserved2; + __u64 disable_addr; +}; + +struct userfaultfd_ctx { + wait_queue_head_t fault_pending_wqh; + wait_queue_head_t fault_wqh; + wait_queue_head_t fd_wqh; + wait_queue_head_t event_wqh; + seqcount_spinlock_t refile_seq; + refcount_t refcount; + unsigned int flags; + unsigned int features; + bool released; + struct rw_semaphore map_changing_lock; + atomic_t mmap_changing; + struct mm_struct *mm; +}; + +struct userfaultfd_fork_ctx { + struct userfaultfd_ctx *orig; + struct userfaultfd_ctx *new; + struct list_head list; +}; + +struct userfaultfd_unmap_ctx { + struct userfaultfd_ctx *ctx; + long unsigned int start; + long unsigned int end; + struct list_head list; +}; + +struct userfaultfd_wait_queue { + struct uffd_msg msg; + wait_queue_entry_t wq; + struct userfaultfd_ctx *ctx; + bool waken; +}; + +struct userfaultfd_wake_range { + long unsigned int start; + long unsigned int len; +}; + +struct userspace_data { + long unsigned int user_frequency; + bool valid; +}; + +struct userspace_policy { + unsigned int is_managed; + unsigned int setspeed; + struct mutex mutex; +}; + +struct userstack_entry { + struct trace_entry ent; + unsigned int tgid; + long unsigned int caller[8]; +}; + +struct ustat { + __kernel_daddr_t f_tfree; + long unsigned int f_tinode; + char f_fname[6]; + char f_fpack[6]; +}; + +struct ustring_buffer { + char buffer[1024]; +}; + +struct utf8_table { + int cmask; + int cval; + int shift; + long int lmask; + long int lval; +}; + +struct utf8cursor { + const struct unicode_map *um; + enum utf8_normalization n; + const char *s; + const char *p; + const char *ss; + const char *sp; + unsigned int len; + unsigned int slen; + short int ccc; + short int nccc; + unsigned char hangul[12]; +}; + +struct utf8data { + unsigned int maxage; + unsigned int offset; +}; + +struct utf8data_table { + const unsigned int *utf8agetab; + int utf8agetab_size; + const struct utf8data *utf8nfdicfdata; + int utf8nfdicfdata_size; + const struct utf8data *utf8nfdidata; + int utf8nfdidata_size; + const unsigned char *utf8data; +}; + +struct utimbuf { + __kernel_old_time_t actime; + __kernel_old_time_t modtime; +}; + +struct uts_namespace { + struct new_utsname name; + struct user_namespace *user_ns; + struct ucounts *ucounts; + struct ns_common ns; +}; + +union uu { + short unsigned int us; + unsigned char b[2]; +}; + +struct uuidcmp { + const char *uuid; + int len; +}; + +struct uv2h_gr0_gam_gr_config_s { + long unsigned int n_gr: 4; + long unsigned int reserved: 60; +}; + +struct uv2h_node_id_s { + long unsigned int force1: 1; + long unsigned int manufacturer: 11; + long unsigned int part_number: 16; + long unsigned int revision: 4; + long unsigned int node_id: 15; + long unsigned int rsvd_47_49: 3; + long unsigned int nodes_per_bit: 7; + long unsigned int ni_port: 5; + long unsigned int rsvd_62_63: 2; +}; + +struct uv2h_rh_gam_addr_map_config_s { + long unsigned int m_skt: 6; + long unsigned int n_skt: 4; + long unsigned int rsvd_10_63: 54; +}; + +struct uv2h_rh_gam_alias_2_overlay_config_s { + long unsigned int rsvd_0_23: 24; + long unsigned int base: 8; + long unsigned int rsvd_32_47: 16; + long unsigned int m_alias: 5; + long unsigned int rsvd_53_62: 10; + long unsigned int enable: 1; +}; + +struct uv2h_rh_gam_alias_2_redirect_config_s { + long unsigned int rsvd_0_23: 24; + long unsigned int dest_base: 22; + long unsigned int rsvd_46_63: 18; +}; + +struct uv2h_rh_gam_gru_overlay_config_s { + long unsigned int rsvd_0_27: 28; + long unsigned int base: 18; + long unsigned int rsvd_46_51: 6; + long unsigned int n_gru: 4; + long unsigned int rsvd_56_62: 7; + long unsigned int enable: 1; +}; + +struct uv2h_rh_gam_mmioh_overlay_config_s { + long unsigned int rsvd_0_26: 27; + long unsigned int base: 19; + long unsigned int m_io: 6; + long unsigned int n_io: 4; + long unsigned int rsvd_56_62: 7; + long unsigned int enable: 1; +}; + +struct uv2h_rh_gam_mmr_overlay_config_s { + long unsigned int rsvd_0_25: 26; + long unsigned int base: 20; + long unsigned int rsvd_46_62: 17; + long unsigned int enable: 1; +}; + +struct uv3h_gr0_gam_gr_config_s { + long unsigned int m_skt: 6; + long unsigned int undef_6_9: 4; + long unsigned int subspace: 1; + long unsigned int reserved: 53; +}; + +struct uv3h_node_id_s { + long unsigned int force1: 1; + long unsigned int manufacturer: 11; + long unsigned int part_number: 16; + long unsigned int revision: 4; + long unsigned int node_id: 15; + long unsigned int rsvd_47: 1; + long unsigned int router_select: 1; + long unsigned int rsvd_49: 1; + long unsigned int nodes_per_bit: 7; + long unsigned int ni_port: 5; + long unsigned int rsvd_62_63: 2; +}; + +struct uv3h_rh_gam_addr_map_config_s { + long unsigned int m_skt: 6; + long unsigned int n_skt: 4; + long unsigned int rsvd_10_63: 54; +}; + +struct uv3h_rh_gam_alias_2_overlay_config_s { + long unsigned int rsvd_0_23: 24; + long unsigned int base: 8; + long unsigned int rsvd_32_47: 16; + long unsigned int m_alias: 5; + long unsigned int rsvd_53_62: 10; + long unsigned int enable: 1; +}; + +struct uv3h_rh_gam_alias_2_redirect_config_s { + long unsigned int rsvd_0_23: 24; + long unsigned int dest_base: 22; + long unsigned int rsvd_46_63: 18; +}; + +struct uv3h_rh_gam_gru_overlay_config_s { + long unsigned int rsvd_0_27: 28; + long unsigned int base: 18; + long unsigned int rsvd_46_51: 6; + long unsigned int n_gru: 4; + long unsigned int rsvd_56_61: 6; + long unsigned int mode: 1; + long unsigned int enable: 1; +}; + +struct uv3h_rh_gam_mmioh_overlay_config0_s { + long unsigned int rsvd_0_25: 26; + long unsigned int base: 20; + long unsigned int m_io: 6; + long unsigned int n_io: 4; + long unsigned int rsvd_56_62: 7; + long unsigned int enable: 1; +}; + +struct uv3h_rh_gam_mmioh_overlay_config1_s { + long unsigned int rsvd_0_25: 26; + long unsigned int base: 20; + long unsigned int m_io: 6; + long unsigned int n_io: 4; + long unsigned int rsvd_56_62: 7; + long unsigned int enable: 1; +}; + +struct uv3h_rh_gam_mmr_overlay_config_s { + long unsigned int rsvd_0_25: 26; + long unsigned int base: 20; + long unsigned int rsvd_46_62: 17; + long unsigned int enable: 1; +}; + +struct uv4ah_rh_gam_gru_overlay_config_s { + long unsigned int rsvd_0_24: 25; + long unsigned int undef_25: 1; + long unsigned int base: 26; + long unsigned int n_gru: 4; + long unsigned int rsvd_56_62: 7; + long unsigned int enable: 1; +}; + +struct uv4ah_rh_gam_mmioh_overlay_config0_mmr_s { + long unsigned int rsvd_0_25: 26; + long unsigned int base: 26; + long unsigned int m_io: 6; + long unsigned int n_io: 4; + long unsigned int undef_62: 1; + long unsigned int enable: 1; +}; + +struct uv4ah_rh_gam_mmioh_overlay_config1_mmr_s { + long unsigned int rsvd_0_25: 26; + long unsigned int base: 26; + long unsigned int m_io: 6; + long unsigned int n_io: 4; + long unsigned int undef_62: 1; + long unsigned int enable: 1; +}; + +struct uv4h_gr0_gam_gr_config_s { + long unsigned int rsvd_0_9: 10; + long unsigned int subspace: 1; + long unsigned int rsvd_11_63: 53; +}; + +struct uv4h_node_id_s { + long unsigned int force1: 1; + long unsigned int manufacturer: 11; + long unsigned int part_number: 16; + long unsigned int revision: 4; + long unsigned int node_id: 15; + long unsigned int rsvd_47: 1; + long unsigned int router_select: 1; + long unsigned int rsvd_49: 1; + long unsigned int nodes_per_bit: 7; + long unsigned int ni_port: 5; + long unsigned int rsvd_62_63: 2; +}; + +struct uv4h_rh_gam_addr_map_config_s { + long unsigned int rsvd_0_5: 6; + long unsigned int n_skt: 4; + long unsigned int rsvd_10_63: 54; +}; + +struct uv4h_rh_gam_alias_2_overlay_config_s { + long unsigned int rsvd_0_23: 24; + long unsigned int base: 8; + long unsigned int rsvd_32_47: 16; + long unsigned int m_alias: 5; + long unsigned int rsvd_53_62: 10; + long unsigned int enable: 1; +}; + +struct uv4h_rh_gam_alias_2_redirect_config_s { + long unsigned int rsvd_0_23: 24; + long unsigned int dest_base: 22; + long unsigned int rsvd_46_63: 18; +}; + +struct uv4h_rh_gam_gru_overlay_config_s { + long unsigned int rsvd_0_24: 25; + long unsigned int undef_25: 1; + long unsigned int base: 20; + long unsigned int rsvd_46_51: 6; + long unsigned int n_gru: 4; + long unsigned int rsvd_56_62: 7; + long unsigned int enable: 1; +}; + +struct uv4h_rh_gam_mmioh_overlay_config0_s { + long unsigned int rsvd_0_25: 26; + long unsigned int base: 20; + long unsigned int m_io: 6; + long unsigned int n_io: 4; + long unsigned int rsvd_56_62: 7; + long unsigned int enable: 1; +}; + +struct uv4h_rh_gam_mmioh_overlay_config1_s { + long unsigned int rsvd_0_25: 26; + long unsigned int base: 20; + long unsigned int m_io: 6; + long unsigned int n_io: 4; + long unsigned int rsvd_56_62: 7; + long unsigned int enable: 1; +}; + +struct uv4h_rh_gam_mmr_overlay_config_s { + long unsigned int rsvd_0_25: 26; + long unsigned int base: 20; + long unsigned int rsvd_46_62: 17; + long unsigned int enable: 1; +}; + +struct uv5h_gr0_gam_gr_config_s { + long unsigned int rsvd_0_9: 10; + long unsigned int subspace: 1; + long unsigned int rsvd_11_63: 53; +}; + +struct uv5h_node_id_s { + long unsigned int force1: 1; + long unsigned int manufacturer: 11; + long unsigned int part_number: 16; + long unsigned int revision: 4; + long unsigned int node_id: 7; + long unsigned int rsvd_39_56: 18; + long unsigned int ni_port: 6; + long unsigned int rsvd_63: 1; +}; + +struct uv5h_rh10_gam_addr_map_config_s { + long unsigned int undef_0_5: 6; + long unsigned int n_skt: 3; + long unsigned int undef_9_11: 3; + long unsigned int ls_enable: 1; + long unsigned int undef_13_15: 3; + long unsigned int mk_tme_keyid_bits: 4; +}; + +struct uv5h_rh10_gam_mmioh_overlay_config0_s { + long unsigned int rsvd_0_25: 26; + long unsigned int base: 26; + long unsigned int m_io: 6; + long unsigned int n_io: 4; + long unsigned int undef_62: 1; + long unsigned int enable: 1; +}; + +struct uv5h_rh10_gam_mmioh_overlay_config1_s { + long unsigned int rsvd_0_25: 26; + long unsigned int base: 26; + long unsigned int m_io: 6; + long unsigned int n_io: 4; + long unsigned int undef_62: 1; + long unsigned int enable: 1; +}; + +struct uv5h_rh10_gam_mmr_overlay_config_s { + long unsigned int undef_0_24: 25; + long unsigned int base: 27; + long unsigned int undef_52_62: 11; + long unsigned int enable: 1; +}; + +struct uv_IO_APIC_route_entry { + __u64 vector: 8; + __u64 delivery_mode: 3; + __u64 dest_mode: 1; + __u64 delivery_status: 1; + __u64 polarity: 1; + __u64 __reserved_1: 1; + __u64 trigger: 1; + __u64 mask: 1; + __u64 __reserved_2: 15; + __u64 dest: 32; +}; + +struct uv_arch_type_entry { + char archtype[8]; +}; + +struct uv_cpu_info_s { + void *p_uv_hub_info; + unsigned char blade_cpu_id; + void *reserved; +}; + +struct uv_hub_nmi_s; + +struct uv_cpu_nmi_s { + struct uv_hub_nmi_s *hub; + int state; + int pinging; + int queries; + int pings; +}; + +struct uv_gam_parameters { + u64 mmr_base; + u64 gru_base; + u8 mmr_shift; + u8 gru_shift; + u8 gpa_shift; + u8 unused1; +}; + +struct uv_gam_range_entry { + char type; + char unused1; + u16 nasid; + u16 sockid; + u16 pnode; + u32 unused2; + u32 limit; +}; + +struct uv_gam_range_s { + u32 limit; + u16 nasid; + s8 base; + u8 reserved; +}; + +struct uv_hub_info_s { + unsigned int hub_type; + unsigned char hub_revision; + long unsigned int global_mmr_base; + long unsigned int global_mmr_shift; + long unsigned int gpa_mask; + short unsigned int *socket_to_node; + short unsigned int *socket_to_pnode; + short unsigned int *pnode_to_socket; + struct uv_gam_range_s *gr_table; + short unsigned int min_socket; + short unsigned int min_pnode; + unsigned char m_val; + unsigned char n_val; + unsigned char gr_table_len; + unsigned char apic_pnode_shift; + unsigned char gpa_shift; + unsigned char nasid_shift; + unsigned char m_shift; + unsigned char n_lshift; + unsigned int gnode_extra; + long unsigned int gnode_upper; + long unsigned int lowmem_remap_top; + long unsigned int lowmem_remap_base; + long unsigned int global_gru_base; + long unsigned int global_gru_shift; + short unsigned int pnode; + short unsigned int pnode_mask; + short unsigned int coherency_domain_number; + short unsigned int numa_blade_id; + short unsigned int nr_possible_cpus; + short unsigned int nr_online_cpus; + short int memory_nid; + short unsigned int *node_to_socket; +}; + +struct uv_hub_nmi_s { + raw_spinlock_t nmi_lock; + atomic_t in_nmi; + atomic_t cpu_owner; + atomic_t read_mmr_count; + atomic_t nmi_count; + long unsigned int nmi_value; + bool hub_present; + bool pch_owner; +}; + +struct uv_irq_2_mmr_pnode { + long unsigned int offset; + int pnode; +}; + +struct uv_rtc_timer_head { + spinlock_t lock; + int next_cpu; + int ncpus; + struct { + int lcpu; + u64 expires; + } cpu[0]; +}; + +struct uv_systab { + char signature[4]; + u32 revision; + u64 (*function)(enum uv_bios_cmd, ...); + u32 size; + struct { + u32 type: 8; + u32 offset: 24; + } entry[1]; +}; + +struct uvh_apicid_s { + long unsigned int local_apic_mask: 24; + long unsigned int local_apic_shift: 5; + long unsigned int unused1: 3; + long unsigned int pnode_mask: 24; + long unsigned int pnode_shift: 5; + long unsigned int unused2: 3; +}; + +union uvh_apicid { + long unsigned int v; + struct uvh_apicid_s s; +}; + +struct uvh_node_id_s { + long unsigned int force1: 1; + long unsigned int manufacturer: 11; + long unsigned int part_number: 16; + long unsigned int revision: 4; + long unsigned int rsvd_32_63: 32; +}; + +struct uvxh_node_id_s { + long unsigned int force1: 1; + long unsigned int manufacturer: 11; + long unsigned int part_number: 16; + long unsigned int revision: 4; + long unsigned int node_id: 15; + long unsigned int rsvd_47_49: 3; + long unsigned int nodes_per_bit: 7; + long unsigned int ni_port: 5; + long unsigned int rsvd_62_63: 2; +}; + +struct uvyh_node_id_s { + long unsigned int force1: 1; + long unsigned int manufacturer: 11; + long unsigned int part_number: 16; + long unsigned int revision: 4; + long unsigned int node_id: 7; + long unsigned int rsvd_39_56: 18; + long unsigned int ni_port: 6; + long unsigned int rsvd_63: 1; +}; + +union uvh_node_id_u { + long unsigned int v; + struct uvh_node_id_s s; + struct uvxh_node_id_s sx; + struct uvyh_node_id_s sy; + struct uv5h_node_id_s s5; + struct uv4h_node_id_s s4; + struct uv3h_node_id_s s3; + struct uv2h_node_id_s s2; +}; + +struct uvh_rh10_gam_addr_map_config_s { + long unsigned int undef_0_5: 6; + long unsigned int n_skt: 3; + long unsigned int undef_9_11: 3; + long unsigned int ls_enable: 1; + long unsigned int undef_13_15: 3; + long unsigned int mk_tme_keyid_bits: 4; + long unsigned int rsvd_20_63: 44; +}; + +struct uvyh_rh10_gam_addr_map_config_s { + long unsigned int undef_0_5: 6; + long unsigned int n_skt: 3; + long unsigned int undef_9_11: 3; + long unsigned int ls_enable: 1; + long unsigned int undef_13_15: 3; + long unsigned int mk_tme_keyid_bits: 4; + long unsigned int rsvd_20_63: 44; +}; + +union uvh_rh10_gam_addr_map_config_u { + long unsigned int v; + struct uvh_rh10_gam_addr_map_config_s s; + struct uvyh_rh10_gam_addr_map_config_s sy; + struct uv5h_rh10_gam_addr_map_config_s s5; +}; + +struct uvh_rh10_gam_mmioh_overlay_config0_s { + long unsigned int rsvd_0_25: 26; + long unsigned int base: 26; + long unsigned int m_io: 6; + long unsigned int n_io: 4; + long unsigned int undef_62: 1; + long unsigned int enable: 1; +}; + +struct uvyh_rh10_gam_mmioh_overlay_config0_s { + long unsigned int rsvd_0_25: 26; + long unsigned int base: 26; + long unsigned int m_io: 6; + long unsigned int n_io: 4; + long unsigned int undef_62: 1; + long unsigned int enable: 1; +}; + +union uvh_rh10_gam_mmioh_overlay_config0_u { + long unsigned int v; + struct uvh_rh10_gam_mmioh_overlay_config0_s s; + struct uvyh_rh10_gam_mmioh_overlay_config0_s sy; + struct uv5h_rh10_gam_mmioh_overlay_config0_s s5; +}; + +struct uvh_rh10_gam_mmioh_overlay_config1_s { + long unsigned int rsvd_0_25: 26; + long unsigned int base: 26; + long unsigned int m_io: 6; + long unsigned int n_io: 4; + long unsigned int undef_62: 1; + long unsigned int enable: 1; +}; + +struct uvyh_rh10_gam_mmioh_overlay_config1_s { + long unsigned int rsvd_0_25: 26; + long unsigned int base: 26; + long unsigned int m_io: 6; + long unsigned int n_io: 4; + long unsigned int undef_62: 1; + long unsigned int enable: 1; +}; + +union uvh_rh10_gam_mmioh_overlay_config1_u { + long unsigned int v; + struct uvh_rh10_gam_mmioh_overlay_config1_s s; + struct uvyh_rh10_gam_mmioh_overlay_config1_s sy; + struct uv5h_rh10_gam_mmioh_overlay_config1_s s5; +}; + +struct uvh_rh10_gam_mmr_overlay_config_s { + long unsigned int undef_0_24: 25; + long unsigned int base: 27; + long unsigned int undef_52_62: 11; + long unsigned int enable: 1; +}; + +struct uvyh_rh10_gam_mmr_overlay_config_s { + long unsigned int undef_0_24: 25; + long unsigned int base: 27; + long unsigned int undef_52_62: 11; + long unsigned int enable: 1; +}; + +union uvh_rh10_gam_mmr_overlay_config_u { + long unsigned int v; + struct uvh_rh10_gam_mmr_overlay_config_s s; + struct uvyh_rh10_gam_mmr_overlay_config_s sy; + struct uv5h_rh10_gam_mmr_overlay_config_s s5; +}; + +struct uvh_rh_gam_addr_map_config_s { + long unsigned int rsvd_0_5: 6; + long unsigned int n_skt: 4; + long unsigned int rsvd_10_63: 54; +}; + +struct uvxh_rh_gam_addr_map_config_s { + long unsigned int rsvd_0_5: 6; + long unsigned int n_skt: 4; + long unsigned int rsvd_10_63: 54; +}; + +union uvh_rh_gam_addr_map_config_u { + long unsigned int v; + struct uvh_rh_gam_addr_map_config_s s; + struct uvxh_rh_gam_addr_map_config_s sx; + struct uv4h_rh_gam_addr_map_config_s s4; + struct uv3h_rh_gam_addr_map_config_s s3; + struct uv2h_rh_gam_addr_map_config_s s2; +}; + +struct uvh_rh_gam_alias_2_overlay_config_s { + long unsigned int rsvd_0_23: 24; + long unsigned int base: 8; + long unsigned int rsvd_32_47: 16; + long unsigned int m_alias: 5; + long unsigned int rsvd_53_62: 10; + long unsigned int enable: 1; +}; + +struct uvxh_rh_gam_alias_2_overlay_config_s { + long unsigned int rsvd_0_23: 24; + long unsigned int base: 8; + long unsigned int rsvd_32_47: 16; + long unsigned int m_alias: 5; + long unsigned int rsvd_53_62: 10; + long unsigned int enable: 1; +}; + +union uvh_rh_gam_alias_2_overlay_config_u { + long unsigned int v; + struct uvh_rh_gam_alias_2_overlay_config_s s; + struct uvxh_rh_gam_alias_2_overlay_config_s sx; + struct uv4h_rh_gam_alias_2_overlay_config_s s4; + struct uv3h_rh_gam_alias_2_overlay_config_s s3; + struct uv2h_rh_gam_alias_2_overlay_config_s s2; +}; + +struct uvh_rh_gam_alias_2_redirect_config_s { + long unsigned int rsvd_0_23: 24; + long unsigned int dest_base: 22; + long unsigned int rsvd_46_63: 18; +}; + +struct uvxh_rh_gam_alias_2_redirect_config_s { + long unsigned int rsvd_0_23: 24; + long unsigned int dest_base: 22; + long unsigned int rsvd_46_63: 18; +}; + +union uvh_rh_gam_alias_2_redirect_config_u { + long unsigned int v; + struct uvh_rh_gam_alias_2_redirect_config_s s; + struct uvxh_rh_gam_alias_2_redirect_config_s sx; + struct uv4h_rh_gam_alias_2_redirect_config_s s4; + struct uv3h_rh_gam_alias_2_redirect_config_s s3; + struct uv2h_rh_gam_alias_2_redirect_config_s s2; +}; + +struct uvh_rh_gam_gru_overlay_config_s { + long unsigned int rsvd_0_45: 46; + long unsigned int rsvd_46_51: 6; + long unsigned int n_gru: 4; + long unsigned int rsvd_56_62: 7; + long unsigned int enable: 1; +}; + +struct uvxh_rh_gam_gru_overlay_config_s { + long unsigned int rsvd_0_45: 46; + long unsigned int rsvd_46_51: 6; + long unsigned int n_gru: 4; + long unsigned int rsvd_56_62: 7; + long unsigned int enable: 1; +}; + +union uvh_rh_gam_gru_overlay_config_u { + long unsigned int v; + struct uvh_rh_gam_gru_overlay_config_s s; + struct uvxh_rh_gam_gru_overlay_config_s sx; + struct uv4ah_rh_gam_gru_overlay_config_s s4a; + struct uv4h_rh_gam_gru_overlay_config_s s4; + struct uv3h_rh_gam_gru_overlay_config_s s3; + struct uv2h_rh_gam_gru_overlay_config_s s2; +}; + +struct uvh_rh_gam_mmioh_overlay_config0_s { + long unsigned int rsvd_0_25: 26; + long unsigned int base: 20; + long unsigned int m_io: 6; + long unsigned int n_io: 4; + long unsigned int rsvd_56_62: 7; + long unsigned int enable: 1; +}; + +struct uvxh_rh_gam_mmioh_overlay_config0_s { + long unsigned int rsvd_0_25: 26; + long unsigned int base: 20; + long unsigned int m_io: 6; + long unsigned int n_io: 4; + long unsigned int rsvd_56_62: 7; + long unsigned int enable: 1; +}; + +union uvh_rh_gam_mmioh_overlay_config0_u { + long unsigned int v; + struct uvh_rh_gam_mmioh_overlay_config0_s s; + struct uvxh_rh_gam_mmioh_overlay_config0_s sx; + struct uv4ah_rh_gam_mmioh_overlay_config0_mmr_s s4a; + struct uv4h_rh_gam_mmioh_overlay_config0_s s4; + struct uv3h_rh_gam_mmioh_overlay_config0_s s3; +}; + +struct uvh_rh_gam_mmioh_overlay_config1_s { + long unsigned int rsvd_0_25: 26; + long unsigned int base: 20; + long unsigned int m_io: 6; + long unsigned int n_io: 4; + long unsigned int rsvd_56_62: 7; + long unsigned int enable: 1; +}; + +struct uvxh_rh_gam_mmioh_overlay_config1_s { + long unsigned int rsvd_0_25: 26; + long unsigned int base: 20; + long unsigned int m_io: 6; + long unsigned int n_io: 4; + long unsigned int rsvd_56_62: 7; + long unsigned int enable: 1; +}; + +union uvh_rh_gam_mmioh_overlay_config1_u { + long unsigned int v; + struct uvh_rh_gam_mmioh_overlay_config1_s s; + struct uvxh_rh_gam_mmioh_overlay_config1_s sx; + struct uv4ah_rh_gam_mmioh_overlay_config1_mmr_s s4a; + struct uv4h_rh_gam_mmioh_overlay_config1_s s4; + struct uv3h_rh_gam_mmioh_overlay_config1_s s3; +}; + +struct uvh_rh_gam_mmioh_overlay_config_s { + long unsigned int rsvd_0_26: 27; + long unsigned int base: 19; + long unsigned int m_io: 6; + long unsigned int n_io: 4; + long unsigned int rsvd_56_62: 7; + long unsigned int enable: 1; +}; + +struct uvxh_rh_gam_mmioh_overlay_config_s { + long unsigned int rsvd_0_26: 27; + long unsigned int base: 19; + long unsigned int m_io: 6; + long unsigned int n_io: 4; + long unsigned int rsvd_56_62: 7; + long unsigned int enable: 1; +}; + +union uvh_rh_gam_mmioh_overlay_config_u { + long unsigned int v; + struct uvh_rh_gam_mmioh_overlay_config_s s; + struct uvxh_rh_gam_mmioh_overlay_config_s sx; + struct uv2h_rh_gam_mmioh_overlay_config_s s2; +}; + +struct uvh_rh_gam_mmr_overlay_config_s { + long unsigned int rsvd_0_25: 26; + long unsigned int base: 20; + long unsigned int rsvd_46_62: 17; + long unsigned int enable: 1; +}; + +struct uvxh_rh_gam_mmr_overlay_config_s { + long unsigned int rsvd_0_25: 26; + long unsigned int base: 20; + long unsigned int rsvd_46_62: 17; + long unsigned int enable: 1; +}; + +union uvh_rh_gam_mmr_overlay_config_u { + long unsigned int v; + struct uvh_rh_gam_mmr_overlay_config_s s; + struct uvxh_rh_gam_mmr_overlay_config_s sx; + struct uv4h_rh_gam_mmr_overlay_config_s s4; + struct uv3h_rh_gam_mmr_overlay_config_s s3; + struct uv2h_rh_gam_mmr_overlay_config_s s2; +}; + +struct uvyh_gr0_gam_gr_config_s { + long unsigned int rsvd_0_9: 10; + long unsigned int subspace: 1; + long unsigned int rsvd_11_63: 53; +}; + +union uvyh_gr0_gam_gr_config_u { + long unsigned int v; + struct uvyh_gr0_gam_gr_config_s sy; + struct uv5h_gr0_gam_gr_config_s s5; + struct uv4h_gr0_gam_gr_config_s s4; + struct uv3h_gr0_gam_gr_config_s s3; + struct uv2h_gr0_gam_gr_config_s s2; +}; + +struct va_alignment { + int flags; + long unsigned int mask; + long unsigned int bits; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct va_format { + const char *fmt; + va_list *va; +}; + +struct val_table_ent { + const char *str; + int value; +}; + +struct value_name_pair { + int value; + const char *name; +}; + +struct var_mtrr_range_state { + long unsigned int base_pfn; + long unsigned int size_pfn; + mtrr_type type; +}; + +struct var_mtrr_state { + long unsigned int range_startk; + long unsigned int range_sizek; + long unsigned int chunk_sizek; + long unsigned int gran_sizek; + unsigned int reg; +}; + +struct variable_validate { + efi_guid_t vendor; + char *name; + bool (*validate)(efi_char16_t *, int, u8 *, long unsigned int); +}; + +struct vblk_comp { + u8 state[16]; + u64 parent_id; + u8 type; + u8 children; + u16 chunksize; +}; + +struct vblk_dgrp { + u8 disk_id[64]; +}; + +struct vblk_disk { + uuid_t disk_id; + u8 alt_name[128]; +}; + +struct vblk_part { + u64 start; + u64 size; + u64 volume_offset; + u64 parent_id; + u64 disk_id; + u8 partnum; +}; + +struct vblk_volu { + u8 volume_type[16]; + u8 volume_state[16]; + u8 guid[16]; + u8 drive_hint[4]; + u64 size; + u8 partition_type; +}; + +struct vblk { + u8 name[64]; + u64 obj_id; + u32 sequence; + u8 flags; + u8 type; + union { + struct vblk_comp comp; + struct vblk_dgrp dgrp; + struct vblk_disk disk; + struct vblk_part part; + struct vblk_volu volu; + } vblk; + struct list_head list; +}; + +struct vc { + struct vc_data *d; + struct work_struct SAK_work; +}; + +struct vc_state { + unsigned int x; + unsigned int y; + unsigned char color; + unsigned char Gx_charset[2]; + unsigned int charset: 1; + enum vc_intensity intensity; + bool italic; + bool underline; + bool blink; + bool reverse; +}; + +struct vt_mode { + __u8 mode; + __u8 waitv; + __s16 relsig; + __s16 acqsig; + __s16 frsig; +}; + +struct vc_data { + struct tty_port port; + struct vc_state state; + struct vc_state saved_state; + short unsigned int vc_num; + unsigned int vc_cols; + unsigned int vc_rows; + unsigned int vc_size_row; + unsigned int vc_scan_lines; + unsigned int vc_cell_height; + long unsigned int vc_origin; + long unsigned int vc_scr_end; + long unsigned int vc_visible_origin; + unsigned int vc_top; + unsigned int vc_bottom; + const struct consw *vc_sw; + short unsigned int *vc_screenbuf; + unsigned int vc_screenbuf_size; + unsigned char vc_mode; + unsigned char vc_attr; + unsigned char vc_def_color; + unsigned char vc_ulcolor; + unsigned char vc_itcolor; + unsigned char vc_halfcolor; + unsigned int vc_cursor_type; + short unsigned int vc_complement_mask; + short unsigned int vc_s_complement_mask; + long unsigned int vc_pos; + short unsigned int vc_hi_font_mask; + struct console_font vc_font; + short unsigned int vc_video_erase_char; + unsigned int vc_state; + unsigned int vc_npar; + unsigned int vc_par[16]; + struct vt_mode vt_mode; + struct pid *vt_pid; + int vt_newvt; + wait_queue_head_t paste_wait; + unsigned int vc_disp_ctrl: 1; + unsigned int vc_toggle_meta: 1; + unsigned int vc_decscnm: 1; + unsigned int vc_decom: 1; + unsigned int vc_decawm: 1; + unsigned int vc_deccm: 1; + unsigned int vc_decim: 1; + unsigned int vc_priv: 3; + unsigned int vc_need_wrap: 1; + unsigned int vc_can_do_color: 1; + unsigned int vc_report_mouse: 2; + unsigned int vc_bracketed_paste: 1; + unsigned char vc_utf: 1; + unsigned char vc_utf_count; + int vc_utf_char; + long unsigned int vc_tab_stop[4]; + unsigned char vc_palette[48]; + short unsigned int *vc_translate; + unsigned int vc_bell_pitch; + unsigned int vc_bell_duration; + short unsigned int vc_cur_blink_ms; + struct vc_data **vc_display_fg; + struct uni_pagedict *uni_pagedict; + struct uni_pagedict **uni_pagedict_loc; + u32 **vc_uni_lines; +}; + +struct vc_draw_region { + long unsigned int from; + long unsigned int to; + int x; +}; + +struct vc_selection { + struct mutex lock; + struct vc_data *cons; + char *buffer; + unsigned int buf_len; + volatile int start; + int end; +}; + +struct vcap_actionset_list { + int max; + int cnt; + enum vcap_actionfield_set *actionsets; +}; + +struct vcap_cache_data { + u32 *keystream; + u32 *maskstream; + u32 *actionstream; + u32 counter; + bool sticky; +}; + +struct vcap_admin { + struct list_head list; + struct list_head rules; + struct list_head enabled; + struct mutex lock; + enum vcap_type vtype; + int vinst; + int first_cid; + int last_cid; + int tgt_inst; + int lookups; + int lookups_per_instance; + int last_valid_addr; + int first_valid_addr; + int last_used_addr; + bool w32be; + bool ingress; + struct vcap_cache_data cache; +}; + +struct vcap_control; + +struct vcap_admin_debugfs_info { + struct vcap_control *vctrl; + struct vcap_admin *admin; +}; + +struct vcap_client_actionfield_ctrl { + struct list_head list; + enum vcap_action_field action; + enum vcap_field_type type; +}; + +struct vcap_u1_action { + u8 value; +}; + +struct vcap_u32_action { + u32 value; +}; + +struct vcap_u48_action { + u8 value[6]; +}; + +struct vcap_u56_action { + u8 value[7]; +}; + +struct vcap_u64_action { + u8 value[8]; +}; + +struct vcap_u72_action { + u8 value[9]; +}; + +struct vcap_u112_action { + u8 value[14]; +}; + +struct vcap_u128_action { + u8 value[16]; +}; + +struct vcap_client_actionfield_data { + union { + struct vcap_u1_action u1; + struct vcap_u32_action u32; + struct vcap_u48_action u48; + struct vcap_u56_action u56; + struct vcap_u64_action u64; + struct vcap_u72_action u72; + struct vcap_u112_action u112; + struct vcap_u128_action u128; + }; +}; + +struct vcap_client_actionfield { + struct vcap_client_actionfield_ctrl ctrl; + struct vcap_client_actionfield_data data; +}; + +struct vcap_client_keyfield_ctrl { + struct list_head list; + enum vcap_key_field key; + enum vcap_field_type type; +}; + +struct vcap_u1_key { + u8 value; + u8 mask; +}; + +struct vcap_u32_key { + u32 value; + u32 mask; +}; + +struct vcap_u48_key { + u8 value[6]; + u8 mask[6]; +}; + +struct vcap_u56_key { + u8 value[7]; + u8 mask[7]; +}; + +struct vcap_u64_key { + u8 value[8]; + u8 mask[8]; +}; + +struct vcap_u72_key { + u8 value[9]; + u8 mask[9]; +}; + +struct vcap_u112_key { + u8 value[14]; + u8 mask[14]; +}; + +struct vcap_u128_key { + u8 value[16]; + u8 mask[16]; +}; + +struct vcap_client_keyfield_data { + union { + struct vcap_u1_key u1; + struct vcap_u32_key u32; + struct vcap_u48_key u48; + struct vcap_u56_key u56; + struct vcap_u64_key u64; + struct vcap_u72_key u72; + struct vcap_u112_key u112; + struct vcap_u128_key u128; + }; +}; + +struct vcap_client_keyfield { + struct vcap_client_keyfield_ctrl ctrl; + struct vcap_client_keyfield_data data; +}; + +struct vcap_operations; + +struct vcap_info; + +struct vcap_statistics; + +struct vcap_control { + const struct vcap_operations *ops; + const struct vcap_info *vcaps; + const struct vcap_statistics *stats; + struct list_head list; +}; + +struct vcap_counter { + u32 value; + bool sticky; +}; + +struct vcap_enabled_port { + struct list_head list; + struct net_device *ndev; + long unsigned int cookie; + int src_cid; + int dst_cid; +}; + +struct vcap_field { + u16 type; + u16 width; + u16 offset; +}; + +struct vcap_set; + +struct vcap_typegroup; + +struct vcap_info { + char *name; + u16 rows; + u16 sw_count; + u16 sw_width; + u16 sticky_width; + u16 act_width; + u16 default_cnt; + u16 require_cnt_dis; + u16 version; + const struct vcap_set *keyfield_set; + int keyfield_set_size; + const struct vcap_set *actionfield_set; + int actionfield_set_size; + const struct vcap_field **keyfield_set_map; + int *keyfield_set_map_size; + const struct vcap_field **actionfield_set_map; + int *actionfield_set_map_size; + const struct vcap_typegroup **keyfield_set_typegroups; + const struct vcap_typegroup **actionfield_set_typegroups; +}; + +struct vcap_keyset_list { + int max; + int cnt; + enum vcap_keyfield_set *keysets; +}; + +struct vcap_rule; + +struct vcap_output_print; + +struct vcap_operations { + enum vcap_keyfield_set (*validate_keyset)(struct net_device *, struct vcap_admin *, struct vcap_rule *, struct vcap_keyset_list *, u16); + void (*add_default_fields)(struct net_device *, struct vcap_admin *, struct vcap_rule *); + void (*cache_erase)(struct vcap_admin *); + void (*cache_write)(struct net_device *, struct vcap_admin *, enum vcap_selection, u32, u32); + void (*cache_read)(struct net_device *, struct vcap_admin *, enum vcap_selection, u32, u32); + void (*init)(struct net_device *, struct vcap_admin *, u32, u32); + void (*update)(struct net_device *, struct vcap_admin *, enum vcap_command, enum vcap_selection, u32); + void (*move)(struct net_device *, struct vcap_admin *, u32, int, int); + int (*port_info)(struct net_device *, struct vcap_admin *, struct vcap_output_print *); +}; + +struct vcap_output_print { + void (*prf)(void *, const char *, ...); + void *dst; +}; + +struct vcap_port_debugfs_info { + struct vcap_control *vctrl; + struct net_device *ndev; +}; + +struct vcap_rule { + int vcap_chain_id; + enum vcap_user user; + u16 priority; + u32 id; + u64 cookie; + struct list_head keyfields; + struct list_head actionfields; + enum vcap_keyfield_set keyset; + enum vcap_actionfield_set actionset; + enum vcap_rule_error exterr; + u64 client; +}; + +struct vcap_rule_internal { + struct vcap_rule data; + struct list_head list; + struct vcap_admin *admin; + struct net_device *ndev; + struct vcap_control *vctrl; + u32 sort_key; + int keyset_sw; + int actionset_sw; + int keyset_sw_regs; + int actionset_sw_regs; + int size; + u32 addr; + u32 counter_id; + struct vcap_counter counter; + enum vcap_rule_state state; +}; + +struct vcap_rule_move { + int addr; + int offset; + int count; +}; + +struct vcap_set { + u8 type_id; + u8 sw_per_item; + u8 sw_cnt; +}; + +struct vcap_statistics { + char *name; + int count; + const char * const *keyfield_set_names; + const char * const *actionfield_set_names; + const char * const *keyfield_names; + const char * const *actionfield_names; +}; + +struct vcap_stream_iter { + u32 offset; + u32 sw_width; + u32 regs_per_sw; + u32 reg_idx; + u32 reg_bitpos; + const struct vcap_typegroup *tg; +}; + +struct vcap_tc_flower_parse_usage { + struct flow_cls_offload *fco; + struct flow_rule *frule; + struct vcap_rule *vrule; + struct vcap_admin *admin; + u16 l3_proto; + u8 l4_proto; + u16 tpid; + long long unsigned int used_keys; +}; + +struct vcap_typegroup { + u16 offset; + u16 width; + u16 value; +}; + +struct vcpu_fpu_config { + unsigned int size; + u64 features; +}; + +struct vcpu_guest_context { + struct { + char x[512]; + } fpu_ctxt; + long unsigned int flags; + struct cpu_user_regs user_regs; + struct trap_info trap_ctxt[256]; + long unsigned int ldt_base; + long unsigned int ldt_ents; + long unsigned int gdt_frames[16]; + long unsigned int gdt_ents; + long unsigned int kernel_ss; + long unsigned int kernel_sp; + long unsigned int ctrlreg[8]; + long unsigned int debugreg[8]; + long unsigned int event_callback_eip; + long unsigned int failsafe_callback_eip; + long unsigned int syscall_callback_eip; + long unsigned int vm_assist; + uint64_t fs_base; + uint64_t gs_base_kernel; + uint64_t gs_base_user; +}; + +struct vcpu_runstate_info; + +typedef struct vcpu_runstate_info *__guest_handle_vcpu_runstate_info; + +struct vcpu_register_runstate_memory_area { + union { + __guest_handle_vcpu_runstate_info h; + struct vcpu_runstate_info *v; + uint64_t p; + } addr; +}; + +struct vcpu_time_info; + +typedef struct vcpu_time_info *__guest_handle_vcpu_time_info; + +struct vcpu_register_time_memory_area { + union { + __guest_handle_vcpu_time_info h; + struct pvclock_vcpu_time_info *v; + uint64_t p; + } addr; +}; + +struct vcpu_register_vcpu_info { + uint64_t mfn; + uint32_t offset; + uint32_t rsvd; +}; + +struct vcpu_runstate_info { + int state; + uint64_t state_entry_time; + uint64_t time[4]; +}; + +struct vcpu_set_singleshot_timer { + uint64_t timeout_abs_ns; + uint32_t flags; +}; + +struct vcpu_time_info { + uint32_t version; + uint32_t pad0; + uint64_t tsc_timestamp; + uint64_t system_time; + uint32_t tsc_to_system_mul; + int8_t tsc_shift; + int8_t pad1[3]; +}; + +struct vcs_poll_data { + struct notifier_block notifier; + unsigned int cons_num; + int event; + wait_queue_head_t waitq; + struct fasync_struct *fasync; +}; + +struct vdso_timestamp { + u64 sec; + u64 nsec; +}; + +struct vdso_clock { + u32 seq; + s32 clock_mode; + u64 cycle_last; + u64 max_cycles; + u64 mask; + u32 mult; + u32 shift; + union { + struct vdso_timestamp basetime[12]; + struct timens_offset offset[12]; + }; +}; + +struct vdso_exception_table_entry { + int insn; + int fixup; +}; + +struct vdso_image { + void *data; + long unsigned int size; + long unsigned int alt; + long unsigned int alt_len; + long unsigned int extable_base; + long unsigned int extable_len; + const void *extable; + long int sym_VDSO32_NOTE_MASK; + long int sym___kernel_sigreturn; + long int sym___kernel_rt_sigreturn; + long int sym___kernel_vsyscall; + long int sym_int80_landing_pad; + long int sym_vdso32_sigreturn_landing_pad; + long int sym_vdso32_rt_sigreturn_landing_pad; +}; + +struct vdso_rng_data { + u64 generation; + u8 is_ready; +}; + +struct vdso_time_data { + struct arch_vdso_time_data arch_data; + struct vdso_clock clock_data[2]; + struct vdso_clock aux_clock_data[8]; + s32 tz_minuteswest; + s32 tz_dsttime; + u32 hrtimer_res; + u32 __unused; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct ve_info { + u64 exit_reason; + u64 exit_qual; + u64 gla; + u64 gpa; + u32 instr_len; + u32 instr_info; +}; + +struct vector_cleanup { + struct hlist_head head; + struct timer_list timer; +}; + +struct vers_iter { + size_t param_size; + struct dm_target_versions *vers; + struct dm_target_versions *old_vers; + char *end; + uint32_t flags; +}; + +struct veth { + __be16 h_vlan_proto; + __be16 h_vlan_TCI; +}; + +struct vfree_deferred { + struct llist_head list; + struct work_struct wq; +}; + +struct vfs_cap_data { + __le32 magic_etc; + struct { + __le32 permitted; + __le32 inheritable; + } data[2]; +}; + +struct vfs_ns_cap_data { + __le32 magic_etc; + struct { + __le32 permitted; + __le32 inheritable; + } data[2]; + __le32 rootid; +}; + +struct vga_arb_user_card { + struct pci_dev *pdev; + unsigned int mem_cnt; + unsigned int io_cnt; +}; + +struct vga_arb_private { + struct list_head list; + struct pci_dev *target; + struct vga_arb_user_card cards[16]; + spinlock_t lock; +}; + +struct vga_device { + struct list_head list; + struct pci_dev *pdev; + unsigned int decodes; + unsigned int owns; + unsigned int locks; + unsigned int io_lock_cnt; + unsigned int mem_lock_cnt; + unsigned int io_norm_cnt; + unsigned int mem_norm_cnt; + bool bridge_has_one_vga; + bool is_firmware_default; + unsigned int (*set_decode)(struct pci_dev *, bool); +}; + +struct vga_switcheroo_client_ops; + +struct vga_switcheroo_client { + struct pci_dev *pdev; + struct fb_info *fb_info; + enum vga_switcheroo_state pwr_state; + const struct vga_switcheroo_client_ops *ops; + enum vga_switcheroo_client_id id; + bool active; + bool driver_power_control; + struct list_head list; + struct pci_dev *vga_dev; +}; + +struct vga_switcheroo_client_ops { + void (*set_gpu_state)(struct pci_dev *, enum vga_switcheroo_state); + void (*reprobe)(struct pci_dev *); + bool (*can_switch)(struct pci_dev *); + void (*gpu_bound)(struct pci_dev *, enum vga_switcheroo_client_id); +}; + +struct vga_switcheroo_handler { + int (*init)(void); + int (*switchto)(enum vga_switcheroo_client_id); + int (*switch_ddc)(enum vga_switcheroo_client_id); + int (*power_state)(enum vga_switcheroo_client_id, enum vga_switcheroo_state); + enum vga_switcheroo_client_id (*get_client_id)(struct pci_dev *); +}; + +struct vgasr_priv { + bool active; + bool delayed_switch_active; + enum vga_switcheroo_client_id delayed_client_id; + struct dentry *debugfs_root; + int registered_clients; + struct list_head clients; + const struct vga_switcheroo_handler *handler; + enum vga_switcheroo_handler_flags_t handler_flags; + struct mutex mux_hw_lock; + int old_ddc_owner; +}; + +struct vgastate { + void *vgabase; + long unsigned int membase; + __u32 memsize; + __u32 flags; + __u32 depth; + __u32 num_attr; + __u32 num_crtc; + __u32 num_gfx; + __u32 num_seq; + void *vidstate; +}; + +struct vgda { + __be32 secs; + __be32 usec; + char reserved8[16]; + __be16 numlvs; + __be16 maxlvs; + __be16 pp_size; + __be16 numpvs; + __be16 total_vgdas; + __be16 vgda_size; +}; + +struct vhost_task { + bool (*fn)(void *); + void (*handle_sigkill)(void *); + void *data; + struct completion exited; + long unsigned int flags; + struct task_struct *task; + struct mutex exit_mutex; +}; + +struct videomode { + long unsigned int pixelclock; + u32 hactive; + u32 hfront_porch; + u32 hback_porch; + u32 hsync_len; + u32 vactive; + u32 vfront_porch; + u32 vback_porch; + u32 vsync_len; + enum display_flags flags; +}; + +struct vif_entry_notifier_info { + struct fib_notifier_info info; + struct net_device *dev; + short unsigned int vif_index; + short unsigned int vif_flags; + u32 tb_id; +}; + +struct vifctl { + vifi_t vifc_vifi; + unsigned char vifc_flags; + unsigned char vifc_threshold; + unsigned int vifc_rate_limit; + union { + struct in_addr vifc_lcl_addr; + int vifc_lcl_ifindex; + }; + struct in_addr vifc_rmt_addr; +}; + +struct viommu_dev { + struct iommu_device iommu; + struct device *dev; + struct virtio_device *vdev; + struct ida domain_ids; + struct virtqueue *vqs[2]; + spinlock_t request_lock; + struct list_head requests; + void *evts; + struct iommu_domain_geometry geometry; + u64 pgsize_bitmap; + u32 first_domain; + u32 last_domain; + u32 identity_domain_id; + u32 map_flags; + u32 probe_size; +}; + +struct viommu_domain { + struct iommu_domain domain; + struct viommu_dev *viommu; + unsigned int id; + u32 map_flags; + spinlock_t mappings_lock; + struct rb_root_cached mappings; + long unsigned int nr_endpoints; +}; + +struct viommu_endpoint { + struct device *dev; + struct viommu_dev *viommu; + struct viommu_domain *vdomain; + struct list_head resv_regions; +}; + +struct virtio_iommu_fault { + __u8 reason; + __u8 reserved[3]; + __le32 flags; + __le32 endpoint; + __u8 reserved2[4]; + __le64 address; +}; + +struct viommu_event { + union { + u32 head; + struct virtio_iommu_fault fault; + }; +}; + +struct viommu_mapping { + phys_addr_t paddr; + struct interval_tree_node iova; + u32 flags; +}; + +struct viommu_request { + struct list_head list; + void *writeback; + unsigned int write_offset; + unsigned int len; + char buf[0]; +}; + +struct viot_iommu; + +struct viot_endpoint { + union { + struct { + u16 segment_start; + u16 segment_end; + u16 bdf_start; + u16 bdf_end; + }; + u64 address; + }; + u32 endpoint_id; + struct viot_iommu *viommu; + struct list_head list; +}; + +struct viot_iommu { + unsigned int offset; + struct fwnode_handle *fwnode; + struct list_head list; +}; + +struct virtio_blk_outhdr { + __virtio32 type; + __virtio32 ioprio; + __virtio64 sector; +}; + +struct virtblk_req { + struct virtio_blk_outhdr out_hdr; + union { + u8 status; + struct { + __virtio64 sector; + u8 status; + } zone_append; + } in_hdr; + size_t in_hdr_len; + struct sg_table sg_table; + struct scatterlist sg[0]; +}; + +struct virtio_admin_cmd { + __le16 opcode; + __le16 group_type; + __le64 group_member_id; + struct scatterlist *data_sg; + struct scatterlist *result_sg; + struct completion completion; + u32 result_sg_size; + int ret; +}; + +struct virtio_admin_cmd_cap_get_data { + __le16 id; + __u8 reserved[6]; +}; + +struct virtio_admin_cmd_cap_set_data { + __le16 id; + __u8 reserved[6]; + __u8 cap_specific_data[0]; +}; + +struct virtio_admin_cmd_dev_mode_set_data { + __u8 flags; +}; + +struct virtio_admin_cmd_resource_obj_cmd_hdr { + __le16 type; + __u8 reserved[2]; + __le32 id; +}; + +struct virtio_dev_part_hdr { + __le16 part_type; + __u8 flags; + __u8 reserved; + union { + struct { + __le32 offset; + __le32 reserved; + } pci_common_cfg; + struct { + __le16 index; + __u8 reserved[6]; + } vq_index; + } selector; + __le32 length; +}; + +struct virtio_admin_cmd_dev_parts_get_data { + struct virtio_admin_cmd_resource_obj_cmd_hdr hdr; + __u8 type; + __u8 reserved[7]; + struct virtio_dev_part_hdr hdr_list[0]; +}; + +struct virtio_admin_cmd_dev_parts_metadata_data { + struct virtio_admin_cmd_resource_obj_cmd_hdr hdr; + __u8 type; + __u8 reserved[7]; +}; + +struct virtio_admin_cmd_dev_parts_metadata_result { + union { + struct { + __le32 size; + __le32 reserved; + } parts_size; + struct { + __le32 count; + __le32 reserved; + } hdr_list_count; + struct { + __le32 count; + __le32 reserved; + struct virtio_dev_part_hdr hdrs[0]; + } hdr_list; + }; +}; + +struct virtio_admin_cmd_hdr { + __le16 opcode; + __le16 group_type; + __u8 reserved1[12]; + __le64 group_member_id; +}; + +struct virtio_admin_cmd_legacy_rd_data { + __u8 offset; +}; + +struct virtio_admin_cmd_legacy_wr_data { + __u8 offset; + __u8 reserved[7]; + __u8 registers[0]; +}; + +struct virtio_admin_cmd_notify_info_data { + __u8 flags; + __u8 bar; + __u8 padding[6]; + __le64 offset; +}; + +struct virtio_admin_cmd_notify_info_result { + struct virtio_admin_cmd_notify_info_data entries[4]; +}; + +struct virtio_admin_cmd_query_cap_id_result { + __le64 supported_caps[1]; +}; + +struct virtio_admin_cmd_resource_obj_create_data { + struct virtio_admin_cmd_resource_obj_cmd_hdr hdr; + __le64 flags; + __u8 resource_obj_specific_data[0]; +}; + +struct virtio_admin_cmd_status { + __le16 status; + __le16 status_qualifier; + __u8 reserved2[4]; +}; + +struct virtio_balloon_stat { + __virtio16 tag; + __virtio64 val; +} __attribute__((packed)); + +struct virtio_balloon { + struct virtio_device *vdev; + struct virtqueue *inflate_vq; + struct virtqueue *deflate_vq; + struct virtqueue *stats_vq; + struct virtqueue *free_page_vq; + struct workqueue_struct *balloon_wq; + struct work_struct report_free_page_work; + struct work_struct update_balloon_stats_work; + struct work_struct update_balloon_size_work; + spinlock_t stop_update_lock; + bool stop_update; + long unsigned int config_read_bitmap; + struct list_head free_page_list; + spinlock_t free_page_list_lock; + long unsigned int num_free_page_blocks; + u32 cmd_id_received_cache; + __virtio32 cmd_id_active; + __virtio32 cmd_id_stop; + wait_queue_head_t acked; + unsigned int num_pages; + struct balloon_dev_info vb_dev_info; + struct mutex balloon_lock; + unsigned int num_pfns; + __virtio32 pfns[256]; + struct virtio_balloon_stat stats[16]; + struct shrinker *shrinker; + struct notifier_block oom_nb; + struct virtqueue *reporting_vq; + struct page_reporting_dev_info pr_dev_info; + spinlock_t wakeup_lock; + bool processing_wakeup_event; + u32 wakeup_signal_mask; +}; + +struct virtio_balloon_config { + __le32 num_pages; + __le32 actual; + union { + __le32 free_page_hint_cmd_id; + __le32 free_page_report_cmd_id; + }; + __le32 poison_val; +}; + +struct virtio_blk_vq; + +struct virtio_blk { + struct mutex vdev_mutex; + struct virtio_device *vdev; + struct gendisk *disk; + struct blk_mq_tag_set tag_set; + struct work_struct config_work; + int index; + int num_vqs; + int io_queues[3]; + struct virtio_blk_vq *vqs; + unsigned int zone_sectors; +}; + +struct virtio_blk_geometry { + __virtio16 cylinders; + __u8 heads; + __u8 sectors; +}; + +struct virtio_blk_zoned_characteristics { + __virtio32 zone_sectors; + __virtio32 max_open_zones; + __virtio32 max_active_zones; + __virtio32 max_append_sectors; + __virtio32 write_granularity; + __u8 model; + __u8 unused2[3]; +}; + +struct virtio_blk_config { + __virtio64 capacity; + __virtio32 size_max; + __virtio32 seg_max; + struct virtio_blk_geometry geometry; + __virtio32 blk_size; + __u8 physical_block_exp; + __u8 alignment_offset; + __virtio16 min_io_size; + __virtio32 opt_io_size; + __u8 wce; + __u8 unused; + __virtio16 num_queues; + __virtio32 max_discard_sectors; + __virtio32 max_discard_seg; + __virtio32 discard_sector_alignment; + __virtio32 max_write_zeroes_sectors; + __virtio32 max_write_zeroes_seg; + __u8 write_zeroes_may_unmap; + __u8 unused1[3]; + __virtio32 max_secure_erase_sectors; + __virtio32 max_secure_erase_seg; + __virtio32 secure_erase_sector_alignment; + struct virtio_blk_zoned_characteristics zoned; +}; + +struct virtio_blk_discard_write_zeroes { + __le64 sector; + __le32 num_sectors; + __le32 flags; +}; + +struct virtio_blk_vq { + struct virtqueue *vq; + spinlock_t lock; + char name[16]; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct virtio_blk_zone_descriptor { + __virtio64 z_cap; + __virtio64 z_start; + __virtio64 z_wp; + __u8 z_type; + __u8 z_state; + __u8 reserved[38]; +}; + +struct virtio_blk_zone_report { + __virtio64 nr_zones; + __u8 reserved[56]; + struct virtio_blk_zone_descriptor zones[0]; +}; + +struct virtqueue_info; + +struct virtio_shm_region; + +struct virtio_config_ops { + void (*get)(struct virtio_device *, unsigned int, void *, unsigned int); + void (*set)(struct virtio_device *, unsigned int, const void *, unsigned int); + u32 (*generation)(struct virtio_device *); + u8 (*get_status)(struct virtio_device *); + void (*set_status)(struct virtio_device *, u8); + void (*reset)(struct virtio_device *); + int (*find_vqs)(struct virtio_device *, unsigned int, struct virtqueue **, struct virtqueue_info *, struct irq_affinity *); + void (*del_vqs)(struct virtio_device *); + void (*synchronize_cbs)(struct virtio_device *); + u64 (*get_features)(struct virtio_device *); + void (*get_extended_features)(struct virtio_device *, u64 *); + int (*finalize_features)(struct virtio_device *); + const char * (*bus_name)(struct virtio_device *); + int (*set_vq_affinity)(struct virtqueue *, const struct cpumask *); + const struct cpumask * (*get_vq_affinity)(struct virtio_device *, int); + bool (*get_shm_region)(struct virtio_device *, struct virtio_shm_region *, u8); + int (*disable_vq_and_reset)(struct virtqueue *); + int (*enable_vq_after_reset)(struct virtqueue *); +}; + +struct virtio_console_config { + __virtio16 cols; + __virtio16 rows; + __virtio32 max_nr_ports; + __virtio32 emerg_wr; +}; + +struct virtio_dev_parts_cap { + __u8 get_parts_resource_objects_limit; + __u8 set_parts_resource_objects_limit; +}; + +struct virtio_device_id { + __u32 device; + __u32 vendor; +}; + +struct vringh_config_ops; + +struct virtio_device { + int index; + bool failed; + bool config_core_enabled; + bool config_driver_disabled; + bool config_change_pending; + spinlock_t config_lock; + spinlock_t vqs_list_lock; + struct device dev; + struct virtio_device_id id; + const struct virtio_config_ops *config; + const struct vringh_config_ops *vringh_config; + struct list_head vqs; + union { + u64 features; + u64 features_array[2]; + }; + void *priv; +}; + +struct virtio_driver { + struct device_driver driver; + const struct virtio_device_id *id_table; + const unsigned int *feature_table; + unsigned int feature_table_size; + const unsigned int *feature_table_legacy; + unsigned int feature_table_size_legacy; + int (*validate)(struct virtio_device *); + int (*probe)(struct virtio_device *); + void (*scan)(struct virtio_device *); + void (*remove)(struct virtio_device *); + void (*config_changed)(struct virtio_device *); + int (*freeze)(struct virtio_device *); + int (*restore)(struct virtio_device *); + int (*reset_prepare)(struct virtio_device *); + int (*reset_done)(struct virtio_device *); + void (*shutdown)(struct virtio_device *); +}; + +struct virtio_iommu_range_64 { + __le64 start; + __le64 end; +}; + +struct virtio_iommu_range_32 { + __le32 start; + __le32 end; +}; + +struct virtio_iommu_config { + __le64 page_size_mask; + struct virtio_iommu_range_64 input_range; + struct virtio_iommu_range_32 domain_range; + __le32 probe_size; + __u8 bypass; + __u8 reserved[3]; +}; + +struct virtio_iommu_probe_property { + __le16 type; + __le16 length; +}; + +struct virtio_iommu_probe_resv_mem { + struct virtio_iommu_probe_property head; + __u8 subtype; + __u8 reserved[3]; + __le64 start; + __le64 end; +}; + +struct virtio_iommu_req_head { + __u8 type; + __u8 reserved[3]; +}; + +struct virtio_iommu_req_tail { + __u8 status; + __u8 reserved[3]; +}; + +struct virtio_iommu_req_attach { + struct virtio_iommu_req_head head; + __le32 domain; + __le32 endpoint; + __le32 flags; + __u8 reserved[4]; + struct virtio_iommu_req_tail tail; +}; + +struct virtio_iommu_req_detach { + struct virtio_iommu_req_head head; + __le32 domain; + __le32 endpoint; + __u8 reserved[8]; + struct virtio_iommu_req_tail tail; +}; + +struct virtio_iommu_req_map { + struct virtio_iommu_req_head head; + __le32 domain; + __le64 virt_start; + __le64 virt_end; + __le64 phys_start; + __le32 flags; + struct virtio_iommu_req_tail tail; +}; + +struct virtio_iommu_req_probe { + struct virtio_iommu_req_head head; + __le32 endpoint; + __u8 reserved[64]; + __u8 properties[0]; +}; + +struct virtio_iommu_req_unmap { + struct virtio_iommu_req_head head; + __le32 domain; + __le64 virt_start; + __le64 virt_end; + __u8 reserved[4]; + struct virtio_iommu_req_tail tail; +}; + +struct virtio_mmio_device { + struct virtio_device vdev; + struct platform_device *pdev; + void *base; + long unsigned int version; +}; + +struct virtio_net_hdr { + __u8 flags; + __u8 gso_type; + __virtio16 hdr_len; + __virtio16 gso_size; + __virtio16 csum_start; + __virtio16 csum_offset; +}; + +struct virtio_net_hdr_mrg_rxbuf { + struct virtio_net_hdr hdr; + __virtio16 num_buffers; +}; + +struct virtio_net_hdr_v1 { + __u8 flags; + __u8 gso_type; + __virtio16 hdr_len; + __virtio16 gso_size; + union { + struct { + __virtio16 csum_start; + __virtio16 csum_offset; + }; + struct { + __virtio16 start; + __virtio16 offset; + } csum; + struct { + __le16 segments; + __le16 dup_acks; + } rsc; + }; + __virtio16 num_buffers; +}; + +struct virtio_net_hdr_v1_hash { + struct virtio_net_hdr_v1 hdr; + __le16 hash_value_lo; + __le16 hash_value_hi; + __le16 hash_report; + __le16 padding; +}; + +struct virtio_net_hdr_v1_hash_tunnel { + struct virtio_net_hdr_v1_hash hash_hdr; + __le16 outer_th_offset; + __le16 inner_nh_offset; +}; + +struct virtio_net_common_hdr { + union { + struct virtio_net_hdr hdr; + struct virtio_net_hdr_mrg_rxbuf mrg_hdr; + struct virtio_net_hdr_v1_hash hash_v1_hdr; + struct virtio_net_hdr_v1_hash_tunnel tnl_hdr; + }; +}; + +struct virtio_net_config { + __u8 mac[6]; + __virtio16 status; + __virtio16 max_virtqueue_pairs; + __virtio16 mtu; + __le32 speed; + __u8 duplex; + __u8 rss_max_key_size; + __le16 rss_max_indirection_table_length; + __le32 supported_hash_types; +}; + +struct virtio_net_ctrl_coal { + __le32 max_packets; + __le32 max_usecs; +}; + +struct virtio_net_ctrl_coal_rx { + __le32 rx_max_packets; + __le32 rx_usecs; +}; + +struct virtio_net_ctrl_coal_tx { + __le32 tx_max_packets; + __le32 tx_usecs; +}; + +struct virtio_net_ctrl_coal_vq { + __le16 vqn; + __le16 reserved; + struct virtio_net_ctrl_coal coal; +}; + +struct virtio_net_ctrl_mac { + __virtio32 entries; + __u8 macs[0]; +}; + +struct virtio_net_ctrl_mq { + __virtio16 virtqueue_pairs; +}; + +struct virtio_net_ctrl_queue_stats { + struct { + __le16 vq_index; + __le16 reserved[3]; + __le64 types_bitmap[1]; + } stats[1]; +}; + +struct virtio_net_rss_config_hdr { + __le32 hash_types; + __le16 indirection_table_mask; + __le16 unclassified_queue; + __le16 indirection_table[0]; +}; + +struct virtio_net_rss_config_trailer { + __le16 max_tx_vq; + __u8 hash_key_length; + __u8 hash_key_data[0]; +}; + +struct virtio_net_stats_capabilities { + __le64 supported_stats_types[1]; +}; + +struct virtio_net_stats_reply_hdr { + __u8 type; + __u8 reserved; + __le16 vq_index; + __le16 reserved1; + __le16 size; +}; + +struct virtio_pci_vq_info; + +struct virtio_pci_admin_vq { + struct virtio_pci_vq_info *info; + spinlock_t lock; + u64 supported_cmds; + u64 supported_caps; + u8 max_dev_parts_objects; + struct ida dev_parts_ida; + char name[10]; + u16 vq_index; +}; + +struct virtio_pci_common_cfg { + __le32 device_feature_select; + __le32 device_feature; + __le32 guest_feature_select; + __le32 guest_feature; + __le16 msix_config; + __le16 num_queues; + __u8 device_status; + __u8 config_generation; + __le16 queue_select; + __le16 queue_size; + __le16 queue_msix_vector; + __le16 queue_enable; + __le16 queue_notify_off; + __le32 queue_desc_lo; + __le32 queue_desc_hi; + __le32 queue_avail_lo; + __le32 queue_avail_hi; + __le32 queue_used_lo; + __le32 queue_used_hi; +}; + +struct virtio_pci_legacy_device { + struct pci_dev *pci_dev; + u8 *isr; + void *ioaddr; + struct virtio_device_id id; +}; + +struct virtio_pci_modern_device { + struct pci_dev *pci_dev; + struct virtio_pci_common_cfg *common; + void *device; + void *notify_base; + resource_size_t notify_pa; + u8 *isr; + size_t notify_len; + size_t device_len; + size_t common_len; + int notify_map_cap; + u32 notify_offset_multiplier; + int modern_bars; + struct virtio_device_id id; + int (*device_id_check)(struct pci_dev *); + u64 dma_mask; +}; + +struct virtio_pci_device { + struct virtio_device vdev; + struct pci_dev *pci_dev; + union { + struct virtio_pci_legacy_device ldev; + struct virtio_pci_modern_device mdev; + }; + bool is_legacy; + u8 *isr; + spinlock_t lock; + struct list_head virtqueues; + struct list_head slow_virtqueues; + struct virtio_pci_vq_info **vqs; + struct virtio_pci_admin_vq admin_vq; + int msix_enabled; + int intx_enabled; + cpumask_var_t *msix_affinity_masks; + char (*msix_names)[256]; + unsigned int msix_vectors; + unsigned int msix_used_vectors; + bool per_vq_vectors; + struct virtqueue * (*setup_vq)(struct virtio_pci_device *, struct virtio_pci_vq_info *, unsigned int, void (*)(struct virtqueue *), const char *, bool, u16); + void (*del_vq)(struct virtio_pci_vq_info *); + u16 (*config_vector)(struct virtio_pci_device *, u16); + int (*avq_index)(struct virtio_device *, u16 *, u16 *); +}; + +struct virtio_pci_modern_common_cfg { + struct virtio_pci_common_cfg cfg; + __le16 queue_notify_data; + __le16 queue_reset; + __le16 admin_queue_index; + __le16 admin_queue_num; +}; + +struct virtio_pci_vq_info { + struct virtqueue *vq; + struct list_head node; + unsigned int msix_vector; +}; + +struct virtio_resource_obj_dev_parts { + __u8 type; + __u8 reserved[7]; +}; + +struct virtio_scsi_event { + __virtio32 event; + __u8 lun[8]; + __virtio32 reason; +}; + +struct virtio_scsi; + +struct virtio_scsi_event_node { + struct virtio_scsi *vscsi; + struct virtio_scsi_event event; + struct work_struct work; +}; + +struct virtio_scsi_vq { + spinlock_t vq_lock; + struct virtqueue *vq; +}; + +struct virtio_scsi { + struct virtio_device *vdev; + struct virtio_scsi_event_node event_list[8]; + u32 num_queues; + int io_queues[3]; + struct hlist_node node; + bool stop_events; + struct virtio_scsi_vq ctrl_vq; + struct virtio_scsi_vq event_vq; + struct virtio_scsi_vq req_vqs[0]; +}; + +struct virtio_scsi_cmd_req { + __u8 lun[8]; + __virtio64 tag; + __u8 task_attr; + __u8 prio; + __u8 crn; + __u8 cdb[32]; +} __attribute__((packed)); + +struct virtio_scsi_cmd_req_pi { + __u8 lun[8]; + __virtio64 tag; + __u8 task_attr; + __u8 prio; + __u8 crn; + __virtio32 pi_bytesout; + __virtio32 pi_bytesin; + __u8 cdb[32]; +} __attribute__((packed)); + +struct virtio_scsi_ctrl_tmf_req { + __virtio32 type; + __virtio32 subtype; + __u8 lun[8]; + __virtio64 tag; +}; + +struct virtio_scsi_ctrl_an_req { + __virtio32 type; + __u8 lun[8]; + __virtio32 event_requested; +}; + +struct virtio_scsi_cmd_resp { + __virtio32 sense_len; + __virtio32 resid; + __virtio16 status_qualifier; + __u8 status; + __u8 response; + __u8 sense[96]; +}; + +struct virtio_scsi_ctrl_tmf_resp { + __u8 response; +}; + +struct virtio_scsi_ctrl_an_resp { + __virtio32 event_actual; + __u8 response; +} __attribute__((packed)); + +struct virtio_scsi_cmd { + struct scsi_cmnd *sc; + struct completion *comp; + union { + struct virtio_scsi_cmd_req cmd; + struct virtio_scsi_cmd_req_pi cmd_pi; + struct virtio_scsi_ctrl_tmf_req tmf; + struct virtio_scsi_ctrl_an_req an; + } req; + union { + struct virtio_scsi_cmd_resp cmd; + struct virtio_scsi_ctrl_tmf_resp tmf; + struct virtio_scsi_ctrl_an_resp an; + struct virtio_scsi_event evt; + } resp; + long: 64; +} __attribute__((packed)); + +struct virtio_scsi_config { + __virtio32 num_queues; + __virtio32 seg_max; + __virtio32 max_sectors; + __virtio32 cmd_per_lun; + __virtio32 event_info_size; + __virtio32 sense_size; + __virtio32 cdb_size; + __virtio16 max_channel; + __virtio16 max_target; + __virtio32 max_lun; +}; + +struct virtio_shm_region { + u64 addr; + u64 len; +}; + +struct virtnet_info { + struct virtio_device *vdev; + struct virtqueue *cvq; + struct net_device *dev; + struct send_queue *sq; + struct receive_queue *rq; + unsigned int status; + u16 max_queue_pairs; + u16 curr_queue_pairs; + u16 xdp_queue_pairs; + bool xdp_enabled; + bool big_packets; + unsigned int big_packets_num_skbfrags; + bool mergeable_rx_bufs; + bool has_rss; + bool has_rss_hash_report; + u8 rss_key_size; + u16 rss_indir_table_size; + u32 rss_hash_types_supported; + u32 rss_hash_types_saved; + struct virtio_net_rss_config_hdr *rss_hdr; + struct virtio_net_rss_config_trailer rss_trailer; + u8 rss_hash_key_data[40]; + bool has_cvq; + struct mutex cvq_lock; + bool any_header_sg; + u8 hdr_len; + struct delayed_work refill; + bool tx_tnl; + bool rx_tnl; + bool rx_tnl_csum; + bool refill_enabled; + spinlock_t refill_lock; + struct work_struct config_work; + struct work_struct rx_mode_work; + bool rx_mode_work_enabled; + bool affinity_hint_set; + struct hlist_node node; + struct hlist_node node_dead; + struct control_buf *ctrl; + u8 duplex; + u32 speed; + bool rx_dim_enabled; + struct virtnet_interrupt_coalesce intr_coal_tx; + struct virtnet_interrupt_coalesce intr_coal_rx; + long unsigned int guest_offloads; + long unsigned int guest_offloads_capable; + struct failover *failover; + u64 device_stats_cap; +}; + +struct virtnet_rq_dma { + dma_addr_t addr; + u32 ref; + u16 len; + u16 need_sync; +}; + +struct virtnet_sq_free_stats { + u64 packets; + u64 bytes; + u64 napi_packets; + u64 napi_bytes; + u64 xsk; +}; + +struct virtnet_stat_desc { + char desc[32]; + size_t offset; + size_t qstat_offset; +}; + +struct virtnet_stats_ctx { + bool to_qstat; + u32 desc_num[3]; + u64 bitmap[3]; + u32 size[3]; + u64 *data; +}; + +struct virtqueue { + struct list_head list; + void (*callback)(struct virtqueue *); + const char *name; + struct virtio_device *vdev; + unsigned int index; + unsigned int num_free; + unsigned int num_max; + bool reset; + void *priv; +}; + +typedef void vq_callback_t(struct virtqueue *); + +struct virtqueue_info { + const char *name; + vq_callback_t *callback; + bool ctx; +}; + +struct vlan_priority_tci_mapping; + +struct vlan_pcpu_stats; + +struct vlan_dev_priv { + unsigned int nr_ingress_mappings; + u32 ingress_priority_map[8]; + unsigned int nr_egress_mappings; + struct vlan_priority_tci_mapping *egress_priority_map[16]; + __be16 vlan_proto; + u16 vlan_id; + u16 flags; + struct net_device *real_dev; + netdevice_tracker dev_tracker; + unsigned char real_dev_addr[6]; + struct proc_dir_entry *dent; + struct vlan_pcpu_stats *vlan_pcpu_stats; + struct netpoll *netpoll; +}; + +struct vlan_ethhdr { + union { + struct { + unsigned char h_dest[6]; + unsigned char h_source[6]; + }; + struct { + unsigned char h_dest[6]; + unsigned char h_source[6]; + } addrs; + }; + __be16 h_vlan_proto; + __be16 h_vlan_TCI; + __be16 h_vlan_encapsulated_proto; +}; + +struct vlan_group { + unsigned int nr_vlan_devs; + struct hlist_node hlist; + struct net_device **vlan_devices_arrays[16]; +}; + +struct vlan_hdr { + __be16 h_vlan_TCI; + __be16 h_vlan_encapsulated_proto; +}; + +struct vlan_info { + struct net_device *real_dev; + struct vlan_group grp; + struct list_head vid_list; + unsigned int nr_vids; + bool auto_vid0; + struct callback_head rcu; +}; + +struct vlan_pcpu_stats { + u64_stats_t rx_packets; + u64_stats_t rx_bytes; + u64_stats_t rx_multicast; + u64_stats_t tx_packets; + u64_stats_t tx_bytes; + struct u64_stats_sync syncp; + u32 rx_errors; + u32 tx_dropped; +}; + +struct vlan_priority_tci_mapping { + u32 priority; + u16 vlan_qos; + struct vlan_priority_tci_mapping *next; +}; + +struct vlan_vid { + struct list_head list; + __be16 proto; + u16 vid; +}; + +struct vlan_vid_info { + struct list_head list; + __be16 proto; + u16 vid; + int refcount; +}; + +struct vm_area_desc { + struct mm_struct *mm; + long unsigned int start; + long unsigned int end; + long unsigned int pgoff; + struct file *file; + vm_flags_t vm_flags; + pgprot_t page_prot; + const struct vm_operations_struct *vm_ops; + void *private_data; +}; + +struct vm_userfaultfd_ctx { + struct userfaultfd_ctx *ctx; +}; + +struct vma_numab_state; + +struct vm_area_struct { + union { + struct { + long unsigned int vm_start; + long unsigned int vm_end; + }; + freeptr_t vm_freeptr; + }; + struct mm_struct *vm_mm; + pgprot_t vm_page_prot; + union { + const vm_flags_t vm_flags; + vm_flags_t __vm_flags; + }; + unsigned int vm_lock_seq; + struct list_head anon_vma_chain; + struct anon_vma *anon_vma; + const struct vm_operations_struct *vm_ops; + long unsigned int vm_pgoff; + struct file *vm_file; + void *vm_private_data; + atomic_long_t swap_readahead_info; + struct mempolicy *vm_policy; + struct vma_numab_state *numab_state; + refcount_t vm_refcnt; + struct { + struct rb_node rb; + long unsigned int rb_subtree_last; + } shared; + struct anon_vma_name *anon_name; + struct vm_userfaultfd_ctx vm_userfaultfd_ctx; + struct pfnmap_track_ctx *pfnmap_track_ctx; +}; + +struct vm_event_state { + long unsigned int event[121]; +}; + +struct vm_fault { + const struct { + struct vm_area_struct *vma; + gfp_t gfp_mask; + long unsigned int pgoff; + long unsigned int address; + long unsigned int real_address; + }; + enum fault_flag flags; + pmd_t *pmd; + pud_t *pud; + union { + pte_t orig_pte; + pmd_t orig_pmd; + }; + struct page *cow_page; + struct page *page; + pte_t *pte; + spinlock_t *ptl; + pgtable_t prealloc_pte; +}; + +struct vm_operations_struct { + void (*open)(struct vm_area_struct *); + void (*close)(struct vm_area_struct *); + int (*may_split)(struct vm_area_struct *, long unsigned int); + int (*mremap)(struct vm_area_struct *); + int (*mprotect)(struct vm_area_struct *, long unsigned int, long unsigned int, long unsigned int); + vm_fault_t (*fault)(struct vm_fault *); + vm_fault_t (*huge_fault)(struct vm_fault *, unsigned int); + vm_fault_t (*map_pages)(struct vm_fault *, long unsigned int, long unsigned int); + long unsigned int (*pagesize)(struct vm_area_struct *); + vm_fault_t (*page_mkwrite)(struct vm_fault *); + vm_fault_t (*pfn_mkwrite)(struct vm_fault *); + int (*access)(struct vm_area_struct *, long unsigned int, void *, int, int); + const char * (*name)(struct vm_area_struct *); + int (*set_policy)(struct vm_area_struct *, struct mempolicy *); + struct mempolicy * (*get_policy)(struct vm_area_struct *, long unsigned int, long unsigned int *); + struct page * (*find_special_page)(struct vm_area_struct *, long unsigned int); +}; + +struct vm_special_mapping { + const char *name; + struct page **pages; + vm_fault_t (*fault)(const struct vm_special_mapping *, struct vm_area_struct *, struct vm_fault *); + int (*mremap)(const struct vm_special_mapping *, struct vm_area_struct *); + void (*close)(const struct vm_special_mapping *, struct vm_area_struct *); +}; + +struct vm_stack { + struct callback_head rcu; + struct vm_struct *stack_vm_area; +}; + +struct vm_struct { + struct vm_struct *next; + void *addr; + long unsigned int size; + long unsigned int flags; + struct page **pages; + unsigned int page_order; + unsigned int nr_pages; + phys_addr_t phys_addr; + const void *caller; + long unsigned int requested_size; +}; + +struct vm_unmapped_area_info { + long unsigned int flags; + long unsigned int length; + long unsigned int low_limit; + long unsigned int high_limit; + long unsigned int align_mask; + long unsigned int align_offset; + long unsigned int start_gap; +}; + +struct vma_list { + struct vm_area_struct *vma; + struct list_head head; + refcount_t mmap_count; +}; + +struct vma_merge_struct { + struct mm_struct *mm; + struct vma_iterator *vmi; + struct vm_area_struct *prev; + struct vm_area_struct *middle; + struct vm_area_struct *next; + struct vm_area_struct *target; + long unsigned int start; + long unsigned int end; + long unsigned int pgoff; + vm_flags_t vm_flags; + struct file *file; + struct anon_vma *anon_vma; + struct mempolicy *policy; + struct vm_userfaultfd_ctx uffd_ctx; + struct anon_vma_name *anon_name; + enum vma_merge_state state; + bool just_expand: 1; + bool give_up_on_oom: 1; + bool skip_vma_uprobe: 1; + bool __adjust_middle_start: 1; + bool __adjust_next_start: 1; + bool __remove_middle: 1; + bool __remove_next: 1; +}; + +struct vma_numab_state { + long unsigned int next_scan; + long unsigned int pids_active_reset; + long unsigned int pids_active[2]; + int start_scan_seq; + int prev_scan_seq; +}; + +struct vma_prepare { + struct vm_area_struct *vma; + struct vm_area_struct *adj_next; + struct file *file; + struct address_space *mapping; + struct anon_vma *anon_vma; + struct vm_area_struct *insert; + struct vm_area_struct *remove; + struct vm_area_struct *remove2; + bool skip_vma_uprobe: 1; +}; + +struct vma_remap_struct { + long unsigned int addr; + long unsigned int old_len; + long unsigned int new_len; + const long unsigned int flags; + long unsigned int new_addr; + struct vm_userfaultfd_ctx *uf; + struct list_head *uf_unmap_early; + struct list_head *uf_unmap; + struct vm_area_struct *vma; + long unsigned int delta; + bool populate_expand; + enum mremap_type remap_type; + bool mmap_locked; + long unsigned int charged; + bool vmi_needs_invalidate; +}; + +struct vmap_area { + long unsigned int va_start; + long unsigned int va_end; + struct rb_node rb_node; + struct list_head list; + union { + long unsigned int subtree_max_size; + struct vm_struct *vm; + }; + long unsigned int flags; +}; + +struct vmap_block { + spinlock_t lock; + struct vmap_area *va; + long unsigned int free; + long unsigned int dirty; + long unsigned int used_map[4]; + long unsigned int dirty_min; + long unsigned int dirty_max; + struct list_head free_list; + struct callback_head callback_head; + struct list_head purge; + unsigned int cpu; +}; + +struct vmap_block_queue { + spinlock_t lock; + struct list_head free; + struct xarray vmap_blocks; +}; + +struct vmap_pool { + struct list_head head; + long unsigned int len; +}; + +struct vmap_node { + struct vmap_pool pool[256]; + spinlock_t pool_lock; + bool skip_populate; + struct rb_list busy; + struct rb_list lazy; + struct list_head purge_list; + struct work_struct purge_work; + long unsigned int nr_purged; +}; + +struct vmap_pfn_data { + long unsigned int *pfns; + pgprot_t prot; + unsigned int idx; +}; + +struct vmcore_cb { + bool (*pfn_is_ram)(struct vmcore_cb *, long unsigned int); + int (*get_device_ram)(struct vmcore_cb *, struct list_head *); + struct list_head next; +}; + +struct vmcore_range { + struct list_head list; + long long unsigned int paddr; + long long unsigned int size; + loff_t offset; +}; + +struct vmcoredd_data { + char dump_name[44]; + unsigned int size; + int (*vmcoredd_callback)(struct vmcoredd_data *, void *); +}; + +struct vmcoredd_header { + __u32 n_namesz; + __u32 n_descsz; + __u32 n_type; + __u8 name[8]; + __u8 dump_name[44]; +}; + +struct vmcoredd_node { + struct list_head list; + void *buf; + unsigned int size; +}; + +struct vme_callback { + void (*func)(int, int, void *); + void *priv_data; +}; + +struct vme_irq { + int count; + struct vme_callback callback[256]; +}; + +struct vme_slave_resource; + +struct vme_master_resource; + +struct vme_dma_list; + +struct vme_dma_attr; + +struct vme_lm_resource; + +struct vme_bridge { + char name[16]; + int num; + struct list_head master_resources; + struct list_head slave_resources; + struct list_head dma_resources; + struct list_head lm_resources; + struct list_head vme_error_handlers; + struct list_head devices; + struct device *parent; + void *driver_priv; + struct list_head bus_list; + struct vme_irq irq[7]; + struct mutex irq_mtx; + int (*slave_get)(struct vme_slave_resource *, int *, long long unsigned int *, long long unsigned int *, dma_addr_t *, u32 *, u32 *); + int (*slave_set)(struct vme_slave_resource *, int, long long unsigned int, long long unsigned int, dma_addr_t, u32, u32); + int (*master_get)(struct vme_master_resource *, int *, long long unsigned int *, long long unsigned int *, u32 *, u32 *, u32 *); + int (*master_set)(struct vme_master_resource *, int, long long unsigned int, long long unsigned int, u32, u32, u32); + ssize_t (*master_read)(struct vme_master_resource *, void *, size_t, loff_t); + ssize_t (*master_write)(struct vme_master_resource *, void *, size_t, loff_t); + unsigned int (*master_rmw)(struct vme_master_resource *, unsigned int, unsigned int, unsigned int, loff_t); + int (*dma_list_add)(struct vme_dma_list *, struct vme_dma_attr *, struct vme_dma_attr *, size_t); + int (*dma_list_exec)(struct vme_dma_list *); + int (*dma_list_empty)(struct vme_dma_list *); + void (*irq_set)(struct vme_bridge *, int, int, int); + int (*irq_generate)(struct vme_bridge *, int, int); + int (*lm_set)(struct vme_lm_resource *, long long unsigned int, u32, u32); + int (*lm_get)(struct vme_lm_resource *, long long unsigned int *, u32 *, u32 *); + int (*lm_attach)(struct vme_lm_resource *, int, void (*)(void *), void *); + int (*lm_detach)(struct vme_lm_resource *, int); + int (*slot_get)(struct vme_bridge *); + void * (*alloc_consistent)(struct device *, size_t, dma_addr_t *); + void (*free_consistent)(struct device *, size_t, void *, dma_addr_t); +}; + +struct vme_dev { + int num; + struct vme_bridge *bridge; + struct device dev; + struct list_head drv_list; + struct list_head bridge_list; +}; + +struct vme_dma_attr { + u32 type; + void *private; +}; + +struct vme_dma_resource; + +struct vme_dma_list { + struct list_head list; + struct vme_dma_resource *parent; + struct list_head entries; + struct mutex mtx; +}; + +struct vme_dma_pattern { + u32 pattern; + u32 type; +}; + +struct vme_dma_pci { + dma_addr_t address; +}; + +struct vme_dma_resource { + struct list_head list; + struct vme_bridge *parent; + struct mutex mtx; + int locked; + int number; + struct list_head pending; + struct list_head running; + u32 route_attr; +}; + +struct vme_dma_vme { + long long unsigned int address; + u32 aspace; + u32 cycle; + u32 dwidth; +}; + +struct vme_driver { + const char *name; + int (*match)(struct vme_dev *); + int (*probe)(struct vme_dev *); + void (*remove)(struct vme_dev *); + struct device_driver driver; + struct list_head devices; +}; + +struct vme_error_handler { + struct list_head list; + long long unsigned int start; + long long unsigned int end; + long long unsigned int first_error; + u32 aspace; + unsigned int num_errors; +}; + +struct vme_lm_resource { + struct list_head list; + struct vme_bridge *parent; + struct mutex mtx; + int locked; + int number; + int monitors; +}; + +struct vme_master_resource { + struct list_head list; + struct vme_bridge *parent; + spinlock_t lock; + int locked; + int number; + u32 address_attr; + u32 cycle_attr; + u32 width_attr; + struct resource bus_resource; + void *kern_base; +}; + +struct vme_resource { + enum vme_resource_type type; + struct list_head *entry; +}; + +struct vme_slave_resource { + struct list_head list; + struct vme_bridge *parent; + struct mutex mtx; + int locked; + int number; + u32 address_attr; + u32 cycle_attr; +}; + +struct vmemmap_remap_walk { + void (*remap_pte)(pte_t *, long unsigned int, struct vmemmap_remap_walk *); + long unsigned int nr_walked; + struct page *reuse_page; + long unsigned int reuse_addr; + struct list_head *vmemmap_pages; + long unsigned int flags; +}; + +struct vmpressure_event { + struct eventfd_ctx *efd; + enum vmpressure_levels level; + enum vmpressure_modes mode; + struct list_head node; +}; + +struct vmware_steal_time { + union { + u64 clock; + struct { + u32 clock_low; + u32 clock_high; + }; + }; + u64 reserved[7]; +}; + +struct vring_desc; + +typedef struct vring_desc vring_desc_t; + +struct vring_avail; + +typedef struct vring_avail vring_avail_t; + +struct vring_used; + +typedef struct vring_used vring_used_t; + +struct vring { + unsigned int num; + vring_desc_t *desc; + vring_avail_t *avail; + vring_used_t *used; +}; + +struct vring_avail { + __virtio16 flags; + __virtio16 idx; + __virtio16 ring[0]; +}; + +struct vring_desc { + __virtio64 addr; + __virtio32 len; + __virtio16 flags; + __virtio16 next; +}; + +struct vring_desc_extra { + dma_addr_t addr; + u32 len; + u16 flags; + u16 next; +}; + +struct vring_packed_desc; + +struct vring_desc_state_packed { + void *data; + struct vring_packed_desc *indir_desc; + u16 num; + u16 last; +}; + +struct vring_desc_state_split { + void *data; + struct vring_desc *indir_desc; +}; + +struct vring_packed_desc { + __le64 addr; + __le32 len; + __le16 id; + __le16 flags; +}; + +struct vring_packed_desc_event { + __le16 off_wrap; + __le16 flags; +}; + +struct vring_used_elem { + __virtio32 id; + __virtio32 len; +}; + +typedef struct vring_used_elem vring_used_elem_t; + +struct vring_used { + __virtio16 flags; + __virtio16 idx; + vring_used_elem_t ring[0]; +}; + +struct vring_virtqueue_split { + struct vring vring; + u16 avail_flags_shadow; + u16 avail_idx_shadow; + struct vring_desc_state_split *desc_state; + struct vring_desc_extra *desc_extra; + dma_addr_t queue_dma_addr; + size_t queue_size_in_bytes; + u32 vring_align; + bool may_reduce_num; +}; + +struct vring_virtqueue_packed { + struct { + unsigned int num; + struct vring_packed_desc *desc; + struct vring_packed_desc_event *driver; + struct vring_packed_desc_event *device; + } vring; + bool avail_wrap_counter; + u16 avail_used_flags; + u16 next_avail_idx; + u16 event_flags_shadow; + struct vring_desc_state_packed *desc_state; + struct vring_desc_extra *desc_extra; + dma_addr_t ring_dma_addr; + dma_addr_t driver_event_dma_addr; + dma_addr_t device_event_dma_addr; + size_t ring_size_in_bytes; + size_t event_size_in_bytes; +}; + +struct vring_virtqueue { + struct virtqueue vq; + bool packed_ring; + bool use_dma_api; + bool weak_barriers; + bool broken; + bool indirect; + bool event; + unsigned int free_head; + unsigned int num_added; + u16 last_used_idx; + bool event_triggered; + union { + struct vring_virtqueue_split split; + struct vring_virtqueue_packed packed; + }; + bool (*notify)(struct virtqueue *); + bool we_own_ring; + struct device *dma_dev; +}; + +struct vt_consize { + __u16 v_rows; + __u16 v_cols; + __u16 v_vlin; + __u16 v_clin; + __u16 v_vcol; + __u16 v_ccol; +}; + +struct vt_consizecsrpos { + __u16 con_rows; + __u16 con_cols; + __u16 csr_row; + __u16 csr_col; +}; + +struct vt_event { + __u32 event; + __u32 oldev; + __u32 newev; + __u32 pad[4]; +}; + +struct vt_event_wait { + struct list_head list; + struct vt_event event; + int done; +}; + +struct vt_notifier_param { + struct vc_data *vc; + unsigned int c; +}; + +struct vt_setactivate { + __u32 console; + struct vt_mode mode; +}; + +struct vt_sizes { + __u16 v_rows; + __u16 v_cols; + __u16 v_scrollsize; +}; + +struct vt_spawn_console { + spinlock_t lock; + struct pid *pid; + int sig; +}; + +struct vt_stat { + __u16 v_active; + __u16 v_signal; + __u16 v_state; +}; + +struct vxlan_metadata { + u32 gbp; +}; + +struct wait_bit_key { + long unsigned int *flags; + int bit_nr; + long unsigned int timeout; +}; + +struct wait_bit_queue_entry { + struct wait_bit_key key; + struct wait_queue_entry wq_entry; +}; + +struct wait_exceptional_entry_queue { + wait_queue_entry_t wait; + struct exceptional_entry_key key; +}; + +struct wait_page_key { + struct folio *folio; + int bit_nr; + int page_match; +}; + +struct wake_irq { + struct device *dev; + unsigned int status; + int irq; + const char *name; +}; + +struct wakelock { + char *name; + struct rb_node node; + struct wakeup_source *ws; + struct list_head lru; +}; + +struct wakeup_header { + u16 video_mode; + u32 pmode_entry; + u16 pmode_cs; + u32 pmode_cr0; + u32 pmode_cr3; + u32 pmode_cr4; + u32 pmode_efer_low; + u32 pmode_efer_high; + u64 pmode_gdt; + u32 pmode_misc_en_low; + u32 pmode_misc_en_high; + u32 pmode_behavior; + u32 realmode_flags; + u32 real_magic; + u32 signature; +} __attribute__((packed)); + +struct wakeup_source { + const char *name; + int id; + struct list_head entry; + spinlock_t lock; + struct wake_irq *wakeirq; + struct timer_list timer; + long unsigned int timer_expires; + ktime_t total_time; + ktime_t max_time; + ktime_t last_time; + ktime_t start_prevent_time; + ktime_t prevent_sleep_time; + long unsigned int event_count; + long unsigned int active_count; + long unsigned int relax_count; + long unsigned int expire_count; + long unsigned int wakeup_count; + struct device *dev; + bool active: 1; + bool autosleep_enabled: 1; +}; + +struct walk_rcec_data { + struct pci_dev *rcec; + int (*user_callback)(struct pci_dev *, void *); + void *user_data; +}; + +struct walk_stack_ctx { + struct bpf_prog *prog; +}; + +struct warn_args { + const char *fmt; + va_list args; +}; + +struct watch { + union { + struct callback_head rcu; + u32 info_id; + }; + struct watch_queue *queue; + struct hlist_node queue_node; + struct watch_list *watch_list; + struct hlist_node list_node; + const struct cred *cred; + void *private; + u64 id; + struct kref usage; +}; + +struct xenbus_watch { + struct list_head list; + const char *node; + unsigned int nr_pending; + bool (*will_handle)(struct xenbus_watch *, const char *, const char *); + void (*callback)(struct xenbus_watch *, const char *, const char *); +}; + +struct xenbus_file_priv; + +struct watch_adapter { + struct list_head list; + struct xenbus_watch watch; + struct xenbus_file_priv *dev_data; + char *token; +}; + +struct watch_type_filter { + enum watch_notification_type type; + __u32 subtype_filter[1]; + __u32 info_filter; + __u32 info_mask; +}; + +struct watch_filter { + union { + struct callback_head rcu; + long unsigned int type_filter[1]; + }; + u32 nr_filters; + struct watch_type_filter filters[0]; +}; + +struct watch_list { + struct callback_head rcu; + struct hlist_head watchers; + void (*release_watch)(struct watch *); + spinlock_t lock; +}; + +struct watch_notification_type_filter { + __u32 type; + __u32 info_filter; + __u32 info_mask; + __u32 subtype_filter[8]; +}; + +struct watch_notification_filter { + __u32 nr_filters; + __u32 __reserved; + struct watch_notification_type_filter filters[0]; +}; + +struct watch_notification_removal { + struct watch_notification watch; + __u64 id; +}; + +struct watch_queue { + struct callback_head rcu; + struct watch_filter *filter; + struct pipe_inode_info *pipe; + struct hlist_head watches; + struct page **notes; + long unsigned int *notes_bitmap; + struct kref usage; + spinlock_t lock; + unsigned int nr_notes; + unsigned int nr_pages; +}; + +struct watchdog_device; + +struct watchdog_core_data { + struct device dev; + struct cdev cdev; + struct watchdog_device *wdd; + struct mutex lock; + ktime_t last_keepalive; + ktime_t last_hw_keepalive; + ktime_t open_deadline; + struct hrtimer timer; + struct kthread_work work; + long unsigned int status; +}; + +struct watchdog_info; + +struct watchdog_ops; + +struct watchdog_device { + int id; + struct device *parent; + const struct attribute_group **groups; + const struct watchdog_info *info; + const struct watchdog_ops *ops; + const struct watchdog_governor *gov; + unsigned int bootstatus; + unsigned int timeout; + unsigned int pretimeout; + unsigned int min_timeout; + unsigned int max_timeout; + unsigned int min_hw_heartbeat_ms; + unsigned int max_hw_heartbeat_ms; + struct notifier_block reboot_nb; + struct notifier_block restart_nb; + struct notifier_block pm_nb; + void *driver_data; + struct watchdog_core_data *wd_data; + long unsigned int status; + struct list_head deferred; +}; + +struct watchdog_governor { + const char name[20]; + void (*pretimeout)(struct watchdog_device *); +}; + +struct watchdog_info { + __u32 options; + __u32 firmware_version; + __u8 identity[32]; +}; + +struct watchdog_ops { + struct module *owner; + int (*start)(struct watchdog_device *); + int (*stop)(struct watchdog_device *); + int (*ping)(struct watchdog_device *); + unsigned int (*status)(struct watchdog_device *); + int (*set_timeout)(struct watchdog_device *, unsigned int); + int (*set_pretimeout)(struct watchdog_device *, unsigned int); + unsigned int (*get_timeleft)(struct watchdog_device *); + int (*restart)(struct watchdog_device *, long unsigned int, void *); + long int (*ioctl)(struct watchdog_device *, unsigned int, long unsigned int); +}; + +struct watchdog_pretimeout { + struct watchdog_device *wdd; + struct list_head entry; +}; + +struct wb_lock_cookie { + bool locked; + long unsigned int flags; +}; + +struct wb_stats { + long unsigned int nr_dirty; + long unsigned int nr_io; + long unsigned int nr_more_io; + long unsigned int nr_dirty_time; + long unsigned int nr_writeback; + long unsigned int nr_reclaimable; + long unsigned int nr_dirtied; + long unsigned int nr_written; + long unsigned int dirty_thresh; + long unsigned int wb_thresh; +}; + +struct wb_writeback_work { + long int nr_pages; + struct super_block *sb; + enum writeback_sync_modes sync_mode; + unsigned int tagged_writepages: 1; + unsigned int for_kupdate: 1; + unsigned int range_cyclic: 1; + unsigned int for_background: 1; + unsigned int for_sync: 1; + unsigned int auto_free: 1; + enum wb_reason reason; + struct list_head list; + struct wb_completion *done; +}; + +struct wbrf_ranges_in_out { + u64 num_of_ranges; + struct freq_band_range band_list[11]; +}; + +struct wbt_wait_data { + struct rq_wb *rwb; + enum wbt_flags wb_acct; + blk_opf_t opf; +}; + +struct wci_ent { + work_func_t func; + atomic64_t cnt; + struct hlist_node hash_node; +}; + +struct weighted_interleave_state { + bool mode_auto; + u8 iw_table[0]; +}; + +struct win_certificate { + uint32_t length; + uint16_t revision; + uint16_t cert_type; +}; + +struct wiphy_iftype_akm_suites; + +struct wiphy_wowlan_support; + +struct wiphy_iftype_ext_capab; + +struct wiphy_radio_cfg; + +struct wiphy_coalesce_support; + +struct wiphy_vendor_command; + +struct wiphy_radio; + +struct wiphy { + struct mutex mtx; + u8 perm_addr[6]; + u8 addr_mask[6]; + struct mac_address *addresses; + const struct ieee80211_txrx_stypes *mgmt_stypes; + const struct ieee80211_iface_combination *iface_combinations; + int n_iface_combinations; + u16 software_iftypes; + u16 n_addresses; + u16 interface_modes; + u16 max_acl_mac_addrs; + u32 flags; + u32 regulatory_flags; + u32 features; + u8 ext_features[9]; + u32 ap_sme_capa; + enum cfg80211_signal_type signal_type; + int bss_priv_size; + u8 max_scan_ssids; + u8 max_sched_scan_reqs; + u8 max_sched_scan_ssids; + u8 max_match_sets; + u16 max_scan_ie_len; + u16 max_sched_scan_ie_len; + u32 max_sched_scan_plans; + u32 max_sched_scan_plan_interval; + u32 max_sched_scan_plan_iterations; + int n_cipher_suites; + const u32 *cipher_suites; + int n_akm_suites; + const u32 *akm_suites; + const struct wiphy_iftype_akm_suites *iftype_akm_suites; + unsigned int num_iftype_akm_suites; + u8 retry_short; + u8 retry_long; + u32 frag_threshold; + u32 rts_threshold; + u8 coverage_class; + char fw_version[32]; + u32 hw_version; + const struct wiphy_wowlan_support *wowlan; + struct cfg80211_wowlan *wowlan_config; + u16 max_remain_on_channel_duration; + u8 max_num_pmkids; + u32 available_antennas_tx; + u32 available_antennas_rx; + u32 probe_resp_offload; + const u8 *extended_capabilities; + const u8 *extended_capabilities_mask; + u8 extended_capabilities_len; + const struct wiphy_iftype_ext_capab *iftype_ext_capab; + unsigned int num_iftype_ext_capab; + const void *privid; + struct ieee80211_supported_band *bands[6]; + void (*reg_notifier)(struct wiphy *, struct regulatory_request *); + struct wiphy_radio_cfg *radio_cfg; + const struct ieee80211_regdomain *regd; + struct device dev; + bool registered; + struct dentry *debugfsdir; + const struct ieee80211_ht_cap *ht_capa_mod_mask; + const struct ieee80211_vht_cap *vht_capa_mod_mask; + struct list_head wdev_list; + possible_net_t _net; + const struct iw_handler_def *wext; + const struct wiphy_coalesce_support *coalesce; + const struct wiphy_vendor_command *vendor_commands; + const struct nl80211_vendor_cmd_info *vendor_events; + int n_vendor_commands; + int n_vendor_events; + u16 max_ap_assoc_sta; + u8 max_num_csa_counters; + u32 bss_select_support; + u8 nan_supported_bands; + u32 txq_limit; + u32 txq_memory_limit; + u32 txq_quantum; + long unsigned int tx_queue_len; + u8 support_mbssid: 1; + u8 support_only_he_mbssid: 1; + const struct cfg80211_pmsr_capabilities *pmsr_capa; + struct { + u64 peer; + u64 vif; + u8 max_retry; + } tid_config_support; + u8 max_data_retry_count; + const struct cfg80211_sar_capa *sar_capa; + struct rfkill *rfkill; + u8 mbssid_max_interfaces; + u8 ema_max_profile_periodicity; + u16 max_num_akm_suites; + u16 hw_timestamp_max_peers; + int n_radio; + const struct wiphy_radio *radio; + long: 64; + long: 64; + long: 64; + char priv[0]; +}; + +struct wiphy_coalesce_support { + int n_rules; + int max_delay; + int n_patterns; + int pattern_max_len; + int pattern_min_len; + int max_pkt_offset; +}; + +struct wiphy_iftype_akm_suites { + u16 iftypes_mask; + const u32 *akm_suites; + int n_akm_suites; +}; + +struct wiphy_iftype_ext_capab { + enum nl80211_iftype iftype; + const u8 *extended_capabilities; + const u8 *extended_capabilities_mask; + u8 extended_capabilities_len; + u16 eml_capabilities; + u16 mld_capa_and_ops; +}; + +struct wiphy_radio_freq_range; + +struct wiphy_radio { + const struct wiphy_radio_freq_range *freq_range; + int n_freq_range; + const struct ieee80211_iface_combination *iface_combinations; + int n_iface_combinations; + u32 antenna_mask; +}; + +struct wiphy_radio_cfg { + u32 rts_threshold; +}; + +struct wiphy_radio_freq_range { + u32 start_freq; + u32 end_freq; +}; + +struct wiphy_vendor_command { + struct nl80211_vendor_cmd_info info; + u32 flags; + int (*doit)(struct wiphy *, struct wireless_dev *, const void *, int); + int (*dumpit)(struct wiphy *, struct wireless_dev *, struct sk_buff *, const void *, int, long unsigned int *); + const struct nla_policy *policy; + unsigned int maxattr; +}; + +struct wiphy_work; + +typedef void (*wiphy_work_func_t)(struct wiphy *, struct wiphy_work *); + +struct wiphy_work { + struct list_head entry; + wiphy_work_func_t func; +}; + +struct wiphy_wowlan_tcp_support; + +struct wiphy_wowlan_support { + u32 flags; + int n_patterns; + int pattern_max_len; + int pattern_min_len; + int max_pkt_offset; + int max_nd_match_sets; + const struct wiphy_wowlan_tcp_support *tcp; +}; + +struct wiphy_wowlan_tcp_support { + const struct nl80211_wowlan_tcp_data_token_feature *tok; + u32 data_payload_max; + u32 data_interval_max; + u32 wake_payload_max; + bool seq; +}; + +struct cfg80211_conn; + +struct cfg80211_cached_keys; + +struct cfg80211_cqm_config; + +struct cfg80211_internal_bss; + +struct wireless_dev { + struct wiphy *wiphy; + enum nl80211_iftype iftype; + struct list_head list; + struct net_device *netdev; + u32 identifier; + struct list_head mgmt_registrations; + u8 mgmt_registrations_need_update: 1; + bool use_4addr; + bool is_running; + bool registered; + bool registering; + short: 0; + u8 address[6]; + struct cfg80211_conn *conn; + struct cfg80211_cached_keys *connect_keys; + enum ieee80211_bss_type conn_bss_type; + u32 conn_owner_nlportid; + struct work_struct disconnect_wk; + u8 disconnect_bssid[6]; + struct list_head event_list; + spinlock_t event_lock; + u8 connected: 1; + bool ps; + int ps_timeout; + u32 ap_unexpected_nlportid; + u32 owner_nlportid; + bool nl_owner_dead; + struct { + struct cfg80211_ibss_params ibss; + struct cfg80211_connect_params connect; + struct cfg80211_cached_keys *keys; + const u8 *ie; + size_t ie_len; + u8 bssid[6]; + u8 prev_bssid[6]; + u8 ssid[32]; + s8 default_key; + s8 default_mgmt_key; + bool prev_bssid_valid; + } wext; + struct wiphy_work cqm_rssi_work; + struct cfg80211_cqm_config *cqm_config; + struct list_head pmsr_list; + spinlock_t pmsr_lock; + struct work_struct pmsr_free_wk; + long unsigned int unprot_beacon_reported; + union { + struct { + u8 connected_addr[6]; + u8 ssid[32]; + u8 ssid_len; + long: 0; + } client; + struct { + int beacon_interval; + struct cfg80211_chan_def preset_chandef; + struct cfg80211_chan_def chandef; + u8 id[32]; + u8 id_len; + u8 id_up_len; + } mesh; + struct { + struct cfg80211_chan_def preset_chandef; + u8 ssid[32]; + u8 ssid_len; + } ap; + struct { + struct cfg80211_internal_bss *current_bss; + struct cfg80211_chan_def chandef; + int beacon_interval; + u8 ssid[32]; + u8 ssid_len; + } ibss; + struct { + struct cfg80211_chan_def chandef; + } ocb; + } u; + struct { + u8 addr[6]; + union { + struct { + unsigned int beacon_interval; + struct cfg80211_chan_def chandef; + } ap; + struct { + struct cfg80211_internal_bss *current_bss; + } client; + }; + bool cac_started; + long unsigned int cac_start_time; + unsigned int cac_time_ms; + } links[15]; + u16 valid_links; + u32 radio_mask; +}; + +struct wm831x; + +struct wm831x_backlight_pdata; + +struct wm831x_backup_pdata; + +struct wm831x_battery_pdata; + +struct wm831x_touch_pdata; + +struct wm831x_watchdog_pdata; + +struct wm831x_status_pdata; + +struct wm831x_pdata { + int wm831x_num; + int (*pre_init)(struct wm831x *); + int (*post_init)(struct wm831x *); + bool irq_cmos; + bool disable_touch; + bool soft_shutdown; + int irq_base; + int gpio_base; + int gpio_defaults[16]; + struct wm831x_backlight_pdata *backlight; + struct wm831x_backup_pdata *backup; + struct wm831x_battery_pdata *battery; + struct wm831x_touch_pdata *touch; + struct wm831x_watchdog_pdata *watchdog; + struct wm831x_status_pdata *status[2]; + struct regulator_init_data *dcdc[4]; + struct regulator_init_data *epe[2]; + struct regulator_init_data *ldo[11]; + struct regulator_init_data *isink[2]; +}; + +typedef int (*wm831x_auxadc_read_fn)(struct wm831x *, enum wm831x_auxadc); + +struct wm831x { + struct mutex io_lock; + struct device *dev; + struct regmap *regmap; + struct wm831x_pdata pdata; + enum wm831x_parent type; + int irq; + struct mutex irq_lock; + struct irq_domain *irq_domain; + int irq_masks_cur[5]; + int irq_masks_cache[5]; + bool soft_shutdown; + unsigned int has_gpio_ena: 1; + unsigned int has_cs_sts: 1; + unsigned int charger_irq_wake: 1; + int num_gpio; + int gpio_update[16]; + bool gpio_level_high[16]; + bool gpio_level_low[16]; + struct mutex auxadc_lock; + struct list_head auxadc_pending; + u16 auxadc_active; + wm831x_auxadc_read_fn auxadc_read; + struct mutex key_lock; + unsigned int locked: 1; +}; + +struct wm831x_auxadc_req { + struct list_head list; + enum wm831x_auxadc input; + int val; + struct completion done; +}; + +struct wm831x_backlight_pdata { + int isink; + int max_uA; +}; + +struct wm831x_backup_pdata { + int charger_enable; + int no_constant_voltage; + int vlim; + int ilim; +}; + +struct wm831x_battery_pdata { + int enable; + int fast_enable; + int off_mask; + int trickle_ilim; + int vsel; + int eoc_iterm; + int fast_ilim; + int timeout; +}; + +struct wm831x_irq_data { + int primary; + int reg; + int mask; +}; + +struct wm831x_status_pdata { + enum wm831x_status_src default_src; + const char *name; + const char *default_trigger; +}; + +struct wm831x_touch_pdata { + int fivewire; + int isel; + int rpu; + int pressure; + unsigned int data_irq; + int data_irqf; + unsigned int pd_irq; + int pd_irqf; +}; + +struct wm831x_watchdog_pdata { + enum wm831x_watchdog_action primary; + enum wm831x_watchdog_action secondary; + unsigned int software: 1; +}; + +struct wm8350_audio_platform_data; + +struct wm8350_codec { + struct platform_device *pdev; + struct wm8350_audio_platform_data *platform_data; +}; + +struct wm8350_gpio { + struct platform_device *pdev; +}; + +struct wm8350_hwmon { + struct platform_device *pdev; + struct device *classdev; +}; + +struct wm8350_led { + struct platform_device *pdev; + struct work_struct work; + spinlock_t value_lock; + enum led_brightness value; + struct led_classdev cdev; + int max_uA_index; + int enabled; + struct regulator *isink; + struct regulator_consumer_supply isink_consumer; + struct regulator_init_data isink_init; + struct regulator *dcdc; + struct regulator_consumer_supply dcdc_consumer; + struct regulator_init_data dcdc_init; +}; + +struct wm8350_pmic { + int max_dcdc; + int max_isink; + int isink_A_dcdc; + int isink_B_dcdc; + u16 dcdc1_hib_mode; + u16 dcdc3_hib_mode; + u16 dcdc4_hib_mode; + u16 dcdc6_hib_mode; + struct platform_device *pdev[12]; + struct wm8350_led led[2]; +}; + +struct wm8350_charger_policy; + +struct wm8350_power { + struct platform_device *pdev; + struct power_supply *battery; + struct power_supply *usb; + struct power_supply *ac; + struct wm8350_charger_policy *policy; + int rev_g_coeff; +}; + +struct wm8350_rtc { + struct platform_device *pdev; + struct rtc_device *rtc; + int alarm_enabled; + int update_enabled; +}; + +struct wm8350_wdt { + struct platform_device *pdev; +}; + +struct wm8350 { + struct device *dev; + struct regmap *regmap; + bool unlocked; + struct mutex auxadc_mutex; + struct completion auxadc_done; + struct mutex irq_lock; + int chip_irq; + int irq_base; + u16 irq_masks[7]; + struct wm8350_codec codec; + struct wm8350_gpio gpio; + struct wm8350_hwmon hwmon; + struct wm8350_pmic pmic; + struct wm8350_power power; + struct wm8350_rtc rtc; + struct wm8350_wdt wdt; +}; + +struct wm8350_audio_platform_data { + int vmid_discharge_msecs; + int drain_msecs; + int cap_discharge_msecs; + int vmid_charge_msecs; + u32 vmid_s_curve: 2; + u32 dis_out4: 2; + u32 dis_out3: 2; + u32 dis_out2: 2; + u32 dis_out1: 2; + u32 vroi_out4: 1; + u32 vroi_out3: 1; + u32 vroi_out2: 1; + u32 vroi_out1: 1; + u32 vroi_enable: 1; + u32 codec_current_on: 2; + u32 codec_current_standby: 2; + u32 codec_current_charge: 2; +}; + +struct wm8350_charger_policy { + int eoc_mA; + int charge_mV; + int fast_limit_mA; + int fast_limit_USB_mA; + int charge_timeout; + int trickle_start_mV; + int trickle_charge_mA; + int trickle_charge_USB_mA; +}; + +struct wm8350_irq_data { + int primary; + int reg; + int mask; + int primary_only; +}; + +struct wm8350_platform_data { + int (*init)(struct wm8350 *); + int irq_high; + int irq_base; + int gpio_base; +}; + +struct wm8350_reg_access { + u16 readable; + u16 writable; + u16 vol; +}; + +struct wm8400 { + struct device *dev; + struct regmap *regmap; + struct platform_device regulators[6]; +}; + +struct wm8400_platform_data { + int (*platform_init)(struct device *); +}; + +struct wol_reply_data { + struct ethnl_reply_data base; + struct ethtool_wolinfo wol; + bool show_sopass; +}; + +struct word_at_a_time { + const long unsigned int one_bits; + const long unsigned int high_bits; +}; + +struct work_for_cpu { + struct work_struct work; + long int (*fn)(void *); + void *arg; + long int ret; +}; + +struct work_offq_data { + u32 pool_id; + u32 disable; + u32 flags; +}; + +struct worker { + union { + struct list_head entry; + struct hlist_node hentry; + }; + struct work_struct *current_work; + work_func_t current_func; + struct pool_workqueue *current_pwq; + u64 current_at; + unsigned int current_color; + int sleeping; + work_func_t last_func; + struct list_head scheduled; + struct task_struct *task; + struct worker_pool *pool; + struct list_head node; + long unsigned int last_active; + unsigned int flags; + int id; + char desc[32]; + struct workqueue_struct *rescue_wq; +}; + +struct worker_pool { + raw_spinlock_t lock; + int cpu; + int node; + int id; + unsigned int flags; + long unsigned int watchdog_ts; + bool cpu_stall; + int nr_running; + struct list_head worklist; + int nr_workers; + int nr_idle; + struct list_head idle_list; + struct timer_list idle_timer; + struct work_struct idle_cull_work; + struct timer_list mayday_timer; + struct hlist_head busy_hash[64]; + struct worker *manager; + struct list_head workers; + struct ida worker_ida; + struct workqueue_attrs *attrs; + struct hlist_node hash_node; + int refcnt; + struct callback_head rcu; +}; + +struct workqueue_attrs { + int nice; + cpumask_var_t cpumask; + cpumask_var_t __pod_cpumask; + bool affn_strict; + enum wq_affn_scope affn_scope; + bool ordered; +}; + +struct wq_flusher; + +struct wq_device; + +struct wq_node_nr_active; + +struct workqueue_struct { + struct list_head pwqs; + struct list_head list; + struct mutex mutex; + int work_color; + int flush_color; + atomic_t nr_pwqs_to_flush; + struct wq_flusher *first_flusher; + struct list_head flusher_queue; + struct list_head flusher_overflow; + struct list_head maydays; + struct worker *rescuer; + int nr_drainers; + int max_active; + int min_active; + int saved_max_active; + int saved_min_active; + struct workqueue_attrs *unbound_attrs; + struct pool_workqueue *dfl_pwq; + struct wq_device *wq_dev; + char name[32]; + struct callback_head rcu; + long: 64; + long: 64; + unsigned int flags; + struct pool_workqueue **cpu_pwq; + struct wq_node_nr_active *node_nr_active[0]; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct workspace { + void *mem; + size_t mem_size; + size_t window_size; +}; + +struct wpan_phy; + +struct wpan_dev_header_ops; + +struct wpan_dev { + struct wpan_phy *wpan_phy; + int iftype; + struct list_head list; + struct net_device *netdev; + const struct wpan_dev_header_ops *header_ops; + struct net_device *lowpan_dev; + u32 identifier; + __le16 pan_id; + __le16 short_addr; + __le64 extended_addr; + atomic_t bsn; + atomic_t dsn; + u8 min_be; + u8 max_be; + u8 csma_retries; + s8 frame_retries; + bool lbt; + bool ackreq; + struct mutex association_lock; + struct ieee802154_pan_device *parent; + struct list_head children; + unsigned int max_associations; + unsigned int nchildren; +}; + +struct wpan_dev_header_ops { + int (*create)(struct sk_buff *, struct net_device *, const struct ieee802154_addr *, const struct ieee802154_addr *, unsigned int); +}; + +struct wpan_phy_supported { + u32 channels[32]; + u32 cca_modes; + u32 cca_opts; + u32 iftypes; + enum nl802154_supported_bool_states lbt; + u8 min_minbe; + u8 max_minbe; + u8 min_maxbe; + u8 max_maxbe; + u8 min_csma_backoffs; + u8 max_csma_backoffs; + s8 min_frame_retries; + s8 max_frame_retries; + size_t tx_powers_size; + size_t cca_ed_levels_size; + const s32 *tx_powers; + const s32 *cca_ed_levels; +}; + +struct wpan_phy_cca { + enum nl802154_cca_modes mode; + enum nl802154_cca_opts opt; +}; + +struct wpan_phy { + const void *privid; + long unsigned int flags; + u8 current_channel; + u8 current_page; + struct wpan_phy_supported supported; + s32 transmit_power; + struct wpan_phy_cca cca; + __le64 perm_extended_addr; + s32 cca_ed_level; + u32 symbol_duration; + u16 lifs_period; + u16 sifs_period; + struct device dev; + possible_net_t _net; + spinlock_t queue_lock; + atomic_t ongoing_txs; + atomic_t hold_txs; + wait_queue_head_t sync_txq; + enum ieee802154_filtering_level filtering; + long: 0; + char priv[0]; +}; + +struct wq_barrier { + struct work_struct work; + struct completion done; + struct task_struct *task; +}; + +struct wq_device { + struct workqueue_struct *wq; + struct device dev; +}; + +struct wq_drain_dead_softirq_work { + struct work_struct work; + struct worker_pool *pool; + struct completion done; +}; + +struct wq_flusher { + struct list_head list; + int flush_color; + struct completion done; +}; + +struct wq_node_nr_active { + int max; + atomic_t nr; + raw_spinlock_t lock; + struct list_head pending_pwqs; +}; + +struct wq_pod_type { + int nr_pods; + cpumask_var_t *pod_cpus; + int *pod_node; + int *cpu_pod; +}; + +typedef void (*swap_func_t)(void *, void *, int); + +struct wrapper { + cmp_func_t cmp; + swap_func_t swap; +}; + +struct wrapper_priv_data { + struct dwc2_hsotg *hsotg; +}; + +struct writeback_control { + long int nr_to_write; + long int pages_skipped; + loff_t range_start; + loff_t range_end; + enum writeback_sync_modes sync_mode; + unsigned int for_kupdate: 1; + unsigned int for_background: 1; + unsigned int tagged_writepages: 1; + unsigned int range_cyclic: 1; + unsigned int for_sync: 1; + unsigned int unpinned_netfs_wb: 1; + unsigned int no_cgroup_owner: 1; + struct folio_batch fbatch; + long unsigned int index; + int saved_err; + struct bdi_writeback *wb; + struct inode *inode; + int wb_id; + int wb_lcand_id; + int wb_tcand_id; + size_t wb_bytes; + size_t wb_lcand_bytes; + size_t wb_tcand_bytes; +}; + +struct writer { + uint8_t *buffer; + uint8_t previous_byte; + size_t buffer_pos; + int bufsize; + size_t global_pos; + long int (*flush)(void *, long unsigned int); + struct lzma_header *header; +}; + +struct wrprotect_file_state { + int cleaned; + long unsigned int pgoff; + long unsigned int pfn; + long unsigned int nr_pages; +}; + +struct ww_class { + atomic_long_t stamp; + struct lock_class_key acquire_key; + struct lock_class_key mutex_key; + const char *acquire_name; + const char *mutex_name; + unsigned int is_wait_die; +}; + +struct x509_certificate { + struct x509_certificate *next; + struct x509_certificate *signer; + struct public_key *pub; + struct public_key_signature *sig; + char *issuer; + char *subject; + struct asymmetric_key_id *id; + struct asymmetric_key_id *skid; + time64_t valid_from; + time64_t valid_to; + const void *tbs; + unsigned int tbs_size; + unsigned int raw_sig_size; + const void *raw_sig; + const void *raw_serial; + unsigned int raw_serial_size; + unsigned int raw_issuer_size; + const void *raw_issuer; + const void *raw_subject; + unsigned int raw_subject_size; + unsigned int raw_skid_size; + const void *raw_skid; + unsigned int index; + bool seen; + bool verified; + bool self_signed; + bool unsupported_sig; + bool blacklisted; +}; + +struct x509_parse_context { + struct x509_certificate *cert; + long unsigned int data; + const void *key; + size_t key_size; + const void *params; + size_t params_size; + enum OID key_algo; + enum OID last_oid; + enum OID sig_algo; + u8 o_size; + u8 cn_size; + u8 email_size; + u16 o_offset; + u16 cn_offset; + u16 email_offset; + unsigned int raw_akid_size; + const void *raw_akid; + const void *akid_raw_issuer; + unsigned int akid_raw_issuer_size; +}; + +struct x64_jit_data { + struct bpf_binary_header *rw_header; + struct bpf_binary_header *header; + int *addrs; + u8 *image; + int proglen; + struct jit_context ctx; +}; + +struct x86_apic_ops { + unsigned int (*io_apic_read)(unsigned int, unsigned int); + void (*restore)(void); +}; + +struct x86_cpuinit_ops { + void (*setup_percpu_clockev)(void); + void (*early_percpu_clock_init)(void); + void (*fixup_cpu_id)(struct cpuinfo_x86 *, int); + bool parallel_bringup; +}; + +struct x86_guest { + int (*enc_status_change_prepare)(long unsigned int, int, bool); + int (*enc_status_change_finish)(long unsigned int, int, bool); + bool (*enc_tlb_flush_required)(bool); + bool (*enc_cache_flush_required)(void); + void (*enc_kexec_begin)(void); + void (*enc_kexec_finish)(void); +}; + +struct x86_hybrid_pmu { + struct pmu pmu; + const char *name; + enum hybrid_pmu_type pmu_type; + cpumask_t supported_cpus; + union perf_capabilities intel_cap; + u64 intel_ctrl; + u64 pebs_events_mask; + u64 config_mask; + union { + u64 cntr_mask64; + long unsigned int cntr_mask[1]; + }; + union { + u64 fixed_cntr_mask64; + long unsigned int fixed_cntr_mask[1]; + }; + union { + u64 acr_cntr_mask64; + long unsigned int acr_cntr_mask[1]; + }; + union { + u64 acr_cause_mask64; + long unsigned int acr_cause_mask[1]; + }; + struct event_constraint unconstrained; + u64 hw_cache_event_ids[42]; + u64 hw_cache_extra_regs[42]; + struct event_constraint *event_constraints; + struct event_constraint *pebs_constraints; + struct extra_reg *extra_regs; + unsigned int late_ack: 1; + unsigned int mid_ack: 1; + unsigned int enabled_ack: 1; + u64 pebs_data_source[256]; +}; + +struct x86_init_acpi { + void (*set_root_pointer)(u64); + u64 (*get_root_pointer)(void); + void (*reduced_hw_early_init)(void); +}; + +struct x86_init_iommu { + int (*iommu_init)(void); +}; + +struct x86_init_irqs { + void (*pre_vector_init)(void); + void (*intr_init)(void); + void (*intr_mode_select)(void); + void (*intr_mode_init)(void); + struct irq_domain * (*create_pci_msi_domain)(void); +}; + +struct x86_init_mpparse { + void (*setup_ioapic_ids)(void); + void (*find_mptable)(void); + void (*early_parse_smp_cfg)(void); + void (*parse_smp_cfg)(void); +}; + +struct x86_init_oem { + void (*arch_setup)(void); + void (*banner)(void); +}; + +struct x86_init_resources { + void (*probe_roms)(void); + void (*reserve_resources)(void); + char * (*memory_setup)(void); + void (*dmi_setup)(void); +}; + +struct x86_init_paging { + void (*pagetable_init)(void); +}; + +struct x86_init_timers { + void (*setup_percpu_clockev)(void); + void (*timer_init)(void); + void (*wallclock_init)(void); +}; + +struct x86_init_pci { + int (*arch_init)(void); + int (*init)(void); + void (*init_irq)(void); + void (*fixup_irqs)(void); +}; + +struct x86_init_ops { + struct x86_init_resources resources; + struct x86_init_mpparse mpparse; + struct x86_init_irqs irqs; + struct x86_init_oem oem; + struct x86_init_paging paging; + struct x86_init_timers timers; + struct x86_init_iommu iommu; + struct x86_init_pci pci; + struct x86_hyper_init hyper; + struct x86_init_acpi acpi; +}; + +struct x86_legacy_devices { + int pnpbios; +}; + +struct x86_legacy_features { + enum x86_legacy_i8042_state i8042; + int rtc; + int warm_reset; + int no_vga; + int reserve_bios_regions; + struct x86_legacy_devices devices; +}; + +struct x86_mapping_info { + void * (*alloc_pgt_page)(void *); + void (*free_pgt_page)(void *, void *); + void *context; + long unsigned int page_flag; + long unsigned int offset; + bool direct_gbpages; + long unsigned int kernpg_flag; +}; + +struct x86_perf_regs { + struct pt_regs regs; + u64 *xmm_regs; +}; + +struct x86_perf_task_context_opt { + int lbr_callstack_users; + int lbr_stack_state; + int log_id; +}; + +struct x86_perf_task_context { + u64 lbr_sel; + int tos; + int valid_lbrs; + struct x86_perf_task_context_opt opt; + struct lbr_entry lbr[32]; +}; + +struct x86_perf_task_context_arch_lbr { + struct x86_perf_task_context_opt opt; + struct lbr_entry entries[0]; +}; + +struct x86_perf_task_context_arch_lbr_xsave { + struct x86_perf_task_context_opt opt; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + union { + struct xregs_state xsave; + struct { + struct fxregs_state i387; + struct xstate_header header; + struct arch_lbr_state lbr; + long: 64; + long: 64; + long: 64; + }; + }; +}; + +struct x86_platform_ops { + long unsigned int (*calibrate_cpu)(void); + long unsigned int (*calibrate_tsc)(void); + void (*get_wallclock)(struct timespec64 *); + int (*set_wallclock)(const struct timespec64 *); + void (*iommu_shutdown)(void); + bool (*is_untracked_pat_range)(u64, u64); + void (*nmi_init)(void); + unsigned char (*get_nmi_reason)(void); + void (*save_sched_clock_state)(void); + void (*restore_sched_clock_state)(void); + void (*apic_post_init)(void); + struct x86_legacy_features legacy; + void (*set_legacy_features)(void); + void (*realmode_reserve)(void); + void (*realmode_init)(void); + struct x86_hyper_runtime hyper; + struct x86_guest guest; +}; + +struct x86_pmu_quirk; + +struct x86_pmu { + const char *name; + int version; + int (*handle_irq)(struct pt_regs *); + void (*disable_all)(void); + void (*enable_all)(int); + void (*enable)(struct perf_event *); + void (*disable)(struct perf_event *); + void (*assign)(struct perf_event *, int); + void (*add)(struct perf_event *); + void (*del)(struct perf_event *); + void (*read)(struct perf_event *); + int (*set_period)(struct perf_event *); + u64 (*update)(struct perf_event *); + int (*hw_config)(struct perf_event *); + int (*schedule_events)(struct cpu_hw_events *, int, int *); + void (*late_setup)(void); + void (*pebs_enable)(struct perf_event *); + void (*pebs_disable)(struct perf_event *); + void (*pebs_enable_all)(void); + void (*pebs_disable_all)(void); + unsigned int eventsel; + unsigned int perfctr; + unsigned int fixedctr; + int (*addr_offset)(int, bool); + int (*rdpmc_index)(int); + u64 (*event_map)(int); + int max_events; + u64 config_mask; + union { + u64 cntr_mask64; + long unsigned int cntr_mask[1]; + }; + union { + u64 fixed_cntr_mask64; + long unsigned int fixed_cntr_mask[1]; + }; + union { + u64 acr_cntr_mask64; + long unsigned int acr_cntr_mask[1]; + }; + union { + u64 acr_cause_mask64; + long unsigned int acr_cause_mask[1]; + }; + int cntval_bits; + u64 cntval_mask; + union { + long unsigned int events_maskl; + long unsigned int events_mask[1]; + }; + int events_mask_len; + int apic; + u64 max_period; + struct event_constraint * (*get_event_constraints)(struct cpu_hw_events *, int, struct perf_event *); + void (*put_event_constraints)(struct cpu_hw_events *, struct perf_event *); + void (*start_scheduling)(struct cpu_hw_events *); + void (*commit_scheduling)(struct cpu_hw_events *, int, int); + void (*stop_scheduling)(struct cpu_hw_events *); + struct event_constraint *event_constraints; + struct x86_pmu_quirk *quirks; + void (*limit_period)(struct perf_event *, s64 *); + unsigned int late_ack: 1; + unsigned int mid_ack: 1; + unsigned int enabled_ack: 1; + int attr_rdpmc_broken; + int attr_rdpmc; + struct attribute **format_attrs; + ssize_t (*events_sysfs_show)(char *, u64); + const struct attribute_group **attr_update; + long unsigned int attr_freeze_on_smi; + int (*cpu_prepare)(int); + void (*cpu_starting)(int); + void (*cpu_dying)(int); + void (*cpu_dead)(int); + void (*check_microcode)(void); + void (*sched_task)(struct perf_event_pmu_context *, struct task_struct *, bool); + u64 intel_ctrl; + union perf_capabilities intel_cap; + unsigned int bts: 1; + unsigned int bts_active: 1; + unsigned int ds_pebs: 1; + unsigned int pebs_active: 1; + unsigned int pebs_broken: 1; + unsigned int pebs_prec_dist: 1; + unsigned int pebs_no_tlb: 1; + unsigned int pebs_no_isolation: 1; + unsigned int pebs_block: 1; + unsigned int pebs_ept: 1; + int pebs_record_size; + int pebs_buffer_size; + u64 pebs_events_mask; + void (*drain_pebs)(struct pt_regs *, struct perf_sample_data *); + struct event_constraint *pebs_constraints; + void (*pebs_aliases)(struct perf_event *); + u64 (*pebs_latency_data)(struct perf_event *, u64); + long unsigned int large_pebs_flags; + u64 rtm_abort_event; + u64 pebs_capable; + unsigned int lbr_tos; + unsigned int lbr_from; + unsigned int lbr_to; + unsigned int lbr_info; + unsigned int lbr_nr; + union { + u64 lbr_sel_mask; + u64 lbr_ctl_mask; + }; + union { + const int *lbr_sel_map; + int *lbr_ctl_map; + }; + u64 lbr_callstack_users; + bool lbr_double_abort; + bool lbr_pt_coexist; + unsigned int lbr_has_info: 1; + unsigned int lbr_has_tsx: 1; + unsigned int lbr_from_flags: 1; + unsigned int lbr_to_cycles: 1; + unsigned int lbr_depth_mask: 8; + unsigned int lbr_deep_c_reset: 1; + unsigned int lbr_lip: 1; + unsigned int lbr_cpl: 1; + unsigned int lbr_filter: 1; + unsigned int lbr_call_stack: 1; + unsigned int lbr_mispred: 1; + unsigned int lbr_timed_lbr: 1; + unsigned int lbr_br_type: 1; + unsigned int lbr_counters: 4; + void (*lbr_reset)(void); + void (*lbr_read)(struct cpu_hw_events *); + void (*lbr_save)(void *); + void (*lbr_restore)(void *); + atomic_t lbr_exclusive[3]; + int num_topdown_events; + unsigned int amd_nb_constraints: 1; + u64 perf_ctr_pair_en; + struct extra_reg *extra_regs; + unsigned int flags; + struct perf_guest_switch_msr * (*guest_get_msrs)(int *, void *); + int (*check_period)(struct perf_event *, u64); + int (*aux_output_match)(struct perf_event *); + void (*filter)(struct pmu *, int, bool *); + int num_hybrid_pmus; + struct x86_hybrid_pmu *hybrid_pmu; + enum intel_cpu_type (*get_hybrid_cpu_type)(void); +}; + +struct x86_pmu_capability { + int version; + int num_counters_gp; + int num_counters_fixed; + int bit_width_gp; + int bit_width_fixed; + unsigned int events_mask; + int events_mask_len; + unsigned int pebs_ept: 1; +}; + +union x86_pmu_config { + struct { + u64 event: 8; + u64 umask: 8; + u64 usr: 1; + u64 os: 1; + u64 edge: 1; + u64 pc: 1; + u64 interrupt: 1; + u64 __reserved1: 1; + u64 en: 1; + u64 inv: 1; + u64 cmask: 8; + u64 event2: 4; + u64 __reserved2: 4; + u64 go: 1; + u64 ho: 1; + } bits; + u64 value; +}; + +struct x86_pmu_lbr { + unsigned int nr; + unsigned int from; + unsigned int to; + unsigned int info; + bool has_callstack; +}; + +struct x86_pmu_quirk { + struct x86_pmu_quirk *next; + void (*func)(void); +}; + +struct x86_topology_system { + unsigned int dom_shifts[7]; + unsigned int dom_size[7]; +}; + +struct x86_xfeat_component { + __u32 type; + __u32 size; + __u32 offset; + __u32 flags; +}; + +struct xa_limit { + u32 max; + u32 min; +}; + +struct xa_node { + unsigned char shift; + unsigned char offset; + unsigned char count; + unsigned char nr_values; + struct xa_node *parent; + struct xarray *array; + union { + struct list_head private_list; + struct callback_head callback_head; + }; + void *slots[64]; + union { + long unsigned int tags[3]; + long unsigned int marks[3]; + }; +}; + +typedef void (*xa_update_node_t)(struct xa_node *); + +struct xa_state { + struct xarray *xa; + long unsigned int xa_index; + unsigned char xa_shift; + unsigned char xa_sibs; + unsigned char xa_offset; + unsigned char xa_pad; + struct xa_node *xa_node; + struct xa_node *xa_alloc; + xa_update_node_t xa_update; + struct list_lru *xa_lru; +}; + +struct xattr { + const char *name; + void *value; + size_t value_len; +}; + +struct xattr_args { + __u64 value; + __u32 size; + __u32 flags; +}; + +struct xattr_handler { + const char *name; + const char *prefix; + int flags; + bool (*list)(struct dentry *); + int (*get)(const struct xattr_handler *, struct dentry *, struct inode *, const char *, void *, size_t); + int (*set)(const struct xattr_handler *, struct mnt_idmap *, struct dentry *, struct inode *, const char *, const void *, size_t, int); +}; + +struct xattr_list { + struct list_head list; + char *name; + bool enabled; +}; + +struct xattr_name { + char name[256]; +}; + +struct xb_find_info { + struct xenbus_device *dev; + const char *nodename; +}; + +struct xsd_sockmsg { + uint32_t type; + uint32_t req_id; + uint32_t tx_id; + uint32_t len; +}; + +struct xb_req_data { + struct list_head list; + wait_queue_head_t wq; + struct kref kref; + struct xsd_sockmsg msg; + uint32_t caller_req_id; + enum xsd_sockmsg_type type; + char *body; + const struct kvec *vec; + int num_vecs; + int err; + enum xb_req_state state; + bool user_req; + void (*cb)(struct xb_req_data *); + void *par; +}; + +struct xbc_node { + uint16_t next; + uint16_t child; + uint16_t parent; + uint16_t data; +}; + +struct xdbc_info_context { + __le64 string0; + __le64 manufacturer; + __le64 product; + __le64 serial; + __le32 length; + __le32 __reserved_0[7]; +}; + +struct xdbc_ep_context { + __le32 ep_info1; + __le32 ep_info2; + __le64 deq; + __le32 tx_info; + __le32 __reserved_0[11]; +}; + +struct xdbc_context { + struct xdbc_info_context info; + struct xdbc_ep_context out; + struct xdbc_ep_context in; +}; + +struct xdbc_erst_entry { + __le64 seg_addr; + __le32 seg_size; + __le32 __reserved_0; +}; + +struct xdbc_regs { + __le32 capability; + __le32 doorbell; + __le32 ersts; + __le32 __reserved_0; + __le64 erstba; + __le64 erdp; + __le32 control; + __le32 status; + __le32 portsc; + __le32 __reserved_1; + __le64 dccp; + __le32 devinfo1; + __le32 devinfo2; +}; + +struct xdbc_segment; + +struct xdbc_trb; + +struct xdbc_ring { + struct xdbc_segment *segment; + struct xdbc_trb *enqueue; + struct xdbc_trb *dequeue; + u32 cycle_state; +}; + +struct xdbc_segment { + struct xdbc_trb *trbs; + dma_addr_t dma; +}; + +struct xdbc_state { + u16 vendor; + u16 device; + u32 bus; + u32 dev; + u32 func; + void *xhci_base; + u64 xhci_start; + size_t xhci_length; + int port_number; + struct xdbc_regs *xdbc_reg; + dma_addr_t table_dma; + void *table_base; + dma_addr_t erst_dma; + size_t erst_size; + void *erst_base; + struct xdbc_ring evt_ring; + struct xdbc_segment evt_seg; + dma_addr_t dbcc_dma; + size_t dbcc_size; + void *dbcc_base; + dma_addr_t string_dma; + size_t string_size; + void *string_base; + struct xdbc_ring out_ring; + struct xdbc_segment out_seg; + void *out_buf; + dma_addr_t out_dma; + struct xdbc_ring in_ring; + struct xdbc_segment in_seg; + void *in_buf; + dma_addr_t in_dma; + u32 flags; + raw_spinlock_t lock; +}; + +struct xdbc_strings { + char string0[64]; + char manufacturer[64]; + char product[64]; + char serial[64]; +}; + +struct xdbc_trb { + __le32 field[4]; +}; + +struct xdp_attachment_info { + struct bpf_prog *prog; + u32 flags; +}; + +struct xdp_buff_xsk { + struct xdp_buff xdp; + u8 cb[24]; + dma_addr_t dma; + dma_addr_t frame_dma; + struct xsk_buff_pool *pool; + struct list_head list_node; + long: 64; +}; + +struct xdp_bulk_queue { + void *q[8]; + struct list_head flush_node; + struct bpf_cpu_map_entry *obj; + unsigned int count; +}; + +struct xdp_cpumap_stats { + unsigned int redirect; + unsigned int pass; + unsigned int drop; +}; + +struct xdp_desc { + __u64 addr; + __u32 len; + __u32 options; +}; + +struct xsk_tx_metadata; + +struct xdp_desc_ctx { + dma_addr_t dma; + struct xsk_tx_metadata *meta; +}; + +struct xdp_dev_bulk_queue { + struct xdp_frame *q[16]; + struct list_head flush_node; + struct net_device *dev; + struct net_device *dev_rx; + struct bpf_prog *xdp_prog; + unsigned int count; +}; + +struct xdp_frame { + void *data; + u32 len; + u32 headroom; + u32 metasize; + enum xdp_mem_type mem_type: 32; + struct net_device *dev_rx; + u32 frame_sz; + u32 flags; +}; + +struct xdp_frame_bulk { + int count; + netmem_ref q[16]; +}; + +struct xdp_mem_allocator { + struct xdp_mem_info mem; + union { + void *allocator; + struct page_pool *page_pool; + }; + struct rhash_head node; + struct callback_head rcu; +}; + +struct xdp_metadata_ops { + int (*xmo_rx_timestamp)(const struct xdp_md *, u64 *); + int (*xmo_rx_hash)(const struct xdp_md *, u32 *, enum xdp_rss_hash_type *); + int (*xmo_rx_vlan_tag)(const struct xdp_md *, __be16 *, u16 *); +}; + +struct xdp_ring_offset { + __u64 producer; + __u64 consumer; + __u64 desc; + __u64 flags; +}; + +struct xdp_mmap_offsets { + struct xdp_ring_offset rx; + struct xdp_ring_offset tx; + struct xdp_ring_offset fr; + struct xdp_ring_offset cr; +}; + +struct xdp_ring_offset_v1 { + __u64 producer; + __u64 consumer; + __u64 desc; +}; + +struct xdp_mmap_offsets_v1 { + struct xdp_ring_offset_v1 rx; + struct xdp_ring_offset_v1 tx; + struct xdp_ring_offset_v1 fr; + struct xdp_ring_offset_v1 cr; +}; + +struct xdp_options { + __u32 flags; +}; + +struct xdp_page_head { + struct xdp_buff orig_ctx; + struct xdp_buff ctx; + union { + struct { + struct {} __empty_frame; + struct xdp_frame frame[0]; + }; + struct { + struct {} __empty_data; + u8 data[0]; + }; + }; +}; + +struct xdp_ring { + u32 producer; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + u32 pad1; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + u32 consumer; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + u32 pad2; + u32 flags; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + u32 pad3; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct xdp_rxtx_ring { + struct xdp_ring ptrs; + struct xdp_desc desc[0]; +}; + +struct xsk_queue; + +struct xdp_umem; + +struct xdp_sock { + struct sock sk; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + struct xsk_queue *rx; + struct net_device *dev; + struct xdp_umem *umem; + struct list_head flush_node; + struct xsk_buff_pool *pool; + u16 queue_id; + bool zc; + bool sg; + enum { + XSK_READY = 0, + XSK_BOUND = 1, + XSK_UNBOUND = 2, + } state; + long: 64; + struct xsk_queue *tx; + struct list_head tx_list; + u32 tx_budget_spent; + u64 rx_dropped; + u64 rx_queue_full; + struct sk_buff *skb; + struct list_head map_list; + spinlock_t map_list_lock; + u32 max_tx_budget; + struct mutex mutex; + struct xsk_queue *fq_tmp; + struct xsk_queue *cq_tmp; +}; + +struct xdp_statistics { + __u64 rx_dropped; + __u64 rx_invalid_descs; + __u64 tx_invalid_descs; + __u64 rx_ring_full; + __u64 rx_fill_ring_empty_descs; + __u64 tx_ring_empty_descs; +}; + +struct xdp_test_data { + struct xdp_buff *orig_ctx; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + struct xdp_rxq_info rxq; + struct net_device *dev; + struct page_pool *pp; + struct xdp_frame **frames; + struct sk_buff **skbs; + struct xdp_mem_info mem; + u32 batch_size; + u32 frame_cnt; + long: 64; + long: 64; +}; + +struct xdp_txq_info { + struct net_device *dev; +}; + +struct xdp_umem { + void *addrs; + u64 size; + u32 headroom; + u32 chunk_size; + u32 chunks; + u32 npgs; + struct user_struct *user; + refcount_t users; + u8 flags; + u8 tx_metadata_len; + bool zc; + struct page **pgs; + int id; + struct list_head xsk_dma_list; + struct work_struct work; +}; + +struct xdp_umem_reg { + __u64 addr; + __u64 len; + __u32 chunk_size; + __u32 headroom; + __u32 flags; + __u32 tx_metadata_len; +}; + +struct xdp_umem_ring { + struct xdp_ring ptrs; + u64 desc[0]; +}; + +struct xdr_netobj { + unsigned int len; + u8 *data; +}; + +struct xen_add_to_physmap { + domid_t domid; + uint16_t size; + unsigned int space; + xen_ulong_t idx; + xen_pfn_t gpfn; +}; + +struct xen_add_to_physmap_range { + domid_t domid; + uint16_t space; + uint16_t size; + domid_t foreign_domid; + __guest_handle_xen_ulong_t idxs; + __guest_handle_xen_pfn_t gpfns; + __guest_handle_int errs; +}; + +struct xen_build_id { + uint32_t len; + unsigned char buf[0]; +}; + +struct xen_bus_type { + char *root; + unsigned int levels; + int (*get_bus_id)(char *, const char *); + int (*probe)(struct xen_bus_type *, const char *, const char *); + bool (*otherend_will_handle)(struct xenbus_watch *, const char *, const char *); + void (*otherend_changed)(struct xenbus_watch *, const char *, const char *); + struct bus_type bus; +}; + +struct xen_clock_event_device { + struct clock_event_device evt; + char name[16]; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; + long: 64; +}; + +struct xen_common_irq { + int irq; + char *name; +}; + +struct xen_compile_info { + char compiler[64]; + char compile_by[16]; + char compile_domain[32]; + char compile_date[32]; +}; + +struct xen_device_domain_owner { + domid_t domain; + struct pci_dev *dev; + struct list_head list; +}; + +struct xen_extraversion { + char extraversion[16]; +}; + +struct xen_feature_info { + unsigned int submap_idx; + uint32_t submap; +}; + +struct xen_grant_dma_data { + domid_t backend_domid; + bool broken; +}; + +struct xen_hvm_evtchn_upcall_vector { + uint32_t vcpu; + uint8_t vector; +}; + +typedef struct xen_hvm_evtchn_upcall_vector xen_hvm_evtchn_upcall_vector_t; + +struct xen_hvm_get_mem_type { + domid_t domid; + uint16_t mem_type; + uint16_t pad[2]; + uint64_t pfn; +}; + +struct xen_hvm_pagetable_dying { + domid_t domid; + __u64 gpa; +}; + +struct xen_hvm_param { + domid_t domid; + uint32_t index; + uint64_t value; +}; + +struct xen_machphys_mapping { + xen_ulong_t v_start; + xen_ulong_t v_end; + xen_ulong_t max_mfn; +}; + +struct xen_mc_fetch { + uint32_t flags; + uint32_t _pad0; + uint64_t fetch_id; + __guest_handle_mc_info data; +}; + +struct xen_mc_notifydomain { + uint16_t mc_domid; + uint16_t mc_vcpuid; + uint32_t flags; +}; + +struct xen_mc_physcpuinfo { + uint32_t ncpus; + uint32_t _pad0; + __guest_handle_mcinfo_logical_cpu info; +}; + +struct xen_mc_msrinject { + uint32_t mcinj_cpunr; + uint32_t mcinj_flags; + uint32_t mcinj_count; + uint32_t _pad0; + struct mcinfo_msr mcinj_msr[8]; +}; + +struct xen_mc_mceinject { + unsigned int mceinj_cpunr; +}; + +struct xen_mc { + uint32_t cmd; + uint32_t interface_version; + union { + struct xen_mc_fetch mc_fetch; + struct xen_mc_notifydomain mc_notifydomain; + struct xen_mc_physcpuinfo mc_physcpuinfo; + struct xen_mc_msrinject mc_msrinject; + struct xen_mc_mceinject mc_mceinject; + } u; +}; + +struct xen_mce { + __u64 status; + __u64 misc; + __u64 addr; + __u64 mcgstatus; + __u64 ip; + __u64 tsc; + __u64 time; + __u8 cpuvendor; + __u8 inject_flags; + __u16 pad; + __u32 cpuid; + __u8 cs; + __u8 bank; + __u8 cpu; + __u8 finished; + __u32 extcpu; + __u32 socketid; + __u32 apicid; + __u64 mcgcap; + __u64 synd; + __u64 ipid; + __u64 ppin; +}; + +struct xen_mce_log { + char signature[12]; + unsigned int len; + unsigned int next; + unsigned int flags; + unsigned int recordlen; + struct xen_mce entry[32]; +}; + +struct xen_memory_reservation { + __guest_handle_xen_pfn_t extent_start; + xen_ulong_t nr_extents; + unsigned int extent_order; + unsigned int address_bits; + domid_t domid; +}; + +struct xen_memory_exchange { + struct xen_memory_reservation in; + struct xen_memory_reservation out; + xen_ulong_t nr_exchanged; +}; + +typedef void *__guest_handle_void; + +struct xen_memory_map { + unsigned int nr_entries; + __guest_handle_void buffer; +}; + +struct xen_memory_region { + long unsigned int start_pfn; + long unsigned int n_pfns; +}; + +struct xen_msi_ops { + int (*setup_msi_irqs)(struct pci_dev *, int, int); + void (*teardown_msi_irqs)(struct pci_dev *); +}; + +struct xen_netif_rx_request { + uint16_t id; + uint16_t pad; + grant_ref_t gref; +}; + +union xen_netif_rx_sring_entry { + struct xen_netif_rx_request req; + struct xen_netif_rx_response rsp; +}; + +struct xen_netif_rx_sring { + RING_IDX req_prod; + RING_IDX req_event; + RING_IDX rsp_prod; + RING_IDX rsp_event; + uint8_t __pad[48]; + union xen_netif_rx_sring_entry ring[0]; +}; + +struct xen_netif_tx_request { + grant_ref_t gref; + uint16_t offset; + uint16_t flags; + uint16_t id; + uint16_t size; +}; + +struct xen_netif_tx_response { + uint16_t id; + int16_t status; +}; + +union xen_netif_tx_sring_entry { + struct xen_netif_tx_request req; + struct xen_netif_tx_response rsp; +}; + +struct xen_netif_tx_sring { + RING_IDX req_prod; + RING_IDX req_event; + RING_IDX rsp_prod; + RING_IDX rsp_event; + uint8_t __pad[48]; + union xen_netif_tx_sring_entry ring[0]; +}; + +struct xen_page_foreign { + domid_t domid; + grant_ref_t gref; +}; + +struct xen_pci_frontend_ops { + int (*enable_msi)(struct pci_dev *, int *); + void (*disable_msi)(struct pci_dev *); + int (*enable_msix)(struct pci_dev *, int *, int); + void (*disable_msix)(struct pci_dev *); +}; + +struct xen_pct_register { + uint8_t descriptor; + uint16_t length; + uint8_t space_id; + uint8_t bit_width; + uint8_t bit_offset; + uint8_t reserved; + uint64_t address; +}; + +struct xenpf_settime32 { + uint32_t secs; + uint32_t nsecs; + uint64_t system_time; +}; + +struct xenpf_settime64 { + uint64_t secs; + uint32_t nsecs; + uint32_t mbz; + uint64_t system_time; +}; + +struct xenpf_add_memtype { + xen_pfn_t mfn; + uint64_t nr_mfns; + uint32_t type; + uint32_t handle; + uint32_t reg; +}; + +struct xenpf_del_memtype { + uint32_t handle; + uint32_t reg; +}; + +struct xenpf_read_memtype { + uint32_t reg; + xen_pfn_t mfn; + uint64_t nr_mfns; + uint32_t type; +}; + +struct xenpf_microcode_update { + __guest_handle_void data; + uint32_t length; +}; + +struct xenpf_platform_quirk { + uint32_t quirk_id; +}; + +struct xenpf_efi_time { + uint16_t year; + uint8_t month; + uint8_t day; + uint8_t hour; + uint8_t min; + uint8_t sec; + uint32_t ns; + int16_t tz; + uint8_t daylight; +}; + +struct xenpf_efi_guid { + uint32_t data1; + uint16_t data2; + uint16_t data3; + uint8_t data4[8]; +}; + +struct xenpf_efi_runtime_call { + uint32_t function; + uint32_t misc; + xen_ulong_t status; + union { + struct { + struct xenpf_efi_time time; + uint32_t resolution; + uint32_t accuracy; + } get_time; + struct xenpf_efi_time set_time; + struct xenpf_efi_time get_wakeup_time; + struct xenpf_efi_time set_wakeup_time; + struct { + __guest_handle_void name; + xen_ulong_t size; + __guest_handle_void data; + struct xenpf_efi_guid vendor_guid; + } get_variable; + struct { + __guest_handle_void name; + xen_ulong_t size; + __guest_handle_void data; + struct xenpf_efi_guid vendor_guid; + } set_variable; + struct { + xen_ulong_t size; + __guest_handle_void name; + struct xenpf_efi_guid vendor_guid; + } get_next_variable_name; + struct { + uint32_t attr; + uint64_t max_store_size; + uint64_t remain_store_size; + uint64_t max_size; + } query_variable_info; + struct { + __guest_handle_void capsule_header_array; + xen_ulong_t capsule_count; + uint64_t max_capsule_size; + uint32_t reset_type; + } query_capsule_capabilities; + struct { + __guest_handle_void capsule_header_array; + xen_ulong_t capsule_count; + uint64_t sg_list; + } update_capsule; + } u; +}; + +union xenpf_efi_info { + uint32_t version; + struct { + uint64_t addr; + uint32_t nent; + } cfg; + struct { + uint32_t revision; + uint32_t bufsz; + __guest_handle_void name; + } vendor; + struct { + uint64_t addr; + uint64_t size; + uint64_t attr; + uint32_t type; + } mem; +}; + +struct xenpf_firmware_info { + uint32_t type; + uint32_t index; + union { + struct { + uint8_t device; + uint8_t version; + uint16_t interface_support; + uint16_t legacy_max_cylinder; + uint8_t legacy_max_head; + uint8_t legacy_sectors_per_track; + __guest_handle_void edd_params; + } disk_info; + struct { + uint8_t device; + uint32_t mbr_signature; + } disk_mbr_signature; + struct { + uint8_t capabilities; + uint8_t edid_transfer_time; + __guest_handle_uchar edid; + } vbeddc_info; + union xenpf_efi_info efi_info; + uint8_t kbd_shift_flags; + } u; +}; + +struct xenpf_enter_acpi_sleep { + uint16_t val_a; + uint16_t val_b; + uint32_t sleep_state; + uint32_t flags; +}; + +struct xenpf_change_freq { + uint32_t flags; + uint32_t cpu; + uint64_t freq; +}; + +struct xenpf_getidletime { + __guest_handle_uchar cpumap_bitmap; + uint32_t cpumap_nr_cpus; + __guest_handle_uint64_t idletime; + uint64_t now; +}; + +struct xen_processor_flags { + uint32_t bm_control: 1; + uint32_t bm_check: 1; + uint32_t has_cst: 1; + uint32_t power_setup_done: 1; + uint32_t bm_rld_set: 1; +}; + +struct xen_processor_cx; + +typedef struct xen_processor_cx *__guest_handle_xen_processor_cx; + +struct xen_processor_power { + uint32_t count; + struct xen_processor_flags flags; + __guest_handle_xen_processor_cx states; +}; + +struct xen_processor_px; + +typedef struct xen_processor_px *__guest_handle_xen_processor_px; + +struct xen_psd_package { + uint64_t num_entries; + uint64_t revision; + uint64_t domain; + uint64_t coord_type; + uint64_t num_processors; +}; + +struct xen_processor_performance { + uint32_t flags; + uint32_t platform_limit; + struct xen_pct_register control_register; + struct xen_pct_register status_register; + uint32_t state_count; + __guest_handle_xen_processor_px states; + struct xen_psd_package domain_info; + uint32_t shared_type; +}; + +struct xenpf_set_processor_pminfo { + uint32_t id; + uint32_t type; + union { + struct xen_processor_power power; + struct xen_processor_performance perf; + __guest_handle_uint32_t pdc; + }; +}; + +struct xenpf_pcpuinfo { + uint32_t xen_cpuid; + uint32_t max_present; + uint32_t flags; + uint32_t apic_id; + uint32_t acpi_id; +}; + +struct xenpf_cpu_ol { + uint32_t cpuid; +}; + +struct xenpf_cpu_hotadd { + uint32_t apic_id; + uint32_t acpi_id; + uint32_t pxm; +}; + +struct xenpf_mem_hotadd { + uint64_t spfn; + uint64_t epfn; + uint32_t pxm; + uint32_t flags; +}; + +struct xenpf_core_parking { + uint32_t type; + uint32_t idle_nums; +}; + +struct xenpf_symdata { + uint32_t namelen; + uint32_t symnum; + __guest_handle_char name; + uint64_t address; + char type; +}; + +struct xen_platform_op { + uint32_t cmd; + uint32_t interface_version; + union { + struct xenpf_settime32 settime32; + struct xenpf_settime64 settime64; + struct xenpf_add_memtype add_memtype; + struct xenpf_del_memtype del_memtype; + struct xenpf_read_memtype read_memtype; + struct xenpf_microcode_update microcode; + struct xenpf_platform_quirk platform_quirk; + struct xenpf_efi_runtime_call efi_runtime_call; + struct xenpf_firmware_info firmware_info; + struct xenpf_enter_acpi_sleep enter_acpi_sleep; + struct xenpf_change_freq change_freq; + struct xenpf_getidletime getidletime; + struct xenpf_set_processor_pminfo set_pminfo; + struct xenpf_pcpuinfo pcpu_info; + struct xenpf_cpu_ol cpu_ol; + struct xenpf_cpu_hotadd cpu_add; + struct xenpf_mem_hotadd mem_add; + struct xenpf_core_parking core_parking; + struct xenpf_symdata symdata; + struct dom0_vga_console_info dom0_console; + uint8_t pad[128]; + } u; +}; + +struct xen_platform_parameters { + xen_ulong_t virt_start; +}; + +struct xen_pmu_amd_ctxt { + uint32_t counters; + uint32_t ctrls; + uint64_t regs[0]; +}; + +struct xen_pmu_regs { + uint64_t ip; + uint64_t sp; + uint64_t flags; + uint16_t cs; + uint16_t ss; + uint8_t cpl; + uint8_t pad[3]; +}; + +struct xen_pmu_intel_ctxt { + uint32_t fixed_counters; + uint32_t arch_counters; + uint64_t global_ctrl; + uint64_t global_ovf_ctrl; + uint64_t global_status; + uint64_t fixed_ctrl; + uint64_t ds_area; + uint64_t pebs_enable; + uint64_t debugctl; + uint64_t regs[0]; +}; + +struct xen_pmu_arch { + union { + struct xen_pmu_regs regs; + uint8_t pad[64]; + } r; + uint64_t pmu_flags; + union { + uint32_t lapic_lvtpc; + uint64_t pad; + } l; + union { + struct xen_pmu_amd_ctxt amd; + struct xen_pmu_intel_ctxt intel; + uint8_t pad[128]; + } c; +}; + +struct xen_pmu_cntr_pair { + uint64_t counter; + uint64_t control; +}; + +struct xen_pmu_data { + uint32_t vcpu_id; + uint32_t pcpu_id; + domid_t domain_id; + uint8_t pad[6]; + struct xen_pmu_arch pmu; +}; + +struct xen_pmu_params { + struct { + uint32_t maj; + uint32_t min; + } version; + uint64_t val; + uint32_t vcpu; + uint32_t pad; +}; + +struct xen_power_register { + uint32_t space_id; + uint32_t bit_width; + uint32_t bit_offset; + uint32_t access_size; + uint64_t address; +}; + +struct xen_processor_csd; + +typedef struct xen_processor_csd *__guest_handle_xen_processor_csd; + +struct xen_processor_csd { + uint32_t domain; + uint32_t coord_type; + uint32_t num; +}; + +struct xen_processor_cx { + struct xen_power_register reg; + uint8_t type; + uint32_t latency; + uint32_t power; + uint32_t dpcnt; + __guest_handle_xen_processor_csd dp; +}; + +struct xen_processor_px { + uint64_t core_frequency; + uint64_t power; + uint64_t transition_latency; + uint64_t bus_master_latency; + uint64_t control; + uint64_t status; +}; + +struct xen_remove_from_physmap { + domid_t domid; + xen_pfn_t gpfn; +}; + +struct xenbus_device { + const char *devicetype; + const char *nodename; + const char *otherend; + int otherend_id; + struct xenbus_watch otherend_watch; + struct device dev; + enum xenbus_state state; + struct completion down; + struct work_struct work; + struct semaphore reclaim_sem; + atomic_t event_channels; + atomic_t events; + atomic_t spurious_events; + atomic_t jiffies_eoi_delayed; + unsigned int spurious_threshold; +}; + +struct xenbus_device_id { + char devicetype[32]; +}; + +struct xenbus_driver { + const char *name; + const struct xenbus_device_id *ids; + bool allow_rebind; + bool not_essential; + int (*probe)(struct xenbus_device *, const struct xenbus_device_id *); + void (*otherend_changed)(struct xenbus_device *, enum xenbus_state); + void (*remove)(struct xenbus_device *); + int (*suspend)(struct xenbus_device *); + int (*resume)(struct xenbus_device *); + int (*uevent)(const struct xenbus_device *, struct kobj_uevent_env *); + struct device_driver driver; + int (*read_otherend_details)(struct xenbus_device *); + int (*is_ready)(struct xenbus_device *); + void (*reclaim_memory)(struct xenbus_device *); +}; + +struct xenbus_file_priv { + struct mutex msgbuffer_mutex; + struct list_head transactions; + struct list_head watches; + unsigned int len; + union { + struct xsd_sockmsg msg; + char buffer[4096]; + } u; + struct mutex reply_mutex; + struct list_head read_buffers; + wait_queue_head_t read_waitq; + struct kref kref; + struct work_struct wq; +}; + +struct xenbus_map_node { + struct list_head next; + union { + struct { + struct vm_struct *area; + } pv; + struct { + struct page *pages[16]; + long unsigned int addrs[16]; + void *addr; + } hvm; + }; + grant_handle_t handles[16]; + unsigned int nr_handles; +}; + +struct xenbus_ring_ops { + int (*map)(struct xenbus_device *, struct map_ring_valloc *, grant_ref_t *, unsigned int, void **); + int (*unmap)(struct xenbus_device *, void *); +}; + +struct xenbus_transaction { + u32 id; +}; + +struct xenbus_transaction_holder { + struct list_head list; + struct xenbus_transaction handle; + unsigned int generation_id; +}; + +struct xencons_interface; + +struct xencons_info { + struct list_head list; + struct xenbus_device *xbdev; + struct xencons_interface *intf; + unsigned int evtchn; + XENCONS_RING_IDX out_cons; + unsigned int out_cons_same; + struct hvc_struct *hvc; + int irq; + int vtermno; + grant_ref_t gntref; + spinlock_t ring_lock; +}; + +struct xencons_interface { + char in[1024]; + char out[2048]; + XENCONS_RING_IDX in_cons; + XENCONS_RING_IDX in_prod; + XENCONS_RING_IDX out_cons; + XENCONS_RING_IDX out_prod; +}; + +struct xennet_gnttab_make_txreq { + struct netfront_queue *queue; + struct sk_buff *skb; + struct page *page; + struct xen_netif_tx_request *tx; + struct xen_netif_tx_request tx_local; + unsigned int size; +}; + +struct xennet_stat { + char name[32]; + u16 offset; +}; + +struct xenpmu { + struct xen_pmu_data *xenpmu_data; + uint8_t flags; +}; + +struct xenstore_domain_interface { + char req[1024]; + char rsp[1024]; + XENSTORE_RING_IDX req_cons; + XENSTORE_RING_IDX req_prod; + XENSTORE_RING_IDX rsp_cons; + XENSTORE_RING_IDX rsp_prod; + uint32_t server_features; + uint32_t connection; + uint32_t error; +}; + +struct xfrm4_protocol { + int (*handler)(struct sk_buff *); + int (*input_handler)(struct sk_buff *, int, __be32, int); + int (*cb_handler)(struct sk_buff *, int); + int (*err_handler)(struct sk_buff *, u32); + struct xfrm4_protocol *next; + int priority; +}; + +struct xfrm6_protocol { + int (*handler)(struct sk_buff *); + int (*input_handler)(struct sk_buff *, int, __be32, int); + int (*cb_handler)(struct sk_buff *, int); + int (*err_handler)(struct sk_buff *, struct inet6_skb_parm *, u8, u8, int, __be32); + struct xfrm6_protocol *next; + int priority; +}; + +struct xfrm_address_filter { + xfrm_address_t saddr; + xfrm_address_t daddr; + __u16 family; + __u8 splen; + __u8 dplen; +}; + +struct xfrm_algo { + char alg_name[64]; + unsigned int alg_key_len; + char alg_key[0]; +}; + +struct xfrm_algo_aead { + char alg_name[64]; + unsigned int alg_key_len; + unsigned int alg_icv_len; + char alg_key[0]; +}; + +struct xfrm_algo_auth { + char alg_name[64]; + unsigned int alg_key_len; + unsigned int alg_trunc_len; + char alg_key[0]; +}; + +struct xfrm_dev_offload { + struct net_device *dev; + netdevice_tracker dev_tracker; + struct net_device *real_dev; + long unsigned int offload_handle; + u8 dir: 2; + u8 type: 2; + u8 flags: 2; +}; + +struct xfrm_dst { + union { + struct dst_entry dst; + struct rtable rt; + struct rt6_info rt6; + } u; + struct dst_entry *route; + struct dst_entry *child; + struct dst_entry *path; + struct xfrm_policy *pols[2]; + int num_pols; + int num_xfrms; + u32 xfrm_genid; + u32 policy_genid; + u32 route_mtu_cached; + u32 child_mtu_cached; + u32 route_cookie; + u32 path_cookie; +}; + +struct xfrm_dst_lookup_params { + struct net *net; + dscp_t dscp; + int oif; + xfrm_address_t *saddr; + xfrm_address_t *daddr; + u32 mark; + __u8 ipproto; + union flowi_uli uli; +}; + +struct xfrm_encap_tmpl { + __u16 encap_type; + __be16 encap_sport; + __be16 encap_dport; + xfrm_address_t encap_oa; +}; + +struct xfrm_flo { + struct dst_entry *dst_orig; + u8 flags; +}; + +struct xfrm_flow_keys { + struct flow_dissector_key_basic basic; + struct flow_dissector_key_control control; + union { + struct flow_dissector_key_ipv4_addrs ipv4; + struct flow_dissector_key_ipv6_addrs ipv6; + } addrs; + struct flow_dissector_key_ip ip; + struct flow_dissector_key_icmp icmp; + struct flow_dissector_key_ports ports; + struct flow_dissector_key_keyid gre; +}; + +struct xfrm_hash_state_ptrs { + const struct hlist_head *bydst; + const struct hlist_head *bysrc; + const struct hlist_head *byspi; + unsigned int hmask; +}; + +struct xfrm_id { + xfrm_address_t daddr; + __be32 spi; + __u8 proto; +}; + +struct xfrm_if_decode_session_result; + +struct xfrm_if_cb { + bool (*decode_session)(struct sk_buff *, short unsigned int, struct xfrm_if_decode_session_result *); +}; + +struct xfrm_if_decode_session_result { + struct net *net; + u32 if_id; +}; + +struct xfrm_input_afinfo { + u8 family; + bool is_ipip; + int (*callback)(struct sk_buff *, u8, int); +}; + +struct xfrm_kmaddress { + xfrm_address_t local; + xfrm_address_t remote; + u32 reserved; + u16 family; +}; + +struct xfrm_lifetime_cfg { + __u64 soft_byte_limit; + __u64 hard_byte_limit; + __u64 soft_packet_limit; + __u64 hard_packet_limit; + __u64 soft_add_expires_seconds; + __u64 hard_add_expires_seconds; + __u64 soft_use_expires_seconds; + __u64 hard_use_expires_seconds; +}; + +struct xfrm_lifetime_cur { + __u64 bytes; + __u64 packets; + __u64 add_time; + __u64 use_time; +}; + +struct xfrm_mark { + __u32 v; + __u32 m; +}; + +struct xfrm_tmpl; + +struct xfrm_selector; + +struct xfrm_migrate; + +struct xfrm_mgr { + struct list_head list; + int (*notify)(struct xfrm_state *, const struct km_event *); + int (*acquire)(struct xfrm_state *, struct xfrm_tmpl *, struct xfrm_policy *); + struct xfrm_policy * (*compile_policy)(struct sock *, int, u8 *, int, int *); + int (*new_mapping)(struct xfrm_state *, xfrm_address_t *, __be16); + int (*notify_policy)(struct xfrm_policy *, int, const struct km_event *); + int (*report)(struct net *, u8, struct xfrm_selector *, xfrm_address_t *); + int (*migrate)(const struct xfrm_selector *, u8, u8, const struct xfrm_migrate *, int, const struct xfrm_kmaddress *, const struct xfrm_encap_tmpl *); + bool (*is_alive)(const struct km_event *); +}; + +struct xfrm_migrate { + xfrm_address_t old_daddr; + xfrm_address_t old_saddr; + xfrm_address_t new_daddr; + xfrm_address_t new_saddr; + u8 proto; + u8 mode; + u16 reserved; + u32 reqid; + u16 old_family; + u16 new_family; +}; + +struct xfrm_mode { + u8 encap; + u8 family; + u8 flags; +}; + +struct xfrm_mode_cbs { + struct module *owner; + int (*init_state)(struct xfrm_state *); + int (*clone_state)(struct xfrm_state *, struct xfrm_state *); + void (*destroy_state)(struct xfrm_state *); + int (*user_init)(struct net *, struct xfrm_state *, struct nlattr **, struct netlink_ext_ack *); + int (*copy_to_user)(struct xfrm_state *, struct sk_buff *); + unsigned int (*sa_len)(const struct xfrm_state *); + u32 (*get_inner_mtu)(struct xfrm_state *, int); + int (*input)(struct xfrm_state *, struct sk_buff *); + int (*output)(struct net *, struct sock *, struct sk_buff *); + int (*prepare_output)(struct xfrm_state *, struct sk_buff *); +}; + +struct xfrm_tunnel_skb_cb { + union { + struct inet_skb_parm h4; + struct inet6_skb_parm h6; + } header; + union { + struct ip_tunnel *ip4; + struct ip6_tnl *ip6; + } tunnel; +}; + +struct xfrm_mode_skb_cb { + struct xfrm_tunnel_skb_cb header; + __be16 id; + __be16 frag_off; + u8 ihl; + u8 tos; + u8 ttl; + u8 protocol; + u8 optlen; + u8 flow_lbl[3]; +}; + +struct xfrm_pol_inexact_key { + possible_net_t net; + u32 if_id; + u16 family; + u8 dir; + u8 type; +}; + +struct xfrm_pol_inexact_bin { + struct xfrm_pol_inexact_key k; + struct rhash_head head; + struct hlist_head hhead; + seqcount_spinlock_t count; + struct rb_root root_d; + struct rb_root root_s; + struct list_head inexact_bins; + struct callback_head rcu; +}; + +struct xfrm_pol_inexact_candidates { + struct hlist_head *res[4]; +}; + +struct xfrm_pol_inexact_node { + struct rb_node node; + union { + xfrm_address_t addr; + struct callback_head rcu; + }; + u8 prefixlen; + struct rb_root root; + struct hlist_head hhead; +}; + +struct xfrm_selector { + xfrm_address_t daddr; + xfrm_address_t saddr; + __be16 dport; + __be16 dport_mask; + __be16 sport; + __be16 sport_mask; + __u16 family; + __u8 prefixlen_d; + __u8 prefixlen_s; + __u8 proto; + int ifindex; + __kernel_uid32_t user; +}; + +struct xfrm_policy_walk_entry { + struct list_head all; + u8 dead; +}; + +struct xfrm_policy_queue { + struct sk_buff_head hold_queue; + struct timer_list hold_timer; + long unsigned int timeout; +}; + +struct xfrm_tmpl { + struct xfrm_id id; + xfrm_address_t saddr; + short unsigned int encap_family; + u32 reqid; + u8 mode; + u8 share; + u8 optional; + u8 allalgs; + u32 aalgos; + u32 ealgos; + u32 calgos; +}; + +struct xfrm_policy { + possible_net_t xp_net; + struct hlist_node bydst; + struct hlist_node byidx; + struct hlist_head state_cache_list; + rwlock_t lock; + refcount_t refcnt; + u32 pos; + struct timer_list timer; + atomic_t genid; + u32 priority; + u32 index; + u32 if_id; + struct xfrm_mark mark; + struct xfrm_selector selector; + struct xfrm_lifetime_cfg lft; + struct xfrm_lifetime_cur curlft; + struct xfrm_policy_walk_entry walk; + struct xfrm_policy_queue polq; + bool bydst_reinsert; + u8 type; + u8 action; + u8 flags; + u8 xfrm_nr; + u16 family; + struct xfrm_sec_ctx *security; + struct xfrm_tmpl xfrm_vec[6]; + struct callback_head rcu; + struct xfrm_dev_offload xdo; +}; + +struct xfrm_policy_afinfo { + struct dst_ops *dst_ops; + struct dst_entry * (*dst_lookup)(const struct xfrm_dst_lookup_params *); + int (*get_saddr)(xfrm_address_t *, const struct xfrm_dst_lookup_params *); + int (*fill_dst)(struct xfrm_dst *, struct net_device *, const struct flowi *); + struct dst_entry * (*blackhole_route)(struct net *, struct dst_entry *); +}; + +struct xfrm_policy_walk { + struct xfrm_policy_walk_entry walk; + u8 type; + u32 seq; +}; + +struct xfrm_replay_state { + __u32 oseq; + __u32 seq; + __u32 bitmap; +}; + +struct xfrm_replay_state_esn { + unsigned int bmp_len; + __u32 oseq; + __u32 seq; + __u32 oseq_hi; + __u32 seq_hi; + __u32 replay_window; + __u32 bmp[0]; +}; + +struct xfrm_sec_ctx { + __u8 ctx_doi; + __u8 ctx_alg; + __u16 ctx_len; + __u32 ctx_sid; + char ctx_str[0]; +}; + +struct xfrm_skb_cb { + struct xfrm_tunnel_skb_cb header; + union { + struct { + __u32 low; + __u32 hi; + } output; + struct { + __be32 low; + __be32 hi; + } input; + } seq; +}; + +struct xfrm_spi_skb_cb { + struct xfrm_tunnel_skb_cb header; + unsigned int daddroff; + unsigned int family; + __be32 seq; +}; + +struct xfrm_state_walk { + struct list_head all; + u8 state; + u8 dying; + u8 proto; + u32 seq; + struct xfrm_address_filter *filter; +}; + +struct xfrm_stats { + __u32 replay_window; + __u32 replay; + __u32 integrity_failed; +}; + +struct xfrm_type; + +struct xfrm_type_offload; + +struct xfrm_state { + possible_net_t xs_net; + union { + struct hlist_node gclist; + struct hlist_node bydst; + }; + union { + struct hlist_node dev_gclist; + struct hlist_node bysrc; + }; + struct hlist_node byspi; + struct hlist_node byseq; + struct hlist_node state_cache; + struct hlist_node state_cache_input; + refcount_t refcnt; + spinlock_t lock; + u32 pcpu_num; + struct xfrm_id id; + struct xfrm_selector sel; + struct xfrm_mark mark; + u32 if_id; + u32 tfcpad; + u32 genid; + struct xfrm_state_walk km; + struct { + u32 reqid; + u8 mode; + u8 replay_window; + u8 aalgo; + u8 ealgo; + u8 calgo; + u8 flags; + u16 family; + xfrm_address_t saddr; + int header_len; + int enc_hdr_len; + int trailer_len; + u32 extra_flags; + struct xfrm_mark smark; + } props; + struct xfrm_lifetime_cfg lft; + struct xfrm_algo_auth *aalg; + struct xfrm_algo *ealg; + struct xfrm_algo *calg; + struct xfrm_algo_aead *aead; + const char *geniv; + __be16 new_mapping_sport; + u32 new_mapping; + u32 mapping_maxage; + struct xfrm_encap_tmpl *encap; + u32 nat_keepalive_interval; + time64_t nat_keepalive_expiration; + xfrm_address_t *coaddr; + struct xfrm_state *tunnel; + atomic_t tunnel_users; + struct xfrm_replay_state replay; + struct xfrm_replay_state_esn *replay_esn; + struct xfrm_replay_state preplay; + struct xfrm_replay_state_esn *preplay_esn; + enum xfrm_replay_mode repl_mode; + u32 xflags; + u32 replay_maxage; + u32 replay_maxdiff; + struct timer_list rtimer; + struct xfrm_stats stats; + struct xfrm_lifetime_cur curlft; + struct hrtimer mtimer; + struct xfrm_dev_offload xso; + long int saved_tmo; + time64_t lastused; + struct page_frag xfrag; + const struct xfrm_type *type; + struct xfrm_mode inner_mode; + struct xfrm_mode inner_mode_iaf; + struct xfrm_mode outer_mode; + const struct xfrm_type_offload *type_offload; + struct xfrm_sec_ctx *security; + void *data; + u8 dir; + const struct xfrm_mode_cbs *mode_cbs; + void *mode_data; +}; + +struct xfrm_state_afinfo { + u8 family; + u8 proto; + const struct xfrm_type_offload *type_offload_esp; + const struct xfrm_type *type_esp; + const struct xfrm_type *type_ipip; + const struct xfrm_type *type_ipip6; + const struct xfrm_type *type_comp; + const struct xfrm_type *type_ah; + const struct xfrm_type *type_routing; + const struct xfrm_type *type_dstopts; + int (*output)(struct net *, struct sock *, struct sk_buff *); + int (*transport_finish)(struct sk_buff *, int); + void (*local_error)(struct sk_buff *, u32); +}; + +struct xfrm_trans_cb { + union { + struct inet_skb_parm h4; + struct inet6_skb_parm h6; + } header; + int (*finish)(struct net *, struct sock *, struct sk_buff *); + struct net *net; +}; + +struct xfrm_trans_tasklet { + struct work_struct work; + spinlock_t queue_lock; + struct sk_buff_head queue; +}; + +struct xfrm_translator { + int (*alloc_compat)(struct sk_buff *, const struct nlmsghdr *); + struct nlmsghdr * (*rcv_msg_compat)(const struct nlmsghdr *, int, const struct nla_policy *, struct netlink_ext_ack *); + int (*xlate_user_policy_sockptr)(u8 **, int); + struct module *owner; +}; + +struct xfrm_type { + struct module *owner; + u8 proto; + u8 flags; + int (*init_state)(struct xfrm_state *, struct netlink_ext_ack *); + void (*destructor)(struct xfrm_state *); + int (*input)(struct xfrm_state *, struct sk_buff *); + int (*output)(struct xfrm_state *, struct sk_buff *); + int (*reject)(struct xfrm_state *, struct sk_buff *, const struct flowi *); +}; + +struct xfrm_type_offload { + struct module *owner; + u8 proto; + void (*encap)(struct xfrm_state *, struct sk_buff *); + int (*input_tail)(struct xfrm_state *, struct sk_buff *); + int (*xmit)(struct xfrm_state *, struct sk_buff *, netdev_features_t); +}; + +struct xfrm_user_offload { + int ifindex; + __u8 flags; +}; + +struct xfrm_user_sec_ctx { + __u16 len; + __u16 exttype; + __u8 ctx_alg; + __u8 ctx_doi; + __u16 ctx_len; +}; + +struct xfrmdev_ops { + int (*xdo_dev_state_add)(struct net_device *, struct xfrm_state *, struct netlink_ext_ack *); + void (*xdo_dev_state_delete)(struct net_device *, struct xfrm_state *); + void (*xdo_dev_state_free)(struct net_device *, struct xfrm_state *); + bool (*xdo_dev_offload_ok)(struct sk_buff *, struct xfrm_state *); + void (*xdo_dev_state_advance_esn)(struct xfrm_state *); + void (*xdo_dev_state_update_stats)(struct xfrm_state *); + int (*xdo_dev_policy_add)(struct xfrm_policy *, struct netlink_ext_ack *); + void (*xdo_dev_policy_delete)(struct xfrm_policy *); + void (*xdo_dev_policy_free)(struct xfrm_policy *); +}; + +struct xfrmk_sadinfo { + u32 sadhcnt; + u32 sadhmcnt; + u32 sadcnt; +}; + +struct xfrmk_spdinfo { + u32 incnt; + u32 outcnt; + u32 fwdcnt; + u32 inscnt; + u32 outscnt; + u32 fwdscnt; + u32 spdhcnt; + u32 spdhmcnt; +}; + +struct xhci_bus_state { + long unsigned int bus_suspended; + long unsigned int next_statechange; + u32 port_c_suspend; + u32 suspended_ports; + u32 port_remote_wakeup; + long unsigned int resuming_ports; +}; + +struct xhci_bw_info { + unsigned int ep_interval; + unsigned int mult; + unsigned int num_packets; + unsigned int max_packet_size; + unsigned int max_esit_payload; + unsigned int type; +}; + +struct xhci_cap_regs { + __le32 hc_capbase; + __le32 hcs_params1; + __le32 hcs_params2; + __le32 hcs_params3; + __le32 hcc_params; + __le32 db_off; + __le32 run_regs_off; + __le32 hcc_params2; +}; + +struct xhci_container_ctx; + +struct xhci_command { + struct xhci_container_ctx *in_ctx; + u32 status; + u32 comp_param; + int slot_id; + struct completion *completion; + union xhci_trb *command_trb; + struct list_head cmd_list; + unsigned int timeout_ms; +}; + +struct xhci_container_ctx { + unsigned int type; + int size; + u8 *bytes; + dma_addr_t dma; +}; + +struct xhci_erst_entry; + +struct xhci_erst { + struct xhci_erst_entry *entries; + unsigned int num_entries; + dma_addr_t erst_dma_addr; +}; + +struct xhci_hcd; + +struct xhci_dbc { + spinlock_t lock; + struct device *dev; + struct xhci_hcd *xhci; + struct dbc_regs *regs; + struct xhci_ring *ring_evt; + struct xhci_ring *ring_in; + struct xhci_ring *ring_out; + struct xhci_erst erst; + struct xhci_container_ctx *ctx; + struct dbc_str_descs *string; + dma_addr_t string_dma; + size_t string_size; + u16 idVendor; + u16 idProduct; + u16 bcdDevice; + u8 bInterfaceProtocol; + enum dbc_state state; + struct delayed_work event_work; + unsigned int poll_interval; + long unsigned int xfer_timestamp; + unsigned int resume_required: 1; + struct dbc_ep eps[2]; + const struct dbc_driver *driver; + void *priv; +}; + +struct xhci_device_context_array { + __le64 dev_context_ptrs[256]; + dma_addr_t dma; +}; + +struct xhci_doorbell_array { + __le32 doorbell[256]; +}; + +struct xhci_driver_overrides { + size_t extra_priv_size; + int (*reset)(struct usb_hcd *); + int (*start)(struct usb_hcd *); + int (*add_endpoint)(struct usb_hcd *, struct usb_device *, struct usb_host_endpoint *); + int (*drop_endpoint)(struct usb_hcd *, struct usb_device *, struct usb_host_endpoint *); + int (*check_bandwidth)(struct usb_hcd *, struct usb_device *); + void (*reset_bandwidth)(struct usb_hcd *, struct usb_device *); + int (*update_hub_device)(struct usb_hcd *, struct usb_device *, struct usb_tt *, gfp_t); + int (*hub_control)(struct usb_hcd *, u16, u16, u16, char *, u16); +}; + +struct xhci_ep_ctx { + __le32 ep_info; + __le32 ep_info2; + __le64 deq; + __le32 tx_info; + __le32 reserved[3]; +}; + +struct xhci_stream_info; + +struct xhci_ep_priv { + char name[32]; + struct dentry *root; + struct xhci_stream_info *stream_info; + struct xhci_ring *show_ring; + unsigned int stream_id; +}; + +struct xhci_erst_entry { + __le64 seg_addr; + __le32 seg_size; + __le32 rsvd; +}; + +struct xhci_event_cmd { + __le64 cmd_trb; + __le32 status; + __le32 flags; +}; + +struct xhci_file_map { + const char *name; + int (*show)(struct seq_file *, void *); +}; + +struct xhci_generic_trb { + __le32 field[4]; +}; + +struct xhci_port; + +struct xhci_hub { + struct xhci_port **ports; + unsigned int num_ports; + struct usb_hcd *hcd; + struct xhci_bus_state bus_state; + u8 maj_rev; + u8 min_rev; +}; + +struct xhci_op_regs; + +struct xhci_run_regs; + +struct xhci_interrupter; + +struct xhci_scratchpad; + +struct xhci_virt_device; + +struct xhci_root_port_bw_info; + +struct xhci_port_cap; + +struct xhci_hcd { + struct usb_hcd *main_hcd; + struct usb_hcd *shared_hcd; + struct xhci_cap_regs *cap_regs; + struct xhci_op_regs *op_regs; + struct xhci_run_regs *run_regs; + struct xhci_doorbell_array *dba; + __u32 hcs_params1; + __u32 hcs_params2; + __u32 hcs_params3; + __u32 hcc_params; + __u32 hcc_params2; + spinlock_t lock; + u16 hci_version; + u16 max_interrupters; + u32 imod_interval; + u32 page_size; + int nvecs; + struct clk *clk; + struct clk *reg_clk; + struct reset_control *reset; + struct xhci_device_context_array *dcbaa; + struct xhci_interrupter **interrupters; + struct xhci_ring *cmd_ring; + unsigned int cmd_ring_state; + struct list_head cmd_list; + unsigned int cmd_ring_reserved_trbs; + struct delayed_work cmd_timer; + struct completion cmd_ring_stop_completion; + struct xhci_command *current_cmd; + struct xhci_scratchpad *scratchpad; + struct mutex mutex; + struct xhci_virt_device *devs[256]; + struct xhci_root_port_bw_info *rh_bw; + struct dma_pool *device_pool; + struct dma_pool *segment_pool; + struct dma_pool *small_streams_pool; + struct dma_pool *port_bw_pool; + struct dma_pool *medium_streams_pool; + unsigned int xhc_state; + long unsigned int run_graceperiod; + struct s3_save s3; + long long unsigned int quirks; + unsigned int num_active_eps; + unsigned int limit_active_eps; + struct xhci_port *hw_ports; + struct xhci_hub usb2_rhub; + struct xhci_hub usb3_rhub; + unsigned int hw_lpm_support: 1; + unsigned int broken_suspend: 1; + unsigned int allow_single_roothub: 1; + struct xhci_port_cap *port_caps; + unsigned int num_port_caps; + struct timer_list comp_mode_recovery_timer; + u32 port_status_u0; + u16 test_mode; + struct dentry *debugfs_root; + struct dentry *debugfs_slots; + struct list_head regset_list; + void *dbc; + long unsigned int priv[0]; +}; + +struct xhci_input_control_ctx { + __le32 drop_flags; + __le32 add_flags; + __le32 rsvd2[6]; +}; + +struct xhci_intr_reg; + +struct xhci_interrupter { + struct xhci_ring *event_ring; + struct xhci_erst erst; + struct xhci_intr_reg *ir_set; + unsigned int intr_num; + bool ip_autoclear; + u32 isoc_bei_interval; + u32 s3_iman; + u32 s3_imod; + u32 s3_erst_size; + u64 s3_erst_base; + u64 s3_erst_dequeue; +}; + +struct xhci_interval_bw { + unsigned int num_packets; + struct list_head endpoints; + unsigned int overhead[3]; +}; + +struct xhci_interval_bw_table { + unsigned int interval0_esit_payload; + struct xhci_interval_bw interval_bw[16]; + unsigned int bw_used; + unsigned int ss_bw_in; + unsigned int ss_bw_out; +}; + +struct xhci_intr_reg { + __le32 iman; + __le32 imod; + __le32 erst_size; + __le32 rsvd; + __le64 erst_base; + __le64 erst_dequeue; +}; + +struct xhci_link_trb { + __le64 segment_ptr; + __le32 intr_target; + __le32 control; +}; + +struct xhci_op_regs { + __le32 command; + __le32 status; + __le32 page_size; + __le32 reserved1; + __le32 reserved2; + __le32 dev_notification; + __le64 cmd_ring; + __le32 reserved3[4]; + __le64 dcbaa_ptr; + __le32 config_reg; + __le32 reserved4[241]; + __le32 port_status_base; + __le32 port_power_base; + __le32 port_link_base; + __le32 reserved5; + __le32 reserved6[1016]; +}; + +struct xhci_port { + __le32 *addr; + int hw_portnum; + int hcd_portnum; + struct xhci_hub *rhub; + struct xhci_port_cap *port_cap; + unsigned int lpm_incapable: 1; + long unsigned int resume_timestamp; + bool rexit_active; + int slot_id; + struct completion rexit_done; + struct completion u3exit_done; +}; + +struct xhci_port_cap { + u32 *psi; + u8 psi_count; + u8 psi_uid_count; + u8 maj_rev; + u8 min_rev; + u32 protocol_caps; +}; + +struct xhci_regset { + char name[32]; + struct debugfs_regset32 regset; + size_t nregs; + struct list_head list; +}; + +struct xhci_ring { + struct xhci_segment *first_seg; + struct xhci_segment *last_seg; + union xhci_trb *enqueue; + struct xhci_segment *enq_seg; + union xhci_trb *dequeue; + struct xhci_segment *deq_seg; + struct list_head td_list; + u32 cycle_state; + unsigned int stream_id; + unsigned int num_segs; + unsigned int num_trbs_free; + unsigned int bounce_buf_len; + enum xhci_ring_type type; + u32 old_trb_comp_code; + struct xarray *trb_address_map; +}; + +struct xhci_root_port_bw_info { + struct list_head tts; + unsigned int num_active_tts; + struct xhci_interval_bw_table bw_table; +}; + +struct xhci_run_regs { + __le32 microframe_index; + __le32 rsvd[7]; + struct xhci_intr_reg ir_set[128]; +}; + +struct xhci_scratchpad { + u64 *sp_array; + dma_addr_t sp_dma; + void **sp_buffers; +}; + +struct xhci_segment { + union xhci_trb *trbs; + struct xhci_segment *next; + unsigned int num; + dma_addr_t dma; + dma_addr_t bounce_dma; + void *bounce_buf; + unsigned int bounce_offs; + unsigned int bounce_len; +}; + +struct xhci_virt_ep; + +struct xhci_sideband_event; + +struct xhci_sideband { + struct xhci_hcd *xhci; + struct xhci_virt_device *vdev; + struct xhci_virt_ep *eps[31]; + struct xhci_interrupter *ir; + enum xhci_sideband_type type; + struct mutex mutex; + struct usb_interface *intf; + int (*notify_client)(struct usb_interface *, struct xhci_sideband_event *); +}; + +struct xhci_sideband_event { + enum xhci_sideband_notify_type type; + void *evt_data; +}; + +struct xhci_slot_ctx { + __le32 dev_info; + __le32 dev_info2; + __le32 tt_info; + __le32 dev_state; + __le32 reserved[4]; +}; + +struct xhci_slot_priv { + char name[32]; + struct dentry *root; + struct xhci_ep_priv *eps[31]; + struct xhci_virt_device *dev; +}; + +struct xhci_stream_ctx { + __le64 stream_ring; + __le32 reserved[2]; +}; + +struct xhci_stream_info { + struct xhci_ring **stream_rings; + unsigned int num_streams; + struct xhci_stream_ctx *stream_ctx_array; + unsigned int num_stream_ctxs; + dma_addr_t ctx_array_dma; + struct xarray trb_address_map; + struct xhci_command *free_streams_command; +}; + +struct xhci_transfer_event { + __le64 buffer; + __le32 transfer_len; + __le32 flags; +}; + +union xhci_trb { + struct xhci_link_trb link; + struct xhci_transfer_event trans_event; + struct xhci_event_cmd event_cmd; + struct xhci_generic_trb generic; +}; + +struct xhci_tt_bw_info { + struct list_head tt_list; + int slot_id; + int ttport; + struct xhci_interval_bw_table bw_table; + int active_eps; +}; + +struct xhci_virt_ep { + struct xhci_virt_device *vdev; + unsigned int ep_index; + struct xhci_ring *ring; + struct xhci_stream_info *stream_info; + struct xhci_ring *new_ring; + unsigned int err_count; + unsigned int ep_state; + struct list_head cancelled_td_list; + struct xhci_hcd *xhci; + struct xhci_segment *queued_deq_seg; + union xhci_trb *queued_deq_ptr; + bool skip; + struct xhci_bw_info bw_info; + struct list_head bw_endpoint_list; + long unsigned int stop_time; + int next_frame_id; + bool use_extended_tbc; + struct xhci_sideband *sideband; +}; + +struct xhci_virt_device { + int slot_id; + struct usb_device *udev; + struct xhci_container_ctx *out_ctx; + struct xhci_container_ctx *in_ctx; + struct xhci_virt_ep eps[31]; + struct xhci_port *rhub_port; + struct xhci_interval_bw_table *bw_table; + struct xhci_tt_bw_info *tt_info; + long unsigned int flags; + u16 current_mel; + void *debugfs_private; + struct xhci_sideband *sideband; +}; + +struct xmaddr { + phys_addr_t maddr; +}; + +typedef struct xmaddr xmaddr_t; + +struct xol_area { + wait_queue_head_t wq; + long unsigned int *bitmap; + struct page *page; + long unsigned int vaddr; +}; + +struct xpaddr { + phys_addr_t paddr; +}; + +typedef struct xpaddr xpaddr_t; + +struct xprt_create; + +struct xprt_class { + struct list_head list; + int ident; + struct rpc_xprt * (*setup)(struct xprt_create *); + struct module *owner; + char name[32]; + const char *netid[0]; +}; + +struct xprt_create { + int ident; + struct net *net; + struct sockaddr *srcaddr; + struct sockaddr *dstaddr; + size_t addrlen; + const char *servername; + struct svc_xprt *bc_xprt; + struct rpc_xprt_switch *bc_xps; + unsigned int flags; + struct xprtsec_parms xprtsec; + long unsigned int connect_timeout; + long unsigned int reconnect_timeout; +}; + +struct xps_map; + +struct xps_dev_maps { + struct callback_head rcu; + unsigned int nr_ids; + s16 num_tc; + struct xps_map *attr_map[0]; +}; + +struct xps_map { + unsigned int len; + unsigned int alloc_len; + struct callback_head rcu; + u16 queues[0]; +}; + +struct xs_watch_event { + struct list_head list; + unsigned int len; + struct xenbus_watch *handle; + const char *path; + const char *token; + char body[0]; +}; + +struct xsd_errors { + int errnum; + const char *errstring; +}; + +struct xsk_addrs { + u32 num_descs; + u64 addrs[18]; +}; + +struct xsk_buff_pool { + struct device *dev; + struct net_device *netdev; + struct list_head xsk_tx_list; + spinlock_t xsk_tx_list_lock; + refcount_t users; + struct xdp_umem *umem; + struct work_struct work; + spinlock_t rx_lock; + struct list_head free_list; + struct list_head xskb_list; + u32 heads_cnt; + u16 queue_id; + struct xsk_queue *fq; + struct xsk_queue *cq; + dma_addr_t *dma_pages; + struct xdp_buff_xsk *heads; + struct xdp_desc *tx_descs; + u64 chunk_mask; + u64 addrs_cnt; + u32 free_list_cnt; + u32 dma_pages_cnt; + u32 free_heads_cnt; + u32 headroom; + u32 chunk_size; + u32 chunk_shift; + u32 frame_len; + u32 xdp_zc_max_segs; + u8 tx_metadata_len; + u8 cached_need_wakeup; + bool uses_need_wakeup; + bool unaligned; + bool tx_sw_csum; + void *addrs; + spinlock_t cq_lock; + struct xdp_buff_xsk *free_heads[0]; + long: 64; + long: 64; +}; + +struct xsk_cb_desc { + void *src; + u8 off; + u8 bytes; +}; + +struct xsk_dma_map { + dma_addr_t *dma_pages; + struct device *dev; + struct net_device *netdev; + refcount_t users; + struct list_head list; + u32 dma_pages_cnt; +}; + +struct xsk_map { + struct bpf_map map; + spinlock_t lock; + atomic_t count; + struct xdp_sock *xsk_map[0]; +}; + +struct xsk_map_node { + struct list_head node; + struct xsk_map *map; + struct xdp_sock **map_entry; +}; + +struct xsk_queue { + u32 ring_mask; + u32 nentries; + u32 cached_prod; + u32 cached_cons; + struct xdp_ring *ring; + u64 invalid_descs; + u64 queue_empty_descs; + size_t ring_vmalloc_size; +}; + +struct xsk_tx_metadata { + __u64 flags; + union { + struct { + __u16 csum_start; + __u16 csum_offset; + __u64 launch_time; + } request; + struct { + __u64 tx_timestamp; + } completion; + }; +}; + +struct xsk_tx_metadata_ops { + void (*tmo_request_timestamp)(void *); + u64 (*tmo_fill_timestamp)(void *); + void (*tmo_request_checksum)(u16, u16, void *); + void (*tmo_request_launch_time)(u64, void *); +}; + +struct xts_instance_ctx { + struct crypto_skcipher_spawn spawn; + struct crypto_cipher_spawn tweak_spawn; +}; + +struct xts_request_ctx { + le128 t; + struct scatterlist *tail; + struct scatterlist sg[2]; + struct skcipher_request subreq; +}; + +struct xts_tfm_ctx { + struct crypto_skcipher *child; + struct crypto_cipher *tweak; +}; + +struct xxh32_state { + uint32_t total_len_32; + uint32_t large_len; + uint32_t v1; + uint32_t v2; + uint32_t v3; + uint32_t v4; + uint32_t mem32[4]; + uint32_t memsize; +}; + +struct xz_dec_hash { + vli_type unpadded; + vli_type uncompressed; + uint32_t crc32; +}; + +struct xz_dec_lzma2; + +struct xz_dec_bcj; + +struct xz_dec { + enum { + SEQ_STREAM_HEADER = 0, + SEQ_BLOCK_START = 1, + SEQ_BLOCK_HEADER = 2, + SEQ_BLOCK_UNCOMPRESS = 3, + SEQ_BLOCK_PADDING = 4, + SEQ_BLOCK_CHECK = 5, + SEQ_INDEX = 6, + SEQ_INDEX_PADDING = 7, + SEQ_INDEX_CRC32 = 8, + SEQ_STREAM_FOOTER = 9, + } sequence; + uint32_t pos; + vli_type vli; + size_t in_start; + size_t out_start; + uint32_t crc32; + enum xz_check check_type; + enum xz_mode mode; + bool allow_buf_error; + struct { + vli_type compressed; + vli_type uncompressed; + uint32_t size; + } block_header; + struct { + vli_type compressed; + vli_type uncompressed; + vli_type count; + struct xz_dec_hash hash; + } block; + struct { + enum { + SEQ_INDEX_COUNT = 0, + SEQ_INDEX_UNPADDED = 1, + SEQ_INDEX_UNCOMPRESSED = 2, + } sequence; + vli_type size; + vli_type count; + struct xz_dec_hash hash; + } index; + struct { + size_t pos; + size_t size; + uint8_t buf[1024]; + } temp; + struct xz_dec_lzma2 *lzma2; + struct xz_dec_bcj *bcj; + bool bcj_active; +}; + +struct xz_dec_bcj { + enum { + BCJ_X86 = 4, + BCJ_POWERPC = 5, + BCJ_IA64 = 6, + BCJ_ARM = 7, + BCJ_ARMTHUMB = 8, + BCJ_SPARC = 9, + BCJ_ARM64 = 10, + BCJ_RISCV = 11, + } type; + enum xz_ret ret; + bool single_call; + uint32_t pos; + uint32_t x86_prev_mask; + uint8_t *out; + size_t out_pos; + size_t out_size; + struct { + size_t filtered; + size_t size; + uint8_t buf[16]; + } temp; +}; + +struct xz_dec_lzma2 { + struct rc_dec rc; + struct dictionary dict; + struct lzma2_dec lzma2; + struct lzma_dec lzma; + struct { + uint32_t size; + uint8_t buf[63]; + } temp; +}; + +struct xz_dec_microlzma { + struct xz_dec_lzma2 s; +}; + +struct zap_details { + struct folio *single_folio; + bool even_cows; + bool reclaim_pt; + zap_flags_t zap_flags; +}; + +union zen_patch_rev { + struct { + __u32 rev: 8; + __u32 stepping: 4; + __u32 model: 4; + __u32 __reserved: 4; + __u32 ext_model: 4; + __u32 ext_fam: 8; + }; + __u32 ucode_rev; +}; + +struct zone_report_args { + struct blk_zone *zones; +}; + +struct zspage; + +struct zpdesc { + long unsigned int flags; + struct list_head lru; + long unsigned int movable_ops; + union { + struct zpdesc *next; + long unsigned int handle; + }; + struct zspage *zspage; + unsigned int first_obj_offset; + atomic_t _refcount; +}; + +struct zpodd { + enum odd_mech_type mech_type; + struct ata_device *dev; + bool from_notify; + bool zp_ready; + long unsigned int last_ready; + bool zp_sampled; + bool powered_off; +}; + +struct zpool_driver; + +struct zpool { + struct zpool_driver *driver; + void *pool; +}; + +struct zpool_driver { + char *type; + struct module *owner; + atomic_t refcount; + struct list_head list; + void * (*create)(const char *, gfp_t); + void (*destroy)(void *); + int (*malloc)(void *, size_t, gfp_t, long unsigned int *, const int); + void (*free)(void *, long unsigned int); + void * (*obj_read_begin)(void *, long unsigned int, void *); + void (*obj_read_end)(void *, long unsigned int, void *); + void (*obj_write)(void *, long unsigned int, void *, size_t); + u64 (*total_pages)(void *); +}; + +struct zs_pool_stats { + atomic_long_t pages_compacted; +}; + +struct zs_pool { + const char *name; + struct size_class *size_class[255]; + struct kmem_cache *handle_cachep; + struct kmem_cache *zspage_cachep; + atomic_long_t pages_allocated; + struct zs_pool_stats stats; + struct shrinker *shrinker; + struct work_struct free_work; + rwlock_t lock; + atomic_t compaction_in_progress; +}; + +struct zspage_lock { + spinlock_t lock; + int cnt; + struct lockdep_map dep_map; +}; + +struct zspage { + struct { + unsigned int huge: 1; + unsigned int fullness: 4; + unsigned int class: 9; + unsigned int magic: 8; + }; + unsigned int inuse; + unsigned int freeobj; + struct zpdesc *first_zpdesc; + struct list_head list; + struct zs_pool *pool; + struct zspage_lock zsl; +}; + +struct zswap_pool; + +struct zswap_entry { + swp_entry_t swpentry; + unsigned int length; + bool referenced; + struct zswap_pool *pool; + long unsigned int handle; + struct obj_cgroup *objcg; + struct list_head lru; +}; + +struct zswap_pool { + struct zpool *zpool; + struct crypto_acomp_ctx *acomp_ctx; + struct percpu_ref ref; + struct list_head list; + struct work_struct release_work; + struct hlist_node node; + char tfm_name[128]; +}; + +typedef void (*HUF_DecompressFastLoopFn)(HUF_DecompressFastArgs *); + +typedef size_t (*HUF_DecompressUsingDTableFn)(void *, size_t, const void *, size_t, const HUF_DTable *); + +typedef void (*RecordEvents_f)(Fingerprint *, const void *, size_t); + +typedef size_t (*ZSTD_BlockCompressor_f)(ZSTD_MatchState_t *, SeqStore_t *, U32 *, const void *, size_t); + +typedef size_t (*ZSTD_SequenceCopier_f)(ZSTD_CCtx *, ZSTD_SequencePosition *, const ZSTD_Sequence * const, size_t, const void *, size_t, ZSTD_ParamSwitch_e); + +typedef U32 (*ZSTD_getAllMatchesFn)(ZSTD_match_t *, ZSTD_MatchState_t *, U32 *, const BYTE *, const BYTE *, const U32 *, const U32, const U32); + +typedef int (*ZSTD_match4Found)(const BYTE *, const BYTE *, U32, U32); + +typedef acpi_status (*acpi_exception_handler)(acpi_status, acpi_name, u16, u32, void *); + +typedef acpi_status (*acpi_execute_op)(struct acpi_walk_state *); + +typedef void (*acpi_gbl_event_handler)(u32, acpi_handle, u32, void *); + +typedef acpi_status (*acpi_gpe_callback)(struct acpi_gpe_xrupt_info *, struct acpi_gpe_block_info *, void *); + +typedef acpi_status (*acpi_init_handler)(acpi_handle, u32); + +typedef u32 (*acpi_interface_handler)(acpi_string, u32); + +typedef u32 (*acpi_osd_handler)(void *); + +typedef acpi_status (*acpi_pkg_callback)(u8, union acpi_operand_object *, union acpi_generic_state *, void *); + +typedef acpi_status (*acpi_table_handler)(u32, void *, void *); + +typedef acpi_status (*acpi_walk_aml_callback)(u8 *, u32, u32, u8, void **); + +typedef acpi_status (*acpi_walk_resource_callback)(struct acpi_resource *, void *); + +typedef void amd_pmu_branch_reset_t(void); + +typedef int (*apei_exec_entry_func_t)(struct apei_exec_context *, struct acpi_whea_header *, void *); + +typedef int (*apei_hest_func_t)(struct acpi_hest_header *, void *); + +typedef int (*arch_set_vga_state_t)(struct pci_dev *, bool, unsigned int, u32); + +typedef unsigned int (*ata_xlat_func_t)(struct ata_queued_cmd *); + +typedef void blk_log_action_t(struct trace_iterator *, const char *, bool); + +typedef int (*bpf_aux_classic_check_t)(struct sock_filter *, unsigned int); + +typedef u32 (*bpf_convert_ctx_access_t)(enum bpf_access_type, const struct bpf_insn *, struct bpf_insn *, struct bpf_prog *, u32 *); + +typedef long unsigned int (*bpf_ctx_copy_t)(void *, const void *, long unsigned int, long unsigned int); + +typedef unsigned int (*bpf_dispatcher_fn)(const void *, const struct bpf_insn *, unsigned int (*)(const void *, const struct bpf_insn *)); + +typedef unsigned int (*bpf_func_t)(const void *, const struct bpf_insn *); + +typedef void (*bpf_jit_fill_hole_t)(void *, unsigned int); + +typedef int (*bpf_op_t)(struct net_device *, struct netdev_bpf *); + +typedef u32 (*bpf_prog_run_fn)(const struct bpf_prog *, const void *); + +typedef u64 (*bpf_trampoline_enter_t)(struct bpf_prog *, struct bpf_tramp_run_ctx *); + +typedef void (*bpf_trampoline_exit_t)(struct bpf_prog *, u64, struct bpf_tramp_run_ctx *); + +typedef u64 (*btf_bpf_bind)(struct bpf_sock_addr_kern *, struct sockaddr *, int); + +typedef u64 (*btf_bpf_bprm_opts_set)(struct linux_binprm *, u64); + +typedef u64 (*btf_bpf_btf_find_by_name_kind)(char *, int, u32, int); + +typedef u64 (*btf_bpf_cgrp_storage_delete)(struct bpf_map *, struct cgroup *); + +typedef u64 (*btf_bpf_cgrp_storage_get)(struct bpf_map *, struct cgroup *, void *, u64, gfp_t); + +typedef u64 (*btf_bpf_clone_redirect)(struct sk_buff *, u32, u64); + +typedef u64 (*btf_bpf_copy_from_user)(void *, u32, const void *); + +typedef u64 (*btf_bpf_copy_from_user_task)(void *, u32, const void *, struct task_struct *, u64); + +typedef u64 (*btf_bpf_csum_diff)(__be32 *, u32, __be32 *, u32, __wsum); + +typedef u64 (*btf_bpf_csum_level)(struct sk_buff *, u64); + +typedef u64 (*btf_bpf_csum_update)(struct sk_buff *, __wsum); + +typedef u64 (*btf_bpf_current_task_under_cgroup)(struct bpf_map *, u32); + +typedef u64 (*btf_bpf_d_path)(struct path *, char *, u32); + +typedef u64 (*btf_bpf_dynptr_data)(const struct bpf_dynptr_kern *, u32, u32); + +typedef u64 (*btf_bpf_dynptr_from_mem)(void *, u32, u64, struct bpf_dynptr_kern *); + +typedef u64 (*btf_bpf_dynptr_read)(void *, u32, const struct bpf_dynptr_kern *, u32, u64); + +typedef u64 (*btf_bpf_dynptr_write)(const struct bpf_dynptr_kern *, u32, void *, u32, u64); + +typedef u64 (*btf_bpf_event_output_data)(void *, struct bpf_map *, u64, void *, u64); + +typedef u64 (*btf_bpf_find_vma)(struct task_struct *, u64, bpf_callback_t, void *, u64); + +typedef u64 (*btf_bpf_flow_dissector_load_bytes)(const struct bpf_flow_dissector *, u32, void *, u32); + +typedef u64 (*btf_bpf_for_each_map_elem)(struct bpf_map *, void *, void *, u64); + +typedef u64 (*btf_bpf_get_attach_cookie)(void *); + +typedef u64 (*btf_bpf_get_attach_cookie_kprobe_multi)(struct pt_regs *); + +typedef u64 (*btf_bpf_get_attach_cookie_pe)(struct bpf_perf_event_data_kern *); + +typedef u64 (*btf_bpf_get_attach_cookie_trace)(void *); + +typedef u64 (*btf_bpf_get_attach_cookie_tracing)(void *); + +typedef u64 (*btf_bpf_get_attach_cookie_uprobe_multi)(struct pt_regs *); + +typedef u64 (*btf_bpf_get_branch_snapshot)(void *, u32, u64); + +typedef u64 (*btf_bpf_get_cgroup_classid)(const struct sk_buff *); + +typedef u64 (*btf_bpf_get_cgroup_classid_curr)(void); + +typedef u64 (*btf_bpf_get_current_ancestor_cgroup_id)(int); + +typedef u64 (*btf_bpf_get_current_cgroup_id)(void); + +typedef u64 (*btf_bpf_get_current_comm)(char *, u32); + +typedef u64 (*btf_bpf_get_current_pid_tgid)(void); + +typedef u64 (*btf_bpf_get_current_task)(void); + +typedef u64 (*btf_bpf_get_current_task_btf)(void); + +typedef u64 (*btf_bpf_get_current_uid_gid)(void); + +typedef u64 (*btf_bpf_get_func_ip_kprobe)(struct pt_regs *); + +typedef u64 (*btf_bpf_get_func_ip_kprobe_multi)(struct pt_regs *); + +typedef u64 (*btf_bpf_get_func_ip_tracing)(void *); + +typedef u64 (*btf_bpf_get_func_ip_uprobe_multi)(struct pt_regs *); + +typedef u64 (*btf_bpf_get_hash_recalc)(struct sk_buff *); + +typedef u64 (*btf_bpf_get_listener_sock)(struct sock *); + +typedef u64 (*btf_bpf_get_local_storage)(struct bpf_map *, u64); + +typedef u64 (*btf_bpf_get_netns_cookie)(struct sk_buff *); + +typedef u64 (*btf_bpf_get_netns_cookie_sk_msg)(struct sk_msg *); + +typedef u64 (*btf_bpf_get_netns_cookie_sock)(struct sock *); + +typedef u64 (*btf_bpf_get_netns_cookie_sock_addr)(struct bpf_sock_addr_kern *); + +typedef u64 (*btf_bpf_get_netns_cookie_sock_ops)(struct bpf_sock_ops_kern *); + +typedef u64 (*btf_bpf_get_netns_cookie_sockopt)(struct bpf_sockopt_kern *); + +typedef u64 (*btf_bpf_get_ns_current_pid_tgid)(u64, u64, struct bpf_pidns_info *, u32); + +typedef u64 (*btf_bpf_get_numa_node_id)(void); + +typedef u64 (*btf_bpf_get_raw_cpu_id)(void); + +typedef u64 (*btf_bpf_get_retval)(void); + +typedef u64 (*btf_bpf_get_route_realm)(const struct sk_buff *); + +typedef u64 (*btf_bpf_get_smp_processor_id)(void); + +typedef u64 (*btf_bpf_get_socket_cookie)(struct sk_buff *); + +typedef u64 (*btf_bpf_get_socket_cookie_sock)(struct sock *); + +typedef u64 (*btf_bpf_get_socket_cookie_sock_addr)(struct bpf_sock_addr_kern *); + +typedef u64 (*btf_bpf_get_socket_cookie_sock_ops)(struct bpf_sock_ops_kern *); + +typedef u64 (*btf_bpf_get_socket_ptr_cookie)(struct sock *); + +typedef u64 (*btf_bpf_get_socket_uid)(struct sk_buff *); + +typedef u64 (*btf_bpf_get_stack)(struct pt_regs *, void *, u32, u64); + +typedef u64 (*btf_bpf_get_stack_pe)(struct bpf_perf_event_data_kern *, void *, u32, u64); + +typedef u64 (*btf_bpf_get_stack_raw_tp)(struct bpf_raw_tracepoint_args *, void *, u32, u64); + +typedef u64 (*btf_bpf_get_stack_sleepable)(struct pt_regs *, void *, u32, u64); + +typedef u64 (*btf_bpf_get_stack_tp)(void *, void *, u32, u64); + +typedef u64 (*btf_bpf_get_stackid)(struct pt_regs *, struct bpf_map *, u64); + +typedef u64 (*btf_bpf_get_stackid_pe)(struct bpf_perf_event_data_kern *, struct bpf_map *, u64); + +typedef u64 (*btf_bpf_get_stackid_raw_tp)(struct bpf_raw_tracepoint_args *, struct bpf_map *, u64); + +typedef u64 (*btf_bpf_get_stackid_tp)(void *, struct bpf_map *, u64); + +typedef u64 (*btf_bpf_get_task_stack)(struct task_struct *, void *, u32, u64); + +typedef u64 (*btf_bpf_get_task_stack_sleepable)(struct task_struct *, void *, u32, u64); + +typedef u64 (*btf_bpf_ima_file_hash)(struct file *, void *, u32); + +typedef u64 (*btf_bpf_ima_inode_hash)(struct inode *, void *, u32); + +typedef u64 (*btf_bpf_inode_storage_delete)(struct bpf_map *, struct inode *); + +typedef u64 (*btf_bpf_inode_storage_get)(struct bpf_map *, struct inode *, void *, u64, gfp_t); + +typedef u64 (*btf_bpf_jiffies64)(void); + +typedef u64 (*btf_bpf_kallsyms_lookup_name)(const char *, int, int, u64 *); + +typedef u64 (*btf_bpf_kptr_xchg)(void *, void *); + +typedef u64 (*btf_bpf_ktime_get_boot_ns)(void); + +typedef u64 (*btf_bpf_ktime_get_coarse_ns)(void); + +typedef u64 (*btf_bpf_ktime_get_ns)(void); + +typedef u64 (*btf_bpf_ktime_get_tai_ns)(void); + +typedef u64 (*btf_bpf_l3_csum_replace)(struct sk_buff *, u32, u64, u64, u64); + +typedef u64 (*btf_bpf_l4_csum_replace)(struct sk_buff *, u32, u64, u64, u64); + +typedef u64 (*btf_bpf_loop)(u32, void *, void *, u64); + +typedef u64 (*btf_bpf_lwt_in_push_encap)(struct sk_buff *, u32, void *, u32); + +typedef u64 (*btf_bpf_lwt_seg6_action)(struct sk_buff *, u32, void *, u32); + +typedef u64 (*btf_bpf_lwt_seg6_adjust_srh)(struct sk_buff *, u32, s32); + +typedef u64 (*btf_bpf_lwt_seg6_store_bytes)(struct sk_buff *, u32, const void *, u32); + +typedef u64 (*btf_bpf_lwt_xmit_push_encap)(struct sk_buff *, u32, void *, u32); + +typedef u64 (*btf_bpf_map_delete_elem)(struct bpf_map *, void *); + +typedef u64 (*btf_bpf_map_lookup_elem)(struct bpf_map *, void *); + +typedef u64 (*btf_bpf_map_lookup_percpu_elem)(struct bpf_map *, void *, u32); + +typedef u64 (*btf_bpf_map_peek_elem)(struct bpf_map *, void *); + +typedef u64 (*btf_bpf_map_pop_elem)(struct bpf_map *, void *); + +typedef u64 (*btf_bpf_map_push_elem)(struct bpf_map *, void *, u64); + +typedef u64 (*btf_bpf_map_update_elem)(struct bpf_map *, void *, void *, u64); + +typedef u64 (*btf_bpf_msg_apply_bytes)(struct sk_msg *, u32); + +typedef u64 (*btf_bpf_msg_cork_bytes)(struct sk_msg *, u32); + +typedef u64 (*btf_bpf_msg_pop_data)(struct sk_msg *, u32, u32, u64); + +typedef u64 (*btf_bpf_msg_pull_data)(struct sk_msg *, u32, u32, u64); + +typedef u64 (*btf_bpf_msg_push_data)(struct sk_msg *, u32, u32, u64); + +typedef u64 (*btf_bpf_msg_redirect_hash)(struct sk_msg *, struct bpf_map *, void *, u64); + +typedef u64 (*btf_bpf_msg_redirect_map)(struct sk_msg *, struct bpf_map *, u32, u64); + +typedef u64 (*btf_bpf_override_return)(struct pt_regs *, long unsigned int); + +typedef u64 (*btf_bpf_per_cpu_ptr)(const void *, u32); + +typedef u64 (*btf_bpf_perf_event_output)(struct pt_regs *, struct bpf_map *, u64, void *, u64); + +typedef u64 (*btf_bpf_perf_event_output_raw_tp)(struct bpf_raw_tracepoint_args *, struct bpf_map *, u64, void *, u64); + +typedef u64 (*btf_bpf_perf_event_output_tp)(void *, struct bpf_map *, u64, void *, u64); + +typedef u64 (*btf_bpf_perf_event_read)(struct bpf_map *, u64); + +typedef u64 (*btf_bpf_perf_event_read_value)(struct bpf_map *, u64, struct bpf_perf_event_value *, u32); + +typedef u64 (*btf_bpf_perf_prog_read_value)(struct bpf_perf_event_data_kern *, struct bpf_perf_event_value *, u32); + +typedef u64 (*btf_bpf_probe_read_compat)(void *, u32, const void *); + +typedef u64 (*btf_bpf_probe_read_compat_str)(void *, u32, const void *); + +typedef u64 (*btf_bpf_probe_read_kernel)(void *, u32, const void *); + +typedef u64 (*btf_bpf_probe_read_kernel_str)(void *, u32, const void *); + +typedef u64 (*btf_bpf_probe_read_user)(void *, u32, const void *); + +typedef u64 (*btf_bpf_probe_read_user_str)(void *, u32, const void *); + +typedef u64 (*btf_bpf_probe_write_user)(void *, const void *, u32); + +typedef u64 (*btf_bpf_read_branch_records)(struct bpf_perf_event_data_kern *, void *, u32, u64); + +typedef u64 (*btf_bpf_redirect)(u32, u64); + +typedef u64 (*btf_bpf_redirect_neigh)(u32, struct bpf_redir_neigh *, int, u64); + +typedef u64 (*btf_bpf_redirect_peer)(u32, u64); + +typedef u64 (*btf_bpf_ringbuf_discard)(void *, u64); + +typedef u64 (*btf_bpf_ringbuf_discard_dynptr)(struct bpf_dynptr_kern *, u64); + +typedef u64 (*btf_bpf_ringbuf_output)(struct bpf_map *, void *, u64, u64); + +typedef u64 (*btf_bpf_ringbuf_query)(struct bpf_map *, u64); + +typedef u64 (*btf_bpf_ringbuf_reserve)(struct bpf_map *, u64, u64); + +typedef u64 (*btf_bpf_ringbuf_reserve_dynptr)(struct bpf_map *, u32, u64, struct bpf_dynptr_kern *); + +typedef u64 (*btf_bpf_ringbuf_submit)(void *, u64); + +typedef u64 (*btf_bpf_ringbuf_submit_dynptr)(struct bpf_dynptr_kern *, u64); + +typedef u64 (*btf_bpf_send_signal)(u32); + +typedef u64 (*btf_bpf_send_signal_thread)(u32); + +typedef u64 (*btf_bpf_seq_printf)(struct seq_file *, char *, u32, const void *, u32); + +typedef u64 (*btf_bpf_seq_printf_btf)(struct seq_file *, struct btf_ptr *, u32, u64); + +typedef u64 (*btf_bpf_seq_write)(struct seq_file *, const void *, u32); + +typedef u64 (*btf_bpf_set_hash)(struct sk_buff *, u32); + +typedef u64 (*btf_bpf_set_hash_invalid)(struct sk_buff *); + +typedef u64 (*btf_bpf_set_retval)(int); + +typedef u64 (*btf_bpf_sk_ancestor_cgroup_id)(struct sock *, int); + +typedef u64 (*btf_bpf_sk_assign)(struct sk_buff *, struct sock *, u64); + +typedef u64 (*btf_bpf_sk_cgroup_id)(struct sock *); + +typedef u64 (*btf_bpf_sk_fullsock)(struct sock *); + +typedef u64 (*btf_bpf_sk_getsockopt)(struct sock *, int, int, char *, int); + +typedef u64 (*btf_bpf_sk_lookup_assign)(struct bpf_sk_lookup_kern *, struct sock *, u64); + +typedef u64 (*btf_bpf_sk_lookup_tcp)(struct sk_buff *, struct bpf_sock_tuple *, u32, u64, u64); + +typedef u64 (*btf_bpf_sk_lookup_udp)(struct sk_buff *, struct bpf_sock_tuple *, u32, u64, u64); + +typedef u64 (*btf_bpf_sk_redirect_hash)(struct sk_buff *, struct bpf_map *, void *, u64); + +typedef u64 (*btf_bpf_sk_redirect_map)(struct sk_buff *, struct bpf_map *, u32, u64); + +typedef u64 (*btf_bpf_sk_release)(struct sock *); + +typedef u64 (*btf_bpf_sk_setsockopt)(struct sock *, int, int, char *, int); + +typedef u64 (*btf_bpf_sk_storage_delete)(struct bpf_map *, struct sock *); + +typedef u64 (*btf_bpf_sk_storage_delete_tracing)(struct bpf_map *, struct sock *); + +typedef u64 (*btf_bpf_sk_storage_get)(struct bpf_map *, struct sock *, void *, u64, gfp_t); + +typedef u64 (*btf_bpf_sk_storage_get_tracing)(struct bpf_map *, struct sock *, void *, u64, gfp_t); + +typedef u64 (*btf_bpf_skb_adjust_room)(struct sk_buff *, s32, u32, u64); + +typedef u64 (*btf_bpf_skb_ancestor_cgroup_id)(const struct sk_buff *, int); + +typedef u64 (*btf_bpf_skb_cgroup_classid)(const struct sk_buff *); + +typedef u64 (*btf_bpf_skb_cgroup_id)(const struct sk_buff *); + +typedef u64 (*btf_bpf_skb_change_head)(struct sk_buff *, u32, u64); + +typedef u64 (*btf_bpf_skb_change_proto)(struct sk_buff *, __be16, u64); + +typedef u64 (*btf_bpf_skb_change_tail)(struct sk_buff *, u32, u64); + +typedef u64 (*btf_bpf_skb_change_type)(struct sk_buff *, u32); + +typedef u64 (*btf_bpf_skb_check_mtu)(struct sk_buff *, u32, u32 *, s32, u64); + +typedef u64 (*btf_bpf_skb_ecn_set_ce)(struct sk_buff *); + +typedef u64 (*btf_bpf_skb_event_output)(struct sk_buff *, struct bpf_map *, u64, void *, u64); + +typedef u64 (*btf_bpf_skb_fib_lookup)(struct sk_buff *, struct bpf_fib_lookup *, int, u32); + +typedef u64 (*btf_bpf_skb_get_nlattr)(struct sk_buff *, u32, u32); + +typedef u64 (*btf_bpf_skb_get_nlattr_nest)(struct sk_buff *, u32, u32); + +typedef u64 (*btf_bpf_skb_get_pay_offset)(struct sk_buff *); + +typedef u64 (*btf_bpf_skb_get_tunnel_key)(struct sk_buff *, struct bpf_tunnel_key *, u32, u64); + +typedef u64 (*btf_bpf_skb_get_tunnel_opt)(struct sk_buff *, u8 *, u32); + +typedef u64 (*btf_bpf_skb_get_xfrm_state)(struct sk_buff *, u32, struct bpf_xfrm_state *, u32, u64); + +typedef u64 (*btf_bpf_skb_load_bytes)(const struct sk_buff *, u32, void *, u32); + +typedef u64 (*btf_bpf_skb_load_bytes_relative)(const struct sk_buff *, u32, void *, u32, u32); + +typedef u64 (*btf_bpf_skb_load_helper_16)(const struct sk_buff *, const void *, int, int); + +typedef u64 (*btf_bpf_skb_load_helper_16_no_cache)(const struct sk_buff *, int); + +typedef u64 (*btf_bpf_skb_load_helper_32)(const struct sk_buff *, const void *, int, int); + +typedef u64 (*btf_bpf_skb_load_helper_32_no_cache)(const struct sk_buff *, int); + +typedef u64 (*btf_bpf_skb_load_helper_8)(const struct sk_buff *, const void *, int, int); + +typedef u64 (*btf_bpf_skb_load_helper_8_no_cache)(const struct sk_buff *, int); + +typedef u64 (*btf_bpf_skb_pull_data)(struct sk_buff *, u32); + +typedef u64 (*btf_bpf_skb_set_tstamp)(struct sk_buff *, u64, u32); + +typedef u64 (*btf_bpf_skb_set_tunnel_key)(struct sk_buff *, const struct bpf_tunnel_key *, u32, u64); + +typedef u64 (*btf_bpf_skb_set_tunnel_opt)(struct sk_buff *, const u8 *, u32); + +typedef u64 (*btf_bpf_skb_store_bytes)(struct sk_buff *, u32, const void *, u32, u64); + +typedef u64 (*btf_bpf_skb_under_cgroup)(struct sk_buff *, struct bpf_map *, u32); + +typedef u64 (*btf_bpf_skb_vlan_pop)(struct sk_buff *); + +typedef u64 (*btf_bpf_skb_vlan_push)(struct sk_buff *, __be16, u16); + +typedef u64 (*btf_bpf_skc_lookup_tcp)(struct sk_buff *, struct bpf_sock_tuple *, u32, u64, u64); + +typedef u64 (*btf_bpf_skc_to_mptcp_sock)(struct sock *); + +typedef u64 (*btf_bpf_skc_to_tcp6_sock)(struct sock *); + +typedef u64 (*btf_bpf_skc_to_tcp_request_sock)(struct sock *); + +typedef u64 (*btf_bpf_skc_to_tcp_sock)(struct sock *); + +typedef u64 (*btf_bpf_skc_to_tcp_timewait_sock)(struct sock *); + +typedef u64 (*btf_bpf_skc_to_udp6_sock)(struct sock *); + +typedef u64 (*btf_bpf_skc_to_unix_sock)(struct sock *); + +typedef u64 (*btf_bpf_snprintf)(char *, u32, char *, const void *, u32); + +typedef u64 (*btf_bpf_snprintf_btf)(char *, u32, struct btf_ptr *, u32, u64); + +typedef u64 (*btf_bpf_sock_addr_getsockopt)(struct bpf_sock_addr_kern *, int, int, char *, int); + +typedef u64 (*btf_bpf_sock_addr_setsockopt)(struct bpf_sock_addr_kern *, int, int, char *, int); + +typedef u64 (*btf_bpf_sock_addr_sk_lookup_tcp)(struct bpf_sock_addr_kern *, struct bpf_sock_tuple *, u32, u64, u64); + +typedef u64 (*btf_bpf_sock_addr_sk_lookup_udp)(struct bpf_sock_addr_kern *, struct bpf_sock_tuple *, u32, u64, u64); + +typedef u64 (*btf_bpf_sock_addr_skc_lookup_tcp)(struct bpf_sock_addr_kern *, struct bpf_sock_tuple *, u32, u64, u64); + +typedef u64 (*btf_bpf_sock_from_file)(struct file *); + +typedef u64 (*btf_bpf_sock_hash_update)(struct bpf_sock_ops_kern *, struct bpf_map *, void *, u64); + +typedef u64 (*btf_bpf_sock_map_update)(struct bpf_sock_ops_kern *, struct bpf_map *, void *, u64); + +typedef u64 (*btf_bpf_sock_ops_cb_flags_set)(struct bpf_sock_ops_kern *, int); + +typedef u64 (*btf_bpf_sock_ops_getsockopt)(struct bpf_sock_ops_kern *, int, int, char *, int); + +typedef u64 (*btf_bpf_sock_ops_load_hdr_opt)(struct bpf_sock_ops_kern *, void *, u32, u64); + +typedef u64 (*btf_bpf_sock_ops_reserve_hdr_opt)(struct bpf_sock_ops_kern *, u32, u64); + +typedef u64 (*btf_bpf_sock_ops_setsockopt)(struct bpf_sock_ops_kern *, int, int, char *, int); + +typedef u64 (*btf_bpf_sock_ops_store_hdr_opt)(struct bpf_sock_ops_kern *, const void *, u32, u64); + +typedef u64 (*btf_bpf_spin_lock)(struct bpf_spin_lock *); + +typedef u64 (*btf_bpf_spin_unlock)(struct bpf_spin_lock *); + +typedef u64 (*btf_bpf_strncmp)(const char *, u32, const char *); + +typedef u64 (*btf_bpf_strtol)(const char *, size_t, u64, s64 *); + +typedef u64 (*btf_bpf_strtoul)(const char *, size_t, u64, u64 *); + +typedef u64 (*btf_bpf_sys_bpf)(int, union bpf_attr *, u32); + +typedef u64 (*btf_bpf_sys_close)(u32); + +typedef u64 (*btf_bpf_sysctl_get_current_value)(struct bpf_sysctl_kern *, char *, size_t); + +typedef u64 (*btf_bpf_sysctl_get_name)(struct bpf_sysctl_kern *, char *, size_t, u64); + +typedef u64 (*btf_bpf_sysctl_get_new_value)(struct bpf_sysctl_kern *, char *, size_t); + +typedef u64 (*btf_bpf_sysctl_set_new_value)(struct bpf_sysctl_kern *, const char *, size_t); + +typedef u64 (*btf_bpf_task_pt_regs)(struct task_struct *); + +typedef u64 (*btf_bpf_task_storage_delete)(struct bpf_map *, struct task_struct *); + +typedef u64 (*btf_bpf_task_storage_delete_recur)(struct bpf_map *, struct task_struct *); + +typedef u64 (*btf_bpf_task_storage_get)(struct bpf_map *, struct task_struct *, void *, u64, gfp_t); + +typedef u64 (*btf_bpf_task_storage_get_recur)(struct bpf_map *, struct task_struct *, void *, u64, gfp_t); + +typedef u64 (*btf_bpf_tc_sk_lookup_tcp)(struct sk_buff *, struct bpf_sock_tuple *, u32, u64, u64); + +typedef u64 (*btf_bpf_tc_sk_lookup_udp)(struct sk_buff *, struct bpf_sock_tuple *, u32, u64, u64); + +typedef u64 (*btf_bpf_tc_skc_lookup_tcp)(struct sk_buff *, struct bpf_sock_tuple *, u32, u64, u64); + +typedef u64 (*btf_bpf_tcp_check_syncookie)(struct sock *, void *, u32, struct tcphdr *, u32); + +typedef u64 (*btf_bpf_tcp_gen_syncookie)(struct sock *, void *, u32, struct tcphdr *, u32); + +typedef u64 (*btf_bpf_tcp_raw_check_syncookie_ipv4)(struct iphdr *, struct tcphdr *); + +typedef u64 (*btf_bpf_tcp_raw_check_syncookie_ipv6)(struct ipv6hdr *, struct tcphdr *); + +typedef u64 (*btf_bpf_tcp_raw_gen_syncookie_ipv4)(struct iphdr *, struct tcphdr *, u32); + +typedef u64 (*btf_bpf_tcp_raw_gen_syncookie_ipv6)(struct ipv6hdr *, struct tcphdr *, u32); + +typedef u64 (*btf_bpf_tcp_send_ack)(struct tcp_sock *, u32); + +typedef u64 (*btf_bpf_tcp_sock)(struct sock *); + +typedef u64 (*btf_bpf_this_cpu_ptr)(const void *); + +typedef u64 (*btf_bpf_timer_cancel)(struct bpf_async_kern *); + +typedef u64 (*btf_bpf_timer_init)(struct bpf_async_kern *, struct bpf_map *, u64); + +typedef u64 (*btf_bpf_timer_set_callback)(struct bpf_async_kern *, void *, struct bpf_prog_aux *); + +typedef u64 (*btf_bpf_timer_start)(struct bpf_async_kern *, u64, u64); + +typedef u64 (*btf_bpf_trace_printk)(char *, u32, u64, u64, u64); + +typedef u64 (*btf_bpf_trace_vprintk)(char *, u32, const void *, u32); + +typedef u64 (*btf_bpf_unlocked_sk_getsockopt)(struct sock *, int, int, char *, int); + +typedef u64 (*btf_bpf_unlocked_sk_setsockopt)(struct sock *, int, int, char *, int); + +typedef u64 (*btf_bpf_user_ringbuf_drain)(struct bpf_map *, void *, void *, u64); + +typedef u64 (*btf_bpf_user_rnd_u32)(void); + +typedef u64 (*btf_bpf_xdp_adjust_head)(struct xdp_buff *, int); + +typedef u64 (*btf_bpf_xdp_adjust_meta)(struct xdp_buff *, int); + +typedef u64 (*btf_bpf_xdp_adjust_tail)(struct xdp_buff *, int); + +typedef u64 (*btf_bpf_xdp_check_mtu)(struct xdp_buff *, u32, u32 *, s32, u64); + +typedef u64 (*btf_bpf_xdp_event_output)(struct xdp_buff *, struct bpf_map *, u64, void *, u64); + +typedef u64 (*btf_bpf_xdp_fib_lookup)(struct xdp_buff *, struct bpf_fib_lookup *, int, u32); + +typedef u64 (*btf_bpf_xdp_get_buff_len)(struct xdp_buff *); + +typedef u64 (*btf_bpf_xdp_load_bytes)(struct xdp_buff *, u32, void *, u32); + +typedef u64 (*btf_bpf_xdp_redirect)(u32, u64); + +typedef u64 (*btf_bpf_xdp_redirect_map)(struct bpf_map *, u64, u64); + +typedef u64 (*btf_bpf_xdp_sk_lookup_tcp)(struct xdp_buff *, struct bpf_sock_tuple *, u32, u32, u64); + +typedef u64 (*btf_bpf_xdp_sk_lookup_udp)(struct xdp_buff *, struct bpf_sock_tuple *, u32, u32, u64); + +typedef u64 (*btf_bpf_xdp_skc_lookup_tcp)(struct xdp_buff *, struct bpf_sock_tuple *, u32, u32, u64); + +typedef u64 (*btf_bpf_xdp_store_bytes)(struct xdp_buff *, u32, void *, u32); + +typedef u64 (*btf_get_func_arg)(void *, u32, u64 *); + +typedef u64 (*btf_get_func_arg_cnt)(void *); + +typedef u64 (*btf_get_func_ret)(void *, u64 *); + +typedef u64 (*btf_sk_reuseport_load_bytes)(const struct sk_reuseport_kern *, u32, void *, u32); + +typedef u64 (*btf_sk_reuseport_load_bytes_relative)(const struct sk_reuseport_kern *, u32, void *, u32, u32); + +typedef u64 (*btf_sk_select_reuseport)(struct sk_reuseport_kern *, struct bpf_map *, void *, u32); + +typedef u64 (*btf_sk_skb_adjust_room)(struct sk_buff *, s32, u32, u64); + +typedef u64 (*btf_sk_skb_change_head)(struct sk_buff *, u32, u64); + +typedef u64 (*btf_sk_skb_change_tail)(struct sk_buff *, u32, u64); + +typedef u64 (*btf_sk_skb_pull_data)(struct sk_buff *, u32); + +typedef void (*btf_trace_ack_update_msk)(void *, u64, u64, u64, u64, u64); + +typedef void (*btf_trace_add_device_to_group)(void *, int, struct device *); + +typedef void (*btf_trace_aer_event)(void *, const char *, const u32, const u8, const u8, struct pcie_tlp_log *); + +typedef void (*btf_trace_alarmtimer_cancel)(void *, struct alarm *, ktime_t); + +typedef void (*btf_trace_alarmtimer_fired)(void *, struct alarm *, ktime_t); + +typedef void (*btf_trace_alarmtimer_start)(void *, struct alarm *, ktime_t); + +typedef void (*btf_trace_alarmtimer_suspend)(void *, ktime_t, int); + +typedef void (*btf_trace_alloc_vmap_area)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, int); + +typedef void (*btf_trace_amd_pstate_epp_perf)(void *, unsigned int, u8, u8, u8, u8, bool, bool); + +typedef void (*btf_trace_amd_pstate_perf)(void *, u8, u8, u8, u64, u64, u64, u64, unsigned int, bool); + +typedef void (*btf_trace_arm_event)(void *, const struct cper_sec_proc_arm *, const u8 *, const u32, const u8 *, const u32, const u8 *, const u32, u8, int); + +typedef void (*btf_trace_ata_bmdma_setup)(void *, struct ata_port *, const struct ata_taskfile *, unsigned int); + +typedef void (*btf_trace_ata_bmdma_start)(void *, struct ata_port *, const struct ata_taskfile *, unsigned int); + +typedef void (*btf_trace_ata_bmdma_status)(void *, struct ata_port *, unsigned int); + +typedef void (*btf_trace_ata_bmdma_stop)(void *, struct ata_port *, const struct ata_taskfile *, unsigned int); + +typedef void (*btf_trace_ata_eh_about_to_do)(void *, struct ata_link *, unsigned int, unsigned int); + +typedef void (*btf_trace_ata_eh_done)(void *, struct ata_link *, unsigned int, unsigned int); + +typedef void (*btf_trace_ata_eh_link_autopsy)(void *, struct ata_device *, unsigned int, unsigned int); + +typedef void (*btf_trace_ata_eh_link_autopsy_qc)(void *, struct ata_queued_cmd *); + +typedef void (*btf_trace_ata_exec_command)(void *, struct ata_port *, const struct ata_taskfile *, unsigned int); + +typedef void (*btf_trace_ata_link_hardreset_begin)(void *, struct ata_link *, unsigned int *, long unsigned int); + +typedef void (*btf_trace_ata_link_hardreset_end)(void *, struct ata_link *, unsigned int *, int); + +typedef void (*btf_trace_ata_link_postreset)(void *, struct ata_link *, unsigned int *, int); + +typedef void (*btf_trace_ata_link_softreset_begin)(void *, struct ata_link *, unsigned int *, long unsigned int); + +typedef void (*btf_trace_ata_link_softreset_end)(void *, struct ata_link *, unsigned int *, int); + +typedef void (*btf_trace_ata_port_freeze)(void *, struct ata_port *); + +typedef void (*btf_trace_ata_port_thaw)(void *, struct ata_port *); + +typedef void (*btf_trace_ata_qc_complete_done)(void *, struct ata_queued_cmd *); + +typedef void (*btf_trace_ata_qc_complete_failed)(void *, struct ata_queued_cmd *); + +typedef void (*btf_trace_ata_qc_complete_internal)(void *, struct ata_queued_cmd *); + +typedef void (*btf_trace_ata_qc_issue)(void *, struct ata_queued_cmd *); + +typedef void (*btf_trace_ata_qc_prep)(void *, struct ata_queued_cmd *); + +typedef void (*btf_trace_ata_sff_flush_pio_task)(void *, struct ata_port *); + +typedef void (*btf_trace_ata_sff_hsm_command_complete)(void *, struct ata_queued_cmd *, unsigned char); + +typedef void (*btf_trace_ata_sff_hsm_state)(void *, struct ata_queued_cmd *, unsigned char); + +typedef void (*btf_trace_ata_sff_pio_transfer_data)(void *, struct ata_queued_cmd *, unsigned int, unsigned int); + +typedef void (*btf_trace_ata_sff_port_intr)(void *, struct ata_queued_cmd *, unsigned char); + +typedef void (*btf_trace_ata_slave_hardreset_begin)(void *, struct ata_link *, unsigned int *, long unsigned int); + +typedef void (*btf_trace_ata_slave_hardreset_end)(void *, struct ata_link *, unsigned int *, int); + +typedef void (*btf_trace_ata_slave_postreset)(void *, struct ata_link *, unsigned int *, int); + +typedef void (*btf_trace_ata_std_sched_eh)(void *, struct ata_port *); + +typedef void (*btf_trace_ata_tf_load)(void *, struct ata_port *, const struct ata_taskfile *); + +typedef void (*btf_trace_atapi_pio_transfer_data)(void *, struct ata_queued_cmd *, unsigned int, unsigned int); + +typedef void (*btf_trace_atapi_send_cdb)(void *, struct ata_queued_cmd *, unsigned int, unsigned int); + +typedef void (*btf_trace_attach_device_to_domain)(void *, struct device *); + +typedef void (*btf_trace_balance_dirty_pages)(void *, struct bdi_writeback *, struct dirty_throttle_control *, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long int, long unsigned int); + +typedef void (*btf_trace_bdi_dirty_ratelimit)(void *, struct bdi_writeback *, long unsigned int, long unsigned int); + +typedef void (*btf_trace_blk_zone_append_update_request_bio)(void *, struct request *); + +typedef void (*btf_trace_blk_zone_wplug_bio)(void *, struct request_queue *, unsigned int, sector_t, unsigned int); + +typedef void (*btf_trace_blkdev_zone_mgmt)(void *, struct bio *, sector_t); + +typedef void (*btf_trace_block_bio_backmerge)(void *, struct bio *); + +typedef void (*btf_trace_block_bio_complete)(void *, struct request_queue *, struct bio *); + +typedef void (*btf_trace_block_bio_frontmerge)(void *, struct bio *); + +typedef void (*btf_trace_block_bio_queue)(void *, struct bio *); + +typedef void (*btf_trace_block_bio_remap)(void *, struct bio *, dev_t, sector_t); + +typedef void (*btf_trace_block_dirty_buffer)(void *, struct buffer_head *); + +typedef void (*btf_trace_block_getrq)(void *, struct bio *); + +typedef void (*btf_trace_block_io_done)(void *, struct request *); + +typedef void (*btf_trace_block_io_start)(void *, struct request *); + +typedef void (*btf_trace_block_plug)(void *, struct request_queue *); + +typedef void (*btf_trace_block_rq_complete)(void *, struct request *, blk_status_t, unsigned int); + +typedef void (*btf_trace_block_rq_error)(void *, struct request *, blk_status_t, unsigned int); + +typedef void (*btf_trace_block_rq_insert)(void *, struct request *); + +typedef void (*btf_trace_block_rq_issue)(void *, struct request *); + +typedef void (*btf_trace_block_rq_merge)(void *, struct request *); + +typedef void (*btf_trace_block_rq_remap)(void *, struct request *, dev_t, sector_t); + +typedef void (*btf_trace_block_rq_requeue)(void *, struct request *); + +typedef void (*btf_trace_block_split)(void *, struct bio *, unsigned int); + +typedef void (*btf_trace_block_touch_buffer)(void *, struct buffer_head *); + +typedef void (*btf_trace_block_unplug)(void *, struct request_queue *, unsigned int, bool); + +typedef void (*btf_trace_bpf_test_finish)(void *, int *); + +typedef void (*btf_trace_bpf_trace_printk)(void *, const char *); + +typedef void (*btf_trace_bpf_trigger_tp)(void *, int); + +typedef void (*btf_trace_bpf_xdp_link_attach_failed)(void *, const char *); + +typedef void (*btf_trace_br_fdb_add)(void *, struct ndmsg *, struct net_device *, const unsigned char *, u16, u16); + +typedef void (*btf_trace_br_fdb_external_learn_add)(void *, struct net_bridge *, struct net_bridge_port *, const unsigned char *, u16); + +typedef void (*btf_trace_br_fdb_update)(void *, struct net_bridge *, struct net_bridge_port *, const unsigned char *, u16, long unsigned int); + +typedef void (*btf_trace_br_mdb_full)(void *, const struct net_device *, const struct br_ip *); + +typedef void (*btf_trace_break_lease_block)(void *, struct inode *, struct file_lease *); + +typedef void (*btf_trace_break_lease_noblock)(void *, struct inode *, struct file_lease *); + +typedef void (*btf_trace_break_lease_unblock)(void *, struct inode *, struct file_lease *); + +typedef void (*btf_trace_cache_tag_assign)(void *, struct cache_tag *); + +typedef void (*btf_trace_cache_tag_flush_range)(void *, struct cache_tag *, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int); + +typedef void (*btf_trace_cache_tag_flush_range_np)(void *, struct cache_tag *, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int); + +typedef void (*btf_trace_cache_tag_unassign)(void *, struct cache_tag *); + +typedef void (*btf_trace_call_function_entry)(void *, int); + +typedef void (*btf_trace_call_function_exit)(void *, int); + +typedef void (*btf_trace_call_function_single_entry)(void *, int); + +typedef void (*btf_trace_call_function_single_exit)(void *, int); + +typedef void (*btf_trace_cap_capable)(void *, const struct cred *, struct user_namespace *, const struct user_namespace *, int, int); + +typedef void (*btf_trace_cdev_update)(void *, struct thermal_cooling_device *, long unsigned int); + +typedef void (*btf_trace_cgroup_attach_task)(void *, struct cgroup *, const char *, struct task_struct *, bool); + +typedef void (*btf_trace_cgroup_destroy_root)(void *, struct cgroup_root *); + +typedef void (*btf_trace_cgroup_freeze)(void *, struct cgroup *, const char *); + +typedef void (*btf_trace_cgroup_mkdir)(void *, struct cgroup *, const char *); + +typedef void (*btf_trace_cgroup_notify_frozen)(void *, struct cgroup *, const char *, int); + +typedef void (*btf_trace_cgroup_notify_populated)(void *, struct cgroup *, const char *, int); + +typedef void (*btf_trace_cgroup_release)(void *, struct cgroup *, const char *); + +typedef void (*btf_trace_cgroup_remount)(void *, struct cgroup_root *); + +typedef void (*btf_trace_cgroup_rename)(void *, struct cgroup *, const char *); + +typedef void (*btf_trace_cgroup_rmdir)(void *, struct cgroup *, const char *); + +typedef void (*btf_trace_cgroup_rstat_lock_contended)(void *, struct cgroup *, int, bool); + +typedef void (*btf_trace_cgroup_rstat_locked)(void *, struct cgroup *, int, bool); + +typedef void (*btf_trace_cgroup_rstat_unlock)(void *, struct cgroup *, int, bool); + +typedef void (*btf_trace_cgroup_setup_root)(void *, struct cgroup_root *); + +typedef void (*btf_trace_cgroup_transfer_tasks)(void *, struct cgroup *, const char *, struct task_struct *, bool); + +typedef void (*btf_trace_cgroup_unfreeze)(void *, struct cgroup *, const char *); + +typedef void (*btf_trace_clk_disable)(void *, struct clk_core *); + +typedef void (*btf_trace_clk_disable_complete)(void *, struct clk_core *); + +typedef void (*btf_trace_clk_enable)(void *, struct clk_core *); + +typedef void (*btf_trace_clk_enable_complete)(void *, struct clk_core *); + +typedef void (*btf_trace_clk_prepare)(void *, struct clk_core *); + +typedef void (*btf_trace_clk_prepare_complete)(void *, struct clk_core *); + +typedef void (*btf_trace_clk_rate_request_done)(void *, struct clk_rate_request *); + +typedef void (*btf_trace_clk_rate_request_start)(void *, struct clk_rate_request *); + +typedef void (*btf_trace_clk_set_duty_cycle)(void *, struct clk_core *, struct clk_duty *); + +typedef void (*btf_trace_clk_set_duty_cycle_complete)(void *, struct clk_core *, struct clk_duty *); + +typedef void (*btf_trace_clk_set_max_rate)(void *, struct clk_core *, long unsigned int); + +typedef void (*btf_trace_clk_set_min_rate)(void *, struct clk_core *, long unsigned int); + +typedef void (*btf_trace_clk_set_parent)(void *, struct clk_core *, struct clk_core *); + +typedef void (*btf_trace_clk_set_parent_complete)(void *, struct clk_core *, struct clk_core *); + +typedef void (*btf_trace_clk_set_phase)(void *, struct clk_core *, int); + +typedef void (*btf_trace_clk_set_phase_complete)(void *, struct clk_core *, int); + +typedef void (*btf_trace_clk_set_rate)(void *, struct clk_core *, long unsigned int); + +typedef void (*btf_trace_clk_set_rate_complete)(void *, struct clk_core *, long unsigned int); + +typedef void (*btf_trace_clk_set_rate_range)(void *, struct clk_core *, long unsigned int, long unsigned int); + +typedef void (*btf_trace_clk_unprepare)(void *, struct clk_core *); + +typedef void (*btf_trace_clk_unprepare_complete)(void *, struct clk_core *); + +typedef void (*btf_trace_cma_alloc_busy_retry)(void *, const char *, long unsigned int, const struct page *, long unsigned int, unsigned int); + +typedef void (*btf_trace_cma_alloc_finish)(void *, const char *, long unsigned int, const struct page *, long unsigned int, unsigned int, int); + +typedef void (*btf_trace_cma_alloc_start)(void *, const char *, long unsigned int, unsigned int); + +typedef void (*btf_trace_cma_release)(void *, const char *, long unsigned int, const struct page *, long unsigned int); + +typedef void (*btf_trace_compact_retry)(void *, int, enum compact_priority, enum compact_result, int, int, bool); + +typedef void (*btf_trace_console)(void *, const char *, size_t); + +typedef void (*btf_trace_consume_skb)(void *, struct sk_buff *, void *); + +typedef void (*btf_trace_contention_begin)(void *, void *, unsigned int); + +typedef void (*btf_trace_contention_end)(void *, void *, int); + +typedef void (*btf_trace_count_memcg_events)(void *, struct mem_cgroup *, int, long unsigned int); + +typedef void (*btf_trace_cpu_frequency)(void *, unsigned int, unsigned int); + +typedef void (*btf_trace_cpu_frequency_limits)(void *, struct cpufreq_policy *); + +typedef void (*btf_trace_cpu_idle)(void *, unsigned int, unsigned int); + +typedef void (*btf_trace_cpu_idle_miss)(void *, unsigned int, unsigned int, bool); + +typedef void (*btf_trace_cpuhp_enter)(void *, unsigned int, int, int, int (*)(unsigned int)); + +typedef void (*btf_trace_cpuhp_exit)(void *, unsigned int, int, int, int); + +typedef void (*btf_trace_cpuhp_multi_enter)(void *, unsigned int, int, int, int (*)(unsigned int, struct hlist_node *), struct hlist_node *); + +typedef void (*btf_trace_csd_function_entry)(void *, smp_call_func_t, call_single_data_t *); + +typedef void (*btf_trace_csd_function_exit)(void *, smp_call_func_t, call_single_data_t *); + +typedef void (*btf_trace_csd_queue_cpu)(void *, const unsigned int, long unsigned int, smp_call_func_t, call_single_data_t *); + +typedef void (*btf_trace_ctime_ns_xchg)(void *, struct inode *, u32, u32, u32); + +typedef void (*btf_trace_ctime_xchg_skip)(void *, struct inode *, struct timespec64 *); + +typedef void (*btf_trace_dax_insert_pfn_mkwrite)(void *, struct inode *, struct vm_fault *, int); + +typedef void (*btf_trace_dax_insert_pfn_mkwrite_no_entry)(void *, struct inode *, struct vm_fault *, int); + +typedef void (*btf_trace_dax_load_hole)(void *, struct inode *, struct vm_fault *, int); + +typedef void (*btf_trace_dax_pmd_fault)(void *, struct inode *, struct vm_fault *, long unsigned int, int); + +typedef void (*btf_trace_dax_pmd_fault_done)(void *, struct inode *, struct vm_fault *, long unsigned int, int); + +typedef void (*btf_trace_dax_pmd_load_hole)(void *, struct inode *, struct vm_fault *, struct folio *, void *); + +typedef void (*btf_trace_dax_pmd_load_hole_fallback)(void *, struct inode *, struct vm_fault *, struct folio *, void *); + +typedef void (*btf_trace_dax_pte_fault)(void *, struct inode *, struct vm_fault *, int); + +typedef void (*btf_trace_dax_pte_fault_done)(void *, struct inode *, struct vm_fault *, int); + +typedef void (*btf_trace_dax_writeback_one)(void *, struct inode *, long unsigned int, long unsigned int); + +typedef void (*btf_trace_dax_writeback_range)(void *, struct inode *, long unsigned int, long unsigned int); + +typedef void (*btf_trace_dax_writeback_range_done)(void *, struct inode *, long unsigned int, long unsigned int); + +typedef void (*btf_trace_deferred_error_apic_entry)(void *, int); + +typedef void (*btf_trace_deferred_error_apic_exit)(void *, int); + +typedef void (*btf_trace_dev_pm_qos_add_request)(void *, const char *, enum dev_pm_qos_req_type, s32); + +typedef void (*btf_trace_dev_pm_qos_remove_request)(void *, const char *, enum dev_pm_qos_req_type, s32); + +typedef void (*btf_trace_dev_pm_qos_update_request)(void *, const char *, enum dev_pm_qos_req_type, s32); + +typedef void (*btf_trace_devfreq_frequency)(void *, struct devfreq *, long unsigned int, long unsigned int); + +typedef void (*btf_trace_devfreq_monitor)(void *, struct devfreq *); + +typedef void (*btf_trace_device_pm_callback_end)(void *, struct device *, int); + +typedef void (*btf_trace_device_pm_callback_start)(void *, struct device *, const char *, int); + +typedef void (*btf_trace_devlink_health_recover_aborted)(void *, const struct devlink *, const char *, bool, u64); + +typedef void (*btf_trace_devlink_health_report)(void *, const struct devlink *, const char *, const char *); + +typedef void (*btf_trace_devlink_health_reporter_state_update)(void *, const struct devlink *, const char *, bool); + +typedef void (*btf_trace_devlink_hwerr)(void *, const struct devlink *, int, const char *); + +typedef void (*btf_trace_devlink_hwmsg)(void *, const struct devlink *, bool, long unsigned int, const u8 *, size_t); + +typedef void (*btf_trace_devlink_trap_report)(void *, const struct devlink *, struct sk_buff *, const struct devlink_trap_metadata *); + +typedef void (*btf_trace_devres_log)(void *, struct device *, const char *, void *, const char *, size_t); + +typedef void (*btf_trace_disk_zone_wplug_add_bio)(void *, struct request_queue *, unsigned int, sector_t, unsigned int); + +typedef void (*btf_trace_dma_alloc)(void *, struct device *, void *, dma_addr_t, size_t, enum dma_data_direction, gfp_t, long unsigned int); + +typedef void (*btf_trace_dma_alloc_pages)(void *, struct device *, void *, dma_addr_t, size_t, enum dma_data_direction, gfp_t, long unsigned int); + +typedef void (*btf_trace_dma_alloc_sgt)(void *, struct device *, struct sg_table *, size_t, enum dma_data_direction, gfp_t, long unsigned int); + +typedef void (*btf_trace_dma_alloc_sgt_err)(void *, struct device *, void *, dma_addr_t, size_t, enum dma_data_direction, gfp_t, long unsigned int); + +typedef void (*btf_trace_dma_fence_destroy)(void *, struct dma_fence *); + +typedef void (*btf_trace_dma_fence_emit)(void *, struct dma_fence *); + +typedef void (*btf_trace_dma_fence_enable_signal)(void *, struct dma_fence *); + +typedef void (*btf_trace_dma_fence_init)(void *, struct dma_fence *); + +typedef void (*btf_trace_dma_fence_signaled)(void *, struct dma_fence *); + +typedef void (*btf_trace_dma_fence_wait_end)(void *, struct dma_fence *); + +typedef void (*btf_trace_dma_fence_wait_start)(void *, struct dma_fence *); + +typedef void (*btf_trace_dma_free)(void *, struct device *, void *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int); + +typedef void (*btf_trace_dma_free_pages)(void *, struct device *, void *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int); + +typedef void (*btf_trace_dma_free_sgt)(void *, struct device *, struct sg_table *, size_t, enum dma_data_direction); + +typedef void (*btf_trace_dma_map_page)(void *, struct device *, phys_addr_t, dma_addr_t, size_t, enum dma_data_direction, long unsigned int); + +typedef void (*btf_trace_dma_map_resource)(void *, struct device *, phys_addr_t, dma_addr_t, size_t, enum dma_data_direction, long unsigned int); + +typedef void (*btf_trace_dma_map_sg)(void *, struct device *, struct scatterlist *, int, int, enum dma_data_direction, long unsigned int); + +typedef void (*btf_trace_dma_map_sg_err)(void *, struct device *, struct scatterlist *, int, int, enum dma_data_direction, long unsigned int); + +typedef void (*btf_trace_dma_sync_sg_for_cpu)(void *, struct device *, struct scatterlist *, int, enum dma_data_direction); + +typedef void (*btf_trace_dma_sync_sg_for_device)(void *, struct device *, struct scatterlist *, int, enum dma_data_direction); + +typedef void (*btf_trace_dma_sync_single_for_cpu)(void *, struct device *, dma_addr_t, size_t, enum dma_data_direction); + +typedef void (*btf_trace_dma_sync_single_for_device)(void *, struct device *, dma_addr_t, size_t, enum dma_data_direction); + +typedef void (*btf_trace_dma_unmap_page)(void *, struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int); + +typedef void (*btf_trace_dma_unmap_resource)(void *, struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int); + +typedef void (*btf_trace_dma_unmap_sg)(void *, struct device *, struct scatterlist *, int, enum dma_data_direction, long unsigned int); + +typedef void (*btf_trace_dql_stall_detected)(void *, short unsigned int, unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int *); + +typedef void (*btf_trace_drm_vblank_event)(void *, int, unsigned int, ktime_t, bool); + +typedef void (*btf_trace_drm_vblank_event_delivered)(void *, struct drm_file *, int, unsigned int); + +typedef void (*btf_trace_drm_vblank_event_queued)(void *, struct drm_file *, int, unsigned int); + +typedef void (*btf_trace_emulate_vsyscall)(void *, int); + +typedef void (*btf_trace_error_apic_entry)(void *, int); + +typedef void (*btf_trace_error_apic_exit)(void *, int); + +typedef void (*btf_trace_error_report_end)(void *, enum error_detector, long unsigned int); + +typedef void (*btf_trace_error_wwnr)(void *, int, char *, char *); + +typedef void (*btf_trace_event_wwnr)(void *, int, char *, char *, char *, bool); + +typedef void (*btf_trace_exit_mmap)(void *, struct mm_struct *); + +typedef void (*btf_trace_ext4_alloc_da_blocks)(void *, struct inode *); + +typedef void (*btf_trace_ext4_allocate_blocks)(void *, struct ext4_allocation_request *, long long unsigned int); + +typedef void (*btf_trace_ext4_allocate_inode)(void *, struct inode *, struct inode *, int); + +typedef void (*btf_trace_ext4_begin_ordered_truncate)(void *, struct inode *, loff_t); + +typedef void (*btf_trace_ext4_collapse_range)(void *, struct inode *, loff_t, loff_t); + +typedef void (*btf_trace_ext4_da_release_space)(void *, struct inode *, int); + +typedef void (*btf_trace_ext4_da_reserve_space)(void *, struct inode *, int); + +typedef void (*btf_trace_ext4_da_update_reserve_space)(void *, struct inode *, int, int); + +typedef void (*btf_trace_ext4_da_write_begin)(void *, struct inode *, loff_t, unsigned int); + +typedef void (*btf_trace_ext4_da_write_end)(void *, struct inode *, loff_t, unsigned int, unsigned int); + +typedef void (*btf_trace_ext4_da_write_folios_end)(void *, struct inode *, loff_t, loff_t, struct writeback_control *, int); + +typedef void (*btf_trace_ext4_da_write_folios_start)(void *, struct inode *, loff_t, loff_t, struct writeback_control *); + +typedef void (*btf_trace_ext4_da_write_pages_extent)(void *, struct inode *, struct ext4_map_blocks *); + +typedef void (*btf_trace_ext4_discard_blocks)(void *, struct super_block *, long long unsigned int, long long unsigned int); + +typedef void (*btf_trace_ext4_discard_preallocations)(void *, struct inode *, unsigned int); + +typedef void (*btf_trace_ext4_drop_inode)(void *, struct inode *, int); + +typedef void (*btf_trace_ext4_error)(void *, struct super_block *, const char *, unsigned int); + +typedef void (*btf_trace_ext4_es_cache_extent)(void *, struct inode *, struct extent_status *); + +typedef void (*btf_trace_ext4_es_find_extent_range_enter)(void *, struct inode *, ext4_lblk_t); + +typedef void (*btf_trace_ext4_es_find_extent_range_exit)(void *, struct inode *, struct extent_status *); + +typedef void (*btf_trace_ext4_es_insert_delayed_extent)(void *, struct inode *, struct extent_status *, bool, bool); + +typedef void (*btf_trace_ext4_es_insert_extent)(void *, struct inode *, struct extent_status *); + +typedef void (*btf_trace_ext4_es_lookup_extent_enter)(void *, struct inode *, ext4_lblk_t); + +typedef void (*btf_trace_ext4_es_lookup_extent_exit)(void *, struct inode *, struct extent_status *, int); + +typedef void (*btf_trace_ext4_es_remove_extent)(void *, struct inode *, ext4_lblk_t, ext4_lblk_t); + +typedef void (*btf_trace_ext4_es_shrink)(void *, struct super_block *, int, u64, int, int); + +typedef void (*btf_trace_ext4_es_shrink_count)(void *, struct super_block *, int, int); + +typedef void (*btf_trace_ext4_es_shrink_scan_enter)(void *, struct super_block *, int, int); + +typedef void (*btf_trace_ext4_es_shrink_scan_exit)(void *, struct super_block *, int, int); + +typedef void (*btf_trace_ext4_evict_inode)(void *, struct inode *); + +typedef void (*btf_trace_ext4_ext_convert_to_initialized_enter)(void *, struct inode *, struct ext4_map_blocks *, struct ext4_extent *); + +typedef void (*btf_trace_ext4_ext_convert_to_initialized_fastpath)(void *, struct inode *, struct ext4_map_blocks *, struct ext4_extent *, struct ext4_extent *); + +typedef void (*btf_trace_ext4_ext_handle_unwritten_extents)(void *, struct inode *, struct ext4_map_blocks *, int, unsigned int, ext4_fsblk_t); + +typedef void (*btf_trace_ext4_ext_load_extent)(void *, struct inode *, ext4_lblk_t, ext4_fsblk_t); + +typedef void (*btf_trace_ext4_ext_map_blocks_enter)(void *, struct inode *, ext4_lblk_t, unsigned int, unsigned int); + +typedef void (*btf_trace_ext4_ext_map_blocks_exit)(void *, struct inode *, unsigned int, struct ext4_map_blocks *, int); + +typedef void (*btf_trace_ext4_ext_remove_space)(void *, struct inode *, ext4_lblk_t, ext4_lblk_t, int); + +typedef void (*btf_trace_ext4_ext_remove_space_done)(void *, struct inode *, ext4_lblk_t, ext4_lblk_t, int, struct partial_cluster *, __le16); + +typedef void (*btf_trace_ext4_ext_rm_idx)(void *, struct inode *, ext4_fsblk_t); + +typedef void (*btf_trace_ext4_ext_rm_leaf)(void *, struct inode *, ext4_lblk_t, struct ext4_extent *, struct partial_cluster *); + +typedef void (*btf_trace_ext4_ext_show_extent)(void *, struct inode *, ext4_lblk_t, ext4_fsblk_t, short unsigned int); + +typedef void (*btf_trace_ext4_fallocate_enter)(void *, struct inode *, loff_t, loff_t, int); + +typedef void (*btf_trace_ext4_fallocate_exit)(void *, struct inode *, loff_t, unsigned int, int); + +typedef void (*btf_trace_ext4_fc_cleanup)(void *, journal_t *, int, tid_t); + +typedef void (*btf_trace_ext4_fc_commit_start)(void *, struct super_block *, tid_t); + +typedef void (*btf_trace_ext4_fc_commit_stop)(void *, struct super_block *, int, int, tid_t); + +typedef void (*btf_trace_ext4_fc_replay)(void *, struct super_block *, int, int, int, int); + +typedef void (*btf_trace_ext4_fc_replay_scan)(void *, struct super_block *, int, int); + +typedef void (*btf_trace_ext4_fc_stats)(void *, struct super_block *); + +typedef void (*btf_trace_ext4_fc_track_create)(void *, handle_t *, struct inode *, struct dentry *, int); + +typedef void (*btf_trace_ext4_fc_track_inode)(void *, handle_t *, struct inode *, int); + +typedef void (*btf_trace_ext4_fc_track_link)(void *, handle_t *, struct inode *, struct dentry *, int); + +typedef void (*btf_trace_ext4_fc_track_range)(void *, handle_t *, struct inode *, long int, long int, int); + +typedef void (*btf_trace_ext4_fc_track_unlink)(void *, handle_t *, struct inode *, struct dentry *, int); + +typedef void (*btf_trace_ext4_forget)(void *, struct inode *, int, __u64); + +typedef void (*btf_trace_ext4_free_blocks)(void *, struct inode *, __u64, long unsigned int, int); + +typedef void (*btf_trace_ext4_free_inode)(void *, struct inode *); + +typedef void (*btf_trace_ext4_fsmap_high_key)(void *, struct super_block *, u32, u32, u64, u64, u64); + +typedef void (*btf_trace_ext4_fsmap_low_key)(void *, struct super_block *, u32, u32, u64, u64, u64); + +typedef void (*btf_trace_ext4_fsmap_mapping)(void *, struct super_block *, u32, u32, u64, u64, u64); + +typedef void (*btf_trace_ext4_get_implied_cluster_alloc_exit)(void *, struct super_block *, struct ext4_map_blocks *, int); + +typedef void (*btf_trace_ext4_getfsmap_high_key)(void *, struct super_block *, struct ext4_fsmap *); + +typedef void (*btf_trace_ext4_getfsmap_low_key)(void *, struct super_block *, struct ext4_fsmap *); + +typedef void (*btf_trace_ext4_getfsmap_mapping)(void *, struct super_block *, struct ext4_fsmap *); + +typedef void (*btf_trace_ext4_ind_map_blocks_enter)(void *, struct inode *, ext4_lblk_t, unsigned int, unsigned int); + +typedef void (*btf_trace_ext4_ind_map_blocks_exit)(void *, struct inode *, unsigned int, struct ext4_map_blocks *, int); + +typedef void (*btf_trace_ext4_insert_range)(void *, struct inode *, loff_t, loff_t); + +typedef void (*btf_trace_ext4_invalidate_folio)(void *, struct folio *, size_t, size_t); + +typedef void (*btf_trace_ext4_journal_start_inode)(void *, struct inode *, int, int, int, int, long unsigned int); + +typedef void (*btf_trace_ext4_journal_start_reserved)(void *, struct super_block *, int, long unsigned int); + +typedef void (*btf_trace_ext4_journal_start_sb)(void *, struct super_block *, int, int, int, int, long unsigned int); + +typedef void (*btf_trace_ext4_journalled_invalidate_folio)(void *, struct folio *, size_t, size_t); + +typedef void (*btf_trace_ext4_journalled_write_end)(void *, struct inode *, loff_t, unsigned int, unsigned int); + +typedef void (*btf_trace_ext4_lazy_itable_init)(void *, struct super_block *, ext4_group_t); + +typedef void (*btf_trace_ext4_load_inode)(void *, struct super_block *, long unsigned int); + +typedef void (*btf_trace_ext4_load_inode_bitmap)(void *, struct super_block *, long unsigned int); + +typedef void (*btf_trace_ext4_mark_inode_dirty)(void *, struct inode *, long unsigned int); + +typedef void (*btf_trace_ext4_mb_bitmap_load)(void *, struct super_block *, long unsigned int); + +typedef void (*btf_trace_ext4_mb_buddy_bitmap_load)(void *, struct super_block *, long unsigned int); + +typedef void (*btf_trace_ext4_mb_discard_preallocations)(void *, struct super_block *, int); + +typedef void (*btf_trace_ext4_mb_new_group_pa)(void *, struct ext4_allocation_context *, struct ext4_prealloc_space *); + +typedef void (*btf_trace_ext4_mb_new_inode_pa)(void *, struct ext4_allocation_context *, struct ext4_prealloc_space *); + +typedef void (*btf_trace_ext4_mb_release_group_pa)(void *, struct super_block *, struct ext4_prealloc_space *); + +typedef void (*btf_trace_ext4_mb_release_inode_pa)(void *, struct ext4_prealloc_space *, long long unsigned int, unsigned int); + +typedef void (*btf_trace_ext4_mballoc_alloc)(void *, struct ext4_allocation_context *); + +typedef void (*btf_trace_ext4_mballoc_discard)(void *, struct super_block *, struct inode *, ext4_group_t, ext4_grpblk_t, ext4_grpblk_t); + +typedef void (*btf_trace_ext4_mballoc_free)(void *, struct super_block *, struct inode *, ext4_group_t, ext4_grpblk_t, ext4_grpblk_t); + +typedef void (*btf_trace_ext4_mballoc_prealloc)(void *, struct ext4_allocation_context *); + +typedef void (*btf_trace_ext4_nfs_commit_metadata)(void *, struct inode *); + +typedef void (*btf_trace_ext4_other_inode_update_time)(void *, struct inode *, ino_t); + +typedef void (*btf_trace_ext4_prefetch_bitmaps)(void *, struct super_block *, ext4_group_t, ext4_group_t, unsigned int); + +typedef void (*btf_trace_ext4_punch_hole)(void *, struct inode *, loff_t, loff_t, int); + +typedef void (*btf_trace_ext4_read_block_bitmap_load)(void *, struct super_block *, long unsigned int, bool); + +typedef void (*btf_trace_ext4_read_folio)(void *, struct inode *, struct folio *); + +typedef void (*btf_trace_ext4_release_folio)(void *, struct inode *, struct folio *); + +typedef void (*btf_trace_ext4_remove_blocks)(void *, struct inode *, struct ext4_extent *, ext4_lblk_t, ext4_fsblk_t, struct partial_cluster *); + +typedef void (*btf_trace_ext4_request_blocks)(void *, struct ext4_allocation_request *); + +typedef void (*btf_trace_ext4_request_inode)(void *, struct inode *, int); + +typedef void (*btf_trace_ext4_shutdown)(void *, struct super_block *, long unsigned int); + +typedef void (*btf_trace_ext4_sync_file_enter)(void *, struct file *, int); + +typedef void (*btf_trace_ext4_sync_file_exit)(void *, struct inode *, int); + +typedef void (*btf_trace_ext4_sync_fs)(void *, struct super_block *, int); + +typedef void (*btf_trace_ext4_trim_all_free)(void *, struct super_block *, ext4_group_t, ext4_grpblk_t, ext4_grpblk_t); + +typedef void (*btf_trace_ext4_trim_extent)(void *, struct super_block *, ext4_group_t, ext4_grpblk_t, ext4_grpblk_t); + +typedef void (*btf_trace_ext4_truncate_enter)(void *, struct inode *); + +typedef void (*btf_trace_ext4_truncate_exit)(void *, struct inode *); + +typedef void (*btf_trace_ext4_unlink_enter)(void *, struct inode *, struct dentry *); + +typedef void (*btf_trace_ext4_unlink_exit)(void *, struct dentry *, int); + +typedef void (*btf_trace_ext4_update_sb)(void *, struct super_block *, ext4_fsblk_t, unsigned int); + +typedef void (*btf_trace_ext4_write_begin)(void *, struct inode *, loff_t, unsigned int); + +typedef void (*btf_trace_ext4_write_end)(void *, struct inode *, loff_t, unsigned int, unsigned int); + +typedef void (*btf_trace_ext4_writepages)(void *, struct inode *, struct writeback_control *); + +typedef void (*btf_trace_ext4_writepages_result)(void *, struct inode *, struct writeback_control *, int, int); + +typedef void (*btf_trace_ext4_zero_range)(void *, struct inode *, loff_t, loff_t, int); + +typedef void (*btf_trace_extlog_mem_event)(void *, struct cper_sec_mem_err *, u32, const guid_t *, const char *, u8); + +typedef void (*btf_trace_fcntl_setlk)(void *, struct inode *, struct file_lock *, int); + +typedef void (*btf_trace_fdb_delete)(void *, struct net_bridge *, struct net_bridge_fdb_entry *); + +typedef void (*btf_trace_fib6_table_lookup)(void *, const struct net *, const struct fib6_result *, struct fib6_table *, const struct flowi6 *); + +typedef void (*btf_trace_fib_table_lookup)(void *, u32, const struct flowi4 *, const struct fib_nh_common *, int); + +typedef void (*btf_trace_file_check_and_advance_wb_err)(void *, struct file *, errseq_t); + +typedef void (*btf_trace_filemap_set_wb_err)(void *, struct address_space *, errseq_t); + +typedef void (*btf_trace_fill_mg_cmtime)(void *, struct inode *, struct timespec64 *, struct timespec64 *); + +typedef void (*btf_trace_finish_task_reaping)(void *, int); + +typedef void (*btf_trace_flock_lock_inode)(void *, struct inode *, struct file_lock *, int); + +typedef void (*btf_trace_flush_foreign)(void *, struct bdi_writeback *, unsigned int, unsigned int); + +typedef void (*btf_trace_folio_wait_writeback)(void *, struct folio *, struct address_space *); + +typedef void (*btf_trace_free_vmap_area_noflush)(void *, long unsigned int, long unsigned int, long unsigned int); + +typedef void (*btf_trace_fuse_request_end)(void *, const struct fuse_req *); + +typedef void (*btf_trace_fuse_request_send)(void *, const struct fuse_req *); + +typedef void (*btf_trace_generic_add_lease)(void *, struct inode *, struct file_lease *); + +typedef void (*btf_trace_generic_delete_lease)(void *, struct inode *, struct file_lease *); + +typedef void (*btf_trace_get_mapping_status)(void *, struct mptcp_ext *); + +typedef void (*btf_trace_global_dirty_state)(void *, long unsigned int, long unsigned int); + +typedef void (*btf_trace_gpio_direction)(void *, unsigned int, int, int); + +typedef void (*btf_trace_gpio_value)(void *, unsigned int, int, int); + +typedef void (*btf_trace_guest_halt_poll_ns)(void *, bool, unsigned int, unsigned int); + +typedef void (*btf_trace_handshake_cancel)(void *, const struct net *, const struct handshake_req *, const struct sock *); + +typedef void (*btf_trace_handshake_cancel_busy)(void *, const struct net *, const struct handshake_req *, const struct sock *); + +typedef void (*btf_trace_handshake_cancel_none)(void *, const struct net *, const struct handshake_req *, const struct sock *); + +typedef void (*btf_trace_handshake_cmd_accept)(void *, const struct net *, const struct handshake_req *, const struct sock *, int); + +typedef void (*btf_trace_handshake_cmd_accept_err)(void *, const struct net *, const struct handshake_req *, const struct sock *, int); + +typedef void (*btf_trace_handshake_cmd_done)(void *, const struct net *, const struct handshake_req *, const struct sock *, int); + +typedef void (*btf_trace_handshake_cmd_done_err)(void *, const struct net *, const struct handshake_req *, const struct sock *, int); + +typedef void (*btf_trace_handshake_complete)(void *, const struct net *, const struct handshake_req *, const struct sock *, int); + +typedef void (*btf_trace_handshake_destruct)(void *, const struct net *, const struct handshake_req *, const struct sock *); + +typedef void (*btf_trace_handshake_notify_err)(void *, const struct net *, const struct handshake_req *, const struct sock *, int); + +typedef void (*btf_trace_handshake_submit)(void *, const struct net *, const struct handshake_req *, const struct sock *); + +typedef void (*btf_trace_handshake_submit_err)(void *, const struct net *, const struct handshake_req *, const struct sock *, int); + +typedef void (*btf_trace_hrtimer_cancel)(void *, struct hrtimer *); + +typedef void (*btf_trace_hrtimer_expire_entry)(void *, struct hrtimer *, ktime_t *); + +typedef void (*btf_trace_hrtimer_expire_exit)(void *, struct hrtimer *); + +typedef void (*btf_trace_hrtimer_setup)(void *, struct hrtimer *, clockid_t, enum hrtimer_mode); + +typedef void (*btf_trace_hrtimer_start)(void *, struct hrtimer *, enum hrtimer_mode); + +typedef void (*btf_trace_hugetlbfs_alloc_inode)(void *, struct inode *, struct inode *, int); + +typedef void (*btf_trace_hugetlbfs_evict_inode)(void *, struct inode *); + +typedef void (*btf_trace_hugetlbfs_fallocate)(void *, struct inode *, int, loff_t, loff_t, int); + +typedef void (*btf_trace_hugetlbfs_free_inode)(void *, struct inode *); + +typedef void (*btf_trace_hugetlbfs_setattr)(void *, struct inode *, struct dentry *, struct iattr *); + +typedef void (*btf_trace_hwmon_attr_show)(void *, int, const char *, long int); + +typedef void (*btf_trace_hwmon_attr_show_string)(void *, int, const char *, const char *); + +typedef void (*btf_trace_hwmon_attr_store)(void *, int, const char *, long int); + +typedef void (*btf_trace_hyperv_mmu_flush_tlb_multi)(void *, const struct cpumask *, const struct flush_tlb_info *); + +typedef void (*btf_trace_hyperv_nested_flush_guest_mapping)(void *, u64, int); + +typedef void (*btf_trace_hyperv_nested_flush_guest_mapping_range)(void *, u64, int); + +typedef void (*btf_trace_hyperv_send_ipi_mask)(void *, const struct cpumask *, int); + +typedef void (*btf_trace_hyperv_send_ipi_one)(void *, int, int); + +typedef void (*btf_trace_i2c_read)(void *, const struct i2c_adapter *, const struct i2c_msg *, int); + +typedef void (*btf_trace_i2c_reply)(void *, const struct i2c_adapter *, const struct i2c_msg *, int); + +typedef void (*btf_trace_i2c_result)(void *, const struct i2c_adapter *, int, int); + +typedef void (*btf_trace_i2c_slave)(void *, const struct i2c_client *, enum i2c_slave_event, __u8 *, int); + +typedef void (*btf_trace_i2c_write)(void *, const struct i2c_adapter *, const struct i2c_msg *, int); + +typedef void (*btf_trace_icc_set_bw)(void *, struct icc_path *, struct icc_node *, int, u32, u32); + +typedef void (*btf_trace_icc_set_bw_end)(void *, struct icc_path *, int); + +typedef void (*btf_trace_icmp_send)(void *, const struct sk_buff *, int, int); + +typedef void (*btf_trace_inet_sk_error_report)(void *, const struct sock *); + +typedef void (*btf_trace_inet_sock_set_state)(void *, const struct sock *, const int, const int); + +typedef void (*btf_trace_initcall_finish)(void *, initcall_t, int); + +typedef void (*btf_trace_initcall_level)(void *, const char *); + +typedef void (*btf_trace_initcall_start)(void *, initcall_t); + +typedef void (*btf_trace_inode_foreign_history)(void *, struct inode *, struct writeback_control *, unsigned int); + +typedef void (*btf_trace_inode_set_ctime_to_ts)(void *, struct inode *, struct timespec64 *); + +typedef void (*btf_trace_inode_switch_wbs)(void *, struct inode *, struct bdi_writeback *, struct bdi_writeback *); + +typedef void (*btf_trace_io_page_fault)(void *, struct device *, long unsigned int, int); + +typedef void (*btf_trace_io_uring_complete)(void *, struct io_ring_ctx *, void *, struct io_uring_cqe *); + +typedef void (*btf_trace_io_uring_cqe_overflow)(void *, void *, long long unsigned int, s32, u32, void *); + +typedef void (*btf_trace_io_uring_cqring_wait)(void *, void *, int); + +typedef void (*btf_trace_io_uring_create)(void *, int, void *, u32, u32, u32); + +typedef void (*btf_trace_io_uring_defer)(void *, struct io_kiocb *); + +typedef void (*btf_trace_io_uring_fail_link)(void *, struct io_kiocb *, struct io_kiocb *); + +typedef void (*btf_trace_io_uring_file_get)(void *, struct io_kiocb *, int); + +typedef void (*btf_trace_io_uring_link)(void *, struct io_kiocb *, struct io_kiocb *); + +typedef void (*btf_trace_io_uring_local_work_run)(void *, void *, int, unsigned int); + +typedef void (*btf_trace_io_uring_poll_arm)(void *, struct io_kiocb *, int, int); + +typedef void (*btf_trace_io_uring_queue_async_work)(void *, struct io_kiocb *, int); + +typedef void (*btf_trace_io_uring_register)(void *, void *, unsigned int, unsigned int, unsigned int, long int); + +typedef void (*btf_trace_io_uring_req_failed)(void *, const struct io_uring_sqe *, struct io_kiocb *, int); + +typedef void (*btf_trace_io_uring_short_write)(void *, void *, u64, u64, u64); + +typedef void (*btf_trace_io_uring_submit_req)(void *, struct io_kiocb *); + +typedef void (*btf_trace_io_uring_task_add)(void *, struct io_kiocb *, int); + +typedef void (*btf_trace_io_uring_task_work_run)(void *, void *, unsigned int); + +typedef void (*btf_trace_iocost_inuse_adjust)(void *, struct ioc_gq *, const char *, struct ioc_now *, u32, u32, u64, u64); + +typedef void (*btf_trace_iocost_inuse_shortage)(void *, struct ioc_gq *, const char *, struct ioc_now *, u32, u32, u64, u64); + +typedef void (*btf_trace_iocost_inuse_transfer)(void *, struct ioc_gq *, const char *, struct ioc_now *, u32, u32, u64, u64); + +typedef void (*btf_trace_iocost_ioc_vrate_adj)(void *, struct ioc *, u64, u32 *, u32, int, int); + +typedef void (*btf_trace_iocost_iocg_activate)(void *, struct ioc_gq *, const char *, struct ioc_now *, u64, u64, u64); + +typedef void (*btf_trace_iocost_iocg_forgive_debt)(void *, struct ioc_gq *, const char *, struct ioc_now *, u32, u64, u64, u64, u64); + +typedef void (*btf_trace_iocost_iocg_idle)(void *, struct ioc_gq *, const char *, struct ioc_now *, u64, u64, u64); + +typedef void (*btf_trace_iomap_add_to_ioend)(void *, struct inode *, u64, unsigned int, struct iomap *); + +typedef void (*btf_trace_iomap_dio_complete)(void *, struct kiocb *, int, ssize_t); + +typedef void (*btf_trace_iomap_dio_invalidate_fail)(void *, struct inode *, loff_t, u64); + +typedef void (*btf_trace_iomap_dio_rw_begin)(void *, struct kiocb *, struct iov_iter *, unsigned int, size_t); + +typedef void (*btf_trace_iomap_dio_rw_queued)(void *, struct inode *, loff_t, u64); + +typedef void (*btf_trace_iomap_invalidate_folio)(void *, struct inode *, loff_t, u64); + +typedef void (*btf_trace_iomap_iter)(void *, struct iomap_iter *, const void *, long unsigned int); + +typedef void (*btf_trace_iomap_iter_dstmap)(void *, struct inode *, struct iomap *); + +typedef void (*btf_trace_iomap_iter_srcmap)(void *, struct inode *, struct iomap *); + +typedef void (*btf_trace_iomap_readahead)(void *, struct inode *, int); + +typedef void (*btf_trace_iomap_readpage)(void *, struct inode *, int); + +typedef void (*btf_trace_iomap_release_folio)(void *, struct inode *, loff_t, u64); + +typedef void (*btf_trace_iomap_writeback_folio)(void *, struct inode *, loff_t, u64); + +typedef void (*btf_trace_ipi_send_cpu)(void *, const unsigned int, long unsigned int, void *); + +typedef void (*btf_trace_ipi_send_cpumask)(void *, const struct cpumask *, long unsigned int, void *); + +typedef void (*btf_trace_irq_handler_entry)(void *, int, struct irqaction *); + +typedef void (*btf_trace_irq_handler_exit)(void *, int, struct irqaction *, int); + +typedef void (*btf_trace_irq_matrix_alloc)(void *, int, unsigned int, struct irq_matrix *, struct cpumap *); + +typedef void (*btf_trace_irq_matrix_alloc_managed)(void *, int, unsigned int, struct irq_matrix *, struct cpumap *); + +typedef void (*btf_trace_irq_matrix_assign)(void *, int, unsigned int, struct irq_matrix *, struct cpumap *); + +typedef void (*btf_trace_irq_matrix_assign_system)(void *, int, struct irq_matrix *); + +typedef void (*btf_trace_irq_matrix_free)(void *, int, unsigned int, struct irq_matrix *, struct cpumap *); + +typedef void (*btf_trace_irq_matrix_offline)(void *, struct irq_matrix *); + +typedef void (*btf_trace_irq_matrix_online)(void *, struct irq_matrix *); + +typedef void (*btf_trace_irq_matrix_remove_managed)(void *, int, unsigned int, struct irq_matrix *, struct cpumap *); + +typedef void (*btf_trace_irq_matrix_remove_reserved)(void *, struct irq_matrix *); + +typedef void (*btf_trace_irq_matrix_reserve)(void *, struct irq_matrix *); + +typedef void (*btf_trace_irq_matrix_reserve_managed)(void *, int, unsigned int, struct irq_matrix *, struct cpumap *); + +typedef void (*btf_trace_irq_noise)(void *, int, const char *, u64, u64); + +typedef void (*btf_trace_irq_work_entry)(void *, int); + +typedef void (*btf_trace_irq_work_exit)(void *, int); + +typedef void (*btf_trace_itimer_expire)(void *, int, struct pid *, long long unsigned int); + +typedef void (*btf_trace_itimer_state)(void *, int, const struct itimerspec64 * const, long long unsigned int); + +typedef void (*btf_trace_jbd2_checkpoint)(void *, journal_t *, int); + +typedef void (*btf_trace_jbd2_checkpoint_stats)(void *, dev_t, tid_t, struct transaction_chp_stats_s *); + +typedef void (*btf_trace_jbd2_commit_flushing)(void *, journal_t *, transaction_t *); + +typedef void (*btf_trace_jbd2_commit_locking)(void *, journal_t *, transaction_t *); + +typedef void (*btf_trace_jbd2_commit_logging)(void *, journal_t *, transaction_t *); + +typedef void (*btf_trace_jbd2_drop_transaction)(void *, journal_t *, transaction_t *); + +typedef void (*btf_trace_jbd2_end_commit)(void *, journal_t *, transaction_t *); + +typedef void (*btf_trace_jbd2_handle_extend)(void *, dev_t, tid_t, unsigned int, unsigned int, int, int); + +typedef void (*btf_trace_jbd2_handle_restart)(void *, dev_t, tid_t, unsigned int, unsigned int, int); + +typedef void (*btf_trace_jbd2_handle_start)(void *, dev_t, tid_t, unsigned int, unsigned int, int); + +typedef void (*btf_trace_jbd2_handle_stats)(void *, dev_t, tid_t, unsigned int, unsigned int, int, int, int, int); + +typedef void (*btf_trace_jbd2_lock_buffer_stall)(void *, dev_t, long unsigned int); + +typedef void (*btf_trace_jbd2_run_stats)(void *, dev_t, tid_t, struct transaction_run_stats_s *); + +typedef void (*btf_trace_jbd2_shrink_checkpoint_list)(void *, journal_t *, tid_t, tid_t, tid_t, long unsigned int, tid_t); + +typedef void (*btf_trace_jbd2_shrink_count)(void *, journal_t *, long unsigned int, long unsigned int); + +typedef void (*btf_trace_jbd2_shrink_scan_enter)(void *, journal_t *, long unsigned int, long unsigned int); + +typedef void (*btf_trace_jbd2_shrink_scan_exit)(void *, journal_t *, long unsigned int, long unsigned int, long unsigned int); + +typedef void (*btf_trace_jbd2_start_commit)(void *, journal_t *, transaction_t *); + +typedef void (*btf_trace_jbd2_submit_inode_data)(void *, struct inode *); + +typedef void (*btf_trace_jbd2_update_log_tail)(void *, journal_t *, tid_t, long unsigned int, long unsigned int); + +typedef void (*btf_trace_jbd2_write_superblock)(void *, journal_t *, blk_opf_t); + +typedef void (*btf_trace_kfree)(void *, long unsigned int, const void *); + +typedef void (*btf_trace_kfree_skb)(void *, struct sk_buff *, void *, enum skb_drop_reason, struct sock *); + +typedef void (*btf_trace_kmalloc)(void *, long unsigned int, const void *, size_t, size_t, gfp_t, int); + +typedef void (*btf_trace_kmem_cache_alloc)(void *, long unsigned int, const void *, struct kmem_cache *, gfp_t, int); + +typedef void (*btf_trace_kmem_cache_free)(void *, long unsigned int, const void *, const struct kmem_cache *); + +typedef void (*btf_trace_ksm_advisor)(void *, s64, long unsigned int, unsigned int); + +typedef void (*btf_trace_ksm_enter)(void *, void *); + +typedef void (*btf_trace_ksm_exit)(void *, void *); + +typedef void (*btf_trace_ksm_merge_one_page)(void *, long unsigned int, void *, void *, int); + +typedef void (*btf_trace_ksm_merge_with_ksm_page)(void *, void *, long unsigned int, void *, void *, int); + +typedef void (*btf_trace_ksm_remove_ksm_page)(void *, long unsigned int); + +typedef void (*btf_trace_ksm_remove_rmap_item)(void *, long unsigned int, void *, void *); + +typedef void (*btf_trace_ksm_start_scan)(void *, int, u32); + +typedef void (*btf_trace_ksm_stop_scan)(void *, int, u32); + +typedef void (*btf_trace_leases_conflict)(void *, bool, struct file_lease *, struct file_lease *); + +typedef void (*btf_trace_local_timer_entry)(void *, int); + +typedef void (*btf_trace_local_timer_exit)(void *, int); + +typedef void (*btf_trace_locks_get_lock_context)(void *, struct inode *, int, struct file_lock_context *); + +typedef void (*btf_trace_locks_remove_posix)(void *, struct inode *, struct file_lock *, int); + +typedef void (*btf_trace_ma_op)(void *, const char *, struct ma_state *); + +typedef void (*btf_trace_ma_read)(void *, const char *, struct ma_state *); + +typedef void (*btf_trace_ma_write)(void *, const char *, struct ma_state *, long unsigned int, void *); + +typedef void (*btf_trace_map)(void *, long unsigned int, phys_addr_t, size_t); + +typedef void (*btf_trace_mark_victim)(void *, struct task_struct *, uid_t); + +typedef void (*btf_trace_mc_event)(void *, const unsigned int, const char *, const char *, const int, const u8, const s8, const s8, const s8, long unsigned int, const u8, long unsigned int, const char *); + +typedef void (*btf_trace_mce_record)(void *, struct mce_hw_err *); + +typedef void (*btf_trace_mctp_key_acquire)(void *, const struct mctp_sk_key *); + +typedef void (*btf_trace_mctp_key_release)(void *, const struct mctp_sk_key *, int); + +typedef void (*btf_trace_mdio_access)(void *, struct mii_bus *, char, u8, unsigned int, u16, int); + +typedef void (*btf_trace_mem_connect)(void *, const struct xdp_mem_allocator *, const struct xdp_rxq_info *); + +typedef void (*btf_trace_mem_disconnect)(void *, const struct xdp_mem_allocator *); + +typedef void (*btf_trace_memcg_flush_stats)(void *, struct mem_cgroup *, s64, bool, bool); + +typedef void (*btf_trace_memory_failure_event)(void *, long unsigned int, int, int); + +typedef void (*btf_trace_mm_calculate_totalreserve_pages)(void *, long unsigned int); + +typedef void (*btf_trace_mm_collapse_huge_page)(void *, struct mm_struct *, int, int); + +typedef void (*btf_trace_mm_collapse_huge_page_isolate)(void *, struct folio *, int, int, bool, int); + +typedef void (*btf_trace_mm_collapse_huge_page_swapin)(void *, struct mm_struct *, int, int, int); + +typedef void (*btf_trace_mm_compaction_begin)(void *, struct compact_control *, long unsigned int, long unsigned int, bool); + +typedef void (*btf_trace_mm_compaction_defer_compaction)(void *, struct zone *, int); + +typedef void (*btf_trace_mm_compaction_defer_reset)(void *, struct zone *, int); + +typedef void (*btf_trace_mm_compaction_deferred)(void *, struct zone *, int); + +typedef void (*btf_trace_mm_compaction_end)(void *, struct compact_control *, long unsigned int, long unsigned int, bool, int); + +typedef void (*btf_trace_mm_compaction_fast_isolate_freepages)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int); + +typedef void (*btf_trace_mm_compaction_finished)(void *, struct zone *, int, int); + +typedef void (*btf_trace_mm_compaction_isolate_freepages)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int); + +typedef void (*btf_trace_mm_compaction_isolate_migratepages)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int); + +typedef void (*btf_trace_mm_compaction_kcompactd_sleep)(void *, int); + +typedef void (*btf_trace_mm_compaction_kcompactd_wake)(void *, int, int, enum zone_type); + +typedef void (*btf_trace_mm_compaction_migratepages)(void *, unsigned int, unsigned int); + +typedef void (*btf_trace_mm_compaction_suitable)(void *, struct zone *, int, int); + +typedef void (*btf_trace_mm_compaction_try_to_compact_pages)(void *, int, gfp_t, int); + +typedef void (*btf_trace_mm_compaction_wakeup_kcompactd)(void *, int, int, enum zone_type); + +typedef void (*btf_trace_mm_filemap_add_to_page_cache)(void *, struct folio *); + +typedef void (*btf_trace_mm_filemap_delete_from_page_cache)(void *, struct folio *); + +typedef void (*btf_trace_mm_filemap_fault)(void *, struct address_space *, long unsigned int); + +typedef void (*btf_trace_mm_filemap_get_pages)(void *, struct address_space *, long unsigned int, long unsigned int); + +typedef void (*btf_trace_mm_filemap_map_pages)(void *, struct address_space *, long unsigned int, long unsigned int); + +typedef void (*btf_trace_mm_khugepaged_collapse_file)(void *, struct mm_struct *, struct folio *, long unsigned int, long unsigned int, bool, struct file *, int, int); + +typedef void (*btf_trace_mm_khugepaged_scan_file)(void *, struct mm_struct *, struct folio *, struct file *, int, int, int); + +typedef void (*btf_trace_mm_khugepaged_scan_pmd)(void *, struct mm_struct *, struct folio *, bool, int, int, int, int); + +typedef void (*btf_trace_mm_lru_activate)(void *, struct folio *); + +typedef void (*btf_trace_mm_lru_insertion)(void *, struct folio *); + +typedef void (*btf_trace_mm_migrate_pages)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, enum migrate_mode, int); + +typedef void (*btf_trace_mm_migrate_pages_start)(void *, enum migrate_mode, int); + +typedef void (*btf_trace_mm_page_alloc)(void *, struct page *, unsigned int, gfp_t, int); + +typedef void (*btf_trace_mm_page_alloc_extfrag)(void *, struct page *, int, int, int, int); + +typedef void (*btf_trace_mm_page_alloc_zone_locked)(void *, struct page *, unsigned int, int, int); + +typedef void (*btf_trace_mm_page_free)(void *, struct page *, unsigned int); + +typedef void (*btf_trace_mm_page_free_batched)(void *, struct page *); + +typedef void (*btf_trace_mm_page_pcpu_drain)(void *, struct page *, unsigned int, int); + +typedef void (*btf_trace_mm_setup_per_zone_lowmem_reserve)(void *, struct zone *, struct zone *, long int); + +typedef void (*btf_trace_mm_setup_per_zone_wmarks)(void *, struct zone *); + +typedef void (*btf_trace_mm_shrink_slab_end)(void *, struct shrinker *, int, int, long int, long int, long int); + +typedef void (*btf_trace_mm_shrink_slab_start)(void *, struct shrinker *, struct shrink_control *, long int, long unsigned int, long long unsigned int, long unsigned int, int); + +typedef void (*btf_trace_mm_vmscan_direct_reclaim_begin)(void *, int, gfp_t); + +typedef void (*btf_trace_mm_vmscan_direct_reclaim_end)(void *, long unsigned int); + +typedef void (*btf_trace_mm_vmscan_kswapd_sleep)(void *, int); + +typedef void (*btf_trace_mm_vmscan_kswapd_wake)(void *, int, int, int); + +typedef void (*btf_trace_mm_vmscan_lru_isolate)(void *, int, int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, int); + +typedef void (*btf_trace_mm_vmscan_lru_shrink_active)(void *, int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, int, int); + +typedef void (*btf_trace_mm_vmscan_lru_shrink_inactive)(void *, int, long unsigned int, long unsigned int, struct reclaim_stat *, int, int); + +typedef void (*btf_trace_mm_vmscan_memcg_reclaim_begin)(void *, int, gfp_t); + +typedef void (*btf_trace_mm_vmscan_memcg_reclaim_end)(void *, long unsigned int); + +typedef void (*btf_trace_mm_vmscan_memcg_softlimit_reclaim_begin)(void *, int, gfp_t); + +typedef void (*btf_trace_mm_vmscan_memcg_softlimit_reclaim_end)(void *, long unsigned int); + +typedef void (*btf_trace_mm_vmscan_node_reclaim_begin)(void *, int, int, gfp_t); + +typedef void (*btf_trace_mm_vmscan_node_reclaim_end)(void *, long unsigned int); + +typedef void (*btf_trace_mm_vmscan_reclaim_pages)(void *, int, long unsigned int, long unsigned int, struct reclaim_stat *); + +typedef void (*btf_trace_mm_vmscan_throttled)(void *, int, int, int, int); + +typedef void (*btf_trace_mm_vmscan_wakeup_kswapd)(void *, int, int, int, gfp_t); + +typedef void (*btf_trace_mm_vmscan_write_folio)(void *, struct folio *); + +typedef void (*btf_trace_mmap_lock_acquire_returned)(void *, struct mm_struct *, bool, bool); + +typedef void (*btf_trace_mmap_lock_released)(void *, struct mm_struct *, bool); + +typedef void (*btf_trace_mmap_lock_start_locking)(void *, struct mm_struct *, bool); + +typedef void (*btf_trace_mmc_request_done)(void *, struct mmc_host *, struct mmc_request *); + +typedef void (*btf_trace_mmc_request_start)(void *, struct mmc_host *, struct mmc_request *); + +typedef void (*btf_trace_mod_memcg_lruvec_state)(void *, struct mem_cgroup *, int, int); + +typedef void (*btf_trace_mod_memcg_state)(void *, struct mem_cgroup *, int, int); + +typedef void (*btf_trace_module_free)(void *, struct module *); + +typedef void (*btf_trace_module_get)(void *, struct module *, long unsigned int); + +typedef void (*btf_trace_module_load)(void *, struct module *); + +typedef void (*btf_trace_module_put)(void *, struct module *, long unsigned int); + +typedef void (*btf_trace_module_request)(void *, char *, bool, long unsigned int); + +typedef void (*btf_trace_mon_llc_occupancy_limbo)(void *, u32, u32, int, u64); + +typedef void (*btf_trace_mptcp_sendmsg_frag)(void *, struct mptcp_ext *); + +typedef void (*btf_trace_mptcp_subflow_get_send)(void *, struct mptcp_subflow_context *); + +typedef void (*btf_trace_napi_gro_frags_entry)(void *, const struct sk_buff *); + +typedef void (*btf_trace_napi_gro_frags_exit)(void *, int); + +typedef void (*btf_trace_napi_gro_receive_entry)(void *, const struct sk_buff *); + +typedef void (*btf_trace_napi_gro_receive_exit)(void *, int); + +typedef void (*btf_trace_napi_poll)(void *, struct napi_struct *, int, int); + +typedef void (*btf_trace_neigh_cleanup_and_release)(void *, struct neighbour *, int); + +typedef void (*btf_trace_neigh_create)(void *, struct neigh_table *, struct net_device *, const void *, const struct neighbour *, bool); + +typedef void (*btf_trace_neigh_event_send_dead)(void *, struct neighbour *, int); + +typedef void (*btf_trace_neigh_event_send_done)(void *, struct neighbour *, int); + +typedef void (*btf_trace_neigh_timer_handler)(void *, struct neighbour *, int); + +typedef void (*btf_trace_neigh_update)(void *, struct neighbour *, const u8 *, u8, u32, u32); + +typedef void (*btf_trace_neigh_update_done)(void *, struct neighbour *, int); + +typedef void (*btf_trace_net_dev_queue)(void *, struct sk_buff *); + +typedef void (*btf_trace_net_dev_start_xmit)(void *, const struct sk_buff *, const struct net_device *); + +typedef void (*btf_trace_net_dev_xmit)(void *, struct sk_buff *, int, struct net_device *, unsigned int); + +typedef void (*btf_trace_net_dev_xmit_timeout)(void *, struct net_device *, int); + +typedef void (*btf_trace_netif_receive_skb)(void *, struct sk_buff *); + +typedef void (*btf_trace_netif_receive_skb_entry)(void *, const struct sk_buff *); + +typedef void (*btf_trace_netif_receive_skb_exit)(void *, int); + +typedef void (*btf_trace_netif_receive_skb_list_entry)(void *, const struct sk_buff *); + +typedef void (*btf_trace_netif_receive_skb_list_exit)(void *, int); + +typedef void (*btf_trace_netif_rx)(void *, struct sk_buff *); + +typedef void (*btf_trace_netif_rx_entry)(void *, const struct sk_buff *); + +typedef void (*btf_trace_netif_rx_exit)(void *, int); + +typedef void (*btf_trace_netlink_extack)(void *, const char *); + +typedef void (*btf_trace_nmi_handler)(void *, void *, s64, int); + +typedef void (*btf_trace_nmi_noise)(void *, u64, u64); + +typedef void (*btf_trace_non_standard_event)(void *, const guid_t *, const guid_t *, const char *, const u8, const u8 *, const u32); + +typedef void (*btf_trace_notifier_register)(void *, void *); + +typedef void (*btf_trace_notifier_run)(void *, void *); + +typedef void (*btf_trace_notifier_unregister)(void *, void *); + +typedef void (*btf_trace_oom_score_adj_update)(void *, struct task_struct *); + +typedef void (*btf_trace_osnoise_sample)(void *, struct osnoise_sample *); + +typedef void (*btf_trace_page_fault_kernel)(void *, long unsigned int, struct pt_regs *, long unsigned int); + +typedef void (*btf_trace_page_fault_user)(void *, long unsigned int, struct pt_regs *, long unsigned int); + +typedef void (*btf_trace_page_pool_release)(void *, const struct page_pool *, s32, u32, u32); + +typedef void (*btf_trace_page_pool_state_hold)(void *, const struct page_pool *, netmem_ref, u32); + +typedef void (*btf_trace_page_pool_state_release)(void *, const struct page_pool *, netmem_ref, u32); + +typedef void (*btf_trace_page_pool_update_nid)(void *, const struct page_pool *, int); + +typedef void (*btf_trace_pelt_cfs_tp)(void *, struct cfs_rq *); + +typedef void (*btf_trace_pelt_dl_tp)(void *, struct rq *); + +typedef void (*btf_trace_pelt_hw_tp)(void *, struct rq *); + +typedef void (*btf_trace_pelt_irq_tp)(void *, struct rq *); + +typedef void (*btf_trace_pelt_rt_tp)(void *, struct rq *); + +typedef void (*btf_trace_pelt_se_tp)(void *, struct sched_entity *); + +typedef void (*btf_trace_percpu_alloc_percpu)(void *, long unsigned int, bool, bool, size_t, size_t, void *, int, void *, size_t, gfp_t); + +typedef void (*btf_trace_percpu_alloc_percpu_fail)(void *, bool, bool, size_t, size_t); + +typedef void (*btf_trace_percpu_create_chunk)(void *, void *); + +typedef void (*btf_trace_percpu_destroy_chunk)(void *, void *); + +typedef void (*btf_trace_percpu_free_percpu)(void *, void *, int, void *); + +typedef void (*btf_trace_pm_qos_add_request)(void *, s32); + +typedef void (*btf_trace_pm_qos_remove_request)(void *, s32); + +typedef void (*btf_trace_pm_qos_update_flags)(void *, enum pm_qos_req_action, int, int); + +typedef void (*btf_trace_pm_qos_update_request)(void *, s32); + +typedef void (*btf_trace_pm_qos_update_target)(void *, enum pm_qos_req_action, int, int); + +typedef void (*btf_trace_posix_lock_inode)(void *, struct inode *, struct file_lock *, int); + +typedef void (*btf_trace_prq_report)(void *, struct intel_iommu *, struct device *, u64, u64, u64, u64, long unsigned int); + +typedef void (*btf_trace_pseudo_lock_l2)(void *, u64, u64); + +typedef void (*btf_trace_pseudo_lock_l3)(void *, u64, u64); + +typedef void (*btf_trace_pseudo_lock_mem_latency)(void *, u32); + +typedef void (*btf_trace_pstate_sample)(void *, u32, u32, u32, u32, u64, u64, u64, u32, u32); + +typedef void (*btf_trace_purge_vmap_area_lazy)(void *, long unsigned int, long unsigned int, unsigned int); + +typedef void (*btf_trace_pwm_apply)(void *, struct pwm_device *, const struct pwm_state *, int); + +typedef void (*btf_trace_pwm_get)(void *, struct pwm_device *, const struct pwm_state *, int); + +typedef void (*btf_trace_pwm_read_waveform)(void *, struct pwm_device *, void *, int); + +typedef void (*btf_trace_pwm_round_waveform_fromhw)(void *, struct pwm_device *, const void *, struct pwm_waveform *, int); + +typedef void (*btf_trace_pwm_round_waveform_tohw)(void *, struct pwm_device *, const struct pwm_waveform *, void *, int); + +typedef void (*btf_trace_pwm_write_waveform)(void *, struct pwm_device *, const void *, int); + +typedef void (*btf_trace_qdisc_create)(void *, const struct Qdisc_ops *, struct net_device *, u32); + +typedef void (*btf_trace_qdisc_dequeue)(void *, struct Qdisc *, const struct netdev_queue *, int, struct sk_buff *); + +typedef void (*btf_trace_qdisc_destroy)(void *, struct Qdisc *); + +typedef void (*btf_trace_qdisc_enqueue)(void *, struct Qdisc *, const struct netdev_queue *, struct sk_buff *); + +typedef void (*btf_trace_qdisc_reset)(void *, struct Qdisc *); + +typedef void (*btf_trace_qi_submit)(void *, struct intel_iommu *, u64, u64, u64, u64); + +typedef void (*btf_trace_rcu_stall_warning)(void *, const char *, const char *); + +typedef void (*btf_trace_rcu_utilization)(void *, const char *); + +typedef void (*btf_trace_rdpmc)(void *, unsigned int, u64, int); + +typedef void (*btf_trace_read_msr)(void *, unsigned int, u64, int); + +typedef void (*btf_trace_reclaim_retry_zone)(void *, struct zoneref *, int, long unsigned int, long unsigned int, long unsigned int, int, bool); + +typedef void (*btf_trace_regcache_drop_region)(void *, struct regmap *, unsigned int, unsigned int); + +typedef void (*btf_trace_regcache_sync)(void *, struct regmap *, const char *, const char *); + +typedef void (*btf_trace_regmap_async_complete_done)(void *, struct regmap *); + +typedef void (*btf_trace_regmap_async_complete_start)(void *, struct regmap *); + +typedef void (*btf_trace_regmap_async_io_complete)(void *, struct regmap *); + +typedef void (*btf_trace_regmap_async_write_start)(void *, struct regmap *, unsigned int, int); + +typedef void (*btf_trace_regmap_bulk_read)(void *, struct regmap *, unsigned int, const void *, int); + +typedef void (*btf_trace_regmap_bulk_write)(void *, struct regmap *, unsigned int, const void *, int); + +typedef void (*btf_trace_regmap_cache_bypass)(void *, struct regmap *, bool); + +typedef void (*btf_trace_regmap_cache_only)(void *, struct regmap *, bool); + +typedef void (*btf_trace_regmap_hw_read_done)(void *, struct regmap *, unsigned int, int); + +typedef void (*btf_trace_regmap_hw_read_start)(void *, struct regmap *, unsigned int, int); + +typedef void (*btf_trace_regmap_hw_write_done)(void *, struct regmap *, unsigned int, int); + +typedef void (*btf_trace_regmap_hw_write_start)(void *, struct regmap *, unsigned int, int); + +typedef void (*btf_trace_regmap_reg_read)(void *, struct regmap *, unsigned int, unsigned int); + +typedef void (*btf_trace_regmap_reg_read_cache)(void *, struct regmap *, unsigned int, unsigned int); + +typedef void (*btf_trace_regmap_reg_write)(void *, struct regmap *, unsigned int, unsigned int); + +typedef void (*btf_trace_regulator_bypass_disable)(void *, const char *); + +typedef void (*btf_trace_regulator_bypass_disable_complete)(void *, const char *); + +typedef void (*btf_trace_regulator_bypass_enable)(void *, const char *); + +typedef void (*btf_trace_regulator_bypass_enable_complete)(void *, const char *); + +typedef void (*btf_trace_regulator_disable)(void *, const char *); + +typedef void (*btf_trace_regulator_disable_complete)(void *, const char *); + +typedef void (*btf_trace_regulator_enable)(void *, const char *); + +typedef void (*btf_trace_regulator_enable_complete)(void *, const char *); + +typedef void (*btf_trace_regulator_enable_delay)(void *, const char *); + +typedef void (*btf_trace_regulator_set_voltage)(void *, const char *, int, int); + +typedef void (*btf_trace_regulator_set_voltage_complete)(void *, const char *, unsigned int); + +typedef void (*btf_trace_remove_device_from_group)(void *, int, struct device *); + +typedef void (*btf_trace_remove_migration_pmd)(void *, long unsigned int, long unsigned int); + +typedef void (*btf_trace_remove_migration_pte)(void *, long unsigned int, long unsigned int, int); + +typedef void (*btf_trace_reschedule_entry)(void *, int); + +typedef void (*btf_trace_reschedule_exit)(void *, int); + +typedef void (*btf_trace_rpm_idle)(void *, struct device *, int); + +typedef void (*btf_trace_rpm_resume)(void *, struct device *, int); + +typedef void (*btf_trace_rpm_return_int)(void *, struct device *, long unsigned int, int); + +typedef void (*btf_trace_rpm_status)(void *, struct device *, enum rpm_status); + +typedef void (*btf_trace_rpm_suspend)(void *, struct device *, int); + +typedef void (*btf_trace_rpm_usage)(void *, struct device *, int); + +typedef void (*btf_trace_rseq_ip_fixup)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int); + +typedef void (*btf_trace_rseq_update)(void *, struct task_struct *); + +typedef void (*btf_trace_rss_stat)(void *, struct mm_struct *, int); + +typedef void (*btf_trace_rtc_alarm_irq_enable)(void *, unsigned int, int); + +typedef void (*btf_trace_rtc_irq_set_freq)(void *, int, int); + +typedef void (*btf_trace_rtc_irq_set_state)(void *, int, int); + +typedef void (*btf_trace_rtc_read_alarm)(void *, time64_t, int); + +typedef void (*btf_trace_rtc_read_offset)(void *, long int, int); + +typedef void (*btf_trace_rtc_read_time)(void *, time64_t, int); + +typedef void (*btf_trace_rtc_set_alarm)(void *, time64_t, int); + +typedef void (*btf_trace_rtc_set_offset)(void *, long int, int); + +typedef void (*btf_trace_rtc_set_time)(void *, time64_t, int); + +typedef void (*btf_trace_rtc_timer_dequeue)(void *, struct rtc_timer *); + +typedef void (*btf_trace_rtc_timer_enqueue)(void *, struct rtc_timer *); + +typedef void (*btf_trace_rtc_timer_fired)(void *, struct rtc_timer *); + +typedef void (*btf_trace_rv_retries_error)(void *, char *, char *); + +typedef void (*btf_trace_sample_threshold)(void *, u64, u64, u64); + +typedef void (*btf_trace_sb_clear_inode_writeback)(void *, struct inode *); + +typedef void (*btf_trace_sb_mark_inode_writeback)(void *, struct inode *); + +typedef void (*btf_trace_sched_compute_energy_tp)(void *, struct task_struct *, int, long unsigned int, long unsigned int, long unsigned int); + +typedef void (*btf_trace_sched_cpu_capacity_tp)(void *, struct rq *); + +typedef void (*btf_trace_sched_entry_tp)(void *, bool); + +typedef void (*btf_trace_sched_exit_tp)(void *, bool); + +typedef void (*btf_trace_sched_ext_dump)(void *, const char *); + +typedef void (*btf_trace_sched_ext_event)(void *, const char *, __s64); + +typedef void (*btf_trace_sched_kthread_stop)(void *, struct task_struct *); + +typedef void (*btf_trace_sched_kthread_stop_ret)(void *, int); + +typedef void (*btf_trace_sched_kthread_work_execute_end)(void *, struct kthread_work *, kthread_work_func_t); + +typedef void (*btf_trace_sched_kthread_work_execute_start)(void *, struct kthread_work *); + +typedef void (*btf_trace_sched_kthread_work_queue_work)(void *, struct kthread_worker *, struct kthread_work *); + +typedef void (*btf_trace_sched_migrate_task)(void *, struct task_struct *, int); + +typedef void (*btf_trace_sched_move_numa)(void *, struct task_struct *, int, int); + +typedef void (*btf_trace_sched_overutilized_tp)(void *, struct root_domain *, bool); + +typedef void (*btf_trace_sched_pi_setprio)(void *, struct task_struct *, struct task_struct *); + +typedef void (*btf_trace_sched_prepare_exec)(void *, struct task_struct *, struct linux_binprm *); + +typedef void (*btf_trace_sched_process_exec)(void *, struct task_struct *, pid_t, struct linux_binprm *); + +typedef void (*btf_trace_sched_process_exit)(void *, struct task_struct *, bool); + +typedef void (*btf_trace_sched_process_fork)(void *, struct task_struct *, struct task_struct *); + +typedef void (*btf_trace_sched_process_free)(void *, struct task_struct *); + +typedef void (*btf_trace_sched_process_hang)(void *, struct task_struct *); + +typedef void (*btf_trace_sched_process_wait)(void *, struct pid *); + +typedef void (*btf_trace_sched_set_need_resched_tp)(void *, struct task_struct *, int, int); + +typedef void (*btf_trace_sched_skip_cpuset_numa)(void *, struct task_struct *, nodemask_t *); + +typedef void (*btf_trace_sched_skip_vma_numa)(void *, struct mm_struct *, struct vm_area_struct *, enum numa_vmaskip_reason); + +typedef void (*btf_trace_sched_stat_blocked)(void *, struct task_struct *, u64); + +typedef void (*btf_trace_sched_stat_iowait)(void *, struct task_struct *, u64); + +typedef void (*btf_trace_sched_stat_runtime)(void *, struct task_struct *, u64); + +typedef void (*btf_trace_sched_stat_sleep)(void *, struct task_struct *, u64); + +typedef void (*btf_trace_sched_stat_wait)(void *, struct task_struct *, u64); + +typedef void (*btf_trace_sched_stick_numa)(void *, struct task_struct *, int, struct task_struct *, int); + +typedef void (*btf_trace_sched_swap_numa)(void *, struct task_struct *, int, struct task_struct *, int); + +typedef void (*btf_trace_sched_switch)(void *, bool, struct task_struct *, struct task_struct *, unsigned int); + +typedef void (*btf_trace_sched_update_nr_running_tp)(void *, struct rq *, int); + +typedef void (*btf_trace_sched_util_est_cfs_tp)(void *, struct cfs_rq *); + +typedef void (*btf_trace_sched_util_est_se_tp)(void *, struct sched_entity *); + +typedef void (*btf_trace_sched_wait_task)(void *, struct task_struct *); + +typedef void (*btf_trace_sched_wake_idle_without_ipi)(void *, int); + +typedef void (*btf_trace_sched_wakeup)(void *, struct task_struct *); + +typedef void (*btf_trace_sched_wakeup_new)(void *, struct task_struct *); + +typedef void (*btf_trace_sched_waking)(void *, struct task_struct *); + +typedef void (*btf_trace_scsi_dispatch_cmd_done)(void *, struct scsi_cmnd *); + +typedef void (*btf_trace_scsi_dispatch_cmd_error)(void *, struct scsi_cmnd *, int); + +typedef void (*btf_trace_scsi_dispatch_cmd_start)(void *, struct scsi_cmnd *); + +typedef void (*btf_trace_scsi_dispatch_cmd_timeout)(void *, struct scsi_cmnd *); + +typedef void (*btf_trace_scsi_eh_wakeup)(void *, struct Scsi_Host *); + +typedef void (*btf_trace_scsi_prepare_zone_append)(void *, struct scsi_cmnd *, sector_t, unsigned int); + +typedef void (*btf_trace_scsi_zone_wp_update)(void *, struct scsi_cmnd *, sector_t, unsigned int, unsigned int); + +typedef void (*btf_trace_selinux_audited)(void *, struct selinux_audit_data *, char *, char *, const char *); + +typedef void (*btf_trace_set_migration_pmd)(void *, long unsigned int, long unsigned int); + +typedef void (*btf_trace_set_migration_pte)(void *, long unsigned int, long unsigned int, int); + +typedef void (*btf_trace_signal_deliver)(void *, int, struct kernel_siginfo *, struct k_sigaction *); + +typedef void (*btf_trace_signal_generate)(void *, int, struct kernel_siginfo *, struct task_struct *, int, int); + +typedef void (*btf_trace_sk_data_ready)(void *, const struct sock *); + +typedef void (*btf_trace_skb_copy_datagram_iovec)(void *, const struct sk_buff *, int); + +typedef void (*btf_trace_skip_task_reaping)(void *, int); + +typedef void (*btf_trace_smbus_read)(void *, const struct i2c_adapter *, u16, short unsigned int, char, u8, int); + +typedef void (*btf_trace_smbus_reply)(void *, const struct i2c_adapter *, u16, short unsigned int, char, u8, int, const union i2c_smbus_data *, int); + +typedef void (*btf_trace_smbus_result)(void *, const struct i2c_adapter *, u16, short unsigned int, char, u8, int, int); + +typedef void (*btf_trace_smbus_write)(void *, const struct i2c_adapter *, u16, short unsigned int, char, u8, int, const union i2c_smbus_data *); + +typedef void (*btf_trace_sock_exceed_buf_limit)(void *, struct sock *, struct proto *, long int, int); + +typedef void (*btf_trace_sock_rcvqueue_full)(void *, struct sock *, struct sk_buff *); + +typedef void (*btf_trace_sock_recv_length)(void *, struct sock *, int, int); + +typedef void (*btf_trace_sock_send_length)(void *, struct sock *, int, int); + +typedef void (*btf_trace_softirq_entry)(void *, unsigned int); + +typedef void (*btf_trace_softirq_exit)(void *, unsigned int); + +typedef void (*btf_trace_softirq_noise)(void *, int, u64, u64); + +typedef void (*btf_trace_softirq_raise)(void *, unsigned int); + +typedef void (*btf_trace_spi_controller_busy)(void *, struct spi_controller *); + +typedef void (*btf_trace_spi_controller_idle)(void *, struct spi_controller *); + +typedef void (*btf_trace_spi_message_done)(void *, struct spi_message *); + +typedef void (*btf_trace_spi_message_start)(void *, struct spi_message *); + +typedef void (*btf_trace_spi_message_submit)(void *, struct spi_message *); + +typedef void (*btf_trace_spi_set_cs)(void *, struct spi_device *, bool); + +typedef void (*btf_trace_spi_setup)(void *, struct spi_device *, int); + +typedef void (*btf_trace_spi_transfer_start)(void *, struct spi_message *, struct spi_transfer *); + +typedef void (*btf_trace_spi_transfer_stop)(void *, struct spi_message *, struct spi_transfer *); + +typedef void (*btf_trace_spurious_apic_entry)(void *, int); + +typedef void (*btf_trace_spurious_apic_exit)(void *, int); + +typedef void (*btf_trace_start_task_reaping)(void *, int); + +typedef void (*btf_trace_subflow_check_data_avail)(void *, __u8, struct sk_buff *); + +typedef void (*btf_trace_suspend_resume)(void *, const char *, int, bool); + +typedef void (*btf_trace_swiotlb_bounced)(void *, struct device *, dma_addr_t, size_t); + +typedef void (*btf_trace_sync_timeline)(void *, struct sync_timeline *); + +typedef void (*btf_trace_sys_enter)(void *, struct pt_regs *, long int); + +typedef void (*btf_trace_sys_exit)(void *, struct pt_regs *, long int); + +typedef void (*btf_trace_task_newtask)(void *, struct task_struct *, long unsigned int); + +typedef void (*btf_trace_task_prctl_unknown)(void *, int, long unsigned int, long unsigned int, long unsigned int, long unsigned int); + +typedef void (*btf_trace_task_rename)(void *, struct task_struct *, const char *); + +typedef void (*btf_trace_tasklet_entry)(void *, struct tasklet_struct *, void *); + +typedef void (*btf_trace_tasklet_exit)(void *, struct tasklet_struct *, void *); + +typedef void (*btf_trace_tcp_ao_handshake_failure)(void *, const struct sock *, const struct sk_buff *, const __u8, const __u8, const __u8); + +typedef void (*btf_trace_tcp_ao_key_not_found)(void *, const struct sock *, const struct sk_buff *, const __u8, const __u8, const __u8); + +typedef void (*btf_trace_tcp_ao_mismatch)(void *, const struct sock *, const struct sk_buff *, const __u8, const __u8, const __u8); + +typedef void (*btf_trace_tcp_ao_rcv_sne_update)(void *, const struct sock *, __u32); + +typedef void (*btf_trace_tcp_ao_rnext_request)(void *, const struct sock *, const struct sk_buff *, const __u8, const __u8, const __u8); + +typedef void (*btf_trace_tcp_ao_snd_sne_update)(void *, const struct sock *, __u32); + +typedef void (*btf_trace_tcp_ao_synack_no_key)(void *, const struct sock *, const __u8, const __u8); + +typedef void (*btf_trace_tcp_ao_wrong_maclen)(void *, const struct sock *, const struct sk_buff *, const __u8, const __u8, const __u8); + +typedef void (*btf_trace_tcp_bad_csum)(void *, const struct sk_buff *); + +typedef void (*btf_trace_tcp_cong_state_set)(void *, struct sock *, const u8); + +typedef void (*btf_trace_tcp_cwnd_reduction_tp)(void *, const struct sock *, int, int, int); + +typedef void (*btf_trace_tcp_destroy_sock)(void *, struct sock *); + +typedef void (*btf_trace_tcp_hash_ao_required)(void *, const struct sock *, const struct sk_buff *); + +typedef void (*btf_trace_tcp_hash_bad_header)(void *, const struct sock *, const struct sk_buff *); + +typedef void (*btf_trace_tcp_hash_md5_mismatch)(void *, const struct sock *, const struct sk_buff *); + +typedef void (*btf_trace_tcp_hash_md5_required)(void *, const struct sock *, const struct sk_buff *); + +typedef void (*btf_trace_tcp_hash_md5_unexpected)(void *, const struct sock *, const struct sk_buff *); + +typedef void (*btf_trace_tcp_probe)(void *, struct sock *, const struct sk_buff *); + +typedef void (*btf_trace_tcp_rcv_space_adjust)(void *, struct sock *); + +typedef void (*btf_trace_tcp_rcvbuf_grow)(void *, struct sock *, int); + +typedef void (*btf_trace_tcp_receive_reset)(void *, struct sock *); + +typedef void (*btf_trace_tcp_retransmit_skb)(void *, const struct sock *, const struct sk_buff *, int); + +typedef void (*btf_trace_tcp_retransmit_synack)(void *, const struct sock *, const struct request_sock *); + +typedef void (*btf_trace_tcp_send_reset)(void *, const struct sock *, const struct sk_buff *, const enum sk_rst_reason); + +typedef void (*btf_trace_tcp_sendmsg_locked)(void *, const struct sock *, const struct msghdr *, const struct sk_buff *, int); + +typedef void (*btf_trace_test_pages_isolated)(void *, long unsigned int, long unsigned int, long unsigned int); + +typedef void (*btf_trace_thermal_apic_entry)(void *, int); + +typedef void (*btf_trace_thermal_apic_exit)(void *, int); + +typedef void (*btf_trace_thermal_power_actor)(void *, struct thermal_zone_device *, int, u32, u32); + +typedef void (*btf_trace_thermal_power_allocator)(void *, struct thermal_zone_device *, u32, u32, int, u32, u32, int, s32); + +typedef void (*btf_trace_thermal_power_allocator_pid)(void *, struct thermal_zone_device *, s32, s32, s64, s64, s64, s32); + +typedef void (*btf_trace_thermal_power_devfreq_get_power)(void *, struct thermal_cooling_device *, struct devfreq_dev_status *, long unsigned int, u32); + +typedef void (*btf_trace_thermal_power_devfreq_limit)(void *, struct thermal_cooling_device *, long unsigned int, long unsigned int, u32); + +typedef void (*btf_trace_thermal_temperature)(void *, struct thermal_zone_device *); + +typedef void (*btf_trace_thermal_zone_trip)(void *, struct thermal_zone_device *, int, enum thermal_trip_type); + +typedef void (*btf_trace_thread_noise)(void *, struct task_struct *, u64, u64); + +typedef void (*btf_trace_threshold_apic_entry)(void *, int); + +typedef void (*btf_trace_threshold_apic_exit)(void *, int); + +typedef void (*btf_trace_tick_stop)(void *, int, int); + +typedef void (*btf_trace_time_out_leases)(void *, struct inode *, struct file_lease *); + +typedef void (*btf_trace_timer_base_idle)(void *, bool, unsigned int); + +typedef void (*btf_trace_timer_cancel)(void *, struct timer_list *); + +typedef void (*btf_trace_timer_expire_entry)(void *, struct timer_list *, long unsigned int); + +typedef void (*btf_trace_timer_expire_exit)(void *, struct timer_list *); + +typedef void (*btf_trace_timer_init)(void *, struct timer_list *); + +typedef void (*btf_trace_timer_start)(void *, struct timer_list *, long unsigned int); + +typedef void (*btf_trace_timerlat_sample)(void *, struct timerlat_sample *); + +typedef void (*btf_trace_tlb_flush)(void *, int, long unsigned int); + +typedef void (*btf_trace_tls_alert_recv)(void *, const struct sock *, unsigned char, unsigned char); + +typedef void (*btf_trace_tls_alert_send)(void *, const struct sock *, unsigned char, unsigned char); + +typedef void (*btf_trace_tls_contenttype)(void *, const struct sock *, unsigned char); + +typedef void (*btf_trace_tmigr_connect_child_parent)(void *, struct tmigr_group *); + +typedef void (*btf_trace_tmigr_connect_cpu_parent)(void *, struct tmigr_cpu *); + +typedef void (*btf_trace_tmigr_cpu_active)(void *, struct tmigr_cpu *); + +typedef void (*btf_trace_tmigr_cpu_idle)(void *, struct tmigr_cpu *, u64); + +typedef void (*btf_trace_tmigr_cpu_new_timer)(void *, struct tmigr_cpu *); + +typedef void (*btf_trace_tmigr_cpu_new_timer_idle)(void *, struct tmigr_cpu *, u64); + +typedef void (*btf_trace_tmigr_cpu_offline)(void *, struct tmigr_cpu *); + +typedef void (*btf_trace_tmigr_cpu_online)(void *, struct tmigr_cpu *); + +typedef void (*btf_trace_tmigr_group_set)(void *, struct tmigr_group *); + +typedef void (*btf_trace_tmigr_group_set_cpu_active)(void *, struct tmigr_group *, union tmigr_state, u32); + +typedef void (*btf_trace_tmigr_group_set_cpu_inactive)(void *, struct tmigr_group *, union tmigr_state, u32); + +typedef void (*btf_trace_tmigr_handle_remote)(void *, struct tmigr_group *); + +typedef void (*btf_trace_tmigr_handle_remote_cpu)(void *, struct tmigr_cpu *); + +typedef void (*btf_trace_tmigr_update_events)(void *, struct tmigr_group *, struct tmigr_group *, union tmigr_state, union tmigr_state, u64); + +typedef void (*btf_trace_track_foreign_dirty)(void *, struct folio *, struct bdi_writeback *); + +typedef void (*btf_trace_tsm_mr_read)(void *, const struct tsm_measurement_register *); + +typedef void (*btf_trace_tsm_mr_refresh)(void *, const struct tsm_measurement_register *, int); + +typedef void (*btf_trace_tsm_mr_write)(void *, const struct tsm_measurement_register *, const u8 *); + +typedef void (*btf_trace_udp_fail_queue_rcv_skb)(void *, int, struct sock *, struct sk_buff *); + +typedef void (*btf_trace_unmap)(void *, long unsigned int, size_t, size_t); + +typedef void (*btf_trace_user_enter)(void *, int); + +typedef void (*btf_trace_user_exit)(void *, int); + +typedef void (*btf_trace_vector_activate)(void *, unsigned int, bool, bool, bool); + +typedef void (*btf_trace_vector_alloc)(void *, unsigned int, unsigned int, bool, int); + +typedef void (*btf_trace_vector_alloc_managed)(void *, unsigned int, unsigned int, int); + +typedef void (*btf_trace_vector_clear)(void *, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int); + +typedef void (*btf_trace_vector_config)(void *, unsigned int, unsigned int, unsigned int, unsigned int); + +typedef void (*btf_trace_vector_deactivate)(void *, unsigned int, bool, bool, bool); + +typedef void (*btf_trace_vector_free_moved)(void *, unsigned int, unsigned int, unsigned int, bool); + +typedef void (*btf_trace_vector_reserve)(void *, unsigned int, int); + +typedef void (*btf_trace_vector_reserve_managed)(void *, unsigned int, int); + +typedef void (*btf_trace_vector_setup)(void *, unsigned int, bool, int); + +typedef void (*btf_trace_vector_teardown)(void *, unsigned int, bool, bool); + +typedef void (*btf_trace_vector_update)(void *, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int); + +typedef void (*btf_trace_vm_unmapped_area)(void *, long unsigned int, struct vm_unmapped_area_info *); + +typedef void (*btf_trace_wake_reaper)(void *, int); + +typedef void (*btf_trace_wakeup_source_activate)(void *, const char *, unsigned int); + +typedef void (*btf_trace_wakeup_source_deactivate)(void *, const char *, unsigned int); + +typedef void (*btf_trace_watchdog_ping)(void *, struct watchdog_device *, int); + +typedef void (*btf_trace_watchdog_set_timeout)(void *, struct watchdog_device *, unsigned int, int); + +typedef void (*btf_trace_watchdog_start)(void *, struct watchdog_device *, int); + +typedef void (*btf_trace_watchdog_stop)(void *, struct watchdog_device *, int); + +typedef void (*btf_trace_wbc_writepage)(void *, struct writeback_control *, struct backing_dev_info *); + +typedef void (*btf_trace_wbt_lat)(void *, struct backing_dev_info *, long unsigned int); + +typedef void (*btf_trace_wbt_stat)(void *, struct backing_dev_info *, struct blk_rq_stat *); + +typedef void (*btf_trace_wbt_step)(void *, struct backing_dev_info *, const char *, int, long unsigned int, unsigned int, unsigned int, unsigned int); + +typedef void (*btf_trace_wbt_timer)(void *, struct backing_dev_info *, unsigned int, int, unsigned int); + +typedef void (*btf_trace_workqueue_activate_work)(void *, struct work_struct *); + +typedef void (*btf_trace_workqueue_execute_end)(void *, struct work_struct *, work_func_t); + +typedef void (*btf_trace_workqueue_execute_start)(void *, struct work_struct *); + +typedef void (*btf_trace_workqueue_queue_work)(void *, int, struct pool_workqueue *, struct work_struct *); + +typedef void (*btf_trace_write_msr)(void *, unsigned int, u64, int); + +typedef void (*btf_trace_writeback_bdi_register)(void *, struct backing_dev_info *); + +typedef void (*btf_trace_writeback_dirty_folio)(void *, struct folio *, struct address_space *); + +typedef void (*btf_trace_writeback_dirty_inode)(void *, struct inode *, int); + +typedef void (*btf_trace_writeback_dirty_inode_enqueue)(void *, struct inode *); + +typedef void (*btf_trace_writeback_dirty_inode_start)(void *, struct inode *, int); + +typedef void (*btf_trace_writeback_exec)(void *, struct bdi_writeback *, struct wb_writeback_work *); + +typedef void (*btf_trace_writeback_lazytime)(void *, struct inode *); + +typedef void (*btf_trace_writeback_lazytime_iput)(void *, struct inode *); + +typedef void (*btf_trace_writeback_mark_inode_dirty)(void *, struct inode *, int); + +typedef void (*btf_trace_writeback_pages_written)(void *, long int); + +typedef void (*btf_trace_writeback_queue)(void *, struct bdi_writeback *, struct wb_writeback_work *); + +typedef void (*btf_trace_writeback_queue_io)(void *, struct bdi_writeback *, struct wb_writeback_work *, long unsigned int, int); + +typedef void (*btf_trace_writeback_sb_inodes_requeue)(void *, struct inode *); + +typedef void (*btf_trace_writeback_single_inode)(void *, struct inode *, struct writeback_control *, long unsigned int); + +typedef void (*btf_trace_writeback_single_inode_start)(void *, struct inode *, struct writeback_control *, long unsigned int); + +typedef void (*btf_trace_writeback_start)(void *, struct bdi_writeback *, struct wb_writeback_work *); + +typedef void (*btf_trace_writeback_wait)(void *, struct bdi_writeback *, struct wb_writeback_work *); + +typedef void (*btf_trace_writeback_wake_background)(void *, struct bdi_writeback *); + +typedef void (*btf_trace_writeback_write_inode)(void *, struct inode *, struct writeback_control *); + +typedef void (*btf_trace_writeback_write_inode_start)(void *, struct inode *, struct writeback_control *); + +typedef void (*btf_trace_writeback_written)(void *, struct bdi_writeback *, struct wb_writeback_work *); + +typedef void (*btf_trace_x86_fpu_after_save)(void *, struct fpu *); + +typedef void (*btf_trace_x86_fpu_before_save)(void *, struct fpu *); + +typedef void (*btf_trace_x86_fpu_copy_dst)(void *, struct fpu *); + +typedef void (*btf_trace_x86_fpu_dropped)(void *, struct fpu *); + +typedef void (*btf_trace_x86_fpu_regs_activated)(void *, struct fpu *); + +typedef void (*btf_trace_x86_fpu_regs_deactivated)(void *, struct fpu *); + +typedef void (*btf_trace_x86_fpu_xstate_check_failed)(void *, struct fpu *); + +typedef void (*btf_trace_x86_platform_ipi_entry)(void *, int); + +typedef void (*btf_trace_x86_platform_ipi_exit)(void *, int); + +typedef void (*btf_trace_xdp_bulk_tx)(void *, const struct net_device *, int, int, int); + +typedef void (*btf_trace_xdp_cpumap_enqueue)(void *, int, unsigned int, unsigned int, int); + +typedef void (*btf_trace_xdp_cpumap_kthread)(void *, int, unsigned int, unsigned int, int, struct xdp_cpumap_stats *); + +typedef void (*btf_trace_xdp_devmap_xmit)(void *, const struct net_device *, const struct net_device *, int, int, int); + +typedef void (*btf_trace_xdp_exception)(void *, const struct net_device *, const struct bpf_prog *, u32); + +typedef void (*btf_trace_xdp_redirect)(void *, const struct net_device *, const struct bpf_prog *, const void *, int, enum bpf_map_type, u32, u32); + +typedef void (*btf_trace_xdp_redirect_err)(void *, const struct net_device *, const struct bpf_prog *, const void *, int, enum bpf_map_type, u32, u32); + +typedef void (*btf_trace_xen_cpu_load_idt)(void *, const struct desc_ptr *); + +typedef void (*btf_trace_xen_cpu_set_ldt)(void *, const void *, unsigned int); + +typedef void (*btf_trace_xen_cpu_write_gdt_entry)(void *, struct desc_struct *, int, const void *, int); + +typedef void (*btf_trace_xen_cpu_write_idt_entry)(void *, gate_desc *, int, const gate_desc *); + +typedef void (*btf_trace_xen_cpu_write_ldt_entry)(void *, struct desc_struct *, int, u64); + +typedef void (*btf_trace_xen_mc_batch)(void *, enum xen_lazy_mode); + +typedef void (*btf_trace_xen_mc_callback)(void *, xen_mc_callback_fn_t, void *); + +typedef void (*btf_trace_xen_mc_entry)(void *, struct multicall_entry *, unsigned int); + +typedef void (*btf_trace_xen_mc_entry_alloc)(void *, size_t); + +typedef void (*btf_trace_xen_mc_extend_args)(void *, long unsigned int, size_t, enum xen_mc_extend_args); + +typedef void (*btf_trace_xen_mc_flush)(void *, unsigned int, unsigned int, unsigned int); + +typedef void (*btf_trace_xen_mc_flush_reason)(void *, enum xen_mc_flush_reason); + +typedef void (*btf_trace_xen_mc_issue)(void *, enum xen_lazy_mode); + +typedef void (*btf_trace_xen_mmu_alloc_ptpage)(void *, struct mm_struct *, long unsigned int, unsigned int, bool); + +typedef void (*btf_trace_xen_mmu_flush_tlb_multi)(void *, const struct cpumask *, struct mm_struct *, long unsigned int, long unsigned int); + +typedef void (*btf_trace_xen_mmu_flush_tlb_one_user)(void *, long unsigned int); + +typedef void (*btf_trace_xen_mmu_pgd_pin)(void *, struct mm_struct *, pgd_t *); + +typedef void (*btf_trace_xen_mmu_pgd_unpin)(void *, struct mm_struct *, pgd_t *); + +typedef void (*btf_trace_xen_mmu_ptep_modify_prot_commit)(void *, struct mm_struct *, long unsigned int, pte_t *, pte_t); + +typedef void (*btf_trace_xen_mmu_ptep_modify_prot_start)(void *, struct mm_struct *, long unsigned int, pte_t *, pte_t); + +typedef void (*btf_trace_xen_mmu_release_ptpage)(void *, long unsigned int, unsigned int, bool); + +typedef void (*btf_trace_xen_mmu_set_p4d)(void *, p4d_t *, p4d_t *, p4d_t); + +typedef void (*btf_trace_xen_mmu_set_pmd)(void *, pmd_t *, pmd_t); + +typedef void (*btf_trace_xen_mmu_set_pte)(void *, pte_t *, pte_t); + +typedef void (*btf_trace_xen_mmu_set_pud)(void *, pud_t *, pud_t); + +typedef void (*btf_trace_xen_mmu_write_cr3)(void *, bool, long unsigned int); + +typedef void (*btf_trace_xhci_add_endpoint)(void *, struct xhci_ep_ctx *); + +typedef void (*btf_trace_xhci_address_ctrl_ctx)(void *, struct xhci_input_control_ctx *); + +typedef void (*btf_trace_xhci_address_ctx)(void *, struct xhci_hcd *, struct xhci_container_ctx *, unsigned int); + +typedef void (*btf_trace_xhci_alloc_dev)(void *, struct xhci_slot_ctx *); + +typedef void (*btf_trace_xhci_alloc_stream_info_ctx)(void *, struct xhci_stream_info *, unsigned int); + +typedef void (*btf_trace_xhci_alloc_virt_device)(void *, struct xhci_virt_device *); + +typedef void (*btf_trace_xhci_configure_endpoint)(void *, struct xhci_slot_ctx *); + +typedef void (*btf_trace_xhci_configure_endpoint_ctrl_ctx)(void *, struct xhci_input_control_ctx *); + +typedef void (*btf_trace_xhci_dbc_alloc_request)(void *, struct dbc_request *); + +typedef void (*btf_trace_xhci_dbc_free_request)(void *, struct dbc_request *); + +typedef void (*btf_trace_xhci_dbc_gadget_ep_queue)(void *, struct xhci_ring *, struct xhci_generic_trb *, dma_addr_t); + +typedef void (*btf_trace_xhci_dbc_giveback_request)(void *, struct dbc_request *); + +typedef void (*btf_trace_xhci_dbc_handle_event)(void *, struct xhci_ring *, struct xhci_generic_trb *, dma_addr_t); + +typedef void (*btf_trace_xhci_dbc_handle_transfer)(void *, struct xhci_ring *, struct xhci_generic_trb *, dma_addr_t); + +typedef void (*btf_trace_xhci_dbc_queue_request)(void *, struct dbc_request *); + +typedef void (*btf_trace_xhci_dbg_address)(void *, struct va_format *); + +typedef void (*btf_trace_xhci_dbg_cancel_urb)(void *, struct va_format *); + +typedef void (*btf_trace_xhci_dbg_context_change)(void *, struct va_format *); + +typedef void (*btf_trace_xhci_dbg_init)(void *, struct va_format *); + +typedef void (*btf_trace_xhci_dbg_quirks)(void *, struct va_format *); + +typedef void (*btf_trace_xhci_dbg_reset_ep)(void *, struct va_format *); + +typedef void (*btf_trace_xhci_dbg_ring_expansion)(void *, struct va_format *); + +typedef void (*btf_trace_xhci_discover_or_reset_device)(void *, struct xhci_slot_ctx *); + +typedef void (*btf_trace_xhci_free_dev)(void *, struct xhci_slot_ctx *); + +typedef void (*btf_trace_xhci_free_virt_device)(void *, struct xhci_virt_device *); + +typedef void (*btf_trace_xhci_get_port_status)(void *, struct xhci_port *, u32); + +typedef void (*btf_trace_xhci_handle_cmd_addr_dev)(void *, struct xhci_slot_ctx *); + +typedef void (*btf_trace_xhci_handle_cmd_config_ep)(void *, struct xhci_ep_ctx *); + +typedef void (*btf_trace_xhci_handle_cmd_disable_slot)(void *, struct xhci_slot_ctx *); + +typedef void (*btf_trace_xhci_handle_cmd_reset_dev)(void *, struct xhci_slot_ctx *); + +typedef void (*btf_trace_xhci_handle_cmd_reset_ep)(void *, struct xhci_ep_ctx *); + +typedef void (*btf_trace_xhci_handle_cmd_set_deq)(void *, struct xhci_slot_ctx *); + +typedef void (*btf_trace_xhci_handle_cmd_set_deq_ep)(void *, struct xhci_ep_ctx *); + +typedef void (*btf_trace_xhci_handle_cmd_set_deq_stream)(void *, struct xhci_stream_info *, unsigned int); + +typedef void (*btf_trace_xhci_handle_cmd_stop_ep)(void *, struct xhci_ep_ctx *); + +typedef void (*btf_trace_xhci_handle_command)(void *, struct xhci_ring *, struct xhci_generic_trb *, dma_addr_t); + +typedef void (*btf_trace_xhci_handle_event)(void *, struct xhci_ring *, struct xhci_generic_trb *, dma_addr_t); + +typedef void (*btf_trace_xhci_handle_port_status)(void *, struct xhci_port *, u32); + +typedef void (*btf_trace_xhci_handle_transfer)(void *, struct xhci_ring *, struct xhci_generic_trb *, dma_addr_t); + +typedef void (*btf_trace_xhci_hub_status_data)(void *, struct xhci_port *, u32); + +typedef void (*btf_trace_xhci_inc_deq)(void *, struct xhci_ring *); + +typedef void (*btf_trace_xhci_inc_enq)(void *, struct xhci_ring *); + +typedef void (*btf_trace_xhci_queue_trb)(void *, struct xhci_ring *, struct xhci_generic_trb *, dma_addr_t); + +typedef void (*btf_trace_xhci_ring_alloc)(void *, struct xhci_ring *); + +typedef void (*btf_trace_xhci_ring_ep_doorbell)(void *, u32, u32); + +typedef void (*btf_trace_xhci_ring_expansion)(void *, struct xhci_ring *); + +typedef void (*btf_trace_xhci_ring_free)(void *, struct xhci_ring *); + +typedef void (*btf_trace_xhci_ring_host_doorbell)(void *, u32, u32); + +typedef void (*btf_trace_xhci_setup_addressable_virt_device)(void *, struct xhci_virt_device *); + +typedef void (*btf_trace_xhci_setup_device)(void *, struct xhci_virt_device *); + +typedef void (*btf_trace_xhci_setup_device_slot)(void *, struct xhci_slot_ctx *); + +typedef void (*btf_trace_xhci_stop_device)(void *, struct xhci_virt_device *); + +typedef void (*btf_trace_xhci_urb_dequeue)(void *, struct urb *); + +typedef void (*btf_trace_xhci_urb_enqueue)(void *, struct urb *); + +typedef void (*btf_trace_xhci_urb_giveback)(void *, struct urb *); + +typedef int (*cb_t)(struct param *); + +typedef bool (*check_reserved_t)(u64, u64, enum e820_type); + +typedef void cleanup_cb_t(struct rq_wait *, void *); + +typedef int (*cmp_r_func_t)(const void *, const void *, const void *); + +typedef void (*companion_fn)(struct pci_dev *, struct usb_hcd *, struct pci_dev *, struct usb_hcd *); + +typedef int cont_fn(struct opal_dev *); + +typedef int (*copy_fn_t)(void *, const void *, u32, struct task_struct *); + +typedef int (*cppc_mode_transition_fn)(int); + +typedef int ctrlval_parser_t(struct rdt_parse_data *, struct resctrl_schema *, struct rdt_ctrl_domain *); + +typedef void detailed_cb(const struct detailed_timing *, void *); + +typedef void * (*devcon_match_fn_t)(const struct fwnode_handle *, const char *, void *); + +typedef int (*device_iter_t)(struct device *, void *); + +typedef int (*device_match_t)(struct device *, const void *); + +typedef int devlink_chunk_fill_t(void *, u8 *, u32, u64, struct netlink_ext_ack *); + +typedef int devlink_nl_dump_one_func_t(struct sk_buff *, struct devlink *, struct netlink_callback *, int); + +typedef int (*dr_match_t)(struct device *, void *, void *); + +typedef void (*drm_crtc_set_lut_func)(struct drm_crtc *, unsigned int, u16, u16, u16); + +typedef int drm_ioctl_compat_t(struct file *, unsigned int, long unsigned int); + +typedef bool (*drm_vblank_get_scanout_position_func)(struct drm_crtc *, bool, int *, int *, ktime_t *, ktime_t *, const struct drm_display_mode *); + +typedef int (*dummy_ops_test_ret_fn)(struct bpf_dummy_ops_state *, ...); + +typedef int (*dynevent_check_arg_fn_t)(void *); + +typedef void (*efi_element_handler_t)(const char *, const void *, size_t); + +typedef int (*efi_memattr_perm_setter)(struct mm_struct *, efi_memory_desc_t *, bool); + +typedef void (*ethnl_notify_handler_t)(struct net_device *, unsigned int, const struct ethnl_req_info *); + +typedef void (*exitcall_t)(void); + +typedef int (*ext4_mballoc_query_range_fn)(struct super_block *, ext4_group_t, ext4_grpblk_t, ext4_grpblk_t, void *); + +typedef void ext4_update_sb_callback(struct ext4_super_block *, const void *); + +typedef int filler_t(struct file *, struct folio *); + +typedef bool (*filter_func_t)(struct uprobe_consumer *, struct mm_struct *); + +typedef void fn_handler_fn(struct vc_data *); + +typedef void free_folio_t(struct folio *, long unsigned int); + +typedef int (*ftrace_mapper_func)(void *); + +typedef access_mask_t get_access_mask_t(const struct landlock_ruleset * const, const u16); + +typedef int (*get_char_func)(void); + +typedef int (*get_gsi_from_sbdf_t)(u32); + +typedef struct sk_buff * (*gro_receive_sk_t)(struct sock *, struct list_head *, struct sk_buff *); + +typedef struct sk_buff * (*gro_receive_t)(struct list_head *, struct sk_buff *); + +typedef size_t (*huf_compress_f)(void *, size_t, const void *, size_t, unsigned int, unsigned int, void *, size_t, HUF_CElt *, HUF_repeat *, int); + +typedef int (*hyperv_fill_flush_list_func)(struct hv_guest_mapping_flush_list *, void *); + +typedef bool (*i8042_filter_t)(unsigned char, unsigned char, struct serio *, void *); + +typedef void (*idtentry_t)(struct pt_regs *); + +typedef u32 inet6_ehashfn_t(const struct net *, const struct in6_addr *, const u16, const struct in6_addr *, const __be16); + +typedef u32 inet_ehashfn_t(const struct net *, const __be32, const __u16, const __be32, const __be16); + +typedef int (*initxattrs)(struct inode *, const struct xattr *, void *); + +typedef struct dentry *instantiate_t(struct dentry *, struct task_struct *, const void *); + +typedef int (*ioctl_fn)(struct file *, struct dm_ioctl *, size_t); + +typedef void (*iomap_punch_t)(struct inode *, loff_t, loff_t, struct iomap *); + +typedef size_t (*iov_step_f)(void *, size_t, size_t, void *, void *); + +typedef size_t (*iov_ustep_f)(void *, size_t, size_t, void *, void *); + +typedef int (*iova_bitmap_fn_t)(struct iova_bitmap *, long unsigned int, size_t, void *); + +typedef void ip6_icmp_send_t(struct sk_buff *, u8, u8, __u32, const struct in6_addr *, const struct inet6_skb_parm *); + +typedef void (*irq_write_msi_msg_t)(struct msi_desc *, struct msi_msg *); + +typedef void k_handler_fn(struct vc_data *, unsigned char, char); + +typedef int (*klp_shadow_ctor_t)(void *, void *, void *); + +typedef void (*klp_shadow_dtor_t)(void *, void *); + +typedef int (*list_cmp_func_t)(void *, const struct list_head *, const struct list_head *); + +typedef enum lru_status (*list_lru_walk_cb)(struct list_head *, struct list_lru_one *, void *); + +typedef void (*mapped_f)(struct perf_event *, struct mm_struct *); + +typedef int mh_filter_t(struct sock *, struct sk_buff *); + +typedef void (*move_fn_t)(struct lruvec *, struct folio *); + +typedef int (*netlink_filter_fn)(struct sock *, struct sk_buff *, void *); + +typedef struct folio *new_folio_t(struct folio *, long unsigned int); + +typedef void (*nmi_shootdown_cb)(int, struct pt_regs *); + +typedef struct ns_common *ns_get_path_helper_t(void *); + +typedef int (*objpool_init_obj_cb)(void *, void *); + +typedef void (*online_page_callback_t)(struct page *, unsigned int); + +typedef int (*parse_pred_fn)(const char *, void *, int, struct filter_parse_error *, struct filter_pred **); + +typedef int (*parse_unknown_fn)(char *, char *, const char *, void *); + +typedef void (*pci_parity_check_fn_t)(struct pci_dev *); + +typedef int (*pcie_callback_t)(struct pcie_device *); + +typedef int pcpu_fc_cpu_distance_fn_t(unsigned int, unsigned int); + +typedef int pcpu_fc_cpu_to_node_fn_t(int); + +typedef void perf_iterate_f(struct perf_event *, void *); + +typedef int perf_snapshot_branch_stack_t(struct perf_branch_entry *, unsigned int); + +typedef int (*pm_callback_t)(struct device *); + +typedef int (*pm_cpu_match_t)(const struct x86_cpu_id *); + +typedef struct rt6_info * (*pol_lookup_t)(struct net *, struct fib6_table *, struct flowi6 *, const struct sk_buff *, int); + +typedef int (*pp_nl_fill_cb)(struct sk_buff *, const struct page_pool *, const struct genl_info *); + +typedef int (*proc_visitor)(struct task_struct *, void *); + +typedef int (*pte_fn_t)(pte_t *, long unsigned int, void *); + +typedef int read_block_fn(void *, u8 *, unsigned int, size_t); + +typedef long unsigned int relocate_kernel_fn(long unsigned int, long unsigned int, long unsigned int, unsigned int); + +typedef void (*rethook_handler_t)(struct rethook_node *, void *, long unsigned int, struct pt_regs *); + +typedef bool (*ring_buffer_cond_fn)(void *); + +typedef int (*rproc_handle_resource_t)(struct rproc *, void *, int, int); + +typedef irqreturn_t (*rtc_irq_handler)(int, void *); + +typedef bool (*sb_for_each_fn)(struct sbitmap *, unsigned int, void *); + +typedef void (*sc_err_func_t)(u64, u64, struct tdx_module_args *); + +typedef u64 (*sc_func_t)(u64, struct tdx_module_args *); + +typedef int (*sendmsg_func)(struct sock *, struct msghdr *); + +typedef void (*serial8250_isa_config_fn)(int, struct uart_port *, u32 *); + +typedef int (*set_callee_state_fn)(struct bpf_verifier_env *, struct bpf_func_state *, struct bpf_func_state *, int); + +typedef void (*set_debug_port_t)(int); + +typedef void (*set_params_cb)(struct dwc2_hsotg *); + +typedef void (*setup_fn)(struct perf_event *, struct pt_regs *, void *, struct perf_sample_data *, struct pt_regs *); + +typedef struct scatterlist *sg_alloc_fn(unsigned int, gfp_t); + +typedef void sg_free_fn(struct scatterlist *, unsigned int); + +typedef bool (*smp_cond_func_t)(int, void *); + +typedef int splice_actor(struct pipe_inode_info *, struct pipe_buffer *, struct splice_desc *); + +typedef int splice_direct_actor(struct pipe_inode_info *, struct splice_desc *); + +typedef bool (*stack_trace_consume_fn)(void *, long unsigned int); + +typedef void (*swap_r_func_t)(void *, void *, int, const void *); + +typedef void (*synth_probe_func_t)(void *, u64 *, unsigned int *); + +typedef long int (*sys_call_ptr_t)(const struct pt_regs *); + +typedef int (*task_call_f)(struct task_struct *, void *); + +typedef void (*task_work_func_t)(struct callback_head *); + +typedef void text_poke_f(void *, const void *, size_t); + +typedef int (*tg_visitor)(struct task_group *, void *); + +typedef struct sk_buff * (*udp_gro_receive_t)(struct sock *, struct list_head *, struct sk_buff *); + +typedef struct sock * (*udp_lookup_t)(const struct sk_buff *, __be16, __be16); + +typedef bool (*up_f)(struct tmigr_group *, struct tmigr_group *, struct tmigr_walk *); + +typedef void (*user_event_func_t)(struct user_event *, struct iov_iter *, void *, bool *); + +typedef void (*visitor128_t)(void *, long unsigned int, u64, u64, size_t); + +typedef void (*visitor32_t)(void *, long unsigned int, u32, size_t); + +typedef void (*visitor64_t)(void *, long unsigned int, u64, size_t); + +typedef void (*visitorl_t)(void *, long unsigned int, long unsigned int, size_t); + +typedef int wait_bit_action_f(struct wait_bit_key *, int); + +typedef int (*walk_hmem_fn)(struct device *, int, const struct resource *); + +typedef int (*walk_memory_groups_func_t)(struct memory_group *, void *); + +typedef int (*wext_ioctl_func)(struct net_device *, struct iwreq *, unsigned int, struct iw_request_info *, iw_handler); + +typedef int (*writepage_t)(struct folio *, struct writeback_control *, void *); + +typedef void (*xen_gfn_fn_t)(long unsigned int, void *); + +typedef void (*xen_grant_fn_t)(long unsigned int, unsigned int, unsigned int, void *); + +typedef void (*xhci_get_quirks_t)(struct device *, struct xhci_hcd *); + +typedef ZSTD_sequenceProducer_F zstd_sequence_producer_f; + +struct nf_bridge_frag_data; + +struct kunit; + +struct bpf_iter; + +struct creds; + +struct pctldev; + + +/* BPF kfuncs */ +#ifndef BPF_NO_KFUNC_PROTOTYPES +#endif + +#ifndef BPF_NO_PRESERVE_ACCESS_INDEX +#pragma clang attribute pop +#endif + +#endif /* __VMLINUX_H__ */ From de2b41144c09b4f5d8ed3a2675bb2f9759237c87 Mon Sep 17 00:00:00 2001 From: asmit27rai Date: Thu, 9 Jul 2026 00:12:07 +0530 Subject: [PATCH 04/24] fix Signed-off-by: asmit27rai --- .codespellrc | 2 +- .github/workflows/ci-test-systemd.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.codespellrc b/.codespellrc index f6fda9ca44..2c917d40ca 100644 --- a/.codespellrc +++ b/.codespellrc @@ -1,4 +1,4 @@ [codespell] -skip = .git,vendor,*.pb.go,go.sum,*.svg,*.png,*.jpg,*.gif,*.ico,*.woff,*.woff2,*.ttf,*.eot,KubeArmor/BPF/vmlinux.h +skip = .git,vendor,*.pb.go,go.sum,*.svg,*.png,*.jpg,*.gif,*.ico,*.woff,*.woff2,*.ttf,*.eot,*vmlinux.h ignore-words-list = NotIn,fpt,smpt,te,nam,aks,IST,MKE quiet-level = 2 diff --git a/.github/workflows/ci-test-systemd.yml b/.github/workflows/ci-test-systemd.yml index 8e696ccd7a..d07fc3059a 100644 --- a/.github/workflows/ci-test-systemd.yml +++ b/.github/workflows/ci-test-systemd.yml @@ -59,7 +59,7 @@ jobs: echo "LIBBPF_INCLUDE=$(pwd)/include" >> "$GITHUB_ENV" - name: Build Systemd Release - run: BPF_CFLAGS="-I${LIBBPF_INCLUDE}" make -C KubeArmor build + run: BPF_CFLAGS="-I${LIBBPF_INCLUDE}" make build working-directory: KubeArmor - name: Install KubeArmor From 29fc6ebbb64df4284d388ddcf6020c4f9542b7a7 Mon Sep 17 00:00:00 2001 From: asmit27rai Date: Thu, 9 Jul 2026 14:06:33 +0530 Subject: [PATCH 05/24] changed install-libbpf.sh Signed-off-by: asmit27rai --- .github/workflows/ci-test-systemd.yml | 8 +------- .github/workflows/install-libbpf.sh | 1 + 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci-test-systemd.yml b/.github/workflows/ci-test-systemd.yml index d07fc3059a..9a63c991cb 100644 --- a/.github/workflows/ci-test-systemd.yml +++ b/.github/workflows/ci-test-systemd.yml @@ -52,14 +52,8 @@ jobs: go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.6.1 echo "$(go env GOPATH)/bin" >> "$GITHUB_PATH" - - name: Compile libbpf - run: | - git clone https://github.com/kubearmor/libbpf - cd libbpf && make - echo "LIBBPF_INCLUDE=$(pwd)/include" >> "$GITHUB_ENV" - - name: Build Systemd Release - run: BPF_CFLAGS="-I${LIBBPF_INCLUDE}" make build + run: make build working-directory: KubeArmor - name: Install KubeArmor diff --git a/.github/workflows/install-libbpf.sh b/.github/workflows/install-libbpf.sh index 050eb834dd..a689713afd 100755 --- a/.github/workflows/install-libbpf.sh +++ b/.github/workflows/install-libbpf.sh @@ -4,3 +4,4 @@ cd KubeArmor/BPF make -C libbpf/src +sudo make -C libbpf/src install_headers PREFIX=/usr From d784c75d08ff4f7846d135235c2ba5268fa42ee9 Mon Sep 17 00:00:00 2001 From: asmit27rai Date: Thu, 9 Jul 2026 14:38:04 +0530 Subject: [PATCH 06/24] fixx Signed-off-by: asmit27rai --- .github/workflows/ci-test-systemd.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-test-systemd.yml b/.github/workflows/ci-test-systemd.yml index 9a63c991cb..0732fdf9f0 100644 --- a/.github/workflows/ci-test-systemd.yml +++ b/.github/workflows/ci-test-systemd.yml @@ -53,7 +53,7 @@ jobs: echo "$(go env GOPATH)/bin" >> "$GITHUB_PATH" - name: Build Systemd Release - run: make build + run: make local-release working-directory: KubeArmor - name: Install KubeArmor From f713f8b7ee1a796b4b16589af1578a7e2b604f7a Mon Sep 17 00:00:00 2001 From: asmit27rai Date: Sat, 25 Jul 2026 22:35:42 +0530 Subject: [PATCH 07/24] remove vmlinux.h Signed-off-by: asmit27rai --- .codespellrc | 2 +- .github/workflows/ci-test-go.yml | 7 + .github/workflows/ci-test-systemd.yml | 3 + .github/workflows/install-bpftool.sh | 18 + .gitignore | 3 + Dockerfile | 20 +- KubeArmor/BPF/vmlinux.h | 162244 ----------------------- 7 files changed, 41 insertions(+), 162256 deletions(-) create mode 100755 .github/workflows/install-bpftool.sh delete mode 100644 KubeArmor/BPF/vmlinux.h diff --git a/.codespellrc b/.codespellrc index 2c917d40ca..333512ab76 100644 --- a/.codespellrc +++ b/.codespellrc @@ -1,4 +1,4 @@ [codespell] -skip = .git,vendor,*.pb.go,go.sum,*.svg,*.png,*.jpg,*.gif,*.ico,*.woff,*.woff2,*.ttf,*.eot,*vmlinux.h +skip = .git,vendor,*.pb.go,go.sum,*.svg,*.png,*.jpg,*.gif,*.ico,*.woff,*.woff2,*.ttf,*.eot ignore-words-list = NotIn,fpt,smpt,te,nam,aks,IST,MKE quiet-level = 2 diff --git a/.github/workflows/ci-test-go.yml b/.github/workflows/ci-test-go.yml index 8640f36050..d26c385757 100644 --- a/.github/workflows/ci-test-go.yml +++ b/.github/workflows/ci-test-go.yml @@ -78,6 +78,13 @@ jobs: - name: Install libbpf headers run: sudo apt-get update && sudo apt-get install -y libbpf-dev + - name: Install bpftool + run: ./.github/workflows/install-bpftool.sh + + - name: Generate vmlinux.h + run: make -C BPF kernel_headers + working-directory: KubeArmor + - name: Generate BPF files run: go generate ./... working-directory: KubeArmor diff --git a/.github/workflows/ci-test-systemd.yml b/.github/workflows/ci-test-systemd.yml index 0732fdf9f0..dc872d12d2 100644 --- a/.github/workflows/ci-test-systemd.yml +++ b/.github/workflows/ci-test-systemd.yml @@ -38,6 +38,9 @@ jobs: - name: Compile libbpf run: ./.github/workflows/install-libbpf.sh + - name: Install bpftool + run: ./.github/workflows/install-bpftool.sh + - name: Install GoReleaser uses: goreleaser/goreleaser-action@b953231f81b8dfd023c58e0854a721e35037f28b # v2 with: diff --git a/.github/workflows/install-bpftool.sh b/.github/workflows/install-bpftool.sh new file mode 100755 index 0000000000..7af1ce7f9f --- /dev/null +++ b/.github/workflows/install-bpftool.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# SPDX-License-Identifier: Apache-2.0 +# Copyright 2026 Authors of KubeArmor +set -euo pipefail + +BPFTOOL_VERSION="v7.3.0" +arch=$(uname -m) +if [[ "$arch" == "aarch64" ]]; then + arch=arm64 +elif [[ "$arch" == "x86_64" ]]; then + arch=amd64 +fi + +curl -LO "https://github.com/libbpf/bpftool/releases/download/${BPFTOOL_VERSION}/bpftool-${BPFTOOL_VERSION}-${arch}.tar.gz" +sudo tar -xzf "bpftool-${BPFTOOL_VERSION}-${arch}.tar.gz" -C /usr/local/bin +sudo chmod +x /usr/local/bin/bpftool +rm "bpftool-${BPFTOOL_VERSION}-${arch}.tar.gz" +bpftool version \ No newline at end of file diff --git a/.gitignore b/.gitignore index 8c0ddd541f..fe27b6310e 100644 --- a/.gitignore +++ b/.gitignore @@ -24,6 +24,9 @@ contribution/vagrant/*.log # object files **/BPF/**/*.o +# kernel header +vmlinux.h + # ignore list **/ignore.lst **/syscheck diff --git a/Dockerfile b/Dockerfile index 88e5be1655..3b7484c3bf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,26 +12,24 @@ WORKDIR /usr/src/KubeArmor COPY . . -WORKDIR /usr/src/KubeArmor/KubeArmor - -RUN go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.36.11 -RUN go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.6.1 - -RUN make - -WORKDIR /usr/src/KubeArmor/BPF - -# install bpftool RUN arch=$(uname -m) bpftool_version=v7.3.0 && \ if [[ "$arch" == "aarch64" ]]; then \ arch=arm64; \ elif [[ "$arch" == "x86_64" ]]; then \ - arch=amd64; \ + arch=amd64; \ fi && \ curl -LO https://github.com/libbpf/bpftool/releases/download/$bpftool_version/bpftool-$bpftool_version-$arch.tar.gz && \ tar -xzf bpftool-$bpftool_version-$arch.tar.gz -C /usr/local/bin && \ chmod +x /usr/local/bin/bpftool +WORKDIR /usr/src/KubeArmor/KubeArmor + +RUN go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.36.11 +RUN go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.6.1 + +RUN make + +WORKDIR /usr/src/KubeArmor/BPF COPY ./KubeArmor/BPF . diff --git a/KubeArmor/BPF/vmlinux.h b/KubeArmor/BPF/vmlinux.h deleted file mode 100644 index 37bcede19f..0000000000 --- a/KubeArmor/BPF/vmlinux.h +++ /dev/null @@ -1,162244 +0,0 @@ -#ifndef __VMLINUX_H__ -#define __VMLINUX_H__ - -#ifndef BPF_NO_PRESERVE_ACCESS_INDEX -#pragma clang attribute push (__attribute__((preserve_access_index)), apply_to = record) -#endif - -#ifndef __ksym -#define __ksym __attribute__((section(".ksyms"))) -#endif - -#ifndef __weak -#define __weak __attribute__((weak)) -#endif - -#ifndef __bpf_fastcall -#if __has_attribute(bpf_fastcall) -#define __bpf_fastcall __attribute__((bpf_fastcall)) -#else -#define __bpf_fastcall -#endif -#endif - -enum { - ACOMP_WALK_SLEEP = 1, - ACOMP_WALK_SRC_LINEAR = 2, - ACOMP_WALK_DST_LINEAR = 4, -}; - -enum { - ACPI_BATTERY_ALARM_PRESENT = 0, - ACPI_BATTERY_XINFO_PRESENT = 1, - ACPI_BATTERY_QUIRK_PERCENTAGE_CAPACITY = 2, - ACPI_BATTERY_QUIRK_THINKPAD_MAH = 3, - ACPI_BATTERY_QUIRK_DEGRADED_FULL_CHARGE = 4, -}; - -enum { - ACPI_BUTTON_LID_INIT_IGNORE = 0, - ACPI_BUTTON_LID_INIT_OPEN = 1, - ACPI_BUTTON_LID_INIT_METHOD = 2, - ACPI_BUTTON_LID_INIT_DISABLED = 3, -}; - -enum { - ACPI_GENL_ATTR_UNSPEC = 0, - ACPI_GENL_ATTR_EVENT = 1, - __ACPI_GENL_ATTR_MAX = 2, -}; - -enum { - ACPI_GENL_CMD_UNSPEC = 0, - ACPI_GENL_CMD_EVENT = 1, - __ACPI_GENL_CMD_MAX = 2, -}; - -enum { - ACPI_REFCLASS_LOCAL = 0, - ACPI_REFCLASS_ARG = 1, - ACPI_REFCLASS_REFOF = 2, - ACPI_REFCLASS_INDEX = 3, - ACPI_REFCLASS_TABLE = 4, - ACPI_REFCLASS_NAME = 5, - ACPI_REFCLASS_DEBUG = 6, - ACPI_REFCLASS_MAX = 6, -}; - -enum { - ACPI_RSC_INITGET = 0, - ACPI_RSC_INITSET = 1, - ACPI_RSC_FLAGINIT = 2, - ACPI_RSC_1BITFLAG = 3, - ACPI_RSC_2BITFLAG = 4, - ACPI_RSC_3BITFLAG = 5, - ACPI_RSC_6BITFLAG = 6, - ACPI_RSC_ADDRESS = 7, - ACPI_RSC_BITMASK = 8, - ACPI_RSC_BITMASK16 = 9, - ACPI_RSC_COUNT = 10, - ACPI_RSC_COUNT16 = 11, - ACPI_RSC_COUNT_GPIO_PIN = 12, - ACPI_RSC_COUNT_GPIO_RES = 13, - ACPI_RSC_COUNT_GPIO_VEN = 14, - ACPI_RSC_COUNT_SERIAL_RES = 15, - ACPI_RSC_COUNT_SERIAL_VEN = 16, - ACPI_RSC_DATA8 = 17, - ACPI_RSC_EXIT_EQ = 18, - ACPI_RSC_EXIT_LE = 19, - ACPI_RSC_EXIT_NE = 20, - ACPI_RSC_LENGTH = 21, - ACPI_RSC_MOVE_GPIO_PIN = 22, - ACPI_RSC_MOVE_GPIO_RES = 23, - ACPI_RSC_MOVE_SERIAL_RES = 24, - ACPI_RSC_MOVE_SERIAL_VEN = 25, - ACPI_RSC_MOVE8 = 26, - ACPI_RSC_MOVE16 = 27, - ACPI_RSC_MOVE32 = 28, - ACPI_RSC_MOVE64 = 29, - ACPI_RSC_SET8 = 30, - ACPI_RSC_SOURCE = 31, - ACPI_RSC_SOURCEX = 32, -}; - -enum { - ACPI_RSD_TITLE = 0, - ACPI_RSD_1BITFLAG = 1, - ACPI_RSD_2BITFLAG = 2, - ACPI_RSD_3BITFLAG = 3, - ACPI_RSD_6BITFLAG = 4, - ACPI_RSD_ADDRESS = 5, - ACPI_RSD_DWORDLIST = 6, - ACPI_RSD_LITERAL = 7, - ACPI_RSD_LONGLIST = 8, - ACPI_RSD_SHORTLIST = 9, - ACPI_RSD_SHORTLISTX = 10, - ACPI_RSD_SOURCE = 11, - ACPI_RSD_STRING = 12, - ACPI_RSD_UINT8 = 13, - ACPI_RSD_UINT16 = 14, - ACPI_RSD_UINT32 = 15, - ACPI_RSD_UINT64 = 16, - ACPI_RSD_WORDLIST = 17, - ACPI_RSD_LABEL = 18, - ACPI_RSD_SOURCE_LABEL = 19, -}; - -enum { - ACTION_FAIL = 0, - ACTION_REPREP = 1, - ACTION_DELAYED_REPREP = 2, - ACTION_RETRY = 3, - ACTION_DELAYED_RETRY = 4, -}; - -enum { - AFFINITY = 0, - AFFINITY_LIST = 1, - EFFECTIVE = 2, - EFFECTIVE_LIST = 3, -}; - -enum { - AML_FIELD_ACCESS_ANY = 0, - AML_FIELD_ACCESS_BYTE = 1, - AML_FIELD_ACCESS_WORD = 2, - AML_FIELD_ACCESS_DWORD = 3, - AML_FIELD_ACCESS_QWORD = 4, - AML_FIELD_ACCESS_BUFFER = 5, -}; - -enum { - AML_FIELD_ATTRIB_QUICK = 2, - AML_FIELD_ATTRIB_SEND_RECEIVE = 4, - AML_FIELD_ATTRIB_BYTE = 6, - AML_FIELD_ATTRIB_WORD = 8, - AML_FIELD_ATTRIB_BLOCK = 10, - AML_FIELD_ATTRIB_BYTES = 11, - AML_FIELD_ATTRIB_PROCESS_CALL = 12, - AML_FIELD_ATTRIB_BLOCK_PROCESS_CALL = 13, - AML_FIELD_ATTRIB_RAW_BYTES = 14, - AML_FIELD_ATTRIB_RAW_PROCESS_BYTES = 15, -}; - -enum { - AML_FIELD_UPDATE_PRESERVE = 0, - AML_FIELD_UPDATE_WRITE_AS_ONES = 32, - AML_FIELD_UPDATE_WRITE_AS_ZEROS = 64, -}; - -enum { - ARCH_LBR_BR_TYPE_JCC = 0, - ARCH_LBR_BR_TYPE_NEAR_IND_JMP = 1, - ARCH_LBR_BR_TYPE_NEAR_REL_JMP = 2, - ARCH_LBR_BR_TYPE_NEAR_IND_CALL = 3, - ARCH_LBR_BR_TYPE_NEAR_REL_CALL = 4, - ARCH_LBR_BR_TYPE_NEAR_RET = 5, - ARCH_LBR_BR_TYPE_KNOWN_MAX = 5, - ARCH_LBR_BR_TYPE_MAP_MAX = 16, -}; - -enum { - AS3711_REGULATOR = 0, - AS3711_BACKLIGHT = 1, -}; - -enum { - ASCII_NULL = 0, - ASCII_BELL = 7, - ASCII_BACKSPACE = 8, - ASCII_IGNORE_FIRST = 8, - ASCII_HTAB = 9, - ASCII_LINEFEED = 10, - ASCII_VTAB = 11, - ASCII_FORMFEED = 12, - ASCII_CAR_RET = 13, - ASCII_IGNORE_LAST = 13, - ASCII_SHIFTOUT = 14, - ASCII_SHIFTIN = 15, - ASCII_CANCEL = 24, - ASCII_SUBSTITUTE = 26, - ASCII_ESCAPE = 27, - ASCII_CSI_IGNORE_FIRST = 32, - ASCII_CSI_IGNORE_LAST = 63, - ASCII_DEL = 127, - ASCII_EXT_CSI = 155, -}; - -enum { - ASSUME_PERFECT = 255, - ASSUME_VALID_DTB = 1, - ASSUME_VALID_INPUT = 2, - ASSUME_LATEST = 4, - ASSUME_NO_ROLLBACK = 8, - ASSUME_LIBFDT_ORDER = 16, - ASSUME_LIBFDT_FLAWLESS = 32, -}; - -enum { - ATA_EH_SPDN_NCQ_OFF = 1, - ATA_EH_SPDN_SPEED_DOWN = 2, - ATA_EH_SPDN_FALLBACK_TO_PIO = 4, - ATA_EH_SPDN_KEEP_ERRORS = 8, - ATA_EFLAG_IS_IO = 1, - ATA_EFLAG_DUBIOUS_XFER = 2, - ATA_EFLAG_OLD_ER = -2147483648, - ATA_ECAT_NONE = 0, - ATA_ECAT_ATA_BUS = 1, - ATA_ECAT_TOUT_HSM = 2, - ATA_ECAT_UNK_DEV = 3, - ATA_ECAT_DUBIOUS_NONE = 4, - ATA_ECAT_DUBIOUS_ATA_BUS = 5, - ATA_ECAT_DUBIOUS_TOUT_HSM = 6, - ATA_ECAT_DUBIOUS_UNK_DEV = 7, - ATA_ECAT_NR = 8, - ATA_EH_CMD_DFL_TIMEOUT = 5000, - ATA_EH_RESET_COOL_DOWN = 5000, - ATA_EH_PRERESET_TIMEOUT = 10000, - ATA_EH_FASTDRAIN_INTERVAL = 3000, - ATA_EH_UA_TRIES = 5, - ATA_EH_PROBE_TRIAL_INTERVAL = 60000, - ATA_EH_PROBE_TRIALS = 2, -}; - -enum { - ATA_GEN_CLASS_MATCH = 1, - ATA_GEN_FORCE_DMA = 2, - ATA_GEN_INTEL_IDER = 4, -}; - -enum { - ATA_MAX_DEVICES = 2, - ATA_MAX_PRD = 256, - ATA_SECT_SIZE = 512, - ATA_MAX_SECTORS_128 = 128, - ATA_MAX_SECTORS = 256, - ATA_MAX_SECTORS_1024 = 1024, - ATA_MAX_SECTORS_LBA48 = 65535, - ATA_MAX_SECTORS_TAPE = 65535, - ATA_MAX_TRIM_RNUM = 64, - ATA_ID_WORDS = 256, - ATA_ID_CONFIG = 0, - ATA_ID_CYLS = 1, - ATA_ID_HEADS = 3, - ATA_ID_SECTORS = 6, - ATA_ID_SERNO = 10, - ATA_ID_BUF_SIZE = 21, - ATA_ID_FW_REV = 23, - ATA_ID_PROD = 27, - ATA_ID_MAX_MULTSECT = 47, - ATA_ID_DWORD_IO = 48, - ATA_ID_TRUSTED = 48, - ATA_ID_CAPABILITY = 49, - ATA_ID_OLD_PIO_MODES = 51, - ATA_ID_OLD_DMA_MODES = 52, - ATA_ID_FIELD_VALID = 53, - ATA_ID_CUR_CYLS = 54, - ATA_ID_CUR_HEADS = 55, - ATA_ID_CUR_SECTORS = 56, - ATA_ID_MULTSECT = 59, - ATA_ID_LBA_CAPACITY = 60, - ATA_ID_SWDMA_MODES = 62, - ATA_ID_MWDMA_MODES = 63, - ATA_ID_PIO_MODES = 64, - ATA_ID_EIDE_DMA_MIN = 65, - ATA_ID_EIDE_DMA_TIME = 66, - ATA_ID_EIDE_PIO = 67, - ATA_ID_EIDE_PIO_IORDY = 68, - ATA_ID_ADDITIONAL_SUPP = 69, - ATA_ID_QUEUE_DEPTH = 75, - ATA_ID_SATA_CAPABILITY = 76, - ATA_ID_SATA_CAPABILITY_2 = 77, - ATA_ID_FEATURE_SUPP = 78, - ATA_ID_MAJOR_VER = 80, - ATA_ID_COMMAND_SET_1 = 82, - ATA_ID_COMMAND_SET_2 = 83, - ATA_ID_CFSSE = 84, - ATA_ID_CFS_ENABLE_1 = 85, - ATA_ID_CFS_ENABLE_2 = 86, - ATA_ID_CSF_DEFAULT = 87, - ATA_ID_UDMA_MODES = 88, - ATA_ID_HW_CONFIG = 93, - ATA_ID_SPG = 98, - ATA_ID_LBA_CAPACITY_2 = 100, - ATA_ID_SECTOR_SIZE = 106, - ATA_ID_WWN = 108, - ATA_ID_LOGICAL_SECTOR_SIZE = 117, - ATA_ID_COMMAND_SET_3 = 119, - ATA_ID_COMMAND_SET_4 = 120, - ATA_ID_LAST_LUN = 126, - ATA_ID_DLF = 128, - ATA_ID_CSFO = 129, - ATA_ID_CFA_POWER = 160, - ATA_ID_CFA_KEY_MGMT = 162, - ATA_ID_CFA_MODES = 163, - ATA_ID_DATA_SET_MGMT = 169, - ATA_ID_SCT_CMD_XPORT = 206, - ATA_ID_ROT_SPEED = 217, - ATA_ID_PIO4 = 2, - ATA_ID_SERNO_LEN = 20, - ATA_ID_FW_REV_LEN = 8, - ATA_ID_PROD_LEN = 40, - ATA_ID_WWN_LEN = 8, - ATA_PCI_CTL_OFS = 2, - ATA_PIO0 = 1, - ATA_PIO1 = 3, - ATA_PIO2 = 7, - ATA_PIO3 = 15, - ATA_PIO4 = 31, - ATA_PIO5 = 63, - ATA_PIO6 = 127, - ATA_PIO4_ONLY = 16, - ATA_SWDMA0 = 1, - ATA_SWDMA1 = 3, - ATA_SWDMA2 = 7, - ATA_SWDMA2_ONLY = 4, - ATA_MWDMA0 = 1, - ATA_MWDMA1 = 3, - ATA_MWDMA2 = 7, - ATA_MWDMA3 = 15, - ATA_MWDMA4 = 31, - ATA_MWDMA12_ONLY = 6, - ATA_MWDMA2_ONLY = 4, - ATA_UDMA0 = 1, - ATA_UDMA1 = 3, - ATA_UDMA2 = 7, - ATA_UDMA3 = 15, - ATA_UDMA4 = 31, - ATA_UDMA5 = 63, - ATA_UDMA6 = 127, - ATA_UDMA7 = 255, - ATA_UDMA24_ONLY = 20, - ATA_UDMA_MASK_40C = 7, - ATA_PRD_SZ = 8, - ATA_PRD_TBL_SZ = 2048, - ATA_PRD_EOT = -2147483648, - ATA_DMA_TABLE_OFS = 4, - ATA_DMA_STATUS = 2, - ATA_DMA_CMD = 0, - ATA_DMA_WR = 8, - ATA_DMA_START = 1, - ATA_DMA_INTR = 4, - ATA_DMA_ERR = 2, - ATA_DMA_ACTIVE = 1, - ATA_HOB = 128, - ATA_NIEN = 2, - ATA_LBA = 64, - ATA_DEV1 = 16, - ATA_DEVICE_OBS = 160, - ATA_DEVCTL_OBS = 8, - ATA_BUSY = 128, - ATA_DRDY = 64, - ATA_DF = 32, - ATA_DSC = 16, - ATA_DRQ = 8, - ATA_CORR = 4, - ATA_SENSE = 2, - ATA_ERR = 1, - ATA_SRST = 4, - ATA_ICRC = 128, - ATA_BBK = 128, - ATA_UNC = 64, - ATA_MC = 32, - ATA_IDNF = 16, - ATA_MCR = 8, - ATA_ABORTED = 4, - ATA_TRK0NF = 2, - ATA_AMNF = 1, - ATAPI_LFS = 240, - ATAPI_EOM = 2, - ATAPI_ILI = 1, - ATAPI_IO = 2, - ATAPI_COD = 1, - ATA_REG_DATA = 0, - ATA_REG_ERR = 1, - ATA_REG_NSECT = 2, - ATA_REG_LBAL = 3, - ATA_REG_LBAM = 4, - ATA_REG_LBAH = 5, - ATA_REG_DEVICE = 6, - ATA_REG_STATUS = 7, - ATA_REG_FEATURE = 1, - ATA_REG_CMD = 7, - ATA_REG_BYTEL = 4, - ATA_REG_BYTEH = 5, - ATA_REG_DEVSEL = 6, - ATA_REG_IRQ = 2, - ATA_CMD_DEV_RESET = 8, - ATA_CMD_CHK_POWER = 229, - ATA_CMD_STANDBY = 226, - ATA_CMD_IDLE = 227, - ATA_CMD_EDD = 144, - ATA_CMD_DOWNLOAD_MICRO = 146, - ATA_CMD_DOWNLOAD_MICRO_DMA = 147, - ATA_CMD_NOP = 0, - ATA_CMD_FLUSH = 231, - ATA_CMD_FLUSH_EXT = 234, - ATA_CMD_ID_ATA = 236, - ATA_CMD_ID_ATAPI = 161, - ATA_CMD_SERVICE = 162, - ATA_CMD_READ = 200, - ATA_CMD_READ_EXT = 37, - ATA_CMD_READ_QUEUED = 38, - ATA_CMD_READ_STREAM_EXT = 43, - ATA_CMD_READ_STREAM_DMA_EXT = 42, - ATA_CMD_WRITE = 202, - ATA_CMD_WRITE_EXT = 53, - ATA_CMD_WRITE_QUEUED = 54, - ATA_CMD_WRITE_STREAM_EXT = 59, - ATA_CMD_WRITE_STREAM_DMA_EXT = 58, - ATA_CMD_WRITE_FUA_EXT = 61, - ATA_CMD_WRITE_QUEUED_FUA_EXT = 62, - ATA_CMD_FPDMA_READ = 96, - ATA_CMD_FPDMA_WRITE = 97, - ATA_CMD_NCQ_NON_DATA = 99, - ATA_CMD_FPDMA_SEND = 100, - ATA_CMD_FPDMA_RECV = 101, - ATA_CMD_PIO_READ = 32, - ATA_CMD_PIO_READ_EXT = 36, - ATA_CMD_PIO_WRITE = 48, - ATA_CMD_PIO_WRITE_EXT = 52, - ATA_CMD_READ_MULTI = 196, - ATA_CMD_READ_MULTI_EXT = 41, - ATA_CMD_WRITE_MULTI = 197, - ATA_CMD_WRITE_MULTI_EXT = 57, - ATA_CMD_WRITE_MULTI_FUA_EXT = 206, - ATA_CMD_SET_FEATURES = 239, - ATA_CMD_SET_MULTI = 198, - ATA_CMD_PACKET = 160, - ATA_CMD_VERIFY = 64, - ATA_CMD_VERIFY_EXT = 66, - ATA_CMD_WRITE_UNCORR_EXT = 69, - ATA_CMD_STANDBYNOW1 = 224, - ATA_CMD_IDLEIMMEDIATE = 225, - ATA_CMD_SLEEP = 230, - ATA_CMD_INIT_DEV_PARAMS = 145, - ATA_CMD_READ_NATIVE_MAX = 248, - ATA_CMD_READ_NATIVE_MAX_EXT = 39, - ATA_CMD_SET_MAX = 249, - ATA_CMD_SET_MAX_EXT = 55, - ATA_CMD_READ_LOG_EXT = 47, - ATA_CMD_WRITE_LOG_EXT = 63, - ATA_CMD_READ_LOG_DMA_EXT = 71, - ATA_CMD_WRITE_LOG_DMA_EXT = 87, - ATA_CMD_TRUSTED_NONDATA = 91, - ATA_CMD_TRUSTED_RCV = 92, - ATA_CMD_TRUSTED_RCV_DMA = 93, - ATA_CMD_TRUSTED_SND = 94, - ATA_CMD_TRUSTED_SND_DMA = 95, - ATA_CMD_PMP_READ = 228, - ATA_CMD_PMP_READ_DMA = 233, - ATA_CMD_PMP_WRITE = 232, - ATA_CMD_PMP_WRITE_DMA = 235, - ATA_CMD_CONF_OVERLAY = 177, - ATA_CMD_SEC_SET_PASS = 241, - ATA_CMD_SEC_UNLOCK = 242, - ATA_CMD_SEC_ERASE_PREP = 243, - ATA_CMD_SEC_ERASE_UNIT = 244, - ATA_CMD_SEC_FREEZE_LOCK = 245, - ATA_CMD_SEC_DISABLE_PASS = 246, - ATA_CMD_CONFIG_STREAM = 81, - ATA_CMD_SMART = 176, - ATA_CMD_MEDIA_LOCK = 222, - ATA_CMD_MEDIA_UNLOCK = 223, - ATA_CMD_DSM = 6, - ATA_CMD_CHK_MED_CRD_TYP = 209, - ATA_CMD_CFA_REQ_EXT_ERR = 3, - ATA_CMD_CFA_WRITE_NE = 56, - ATA_CMD_CFA_TRANS_SECT = 135, - ATA_CMD_CFA_ERASE = 192, - ATA_CMD_CFA_WRITE_MULT_NE = 205, - ATA_CMD_REQ_SENSE_DATA = 11, - ATA_CMD_SANITIZE_DEVICE = 180, - ATA_CMD_ZAC_MGMT_IN = 74, - ATA_CMD_ZAC_MGMT_OUT = 159, - ATA_CMD_RESTORE = 16, - ATA_SUBCMD_FPDMA_RECV_RD_LOG_DMA_EXT = 1, - ATA_SUBCMD_FPDMA_RECV_ZAC_MGMT_IN = 2, - ATA_SUBCMD_FPDMA_SEND_DSM = 0, - ATA_SUBCMD_FPDMA_SEND_WR_LOG_DMA_EXT = 2, - ATA_SUBCMD_NCQ_NON_DATA_ABORT_QUEUE = 0, - ATA_SUBCMD_NCQ_NON_DATA_SET_FEATURES = 5, - ATA_SUBCMD_NCQ_NON_DATA_ZERO_EXT = 6, - ATA_SUBCMD_NCQ_NON_DATA_ZAC_MGMT_OUT = 7, - ATA_SUBCMD_ZAC_MGMT_IN_REPORT_ZONES = 0, - ATA_SUBCMD_ZAC_MGMT_OUT_CLOSE_ZONE = 1, - ATA_SUBCMD_ZAC_MGMT_OUT_FINISH_ZONE = 2, - ATA_SUBCMD_ZAC_MGMT_OUT_OPEN_ZONE = 3, - ATA_SUBCMD_ZAC_MGMT_OUT_RESET_WRITE_POINTER = 4, - ATA_LOG_DIRECTORY = 0, - ATA_LOG_SATA_NCQ = 16, - ATA_LOG_NCQ_NON_DATA = 18, - ATA_LOG_NCQ_SEND_RECV = 19, - ATA_LOG_CDL = 24, - ATA_LOG_CDL_SIZE = 512, - ATA_LOG_IDENTIFY_DEVICE = 48, - ATA_LOG_SENSE_NCQ = 15, - ATA_LOG_SENSE_NCQ_SIZE = 1024, - ATA_LOG_CONCURRENT_POSITIONING_RANGES = 71, - ATA_LOG_SUPPORTED_CAPABILITIES = 3, - ATA_LOG_CURRENT_SETTINGS = 4, - ATA_LOG_SECURITY = 6, - ATA_LOG_SATA_SETTINGS = 8, - ATA_LOG_ZONED_INFORMATION = 9, - ATA_LOG_DEVSLP_OFFSET = 48, - ATA_LOG_DEVSLP_SIZE = 8, - ATA_LOG_DEVSLP_MDAT = 0, - ATA_LOG_DEVSLP_MDAT_MASK = 31, - ATA_LOG_DEVSLP_DETO = 1, - ATA_LOG_DEVSLP_VALID = 7, - ATA_LOG_DEVSLP_VALID_MASK = 128, - ATA_LOG_NCQ_PRIO_OFFSET = 9, - ATA_LOG_NCQ_SEND_RECV_SUBCMDS_OFFSET = 0, - ATA_LOG_NCQ_SEND_RECV_SUBCMDS_DSM = 1, - ATA_LOG_NCQ_SEND_RECV_DSM_OFFSET = 4, - ATA_LOG_NCQ_SEND_RECV_DSM_TRIM = 1, - ATA_LOG_NCQ_SEND_RECV_RD_LOG_OFFSET = 8, - ATA_LOG_NCQ_SEND_RECV_RD_LOG_SUPPORTED = 1, - ATA_LOG_NCQ_SEND_RECV_WR_LOG_OFFSET = 12, - ATA_LOG_NCQ_SEND_RECV_WR_LOG_SUPPORTED = 1, - ATA_LOG_NCQ_SEND_RECV_ZAC_MGMT_OFFSET = 16, - ATA_LOG_NCQ_SEND_RECV_ZAC_MGMT_OUT_SUPPORTED = 1, - ATA_LOG_NCQ_SEND_RECV_ZAC_MGMT_IN_SUPPORTED = 2, - ATA_LOG_NCQ_SEND_RECV_SIZE = 20, - ATA_LOG_NCQ_NON_DATA_SUBCMDS_OFFSET = 0, - ATA_LOG_NCQ_NON_DATA_ABORT_OFFSET = 0, - ATA_LOG_NCQ_NON_DATA_ABORT_NCQ = 1, - ATA_LOG_NCQ_NON_DATA_ABORT_ALL = 2, - ATA_LOG_NCQ_NON_DATA_ABORT_STREAMING = 4, - ATA_LOG_NCQ_NON_DATA_ABORT_NON_STREAMING = 8, - ATA_LOG_NCQ_NON_DATA_ABORT_SELECTED = 16, - ATA_LOG_NCQ_NON_DATA_ZAC_MGMT_OFFSET = 28, - ATA_LOG_NCQ_NON_DATA_ZAC_MGMT_OUT = 1, - ATA_LOG_NCQ_NON_DATA_SIZE = 64, - ATA_CMD_READ_LONG = 34, - ATA_CMD_READ_LONG_ONCE = 35, - ATA_CMD_WRITE_LONG = 50, - ATA_CMD_WRITE_LONG_ONCE = 51, - SETFEATURES_XFER = 3, - XFER_UDMA_7 = 71, - XFER_UDMA_6 = 70, - XFER_UDMA_5 = 69, - XFER_UDMA_4 = 68, - XFER_UDMA_3 = 67, - XFER_UDMA_2 = 66, - XFER_UDMA_1 = 65, - XFER_UDMA_0 = 64, - XFER_MW_DMA_4 = 36, - XFER_MW_DMA_3 = 35, - XFER_MW_DMA_2 = 34, - XFER_MW_DMA_1 = 33, - XFER_MW_DMA_0 = 32, - XFER_SW_DMA_2 = 18, - XFER_SW_DMA_1 = 17, - XFER_SW_DMA_0 = 16, - XFER_PIO_6 = 14, - XFER_PIO_5 = 13, - XFER_PIO_4 = 12, - XFER_PIO_3 = 11, - XFER_PIO_2 = 10, - XFER_PIO_1 = 9, - XFER_PIO_0 = 8, - XFER_PIO_SLOW = 0, - SETFEATURES_WC_ON = 2, - SETFEATURES_WC_OFF = 130, - SETFEATURES_RA_ON = 170, - SETFEATURES_RA_OFF = 85, - SETFEATURES_AAM_ON = 66, - SETFEATURES_AAM_OFF = 194, - SETFEATURES_SPINUP = 7, - SETFEATURES_SPINUP_TIMEOUT = 30000, - SETFEATURES_SATA_ENABLE = 16, - SETFEATURES_SATA_DISABLE = 144, - SETFEATURES_CDL = 13, - SATA_FPDMA_OFFSET = 1, - SATA_FPDMA_AA = 2, - SATA_DIPM = 3, - SATA_FPDMA_IN_ORDER = 4, - SATA_AN = 5, - SATA_SSP = 6, - SATA_DEVSLP = 9, - SETFEATURE_SENSE_DATA = 195, - SETFEATURE_SENSE_DATA_SUCC_NCQ = 196, - ATA_SET_MAX_ADDR = 0, - ATA_SET_MAX_PASSWD = 1, - ATA_SET_MAX_LOCK = 2, - ATA_SET_MAX_UNLOCK = 3, - ATA_SET_MAX_FREEZE_LOCK = 4, - ATA_SET_MAX_PASSWD_DMA = 5, - ATA_SET_MAX_UNLOCK_DMA = 6, - ATA_DCO_RESTORE = 192, - ATA_DCO_FREEZE_LOCK = 193, - ATA_DCO_IDENTIFY = 194, - ATA_DCO_SET = 195, - ATA_SMART_ENABLE = 216, - ATA_SMART_READ_VALUES = 208, - ATA_SMART_READ_THRESHOLDS = 209, - ATA_DSM_TRIM = 1, - ATA_SMART_LBAM_PASS = 79, - ATA_SMART_LBAH_PASS = 194, - ATAPI_PKT_DMA = 1, - ATAPI_DMADIR = 4, - ATAPI_CDB_LEN = 16, - SATA_PMP_MAX_PORTS = 15, - SATA_PMP_CTRL_PORT = 15, - SATA_PMP_GSCR_DWORDS = 128, - SATA_PMP_GSCR_PROD_ID = 0, - SATA_PMP_GSCR_REV = 1, - SATA_PMP_GSCR_PORT_INFO = 2, - SATA_PMP_GSCR_ERROR = 32, - SATA_PMP_GSCR_ERROR_EN = 33, - SATA_PMP_GSCR_FEAT = 64, - SATA_PMP_GSCR_FEAT_EN = 96, - SATA_PMP_PSCR_STATUS = 0, - SATA_PMP_PSCR_ERROR = 1, - SATA_PMP_PSCR_CONTROL = 2, - SATA_PMP_FEAT_BIST = 1, - SATA_PMP_FEAT_PMREQ = 2, - SATA_PMP_FEAT_DYNSSC = 4, - SATA_PMP_FEAT_NOTIFY = 8, - ATA_CBL_NONE = 0, - ATA_CBL_PATA40 = 1, - ATA_CBL_PATA80 = 2, - ATA_CBL_PATA40_SHORT = 3, - ATA_CBL_PATA_UNK = 4, - ATA_CBL_PATA_IGN = 5, - ATA_CBL_SATA = 6, - SCR_STATUS = 0, - SCR_ERROR = 1, - SCR_CONTROL = 2, - SCR_ACTIVE = 3, - SCR_NOTIFICATION = 4, - SERR_DATA_RECOVERED = 1, - SERR_COMM_RECOVERED = 2, - SERR_DATA = 256, - SERR_PERSISTENT = 512, - SERR_PROTOCOL = 1024, - SERR_INTERNAL = 2048, - SERR_PHYRDY_CHG = 65536, - SERR_PHY_INT_ERR = 131072, - SERR_COMM_WAKE = 262144, - SERR_10B_8B_ERR = 524288, - SERR_DISPARITY = 1048576, - SERR_CRC = 2097152, - SERR_HANDSHAKE = 4194304, - SERR_LINK_SEQ_ERR = 8388608, - SERR_TRANS_ST_ERROR = 16777216, - SERR_UNRECOG_FIS = 33554432, - SERR_DEV_XCHG = 67108864, -}; - -enum { - ATA_READID_POSTRESET = 1, - ATA_DNXFER_PIO = 0, - ATA_DNXFER_DMA = 1, - ATA_DNXFER_40C = 2, - ATA_DNXFER_FORCE_PIO = 3, - ATA_DNXFER_FORCE_PIO0 = 4, - ATA_DNXFER_QUIET = -2147483648, -}; - -enum { - AT_PKT_END = -1, - BEYOND_PKT_END = -2, -}; - -enum { - AUTOP_INVALID = 0, - AUTOP_HDD = 1, - AUTOP_SSD_QD1 = 2, - AUTOP_SSD_DFL = 3, - AUTOP_SSD_FAST = 4, -}; - -enum { - AX25_VALUES_IPDEFMODE = 0, - AX25_VALUES_AXDEFMODE = 1, - AX25_VALUES_BACKOFF = 2, - AX25_VALUES_CONMODE = 3, - AX25_VALUES_WINDOW = 4, - AX25_VALUES_EWINDOW = 5, - AX25_VALUES_T1 = 6, - AX25_VALUES_T2 = 7, - AX25_VALUES_T3 = 8, - AX25_VALUES_IDLE = 9, - AX25_VALUES_N2 = 10, - AX25_VALUES_PACLEN = 11, - AX25_VALUES_PROTOCOL = 12, - AX25_VALUES_DS_TIMEOUT = 13, - AX25_MAX_VALUES = 14, -}; - -enum { - Audit_equal = 0, - Audit_not_equal = 1, - Audit_bitmask = 2, - Audit_bittest = 3, - Audit_lt = 4, - Audit_gt = 5, - Audit_le = 6, - Audit_ge = 7, - Audit_bad = 8, -}; - -enum { - BAD_STACK = -1, - NOT_STACK = 0, - GOOD_FRAME = 1, - GOOD_STACK = 2, -}; - -enum { - BDX_PCI_UNCORE_HA = 0, - BDX_PCI_UNCORE_IMC = 1, - BDX_PCI_UNCORE_IRP = 2, - BDX_PCI_UNCORE_QPI = 3, - BDX_PCI_UNCORE_R2PCIE = 4, - BDX_PCI_UNCORE_R3QPI = 5, -}; - -enum { - BIAS = 2147483648, -}; - -enum { - BIOSET_NEED_BVECS = 1, - BIOSET_NEED_RESCUER = 2, - BIOSET_PERCPU_CACHE = 4, -}; - -enum { - BIOS_FREQ_BASE_PLATFORM = 0, - BIOS_FREQ_BASE_INTERVAL_TIMER = 1, - BIOS_FREQ_BASE_REALTIME_CLOCK = 2, -}; - -enum { - BIOS_STATUS_MORE_PASSES = 1, - BIOS_STATUS_SUCCESS = 0, - BIOS_STATUS_UNIMPLEMENTED = -38, - BIOS_STATUS_EINVAL = -22, - BIOS_STATUS_UNAVAIL = -16, - BIOS_STATUS_ABORT = -4, -}; - -enum { - BIO_PAGE_PINNED = 0, - BIO_CLONED = 1, - BIO_QUIET = 2, - BIO_CHAIN = 3, - BIO_REFFED = 4, - BIO_BPS_THROTTLED = 5, - BIO_TRACE_COMPLETION = 6, - BIO_CGROUP_ACCT = 7, - BIO_QOS_THROTTLED = 8, - BIO_TG_BPS_THROTTLED = 8, - BIO_QOS_MERGED = 9, - BIO_REMAPPED = 10, - BIO_ZONE_WRITE_PLUGGING = 11, - BIO_EMULATES_ZONE_APPEND = 12, - BIO_FLAG_LAST = 13, -}; - -enum { - BLK_MQ_F_TAG_QUEUE_SHARED = 2, - BLK_MQ_F_STACKING = 4, - BLK_MQ_F_TAG_HCTX_SHARED = 8, - BLK_MQ_F_BLOCKING = 16, - BLK_MQ_F_TAG_RR = 32, - BLK_MQ_F_NO_SCHED_BY_DEFAULT = 64, - BLK_MQ_F_MAX = 128, -}; - -enum { - BLK_MQ_NO_TAG = 4294967295, - BLK_MQ_TAG_MIN = 1, - BLK_MQ_TAG_MAX = 4294967294, -}; - -enum { - BLK_MQ_REQ_NOWAIT = 1, - BLK_MQ_REQ_RESERVED = 2, - BLK_MQ_REQ_PM = 4, -}; - -enum { - BLK_MQ_S_STOPPED = 0, - BLK_MQ_S_TAG_ACTIVE = 1, - BLK_MQ_S_SCHED_RESTART = 2, - BLK_MQ_S_INACTIVE = 3, - BLK_MQ_S_MAX = 4, -}; - -enum { - BLK_MQ_UNIQUE_TAG_BITS = 16, - BLK_MQ_UNIQUE_TAG_MASK = 65535, -}; - -enum { - BLOCK_BITMAP = 0, - INODE_BITMAP = 1, - INODE_TABLE = 2, - GROUP_TABLE_COUNT = 3, -}; - -enum { - BPF_ADJ_ROOM_ENCAP_L2_MASK = 255, - BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 56, -}; - -enum { - BPF_ANY = 0, - BPF_NOEXIST = 1, - BPF_EXIST = 2, - BPF_F_LOCK = 4, -}; - -enum { - BPF_CSUM_LEVEL_QUERY = 0, - BPF_CSUM_LEVEL_INC = 1, - BPF_CSUM_LEVEL_DEC = 2, - BPF_CSUM_LEVEL_RESET = 3, -}; - -enum { - BPF_FIB_LKUP_RET_SUCCESS = 0, - BPF_FIB_LKUP_RET_BLACKHOLE = 1, - BPF_FIB_LKUP_RET_UNREACHABLE = 2, - BPF_FIB_LKUP_RET_PROHIBIT = 3, - BPF_FIB_LKUP_RET_NOT_FWDED = 4, - BPF_FIB_LKUP_RET_FWD_DISABLED = 5, - BPF_FIB_LKUP_RET_UNSUPP_LWT = 6, - BPF_FIB_LKUP_RET_NO_NEIGH = 7, - BPF_FIB_LKUP_RET_FRAG_NEEDED = 8, - BPF_FIB_LKUP_RET_NO_SRC_ADDR = 9, -}; - -enum { - BPF_FIB_LOOKUP_DIRECT = 1, - BPF_FIB_LOOKUP_OUTPUT = 2, - BPF_FIB_LOOKUP_SKIP_NEIGH = 4, - BPF_FIB_LOOKUP_TBID = 8, - BPF_FIB_LOOKUP_SRC = 16, - BPF_FIB_LOOKUP_MARK = 32, -}; - -enum { - BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG = 1, - BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL = 2, - BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP = 4, -}; - -enum { - BPF_F_ADJ_ROOM_FIXED_GSO = 1, - BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 2, - BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 4, - BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 8, - BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 16, - BPF_F_ADJ_ROOM_NO_CSUM_RESET = 32, - BPF_F_ADJ_ROOM_ENCAP_L2_ETH = 64, - BPF_F_ADJ_ROOM_DECAP_L3_IPV4 = 128, - BPF_F_ADJ_ROOM_DECAP_L3_IPV6 = 256, -}; - -enum { - BPF_F_BPRM_SECUREEXEC = 1, -}; - -enum { - BPF_F_CURRENT_NETNS = -1, -}; - -enum { - BPF_F_GET_BRANCH_RECORDS_SIZE = 1, -}; - -enum { - BPF_F_HDR_FIELD_MASK = 15, -}; - -enum { - BPF_F_INDEX_MASK = 4294967295ULL, - BPF_F_CURRENT_CPU = 4294967295ULL, - BPF_F_CTXLEN_MASK = 4503595332403200ULL, -}; - -enum { - BPF_F_INGRESS = 1, - BPF_F_BROADCAST = 8, - BPF_F_EXCLUDE_INGRESS = 16, -}; - -enum { - BPF_F_KPROBE_MULTI_RETURN = 1, -}; - -enum { - BPF_F_NEIGH = 65536, - BPF_F_PEER = 131072, - BPF_F_NEXTHOP = 262144, -}; - -enum { - BPF_F_NO_PREALLOC = 1, - BPF_F_NO_COMMON_LRU = 2, - BPF_F_NUMA_NODE = 4, - BPF_F_RDONLY = 8, - BPF_F_WRONLY = 16, - BPF_F_STACK_BUILD_ID = 32, - BPF_F_ZERO_SEED = 64, - BPF_F_RDONLY_PROG = 128, - BPF_F_WRONLY_PROG = 256, - BPF_F_CLONE = 512, - BPF_F_MMAPABLE = 1024, - BPF_F_PRESERVE_ELEMS = 2048, - BPF_F_INNER_MAP = 4096, - BPF_F_LINK = 8192, - BPF_F_PATH_FD = 16384, - BPF_F_VTYPE_BTF_OBJ_FD = 32768, - BPF_F_TOKEN_FD = 65536, - BPF_F_SEGV_ON_FAULT = 131072, - BPF_F_NO_USER_CONV = 262144, -}; - -enum { - BPF_F_PSEUDO_HDR = 16, - BPF_F_MARK_MANGLED_0 = 32, - BPF_F_MARK_ENFORCE = 64, - BPF_F_IPV6 = 128, -}; - -enum { - BPF_F_RECOMPUTE_CSUM = 1, - BPF_F_INVALIDATE_HASH = 2, -}; - -enum { - BPF_F_SKIP_FIELD_MASK = 255, - BPF_F_USER_STACK = 256, - BPF_F_FAST_STACK_CMP = 512, - BPF_F_REUSE_STACKID = 1024, - BPF_F_USER_BUILD_ID = 2048, -}; - -enum { - BPF_F_SYSCTL_BASE_NAME = 1, -}; - -enum { - BPF_F_TIMER_ABS = 1, - BPF_F_TIMER_CPU_PIN = 2, -}; - -enum { - BPF_F_TUNINFO_FLAGS = 16, -}; - -enum { - BPF_F_TUNINFO_IPV6 = 1, -}; - -enum { - BPF_F_UPROBE_MULTI_RETURN = 1, -}; - -enum { - BPF_F_ZERO_CSUM_TX = 2, - BPF_F_DONT_FRAGMENT = 4, - BPF_F_SEQ_NUMBER = 8, - BPF_F_NO_TUNNEL_KEY = 16, -}; - -enum { - BPF_LOAD_HDR_OPT_TCP_SYN = 1, -}; - -enum { - BPF_LOCAL_STORAGE_GET_F_CREATE = 1, - BPF_SK_STORAGE_GET_F_CREATE = 1, -}; - -enum { - BPF_MAX_LOOPS = 8388608, - BPF_MAX_TIMED_LOOPS = 65535, -}; - -enum { - BPF_MAX_TRAMP_LINKS = 38, -}; - -enum { - BPF_RB_AVAIL_DATA = 0, - BPF_RB_RING_SIZE = 1, - BPF_RB_CONS_POS = 2, - BPF_RB_PROD_POS = 3, -}; - -enum { - BPF_RB_NO_WAKEUP = 1, - BPF_RB_FORCE_WAKEUP = 2, -}; - -enum { - BPF_REG_0 = 0, - BPF_REG_1 = 1, - BPF_REG_2 = 2, - BPF_REG_3 = 3, - BPF_REG_4 = 4, - BPF_REG_5 = 5, - BPF_REG_6 = 6, - BPF_REG_7 = 7, - BPF_REG_8 = 8, - BPF_REG_9 = 9, - BPF_REG_10 = 10, - __MAX_BPF_REG = 11, -}; - -enum { - BPF_RINGBUF_BUSY_BIT = 2147483648, - BPF_RINGBUF_DISCARD_BIT = 1073741824, - BPF_RINGBUF_HDR_SZ = 8, -}; - -enum { - BPF_SKB_TSTAMP_UNSPEC = 0, - BPF_SKB_TSTAMP_DELIVERY_MONO = 1, - BPF_SKB_CLOCK_REALTIME = 0, - BPF_SKB_CLOCK_MONOTONIC = 1, - BPF_SKB_CLOCK_TAI = 2, -}; - -enum { - BPF_SK_LOOKUP_F_REPLACE = 1, - BPF_SK_LOOKUP_F_NO_REUSEPORT = 2, -}; - -enum { - BPF_SOCK_OPS_RTO_CB_FLAG = 1, - BPF_SOCK_OPS_RETRANS_CB_FLAG = 2, - BPF_SOCK_OPS_STATE_CB_FLAG = 4, - BPF_SOCK_OPS_RTT_CB_FLAG = 8, - BPF_SOCK_OPS_PARSE_ALL_HDR_OPT_CB_FLAG = 16, - BPF_SOCK_OPS_PARSE_UNKNOWN_HDR_OPT_CB_FLAG = 32, - BPF_SOCK_OPS_WRITE_HDR_OPT_CB_FLAG = 64, - BPF_SOCK_OPS_ALL_CB_FLAGS = 127, -}; - -enum { - BPF_SOCK_OPS_VOID = 0, - BPF_SOCK_OPS_TIMEOUT_INIT = 1, - BPF_SOCK_OPS_RWND_INIT = 2, - BPF_SOCK_OPS_TCP_CONNECT_CB = 3, - BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 4, - BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 5, - BPF_SOCK_OPS_NEEDS_ECN = 6, - BPF_SOCK_OPS_BASE_RTT = 7, - BPF_SOCK_OPS_RTO_CB = 8, - BPF_SOCK_OPS_RETRANS_CB = 9, - BPF_SOCK_OPS_STATE_CB = 10, - BPF_SOCK_OPS_TCP_LISTEN_CB = 11, - BPF_SOCK_OPS_RTT_CB = 12, - BPF_SOCK_OPS_PARSE_HDR_OPT_CB = 13, - BPF_SOCK_OPS_HDR_OPT_LEN_CB = 14, - BPF_SOCK_OPS_WRITE_HDR_OPT_CB = 15, - BPF_SOCK_OPS_TSTAMP_SCHED_CB = 16, - BPF_SOCK_OPS_TSTAMP_SND_SW_CB = 17, - BPF_SOCK_OPS_TSTAMP_SND_HW_CB = 18, - BPF_SOCK_OPS_TSTAMP_ACK_CB = 19, - BPF_SOCK_OPS_TSTAMP_SENDMSG_CB = 20, -}; - -enum { - BPF_STREAM_MAX_CAPACITY = 100000, -}; - -enum { - BPF_TASK_ITER_ALL_PROCS = 0, - BPF_TASK_ITER_ALL_THREADS = 1, - BPF_TASK_ITER_PROC_THREADS = 2, -}; - -enum { - BPF_TCP_ESTABLISHED = 1, - BPF_TCP_SYN_SENT = 2, - BPF_TCP_SYN_RECV = 3, - BPF_TCP_FIN_WAIT1 = 4, - BPF_TCP_FIN_WAIT2 = 5, - BPF_TCP_TIME_WAIT = 6, - BPF_TCP_CLOSE = 7, - BPF_TCP_CLOSE_WAIT = 8, - BPF_TCP_LAST_ACK = 9, - BPF_TCP_LISTEN = 10, - BPF_TCP_CLOSING = 11, - BPF_TCP_NEW_SYN_RECV = 12, - BPF_TCP_BOUND_INACTIVE = 13, - BPF_TCP_MAX_STATES = 14, -}; - -enum { - BPF_WRITE_HDR_TCP_CURRENT_MSS = 1, - BPF_WRITE_HDR_TCP_SYNACK_COOKIE = 2, -}; - -enum { - BPF_XFRM_STATE_OPTS_SZ = 36, -}; - -enum { - BR_MCAST_DIR_RX = 0, - BR_MCAST_DIR_TX = 1, - BR_MCAST_DIR_SIZE = 2, -}; - -enum { - BTF_FIELDS_MAX = 11, -}; - -enum { - BTF_FIELD_IGNORE = 0, - BTF_FIELD_FOUND = 1, -}; - -enum { - BTF_F_COMPACT = 1, - BTF_F_NONAME = 2, - BTF_F_PTR_RAW = 4, - BTF_F_ZERO = 8, -}; - -enum { - BTF_KFUNC_SET_MAX_CNT = 256, - BTF_DTOR_KFUNC_MAX_CNT = 256, - BTF_KFUNC_FILTER_MAX_CNT = 16, -}; - -enum { - BTF_KIND_UNKN = 0, - BTF_KIND_INT = 1, - BTF_KIND_PTR = 2, - BTF_KIND_ARRAY = 3, - BTF_KIND_STRUCT = 4, - BTF_KIND_UNION = 5, - BTF_KIND_ENUM = 6, - BTF_KIND_FWD = 7, - BTF_KIND_TYPEDEF = 8, - BTF_KIND_VOLATILE = 9, - BTF_KIND_CONST = 10, - BTF_KIND_RESTRICT = 11, - BTF_KIND_FUNC = 12, - BTF_KIND_FUNC_PROTO = 13, - BTF_KIND_VAR = 14, - BTF_KIND_DATASEC = 15, - BTF_KIND_FLOAT = 16, - BTF_KIND_DECL_TAG = 17, - BTF_KIND_TYPE_TAG = 18, - BTF_KIND_ENUM64 = 19, - NR_BTF_KINDS = 20, - BTF_KIND_MAX = 19, -}; - -enum { - BTF_MODULE_F_LIVE = 1, -}; - -enum { - BTF_SOCK_TYPE_INET = 0, - BTF_SOCK_TYPE_INET_CONN = 1, - BTF_SOCK_TYPE_INET_REQ = 2, - BTF_SOCK_TYPE_INET_TW = 3, - BTF_SOCK_TYPE_REQ = 4, - BTF_SOCK_TYPE_SOCK = 5, - BTF_SOCK_TYPE_SOCK_COMMON = 6, - BTF_SOCK_TYPE_TCP = 7, - BTF_SOCK_TYPE_TCP_REQ = 8, - BTF_SOCK_TYPE_TCP_TW = 9, - BTF_SOCK_TYPE_TCP6 = 10, - BTF_SOCK_TYPE_UDP = 11, - BTF_SOCK_TYPE_UDP6 = 12, - BTF_SOCK_TYPE_UNIX = 13, - BTF_SOCK_TYPE_MPTCP = 14, - BTF_SOCK_TYPE_SOCKET = 15, - MAX_BTF_SOCK_TYPE = 16, -}; - -enum { - BTF_TRACING_TYPE_TASK = 0, - BTF_TRACING_TYPE_FILE = 1, - BTF_TRACING_TYPE_VMA = 2, - MAX_BTF_TRACING_TYPE = 3, -}; - -enum { - BTF_VAR_STATIC = 0, - BTF_VAR_GLOBAL_ALLOCATED = 1, - BTF_VAR_GLOBAL_EXTERN = 2, -}; - -enum { - BTS_STATE_STOPPED = 0, - BTS_STATE_INACTIVE = 1, - BTS_STATE_ACTIVE = 2, -}; - -enum { - Blktrace_setup = 1, - Blktrace_running = 2, - Blktrace_stopped = 3, -}; - -enum { - C1E_PROMOTION_PRESERVE = 0, - C1E_PROMOTION_ENABLE = 1, - C1E_PROMOTION_DISABLE = 2, -}; - -enum { - CACHE_RH_CNT = 14, -}; - -enum { - CACHE_WH_CNT = 15, -}; - -enum { - CFTYPE_ONLY_ON_ROOT = 1, - CFTYPE_NOT_ON_ROOT = 2, - CFTYPE_NS_DELEGATABLE = 4, - CFTYPE_NO_PREFIX = 8, - CFTYPE_WORLD_WRITABLE = 16, - CFTYPE_DEBUG = 32, - __CFTYPE_ONLY_ON_DFL = 65536, - __CFTYPE_NOT_ON_DFL = 131072, - __CFTYPE_ADDED = 262144, -}; - -enum { - CGROUPSTATS_CMD_ATTR_UNSPEC = 0, - CGROUPSTATS_CMD_ATTR_FD = 1, - __CGROUPSTATS_CMD_ATTR_MAX = 2, -}; - -enum { - CGROUPSTATS_CMD_UNSPEC = 3, - CGROUPSTATS_CMD_GET = 4, - CGROUPSTATS_CMD_NEW = 5, - __CGROUPSTATS_CMD_MAX = 6, -}; - -enum { - CGROUPSTATS_TYPE_UNSPEC = 0, - CGROUPSTATS_TYPE_CGROUP_STATS = 1, - __CGROUPSTATS_TYPE_MAX = 2, -}; - -enum { - CGRP_NOTIFY_ON_RELEASE = 0, - CGRP_CPUSET_CLONE_CHILDREN = 1, - CGRP_FREEZE = 2, - CGRP_FROZEN = 3, -}; - -enum { - CGRP_ROOT_NOPREFIX = 2, - CGRP_ROOT_XATTR = 4, - CGRP_ROOT_NS_DELEGATE = 8, - CGRP_ROOT_FAVOR_DYNMODS = 16, - CGRP_ROOT_CPUSET_V2_MODE = 65536, - CGRP_ROOT_MEMORY_LOCAL_EVENTS = 131072, - CGRP_ROOT_MEMORY_RECURSIVE_PROT = 262144, - CGRP_ROOT_MEMORY_HUGETLB_ACCOUNTING = 524288, - CGRP_ROOT_PIDS_LOCAL_EVENTS = 1048576, -}; - -enum { - CHIP_INVALID = 0, - CHIP_PM8606 = 1, - CHIP_PM8607 = 2, - CHIP_MAX = 3, -}; - -enum { - CHT_WC_PWRSRC_IRQ = 0, - CHT_WC_THRM_IRQ = 1, - CHT_WC_BCU_IRQ = 2, - CHT_WC_ADC_IRQ = 3, - CHT_WC_EXT_CHGR_IRQ = 4, - CHT_WC_GPIO_IRQ = 5, - CHT_WC_CRIT_IRQ = 7, -}; - -enum { - CLKCTL = 2, - SYNCCTL = 3, - HSYNCPOS = 4, - PWRMNGMT = 5, - DACOP = 6, - PALETCTL = 7, - SYSCLKCTL = 8, - PIXFMT = 10, - BPP8 = 11, - BPP16 = 12, - BPP24 = 13, - BPP32 = 14, - PIXCTL1 = 16, - PIXCTL2 = 17, - SYSCLKN = 21, - SYSCLKM = 22, - SYSCLKP = 23, - SYSCLKC = 24, - PIXM0 = 32, - PIXN0 = 33, - PIXP0 = 34, - PIXC0 = 35, - CURSCTL = 48, - CURSXLO = 49, - CURSXHI = 50, - CURSYLO = 51, - CURSYHI = 52, - CURSHOTX = 53, - CURSHOTY = 54, - CURSACCTL = 55, - CURSACATTR = 56, - CURS1R = 64, - CURS1G = 65, - CURS1B = 66, - CURS2R = 67, - CURS2G = 68, - CURS2B = 69, - CURS3R = 70, - CURS3G = 71, - CURS3B = 72, - BORDR = 96, - BORDG = 97, - BORDB = 98, - MISCTL1 = 112, - MISCTL2 = 113, - MISCTL3 = 114, - KEYCTL = 120, -}; - -enum { - CMIS_MODULE_LOW_PWR = 1, - CMIS_MODULE_READY = 3, -}; - -enum { - COREDUMP_ACK_SIZE_VER0 = 16, -}; - -enum { - COREDUMP_KERNEL = 1, - COREDUMP_USERSPACE = 2, - COREDUMP_REJECT = 4, - COREDUMP_WAIT = 8, -}; - -enum { - COST_CTRL = 0, - COST_MODEL = 1, - NR_COST_CTRL_PARAMS = 2, -}; - -enum { - CPER_SEV_RECOVERABLE = 0, - CPER_SEV_FATAL = 1, - CPER_SEV_CORRECTED = 2, - CPER_SEV_INFORMATIONAL = 3, -}; - -enum { - CPU_BANIAS = 0, - CPU_DOTHAN_A1 = 1, - CPU_DOTHAN_A2 = 2, - CPU_DOTHAN_B0 = 3, - CPU_MP4HT_D0 = 4, - CPU_MP4HT_E0 = 5, -}; - -enum { - CRI_RES_UTIL = 5, -}; - -enum { - CRNG_EMPTY = 0, - CRNG_EARLY = 1, - CRNG_READY = 2, -}; - -enum { - CRNG_RESEED_START_INTERVAL = 1000, - CRNG_RESEED_INTERVAL = 60000, -}; - -enum { - CRYPTOA_UNSPEC = 0, - CRYPTOA_ALG = 1, - CRYPTOA_TYPE = 2, - __CRYPTOA_MAX = 3, -}; - -enum { - CRYPTO_KPP_SECRET_TYPE_UNKNOWN = 0, - CRYPTO_KPP_SECRET_TYPE_DH = 1, - CRYPTO_KPP_SECRET_TYPE_ECDH = 2, -}; - -enum { - CRYPTO_MSG_ALG_REQUEST = 0, - CRYPTO_MSG_ALG_REGISTER = 1, - CRYPTO_MSG_ALG_LOADED = 2, -}; - -enum { - CSD_FLAG_LOCK = 1, - IRQ_WORK_PENDING = 1, - IRQ_WORK_BUSY = 2, - IRQ_WORK_LAZY = 4, - IRQ_WORK_HARD_IRQ = 8, - IRQ_WORK_CLAIMED = 3, - CSD_TYPE_ASYNC = 0, - CSD_TYPE_SYNC = 16, - CSD_TYPE_IRQ_WORK = 32, - CSD_TYPE_TTWU = 48, - CSD_FLAG_TYPE_MASK = 240, -}; - -enum { - CSI_DEC_hl_CURSOR_KEYS = 1, - CSI_DEC_hl_132_COLUMNS = 3, - CSI_DEC_hl_REVERSE_VIDEO = 5, - CSI_DEC_hl_ORIGIN_MODE = 6, - CSI_DEC_hl_AUTOWRAP = 7, - CSI_DEC_hl_AUTOREPEAT = 8, - CSI_DEC_hl_MOUSE_X10 = 9, - CSI_DEC_hl_SHOW_CURSOR = 25, - CSI_DEC_hl_MOUSE_VT200 = 1000, - CSI_DEC_hl_BRACKETED_PASTE = 2004, -}; - -enum { - CSI_K_CURSOR_TO_LINEEND = 0, - CSI_K_LINESTART_TO_CURSOR = 1, - CSI_K_LINE = 2, -}; - -enum { - CSI_hl_DISPLAY_CTRL = 3, - CSI_hl_INSERT = 4, - CSI_hl_AUTO_NL = 20, -}; - -enum { - CSI_m_DEFAULT = 0, - CSI_m_BOLD = 1, - CSI_m_HALF_BRIGHT = 2, - CSI_m_ITALIC = 3, - CSI_m_UNDERLINE = 4, - CSI_m_BLINK = 5, - CSI_m_REVERSE = 7, - CSI_m_PRI_FONT = 10, - CSI_m_ALT_FONT1 = 11, - CSI_m_ALT_FONT2 = 12, - CSI_m_DOUBLE_UNDERLINE = 21, - CSI_m_NORMAL_INTENSITY = 22, - CSI_m_NO_ITALIC = 23, - CSI_m_NO_UNDERLINE = 24, - CSI_m_NO_BLINK = 25, - CSI_m_NO_REVERSE = 27, - CSI_m_FG_COLOR_BEG = 30, - CSI_m_FG_COLOR_END = 37, - CSI_m_FG_COLOR = 38, - CSI_m_DEFAULT_FG_COLOR = 39, - CSI_m_BG_COLOR_BEG = 40, - CSI_m_BG_COLOR_END = 47, - CSI_m_BG_COLOR = 48, - CSI_m_DEFAULT_BG_COLOR = 49, - CSI_m_BRIGHT_FG_COLOR_BEG = 90, - CSI_m_BRIGHT_FG_COLOR_END = 97, - CSI_m_BRIGHT_FG_COLOR_OFF = 60, - CSI_m_BRIGHT_BG_COLOR_BEG = 100, - CSI_m_BRIGHT_BG_COLOR_END = 107, - CSI_m_BRIGHT_BG_COLOR_OFF = 60, -}; - -enum { - CSS_NO_REF = 1, - CSS_ONLINE = 2, - CSS_RELEASED = 4, - CSS_VISIBLE = 8, - CSS_DYING = 16, -}; - -enum { - CTL_RES_CNT = 1, -}; - -enum { - CTL_RES_TM = 2, -}; - -enum { - CTRL_ATTR_MCAST_GRP_UNSPEC = 0, - CTRL_ATTR_MCAST_GRP_NAME = 1, - CTRL_ATTR_MCAST_GRP_ID = 2, - __CTRL_ATTR_MCAST_GRP_MAX = 3, -}; - -enum { - CTRL_ATTR_OP_UNSPEC = 0, - CTRL_ATTR_OP_ID = 1, - CTRL_ATTR_OP_FLAGS = 2, - __CTRL_ATTR_OP_MAX = 3, -}; - -enum { - CTRL_ATTR_POLICY_UNSPEC = 0, - CTRL_ATTR_POLICY_DO = 1, - CTRL_ATTR_POLICY_DUMP = 2, - __CTRL_ATTR_POLICY_DUMP_MAX = 3, - CTRL_ATTR_POLICY_DUMP_MAX = 2, -}; - -enum { - CTRL_ATTR_UNSPEC = 0, - CTRL_ATTR_FAMILY_ID = 1, - CTRL_ATTR_FAMILY_NAME = 2, - CTRL_ATTR_VERSION = 3, - CTRL_ATTR_HDRSIZE = 4, - CTRL_ATTR_MAXATTR = 5, - CTRL_ATTR_OPS = 6, - CTRL_ATTR_MCAST_GROUPS = 7, - CTRL_ATTR_POLICY = 8, - CTRL_ATTR_OP_POLICY = 9, - CTRL_ATTR_OP = 10, - __CTRL_ATTR_MAX = 11, -}; - -enum { - CTRL_CMD_UNSPEC = 0, - CTRL_CMD_NEWFAMILY = 1, - CTRL_CMD_DELFAMILY = 2, - CTRL_CMD_GETFAMILY = 3, - CTRL_CMD_NEWOPS = 4, - CTRL_CMD_DELOPS = 5, - CTRL_CMD_GETOPS = 6, - CTRL_CMD_NEWMCAST_GRP = 7, - CTRL_CMD_DELMCAST_GRP = 8, - CTRL_CMD_GETMCAST_GRP = 9, - CTRL_CMD_GETPOLICY = 10, - __CTRL_CMD_MAX = 11, -}; - -enum { - DA9063_DEV_ID_REG = 0, - DA9063_VAR_ID_REG = 1, - DA9063_CHIP_ID_REGS = 2, -}; - -enum { - DAD_PROCESS = 0, - DAD_BEGIN = 1, - DAD_ABORT = 2, -}; - -enum { - DD_DIR_COUNT = 2, -}; - -enum { - DD_PRIO_COUNT = 3, -}; - -enum { - DELL_INSPIRON_7375 = 0, - DELL_LATITUDE_5495 = 1, - LENOVO_IDEAPAD_330S_15ARR = 2, -}; - -enum { - DESC_TSS = 9, - DESC_LDT = 2, - DESCTYPE_S = 16, -}; - -enum { - DEVCONF_FORWARDING = 0, - DEVCONF_HOPLIMIT = 1, - DEVCONF_MTU6 = 2, - DEVCONF_ACCEPT_RA = 3, - DEVCONF_ACCEPT_REDIRECTS = 4, - DEVCONF_AUTOCONF = 5, - DEVCONF_DAD_TRANSMITS = 6, - DEVCONF_RTR_SOLICITS = 7, - DEVCONF_RTR_SOLICIT_INTERVAL = 8, - DEVCONF_RTR_SOLICIT_DELAY = 9, - DEVCONF_USE_TEMPADDR = 10, - DEVCONF_TEMP_VALID_LFT = 11, - DEVCONF_TEMP_PREFERED_LFT = 12, - DEVCONF_REGEN_MAX_RETRY = 13, - DEVCONF_MAX_DESYNC_FACTOR = 14, - DEVCONF_MAX_ADDRESSES = 15, - DEVCONF_FORCE_MLD_VERSION = 16, - DEVCONF_ACCEPT_RA_DEFRTR = 17, - DEVCONF_ACCEPT_RA_PINFO = 18, - DEVCONF_ACCEPT_RA_RTR_PREF = 19, - DEVCONF_RTR_PROBE_INTERVAL = 20, - DEVCONF_ACCEPT_RA_RT_INFO_MAX_PLEN = 21, - DEVCONF_PROXY_NDP = 22, - DEVCONF_OPTIMISTIC_DAD = 23, - DEVCONF_ACCEPT_SOURCE_ROUTE = 24, - DEVCONF_MC_FORWARDING = 25, - DEVCONF_DISABLE_IPV6 = 26, - DEVCONF_ACCEPT_DAD = 27, - DEVCONF_FORCE_TLLAO = 28, - DEVCONF_NDISC_NOTIFY = 29, - DEVCONF_MLDV1_UNSOLICITED_REPORT_INTERVAL = 30, - DEVCONF_MLDV2_UNSOLICITED_REPORT_INTERVAL = 31, - DEVCONF_SUPPRESS_FRAG_NDISC = 32, - DEVCONF_ACCEPT_RA_FROM_LOCAL = 33, - DEVCONF_USE_OPTIMISTIC = 34, - DEVCONF_ACCEPT_RA_MTU = 35, - DEVCONF_STABLE_SECRET = 36, - DEVCONF_USE_OIF_ADDRS_ONLY = 37, - DEVCONF_ACCEPT_RA_MIN_HOP_LIMIT = 38, - DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN = 39, - DEVCONF_DROP_UNICAST_IN_L2_MULTICAST = 40, - DEVCONF_DROP_UNSOLICITED_NA = 41, - DEVCONF_KEEP_ADDR_ON_DOWN = 42, - DEVCONF_RTR_SOLICIT_MAX_INTERVAL = 43, - DEVCONF_SEG6_ENABLED = 44, - DEVCONF_SEG6_REQUIRE_HMAC = 45, - DEVCONF_ENHANCED_DAD = 46, - DEVCONF_ADDR_GEN_MODE = 47, - DEVCONF_DISABLE_POLICY = 48, - DEVCONF_ACCEPT_RA_RT_INFO_MIN_PLEN = 49, - DEVCONF_NDISC_TCLASS = 50, - DEVCONF_RPL_SEG_ENABLED = 51, - DEVCONF_RA_DEFRTR_METRIC = 52, - DEVCONF_IOAM6_ENABLED = 53, - DEVCONF_IOAM6_ID = 54, - DEVCONF_IOAM6_ID_WIDE = 55, - DEVCONF_NDISC_EVICT_NOCARRIER = 56, - DEVCONF_ACCEPT_UNTRACKED_NA = 57, - DEVCONF_ACCEPT_RA_MIN_LFT = 58, - DEVCONF_FORCE_FORWARDING = 59, - DEVCONF_MAX = 60, -}; - -enum { - DEVLINK_ATTR_STATS_RX_PACKETS = 0, - DEVLINK_ATTR_STATS_RX_BYTES = 1, - DEVLINK_ATTR_STATS_RX_DROPPED = 2, - __DEVLINK_ATTR_STATS_MAX = 3, - DEVLINK_ATTR_STATS_MAX = 2, -}; - -enum { - DEVLINK_ATTR_TRAP_METADATA_TYPE_IN_PORT = 0, - DEVLINK_ATTR_TRAP_METADATA_TYPE_FA_COOKIE = 1, -}; - -enum { - DIO_LOCKING = 1, - DIO_SKIP_HOLES = 2, -}; - -enum { - DIO_SHOULD_DIRTY = 1, - DIO_IS_SYNC = 2, -}; - -enum { - DIR_OFFSET_FIRST = 2, - DIR_OFFSET_EOD = 2147483647, -}; - -enum { - DIR_OFFSET_MIN = 3, - DIR_OFFSET_MAX = 2147483646, -}; - -enum { - DISCOVERED = 16, - EXPLORED = 32, - FALLTHROUGH = 1, - BRANCH = 2, -}; - -enum { - DISK_EVENT_FLAG_POLL = 1, - DISK_EVENT_FLAG_UEVENT = 2, - DISK_EVENT_FLAG_BLOCK_ON_EXCL_WRITE = 4, -}; - -enum { - DISK_EVENT_MEDIA_CHANGE = 1, - DISK_EVENT_EJECT_REQUEST = 2, -}; - -enum { - DMA_TYPE_TX = 0, - DMA_TYPE_RX = 1, - DMA_TYPE_MCPY = 2, -}; - -enum { - DM_IO_ACCOUNTED = 0, - DM_IO_WAS_SPLIT = 1, - DM_IO_BLK_STAT = 2, -}; - -enum { - DM_TIO_INSIDE_DM_IO = 0, - DM_TIO_IS_DUPLICATE_BIO = 1, -}; - -enum { - DM_VERSION_CMD = 0, - DM_REMOVE_ALL_CMD = 1, - DM_LIST_DEVICES_CMD = 2, - DM_DEV_CREATE_CMD = 3, - DM_DEV_REMOVE_CMD = 4, - DM_DEV_RENAME_CMD = 5, - DM_DEV_SUSPEND_CMD = 6, - DM_DEV_STATUS_CMD = 7, - DM_DEV_WAIT_CMD = 8, - DM_TABLE_LOAD_CMD = 9, - DM_TABLE_CLEAR_CMD = 10, - DM_TABLE_DEPS_CMD = 11, - DM_TABLE_STATUS_CMD = 12, - DM_LIST_VERSIONS_CMD = 13, - DM_TARGET_MSG_CMD = 14, - DM_DEV_SET_GEOMETRY_CMD = 15, - DM_DEV_ARM_POLL_CMD = 16, - DM_GET_TARGET_VERSION_CMD = 17, - DM_MPATH_PROBE_PATHS_CMD = 18, -}; - -enum { - DONE_EXPLORING = 0, - KEEP_EXPLORING = 1, -}; - -enum { - DPLL_NLGRP_MONITOR = 0, -}; - -enum { - DQF_INFO_DIRTY_B = 17, -}; - -enum { - DQF_ROOT_SQUASH_B = 0, - DQF_SYS_FILE_B = 16, - DQF_PRIVATE = 17, -}; - -enum { - DQST_LOOKUPS = 0, - DQST_DROPS = 1, - DQST_READS = 2, - DQST_WRITES = 3, - DQST_CACHE_HITS = 4, - DQST_ALLOC_DQUOTS = 5, - DQST_FREE_DQUOTS = 6, - DQST_SYNCS = 7, - _DQST_DQSTAT_LAST = 8, -}; - -enum { - DUMP_PREFIX_NONE = 0, - DUMP_PREFIX_ADDRESS = 1, - DUMP_PREFIX_OFFSET = 2, -}; - -enum { - EC_FLAGS_QUERY_ENABLED = 0, - EC_FLAGS_EVENT_HANDLER_INSTALLED = 1, - EC_FLAGS_EC_HANDLER_INSTALLED = 2, - EC_FLAGS_EC_REG_CALLED = 3, - EC_FLAGS_QUERY_METHODS_INSTALLED = 4, - EC_FLAGS_STARTED = 5, - EC_FLAGS_STOPPED = 6, - EC_FLAGS_EVENTS_MASKED = 7, -}; - -enum { - EI_ETYPE_NULL = 0, - EI_ETYPE_ERRNO = 1, - EI_ETYPE_ERRNO_NULL = 2, - EI_ETYPE_TRUE = 3, -}; - -enum { - EMULATE = 0, - XONLY = 1, - NONE = 2, -}; - -enum { - EPecma = 0, - EPdec = 1, - EPeq = 2, - EPgt = 3, - EPlt = 4, -}; - -enum { - ERASE = 0, - WERASE = 1, - KILL = 2, -}; - -enum { - ES_WRITTEN_B = 0, - ES_UNWRITTEN_B = 1, - ES_DELAYED_B = 2, - ES_HOLE_B = 3, - ES_REFERENCED_B = 4, - ES_FLAGS = 5, -}; - -enum { - ETHTOOL_A_BITSET_BITS_UNSPEC = 0, - ETHTOOL_A_BITSET_BITS_BIT = 1, - __ETHTOOL_A_BITSET_BITS_CNT = 2, - ETHTOOL_A_BITSET_BITS_MAX = 1, -}; - -enum { - ETHTOOL_A_BITSET_BIT_UNSPEC = 0, - ETHTOOL_A_BITSET_BIT_INDEX = 1, - ETHTOOL_A_BITSET_BIT_NAME = 2, - ETHTOOL_A_BITSET_BIT_VALUE = 3, - __ETHTOOL_A_BITSET_BIT_CNT = 4, - ETHTOOL_A_BITSET_BIT_MAX = 3, -}; - -enum { - ETHTOOL_A_BITSET_UNSPEC = 0, - ETHTOOL_A_BITSET_NOMASK = 1, - ETHTOOL_A_BITSET_SIZE = 2, - ETHTOOL_A_BITSET_BITS = 3, - ETHTOOL_A_BITSET_VALUE = 4, - ETHTOOL_A_BITSET_MASK = 5, - __ETHTOOL_A_BITSET_CNT = 6, - ETHTOOL_A_BITSET_MAX = 5, -}; - -enum { - ETHTOOL_A_C33_PSE_PW_LIMIT_UNSPEC = 0, - ETHTOOL_A_C33_PSE_PW_LIMIT_MIN = 1, - ETHTOOL_A_C33_PSE_PW_LIMIT_MAX = 2, - __ETHTOOL_A_C33_PSE_PW_LIMIT_CNT = 3, - __ETHTOOL_A_C33_PSE_PW_LIMIT_MAX = 2, -}; - -enum { - ETHTOOL_A_CABLE_AMPLITUDE_UNSPEC = 0, - ETHTOOL_A_CABLE_AMPLITUDE_PAIR = 1, - ETHTOOL_A_CABLE_AMPLITUDE_mV = 2, - __ETHTOOL_A_CABLE_AMPLITUDE_CNT = 3, - ETHTOOL_A_CABLE_AMPLITUDE_MAX = 2, -}; - -enum { - ETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC = 0, - ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR = 1, - ETHTOOL_A_CABLE_FAULT_LENGTH_CM = 2, - ETHTOOL_A_CABLE_FAULT_LENGTH_SRC = 3, - __ETHTOOL_A_CABLE_FAULT_LENGTH_CNT = 4, - ETHTOOL_A_CABLE_FAULT_LENGTH_MAX = 3, -}; - -enum { - ETHTOOL_A_CABLE_INF_SRC_UNSPEC = 0, - ETHTOOL_A_CABLE_INF_SRC_TDR = 1, - ETHTOOL_A_CABLE_INF_SRC_ALCD = 2, -}; - -enum { - ETHTOOL_A_CABLE_NEST_UNSPEC = 0, - ETHTOOL_A_CABLE_NEST_RESULT = 1, - ETHTOOL_A_CABLE_NEST_FAULT_LENGTH = 2, - __ETHTOOL_A_CABLE_NEST_CNT = 3, - ETHTOOL_A_CABLE_NEST_MAX = 2, -}; - -enum { - ETHTOOL_A_CABLE_PAIR_A = 0, - ETHTOOL_A_CABLE_PAIR_B = 1, - ETHTOOL_A_CABLE_PAIR_C = 2, - ETHTOOL_A_CABLE_PAIR_D = 3, -}; - -enum { - ETHTOOL_A_CABLE_PULSE_UNSPEC = 0, - ETHTOOL_A_CABLE_PULSE_mV = 1, - __ETHTOOL_A_CABLE_PULSE_CNT = 2, - ETHTOOL_A_CABLE_PULSE_MAX = 1, -}; - -enum { - ETHTOOL_A_CABLE_RESULT_CODE_UNSPEC = 0, - ETHTOOL_A_CABLE_RESULT_CODE_OK = 1, - ETHTOOL_A_CABLE_RESULT_CODE_OPEN = 2, - ETHTOOL_A_CABLE_RESULT_CODE_SAME_SHORT = 3, - ETHTOOL_A_CABLE_RESULT_CODE_CROSS_SHORT = 4, - ETHTOOL_A_CABLE_RESULT_CODE_IMPEDANCE_MISMATCH = 5, - ETHTOOL_A_CABLE_RESULT_CODE_NOISE = 6, - ETHTOOL_A_CABLE_RESULT_CODE_RESOLUTION_NOT_POSSIBLE = 7, -}; - -enum { - ETHTOOL_A_CABLE_RESULT_UNSPEC = 0, - ETHTOOL_A_CABLE_RESULT_PAIR = 1, - ETHTOOL_A_CABLE_RESULT_CODE = 2, - ETHTOOL_A_CABLE_RESULT_SRC = 3, - __ETHTOOL_A_CABLE_RESULT_CNT = 4, - ETHTOOL_A_CABLE_RESULT_MAX = 3, -}; - -enum { - ETHTOOL_A_CABLE_STEP_UNSPEC = 0, - ETHTOOL_A_CABLE_STEP_FIRST_DISTANCE = 1, - ETHTOOL_A_CABLE_STEP_LAST_DISTANCE = 2, - ETHTOOL_A_CABLE_STEP_STEP_DISTANCE = 3, - __ETHTOOL_A_CABLE_STEP_CNT = 4, - ETHTOOL_A_CABLE_STEP_MAX = 3, -}; - -enum { - ETHTOOL_A_CABLE_TDR_NEST_UNSPEC = 0, - ETHTOOL_A_CABLE_TDR_NEST_STEP = 1, - ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE = 2, - ETHTOOL_A_CABLE_TDR_NEST_PULSE = 3, - __ETHTOOL_A_CABLE_TDR_NEST_CNT = 4, - ETHTOOL_A_CABLE_TDR_NEST_MAX = 3, -}; - -enum { - ETHTOOL_A_CABLE_TEST_NTF_STATUS_UNSPEC = 0, - ETHTOOL_A_CABLE_TEST_NTF_STATUS_STARTED = 1, - ETHTOOL_A_CABLE_TEST_NTF_STATUS_COMPLETED = 2, -}; - -enum { - ETHTOOL_A_CABLE_TEST_NTF_UNSPEC = 0, - ETHTOOL_A_CABLE_TEST_NTF_HEADER = 1, - ETHTOOL_A_CABLE_TEST_NTF_STATUS = 2, - ETHTOOL_A_CABLE_TEST_NTF_NEST = 3, - __ETHTOOL_A_CABLE_TEST_NTF_CNT = 4, - ETHTOOL_A_CABLE_TEST_NTF_MAX = 3, -}; - -enum { - ETHTOOL_A_CABLE_TEST_TDR_CFG_UNSPEC = 0, - ETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST = 1, - ETHTOOL_A_CABLE_TEST_TDR_CFG_LAST = 2, - ETHTOOL_A_CABLE_TEST_TDR_CFG_STEP = 3, - ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR = 4, - __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT = 5, - ETHTOOL_A_CABLE_TEST_TDR_CFG_MAX = 4, -}; - -enum { - ETHTOOL_A_CABLE_TEST_TDR_UNSPEC = 0, - ETHTOOL_A_CABLE_TEST_TDR_HEADER = 1, - ETHTOOL_A_CABLE_TEST_TDR_CFG = 2, - __ETHTOOL_A_CABLE_TEST_TDR_CNT = 3, - ETHTOOL_A_CABLE_TEST_TDR_MAX = 2, -}; - -enum { - ETHTOOL_A_CABLE_TEST_UNSPEC = 0, - ETHTOOL_A_CABLE_TEST_HEADER = 1, - __ETHTOOL_A_CABLE_TEST_CNT = 2, - ETHTOOL_A_CABLE_TEST_MAX = 1, -}; - -enum { - ETHTOOL_A_CHANNELS_UNSPEC = 0, - ETHTOOL_A_CHANNELS_HEADER = 1, - ETHTOOL_A_CHANNELS_RX_MAX = 2, - ETHTOOL_A_CHANNELS_TX_MAX = 3, - ETHTOOL_A_CHANNELS_OTHER_MAX = 4, - ETHTOOL_A_CHANNELS_COMBINED_MAX = 5, - ETHTOOL_A_CHANNELS_RX_COUNT = 6, - ETHTOOL_A_CHANNELS_TX_COUNT = 7, - ETHTOOL_A_CHANNELS_OTHER_COUNT = 8, - ETHTOOL_A_CHANNELS_COMBINED_COUNT = 9, - __ETHTOOL_A_CHANNELS_CNT = 10, - ETHTOOL_A_CHANNELS_MAX = 9, -}; - -enum { - ETHTOOL_A_COALESCE_UNSPEC = 0, - ETHTOOL_A_COALESCE_HEADER = 1, - ETHTOOL_A_COALESCE_RX_USECS = 2, - ETHTOOL_A_COALESCE_RX_MAX_FRAMES = 3, - ETHTOOL_A_COALESCE_RX_USECS_IRQ = 4, - ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ = 5, - ETHTOOL_A_COALESCE_TX_USECS = 6, - ETHTOOL_A_COALESCE_TX_MAX_FRAMES = 7, - ETHTOOL_A_COALESCE_TX_USECS_IRQ = 8, - ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ = 9, - ETHTOOL_A_COALESCE_STATS_BLOCK_USECS = 10, - ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX = 11, - ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX = 12, - ETHTOOL_A_COALESCE_PKT_RATE_LOW = 13, - ETHTOOL_A_COALESCE_RX_USECS_LOW = 14, - ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW = 15, - ETHTOOL_A_COALESCE_TX_USECS_LOW = 16, - ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW = 17, - ETHTOOL_A_COALESCE_PKT_RATE_HIGH = 18, - ETHTOOL_A_COALESCE_RX_USECS_HIGH = 19, - ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH = 20, - ETHTOOL_A_COALESCE_TX_USECS_HIGH = 21, - ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH = 22, - ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL = 23, - ETHTOOL_A_COALESCE_USE_CQE_MODE_TX = 24, - ETHTOOL_A_COALESCE_USE_CQE_MODE_RX = 25, - ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES = 26, - ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES = 27, - ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS = 28, - ETHTOOL_A_COALESCE_RX_PROFILE = 29, - ETHTOOL_A_COALESCE_TX_PROFILE = 30, - __ETHTOOL_A_COALESCE_CNT = 31, - ETHTOOL_A_COALESCE_MAX = 30, -}; - -enum { - ETHTOOL_A_DEBUG_UNSPEC = 0, - ETHTOOL_A_DEBUG_HEADER = 1, - ETHTOOL_A_DEBUG_MSGMASK = 2, - __ETHTOOL_A_DEBUG_CNT = 3, - ETHTOOL_A_DEBUG_MAX = 2, -}; - -enum { - ETHTOOL_A_EEE_UNSPEC = 0, - ETHTOOL_A_EEE_HEADER = 1, - ETHTOOL_A_EEE_MODES_OURS = 2, - ETHTOOL_A_EEE_MODES_PEER = 3, - ETHTOOL_A_EEE_ACTIVE = 4, - ETHTOOL_A_EEE_ENABLED = 5, - ETHTOOL_A_EEE_TX_LPI_ENABLED = 6, - ETHTOOL_A_EEE_TX_LPI_TIMER = 7, - __ETHTOOL_A_EEE_CNT = 8, - ETHTOOL_A_EEE_MAX = 7, -}; - -enum { - ETHTOOL_A_FEATURES_UNSPEC = 0, - ETHTOOL_A_FEATURES_HEADER = 1, - ETHTOOL_A_FEATURES_HW = 2, - ETHTOOL_A_FEATURES_WANTED = 3, - ETHTOOL_A_FEATURES_ACTIVE = 4, - ETHTOOL_A_FEATURES_NOCHANGE = 5, - __ETHTOOL_A_FEATURES_CNT = 6, - ETHTOOL_A_FEATURES_MAX = 5, -}; - -enum { - ETHTOOL_A_FEC_STAT_UNSPEC = 0, - ETHTOOL_A_FEC_STAT_PAD = 1, - ETHTOOL_A_FEC_STAT_CORRECTED = 2, - ETHTOOL_A_FEC_STAT_UNCORR = 3, - ETHTOOL_A_FEC_STAT_CORR_BITS = 4, - __ETHTOOL_A_FEC_STAT_CNT = 5, - ETHTOOL_A_FEC_STAT_MAX = 4, -}; - -enum { - ETHTOOL_A_FEC_UNSPEC = 0, - ETHTOOL_A_FEC_HEADER = 1, - ETHTOOL_A_FEC_MODES = 2, - ETHTOOL_A_FEC_AUTO = 3, - ETHTOOL_A_FEC_ACTIVE = 4, - ETHTOOL_A_FEC_STATS = 5, - __ETHTOOL_A_FEC_CNT = 6, - ETHTOOL_A_FEC_MAX = 5, -}; - -enum { - ETHTOOL_A_FLOW_ETHER = 1, - ETHTOOL_A_FLOW_IP4 = 2, - ETHTOOL_A_FLOW_IP6 = 3, - ETHTOOL_A_FLOW_TCP4 = 4, - ETHTOOL_A_FLOW_TCP6 = 5, - ETHTOOL_A_FLOW_UDP4 = 6, - ETHTOOL_A_FLOW_UDP6 = 7, - ETHTOOL_A_FLOW_SCTP4 = 8, - ETHTOOL_A_FLOW_SCTP6 = 9, - ETHTOOL_A_FLOW_AH4 = 10, - ETHTOOL_A_FLOW_AH6 = 11, - ETHTOOL_A_FLOW_ESP4 = 12, - ETHTOOL_A_FLOW_ESP6 = 13, - ETHTOOL_A_FLOW_AH_ESP4 = 14, - ETHTOOL_A_FLOW_AH_ESP6 = 15, - ETHTOOL_A_FLOW_GTPU4 = 16, - ETHTOOL_A_FLOW_GTPU6 = 17, - ETHTOOL_A_FLOW_GTPC4 = 18, - ETHTOOL_A_FLOW_GTPC6 = 19, - ETHTOOL_A_FLOW_GTPC_TEID4 = 20, - ETHTOOL_A_FLOW_GTPC_TEID6 = 21, - ETHTOOL_A_FLOW_GTPU_EH4 = 22, - ETHTOOL_A_FLOW_GTPU_EH6 = 23, - ETHTOOL_A_FLOW_GTPU_UL4 = 24, - ETHTOOL_A_FLOW_GTPU_UL6 = 25, - ETHTOOL_A_FLOW_GTPU_DL4 = 26, - ETHTOOL_A_FLOW_GTPU_DL6 = 27, - __ETHTOOL_A_FLOW_CNT = 28, - ETHTOOL_A_FLOW_MAX = 27, -}; - -enum { - ETHTOOL_A_HEADER_UNSPEC = 0, - ETHTOOL_A_HEADER_DEV_INDEX = 1, - ETHTOOL_A_HEADER_DEV_NAME = 2, - ETHTOOL_A_HEADER_FLAGS = 3, - ETHTOOL_A_HEADER_PHY_INDEX = 4, - __ETHTOOL_A_HEADER_CNT = 5, - ETHTOOL_A_HEADER_MAX = 4, -}; - -enum { - ETHTOOL_A_IRQ_MODERATION_UNSPEC = 0, - ETHTOOL_A_IRQ_MODERATION_USEC = 1, - ETHTOOL_A_IRQ_MODERATION_PKTS = 2, - ETHTOOL_A_IRQ_MODERATION_COMPS = 3, - __ETHTOOL_A_IRQ_MODERATION_CNT = 4, - ETHTOOL_A_IRQ_MODERATION_MAX = 3, -}; - -enum { - ETHTOOL_A_LINKINFO_UNSPEC = 0, - ETHTOOL_A_LINKINFO_HEADER = 1, - ETHTOOL_A_LINKINFO_PORT = 2, - ETHTOOL_A_LINKINFO_PHYADDR = 3, - ETHTOOL_A_LINKINFO_TP_MDIX = 4, - ETHTOOL_A_LINKINFO_TP_MDIX_CTRL = 5, - ETHTOOL_A_LINKINFO_TRANSCEIVER = 6, - __ETHTOOL_A_LINKINFO_CNT = 7, - ETHTOOL_A_LINKINFO_MAX = 6, -}; - -enum { - ETHTOOL_A_LINKMODES_UNSPEC = 0, - ETHTOOL_A_LINKMODES_HEADER = 1, - ETHTOOL_A_LINKMODES_AUTONEG = 2, - ETHTOOL_A_LINKMODES_OURS = 3, - ETHTOOL_A_LINKMODES_PEER = 4, - ETHTOOL_A_LINKMODES_SPEED = 5, - ETHTOOL_A_LINKMODES_DUPLEX = 6, - ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG = 7, - ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE = 8, - ETHTOOL_A_LINKMODES_LANES = 9, - ETHTOOL_A_LINKMODES_RATE_MATCHING = 10, - __ETHTOOL_A_LINKMODES_CNT = 11, - ETHTOOL_A_LINKMODES_MAX = 10, -}; - -enum { - ETHTOOL_A_LINKSTATE_UNSPEC = 0, - ETHTOOL_A_LINKSTATE_HEADER = 1, - ETHTOOL_A_LINKSTATE_LINK = 2, - ETHTOOL_A_LINKSTATE_SQI = 3, - ETHTOOL_A_LINKSTATE_SQI_MAX = 4, - ETHTOOL_A_LINKSTATE_EXT_STATE = 5, - ETHTOOL_A_LINKSTATE_EXT_SUBSTATE = 6, - ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT = 7, - __ETHTOOL_A_LINKSTATE_CNT = 8, - ETHTOOL_A_LINKSTATE_MAX = 7, -}; - -enum { - ETHTOOL_A_MM_STAT_UNSPEC = 0, - ETHTOOL_A_MM_STAT_PAD = 1, - ETHTOOL_A_MM_STAT_REASSEMBLY_ERRORS = 2, - ETHTOOL_A_MM_STAT_SMD_ERRORS = 3, - ETHTOOL_A_MM_STAT_REASSEMBLY_OK = 4, - ETHTOOL_A_MM_STAT_RX_FRAG_COUNT = 5, - ETHTOOL_A_MM_STAT_TX_FRAG_COUNT = 6, - ETHTOOL_A_MM_STAT_HOLD_COUNT = 7, - __ETHTOOL_A_MM_STAT_CNT = 8, - ETHTOOL_A_MM_STAT_MAX = 7, -}; - -enum { - ETHTOOL_A_MM_UNSPEC = 0, - ETHTOOL_A_MM_HEADER = 1, - ETHTOOL_A_MM_PMAC_ENABLED = 2, - ETHTOOL_A_MM_TX_ENABLED = 3, - ETHTOOL_A_MM_TX_ACTIVE = 4, - ETHTOOL_A_MM_TX_MIN_FRAG_SIZE = 5, - ETHTOOL_A_MM_RX_MIN_FRAG_SIZE = 6, - ETHTOOL_A_MM_VERIFY_ENABLED = 7, - ETHTOOL_A_MM_VERIFY_STATUS = 8, - ETHTOOL_A_MM_VERIFY_TIME = 9, - ETHTOOL_A_MM_MAX_VERIFY_TIME = 10, - ETHTOOL_A_MM_STATS = 11, - __ETHTOOL_A_MM_CNT = 12, - ETHTOOL_A_MM_MAX = 11, -}; - -enum { - ETHTOOL_A_MODULE_EEPROM_UNSPEC = 0, - ETHTOOL_A_MODULE_EEPROM_HEADER = 1, - ETHTOOL_A_MODULE_EEPROM_OFFSET = 2, - ETHTOOL_A_MODULE_EEPROM_LENGTH = 3, - ETHTOOL_A_MODULE_EEPROM_PAGE = 4, - ETHTOOL_A_MODULE_EEPROM_BANK = 5, - ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS = 6, - ETHTOOL_A_MODULE_EEPROM_DATA = 7, - __ETHTOOL_A_MODULE_EEPROM_CNT = 8, - ETHTOOL_A_MODULE_EEPROM_MAX = 7, -}; - -enum { - ETHTOOL_A_MODULE_FW_FLASH_UNSPEC = 0, - ETHTOOL_A_MODULE_FW_FLASH_HEADER = 1, - ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME = 2, - ETHTOOL_A_MODULE_FW_FLASH_PASSWORD = 3, - ETHTOOL_A_MODULE_FW_FLASH_STATUS = 4, - ETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG = 5, - ETHTOOL_A_MODULE_FW_FLASH_DONE = 6, - ETHTOOL_A_MODULE_FW_FLASH_TOTAL = 7, - __ETHTOOL_A_MODULE_FW_FLASH_CNT = 8, - ETHTOOL_A_MODULE_FW_FLASH_MAX = 7, -}; - -enum { - ETHTOOL_A_MODULE_UNSPEC = 0, - ETHTOOL_A_MODULE_HEADER = 1, - ETHTOOL_A_MODULE_POWER_MODE_POLICY = 2, - ETHTOOL_A_MODULE_POWER_MODE = 3, - __ETHTOOL_A_MODULE_CNT = 4, - ETHTOOL_A_MODULE_MAX = 3, -}; - -enum { - ETHTOOL_A_PAUSE_STAT_UNSPEC = 0, - ETHTOOL_A_PAUSE_STAT_PAD = 1, - ETHTOOL_A_PAUSE_STAT_TX_FRAMES = 2, - ETHTOOL_A_PAUSE_STAT_RX_FRAMES = 3, - __ETHTOOL_A_PAUSE_STAT_CNT = 4, - ETHTOOL_A_PAUSE_STAT_MAX = 3, -}; - -enum { - ETHTOOL_A_PAUSE_UNSPEC = 0, - ETHTOOL_A_PAUSE_HEADER = 1, - ETHTOOL_A_PAUSE_AUTONEG = 2, - ETHTOOL_A_PAUSE_RX = 3, - ETHTOOL_A_PAUSE_TX = 4, - ETHTOOL_A_PAUSE_STATS = 5, - ETHTOOL_A_PAUSE_STATS_SRC = 6, - __ETHTOOL_A_PAUSE_CNT = 7, - ETHTOOL_A_PAUSE_MAX = 6, -}; - -enum { - ETHTOOL_A_PHC_VCLOCKS_UNSPEC = 0, - ETHTOOL_A_PHC_VCLOCKS_HEADER = 1, - ETHTOOL_A_PHC_VCLOCKS_NUM = 2, - ETHTOOL_A_PHC_VCLOCKS_INDEX = 3, - __ETHTOOL_A_PHC_VCLOCKS_CNT = 4, - ETHTOOL_A_PHC_VCLOCKS_MAX = 3, -}; - -enum { - ETHTOOL_A_PHY_UNSPEC = 0, - ETHTOOL_A_PHY_HEADER = 1, - ETHTOOL_A_PHY_INDEX = 2, - ETHTOOL_A_PHY_DRVNAME = 3, - ETHTOOL_A_PHY_NAME = 4, - ETHTOOL_A_PHY_UPSTREAM_TYPE = 5, - ETHTOOL_A_PHY_UPSTREAM_INDEX = 6, - ETHTOOL_A_PHY_UPSTREAM_SFP_NAME = 7, - ETHTOOL_A_PHY_DOWNSTREAM_SFP_NAME = 8, - __ETHTOOL_A_PHY_CNT = 9, - ETHTOOL_A_PHY_MAX = 8, -}; - -enum { - ETHTOOL_A_PLCA_UNSPEC = 0, - ETHTOOL_A_PLCA_HEADER = 1, - ETHTOOL_A_PLCA_VERSION = 2, - ETHTOOL_A_PLCA_ENABLED = 3, - ETHTOOL_A_PLCA_STATUS = 4, - ETHTOOL_A_PLCA_NODE_CNT = 5, - ETHTOOL_A_PLCA_NODE_ID = 6, - ETHTOOL_A_PLCA_TO_TMR = 7, - ETHTOOL_A_PLCA_BURST_CNT = 8, - ETHTOOL_A_PLCA_BURST_TMR = 9, - __ETHTOOL_A_PLCA_CNT = 10, - ETHTOOL_A_PLCA_MAX = 9, -}; - -enum { - ETHTOOL_A_PRIVFLAGS_UNSPEC = 0, - ETHTOOL_A_PRIVFLAGS_HEADER = 1, - ETHTOOL_A_PRIVFLAGS_FLAGS = 2, - __ETHTOOL_A_PRIVFLAGS_CNT = 3, - ETHTOOL_A_PRIVFLAGS_MAX = 2, -}; - -enum { - ETHTOOL_A_PROFILE_UNSPEC = 0, - ETHTOOL_A_PROFILE_IRQ_MODERATION = 1, - __ETHTOOL_A_PROFILE_CNT = 2, - ETHTOOL_A_PROFILE_MAX = 1, -}; - -enum { - ETHTOOL_A_PSE_NTF_HEADER = 1, - ETHTOOL_A_PSE_NTF_EVENTS = 2, - __ETHTOOL_A_PSE_NTF_CNT = 3, - ETHTOOL_A_PSE_NTF_MAX = 2, -}; - -enum { - ETHTOOL_A_PSE_UNSPEC = 0, - ETHTOOL_A_PSE_HEADER = 1, - ETHTOOL_A_PODL_PSE_ADMIN_STATE = 2, - ETHTOOL_A_PODL_PSE_ADMIN_CONTROL = 3, - ETHTOOL_A_PODL_PSE_PW_D_STATUS = 4, - ETHTOOL_A_C33_PSE_ADMIN_STATE = 5, - ETHTOOL_A_C33_PSE_ADMIN_CONTROL = 6, - ETHTOOL_A_C33_PSE_PW_D_STATUS = 7, - ETHTOOL_A_C33_PSE_PW_CLASS = 8, - ETHTOOL_A_C33_PSE_ACTUAL_PW = 9, - ETHTOOL_A_C33_PSE_EXT_STATE = 10, - ETHTOOL_A_C33_PSE_EXT_SUBSTATE = 11, - ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT = 12, - ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES = 13, - ETHTOOL_A_PSE_PW_D_ID = 14, - ETHTOOL_A_PSE_PRIO_MAX = 15, - ETHTOOL_A_PSE_PRIO = 16, - __ETHTOOL_A_PSE_CNT = 17, - ETHTOOL_A_PSE_MAX = 16, -}; - -enum { - ETHTOOL_A_RINGS_UNSPEC = 0, - ETHTOOL_A_RINGS_HEADER = 1, - ETHTOOL_A_RINGS_RX_MAX = 2, - ETHTOOL_A_RINGS_RX_MINI_MAX = 3, - ETHTOOL_A_RINGS_RX_JUMBO_MAX = 4, - ETHTOOL_A_RINGS_TX_MAX = 5, - ETHTOOL_A_RINGS_RX = 6, - ETHTOOL_A_RINGS_RX_MINI = 7, - ETHTOOL_A_RINGS_RX_JUMBO = 8, - ETHTOOL_A_RINGS_TX = 9, - ETHTOOL_A_RINGS_RX_BUF_LEN = 10, - ETHTOOL_A_RINGS_TCP_DATA_SPLIT = 11, - ETHTOOL_A_RINGS_CQE_SIZE = 12, - ETHTOOL_A_RINGS_TX_PUSH = 13, - ETHTOOL_A_RINGS_RX_PUSH = 14, - ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN = 15, - ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX = 16, - ETHTOOL_A_RINGS_HDS_THRESH = 17, - ETHTOOL_A_RINGS_HDS_THRESH_MAX = 18, - __ETHTOOL_A_RINGS_CNT = 19, - ETHTOOL_A_RINGS_MAX = 18, -}; - -enum { - ETHTOOL_A_RSS_UNSPEC = 0, - ETHTOOL_A_RSS_HEADER = 1, - ETHTOOL_A_RSS_CONTEXT = 2, - ETHTOOL_A_RSS_HFUNC = 3, - ETHTOOL_A_RSS_INDIR = 4, - ETHTOOL_A_RSS_HKEY = 5, - ETHTOOL_A_RSS_INPUT_XFRM = 6, - ETHTOOL_A_RSS_START_CONTEXT = 7, - ETHTOOL_A_RSS_FLOW_HASH = 8, - __ETHTOOL_A_RSS_CNT = 9, - ETHTOOL_A_RSS_MAX = 8, -}; - -enum { - ETHTOOL_A_STATS_ETH_CTRL_3_TX = 0, - ETHTOOL_A_STATS_ETH_CTRL_4_RX = 1, - ETHTOOL_A_STATS_ETH_CTRL_5_RX_UNSUP = 2, - __ETHTOOL_A_STATS_ETH_CTRL_CNT = 3, - ETHTOOL_A_STATS_ETH_CTRL_MAX = 2, -}; - -enum { - ETHTOOL_A_STATS_ETH_MAC_2_TX_PKT = 0, - ETHTOOL_A_STATS_ETH_MAC_3_SINGLE_COL = 1, - ETHTOOL_A_STATS_ETH_MAC_4_MULTI_COL = 2, - ETHTOOL_A_STATS_ETH_MAC_5_RX_PKT = 3, - ETHTOOL_A_STATS_ETH_MAC_6_FCS_ERR = 4, - ETHTOOL_A_STATS_ETH_MAC_7_ALIGN_ERR = 5, - ETHTOOL_A_STATS_ETH_MAC_8_TX_BYTES = 6, - ETHTOOL_A_STATS_ETH_MAC_9_TX_DEFER = 7, - ETHTOOL_A_STATS_ETH_MAC_10_LATE_COL = 8, - ETHTOOL_A_STATS_ETH_MAC_11_XS_COL = 9, - ETHTOOL_A_STATS_ETH_MAC_12_TX_INT_ERR = 10, - ETHTOOL_A_STATS_ETH_MAC_13_CS_ERR = 11, - ETHTOOL_A_STATS_ETH_MAC_14_RX_BYTES = 12, - ETHTOOL_A_STATS_ETH_MAC_15_RX_INT_ERR = 13, - ETHTOOL_A_STATS_ETH_MAC_18_TX_MCAST = 14, - ETHTOOL_A_STATS_ETH_MAC_19_TX_BCAST = 15, - ETHTOOL_A_STATS_ETH_MAC_20_XS_DEFER = 16, - ETHTOOL_A_STATS_ETH_MAC_21_RX_MCAST = 17, - ETHTOOL_A_STATS_ETH_MAC_22_RX_BCAST = 18, - ETHTOOL_A_STATS_ETH_MAC_23_IR_LEN_ERR = 19, - ETHTOOL_A_STATS_ETH_MAC_24_OOR_LEN = 20, - ETHTOOL_A_STATS_ETH_MAC_25_TOO_LONG_ERR = 21, - __ETHTOOL_A_STATS_ETH_MAC_CNT = 22, - ETHTOOL_A_STATS_ETH_MAC_MAX = 21, -}; - -enum { - ETHTOOL_A_STATS_ETH_PHY_5_SYM_ERR = 0, - __ETHTOOL_A_STATS_ETH_PHY_CNT = 1, - ETHTOOL_A_STATS_ETH_PHY_MAX = 0, -}; - -enum { - ETHTOOL_A_STATS_GRP_UNSPEC = 0, - ETHTOOL_A_STATS_GRP_PAD = 1, - ETHTOOL_A_STATS_GRP_ID = 2, - ETHTOOL_A_STATS_GRP_SS_ID = 3, - ETHTOOL_A_STATS_GRP_STAT = 4, - ETHTOOL_A_STATS_GRP_HIST_RX = 5, - ETHTOOL_A_STATS_GRP_HIST_TX = 6, - ETHTOOL_A_STATS_GRP_HIST_BKT_LOW = 7, - ETHTOOL_A_STATS_GRP_HIST_BKT_HI = 8, - ETHTOOL_A_STATS_GRP_HIST_VAL = 9, - __ETHTOOL_A_STATS_GRP_CNT = 10, - ETHTOOL_A_STATS_GRP_MAX = 9, -}; - -enum { - ETHTOOL_A_STATS_PHY_RX_PKTS = 0, - ETHTOOL_A_STATS_PHY_RX_BYTES = 1, - ETHTOOL_A_STATS_PHY_RX_ERRORS = 2, - ETHTOOL_A_STATS_PHY_TX_PKTS = 3, - ETHTOOL_A_STATS_PHY_TX_BYTES = 4, - ETHTOOL_A_STATS_PHY_TX_ERRORS = 5, - __ETHTOOL_A_STATS_PHY_CNT = 6, - ETHTOOL_A_STATS_PHY_MAX = 5, -}; - -enum { - ETHTOOL_A_STATS_RMON_UNDERSIZE = 0, - ETHTOOL_A_STATS_RMON_OVERSIZE = 1, - ETHTOOL_A_STATS_RMON_FRAG = 2, - ETHTOOL_A_STATS_RMON_JABBER = 3, - __ETHTOOL_A_STATS_RMON_CNT = 4, - ETHTOOL_A_STATS_RMON_MAX = 3, -}; - -enum { - ETHTOOL_A_STATS_UNSPEC = 0, - ETHTOOL_A_STATS_PAD = 1, - ETHTOOL_A_STATS_HEADER = 2, - ETHTOOL_A_STATS_GROUPS = 3, - ETHTOOL_A_STATS_GRP = 4, - ETHTOOL_A_STATS_SRC = 5, - __ETHTOOL_A_STATS_CNT = 6, - ETHTOOL_A_STATS_MAX = 5, -}; - -enum { - ETHTOOL_A_STRINGSETS_UNSPEC = 0, - ETHTOOL_A_STRINGSETS_STRINGSET = 1, - __ETHTOOL_A_STRINGSETS_CNT = 2, - ETHTOOL_A_STRINGSETS_MAX = 1, -}; - -enum { - ETHTOOL_A_STRINGSET_UNSPEC = 0, - ETHTOOL_A_STRINGSET_ID = 1, - ETHTOOL_A_STRINGSET_COUNT = 2, - ETHTOOL_A_STRINGSET_STRINGS = 3, - __ETHTOOL_A_STRINGSET_CNT = 4, - ETHTOOL_A_STRINGSET_MAX = 3, -}; - -enum { - ETHTOOL_A_STRINGS_UNSPEC = 0, - ETHTOOL_A_STRINGS_STRING = 1, - __ETHTOOL_A_STRINGS_CNT = 2, - ETHTOOL_A_STRINGS_MAX = 1, -}; - -enum { - ETHTOOL_A_STRING_UNSPEC = 0, - ETHTOOL_A_STRING_INDEX = 1, - ETHTOOL_A_STRING_VALUE = 2, - __ETHTOOL_A_STRING_CNT = 3, - ETHTOOL_A_STRING_MAX = 2, -}; - -enum { - ETHTOOL_A_STRSET_UNSPEC = 0, - ETHTOOL_A_STRSET_HEADER = 1, - ETHTOOL_A_STRSET_STRINGSETS = 2, - ETHTOOL_A_STRSET_COUNTS_ONLY = 3, - __ETHTOOL_A_STRSET_CNT = 4, - ETHTOOL_A_STRSET_MAX = 3, -}; - -enum { - ETHTOOL_A_TSCONFIG_UNSPEC = 0, - ETHTOOL_A_TSCONFIG_HEADER = 1, - ETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER = 2, - ETHTOOL_A_TSCONFIG_TX_TYPES = 3, - ETHTOOL_A_TSCONFIG_RX_FILTERS = 4, - ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS = 5, - __ETHTOOL_A_TSCONFIG_CNT = 6, - ETHTOOL_A_TSCONFIG_MAX = 5, -}; - -enum { - ETHTOOL_A_TSINFO_UNSPEC = 0, - ETHTOOL_A_TSINFO_HEADER = 1, - ETHTOOL_A_TSINFO_TIMESTAMPING = 2, - ETHTOOL_A_TSINFO_TX_TYPES = 3, - ETHTOOL_A_TSINFO_RX_FILTERS = 4, - ETHTOOL_A_TSINFO_PHC_INDEX = 5, - ETHTOOL_A_TSINFO_STATS = 6, - ETHTOOL_A_TSINFO_HWTSTAMP_PROVIDER = 7, - ETHTOOL_A_TSINFO_HWTSTAMP_SOURCE = 8, - ETHTOOL_A_TSINFO_HWTSTAMP_PHYINDEX = 9, - __ETHTOOL_A_TSINFO_CNT = 10, - ETHTOOL_A_TSINFO_MAX = 9, -}; - -enum { - ETHTOOL_A_TS_HWTSTAMP_PROVIDER_UNSPEC = 0, - ETHTOOL_A_TS_HWTSTAMP_PROVIDER_INDEX = 1, - ETHTOOL_A_TS_HWTSTAMP_PROVIDER_QUALIFIER = 2, - __ETHTOOL_A_TS_HWTSTAMP_PROVIDER_CNT = 3, - ETHTOOL_A_TS_HWTSTAMP_PROVIDER_MAX = 2, -}; - -enum { - ETHTOOL_A_TS_STAT_UNSPEC = 0, - ETHTOOL_A_TS_STAT_TX_PKTS = 1, - ETHTOOL_A_TS_STAT_TX_LOST = 2, - ETHTOOL_A_TS_STAT_TX_ERR = 3, - ETHTOOL_A_TS_STAT_TX_ONESTEP_PKTS_UNCONFIRMED = 4, - __ETHTOOL_A_TS_STAT_CNT = 5, - ETHTOOL_A_TS_STAT_MAX = 4, -}; - -enum { - ETHTOOL_A_TUNNEL_INFO_UNSPEC = 0, - ETHTOOL_A_TUNNEL_INFO_HEADER = 1, - ETHTOOL_A_TUNNEL_INFO_UDP_PORTS = 2, - __ETHTOOL_A_TUNNEL_INFO_CNT = 3, - ETHTOOL_A_TUNNEL_INFO_MAX = 2, -}; - -enum { - ETHTOOL_A_TUNNEL_UDP_ENTRY_UNSPEC = 0, - ETHTOOL_A_TUNNEL_UDP_ENTRY_PORT = 1, - ETHTOOL_A_TUNNEL_UDP_ENTRY_TYPE = 2, - __ETHTOOL_A_TUNNEL_UDP_ENTRY_CNT = 3, - ETHTOOL_A_TUNNEL_UDP_ENTRY_MAX = 2, -}; - -enum { - ETHTOOL_A_TUNNEL_UDP_TABLE_UNSPEC = 0, - ETHTOOL_A_TUNNEL_UDP_TABLE_SIZE = 1, - ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES = 2, - ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY = 3, - __ETHTOOL_A_TUNNEL_UDP_TABLE_CNT = 4, - ETHTOOL_A_TUNNEL_UDP_TABLE_MAX = 3, -}; - -enum { - ETHTOOL_A_TUNNEL_UDP_UNSPEC = 0, - ETHTOOL_A_TUNNEL_UDP_TABLE = 1, - __ETHTOOL_A_TUNNEL_UDP_CNT = 2, - ETHTOOL_A_TUNNEL_UDP_MAX = 1, -}; - -enum { - ETHTOOL_A_WOL_UNSPEC = 0, - ETHTOOL_A_WOL_HEADER = 1, - ETHTOOL_A_WOL_MODES = 2, - ETHTOOL_A_WOL_SOPASS = 3, - __ETHTOOL_A_WOL_CNT = 4, - ETHTOOL_A_WOL_MAX = 3, -}; - -enum { - ETHTOOL_MSG_KERNEL_NONE = 0, - ETHTOOL_MSG_STRSET_GET_REPLY = 1, - ETHTOOL_MSG_LINKINFO_GET_REPLY = 2, - ETHTOOL_MSG_LINKINFO_NTF = 3, - ETHTOOL_MSG_LINKMODES_GET_REPLY = 4, - ETHTOOL_MSG_LINKMODES_NTF = 5, - ETHTOOL_MSG_LINKSTATE_GET_REPLY = 6, - ETHTOOL_MSG_DEBUG_GET_REPLY = 7, - ETHTOOL_MSG_DEBUG_NTF = 8, - ETHTOOL_MSG_WOL_GET_REPLY = 9, - ETHTOOL_MSG_WOL_NTF = 10, - ETHTOOL_MSG_FEATURES_GET_REPLY = 11, - ETHTOOL_MSG_FEATURES_SET_REPLY = 12, - ETHTOOL_MSG_FEATURES_NTF = 13, - ETHTOOL_MSG_PRIVFLAGS_GET_REPLY = 14, - ETHTOOL_MSG_PRIVFLAGS_NTF = 15, - ETHTOOL_MSG_RINGS_GET_REPLY = 16, - ETHTOOL_MSG_RINGS_NTF = 17, - ETHTOOL_MSG_CHANNELS_GET_REPLY = 18, - ETHTOOL_MSG_CHANNELS_NTF = 19, - ETHTOOL_MSG_COALESCE_GET_REPLY = 20, - ETHTOOL_MSG_COALESCE_NTF = 21, - ETHTOOL_MSG_PAUSE_GET_REPLY = 22, - ETHTOOL_MSG_PAUSE_NTF = 23, - ETHTOOL_MSG_EEE_GET_REPLY = 24, - ETHTOOL_MSG_EEE_NTF = 25, - ETHTOOL_MSG_TSINFO_GET_REPLY = 26, - ETHTOOL_MSG_CABLE_TEST_NTF = 27, - ETHTOOL_MSG_CABLE_TEST_TDR_NTF = 28, - ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY = 29, - ETHTOOL_MSG_FEC_GET_REPLY = 30, - ETHTOOL_MSG_FEC_NTF = 31, - ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY = 32, - ETHTOOL_MSG_STATS_GET_REPLY = 33, - ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY = 34, - ETHTOOL_MSG_MODULE_GET_REPLY = 35, - ETHTOOL_MSG_MODULE_NTF = 36, - ETHTOOL_MSG_PSE_GET_REPLY = 37, - ETHTOOL_MSG_RSS_GET_REPLY = 38, - ETHTOOL_MSG_PLCA_GET_CFG_REPLY = 39, - ETHTOOL_MSG_PLCA_GET_STATUS_REPLY = 40, - ETHTOOL_MSG_PLCA_NTF = 41, - ETHTOOL_MSG_MM_GET_REPLY = 42, - ETHTOOL_MSG_MM_NTF = 43, - ETHTOOL_MSG_MODULE_FW_FLASH_NTF = 44, - ETHTOOL_MSG_PHY_GET_REPLY = 45, - ETHTOOL_MSG_PHY_NTF = 46, - ETHTOOL_MSG_TSCONFIG_GET_REPLY = 47, - ETHTOOL_MSG_TSCONFIG_SET_REPLY = 48, - ETHTOOL_MSG_PSE_NTF = 49, - ETHTOOL_MSG_RSS_NTF = 50, - ETHTOOL_MSG_RSS_CREATE_ACT_REPLY = 51, - ETHTOOL_MSG_RSS_CREATE_NTF = 52, - ETHTOOL_MSG_RSS_DELETE_NTF = 53, - __ETHTOOL_MSG_KERNEL_CNT = 54, - ETHTOOL_MSG_KERNEL_MAX = 53, -}; - -enum { - ETHTOOL_MSG_USER_NONE = 0, - ETHTOOL_MSG_STRSET_GET = 1, - ETHTOOL_MSG_LINKINFO_GET = 2, - ETHTOOL_MSG_LINKINFO_SET = 3, - ETHTOOL_MSG_LINKMODES_GET = 4, - ETHTOOL_MSG_LINKMODES_SET = 5, - ETHTOOL_MSG_LINKSTATE_GET = 6, - ETHTOOL_MSG_DEBUG_GET = 7, - ETHTOOL_MSG_DEBUG_SET = 8, - ETHTOOL_MSG_WOL_GET = 9, - ETHTOOL_MSG_WOL_SET = 10, - ETHTOOL_MSG_FEATURES_GET = 11, - ETHTOOL_MSG_FEATURES_SET = 12, - ETHTOOL_MSG_PRIVFLAGS_GET = 13, - ETHTOOL_MSG_PRIVFLAGS_SET = 14, - ETHTOOL_MSG_RINGS_GET = 15, - ETHTOOL_MSG_RINGS_SET = 16, - ETHTOOL_MSG_CHANNELS_GET = 17, - ETHTOOL_MSG_CHANNELS_SET = 18, - ETHTOOL_MSG_COALESCE_GET = 19, - ETHTOOL_MSG_COALESCE_SET = 20, - ETHTOOL_MSG_PAUSE_GET = 21, - ETHTOOL_MSG_PAUSE_SET = 22, - ETHTOOL_MSG_EEE_GET = 23, - ETHTOOL_MSG_EEE_SET = 24, - ETHTOOL_MSG_TSINFO_GET = 25, - ETHTOOL_MSG_CABLE_TEST_ACT = 26, - ETHTOOL_MSG_CABLE_TEST_TDR_ACT = 27, - ETHTOOL_MSG_TUNNEL_INFO_GET = 28, - ETHTOOL_MSG_FEC_GET = 29, - ETHTOOL_MSG_FEC_SET = 30, - ETHTOOL_MSG_MODULE_EEPROM_GET = 31, - ETHTOOL_MSG_STATS_GET = 32, - ETHTOOL_MSG_PHC_VCLOCKS_GET = 33, - ETHTOOL_MSG_MODULE_GET = 34, - ETHTOOL_MSG_MODULE_SET = 35, - ETHTOOL_MSG_PSE_GET = 36, - ETHTOOL_MSG_PSE_SET = 37, - ETHTOOL_MSG_RSS_GET = 38, - ETHTOOL_MSG_PLCA_GET_CFG = 39, - ETHTOOL_MSG_PLCA_SET_CFG = 40, - ETHTOOL_MSG_PLCA_GET_STATUS = 41, - ETHTOOL_MSG_MM_GET = 42, - ETHTOOL_MSG_MM_SET = 43, - ETHTOOL_MSG_MODULE_FW_FLASH_ACT = 44, - ETHTOOL_MSG_PHY_GET = 45, - ETHTOOL_MSG_TSCONFIG_GET = 46, - ETHTOOL_MSG_TSCONFIG_SET = 47, - ETHTOOL_MSG_RSS_SET = 48, - ETHTOOL_MSG_RSS_CREATE_ACT = 49, - ETHTOOL_MSG_RSS_DELETE_ACT = 50, - __ETHTOOL_MSG_USER_CNT = 51, - ETHTOOL_MSG_USER_MAX = 50, -}; - -enum { - ETHTOOL_STATS_ETH_PHY = 0, - ETHTOOL_STATS_ETH_MAC = 1, - ETHTOOL_STATS_ETH_CTRL = 2, - ETHTOOL_STATS_RMON = 3, - ETHTOOL_STATS_PHY = 4, - __ETHTOOL_STATS_CNT = 5, -}; - -enum { - ETHTOOL_UDP_TUNNEL_TYPE_VXLAN = 0, - ETHTOOL_UDP_TUNNEL_TYPE_GENEVE = 1, - ETHTOOL_UDP_TUNNEL_TYPE_VXLAN_GPE = 2, - __ETHTOOL_UDP_TUNNEL_TYPE_CNT = 3, - ETHTOOL_UDP_TUNNEL_TYPE_MAX = 2, -}; - -enum { - ETH_RSS_HASH_TOP_BIT = 0, - ETH_RSS_HASH_XOR_BIT = 1, - ETH_RSS_HASH_CRC32_BIT = 2, - ETH_RSS_HASH_FUNCS_COUNT = 3, -}; - -enum { - EVENTFS_SAVE_MODE = 65536, - EVENTFS_SAVE_UID = 131072, - EVENTFS_SAVE_GID = 262144, -}; - -enum { - EVENT_FILE_FL_ENABLED = 1, - EVENT_FILE_FL_RECORDED_CMD = 2, - EVENT_FILE_FL_RECORDED_TGID = 4, - EVENT_FILE_FL_FILTERED = 8, - EVENT_FILE_FL_NO_SET_FILTER = 16, - EVENT_FILE_FL_SOFT_DISABLED = 32, - EVENT_FILE_FL_TRIGGER_MODE = 64, - EVENT_FILE_FL_TRIGGER_COND = 128, - EVENT_FILE_FL_PID_FILTER = 256, - EVENT_FILE_FL_WAS_ENABLED = 512, - EVENT_FILE_FL_FREED = 1024, -}; - -enum { - EVENT_FILE_FL_ENABLED_BIT = 0, - EVENT_FILE_FL_RECORDED_CMD_BIT = 1, - EVENT_FILE_FL_RECORDED_TGID_BIT = 2, - EVENT_FILE_FL_FILTERED_BIT = 3, - EVENT_FILE_FL_NO_SET_FILTER_BIT = 4, - EVENT_FILE_FL_SOFT_DISABLED_BIT = 5, - EVENT_FILE_FL_TRIGGER_MODE_BIT = 6, - EVENT_FILE_FL_TRIGGER_COND_BIT = 7, - EVENT_FILE_FL_PID_FILTER_BIT = 8, - EVENT_FILE_FL_WAS_ENABLED_BIT = 9, - EVENT_FILE_FL_FREED_BIT = 10, -}; - -enum { - EVENT_TRIGGER_FL_PROBE = 1, -}; - -enum { - EXT4_FC_REASON_XATTR = 0, - EXT4_FC_REASON_CROSS_RENAME = 1, - EXT4_FC_REASON_JOURNAL_FLAG_CHANGE = 2, - EXT4_FC_REASON_NOMEM = 3, - EXT4_FC_REASON_SWAP_BOOT = 4, - EXT4_FC_REASON_RESIZE = 5, - EXT4_FC_REASON_RENAME_DIR = 6, - EXT4_FC_REASON_FALLOC_RANGE = 7, - EXT4_FC_REASON_INODE_JOURNAL_DATA = 8, - EXT4_FC_REASON_ENCRYPTED_FILENAME = 9, - EXT4_FC_REASON_MAX = 10, -}; - -enum { - EXT4_FC_STATUS_OK = 0, - EXT4_FC_STATUS_INELIGIBLE = 1, - EXT4_FC_STATUS_SKIPPED = 2, - EXT4_FC_STATUS_FAILED = 3, -}; - -enum { - EXT4_FLAGS_RESIZING = 0, - EXT4_FLAGS_SHUTDOWN = 1, - EXT4_FLAGS_BDEV_IS_DAX = 2, - EXT4_FLAGS_EMERGENCY_RO = 3, -}; - -enum { - EXT4_INODE_SECRM = 0, - EXT4_INODE_UNRM = 1, - EXT4_INODE_COMPR = 2, - EXT4_INODE_SYNC = 3, - EXT4_INODE_IMMUTABLE = 4, - EXT4_INODE_APPEND = 5, - EXT4_INODE_NODUMP = 6, - EXT4_INODE_NOATIME = 7, - EXT4_INODE_DIRTY = 8, - EXT4_INODE_COMPRBLK = 9, - EXT4_INODE_NOCOMPR = 10, - EXT4_INODE_ENCRYPT = 11, - EXT4_INODE_INDEX = 12, - EXT4_INODE_IMAGIC = 13, - EXT4_INODE_JOURNAL_DATA = 14, - EXT4_INODE_NOTAIL = 15, - EXT4_INODE_DIRSYNC = 16, - EXT4_INODE_TOPDIR = 17, - EXT4_INODE_HUGE_FILE = 18, - EXT4_INODE_EXTENTS = 19, - EXT4_INODE_VERITY = 20, - EXT4_INODE_EA_INODE = 21, - EXT4_INODE_DAX = 25, - EXT4_INODE_INLINE_DATA = 28, - EXT4_INODE_PROJINHERIT = 29, - EXT4_INODE_CASEFOLD = 30, - EXT4_INODE_RESERVED = 31, -}; - -enum { - EXT4_MF_MNTDIR_SAMPLED = 0, - EXT4_MF_FC_INELIGIBLE = 1, - EXT4_MF_JOURNAL_DESTROY = 2, -}; - -enum { - EXT4_STATE_NEW = 0, - EXT4_STATE_XATTR = 1, - EXT4_STATE_NO_EXPAND = 2, - EXT4_STATE_DA_ALLOC_CLOSE = 3, - EXT4_STATE_EXT_MIGRATE = 4, - EXT4_STATE_NEWENTRY = 5, - EXT4_STATE_MAY_INLINE_DATA = 6, - EXT4_STATE_EXT_PRECACHED = 7, - EXT4_STATE_LUSTRE_EA_INODE = 8, - EXT4_STATE_VERITY_IN_PROGRESS = 9, - EXT4_STATE_FC_COMMITTING = 10, - EXT4_STATE_FC_FLUSHING_DATA = 11, - EXT4_STATE_ORPHAN_FILE = 12, -}; - -enum { - EXTRA_REG_NHMEX_M_FILTER = 0, - EXTRA_REG_NHMEX_M_DSP = 1, - EXTRA_REG_NHMEX_M_ISS = 2, - EXTRA_REG_NHMEX_M_MAP = 3, - EXTRA_REG_NHMEX_M_MSC_THR = 4, - EXTRA_REG_NHMEX_M_PGT = 5, - EXTRA_REG_NHMEX_M_PLD = 6, - EXTRA_REG_NHMEX_M_ZDP_CTL_FVC = 7, -}; - -enum { - FAN_EVENT_INIT = 0, - FAN_EVENT_REPORTED = 1, - FAN_EVENT_ANSWERED = 2, - FAN_EVENT_CANCELED = 3, -}; - -enum { - FAST_W_CNT = 16, -}; - -enum { - FBCON_LOGO_CANSHOW = -1, - FBCON_LOGO_DRAW = -2, - FBCON_LOGO_DONTSHOW = -3, -}; - -enum { - FB_BLANK_UNBLANK = 0, - FB_BLANK_NORMAL = 1, - FB_BLANK_VSYNC_SUSPEND = 2, - FB_BLANK_HSYNC_SUSPEND = 3, - FB_BLANK_POWERDOWN = 4, -}; - -enum { - FGRAPH_TYPE_RESERVED = 0, - FGRAPH_TYPE_BITMAP = 1, - FGRAPH_TYPE_DATA = 2, -}; - -enum { - FIB6_NO_SERNUM_CHANGE = 0, -}; - -enum { - FILTER_OTHER = 0, - FILTER_STATIC_STRING = 1, - FILTER_DYN_STRING = 2, - FILTER_RDYN_STRING = 3, - FILTER_PTR_STRING = 4, - FILTER_TRACE_FN = 5, - FILTER_CPUMASK = 6, - FILTER_COMM = 7, - FILTER_CPU = 8, - FILTER_STACKTRACE = 9, -}; - -enum { - FILT_ERR_NONE = 0, - FILT_ERR_INVALID_OP = 1, - FILT_ERR_TOO_MANY_OPEN = 2, - FILT_ERR_TOO_MANY_CLOSE = 3, - FILT_ERR_MISSING_QUOTE = 4, - FILT_ERR_MISSING_BRACE_OPEN = 5, - FILT_ERR_MISSING_BRACE_CLOSE = 6, - FILT_ERR_OPERAND_TOO_LONG = 7, - FILT_ERR_EXPECT_STRING = 8, - FILT_ERR_EXPECT_DIGIT = 9, - FILT_ERR_ILLEGAL_FIELD_OP = 10, - FILT_ERR_FIELD_NOT_FOUND = 11, - FILT_ERR_ILLEGAL_INTVAL = 12, - FILT_ERR_BAD_SUBSYS_FILTER = 13, - FILT_ERR_TOO_MANY_PREDS = 14, - FILT_ERR_INVALID_FILTER = 15, - FILT_ERR_INVALID_CPULIST = 16, - FILT_ERR_IP_FIELD_ONLY = 17, - FILT_ERR_INVALID_VALUE = 18, - FILT_ERR_NO_FUNCTION = 19, - FILT_ERR_ERRNO = 20, - FILT_ERR_NO_FILTER = 21, -}; - -enum { - FLAGS_ADC = 1, - FLAGS_RTC = 2, -}; - -enum { - FLAGS_FILL_FULL = 268435456, - FLAGS_FILL_START = 536870912, - FLAGS_FILL_END = 805306368, -}; - -enum { - FOLL_TOUCH = 65536, - FOLL_TRIED = 131072, - FOLL_REMOTE = 262144, - FOLL_PIN = 524288, - FOLL_FAST_ONLY = 1048576, - FOLL_UNLOCKABLE = 2097152, - FOLL_MADV_POPULATE = 4194304, -}; - -enum { - FOLL_WRITE = 1, - FOLL_GET = 2, - FOLL_DUMP = 4, - FOLL_FORCE = 8, - FOLL_NOWAIT = 16, - FOLL_NOFAULT = 32, - FOLL_HWPOISON = 64, - FOLL_ANON = 128, - FOLL_LONGTERM = 256, - FOLL_SPLIT_PMD = 512, - FOLL_PCI_P2PDMA = 1024, - FOLL_INTERRUPTIBLE = 2048, - FOLL_HONOR_NUMA_FAULT = 4096, -}; - -enum { - FORMAT_HEADER = 1, - FORMAT_FIELD_SEPERATOR = 2, - FORMAT_PRINTFMT = 3, -}; - -enum { - FRACTION_DENOM = 128, -}; - -enum { - FRA_UNSPEC = 0, - FRA_DST = 1, - FRA_SRC = 2, - FRA_IIFNAME = 3, - FRA_GOTO = 4, - FRA_UNUSED2 = 5, - FRA_PRIORITY = 6, - FRA_UNUSED3 = 7, - FRA_UNUSED4 = 8, - FRA_UNUSED5 = 9, - FRA_FWMARK = 10, - FRA_FLOW = 11, - FRA_TUN_ID = 12, - FRA_SUPPRESS_IFGROUP = 13, - FRA_SUPPRESS_PREFIXLEN = 14, - FRA_TABLE = 15, - FRA_FWMASK = 16, - FRA_OIFNAME = 17, - FRA_PAD = 18, - FRA_L3MDEV = 19, - FRA_UID_RANGE = 20, - FRA_PROTOCOL = 21, - FRA_IP_PROTO = 22, - FRA_SPORT_RANGE = 23, - FRA_DPORT_RANGE = 24, - FRA_DSCP = 25, - FRA_FLOWLABEL = 26, - FRA_FLOWLABEL_MASK = 27, - FRA_SPORT_MASK = 28, - FRA_DPORT_MASK = 29, - FRA_DSCP_MASK = 30, - __FRA_MAX = 31, -}; - -enum { - FR_ACT_UNSPEC = 0, - FR_ACT_TO_TBL = 1, - FR_ACT_GOTO = 2, - FR_ACT_NOP = 3, - FR_ACT_RES3 = 4, - FR_ACT_RES4 = 5, - FR_ACT_BLACKHOLE = 6, - FR_ACT_UNREACHABLE = 7, - FR_ACT_PROHIBIT = 8, - __FR_ACT_MAX = 9, -}; - -enum { - FR_PERCPU = 0, - FR_ATOMIC = 1, -}; - -enum { - FTRACE_FL_ENABLED = 2147483648, - FTRACE_FL_REGS = 1073741824, - FTRACE_FL_REGS_EN = 536870912, - FTRACE_FL_TRAMP = 268435456, - FTRACE_FL_TRAMP_EN = 134217728, - FTRACE_FL_IPMODIFY = 67108864, - FTRACE_FL_DISABLED = 33554432, - FTRACE_FL_DIRECT = 16777216, - FTRACE_FL_DIRECT_EN = 8388608, - FTRACE_FL_CALL_OPS = 4194304, - FTRACE_FL_CALL_OPS_EN = 2097152, - FTRACE_FL_TOUCHED = 1048576, - FTRACE_FL_MODIFIED = 524288, -}; - -enum { - FTRACE_HASH_FL_MOD = 1, -}; - -enum { - FTRACE_ITER_FILTER = 1, - FTRACE_ITER_NOTRACE = 2, - FTRACE_ITER_PRINTALL = 4, - FTRACE_ITER_DO_PROBES = 8, - FTRACE_ITER_PROBE = 16, - FTRACE_ITER_MOD = 32, - FTRACE_ITER_ENABLED = 64, - FTRACE_ITER_TOUCHED = 128, - FTRACE_ITER_ADDRS = 256, -}; - -enum { - FTRACE_MODIFY_ENABLE_FL = 1, - FTRACE_MODIFY_MAY_SLEEP_FL = 2, -}; - -enum { - FTRACE_OPS_FL_ENABLED = 1, - FTRACE_OPS_FL_DYNAMIC = 2, - FTRACE_OPS_FL_SAVE_REGS = 4, - FTRACE_OPS_FL_SAVE_REGS_IF_SUPPORTED = 8, - FTRACE_OPS_FL_RECURSION = 16, - FTRACE_OPS_FL_STUB = 32, - FTRACE_OPS_FL_INITIALIZED = 64, - FTRACE_OPS_FL_DELETED = 128, - FTRACE_OPS_FL_ADDING = 256, - FTRACE_OPS_FL_REMOVING = 512, - FTRACE_OPS_FL_MODIFYING = 1024, - FTRACE_OPS_FL_ALLOC_TRAMP = 2048, - FTRACE_OPS_FL_IPMODIFY = 4096, - FTRACE_OPS_FL_PID = 8192, - FTRACE_OPS_FL_RCU = 16384, - FTRACE_OPS_FL_TRACE_ARRAY = 32768, - FTRACE_OPS_FL_PERMANENT = 65536, - FTRACE_OPS_FL_DIRECT = 131072, - FTRACE_OPS_FL_SUBOP = 262144, - FTRACE_OPS_FL_GRAPH = 524288, -}; - -enum { - FTRACE_UPDATE_CALLS = 1, - FTRACE_DISABLE_CALLS = 2, - FTRACE_UPDATE_TRACE_FUNC = 4, - FTRACE_START_FUNC_RET = 8, - FTRACE_STOP_FUNC_RET = 16, - FTRACE_MAY_SLEEP = 32, -}; - -enum { - FTRACE_UPDATE_IGNORE = 0, - FTRACE_UPDATE_MAKE_CALL = 1, - FTRACE_UPDATE_MODIFY_CALL = 2, - FTRACE_UPDATE_MAKE_NOP = 3, -}; - -enum { - FUSE_I_ADVISE_RDPLUS = 0, - FUSE_I_INIT_RDPLUS = 1, - FUSE_I_SIZE_UNSTABLE = 2, - FUSE_I_BAD = 3, - FUSE_I_BTIME = 4, - FUSE_I_CACHE_IO_MODE = 5, -}; - -enum { - FUTEX_STATE_OK = 0, - FUTEX_STATE_EXITING = 1, - FUTEX_STATE_DEAD = 2, -}; - -enum { - GATE_INTERRUPT = 14, - GATE_TRAP = 15, - GATE_CALL = 12, - GATE_TASK = 5, -}; - -enum { - GENHD_FL_REMOVABLE = 1, - GENHD_FL_HIDDEN = 2, - GENHD_FL_NO_PART = 4, -}; - -enum { - GHES_SEV_NO = 0, - GHES_SEV_CORRECTED = 1, - GHES_SEV_RECOVERABLE = 2, - GHES_SEV_PANIC = 3, -}; - -enum { - GI2C_PORT = 0, - PI2C_PORT = 1, -}; - -enum { - GPIO_SYSFS_LINE_CHIP_ATTR_DIRECTION = 0, - GPIO_SYSFS_LINE_CHIP_ATTR_VALUE = 1, - GPIO_SYSFS_LINE_CHIP_ATTR_SENTINEL = 2, - GPIO_SYSFS_LINE_CHIP_ATTR_SIZE = 3, -}; - -enum { - GPIO_SYSFS_LINE_CLASS_ATTR_DIRECTION = 0, - GPIO_SYSFS_LINE_CLASS_ATTR_VALUE = 1, - GPIO_SYSFS_LINE_CLASS_ATTR_EDGE = 2, - GPIO_SYSFS_LINE_CLASS_ATTR_ACTIVE_LOW = 3, - GPIO_SYSFS_LINE_CLASS_ATTR_SENTINEL = 4, - GPIO_SYSFS_LINE_CLASS_ATTR_SIZE = 5, -}; - -enum { - GP_IDLE = 0, - GP_ENTER = 1, - GP_PASSED = 2, - GP_EXIT = 3, - GP_REPLAY = 4, -}; - -enum { - HANDSHAKE_A_ACCEPT_SOCKFD = 1, - HANDSHAKE_A_ACCEPT_HANDLER_CLASS = 2, - HANDSHAKE_A_ACCEPT_MESSAGE_TYPE = 3, - HANDSHAKE_A_ACCEPT_TIMEOUT = 4, - HANDSHAKE_A_ACCEPT_AUTH_MODE = 5, - HANDSHAKE_A_ACCEPT_PEER_IDENTITY = 6, - HANDSHAKE_A_ACCEPT_CERTIFICATE = 7, - HANDSHAKE_A_ACCEPT_PEERNAME = 8, - HANDSHAKE_A_ACCEPT_KEYRING = 9, - __HANDSHAKE_A_ACCEPT_MAX = 10, - HANDSHAKE_A_ACCEPT_MAX = 9, -}; - -enum { - HANDSHAKE_A_DONE_STATUS = 1, - HANDSHAKE_A_DONE_SOCKFD = 2, - HANDSHAKE_A_DONE_REMOTE_AUTH = 3, - __HANDSHAKE_A_DONE_MAX = 4, - HANDSHAKE_A_DONE_MAX = 3, -}; - -enum { - HANDSHAKE_A_X509_CERT = 1, - HANDSHAKE_A_X509_PRIVKEY = 2, - __HANDSHAKE_A_X509_MAX = 3, - HANDSHAKE_A_X509_MAX = 2, -}; - -enum { - HANDSHAKE_CMD_READY = 1, - HANDSHAKE_CMD_ACCEPT = 2, - HANDSHAKE_CMD_DONE = 3, - __HANDSHAKE_CMD_MAX = 4, - HANDSHAKE_CMD_MAX = 3, -}; - -enum { - HANDSHAKE_NLGRP_NONE = 0, - HANDSHAKE_NLGRP_TLSHD = 1, -}; - -enum { - HASH_SIZE = 128, -}; - -enum { - HAS_READ = 1, - HAS_WRITE = 2, - HAS_LSEEK = 4, - HAS_POLL = 8, - HAS_IOCTL = 16, -}; - -enum { - HIBERNATION_INVALID = 0, - HIBERNATION_PLATFORM = 1, - HIBERNATION_SHUTDOWN = 2, - HIBERNATION_REBOOT = 3, - HIBERNATION_SUSPEND = 4, - HIBERNATION_TEST_RESUME = 5, - __HIBERNATION_AFTER_LAST = 6, -}; - -enum { - HIST_ERR_NONE = 0, - HIST_ERR_DUPLICATE_VAR = 1, - HIST_ERR_VAR_NOT_UNIQUE = 2, - HIST_ERR_TOO_MANY_VARS = 3, - HIST_ERR_MALFORMED_ASSIGNMENT = 4, - HIST_ERR_NAMED_MISMATCH = 5, - HIST_ERR_TRIGGER_EEXIST = 6, - HIST_ERR_TRIGGER_ENOENT_CLEAR = 7, - HIST_ERR_SET_CLOCK_FAIL = 8, - HIST_ERR_BAD_FIELD_MODIFIER = 9, - HIST_ERR_TOO_MANY_SUBEXPR = 10, - HIST_ERR_TIMESTAMP_MISMATCH = 11, - HIST_ERR_TOO_MANY_FIELD_VARS = 12, - HIST_ERR_EVENT_FILE_NOT_FOUND = 13, - HIST_ERR_HIST_NOT_FOUND = 14, - HIST_ERR_HIST_CREATE_FAIL = 15, - HIST_ERR_SYNTH_VAR_NOT_FOUND = 16, - HIST_ERR_SYNTH_EVENT_NOT_FOUND = 17, - HIST_ERR_SYNTH_TYPE_MISMATCH = 18, - HIST_ERR_SYNTH_COUNT_MISMATCH = 19, - HIST_ERR_FIELD_VAR_PARSE_FAIL = 20, - HIST_ERR_VAR_CREATE_FIND_FAIL = 21, - HIST_ERR_ONX_NOT_VAR = 22, - HIST_ERR_ONX_VAR_NOT_FOUND = 23, - HIST_ERR_ONX_VAR_CREATE_FAIL = 24, - HIST_ERR_FIELD_VAR_CREATE_FAIL = 25, - HIST_ERR_TOO_MANY_PARAMS = 26, - HIST_ERR_PARAM_NOT_FOUND = 27, - HIST_ERR_INVALID_PARAM = 28, - HIST_ERR_ACTION_NOT_FOUND = 29, - HIST_ERR_NO_SAVE_PARAMS = 30, - HIST_ERR_TOO_MANY_SAVE_ACTIONS = 31, - HIST_ERR_ACTION_MISMATCH = 32, - HIST_ERR_NO_CLOSING_PAREN = 33, - HIST_ERR_SUBSYS_NOT_FOUND = 34, - HIST_ERR_INVALID_SUBSYS_EVENT = 35, - HIST_ERR_INVALID_REF_KEY = 36, - HIST_ERR_VAR_NOT_FOUND = 37, - HIST_ERR_FIELD_NOT_FOUND = 38, - HIST_ERR_EMPTY_ASSIGNMENT = 39, - HIST_ERR_INVALID_SORT_MODIFIER = 40, - HIST_ERR_EMPTY_SORT_FIELD = 41, - HIST_ERR_TOO_MANY_SORT_FIELDS = 42, - HIST_ERR_INVALID_SORT_FIELD = 43, - HIST_ERR_INVALID_STR_OPERAND = 44, - HIST_ERR_EXPECT_NUMBER = 45, - HIST_ERR_UNARY_MINUS_SUBEXPR = 46, - HIST_ERR_DIVISION_BY_ZERO = 47, - HIST_ERR_NEED_NOHC_VAL = 48, -}; - -enum { - HI_SOFTIRQ = 0, - TIMER_SOFTIRQ = 1, - NET_TX_SOFTIRQ = 2, - NET_RX_SOFTIRQ = 3, - BLOCK_SOFTIRQ = 4, - IRQ_POLL_SOFTIRQ = 5, - TASKLET_SOFTIRQ = 6, - SCHED_SOFTIRQ = 7, - HRTIMER_SOFTIRQ = 8, - RCU_SOFTIRQ = 9, - NR_SOFTIRQS = 10, -}; - -enum { - HMM_NEED_FAULT = 1, - HMM_NEED_WRITE_FAULT = 2, - HMM_NEED_ALL_BITS = 3, -}; - -enum { - HMM_PFN_INOUT_FLAGS = 2017612633061982208ULL, -}; - -enum { - HOST_L_CNT = 6, -}; - -enum { - HOST_L_DUR = 9, -}; - -enum { - HOST_S_CNT = 7, -}; - -enum { - HOST_S_DUR = 8, -}; - -enum { - HP_THREAD_NONE = 0, - HP_THREAD_ACTIVE = 1, - HP_THREAD_PARKED = 2, -}; - -enum { - HSWEP_PCI_UNCORE_HA = 0, - HSWEP_PCI_UNCORE_IMC = 1, - HSWEP_PCI_UNCORE_IRP = 2, - HSWEP_PCI_UNCORE_QPI = 3, - HSWEP_PCI_UNCORE_R2PCIE = 4, - HSWEP_PCI_UNCORE_R3QPI = 5, -}; - -enum { - HTE_TS_REGISTERED = 0, - HTE_TS_REQ = 1, - HTE_TS_DISABLE = 2, - HTE_TS_QUEUE_WK = 3, -}; - -enum { - HUF_flags_bmi2 = 1, - HUF_flags_optimalDepth = 2, - HUF_flags_preferRepeat = 4, - HUF_flags_suspectUncompressible = 8, - HUF_flags_disableAsm = 16, - HUF_flags_disableFast = 32, -}; - -enum { - HUGETLB_SHMFS_INODE = 1, - HUGETLB_ANONHUGE_INODE = 2, -}; - -enum { - HV_SUBNODE_ANY = 0, - HV_SUBNODE_SOCKET = 1, - HV_SUBNODE_CLUSTER = 2, - HV_SUBNODE_L3 = 3, - HV_SUBNODE_COUNT = 4, - HV_SUBNODE_INVALID = -1, -}; - -enum { - HW_BREAKPOINT_EMPTY = 0, - HW_BREAKPOINT_R = 1, - HW_BREAKPOINT_W = 2, - HW_BREAKPOINT_RW = 3, - HW_BREAKPOINT_X = 4, - HW_BREAKPOINT_INVALID = 7, -}; - -enum { - HW_BREAKPOINT_LEN_1 = 1, - HW_BREAKPOINT_LEN_2 = 2, - HW_BREAKPOINT_LEN_3 = 3, - HW_BREAKPOINT_LEN_4 = 4, - HW_BREAKPOINT_LEN_5 = 5, - HW_BREAKPOINT_LEN_6 = 6, - HW_BREAKPOINT_LEN_7 = 7, - HW_BREAKPOINT_LEN_8 = 8, -}; - -enum { - IBM = 0, - TVP = 1, -}; - -enum { - ICMP6_MIB_NUM = 0, - ICMP6_MIB_INMSGS = 1, - ICMP6_MIB_INERRORS = 2, - ICMP6_MIB_OUTMSGS = 3, - ICMP6_MIB_OUTERRORS = 4, - ICMP6_MIB_CSUMERRORS = 5, - ICMP6_MIB_RATELIMITHOST = 6, - __ICMP6_MIB_MAX = 7, -}; - -enum { - ICMP_MIB_NUM = 0, - ICMP_MIB_INMSGS = 1, - ICMP_MIB_INERRORS = 2, - ICMP_MIB_INDESTUNREACHS = 3, - ICMP_MIB_INTIMEEXCDS = 4, - ICMP_MIB_INPARMPROBS = 5, - ICMP_MIB_INSRCQUENCHS = 6, - ICMP_MIB_INREDIRECTS = 7, - ICMP_MIB_INECHOS = 8, - ICMP_MIB_INECHOREPS = 9, - ICMP_MIB_INTIMESTAMPS = 10, - ICMP_MIB_INTIMESTAMPREPS = 11, - ICMP_MIB_INADDRMASKS = 12, - ICMP_MIB_INADDRMASKREPS = 13, - ICMP_MIB_OUTMSGS = 14, - ICMP_MIB_OUTERRORS = 15, - ICMP_MIB_OUTDESTUNREACHS = 16, - ICMP_MIB_OUTTIMEEXCDS = 17, - ICMP_MIB_OUTPARMPROBS = 18, - ICMP_MIB_OUTSRCQUENCHS = 19, - ICMP_MIB_OUTREDIRECTS = 20, - ICMP_MIB_OUTECHOS = 21, - ICMP_MIB_OUTECHOREPS = 22, - ICMP_MIB_OUTTIMESTAMPS = 23, - ICMP_MIB_OUTTIMESTAMPREPS = 24, - ICMP_MIB_OUTADDRMASKS = 25, - ICMP_MIB_OUTADDRMASKREPS = 26, - ICMP_MIB_CSUMERRORS = 27, - ICMP_MIB_RATELIMITGLOBAL = 28, - ICMP_MIB_RATELIMITHOST = 29, - __ICMP_MIB_MAX = 30, -}; - -enum { - ICQ_EXITED = 4, - ICQ_DESTROYED = 8, -}; - -enum { - ICX_PCIE1_PMON_ID = 0, - ICX_PCIE2_PMON_ID = 1, - ICX_PCIE3_PMON_ID = 2, - ICX_PCIE4_PMON_ID = 3, - ICX_PCIE5_PMON_ID = 4, - ICX_CBDMA_DMI_PMON_ID = 5, -}; - -enum { - ICX_PCI_UNCORE_M2M = 0, - ICX_PCI_UNCORE_UPI = 1, - ICX_PCI_UNCORE_M3UPI = 2, -}; - -enum { - IDX_MODULE_ID = 0, - IDX_ST_OPS_COMMON_VALUE_ID = 1, -}; - -enum { - IFAL_ADDRESS = 1, - IFAL_LABEL = 2, - __IFAL_MAX = 3, -}; - -enum { - IFA_UNSPEC = 0, - IFA_ADDRESS = 1, - IFA_LOCAL = 2, - IFA_LABEL = 3, - IFA_BROADCAST = 4, - IFA_ANYCAST = 5, - IFA_CACHEINFO = 6, - IFA_MULTICAST = 7, - IFA_FLAGS = 8, - IFA_RT_PRIORITY = 9, - IFA_TARGET_NETNSID = 10, - IFA_PROTO = 11, - __IFA_MAX = 12, -}; - -enum { - IFLA_BRIDGE_FLAGS = 0, - IFLA_BRIDGE_MODE = 1, - IFLA_BRIDGE_VLAN_INFO = 2, - IFLA_BRIDGE_VLAN_TUNNEL_INFO = 3, - IFLA_BRIDGE_MRP = 4, - IFLA_BRIDGE_CFM = 5, - IFLA_BRIDGE_MST = 6, - __IFLA_BRIDGE_MAX = 7, -}; - -enum { - IFLA_BRPORT_UNSPEC = 0, - IFLA_BRPORT_STATE = 1, - IFLA_BRPORT_PRIORITY = 2, - IFLA_BRPORT_COST = 3, - IFLA_BRPORT_MODE = 4, - IFLA_BRPORT_GUARD = 5, - IFLA_BRPORT_PROTECT = 6, - IFLA_BRPORT_FAST_LEAVE = 7, - IFLA_BRPORT_LEARNING = 8, - IFLA_BRPORT_UNICAST_FLOOD = 9, - IFLA_BRPORT_PROXYARP = 10, - IFLA_BRPORT_LEARNING_SYNC = 11, - IFLA_BRPORT_PROXYARP_WIFI = 12, - IFLA_BRPORT_ROOT_ID = 13, - IFLA_BRPORT_BRIDGE_ID = 14, - IFLA_BRPORT_DESIGNATED_PORT = 15, - IFLA_BRPORT_DESIGNATED_COST = 16, - IFLA_BRPORT_ID = 17, - IFLA_BRPORT_NO = 18, - IFLA_BRPORT_TOPOLOGY_CHANGE_ACK = 19, - IFLA_BRPORT_CONFIG_PENDING = 20, - IFLA_BRPORT_MESSAGE_AGE_TIMER = 21, - IFLA_BRPORT_FORWARD_DELAY_TIMER = 22, - IFLA_BRPORT_HOLD_TIMER = 23, - IFLA_BRPORT_FLUSH = 24, - IFLA_BRPORT_MULTICAST_ROUTER = 25, - IFLA_BRPORT_PAD = 26, - IFLA_BRPORT_MCAST_FLOOD = 27, - IFLA_BRPORT_MCAST_TO_UCAST = 28, - IFLA_BRPORT_VLAN_TUNNEL = 29, - IFLA_BRPORT_BCAST_FLOOD = 30, - IFLA_BRPORT_GROUP_FWD_MASK = 31, - IFLA_BRPORT_NEIGH_SUPPRESS = 32, - IFLA_BRPORT_ISOLATED = 33, - IFLA_BRPORT_BACKUP_PORT = 34, - IFLA_BRPORT_MRP_RING_OPEN = 35, - IFLA_BRPORT_MRP_IN_OPEN = 36, - IFLA_BRPORT_MCAST_EHT_HOSTS_LIMIT = 37, - IFLA_BRPORT_MCAST_EHT_HOSTS_CNT = 38, - IFLA_BRPORT_LOCKED = 39, - IFLA_BRPORT_MAB = 40, - IFLA_BRPORT_MCAST_N_GROUPS = 41, - IFLA_BRPORT_MCAST_MAX_GROUPS = 42, - IFLA_BRPORT_NEIGH_VLAN_SUPPRESS = 43, - IFLA_BRPORT_BACKUP_NHID = 44, - __IFLA_BRPORT_MAX = 45, -}; - -enum { - IFLA_EVENT_NONE = 0, - IFLA_EVENT_REBOOT = 1, - IFLA_EVENT_FEATURES = 2, - IFLA_EVENT_BONDING_FAILOVER = 3, - IFLA_EVENT_NOTIFY_PEERS = 4, - IFLA_EVENT_IGMP_RESEND = 5, - IFLA_EVENT_BONDING_OPTIONS = 6, -}; - -enum { - IFLA_INET6_UNSPEC = 0, - IFLA_INET6_FLAGS = 1, - IFLA_INET6_CONF = 2, - IFLA_INET6_STATS = 3, - IFLA_INET6_MCAST = 4, - IFLA_INET6_CACHEINFO = 5, - IFLA_INET6_ICMP6STATS = 6, - IFLA_INET6_TOKEN = 7, - IFLA_INET6_ADDR_GEN_MODE = 8, - IFLA_INET6_RA_MTU = 9, - __IFLA_INET6_MAX = 10, -}; - -enum { - IFLA_INET_UNSPEC = 0, - IFLA_INET_CONF = 1, - __IFLA_INET_MAX = 2, -}; - -enum { - IFLA_INFO_UNSPEC = 0, - IFLA_INFO_KIND = 1, - IFLA_INFO_DATA = 2, - IFLA_INFO_XSTATS = 3, - IFLA_INFO_SLAVE_KIND = 4, - IFLA_INFO_SLAVE_DATA = 5, - __IFLA_INFO_MAX = 6, -}; - -enum { - IFLA_IPTUN_UNSPEC = 0, - IFLA_IPTUN_LINK = 1, - IFLA_IPTUN_LOCAL = 2, - IFLA_IPTUN_REMOTE = 3, - IFLA_IPTUN_TTL = 4, - IFLA_IPTUN_TOS = 5, - IFLA_IPTUN_ENCAP_LIMIT = 6, - IFLA_IPTUN_FLOWINFO = 7, - IFLA_IPTUN_FLAGS = 8, - IFLA_IPTUN_PROTO = 9, - IFLA_IPTUN_PMTUDISC = 10, - IFLA_IPTUN_6RD_PREFIX = 11, - IFLA_IPTUN_6RD_RELAY_PREFIX = 12, - IFLA_IPTUN_6RD_PREFIXLEN = 13, - IFLA_IPTUN_6RD_RELAY_PREFIXLEN = 14, - IFLA_IPTUN_ENCAP_TYPE = 15, - IFLA_IPTUN_ENCAP_FLAGS = 16, - IFLA_IPTUN_ENCAP_SPORT = 17, - IFLA_IPTUN_ENCAP_DPORT = 18, - IFLA_IPTUN_COLLECT_METADATA = 19, - IFLA_IPTUN_FWMARK = 20, - __IFLA_IPTUN_VENDOR_BREAK = 21, - IFLA_IPTUN_FAN_MAP = 33, - __IFLA_IPTUN_MAX = 34, -}; - -enum { - IFLA_MCTP_UNSPEC = 0, - IFLA_MCTP_NET = 1, - IFLA_MCTP_PHYS_BINDING = 2, - __IFLA_MCTP_MAX = 3, -}; - -enum { - IFLA_NETKIT_UNSPEC = 0, - IFLA_NETKIT_PEER_INFO = 1, - IFLA_NETKIT_PRIMARY = 2, - IFLA_NETKIT_POLICY = 3, - IFLA_NETKIT_PEER_POLICY = 4, - IFLA_NETKIT_MODE = 5, - IFLA_NETKIT_SCRUB = 6, - IFLA_NETKIT_PEER_SCRUB = 7, - IFLA_NETKIT_HEADROOM = 8, - IFLA_NETKIT_TAILROOM = 9, - __IFLA_NETKIT_MAX = 10, -}; - -enum { - IFLA_OFFLOAD_XSTATS_HW_S_INFO_UNSPEC = 0, - IFLA_OFFLOAD_XSTATS_HW_S_INFO_REQUEST = 1, - IFLA_OFFLOAD_XSTATS_HW_S_INFO_USED = 2, - __IFLA_OFFLOAD_XSTATS_HW_S_INFO_MAX = 3, -}; - -enum { - IFLA_OFFLOAD_XSTATS_UNSPEC = 0, - IFLA_OFFLOAD_XSTATS_CPU_HIT = 1, - IFLA_OFFLOAD_XSTATS_HW_S_INFO = 2, - IFLA_OFFLOAD_XSTATS_L3_STATS = 3, - __IFLA_OFFLOAD_XSTATS_MAX = 4, -}; - -enum { - IFLA_PORT_UNSPEC = 0, - IFLA_PORT_VF = 1, - IFLA_PORT_PROFILE = 2, - IFLA_PORT_VSI_TYPE = 3, - IFLA_PORT_INSTANCE_UUID = 4, - IFLA_PORT_HOST_UUID = 5, - IFLA_PORT_REQUEST = 6, - IFLA_PORT_RESPONSE = 7, - __IFLA_PORT_MAX = 8, -}; - -enum { - IFLA_PPP_UNSPEC = 0, - IFLA_PPP_DEV_FD = 1, - __IFLA_PPP_MAX = 2, -}; - -enum { - IFLA_PROTO_DOWN_REASON_UNSPEC = 0, - IFLA_PROTO_DOWN_REASON_MASK = 1, - IFLA_PROTO_DOWN_REASON_VALUE = 2, - __IFLA_PROTO_DOWN_REASON_CNT = 3, - IFLA_PROTO_DOWN_REASON_MAX = 2, -}; - -enum { - IFLA_STATS_GETSET_UNSPEC = 0, - IFLA_STATS_GET_FILTERS = 1, - IFLA_STATS_SET_OFFLOAD_XSTATS_L3_STATS = 2, - __IFLA_STATS_GETSET_MAX = 3, -}; - -enum { - IFLA_STATS_UNSPEC = 0, - IFLA_STATS_LINK_64 = 1, - IFLA_STATS_LINK_XSTATS = 2, - IFLA_STATS_LINK_XSTATS_SLAVE = 3, - IFLA_STATS_LINK_OFFLOAD_XSTATS = 4, - IFLA_STATS_AF_SPEC = 5, - __IFLA_STATS_MAX = 6, -}; - -enum { - IFLA_TUN_UNSPEC = 0, - IFLA_TUN_OWNER = 1, - IFLA_TUN_GROUP = 2, - IFLA_TUN_TYPE = 3, - IFLA_TUN_PI = 4, - IFLA_TUN_VNET_HDR = 5, - IFLA_TUN_PERSIST = 6, - IFLA_TUN_MULTI_QUEUE = 7, - IFLA_TUN_NUM_QUEUES = 8, - IFLA_TUN_NUM_DISABLED_QUEUES = 9, - __IFLA_TUN_MAX = 10, -}; - -enum { - IFLA_UNSPEC = 0, - IFLA_ADDRESS = 1, - IFLA_BROADCAST = 2, - IFLA_IFNAME = 3, - IFLA_MTU = 4, - IFLA_LINK = 5, - IFLA_QDISC = 6, - IFLA_STATS = 7, - IFLA_COST = 8, - IFLA_PRIORITY = 9, - IFLA_MASTER = 10, - IFLA_WIRELESS = 11, - IFLA_PROTINFO = 12, - IFLA_TXQLEN = 13, - IFLA_MAP = 14, - IFLA_WEIGHT = 15, - IFLA_OPERSTATE = 16, - IFLA_LINKMODE = 17, - IFLA_LINKINFO = 18, - IFLA_NET_NS_PID = 19, - IFLA_IFALIAS = 20, - IFLA_NUM_VF = 21, - IFLA_VFINFO_LIST = 22, - IFLA_STATS64 = 23, - IFLA_VF_PORTS = 24, - IFLA_PORT_SELF = 25, - IFLA_AF_SPEC = 26, - IFLA_GROUP = 27, - IFLA_NET_NS_FD = 28, - IFLA_EXT_MASK = 29, - IFLA_PROMISCUITY = 30, - IFLA_NUM_TX_QUEUES = 31, - IFLA_NUM_RX_QUEUES = 32, - IFLA_CARRIER = 33, - IFLA_PHYS_PORT_ID = 34, - IFLA_CARRIER_CHANGES = 35, - IFLA_PHYS_SWITCH_ID = 36, - IFLA_LINK_NETNSID = 37, - IFLA_PHYS_PORT_NAME = 38, - IFLA_PROTO_DOWN = 39, - IFLA_GSO_MAX_SEGS = 40, - IFLA_GSO_MAX_SIZE = 41, - IFLA_PAD = 42, - IFLA_XDP = 43, - IFLA_EVENT = 44, - IFLA_NEW_NETNSID = 45, - IFLA_IF_NETNSID = 46, - IFLA_TARGET_NETNSID = 46, - IFLA_CARRIER_UP_COUNT = 47, - IFLA_CARRIER_DOWN_COUNT = 48, - IFLA_NEW_IFINDEX = 49, - IFLA_MIN_MTU = 50, - IFLA_MAX_MTU = 51, - IFLA_PROP_LIST = 52, - IFLA_ALT_IFNAME = 53, - IFLA_PERM_ADDRESS = 54, - IFLA_PROTO_DOWN_REASON = 55, - IFLA_PARENT_DEV_NAME = 56, - IFLA_PARENT_DEV_BUS_NAME = 57, - IFLA_GRO_MAX_SIZE = 58, - IFLA_TSO_MAX_SIZE = 59, - IFLA_TSO_MAX_SEGS = 60, - IFLA_ALLMULTI = 61, - IFLA_DEVLINK_PORT = 62, - IFLA_GSO_IPV4_MAX_SIZE = 63, - IFLA_GRO_IPV4_MAX_SIZE = 64, - IFLA_DPLL_PIN = 65, - IFLA_MAX_PACING_OFFLOAD_HORIZON = 66, - IFLA_NETNS_IMMUTABLE = 67, - __IFLA_MAX = 68, -}; - -enum { - IFLA_VF_INFO_UNSPEC = 0, - IFLA_VF_INFO = 1, - __IFLA_VF_INFO_MAX = 2, -}; - -enum { - IFLA_VF_PORT_UNSPEC = 0, - IFLA_VF_PORT = 1, - __IFLA_VF_PORT_MAX = 2, -}; - -enum { - IFLA_VF_STATS_RX_PACKETS = 0, - IFLA_VF_STATS_TX_PACKETS = 1, - IFLA_VF_STATS_RX_BYTES = 2, - IFLA_VF_STATS_TX_BYTES = 3, - IFLA_VF_STATS_BROADCAST = 4, - IFLA_VF_STATS_MULTICAST = 5, - IFLA_VF_STATS_PAD = 6, - IFLA_VF_STATS_RX_DROPPED = 7, - IFLA_VF_STATS_TX_DROPPED = 8, - __IFLA_VF_STATS_MAX = 9, -}; - -enum { - IFLA_VF_UNSPEC = 0, - IFLA_VF_MAC = 1, - IFLA_VF_VLAN = 2, - IFLA_VF_TX_RATE = 3, - IFLA_VF_SPOOFCHK = 4, - IFLA_VF_LINK_STATE = 5, - IFLA_VF_RATE = 6, - IFLA_VF_RSS_QUERY_EN = 7, - IFLA_VF_STATS = 8, - IFLA_VF_TRUST = 9, - IFLA_VF_IB_NODE_GUID = 10, - IFLA_VF_IB_PORT_GUID = 11, - IFLA_VF_VLAN_LIST = 12, - IFLA_VF_BROADCAST = 13, - __IFLA_VF_MAX = 14, -}; - -enum { - IFLA_VF_VLAN_INFO_UNSPEC = 0, - IFLA_VF_VLAN_INFO = 1, - __IFLA_VF_VLAN_INFO_MAX = 2, -}; - -enum { - IFLA_XDP_UNSPEC = 0, - IFLA_XDP_FD = 1, - IFLA_XDP_ATTACHED = 2, - IFLA_XDP_FLAGS = 3, - IFLA_XDP_PROG_ID = 4, - IFLA_XDP_DRV_PROG_ID = 5, - IFLA_XDP_SKB_PROG_ID = 6, - IFLA_XDP_HW_PROG_ID = 7, - IFLA_XDP_EXPECTED_FD = 8, - __IFLA_XDP_MAX = 9, -}; - -enum { - IF_ACT_NONE = -1, - IF_ACT_FILTER = 0, - IF_ACT_START = 1, - IF_ACT_STOP = 2, - IF_SRC_FILE = 3, - IF_SRC_KERNEL = 4, - IF_SRC_FILEADDR = 5, - IF_SRC_KERNELADDR = 6, -}; - -enum { - IF_LINK_MODE_DEFAULT = 0, - IF_LINK_MODE_DORMANT = 1, - IF_LINK_MODE_TESTING = 2, -}; - -enum { - IF_OPER_UNKNOWN = 0, - IF_OPER_NOTPRESENT = 1, - IF_OPER_DOWN = 2, - IF_OPER_LOWERLAYERDOWN = 3, - IF_OPER_TESTING = 4, - IF_OPER_DORMANT = 5, - IF_OPER_UP = 6, -}; - -enum { - IF_STATE_ACTION = 0, - IF_STATE_SOURCE = 1, - IF_STATE_END = 2, -}; - -enum { - IIO_TOPOLOGY_TYPE = 0, - UPI_TOPOLOGY_TYPE = 1, - TOPOLOGY_MAX = 2, -}; - -enum { - INET6_IFADDR_STATE_PREDAD = 0, - INET6_IFADDR_STATE_DAD = 1, - INET6_IFADDR_STATE_POSTDAD = 2, - INET6_IFADDR_STATE_ERRDAD = 3, - INET6_IFADDR_STATE_DEAD = 4, -}; - -enum { - INET_DIAG_REQ_NONE = 0, - INET_DIAG_REQ_BYTECODE = 1, - INET_DIAG_REQ_SK_BPF_STORAGES = 2, - INET_DIAG_REQ_PROTOCOL = 3, - __INET_DIAG_REQ_MAX = 4, -}; - -enum { - INET_ECN_NOT_ECT = 0, - INET_ECN_ECT_1 = 1, - INET_ECN_ECT_0 = 2, - INET_ECN_CE = 3, - INET_ECN_MASK = 3, -}; - -enum { - INET_FLAGS_PKTINFO = 0, - INET_FLAGS_TTL = 1, - INET_FLAGS_TOS = 2, - INET_FLAGS_RECVOPTS = 3, - INET_FLAGS_RETOPTS = 4, - INET_FLAGS_PASSSEC = 5, - INET_FLAGS_ORIGDSTADDR = 6, - INET_FLAGS_CHECKSUM = 7, - INET_FLAGS_RECVFRAGSIZE = 8, - INET_FLAGS_RECVERR = 9, - INET_FLAGS_RECVERR_RFC4884 = 10, - INET_FLAGS_FREEBIND = 11, - INET_FLAGS_HDRINCL = 12, - INET_FLAGS_MC_LOOP = 13, - INET_FLAGS_MC_ALL = 14, - INET_FLAGS_TRANSPARENT = 15, - INET_FLAGS_IS_ICSK = 16, - INET_FLAGS_NODEFRAG = 17, - INET_FLAGS_BIND_ADDRESS_NO_PORT = 18, - INET_FLAGS_DEFER_CONNECT = 19, - INET_FLAGS_MC6_LOOP = 20, - INET_FLAGS_RECVERR6_RFC4884 = 21, - INET_FLAGS_MC6_ALL = 22, - INET_FLAGS_AUTOFLOWLABEL_SET = 23, - INET_FLAGS_AUTOFLOWLABEL = 24, - INET_FLAGS_DONTFRAG = 25, - INET_FLAGS_RECVERR6 = 26, - INET_FLAGS_REPFLOW = 27, - INET_FLAGS_RTALERT_ISOLATE = 28, - INET_FLAGS_SNDFLOW = 29, - INET_FLAGS_RTALERT = 30, -}; - -enum { - INET_FRAG_FIRST_IN = 1, - INET_FRAG_LAST_IN = 2, - INET_FRAG_COMPLETE = 4, - INET_FRAG_HASH_DEAD = 8, - INET_FRAG_DROP = 16, -}; - -enum { - INET_ULP_INFO_UNSPEC = 0, - INET_ULP_INFO_NAME = 1, - INET_ULP_INFO_TLS = 2, - INET_ULP_INFO_MPTCP = 3, - __INET_ULP_INFO_MAX = 4, -}; - -enum { - INSN_F_FRAMENO_MASK = 7, - INSN_F_SPI_MASK = 63, - INSN_F_SPI_SHIFT = 3, - INSN_F_STACK_ACCESS = 512, - INSN_F_DST_REG_STACK = 1024, - INSN_F_SRC_REG_STACK = 2048, -}; - -enum { - INTEL_GPIO_BASE_ZERO = -2, - INTEL_GPIO_BASE_NOMAP = -1, - INTEL_GPIO_BASE_MATCH = 0, -}; - -enum { - INVERT = 1, - PROCESS_AND = 2, - PROCESS_OR = 4, -}; - -enum { - IOAM6_ATTR_UNSPEC = 0, - IOAM6_ATTR_NS_ID = 1, - IOAM6_ATTR_NS_DATA = 2, - IOAM6_ATTR_NS_DATA_WIDE = 3, - IOAM6_ATTR_SC_ID = 4, - IOAM6_ATTR_SC_DATA = 5, - IOAM6_ATTR_SC_NONE = 6, - IOAM6_ATTR_PAD = 7, - __IOAM6_ATTR_MAX = 8, -}; - -enum { - IOAM6_CMD_UNSPEC = 0, - IOAM6_CMD_ADD_NAMESPACE = 1, - IOAM6_CMD_DEL_NAMESPACE = 2, - IOAM6_CMD_DUMP_NAMESPACES = 3, - IOAM6_CMD_ADD_SCHEMA = 4, - IOAM6_CMD_DEL_SCHEMA = 5, - IOAM6_CMD_DUMP_SCHEMAS = 6, - IOAM6_CMD_NS_SET_SCHEMA = 7, - __IOAM6_CMD_MAX = 8, -}; - -enum { - IOAM6_IPTUNNEL_UNSPEC = 0, - IOAM6_IPTUNNEL_MODE = 1, - IOAM6_IPTUNNEL_DST = 2, - IOAM6_IPTUNNEL_TRACE = 3, - IOAM6_IPTUNNEL_FREQ_K = 4, - IOAM6_IPTUNNEL_FREQ_N = 5, - IOAM6_IPTUNNEL_SRC = 6, - __IOAM6_IPTUNNEL_MAX = 7, -}; - -enum { - IOBL_BUF_RING = 1, - IOBL_INC = 2, -}; - -enum { - IOCB_CMD_PREAD = 0, - IOCB_CMD_PWRITE = 1, - IOCB_CMD_FSYNC = 2, - IOCB_CMD_FDSYNC = 3, - IOCB_CMD_POLL = 5, - IOCB_CMD_NOOP = 6, - IOCB_CMD_PREADV = 7, - IOCB_CMD_PWRITEV = 8, -}; - -enum { - IOMMU_PASID_ARRAY_DOMAIN = 0, - IOMMU_PASID_ARRAY_HANDLE = 1, -}; - -enum { - IOMMU_SET_DOMAIN_MUST_SUCCEED = 1, -}; - -enum { - IOPRIO_CLASS_NONE = 0, - IOPRIO_CLASS_RT = 1, - IOPRIO_CLASS_BE = 2, - IOPRIO_CLASS_IDLE = 3, - IOPRIO_CLASS_INVALID = 7, -}; - -enum { - IOPRIO_HINT_NONE = 0, - IOPRIO_HINT_DEV_DURATION_LIMIT_1 = 1, - IOPRIO_HINT_DEV_DURATION_LIMIT_2 = 2, - IOPRIO_HINT_DEV_DURATION_LIMIT_3 = 3, - IOPRIO_HINT_DEV_DURATION_LIMIT_4 = 4, - IOPRIO_HINT_DEV_DURATION_LIMIT_5 = 5, - IOPRIO_HINT_DEV_DURATION_LIMIT_6 = 6, - IOPRIO_HINT_DEV_DURATION_LIMIT_7 = 7, -}; - -enum { - IOPRIO_WHO_PROCESS = 1, - IOPRIO_WHO_PGRP = 2, - IOPRIO_WHO_USER = 3, -}; - -enum { - IORES_DESC_NONE = 0, - IORES_DESC_CRASH_KERNEL = 1, - IORES_DESC_ACPI_TABLES = 2, - IORES_DESC_ACPI_NV_STORAGE = 3, - IORES_DESC_PERSISTENT_MEMORY = 4, - IORES_DESC_PERSISTENT_MEMORY_LEGACY = 5, - IORES_DESC_DEVICE_PRIVATE_MEMORY = 6, - IORES_DESC_RESERVED = 7, - IORES_DESC_SOFT_RESERVED = 8, - IORES_DESC_CXL = 9, -}; - -enum { - IORES_MAP_SYSTEM_RAM = 1, - IORES_MAP_ENCRYPTED = 2, -}; - -enum { - IORING_MEM_REGION_REG_WAIT_ARG = 1, -}; - -enum { - IORING_MEM_REGION_TYPE_USER = 1, -}; - -enum { - IORING_REGISTER_SRC_REGISTERED = 1, - IORING_REGISTER_DST_REPLACE = 2, -}; - -enum { - IORING_REG_WAIT_TS = 1, -}; - -enum { - IORING_RSRC_FILE = 0, - IORING_RSRC_BUFFER = 1, -}; - -enum { - IOU_COMPLETE = 0, - IOU_ISSUE_SKIP_COMPLETE = -529, - IOU_RETRY = -11, - IOU_REQUEUE = -3072, -}; - -enum { - IOU_F_TWQ_LAZY_WAKE = 1, -}; - -enum { - IOU_POLL_DONE = 0, - IOU_POLL_NO_ACTION = 1, - IOU_POLL_REMOVE_POLL_USE_RES = 2, - IOU_POLL_REISSUE = 3, - IOU_POLL_REQUEUE = 4, -}; - -enum { - IO_ACCT_STALLED_BIT = 0, -}; - -enum { - IO_APOLL_OK = 0, - IO_APOLL_ABORTED = 1, - IO_APOLL_READY = 2, -}; - -enum { - IO_CHECK_CQ_OVERFLOW_BIT = 0, - IO_CHECK_CQ_DROPPED_BIT = 1, -}; - -enum { - IO_EVENTFD_OP_SIGNAL_BIT = 0, -}; - -enum { - IO_IMU_DEST = 1, - IO_IMU_SOURCE = 2, -}; - -enum { - IO_REGION_F_VMAP = 1, - IO_REGION_F_USER_PROVIDED = 2, - IO_REGION_F_SINGLE_REF = 4, -}; - -enum { - IO_SQ_THREAD_SHOULD_STOP = 0, - IO_SQ_THREAD_SHOULD_PARK = 1, -}; - -enum { - IO_WORKER_F_UP = 0, - IO_WORKER_F_RUNNING = 1, - IO_WORKER_F_FREE = 2, -}; - -enum { - IO_WQ_ACCT_BOUND = 0, - IO_WQ_ACCT_UNBOUND = 1, - IO_WQ_ACCT_NR = 2, -}; - -enum { - IO_WQ_BIT_EXIT = 0, -}; - -enum { - IO_WQ_WORK_CANCEL = 1, - IO_WQ_WORK_HASHED = 2, - IO_WQ_WORK_UNBOUND = 4, - IO_WQ_WORK_CONCURRENT = 16, - IO_WQ_HASH_SHIFT = 24, -}; - -enum { - IP6MRA_CREPORT_UNSPEC = 0, - IP6MRA_CREPORT_MSGTYPE = 1, - IP6MRA_CREPORT_MIF_ID = 2, - IP6MRA_CREPORT_SRC_ADDR = 3, - IP6MRA_CREPORT_DST_ADDR = 4, - IP6MRA_CREPORT_PKT = 5, - __IP6MRA_CREPORT_MAX = 6, -}; - -enum { - IP6_FH_F_FRAG = 1, - IP6_FH_F_AUTH = 2, - IP6_FH_F_SKIP_RH = 4, -}; - -enum { - IPMRA_CREPORT_UNSPEC = 0, - IPMRA_CREPORT_MSGTYPE = 1, - IPMRA_CREPORT_VIF_ID = 2, - IPMRA_CREPORT_SRC_ADDR = 3, - IPMRA_CREPORT_DST_ADDR = 4, - IPMRA_CREPORT_PKT = 5, - IPMRA_CREPORT_TABLE = 6, - __IPMRA_CREPORT_MAX = 7, -}; - -enum { - IPMRA_TABLE_UNSPEC = 0, - IPMRA_TABLE_ID = 1, - IPMRA_TABLE_CACHE_RES_QUEUE_LEN = 2, - IPMRA_TABLE_MROUTE_REG_VIF_NUM = 3, - IPMRA_TABLE_MROUTE_DO_ASSERT = 4, - IPMRA_TABLE_MROUTE_DO_PIM = 5, - IPMRA_TABLE_VIFS = 6, - IPMRA_TABLE_MROUTE_DO_WRVIFWHOLE = 7, - __IPMRA_TABLE_MAX = 8, -}; - -enum { - IPMRA_VIFA_UNSPEC = 0, - IPMRA_VIFA_IFINDEX = 1, - IPMRA_VIFA_VIF_ID = 2, - IPMRA_VIFA_FLAGS = 3, - IPMRA_VIFA_BYTES_IN = 4, - IPMRA_VIFA_BYTES_OUT = 5, - IPMRA_VIFA_PACKETS_IN = 6, - IPMRA_VIFA_PACKETS_OUT = 7, - IPMRA_VIFA_LOCAL_ADDR = 8, - IPMRA_VIFA_REMOTE_ADDR = 9, - IPMRA_VIFA_PAD = 10, - __IPMRA_VIFA_MAX = 11, -}; - -enum { - IPMRA_VIF_UNSPEC = 0, - IPMRA_VIF = 1, - __IPMRA_VIF_MAX = 2, -}; - -enum { - IPPROTO_IP = 0, - IPPROTO_ICMP = 1, - IPPROTO_IGMP = 2, - IPPROTO_IPIP = 4, - IPPROTO_TCP = 6, - IPPROTO_EGP = 8, - IPPROTO_PUP = 12, - IPPROTO_UDP = 17, - IPPROTO_IDP = 22, - IPPROTO_TP = 29, - IPPROTO_DCCP = 33, - IPPROTO_IPV6 = 41, - IPPROTO_RSVP = 46, - IPPROTO_GRE = 47, - IPPROTO_ESP = 50, - IPPROTO_AH = 51, - IPPROTO_MTP = 92, - IPPROTO_BEETPH = 94, - IPPROTO_ENCAP = 98, - IPPROTO_PIM = 103, - IPPROTO_COMP = 108, - IPPROTO_L2TP = 115, - IPPROTO_SCTP = 132, - IPPROTO_UDPLITE = 136, - IPPROTO_MPLS = 137, - IPPROTO_ETHERNET = 143, - IPPROTO_AGGFRAG = 144, - IPPROTO_RAW = 255, - IPPROTO_SMC = 256, - IPPROTO_MPTCP = 262, - IPPROTO_MAX = 263, -}; - -enum { - IPSTATS_MIB_NUM = 0, - IPSTATS_MIB_INPKTS = 1, - IPSTATS_MIB_INOCTETS = 2, - IPSTATS_MIB_INDELIVERS = 3, - IPSTATS_MIB_NOECTPKTS = 4, - IPSTATS_MIB_ECT1PKTS = 5, - IPSTATS_MIB_ECT0PKTS = 6, - IPSTATS_MIB_CEPKTS = 7, - IPSTATS_MIB_OUTREQUESTS = 8, - IPSTATS_MIB_OUTPKTS = 9, - IPSTATS_MIB_OUTOCTETS = 10, - IPSTATS_MIB_OUTFORWDATAGRAMS = 11, - IPSTATS_MIB_INHDRERRORS = 12, - IPSTATS_MIB_INTOOBIGERRORS = 13, - IPSTATS_MIB_INNOROUTES = 14, - IPSTATS_MIB_INADDRERRORS = 15, - IPSTATS_MIB_INUNKNOWNPROTOS = 16, - IPSTATS_MIB_INTRUNCATEDPKTS = 17, - IPSTATS_MIB_INDISCARDS = 18, - IPSTATS_MIB_OUTDISCARDS = 19, - IPSTATS_MIB_OUTNOROUTES = 20, - IPSTATS_MIB_REASMTIMEOUT = 21, - IPSTATS_MIB_REASMREQDS = 22, - IPSTATS_MIB_REASMOKS = 23, - IPSTATS_MIB_REASMFAILS = 24, - IPSTATS_MIB_FRAGOKS = 25, - IPSTATS_MIB_FRAGFAILS = 26, - IPSTATS_MIB_FRAGCREATES = 27, - IPSTATS_MIB_INMCASTPKTS = 28, - IPSTATS_MIB_OUTMCASTPKTS = 29, - IPSTATS_MIB_INBCASTPKTS = 30, - IPSTATS_MIB_OUTBCASTPKTS = 31, - IPSTATS_MIB_INMCASTOCTETS = 32, - IPSTATS_MIB_OUTMCASTOCTETS = 33, - IPSTATS_MIB_INBCASTOCTETS = 34, - IPSTATS_MIB_OUTBCASTOCTETS = 35, - IPSTATS_MIB_CSUMERRORS = 36, - IPSTATS_MIB_REASM_OVERLAPS = 37, - __IPSTATS_MIB_MAX = 38, -}; - -enum { - IPV4_DEVCONF_FORWARDING = 1, - IPV4_DEVCONF_MC_FORWARDING = 2, - IPV4_DEVCONF_PROXY_ARP = 3, - IPV4_DEVCONF_ACCEPT_REDIRECTS = 4, - IPV4_DEVCONF_SECURE_REDIRECTS = 5, - IPV4_DEVCONF_SEND_REDIRECTS = 6, - IPV4_DEVCONF_SHARED_MEDIA = 7, - IPV4_DEVCONF_RP_FILTER = 8, - IPV4_DEVCONF_ACCEPT_SOURCE_ROUTE = 9, - IPV4_DEVCONF_BOOTP_RELAY = 10, - IPV4_DEVCONF_LOG_MARTIANS = 11, - IPV4_DEVCONF_TAG = 12, - IPV4_DEVCONF_ARPFILTER = 13, - IPV4_DEVCONF_MEDIUM_ID = 14, - IPV4_DEVCONF_NOXFRM = 15, - IPV4_DEVCONF_NOPOLICY = 16, - IPV4_DEVCONF_FORCE_IGMP_VERSION = 17, - IPV4_DEVCONF_ARP_ANNOUNCE = 18, - IPV4_DEVCONF_ARP_IGNORE = 19, - IPV4_DEVCONF_PROMOTE_SECONDARIES = 20, - IPV4_DEVCONF_ARP_ACCEPT = 21, - IPV4_DEVCONF_ARP_NOTIFY = 22, - IPV4_DEVCONF_ACCEPT_LOCAL = 23, - IPV4_DEVCONF_SRC_VMARK = 24, - IPV4_DEVCONF_PROXY_ARP_PVLAN = 25, - IPV4_DEVCONF_ROUTE_LOCALNET = 26, - IPV4_DEVCONF_IGMPV2_UNSOLICITED_REPORT_INTERVAL = 27, - IPV4_DEVCONF_IGMPV3_UNSOLICITED_REPORT_INTERVAL = 28, - IPV4_DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN = 29, - IPV4_DEVCONF_DROP_UNICAST_IN_L2_MULTICAST = 30, - IPV4_DEVCONF_DROP_GRATUITOUS_ARP = 31, - IPV4_DEVCONF_BC_FORWARDING = 32, - IPV4_DEVCONF_ARP_EVICT_NOCARRIER = 33, - __IPV4_DEVCONF_MAX = 34, -}; - -enum { - IPV6_SADDR_RULE_INIT = 0, - IPV6_SADDR_RULE_LOCAL = 1, - IPV6_SADDR_RULE_SCOPE = 2, - IPV6_SADDR_RULE_PREFERRED = 3, - IPV6_SADDR_RULE_OIF = 4, - IPV6_SADDR_RULE_LABEL = 5, - IPV6_SADDR_RULE_PRIVACY = 6, - IPV6_SADDR_RULE_ORCHID = 7, - IPV6_SADDR_RULE_PREFIX = 8, - IPV6_SADDR_RULE_NOT_OPTIMISTIC = 9, - IPV6_SADDR_RULE_MAX = 10, -}; - -enum { - IP_TUNNEL_CSUM_BIT = 0, - IP_TUNNEL_ROUTING_BIT = 1, - IP_TUNNEL_KEY_BIT = 2, - IP_TUNNEL_SEQ_BIT = 3, - IP_TUNNEL_STRICT_BIT = 4, - IP_TUNNEL_REC_BIT = 5, - IP_TUNNEL_VERSION_BIT = 6, - IP_TUNNEL_NO_KEY_BIT = 7, - IP_TUNNEL_DONT_FRAGMENT_BIT = 8, - IP_TUNNEL_OAM_BIT = 9, - IP_TUNNEL_CRIT_OPT_BIT = 10, - IP_TUNNEL_GENEVE_OPT_BIT = 11, - IP_TUNNEL_VXLAN_OPT_BIT = 12, - IP_TUNNEL_NOCACHE_BIT = 13, - IP_TUNNEL_ERSPAN_OPT_BIT = 14, - IP_TUNNEL_GTP_OPT_BIT = 15, - IP_TUNNEL_VTI_BIT = 16, - IP_TUNNEL_SIT_ISATAP_BIT = 16, - IP_TUNNEL_PFCP_OPT_BIT = 17, - __IP_TUNNEL_FLAG_NUM = 18, -}; - -enum { - IRQCHIP_FWNODE_REAL = 0, - IRQCHIP_FWNODE_NAMED = 1, - IRQCHIP_FWNODE_NAMED_ID = 2, -}; - -enum { - IRQCHIP_SET_TYPE_MASKED = 1, - IRQCHIP_EOI_IF_HANDLED = 2, - IRQCHIP_MASK_ON_SUSPEND = 4, - IRQCHIP_ONOFFLINE_ENABLED = 8, - IRQCHIP_SKIP_SET_WAKE = 16, - IRQCHIP_ONESHOT_SAFE = 32, - IRQCHIP_EOI_THREADED = 64, - IRQCHIP_SUPPORTS_LEVEL_MSI = 128, - IRQCHIP_SUPPORTS_NMI = 256, - IRQCHIP_ENABLE_WAKEUP_ON_SUSPEND = 512, - IRQCHIP_AFFINITY_PRE_STARTUP = 1024, - IRQCHIP_IMMUTABLE = 2048, - IRQCHIP_MOVE_DEFERRED = 4096, -}; - -enum { - IRQC_IS_HARDIRQ = 0, - IRQC_IS_NESTED = 1, -}; - -enum { - IRQD_TRIGGER_MASK = 15, - IRQD_SETAFFINITY_PENDING = 256, - IRQD_ACTIVATED = 512, - IRQD_NO_BALANCING = 1024, - IRQD_PER_CPU = 2048, - IRQD_AFFINITY_SET = 4096, - IRQD_LEVEL = 8192, - IRQD_WAKEUP_STATE = 16384, - IRQD_IRQ_DISABLED = 65536, - IRQD_IRQ_MASKED = 131072, - IRQD_IRQ_INPROGRESS = 262144, - IRQD_WAKEUP_ARMED = 524288, - IRQD_FORWARDED_TO_VCPU = 1048576, - IRQD_AFFINITY_MANAGED = 2097152, - IRQD_IRQ_STARTED = 4194304, - IRQD_MANAGED_SHUTDOWN = 8388608, - IRQD_SINGLE_TARGET = 16777216, - IRQD_DEFAULT_TRIGGER_SET = 33554432, - IRQD_CAN_RESERVE = 67108864, - IRQD_HANDLE_ENFORCE_IRQCTX = 134217728, - IRQD_AFFINITY_ON_ACTIVATE = 268435456, - IRQD_IRQ_ENABLED_ON_SUSPEND = 536870912, - IRQD_RESEND_WHEN_IN_PROGRESS = 1073741824, -}; - -enum { - IRQS_AUTODETECT = 1, - IRQS_SPURIOUS_DISABLED = 2, - IRQS_POLL_INPROGRESS = 8, - IRQS_ONESHOT = 32, - IRQS_REPLAY = 64, - IRQS_WAITING = 128, - IRQS_PENDING = 512, - IRQS_SUSPENDED = 2048, - IRQS_TIMINGS = 4096, - IRQS_NMI = 8192, - IRQS_SYSFS = 16384, -}; - -enum { - IRQTF_RUNTHREAD = 0, - IRQTF_WARNED = 1, - IRQTF_AFFINITY = 2, - IRQTF_FORCED_THREAD = 3, - IRQTF_READY = 4, -}; - -enum { - IRQ_DOMAIN_FLAG_HIERARCHY = 1, - IRQ_DOMAIN_NAME_ALLOCATED = 2, - IRQ_DOMAIN_FLAG_IPI_PER_CPU = 4, - IRQ_DOMAIN_FLAG_IPI_SINGLE = 8, - IRQ_DOMAIN_FLAG_MSI = 16, - IRQ_DOMAIN_FLAG_ISOLATED_MSI = 32, - IRQ_DOMAIN_FLAG_NO_MAP = 64, - IRQ_DOMAIN_FLAG_MSI_PARENT = 256, - IRQ_DOMAIN_FLAG_MSI_DEVICE = 512, - IRQ_DOMAIN_FLAG_DESTROY_GC = 1024, - IRQ_DOMAIN_FLAG_MSI_IMMUTABLE = 2048, - IRQ_DOMAIN_FLAG_FWNODE_PARENT = 4096, - IRQ_DOMAIN_FLAG_NONCORE = 65536, -}; - -enum { - IRQ_POLL_F_SCHED = 0, - IRQ_POLL_F_DISABLE = 1, -}; - -enum { - IRQ_REMAP_XAPIC_MODE = 0, - IRQ_REMAP_X2APIC_MODE = 1, -}; - -enum { - IRQ_SET_MASK_OK = 0, - IRQ_SET_MASK_OK_NOCOPY = 1, - IRQ_SET_MASK_OK_DONE = 2, -}; - -enum { - IRQ_STARTUP_NORMAL = 0, - IRQ_STARTUP_MANAGED = 1, - IRQ_STARTUP_ABORT = 2, -}; - -enum { - IRQ_TYPE_NONE = 0, - IRQ_TYPE_EDGE_RISING = 1, - IRQ_TYPE_EDGE_FALLING = 2, - IRQ_TYPE_EDGE_BOTH = 3, - IRQ_TYPE_LEVEL_HIGH = 4, - IRQ_TYPE_LEVEL_LOW = 8, - IRQ_TYPE_LEVEL_MASK = 12, - IRQ_TYPE_SENSE_MASK = 15, - IRQ_TYPE_DEFAULT = 15, - IRQ_TYPE_PROBE = 16, - IRQ_LEVEL = 256, - IRQ_PER_CPU = 512, - IRQ_NOPROBE = 1024, - IRQ_NOREQUEST = 2048, - IRQ_NOAUTOEN = 4096, - IRQ_NO_BALANCING = 8192, - IRQ_NESTED_THREAD = 32768, - IRQ_NOTHREAD = 65536, - IRQ_PER_CPU_DEVID = 131072, - IRQ_IS_POLLED = 262144, - IRQ_DISABLE_UNLAZY = 524288, - IRQ_HIDDEN = 1048576, - IRQ_NO_DEBUG = 2097152, -}; - -enum { - IVBEP_PCI_UNCORE_HA = 0, - IVBEP_PCI_UNCORE_IMC = 1, - IVBEP_PCI_UNCORE_IRP = 2, - IVBEP_PCI_UNCORE_QPI = 3, - IVBEP_PCI_UNCORE_R2PCIE = 4, - IVBEP_PCI_UNCORE_R3QPI = 5, -}; - -enum { - I_DATA_SEM_NORMAL = 0, - I_DATA_SEM_OTHER = 1, - I_DATA_SEM_QUOTA = 2, - I_DATA_SEM_EA = 3, -}; - -enum { - I_LCOEF_RBPS = 0, - I_LCOEF_RSEQIOPS = 1, - I_LCOEF_RRANDIOPS = 2, - I_LCOEF_WBPS = 3, - I_LCOEF_WSEQIOPS = 4, - I_LCOEF_WRANDIOPS = 5, - NR_I_LCOEFS = 6, -}; - -enum { - KBUF_MODE_EXPAND = 1, - KBUF_MODE_FREE = 2, -}; - -enum { - KDB_NOT_INITIALIZED = 0, - KDB_INIT_EARLY = 1, - KDB_INIT_FULL = 2, -}; - -enum { - KERNEL_PARAM_FL_UNSAFE = 1, - KERNEL_PARAM_FL_HWPARAM = 2, -}; - -enum { - KERNEL_PARAM_OPS_FL_NOARG = 1, -}; - -enum { - KF_ARG_DYNPTR_ID = 0, - KF_ARG_LIST_HEAD_ID = 1, - KF_ARG_LIST_NODE_ID = 2, - KF_ARG_RB_ROOT_ID = 3, - KF_ARG_RB_NODE_ID = 4, - KF_ARG_WORKQUEUE_ID = 5, - KF_ARG_RES_SPIN_LOCK_ID = 6, -}; - -enum { - KNL_PCI_UNCORE_MC_UCLK = 0, - KNL_PCI_UNCORE_MC_DCLK = 1, - KNL_PCI_UNCORE_EDC_UCLK = 2, - KNL_PCI_UNCORE_EDC_ECLK = 3, - KNL_PCI_UNCORE_M2PCIE = 4, - KNL_PCI_UNCORE_IRP = 5, -}; - -enum { - KTW_FREEZABLE = 1, -}; - -enum { - LAST_NORM = 0, - LAST_ROOT = 1, - LAST_DOT = 2, - LAST_DOTDOT = 3, -}; - -enum { - LAT_OK = 1, - LAT_UNKNOWN = 2, - LAT_UNKNOWN_WRITES = 3, - LAT_EXCEEDED = 4, -}; - -enum { - LBR_FORMAT_32 = 0, - LBR_FORMAT_LIP = 1, - LBR_FORMAT_EIP = 2, - LBR_FORMAT_EIP_FLAGS = 3, - LBR_FORMAT_EIP_FLAGS2 = 4, - LBR_FORMAT_INFO = 5, - LBR_FORMAT_TIME = 6, - LBR_FORMAT_INFO2 = 7, - LBR_FORMAT_MAX_KNOWN = 7, -}; - -enum { - LBR_NONE = 0, - LBR_VALID = 1, -}; - -enum { - LCOEF_RPAGE = 0, - LCOEF_RSEQIO = 1, - LCOEF_RRANDIO = 2, - LCOEF_WPAGE = 3, - LCOEF_WSEQIO = 4, - LCOEF_WRANDIO = 5, - NR_LCOEFS = 6, -}; - -enum { - LIBATA_MAX_PRD = 128, - LIBATA_DUMB_MAX_PRD = 64, - ATA_DEF_QUEUE = 1, - ATA_MAX_QUEUE = 32, - ATA_TAG_INTERNAL = 32, - ATA_SHORT_PAUSE = 16, - ATAPI_MAX_DRAIN = 16384, - ATA_ALL_DEVICES = 3, - ATA_SHT_EMULATED = 1, - ATA_SHT_THIS_ID = -1, - ATA_TFLAG_LBA48 = 1, - ATA_TFLAG_ISADDR = 2, - ATA_TFLAG_DEVICE = 4, - ATA_TFLAG_WRITE = 8, - ATA_TFLAG_LBA = 16, - ATA_TFLAG_FUA = 32, - ATA_TFLAG_POLLING = 64, - ATA_DFLAG_LBA = 1, - ATA_DFLAG_LBA48 = 2, - ATA_DFLAG_CDB_INTR = 4, - ATA_DFLAG_NCQ = 8, - ATA_DFLAG_FLUSH_EXT = 16, - ATA_DFLAG_ACPI_PENDING = 32, - ATA_DFLAG_ACPI_FAILED = 64, - ATA_DFLAG_AN = 128, - ATA_DFLAG_TRUSTED = 256, - ATA_DFLAG_FUA = 512, - ATA_DFLAG_DMADIR = 1024, - ATA_DFLAG_NCQ_SEND_RECV = 2048, - ATA_DFLAG_NCQ_PRIO = 4096, - ATA_DFLAG_CDL = 8192, - ATA_DFLAG_CFG_MASK = 16383, - ATA_DFLAG_PIO = 16384, - ATA_DFLAG_NCQ_OFF = 32768, - ATA_DFLAG_SLEEPING = 65536, - ATA_DFLAG_DUBIOUS_XFER = 131072, - ATA_DFLAG_NO_UNLOAD = 262144, - ATA_DFLAG_UNLOCK_HPA = 524288, - ATA_DFLAG_INIT_MASK = 1048575, - ATA_DFLAG_NCQ_PRIO_ENABLED = 1048576, - ATA_DFLAG_CDL_ENABLED = 2097152, - ATA_DFLAG_RESUMING = 4194304, - ATA_DFLAG_DETACH = 16777216, - ATA_DFLAG_DETACHED = 33554432, - ATA_DFLAG_DA = 67108864, - ATA_DFLAG_DEVSLP = 134217728, - ATA_DFLAG_ACPI_DISABLED = 268435456, - ATA_DFLAG_D_SENSE = 536870912, - ATA_DFLAG_FEATURES_MASK = 201341696, - ATA_DEV_UNKNOWN = 0, - ATA_DEV_ATA = 1, - ATA_DEV_ATA_UNSUP = 2, - ATA_DEV_ATAPI = 3, - ATA_DEV_ATAPI_UNSUP = 4, - ATA_DEV_PMP = 5, - ATA_DEV_PMP_UNSUP = 6, - ATA_DEV_SEMB = 7, - ATA_DEV_SEMB_UNSUP = 8, - ATA_DEV_ZAC = 9, - ATA_DEV_ZAC_UNSUP = 10, - ATA_DEV_NONE = 11, - ATA_LFLAG_NO_HRST = 2, - ATA_LFLAG_NO_SRST = 4, - ATA_LFLAG_ASSUME_ATA = 8, - ATA_LFLAG_ASSUME_SEMB = 16, - ATA_LFLAG_ASSUME_CLASS = 24, - ATA_LFLAG_NO_RETRY = 32, - ATA_LFLAG_DISABLED = 64, - ATA_LFLAG_SW_ACTIVITY = 128, - ATA_LFLAG_NO_LPM = 256, - ATA_LFLAG_RST_ONCE = 512, - ATA_LFLAG_CHANGED = 1024, - ATA_LFLAG_NO_DEBOUNCE_DELAY = 2048, - ATA_FLAG_SLAVE_POSS = 1, - ATA_FLAG_SATA = 2, - ATA_FLAG_NO_LPM = 4, - ATA_FLAG_NO_LOG_PAGE = 32, - ATA_FLAG_NO_ATAPI = 64, - ATA_FLAG_PIO_DMA = 128, - ATA_FLAG_PIO_LBA48 = 256, - ATA_FLAG_PIO_POLLING = 512, - ATA_FLAG_NCQ = 1024, - ATA_FLAG_NO_POWEROFF_SPINDOWN = 2048, - ATA_FLAG_NO_HIBERNATE_SPINDOWN = 4096, - ATA_FLAG_DEBUGMSG = 8192, - ATA_FLAG_FPDMA_AA = 16384, - ATA_FLAG_IGN_SIMPLEX = 32768, - ATA_FLAG_NO_IORDY = 65536, - ATA_FLAG_ACPI_SATA = 131072, - ATA_FLAG_AN = 262144, - ATA_FLAG_PMP = 524288, - ATA_FLAG_FPDMA_AUX = 1048576, - ATA_FLAG_EM = 2097152, - ATA_FLAG_SW_ACTIVITY = 4194304, - ATA_FLAG_NO_DIPM = 8388608, - ATA_FLAG_SAS_HOST = 16777216, - ATA_PFLAG_EH_PENDING = 1, - ATA_PFLAG_EH_IN_PROGRESS = 2, - ATA_PFLAG_FROZEN = 4, - ATA_PFLAG_RECOVERED = 8, - ATA_PFLAG_LOADING = 16, - ATA_PFLAG_SCSI_HOTPLUG = 64, - ATA_PFLAG_INITIALIZING = 128, - ATA_PFLAG_RESETTING = 256, - ATA_PFLAG_UNLOADING = 512, - ATA_PFLAG_UNLOADED = 1024, - ATA_PFLAG_RESUMING = 65536, - ATA_PFLAG_SUSPENDED = 131072, - ATA_PFLAG_PM_PENDING = 262144, - ATA_PFLAG_INIT_GTM_VALID = 524288, - ATA_PFLAG_PIO32 = 1048576, - ATA_PFLAG_PIO32CHANGE = 2097152, - ATA_PFLAG_EXTERNAL = 4194304, - ATA_QCFLAG_ACTIVE = 1, - ATA_QCFLAG_DMAMAP = 2, - ATA_QCFLAG_RTF_FILLED = 4, - ATA_QCFLAG_IO = 8, - ATA_QCFLAG_RESULT_TF = 16, - ATA_QCFLAG_CLEAR_EXCL = 32, - ATA_QCFLAG_QUIET = 64, - ATA_QCFLAG_RETRY = 128, - ATA_QCFLAG_HAS_CDL = 256, - ATA_QCFLAG_EH = 65536, - ATA_QCFLAG_SENSE_VALID = 131072, - ATA_QCFLAG_EH_SCHEDULED = 262144, - ATA_QCFLAG_EH_SUCCESS_CMD = 524288, - ATA_HOST_SIMPLEX = 1, - ATA_HOST_STARTED = 2, - ATA_HOST_PARALLEL_SCAN = 4, - ATA_HOST_IGNORE_ATA = 8, - ATA_HOST_NO_PART = 16, - ATA_HOST_NO_SSC = 32, - ATA_HOST_NO_DEVSLP = 64, - ATA_TMOUT_INTERNAL_QUICK = 5000, - ATA_TMOUT_MAX_PARK = 30000, - ATA_TMOUT_FF_WAIT_LONG = 2000, - ATA_TMOUT_FF_WAIT = 800, - ATA_WAIT_AFTER_RESET = 150, - ATA_TMOUT_PMP_SRST_WAIT = 10000, - ATA_TMOUT_SPURIOUS_PHY = 10000, - BUS_UNKNOWN = 0, - BUS_DMA = 1, - BUS_IDLE = 2, - BUS_NOINTR = 3, - BUS_NODATA = 4, - BUS_TIMER = 5, - BUS_PIO = 6, - BUS_EDD = 7, - BUS_IDENTIFY = 8, - BUS_PACKET = 9, - PORT_UNKNOWN = 0, - PORT_ENABLED = 1, - PORT_DISABLED = 2, - ATA_NR_PIO_MODES = 7, - ATA_NR_MWDMA_MODES = 5, - ATA_NR_UDMA_MODES = 8, - ATA_SHIFT_PIO = 0, - ATA_SHIFT_MWDMA = 7, - ATA_SHIFT_UDMA = 12, - ATA_SHIFT_PRIO = 6, - ATA_PRIO_HIGH = 2, - ATA_DMA_PAD_SZ = 4, - ATA_ERING_SIZE = 32, - ATA_DEFER_LINK = 1, - ATA_DEFER_PORT = 2, - ATA_EH_DESC_LEN = 80, - ATA_EH_REVALIDATE = 1, - ATA_EH_SOFTRESET = 2, - ATA_EH_HARDRESET = 4, - ATA_EH_RESET = 6, - ATA_EH_ENABLE_LINK = 8, - ATA_EH_PARK = 32, - ATA_EH_GET_SUCCESS_SENSE = 64, - ATA_EH_SET_ACTIVE = 128, - ATA_EH_PERDEV_MASK = 225, - ATA_EH_ALL_ACTIONS = 15, - ATA_EHI_HOTPLUGGED = 1, - ATA_EHI_NO_AUTOPSY = 4, - ATA_EHI_QUIET = 8, - ATA_EHI_NO_RECOVERY = 16, - ATA_EHI_DID_SOFTRESET = 65536, - ATA_EHI_DID_HARDRESET = 131072, - ATA_EHI_PRINTINFO = 262144, - ATA_EHI_SETMODE = 524288, - ATA_EHI_POST_SETMODE = 1048576, - ATA_EHI_DID_PRINT_QUIRKS = 2097152, - ATA_EHI_DID_RESET = 196608, - ATA_EHI_TO_SLAVE_MASK = 12, - ATA_EH_MAX_TRIES = 5, - ATA_LINK_RESUME_TRIES = 5, - ATA_EH_DEV_TRIES = 3, - ATA_EH_PMP_TRIES = 5, - ATA_EH_PMP_LINK_TRIES = 3, - SATA_PMP_RW_TIMEOUT = 3000, - ATA_EH_CMD_TIMEOUT_TABLE_SIZE = 8, - ATA_QUIRK_DIAGNOSTIC = 1, - ATA_QUIRK_NODMA = 2, - ATA_QUIRK_NONCQ = 4, - ATA_QUIRK_MAX_SEC_128 = 8, - ATA_QUIRK_BROKEN_HPA = 16, - ATA_QUIRK_DISABLE = 32, - ATA_QUIRK_HPA_SIZE = 64, - ATA_QUIRK_IVB = 128, - ATA_QUIRK_STUCK_ERR = 256, - ATA_QUIRK_BRIDGE_OK = 512, - ATA_QUIRK_ATAPI_MOD16_DMA = 1024, - ATA_QUIRK_FIRMWARE_WARN = 2048, - ATA_QUIRK_1_5_GBPS = 4096, - ATA_QUIRK_NOSETXFER = 8192, - ATA_QUIRK_BROKEN_FPDMA_AA = 16384, - ATA_QUIRK_DUMP_ID = 32768, - ATA_QUIRK_MAX_SEC_LBA48 = 65536, - ATA_QUIRK_ATAPI_DMADIR = 131072, - ATA_QUIRK_NO_NCQ_TRIM = 262144, - ATA_QUIRK_NOLPM = 524288, - ATA_QUIRK_WD_BROKEN_LPM = 1048576, - ATA_QUIRK_ZERO_AFTER_TRIM = 2097152, - ATA_QUIRK_NO_DMA_LOG = 4194304, - ATA_QUIRK_NOTRIM = 8388608, - ATA_QUIRK_MAX_SEC_1024 = 16777216, - ATA_QUIRK_MAX_TRIM_128M = 33554432, - ATA_QUIRK_NO_NCQ_ON_ATI = 67108864, - ATA_QUIRK_NO_LPM_ON_ATI = 134217728, - ATA_QUIRK_NO_ID_DEV_LOG = 268435456, - ATA_QUIRK_NO_LOG_DIR = 536870912, - ATA_QUIRK_NO_FUA = 1073741824, - ATA_DMA_MASK_ATA = 1, - ATA_DMA_MASK_ATAPI = 2, - ATA_DMA_MASK_CFA = 4, - ATAPI_READ = 0, - ATAPI_WRITE = 1, - ATAPI_READ_CD = 2, - ATAPI_PASS_THRU = 3, - ATAPI_MISC = 4, - ATA_TIMING_SETUP = 1, - ATA_TIMING_ACT8B = 2, - ATA_TIMING_REC8B = 4, - ATA_TIMING_CYC8B = 8, - ATA_TIMING_8BIT = 14, - ATA_TIMING_ACTIVE = 16, - ATA_TIMING_RECOVER = 32, - ATA_TIMING_DMACK_HOLD = 64, - ATA_TIMING_CYCLE = 128, - ATA_TIMING_UDMA = 256, - ATA_TIMING_ALL = 511, - ATA_ACPI_FILTER_SETXFER = 1, - ATA_ACPI_FILTER_LOCK = 2, - ATA_ACPI_FILTER_DIPM = 4, - ATA_ACPI_FILTER_FPDMA_OFFSET = 8, - ATA_ACPI_FILTER_FPDMA_AA = 16, - ATA_ACPI_FILTER_DEFAULT = 7, -}; - -enum { - LINK_CAPA_10HD = 0, - LINK_CAPA_10FD = 1, - LINK_CAPA_100HD = 2, - LINK_CAPA_100FD = 3, - LINK_CAPA_1000HD = 4, - LINK_CAPA_1000FD = 5, - LINK_CAPA_2500FD = 6, - LINK_CAPA_5000FD = 7, - LINK_CAPA_10000FD = 8, - LINK_CAPA_20000FD = 9, - LINK_CAPA_25000FD = 10, - LINK_CAPA_40000FD = 11, - LINK_CAPA_50000FD = 12, - LINK_CAPA_56000FD = 13, - LINK_CAPA_100000FD = 14, - LINK_CAPA_200000FD = 15, - LINK_CAPA_400000FD = 16, - LINK_CAPA_800000FD = 17, - __LINK_CAPA_MAX = 18, -}; - -enum { - LINUX_MIB_NUM = 0, - LINUX_MIB_SYNCOOKIESSENT = 1, - LINUX_MIB_SYNCOOKIESRECV = 2, - LINUX_MIB_SYNCOOKIESFAILED = 3, - LINUX_MIB_EMBRYONICRSTS = 4, - LINUX_MIB_PRUNECALLED = 5, - LINUX_MIB_RCVPRUNED = 6, - LINUX_MIB_OFOPRUNED = 7, - LINUX_MIB_OUTOFWINDOWICMPS = 8, - LINUX_MIB_LOCKDROPPEDICMPS = 9, - LINUX_MIB_ARPFILTER = 10, - LINUX_MIB_TIMEWAITED = 11, - LINUX_MIB_TIMEWAITRECYCLED = 12, - LINUX_MIB_TIMEWAITKILLED = 13, - LINUX_MIB_PAWSACTIVEREJECTED = 14, - LINUX_MIB_PAWSESTABREJECTED = 15, - LINUX_MIB_BEYOND_WINDOW = 16, - LINUX_MIB_TSECRREJECTED = 17, - LINUX_MIB_PAWS_OLD_ACK = 18, - LINUX_MIB_PAWS_TW_REJECTED = 19, - LINUX_MIB_DELAYEDACKS = 20, - LINUX_MIB_DELAYEDACKLOCKED = 21, - LINUX_MIB_DELAYEDACKLOST = 22, - LINUX_MIB_LISTENOVERFLOWS = 23, - LINUX_MIB_LISTENDROPS = 24, - LINUX_MIB_TCPHPHITS = 25, - LINUX_MIB_TCPPUREACKS = 26, - LINUX_MIB_TCPHPACKS = 27, - LINUX_MIB_TCPRENORECOVERY = 28, - LINUX_MIB_TCPSACKRECOVERY = 29, - LINUX_MIB_TCPSACKRENEGING = 30, - LINUX_MIB_TCPSACKREORDER = 31, - LINUX_MIB_TCPRENOREORDER = 32, - LINUX_MIB_TCPTSREORDER = 33, - LINUX_MIB_TCPFULLUNDO = 34, - LINUX_MIB_TCPPARTIALUNDO = 35, - LINUX_MIB_TCPDSACKUNDO = 36, - LINUX_MIB_TCPLOSSUNDO = 37, - LINUX_MIB_TCPLOSTRETRANSMIT = 38, - LINUX_MIB_TCPRENOFAILURES = 39, - LINUX_MIB_TCPSACKFAILURES = 40, - LINUX_MIB_TCPLOSSFAILURES = 41, - LINUX_MIB_TCPFASTRETRANS = 42, - LINUX_MIB_TCPSLOWSTARTRETRANS = 43, - LINUX_MIB_TCPTIMEOUTS = 44, - LINUX_MIB_TCPLOSSPROBES = 45, - LINUX_MIB_TCPLOSSPROBERECOVERY = 46, - LINUX_MIB_TCPRENORECOVERYFAIL = 47, - LINUX_MIB_TCPSACKRECOVERYFAIL = 48, - LINUX_MIB_TCPRCVCOLLAPSED = 49, - LINUX_MIB_TCPDSACKOLDSENT = 50, - LINUX_MIB_TCPDSACKOFOSENT = 51, - LINUX_MIB_TCPDSACKRECV = 52, - LINUX_MIB_TCPDSACKOFORECV = 53, - LINUX_MIB_TCPABORTONDATA = 54, - LINUX_MIB_TCPABORTONCLOSE = 55, - LINUX_MIB_TCPABORTONMEMORY = 56, - LINUX_MIB_TCPABORTONTIMEOUT = 57, - LINUX_MIB_TCPABORTONLINGER = 58, - LINUX_MIB_TCPABORTFAILED = 59, - LINUX_MIB_TCPMEMORYPRESSURES = 60, - LINUX_MIB_TCPMEMORYPRESSURESCHRONO = 61, - LINUX_MIB_TCPSACKDISCARD = 62, - LINUX_MIB_TCPDSACKIGNOREDOLD = 63, - LINUX_MIB_TCPDSACKIGNOREDNOUNDO = 64, - LINUX_MIB_TCPSPURIOUSRTOS = 65, - LINUX_MIB_TCPMD5NOTFOUND = 66, - LINUX_MIB_TCPMD5UNEXPECTED = 67, - LINUX_MIB_TCPMD5FAILURE = 68, - LINUX_MIB_SACKSHIFTED = 69, - LINUX_MIB_SACKMERGED = 70, - LINUX_MIB_SACKSHIFTFALLBACK = 71, - LINUX_MIB_TCPBACKLOGDROP = 72, - LINUX_MIB_PFMEMALLOCDROP = 73, - LINUX_MIB_TCPMINTTLDROP = 74, - LINUX_MIB_TCPDEFERACCEPTDROP = 75, - LINUX_MIB_IPRPFILTER = 76, - LINUX_MIB_TCPTIMEWAITOVERFLOW = 77, - LINUX_MIB_TCPREQQFULLDOCOOKIES = 78, - LINUX_MIB_TCPREQQFULLDROP = 79, - LINUX_MIB_TCPRETRANSFAIL = 80, - LINUX_MIB_TCPRCVCOALESCE = 81, - LINUX_MIB_TCPBACKLOGCOALESCE = 82, - LINUX_MIB_TCPOFOQUEUE = 83, - LINUX_MIB_TCPOFODROP = 84, - LINUX_MIB_TCPOFOMERGE = 85, - LINUX_MIB_TCPCHALLENGEACK = 86, - LINUX_MIB_TCPSYNCHALLENGE = 87, - LINUX_MIB_TCPFASTOPENACTIVE = 88, - LINUX_MIB_TCPFASTOPENACTIVEFAIL = 89, - LINUX_MIB_TCPFASTOPENPASSIVE = 90, - LINUX_MIB_TCPFASTOPENPASSIVEFAIL = 91, - LINUX_MIB_TCPFASTOPENLISTENOVERFLOW = 92, - LINUX_MIB_TCPFASTOPENCOOKIEREQD = 93, - LINUX_MIB_TCPFASTOPENBLACKHOLE = 94, - LINUX_MIB_TCPSPURIOUS_RTX_HOSTQUEUES = 95, - LINUX_MIB_BUSYPOLLRXPACKETS = 96, - LINUX_MIB_TCPAUTOCORKING = 97, - LINUX_MIB_TCPFROMZEROWINDOWADV = 98, - LINUX_MIB_TCPTOZEROWINDOWADV = 99, - LINUX_MIB_TCPWANTZEROWINDOWADV = 100, - LINUX_MIB_TCPSYNRETRANS = 101, - LINUX_MIB_TCPORIGDATASENT = 102, - LINUX_MIB_TCPHYSTARTTRAINDETECT = 103, - LINUX_MIB_TCPHYSTARTTRAINCWND = 104, - LINUX_MIB_TCPHYSTARTDELAYDETECT = 105, - LINUX_MIB_TCPHYSTARTDELAYCWND = 106, - LINUX_MIB_TCPACKSKIPPEDSYNRECV = 107, - LINUX_MIB_TCPACKSKIPPEDPAWS = 108, - LINUX_MIB_TCPACKSKIPPEDSEQ = 109, - LINUX_MIB_TCPACKSKIPPEDFINWAIT2 = 110, - LINUX_MIB_TCPACKSKIPPEDTIMEWAIT = 111, - LINUX_MIB_TCPACKSKIPPEDCHALLENGE = 112, - LINUX_MIB_TCPWINPROBE = 113, - LINUX_MIB_TCPKEEPALIVE = 114, - LINUX_MIB_TCPMTUPFAIL = 115, - LINUX_MIB_TCPMTUPSUCCESS = 116, - LINUX_MIB_TCPDELIVERED = 117, - LINUX_MIB_TCPDELIVEREDCE = 118, - LINUX_MIB_TCPACKCOMPRESSED = 119, - LINUX_MIB_TCPZEROWINDOWDROP = 120, - LINUX_MIB_TCPRCVQDROP = 121, - LINUX_MIB_TCPWQUEUETOOBIG = 122, - LINUX_MIB_TCPFASTOPENPASSIVEALTKEY = 123, - LINUX_MIB_TCPTIMEOUTREHASH = 124, - LINUX_MIB_TCPDUPLICATEDATAREHASH = 125, - LINUX_MIB_TCPDSACKRECVSEGS = 126, - LINUX_MIB_TCPDSACKIGNOREDDUBIOUS = 127, - LINUX_MIB_TCPMIGRATEREQSUCCESS = 128, - LINUX_MIB_TCPMIGRATEREQFAILURE = 129, - LINUX_MIB_TCPPLBREHASH = 130, - LINUX_MIB_TCPAOREQUIRED = 131, - LINUX_MIB_TCPAOBAD = 132, - LINUX_MIB_TCPAOKEYNOTFOUND = 133, - LINUX_MIB_TCPAOGOOD = 134, - LINUX_MIB_TCPAODROPPEDICMPS = 135, - __LINUX_MIB_MAX = 136, -}; - -enum { - LINUX_MIB_TLSNUM = 0, - LINUX_MIB_TLSCURRTXSW = 1, - LINUX_MIB_TLSCURRRXSW = 2, - LINUX_MIB_TLSCURRTXDEVICE = 3, - LINUX_MIB_TLSCURRRXDEVICE = 4, - LINUX_MIB_TLSTXSW = 5, - LINUX_MIB_TLSRXSW = 6, - LINUX_MIB_TLSTXDEVICE = 7, - LINUX_MIB_TLSRXDEVICE = 8, - LINUX_MIB_TLSDECRYPTERROR = 9, - LINUX_MIB_TLSRXDEVICERESYNC = 10, - LINUX_MIB_TLSDECRYPTRETRY = 11, - LINUX_MIB_TLSRXNOPADVIOL = 12, - LINUX_MIB_TLSRXREKEYOK = 13, - LINUX_MIB_TLSRXREKEYERROR = 14, - LINUX_MIB_TLSTXREKEYOK = 15, - LINUX_MIB_TLSTXREKEYERROR = 16, - LINUX_MIB_TLSRXREKEYRECEIVED = 17, - __LINUX_MIB_TLSMAX = 18, -}; - -enum { - LINUX_MIB_XFRMNUM = 0, - LINUX_MIB_XFRMINERROR = 1, - LINUX_MIB_XFRMINBUFFERERROR = 2, - LINUX_MIB_XFRMINHDRERROR = 3, - LINUX_MIB_XFRMINNOSTATES = 4, - LINUX_MIB_XFRMINSTATEPROTOERROR = 5, - LINUX_MIB_XFRMINSTATEMODEERROR = 6, - LINUX_MIB_XFRMINSTATESEQERROR = 7, - LINUX_MIB_XFRMINSTATEEXPIRED = 8, - LINUX_MIB_XFRMINSTATEMISMATCH = 9, - LINUX_MIB_XFRMINSTATEINVALID = 10, - LINUX_MIB_XFRMINTMPLMISMATCH = 11, - LINUX_MIB_XFRMINNOPOLS = 12, - LINUX_MIB_XFRMINPOLBLOCK = 13, - LINUX_MIB_XFRMINPOLERROR = 14, - LINUX_MIB_XFRMOUTERROR = 15, - LINUX_MIB_XFRMOUTBUNDLEGENERROR = 16, - LINUX_MIB_XFRMOUTBUNDLECHECKERROR = 17, - LINUX_MIB_XFRMOUTNOSTATES = 18, - LINUX_MIB_XFRMOUTSTATEPROTOERROR = 19, - LINUX_MIB_XFRMOUTSTATEMODEERROR = 20, - LINUX_MIB_XFRMOUTSTATESEQERROR = 21, - LINUX_MIB_XFRMOUTSTATEEXPIRED = 22, - LINUX_MIB_XFRMOUTPOLBLOCK = 23, - LINUX_MIB_XFRMOUTPOLDEAD = 24, - LINUX_MIB_XFRMOUTPOLERROR = 25, - LINUX_MIB_XFRMFWDHDRERROR = 26, - LINUX_MIB_XFRMOUTSTATEINVALID = 27, - LINUX_MIB_XFRMACQUIREERROR = 28, - LINUX_MIB_XFRMOUTSTATEDIRERROR = 29, - LINUX_MIB_XFRMINSTATEDIRERROR = 30, - LINUX_MIB_XFRMINIPTFSERROR = 31, - LINUX_MIB_XFRMOUTNOQSPACE = 32, - __LINUX_MIB_XFRMMAX = 33, -}; - -enum { - LINUX_RAID_PARTITION = 253, -}; - -enum { - LOGIC_PIO_INDIRECT = 0, - LOGIC_PIO_CPU_MMIO = 1, -}; - -enum { - LO_FLAGS_READ_ONLY = 1, - LO_FLAGS_AUTOCLEAR = 4, - LO_FLAGS_PARTSCAN = 8, - LO_FLAGS_DIRECT_IO = 16, -}; - -enum { - LRU_GEN_ANON = 0, - LRU_GEN_FILE = 1, -}; - -enum { - LRU_GEN_CORE = 0, - LRU_GEN_MM_WALK = 1, - LRU_GEN_NONLEAF_YOUNG = 2, - NR_LRU_GEN_CAPS = 3, -}; - -enum { - LWTUNNEL_IP_OPTS_UNSPEC = 0, - LWTUNNEL_IP_OPTS_GENEVE = 1, - LWTUNNEL_IP_OPTS_VXLAN = 2, - LWTUNNEL_IP_OPTS_ERSPAN = 3, - __LWTUNNEL_IP_OPTS_MAX = 4, -}; - -enum { - LWTUNNEL_IP_OPT_ERSPAN_UNSPEC = 0, - LWTUNNEL_IP_OPT_ERSPAN_VER = 1, - LWTUNNEL_IP_OPT_ERSPAN_INDEX = 2, - LWTUNNEL_IP_OPT_ERSPAN_DIR = 3, - LWTUNNEL_IP_OPT_ERSPAN_HWID = 4, - __LWTUNNEL_IP_OPT_ERSPAN_MAX = 5, -}; - -enum { - LWTUNNEL_IP_OPT_GENEVE_UNSPEC = 0, - LWTUNNEL_IP_OPT_GENEVE_CLASS = 1, - LWTUNNEL_IP_OPT_GENEVE_TYPE = 2, - LWTUNNEL_IP_OPT_GENEVE_DATA = 3, - __LWTUNNEL_IP_OPT_GENEVE_MAX = 4, -}; - -enum { - LWTUNNEL_IP_OPT_VXLAN_UNSPEC = 0, - LWTUNNEL_IP_OPT_VXLAN_GBP = 1, - __LWTUNNEL_IP_OPT_VXLAN_MAX = 2, -}; - -enum { - LWTUNNEL_XMIT_DONE = 0, - LWTUNNEL_XMIT_CONTINUE = 256, -}; - -enum { - LWT_BPF_PROG_UNSPEC = 0, - LWT_BPF_PROG_FD = 1, - LWT_BPF_PROG_NAME = 2, - __LWT_BPF_PROG_MAX = 3, -}; - -enum { - LWT_BPF_UNSPEC = 0, - LWT_BPF_IN = 1, - LWT_BPF_OUT = 2, - LWT_BPF_XMIT = 3, - LWT_BPF_XMIT_HEADROOM = 4, - __LWT_BPF_MAX = 5, -}; - -enum { - Lo_unbound = 0, - Lo_bound = 1, - Lo_rundown = 2, - Lo_deleting = 3, -}; - -enum { - MATCH_MTR = 0, - MATCH_MEQ = 1, - MATCH_MLE = 2, - MATCH_MLT = 3, - MATCH_MGE = 4, - MATCH_MGT = 5, -}; - -enum { - MAX8925_IRQ_VCHG_DC_OVP = 0, - MAX8925_IRQ_VCHG_DC_F = 1, - MAX8925_IRQ_VCHG_DC_R = 2, - MAX8925_IRQ_VCHG_THM_OK_R = 3, - MAX8925_IRQ_VCHG_THM_OK_F = 4, - MAX8925_IRQ_VCHG_SYSLOW_F = 5, - MAX8925_IRQ_VCHG_SYSLOW_R = 6, - MAX8925_IRQ_VCHG_RST = 7, - MAX8925_IRQ_VCHG_DONE = 8, - MAX8925_IRQ_VCHG_TOPOFF = 9, - MAX8925_IRQ_VCHG_TMR_FAULT = 10, - MAX8925_IRQ_GPM_RSTIN = 11, - MAX8925_IRQ_GPM_MPL = 12, - MAX8925_IRQ_GPM_SW_3SEC = 13, - MAX8925_IRQ_GPM_EXTON_F = 14, - MAX8925_IRQ_GPM_EXTON_R = 15, - MAX8925_IRQ_GPM_SW_1SEC = 16, - MAX8925_IRQ_GPM_SW_F = 17, - MAX8925_IRQ_GPM_SW_R = 18, - MAX8925_IRQ_GPM_SYSCKEN_F = 19, - MAX8925_IRQ_GPM_SYSCKEN_R = 20, - MAX8925_IRQ_RTC_ALARM1 = 21, - MAX8925_IRQ_RTC_ALARM0 = 22, - MAX8925_IRQ_TSC_STICK = 23, - MAX8925_IRQ_TSC_NSTICK = 24, - MAX8925_NR_IRQS = 25, -}; - -enum { - MAX8998_IRQ_DCINF = 0, - MAX8998_IRQ_DCINR = 1, - MAX8998_IRQ_JIGF = 2, - MAX8998_IRQ_JIGR = 3, - MAX8998_IRQ_PWRONF = 4, - MAX8998_IRQ_PWRONR = 5, - MAX8998_IRQ_WTSREVNT = 6, - MAX8998_IRQ_SMPLEVNT = 7, - MAX8998_IRQ_ALARM1 = 8, - MAX8998_IRQ_ALARM0 = 9, - MAX8998_IRQ_ONKEY1S = 10, - MAX8998_IRQ_TOPOFFR = 11, - MAX8998_IRQ_DCINOVPR = 12, - MAX8998_IRQ_CHGRSTF = 13, - MAX8998_IRQ_DONER = 14, - MAX8998_IRQ_CHGFAULT = 15, - MAX8998_IRQ_LOBAT1 = 16, - MAX8998_IRQ_LOBAT2 = 17, - MAX8998_IRQ_NR = 18, -}; - -enum { - MAX8998_REG_IRQ1 = 0, - MAX8998_REG_IRQ2 = 1, - MAX8998_REG_IRQ3 = 2, - MAX8998_REG_IRQ4 = 3, - MAX8998_REG_IRQM1 = 4, - MAX8998_REG_IRQM2 = 5, - MAX8998_REG_IRQM3 = 6, - MAX8998_REG_IRQM4 = 7, - MAX8998_REG_STATUS1 = 8, - MAX8998_REG_STATUS2 = 9, - MAX8998_REG_STATUSM1 = 10, - MAX8998_REG_STATUSM2 = 11, - MAX8998_REG_CHGR1 = 12, - MAX8998_REG_CHGR2 = 13, - MAX8998_REG_LDO_ACTIVE_DISCHARGE1 = 14, - MAX8998_REG_LDO_ACTIVE_DISCHARGE2 = 15, - MAX8998_REG_BUCK_ACTIVE_DISCHARGE3 = 16, - MAX8998_REG_ONOFF1 = 17, - MAX8998_REG_ONOFF2 = 18, - MAX8998_REG_ONOFF3 = 19, - MAX8998_REG_ONOFF4 = 20, - MAX8998_REG_BUCK1_VOLTAGE1 = 21, - MAX8998_REG_BUCK1_VOLTAGE2 = 22, - MAX8998_REG_BUCK1_VOLTAGE3 = 23, - MAX8998_REG_BUCK1_VOLTAGE4 = 24, - MAX8998_REG_BUCK2_VOLTAGE1 = 25, - MAX8998_REG_BUCK2_VOLTAGE2 = 26, - MAX8998_REG_BUCK3 = 27, - MAX8998_REG_BUCK4 = 28, - MAX8998_REG_LDO2_LDO3 = 29, - MAX8998_REG_LDO4 = 30, - MAX8998_REG_LDO5 = 31, - MAX8998_REG_LDO6 = 32, - MAX8998_REG_LDO7 = 33, - MAX8998_REG_LDO8_LDO9 = 34, - MAX8998_REG_LDO10_LDO11 = 35, - MAX8998_REG_LDO12 = 36, - MAX8998_REG_LDO13 = 37, - MAX8998_REG_LDO14 = 38, - MAX8998_REG_LDO15 = 39, - MAX8998_REG_LDO16 = 40, - MAX8998_REG_LDO17 = 41, - MAX8998_REG_BKCHR = 42, - MAX8998_REG_LBCNFG1 = 43, - MAX8998_REG_LBCNFG2 = 44, -}; - -enum { - MAX_IORES_LEVEL = 5, -}; - -enum { - MAX_OPT_ARGS = 3, -}; - -enum { - MBE_REFERENCED_B = 0, - MBE_REUSABLE_B = 1, -}; - -enum { - MB_INODE_PA = 0, - MB_GROUP_PA = 1, -}; - -enum { - MCTP_TRACE_KEY_TIMEOUT = 0, - MCTP_TRACE_KEY_REPLIED = 1, - MCTP_TRACE_KEY_INVALIDATED = 2, - MCTP_TRACE_KEY_CLOSED = 3, - MCTP_TRACE_KEY_DROPPED = 4, -}; - -enum { - MDBA_GET_ENTRY_UNSPEC = 0, - MDBA_GET_ENTRY = 1, - MDBA_GET_ENTRY_ATTRS = 2, - __MDBA_GET_ENTRY_MAX = 3, -}; - -enum { - MDBA_SET_ENTRY_UNSPEC = 0, - MDBA_SET_ENTRY = 1, - MDBA_SET_ENTRY_ATTRS = 2, - __MDBA_SET_ENTRY_MAX = 3, -}; - -enum { - MDIO_AN_C22 = 65504, -}; - -enum { - MD_RESYNC_NONE = 0, - MD_RESYNC_YIELDED = 1, - MD_RESYNC_DELAYED = 2, - MD_RESYNC_ACTIVE = 3, -}; - -enum { - MED_R_CNT = 10, -}; - -enum { - MED_R_DUR = 12, -}; - -enum { - MED_W_CNT = 11, -}; - -enum { - MED_W_DUR = 13, -}; - -enum { - MEMBARRIER_FLAG_SYNC_CORE = 1, - MEMBARRIER_FLAG_RSEQ = 2, -}; - -enum { - MEMBARRIER_STATE_PRIVATE_EXPEDITED_READY = 1, - MEMBARRIER_STATE_PRIVATE_EXPEDITED = 2, - MEMBARRIER_STATE_GLOBAL_EXPEDITED_READY = 4, - MEMBARRIER_STATE_GLOBAL_EXPEDITED = 8, - MEMBARRIER_STATE_PRIVATE_EXPEDITED_SYNC_CORE_READY = 16, - MEMBARRIER_STATE_PRIVATE_EXPEDITED_SYNC_CORE = 32, - MEMBARRIER_STATE_PRIVATE_EXPEDITED_RSEQ_READY = 64, - MEMBARRIER_STATE_PRIVATE_EXPEDITED_RSEQ = 128, -}; - -enum { - MEMCG_LRU_NOP = 0, - MEMCG_LRU_HEAD = 1, - MEMCG_LRU_TAIL = 2, - MEMCG_LRU_OLD = 3, - MEMCG_LRU_YOUNG = 4, -}; - -enum { - MEMMAP_ON_MEMORY_DISABLE = 0, - MEMMAP_ON_MEMORY_ENABLE = 1, - MEMMAP_ON_MEMORY_FORCE = 2, -}; - -enum { - MEMORY_RECLAIM_SWAPPINESS = 0, - MEMORY_RECLAIM_SWAPPINESS_MAX = 1, - MEMORY_RECLAIM_NULL = 2, -}; - -enum { - MEMREMAP_WB = 1, - MEMREMAP_WT = 2, - MEMREMAP_WC = 4, - MEMREMAP_ENC = 8, - MEMREMAP_DEC = 16, -}; - -enum { - MEM_LIFE = 4, -}; - -enum { - MFC_STATIC = 1, - MFC_OFFLOAD = 2, -}; - -enum { - MILLION = 1000000, - MIN_PERIOD = 1000, - MAX_PERIOD = 1000000, - MARGIN_MIN_PCT = 10, - MARGIN_LOW_PCT = 20, - MARGIN_TARGET_PCT = 50, - INUSE_ADJ_STEP_PCT = 25, - TIMER_SLACK_PCT = 1, - WEIGHT_ONE = 65536, -}; - -enum { - MIPI_DCS_NOP = 0, - MIPI_DCS_SOFT_RESET = 1, - MIPI_DCS_GET_COMPRESSION_MODE = 3, - MIPI_DCS_GET_DISPLAY_ID = 4, - MIPI_DCS_GET_ERROR_COUNT_ON_DSI = 5, - MIPI_DCS_GET_RED_CHANNEL = 6, - MIPI_DCS_GET_GREEN_CHANNEL = 7, - MIPI_DCS_GET_BLUE_CHANNEL = 8, - MIPI_DCS_GET_DISPLAY_STATUS = 9, - MIPI_DCS_GET_POWER_MODE = 10, - MIPI_DCS_GET_ADDRESS_MODE = 11, - MIPI_DCS_GET_PIXEL_FORMAT = 12, - MIPI_DCS_GET_DISPLAY_MODE = 13, - MIPI_DCS_GET_SIGNAL_MODE = 14, - MIPI_DCS_GET_DIAGNOSTIC_RESULT = 15, - MIPI_DCS_ENTER_SLEEP_MODE = 16, - MIPI_DCS_EXIT_SLEEP_MODE = 17, - MIPI_DCS_ENTER_PARTIAL_MODE = 18, - MIPI_DCS_ENTER_NORMAL_MODE = 19, - MIPI_DCS_GET_IMAGE_CHECKSUM_RGB = 20, - MIPI_DCS_GET_IMAGE_CHECKSUM_CT = 21, - MIPI_DCS_EXIT_INVERT_MODE = 32, - MIPI_DCS_ENTER_INVERT_MODE = 33, - MIPI_DCS_SET_GAMMA_CURVE = 38, - MIPI_DCS_SET_DISPLAY_OFF = 40, - MIPI_DCS_SET_DISPLAY_ON = 41, - MIPI_DCS_SET_COLUMN_ADDRESS = 42, - MIPI_DCS_SET_PAGE_ADDRESS = 43, - MIPI_DCS_WRITE_MEMORY_START = 44, - MIPI_DCS_WRITE_LUT = 45, - MIPI_DCS_READ_MEMORY_START = 46, - MIPI_DCS_SET_PARTIAL_ROWS = 48, - MIPI_DCS_SET_PARTIAL_COLUMNS = 49, - MIPI_DCS_SET_SCROLL_AREA = 51, - MIPI_DCS_SET_TEAR_OFF = 52, - MIPI_DCS_SET_TEAR_ON = 53, - MIPI_DCS_SET_ADDRESS_MODE = 54, - MIPI_DCS_SET_SCROLL_START = 55, - MIPI_DCS_EXIT_IDLE_MODE = 56, - MIPI_DCS_ENTER_IDLE_MODE = 57, - MIPI_DCS_SET_PIXEL_FORMAT = 58, - MIPI_DCS_WRITE_MEMORY_CONTINUE = 60, - MIPI_DCS_SET_3D_CONTROL = 61, - MIPI_DCS_READ_MEMORY_CONTINUE = 62, - MIPI_DCS_GET_3D_CONTROL = 63, - MIPI_DCS_SET_VSYNC_TIMING = 64, - MIPI_DCS_SET_TEAR_SCANLINE = 68, - MIPI_DCS_GET_SCANLINE = 69, - MIPI_DCS_SET_DISPLAY_BRIGHTNESS = 81, - MIPI_DCS_GET_DISPLAY_BRIGHTNESS = 82, - MIPI_DCS_WRITE_CONTROL_DISPLAY = 83, - MIPI_DCS_GET_CONTROL_DISPLAY = 84, - MIPI_DCS_WRITE_POWER_SAVE = 85, - MIPI_DCS_GET_POWER_SAVE = 86, - MIPI_DCS_SET_CABC_MIN_BRIGHTNESS = 94, - MIPI_DCS_GET_CABC_MIN_BRIGHTNESS = 95, - MIPI_DCS_READ_DDB_START = 161, - MIPI_DCS_READ_PPS_START = 162, - MIPI_DCS_READ_DDB_CONTINUE = 168, - MIPI_DCS_READ_PPS_CONTINUE = 169, -}; - -enum { - MIPI_DSI_V_SYNC_START = 1, - MIPI_DSI_V_SYNC_END = 17, - MIPI_DSI_H_SYNC_START = 33, - MIPI_DSI_H_SYNC_END = 49, - MIPI_DSI_COMPRESSION_MODE = 7, - MIPI_DSI_END_OF_TRANSMISSION = 8, - MIPI_DSI_COLOR_MODE_OFF = 2, - MIPI_DSI_COLOR_MODE_ON = 18, - MIPI_DSI_SHUTDOWN_PERIPHERAL = 34, - MIPI_DSI_TURN_ON_PERIPHERAL = 50, - MIPI_DSI_GENERIC_SHORT_WRITE_0_PARAM = 3, - MIPI_DSI_GENERIC_SHORT_WRITE_1_PARAM = 19, - MIPI_DSI_GENERIC_SHORT_WRITE_2_PARAM = 35, - MIPI_DSI_GENERIC_READ_REQUEST_0_PARAM = 4, - MIPI_DSI_GENERIC_READ_REQUEST_1_PARAM = 20, - MIPI_DSI_GENERIC_READ_REQUEST_2_PARAM = 36, - MIPI_DSI_DCS_SHORT_WRITE = 5, - MIPI_DSI_DCS_SHORT_WRITE_PARAM = 21, - MIPI_DSI_DCS_READ = 6, - MIPI_DSI_EXECUTE_QUEUE = 22, - MIPI_DSI_SET_MAXIMUM_RETURN_PACKET_SIZE = 55, - MIPI_DSI_NULL_PACKET = 9, - MIPI_DSI_BLANKING_PACKET = 25, - MIPI_DSI_GENERIC_LONG_WRITE = 41, - MIPI_DSI_DCS_LONG_WRITE = 57, - MIPI_DSI_PICTURE_PARAMETER_SET = 10, - MIPI_DSI_COMPRESSED_PIXEL_STREAM = 11, - MIPI_DSI_LOOSELY_PACKED_PIXEL_STREAM_YCBCR20 = 12, - MIPI_DSI_PACKED_PIXEL_STREAM_YCBCR24 = 28, - MIPI_DSI_PACKED_PIXEL_STREAM_YCBCR16 = 44, - MIPI_DSI_PACKED_PIXEL_STREAM_30 = 13, - MIPI_DSI_PACKED_PIXEL_STREAM_36 = 29, - MIPI_DSI_PACKED_PIXEL_STREAM_YCBCR12 = 61, - MIPI_DSI_PACKED_PIXEL_STREAM_16 = 14, - MIPI_DSI_PACKED_PIXEL_STREAM_18 = 30, - MIPI_DSI_PIXEL_STREAM_3BYTE_18 = 46, - MIPI_DSI_PACKED_PIXEL_STREAM_24 = 62, -}; - -enum { - MIX_INFLIGHT = 2147483648, -}; - -enum { - MLX_MC_RBT_SUPPORT = 1, - MLX_MC_RBT_AVL = 8, -}; - -enum { - MMOP_OFFLINE = 0, - MMOP_ONLINE = 1, - MMOP_ONLINE_KERNEL = 2, - MMOP_ONLINE_MOVABLE = 3, -}; - -enum { - MM_FILEPAGES = 0, - MM_ANONPAGES = 1, - MM_SWAPENTS = 2, - MM_SHMEMPAGES = 3, - NR_MM_COUNTERS = 4, -}; - -enum { - MM_LEAF_TOTAL = 0, - MM_LEAF_YOUNG = 1, - MM_NONLEAF_FOUND = 2, - MM_NONLEAF_ADDED = 3, - NR_MM_STATS = 4, -}; - -enum { - MODE_NONE = 0, - MODE_ROUND_ROBIN = 1, - MODE_PER_CPU = 2, - MODE_MAX = 3, -}; - -enum { - MOXA_SUPP_RS232 = 1, - MOXA_SUPP_RS422 = 2, - MOXA_SUPP_RS485 = 4, -}; - -enum { - MPOL_DEFAULT = 0, - MPOL_PREFERRED = 1, - MPOL_BIND = 2, - MPOL_INTERLEAVE = 3, - MPOL_LOCAL = 4, - MPOL_PREFERRED_MANY = 5, - MPOL_WEIGHTED_INTERLEAVE = 6, - MPOL_MAX = 7, -}; - -enum { - MPTCP_CMSG_TS = 1, - MPTCP_CMSG_INQ = 2, -}; - -enum { - MPTCP_PM_ADDR_ATTR_UNSPEC = 0, - MPTCP_PM_ADDR_ATTR_FAMILY = 1, - MPTCP_PM_ADDR_ATTR_ID = 2, - MPTCP_PM_ADDR_ATTR_ADDR4 = 3, - MPTCP_PM_ADDR_ATTR_ADDR6 = 4, - MPTCP_PM_ADDR_ATTR_PORT = 5, - MPTCP_PM_ADDR_ATTR_FLAGS = 6, - MPTCP_PM_ADDR_ATTR_IF_IDX = 7, - __MPTCP_PM_ADDR_ATTR_MAX = 8, -}; - -enum { - MPTCP_PM_ATTR_UNSPEC = 0, - MPTCP_PM_ATTR_ADDR = 1, - MPTCP_PM_ATTR_RCV_ADD_ADDRS = 2, - MPTCP_PM_ATTR_SUBFLOWS = 3, - MPTCP_PM_ATTR_TOKEN = 4, - MPTCP_PM_ATTR_LOC_ID = 5, - MPTCP_PM_ATTR_ADDR_REMOTE = 6, - __MPTCP_ATTR_AFTER_LAST = 7, -}; - -enum { - MPTCP_PM_CMD_UNSPEC = 0, - MPTCP_PM_CMD_ADD_ADDR = 1, - MPTCP_PM_CMD_DEL_ADDR = 2, - MPTCP_PM_CMD_GET_ADDR = 3, - MPTCP_PM_CMD_FLUSH_ADDRS = 4, - MPTCP_PM_CMD_SET_LIMITS = 5, - MPTCP_PM_CMD_GET_LIMITS = 6, - MPTCP_PM_CMD_SET_FLAGS = 7, - MPTCP_PM_CMD_ANNOUNCE = 8, - MPTCP_PM_CMD_REMOVE = 9, - MPTCP_PM_CMD_SUBFLOW_CREATE = 10, - MPTCP_PM_CMD_SUBFLOW_DESTROY = 11, - __MPTCP_PM_CMD_AFTER_LAST = 12, -}; - -enum { - MPTCP_PM_ENDPOINT_ADDR = 1, - __MPTCP_PM_ENDPOINT_MAX = 2, -}; - -enum { - MPTCP_SUBFLOW_ATTR_UNSPEC = 0, - MPTCP_SUBFLOW_ATTR_TOKEN_REM = 1, - MPTCP_SUBFLOW_ATTR_TOKEN_LOC = 2, - MPTCP_SUBFLOW_ATTR_RELWRITE_SEQ = 3, - MPTCP_SUBFLOW_ATTR_MAP_SEQ = 4, - MPTCP_SUBFLOW_ATTR_MAP_SFSEQ = 5, - MPTCP_SUBFLOW_ATTR_SSN_OFFSET = 6, - MPTCP_SUBFLOW_ATTR_MAP_DATALEN = 7, - MPTCP_SUBFLOW_ATTR_FLAGS = 8, - MPTCP_SUBFLOW_ATTR_ID_REM = 9, - MPTCP_SUBFLOW_ATTR_ID_LOC = 10, - MPTCP_SUBFLOW_ATTR_PAD = 11, - __MPTCP_SUBFLOW_ATTR_MAX = 12, -}; - -enum { - MSI_CHIP_FLAG_SET_EOI = 1, - MSI_CHIP_FLAG_SET_ACK = 2, -}; - -enum { - MSI_FLAG_USE_DEF_DOM_OPS = 1, - MSI_FLAG_USE_DEF_CHIP_OPS = 2, - MSI_FLAG_ACTIVATE_EARLY = 4, - MSI_FLAG_MUST_REACTIVATE = 8, - MSI_FLAG_DEV_SYSFS = 16, - MSI_FLAG_ALLOC_SIMPLE_MSI_DESCS = 32, - MSI_FLAG_FREE_MSI_DESCS = 64, - MSI_FLAG_USE_DEV_FWNODE = 128, - MSI_FLAG_PARENT_PM_DEV = 256, - MSI_FLAG_PCI_MSI_MASK_PARENT = 512, - MSI_FLAG_PCI_MSI_STARTUP_PARENT = 1024, - MSI_GENERIC_FLAGS_MASK = 65535, - MSI_DOMAIN_FLAGS_MASK = 4294901760, - MSI_FLAG_MULTI_PCI_MSI = 65536, - MSI_FLAG_PCI_MSIX = 131072, - MSI_FLAG_LEVEL_CAPABLE = 262144, - MSI_FLAG_MSIX_CONTIGUOUS = 524288, - MSI_FLAG_PCI_MSIX_ALLOC_DYN = 1048576, - MSI_FLAG_NO_AFFINITY = 2097152, - MSI_FLAG_NO_MASK = 4194304, -}; - -enum { - M_I17 = 0, - M_I20 = 1, - M_I20_SR = 2, - M_I24 = 3, - M_I24_8_1 = 4, - M_I24_10_1 = 5, - M_I27_11_1 = 6, - M_MINI = 7, - M_MINI_3_1 = 8, - M_MINI_4_1 = 9, - M_MB = 10, - M_MB_2 = 11, - M_MB_3 = 12, - M_MB_5_1 = 13, - M_MB_6_1 = 14, - M_MB_7_1 = 15, - M_MB_SR = 16, - M_MBA = 17, - M_MBA_3 = 18, - M_MBP = 19, - M_MBP_2 = 20, - M_MBP_2_2 = 21, - M_MBP_SR = 22, - M_MBP_4 = 23, - M_MBP_5_1 = 24, - M_MBP_5_2 = 25, - M_MBP_5_3 = 26, - M_MBP_6_1 = 27, - M_MBP_6_2 = 28, - M_MBP_7_1 = 29, - M_MBP_8_2 = 30, - M_UNKNOWN = 31, -}; - -enum { - NAPIF_STATE_SCHED = 1, - NAPIF_STATE_MISSED = 2, - NAPIF_STATE_DISABLE = 4, - NAPIF_STATE_NPSVC = 8, - NAPIF_STATE_LISTED = 16, - NAPIF_STATE_NO_BUSY_POLL = 32, - NAPIF_STATE_IN_BUSY_POLL = 64, - NAPIF_STATE_PREFER_BUSY_POLL = 128, - NAPIF_STATE_THREADED = 256, - NAPIF_STATE_SCHED_THREADED = 512, - NAPIF_STATE_HAS_NOTIFIER = 1024, -}; - -enum { - NAPI_F_PREFER_BUSY_POLL = 1, - NAPI_F_END_ON_RESCHED = 2, -}; - -enum { - NAPI_STATE_SCHED = 0, - NAPI_STATE_MISSED = 1, - NAPI_STATE_DISABLE = 2, - NAPI_STATE_NPSVC = 3, - NAPI_STATE_LISTED = 4, - NAPI_STATE_NO_BUSY_POLL = 5, - NAPI_STATE_IN_BUSY_POLL = 6, - NAPI_STATE_PREFER_BUSY_POLL = 7, - NAPI_STATE_THREADED = 8, - NAPI_STATE_SCHED_THREADED = 9, - NAPI_STATE_HAS_NOTIFIER = 10, -}; - -enum { - NCSI_CAP_BASE = 0, - NCSI_CAP_GENERIC = 0, - NCSI_CAP_BC = 1, - NCSI_CAP_MC = 2, - NCSI_CAP_BUFFER = 3, - NCSI_CAP_AEN = 4, - NCSI_CAP_VLAN = 5, - NCSI_CAP_MAX = 6, -}; - -enum { - NCSI_CAP_GENERIC_HWA = 1, - NCSI_CAP_GENERIC_HDS = 2, - NCSI_CAP_GENERIC_FC = 4, - NCSI_CAP_GENERIC_FC1 = 8, - NCSI_CAP_GENERIC_MC = 16, - NCSI_CAP_GENERIC_HWA_UNKNOWN = 0, - NCSI_CAP_GENERIC_HWA_SUPPORT = 32, - NCSI_CAP_GENERIC_HWA_NOT_SUPPORT = 64, - NCSI_CAP_GENERIC_HWA_RESERVED = 96, - NCSI_CAP_GENERIC_HWA_MASK = 96, - NCSI_CAP_GENERIC_MASK = 127, - NCSI_CAP_BC_ARP = 1, - NCSI_CAP_BC_DHCPC = 2, - NCSI_CAP_BC_DHCPS = 4, - NCSI_CAP_BC_NETBIOS = 8, - NCSI_CAP_BC_MASK = 15, - NCSI_CAP_MC_IPV6_NEIGHBOR = 1, - NCSI_CAP_MC_IPV6_ROUTER = 2, - NCSI_CAP_MC_DHCPV6_RELAY = 4, - NCSI_CAP_MC_DHCPV6_WELL_KNOWN = 8, - NCSI_CAP_MC_IPV6_MLD = 16, - NCSI_CAP_MC_IPV6_NEIGHBOR_S = 32, - NCSI_CAP_MC_MASK = 63, - NCSI_CAP_AEN_LSC = 1, - NCSI_CAP_AEN_CR = 2, - NCSI_CAP_AEN_HDS = 4, - NCSI_CAP_AEN_MASK = 7, - NCSI_CAP_VLAN_ONLY = 1, - NCSI_CAP_VLAN_NO = 2, - NCSI_CAP_VLAN_ANY = 4, - NCSI_CAP_VLAN_MASK = 7, -}; - -enum { - NCSI_MODE_BASE = 0, - NCSI_MODE_ENABLE = 0, - NCSI_MODE_TX_ENABLE = 1, - NCSI_MODE_LINK = 2, - NCSI_MODE_VLAN = 3, - NCSI_MODE_BC = 4, - NCSI_MODE_MC = 5, - NCSI_MODE_AEN = 6, - NCSI_MODE_FC = 7, - NCSI_MODE_MAX = 8, -}; - -enum { - NDA_UNSPEC = 0, - NDA_DST = 1, - NDA_LLADDR = 2, - NDA_CACHEINFO = 3, - NDA_PROBES = 4, - NDA_VLAN = 5, - NDA_PORT = 6, - NDA_VNI = 7, - NDA_IFINDEX = 8, - NDA_MASTER = 9, - NDA_LINK_NETNSID = 10, - NDA_SRC_VNI = 11, - NDA_PROTOCOL = 12, - NDA_NH_ID = 13, - NDA_FDB_EXT_ATTRS = 14, - NDA_FLAGS_EXT = 15, - NDA_NDM_STATE_MASK = 16, - NDA_NDM_FLAGS_MASK = 17, - __NDA_MAX = 18, -}; - -enum { - NDD_UNARMED = 1, - NDD_LOCKED = 2, - NDD_SECURITY_OVERWRITE = 3, - NDD_WORK_PENDING = 4, - NDD_LABELING = 6, - NDD_INCOHERENT = 7, - NDD_REGISTER_SYNC = 8, - ND_IOCTL_MAX_BUFLEN = 4194304, - ND_CMD_MAX_ELEM = 5, - ND_CMD_MAX_ENVELOPE = 256, - ND_MAX_MAPPINGS = 32, - ND_REGION_PAGEMAP = 0, - ND_REGION_PERSIST_CACHE = 1, - ND_REGION_PERSIST_MEMCTRL = 2, - ND_REGION_ASYNC = 3, - ND_REGION_CXL = 4, - DPA_RESOURCE_ADJUSTED = 1, -}; - -enum { - NDTA_UNSPEC = 0, - NDTA_NAME = 1, - NDTA_THRESH1 = 2, - NDTA_THRESH2 = 3, - NDTA_THRESH3 = 4, - NDTA_CONFIG = 5, - NDTA_PARMS = 6, - NDTA_STATS = 7, - NDTA_GC_INTERVAL = 8, - NDTA_PAD = 9, - __NDTA_MAX = 10, -}; - -enum { - NDTPA_UNSPEC = 0, - NDTPA_IFINDEX = 1, - NDTPA_REFCNT = 2, - NDTPA_REACHABLE_TIME = 3, - NDTPA_BASE_REACHABLE_TIME = 4, - NDTPA_RETRANS_TIME = 5, - NDTPA_GC_STALETIME = 6, - NDTPA_DELAY_PROBE_TIME = 7, - NDTPA_QUEUE_LEN = 8, - NDTPA_APP_PROBES = 9, - NDTPA_UCAST_PROBES = 10, - NDTPA_MCAST_PROBES = 11, - NDTPA_ANYCAST_DELAY = 12, - NDTPA_PROXY_DELAY = 13, - NDTPA_PROXY_QLEN = 14, - NDTPA_LOCKTIME = 15, - NDTPA_QUEUE_LENBYTES = 16, - NDTPA_MCAST_REPROBES = 17, - NDTPA_PAD = 18, - NDTPA_INTERVAL_PROBE_TIME_MS = 19, - __NDTPA_MAX = 20, -}; - -enum { - NDUSEROPT_UNSPEC = 0, - NDUSEROPT_SRCADDR = 1, - __NDUSEROPT_MAX = 2, -}; - -enum { - ND_CMD_IMPLEMENTED = 0, - ND_CMD_ARS_CAP = 1, - ND_CMD_ARS_START = 2, - ND_CMD_ARS_STATUS = 3, - ND_CMD_CLEAR_ERROR = 4, - ND_CMD_SMART = 1, - ND_CMD_SMART_THRESHOLD = 2, - ND_CMD_DIMM_FLAGS = 3, - ND_CMD_GET_CONFIG_SIZE = 4, - ND_CMD_GET_CONFIG_DATA = 5, - ND_CMD_SET_CONFIG_DATA = 6, - ND_CMD_VENDOR_EFFECT_LOG_SIZE = 7, - ND_CMD_VENDOR_EFFECT_LOG = 8, - ND_CMD_VENDOR = 9, - ND_CMD_CALL = 10, -}; - -enum { - ND_MAX_LANES = 256, - INT_LBASIZE_ALIGNMENT = 64, - NVDIMM_IO_ATOMIC = 1, -}; - -enum { - ND_MIN_NAMESPACE_SIZE = 4096, -}; - -enum { - NEIGH_ARP_TABLE = 0, - NEIGH_ND_TABLE = 1, - NEIGH_NR_TABLES = 2, - NEIGH_LINK_TABLE = 2, -}; - -enum { - NEIGH_VAR_MCAST_PROBES = 0, - NEIGH_VAR_UCAST_PROBES = 1, - NEIGH_VAR_APP_PROBES = 2, - NEIGH_VAR_MCAST_REPROBES = 3, - NEIGH_VAR_RETRANS_TIME = 4, - NEIGH_VAR_BASE_REACHABLE_TIME = 5, - NEIGH_VAR_DELAY_PROBE_TIME = 6, - NEIGH_VAR_INTERVAL_PROBE_TIME_MS = 7, - NEIGH_VAR_GC_STALETIME = 8, - NEIGH_VAR_QUEUE_LEN_BYTES = 9, - NEIGH_VAR_PROXY_QLEN = 10, - NEIGH_VAR_ANYCAST_DELAY = 11, - NEIGH_VAR_PROXY_DELAY = 12, - NEIGH_VAR_LOCKTIME = 13, - NEIGH_VAR_QUEUE_LEN = 14, - NEIGH_VAR_RETRANS_TIME_MS = 15, - NEIGH_VAR_BASE_REACHABLE_TIME_MS = 16, - NEIGH_VAR_GC_INTERVAL = 17, - NEIGH_VAR_GC_THRESH1 = 18, - NEIGH_VAR_GC_THRESH2 = 19, - NEIGH_VAR_GC_THRESH3 = 20, - NEIGH_VAR_MAX = 21, -}; - -enum { - NESTED_SYNC_IMM_BIT = 0, - NESTED_SYNC_TODO_BIT = 1, -}; - -enum { - NETCONFA_UNSPEC = 0, - NETCONFA_IFINDEX = 1, - NETCONFA_FORWARDING = 2, - NETCONFA_RP_FILTER = 3, - NETCONFA_MC_FORWARDING = 4, - NETCONFA_PROXY_NEIGH = 5, - NETCONFA_IGNORE_ROUTES_WITH_LINKDOWN = 6, - NETCONFA_INPUT = 7, - NETCONFA_BC_FORWARDING = 8, - NETCONFA_FORCE_FORWARDING = 9, - __NETCONFA_MAX = 10, -}; - -enum { - NETDEV_A_DEV_IFINDEX = 1, - NETDEV_A_DEV_PAD = 2, - NETDEV_A_DEV_XDP_FEATURES = 3, - NETDEV_A_DEV_XDP_ZC_MAX_SEGS = 4, - NETDEV_A_DEV_XDP_RX_METADATA_FEATURES = 5, - NETDEV_A_DEV_XSK_FEATURES = 6, - __NETDEV_A_DEV_MAX = 7, - NETDEV_A_DEV_MAX = 6, -}; - -enum { - NETDEV_A_DMABUF_IFINDEX = 1, - NETDEV_A_DMABUF_QUEUES = 2, - NETDEV_A_DMABUF_FD = 3, - NETDEV_A_DMABUF_ID = 4, - __NETDEV_A_DMABUF_MAX = 5, - NETDEV_A_DMABUF_MAX = 4, -}; - -enum { - NETDEV_A_NAPI_IFINDEX = 1, - NETDEV_A_NAPI_ID = 2, - NETDEV_A_NAPI_IRQ = 3, - NETDEV_A_NAPI_PID = 4, - NETDEV_A_NAPI_DEFER_HARD_IRQS = 5, - NETDEV_A_NAPI_GRO_FLUSH_TIMEOUT = 6, - NETDEV_A_NAPI_IRQ_SUSPEND_TIMEOUT = 7, - NETDEV_A_NAPI_THREADED = 8, - __NETDEV_A_NAPI_MAX = 9, - NETDEV_A_NAPI_MAX = 8, -}; - -enum { - NETDEV_A_PAGE_POOL_ID = 1, - NETDEV_A_PAGE_POOL_IFINDEX = 2, - NETDEV_A_PAGE_POOL_NAPI_ID = 3, - NETDEV_A_PAGE_POOL_INFLIGHT = 4, - NETDEV_A_PAGE_POOL_INFLIGHT_MEM = 5, - NETDEV_A_PAGE_POOL_DETACH_TIME = 6, - NETDEV_A_PAGE_POOL_DMABUF = 7, - NETDEV_A_PAGE_POOL_IO_URING = 8, - __NETDEV_A_PAGE_POOL_MAX = 9, - NETDEV_A_PAGE_POOL_MAX = 8, -}; - -enum { - NETDEV_A_PAGE_POOL_STATS_INFO = 1, - NETDEV_A_PAGE_POOL_STATS_ALLOC_FAST = 8, - NETDEV_A_PAGE_POOL_STATS_ALLOC_SLOW = 9, - NETDEV_A_PAGE_POOL_STATS_ALLOC_SLOW_HIGH_ORDER = 10, - NETDEV_A_PAGE_POOL_STATS_ALLOC_EMPTY = 11, - NETDEV_A_PAGE_POOL_STATS_ALLOC_REFILL = 12, - NETDEV_A_PAGE_POOL_STATS_ALLOC_WAIVE = 13, - NETDEV_A_PAGE_POOL_STATS_RECYCLE_CACHED = 14, - NETDEV_A_PAGE_POOL_STATS_RECYCLE_CACHE_FULL = 15, - NETDEV_A_PAGE_POOL_STATS_RECYCLE_RING = 16, - NETDEV_A_PAGE_POOL_STATS_RECYCLE_RING_FULL = 17, - NETDEV_A_PAGE_POOL_STATS_RECYCLE_RELEASED_REFCNT = 18, - __NETDEV_A_PAGE_POOL_STATS_MAX = 19, - NETDEV_A_PAGE_POOL_STATS_MAX = 18, -}; - -enum { - NETDEV_A_QSTATS_IFINDEX = 1, - NETDEV_A_QSTATS_QUEUE_TYPE = 2, - NETDEV_A_QSTATS_QUEUE_ID = 3, - NETDEV_A_QSTATS_SCOPE = 4, - NETDEV_A_QSTATS_RX_PACKETS = 8, - NETDEV_A_QSTATS_RX_BYTES = 9, - NETDEV_A_QSTATS_TX_PACKETS = 10, - NETDEV_A_QSTATS_TX_BYTES = 11, - NETDEV_A_QSTATS_RX_ALLOC_FAIL = 12, - NETDEV_A_QSTATS_RX_HW_DROPS = 13, - NETDEV_A_QSTATS_RX_HW_DROP_OVERRUNS = 14, - NETDEV_A_QSTATS_RX_CSUM_COMPLETE = 15, - NETDEV_A_QSTATS_RX_CSUM_UNNECESSARY = 16, - NETDEV_A_QSTATS_RX_CSUM_NONE = 17, - NETDEV_A_QSTATS_RX_CSUM_BAD = 18, - NETDEV_A_QSTATS_RX_HW_GRO_PACKETS = 19, - NETDEV_A_QSTATS_RX_HW_GRO_BYTES = 20, - NETDEV_A_QSTATS_RX_HW_GRO_WIRE_PACKETS = 21, - NETDEV_A_QSTATS_RX_HW_GRO_WIRE_BYTES = 22, - NETDEV_A_QSTATS_RX_HW_DROP_RATELIMITS = 23, - NETDEV_A_QSTATS_TX_HW_DROPS = 24, - NETDEV_A_QSTATS_TX_HW_DROP_ERRORS = 25, - NETDEV_A_QSTATS_TX_CSUM_NONE = 26, - NETDEV_A_QSTATS_TX_NEEDS_CSUM = 27, - NETDEV_A_QSTATS_TX_HW_GSO_PACKETS = 28, - NETDEV_A_QSTATS_TX_HW_GSO_BYTES = 29, - NETDEV_A_QSTATS_TX_HW_GSO_WIRE_PACKETS = 30, - NETDEV_A_QSTATS_TX_HW_GSO_WIRE_BYTES = 31, - NETDEV_A_QSTATS_TX_HW_DROP_RATELIMITS = 32, - NETDEV_A_QSTATS_TX_STOP = 33, - NETDEV_A_QSTATS_TX_WAKE = 34, - __NETDEV_A_QSTATS_MAX = 35, - NETDEV_A_QSTATS_MAX = 34, -}; - -enum { - NETDEV_A_QUEUE_ID = 1, - NETDEV_A_QUEUE_IFINDEX = 2, - NETDEV_A_QUEUE_TYPE = 3, - NETDEV_A_QUEUE_NAPI_ID = 4, - NETDEV_A_QUEUE_DMABUF = 5, - NETDEV_A_QUEUE_IO_URING = 6, - NETDEV_A_QUEUE_XSK = 7, - __NETDEV_A_QUEUE_MAX = 8, - NETDEV_A_QUEUE_MAX = 7, -}; - -enum { - NETDEV_CMD_DEV_GET = 1, - NETDEV_CMD_DEV_ADD_NTF = 2, - NETDEV_CMD_DEV_DEL_NTF = 3, - NETDEV_CMD_DEV_CHANGE_NTF = 4, - NETDEV_CMD_PAGE_POOL_GET = 5, - NETDEV_CMD_PAGE_POOL_ADD_NTF = 6, - NETDEV_CMD_PAGE_POOL_DEL_NTF = 7, - NETDEV_CMD_PAGE_POOL_CHANGE_NTF = 8, - NETDEV_CMD_PAGE_POOL_STATS_GET = 9, - NETDEV_CMD_QUEUE_GET = 10, - NETDEV_CMD_NAPI_GET = 11, - NETDEV_CMD_QSTATS_GET = 12, - NETDEV_CMD_BIND_RX = 13, - NETDEV_CMD_NAPI_SET = 14, - NETDEV_CMD_BIND_TX = 15, - __NETDEV_CMD_MAX = 16, - NETDEV_CMD_MAX = 15, -}; - -enum { - NETDEV_NLGRP_MGMT = 0, - NETDEV_NLGRP_PAGE_POOL = 1, -}; - -enum { - NETIF_F_SG_BIT = 0, - NETIF_F_IP_CSUM_BIT = 1, - __UNUSED_NETIF_F_1 = 2, - NETIF_F_HW_CSUM_BIT = 3, - NETIF_F_IPV6_CSUM_BIT = 4, - NETIF_F_HIGHDMA_BIT = 5, - NETIF_F_FRAGLIST_BIT = 6, - NETIF_F_HW_VLAN_CTAG_TX_BIT = 7, - NETIF_F_HW_VLAN_CTAG_RX_BIT = 8, - NETIF_F_HW_VLAN_CTAG_FILTER_BIT = 9, - NETIF_F_VLAN_CHALLENGED_BIT = 10, - NETIF_F_GSO_BIT = 11, - __UNUSED_NETIF_F_12 = 12, - __UNUSED_NETIF_F_13 = 13, - NETIF_F_GRO_BIT = 14, - NETIF_F_LRO_BIT = 15, - NETIF_F_GSO_SHIFT = 16, - NETIF_F_TSO_BIT = 16, - NETIF_F_GSO_ROBUST_BIT = 17, - NETIF_F_TSO_ECN_BIT = 18, - NETIF_F_TSO_MANGLEID_BIT = 19, - NETIF_F_TSO6_BIT = 20, - NETIF_F_FSO_BIT = 21, - NETIF_F_GSO_GRE_BIT = 22, - NETIF_F_GSO_GRE_CSUM_BIT = 23, - NETIF_F_GSO_IPXIP4_BIT = 24, - NETIF_F_GSO_IPXIP6_BIT = 25, - NETIF_F_GSO_UDP_TUNNEL_BIT = 26, - NETIF_F_GSO_UDP_TUNNEL_CSUM_BIT = 27, - NETIF_F_GSO_PARTIAL_BIT = 28, - NETIF_F_GSO_TUNNEL_REMCSUM_BIT = 29, - NETIF_F_GSO_SCTP_BIT = 30, - NETIF_F_GSO_ESP_BIT = 31, - NETIF_F_GSO_UDP_BIT = 32, - NETIF_F_GSO_UDP_L4_BIT = 33, - NETIF_F_GSO_FRAGLIST_BIT = 34, - NETIF_F_GSO_ACCECN_BIT = 35, - NETIF_F_GSO_LAST = 35, - NETIF_F_FCOE_CRC_BIT = 36, - NETIF_F_SCTP_CRC_BIT = 37, - NETIF_F_NTUPLE_BIT = 38, - NETIF_F_RXHASH_BIT = 39, - NETIF_F_RXCSUM_BIT = 40, - NETIF_F_NOCACHE_COPY_BIT = 41, - NETIF_F_LOOPBACK_BIT = 42, - NETIF_F_RXFCS_BIT = 43, - NETIF_F_RXALL_BIT = 44, - NETIF_F_HW_VLAN_STAG_TX_BIT = 45, - NETIF_F_HW_VLAN_STAG_RX_BIT = 46, - NETIF_F_HW_VLAN_STAG_FILTER_BIT = 47, - NETIF_F_HW_L2FW_DOFFLOAD_BIT = 48, - NETIF_F_HW_TC_BIT = 49, - NETIF_F_HW_ESP_BIT = 50, - NETIF_F_HW_ESP_TX_CSUM_BIT = 51, - NETIF_F_RX_UDP_TUNNEL_PORT_BIT = 52, - NETIF_F_HW_TLS_TX_BIT = 53, - NETIF_F_HW_TLS_RX_BIT = 54, - NETIF_F_GRO_HW_BIT = 55, - NETIF_F_HW_TLS_RECORD_BIT = 56, - NETIF_F_GRO_FRAGLIST_BIT = 57, - NETIF_F_HW_MACSEC_BIT = 58, - NETIF_F_GRO_UDP_FWD_BIT = 59, - NETIF_F_HW_HSR_TAG_INS_BIT = 60, - NETIF_F_HW_HSR_TAG_RM_BIT = 61, - NETIF_F_HW_HSR_FWD_BIT = 62, - NETIF_F_HW_HSR_DUP_BIT = 63, - NETDEV_FEATURE_COUNT = 64, -}; - -enum { - NETIF_MSG_DRV_BIT = 0, - NETIF_MSG_PROBE_BIT = 1, - NETIF_MSG_LINK_BIT = 2, - NETIF_MSG_TIMER_BIT = 3, - NETIF_MSG_IFDOWN_BIT = 4, - NETIF_MSG_IFUP_BIT = 5, - NETIF_MSG_RX_ERR_BIT = 6, - NETIF_MSG_TX_ERR_BIT = 7, - NETIF_MSG_TX_QUEUED_BIT = 8, - NETIF_MSG_INTR_BIT = 9, - NETIF_MSG_TX_DONE_BIT = 10, - NETIF_MSG_RX_STATUS_BIT = 11, - NETIF_MSG_PKTDATA_BIT = 12, - NETIF_MSG_HW_BIT = 13, - NETIF_MSG_WOL_BIT = 14, - NETIF_MSG_CLASS_COUNT = 15, -}; - -enum { - NETLINK_F_KERNEL_SOCKET = 0, - NETLINK_F_RECV_PKTINFO = 1, - NETLINK_F_BROADCAST_SEND_ERROR = 2, - NETLINK_F_RECV_NO_ENOBUFS = 3, - NETLINK_F_LISTEN_ALL_NSID = 4, - NETLINK_F_CAP_ACK = 5, - NETLINK_F_EXT_ACK = 6, - NETLINK_F_STRICT_CHK = 7, -}; - -enum { - NETLINK_UNCONNECTED = 0, - NETLINK_CONNECTED = 1, -}; - -enum { - NETNSA_NONE = 0, - NETNSA_NSID = 1, - NETNSA_PID = 2, - NETNSA_FD = 3, - NETNSA_TARGET_NSID = 4, - NETNSA_CURRENT_NSID = 5, - __NETNSA_MAX = 6, -}; - -enum { - NET_DM_ATTR_PORT_NETDEV_IFINDEX = 0, - NET_DM_ATTR_PORT_NETDEV_NAME = 1, - __NET_DM_ATTR_PORT_MAX = 2, - NET_DM_ATTR_PORT_MAX = 1, -}; - -enum { - NET_DM_ATTR_STATS_DROPPED = 0, - __NET_DM_ATTR_STATS_MAX = 1, - NET_DM_ATTR_STATS_MAX = 0, -}; - -enum { - NET_DM_CMD_UNSPEC = 0, - NET_DM_CMD_ALERT = 1, - NET_DM_CMD_CONFIG = 2, - NET_DM_CMD_START = 3, - NET_DM_CMD_STOP = 4, - NET_DM_CMD_PACKET_ALERT = 5, - NET_DM_CMD_CONFIG_GET = 6, - NET_DM_CMD_CONFIG_NEW = 7, - NET_DM_CMD_STATS_GET = 8, - NET_DM_CMD_STATS_NEW = 9, - _NET_DM_CMD_MAX = 10, -}; - -enum { - NET_NS_INDEX = 0, - UTS_NS_INDEX = 1, - IPC_NS_INDEX = 2, - PID_NS_INDEX = 3, - USER_NS_INDEX = 4, - MNT_NS_INDEX = 5, - CGROUP_NS_INDEX = 6, - NR_NAMESPACES = 7, -}; - -enum { - NET_SHAPER_A_CAPS_IFINDEX = 1, - NET_SHAPER_A_CAPS_SCOPE = 2, - NET_SHAPER_A_CAPS_SUPPORT_METRIC_BPS = 3, - NET_SHAPER_A_CAPS_SUPPORT_METRIC_PPS = 4, - NET_SHAPER_A_CAPS_SUPPORT_NESTING = 5, - NET_SHAPER_A_CAPS_SUPPORT_BW_MIN = 6, - NET_SHAPER_A_CAPS_SUPPORT_BW_MAX = 7, - NET_SHAPER_A_CAPS_SUPPORT_BURST = 8, - NET_SHAPER_A_CAPS_SUPPORT_PRIORITY = 9, - NET_SHAPER_A_CAPS_SUPPORT_WEIGHT = 10, - __NET_SHAPER_A_CAPS_MAX = 11, - NET_SHAPER_A_CAPS_MAX = 10, -}; - -enum { - NET_SHAPER_A_HANDLE = 1, - NET_SHAPER_A_METRIC = 2, - NET_SHAPER_A_BW_MIN = 3, - NET_SHAPER_A_BW_MAX = 4, - NET_SHAPER_A_BURST = 5, - NET_SHAPER_A_PRIORITY = 6, - NET_SHAPER_A_WEIGHT = 7, - NET_SHAPER_A_IFINDEX = 8, - NET_SHAPER_A_PARENT = 9, - NET_SHAPER_A_LEAVES = 10, - __NET_SHAPER_A_MAX = 11, - NET_SHAPER_A_MAX = 10, -}; - -enum { - NET_SHAPER_A_HANDLE_SCOPE = 1, - NET_SHAPER_A_HANDLE_ID = 2, - __NET_SHAPER_A_HANDLE_MAX = 3, - NET_SHAPER_A_HANDLE_MAX = 2, -}; - -enum { - NET_SHAPER_CMD_GET = 1, - NET_SHAPER_CMD_SET = 2, - NET_SHAPER_CMD_DELETE = 3, - NET_SHAPER_CMD_GROUP = 4, - NET_SHAPER_CMD_CAP_GET = 5, - __NET_SHAPER_CMD_MAX = 6, - NET_SHAPER_CMD_MAX = 5, -}; - -enum { - NEXTHOP_GRP_TYPE_MPATH = 0, - NEXTHOP_GRP_TYPE_RES = 1, - __NEXTHOP_GRP_TYPE_MAX = 2, -}; - -enum { - NFPROTO_UNSPEC = 0, - NFPROTO_INET = 1, - NFPROTO_IPV4 = 2, - NFPROTO_ARP = 3, - NFPROTO_NETDEV = 5, - NFPROTO_BRIDGE = 7, - NFPROTO_IPV6 = 10, - NFPROTO_NUMPROTO = 11, -}; - -enum { - NHA_GROUP_STATS_ENTRY_UNSPEC = 0, - NHA_GROUP_STATS_ENTRY_ID = 1, - NHA_GROUP_STATS_ENTRY_PACKETS = 2, - NHA_GROUP_STATS_ENTRY_PACKETS_HW = 3, - __NHA_GROUP_STATS_ENTRY_MAX = 4, -}; - -enum { - NHA_GROUP_STATS_UNSPEC = 0, - NHA_GROUP_STATS_ENTRY = 1, - __NHA_GROUP_STATS_MAX = 2, -}; - -enum { - NHA_RES_BUCKET_UNSPEC = 0, - NHA_RES_BUCKET_PAD = 0, - NHA_RES_BUCKET_INDEX = 1, - NHA_RES_BUCKET_IDLE_TIME = 2, - NHA_RES_BUCKET_NH_ID = 3, - __NHA_RES_BUCKET_MAX = 4, -}; - -enum { - NHA_RES_GROUP_UNSPEC = 0, - NHA_RES_GROUP_PAD = 0, - NHA_RES_GROUP_BUCKETS = 1, - NHA_RES_GROUP_IDLE_TIMER = 2, - NHA_RES_GROUP_UNBALANCED_TIMER = 3, - NHA_RES_GROUP_UNBALANCED_TIME = 4, - __NHA_RES_GROUP_MAX = 5, -}; - -enum { - NHA_UNSPEC = 0, - NHA_ID = 1, - NHA_GROUP = 2, - NHA_GROUP_TYPE = 3, - NHA_BLACKHOLE = 4, - NHA_OIF = 5, - NHA_GATEWAY = 6, - NHA_ENCAP_TYPE = 7, - NHA_ENCAP = 8, - NHA_GROUPS = 9, - NHA_MASTER = 10, - NHA_FDB = 11, - NHA_RES_GROUP = 12, - NHA_RES_BUCKET = 13, - NHA_OP_FLAGS = 14, - NHA_GROUP_STATS = 15, - NHA_HW_STATS_ENABLE = 16, - NHA_HW_STATS_USED = 17, - __NHA_MAX = 18, -}; - -enum { - NLA_UNSPEC = 0, - NLA_U8 = 1, - NLA_U16 = 2, - NLA_U32 = 3, - NLA_U64 = 4, - NLA_STRING = 5, - NLA_FLAG = 6, - NLA_MSECS = 7, - NLA_NESTED = 8, - NLA_NESTED_ARRAY = 9, - NLA_NUL_STRING = 10, - NLA_BINARY = 11, - NLA_S8 = 12, - NLA_S16 = 13, - NLA_S32 = 14, - NLA_S64 = 15, - NLA_BITFIELD32 = 16, - NLA_REJECT = 17, - NLA_BE16 = 18, - NLA_BE32 = 19, - NLA_SINT = 20, - NLA_UINT = 21, - __NLA_TYPE_MAX = 22, -}; - -enum { - NLBL_CALIPSO_A_UNSPEC = 0, - NLBL_CALIPSO_A_DOI = 1, - NLBL_CALIPSO_A_MTYPE = 2, - __NLBL_CALIPSO_A_MAX = 3, -}; - -enum { - NLBL_CALIPSO_C_UNSPEC = 0, - NLBL_CALIPSO_C_ADD = 1, - NLBL_CALIPSO_C_REMOVE = 2, - NLBL_CALIPSO_C_LIST = 3, - NLBL_CALIPSO_C_LISTALL = 4, - __NLBL_CALIPSO_C_MAX = 5, -}; - -enum { - NLBL_CIPSOV4_A_UNSPEC = 0, - NLBL_CIPSOV4_A_DOI = 1, - NLBL_CIPSOV4_A_MTYPE = 2, - NLBL_CIPSOV4_A_TAG = 3, - NLBL_CIPSOV4_A_TAGLST = 4, - NLBL_CIPSOV4_A_MLSLVLLOC = 5, - NLBL_CIPSOV4_A_MLSLVLREM = 6, - NLBL_CIPSOV4_A_MLSLVL = 7, - NLBL_CIPSOV4_A_MLSLVLLST = 8, - NLBL_CIPSOV4_A_MLSCATLOC = 9, - NLBL_CIPSOV4_A_MLSCATREM = 10, - NLBL_CIPSOV4_A_MLSCAT = 11, - NLBL_CIPSOV4_A_MLSCATLST = 12, - __NLBL_CIPSOV4_A_MAX = 13, -}; - -enum { - NLBL_CIPSOV4_C_UNSPEC = 0, - NLBL_CIPSOV4_C_ADD = 1, - NLBL_CIPSOV4_C_REMOVE = 2, - NLBL_CIPSOV4_C_LIST = 3, - NLBL_CIPSOV4_C_LISTALL = 4, - __NLBL_CIPSOV4_C_MAX = 5, -}; - -enum { - NLBL_MGMT_A_UNSPEC = 0, - NLBL_MGMT_A_DOMAIN = 1, - NLBL_MGMT_A_PROTOCOL = 2, - NLBL_MGMT_A_VERSION = 3, - NLBL_MGMT_A_CV4DOI = 4, - NLBL_MGMT_A_IPV6ADDR = 5, - NLBL_MGMT_A_IPV6MASK = 6, - NLBL_MGMT_A_IPV4ADDR = 7, - NLBL_MGMT_A_IPV4MASK = 8, - NLBL_MGMT_A_ADDRSELECTOR = 9, - NLBL_MGMT_A_SELECTORLIST = 10, - NLBL_MGMT_A_FAMILY = 11, - NLBL_MGMT_A_CLPDOI = 12, - __NLBL_MGMT_A_MAX = 13, -}; - -enum { - NLBL_MGMT_C_UNSPEC = 0, - NLBL_MGMT_C_ADD = 1, - NLBL_MGMT_C_REMOVE = 2, - NLBL_MGMT_C_LISTALL = 3, - NLBL_MGMT_C_ADDDEF = 4, - NLBL_MGMT_C_REMOVEDEF = 5, - NLBL_MGMT_C_LISTDEF = 6, - NLBL_MGMT_C_PROTOCOLS = 7, - NLBL_MGMT_C_VERSION = 8, - __NLBL_MGMT_C_MAX = 9, -}; - -enum { - NLBL_UNLABEL_A_UNSPEC = 0, - NLBL_UNLABEL_A_ACPTFLG = 1, - NLBL_UNLABEL_A_IPV6ADDR = 2, - NLBL_UNLABEL_A_IPV6MASK = 3, - NLBL_UNLABEL_A_IPV4ADDR = 4, - NLBL_UNLABEL_A_IPV4MASK = 5, - NLBL_UNLABEL_A_IFACE = 6, - NLBL_UNLABEL_A_SECCTX = 7, - __NLBL_UNLABEL_A_MAX = 8, -}; - -enum { - NLBL_UNLABEL_C_UNSPEC = 0, - NLBL_UNLABEL_C_ACCEPT = 1, - NLBL_UNLABEL_C_LIST = 2, - NLBL_UNLABEL_C_STATICADD = 3, - NLBL_UNLABEL_C_STATICREMOVE = 4, - NLBL_UNLABEL_C_STATICLIST = 5, - NLBL_UNLABEL_C_STATICADDDEF = 6, - NLBL_UNLABEL_C_STATICREMOVEDEF = 7, - NLBL_UNLABEL_C_STATICLISTDEF = 8, - __NLBL_UNLABEL_C_MAX = 9, -}; - -enum { - NMI_LOCAL = 0, - NMI_UNKNOWN = 1, - NMI_SERR = 2, - NMI_IO_CHECK = 3, - NMI_MAX = 4, -}; - -enum { - NODE_ACCESS_CLASS_GENPORT_SINK_LOCAL = 2, - NODE_ACCESS_CLASS_GENPORT_SINK_CPU = 3, - NODE_ACCESS_CLASS_MAX = 4, -}; - -enum { - NONE_FORCE_HPET_RESUME = 0, - OLD_ICH_FORCE_HPET_RESUME = 1, - ICH_FORCE_HPET_RESUME = 2, - VT8237_FORCE_HPET_RESUME = 3, - NVIDIA_FORCE_HPET_RESUME = 4, - ATI_FORCE_HPET_RESUME = 5, -}; - -enum { - NO_USER_KERNEL = 0, - NO_USER_USER = 1, - NO_GUEST_HOST = 2, - NO_GUEST_GUEST = 3, - NO_CROSS_THREAD = 4, - NR_VECTOR_PARAMS = 5, -}; - -enum { - NSINDEX_SIG_LEN = 16, - NSINDEX_ALIGN = 256, - NSINDEX_SEQ_MASK = 3, - NSLABEL_UUID_LEN = 16, - NSLABEL_NAME_LEN = 64, - NSLABEL_FLAG_ROLABEL = 1, - NSLABEL_FLAG_LOCAL = 2, - NSLABEL_FLAG_BTT = 4, - NSLABEL_FLAG_UPDATING = 8, - BTT_ALIGN = 4096, - BTTINFO_SIG_LEN = 16, - BTTINFO_UUID_LEN = 16, - BTTINFO_FLAG_ERROR = 1, - BTTINFO_MAJOR_VERSION = 1, - ND_LABEL_MIN_SIZE = 1024, - ND_LABEL_ID_SIZE = 50, - ND_NSINDEX_INIT = 1, -}; - -enum { - NUM_TRIAL_SAMPLES = 8192, - MAX_SAMPLES_PER_BIT = 66, -}; - -enum { - NVMEM_ADD = 1, - NVMEM_REMOVE = 2, - NVMEM_CELL_ADD = 3, - NVMEM_CELL_REMOVE = 4, - NVMEM_LAYOUT_ADD = 5, - NVMEM_LAYOUT_REMOVE = 6, -}; - -enum { - NVME_AEN_BIT_NS_ATTR = 8, - NVME_AEN_BIT_FW_ACT = 9, - NVME_AEN_BIT_ANA_CHANGE = 11, - NVME_AEN_BIT_DISC_CHANGE = 31, -}; - -enum { - NVME_CC_ENABLE = 1, - NVME_CC_EN_SHIFT = 0, - NVME_CC_CSS_SHIFT = 4, - NVME_CC_CSS_MASK = 112, - NVME_CC_CSS_NVM = 0, - NVME_CC_CSS_CSI = 96, - NVME_CC_MPS_SHIFT = 7, - NVME_CC_MPS_MASK = 1920, - NVME_CC_AMS_SHIFT = 11, - NVME_CC_AMS_MASK = 14336, - NVME_CC_AMS_RR = 0, - NVME_CC_AMS_WRRU = 2048, - NVME_CC_AMS_VS = 14336, - NVME_CC_SHN_SHIFT = 14, - NVME_CC_SHN_MASK = 49152, - NVME_CC_SHN_NONE = 0, - NVME_CC_SHN_NORMAL = 16384, - NVME_CC_SHN_ABRUPT = 32768, - NVME_CC_IOSQES_SHIFT = 16, - NVME_CC_IOSQES_MASK = 983040, - NVME_CC_IOSQES = 393216, - NVME_CC_IOCQES_SHIFT = 20, - NVME_CC_IOCQES_MASK = 15728640, - NVME_CC_IOCQES = 4194304, - NVME_CC_CRIME = 16777216, -}; - -enum { - NVME_CSTS_RDY = 1, - NVME_CSTS_CFS = 2, - NVME_CSTS_NSSRO = 16, - NVME_CSTS_PP = 32, - NVME_CSTS_SHST_NORMAL = 0, - NVME_CSTS_SHST_OCCUR = 4, - NVME_CSTS_SHST_CMPLT = 8, - NVME_CSTS_SHST_MASK = 12, -}; - -enum { - NVME_REG_CAP = 0, - NVME_REG_VS = 8, - NVME_REG_INTMS = 12, - NVME_REG_INTMC = 16, - NVME_REG_CC = 20, - NVME_REG_CSTS = 28, - NVME_REG_NSSR = 32, - NVME_REG_AQA = 36, - NVME_REG_ASQ = 40, - NVME_REG_ACQ = 48, - NVME_REG_CMBLOC = 56, - NVME_REG_CMBSZ = 60, - NVME_REG_BPINFO = 64, - NVME_REG_BPRSEL = 68, - NVME_REG_BPMBL = 72, - NVME_REG_CMBMSC = 80, - NVME_REG_CRTO = 104, - NVME_REG_PMRCAP = 3584, - NVME_REG_PMRCTL = 3588, - NVME_REG_PMRSTS = 3592, - NVME_REG_PMREBS = 3596, - NVME_REG_PMRSWTP = 3600, - NVME_REG_DBS = 4096, -}; - -enum { - OD_NORMAL_SAMPLE = 0, - OD_SUB_SAMPLE = 1, -}; - -enum { - ONLINE_POLICY_CONTIG_ZONES = 0, - ONLINE_POLICY_AUTO_MOVABLE = 1, -}; - -enum { - OPT_SOURCE = 0, - OPT_SUBTYPE = 1, - OPT_FD = 2, - OPT_ROOTMODE = 3, - OPT_USER_ID = 4, - OPT_GROUP_ID = 5, - OPT_DEFAULT_PERMISSIONS = 6, - OPT_ALLOW_OTHER = 7, - OPT_MAX_READ = 8, - OPT_BLKSIZE = 9, - OPT_ERR = 10, -}; - -enum { - OPT_UID = 0, - OPT_GID = 1, - OPT_MODE = 2, - OPT_DELEGATE_CMDS = 3, - OPT_DELEGATE_MAPS = 4, - OPT_DELEGATE_PROGS = 5, - OPT_DELEGATE_ATTACHS = 6, -}; - -enum { - OVERRIDE_NONE = 0, - OVERRIDE_BASE = 1, - OVERRIDE_STRIDE = 2, - OVERRIDE_HEIGHT = 4, - OVERRIDE_WIDTH = 8, -}; - -enum { - Opt_bsd_df = 0, - Opt_minix_df = 1, - Opt_grpid = 2, - Opt_nogrpid = 3, - Opt_resgid = 4, - Opt_resuid = 5, - Opt_sb = 6, - Opt_nouid32 = 7, - Opt_debug = 8, - Opt_removed = 9, - Opt_user_xattr = 10, - Opt_acl = 11, - Opt_auto_da_alloc = 12, - Opt_noauto_da_alloc = 13, - Opt_noload = 14, - Opt_commit = 15, - Opt_min_batch_time = 16, - Opt_max_batch_time = 17, - Opt_journal_dev = 18, - Opt_journal_path = 19, - Opt_journal_checksum = 20, - Opt_journal_async_commit = 21, - Opt_abort = 22, - Opt_data_journal = 23, - Opt_data_ordered = 24, - Opt_data_writeback = 25, - Opt_data_err_abort = 26, - Opt_data_err_ignore = 27, - Opt_test_dummy_encryption = 28, - Opt_inlinecrypt = 29, - Opt_usrjquota = 30, - Opt_grpjquota = 31, - Opt_quota = 32, - Opt_noquota = 33, - Opt_barrier = 34, - Opt_nobarrier = 35, - Opt_err = 36, - Opt_usrquota = 37, - Opt_grpquota = 38, - Opt_prjquota = 39, - Opt_dax = 40, - Opt_dax_always = 41, - Opt_dax_inode = 42, - Opt_dax_never = 43, - Opt_stripe = 44, - Opt_delalloc = 45, - Opt_nodelalloc = 46, - Opt_warn_on_error = 47, - Opt_nowarn_on_error = 48, - Opt_mblk_io_submit = 49, - Opt_debug_want_extra_isize = 50, - Opt_nomblk_io_submit = 51, - Opt_block_validity = 52, - Opt_noblock_validity = 53, - Opt_inode_readahead_blks = 54, - Opt_journal_ioprio = 55, - Opt_dioread_nolock = 56, - Opt_dioread_lock = 57, - Opt_discard = 58, - Opt_nodiscard = 59, - Opt_init_itable = 60, - Opt_noinit_itable = 61, - Opt_max_dir_size_kb = 62, - Opt_nojournal_checksum = 63, - Opt_nombcache = 64, - Opt_no_prefetch_block_bitmaps = 65, - Opt_mb_optimize_scan = 66, - Opt_errors = 67, - Opt_data = 68, - Opt_data_err = 69, - Opt_jqfmt = 70, - Opt_dax_type = 71, -}; - -enum { - Opt_check = 0, - Opt_uid = 1, - Opt_gid = 2, - Opt_umask = 3, - Opt_dmask = 4, - Opt_fmask = 5, - Opt_allow_utime = 6, - Opt_codepage = 7, - Opt_usefree = 8, - Opt_nocase = 9, - Opt_quiet = 10, - Opt_showexec = 11, - Opt_debug___2 = 12, - Opt_immutable = 13, - Opt_dots = 14, - Opt_dotsOK = 15, - Opt_charset = 16, - Opt_shortname = 17, - Opt_utf8 = 18, - Opt_utf8_bool = 19, - Opt_uni_xl = 20, - Opt_uni_xl_bool = 21, - Opt_nonumtail = 22, - Opt_nonumtail_bool = 23, - Opt_obsolete = 24, - Opt_flush = 25, - Opt_tz = 26, - Opt_rodir = 27, - Opt_errors___2 = 28, - Opt_discard___2 = 29, - Opt_nfs = 30, - Opt_nfs_enum = 31, - Opt_time_offset = 32, - Opt_dos1xfloppy = 33, -}; - -enum { - Opt_default = 0, - Opt_ecryptfs = 1, - Opt_enc32 = 2, - Opt_error = 3, -}; - -enum { - Opt_err___2 = 0, - Opt_enc = 1, - Opt_hash = 2, -}; - -enum { - Opt_err___3 = 0, - Opt_new = 1, - Opt_load = 2, - Opt_update = 3, -}; - -enum { - Opt_err___4 = 0, - Opt_keyhandle = 1, - Opt_keyauth = 2, - Opt_blobauth = 3, - Opt_pcrinfo = 4, - Opt_pcrlock = 5, - Opt_migratable = 6, - Opt_hash___2 = 7, - Opt_policydigest = 8, - Opt_policyhandle = 9, -}; - -enum { - Opt_error___2 = -1, - Opt_fsdefault = 0, - Opt_fsfloor = 1, - Opt_fshat = 2, - Opt_fsroot = 3, - Opt_fstransmute = 4, -}; - -enum { - Opt_error___3 = -1, - Opt_context = 0, - Opt_defcontext = 1, - Opt_fscontext = 2, - Opt_rootcontext = 3, - Opt_seclabel = 4, -}; - -enum { - Opt_kmsg_bytes = 0, -}; - -enum { - Opt_new___2 = 0, - Opt_load___2 = 1, - Opt_update___2 = 2, - Opt_err___5 = 3, -}; - -enum { - Opt_sig = 0, - Opt_ecryptfs_sig = 1, - Opt_cipher = 2, - Opt_ecryptfs_cipher = 3, - Opt_ecryptfs_key_bytes = 4, - Opt_passthrough = 5, - Opt_xattr_metadata = 6, - Opt_encrypted_view = 7, - Opt_fnek_sig = 8, - Opt_fn_cipher = 9, - Opt_fn_cipher_key_bytes = 10, - Opt_unlink_sigs = 11, - Opt_mount_auth_tok_only = 12, - Opt_check_dev_ruid = 13, -}; - -enum { - Opt_uid___2 = 0, - Opt_gid___2 = 1, -}; - -enum { - Opt_uid___3 = 0, - Opt_gid___3 = 1, - Opt_mode = 2, -}; - -enum { - Opt_uid___4 = 0, - Opt_gid___4 = 1, - Opt_mode___2 = 2, - Opt_source = 3, -}; - -enum { - Opt_uid___5 = 0, - Opt_gid___5 = 1, - Opt_mode___3 = 2, - Opt_ptmxmode = 3, - Opt_newinstance = 4, - Opt_max = 5, - Opt_err___6 = 6, -}; - -enum { - PADDRW = 0, - PDATA = 4, - PPMASK = 8, - PADDRR = 12, - PIDXLO = 16, - PIDXHI = 20, - PIDXDATA = 24, - PIDXCTL = 28, -}; - -enum { - PAD_CONNECT_NONE = 0, - PAD_CONNECT_INPUT = 1, - PAD_CONNECT_OUTPUT = 2, - PAD_CONNECT_FULL = 3, -}; - -enum { - PAD_UNLOCKED = 0, - PAD_LOCKED = 1, - PAD_LOCKED_TX = 2, - PAD_LOCKED_FULL = 3, -}; - -enum { - PAGE_REPORTING_IDLE = 0, - PAGE_REPORTING_REQUESTED = 1, - PAGE_REPORTING_ACTIVE = 2, -}; - -enum { - PAGE_WAS_MAPPED = 1, - PAGE_WAS_MLOCKED = 2, - PAGE_OLD_STATES = 3, -}; - -enum { - PALMAS_EXT_CONTROL_ENABLE1 = 1, - PALMAS_EXT_CONTROL_ENABLE2 = 2, - PALMAS_EXT_CONTROL_NSLEEP = 4, -}; - -enum { - PARSE_INVALID = 1, - PARSE_NOT_LONGNAME = 2, - PARSE_EOF = 3, -}; - -enum { - PCI_REASSIGN_ALL_RSRC = 1, - PCI_REASSIGN_ALL_BUS = 2, - PCI_PROBE_ONLY = 4, - PCI_CAN_SKIP_ISA_ALIGN = 8, - PCI_ENABLE_PROC_DOMAINS = 16, - PCI_COMPAT_DOMAIN_0 = 32, - PCI_SCAN_ALL_PCIE_DEVS = 64, -}; - -enum { - PCI_STD_RESOURCES = 0, - PCI_STD_RESOURCE_END = 5, - PCI_ROM_RESOURCE = 6, - PCI_IOV_RESOURCES = 7, - PCI_IOV_RESOURCE_END = 12, - PCI_BRIDGE_RESOURCES = 13, - PCI_BRIDGE_RESOURCE_END = 16, - PCI_NUM_RESOURCES = 17, - DEVICE_COUNT_RESOURCE = 17, -}; - -enum { - PERCPU_REF_INIT_ATOMIC = 1, - PERCPU_REF_INIT_DEAD = 2, - PERCPU_REF_ALLOW_REINIT = 4, -}; - -enum { - PERF_BR_SPEC_NA = 0, - PERF_BR_SPEC_WRONG_PATH = 1, - PERF_BR_NON_SPEC_CORRECT_PATH = 2, - PERF_BR_SPEC_CORRECT_PATH = 3, - PERF_BR_SPEC_MAX = 4, -}; - -enum { - PERF_BR_UNKNOWN = 0, - PERF_BR_COND = 1, - PERF_BR_UNCOND = 2, - PERF_BR_IND = 3, - PERF_BR_CALL = 4, - PERF_BR_IND_CALL = 5, - PERF_BR_RET = 6, - PERF_BR_SYSCALL = 7, - PERF_BR_SYSRET = 8, - PERF_BR_COND_CALL = 9, - PERF_BR_COND_RET = 10, - PERF_BR_ERET = 11, - PERF_BR_IRQ = 12, - PERF_BR_SERROR = 13, - PERF_BR_NO_TX = 14, - PERF_BR_EXTEND_ABI = 15, - PERF_BR_MAX = 16, -}; - -enum { - PERF_TXN_ELISION = 1ULL, - PERF_TXN_TRANSACTION = 2ULL, - PERF_TXN_SYNC = 4ULL, - PERF_TXN_ASYNC = 8ULL, - PERF_TXN_RETRY = 16ULL, - PERF_TXN_CONFLICT = 32ULL, - PERF_TXN_CAPACITY_WRITE = 64ULL, - PERF_TXN_CAPACITY_READ = 128ULL, - PERF_TXN_MAX = 256ULL, - PERF_TXN_ABORT_MASK = 18446744069414584320ULL, - PERF_TXN_ABORT_SHIFT = 32ULL, -}; - -enum { - PERF_X86_EVENT_PEBS_LDLAT = 1, - PERF_X86_EVENT_PEBS_ST = 2, - PERF_X86_EVENT_PEBS_ST_HSW = 4, - PERF_X86_EVENT_PEBS_LD_HSW = 8, - PERF_X86_EVENT_PEBS_NA_HSW = 16, - PERF_X86_EVENT_EXCL = 32, - PERF_X86_EVENT_DYNAMIC = 64, - PERF_X86_EVENT_PEBS_CNTR = 128, - PERF_X86_EVENT_EXCL_ACCT = 256, - PERF_X86_EVENT_AUTO_RELOAD = 512, - PERF_X86_EVENT_LARGE_PEBS = 1024, - PERF_X86_EVENT_PEBS_VIA_PT = 2048, - PERF_X86_EVENT_PAIR = 4096, - PERF_X86_EVENT_LBR_SELECT = 8192, - PERF_X86_EVENT_TOPDOWN = 16384, - PERF_X86_EVENT_PEBS_STLAT = 32768, - PERF_X86_EVENT_AMD_BRS = 65536, - PERF_X86_EVENT_PEBS_LAT_HYBRID = 131072, - PERF_X86_EVENT_NEEDS_BRANCH_STACK = 262144, - PERF_X86_EVENT_BRANCH_COUNTERS = 524288, - PERF_X86_EVENT_ACR = 1048576, -}; - -enum { - PER_LINUX = 0, - PER_LINUX_32BIT = 8388608, - PER_LINUX_FDPIC = 524288, - PER_SVR4 = 68157441, - PER_SVR3 = 83886082, - PER_SCOSVR3 = 117440515, - PER_OSR5 = 100663299, - PER_WYSEV386 = 83886084, - PER_ISCR4 = 67108869, - PER_BSD = 6, - PER_SUNOS = 67108870, - PER_XENIX = 83886087, - PER_LINUX32 = 8, - PER_LINUX32_3GB = 134217736, - PER_IRIX32 = 67108873, - PER_IRIXN32 = 67108874, - PER_IRIX64 = 67108875, - PER_RISCOS = 12, - PER_SOLARIS = 67108877, - PER_UW7 = 68157454, - PER_OSF4 = 15, - PER_HPUX = 16, - PER_MASK = 255, -}; - -enum { - PIIX_IOCFG = 84, - ICH5_PMR = 144, - ICH5_PCS = 146, - PIIX_SIDPR_BAR = 5, - PIIX_SIDPR_LEN = 16, - PIIX_SIDPR_IDX = 0, - PIIX_SIDPR_DATA = 4, - PIIX_FLAG_CHECKINTR = 268435456, - PIIX_FLAG_SIDPR = 536870912, - PIIX_PATA_FLAGS = 1, - PIIX_SATA_FLAGS = 268435458, - PIIX_FLAG_PIO16 = 1073741824, - PIIX_80C_PRI = 48, - PIIX_80C_SEC = 192, - P0 = 0, - P1 = 1, - P2 = 2, - P3 = 3, - IDE = -1, - NA = -2, - RV = -3, - PIIX_AHCI_DEVICE = 6, - PIIX_HOST_BROKEN_SUSPEND = 16777216, -}; - -enum { - PIM_TYPE_HELLO = 0, - PIM_TYPE_REGISTER = 1, - PIM_TYPE_REGISTER_STOP = 2, - PIM_TYPE_JOIN_PRUNE = 3, - PIM_TYPE_BOOTSTRAP = 4, - PIM_TYPE_ASSERT = 5, - PIM_TYPE_GRAFT = 6, - PIM_TYPE_GRAFT_ACK = 7, - PIM_TYPE_CANDIDATE_RP_ADV = 8, -}; - -enum { - PLAT8250_DEV_LEGACY = -1, - PLAT8250_DEV_PLATFORM = 0, - PLAT8250_DEV_PLATFORM1 = 1, - PLAT8250_DEV_PLATFORM2 = 2, - PLAT8250_DEV_FOURPORT = 3, - PLAT8250_DEV_ACCENT = 4, - PLAT8250_DEV_BOCA = 5, - PLAT8250_DEV_EXAR_ST16C554 = 6, - PLAT8250_DEV_HUB6 = 7, - PLAT8250_DEV_AU1X00 = 8, - PLAT8250_DEV_SM501 = 9, -}; - -enum { - PM8607_IRQ_ONKEY = 0, - PM8607_IRQ_EXTON = 1, - PM8607_IRQ_CHG = 2, - PM8607_IRQ_BAT = 3, - PM8607_IRQ_RTC = 4, - PM8607_IRQ_CC = 5, - PM8607_IRQ_VBAT = 6, - PM8607_IRQ_VCHG = 7, - PM8607_IRQ_VSYS = 8, - PM8607_IRQ_TINT = 9, - PM8607_IRQ_GPADC0 = 10, - PM8607_IRQ_GPADC1 = 11, - PM8607_IRQ_GPADC2 = 12, - PM8607_IRQ_GPADC3 = 13, - PM8607_IRQ_AUDIO_SHORT = 14, - PM8607_IRQ_PEN = 15, - PM8607_IRQ_HEADSET = 16, - PM8607_IRQ_HOOK = 17, - PM8607_IRQ_MICIN = 18, - PM8607_IRQ_CHG_FAIL = 19, - PM8607_IRQ_CHG_DONE = 20, - PM8607_IRQ_CHG_FAULT = 21, -}; - -enum { - POLICYDB_CAP_NETPEER = 0, - POLICYDB_CAP_OPENPERM = 1, - POLICYDB_CAP_EXTSOCKCLASS = 2, - POLICYDB_CAP_ALWAYSNETWORK = 3, - POLICYDB_CAP_CGROUPSECLABEL = 4, - POLICYDB_CAP_NNP_NOSUID_TRANSITION = 5, - POLICYDB_CAP_GENFS_SECLABEL_SYMLINKS = 6, - POLICYDB_CAP_IOCTL_SKIP_CLOEXEC = 7, - POLICYDB_CAP_USERSPACE_INITIAL_CONTEXT = 8, - POLICYDB_CAP_NETLINK_XPERM = 9, - POLICYDB_CAP_NETIF_WILDCARD = 10, - POLICYDB_CAP_GENFS_SECLABEL_WILDCARD = 11, - __POLICYDB_CAP_MAX = 12, -}; - -enum { - POOL_BITS = 256, - POOL_READY_BITS = 256, - POOL_EARLY_BITS = 128, -}; - -enum { - POWERON_SECS = 3, -}; - -enum { - POWER_SUPPLY_CAPACITY_LEVEL_UNKNOWN = 0, - POWER_SUPPLY_CAPACITY_LEVEL_CRITICAL = 1, - POWER_SUPPLY_CAPACITY_LEVEL_LOW = 2, - POWER_SUPPLY_CAPACITY_LEVEL_NORMAL = 3, - POWER_SUPPLY_CAPACITY_LEVEL_HIGH = 4, - POWER_SUPPLY_CAPACITY_LEVEL_FULL = 5, -}; - -enum { - POWER_SUPPLY_HEALTH_UNKNOWN = 0, - POWER_SUPPLY_HEALTH_GOOD = 1, - POWER_SUPPLY_HEALTH_OVERHEAT = 2, - POWER_SUPPLY_HEALTH_DEAD = 3, - POWER_SUPPLY_HEALTH_OVERVOLTAGE = 4, - POWER_SUPPLY_HEALTH_UNDERVOLTAGE = 5, - POWER_SUPPLY_HEALTH_UNSPEC_FAILURE = 6, - POWER_SUPPLY_HEALTH_COLD = 7, - POWER_SUPPLY_HEALTH_WATCHDOG_TIMER_EXPIRE = 8, - POWER_SUPPLY_HEALTH_SAFETY_TIMER_EXPIRE = 9, - POWER_SUPPLY_HEALTH_OVERCURRENT = 10, - POWER_SUPPLY_HEALTH_CALIBRATION_REQUIRED = 11, - POWER_SUPPLY_HEALTH_WARM = 12, - POWER_SUPPLY_HEALTH_COOL = 13, - POWER_SUPPLY_HEALTH_HOT = 14, - POWER_SUPPLY_HEALTH_NO_BATTERY = 15, - POWER_SUPPLY_HEALTH_BLOWN_FUSE = 16, - POWER_SUPPLY_HEALTH_CELL_IMBALANCE = 17, -}; - -enum { - POWER_SUPPLY_SCOPE_UNKNOWN = 0, - POWER_SUPPLY_SCOPE_SYSTEM = 1, - POWER_SUPPLY_SCOPE_DEVICE = 2, -}; - -enum { - POWER_SUPPLY_STATUS_UNKNOWN = 0, - POWER_SUPPLY_STATUS_CHARGING = 1, - POWER_SUPPLY_STATUS_DISCHARGING = 2, - POWER_SUPPLY_STATUS_NOT_CHARGING = 3, - POWER_SUPPLY_STATUS_FULL = 4, -}; - -enum { - POWER_SUPPLY_TECHNOLOGY_UNKNOWN = 0, - POWER_SUPPLY_TECHNOLOGY_NiMH = 1, - POWER_SUPPLY_TECHNOLOGY_LION = 2, - POWER_SUPPLY_TECHNOLOGY_LIPO = 3, - POWER_SUPPLY_TECHNOLOGY_LiFe = 4, - POWER_SUPPLY_TECHNOLOGY_NiCd = 5, - POWER_SUPPLY_TECHNOLOGY_LiMn = 6, -}; - -enum { - PREFIX_UNSPEC = 0, - PREFIX_ADDRESS = 1, - PREFIX_CACHEINFO = 2, - __PREFIX_MAX = 3, -}; - -enum { - PROCESS_BPF_EXIT = 1, -}; - -enum { - PROCESS_SPIN_LOCK = 1, - PROCESS_RES_LOCK = 2, - PROCESS_LOCK_IRQ = 4, -}; - -enum { - PROC_ENTRY_PERMANENT = 1, - PROC_ENTRY_proc_read_iter = 2, - PROC_ENTRY_proc_compat_ioctl = 4, - PROC_ENTRY_proc_lseek = 8, - PROC_ENTRY_FORCE_LOOKUP = 128, -}; - -enum { - PROC_IPC_INIT_INO = 4026531839, - PROC_UTS_INIT_INO = 4026531838, - PROC_USER_INIT_INO = 4026531837, - PROC_PID_INIT_INO = 4026531836, - PROC_CGROUP_INIT_INO = 4026531835, - PROC_TIME_INIT_INO = 4026531834, - PROC_NET_INIT_INO = 4026531833, - PROC_MNT_INIT_INO = 4026531832, -}; - -enum { - PSS = 0, - PPC = 1, -}; - -enum { - PWMF_REQUESTED = 0, - PWMF_EXPORTED = 1, -}; - -enum { - QIF_BLIMITS_B = 0, - QIF_SPACE_B = 1, - QIF_ILIMITS_B = 2, - QIF_INODES_B = 3, - QIF_BTIME_B = 4, - QIF_ITIME_B = 5, -}; - -enum { - QI_FREE = 0, - QI_IN_USE = 1, - QI_DONE = 2, - QI_ABORT = 3, -}; - -enum { - QOS_ENABLE = 0, - QOS_CTRL = 1, - NR_QOS_CTRL_PARAMS = 2, -}; - -enum { - QOS_RPPM = 0, - QOS_RLAT = 1, - QOS_WPPM = 2, - QOS_WLAT = 3, - QOS_MIN = 4, - QOS_MAX = 5, - NR_QOS_PARAMS = 6, -}; - -enum { - QUEUE_FLAG_DYING = 0, - QUEUE_FLAG_NOMERGES = 1, - QUEUE_FLAG_SAME_COMP = 2, - QUEUE_FLAG_FAIL_IO = 3, - QUEUE_FLAG_NOXMERGES = 4, - QUEUE_FLAG_SAME_FORCE = 5, - QUEUE_FLAG_INIT_DONE = 6, - QUEUE_FLAG_STATS = 7, - QUEUE_FLAG_REGISTERED = 8, - QUEUE_FLAG_QUIESCED = 9, - QUEUE_FLAG_RQ_ALLOC_TIME = 10, - QUEUE_FLAG_HCTX_ACTIVE = 11, - QUEUE_FLAG_SQ_SCHED = 12, - QUEUE_FLAG_DISABLE_WBT_DEF = 13, - QUEUE_FLAG_NO_ELV_SWITCH = 14, - QUEUE_FLAG_QOS_ENABLED = 15, - QUEUE_FLAG_MAX = 16, -}; - -enum { - QUIRK_IGNORE_CHECKSUM = 0, -}; - -enum { - QUOTA_NL_A_UNSPEC = 0, - QUOTA_NL_A_QTYPE = 1, - QUOTA_NL_A_EXCESS_ID = 2, - QUOTA_NL_A_WARNING = 3, - QUOTA_NL_A_DEV_MAJOR = 4, - QUOTA_NL_A_DEV_MINOR = 5, - QUOTA_NL_A_CAUSED_ID = 6, - QUOTA_NL_A_PAD = 7, - __QUOTA_NL_A_MAX = 8, -}; - -enum { - QUOTA_NL_C_UNSPEC = 0, - QUOTA_NL_C_WARNING = 1, - __QUOTA_NL_C_MAX = 2, -}; - -enum { - Q_REQUEUE_PI_NONE = 0, - Q_REQUEUE_PI_IGNORE = 1, - Q_REQUEUE_PI_IN_PROGRESS = 2, - Q_REQUEUE_PI_WAIT = 3, - Q_REQUEUE_PI_DONE = 4, - Q_REQUEUE_PI_LOCKED = 5, -}; - -enum { - RADIX_TREE_ITER_TAG_MASK = 15, - RADIX_TREE_ITER_TAGGED = 16, - RADIX_TREE_ITER_CONTIG = 32, -}; - -enum { - RB_ADD_STAMP_NONE = 0, - RB_ADD_STAMP_EXTEND = 2, - RB_ADD_STAMP_ABSOLUTE = 4, - RB_ADD_STAMP_FORCE = 8, -}; - -enum { - RB_CTX_TRANSITION = 0, - RB_CTX_NMI = 1, - RB_CTX_IRQ = 2, - RB_CTX_SOFTIRQ = 3, - RB_CTX_NORMAL = 4, - RB_CTX_MAX = 5, -}; - -enum { - RB_LEN_TIME_EXTEND = 8, - RB_LEN_TIME_STAMP = 8, -}; - -enum { - RC5T583_DS_NONE = 0, - RC5T583_DS_DC0 = 1, - RC5T583_DS_DC1 = 2, - RC5T583_DS_DC2 = 3, - RC5T583_DS_DC3 = 4, - RC5T583_DS_LDO0 = 5, - RC5T583_DS_LDO1 = 6, - RC5T583_DS_LDO2 = 7, - RC5T583_DS_LDO3 = 8, - RC5T583_DS_LDO4 = 9, - RC5T583_DS_LDO5 = 10, - RC5T583_DS_LDO6 = 11, - RC5T583_DS_LDO7 = 12, - RC5T583_DS_LDO8 = 13, - RC5T583_DS_LDO9 = 14, - RC5T583_DS_PSO0 = 15, - RC5T583_DS_PSO1 = 16, - RC5T583_DS_PSO2 = 17, - RC5T583_DS_PSO3 = 18, - RC5T583_DS_PSO4 = 19, - RC5T583_DS_PSO5 = 20, - RC5T583_DS_PSO6 = 21, - RC5T583_DS_PSO7 = 22, - RC5T583_DS_MAX = 23, -}; - -enum { - RC5T583_EXT_PWRREQ1_CONTROL = 1, - RC5T583_EXT_PWRREQ2_CONTROL = 2, -}; - -enum { - RC5T583_GPIO0 = 0, - RC5T583_GPIO1 = 1, - RC5T583_GPIO2 = 2, - RC5T583_GPIO3 = 3, - RC5T583_GPIO4 = 4, - RC5T583_GPIO5 = 5, - RC5T583_GPIO6 = 6, - RC5T583_GPIO7 = 7, - RC5T583_MAX_GPIO = 8, -}; - -enum { - RC5T583_IRQ_ONKEY = 0, - RC5T583_IRQ_ACOK = 1, - RC5T583_IRQ_LIDOPEN = 2, - RC5T583_IRQ_PREOT = 3, - RC5T583_IRQ_CLKSTP = 4, - RC5T583_IRQ_ONKEY_OFF = 5, - RC5T583_IRQ_WD = 6, - RC5T583_IRQ_EN_PWRREQ1 = 7, - RC5T583_IRQ_EN_PWRREQ2 = 8, - RC5T583_IRQ_PRE_VINDET = 9, - RC5T583_IRQ_DC0LIM = 10, - RC5T583_IRQ_DC1LIM = 11, - RC5T583_IRQ_DC2LIM = 12, - RC5T583_IRQ_DC3LIM = 13, - RC5T583_IRQ_CTC = 14, - RC5T583_IRQ_YALE = 15, - RC5T583_IRQ_DALE = 16, - RC5T583_IRQ_WALE = 17, - RC5T583_IRQ_AIN1L = 18, - RC5T583_IRQ_AIN2L = 19, - RC5T583_IRQ_AIN3L = 20, - RC5T583_IRQ_VBATL = 21, - RC5T583_IRQ_VIN3L = 22, - RC5T583_IRQ_VIN8L = 23, - RC5T583_IRQ_AIN1H = 24, - RC5T583_IRQ_AIN2H = 25, - RC5T583_IRQ_AIN3H = 26, - RC5T583_IRQ_VBATH = 27, - RC5T583_IRQ_VIN3H = 28, - RC5T583_IRQ_VIN8H = 29, - RC5T583_IRQ_ADCEND = 30, - RC5T583_IRQ_GPIO0 = 31, - RC5T583_IRQ_GPIO1 = 32, - RC5T583_IRQ_GPIO2 = 33, - RC5T583_IRQ_GPIO3 = 34, - RC5T583_IRQ_GPIO4 = 35, - RC5T583_IRQ_GPIO5 = 36, - RC5T583_IRQ_GPIO6 = 37, - RC5T583_IRQ_GPIO7 = 38, - RC5T583_MAX_IRQS = 39, -}; - -enum { - RC5T583_REGULATOR_DC0 = 0, - RC5T583_REGULATOR_DC1 = 1, - RC5T583_REGULATOR_DC2 = 2, - RC5T583_REGULATOR_DC3 = 3, - RC5T583_REGULATOR_LDO0 = 4, - RC5T583_REGULATOR_LDO1 = 5, - RC5T583_REGULATOR_LDO2 = 6, - RC5T583_REGULATOR_LDO3 = 7, - RC5T583_REGULATOR_LDO4 = 8, - RC5T583_REGULATOR_LDO5 = 9, - RC5T583_REGULATOR_LDO6 = 10, - RC5T583_REGULATOR_LDO7 = 11, - RC5T583_REGULATOR_LDO8 = 12, - RC5T583_REGULATOR_LDO9 = 13, - RC5T583_REGULATOR_MAX = 14, -}; - -enum { - RCD = 0, - RCH_DP = 1, - DEVICE = 2, - LD = 3, - FMLD = 4, - RP = 5, - DSP = 6, - USP = 7, -}; - -enum { - RDT_FLAG_CMT = 0, - RDT_FLAG_MBM_TOTAL = 1, - RDT_FLAG_MBM_LOCAL = 2, - RDT_FLAG_L3_CAT = 3, - RDT_FLAG_L3_CDP = 4, - RDT_FLAG_L2_CAT = 5, - RDT_FLAG_L2_CDP = 6, - RDT_FLAG_MBA = 7, - RDT_FLAG_SMBA = 8, - RDT_FLAG_BMEC = 9, -}; - -enum { - REASON_BOUNDS = -1, - REASON_TYPE = -2, - REASON_PATHS = -3, - REASON_LIMIT = -4, - REASON_STACK = -5, -}; - -enum { - REGION_INTERSECTS = 0, - REGION_DISJOINT = 1, - REGION_MIXED = 2, -}; - -enum { - REGULATOR_ERROR_CLEARED = 0, - REGULATOR_FAILED_RETRY = 1, - REGULATOR_ERROR_ON = 2, -}; - -enum { - REG_GENL_ATTR_UNSPEC = 0, - REG_GENL_ATTR_EVENT = 1, - __REG_GENL_ATTR_MAX = 2, -}; - -enum { - REG_GENL_CMD_UNSPEC = 0, - REG_GENL_CMD_EVENT = 1, - __REG_GENL_CMD_MAX = 2, -}; - -enum { - RELAY_STATS_BUF_FULL = 1, - RELAY_STATS_WRT_BIG = 2, - RELAY_STATS_LAST = 2, -}; - -enum { - REQ_FSEQ_PREFLUSH = 1, - REQ_FSEQ_DATA = 2, - REQ_FSEQ_POSTFLUSH = 4, - REQ_FSEQ_DONE = 8, - REQ_FSEQ_ACTIONS = 7, - FLUSH_PENDING_TIMEOUT = 5000, -}; - -enum { - REQ_F_FIXED_FILE = 1ULL, - REQ_F_IO_DRAIN = 2ULL, - REQ_F_LINK = 4ULL, - REQ_F_HARDLINK = 8ULL, - REQ_F_FORCE_ASYNC = 16ULL, - REQ_F_BUFFER_SELECT = 32ULL, - REQ_F_CQE_SKIP = 64ULL, - REQ_F_FAIL = 256ULL, - REQ_F_INFLIGHT = 512ULL, - REQ_F_CUR_POS = 1024ULL, - REQ_F_NOWAIT = 2048ULL, - REQ_F_LINK_TIMEOUT = 4096ULL, - REQ_F_NEED_CLEANUP = 8192ULL, - REQ_F_POLLED = 16384ULL, - REQ_F_IOPOLL_STATE = 32768ULL, - REQ_F_BUFFER_SELECTED = 65536ULL, - REQ_F_BUFFER_RING = 131072ULL, - REQ_F_REISSUE = 262144ULL, - REQ_F_SUPPORT_NOWAIT = 536870912ULL, - REQ_F_ISREG = 1073741824ULL, - REQ_F_CREDS = 524288ULL, - REQ_F_REFCOUNT = 1048576ULL, - REQ_F_ARM_LTIMEOUT = 2097152ULL, - REQ_F_ASYNC_DATA = 4194304ULL, - REQ_F_SKIP_LINK_CQES = 8388608ULL, - REQ_F_SINGLE_POLL = 16777216ULL, - REQ_F_DOUBLE_POLL = 33554432ULL, - REQ_F_MULTISHOT = 67108864ULL, - REQ_F_APOLL_MULTISHOT = 134217728ULL, - REQ_F_CLEAR_POLLIN = 268435456ULL, - REQ_F_POLL_NO_LAZY = 2147483648ULL, - REQ_F_CAN_POLL = 4294967296ULL, - REQ_F_BL_EMPTY = 8589934592ULL, - REQ_F_BL_NO_RECYCLE = 17179869184ULL, - REQ_F_BUFFERS_COMMIT = 34359738368ULL, - REQ_F_BUF_NODE = 68719476736ULL, - REQ_F_HAS_METADATA = 137438953472ULL, - REQ_F_IMPORT_BUFFER = 274877906944ULL, - REQ_F_SQE_COPIED = 549755813888ULL, -}; - -enum { - REQ_F_FIXED_FILE_BIT = 0, - REQ_F_IO_DRAIN_BIT = 1, - REQ_F_LINK_BIT = 2, - REQ_F_HARDLINK_BIT = 3, - REQ_F_FORCE_ASYNC_BIT = 4, - REQ_F_BUFFER_SELECT_BIT = 5, - REQ_F_CQE_SKIP_BIT = 6, - REQ_F_FAIL_BIT = 8, - REQ_F_INFLIGHT_BIT = 9, - REQ_F_CUR_POS_BIT = 10, - REQ_F_NOWAIT_BIT = 11, - REQ_F_LINK_TIMEOUT_BIT = 12, - REQ_F_NEED_CLEANUP_BIT = 13, - REQ_F_POLLED_BIT = 14, - REQ_F_HYBRID_IOPOLL_STATE_BIT = 15, - REQ_F_BUFFER_SELECTED_BIT = 16, - REQ_F_BUFFER_RING_BIT = 17, - REQ_F_REISSUE_BIT = 18, - REQ_F_CREDS_BIT = 19, - REQ_F_REFCOUNT_BIT = 20, - REQ_F_ARM_LTIMEOUT_BIT = 21, - REQ_F_ASYNC_DATA_BIT = 22, - REQ_F_SKIP_LINK_CQES_BIT = 23, - REQ_F_SINGLE_POLL_BIT = 24, - REQ_F_DOUBLE_POLL_BIT = 25, - REQ_F_MULTISHOT_BIT = 26, - REQ_F_APOLL_MULTISHOT_BIT = 27, - REQ_F_CLEAR_POLLIN_BIT = 28, - REQ_F_SUPPORT_NOWAIT_BIT = 29, - REQ_F_ISREG_BIT = 30, - REQ_F_POLL_NO_LAZY_BIT = 31, - REQ_F_CAN_POLL_BIT = 32, - REQ_F_BL_EMPTY_BIT = 33, - REQ_F_BL_NO_RECYCLE_BIT = 34, - REQ_F_BUFFERS_COMMIT_BIT = 35, - REQ_F_BUF_NODE_BIT = 36, - REQ_F_HAS_METADATA_BIT = 37, - REQ_F_IMPORT_BUFFER_BIT = 38, - REQ_F_SQE_COPIED_BIT = 39, - __REQ_F_LAST_BIT = 40, -}; - -enum { - RES_USAGE = 0, - RES_RSVD_USAGE = 1, - RES_LIMIT = 2, - RES_RSVD_LIMIT = 3, - RES_MAX_USAGE = 4, - RES_RSVD_MAX_USAGE = 5, - RES_FAILCNT = 6, - RES_RSVD_FAILCNT = 7, -}; - -enum { - RES_USAGE___2 = 0, - RES_LIMIT___2 = 1, - RES_MAX_USAGE___2 = 2, - RES_FAILCNT___2 = 3, - RES_SOFT_LIMIT = 4, -}; - -enum { - RNG_SEED_LENGTH = 32, -}; - -enum { - RQ_WAIT_BUSY_PCT = 5, - UNBUSY_THR_PCT = 75, - MIN_DELAY_THR_PCT = 500, - MAX_DELAY_THR_PCT = 25000, - MIN_DELAY = 250, - MAX_DELAY = 250000, - DFGV_USAGE_PCT = 50, - DFGV_PERIOD = 100000, - MAX_LAGGING_PERIODS = 10, - IOC_PAGE_SHIFT = 12, - IOC_PAGE_SIZE = 4096, - IOC_SECT_TO_PAGE_SHIFT = 3, - LCOEF_RANDIO_PAGES = 4096, -}; - -enum { - RTAX_UNSPEC = 0, - RTAX_LOCK = 1, - RTAX_MTU = 2, - RTAX_WINDOW = 3, - RTAX_RTT = 4, - RTAX_RTTVAR = 5, - RTAX_SSTHRESH = 6, - RTAX_CWND = 7, - RTAX_ADVMSS = 8, - RTAX_REORDERING = 9, - RTAX_HOPLIMIT = 10, - RTAX_INITCWND = 11, - RTAX_FEATURES = 12, - RTAX_RTO_MIN = 13, - RTAX_INITRWND = 14, - RTAX_QUICKACK = 15, - RTAX_CC_ALGO = 16, - RTAX_FASTOPEN_NO_COOKIE = 17, - __RTAX_MAX = 18, -}; - -enum { - RTM_BASE = 16, - RTM_NEWLINK = 16, - RTM_DELLINK = 17, - RTM_GETLINK = 18, - RTM_SETLINK = 19, - RTM_NEWADDR = 20, - RTM_DELADDR = 21, - RTM_GETADDR = 22, - RTM_NEWROUTE = 24, - RTM_DELROUTE = 25, - RTM_GETROUTE = 26, - RTM_NEWNEIGH = 28, - RTM_DELNEIGH = 29, - RTM_GETNEIGH = 30, - RTM_NEWRULE = 32, - RTM_DELRULE = 33, - RTM_GETRULE = 34, - RTM_NEWQDISC = 36, - RTM_DELQDISC = 37, - RTM_GETQDISC = 38, - RTM_NEWTCLASS = 40, - RTM_DELTCLASS = 41, - RTM_GETTCLASS = 42, - RTM_NEWTFILTER = 44, - RTM_DELTFILTER = 45, - RTM_GETTFILTER = 46, - RTM_NEWACTION = 48, - RTM_DELACTION = 49, - RTM_GETACTION = 50, - RTM_NEWPREFIX = 52, - RTM_NEWMULTICAST = 56, - RTM_DELMULTICAST = 57, - RTM_GETMULTICAST = 58, - RTM_NEWANYCAST = 60, - RTM_DELANYCAST = 61, - RTM_GETANYCAST = 62, - RTM_NEWNEIGHTBL = 64, - RTM_GETNEIGHTBL = 66, - RTM_SETNEIGHTBL = 67, - RTM_NEWNDUSEROPT = 68, - RTM_NEWADDRLABEL = 72, - RTM_DELADDRLABEL = 73, - RTM_GETADDRLABEL = 74, - RTM_GETDCB = 78, - RTM_SETDCB = 79, - RTM_NEWNETCONF = 80, - RTM_DELNETCONF = 81, - RTM_GETNETCONF = 82, - RTM_NEWMDB = 84, - RTM_DELMDB = 85, - RTM_GETMDB = 86, - RTM_NEWNSID = 88, - RTM_DELNSID = 89, - RTM_GETNSID = 90, - RTM_NEWSTATS = 92, - RTM_GETSTATS = 94, - RTM_SETSTATS = 95, - RTM_NEWCACHEREPORT = 96, - RTM_NEWCHAIN = 100, - RTM_DELCHAIN = 101, - RTM_GETCHAIN = 102, - RTM_NEWNEXTHOP = 104, - RTM_DELNEXTHOP = 105, - RTM_GETNEXTHOP = 106, - RTM_NEWLINKPROP = 108, - RTM_DELLINKPROP = 109, - RTM_GETLINKPROP = 110, - RTM_NEWVLAN = 112, - RTM_DELVLAN = 113, - RTM_GETVLAN = 114, - RTM_NEWNEXTHOPBUCKET = 116, - RTM_DELNEXTHOPBUCKET = 117, - RTM_GETNEXTHOPBUCKET = 118, - RTM_NEWTUNNEL = 120, - RTM_DELTUNNEL = 121, - RTM_GETTUNNEL = 122, - __RTM_MAX = 123, -}; - -enum { - RTN_UNSPEC = 0, - RTN_UNICAST = 1, - RTN_LOCAL = 2, - RTN_BROADCAST = 3, - RTN_ANYCAST = 4, - RTN_MULTICAST = 5, - RTN_BLACKHOLE = 6, - RTN_UNREACHABLE = 7, - RTN_PROHIBIT = 8, - RTN_THROW = 9, - RTN_NAT = 10, - RTN_XRESOLVE = 11, - __RTN_MAX = 12, -}; - -enum { - RWB_DEF_DEPTH = 16, - RWB_WINDOW_NSEC = 100000000, - RWB_MIN_WRITE_SAMPLES = 3, - RWB_UNKNOWN_BUMP = 5, -}; - -enum { - Root_NFS = 255, - Root_CIFS = 254, - Root_Generic = 253, - Root_RAM0 = 1048576, -}; - -enum { - S1SA = 0, - S2SA = 1, - SP = 2, - DSA = 3, - CNT = 4, - DP_OCTL = 5, - CLR = 6, - BI = 8, - MBC = 9, - BLTCTL = 10, - HES = 12, - HEB = 13, - HSB = 14, - HT = 15, - VES = 16, - VEB = 17, - VSB = 18, - VT = 19, - HCIV = 20, - VCIV = 21, - TCDR = 22, - VIL = 23, - STGCTL = 24, - SSR = 25, - HRIR = 26, - SPR = 27, - CMR = 28, - SRGCTL = 29, - RRCIV = 30, - RRSC = 31, - RRCR = 34, - GIOE = 32, - GIO = 33, - SCR = 35, - SSTATUS = 36, - PRC = 37, -}; - -enum { - SAMPLES = 8, - MIN_CHANGE = 5, -}; - -enum { - SB_UNFROZEN = 0, - SB_FREEZE_WRITE = 1, - SB_FREEZE_PAGEFAULT = 2, - SB_FREEZE_FS = 3, - SB_FREEZE_COMPLETE = 4, -}; - -enum { - SCM_TSTAMP_SND = 0, - SCM_TSTAMP_SCHED = 1, - SCM_TSTAMP_ACK = 2, - SCM_TSTAMP_COMPLETION = 3, -}; - -enum { - SCSI_DH_OK = 0, - SCSI_DH_DEV_FAILED = 1, - SCSI_DH_DEV_TEMP_BUSY = 2, - SCSI_DH_DEV_UNSUPP = 3, - SCSI_DH_DEVICE_MAX = 4, - SCSI_DH_NOTCONN = 5, - SCSI_DH_CONN_FAILURE = 6, - SCSI_DH_TRANSPORT_MAX = 7, - SCSI_DH_IO = 8, - SCSI_DH_INVALID_IO = 9, - SCSI_DH_RETRY = 10, - SCSI_DH_IMM_RETRY = 11, - SCSI_DH_TIMED_OUT = 12, - SCSI_DH_RES_TEMP_UNAVAIL = 13, - SCSI_DH_DEV_OFFLINED = 14, - SCSI_DH_NOMEM = 15, - SCSI_DH_NOSYS = 16, - SCSI_DH_DRIVER_MAX = 17, -}; - -enum { - SCTP_AUTH_HMAC_ID_RESERVED_0 = 0, - SCTP_AUTH_HMAC_ID_SHA1 = 1, - SCTP_AUTH_HMAC_ID_RESERVED_2 = 2, - SCTP_AUTH_HMAC_ID_SHA256 = 3, - __SCTP_AUTH_HMAC_MAX = 4, -}; - -enum { - SCTP_MAX_DUP_TSNS = 16, -}; - -enum { - SCTP_MAX_STREAM = 65535, -}; - -enum { - SD_BALANCE_NEWIDLE = 1, - SD_BALANCE_EXEC = 2, - SD_BALANCE_FORK = 4, - SD_BALANCE_WAKE = 8, - SD_WAKE_AFFINE = 16, - SD_ASYM_CPUCAPACITY = 32, - SD_ASYM_CPUCAPACITY_FULL = 64, - SD_SHARE_CPUCAPACITY = 128, - SD_CLUSTER = 256, - SD_SHARE_LLC = 512, - SD_SERIALIZE = 1024, - SD_ASYM_PACKING = 2048, - SD_PREFER_SIBLING = 4096, - SD_NUMA = 8192, -}; - -enum { - SD_DEF_XFER_BLOCKS = 65535, - SD_MAX_XFER_BLOCKS = 4294967295, - SD_MAX_WS10_BLOCKS = 65535, - SD_MAX_WS16_BLOCKS = 8388607, -}; - -enum { - SD_EXT_CDB_SIZE = 32, - SD_MEMPOOL_SIZE = 2, -}; - -enum { - SD_LBP_FULL = 0, - SD_LBP_UNMAP = 1, - SD_LBP_WS16 = 2, - SD_LBP_WS10 = 3, - SD_LBP_ZERO = 4, - SD_LBP_DISABLE = 5, -}; - -enum { - SD_ZERO_WRITE = 0, - SD_ZERO_WS = 1, - SD_ZERO_WS16_UNMAP = 2, - SD_ZERO_WS10_UNMAP = 3, -}; - -enum { - SEAL_keytype = 1, - SRK_keytype = 4, -}; - -enum { - SECTION_MARKED_PRESENT_BIT = 0, - SECTION_HAS_MEM_MAP_BIT = 1, - SECTION_IS_ONLINE_BIT = 2, - SECTION_IS_EARLY_BIT = 3, - SECTION_TAINT_ZONE_DEVICE_BIT = 4, - SECTION_IS_VMEMMAP_PREINIT_BIT = 5, - SECTION_MAP_LAST_BIT = 6, -}; - -enum { - SEG6_ATTR_UNSPEC = 0, - SEG6_ATTR_DST = 1, - SEG6_ATTR_DSTLEN = 2, - SEG6_ATTR_HMACKEYID = 3, - SEG6_ATTR_SECRET = 4, - SEG6_ATTR_SECRETLEN = 5, - SEG6_ATTR_ALGID = 6, - SEG6_ATTR_HMACINFO = 7, - __SEG6_ATTR_MAX = 8, -}; - -enum { - SEG6_CMD_UNSPEC = 0, - SEG6_CMD_SETHMAC = 1, - SEG6_CMD_DUMPHMAC = 2, - SEG6_CMD_SET_TUNSRC = 3, - SEG6_CMD_GET_TUNSRC = 4, - __SEG6_CMD_MAX = 5, -}; - -enum { - SEG6_HMAC_ALGO_SHA1 = 1, - SEG6_HMAC_ALGO_SHA256 = 2, -}; - -enum { - SEG6_IPTUNNEL_UNSPEC = 0, - SEG6_IPTUNNEL_SRH = 1, - __SEG6_IPTUNNEL_MAX = 2, -}; - -enum { - SEG6_IPTUN_MODE_INLINE = 0, - SEG6_IPTUN_MODE_ENCAP = 1, - SEG6_IPTUN_MODE_L2ENCAP = 2, - SEG6_IPTUN_MODE_ENCAP_RED = 3, - SEG6_IPTUN_MODE_L2ENCAP_RED = 4, -}; - -enum { - SEG6_LOCAL_ACTION_UNSPEC = 0, - SEG6_LOCAL_ACTION_END = 1, - SEG6_LOCAL_ACTION_END_X = 2, - SEG6_LOCAL_ACTION_END_T = 3, - SEG6_LOCAL_ACTION_END_DX2 = 4, - SEG6_LOCAL_ACTION_END_DX6 = 5, - SEG6_LOCAL_ACTION_END_DX4 = 6, - SEG6_LOCAL_ACTION_END_DT6 = 7, - SEG6_LOCAL_ACTION_END_DT4 = 8, - SEG6_LOCAL_ACTION_END_B6 = 9, - SEG6_LOCAL_ACTION_END_B6_ENCAP = 10, - SEG6_LOCAL_ACTION_END_BM = 11, - SEG6_LOCAL_ACTION_END_S = 12, - SEG6_LOCAL_ACTION_END_AS = 13, - SEG6_LOCAL_ACTION_END_AM = 14, - SEG6_LOCAL_ACTION_END_BPF = 15, - SEG6_LOCAL_ACTION_END_DT46 = 16, - __SEG6_LOCAL_ACTION_MAX = 17, -}; - -enum { - SEG6_LOCAL_BPF_PROG_UNSPEC = 0, - SEG6_LOCAL_BPF_PROG = 1, - SEG6_LOCAL_BPF_PROG_NAME = 2, - __SEG6_LOCAL_BPF_PROG_MAX = 3, -}; - -enum { - SEG6_LOCAL_CNT_UNSPEC = 0, - SEG6_LOCAL_CNT_PAD = 1, - SEG6_LOCAL_CNT_PACKETS = 2, - SEG6_LOCAL_CNT_BYTES = 3, - SEG6_LOCAL_CNT_ERRORS = 4, - __SEG6_LOCAL_CNT_MAX = 5, -}; - -enum { - SEG6_LOCAL_FLV_OP_UNSPEC = 0, - SEG6_LOCAL_FLV_OP_PSP = 1, - SEG6_LOCAL_FLV_OP_USP = 2, - SEG6_LOCAL_FLV_OP_USD = 3, - SEG6_LOCAL_FLV_OP_NEXT_CSID = 4, - __SEG6_LOCAL_FLV_OP_MAX = 5, -}; - -enum { - SEG6_LOCAL_FLV_UNSPEC = 0, - SEG6_LOCAL_FLV_OPERATION = 1, - SEG6_LOCAL_FLV_LCBLOCK_BITS = 2, - SEG6_LOCAL_FLV_LCNODE_FN_BITS = 3, - __SEG6_LOCAL_FLV_MAX = 4, -}; - -enum { - SEG6_LOCAL_UNSPEC = 0, - SEG6_LOCAL_ACTION = 1, - SEG6_LOCAL_SRH = 2, - SEG6_LOCAL_TABLE = 3, - SEG6_LOCAL_NH4 = 4, - SEG6_LOCAL_NH6 = 5, - SEG6_LOCAL_IIF = 6, - SEG6_LOCAL_OIF = 7, - SEG6_LOCAL_BPF = 8, - SEG6_LOCAL_VRFTABLE = 9, - SEG6_LOCAL_COUNTERS = 10, - SEG6_LOCAL_FLAVORS = 11, - __SEG6_LOCAL_MAX = 12, -}; - -enum { - SELNL_MSG_SETENFORCE = 16, - SELNL_MSG_POLICYLOAD = 17, - SELNL_MSG_MAX = 18, -}; - -enum { - SEV_RET_NO_FW_CALL = -1, - SEV_RET_SUCCESS = 0, - SEV_RET_INVALID_PLATFORM_STATE = 1, - SEV_RET_INVALID_GUEST_STATE = 2, - SEV_RET_INAVLID_CONFIG = 3, - SEV_RET_INVALID_CONFIG = 3, - SEV_RET_INVALID_LEN = 4, - SEV_RET_ALREADY_OWNED = 5, - SEV_RET_INVALID_CERTIFICATE = 6, - SEV_RET_POLICY_FAILURE = 7, - SEV_RET_INACTIVE = 8, - SEV_RET_INVALID_ADDRESS = 9, - SEV_RET_BAD_SIGNATURE = 10, - SEV_RET_BAD_MEASUREMENT = 11, - SEV_RET_ASID_OWNED = 12, - SEV_RET_INVALID_ASID = 13, - SEV_RET_WBINVD_REQUIRED = 14, - SEV_RET_DFFLUSH_REQUIRED = 15, - SEV_RET_INVALID_GUEST = 16, - SEV_RET_INVALID_COMMAND = 17, - SEV_RET_ACTIVE = 18, - SEV_RET_HWSEV_RET_PLATFORM = 19, - SEV_RET_HWSEV_RET_UNSAFE = 20, - SEV_RET_UNSUPPORTED = 21, - SEV_RET_INVALID_PARAM = 22, - SEV_RET_RESOURCE_LIMIT = 23, - SEV_RET_SECURE_DATA_INVALID = 24, - SEV_RET_INVALID_PAGE_SIZE = 25, - SEV_RET_INVALID_PAGE_STATE = 26, - SEV_RET_INVALID_MDATA_ENTRY = 27, - SEV_RET_INVALID_PAGE_OWNER = 28, - SEV_RET_AEAD_OFLOW = 29, - SEV_RET_EXIT_RING_BUFFER = 31, - SEV_RET_RMP_INIT_REQUIRED = 32, - SEV_RET_BAD_SVN = 33, - SEV_RET_BAD_VERSION = 34, - SEV_RET_SHUTDOWN_REQUIRED = 35, - SEV_RET_UPDATE_FAILED = 36, - SEV_RET_RESTORE_REQUIRED = 37, - SEV_RET_RMP_INITIALIZATION_FAILED = 38, - SEV_RET_INVALID_KEY = 39, - SEV_RET_MAX = 40, -}; - -enum { - SFF8024_ID_UNK = 0, - SFF8024_ID_SFF_8472 = 2, - SFF8024_ID_SFP = 3, - SFF8024_ID_DWDM_SFP = 11, - SFF8024_ID_QSFP_8438 = 12, - SFF8024_ID_QSFP_8436_8636 = 13, - SFF8024_ID_QSFP28_8636 = 17, - SFF8024_ID_QSFP_DD = 24, - SFF8024_ID_OSFP = 25, - SFF8024_ID_DSFP = 27, - SFF8024_ID_QSFP_PLUS_CMIS = 30, - SFF8024_ID_SFP_DD_CMIS = 31, - SFF8024_ID_SFP_PLUS_CMIS = 32, - SFF8024_ENCODING_UNSPEC = 0, - SFF8024_ENCODING_8B10B = 1, - SFF8024_ENCODING_4B5B = 2, - SFF8024_ENCODING_NRZ = 3, - SFF8024_ENCODING_8472_MANCHESTER = 4, - SFF8024_ENCODING_8472_SONET = 5, - SFF8024_ENCODING_8472_64B66B = 6, - SFF8024_ENCODING_8436_MANCHESTER = 6, - SFF8024_ENCODING_8436_SONET = 4, - SFF8024_ENCODING_8436_64B66B = 5, - SFF8024_ENCODING_256B257B = 7, - SFF8024_ENCODING_PAM4 = 8, - SFF8024_CONNECTOR_UNSPEC = 0, - SFF8024_CONNECTOR_SC = 1, - SFF8024_CONNECTOR_FIBERJACK = 6, - SFF8024_CONNECTOR_LC = 7, - SFF8024_CONNECTOR_MT_RJ = 8, - SFF8024_CONNECTOR_MU = 9, - SFF8024_CONNECTOR_SG = 10, - SFF8024_CONNECTOR_OPTICAL_PIGTAIL = 11, - SFF8024_CONNECTOR_MPO_1X12 = 12, - SFF8024_CONNECTOR_MPO_2X16 = 13, - SFF8024_CONNECTOR_HSSDC_II = 32, - SFF8024_CONNECTOR_COPPER_PIGTAIL = 33, - SFF8024_CONNECTOR_RJ45 = 34, - SFF8024_CONNECTOR_NOSEPARATE = 35, - SFF8024_CONNECTOR_MXC_2X16 = 36, - SFF8024_ECC_UNSPEC = 0, - SFF8024_ECC_100G_25GAUI_C2M_AOC = 1, - SFF8024_ECC_100GBASE_SR4_25GBASE_SR = 2, - SFF8024_ECC_100GBASE_LR4_25GBASE_LR = 3, - SFF8024_ECC_100GBASE_ER4_25GBASE_ER = 4, - SFF8024_ECC_100GBASE_SR10 = 5, - SFF8024_ECC_100GBASE_CR4 = 11, - SFF8024_ECC_25GBASE_CR_S = 12, - SFF8024_ECC_25GBASE_CR_N = 13, - SFF8024_ECC_10GBASE_T_SFI = 22, - SFF8024_ECC_10GBASE_T_SR = 28, - SFF8024_ECC_5GBASE_T = 29, - SFF8024_ECC_2_5GBASE_T = 30, -}; - -enum { - SFP_PHYS_ID = 0, - SFP_PHYS_EXT_ID = 1, - SFP_PHYS_EXT_ID_SFP = 4, - SFP_CONNECTOR = 2, - SFP_COMPLIANCE = 3, - SFP_ENCODING = 11, - SFP_BR_NOMINAL = 12, - SFP_RATE_ID = 13, - SFF_RID_8079 = 1, - SFF_RID_8431_RX_ONLY = 2, - SFF_RID_8431_TX_ONLY = 4, - SFF_RID_8431 = 6, - SFF_RID_10G8G = 14, - SFP_LINK_LEN_SM_KM = 14, - SFP_LINK_LEN_SM_100M = 15, - SFP_LINK_LEN_50UM_OM2_10M = 16, - SFP_LINK_LEN_62_5UM_OM1_10M = 17, - SFP_LINK_LEN_COPPER_1M = 18, - SFP_LINK_LEN_50UM_OM4_10M = 18, - SFP_LINK_LEN_50UM_OM3_10M = 19, - SFP_VENDOR_NAME = 20, - SFP_VENDOR_OUI = 37, - SFP_VENDOR_PN = 40, - SFP_VENDOR_REV = 56, - SFP_OPTICAL_WAVELENGTH_MSB = 60, - SFP_OPTICAL_WAVELENGTH_LSB = 61, - SFP_CABLE_SPEC = 60, - SFP_CC_BASE = 63, - SFP_OPTIONS = 64, - SFP_OPTIONS_HIGH_POWER_LEVEL = 8192, - SFP_OPTIONS_PAGING_A2 = 4096, - SFP_OPTIONS_RETIMER = 2048, - SFP_OPTIONS_COOLED_XCVR = 1024, - SFP_OPTIONS_POWER_DECL = 512, - SFP_OPTIONS_RX_LINEAR_OUT = 256, - SFP_OPTIONS_RX_DECISION_THRESH = 128, - SFP_OPTIONS_TUNABLE_TX = 64, - SFP_OPTIONS_RATE_SELECT = 32, - SFP_OPTIONS_TX_DISABLE = 16, - SFP_OPTIONS_TX_FAULT = 8, - SFP_OPTIONS_LOS_INVERTED = 4, - SFP_OPTIONS_LOS_NORMAL = 2, - SFP_BR_MAX = 66, - SFP_BR_MIN = 67, - SFP_VENDOR_SN = 68, - SFP_DATECODE = 84, - SFP_DIAGMON = 92, - SFP_DIAGMON_DDM = 64, - SFP_DIAGMON_INT_CAL = 32, - SFP_DIAGMON_EXT_CAL = 16, - SFP_DIAGMON_RXPWR_AVG = 8, - SFP_DIAGMON_ADDRMODE = 4, - SFP_ENHOPTS = 93, - SFP_ENHOPTS_ALARMWARN = 128, - SFP_ENHOPTS_SOFT_TX_DISABLE = 64, - SFP_ENHOPTS_SOFT_TX_FAULT = 32, - SFP_ENHOPTS_SOFT_RX_LOS = 16, - SFP_ENHOPTS_SOFT_RATE_SELECT = 8, - SFP_ENHOPTS_APP_SELECT_SFF8079 = 4, - SFP_ENHOPTS_SOFT_RATE_SFF8431 = 2, - SFP_SFF8472_COMPLIANCE = 94, - SFP_SFF8472_COMPLIANCE_NONE = 0, - SFP_SFF8472_COMPLIANCE_REV9_3 = 1, - SFP_SFF8472_COMPLIANCE_REV9_5 = 2, - SFP_SFF8472_COMPLIANCE_REV10_2 = 3, - SFP_SFF8472_COMPLIANCE_REV10_4 = 4, - SFP_SFF8472_COMPLIANCE_REV11_0 = 5, - SFP_SFF8472_COMPLIANCE_REV11_3 = 6, - SFP_SFF8472_COMPLIANCE_REV11_4 = 7, - SFP_SFF8472_COMPLIANCE_REV12_0 = 8, - SFP_CC_EXT = 95, -}; - -enum { - SKBFL_ZEROCOPY_ENABLE = 1, - SKBFL_SHARED_FRAG = 2, - SKBFL_PURE_ZEROCOPY = 4, - SKBFL_DONT_ORPHAN = 8, - SKBFL_MANAGED_FRAG_REFS = 16, -}; - -enum { - SKBTX_HW_TSTAMP_NOBPF = 1, - SKBTX_SW_TSTAMP = 2, - SKBTX_IN_PROGRESS = 4, - SKBTX_COMPLETION_TSTAMP = 8, - SKBTX_HW_TSTAMP_NETDEV = 32, - SKBTX_SCHED_TSTAMP = 64, - SKBTX_BPF = 128, -}; - -enum { - SKB_FCLONE_UNAVAILABLE = 0, - SKB_FCLONE_ORIG = 1, - SKB_FCLONE_CLONE = 2, -}; - -enum { - SKB_GSO_TCPV4 = 1, - SKB_GSO_DODGY = 2, - SKB_GSO_TCP_ECN = 4, - SKB_GSO_TCP_FIXEDID = 8, - SKB_GSO_TCPV6 = 16, - SKB_GSO_FCOE = 32, - SKB_GSO_GRE = 64, - SKB_GSO_GRE_CSUM = 128, - SKB_GSO_IPXIP4 = 256, - SKB_GSO_IPXIP6 = 512, - SKB_GSO_UDP_TUNNEL = 1024, - SKB_GSO_UDP_TUNNEL_CSUM = 2048, - SKB_GSO_PARTIAL = 4096, - SKB_GSO_TUNNEL_REMCSUM = 8192, - SKB_GSO_SCTP = 16384, - SKB_GSO_ESP = 32768, - SKB_GSO_UDP = 65536, - SKB_GSO_UDP_L4 = 131072, - SKB_GSO_FRAGLIST = 262144, - SKB_GSO_TCP_ACCECN = 524288, -}; - -enum { - SKCIPHER_WALK_SLOW = 1, - SKCIPHER_WALK_COPY = 2, - SKCIPHER_WALK_DIFF = 4, - SKCIPHER_WALK_SLEEP = 8, -}; - -enum { - SKX_PCI_UNCORE_IMC = 0, - SKX_PCI_UNCORE_M2M = 1, - SKX_PCI_UNCORE_UPI = 2, - SKX_PCI_UNCORE_M2PCIE = 3, - SKX_PCI_UNCORE_M3UPI = 4, -}; - -enum { - SK_BPF_CB_TX_TIMESTAMPING = 1, - SK_BPF_CB_MASK = 1, -}; - -enum { - SK_DIAG_BPF_STORAGE_NONE = 0, - SK_DIAG_BPF_STORAGE_PAD = 1, - SK_DIAG_BPF_STORAGE_MAP_ID = 2, - SK_DIAG_BPF_STORAGE_MAP_VALUE = 3, - __SK_DIAG_BPF_STORAGE_MAX = 4, -}; - -enum { - SK_DIAG_BPF_STORAGE_REP_NONE = 0, - SK_DIAG_BPF_STORAGE = 1, - __SK_DIAG_BPF_STORAGE_REP_MAX = 2, -}; - -enum { - SK_DIAG_BPF_STORAGE_REQ_NONE = 0, - SK_DIAG_BPF_STORAGE_REQ_MAP_FD = 1, - __SK_DIAG_BPF_STORAGE_REQ_MAX = 2, -}; - -enum { - SK_MEMINFO_RMEM_ALLOC = 0, - SK_MEMINFO_RCVBUF = 1, - SK_MEMINFO_WMEM_ALLOC = 2, - SK_MEMINFO_SNDBUF = 3, - SK_MEMINFO_FWD_ALLOC = 4, - SK_MEMINFO_WMEM_QUEUED = 5, - SK_MEMINFO_OPTMEM = 6, - SK_MEMINFO_BACKLOG = 7, - SK_MEMINFO_DROPS = 8, - SK_MEMINFO_VARS = 9, -}; - -enum { - SNBEP_PCI_QPI_PORT0_FILTER = 0, - SNBEP_PCI_QPI_PORT1_FILTER = 1, - BDX_PCI_QPI_PORT2_FILTER = 2, -}; - -enum { - SNBEP_PCI_UNCORE_HA = 0, - SNBEP_PCI_UNCORE_IMC = 1, - SNBEP_PCI_UNCORE_QPI = 2, - SNBEP_PCI_UNCORE_R2PCIE = 3, - SNBEP_PCI_UNCORE_R3QPI = 4, -}; - -enum { - SNB_PCI_UNCORE_IMC = 0, -}; - -enum { - SNR_PCI_UNCORE_M2M = 0, - SNR_PCI_UNCORE_PCIE3 = 1, -}; - -enum { - SNR_QAT_PMON_ID = 0, - SNR_CBDMA_DMI_PMON_ID = 1, - SNR_NIS_PMON_ID = 2, - SNR_DLB_PMON_ID = 3, - SNR_PCIE_GEN3_PMON_ID = 4, -}; - -enum { - SOCK_WAKE_IO = 0, - SOCK_WAKE_WAITD = 1, - SOCK_WAKE_SPACE = 2, - SOCK_WAKE_URG = 3, -}; - -enum { - SOF_TIMESTAMPING_TX_HARDWARE = 1, - SOF_TIMESTAMPING_TX_SOFTWARE = 2, - SOF_TIMESTAMPING_RX_HARDWARE = 4, - SOF_TIMESTAMPING_RX_SOFTWARE = 8, - SOF_TIMESTAMPING_SOFTWARE = 16, - SOF_TIMESTAMPING_SYS_HARDWARE = 32, - SOF_TIMESTAMPING_RAW_HARDWARE = 64, - SOF_TIMESTAMPING_OPT_ID = 128, - SOF_TIMESTAMPING_TX_SCHED = 256, - SOF_TIMESTAMPING_TX_ACK = 512, - SOF_TIMESTAMPING_OPT_CMSG = 1024, - SOF_TIMESTAMPING_OPT_TSONLY = 2048, - SOF_TIMESTAMPING_OPT_STATS = 4096, - SOF_TIMESTAMPING_OPT_PKTINFO = 8192, - SOF_TIMESTAMPING_OPT_TX_SWHW = 16384, - SOF_TIMESTAMPING_BIND_PHC = 32768, - SOF_TIMESTAMPING_OPT_ID_TCP = 65536, - SOF_TIMESTAMPING_OPT_RX_FILTER = 131072, - SOF_TIMESTAMPING_TX_COMPLETION = 262144, - SOF_TIMESTAMPING_LAST = 262144, - SOF_TIMESTAMPING_MASK = 524287, -}; - -enum { - SR_DMAR_FECTL_REG = 0, - SR_DMAR_FEDATA_REG = 1, - SR_DMAR_FEADDR_REG = 2, - SR_DMAR_FEUADDR_REG = 3, - MAX_SR_DMAR_REGS = 4, -}; - -enum { - SUN_WHOLE_DISK = 5, - LINUX_RAID_PARTITION___2 = 253, -}; - -enum { - SWITCHTEC_GAS_MRPC_OFFSET = 0, - SWITCHTEC_GAS_TOP_CFG_OFFSET = 4096, - SWITCHTEC_GAS_SW_EVENT_OFFSET = 6144, - SWITCHTEC_GAS_SYS_INFO_OFFSET = 8192, - SWITCHTEC_GAS_FLASH_INFO_OFFSET = 8704, - SWITCHTEC_GAS_PART_CFG_OFFSET = 16384, - SWITCHTEC_GAS_NTB_OFFSET = 65536, - SWITCHTEC_GAS_PFF_CSR_OFFSET = 1261568, -}; - -enum { - SWITCHTEC_NTB_REG_INFO_OFFSET = 0, - SWITCHTEC_NTB_REG_CTRL_OFFSET = 16384, - SWITCHTEC_NTB_REG_DBMSG_OFFSET = 409600, -}; - -enum { - SWMII_SPEED_10 = 0, - SWMII_SPEED_100 = 1, - SWMII_SPEED_1000 = 2, - SWMII_DUPLEX_HALF = 0, - SWMII_DUPLEX_FULL = 1, -}; - -enum { - SWP_USED = 1, - SWP_WRITEOK = 2, - SWP_DISCARDABLE = 4, - SWP_DISCARDING = 8, - SWP_SOLIDSTATE = 16, - SWP_CONTINUED = 32, - SWP_BLKDEV = 64, - SWP_ACTIVATED = 128, - SWP_FS_OPS = 256, - SWP_AREA_DISCARD = 512, - SWP_PAGE_DISCARD = 1024, - SWP_STABLE_WRITES = 2048, - SWP_SYNCHRONOUS_IO = 4096, -}; - -enum { - SX150X_123 = 0, - SX150X_456 = 1, - SX150X_789 = 2, -}; - -enum { - SX150X_789_REG_MISC_AUTOCLEAR_OFF = 1, - SX150X_MAX_REGISTER = 173, - SX150X_IRQ_TYPE_EDGE_RISING = 1, - SX150X_IRQ_TYPE_EDGE_FALLING = 2, - SX150X_789_RESET_KEY1 = 18, - SX150X_789_RESET_KEY2 = 52, -}; - -enum { - SYNTH_ERR_BAD_NAME = 0, - SYNTH_ERR_INVALID_CMD = 1, - SYNTH_ERR_INVALID_DYN_CMD = 2, - SYNTH_ERR_EVENT_EXISTS = 3, - SYNTH_ERR_TOO_MANY_FIELDS = 4, - SYNTH_ERR_INCOMPLETE_TYPE = 5, - SYNTH_ERR_INVALID_TYPE = 6, - SYNTH_ERR_INVALID_FIELD = 7, - SYNTH_ERR_INVALID_ARRAY_SPEC = 8, -}; - -enum { - TASKLET_STATE_SCHED = 0, - TASKLET_STATE_RUN = 1, -}; - -enum { - TASKSTATS_CMD_ATTR_UNSPEC = 0, - TASKSTATS_CMD_ATTR_PID = 1, - TASKSTATS_CMD_ATTR_TGID = 2, - TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 3, - TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 4, - __TASKSTATS_CMD_ATTR_MAX = 5, -}; - -enum { - TASKSTATS_CMD_UNSPEC = 0, - TASKSTATS_CMD_GET = 1, - TASKSTATS_CMD_NEW = 2, - __TASKSTATS_CMD_MAX = 3, -}; - -enum { - TASKSTATS_TYPE_UNSPEC = 0, - TASKSTATS_TYPE_PID = 1, - TASKSTATS_TYPE_TGID = 2, - TASKSTATS_TYPE_STATS = 3, - TASKSTATS_TYPE_AGGR_PID = 4, - TASKSTATS_TYPE_AGGR_TGID = 5, - TASKSTATS_TYPE_NULL = 6, - __TASKSTATS_TYPE_MAX = 7, -}; - -enum { - TASK_COMM_LEN = 16, -}; - -enum { - TB_SHUTDOWN_REBOOT = 0, - TB_SHUTDOWN_S5 = 1, - TB_SHUTDOWN_S4 = 2, - TB_SHUTDOWN_S3 = 3, - TB_SHUTDOWN_HALT = 4, - TB_SHUTDOWN_WFS = 5, -}; - -enum { - TCA_ACT_UNSPEC = 0, - TCA_ACT_KIND = 1, - TCA_ACT_OPTIONS = 2, - TCA_ACT_INDEX = 3, - TCA_ACT_STATS = 4, - TCA_ACT_PAD = 5, - TCA_ACT_COOKIE = 6, - TCA_ACT_FLAGS = 7, - TCA_ACT_HW_STATS = 8, - TCA_ACT_USED_HW_STATS = 9, - TCA_ACT_IN_HW_COUNT = 10, - __TCA_ACT_MAX = 11, -}; - -enum { - TCA_EMATCH_TREE_UNSPEC = 0, - TCA_EMATCH_TREE_HDR = 1, - TCA_EMATCH_TREE_LIST = 2, - __TCA_EMATCH_TREE_MAX = 3, -}; - -enum { - TCA_FLOWER_KEY_CT_FLAGS_NEW = 1, - TCA_FLOWER_KEY_CT_FLAGS_ESTABLISHED = 2, - TCA_FLOWER_KEY_CT_FLAGS_RELATED = 4, - TCA_FLOWER_KEY_CT_FLAGS_TRACKED = 8, - TCA_FLOWER_KEY_CT_FLAGS_INVALID = 16, - TCA_FLOWER_KEY_CT_FLAGS_REPLY = 32, - __TCA_FLOWER_KEY_CT_FLAGS_MAX = 33, -}; - -enum { - TCA_FLOWER_KEY_FLAGS_IS_FRAGMENT = 1, - TCA_FLOWER_KEY_FLAGS_FRAG_IS_FIRST = 2, - TCA_FLOWER_KEY_FLAGS_TUNNEL_CSUM = 4, - TCA_FLOWER_KEY_FLAGS_TUNNEL_DONT_FRAGMENT = 8, - TCA_FLOWER_KEY_FLAGS_TUNNEL_OAM = 16, - TCA_FLOWER_KEY_FLAGS_TUNNEL_CRIT_OPT = 32, - __TCA_FLOWER_KEY_FLAGS_MAX = 33, -}; - -enum { - TCA_ROOT_UNSPEC = 0, - TCA_ROOT_TAB = 1, - TCA_ROOT_FLAGS = 2, - TCA_ROOT_COUNT = 3, - TCA_ROOT_TIME_DELTA = 4, - TCA_ROOT_EXT_WARN_MSG = 5, - __TCA_ROOT_MAX = 6, -}; - -enum { - TCA_STAB_UNSPEC = 0, - TCA_STAB_BASE = 1, - TCA_STAB_DATA = 2, - __TCA_STAB_MAX = 3, -}; - -enum { - TCA_STATS_UNSPEC = 0, - TCA_STATS_BASIC = 1, - TCA_STATS_RATE_EST = 2, - TCA_STATS_QUEUE = 3, - TCA_STATS_APP = 4, - TCA_STATS_RATE_EST64 = 5, - TCA_STATS_PAD = 6, - TCA_STATS_BASIC_HW = 7, - TCA_STATS_PKT64 = 8, - __TCA_STATS_MAX = 9, -}; - -enum { - TCA_UNSPEC = 0, - TCA_KIND = 1, - TCA_OPTIONS = 2, - TCA_STATS = 3, - TCA_XSTATS = 4, - TCA_RATE = 5, - TCA_FCNT = 6, - TCA_STATS2 = 7, - TCA_STAB = 8, - TCA_PAD = 9, - TCA_DUMP_INVISIBLE = 10, - TCA_CHAIN = 11, - TCA_HW_OFFLOAD = 12, - TCA_INGRESS_BLOCK = 13, - TCA_EGRESS_BLOCK = 14, - TCA_DUMP_FLAGS = 15, - TCA_EXT_WARN_MSG = 16, - __TCA_MAX = 17, -}; - -enum { - TCG_SECP_00 = 0, - TCG_SECP_01 = 1, -}; - -enum { - TCPF_ESTABLISHED = 2, - TCPF_SYN_SENT = 4, - TCPF_SYN_RECV = 8, - TCPF_FIN_WAIT1 = 16, - TCPF_FIN_WAIT2 = 32, - TCPF_TIME_WAIT = 64, - TCPF_CLOSE = 128, - TCPF_CLOSE_WAIT = 256, - TCPF_LAST_ACK = 512, - TCPF_LISTEN = 1024, - TCPF_CLOSING = 2048, - TCPF_NEW_SYN_RECV = 4096, - TCPF_BOUND_INACTIVE = 8192, -}; - -enum { - TCP_BPF_BASE = 0, - TCP_BPF_TX = 1, - TCP_BPF_RX = 2, - TCP_BPF_TXRX = 3, - TCP_BPF_NUM_CFGS = 4, -}; - -enum { - TCP_BPF_IPV4 = 0, - TCP_BPF_IPV6 = 1, - TCP_BPF_NUM_PROTS = 2, -}; - -enum { - TCP_BPF_IW = 1001, - TCP_BPF_SNDCWND_CLAMP = 1002, - TCP_BPF_DELACK_MAX = 1003, - TCP_BPF_RTO_MIN = 1004, - TCP_BPF_SYN = 1005, - TCP_BPF_SYN_IP = 1006, - TCP_BPF_SYN_MAC = 1007, - TCP_BPF_SOCK_OPS_CB_FLAGS = 1008, - SK_BPF_CB_FLAGS = 1009, -}; - -enum { - TCP_CMSG_INQ = 1, - TCP_CMSG_TS = 2, -}; - -enum { - TCP_ESTABLISHED = 1, - TCP_SYN_SENT = 2, - TCP_SYN_RECV = 3, - TCP_FIN_WAIT1 = 4, - TCP_FIN_WAIT2 = 5, - TCP_TIME_WAIT = 6, - TCP_CLOSE = 7, - TCP_CLOSE_WAIT = 8, - TCP_LAST_ACK = 9, - TCP_LISTEN = 10, - TCP_CLOSING = 11, - TCP_NEW_SYN_RECV = 12, - TCP_BOUND_INACTIVE = 13, - TCP_MAX_STATES = 14, -}; - -enum { - TCP_FLAG_AE = 1, - TCP_FLAG_CWR = 32768, - TCP_FLAG_ECE = 16384, - TCP_FLAG_URG = 8192, - TCP_FLAG_ACK = 4096, - TCP_FLAG_PSH = 2048, - TCP_FLAG_RST = 1024, - TCP_FLAG_SYN = 512, - TCP_FLAG_FIN = 256, - TCP_RESERVED_BITS = 14, - TCP_DATA_OFFSET = 240, -}; - -enum { - TCP_METRICS_ATTR_UNSPEC = 0, - TCP_METRICS_ATTR_ADDR_IPV4 = 1, - TCP_METRICS_ATTR_ADDR_IPV6 = 2, - TCP_METRICS_ATTR_AGE = 3, - TCP_METRICS_ATTR_TW_TSVAL = 4, - TCP_METRICS_ATTR_TW_TS_STAMP = 5, - TCP_METRICS_ATTR_VALS = 6, - TCP_METRICS_ATTR_FOPEN_MSS = 7, - TCP_METRICS_ATTR_FOPEN_SYN_DROPS = 8, - TCP_METRICS_ATTR_FOPEN_SYN_DROP_TS = 9, - TCP_METRICS_ATTR_FOPEN_COOKIE = 10, - TCP_METRICS_ATTR_SADDR_IPV4 = 11, - TCP_METRICS_ATTR_SADDR_IPV6 = 12, - TCP_METRICS_ATTR_PAD = 13, - __TCP_METRICS_ATTR_MAX = 14, -}; - -enum { - TCP_METRICS_CMD_UNSPEC = 0, - TCP_METRICS_CMD_GET = 1, - TCP_METRICS_CMD_DEL = 2, - __TCP_METRICS_CMD_MAX = 3, -}; - -enum { - TCP_MIB_NUM = 0, - TCP_MIB_RTOALGORITHM = 1, - TCP_MIB_RTOMIN = 2, - TCP_MIB_RTOMAX = 3, - TCP_MIB_MAXCONN = 4, - TCP_MIB_ACTIVEOPENS = 5, - TCP_MIB_PASSIVEOPENS = 6, - TCP_MIB_ATTEMPTFAILS = 7, - TCP_MIB_ESTABRESETS = 8, - TCP_MIB_CURRESTAB = 9, - TCP_MIB_INSEGS = 10, - TCP_MIB_OUTSEGS = 11, - TCP_MIB_RETRANSSEGS = 12, - TCP_MIB_INERRS = 13, - TCP_MIB_OUTRSTS = 14, - TCP_MIB_CSUMERRORS = 15, - __TCP_MIB_MAX = 16, -}; - -enum { - TCP_NLA_PAD = 0, - TCP_NLA_BUSY = 1, - TCP_NLA_RWND_LIMITED = 2, - TCP_NLA_SNDBUF_LIMITED = 3, - TCP_NLA_DATA_SEGS_OUT = 4, - TCP_NLA_TOTAL_RETRANS = 5, - TCP_NLA_PACING_RATE = 6, - TCP_NLA_DELIVERY_RATE = 7, - TCP_NLA_SND_CWND = 8, - TCP_NLA_REORDERING = 9, - TCP_NLA_MIN_RTT = 10, - TCP_NLA_RECUR_RETRANS = 11, - TCP_NLA_DELIVERY_RATE_APP_LMT = 12, - TCP_NLA_SNDQ_SIZE = 13, - TCP_NLA_CA_STATE = 14, - TCP_NLA_SND_SSTHRESH = 15, - TCP_NLA_DELIVERED = 16, - TCP_NLA_DELIVERED_CE = 17, - TCP_NLA_BYTES_SENT = 18, - TCP_NLA_BYTES_RETRANS = 19, - TCP_NLA_DSACK_DUPS = 20, - TCP_NLA_REORD_SEEN = 21, - TCP_NLA_SRTT = 22, - TCP_NLA_TIMEOUT_REHASH = 23, - TCP_NLA_BYTES_NOTSENT = 24, - TCP_NLA_EDT = 25, - TCP_NLA_TTL = 26, - TCP_NLA_REHASH = 27, -}; - -enum { - TCP_NO_QUEUE = 0, - TCP_RECV_QUEUE = 1, - TCP_SEND_QUEUE = 2, - TCP_QUEUES_NR = 3, -}; - -enum { - TCP_V4_FLOW = 1, - UDP_V4_FLOW = 2, - SCTP_V4_FLOW = 3, - AH_ESP_V4_FLOW = 4, - TCP_V6_FLOW = 5, - UDP_V6_FLOW = 6, - SCTP_V6_FLOW = 7, - AH_ESP_V6_FLOW = 8, - AH_V4_FLOW = 9, - ESP_V4_FLOW = 10, - AH_V6_FLOW = 11, - ESP_V6_FLOW = 12, - IPV4_USER_FLOW = 13, - IP_USER_FLOW = 13, - IPV6_USER_FLOW = 14, - IPV4_FLOW = 16, - IPV6_FLOW = 17, - ETHER_FLOW = 18, - GTPU_V4_FLOW = 19, - GTPU_V6_FLOW = 20, - GTPC_V4_FLOW = 21, - GTPC_V6_FLOW = 22, - GTPC_TEID_V4_FLOW = 23, - GTPC_TEID_V6_FLOW = 24, - GTPU_EH_V4_FLOW = 25, - GTPU_EH_V6_FLOW = 26, - GTPU_UL_V4_FLOW = 27, - GTPU_UL_V6_FLOW = 28, - GTPU_DL_V4_FLOW = 29, - GTPU_DL_V6_FLOW = 30, - __FLOW_TYPE_COUNT = 31, -}; - -enum { - TEST_NONE = 0, - TEST_CORE = 1, - TEST_CPUS = 2, - TEST_PLATFORM = 3, - TEST_DEVICES = 4, - TEST_FREEZER = 5, - __TEST_AFTER_LAST = 6, -}; - -enum { - TLS_ALERT_DESC_CLOSE_NOTIFY = 0, - TLS_ALERT_DESC_UNEXPECTED_MESSAGE = 10, - TLS_ALERT_DESC_BAD_RECORD_MAC = 20, - TLS_ALERT_DESC_RECORD_OVERFLOW = 22, - TLS_ALERT_DESC_HANDSHAKE_FAILURE = 40, - TLS_ALERT_DESC_BAD_CERTIFICATE = 42, - TLS_ALERT_DESC_UNSUPPORTED_CERTIFICATE = 43, - TLS_ALERT_DESC_CERTIFICATE_REVOKED = 44, - TLS_ALERT_DESC_CERTIFICATE_EXPIRED = 45, - TLS_ALERT_DESC_CERTIFICATE_UNKNOWN = 46, - TLS_ALERT_DESC_ILLEGAL_PARAMETER = 47, - TLS_ALERT_DESC_UNKNOWN_CA = 48, - TLS_ALERT_DESC_ACCESS_DENIED = 49, - TLS_ALERT_DESC_DECODE_ERROR = 50, - TLS_ALERT_DESC_DECRYPT_ERROR = 51, - TLS_ALERT_DESC_TOO_MANY_CIDS_REQUESTED = 52, - TLS_ALERT_DESC_PROTOCOL_VERSION = 70, - TLS_ALERT_DESC_INSUFFICIENT_SECURITY = 71, - TLS_ALERT_DESC_INTERNAL_ERROR = 80, - TLS_ALERT_DESC_INAPPROPRIATE_FALLBACK = 86, - TLS_ALERT_DESC_USER_CANCELED = 90, - TLS_ALERT_DESC_MISSING_EXTENSION = 109, - TLS_ALERT_DESC_UNSUPPORTED_EXTENSION = 110, - TLS_ALERT_DESC_UNRECOGNIZED_NAME = 112, - TLS_ALERT_DESC_BAD_CERTIFICATE_STATUS_RESPONSE = 113, - TLS_ALERT_DESC_UNKNOWN_PSK_IDENTITY = 115, - TLS_ALERT_DESC_CERTIFICATE_REQUIRED = 116, - TLS_ALERT_DESC_NO_APPLICATION_PROTOCOL = 120, -}; - -enum { - TLS_ALERT_LEVEL_WARNING = 1, - TLS_ALERT_LEVEL_FATAL = 2, -}; - -enum { - TLS_NO_KEYRING = 0, - TLS_NO_PEERID = 0, - TLS_NO_CERT = 0, - TLS_NO_PRIVKEY = 0, -}; - -enum { - TLS_RECORD_TYPE_CHANGE_CIPHER_SPEC = 20, - TLS_RECORD_TYPE_ALERT = 21, - TLS_RECORD_TYPE_HANDSHAKE = 22, - TLS_RECORD_TYPE_DATA = 23, - TLS_RECORD_TYPE_HEARTBEAT = 24, - TLS_RECORD_TYPE_TLS12_CID = 25, - TLS_RECORD_TYPE_ACK = 26, -}; - -enum { - TOO_MANY_CLOSE = -1, - TOO_MANY_OPEN = -2, - MISSING_QUOTE = -3, -}; - -enum { - TPS65090_IRQ_INTERRUPT = 0, - TPS65090_IRQ_VAC_STATUS_CHANGE = 1, - TPS65090_IRQ_VSYS_STATUS_CHANGE = 2, - TPS65090_IRQ_BAT_STATUS_CHANGE = 3, - TPS65090_IRQ_CHARGING_STATUS_CHANGE = 4, - TPS65090_IRQ_CHARGING_COMPLETE = 5, - TPS65090_IRQ_OVERLOAD_DCDC1 = 6, - TPS65090_IRQ_OVERLOAD_DCDC2 = 7, - TPS65090_IRQ_OVERLOAD_DCDC3 = 8, - TPS65090_IRQ_OVERLOAD_FET1 = 9, - TPS65090_IRQ_OVERLOAD_FET2 = 10, - TPS65090_IRQ_OVERLOAD_FET3 = 11, - TPS65090_IRQ_OVERLOAD_FET4 = 12, - TPS65090_IRQ_OVERLOAD_FET5 = 13, - TPS65090_IRQ_OVERLOAD_FET6 = 14, - TPS65090_IRQ_OVERLOAD_FET7 = 15, -}; - -enum { - TPS65090_REGULATOR_DCDC1 = 0, - TPS65090_REGULATOR_DCDC2 = 1, - TPS65090_REGULATOR_DCDC3 = 2, - TPS65090_REGULATOR_FET1 = 3, - TPS65090_REGULATOR_FET2 = 4, - TPS65090_REGULATOR_FET3 = 5, - TPS65090_REGULATOR_FET4 = 6, - TPS65090_REGULATOR_FET5 = 7, - TPS65090_REGULATOR_FET6 = 8, - TPS65090_REGULATOR_FET7 = 9, - TPS65090_REGULATOR_LDO1 = 10, - TPS65090_REGULATOR_LDO2 = 11, - TPS65090_REGULATOR_MAX = 12, -}; - -enum { - TPS6586X_ID_SYS = 0, - TPS6586X_ID_SM_0 = 1, - TPS6586X_ID_SM_1 = 2, - TPS6586X_ID_SM_2 = 3, - TPS6586X_ID_LDO_0 = 4, - TPS6586X_ID_LDO_1 = 5, - TPS6586X_ID_LDO_2 = 6, - TPS6586X_ID_LDO_3 = 7, - TPS6586X_ID_LDO_4 = 8, - TPS6586X_ID_LDO_5 = 9, - TPS6586X_ID_LDO_6 = 10, - TPS6586X_ID_LDO_7 = 11, - TPS6586X_ID_LDO_8 = 12, - TPS6586X_ID_LDO_9 = 13, - TPS6586X_ID_LDO_RTC = 14, - TPS6586X_ID_MAX_REGULATOR = 15, -}; - -enum { - TPS6586X_INT_PLDO_0 = 0, - TPS6586X_INT_PLDO_1 = 1, - TPS6586X_INT_PLDO_2 = 2, - TPS6586X_INT_PLDO_3 = 3, - TPS6586X_INT_PLDO_4 = 4, - TPS6586X_INT_PLDO_5 = 5, - TPS6586X_INT_PLDO_6 = 6, - TPS6586X_INT_PLDO_7 = 7, - TPS6586X_INT_COMP_DET = 8, - TPS6586X_INT_ADC = 9, - TPS6586X_INT_PLDO_8 = 10, - TPS6586X_INT_PLDO_9 = 11, - TPS6586X_INT_PSM_0 = 12, - TPS6586X_INT_PSM_1 = 13, - TPS6586X_INT_PSM_2 = 14, - TPS6586X_INT_PSM_3 = 15, - TPS6586X_INT_RTC_ALM1 = 16, - TPS6586X_INT_ACUSB_OVP = 17, - TPS6586X_INT_USB_DET = 18, - TPS6586X_INT_AC_DET = 19, - TPS6586X_INT_BAT_DET = 20, - TPS6586X_INT_CHG_STAT = 21, - TPS6586X_INT_CHG_TEMP = 22, - TPS6586X_INT_PP = 23, - TPS6586X_INT_RESUME = 24, - TPS6586X_INT_LOW_SYS = 25, - TPS6586X_INT_RTC_ALM2 = 26, -}; - -enum { - TP_ERR_FILE_NOT_FOUND = 0, - TP_ERR_NO_REGULAR_FILE = 1, - TP_ERR_BAD_REFCNT = 2, - TP_ERR_REFCNT_OPEN_BRACE = 3, - TP_ERR_BAD_REFCNT_SUFFIX = 4, - TP_ERR_BAD_UPROBE_OFFS = 5, - TP_ERR_BAD_MAXACT_TYPE = 6, - TP_ERR_BAD_MAXACT = 7, - TP_ERR_MAXACT_TOO_BIG = 8, - TP_ERR_BAD_PROBE_ADDR = 9, - TP_ERR_NON_UNIQ_SYMBOL = 10, - TP_ERR_BAD_RETPROBE = 11, - TP_ERR_NO_TRACEPOINT = 12, - TP_ERR_BAD_TP_NAME = 13, - TP_ERR_BAD_ADDR_SUFFIX = 14, - TP_ERR_NO_GROUP_NAME = 15, - TP_ERR_GROUP_TOO_LONG = 16, - TP_ERR_BAD_GROUP_NAME = 17, - TP_ERR_NO_EVENT_NAME = 18, - TP_ERR_EVENT_TOO_LONG = 19, - TP_ERR_BAD_EVENT_NAME = 20, - TP_ERR_EVENT_EXIST = 21, - TP_ERR_RETVAL_ON_PROBE = 22, - TP_ERR_NO_RETVAL = 23, - TP_ERR_BAD_STACK_NUM = 24, - TP_ERR_BAD_ARG_NUM = 25, - TP_ERR_BAD_VAR = 26, - TP_ERR_BAD_REG_NAME = 27, - TP_ERR_BAD_MEM_ADDR = 28, - TP_ERR_BAD_IMM = 29, - TP_ERR_IMMSTR_NO_CLOSE = 30, - TP_ERR_FILE_ON_KPROBE = 31, - TP_ERR_BAD_FILE_OFFS = 32, - TP_ERR_SYM_ON_UPROBE = 33, - TP_ERR_TOO_MANY_OPS = 34, - TP_ERR_DEREF_NEED_BRACE = 35, - TP_ERR_BAD_DEREF_OFFS = 36, - TP_ERR_DEREF_OPEN_BRACE = 37, - TP_ERR_COMM_CANT_DEREF = 38, - TP_ERR_BAD_FETCH_ARG = 39, - TP_ERR_ARRAY_NO_CLOSE = 40, - TP_ERR_BAD_ARRAY_SUFFIX = 41, - TP_ERR_BAD_ARRAY_NUM = 42, - TP_ERR_ARRAY_TOO_BIG = 43, - TP_ERR_BAD_TYPE = 44, - TP_ERR_BAD_STRING = 45, - TP_ERR_BAD_SYMSTRING = 46, - TP_ERR_BAD_BITFIELD = 47, - TP_ERR_ARG_NAME_TOO_LONG = 48, - TP_ERR_NO_ARG_NAME = 49, - TP_ERR_BAD_ARG_NAME = 50, - TP_ERR_USED_ARG_NAME = 51, - TP_ERR_ARG_TOO_LONG = 52, - TP_ERR_NO_ARG_BODY = 53, - TP_ERR_BAD_INSN_BNDRY = 54, - TP_ERR_FAIL_REG_PROBE = 55, - TP_ERR_DIFF_PROBE_TYPE = 56, - TP_ERR_DIFF_ARG_TYPE = 57, - TP_ERR_SAME_PROBE = 58, - TP_ERR_NO_EVENT_INFO = 59, - TP_ERR_BAD_ATTACH_EVENT = 60, - TP_ERR_BAD_ATTACH_ARG = 61, - TP_ERR_NO_EP_FILTER = 62, - TP_ERR_NOSUP_BTFARG = 63, - TP_ERR_NO_BTFARG = 64, - TP_ERR_NO_BTF_ENTRY = 65, - TP_ERR_BAD_VAR_ARGS = 66, - TP_ERR_NOFENTRY_ARGS = 67, - TP_ERR_DOUBLE_ARGS = 68, - TP_ERR_ARGS_2LONG = 69, - TP_ERR_ARGIDX_2BIG = 70, - TP_ERR_NO_PTR_STRCT = 71, - TP_ERR_NOSUP_DAT_ARG = 72, - TP_ERR_BAD_HYPHEN = 73, - TP_ERR_NO_BTF_FIELD = 74, - TP_ERR_BAD_BTF_TID = 75, - TP_ERR_BAD_TYPE4STR = 76, - TP_ERR_NEED_STRING_TYPE = 77, - TP_ERR_TOO_MANY_ARGS = 78, - TP_ERR_TOO_MANY_EARGS = 79, -}; - -enum { - TRACEFS_EVENT_INODE = 2, - TRACEFS_GID_PERM_SET = 4, - TRACEFS_UID_PERM_SET = 8, - TRACEFS_INSTANCE_INODE = 16, -}; - -enum { - TRACE_ARRAY_FL_GLOBAL = 1, - TRACE_ARRAY_FL_BOOT = 2, - TRACE_ARRAY_FL_LAST_BOOT = 4, - TRACE_ARRAY_FL_MOD_INIT = 8, - TRACE_ARRAY_FL_MEMMAP = 16, -}; - -enum { - TRACE_CTX_NMI = 0, - TRACE_CTX_IRQ = 1, - TRACE_CTX_SOFTIRQ = 2, - TRACE_CTX_NORMAL = 3, - TRACE_CTX_TRANSITION = 4, -}; - -enum { - TRACE_EVENT_FL_CAP_ANY = 1, - TRACE_EVENT_FL_NO_SET_FILTER = 2, - TRACE_EVENT_FL_IGNORE_ENABLE = 4, - TRACE_EVENT_FL_TRACEPOINT = 8, - TRACE_EVENT_FL_DYNAMIC = 16, - TRACE_EVENT_FL_KPROBE = 32, - TRACE_EVENT_FL_UPROBE = 64, - TRACE_EVENT_FL_EPROBE = 128, - TRACE_EVENT_FL_FPROBE = 256, - TRACE_EVENT_FL_CUSTOM = 512, - TRACE_EVENT_FL_TEST_STR = 1024, -}; - -enum { - TRACE_EVENT_FL_CAP_ANY_BIT = 0, - TRACE_EVENT_FL_NO_SET_FILTER_BIT = 1, - TRACE_EVENT_FL_IGNORE_ENABLE_BIT = 2, - TRACE_EVENT_FL_TRACEPOINT_BIT = 3, - TRACE_EVENT_FL_DYNAMIC_BIT = 4, - TRACE_EVENT_FL_KPROBE_BIT = 5, - TRACE_EVENT_FL_UPROBE_BIT = 6, - TRACE_EVENT_FL_EPROBE_BIT = 7, - TRACE_EVENT_FL_FPROBE_BIT = 8, - TRACE_EVENT_FL_CUSTOM_BIT = 9, - TRACE_EVENT_FL_TEST_STR_BIT = 10, -}; - -enum { - TRACE_FTRACE_BIT = 0, - TRACE_FTRACE_NMI_BIT = 1, - TRACE_FTRACE_IRQ_BIT = 2, - TRACE_FTRACE_SIRQ_BIT = 3, - TRACE_FTRACE_TRANSITION_BIT = 4, - TRACE_INTERNAL_BIT = 5, - TRACE_INTERNAL_NMI_BIT = 6, - TRACE_INTERNAL_IRQ_BIT = 7, - TRACE_INTERNAL_SIRQ_BIT = 8, - TRACE_INTERNAL_TRANSITION_BIT = 9, - TRACE_BRANCH_BIT = 10, - TRACE_IRQ_BIT = 11, - TRACE_RECORD_RECURSION_BIT = 12, -}; - -enum { - TRACE_FUNC_NO_OPTS = 0, - TRACE_FUNC_OPT_STACK = 1, - TRACE_FUNC_OPT_NO_REPEATS = 2, - TRACE_FUNC_OPT_ARGS = 4, - TRACE_FUNC_OPT_HIGHEST_BIT = 8, -}; - -enum { - TRACE_GRAPH_FL = 1, - TRACE_GRAPH_DEPTH_START_BIT = 2, - TRACE_GRAPH_DEPTH_END_BIT = 3, - TRACE_GRAPH_NOTRACE_BIT = 4, -}; - -enum { - TRACE_NOP_OPT_ACCEPT = 1, - TRACE_NOP_OPT_REFUSE = 2, -}; - -enum { - TRACE_PIDS = 1, - TRACE_NO_PIDS = 2, -}; - -enum { - TRACE_SIGNAL_DELIVERED = 0, - TRACE_SIGNAL_IGNORED = 1, - TRACE_SIGNAL_ALREADY_PENDING = 2, - TRACE_SIGNAL_OVERFLOW_FAIL = 3, - TRACE_SIGNAL_LOSE_INFO = 4, -}; - -enum { - TVPADDRW = 0, - TVPPDATA = 4, - TVPPMASK = 8, - TVPPADRR = 12, - TVPCADRW = 16, - TVPCDATA = 20, - TVPCADRR = 28, - TVPDCCTL = 36, - TVPIDATA = 40, - TVPCRDAT = 44, - TVPCXPOL = 48, - TVPCXPOH = 52, - TVPCYPOL = 56, - TVPCYPOH = 60, -}; - -enum { - TVPIRREV = 1, - TVPIRICC = 6, - TVPIRBRC = 7, - TVPIRLAC = 15, - TVPIRTCC = 24, - TVPIRMXC = 25, - TVPIRCLS = 26, - TVPIRPPG = 28, - TVPIRGEC = 29, - TVPIRMIC = 30, - TVPIRPLA = 44, - TVPIRPPD = 45, - TVPIRMPD = 46, - TVPIRLPD = 47, - TVPIRCKL = 48, - TVPIRCKH = 49, - TVPIRCRL = 50, - TVPIRCRH = 51, - TVPIRCGL = 52, - TVPIRCGH = 53, - TVPIRCBL = 54, - TVPIRCBH = 55, - TVPIRCKC = 56, - TVPIRMLC = 57, - TVPIRSEN = 58, - TVPIRTMD = 59, - TVPIRRML = 60, - TVPIRRMM = 61, - TVPIRRMS = 62, - TVPIRDID = 63, - TVPIRRES = 255, -}; - -enum { - TYPE_MAX8998 = 0, - TYPE_LP3974 = 1, - TYPE_LP3979 = 2, -}; - -enum { - T_SHARED = 1, - T_UNBINDABLE = 2, - T_MARKED = 4, - T_UMOUNT_CANDIDATE = 8, - T_SHARED_MASK = 2, -}; - -enum { - UDP_BPF_IPV4 = 0, - UDP_BPF_IPV6 = 1, - UDP_BPF_NUM_PROTS = 2, -}; - -enum { - UDP_FLAGS_CORK = 0, - UDP_FLAGS_NO_CHECK6_TX = 1, - UDP_FLAGS_NO_CHECK6_RX = 2, - UDP_FLAGS_GRO_ENABLED = 3, - UDP_FLAGS_ACCEPT_FRAGLIST = 4, - UDP_FLAGS_ACCEPT_L4 = 5, - UDP_FLAGS_ENCAP_ENABLED = 6, - UDP_FLAGS_UDPLITE_SEND_CC = 7, - UDP_FLAGS_UDPLITE_RECV_CC = 8, -}; - -enum { - UDP_MIB_NUM = 0, - UDP_MIB_INDATAGRAMS = 1, - UDP_MIB_NOPORTS = 2, - UDP_MIB_INERRORS = 3, - UDP_MIB_OUTDATAGRAMS = 4, - UDP_MIB_RCVBUFERRORS = 5, - UDP_MIB_SNDBUFERRORS = 6, - UDP_MIB_CSUMERRORS = 7, - UDP_MIB_IGNOREDMULTI = 8, - UDP_MIB_MEMERRORS = 9, - __UDP_MIB_MAX = 10, -}; - -enum { - UNAME26 = 131072, - ADDR_NO_RANDOMIZE = 262144, - FDPIC_FUNCPTRS = 524288, - MMAP_PAGE_ZERO = 1048576, - ADDR_COMPAT_LAYOUT = 2097152, - READ_IMPLIES_EXEC = 4194304, - ADDR_LIMIT_32BIT = 8388608, - SHORT_INODE = 16777216, - WHOLE_SECONDS = 33554432, - STICKY_TIMEOUTS = 67108864, - ADDR_LIMIT_3GB = 134217728, -}; - -enum { - UNDEFINED_CAPABLE = 0, - SYSTEM_INTEL_MSR_CAPABLE = 1, - SYSTEM_AMD_MSR_CAPABLE = 2, - SYSTEM_IO_CAPABLE = 3, -}; - -enum { - UV_AFFINITY_ALL = 0, - UV_AFFINITY_NODE = 1, - UV_AFFINITY_CPU = 2, -}; - -enum { - VP_MSIX_CONFIG_VECTOR = 0, - VP_MSIX_VQ_VECTOR = 1, -}; - -enum { - VTIME_PER_SEC_SHIFT = 37ULL, - VTIME_PER_SEC = 137438953472ULL, - VTIME_PER_USEC = 137438ULL, - VTIME_PER_NSEC = 137ULL, - VRATE_MIN_PPM = 10000ULL, - VRATE_MAX_PPM = 100000000ULL, - VRATE_MIN = 1374ULL, - VRATE_CLAMP_ADJ_PCT = 4ULL, - AUTOP_CYCLE_NSEC = 10000000000ULL, -}; - -enum { - WALK_TRAILING = 1, - WALK_MORE = 2, - WALK_NOFOLLOW = 4, -}; - -enum { - WBT_RWQ_BG = 0, - WBT_RWQ_SWAP = 1, - WBT_RWQ_DISCARD = 2, - WBT_NUM_RWQ = 3, -}; - -enum { - WBT_STATE_ON_DEFAULT = 1, - WBT_STATE_ON_MANUAL = 2, - WBT_STATE_OFF_DEFAULT = 3, - WBT_STATE_OFF_MANUAL = 4, -}; - -enum { - X2APIC_OFF = 0, - X2APIC_DISABLED = 1, - X2APIC_ON = 2, - X2APIC_ON_LOCKED = 3, -}; - -enum { - X86_BR_NONE = 0, - X86_BR_USER = 1, - X86_BR_KERNEL = 2, - X86_BR_CALL = 4, - X86_BR_RET = 8, - X86_BR_SYSCALL = 16, - X86_BR_SYSRET = 32, - X86_BR_INT = 64, - X86_BR_IRET = 128, - X86_BR_JCC = 256, - X86_BR_JMP = 512, - X86_BR_IRQ = 1024, - X86_BR_IND_CALL = 2048, - X86_BR_ABORT = 4096, - X86_BR_IN_TX = 8192, - X86_BR_NO_TX = 16384, - X86_BR_ZERO_CALL = 32768, - X86_BR_CALL_STACK = 65536, - X86_BR_IND_JMP = 131072, - X86_BR_TYPE_SAVE = 262144, -}; - -enum { - X86_IRQ_ALLOC_LEGACY = 1, -}; - -enum { - X86_PERF_KFREE_SHARED = 0, - X86_PERF_KFREE_EXCL = 1, - X86_PERF_KFREE_MAX = 2, -}; - -enum { - XA_CHECK_SCHED = 4096, -}; - -enum { - XDP_ATTACHED_NONE = 0, - XDP_ATTACHED_DRV = 1, - XDP_ATTACHED_SKB = 2, - XDP_ATTACHED_HW = 3, - XDP_ATTACHED_MULTI = 4, -}; - -enum { - XFRM_DEV_OFFLOAD_FLAG_ACQ = 1, -}; - -enum { - XFRM_DEV_OFFLOAD_IN = 1, - XFRM_DEV_OFFLOAD_OUT = 2, - XFRM_DEV_OFFLOAD_FWD = 3, -}; - -enum { - XFRM_DEV_OFFLOAD_UNSPECIFIED = 0, - XFRM_DEV_OFFLOAD_CRYPTO = 1, - XFRM_DEV_OFFLOAD_PACKET = 2, -}; - -enum { - XFRM_LOOKUP_ICMP = 1, - XFRM_LOOKUP_QUEUE = 2, - XFRM_LOOKUP_KEEP_DST_REF = 4, -}; - -enum { - XFRM_MODE_FLAG_TUNNEL = 1, -}; - -enum { - XFRM_MSG_BASE = 16, - XFRM_MSG_NEWSA = 16, - XFRM_MSG_DELSA = 17, - XFRM_MSG_GETSA = 18, - XFRM_MSG_NEWPOLICY = 19, - XFRM_MSG_DELPOLICY = 20, - XFRM_MSG_GETPOLICY = 21, - XFRM_MSG_ALLOCSPI = 22, - XFRM_MSG_ACQUIRE = 23, - XFRM_MSG_EXPIRE = 24, - XFRM_MSG_UPDPOLICY = 25, - XFRM_MSG_UPDSA = 26, - XFRM_MSG_POLEXPIRE = 27, - XFRM_MSG_FLUSHSA = 28, - XFRM_MSG_FLUSHPOLICY = 29, - XFRM_MSG_NEWAE = 30, - XFRM_MSG_GETAE = 31, - XFRM_MSG_REPORT = 32, - XFRM_MSG_MIGRATE = 33, - XFRM_MSG_NEWSADINFO = 34, - XFRM_MSG_GETSADINFO = 35, - XFRM_MSG_NEWSPDINFO = 36, - XFRM_MSG_GETSPDINFO = 37, - XFRM_MSG_MAPPING = 38, - XFRM_MSG_SETDEFAULT = 39, - XFRM_MSG_GETDEFAULT = 40, - __XFRM_MSG_MAX = 41, -}; - -enum { - XFRM_POLICY_IN = 0, - XFRM_POLICY_OUT = 1, - XFRM_POLICY_FWD = 2, - XFRM_POLICY_MASK = 3, - XFRM_POLICY_MAX = 3, -}; - -enum { - XFRM_POLICY_TYPE_MAIN = 0, - XFRM_POLICY_TYPE_SUB = 1, - XFRM_POLICY_TYPE_MAX = 2, - XFRM_POLICY_TYPE_ANY = 255, -}; - -enum { - XFRM_STATE_VOID = 0, - XFRM_STATE_ACQ = 1, - XFRM_STATE_VALID = 2, - XFRM_STATE_ERROR = 3, - XFRM_STATE_EXPIRED = 4, - XFRM_STATE_DEAD = 5, -}; - -enum { - ZONELIST_FALLBACK = 0, - ZONELIST_NOFALLBACK = 1, - MAX_ZONELISTS = 2, -}; - -enum { - ZSTDbss_compress = 0, - ZSTDbss_noCompress = 1, -}; - -enum { - _DQUOT_USAGE_ENABLED = 0, - _DQUOT_LIMITS_ENABLED = 1, - _DQUOT_SUSPENDED = 2, - _DQUOT_STATE_FLAGS = 3, -}; - -enum { - _IRQ_DEFAULT_INIT_FLAGS = 0, - _IRQ_PER_CPU = 512, - _IRQ_LEVEL = 256, - _IRQ_NOPROBE = 1024, - _IRQ_NOREQUEST = 2048, - _IRQ_NOTHREAD = 65536, - _IRQ_NOAUTOEN = 4096, - _IRQ_NO_BALANCING = 8192, - _IRQ_NESTED_THREAD = 32768, - _IRQ_PER_CPU_DEVID = 131072, - _IRQ_IS_POLLED = 262144, - _IRQ_DISABLE_UNLAZY = 524288, - _IRQ_HIDDEN = 1048576, - _IRQ_NO_DEBUG = 2097152, - _IRQF_MODIFY_MASK = 2080527, -}; - -enum { - __IOAM6_IPTUNNEL_MODE_MIN = 0, - IOAM6_IPTUNNEL_MODE_INLINE = 1, - IOAM6_IPTUNNEL_MODE_ENCAP = 2, - IOAM6_IPTUNNEL_MODE_AUTO = 3, - __IOAM6_IPTUNNEL_MODE_MAX = 4, -}; - -enum { - __ND_OPT_PREFIX_INFO_END = 0, - ND_OPT_SOURCE_LL_ADDR = 1, - ND_OPT_TARGET_LL_ADDR = 2, - ND_OPT_PREFIX_INFO = 3, - ND_OPT_REDIRECT_HDR = 4, - ND_OPT_MTU = 5, - ND_OPT_NONCE = 14, - __ND_OPT_ARRAY_MAX = 15, - ND_OPT_ROUTE_INFO = 24, - ND_OPT_RDNSS = 25, - ND_OPT_DNSSL = 31, - ND_OPT_6CO = 34, - ND_OPT_CAPTIVE_PORTAL = 37, - ND_OPT_PREF64 = 38, - __ND_OPT_MAX = 39, -}; - -enum { - __PERCPU_REF_ATOMIC = 1, - __PERCPU_REF_DEAD = 2, - __PERCPU_REF_ATOMIC_DEAD = 3, - __PERCPU_REF_FLAG_BITS = 2, -}; - -enum { - __SCHED_FEAT_PLACE_LAG = 0, - __SCHED_FEAT_PLACE_DEADLINE_INITIAL = 1, - __SCHED_FEAT_PLACE_REL_DEADLINE = 2, - __SCHED_FEAT_RUN_TO_PARITY = 3, - __SCHED_FEAT_PREEMPT_SHORT = 4, - __SCHED_FEAT_NEXT_BUDDY = 5, - __SCHED_FEAT_PICK_BUDDY = 6, - __SCHED_FEAT_CACHE_HOT_BUDDY = 7, - __SCHED_FEAT_DELAY_DEQUEUE = 8, - __SCHED_FEAT_DELAY_ZERO = 9, - __SCHED_FEAT_WAKEUP_PREEMPTION = 10, - __SCHED_FEAT_HRTICK = 11, - __SCHED_FEAT_HRTICK_DL = 12, - __SCHED_FEAT_NONTASK_CAPACITY = 13, - __SCHED_FEAT_TTWU_QUEUE = 14, - __SCHED_FEAT_SIS_UTIL = 15, - __SCHED_FEAT_WARN_DOUBLE_CLOCK = 16, - __SCHED_FEAT_RT_PUSH_IPI = 17, - __SCHED_FEAT_RT_RUNTIME_SHARE = 18, - __SCHED_FEAT_LB_MIN = 19, - __SCHED_FEAT_ATTACH_AGE_LOAD = 20, - __SCHED_FEAT_WA_IDLE = 21, - __SCHED_FEAT_WA_WEIGHT = 22, - __SCHED_FEAT_WA_BIAS = 23, - __SCHED_FEAT_UTIL_EST = 24, - __SCHED_FEAT_LATENCY_WARN = 25, - __SCHED_FEAT_NI_RANDOM = 26, - __SCHED_FEAT_NR = 27, -}; - -enum { - __SD_BALANCE_NEWIDLE = 0, - __SD_BALANCE_EXEC = 1, - __SD_BALANCE_FORK = 2, - __SD_BALANCE_WAKE = 3, - __SD_WAKE_AFFINE = 4, - __SD_ASYM_CPUCAPACITY = 5, - __SD_ASYM_CPUCAPACITY_FULL = 6, - __SD_SHARE_CPUCAPACITY = 7, - __SD_CLUSTER = 8, - __SD_SHARE_LLC = 9, - __SD_SERIALIZE = 10, - __SD_ASYM_PACKING = 11, - __SD_PREFER_SIBLING = 12, - __SD_NUMA = 13, - __SD_FLAG_CNT = 14, -}; - -enum { - ___GFP_DMA_BIT = 0, - ___GFP_HIGHMEM_BIT = 1, - ___GFP_DMA32_BIT = 2, - ___GFP_MOVABLE_BIT = 3, - ___GFP_RECLAIMABLE_BIT = 4, - ___GFP_HIGH_BIT = 5, - ___GFP_IO_BIT = 6, - ___GFP_FS_BIT = 7, - ___GFP_ZERO_BIT = 8, - ___GFP_UNUSED_BIT = 9, - ___GFP_DIRECT_RECLAIM_BIT = 10, - ___GFP_KSWAPD_RECLAIM_BIT = 11, - ___GFP_WRITE_BIT = 12, - ___GFP_NOWARN_BIT = 13, - ___GFP_RETRY_MAYFAIL_BIT = 14, - ___GFP_NOFAIL_BIT = 15, - ___GFP_NORETRY_BIT = 16, - ___GFP_MEMALLOC_BIT = 17, - ___GFP_COMP_BIT = 18, - ___GFP_NOMEMALLOC_BIT = 19, - ___GFP_HARDWALL_BIT = 20, - ___GFP_THISNODE_BIT = 21, - ___GFP_ACCOUNT_BIT = 22, - ___GFP_ZEROTAGS_BIT = 23, - ___GFP_NO_OBJ_EXT_BIT = 24, - ___GFP_LAST_BIT = 25, -}; - -enum { - __ctx_convertBPF_PROG_TYPE_SOCKET_FILTER = 0, - __ctx_convertBPF_PROG_TYPE_SCHED_CLS = 1, - __ctx_convertBPF_PROG_TYPE_SCHED_ACT = 2, - __ctx_convertBPF_PROG_TYPE_XDP = 3, - __ctx_convertBPF_PROG_TYPE_CGROUP_SKB = 4, - __ctx_convertBPF_PROG_TYPE_CGROUP_SOCK = 5, - __ctx_convertBPF_PROG_TYPE_CGROUP_SOCK_ADDR = 6, - __ctx_convertBPF_PROG_TYPE_LWT_IN = 7, - __ctx_convertBPF_PROG_TYPE_LWT_OUT = 8, - __ctx_convertBPF_PROG_TYPE_LWT_XMIT = 9, - __ctx_convertBPF_PROG_TYPE_LWT_SEG6LOCAL = 10, - __ctx_convertBPF_PROG_TYPE_SOCK_OPS = 11, - __ctx_convertBPF_PROG_TYPE_SK_SKB = 12, - __ctx_convertBPF_PROG_TYPE_SK_MSG = 13, - __ctx_convertBPF_PROG_TYPE_FLOW_DISSECTOR = 14, - __ctx_convertBPF_PROG_TYPE_KPROBE = 15, - __ctx_convertBPF_PROG_TYPE_TRACEPOINT = 16, - __ctx_convertBPF_PROG_TYPE_PERF_EVENT = 17, - __ctx_convertBPF_PROG_TYPE_RAW_TRACEPOINT = 18, - __ctx_convertBPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE = 19, - __ctx_convertBPF_PROG_TYPE_TRACING = 20, - __ctx_convertBPF_PROG_TYPE_CGROUP_DEVICE = 21, - __ctx_convertBPF_PROG_TYPE_CGROUP_SYSCTL = 22, - __ctx_convertBPF_PROG_TYPE_CGROUP_SOCKOPT = 23, - __ctx_convertBPF_PROG_TYPE_SK_REUSEPORT = 24, - __ctx_convertBPF_PROG_TYPE_SK_LOOKUP = 25, - __ctx_convertBPF_PROG_TYPE_STRUCT_OPS = 26, - __ctx_convertBPF_PROG_TYPE_EXT = 27, - __ctx_convertBPF_PROG_TYPE_LSM = 28, - __ctx_convertBPF_PROG_TYPE_SYSCALL = 29, - __ctx_convertBPF_PROG_TYPE_NETFILTER = 30, - __ctx_convert_unused = 31, -}; - -enum { - arg_AL = 0, - arg_CL = 1, - arg_DL = 2, - arg_BL = 3, - arg_AH = 4, - arg_CH = 5, - arg_DH = 6, - arg_BH = 7, - arg_AX = 0, - arg_CX = 1, - arg_DX = 2, - arg_BX = 3, - arg_SP = 4, - arg_BP = 5, - arg_SI = 6, - arg_DI = 7, - arg_R8 = 8, - arg_R9 = 9, - arg_R10 = 10, - arg_R11 = 11, - arg_R12 = 12, - arg_R13 = 13, - arg_R14 = 14, - arg_R15 = 15, -}; - -enum { - attr_noop = 0, - attr_delayed_allocation_blocks = 1, - attr_session_write_kbytes = 2, - attr_lifetime_write_kbytes = 3, - attr_reserved_clusters = 4, - attr_sra_exceeded_retry_limit = 5, - attr_inode_readahead = 6, - attr_trigger_test_error = 7, - attr_first_error_time = 8, - attr_last_error_time = 9, - attr_clusters_in_group = 10, - attr_mb_order = 11, - attr_feature = 12, - attr_pointer_pi = 13, - attr_pointer_ui = 14, - attr_pointer_ul = 15, - attr_pointer_u64 = 16, - attr_pointer_u8 = 17, - attr_pointer_string = 18, - attr_pointer_atomic = 19, - attr_journal_task = 20, -}; - -enum { - blank_off = 0, - blank_normal_wait = 1, - blank_vesa_wait = 2, -}; - -enum { - cpuset = 0, - possible = 1, - fail = 2, -}; - -enum { - dns_key_data = 0, - dns_key_error = 1, -}; - -enum { - false = 0, - true = 1, -}; - -enum { - mechtype_caddy = 0, - mechtype_tray = 1, - mechtype_popup = 2, - mechtype_individual_changer = 4, - mechtype_cartridge_changer = 5, -}; - -enum { - ncsi_dev_state_major = 65280, - ncsi_dev_state_minor = 255, - ncsi_dev_state_probe_deselect = 513, - ncsi_dev_state_probe_package = 514, - ncsi_dev_state_probe_channel = 515, - ncsi_dev_state_probe_mlx_gma = 516, - ncsi_dev_state_probe_mlx_smaf = 517, - ncsi_dev_state_probe_cis = 518, - ncsi_dev_state_probe_keep_phy = 519, - ncsi_dev_state_probe_gvi = 520, - ncsi_dev_state_probe_gc = 521, - ncsi_dev_state_probe_gls = 522, - ncsi_dev_state_probe_dp = 523, - ncsi_dev_state_config_sp = 769, - ncsi_dev_state_config_cis = 770, - ncsi_dev_state_config_oem_gma = 771, - ncsi_dev_state_config_apply_mac = 772, - ncsi_dev_state_config_clear_vids = 773, - ncsi_dev_state_config_svf = 774, - ncsi_dev_state_config_ev = 775, - ncsi_dev_state_config_sma = 776, - ncsi_dev_state_config_ebf = 777, - ncsi_dev_state_config_dgmf = 778, - ncsi_dev_state_config_ecnt = 779, - ncsi_dev_state_config_ec = 780, - ncsi_dev_state_config_ae = 781, - ncsi_dev_state_config_gls = 782, - ncsi_dev_state_config_done = 783, - ncsi_dev_state_suspend_select = 1025, - ncsi_dev_state_suspend_gls = 1026, - ncsi_dev_state_suspend_dcnt = 1027, - ncsi_dev_state_suspend_dc = 1028, - ncsi_dev_state_suspend_deselect = 1029, - ncsi_dev_state_suspend_done = 1030, -}; - -enum { - ncsi_dev_state_registered = 0, - ncsi_dev_state_functional = 256, - ncsi_dev_state_probe = 512, - ncsi_dev_state_config = 768, - ncsi_dev_state_suspend = 1024, -}; - -enum { - none = 0, - day = 1, - month = 2, - year = 3, -}; - -enum { - pci_channel_io_normal = 1, - pci_channel_io_frozen = 2, - pci_channel_io_perm_failure = 3, -}; - -enum { - preempt_dynamic_undefined = -1, - preempt_dynamic_none = 0, - preempt_dynamic_voluntary = 1, - preempt_dynamic_full = 2, - preempt_dynamic_lazy = 3, -}; - -enum { - ptr_explicit = 0, - ptr_ext4_sb_info_offset = 1, - ptr_ext4_super_block_offset = 2, -}; - -enum { - st_wordstart = 0, - st_wordcmp = 1, - st_wordskip = 2, - st_bufcpy = 3, -}; - -enum { - st_wordstart___2 = 0, - st_wordcmp___2 = 1, - st_wordskip___2 = 2, -}; - -enum { - type_kind_int = 0, - type_kind_float = 1, - type_unknown = 65535, -}; - -enum { - x86_lbr_exclusive_lbr = 0, - x86_lbr_exclusive_bts = 1, - x86_lbr_exclusive_pt = 2, - x86_lbr_exclusive_max = 3, -}; - -typedef enum { - BIT_DStream_unfinished = 0, - BIT_DStream_endOfBuffer = 1, - BIT_DStream_completed = 2, - BIT_DStream_overflow = 3, -} BIT_DStream_status; - -typedef enum { - ZSTD_error_no_error = 0, - ZSTD_error_GENERIC = 1, - ZSTD_error_prefix_unknown = 10, - ZSTD_error_version_unsupported = 12, - ZSTD_error_frameParameter_unsupported = 14, - ZSTD_error_frameParameter_windowTooLarge = 16, - ZSTD_error_corruption_detected = 20, - ZSTD_error_checksum_wrong = 22, - ZSTD_error_literals_headerWrong = 24, - ZSTD_error_dictionary_corrupted = 30, - ZSTD_error_dictionary_wrong = 32, - ZSTD_error_dictionaryCreation_failed = 34, - ZSTD_error_parameter_unsupported = 40, - ZSTD_error_parameter_combination_unsupported = 41, - ZSTD_error_parameter_outOfBound = 42, - ZSTD_error_tableLog_tooLarge = 44, - ZSTD_error_maxSymbolValue_tooLarge = 46, - ZSTD_error_maxSymbolValue_tooSmall = 48, - ZSTD_error_cannotProduce_uncompressedBlock = 49, - ZSTD_error_stabilityCondition_notRespected = 50, - ZSTD_error_stage_wrong = 60, - ZSTD_error_init_missing = 62, - ZSTD_error_memory_allocation = 64, - ZSTD_error_workSpace_tooSmall = 66, - ZSTD_error_dstSize_tooSmall = 70, - ZSTD_error_srcSize_wrong = 72, - ZSTD_error_dstBuffer_null = 74, - ZSTD_error_noForwardProgress_destFull = 80, - ZSTD_error_noForwardProgress_inputEmpty = 82, - ZSTD_error_frameIndex_tooLarge = 100, - ZSTD_error_seekableIO = 102, - ZSTD_error_dstBuffer_wrong = 104, - ZSTD_error_srcBuffer_wrong = 105, - ZSTD_error_sequenceProducer_failed = 106, - ZSTD_error_externalSequences_invalid = 107, - ZSTD_error_maxCode = 120, -} ZSTD_ErrorCode; - -typedef ZSTD_ErrorCode ERR_enum; - -typedef enum { - FSE_repeat_none = 0, - FSE_repeat_check = 1, - FSE_repeat_valid = 2, -} FSE_repeat; - -typedef enum { - trustInput = 0, - checkMaxSymbolValue = 1, -} HIST_checkInput_e; - -typedef enum { - HUF_singleStream = 0, - HUF_fourStreams = 1, -} HUF_nbStreams_e; - -typedef enum { - HUF_repeat_none = 0, - HUF_repeat_check = 1, - HUF_repeat_valid = 2, -} HUF_repeat; - -typedef enum { - set_basic = 0, - set_rle = 1, - set_compressed = 2, - set_repeat = 3, -} SymbolEncodingType_e; - -typedef enum { - ZSTD_cpm_noAttachDict = 0, - ZSTD_cpm_attachDict = 1, - ZSTD_cpm_createCDict = 2, - ZSTD_cpm_unknown = 3, -} ZSTD_CParamMode_e; - -typedef enum { - ZSTD_defaultDisallowed = 0, - ZSTD_defaultAllowed = 1, -} ZSTD_DefaultPolicy_e; - -typedef enum { - ZSTD_e_continue = 0, - ZSTD_e_flush = 1, - ZSTD_e_end = 2, -} ZSTD_EndDirective; - -typedef enum { - ZSTD_frame = 0, - ZSTD_skippableFrame = 1, -} ZSTD_FrameType_e; - -typedef enum { - zop_dynamic = 0, - zop_predef = 1, -} ZSTD_OptPrice_e; - -typedef enum { - ZSTD_ps_auto = 0, - ZSTD_ps_enable = 1, - ZSTD_ps_disable = 2, -} ZSTD_ParamSwitch_e; - -typedef enum { - ZSTD_reset_session_only = 1, - ZSTD_reset_parameters = 2, - ZSTD_reset_session_and_parameters = 3, -} ZSTD_ResetDirective; - -typedef enum { - ZSTD_sf_noBlockDelimiters = 0, - ZSTD_sf_explicitBlockDelimiters = 1, -} ZSTD_SequenceFormat_e; - -typedef enum { - ZSTD_bm_buffered = 0, - ZSTD_bm_stable = 1, -} ZSTD_bufferMode_e; - -typedef enum { - ZSTDb_not_buffered = 0, - ZSTDb_buffered = 1, -} ZSTD_buffered_policy_e; - -typedef enum { - ZSTD_c_compressionLevel = 100, - ZSTD_c_windowLog = 101, - ZSTD_c_hashLog = 102, - ZSTD_c_chainLog = 103, - ZSTD_c_searchLog = 104, - ZSTD_c_minMatch = 105, - ZSTD_c_targetLength = 106, - ZSTD_c_strategy = 107, - ZSTD_c_targetCBlockSize = 130, - ZSTD_c_enableLongDistanceMatching = 160, - ZSTD_c_ldmHashLog = 161, - ZSTD_c_ldmMinMatch = 162, - ZSTD_c_ldmBucketSizeLog = 163, - ZSTD_c_ldmHashRateLog = 164, - ZSTD_c_contentSizeFlag = 200, - ZSTD_c_checksumFlag = 201, - ZSTD_c_dictIDFlag = 202, - ZSTD_c_nbWorkers = 400, - ZSTD_c_jobSize = 401, - ZSTD_c_overlapLog = 402, - ZSTD_c_experimentalParam1 = 500, - ZSTD_c_experimentalParam2 = 10, - ZSTD_c_experimentalParam3 = 1000, - ZSTD_c_experimentalParam4 = 1001, - ZSTD_c_experimentalParam5 = 1002, - ZSTD_c_experimentalParam7 = 1004, - ZSTD_c_experimentalParam8 = 1005, - ZSTD_c_experimentalParam9 = 1006, - ZSTD_c_experimentalParam10 = 1007, - ZSTD_c_experimentalParam11 = 1008, - ZSTD_c_experimentalParam12 = 1009, - ZSTD_c_experimentalParam13 = 1010, - ZSTD_c_experimentalParam14 = 1011, - ZSTD_c_experimentalParam15 = 1012, - ZSTD_c_experimentalParam16 = 1013, - ZSTD_c_experimentalParam17 = 1014, - ZSTD_c_experimentalParam18 = 1015, - ZSTD_c_experimentalParam19 = 1016, - ZSTD_c_experimentalParam20 = 1017, -} ZSTD_cParameter; - -typedef enum { - zcss_init = 0, - zcss_load = 1, - zcss_flush = 2, -} ZSTD_cStreamStage; - -typedef enum { - ZSTDcrp_makeClean = 0, - ZSTDcrp_leaveDirty = 1, -} ZSTD_compResetPolicy_e; - -typedef enum { - ZSTDcs_created = 0, - ZSTDcs_init = 1, - ZSTDcs_ongoing = 2, - ZSTDcs_ending = 3, -} ZSTD_compressionStage_e; - -typedef enum { - ZSTD_cwksp_alloc_objects = 0, - ZSTD_cwksp_alloc_aligned_init_once = 1, - ZSTD_cwksp_alloc_aligned = 2, - ZSTD_cwksp_alloc_buffers = 3, -} ZSTD_cwksp_alloc_phase_e; - -typedef enum { - ZSTD_cwksp_dynamic_alloc = 0, - ZSTD_cwksp_static_alloc = 1, -} ZSTD_cwksp_static_alloc_e; - -typedef enum { - ZSTD_d_windowLogMax = 100, - ZSTD_d_experimentalParam1 = 1000, - ZSTD_d_experimentalParam2 = 1001, - ZSTD_d_experimentalParam3 = 1002, - ZSTD_d_experimentalParam4 = 1003, - ZSTD_d_experimentalParam5 = 1004, - ZSTD_d_experimentalParam6 = 1005, -} ZSTD_dParameter; - -typedef enum { - ZSTDds_getFrameHeaderSize = 0, - ZSTDds_decodeFrameHeader = 1, - ZSTDds_decodeBlockHeader = 2, - ZSTDds_decompressBlock = 3, - ZSTDds_decompressLastBlock = 4, - ZSTDds_checkChecksum = 5, - ZSTDds_decodeSkippableHeader = 6, - ZSTDds_skipFrame = 7, -} ZSTD_dStage; - -typedef enum { - zdss_init = 0, - zdss_loadHeader = 1, - zdss_read = 2, - zdss_load = 3, - zdss_flush = 4, -} ZSTD_dStreamStage; - -typedef enum { - ZSTD_dictDefaultAttach = 0, - ZSTD_dictForceAttach = 1, - ZSTD_dictForceCopy = 2, - ZSTD_dictForceLoad = 3, -} ZSTD_dictAttachPref_e; - -typedef enum { - ZSTD_dct_auto = 0, - ZSTD_dct_rawContent = 1, - ZSTD_dct_fullDict = 2, -} ZSTD_dictContentType_e; - -typedef enum { - ZSTD_dlm_byCopy = 0, - ZSTD_dlm_byRef = 1, -} ZSTD_dictLoadMethod_e; - -typedef enum { - ZSTD_noDict = 0, - ZSTD_extDict = 1, - ZSTD_dictMatchState = 2, - ZSTD_dedicatedDictSearch = 3, -} ZSTD_dictMode_e; - -typedef enum { - ZSTD_dtlm_fast = 0, - ZSTD_dtlm_full = 1, -} ZSTD_dictTableLoadMethod_e; - -typedef enum { - ZSTD_use_indefinitely = -1, - ZSTD_dont_use = 0, - ZSTD_use_once = 1, -} ZSTD_dictUses_e; - -typedef enum { - ZSTD_d_validateChecksum = 0, - ZSTD_d_ignoreChecksum = 1, -} ZSTD_forceIgnoreChecksum_e; - -typedef enum { - ZSTD_f_zstd1 = 0, - ZSTD_f_zstd1_magicless = 1, -} ZSTD_format_e; - -typedef enum { - ZSTDirp_continue = 0, - ZSTDirp_reset = 1, -} ZSTD_indexResetPolicy_e; - -typedef enum { - ZSTD_not_in_dst = 0, - ZSTD_in_dst = 1, - ZSTD_split = 2, -} ZSTD_litLocation_e; - -typedef enum { - ZSTD_llt_none = 0, - ZSTD_llt_literalLength = 1, - ZSTD_llt_matchLength = 2, -} ZSTD_longLengthType_e; - -typedef enum { - ZSTD_lo_isRegularOffset = 0, - ZSTD_lo_isLongOffset = 1, -} ZSTD_longOffset_e; - -typedef enum { - ZSTDnit_frameHeader = 0, - ZSTDnit_blockHeader = 1, - ZSTDnit_block = 2, - ZSTDnit_lastBlock = 3, - ZSTDnit_checksum = 4, - ZSTDnit_skippableFrame = 5, -} ZSTD_nextInputType_e; - -typedef enum { - ZSTD_no_overlap = 0, - ZSTD_overlap_src_before_dst = 1, -} ZSTD_overlap_e; - -typedef enum { - ZSTD_rmd_refSingleDDict = 0, - ZSTD_rmd_refMultipleDDicts = 1, -} ZSTD_refMultipleDDicts_e; - -typedef enum { - ZSTD_resetTarget_CDict = 0, - ZSTD_resetTarget_CCtx = 1, -} ZSTD_resetTarget_e; - -typedef enum { - ZSTD_fast = 1, - ZSTD_dfast = 2, - ZSTD_greedy = 3, - ZSTD_lazy = 4, - ZSTD_lazy2 = 5, - ZSTD_btlazy2 = 6, - ZSTD_btopt = 7, - ZSTD_btultra = 8, - ZSTD_btultra2 = 9, -} ZSTD_strategy; - -typedef enum { - ZSTD_tfp_forCCtx = 0, - ZSTD_tfp_forCDict = 1, -} ZSTD_tableFillPurpose_e; - -typedef enum { - OSL_GLOBAL_LOCK_HANDLER = 0, - OSL_NOTIFY_HANDLER = 1, - OSL_GPE_HANDLER = 2, - OSL_DEBUGGER_MAIN_THREAD = 3, - OSL_DEBUGGER_EXEC_THREAD = 4, - OSL_EC_POLL_HANDLER = 5, - OSL_EC_BURST_HANDLER = 6, -} acpi_execute_type; - -typedef enum { - ACPI_IMODE_LOAD_PASS1 = 1, - ACPI_IMODE_LOAD_PASS2 = 2, - ACPI_IMODE_EXECUTE = 3, -} acpi_interpreter_mode; - -typedef enum { - ACPI_TRACE_AML_METHOD = 0, - ACPI_TRACE_AML_OPCODE = 1, - ACPI_TRACE_AML_REGION = 2, -} acpi_trace_event_type; - -typedef enum { - base_0possible = 0, - base_1guaranteed = 1, -} base_directive_e; - -typedef enum { - bt_raw = 0, - bt_rle = 1, - bt_compressed = 2, - bt_reserved = 3, -} blockType_e; - -typedef enum { - need_more = 0, - block_done = 1, - finish_started = 2, - finish_done = 3, -} block_state; - -typedef enum { - CODES = 0, - LENS = 1, - DISTS = 2, -} codetype; - -typedef enum { - FILE_MEMORY_MIGRATE = 0, - FILE_CPULIST = 1, - FILE_MEMLIST = 2, - FILE_EFFECTIVE_CPULIST = 3, - FILE_EFFECTIVE_MEMLIST = 4, - FILE_SUBPARTS_CPULIST = 5, - FILE_EXCLUSIVE_CPULIST = 6, - FILE_EFFECTIVE_XCPULIST = 7, - FILE_ISOLATED_CPULIST = 8, - FILE_CPU_EXCLUSIVE = 9, - FILE_MEM_EXCLUSIVE = 10, - FILE_MEM_HARDWALL = 11, - FILE_SCHED_LOAD_BALANCE = 12, - FILE_PARTITION_ROOT = 13, - FILE_SCHED_RELAX_DOMAIN_LEVEL = 14, - FILE_MEMORY_PRESSURE_ENABLED = 15, - FILE_MEMORY_PRESSURE = 16, - FILE_SPREAD_PAGE = 17, - FILE_SPREAD_SLAB = 18, -} cpuset_filetype_t; - -typedef enum { - CS_ONLINE = 0, - CS_CPU_EXCLUSIVE = 1, - CS_MEM_EXCLUSIVE = 2, - CS_MEM_HARDWALL = 3, - CS_MEMORY_MIGRATE = 4, - CS_SCHED_LOAD_BALANCE = 5, - CS_SPREAD_PAGE = 6, - CS_SPREAD_SLAB = 7, -} cpuset_flagbits_t; - -typedef enum { - noDict = 0, - withPrefix64k = 1, - usingExtDict = 2, -} dict_directive; - -typedef enum { - EITHER = 0, - INDEX = 1, - DIRENT = 2, - DIRENT_HTREE = 3, -} dirblock_type_t; - -typedef enum { - decode_full_block = 0, - partial_decode = 1, -} earlyEnd_directive; - -typedef enum { - endOnOutputSize = 0, - endOnInputSize = 1, -} endCondition_directive; - -typedef enum { - EXT4_IGET_NORMAL = 0, - EXT4_IGET_SPECIAL = 1, - EXT4_IGET_HANDLE = 2, - EXT4_IGET_BAD = 4, - EXT4_IGET_EA_INODE = 8, -} ext4_iget_flags; - -typedef enum { - FS_DECRYPT = 0, - FS_ENCRYPT = 1, -} fscrypt_direction_t; - -typedef enum { - HEAD = 0, - FLAGS = 1, - TIME = 2, - OS = 3, - EXLEN = 4, - EXTRA = 5, - NAME = 6, - COMMENT = 7, - HCRC = 8, - DICTID = 9, - DICT = 10, - TYPE = 11, - TYPEDO = 12, - STORED = 13, - COPY = 14, - TABLE = 15, - LENLENS = 16, - CODELENS = 17, - LEN = 18, - LENEXT = 19, - DIST = 20, - DISTEXT = 21, - MATCH = 22, - LIT = 23, - CHECK = 24, - LENGTH = 25, - DONE = 26, - BAD = 27, - MEM = 28, - SYNC = 29, -} inflate_mode; - -typedef enum { - ISOLATE_ABORT = 0, - ISOLATE_NONE = 1, - ISOLATE_SUCCESS = 2, -} isolate_migrate_t; - -typedef enum { - KDB_ENABLE_ALL = 1, - KDB_ENABLE_MEM_READ = 2, - KDB_ENABLE_MEM_WRITE = 4, - KDB_ENABLE_REG_READ = 8, - KDB_ENABLE_REG_WRITE = 16, - KDB_ENABLE_INSPECT = 32, - KDB_ENABLE_FLOW_CTRL = 64, - KDB_ENABLE_SIGNAL = 128, - KDB_ENABLE_REBOOT = 256, - KDB_ENABLE_ALWAYS_SAFE = 512, - KDB_ENABLE_MASK = 1023, - KDB_ENABLE_ALL_NO_ARGS = 1024, - KDB_ENABLE_MEM_READ_NO_ARGS = 2048, - KDB_ENABLE_MEM_WRITE_NO_ARGS = 4096, - KDB_ENABLE_REG_READ_NO_ARGS = 8192, - KDB_ENABLE_REG_WRITE_NO_ARGS = 16384, - KDB_ENABLE_INSPECT_NO_ARGS = 32768, - KDB_ENABLE_FLOW_CTRL_NO_ARGS = 65536, - KDB_ENABLE_SIGNAL_NO_ARGS = 131072, - KDB_ENABLE_REBOOT_NO_ARGS = 262144, - KDB_ENABLE_ALWAYS_SAFE_NO_ARGS = 524288, - KDB_ENABLE_MASK_NO_ARGS = 1047552, - KDB_REPEAT_NO_ARGS = 1073741824, - KDB_REPEAT_WITH_ARGS = 2147483648, -} kdb_cmdflags_t; - -typedef enum { - KDB_DB_BPT = 0, - KDB_DB_SS = 1, - KDB_DB_SSBPT = 2, - KDB_DB_NOBPT = 3, -} kdb_dbtrap_t; - -typedef enum { - KDB_REASON_ENTER = 1, - KDB_REASON_ENTER_SLAVE = 2, - KDB_REASON_BREAK = 3, - KDB_REASON_DEBUG = 4, - KDB_REASON_OOPS = 5, - KDB_REASON_SWITCH = 6, - KDB_REASON_KEYBOARD = 7, - KDB_REASON_NMI = 8, - KDB_REASON_RECURSE = 9, - KDB_REASON_SSTEP = 10, - KDB_REASON_SYSTEM_NMI = 11, -} kdb_reason_t; - -typedef enum { - MAP_CHG_REUSE = 0, - MAP_CHG_NEEDED = 1, - MAP_CHG_ENFORCED = 2, -} map_chg_state; - -typedef enum { - PAGE_KEEP = 0, - PAGE_ACTIVATE = 1, - PAGE_SUCCESS = 2, - PAGE_CLEAN = 3, -} pageout_t; - -typedef enum { - PHY_INTERFACE_MODE_NA = 0, - PHY_INTERFACE_MODE_INTERNAL = 1, - PHY_INTERFACE_MODE_MII = 2, - PHY_INTERFACE_MODE_GMII = 3, - PHY_INTERFACE_MODE_SGMII = 4, - PHY_INTERFACE_MODE_TBI = 5, - PHY_INTERFACE_MODE_REVMII = 6, - PHY_INTERFACE_MODE_RMII = 7, - PHY_INTERFACE_MODE_REVRMII = 8, - PHY_INTERFACE_MODE_RGMII = 9, - PHY_INTERFACE_MODE_RGMII_ID = 10, - PHY_INTERFACE_MODE_RGMII_RXID = 11, - PHY_INTERFACE_MODE_RGMII_TXID = 12, - PHY_INTERFACE_MODE_RTBI = 13, - PHY_INTERFACE_MODE_SMII = 14, - PHY_INTERFACE_MODE_XGMII = 15, - PHY_INTERFACE_MODE_XLGMII = 16, - PHY_INTERFACE_MODE_MOCA = 17, - PHY_INTERFACE_MODE_PSGMII = 18, - PHY_INTERFACE_MODE_QSGMII = 19, - PHY_INTERFACE_MODE_TRGMII = 20, - PHY_INTERFACE_MODE_100BASEX = 21, - PHY_INTERFACE_MODE_1000BASEX = 22, - PHY_INTERFACE_MODE_2500BASEX = 23, - PHY_INTERFACE_MODE_5GBASER = 24, - PHY_INTERFACE_MODE_RXAUI = 25, - PHY_INTERFACE_MODE_XAUI = 26, - PHY_INTERFACE_MODE_10GBASER = 27, - PHY_INTERFACE_MODE_25GBASER = 28, - PHY_INTERFACE_MODE_USXGMII = 29, - PHY_INTERFACE_MODE_10GKR = 30, - PHY_INTERFACE_MODE_QUSGMII = 31, - PHY_INTERFACE_MODE_1000BASEKX = 32, - PHY_INTERFACE_MODE_10G_QXGMII = 33, - PHY_INTERFACE_MODE_50GBASER = 34, - PHY_INTERFACE_MODE_LAUI = 35, - PHY_INTERFACE_MODE_100GBASEP = 36, - PHY_INTERFACE_MODE_MIILITE = 37, - PHY_INTERFACE_MODE_MAX = 38, -} phy_interface_t; - -typedef enum { - search_hashChain = 0, - search_binaryTree = 1, - search_rowHash = 2, -} searchMethod_e; - -typedef enum { - SS_FREE = 0, - SS_UNCONNECTED = 1, - SS_CONNECTING = 2, - SS_CONNECTED = 3, - SS_DISCONNECTING = 4, -} socket_state; - -typedef enum { - STATUSTYPE_INFO = 0, - STATUSTYPE_TABLE = 1, - STATUSTYPE_IMA = 2, -} status_type_t; - -typedef enum { - not_streaming = 0, - is_streaming = 1, -} streaming_operation; - -typedef ZSTD_cParameter zstd_cparameter; - -typedef ZSTD_ErrorCode zstd_error_code; - -enum CSI_J { - CSI_J_CURSOR_TO_END = 0, - CSI_J_START_TO_CURSOR = 1, - CSI_J_VISIBLE = 2, - CSI_J_FULL = 3, -}; - -enum CSI_right_square_bracket { - CSI_RSB_COLOR_FOR_UNDERLINE = 1, - CSI_RSB_COLOR_FOR_HALF_BRIGHT = 2, - CSI_RSB_MAKE_CUR_COLOR_DEFAULT = 8, - CSI_RSB_BLANKING_INTERVAL = 9, - CSI_RSB_BELL_FREQUENCY = 10, - CSI_RSB_BELL_DURATION = 11, - CSI_RSB_BRING_CONSOLE_TO_FRONT = 12, - CSI_RSB_UNBLANK = 13, - CSI_RSB_VESA_OFF_INTERVAL = 14, - CSI_RSB_BRING_PREV_CONSOLE_TO_FRONT = 15, - CSI_RSB_CURSOR_BLINK_INTERVAL = 16, -}; - -enum KTHREAD_BITS { - KTHREAD_IS_PER_CPU = 0, - KTHREAD_SHOULD_STOP = 1, - KTHREAD_SHOULD_PARK = 2, -}; - -enum NPmode { - NPMODE_PASS = 0, - NPMODE_DROP = 1, - NPMODE_ERROR = 2, - NPMODE_QUEUE = 3, -}; - -enum OID { - OID_id_dsa_with_sha1 = 0, - OID_id_dsa = 1, - OID_id_ecPublicKey = 2, - OID_id_prime192v1 = 3, - OID_id_prime256v1 = 4, - OID_id_ecdsa_with_sha1 = 5, - OID_id_ecdsa_with_sha224 = 6, - OID_id_ecdsa_with_sha256 = 7, - OID_id_ecdsa_with_sha384 = 8, - OID_id_ecdsa_with_sha512 = 9, - OID_rsaEncryption = 10, - OID_sha1WithRSAEncryption = 11, - OID_sha256WithRSAEncryption = 12, - OID_sha384WithRSAEncryption = 13, - OID_sha512WithRSAEncryption = 14, - OID_sha224WithRSAEncryption = 15, - OID_data = 16, - OID_signed_data = 17, - OID_email_address = 18, - OID_contentType = 19, - OID_messageDigest = 20, - OID_signingTime = 21, - OID_smimeCapabilites = 22, - OID_smimeAuthenticatedAttrs = 23, - OID_mskrb5 = 24, - OID_krb5 = 25, - OID_krb5u2u = 26, - OID_msIndirectData = 27, - OID_msStatementType = 28, - OID_msSpOpusInfo = 29, - OID_msPeImageDataObjId = 30, - OID_msIndividualSPKeyPurpose = 31, - OID_msOutlookExpress = 32, - OID_ntlmssp = 33, - OID_negoex = 34, - OID_spnego = 35, - OID_IAKerb = 36, - OID_PKU2U = 37, - OID_Scram = 38, - OID_certAuthInfoAccess = 39, - OID_sha1 = 40, - OID_id_ansip384r1 = 41, - OID_id_ansip521r1 = 42, - OID_sha256 = 43, - OID_sha384 = 44, - OID_sha512 = 45, - OID_sha224 = 46, - OID_commonName = 47, - OID_surname = 48, - OID_countryName = 49, - OID_locality = 50, - OID_stateOrProvinceName = 51, - OID_organizationName = 52, - OID_organizationUnitName = 53, - OID_title = 54, - OID_description = 55, - OID_name = 56, - OID_givenName = 57, - OID_initials = 58, - OID_generationalQualifier = 59, - OID_subjectKeyIdentifier = 60, - OID_keyUsage = 61, - OID_subjectAltName = 62, - OID_issuerAltName = 63, - OID_basicConstraints = 64, - OID_crlDistributionPoints = 65, - OID_certPolicies = 66, - OID_authorityKeyIdentifier = 67, - OID_extKeyUsage = 68, - OID_NetlogonMechanism = 69, - OID_appleLocalKdcSupported = 70, - OID_gostCPSignA = 71, - OID_gostCPSignB = 72, - OID_gostCPSignC = 73, - OID_gost2012PKey256 = 74, - OID_gost2012PKey512 = 75, - OID_gost2012Digest256 = 76, - OID_gost2012Digest512 = 77, - OID_gost2012Signature256 = 78, - OID_gost2012Signature512 = 79, - OID_gostTC26Sign256A = 80, - OID_gostTC26Sign256B = 81, - OID_gostTC26Sign256C = 82, - OID_gostTC26Sign256D = 83, - OID_gostTC26Sign512A = 84, - OID_gostTC26Sign512B = 85, - OID_gostTC26Sign512C = 86, - OID_sm2 = 87, - OID_sm3 = 88, - OID_SM2_with_SM3 = 89, - OID_sm3WithRSAEncryption = 90, - OID_TPMLoadableKey = 91, - OID_TPMImportableKey = 92, - OID_TPMSealedData = 93, - OID_sha3_256 = 94, - OID_sha3_384 = 95, - OID_sha3_512 = 96, - OID_id_ecdsa_with_sha3_256 = 97, - OID_id_ecdsa_with_sha3_384 = 98, - OID_id_ecdsa_with_sha3_512 = 99, - OID_id_rsassa_pkcs1_v1_5_with_sha3_256 = 100, - OID_id_rsassa_pkcs1_v1_5_with_sha3_384 = 101, - OID_id_rsassa_pkcs1_v1_5_with_sha3_512 = 102, - OID__NR = 103, -}; - -enum Opt_errors { - Opt_errors_continue = 0, - Opt_errors_panic = 1, -}; - -enum P4_ESCR_EMASKS { - P4_EVENT_TC_DELIVER_MODE__DD = 512, - P4_EVENT_TC_DELIVER_MODE__DB = 1024, - P4_EVENT_TC_DELIVER_MODE__DI = 2048, - P4_EVENT_TC_DELIVER_MODE__BD = 4096, - P4_EVENT_TC_DELIVER_MODE__BB = 8192, - P4_EVENT_TC_DELIVER_MODE__BI = 16384, - P4_EVENT_TC_DELIVER_MODE__ID = 32768, - P4_EVENT_BPU_FETCH_REQUEST__TCMISS = 512, - P4_EVENT_ITLB_REFERENCE__HIT = 512, - P4_EVENT_ITLB_REFERENCE__MISS = 1024, - P4_EVENT_ITLB_REFERENCE__HIT_UK = 2048, - P4_EVENT_MEMORY_CANCEL__ST_RB_FULL = 2048, - P4_EVENT_MEMORY_CANCEL__64K_CONF = 4096, - P4_EVENT_MEMORY_COMPLETE__LSC = 512, - P4_EVENT_MEMORY_COMPLETE__SSC = 1024, - P4_EVENT_LOAD_PORT_REPLAY__SPLIT_LD = 1024, - P4_EVENT_STORE_PORT_REPLAY__SPLIT_ST = 1024, - P4_EVENT_MOB_LOAD_REPLAY__NO_STA = 1024, - P4_EVENT_MOB_LOAD_REPLAY__NO_STD = 4096, - P4_EVENT_MOB_LOAD_REPLAY__PARTIAL_DATA = 8192, - P4_EVENT_MOB_LOAD_REPLAY__UNALGN_ADDR = 16384, - P4_EVENT_PAGE_WALK_TYPE__DTMISS = 512, - P4_EVENT_PAGE_WALK_TYPE__ITMISS = 1024, - P4_EVENT_BSQ_CACHE_REFERENCE__RD_2ndL_HITS = 512, - P4_EVENT_BSQ_CACHE_REFERENCE__RD_2ndL_HITE = 1024, - P4_EVENT_BSQ_CACHE_REFERENCE__RD_2ndL_HITM = 2048, - P4_EVENT_BSQ_CACHE_REFERENCE__RD_3rdL_HITS = 4096, - P4_EVENT_BSQ_CACHE_REFERENCE__RD_3rdL_HITE = 8192, - P4_EVENT_BSQ_CACHE_REFERENCE__RD_3rdL_HITM = 16384, - P4_EVENT_BSQ_CACHE_REFERENCE__RD_2ndL_MISS = 131072, - P4_EVENT_BSQ_CACHE_REFERENCE__RD_3rdL_MISS = 262144, - P4_EVENT_BSQ_CACHE_REFERENCE__WR_2ndL_MISS = 524288, - P4_EVENT_IOQ_ALLOCATION__DEFAULT = 512, - P4_EVENT_IOQ_ALLOCATION__ALL_READ = 16384, - P4_EVENT_IOQ_ALLOCATION__ALL_WRITE = 32768, - P4_EVENT_IOQ_ALLOCATION__MEM_UC = 65536, - P4_EVENT_IOQ_ALLOCATION__MEM_WC = 131072, - P4_EVENT_IOQ_ALLOCATION__MEM_WT = 262144, - P4_EVENT_IOQ_ALLOCATION__MEM_WP = 524288, - P4_EVENT_IOQ_ALLOCATION__MEM_WB = 1048576, - P4_EVENT_IOQ_ALLOCATION__OWN = 4194304, - P4_EVENT_IOQ_ALLOCATION__OTHER = 8388608, - P4_EVENT_IOQ_ALLOCATION__PREFETCH = 16777216, - P4_EVENT_IOQ_ACTIVE_ENTRIES__DEFAULT = 512, - P4_EVENT_IOQ_ACTIVE_ENTRIES__ALL_READ = 16384, - P4_EVENT_IOQ_ACTIVE_ENTRIES__ALL_WRITE = 32768, - P4_EVENT_IOQ_ACTIVE_ENTRIES__MEM_UC = 65536, - P4_EVENT_IOQ_ACTIVE_ENTRIES__MEM_WC = 131072, - P4_EVENT_IOQ_ACTIVE_ENTRIES__MEM_WT = 262144, - P4_EVENT_IOQ_ACTIVE_ENTRIES__MEM_WP = 524288, - P4_EVENT_IOQ_ACTIVE_ENTRIES__MEM_WB = 1048576, - P4_EVENT_IOQ_ACTIVE_ENTRIES__OWN = 4194304, - P4_EVENT_IOQ_ACTIVE_ENTRIES__OTHER = 8388608, - P4_EVENT_IOQ_ACTIVE_ENTRIES__PREFETCH = 16777216, - P4_EVENT_FSB_DATA_ACTIVITY__DRDY_DRV = 512, - P4_EVENT_FSB_DATA_ACTIVITY__DRDY_OWN = 1024, - P4_EVENT_FSB_DATA_ACTIVITY__DRDY_OTHER = 2048, - P4_EVENT_FSB_DATA_ACTIVITY__DBSY_DRV = 4096, - P4_EVENT_FSB_DATA_ACTIVITY__DBSY_OWN = 8192, - P4_EVENT_FSB_DATA_ACTIVITY__DBSY_OTHER = 16384, - P4_EVENT_BSQ_ALLOCATION__REQ_TYPE0 = 512, - P4_EVENT_BSQ_ALLOCATION__REQ_TYPE1 = 1024, - P4_EVENT_BSQ_ALLOCATION__REQ_LEN0 = 2048, - P4_EVENT_BSQ_ALLOCATION__REQ_LEN1 = 4096, - P4_EVENT_BSQ_ALLOCATION__REQ_IO_TYPE = 16384, - P4_EVENT_BSQ_ALLOCATION__REQ_LOCK_TYPE = 32768, - P4_EVENT_BSQ_ALLOCATION__REQ_CACHE_TYPE = 65536, - P4_EVENT_BSQ_ALLOCATION__REQ_SPLIT_TYPE = 131072, - P4_EVENT_BSQ_ALLOCATION__REQ_DEM_TYPE = 262144, - P4_EVENT_BSQ_ALLOCATION__REQ_ORD_TYPE = 524288, - P4_EVENT_BSQ_ALLOCATION__MEM_TYPE0 = 1048576, - P4_EVENT_BSQ_ALLOCATION__MEM_TYPE1 = 2097152, - P4_EVENT_BSQ_ALLOCATION__MEM_TYPE2 = 4194304, - P4_EVENT_BSQ_ACTIVE_ENTRIES__REQ_TYPE0 = 512, - P4_EVENT_BSQ_ACTIVE_ENTRIES__REQ_TYPE1 = 1024, - P4_EVENT_BSQ_ACTIVE_ENTRIES__REQ_LEN0 = 2048, - P4_EVENT_BSQ_ACTIVE_ENTRIES__REQ_LEN1 = 4096, - P4_EVENT_BSQ_ACTIVE_ENTRIES__REQ_IO_TYPE = 16384, - P4_EVENT_BSQ_ACTIVE_ENTRIES__REQ_LOCK_TYPE = 32768, - P4_EVENT_BSQ_ACTIVE_ENTRIES__REQ_CACHE_TYPE = 65536, - P4_EVENT_BSQ_ACTIVE_ENTRIES__REQ_SPLIT_TYPE = 131072, - P4_EVENT_BSQ_ACTIVE_ENTRIES__REQ_DEM_TYPE = 262144, - P4_EVENT_BSQ_ACTIVE_ENTRIES__REQ_ORD_TYPE = 524288, - P4_EVENT_BSQ_ACTIVE_ENTRIES__MEM_TYPE0 = 1048576, - P4_EVENT_BSQ_ACTIVE_ENTRIES__MEM_TYPE1 = 2097152, - P4_EVENT_BSQ_ACTIVE_ENTRIES__MEM_TYPE2 = 4194304, - P4_EVENT_SSE_INPUT_ASSIST__ALL = 16777216, - P4_EVENT_PACKED_SP_UOP__ALL = 16777216, - P4_EVENT_PACKED_DP_UOP__ALL = 16777216, - P4_EVENT_SCALAR_SP_UOP__ALL = 16777216, - P4_EVENT_SCALAR_DP_UOP__ALL = 16777216, - P4_EVENT_64BIT_MMX_UOP__ALL = 16777216, - P4_EVENT_128BIT_MMX_UOP__ALL = 16777216, - P4_EVENT_X87_FP_UOP__ALL = 16777216, - P4_EVENT_TC_MISC__FLUSH = 8192, - P4_EVENT_GLOBAL_POWER_EVENTS__RUNNING = 512, - P4_EVENT_TC_MS_XFER__CISC = 512, - P4_EVENT_UOP_QUEUE_WRITES__FROM_TC_BUILD = 512, - P4_EVENT_UOP_QUEUE_WRITES__FROM_TC_DELIVER = 1024, - P4_EVENT_UOP_QUEUE_WRITES__FROM_ROM = 2048, - P4_EVENT_RETIRED_MISPRED_BRANCH_TYPE__CONDITIONAL = 1024, - P4_EVENT_RETIRED_MISPRED_BRANCH_TYPE__CALL = 2048, - P4_EVENT_RETIRED_MISPRED_BRANCH_TYPE__RETURN = 4096, - P4_EVENT_RETIRED_MISPRED_BRANCH_TYPE__INDIRECT = 8192, - P4_EVENT_RETIRED_BRANCH_TYPE__CONDITIONAL = 1024, - P4_EVENT_RETIRED_BRANCH_TYPE__CALL = 2048, - P4_EVENT_RETIRED_BRANCH_TYPE__RETURN = 4096, - P4_EVENT_RETIRED_BRANCH_TYPE__INDIRECT = 8192, - P4_EVENT_RESOURCE_STALL__SBFULL = 16384, - P4_EVENT_WC_BUFFER__WCB_EVICTS = 512, - P4_EVENT_WC_BUFFER__WCB_FULL_EVICTS = 1024, - P4_EVENT_FRONT_END_EVENT__NBOGUS = 512, - P4_EVENT_FRONT_END_EVENT__BOGUS = 1024, - P4_EVENT_EXECUTION_EVENT__NBOGUS0 = 512, - P4_EVENT_EXECUTION_EVENT__NBOGUS1 = 1024, - P4_EVENT_EXECUTION_EVENT__NBOGUS2 = 2048, - P4_EVENT_EXECUTION_EVENT__NBOGUS3 = 4096, - P4_EVENT_EXECUTION_EVENT__BOGUS0 = 8192, - P4_EVENT_EXECUTION_EVENT__BOGUS1 = 16384, - P4_EVENT_EXECUTION_EVENT__BOGUS2 = 32768, - P4_EVENT_EXECUTION_EVENT__BOGUS3 = 65536, - P4_EVENT_REPLAY_EVENT__NBOGUS = 512, - P4_EVENT_REPLAY_EVENT__BOGUS = 1024, - P4_EVENT_INSTR_RETIRED__NBOGUSNTAG = 512, - P4_EVENT_INSTR_RETIRED__NBOGUSTAG = 1024, - P4_EVENT_INSTR_RETIRED__BOGUSNTAG = 2048, - P4_EVENT_INSTR_RETIRED__BOGUSTAG = 4096, - P4_EVENT_UOPS_RETIRED__NBOGUS = 512, - P4_EVENT_UOPS_RETIRED__BOGUS = 1024, - P4_EVENT_UOP_TYPE__TAGLOADS = 1024, - P4_EVENT_UOP_TYPE__TAGSTORES = 2048, - P4_EVENT_BRANCH_RETIRED__MMNP = 512, - P4_EVENT_BRANCH_RETIRED__MMNM = 1024, - P4_EVENT_BRANCH_RETIRED__MMTP = 2048, - P4_EVENT_BRANCH_RETIRED__MMTM = 4096, - P4_EVENT_MISPRED_BRANCH_RETIRED__NBOGUS = 512, - P4_EVENT_X87_ASSIST__FPSU = 512, - P4_EVENT_X87_ASSIST__FPSO = 1024, - P4_EVENT_X87_ASSIST__POAO = 2048, - P4_EVENT_X87_ASSIST__POAU = 4096, - P4_EVENT_X87_ASSIST__PREA = 8192, - P4_EVENT_MACHINE_CLEAR__CLEAR = 512, - P4_EVENT_MACHINE_CLEAR__MOCLEAR = 1024, - P4_EVENT_MACHINE_CLEAR__SMCLEAR = 2048, - P4_EVENT_INSTR_COMPLETED__NBOGUS = 512, - P4_EVENT_INSTR_COMPLETED__BOGUS = 1024, -}; - -enum P4_EVENTS { - P4_EVENT_TC_DELIVER_MODE = 0, - P4_EVENT_BPU_FETCH_REQUEST = 1, - P4_EVENT_ITLB_REFERENCE = 2, - P4_EVENT_MEMORY_CANCEL = 3, - P4_EVENT_MEMORY_COMPLETE = 4, - P4_EVENT_LOAD_PORT_REPLAY = 5, - P4_EVENT_STORE_PORT_REPLAY = 6, - P4_EVENT_MOB_LOAD_REPLAY = 7, - P4_EVENT_PAGE_WALK_TYPE = 8, - P4_EVENT_BSQ_CACHE_REFERENCE = 9, - P4_EVENT_IOQ_ALLOCATION = 10, - P4_EVENT_IOQ_ACTIVE_ENTRIES = 11, - P4_EVENT_FSB_DATA_ACTIVITY = 12, - P4_EVENT_BSQ_ALLOCATION = 13, - P4_EVENT_BSQ_ACTIVE_ENTRIES = 14, - P4_EVENT_SSE_INPUT_ASSIST = 15, - P4_EVENT_PACKED_SP_UOP = 16, - P4_EVENT_PACKED_DP_UOP = 17, - P4_EVENT_SCALAR_SP_UOP = 18, - P4_EVENT_SCALAR_DP_UOP = 19, - P4_EVENT_64BIT_MMX_UOP = 20, - P4_EVENT_128BIT_MMX_UOP = 21, - P4_EVENT_X87_FP_UOP = 22, - P4_EVENT_TC_MISC = 23, - P4_EVENT_GLOBAL_POWER_EVENTS = 24, - P4_EVENT_TC_MS_XFER = 25, - P4_EVENT_UOP_QUEUE_WRITES = 26, - P4_EVENT_RETIRED_MISPRED_BRANCH_TYPE = 27, - P4_EVENT_RETIRED_BRANCH_TYPE = 28, - P4_EVENT_RESOURCE_STALL = 29, - P4_EVENT_WC_BUFFER = 30, - P4_EVENT_B2B_CYCLES = 31, - P4_EVENT_BNR = 32, - P4_EVENT_SNOOP = 33, - P4_EVENT_RESPONSE = 34, - P4_EVENT_FRONT_END_EVENT = 35, - P4_EVENT_EXECUTION_EVENT = 36, - P4_EVENT_REPLAY_EVENT = 37, - P4_EVENT_INSTR_RETIRED = 38, - P4_EVENT_UOPS_RETIRED = 39, - P4_EVENT_UOP_TYPE = 40, - P4_EVENT_BRANCH_RETIRED = 41, - P4_EVENT_MISPRED_BRANCH_RETIRED = 42, - P4_EVENT_X87_ASSIST = 43, - P4_EVENT_MACHINE_CLEAR = 44, - P4_EVENT_INSTR_COMPLETED = 45, -}; - -enum P4_EVENT_OPCODES { - P4_EVENT_TC_DELIVER_MODE_OPCODE = 257, - P4_EVENT_BPU_FETCH_REQUEST_OPCODE = 768, - P4_EVENT_ITLB_REFERENCE_OPCODE = 6147, - P4_EVENT_MEMORY_CANCEL_OPCODE = 517, - P4_EVENT_MEMORY_COMPLETE_OPCODE = 2050, - P4_EVENT_LOAD_PORT_REPLAY_OPCODE = 1026, - P4_EVENT_STORE_PORT_REPLAY_OPCODE = 1282, - P4_EVENT_MOB_LOAD_REPLAY_OPCODE = 770, - P4_EVENT_PAGE_WALK_TYPE_OPCODE = 260, - P4_EVENT_BSQ_CACHE_REFERENCE_OPCODE = 3079, - P4_EVENT_IOQ_ALLOCATION_OPCODE = 774, - P4_EVENT_IOQ_ACTIVE_ENTRIES_OPCODE = 6662, - P4_EVENT_FSB_DATA_ACTIVITY_OPCODE = 5894, - P4_EVENT_BSQ_ALLOCATION_OPCODE = 1287, - P4_EVENT_BSQ_ACTIVE_ENTRIES_OPCODE = 1543, - P4_EVENT_SSE_INPUT_ASSIST_OPCODE = 13313, - P4_EVENT_PACKED_SP_UOP_OPCODE = 2049, - P4_EVENT_PACKED_DP_UOP_OPCODE = 3073, - P4_EVENT_SCALAR_SP_UOP_OPCODE = 2561, - P4_EVENT_SCALAR_DP_UOP_OPCODE = 3585, - P4_EVENT_64BIT_MMX_UOP_OPCODE = 513, - P4_EVENT_128BIT_MMX_UOP_OPCODE = 6657, - P4_EVENT_X87_FP_UOP_OPCODE = 1025, - P4_EVENT_TC_MISC_OPCODE = 1537, - P4_EVENT_GLOBAL_POWER_EVENTS_OPCODE = 4870, - P4_EVENT_TC_MS_XFER_OPCODE = 1280, - P4_EVENT_UOP_QUEUE_WRITES_OPCODE = 2304, - P4_EVENT_RETIRED_MISPRED_BRANCH_TYPE_OPCODE = 1282, - P4_EVENT_RETIRED_BRANCH_TYPE_OPCODE = 1026, - P4_EVENT_RESOURCE_STALL_OPCODE = 257, - P4_EVENT_WC_BUFFER_OPCODE = 1285, - P4_EVENT_B2B_CYCLES_OPCODE = 5635, - P4_EVENT_BNR_OPCODE = 2051, - P4_EVENT_SNOOP_OPCODE = 1539, - P4_EVENT_RESPONSE_OPCODE = 1027, - P4_EVENT_FRONT_END_EVENT_OPCODE = 2053, - P4_EVENT_EXECUTION_EVENT_OPCODE = 3077, - P4_EVENT_REPLAY_EVENT_OPCODE = 2309, - P4_EVENT_INSTR_RETIRED_OPCODE = 516, - P4_EVENT_UOPS_RETIRED_OPCODE = 260, - P4_EVENT_UOP_TYPE_OPCODE = 514, - P4_EVENT_BRANCH_RETIRED_OPCODE = 1541, - P4_EVENT_MISPRED_BRANCH_RETIRED_OPCODE = 772, - P4_EVENT_X87_ASSIST_OPCODE = 773, - P4_EVENT_MACHINE_CLEAR_OPCODE = 517, - P4_EVENT_INSTR_COMPLETED_OPCODE = 1796, -}; - -enum P4_PEBS_METRIC { - P4_PEBS_METRIC__none = 0, - P4_PEBS_METRIC__1stl_cache_load_miss_retired = 1, - P4_PEBS_METRIC__2ndl_cache_load_miss_retired = 2, - P4_PEBS_METRIC__dtlb_load_miss_retired = 3, - P4_PEBS_METRIC__dtlb_store_miss_retired = 4, - P4_PEBS_METRIC__dtlb_all_miss_retired = 5, - P4_PEBS_METRIC__tagged_mispred_branch = 6, - P4_PEBS_METRIC__mob_load_replay_retired = 7, - P4_PEBS_METRIC__split_load_retired = 8, - P4_PEBS_METRIC__split_store_retired = 9, - P4_PEBS_METRIC__max = 10, -}; - -enum SHIFT_DIRECTION { - SHIFT_LEFT = 0, - SHIFT_RIGHT = 1, -}; - -enum TPM_OPS_FLAGS { - TPM_OPS_AUTO_STARTUP = 1, -}; - -enum __sk_action { - __SK_DROP = 0, - __SK_PASS = 1, - __SK_REDIRECT = 2, - __SK_NONE = 3, -}; - -enum _cache_table_type { - CACHE_L1_INST = 1, - CACHE_L1_DATA = 2, - CACHE_L2 = 3, - CACHE_L3 = 4, -} __attribute__((mode(byte))); - -enum _cache_type { - CTYPE_NULL = 0, - CTYPE_DATA = 1, - CTYPE_INST = 2, - CTYPE_UNIFIED = 3, -}; - -enum _slab_flag_bits { - _SLAB_CONSISTENCY_CHECKS = 0, - _SLAB_RED_ZONE = 1, - _SLAB_POISON = 2, - _SLAB_KMALLOC = 3, - _SLAB_HWCACHE_ALIGN = 4, - _SLAB_CACHE_DMA = 5, - _SLAB_CACHE_DMA32 = 6, - _SLAB_STORE_USER = 7, - _SLAB_PANIC = 8, - _SLAB_TYPESAFE_BY_RCU = 9, - _SLAB_TRACE = 10, - _SLAB_NOLEAKTRACE = 11, - _SLAB_NO_MERGE = 12, - _SLAB_ACCOUNT = 13, - _SLAB_NO_USER_FLAGS = 14, - _SLAB_SKIP_KFENCE = 15, - _SLAB_RECLAIM_ACCOUNT = 16, - _SLAB_OBJECT_POISON = 17, - _SLAB_CMPXCHG_DOUBLE = 18, - _SLAB_NO_OBJ_EXT = 19, - _SLAB_FLAGS_LAST_BIT = 20, -}; - -enum _tlb_table_type { - TLB_INST_4K = 5, - TLB_INST_4M = 6, - TLB_INST_2M_4M = 7, - TLB_INST_ALL = 8, - TLB_DATA_4K = 9, - TLB_DATA_4M = 10, - TLB_DATA_2M_4M = 11, - TLB_DATA_4K_4M = 12, - TLB_DATA_1G = 13, - TLB_DATA_1G_2M_4M = 14, - TLB_DATA0_4K = 15, - TLB_DATA0_4M = 16, - TLB_DATA0_2M_4M = 17, - STLB_4K = 18, - STLB_4K_2M = 19, -} __attribute__((mode(byte))); - -enum aa_code { - AA_U8 = 0, - AA_U16 = 1, - AA_U32 = 2, - AA_U64 = 3, - AA_NAME = 4, - AA_STRING = 5, - AA_BLOB = 6, - AA_STRUCT = 7, - AA_STRUCTEND = 8, - AA_LIST = 9, - AA_LISTEND = 10, - AA_ARRAY = 11, - AA_ARRAYEND = 12, -}; - -enum aa_sfs_type { - AA_SFS_TYPE_BOOLEAN = 0, - AA_SFS_TYPE_BOOLEAN_INTPRINT = 1, - AA_SFS_TYPE_STRING = 2, - AA_SFS_TYPE_U64 = 3, - AA_SFS_TYPE_FOPS = 4, - AA_SFS_TYPE_DIR = 5, -}; - -enum aafs_ns_type { - AAFS_NS_DIR = 0, - AAFS_NS_PROFS = 1, - AAFS_NS_NS = 2, - AAFS_NS_RAW_DATA = 3, - AAFS_NS_LOAD = 4, - AAFS_NS_REPLACE = 5, - AAFS_NS_REMOVE = 6, - AAFS_NS_REVISION = 7, - AAFS_NS_COUNT = 8, - AAFS_NS_MAX_COUNT = 9, - AAFS_NS_SIZE = 10, - AAFS_NS_MAX_SIZE = 11, - AAFS_NS_OWNER = 12, - AAFS_NS_SIZEOF = 13, -}; - -enum aafs_prof_type { - AAFS_PROF_DIR = 0, - AAFS_PROF_PROFS = 1, - AAFS_PROF_NAME = 2, - AAFS_PROF_MODE = 3, - AAFS_PROF_ATTACH = 4, - AAFS_PROF_HASH = 5, - AAFS_PROF_RAW_DATA = 6, - AAFS_PROF_RAW_HASH = 7, - AAFS_PROF_RAW_ABI = 8, - AAFS_PROF_LEARNING_COUNT = 9, - AAFS_PROF_SIZEOF = 10, -}; - -enum aat2870_id { - AAT2870_ID_BL = 0, - AAT2870_ID_LDOA = 1, - AAT2870_ID_LDOB = 2, - AAT2870_ID_LDOC = 3, - AAT2870_ID_LDOD = 4, -}; - -enum access_coordinate_class { - ACCESS_COORDINATE_LOCAL = 0, - ACCESS_COORDINATE_CPU = 1, - ACCESS_COORDINATE_MAX = 2, -}; - -enum acpi_attr_enum { - ACPI_ATTR_LABEL_SHOW = 0, - ACPI_ATTR_INDEX_SHOW = 1, -}; - -enum acpi_bridge_type { - ACPI_BRIDGE_TYPE_PCIE = 1, - ACPI_BRIDGE_TYPE_CXL = 2, -}; - -enum acpi_bus_device_type { - ACPI_BUS_TYPE_DEVICE = 0, - ACPI_BUS_TYPE_POWER = 1, - ACPI_BUS_TYPE_PROCESSOR = 2, - ACPI_BUS_TYPE_THERMAL = 3, - ACPI_BUS_TYPE_POWER_BUTTON = 4, - ACPI_BUS_TYPE_SLEEP_BUTTON = 5, - ACPI_BUS_TYPE_ECDT_EC = 6, - ACPI_BUS_DEVICE_TYPE_COUNT = 7, -}; - -enum acpi_cdat_type { - ACPI_CDAT_TYPE_DSMAS = 0, - ACPI_CDAT_TYPE_DSLBIS = 1, - ACPI_CDAT_TYPE_DSMSCIS = 2, - ACPI_CDAT_TYPE_DSIS = 3, - ACPI_CDAT_TYPE_DSEMTS = 4, - ACPI_CDAT_TYPE_SSLBIS = 5, - ACPI_CDAT_TYPE_RESERVED = 6, -}; - -enum acpi_cedt_type { - ACPI_CEDT_TYPE_CHBS = 0, - ACPI_CEDT_TYPE_CFMWS = 1, - ACPI_CEDT_TYPE_CXIMS = 2, - ACPI_CEDT_TYPE_RDPAS = 3, - ACPI_CEDT_TYPE_RESERVED = 4, -}; - -enum acpi_device_swnode_dev_props { - ACPI_DEVICE_SWNODE_DEV_ROTATION = 0, - ACPI_DEVICE_SWNODE_DEV_CLOCK_FREQUENCY = 1, - ACPI_DEVICE_SWNODE_DEV_LED_MAX_MICROAMP = 2, - ACPI_DEVICE_SWNODE_DEV_FLASH_MAX_MICROAMP = 3, - ACPI_DEVICE_SWNODE_DEV_FLASH_MAX_TIMEOUT_US = 4, - ACPI_DEVICE_SWNODE_DEV_NUM_OF = 5, - ACPI_DEVICE_SWNODE_DEV_NUM_ENTRIES = 6, -}; - -enum acpi_device_swnode_ep_props { - ACPI_DEVICE_SWNODE_EP_REMOTE_EP = 0, - ACPI_DEVICE_SWNODE_EP_BUS_TYPE = 1, - ACPI_DEVICE_SWNODE_EP_REG = 2, - ACPI_DEVICE_SWNODE_EP_CLOCK_LANES = 3, - ACPI_DEVICE_SWNODE_EP_DATA_LANES = 4, - ACPI_DEVICE_SWNODE_EP_LANE_POLARITIES = 5, - ACPI_DEVICE_SWNODE_EP_LINK_FREQUENCIES = 6, - ACPI_DEVICE_SWNODE_EP_NUM_OF = 7, - ACPI_DEVICE_SWNODE_EP_NUM_ENTRIES = 8, -}; - -enum acpi_device_swnode_port_props { - ACPI_DEVICE_SWNODE_PORT_REG = 0, - ACPI_DEVICE_SWNODE_PORT_NUM_OF = 1, - ACPI_DEVICE_SWNODE_PORT_NUM_ENTRIES = 2, -}; - -enum acpi_dmar_scope_type { - ACPI_DMAR_SCOPE_TYPE_NOT_USED = 0, - ACPI_DMAR_SCOPE_TYPE_ENDPOINT = 1, - ACPI_DMAR_SCOPE_TYPE_BRIDGE = 2, - ACPI_DMAR_SCOPE_TYPE_IOAPIC = 3, - ACPI_DMAR_SCOPE_TYPE_HPET = 4, - ACPI_DMAR_SCOPE_TYPE_NAMESPACE = 5, - ACPI_DMAR_SCOPE_TYPE_RESERVED = 6, -}; - -enum acpi_dmar_type { - ACPI_DMAR_TYPE_HARDWARE_UNIT = 0, - ACPI_DMAR_TYPE_RESERVED_MEMORY = 1, - ACPI_DMAR_TYPE_ROOT_ATS = 2, - ACPI_DMAR_TYPE_HARDWARE_AFFINITY = 3, - ACPI_DMAR_TYPE_NAMESPACE = 4, - ACPI_DMAR_TYPE_SATC = 5, - ACPI_DMAR_TYPE_SIDP = 6, - ACPI_DMAR_TYPE_RESERVED = 7, -}; - -enum acpi_ec_event_state { - EC_EVENT_READY = 0, - EC_EVENT_IN_PROGRESS = 1, - EC_EVENT_COMPLETE = 2, -}; - -enum acpi_erst_actions { - ACPI_ERST_BEGIN_WRITE = 0, - ACPI_ERST_BEGIN_READ = 1, - ACPI_ERST_BEGIN_CLEAR = 2, - ACPI_ERST_END = 3, - ACPI_ERST_SET_RECORD_OFFSET = 4, - ACPI_ERST_EXECUTE_OPERATION = 5, - ACPI_ERST_CHECK_BUSY_STATUS = 6, - ACPI_ERST_GET_COMMAND_STATUS = 7, - ACPI_ERST_GET_RECORD_ID = 8, - ACPI_ERST_SET_RECORD_ID = 9, - ACPI_ERST_GET_RECORD_COUNT = 10, - ACPI_ERST_BEGIN_DUMMY_WRIITE = 11, - ACPI_ERST_NOT_USED = 12, - ACPI_ERST_GET_ERROR_RANGE = 13, - ACPI_ERST_GET_ERROR_LENGTH = 14, - ACPI_ERST_GET_ERROR_ATTRIBUTES = 15, - ACPI_ERST_EXECUTE_TIMINGS = 16, - ACPI_ERST_ACTION_RESERVED = 17, -}; - -enum acpi_erst_instructions { - ACPI_ERST_READ_REGISTER = 0, - ACPI_ERST_READ_REGISTER_VALUE = 1, - ACPI_ERST_WRITE_REGISTER = 2, - ACPI_ERST_WRITE_REGISTER_VALUE = 3, - ACPI_ERST_NOOP = 4, - ACPI_ERST_LOAD_VAR1 = 5, - ACPI_ERST_LOAD_VAR2 = 6, - ACPI_ERST_STORE_VAR1 = 7, - ACPI_ERST_ADD = 8, - ACPI_ERST_SUBTRACT = 9, - ACPI_ERST_ADD_VALUE = 10, - ACPI_ERST_SUBTRACT_VALUE = 11, - ACPI_ERST_STALL = 12, - ACPI_ERST_STALL_WHILE_TRUE = 13, - ACPI_ERST_SKIP_NEXT_IF_TRUE = 14, - ACPI_ERST_GOTO = 15, - ACPI_ERST_SET_SRC_ADDRESS_BASE = 16, - ACPI_ERST_SET_DST_ADDRESS_BASE = 17, - ACPI_ERST_MOVE_DATA = 18, - ACPI_ERST_INSTRUCTION_RESERVED = 19, -}; - -enum acpi_ex_debugger_commands { - CMD_NOT_FOUND = 0, - CMD_NULL = 1, - CMD_ALL = 2, - CMD_ALLOCATIONS = 3, - CMD_ARGS = 4, - CMD_ARGUMENTS = 5, - CMD_BREAKPOINT = 6, - CMD_BUSINFO = 7, - CMD_CALL = 8, - CMD_DEBUG = 9, - CMD_DISASSEMBLE = 10, - CMD_DISASM = 11, - CMD_DUMP = 12, - CMD_EVALUATE = 13, - CMD_EXECUTE = 14, - CMD_EXIT = 15, - CMD_FIELDS = 16, - CMD_FIND = 17, - CMD_GO = 18, - CMD_HANDLERS = 19, - CMD_HELP = 20, - CMD_HELP2 = 21, - CMD_HISTORY = 22, - CMD_HISTORY_EXE = 23, - CMD_HISTORY_LAST = 24, - CMD_INFORMATION = 25, - CMD_INTEGRITY = 26, - CMD_INTO = 27, - CMD_LEVEL = 28, - CMD_LIST = 29, - CMD_LOCALS = 30, - CMD_LOCKS = 31, - CMD_METHODS = 32, - CMD_NAMESPACE = 33, - CMD_NOTIFY = 34, - CMD_OBJECTS = 35, - CMD_OSI = 36, - CMD_OWNER = 37, - CMD_PATHS = 38, - CMD_PREDEFINED = 39, - CMD_PREFIX = 40, - CMD_QUIT = 41, - CMD_REFERENCES = 42, - CMD_RESOURCES = 43, - CMD_RESULTS = 44, - CMD_SET = 45, - CMD_STATS = 46, - CMD_STOP = 47, - CMD_TABLES = 48, - CMD_TEMPLATE = 49, - CMD_TRACE = 50, - CMD_TREE = 51, - CMD_TYPE = 52, -}; - -enum acpi_gpio_ignore_list { - ACPI_GPIO_IGNORE_WAKE = 0, - ACPI_GPIO_IGNORE_INTERRUPT = 1, -}; - -enum acpi_hest_notify_types { - ACPI_HEST_NOTIFY_POLLED = 0, - ACPI_HEST_NOTIFY_EXTERNAL = 1, - ACPI_HEST_NOTIFY_LOCAL = 2, - ACPI_HEST_NOTIFY_SCI = 3, - ACPI_HEST_NOTIFY_NMI = 4, - ACPI_HEST_NOTIFY_CMCI = 5, - ACPI_HEST_NOTIFY_MCE = 6, - ACPI_HEST_NOTIFY_GPIO = 7, - ACPI_HEST_NOTIFY_SEA = 8, - ACPI_HEST_NOTIFY_SEI = 9, - ACPI_HEST_NOTIFY_GSIV = 10, - ACPI_HEST_NOTIFY_SOFTWARE_DELEGATED = 11, - ACPI_HEST_NOTIFY_RESERVED = 12, -}; - -enum acpi_hest_types { - ACPI_HEST_TYPE_IA32_CHECK = 0, - ACPI_HEST_TYPE_IA32_CORRECTED_CHECK = 1, - ACPI_HEST_TYPE_IA32_NMI = 2, - ACPI_HEST_TYPE_NOT_USED3 = 3, - ACPI_HEST_TYPE_NOT_USED4 = 4, - ACPI_HEST_TYPE_NOT_USED5 = 5, - ACPI_HEST_TYPE_AER_ROOT_PORT = 6, - ACPI_HEST_TYPE_AER_ENDPOINT = 7, - ACPI_HEST_TYPE_AER_BRIDGE = 8, - ACPI_HEST_TYPE_GENERIC_ERROR = 9, - ACPI_HEST_TYPE_GENERIC_ERROR_V2 = 10, - ACPI_HEST_TYPE_IA32_DEFERRED_CHECK = 11, - ACPI_HEST_TYPE_RESERVED = 12, -}; - -enum acpi_hmat_type { - ACPI_HMAT_TYPE_PROXIMITY = 0, - ACPI_HMAT_TYPE_LOCALITY = 1, - ACPI_HMAT_TYPE_CACHE = 2, - ACPI_HMAT_TYPE_RESERVED = 3, -}; - -enum acpi_irq_model_id { - ACPI_IRQ_MODEL_PIC = 0, - ACPI_IRQ_MODEL_IOAPIC = 1, - ACPI_IRQ_MODEL_IOSAPIC = 2, - ACPI_IRQ_MODEL_PLATFORM = 3, - ACPI_IRQ_MODEL_GIC = 4, - ACPI_IRQ_MODEL_LPIC = 5, - ACPI_IRQ_MODEL_RINTC = 6, - ACPI_IRQ_MODEL_COUNT = 7, -}; - -enum acpi_madt_multiproc_wakeup_version { - ACPI_MADT_MP_WAKEUP_VERSION_NONE = 0, - ACPI_MADT_MP_WAKEUP_VERSION_V1 = 1, - ACPI_MADT_MP_WAKEUP_VERSION_RESERVED = 2, -}; - -enum acpi_madt_type { - ACPI_MADT_TYPE_LOCAL_APIC = 0, - ACPI_MADT_TYPE_IO_APIC = 1, - ACPI_MADT_TYPE_INTERRUPT_OVERRIDE = 2, - ACPI_MADT_TYPE_NMI_SOURCE = 3, - ACPI_MADT_TYPE_LOCAL_APIC_NMI = 4, - ACPI_MADT_TYPE_LOCAL_APIC_OVERRIDE = 5, - ACPI_MADT_TYPE_IO_SAPIC = 6, - ACPI_MADT_TYPE_LOCAL_SAPIC = 7, - ACPI_MADT_TYPE_INTERRUPT_SOURCE = 8, - ACPI_MADT_TYPE_LOCAL_X2APIC = 9, - ACPI_MADT_TYPE_LOCAL_X2APIC_NMI = 10, - ACPI_MADT_TYPE_GENERIC_INTERRUPT = 11, - ACPI_MADT_TYPE_GENERIC_DISTRIBUTOR = 12, - ACPI_MADT_TYPE_GENERIC_MSI_FRAME = 13, - ACPI_MADT_TYPE_GENERIC_REDISTRIBUTOR = 14, - ACPI_MADT_TYPE_GENERIC_TRANSLATOR = 15, - ACPI_MADT_TYPE_MULTIPROC_WAKEUP = 16, - ACPI_MADT_TYPE_CORE_PIC = 17, - ACPI_MADT_TYPE_LIO_PIC = 18, - ACPI_MADT_TYPE_HT_PIC = 19, - ACPI_MADT_TYPE_EIO_PIC = 20, - ACPI_MADT_TYPE_MSI_PIC = 21, - ACPI_MADT_TYPE_BIO_PIC = 22, - ACPI_MADT_TYPE_LPC_PIC = 23, - ACPI_MADT_TYPE_RINTC = 24, - ACPI_MADT_TYPE_IMSIC = 25, - ACPI_MADT_TYPE_APLIC = 26, - ACPI_MADT_TYPE_PLIC = 27, - ACPI_MADT_TYPE_RESERVED = 28, - ACPI_MADT_TYPE_OEM_RESERVED = 128, -}; - -enum acpi_pcct_type { - ACPI_PCCT_TYPE_GENERIC_SUBSPACE = 0, - ACPI_PCCT_TYPE_HW_REDUCED_SUBSPACE = 1, - ACPI_PCCT_TYPE_HW_REDUCED_SUBSPACE_TYPE2 = 2, - ACPI_PCCT_TYPE_EXT_PCC_MASTER_SUBSPACE = 3, - ACPI_PCCT_TYPE_EXT_PCC_SLAVE_SUBSPACE = 4, - ACPI_PCCT_TYPE_HW_REG_COMM_SUBSPACE = 5, - ACPI_PCCT_TYPE_RESERVED = 6, -}; - -enum acpi_predicate { - all_versions = 0, - less_than_or_equal = 1, - equal = 2, - greater_than_or_equal = 3, -}; - -enum acpi_preferred_pm_profiles { - PM_UNSPECIFIED = 0, - PM_DESKTOP = 1, - PM_MOBILE = 2, - PM_WORKSTATION = 3, - PM_ENTERPRISE_SERVER = 4, - PM_SOHO_SERVER = 5, - PM_APPLIANCE_PC = 6, - PM_PERFORMANCE_SERVER = 7, - PM_TABLET = 8, - NR_PM_PROFILES = 9, -}; - -enum acpi_reconfig_event { - ACPI_RECONFIG_DEVICE_ADD = 0, - ACPI_RECONFIG_DEVICE_REMOVE = 1, -}; - -enum acpi_return_package_types { - ACPI_PTYPE1_FIXED = 1, - ACPI_PTYPE1_VAR = 2, - ACPI_PTYPE1_OPTION = 3, - ACPI_PTYPE2 = 4, - ACPI_PTYPE2_COUNT = 5, - ACPI_PTYPE2_PKG_COUNT = 6, - ACPI_PTYPE2_FIXED = 7, - ACPI_PTYPE2_MIN = 8, - ACPI_PTYPE2_REV_FIXED = 9, - ACPI_PTYPE2_FIX_VAR = 10, - ACPI_PTYPE2_VAR_VAR = 11, - ACPI_PTYPE2_UUID_PAIR = 12, - ACPI_PTYPE_CUSTOM = 13, -}; - -enum acpi_srat_type { - ACPI_SRAT_TYPE_CPU_AFFINITY = 0, - ACPI_SRAT_TYPE_MEMORY_AFFINITY = 1, - ACPI_SRAT_TYPE_X2APIC_CPU_AFFINITY = 2, - ACPI_SRAT_TYPE_GICC_AFFINITY = 3, - ACPI_SRAT_TYPE_GIC_ITS_AFFINITY = 4, - ACPI_SRAT_TYPE_GENERIC_AFFINITY = 5, - ACPI_SRAT_TYPE_GENERIC_PORT_AFFINITY = 6, - ACPI_SRAT_TYPE_RINTC_AFFINITY = 7, - ACPI_SRAT_TYPE_RESERVED = 8, -}; - -enum acpi_subtable_type { - ACPI_SUBTABLE_COMMON = 0, - ACPI_SUBTABLE_HMAT = 1, - ACPI_SUBTABLE_PRMT = 2, - ACPI_SUBTABLE_CEDT = 3, - CDAT_SUBTABLE = 4, -}; - -enum acpi_viot_node_type { - ACPI_VIOT_NODE_PCI_RANGE = 1, - ACPI_VIOT_NODE_MMIO = 2, - ACPI_VIOT_NODE_VIRTIO_IOMMU_PCI = 3, - ACPI_VIOT_NODE_VIRTIO_IOMMU_MMIO = 4, - ACPI_VIOT_RESERVED = 5, -}; - -enum action_id { - ACTION_SAVE = 1, - ACTION_TRACE = 2, - ACTION_SNAPSHOT = 3, -}; - -enum action_t { - nmi_act_kdump = 0, - nmi_act_dump = 1, - nmi_act_ips = 2, - nmi_act_kdb = 3, - nmi_act_kgdb = 4, - nmi_act_health = 5, - nmi_act_max = 6, -}; - -enum actions { - REGISTER = 0, - DEREGISTER = 1, - CPU_DONT_CARE = 2, -}; - -enum addr_stride { - PTE_STRIDE = 0, - PMD_STRIDE = 1, -}; - -enum addr_type { - ADDR_LOCAL = 0, - ADDR_LOCAL_PRIV = 1, - ADDR_REMOTE = 2, -}; - -enum addr_type_t { - UNICAST_ADDR = 0, - MULTICAST_ADDR = 1, - ANYCAST_ADDR = 2, -}; - -enum address_markers_idx { - USER_SPACE_NR = 0, - KERNEL_SPACE_NR = 1, - LDT_NR = 2, - LOW_KERNEL_NR = 3, - VMALLOC_START_NR = 4, - VMEMMAP_START_NR = 5, - CPU_ENTRY_AREA_NR = 6, - ESPFIX_START_NR = 7, - EFI_END_NR = 8, - HIGH_KERNEL_NR = 9, - MODULES_VADDR_NR = 10, - MODULES_END_NR = 11, - FIXADDR_START_NR = 12, - END_OF_SPACE_NR = 13, -}; - -enum aead_algo { - SNP_AEAD_INVALID = 0, - SNP_AEAD_AES_256_GCM = 1, -}; - -enum alarmtimer_type { - ALARM_REALTIME = 0, - ALARM_BOOTTIME = 1, - ALARM_NUMTYPE = 2, - ALARM_REALTIME_FREEZER = 3, - ALARM_BOOTTIME_FREEZER = 4, -}; - -enum align_flags { - ALIGN_VA_32 = 1, - ALIGN_VA_64 = 2, -}; - -enum alloc_loc { - ALLOC_ERR = 0, - ALLOC_BEFORE = 1, - ALLOC_MID = 2, - ALLOC_AFTER = 3, -}; - -enum amd_chipset_gen { - NOT_AMD_CHIPSET = 0, - AMD_CHIPSET_SB600 = 1, - AMD_CHIPSET_SB700 = 2, - AMD_CHIPSET_SB800 = 3, - AMD_CHIPSET_HUDSON2 = 4, - AMD_CHIPSET_BOLTON = 5, - AMD_CHIPSET_YANGTZE = 6, - AMD_CHIPSET_TAISHAN = 7, - AMD_CHIPSET_UNKNOWN = 8, -}; - -enum amd_functions { - IMX_F0_GPIO0 = 0, - IMX_F1_GPIO0 = 1, - IMX_F2_GPIO0 = 2, - IMX_F3_GPIO0 = 3, - IMX_F0_GPIO1 = 4, - IMX_F1_GPIO1 = 5, - IMX_F2_GPIO1 = 6, - IMX_F3_GPIO1 = 7, - IMX_F0_GPIO2 = 8, - IMX_F1_GPIO2 = 9, - IMX_F2_GPIO2 = 10, - IMX_F3_GPIO2 = 11, - IMX_F0_GPIO3 = 12, - IMX_F1_GPIO3 = 13, - IMX_F2_GPIO3 = 14, - IMX_F3_GPIO3 = 15, - IMX_F0_GPIO4 = 16, - IMX_F1_GPIO4 = 17, - IMX_F2_GPIO4 = 18, - IMX_F3_GPIO4 = 19, - IMX_F0_GPIO5 = 20, - IMX_F1_GPIO5 = 21, - IMX_F2_GPIO5 = 22, - IMX_F3_GPIO5 = 23, - IMX_F0_GPIO6 = 24, - IMX_F1_GPIO6 = 25, - IMX_F2_GPIO6 = 26, - IMX_F3_GPIO6 = 27, - IMX_F0_GPIO7 = 28, - IMX_F1_GPIO7 = 29, - IMX_F2_GPIO7 = 30, - IMX_F3_GPIO7 = 31, - IMX_F0_GPIO8 = 32, - IMX_F1_GPIO8 = 33, - IMX_F2_GPIO8 = 34, - IMX_F3_GPIO8 = 35, - IMX_F0_GPIO9 = 36, - IMX_F1_GPIO9 = 37, - IMX_F2_GPIO9 = 38, - IMX_F3_GPIO9 = 39, - IMX_F0_GPIO10 = 40, - IMX_F1_GPIO10 = 41, - IMX_F2_GPIO10 = 42, - IMX_F3_GPIO10 = 43, - IMX_F0_GPIO11 = 44, - IMX_F1_GPIO11 = 45, - IMX_F2_GPIO11 = 46, - IMX_F3_GPIO11 = 47, - IMX_F0_GPIO12 = 48, - IMX_F1_GPIO12 = 49, - IMX_F2_GPIO12 = 50, - IMX_F3_GPIO12 = 51, - IMX_F0_GPIO13 = 52, - IMX_F1_GPIO13 = 53, - IMX_F2_GPIO13 = 54, - IMX_F3_GPIO13 = 55, - IMX_F0_GPIO14 = 56, - IMX_F1_GPIO14 = 57, - IMX_F2_GPIO14 = 58, - IMX_F3_GPIO14 = 59, - IMX_F0_GPIO15 = 60, - IMX_F1_GPIO15 = 61, - IMX_F2_GPIO15 = 62, - IMX_F3_GPIO15 = 63, - IMX_F0_GPIO16 = 64, - IMX_F1_GPIO16 = 65, - IMX_F2_GPIO16 = 66, - IMX_F3_GPIO16 = 67, - IMX_F0_GPIO17 = 68, - IMX_F1_GPIO17 = 69, - IMX_F2_GPIO17 = 70, - IMX_F3_GPIO17 = 71, - IMX_F0_GPIO18 = 72, - IMX_F1_GPIO18 = 73, - IMX_F2_GPIO18 = 74, - IMX_F3_GPIO18 = 75, - IMX_F0_GPIO19 = 76, - IMX_F1_GPIO19 = 77, - IMX_F2_GPIO19 = 78, - IMX_F3_GPIO19 = 79, - IMX_F0_GPIO20 = 80, - IMX_F1_GPIO20 = 81, - IMX_F2_GPIO20 = 82, - IMX_F3_GPIO20 = 83, - IMX_F0_GPIO21 = 84, - IMX_F1_GPIO21 = 85, - IMX_F2_GPIO21 = 86, - IMX_F3_GPIO21 = 87, - IMX_F0_GPIO22 = 88, - IMX_F1_GPIO22 = 89, - IMX_F2_GPIO22 = 90, - IMX_F3_GPIO22 = 91, - IMX_F0_GPIO23 = 92, - IMX_F1_GPIO23 = 93, - IMX_F2_GPIO23 = 94, - IMX_F3_GPIO23 = 95, - IMX_F0_GPIO24 = 96, - IMX_F1_GPIO24 = 97, - IMX_F2_GPIO24 = 98, - IMX_F3_GPIO24 = 99, - IMX_F0_GPIO25 = 100, - IMX_F1_GPIO25 = 101, - IMX_F2_GPIO25 = 102, - IMX_F3_GPIO25 = 103, - IMX_F0_GPIO26 = 104, - IMX_F1_GPIO26 = 105, - IMX_F2_GPIO26 = 106, - IMX_F3_GPIO26 = 107, - IMX_F0_GPIO27 = 108, - IMX_F1_GPIO27 = 109, - IMX_F2_GPIO27 = 110, - IMX_F3_GPIO27 = 111, - IMX_F0_GPIO28 = 112, - IMX_F1_GPIO28 = 113, - IMX_F2_GPIO28 = 114, - IMX_F3_GPIO28 = 115, - IMX_F0_GPIO29 = 116, - IMX_F1_GPIO29 = 117, - IMX_F2_GPIO29 = 118, - IMX_F3_GPIO29 = 119, - IMX_F0_GPIO30 = 120, - IMX_F1_GPIO30 = 121, - IMX_F2_GPIO30 = 122, - IMX_F3_GPIO30 = 123, - IMX_F0_GPIO31 = 124, - IMX_F1_GPIO31 = 125, - IMX_F2_GPIO31 = 126, - IMX_F3_GPIO31 = 127, - IMX_F0_GPIO32 = 128, - IMX_F1_GPIO32 = 129, - IMX_F2_GPIO32 = 130, - IMX_F3_GPIO32 = 131, - IMX_F0_GPIO33 = 132, - IMX_F1_GPIO33 = 133, - IMX_F2_GPIO33 = 134, - IMX_F3_GPIO33 = 135, - IMX_F0_GPIO34 = 136, - IMX_F1_GPIO34 = 137, - IMX_F2_GPIO34 = 138, - IMX_F3_GPIO34 = 139, - IMX_F0_GPIO35 = 140, - IMX_F1_GPIO35 = 141, - IMX_F2_GPIO35 = 142, - IMX_F3_GPIO35 = 143, - IMX_F0_GPIO36 = 144, - IMX_F1_GPIO36 = 145, - IMX_F2_GPIO36 = 146, - IMX_F3_GPIO36 = 147, - IMX_F0_GPIO37 = 148, - IMX_F1_GPIO37 = 149, - IMX_F2_GPIO37 = 150, - IMX_F3_GPIO37 = 151, - IMX_F0_GPIO38 = 152, - IMX_F1_GPIO38 = 153, - IMX_F2_GPIO38 = 154, - IMX_F3_GPIO38 = 155, - IMX_F0_GPIO39 = 156, - IMX_F1_GPIO39 = 157, - IMX_F2_GPIO39 = 158, - IMX_F3_GPIO39 = 159, - IMX_F0_GPIO40 = 160, - IMX_F1_GPIO40 = 161, - IMX_F2_GPIO40 = 162, - IMX_F3_GPIO40 = 163, - IMX_F0_GPIO41 = 164, - IMX_F1_GPIO41 = 165, - IMX_F2_GPIO41 = 166, - IMX_F3_GPIO41 = 167, - IMX_F0_GPIO42 = 168, - IMX_F1_GPIO42 = 169, - IMX_F2_GPIO42 = 170, - IMX_F3_GPIO42 = 171, - IMX_F0_GPIO43 = 172, - IMX_F1_GPIO43 = 173, - IMX_F2_GPIO43 = 174, - IMX_F3_GPIO43 = 175, - IMX_F0_GPIO44 = 176, - IMX_F1_GPIO44 = 177, - IMX_F2_GPIO44 = 178, - IMX_F3_GPIO44 = 179, - IMX_F0_GPIO45 = 180, - IMX_F1_GPIO45 = 181, - IMX_F2_GPIO45 = 182, - IMX_F3_GPIO45 = 183, - IMX_F0_GPIO46 = 184, - IMX_F1_GPIO46 = 185, - IMX_F2_GPIO46 = 186, - IMX_F3_GPIO46 = 187, - IMX_F0_GPIO47 = 188, - IMX_F1_GPIO47 = 189, - IMX_F2_GPIO47 = 190, - IMX_F3_GPIO47 = 191, - IMX_F0_GPIO48 = 192, - IMX_F1_GPIO48 = 193, - IMX_F2_GPIO48 = 194, - IMX_F3_GPIO48 = 195, - IMX_F0_GPIO49 = 196, - IMX_F1_GPIO49 = 197, - IMX_F2_GPIO49 = 198, - IMX_F3_GPIO49 = 199, - IMX_F0_GPIO50 = 200, - IMX_F1_GPIO50 = 201, - IMX_F2_GPIO50 = 202, - IMX_F3_GPIO50 = 203, - IMX_F0_GPIO51 = 204, - IMX_F1_GPIO51 = 205, - IMX_F2_GPIO51 = 206, - IMX_F3_GPIO51 = 207, - IMX_F0_GPIO52 = 208, - IMX_F1_GPIO52 = 209, - IMX_F2_GPIO52 = 210, - IMX_F3_GPIO52 = 211, - IMX_F0_GPIO53 = 212, - IMX_F1_GPIO53 = 213, - IMX_F2_GPIO53 = 214, - IMX_F3_GPIO53 = 215, - IMX_F0_GPIO54 = 216, - IMX_F1_GPIO54 = 217, - IMX_F2_GPIO54 = 218, - IMX_F3_GPIO54 = 219, - IMX_F0_GPIO55 = 220, - IMX_F1_GPIO55 = 221, - IMX_F2_GPIO55 = 222, - IMX_F3_GPIO55 = 223, - IMX_F0_GPIO56 = 224, - IMX_F1_GPIO56 = 225, - IMX_F2_GPIO56 = 226, - IMX_F3_GPIO56 = 227, - IMX_F0_GPIO57 = 228, - IMX_F1_GPIO57 = 229, - IMX_F2_GPIO57 = 230, - IMX_F3_GPIO57 = 231, - IMX_F0_GPIO58 = 232, - IMX_F1_GPIO58 = 233, - IMX_F2_GPIO58 = 234, - IMX_F3_GPIO58 = 235, - IMX_F0_GPIO59 = 236, - IMX_F1_GPIO59 = 237, - IMX_F2_GPIO59 = 238, - IMX_F3_GPIO59 = 239, - IMX_F0_GPIO60 = 240, - IMX_F1_GPIO60 = 241, - IMX_F2_GPIO60 = 242, - IMX_F3_GPIO60 = 243, - IMX_F0_GPIO61 = 244, - IMX_F1_GPIO61 = 245, - IMX_F2_GPIO61 = 246, - IMX_F3_GPIO61 = 247, - IMX_F0_GPIO62 = 248, - IMX_F1_GPIO62 = 249, - IMX_F2_GPIO62 = 250, - IMX_F3_GPIO62 = 251, - IMX_F0_GPIO64 = 252, - IMX_F1_GPIO64 = 253, - IMX_F2_GPIO64 = 254, - IMX_F3_GPIO64 = 255, - IMX_F0_GPIO65 = 256, - IMX_F1_GPIO65 = 257, - IMX_F2_GPIO65 = 258, - IMX_F3_GPIO65 = 259, - IMX_F0_GPIO66 = 260, - IMX_F1_GPIO66 = 261, - IMX_F2_GPIO66 = 262, - IMX_F3_GPIO66 = 263, - IMX_F0_GPIO67 = 264, - IMX_F1_GPIO67 = 265, - IMX_F2_GPIO67 = 266, - IMX_F3_GPIO67 = 267, - IMX_F0_GPIO68 = 268, - IMX_F1_GPIO68 = 269, - IMX_F2_GPIO68 = 270, - IMX_F3_GPIO68 = 271, - IMX_F0_GPIO69 = 272, - IMX_F1_GPIO69 = 273, - IMX_F2_GPIO69 = 274, - IMX_F3_GPIO69 = 275, - IMX_F0_GPIO70 = 276, - IMX_F1_GPIO70 = 277, - IMX_F2_GPIO70 = 278, - IMX_F3_GPIO70 = 279, - IMX_F0_GPIO71 = 280, - IMX_F1_GPIO71 = 281, - IMX_F2_GPIO71 = 282, - IMX_F3_GPIO71 = 283, - IMX_F0_GPIO72 = 284, - IMX_F1_GPIO72 = 285, - IMX_F2_GPIO72 = 286, - IMX_F3_GPIO72 = 287, - IMX_F0_GPIO73 = 288, - IMX_F1_GPIO73 = 289, - IMX_F2_GPIO73 = 290, - IMX_F3_GPIO73 = 291, - IMX_F0_GPIO74 = 292, - IMX_F1_GPIO74 = 293, - IMX_F2_GPIO74 = 294, - IMX_F3_GPIO74 = 295, - IMX_F0_GPIO75 = 296, - IMX_F1_GPIO75 = 297, - IMX_F2_GPIO75 = 298, - IMX_F3_GPIO75 = 299, - IMX_F0_GPIO76 = 300, - IMX_F1_GPIO76 = 301, - IMX_F2_GPIO76 = 302, - IMX_F3_GPIO76 = 303, - IMX_F0_GPIO77 = 304, - IMX_F1_GPIO77 = 305, - IMX_F2_GPIO77 = 306, - IMX_F3_GPIO77 = 307, - IMX_F0_GPIO78 = 308, - IMX_F1_GPIO78 = 309, - IMX_F2_GPIO78 = 310, - IMX_F3_GPIO78 = 311, - IMX_F0_GPIO79 = 312, - IMX_F1_GPIO79 = 313, - IMX_F2_GPIO79 = 314, - IMX_F3_GPIO79 = 315, - IMX_F0_GPIO80 = 316, - IMX_F1_GPIO80 = 317, - IMX_F2_GPIO80 = 318, - IMX_F3_GPIO80 = 319, - IMX_F0_GPIO81 = 320, - IMX_F1_GPIO81 = 321, - IMX_F2_GPIO81 = 322, - IMX_F3_GPIO81 = 323, - IMX_F0_GPIO82 = 324, - IMX_F1_GPIO82 = 325, - IMX_F2_GPIO82 = 326, - IMX_F3_GPIO82 = 327, - IMX_F0_GPIO83 = 328, - IMX_F1_GPIO83 = 329, - IMX_F2_GPIO83 = 330, - IMX_F3_GPIO83 = 331, - IMX_F0_GPIO84 = 332, - IMX_F1_GPIO84 = 333, - IMX_F2_GPIO84 = 334, - IMX_F3_GPIO84 = 335, - IMX_F0_GPIO85 = 336, - IMX_F1_GPIO85 = 337, - IMX_F2_GPIO85 = 338, - IMX_F3_GPIO85 = 339, - IMX_F0_GPIO86 = 340, - IMX_F1_GPIO86 = 341, - IMX_F2_GPIO86 = 342, - IMX_F3_GPIO86 = 343, - IMX_F0_GPIO87 = 344, - IMX_F1_GPIO87 = 345, - IMX_F2_GPIO87 = 346, - IMX_F3_GPIO87 = 347, - IMX_F0_GPIO88 = 348, - IMX_F1_GPIO88 = 349, - IMX_F2_GPIO88 = 350, - IMX_F3_GPIO88 = 351, - IMX_F0_GPIO89 = 352, - IMX_F1_GPIO89 = 353, - IMX_F2_GPIO89 = 354, - IMX_F3_GPIO89 = 355, - IMX_F0_GPIO90 = 356, - IMX_F1_GPIO90 = 357, - IMX_F2_GPIO90 = 358, - IMX_F3_GPIO90 = 359, - IMX_F0_GPIO91 = 360, - IMX_F1_GPIO91 = 361, - IMX_F2_GPIO91 = 362, - IMX_F3_GPIO91 = 363, - IMX_F0_GPIO92 = 364, - IMX_F1_GPIO92 = 365, - IMX_F2_GPIO92 = 366, - IMX_F3_GPIO92 = 367, - IMX_F0_GPIO93 = 368, - IMX_F1_GPIO93 = 369, - IMX_F2_GPIO93 = 370, - IMX_F3_GPIO93 = 371, - IMX_F0_GPIO94 = 372, - IMX_F1_GPIO94 = 373, - IMX_F2_GPIO94 = 374, - IMX_F3_GPIO94 = 375, - IMX_F0_GPIO95 = 376, - IMX_F1_GPIO95 = 377, - IMX_F2_GPIO95 = 378, - IMX_F3_GPIO95 = 379, - IMX_F0_GPIO96 = 380, - IMX_F1_GPIO96 = 381, - IMX_F2_GPIO96 = 382, - IMX_F3_GPIO96 = 383, - IMX_F0_GPIO97 = 384, - IMX_F1_GPIO97 = 385, - IMX_F2_GPIO97 = 386, - IMX_F3_GPIO97 = 387, - IMX_F0_GPIO98 = 388, - IMX_F1_GPIO98 = 389, - IMX_F2_GPIO98 = 390, - IMX_F3_GPIO98 = 391, - IMX_F0_GPIO99 = 392, - IMX_F1_GPIO99 = 393, - IMX_F2_GPIO99 = 394, - IMX_F3_GPIO99 = 395, - IMX_F0_GPIO100 = 396, - IMX_F1_GPIO100 = 397, - IMX_F2_GPIO100 = 398, - IMX_F3_GPIO100 = 399, - IMX_F0_GPIO101 = 400, - IMX_F1_GPIO101 = 401, - IMX_F2_GPIO101 = 402, - IMX_F3_GPIO101 = 403, - IMX_F0_GPIO102 = 404, - IMX_F1_GPIO102 = 405, - IMX_F2_GPIO102 = 406, - IMX_F3_GPIO102 = 407, - IMX_F0_GPIO103 = 408, - IMX_F1_GPIO103 = 409, - IMX_F2_GPIO103 = 410, - IMX_F3_GPIO103 = 411, - IMX_F0_GPIO104 = 412, - IMX_F1_GPIO104 = 413, - IMX_F2_GPIO104 = 414, - IMX_F3_GPIO104 = 415, - IMX_F0_GPIO105 = 416, - IMX_F1_GPIO105 = 417, - IMX_F2_GPIO105 = 418, - IMX_F3_GPIO105 = 419, - IMX_F0_GPIO106 = 420, - IMX_F1_GPIO106 = 421, - IMX_F2_GPIO106 = 422, - IMX_F3_GPIO106 = 423, - IMX_F0_GPIO107 = 424, - IMX_F1_GPIO107 = 425, - IMX_F2_GPIO107 = 426, - IMX_F3_GPIO107 = 427, - IMX_F0_GPIO108 = 428, - IMX_F1_GPIO108 = 429, - IMX_F2_GPIO108 = 430, - IMX_F3_GPIO108 = 431, - IMX_F0_GPIO109 = 432, - IMX_F1_GPIO109 = 433, - IMX_F2_GPIO109 = 434, - IMX_F3_GPIO109 = 435, - IMX_F0_GPIO110 = 436, - IMX_F1_GPIO110 = 437, - IMX_F2_GPIO110 = 438, - IMX_F3_GPIO110 = 439, - IMX_F0_GPIO111 = 440, - IMX_F1_GPIO111 = 441, - IMX_F2_GPIO111 = 442, - IMX_F3_GPIO111 = 443, - IMX_F0_GPIO112 = 444, - IMX_F1_GPIO112 = 445, - IMX_F2_GPIO112 = 446, - IMX_F3_GPIO112 = 447, - IMX_F0_GPIO113 = 448, - IMX_F1_GPIO113 = 449, - IMX_F2_GPIO113 = 450, - IMX_F3_GPIO113 = 451, - IMX_F0_GPIO114 = 452, - IMX_F1_GPIO114 = 453, - IMX_F2_GPIO114 = 454, - IMX_F3_GPIO114 = 455, - IMX_F0_GPIO115 = 456, - IMX_F1_GPIO115 = 457, - IMX_F2_GPIO115 = 458, - IMX_F3_GPIO115 = 459, - IMX_F0_GPIO116 = 460, - IMX_F1_GPIO116 = 461, - IMX_F2_GPIO116 = 462, - IMX_F3_GPIO116 = 463, - IMX_F0_GPIO117 = 464, - IMX_F1_GPIO117 = 465, - IMX_F2_GPIO117 = 466, - IMX_F3_GPIO117 = 467, - IMX_F0_GPIO118 = 468, - IMX_F1_GPIO118 = 469, - IMX_F2_GPIO118 = 470, - IMX_F3_GPIO118 = 471, - IMX_F0_GPIO119 = 472, - IMX_F1_GPIO119 = 473, - IMX_F2_GPIO119 = 474, - IMX_F3_GPIO119 = 475, - IMX_F0_GPIO120 = 476, - IMX_F1_GPIO120 = 477, - IMX_F2_GPIO120 = 478, - IMX_F3_GPIO120 = 479, - IMX_F0_GPIO121 = 480, - IMX_F1_GPIO121 = 481, - IMX_F2_GPIO121 = 482, - IMX_F3_GPIO121 = 483, - IMX_F0_GPIO122 = 484, - IMX_F1_GPIO122 = 485, - IMX_F2_GPIO122 = 486, - IMX_F3_GPIO122 = 487, - IMX_F0_GPIO123 = 488, - IMX_F1_GPIO123 = 489, - IMX_F2_GPIO123 = 490, - IMX_F3_GPIO123 = 491, - IMX_F0_GPIO124 = 492, - IMX_F1_GPIO124 = 493, - IMX_F2_GPIO124 = 494, - IMX_F3_GPIO124 = 495, - IMX_F0_GPIO125 = 496, - IMX_F1_GPIO125 = 497, - IMX_F2_GPIO125 = 498, - IMX_F3_GPIO125 = 499, - IMX_F0_GPIO126 = 500, - IMX_F1_GPIO126 = 501, - IMX_F2_GPIO126 = 502, - IMX_F3_GPIO126 = 503, - IMX_F0_GPIO127 = 504, - IMX_F1_GPIO127 = 505, - IMX_F2_GPIO127 = 506, - IMX_F3_GPIO127 = 507, - IMX_F0_GPIO128 = 508, - IMX_F1_GPIO128 = 509, - IMX_F2_GPIO128 = 510, - IMX_F3_GPIO128 = 511, - IMX_F0_GPIO129 = 512, - IMX_F1_GPIO129 = 513, - IMX_F2_GPIO129 = 514, - IMX_F3_GPIO129 = 515, - IMX_F0_GPIO130 = 516, - IMX_F1_GPIO130 = 517, - IMX_F2_GPIO130 = 518, - IMX_F3_GPIO130 = 519, - IMX_F0_GPIO131 = 520, - IMX_F1_GPIO131 = 521, - IMX_F2_GPIO131 = 522, - IMX_F3_GPIO131 = 523, - IMX_F0_GPIO132 = 524, - IMX_F1_GPIO132 = 525, - IMX_F2_GPIO132 = 526, - IMX_F3_GPIO132 = 527, - IMX_F0_GPIO133 = 528, - IMX_F1_GPIO133 = 529, - IMX_F2_GPIO133 = 530, - IMX_F3_GPIO133 = 531, - IMX_F0_GPIO134 = 532, - IMX_F1_GPIO134 = 533, - IMX_F2_GPIO134 = 534, - IMX_F3_GPIO134 = 535, - IMX_F0_GPIO135 = 536, - IMX_F1_GPIO135 = 537, - IMX_F2_GPIO135 = 538, - IMX_F3_GPIO135 = 539, - IMX_F0_GPIO136 = 540, - IMX_F1_GPIO136 = 541, - IMX_F2_GPIO136 = 542, - IMX_F3_GPIO136 = 543, - IMX_F0_GPIO137 = 544, - IMX_F1_GPIO137 = 545, - IMX_F2_GPIO137 = 546, - IMX_F3_GPIO137 = 547, - IMX_F0_GPIO138 = 548, - IMX_F1_GPIO138 = 549, - IMX_F2_GPIO138 = 550, - IMX_F3_GPIO138 = 551, - IMX_F0_GPIO139 = 552, - IMX_F1_GPIO139 = 553, - IMX_F2_GPIO139 = 554, - IMX_F3_GPIO139 = 555, - IMX_F0_GPIO140 = 556, - IMX_F1_GPIO140 = 557, - IMX_F2_GPIO140 = 558, - IMX_F3_GPIO140 = 559, - IMX_F0_GPIO141 = 560, - IMX_F1_GPIO141 = 561, - IMX_F2_GPIO141 = 562, - IMX_F3_GPIO141 = 563, - IMX_F0_GPIO142 = 564, - IMX_F1_GPIO142 = 565, - IMX_F2_GPIO142 = 566, - IMX_F3_GPIO142 = 567, - IMX_F0_GPIO143 = 568, - IMX_F1_GPIO143 = 569, - IMX_F2_GPIO143 = 570, - IMX_F3_GPIO143 = 571, - IMX_F0_GPIO144 = 572, - IMX_F1_GPIO144 = 573, - IMX_F2_GPIO144 = 574, - IMX_F3_GPIO144 = 575, -}; - -enum amd_iommu_intr_mode_type { - AMD_IOMMU_GUEST_IR_LEGACY = 0, - AMD_IOMMU_GUEST_IR_LEGACY_GA = 1, - AMD_IOMMU_GUEST_IR_VAPIC = 2, -}; - -enum amd_pref_core { - AMD_PREF_CORE_UNKNOWN = 0, - AMD_PREF_CORE_SUPPORTED = 1, - AMD_PREF_CORE_UNSUPPORTED = 2, -}; - -enum amd_pstate_mode { - AMD_PSTATE_UNDEFINED = 0, - AMD_PSTATE_DISABLE = 1, - AMD_PSTATE_PASSIVE = 2, - AMD_PSTATE_ACTIVE = 3, - AMD_PSTATE_GUIDED = 4, - AMD_PSTATE_MAX = 5, -}; - -enum aper_size_type { - U8_APER_SIZE = 0, - U16_APER_SIZE = 1, - U32_APER_SIZE = 2, - LVL2_APER_SIZE = 3, - FIXED_APER_SIZE = 4, -}; - -enum apic_intr_mode_id { - APIC_PIC = 0, - APIC_VIRTUAL_WIRE = 1, - APIC_VIRTUAL_WIRE_NO_CONFIG = 2, - APIC_SYMMETRIC_IO = 3, - APIC_SYMMETRIC_IO_NO_ROUTING = 4, -}; - -enum apparmor_notif_type { - APPARMOR_NOTIF_RESP_PERM = 0, - APPARMOR_NOTIF_CANCEL = 1, - APPARMOR_NOTIF_INTERUPT = 2, - APPARMOR_NOTIF_ALIVE = 3, - APPARMOR_NOTIF_OP = 4, - APPARMOR_NOTIF_RESP_NAME = 5, -}; - -enum array_state { - clear = 0, - inactive = 1, - suspended = 2, - readonly = 3, - read_auto = 4, - clean = 5, - active = 6, - write_pending = 7, - active_idle = 8, - broken = 9, - bad_word = 10, -}; - -enum as3711_su2_fbprot { - AS3711_SU2_LX_SD4 = 0, - AS3711_SU2_GPIO2 = 1, - AS3711_SU2_GPIO3 = 2, - AS3711_SU2_GPIO4 = 3, -}; - -enum as3711_su2_feedback { - AS3711_SU2_VOLTAGE = 0, - AS3711_SU2_CURR1 = 1, - AS3711_SU2_CURR2 = 2, - AS3711_SU2_CURR3 = 3, - AS3711_SU2_CURR_AUTO = 4, -}; - -enum asn1_class { - ASN1_UNIV = 0, - ASN1_APPL = 1, - ASN1_CONT = 2, - ASN1_PRIV = 3, -}; - -enum asn1_method { - ASN1_PRIM = 0, - ASN1_CONS = 1, -}; - -enum asn1_opcode { - ASN1_OP_MATCH = 0, - ASN1_OP_MATCH_OR_SKIP = 1, - ASN1_OP_MATCH_ACT = 2, - ASN1_OP_MATCH_ACT_OR_SKIP = 3, - ASN1_OP_MATCH_JUMP = 4, - ASN1_OP_MATCH_JUMP_OR_SKIP = 5, - ASN1_OP_MATCH_ANY = 8, - ASN1_OP_MATCH_ANY_OR_SKIP = 9, - ASN1_OP_MATCH_ANY_ACT = 10, - ASN1_OP_MATCH_ANY_ACT_OR_SKIP = 11, - ASN1_OP_COND_MATCH_OR_SKIP = 17, - ASN1_OP_COND_MATCH_ACT_OR_SKIP = 19, - ASN1_OP_COND_MATCH_JUMP_OR_SKIP = 21, - ASN1_OP_COND_MATCH_ANY = 24, - ASN1_OP_COND_MATCH_ANY_OR_SKIP = 25, - ASN1_OP_COND_MATCH_ANY_ACT = 26, - ASN1_OP_COND_MATCH_ANY_ACT_OR_SKIP = 27, - ASN1_OP_COND_FAIL = 28, - ASN1_OP_COMPLETE = 29, - ASN1_OP_ACT = 30, - ASN1_OP_MAYBE_ACT = 31, - ASN1_OP_END_SEQ = 32, - ASN1_OP_END_SET = 33, - ASN1_OP_END_SEQ_OF = 34, - ASN1_OP_END_SET_OF = 35, - ASN1_OP_END_SEQ_ACT = 36, - ASN1_OP_END_SET_ACT = 37, - ASN1_OP_END_SEQ_OF_ACT = 38, - ASN1_OP_END_SET_OF_ACT = 39, - ASN1_OP_RETURN = 40, - ASN1_OP__NR = 41, -}; - -enum asn1_tag { - ASN1_EOC = 0, - ASN1_BOOL = 1, - ASN1_INT = 2, - ASN1_BTS = 3, - ASN1_OTS = 4, - ASN1_NULL = 5, - ASN1_OID = 6, - ASN1_ODE = 7, - ASN1_EXT = 8, - ASN1_REAL = 9, - ASN1_ENUM = 10, - ASN1_EPDV = 11, - ASN1_UTF8STR = 12, - ASN1_RELOID = 13, - ASN1_SEQ = 16, - ASN1_SET = 17, - ASN1_NUMSTR = 18, - ASN1_PRNSTR = 19, - ASN1_TEXSTR = 20, - ASN1_VIDSTR = 21, - ASN1_IA5STR = 22, - ASN1_UNITIM = 23, - ASN1_GENTIM = 24, - ASN1_GRASTR = 25, - ASN1_VISSTR = 26, - ASN1_GENSTR = 27, - ASN1_UNISTR = 28, - ASN1_CHRSTR = 29, - ASN1_BMPSTR = 30, - ASN1_LONG_TAG = 31, -}; - -enum assoc_array_walk_status { - assoc_array_walk_tree_empty = 0, - assoc_array_walk_found_terminal_node = 1, - assoc_array_walk_found_wrong_shortcut = 2, -}; - -enum asymmetric_payload_bits { - asym_crypto = 0, - asym_subtype = 1, - asym_key_ids = 2, - asym_auth = 3, -}; - -enum ata_completion_errors { - AC_ERR_OK = 0, - AC_ERR_DEV = 1, - AC_ERR_HSM = 2, - AC_ERR_TIMEOUT = 4, - AC_ERR_MEDIA = 8, - AC_ERR_ATA_BUS = 16, - AC_ERR_HOST_BUS = 32, - AC_ERR_SYSTEM = 64, - AC_ERR_INVALID = 128, - AC_ERR_OTHER = 256, - AC_ERR_NODEV_HINT = 512, - AC_ERR_NCQ = 1024, -}; - -enum ata_dev_iter_mode { - ATA_DITER_ENABLED = 0, - ATA_DITER_ENABLED_REVERSE = 1, - ATA_DITER_ALL = 2, - ATA_DITER_ALL_REVERSE = 3, -}; - -enum ata_link_iter_mode { - ATA_LITER_EDGE = 0, - ATA_LITER_HOST_FIRST = 1, - ATA_LITER_PMP_FIRST = 2, -}; - -enum ata_lpm_hints { - ATA_LPM_EMPTY = 1, - ATA_LPM_HIPM = 2, - ATA_LPM_WAKE_ONLY = 4, -}; - -enum ata_lpm_policy { - ATA_LPM_UNKNOWN = 0, - ATA_LPM_MAX_POWER = 1, - ATA_LPM_MED_POWER = 2, - ATA_LPM_MED_POWER_WITH_DIPM = 3, - ATA_LPM_MIN_POWER_WITH_PARTIAL = 4, - ATA_LPM_MIN_POWER = 5, -}; - -enum ata_prot_flags { - ATA_PROT_FLAG_PIO = 1, - ATA_PROT_FLAG_DMA = 2, - ATA_PROT_FLAG_NCQ = 4, - ATA_PROT_FLAG_ATAPI = 8, - ATA_PROT_UNKNOWN = 255, - ATA_PROT_NODATA = 0, - ATA_PROT_PIO = 1, - ATA_PROT_DMA = 2, - ATA_PROT_NCQ_NODATA = 4, - ATA_PROT_NCQ = 6, - ATAPI_PROT_NODATA = 8, - ATAPI_PROT_PIO = 9, - ATAPI_PROT_DMA = 10, -}; - -enum ata_quirks { - __ATA_QUIRK_DIAGNOSTIC = 0, - __ATA_QUIRK_NODMA = 1, - __ATA_QUIRK_NONCQ = 2, - __ATA_QUIRK_MAX_SEC_128 = 3, - __ATA_QUIRK_BROKEN_HPA = 4, - __ATA_QUIRK_DISABLE = 5, - __ATA_QUIRK_HPA_SIZE = 6, - __ATA_QUIRK_IVB = 7, - __ATA_QUIRK_STUCK_ERR = 8, - __ATA_QUIRK_BRIDGE_OK = 9, - __ATA_QUIRK_ATAPI_MOD16_DMA = 10, - __ATA_QUIRK_FIRMWARE_WARN = 11, - __ATA_QUIRK_1_5_GBPS = 12, - __ATA_QUIRK_NOSETXFER = 13, - __ATA_QUIRK_BROKEN_FPDMA_AA = 14, - __ATA_QUIRK_DUMP_ID = 15, - __ATA_QUIRK_MAX_SEC_LBA48 = 16, - __ATA_QUIRK_ATAPI_DMADIR = 17, - __ATA_QUIRK_NO_NCQ_TRIM = 18, - __ATA_QUIRK_NOLPM = 19, - __ATA_QUIRK_WD_BROKEN_LPM = 20, - __ATA_QUIRK_ZERO_AFTER_TRIM = 21, - __ATA_QUIRK_NO_DMA_LOG = 22, - __ATA_QUIRK_NOTRIM = 23, - __ATA_QUIRK_MAX_SEC_1024 = 24, - __ATA_QUIRK_MAX_TRIM_128M = 25, - __ATA_QUIRK_NO_NCQ_ON_ATI = 26, - __ATA_QUIRK_NO_LPM_ON_ATI = 27, - __ATA_QUIRK_NO_ID_DEV_LOG = 28, - __ATA_QUIRK_NO_LOG_DIR = 29, - __ATA_QUIRK_NO_FUA = 30, - __ATA_QUIRK_MAX = 31, -}; - -enum ata_xfer_mask { - ATA_MASK_PIO = 127, - ATA_MASK_MWDMA = 3968, - ATA_MASK_UDMA = 1044480, -}; - -enum audit_mode { - AUDIT_NORMAL = 0, - AUDIT_QUIET_DENIED = 1, - AUDIT_QUIET = 2, - AUDIT_NOQUIET = 3, - AUDIT_ALL = 4, -}; - -enum audit_nfcfgop { - AUDIT_XT_OP_REGISTER = 0, - AUDIT_XT_OP_REPLACE = 1, - AUDIT_XT_OP_UNREGISTER = 2, - AUDIT_NFT_OP_TABLE_REGISTER = 3, - AUDIT_NFT_OP_TABLE_UNREGISTER = 4, - AUDIT_NFT_OP_CHAIN_REGISTER = 5, - AUDIT_NFT_OP_CHAIN_UNREGISTER = 6, - AUDIT_NFT_OP_RULE_REGISTER = 7, - AUDIT_NFT_OP_RULE_UNREGISTER = 8, - AUDIT_NFT_OP_SET_REGISTER = 9, - AUDIT_NFT_OP_SET_UNREGISTER = 10, - AUDIT_NFT_OP_SETELEM_REGISTER = 11, - AUDIT_NFT_OP_SETELEM_UNREGISTER = 12, - AUDIT_NFT_OP_GEN_REGISTER = 13, - AUDIT_NFT_OP_OBJ_REGISTER = 14, - AUDIT_NFT_OP_OBJ_UNREGISTER = 15, - AUDIT_NFT_OP_OBJ_RESET = 16, - AUDIT_NFT_OP_FLOWTABLE_REGISTER = 17, - AUDIT_NFT_OP_FLOWTABLE_UNREGISTER = 18, - AUDIT_NFT_OP_SETELEM_RESET = 19, - AUDIT_NFT_OP_RULE_RESET = 20, - AUDIT_NFT_OP_INVALID = 21, -}; - -enum audit_nlgrps { - AUDIT_NLGRP_NONE = 0, - AUDIT_NLGRP_READLOG = 1, - __AUDIT_NLGRP_MAX = 2, -}; - -enum audit_ntp_type { - AUDIT_NTP_OFFSET = 0, - AUDIT_NTP_FREQ = 1, - AUDIT_NTP_STATUS = 2, - AUDIT_NTP_TAI = 3, - AUDIT_NTP_TICK = 4, - AUDIT_NTP_ADJUST = 5, - AUDIT_NTP_NVALS = 6, -}; - -enum audit_state { - AUDIT_STATE_DISABLED = 0, - AUDIT_STATE_BUILD = 1, - AUDIT_STATE_RECORD = 2, -}; - -enum audit_type { - AUDIT_APPARMOR_AUDIT = 0, - AUDIT_APPARMOR_ALLOWED = 1, - AUDIT_APPARMOR_DENIED = 2, - AUDIT_APPARMOR_HINT = 3, - AUDIT_APPARMOR_STATUS = 4, - AUDIT_APPARMOR_ERROR = 5, - AUDIT_APPARMOR_KILL = 6, - AUDIT_APPARMOR_USER = 7, - AUDIT_APPARMOR_AUTO = 8, -}; - -enum auditsc_class_t { - AUDITSC_NATIVE = 0, - AUDITSC_COMPAT = 1, - AUDITSC_OPEN = 2, - AUDITSC_OPENAT = 3, - AUDITSC_SOCKETCALL = 4, - AUDITSC_EXECVE = 5, - AUDITSC_OPENAT2 = 6, - AUDITSC_NVALS = 7, -}; - -enum axp20x_variants { - AXP152_ID = 0, - AXP192_ID = 1, - AXP202_ID = 2, - AXP209_ID = 3, - AXP221_ID = 4, - AXP223_ID = 5, - AXP288_ID = 6, - AXP313A_ID = 7, - AXP323_ID = 8, - AXP717_ID = 9, - AXP803_ID = 10, - AXP806_ID = 11, - AXP809_ID = 12, - AXP813_ID = 13, - AXP15060_ID = 14, - NR_AXP20X_VARIANTS = 15, -}; - -enum backlight_scale { - BACKLIGHT_SCALE_UNKNOWN = 0, - BACKLIGHT_SCALE_LINEAR = 1, - BACKLIGHT_SCALE_NON_LINEAR = 2, -}; - -enum backlight_type { - BACKLIGHT_RAW = 1, - BACKLIGHT_PLATFORM = 2, - BACKLIGHT_FIRMWARE = 3, - BACKLIGHT_TYPE_MAX = 4, -}; - -enum backlight_update_reason { - BACKLIGHT_UPDATE_HOTKEY = 0, - BACKLIGHT_UPDATE_SYSFS = 1, -}; - -enum batadv_packettype { - BATADV_IV_OGM = 0, - BATADV_BCAST = 1, - BATADV_CODED = 2, - BATADV_ELP = 3, - BATADV_OGM2 = 4, - BATADV_MCAST = 5, - BATADV_UNICAST = 64, - BATADV_UNICAST_FRAG = 65, - BATADV_UNICAST_4ADDR = 66, - BATADV_ICMP = 67, - BATADV_UNICAST_TVLV = 68, -}; - -enum behavior { - EXCLUSIVE = 0, - SHARED = 1, - DROP = 2, -}; - -enum bh_state_bits { - BH_Uptodate = 0, - BH_Dirty = 1, - BH_Lock = 2, - BH_Req = 3, - BH_Mapped = 4, - BH_New = 5, - BH_Async_Read = 6, - BH_Async_Write = 7, - BH_Delay = 8, - BH_Boundary = 9, - BH_Write_EIO = 10, - BH_Unwritten = 11, - BH_Quiet = 12, - BH_Meta = 13, - BH_Prio = 14, - BH_Defer_Completion = 15, - BH_Migrate = 16, - BH_PrivateStart = 17, -}; - -enum bhi_mitigations { - BHI_MITIGATION_OFF = 0, - BHI_MITIGATION_AUTO = 1, - BHI_MITIGATION_ON = 2, - BHI_MITIGATION_VMEXIT_ONLY = 3, -}; - -enum bio_merge_status { - BIO_MERGE_OK = 0, - BIO_MERGE_NONE = 1, - BIO_MERGE_FAILED = 2, -}; - -enum bio_post_read_step { - STEP_INITIAL = 0, - STEP_DECRYPT = 1, - STEP_VERITY = 2, - STEP_MAX = 3, -}; - -enum bios_platform_class { - BIOS_CLIENT = 0, - BIOS_SERVER = 1, -}; - -enum bip_flags { - BIP_BLOCK_INTEGRITY = 1, - BIP_MAPPED_INTEGRITY = 2, - BIP_DISK_NOCHECK = 4, - BIP_IP_CHECKSUM = 8, - BIP_COPY_USER = 16, - BIP_CHECK_GUARD = 32, - BIP_CHECK_REFTAG = 64, - BIP_CHECK_APPTAG = 128, -}; - -enum bitmap_page_attr { - BITMAP_PAGE_DIRTY = 0, - BITMAP_PAGE_PENDING = 1, - BITMAP_PAGE_NEEDWRITE = 2, -}; - -enum bitmap_state { - BITMAP_STALE = 1, - BITMAP_WRITE_ERROR = 2, - BITMAP_HOSTENDIAN = 15, -}; - -enum blacklist_hash_type { - BLACKLIST_HASH_X509_TBS = 1, - BLACKLIST_HASH_BINARY = 2, -}; - -enum blake2s_iv { - BLAKE2S_IV0 = 1779033703, - BLAKE2S_IV1 = 3144134277, - BLAKE2S_IV2 = 1013904242, - BLAKE2S_IV3 = 2773480762, - BLAKE2S_IV4 = 1359893119, - BLAKE2S_IV5 = 2600822924, - BLAKE2S_IV6 = 528734635, - BLAKE2S_IV7 = 1541459225, -}; - -enum blake2s_lengths { - BLAKE2S_BLOCK_SIZE = 64, - BLAKE2S_HASH_SIZE = 32, - BLAKE2S_KEY_SIZE = 32, - BLAKE2S_128_HASH_SIZE = 16, - BLAKE2S_160_HASH_SIZE = 20, - BLAKE2S_224_HASH_SIZE = 28, - BLAKE2S_256_HASH_SIZE = 32, -}; - -enum blk_crypto_key_type { - BLK_CRYPTO_KEY_TYPE_RAW = 1, - BLK_CRYPTO_KEY_TYPE_HW_WRAPPED = 2, -}; - -enum blk_crypto_mode_num { - BLK_ENCRYPTION_MODE_INVALID = 0, - BLK_ENCRYPTION_MODE_AES_256_XTS = 1, - BLK_ENCRYPTION_MODE_AES_128_CBC_ESSIV = 2, - BLK_ENCRYPTION_MODE_ADIANTUM = 3, - BLK_ENCRYPTION_MODE_SM4_XTS = 4, - BLK_ENCRYPTION_MODE_MAX = 5, -}; - -enum blk_default_limits { - BLK_MAX_SEGMENTS = 128, - BLK_SAFE_MAX_SECTORS = 255, - BLK_MAX_SEGMENT_SIZE = 65536, - BLK_SEG_BOUNDARY_MASK = 4294967295, -}; - -enum blk_eh_timer_return { - BLK_EH_DONE = 0, - BLK_EH_RESET_TIMER = 1, -}; - -enum blk_integrity_checksum { - BLK_INTEGRITY_CSUM_NONE = 0, - BLK_INTEGRITY_CSUM_IP = 1, - BLK_INTEGRITY_CSUM_CRC = 2, - BLK_INTEGRITY_CSUM_CRC64 = 3, -} __attribute__((mode(byte))); - -enum blk_integrity_flags { - BLK_INTEGRITY_NOVERIFY = 1, - BLK_INTEGRITY_NOGENERATE = 2, - BLK_INTEGRITY_DEVICE_CAPABLE = 4, - BLK_INTEGRITY_REF_TAG = 8, - BLK_INTEGRITY_STACKED = 16, -}; - -enum blk_req_status { - REQ_PROCESSING = 0, - REQ_WAITING = 1, - REQ_DONE = 2, - REQ_ERROR = 3, - REQ_EOPNOTSUPP = 4, -}; - -enum blk_unique_id { - BLK_UID_T10 = 1, - BLK_UID_EUI64 = 2, - BLK_UID_NAA = 3, -}; - -enum blk_zone_cond { - BLK_ZONE_COND_NOT_WP = 0, - BLK_ZONE_COND_EMPTY = 1, - BLK_ZONE_COND_IMP_OPEN = 2, - BLK_ZONE_COND_EXP_OPEN = 3, - BLK_ZONE_COND_CLOSED = 4, - BLK_ZONE_COND_READONLY = 13, - BLK_ZONE_COND_FULL = 14, - BLK_ZONE_COND_OFFLINE = 15, -}; - -enum blk_zone_report_flags { - BLK_ZONE_REP_CAPACITY = 1, -}; - -enum blk_zone_type { - BLK_ZONE_TYPE_CONVENTIONAL = 1, - BLK_ZONE_TYPE_SEQWRITE_REQ = 2, - BLK_ZONE_TYPE_SEQWRITE_PREF = 3, -}; - -enum blkg_iostat_type { - BLKG_IOSTAT_READ = 0, - BLKG_IOSTAT_WRITE = 1, - BLKG_IOSTAT_DISCARD = 2, - BLKG_IOSTAT_NR = 3, -}; - -enum blkg_rwstat_type { - BLKG_RWSTAT_READ = 0, - BLKG_RWSTAT_WRITE = 1, - BLKG_RWSTAT_SYNC = 2, - BLKG_RWSTAT_ASYNC = 3, - BLKG_RWSTAT_DISCARD = 4, - BLKG_RWSTAT_NR = 5, - BLKG_RWSTAT_TOTAL = 5, -}; - -enum blkif_state { - BLKIF_STATE_DISCONNECTED = 0, - BLKIF_STATE_CONNECTED = 1, - BLKIF_STATE_SUSPENDED = 2, - BLKIF_STATE_ERROR = 3, -}; - -enum blktrace_act { - __BLK_TA_QUEUE = 1, - __BLK_TA_BACKMERGE = 2, - __BLK_TA_FRONTMERGE = 3, - __BLK_TA_GETRQ = 4, - __BLK_TA_SLEEPRQ = 5, - __BLK_TA_REQUEUE = 6, - __BLK_TA_ISSUE = 7, - __BLK_TA_COMPLETE = 8, - __BLK_TA_PLUG = 9, - __BLK_TA_UNPLUG_IO = 10, - __BLK_TA_UNPLUG_TIMER = 11, - __BLK_TA_INSERT = 12, - __BLK_TA_SPLIT = 13, - __BLK_TA_BOUNCE = 14, - __BLK_TA_REMAP = 15, - __BLK_TA_ABORT = 16, - __BLK_TA_DRV_DATA = 17, - __BLK_TA_CGROUP = 256, -}; - -enum blktrace_cat { - BLK_TC_READ = 1, - BLK_TC_WRITE = 2, - BLK_TC_FLUSH = 4, - BLK_TC_SYNC = 8, - BLK_TC_SYNCIO = 8, - BLK_TC_QUEUE = 16, - BLK_TC_REQUEUE = 32, - BLK_TC_ISSUE = 64, - BLK_TC_COMPLETE = 128, - BLK_TC_FS = 256, - BLK_TC_PC = 512, - BLK_TC_NOTIFY = 1024, - BLK_TC_AHEAD = 2048, - BLK_TC_META = 4096, - BLK_TC_DISCARD = 8192, - BLK_TC_DRV_DATA = 16384, - BLK_TC_FUA = 32768, - BLK_TC_END = 32768, -}; - -enum blktrace_notify { - __BLK_TN_PROCESS = 0, - __BLK_TN_TIMESTAMP = 1, - __BLK_TN_MESSAGE = 2, - __BLK_TN_CGROUP = 256, -}; - -enum bootmem_type { - MEMORY_HOTPLUG_MIN_BOOTMEM_TYPE = 1, - SECTION_INFO = 1, - MIX_SECTION_INFO = 2, - NODE_INFO = 3, - MEMORY_HOTPLUG_MAX_BOOTMEM_TYPE = 3, -}; - -enum bp_state { - BP_DONE = 0, - BP_WAIT = 1, - BP_EAGAIN = 2, - BP_ECANCELED = 3, -}; - -enum bp_type_idx { - TYPE_INST = 0, - TYPE_DATA = 0, - TYPE_MAX = 1, -}; - -enum bpf_access_src { - ACCESS_DIRECT = 1, - ACCESS_HELPER = 2, -}; - -enum bpf_access_type { - BPF_READ = 1, - BPF_WRITE = 2, -}; - -enum bpf_addr_space_cast { - BPF_ADDR_SPACE_CAST = 1, -}; - -enum bpf_adj_room_mode { - BPF_ADJ_ROOM_NET = 0, - BPF_ADJ_ROOM_MAC = 1, -}; - -enum bpf_arg_type { - ARG_DONTCARE = 0, - ARG_CONST_MAP_PTR = 1, - ARG_PTR_TO_MAP_KEY = 2, - ARG_PTR_TO_MAP_VALUE = 3, - ARG_PTR_TO_MEM = 4, - ARG_PTR_TO_ARENA = 5, - ARG_CONST_SIZE = 6, - ARG_CONST_SIZE_OR_ZERO = 7, - ARG_PTR_TO_CTX = 8, - ARG_ANYTHING = 9, - ARG_PTR_TO_SPIN_LOCK = 10, - ARG_PTR_TO_SOCK_COMMON = 11, - ARG_PTR_TO_SOCKET = 12, - ARG_PTR_TO_BTF_ID = 13, - ARG_PTR_TO_RINGBUF_MEM = 14, - ARG_CONST_ALLOC_SIZE_OR_ZERO = 15, - ARG_PTR_TO_BTF_ID_SOCK_COMMON = 16, - ARG_PTR_TO_PERCPU_BTF_ID = 17, - ARG_PTR_TO_FUNC = 18, - ARG_PTR_TO_STACK = 19, - ARG_PTR_TO_CONST_STR = 20, - ARG_PTR_TO_TIMER = 21, - ARG_KPTR_XCHG_DEST = 22, - ARG_PTR_TO_DYNPTR = 23, - __BPF_ARG_TYPE_MAX = 24, - ARG_PTR_TO_MAP_VALUE_OR_NULL = 259, - ARG_PTR_TO_MEM_OR_NULL = 260, - ARG_PTR_TO_CTX_OR_NULL = 264, - ARG_PTR_TO_SOCKET_OR_NULL = 268, - ARG_PTR_TO_STACK_OR_NULL = 275, - ARG_PTR_TO_BTF_ID_OR_NULL = 269, - ARG_PTR_TO_UNINIT_MEM = 67141636, - ARG_PTR_TO_FIXED_SIZE_MEM = 262148, - __BPF_ARG_TYPE_LIMIT = 134217727, -}; - -enum bpf_async_type { - BPF_ASYNC_TYPE_TIMER = 0, - BPF_ASYNC_TYPE_WQ = 1, -}; - -enum bpf_attach_type { - BPF_CGROUP_INET_INGRESS = 0, - BPF_CGROUP_INET_EGRESS = 1, - BPF_CGROUP_INET_SOCK_CREATE = 2, - BPF_CGROUP_SOCK_OPS = 3, - BPF_SK_SKB_STREAM_PARSER = 4, - BPF_SK_SKB_STREAM_VERDICT = 5, - BPF_CGROUP_DEVICE = 6, - BPF_SK_MSG_VERDICT = 7, - BPF_CGROUP_INET4_BIND = 8, - BPF_CGROUP_INET6_BIND = 9, - BPF_CGROUP_INET4_CONNECT = 10, - BPF_CGROUP_INET6_CONNECT = 11, - BPF_CGROUP_INET4_POST_BIND = 12, - BPF_CGROUP_INET6_POST_BIND = 13, - BPF_CGROUP_UDP4_SENDMSG = 14, - BPF_CGROUP_UDP6_SENDMSG = 15, - BPF_LIRC_MODE2 = 16, - BPF_FLOW_DISSECTOR = 17, - BPF_CGROUP_SYSCTL = 18, - BPF_CGROUP_UDP4_RECVMSG = 19, - BPF_CGROUP_UDP6_RECVMSG = 20, - BPF_CGROUP_GETSOCKOPT = 21, - BPF_CGROUP_SETSOCKOPT = 22, - BPF_TRACE_RAW_TP = 23, - BPF_TRACE_FENTRY = 24, - BPF_TRACE_FEXIT = 25, - BPF_MODIFY_RETURN = 26, - BPF_LSM_MAC = 27, - BPF_TRACE_ITER = 28, - BPF_CGROUP_INET4_GETPEERNAME = 29, - BPF_CGROUP_INET6_GETPEERNAME = 30, - BPF_CGROUP_INET4_GETSOCKNAME = 31, - BPF_CGROUP_INET6_GETSOCKNAME = 32, - BPF_XDP_DEVMAP = 33, - BPF_CGROUP_INET_SOCK_RELEASE = 34, - BPF_XDP_CPUMAP = 35, - BPF_SK_LOOKUP = 36, - BPF_XDP = 37, - BPF_SK_SKB_VERDICT = 38, - BPF_SK_REUSEPORT_SELECT = 39, - BPF_SK_REUSEPORT_SELECT_OR_MIGRATE = 40, - BPF_PERF_EVENT = 41, - BPF_TRACE_KPROBE_MULTI = 42, - BPF_LSM_CGROUP = 43, - BPF_STRUCT_OPS = 44, - BPF_NETFILTER = 45, - BPF_TCX_INGRESS = 46, - BPF_TCX_EGRESS = 47, - BPF_TRACE_UPROBE_MULTI = 48, - BPF_CGROUP_UNIX_CONNECT = 49, - BPF_CGROUP_UNIX_SENDMSG = 50, - BPF_CGROUP_UNIX_RECVMSG = 51, - BPF_CGROUP_UNIX_GETPEERNAME = 52, - BPF_CGROUP_UNIX_GETSOCKNAME = 53, - BPF_NETKIT_PRIMARY = 54, - BPF_NETKIT_PEER = 55, - BPF_TRACE_KPROBE_SESSION = 56, - BPF_TRACE_UPROBE_SESSION = 57, - __MAX_BPF_ATTACH_TYPE = 58, -}; - -enum bpf_audit { - BPF_AUDIT_LOAD = 0, - BPF_AUDIT_UNLOAD = 1, - BPF_AUDIT_MAX = 2, -}; - -enum bpf_cgroup_iter_order { - BPF_CGROUP_ITER_ORDER_UNSPEC = 0, - BPF_CGROUP_ITER_SELF_ONLY = 1, - BPF_CGROUP_ITER_DESCENDANTS_PRE = 2, - BPF_CGROUP_ITER_DESCENDANTS_POST = 3, - BPF_CGROUP_ITER_ANCESTORS_UP = 4, -}; - -enum bpf_cgroup_storage_type { - BPF_CGROUP_STORAGE_SHARED = 0, - BPF_CGROUP_STORAGE_PERCPU = 1, - __BPF_CGROUP_STORAGE_MAX = 2, -}; - -enum bpf_check_mtu_flags { - BPF_MTU_CHK_SEGS = 1, -}; - -enum bpf_check_mtu_ret { - BPF_MTU_CHK_RET_SUCCESS = 0, - BPF_MTU_CHK_RET_FRAG_NEEDED = 1, - BPF_MTU_CHK_RET_SEGS_TOOBIG = 2, -}; - -enum bpf_cmd { - BPF_MAP_CREATE = 0, - BPF_MAP_LOOKUP_ELEM = 1, - BPF_MAP_UPDATE_ELEM = 2, - BPF_MAP_DELETE_ELEM = 3, - BPF_MAP_GET_NEXT_KEY = 4, - BPF_PROG_LOAD = 5, - BPF_OBJ_PIN = 6, - BPF_OBJ_GET = 7, - BPF_PROG_ATTACH = 8, - BPF_PROG_DETACH = 9, - BPF_PROG_TEST_RUN = 10, - BPF_PROG_RUN = 10, - BPF_PROG_GET_NEXT_ID = 11, - BPF_MAP_GET_NEXT_ID = 12, - BPF_PROG_GET_FD_BY_ID = 13, - BPF_MAP_GET_FD_BY_ID = 14, - BPF_OBJ_GET_INFO_BY_FD = 15, - BPF_PROG_QUERY = 16, - BPF_RAW_TRACEPOINT_OPEN = 17, - BPF_BTF_LOAD = 18, - BPF_BTF_GET_FD_BY_ID = 19, - BPF_TASK_FD_QUERY = 20, - BPF_MAP_LOOKUP_AND_DELETE_ELEM = 21, - BPF_MAP_FREEZE = 22, - BPF_BTF_GET_NEXT_ID = 23, - BPF_MAP_LOOKUP_BATCH = 24, - BPF_MAP_LOOKUP_AND_DELETE_BATCH = 25, - BPF_MAP_UPDATE_BATCH = 26, - BPF_MAP_DELETE_BATCH = 27, - BPF_LINK_CREATE = 28, - BPF_LINK_UPDATE = 29, - BPF_LINK_GET_FD_BY_ID = 30, - BPF_LINK_GET_NEXT_ID = 31, - BPF_ENABLE_STATS = 32, - BPF_ITER_CREATE = 33, - BPF_LINK_DETACH = 34, - BPF_PROG_BIND_MAP = 35, - BPF_TOKEN_CREATE = 36, - BPF_PROG_STREAM_READ_BY_FD = 37, - __MAX_BPF_CMD = 38, -}; - -enum bpf_cond_pseudo_jmp { - BPF_MAY_GOTO = 0, -}; - -enum bpf_core_relo_kind { - BPF_CORE_FIELD_BYTE_OFFSET = 0, - BPF_CORE_FIELD_BYTE_SIZE = 1, - BPF_CORE_FIELD_EXISTS = 2, - BPF_CORE_FIELD_SIGNED = 3, - BPF_CORE_FIELD_LSHIFT_U64 = 4, - BPF_CORE_FIELD_RSHIFT_U64 = 5, - BPF_CORE_TYPE_ID_LOCAL = 6, - BPF_CORE_TYPE_ID_TARGET = 7, - BPF_CORE_TYPE_EXISTS = 8, - BPF_CORE_TYPE_SIZE = 9, - BPF_CORE_ENUMVAL_EXISTS = 10, - BPF_CORE_ENUMVAL_VALUE = 11, - BPF_CORE_TYPE_MATCHES = 12, -}; - -enum bpf_dynptr_type { - BPF_DYNPTR_TYPE_INVALID = 0, - BPF_DYNPTR_TYPE_LOCAL = 1, - BPF_DYNPTR_TYPE_RINGBUF = 2, - BPF_DYNPTR_TYPE_SKB = 3, - BPF_DYNPTR_TYPE_XDP = 4, -}; - -enum bpf_features { - BPF_FEAT_RDONLY_CAST_TO_VOID = 0, - BPF_FEAT_STREAMS = 1, - __MAX_BPF_FEAT = 2, -}; - -enum bpf_func_id { - BPF_FUNC_unspec = 0, - BPF_FUNC_map_lookup_elem = 1, - BPF_FUNC_map_update_elem = 2, - BPF_FUNC_map_delete_elem = 3, - BPF_FUNC_probe_read = 4, - BPF_FUNC_ktime_get_ns = 5, - BPF_FUNC_trace_printk = 6, - BPF_FUNC_get_prandom_u32 = 7, - BPF_FUNC_get_smp_processor_id = 8, - BPF_FUNC_skb_store_bytes = 9, - BPF_FUNC_l3_csum_replace = 10, - BPF_FUNC_l4_csum_replace = 11, - BPF_FUNC_tail_call = 12, - BPF_FUNC_clone_redirect = 13, - BPF_FUNC_get_current_pid_tgid = 14, - BPF_FUNC_get_current_uid_gid = 15, - BPF_FUNC_get_current_comm = 16, - BPF_FUNC_get_cgroup_classid = 17, - BPF_FUNC_skb_vlan_push = 18, - BPF_FUNC_skb_vlan_pop = 19, - BPF_FUNC_skb_get_tunnel_key = 20, - BPF_FUNC_skb_set_tunnel_key = 21, - BPF_FUNC_perf_event_read = 22, - BPF_FUNC_redirect = 23, - BPF_FUNC_get_route_realm = 24, - BPF_FUNC_perf_event_output = 25, - BPF_FUNC_skb_load_bytes = 26, - BPF_FUNC_get_stackid = 27, - BPF_FUNC_csum_diff = 28, - BPF_FUNC_skb_get_tunnel_opt = 29, - BPF_FUNC_skb_set_tunnel_opt = 30, - BPF_FUNC_skb_change_proto = 31, - BPF_FUNC_skb_change_type = 32, - BPF_FUNC_skb_under_cgroup = 33, - BPF_FUNC_get_hash_recalc = 34, - BPF_FUNC_get_current_task = 35, - BPF_FUNC_probe_write_user = 36, - BPF_FUNC_current_task_under_cgroup = 37, - BPF_FUNC_skb_change_tail = 38, - BPF_FUNC_skb_pull_data = 39, - BPF_FUNC_csum_update = 40, - BPF_FUNC_set_hash_invalid = 41, - BPF_FUNC_get_numa_node_id = 42, - BPF_FUNC_skb_change_head = 43, - BPF_FUNC_xdp_adjust_head = 44, - BPF_FUNC_probe_read_str = 45, - BPF_FUNC_get_socket_cookie = 46, - BPF_FUNC_get_socket_uid = 47, - BPF_FUNC_set_hash = 48, - BPF_FUNC_setsockopt = 49, - BPF_FUNC_skb_adjust_room = 50, - BPF_FUNC_redirect_map = 51, - BPF_FUNC_sk_redirect_map = 52, - BPF_FUNC_sock_map_update = 53, - BPF_FUNC_xdp_adjust_meta = 54, - BPF_FUNC_perf_event_read_value = 55, - BPF_FUNC_perf_prog_read_value = 56, - BPF_FUNC_getsockopt = 57, - BPF_FUNC_override_return = 58, - BPF_FUNC_sock_ops_cb_flags_set = 59, - BPF_FUNC_msg_redirect_map = 60, - BPF_FUNC_msg_apply_bytes = 61, - BPF_FUNC_msg_cork_bytes = 62, - BPF_FUNC_msg_pull_data = 63, - BPF_FUNC_bind = 64, - BPF_FUNC_xdp_adjust_tail = 65, - BPF_FUNC_skb_get_xfrm_state = 66, - BPF_FUNC_get_stack = 67, - BPF_FUNC_skb_load_bytes_relative = 68, - BPF_FUNC_fib_lookup = 69, - BPF_FUNC_sock_hash_update = 70, - BPF_FUNC_msg_redirect_hash = 71, - BPF_FUNC_sk_redirect_hash = 72, - BPF_FUNC_lwt_push_encap = 73, - BPF_FUNC_lwt_seg6_store_bytes = 74, - BPF_FUNC_lwt_seg6_adjust_srh = 75, - BPF_FUNC_lwt_seg6_action = 76, - BPF_FUNC_rc_repeat = 77, - BPF_FUNC_rc_keydown = 78, - BPF_FUNC_skb_cgroup_id = 79, - BPF_FUNC_get_current_cgroup_id = 80, - BPF_FUNC_get_local_storage = 81, - BPF_FUNC_sk_select_reuseport = 82, - BPF_FUNC_skb_ancestor_cgroup_id = 83, - BPF_FUNC_sk_lookup_tcp = 84, - BPF_FUNC_sk_lookup_udp = 85, - BPF_FUNC_sk_release = 86, - BPF_FUNC_map_push_elem = 87, - BPF_FUNC_map_pop_elem = 88, - BPF_FUNC_map_peek_elem = 89, - BPF_FUNC_msg_push_data = 90, - BPF_FUNC_msg_pop_data = 91, - BPF_FUNC_rc_pointer_rel = 92, - BPF_FUNC_spin_lock = 93, - BPF_FUNC_spin_unlock = 94, - BPF_FUNC_sk_fullsock = 95, - BPF_FUNC_tcp_sock = 96, - BPF_FUNC_skb_ecn_set_ce = 97, - BPF_FUNC_get_listener_sock = 98, - BPF_FUNC_skc_lookup_tcp = 99, - BPF_FUNC_tcp_check_syncookie = 100, - BPF_FUNC_sysctl_get_name = 101, - BPF_FUNC_sysctl_get_current_value = 102, - BPF_FUNC_sysctl_get_new_value = 103, - BPF_FUNC_sysctl_set_new_value = 104, - BPF_FUNC_strtol = 105, - BPF_FUNC_strtoul = 106, - BPF_FUNC_sk_storage_get = 107, - BPF_FUNC_sk_storage_delete = 108, - BPF_FUNC_send_signal = 109, - BPF_FUNC_tcp_gen_syncookie = 110, - BPF_FUNC_skb_output = 111, - BPF_FUNC_probe_read_user = 112, - BPF_FUNC_probe_read_kernel = 113, - BPF_FUNC_probe_read_user_str = 114, - BPF_FUNC_probe_read_kernel_str = 115, - BPF_FUNC_tcp_send_ack = 116, - BPF_FUNC_send_signal_thread = 117, - BPF_FUNC_jiffies64 = 118, - BPF_FUNC_read_branch_records = 119, - BPF_FUNC_get_ns_current_pid_tgid = 120, - BPF_FUNC_xdp_output = 121, - BPF_FUNC_get_netns_cookie = 122, - BPF_FUNC_get_current_ancestor_cgroup_id = 123, - BPF_FUNC_sk_assign = 124, - BPF_FUNC_ktime_get_boot_ns = 125, - BPF_FUNC_seq_printf = 126, - BPF_FUNC_seq_write = 127, - BPF_FUNC_sk_cgroup_id = 128, - BPF_FUNC_sk_ancestor_cgroup_id = 129, - BPF_FUNC_ringbuf_output = 130, - BPF_FUNC_ringbuf_reserve = 131, - BPF_FUNC_ringbuf_submit = 132, - BPF_FUNC_ringbuf_discard = 133, - BPF_FUNC_ringbuf_query = 134, - BPF_FUNC_csum_level = 135, - BPF_FUNC_skc_to_tcp6_sock = 136, - BPF_FUNC_skc_to_tcp_sock = 137, - BPF_FUNC_skc_to_tcp_timewait_sock = 138, - BPF_FUNC_skc_to_tcp_request_sock = 139, - BPF_FUNC_skc_to_udp6_sock = 140, - BPF_FUNC_get_task_stack = 141, - BPF_FUNC_load_hdr_opt = 142, - BPF_FUNC_store_hdr_opt = 143, - BPF_FUNC_reserve_hdr_opt = 144, - BPF_FUNC_inode_storage_get = 145, - BPF_FUNC_inode_storage_delete = 146, - BPF_FUNC_d_path = 147, - BPF_FUNC_copy_from_user = 148, - BPF_FUNC_snprintf_btf = 149, - BPF_FUNC_seq_printf_btf = 150, - BPF_FUNC_skb_cgroup_classid = 151, - BPF_FUNC_redirect_neigh = 152, - BPF_FUNC_per_cpu_ptr = 153, - BPF_FUNC_this_cpu_ptr = 154, - BPF_FUNC_redirect_peer = 155, - BPF_FUNC_task_storage_get = 156, - BPF_FUNC_task_storage_delete = 157, - BPF_FUNC_get_current_task_btf = 158, - BPF_FUNC_bprm_opts_set = 159, - BPF_FUNC_ktime_get_coarse_ns = 160, - BPF_FUNC_ima_inode_hash = 161, - BPF_FUNC_sock_from_file = 162, - BPF_FUNC_check_mtu = 163, - BPF_FUNC_for_each_map_elem = 164, - BPF_FUNC_snprintf = 165, - BPF_FUNC_sys_bpf = 166, - BPF_FUNC_btf_find_by_name_kind = 167, - BPF_FUNC_sys_close = 168, - BPF_FUNC_timer_init = 169, - BPF_FUNC_timer_set_callback = 170, - BPF_FUNC_timer_start = 171, - BPF_FUNC_timer_cancel = 172, - BPF_FUNC_get_func_ip = 173, - BPF_FUNC_get_attach_cookie = 174, - BPF_FUNC_task_pt_regs = 175, - BPF_FUNC_get_branch_snapshot = 176, - BPF_FUNC_trace_vprintk = 177, - BPF_FUNC_skc_to_unix_sock = 178, - BPF_FUNC_kallsyms_lookup_name = 179, - BPF_FUNC_find_vma = 180, - BPF_FUNC_loop = 181, - BPF_FUNC_strncmp = 182, - BPF_FUNC_get_func_arg = 183, - BPF_FUNC_get_func_ret = 184, - BPF_FUNC_get_func_arg_cnt = 185, - BPF_FUNC_get_retval = 186, - BPF_FUNC_set_retval = 187, - BPF_FUNC_xdp_get_buff_len = 188, - BPF_FUNC_xdp_load_bytes = 189, - BPF_FUNC_xdp_store_bytes = 190, - BPF_FUNC_copy_from_user_task = 191, - BPF_FUNC_skb_set_tstamp = 192, - BPF_FUNC_ima_file_hash = 193, - BPF_FUNC_kptr_xchg = 194, - BPF_FUNC_map_lookup_percpu_elem = 195, - BPF_FUNC_skc_to_mptcp_sock = 196, - BPF_FUNC_dynptr_from_mem = 197, - BPF_FUNC_ringbuf_reserve_dynptr = 198, - BPF_FUNC_ringbuf_submit_dynptr = 199, - BPF_FUNC_ringbuf_discard_dynptr = 200, - BPF_FUNC_dynptr_read = 201, - BPF_FUNC_dynptr_write = 202, - BPF_FUNC_dynptr_data = 203, - BPF_FUNC_tcp_raw_gen_syncookie_ipv4 = 204, - BPF_FUNC_tcp_raw_gen_syncookie_ipv6 = 205, - BPF_FUNC_tcp_raw_check_syncookie_ipv4 = 206, - BPF_FUNC_tcp_raw_check_syncookie_ipv6 = 207, - BPF_FUNC_ktime_get_tai_ns = 208, - BPF_FUNC_user_ringbuf_drain = 209, - BPF_FUNC_cgrp_storage_get = 210, - BPF_FUNC_cgrp_storage_delete = 211, - __BPF_FUNC_MAX_ID = 212, -}; - -enum bpf_hdr_start_off { - BPF_HDR_START_MAC = 0, - BPF_HDR_START_NET = 1, -}; - -enum bpf_iter_feature { - BPF_ITER_RESCHED = 1, -}; - -enum bpf_iter_state { - BPF_ITER_STATE_INVALID = 0, - BPF_ITER_STATE_ACTIVE = 1, - BPF_ITER_STATE_DRAINED = 2, -}; - -enum bpf_iter_task_type { - BPF_TASK_ITER_ALL = 0, - BPF_TASK_ITER_TID = 1, - BPF_TASK_ITER_TGID = 2, -}; - -enum bpf_jit_poke_reason { - BPF_POKE_REASON_TAIL_CALL = 0, -}; - -enum bpf_kfunc_flags { - BPF_F_PAD_ZEROS = 1, -}; - -enum bpf_link_type { - BPF_LINK_TYPE_UNSPEC = 0, - BPF_LINK_TYPE_RAW_TRACEPOINT = 1, - BPF_LINK_TYPE_TRACING = 2, - BPF_LINK_TYPE_CGROUP = 3, - BPF_LINK_TYPE_ITER = 4, - BPF_LINK_TYPE_NETNS = 5, - BPF_LINK_TYPE_XDP = 6, - BPF_LINK_TYPE_PERF_EVENT = 7, - BPF_LINK_TYPE_KPROBE_MULTI = 8, - BPF_LINK_TYPE_STRUCT_OPS = 9, - BPF_LINK_TYPE_NETFILTER = 10, - BPF_LINK_TYPE_TCX = 11, - BPF_LINK_TYPE_UPROBE_MULTI = 12, - BPF_LINK_TYPE_NETKIT = 13, - BPF_LINK_TYPE_SOCKMAP = 14, - __MAX_BPF_LINK_TYPE = 15, -}; - -enum bpf_lru_list_type { - BPF_LRU_LIST_T_ACTIVE = 0, - BPF_LRU_LIST_T_INACTIVE = 1, - BPF_LRU_LIST_T_FREE = 2, - BPF_LRU_LOCAL_LIST_T_FREE = 3, - BPF_LRU_LOCAL_LIST_T_PENDING = 4, -}; - -enum bpf_lwt_encap_mode { - BPF_LWT_ENCAP_SEG6 = 0, - BPF_LWT_ENCAP_SEG6_INLINE = 1, - BPF_LWT_ENCAP_IP = 2, -}; - -enum bpf_map_type { - BPF_MAP_TYPE_UNSPEC = 0, - BPF_MAP_TYPE_HASH = 1, - BPF_MAP_TYPE_ARRAY = 2, - BPF_MAP_TYPE_PROG_ARRAY = 3, - BPF_MAP_TYPE_PERF_EVENT_ARRAY = 4, - BPF_MAP_TYPE_PERCPU_HASH = 5, - BPF_MAP_TYPE_PERCPU_ARRAY = 6, - BPF_MAP_TYPE_STACK_TRACE = 7, - BPF_MAP_TYPE_CGROUP_ARRAY = 8, - BPF_MAP_TYPE_LRU_HASH = 9, - BPF_MAP_TYPE_LRU_PERCPU_HASH = 10, - BPF_MAP_TYPE_LPM_TRIE = 11, - BPF_MAP_TYPE_ARRAY_OF_MAPS = 12, - BPF_MAP_TYPE_HASH_OF_MAPS = 13, - BPF_MAP_TYPE_DEVMAP = 14, - BPF_MAP_TYPE_SOCKMAP = 15, - BPF_MAP_TYPE_CPUMAP = 16, - BPF_MAP_TYPE_XSKMAP = 17, - BPF_MAP_TYPE_SOCKHASH = 18, - BPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED = 19, - BPF_MAP_TYPE_CGROUP_STORAGE = 19, - BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 20, - BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE_DEPRECATED = 21, - BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 21, - BPF_MAP_TYPE_QUEUE = 22, - BPF_MAP_TYPE_STACK = 23, - BPF_MAP_TYPE_SK_STORAGE = 24, - BPF_MAP_TYPE_DEVMAP_HASH = 25, - BPF_MAP_TYPE_STRUCT_OPS = 26, - BPF_MAP_TYPE_RINGBUF = 27, - BPF_MAP_TYPE_INODE_STORAGE = 28, - BPF_MAP_TYPE_TASK_STORAGE = 29, - BPF_MAP_TYPE_BLOOM_FILTER = 30, - BPF_MAP_TYPE_USER_RINGBUF = 31, - BPF_MAP_TYPE_CGRP_STORAGE = 32, - BPF_MAP_TYPE_ARENA = 33, - __MAX_BPF_MAP_TYPE = 34, -}; - -enum bpf_netdev_command { - XDP_SETUP_PROG = 0, - XDP_SETUP_PROG_HW = 1, - BPF_OFFLOAD_MAP_ALLOC = 2, - BPF_OFFLOAD_MAP_FREE = 3, - XDP_SETUP_XSK_POOL = 4, -}; - -enum bpf_perf_event_type { - BPF_PERF_EVENT_UNSPEC = 0, - BPF_PERF_EVENT_UPROBE = 1, - BPF_PERF_EVENT_URETPROBE = 2, - BPF_PERF_EVENT_KPROBE = 3, - BPF_PERF_EVENT_KRETPROBE = 4, - BPF_PERF_EVENT_TRACEPOINT = 5, - BPF_PERF_EVENT_EVENT = 6, -}; - -enum bpf_prog_type { - BPF_PROG_TYPE_UNSPEC = 0, - BPF_PROG_TYPE_SOCKET_FILTER = 1, - BPF_PROG_TYPE_KPROBE = 2, - BPF_PROG_TYPE_SCHED_CLS = 3, - BPF_PROG_TYPE_SCHED_ACT = 4, - BPF_PROG_TYPE_TRACEPOINT = 5, - BPF_PROG_TYPE_XDP = 6, - BPF_PROG_TYPE_PERF_EVENT = 7, - BPF_PROG_TYPE_CGROUP_SKB = 8, - BPF_PROG_TYPE_CGROUP_SOCK = 9, - BPF_PROG_TYPE_LWT_IN = 10, - BPF_PROG_TYPE_LWT_OUT = 11, - BPF_PROG_TYPE_LWT_XMIT = 12, - BPF_PROG_TYPE_SOCK_OPS = 13, - BPF_PROG_TYPE_SK_SKB = 14, - BPF_PROG_TYPE_CGROUP_DEVICE = 15, - BPF_PROG_TYPE_SK_MSG = 16, - BPF_PROG_TYPE_RAW_TRACEPOINT = 17, - BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 18, - BPF_PROG_TYPE_LWT_SEG6LOCAL = 19, - BPF_PROG_TYPE_LIRC_MODE2 = 20, - BPF_PROG_TYPE_SK_REUSEPORT = 21, - BPF_PROG_TYPE_FLOW_DISSECTOR = 22, - BPF_PROG_TYPE_CGROUP_SYSCTL = 23, - BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE = 24, - BPF_PROG_TYPE_CGROUP_SOCKOPT = 25, - BPF_PROG_TYPE_TRACING = 26, - BPF_PROG_TYPE_STRUCT_OPS = 27, - BPF_PROG_TYPE_EXT = 28, - BPF_PROG_TYPE_LSM = 29, - BPF_PROG_TYPE_SK_LOOKUP = 30, - BPF_PROG_TYPE_SYSCALL = 31, - BPF_PROG_TYPE_NETFILTER = 32, - __MAX_BPF_PROG_TYPE = 33, -}; - -enum bpf_reg_liveness { - REG_LIVE_NONE = 0, - REG_LIVE_READ32 = 1, - REG_LIVE_READ64 = 2, - REG_LIVE_READ = 3, - REG_LIVE_WRITTEN = 4, - REG_LIVE_DONE = 8, -}; - -enum bpf_reg_type { - NOT_INIT = 0, - SCALAR_VALUE = 1, - PTR_TO_CTX = 2, - CONST_PTR_TO_MAP = 3, - PTR_TO_MAP_VALUE = 4, - PTR_TO_MAP_KEY = 5, - PTR_TO_STACK = 6, - PTR_TO_PACKET_META = 7, - PTR_TO_PACKET = 8, - PTR_TO_PACKET_END = 9, - PTR_TO_FLOW_KEYS = 10, - PTR_TO_SOCKET = 11, - PTR_TO_SOCK_COMMON = 12, - PTR_TO_TCP_SOCK = 13, - PTR_TO_TP_BUFFER = 14, - PTR_TO_XDP_SOCK = 15, - PTR_TO_BTF_ID = 16, - PTR_TO_MEM = 17, - PTR_TO_ARENA = 18, - PTR_TO_BUF = 19, - PTR_TO_FUNC = 20, - CONST_PTR_TO_DYNPTR = 21, - __BPF_REG_TYPE_MAX = 22, - PTR_TO_MAP_VALUE_OR_NULL = 260, - PTR_TO_SOCKET_OR_NULL = 267, - PTR_TO_SOCK_COMMON_OR_NULL = 268, - PTR_TO_TCP_SOCK_OR_NULL = 269, - PTR_TO_BTF_ID_OR_NULL = 272, - __BPF_REG_TYPE_LIMIT = 134217727, -}; - -enum bpf_ret_code { - BPF_OK = 0, - BPF_DROP = 2, - BPF_REDIRECT = 7, - BPF_LWT_REROUTE = 128, - BPF_FLOW_DISSECTOR_CONTINUE = 129, -}; - -enum bpf_return_type { - RET_INTEGER = 0, - RET_VOID = 1, - RET_PTR_TO_MAP_VALUE = 2, - RET_PTR_TO_SOCKET = 3, - RET_PTR_TO_TCP_SOCK = 4, - RET_PTR_TO_SOCK_COMMON = 5, - RET_PTR_TO_MEM = 6, - RET_PTR_TO_MEM_OR_BTF_ID = 7, - RET_PTR_TO_BTF_ID = 8, - __BPF_RET_TYPE_MAX = 9, - RET_PTR_TO_MAP_VALUE_OR_NULL = 258, - RET_PTR_TO_SOCKET_OR_NULL = 259, - RET_PTR_TO_TCP_SOCK_OR_NULL = 260, - RET_PTR_TO_SOCK_COMMON_OR_NULL = 261, - RET_PTR_TO_RINGBUF_MEM_OR_NULL = 1286, - RET_PTR_TO_DYNPTR_MEM_OR_NULL = 262, - RET_PTR_TO_BTF_ID_OR_NULL = 264, - RET_PTR_TO_BTF_ID_TRUSTED = 1048584, - __BPF_RET_TYPE_LIMIT = 134217727, -}; - -enum bpf_stack_build_id_status { - BPF_STACK_BUILD_ID_EMPTY = 0, - BPF_STACK_BUILD_ID_VALID = 1, - BPF_STACK_BUILD_ID_IP = 2, -}; - -enum bpf_stack_slot_type { - STACK_INVALID = 0, - STACK_SPILL = 1, - STACK_MISC = 2, - STACK_ZERO = 3, - STACK_DYNPTR = 4, - STACK_ITER = 5, - STACK_IRQ_FLAG = 6, -}; - -enum bpf_stats_type { - BPF_STATS_RUN_TIME = 0, -}; - -enum bpf_stream_id { - BPF_STDOUT = 1, - BPF_STDERR = 2, -}; - -enum bpf_struct_ops_state { - BPF_STRUCT_OPS_STATE_INIT = 0, - BPF_STRUCT_OPS_STATE_INUSE = 1, - BPF_STRUCT_OPS_STATE_TOBEFREE = 2, - BPF_STRUCT_OPS_STATE_READY = 3, -}; - -enum bpf_struct_walk_result { - WALK_SCALAR = 0, - WALK_PTR = 1, - WALK_PTR_UNTRUSTED = 2, - WALK_STRUCT = 3, -}; - -enum bpf_task_fd_type { - BPF_FD_TYPE_RAW_TRACEPOINT = 0, - BPF_FD_TYPE_TRACEPOINT = 1, - BPF_FD_TYPE_KPROBE = 2, - BPF_FD_TYPE_KRETPROBE = 3, - BPF_FD_TYPE_UPROBE = 4, - BPF_FD_TYPE_URETPROBE = 5, -}; - -enum bpf_task_vma_iter_find_op { - task_vma_iter_first_vma = 0, - task_vma_iter_next_vma = 1, - task_vma_iter_find_vma = 2, -}; - -enum bpf_text_poke_type { - BPF_MOD_CALL = 0, - BPF_MOD_JUMP = 1, -}; - -enum bpf_tramp_prog_type { - BPF_TRAMP_FENTRY = 0, - BPF_TRAMP_FEXIT = 1, - BPF_TRAMP_MODIFY_RETURN = 2, - BPF_TRAMP_MAX = 3, - BPF_TRAMP_REPLACE = 4, -}; - -enum bpf_type { - BPF_TYPE_UNSPEC = 0, - BPF_TYPE_PROG = 1, - BPF_TYPE_MAP = 2, - BPF_TYPE_LINK = 3, -}; - -enum bpf_type_flag { - PTR_MAYBE_NULL = 256, - MEM_RDONLY = 512, - MEM_RINGBUF = 1024, - MEM_USER = 2048, - MEM_PERCPU = 4096, - OBJ_RELEASE = 8192, - PTR_UNTRUSTED = 16384, - MEM_UNINIT = 32768, - DYNPTR_TYPE_LOCAL = 65536, - DYNPTR_TYPE_RINGBUF = 131072, - MEM_FIXED_SIZE = 262144, - MEM_ALLOC = 524288, - PTR_TRUSTED = 1048576, - MEM_RCU = 2097152, - NON_OWN_REF = 4194304, - DYNPTR_TYPE_SKB = 8388608, - DYNPTR_TYPE_XDP = 16777216, - MEM_ALIGNED = 33554432, - MEM_WRITE = 67108864, - __BPF_TYPE_FLAG_MAX = 67108865, - __BPF_TYPE_LAST_FLAG = 67108864, -}; - -enum bpf_xdp_mode { - XDP_MODE_SKB = 0, - XDP_MODE_DRV = 1, - XDP_MODE_HW = 2, - __MAX_XDP_MODE = 3, -}; - -enum btf_arg_tag { - ARG_TAG_CTX = 1, - ARG_TAG_NONNULL = 2, - ARG_TAG_TRUSTED = 4, - ARG_TAG_UNTRUSTED = 8, - ARG_TAG_NULLABLE = 16, - ARG_TAG_ARENA = 32, -}; - -enum btf_field_iter_kind { - BTF_FIELD_ITER_IDS = 0, - BTF_FIELD_ITER_STRS = 1, -}; - -enum btf_field_type { - BPF_SPIN_LOCK = 1, - BPF_TIMER = 2, - BPF_KPTR_UNREF = 4, - BPF_KPTR_REF = 8, - BPF_KPTR_PERCPU = 16, - BPF_KPTR = 28, - BPF_LIST_HEAD = 32, - BPF_LIST_NODE = 64, - BPF_RB_ROOT = 128, - BPF_RB_NODE = 256, - BPF_GRAPH_NODE = 320, - BPF_GRAPH_ROOT = 160, - BPF_REFCOUNT = 512, - BPF_WORKQUEUE = 1024, - BPF_UPTR = 2048, - BPF_RES_SPIN_LOCK = 4096, -}; - -enum btf_func_linkage { - BTF_FUNC_STATIC = 0, - BTF_FUNC_GLOBAL = 1, - BTF_FUNC_EXTERN = 2, -}; - -enum btf_kfunc_hook { - BTF_KFUNC_HOOK_COMMON = 0, - BTF_KFUNC_HOOK_XDP = 1, - BTF_KFUNC_HOOK_TC = 2, - BTF_KFUNC_HOOK_STRUCT_OPS = 3, - BTF_KFUNC_HOOK_TRACING = 4, - BTF_KFUNC_HOOK_SYSCALL = 5, - BTF_KFUNC_HOOK_FMODRET = 6, - BTF_KFUNC_HOOK_CGROUP = 7, - BTF_KFUNC_HOOK_SCHED_ACT = 8, - BTF_KFUNC_HOOK_SK_SKB = 9, - BTF_KFUNC_HOOK_SOCKET_FILTER = 10, - BTF_KFUNC_HOOK_LWT = 11, - BTF_KFUNC_HOOK_NETFILTER = 12, - BTF_KFUNC_HOOK_KPROBE = 13, - BTF_KFUNC_HOOK_MAX = 14, -}; - -enum bug_trap_type { - BUG_TRAP_TYPE_NONE = 0, - BUG_TRAP_TYPE_WARN = 1, - BUG_TRAP_TYPE_BUG = 2, -}; - -enum bus_notifier_event { - BUS_NOTIFY_ADD_DEVICE = 0, - BUS_NOTIFY_DEL_DEVICE = 1, - BUS_NOTIFY_REMOVED_DEVICE = 2, - BUS_NOTIFY_BIND_DRIVER = 3, - BUS_NOTIFY_BOUND_DRIVER = 4, - BUS_NOTIFY_UNBIND_DRIVER = 5, - BUS_NOTIFY_UNBOUND_DRIVER = 6, - BUS_NOTIFY_DRIVER_NOT_BOUND = 7, -}; - -enum cache_indexing { - NODE_CACHE_DIRECT_MAP = 0, - NODE_CACHE_INDEXED = 1, - NODE_CACHE_OTHER = 2, -}; - -enum cache_mode { - NODE_CACHE_ADDR_MODE_RESERVED = 0, - NODE_CACHE_ADDR_MODE_EXTENDED_LINEAR = 1, -}; - -enum cache_tag_type { - CACHE_TAG_IOTLB = 0, - CACHE_TAG_DEVTLB = 1, - CACHE_TAG_NESTING_IOTLB = 2, - CACHE_TAG_NESTING_DEVTLB = 3, -}; - -enum cache_type { - CACHE_TYPE_NOCACHE = 0, - CACHE_TYPE_INST = 1, - CACHE_TYPE_DATA = 2, - CACHE_TYPE_SEPARATE = 3, - CACHE_TYPE_UNIFIED = 4, -}; - -enum cache_write_policy { - NODE_CACHE_WRITE_BACK = 0, - NODE_CACHE_WRITE_THROUGH = 1, - NODE_CACHE_WRITE_OTHER = 2, -}; - -enum cc_attr { - CC_ATTR_MEM_ENCRYPT = 0, - CC_ATTR_HOST_MEM_ENCRYPT = 1, - CC_ATTR_GUEST_MEM_ENCRYPT = 2, - CC_ATTR_GUEST_STATE_ENCRYPT = 3, - CC_ATTR_GUEST_UNROLL_STRING_IO = 4, - CC_ATTR_GUEST_SEV_SNP = 5, - CC_ATTR_GUEST_SNP_SECURE_TSC = 6, - CC_ATTR_HOST_SEV_SNP = 7, -}; - -enum cc_vendor { - CC_VENDOR_NONE = 0, - CC_VENDOR_AMD = 1, - CC_VENDOR_INTEL = 2, -}; - -enum cdrom_print_option { - CTL_NAME = 0, - CTL_SPEED = 1, - CTL_SLOTS = 2, - CTL_CAPABILITY = 3, -}; - -enum cee_attrs { - DCB_ATTR_CEE_UNSPEC = 0, - DCB_ATTR_CEE_PEER_PG = 1, - DCB_ATTR_CEE_PEER_PFC = 2, - DCB_ATTR_CEE_PEER_APP_TABLE = 3, - DCB_ATTR_CEE_TX_PG = 4, - DCB_ATTR_CEE_RX_PG = 5, - DCB_ATTR_CEE_PFC = 6, - DCB_ATTR_CEE_APP_TABLE = 7, - DCB_ATTR_CEE_FEAT = 8, - __DCB_ATTR_CEE_MAX = 9, -}; - -enum cfg80211_signal_type { - CFG80211_SIGNAL_TYPE_NONE = 0, - CFG80211_SIGNAL_TYPE_MBM = 1, - CFG80211_SIGNAL_TYPE_UNSPEC = 2, -}; - -enum cfi_mode { - CFI_AUTO = 0, - CFI_OFF = 1, - CFI_KCFI = 2, - CFI_FINEIBT = 3, -}; - -enum cgroup1_param { - Opt_all = 0, - Opt_clone_children = 1, - Opt_cpuset_v2_mode = 2, - Opt_name = 3, - Opt_none = 4, - Opt_noprefix = 5, - Opt_release_agent = 6, - Opt_xattr = 7, - Opt_favordynmods = 8, - Opt_nofavordynmods = 9, -}; - -enum cgroup2_param { - Opt_nsdelegate = 0, - Opt_favordynmods___2 = 1, - Opt_memory_localevents = 2, - Opt_memory_recursiveprot = 3, - Opt_memory_hugetlb_accounting = 4, - Opt_pids_localevents = 5, - nr__cgroup2_params = 6, -}; - -enum cgroup_bpf_attach_type { - CGROUP_BPF_ATTACH_TYPE_INVALID = -1, - CGROUP_INET_INGRESS = 0, - CGROUP_INET_EGRESS = 1, - CGROUP_INET_SOCK_CREATE = 2, - CGROUP_SOCK_OPS = 3, - CGROUP_DEVICE = 4, - CGROUP_INET4_BIND = 5, - CGROUP_INET6_BIND = 6, - CGROUP_INET4_CONNECT = 7, - CGROUP_INET6_CONNECT = 8, - CGROUP_UNIX_CONNECT = 9, - CGROUP_INET4_POST_BIND = 10, - CGROUP_INET6_POST_BIND = 11, - CGROUP_UDP4_SENDMSG = 12, - CGROUP_UDP6_SENDMSG = 13, - CGROUP_UNIX_SENDMSG = 14, - CGROUP_SYSCTL = 15, - CGROUP_UDP4_RECVMSG = 16, - CGROUP_UDP6_RECVMSG = 17, - CGROUP_UNIX_RECVMSG = 18, - CGROUP_GETSOCKOPT = 19, - CGROUP_SETSOCKOPT = 20, - CGROUP_INET4_GETPEERNAME = 21, - CGROUP_INET6_GETPEERNAME = 22, - CGROUP_UNIX_GETPEERNAME = 23, - CGROUP_INET4_GETSOCKNAME = 24, - CGROUP_INET6_GETSOCKNAME = 25, - CGROUP_UNIX_GETSOCKNAME = 26, - CGROUP_INET_SOCK_RELEASE = 27, - CGROUP_LSM_START = 28, - CGROUP_LSM_END = 37, - MAX_CGROUP_BPF_ATTACH_TYPE = 38, -}; - -enum cgroup_filetype { - CGROUP_FILE_PROCS = 0, - CGROUP_FILE_TASKS = 1, -}; - -enum cgroup_lifetime_events { - CGROUP_LIFETIME_ONLINE = 0, - CGROUP_LIFETIME_OFFLINE = 1, -}; - -enum cgroup_opt_features { - OPT_FEATURE_PRESSURE = 0, - OPT_FEATURE_COUNT = 1, -}; - -enum cgroup_subsys_id { - cpuset_cgrp_id = 0, - cpu_cgrp_id = 1, - cpuacct_cgrp_id = 2, - io_cgrp_id = 3, - memory_cgrp_id = 4, - devices_cgrp_id = 5, - freezer_cgrp_id = 6, - net_cls_cgrp_id = 7, - perf_event_cgrp_id = 8, - net_prio_cgrp_id = 9, - hugetlb_cgrp_id = 10, - pids_cgrp_id = 11, - rdma_cgrp_id = 12, - misc_cgrp_id = 13, - dmem_cgrp_id = 14, - CGROUP_SUBSYS_COUNT = 15, -}; - -enum chacha20poly1305_lengths { - XCHACHA20POLY1305_NONCE_SIZE = 24, - CHACHA20POLY1305_KEY_SIZE = 32, - CHACHA20POLY1305_AUTHTAG_SIZE = 16, -}; - -enum chacha_constants { - CHACHA_CONSTANT_EXPA = 1634760805, - CHACHA_CONSTANT_ND_3 = 857760878, - CHACHA_CONSTANT_2_BY = 2036477234, - CHACHA_CONSTANT_TE_K = 1797285236, -}; - -enum chipset_type { - NOT_SUPPORTED = 0, - SUPPORTED = 1, -}; - -enum class_map_type { - DD_CLASS_TYPE_DISJOINT_BITS = 0, - DD_CLASS_TYPE_LEVEL_NUM = 1, - DD_CLASS_TYPE_DISJOINT_NAMES = 2, - DD_CLASS_TYPE_LEVEL_NAMES = 3, -}; - -enum class_stat_type { - ZS_OBJS_ALLOCATED = 12, - ZS_OBJS_INUSE = 13, - NR_CLASS_STAT_TYPES = 14, -}; - -enum cleanup_prefix_rt_t { - CLEANUP_PREFIX_RT_NOP = 0, - CLEANUP_PREFIX_RT_DEL = 1, - CLEANUP_PREFIX_RT_EXPIRE = 2, -}; - -enum clear_refs_types { - CLEAR_REFS_ALL = 1, - CLEAR_REFS_ANON = 2, - CLEAR_REFS_MAPPED = 3, - CLEAR_REFS_SOFT_DIRTY = 4, - CLEAR_REFS_MM_HIWATER_RSS = 5, - CLEAR_REFS_LAST = 6, -}; - -enum clock_event_state { - CLOCK_EVT_STATE_DETACHED = 0, - CLOCK_EVT_STATE_SHUTDOWN = 1, - CLOCK_EVT_STATE_PERIODIC = 2, - CLOCK_EVT_STATE_ONESHOT = 3, - CLOCK_EVT_STATE_ONESHOT_STOPPED = 4, -}; - -enum clocksource_ids { - CSID_GENERIC = 0, - CSID_ARM_ARCH_COUNTER = 1, - CSID_S390_TOD = 2, - CSID_X86_TSC_EARLY = 3, - CSID_X86_TSC = 4, - CSID_X86_KVM_CLK = 5, - CSID_X86_ART = 6, - CSID_MAX = 7, -}; - -enum closure_state { - CLOSURE_BITS_START = 67108864, - CLOSURE_DESTRUCTOR = 67108864, - CLOSURE_WAITING = 268435456, - CLOSURE_RUNNING = 1073741824, -}; - -enum cm_batt_temp { - CM_BATT_OK = 0, - CM_BATT_OVERHEAT = 1, - CM_BATT_COLD = 2, -}; - -enum cma_flags { - CMA_RESERVE_PAGES_ON_ERROR = 0, - CMA_ZONES_VALID = 1, - CMA_ZONES_INVALID = 2, - CMA_ACTIVATED = 3, -}; - -enum cmd_type { - CMD_ADDR = 1, - CMD_LISTEN = 2, - CMD_OPT = 4, -}; - -enum cmis_cdb_fw_write_mechanism { - CMIS_CDB_FW_WRITE_MECHANISM_NONE = 0, - CMIS_CDB_FW_WRITE_MECHANISM_LPL = 1, - CMIS_CDB_FW_WRITE_MECHANISM_EPL = 16, - CMIS_CDB_FW_WRITE_MECHANISM_BOTH = 17, -}; - -enum compact_priority { - COMPACT_PRIO_SYNC_FULL = 0, - MIN_COMPACT_PRIORITY = 0, - COMPACT_PRIO_SYNC_LIGHT = 1, - MIN_COMPACT_COSTLY_PRIORITY = 1, - DEF_COMPACT_PRIORITY = 1, - COMPACT_PRIO_ASYNC = 2, - INIT_COMPACT_PRIORITY = 2, -}; - -enum compact_result { - COMPACT_NOT_SUITABLE_ZONE = 0, - COMPACT_SKIPPED = 1, - COMPACT_DEFERRED = 2, - COMPACT_NO_SUITABLE_PAGE = 3, - COMPACT_CONTINUE = 4, - COMPACT_COMPLETE = 5, - COMPACT_PARTIAL_SKIPPED = 6, - COMPACT_CONTENDED = 7, - COMPACT_SUCCESS = 8, -}; - -enum con_flush_mode { - CONSOLE_FLUSH_PENDING = 0, - CONSOLE_REPLAY_ALL = 1, -}; - -enum con_msg_format_flags { - MSG_FORMAT_DEFAULT = 0, - MSG_FORMAT_SYSLOG = 1, -}; - -enum con_scroll { - SM_UP = 0, - SM_DOWN = 1, -}; - -enum cons_flags { - CON_PRINTBUFFER = 1, - CON_CONSDEV = 2, - CON_ENABLED = 4, - CON_BOOT = 8, - CON_ANYTIME = 16, - CON_BRL = 32, - CON_EXTENDED = 64, - CON_SUSPENDED = 128, - CON_NBCON = 256, -}; - -enum context { - IN_KERNEL = 1, - IN_USER = 2, - IN_KERNEL_RECOV = 3, -}; - -enum coredump_mark { - COREDUMP_MARK_REQACK = 0, - COREDUMP_MARK_MINSIZE = 1, - COREDUMP_MARK_MAXSIZE = 2, - COREDUMP_MARK_UNSUPPORTED = 3, - COREDUMP_MARK_CONFLICTING = 4, - __COREDUMP_MARK_MAX = 2147483648, -}; - -enum coredump_type_t { - COREDUMP_FILE = 1, - COREDUMP_PIPE = 2, - COREDUMP_SOCK = 3, - COREDUMP_SOCK_REQ = 4, -}; - -enum cp_error_code { - CP_EC = 32767, - CP_RET = 1, - CP_IRET = 2, - CP_ENDBR = 3, - CP_RSTRORSSP = 4, - CP_SETSSBSY = 5, - CP_ENCL = 32768, -}; - -enum cpa_warn { - CPA_CONFLICT = 0, - CPA_PROTECT = 1, - CPA_DETECT = 2, -}; - -enum cpio_fields { - C_MAGIC = 0, - C_INO = 1, - C_MODE = 2, - C_UID = 3, - C_GID = 4, - C_NLINK = 5, - C_MTIME = 6, - C_FILESIZE = 7, - C_MAJ = 8, - C_MIN = 9, - C_RMAJ = 10, - C_RMIN = 11, - C_NAMESIZE = 12, - C_CHKSUM = 13, - C_NFIELDS = 14, -}; - -enum cppc_regs { - HIGHEST_PERF = 0, - NOMINAL_PERF = 1, - LOW_NON_LINEAR_PERF = 2, - LOWEST_PERF = 3, - GUARANTEED_PERF = 4, - DESIRED_PERF = 5, - MIN_PERF = 6, - MAX_PERF = 7, - PERF_REDUC_TOLERANCE = 8, - TIME_WINDOW = 9, - CTR_WRAP_TIME = 10, - REFERENCE_CTR = 11, - DELIVERED_CTR = 12, - PERF_LIMITED = 13, - ENABLE = 14, - AUTO_SEL_ENABLE = 15, - AUTO_ACT_WINDOW = 16, - ENERGY_PERF = 17, - REFERENCE_PERF = 18, - LOWEST_FREQ = 19, - NOMINAL_FREQ = 20, -}; - -enum cpu_attack_vectors { - CPU_MITIGATE_USER_KERNEL = 0, - CPU_MITIGATE_USER_USER = 1, - CPU_MITIGATE_GUEST_HOST = 2, - CPU_MITIGATE_GUEST_GUEST = 3, - NR_CPU_ATTACK_VECTORS = 4, -}; - -enum cpu_idle_type { - __CPU_NOT_IDLE = 0, - CPU_IDLE = 1, - CPU_NEWLY_IDLE = 2, - CPU_MAX_IDLE_TYPES = 3, -}; - -enum cpu_led_event { - CPU_LED_IDLE_START = 0, - CPU_LED_IDLE_END = 1, - CPU_LED_START = 2, - CPU_LED_STOP = 3, - CPU_LED_HALTED = 4, -}; - -enum cpu_mitigations { - CPU_MITIGATIONS_OFF = 0, - CPU_MITIGATIONS_AUTO = 1, - CPU_MITIGATIONS_AUTO_NOSMT = 2, -}; - -enum cpu_usage_stat { - CPUTIME_USER = 0, - CPUTIME_NICE = 1, - CPUTIME_SYSTEM = 2, - CPUTIME_SOFTIRQ = 3, - CPUTIME_IRQ = 4, - CPUTIME_IDLE = 5, - CPUTIME_IOWAIT = 6, - CPUTIME_STEAL = 7, - CPUTIME_GUEST = 8, - CPUTIME_GUEST_NICE = 9, - CPUTIME_FORCEIDLE = 10, - NR_STATS = 11, -}; - -enum cpuacct_stat_index { - CPUACCT_STAT_USER = 0, - CPUACCT_STAT_SYSTEM = 1, - CPUACCT_STAT_NSTATS = 2, -}; - -enum cpufreq_table_sorting { - CPUFREQ_TABLE_UNSORTED = 0, - CPUFREQ_TABLE_SORTED_ASCENDING = 1, - CPUFREQ_TABLE_SORTED_DESCENDING = 2, -}; - -enum cpuhp_smt_control { - CPU_SMT_ENABLED = 0, - CPU_SMT_DISABLED = 1, - CPU_SMT_FORCE_DISABLED = 2, - CPU_SMT_NOT_SUPPORTED = 3, - CPU_SMT_NOT_IMPLEMENTED = 4, -}; - -enum cpuhp_state { - CPUHP_INVALID = -1, - CPUHP_OFFLINE = 0, - CPUHP_CREATE_THREADS = 1, - CPUHP_PERF_X86_PREPARE = 2, - CPUHP_PERF_X86_AMD_UNCORE_PREP = 3, - CPUHP_PERF_POWER = 4, - CPUHP_PERF_SUPERH = 5, - CPUHP_X86_HPET_DEAD = 6, - CPUHP_X86_MCE_DEAD = 7, - CPUHP_VIRT_NET_DEAD = 8, - CPUHP_IBMVNIC_DEAD = 9, - CPUHP_SLUB_DEAD = 10, - CPUHP_DEBUG_OBJ_DEAD = 11, - CPUHP_MM_WRITEBACK_DEAD = 12, - CPUHP_MM_VMSTAT_DEAD = 13, - CPUHP_SOFTIRQ_DEAD = 14, - CPUHP_NET_MVNETA_DEAD = 15, - CPUHP_CPUIDLE_DEAD = 16, - CPUHP_ARM64_FPSIMD_DEAD = 17, - CPUHP_ARM_OMAP_WAKE_DEAD = 18, - CPUHP_IRQ_POLL_DEAD = 19, - CPUHP_BLOCK_SOFTIRQ_DEAD = 20, - CPUHP_BIO_DEAD = 21, - CPUHP_ACPI_CPUDRV_DEAD = 22, - CPUHP_S390_PFAULT_DEAD = 23, - CPUHP_BLK_MQ_DEAD = 24, - CPUHP_FS_BUFF_DEAD = 25, - CPUHP_PRINTK_DEAD = 26, - CPUHP_MM_MEMCQ_DEAD = 27, - CPUHP_PERCPU_CNT_DEAD = 28, - CPUHP_RADIX_DEAD = 29, - CPUHP_PAGE_ALLOC = 30, - CPUHP_NET_DEV_DEAD = 31, - CPUHP_IOMMU_IOVA_DEAD = 32, - CPUHP_AP_ARM_CACHE_B15_RAC_DEAD = 33, - CPUHP_PADATA_DEAD = 34, - CPUHP_AP_DTPM_CPU_DEAD = 35, - CPUHP_RANDOM_PREPARE = 36, - CPUHP_WORKQUEUE_PREP = 37, - CPUHP_POWER_NUMA_PREPARE = 38, - CPUHP_HRTIMERS_PREPARE = 39, - CPUHP_X2APIC_PREPARE = 40, - CPUHP_SMPCFD_PREPARE = 41, - CPUHP_RELAY_PREPARE = 42, - CPUHP_MD_RAID5_PREPARE = 43, - CPUHP_RCUTREE_PREP = 44, - CPUHP_CPUIDLE_COUPLED_PREPARE = 45, - CPUHP_POWERPC_PMAC_PREPARE = 46, - CPUHP_POWERPC_MMU_CTX_PREPARE = 47, - CPUHP_XEN_PREPARE = 48, - CPUHP_XEN_EVTCHN_PREPARE = 49, - CPUHP_ARM_SHMOBILE_SCU_PREPARE = 50, - CPUHP_SH_SH3X_PREPARE = 51, - CPUHP_TOPOLOGY_PREPARE = 52, - CPUHP_NET_IUCV_PREPARE = 53, - CPUHP_ARM_BL_PREPARE = 54, - CPUHP_TRACE_RB_PREPARE = 55, - CPUHP_MM_ZSWP_POOL_PREPARE = 56, - CPUHP_KVM_PPC_BOOK3S_PREPARE = 57, - CPUHP_ZCOMP_PREPARE = 58, - CPUHP_TIMERS_PREPARE = 59, - CPUHP_TMIGR_PREPARE = 60, - CPUHP_MIPS_SOC_PREPARE = 61, - CPUHP_BP_PREPARE_DYN = 62, - CPUHP_BP_PREPARE_DYN_END = 82, - CPUHP_BP_KICK_AP = 83, - CPUHP_BRINGUP_CPU = 84, - CPUHP_AP_IDLE_DEAD = 85, - CPUHP_AP_OFFLINE = 86, - CPUHP_AP_CACHECTRL_STARTING = 87, - CPUHP_AP_SCHED_STARTING = 88, - CPUHP_AP_RCUTREE_DYING = 89, - CPUHP_AP_CPU_PM_STARTING = 90, - CPUHP_AP_IRQ_GIC_STARTING = 91, - CPUHP_AP_IRQ_HIP04_STARTING = 92, - CPUHP_AP_IRQ_APPLE_AIC_STARTING = 93, - CPUHP_AP_IRQ_ARMADA_XP_STARTING = 94, - CPUHP_AP_IRQ_BCM2836_STARTING = 95, - CPUHP_AP_IRQ_MIPS_GIC_STARTING = 96, - CPUHP_AP_IRQ_EIOINTC_STARTING = 97, - CPUHP_AP_IRQ_AVECINTC_STARTING = 98, - CPUHP_AP_IRQ_SIFIVE_PLIC_STARTING = 99, - CPUHP_AP_IRQ_ACLINT_SSWI_STARTING = 100, - CPUHP_AP_IRQ_RISCV_IMSIC_STARTING = 101, - CPUHP_AP_IRQ_RISCV_SBI_IPI_STARTING = 102, - CPUHP_AP_ARM_MVEBU_COHERENCY = 103, - CPUHP_AP_PERF_X86_AMD_UNCORE_STARTING = 104, - CPUHP_AP_PERF_X86_STARTING = 105, - CPUHP_AP_PERF_X86_AMD_IBS_STARTING = 106, - CPUHP_AP_PERF_XTENSA_STARTING = 107, - CPUHP_AP_ARM_VFP_STARTING = 108, - CPUHP_AP_ARM64_DEBUG_MONITORS_STARTING = 109, - CPUHP_AP_PERF_ARM_HW_BREAKPOINT_STARTING = 110, - CPUHP_AP_PERF_ARM_ACPI_STARTING = 111, - CPUHP_AP_PERF_ARM_STARTING = 112, - CPUHP_AP_PERF_RISCV_STARTING = 113, - CPUHP_AP_ARM_L2X0_STARTING = 114, - CPUHP_AP_EXYNOS4_MCT_TIMER_STARTING = 115, - CPUHP_AP_ARM_ARCH_TIMER_STARTING = 116, - CPUHP_AP_ARM_ARCH_TIMER_EVTSTRM_STARTING = 117, - CPUHP_AP_ARM_GLOBAL_TIMER_STARTING = 118, - CPUHP_AP_JCORE_TIMER_STARTING = 119, - CPUHP_AP_ARM_TWD_STARTING = 120, - CPUHP_AP_QCOM_TIMER_STARTING = 121, - CPUHP_AP_TEGRA_TIMER_STARTING = 122, - CPUHP_AP_ARMADA_TIMER_STARTING = 123, - CPUHP_AP_LOONGARCH_ARCH_TIMER_STARTING = 124, - CPUHP_AP_MIPS_GIC_TIMER_STARTING = 125, - CPUHP_AP_ARC_TIMER_STARTING = 126, - CPUHP_AP_REALTEK_TIMER_STARTING = 127, - CPUHP_AP_RISCV_TIMER_STARTING = 128, - CPUHP_AP_CLINT_TIMER_STARTING = 129, - CPUHP_AP_CSKY_TIMER_STARTING = 130, - CPUHP_AP_TI_GP_TIMER_STARTING = 131, - CPUHP_AP_HYPERV_TIMER_STARTING = 132, - CPUHP_AP_DUMMY_TIMER_STARTING = 133, - CPUHP_AP_ARM_XEN_STARTING = 134, - CPUHP_AP_ARM_XEN_RUNSTATE_STARTING = 135, - CPUHP_AP_ARM_CORESIGHT_STARTING = 136, - CPUHP_AP_ARM_CORESIGHT_CTI_STARTING = 137, - CPUHP_AP_ARM64_ISNDEP_STARTING = 138, - CPUHP_AP_SMPCFD_DYING = 139, - CPUHP_AP_HRTIMERS_DYING = 140, - CPUHP_AP_TICK_DYING = 141, - CPUHP_AP_X86_TBOOT_DYING = 142, - CPUHP_AP_ARM_CACHE_B15_RAC_DYING = 143, - CPUHP_AP_ONLINE = 144, - CPUHP_TEARDOWN_CPU = 145, - CPUHP_AP_ONLINE_IDLE = 146, - CPUHP_AP_HYPERV_ONLINE = 147, - CPUHP_AP_KVM_ONLINE = 148, - CPUHP_AP_SCHED_WAIT_EMPTY = 149, - CPUHP_AP_SMPBOOT_THREADS = 150, - CPUHP_AP_IRQ_AFFINITY_ONLINE = 151, - CPUHP_AP_BLK_MQ_ONLINE = 152, - CPUHP_AP_ARM_MVEBU_SYNC_CLOCKS = 153, - CPUHP_AP_X86_INTEL_EPB_ONLINE = 154, - CPUHP_AP_PERF_ONLINE = 155, - CPUHP_AP_PERF_X86_ONLINE = 156, - CPUHP_AP_PERF_X86_UNCORE_ONLINE = 157, - CPUHP_AP_PERF_X86_AMD_UNCORE_ONLINE = 158, - CPUHP_AP_PERF_X86_AMD_POWER_ONLINE = 159, - CPUHP_AP_PERF_S390_CF_ONLINE = 160, - CPUHP_AP_PERF_S390_SF_ONLINE = 161, - CPUHP_AP_PERF_ARM_CCI_ONLINE = 162, - CPUHP_AP_PERF_ARM_CCN_ONLINE = 163, - CPUHP_AP_PERF_ARM_HISI_CPA_ONLINE = 164, - CPUHP_AP_PERF_ARM_HISI_DDRC_ONLINE = 165, - CPUHP_AP_PERF_ARM_HISI_HHA_ONLINE = 166, - CPUHP_AP_PERF_ARM_HISI_L3_ONLINE = 167, - CPUHP_AP_PERF_ARM_HISI_PA_ONLINE = 168, - CPUHP_AP_PERF_ARM_HISI_SLLC_ONLINE = 169, - CPUHP_AP_PERF_ARM_HISI_PCIE_PMU_ONLINE = 170, - CPUHP_AP_PERF_ARM_HNS3_PMU_ONLINE = 171, - CPUHP_AP_PERF_ARM_L2X0_ONLINE = 172, - CPUHP_AP_PERF_ARM_QCOM_L2_ONLINE = 173, - CPUHP_AP_PERF_ARM_QCOM_L3_ONLINE = 174, - CPUHP_AP_PERF_ARM_APM_XGENE_ONLINE = 175, - CPUHP_AP_PERF_ARM_CAVIUM_TX2_UNCORE_ONLINE = 176, - CPUHP_AP_PERF_ARM_MARVELL_CN10K_DDR_ONLINE = 177, - CPUHP_AP_PERF_ARM_MRVL_PEM_ONLINE = 178, - CPUHP_AP_PERF_POWERPC_NEST_IMC_ONLINE = 179, - CPUHP_AP_PERF_POWERPC_CORE_IMC_ONLINE = 180, - CPUHP_AP_PERF_POWERPC_THREAD_IMC_ONLINE = 181, - CPUHP_AP_PERF_POWERPC_TRACE_IMC_ONLINE = 182, - CPUHP_AP_PERF_POWERPC_HV_24x7_ONLINE = 183, - CPUHP_AP_PERF_POWERPC_HV_GPCI_ONLINE = 184, - CPUHP_AP_PERF_CSKY_ONLINE = 185, - CPUHP_AP_TMIGR_ONLINE = 186, - CPUHP_AP_WATCHDOG_ONLINE = 187, - CPUHP_AP_WORKQUEUE_ONLINE = 188, - CPUHP_AP_RANDOM_ONLINE = 189, - CPUHP_AP_RCUTREE_ONLINE = 190, - CPUHP_AP_KTHREADS_ONLINE = 191, - CPUHP_AP_BASE_CACHEINFO_ONLINE = 192, - CPUHP_AP_ONLINE_DYN = 193, - CPUHP_AP_ONLINE_DYN_END = 233, - CPUHP_AP_X86_HPET_ONLINE = 234, - CPUHP_AP_X86_KVM_CLK_ONLINE = 235, - CPUHP_AP_ACTIVE = 236, - CPUHP_ONLINE = 237, -}; - -enum cpuhp_sync_state { - SYNC_STATE_DEAD = 0, - SYNC_STATE_KICKED = 1, - SYNC_STATE_SHOULD_DIE = 2, - SYNC_STATE_ALIVE = 3, - SYNC_STATE_SHOULD_ONLINE = 4, - SYNC_STATE_ONLINE = 5, -}; - -enum cpuid_leafs { - CPUID_1_EDX = 0, - CPUID_8000_0001_EDX = 1, - CPUID_8086_0001_EDX = 2, - CPUID_LNX_1 = 3, - CPUID_1_ECX = 4, - CPUID_C000_0001_EDX = 5, - CPUID_8000_0001_ECX = 6, - CPUID_LNX_2 = 7, - CPUID_LNX_3 = 8, - CPUID_7_0_EBX = 9, - CPUID_D_1_EAX = 10, - CPUID_LNX_4 = 11, - CPUID_7_1_EAX = 12, - CPUID_8000_0008_EBX = 13, - CPUID_6_EAX = 14, - CPUID_8000_000A_EDX = 15, - CPUID_7_ECX = 16, - CPUID_8000_0007_EBX = 17, - CPUID_7_EDX = 18, - CPUID_8000_001F_EAX = 19, - CPUID_8000_0021_EAX = 20, - CPUID_LNX_5 = 21, - NR_CPUID_WORDS = 22, -}; - -enum cpuid_regs_idx { - CPUID_EAX = 0, - CPUID_EBX = 1, - CPUID_ECX = 2, - CPUID_EDX = 3, -}; - -enum cpuset_param { - Opt_cpuset_v2_mode___2 = 0, -}; - -enum crb_cancel { - CRB_CANCEL_INVOKE = 1, -}; - -enum crb_ctrl_req { - CRB_CTRL_REQ_CMD_READY = 1, - CRB_CTRL_REQ_GO_IDLE = 2, -}; - -enum crb_ctrl_sts { - CRB_CTRL_STS_ERROR = 1, - CRB_CTRL_STS_TPM_IDLE = 2, -}; - -enum crb_defaults { - CRB_ACPI_START_REVISION_ID = 1, - CRB_ACPI_START_INDEX = 1, -}; - -enum crb_loc_ctrl { - CRB_LOC_CTRL_REQUEST_ACCESS = 1, - CRB_LOC_CTRL_RELINQUISH = 2, -}; - -enum crb_loc_state { - CRB_LOC_STATE_LOC_ASSIGNED = 2, - CRB_LOC_STATE_TPM_REG_VALID_STS = 128, -}; - -enum crb_start { - CRB_START_INVOKE = 1, -}; - -enum crb_status { - CRB_DRV_STS_COMPLETE = 1, -}; - -enum criteria { - CR_POWER2_ALIGNED = 0, - CR_GOAL_LEN_FAST = 1, - CR_BEST_AVAIL_LEN = 2, - CR_GOAL_LEN_SLOW = 3, - CR_ANY_FREE = 4, - EXT4_MB_NUM_CRS = 5, -}; - -enum crypto_attr_type_t { - CRYPTOCFGA_UNSPEC = 0, - CRYPTOCFGA_PRIORITY_VAL = 1, - CRYPTOCFGA_REPORT_LARVAL = 2, - CRYPTOCFGA_REPORT_HASH = 3, - CRYPTOCFGA_REPORT_BLKCIPHER = 4, - CRYPTOCFGA_REPORT_AEAD = 5, - CRYPTOCFGA_REPORT_COMPRESS = 6, - CRYPTOCFGA_REPORT_RNG = 7, - CRYPTOCFGA_REPORT_CIPHER = 8, - CRYPTOCFGA_REPORT_AKCIPHER = 9, - CRYPTOCFGA_REPORT_KPP = 10, - CRYPTOCFGA_REPORT_ACOMP = 11, - CRYPTOCFGA_STAT_LARVAL = 12, - CRYPTOCFGA_STAT_HASH = 13, - CRYPTOCFGA_STAT_BLKCIPHER = 14, - CRYPTOCFGA_STAT_AEAD = 15, - CRYPTOCFGA_STAT_COMPRESS = 16, - CRYPTOCFGA_STAT_RNG = 17, - CRYPTOCFGA_STAT_CIPHER = 18, - CRYPTOCFGA_STAT_AKCIPHER = 19, - CRYPTOCFGA_STAT_KPP = 20, - CRYPTOCFGA_STAT_ACOMP = 21, - CRYPTOCFGA_REPORT_SIG = 22, - __CRYPTOCFGA_MAX = 23, -}; - -enum css_task_iter_flags { - CSS_TASK_ITER_PROCS = 1, - CSS_TASK_ITER_THREADED = 2, - CSS_TASK_ITER_SKIPPED = 65536, -}; - -enum ctrl_offsets { - BASE_OFFSET = 0, - SLOT_AVAIL1 = 4, - SLOT_AVAIL2 = 8, - SLOT_CONFIG = 12, - SEC_BUS_CONFIG = 16, - MSI_CTRL = 18, - PROG_INTERFACE = 19, - CMD = 20, - CMD_STATUS = 22, - INTR_LOC = 24, - SERR_LOC = 28, - SERR_INTR_ENABLE = 32, - SLOT1 = 36, -}; - -enum ctrl_register { - CTRL_IN = 0, - CTRL_OUT = 1, -}; - -enum ctx_state { - CT_STATE_DISABLED = -1, - CT_STATE_KERNEL = 0, - CT_STATE_IDLE = 1, - CT_STATE_USER = 2, - CT_STATE_GUEST = 3, - CT_STATE_MAX = 4, -}; - -enum cxl_event_type { - CXL_CPER_EVENT_GENERIC = 0, - CXL_CPER_EVENT_GEN_MEDIA = 1, - CXL_CPER_EVENT_DRAM = 2, - CXL_CPER_EVENT_MEM_MODULE = 3, - CXL_CPER_EVENT_MEM_SPARING = 4, -}; - -enum d_real_type { - D_REAL_DATA = 0, - D_REAL_METADATA = 1, -}; - -enum d_walk_ret { - D_WALK_CONTINUE = 0, - D_WALK_QUIT = 1, - D_WALK_NORETRY = 2, - D_WALK_SKIP = 3, -}; - -enum da9052_chip_id { - DA9052 = 0, - DA9053_AA = 1, - DA9053_BA = 2, - DA9053_BB = 3, - DA9053_BC = 4, -}; - -enum da9063_irqs { - DA9063_IRQ_ONKEY = 0, - DA9063_IRQ_ALARM = 1, - DA9063_IRQ_TICK = 2, - DA9063_IRQ_ADC_RDY = 3, - DA9063_IRQ_SEQ_RDY = 4, - DA9063_IRQ_WAKE = 5, - DA9063_IRQ_TEMP = 6, - DA9063_IRQ_COMP_1V2 = 7, - DA9063_IRQ_LDO_LIM = 8, - DA9063_IRQ_REG_UVOV = 9, - DA9063_IRQ_DVC_RDY = 10, - DA9063_IRQ_VDD_MON = 11, - DA9063_IRQ_WARN = 12, - DA9063_IRQ_GPI0 = 13, - DA9063_IRQ_GPI1 = 14, - DA9063_IRQ_GPI2 = 15, - DA9063_IRQ_GPI3 = 16, - DA9063_IRQ_GPI4 = 17, - DA9063_IRQ_GPI5 = 18, - DA9063_IRQ_GPI6 = 19, - DA9063_IRQ_GPI7 = 20, - DA9063_IRQ_GPI8 = 21, - DA9063_IRQ_GPI9 = 22, - DA9063_IRQ_GPI10 = 23, - DA9063_IRQ_GPI11 = 24, - DA9063_IRQ_GPI12 = 25, - DA9063_IRQ_GPI13 = 26, - DA9063_IRQ_GPI14 = 27, - DA9063_IRQ_GPI15 = 28, -}; - -enum da9063_page_sel_buf_fmt { - DA9063_PAGE_SEL_BUF_PAGE_REG = 0, - DA9063_PAGE_SEL_BUF_PAGE_VAL = 1, - DA9063_PAGE_SEL_BUF_SIZE = 2, -}; - -enum da9063_page_sel_msgs { - DA9063_PAGE_SEL_MSG = 0, - DA9063_PAGE_SEL_CNT = 1, -}; - -enum da9063_paged_read_msgs { - DA9063_PAGED_READ_MSG_REG_SEL = 0, - DA9063_PAGED_READ_MSG_DATA = 1, - DA9063_PAGED_READ_MSG_CNT = 2, -}; - -enum da9063_type { - PMIC_TYPE_DA9063 = 0, - PMIC_TYPE_DA9063L = 1, -}; - -enum da9063_variant_codes { - PMIC_DA9063_AD = 3, - PMIC_DA9063_BB = 5, - PMIC_DA9063_CA = 6, - PMIC_DA9063_DA = 7, - PMIC_DA9063_EA = 8, -}; - -enum data_formats { - DATA_FMT_DIGEST = 0, - DATA_FMT_DIGEST_WITH_ALGO = 1, - DATA_FMT_DIGEST_WITH_TYPE_AND_ALGO = 2, - DATA_FMT_STRING = 3, - DATA_FMT_HEX = 4, - DATA_FMT_UINT = 5, -}; - -enum data_source { - CM_BATTERY_PRESENT = 0, - CM_NO_BATTERY = 1, - CM_FUEL_GAUGE = 2, - CM_CHARGER_STAT = 3, -}; - -enum dax_access_mode { - DAX_ACCESS = 0, - DAX_RECOVERY_WRITE = 1, -}; - -enum dax_device_flags { - DAXDEV_ALIVE = 0, - DAXDEV_WRITE_CACHE = 1, - DAXDEV_SYNC = 2, - DAXDEV_NOCACHE = 3, - DAXDEV_NOMC = 4, -}; - -enum dax_driver_type { - DAXDRV_KMEM_TYPE = 0, - DAXDRV_DEVICE_TYPE = 1, -}; - -enum dax_wake_mode { - WAKE_ALL = 0, - WAKE_NEXT = 1, -}; - -enum dbc_state { - DS_DISABLED = 0, - DS_INITIALIZED = 1, - DS_ENABLED = 2, - DS_CONNECTED = 3, - DS_CONFIGURED = 4, - DS_MAX = 5, -}; - -enum dbgfs_get_mode { - DBGFS_GET_ALREADY = 0, - DBGFS_GET_REGULAR = 1, - DBGFS_GET_SHORT = 2, -}; - -enum dcb_general_attr_values { - DCB_ATTR_VALUE_UNDEFINED = 255, -}; - -enum dcbevent_notif_type { - DCB_APP_EVENT = 1, -}; - -enum dcbnl_app_attrs { - DCB_APP_ATTR_UNDEFINED = 0, - DCB_APP_ATTR_IDTYPE = 1, - DCB_APP_ATTR_ID = 2, - DCB_APP_ATTR_PRIORITY = 3, - __DCB_APP_ATTR_ENUM_MAX = 4, - DCB_APP_ATTR_MAX = 3, -}; - -enum dcbnl_attrs { - DCB_ATTR_UNDEFINED = 0, - DCB_ATTR_IFNAME = 1, - DCB_ATTR_STATE = 2, - DCB_ATTR_PFC_STATE = 3, - DCB_ATTR_PFC_CFG = 4, - DCB_ATTR_NUM_TC = 5, - DCB_ATTR_PG_CFG = 6, - DCB_ATTR_SET_ALL = 7, - DCB_ATTR_PERM_HWADDR = 8, - DCB_ATTR_CAP = 9, - DCB_ATTR_NUMTCS = 10, - DCB_ATTR_BCN = 11, - DCB_ATTR_APP = 12, - DCB_ATTR_IEEE = 13, - DCB_ATTR_DCBX = 14, - DCB_ATTR_FEATCFG = 15, - DCB_ATTR_CEE = 16, - __DCB_ATTR_ENUM_MAX = 17, - DCB_ATTR_MAX = 16, -}; - -enum dcbnl_bcn_attrs { - DCB_BCN_ATTR_UNDEFINED = 0, - DCB_BCN_ATTR_RP_0 = 1, - DCB_BCN_ATTR_RP_1 = 2, - DCB_BCN_ATTR_RP_2 = 3, - DCB_BCN_ATTR_RP_3 = 4, - DCB_BCN_ATTR_RP_4 = 5, - DCB_BCN_ATTR_RP_5 = 6, - DCB_BCN_ATTR_RP_6 = 7, - DCB_BCN_ATTR_RP_7 = 8, - DCB_BCN_ATTR_RP_ALL = 9, - DCB_BCN_ATTR_BCNA_0 = 10, - DCB_BCN_ATTR_BCNA_1 = 11, - DCB_BCN_ATTR_ALPHA = 12, - DCB_BCN_ATTR_BETA = 13, - DCB_BCN_ATTR_GD = 14, - DCB_BCN_ATTR_GI = 15, - DCB_BCN_ATTR_TMAX = 16, - DCB_BCN_ATTR_TD = 17, - DCB_BCN_ATTR_RMIN = 18, - DCB_BCN_ATTR_W = 19, - DCB_BCN_ATTR_RD = 20, - DCB_BCN_ATTR_RU = 21, - DCB_BCN_ATTR_WRTT = 22, - DCB_BCN_ATTR_RI = 23, - DCB_BCN_ATTR_C = 24, - DCB_BCN_ATTR_ALL = 25, - __DCB_BCN_ATTR_ENUM_MAX = 26, - DCB_BCN_ATTR_MAX = 25, -}; - -enum dcbnl_cap_attrs { - DCB_CAP_ATTR_UNDEFINED = 0, - DCB_CAP_ATTR_ALL = 1, - DCB_CAP_ATTR_PG = 2, - DCB_CAP_ATTR_PFC = 3, - DCB_CAP_ATTR_UP2TC = 4, - DCB_CAP_ATTR_PG_TCS = 5, - DCB_CAP_ATTR_PFC_TCS = 6, - DCB_CAP_ATTR_GSP = 7, - DCB_CAP_ATTR_BCN = 8, - DCB_CAP_ATTR_DCBX = 9, - __DCB_CAP_ATTR_ENUM_MAX = 10, - DCB_CAP_ATTR_MAX = 9, -}; - -enum dcbnl_commands { - DCB_CMD_UNDEFINED = 0, - DCB_CMD_GSTATE = 1, - DCB_CMD_SSTATE = 2, - DCB_CMD_PGTX_GCFG = 3, - DCB_CMD_PGTX_SCFG = 4, - DCB_CMD_PGRX_GCFG = 5, - DCB_CMD_PGRX_SCFG = 6, - DCB_CMD_PFC_GCFG = 7, - DCB_CMD_PFC_SCFG = 8, - DCB_CMD_SET_ALL = 9, - DCB_CMD_GPERM_HWADDR = 10, - DCB_CMD_GCAP = 11, - DCB_CMD_GNUMTCS = 12, - DCB_CMD_SNUMTCS = 13, - DCB_CMD_PFC_GSTATE = 14, - DCB_CMD_PFC_SSTATE = 15, - DCB_CMD_BCN_GCFG = 16, - DCB_CMD_BCN_SCFG = 17, - DCB_CMD_GAPP = 18, - DCB_CMD_SAPP = 19, - DCB_CMD_IEEE_SET = 20, - DCB_CMD_IEEE_GET = 21, - DCB_CMD_GDCBX = 22, - DCB_CMD_SDCBX = 23, - DCB_CMD_GFEATCFG = 24, - DCB_CMD_SFEATCFG = 25, - DCB_CMD_CEE_GET = 26, - DCB_CMD_IEEE_DEL = 27, - __DCB_CMD_ENUM_MAX = 28, - DCB_CMD_MAX = 27, -}; - -enum dcbnl_featcfg_attrs { - DCB_FEATCFG_ATTR_UNDEFINED = 0, - DCB_FEATCFG_ATTR_ALL = 1, - DCB_FEATCFG_ATTR_PG = 2, - DCB_FEATCFG_ATTR_PFC = 3, - DCB_FEATCFG_ATTR_APP = 4, - __DCB_FEATCFG_ATTR_ENUM_MAX = 5, - DCB_FEATCFG_ATTR_MAX = 4, -}; - -enum dcbnl_numtcs_attrs { - DCB_NUMTCS_ATTR_UNDEFINED = 0, - DCB_NUMTCS_ATTR_ALL = 1, - DCB_NUMTCS_ATTR_PG = 2, - DCB_NUMTCS_ATTR_PFC = 3, - __DCB_NUMTCS_ATTR_ENUM_MAX = 4, - DCB_NUMTCS_ATTR_MAX = 3, -}; - -enum dcbnl_pfc_up_attrs { - DCB_PFC_UP_ATTR_UNDEFINED = 0, - DCB_PFC_UP_ATTR_0 = 1, - DCB_PFC_UP_ATTR_1 = 2, - DCB_PFC_UP_ATTR_2 = 3, - DCB_PFC_UP_ATTR_3 = 4, - DCB_PFC_UP_ATTR_4 = 5, - DCB_PFC_UP_ATTR_5 = 6, - DCB_PFC_UP_ATTR_6 = 7, - DCB_PFC_UP_ATTR_7 = 8, - DCB_PFC_UP_ATTR_ALL = 9, - __DCB_PFC_UP_ATTR_ENUM_MAX = 10, - DCB_PFC_UP_ATTR_MAX = 9, -}; - -enum dcbnl_pg_attrs { - DCB_PG_ATTR_UNDEFINED = 0, - DCB_PG_ATTR_TC_0 = 1, - DCB_PG_ATTR_TC_1 = 2, - DCB_PG_ATTR_TC_2 = 3, - DCB_PG_ATTR_TC_3 = 4, - DCB_PG_ATTR_TC_4 = 5, - DCB_PG_ATTR_TC_5 = 6, - DCB_PG_ATTR_TC_6 = 7, - DCB_PG_ATTR_TC_7 = 8, - DCB_PG_ATTR_TC_MAX = 9, - DCB_PG_ATTR_TC_ALL = 10, - DCB_PG_ATTR_BW_ID_0 = 11, - DCB_PG_ATTR_BW_ID_1 = 12, - DCB_PG_ATTR_BW_ID_2 = 13, - DCB_PG_ATTR_BW_ID_3 = 14, - DCB_PG_ATTR_BW_ID_4 = 15, - DCB_PG_ATTR_BW_ID_5 = 16, - DCB_PG_ATTR_BW_ID_6 = 17, - DCB_PG_ATTR_BW_ID_7 = 18, - DCB_PG_ATTR_BW_ID_MAX = 19, - DCB_PG_ATTR_BW_ID_ALL = 20, - __DCB_PG_ATTR_ENUM_MAX = 21, - DCB_PG_ATTR_MAX = 20, -}; - -enum dcbnl_tc_attrs { - DCB_TC_ATTR_PARAM_UNDEFINED = 0, - DCB_TC_ATTR_PARAM_PGID = 1, - DCB_TC_ATTR_PARAM_UP_MAPPING = 2, - DCB_TC_ATTR_PARAM_STRICT_PRIO = 3, - DCB_TC_ATTR_PARAM_BW_PCT = 4, - DCB_TC_ATTR_PARAM_ALL = 5, - __DCB_TC_ATTR_PARAM_ENUM_MAX = 6, - DCB_TC_ATTR_PARAM_MAX = 5, -}; - -enum dd_data_dir { - DD_READ = 0, - DD_WRITE = 1, -}; - -enum dd_prio { - DD_RT_PRIO = 0, - DD_BE_PRIO = 1, - DD_IDLE_PRIO = 2, - DD_PRIO_MAX = 2, -}; - -enum dentry_d_lock_class { - DENTRY_D_LOCK_NORMAL = 0, - DENTRY_D_LOCK_NESTED = 1, -}; - -enum dentry_flags { - DCACHE_OP_HASH = 1, - DCACHE_OP_COMPARE = 2, - DCACHE_OP_REVALIDATE = 4, - DCACHE_OP_DELETE = 8, - DCACHE_OP_PRUNE = 16, - DCACHE_DISCONNECTED = 32, - DCACHE_REFERENCED = 64, - DCACHE_DONTCACHE = 128, - DCACHE_CANT_MOUNT = 256, - DCACHE_GENOCIDE = 512, - DCACHE_SHRINK_LIST = 1024, - DCACHE_OP_WEAK_REVALIDATE = 2048, - DCACHE_NFSFS_RENAMED = 4096, - DCACHE_FSNOTIFY_PARENT_WATCHED = 8192, - DCACHE_DENTRY_KILLED = 16384, - DCACHE_MOUNTED = 32768, - DCACHE_NEED_AUTOMOUNT = 65536, - DCACHE_MANAGE_TRANSIT = 131072, - DCACHE_LRU_LIST = 262144, - DCACHE_ENTRY_TYPE = 3670016, - DCACHE_MISS_TYPE = 0, - DCACHE_WHITEOUT_TYPE = 524288, - DCACHE_DIRECTORY_TYPE = 1048576, - DCACHE_AUTODIR_TYPE = 1572864, - DCACHE_REGULAR_TYPE = 2097152, - DCACHE_SPECIAL_TYPE = 2621440, - DCACHE_SYMLINK_TYPE = 3145728, - DCACHE_NOKEY_NAME = 4194304, - DCACHE_OP_REAL = 8388608, - DCACHE_PAR_LOOKUP = 16777216, - DCACHE_DENTRY_CURSOR = 33554432, - DCACHE_NORCU = 67108864, -}; - -enum depot_counter_id { - DEPOT_COUNTER_REFD_ALLOCS = 0, - DEPOT_COUNTER_REFD_FREES = 1, - DEPOT_COUNTER_REFD_INUSE = 2, - DEPOT_COUNTER_FREELIST_SIZE = 3, - DEPOT_COUNTER_PERSIST_COUNT = 4, - DEPOT_COUNTER_PERSIST_BYTES = 5, - DEPOT_COUNTER_COUNT = 6, -}; - -enum derived_key_type { - ENC_KEY = 0, - AUTH_KEY = 1, -}; - -enum desc_state { - desc_miss = -1, - desc_reserved = 0, - desc_committed = 1, - desc_finalized = 2, - desc_reusable = 3, -}; - -enum dev_dma_attr { - DEV_DMA_NOT_SUPPORTED = 0, - DEV_DMA_NON_COHERENT = 1, - DEV_DMA_COHERENT = 2, -}; - -enum dev_pm_opp_event { - OPP_EVENT_ADD = 0, - OPP_EVENT_REMOVE = 1, - OPP_EVENT_ENABLE = 2, - OPP_EVENT_DISABLE = 3, - OPP_EVENT_ADJUST_VOLTAGE = 4, -}; - -enum dev_pm_qos_req_type { - DEV_PM_QOS_RESUME_LATENCY = 1, - DEV_PM_QOS_LATENCY_TOLERANCE = 2, - DEV_PM_QOS_MIN_FREQUENCY = 3, - DEV_PM_QOS_MAX_FREQUENCY = 4, - DEV_PM_QOS_FLAGS = 5, -}; - -enum dev_prop_type { - DEV_PROP_U8 = 0, - DEV_PROP_U16 = 1, - DEV_PROP_U32 = 2, - DEV_PROP_U64 = 3, - DEV_PROP_STRING = 4, - DEV_PROP_REF = 5, -}; - -enum dev_type { - DEV_UNKNOWN = 0, - DEV_X1 = 1, - DEV_X2 = 2, - DEV_X4 = 3, - DEV_X8 = 4, - DEV_X16 = 5, - DEV_X32 = 6, - DEV_X64 = 7, -}; - -enum devcg_behavior { - DEVCG_DEFAULT_NONE = 0, - DEVCG_DEFAULT_ALLOW = 1, - DEVCG_DEFAULT_DENY = 2, -}; - -enum devfreq_parent_dev_type { - DEVFREQ_PARENT_DEV = 0, - CPUFREQ_PARENT_DEV = 1, -}; - -enum devfreq_timer { - DEVFREQ_TIMER_DEFERRABLE = 0, - DEVFREQ_TIMER_DELAYED = 1, - DEVFREQ_TIMER_NUM = 2, -}; - -enum device_link_state { - DL_STATE_NONE = -1, - DL_STATE_DORMANT = 0, - DL_STATE_AVAILABLE = 1, - DL_STATE_CONSUMER_PROBE = 2, - DL_STATE_ACTIVE = 3, - DL_STATE_SUPPLIER_UNBIND = 4, -}; - -enum device_physical_location_horizontal_position { - DEVICE_HORI_POS_LEFT = 0, - DEVICE_HORI_POS_CENTER = 1, - DEVICE_HORI_POS_RIGHT = 2, -}; - -enum device_physical_location_panel { - DEVICE_PANEL_TOP = 0, - DEVICE_PANEL_BOTTOM = 1, - DEVICE_PANEL_LEFT = 2, - DEVICE_PANEL_RIGHT = 3, - DEVICE_PANEL_FRONT = 4, - DEVICE_PANEL_BACK = 5, - DEVICE_PANEL_UNKNOWN = 6, -}; - -enum device_physical_location_vertical_position { - DEVICE_VERT_POS_UPPER = 0, - DEVICE_VERT_POS_CENTER = 1, - DEVICE_VERT_POS_LOWER = 2, -}; - -enum device_removable { - DEVICE_REMOVABLE_NOT_SUPPORTED = 0, - DEVICE_REMOVABLE_UNKNOWN = 1, - DEVICE_FIXED = 2, - DEVICE_REMOVABLE = 3, -}; - -enum devkmsg_log_bits { - __DEVKMSG_LOG_BIT_ON = 0, - __DEVKMSG_LOG_BIT_OFF = 1, - __DEVKMSG_LOG_BIT_LOCK = 2, -}; - -enum devkmsg_log_masks { - DEVKMSG_LOG_MASK_ON = 1, - DEVKMSG_LOG_MASK_OFF = 2, - DEVKMSG_LOG_MASK_LOCK = 4, -}; - -enum devlink_attr { - DEVLINK_ATTR_UNSPEC = 0, - DEVLINK_ATTR_BUS_NAME = 1, - DEVLINK_ATTR_DEV_NAME = 2, - DEVLINK_ATTR_PORT_INDEX = 3, - DEVLINK_ATTR_PORT_TYPE = 4, - DEVLINK_ATTR_PORT_DESIRED_TYPE = 5, - DEVLINK_ATTR_PORT_NETDEV_IFINDEX = 6, - DEVLINK_ATTR_PORT_NETDEV_NAME = 7, - DEVLINK_ATTR_PORT_IBDEV_NAME = 8, - DEVLINK_ATTR_PORT_SPLIT_COUNT = 9, - DEVLINK_ATTR_PORT_SPLIT_GROUP = 10, - DEVLINK_ATTR_SB_INDEX = 11, - DEVLINK_ATTR_SB_SIZE = 12, - DEVLINK_ATTR_SB_INGRESS_POOL_COUNT = 13, - DEVLINK_ATTR_SB_EGRESS_POOL_COUNT = 14, - DEVLINK_ATTR_SB_INGRESS_TC_COUNT = 15, - DEVLINK_ATTR_SB_EGRESS_TC_COUNT = 16, - DEVLINK_ATTR_SB_POOL_INDEX = 17, - DEVLINK_ATTR_SB_POOL_TYPE = 18, - DEVLINK_ATTR_SB_POOL_SIZE = 19, - DEVLINK_ATTR_SB_POOL_THRESHOLD_TYPE = 20, - DEVLINK_ATTR_SB_THRESHOLD = 21, - DEVLINK_ATTR_SB_TC_INDEX = 22, - DEVLINK_ATTR_SB_OCC_CUR = 23, - DEVLINK_ATTR_SB_OCC_MAX = 24, - DEVLINK_ATTR_ESWITCH_MODE = 25, - DEVLINK_ATTR_ESWITCH_INLINE_MODE = 26, - DEVLINK_ATTR_DPIPE_TABLES = 27, - DEVLINK_ATTR_DPIPE_TABLE = 28, - DEVLINK_ATTR_DPIPE_TABLE_NAME = 29, - DEVLINK_ATTR_DPIPE_TABLE_SIZE = 30, - DEVLINK_ATTR_DPIPE_TABLE_MATCHES = 31, - DEVLINK_ATTR_DPIPE_TABLE_ACTIONS = 32, - DEVLINK_ATTR_DPIPE_TABLE_COUNTERS_ENABLED = 33, - DEVLINK_ATTR_DPIPE_ENTRIES = 34, - DEVLINK_ATTR_DPIPE_ENTRY = 35, - DEVLINK_ATTR_DPIPE_ENTRY_INDEX = 36, - DEVLINK_ATTR_DPIPE_ENTRY_MATCH_VALUES = 37, - DEVLINK_ATTR_DPIPE_ENTRY_ACTION_VALUES = 38, - DEVLINK_ATTR_DPIPE_ENTRY_COUNTER = 39, - DEVLINK_ATTR_DPIPE_MATCH = 40, - DEVLINK_ATTR_DPIPE_MATCH_VALUE = 41, - DEVLINK_ATTR_DPIPE_MATCH_TYPE = 42, - DEVLINK_ATTR_DPIPE_ACTION = 43, - DEVLINK_ATTR_DPIPE_ACTION_VALUE = 44, - DEVLINK_ATTR_DPIPE_ACTION_TYPE = 45, - DEVLINK_ATTR_DPIPE_VALUE = 46, - DEVLINK_ATTR_DPIPE_VALUE_MASK = 47, - DEVLINK_ATTR_DPIPE_VALUE_MAPPING = 48, - DEVLINK_ATTR_DPIPE_HEADERS = 49, - DEVLINK_ATTR_DPIPE_HEADER = 50, - DEVLINK_ATTR_DPIPE_HEADER_NAME = 51, - DEVLINK_ATTR_DPIPE_HEADER_ID = 52, - DEVLINK_ATTR_DPIPE_HEADER_FIELDS = 53, - DEVLINK_ATTR_DPIPE_HEADER_GLOBAL = 54, - DEVLINK_ATTR_DPIPE_HEADER_INDEX = 55, - DEVLINK_ATTR_DPIPE_FIELD = 56, - DEVLINK_ATTR_DPIPE_FIELD_NAME = 57, - DEVLINK_ATTR_DPIPE_FIELD_ID = 58, - DEVLINK_ATTR_DPIPE_FIELD_BITWIDTH = 59, - DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 60, - DEVLINK_ATTR_PAD = 61, - DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 62, - DEVLINK_ATTR_RESOURCE_LIST = 63, - DEVLINK_ATTR_RESOURCE = 64, - DEVLINK_ATTR_RESOURCE_NAME = 65, - DEVLINK_ATTR_RESOURCE_ID = 66, - DEVLINK_ATTR_RESOURCE_SIZE = 67, - DEVLINK_ATTR_RESOURCE_SIZE_NEW = 68, - DEVLINK_ATTR_RESOURCE_SIZE_VALID = 69, - DEVLINK_ATTR_RESOURCE_SIZE_MIN = 70, - DEVLINK_ATTR_RESOURCE_SIZE_MAX = 71, - DEVLINK_ATTR_RESOURCE_SIZE_GRAN = 72, - DEVLINK_ATTR_RESOURCE_UNIT = 73, - DEVLINK_ATTR_RESOURCE_OCC = 74, - DEVLINK_ATTR_DPIPE_TABLE_RESOURCE_ID = 75, - DEVLINK_ATTR_DPIPE_TABLE_RESOURCE_UNITS = 76, - DEVLINK_ATTR_PORT_FLAVOUR = 77, - DEVLINK_ATTR_PORT_NUMBER = 78, - DEVLINK_ATTR_PORT_SPLIT_SUBPORT_NUMBER = 79, - DEVLINK_ATTR_PARAM = 80, - DEVLINK_ATTR_PARAM_NAME = 81, - DEVLINK_ATTR_PARAM_GENERIC = 82, - DEVLINK_ATTR_PARAM_TYPE = 83, - DEVLINK_ATTR_PARAM_VALUES_LIST = 84, - DEVLINK_ATTR_PARAM_VALUE = 85, - DEVLINK_ATTR_PARAM_VALUE_DATA = 86, - DEVLINK_ATTR_PARAM_VALUE_CMODE = 87, - DEVLINK_ATTR_REGION_NAME = 88, - DEVLINK_ATTR_REGION_SIZE = 89, - DEVLINK_ATTR_REGION_SNAPSHOTS = 90, - DEVLINK_ATTR_REGION_SNAPSHOT = 91, - DEVLINK_ATTR_REGION_SNAPSHOT_ID = 92, - DEVLINK_ATTR_REGION_CHUNKS = 93, - DEVLINK_ATTR_REGION_CHUNK = 94, - DEVLINK_ATTR_REGION_CHUNK_DATA = 95, - DEVLINK_ATTR_REGION_CHUNK_ADDR = 96, - DEVLINK_ATTR_REGION_CHUNK_LEN = 97, - DEVLINK_ATTR_INFO_DRIVER_NAME = 98, - DEVLINK_ATTR_INFO_SERIAL_NUMBER = 99, - DEVLINK_ATTR_INFO_VERSION_FIXED = 100, - DEVLINK_ATTR_INFO_VERSION_RUNNING = 101, - DEVLINK_ATTR_INFO_VERSION_STORED = 102, - DEVLINK_ATTR_INFO_VERSION_NAME = 103, - DEVLINK_ATTR_INFO_VERSION_VALUE = 104, - DEVLINK_ATTR_SB_POOL_CELL_SIZE = 105, - DEVLINK_ATTR_FMSG = 106, - DEVLINK_ATTR_FMSG_OBJ_NEST_START = 107, - DEVLINK_ATTR_FMSG_PAIR_NEST_START = 108, - DEVLINK_ATTR_FMSG_ARR_NEST_START = 109, - DEVLINK_ATTR_FMSG_NEST_END = 110, - DEVLINK_ATTR_FMSG_OBJ_NAME = 111, - DEVLINK_ATTR_FMSG_OBJ_VALUE_TYPE = 112, - DEVLINK_ATTR_FMSG_OBJ_VALUE_DATA = 113, - DEVLINK_ATTR_HEALTH_REPORTER = 114, - DEVLINK_ATTR_HEALTH_REPORTER_NAME = 115, - DEVLINK_ATTR_HEALTH_REPORTER_STATE = 116, - DEVLINK_ATTR_HEALTH_REPORTER_ERR_COUNT = 117, - DEVLINK_ATTR_HEALTH_REPORTER_RECOVER_COUNT = 118, - DEVLINK_ATTR_HEALTH_REPORTER_DUMP_TS = 119, - DEVLINK_ATTR_HEALTH_REPORTER_GRACEFUL_PERIOD = 120, - DEVLINK_ATTR_HEALTH_REPORTER_AUTO_RECOVER = 121, - DEVLINK_ATTR_FLASH_UPDATE_FILE_NAME = 122, - DEVLINK_ATTR_FLASH_UPDATE_COMPONENT = 123, - DEVLINK_ATTR_FLASH_UPDATE_STATUS_MSG = 124, - DEVLINK_ATTR_FLASH_UPDATE_STATUS_DONE = 125, - DEVLINK_ATTR_FLASH_UPDATE_STATUS_TOTAL = 126, - DEVLINK_ATTR_PORT_PCI_PF_NUMBER = 127, - DEVLINK_ATTR_PORT_PCI_VF_NUMBER = 128, - DEVLINK_ATTR_STATS = 129, - DEVLINK_ATTR_TRAP_NAME = 130, - DEVLINK_ATTR_TRAP_ACTION = 131, - DEVLINK_ATTR_TRAP_TYPE = 132, - DEVLINK_ATTR_TRAP_GENERIC = 133, - DEVLINK_ATTR_TRAP_METADATA = 134, - DEVLINK_ATTR_TRAP_GROUP_NAME = 135, - DEVLINK_ATTR_RELOAD_FAILED = 136, - DEVLINK_ATTR_HEALTH_REPORTER_DUMP_TS_NS = 137, - DEVLINK_ATTR_NETNS_FD = 138, - DEVLINK_ATTR_NETNS_PID = 139, - DEVLINK_ATTR_NETNS_ID = 140, - DEVLINK_ATTR_HEALTH_REPORTER_AUTO_DUMP = 141, - DEVLINK_ATTR_TRAP_POLICER_ID = 142, - DEVLINK_ATTR_TRAP_POLICER_RATE = 143, - DEVLINK_ATTR_TRAP_POLICER_BURST = 144, - DEVLINK_ATTR_PORT_FUNCTION = 145, - DEVLINK_ATTR_INFO_BOARD_SERIAL_NUMBER = 146, - DEVLINK_ATTR_PORT_LANES = 147, - DEVLINK_ATTR_PORT_SPLITTABLE = 148, - DEVLINK_ATTR_PORT_EXTERNAL = 149, - DEVLINK_ATTR_PORT_CONTROLLER_NUMBER = 150, - DEVLINK_ATTR_FLASH_UPDATE_STATUS_TIMEOUT = 151, - DEVLINK_ATTR_FLASH_UPDATE_OVERWRITE_MASK = 152, - DEVLINK_ATTR_RELOAD_ACTION = 153, - DEVLINK_ATTR_RELOAD_ACTIONS_PERFORMED = 154, - DEVLINK_ATTR_RELOAD_LIMITS = 155, - DEVLINK_ATTR_DEV_STATS = 156, - DEVLINK_ATTR_RELOAD_STATS = 157, - DEVLINK_ATTR_RELOAD_STATS_ENTRY = 158, - DEVLINK_ATTR_RELOAD_STATS_LIMIT = 159, - DEVLINK_ATTR_RELOAD_STATS_VALUE = 160, - DEVLINK_ATTR_REMOTE_RELOAD_STATS = 161, - DEVLINK_ATTR_RELOAD_ACTION_INFO = 162, - DEVLINK_ATTR_RELOAD_ACTION_STATS = 163, - DEVLINK_ATTR_PORT_PCI_SF_NUMBER = 164, - DEVLINK_ATTR_RATE_TYPE = 165, - DEVLINK_ATTR_RATE_TX_SHARE = 166, - DEVLINK_ATTR_RATE_TX_MAX = 167, - DEVLINK_ATTR_RATE_NODE_NAME = 168, - DEVLINK_ATTR_RATE_PARENT_NODE_NAME = 169, - DEVLINK_ATTR_REGION_MAX_SNAPSHOTS = 170, - DEVLINK_ATTR_LINECARD_INDEX = 171, - DEVLINK_ATTR_LINECARD_STATE = 172, - DEVLINK_ATTR_LINECARD_TYPE = 173, - DEVLINK_ATTR_LINECARD_SUPPORTED_TYPES = 174, - DEVLINK_ATTR_NESTED_DEVLINK = 175, - DEVLINK_ATTR_SELFTESTS = 176, - DEVLINK_ATTR_RATE_TX_PRIORITY = 177, - DEVLINK_ATTR_RATE_TX_WEIGHT = 178, - DEVLINK_ATTR_REGION_DIRECT = 179, - DEVLINK_ATTR_RATE_TC_BWS = 180, - __DEVLINK_ATTR_MAX = 181, - DEVLINK_ATTR_MAX = 180, -}; - -enum devlink_attr_selftest_id { - DEVLINK_ATTR_SELFTEST_ID_UNSPEC = 0, - DEVLINK_ATTR_SELFTEST_ID_FLASH = 1, - __DEVLINK_ATTR_SELFTEST_ID_MAX = 2, - DEVLINK_ATTR_SELFTEST_ID_MAX = 1, -}; - -enum devlink_attr_selftest_result { - DEVLINK_ATTR_SELFTEST_RESULT_UNSPEC = 0, - DEVLINK_ATTR_SELFTEST_RESULT = 1, - DEVLINK_ATTR_SELFTEST_RESULT_ID = 2, - DEVLINK_ATTR_SELFTEST_RESULT_STATUS = 3, - __DEVLINK_ATTR_SELFTEST_RESULT_MAX = 4, - DEVLINK_ATTR_SELFTEST_RESULT_MAX = 3, -}; - -enum devlink_command { - DEVLINK_CMD_UNSPEC = 0, - DEVLINK_CMD_GET = 1, - DEVLINK_CMD_SET = 2, - DEVLINK_CMD_NEW = 3, - DEVLINK_CMD_DEL = 4, - DEVLINK_CMD_PORT_GET = 5, - DEVLINK_CMD_PORT_SET = 6, - DEVLINK_CMD_PORT_NEW = 7, - DEVLINK_CMD_PORT_DEL = 8, - DEVLINK_CMD_PORT_SPLIT = 9, - DEVLINK_CMD_PORT_UNSPLIT = 10, - DEVLINK_CMD_SB_GET = 11, - DEVLINK_CMD_SB_SET = 12, - DEVLINK_CMD_SB_NEW = 13, - DEVLINK_CMD_SB_DEL = 14, - DEVLINK_CMD_SB_POOL_GET = 15, - DEVLINK_CMD_SB_POOL_SET = 16, - DEVLINK_CMD_SB_POOL_NEW = 17, - DEVLINK_CMD_SB_POOL_DEL = 18, - DEVLINK_CMD_SB_PORT_POOL_GET = 19, - DEVLINK_CMD_SB_PORT_POOL_SET = 20, - DEVLINK_CMD_SB_PORT_POOL_NEW = 21, - DEVLINK_CMD_SB_PORT_POOL_DEL = 22, - DEVLINK_CMD_SB_TC_POOL_BIND_GET = 23, - DEVLINK_CMD_SB_TC_POOL_BIND_SET = 24, - DEVLINK_CMD_SB_TC_POOL_BIND_NEW = 25, - DEVLINK_CMD_SB_TC_POOL_BIND_DEL = 26, - DEVLINK_CMD_SB_OCC_SNAPSHOT = 27, - DEVLINK_CMD_SB_OCC_MAX_CLEAR = 28, - DEVLINK_CMD_ESWITCH_GET = 29, - DEVLINK_CMD_ESWITCH_SET = 30, - DEVLINK_CMD_DPIPE_TABLE_GET = 31, - DEVLINK_CMD_DPIPE_ENTRIES_GET = 32, - DEVLINK_CMD_DPIPE_HEADERS_GET = 33, - DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 34, - DEVLINK_CMD_RESOURCE_SET = 35, - DEVLINK_CMD_RESOURCE_DUMP = 36, - DEVLINK_CMD_RELOAD = 37, - DEVLINK_CMD_PARAM_GET = 38, - DEVLINK_CMD_PARAM_SET = 39, - DEVLINK_CMD_PARAM_NEW = 40, - DEVLINK_CMD_PARAM_DEL = 41, - DEVLINK_CMD_REGION_GET = 42, - DEVLINK_CMD_REGION_SET = 43, - DEVLINK_CMD_REGION_NEW = 44, - DEVLINK_CMD_REGION_DEL = 45, - DEVLINK_CMD_REGION_READ = 46, - DEVLINK_CMD_PORT_PARAM_GET = 47, - DEVLINK_CMD_PORT_PARAM_SET = 48, - DEVLINK_CMD_PORT_PARAM_NEW = 49, - DEVLINK_CMD_PORT_PARAM_DEL = 50, - DEVLINK_CMD_INFO_GET = 51, - DEVLINK_CMD_HEALTH_REPORTER_GET = 52, - DEVLINK_CMD_HEALTH_REPORTER_SET = 53, - DEVLINK_CMD_HEALTH_REPORTER_RECOVER = 54, - DEVLINK_CMD_HEALTH_REPORTER_DIAGNOSE = 55, - DEVLINK_CMD_HEALTH_REPORTER_DUMP_GET = 56, - DEVLINK_CMD_HEALTH_REPORTER_DUMP_CLEAR = 57, - DEVLINK_CMD_FLASH_UPDATE = 58, - DEVLINK_CMD_FLASH_UPDATE_END = 59, - DEVLINK_CMD_FLASH_UPDATE_STATUS = 60, - DEVLINK_CMD_TRAP_GET = 61, - DEVLINK_CMD_TRAP_SET = 62, - DEVLINK_CMD_TRAP_NEW = 63, - DEVLINK_CMD_TRAP_DEL = 64, - DEVLINK_CMD_TRAP_GROUP_GET = 65, - DEVLINK_CMD_TRAP_GROUP_SET = 66, - DEVLINK_CMD_TRAP_GROUP_NEW = 67, - DEVLINK_CMD_TRAP_GROUP_DEL = 68, - DEVLINK_CMD_TRAP_POLICER_GET = 69, - DEVLINK_CMD_TRAP_POLICER_SET = 70, - DEVLINK_CMD_TRAP_POLICER_NEW = 71, - DEVLINK_CMD_TRAP_POLICER_DEL = 72, - DEVLINK_CMD_HEALTH_REPORTER_TEST = 73, - DEVLINK_CMD_RATE_GET = 74, - DEVLINK_CMD_RATE_SET = 75, - DEVLINK_CMD_RATE_NEW = 76, - DEVLINK_CMD_RATE_DEL = 77, - DEVLINK_CMD_LINECARD_GET = 78, - DEVLINK_CMD_LINECARD_SET = 79, - DEVLINK_CMD_LINECARD_NEW = 80, - DEVLINK_CMD_LINECARD_DEL = 81, - DEVLINK_CMD_SELFTESTS_GET = 82, - DEVLINK_CMD_SELFTESTS_RUN = 83, - DEVLINK_CMD_NOTIFY_FILTER_SET = 84, - __DEVLINK_CMD_MAX = 85, - DEVLINK_CMD_MAX = 84, -}; - -enum devlink_dpipe_action_type { - DEVLINK_DPIPE_ACTION_TYPE_FIELD_MODIFY = 0, -}; - -enum devlink_dpipe_field_ethernet_id { - DEVLINK_DPIPE_FIELD_ETHERNET_DST_MAC = 0, -}; - -enum devlink_dpipe_field_ipv4_id { - DEVLINK_DPIPE_FIELD_IPV4_DST_IP = 0, -}; - -enum devlink_dpipe_field_ipv6_id { - DEVLINK_DPIPE_FIELD_IPV6_DST_IP = 0, -}; - -enum devlink_dpipe_field_mapping_type { - DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0, - DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 1, -}; - -enum devlink_dpipe_header_id { - DEVLINK_DPIPE_HEADER_ETHERNET = 0, - DEVLINK_DPIPE_HEADER_IPV4 = 1, - DEVLINK_DPIPE_HEADER_IPV6 = 2, -}; - -enum devlink_dpipe_match_type { - DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0, -}; - -enum devlink_eswitch_encap_mode { - DEVLINK_ESWITCH_ENCAP_MODE_NONE = 0, - DEVLINK_ESWITCH_ENCAP_MODE_BASIC = 1, -}; - -enum devlink_health_reporter_state { - DEVLINK_HEALTH_REPORTER_STATE_HEALTHY = 0, - DEVLINK_HEALTH_REPORTER_STATE_ERROR = 1, -}; - -enum devlink_info_version_type { - DEVLINK_INFO_VERSION_TYPE_NONE = 0, - DEVLINK_INFO_VERSION_TYPE_COMPONENT = 1, -}; - -enum devlink_linecard_state { - DEVLINK_LINECARD_STATE_UNSPEC = 0, - DEVLINK_LINECARD_STATE_UNPROVISIONED = 1, - DEVLINK_LINECARD_STATE_UNPROVISIONING = 2, - DEVLINK_LINECARD_STATE_PROVISIONING = 3, - DEVLINK_LINECARD_STATE_PROVISIONING_FAILED = 4, - DEVLINK_LINECARD_STATE_PROVISIONED = 5, - DEVLINK_LINECARD_STATE_ACTIVE = 6, - __DEVLINK_LINECARD_STATE_MAX = 7, - DEVLINK_LINECARD_STATE_MAX = 6, -}; - -enum devlink_multicast_groups { - DEVLINK_MCGRP_CONFIG = 0, -}; - -enum devlink_param_cmode { - DEVLINK_PARAM_CMODE_RUNTIME = 0, - DEVLINK_PARAM_CMODE_DRIVERINIT = 1, - DEVLINK_PARAM_CMODE_PERMANENT = 2, - __DEVLINK_PARAM_CMODE_MAX = 3, - DEVLINK_PARAM_CMODE_MAX = 2, -}; - -enum devlink_param_generic_id { - DEVLINK_PARAM_GENERIC_ID_INT_ERR_RESET = 0, - DEVLINK_PARAM_GENERIC_ID_MAX_MACS = 1, - DEVLINK_PARAM_GENERIC_ID_ENABLE_SRIOV = 2, - DEVLINK_PARAM_GENERIC_ID_REGION_SNAPSHOT = 3, - DEVLINK_PARAM_GENERIC_ID_IGNORE_ARI = 4, - DEVLINK_PARAM_GENERIC_ID_MSIX_VEC_PER_PF_MAX = 5, - DEVLINK_PARAM_GENERIC_ID_MSIX_VEC_PER_PF_MIN = 6, - DEVLINK_PARAM_GENERIC_ID_FW_LOAD_POLICY = 7, - DEVLINK_PARAM_GENERIC_ID_RESET_DEV_ON_DRV_PROBE = 8, - DEVLINK_PARAM_GENERIC_ID_ENABLE_ROCE = 9, - DEVLINK_PARAM_GENERIC_ID_ENABLE_REMOTE_DEV_RESET = 10, - DEVLINK_PARAM_GENERIC_ID_ENABLE_ETH = 11, - DEVLINK_PARAM_GENERIC_ID_ENABLE_RDMA = 12, - DEVLINK_PARAM_GENERIC_ID_ENABLE_VNET = 13, - DEVLINK_PARAM_GENERIC_ID_ENABLE_IWARP = 14, - DEVLINK_PARAM_GENERIC_ID_IO_EQ_SIZE = 15, - DEVLINK_PARAM_GENERIC_ID_EVENT_EQ_SIZE = 16, - DEVLINK_PARAM_GENERIC_ID_ENABLE_PHC = 17, - DEVLINK_PARAM_GENERIC_ID_CLOCK_ID = 18, - __DEVLINK_PARAM_GENERIC_ID_MAX = 19, - DEVLINK_PARAM_GENERIC_ID_MAX = 18, -}; - -enum devlink_param_type { - DEVLINK_PARAM_TYPE_U8 = 1, - DEVLINK_PARAM_TYPE_U16 = 2, - DEVLINK_PARAM_TYPE_U32 = 3, - DEVLINK_PARAM_TYPE_U64 = 4, - DEVLINK_PARAM_TYPE_STRING = 5, - DEVLINK_PARAM_TYPE_BOOL = 6, -}; - -enum devlink_port_flavour { - DEVLINK_PORT_FLAVOUR_PHYSICAL = 0, - DEVLINK_PORT_FLAVOUR_CPU = 1, - DEVLINK_PORT_FLAVOUR_DSA = 2, - DEVLINK_PORT_FLAVOUR_PCI_PF = 3, - DEVLINK_PORT_FLAVOUR_PCI_VF = 4, - DEVLINK_PORT_FLAVOUR_VIRTUAL = 5, - DEVLINK_PORT_FLAVOUR_UNUSED = 6, - DEVLINK_PORT_FLAVOUR_PCI_SF = 7, -}; - -enum devlink_port_fn_attr_cap { - DEVLINK_PORT_FN_ATTR_CAP_ROCE_BIT = 0, - DEVLINK_PORT_FN_ATTR_CAP_MIGRATABLE_BIT = 1, - DEVLINK_PORT_FN_ATTR_CAP_IPSEC_CRYPTO_BIT = 2, - DEVLINK_PORT_FN_ATTR_CAP_IPSEC_PACKET_BIT = 3, - __DEVLINK_PORT_FN_ATTR_CAPS_MAX = 4, -}; - -enum devlink_port_fn_opstate { - DEVLINK_PORT_FN_OPSTATE_DETACHED = 0, - DEVLINK_PORT_FN_OPSTATE_ATTACHED = 1, -}; - -enum devlink_port_fn_state { - DEVLINK_PORT_FN_STATE_INACTIVE = 0, - DEVLINK_PORT_FN_STATE_ACTIVE = 1, -}; - -enum devlink_port_function_attr { - DEVLINK_PORT_FUNCTION_ATTR_UNSPEC = 0, - DEVLINK_PORT_FUNCTION_ATTR_HW_ADDR = 1, - DEVLINK_PORT_FN_ATTR_STATE = 2, - DEVLINK_PORT_FN_ATTR_OPSTATE = 3, - DEVLINK_PORT_FN_ATTR_CAPS = 4, - DEVLINK_PORT_FN_ATTR_DEVLINK = 5, - DEVLINK_PORT_FN_ATTR_MAX_IO_EQS = 6, - __DEVLINK_PORT_FUNCTION_ATTR_MAX = 7, - DEVLINK_PORT_FUNCTION_ATTR_MAX = 6, -}; - -enum devlink_port_type { - DEVLINK_PORT_TYPE_NOTSET = 0, - DEVLINK_PORT_TYPE_AUTO = 1, - DEVLINK_PORT_TYPE_ETH = 2, - DEVLINK_PORT_TYPE_IB = 3, -}; - -enum devlink_rate_tc_attr { - DEVLINK_RATE_TC_ATTR_UNSPEC = 0, - DEVLINK_RATE_TC_ATTR_INDEX = 1, - DEVLINK_RATE_TC_ATTR_BW = 2, - __DEVLINK_RATE_TC_ATTR_MAX = 3, - DEVLINK_RATE_TC_ATTR_MAX = 2, -}; - -enum devlink_rate_type { - DEVLINK_RATE_TYPE_LEAF = 0, - DEVLINK_RATE_TYPE_NODE = 1, -}; - -enum devlink_reload_action { - DEVLINK_RELOAD_ACTION_UNSPEC = 0, - DEVLINK_RELOAD_ACTION_DRIVER_REINIT = 1, - DEVLINK_RELOAD_ACTION_FW_ACTIVATE = 2, - __DEVLINK_RELOAD_ACTION_MAX = 3, - DEVLINK_RELOAD_ACTION_MAX = 2, -}; - -enum devlink_reload_limit { - DEVLINK_RELOAD_LIMIT_UNSPEC = 0, - DEVLINK_RELOAD_LIMIT_NO_RESET = 1, - __DEVLINK_RELOAD_LIMIT_MAX = 2, - DEVLINK_RELOAD_LIMIT_MAX = 1, -}; - -enum devlink_resource_unit { - DEVLINK_RESOURCE_UNIT_ENTRY = 0, -}; - -enum devlink_sb_pool_type { - DEVLINK_SB_POOL_TYPE_INGRESS = 0, - DEVLINK_SB_POOL_TYPE_EGRESS = 1, -}; - -enum devlink_sb_threshold_type { - DEVLINK_SB_THRESHOLD_TYPE_STATIC = 0, - DEVLINK_SB_THRESHOLD_TYPE_DYNAMIC = 1, -}; - -enum devlink_selftest_status { - DEVLINK_SELFTEST_STATUS_SKIP = 0, - DEVLINK_SELFTEST_STATUS_PASS = 1, - DEVLINK_SELFTEST_STATUS_FAIL = 2, -}; - -enum devlink_trap_action { - DEVLINK_TRAP_ACTION_DROP = 0, - DEVLINK_TRAP_ACTION_TRAP = 1, - DEVLINK_TRAP_ACTION_MIRROR = 2, -}; - -enum devlink_trap_generic_id { - DEVLINK_TRAP_GENERIC_ID_SMAC_MC = 0, - DEVLINK_TRAP_GENERIC_ID_VLAN_TAG_MISMATCH = 1, - DEVLINK_TRAP_GENERIC_ID_INGRESS_VLAN_FILTER = 2, - DEVLINK_TRAP_GENERIC_ID_INGRESS_STP_FILTER = 3, - DEVLINK_TRAP_GENERIC_ID_EMPTY_TX_LIST = 4, - DEVLINK_TRAP_GENERIC_ID_PORT_LOOPBACK_FILTER = 5, - DEVLINK_TRAP_GENERIC_ID_BLACKHOLE_ROUTE = 6, - DEVLINK_TRAP_GENERIC_ID_TTL_ERROR = 7, - DEVLINK_TRAP_GENERIC_ID_TAIL_DROP = 8, - DEVLINK_TRAP_GENERIC_ID_NON_IP_PACKET = 9, - DEVLINK_TRAP_GENERIC_ID_UC_DIP_MC_DMAC = 10, - DEVLINK_TRAP_GENERIC_ID_DIP_LB = 11, - DEVLINK_TRAP_GENERIC_ID_SIP_MC = 12, - DEVLINK_TRAP_GENERIC_ID_SIP_LB = 13, - DEVLINK_TRAP_GENERIC_ID_CORRUPTED_IP_HDR = 14, - DEVLINK_TRAP_GENERIC_ID_IPV4_SIP_BC = 15, - DEVLINK_TRAP_GENERIC_ID_IPV6_MC_DIP_RESERVED_SCOPE = 16, - DEVLINK_TRAP_GENERIC_ID_IPV6_MC_DIP_INTERFACE_LOCAL_SCOPE = 17, - DEVLINK_TRAP_GENERIC_ID_MTU_ERROR = 18, - DEVLINK_TRAP_GENERIC_ID_UNRESOLVED_NEIGH = 19, - DEVLINK_TRAP_GENERIC_ID_RPF = 20, - DEVLINK_TRAP_GENERIC_ID_REJECT_ROUTE = 21, - DEVLINK_TRAP_GENERIC_ID_IPV4_LPM_UNICAST_MISS = 22, - DEVLINK_TRAP_GENERIC_ID_IPV6_LPM_UNICAST_MISS = 23, - DEVLINK_TRAP_GENERIC_ID_NON_ROUTABLE = 24, - DEVLINK_TRAP_GENERIC_ID_DECAP_ERROR = 25, - DEVLINK_TRAP_GENERIC_ID_OVERLAY_SMAC_MC = 26, - DEVLINK_TRAP_GENERIC_ID_INGRESS_FLOW_ACTION_DROP = 27, - DEVLINK_TRAP_GENERIC_ID_EGRESS_FLOW_ACTION_DROP = 28, - DEVLINK_TRAP_GENERIC_ID_STP = 29, - DEVLINK_TRAP_GENERIC_ID_LACP = 30, - DEVLINK_TRAP_GENERIC_ID_LLDP = 31, - DEVLINK_TRAP_GENERIC_ID_IGMP_QUERY = 32, - DEVLINK_TRAP_GENERIC_ID_IGMP_V1_REPORT = 33, - DEVLINK_TRAP_GENERIC_ID_IGMP_V2_REPORT = 34, - DEVLINK_TRAP_GENERIC_ID_IGMP_V3_REPORT = 35, - DEVLINK_TRAP_GENERIC_ID_IGMP_V2_LEAVE = 36, - DEVLINK_TRAP_GENERIC_ID_MLD_QUERY = 37, - DEVLINK_TRAP_GENERIC_ID_MLD_V1_REPORT = 38, - DEVLINK_TRAP_GENERIC_ID_MLD_V2_REPORT = 39, - DEVLINK_TRAP_GENERIC_ID_MLD_V1_DONE = 40, - DEVLINK_TRAP_GENERIC_ID_IPV4_DHCP = 41, - DEVLINK_TRAP_GENERIC_ID_IPV6_DHCP = 42, - DEVLINK_TRAP_GENERIC_ID_ARP_REQUEST = 43, - DEVLINK_TRAP_GENERIC_ID_ARP_RESPONSE = 44, - DEVLINK_TRAP_GENERIC_ID_ARP_OVERLAY = 45, - DEVLINK_TRAP_GENERIC_ID_IPV6_NEIGH_SOLICIT = 46, - DEVLINK_TRAP_GENERIC_ID_IPV6_NEIGH_ADVERT = 47, - DEVLINK_TRAP_GENERIC_ID_IPV4_BFD = 48, - DEVLINK_TRAP_GENERIC_ID_IPV6_BFD = 49, - DEVLINK_TRAP_GENERIC_ID_IPV4_OSPF = 50, - DEVLINK_TRAP_GENERIC_ID_IPV6_OSPF = 51, - DEVLINK_TRAP_GENERIC_ID_IPV4_BGP = 52, - DEVLINK_TRAP_GENERIC_ID_IPV6_BGP = 53, - DEVLINK_TRAP_GENERIC_ID_IPV4_VRRP = 54, - DEVLINK_TRAP_GENERIC_ID_IPV6_VRRP = 55, - DEVLINK_TRAP_GENERIC_ID_IPV4_PIM = 56, - DEVLINK_TRAP_GENERIC_ID_IPV6_PIM = 57, - DEVLINK_TRAP_GENERIC_ID_UC_LB = 58, - DEVLINK_TRAP_GENERIC_ID_LOCAL_ROUTE = 59, - DEVLINK_TRAP_GENERIC_ID_EXTERNAL_ROUTE = 60, - DEVLINK_TRAP_GENERIC_ID_IPV6_UC_DIP_LINK_LOCAL_SCOPE = 61, - DEVLINK_TRAP_GENERIC_ID_IPV6_DIP_ALL_NODES = 62, - DEVLINK_TRAP_GENERIC_ID_IPV6_DIP_ALL_ROUTERS = 63, - DEVLINK_TRAP_GENERIC_ID_IPV6_ROUTER_SOLICIT = 64, - DEVLINK_TRAP_GENERIC_ID_IPV6_ROUTER_ADVERT = 65, - DEVLINK_TRAP_GENERIC_ID_IPV6_REDIRECT = 66, - DEVLINK_TRAP_GENERIC_ID_IPV4_ROUTER_ALERT = 67, - DEVLINK_TRAP_GENERIC_ID_IPV6_ROUTER_ALERT = 68, - DEVLINK_TRAP_GENERIC_ID_PTP_EVENT = 69, - DEVLINK_TRAP_GENERIC_ID_PTP_GENERAL = 70, - DEVLINK_TRAP_GENERIC_ID_FLOW_ACTION_SAMPLE = 71, - DEVLINK_TRAP_GENERIC_ID_FLOW_ACTION_TRAP = 72, - DEVLINK_TRAP_GENERIC_ID_EARLY_DROP = 73, - DEVLINK_TRAP_GENERIC_ID_VXLAN_PARSING = 74, - DEVLINK_TRAP_GENERIC_ID_LLC_SNAP_PARSING = 75, - DEVLINK_TRAP_GENERIC_ID_VLAN_PARSING = 76, - DEVLINK_TRAP_GENERIC_ID_PPPOE_PPP_PARSING = 77, - DEVLINK_TRAP_GENERIC_ID_MPLS_PARSING = 78, - DEVLINK_TRAP_GENERIC_ID_ARP_PARSING = 79, - DEVLINK_TRAP_GENERIC_ID_IP_1_PARSING = 80, - DEVLINK_TRAP_GENERIC_ID_IP_N_PARSING = 81, - DEVLINK_TRAP_GENERIC_ID_GRE_PARSING = 82, - DEVLINK_TRAP_GENERIC_ID_UDP_PARSING = 83, - DEVLINK_TRAP_GENERIC_ID_TCP_PARSING = 84, - DEVLINK_TRAP_GENERIC_ID_IPSEC_PARSING = 85, - DEVLINK_TRAP_GENERIC_ID_SCTP_PARSING = 86, - DEVLINK_TRAP_GENERIC_ID_DCCP_PARSING = 87, - DEVLINK_TRAP_GENERIC_ID_GTP_PARSING = 88, - DEVLINK_TRAP_GENERIC_ID_ESP_PARSING = 89, - DEVLINK_TRAP_GENERIC_ID_BLACKHOLE_NEXTHOP = 90, - DEVLINK_TRAP_GENERIC_ID_DMAC_FILTER = 91, - DEVLINK_TRAP_GENERIC_ID_EAPOL = 92, - DEVLINK_TRAP_GENERIC_ID_LOCKED_PORT = 93, - __DEVLINK_TRAP_GENERIC_ID_MAX = 94, - DEVLINK_TRAP_GENERIC_ID_MAX = 93, -}; - -enum devlink_trap_group_generic_id { - DEVLINK_TRAP_GROUP_GENERIC_ID_L2_DROPS = 0, - DEVLINK_TRAP_GROUP_GENERIC_ID_L3_DROPS = 1, - DEVLINK_TRAP_GROUP_GENERIC_ID_L3_EXCEPTIONS = 2, - DEVLINK_TRAP_GROUP_GENERIC_ID_BUFFER_DROPS = 3, - DEVLINK_TRAP_GROUP_GENERIC_ID_TUNNEL_DROPS = 4, - DEVLINK_TRAP_GROUP_GENERIC_ID_ACL_DROPS = 5, - DEVLINK_TRAP_GROUP_GENERIC_ID_STP = 6, - DEVLINK_TRAP_GROUP_GENERIC_ID_LACP = 7, - DEVLINK_TRAP_GROUP_GENERIC_ID_LLDP = 8, - DEVLINK_TRAP_GROUP_GENERIC_ID_MC_SNOOPING = 9, - DEVLINK_TRAP_GROUP_GENERIC_ID_DHCP = 10, - DEVLINK_TRAP_GROUP_GENERIC_ID_NEIGH_DISCOVERY = 11, - DEVLINK_TRAP_GROUP_GENERIC_ID_BFD = 12, - DEVLINK_TRAP_GROUP_GENERIC_ID_OSPF = 13, - DEVLINK_TRAP_GROUP_GENERIC_ID_BGP = 14, - DEVLINK_TRAP_GROUP_GENERIC_ID_VRRP = 15, - DEVLINK_TRAP_GROUP_GENERIC_ID_PIM = 16, - DEVLINK_TRAP_GROUP_GENERIC_ID_UC_LB = 17, - DEVLINK_TRAP_GROUP_GENERIC_ID_LOCAL_DELIVERY = 18, - DEVLINK_TRAP_GROUP_GENERIC_ID_EXTERNAL_DELIVERY = 19, - DEVLINK_TRAP_GROUP_GENERIC_ID_IPV6 = 20, - DEVLINK_TRAP_GROUP_GENERIC_ID_PTP_EVENT = 21, - DEVLINK_TRAP_GROUP_GENERIC_ID_PTP_GENERAL = 22, - DEVLINK_TRAP_GROUP_GENERIC_ID_ACL_SAMPLE = 23, - DEVLINK_TRAP_GROUP_GENERIC_ID_ACL_TRAP = 24, - DEVLINK_TRAP_GROUP_GENERIC_ID_PARSER_ERROR_DROPS = 25, - DEVLINK_TRAP_GROUP_GENERIC_ID_EAPOL = 26, - __DEVLINK_TRAP_GROUP_GENERIC_ID_MAX = 27, - DEVLINK_TRAP_GROUP_GENERIC_ID_MAX = 26, -}; - -enum devlink_trap_type { - DEVLINK_TRAP_TYPE_DROP = 0, - DEVLINK_TRAP_TYPE_EXCEPTION = 1, - DEVLINK_TRAP_TYPE_CONTROL = 2, -}; - -enum devlink_var_attr_type { - DEVLINK_VAR_ATTR_TYPE_U8 = 1, - DEVLINK_VAR_ATTR_TYPE_U16 = 2, - DEVLINK_VAR_ATTR_TYPE_U32 = 3, - DEVLINK_VAR_ATTR_TYPE_U64 = 4, - DEVLINK_VAR_ATTR_TYPE_STRING = 5, - DEVLINK_VAR_ATTR_TYPE_FLAG = 6, - DEVLINK_VAR_ATTR_TYPE_NUL_STRING = 10, - DEVLINK_VAR_ATTR_TYPE_BINARY = 11, - __DEVLINK_VAR_ATTR_TYPE_CUSTOM_BASE = 128, -}; - -enum devm_ioremap_type { - DEVM_IOREMAP = 0, - DEVM_IOREMAP_UC = 1, - DEVM_IOREMAP_WC = 2, - DEVM_IOREMAP_NP = 3, -}; - -enum dfa_accept_flags { - ACCEPT_FLAG_OWNER = 1, -}; - -enum die_val { - DIE_OOPS = 1, - DIE_INT3 = 2, - DIE_DEBUG = 3, - DIE_PANIC = 4, - DIE_NMI = 5, - DIE_DIE = 6, - DIE_KERNELDEBUG = 7, - DIE_TRAP = 8, - DIE_GPF = 9, - DIE_CALL = 10, - DIE_PAGE_FAULT = 11, - DIE_NMIUNKNOWN = 12, -}; - -enum digest_type { - DIGEST_TYPE_IMA = 0, - DIGEST_TYPE_VERITY = 1, - DIGEST_TYPE__LAST = 2, -}; - -enum dim_cq_period_mode { - DIM_CQ_PERIOD_MODE_START_FROM_EQE = 0, - DIM_CQ_PERIOD_MODE_START_FROM_CQE = 1, - DIM_CQ_PERIOD_NUM_MODES = 2, -}; - -enum dim_state { - DIM_START_MEASURE = 0, - DIM_MEASURE_IN_PROGRESS = 1, - DIM_APPLY_NEW_PROFILE = 2, -}; - -enum dim_stats_state { - DIM_STATS_WORSE = 0, - DIM_STATS_SAME = 1, - DIM_STATS_BETTER = 2, -}; - -enum dim_step_result { - DIM_STEPPED = 0, - DIM_TOO_TIRED = 1, - DIM_ON_EDGE = 2, -}; - -enum dim_tune_state { - DIM_PARKING_ON_TOP = 0, - DIM_PARKING_TIRED = 1, - DIM_GOING_RIGHT = 2, - DIM_GOING_LEFT = 3, -}; - -enum display_flags { - DISPLAY_FLAGS_HSYNC_LOW = 1, - DISPLAY_FLAGS_HSYNC_HIGH = 2, - DISPLAY_FLAGS_VSYNC_LOW = 4, - DISPLAY_FLAGS_VSYNC_HIGH = 8, - DISPLAY_FLAGS_DE_LOW = 16, - DISPLAY_FLAGS_DE_HIGH = 32, - DISPLAY_FLAGS_PIXDATA_POSEDGE = 64, - DISPLAY_FLAGS_PIXDATA_NEGEDGE = 128, - DISPLAY_FLAGS_INTERLACED = 256, - DISPLAY_FLAGS_DOUBLESCAN = 512, - DISPLAY_FLAGS_DOUBLECLK = 1024, - DISPLAY_FLAGS_SYNC_POSEDGE = 2048, - DISPLAY_FLAGS_SYNC_NEGEDGE = 4096, -}; - -enum dl_bw_request { - dl_bw_req_deactivate = 0, - dl_bw_req_alloc = 1, - dl_bw_req_free = 2, -}; - -enum dl_dev_state { - DL_DEV_NO_DRIVER = 0, - DL_DEV_PROBING = 1, - DL_DEV_DRIVER_BOUND = 2, - DL_DEV_UNBINDING = 3, -}; - -enum dl_param { - DL_RUNTIME = 0, - DL_PERIOD = 1, -}; - -enum dm_io_mem_type { - DM_IO_PAGE_LIST = 0, - DM_IO_BIO = 1, - DM_IO_VMA = 2, - DM_IO_KMEM = 3, -}; - -enum dm_queue_mode { - DM_TYPE_NONE = 0, - DM_TYPE_BIO_BASED = 1, - DM_TYPE_REQUEST_BASED = 2, - DM_TYPE_DAX_BIO_BASED = 3, -}; - -enum dm_uevent_type { - DM_UEVENT_PATH_FAILED = 0, - DM_UEVENT_PATH_REINSTATED = 1, -}; - -enum dm_wrappedkey_op { - DERIVE_SW_SECRET = 0, - IMPORT_KEY = 1, - GENERATE_KEY = 2, - PREPARE_KEY = 3, -}; - -enum dma_ctrl_flags { - DMA_PREP_INTERRUPT = 1, - DMA_CTRL_ACK = 2, - DMA_PREP_PQ_DISABLE_P = 4, - DMA_PREP_PQ_DISABLE_Q = 8, - DMA_PREP_CONTINUE = 16, - DMA_PREP_FENCE = 32, - DMA_CTRL_REUSE = 64, - DMA_PREP_CMD = 128, - DMA_PREP_REPEAT = 256, - DMA_PREP_LOAD_EOT = 512, -}; - -enum dma_data_direction { - DMA_BIDIRECTIONAL = 0, - DMA_TO_DEVICE = 1, - DMA_FROM_DEVICE = 2, - DMA_NONE = 3, -}; - -enum dma_desc_metadata_mode { - DESC_METADATA_NONE = 0, - DESC_METADATA_CLIENT = 1, - DESC_METADATA_ENGINE = 2, -}; - -enum dma_fence_flag_bits { - DMA_FENCE_FLAG_SEQNO64_BIT = 0, - DMA_FENCE_FLAG_SIGNALED_BIT = 1, - DMA_FENCE_FLAG_TIMESTAMP_BIT = 2, - DMA_FENCE_FLAG_ENABLE_SIGNAL_BIT = 3, - DMA_FENCE_FLAG_USER_BITS = 4, -}; - -enum dma_residue_granularity { - DMA_RESIDUE_GRANULARITY_DESCRIPTOR = 0, - DMA_RESIDUE_GRANULARITY_SEGMENT = 1, - DMA_RESIDUE_GRANULARITY_BURST = 2, -}; - -enum dma_resv_usage { - DMA_RESV_USAGE_KERNEL = 0, - DMA_RESV_USAGE_WRITE = 1, - DMA_RESV_USAGE_READ = 2, - DMA_RESV_USAGE_BOOKKEEP = 3, -}; - -enum dma_slave_buswidth { - DMA_SLAVE_BUSWIDTH_UNDEFINED = 0, - DMA_SLAVE_BUSWIDTH_1_BYTE = 1, - DMA_SLAVE_BUSWIDTH_2_BYTES = 2, - DMA_SLAVE_BUSWIDTH_3_BYTES = 3, - DMA_SLAVE_BUSWIDTH_4_BYTES = 4, - DMA_SLAVE_BUSWIDTH_8_BYTES = 8, - DMA_SLAVE_BUSWIDTH_16_BYTES = 16, - DMA_SLAVE_BUSWIDTH_32_BYTES = 32, - DMA_SLAVE_BUSWIDTH_64_BYTES = 64, - DMA_SLAVE_BUSWIDTH_128_BYTES = 128, -}; - -enum dma_status { - DMA_COMPLETE = 0, - DMA_IN_PROGRESS = 1, - DMA_PAUSED = 2, - DMA_ERROR = 3, - DMA_OUT_OF_ORDER = 4, -}; - -enum dma_transaction_type { - DMA_MEMCPY = 0, - DMA_XOR = 1, - DMA_PQ = 2, - DMA_XOR_VAL = 3, - DMA_PQ_VAL = 4, - DMA_MEMSET = 5, - DMA_MEMSET_SG = 6, - DMA_INTERRUPT = 7, - DMA_PRIVATE = 8, - DMA_ASYNC_TX = 9, - DMA_SLAVE = 10, - DMA_CYCLIC = 11, - DMA_INTERLEAVE = 12, - DMA_COMPLETION_NO_ORDER = 13, - DMA_REPEAT = 14, - DMA_LOAD_EOT = 15, - DMA_TX_TYPE_END = 16, -}; - -enum dma_transfer_direction { - DMA_MEM_TO_MEM = 0, - DMA_MEM_TO_DEV = 1, - DMA_DEV_TO_MEM = 2, - DMA_DEV_TO_DEV = 3, - DMA_TRANS_NONE = 4, -}; - -enum dmaengine_alignment { - DMAENGINE_ALIGN_1_BYTE = 0, - DMAENGINE_ALIGN_2_BYTES = 1, - DMAENGINE_ALIGN_4_BYTES = 2, - DMAENGINE_ALIGN_8_BYTES = 3, - DMAENGINE_ALIGN_16_BYTES = 4, - DMAENGINE_ALIGN_32_BYTES = 5, - DMAENGINE_ALIGN_64_BYTES = 6, - DMAENGINE_ALIGN_128_BYTES = 7, - DMAENGINE_ALIGN_256_BYTES = 8, -}; - -enum dmaengine_tx_result { - DMA_TRANS_NOERROR = 0, - DMA_TRANS_READ_FAILED = 1, - DMA_TRANS_WRITE_FAILED = 2, - DMA_TRANS_ABORTED = 3, -}; - -enum dmi_device_type { - DMI_DEV_TYPE_ANY = 0, - DMI_DEV_TYPE_OTHER = 1, - DMI_DEV_TYPE_UNKNOWN = 2, - DMI_DEV_TYPE_VIDEO = 3, - DMI_DEV_TYPE_SCSI = 4, - DMI_DEV_TYPE_ETHERNET = 5, - DMI_DEV_TYPE_TOKENRING = 6, - DMI_DEV_TYPE_SOUND = 7, - DMI_DEV_TYPE_PATA = 8, - DMI_DEV_TYPE_SATA = 9, - DMI_DEV_TYPE_SAS = 10, - DMI_DEV_TYPE_IPMI = -1, - DMI_DEV_TYPE_OEM_STRING = -2, - DMI_DEV_TYPE_DEV_ONBOARD = -3, - DMI_DEV_TYPE_DEV_SLOT = -4, -}; - -enum dmi_entry_type { - DMI_ENTRY_BIOS = 0, - DMI_ENTRY_SYSTEM = 1, - DMI_ENTRY_BASEBOARD = 2, - DMI_ENTRY_CHASSIS = 3, - DMI_ENTRY_PROCESSOR = 4, - DMI_ENTRY_MEM_CONTROLLER = 5, - DMI_ENTRY_MEM_MODULE = 6, - DMI_ENTRY_CACHE = 7, - DMI_ENTRY_PORT_CONNECTOR = 8, - DMI_ENTRY_SYSTEM_SLOT = 9, - DMI_ENTRY_ONBOARD_DEVICE = 10, - DMI_ENTRY_OEMSTRINGS = 11, - DMI_ENTRY_SYSCONF = 12, - DMI_ENTRY_BIOS_LANG = 13, - DMI_ENTRY_GROUP_ASSOC = 14, - DMI_ENTRY_SYSTEM_EVENT_LOG = 15, - DMI_ENTRY_PHYS_MEM_ARRAY = 16, - DMI_ENTRY_MEM_DEVICE = 17, - DMI_ENTRY_32_MEM_ERROR = 18, - DMI_ENTRY_MEM_ARRAY_MAPPED_ADDR = 19, - DMI_ENTRY_MEM_DEV_MAPPED_ADDR = 20, - DMI_ENTRY_BUILTIN_POINTING_DEV = 21, - DMI_ENTRY_PORTABLE_BATTERY = 22, - DMI_ENTRY_SYSTEM_RESET = 23, - DMI_ENTRY_HW_SECURITY = 24, - DMI_ENTRY_SYSTEM_POWER_CONTROLS = 25, - DMI_ENTRY_VOLTAGE_PROBE = 26, - DMI_ENTRY_COOLING_DEV = 27, - DMI_ENTRY_TEMP_PROBE = 28, - DMI_ENTRY_ELECTRICAL_CURRENT_PROBE = 29, - DMI_ENTRY_OOB_REMOTE_ACCESS = 30, - DMI_ENTRY_BIS_ENTRY = 31, - DMI_ENTRY_SYSTEM_BOOT = 32, - DMI_ENTRY_MGMT_DEV = 33, - DMI_ENTRY_MGMT_DEV_COMPONENT = 34, - DMI_ENTRY_MGMT_DEV_THRES = 35, - DMI_ENTRY_MEM_CHANNEL = 36, - DMI_ENTRY_IPMI_DEV = 37, - DMI_ENTRY_SYS_POWER_SUPPLY = 38, - DMI_ENTRY_ADDITIONAL = 39, - DMI_ENTRY_ONBOARD_DEV_EXT = 40, - DMI_ENTRY_MGMT_CONTROLLER_HOST = 41, - DMI_ENTRY_INACTIVE = 126, - DMI_ENTRY_END_OF_TABLE = 127, -}; - -enum dmi_field { - DMI_NONE = 0, - DMI_BIOS_VENDOR = 1, - DMI_BIOS_VERSION = 2, - DMI_BIOS_DATE = 3, - DMI_BIOS_RELEASE = 4, - DMI_EC_FIRMWARE_RELEASE = 5, - DMI_SYS_VENDOR = 6, - DMI_PRODUCT_NAME = 7, - DMI_PRODUCT_VERSION = 8, - DMI_PRODUCT_SERIAL = 9, - DMI_PRODUCT_UUID = 10, - DMI_PRODUCT_SKU = 11, - DMI_PRODUCT_FAMILY = 12, - DMI_BOARD_VENDOR = 13, - DMI_BOARD_NAME = 14, - DMI_BOARD_VERSION = 15, - DMI_BOARD_SERIAL = 16, - DMI_BOARD_ASSET_TAG = 17, - DMI_CHASSIS_VENDOR = 18, - DMI_CHASSIS_TYPE = 19, - DMI_CHASSIS_VERSION = 20, - DMI_CHASSIS_SERIAL = 21, - DMI_CHASSIS_ASSET_TAG = 22, - DMI_STRING_MAX = 23, - DMI_OEM_STRING = 24, -}; - -enum dns_lookup_status { - DNS_LOOKUP_NOT_DONE = 0, - DNS_LOOKUP_GOOD = 1, - DNS_LOOKUP_GOOD_WITH_BAD = 2, - DNS_LOOKUP_BAD = 3, - DNS_LOOKUP_GOT_NOT_FOUND = 4, - DNS_LOOKUP_GOT_LOCAL_FAILURE = 5, - DNS_LOOKUP_GOT_TEMP_FAILURE = 6, - DNS_LOOKUP_GOT_NS_FAILURE = 7, - NR__dns_lookup_status = 8, -}; - -enum dns_payload_content_type { - DNS_PAYLOAD_IS_SERVER_LIST = 0, -}; - -enum dock_callback_type { - DOCK_CALL_HANDLER = 0, - DOCK_CALL_FIXUP = 1, - DOCK_CALL_UEVENT = 2, -}; - -enum dpll_a { - DPLL_A_ID = 1, - DPLL_A_MODULE_NAME = 2, - DPLL_A_PAD = 3, - DPLL_A_CLOCK_ID = 4, - DPLL_A_MODE = 5, - DPLL_A_MODE_SUPPORTED = 6, - DPLL_A_LOCK_STATUS = 7, - DPLL_A_TEMP = 8, - DPLL_A_TYPE = 9, - DPLL_A_LOCK_STATUS_ERROR = 10, - DPLL_A_CLOCK_QUALITY_LEVEL = 11, - DPLL_A_PHASE_OFFSET_MONITOR = 12, - __DPLL_A_MAX = 13, - DPLL_A_MAX = 12, -}; - -enum dpll_a_pin { - DPLL_A_PIN_ID = 1, - DPLL_A_PIN_PARENT_ID = 2, - DPLL_A_PIN_MODULE_NAME = 3, - DPLL_A_PIN_PAD = 4, - DPLL_A_PIN_CLOCK_ID = 5, - DPLL_A_PIN_BOARD_LABEL = 6, - DPLL_A_PIN_PANEL_LABEL = 7, - DPLL_A_PIN_PACKAGE_LABEL = 8, - DPLL_A_PIN_TYPE = 9, - DPLL_A_PIN_DIRECTION = 10, - DPLL_A_PIN_FREQUENCY = 11, - DPLL_A_PIN_FREQUENCY_SUPPORTED = 12, - DPLL_A_PIN_FREQUENCY_MIN = 13, - DPLL_A_PIN_FREQUENCY_MAX = 14, - DPLL_A_PIN_PRIO = 15, - DPLL_A_PIN_STATE = 16, - DPLL_A_PIN_CAPABILITIES = 17, - DPLL_A_PIN_PARENT_DEVICE = 18, - DPLL_A_PIN_PARENT_PIN = 19, - DPLL_A_PIN_PHASE_ADJUST_MIN = 20, - DPLL_A_PIN_PHASE_ADJUST_MAX = 21, - DPLL_A_PIN_PHASE_ADJUST = 22, - DPLL_A_PIN_PHASE_OFFSET = 23, - DPLL_A_PIN_FRACTIONAL_FREQUENCY_OFFSET = 24, - DPLL_A_PIN_ESYNC_FREQUENCY = 25, - DPLL_A_PIN_ESYNC_FREQUENCY_SUPPORTED = 26, - DPLL_A_PIN_ESYNC_PULSE = 27, - DPLL_A_PIN_REFERENCE_SYNC = 28, - __DPLL_A_PIN_MAX = 29, - DPLL_A_PIN_MAX = 28, -}; - -enum dpll_clock_quality_level { - DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_PRC = 1, - DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_SSU_A = 2, - DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_SSU_B = 3, - DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EEC1 = 4, - DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_PRTC = 5, - DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EPRTC = 6, - DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EEEC = 7, - DPLL_CLOCK_QUALITY_LEVEL_ITU_OPT1_EPRC = 8, - __DPLL_CLOCK_QUALITY_LEVEL_MAX = 9, - DPLL_CLOCK_QUALITY_LEVEL_MAX = 8, -}; - -enum dpll_cmd { - DPLL_CMD_DEVICE_ID_GET = 1, - DPLL_CMD_DEVICE_GET = 2, - DPLL_CMD_DEVICE_SET = 3, - DPLL_CMD_DEVICE_CREATE_NTF = 4, - DPLL_CMD_DEVICE_DELETE_NTF = 5, - DPLL_CMD_DEVICE_CHANGE_NTF = 6, - DPLL_CMD_PIN_ID_GET = 7, - DPLL_CMD_PIN_GET = 8, - DPLL_CMD_PIN_SET = 9, - DPLL_CMD_PIN_CREATE_NTF = 10, - DPLL_CMD_PIN_DELETE_NTF = 11, - DPLL_CMD_PIN_CHANGE_NTF = 12, - __DPLL_CMD_MAX = 13, - DPLL_CMD_MAX = 12, -}; - -enum dpll_feature_state { - DPLL_FEATURE_STATE_DISABLE = 0, - DPLL_FEATURE_STATE_ENABLE = 1, -}; - -enum dpll_lock_status { - DPLL_LOCK_STATUS_UNLOCKED = 1, - DPLL_LOCK_STATUS_LOCKED = 2, - DPLL_LOCK_STATUS_LOCKED_HO_ACQ = 3, - DPLL_LOCK_STATUS_HOLDOVER = 4, - __DPLL_LOCK_STATUS_MAX = 5, - DPLL_LOCK_STATUS_MAX = 4, -}; - -enum dpll_lock_status_error { - DPLL_LOCK_STATUS_ERROR_NONE = 1, - DPLL_LOCK_STATUS_ERROR_UNDEFINED = 2, - DPLL_LOCK_STATUS_ERROR_MEDIA_DOWN = 3, - DPLL_LOCK_STATUS_ERROR_FRACTIONAL_FREQUENCY_OFFSET_TOO_HIGH = 4, - __DPLL_LOCK_STATUS_ERROR_MAX = 5, - DPLL_LOCK_STATUS_ERROR_MAX = 4, -}; - -enum dpll_mode { - DPLL_MODE_MANUAL = 1, - DPLL_MODE_AUTOMATIC = 2, - __DPLL_MODE_MAX = 3, - DPLL_MODE_MAX = 2, -}; - -enum dpll_pin_capabilities { - DPLL_PIN_CAPABILITIES_DIRECTION_CAN_CHANGE = 1, - DPLL_PIN_CAPABILITIES_PRIORITY_CAN_CHANGE = 2, - DPLL_PIN_CAPABILITIES_STATE_CAN_CHANGE = 4, -}; - -enum dpll_pin_direction { - DPLL_PIN_DIRECTION_INPUT = 1, - DPLL_PIN_DIRECTION_OUTPUT = 2, - __DPLL_PIN_DIRECTION_MAX = 3, - DPLL_PIN_DIRECTION_MAX = 2, -}; - -enum dpll_pin_state { - DPLL_PIN_STATE_CONNECTED = 1, - DPLL_PIN_STATE_DISCONNECTED = 2, - DPLL_PIN_STATE_SELECTABLE = 3, - __DPLL_PIN_STATE_MAX = 4, - DPLL_PIN_STATE_MAX = 3, -}; - -enum dpll_pin_type { - DPLL_PIN_TYPE_MUX = 1, - DPLL_PIN_TYPE_EXT = 2, - DPLL_PIN_TYPE_SYNCE_ETH_PORT = 3, - DPLL_PIN_TYPE_INT_OSCILLATOR = 4, - DPLL_PIN_TYPE_GNSS = 5, - __DPLL_PIN_TYPE_MAX = 6, - DPLL_PIN_TYPE_MAX = 5, -}; - -enum dpll_type { - DPLL_TYPE_PPS = 1, - DPLL_TYPE_EEC = 2, - __DPLL_TYPE_MAX = 3, - DPLL_TYPE_MAX = 2, -}; - -enum dpm_order { - DPM_ORDER_NONE = 0, - DPM_ORDER_DEV_AFTER_PARENT = 1, - DPM_ORDER_PARENT_BEFORE_DEV = 2, - DPM_ORDER_DEV_LAST = 3, -}; - -enum drbg_prefixes { - DRBG_PREFIX0 = 0, - DRBG_PREFIX1 = 1, - DRBG_PREFIX2 = 2, - DRBG_PREFIX3 = 3, -}; - -enum drbg_seed_state { - DRBG_SEED_STATE_UNSEEDED = 0, - DRBG_SEED_STATE_PARTIAL = 1, - DRBG_SEED_STATE_FULL = 2, -}; - -enum drm_bridge_attach_flags { - DRM_BRIDGE_ATTACH_NO_CONNECTOR = 1, -}; - -enum drm_bridge_ops { - DRM_BRIDGE_OP_DETECT = 1, - DRM_BRIDGE_OP_EDID = 2, - DRM_BRIDGE_OP_HPD = 4, - DRM_BRIDGE_OP_MODES = 8, - DRM_BRIDGE_OP_HDMI = 16, - DRM_BRIDGE_OP_HDMI_AUDIO = 32, - DRM_BRIDGE_OP_DP_AUDIO = 64, - DRM_BRIDGE_OP_HDMI_CEC_NOTIFIER = 128, - DRM_BRIDGE_OP_HDMI_CEC_ADAPTER = 256, -}; - -enum drm_bus_flags { - DRM_BUS_FLAG_DE_LOW = 1, - DRM_BUS_FLAG_DE_HIGH = 2, - DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE = 4, - DRM_BUS_FLAG_PIXDATA_DRIVE_NEGEDGE = 8, - DRM_BUS_FLAG_PIXDATA_SAMPLE_POSEDGE = 8, - DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE = 4, - DRM_BUS_FLAG_DATA_MSB_TO_LSB = 16, - DRM_BUS_FLAG_DATA_LSB_TO_MSB = 32, - DRM_BUS_FLAG_SYNC_DRIVE_POSEDGE = 64, - DRM_BUS_FLAG_SYNC_DRIVE_NEGEDGE = 128, - DRM_BUS_FLAG_SYNC_SAMPLE_POSEDGE = 128, - DRM_BUS_FLAG_SYNC_SAMPLE_NEGEDGE = 64, - DRM_BUS_FLAG_SHARP_SIGNALS = 256, -}; - -enum drm_color_encoding { - DRM_COLOR_YCBCR_BT601 = 0, - DRM_COLOR_YCBCR_BT709 = 1, - DRM_COLOR_YCBCR_BT2020 = 2, - DRM_COLOR_ENCODING_MAX = 3, -}; - -enum drm_color_lut_tests { - DRM_COLOR_LUT_EQUAL_CHANNELS = 1, - DRM_COLOR_LUT_NON_DECREASING = 2, -}; - -enum drm_color_range { - DRM_COLOR_YCBCR_LIMITED_RANGE = 0, - DRM_COLOR_YCBCR_FULL_RANGE = 1, - DRM_COLOR_RANGE_MAX = 2, -}; - -enum drm_colorspace { - DRM_MODE_COLORIMETRY_DEFAULT = 0, - DRM_MODE_COLORIMETRY_NO_DATA = 0, - DRM_MODE_COLORIMETRY_SMPTE_170M_YCC = 1, - DRM_MODE_COLORIMETRY_BT709_YCC = 2, - DRM_MODE_COLORIMETRY_XVYCC_601 = 3, - DRM_MODE_COLORIMETRY_XVYCC_709 = 4, - DRM_MODE_COLORIMETRY_SYCC_601 = 5, - DRM_MODE_COLORIMETRY_OPYCC_601 = 6, - DRM_MODE_COLORIMETRY_OPRGB = 7, - DRM_MODE_COLORIMETRY_BT2020_CYCC = 8, - DRM_MODE_COLORIMETRY_BT2020_RGB = 9, - DRM_MODE_COLORIMETRY_BT2020_YCC = 10, - DRM_MODE_COLORIMETRY_DCI_P3_RGB_D65 = 11, - DRM_MODE_COLORIMETRY_DCI_P3_RGB_THEATER = 12, - DRM_MODE_COLORIMETRY_RGB_WIDE_FIXED = 13, - DRM_MODE_COLORIMETRY_RGB_WIDE_FLOAT = 14, - DRM_MODE_COLORIMETRY_BT601_YCC = 15, - DRM_MODE_COLORIMETRY_COUNT = 16, -}; - -enum drm_connector_force { - DRM_FORCE_UNSPECIFIED = 0, - DRM_FORCE_OFF = 1, - DRM_FORCE_ON = 2, - DRM_FORCE_ON_DIGITAL = 3, -}; - -enum drm_connector_registration_state { - DRM_CONNECTOR_INITIALIZING = 0, - DRM_CONNECTOR_REGISTERED = 1, - DRM_CONNECTOR_UNREGISTERED = 2, -}; - -enum drm_connector_status { - connector_status_connected = 1, - connector_status_disconnected = 2, - connector_status_unknown = 3, -}; - -enum drm_connector_tv_mode { - DRM_MODE_TV_MODE_NTSC = 0, - DRM_MODE_TV_MODE_NTSC_443 = 1, - DRM_MODE_TV_MODE_NTSC_J = 2, - DRM_MODE_TV_MODE_PAL = 3, - DRM_MODE_TV_MODE_PAL_M = 4, - DRM_MODE_TV_MODE_PAL_N = 5, - DRM_MODE_TV_MODE_SECAM = 6, - DRM_MODE_TV_MODE_MONOCHROME = 7, - DRM_MODE_TV_MODE_MAX = 8, -}; - -enum drm_debug_category { - DRM_UT_CORE = 0, - DRM_UT_DRIVER = 1, - DRM_UT_KMS = 2, - DRM_UT_PRIME = 3, - DRM_UT_ATOMIC = 4, - DRM_UT_VBL = 5, - DRM_UT_STATE = 6, - DRM_UT_LEASE = 7, - DRM_UT_DP = 8, - DRM_UT_DRMRES = 9, -}; - -enum drm_driver_feature { - DRIVER_GEM = 1, - DRIVER_MODESET = 2, - DRIVER_RENDER = 8, - DRIVER_ATOMIC = 16, - DRIVER_SYNCOBJ = 32, - DRIVER_SYNCOBJ_TIMELINE = 64, - DRIVER_COMPUTE_ACCEL = 128, - DRIVER_GEM_GPUVA = 256, - DRIVER_CURSOR_HOTSPOT = 512, - DRIVER_USE_AGP = 33554432, - DRIVER_LEGACY = 67108864, - DRIVER_PCI_DMA = 134217728, - DRIVER_SG = 268435456, - DRIVER_HAVE_DMA = 536870912, - DRIVER_HAVE_IRQ = 1073741824, -}; - -enum drm_edid_internal_quirk { - EDID_QUIRK_PREFER_LARGE_60 = 1, - EDID_QUIRK_135_CLOCK_TOO_HIGH = 2, - EDID_QUIRK_PREFER_LARGE_75 = 3, - EDID_QUIRK_DETAILED_IN_CM = 4, - EDID_QUIRK_DETAILED_USE_MAXIMUM_SIZE = 5, - EDID_QUIRK_DETAILED_SYNC_PP = 6, - EDID_QUIRK_FORCE_REDUCED_BLANKING = 7, - EDID_QUIRK_FORCE_8BPC = 8, - EDID_QUIRK_FORCE_12BPC = 9, - EDID_QUIRK_FORCE_6BPC = 10, - EDID_QUIRK_FORCE_10BPC = 11, - EDID_QUIRK_NON_DESKTOP = 12, - EDID_QUIRK_CAP_DSC_15BPP = 13, -}; - -enum drm_edid_quirk { - DRM_EDID_QUIRK_DP_DPCD_PROBE = 0, - DRM_EDID_QUIRK_NUM = 1, -}; - -enum drm_gem_object_status { - DRM_GEM_OBJECT_RESIDENT = 1, - DRM_GEM_OBJECT_PURGEABLE = 2, - DRM_GEM_OBJECT_ACTIVE = 4, -}; - -enum drm_gpuva_flags { - DRM_GPUVA_INVALIDATED = 1, - DRM_GPUVA_SPARSE = 2, - DRM_GPUVA_USERBITS = 4, -}; - -enum drm_gpuva_op_type { - DRM_GPUVA_OP_MAP = 0, - DRM_GPUVA_OP_REMAP = 1, - DRM_GPUVA_OP_UNMAP = 2, - DRM_GPUVA_OP_PREFETCH = 3, - DRM_GPUVA_OP_DRIVER = 4, -}; - -enum drm_gpuvm_flags { - DRM_GPUVM_RESV_PROTECTED = 1, - DRM_GPUVM_USERBITS = 2, -}; - -enum drm_hdmi_broadcast_rgb { - DRM_HDMI_BROADCAST_RGB_AUTO = 0, - DRM_HDMI_BROADCAST_RGB_FULL = 1, - DRM_HDMI_BROADCAST_RGB_LIMITED = 2, -}; - -enum drm_ioctl_flags { - DRM_AUTH = 1, - DRM_MASTER = 2, - DRM_ROOT_ONLY = 4, - DRM_RENDER_ALLOW = 32, -}; - -enum drm_link_status { - DRM_LINK_STATUS_GOOD = 0, - DRM_LINK_STATUS_BAD = 1, -}; - -enum drm_minor_type { - DRM_MINOR_PRIMARY = 0, - DRM_MINOR_CONTROL = 1, - DRM_MINOR_RENDER = 2, - DRM_MINOR_ACCEL = 32, -}; - -enum drm_mm_insert_mode { - DRM_MM_INSERT_BEST = 0, - DRM_MM_INSERT_LOW = 1, - DRM_MM_INSERT_HIGH = 2, - DRM_MM_INSERT_EVICT = 3, - DRM_MM_INSERT_ONCE = 2147483648, - DRM_MM_INSERT_HIGHEST = 2147483650, - DRM_MM_INSERT_LOWEST = 2147483649, -}; - -enum drm_mode_analog { - DRM_MODE_ANALOG_NTSC = 0, - DRM_MODE_ANALOG_PAL = 1, -}; - -enum drm_mode_status { - MODE_OK = 0, - MODE_HSYNC = 1, - MODE_VSYNC = 2, - MODE_H_ILLEGAL = 3, - MODE_V_ILLEGAL = 4, - MODE_BAD_WIDTH = 5, - MODE_NOMODE = 6, - MODE_NO_INTERLACE = 7, - MODE_NO_DBLESCAN = 8, - MODE_NO_VSCAN = 9, - MODE_MEM = 10, - MODE_VIRTUAL_X = 11, - MODE_VIRTUAL_Y = 12, - MODE_MEM_VIRT = 13, - MODE_NOCLOCK = 14, - MODE_CLOCK_HIGH = 15, - MODE_CLOCK_LOW = 16, - MODE_CLOCK_RANGE = 17, - MODE_BAD_HVALUE = 18, - MODE_BAD_VVALUE = 19, - MODE_BAD_VSCAN = 20, - MODE_HSYNC_NARROW = 21, - MODE_HSYNC_WIDE = 22, - MODE_HBLANK_NARROW = 23, - MODE_HBLANK_WIDE = 24, - MODE_VSYNC_NARROW = 25, - MODE_VSYNC_WIDE = 26, - MODE_VBLANK_NARROW = 27, - MODE_VBLANK_WIDE = 28, - MODE_PANEL = 29, - MODE_INTERLACE_WIDTH = 30, - MODE_ONE_WIDTH = 31, - MODE_ONE_HEIGHT = 32, - MODE_ONE_SIZE = 33, - MODE_NO_REDUCED = 34, - MODE_NO_STEREO = 35, - MODE_NO_420 = 36, - MODE_STALE = -3, - MODE_BAD = -2, - MODE_ERROR = -1, -}; - -enum drm_mode_subconnector { - DRM_MODE_SUBCONNECTOR_Automatic = 0, - DRM_MODE_SUBCONNECTOR_Unknown = 0, - DRM_MODE_SUBCONNECTOR_VGA = 1, - DRM_MODE_SUBCONNECTOR_DVID = 3, - DRM_MODE_SUBCONNECTOR_DVIA = 4, - DRM_MODE_SUBCONNECTOR_Composite = 5, - DRM_MODE_SUBCONNECTOR_SVIDEO = 6, - DRM_MODE_SUBCONNECTOR_Component = 8, - DRM_MODE_SUBCONNECTOR_SCART = 9, - DRM_MODE_SUBCONNECTOR_DisplayPort = 10, - DRM_MODE_SUBCONNECTOR_HDMIA = 11, - DRM_MODE_SUBCONNECTOR_Native = 15, - DRM_MODE_SUBCONNECTOR_Wireless = 18, -}; - -enum drm_panel_orientation { - DRM_MODE_PANEL_ORIENTATION_UNKNOWN = -1, - DRM_MODE_PANEL_ORIENTATION_NORMAL = 0, - DRM_MODE_PANEL_ORIENTATION_BOTTOM_UP = 1, - DRM_MODE_PANEL_ORIENTATION_LEFT_UP = 2, - DRM_MODE_PANEL_ORIENTATION_RIGHT_UP = 3, -}; - -enum drm_plane_type { - DRM_PLANE_TYPE_OVERLAY = 0, - DRM_PLANE_TYPE_PRIMARY = 1, - DRM_PLANE_TYPE_CURSOR = 2, -}; - -enum drm_privacy_screen_status { - PRIVACY_SCREEN_DISABLED = 0, - PRIVACY_SCREEN_ENABLED = 1, - PRIVACY_SCREEN_DISABLED_LOCKED = 2, - PRIVACY_SCREEN_ENABLED_LOCKED = 3, -}; - -enum drm_scaling_filter { - DRM_SCALING_FILTER_DEFAULT = 0, - DRM_SCALING_FILTER_NEAREST_NEIGHBOR = 1, -}; - -enum drm_stat_type { - _DRM_STAT_LOCK = 0, - _DRM_STAT_OPENS = 1, - _DRM_STAT_CLOSES = 2, - _DRM_STAT_IOCTLS = 3, - _DRM_STAT_LOCKS = 4, - _DRM_STAT_UNLOCKS = 5, - _DRM_STAT_VALUE = 6, - _DRM_STAT_BYTE = 7, - _DRM_STAT_COUNT = 8, - _DRM_STAT_IRQ = 9, - _DRM_STAT_PRIMARY = 10, - _DRM_STAT_SECONDARY = 11, - _DRM_STAT_DMA = 12, - _DRM_STAT_SPECIAL = 13, - _DRM_STAT_MISSED = 14, -}; - -enum drm_vblank_seq_type { - _DRM_VBLANK_ABSOLUTE = 0, - _DRM_VBLANK_RELATIVE = 1, - _DRM_VBLANK_HIGH_CRTC_MASK = 62, - _DRM_VBLANK_EVENT = 67108864, - _DRM_VBLANK_FLIP = 134217728, - _DRM_VBLANK_NEXTONMISS = 268435456, - _DRM_VBLANK_SECONDARY = 536870912, - _DRM_VBLANK_SIGNAL = 1073741824, -}; - -enum dsa_db_type { - DSA_DB_PORT = 0, - DSA_DB_LAG = 1, - DSA_DB_BRIDGE = 2, -}; - -enum dsa_tag_protocol { - DSA_TAG_PROTO_NONE = 0, - DSA_TAG_PROTO_BRCM = 1, - DSA_TAG_PROTO_BRCM_LEGACY = 22, - DSA_TAG_PROTO_BRCM_LEGACY_FCS = 29, - DSA_TAG_PROTO_BRCM_PREPEND = 2, - DSA_TAG_PROTO_DSA = 3, - DSA_TAG_PROTO_EDSA = 4, - DSA_TAG_PROTO_GSWIP = 5, - DSA_TAG_PROTO_KSZ9477 = 6, - DSA_TAG_PROTO_KSZ9893 = 7, - DSA_TAG_PROTO_LAN9303 = 8, - DSA_TAG_PROTO_MTK = 9, - DSA_TAG_PROTO_QCA = 10, - DSA_TAG_PROTO_TRAILER = 11, - DSA_TAG_PROTO_8021Q = 12, - DSA_TAG_PROTO_SJA1105 = 13, - DSA_TAG_PROTO_KSZ8795 = 14, - DSA_TAG_PROTO_OCELOT = 15, - DSA_TAG_PROTO_AR9331 = 16, - DSA_TAG_PROTO_RTL4_A = 17, - DSA_TAG_PROTO_HELLCREEK = 18, - DSA_TAG_PROTO_XRS700X = 19, - DSA_TAG_PROTO_OCELOT_8021Q = 20, - DSA_TAG_PROTO_SEVILLE = 21, - DSA_TAG_PROTO_SJA1110 = 23, - DSA_TAG_PROTO_RTL8_4 = 24, - DSA_TAG_PROTO_RTL8_4T = 25, - DSA_TAG_PROTO_RZN1_A5PSW = 26, - DSA_TAG_PROTO_LAN937X = 27, - DSA_TAG_PROTO_VSC73XX_8021Q = 28, -}; - -enum dw_edma_chip_flags { - DW_EDMA_CHIP_LOCAL = 1, -}; - -enum dw_edma_map_format { - EDMA_MF_EDMA_LEGACY = 0, - EDMA_MF_EDMA_UNROLL = 1, - EDMA_MF_HDMA_COMPAT = 5, - EDMA_MF_HDMA_NATIVE = 7, -}; - -enum dw_pcie_app_clk { - DW_PCIE_DBI_CLK = 0, - DW_PCIE_MSTR_CLK = 1, - DW_PCIE_SLV_CLK = 2, - DW_PCIE_NUM_APP_CLKS = 3, -}; - -enum dw_pcie_app_rst { - DW_PCIE_DBI_RST = 0, - DW_PCIE_MSTR_RST = 1, - DW_PCIE_SLV_RST = 2, - DW_PCIE_NUM_APP_RSTS = 3, -}; - -enum dw_pcie_core_clk { - DW_PCIE_PIPE_CLK = 0, - DW_PCIE_CORE_CLK = 1, - DW_PCIE_AUX_CLK = 2, - DW_PCIE_REF_CLK = 3, - DW_PCIE_NUM_CORE_CLKS = 4, -}; - -enum dw_pcie_core_rst { - DW_PCIE_NON_STICKY_RST = 0, - DW_PCIE_STICKY_RST = 1, - DW_PCIE_CORE_RST = 2, - DW_PCIE_PIPE_RST = 3, - DW_PCIE_PHY_RST = 4, - DW_PCIE_HOT_RST = 5, - DW_PCIE_PWR_RST = 6, - DW_PCIE_NUM_CORE_RSTS = 7, -}; - -enum dw_pcie_device_mode { - DW_PCIE_UNKNOWN_TYPE = 0, - DW_PCIE_EP_TYPE = 1, - DW_PCIE_LEG_EP_TYPE = 2, - DW_PCIE_RC_TYPE = 3, -}; - -enum dw_pcie_ltssm { - DW_PCIE_LTSSM_DETECT_QUIET = 0, - DW_PCIE_LTSSM_DETECT_ACT = 1, - DW_PCIE_LTSSM_POLL_ACTIVE = 2, - DW_PCIE_LTSSM_POLL_COMPLIANCE = 3, - DW_PCIE_LTSSM_POLL_CONFIG = 4, - DW_PCIE_LTSSM_PRE_DETECT_QUIET = 5, - DW_PCIE_LTSSM_DETECT_WAIT = 6, - DW_PCIE_LTSSM_CFG_LINKWD_START = 7, - DW_PCIE_LTSSM_CFG_LINKWD_ACEPT = 8, - DW_PCIE_LTSSM_CFG_LANENUM_WAI = 9, - DW_PCIE_LTSSM_CFG_LANENUM_ACEPT = 10, - DW_PCIE_LTSSM_CFG_COMPLETE = 11, - DW_PCIE_LTSSM_CFG_IDLE = 12, - DW_PCIE_LTSSM_RCVRY_LOCK = 13, - DW_PCIE_LTSSM_RCVRY_SPEED = 14, - DW_PCIE_LTSSM_RCVRY_RCVRCFG = 15, - DW_PCIE_LTSSM_RCVRY_IDLE = 16, - DW_PCIE_LTSSM_L0 = 17, - DW_PCIE_LTSSM_L0S = 18, - DW_PCIE_LTSSM_L123_SEND_EIDLE = 19, - DW_PCIE_LTSSM_L1_IDLE = 20, - DW_PCIE_LTSSM_L2_IDLE = 21, - DW_PCIE_LTSSM_L2_WAKE = 22, - DW_PCIE_LTSSM_DISABLED_ENTRY = 23, - DW_PCIE_LTSSM_DISABLED_IDLE = 24, - DW_PCIE_LTSSM_DISABLED = 25, - DW_PCIE_LTSSM_LPBK_ENTRY = 26, - DW_PCIE_LTSSM_LPBK_ACTIVE = 27, - DW_PCIE_LTSSM_LPBK_EXIT = 28, - DW_PCIE_LTSSM_LPBK_EXIT_TIMEOUT = 29, - DW_PCIE_LTSSM_HOT_RESET_ENTRY = 30, - DW_PCIE_LTSSM_HOT_RESET = 31, - DW_PCIE_LTSSM_RCVRY_EQ0 = 32, - DW_PCIE_LTSSM_RCVRY_EQ1 = 33, - DW_PCIE_LTSSM_RCVRY_EQ2 = 34, - DW_PCIE_LTSSM_RCVRY_EQ3 = 35, - DW_PCIE_LTSSM_UNKNOWN = 4294967295, -}; - -enum dwc2_control_phase { - DWC2_CONTROL_SETUP = 0, - DWC2_CONTROL_DATA = 1, - DWC2_CONTROL_STATUS = 2, -}; - -enum dwc2_halt_status { - DWC2_HC_XFER_NO_HALT_STATUS = 0, - DWC2_HC_XFER_COMPLETE = 1, - DWC2_HC_XFER_URB_COMPLETE = 2, - DWC2_HC_XFER_ACK = 3, - DWC2_HC_XFER_NAK = 4, - DWC2_HC_XFER_NYET = 5, - DWC2_HC_XFER_STALL = 6, - DWC2_HC_XFER_XACT_ERR = 7, - DWC2_HC_XFER_FRAME_OVERRUN = 8, - DWC2_HC_XFER_BABBLE_ERR = 9, - DWC2_HC_XFER_DATA_TOGGLE_ERR = 10, - DWC2_HC_XFER_AHB_ERR = 11, - DWC2_HC_XFER_PERIODIC_INCOMPLETE = 12, - DWC2_HC_XFER_URB_DEQUEUE = 13, -}; - -enum dwc2_hsotg_dmamode { - S3C_HSOTG_DMA_NONE = 0, - S3C_HSOTG_DMA_ONLY = 1, - S3C_HSOTG_DMA_DRV = 2, -}; - -enum dwc2_lx_state { - DWC2_L0 = 0, - DWC2_L1 = 1, - DWC2_L2 = 2, - DWC2_L3 = 3, -}; - -enum dwc2_transaction_type { - DWC2_TRANSACTION_NONE = 0, - DWC2_TRANSACTION_PERIODIC = 1, - DWC2_TRANSACTION_NON_PERIODIC = 2, - DWC2_TRANSACTION_ALL = 3, -}; - -enum dynevent_type { - DYNEVENT_TYPE_SYNTH = 1, - DYNEVENT_TYPE_KPROBE = 2, - DYNEVENT_TYPE_NONE = 3, -}; - -enum e820_type { - E820_TYPE_RAM = 1, - E820_TYPE_RESERVED = 2, - E820_TYPE_ACPI = 3, - E820_TYPE_NVS = 4, - E820_TYPE_UNUSABLE = 5, - E820_TYPE_PMEM = 7, - E820_TYPE_PRAM = 12, - E820_TYPE_SOFT_RESERVED = 4026531839, -}; - -enum ec_command { - ACPI_EC_COMMAND_READ = 128, - ACPI_EC_COMMAND_WRITE = 129, - ACPI_EC_BURST_ENABLE = 130, - ACPI_EC_BURST_DISABLE = 131, - ACPI_EC_COMMAND_QUERY = 132, -}; - -enum ecryptfs_token_types { - ECRYPTFS_PASSWORD = 0, - ECRYPTFS_PRIVATE_KEY = 1, -}; - -enum edac_dev_feat { - RAS_FEAT_SCRUB = 0, - RAS_FEAT_ECS = 1, - RAS_FEAT_MEM_REPAIR = 2, - RAS_FEAT_MAX = 3, -}; - -enum edac_ecs_attributes { - ECS_LOG_ENTRY_TYPE = 0, - ECS_MODE = 1, - ECS_RESET = 2, - ECS_THRESHOLD = 3, - ECS_MAX_ATTRS = 4, -}; - -enum edac_mc_layer_type { - EDAC_MC_LAYER_BRANCH = 0, - EDAC_MC_LAYER_CHANNEL = 1, - EDAC_MC_LAYER_SLOT = 2, - EDAC_MC_LAYER_CHIP_SELECT = 3, - EDAC_MC_LAYER_ALL_MEM = 4, -}; - -enum edac_mem_repair_attributes { - MR_TYPE = 0, - MR_PERSIST_MODE = 1, - MR_SAFE_IN_USE = 2, - MR_HPA = 3, - MR_MIN_HPA = 4, - MR_MAX_HPA = 5, - MR_DPA = 6, - MR_MIN_DPA = 7, - MR_MAX_DPA = 8, - MR_NIBBLE_MASK = 9, - MR_BANK_GROUP = 10, - MR_BANK = 11, - MR_RANK = 12, - MR_ROW = 13, - MR_COLUMN = 14, - MR_CHANNEL = 15, - MR_SUB_CHANNEL = 16, - MEM_DO_REPAIR = 17, - MR_MAX_ATTRS = 18, -}; - -enum edac_mem_repair_type { - EDAC_REPAIR_PPR = 0, - EDAC_REPAIR_CACHELINE_SPARING = 1, - EDAC_REPAIR_ROW_SPARING = 2, - EDAC_REPAIR_BANK_SPARING = 3, - EDAC_REPAIR_RANK_SPARING = 4, - EDAC_REPAIR_MAX = 5, -}; - -enum edac_scrub_attributes { - SCRUB_ADDRESS = 0, - SCRUB_SIZE = 1, - SCRUB_ENABLE_BACKGROUND = 2, - SCRUB_MIN_CYCLE_DURATION = 3, - SCRUB_MAX_CYCLE_DURATION = 4, - SCRUB_CUR_CYCLE_DURATION = 5, - SCRUB_MAX_ATTRS = 6, -}; - -enum edac_type { - EDAC_UNKNOWN = 0, - EDAC_NONE = 1, - EDAC_RESERVED = 2, - EDAC_PARITY = 3, - EDAC_EC = 4, - EDAC_SECDED = 5, - EDAC_S2ECD2ED = 6, - EDAC_S4ECD4ED = 7, - EDAC_S8ECD8ED = 8, - EDAC_S16ECD16ED = 9, -}; - -enum edid_block_status { - EDID_BLOCK_OK = 0, - EDID_BLOCK_READ_FAIL = 1, - EDID_BLOCK_NULL = 2, - EDID_BLOCK_ZERO = 3, - EDID_BLOCK_HEADER_CORRUPT = 4, - EDID_BLOCK_HEADER_REPAIR = 5, - EDID_BLOCK_HEADER_FIXED = 6, - EDID_BLOCK_CHECKSUM = 7, - EDID_BLOCK_VERSION = 8, -}; - -enum efi_rts_ids { - EFI_NONE = 0, - EFI_GET_TIME = 1, - EFI_SET_TIME = 2, - EFI_GET_WAKEUP_TIME = 3, - EFI_SET_WAKEUP_TIME = 4, - EFI_GET_VARIABLE = 5, - EFI_GET_NEXT_VARIABLE = 6, - EFI_SET_VARIABLE = 7, - EFI_QUERY_VARIABLE_INFO = 8, - EFI_GET_NEXT_HIGH_MONO_COUNT = 9, - EFI_RESET_SYSTEM = 10, - EFI_UPDATE_CAPSULE = 11, - EFI_QUERY_CAPSULE_CAPS = 12, - EFI_ACPI_PRM_HANDLER = 13, -}; - -enum efi_secureboot_mode { - efi_secureboot_mode_unset = 0, - efi_secureboot_mode_unknown = 1, - efi_secureboot_mode_disabled = 2, - efi_secureboot_mode_enabled = 3, -}; - -enum ehci_hrtimer_event { - EHCI_HRTIMER_POLL_ASS = 0, - EHCI_HRTIMER_POLL_PSS = 1, - EHCI_HRTIMER_POLL_DEAD = 2, - EHCI_HRTIMER_UNLINK_INTR = 3, - EHCI_HRTIMER_FREE_ITDS = 4, - EHCI_HRTIMER_ACTIVE_UNLINK = 5, - EHCI_HRTIMER_START_UNLINK_INTR = 6, - EHCI_HRTIMER_ASYNC_UNLINKS = 7, - EHCI_HRTIMER_IAA_WATCHDOG = 8, - EHCI_HRTIMER_DISABLE_PERIODIC = 9, - EHCI_HRTIMER_DISABLE_ASYNC = 10, - EHCI_HRTIMER_IO_WATCHDOG = 11, - EHCI_HRTIMER_NUM_EVENTS = 12, -}; - -enum ehci_rh_state { - EHCI_RH_HALTED = 0, - EHCI_RH_SUSPENDED = 1, - EHCI_RH_RUNNING = 2, - EHCI_RH_STOPPING = 3, -}; - -enum elants_chip_id { - EKTH3500 = 0, - EKTF3624 = 1, -}; - -enum elants_iap_mode { - ELAN_IAP_OPERATIONAL = 0, - ELAN_IAP_RECOVERY = 1, -}; - -enum elants_state { - ELAN_STATE_NORMAL = 0, - ELAN_WAIT_QUEUE_HEADER = 1, - ELAN_WAIT_RECALIBRATION = 2, -}; - -enum elv_merge { - ELEVATOR_NO_MERGE = 0, - ELEVATOR_FRONT_MERGE = 1, - ELEVATOR_BACK_MERGE = 2, - ELEVATOR_DISCARD_MERGE = 3, -}; - -enum enable_type { - undefined = -1, - user_disabled = 0, - auto_disabled = 1, - user_enabled = 2, - auto_enabled = 3, -}; - -enum energy_perf_value_index { - EPB_INDEX_PERFORMANCE = 0, - EPB_INDEX_BALANCE_PERFORMANCE = 1, - EPB_INDEX_NORMAL = 2, - EPB_INDEX_BALANCE_POWERSAVE = 3, - EPB_INDEX_POWERSAVE = 4, -}; - -enum energy_perf_value_index___2 { - EPP_INDEX_DEFAULT = 0, - EPP_INDEX_PERFORMANCE = 1, - EPP_INDEX_BALANCE_PERFORMANCE = 2, - EPP_INDEX_BALANCE_POWERSAVE = 3, - EPP_INDEX_POWERSAVE = 4, -}; - -enum environment_cap { - ENVIRON_ANY = 0, - ENVIRON_INDOOR = 1, - ENVIRON_OUTDOOR = 2, -}; - -enum equalization_preset_type { - EQ_PRESET_TYPE_8GTS = 0, - EQ_PRESET_TYPE_16GTS = 1, - EQ_PRESET_TYPE_32GTS = 2, - EQ_PRESET_TYPE_64GTS = 3, - EQ_PRESET_TYPE_MAX = 4, -}; - -enum err_types { - ERR_TYPE_CACHE = 0, - ERR_TYPE_TLB = 1, - ERR_TYPE_BUS = 2, - ERR_TYPE_MS = 3, - N_ERR_TYPES = 4, -}; - -enum error_detector { - ERROR_DETECTOR_KFENCE = 0, - ERROR_DETECTOR_KASAN = 1, - ERROR_DETECTOR_WARN = 2, -}; - -enum es_result { - ES_OK = 0, - ES_UNSUPPORTED = 1, - ES_VMM_ERROR = 2, - ES_DECODE_FAILED = 3, - ES_EXCEPTION = 4, - ES_RETRY = 5, -}; - -enum ethnl_sock_type { - ETHTOOL_SOCK_TYPE_MODULE_FW_FLASH = 0, -}; - -enum ethtool_c33_pse_admin_state { - ETHTOOL_C33_PSE_ADMIN_STATE_UNKNOWN = 1, - ETHTOOL_C33_PSE_ADMIN_STATE_DISABLED = 2, - ETHTOOL_C33_PSE_ADMIN_STATE_ENABLED = 3, -}; - -enum ethtool_c33_pse_ext_state { - ETHTOOL_C33_PSE_EXT_STATE_ERROR_CONDITION = 1, - ETHTOOL_C33_PSE_EXT_STATE_MR_MPS_VALID = 2, - ETHTOOL_C33_PSE_EXT_STATE_MR_PSE_ENABLE = 3, - ETHTOOL_C33_PSE_EXT_STATE_OPTION_DETECT_TED = 4, - ETHTOOL_C33_PSE_EXT_STATE_OPTION_VPORT_LIM = 5, - ETHTOOL_C33_PSE_EXT_STATE_OVLD_DETECTED = 6, - ETHTOOL_C33_PSE_EXT_STATE_PD_DLL_POWER_TYPE = 7, - ETHTOOL_C33_PSE_EXT_STATE_POWER_NOT_AVAILABLE = 8, - ETHTOOL_C33_PSE_EXT_STATE_SHORT_DETECTED = 9, -}; - -enum ethtool_c33_pse_ext_substate_error_condition { - ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_NON_EXISTING_PORT = 1, - ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNDEFINED_PORT = 2, - ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_INTERNAL_HW_FAULT = 3, - ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_COMM_ERROR_AFTER_FORCE_ON = 4, - ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNKNOWN_PORT_STATUS = 5, - ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_TURN_OFF = 6, - ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_FORCE_SHUTDOWN = 7, - ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_CONFIG_CHANGE = 8, - ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_DETECTED_OVER_TEMP = 9, -}; - -enum ethtool_c33_pse_ext_substate_mr_pse_enable { - ETHTOOL_C33_PSE_EXT_SUBSTATE_MR_PSE_ENABLE_DISABLE_PIN_ACTIVE = 1, -}; - -enum ethtool_c33_pse_ext_substate_option_detect_ted { - ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_DET_IN_PROCESS = 1, - ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_CONNECTION_CHECK_ERROR = 2, -}; - -enum ethtool_c33_pse_ext_substate_option_vport_lim { - ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_HIGH_VOLTAGE = 1, - ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_LOW_VOLTAGE = 2, - ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_VOLTAGE_INJECTION = 3, -}; - -enum ethtool_c33_pse_ext_substate_ovld_detected { - ETHTOOL_C33_PSE_EXT_SUBSTATE_OVLD_DETECTED_OVERLOAD = 1, -}; - -enum ethtool_c33_pse_ext_substate_power_not_available { - ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_BUDGET_EXCEEDED = 1, - ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_PORT_PW_LIMIT_EXCEEDS_CONTROLLER_BUDGET = 2, - ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_PD_REQUEST_EXCEEDS_PORT_LIMIT = 3, - ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_HW_PW_LIMIT = 4, -}; - -enum ethtool_c33_pse_ext_substate_short_detected { - ETHTOOL_C33_PSE_EXT_SUBSTATE_SHORT_DETECTED_SHORT_CONDITION = 1, -}; - -enum ethtool_c33_pse_pw_d_status { - ETHTOOL_C33_PSE_PW_D_STATUS_UNKNOWN = 1, - ETHTOOL_C33_PSE_PW_D_STATUS_DISABLED = 2, - ETHTOOL_C33_PSE_PW_D_STATUS_SEARCHING = 3, - ETHTOOL_C33_PSE_PW_D_STATUS_DELIVERING = 4, - ETHTOOL_C33_PSE_PW_D_STATUS_TEST = 5, - ETHTOOL_C33_PSE_PW_D_STATUS_FAULT = 6, - ETHTOOL_C33_PSE_PW_D_STATUS_OTHERFAULT = 7, -}; - -enum ethtool_cmis_cdb_cmd_id { - ETHTOOL_CMIS_CDB_CMD_QUERY_STATUS = 0, - ETHTOOL_CMIS_CDB_CMD_MODULE_FEATURES = 64, - ETHTOOL_CMIS_CDB_CMD_FW_MANAGMENT_FEATURES = 65, - ETHTOOL_CMIS_CDB_CMD_START_FW_DOWNLOAD = 257, - ETHTOOL_CMIS_CDB_CMD_WRITE_FW_BLOCK_LPL = 259, - ETHTOOL_CMIS_CDB_CMD_WRITE_FW_BLOCK_EPL = 260, - ETHTOOL_CMIS_CDB_CMD_COMPLETE_FW_DOWNLOAD = 263, - ETHTOOL_CMIS_CDB_CMD_RUN_FW_IMAGE = 265, - ETHTOOL_CMIS_CDB_CMD_COMMIT_FW_IMAGE = 266, -}; - -enum ethtool_fec_config_bits { - ETHTOOL_FEC_NONE_BIT = 0, - ETHTOOL_FEC_AUTO_BIT = 1, - ETHTOOL_FEC_OFF_BIT = 2, - ETHTOOL_FEC_RS_BIT = 3, - ETHTOOL_FEC_BASER_BIT = 4, - ETHTOOL_FEC_LLRS_BIT = 5, -}; - -enum ethtool_flags { - ETH_FLAG_TXVLAN = 128, - ETH_FLAG_RXVLAN = 256, - ETH_FLAG_LRO = 32768, - ETH_FLAG_NTUPLE = 134217728, - ETH_FLAG_RXHASH = 268435456, -}; - -enum ethtool_header_flags { - ETHTOOL_FLAG_COMPACT_BITSETS = 1, - ETHTOOL_FLAG_OMIT_REPLY = 2, - ETHTOOL_FLAG_STATS = 4, -}; - -enum ethtool_link_ext_state { - ETHTOOL_LINK_EXT_STATE_AUTONEG = 0, - ETHTOOL_LINK_EXT_STATE_LINK_TRAINING_FAILURE = 1, - ETHTOOL_LINK_EXT_STATE_LINK_LOGICAL_MISMATCH = 2, - ETHTOOL_LINK_EXT_STATE_BAD_SIGNAL_INTEGRITY = 3, - ETHTOOL_LINK_EXT_STATE_NO_CABLE = 4, - ETHTOOL_LINK_EXT_STATE_CABLE_ISSUE = 5, - ETHTOOL_LINK_EXT_STATE_EEPROM_ISSUE = 6, - ETHTOOL_LINK_EXT_STATE_CALIBRATION_FAILURE = 7, - ETHTOOL_LINK_EXT_STATE_POWER_BUDGET_EXCEEDED = 8, - ETHTOOL_LINK_EXT_STATE_OVERHEAT = 9, - ETHTOOL_LINK_EXT_STATE_MODULE = 10, -}; - -enum ethtool_link_ext_substate_autoneg { - ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED = 1, - ETHTOOL_LINK_EXT_SUBSTATE_AN_ACK_NOT_RECEIVED = 2, - ETHTOOL_LINK_EXT_SUBSTATE_AN_NEXT_PAGE_EXCHANGE_FAILED = 3, - ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED_FORCE_MODE = 4, - ETHTOOL_LINK_EXT_SUBSTATE_AN_FEC_MISMATCH_DURING_OVERRIDE = 5, - ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_HCD = 6, -}; - -enum ethtool_link_ext_substate_bad_signal_integrity { - ETHTOOL_LINK_EXT_SUBSTATE_BSI_LARGE_NUMBER_OF_PHYSICAL_ERRORS = 1, - ETHTOOL_LINK_EXT_SUBSTATE_BSI_UNSUPPORTED_RATE = 2, - ETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_REFERENCE_CLOCK_LOST = 3, - ETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_ALOS = 4, -}; - -enum ethtool_link_ext_substate_cable_issue { - ETHTOOL_LINK_EXT_SUBSTATE_CI_UNSUPPORTED_CABLE = 1, - ETHTOOL_LINK_EXT_SUBSTATE_CI_CABLE_TEST_FAILURE = 2, -}; - -enum ethtool_link_ext_substate_link_logical_mismatch { - ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_ACQUIRE_BLOCK_LOCK = 1, - ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_ACQUIRE_AM_LOCK = 2, - ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_GET_ALIGN_STATUS = 3, - ETHTOOL_LINK_EXT_SUBSTATE_LLM_FC_FEC_IS_NOT_LOCKED = 4, - ETHTOOL_LINK_EXT_SUBSTATE_LLM_RS_FEC_IS_NOT_LOCKED = 5, -}; - -enum ethtool_link_ext_substate_link_training { - ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_FRAME_LOCK_NOT_ACQUIRED = 1, - ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_LINK_INHIBIT_TIMEOUT = 2, - ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_LINK_PARTNER_DID_NOT_SET_RECEIVER_READY = 3, - ETHTOOL_LINK_EXT_SUBSTATE_LT_REMOTE_FAULT = 4, -}; - -enum ethtool_link_ext_substate_module { - ETHTOOL_LINK_EXT_SUBSTATE_MODULE_CMIS_NOT_READY = 1, -}; - -enum ethtool_link_mode_bit_indices { - ETHTOOL_LINK_MODE_10baseT_Half_BIT = 0, - ETHTOOL_LINK_MODE_10baseT_Full_BIT = 1, - ETHTOOL_LINK_MODE_100baseT_Half_BIT = 2, - ETHTOOL_LINK_MODE_100baseT_Full_BIT = 3, - ETHTOOL_LINK_MODE_1000baseT_Half_BIT = 4, - ETHTOOL_LINK_MODE_1000baseT_Full_BIT = 5, - ETHTOOL_LINK_MODE_Autoneg_BIT = 6, - ETHTOOL_LINK_MODE_TP_BIT = 7, - ETHTOOL_LINK_MODE_AUI_BIT = 8, - ETHTOOL_LINK_MODE_MII_BIT = 9, - ETHTOOL_LINK_MODE_FIBRE_BIT = 10, - ETHTOOL_LINK_MODE_BNC_BIT = 11, - ETHTOOL_LINK_MODE_10000baseT_Full_BIT = 12, - ETHTOOL_LINK_MODE_Pause_BIT = 13, - ETHTOOL_LINK_MODE_Asym_Pause_BIT = 14, - ETHTOOL_LINK_MODE_2500baseX_Full_BIT = 15, - ETHTOOL_LINK_MODE_Backplane_BIT = 16, - ETHTOOL_LINK_MODE_1000baseKX_Full_BIT = 17, - ETHTOOL_LINK_MODE_10000baseKX4_Full_BIT = 18, - ETHTOOL_LINK_MODE_10000baseKR_Full_BIT = 19, - ETHTOOL_LINK_MODE_10000baseR_FEC_BIT = 20, - ETHTOOL_LINK_MODE_20000baseMLD2_Full_BIT = 21, - ETHTOOL_LINK_MODE_20000baseKR2_Full_BIT = 22, - ETHTOOL_LINK_MODE_40000baseKR4_Full_BIT = 23, - ETHTOOL_LINK_MODE_40000baseCR4_Full_BIT = 24, - ETHTOOL_LINK_MODE_40000baseSR4_Full_BIT = 25, - ETHTOOL_LINK_MODE_40000baseLR4_Full_BIT = 26, - ETHTOOL_LINK_MODE_56000baseKR4_Full_BIT = 27, - ETHTOOL_LINK_MODE_56000baseCR4_Full_BIT = 28, - ETHTOOL_LINK_MODE_56000baseSR4_Full_BIT = 29, - ETHTOOL_LINK_MODE_56000baseLR4_Full_BIT = 30, - ETHTOOL_LINK_MODE_25000baseCR_Full_BIT = 31, - ETHTOOL_LINK_MODE_25000baseKR_Full_BIT = 32, - ETHTOOL_LINK_MODE_25000baseSR_Full_BIT = 33, - ETHTOOL_LINK_MODE_50000baseCR2_Full_BIT = 34, - ETHTOOL_LINK_MODE_50000baseKR2_Full_BIT = 35, - ETHTOOL_LINK_MODE_100000baseKR4_Full_BIT = 36, - ETHTOOL_LINK_MODE_100000baseSR4_Full_BIT = 37, - ETHTOOL_LINK_MODE_100000baseCR4_Full_BIT = 38, - ETHTOOL_LINK_MODE_100000baseLR4_ER4_Full_BIT = 39, - ETHTOOL_LINK_MODE_50000baseSR2_Full_BIT = 40, - ETHTOOL_LINK_MODE_1000baseX_Full_BIT = 41, - ETHTOOL_LINK_MODE_10000baseCR_Full_BIT = 42, - ETHTOOL_LINK_MODE_10000baseSR_Full_BIT = 43, - ETHTOOL_LINK_MODE_10000baseLR_Full_BIT = 44, - ETHTOOL_LINK_MODE_10000baseLRM_Full_BIT = 45, - ETHTOOL_LINK_MODE_10000baseER_Full_BIT = 46, - ETHTOOL_LINK_MODE_2500baseT_Full_BIT = 47, - ETHTOOL_LINK_MODE_5000baseT_Full_BIT = 48, - ETHTOOL_LINK_MODE_FEC_NONE_BIT = 49, - ETHTOOL_LINK_MODE_FEC_RS_BIT = 50, - ETHTOOL_LINK_MODE_FEC_BASER_BIT = 51, - ETHTOOL_LINK_MODE_50000baseKR_Full_BIT = 52, - ETHTOOL_LINK_MODE_50000baseSR_Full_BIT = 53, - ETHTOOL_LINK_MODE_50000baseCR_Full_BIT = 54, - ETHTOOL_LINK_MODE_50000baseLR_ER_FR_Full_BIT = 55, - ETHTOOL_LINK_MODE_50000baseDR_Full_BIT = 56, - ETHTOOL_LINK_MODE_100000baseKR2_Full_BIT = 57, - ETHTOOL_LINK_MODE_100000baseSR2_Full_BIT = 58, - ETHTOOL_LINK_MODE_100000baseCR2_Full_BIT = 59, - ETHTOOL_LINK_MODE_100000baseLR2_ER2_FR2_Full_BIT = 60, - ETHTOOL_LINK_MODE_100000baseDR2_Full_BIT = 61, - ETHTOOL_LINK_MODE_200000baseKR4_Full_BIT = 62, - ETHTOOL_LINK_MODE_200000baseSR4_Full_BIT = 63, - ETHTOOL_LINK_MODE_200000baseLR4_ER4_FR4_Full_BIT = 64, - ETHTOOL_LINK_MODE_200000baseDR4_Full_BIT = 65, - ETHTOOL_LINK_MODE_200000baseCR4_Full_BIT = 66, - ETHTOOL_LINK_MODE_100baseT1_Full_BIT = 67, - ETHTOOL_LINK_MODE_1000baseT1_Full_BIT = 68, - ETHTOOL_LINK_MODE_400000baseKR8_Full_BIT = 69, - ETHTOOL_LINK_MODE_400000baseSR8_Full_BIT = 70, - ETHTOOL_LINK_MODE_400000baseLR8_ER8_FR8_Full_BIT = 71, - ETHTOOL_LINK_MODE_400000baseDR8_Full_BIT = 72, - ETHTOOL_LINK_MODE_400000baseCR8_Full_BIT = 73, - ETHTOOL_LINK_MODE_FEC_LLRS_BIT = 74, - ETHTOOL_LINK_MODE_100000baseKR_Full_BIT = 75, - ETHTOOL_LINK_MODE_100000baseSR_Full_BIT = 76, - ETHTOOL_LINK_MODE_100000baseLR_ER_FR_Full_BIT = 77, - ETHTOOL_LINK_MODE_100000baseCR_Full_BIT = 78, - ETHTOOL_LINK_MODE_100000baseDR_Full_BIT = 79, - ETHTOOL_LINK_MODE_200000baseKR2_Full_BIT = 80, - ETHTOOL_LINK_MODE_200000baseSR2_Full_BIT = 81, - ETHTOOL_LINK_MODE_200000baseLR2_ER2_FR2_Full_BIT = 82, - ETHTOOL_LINK_MODE_200000baseDR2_Full_BIT = 83, - ETHTOOL_LINK_MODE_200000baseCR2_Full_BIT = 84, - ETHTOOL_LINK_MODE_400000baseKR4_Full_BIT = 85, - ETHTOOL_LINK_MODE_400000baseSR4_Full_BIT = 86, - ETHTOOL_LINK_MODE_400000baseLR4_ER4_FR4_Full_BIT = 87, - ETHTOOL_LINK_MODE_400000baseDR4_Full_BIT = 88, - ETHTOOL_LINK_MODE_400000baseCR4_Full_BIT = 89, - ETHTOOL_LINK_MODE_100baseFX_Half_BIT = 90, - ETHTOOL_LINK_MODE_100baseFX_Full_BIT = 91, - ETHTOOL_LINK_MODE_10baseT1L_Full_BIT = 92, - ETHTOOL_LINK_MODE_800000baseCR8_Full_BIT = 93, - ETHTOOL_LINK_MODE_800000baseKR8_Full_BIT = 94, - ETHTOOL_LINK_MODE_800000baseDR8_Full_BIT = 95, - ETHTOOL_LINK_MODE_800000baseDR8_2_Full_BIT = 96, - ETHTOOL_LINK_MODE_800000baseSR8_Full_BIT = 97, - ETHTOOL_LINK_MODE_800000baseVR8_Full_BIT = 98, - ETHTOOL_LINK_MODE_10baseT1S_Full_BIT = 99, - ETHTOOL_LINK_MODE_10baseT1S_Half_BIT = 100, - ETHTOOL_LINK_MODE_10baseT1S_P2MP_Half_BIT = 101, - ETHTOOL_LINK_MODE_10baseT1BRR_Full_BIT = 102, - ETHTOOL_LINK_MODE_200000baseCR_Full_BIT = 103, - ETHTOOL_LINK_MODE_200000baseKR_Full_BIT = 104, - ETHTOOL_LINK_MODE_200000baseDR_Full_BIT = 105, - ETHTOOL_LINK_MODE_200000baseDR_2_Full_BIT = 106, - ETHTOOL_LINK_MODE_200000baseSR_Full_BIT = 107, - ETHTOOL_LINK_MODE_200000baseVR_Full_BIT = 108, - ETHTOOL_LINK_MODE_400000baseCR2_Full_BIT = 109, - ETHTOOL_LINK_MODE_400000baseKR2_Full_BIT = 110, - ETHTOOL_LINK_MODE_400000baseDR2_Full_BIT = 111, - ETHTOOL_LINK_MODE_400000baseDR2_2_Full_BIT = 112, - ETHTOOL_LINK_MODE_400000baseSR2_Full_BIT = 113, - ETHTOOL_LINK_MODE_400000baseVR2_Full_BIT = 114, - ETHTOOL_LINK_MODE_800000baseCR4_Full_BIT = 115, - ETHTOOL_LINK_MODE_800000baseKR4_Full_BIT = 116, - ETHTOOL_LINK_MODE_800000baseDR4_Full_BIT = 117, - ETHTOOL_LINK_MODE_800000baseDR4_2_Full_BIT = 118, - ETHTOOL_LINK_MODE_800000baseSR4_Full_BIT = 119, - ETHTOOL_LINK_MODE_800000baseVR4_Full_BIT = 120, - __ETHTOOL_LINK_MODE_MASK_NBITS = 121, -}; - -enum ethtool_mac_stats_src { - ETHTOOL_MAC_STATS_SRC_AGGREGATE = 0, - ETHTOOL_MAC_STATS_SRC_EMAC = 1, - ETHTOOL_MAC_STATS_SRC_PMAC = 2, -}; - -enum ethtool_mm_verify_status { - ETHTOOL_MM_VERIFY_STATUS_UNKNOWN = 0, - ETHTOOL_MM_VERIFY_STATUS_INITIAL = 1, - ETHTOOL_MM_VERIFY_STATUS_VERIFYING = 2, - ETHTOOL_MM_VERIFY_STATUS_SUCCEEDED = 3, - ETHTOOL_MM_VERIFY_STATUS_FAILED = 4, - ETHTOOL_MM_VERIFY_STATUS_DISABLED = 5, -}; - -enum ethtool_mmsv_event { - ETHTOOL_MMSV_LP_SENT_VERIFY_MPACKET = 0, - ETHTOOL_MMSV_LD_SENT_VERIFY_MPACKET = 1, - ETHTOOL_MMSV_LP_SENT_RESPONSE_MPACKET = 2, -}; - -enum ethtool_module_fw_flash_status { - ETHTOOL_MODULE_FW_FLASH_STATUS_STARTED = 1, - ETHTOOL_MODULE_FW_FLASH_STATUS_IN_PROGRESS = 2, - ETHTOOL_MODULE_FW_FLASH_STATUS_COMPLETED = 3, - ETHTOOL_MODULE_FW_FLASH_STATUS_ERROR = 4, -}; - -enum ethtool_module_power_mode { - ETHTOOL_MODULE_POWER_MODE_LOW = 1, - ETHTOOL_MODULE_POWER_MODE_HIGH = 2, -}; - -enum ethtool_module_power_mode_policy { - ETHTOOL_MODULE_POWER_MODE_POLICY_HIGH = 1, - ETHTOOL_MODULE_POWER_MODE_POLICY_AUTO = 2, -}; - -enum ethtool_mpacket { - ETHTOOL_MPACKET_VERIFY = 0, - ETHTOOL_MPACKET_RESPONSE = 1, -}; - -enum ethtool_multicast_groups { - ETHNL_MCGRP_MONITOR = 0, -}; - -enum ethtool_phys_id_state { - ETHTOOL_ID_INACTIVE = 0, - ETHTOOL_ID_ACTIVE = 1, - ETHTOOL_ID_ON = 2, - ETHTOOL_ID_OFF = 3, -}; - -enum ethtool_podl_pse_admin_state { - ETHTOOL_PODL_PSE_ADMIN_STATE_UNKNOWN = 1, - ETHTOOL_PODL_PSE_ADMIN_STATE_DISABLED = 2, - ETHTOOL_PODL_PSE_ADMIN_STATE_ENABLED = 3, -}; - -enum ethtool_podl_pse_pw_d_status { - ETHTOOL_PODL_PSE_PW_D_STATUS_UNKNOWN = 1, - ETHTOOL_PODL_PSE_PW_D_STATUS_DISABLED = 2, - ETHTOOL_PODL_PSE_PW_D_STATUS_SEARCHING = 3, - ETHTOOL_PODL_PSE_PW_D_STATUS_DELIVERING = 4, - ETHTOOL_PODL_PSE_PW_D_STATUS_SLEEP = 5, - ETHTOOL_PODL_PSE_PW_D_STATUS_IDLE = 6, - ETHTOOL_PODL_PSE_PW_D_STATUS_ERROR = 7, -}; - -enum ethtool_pse_event { - ETHTOOL_PSE_EVENT_OVER_CURRENT = 1, - ETHTOOL_PSE_EVENT_OVER_TEMP = 2, - ETHTOOL_C33_PSE_EVENT_DETECTION = 4, - ETHTOOL_C33_PSE_EVENT_CLASSIFICATION = 8, - ETHTOOL_C33_PSE_EVENT_DISCONNECTION = 16, - ETHTOOL_PSE_EVENT_OVER_BUDGET = 32, - ETHTOOL_PSE_EVENT_SW_PW_CONTROL_ERROR = 64, -}; - -enum ethtool_pse_types { - ETHTOOL_PSE_UNKNOWN = 1, - ETHTOOL_PSE_PODL = 2, - ETHTOOL_PSE_C33 = 4, -}; - -enum ethtool_reset_flags { - ETH_RESET_MGMT = 1, - ETH_RESET_IRQ = 2, - ETH_RESET_DMA = 4, - ETH_RESET_FILTER = 8, - ETH_RESET_OFFLOAD = 16, - ETH_RESET_MAC = 32, - ETH_RESET_PHY = 64, - ETH_RESET_RAM = 128, - ETH_RESET_AP = 256, - ETH_RESET_DEDICATED = 65535, - ETH_RESET_ALL = 4294967295, -}; - -enum ethtool_sfeatures_retval_bits { - ETHTOOL_F_UNSUPPORTED__BIT = 0, - ETHTOOL_F_WISH__BIT = 1, - ETHTOOL_F_COMPAT__BIT = 2, -}; - -enum ethtool_stringset { - ETH_SS_TEST = 0, - ETH_SS_STATS = 1, - ETH_SS_PRIV_FLAGS = 2, - ETH_SS_NTUPLE_FILTERS = 3, - ETH_SS_FEATURES = 4, - ETH_SS_RSS_HASH_FUNCS = 5, - ETH_SS_TUNABLES = 6, - ETH_SS_PHY_STATS = 7, - ETH_SS_PHY_TUNABLES = 8, - ETH_SS_LINK_MODES = 9, - ETH_SS_MSG_CLASSES = 10, - ETH_SS_WOL_MODES = 11, - ETH_SS_SOF_TIMESTAMPING = 12, - ETH_SS_TS_TX_TYPES = 13, - ETH_SS_TS_RX_FILTERS = 14, - ETH_SS_UDP_TUNNEL_TYPES = 15, - ETH_SS_STATS_STD = 16, - ETH_SS_STATS_ETH_PHY = 17, - ETH_SS_STATS_ETH_MAC = 18, - ETH_SS_STATS_ETH_CTRL = 19, - ETH_SS_STATS_RMON = 20, - ETH_SS_STATS_PHY = 21, - ETH_SS_TS_FLAGS = 22, - ETH_SS_COUNT = 23, -}; - -enum ethtool_supported_ring_param { - ETHTOOL_RING_USE_RX_BUF_LEN = 1, - ETHTOOL_RING_USE_CQE_SIZE = 2, - ETHTOOL_RING_USE_TX_PUSH = 4, - ETHTOOL_RING_USE_RX_PUSH = 8, - ETHTOOL_RING_USE_TX_PUSH_BUF_LEN = 16, - ETHTOOL_RING_USE_TCP_DATA_SPLIT = 32, - ETHTOOL_RING_USE_HDS_THRS = 64, -}; - -enum ethtool_tcp_data_split { - ETHTOOL_TCP_DATA_SPLIT_UNKNOWN = 0, - ETHTOOL_TCP_DATA_SPLIT_DISABLED = 1, - ETHTOOL_TCP_DATA_SPLIT_ENABLED = 2, -}; - -enum ethtool_test_flags { - ETH_TEST_FL_OFFLINE = 1, - ETH_TEST_FL_FAILED = 2, - ETH_TEST_FL_EXTERNAL_LB = 4, - ETH_TEST_FL_EXTERNAL_LB_DONE = 8, -}; - -enum event_command_flags { - EVENT_CMD_FL_POST_TRIGGER = 1, - EVENT_CMD_FL_NEEDS_REC = 2, -}; - -enum event_trigger_type { - ETT_NONE = 0, - ETT_TRACE_ONOFF = 1, - ETT_SNAPSHOT = 2, - ETT_STACKTRACE = 4, - ETT_EVENT_ENABLE = 8, - ETT_EVENT_HIST = 16, - ETT_HIST_ENABLE = 32, - ETT_EVENT_EPROBE = 64, -}; - -enum event_type_t { - EVENT_FLEXIBLE = 1, - EVENT_PINNED = 2, - EVENT_TIME = 4, - EVENT_FROZEN = 8, - EVENT_CPU = 16, - EVENT_CGROUP = 32, - EVENT_ALL = 3, - EVENT_TIME_FROZEN = 12, -}; - -enum events_wwnr { - switch_in_wwnr = 0, - switch_out_wwnr = 1, - wakeup_wwnr = 2, - event_max_wwnr = 3, -}; - -enum evm_ima_xattr_type { - IMA_XATTR_DIGEST = 1, - EVM_XATTR_HMAC = 2, - EVM_IMA_XATTR_DIGSIG = 3, - IMA_XATTR_DIGEST_NG = 4, - EVM_XATTR_PORTABLE_DIGSIG = 5, - IMA_VERITY_DIGSIG = 6, - IMA_XATTR_LAST = 7, -}; - -enum evtreturn { - EVT_ERR = -1, - EVT_DONE = 0, - EVT_XFER_DONE = 1, - EVT_GSER = 2, - EVT_DISC = 3, -}; - -enum exact_level { - NOT_EXACT = 0, - EXACT = 1, - RANGE_WITHIN = 2, -}; - -enum exception { - EXCP_CONTEXT = 1, - NO_EXCP = 2, -}; - -enum exception_stack_ordering { - ESTACK_DF = 0, - ESTACK_NMI = 1, - ESTACK_DB = 2, - ESTACK_MCE = 3, - ESTACK_VC = 4, - ESTACK_VC2 = 5, - N_EXCEPTION_STACKS = 6, -}; - -enum execmem_range_flags { - EXECMEM_KASAN_SHADOW = 1, - EXECMEM_ROX_CACHE = 2, -}; - -enum execmem_type { - EXECMEM_DEFAULT = 0, - EXECMEM_MODULE_TEXT = 0, - EXECMEM_KPROBES = 1, - EXECMEM_FTRACE = 2, - EXECMEM_BPF = 3, - EXECMEM_MODULE_DATA = 4, - EXECMEM_TYPE_MAX = 5, -}; - -enum exit_fastpath_completion { - EXIT_FASTPATH_NONE = 0, - EXIT_FASTPATH_REENTER_GUEST = 1, - EXIT_FASTPATH_EXIT_HANDLED = 2, - EXIT_FASTPATH_EXIT_USERSPACE = 3, -}; - -enum ext4_journal_trigger_type { - EXT4_JTR_ORPHAN_FILE = 0, - EXT4_JTR_NONE = 1, -}; - -enum ext4_li_mode { - EXT4_LI_MODE_PREFETCH_BBITMAP = 0, - EXT4_LI_MODE_ITABLE = 1, -}; - -enum extra_reg_type { - EXTRA_REG_NONE = -1, - EXTRA_REG_RSP_0 = 0, - EXTRA_REG_RSP_1 = 1, - EXTRA_REG_LBR = 2, - EXTRA_REG_LDLAT = 3, - EXTRA_REG_FE = 4, - EXTRA_REG_SNOOP_0 = 5, - EXTRA_REG_SNOOP_1 = 6, - EXTRA_REG_MAX = 7, -}; - -enum fail_dup_mod_reason { - FAIL_DUP_MOD_BECOMING = 0, - FAIL_DUP_MOD_LOAD = 1, -}; - -enum fanotify_event_type { - FANOTIFY_EVENT_TYPE_FID = 0, - FANOTIFY_EVENT_TYPE_FID_NAME = 1, - FANOTIFY_EVENT_TYPE_PATH = 2, - FANOTIFY_EVENT_TYPE_PATH_PERM = 3, - FANOTIFY_EVENT_TYPE_OVERFLOW = 4, - FANOTIFY_EVENT_TYPE_FS_ERROR = 5, - FANOTIFY_EVENT_TYPE_MNT = 6, - __FANOTIFY_EVENT_TYPE_NUM = 7, -}; - -enum fault_flag { - FAULT_FLAG_WRITE = 1, - FAULT_FLAG_MKWRITE = 2, - FAULT_FLAG_ALLOW_RETRY = 4, - FAULT_FLAG_RETRY_NOWAIT = 8, - FAULT_FLAG_KILLABLE = 16, - FAULT_FLAG_TRIED = 32, - FAULT_FLAG_USER = 64, - FAULT_FLAG_REMOTE = 128, - FAULT_FLAG_INSTRUCTION = 256, - FAULT_FLAG_INTERRUPTIBLE = 512, - FAULT_FLAG_UNSHARE = 1024, - FAULT_FLAG_ORIG_PTE_VALID = 2048, - FAULT_FLAG_VMA_LOCK = 4096, -}; - -enum faulttype { - DMA_REMAP = 0, - INTR_REMAP = 1, - UNKNOWN = 2, -}; - -enum fbq_type { - regular = 0, - remote = 1, - all = 2, -}; - -enum fetch_op { - FETCH_OP_NOP = 0, - FETCH_OP_REG = 1, - FETCH_OP_STACK = 2, - FETCH_OP_STACKP = 3, - FETCH_OP_RETVAL = 4, - FETCH_OP_IMM = 5, - FETCH_OP_COMM = 6, - FETCH_OP_ARG = 7, - FETCH_OP_FOFFS = 8, - FETCH_OP_DATA = 9, - FETCH_OP_EDATA = 10, - FETCH_OP_DEREF = 11, - FETCH_OP_UDEREF = 12, - FETCH_OP_ST_RAW = 13, - FETCH_OP_ST_MEM = 14, - FETCH_OP_ST_UMEM = 15, - FETCH_OP_ST_STRING = 16, - FETCH_OP_ST_USTRING = 17, - FETCH_OP_ST_SYMSTR = 18, - FETCH_OP_ST_EDATA = 19, - FETCH_OP_MOD_BF = 20, - FETCH_OP_LP_ARRAY = 21, - FETCH_OP_TP_ARG = 22, - FETCH_OP_END = 23, - FETCH_NOP_SYMBOL = 24, -}; - -enum fib6_walk_state { - FWS_S = 0, - FWS_L = 1, - FWS_R = 2, - FWS_C = 3, - FWS_U = 4, -}; - -enum fib_event_type { - FIB_EVENT_ENTRY_REPLACE = 0, - FIB_EVENT_ENTRY_APPEND = 1, - FIB_EVENT_ENTRY_ADD = 2, - FIB_EVENT_ENTRY_DEL = 3, - FIB_EVENT_RULE_ADD = 4, - FIB_EVENT_RULE_DEL = 5, - FIB_EVENT_NH_ADD = 6, - FIB_EVENT_NH_DEL = 7, - FIB_EVENT_VIF_ADD = 8, - FIB_EVENT_VIF_DEL = 9, -}; - -enum fid_type { - FILEID_ROOT = 0, - FILEID_INO32_GEN = 1, - FILEID_INO32_GEN_PARENT = 2, - FILEID_BTRFS_WITHOUT_PARENT = 77, - FILEID_BTRFS_WITH_PARENT = 78, - FILEID_BTRFS_WITH_PARENT_ROOT = 79, - FILEID_UDF_WITHOUT_PARENT = 81, - FILEID_UDF_WITH_PARENT = 82, - FILEID_NILFS_WITHOUT_PARENT = 97, - FILEID_NILFS_WITH_PARENT = 98, - FILEID_FAT_WITHOUT_PARENT = 113, - FILEID_FAT_WITH_PARENT = 114, - FILEID_INO64_GEN = 129, - FILEID_INO64_GEN_PARENT = 130, - FILEID_LUSTRE = 151, - FILEID_BCACHEFS_WITHOUT_PARENT = 177, - FILEID_BCACHEFS_WITH_PARENT = 178, - FILEID_KERNFS = 254, - FILEID_INVALID = 255, -}; - -enum field_op_id { - FIELD_OP_NONE = 0, - FIELD_OP_PLUS = 1, - FIELD_OP_MINUS = 2, - FIELD_OP_UNARY_MINUS = 3, - FIELD_OP_DIV = 4, - FIELD_OP_MULT = 5, -}; - -enum file_time_flags { - S_ATIME = 1, - S_MTIME = 2, - S_CTIME = 4, - S_VERSION = 8, -}; - -enum filter_op_ids { - OP_GLOB = 0, - OP_NE = 1, - OP_EQ = 2, - OP_LE = 3, - OP_LT = 4, - OP_GE = 5, - OP_GT = 6, - OP_BAND = 7, - OP_MAX = 8, -}; - -enum filter_pred_fn { - FILTER_PRED_FN_NOP = 0, - FILTER_PRED_FN_64 = 1, - FILTER_PRED_FN_64_CPUMASK = 2, - FILTER_PRED_FN_S64 = 3, - FILTER_PRED_FN_U64 = 4, - FILTER_PRED_FN_32 = 5, - FILTER_PRED_FN_32_CPUMASK = 6, - FILTER_PRED_FN_S32 = 7, - FILTER_PRED_FN_U32 = 8, - FILTER_PRED_FN_16 = 9, - FILTER_PRED_FN_16_CPUMASK = 10, - FILTER_PRED_FN_S16 = 11, - FILTER_PRED_FN_U16 = 12, - FILTER_PRED_FN_8 = 13, - FILTER_PRED_FN_8_CPUMASK = 14, - FILTER_PRED_FN_S8 = 15, - FILTER_PRED_FN_U8 = 16, - FILTER_PRED_FN_COMM = 17, - FILTER_PRED_FN_STRING = 18, - FILTER_PRED_FN_STRLOC = 19, - FILTER_PRED_FN_STRRELLOC = 20, - FILTER_PRED_FN_PCHAR_USER = 21, - FILTER_PRED_FN_PCHAR = 22, - FILTER_PRED_FN_CPU = 23, - FILTER_PRED_FN_CPU_CPUMASK = 24, - FILTER_PRED_FN_CPUMASK = 25, - FILTER_PRED_FN_CPUMASK_CPU = 26, - FILTER_PRED_FN_FUNCTION = 27, - FILTER_PRED_FN_ = 28, - FILTER_PRED_TEST_VISITED = 29, -}; - -enum fit_type { - NOTHING_FIT = 0, - FL_FIT_TYPE = 1, - LE_FIT_TYPE = 2, - RE_FIT_TYPE = 3, - NE_FIT_TYPE = 4, -}; - -enum fixed_addresses { - VSYSCALL_PAGE = 511, - FIX_DBGP_BASE = 512, - FIX_EARLYCON_MEM_BASE = 513, - FIX_APIC_BASE = 514, - FIX_IO_APIC_BASE_0 = 515, - FIX_IO_APIC_BASE_END = 642, - FIX_PARAVIRT_BOOTMAP = 643, - FIX_APEI_GHES_IRQ = 644, - FIX_APEI_GHES_NMI = 645, - __end_of_permanent_fixed_addresses = 646, - FIX_BTMAP_END = 1024, - FIX_BTMAP_BEGIN = 1535, - FIX_TBOOT_BASE = 1536, - __end_of_fixed_addresses = 1537, -}; - -enum flag_bits { - Faulty = 0, - In_sync = 1, - Bitmap_sync = 2, - WriteMostly = 3, - AutoDetected = 4, - Blocked = 5, - WriteErrorSeen = 6, - FaultRecorded = 7, - BlockedBadBlocks = 8, - WantReplacement = 9, - Replacement = 10, - Candidate = 11, - Journal = 12, - ClusterRemove = 13, - ExternalBbl = 14, - FailFast = 15, - LastDev = 16, - CollisionCheck = 17, - Nonrot = 18, -}; - -enum flow_action_hw_stats { - FLOW_ACTION_HW_STATS_IMMEDIATE = 1, - FLOW_ACTION_HW_STATS_DELAYED = 2, - FLOW_ACTION_HW_STATS_ANY = 3, - FLOW_ACTION_HW_STATS_DISABLED = 4, - FLOW_ACTION_HW_STATS_DONT_CARE = 7, -}; - -enum flow_action_hw_stats_bit { - FLOW_ACTION_HW_STATS_IMMEDIATE_BIT = 0, - FLOW_ACTION_HW_STATS_DELAYED_BIT = 1, - FLOW_ACTION_HW_STATS_DISABLED_BIT = 2, - FLOW_ACTION_HW_STATS_NUM_BITS = 3, -}; - -enum flow_action_id { - FLOW_ACTION_ACCEPT = 0, - FLOW_ACTION_DROP = 1, - FLOW_ACTION_TRAP = 2, - FLOW_ACTION_GOTO = 3, - FLOW_ACTION_REDIRECT = 4, - FLOW_ACTION_MIRRED = 5, - FLOW_ACTION_REDIRECT_INGRESS = 6, - FLOW_ACTION_MIRRED_INGRESS = 7, - FLOW_ACTION_VLAN_PUSH = 8, - FLOW_ACTION_VLAN_POP = 9, - FLOW_ACTION_VLAN_MANGLE = 10, - FLOW_ACTION_TUNNEL_ENCAP = 11, - FLOW_ACTION_TUNNEL_DECAP = 12, - FLOW_ACTION_MANGLE = 13, - FLOW_ACTION_ADD = 14, - FLOW_ACTION_CSUM = 15, - FLOW_ACTION_MARK = 16, - FLOW_ACTION_PTYPE = 17, - FLOW_ACTION_PRIORITY = 18, - FLOW_ACTION_RX_QUEUE_MAPPING = 19, - FLOW_ACTION_WAKE = 20, - FLOW_ACTION_QUEUE = 21, - FLOW_ACTION_SAMPLE = 22, - FLOW_ACTION_POLICE = 23, - FLOW_ACTION_CT = 24, - FLOW_ACTION_CT_METADATA = 25, - FLOW_ACTION_MPLS_PUSH = 26, - FLOW_ACTION_MPLS_POP = 27, - FLOW_ACTION_MPLS_MANGLE = 28, - FLOW_ACTION_GATE = 29, - FLOW_ACTION_PPPOE_PUSH = 30, - FLOW_ACTION_JUMP = 31, - FLOW_ACTION_PIPE = 32, - FLOW_ACTION_VLAN_PUSH_ETH = 33, - FLOW_ACTION_VLAN_POP_ETH = 34, - FLOW_ACTION_CONTINUE = 35, - NUM_FLOW_ACTIONS = 36, -}; - -enum flow_action_mangle_base { - FLOW_ACT_MANGLE_UNSPEC = 0, - FLOW_ACT_MANGLE_HDR_TYPE_ETH = 1, - FLOW_ACT_MANGLE_HDR_TYPE_IP4 = 2, - FLOW_ACT_MANGLE_HDR_TYPE_IP6 = 3, - FLOW_ACT_MANGLE_HDR_TYPE_TCP = 4, - FLOW_ACT_MANGLE_HDR_TYPE_UDP = 5, -}; - -enum flow_block_binder_type { - FLOW_BLOCK_BINDER_TYPE_UNSPEC = 0, - FLOW_BLOCK_BINDER_TYPE_CLSACT_INGRESS = 1, - FLOW_BLOCK_BINDER_TYPE_CLSACT_EGRESS = 2, - FLOW_BLOCK_BINDER_TYPE_RED_EARLY_DROP = 3, - FLOW_BLOCK_BINDER_TYPE_RED_MARK = 4, -}; - -enum flow_block_command { - FLOW_BLOCK_BIND = 0, - FLOW_BLOCK_UNBIND = 1, -}; - -enum flow_cls_command { - FLOW_CLS_REPLACE = 0, - FLOW_CLS_DESTROY = 1, - FLOW_CLS_STATS = 2, - FLOW_CLS_TMPLT_CREATE = 3, - FLOW_CLS_TMPLT_DESTROY = 4, -}; - -enum flow_dissect_ret { - FLOW_DISSECT_RET_OUT_GOOD = 0, - FLOW_DISSECT_RET_OUT_BAD = 1, - FLOW_DISSECT_RET_PROTO_AGAIN = 2, - FLOW_DISSECT_RET_IPPROTO_AGAIN = 3, - FLOW_DISSECT_RET_CONTINUE = 4, -}; - -enum flow_dissector_ctrl_flags { - FLOW_DIS_IS_FRAGMENT = 1, - FLOW_DIS_FIRST_FRAG = 2, - FLOW_DIS_F_TUNNEL_CSUM = 4, - FLOW_DIS_F_TUNNEL_DONT_FRAGMENT = 8, - FLOW_DIS_F_TUNNEL_OAM = 16, - FLOW_DIS_F_TUNNEL_CRIT_OPT = 32, - FLOW_DIS_ENCAPSULATION = 64, -}; - -enum flow_dissector_key_id { - FLOW_DISSECTOR_KEY_CONTROL = 0, - FLOW_DISSECTOR_KEY_BASIC = 1, - FLOW_DISSECTOR_KEY_IPV4_ADDRS = 2, - FLOW_DISSECTOR_KEY_IPV6_ADDRS = 3, - FLOW_DISSECTOR_KEY_PORTS = 4, - FLOW_DISSECTOR_KEY_PORTS_RANGE = 5, - FLOW_DISSECTOR_KEY_ICMP = 6, - FLOW_DISSECTOR_KEY_ETH_ADDRS = 7, - FLOW_DISSECTOR_KEY_TIPC = 8, - FLOW_DISSECTOR_KEY_ARP = 9, - FLOW_DISSECTOR_KEY_VLAN = 10, - FLOW_DISSECTOR_KEY_FLOW_LABEL = 11, - FLOW_DISSECTOR_KEY_GRE_KEYID = 12, - FLOW_DISSECTOR_KEY_MPLS_ENTROPY = 13, - FLOW_DISSECTOR_KEY_ENC_KEYID = 14, - FLOW_DISSECTOR_KEY_ENC_IPV4_ADDRS = 15, - FLOW_DISSECTOR_KEY_ENC_IPV6_ADDRS = 16, - FLOW_DISSECTOR_KEY_ENC_CONTROL = 17, - FLOW_DISSECTOR_KEY_ENC_PORTS = 18, - FLOW_DISSECTOR_KEY_MPLS = 19, - FLOW_DISSECTOR_KEY_TCP = 20, - FLOW_DISSECTOR_KEY_IP = 21, - FLOW_DISSECTOR_KEY_CVLAN = 22, - FLOW_DISSECTOR_KEY_ENC_IP = 23, - FLOW_DISSECTOR_KEY_ENC_OPTS = 24, - FLOW_DISSECTOR_KEY_META = 25, - FLOW_DISSECTOR_KEY_CT = 26, - FLOW_DISSECTOR_KEY_HASH = 27, - FLOW_DISSECTOR_KEY_NUM_OF_VLANS = 28, - FLOW_DISSECTOR_KEY_PPPOE = 29, - FLOW_DISSECTOR_KEY_L2TPV3 = 30, - FLOW_DISSECTOR_KEY_CFM = 31, - FLOW_DISSECTOR_KEY_IPSEC = 32, - FLOW_DISSECTOR_KEY_MAX = 33, -}; - -enum flowlabel_reflect { - FLOWLABEL_REFLECT_ESTABLISHED = 1, - FLOWLABEL_REFLECT_TCP_RESET = 2, - FLOWLABEL_REFLECT_ICMPV6_ECHO_REPLIES = 4, -}; - -enum folio_references { - FOLIOREF_RECLAIM = 0, - FOLIOREF_RECLAIM_CLEAN = 1, - FOLIOREF_KEEP = 2, - FOLIOREF_ACTIVATE = 3, -}; - -enum folio_walk_level { - FW_LEVEL_PTE = 0, - FW_LEVEL_PMD = 1, - FW_LEVEL_PUD = 2, -}; - -enum format_state { - FORMAT_STATE_NONE = 0, - FORMAT_STATE_NUM = 1, - FORMAT_STATE_WIDTH = 2, - FORMAT_STATE_PRECISION = 3, - FORMAT_STATE_CHAR = 4, - FORMAT_STATE_STR = 5, - FORMAT_STATE_PTR = 6, - FORMAT_STATE_PERCENT_CHAR = 7, - FORMAT_STATE_INVALID = 8, -}; - -enum fortify_func { - FORTIFY_FUNC_strncpy = 0, - FORTIFY_FUNC_strnlen = 1, - FORTIFY_FUNC_strlen = 2, - FORTIFY_FUNC_strscpy = 3, - FORTIFY_FUNC_strlcat = 4, - FORTIFY_FUNC_strcat = 5, - FORTIFY_FUNC_strncat = 6, - FORTIFY_FUNC_memset = 7, - FORTIFY_FUNC_memcpy = 8, - FORTIFY_FUNC_memmove = 9, - FORTIFY_FUNC_memscan = 10, - FORTIFY_FUNC_memcmp = 11, - FORTIFY_FUNC_memchr = 12, - FORTIFY_FUNC_memchr_inv = 13, - FORTIFY_FUNC_kmemdup = 14, - FORTIFY_FUNC_strcpy = 15, - FORTIFY_FUNC_UNKNOWN = 16, -}; - -enum fpdt_record_type { - RECORD_S3_RESUME = 0, - RECORD_S3_SUSPEND = 1, - RECORD_BOOT = 2, -}; - -enum fpdt_subtable_type { - SUBTABLE_FBPT = 0, - SUBTABLE_S3PT = 1, -}; - -enum freeze_holder { - FREEZE_HOLDER_KERNEL = 1, - FREEZE_HOLDER_USERSPACE = 2, - FREEZE_MAY_NEST = 4, - FREEZE_EXCL = 8, -}; - -enum freezer_state_flags { - CGROUP_FREEZER_ONLINE = 1, - CGROUP_FREEZING_SELF = 2, - CGROUP_FREEZING_PARENT = 4, - CGROUP_FROZEN = 8, - CGROUP_FREEZING = 6, -}; - -enum freq_qos_req_type { - FREQ_QOS_MIN = 1, - FREQ_QOS_MAX = 2, -}; - -enum fs_context_phase { - FS_CONTEXT_CREATE_PARAMS = 0, - FS_CONTEXT_CREATING = 1, - FS_CONTEXT_AWAITING_MOUNT = 2, - FS_CONTEXT_AWAITING_RECONF = 3, - FS_CONTEXT_RECONF_PARAMS = 4, - FS_CONTEXT_RECONFIGURING = 5, - FS_CONTEXT_FAILED = 6, -}; - -enum fs_context_purpose { - FS_CONTEXT_FOR_MOUNT = 0, - FS_CONTEXT_FOR_SUBMOUNT = 1, - FS_CONTEXT_FOR_RECONFIGURE = 2, -}; - -enum fs_value_type { - fs_value_is_undefined = 0, - fs_value_is_flag = 1, - fs_value_is_string = 2, - fs_value_is_blob = 3, - fs_value_is_filename = 4, - fs_value_is_file = 5, -}; - -enum fsconfig_command { - FSCONFIG_SET_FLAG = 0, - FSCONFIG_SET_STRING = 1, - FSCONFIG_SET_BINARY = 2, - FSCONFIG_SET_PATH = 3, - FSCONFIG_SET_PATH_EMPTY = 4, - FSCONFIG_SET_FD = 5, - FSCONFIG_CMD_CREATE = 6, - FSCONFIG_CMD_RECONFIGURE = 7, - FSCONFIG_CMD_CREATE_EXCL = 8, -}; - -enum fsl_mc_pool_type { - FSL_MC_POOL_DPMCP = 0, - FSL_MC_POOL_DPBP = 1, - FSL_MC_POOL_DPCON = 2, - FSL_MC_POOL_IRQ = 3, - FSL_MC_NUM_POOL_TYPES = 4, -}; - -enum fsnotify_data_type { - FSNOTIFY_EVENT_NONE = 0, - FSNOTIFY_EVENT_FILE_RANGE = 1, - FSNOTIFY_EVENT_PATH = 2, - FSNOTIFY_EVENT_INODE = 3, - FSNOTIFY_EVENT_DENTRY = 4, - FSNOTIFY_EVENT_MNT = 5, - FSNOTIFY_EVENT_ERROR = 6, -}; - -enum fsnotify_group_prio { - FSNOTIFY_PRIO_NORMAL = 0, - FSNOTIFY_PRIO_CONTENT = 1, - FSNOTIFY_PRIO_PRE_CONTENT = 2, - __FSNOTIFY_PRIO_NUM = 3, -}; - -enum fsnotify_iter_type { - FSNOTIFY_ITER_TYPE_INODE = 0, - FSNOTIFY_ITER_TYPE_VFSMOUNT = 1, - FSNOTIFY_ITER_TYPE_SB = 2, - FSNOTIFY_ITER_TYPE_PARENT = 3, - FSNOTIFY_ITER_TYPE_INODE2 = 4, - FSNOTIFY_ITER_TYPE_MNTNS = 5, - FSNOTIFY_ITER_TYPE_COUNT = 6, -}; - -enum fsnotify_obj_type { - FSNOTIFY_OBJ_TYPE_ANY = -1, - FSNOTIFY_OBJ_TYPE_INODE = 0, - FSNOTIFY_OBJ_TYPE_VFSMOUNT = 1, - FSNOTIFY_OBJ_TYPE_SB = 2, - FSNOTIFY_OBJ_TYPE_MNTNS = 3, - FSNOTIFY_OBJ_TYPE_COUNT = 4, - FSNOTIFY_OBJ_TYPE_DETACHED = 4, -}; - -enum ftrace_bug_type { - FTRACE_BUG_UNKNOWN = 0, - FTRACE_BUG_INIT = 1, - FTRACE_BUG_NOP = 2, - FTRACE_BUG_CALL = 3, - FTRACE_BUG_UPDATE = 4, -}; - -enum ftrace_dump_mode { - DUMP_NONE = 0, - DUMP_ALL = 1, - DUMP_ORIG = 2, - DUMP_PARAM = 3, -}; - -enum ftrace_ops_cmd { - FTRACE_OPS_CMD_ENABLE_SHARE_IPMODIFY_SELF = 0, - FTRACE_OPS_CMD_ENABLE_SHARE_IPMODIFY_PEER = 1, - FTRACE_OPS_CMD_DISABLE_SHARE_IPMODIFY_PEER = 2, -}; - -enum fullness_group { - ZS_INUSE_RATIO_0 = 0, - ZS_INUSE_RATIO_10 = 1, - ZS_INUSE_RATIO_99 = 10, - ZS_INUSE_RATIO_100 = 11, - NR_FULLNESS_GROUPS = 12, -}; - -enum fuse_dax_mode { - FUSE_DAX_INODE_DEFAULT = 0, - FUSE_DAX_ALWAYS = 1, - FUSE_DAX_NEVER = 2, - FUSE_DAX_INODE_USER = 3, -}; - -enum fuse_ext_type { - FUSE_MAX_NR_SECCTX = 31, - FUSE_EXT_GROUPS = 32, -}; - -enum fuse_notify_code { - FUSE_NOTIFY_POLL = 1, - FUSE_NOTIFY_INVAL_INODE = 2, - FUSE_NOTIFY_INVAL_ENTRY = 3, - FUSE_NOTIFY_STORE = 4, - FUSE_NOTIFY_RETRIEVE = 5, - FUSE_NOTIFY_DELETE = 6, - FUSE_NOTIFY_RESEND = 7, - FUSE_NOTIFY_INC_EPOCH = 8, - FUSE_NOTIFY_CODE_MAX = 9, -}; - -enum fuse_opcode { - FUSE_LOOKUP = 1, - FUSE_FORGET = 2, - FUSE_GETATTR = 3, - FUSE_SETATTR = 4, - FUSE_READLINK = 5, - FUSE_SYMLINK = 6, - FUSE_MKNOD = 8, - FUSE_MKDIR = 9, - FUSE_UNLINK = 10, - FUSE_RMDIR = 11, - FUSE_RENAME = 12, - FUSE_LINK = 13, - FUSE_OPEN = 14, - FUSE_READ = 15, - FUSE_WRITE = 16, - FUSE_STATFS = 17, - FUSE_RELEASE = 18, - FUSE_FSYNC = 20, - FUSE_SETXATTR = 21, - FUSE_GETXATTR = 22, - FUSE_LISTXATTR = 23, - FUSE_REMOVEXATTR = 24, - FUSE_FLUSH = 25, - FUSE_INIT = 26, - FUSE_OPENDIR = 27, - FUSE_READDIR = 28, - FUSE_RELEASEDIR = 29, - FUSE_FSYNCDIR = 30, - FUSE_GETLK = 31, - FUSE_SETLK = 32, - FUSE_SETLKW = 33, - FUSE_ACCESS = 34, - FUSE_CREATE = 35, - FUSE_INTERRUPT = 36, - FUSE_BMAP = 37, - FUSE_DESTROY = 38, - FUSE_IOCTL = 39, - FUSE_POLL = 40, - FUSE_NOTIFY_REPLY = 41, - FUSE_BATCH_FORGET = 42, - FUSE_FALLOCATE = 43, - FUSE_READDIRPLUS = 44, - FUSE_RENAME2 = 45, - FUSE_LSEEK = 46, - FUSE_COPY_FILE_RANGE = 47, - FUSE_SETUPMAPPING = 48, - FUSE_REMOVEMAPPING = 49, - FUSE_SYNCFS = 50, - FUSE_TMPFILE = 51, - FUSE_STATX = 52, - CUSE_INIT = 4096, - CUSE_INIT_BSWAP_RESERVED = 1048576, - FUSE_INIT_BSWAP_RESERVED = 436207616, -}; - -enum fuse_parse_result { - FOUND_ERR = -1, - FOUND_NONE = 0, - FOUND_SOME = 1, - FOUND_ALL = 2, -}; - -enum fuse_req_flag { - FR_ISREPLY = 0, - FR_FORCE = 1, - FR_BACKGROUND = 2, - FR_WAITING = 3, - FR_ABORTED = 4, - FR_INTERRUPTED = 5, - FR_LOCKED = 6, - FR_PENDING = 7, - FR_SENT = 8, - FR_FINISHED = 9, - FR_PRIVATE = 10, - FR_ASYNC = 11, - FR_URING = 12, -}; - -enum fuse_ring_req_state { - FRRS_INVALID = 0, - FRRS_COMMIT = 1, - FRRS_AVAILABLE = 2, - FRRS_FUSE_REQ = 3, - FRRS_USERSPACE = 4, - FRRS_TEARDOWN = 5, - FRRS_RELEASED = 6, -}; - -enum fuse_uring_cmd { - FUSE_IO_URING_CMD_INVALID = 0, - FUSE_IO_URING_CMD_REGISTER = 1, - FUSE_IO_URING_CMD_COMMIT_AND_FETCH = 2, -}; - -enum futex_access { - FUTEX_READ = 0, - FUTEX_WRITE = 1, -}; - -enum fw_opt { - FW_OPT_UEVENT = 1, - FW_OPT_NOWAIT = 2, - FW_OPT_USERHELPER = 4, - FW_OPT_NO_WARN = 8, - FW_OPT_NOCACHE = 16, - FW_OPT_NOFALLBACK_SYSFS = 32, - FW_OPT_FALLBACK_PLATFORM = 64, - FW_OPT_PARTIAL = 128, -}; - -enum fw_resource_type { - RSC_CARVEOUT = 0, - RSC_DEVMEM = 1, - RSC_TRACE = 2, - RSC_VDEV = 3, - RSC_LAST = 4, - RSC_VENDOR_START = 128, - RSC_VENDOR_END = 512, -}; - -enum fw_status { - FW_STATUS_UNKNOWN = 0, - FW_STATUS_LOADING = 1, - FW_STATUS_DONE = 2, - FW_STATUS_ABORTED = 3, -}; - -enum fw_upload_err { - FW_UPLOAD_ERR_NONE = 0, - FW_UPLOAD_ERR_HW_ERROR = 1, - FW_UPLOAD_ERR_TIMEOUT = 2, - FW_UPLOAD_ERR_CANCELED = 3, - FW_UPLOAD_ERR_BUSY = 4, - FW_UPLOAD_ERR_INVALID_SIZE = 5, - FW_UPLOAD_ERR_RW_ERROR = 6, - FW_UPLOAD_ERR_WEAROUT = 7, - FW_UPLOAD_ERR_FW_INVALID = 8, - FW_UPLOAD_ERR_MAX = 9, -}; - -enum fw_upload_prog { - FW_UPLOAD_PROG_IDLE = 0, - FW_UPLOAD_PROG_RECEIVING = 1, - FW_UPLOAD_PROG_PREPARING = 2, - FW_UPLOAD_PROG_TRANSFERRING = 3, - FW_UPLOAD_PROG_PROGRAMMING = 4, - FW_UPLOAD_PROG_MAX = 5, -}; - -enum gds_mitigations { - GDS_MITIGATION_OFF = 0, - GDS_MITIGATION_AUTO = 1, - GDS_MITIGATION_UCODE_NEEDED = 2, - GDS_MITIGATION_FORCE = 3, - GDS_MITIGATION_FULL = 4, - GDS_MITIGATION_FULL_LOCKED = 5, - GDS_MITIGATION_HYPERVISOR = 6, -}; - -enum genl_validate_flags { - GENL_DONT_VALIDATE_STRICT = 1, - GENL_DONT_VALIDATE_DUMP = 2, - GENL_DONT_VALIDATE_DUMP_STRICT = 4, -}; - -enum genpd_notication { - GENPD_NOTIFY_PRE_OFF = 0, - GENPD_NOTIFY_OFF = 1, - GENPD_NOTIFY_PRE_ON = 2, - GENPD_NOTIFY_ON = 3, -}; - -enum genpd_sync_state { - GENPD_SYNC_STATE_OFF = 0, - GENPD_SYNC_STATE_SIMPLE = 1, - GENPD_SYNC_STATE_ONECELL = 2, -}; - -enum gpd_status { - GENPD_STATE_ON = 0, - GENPD_STATE_OFF = 1, -}; - -enum gpio_lookup_flags { - GPIO_ACTIVE_HIGH = 0, - GPIO_ACTIVE_LOW = 1, - GPIO_OPEN_DRAIN = 2, - GPIO_OPEN_SOURCE = 4, - GPIO_PERSISTENT = 0, - GPIO_TRANSITORY = 8, - GPIO_PULL_UP = 16, - GPIO_PULL_DOWN = 32, - GPIO_PULL_DISABLE = 64, - GPIO_LOOKUP_FLAGS_DEFAULT = 0, -}; - -enum gpio_select { - NO_GPIO = 0, - GPIO_1 = 1, - GPIO_2 = 2, -}; - -enum gpio_v2_line_attr_id { - GPIO_V2_LINE_ATTR_ID_FLAGS = 1, - GPIO_V2_LINE_ATTR_ID_OUTPUT_VALUES = 2, - GPIO_V2_LINE_ATTR_ID_DEBOUNCE = 3, -}; - -enum gpio_v2_line_changed_type { - GPIO_V2_LINE_CHANGED_REQUESTED = 1, - GPIO_V2_LINE_CHANGED_RELEASED = 2, - GPIO_V2_LINE_CHANGED_CONFIG = 3, -}; - -enum gpio_v2_line_event_id { - GPIO_V2_LINE_EVENT_RISING_EDGE = 1, - GPIO_V2_LINE_EVENT_FALLING_EDGE = 2, -}; - -enum gpio_v2_line_flag { - GPIO_V2_LINE_FLAG_USED = 1, - GPIO_V2_LINE_FLAG_ACTIVE_LOW = 2, - GPIO_V2_LINE_FLAG_INPUT = 4, - GPIO_V2_LINE_FLAG_OUTPUT = 8, - GPIO_V2_LINE_FLAG_EDGE_RISING = 16, - GPIO_V2_LINE_FLAG_EDGE_FALLING = 32, - GPIO_V2_LINE_FLAG_OPEN_DRAIN = 64, - GPIO_V2_LINE_FLAG_OPEN_SOURCE = 128, - GPIO_V2_LINE_FLAG_BIAS_PULL_UP = 256, - GPIO_V2_LINE_FLAG_BIAS_PULL_DOWN = 512, - GPIO_V2_LINE_FLAG_BIAS_DISABLED = 1024, - GPIO_V2_LINE_FLAG_EVENT_CLOCK_REALTIME = 2048, - GPIO_V2_LINE_FLAG_EVENT_CLOCK_HTE = 4096, -}; - -enum gpiod_flags { - GPIOD_ASIS = 0, - GPIOD_IN = 1, - GPIOD_OUT_LOW = 3, - GPIOD_OUT_HIGH = 7, - GPIOD_OUT_LOW_OPEN_DRAIN = 11, - GPIOD_OUT_HIGH_OPEN_DRAIN = 15, -}; - -enum graph_filter_type { - GRAPH_FILTER_NOTRACE = 0, - GRAPH_FILTER_FUNCTION = 1, -}; - -enum gre_conntrack { - GRE_CT_UNREPLIED = 0, - GRE_CT_REPLIED = 1, - GRE_CT_MAX = 2, -}; - -enum gro_result { - GRO_MERGED = 0, - GRO_MERGED_FREE = 1, - GRO_HELD = 2, - GRO_NORMAL = 3, - GRO_CONSUMED = 4, -}; - -typedef enum gro_result gro_result_t; - -enum group_type { - group_has_spare = 0, - group_fully_busy = 1, - group_misfit_task = 2, - group_smt_balance = 3, - group_asym_packing = 4, - group_imbalanced = 5, - group_overloaded = 6, -}; - -enum handle_to_path_flags { - HANDLE_CHECK_PERMS = 1, - HANDLE_CHECK_SUBTREE = 2, -}; - -enum handler_id { - HANDLER_ONMATCH = 1, - HANDLER_ONMAX = 2, - HANDLER_ONCHANGE = 3, -}; - -enum handshake_auth { - HANDSHAKE_AUTH_UNSPEC = 0, - HANDSHAKE_AUTH_UNAUTH = 1, - HANDSHAKE_AUTH_PSK = 2, - HANDSHAKE_AUTH_X509 = 3, -}; - -enum handshake_handler_class { - HANDSHAKE_HANDLER_CLASS_NONE = 0, - HANDSHAKE_HANDLER_CLASS_TLSHD = 1, - HANDSHAKE_HANDLER_CLASS_MAX = 2, -}; - -enum handshake_msg_type { - HANDSHAKE_MSG_TYPE_UNSPEC = 0, - HANDSHAKE_MSG_TYPE_CLIENTHELLO = 1, - HANDSHAKE_MSG_TYPE_SERVERHELLO = 2, -}; - -enum hash_algo { - HASH_ALGO_MD4 = 0, - HASH_ALGO_MD5 = 1, - HASH_ALGO_SHA1 = 2, - HASH_ALGO_RIPE_MD_160 = 3, - HASH_ALGO_SHA256 = 4, - HASH_ALGO_SHA384 = 5, - HASH_ALGO_SHA512 = 6, - HASH_ALGO_SHA224 = 7, - HASH_ALGO_RIPE_MD_128 = 8, - HASH_ALGO_RIPE_MD_256 = 9, - HASH_ALGO_RIPE_MD_320 = 10, - HASH_ALGO_WP_256 = 11, - HASH_ALGO_WP_384 = 12, - HASH_ALGO_WP_512 = 13, - HASH_ALGO_TGR_128 = 14, - HASH_ALGO_TGR_160 = 15, - HASH_ALGO_TGR_192 = 16, - HASH_ALGO_SM3_256 = 17, - HASH_ALGO_STREEBOG_256 = 18, - HASH_ALGO_STREEBOG_512 = 19, - HASH_ALGO_SHA3_256 = 20, - HASH_ALGO_SHA3_384 = 21, - HASH_ALGO_SHA3_512 = 22, - HASH_ALGO__LAST = 23, -}; - -enum hash_pointers_policy { - HASH_PTR_AUTO = 0, - HASH_PTR_ALWAYS = 1, - HASH_PTR_NEVER = 2, -}; - -enum hctx_type { - HCTX_TYPE_DEFAULT = 0, - HCTX_TYPE_READ = 1, - HCTX_TYPE_POLL = 2, - HCTX_MAX_TYPES = 3, -}; - -enum hdmi_3d_structure { - HDMI_3D_STRUCTURE_INVALID = -1, - HDMI_3D_STRUCTURE_FRAME_PACKING = 0, - HDMI_3D_STRUCTURE_FIELD_ALTERNATIVE = 1, - HDMI_3D_STRUCTURE_LINE_ALTERNATIVE = 2, - HDMI_3D_STRUCTURE_SIDE_BY_SIDE_FULL = 3, - HDMI_3D_STRUCTURE_L_DEPTH = 4, - HDMI_3D_STRUCTURE_L_DEPTH_GFX_GFX_DEPTH = 5, - HDMI_3D_STRUCTURE_TOP_AND_BOTTOM = 6, - HDMI_3D_STRUCTURE_SIDE_BY_SIDE_HALF = 8, -}; - -enum hdmi_active_aspect { - HDMI_ACTIVE_ASPECT_16_9_TOP = 2, - HDMI_ACTIVE_ASPECT_14_9_TOP = 3, - HDMI_ACTIVE_ASPECT_16_9_CENTER = 4, - HDMI_ACTIVE_ASPECT_PICTURE = 8, - HDMI_ACTIVE_ASPECT_4_3 = 9, - HDMI_ACTIVE_ASPECT_16_9 = 10, - HDMI_ACTIVE_ASPECT_14_9 = 11, - HDMI_ACTIVE_ASPECT_4_3_SP_14_9 = 13, - HDMI_ACTIVE_ASPECT_16_9_SP_14_9 = 14, - HDMI_ACTIVE_ASPECT_16_9_SP_4_3 = 15, -}; - -enum hdmi_audio_coding_type { - HDMI_AUDIO_CODING_TYPE_STREAM = 0, - HDMI_AUDIO_CODING_TYPE_PCM = 1, - HDMI_AUDIO_CODING_TYPE_AC3 = 2, - HDMI_AUDIO_CODING_TYPE_MPEG1 = 3, - HDMI_AUDIO_CODING_TYPE_MP3 = 4, - HDMI_AUDIO_CODING_TYPE_MPEG2 = 5, - HDMI_AUDIO_CODING_TYPE_AAC_LC = 6, - HDMI_AUDIO_CODING_TYPE_DTS = 7, - HDMI_AUDIO_CODING_TYPE_ATRAC = 8, - HDMI_AUDIO_CODING_TYPE_DSD = 9, - HDMI_AUDIO_CODING_TYPE_EAC3 = 10, - HDMI_AUDIO_CODING_TYPE_DTS_HD = 11, - HDMI_AUDIO_CODING_TYPE_MLP = 12, - HDMI_AUDIO_CODING_TYPE_DST = 13, - HDMI_AUDIO_CODING_TYPE_WMA_PRO = 14, - HDMI_AUDIO_CODING_TYPE_CXT = 15, -}; - -enum hdmi_audio_coding_type_ext { - HDMI_AUDIO_CODING_TYPE_EXT_CT = 0, - HDMI_AUDIO_CODING_TYPE_EXT_HE_AAC = 1, - HDMI_AUDIO_CODING_TYPE_EXT_HE_AAC_V2 = 2, - HDMI_AUDIO_CODING_TYPE_EXT_MPEG_SURROUND = 3, - HDMI_AUDIO_CODING_TYPE_EXT_MPEG4_HE_AAC = 4, - HDMI_AUDIO_CODING_TYPE_EXT_MPEG4_HE_AAC_V2 = 5, - HDMI_AUDIO_CODING_TYPE_EXT_MPEG4_AAC_LC = 6, - HDMI_AUDIO_CODING_TYPE_EXT_DRA = 7, - HDMI_AUDIO_CODING_TYPE_EXT_MPEG4_HE_AAC_SURROUND = 8, - HDMI_AUDIO_CODING_TYPE_EXT_MPEG4_AAC_LC_SURROUND = 10, -}; - -enum hdmi_audio_sample_frequency { - HDMI_AUDIO_SAMPLE_FREQUENCY_STREAM = 0, - HDMI_AUDIO_SAMPLE_FREQUENCY_32000 = 1, - HDMI_AUDIO_SAMPLE_FREQUENCY_44100 = 2, - HDMI_AUDIO_SAMPLE_FREQUENCY_48000 = 3, - HDMI_AUDIO_SAMPLE_FREQUENCY_88200 = 4, - HDMI_AUDIO_SAMPLE_FREQUENCY_96000 = 5, - HDMI_AUDIO_SAMPLE_FREQUENCY_176400 = 6, - HDMI_AUDIO_SAMPLE_FREQUENCY_192000 = 7, -}; - -enum hdmi_audio_sample_size { - HDMI_AUDIO_SAMPLE_SIZE_STREAM = 0, - HDMI_AUDIO_SAMPLE_SIZE_16 = 1, - HDMI_AUDIO_SAMPLE_SIZE_20 = 2, - HDMI_AUDIO_SAMPLE_SIZE_24 = 3, -}; - -enum hdmi_colorimetry { - HDMI_COLORIMETRY_NONE = 0, - HDMI_COLORIMETRY_ITU_601 = 1, - HDMI_COLORIMETRY_ITU_709 = 2, - HDMI_COLORIMETRY_EXTENDED = 3, -}; - -enum hdmi_colorspace { - HDMI_COLORSPACE_RGB = 0, - HDMI_COLORSPACE_YUV422 = 1, - HDMI_COLORSPACE_YUV444 = 2, - HDMI_COLORSPACE_YUV420 = 3, - HDMI_COLORSPACE_RESERVED4 = 4, - HDMI_COLORSPACE_RESERVED5 = 5, - HDMI_COLORSPACE_RESERVED6 = 6, - HDMI_COLORSPACE_IDO_DEFINED = 7, -}; - -enum hdmi_content_type { - HDMI_CONTENT_TYPE_GRAPHICS = 0, - HDMI_CONTENT_TYPE_PHOTO = 1, - HDMI_CONTENT_TYPE_CINEMA = 2, - HDMI_CONTENT_TYPE_GAME = 3, -}; - -enum hdmi_eotf { - HDMI_EOTF_TRADITIONAL_GAMMA_SDR = 0, - HDMI_EOTF_TRADITIONAL_GAMMA_HDR = 1, - HDMI_EOTF_SMPTE_ST2084 = 2, - HDMI_EOTF_BT_2100_HLG = 3, -}; - -enum hdmi_extended_colorimetry { - HDMI_EXTENDED_COLORIMETRY_XV_YCC_601 = 0, - HDMI_EXTENDED_COLORIMETRY_XV_YCC_709 = 1, - HDMI_EXTENDED_COLORIMETRY_S_YCC_601 = 2, - HDMI_EXTENDED_COLORIMETRY_OPYCC_601 = 3, - HDMI_EXTENDED_COLORIMETRY_OPRGB = 4, - HDMI_EXTENDED_COLORIMETRY_BT2020_CONST_LUM = 5, - HDMI_EXTENDED_COLORIMETRY_BT2020 = 6, - HDMI_EXTENDED_COLORIMETRY_RESERVED = 7, -}; - -enum hdmi_infoframe_type { - HDMI_INFOFRAME_TYPE_VENDOR = 129, - HDMI_INFOFRAME_TYPE_AVI = 130, - HDMI_INFOFRAME_TYPE_SPD = 131, - HDMI_INFOFRAME_TYPE_AUDIO = 132, - HDMI_INFOFRAME_TYPE_DRM = 135, -}; - -enum hdmi_metadata_type { - HDMI_STATIC_METADATA_TYPE1 = 0, -}; - -enum hdmi_nups { - HDMI_NUPS_UNKNOWN = 0, - HDMI_NUPS_HORIZONTAL = 1, - HDMI_NUPS_VERTICAL = 2, - HDMI_NUPS_BOTH = 3, -}; - -enum hdmi_picture_aspect { - HDMI_PICTURE_ASPECT_NONE = 0, - HDMI_PICTURE_ASPECT_4_3 = 1, - HDMI_PICTURE_ASPECT_16_9 = 2, - HDMI_PICTURE_ASPECT_64_27 = 3, - HDMI_PICTURE_ASPECT_256_135 = 4, - HDMI_PICTURE_ASPECT_RESERVED = 5, -}; - -enum hdmi_quantization_range { - HDMI_QUANTIZATION_RANGE_DEFAULT = 0, - HDMI_QUANTIZATION_RANGE_LIMITED = 1, - HDMI_QUANTIZATION_RANGE_FULL = 2, - HDMI_QUANTIZATION_RANGE_RESERVED = 3, -}; - -enum hdmi_scan_mode { - HDMI_SCAN_MODE_NONE = 0, - HDMI_SCAN_MODE_OVERSCAN = 1, - HDMI_SCAN_MODE_UNDERSCAN = 2, - HDMI_SCAN_MODE_RESERVED = 3, -}; - -enum hdmi_spd_sdi { - HDMI_SPD_SDI_UNKNOWN = 0, - HDMI_SPD_SDI_DSTB = 1, - HDMI_SPD_SDI_DVDP = 2, - HDMI_SPD_SDI_DVHS = 3, - HDMI_SPD_SDI_HDDVR = 4, - HDMI_SPD_SDI_DVC = 5, - HDMI_SPD_SDI_DSC = 6, - HDMI_SPD_SDI_VCD = 7, - HDMI_SPD_SDI_GAME = 8, - HDMI_SPD_SDI_PC = 9, - HDMI_SPD_SDI_BD = 10, - HDMI_SPD_SDI_SACD = 11, - HDMI_SPD_SDI_HDDVD = 12, - HDMI_SPD_SDI_PMP = 13, -}; - -enum hdmi_ycc_quantization_range { - HDMI_YCC_QUANTIZATION_RANGE_LIMITED = 0, - HDMI_YCC_QUANTIZATION_RANGE_FULL = 1, -}; - -enum header_fields { - HDR_PCR = 0, - HDR_DIGEST = 1, - HDR_TEMPLATE_NAME = 2, - HDR_TEMPLATE_DATA = 3, - HDR__LAST = 4, -}; - -enum header_opt { - IPE_HEADER_POLICY_NAME = 0, - IPE_HEADER_POLICY_VERSION = 1, - __IPE_HEADER_MAX = 2, -}; - -enum hest_status { - HEST_ENABLED = 0, - HEST_DISABLED = 1, - HEST_NOT_FOUND = 2, -}; - -enum hid_battery_status { - HID_BATTERY_UNKNOWN = 0, - HID_BATTERY_QUERIED = 1, - HID_BATTERY_REPORTED = 2, -}; - -enum hid_class_request { - HID_REQ_GET_REPORT = 1, - HID_REQ_GET_IDLE = 2, - HID_REQ_GET_PROTOCOL = 3, - HID_REQ_SET_REPORT = 9, - HID_REQ_SET_IDLE = 10, - HID_REQ_SET_PROTOCOL = 11, -}; - -enum hid_report_type { - HID_INPUT_REPORT = 0, - HID_OUTPUT_REPORT = 1, - HID_FEATURE_REPORT = 2, - HID_REPORT_TYPES = 3, -}; - -enum hid_type { - HID_TYPE_OTHER = 0, - HID_TYPE_USBMOUSE = 1, - HID_TYPE_USBNONE = 2, -}; - -enum hist_field_flags { - HIST_FIELD_FL_HITCOUNT = 1, - HIST_FIELD_FL_KEY = 2, - HIST_FIELD_FL_STRING = 4, - HIST_FIELD_FL_HEX = 8, - HIST_FIELD_FL_SYM = 16, - HIST_FIELD_FL_SYM_OFFSET = 32, - HIST_FIELD_FL_EXECNAME = 64, - HIST_FIELD_FL_SYSCALL = 128, - HIST_FIELD_FL_STACKTRACE = 256, - HIST_FIELD_FL_LOG2 = 512, - HIST_FIELD_FL_TIMESTAMP = 1024, - HIST_FIELD_FL_TIMESTAMP_USECS = 2048, - HIST_FIELD_FL_VAR = 4096, - HIST_FIELD_FL_EXPR = 8192, - HIST_FIELD_FL_VAR_REF = 16384, - HIST_FIELD_FL_CPU = 32768, - HIST_FIELD_FL_ALIAS = 65536, - HIST_FIELD_FL_BUCKET = 131072, - HIST_FIELD_FL_CONST = 262144, - HIST_FIELD_FL_PERCENT = 524288, - HIST_FIELD_FL_GRAPH = 1048576, - HIST_FIELD_FL_COMM = 2097152, -}; - -enum hist_field_fn { - HIST_FIELD_FN_NOP = 0, - HIST_FIELD_FN_VAR_REF = 1, - HIST_FIELD_FN_COUNTER = 2, - HIST_FIELD_FN_CONST = 3, - HIST_FIELD_FN_LOG2 = 4, - HIST_FIELD_FN_BUCKET = 5, - HIST_FIELD_FN_TIMESTAMP = 6, - HIST_FIELD_FN_CPU = 7, - HIST_FIELD_FN_COMM = 8, - HIST_FIELD_FN_STRING = 9, - HIST_FIELD_FN_DYNSTRING = 10, - HIST_FIELD_FN_RELDYNSTRING = 11, - HIST_FIELD_FN_PSTRING = 12, - HIST_FIELD_FN_S64 = 13, - HIST_FIELD_FN_U64 = 14, - HIST_FIELD_FN_S32 = 15, - HIST_FIELD_FN_U32 = 16, - HIST_FIELD_FN_S16 = 17, - HIST_FIELD_FN_U16 = 18, - HIST_FIELD_FN_S8 = 19, - HIST_FIELD_FN_U8 = 20, - HIST_FIELD_FN_UMINUS = 21, - HIST_FIELD_FN_MINUS = 22, - HIST_FIELD_FN_PLUS = 23, - HIST_FIELD_FN_DIV = 24, - HIST_FIELD_FN_MULT = 25, - HIST_FIELD_FN_DIV_POWER2 = 26, - HIST_FIELD_FN_DIV_NOT_POWER2 = 27, - HIST_FIELD_FN_DIV_MULT_SHIFT = 28, - HIST_FIELD_FN_EXECNAME = 29, - HIST_FIELD_FN_STACK = 30, -}; - -enum hk_flags { - HK_FLAG_DOMAIN = 1, - HK_FLAG_MANAGED_IRQ = 2, - HK_FLAG_KERNEL_NOISE = 4, -}; - -enum hk_type { - HK_TYPE_DOMAIN = 0, - HK_TYPE_MANAGED_IRQ = 1, - HK_TYPE_KERNEL_NOISE = 2, - HK_TYPE_MAX = 3, - HK_TYPE_TICK = 2, - HK_TYPE_TIMER = 2, - HK_TYPE_RCU = 2, - HK_TYPE_MISC = 2, - HK_TYPE_WQ = 2, - HK_TYPE_KTHREAD = 2, -}; - -enum hmm_pfn_flags { - HMM_PFN_VALID = 9223372036854775808ULL, - HMM_PFN_WRITE = 4611686018427387904ULL, - HMM_PFN_ERROR = 2305843009213693952ULL, - HMM_PFN_DMA_MAPPED = 1152921504606846976ULL, - HMM_PFN_P2PDMA = 576460752303423488ULL, - HMM_PFN_P2PDMA_BUS = 288230376151711744ULL, - HMM_PFN_ORDER_SHIFT = 53ULL, - HMM_PFN_REQ_FAULT = 9223372036854775808ULL, - HMM_PFN_REQ_WRITE = 4611686018427387904ULL, - HMM_PFN_FLAGS = 18437736874454810624ULL, -}; - -enum hn_flags_bits { - HANDSHAKE_F_NET_DRAINING = 0, -}; - -enum hp_flags_bits { - HANDSHAKE_F_PROTO_NOTIFY = 0, -}; - -enum hpet_mode { - HPET_MODE_UNUSED = 0, - HPET_MODE_LEGACY = 1, - HPET_MODE_CLOCKEVT = 2, - HPET_MODE_DEVICE = 3, -}; - -enum hprobe_state { - HPROBE_LEASED = 0, - HPROBE_STABLE = 1, - HPROBE_GONE = 2, - HPROBE_CONSUMED = 3, -}; - -enum hpx_type3_cfg_loc { - HPX_CFG_PCICFG = 0, - HPX_CFG_PCIE_CAP = 1, - HPX_CFG_PCIE_CAP_EXT = 2, - HPX_CFG_VEND_CAP = 3, - HPX_CFG_DVSEC = 4, - HPX_CFG_MAX = 5, -}; - -enum hpx_type3_dev_type { - HPX_TYPE_ENDPOINT = 1, - HPX_TYPE_LEG_END = 2, - HPX_TYPE_RC_END = 4, - HPX_TYPE_RC_EC = 8, - HPX_TYPE_ROOT_PORT = 16, - HPX_TYPE_UPSTREAM = 32, - HPX_TYPE_DOWNSTREAM = 64, - HPX_TYPE_PCI_BRIDGE = 128, - HPX_TYPE_PCIE_BRIDGE = 256, -}; - -enum hpx_type3_fn_type { - HPX_FN_NORMAL = 1, - HPX_FN_SRIOV_PHYS = 2, - HPX_FN_SRIOV_VIRT = 4, -}; - -enum hr_flags_bits { - HANDSHAKE_F_REQ_COMPLETED = 0, - HANDSHAKE_F_REQ_SESSION = 1, -}; - -enum hrtimer_base_type { - HRTIMER_BASE_MONOTONIC = 0, - HRTIMER_BASE_REALTIME = 1, - HRTIMER_BASE_BOOTTIME = 2, - HRTIMER_BASE_TAI = 3, - HRTIMER_BASE_MONOTONIC_SOFT = 4, - HRTIMER_BASE_REALTIME_SOFT = 5, - HRTIMER_BASE_BOOTTIME_SOFT = 6, - HRTIMER_BASE_TAI_SOFT = 7, - HRTIMER_MAX_CLOCK_BASES = 8, -}; - -enum hrtimer_mode { - HRTIMER_MODE_ABS = 0, - HRTIMER_MODE_REL = 1, - HRTIMER_MODE_PINNED = 2, - HRTIMER_MODE_SOFT = 4, - HRTIMER_MODE_HARD = 8, - HRTIMER_MODE_ABS_PINNED = 2, - HRTIMER_MODE_REL_PINNED = 3, - HRTIMER_MODE_ABS_SOFT = 4, - HRTIMER_MODE_REL_SOFT = 5, - HRTIMER_MODE_ABS_PINNED_SOFT = 6, - HRTIMER_MODE_REL_PINNED_SOFT = 7, - HRTIMER_MODE_ABS_HARD = 8, - HRTIMER_MODE_REL_HARD = 9, - HRTIMER_MODE_ABS_PINNED_HARD = 10, - HRTIMER_MODE_REL_PINNED_HARD = 11, -}; - -enum hrtimer_restart { - HRTIMER_NORESTART = 0, - HRTIMER_RESTART = 1, -}; - -enum hsm_task_states { - HSM_ST_IDLE = 0, - HSM_ST_FIRST = 1, - HSM_ST = 2, - HSM_ST_LAST = 3, - HSM_ST_ERR = 4, -}; - -enum hte_edge { - HTE_EDGE_NO_SETUP = 1, - HTE_RISING_EDGE_TS = 2, - HTE_FALLING_EDGE_TS = 4, -}; - -enum hte_return { - HTE_CB_HANDLED = 0, - HTE_RUN_SECOND_CB = 1, -}; - -enum hub_activation_type { - HUB_INIT = 0, - HUB_INIT2 = 1, - HUB_INIT3 = 2, - HUB_POST_RESET = 3, - HUB_RESUME = 4, - HUB_RESET_RESUME = 5, -}; - -enum hub_led_mode { - INDICATOR_AUTO = 0, - INDICATOR_CYCLE = 1, - INDICATOR_GREEN_BLINK = 2, - INDICATOR_GREEN_BLINK_OFF = 3, - INDICATOR_AMBER_BLINK = 4, - INDICATOR_AMBER_BLINK_OFF = 5, - INDICATOR_ALT_BLINK = 6, - INDICATOR_ALT_BLINK_OFF = 7, -} __attribute__((mode(byte))); - -enum hub_quiescing_type { - HUB_DISCONNECT = 0, - HUB_PRE_RESET = 1, - HUB_SUSPEND = 2, -}; - -enum hugetlb_memory_event { - HUGETLB_MAX = 0, - HUGETLB_NR_MEMORY_EVENTS = 1, -}; - -enum hugetlb_page_flags { - HPG_restore_reserve = 0, - HPG_migratable = 1, - HPG_temporary = 2, - HPG_freed = 3, - HPG_vmemmap_optimized = 4, - HPG_raw_hwp_unreliable = 5, - HPG_cma = 6, - __NR_HPAGEFLAGS = 7, -}; - -enum hugetlb_param { - Opt_gid___6 = 0, - Opt_min_size = 1, - Opt_mode___4 = 2, - Opt_nr_inodes = 3, - Opt_pagesize = 4, - Opt_size = 5, - Opt_uid___6 = 6, -}; - -enum hugetlbfs_size_type { - NO_SIZE = 0, - SIZE_STD = 1, - SIZE_PERCENT = 2, -}; - -enum hv_device_type { - HV_DEVICE_TYPE_LOGICAL = 0, - HV_DEVICE_TYPE_PCI = 1, - HV_DEVICE_TYPE_IOAPIC = 2, - HV_DEVICE_TYPE_ACPI = 3, -}; - -enum hv_generic_set_format { - HV_GENERIC_SET_SPARSE_4K = 0, - HV_GENERIC_SET_ALL = 1, -}; - -enum hv_interrupt_trigger_mode { - HV_INTERRUPT_TRIGGER_MODE_EDGE = 0, - HV_INTERRUPT_TRIGGER_MODE_LEVEL = 1, -}; - -enum hv_interrupt_type { - HV_X64_INTERRUPT_TYPE_FIXED = 0, - HV_X64_INTERRUPT_TYPE_LOWESTPRIORITY = 1, - HV_X64_INTERRUPT_TYPE_SMI = 2, - HV_X64_INTERRUPT_TYPE_REMOTEREAD = 3, - HV_X64_INTERRUPT_TYPE_NMI = 4, - HV_X64_INTERRUPT_TYPE_INIT = 5, - HV_X64_INTERRUPT_TYPE_SIPI = 6, - HV_X64_INTERRUPT_TYPE_EXTINT = 7, - HV_X64_INTERRUPT_TYPE_LOCALINT0 = 8, - HV_X64_INTERRUPT_TYPE_LOCALINT1 = 9, - HV_X64_INTERRUPT_TYPE_MAXIMUM = 10, -}; - -enum hv_isolation_type { - HV_ISOLATION_TYPE_NONE = 0, - HV_ISOLATION_TYPE_VBS = 1, - HV_ISOLATION_TYPE_SNP = 2, - HV_ISOLATION_TYPE_TDX = 3, -}; - -enum hv_mem_host_visibility { - VMBUS_PAGE_NOT_VISIBLE = 0, - VMBUS_PAGE_VISIBLE_READ_ONLY = 1, - VMBUS_PAGE_VISIBLE_READ_WRITE = 3, -}; - -enum hv_partition_type { - HV_PARTITION_TYPE_GUEST = 0, - HV_PARTITION_TYPE_ROOT = 1, -}; - -enum hv_tlb_flush_fifos { - HV_L1_TLB_FLUSH_FIFO = 0, - HV_L2_TLB_FLUSH_FIFO = 1, - HV_NR_TLB_FLUSH_FIFOS = 2, -}; - -enum hv_tsc_page_status { - HV_TSC_PAGE_UNSET = 0, - HV_TSC_PAGE_GUEST_CHANGED = 1, - HV_TSC_PAGE_HOST_CHANGED = 2, - HV_TSC_PAGE_SET = 3, - HV_TSC_PAGE_BROKEN = 4, -}; - -enum hvmmem_type_t { - HVMMEM_ram_rw = 0, - HVMMEM_ram_ro = 1, - HVMMEM_mmio_dm = 2, -}; - -enum hw_event_mc_err_type { - HW_EVENT_ERR_CORRECTED = 0, - HW_EVENT_ERR_UNCORRECTED = 1, - HW_EVENT_ERR_DEFERRED = 2, - HW_EVENT_ERR_FATAL = 3, - HW_EVENT_ERR_INFO = 4, -}; - -enum hw_protection_action { - HWPROT_ACT_DEFAULT = 0, - HWPROT_ACT_SHUTDOWN = 1, - HWPROT_ACT_REBOOT = 2, -}; - -enum hwmon_chip_attributes { - hwmon_chip_temp_reset_history = 0, - hwmon_chip_in_reset_history = 1, - hwmon_chip_curr_reset_history = 2, - hwmon_chip_power_reset_history = 3, - hwmon_chip_register_tz = 4, - hwmon_chip_update_interval = 5, - hwmon_chip_alarms = 6, - hwmon_chip_samples = 7, - hwmon_chip_curr_samples = 8, - hwmon_chip_in_samples = 9, - hwmon_chip_power_samples = 10, - hwmon_chip_temp_samples = 11, - hwmon_chip_beep_enable = 12, - hwmon_chip_pec = 13, -}; - -enum hwmon_curr_attributes { - hwmon_curr_enable = 0, - hwmon_curr_input = 1, - hwmon_curr_min = 2, - hwmon_curr_max = 3, - hwmon_curr_lcrit = 4, - hwmon_curr_crit = 5, - hwmon_curr_average = 6, - hwmon_curr_lowest = 7, - hwmon_curr_highest = 8, - hwmon_curr_reset_history = 9, - hwmon_curr_label = 10, - hwmon_curr_alarm = 11, - hwmon_curr_min_alarm = 12, - hwmon_curr_max_alarm = 13, - hwmon_curr_lcrit_alarm = 14, - hwmon_curr_crit_alarm = 15, - hwmon_curr_rated_min = 16, - hwmon_curr_rated_max = 17, - hwmon_curr_beep = 18, -}; - -enum hwmon_energy_attributes { - hwmon_energy_enable = 0, - hwmon_energy_input = 1, - hwmon_energy_label = 2, -}; - -enum hwmon_fan_attributes { - hwmon_fan_enable = 0, - hwmon_fan_input = 1, - hwmon_fan_label = 2, - hwmon_fan_min = 3, - hwmon_fan_max = 4, - hwmon_fan_div = 5, - hwmon_fan_pulses = 6, - hwmon_fan_target = 7, - hwmon_fan_alarm = 8, - hwmon_fan_min_alarm = 9, - hwmon_fan_max_alarm = 10, - hwmon_fan_fault = 11, - hwmon_fan_beep = 12, -}; - -enum hwmon_humidity_attributes { - hwmon_humidity_enable = 0, - hwmon_humidity_input = 1, - hwmon_humidity_label = 2, - hwmon_humidity_min = 3, - hwmon_humidity_min_hyst = 4, - hwmon_humidity_max = 5, - hwmon_humidity_max_hyst = 6, - hwmon_humidity_alarm = 7, - hwmon_humidity_fault = 8, - hwmon_humidity_rated_min = 9, - hwmon_humidity_rated_max = 10, - hwmon_humidity_min_alarm = 11, - hwmon_humidity_max_alarm = 12, -}; - -enum hwmon_in_attributes { - hwmon_in_enable = 0, - hwmon_in_input = 1, - hwmon_in_min = 2, - hwmon_in_max = 3, - hwmon_in_lcrit = 4, - hwmon_in_crit = 5, - hwmon_in_average = 6, - hwmon_in_lowest = 7, - hwmon_in_highest = 8, - hwmon_in_reset_history = 9, - hwmon_in_label = 10, - hwmon_in_alarm = 11, - hwmon_in_min_alarm = 12, - hwmon_in_max_alarm = 13, - hwmon_in_lcrit_alarm = 14, - hwmon_in_crit_alarm = 15, - hwmon_in_rated_min = 16, - hwmon_in_rated_max = 17, - hwmon_in_beep = 18, - hwmon_in_fault = 19, -}; - -enum hwmon_intrusion_attributes { - hwmon_intrusion_alarm = 0, - hwmon_intrusion_beep = 1, -}; - -enum hwmon_power_attributes { - hwmon_power_enable = 0, - hwmon_power_average = 1, - hwmon_power_average_interval = 2, - hwmon_power_average_interval_max = 3, - hwmon_power_average_interval_min = 4, - hwmon_power_average_highest = 5, - hwmon_power_average_lowest = 6, - hwmon_power_average_max = 7, - hwmon_power_average_min = 8, - hwmon_power_input = 9, - hwmon_power_input_highest = 10, - hwmon_power_input_lowest = 11, - hwmon_power_reset_history = 12, - hwmon_power_accuracy = 13, - hwmon_power_cap = 14, - hwmon_power_cap_hyst = 15, - hwmon_power_cap_max = 16, - hwmon_power_cap_min = 17, - hwmon_power_min = 18, - hwmon_power_max = 19, - hwmon_power_crit = 20, - hwmon_power_lcrit = 21, - hwmon_power_label = 22, - hwmon_power_alarm = 23, - hwmon_power_cap_alarm = 24, - hwmon_power_min_alarm = 25, - hwmon_power_max_alarm = 26, - hwmon_power_lcrit_alarm = 27, - hwmon_power_crit_alarm = 28, - hwmon_power_rated_min = 29, - hwmon_power_rated_max = 30, -}; - -enum hwmon_pwm_attributes { - hwmon_pwm_input = 0, - hwmon_pwm_enable = 1, - hwmon_pwm_mode = 2, - hwmon_pwm_freq = 3, - hwmon_pwm_auto_channels_temp = 4, -}; - -enum hwmon_sensor_types { - hwmon_chip = 0, - hwmon_temp = 1, - hwmon_in = 2, - hwmon_curr = 3, - hwmon_power = 4, - hwmon_energy = 5, - hwmon_humidity = 6, - hwmon_fan = 7, - hwmon_pwm = 8, - hwmon_intrusion = 9, - hwmon_max = 10, -}; - -enum hwmon_temp_attributes { - hwmon_temp_enable = 0, - hwmon_temp_input = 1, - hwmon_temp_type = 2, - hwmon_temp_lcrit = 3, - hwmon_temp_lcrit_hyst = 4, - hwmon_temp_min = 5, - hwmon_temp_min_hyst = 6, - hwmon_temp_max = 7, - hwmon_temp_max_hyst = 8, - hwmon_temp_crit = 9, - hwmon_temp_crit_hyst = 10, - hwmon_temp_emergency = 11, - hwmon_temp_emergency_hyst = 12, - hwmon_temp_alarm = 13, - hwmon_temp_lcrit_alarm = 14, - hwmon_temp_min_alarm = 15, - hwmon_temp_max_alarm = 16, - hwmon_temp_crit_alarm = 17, - hwmon_temp_emergency_alarm = 18, - hwmon_temp_fault = 19, - hwmon_temp_offset = 20, - hwmon_temp_label = 21, - hwmon_temp_lowest = 22, - hwmon_temp_highest = 23, - hwmon_temp_reset_history = 24, - hwmon_temp_rated_min = 25, - hwmon_temp_rated_max = 26, - hwmon_temp_beep = 27, -}; - -enum hwparam_type { - hwparam_ioport = 0, - hwparam_iomem = 1, - hwparam_ioport_or_iomem = 2, - hwparam_irq = 3, - hwparam_dma = 4, - hwparam_dma_addr = 5, - hwparam_other = 6, -}; - -enum hwtstamp_flags { - HWTSTAMP_FLAG_BONDED_PHC_INDEX = 1, - HWTSTAMP_FLAG_LAST = 1, - HWTSTAMP_FLAG_MASK = 1, -}; - -enum hwtstamp_provider_qualifier { - HWTSTAMP_PROVIDER_QUALIFIER_PRECISE = 0, - HWTSTAMP_PROVIDER_QUALIFIER_APPROX = 1, - HWTSTAMP_PROVIDER_QUALIFIER_CNT = 2, -}; - -enum hwtstamp_rx_filters { - HWTSTAMP_FILTER_NONE = 0, - HWTSTAMP_FILTER_ALL = 1, - HWTSTAMP_FILTER_SOME = 2, - HWTSTAMP_FILTER_PTP_V1_L4_EVENT = 3, - HWTSTAMP_FILTER_PTP_V1_L4_SYNC = 4, - HWTSTAMP_FILTER_PTP_V1_L4_DELAY_REQ = 5, - HWTSTAMP_FILTER_PTP_V2_L4_EVENT = 6, - HWTSTAMP_FILTER_PTP_V2_L4_SYNC = 7, - HWTSTAMP_FILTER_PTP_V2_L4_DELAY_REQ = 8, - HWTSTAMP_FILTER_PTP_V2_L2_EVENT = 9, - HWTSTAMP_FILTER_PTP_V2_L2_SYNC = 10, - HWTSTAMP_FILTER_PTP_V2_L2_DELAY_REQ = 11, - HWTSTAMP_FILTER_PTP_V2_EVENT = 12, - HWTSTAMP_FILTER_PTP_V2_SYNC = 13, - HWTSTAMP_FILTER_PTP_V2_DELAY_REQ = 14, - HWTSTAMP_FILTER_NTP_ALL = 15, - __HWTSTAMP_FILTER_CNT = 16, -}; - -enum hwtstamp_source { - HWTSTAMP_SOURCE_NETDEV = 1, - HWTSTAMP_SOURCE_PHYLIB = 2, -}; - -enum hwtstamp_tx_types { - HWTSTAMP_TX_OFF = 0, - HWTSTAMP_TX_ON = 1, - HWTSTAMP_TX_ONESTEP_SYNC = 2, - HWTSTAMP_TX_ONESTEP_P2P = 3, - __HWTSTAMP_TX_CNT = 4, -}; - -enum hybrid_pmu_type { - not_hybrid = 0, - hybrid_small = 1, - hybrid_big = 2, - hybrid_tiny = 4, - hybrid_big_small = 3, - hybrid_small_tiny = 5, - hybrid_big_small_tiny = 7, -}; - -enum i2c_alert_protocol { - I2C_PROTOCOL_SMBUS_ALERT = 0, - I2C_PROTOCOL_SMBUS_HOST_NOTIFY = 1, -}; - -enum i2c_driver_flags { - I2C_DRV_ACPI_WAIVE_D0_PROBE = 1, -}; - -enum i2c_slave_event { - I2C_SLAVE_READ_REQUESTED = 0, - I2C_SLAVE_WRITE_REQUESTED = 1, - I2C_SLAVE_READ_PROCESSED = 2, - I2C_SLAVE_WRITE_RECEIVED = 3, - I2C_SLAVE_STOP = 4, -}; - -enum i8042_controller_reset_mode { - I8042_RESET_NEVER = 0, - I8042_RESET_ALWAYS = 1, - I8042_RESET_ON_S2RAM = 2, -}; - -enum ib_atomic_cap { - IB_ATOMIC_NONE = 0, - IB_ATOMIC_HCA = 1, - IB_ATOMIC_GLOB = 2, -}; - -enum ib_cq_notify_flags { - IB_CQ_SOLICITED = 1, - IB_CQ_NEXT_COMP = 2, - IB_CQ_SOLICITED_MASK = 3, - IB_CQ_REPORT_MISSED_EVENTS = 4, -}; - -enum ib_event_type { - IB_EVENT_CQ_ERR = 0, - IB_EVENT_QP_FATAL = 1, - IB_EVENT_QP_REQ_ERR = 2, - IB_EVENT_QP_ACCESS_ERR = 3, - IB_EVENT_COMM_EST = 4, - IB_EVENT_SQ_DRAINED = 5, - IB_EVENT_PATH_MIG = 6, - IB_EVENT_PATH_MIG_ERR = 7, - IB_EVENT_DEVICE_FATAL = 8, - IB_EVENT_PORT_ACTIVE = 9, - IB_EVENT_PORT_ERR = 10, - IB_EVENT_LID_CHANGE = 11, - IB_EVENT_PKEY_CHANGE = 12, - IB_EVENT_SM_CHANGE = 13, - IB_EVENT_SRQ_ERR = 14, - IB_EVENT_SRQ_LIMIT_REACHED = 15, - IB_EVENT_QP_LAST_WQE_REACHED = 16, - IB_EVENT_CLIENT_REREGISTER = 17, - IB_EVENT_GID_CHANGE = 18, - IB_EVENT_WQ_FATAL = 19, -}; - -enum ib_flow_action_type { - IB_FLOW_ACTION_UNSPECIFIED = 0, - IB_FLOW_ACTION_ESP = 1, -}; - -enum ib_flow_attr_type { - IB_FLOW_ATTR_NORMAL = 0, - IB_FLOW_ATTR_ALL_DEFAULT = 1, - IB_FLOW_ATTR_MC_DEFAULT = 2, - IB_FLOW_ATTR_SNIFFER = 3, -}; - -enum ib_flow_spec_type { - IB_FLOW_SPEC_ETH = 32, - IB_FLOW_SPEC_IB = 34, - IB_FLOW_SPEC_IPV4 = 48, - IB_FLOW_SPEC_IPV6 = 49, - IB_FLOW_SPEC_ESP = 52, - IB_FLOW_SPEC_TCP = 64, - IB_FLOW_SPEC_UDP = 65, - IB_FLOW_SPEC_VXLAN_TUNNEL = 80, - IB_FLOW_SPEC_GRE = 81, - IB_FLOW_SPEC_MPLS = 96, - IB_FLOW_SPEC_INNER = 256, - IB_FLOW_SPEC_ACTION_TAG = 4096, - IB_FLOW_SPEC_ACTION_DROP = 4097, - IB_FLOW_SPEC_ACTION_HANDLE = 4098, - IB_FLOW_SPEC_ACTION_COUNT = 4099, -}; - -enum ib_gid_type { - IB_GID_TYPE_IB = 0, - IB_GID_TYPE_ROCE = 1, - IB_GID_TYPE_ROCE_UDP_ENCAP = 2, - IB_GID_TYPE_SIZE = 3, -}; - -enum ib_mig_state { - IB_MIG_MIGRATED = 0, - IB_MIG_REARM = 1, - IB_MIG_ARMED = 2, -}; - -enum ib_mr_type { - IB_MR_TYPE_MEM_REG = 0, - IB_MR_TYPE_SG_GAPS = 1, - IB_MR_TYPE_DM = 2, - IB_MR_TYPE_USER = 3, - IB_MR_TYPE_DMA = 4, - IB_MR_TYPE_INTEGRITY = 5, -}; - -enum ib_mtu { - IB_MTU_256 = 1, - IB_MTU_512 = 2, - IB_MTU_1024 = 3, - IB_MTU_2048 = 4, - IB_MTU_4096 = 5, -}; - -enum ib_mw_type { - IB_MW_TYPE_1 = 1, - IB_MW_TYPE_2 = 2, -}; - -enum ib_poll_context { - IB_POLL_SOFTIRQ = 0, - IB_POLL_WORKQUEUE = 1, - IB_POLL_UNBOUND_WORKQUEUE = 2, - IB_POLL_LAST_POOL_TYPE = 2, - IB_POLL_DIRECT = 3, -}; - -enum ib_port_state { - IB_PORT_NOP = 0, - IB_PORT_DOWN = 1, - IB_PORT_INIT = 2, - IB_PORT_ARMED = 3, - IB_PORT_ACTIVE = 4, - IB_PORT_ACTIVE_DEFER = 5, -}; - -enum ib_qp_state { - IB_QPS_RESET = 0, - IB_QPS_INIT = 1, - IB_QPS_RTR = 2, - IB_QPS_RTS = 3, - IB_QPS_SQD = 4, - IB_QPS_SQE = 5, - IB_QPS_ERR = 6, -}; - -enum ib_qp_type { - IB_QPT_SMI = 0, - IB_QPT_GSI = 1, - IB_QPT_RC = 2, - IB_QPT_UC = 3, - IB_QPT_UD = 4, - IB_QPT_RAW_IPV6 = 5, - IB_QPT_RAW_ETHERTYPE = 6, - IB_QPT_RAW_PACKET = 8, - IB_QPT_XRC_INI = 9, - IB_QPT_XRC_TGT = 10, - IB_QPT_MAX = 11, - IB_QPT_DRIVER = 255, - IB_QPT_RESERVED1 = 4096, - IB_QPT_RESERVED2 = 4097, - IB_QPT_RESERVED3 = 4098, - IB_QPT_RESERVED4 = 4099, - IB_QPT_RESERVED5 = 4100, - IB_QPT_RESERVED6 = 4101, - IB_QPT_RESERVED7 = 4102, - IB_QPT_RESERVED8 = 4103, - IB_QPT_RESERVED9 = 4104, - IB_QPT_RESERVED10 = 4105, -}; - -enum ib_sig_err_type { - IB_SIG_BAD_GUARD = 0, - IB_SIG_BAD_REFTAG = 1, - IB_SIG_BAD_APPTAG = 2, -}; - -enum ib_sig_type { - IB_SIGNAL_ALL_WR = 0, - IB_SIGNAL_REQ_WR = 1, -}; - -enum ib_signature_type { - IB_SIG_TYPE_NONE = 0, - IB_SIG_TYPE_T10_DIF = 1, -}; - -enum ib_srq_attr_mask { - IB_SRQ_MAX_WR = 1, - IB_SRQ_LIMIT = 2, -}; - -enum ib_srq_type { - IB_SRQT_BASIC = 0, - IB_SRQT_XRC = 1, - IB_SRQT_TM = 2, -}; - -enum ib_t10_dif_bg_type { - IB_T10DIF_CRC = 0, - IB_T10DIF_CSUM = 1, -}; - -enum ib_uverbs_access_flags { - IB_UVERBS_ACCESS_LOCAL_WRITE = 1, - IB_UVERBS_ACCESS_REMOTE_WRITE = 2, - IB_UVERBS_ACCESS_REMOTE_READ = 4, - IB_UVERBS_ACCESS_REMOTE_ATOMIC = 8, - IB_UVERBS_ACCESS_MW_BIND = 16, - IB_UVERBS_ACCESS_ZERO_BASED = 32, - IB_UVERBS_ACCESS_ON_DEMAND = 64, - IB_UVERBS_ACCESS_HUGETLB = 128, - IB_UVERBS_ACCESS_FLUSH_GLOBAL = 256, - IB_UVERBS_ACCESS_FLUSH_PERSISTENT = 512, - IB_UVERBS_ACCESS_RELAXED_ORDERING = 1048576, - IB_UVERBS_ACCESS_OPTIONAL_RANGE = 1072693248, -}; - -enum ib_uverbs_advise_mr_advice { - IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH = 0, - IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH_WRITE = 1, - IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH_NO_FAULT = 2, -}; - -enum ib_uverbs_create_qp_mask { - IB_UVERBS_CREATE_QP_MASK_IND_TABLE = 1, -}; - -enum ib_uverbs_device_cap_flags { - IB_UVERBS_DEVICE_RESIZE_MAX_WR = 1ULL, - IB_UVERBS_DEVICE_BAD_PKEY_CNTR = 2ULL, - IB_UVERBS_DEVICE_BAD_QKEY_CNTR = 4ULL, - IB_UVERBS_DEVICE_RAW_MULTI = 8ULL, - IB_UVERBS_DEVICE_AUTO_PATH_MIG = 16ULL, - IB_UVERBS_DEVICE_CHANGE_PHY_PORT = 32ULL, - IB_UVERBS_DEVICE_UD_AV_PORT_ENFORCE = 64ULL, - IB_UVERBS_DEVICE_CURR_QP_STATE_MOD = 128ULL, - IB_UVERBS_DEVICE_SHUTDOWN_PORT = 256ULL, - IB_UVERBS_DEVICE_PORT_ACTIVE_EVENT = 1024ULL, - IB_UVERBS_DEVICE_SYS_IMAGE_GUID = 2048ULL, - IB_UVERBS_DEVICE_RC_RNR_NAK_GEN = 4096ULL, - IB_UVERBS_DEVICE_SRQ_RESIZE = 8192ULL, - IB_UVERBS_DEVICE_N_NOTIFY_CQ = 16384ULL, - IB_UVERBS_DEVICE_MEM_WINDOW = 131072ULL, - IB_UVERBS_DEVICE_UD_IP_CSUM = 262144ULL, - IB_UVERBS_DEVICE_XRC = 1048576ULL, - IB_UVERBS_DEVICE_MEM_MGT_EXTENSIONS = 2097152ULL, - IB_UVERBS_DEVICE_MEM_WINDOW_TYPE_2A = 8388608ULL, - IB_UVERBS_DEVICE_MEM_WINDOW_TYPE_2B = 16777216ULL, - IB_UVERBS_DEVICE_RC_IP_CSUM = 33554432ULL, - IB_UVERBS_DEVICE_RAW_IP_CSUM = 67108864ULL, - IB_UVERBS_DEVICE_MANAGED_FLOW_STEERING = 536870912ULL, - IB_UVERBS_DEVICE_RAW_SCATTER_FCS = 17179869184ULL, - IB_UVERBS_DEVICE_PCI_WRITE_END_PADDING = 68719476736ULL, - IB_UVERBS_DEVICE_FLUSH_GLOBAL = 274877906944ULL, - IB_UVERBS_DEVICE_FLUSH_PERSISTENT = 549755813888ULL, - IB_UVERBS_DEVICE_ATOMIC_WRITE = 1099511627776ULL, -}; - -enum ib_uverbs_gid_type { - IB_UVERBS_GID_TYPE_IB = 0, - IB_UVERBS_GID_TYPE_ROCE_V1 = 1, - IB_UVERBS_GID_TYPE_ROCE_V2 = 2, -}; - -enum ib_uverbs_odp_general_cap_bits { - IB_UVERBS_ODP_SUPPORT = 1, - IB_UVERBS_ODP_SUPPORT_IMPLICIT = 2, -}; - -enum ib_uverbs_odp_transport_cap_bits { - IB_UVERBS_ODP_SUPPORT_SEND = 1, - IB_UVERBS_ODP_SUPPORT_RECV = 2, - IB_UVERBS_ODP_SUPPORT_WRITE = 4, - IB_UVERBS_ODP_SUPPORT_READ = 8, - IB_UVERBS_ODP_SUPPORT_ATOMIC = 16, - IB_UVERBS_ODP_SUPPORT_SRQ_RECV = 32, - IB_UVERBS_ODP_SUPPORT_FLUSH = 64, - IB_UVERBS_ODP_SUPPORT_ATOMIC_WRITE = 128, -}; - -enum ib_uverbs_qp_create_flags { - IB_UVERBS_QP_CREATE_BLOCK_MULTICAST_LOOPBACK = 2, - IB_UVERBS_QP_CREATE_SCATTER_FCS = 256, - IB_UVERBS_QP_CREATE_CVLAN_STRIPPING = 512, - IB_UVERBS_QP_CREATE_PCI_WRITE_END_PADDING = 2048, - IB_UVERBS_QP_CREATE_SQ_SIG_ALL = 4096, -}; - -enum ib_uverbs_qp_type { - IB_UVERBS_QPT_RC = 2, - IB_UVERBS_QPT_UC = 3, - IB_UVERBS_QPT_UD = 4, - IB_UVERBS_QPT_RAW_PACKET = 8, - IB_UVERBS_QPT_XRC_INI = 9, - IB_UVERBS_QPT_XRC_TGT = 10, - IB_UVERBS_QPT_DRIVER = 255, -}; - -enum ib_uverbs_raw_packet_caps { - IB_UVERBS_RAW_PACKET_CAP_CVLAN_STRIPPING = 1, - IB_UVERBS_RAW_PACKET_CAP_SCATTER_FCS = 2, - IB_UVERBS_RAW_PACKET_CAP_IP_CSUM = 4, - IB_UVERBS_RAW_PACKET_CAP_DELAY_DROP = 8, -}; - -enum ib_uverbs_srq_type { - IB_UVERBS_SRQT_BASIC = 0, - IB_UVERBS_SRQT_XRC = 1, - IB_UVERBS_SRQT_TM = 2, -}; - -enum ib_uverbs_wc_opcode { - IB_UVERBS_WC_SEND = 0, - IB_UVERBS_WC_RDMA_WRITE = 1, - IB_UVERBS_WC_RDMA_READ = 2, - IB_UVERBS_WC_COMP_SWAP = 3, - IB_UVERBS_WC_FETCH_ADD = 4, - IB_UVERBS_WC_BIND_MW = 5, - IB_UVERBS_WC_LOCAL_INV = 6, - IB_UVERBS_WC_TSO = 7, - IB_UVERBS_WC_FLUSH = 8, - IB_UVERBS_WC_ATOMIC_WRITE = 9, -}; - -enum ib_uverbs_wq_flags { - IB_UVERBS_WQ_FLAGS_CVLAN_STRIPPING = 1, - IB_UVERBS_WQ_FLAGS_SCATTER_FCS = 2, - IB_UVERBS_WQ_FLAGS_DELAY_DROP = 4, - IB_UVERBS_WQ_FLAGS_PCI_WRITE_END_PADDING = 8, -}; - -enum ib_uverbs_wq_type { - IB_UVERBS_WQT_RQ = 0, -}; - -enum ib_uverbs_wr_opcode { - IB_UVERBS_WR_RDMA_WRITE = 0, - IB_UVERBS_WR_RDMA_WRITE_WITH_IMM = 1, - IB_UVERBS_WR_SEND = 2, - IB_UVERBS_WR_SEND_WITH_IMM = 3, - IB_UVERBS_WR_RDMA_READ = 4, - IB_UVERBS_WR_ATOMIC_CMP_AND_SWP = 5, - IB_UVERBS_WR_ATOMIC_FETCH_AND_ADD = 6, - IB_UVERBS_WR_LOCAL_INV = 7, - IB_UVERBS_WR_BIND_MW = 8, - IB_UVERBS_WR_SEND_WITH_INV = 9, - IB_UVERBS_WR_TSO = 10, - IB_UVERBS_WR_RDMA_READ_WITH_INV = 11, - IB_UVERBS_WR_MASKED_ATOMIC_CMP_AND_SWP = 12, - IB_UVERBS_WR_MASKED_ATOMIC_FETCH_AND_ADD = 13, - IB_UVERBS_WR_FLUSH = 14, - IB_UVERBS_WR_ATOMIC_WRITE = 15, -}; - -enum ib_uverbs_write_cmds { - IB_USER_VERBS_CMD_GET_CONTEXT = 0, - IB_USER_VERBS_CMD_QUERY_DEVICE = 1, - IB_USER_VERBS_CMD_QUERY_PORT = 2, - IB_USER_VERBS_CMD_ALLOC_PD = 3, - IB_USER_VERBS_CMD_DEALLOC_PD = 4, - IB_USER_VERBS_CMD_CREATE_AH = 5, - IB_USER_VERBS_CMD_MODIFY_AH = 6, - IB_USER_VERBS_CMD_QUERY_AH = 7, - IB_USER_VERBS_CMD_DESTROY_AH = 8, - IB_USER_VERBS_CMD_REG_MR = 9, - IB_USER_VERBS_CMD_REG_SMR = 10, - IB_USER_VERBS_CMD_REREG_MR = 11, - IB_USER_VERBS_CMD_QUERY_MR = 12, - IB_USER_VERBS_CMD_DEREG_MR = 13, - IB_USER_VERBS_CMD_ALLOC_MW = 14, - IB_USER_VERBS_CMD_BIND_MW = 15, - IB_USER_VERBS_CMD_DEALLOC_MW = 16, - IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL = 17, - IB_USER_VERBS_CMD_CREATE_CQ = 18, - IB_USER_VERBS_CMD_RESIZE_CQ = 19, - IB_USER_VERBS_CMD_DESTROY_CQ = 20, - IB_USER_VERBS_CMD_POLL_CQ = 21, - IB_USER_VERBS_CMD_PEEK_CQ = 22, - IB_USER_VERBS_CMD_REQ_NOTIFY_CQ = 23, - IB_USER_VERBS_CMD_CREATE_QP = 24, - IB_USER_VERBS_CMD_QUERY_QP = 25, - IB_USER_VERBS_CMD_MODIFY_QP = 26, - IB_USER_VERBS_CMD_DESTROY_QP = 27, - IB_USER_VERBS_CMD_POST_SEND = 28, - IB_USER_VERBS_CMD_POST_RECV = 29, - IB_USER_VERBS_CMD_ATTACH_MCAST = 30, - IB_USER_VERBS_CMD_DETACH_MCAST = 31, - IB_USER_VERBS_CMD_CREATE_SRQ = 32, - IB_USER_VERBS_CMD_MODIFY_SRQ = 33, - IB_USER_VERBS_CMD_QUERY_SRQ = 34, - IB_USER_VERBS_CMD_DESTROY_SRQ = 35, - IB_USER_VERBS_CMD_POST_SRQ_RECV = 36, - IB_USER_VERBS_CMD_OPEN_XRCD = 37, - IB_USER_VERBS_CMD_CLOSE_XRCD = 38, - IB_USER_VERBS_CMD_CREATE_XSRQ = 39, - IB_USER_VERBS_CMD_OPEN_QP = 40, -}; - -enum ib_wc_opcode { - IB_WC_SEND = 0, - IB_WC_RDMA_WRITE = 1, - IB_WC_RDMA_READ = 2, - IB_WC_COMP_SWAP = 3, - IB_WC_FETCH_ADD = 4, - IB_WC_BIND_MW = 5, - IB_WC_LOCAL_INV = 6, - IB_WC_LSO = 7, - IB_WC_ATOMIC_WRITE = 9, - IB_WC_REG_MR = 10, - IB_WC_MASKED_COMP_SWAP = 11, - IB_WC_MASKED_FETCH_ADD = 12, - IB_WC_FLUSH = 8, - IB_WC_RECV = 128, - IB_WC_RECV_RDMA_WITH_IMM = 129, -}; - -enum ib_wc_status { - IB_WC_SUCCESS = 0, - IB_WC_LOC_LEN_ERR = 1, - IB_WC_LOC_QP_OP_ERR = 2, - IB_WC_LOC_EEC_OP_ERR = 3, - IB_WC_LOC_PROT_ERR = 4, - IB_WC_WR_FLUSH_ERR = 5, - IB_WC_MW_BIND_ERR = 6, - IB_WC_BAD_RESP_ERR = 7, - IB_WC_LOC_ACCESS_ERR = 8, - IB_WC_REM_INV_REQ_ERR = 9, - IB_WC_REM_ACCESS_ERR = 10, - IB_WC_REM_OP_ERR = 11, - IB_WC_RETRY_EXC_ERR = 12, - IB_WC_RNR_RETRY_EXC_ERR = 13, - IB_WC_LOC_RDD_VIOL_ERR = 14, - IB_WC_REM_INV_RD_REQ_ERR = 15, - IB_WC_REM_ABORT_ERR = 16, - IB_WC_INV_EECN_ERR = 17, - IB_WC_INV_EEC_STATE_ERR = 18, - IB_WC_FATAL_ERR = 19, - IB_WC_RESP_TIMEOUT_ERR = 20, - IB_WC_GENERAL_ERR = 21, -}; - -enum ib_wq_state { - IB_WQS_RESET = 0, - IB_WQS_RDY = 1, - IB_WQS_ERR = 2, -}; - -enum ib_wq_type { - IB_WQT_RQ = 0, -}; - -enum ib_wr_opcode { - IB_WR_RDMA_WRITE = 0, - IB_WR_RDMA_WRITE_WITH_IMM = 1, - IB_WR_SEND = 2, - IB_WR_SEND_WITH_IMM = 3, - IB_WR_RDMA_READ = 4, - IB_WR_ATOMIC_CMP_AND_SWP = 5, - IB_WR_ATOMIC_FETCH_AND_ADD = 6, - IB_WR_BIND_MW = 8, - IB_WR_LSO = 10, - IB_WR_SEND_WITH_INV = 9, - IB_WR_RDMA_READ_WITH_INV = 11, - IB_WR_LOCAL_INV = 7, - IB_WR_MASKED_ATOMIC_CMP_AND_SWP = 12, - IB_WR_MASKED_ATOMIC_FETCH_AND_ADD = 13, - IB_WR_FLUSH = 14, - IB_WR_ATOMIC_WRITE = 15, - IB_WR_REG_MR = 32, - IB_WR_REG_MR_INTEGRITY = 33, - IB_WR_RESERVED1 = 240, - IB_WR_RESERVED2 = 241, - IB_WR_RESERVED3 = 242, - IB_WR_RESERVED4 = 243, - IB_WR_RESERVED5 = 244, - IB_WR_RESERVED6 = 245, - IB_WR_RESERVED7 = 246, - IB_WR_RESERVED8 = 247, - IB_WR_RESERVED9 = 248, - IB_WR_RESERVED10 = 249, -}; - -enum ibs_states { - IBS_ENABLED = 0, - IBS_STARTED = 1, - IBS_STOPPING = 2, - IBS_STOPPED = 3, - IBS_MAX_STATES = 4, -}; - -enum id_action { - ID_REMOVE = 0, - ID_ADD = 1, -}; - -enum idle_boot_override { - IDLE_NO_OVERRIDE = 0, - IDLE_HALT = 1, - IDLE_NOMWAIT = 2, - IDLE_POLL = 3, -}; - -enum ieee80211_bss_type { - IEEE80211_BSS_TYPE_ESS = 0, - IEEE80211_BSS_TYPE_PBSS = 1, - IEEE80211_BSS_TYPE_IBSS = 2, - IEEE80211_BSS_TYPE_MBSS = 3, - IEEE80211_BSS_TYPE_ANY = 4, -}; - -enum ieee80211_edmg_bw_config { - IEEE80211_EDMG_BW_CONFIG_4 = 4, - IEEE80211_EDMG_BW_CONFIG_5 = 5, - IEEE80211_EDMG_BW_CONFIG_6 = 6, - IEEE80211_EDMG_BW_CONFIG_7 = 7, - IEEE80211_EDMG_BW_CONFIG_8 = 8, - IEEE80211_EDMG_BW_CONFIG_9 = 9, - IEEE80211_EDMG_BW_CONFIG_10 = 10, - IEEE80211_EDMG_BW_CONFIG_11 = 11, - IEEE80211_EDMG_BW_CONFIG_12 = 12, - IEEE80211_EDMG_BW_CONFIG_13 = 13, - IEEE80211_EDMG_BW_CONFIG_14 = 14, - IEEE80211_EDMG_BW_CONFIG_15 = 15, -}; - -enum ieee802154_filtering_level { - IEEE802154_FILTERING_NONE = 0, - IEEE802154_FILTERING_1_FCS = 1, - IEEE802154_FILTERING_2_PROMISCUOUS = 2, - IEEE802154_FILTERING_3_SCAN = 3, - IEEE802154_FILTERING_4_FRAME_FIELDS = 4, -}; - -enum ieee8021q_traffic_type { - IEEE8021Q_TT_BK = 0, - IEEE8021Q_TT_BE = 1, - IEEE8021Q_TT_EE = 2, - IEEE8021Q_TT_CA = 3, - IEEE8021Q_TT_VI = 4, - IEEE8021Q_TT_VO = 5, - IEEE8021Q_TT_IC = 6, - IEEE8021Q_TT_NC = 7, - IEEE8021Q_TT_MAX = 8, -}; - -enum ieee_attrs { - DCB_ATTR_IEEE_UNSPEC = 0, - DCB_ATTR_IEEE_ETS = 1, - DCB_ATTR_IEEE_PFC = 2, - DCB_ATTR_IEEE_APP_TABLE = 3, - DCB_ATTR_IEEE_PEER_ETS = 4, - DCB_ATTR_IEEE_PEER_PFC = 5, - DCB_ATTR_IEEE_PEER_APP = 6, - DCB_ATTR_IEEE_MAXRATE = 7, - DCB_ATTR_IEEE_QCN = 8, - DCB_ATTR_IEEE_QCN_STATS = 9, - DCB_ATTR_DCB_BUFFER = 10, - DCB_ATTR_DCB_APP_TRUST_TABLE = 11, - DCB_ATTR_DCB_REWR_TABLE = 12, - __DCB_ATTR_IEEE_MAX = 13, -}; - -enum ieee_attrs_app { - DCB_ATTR_IEEE_APP_UNSPEC = 0, - DCB_ATTR_IEEE_APP = 1, - DCB_ATTR_DCB_APP = 2, - __DCB_ATTR_IEEE_APP_MAX = 3, -}; - -enum ima_fs_flags { - IMA_FS_BUSY = 0, -}; - -enum ima_hooks { - NONE___2 = 0, - FILE_CHECK = 1, - MMAP_CHECK = 2, - MMAP_CHECK_REQPROT = 3, - BPRM_CHECK = 4, - CREDS_CHECK = 5, - POST_SETATTR = 6, - MODULE_CHECK = 7, - FIRMWARE_CHECK = 8, - KEXEC_KERNEL_CHECK = 9, - KEXEC_INITRAMFS_CHECK = 10, - POLICY_CHECK = 11, - KEXEC_CMDLINE = 12, - KEY_CHECK = 13, - CRITICAL_DATA = 14, - SETXATTR_CHECK = 15, - MAX_CHECK = 16, -}; - -enum ima_show_type { - IMA_SHOW_BINARY = 0, - IMA_SHOW_BINARY_NO_FIELD_LEN = 1, - IMA_SHOW_BINARY_OLD_STRING_FMT = 2, - IMA_SHOW_ASCII = 3, -}; - -enum in6_addr_gen_mode { - IN6_ADDR_GEN_MODE_EUI64 = 0, - IN6_ADDR_GEN_MODE_NONE = 1, - IN6_ADDR_GEN_MODE_STABLE_PRIVACY = 2, - IN6_ADDR_GEN_MODE_RANDOM = 3, -}; - -enum inet_csk_ack_state_t { - ICSK_ACK_SCHED = 1, - ICSK_ACK_TIMER = 2, - ICSK_ACK_PUSHED = 4, - ICSK_ACK_PUSHED2 = 8, - ICSK_ACK_NOW = 16, - ICSK_ACK_NOMEM = 32, -}; - -enum init_ns_ino { - IPC_NS_INIT_INO = 4026531839, - UTS_NS_INIT_INO = 4026531838, - USER_NS_INIT_INO = 4026531837, - PID_NS_INIT_INO = 4026531836, - CGROUP_NS_INIT_INO = 4026531835, - TIME_NS_INIT_INO = 4026531834, - NET_NS_INIT_INO = 4026531833, - MNT_NS_INIT_INO = 4026531832, -}; - -enum inode_i_mutex_lock_class { - I_MUTEX_NORMAL = 0, - I_MUTEX_PARENT = 1, - I_MUTEX_CHILD = 2, - I_MUTEX_XATTR = 3, - I_MUTEX_NONDIR2 = 4, - I_MUTEX_PARENT2 = 5, -}; - -enum input_clock_type { - INPUT_CLK_REAL = 0, - INPUT_CLK_MONO = 1, - INPUT_CLK_BOOT = 2, - INPUT_CLK_MAX = 3, -}; - -enum insn_mmio_type { - INSN_MMIO_DECODE_FAILED = 0, - INSN_MMIO_WRITE = 1, - INSN_MMIO_WRITE_IMM = 2, - INSN_MMIO_READ = 3, - INSN_MMIO_READ_ZERO_EXTEND = 4, - INSN_MMIO_READ_SIGN_EXTEND = 5, - INSN_MMIO_MOVS = 6, -}; - -enum insn_mode { - INSN_MODE_32 = 0, - INSN_MODE_64 = 1, - INSN_MODE_KERN = 2, - INSN_NUM_MODES = 3, -}; - -enum insn_type { - CALL = 0, - NOP = 1, - JMP = 2, - RET = 3, - JCC = 4, -}; - -enum int_type { - SYS_INT = 1, - DCDC_INT = 2, - RTC_INT = 4, - ADC_INT = 8, - GPIO_INT = 16, -}; - -enum integrity_status { - INTEGRITY_PASS = 0, - INTEGRITY_PASS_IMMUTABLE = 1, - INTEGRITY_FAIL = 2, - INTEGRITY_FAIL_IMMUTABLE = 3, - INTEGRITY_NOLABEL = 4, - INTEGRITY_NOXATTRS = 5, - INTEGRITY_UNKNOWN = 6, -}; - -enum intel_cht_wc_models { - INTEL_CHT_WC_UNKNOWN = 0, - INTEL_CHT_WC_GPD_WIN_POCKET = 1, - INTEL_CHT_WC_XIAOMI_MIPAD2 = 2, - INTEL_CHT_WC_LENOVO_YOGABOOK1 = 3, - INTEL_CHT_WC_LENOVO_YT3_X90 = 4, -}; - -enum intel_cpu_type { - INTEL_CPU_TYPE_UNKNOWN = 0, - INTEL_CPU_TYPE_ATOM = 32, - INTEL_CPU_TYPE_CORE = 64, -}; - -enum intel_excl_state_type { - INTEL_EXCL_UNUSED = 0, - INTEL_EXCL_SHARED = 1, - INTEL_EXCL_EXCLUSIVE = 2, -}; - -enum intel_native_id { - INTEL_ATOM_CMT_NATIVE_ID = 2, - INTEL_ATOM_SKT_NATIVE_ID = 3, -}; - -enum intercept_words { - INTERCEPT_CR = 0, - INTERCEPT_DR = 1, - INTERCEPT_EXCEPTION = 2, - INTERCEPT_WORD3 = 3, - INTERCEPT_WORD4 = 4, - INTERCEPT_WORD5 = 5, - MAX_INTERCEPT = 6, -}; - -enum io_pgtable_caps { - IO_PGTABLE_CAP_CUSTOM_ALLOCATOR = 1, -}; - -enum io_pgtable_fmt { - ARM_32_LPAE_S1 = 0, - ARM_32_LPAE_S2 = 1, - ARM_64_LPAE_S1 = 2, - ARM_64_LPAE_S2 = 3, - ARM_V7S = 4, - ARM_MALI_LPAE = 5, - AMD_IOMMU_V1 = 6, - AMD_IOMMU_V2 = 7, - APPLE_DART = 8, - APPLE_DART2 = 9, - IO_PGTABLE_NUM_FMTS = 10, -}; - -enum io_uring_cmd_flags { - IO_URING_F_COMPLETE_DEFER = 1, - IO_URING_F_UNLOCKED = 2, - IO_URING_F_MULTISHOT = 4, - IO_URING_F_IOWQ = 8, - IO_URING_F_INLINE = 16, - IO_URING_F_NONBLOCK = -2147483648, - IO_URING_F_SQE128 = 256, - IO_URING_F_CQE32 = 512, - IO_URING_F_IOPOLL = 1024, - IO_URING_F_CANCEL = 2048, - IO_URING_F_COMPAT = 4096, - IO_URING_F_TASK_DEAD = 8192, -}; - -enum io_uring_msg_ring_flags { - IORING_MSG_DATA = 0, - IORING_MSG_SEND_FD = 1, -}; - -enum io_uring_napi_op { - IO_URING_NAPI_REGISTER_OP = 0, - IO_URING_NAPI_STATIC_ADD_ID = 1, - IO_URING_NAPI_STATIC_DEL_ID = 2, -}; - -enum io_uring_napi_tracking_strategy { - IO_URING_NAPI_TRACKING_DYNAMIC = 0, - IO_URING_NAPI_TRACKING_STATIC = 1, - IO_URING_NAPI_TRACKING_INACTIVE = 255, -}; - -enum io_uring_op { - IORING_OP_NOP = 0, - IORING_OP_READV = 1, - IORING_OP_WRITEV = 2, - IORING_OP_FSYNC = 3, - IORING_OP_READ_FIXED = 4, - IORING_OP_WRITE_FIXED = 5, - IORING_OP_POLL_ADD = 6, - IORING_OP_POLL_REMOVE = 7, - IORING_OP_SYNC_FILE_RANGE = 8, - IORING_OP_SENDMSG = 9, - IORING_OP_RECVMSG = 10, - IORING_OP_TIMEOUT = 11, - IORING_OP_TIMEOUT_REMOVE = 12, - IORING_OP_ACCEPT = 13, - IORING_OP_ASYNC_CANCEL = 14, - IORING_OP_LINK_TIMEOUT = 15, - IORING_OP_CONNECT = 16, - IORING_OP_FALLOCATE = 17, - IORING_OP_OPENAT = 18, - IORING_OP_CLOSE = 19, - IORING_OP_FILES_UPDATE = 20, - IORING_OP_STATX = 21, - IORING_OP_READ = 22, - IORING_OP_WRITE = 23, - IORING_OP_FADVISE = 24, - IORING_OP_MADVISE = 25, - IORING_OP_SEND = 26, - IORING_OP_RECV = 27, - IORING_OP_OPENAT2 = 28, - IORING_OP_EPOLL_CTL = 29, - IORING_OP_SPLICE = 30, - IORING_OP_PROVIDE_BUFFERS = 31, - IORING_OP_REMOVE_BUFFERS = 32, - IORING_OP_TEE = 33, - IORING_OP_SHUTDOWN = 34, - IORING_OP_RENAMEAT = 35, - IORING_OP_UNLINKAT = 36, - IORING_OP_MKDIRAT = 37, - IORING_OP_SYMLINKAT = 38, - IORING_OP_LINKAT = 39, - IORING_OP_MSG_RING = 40, - IORING_OP_FSETXATTR = 41, - IORING_OP_SETXATTR = 42, - IORING_OP_FGETXATTR = 43, - IORING_OP_GETXATTR = 44, - IORING_OP_SOCKET = 45, - IORING_OP_URING_CMD = 46, - IORING_OP_SEND_ZC = 47, - IORING_OP_SENDMSG_ZC = 48, - IORING_OP_READ_MULTISHOT = 49, - IORING_OP_WAITID = 50, - IORING_OP_FUTEX_WAIT = 51, - IORING_OP_FUTEX_WAKE = 52, - IORING_OP_FUTEX_WAITV = 53, - IORING_OP_FIXED_FD_INSTALL = 54, - IORING_OP_FTRUNCATE = 55, - IORING_OP_BIND = 56, - IORING_OP_LISTEN = 57, - IORING_OP_RECV_ZC = 58, - IORING_OP_EPOLL_WAIT = 59, - IORING_OP_READV_FIXED = 60, - IORING_OP_WRITEV_FIXED = 61, - IORING_OP_PIPE = 62, - IORING_OP_LAST = 63, -}; - -enum io_uring_register_op { - IORING_REGISTER_BUFFERS = 0, - IORING_UNREGISTER_BUFFERS = 1, - IORING_REGISTER_FILES = 2, - IORING_UNREGISTER_FILES = 3, - IORING_REGISTER_EVENTFD = 4, - IORING_UNREGISTER_EVENTFD = 5, - IORING_REGISTER_FILES_UPDATE = 6, - IORING_REGISTER_EVENTFD_ASYNC = 7, - IORING_REGISTER_PROBE = 8, - IORING_REGISTER_PERSONALITY = 9, - IORING_UNREGISTER_PERSONALITY = 10, - IORING_REGISTER_RESTRICTIONS = 11, - IORING_REGISTER_ENABLE_RINGS = 12, - IORING_REGISTER_FILES2 = 13, - IORING_REGISTER_FILES_UPDATE2 = 14, - IORING_REGISTER_BUFFERS2 = 15, - IORING_REGISTER_BUFFERS_UPDATE = 16, - IORING_REGISTER_IOWQ_AFF = 17, - IORING_UNREGISTER_IOWQ_AFF = 18, - IORING_REGISTER_IOWQ_MAX_WORKERS = 19, - IORING_REGISTER_RING_FDS = 20, - IORING_UNREGISTER_RING_FDS = 21, - IORING_REGISTER_PBUF_RING = 22, - IORING_UNREGISTER_PBUF_RING = 23, - IORING_REGISTER_SYNC_CANCEL = 24, - IORING_REGISTER_FILE_ALLOC_RANGE = 25, - IORING_REGISTER_PBUF_STATUS = 26, - IORING_REGISTER_NAPI = 27, - IORING_UNREGISTER_NAPI = 28, - IORING_REGISTER_CLOCK = 29, - IORING_REGISTER_CLONE_BUFFERS = 30, - IORING_REGISTER_SEND_MSG_RING = 31, - IORING_REGISTER_ZCRX_IFQ = 32, - IORING_REGISTER_RESIZE_RINGS = 33, - IORING_REGISTER_MEM_REGION = 34, - IORING_REGISTER_LAST = 35, - IORING_REGISTER_USE_REGISTERED_RING = 2147483648, -}; - -enum io_uring_register_pbuf_ring_flags { - IOU_PBUF_RING_MMAP = 1, - IOU_PBUF_RING_INC = 2, -}; - -enum io_uring_register_restriction_op { - IORING_RESTRICTION_REGISTER_OP = 0, - IORING_RESTRICTION_SQE_OP = 1, - IORING_RESTRICTION_SQE_FLAGS_ALLOWED = 2, - IORING_RESTRICTION_SQE_FLAGS_REQUIRED = 3, - IORING_RESTRICTION_LAST = 4, -}; - -enum io_uring_socket_op { - SOCKET_URING_OP_SIOCINQ = 0, - SOCKET_URING_OP_SIOCOUTQ = 1, - SOCKET_URING_OP_GETSOCKOPT = 2, - SOCKET_URING_OP_SETSOCKOPT = 3, - SOCKET_URING_OP_TX_TIMESTAMP = 4, -}; - -enum io_uring_sqe_flags_bit { - IOSQE_FIXED_FILE_BIT = 0, - IOSQE_IO_DRAIN_BIT = 1, - IOSQE_IO_LINK_BIT = 2, - IOSQE_IO_HARDLINK_BIT = 3, - IOSQE_ASYNC_BIT = 4, - IOSQE_BUFFER_SELECT_BIT = 5, - IOSQE_CQE_SKIP_SUCCESS_BIT = 6, -}; - -enum io_uring_zcrx_area_flags { - IORING_ZCRX_AREA_DMABUF = 1, -}; - -enum io_wq_cancel { - IO_WQ_CANCEL_OK = 0, - IO_WQ_CANCEL_RUNNING = 1, - IO_WQ_CANCEL_NOTFOUND = 2, -}; - -enum io_wq_type { - IO_WQ_BOUND = 0, - IO_WQ_UNBOUND = 1, -}; - -enum ioam6_event_attr { - IOAM6_EVENT_ATTR_UNSPEC = 0, - IOAM6_EVENT_ATTR_TRACE_NAMESPACE = 1, - IOAM6_EVENT_ATTR_TRACE_NODELEN = 2, - IOAM6_EVENT_ATTR_TRACE_TYPE = 3, - IOAM6_EVENT_ATTR_TRACE_DATA = 4, - __IOAM6_EVENT_ATTR_MAX = 5, -}; - -enum ioam6_event_type { - IOAM6_EVENT_UNSPEC = 0, - IOAM6_EVENT_TRACE = 1, -}; - -enum ioapic_domain_type { - IOAPIC_DOMAIN_INVALID = 0, - IOAPIC_DOMAIN_LEGACY = 1, - IOAPIC_DOMAIN_STRICT = 2, - IOAPIC_DOMAIN_DYNAMIC = 3, -}; - -enum ioc_running { - IOC_IDLE = 0, - IOC_RUNNING = 1, - IOC_STOP = 2, -}; - -enum iommu_cap { - IOMMU_CAP_CACHE_COHERENCY = 0, - IOMMU_CAP_NOEXEC = 1, - IOMMU_CAP_PRE_BOOT_PROTECTION = 2, - IOMMU_CAP_ENFORCE_CACHE_COHERENCY = 3, - IOMMU_CAP_DEFERRED_FLUSH = 4, - IOMMU_CAP_DIRTY_TRACKING = 5, -}; - -enum iommu_dma_queue_type { - IOMMU_DMA_OPTS_PER_CPU_QUEUE = 0, - IOMMU_DMA_OPTS_SINGLE_QUEUE = 1, -}; - -enum iommu_domain_cookie_type { - IOMMU_COOKIE_NONE = 0, - IOMMU_COOKIE_DMA_IOVA = 1, - IOMMU_COOKIE_DMA_MSI = 2, - IOMMU_COOKIE_FAULT_HANDLER = 3, - IOMMU_COOKIE_SVA = 4, - IOMMU_COOKIE_IOMMUFD = 5, -}; - -enum iommu_fault_type { - IOMMU_FAULT_PAGE_REQ = 1, -}; - -enum iommu_hw_info_type { - IOMMU_HW_INFO_TYPE_NONE = 0, - IOMMU_HW_INFO_TYPE_DEFAULT = 0, - IOMMU_HW_INFO_TYPE_INTEL_VTD = 1, - IOMMU_HW_INFO_TYPE_ARM_SMMUV3 = 2, - IOMMU_HW_INFO_TYPE_TEGRA241_CMDQV = 3, -}; - -enum iommu_hw_info_vtd_flags { - IOMMU_HW_INFO_VTD_ERRATA_772415_SPR17 = 1, -}; - -enum iommu_hw_queue_type { - IOMMU_HW_QUEUE_TYPE_DEFAULT = 0, - IOMMU_HW_QUEUE_TYPE_TEGRA241_CMDQV = 1, -}; - -enum iommu_hwpt_data_type { - IOMMU_HWPT_DATA_NONE = 0, - IOMMU_HWPT_DATA_VTD_S1 = 1, - IOMMU_HWPT_DATA_ARM_SMMUV3 = 2, -}; - -enum iommu_hwpt_invalidate_data_type { - IOMMU_HWPT_INVALIDATE_DATA_VTD_S1 = 0, - IOMMU_VIOMMU_INVALIDATE_DATA_ARM_SMMUV3 = 1, -}; - -enum iommu_hwpt_vtd_s1_flags { - IOMMU_VTD_S1_SRE = 1, - IOMMU_VTD_S1_EAFE = 2, - IOMMU_VTD_S1_WPE = 4, -}; - -enum iommu_hwpt_vtd_s1_invalidate_flags { - IOMMU_VTD_INV_FLAGS_LEAF = 1, -}; - -enum iommu_init_state { - IOMMU_START_STATE = 0, - IOMMU_IVRS_DETECTED = 1, - IOMMU_ACPI_FINISHED = 2, - IOMMU_ENABLED = 3, - IOMMU_PCI_INIT = 4, - IOMMU_INTERRUPTS_EN = 5, - IOMMU_INITIALIZED = 6, - IOMMU_NOT_FOUND = 7, - IOMMU_INIT_ERROR = 8, - IOMMU_CMDLINE_DISABLED = 9, -}; - -enum iommu_page_response_code { - IOMMU_PAGE_RESP_SUCCESS = 0, - IOMMU_PAGE_RESP_INVALID = 1, - IOMMU_PAGE_RESP_FAILURE = 2, -}; - -enum iommu_resv_type { - IOMMU_RESV_DIRECT = 0, - IOMMU_RESV_DIRECT_RELAXABLE = 1, - IOMMU_RESV_RESERVED = 2, - IOMMU_RESV_MSI = 3, - IOMMU_RESV_SW_MSI = 4, -}; - -enum iommu_veventq_type { - IOMMU_VEVENTQ_TYPE_DEFAULT = 0, - IOMMU_VEVENTQ_TYPE_ARM_SMMUV3 = 1, - IOMMU_VEVENTQ_TYPE_TEGRA241_CMDQV = 2, -}; - -enum iommu_viommu_type { - IOMMU_VIOMMU_TYPE_DEFAULT = 0, - IOMMU_VIOMMU_TYPE_ARM_SMMUV3 = 1, - IOMMU_VIOMMU_TYPE_TEGRA241_CMDQV = 2, -}; - -enum iommufd_hwpt_alloc_flags { - IOMMU_HWPT_ALLOC_NEST_PARENT = 1, - IOMMU_HWPT_ALLOC_DIRTY_TRACKING = 2, - IOMMU_HWPT_FAULT_ID_VALID = 4, - IOMMU_HWPT_ALLOC_PASID = 8, -}; - -enum iommufd_object_type { - IOMMUFD_OBJ_NONE = 0, - IOMMUFD_OBJ_ANY = 0, - IOMMUFD_OBJ_DEVICE = 1, - IOMMUFD_OBJ_HWPT_PAGING = 2, - IOMMUFD_OBJ_HWPT_NESTED = 3, - IOMMUFD_OBJ_IOAS = 4, - IOMMUFD_OBJ_ACCESS = 5, - IOMMUFD_OBJ_FAULT = 6, - IOMMUFD_OBJ_VIOMMU = 7, - IOMMUFD_OBJ_VDEVICE = 8, - IOMMUFD_OBJ_VEVENTQ = 9, - IOMMUFD_OBJ_HW_QUEUE = 10, - IOMMUFD_OBJ_MAX = 11, -}; - -enum ip6_defrag_users { - IP6_DEFRAG_LOCAL_DELIVER = 0, - IP6_DEFRAG_CONNTRACK_IN = 1, - __IP6_DEFRAG_CONNTRACK_IN = 65536, - IP6_DEFRAG_CONNTRACK_OUT = 65537, - __IP6_DEFRAG_CONNTRACK_OUT = 131072, - IP6_DEFRAG_CONNTRACK_BRIDGE_IN = 131073, - __IP6_DEFRAG_CONNTRACK_BRIDGE_IN = 196608, -}; - -enum ip_conntrack_dir { - IP_CT_DIR_ORIGINAL = 0, - IP_CT_DIR_REPLY = 1, - IP_CT_DIR_MAX = 2, -}; - -enum ip_conntrack_info { - IP_CT_ESTABLISHED = 0, - IP_CT_RELATED = 1, - IP_CT_NEW = 2, - IP_CT_IS_REPLY = 3, - IP_CT_ESTABLISHED_REPLY = 3, - IP_CT_RELATED_REPLY = 4, - IP_CT_NUMBER = 5, - IP_CT_UNTRACKED = 7, -}; - -enum ip_conntrack_status { - IPS_EXPECTED_BIT = 0, - IPS_EXPECTED = 1, - IPS_SEEN_REPLY_BIT = 1, - IPS_SEEN_REPLY = 2, - IPS_ASSURED_BIT = 2, - IPS_ASSURED = 4, - IPS_CONFIRMED_BIT = 3, - IPS_CONFIRMED = 8, - IPS_SRC_NAT_BIT = 4, - IPS_SRC_NAT = 16, - IPS_DST_NAT_BIT = 5, - IPS_DST_NAT = 32, - IPS_NAT_MASK = 48, - IPS_SEQ_ADJUST_BIT = 6, - IPS_SEQ_ADJUST = 64, - IPS_SRC_NAT_DONE_BIT = 7, - IPS_SRC_NAT_DONE = 128, - IPS_DST_NAT_DONE_BIT = 8, - IPS_DST_NAT_DONE = 256, - IPS_NAT_DONE_MASK = 384, - IPS_DYING_BIT = 9, - IPS_DYING = 512, - IPS_FIXED_TIMEOUT_BIT = 10, - IPS_FIXED_TIMEOUT = 1024, - IPS_TEMPLATE_BIT = 11, - IPS_TEMPLATE = 2048, - IPS_UNTRACKED_BIT = 12, - IPS_UNTRACKED = 4096, - IPS_NAT_CLASH_BIT = 12, - IPS_NAT_CLASH = 4096, - IPS_HELPER_BIT = 13, - IPS_HELPER = 8192, - IPS_OFFLOAD_BIT = 14, - IPS_OFFLOAD = 16384, - IPS_HW_OFFLOAD_BIT = 15, - IPS_HW_OFFLOAD = 32768, - IPS_UNCHANGEABLE_MASK = 56313, - __IPS_MAX_BIT = 16, -}; - -enum ip_defrag_users { - IP_DEFRAG_LOCAL_DELIVER = 0, - IP_DEFRAG_CALL_RA_CHAIN = 1, - IP_DEFRAG_CONNTRACK_IN = 2, - __IP_DEFRAG_CONNTRACK_IN_END = 65537, - IP_DEFRAG_CONNTRACK_OUT = 65538, - __IP_DEFRAG_CONNTRACK_OUT_END = 131073, - IP_DEFRAG_CONNTRACK_BRIDGE_IN = 131074, - __IP_DEFRAG_CONNTRACK_BRIDGE_IN = 196609, - IP_DEFRAG_VS_IN = 196610, - IP_DEFRAG_VS_OUT = 196611, - IP_DEFRAG_VS_FWD = 196612, - IP_DEFRAG_AF_PACKET = 196613, - IP_DEFRAG_MACVLAN = 196614, -}; - -enum ipe_action_type { - IPE_ACTION_ALLOW = 0, - IPE_ACTION_DENY = 1, - __IPE_ACTION_MAX = 2, -}; - -enum ipe_hook_type { - IPE_HOOK_BPRM_CHECK = 0, - IPE_HOOK_MMAP = 1, - IPE_HOOK_MPROTECT = 2, - IPE_HOOK_KERNEL_READ = 3, - IPE_HOOK_KERNEL_LOAD = 4, - __IPE_HOOK_MAX = 5, -}; - -enum ipe_match { - IPE_MATCH_RULE = 0, - IPE_MATCH_TABLE = 1, - IPE_MATCH_GLOBAL = 2, - __IPE_MATCH_MAX = 3, -}; - -enum ipe_op_type { - IPE_OP_EXEC = 0, - IPE_OP_FIRMWARE = 1, - IPE_OP_KERNEL_MODULE = 2, - IPE_OP_KEXEC_IMAGE = 3, - IPE_OP_KEXEC_INITRAMFS = 4, - IPE_OP_POLICY = 5, - IPE_OP_X509 = 6, - __IPE_OP_MAX = 7, -}; - -enum ipe_prop_type { - IPE_PROP_BOOT_VERIFIED_FALSE = 0, - IPE_PROP_BOOT_VERIFIED_TRUE = 1, - IPE_PROP_DMV_ROOTHASH = 2, - IPE_PROP_DMV_SIG_FALSE = 3, - IPE_PROP_DMV_SIG_TRUE = 4, - IPE_PROP_FSV_DIGEST = 5, - IPE_PROP_FSV_SIG_FALSE = 6, - IPE_PROP_FSV_SIG_TRUE = 7, - __IPE_PROP_MAX = 8, -}; - -enum ipi_vector { - XEN_RESCHEDULE_VECTOR = 0, - XEN_CALL_FUNCTION_VECTOR = 1, - XEN_CALL_FUNCTION_SINGLE_VECTOR = 2, - XEN_SPIN_UNLOCK_VECTOR = 3, - XEN_IRQ_WORK_VECTOR = 4, - XEN_NMI_VECTOR = 5, - XEN_NR_IPIS = 6, -}; - -enum ipmi_addr_space { - IPMI_IO_ADDR_SPACE = 0, - IPMI_MEM_ADDR_SPACE = 1, -}; - -enum ipmi_addr_src { - SI_INVALID = 0, - SI_HOTMOD = 1, - SI_HARDCODED = 2, - SI_SPMI = 3, - SI_ACPI = 4, - SI_SMBIOS = 5, - SI_PCI = 6, - SI_DEVICETREE = 7, - SI_PLATFORM = 8, - SI_LAST = 9, -}; - -enum ipmi_plat_interface_type { - IPMI_PLAT_IF_SI = 0, - IPMI_PLAT_IF_SSIF = 1, -}; - -enum irq_alloc_type { - X86_IRQ_ALLOC_TYPE_IOAPIC = 1, - X86_IRQ_ALLOC_TYPE_HPET = 2, - X86_IRQ_ALLOC_TYPE_PCI_MSI = 3, - X86_IRQ_ALLOC_TYPE_PCI_MSIX = 4, - X86_IRQ_ALLOC_TYPE_DMAR = 5, - X86_IRQ_ALLOC_TYPE_AMDVI = 6, - X86_IRQ_ALLOC_TYPE_UV = 7, -}; - -enum irq_domain_bus_token { - DOMAIN_BUS_ANY = 0, - DOMAIN_BUS_WIRED = 1, - DOMAIN_BUS_GENERIC_MSI = 2, - DOMAIN_BUS_PCI_MSI = 3, - DOMAIN_BUS_PLATFORM_MSI = 4, - DOMAIN_BUS_NEXUS = 5, - DOMAIN_BUS_IPI = 6, - DOMAIN_BUS_FSL_MC_MSI = 7, - DOMAIN_BUS_TI_SCI_INTA_MSI = 8, - DOMAIN_BUS_WAKEUP = 9, - DOMAIN_BUS_VMD_MSI = 10, - DOMAIN_BUS_PCI_DEVICE_MSI = 11, - DOMAIN_BUS_PCI_DEVICE_MSIX = 12, - DOMAIN_BUS_DMAR = 13, - DOMAIN_BUS_AMDVI = 14, - DOMAIN_BUS_DEVICE_MSI = 15, - DOMAIN_BUS_WIRED_TO_MSI = 16, -}; - -enum irq_gc_flags { - IRQ_GC_INIT_MASK_CACHE = 1, - IRQ_GC_INIT_NESTED_LOCK = 2, - IRQ_GC_MASK_CACHE_PER_TYPE = 4, - IRQ_GC_NO_MASK = 8, - IRQ_GC_BE_IO = 16, -}; - -enum irq_remap_cap { - IRQ_POSTING_CAP = 0, -}; - -enum irqchip_irq_state { - IRQCHIP_STATE_PENDING = 0, - IRQCHIP_STATE_ACTIVE = 1, - IRQCHIP_STATE_MASKED = 2, - IRQCHIP_STATE_LINE_LEVEL = 3, -}; - -enum irqreturn { - IRQ_NONE = 0, - IRQ_HANDLED = 1, - IRQ_WAKE_THREAD = 2, -}; - -typedef enum irqreturn irqreturn_t; - -enum iter_type { - ITER_UBUF = 0, - ITER_IOVEC = 1, - ITER_BVEC = 2, - ITER_KVEC = 3, - ITER_FOLIOQ = 4, - ITER_XARRAY = 5, - ITER_DISCARD = 6, -}; - -enum its_mitigation { - ITS_MITIGATION_OFF = 0, - ITS_MITIGATION_AUTO = 1, - ITS_MITIGATION_VMEXIT_ONLY = 2, - ITS_MITIGATION_ALIGNED_THUNKS = 3, - ITS_MITIGATION_RETPOLINE_STUFF = 4, -}; - -enum jbd2_shrink_type { - JBD2_SHRINK_DESTROY = 0, - JBD2_SHRINK_BUSY_STOP = 1, - JBD2_SHRINK_BUSY_SKIP = 2, -}; - -enum jbd_state_bits { - BH_JBD = 17, - BH_JWrite = 18, - BH_Freed = 19, - BH_Revoked = 20, - BH_RevokeValid = 21, - BH_JBDDirty = 22, - BH_JournalHead = 23, - BH_Shadow = 24, - BH_Verified = 25, - BH_JBDPrivateStart = 26, -}; - -enum jump_label_type { - JUMP_LABEL_NOP = 0, - JUMP_LABEL_JMP = 1, -}; - -enum kcmp_type { - KCMP_FILE = 0, - KCMP_VM = 1, - KCMP_FILES = 2, - KCMP_FS = 3, - KCMP_SIGHAND = 4, - KCMP_IO = 5, - KCMP_SYSVSEM = 6, - KCMP_EPOLL_TFD = 7, - KCMP_TYPES = 8, -}; - -enum kcore_type { - KCORE_TEXT = 0, - KCORE_VMALLOC = 1, - KCORE_RAM = 2, - KCORE_VMEMMAP = 3, - KCORE_USER = 4, -}; - -enum kdb_msgsrc { - KDB_MSGSRC_INTERNAL = 0, - KDB_MSGSRC_PRINTK = 1, -}; - -enum kernel_gp_hint { - GP_NO_HINT = 0, - GP_NON_CANONICAL = 1, - GP_CANONICAL = 2, -}; - -enum kernel_load_data_id { - LOADING_UNKNOWN = 0, - LOADING_FIRMWARE = 1, - LOADING_MODULE = 2, - LOADING_KEXEC_IMAGE = 3, - LOADING_KEXEC_INITRAMFS = 4, - LOADING_POLICY = 5, - LOADING_X509_CERTIFICATE = 6, - LOADING_MAX_ID = 7, -}; - -enum kernel_pkey_operation { - kernel_pkey_encrypt = 0, - kernel_pkey_decrypt = 1, - kernel_pkey_sign = 2, - kernel_pkey_verify = 3, -}; - -enum kernel_read_file_id { - READING_UNKNOWN = 0, - READING_FIRMWARE = 1, - READING_MODULE = 2, - READING_KEXEC_IMAGE = 3, - READING_KEXEC_INITRAMFS = 4, - READING_POLICY = 5, - READING_X509_CERTIFICATE = 6, - READING_MAX_ID = 7, -}; - -enum kernfs_node_flag { - KERNFS_ACTIVATED = 16, - KERNFS_NS = 32, - KERNFS_HAS_SEQ_SHOW = 64, - KERNFS_HAS_MMAP = 128, - KERNFS_LOCKDEP = 256, - KERNFS_HIDDEN = 512, - KERNFS_SUICIDAL = 1024, - KERNFS_SUICIDED = 2048, - KERNFS_EMPTY_DIR = 4096, - KERNFS_HAS_RELEASE = 8192, - KERNFS_REMOVING = 16384, -}; - -enum kernfs_node_type { - KERNFS_DIR = 1, - KERNFS_FILE = 2, - KERNFS_LINK = 4, -}; - -enum kernfs_root_flag { - KERNFS_ROOT_CREATE_DEACTIVATED = 1, - KERNFS_ROOT_EXTRA_OPEN_PERM_CHECK = 2, - KERNFS_ROOT_SUPPORT_EXPORTOP = 4, - KERNFS_ROOT_SUPPORT_USER_XATTR = 8, - KERNFS_ROOT_INVARIANT_PARENT = 16, -}; - -enum key_being_used_for { - VERIFYING_MODULE_SIGNATURE = 0, - VERIFYING_FIRMWARE_SIGNATURE = 1, - VERIFYING_KEXEC_PE_SIGNATURE = 2, - VERIFYING_KEY_SIGNATURE = 3, - VERIFYING_KEY_SELF_SIGNATURE = 4, - VERIFYING_UNSPECIFIED_SIGNATURE = 5, - NR__KEY_BEING_USED_FOR = 6, -}; - -enum key_lookup_flag { - KEY_LOOKUP_CREATE = 1, - KEY_LOOKUP_PARTIAL = 2, - KEY_LOOKUP_ALL = 3, -}; - -enum key_need_perm { - KEY_NEED_UNSPECIFIED = 0, - KEY_NEED_VIEW = 1, - KEY_NEED_READ = 2, - KEY_NEED_WRITE = 3, - KEY_NEED_SEARCH = 4, - KEY_NEED_LINK = 5, - KEY_NEED_SETATTR = 6, - KEY_NEED_UNLINK = 7, - KEY_SYSADMIN_OVERRIDE = 8, - KEY_AUTHTOKEN_OVERRIDE = 9, - KEY_DEFER_PERM_CHECK = 10, -}; - -enum key_notification_subtype { - NOTIFY_KEY_INSTANTIATED = 0, - NOTIFY_KEY_UPDATED = 1, - NOTIFY_KEY_LINKED = 2, - NOTIFY_KEY_UNLINKED = 3, - NOTIFY_KEY_CLEARED = 4, - NOTIFY_KEY_REVOKED = 5, - NOTIFY_KEY_INVALIDATED = 6, - NOTIFY_KEY_SETATTR = 7, -}; - -enum key_state { - KEY_IS_UNINSTANTIATED = 0, - KEY_IS_POSITIVE = 1, -}; - -enum kfence_counter_id { - KFENCE_COUNTER_ALLOCATED = 0, - KFENCE_COUNTER_ALLOCS = 1, - KFENCE_COUNTER_FREES = 2, - KFENCE_COUNTER_ZOMBIES = 3, - KFENCE_COUNTER_BUGS = 4, - KFENCE_COUNTER_SKIP_INCOMPAT = 5, - KFENCE_COUNTER_SKIP_CAPACITY = 6, - KFENCE_COUNTER_SKIP_COVERED = 7, - KFENCE_COUNTER_COUNT = 8, -}; - -enum kfence_error_type { - KFENCE_ERROR_OOB = 0, - KFENCE_ERROR_UAF = 1, - KFENCE_ERROR_CORRUPTION = 2, - KFENCE_ERROR_INVALID = 3, - KFENCE_ERROR_INVALID_FREE = 4, -}; - -enum kfence_object_state { - KFENCE_OBJECT_UNUSED = 0, - KFENCE_OBJECT_ALLOCATED = 1, - KFENCE_OBJECT_RCU_FREEING = 2, - KFENCE_OBJECT_FREED = 3, -}; - -enum kfunc_ptr_arg_type { - KF_ARG_PTR_TO_CTX = 0, - KF_ARG_PTR_TO_ALLOC_BTF_ID = 1, - KF_ARG_PTR_TO_REFCOUNTED_KPTR = 2, - KF_ARG_PTR_TO_DYNPTR = 3, - KF_ARG_PTR_TO_ITER = 4, - KF_ARG_PTR_TO_LIST_HEAD = 5, - KF_ARG_PTR_TO_LIST_NODE = 6, - KF_ARG_PTR_TO_BTF_ID = 7, - KF_ARG_PTR_TO_MEM = 8, - KF_ARG_PTR_TO_MEM_SIZE = 9, - KF_ARG_PTR_TO_CALLBACK = 10, - KF_ARG_PTR_TO_RB_ROOT = 11, - KF_ARG_PTR_TO_RB_NODE = 12, - KF_ARG_PTR_TO_NULL = 13, - KF_ARG_PTR_TO_CONST_STR = 14, - KF_ARG_PTR_TO_MAP = 15, - KF_ARG_PTR_TO_WORKQUEUE = 16, - KF_ARG_PTR_TO_IRQ_FLAG = 17, - KF_ARG_PTR_TO_RES_SPIN_LOCK = 18, -}; - -enum kgdb_bpstate { - BP_UNDEFINED = 0, - BP_REMOVED = 1, - BP_SET = 2, - BP_ACTIVE = 3, -}; - -enum kgdb_bptype { - BP_BREAKPOINT = 0, - BP_HARDWARE_BREAKPOINT = 1, - BP_WRITE_WATCHPOINT = 2, - BP_READ_WATCHPOINT = 3, - BP_ACCESS_WATCHPOINT = 4, - BP_POKE_BREAKPOINT = 5, -}; - -enum kho_event { - KEXEC_KHO_FINALIZE = 0, - KEXEC_KHO_ABORT = 1, -}; - -enum kmalloc_cache_type { - KMALLOC_NORMAL = 0, - KMALLOC_RANDOM_START = 0, - KMALLOC_RANDOM_END = 15, - KMALLOC_RECLAIM = 16, - KMALLOC_DMA = 17, - KMALLOC_CGROUP = 18, - NR_KMALLOC_TYPES = 19, -}; - -enum kmsg_dump_reason { - KMSG_DUMP_UNDEF = 0, - KMSG_DUMP_PANIC = 1, - KMSG_DUMP_OOPS = 2, - KMSG_DUMP_EMERG = 3, - KMSG_DUMP_SHUTDOWN = 4, - KMSG_DUMP_MAX = 5, -}; - -enum kobj_ns_type { - KOBJ_NS_TYPE_NONE = 0, - KOBJ_NS_TYPE_NET = 1, - KOBJ_NS_TYPES = 2, -}; - -enum kobject_action { - KOBJ_ADD = 0, - KOBJ_REMOVE = 1, - KOBJ_CHANGE = 2, - KOBJ_MOVE = 3, - KOBJ_ONLINE = 4, - KOBJ_OFFLINE = 5, - KOBJ_BIND = 6, - KOBJ_UNBIND = 7, -}; - -enum kpage_operation { - KPAGE_FLAGS = 0, - KPAGE_COUNT = 1, - KPAGE_CGROUP = 2, -}; - -enum kprobe_slot_state { - SLOT_CLEAN = 0, - SLOT_DIRTY = 1, - SLOT_USED = 2, -}; - -enum ksm_advisor_type { - KSM_ADVISOR_NONE = 0, - KSM_ADVISOR_SCAN_TIME = 1, -}; - -enum ksm_get_folio_flags { - KSM_GET_FOLIO_NOLOCK = 0, - KSM_GET_FOLIO_LOCK = 1, - KSM_GET_FOLIO_TRYLOCK = 2, -}; - -enum kvm_apic_logical_mode { - KVM_APIC_MODE_SW_DISABLED = 0, - KVM_APIC_MODE_XAPIC_CLUSTER = 1, - KVM_APIC_MODE_XAPIC_FLAT = 2, - KVM_APIC_MODE_X2APIC = 3, - KVM_APIC_MODE_MAP_DISABLED = 4, -}; - -enum kvm_bus { - KVM_MMIO_BUS = 0, - KVM_PIO_BUS = 1, - KVM_VIRTIO_CCW_NOTIFY_BUS = 2, - KVM_FAST_MMIO_BUS = 3, - KVM_IOCSR_BUS = 4, - KVM_NR_BUSES = 5, -}; - -enum kvm_irqchip_mode { - KVM_IRQCHIP_NONE = 0, - KVM_IRQCHIP_KERNEL = 1, - KVM_IRQCHIP_SPLIT = 2, -}; - -enum kvm_only_cpuid_leafs { - CPUID_12_EAX = 22, - CPUID_7_1_EDX = 23, - CPUID_8000_0007_EDX = 24, - CPUID_8000_0022_EAX = 25, - CPUID_7_2_EDX = 26, - CPUID_24_0_EBX = 27, - CPUID_8000_0021_ECX = 28, - NR_KVM_CPU_CAPS = 29, - NKVMCAPINTS = 7, -}; - -enum kvm_reg { - VCPU_REGS_RAX = 0, - VCPU_REGS_RCX = 1, - VCPU_REGS_RDX = 2, - VCPU_REGS_RBX = 3, - VCPU_REGS_RSP = 4, - VCPU_REGS_RBP = 5, - VCPU_REGS_RSI = 6, - VCPU_REGS_RDI = 7, - VCPU_REGS_R8 = 8, - VCPU_REGS_R9 = 9, - VCPU_REGS_R10 = 10, - VCPU_REGS_R11 = 11, - VCPU_REGS_R12 = 12, - VCPU_REGS_R13 = 13, - VCPU_REGS_R14 = 14, - VCPU_REGS_R15 = 15, - VCPU_REGS_RIP = 16, - NR_VCPU_REGS = 17, - VCPU_EXREG_PDPTR = 17, - VCPU_EXREG_CR0 = 18, - VCPU_EXREG_CR3 = 19, - VCPU_EXREG_CR4 = 20, - VCPU_EXREG_RFLAGS = 21, - VCPU_EXREG_SEGMENTS = 22, - VCPU_EXREG_EXIT_INFO_1 = 23, - VCPU_EXREG_EXIT_INFO_2 = 24, -}; - -enum kvm_stat_kind { - KVM_STAT_VM = 0, - KVM_STAT_VCPU = 1, -}; - -enum l1d_flush_mitigations { - L1D_FLUSH_OFF = 0, - L1D_FLUSH_ON = 1, -}; - -enum l1tf_mitigations { - L1TF_MITIGATION_OFF = 0, - L1TF_MITIGATION_AUTO = 1, - L1TF_MITIGATION_FLUSH_NOWARN = 2, - L1TF_MITIGATION_FLUSH = 3, - L1TF_MITIGATION_FLUSH_NOSMT = 4, - L1TF_MITIGATION_FULL = 5, - L1TF_MITIGATION_FULL_FORCE = 6, -}; - -enum l2tp_debug_flags { - L2TP_MSG_DEBUG = 1, - L2TP_MSG_CONTROL = 2, - L2TP_MSG_SEQ = 4, - L2TP_MSG_DATA = 8, -}; - -enum l3mdev_type { - L3MDEV_TYPE_UNSPEC = 0, - L3MDEV_TYPE_VRF = 1, - __L3MDEV_TYPE_MAX = 2, -}; - -enum label_flags { - FLAG_HAT = 1, - FLAG_UNCONFINED = 2, - FLAG_NULL = 4, - FLAG_IX_ON_NAME_ERROR = 8, - FLAG_IMMUTIBLE = 16, - FLAG_USER_DEFINED = 32, - FLAG_NO_LIST_REF = 64, - FLAG_NS_COUNT = 128, - FLAG_IN_TREE = 256, - FLAG_PROFILE = 512, - FLAG_EXPLICIT = 1024, - FLAG_STALE = 2048, - FLAG_INTERRUPTIBLE = 4096, - FLAG_REVOKED = 8192, - FLAG_DEBUG1 = 16384, - FLAG_DEBUG2 = 32768, -}; - -enum label_initialized { - LABEL_INVALID = 0, - LABEL_INITIALIZED = 1, - LABEL_PENDING = 2, -}; - -enum landlock_key_type { - LANDLOCK_KEY_INODE = 1, - LANDLOCK_KEY_NET_PORT = 2, -}; - -enum landlock_log_status { - LANDLOCK_LOG_PENDING = 0, - LANDLOCK_LOG_RECORDED = 1, - LANDLOCK_LOG_DISABLED = 2, -}; - -enum landlock_request_type { - LANDLOCK_REQUEST_PTRACE = 1, - LANDLOCK_REQUEST_FS_CHANGE_TOPOLOGY = 2, - LANDLOCK_REQUEST_FS_ACCESS = 3, - LANDLOCK_REQUEST_NET_ACCESS = 4, - LANDLOCK_REQUEST_SCOPE_ABSTRACT_UNIX_SOCKET = 5, - LANDLOCK_REQUEST_SCOPE_SIGNAL = 6, -}; - -enum landlock_rule_type { - LANDLOCK_RULE_PATH_BENEATH = 1, - LANDLOCK_RULE_NET_PORT = 2, -}; - -enum latency_count { - COUNTS_10e2 = 0, - COUNTS_10e3 = 1, - COUNTS_10e4 = 2, - COUNTS_10e5 = 3, - COUNTS_10e6 = 4, - COUNTS_10e7 = 5, - COUNTS_10e8_plus = 6, - COUNTS_MIN = 7, - COUNTS_MAX = 8, - COUNTS_SUM = 9, - COUNTS_NUM = 10, -}; - -enum latency_type { - DMAR_LATENCY_INV_IOTLB = 0, - DMAR_LATENCY_INV_DEVTLB = 1, - DMAR_LATENCY_INV_IEC = 2, - DMAR_LATENCY_NUM = 3, -}; - -enum ldma_chan_on_off { - DMA_CH_OFF = 0, - DMA_CH_ON = 1, -}; - -enum led_brightness { - LED_OFF = 0, - LED_ON = 1, - LED_HALF = 127, - LED_FULL = 255, -}; - -enum led_default_state { - LEDS_DEFSTATE_OFF = 0, - LEDS_DEFSTATE_ON = 1, - LEDS_DEFSTATE_KEEP = 2, -}; - -enum legacy_fs_param { - LEGACY_FS_UNSET_PARAMS = 0, - LEGACY_FS_MONOLITHIC_PARAMS = 1, - LEGACY_FS_INDIVIDUAL_PARAMS = 2, -}; - -enum link_inband_signalling { - LINK_INBAND_DISABLE = 1, - LINK_INBAND_ENABLE = 2, - LINK_INBAND_BYPASS = 4, -}; - -enum linux_mptcp_mib_field { - MPTCP_MIB_NUM = 0, - MPTCP_MIB_MPCAPABLEPASSIVE = 1, - MPTCP_MIB_MPCAPABLEACTIVE = 2, - MPTCP_MIB_MPCAPABLEACTIVEACK = 3, - MPTCP_MIB_MPCAPABLEPASSIVEACK = 4, - MPTCP_MIB_MPCAPABLEPASSIVEFALLBACK = 5, - MPTCP_MIB_MPCAPABLEACTIVEFALLBACK = 6, - MPTCP_MIB_MPCAPABLEACTIVEDROP = 7, - MPTCP_MIB_MPCAPABLEACTIVEDISABLED = 8, - MPTCP_MIB_MPCAPABLEENDPATTEMPT = 9, - MPTCP_MIB_TOKENFALLBACKINIT = 10, - MPTCP_MIB_RETRANSSEGS = 11, - MPTCP_MIB_JOINNOTOKEN = 12, - MPTCP_MIB_JOINSYNRX = 13, - MPTCP_MIB_JOINSYNBACKUPRX = 14, - MPTCP_MIB_JOINSYNACKRX = 15, - MPTCP_MIB_JOINSYNACKBACKUPRX = 16, - MPTCP_MIB_JOINSYNACKMAC = 17, - MPTCP_MIB_JOINACKRX = 18, - MPTCP_MIB_JOINACKMAC = 19, - MPTCP_MIB_JOINREJECTED = 20, - MPTCP_MIB_JOINSYNTX = 21, - MPTCP_MIB_JOINSYNTXCREATSKERR = 22, - MPTCP_MIB_JOINSYNTXBINDERR = 23, - MPTCP_MIB_JOINSYNTXCONNECTERR = 24, - MPTCP_MIB_DSSNOMATCH = 25, - MPTCP_MIB_DSSCORRUPTIONFALLBACK = 26, - MPTCP_MIB_DSSCORRUPTIONRESET = 27, - MPTCP_MIB_INFINITEMAPTX = 28, - MPTCP_MIB_INFINITEMAPRX = 29, - MPTCP_MIB_DSSTCPMISMATCH = 30, - MPTCP_MIB_DATACSUMERR = 31, - MPTCP_MIB_OFOQUEUETAIL = 32, - MPTCP_MIB_OFOQUEUE = 33, - MPTCP_MIB_OFOMERGE = 34, - MPTCP_MIB_NODSSWINDOW = 35, - MPTCP_MIB_DUPDATA = 36, - MPTCP_MIB_ADDADDR = 37, - MPTCP_MIB_ADDADDRTX = 38, - MPTCP_MIB_ADDADDRTXDROP = 39, - MPTCP_MIB_ECHOADD = 40, - MPTCP_MIB_ECHOADDTX = 41, - MPTCP_MIB_ECHOADDTXDROP = 42, - MPTCP_MIB_PORTADD = 43, - MPTCP_MIB_ADDADDRDROP = 44, - MPTCP_MIB_JOINPORTSYNRX = 45, - MPTCP_MIB_JOINPORTSYNACKRX = 46, - MPTCP_MIB_JOINPORTACKRX = 47, - MPTCP_MIB_MISMATCHPORTSYNRX = 48, - MPTCP_MIB_MISMATCHPORTACKRX = 49, - MPTCP_MIB_RMADDR = 50, - MPTCP_MIB_RMADDRDROP = 51, - MPTCP_MIB_RMADDRTX = 52, - MPTCP_MIB_RMADDRTXDROP = 53, - MPTCP_MIB_RMSUBFLOW = 54, - MPTCP_MIB_MPPRIOTX = 55, - MPTCP_MIB_MPPRIORX = 56, - MPTCP_MIB_MPFAILTX = 57, - MPTCP_MIB_MPFAILRX = 58, - MPTCP_MIB_MPFASTCLOSETX = 59, - MPTCP_MIB_MPFASTCLOSERX = 60, - MPTCP_MIB_MPRSTTX = 61, - MPTCP_MIB_MPRSTRX = 62, - MPTCP_MIB_RCVPRUNED = 63, - MPTCP_MIB_SUBFLOWSTALE = 64, - MPTCP_MIB_SUBFLOWRECOVER = 65, - MPTCP_MIB_SNDWNDSHARED = 66, - MPTCP_MIB_RCVWNDSHARED = 67, - MPTCP_MIB_RCVWNDCONFLICTUPDATE = 68, - MPTCP_MIB_RCVWNDCONFLICT = 69, - MPTCP_MIB_CURRESTAB = 70, - MPTCP_MIB_BLACKHOLE = 71, - MPTCP_MIB_MPCAPABLEDATAFALLBACK = 72, - MPTCP_MIB_MD5SIGFALLBACK = 73, - MPTCP_MIB_DSSFALLBACK = 74, - MPTCP_MIB_SIMULTCONNFALLBACK = 75, - MPTCP_MIB_FALLBACKFAILED = 76, - __MPTCP_MIB_MAX = 77, -}; - -enum locality_types { - WRITE_LATENCY = 0, - READ_LATENCY = 1, - WRITE_BANDWIDTH = 2, - READ_BANDWIDTH = 3, -}; - -enum lockdep_ok { - LOCKDEP_STILL_OK = 0, - LOCKDEP_NOW_UNRELIABLE = 1, -}; - -enum lockdown_reason { - LOCKDOWN_NONE = 0, - LOCKDOWN_MODULE_SIGNATURE = 1, - LOCKDOWN_DEV_MEM = 2, - LOCKDOWN_EFI_TEST = 3, - LOCKDOWN_KEXEC = 4, - LOCKDOWN_HIBERNATION = 5, - LOCKDOWN_PCI_ACCESS = 6, - LOCKDOWN_IOPORT = 7, - LOCKDOWN_MSR = 8, - LOCKDOWN_ACPI_TABLES = 9, - LOCKDOWN_DEVICE_TREE = 10, - LOCKDOWN_PCMCIA_CIS = 11, - LOCKDOWN_TIOCSSERIAL = 12, - LOCKDOWN_MODULE_PARAMETERS = 13, - LOCKDOWN_MMIOTRACE = 14, - LOCKDOWN_DEBUGFS = 15, - LOCKDOWN_XMON_WR = 16, - LOCKDOWN_BPF_WRITE_USER = 17, - LOCKDOWN_DBG_WRITE_KERNEL = 18, - LOCKDOWN_RTAS_ERROR_INJECTION = 19, - LOCKDOWN_INTEGRITY_MAX = 20, - LOCKDOWN_KCORE = 21, - LOCKDOWN_KPROBES = 22, - LOCKDOWN_BPF_READ_KERNEL = 23, - LOCKDOWN_DBG_READ_KERNEL = 24, - LOCKDOWN_PERF = 25, - LOCKDOWN_TRACEFS = 26, - LOCKDOWN_XMON_RW = 27, - LOCKDOWN_XFRM_SECRET = 28, - LOCKDOWN_CONFIDENTIALITY_MAX = 29, -}; - -enum lp8788_alarm_sel { - LP8788_ALARM_1 = 0, - LP8788_ALARM_2 = 1, - LP8788_ALARM_MAX = 2, -}; - -enum lp8788_charger_event { - NO_CHARGER = 0, - CHARGER_DETECTED = 1, -}; - -enum lp8788_dvs_sel { - DVS_SEL_V0 = 0, - DVS_SEL_V1 = 1, - DVS_SEL_V2 = 2, - DVS_SEL_V3 = 3, -}; - -enum lp8788_int_id { - LP8788_INT_TSDL = 0, - LP8788_INT_TSDH = 1, - LP8788_INT_UVLO = 2, - LP8788_INT_FLAGMON = 3, - LP8788_INT_PWRON_TIME = 4, - LP8788_INT_PWRON = 5, - LP8788_INT_COMP1 = 6, - LP8788_INT_COMP2 = 7, - LP8788_INT_CHG_INPUT_STATE = 8, - LP8788_INT_CHG_STATE = 9, - LP8788_INT_EOC = 10, - LP8788_INT_CHG_RESTART = 11, - LP8788_INT_RESTART_TIMEOUT = 12, - LP8788_INT_FULLCHG_TIMEOUT = 13, - LP8788_INT_PRECHG_TIMEOUT = 14, - LP8788_INT_RTC_ALARM1 = 17, - LP8788_INT_RTC_ALARM2 = 18, - LP8788_INT_ENTER_SYS_SUPPORT = 19, - LP8788_INT_EXIT_SYS_SUPPORT = 20, - LP8788_INT_BATT_LOW = 21, - LP8788_INT_NO_BATT = 22, - LP8788_INT_MAX = 24, -}; - -enum lp8788_isink_number { - LP8788_ISINK_1 = 0, - LP8788_ISINK_2 = 1, - LP8788_ISINK_3 = 2, -}; - -enum lp8788_isink_scale { - LP8788_ISINK_SCALE_100mA = 0, - LP8788_ISINK_SCALE_120mA = 1, -}; - -enum lru_list { - LRU_INACTIVE_ANON = 0, - LRU_ACTIVE_ANON = 1, - LRU_INACTIVE_FILE = 2, - LRU_ACTIVE_FILE = 3, - LRU_UNEVICTABLE = 4, - NR_LRU_LISTS = 5, -}; - -enum lru_status { - LRU_REMOVED = 0, - LRU_REMOVED_RETRY = 1, - LRU_ROTATE = 2, - LRU_SKIP = 3, - LRU_RETRY = 4, - LRU_STOP = 5, -}; - -enum lruvec_flags { - LRUVEC_CGROUP_CONGESTED = 0, - LRUVEC_NODE_CONGESTED = 1, -}; - -enum lsm_event { - LSM_POLICY_CHANGE = 0, -}; - -enum lsm_integrity_type { - LSM_INT_DMVERITY_SIG_VALID = 0, - LSM_INT_DMVERITY_ROOTHASH = 1, - LSM_INT_FSVERITY_BUILTINSIG_VALID = 2, -}; - -enum lsm_order { - LSM_ORDER_FIRST = -1, - LSM_ORDER_MUTABLE = 0, - LSM_ORDER_LAST = 1, -}; - -enum lsm_rule_types { - LSM_OBJ_USER = 0, - LSM_OBJ_ROLE = 1, - LSM_OBJ_TYPE = 2, - LSM_SUBJ_USER = 3, - LSM_SUBJ_ROLE = 4, - LSM_SUBJ_TYPE = 5, -}; - -enum lw_bits { - LW_URGENT = 0, -}; - -enum lwtunnel_encap_types { - LWTUNNEL_ENCAP_NONE = 0, - LWTUNNEL_ENCAP_MPLS = 1, - LWTUNNEL_ENCAP_IP = 2, - LWTUNNEL_ENCAP_ILA = 3, - LWTUNNEL_ENCAP_IP6 = 4, - LWTUNNEL_ENCAP_SEG6 = 5, - LWTUNNEL_ENCAP_BPF = 6, - LWTUNNEL_ENCAP_SEG6_LOCAL = 7, - LWTUNNEL_ENCAP_RPL = 8, - LWTUNNEL_ENCAP_IOAM6 = 9, - LWTUNNEL_ENCAP_XFRM = 10, - __LWTUNNEL_ENCAP_MAX = 11, -}; - -enum lwtunnel_ip6_t { - LWTUNNEL_IP6_UNSPEC = 0, - LWTUNNEL_IP6_ID = 1, - LWTUNNEL_IP6_DST = 2, - LWTUNNEL_IP6_SRC = 3, - LWTUNNEL_IP6_HOPLIMIT = 4, - LWTUNNEL_IP6_TC = 5, - LWTUNNEL_IP6_FLAGS = 6, - LWTUNNEL_IP6_PAD = 7, - LWTUNNEL_IP6_OPTS = 8, - __LWTUNNEL_IP6_MAX = 9, -}; - -enum lwtunnel_ip_t { - LWTUNNEL_IP_UNSPEC = 0, - LWTUNNEL_IP_ID = 1, - LWTUNNEL_IP_DST = 2, - LWTUNNEL_IP_SRC = 3, - LWTUNNEL_IP_TTL = 4, - LWTUNNEL_IP_TOS = 5, - LWTUNNEL_IP_FLAGS = 6, - LWTUNNEL_IP_PAD = 7, - LWTUNNEL_IP_OPTS = 8, - __LWTUNNEL_IP_MAX = 9, -}; - -enum lzma2_seq { - SEQ_CONTROL = 0, - SEQ_UNCOMPRESSED_1 = 1, - SEQ_UNCOMPRESSED_2 = 2, - SEQ_COMPRESSED_0 = 3, - SEQ_COMPRESSED_1 = 4, - SEQ_PROPERTIES = 5, - SEQ_LZMA_PREPARE = 6, - SEQ_LZMA_RUN = 7, - SEQ_COPY = 8, -}; - -enum lzma_state { - STATE_LIT_LIT = 0, - STATE_MATCH_LIT_LIT = 1, - STATE_REP_LIT_LIT = 2, - STATE_SHORTREP_LIT_LIT = 3, - STATE_MATCH_LIT = 4, - STATE_REP_LIT = 5, - STATE_SHORTREP_LIT = 6, - STATE_LIT_MATCH = 7, - STATE_LIT_LONGREP = 8, - STATE_LIT_SHORTREP = 9, - STATE_NONLIT_MATCH = 10, - STATE_NONLIT_REP = 11, -}; - -enum macsec_offload { - MACSEC_OFFLOAD_OFF = 0, - MACSEC_OFFLOAD_PHY = 1, - MACSEC_OFFLOAD_MAC = 2, - __MACSEC_OFFLOAD_END = 3, - MACSEC_OFFLOAD_MAX = 2, -}; - -enum macsec_validation_type { - MACSEC_VALIDATE_DISABLED = 0, - MACSEC_VALIDATE_CHECK = 1, - MACSEC_VALIDATE_STRICT = 2, - __MACSEC_VALIDATE_END = 3, - MACSEC_VALIDATE_MAX = 2, -}; - -enum madvise_lock_mode { - MADVISE_NO_LOCK = 0, - MADVISE_MMAP_READ_LOCK = 1, - MADVISE_MMAP_WRITE_LOCK = 2, - MADVISE_VMA_READ_LOCK = 3, -}; - -enum map_type { - map_wb = 0, - map_uc = 1, -}; - -enum maple_status { - ma_active = 0, - ma_start = 1, - ma_root = 2, - ma_none = 3, - ma_pause = 4, - ma_overflow = 5, - ma_underflow = 6, - ma_error = 7, -}; - -enum maple_type { - maple_dense = 0, - maple_leaf_64 = 1, - maple_range_64 = 2, - maple_arange_64 = 3, -}; - -enum mapping_flags { - AS_EIO = 0, - AS_ENOSPC = 1, - AS_MM_ALL_LOCKS = 2, - AS_UNEVICTABLE = 3, - AS_EXITING = 4, - AS_NO_WRITEBACK_TAGS = 5, - AS_RELEASE_ALWAYS = 6, - AS_STABLE_WRITES = 7, - AS_INACCESSIBLE = 8, - AS_WRITEBACK_MAY_DEADLOCK_ON_RECLAIM = 9, - AS_FOLIO_ORDER_BITS = 5, - AS_FOLIO_ORDER_MIN = 16, - AS_FOLIO_ORDER_MAX = 21, -}; - -enum mapping_status { - MAPPING_OK = 0, - MAPPING_INVALID = 1, - MAPPING_EMPTY = 2, - MAPPING_DATA_FIN = 3, - MAPPING_DUMMY = 4, - MAPPING_BAD_CSUM = 5, - MAPPING_NODSS = 6, -}; - -enum max14577_reg { - MAX14577_REG_DEVICEID = 0, - MAX14577_REG_INT1 = 1, - MAX14577_REG_INT2 = 2, - MAX14577_REG_INT3 = 3, - MAX14577_REG_STATUS1 = 4, - MAX14577_REG_STATUS2 = 5, - MAX14577_REG_STATUS3 = 6, - MAX14577_REG_INTMASK1 = 7, - MAX14577_REG_INTMASK2 = 8, - MAX14577_REG_INTMASK3 = 9, - MAX14577_REG_CDETCTRL1 = 10, - MAX14577_REG_RFU = 11, - MAX14577_REG_CONTROL1 = 12, - MAX14577_REG_CONTROL2 = 13, - MAX14577_REG_CONTROL3 = 14, - MAX14577_REG_CHGCTRL1 = 15, - MAX14577_REG_CHGCTRL2 = 16, - MAX14577_REG_CHGCTRL3 = 17, - MAX14577_REG_CHGCTRL4 = 18, - MAX14577_REG_CHGCTRL5 = 19, - MAX14577_REG_CHGCTRL6 = 20, - MAX14577_REG_CHGCTRL7 = 21, - MAX14577_REG_END = 22, -}; - -enum max77693_haptic_reg { - MAX77693_HAPTIC_REG_STATUS = 0, - MAX77693_HAPTIC_REG_CONFIG1 = 1, - MAX77693_HAPTIC_REG_CONFIG2 = 2, - MAX77693_HAPTIC_REG_CONFIG_CHNL = 3, - MAX77693_HAPTIC_REG_CONFG_CYC1 = 4, - MAX77693_HAPTIC_REG_CONFG_CYC2 = 5, - MAX77693_HAPTIC_REG_CONFIG_PER1 = 6, - MAX77693_HAPTIC_REG_CONFIG_PER2 = 7, - MAX77693_HAPTIC_REG_CONFIG_PER3 = 8, - MAX77693_HAPTIC_REG_CONFIG_PER4 = 9, - MAX77693_HAPTIC_REG_CONFIG_DUTY1 = 10, - MAX77693_HAPTIC_REG_CONFIG_DUTY2 = 11, - MAX77693_HAPTIC_REG_CONFIG_PWM1 = 12, - MAX77693_HAPTIC_REG_CONFIG_PWM2 = 13, - MAX77693_HAPTIC_REG_CONFIG_PWM3 = 14, - MAX77693_HAPTIC_REG_CONFIG_PWM4 = 15, - MAX77693_HAPTIC_REG_REV = 16, - MAX77693_HAPTIC_REG_END = 17, -}; - -enum max77693_muic_reg { - MAX77693_MUIC_REG_ID = 0, - MAX77693_MUIC_REG_INT1 = 1, - MAX77693_MUIC_REG_INT2 = 2, - MAX77693_MUIC_REG_INT3 = 3, - MAX77693_MUIC_REG_STATUS1 = 4, - MAX77693_MUIC_REG_STATUS2 = 5, - MAX77693_MUIC_REG_STATUS3 = 6, - MAX77693_MUIC_REG_INTMASK1 = 7, - MAX77693_MUIC_REG_INTMASK2 = 8, - MAX77693_MUIC_REG_INTMASK3 = 9, - MAX77693_MUIC_REG_CDETCTRL1 = 10, - MAX77693_MUIC_REG_CDETCTRL2 = 11, - MAX77693_MUIC_REG_CTRL1 = 12, - MAX77693_MUIC_REG_CTRL2 = 13, - MAX77693_MUIC_REG_CTRL3 = 14, - MAX77693_MUIC_REG_END = 15, -}; - -enum max77693_pmic_reg { - MAX77693_LED_REG_IFLASH1 = 0, - MAX77693_LED_REG_IFLASH2 = 1, - MAX77693_LED_REG_ITORCH = 2, - MAX77693_LED_REG_ITORCHTIMER = 3, - MAX77693_LED_REG_FLASH_TIMER = 4, - MAX77693_LED_REG_FLASH_EN = 5, - MAX77693_LED_REG_MAX_FLASH1 = 6, - MAX77693_LED_REG_MAX_FLASH2 = 7, - MAX77693_LED_REG_MAX_FLASH3 = 8, - MAX77693_LED_REG_MAX_FLASH4 = 9, - MAX77693_LED_REG_VOUT_CNTL = 10, - MAX77693_LED_REG_VOUT_FLASH1 = 11, - MAX77693_LED_REG_VOUT_FLASH2 = 12, - MAX77693_LED_REG_FLASH_INT = 14, - MAX77693_LED_REG_FLASH_INT_MASK = 15, - MAX77693_LED_REG_FLASH_STATUS = 16, - MAX77693_PMIC_REG_PMIC_ID1 = 32, - MAX77693_PMIC_REG_PMIC_ID2 = 33, - MAX77693_PMIC_REG_INTSRC = 34, - MAX77693_PMIC_REG_INTSRC_MASK = 35, - MAX77693_PMIC_REG_TOPSYS_INT = 36, - MAX77693_PMIC_REG_TOPSYS_INT_MASK = 38, - MAX77693_PMIC_REG_TOPSYS_STAT = 40, - MAX77693_PMIC_REG_MAINCTRL1 = 42, - MAX77693_PMIC_REG_LSCNFG = 43, - MAX77693_CHG_REG_CHG_INT = 176, - MAX77693_CHG_REG_CHG_INT_MASK = 177, - MAX77693_CHG_REG_CHG_INT_OK = 178, - MAX77693_CHG_REG_CHG_DETAILS_00 = 179, - MAX77693_CHG_REG_CHG_DETAILS_01 = 180, - MAX77693_CHG_REG_CHG_DETAILS_02 = 181, - MAX77693_CHG_REG_CHG_DETAILS_03 = 182, - MAX77693_CHG_REG_CHG_CNFG_00 = 183, - MAX77693_CHG_REG_CHG_CNFG_01 = 184, - MAX77693_CHG_REG_CHG_CNFG_02 = 185, - MAX77693_CHG_REG_CHG_CNFG_03 = 186, - MAX77693_CHG_REG_CHG_CNFG_04 = 187, - MAX77693_CHG_REG_CHG_CNFG_05 = 188, - MAX77693_CHG_REG_CHG_CNFG_06 = 189, - MAX77693_CHG_REG_CHG_CNFG_07 = 190, - MAX77693_CHG_REG_CHG_CNFG_08 = 191, - MAX77693_CHG_REG_CHG_CNFG_09 = 192, - MAX77693_CHG_REG_CHG_CNFG_10 = 193, - MAX77693_CHG_REG_CHG_CNFG_11 = 194, - MAX77693_CHG_REG_CHG_CNFG_12 = 195, - MAX77693_CHG_REG_CHG_CNFG_13 = 196, - MAX77693_CHG_REG_CHG_CNFG_14 = 197, - MAX77693_CHG_REG_SAFEOUT_CTRL = 198, - MAX77693_PMIC_REG_END = 199, -}; - -enum max77693_types { - TYPE_MAX77693_UNKNOWN = 0, - TYPE_MAX77693 = 1, - TYPE_MAX77705 = 2, - TYPE_MAX77843 = 3, - TYPE_MAX77693_NUM = 4, -}; - -enum max77836_fg_reg { - MAX77836_FG_REG_VCELL_MSB = 2, - MAX77836_FG_REG_VCELL_LSB = 3, - MAX77836_FG_REG_SOC_MSB = 4, - MAX77836_FG_REG_SOC_LSB = 5, - MAX77836_FG_REG_MODE_H = 6, - MAX77836_FG_REG_MODE_L = 7, - MAX77836_FG_REG_VERSION_MSB = 8, - MAX77836_FG_REG_VERSION_LSB = 9, - MAX77836_FG_REG_HIBRT_H = 10, - MAX77836_FG_REG_HIBRT_L = 11, - MAX77836_FG_REG_CONFIG_H = 12, - MAX77836_FG_REG_CONFIG_L = 13, - MAX77836_FG_REG_VALRT_MIN = 20, - MAX77836_FG_REG_VALRT_MAX = 21, - MAX77836_FG_REG_CRATE_MSB = 22, - MAX77836_FG_REG_CRATE_LSB = 23, - MAX77836_FG_REG_VRESET = 24, - MAX77836_FG_REG_FGID = 25, - MAX77836_FG_REG_STATUS_H = 26, - MAX77836_FG_REG_STATUS_L = 27, - MAX77836_FG_REG_END = 28, -}; - -enum max77836_pmic_reg { - MAX77836_PMIC_REG_PMIC_ID = 32, - MAX77836_PMIC_REG_PMIC_REV = 33, - MAX77836_PMIC_REG_INTSRC = 34, - MAX77836_PMIC_REG_INTSRC_MASK = 35, - MAX77836_PMIC_REG_TOPSYS_INT = 36, - MAX77836_PMIC_REG_TOPSYS_INT_MASK = 38, - MAX77836_PMIC_REG_TOPSYS_STAT = 40, - MAX77836_PMIC_REG_MRSTB_CNTL = 42, - MAX77836_PMIC_REG_LSCNFG = 43, - MAX77836_LDO_REG_CNFG1_LDO1 = 81, - MAX77836_LDO_REG_CNFG2_LDO1 = 82, - MAX77836_LDO_REG_CNFG1_LDO2 = 83, - MAX77836_LDO_REG_CNFG2_LDO2 = 84, - MAX77836_LDO_REG_CNFG_LDO_BIAS = 85, - MAX77836_COMP_REG_COMP1 = 96, - MAX77836_PMIC_REG_END = 97, -}; - -enum max77843_charger_reg { - MAX77843_CHG_REG_CHG_INT = 176, - MAX77843_CHG_REG_CHG_INT_MASK = 177, - MAX77843_CHG_REG_CHG_INT_OK = 178, - MAX77843_CHG_REG_CHG_DTLS_00 = 179, - MAX77843_CHG_REG_CHG_DTLS_01 = 180, - MAX77843_CHG_REG_CHG_DTLS_02 = 181, - MAX77843_CHG_REG_CHG_CNFG_00 = 183, - MAX77843_CHG_REG_CHG_CNFG_01 = 184, - MAX77843_CHG_REG_CHG_CNFG_02 = 185, - MAX77843_CHG_REG_CHG_CNFG_03 = 186, - MAX77843_CHG_REG_CHG_CNFG_04 = 187, - MAX77843_CHG_REG_CHG_CNFG_06 = 189, - MAX77843_CHG_REG_CHG_CNFG_07 = 190, - MAX77843_CHG_REG_CHG_CNFG_09 = 192, - MAX77843_CHG_REG_CHG_CNFG_10 = 193, - MAX77843_CHG_REG_CHG_CNFG_11 = 194, - MAX77843_CHG_REG_CHG_CNFG_12 = 195, - MAX77843_CHG_REG_END = 196, -}; - -enum max77843_sys_reg { - MAX77843_SYS_REG_PMICID = 0, - MAX77843_SYS_REG_PMICREV = 1, - MAX77843_SYS_REG_MAINCTRL1 = 2, - MAX77843_SYS_REG_INTSRC = 34, - MAX77843_SYS_REG_INTSRCMASK = 35, - MAX77843_SYS_REG_SYSINTSRC = 36, - MAX77843_SYS_REG_SYSINTMASK = 38, - MAX77843_SYS_REG_TOPSYS_STAT = 40, - MAX77843_SYS_REG_SAFEOUTCTRL = 198, - MAX77843_SYS_REG_END = 199, -}; - -enum max8997_haptic_motor_type { - MAX8997_HAPTIC_ERM = 0, - MAX8997_HAPTIC_LRA = 1, -}; - -enum max8997_haptic_pulse_mode { - MAX8997_EXTERNAL_MODE = 0, - MAX8997_INTERNAL_MODE = 1, -}; - -enum max8997_haptic_pwm_divisor { - MAX8997_PWM_DIVISOR_32 = 0, - MAX8997_PWM_DIVISOR_64 = 1, - MAX8997_PWM_DIVISOR_128 = 2, - MAX8997_PWM_DIVISOR_256 = 3, -}; - -enum max8997_haptic_reg { - MAX8997_HAPTIC_REG_GENERAL = 0, - MAX8997_HAPTIC_REG_CONF1 = 1, - MAX8997_HAPTIC_REG_CONF2 = 2, - MAX8997_HAPTIC_REG_DRVCONF = 3, - MAX8997_HAPTIC_REG_CYCLECONF1 = 4, - MAX8997_HAPTIC_REG_CYCLECONF2 = 5, - MAX8997_HAPTIC_REG_SIGCONF1 = 6, - MAX8997_HAPTIC_REG_SIGCONF2 = 7, - MAX8997_HAPTIC_REG_SIGCONF3 = 8, - MAX8997_HAPTIC_REG_SIGCONF4 = 9, - MAX8997_HAPTIC_REG_SIGDC1 = 10, - MAX8997_HAPTIC_REG_SIGDC2 = 11, - MAX8997_HAPTIC_REG_SIGPWMDC1 = 12, - MAX8997_HAPTIC_REG_SIGPWMDC2 = 13, - MAX8997_HAPTIC_REG_SIGPWMDC3 = 14, - MAX8997_HAPTIC_REG_SIGPWMDC4 = 15, - MAX8997_HAPTIC_REG_MTR_REV = 16, - MAX8997_HAPTIC_REG_END = 17, -}; - -enum max8997_irq { - MAX8997_PMICIRQ_PWRONR = 0, - MAX8997_PMICIRQ_PWRONF = 1, - MAX8997_PMICIRQ_PWRON1SEC = 2, - MAX8997_PMICIRQ_JIGONR = 3, - MAX8997_PMICIRQ_JIGONF = 4, - MAX8997_PMICIRQ_LOWBAT2 = 5, - MAX8997_PMICIRQ_LOWBAT1 = 6, - MAX8997_PMICIRQ_JIGR = 7, - MAX8997_PMICIRQ_JIGF = 8, - MAX8997_PMICIRQ_MR = 9, - MAX8997_PMICIRQ_DVS1OK = 10, - MAX8997_PMICIRQ_DVS2OK = 11, - MAX8997_PMICIRQ_DVS3OK = 12, - MAX8997_PMICIRQ_DVS4OK = 13, - MAX8997_PMICIRQ_CHGINS = 14, - MAX8997_PMICIRQ_CHGRM = 15, - MAX8997_PMICIRQ_DCINOVP = 16, - MAX8997_PMICIRQ_TOPOFFR = 17, - MAX8997_PMICIRQ_CHGRSTF = 18, - MAX8997_PMICIRQ_MBCHGTMEXPD = 19, - MAX8997_PMICIRQ_RTC60S = 20, - MAX8997_PMICIRQ_RTCA1 = 21, - MAX8997_PMICIRQ_RTCA2 = 22, - MAX8997_PMICIRQ_SMPL_INT = 23, - MAX8997_PMICIRQ_RTC1S = 24, - MAX8997_PMICIRQ_WTSR = 25, - MAX8997_MUICIRQ_ADCError = 26, - MAX8997_MUICIRQ_ADCLow = 27, - MAX8997_MUICIRQ_ADC = 28, - MAX8997_MUICIRQ_VBVolt = 29, - MAX8997_MUICIRQ_DBChg = 30, - MAX8997_MUICIRQ_DCDTmr = 31, - MAX8997_MUICIRQ_ChgDetRun = 32, - MAX8997_MUICIRQ_ChgTyp = 33, - MAX8997_MUICIRQ_OVP = 34, - MAX8997_IRQ_NR = 35, -}; - -enum max8997_irq_source { - PMIC_INT1 = 0, - PMIC_INT2 = 1, - PMIC_INT3 = 2, - PMIC_INT4 = 3, - FUEL_GAUGE = 4, - MUIC_INT1 = 5, - MUIC_INT2 = 6, - MUIC_INT3 = 7, - GPIO_LOW = 8, - GPIO_HI = 9, - FLASH_STATUS = 10, - MAX8997_IRQ_GROUP_NR = 11, -}; - -enum max8997_led_mode { - MAX8997_NONE = 0, - MAX8997_FLASH_MODE = 1, - MAX8997_MOVIE_MODE = 2, - MAX8997_FLASH_PIN_CONTROL_MODE = 3, - MAX8997_MOVIE_PIN_CONTROL_MODE = 4, -}; - -enum max8997_muic_reg { - MAX8997_MUIC_REG_ID = 0, - MAX8997_MUIC_REG_INT1 = 1, - MAX8997_MUIC_REG_INT2 = 2, - MAX8997_MUIC_REG_INT3 = 3, - MAX8997_MUIC_REG_STATUS1 = 4, - MAX8997_MUIC_REG_STATUS2 = 5, - MAX8997_MUIC_REG_STATUS3 = 6, - MAX8997_MUIC_REG_INTMASK1 = 7, - MAX8997_MUIC_REG_INTMASK2 = 8, - MAX8997_MUIC_REG_INTMASK3 = 9, - MAX8997_MUIC_REG_CDETCTRL = 10, - MAX8997_MUIC_REG_CONTROL1 = 12, - MAX8997_MUIC_REG_CONTROL2 = 13, - MAX8997_MUIC_REG_CONTROL3 = 14, - MAX8997_MUIC_REG_END = 15, -}; - -enum max8997_pmic_reg { - MAX8997_REG_PMIC_ID0 = 0, - MAX8997_REG_PMIC_ID1 = 1, - MAX8997_REG_INTSRC = 2, - MAX8997_REG_INT1 = 3, - MAX8997_REG_INT2 = 4, - MAX8997_REG_INT3 = 5, - MAX8997_REG_INT4 = 6, - MAX8997_REG_INT1MSK = 8, - MAX8997_REG_INT2MSK = 9, - MAX8997_REG_INT3MSK = 10, - MAX8997_REG_INT4MSK = 11, - MAX8997_REG_STATUS1 = 13, - MAX8997_REG_STATUS2 = 14, - MAX8997_REG_STATUS3 = 15, - MAX8997_REG_STATUS4 = 16, - MAX8997_REG_MAINCON1 = 19, - MAX8997_REG_MAINCON2 = 20, - MAX8997_REG_BUCKRAMP = 21, - MAX8997_REG_BUCK1CTRL = 24, - MAX8997_REG_BUCK1DVS1 = 25, - MAX8997_REG_BUCK1DVS2 = 26, - MAX8997_REG_BUCK1DVS3 = 27, - MAX8997_REG_BUCK1DVS4 = 28, - MAX8997_REG_BUCK1DVS5 = 29, - MAX8997_REG_BUCK1DVS6 = 30, - MAX8997_REG_BUCK1DVS7 = 31, - MAX8997_REG_BUCK1DVS8 = 32, - MAX8997_REG_BUCK2CTRL = 33, - MAX8997_REG_BUCK2DVS1 = 34, - MAX8997_REG_BUCK2DVS2 = 35, - MAX8997_REG_BUCK2DVS3 = 36, - MAX8997_REG_BUCK2DVS4 = 37, - MAX8997_REG_BUCK2DVS5 = 38, - MAX8997_REG_BUCK2DVS6 = 39, - MAX8997_REG_BUCK2DVS7 = 40, - MAX8997_REG_BUCK2DVS8 = 41, - MAX8997_REG_BUCK3CTRL = 42, - MAX8997_REG_BUCK3DVS = 43, - MAX8997_REG_BUCK4CTRL = 44, - MAX8997_REG_BUCK4DVS = 45, - MAX8997_REG_BUCK5CTRL = 46, - MAX8997_REG_BUCK5DVS1 = 47, - MAX8997_REG_BUCK5DVS2 = 48, - MAX8997_REG_BUCK5DVS3 = 49, - MAX8997_REG_BUCK5DVS4 = 50, - MAX8997_REG_BUCK5DVS5 = 51, - MAX8997_REG_BUCK5DVS6 = 52, - MAX8997_REG_BUCK5DVS7 = 53, - MAX8997_REG_BUCK5DVS8 = 54, - MAX8997_REG_BUCK6CTRL = 55, - MAX8997_REG_BUCK6BPSKIPCTRL = 56, - MAX8997_REG_BUCK7CTRL = 57, - MAX8997_REG_BUCK7DVS = 58, - MAX8997_REG_LDO1CTRL = 59, - MAX8997_REG_LDO2CTRL = 60, - MAX8997_REG_LDO3CTRL = 61, - MAX8997_REG_LDO4CTRL = 62, - MAX8997_REG_LDO5CTRL = 63, - MAX8997_REG_LDO6CTRL = 64, - MAX8997_REG_LDO7CTRL = 65, - MAX8997_REG_LDO8CTRL = 66, - MAX8997_REG_LDO9CTRL = 67, - MAX8997_REG_LDO10CTRL = 68, - MAX8997_REG_LDO11CTRL = 69, - MAX8997_REG_LDO12CTRL = 70, - MAX8997_REG_LDO13CTRL = 71, - MAX8997_REG_LDO14CTRL = 72, - MAX8997_REG_LDO15CTRL = 73, - MAX8997_REG_LDO16CTRL = 74, - MAX8997_REG_LDO17CTRL = 75, - MAX8997_REG_LDO18CTRL = 76, - MAX8997_REG_LDO21CTRL = 77, - MAX8997_REG_MBCCTRL1 = 80, - MAX8997_REG_MBCCTRL2 = 81, - MAX8997_REG_MBCCTRL3 = 82, - MAX8997_REG_MBCCTRL4 = 83, - MAX8997_REG_MBCCTRL5 = 84, - MAX8997_REG_MBCCTRL6 = 85, - MAX8997_REG_OTPCGHCVS = 86, - MAX8997_REG_SAFEOUTCTRL = 90, - MAX8997_REG_LBCNFG1 = 94, - MAX8997_REG_LBCNFG2 = 95, - MAX8997_REG_BBCCTRL = 96, - MAX8997_REG_FLASH1_CUR = 99, - MAX8997_REG_FLASH2_CUR = 100, - MAX8997_REG_MOVIE_CUR = 101, - MAX8997_REG_GSMB_CUR = 102, - MAX8997_REG_BOOST_CNTL = 103, - MAX8997_REG_LEN_CNTL = 104, - MAX8997_REG_FLASH_CNTL = 105, - MAX8997_REG_WDT_CNTL = 106, - MAX8997_REG_MAXFLASH1 = 107, - MAX8997_REG_MAXFLASH2 = 108, - MAX8997_REG_FLASHSTATUS = 109, - MAX8997_REG_FLASHSTATUSMASK = 110, - MAX8997_REG_GPIOCNTL1 = 112, - MAX8997_REG_GPIOCNTL2 = 113, - MAX8997_REG_GPIOCNTL3 = 114, - MAX8997_REG_GPIOCNTL4 = 115, - MAX8997_REG_GPIOCNTL5 = 116, - MAX8997_REG_GPIOCNTL6 = 117, - MAX8997_REG_GPIOCNTL7 = 118, - MAX8997_REG_GPIOCNTL8 = 119, - MAX8997_REG_GPIOCNTL9 = 120, - MAX8997_REG_GPIOCNTL10 = 121, - MAX8997_REG_GPIOCNTL11 = 122, - MAX8997_REG_GPIOCNTL12 = 123, - MAX8997_REG_LDO1CONFIG = 128, - MAX8997_REG_LDO2CONFIG = 129, - MAX8997_REG_LDO3CONFIG = 130, - MAX8997_REG_LDO4CONFIG = 131, - MAX8997_REG_LDO5CONFIG = 132, - MAX8997_REG_LDO6CONFIG = 133, - MAX8997_REG_LDO7CONFIG = 134, - MAX8997_REG_LDO8CONFIG = 135, - MAX8997_REG_LDO9CONFIG = 136, - MAX8997_REG_LDO10CONFIG = 137, - MAX8997_REG_LDO11CONFIG = 138, - MAX8997_REG_LDO12CONFIG = 139, - MAX8997_REG_LDO13CONFIG = 140, - MAX8997_REG_LDO14CONFIG = 141, - MAX8997_REG_LDO15CONFIG = 142, - MAX8997_REG_LDO16CONFIG = 143, - MAX8997_REG_LDO17CONFIG = 144, - MAX8997_REG_LDO18CONFIG = 145, - MAX8997_REG_LDO21CONFIG = 146, - MAX8997_REG_DVSOKTIMER1 = 151, - MAX8997_REG_DVSOKTIMER2 = 152, - MAX8997_REG_DVSOKTIMER4 = 153, - MAX8997_REG_DVSOKTIMER5 = 154, - MAX8997_REG_PMIC_END = 155, -}; - -enum max8997_types { - TYPE_MAX8997 = 0, - TYPE_MAX8966 = 1, -}; - -enum maxim_device_type { - MAXIM_DEVICE_TYPE_UNKNOWN = 0, - MAXIM_DEVICE_TYPE_MAX14577 = 1, - MAXIM_DEVICE_TYPE_MAX77836 = 2, - MAXIM_DEVICE_TYPE_NUM = 3, -}; - -enum mca_msr { - MCA_CTL = 0, - MCA_STATUS = 1, - MCA_ADDR = 2, - MCA_MISC = 3, -}; - -enum mce_notifier_prios { - MCE_PRIO_LOWEST = 0, - MCE_PRIO_MCELOG = 1, - MCE_PRIO_EDAC = 2, - MCE_PRIO_NFIT = 3, - MCE_PRIO_EXTLOG = 4, - MCE_PRIO_UC = 5, - MCE_PRIO_EARLY = 6, - MCE_PRIO_CEC = 7, - MCE_PRIO_HIGHEST = 7, -}; - -enum mcp_flags { - MCP_TIMESTAMP = 1, - MCP_UC = 2, - MCP_DONTLOG = 4, - MCP_QUEUE_LOG = 8, -}; - -enum mctp_neigh_source { - MCTP_NEIGH_STATIC = 0, - MCTP_NEIGH_DISCOVER = 1, -}; - -enum mctp_phys_binding { - MCTP_PHYS_BINDING_UNSPEC = 0, - MCTP_PHYS_BINDING_SMBUS = 1, - MCTP_PHYS_BINDING_PCIE_VDM = 2, - MCTP_PHYS_BINDING_USB = 3, - MCTP_PHYS_BINDING_KCS = 4, - MCTP_PHYS_BINDING_SERIAL = 5, - MCTP_PHYS_BINDING_I3C = 6, - MCTP_PHYS_BINDING_MMBI = 7, - MCTP_PHYS_BINDING_PCC = 8, - MCTP_PHYS_BINDING_UCIE = 9, - MCTP_PHYS_BINDING_VENDOR = 255, -}; - -enum mctrl_gpio_idx { - UART_GPIO_CTS = 0, - UART_GPIO_DSR = 1, - UART_GPIO_DCD = 2, - UART_GPIO_RNG = 3, - UART_GPIO_RI = 3, - UART_GPIO_RTS = 4, - UART_GPIO_DTR = 5, - UART_GPIO_MAX = 6, -}; - -enum md_ro_state { - MD_RDWR = 0, - MD_RDONLY = 1, - MD_AUTO_READ = 2, - MD_MAX_STATE = 3, -}; - -enum md_submodule_id { - ID_LINEAR = -1, - ID_RAID0 = 0, - ID_RAID1 = 1, - ID_RAID4 = 4, - ID_RAID5 = 5, - ID_RAID6 = 6, - ID_RAID10 = 10, - ID_CLUSTER = 11, - ID_BITMAP = 12, - ID_LLBITMAP = 13, -}; - -enum md_submodule_type { - MD_PERSONALITY = 0, - MD_CLUSTER = 1, - MD_BITMAP = 2, -}; - -enum mddev_flags { - MD_ARRAY_FIRST_USE = 0, - MD_CLOSING = 1, - MD_JOURNAL_CLEAN = 2, - MD_HAS_JOURNAL = 3, - MD_CLUSTER_RESYNC_LOCKED = 4, - MD_FAILFAST_SUPPORTED = 5, - MD_HAS_PPL = 6, - MD_HAS_MULTIPLE_PPLS = 7, - MD_NOT_READY = 8, - MD_BROKEN = 9, - MD_DO_DELETE = 10, - MD_DELETED = 11, -}; - -enum mddev_sb_flags { - MD_SB_CHANGE_DEVS = 0, - MD_SB_CHANGE_CLEAN = 1, - MD_SB_CHANGE_PENDING = 2, - MD_SB_NEED_REWRITE = 3, -}; - -enum mds_mitigations { - MDS_MITIGATION_OFF = 0, - MDS_MITIGATION_AUTO = 1, - MDS_MITIGATION_FULL = 2, - MDS_MITIGATION_VMWERV = 3, -}; - -enum mem_cgroup_events_target { - MEM_CGROUP_TARGET_THRESH = 0, - MEM_CGROUP_TARGET_SOFTLIMIT = 1, - MEM_CGROUP_NTARGETS = 2, -}; - -enum mem_type { - MEM_EMPTY = 0, - MEM_RESERVED = 1, - MEM_UNKNOWN = 2, - MEM_FPM = 3, - MEM_EDO = 4, - MEM_BEDO = 5, - MEM_SDR = 6, - MEM_RDR = 7, - MEM_DDR = 8, - MEM_RDDR = 9, - MEM_RMBS = 10, - MEM_DDR2 = 11, - MEM_FB_DDR2 = 12, - MEM_RDDR2 = 13, - MEM_XDR = 14, - MEM_DDR3 = 15, - MEM_RDDR3 = 16, - MEM_LRDDR3 = 17, - MEM_LPDDR3 = 18, - MEM_DDR4 = 19, - MEM_RDDR4 = 20, - MEM_LRDDR4 = 21, - MEM_LPDDR4 = 22, - MEM_DDR5 = 23, - MEM_RDDR5 = 24, - MEM_LRDDR5 = 25, - MEM_NVDIMM = 26, - MEM_WIO2 = 27, - MEM_HBM2 = 28, - MEM_HBM3 = 29, -}; - -enum membarrier_cmd { - MEMBARRIER_CMD_QUERY = 0, - MEMBARRIER_CMD_GLOBAL = 1, - MEMBARRIER_CMD_GLOBAL_EXPEDITED = 2, - MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED = 4, - MEMBARRIER_CMD_PRIVATE_EXPEDITED = 8, - MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED = 16, - MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE = 32, - MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE = 64, - MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ = 128, - MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_RSEQ = 256, - MEMBARRIER_CMD_GET_REGISTRATIONS = 512, - MEMBARRIER_CMD_SHARED = 1, -}; - -enum membarrier_cmd_flag { - MEMBARRIER_CMD_FLAG_CPU = 1, -}; - -enum memblock_flags { - MEMBLOCK_NONE = 0, - MEMBLOCK_HOTPLUG = 1, - MEMBLOCK_MIRROR = 2, - MEMBLOCK_NOMAP = 4, - MEMBLOCK_DRIVER_MANAGED = 8, - MEMBLOCK_RSRV_NOINIT = 16, - MEMBLOCK_RSRV_KERN = 32, - MEMBLOCK_KHO_SCRATCH = 64, -}; - -enum membw_throttle_mode { - THREAD_THROTTLE_UNDEFINED = 0, - THREAD_THROTTLE_MAX = 1, - THREAD_THROTTLE_PER_THREAD = 2, -}; - -enum memcg_memory_event { - MEMCG_LOW = 0, - MEMCG_HIGH = 1, - MEMCG_MAX = 2, - MEMCG_OOM = 3, - MEMCG_OOM_KILL = 4, - MEMCG_OOM_GROUP_KILL = 5, - MEMCG_SWAP_HIGH = 6, - MEMCG_SWAP_MAX = 7, - MEMCG_SWAP_FAIL = 8, - MEMCG_NR_MEMORY_EVENTS = 9, -}; - -enum memcg_stat_item { - MEMCG_SWAP = 49, - MEMCG_SOCK = 50, - MEMCG_PERCPU_B = 51, - MEMCG_VMALLOC = 52, - MEMCG_KMEM = 53, - MEMCG_ZSWAP_B = 54, - MEMCG_ZSWAPPED = 55, - MEMCG_NR_STAT = 56, -}; - -enum meminit_context { - MEMINIT_EARLY = 0, - MEMINIT_HOTPLUG = 1, -}; - -enum memory_type { - MEMORY_DEVICE_PRIVATE = 1, - MEMORY_DEVICE_COHERENT = 2, - MEMORY_DEVICE_FS_DAX = 3, - MEMORY_DEVICE_GENERIC = 4, - MEMORY_DEVICE_PCI_P2PDMA = 5, -}; - -enum metadata_type { - METADATA_IP_TUNNEL = 0, - METADATA_HW_PORT_MUX = 1, - METADATA_MACSEC = 2, - METADATA_XFRM = 3, -}; - -enum mf_action_page_type { - MF_MSG_KERNEL = 0, - MF_MSG_KERNEL_HIGH_ORDER = 1, - MF_MSG_DIFFERENT_COMPOUND = 2, - MF_MSG_HUGE = 3, - MF_MSG_FREE_HUGE = 4, - MF_MSG_GET_HWPOISON = 5, - MF_MSG_UNMAP_FAILED = 6, - MF_MSG_DIRTY_SWAPCACHE = 7, - MF_MSG_CLEAN_SWAPCACHE = 8, - MF_MSG_DIRTY_MLOCKED_LRU = 9, - MF_MSG_CLEAN_MLOCKED_LRU = 10, - MF_MSG_DIRTY_UNEVICTABLE_LRU = 11, - MF_MSG_CLEAN_UNEVICTABLE_LRU = 12, - MF_MSG_DIRTY_LRU = 13, - MF_MSG_CLEAN_LRU = 14, - MF_MSG_TRUNCATED_LRU = 15, - MF_MSG_BUDDY = 16, - MF_MSG_DAX = 17, - MF_MSG_UNSPLIT_THP = 18, - MF_MSG_ALREADY_POISONED = 19, - MF_MSG_UNKNOWN = 20, -}; - -enum mf_flags { - MF_COUNT_INCREASED = 1, - MF_ACTION_REQUIRED = 2, - MF_MUST_KILL = 4, - MF_SOFT_OFFLINE = 8, - MF_UNPOISON = 16, - MF_SW_SIMULATED = 32, - MF_NO_RETRY = 64, - MF_MEM_PRE_REMOVE = 128, -}; - -enum mf_result { - MF_IGNORED = 0, - MF_FAILED = 1, - MF_DELAYED = 2, - MF_RECOVERED = 3, -}; - -enum mfill_atomic_mode { - MFILL_ATOMIC_COPY = 0, - MFILL_ATOMIC_ZEROPAGE = 1, - MFILL_ATOMIC_CONTINUE = 2, - MFILL_ATOMIC_POISON = 3, - NR_MFILL_ATOMIC_MODES = 4, -}; - -enum migrate_mode { - MIGRATE_ASYNC = 0, - MIGRATE_SYNC_LIGHT = 1, - MIGRATE_SYNC = 2, -}; - -enum migrate_reason { - MR_COMPACTION = 0, - MR_MEMORY_FAILURE = 1, - MR_MEMORY_HOTPLUG = 2, - MR_SYSCALL = 3, - MR_MEMPOLICY_MBIND = 4, - MR_NUMA_MISPLACED = 5, - MR_CONTIG_RANGE = 6, - MR_LONGTERM_PIN = 7, - MR_DEMOTION = 8, - MR_DAMON = 9, - MR_TYPES = 10, -}; - -enum migrate_vma_direction { - MIGRATE_VMA_SELECT_SYSTEM = 1, - MIGRATE_VMA_SELECT_DEVICE_PRIVATE = 2, - MIGRATE_VMA_SELECT_DEVICE_COHERENT = 4, -}; - -enum migratetype { - MIGRATE_UNMOVABLE = 0, - MIGRATE_MOVABLE = 1, - MIGRATE_RECLAIMABLE = 2, - MIGRATE_PCPTYPES = 3, - MIGRATE_HIGHATOMIC = 3, - MIGRATE_CMA = 4, - __MIGRATE_TYPE_END = 4, - MIGRATE_ISOLATE = 5, - MIGRATE_TYPES = 6, -}; - -enum migration_type { - migrate_load = 0, - migrate_util = 1, - migrate_task = 2, - migrate_misfit = 3, -}; - -enum mipi_dsi_compression_algo { - MIPI_DSI_COMPRESSION_DSC = 0, - MIPI_DSI_COMPRESSION_VENDOR = 3, -}; - -enum mipi_dsi_dcs_tear_mode { - MIPI_DSI_DCS_TEAR_MODE_VBLANK = 0, - MIPI_DSI_DCS_TEAR_MODE_VHBLANK = 1, -}; - -enum mipi_dsi_pixel_format { - MIPI_DSI_FMT_RGB888 = 0, - MIPI_DSI_FMT_RGB666 = 1, - MIPI_DSI_FMT_RGB666_PACKED = 2, - MIPI_DSI_FMT_RGB565 = 3, -}; - -enum misc_res_type { - MISC_CG_RES_SEV = 0, - MISC_CG_RES_SEV_ES = 1, - MISC_CG_RES_TDX = 2, - MISC_CG_RES_TYPES = 3, -}; - -enum mm_cid_state { - MM_CID_UNSET = 4294967295, - MM_CID_LAZY_PUT = 2147483648, -}; - -enum mm_io_opcode { - MMIO_READ = 1, - MMIO_WRITE = 2, - MMIO_PROBE = 3, - MMIO_UNPROBE = 4, - MMIO_UNKNOWN_OP = 5, -}; - -enum mmc_busy_cmd { - MMC_BUSY_CMD6 = 0, - MMC_BUSY_ERASE = 1, - MMC_BUSY_HPI = 2, - MMC_BUSY_EXTR_SINGLE = 3, - MMC_BUSY_IO = 4, -}; - -enum mmc_drv_op { - MMC_DRV_OP_IOCTL = 0, - MMC_DRV_OP_IOCTL_RPMB = 1, - MMC_DRV_OP_BOOT_WP = 2, - MMC_DRV_OP_GET_CARD_STATUS = 3, - MMC_DRV_OP_GET_EXT_CSD = 4, -}; - -enum mmc_err_stat { - MMC_ERR_CMD_TIMEOUT = 0, - MMC_ERR_CMD_CRC = 1, - MMC_ERR_DAT_TIMEOUT = 2, - MMC_ERR_DAT_CRC = 3, - MMC_ERR_AUTO_CMD = 4, - MMC_ERR_ADMA = 5, - MMC_ERR_TUNING = 6, - MMC_ERR_CMDQ_RED = 7, - MMC_ERR_CMDQ_GCE = 8, - MMC_ERR_CMDQ_ICCE = 9, - MMC_ERR_REQ_TIMEOUT = 10, - MMC_ERR_CMDQ_REQ_TIMEOUT = 11, - MMC_ERR_ICE_CFG = 12, - MMC_ERR_CTRL_TIMEOUT = 13, - MMC_ERR_UNEXPECTED_IRQ = 14, - MMC_ERR_MAX = 15, -}; - -enum mmc_issue_type { - MMC_ISSUE_SYNC = 0, - MMC_ISSUE_DCMD = 1, - MMC_ISSUE_ASYNC = 2, - MMC_ISSUE_MAX = 3, -}; - -enum mmc_poweroff_type { - MMC_POWEROFF_SUSPEND = 0, - MMC_POWEROFF_SHUTDOWN = 1, - MMC_POWEROFF_UNBIND = 2, -}; - -enum mminit_level { - MMINIT_WARNING = 0, - MMINIT_VERIFY = 1, - MMINIT_TRACE = 2, -}; - -enum mmio_mitigations { - MMIO_MITIGATION_OFF = 0, - MMIO_MITIGATION_AUTO = 1, - MMIO_MITIGATION_UCODE_NEEDED = 2, - MMIO_MITIGATION_VERW = 3, -}; - -enum mmioh_arch { - UV2_MMIOH = -1, - UVY_MMIOH0 = 0, - UVY_MMIOH1 = 1, - UVX_MMIOH0 = 2, - UVX_MMIOH1 = 3, -}; - -enum mmu_notifier_event { - MMU_NOTIFY_UNMAP = 0, - MMU_NOTIFY_CLEAR = 1, - MMU_NOTIFY_PROTECTION_VMA = 2, - MMU_NOTIFY_PROTECTION_PAGE = 3, - MMU_NOTIFY_SOFT_DIRTY = 4, - MMU_NOTIFY_RELEASE = 5, - MMU_NOTIFY_MIGRATE = 6, - MMU_NOTIFY_EXCLUSIVE = 7, -}; - -enum mnt_tree_flags_t { - MNT_TREE_BENEATH = 1, - MNT_TREE_PROPAGATION = 2, -}; - -enum mod_license { - NOT_GPL_ONLY = 0, - GPL_ONLY = 1, -}; - -enum mod_mem_type { - MOD_TEXT = 0, - MOD_DATA = 1, - MOD_RODATA = 2, - MOD_RO_AFTER_INIT = 3, - MOD_INIT_TEXT = 4, - MOD_INIT_DATA = 5, - MOD_INIT_RODATA = 6, - MOD_MEM_NUM_TYPES = 7, - MOD_INVALID = -1, -}; - -enum mode_set_atomic { - LEAVE_ATOMIC_MODE_SET = 0, - ENTER_ATOMIC_MODE_SET = 1, -}; - -enum module_state { - MODULE_STATE_LIVE = 0, - MODULE_STATE_COMING = 1, - MODULE_STATE_GOING = 2, - MODULE_STATE_UNFORMED = 3, -}; - -enum mount_flags { - MNT_NOSUID = 1, - MNT_NODEV = 2, - MNT_NOEXEC = 4, - MNT_NOATIME = 8, - MNT_NODIRATIME = 16, - MNT_RELATIME = 32, - MNT_READONLY = 64, - MNT_NOSYMFOLLOW = 128, - MNT_SHRINKABLE = 256, - MNT_WRITE_HOLD = 512, - MNT_INTERNAL = 16384, - MNT_LOCK_ATIME = 262144, - MNT_LOCK_NOEXEC = 524288, - MNT_LOCK_NOSUID = 1048576, - MNT_LOCK_NODEV = 2097152, - MNT_LOCK_READONLY = 4194304, - MNT_LOCKED = 8388608, - MNT_DOOMED = 16777216, - MNT_SYNC_UMOUNT = 33554432, - MNT_UMOUNT = 134217728, - MNT_USER_SETTABLE_MASK = 255, - MNT_ATIME_MASK = 56, - MNT_INTERNAL_FLAGS = 58737152, -}; - -enum mount_kattr_flags_t { - MOUNT_KATTR_RECURSE = 1, - MOUNT_KATTR_IDMAP_REPLACE = 2, -}; - -enum mousedev_emul { - MOUSEDEV_EMUL_PS2 = 0, - MOUSEDEV_EMUL_IMPS = 1, - MOUSEDEV_EMUL_EXPS = 2, -}; - -enum mp_irq_source_types { - mp_INT = 0, - mp_NMI = 1, - mp_SMI = 2, - mp_ExtINT = 3, -}; - -enum mptcp_addr_signal_status { - MPTCP_ADD_ADDR_SIGNAL = 0, - MPTCP_ADD_ADDR_ECHO = 1, - MPTCP_RM_ADDR_SIGNAL = 2, -}; - -enum mptcp_event_attr { - MPTCP_ATTR_UNSPEC = 0, - MPTCP_ATTR_TOKEN = 1, - MPTCP_ATTR_FAMILY = 2, - MPTCP_ATTR_LOC_ID = 3, - MPTCP_ATTR_REM_ID = 4, - MPTCP_ATTR_SADDR4 = 5, - MPTCP_ATTR_SADDR6 = 6, - MPTCP_ATTR_DADDR4 = 7, - MPTCP_ATTR_DADDR6 = 8, - MPTCP_ATTR_SPORT = 9, - MPTCP_ATTR_DPORT = 10, - MPTCP_ATTR_BACKUP = 11, - MPTCP_ATTR_ERROR = 12, - MPTCP_ATTR_FLAGS = 13, - MPTCP_ATTR_TIMEOUT = 14, - MPTCP_ATTR_IF_IDX = 15, - MPTCP_ATTR_RESET_REASON = 16, - MPTCP_ATTR_RESET_FLAGS = 17, - MPTCP_ATTR_SERVER_SIDE = 18, - __MPTCP_ATTR_MAX = 19, -}; - -enum mptcp_event_type { - MPTCP_EVENT_UNSPEC = 0, - MPTCP_EVENT_CREATED = 1, - MPTCP_EVENT_ESTABLISHED = 2, - MPTCP_EVENT_CLOSED = 3, - MPTCP_EVENT_ANNOUNCED = 6, - MPTCP_EVENT_REMOVED = 7, - MPTCP_EVENT_SUB_ESTABLISHED = 10, - MPTCP_EVENT_SUB_CLOSED = 11, - MPTCP_EVENT_SUB_PRIORITY = 13, - MPTCP_EVENT_LISTENER_CREATED = 15, - MPTCP_EVENT_LISTENER_CLOSED = 16, -}; - -enum mptcp_pm_status { - MPTCP_PM_ADD_ADDR_RECEIVED = 0, - MPTCP_PM_ADD_ADDR_SEND_ACK = 1, - MPTCP_PM_RM_ADDR_RECEIVED = 2, - MPTCP_PM_ESTABLISHED = 3, - MPTCP_PM_SUBFLOW_ESTABLISHED = 4, - MPTCP_PM_ALREADY_ESTABLISHED = 5, - MPTCP_PM_MPC_ENDPOINT_ACCOUNTED = 6, -}; - -enum mptcp_pm_type { - MPTCP_PM_TYPE_KERNEL = 0, - MPTCP_PM_TYPE_USERSPACE = 1, - __MPTCP_PM_TYPE_NR = 2, - __MPTCP_PM_TYPE_MAX = 1, -}; - -enum mq_rq_state { - MQ_RQ_IDLE = 0, - MQ_RQ_IN_FLIGHT = 1, - MQ_RQ_COMPLETE = 2, -}; - -enum mremap_type { - MREMAP_INVALID = 0, - MREMAP_NO_RESIZE = 1, - MREMAP_SHRINK = 2, - MREMAP_EXPAND = 3, -}; - -enum mscode_actions { - ACT_mscode_note_content_type = 0, - ACT_mscode_note_digest = 1, - ACT_mscode_note_digest_algo = 2, - NR__mscode_actions = 3, -}; - -enum msdos_sys_ind { - DOS_EXTENDED_PARTITION = 5, - LINUX_EXTENDED_PARTITION = 133, - WIN98_EXTENDED_PARTITION = 15, - LINUX_DATA_PARTITION = 131, - LINUX_LVM_PARTITION = 142, - LINUX_RAID_PARTITION___3 = 253, - SOLARIS_X86_PARTITION = 130, - NEW_SOLARIS_X86_PARTITION = 191, - DM6_AUX1PARTITION = 81, - DM6_AUX3PARTITION = 83, - DM6_PARTITION = 84, - EZD_PARTITION = 85, - FREEBSD_PARTITION = 165, - OPENBSD_PARTITION = 166, - NETBSD_PARTITION = 169, - BSDI_PARTITION = 183, - MINIX_PARTITION = 129, - UNIXWARE_PARTITION = 99, -}; - -enum msg_type { - SNP_MSG_TYPE_INVALID = 0, - SNP_MSG_CPUID_REQ = 1, - SNP_MSG_CPUID_RSP = 2, - SNP_MSG_KEY_REQ = 3, - SNP_MSG_KEY_RSP = 4, - SNP_MSG_REPORT_REQ = 5, - SNP_MSG_REPORT_RSP = 6, - SNP_MSG_EXPORT_REQ = 7, - SNP_MSG_EXPORT_RSP = 8, - SNP_MSG_IMPORT_REQ = 9, - SNP_MSG_IMPORT_RSP = 10, - SNP_MSG_ABSORB_REQ = 11, - SNP_MSG_ABSORB_RSP = 12, - SNP_MSG_VMRK_REQ = 13, - SNP_MSG_VMRK_RSP = 14, - SNP_MSG_TSC_INFO_REQ = 17, - SNP_MSG_TSC_INFO_RSP = 18, - SNP_MSG_TYPE_MAX = 19, -}; - -enum msi_desc_filter { - MSI_DESC_ALL = 0, - MSI_DESC_NOTASSOCIATED = 1, - MSI_DESC_ASSOCIATED = 2, -}; - -enum msi_domain_ids { - MSI_DEFAULT_DOMAIN = 0, - MSI_MAX_DEVICE_IRQDOMAINS = 1, -}; - -enum mthp_stat_item { - MTHP_STAT_ANON_FAULT_ALLOC = 0, - MTHP_STAT_ANON_FAULT_FALLBACK = 1, - MTHP_STAT_ANON_FAULT_FALLBACK_CHARGE = 2, - MTHP_STAT_ZSWPOUT = 3, - MTHP_STAT_SWPIN = 4, - MTHP_STAT_SWPIN_FALLBACK = 5, - MTHP_STAT_SWPIN_FALLBACK_CHARGE = 6, - MTHP_STAT_SWPOUT = 7, - MTHP_STAT_SWPOUT_FALLBACK = 8, - MTHP_STAT_SHMEM_ALLOC = 9, - MTHP_STAT_SHMEM_FALLBACK = 10, - MTHP_STAT_SHMEM_FALLBACK_CHARGE = 11, - MTHP_STAT_SPLIT = 12, - MTHP_STAT_SPLIT_FAILED = 13, - MTHP_STAT_SPLIT_DEFERRED = 14, - MTHP_STAT_NR_ANON = 15, - MTHP_STAT_NR_ANON_PARTIALLY_MAPPED = 16, - __MTHP_STAT_COUNT = 17, -}; - -enum multi_stop_state { - MULTI_STOP_NONE = 0, - MULTI_STOP_PREPARE = 1, - MULTI_STOP_DISABLE_IRQ = 2, - MULTI_STOP_RUN = 3, - MULTI_STOP_EXIT = 4, -}; - -enum nbcon_prio { - NBCON_PRIO_NONE = 0, - NBCON_PRIO_NORMAL = 1, - NBCON_PRIO_EMERGENCY = 2, - NBCON_PRIO_PANIC = 3, - NBCON_PRIO_MAX = 4, -}; - -enum ncsi_nl_attrs { - NCSI_ATTR_UNSPEC = 0, - NCSI_ATTR_IFINDEX = 1, - NCSI_ATTR_PACKAGE_LIST = 2, - NCSI_ATTR_PACKAGE_ID = 3, - NCSI_ATTR_CHANNEL_ID = 4, - NCSI_ATTR_DATA = 5, - NCSI_ATTR_MULTI_FLAG = 6, - NCSI_ATTR_PACKAGE_MASK = 7, - NCSI_ATTR_CHANNEL_MASK = 8, - __NCSI_ATTR_AFTER_LAST = 9, - NCSI_ATTR_MAX = 8, -}; - -enum ncsi_nl_channel_attrs { - NCSI_CHANNEL_ATTR_UNSPEC = 0, - NCSI_CHANNEL_ATTR = 1, - NCSI_CHANNEL_ATTR_ID = 2, - NCSI_CHANNEL_ATTR_VERSION_MAJOR = 3, - NCSI_CHANNEL_ATTR_VERSION_MINOR = 4, - NCSI_CHANNEL_ATTR_VERSION_STR = 5, - NCSI_CHANNEL_ATTR_LINK_STATE = 6, - NCSI_CHANNEL_ATTR_ACTIVE = 7, - NCSI_CHANNEL_ATTR_FORCED = 8, - NCSI_CHANNEL_ATTR_VLAN_LIST = 9, - NCSI_CHANNEL_ATTR_VLAN_ID = 10, - __NCSI_CHANNEL_ATTR_AFTER_LAST = 11, - NCSI_CHANNEL_ATTR_MAX = 10, -}; - -enum ncsi_nl_commands { - NCSI_CMD_UNSPEC = 0, - NCSI_CMD_PKG_INFO = 1, - NCSI_CMD_SET_INTERFACE = 2, - NCSI_CMD_CLEAR_INTERFACE = 3, - NCSI_CMD_SEND_CMD = 4, - NCSI_CMD_SET_PACKAGE_MASK = 5, - NCSI_CMD_SET_CHANNEL_MASK = 6, - __NCSI_CMD_AFTER_LAST = 7, - NCSI_CMD_MAX = 6, -}; - -enum ncsi_nl_pkg_attrs { - NCSI_PKG_ATTR_UNSPEC = 0, - NCSI_PKG_ATTR = 1, - NCSI_PKG_ATTR_ID = 2, - NCSI_PKG_ATTR_FORCED = 3, - NCSI_PKG_ATTR_CHANNEL_LIST = 4, - __NCSI_PKG_ATTR_AFTER_LAST = 5, - NCSI_PKG_ATTR_MAX = 4, -}; - -enum nd_async_mode { - ND_SYNC = 0, - ND_ASYNC = 1, -}; - -enum nd_driver_flags { - ND_DRIVER_DIMM = 2, - ND_DRIVER_REGION_PMEM = 4, - ND_DRIVER_REGION_BLK = 8, - ND_DRIVER_NAMESPACE_IO = 16, - ND_DRIVER_NAMESPACE_PMEM = 32, - ND_DRIVER_DAX_PMEM = 128, -}; - -enum nd_ioctl_mode { - BUS_IOCTL = 0, - DIMM_IOCTL = 1, -}; - -enum nd_label_flags { - ND_LABEL_REAP = 0, -}; - -enum nd_pfn_mode { - PFN_MODE_NONE = 0, - PFN_MODE_RAM = 1, - PFN_MODE_PMEM = 2, -}; - -enum net_device_flags { - IFF_UP = 1, - IFF_BROADCAST = 2, - IFF_DEBUG = 4, - IFF_LOOPBACK = 8, - IFF_POINTOPOINT = 16, - IFF_NOTRAILERS = 32, - IFF_RUNNING = 64, - IFF_NOARP = 128, - IFF_PROMISC = 256, - IFF_ALLMULTI = 512, - IFF_MASTER = 1024, - IFF_SLAVE = 2048, - IFF_MULTICAST = 4096, - IFF_PORTSEL = 8192, - IFF_AUTOMEDIA = 16384, - IFF_DYNAMIC = 32768, - IFF_LOWER_UP = 65536, - IFF_DORMANT = 131072, - IFF_ECHO = 262144, -}; - -enum net_device_path_type { - DEV_PATH_ETHERNET = 0, - DEV_PATH_VLAN = 1, - DEV_PATH_BRIDGE = 2, - DEV_PATH_PPPOE = 3, - DEV_PATH_DSA = 4, - DEV_PATH_MTK_WDMA = 5, -}; - -enum net_dm_alert_mode { - NET_DM_ALERT_MODE_SUMMARY = 0, - NET_DM_ALERT_MODE_PACKET = 1, -}; - -enum net_dm_attr { - NET_DM_ATTR_UNSPEC = 0, - NET_DM_ATTR_ALERT_MODE = 1, - NET_DM_ATTR_PC = 2, - NET_DM_ATTR_SYMBOL = 3, - NET_DM_ATTR_IN_PORT = 4, - NET_DM_ATTR_TIMESTAMP = 5, - NET_DM_ATTR_PROTO = 6, - NET_DM_ATTR_PAYLOAD = 7, - NET_DM_ATTR_PAD = 8, - NET_DM_ATTR_TRUNC_LEN = 9, - NET_DM_ATTR_ORIG_LEN = 10, - NET_DM_ATTR_QUEUE_LEN = 11, - NET_DM_ATTR_STATS = 12, - NET_DM_ATTR_HW_STATS = 13, - NET_DM_ATTR_ORIGIN = 14, - NET_DM_ATTR_HW_TRAP_GROUP_NAME = 15, - NET_DM_ATTR_HW_TRAP_NAME = 16, - NET_DM_ATTR_HW_ENTRIES = 17, - NET_DM_ATTR_HW_ENTRY = 18, - NET_DM_ATTR_HW_TRAP_COUNT = 19, - NET_DM_ATTR_SW_DROPS = 20, - NET_DM_ATTR_HW_DROPS = 21, - NET_DM_ATTR_FLOW_ACTION_COOKIE = 22, - NET_DM_ATTR_REASON = 23, - __NET_DM_ATTR_MAX = 24, - NET_DM_ATTR_MAX = 23, -}; - -enum net_dm_origin { - NET_DM_ORIGIN_SW = 0, - NET_DM_ORIGIN_HW = 1, -}; - -enum net_iov_type { - NET_IOV_DMABUF = 0ULL, - NET_IOV_IOURING = 1ULL, - NET_IOV_MAX = 18446744073709551615ULL, -}; - -enum net_shaper_binding_type { - NET_SHAPER_BINDING_TYPE_NETDEV = 0, -}; - -enum net_shaper_metric { - NET_SHAPER_METRIC_BPS = 0, - NET_SHAPER_METRIC_PPS = 1, -}; - -enum net_shaper_scope { - NET_SHAPER_SCOPE_UNSPEC = 0, - NET_SHAPER_SCOPE_NETDEV = 1, - NET_SHAPER_SCOPE_QUEUE = 2, - NET_SHAPER_SCOPE_NODE = 3, - __NET_SHAPER_SCOPE_MAX = 4, - NET_SHAPER_SCOPE_MAX = 3, -}; - -enum net_xmit_qdisc_t { - __NET_XMIT_STOLEN = 65536, - __NET_XMIT_BYPASS = 131072, -}; - -enum netdev_cmd { - NETDEV_UP = 1, - NETDEV_DOWN = 2, - NETDEV_REBOOT = 3, - NETDEV_CHANGE = 4, - NETDEV_REGISTER = 5, - NETDEV_UNREGISTER = 6, - NETDEV_CHANGEMTU = 7, - NETDEV_CHANGEADDR = 8, - NETDEV_PRE_CHANGEADDR = 9, - NETDEV_GOING_DOWN = 10, - NETDEV_CHANGENAME = 11, - NETDEV_FEAT_CHANGE = 12, - NETDEV_BONDING_FAILOVER = 13, - NETDEV_PRE_UP = 14, - NETDEV_PRE_TYPE_CHANGE = 15, - NETDEV_POST_TYPE_CHANGE = 16, - NETDEV_POST_INIT = 17, - NETDEV_PRE_UNINIT = 18, - NETDEV_RELEASE = 19, - NETDEV_NOTIFY_PEERS = 20, - NETDEV_JOIN = 21, - NETDEV_CHANGEUPPER = 22, - NETDEV_RESEND_IGMP = 23, - NETDEV_PRECHANGEMTU = 24, - NETDEV_CHANGEINFODATA = 25, - NETDEV_BONDING_INFO = 26, - NETDEV_PRECHANGEUPPER = 27, - NETDEV_CHANGELOWERSTATE = 28, - NETDEV_UDP_TUNNEL_PUSH_INFO = 29, - NETDEV_UDP_TUNNEL_DROP_INFO = 30, - NETDEV_CHANGE_TX_QUEUE_LEN = 31, - NETDEV_CVLAN_FILTER_PUSH_INFO = 32, - NETDEV_CVLAN_FILTER_DROP_INFO = 33, - NETDEV_SVLAN_FILTER_PUSH_INFO = 34, - NETDEV_SVLAN_FILTER_DROP_INFO = 35, - NETDEV_OFFLOAD_XSTATS_ENABLE = 36, - NETDEV_OFFLOAD_XSTATS_DISABLE = 37, - NETDEV_OFFLOAD_XSTATS_REPORT_USED = 38, - NETDEV_OFFLOAD_XSTATS_REPORT_DELTA = 39, - NETDEV_XDP_FEAT_CHANGE = 40, -}; - -enum netdev_lag_hash { - NETDEV_LAG_HASH_NONE = 0, - NETDEV_LAG_HASH_L2 = 1, - NETDEV_LAG_HASH_L34 = 2, - NETDEV_LAG_HASH_L23 = 3, - NETDEV_LAG_HASH_E23 = 4, - NETDEV_LAG_HASH_E34 = 5, - NETDEV_LAG_HASH_VLAN_SRCMAC = 6, - NETDEV_LAG_HASH_UNKNOWN = 7, -}; - -enum netdev_lag_tx_type { - NETDEV_LAG_TX_TYPE_UNKNOWN = 0, - NETDEV_LAG_TX_TYPE_RANDOM = 1, - NETDEV_LAG_TX_TYPE_BROADCAST = 2, - NETDEV_LAG_TX_TYPE_ROUNDROBIN = 3, - NETDEV_LAG_TX_TYPE_ACTIVEBACKUP = 4, - NETDEV_LAG_TX_TYPE_HASH = 5, -}; - -enum netdev_ml_priv_type { - ML_PRIV_NONE = 0, - ML_PRIV_CAN = 1, -}; - -enum netdev_napi_threaded { - NETDEV_NAPI_THREADED_DISABLED = 0, - NETDEV_NAPI_THREADED_ENABLED = 1, -}; - -enum netdev_offload_xstats_type { - NETDEV_OFFLOAD_XSTATS_TYPE_L3 = 1, -}; - -enum netdev_priv_flags { - IFF_802_1Q_VLAN = 1, - IFF_EBRIDGE = 2, - IFF_BONDING = 4, - IFF_ISATAP = 8, - IFF_WAN_HDLC = 16, - IFF_XMIT_DST_RELEASE = 32, - IFF_DONT_BRIDGE = 64, - IFF_DISABLE_NETPOLL = 128, - IFF_MACVLAN_PORT = 256, - IFF_BRIDGE_PORT = 512, - IFF_OVS_DATAPATH = 1024, - IFF_TX_SKB_SHARING = 2048, - IFF_UNICAST_FLT = 4096, - IFF_TEAM_PORT = 8192, - IFF_SUPP_NOFCS = 16384, - IFF_LIVE_ADDR_CHANGE = 32768, - IFF_MACVLAN = 65536, - IFF_XMIT_DST_RELEASE_PERM = 131072, - IFF_L3MDEV_MASTER = 262144, - IFF_NO_QUEUE = 524288, - IFF_OPENVSWITCH = 1048576, - IFF_L3MDEV_SLAVE = 2097152, - IFF_TEAM = 4194304, - IFF_RXFH_CONFIGURED = 8388608, - IFF_PHONY_HEADROOM = 16777216, - IFF_MACSEC = 33554432, - IFF_NO_RX_HANDLER = 67108864, - IFF_FAILOVER = 134217728, - IFF_FAILOVER_SLAVE = 268435456, - IFF_L3MDEV_RX_HANDLER = 536870912, - IFF_NO_ADDRCONF = 1073741824, - IFF_TX_SKB_NO_LINEAR = 2147483648, -}; - -enum netdev_qstats_scope { - NETDEV_QSTATS_SCOPE_QUEUE = 1, -}; - -enum netdev_queue_state_t { - __QUEUE_STATE_DRV_XOFF = 0, - __QUEUE_STATE_STACK_XOFF = 1, - __QUEUE_STATE_FROZEN = 2, -}; - -enum netdev_queue_type { - NETDEV_QUEUE_TYPE_RX = 0, - NETDEV_QUEUE_TYPE_TX = 1, -}; - -enum netdev_reg_state { - NETREG_UNINITIALIZED = 0, - NETREG_REGISTERED = 1, - NETREG_UNREGISTERING = 2, - NETREG_UNREGISTERED = 3, - NETREG_RELEASED = 4, - NETREG_DUMMY = 5, -}; - -enum netdev_stat_type { - NETDEV_PCPU_STAT_NONE = 0, - NETDEV_PCPU_STAT_LSTATS = 1, - NETDEV_PCPU_STAT_TSTATS = 2, - NETDEV_PCPU_STAT_DSTATS = 3, -}; - -enum netdev_state_t { - __LINK_STATE_START = 0, - __LINK_STATE_PRESENT = 1, - __LINK_STATE_NOCARRIER = 2, - __LINK_STATE_LINKWATCH_PENDING = 3, - __LINK_STATE_DORMANT = 4, - __LINK_STATE_TESTING = 5, -}; - -enum netdev_tx { - __NETDEV_TX_MIN = -2147483648, - NETDEV_TX_OK = 0, - NETDEV_TX_BUSY = 16, -}; - -typedef enum netdev_tx netdev_tx_t; - -enum netdev_xdp_act { - NETDEV_XDP_ACT_BASIC = 1, - NETDEV_XDP_ACT_REDIRECT = 2, - NETDEV_XDP_ACT_NDO_XMIT = 4, - NETDEV_XDP_ACT_XSK_ZEROCOPY = 8, - NETDEV_XDP_ACT_HW_OFFLOAD = 16, - NETDEV_XDP_ACT_RX_SG = 32, - NETDEV_XDP_ACT_NDO_XMIT_SG = 64, - NETDEV_XDP_ACT_MASK = 127, -}; - -enum netdev_xdp_rx_metadata { - NETDEV_XDP_RX_METADATA_TIMESTAMP = 1, - NETDEV_XDP_RX_METADATA_HASH = 2, - NETDEV_XDP_RX_METADATA_VLAN_TAG = 4, -}; - -enum netdev_xsk_flags { - NETDEV_XSK_FLAGS_TX_TIMESTAMP = 1, - NETDEV_XSK_FLAGS_TX_CHECKSUM = 2, - NETDEV_XSK_FLAGS_TX_LAUNCH_TIME_FIFO = 4, -}; - -enum netevent_notif_type { - NETEVENT_NEIGH_UPDATE = 1, - NETEVENT_REDIRECT = 2, - NETEVENT_DELAY_PROBE_TIME_UPDATE = 3, - NETEVENT_IPV4_MPATH_HASH_UPDATE = 4, - NETEVENT_IPV6_MPATH_HASH_UPDATE = 5, - NETEVENT_IPV4_FWD_UPDATE_PRIORITY_UPDATE = 6, -}; - -enum netkit_action { - NETKIT_NEXT = -1, - NETKIT_PASS = 0, - NETKIT_DROP = 2, - NETKIT_REDIRECT = 7, -}; - -enum netkit_mode { - NETKIT_L2 = 0, - NETKIT_L3 = 1, -}; - -enum netkit_scrub { - NETKIT_SCRUB_NONE = 0, - NETKIT_SCRUB_DEFAULT = 1, -}; - -enum netlink_attribute_type { - NL_ATTR_TYPE_INVALID = 0, - NL_ATTR_TYPE_FLAG = 1, - NL_ATTR_TYPE_U8 = 2, - NL_ATTR_TYPE_U16 = 3, - NL_ATTR_TYPE_U32 = 4, - NL_ATTR_TYPE_U64 = 5, - NL_ATTR_TYPE_S8 = 6, - NL_ATTR_TYPE_S16 = 7, - NL_ATTR_TYPE_S32 = 8, - NL_ATTR_TYPE_S64 = 9, - NL_ATTR_TYPE_BINARY = 10, - NL_ATTR_TYPE_STRING = 11, - NL_ATTR_TYPE_NUL_STRING = 12, - NL_ATTR_TYPE_NESTED = 13, - NL_ATTR_TYPE_NESTED_ARRAY = 14, - NL_ATTR_TYPE_BITFIELD32 = 15, - NL_ATTR_TYPE_SINT = 16, - NL_ATTR_TYPE_UINT = 17, -}; - -enum netlink_policy_type_attr { - NL_POLICY_TYPE_ATTR_UNSPEC = 0, - NL_POLICY_TYPE_ATTR_TYPE = 1, - NL_POLICY_TYPE_ATTR_MIN_VALUE_S = 2, - NL_POLICY_TYPE_ATTR_MAX_VALUE_S = 3, - NL_POLICY_TYPE_ATTR_MIN_VALUE_U = 4, - NL_POLICY_TYPE_ATTR_MAX_VALUE_U = 5, - NL_POLICY_TYPE_ATTR_MIN_LENGTH = 6, - NL_POLICY_TYPE_ATTR_MAX_LENGTH = 7, - NL_POLICY_TYPE_ATTR_POLICY_IDX = 8, - NL_POLICY_TYPE_ATTR_POLICY_MAXTYPE = 9, - NL_POLICY_TYPE_ATTR_BITFIELD32_MASK = 10, - NL_POLICY_TYPE_ATTR_PAD = 11, - NL_POLICY_TYPE_ATTR_MASK = 12, - __NL_POLICY_TYPE_ATTR_MAX = 13, - NL_POLICY_TYPE_ATTR_MAX = 12, -}; - -enum netlink_skb_flags { - NETLINK_SKB_DST = 8, -}; - -enum netlink_validation { - NL_VALIDATE_LIBERAL = 0, - NL_VALIDATE_TRAILING = 1, - NL_VALIDATE_MAXTYPE = 2, - NL_VALIDATE_UNSPEC = 4, - NL_VALIDATE_STRICT_ATTRS = 8, - NL_VALIDATE_NESTED = 16, -}; - -enum netns_bpf_attach_type { - NETNS_BPF_INVALID = -1, - NETNS_BPF_FLOW_DISSECTOR = 0, - NETNS_BPF_SK_LOOKUP = 1, - MAX_NETNS_BPF_ATTACH_TYPE = 2, -}; - -enum nexthop_event_type { - NEXTHOP_EVENT_DEL = 0, - NEXTHOP_EVENT_REPLACE = 1, - NEXTHOP_EVENT_RES_TABLE_PRE_REPLACE = 2, - NEXTHOP_EVENT_BUCKET_REPLACE = 3, - NEXTHOP_EVENT_HW_STATS_REPORT_DELTA = 4, -}; - -enum nf_ct_ext_id { - NF_CT_EXT_HELPER = 0, - NF_CT_EXT_NAT = 1, - NF_CT_EXT_SEQADJ = 2, - NF_CT_EXT_ACCT = 3, - NF_CT_EXT_ECACHE = 4, - NF_CT_EXT_TSTAMP = 5, - NF_CT_EXT_TIMEOUT = 6, - NF_CT_EXT_LABELS = 7, - NF_CT_EXT_SYNPROXY = 8, - NF_CT_EXT_ACT_CT = 9, - NF_CT_EXT_NUM = 10, -}; - -enum nf_dev_hooks { - NF_NETDEV_INGRESS = 0, - NF_NETDEV_EGRESS = 1, - NF_NETDEV_NUMHOOKS = 2, -}; - -enum nf_hook_ops_type { - NF_HOOK_OP_UNDEFINED = 0, - NF_HOOK_OP_NF_TABLES = 1, - NF_HOOK_OP_BPF = 2, - NF_HOOK_OP_NFT_FT = 3, -}; - -enum nf_inet_hooks { - NF_INET_PRE_ROUTING = 0, - NF_INET_LOCAL_IN = 1, - NF_INET_FORWARD = 2, - NF_INET_LOCAL_OUT = 3, - NF_INET_POST_ROUTING = 4, - NF_INET_NUMHOOKS = 5, - NF_INET_INGRESS = 5, -}; - -enum nf_ip6_hook_priorities { - NF_IP6_PRI_FIRST = -2147483648, - NF_IP6_PRI_RAW_BEFORE_DEFRAG = -450, - NF_IP6_PRI_CONNTRACK_DEFRAG = -400, - NF_IP6_PRI_RAW = -300, - NF_IP6_PRI_SELINUX_FIRST = -225, - NF_IP6_PRI_CONNTRACK = -200, - NF_IP6_PRI_MANGLE = -150, - NF_IP6_PRI_NAT_DST = -100, - NF_IP6_PRI_FILTER = 0, - NF_IP6_PRI_SECURITY = 50, - NF_IP6_PRI_NAT_SRC = 100, - NF_IP6_PRI_SELINUX_LAST = 225, - NF_IP6_PRI_CONNTRACK_HELPER = 300, - NF_IP6_PRI_LAST = 2147483647, -}; - -enum nf_ip_hook_priorities { - NF_IP_PRI_FIRST = -2147483648, - NF_IP_PRI_RAW_BEFORE_DEFRAG = -450, - NF_IP_PRI_CONNTRACK_DEFRAG = -400, - NF_IP_PRI_RAW = -300, - NF_IP_PRI_SELINUX_FIRST = -225, - NF_IP_PRI_CONNTRACK = -200, - NF_IP_PRI_MANGLE = -150, - NF_IP_PRI_NAT_DST = -100, - NF_IP_PRI_FILTER = 0, - NF_IP_PRI_SECURITY = 50, - NF_IP_PRI_NAT_SRC = 100, - NF_IP_PRI_SELINUX_LAST = 225, - NF_IP_PRI_CONNTRACK_HELPER = 300, - NF_IP_PRI_CONNTRACK_CONFIRM = 2147483647, - NF_IP_PRI_LAST = 2147483647, -}; - -enum nf_log_type { - NF_LOG_TYPE_LOG = 0, - NF_LOG_TYPE_ULOG = 1, - NF_LOG_TYPE_MAX = 2, -}; - -enum nf_nat_manip_type; - -enum nfs3_stable_how { - NFS_UNSTABLE = 0, - NFS_DATA_SYNC = 1, - NFS_FILE_SYNC = 2, - NFS_INVALID_STABLE_HOW = -1, -}; - -enum nfs4_change_attr_type { - NFS4_CHANGE_TYPE_IS_MONOTONIC_INCR = 0, - NFS4_CHANGE_TYPE_IS_VERSION_COUNTER = 1, - NFS4_CHANGE_TYPE_IS_VERSION_COUNTER_NOPNFS = 2, - NFS4_CHANGE_TYPE_IS_TIME_METADATA = 3, - NFS4_CHANGE_TYPE_IS_UNDEFINED = 4, -}; - -enum nfs_opnum4 { - OP_ACCESS = 3, - OP_CLOSE = 4, - OP_COMMIT = 5, - OP_CREATE = 6, - OP_DELEGPURGE = 7, - OP_DELEGRETURN = 8, - OP_GETATTR = 9, - OP_GETFH = 10, - OP_LINK = 11, - OP_LOCK = 12, - OP_LOCKT = 13, - OP_LOCKU = 14, - OP_LOOKUP = 15, - OP_LOOKUPP = 16, - OP_NVERIFY = 17, - OP_OPEN = 18, - OP_OPENATTR = 19, - OP_OPEN_CONFIRM = 20, - OP_OPEN_DOWNGRADE = 21, - OP_PUTFH = 22, - OP_PUTPUBFH = 23, - OP_PUTROOTFH = 24, - OP_READ = 25, - OP_READDIR = 26, - OP_READLINK = 27, - OP_REMOVE = 28, - OP_RENAME = 29, - OP_RENEW = 30, - OP_RESTOREFH = 31, - OP_SAVEFH = 32, - OP_SECINFO = 33, - OP_SETATTR = 34, - OP_SETCLIENTID = 35, - OP_SETCLIENTID_CONFIRM = 36, - OP_VERIFY = 37, - OP_WRITE = 38, - OP_RELEASE_LOCKOWNER = 39, - OP_BACKCHANNEL_CTL = 40, - OP_BIND_CONN_TO_SESSION = 41, - OP_EXCHANGE_ID = 42, - OP_CREATE_SESSION = 43, - OP_DESTROY_SESSION = 44, - OP_FREE_STATEID = 45, - OP_GET_DIR_DELEGATION = 46, - OP_GETDEVICEINFO = 47, - OP_GETDEVICELIST = 48, - OP_LAYOUTCOMMIT = 49, - OP_LAYOUTGET = 50, - OP_LAYOUTRETURN = 51, - OP_SECINFO_NO_NAME = 52, - OP_SEQUENCE = 53, - OP_SET_SSV = 54, - OP_TEST_STATEID = 55, - OP_WANT_DELEGATION = 56, - OP_DESTROY_CLIENTID = 57, - OP_RECLAIM_COMPLETE = 58, - OP_ALLOCATE = 59, - OP_COPY = 60, - OP_COPY_NOTIFY = 61, - OP_DEALLOCATE = 62, - OP_IO_ADVISE = 63, - OP_LAYOUTERROR = 64, - OP_LAYOUTSTATS = 65, - OP_OFFLOAD_CANCEL = 66, - OP_OFFLOAD_STATUS = 67, - OP_READ_PLUS = 68, - OP_SEEK = 69, - OP_WRITE_SAME = 70, - OP_CLONE = 71, - OP_GETXATTR = 72, - OP_SETXATTR = 73, - OP_LISTXATTRS = 74, - OP_REMOVEXATTR = 75, - OP_ILLEGAL = 10044, -}; - -enum nfs_stat { - NFS_OK = 0, - NFSERR_PERM = 1, - NFSERR_NOENT = 2, - NFSERR_IO = 5, - NFSERR_NXIO = 6, - NFSERR_EAGAIN = 11, - NFSERR_ACCES = 13, - NFSERR_EXIST = 17, - NFSERR_XDEV = 18, - NFSERR_NODEV = 19, - NFSERR_NOTDIR = 20, - NFSERR_ISDIR = 21, - NFSERR_INVAL = 22, - NFSERR_FBIG = 27, - NFSERR_NOSPC = 28, - NFSERR_ROFS = 30, - NFSERR_MLINK = 31, - NFSERR_NAMETOOLONG = 63, - NFSERR_NOTEMPTY = 66, - NFSERR_DQUOT = 69, - NFSERR_STALE = 70, - NFSERR_REMOTE = 71, - NFSERR_WFLUSH = 99, - NFSERR_BADHANDLE = 10001, - NFSERR_NOT_SYNC = 10002, - NFSERR_BAD_COOKIE = 10003, - NFSERR_NOTSUPP = 10004, - NFSERR_TOOSMALL = 10005, - NFSERR_SERVERFAULT = 10006, - NFSERR_BADTYPE = 10007, - NFSERR_JUKEBOX = 10008, - NFSERR_SAME = 10009, - NFSERR_DENIED = 10010, - NFSERR_EXPIRED = 10011, - NFSERR_LOCKED = 10012, - NFSERR_GRACE = 10013, - NFSERR_FHEXPIRED = 10014, - NFSERR_SHARE_DENIED = 10015, - NFSERR_WRONGSEC = 10016, - NFSERR_CLID_INUSE = 10017, - NFSERR_RESOURCE = 10018, - NFSERR_MOVED = 10019, - NFSERR_NOFILEHANDLE = 10020, - NFSERR_MINOR_VERS_MISMATCH = 10021, - NFSERR_STALE_CLIENTID = 10022, - NFSERR_STALE_STATEID = 10023, - NFSERR_OLD_STATEID = 10024, - NFSERR_BAD_STATEID = 10025, - NFSERR_BAD_SEQID = 10026, - NFSERR_NOT_SAME = 10027, - NFSERR_LOCK_RANGE = 10028, - NFSERR_SYMLINK = 10029, - NFSERR_RESTOREFH = 10030, - NFSERR_LEASE_MOVED = 10031, - NFSERR_ATTRNOTSUPP = 10032, - NFSERR_NO_GRACE = 10033, - NFSERR_RECLAIM_BAD = 10034, - NFSERR_RECLAIM_CONFLICT = 10035, - NFSERR_BAD_XDR = 10036, - NFSERR_LOCKS_HELD = 10037, - NFSERR_OPENMODE = 10038, - NFSERR_BADOWNER = 10039, - NFSERR_BADCHAR = 10040, - NFSERR_BADNAME = 10041, - NFSERR_BAD_RANGE = 10042, - NFSERR_LOCK_NOTSUPP = 10043, - NFSERR_OP_ILLEGAL = 10044, - NFSERR_DEADLOCK = 10045, - NFSERR_FILE_OPEN = 10046, - NFSERR_ADMIN_REVOKED = 10047, - NFSERR_CB_PATH_DOWN = 10048, -}; - -enum nfsstat4 { - NFS4_OK = 0, - NFS4ERR_PERM = 1, - NFS4ERR_NOENT = 2, - NFS4ERR_IO = 5, - NFS4ERR_NXIO = 6, - NFS4ERR_ACCESS = 13, - NFS4ERR_EXIST = 17, - NFS4ERR_XDEV = 18, - NFS4ERR_NOTDIR = 20, - NFS4ERR_ISDIR = 21, - NFS4ERR_INVAL = 22, - NFS4ERR_FBIG = 27, - NFS4ERR_NOSPC = 28, - NFS4ERR_ROFS = 30, - NFS4ERR_MLINK = 31, - NFS4ERR_NAMETOOLONG = 63, - NFS4ERR_NOTEMPTY = 66, - NFS4ERR_DQUOT = 69, - NFS4ERR_STALE = 70, - NFS4ERR_BADHANDLE = 10001, - NFS4ERR_BAD_COOKIE = 10003, - NFS4ERR_NOTSUPP = 10004, - NFS4ERR_TOOSMALL = 10005, - NFS4ERR_SERVERFAULT = 10006, - NFS4ERR_BADTYPE = 10007, - NFS4ERR_DELAY = 10008, - NFS4ERR_SAME = 10009, - NFS4ERR_DENIED = 10010, - NFS4ERR_EXPIRED = 10011, - NFS4ERR_LOCKED = 10012, - NFS4ERR_GRACE = 10013, - NFS4ERR_FHEXPIRED = 10014, - NFS4ERR_SHARE_DENIED = 10015, - NFS4ERR_WRONGSEC = 10016, - NFS4ERR_CLID_INUSE = 10017, - NFS4ERR_RESOURCE = 10018, - NFS4ERR_MOVED = 10019, - NFS4ERR_NOFILEHANDLE = 10020, - NFS4ERR_MINOR_VERS_MISMATCH = 10021, - NFS4ERR_STALE_CLIENTID = 10022, - NFS4ERR_STALE_STATEID = 10023, - NFS4ERR_OLD_STATEID = 10024, - NFS4ERR_BAD_STATEID = 10025, - NFS4ERR_BAD_SEQID = 10026, - NFS4ERR_NOT_SAME = 10027, - NFS4ERR_LOCK_RANGE = 10028, - NFS4ERR_SYMLINK = 10029, - NFS4ERR_RESTOREFH = 10030, - NFS4ERR_LEASE_MOVED = 10031, - NFS4ERR_ATTRNOTSUPP = 10032, - NFS4ERR_NO_GRACE = 10033, - NFS4ERR_RECLAIM_BAD = 10034, - NFS4ERR_RECLAIM_CONFLICT = 10035, - NFS4ERR_BADXDR = 10036, - NFS4ERR_LOCKS_HELD = 10037, - NFS4ERR_OPENMODE = 10038, - NFS4ERR_BADOWNER = 10039, - NFS4ERR_BADCHAR = 10040, - NFS4ERR_BADNAME = 10041, - NFS4ERR_BAD_RANGE = 10042, - NFS4ERR_LOCK_NOTSUPP = 10043, - NFS4ERR_OP_ILLEGAL = 10044, - NFS4ERR_DEADLOCK = 10045, - NFS4ERR_FILE_OPEN = 10046, - NFS4ERR_ADMIN_REVOKED = 10047, - NFS4ERR_CB_PATH_DOWN = 10048, - NFS4ERR_BADIOMODE = 10049, - NFS4ERR_BADLAYOUT = 10050, - NFS4ERR_BAD_SESSION_DIGEST = 10051, - NFS4ERR_BADSESSION = 10052, - NFS4ERR_BADSLOT = 10053, - NFS4ERR_COMPLETE_ALREADY = 10054, - NFS4ERR_CONN_NOT_BOUND_TO_SESSION = 10055, - NFS4ERR_DELEG_ALREADY_WANTED = 10056, - NFS4ERR_BACK_CHAN_BUSY = 10057, - NFS4ERR_LAYOUTTRYLATER = 10058, - NFS4ERR_LAYOUTUNAVAILABLE = 10059, - NFS4ERR_NOMATCHING_LAYOUT = 10060, - NFS4ERR_RECALLCONFLICT = 10061, - NFS4ERR_UNKNOWN_LAYOUTTYPE = 10062, - NFS4ERR_SEQ_MISORDERED = 10063, - NFS4ERR_SEQUENCE_POS = 10064, - NFS4ERR_REQ_TOO_BIG = 10065, - NFS4ERR_REP_TOO_BIG = 10066, - NFS4ERR_REP_TOO_BIG_TO_CACHE = 10067, - NFS4ERR_RETRY_UNCACHED_REP = 10068, - NFS4ERR_UNSAFE_COMPOUND = 10069, - NFS4ERR_TOO_MANY_OPS = 10070, - NFS4ERR_OP_NOT_IN_SESSION = 10071, - NFS4ERR_HASH_ALG_UNSUPP = 10072, - NFS4ERR_CLIENTID_BUSY = 10074, - NFS4ERR_PNFS_IO_HOLE = 10075, - NFS4ERR_SEQ_FALSE_RETRY = 10076, - NFS4ERR_BAD_HIGH_SLOT = 10077, - NFS4ERR_DEADSESSION = 10078, - NFS4ERR_ENCR_ALG_UNSUPP = 10079, - NFS4ERR_PNFS_NO_LAYOUT = 10080, - NFS4ERR_NOT_ONLY_OP = 10081, - NFS4ERR_WRONG_CRED = 10082, - NFS4ERR_WRONG_TYPE = 10083, - NFS4ERR_DIRDELEG_UNAVAIL = 10084, - NFS4ERR_REJECT_DELEG = 10085, - NFS4ERR_RETURNCONFLICT = 10086, - NFS4ERR_DELEG_REVOKED = 10087, - NFS4ERR_PARTNER_NOTSUPP = 10088, - NFS4ERR_PARTNER_NO_AUTH = 10089, - NFS4ERR_UNION_NOTSUPP = 10090, - NFS4ERR_OFFLOAD_DENIED = 10091, - NFS4ERR_WRONG_LFS = 10092, - NFS4ERR_BADLABEL = 10093, - NFS4ERR_OFFLOAD_NO_REQS = 10094, - NFS4ERR_NOXATTR = 10095, - NFS4ERR_XATTR2BIG = 10096, - NFS4ERR_FIRST_FREE = 10097, -}; - -enum nh_notifier_info_type { - NH_NOTIFIER_INFO_TYPE_SINGLE = 0, - NH_NOTIFIER_INFO_TYPE_GRP = 1, - NH_NOTIFIER_INFO_TYPE_RES_TABLE = 2, - NH_NOTIFIER_INFO_TYPE_RES_BUCKET = 3, - NH_NOTIFIER_INFO_TYPE_GRP_HW_STATS = 4, -}; - -enum nl80211_auth_type { - NL80211_AUTHTYPE_OPEN_SYSTEM = 0, - NL80211_AUTHTYPE_SHARED_KEY = 1, - NL80211_AUTHTYPE_FT = 2, - NL80211_AUTHTYPE_NETWORK_EAP = 3, - NL80211_AUTHTYPE_SAE = 4, - NL80211_AUTHTYPE_FILS_SK = 5, - NL80211_AUTHTYPE_FILS_SK_PFS = 6, - NL80211_AUTHTYPE_FILS_PK = 7, - __NL80211_AUTHTYPE_NUM = 8, - NL80211_AUTHTYPE_MAX = 7, - NL80211_AUTHTYPE_AUTOMATIC = 8, -}; - -enum nl80211_band { - NL80211_BAND_2GHZ = 0, - NL80211_BAND_5GHZ = 1, - NL80211_BAND_60GHZ = 2, - NL80211_BAND_6GHZ = 3, - NL80211_BAND_S1GHZ = 4, - NL80211_BAND_LC = 5, - NUM_NL80211_BANDS = 6, -}; - -enum nl80211_bss_select_attr { - __NL80211_BSS_SELECT_ATTR_INVALID = 0, - NL80211_BSS_SELECT_ATTR_RSSI = 1, - NL80211_BSS_SELECT_ATTR_BAND_PREF = 2, - NL80211_BSS_SELECT_ATTR_RSSI_ADJUST = 3, - __NL80211_BSS_SELECT_ATTR_AFTER_LAST = 4, - NL80211_BSS_SELECT_ATTR_MAX = 3, -}; - -enum nl80211_chan_width { - NL80211_CHAN_WIDTH_20_NOHT = 0, - NL80211_CHAN_WIDTH_20 = 1, - NL80211_CHAN_WIDTH_40 = 2, - NL80211_CHAN_WIDTH_80 = 3, - NL80211_CHAN_WIDTH_80P80 = 4, - NL80211_CHAN_WIDTH_160 = 5, - NL80211_CHAN_WIDTH_5 = 6, - NL80211_CHAN_WIDTH_10 = 7, - NL80211_CHAN_WIDTH_1 = 8, - NL80211_CHAN_WIDTH_2 = 9, - NL80211_CHAN_WIDTH_4 = 10, - NL80211_CHAN_WIDTH_8 = 11, - NL80211_CHAN_WIDTH_16 = 12, - NL80211_CHAN_WIDTH_320 = 13, -}; - -enum nl80211_dfs_regions { - NL80211_DFS_UNSET = 0, - NL80211_DFS_FCC = 1, - NL80211_DFS_ETSI = 2, - NL80211_DFS_JP = 3, -}; - -enum nl80211_dfs_state { - NL80211_DFS_USABLE = 0, - NL80211_DFS_UNAVAILABLE = 1, - NL80211_DFS_AVAILABLE = 2, -}; - -enum nl80211_iftype { - NL80211_IFTYPE_UNSPECIFIED = 0, - NL80211_IFTYPE_ADHOC = 1, - NL80211_IFTYPE_STATION = 2, - NL80211_IFTYPE_AP = 3, - NL80211_IFTYPE_AP_VLAN = 4, - NL80211_IFTYPE_WDS = 5, - NL80211_IFTYPE_MONITOR = 6, - NL80211_IFTYPE_MESH_POINT = 7, - NL80211_IFTYPE_P2P_CLIENT = 8, - NL80211_IFTYPE_P2P_GO = 9, - NL80211_IFTYPE_P2P_DEVICE = 10, - NL80211_IFTYPE_OCB = 11, - NL80211_IFTYPE_NAN = 12, - NUM_NL80211_IFTYPES = 13, - NL80211_IFTYPE_MAX = 12, -}; - -enum nl80211_key_mode { - NL80211_KEY_RX_TX = 0, - NL80211_KEY_NO_TX = 1, - NL80211_KEY_SET_TX = 2, -}; - -enum nl80211_mfp { - NL80211_MFP_NO = 0, - NL80211_MFP_REQUIRED = 1, - NL80211_MFP_OPTIONAL = 2, -}; - -enum nl80211_reg_initiator { - NL80211_REGDOM_SET_BY_CORE = 0, - NL80211_REGDOM_SET_BY_USER = 1, - NL80211_REGDOM_SET_BY_DRIVER = 2, - NL80211_REGDOM_SET_BY_COUNTRY_IE = 3, -}; - -enum nl80211_sae_pwe_mechanism { - NL80211_SAE_PWE_UNSPECIFIED = 0, - NL80211_SAE_PWE_HUNT_AND_PECK = 1, - NL80211_SAE_PWE_HASH_TO_ELEMENT = 2, - NL80211_SAE_PWE_BOTH = 3, -}; - -enum nl80211_sar_type { - NL80211_SAR_TYPE_POWER = 0, - NUM_NL80211_SAR_TYPE = 1, -}; - -enum nl80211_user_reg_hint_type { - NL80211_USER_REG_HINT_USER = 0, - NL80211_USER_REG_HINT_CELL_BASE = 1, - NL80211_USER_REG_HINT_INDOOR = 2, -}; - -enum nl802154_cca_modes { - __NL802154_CCA_INVALID = 0, - NL802154_CCA_ENERGY = 1, - NL802154_CCA_CARRIER = 2, - NL802154_CCA_ENERGY_CARRIER = 3, - NL802154_CCA_ALOHA = 4, - NL802154_CCA_UWB_SHR = 5, - NL802154_CCA_UWB_MULTIPLEXED = 6, - __NL802154_CCA_ATTR_AFTER_LAST = 7, - NL802154_CCA_ATTR_MAX = 6, -}; - -enum nl802154_cca_opts { - NL802154_CCA_OPT_ENERGY_CARRIER_AND = 0, - NL802154_CCA_OPT_ENERGY_CARRIER_OR = 1, - __NL802154_CCA_OPT_ATTR_AFTER_LAST = 2, - NL802154_CCA_OPT_ATTR_MAX = 1, -}; - -enum nl802154_supported_bool_states { - NL802154_SUPPORTED_BOOL_FALSE = 0, - NL802154_SUPPORTED_BOOL_TRUE = 1, - __NL802154_SUPPORTED_BOOL_INVALD = 2, - NL802154_SUPPORTED_BOOL_BOTH = 3, - __NL802154_SUPPORTED_BOOL_AFTER_LAST = 4, - NL802154_SUPPORTED_BOOL_MAX = 3, -}; - -enum nla_policy_validation { - NLA_VALIDATE_NONE = 0, - NLA_VALIDATE_RANGE = 1, - NLA_VALIDATE_RANGE_WARN_TOO_LONG = 2, - NLA_VALIDATE_MIN = 3, - NLA_VALIDATE_MAX = 4, - NLA_VALIDATE_MASK = 5, - NLA_VALIDATE_RANGE_PTR = 6, - NLA_VALIDATE_FUNCTION = 7, -}; - -enum nlmsgerr_attrs { - NLMSGERR_ATTR_UNUSED = 0, - NLMSGERR_ATTR_MSG = 1, - NLMSGERR_ATTR_OFFS = 2, - NLMSGERR_ATTR_COOKIE = 3, - NLMSGERR_ATTR_POLICY = 4, - NLMSGERR_ATTR_MISS_TYPE = 5, - NLMSGERR_ATTR_MISS_NEST = 6, - __NLMSGERR_ATTR_MAX = 7, - NLMSGERR_ATTR_MAX = 6, -}; - -enum nmi_states { - NMI_NOT_RUNNING = 0, - NMI_EXECUTING = 1, - NMI_LATCHED = 2, -}; - -enum node_stat_item { - NR_LRU_BASE = 0, - NR_INACTIVE_ANON = 0, - NR_ACTIVE_ANON = 1, - NR_INACTIVE_FILE = 2, - NR_ACTIVE_FILE = 3, - NR_UNEVICTABLE = 4, - NR_SLAB_RECLAIMABLE_B = 5, - NR_SLAB_UNRECLAIMABLE_B = 6, - NR_ISOLATED_ANON = 7, - NR_ISOLATED_FILE = 8, - WORKINGSET_NODES = 9, - WORKINGSET_REFAULT_BASE = 10, - WORKINGSET_REFAULT_ANON = 10, - WORKINGSET_REFAULT_FILE = 11, - WORKINGSET_ACTIVATE_BASE = 12, - WORKINGSET_ACTIVATE_ANON = 12, - WORKINGSET_ACTIVATE_FILE = 13, - WORKINGSET_RESTORE_BASE = 14, - WORKINGSET_RESTORE_ANON = 14, - WORKINGSET_RESTORE_FILE = 15, - WORKINGSET_NODERECLAIM = 16, - NR_ANON_MAPPED = 17, - NR_FILE_MAPPED = 18, - NR_FILE_PAGES = 19, - NR_FILE_DIRTY = 20, - NR_WRITEBACK = 21, - NR_SHMEM = 22, - NR_SHMEM_THPS = 23, - NR_SHMEM_PMDMAPPED = 24, - NR_FILE_THPS = 25, - NR_FILE_PMDMAPPED = 26, - NR_ANON_THPS = 27, - NR_VMSCAN_WRITE = 28, - NR_VMSCAN_IMMEDIATE = 29, - NR_DIRTIED = 30, - NR_WRITTEN = 31, - NR_THROTTLED_WRITTEN = 32, - NR_KERNEL_MISC_RECLAIMABLE = 33, - NR_FOLL_PIN_ACQUIRED = 34, - NR_FOLL_PIN_RELEASED = 35, - NR_KERNEL_STACK_KB = 36, - NR_PAGETABLE = 37, - NR_SECONDARY_PAGETABLE = 38, - NR_IOMMU_PAGES = 39, - NR_SWAPCACHE = 40, - PGPROMOTE_SUCCESS = 41, - PGPROMOTE_CANDIDATE = 42, - PGDEMOTE_KSWAPD = 43, - PGDEMOTE_DIRECT = 44, - PGDEMOTE_KHUGEPAGED = 45, - PGDEMOTE_PROACTIVE = 46, - NR_HUGETLB = 47, - NR_BALLOON_PAGES = 48, - NR_VM_NODE_STAT_ITEMS = 49, -}; - -enum node_states { - N_POSSIBLE = 0, - N_ONLINE = 1, - N_NORMAL_MEMORY = 2, - N_HIGH_MEMORY = 2, - N_MEMORY = 3, - N_CPU = 4, - N_GENERIC_INITIATOR = 5, - NR_NODE_STATES = 6, -}; - -enum notify_state { - SECCOMP_NOTIFY_INIT = 0, - SECCOMP_NOTIFY_SENT = 1, - SECCOMP_NOTIFY_REPLIED = 2, -}; - -enum numa_faults_stats { - NUMA_MEM = 0, - NUMA_CPU = 1, - NUMA_MEMBUF = 2, - NUMA_CPUBUF = 3, -}; - -enum numa_stat_item { - NUMA_HIT = 0, - NUMA_MISS = 1, - NUMA_FOREIGN = 2, - NUMA_INTERLEAVE_HIT = 3, - NUMA_LOCAL = 4, - NUMA_OTHER = 5, - NR_VM_NUMA_EVENT_ITEMS = 6, -}; - -enum numa_topology_type { - NUMA_DIRECT = 0, - NUMA_GLUELESS_MESH = 1, - NUMA_BACKPLANE = 2, -}; - -enum numa_type { - node_has_spare = 0, - node_fully_busy = 1, - node_overloaded = 2, -}; - -enum numa_vmaskip_reason { - NUMAB_SKIP_UNSUITABLE = 0, - NUMAB_SKIP_SHARED_RO = 1, - NUMAB_SKIP_INACCESSIBLE = 2, - NUMAB_SKIP_SCAN_DELAY = 3, - NUMAB_SKIP_PID_INACTIVE = 4, - NUMAB_SKIP_IGNORE_PID = 5, - NUMAB_SKIP_SEQ_COMPLETED = 6, -}; - -enum nvdimm_claim_class { - NVDIMM_CCLASS_NONE = 0, - NVDIMM_CCLASS_BTT = 1, - NVDIMM_CCLASS_BTT2 = 2, - NVDIMM_CCLASS_PFN = 3, - NVDIMM_CCLASS_DAX = 4, - NVDIMM_CCLASS_UNKNOWN = 5, -}; - -enum nvdimm_event { - NVDIMM_REVALIDATE_POISON = 0, - NVDIMM_REVALIDATE_REGION = 1, -}; - -enum nvdimm_fwa_capability { - NVDIMM_FWA_CAP_INVALID = 0, - NVDIMM_FWA_CAP_NONE = 1, - NVDIMM_FWA_CAP_QUIESCE = 2, - NVDIMM_FWA_CAP_LIVE = 3, -}; - -enum nvdimm_fwa_result { - NVDIMM_FWA_RESULT_INVALID = 0, - NVDIMM_FWA_RESULT_NONE = 1, - NVDIMM_FWA_RESULT_SUCCESS = 2, - NVDIMM_FWA_RESULT_NOTSTAGED = 3, - NVDIMM_FWA_RESULT_NEEDRESET = 4, - NVDIMM_FWA_RESULT_FAIL = 5, -}; - -enum nvdimm_fwa_state { - NVDIMM_FWA_INVALID = 0, - NVDIMM_FWA_IDLE = 1, - NVDIMM_FWA_ARMED = 2, - NVDIMM_FWA_BUSY = 3, - NVDIMM_FWA_ARM_OVERFLOW = 4, -}; - -enum nvdimm_fwa_trigger { - NVDIMM_FWA_ARM = 0, - NVDIMM_FWA_DISARM = 1, -}; - -enum nvdimm_passphrase_type { - NVDIMM_USER = 0, - NVDIMM_MASTER = 1, -}; - -enum nvdimm_security_bits { - NVDIMM_SECURITY_DISABLED = 0, - NVDIMM_SECURITY_UNLOCKED = 1, - NVDIMM_SECURITY_LOCKED = 2, - NVDIMM_SECURITY_FROZEN = 3, - NVDIMM_SECURITY_OVERWRITE = 4, -}; - -enum nvdimmsec_op_ids { - OP_FREEZE = 0, - OP_DISABLE = 1, - OP_DISABLE_MASTER = 2, - OP_UPDATE = 3, - OP_ERASE = 4, - OP_OVERWRITE = 5, - OP_MASTER_UPDATE = 6, - OP_MASTER_ERASE = 7, -}; - -enum nvmem_type { - NVMEM_TYPE_UNKNOWN = 0, - NVMEM_TYPE_EEPROM = 1, - NVMEM_TYPE_OTP = 2, - NVMEM_TYPE_BATTERY_BACKED = 3, - NVMEM_TYPE_FRAM = 4, -}; - -enum objext_flags { - OBJEXTS_ALLOC_FAIL = 4, - __NR_OBJEXTS_FLAGS = 8, -}; - -enum octep_hp_intr_type { - OCTEP_HP_INTR_INVALID = -1, - OCTEP_HP_INTR_ENA = 0, - OCTEP_HP_INTR_DIS = 1, - OCTEP_HP_INTR_MAX = 2, -}; - -enum odd_mech_type { - ODD_MECH_TYPE_SLOT = 0, - ODD_MECH_TYPE_DRAWER = 1, - ODD_MECH_TYPE_UNSUPPORTED = 2, -}; - -enum offload_act_command { - FLOW_ACT_REPLACE = 0, - FLOW_ACT_DESTROY = 1, - FLOW_ACT_STATS = 2, -}; - -enum ohci_rh_state { - OHCI_RH_HALTED = 0, - OHCI_RH_SUSPENDED = 1, - OHCI_RH_RUNNING = 2, -}; - -enum oom_constraint { - CONSTRAINT_NONE = 0, - CONSTRAINT_CPUSET = 1, - CONSTRAINT_MEMORY_POLICY = 2, - CONSTRAINT_MEMCG = 3, -}; - -enum opal_atom_width { - OPAL_WIDTH_TINY = 0, - OPAL_WIDTH_SHORT = 1, - OPAL_WIDTH_MEDIUM = 2, - OPAL_WIDTH_LONG = 3, - OPAL_WIDTH_TOKEN = 4, -}; - -enum opal_key_type { - OPAL_INCLUDED = 0, - OPAL_KEYRING = 1, -}; - -enum opal_lock_flags { - OPAL_SAVE_FOR_LOCK = 1, -}; - -enum opal_lock_state { - OPAL_RO = 1, - OPAL_RW = 2, - OPAL_LK = 4, -}; - -enum opal_mbr { - OPAL_MBR_ENABLE = 0, - OPAL_MBR_DISABLE = 1, -}; - -enum opal_mbr_done_flag { - OPAL_MBR_NOT_DONE = 0, - OPAL_MBR_DONE = 1, -}; - -enum opal_method { - OPAL_PROPERTIES = 0, - OPAL_STARTSESSION = 1, - OPAL_REVERT = 2, - OPAL_ACTIVATE = 3, - OPAL_EGET = 4, - OPAL_ESET = 5, - OPAL_NEXT = 6, - OPAL_EAUTHENTICATE = 7, - OPAL_GETACL = 8, - OPAL_GENKEY = 9, - OPAL_REVERTSP = 10, - OPAL_GET = 11, - OPAL_SET = 12, - OPAL_AUTHENTICATE = 13, - OPAL_RANDOM = 14, - OPAL_ERASE = 15, -}; - -enum opal_parameter { - OPAL_SUM_SET_LIST = 393216, -}; - -enum opal_response_token { - OPAL_DTA_TOKENID_BYTESTRING = 224, - OPAL_DTA_TOKENID_SINT = 225, - OPAL_DTA_TOKENID_UINT = 226, - OPAL_DTA_TOKENID_TOKEN = 227, - OPAL_DTA_TOKENID_INVALID = 0, -}; - -enum opal_revert_lsp_opts { - OPAL_PRESERVE = 1, -}; - -enum opal_revertlsp { - OPAL_KEEP_GLOBAL_RANGE_KEY = 393216, -}; - -enum opal_table_ops { - OPAL_READ_TABLE = 0, - OPAL_WRITE_TABLE = 1, -}; - -enum opal_token { - OPAL_TRUE = 1, - OPAL_FALSE = 0, - OPAL_BOOLEAN_EXPR = 3, - OPAL_TABLE = 0, - OPAL_STARTROW = 1, - OPAL_ENDROW = 2, - OPAL_STARTCOLUMN = 3, - OPAL_ENDCOLUMN = 4, - OPAL_VALUES = 1, - OPAL_TABLE_UID = 0, - OPAL_TABLE_NAME = 1, - OPAL_TABLE_COMMON = 2, - OPAL_TABLE_TEMPLATE = 3, - OPAL_TABLE_KIND = 4, - OPAL_TABLE_COLUMN = 5, - OPAL_TABLE_COLUMNS = 6, - OPAL_TABLE_ROWS = 7, - OPAL_TABLE_ROWS_FREE = 8, - OPAL_TABLE_ROW_BYTES = 9, - OPAL_TABLE_LASTID = 10, - OPAL_TABLE_MIN = 11, - OPAL_TABLE_MAX = 12, - OPAL_PIN = 3, - OPAL_RANGESTART = 3, - OPAL_RANGELENGTH = 4, - OPAL_READLOCKENABLED = 5, - OPAL_WRITELOCKENABLED = 6, - OPAL_READLOCKED = 7, - OPAL_WRITELOCKED = 8, - OPAL_ACTIVEKEY = 10, - OPAL_LIFECYCLE = 6, - OPAL_MAXRANGES = 4, - OPAL_MBRENABLE = 1, - OPAL_MBRDONE = 2, - OPAL_HOSTPROPERTIES = 0, - OPAL_STARTLIST = 240, - OPAL_ENDLIST = 241, - OPAL_STARTNAME = 242, - OPAL_ENDNAME = 243, - OPAL_CALL = 248, - OPAL_ENDOFDATA = 249, - OPAL_ENDOFSESSION = 250, - OPAL_STARTTRANSACTON = 251, - OPAL_ENDTRANSACTON = 252, - OPAL_EMPTYATOM = 255, - OPAL_WHERE = 0, -}; - -enum opal_uid { - OPAL_SMUID_UID = 0, - OPAL_THISSP_UID = 1, - OPAL_ADMINSP_UID = 2, - OPAL_LOCKINGSP_UID = 3, - OPAL_ENTERPRISE_LOCKINGSP_UID = 4, - OPAL_ANYBODY_UID = 5, - OPAL_SID_UID = 6, - OPAL_ADMIN1_UID = 7, - OPAL_USER1_UID = 8, - OPAL_USER2_UID = 9, - OPAL_PSID_UID = 10, - OPAL_ENTERPRISE_BANDMASTER0_UID = 11, - OPAL_ENTERPRISE_ERASEMASTER_UID = 12, - OPAL_TABLE_TABLE = 13, - OPAL_LOCKINGRANGE_GLOBAL = 14, - OPAL_LOCKINGRANGE_ACE_START_TO_KEY = 15, - OPAL_LOCKINGRANGE_ACE_RDLOCKED = 16, - OPAL_LOCKINGRANGE_ACE_WRLOCKED = 17, - OPAL_MBRCONTROL = 18, - OPAL_MBR = 19, - OPAL_AUTHORITY_TABLE = 20, - OPAL_C_PIN_TABLE = 21, - OPAL_LOCKING_INFO_TABLE = 22, - OPAL_ENTERPRISE_LOCKING_INFO_TABLE = 23, - OPAL_DATASTORE = 24, - OPAL_C_PIN_MSID = 25, - OPAL_C_PIN_SID = 26, - OPAL_C_PIN_ADMIN1 = 27, - OPAL_HALF_UID_AUTHORITY_OBJ_REF = 28, - OPAL_HALF_UID_BOOLEAN_ACE = 29, - OPAL_UID_HEXFF = 30, -}; - -enum opal_user { - OPAL_ADMIN1 = 0, - OPAL_USER1 = 1, - OPAL_USER2 = 2, - OPAL_USER3 = 3, - OPAL_USER4 = 4, - OPAL_USER5 = 5, - OPAL_USER6 = 6, - OPAL_USER7 = 7, - OPAL_USER8 = 8, - OPAL_USER9 = 9, -}; - -enum opp_table_access { - OPP_TABLE_ACCESS_UNKNOWN = 0, - OPP_TABLE_ACCESS_EXCLUSIVE = 1, - OPP_TABLE_ACCESS_SHARED = 2, -}; - -enum osnoise_options_index { - OSN_DEFAULTS = 0, - OSN_WORKLOAD = 1, - OSN_PANIC_ON_STOP = 2, - OSN_PREEMPT_DISABLE = 3, - OSN_IRQ_DISABLE = 4, - OSN_MAX = 5, -}; - -enum owner_state { - OWNER_NULL = 1, - OWNER_WRITER = 2, - OWNER_READER = 4, - OWNER_NONSPINNABLE = 8, -}; - -enum packet_sock_flags { - PACKET_SOCK_ORIGDEV = 0, - PACKET_SOCK_AUXDATA = 1, - PACKET_SOCK_TX_HAS_OFF = 2, - PACKET_SOCK_TP_LOSS = 3, - PACKET_SOCK_RUNNING = 4, - PACKET_SOCK_PRESSURE = 5, - PACKET_SOCK_QDISC_BYPASS = 6, -}; - -enum packing_op { - PACK = 0, - UNPACK = 1, -}; - -enum page_cache_mode { - _PAGE_CACHE_MODE_WB = 0, - _PAGE_CACHE_MODE_WC = 1, - _PAGE_CACHE_MODE_UC_MINUS = 2, - _PAGE_CACHE_MODE_UC = 3, - _PAGE_CACHE_MODE_WT = 4, - _PAGE_CACHE_MODE_WP = 5, - _PAGE_CACHE_MODE_NUM = 8, -}; - -enum page_memcg_data_flags { - MEMCG_DATA_OBJEXTS = 1, - MEMCG_DATA_KMEM = 2, - __NR_MEMCG_DATA_FLAGS = 4, -}; - -enum page_size_enum { - __PAGE_SIZE = 4096, -}; - -enum page_walk_action { - ACTION_SUBTREE = 0, - ACTION_CONTINUE = 1, - ACTION_AGAIN = 2, -}; - -enum page_walk_lock { - PGWALK_RDLOCK = 0, - PGWALK_WRLOCK = 1, - PGWALK_WRLOCK_VERIFY = 2, - PGWALK_VMA_RDLOCK_VERIFY = 3, -}; - -enum pageblock_bits { - PB_migrate = 0, - PB_migrate_end = 2, - PB_compact_skip = 3, - PB_migrate_isolate = 4, - __NR_PAGEBLOCK_BITS = 5, -}; - -enum pageflags { - PG_locked = 0, - PG_writeback = 1, - PG_referenced = 2, - PG_uptodate = 3, - PG_dirty = 4, - PG_lru = 5, - PG_head = 6, - PG_waiters = 7, - PG_active = 8, - PG_workingset = 9, - PG_owner_priv_1 = 10, - PG_owner_2 = 11, - PG_arch_1 = 12, - PG_reserved = 13, - PG_private = 14, - PG_private_2 = 15, - PG_reclaim = 16, - PG_swapbacked = 17, - PG_unevictable = 18, - PG_dropbehind = 19, - PG_mlocked = 20, - PG_hwpoison = 21, - PG_young = 22, - PG_idle = 23, - PG_arch_2 = 24, - __NR_PAGEFLAGS = 25, - PG_readahead = 16, - PG_swapcache = 10, - PG_checked = 10, - PG_anon_exclusive = 11, - PG_mappedtodisk = 11, - PG_fscache = 15, - PG_pinned = 10, - PG_savepinned = 4, - PG_foreign = 10, - PG_xen_remapped = 10, - PG_movable_ops_isolated = 16, - PG_movable_ops = 3, - PG_reported = 3, - PG_vmemmap_self_hosted = 10, - PG_has_hwpoisoned = 8, - PG_large_rmappable = 9, - PG_partially_mapped = 16, -}; - -enum pagetype { - PGTY_buddy = 240, - PGTY_offline = 241, - PGTY_table = 242, - PGTY_guard = 243, - PGTY_hugetlb = 244, - PGTY_slab = 245, - PGTY_zsmalloc = 246, - PGTY_unaccepted = 247, - PGTY_large_kmalloc = 248, - PGTY_mapcount_underflow = 255, -}; - -enum palmas_external_requestor_id { - PALMAS_EXTERNAL_REQSTR_ID_REGEN1 = 0, - PALMAS_EXTERNAL_REQSTR_ID_REGEN2 = 1, - PALMAS_EXTERNAL_REQSTR_ID_SYSEN1 = 2, - PALMAS_EXTERNAL_REQSTR_ID_SYSEN2 = 3, - PALMAS_EXTERNAL_REQSTR_ID_CLK32KG = 4, - PALMAS_EXTERNAL_REQSTR_ID_CLK32KGAUDIO = 5, - PALMAS_EXTERNAL_REQSTR_ID_REGEN3 = 6, - PALMAS_EXTERNAL_REQSTR_ID_SMPS12 = 7, - PALMAS_EXTERNAL_REQSTR_ID_SMPS3 = 8, - PALMAS_EXTERNAL_REQSTR_ID_SMPS45 = 9, - PALMAS_EXTERNAL_REQSTR_ID_SMPS6 = 10, - PALMAS_EXTERNAL_REQSTR_ID_SMPS7 = 11, - PALMAS_EXTERNAL_REQSTR_ID_SMPS8 = 12, - PALMAS_EXTERNAL_REQSTR_ID_SMPS9 = 13, - PALMAS_EXTERNAL_REQSTR_ID_SMPS10 = 14, - PALMAS_EXTERNAL_REQSTR_ID_LDO1 = 15, - PALMAS_EXTERNAL_REQSTR_ID_LDO2 = 16, - PALMAS_EXTERNAL_REQSTR_ID_LDO3 = 17, - PALMAS_EXTERNAL_REQSTR_ID_LDO4 = 18, - PALMAS_EXTERNAL_REQSTR_ID_LDO5 = 19, - PALMAS_EXTERNAL_REQSTR_ID_LDO6 = 20, - PALMAS_EXTERNAL_REQSTR_ID_LDO7 = 21, - PALMAS_EXTERNAL_REQSTR_ID_LDO8 = 22, - PALMAS_EXTERNAL_REQSTR_ID_LDO9 = 23, - PALMAS_EXTERNAL_REQSTR_ID_LDOLN = 24, - PALMAS_EXTERNAL_REQSTR_ID_LDOUSB = 25, - PALMAS_EXTERNAL_REQSTR_ID_MAX = 26, -}; - -enum palmas_irqs { - PALMAS_CHARG_DET_N_VBUS_OVV_IRQ = 0, - PALMAS_PWRON_IRQ = 1, - PALMAS_LONG_PRESS_KEY_IRQ = 2, - PALMAS_RPWRON_IRQ = 3, - PALMAS_PWRDOWN_IRQ = 4, - PALMAS_HOTDIE_IRQ = 5, - PALMAS_VSYS_MON_IRQ = 6, - PALMAS_VBAT_MON_IRQ = 7, - PALMAS_RTC_ALARM_IRQ = 8, - PALMAS_RTC_TIMER_IRQ = 9, - PALMAS_WDT_IRQ = 10, - PALMAS_BATREMOVAL_IRQ = 11, - PALMAS_RESET_IN_IRQ = 12, - PALMAS_FBI_BB_IRQ = 13, - PALMAS_SHORT_IRQ = 14, - PALMAS_VAC_ACOK_IRQ = 15, - PALMAS_GPADC_AUTO_0_IRQ = 16, - PALMAS_GPADC_AUTO_1_IRQ = 17, - PALMAS_GPADC_EOC_SW_IRQ = 18, - PALMAS_GPADC_EOC_RT_IRQ = 19, - PALMAS_ID_OTG_IRQ = 20, - PALMAS_ID_IRQ = 21, - PALMAS_VBUS_OTG_IRQ = 22, - PALMAS_VBUS_IRQ = 23, - PALMAS_GPIO_0_IRQ = 24, - PALMAS_GPIO_1_IRQ = 25, - PALMAS_GPIO_2_IRQ = 26, - PALMAS_GPIO_3_IRQ = 27, - PALMAS_GPIO_4_IRQ = 28, - PALMAS_GPIO_5_IRQ = 29, - PALMAS_GPIO_6_IRQ = 30, - PALMAS_GPIO_7_IRQ = 31, - PALMAS_NUM_IRQ = 32, -}; - -enum palmas_regulators { - PALMAS_REG_SMPS12 = 0, - PALMAS_REG_SMPS123 = 1, - PALMAS_REG_SMPS3 = 2, - PALMAS_REG_SMPS45 = 3, - PALMAS_REG_SMPS457 = 4, - PALMAS_REG_SMPS6 = 5, - PALMAS_REG_SMPS7 = 6, - PALMAS_REG_SMPS8 = 7, - PALMAS_REG_SMPS9 = 8, - PALMAS_REG_SMPS10_OUT2 = 9, - PALMAS_REG_SMPS10_OUT1 = 10, - PALMAS_REG_LDO1 = 11, - PALMAS_REG_LDO2 = 12, - PALMAS_REG_LDO3 = 13, - PALMAS_REG_LDO4 = 14, - PALMAS_REG_LDO5 = 15, - PALMAS_REG_LDO6 = 16, - PALMAS_REG_LDO7 = 17, - PALMAS_REG_LDO8 = 18, - PALMAS_REG_LDO9 = 19, - PALMAS_REG_LDOLN = 20, - PALMAS_REG_LDOUSB = 21, - PALMAS_REG_REGEN1 = 22, - PALMAS_REG_REGEN2 = 23, - PALMAS_REG_REGEN3 = 24, - PALMAS_REG_SYSEN1 = 25, - PALMAS_REG_SYSEN2 = 26, - PALMAS_NUM_REGS = 27, -}; - -enum palmas_usb_state { - PALMAS_USB_STATE_DISCONNECT = 0, - PALMAS_USB_STATE_VBUS = 1, - PALMAS_USB_STATE_ID = 2, -}; - -enum partition_cmd { - partcmd_enable = 0, - partcmd_enablei = 1, - partcmd_disable = 2, - partcmd_update = 3, - partcmd_invalidate = 4, -}; - -enum passtype { - PASS_SCAN = 0, - PASS_REVOKE = 1, - PASS_REPLAY = 2, -}; - -enum path_flags { - PATH_IS_DIR = 1, - PATH_SOCK_COND = 2, - PATH_CONNECT_PATH = 4, - PATH_CHROOT_REL = 8, - PATH_CHROOT_NSCONNECT = 16, - PATH_CONNECT_IPC_PATH = 32, - PATH_DELEGATE_DELETED = 65536, - PATH_MEDIATE_DELETED = 131072, -}; - -enum pb_isolate_mode { - PB_ISOLATE_MODE_MEM_OFFLINE = 0, - PB_ISOLATE_MODE_CMA_ALLOC = 1, - PB_ISOLATE_MODE_OTHER = 2, -}; - -enum pce_status { - PCE_STATUS_NONE = 0, - PCE_STATUS_ACQUIRED = 1, - PCE_STATUS_PREPARED = 2, - PCE_STATUS_ENABLED = 3, - PCE_STATUS_ERROR = 4, -}; - -enum pci_bar_type { - pci_bar_unknown = 0, - pci_bar_io = 1, - pci_bar_mem32 = 2, - pci_bar_mem64 = 3, -}; - -enum pci_barno { - NO_BAR = -1, - BAR_0 = 0, - BAR_1 = 1, - BAR_2 = 2, - BAR_3 = 3, - BAR_4 = 4, - BAR_5 = 5, -}; - -enum pci_bf_sort_state { - pci_bf_sort_default = 0, - pci_force_nobf = 1, - pci_force_bf = 2, - pci_dmi_bf = 3, -}; - -enum pci_board_num_t { - pbn_default = 0, - pbn_b0_1_115200 = 1, - pbn_b0_2_115200 = 2, - pbn_b0_4_115200 = 3, - pbn_b0_5_115200 = 4, - pbn_b0_8_115200 = 5, - pbn_b0_1_921600 = 6, - pbn_b0_2_921600 = 7, - pbn_b0_4_921600 = 8, - pbn_b0_2_1130000 = 9, - pbn_b0_4_1152000 = 10, - pbn_b0_4_1250000 = 11, - pbn_b0_2_1843200 = 12, - pbn_b0_4_1843200 = 13, - pbn_b0_1_15625000 = 14, - pbn_b0_bt_1_115200 = 15, - pbn_b0_bt_2_115200 = 16, - pbn_b0_bt_4_115200 = 17, - pbn_b0_bt_8_115200 = 18, - pbn_b0_bt_1_460800 = 19, - pbn_b0_bt_2_460800 = 20, - pbn_b0_bt_4_460800 = 21, - pbn_b0_bt_1_921600 = 22, - pbn_b0_bt_2_921600 = 23, - pbn_b0_bt_4_921600 = 24, - pbn_b0_bt_8_921600 = 25, - pbn_b1_1_115200 = 26, - pbn_b1_2_115200 = 27, - pbn_b1_4_115200 = 28, - pbn_b1_8_115200 = 29, - pbn_b1_16_115200 = 30, - pbn_b1_1_921600 = 31, - pbn_b1_2_921600 = 32, - pbn_b1_4_921600 = 33, - pbn_b1_8_921600 = 34, - pbn_b1_2_1250000 = 35, - pbn_b1_bt_1_115200 = 36, - pbn_b1_bt_2_115200 = 37, - pbn_b1_bt_4_115200 = 38, - pbn_b1_bt_2_921600 = 39, - pbn_b1_1_1382400 = 40, - pbn_b1_2_1382400 = 41, - pbn_b1_4_1382400 = 42, - pbn_b1_8_1382400 = 43, - pbn_b2_1_115200 = 44, - pbn_b2_2_115200 = 45, - pbn_b2_4_115200 = 46, - pbn_b2_8_115200 = 47, - pbn_b2_1_460800 = 48, - pbn_b2_4_460800 = 49, - pbn_b2_8_460800 = 50, - pbn_b2_16_460800 = 51, - pbn_b2_1_921600 = 52, - pbn_b2_4_921600 = 53, - pbn_b2_8_921600 = 54, - pbn_b2_8_1152000 = 55, - pbn_b2_bt_1_115200 = 56, - pbn_b2_bt_2_115200 = 57, - pbn_b2_bt_4_115200 = 58, - pbn_b2_bt_2_921600 = 59, - pbn_b2_bt_4_921600 = 60, - pbn_b3_2_115200 = 61, - pbn_b3_4_115200 = 62, - pbn_b3_8_115200 = 63, - pbn_b4_bt_2_921600 = 64, - pbn_b4_bt_4_921600 = 65, - pbn_b4_bt_8_921600 = 66, - pbn_panacom = 67, - pbn_panacom2 = 68, - pbn_panacom4 = 69, - pbn_plx_romulus = 70, - pbn_oxsemi = 71, - pbn_oxsemi_1_15625000 = 72, - pbn_oxsemi_2_15625000 = 73, - pbn_oxsemi_4_15625000 = 74, - pbn_oxsemi_8_15625000 = 75, - pbn_intel_i960 = 76, - pbn_sgi_ioc3 = 77, - pbn_computone_4 = 78, - pbn_computone_6 = 79, - pbn_computone_8 = 80, - pbn_sbsxrsio = 81, - pbn_pasemi_1682M = 82, - pbn_ni8430_2 = 83, - pbn_ni8430_4 = 84, - pbn_ni8430_8 = 85, - pbn_ni8430_16 = 86, - pbn_ADDIDATA_PCIe_1_3906250 = 87, - pbn_ADDIDATA_PCIe_2_3906250 = 88, - pbn_ADDIDATA_PCIe_4_3906250 = 89, - pbn_ADDIDATA_PCIe_8_3906250 = 90, - pbn_ce4100_1_115200 = 91, - pbn_omegapci = 92, - pbn_NETMOS9900_2s_115200 = 93, - pbn_brcm_trumanage = 94, - pbn_fintek_4 = 95, - pbn_fintek_8 = 96, - pbn_fintek_12 = 97, - pbn_fintek_F81504A = 98, - pbn_fintek_F81508A = 99, - pbn_fintek_F81512A = 100, - pbn_wch382_2 = 101, - pbn_wch384_4 = 102, - pbn_wch384_8 = 103, - pbn_sunix_pci_1s = 104, - pbn_sunix_pci_2s = 105, - pbn_sunix_pci_4s = 106, - pbn_sunix_pci_8s = 107, - pbn_sunix_pci_16s = 108, - pbn_titan_1_4000000 = 109, - pbn_titan_2_4000000 = 110, - pbn_titan_4_4000000 = 111, - pbn_titan_8_4000000 = 112, - pbn_moxa_2 = 113, - pbn_moxa_4 = 114, - pbn_moxa_8 = 115, -}; - -enum pci_bus_flags { - PCI_BUS_FLAGS_NO_MSI = 1, - PCI_BUS_FLAGS_NO_MMRBC = 2, - PCI_BUS_FLAGS_NO_AERSID = 4, - PCI_BUS_FLAGS_NO_EXTCFG = 8, -}; - -enum pci_bus_speed { - PCI_SPEED_33MHz = 0, - PCI_SPEED_66MHz = 1, - PCI_SPEED_66MHz_PCIX = 2, - PCI_SPEED_100MHz_PCIX = 3, - PCI_SPEED_133MHz_PCIX = 4, - PCI_SPEED_66MHz_PCIX_ECC = 5, - PCI_SPEED_100MHz_PCIX_ECC = 6, - PCI_SPEED_133MHz_PCIX_ECC = 7, - PCI_SPEED_66MHz_PCIX_266 = 9, - PCI_SPEED_100MHz_PCIX_266 = 10, - PCI_SPEED_133MHz_PCIX_266 = 11, - AGP_UNKNOWN = 12, - AGP_1X = 13, - AGP_2X = 14, - AGP_4X = 15, - AGP_8X = 16, - PCI_SPEED_66MHz_PCIX_533 = 17, - PCI_SPEED_100MHz_PCIX_533 = 18, - PCI_SPEED_133MHz_PCIX_533 = 19, - PCIE_SPEED_2_5GT = 20, - PCIE_SPEED_5_0GT = 21, - PCIE_SPEED_8_0GT = 22, - PCIE_SPEED_16_0GT = 23, - PCIE_SPEED_32_0GT = 24, - PCIE_SPEED_64_0GT = 25, - PCI_SPEED_UNKNOWN = 255, -}; - -enum pci_dev_flags { - PCI_DEV_FLAGS_MSI_INTX_DISABLE_BUG = 1, - PCI_DEV_FLAGS_NO_D3 = 2, - PCI_DEV_FLAGS_ASSIGNED = 4, - PCI_DEV_FLAGS_ACS_ENABLED_QUIRK = 8, - PCI_DEV_FLAG_PCIE_BRIDGE_ALIAS = 32, - PCI_DEV_FLAGS_NO_BUS_RESET = 64, - PCI_DEV_FLAGS_NO_PM_RESET = 128, - PCI_DEV_FLAGS_VPD_REF_F0 = 256, - PCI_DEV_FLAGS_BRIDGE_XLATE_ROOT = 512, - PCI_DEV_FLAGS_NO_FLR_RESET = 1024, - PCI_DEV_FLAGS_NO_RELAXED_ORDERING = 2048, - PCI_DEV_FLAGS_HAS_MSI_MASKING = 4096, - PCI_DEV_FLAGS_MSIX_TOUCH_ENTRY_DATA_FIRST = 8192, - PCI_DEV_FLAGS_NO_RRS_SV = 16384, -}; - -enum pci_epc_bar_type { - BAR_PROGRAMMABLE = 0, - BAR_FIXED = 1, - BAR_RESIZABLE = 2, - BAR_RESERVED = 3, -}; - -enum pci_epc_interface_type { - UNKNOWN_INTERFACE = -1, - PRIMARY_INTERFACE = 0, - SECONDARY_INTERFACE = 1, -}; - -enum pci_ers_result { - PCI_ERS_RESULT_NONE = 1, - PCI_ERS_RESULT_CAN_RECOVER = 2, - PCI_ERS_RESULT_NEED_RESET = 3, - PCI_ERS_RESULT_DISCONNECT = 4, - PCI_ERS_RESULT_RECOVERED = 5, - PCI_ERS_RESULT_NO_AER_DRIVER = 6, -}; - -enum pci_fixup_pass { - pci_fixup_early = 0, - pci_fixup_header = 1, - pci_fixup_final = 2, - pci_fixup_enable = 3, - pci_fixup_resume = 4, - pci_fixup_suspend = 5, - pci_fixup_resume_early = 6, - pci_fixup_suspend_late = 7, -}; - -enum pci_interrupt_pin { - PCI_INTERRUPT_UNKNOWN = 0, - PCI_INTERRUPT_INTA = 1, - PCI_INTERRUPT_INTB = 2, - PCI_INTERRUPT_INTC = 3, - PCI_INTERRUPT_INTD = 4, -}; - -enum pci_irq_reroute_variant { - INTEL_IRQ_REROUTE_VARIANT = 1, - MAX_IRQ_REROUTE_VARIANTS = 3, -}; - -enum pci_mmap_api { - PCI_MMAP_SYSFS = 0, - PCI_MMAP_PROCFS = 1, -}; - -enum pci_mmap_state { - pci_mmap_io = 0, - pci_mmap_mem = 1, -}; - -enum pci_p2pdma_map_type { - PCI_P2PDMA_MAP_UNKNOWN = 0, - PCI_P2PDMA_MAP_NONE = 1, - PCI_P2PDMA_MAP_NOT_SUPPORTED = 2, - PCI_P2PDMA_MAP_BUS_ADDR = 3, - PCI_P2PDMA_MAP_THRU_HOST_BRIDGE = 4, -}; - -enum pcie_bus_config_types { - PCIE_BUS_TUNE_OFF = 0, - PCIE_BUS_DEFAULT = 1, - PCIE_BUS_SAFE = 2, - PCIE_BUS_PERFORMANCE = 3, - PCIE_BUS_PEER2PEER = 4, -}; - -enum pcie_link_width { - PCIE_LNK_WIDTH_RESRV = 0, - PCIE_LNK_X1 = 1, - PCIE_LNK_X2 = 2, - PCIE_LNK_X4 = 4, - PCIE_LNK_X8 = 8, - PCIE_LNK_X12 = 12, - PCIE_LNK_X16 = 16, - PCIE_LNK_X32 = 32, - PCIE_LNK_WIDTH_UNKNOWN = 255, -}; - -enum pcie_reset_state { - pcie_deassert_reset = 1, - pcie_warm_reset = 2, - pcie_hot_reset = 3, -}; - -enum pcim_addr_devres_type { - PCIM_ADDR_DEVRES_TYPE_INVALID = 0, - PCIM_ADDR_DEVRES_TYPE_REGION = 1, - PCIM_ADDR_DEVRES_TYPE_REGION_MAPPING = 2, - PCIM_ADDR_DEVRES_TYPE_MAPPING = 3, -}; - -enum pcpu_fc { - PCPU_FC_AUTO = 0, - PCPU_FC_EMBED = 1, - PCPU_FC_PAGE = 2, - PCPU_FC_NR = 3, -}; - -enum pedit_cmd { - TCA_PEDIT_KEY_EX_CMD_SET = 0, - TCA_PEDIT_KEY_EX_CMD_ADD = 1, - __PEDIT_CMD_MAX = 2, -}; - -enum pedit_header_type { - TCA_PEDIT_KEY_EX_HDR_TYPE_NETWORK = 0, - TCA_PEDIT_KEY_EX_HDR_TYPE_ETH = 1, - TCA_PEDIT_KEY_EX_HDR_TYPE_IP4 = 2, - TCA_PEDIT_KEY_EX_HDR_TYPE_IP6 = 3, - TCA_PEDIT_KEY_EX_HDR_TYPE_TCP = 4, - TCA_PEDIT_KEY_EX_HDR_TYPE_UDP = 5, - __PEDIT_HDR_TYPE_MAX = 6, -}; - -enum peer_app_attr { - DCB_ATTR_CEE_PEER_APP_UNSPEC = 0, - DCB_ATTR_CEE_PEER_APP_INFO = 1, - DCB_ATTR_CEE_PEER_APP = 2, - __DCB_ATTR_CEE_PEER_APP_MAX = 3, -}; - -enum perf_addr_filter_action_t { - PERF_ADDR_FILTER_ACTION_STOP = 0, - PERF_ADDR_FILTER_ACTION_START = 1, - PERF_ADDR_FILTER_ACTION_FILTER = 2, -}; - -enum perf_adl_uncore_imc_freerunning_types { - ADL_MMIO_UNCORE_IMC_DATA_TOTAL = 0, - ADL_MMIO_UNCORE_IMC_DATA_READ = 1, - ADL_MMIO_UNCORE_IMC_DATA_WRITE = 2, - ADL_MMIO_UNCORE_IMC_FREERUNNING_TYPE_MAX = 3, -}; - -enum perf_bpf_event_type { - PERF_BPF_EVENT_UNKNOWN = 0, - PERF_BPF_EVENT_PROG_LOAD = 1, - PERF_BPF_EVENT_PROG_UNLOAD = 2, - PERF_BPF_EVENT_MAX = 3, -}; - -enum perf_branch_sample_type { - PERF_SAMPLE_BRANCH_USER = 1, - PERF_SAMPLE_BRANCH_KERNEL = 2, - PERF_SAMPLE_BRANCH_HV = 4, - PERF_SAMPLE_BRANCH_ANY = 8, - PERF_SAMPLE_BRANCH_ANY_CALL = 16, - PERF_SAMPLE_BRANCH_ANY_RETURN = 32, - PERF_SAMPLE_BRANCH_IND_CALL = 64, - PERF_SAMPLE_BRANCH_ABORT_TX = 128, - PERF_SAMPLE_BRANCH_IN_TX = 256, - PERF_SAMPLE_BRANCH_NO_TX = 512, - PERF_SAMPLE_BRANCH_COND = 1024, - PERF_SAMPLE_BRANCH_CALL_STACK = 2048, - PERF_SAMPLE_BRANCH_IND_JUMP = 4096, - PERF_SAMPLE_BRANCH_CALL = 8192, - PERF_SAMPLE_BRANCH_NO_FLAGS = 16384, - PERF_SAMPLE_BRANCH_NO_CYCLES = 32768, - PERF_SAMPLE_BRANCH_TYPE_SAVE = 65536, - PERF_SAMPLE_BRANCH_HW_INDEX = 131072, - PERF_SAMPLE_BRANCH_PRIV_SAVE = 262144, - PERF_SAMPLE_BRANCH_COUNTERS = 524288, - PERF_SAMPLE_BRANCH_MAX = 1048576, -}; - -enum perf_branch_sample_type_shift { - PERF_SAMPLE_BRANCH_USER_SHIFT = 0, - PERF_SAMPLE_BRANCH_KERNEL_SHIFT = 1, - PERF_SAMPLE_BRANCH_HV_SHIFT = 2, - PERF_SAMPLE_BRANCH_ANY_SHIFT = 3, - PERF_SAMPLE_BRANCH_ANY_CALL_SHIFT = 4, - PERF_SAMPLE_BRANCH_ANY_RETURN_SHIFT = 5, - PERF_SAMPLE_BRANCH_IND_CALL_SHIFT = 6, - PERF_SAMPLE_BRANCH_ABORT_TX_SHIFT = 7, - PERF_SAMPLE_BRANCH_IN_TX_SHIFT = 8, - PERF_SAMPLE_BRANCH_NO_TX_SHIFT = 9, - PERF_SAMPLE_BRANCH_COND_SHIFT = 10, - PERF_SAMPLE_BRANCH_CALL_STACK_SHIFT = 11, - PERF_SAMPLE_BRANCH_IND_JUMP_SHIFT = 12, - PERF_SAMPLE_BRANCH_CALL_SHIFT = 13, - PERF_SAMPLE_BRANCH_NO_FLAGS_SHIFT = 14, - PERF_SAMPLE_BRANCH_NO_CYCLES_SHIFT = 15, - PERF_SAMPLE_BRANCH_TYPE_SAVE_SHIFT = 16, - PERF_SAMPLE_BRANCH_HW_INDEX_SHIFT = 17, - PERF_SAMPLE_BRANCH_PRIV_SAVE_SHIFT = 18, - PERF_SAMPLE_BRANCH_COUNTERS_SHIFT = 19, - PERF_SAMPLE_BRANCH_MAX_SHIFT = 20, -}; - -enum perf_callchain_context { - PERF_CONTEXT_HV = 18446744073709551584ULL, - PERF_CONTEXT_KERNEL = 18446744073709551488ULL, - PERF_CONTEXT_USER = 18446744073709551104ULL, - PERF_CONTEXT_GUEST = 18446744073709549568ULL, - PERF_CONTEXT_GUEST_KERNEL = 18446744073709549440ULL, - PERF_CONTEXT_GUEST_USER = 18446744073709549056ULL, - PERF_CONTEXT_MAX = 18446744073709547521ULL, -}; - -enum perf_event_ioc_flags { - PERF_IOC_FLAG_GROUP = 1, -}; - -enum perf_event_read_format { - PERF_FORMAT_TOTAL_TIME_ENABLED = 1, - PERF_FORMAT_TOTAL_TIME_RUNNING = 2, - PERF_FORMAT_ID = 4, - PERF_FORMAT_GROUP = 8, - PERF_FORMAT_LOST = 16, - PERF_FORMAT_MAX = 32, -}; - -enum perf_event_sample_format { - PERF_SAMPLE_IP = 1, - PERF_SAMPLE_TID = 2, - PERF_SAMPLE_TIME = 4, - PERF_SAMPLE_ADDR = 8, - PERF_SAMPLE_READ = 16, - PERF_SAMPLE_CALLCHAIN = 32, - PERF_SAMPLE_ID = 64, - PERF_SAMPLE_CPU = 128, - PERF_SAMPLE_PERIOD = 256, - PERF_SAMPLE_STREAM_ID = 512, - PERF_SAMPLE_RAW = 1024, - PERF_SAMPLE_BRANCH_STACK = 2048, - PERF_SAMPLE_REGS_USER = 4096, - PERF_SAMPLE_STACK_USER = 8192, - PERF_SAMPLE_WEIGHT = 16384, - PERF_SAMPLE_DATA_SRC = 32768, - PERF_SAMPLE_IDENTIFIER = 65536, - PERF_SAMPLE_TRANSACTION = 131072, - PERF_SAMPLE_REGS_INTR = 262144, - PERF_SAMPLE_PHYS_ADDR = 524288, - PERF_SAMPLE_AUX = 1048576, - PERF_SAMPLE_CGROUP = 2097152, - PERF_SAMPLE_DATA_PAGE_SIZE = 4194304, - PERF_SAMPLE_CODE_PAGE_SIZE = 8388608, - PERF_SAMPLE_WEIGHT_STRUCT = 16777216, - PERF_SAMPLE_MAX = 33554432, -}; - -enum perf_event_state { - PERF_EVENT_STATE_DEAD = -5, - PERF_EVENT_STATE_REVOKED = -4, - PERF_EVENT_STATE_EXIT = -3, - PERF_EVENT_STATE_ERROR = -2, - PERF_EVENT_STATE_OFF = -1, - PERF_EVENT_STATE_INACTIVE = 0, - PERF_EVENT_STATE_ACTIVE = 1, -}; - -enum perf_event_task_context { - perf_invalid_context = -1, - perf_hw_context = 0, - perf_sw_context = 1, - perf_nr_task_contexts = 2, -}; - -enum perf_event_type { - PERF_RECORD_MMAP = 1, - PERF_RECORD_LOST = 2, - PERF_RECORD_COMM = 3, - PERF_RECORD_EXIT = 4, - PERF_RECORD_THROTTLE = 5, - PERF_RECORD_UNTHROTTLE = 6, - PERF_RECORD_FORK = 7, - PERF_RECORD_READ = 8, - PERF_RECORD_SAMPLE = 9, - PERF_RECORD_MMAP2 = 10, - PERF_RECORD_AUX = 11, - PERF_RECORD_ITRACE_START = 12, - PERF_RECORD_LOST_SAMPLES = 13, - PERF_RECORD_SWITCH = 14, - PERF_RECORD_SWITCH_CPU_WIDE = 15, - PERF_RECORD_NAMESPACES = 16, - PERF_RECORD_KSYMBOL = 17, - PERF_RECORD_BPF_EVENT = 18, - PERF_RECORD_CGROUP = 19, - PERF_RECORD_TEXT_POKE = 20, - PERF_RECORD_AUX_OUTPUT_HW_ID = 21, - PERF_RECORD_MAX = 22, -}; - -enum perf_event_x86_regs { - PERF_REG_X86_AX = 0, - PERF_REG_X86_BX = 1, - PERF_REG_X86_CX = 2, - PERF_REG_X86_DX = 3, - PERF_REG_X86_SI = 4, - PERF_REG_X86_DI = 5, - PERF_REG_X86_BP = 6, - PERF_REG_X86_SP = 7, - PERF_REG_X86_IP = 8, - PERF_REG_X86_FLAGS = 9, - PERF_REG_X86_CS = 10, - PERF_REG_X86_SS = 11, - PERF_REG_X86_DS = 12, - PERF_REG_X86_ES = 13, - PERF_REG_X86_FS = 14, - PERF_REG_X86_GS = 15, - PERF_REG_X86_R8 = 16, - PERF_REG_X86_R9 = 17, - PERF_REG_X86_R10 = 18, - PERF_REG_X86_R11 = 19, - PERF_REG_X86_R12 = 20, - PERF_REG_X86_R13 = 21, - PERF_REG_X86_R14 = 22, - PERF_REG_X86_R15 = 23, - PERF_REG_X86_32_MAX = 16, - PERF_REG_X86_64_MAX = 24, - PERF_REG_X86_XMM0 = 32, - PERF_REG_X86_XMM1 = 34, - PERF_REG_X86_XMM2 = 36, - PERF_REG_X86_XMM3 = 38, - PERF_REG_X86_XMM4 = 40, - PERF_REG_X86_XMM5 = 42, - PERF_REG_X86_XMM6 = 44, - PERF_REG_X86_XMM7 = 46, - PERF_REG_X86_XMM8 = 48, - PERF_REG_X86_XMM9 = 50, - PERF_REG_X86_XMM10 = 52, - PERF_REG_X86_XMM11 = 54, - PERF_REG_X86_XMM12 = 56, - PERF_REG_X86_XMM13 = 58, - PERF_REG_X86_XMM14 = 60, - PERF_REG_X86_XMM15 = 62, - PERF_REG_X86_XMM_MAX = 64, -}; - -enum perf_hw_cache_id { - PERF_COUNT_HW_CACHE_L1D = 0, - PERF_COUNT_HW_CACHE_L1I = 1, - PERF_COUNT_HW_CACHE_LL = 2, - PERF_COUNT_HW_CACHE_DTLB = 3, - PERF_COUNT_HW_CACHE_ITLB = 4, - PERF_COUNT_HW_CACHE_BPU = 5, - PERF_COUNT_HW_CACHE_NODE = 6, - PERF_COUNT_HW_CACHE_MAX = 7, -}; - -enum perf_hw_cache_op_id { - PERF_COUNT_HW_CACHE_OP_READ = 0, - PERF_COUNT_HW_CACHE_OP_WRITE = 1, - PERF_COUNT_HW_CACHE_OP_PREFETCH = 2, - PERF_COUNT_HW_CACHE_OP_MAX = 3, -}; - -enum perf_hw_cache_op_result_id { - PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0, - PERF_COUNT_HW_CACHE_RESULT_MISS = 1, - PERF_COUNT_HW_CACHE_RESULT_MAX = 2, -}; - -enum perf_hw_id { - PERF_COUNT_HW_CPU_CYCLES = 0, - PERF_COUNT_HW_INSTRUCTIONS = 1, - PERF_COUNT_HW_CACHE_REFERENCES = 2, - PERF_COUNT_HW_CACHE_MISSES = 3, - PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 4, - PERF_COUNT_HW_BRANCH_MISSES = 5, - PERF_COUNT_HW_BUS_CYCLES = 6, - PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 7, - PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 8, - PERF_COUNT_HW_REF_CPU_CYCLES = 9, - PERF_COUNT_HW_MAX = 10, -}; - -enum perf_msr_id { - PERF_MSR_TSC = 0, - PERF_MSR_APERF = 1, - PERF_MSR_MPERF = 2, - PERF_MSR_PPERF = 3, - PERF_MSR_SMI = 4, - PERF_MSR_PTSC = 5, - PERF_MSR_IRPERF = 6, - PERF_MSR_THERM = 7, - PERF_MSR_EVENT_MAX = 8, -}; - -enum perf_pmu_scope { - PERF_PMU_SCOPE_NONE = 0, - PERF_PMU_SCOPE_CORE = 1, - PERF_PMU_SCOPE_DIE = 2, - PERF_PMU_SCOPE_CLUSTER = 3, - PERF_PMU_SCOPE_PKG = 4, - PERF_PMU_SCOPE_SYS_WIDE = 5, - PERF_PMU_MAX_SCOPE = 6, -}; - -enum perf_probe_config { - PERF_PROBE_CONFIG_IS_RETPROBE = 1, - PERF_UPROBE_REF_CTR_OFFSET_BITS = 32, - PERF_UPROBE_REF_CTR_OFFSET_SHIFT = 32, -}; - -enum perf_record_ksymbol_type { - PERF_RECORD_KSYMBOL_TYPE_UNKNOWN = 0, - PERF_RECORD_KSYMBOL_TYPE_BPF = 1, - PERF_RECORD_KSYMBOL_TYPE_OOL = 2, - PERF_RECORD_KSYMBOL_TYPE_MAX = 3, -}; - -enum perf_sample_regs_abi { - PERF_SAMPLE_REGS_ABI_NONE = 0, - PERF_SAMPLE_REGS_ABI_32 = 1, - PERF_SAMPLE_REGS_ABI_64 = 2, -}; - -enum perf_snb_uncore_imc_freerunning_types { - SNB_PCI_UNCORE_IMC_DATA_READS = 0, - SNB_PCI_UNCORE_IMC_DATA_WRITES = 1, - SNB_PCI_UNCORE_IMC_GT_REQUESTS = 2, - SNB_PCI_UNCORE_IMC_IA_REQUESTS = 3, - SNB_PCI_UNCORE_IMC_IO_REQUESTS = 4, - SNB_PCI_UNCORE_IMC_FREERUNNING_TYPE_MAX = 5, -}; - -enum perf_sw_ids { - PERF_COUNT_SW_CPU_CLOCK = 0, - PERF_COUNT_SW_TASK_CLOCK = 1, - PERF_COUNT_SW_PAGE_FAULTS = 2, - PERF_COUNT_SW_CONTEXT_SWITCHES = 3, - PERF_COUNT_SW_CPU_MIGRATIONS = 4, - PERF_COUNT_SW_PAGE_FAULTS_MIN = 5, - PERF_COUNT_SW_PAGE_FAULTS_MAJ = 6, - PERF_COUNT_SW_ALIGNMENT_FAULTS = 7, - PERF_COUNT_SW_EMULATION_FAULTS = 8, - PERF_COUNT_SW_DUMMY = 9, - PERF_COUNT_SW_BPF_OUTPUT = 10, - PERF_COUNT_SW_CGROUP_SWITCHES = 11, - PERF_COUNT_SW_MAX = 12, -}; - -enum perf_tgl_uncore_imc_freerunning_types { - TGL_MMIO_UNCORE_IMC_DATA_TOTAL = 0, - TGL_MMIO_UNCORE_IMC_DATA_READ = 1, - TGL_MMIO_UNCORE_IMC_DATA_WRITE = 2, - TGL_MMIO_UNCORE_IMC_FREERUNNING_TYPE_MAX = 3, -}; - -enum perf_type_id { - PERF_TYPE_HARDWARE = 0, - PERF_TYPE_SOFTWARE = 1, - PERF_TYPE_TRACEPOINT = 2, - PERF_TYPE_HW_CACHE = 3, - PERF_TYPE_RAW = 4, - PERF_TYPE_BREAKPOINT = 5, - PERF_TYPE_MAX = 6, -}; - -enum perf_uncore_icx_iio_freerunning_type_id { - ICX_IIO_MSR_IOCLK = 0, - ICX_IIO_MSR_BW_IN = 1, - ICX_IIO_FREERUNNING_TYPE_MAX = 2, -}; - -enum perf_uncore_icx_imc_freerunning_type_id { - ICX_IMC_DCLK = 0, - ICX_IMC_DDR = 1, - ICX_IMC_DDRT = 2, - ICX_IMC_FREERUNNING_TYPE_MAX = 3, -}; - -enum perf_uncore_iio_freerunning_type_id { - SKX_IIO_MSR_IOCLK = 0, - SKX_IIO_MSR_BW = 1, - SKX_IIO_MSR_UTIL = 2, - SKX_IIO_FREERUNNING_TYPE_MAX = 3, -}; - -enum perf_uncore_snr_iio_freerunning_type_id { - SNR_IIO_MSR_IOCLK = 0, - SNR_IIO_MSR_BW_IN = 1, - SNR_IIO_FREERUNNING_TYPE_MAX = 2, -}; - -enum perf_uncore_snr_imc_freerunning_type_id { - SNR_IMC_DCLK = 0, - SNR_IMC_DDR = 1, - SNR_IMC_FREERUNNING_TYPE_MAX = 2, -}; - -enum perf_uncore_spr_iio_freerunning_type_id { - SPR_IIO_MSR_IOCLK = 0, - SPR_IIO_MSR_BW_IN = 1, - SPR_IIO_MSR_BW_OUT = 2, - SPR_IIO_FREERUNNING_TYPE_MAX = 3, -}; - -enum perf_uncore_spr_imc_freerunning_type_id { - SPR_IMC_DCLK = 0, - SPR_IMC_PQ_CYCLES = 1, - SPR_IMC_FREERUNNING_TYPE_MAX = 2, -}; - -enum pg_level { - PG_LEVEL_NONE = 0, - PG_LEVEL_4K = 1, - PG_LEVEL_2M = 2, - PG_LEVEL_1G = 3, - PG_LEVEL_512G = 4, - PG_LEVEL_256T = 5, - PG_LEVEL_NUM = 6, -}; - -enum pgdat_flags { - PGDAT_DIRTY = 0, - PGDAT_WRITEBACK = 1, - PGDAT_RECLAIM_LOCKED = 2, -}; - -enum pgt_entry { - NORMAL_PMD = 0, - HPAGE_PMD = 1, - NORMAL_PUD = 2, - HPAGE_PUD = 3, -}; - -enum phy_media { - PHY_MEDIA_DEFAULT = 0, - PHY_MEDIA_SR = 1, - PHY_MEDIA_DAC = 2, -}; - -enum phy_mode { - PHY_MODE_INVALID = 0, - PHY_MODE_USB_HOST = 1, - PHY_MODE_USB_HOST_LS = 2, - PHY_MODE_USB_HOST_FS = 3, - PHY_MODE_USB_HOST_HS = 4, - PHY_MODE_USB_HOST_SS = 5, - PHY_MODE_USB_DEVICE = 6, - PHY_MODE_USB_DEVICE_LS = 7, - PHY_MODE_USB_DEVICE_FS = 8, - PHY_MODE_USB_DEVICE_HS = 9, - PHY_MODE_USB_DEVICE_SS = 10, - PHY_MODE_USB_OTG = 11, - PHY_MODE_UFS_HS_A = 12, - PHY_MODE_UFS_HS_B = 13, - PHY_MODE_PCIE = 14, - PHY_MODE_ETHERNET = 15, - PHY_MODE_MIPI_DPHY = 16, - PHY_MODE_SATA = 17, - PHY_MODE_LVDS = 18, - PHY_MODE_DP = 19, - PHY_MODE_HDMI = 20, -}; - -enum phy_state { - PHY_DOWN = 0, - PHY_READY = 1, - PHY_HALTED = 2, - PHY_ERROR = 3, - PHY_UP = 4, - PHY_RUNNING = 5, - PHY_NOLINK = 6, - PHY_CABLETEST = 7, -}; - -enum phy_state_work { - PHY_STATE_WORK_NONE = 0, - PHY_STATE_WORK_ANEG = 1, - PHY_STATE_WORK_SUSPEND = 2, -}; - -enum phy_tunable_id { - ETHTOOL_PHY_ID_UNSPEC = 0, - ETHTOOL_PHY_DOWNSHIFT = 1, - ETHTOOL_PHY_FAST_LINK_DOWN = 2, - ETHTOOL_PHY_EDPD = 3, - __ETHTOOL_PHY_TUNABLE_COUNT = 4, -}; - -enum phy_upstream { - PHY_UPSTREAM_MAC = 0, - PHY_UPSTREAM_PHY = 1, -}; - -enum phylink_op_type { - PHYLINK_NETDEV = 0, - PHYLINK_DEV = 1, -}; - -enum pid_type { - PIDTYPE_PID = 0, - PIDTYPE_TGID = 1, - PIDTYPE_PGID = 2, - PIDTYPE_SID = 3, - PIDTYPE_MAX = 4, -}; - -enum pidcg_event { - PIDCG_MAX = 0, - PIDCG_FORKFAIL = 1, - NR_PIDCG_EVENTS = 2, -}; - -enum piix_controller_ids { - piix_pata_mwdma = 0, - piix_pata_33 = 1, - ich_pata_33 = 2, - ich_pata_66 = 3, - ich_pata_100 = 4, - ich_pata_100_nomwdma1 = 5, - ich5_sata = 6, - ich6_sata = 7, - ich6m_sata = 8, - ich8_sata = 9, - ich8_2port_sata = 10, - ich8m_apple_sata = 11, - tolapai_sata = 12, - piix_pata_vmw = 13, - ich8_sata_snb = 14, - ich8_2port_sata_snb = 15, - ich8_2port_sata_byt = 16, -}; - -enum pin_config_param { - PIN_CONFIG_BIAS_BUS_HOLD = 0, - PIN_CONFIG_BIAS_DISABLE = 1, - PIN_CONFIG_BIAS_HIGH_IMPEDANCE = 2, - PIN_CONFIG_BIAS_PULL_DOWN = 3, - PIN_CONFIG_BIAS_PULL_PIN_DEFAULT = 4, - PIN_CONFIG_BIAS_PULL_UP = 5, - PIN_CONFIG_DRIVE_OPEN_DRAIN = 6, - PIN_CONFIG_DRIVE_OPEN_SOURCE = 7, - PIN_CONFIG_DRIVE_PUSH_PULL = 8, - PIN_CONFIG_DRIVE_STRENGTH = 9, - PIN_CONFIG_DRIVE_STRENGTH_UA = 10, - PIN_CONFIG_INPUT_DEBOUNCE = 11, - PIN_CONFIG_INPUT_ENABLE = 12, - PIN_CONFIG_INPUT_SCHMITT = 13, - PIN_CONFIG_INPUT_SCHMITT_ENABLE = 14, - PIN_CONFIG_INPUT_SCHMITT_UV = 15, - PIN_CONFIG_MODE_LOW_POWER = 16, - PIN_CONFIG_MODE_PWM = 17, - PIN_CONFIG_OUTPUT = 18, - PIN_CONFIG_OUTPUT_ENABLE = 19, - PIN_CONFIG_OUTPUT_IMPEDANCE_OHMS = 20, - PIN_CONFIG_PERSIST_STATE = 21, - PIN_CONFIG_POWER_SOURCE = 22, - PIN_CONFIG_SKEW_DELAY = 23, - PIN_CONFIG_SLEEP_HARDWARE_STATE = 24, - PIN_CONFIG_SLEW_RATE = 25, - PIN_CONFIG_END = 127, - PIN_CONFIG_MAX = 255, -}; - -enum pinctrl_map_type { - PIN_MAP_TYPE_INVALID = 0, - PIN_MAP_TYPE_DUMMY_STATE = 1, - PIN_MAP_TYPE_MUX_GROUP = 2, - PIN_MAP_TYPE_CONFIGS_PIN = 3, - PIN_MAP_TYPE_CONFIGS_GROUP = 4, -}; - -enum pkcs7_actions { - ACT_pkcs7_check_content_type = 0, - ACT_pkcs7_extract_cert = 1, - ACT_pkcs7_note_OID = 2, - ACT_pkcs7_note_certificate_list = 3, - ACT_pkcs7_note_content = 4, - ACT_pkcs7_note_data = 5, - ACT_pkcs7_note_signed_info = 6, - ACT_pkcs7_note_signeddata_version = 7, - ACT_pkcs7_note_signerinfo_version = 8, - ACT_pkcs7_sig_note_authenticated_attr = 9, - ACT_pkcs7_sig_note_digest_algo = 10, - ACT_pkcs7_sig_note_issuer = 11, - ACT_pkcs7_sig_note_pkey_algo = 12, - ACT_pkcs7_sig_note_serial = 13, - ACT_pkcs7_sig_note_set_of_authattrs = 14, - ACT_pkcs7_sig_note_signature = 15, - ACT_pkcs7_sig_note_skid = 16, - NR__pkcs7_actions = 17, -}; - -enum pkey_id_type { - PKEY_ID_PGP = 0, - PKEY_ID_X509 = 1, - PKEY_ID_PKCS7 = 2, -}; - -enum pkt_hash_types { - PKT_HASH_TYPE_NONE = 0, - PKT_HASH_TYPE_L2 = 1, - PKT_HASH_TYPE_L3 = 2, - PKT_HASH_TYPE_L4 = 3, -}; - -enum pldmfw_update_mode { - PLDMFW_UPDATE_MODE_FULL = 0, - PLDMFW_UPDATE_MODE_SINGLE_COMPONENT = 1, -}; - -enum pm8606_ref_gp_and_osc_clients { - REF_GP_NO_CLIENTS = 0, - WLED1_DUTY = 1, - WLED2_DUTY = 2, - WLED3_DUTY = 4, - RGB1_ENABLE = 8, - RGB2_ENABLE = 16, - LDO_VBR_EN = 32, - REF_GP_MAX_CLIENT = 65535, -}; - -enum pm_qos_flags_status { - PM_QOS_FLAGS_UNDEFINED = -1, - PM_QOS_FLAGS_NONE = 0, - PM_QOS_FLAGS_SOME = 1, - PM_QOS_FLAGS_ALL = 2, -}; - -enum pm_qos_req_action { - PM_QOS_ADD_REQ = 0, - PM_QOS_UPDATE_REQ = 1, - PM_QOS_REMOVE_REQ = 2, -}; - -enum pm_qos_type { - PM_QOS_UNITIALIZED = 0, - PM_QOS_MAX = 1, - PM_QOS_MIN = 2, -}; - -enum pmc_type { - KVM_PMC_GP = 0, - KVM_PMC_FIXED = 1, -}; - -enum poison_cmd_enabled_bits { - CXL_POISON_ENABLED_LIST = 0, - CXL_POISON_ENABLED_INJECT = 1, - CXL_POISON_ENABLED_CLEAR = 2, - CXL_POISON_ENABLED_SCAN_CAPS = 3, - CXL_POISON_ENABLED_SCAN_MEDIA = 4, - CXL_POISON_ENABLED_SCAN_RESULTS = 5, - CXL_POISON_ENABLED_MAX = 6, -}; - -enum policy_opt { - Opt_measure = 0, - Opt_dont_measure = 1, - Opt_appraise = 2, - Opt_dont_appraise = 3, - Opt_audit = 4, - Opt_hash___3 = 5, - Opt_dont_hash = 6, - Opt_obj_user = 7, - Opt_obj_role = 8, - Opt_obj_type = 9, - Opt_subj_user = 10, - Opt_subj_role = 11, - Opt_subj_type = 12, - Opt_func = 13, - Opt_mask = 14, - Opt_fsmagic = 15, - Opt_fsname = 16, - Opt_fsuuid = 17, - Opt_uid_eq = 18, - Opt_euid_eq = 19, - Opt_gid_eq = 20, - Opt_egid_eq = 21, - Opt_fowner_eq = 22, - Opt_fgroup_eq = 23, - Opt_uid_gt = 24, - Opt_euid_gt = 25, - Opt_gid_gt = 26, - Opt_egid_gt = 27, - Opt_fowner_gt = 28, - Opt_fgroup_gt = 29, - Opt_uid_lt = 30, - Opt_euid_lt = 31, - Opt_gid_lt = 32, - Opt_egid_lt = 33, - Opt_fowner_lt = 34, - Opt_fgroup_lt = 35, - Opt_digest_type = 36, - Opt_appraise_type = 37, - Opt_appraise_flag = 38, - Opt_appraise_algos = 39, - Opt_permit_directio = 40, - Opt_pcr = 41, - Opt_template = 42, - Opt_keyrings = 43, - Opt_label = 44, - Opt_err___7 = 45, -}; - -enum policy_rule_list { - IMA_DEFAULT_POLICY = 1, - IMA_CUSTOM_POLICY = 2, -}; - -enum policy_types { - ORIGINAL_TCB = 1, - DEFAULT_TCB = 2, -}; - -enum poll_time_type { - PT_TIMEVAL = 0, - PT_OLD_TIMEVAL = 1, - PT_TIMESPEC = 2, - PT_OLD_TIMESPEC = 3, -}; - -enum polling_modes { - CM_POLL_DISABLE = 0, - CM_POLL_ALWAYS = 1, - CM_POLL_EXTERNAL_POWER_ONLY = 2, - CM_POLL_CHARGING_ONLY = 3, -}; - -enum pool_workqueue_stats { - PWQ_STAT_STARTED = 0, - PWQ_STAT_COMPLETED = 1, - PWQ_STAT_CPU_TIME = 2, - PWQ_STAT_CPU_INTENSIVE = 3, - PWQ_STAT_CM_WAKEUP = 4, - PWQ_STAT_REPATRIATED = 5, - PWQ_STAT_MAYDAY = 6, - PWQ_STAT_RESCUED = 7, - PWQ_NR_STATS = 8, -}; - -enum port_pkey_state { - IB_PORT_PKEY_NOT_VALID = 0, - IB_PORT_PKEY_VALID = 1, - IB_PORT_PKEY_LISTED = 2, -}; - -enum positive_aop_returns { - AOP_WRITEPAGE_ACTIVATE = 524288, - AOP_TRUNCATED_PAGE = 524289, -}; - -enum posix_timer_state { - POSIX_TIMER_DISARMED = 0, - POSIX_TIMER_ARMED = 1, - POSIX_TIMER_REQUEUE_PENDING = 2, -}; - -enum power_supply_charge_behaviour { - POWER_SUPPLY_CHARGE_BEHAVIOUR_AUTO = 0, - POWER_SUPPLY_CHARGE_BEHAVIOUR_INHIBIT_CHARGE = 1, - POWER_SUPPLY_CHARGE_BEHAVIOUR_INHIBIT_CHARGE_AWAKE = 2, - POWER_SUPPLY_CHARGE_BEHAVIOUR_FORCE_DISCHARGE = 3, -}; - -enum power_supply_charge_type { - POWER_SUPPLY_CHARGE_TYPE_UNKNOWN = 0, - POWER_SUPPLY_CHARGE_TYPE_NONE = 1, - POWER_SUPPLY_CHARGE_TYPE_TRICKLE = 2, - POWER_SUPPLY_CHARGE_TYPE_FAST = 3, - POWER_SUPPLY_CHARGE_TYPE_STANDARD = 4, - POWER_SUPPLY_CHARGE_TYPE_ADAPTIVE = 5, - POWER_SUPPLY_CHARGE_TYPE_CUSTOM = 6, - POWER_SUPPLY_CHARGE_TYPE_LONGLIFE = 7, - POWER_SUPPLY_CHARGE_TYPE_BYPASS = 8, -}; - -enum power_supply_notifier_events { - PSY_EVENT_PROP_CHANGED = 0, -}; - -enum power_supply_property { - POWER_SUPPLY_PROP_STATUS = 0, - POWER_SUPPLY_PROP_CHARGE_TYPE = 1, - POWER_SUPPLY_PROP_CHARGE_TYPES = 2, - POWER_SUPPLY_PROP_HEALTH = 3, - POWER_SUPPLY_PROP_PRESENT = 4, - POWER_SUPPLY_PROP_ONLINE = 5, - POWER_SUPPLY_PROP_AUTHENTIC = 6, - POWER_SUPPLY_PROP_TECHNOLOGY = 7, - POWER_SUPPLY_PROP_CYCLE_COUNT = 8, - POWER_SUPPLY_PROP_VOLTAGE_MAX = 9, - POWER_SUPPLY_PROP_VOLTAGE_MIN = 10, - POWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN = 11, - POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN = 12, - POWER_SUPPLY_PROP_VOLTAGE_NOW = 13, - POWER_SUPPLY_PROP_VOLTAGE_AVG = 14, - POWER_SUPPLY_PROP_VOLTAGE_OCV = 15, - POWER_SUPPLY_PROP_VOLTAGE_BOOT = 16, - POWER_SUPPLY_PROP_CURRENT_MAX = 17, - POWER_SUPPLY_PROP_CURRENT_NOW = 18, - POWER_SUPPLY_PROP_CURRENT_AVG = 19, - POWER_SUPPLY_PROP_CURRENT_BOOT = 20, - POWER_SUPPLY_PROP_POWER_NOW = 21, - POWER_SUPPLY_PROP_POWER_AVG = 22, - POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN = 23, - POWER_SUPPLY_PROP_CHARGE_EMPTY_DESIGN = 24, - POWER_SUPPLY_PROP_CHARGE_FULL = 25, - POWER_SUPPLY_PROP_CHARGE_EMPTY = 26, - POWER_SUPPLY_PROP_CHARGE_NOW = 27, - POWER_SUPPLY_PROP_CHARGE_AVG = 28, - POWER_SUPPLY_PROP_CHARGE_COUNTER = 29, - POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT = 30, - POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT_MAX = 31, - POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE = 32, - POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE_MAX = 33, - POWER_SUPPLY_PROP_CHARGE_CONTROL_LIMIT = 34, - POWER_SUPPLY_PROP_CHARGE_CONTROL_LIMIT_MAX = 35, - POWER_SUPPLY_PROP_CHARGE_CONTROL_START_THRESHOLD = 36, - POWER_SUPPLY_PROP_CHARGE_CONTROL_END_THRESHOLD = 37, - POWER_SUPPLY_PROP_CHARGE_BEHAVIOUR = 38, - POWER_SUPPLY_PROP_INPUT_CURRENT_LIMIT = 39, - POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT = 40, - POWER_SUPPLY_PROP_INPUT_POWER_LIMIT = 41, - POWER_SUPPLY_PROP_ENERGY_FULL_DESIGN = 42, - POWER_SUPPLY_PROP_ENERGY_EMPTY_DESIGN = 43, - POWER_SUPPLY_PROP_ENERGY_FULL = 44, - POWER_SUPPLY_PROP_ENERGY_EMPTY = 45, - POWER_SUPPLY_PROP_ENERGY_NOW = 46, - POWER_SUPPLY_PROP_ENERGY_AVG = 47, - POWER_SUPPLY_PROP_CAPACITY = 48, - POWER_SUPPLY_PROP_CAPACITY_ALERT_MIN = 49, - POWER_SUPPLY_PROP_CAPACITY_ALERT_MAX = 50, - POWER_SUPPLY_PROP_CAPACITY_ERROR_MARGIN = 51, - POWER_SUPPLY_PROP_CAPACITY_LEVEL = 52, - POWER_SUPPLY_PROP_TEMP = 53, - POWER_SUPPLY_PROP_TEMP_MAX = 54, - POWER_SUPPLY_PROP_TEMP_MIN = 55, - POWER_SUPPLY_PROP_TEMP_ALERT_MIN = 56, - POWER_SUPPLY_PROP_TEMP_ALERT_MAX = 57, - POWER_SUPPLY_PROP_TEMP_AMBIENT = 58, - POWER_SUPPLY_PROP_TEMP_AMBIENT_ALERT_MIN = 59, - POWER_SUPPLY_PROP_TEMP_AMBIENT_ALERT_MAX = 60, - POWER_SUPPLY_PROP_TIME_TO_EMPTY_NOW = 61, - POWER_SUPPLY_PROP_TIME_TO_EMPTY_AVG = 62, - POWER_SUPPLY_PROP_TIME_TO_FULL_NOW = 63, - POWER_SUPPLY_PROP_TIME_TO_FULL_AVG = 64, - POWER_SUPPLY_PROP_TYPE = 65, - POWER_SUPPLY_PROP_USB_TYPE = 66, - POWER_SUPPLY_PROP_SCOPE = 67, - POWER_SUPPLY_PROP_PRECHARGE_CURRENT = 68, - POWER_SUPPLY_PROP_CHARGE_TERM_CURRENT = 69, - POWER_SUPPLY_PROP_CALIBRATE = 70, - POWER_SUPPLY_PROP_MANUFACTURE_YEAR = 71, - POWER_SUPPLY_PROP_MANUFACTURE_MONTH = 72, - POWER_SUPPLY_PROP_MANUFACTURE_DAY = 73, - POWER_SUPPLY_PROP_MODEL_NAME = 74, - POWER_SUPPLY_PROP_MANUFACTURER = 75, - POWER_SUPPLY_PROP_SERIAL_NUMBER = 76, -}; - -enum power_supply_type { - POWER_SUPPLY_TYPE_UNKNOWN = 0, - POWER_SUPPLY_TYPE_BATTERY = 1, - POWER_SUPPLY_TYPE_UPS = 2, - POWER_SUPPLY_TYPE_MAINS = 3, - POWER_SUPPLY_TYPE_USB = 4, - POWER_SUPPLY_TYPE_USB_DCP = 5, - POWER_SUPPLY_TYPE_USB_CDP = 6, - POWER_SUPPLY_TYPE_USB_ACA = 7, - POWER_SUPPLY_TYPE_USB_TYPE_C = 8, - POWER_SUPPLY_TYPE_USB_PD = 9, - POWER_SUPPLY_TYPE_USB_PD_DRP = 10, - POWER_SUPPLY_TYPE_APPLE_BRICK_ID = 11, - POWER_SUPPLY_TYPE_WIRELESS = 12, -}; - -enum power_supply_usb_type { - POWER_SUPPLY_USB_TYPE_UNKNOWN = 0, - POWER_SUPPLY_USB_TYPE_SDP = 1, - POWER_SUPPLY_USB_TYPE_DCP = 2, - POWER_SUPPLY_USB_TYPE_CDP = 3, - POWER_SUPPLY_USB_TYPE_ACA = 4, - POWER_SUPPLY_USB_TYPE_C = 5, - POWER_SUPPLY_USB_TYPE_PD = 6, - POWER_SUPPLY_USB_TYPE_PD_DRP = 7, - POWER_SUPPLY_USB_TYPE_PD_PPS = 8, - POWER_SUPPLY_USB_TYPE_APPLE_BRICK_ID = 9, -}; - -enum pr_status { - PR_STS_SUCCESS = 0, - PR_STS_IOERR = 2, - PR_STS_RESERVATION_CONFLICT = 24, - PR_STS_RETRY_PATH_FAILURE = 917504, - PR_STS_PATH_FAST_FAILED = 983040, - PR_STS_PATH_FAILED = 65536, -}; - -enum pr_type { - PR_WRITE_EXCLUSIVE = 1, - PR_EXCLUSIVE_ACCESS = 2, - PR_WRITE_EXCLUSIVE_REG_ONLY = 3, - PR_EXCLUSIVE_ACCESS_REG_ONLY = 4, - PR_WRITE_EXCLUSIVE_ALL_REGS = 5, - PR_EXCLUSIVE_ACCESS_ALL_REGS = 6, -}; - -enum prep_dispatch { - PREP_DISPATCH_OK = 0, - PREP_DISPATCH_NO_TAG = 1, - PREP_DISPATCH_NO_BUDGET = 2, -}; - -enum print_line_t { - TRACE_TYPE_PARTIAL_LINE = 0, - TRACE_TYPE_HANDLED = 1, - TRACE_TYPE_UNHANDLED = 2, - TRACE_TYPE_NO_CONSUME = 3, -}; - -enum printk_info_flags { - LOG_FORCE_CON = 1, - LOG_NEWLINE = 2, - LOG_CONT = 8, -}; - -enum prio_policy { - POLICY_NO_CHANGE = 0, - POLICY_PROMOTE_TO_RT = 1, - POLICY_RESTRICT_TO_BE = 2, - POLICY_ALL_TO_IDLE = 3, - POLICY_NONE_TO_RT = 4, -}; - -enum priv_stack_mode { - PRIV_STACK_UNKNOWN = 0, - NO_PRIV_STACK = 1, - PRIV_STACK_ADAPTIVE = 2, -}; - -enum probe_print_type { - PROBE_PRINT_NORMAL = 0, - PROBE_PRINT_RETURN = 1, - PROBE_PRINT_EVENT = 2, -}; - -enum probe_type { - PROBE_DEFAULT_STRATEGY = 0, - PROBE_PREFER_ASYNCHRONOUS = 1, - PROBE_FORCE_SYNCHRONOUS = 2, -}; - -enum proc_cn_event { - PROC_EVENT_NONE = 0, - PROC_EVENT_FORK = 1, - PROC_EVENT_EXEC = 2, - PROC_EVENT_UID = 4, - PROC_EVENT_GID = 64, - PROC_EVENT_SID = 128, - PROC_EVENT_PTRACE = 256, - PROC_EVENT_COMM = 512, - PROC_EVENT_NONZERO_EXIT = 536870912, - PROC_EVENT_COREDUMP = 1073741824, - PROC_EVENT_EXIT = 2147483648, -}; - -enum proc_cn_mcast_op { - PROC_CN_MCAST_LISTEN = 1, - PROC_CN_MCAST_IGNORE = 2, -}; - -enum proc_hidepid { - HIDEPID_OFF = 0, - HIDEPID_NO_ACCESS = 1, - HIDEPID_INVISIBLE = 2, - HIDEPID_NOT_PTRACEABLE = 4, -}; - -enum proc_mem_force { - PROC_MEM_FORCE_ALWAYS = 0, - PROC_MEM_FORCE_PTRACE = 1, - PROC_MEM_FORCE_NEVER = 2, -}; - -enum proc_param { - Opt_gid___7 = 0, - Opt_hidepid = 1, - Opt_subset = 2, -}; - -enum proc_pidonly { - PROC_PIDONLY_OFF = 0, - PROC_PIDONLY_ON = 1, -}; - -enum procfs_ino { - PROCFS_ROOT_INO = 1, -}; - -enum procmap_query_flags { - PROCMAP_QUERY_VMA_READABLE = 1, - PROCMAP_QUERY_VMA_WRITABLE = 2, - PROCMAP_QUERY_VMA_EXECUTABLE = 4, - PROCMAP_QUERY_VMA_SHARED = 8, - PROCMAP_QUERY_COVERING_OR_NEXT_VMA = 16, - PROCMAP_QUERY_FILE_BACKED_VMA = 32, -}; - -enum profile_mode { - APPARMOR_ENFORCE = 0, - APPARMOR_COMPLAIN = 1, - APPARMOR_KILL = 2, - APPARMOR_UNCONFINED = 3, - APPARMOR_USER = 4, -}; - -enum protection_domain_mode { - PD_MODE_NONE = 0, - PD_MODE_V1 = 1, - PD_MODE_V2 = 2, -}; - -enum prs_errcode { - PERR_NONE = 0, - PERR_INVCPUS = 1, - PERR_INVPARENT = 2, - PERR_NOTPART = 3, - PERR_NOTEXCL = 4, - PERR_NOCPUS = 5, - PERR_HOTPLUG = 6, - PERR_CPUSEMPTY = 7, - PERR_HKEEPING = 8, - PERR_ACCESS = 9, - PERR_REMOTE = 10, -}; - -enum ps2_disposition { - PS2_PROCESS = 0, - PS2_IGNORE = 1, - PS2_ERROR = 2, -}; - -enum psc_op { - SNP_PAGE_STATE_PRIVATE = 1, - SNP_PAGE_STATE_SHARED = 2, -}; - -enum pse_budget_eval_strategies { - PSE_BUDGET_EVAL_STRAT_DISABLED = 1, - PSE_BUDGET_EVAL_STRAT_STATIC = 2, - PSE_BUDGET_EVAL_STRAT_DYNAMIC = 4, -}; - -enum pse_pi_pairset_pinout { - ALTERNATIVE_A = 0, - ALTERNATIVE_B = 1, -}; - -enum psi_aggregators { - PSI_AVGS = 0, - PSI_POLL = 1, - NR_PSI_AGGREGATORS = 2, -}; - -enum psi_res { - PSI_IO = 0, - PSI_MEM = 1, - PSI_CPU = 2, - NR_PSI_RESOURCES = 3, -}; - -enum psi_states { - PSI_IO_SOME = 0, - PSI_IO_FULL = 1, - PSI_MEM_SOME = 2, - PSI_MEM_FULL = 3, - PSI_CPU_SOME = 4, - PSI_CPU_FULL = 5, - PSI_NONIDLE = 6, - NR_PSI_STATES = 7, -}; - -enum psi_task_count { - NR_IOWAIT = 0, - NR_MEMSTALL = 1, - NR_RUNNING = 2, - NR_MEMSTALL_RUNNING = 3, - NR_PSI_TASK_COUNTS = 4, -}; - -enum pstore_type_id { - PSTORE_TYPE_DMESG = 0, - PSTORE_TYPE_MCE = 1, - PSTORE_TYPE_CONSOLE = 2, - PSTORE_TYPE_FTRACE = 3, - PSTORE_TYPE_PPC_RTAS = 4, - PSTORE_TYPE_PPC_OF = 5, - PSTORE_TYPE_PPC_COMMON = 6, - PSTORE_TYPE_PMSG = 7, - PSTORE_TYPE_PPC_OPAL = 8, - PSTORE_TYPE_MAX = 9, -}; - -enum pt_capabilities { - PT_CAP_max_subleaf = 0, - PT_CAP_cr3_filtering = 1, - PT_CAP_psb_cyc = 2, - PT_CAP_ip_filtering = 3, - PT_CAP_mtc = 4, - PT_CAP_ptwrite = 5, - PT_CAP_power_event_trace = 6, - PT_CAP_event_trace = 7, - PT_CAP_tnt_disable = 8, - PT_CAP_topa_output = 9, - PT_CAP_topa_multiple_entries = 10, - PT_CAP_single_range_output = 11, - PT_CAP_output_subsys = 12, - PT_CAP_payloads_lip = 13, - PT_CAP_num_address_ranges = 14, - PT_CAP_mtc_periods = 15, - PT_CAP_cycle_thresholds = 16, - PT_CAP_psb_periods = 17, -}; - -enum pt_level { - PT_PGD = 0, - PT_P4D = 1, - PT_PUD = 2, - PT_PMD = 3, - PT_PTE = 4, -}; - -enum pti_clone_level { - PTI_CLONE_PMD = 0, - PTI_CLONE_PTE = 1, -}; - -enum pti_mode { - PTI_AUTO = 0, - PTI_FORCE_OFF = 1, - PTI_FORCE_ON = 2, -}; - -enum ptp_clock_events { - PTP_CLOCK_ALARM = 0, - PTP_CLOCK_EXTTS = 1, - PTP_CLOCK_EXTOFF = 2, - PTP_CLOCK_PPS = 3, - PTP_CLOCK_PPSUSR = 4, -}; - -enum ptp_pin_function { - PTP_PF_NONE = 0, - PTP_PF_EXTTS = 1, - PTP_PF_PEROUT = 2, - PTP_PF_PHYSYNC = 3, -}; - -enum pubkey_algo { - PUBKEY_ALGO_RSA = 0, - PUBKEY_ALGO_MAX = 1, -}; - -enum pwm_polarity { - PWM_POLARITY_NORMAL = 0, - PWM_POLARITY_INVERSED = 1, -}; - -enum pxa_ssp_type { - SSP_UNDEFINED = 0, - PXA25x_SSP = 1, - PXA25x_NSSP = 2, - PXA27x_SSP = 3, - PXA3xx_SSP = 4, - PXA168_SSP = 5, - PXA910_SSP = 6, - CE4100_SSP = 7, - MMP2_SSP = 8, - MRFLD_SSP = 9, - QUARK_X1000_SSP = 10, - LPSS_LPT_SSP = 11, - LPSS_BYT_SSP = 12, - LPSS_BSW_SSP = 13, - LPSS_SPT_SSP = 14, - LPSS_BXT_SSP = 15, - LPSS_CNL_SSP = 16, - SSP_MAX = 17, -}; - -enum qdisc_class_ops_flags { - QDISC_CLASS_OPS_DOIT_UNLOCKED = 1, -}; - -enum qdisc_ops_kf_flags { - QDISC_OPS_KF_COMMON = 0, - QDISC_OPS_KF_ENQUEUE = 1, - QDISC_OPS_KF_DEQUEUE = 2, -}; - -enum qdisc_state2_t { - __QDISC_STATE2_RUNNING = 0, -}; - -enum qdisc_state_t { - __QDISC_STATE_SCHED = 0, - __QDISC_STATE_DEACTIVATED = 1, - __QDISC_STATE_MISSED = 2, - __QDISC_STATE_DRAINING = 3, -}; - -enum quota_type { - USRQUOTA = 0, - GRPQUOTA = 1, - PRJQUOTA = 2, -}; - -enum ramfs_param { - Opt_mode___5 = 0, -}; - -enum rdma_ah_attr_type { - RDMA_AH_ATTR_TYPE_UNDEFINED = 0, - RDMA_AH_ATTR_TYPE_IB = 1, - RDMA_AH_ATTR_TYPE_ROCE = 2, - RDMA_AH_ATTR_TYPE_OPA = 3, -}; - -enum rdma_driver_id { - RDMA_DRIVER_UNKNOWN = 0, - RDMA_DRIVER_MLX5 = 1, - RDMA_DRIVER_MLX4 = 2, - RDMA_DRIVER_CXGB3 = 3, - RDMA_DRIVER_CXGB4 = 4, - RDMA_DRIVER_MTHCA = 5, - RDMA_DRIVER_BNXT_RE = 6, - RDMA_DRIVER_OCRDMA = 7, - RDMA_DRIVER_NES = 8, - RDMA_DRIVER_I40IW = 9, - RDMA_DRIVER_IRDMA = 9, - RDMA_DRIVER_VMW_PVRDMA = 10, - RDMA_DRIVER_QEDR = 11, - RDMA_DRIVER_HNS = 12, - RDMA_DRIVER_USNIC = 13, - RDMA_DRIVER_RXE = 14, - RDMA_DRIVER_HFI1 = 15, - RDMA_DRIVER_QIB = 16, - RDMA_DRIVER_EFA = 17, - RDMA_DRIVER_SIW = 18, - RDMA_DRIVER_ERDMA = 19, - RDMA_DRIVER_MANA = 20, -}; - -enum rdma_link_layer { - IB_LINK_LAYER_UNSPECIFIED = 0, - IB_LINK_LAYER_INFINIBAND = 1, - IB_LINK_LAYER_ETHERNET = 2, -}; - -enum rdma_netdev_t { - RDMA_NETDEV_OPA_VNIC = 0, - RDMA_NETDEV_IPOIB = 1, -}; - -enum rdma_nl_counter_mask { - RDMA_COUNTER_MASK_QP_TYPE = 1, - RDMA_COUNTER_MASK_PID = 2, -}; - -enum rdma_nl_counter_mode { - RDMA_COUNTER_MODE_NONE = 0, - RDMA_COUNTER_MODE_AUTO = 1, - RDMA_COUNTER_MODE_MANUAL = 2, - RDMA_COUNTER_MODE_MAX = 3, -}; - -enum rdma_nl_dev_type { - RDMA_DEVICE_TYPE_SMI = 1, -}; - -enum rdma_nl_name_assign_type { - RDMA_NAME_ASSIGN_TYPE_UNKNOWN = 0, - RDMA_NAME_ASSIGN_TYPE_USER = 1, -}; - -enum rdma_restrack_type { - RDMA_RESTRACK_PD = 0, - RDMA_RESTRACK_CQ = 1, - RDMA_RESTRACK_QP = 2, - RDMA_RESTRACK_CM_ID = 3, - RDMA_RESTRACK_MR = 4, - RDMA_RESTRACK_CTX = 5, - RDMA_RESTRACK_COUNTER = 6, - RDMA_RESTRACK_SRQ = 7, - RDMA_RESTRACK_DMAH = 8, - RDMA_RESTRACK_MAX = 9, -}; - -enum rdmacg_file_type { - RDMACG_RESOURCE_TYPE_MAX = 0, - RDMACG_RESOURCE_TYPE_STAT = 1, -}; - -enum rdmacg_resource_type { - RDMACG_RESOURCE_HCA_HANDLE = 0, - RDMACG_RESOURCE_HCA_OBJECT = 1, - RDMACG_RESOURCE_MAX = 2, -}; - -enum rdt_group_type { - RDTCTRL_GROUP = 0, - RDTMON_GROUP = 1, - RDT_NUM_GROUP = 2, -}; - -enum rdt_param { - Opt_cdp = 0, - Opt_cdpl2 = 1, - Opt_mba_mbps = 2, - Opt_debug___3 = 3, - nr__rdt_params = 4, -}; - -enum rdtgrp_mode { - RDT_MODE_SHAREABLE = 0, - RDT_MODE_EXCLUSIVE = 1, - RDT_MODE_PSEUDO_LOCKSETUP = 2, - RDT_MODE_PSEUDO_LOCKED = 3, - RDT_NUM_MODES = 4, -}; - -enum reason_type { - NOT_ME = 0, - NOTHING = 1, - REG_READ = 2, - REG_WRITE = 3, - IMM_WRITE = 4, - OTHERS = 5, -}; - -enum reboot_mode { - REBOOT_UNDEFINED = -1, - REBOOT_COLD = 0, - REBOOT_WARM = 1, - REBOOT_HARD = 2, - REBOOT_SOFT = 3, - REBOOT_GPIO = 4, -}; - -enum reboot_type { - BOOT_TRIPLE = 116, - BOOT_KBD = 107, - BOOT_BIOS = 98, - BOOT_ACPI = 97, - BOOT_EFI = 101, - BOOT_CF9_FORCE = 112, - BOOT_CF9_SAFE = 113, -}; - -enum recovery_flags { - MD_RECOVERY_NEEDED = 0, - MD_RECOVERY_RUNNING = 1, - MD_RECOVERY_INTR = 2, - MD_RECOVERY_DONE = 3, - MD_RECOVERY_FROZEN = 4, - MD_RECOVERY_WAIT = 5, - MD_RECOVERY_ERROR = 6, - MD_RECOVERY_SYNC = 7, - MD_RECOVERY_REQUESTED = 8, - MD_RECOVERY_CHECK = 9, - MD_RECOVERY_RECOVER = 10, - MD_RECOVERY_RESHAPE = 11, - MD_RESYNCING_REMOTE = 12, -}; - -enum ref_state_type { - REF_TYPE_PTR = 2, - REF_TYPE_IRQ = 4, - REF_TYPE_LOCK = 8, - REF_TYPE_RES_LOCK = 16, - REF_TYPE_RES_LOCK_IRQ = 32, - REF_TYPE_LOCK_MASK = 56, -}; - -enum refcount_saturation_type { - REFCOUNT_ADD_NOT_ZERO_OVF = 0, - REFCOUNT_ADD_OVF = 1, - REFCOUNT_ADD_UAF = 2, - REFCOUNT_SUB_UAF = 3, - REFCOUNT_DEC_LEAK = 4, -}; - -enum reftype { - REF_NS = 0, - REF_PROXY = 1, - REF_RAWDATA = 2, -}; - -enum reg_arg_type { - SRC_OP = 0, - DST_OP = 1, - DST_OP_NO_MARK = 2, -}; - -enum reg_type { - REG_TYPE_RM = 0, - REG_TYPE_REG = 1, - REG_TYPE_INDEX = 2, - REG_TYPE_BASE = 3, -}; - -enum regcache_type { - REGCACHE_NONE = 0, - REGCACHE_RBTREE = 1, - REGCACHE_FLAT = 2, - REGCACHE_MAPLE = 3, -}; - -enum regex_type { - MATCH_FULL = 0, - MATCH_FRONT_ONLY = 1, - MATCH_MIDDLE_ONLY = 2, - MATCH_END_ONLY = 3, - MATCH_GLOB = 4, - MATCH_INDEX = 5, -}; - -enum regmap_endian { - REGMAP_ENDIAN_DEFAULT = 0, - REGMAP_ENDIAN_BIG = 1, - REGMAP_ENDIAN_LITTLE = 2, - REGMAP_ENDIAN_NATIVE = 3, -}; - -enum regnames { - GDB_AX = 0, - GDB_BX = 1, - GDB_CX = 2, - GDB_DX = 3, - GDB_SI = 4, - GDB_DI = 5, - GDB_BP = 6, - GDB_SP = 7, - GDB_R8 = 8, - GDB_R9 = 9, - GDB_R10 = 10, - GDB_R11 = 11, - GDB_R12 = 12, - GDB_R13 = 13, - GDB_R14 = 14, - GDB_R15 = 15, - GDB_PC = 16, - GDB_PS = 17, - GDB_CS = 18, - GDB_SS = 19, - GDB_DS = 20, - GDB_ES = 21, - GDB_FS = 22, - GDB_GS = 23, -}; - -enum regulator_active_discharge { - REGULATOR_ACTIVE_DISCHARGE_DEFAULT = 0, - REGULATOR_ACTIVE_DISCHARGE_DISABLE = 1, - REGULATOR_ACTIVE_DISCHARGE_ENABLE = 2, -}; - -enum regulator_detection_severity { - REGULATOR_SEVERITY_PROT = 0, - REGULATOR_SEVERITY_ERR = 1, - REGULATOR_SEVERITY_WARN = 2, -}; - -enum regulator_get_type { - NORMAL_GET = 0, - EXCLUSIVE_GET = 1, - OPTIONAL_GET = 2, - MAX_GET_TYPE = 3, -}; - -enum regulator_status { - REGULATOR_STATUS_OFF = 0, - REGULATOR_STATUS_ON = 1, - REGULATOR_STATUS_ERROR = 2, - REGULATOR_STATUS_FAST = 3, - REGULATOR_STATUS_NORMAL = 4, - REGULATOR_STATUS_IDLE = 5, - REGULATOR_STATUS_STANDBY = 6, - REGULATOR_STATUS_BYPASS = 7, - REGULATOR_STATUS_UNDEFINED = 8, -}; - -enum regulator_type { - REGULATOR_VOLTAGE = 0, - REGULATOR_CURRENT = 1, -}; - -enum release_type { - leaf_only = 0, - whole_subtree = 1, -}; - -enum req_flag_bits { - __REQ_FAILFAST_DEV = 8, - __REQ_FAILFAST_TRANSPORT = 9, - __REQ_FAILFAST_DRIVER = 10, - __REQ_SYNC = 11, - __REQ_META = 12, - __REQ_PRIO = 13, - __REQ_NOMERGE = 14, - __REQ_IDLE = 15, - __REQ_INTEGRITY = 16, - __REQ_FUA = 17, - __REQ_PREFLUSH = 18, - __REQ_RAHEAD = 19, - __REQ_BACKGROUND = 20, - __REQ_NOWAIT = 21, - __REQ_POLLED = 22, - __REQ_ALLOC_CACHE = 23, - __REQ_SWAP = 24, - __REQ_DRV = 25, - __REQ_FS_PRIVATE = 26, - __REQ_ATOMIC = 27, - __REQ_P2PDMA = 28, - __REQ_NOUNMAP = 29, - __REQ_NR_BITS = 30, -}; - -enum req_op { - REQ_OP_READ = 0, - REQ_OP_WRITE = 1, - REQ_OP_FLUSH = 2, - REQ_OP_DISCARD = 3, - REQ_OP_SECURE_ERASE = 5, - REQ_OP_ZONE_APPEND = 7, - REQ_OP_WRITE_ZEROES = 9, - REQ_OP_ZONE_OPEN = 11, - REQ_OP_ZONE_CLOSE = 13, - REQ_OP_ZONE_FINISH = 15, - REQ_OP_ZONE_RESET = 17, - REQ_OP_ZONE_RESET_ALL = 19, - REQ_OP_DRV_IN = 34, - REQ_OP_DRV_OUT = 35, - REQ_OP_LAST = 36, -}; - -enum res_type { - _MEM = 0, - _MEMSWAP = 1, - _KMEM = 2, - _TCP = 3, -}; - -enum resctrl_conf_type { - CDP_NONE = 0, - CDP_CODE = 1, - CDP_DATA = 2, -}; - -enum resctrl_domain_type { - RESCTRL_CTRL_DOMAIN = 0, - RESCTRL_MON_DOMAIN = 1, -}; - -enum resctrl_event_id { - QOS_L3_OCCUP_EVENT_ID = 1, - QOS_L3_MBM_TOTAL_EVENT_ID = 2, - QOS_L3_MBM_LOCAL_EVENT_ID = 3, - QOS_NUM_EVENTS = 4, -}; - -enum resctrl_res_level { - RDT_RESOURCE_L3 = 0, - RDT_RESOURCE_L2 = 1, - RDT_RESOURCE_MBA = 2, - RDT_RESOURCE_SMBA = 3, - RDT_NUM_RESOURCES = 4, -}; - -enum resctrl_schema_fmt { - RESCTRL_SCHEMA_BITMAP = 0, - RESCTRL_SCHEMA_RANGE = 1, -}; - -enum resctrl_scope { - RESCTRL_L2_CACHE = 2, - RESCTRL_L3_CACHE = 3, - RESCTRL_L3_NODE = 4, -}; - -enum reset_control_flags { - RESET_CONTROL_EXCLUSIVE = 4, - RESET_CONTROL_EXCLUSIVE_DEASSERTED = 12, - RESET_CONTROL_EXCLUSIVE_RELEASED = 0, - RESET_CONTROL_SHARED = 1, - RESET_CONTROL_SHARED_DEASSERTED = 9, - RESET_CONTROL_OPTIONAL_EXCLUSIVE = 6, - RESET_CONTROL_OPTIONAL_EXCLUSIVE_DEASSERTED = 14, - RESET_CONTROL_OPTIONAL_EXCLUSIVE_RELEASED = 2, - RESET_CONTROL_OPTIONAL_SHARED = 3, - RESET_CONTROL_OPTIONAL_SHARED_DEASSERTED = 11, -}; - -enum resolve_mode { - RESOLVE_TBD = 0, - RESOLVE_PTR = 1, - RESOLVE_STRUCT_OR_ARRAY = 2, -}; - -enum retbleed_mitigation { - RETBLEED_MITIGATION_NONE = 0, - RETBLEED_MITIGATION_AUTO = 1, - RETBLEED_MITIGATION_UNRET = 2, - RETBLEED_MITIGATION_IBPB = 3, - RETBLEED_MITIGATION_IBRS = 4, - RETBLEED_MITIGATION_EIBRS = 5, - RETBLEED_MITIGATION_STUFF = 6, -}; - -enum rfds_mitigations { - RFDS_MITIGATION_OFF = 0, - RFDS_MITIGATION_AUTO = 1, - RFDS_MITIGATION_VERW = 2, - RFDS_MITIGATION_UCODE_NEEDED = 3, -}; - -enum rfkill_hard_block_reasons { - RFKILL_HARD_BLOCK_SIGNAL = 1, - RFKILL_HARD_BLOCK_NOT_OWNER = 2, -}; - -enum rfkill_input_master_mode { - RFKILL_INPUT_MASTER_UNLOCK = 0, - RFKILL_INPUT_MASTER_RESTORE = 1, - RFKILL_INPUT_MASTER_UNBLOCKALL = 2, - NUM_RFKILL_INPUT_MASTER_MODES = 3, -}; - -enum rfkill_operation { - RFKILL_OP_ADD = 0, - RFKILL_OP_DEL = 1, - RFKILL_OP_CHANGE = 2, - RFKILL_OP_CHANGE_ALL = 3, -}; - -enum rfkill_sched_op { - RFKILL_GLOBAL_OP_EPO = 0, - RFKILL_GLOBAL_OP_RESTORE = 1, - RFKILL_GLOBAL_OP_UNLOCK = 2, - RFKILL_GLOBAL_OP_UNBLOCK = 3, -}; - -enum rfkill_type { - RFKILL_TYPE_ALL = 0, - RFKILL_TYPE_WLAN = 1, - RFKILL_TYPE_BLUETOOTH = 2, - RFKILL_TYPE_UWB = 3, - RFKILL_TYPE_WIMAX = 4, - RFKILL_TYPE_WWAN = 5, - RFKILL_TYPE_GPS = 6, - RFKILL_TYPE_FM = 7, - RFKILL_TYPE_NFC = 8, - NUM_RFKILL_TYPES = 9, -}; - -enum rfkill_user_states { - RFKILL_USER_STATE_SOFT_BLOCKED = 0, - RFKILL_USER_STATE_UNBLOCKED = 1, - RFKILL_USER_STATE_HARD_BLOCKED = 2, -}; - -enum ring_buffer_flags { - RB_FL_OVERWRITE = 1, -}; - -enum ring_buffer_type { - RINGBUF_TYPE_DATA_TYPE_LEN_MAX = 28, - RINGBUF_TYPE_PADDING = 29, - RINGBUF_TYPE_TIME_EXTEND = 30, - RINGBUF_TYPE_TIME_STAMP = 31, -}; - -enum rio_device_state { - RIO_DEVICE_INITIALIZING = 0, - RIO_DEVICE_RUNNING = 1, - RIO_DEVICE_GONE = 2, - RIO_DEVICE_SHUTDOWN = 3, -}; - -enum rio_write_type { - RDW_DEFAULT = 0, - RDW_ALL_NWRITE = 1, - RDW_ALL_NWRITE_R = 2, - RDW_LAST_NWRITE_R = 3, -}; - -enum rlimit_type { - UCOUNT_RLIMIT_NPROC = 0, - UCOUNT_RLIMIT_MSGQUEUE = 1, - UCOUNT_RLIMIT_SIGPENDING = 2, - UCOUNT_RLIMIT_MEMLOCK = 3, - UCOUNT_RLIMIT_COUNTS = 4, -}; - -enum rmap_level { - RMAP_LEVEL_PTE = 0, - RMAP_LEVEL_PMD = 1, - RMAP_LEVEL_PUD = 2, -}; - -enum rmp_flags { - RMP_LOCKED = 1, - RMP_USE_SHARED_ZEROPAGE = 2, -}; - -enum rmqueue_mode { - RMQUEUE_NORMAL = 0, - RMQUEUE_CMA = 1, - RMQUEUE_CLAIM = 2, - RMQUEUE_STEAL = 3, -}; - -enum rp_check { - RP_CHECK_CALL = 0, - RP_CHECK_CHAIN_CALL = 1, - RP_CHECK_RET = 2, -}; - -enum rpm_request { - RPM_REQ_NONE = 0, - RPM_REQ_IDLE = 1, - RPM_REQ_SUSPEND = 2, - RPM_REQ_AUTOSUSPEND = 3, - RPM_REQ_RESUME = 4, -}; - -enum rpm_status { - RPM_INVALID = -1, - RPM_ACTIVE = 0, - RPM_RESUMING = 1, - RPM_SUSPENDED = 2, - RPM_SUSPENDING = 3, - RPM_BLOCKED = 4, -}; - -enum rproc_crash_type { - RPROC_MMUFAULT = 0, - RPROC_WATCHDOG = 1, - RPROC_FATAL_ERROR = 2, -}; - -enum rproc_dump_mechanism { - RPROC_COREDUMP_DISABLED = 0, - RPROC_COREDUMP_ENABLED = 1, - RPROC_COREDUMP_INLINE = 2, -}; - -enum rproc_features { - RPROC_FEAT_ATTACH_ON_RECOVERY = 0, - RPROC_MAX_FEATURES = 1, -}; - -enum rproc_state { - RPROC_OFFLINE = 0, - RPROC_SUSPENDED = 1, - RPROC_RUNNING = 2, - RPROC_CRASHED = 3, - RPROC_DELETED = 4, - RPROC_ATTACHED = 5, - RPROC_DETACHED = 6, - RPROC_LAST = 7, -}; - -enum rq_end_io_ret { - RQ_END_IO_NONE = 0, - RQ_END_IO_FREE = 1, -}; - -enum rq_qos_id { - RQ_QOS_WBT = 0, - RQ_QOS_LATENCY = 1, - RQ_QOS_COST = 2, -}; - -enum rqf_flags { - __RQF_STARTED = 0, - __RQF_FLUSH_SEQ = 1, - __RQF_MIXED_MERGE = 2, - __RQF_DONTPREP = 3, - __RQF_SCHED_TAGS = 4, - __RQF_USE_SCHED = 5, - __RQF_FAILED = 6, - __RQF_QUIET = 7, - __RQF_IO_STAT = 8, - __RQF_PM = 9, - __RQF_HASHED = 10, - __RQF_STATS = 11, - __RQF_SPECIAL_PAYLOAD = 12, - __RQF_ZONE_WRITE_PLUGGING = 13, - __RQF_TIMED_OUT = 14, - __RQF_RESV = 15, - __RQF_BITS = 16, -}; - -enum rsaprivkey_actions { - ACT_rsa_get_d = 0, - ACT_rsa_get_dp = 1, - ACT_rsa_get_dq = 2, - ACT_rsa_get_e = 3, - ACT_rsa_get_n = 4, - ACT_rsa_get_p = 5, - ACT_rsa_get_q = 6, - ACT_rsa_get_qinv = 7, - NR__rsaprivkey_actions = 8, -}; - -enum rsapubkey_actions { - ACT_rsa_get_e___2 = 0, - ACT_rsa_get_n___2 = 1, - NR__rsapubkey_actions = 2, -}; - -enum rsc_handling_status { - RSC_HANDLED = 0, - RSC_IGNORED = 1, -}; - -enum rseq_cpu_id_state { - RSEQ_CPU_ID_UNINITIALIZED = -1, - RSEQ_CPU_ID_REGISTRATION_FAILED = -2, -}; - -enum rseq_cs_flags { - RSEQ_CS_FLAG_NO_RESTART_ON_PREEMPT = 1, - RSEQ_CS_FLAG_NO_RESTART_ON_SIGNAL = 2, - RSEQ_CS_FLAG_NO_RESTART_ON_MIGRATE = 4, -}; - -enum rseq_cs_flags_bit { - RSEQ_CS_FLAG_NO_RESTART_ON_PREEMPT_BIT = 0, - RSEQ_CS_FLAG_NO_RESTART_ON_SIGNAL_BIT = 1, - RSEQ_CS_FLAG_NO_RESTART_ON_MIGRATE_BIT = 2, -}; - -enum rseq_event_mask_bits { - RSEQ_EVENT_PREEMPT_BIT = 0, - RSEQ_EVENT_SIGNAL_BIT = 1, - RSEQ_EVENT_MIGRATE_BIT = 2, -}; - -enum rseq_flags { - RSEQ_FLAG_UNREGISTER = 1, -}; - -enum rt6_nud_state { - RT6_NUD_FAIL_HARD = -3, - RT6_NUD_FAIL_PROBE = -2, - RT6_NUD_FAIL_DO_RR = -1, - RT6_NUD_SUCCEED = 1, -}; - -enum rt_class_t { - RT_TABLE_UNSPEC = 0, - RT_TABLE_COMPAT = 252, - RT_TABLE_DEFAULT = 253, - RT_TABLE_MAIN = 254, - RT_TABLE_LOCAL = 255, - RT_TABLE_MAX = 4294967295, -}; - -enum rt_scope_t { - RT_SCOPE_UNIVERSE = 0, - RT_SCOPE_SITE = 200, - RT_SCOPE_LINK = 253, - RT_SCOPE_HOST = 254, - RT_SCOPE_NOWHERE = 255, -}; - -enum rtattr_type_t { - RTA_UNSPEC = 0, - RTA_DST = 1, - RTA_SRC = 2, - RTA_IIF = 3, - RTA_OIF = 4, - RTA_GATEWAY = 5, - RTA_PRIORITY = 6, - RTA_PREFSRC = 7, - RTA_METRICS = 8, - RTA_MULTIPATH = 9, - RTA_PROTOINFO = 10, - RTA_FLOW = 11, - RTA_CACHEINFO = 12, - RTA_SESSION = 13, - RTA_MP_ALGO = 14, - RTA_TABLE = 15, - RTA_MARK = 16, - RTA_MFC_STATS = 17, - RTA_VIA = 18, - RTA_NEWDST = 19, - RTA_PREF = 20, - RTA_ENCAP_TYPE = 21, - RTA_ENCAP = 22, - RTA_EXPIRES = 23, - RTA_PAD = 24, - RTA_UID = 25, - RTA_TTL_PROPAGATE = 26, - RTA_IP_PROTO = 27, - RTA_SPORT = 28, - RTA_DPORT = 29, - RTA_NH_ID = 30, - RTA_FLOWLABEL = 31, - __RTA_MAX = 32, -}; - -enum rtmutex_chainwalk { - RT_MUTEX_MIN_CHAINWALK = 0, - RT_MUTEX_FULL_CHAINWALK = 1, -}; - -enum rtnetlink_groups { - RTNLGRP_NONE = 0, - RTNLGRP_LINK = 1, - RTNLGRP_NOTIFY = 2, - RTNLGRP_NEIGH = 3, - RTNLGRP_TC = 4, - RTNLGRP_IPV4_IFADDR = 5, - RTNLGRP_IPV4_MROUTE = 6, - RTNLGRP_IPV4_ROUTE = 7, - RTNLGRP_IPV4_RULE = 8, - RTNLGRP_IPV6_IFADDR = 9, - RTNLGRP_IPV6_MROUTE = 10, - RTNLGRP_IPV6_ROUTE = 11, - RTNLGRP_IPV6_IFINFO = 12, - RTNLGRP_DECnet_IFADDR = 13, - RTNLGRP_NOP2 = 14, - RTNLGRP_DECnet_ROUTE = 15, - RTNLGRP_DECnet_RULE = 16, - RTNLGRP_NOP4 = 17, - RTNLGRP_IPV6_PREFIX = 18, - RTNLGRP_IPV6_RULE = 19, - RTNLGRP_ND_USEROPT = 20, - RTNLGRP_PHONET_IFADDR = 21, - RTNLGRP_PHONET_ROUTE = 22, - RTNLGRP_DCB = 23, - RTNLGRP_IPV4_NETCONF = 24, - RTNLGRP_IPV6_NETCONF = 25, - RTNLGRP_MDB = 26, - RTNLGRP_MPLS_ROUTE = 27, - RTNLGRP_NSID = 28, - RTNLGRP_MPLS_NETCONF = 29, - RTNLGRP_IPV4_MROUTE_R = 30, - RTNLGRP_IPV6_MROUTE_R = 31, - RTNLGRP_NEXTHOP = 32, - RTNLGRP_BRVLAN = 33, - RTNLGRP_MCTP_IFADDR = 34, - RTNLGRP_TUNNEL = 35, - RTNLGRP_STATS = 36, - RTNLGRP_IPV4_MCADDR = 37, - RTNLGRP_IPV6_MCADDR = 38, - RTNLGRP_IPV6_ACADDR = 39, - __RTNLGRP_MAX = 40, -}; - -enum rtnl_kinds { - RTNL_KIND_NEW = 0, - RTNL_KIND_DEL = 1, - RTNL_KIND_GET = 2, - RTNL_KIND_SET = 3, -}; - -enum rtnl_link_flags { - RTNL_FLAG_DOIT_UNLOCKED = 1, - RTNL_FLAG_BULK_DEL_SUPPORTED = 2, - RTNL_FLAG_DUMP_UNLOCKED = 4, - RTNL_FLAG_DUMP_SPLIT_NLM_DONE = 8, -}; - -enum rw_hint { - WRITE_LIFE_NOT_SET = 0, - WRITE_LIFE_NONE = 1, - WRITE_LIFE_SHORT = 2, - WRITE_LIFE_MEDIUM = 3, - WRITE_LIFE_LONG = 4, - WRITE_LIFE_EXTREME = 5, -} __attribute__((mode(byte))); - -enum rwsem_waiter_type { - RWSEM_WAITING_FOR_WRITE = 0, - RWSEM_WAITING_FOR_READ = 1, -}; - -enum rwsem_wake_type { - RWSEM_WAKE_ANY = 0, - RWSEM_WAKE_READERS = 1, - RWSEM_WAKE_READ_OWNED = 2, -}; - -enum rx_handler_result { - RX_HANDLER_CONSUMED = 0, - RX_HANDLER_ANOTHER = 1, - RX_HANDLER_EXACT = 2, - RX_HANDLER_PASS = 3, -}; - -typedef enum rx_handler_result rx_handler_result_t; - -enum s2idle_states { - S2IDLE_STATE_NONE = 0, - S2IDLE_STATE_ENTER = 1, - S2IDLE_STATE_WAKE = 2, -}; - -enum s_alloc { - sa_rootdomain = 0, - sa_sd = 1, - sa_sd_storage = 2, - sa_none = 3, -}; - -enum sam_status { - SAM_STAT_GOOD = 0, - SAM_STAT_CHECK_CONDITION = 2, - SAM_STAT_CONDITION_MET = 4, - SAM_STAT_BUSY = 8, - SAM_STAT_INTERMEDIATE = 16, - SAM_STAT_INTERMEDIATE_CONDITION_MET = 20, - SAM_STAT_RESERVATION_CONFLICT = 24, - SAM_STAT_COMMAND_TERMINATED = 34, - SAM_STAT_TASK_SET_FULL = 40, - SAM_STAT_ACA_ACTIVE = 48, - SAM_STAT_TASK_ABORTED = 64, -}; - -enum scan_balance { - SCAN_EQUAL = 0, - SCAN_FRACT = 1, - SCAN_ANON = 2, - SCAN_FILE = 3, -}; - -enum scan_result { - SCAN_FAIL = 0, - SCAN_SUCCEED = 1, - SCAN_PMD_NULL = 2, - SCAN_PMD_NONE = 3, - SCAN_PMD_MAPPED = 4, - SCAN_EXCEED_NONE_PTE = 5, - SCAN_EXCEED_SWAP_PTE = 6, - SCAN_EXCEED_SHARED_PTE = 7, - SCAN_PTE_NON_PRESENT = 8, - SCAN_PTE_UFFD_WP = 9, - SCAN_PTE_MAPPED_HUGEPAGE = 10, - SCAN_PAGE_RO = 11, - SCAN_LACK_REFERENCED_PAGE = 12, - SCAN_PAGE_NULL = 13, - SCAN_SCAN_ABORT = 14, - SCAN_PAGE_COUNT = 15, - SCAN_PAGE_LRU = 16, - SCAN_PAGE_LOCK = 17, - SCAN_PAGE_ANON = 18, - SCAN_PAGE_COMPOUND = 19, - SCAN_ANY_PROCESS = 20, - SCAN_VMA_NULL = 21, - SCAN_VMA_CHECK = 22, - SCAN_ADDRESS_RANGE = 23, - SCAN_DEL_PAGE_LRU = 24, - SCAN_ALLOC_HUGE_PAGE_FAIL = 25, - SCAN_CGROUP_CHARGE_FAIL = 26, - SCAN_TRUNCATED = 27, - SCAN_PAGE_HAS_PRIVATE = 28, - SCAN_STORE_FAILED = 29, - SCAN_COPY_MC = 30, - SCAN_PAGE_FILLED = 31, -}; - -enum sched_tunable_scaling { - SCHED_TUNABLESCALING_NONE = 0, - SCHED_TUNABLESCALING_LOG = 1, - SCHED_TUNABLESCALING_LINEAR = 2, - SCHED_TUNABLESCALING_END = 3, -}; - -enum scrub_type { - SCRUB_UNKNOWN = 0, - SCRUB_NONE = 1, - SCRUB_SW_PROG = 2, - SCRUB_SW_SRC = 3, - SCRUB_SW_PROG_SRC = 4, - SCRUB_SW_TUNABLE = 5, - SCRUB_HW_PROG = 6, - SCRUB_HW_SRC = 7, - SCRUB_HW_PROG_SRC = 8, - SCRUB_HW_TUNABLE = 9, -}; - -enum scsi_cmnd_submitter { - SUBMITTED_BY_BLOCK_LAYER = 0, - SUBMITTED_BY_SCSI_ERROR_HANDLER = 1, - SUBMITTED_BY_SCSI_RESET_IOCTL = 2, -} __attribute__((mode(byte))); - -enum scsi_device_event { - SDEV_EVT_MEDIA_CHANGE = 1, - SDEV_EVT_INQUIRY_CHANGE_REPORTED = 2, - SDEV_EVT_CAPACITY_CHANGE_REPORTED = 3, - SDEV_EVT_SOFT_THRESHOLD_REACHED_REPORTED = 4, - SDEV_EVT_MODE_PARAMETER_CHANGE_REPORTED = 5, - SDEV_EVT_LUN_CHANGE_REPORTED = 6, - SDEV_EVT_ALUA_STATE_CHANGE_REPORTED = 7, - SDEV_EVT_POWER_ON_RESET_OCCURRED = 8, - SDEV_EVT_FIRST = 1, - SDEV_EVT_LAST = 8, - SDEV_EVT_MAXBITS = 9, -}; - -enum scsi_device_state { - SDEV_CREATED = 1, - SDEV_RUNNING = 2, - SDEV_CANCEL = 3, - SDEV_DEL = 4, - SDEV_QUIESCE = 5, - SDEV_OFFLINE = 6, - SDEV_TRANSPORT_OFFLINE = 7, - SDEV_BLOCK = 8, - SDEV_CREATED_BLOCK = 9, -}; - -enum scsi_devinfo_key { - SCSI_DEVINFO_GLOBAL = 0, - SCSI_DEVINFO_SPI = 1, -}; - -enum scsi_disposition { - NEEDS_RETRY = 8193, - SUCCESS = 8194, - FAILED = 8195, - QUEUED = 8196, - SOFT_ERROR = 8197, - ADD_TO_MLQUEUE = 8198, - TIMEOUT_ERROR = 8199, - SCSI_RETURN_NOT_HANDLED = 8200, - FAST_IO_FAIL = 8201, -}; - -enum scsi_host_guard_type { - SHOST_DIX_GUARD_CRC = 1, - SHOST_DIX_GUARD_IP = 2, -}; - -enum scsi_host_prot_capabilities { - SHOST_DIF_TYPE1_PROTECTION = 1, - SHOST_DIF_TYPE2_PROTECTION = 2, - SHOST_DIF_TYPE3_PROTECTION = 4, - SHOST_DIX_TYPE0_PROTECTION = 8, - SHOST_DIX_TYPE1_PROTECTION = 16, - SHOST_DIX_TYPE2_PROTECTION = 32, - SHOST_DIX_TYPE3_PROTECTION = 64, -}; - -enum scsi_host_state { - SHOST_CREATED = 1, - SHOST_RUNNING = 2, - SHOST_CANCEL = 3, - SHOST_DEL = 4, - SHOST_RECOVERY = 5, - SHOST_CANCEL_RECOVERY = 6, - SHOST_DEL_RECOVERY = 7, -}; - -enum scsi_host_status { - DID_OK = 0, - DID_NO_CONNECT = 1, - DID_BUS_BUSY = 2, - DID_TIME_OUT = 3, - DID_BAD_TARGET = 4, - DID_ABORT = 5, - DID_PARITY = 6, - DID_ERROR = 7, - DID_RESET = 8, - DID_BAD_INTR = 9, - DID_PASSTHROUGH = 10, - DID_SOFT_ERROR = 11, - DID_IMM_RETRY = 12, - DID_REQUEUE = 13, - DID_TRANSPORT_DISRUPTED = 14, - DID_TRANSPORT_FAILFAST = 15, - DID_TRANSPORT_MARGINAL = 20, -}; - -enum scsi_ml_status { - SCSIML_STAT_OK = 0, - SCSIML_STAT_RESV_CONFLICT = 1, - SCSIML_STAT_NOSPC = 2, - SCSIML_STAT_MED_ERROR = 3, - SCSIML_STAT_TGT_FAILURE = 4, - SCSIML_STAT_DL_TIMEOUT = 5, -}; - -enum scsi_msg_byte { - COMMAND_COMPLETE = 0, - EXTENDED_MESSAGE = 1, - SAVE_POINTERS = 2, - RESTORE_POINTERS = 3, - DISCONNECT = 4, - INITIATOR_ERROR = 5, - ABORT_TASK_SET = 6, - MESSAGE_REJECT = 7, - NOP___2 = 8, - MSG_PARITY_ERROR = 9, - LINKED_CMD_COMPLETE = 10, - LINKED_FLG_CMD_COMPLETE = 11, - TARGET_RESET = 12, - ABORT_TASK = 13, - CLEAR_TASK_SET = 14, - INITIATE_RECOVERY = 15, - RELEASE_RECOVERY = 16, - TERMINATE_IO_PROC = 17, - CLEAR_ACA = 22, - LOGICAL_UNIT_RESET = 23, - SIMPLE_QUEUE_TAG = 32, - HEAD_OF_QUEUE_TAG = 33, - ORDERED_QUEUE_TAG = 34, - IGNORE_WIDE_RESIDUE = 35, - ACA = 36, - QAS_REQUEST = 85, - BUS_DEVICE_RESET = 12, - ABORT = 6, -}; - -enum scsi_pr_type { - SCSI_PR_WRITE_EXCLUSIVE = 1, - SCSI_PR_EXCLUSIVE_ACCESS = 3, - SCSI_PR_WRITE_EXCLUSIVE_REG_ONLY = 5, - SCSI_PR_EXCLUSIVE_ACCESS_REG_ONLY = 6, - SCSI_PR_WRITE_EXCLUSIVE_ALL_REGS = 7, - SCSI_PR_EXCLUSIVE_ACCESS_ALL_REGS = 8, -}; - -enum scsi_prot_flags { - SCSI_PROT_TRANSFER_PI = 1, - SCSI_PROT_GUARD_CHECK = 2, - SCSI_PROT_REF_CHECK = 4, - SCSI_PROT_REF_INCREMENT = 8, - SCSI_PROT_IP_CHECKSUM = 16, -}; - -enum scsi_prot_operations { - SCSI_PROT_NORMAL = 0, - SCSI_PROT_READ_INSERT = 1, - SCSI_PROT_WRITE_STRIP = 2, - SCSI_PROT_READ_STRIP = 3, - SCSI_PROT_WRITE_INSERT = 4, - SCSI_PROT_READ_PASS = 5, - SCSI_PROT_WRITE_PASS = 6, -}; - -enum scsi_scan_mode { - SCSI_SCAN_INITIAL = 0, - SCSI_SCAN_RESCAN = 1, - SCSI_SCAN_MANUAL = 2, -}; - -enum scsi_target_state { - STARGET_CREATED = 1, - STARGET_RUNNING = 2, - STARGET_REMOVE = 3, - STARGET_CREATED_REMOVE = 4, - STARGET_DEL = 5, -}; - -enum scsi_timeout_action { - SCSI_EH_DONE = 0, - SCSI_EH_RESET_TIMER = 1, - SCSI_EH_NOT_HANDLED = 2, -}; - -enum scsi_timeouts { - SCSI_DEFAULT_EH_TIMEOUT = 10000, -}; - -enum scsi_vpd_parameters { - SCSI_VPD_HEADER_SIZE = 4, - SCSI_VPD_LIST_SIZE = 36, -}; - -enum sctp_cid { - SCTP_CID_DATA = 0, - SCTP_CID_INIT = 1, - SCTP_CID_INIT_ACK = 2, - SCTP_CID_SACK = 3, - SCTP_CID_HEARTBEAT = 4, - SCTP_CID_HEARTBEAT_ACK = 5, - SCTP_CID_ABORT = 6, - SCTP_CID_SHUTDOWN = 7, - SCTP_CID_SHUTDOWN_ACK = 8, - SCTP_CID_ERROR = 9, - SCTP_CID_COOKIE_ECHO = 10, - SCTP_CID_COOKIE_ACK = 11, - SCTP_CID_ECN_ECNE = 12, - SCTP_CID_ECN_CWR = 13, - SCTP_CID_SHUTDOWN_COMPLETE = 14, - SCTP_CID_AUTH = 15, - SCTP_CID_I_DATA = 64, - SCTP_CID_FWD_TSN = 192, - SCTP_CID_ASCONF = 193, - SCTP_CID_I_FWD_TSN = 194, - SCTP_CID_ASCONF_ACK = 128, - SCTP_CID_RECONF = 130, - SCTP_CID_PAD = 132, -}; - -enum sctp_conntrack { - SCTP_CONNTRACK_NONE = 0, - SCTP_CONNTRACK_CLOSED = 1, - SCTP_CONNTRACK_COOKIE_WAIT = 2, - SCTP_CONNTRACK_COOKIE_ECHOED = 3, - SCTP_CONNTRACK_ESTABLISHED = 4, - SCTP_CONNTRACK_SHUTDOWN_SENT = 5, - SCTP_CONNTRACK_SHUTDOWN_RECD = 6, - SCTP_CONNTRACK_SHUTDOWN_ACK_SENT = 7, - SCTP_CONNTRACK_HEARTBEAT_SENT = 8, - SCTP_CONNTRACK_HEARTBEAT_ACKED = 9, - SCTP_CONNTRACK_MAX = 10, -}; - -enum sctp_endpoint_type { - SCTP_EP_TYPE_SOCKET = 0, - SCTP_EP_TYPE_ASSOCIATION = 1, -}; - -enum sctp_event_timeout { - SCTP_EVENT_TIMEOUT_NONE = 0, - SCTP_EVENT_TIMEOUT_T1_COOKIE = 1, - SCTP_EVENT_TIMEOUT_T1_INIT = 2, - SCTP_EVENT_TIMEOUT_T2_SHUTDOWN = 3, - SCTP_EVENT_TIMEOUT_T3_RTX = 4, - SCTP_EVENT_TIMEOUT_T4_RTO = 5, - SCTP_EVENT_TIMEOUT_T5_SHUTDOWN_GUARD = 6, - SCTP_EVENT_TIMEOUT_HEARTBEAT = 7, - SCTP_EVENT_TIMEOUT_RECONF = 8, - SCTP_EVENT_TIMEOUT_PROBE = 9, - SCTP_EVENT_TIMEOUT_SACK = 10, - SCTP_EVENT_TIMEOUT_AUTOCLOSE = 11, -}; - -enum sctp_msg_flags { - MSG_NOTIFICATION = 32768, -}; - -enum sctp_param { - SCTP_PARAM_HEARTBEAT_INFO = 256, - SCTP_PARAM_IPV4_ADDRESS = 1280, - SCTP_PARAM_IPV6_ADDRESS = 1536, - SCTP_PARAM_STATE_COOKIE = 1792, - SCTP_PARAM_UNRECOGNIZED_PARAMETERS = 2048, - SCTP_PARAM_COOKIE_PRESERVATIVE = 2304, - SCTP_PARAM_HOST_NAME_ADDRESS = 2816, - SCTP_PARAM_SUPPORTED_ADDRESS_TYPES = 3072, - SCTP_PARAM_ECN_CAPABLE = 128, - SCTP_PARAM_RANDOM = 640, - SCTP_PARAM_CHUNKS = 896, - SCTP_PARAM_HMAC_ALGO = 1152, - SCTP_PARAM_SUPPORTED_EXT = 2176, - SCTP_PARAM_FWD_TSN_SUPPORT = 192, - SCTP_PARAM_ADD_IP = 448, - SCTP_PARAM_DEL_IP = 704, - SCTP_PARAM_ERR_CAUSE = 960, - SCTP_PARAM_SET_PRIMARY = 1216, - SCTP_PARAM_SUCCESS_REPORT = 1472, - SCTP_PARAM_ADAPTATION_LAYER_IND = 1728, - SCTP_PARAM_RESET_OUT_REQUEST = 3328, - SCTP_PARAM_RESET_IN_REQUEST = 3584, - SCTP_PARAM_RESET_TSN_REQUEST = 3840, - SCTP_PARAM_RESET_RESPONSE = 4096, - SCTP_PARAM_RESET_ADD_OUT_STREAMS = 4352, - SCTP_PARAM_RESET_ADD_IN_STREAMS = 4608, -}; - -enum sctp_scope { - SCTP_SCOPE_GLOBAL = 0, - SCTP_SCOPE_PRIVATE = 1, - SCTP_SCOPE_LINK = 2, - SCTP_SCOPE_LOOPBACK = 3, - SCTP_SCOPE_UNUSABLE = 4, -}; - -enum sctp_socket_type { - SCTP_SOCKET_UDP = 0, - SCTP_SOCKET_UDP_HIGH_BANDWIDTH = 1, - SCTP_SOCKET_TCP = 2, -}; - -enum sctp_state { - SCTP_STATE_CLOSED = 0, - SCTP_STATE_COOKIE_WAIT = 1, - SCTP_STATE_COOKIE_ECHOED = 2, - SCTP_STATE_ESTABLISHED = 3, - SCTP_STATE_SHUTDOWN_PENDING = 4, - SCTP_STATE_SHUTDOWN_SENT = 5, - SCTP_STATE_SHUTDOWN_RECEIVED = 6, - SCTP_STATE_SHUTDOWN_ACK_SENT = 7, -}; - -enum scx_consts { - SCX_DSP_DFL_MAX_BATCH = 32, - SCX_DSP_MAX_LOOPS = 32, - SCX_WATCHDOG_MAX_TIMEOUT = 30000, - SCX_EXIT_BT_LEN = 64, - SCX_EXIT_MSG_LEN = 1024, - SCX_EXIT_DUMP_DFL_LEN = 32768, - SCX_CPUPERF_ONE = 1024, - SCX_TASK_ITER_BATCH = 32, -}; - -enum scx_cpu_preempt_reason { - SCX_CPU_PREEMPT_RT = 0, - SCX_CPU_PREEMPT_DL = 1, - SCX_CPU_PREEMPT_STOP = 2, - SCX_CPU_PREEMPT_UNKNOWN = 3, -}; - -enum scx_deq_flags { - SCX_DEQ_SLEEP = 1ULL, - SCX_DEQ_CORE_SCHED_EXEC = 4294967296ULL, -}; - -enum scx_dsq_id_flags { - SCX_DSQ_FLAG_BUILTIN = 9223372036854775808ULL, - SCX_DSQ_FLAG_LOCAL_ON = 4611686018427387904ULL, - SCX_DSQ_INVALID = 9223372036854775808ULL, - SCX_DSQ_GLOBAL = 9223372036854775809ULL, - SCX_DSQ_LOCAL = 9223372036854775810ULL, - SCX_DSQ_LOCAL_ON = 13835058055282163712ULL, - SCX_DSQ_LOCAL_CPU_MASK = 4294967295ULL, -}; - -enum scx_dsq_iter_flags { - SCX_DSQ_ITER_REV = 65536, - __SCX_DSQ_ITER_HAS_SLICE = 1073741824, - __SCX_DSQ_ITER_HAS_VTIME = 2147483648, - __SCX_DSQ_ITER_USER_FLAGS = 65536, - __SCX_DSQ_ITER_ALL_FLAGS = 3221291008, -}; - -enum scx_dsq_lnode_flags { - SCX_DSQ_LNODE_ITER_CURSOR = 1, - __SCX_DSQ_LNODE_PRIV_SHIFT = 16, -}; - -enum scx_enable_state { - SCX_ENABLING = 0, - SCX_ENABLED = 1, - SCX_DISABLING = 2, - SCX_DISABLED = 3, -}; - -enum scx_enq_flags { - SCX_ENQ_WAKEUP = 1ULL, - SCX_ENQ_HEAD = 16ULL, - SCX_ENQ_CPU_SELECTED = 1024ULL, - SCX_ENQ_PREEMPT = 4294967296ULL, - SCX_ENQ_REENQ = 1099511627776ULL, - SCX_ENQ_LAST = 2199023255552ULL, - __SCX_ENQ_INTERNAL_MASK = 18374686479671623680ULL, - SCX_ENQ_CLEAR_OPSS = 72057594037927936ULL, - SCX_ENQ_DSQ_PRIQ = 144115188075855872ULL, -}; - -enum scx_ent_dsq_flags { - SCX_TASK_DSQ_ON_PRIQ = 1, -}; - -enum scx_ent_flags { - SCX_TASK_QUEUED = 1, - SCX_TASK_RESET_RUNNABLE_AT = 4, - SCX_TASK_DEQD_FOR_SLEEP = 8, - SCX_TASK_STATE_SHIFT = 8, - SCX_TASK_STATE_BITS = 2, - SCX_TASK_STATE_MASK = 768, - SCX_TASK_CURSOR = -2147483648, -}; - -enum scx_exit_code { - SCX_ECODE_RSN_HOTPLUG = 4294967296ULL, - SCX_ECODE_ACT_RESTART = 281474976710656ULL, -}; - -enum scx_exit_kind { - SCX_EXIT_NONE = 0, - SCX_EXIT_DONE = 1, - SCX_EXIT_UNREG = 64, - SCX_EXIT_UNREG_BPF = 65, - SCX_EXIT_UNREG_KERN = 66, - SCX_EXIT_SYSRQ = 67, - SCX_EXIT_ERROR = 1024, - SCX_EXIT_ERROR_BPF = 1025, - SCX_EXIT_ERROR_STALL = 1026, -}; - -enum scx_kf_mask { - SCX_KF_UNLOCKED = 0, - SCX_KF_CPU_RELEASE = 1, - SCX_KF_DISPATCH = 2, - SCX_KF_ENQUEUE = 4, - SCX_KF_SELECT_CPU = 8, - SCX_KF_REST = 16, - __SCX_KF_RQ_LOCKED = 31, - __SCX_KF_TERMINAL = 28, -}; - -enum scx_kick_flags { - SCX_KICK_IDLE = 1, - SCX_KICK_PREEMPT = 2, - SCX_KICK_WAIT = 4, -}; - -enum scx_opi { - SCX_OPI_BEGIN = 0, - SCX_OPI_NORMAL_BEGIN = 0, - SCX_OPI_NORMAL_END = 30, - SCX_OPI_CPU_HOTPLUG_BEGIN = 30, - SCX_OPI_CPU_HOTPLUG_END = 32, - SCX_OPI_END = 32, -}; - -enum scx_ops_flags { - SCX_OPS_KEEP_BUILTIN_IDLE = 1ULL, - SCX_OPS_ENQ_LAST = 2ULL, - SCX_OPS_ENQ_EXITING = 4ULL, - SCX_OPS_SWITCH_PARTIAL = 8ULL, - SCX_OPS_ENQ_MIGRATION_DISABLED = 16ULL, - SCX_OPS_ALLOW_QUEUED_WAKEUP = 32ULL, - SCX_OPS_BUILTIN_IDLE_PER_NODE = 64ULL, - SCX_OPS_HAS_CGROUP_WEIGHT = 65536ULL, - SCX_OPS_ALL_FLAGS = 65663ULL, - __SCX_OPS_INTERNAL_MASK = 18374686479671623680ULL, - SCX_OPS_HAS_CPU_PREEMPT = 72057594037927936ULL, -}; - -enum scx_ops_state { - SCX_OPSS_NONE = 0, - SCX_OPSS_QUEUEING = 1, - SCX_OPSS_QUEUED = 2, - SCX_OPSS_DISPATCHING = 3, - SCX_OPSS_QSEQ_SHIFT = 2, -}; - -enum scx_pick_idle_cpu_flags { - SCX_PICK_IDLE_CORE = 1, - SCX_PICK_IDLE_IN_NODE = 2, -}; - -enum scx_public_consts { - SCX_OPS_NAME_LEN = 128ULL, - SCX_SLICE_DFL = 20000000ULL, - SCX_SLICE_INF = 18446744073709551615ULL, -}; - -enum scx_rq_flags { - SCX_RQ_ONLINE = 1, - SCX_RQ_CAN_STOP_TICK = 2, - SCX_RQ_BAL_PENDING = 4, - SCX_RQ_BAL_KEEP = 8, - SCX_RQ_BYPASSING = 16, - SCX_RQ_CLK_VALID = 32, - SCX_RQ_BAL_CB_PENDING = 64, - SCX_RQ_IN_WAKEUP = 65536, - SCX_RQ_IN_BALANCE = 131072, -}; - -enum scx_task_state { - SCX_TASK_NONE = 0, - SCX_TASK_INIT = 1, - SCX_TASK_READY = 2, - SCX_TASK_ENABLED = 3, - SCX_TASK_NR_STATES = 4, -}; - -enum scx_tg_flags { - SCX_TG_ONLINE = 1, - SCX_TG_INITED = 2, -}; - -enum scx_wake_flags { - SCX_WAKE_FORK = 4, - SCX_WAKE_TTWU = 8, - SCX_WAKE_SYNC = 16, -}; - -enum sd_uhs2_operation { - UHS2_PHY_INIT = 0, - UHS2_SET_CONFIG = 1, - UHS2_ENABLE_INT = 2, - UHS2_DISABLE_INT = 3, - UHS2_ENABLE_CLK = 4, - UHS2_DISABLE_CLK = 5, - UHS2_CHECK_DORMANT = 6, - UHS2_SET_IOS = 7, -}; - -enum security_cmd_enabled_bits { - CXL_SEC_ENABLED_SANITIZE = 0, - CXL_SEC_ENABLED_SECURE_ERASE = 1, - CXL_SEC_ENABLED_GET_SECURITY_STATE = 2, - CXL_SEC_ENABLED_SET_PASSPHRASE = 3, - CXL_SEC_ENABLED_DISABLE_PASSPHRASE = 4, - CXL_SEC_ENABLED_UNLOCK = 5, - CXL_SEC_ENABLED_FREEZE_SECURITY = 6, - CXL_SEC_ENABLED_PASSPHRASE_SECURE_ERASE = 7, - CXL_SEC_ENABLED_MAX = 8, -}; - -enum seg6_end_dt_mode { - DT_INVALID_MODE = -22, - DT_LEGACY_MODE = 0, - DT_VRF_MODE = 1, -}; - -enum seg6_local_flv_action { - SEG6_LOCAL_FLV_ACT_UNSPEC = 0, - SEG6_LOCAL_FLV_ACT_END = 1, - SEG6_LOCAL_FLV_ACT_PSP = 2, - SEG6_LOCAL_FLV_ACT_USP = 3, - SEG6_LOCAL_FLV_ACT_USD = 4, - __SEG6_LOCAL_FLV_ACT_MAX = 5, -}; - -enum seg6_local_pktinfo { - SEG6_LOCAL_PKTINFO_NOHDR = 0, - SEG6_LOCAL_PKTINFO_SL_ZERO = 1, - SEG6_LOCAL_PKTINFO_SL_ONE = 2, - SEG6_LOCAL_PKTINFO_SL_MORE = 3, - __SEG6_LOCAL_PKTINFO_MAX = 4, -}; - -enum sel_inos { - SEL_ROOT_INO = 2, - SEL_LOAD = 3, - SEL_ENFORCE = 4, - SEL_CONTEXT = 5, - SEL_ACCESS = 6, - SEL_CREATE = 7, - SEL_RELABEL = 8, - SEL_USER = 9, - SEL_POLICYVERS = 10, - SEL_COMMIT_BOOLS = 11, - SEL_MLS = 12, - SEL_DISABLE = 13, - SEL_MEMBER = 14, - SEL_CHECKREQPROT = 15, - SEL_COMPAT_NET = 16, - SEL_REJECT_UNKNOWN = 17, - SEL_DENY_UNKNOWN = 18, - SEL_STATUS = 19, - SEL_POLICY = 20, - SEL_VALIDATE_TRANS = 21, - SEL_INO_NEXT = 22, -}; - -enum selinux_nlgroups { - SELNLGRP_NONE = 0, - SELNLGRP_AVC = 1, - __SELNLGRP_MAX = 2, -}; - -enum ser { - SER_REQUIRED = 1, - NO_SER = 2, -}; - -enum serdev_parity { - SERDEV_PARITY_NONE = 0, - SERDEV_PARITY_EVEN = 1, - SERDEV_PARITY_ODD = 2, -}; - -enum serio_event_type { - SERIO_RESCAN_PORT = 0, - SERIO_RECONNECT_PORT = 1, - SERIO_RECONNECT_SUBTREE = 2, - SERIO_REGISTER_PORT = 3, - SERIO_ATTACH_DRIVER = 4, -}; - -enum set_event_iter_type { - SET_EVENT_FILE = 0, - SET_EVENT_MOD = 1, -}; - -enum setid_type { - UID = 0, - GID = 1, -}; - -enum severity_level { - MCE_NO_SEVERITY = 0, - MCE_DEFERRED_SEVERITY = 1, - MCE_UCNA_SEVERITY = 1, - MCE_KEEP_SEVERITY = 2, - MCE_SOME_SEVERITY = 3, - MCE_AO_SEVERITY = 4, - MCE_UC_SEVERITY = 5, - MCE_AR_SEVERITY = 6, - MCE_PANIC_SEVERITY = 7, -}; - -enum sgp_type { - SGP_READ = 0, - SGP_NOALLOC = 1, - SGP_CACHE = 2, - SGP_WRITE = 3, - SGP_FALLOC = 4, -}; - -enum sgx_attribute { - SGX_ATTR_INIT = 1, - SGX_ATTR_DEBUG = 2, - SGX_ATTR_MODE64BIT = 4, - SGX_ATTR_PROVISIONKEY = 16, - SGX_ATTR_EINITTOKENKEY = 32, - SGX_ATTR_KSS = 128, - SGX_ATTR_ASYNC_EXIT_NOTIFY = 1024, -}; - -enum sgx_encl_flags { - SGX_ENCL_IOCTL = 1, - SGX_ENCL_DEBUG = 2, - SGX_ENCL_CREATED = 4, - SGX_ENCL_INITIALIZED = 8, -}; - -enum sgx_encls_function { - ECREATE = 0, - EADD = 1, - EINIT = 2, - EREMOVE = 3, - EDGBRD = 4, - EDGBWR = 5, - EEXTEND = 6, - ELDU = 8, - EBLOCK = 9, - EPA = 10, - EWB = 11, - ETRACK = 12, - EAUG = 13, - EMODPR = 14, - EMODT = 15, -}; - -enum sgx_page_flags { - SGX_PAGE_MEASURE = 1, -}; - -enum sgx_page_type { - SGX_PAGE_TYPE_SECS = 0, - SGX_PAGE_TYPE_TCS = 1, - SGX_PAGE_TYPE_REG = 2, - SGX_PAGE_TYPE_VA = 3, - SGX_PAGE_TYPE_TRIM = 4, -}; - -enum sgx_return_code { - SGX_EPC_PAGE_CONFLICT = 7, - SGX_NOT_TRACKED = 11, - SGX_CHILD_PRESENT = 13, - SGX_INVALID_EINITTOKEN = 16, - SGX_PAGE_NOT_MODIFIABLE = 20, - SGX_UNMASKED_EVENT = 128, -}; - -enum sgx_secinfo_flags { - SGX_SECINFO_R = 1, - SGX_SECINFO_W = 2, - SGX_SECINFO_X = 4, - SGX_SECINFO_SECS = 0, - SGX_SECINFO_TCS = 256, - SGX_SECINFO_REG = 512, - SGX_SECINFO_VA = 768, - SGX_SECINFO_TRIM = 1024, -}; - -enum shmem_param { - Opt_gid___8 = 0, - Opt_huge = 1, - Opt_mode___6 = 2, - Opt_mpol = 3, - Opt_nr_blocks = 4, - Opt_nr_inodes___2 = 5, - Opt_size___2 = 6, - Opt_uid___7 = 7, - Opt_inode32 = 8, - Opt_inode64 = 9, - Opt_noswap = 10, - Opt_quota___2 = 11, - Opt_usrquota___2 = 12, - Opt_grpquota___2 = 13, - Opt_usrquota_block_hardlimit = 14, - Opt_usrquota_inode_hardlimit = 15, - Opt_grpquota_block_hardlimit = 16, - Opt_grpquota_inode_hardlimit = 17, - Opt_casefold_version = 18, - Opt_casefold = 19, - Opt_strict_encoding = 20, -}; - -enum show_regs_mode { - SHOW_REGS_SHORT = 0, - SHOW_REGS_USER = 1, - SHOW_REGS_ALL = 2, -}; - -enum shutdown_state { - SHUTDOWN_INVALID = -1, - SHUTDOWN_POWEROFF = 0, - SHUTDOWN_SUSPEND = 2, - SHUTDOWN_HALT = 4, -}; - -enum si_type { - SI_TYPE_INVALID = 0, - SI_KCS = 1, - SI_SMIC = 2, - SI_BT = 3, - SI_TYPE_MAX = 4, -}; - -enum sid_policy_type { - SIDPOL_DEFAULT = 0, - SIDPOL_CONSTRAINED = 1, - SIDPOL_ALLOWED = 2, -}; - -enum sig_handler { - HANDLER_CURRENT = 0, - HANDLER_SIG_DFL = 1, - HANDLER_EXIT = 2, -}; - -enum siginfo_layout { - SIL_KILL = 0, - SIL_TIMER = 1, - SIL_POLL = 2, - SIL_FAULT = 3, - SIL_FAULT_TRAPNO = 4, - SIL_FAULT_MCEERR = 5, - SIL_FAULT_BNDERR = 6, - SIL_FAULT_PKUERR = 7, - SIL_FAULT_PERF_EVENT = 8, - SIL_CHLD = 9, - SIL_RT = 10, - SIL_SYS = 11, -}; - -enum simatic_ipc_station_ids { - SIMATIC_IPC_INVALID_STATION_ID = 0, - SIMATIC_IPC_IPC227D = 1281, - SIMATIC_IPC_IPC427D = 1793, - SIMATIC_IPC_IPC227E = 2305, - SIMATIC_IPC_IPC277E = 2306, - SIMATIC_IPC_IPC427E = 2561, - SIMATIC_IPC_IPC477E = 2562, - SIMATIC_IPC_IPC127E = 3329, - SIMATIC_IPC_IPC227G = 3841, - SIMATIC_IPC_IPC277G = 3842, - SIMATIC_IPC_IPCBX_39A = 4097, - SIMATIC_IPC_IPCPX_39A = 4098, - SIMATIC_IPC_IPCBX_21A = 4353, - SIMATIC_IPC_IPCBX_56A = 4609, - SIMATIC_IPC_IPCBX_59A = 4610, -}; - -enum sk_action { - SK_DROP = 0, - SK_PASS = 1, -}; - -enum sk_pacing { - SK_PACING_NONE = 0, - SK_PACING_NEEDED = 1, - SK_PACING_FQ = 2, -}; - -enum sk_psock_state_bits { - SK_PSOCK_TX_ENABLED = 0, - SK_PSOCK_RX_STRP_ENABLED = 1, -}; - -enum sk_rst_reason { - SK_RST_REASON_NOT_SPECIFIED = 0, - SK_RST_REASON_NO_SOCKET = 1, - SK_RST_REASON_TCP_INVALID_ACK_SEQUENCE = 2, - SK_RST_REASON_TCP_RFC7323_PAWS = 3, - SK_RST_REASON_TCP_TOO_OLD_ACK = 4, - SK_RST_REASON_TCP_ACK_UNSENT_DATA = 5, - SK_RST_REASON_TCP_FLAGS = 6, - SK_RST_REASON_TCP_OLD_ACK = 7, - SK_RST_REASON_TCP_ABORT_ON_DATA = 8, - SK_RST_REASON_TCP_TIMEWAIT_SOCKET = 9, - SK_RST_REASON_INVALID_SYN = 10, - SK_RST_REASON_TCP_ABORT_ON_CLOSE = 11, - SK_RST_REASON_TCP_ABORT_ON_LINGER = 12, - SK_RST_REASON_TCP_ABORT_ON_MEMORY = 13, - SK_RST_REASON_TCP_STATE = 14, - SK_RST_REASON_TCP_KEEPALIVE_TIMEOUT = 15, - SK_RST_REASON_TCP_DISCONNECT_WITH_DATA = 16, - SK_RST_REASON_MPTCP_RST_EUNSPEC = 17, - SK_RST_REASON_MPTCP_RST_EMPTCP = 18, - SK_RST_REASON_MPTCP_RST_ERESOURCE = 19, - SK_RST_REASON_MPTCP_RST_EPROHIBIT = 20, - SK_RST_REASON_MPTCP_RST_EWQ2BIG = 21, - SK_RST_REASON_MPTCP_RST_EBADPERF = 22, - SK_RST_REASON_MPTCP_RST_EMIDDLEBOX = 23, - SK_RST_REASON_ERROR = 24, - SK_RST_REASON_MAX = 25, -}; - -enum skb_drop_reason { - SKB_NOT_DROPPED_YET = 0, - SKB_CONSUMED = 1, - SKB_DROP_REASON_NOT_SPECIFIED = 2, - SKB_DROP_REASON_NO_SOCKET = 3, - SKB_DROP_REASON_SOCKET_CLOSE = 4, - SKB_DROP_REASON_SOCKET_FILTER = 5, - SKB_DROP_REASON_SOCKET_RCVBUFF = 6, - SKB_DROP_REASON_UNIX_DISCONNECT = 7, - SKB_DROP_REASON_UNIX_SKIP_OOB = 8, - SKB_DROP_REASON_PKT_TOO_SMALL = 9, - SKB_DROP_REASON_TCP_CSUM = 10, - SKB_DROP_REASON_UDP_CSUM = 11, - SKB_DROP_REASON_NETFILTER_DROP = 12, - SKB_DROP_REASON_OTHERHOST = 13, - SKB_DROP_REASON_IP_CSUM = 14, - SKB_DROP_REASON_IP_INHDR = 15, - SKB_DROP_REASON_IP_RPFILTER = 16, - SKB_DROP_REASON_UNICAST_IN_L2_MULTICAST = 17, - SKB_DROP_REASON_XFRM_POLICY = 18, - SKB_DROP_REASON_IP_NOPROTO = 19, - SKB_DROP_REASON_PROTO_MEM = 20, - SKB_DROP_REASON_TCP_AUTH_HDR = 21, - SKB_DROP_REASON_TCP_MD5NOTFOUND = 22, - SKB_DROP_REASON_TCP_MD5UNEXPECTED = 23, - SKB_DROP_REASON_TCP_MD5FAILURE = 24, - SKB_DROP_REASON_TCP_AONOTFOUND = 25, - SKB_DROP_REASON_TCP_AOUNEXPECTED = 26, - SKB_DROP_REASON_TCP_AOKEYNOTFOUND = 27, - SKB_DROP_REASON_TCP_AOFAILURE = 28, - SKB_DROP_REASON_SOCKET_BACKLOG = 29, - SKB_DROP_REASON_TCP_FLAGS = 30, - SKB_DROP_REASON_TCP_ABORT_ON_DATA = 31, - SKB_DROP_REASON_TCP_ZEROWINDOW = 32, - SKB_DROP_REASON_TCP_OLD_DATA = 33, - SKB_DROP_REASON_TCP_OVERWINDOW = 34, - SKB_DROP_REASON_TCP_OFOMERGE = 35, - SKB_DROP_REASON_TCP_RFC7323_PAWS = 36, - SKB_DROP_REASON_TCP_RFC7323_PAWS_ACK = 37, - SKB_DROP_REASON_TCP_RFC7323_TW_PAWS = 38, - SKB_DROP_REASON_TCP_RFC7323_TSECR = 39, - SKB_DROP_REASON_TCP_LISTEN_OVERFLOW = 40, - SKB_DROP_REASON_TCP_OLD_SEQUENCE = 41, - SKB_DROP_REASON_TCP_INVALID_SEQUENCE = 42, - SKB_DROP_REASON_TCP_INVALID_END_SEQUENCE = 43, - SKB_DROP_REASON_TCP_INVALID_ACK_SEQUENCE = 44, - SKB_DROP_REASON_TCP_RESET = 45, - SKB_DROP_REASON_TCP_INVALID_SYN = 46, - SKB_DROP_REASON_TCP_CLOSE = 47, - SKB_DROP_REASON_TCP_FASTOPEN = 48, - SKB_DROP_REASON_TCP_OLD_ACK = 49, - SKB_DROP_REASON_TCP_TOO_OLD_ACK = 50, - SKB_DROP_REASON_TCP_ACK_UNSENT_DATA = 51, - SKB_DROP_REASON_TCP_OFO_QUEUE_PRUNE = 52, - SKB_DROP_REASON_TCP_OFO_DROP = 53, - SKB_DROP_REASON_IP_OUTNOROUTES = 54, - SKB_DROP_REASON_BPF_CGROUP_EGRESS = 55, - SKB_DROP_REASON_IPV6DISABLED = 56, - SKB_DROP_REASON_NEIGH_CREATEFAIL = 57, - SKB_DROP_REASON_NEIGH_FAILED = 58, - SKB_DROP_REASON_NEIGH_QUEUEFULL = 59, - SKB_DROP_REASON_NEIGH_DEAD = 60, - SKB_DROP_REASON_NEIGH_HH_FILLFAIL = 61, - SKB_DROP_REASON_TC_EGRESS = 62, - SKB_DROP_REASON_SECURITY_HOOK = 63, - SKB_DROP_REASON_QDISC_DROP = 64, - SKB_DROP_REASON_QDISC_OVERLIMIT = 65, - SKB_DROP_REASON_QDISC_CONGESTED = 66, - SKB_DROP_REASON_CAKE_FLOOD = 67, - SKB_DROP_REASON_FQ_BAND_LIMIT = 68, - SKB_DROP_REASON_FQ_HORIZON_LIMIT = 69, - SKB_DROP_REASON_FQ_FLOW_LIMIT = 70, - SKB_DROP_REASON_CPU_BACKLOG = 71, - SKB_DROP_REASON_XDP = 72, - SKB_DROP_REASON_TC_INGRESS = 73, - SKB_DROP_REASON_UNHANDLED_PROTO = 74, - SKB_DROP_REASON_SKB_CSUM = 75, - SKB_DROP_REASON_SKB_GSO_SEG = 76, - SKB_DROP_REASON_SKB_UCOPY_FAULT = 77, - SKB_DROP_REASON_DEV_HDR = 78, - SKB_DROP_REASON_DEV_READY = 79, - SKB_DROP_REASON_FULL_RING = 80, - SKB_DROP_REASON_NOMEM = 81, - SKB_DROP_REASON_HDR_TRUNC = 82, - SKB_DROP_REASON_TAP_FILTER = 83, - SKB_DROP_REASON_TAP_TXFILTER = 84, - SKB_DROP_REASON_ICMP_CSUM = 85, - SKB_DROP_REASON_INVALID_PROTO = 86, - SKB_DROP_REASON_IP_INADDRERRORS = 87, - SKB_DROP_REASON_IP_INNOROUTES = 88, - SKB_DROP_REASON_IP_LOCAL_SOURCE = 89, - SKB_DROP_REASON_IP_INVALID_SOURCE = 90, - SKB_DROP_REASON_IP_LOCALNET = 91, - SKB_DROP_REASON_IP_INVALID_DEST = 92, - SKB_DROP_REASON_PKT_TOO_BIG = 93, - SKB_DROP_REASON_DUP_FRAG = 94, - SKB_DROP_REASON_FRAG_REASM_TIMEOUT = 95, - SKB_DROP_REASON_FRAG_TOO_FAR = 96, - SKB_DROP_REASON_TCP_MINTTL = 97, - SKB_DROP_REASON_IPV6_BAD_EXTHDR = 98, - SKB_DROP_REASON_IPV6_NDISC_FRAG = 99, - SKB_DROP_REASON_IPV6_NDISC_HOP_LIMIT = 100, - SKB_DROP_REASON_IPV6_NDISC_BAD_CODE = 101, - SKB_DROP_REASON_IPV6_NDISC_BAD_OPTIONS = 102, - SKB_DROP_REASON_IPV6_NDISC_NS_OTHERHOST = 103, - SKB_DROP_REASON_QUEUE_PURGE = 104, - SKB_DROP_REASON_TC_COOKIE_ERROR = 105, - SKB_DROP_REASON_PACKET_SOCK_ERROR = 106, - SKB_DROP_REASON_TC_CHAIN_NOTFOUND = 107, - SKB_DROP_REASON_TC_RECLASSIFY_LOOP = 108, - SKB_DROP_REASON_VXLAN_INVALID_HDR = 109, - SKB_DROP_REASON_VXLAN_VNI_NOT_FOUND = 110, - SKB_DROP_REASON_MAC_INVALID_SOURCE = 111, - SKB_DROP_REASON_VXLAN_ENTRY_EXISTS = 112, - SKB_DROP_REASON_NO_TX_TARGET = 113, - SKB_DROP_REASON_IP_TUNNEL_ECN = 114, - SKB_DROP_REASON_TUNNEL_TXINFO = 115, - SKB_DROP_REASON_LOCAL_MAC = 116, - SKB_DROP_REASON_ARP_PVLAN_DISABLE = 117, - SKB_DROP_REASON_MAC_IEEE_MAC_CONTROL = 118, - SKB_DROP_REASON_BRIDGE_INGRESS_STP_STATE = 119, - SKB_DROP_REASON_CAN_RX_INVALID_FRAME = 120, - SKB_DROP_REASON_CANFD_RX_INVALID_FRAME = 121, - SKB_DROP_REASON_CANXL_RX_INVALID_FRAME = 122, - SKB_DROP_REASON_PFMEMALLOC = 123, - SKB_DROP_REASON_DUALPI2_STEP_DROP = 124, - SKB_DROP_REASON_MAX = 125, - SKB_DROP_REASON_SUBSYS_MASK = 4294901760, -}; - -enum skb_drop_reason_subsys { - SKB_DROP_REASON_SUBSYS_CORE = 0, - SKB_DROP_REASON_SUBSYS_MAC80211_UNUSABLE = 1, - SKB_DROP_REASON_SUBSYS_OPENVSWITCH = 2, - SKB_DROP_REASON_SUBSYS_NUM = 3, -}; - -enum skb_ext_id { - SKB_EXT_BRIDGE_NF = 0, - SKB_EXT_SEC_PATH = 1, - TC_SKB_EXT = 2, - SKB_EXT_MPTCP = 3, - SKB_EXT_MCTP = 4, - SKB_EXT_NUM = 5, -}; - -enum skb_tstamp_type { - SKB_CLOCK_REALTIME = 0, - SKB_CLOCK_MONOTONIC = 1, - SKB_CLOCK_TAI = 2, - __SKB_CLOCK_MAX = 2, -}; - -enum sknetlink_groups { - SKNLGRP_NONE = 0, - SKNLGRP_INET_TCP_DESTROY = 1, - SKNLGRP_INET_UDP_DESTROY = 2, - SKNLGRP_INET6_TCP_DESTROY = 3, - SKNLGRP_INET6_UDP_DESTROY = 4, - __SKNLGRP_MAX = 5, -}; - -enum slab_flags { - SL_locked = 0, - SL_partial = 9, - SL_pfmemalloc = 8, -}; - -enum slab_stat_type { - SL_ALL = 0, - SL_PARTIAL = 1, - SL_CPU = 2, - SL_OBJECTS = 3, - SL_TOTAL = 4, -}; - -enum slab_state { - DOWN = 0, - PARTIAL = 1, - UP = 2, - FULL = 3, -}; - -enum smbios_attr_enum { - SMBIOS_ATTR_NONE = 0, - SMBIOS_ATTR_LABEL_SHOW = 1, - SMBIOS_ATTR_INSTANCE_SHOW = 2, -}; - -enum smca_bank_types { - SMCA_LS = 0, - SMCA_LS_V2 = 1, - SMCA_IF = 2, - SMCA_L2_CACHE = 3, - SMCA_DE = 4, - SMCA_RESERVED = 5, - SMCA_EX = 6, - SMCA_FP = 7, - SMCA_L3_CACHE = 8, - SMCA_CS = 9, - SMCA_CS_V2 = 10, - SMCA_PIE = 11, - SMCA_UMC = 12, - SMCA_UMC_V2 = 13, - SMCA_MA_LLC = 14, - SMCA_PB = 15, - SMCA_PSP = 16, - SMCA_PSP_V2 = 17, - SMCA_SMU = 18, - SMCA_SMU_V2 = 19, - SMCA_MP5 = 20, - SMCA_MPDMA = 21, - SMCA_NBIO = 22, - SMCA_PCIE = 23, - SMCA_PCIE_V2 = 24, - SMCA_XGMI_PCS = 25, - SMCA_NBIF = 26, - SMCA_SHUB = 27, - SMCA_SATA = 28, - SMCA_USB = 29, - SMCA_USR_DP = 30, - SMCA_USR_CP = 31, - SMCA_GMI_PCS = 32, - SMCA_XGMI_PHY = 33, - SMCA_WAFL_PHY = 34, - SMCA_GMI_PHY = 35, - N_SMCA_BANK_TYPES = 36, -}; - -enum smk_inos { - SMK_ROOT_INO = 2, - SMK_LOAD = 3, - SMK_CIPSO = 4, - SMK_DOI = 5, - SMK_DIRECT = 6, - SMK_AMBIENT = 7, - SMK_NET4ADDR = 8, - SMK_ONLYCAP = 9, - SMK_LOGGING = 10, - SMK_LOAD_SELF = 11, - SMK_ACCESSES = 12, - SMK_MAPPED = 13, - SMK_LOAD2 = 14, - SMK_LOAD_SELF2 = 15, - SMK_ACCESS2 = 16, - SMK_CIPSO2 = 17, - SMK_REVOKE_SUBJ = 18, - SMK_CHANGE_RULE = 19, - SMK_SYSLOG = 20, - SMK_PTRACE = 21, - SMK_NET6ADDR = 23, - SMK_RELABEL_SELF = 24, -}; - -enum smt_mitigations { - SMT_MITIGATIONS_OFF = 0, - SMT_MITIGATIONS_AUTO = 1, - SMT_MITIGATIONS_ON = 2, -}; - -enum snoop_when { - SUBMIT = 0, - COMPLETE = 1, -}; - -enum sock_flags { - SOCK_DEAD = 0, - SOCK_DONE = 1, - SOCK_URGINLINE = 2, - SOCK_KEEPOPEN = 3, - SOCK_LINGER = 4, - SOCK_DESTROY = 5, - SOCK_BROADCAST = 6, - SOCK_TIMESTAMP = 7, - SOCK_ZAPPED = 8, - SOCK_USE_WRITE_QUEUE = 9, - SOCK_DBG = 10, - SOCK_RCVTSTAMP = 11, - SOCK_RCVTSTAMPNS = 12, - SOCK_LOCALROUTE = 13, - SOCK_MEMALLOC = 14, - SOCK_TIMESTAMPING_RX_SOFTWARE = 15, - SOCK_FASYNC = 16, - SOCK_RXQ_OVFL = 17, - SOCK_ZEROCOPY = 18, - SOCK_WIFI_STATUS = 19, - SOCK_NOFCS = 20, - SOCK_FILTER_LOCKED = 21, - SOCK_SELECT_ERR_QUEUE = 22, - SOCK_RCU_FREE = 23, - SOCK_TXTIME = 24, - SOCK_XDP = 25, - SOCK_TSTAMP_NEW = 26, - SOCK_RCVMARK = 27, - SOCK_RCVPRIORITY = 28, - SOCK_TIMESTAMPING_ANY = 29, -}; - -enum sock_shutdown_cmd { - SHUT_RD = 0, - SHUT_WR = 1, - SHUT_RDWR = 2, -}; - -enum sock_type { - SOCK_STREAM = 1, - SOCK_DGRAM = 2, - SOCK_RAW = 3, - SOCK_RDM = 4, - SOCK_SEQPACKET = 5, - SOCK_DCCP = 6, - SOCK_PACKET = 10, -}; - -enum socket_flags { - SOCKWQ_ASYNC_NOSPACE = 0, - SOCKWQ_ASYNC_WAITDATA = 1, - SOCK_NOSPACE = 2, - SOCK_SUPPORT_ZC = 3, - SOCK_CUSTOM_SOCKOPT = 4, -}; - -enum special_kfunc_type { - KF_bpf_obj_new_impl = 0, - KF_bpf_obj_drop_impl = 1, - KF_bpf_refcount_acquire_impl = 2, - KF_bpf_list_push_front_impl = 3, - KF_bpf_list_push_back_impl = 4, - KF_bpf_list_pop_front = 5, - KF_bpf_list_pop_back = 6, - KF_bpf_list_front = 7, - KF_bpf_list_back = 8, - KF_bpf_cast_to_kern_ctx = 9, - KF_bpf_rdonly_cast = 10, - KF_bpf_rcu_read_lock = 11, - KF_bpf_rcu_read_unlock = 12, - KF_bpf_rbtree_remove = 13, - KF_bpf_rbtree_add_impl = 14, - KF_bpf_rbtree_first = 15, - KF_bpf_rbtree_root = 16, - KF_bpf_rbtree_left = 17, - KF_bpf_rbtree_right = 18, - KF_bpf_dynptr_from_skb = 19, - KF_bpf_dynptr_from_xdp = 20, - KF_bpf_dynptr_slice = 21, - KF_bpf_dynptr_slice_rdwr = 22, - KF_bpf_dynptr_clone = 23, - KF_bpf_percpu_obj_new_impl = 24, - KF_bpf_percpu_obj_drop_impl = 25, - KF_bpf_throw = 26, - KF_bpf_wq_set_callback_impl = 27, - KF_bpf_preempt_disable = 28, - KF_bpf_preempt_enable = 29, - KF_bpf_iter_css_task_new = 30, - KF_bpf_session_cookie = 31, - KF_bpf_get_kmem_cache = 32, - KF_bpf_local_irq_save = 33, - KF_bpf_local_irq_restore = 34, - KF_bpf_iter_num_new = 35, - KF_bpf_iter_num_next = 36, - KF_bpf_iter_num_destroy = 37, - KF_bpf_set_dentry_xattr = 38, - KF_bpf_remove_dentry_xattr = 39, - KF_bpf_res_spin_lock = 40, - KF_bpf_res_spin_unlock = 41, - KF_bpf_res_spin_lock_irqsave = 42, - KF_bpf_res_spin_unlock_irqrestore = 43, - KF___bpf_trap = 44, -}; - -enum spectre_v1_mitigation { - SPECTRE_V1_MITIGATION_NONE = 0, - SPECTRE_V1_MITIGATION_AUTO = 1, -}; - -enum spectre_v2_mitigation { - SPECTRE_V2_NONE = 0, - SPECTRE_V2_RETPOLINE = 1, - SPECTRE_V2_LFENCE = 2, - SPECTRE_V2_EIBRS = 3, - SPECTRE_V2_EIBRS_RETPOLINE = 4, - SPECTRE_V2_EIBRS_LFENCE = 5, - SPECTRE_V2_IBRS = 6, -}; - -enum spectre_v2_mitigation_cmd { - SPECTRE_V2_CMD_NONE = 0, - SPECTRE_V2_CMD_AUTO = 1, - SPECTRE_V2_CMD_FORCE = 2, - SPECTRE_V2_CMD_RETPOLINE = 3, - SPECTRE_V2_CMD_RETPOLINE_GENERIC = 4, - SPECTRE_V2_CMD_RETPOLINE_LFENCE = 5, - SPECTRE_V2_CMD_EIBRS = 6, - SPECTRE_V2_CMD_EIBRS_RETPOLINE = 7, - SPECTRE_V2_CMD_EIBRS_LFENCE = 8, - SPECTRE_V2_CMD_IBRS = 9, -}; - -enum spectre_v2_user_cmd { - SPECTRE_V2_USER_CMD_NONE = 0, - SPECTRE_V2_USER_CMD_AUTO = 1, - SPECTRE_V2_USER_CMD_FORCE = 2, - SPECTRE_V2_USER_CMD_PRCTL = 3, - SPECTRE_V2_USER_CMD_PRCTL_IBPB = 4, - SPECTRE_V2_USER_CMD_SECCOMP = 5, - SPECTRE_V2_USER_CMD_SECCOMP_IBPB = 6, -}; - -enum spectre_v2_user_mitigation { - SPECTRE_V2_USER_NONE = 0, - SPECTRE_V2_USER_STRICT = 1, - SPECTRE_V2_USER_STRICT_PREFERRED = 2, - SPECTRE_V2_USER_PRCTL = 3, - SPECTRE_V2_USER_SECCOMP = 4, -}; - -enum spi_mem_data_dir { - SPI_MEM_NO_DATA = 0, - SPI_MEM_DATA_IN = 1, - SPI_MEM_DATA_OUT = 2, -}; - -enum spi_offload_trigger_type { - SPI_OFFLOAD_TRIGGER_DATA_READY = 0, - SPI_OFFLOAD_TRIGGER_PERIODIC = 1, -}; - -enum split_lock_detect_state { - sld_off = 0, - sld_warn = 1, - sld_fatal = 2, - sld_ratelimit = 3, -}; - -enum squashfs_param { - Opt_errors___3 = 0, - Opt_threads = 1, -}; - -enum sr_retry_flags { - IORING_RECV_RETRY = 32768, - IORING_RECV_PARTIAL_MAP = 16384, - IORING_RECV_MSHOT_CAP = 8192, - IORING_RECV_MSHOT_LIM = 4096, - IORING_RECV_MSHOT_DONE = 2048, - IORING_RECV_RETRY_CLEAR = 49152, - IORING_RECV_NO_RETRY = 59392, -}; - -enum srbds_mitigations { - SRBDS_MITIGATION_OFF = 0, - SRBDS_MITIGATION_AUTO = 1, - SRBDS_MITIGATION_UCODE_NEEDED = 2, - SRBDS_MITIGATION_FULL = 3, - SRBDS_MITIGATION_TSX_OFF = 4, - SRBDS_MITIGATION_HYPERVISOR = 5, -}; - -enum srso_mitigation { - SRSO_MITIGATION_NONE = 0, - SRSO_MITIGATION_AUTO = 1, - SRSO_MITIGATION_UCODE_NEEDED = 2, - SRSO_MITIGATION_SAFE_RET_UCODE_NEEDED = 3, - SRSO_MITIGATION_MICROCODE = 4, - SRSO_MITIGATION_NOSMT = 5, - SRSO_MITIGATION_SAFE_RET = 6, - SRSO_MITIGATION_IBPB = 7, - SRSO_MITIGATION_IBPB_ON_VMEXIT = 8, - SRSO_MITIGATION_BP_SPEC_REDUCE = 9, -}; - -enum ssb_mitigation { - SPEC_STORE_BYPASS_NONE = 0, - SPEC_STORE_BYPASS_DISABLE = 1, - SPEC_STORE_BYPASS_PRCTL = 2, - SPEC_STORE_BYPASS_SECCOMP = 3, -}; - -enum ssb_mitigation_cmd { - SPEC_STORE_BYPASS_CMD_NONE = 0, - SPEC_STORE_BYPASS_CMD_AUTO = 1, - SPEC_STORE_BYPASS_CMD_ON = 2, - SPEC_STORE_BYPASS_CMD_PRCTL = 3, - SPEC_STORE_BYPASS_CMD_SECCOMP = 4, -}; - -enum stack_type { - STACK_TYPE_UNKNOWN = 0, - STACK_TYPE_TASK = 1, - STACK_TYPE_IRQ = 2, - STACK_TYPE_SOFTIRQ = 3, - STACK_TYPE_ENTRY = 4, - STACK_TYPE_EXCEPTION = 5, - STACK_TYPE_EXCEPTION_LAST = 10, -}; - -enum stat_group { - STAT_READ = 0, - STAT_WRITE = 1, - STAT_DISCARD = 2, - STAT_FLUSH = 3, - NR_STAT_GROUPS = 4, -}; - -enum stat_item { - ALLOC_FASTPATH = 0, - ALLOC_SLOWPATH = 1, - FREE_FASTPATH = 2, - FREE_SLOWPATH = 3, - FREE_FROZEN = 4, - FREE_ADD_PARTIAL = 5, - FREE_REMOVE_PARTIAL = 6, - ALLOC_FROM_PARTIAL = 7, - ALLOC_SLAB = 8, - ALLOC_REFILL = 9, - ALLOC_NODE_MISMATCH = 10, - FREE_SLAB = 11, - CPUSLAB_FLUSH = 12, - DEACTIVATE_FULL = 13, - DEACTIVATE_EMPTY = 14, - DEACTIVATE_TO_HEAD = 15, - DEACTIVATE_TO_TAIL = 16, - DEACTIVATE_REMOTE_FREES = 17, - DEACTIVATE_BYPASS = 18, - ORDER_FALLBACK = 19, - CMPXCHG_DOUBLE_CPU_FAIL = 20, - CMPXCHG_DOUBLE_FAIL = 21, - CPU_PARTIAL_ALLOC = 22, - CPU_PARTIAL_FREE = 23, - CPU_PARTIAL_NODE = 24, - CPU_PARTIAL_DRAIN = 25, - NR_SLUB_STAT_ITEMS = 26, -}; - -enum state { - Start = 0, - Collect = 1, - GotHeader = 2, - SkipIt = 3, - GotName = 4, - CopyFile = 5, - GotSymlink = 6, - Reset = 7, -}; - -enum states_wwnr { - not_running_wwnr = 0, - running_wwnr = 1, - state_max_wwnr = 2, -}; - -enum store_type { - wr_invalid = 0, - wr_new_root = 1, - wr_store_root = 2, - wr_exact_fit = 3, - wr_spanning_store = 4, - wr_split_store = 5, - wr_rebalance = 6, - wr_append = 7, - wr_node_store = 8, - wr_slot_store = 9, -}; - -enum string_size_units { - STRING_UNITS_10 = 0, - STRING_UNITS_2 = 1, - STRING_UNITS_MASK = 1, - STRING_UNITS_NO_SPACE = 1073741824, - STRING_UNITS_NO_BYTES = 2147483648, -}; - -enum subpixel_order { - SubPixelUnknown = 0, - SubPixelHorizontalRGB = 1, - SubPixelHorizontalBGR = 2, - SubPixelVerticalRGB = 3, - SubPixelVerticalBGR = 4, - SubPixelNone = 5, -}; - -enum sum_check_bits { - SUM_CHECK_P = 0, - SUM_CHECK_Q = 1, -}; - -enum sum_check_flags { - SUM_CHECK_P_RESULT = 1, - SUM_CHECK_Q_RESULT = 2, -}; - -enum super_iter_flags_t { - SUPER_ITER_EXCL = 1, - SUPER_ITER_UNLOCKED = 2, - SUPER_ITER_REVERSE = 4, -}; - -enum support_mode { - ALLOW_LEGACY = 0, - DENY_LEGACY = 1, -}; - -enum suspend_mode { - PRESUSPEND = 0, - PRESUSPEND_UNDO = 1, - POSTSUSPEND = 2, -}; - -enum suspend_stat_step { - SUSPEND_WORKING = 0, - SUSPEND_FREEZE = 1, - SUSPEND_PREPARE = 2, - SUSPEND_SUSPEND = 3, - SUSPEND_SUSPEND_LATE = 4, - SUSPEND_SUSPEND_NOIRQ = 5, - SUSPEND_RESUME_NOIRQ = 6, - SUSPEND_RESUME_EARLY = 7, - SUSPEND_RESUME = 8, -}; - -enum svc_auth_status { - SVC_GARBAGE = 1, - SVC_VALID = 2, - SVC_NEGATIVE = 3, - SVC_OK = 4, - SVC_DROP = 5, - SVC_CLOSE = 6, - SVC_DENIED = 7, - SVC_PENDING = 8, - SVC_COMPLETE = 9, -}; - -enum sw_activity { - OFF = 0, - BLINK_ON = 1, - BLINK_OFF = 2, -}; - -enum swap_cluster_flags { - CLUSTER_FLAG_NONE = 0, - CLUSTER_FLAG_FREE = 1, - CLUSTER_FLAG_NONFULL = 2, - CLUSTER_FLAG_FRAG = 3, - CLUSTER_FLAG_USABLE = 3, - CLUSTER_FLAG_FULL = 4, - CLUSTER_FLAG_DISCARD = 5, - CLUSTER_FLAG_MAX = 6, -}; - -enum switch_power_state { - DRM_SWITCH_POWER_ON = 0, - DRM_SWITCH_POWER_OFF = 1, - DRM_SWITCH_POWER_CHANGING = 2, - DRM_SWITCH_POWER_DYNAMIC_OFF = 3, -}; - -enum switchdev_attr_id { - SWITCHDEV_ATTR_ID_UNDEFINED = 0, - SWITCHDEV_ATTR_ID_PORT_STP_STATE = 1, - SWITCHDEV_ATTR_ID_PORT_MST_STATE = 2, - SWITCHDEV_ATTR_ID_PORT_BRIDGE_FLAGS = 3, - SWITCHDEV_ATTR_ID_PORT_PRE_BRIDGE_FLAGS = 4, - SWITCHDEV_ATTR_ID_PORT_MROUTER = 5, - SWITCHDEV_ATTR_ID_BRIDGE_AGEING_TIME = 6, - SWITCHDEV_ATTR_ID_BRIDGE_VLAN_FILTERING = 7, - SWITCHDEV_ATTR_ID_BRIDGE_VLAN_PROTOCOL = 8, - SWITCHDEV_ATTR_ID_BRIDGE_MC_DISABLED = 9, - SWITCHDEV_ATTR_ID_BRIDGE_MROUTER = 10, - SWITCHDEV_ATTR_ID_BRIDGE_MST = 11, - SWITCHDEV_ATTR_ID_MRP_PORT_ROLE = 12, - SWITCHDEV_ATTR_ID_VLAN_MSTI = 13, -}; - -enum switchdev_notifier_type { - SWITCHDEV_FDB_ADD_TO_BRIDGE = 1, - SWITCHDEV_FDB_DEL_TO_BRIDGE = 2, - SWITCHDEV_FDB_ADD_TO_DEVICE = 3, - SWITCHDEV_FDB_DEL_TO_DEVICE = 4, - SWITCHDEV_FDB_OFFLOADED = 5, - SWITCHDEV_FDB_FLUSH_TO_BRIDGE = 6, - SWITCHDEV_PORT_OBJ_ADD = 7, - SWITCHDEV_PORT_OBJ_DEL = 8, - SWITCHDEV_PORT_ATTR_SET = 9, - SWITCHDEV_VXLAN_FDB_ADD_TO_BRIDGE = 10, - SWITCHDEV_VXLAN_FDB_DEL_TO_BRIDGE = 11, - SWITCHDEV_VXLAN_FDB_ADD_TO_DEVICE = 12, - SWITCHDEV_VXLAN_FDB_DEL_TO_DEVICE = 13, - SWITCHDEV_VXLAN_FDB_OFFLOADED = 14, - SWITCHDEV_BRPORT_OFFLOADED = 15, - SWITCHDEV_BRPORT_UNOFFLOADED = 16, - SWITCHDEV_BRPORT_REPLAY = 17, -}; - -enum switchdev_obj_id { - SWITCHDEV_OBJ_ID_UNDEFINED = 0, - SWITCHDEV_OBJ_ID_PORT_VLAN = 1, - SWITCHDEV_OBJ_ID_PORT_MDB = 2, - SWITCHDEV_OBJ_ID_HOST_MDB = 3, - SWITCHDEV_OBJ_ID_MRP = 4, - SWITCHDEV_OBJ_ID_RING_TEST_MRP = 5, - SWITCHDEV_OBJ_ID_RING_ROLE_MRP = 6, - SWITCHDEV_OBJ_ID_RING_STATE_MRP = 7, - SWITCHDEV_OBJ_ID_IN_TEST_MRP = 8, - SWITCHDEV_OBJ_ID_IN_ROLE_MRP = 9, - SWITCHDEV_OBJ_ID_IN_STATE_MRP = 10, -}; - -enum sync_action { - ACTION_RESYNC = 0, - ACTION_RECOVER = 1, - ACTION_CHECK = 2, - ACTION_REPAIR = 3, - ACTION_RESHAPE = 4, - ACTION_FROZEN = 5, - ACTION_IDLE = 6, - NR_SYNC_ACTIONS = 7, -}; - -enum sys_off_mode { - SYS_OFF_MODE_POWER_OFF_PREPARE = 0, - SYS_OFF_MODE_POWER_OFF = 1, - SYS_OFF_MODE_RESTART_PREPARE = 2, - SYS_OFF_MODE_RESTART = 3, -}; - -enum syscall_work_bit { - SYSCALL_WORK_BIT_SECCOMP = 0, - SYSCALL_WORK_BIT_SYSCALL_TRACEPOINT = 1, - SYSCALL_WORK_BIT_SYSCALL_TRACE = 2, - SYSCALL_WORK_BIT_SYSCALL_EMU = 3, - SYSCALL_WORK_BIT_SYSCALL_AUDIT = 4, - SYSCALL_WORK_BIT_SYSCALL_USER_DISPATCH = 5, - SYSCALL_WORK_BIT_SYSCALL_EXIT_TRAP = 6, -}; - -enum sysctl_writes_mode { - SYSCTL_WRITES_LEGACY = -1, - SYSCTL_WRITES_WARN = 0, - SYSCTL_WRITES_STRICT = 1, -}; - -enum system_states { - SYSTEM_BOOTING = 0, - SYSTEM_SCHEDULING = 1, - SYSTEM_FREEING_INITMEM = 2, - SYSTEM_RUNNING = 3, - SYSTEM_HALT = 4, - SYSTEM_POWER_OFF = 5, - SYSTEM_RESTART = 6, - SYSTEM_SUSPEND = 7, -}; - -enum t10_dif_type { - T10_PI_TYPE0_PROTECTION = 0, - T10_PI_TYPE1_PROTECTION = 1, - T10_PI_TYPE2_PROTECTION = 2, - T10_PI_TYPE3_PROTECTION = 3, -}; - -enum taa_mitigations { - TAA_MITIGATION_OFF = 0, - TAA_MITIGATION_AUTO = 1, - TAA_MITIGATION_UCODE_NEEDED = 2, - TAA_MITIGATION_VERW = 3, - TAA_MITIGATION_TSX_DISABLED = 4, -}; - -enum task_work_notify_mode { - TWA_NONE = 0, - TWA_RESUME = 1, - TWA_SIGNAL = 2, - TWA_SIGNAL_NO_IPI = 3, - TWA_NMI_CURRENT = 4, -}; - -enum tc_fifo_command { - TC_FIFO_REPLACE = 0, - TC_FIFO_DESTROY = 1, - TC_FIFO_STATS = 2, -}; - -enum tc_link_layer { - TC_LINKLAYER_UNAWARE = 0, - TC_LINKLAYER_ETHERNET = 1, - TC_LINKLAYER_ATM = 2, -}; - -enum tc_mq_command { - TC_MQ_CREATE = 0, - TC_MQ_DESTROY = 1, - TC_MQ_STATS = 2, - TC_MQ_GRAFT = 3, -}; - -enum tc_root_command { - TC_ROOT_GRAFT = 0, -}; - -enum tc_setup_type { - TC_QUERY_CAPS = 0, - TC_SETUP_QDISC_MQPRIO = 1, - TC_SETUP_CLSU32 = 2, - TC_SETUP_CLSFLOWER = 3, - TC_SETUP_CLSMATCHALL = 4, - TC_SETUP_CLSBPF = 5, - TC_SETUP_BLOCK = 6, - TC_SETUP_QDISC_CBS = 7, - TC_SETUP_QDISC_RED = 8, - TC_SETUP_QDISC_PRIO = 9, - TC_SETUP_QDISC_MQ = 10, - TC_SETUP_QDISC_ETF = 11, - TC_SETUP_ROOT_QDISC = 12, - TC_SETUP_QDISC_GRED = 13, - TC_SETUP_QDISC_TAPRIO = 14, - TC_SETUP_FT = 15, - TC_SETUP_QDISC_ETS = 16, - TC_SETUP_QDISC_TBF = 17, - TC_SETUP_QDISC_FIFO = 18, - TC_SETUP_QDISC_HTB = 19, - TC_SETUP_ACT = 20, -}; - -enum tca_id { - TCA_ID_UNSPEC = 0, - TCA_ID_POLICE = 1, - TCA_ID_GACT = 5, - TCA_ID_IPT = 6, - TCA_ID_PEDIT = 7, - TCA_ID_MIRRED = 8, - TCA_ID_NAT = 9, - TCA_ID_XT = 10, - TCA_ID_SKBEDIT = 11, - TCA_ID_VLAN = 12, - TCA_ID_BPF = 13, - TCA_ID_CONNMARK = 14, - TCA_ID_SKBMOD = 15, - TCA_ID_CSUM = 16, - TCA_ID_TUNNEL_KEY = 17, - TCA_ID_SIMP = 22, - TCA_ID_IFE = 25, - TCA_ID_SAMPLE = 26, - TCA_ID_CTINFO = 27, - TCA_ID_MPLS = 28, - TCA_ID_CT = 29, - TCA_ID_GATE = 30, - __TCA_ID_MAX = 255, -}; - -enum tcf_proto_ops_flags { - TCF_PROTO_OPS_DOIT_UNLOCKED = 1, -}; - -enum tcp_ca_ack_event_flags { - CA_ACK_SLOWPATH = 1, - CA_ACK_WIN_UPDATE = 2, - CA_ACK_ECE = 4, -}; - -enum tcp_ca_event { - CA_EVENT_TX_START = 0, - CA_EVENT_CWND_RESTART = 1, - CA_EVENT_COMPLETE_CWR = 2, - CA_EVENT_LOSS = 3, - CA_EVENT_ECN_NO_CE = 4, - CA_EVENT_ECN_IS_CE = 5, -}; - -enum tcp_ca_state { - TCP_CA_Open = 0, - TCP_CA_Disorder = 1, - TCP_CA_CWR = 2, - TCP_CA_Recovery = 3, - TCP_CA_Loss = 4, -}; - -enum tcp_chrono { - TCP_CHRONO_UNSPEC = 0, - TCP_CHRONO_BUSY = 1, - TCP_CHRONO_RWND_LIMITED = 2, - TCP_CHRONO_SNDBUF_LIMITED = 3, - __TCP_CHRONO_MAX = 4, -}; - -enum tcp_conntrack { - TCP_CONNTRACK_NONE = 0, - TCP_CONNTRACK_SYN_SENT = 1, - TCP_CONNTRACK_SYN_RECV = 2, - TCP_CONNTRACK_ESTABLISHED = 3, - TCP_CONNTRACK_FIN_WAIT = 4, - TCP_CONNTRACK_CLOSE_WAIT = 5, - TCP_CONNTRACK_LAST_ACK = 6, - TCP_CONNTRACK_TIME_WAIT = 7, - TCP_CONNTRACK_CLOSE = 8, - TCP_CONNTRACK_LISTEN = 9, - TCP_CONNTRACK_MAX = 10, - TCP_CONNTRACK_IGNORE = 11, - TCP_CONNTRACK_RETRANS = 12, - TCP_CONNTRACK_UNACK = 13, - TCP_CONNTRACK_TIMEOUT_MAX = 14, -}; - -enum tcp_fastopen_client_fail { - TFO_STATUS_UNSPEC = 0, - TFO_COOKIE_UNAVAILABLE = 1, - TFO_DATA_NOT_ACKED = 2, - TFO_SYN_RETRANSMITTED = 3, -}; - -enum tcp_metric_index { - TCP_METRIC_RTT = 0, - TCP_METRIC_RTTVAR = 1, - TCP_METRIC_SSTHRESH = 2, - TCP_METRIC_CWND = 3, - TCP_METRIC_REORDERING = 4, - TCP_METRIC_RTT_US = 5, - TCP_METRIC_RTTVAR_US = 6, - __TCP_METRIC_MAX = 7, -}; - -enum tcp_queue { - TCP_FRAG_IN_WRITE_QUEUE = 0, - TCP_FRAG_IN_RTX_QUEUE = 1, -}; - -enum tcp_seq_states { - TCP_SEQ_STATE_LISTENING = 0, - TCP_SEQ_STATE_ESTABLISHED = 1, -}; - -enum tcp_skb_cb_sacked_flags { - TCPCB_SACKED_ACKED = 1, - TCPCB_SACKED_RETRANS = 2, - TCPCB_LOST = 4, - TCPCB_TAGBITS = 7, - TCPCB_REPAIRED = 16, - TCPCB_EVER_RETRANS = 128, - TCPCB_RETRANS = 146, -}; - -enum tcp_synack_type { - TCP_SYNACK_NORMAL = 0, - TCP_SYNACK_FASTOPEN = 1, - TCP_SYNACK_COOKIE = 2, -}; - -enum tcp_tw_status { - TCP_TW_SUCCESS = 0, - TCP_TW_RST = 1, - TCP_TW_ACK = 2, - TCP_TW_SYN = 3, - TCP_TW_ACK_OOW = 4, -}; - -enum tcpa_event_types { - PREBOOT = 0, - POST_CODE = 1, - UNUSED = 2, - NO_ACTION = 3, - SEPARATOR = 4, - ACTION = 5, - EVENT_TAG = 6, - SCRTM_CONTENTS = 7, - SCRTM_VERSION = 8, - CPU_MICROCODE = 9, - PLATFORM_CONFIG_FLAGS = 10, - TABLE_OF_DEVICES = 11, - COMPACT_HASH = 12, - IPL = 13, - IPL_PARTITION_DATA = 14, - NONHOST_CODE = 15, - NONHOST_CONFIG = 16, - NONHOST_INFO = 17, -}; - -enum tcpa_pc_event_ids { - SMBIOS = 1, - BIS_CERT = 2, - POST_BIOS_ROM = 3, - ESCD = 4, - CMOS = 5, - NVRAM = 6, - OPTION_ROM_EXEC = 7, - OPTION_ROM_CONFIG = 8, - OPTION_ROM_MICROCODE = 10, - S_CRTM_VERSION = 11, - S_CRTM_CONTENTS = 12, - POST_CONTENTS = 13, - HOST_TABLE_OF_DEVICES = 14, -}; - -enum tcx_action_base { - TCX_NEXT = -1, - TCX_PASS = 0, - TCX_DROP = 2, - TCX_REDIRECT = 7, -}; - -enum tdx_module_status_t { - TDX_MODULE_UNINITIALIZED = 0, - TDX_MODULE_INITIALIZED = 1, - TDX_MODULE_ERROR = 2, -}; - -enum tg_state_flags { - THROTL_TG_PENDING = 1, - THROTL_TG_WAS_EMPTY = 2, - THROTL_TG_IOPS_WAS_EMPTY = 4, - THROTL_TG_CANCELING = 8, -}; - -enum thermal_device_mode { - THERMAL_DEVICE_DISABLED = 0, - THERMAL_DEVICE_ENABLED = 1, -}; - -enum thermal_genl_attr { - THERMAL_GENL_ATTR_UNSPEC = 0, - THERMAL_GENL_ATTR_TZ = 1, - THERMAL_GENL_ATTR_TZ_ID = 2, - THERMAL_GENL_ATTR_TZ_TEMP = 3, - THERMAL_GENL_ATTR_TZ_TRIP = 4, - THERMAL_GENL_ATTR_TZ_TRIP_ID = 5, - THERMAL_GENL_ATTR_TZ_TRIP_TYPE = 6, - THERMAL_GENL_ATTR_TZ_TRIP_TEMP = 7, - THERMAL_GENL_ATTR_TZ_TRIP_HYST = 8, - THERMAL_GENL_ATTR_TZ_MODE = 9, - THERMAL_GENL_ATTR_TZ_NAME = 10, - THERMAL_GENL_ATTR_TZ_CDEV_WEIGHT = 11, - THERMAL_GENL_ATTR_TZ_GOV = 12, - THERMAL_GENL_ATTR_TZ_GOV_NAME = 13, - THERMAL_GENL_ATTR_CDEV = 14, - THERMAL_GENL_ATTR_CDEV_ID = 15, - THERMAL_GENL_ATTR_CDEV_CUR_STATE = 16, - THERMAL_GENL_ATTR_CDEV_MAX_STATE = 17, - THERMAL_GENL_ATTR_CDEV_NAME = 18, - THERMAL_GENL_ATTR_GOV_NAME = 19, - THERMAL_GENL_ATTR_CPU_CAPABILITY = 20, - THERMAL_GENL_ATTR_CPU_CAPABILITY_ID = 21, - THERMAL_GENL_ATTR_CPU_CAPABILITY_PERFORMANCE = 22, - THERMAL_GENL_ATTR_CPU_CAPABILITY_EFFICIENCY = 23, - THERMAL_GENL_ATTR_THRESHOLD = 24, - THERMAL_GENL_ATTR_THRESHOLD_TEMP = 25, - THERMAL_GENL_ATTR_THRESHOLD_DIRECTION = 26, - THERMAL_GENL_ATTR_TZ_PREV_TEMP = 27, - __THERMAL_GENL_ATTR_MAX = 28, -}; - -enum thermal_genl_cmd { - THERMAL_GENL_CMD_UNSPEC = 0, - THERMAL_GENL_CMD_TZ_GET_ID = 1, - THERMAL_GENL_CMD_TZ_GET_TRIP = 2, - THERMAL_GENL_CMD_TZ_GET_TEMP = 3, - THERMAL_GENL_CMD_TZ_GET_GOV = 4, - THERMAL_GENL_CMD_TZ_GET_MODE = 5, - THERMAL_GENL_CMD_CDEV_GET = 6, - THERMAL_GENL_CMD_THRESHOLD_GET = 7, - THERMAL_GENL_CMD_THRESHOLD_ADD = 8, - THERMAL_GENL_CMD_THRESHOLD_DELETE = 9, - THERMAL_GENL_CMD_THRESHOLD_FLUSH = 10, - __THERMAL_GENL_CMD_MAX = 11, -}; - -enum thermal_genl_event { - THERMAL_GENL_EVENT_UNSPEC = 0, - THERMAL_GENL_EVENT_TZ_CREATE = 1, - THERMAL_GENL_EVENT_TZ_DELETE = 2, - THERMAL_GENL_EVENT_TZ_DISABLE = 3, - THERMAL_GENL_EVENT_TZ_ENABLE = 4, - THERMAL_GENL_EVENT_TZ_TRIP_UP = 5, - THERMAL_GENL_EVENT_TZ_TRIP_DOWN = 6, - THERMAL_GENL_EVENT_TZ_TRIP_CHANGE = 7, - THERMAL_GENL_EVENT_TZ_TRIP_ADD = 8, - THERMAL_GENL_EVENT_TZ_TRIP_DELETE = 9, - THERMAL_GENL_EVENT_CDEV_ADD = 10, - THERMAL_GENL_EVENT_CDEV_DELETE = 11, - THERMAL_GENL_EVENT_CDEV_STATE_UPDATE = 12, - THERMAL_GENL_EVENT_TZ_GOV_CHANGE = 13, - THERMAL_GENL_EVENT_CPU_CAPABILITY_CHANGE = 14, - THERMAL_GENL_EVENT_THRESHOLD_ADD = 15, - THERMAL_GENL_EVENT_THRESHOLD_DELETE = 16, - THERMAL_GENL_EVENT_THRESHOLD_FLUSH = 17, - THERMAL_GENL_EVENT_THRESHOLD_UP = 18, - THERMAL_GENL_EVENT_THRESHOLD_DOWN = 19, - __THERMAL_GENL_EVENT_MAX = 20, -}; - -enum thermal_genl_multicast_groups { - THERMAL_GENL_SAMPLING_GROUP = 0, - THERMAL_GENL_EVENT_GROUP = 1, - THERMAL_GENL_MAX_GROUP = 1, -}; - -enum thermal_genl_sampling { - THERMAL_GENL_SAMPLING_TEMP = 0, - __THERMAL_GENL_SAMPLING_MAX = 1, -}; - -enum thermal_notify_event { - THERMAL_EVENT_UNSPECIFIED = 0, - THERMAL_EVENT_TEMP_SAMPLE = 1, - THERMAL_TRIP_VIOLATED = 2, - THERMAL_TRIP_CHANGED = 3, - THERMAL_DEVICE_DOWN = 4, - THERMAL_DEVICE_UP = 5, - THERMAL_DEVICE_POWER_CAPABILITY_CHANGED = 6, - THERMAL_TABLE_CHANGED = 7, - THERMAL_EVENT_KEEP_ALIVE = 8, - THERMAL_TZ_BIND_CDEV = 9, - THERMAL_TZ_UNBIND_CDEV = 10, - THERMAL_INSTANCE_WEIGHT_CHANGED = 11, - THERMAL_TZ_RESUME = 12, - THERMAL_TZ_ADD_THRESHOLD = 13, - THERMAL_TZ_DEL_THRESHOLD = 14, - THERMAL_TZ_FLUSH_THRESHOLDS = 15, -}; - -enum thermal_trend { - THERMAL_TREND_STABLE = 0, - THERMAL_TREND_RAISING = 1, - THERMAL_TREND_DROPPING = 2, -}; - -enum thermal_trip_type { - THERMAL_TRIP_ACTIVE = 0, - THERMAL_TRIP_PASSIVE = 1, - THERMAL_TRIP_HOT = 2, - THERMAL_TRIP_CRITICAL = 3, -}; - -enum tick_broadcast_mode { - TICK_BROADCAST_OFF = 0, - TICK_BROADCAST_ON = 1, - TICK_BROADCAST_FORCE = 2, -}; - -enum tick_broadcast_state { - TICK_BROADCAST_EXIT = 0, - TICK_BROADCAST_ENTER = 1, -}; - -enum tick_dep_bits { - TICK_DEP_BIT_POSIX_TIMER = 0, - TICK_DEP_BIT_PERF_EVENTS = 1, - TICK_DEP_BIT_SCHED = 2, - TICK_DEP_BIT_CLOCK_UNSTABLE = 3, - TICK_DEP_BIT_RCU = 4, - TICK_DEP_BIT_RCU_EXP = 5, -}; - -enum tick_device_mode { - TICKDEV_MODE_PERIODIC = 0, - TICKDEV_MODE_ONESHOT = 1, -}; - -enum timekeeper_ids { - TIMEKEEPER_CORE = 0, - TIMEKEEPER_AUX_FIRST = 1, - TIMEKEEPER_AUX_LAST = 8, - TIMEKEEPERS_MAX = 9, -}; - -enum timekeeping_adv_mode { - TK_ADV_TICK = 0, - TK_ADV_FREQ = 1, -}; - -enum timespec_type { - TT_NONE = 0, - TT_NATIVE = 1, - TT_COMPAT = 2, -}; - -enum tis_access { - TPM_ACCESS_VALID = 128, - TPM_ACCESS_ACTIVE_LOCALITY = 32, - TPM_ACCESS_REQUEST_PENDING = 4, - TPM_ACCESS_REQUEST_USE = 2, -}; - -enum tis_defaults { - TIS_MEM_LEN = 20480, - TIS_SHORT_TIMEOUT = 750, - TIS_LONG_TIMEOUT = 4000, - TIS_TIMEOUT_MIN_ATML = 14700, - TIS_TIMEOUT_MAX_ATML = 15000, -}; - -enum tis_int_flags { - TPM_GLOBAL_INT_ENABLE = 2147483648, - TPM_INTF_BURST_COUNT_STATIC = 256, - TPM_INTF_CMD_READY_INT = 128, - TPM_INTF_INT_EDGE_FALLING = 64, - TPM_INTF_INT_EDGE_RISING = 32, - TPM_INTF_INT_LEVEL_LOW = 16, - TPM_INTF_INT_LEVEL_HIGH = 8, - TPM_INTF_LOCALITY_CHANGE_INT = 4, - TPM_INTF_STS_VALID_INT = 2, - TPM_INTF_DATA_AVAIL_INT = 1, -}; - -enum tis_status { - TPM_STS_VALID = 128, - TPM_STS_COMMAND_READY = 64, - TPM_STS_GO = 32, - TPM_STS_DATA_AVAIL = 16, - TPM_STS_DATA_EXPECT = 8, - TPM_STS_RESPONSE_RETRY = 2, - TPM_STS_READ_ZERO = 35, -}; - -enum tk_offsets { - TK_OFFS_REAL = 0, - TK_OFFS_BOOT = 1, - TK_OFFS_TAI = 2, - TK_OFFS_MAX = 3, -}; - -enum tlb_flush_reason { - TLB_FLUSH_ON_TASK_SWITCH = 0, - TLB_REMOTE_SHOOTDOWN = 1, - TLB_LOCAL_SHOOTDOWN = 2, - TLB_LOCAL_MM_SHOOTDOWN = 3, - TLB_REMOTE_SEND_IPI = 4, - TLB_REMOTE_WRONG_CPU = 5, - NR_TLB_FLUSH_REASONS = 6, -}; - -enum tls_offload_ctx_dir { - TLS_OFFLOAD_CTX_DIR_RX = 0, - TLS_OFFLOAD_CTX_DIR_TX = 1, -}; - -enum tomoyo_acl_entry_type_index { - TOMOYO_TYPE_PATH_ACL = 0, - TOMOYO_TYPE_PATH2_ACL = 1, - TOMOYO_TYPE_PATH_NUMBER_ACL = 2, - TOMOYO_TYPE_MKDEV_ACL = 3, - TOMOYO_TYPE_MOUNT_ACL = 4, - TOMOYO_TYPE_INET_ACL = 5, - TOMOYO_TYPE_UNIX_ACL = 6, - TOMOYO_TYPE_ENV_ACL = 7, - TOMOYO_TYPE_MANUAL_TASK_ACL = 8, -}; - -enum tomoyo_conditions_index { - TOMOYO_TASK_UID = 0, - TOMOYO_TASK_EUID = 1, - TOMOYO_TASK_SUID = 2, - TOMOYO_TASK_FSUID = 3, - TOMOYO_TASK_GID = 4, - TOMOYO_TASK_EGID = 5, - TOMOYO_TASK_SGID = 6, - TOMOYO_TASK_FSGID = 7, - TOMOYO_TASK_PID = 8, - TOMOYO_TASK_PPID = 9, - TOMOYO_EXEC_ARGC = 10, - TOMOYO_EXEC_ENVC = 11, - TOMOYO_TYPE_IS_SOCKET = 12, - TOMOYO_TYPE_IS_SYMLINK = 13, - TOMOYO_TYPE_IS_FILE = 14, - TOMOYO_TYPE_IS_BLOCK_DEV = 15, - TOMOYO_TYPE_IS_DIRECTORY = 16, - TOMOYO_TYPE_IS_CHAR_DEV = 17, - TOMOYO_TYPE_IS_FIFO = 18, - TOMOYO_MODE_SETUID = 19, - TOMOYO_MODE_SETGID = 20, - TOMOYO_MODE_STICKY = 21, - TOMOYO_MODE_OWNER_READ = 22, - TOMOYO_MODE_OWNER_WRITE = 23, - TOMOYO_MODE_OWNER_EXECUTE = 24, - TOMOYO_MODE_GROUP_READ = 25, - TOMOYO_MODE_GROUP_WRITE = 26, - TOMOYO_MODE_GROUP_EXECUTE = 27, - TOMOYO_MODE_OTHERS_READ = 28, - TOMOYO_MODE_OTHERS_WRITE = 29, - TOMOYO_MODE_OTHERS_EXECUTE = 30, - TOMOYO_EXEC_REALPATH = 31, - TOMOYO_SYMLINK_TARGET = 32, - TOMOYO_PATH1_UID = 33, - TOMOYO_PATH1_GID = 34, - TOMOYO_PATH1_INO = 35, - TOMOYO_PATH1_MAJOR = 36, - TOMOYO_PATH1_MINOR = 37, - TOMOYO_PATH1_PERM = 38, - TOMOYO_PATH1_TYPE = 39, - TOMOYO_PATH1_DEV_MAJOR = 40, - TOMOYO_PATH1_DEV_MINOR = 41, - TOMOYO_PATH2_UID = 42, - TOMOYO_PATH2_GID = 43, - TOMOYO_PATH2_INO = 44, - TOMOYO_PATH2_MAJOR = 45, - TOMOYO_PATH2_MINOR = 46, - TOMOYO_PATH2_PERM = 47, - TOMOYO_PATH2_TYPE = 48, - TOMOYO_PATH2_DEV_MAJOR = 49, - TOMOYO_PATH2_DEV_MINOR = 50, - TOMOYO_PATH1_PARENT_UID = 51, - TOMOYO_PATH1_PARENT_GID = 52, - TOMOYO_PATH1_PARENT_INO = 53, - TOMOYO_PATH1_PARENT_PERM = 54, - TOMOYO_PATH2_PARENT_UID = 55, - TOMOYO_PATH2_PARENT_GID = 56, - TOMOYO_PATH2_PARENT_INO = 57, - TOMOYO_PATH2_PARENT_PERM = 58, - TOMOYO_MAX_CONDITION_KEYWORD = 59, - TOMOYO_NUMBER_UNION = 60, - TOMOYO_NAME_UNION = 61, - TOMOYO_ARGV_ENTRY = 62, - TOMOYO_ENVP_ENTRY = 63, -}; - -enum tomoyo_domain_info_flags_index { - TOMOYO_DIF_QUOTA_WARNED = 0, - TOMOYO_DIF_TRANSITION_FAILED = 1, - TOMOYO_MAX_DOMAIN_INFO_FLAGS = 2, -}; - -enum tomoyo_grant_log { - TOMOYO_GRANTLOG_AUTO = 0, - TOMOYO_GRANTLOG_NO = 1, - TOMOYO_GRANTLOG_YES = 2, -}; - -enum tomoyo_group_id { - TOMOYO_PATH_GROUP = 0, - TOMOYO_NUMBER_GROUP = 1, - TOMOYO_ADDRESS_GROUP = 2, - TOMOYO_MAX_GROUP = 3, -}; - -enum tomoyo_mac_category_index { - TOMOYO_MAC_CATEGORY_FILE = 0, - TOMOYO_MAC_CATEGORY_NETWORK = 1, - TOMOYO_MAC_CATEGORY_MISC = 2, - TOMOYO_MAX_MAC_CATEGORY_INDEX = 3, -}; - -enum tomoyo_mac_index { - TOMOYO_MAC_FILE_EXECUTE = 0, - TOMOYO_MAC_FILE_OPEN = 1, - TOMOYO_MAC_FILE_CREATE = 2, - TOMOYO_MAC_FILE_UNLINK = 3, - TOMOYO_MAC_FILE_GETATTR = 4, - TOMOYO_MAC_FILE_MKDIR = 5, - TOMOYO_MAC_FILE_RMDIR = 6, - TOMOYO_MAC_FILE_MKFIFO = 7, - TOMOYO_MAC_FILE_MKSOCK = 8, - TOMOYO_MAC_FILE_TRUNCATE = 9, - TOMOYO_MAC_FILE_SYMLINK = 10, - TOMOYO_MAC_FILE_MKBLOCK = 11, - TOMOYO_MAC_FILE_MKCHAR = 12, - TOMOYO_MAC_FILE_LINK = 13, - TOMOYO_MAC_FILE_RENAME = 14, - TOMOYO_MAC_FILE_CHMOD = 15, - TOMOYO_MAC_FILE_CHOWN = 16, - TOMOYO_MAC_FILE_CHGRP = 17, - TOMOYO_MAC_FILE_IOCTL = 18, - TOMOYO_MAC_FILE_CHROOT = 19, - TOMOYO_MAC_FILE_MOUNT = 20, - TOMOYO_MAC_FILE_UMOUNT = 21, - TOMOYO_MAC_FILE_PIVOT_ROOT = 22, - TOMOYO_MAC_NETWORK_INET_STREAM_BIND = 23, - TOMOYO_MAC_NETWORK_INET_STREAM_LISTEN = 24, - TOMOYO_MAC_NETWORK_INET_STREAM_CONNECT = 25, - TOMOYO_MAC_NETWORK_INET_DGRAM_BIND = 26, - TOMOYO_MAC_NETWORK_INET_DGRAM_SEND = 27, - TOMOYO_MAC_NETWORK_INET_RAW_BIND = 28, - TOMOYO_MAC_NETWORK_INET_RAW_SEND = 29, - TOMOYO_MAC_NETWORK_UNIX_STREAM_BIND = 30, - TOMOYO_MAC_NETWORK_UNIX_STREAM_LISTEN = 31, - TOMOYO_MAC_NETWORK_UNIX_STREAM_CONNECT = 32, - TOMOYO_MAC_NETWORK_UNIX_DGRAM_BIND = 33, - TOMOYO_MAC_NETWORK_UNIX_DGRAM_SEND = 34, - TOMOYO_MAC_NETWORK_UNIX_SEQPACKET_BIND = 35, - TOMOYO_MAC_NETWORK_UNIX_SEQPACKET_LISTEN = 36, - TOMOYO_MAC_NETWORK_UNIX_SEQPACKET_CONNECT = 37, - TOMOYO_MAC_ENVIRON = 38, - TOMOYO_MAX_MAC_INDEX = 39, -}; - -enum tomoyo_memory_stat_type { - TOMOYO_MEMORY_POLICY = 0, - TOMOYO_MEMORY_AUDIT = 1, - TOMOYO_MEMORY_QUERY = 2, - TOMOYO_MAX_MEMORY_STAT = 3, -}; - -enum tomoyo_mkdev_acl_index { - TOMOYO_TYPE_MKBLOCK = 0, - TOMOYO_TYPE_MKCHAR = 1, - TOMOYO_MAX_MKDEV_OPERATION = 2, -}; - -enum tomoyo_mode_index { - TOMOYO_CONFIG_DISABLED = 0, - TOMOYO_CONFIG_LEARNING = 1, - TOMOYO_CONFIG_PERMISSIVE = 2, - TOMOYO_CONFIG_ENFORCING = 3, - TOMOYO_CONFIG_MAX_MODE = 4, - TOMOYO_CONFIG_WANT_REJECT_LOG = 64, - TOMOYO_CONFIG_WANT_GRANT_LOG = 128, - TOMOYO_CONFIG_USE_DEFAULT = 255, -}; - -enum tomoyo_network_acl_index { - TOMOYO_NETWORK_BIND = 0, - TOMOYO_NETWORK_LISTEN = 1, - TOMOYO_NETWORK_CONNECT = 2, - TOMOYO_NETWORK_SEND = 3, - TOMOYO_MAX_NETWORK_OPERATION = 4, -}; - -enum tomoyo_path2_acl_index { - TOMOYO_TYPE_LINK = 0, - TOMOYO_TYPE_RENAME = 1, - TOMOYO_TYPE_PIVOT_ROOT = 2, - TOMOYO_MAX_PATH2_OPERATION = 3, -}; - -enum tomoyo_path_acl_index { - TOMOYO_TYPE_EXECUTE = 0, - TOMOYO_TYPE_READ = 1, - TOMOYO_TYPE_WRITE = 2, - TOMOYO_TYPE_APPEND = 3, - TOMOYO_TYPE_UNLINK = 4, - TOMOYO_TYPE_GETATTR = 5, - TOMOYO_TYPE_RMDIR = 6, - TOMOYO_TYPE_TRUNCATE = 7, - TOMOYO_TYPE_SYMLINK = 8, - TOMOYO_TYPE_CHROOT = 9, - TOMOYO_TYPE_UMOUNT = 10, - TOMOYO_MAX_PATH_OPERATION = 11, -}; - -enum tomoyo_path_number_acl_index { - TOMOYO_TYPE_CREATE = 0, - TOMOYO_TYPE_MKDIR = 1, - TOMOYO_TYPE_MKFIFO = 2, - TOMOYO_TYPE_MKSOCK = 3, - TOMOYO_TYPE_IOCTL = 4, - TOMOYO_TYPE_CHMOD = 5, - TOMOYO_TYPE_CHOWN = 6, - TOMOYO_TYPE_CHGRP = 7, - TOMOYO_MAX_PATH_NUMBER_OPERATION = 8, -}; - -enum tomoyo_path_stat_index { - TOMOYO_PATH1 = 0, - TOMOYO_PATH1_PARENT = 1, - TOMOYO_PATH2 = 2, - TOMOYO_PATH2_PARENT = 3, - TOMOYO_MAX_PATH_STAT = 4, -}; - -enum tomoyo_policy_id { - TOMOYO_ID_GROUP = 0, - TOMOYO_ID_ADDRESS_GROUP = 1, - TOMOYO_ID_PATH_GROUP = 2, - TOMOYO_ID_NUMBER_GROUP = 3, - TOMOYO_ID_TRANSITION_CONTROL = 4, - TOMOYO_ID_AGGREGATOR = 5, - TOMOYO_ID_MANAGER = 6, - TOMOYO_ID_CONDITION = 7, - TOMOYO_ID_NAME = 8, - TOMOYO_ID_ACL = 9, - TOMOYO_ID_DOMAIN = 10, - TOMOYO_MAX_POLICY = 11, -}; - -enum tomoyo_policy_stat_type { - TOMOYO_STAT_POLICY_UPDATES = 0, - TOMOYO_STAT_POLICY_LEARNING = 1, - TOMOYO_STAT_POLICY_PERMISSIVE = 2, - TOMOYO_STAT_POLICY_ENFORCING = 3, - TOMOYO_MAX_POLICY_STAT = 4, -}; - -enum tomoyo_pref_index { - TOMOYO_PREF_MAX_AUDIT_LOG = 0, - TOMOYO_PREF_MAX_LEARNING_ENTRY = 1, - TOMOYO_MAX_PREF = 2, -}; - -enum tomoyo_securityfs_interface_index { - TOMOYO_DOMAINPOLICY = 0, - TOMOYO_EXCEPTIONPOLICY = 1, - TOMOYO_PROCESS_STATUS = 2, - TOMOYO_STAT = 3, - TOMOYO_AUDIT = 4, - TOMOYO_VERSION = 5, - TOMOYO_PROFILE = 6, - TOMOYO_QUERY = 7, - TOMOYO_MANAGER = 8, -}; - -enum tomoyo_special_mount { - TOMOYO_MOUNT_BIND = 0, - TOMOYO_MOUNT_MOVE = 1, - TOMOYO_MOUNT_REMOUNT = 2, - TOMOYO_MOUNT_MAKE_UNBINDABLE = 3, - TOMOYO_MOUNT_MAKE_PRIVATE = 4, - TOMOYO_MOUNT_MAKE_SLAVE = 5, - TOMOYO_MOUNT_MAKE_SHARED = 6, - TOMOYO_MAX_SPECIAL_MOUNT = 7, -}; - -enum tomoyo_transition_type { - TOMOYO_TRANSITION_CONTROL_NO_RESET = 0, - TOMOYO_TRANSITION_CONTROL_RESET = 1, - TOMOYO_TRANSITION_CONTROL_NO_INITIALIZE = 2, - TOMOYO_TRANSITION_CONTROL_INITIALIZE = 3, - TOMOYO_TRANSITION_CONTROL_NO_KEEP = 4, - TOMOYO_TRANSITION_CONTROL_KEEP = 5, - TOMOYO_MAX_TRANSITION_TYPE = 6, -}; - -enum tomoyo_value_type { - TOMOYO_VALUE_TYPE_INVALID = 0, - TOMOYO_VALUE_TYPE_DECIMAL = 1, - TOMOYO_VALUE_TYPE_OCTAL = 2, - TOMOYO_VALUE_TYPE_HEXADECIMAL = 3, -}; - -enum topo_types { - INVALID_TYPE = 0, - SMT_TYPE = 1, - CORE_TYPE = 2, - MAX_TYPE_0B = 3, - MODULE_TYPE = 3, - AMD_CCD_TYPE = 3, - TILE_TYPE = 4, - AMD_SOCKET_TYPE = 4, - MAX_TYPE_80000026 = 5, - DIE_TYPE = 5, - DIEGRP_TYPE = 6, - MAX_TYPE_1F = 7, -}; - -enum tp_func_state { - TP_FUNC_0 = 0, - TP_FUNC_1 = 1, - TP_FUNC_2 = 2, - TP_FUNC_N = 3, -}; - -enum tp_transition_sync { - TP_TRANSITION_SYNC_1_0_1 = 0, - TP_TRANSITION_SYNC_N_2_1 = 1, - _NR_TP_TRANSITION_SYNC = 2, -}; - -enum tpacket_versions { - TPACKET_V1 = 0, - TPACKET_V2 = 1, - TPACKET_V3 = 2, -}; - -enum tph_mem_type { - TPH_MEM_TYPE_VM = 0, - TPH_MEM_TYPE_PM = 1, -}; - -enum tpm2_capabilities { - TPM2_CAP_HANDLES = 1, - TPM2_CAP_COMMANDS = 2, - TPM2_CAP_PCRS = 5, - TPM2_CAP_TPM_PROPERTIES = 6, -}; - -enum tpm2_cc_attrs { - TPM2_CC_ATTR_CHANDLES = 25, - TPM2_CC_ATTR_RHANDLE = 28, - TPM2_CC_ATTR_VENDOR = 29, -}; - -enum tpm2_command_codes { - TPM2_CC_FIRST = 287, - TPM2_CC_HIERARCHY_CONTROL = 289, - TPM2_CC_HIERARCHY_CHANGE_AUTH = 297, - TPM2_CC_CREATE_PRIMARY = 305, - TPM2_CC_SEQUENCE_COMPLETE = 318, - TPM2_CC_SELF_TEST = 323, - TPM2_CC_STARTUP = 324, - TPM2_CC_SHUTDOWN = 325, - TPM2_CC_NV_READ = 334, - TPM2_CC_CREATE = 339, - TPM2_CC_LOAD = 343, - TPM2_CC_SEQUENCE_UPDATE = 348, - TPM2_CC_UNSEAL = 350, - TPM2_CC_CONTEXT_LOAD = 353, - TPM2_CC_CONTEXT_SAVE = 354, - TPM2_CC_FLUSH_CONTEXT = 357, - TPM2_CC_READ_PUBLIC = 371, - TPM2_CC_START_AUTH_SESS = 374, - TPM2_CC_VERIFY_SIGNATURE = 375, - TPM2_CC_GET_CAPABILITY = 378, - TPM2_CC_GET_RANDOM = 379, - TPM2_CC_PCR_READ = 382, - TPM2_CC_PCR_EXTEND = 386, - TPM2_CC_EVENT_SEQUENCE_COMPLETE = 389, - TPM2_CC_HASH_SEQUENCE_START = 390, - TPM2_CC_CREATE_LOADED = 401, - TPM2_CC_LAST = 403, -}; - -enum tpm2_const { - TPM2_PLATFORM_PCR = 24, - TPM2_PCR_SELECT_MIN = 3, -}; - -enum tpm2_handle_types { - TPM2_HT_HMAC_SESSION = 33554432, - TPM2_HT_POLICY_SESSION = 50331648, - TPM2_HT_TRANSIENT = 2147483648, -}; - -enum tpm2_object_attributes { - TPM2_OA_FIXED_TPM = 2, - TPM2_OA_ST_CLEAR = 4, - TPM2_OA_FIXED_PARENT = 16, - TPM2_OA_SENSITIVE_DATA_ORIGIN = 32, - TPM2_OA_USER_WITH_AUTH = 64, - TPM2_OA_ADMIN_WITH_POLICY = 128, - TPM2_OA_NO_DA = 1024, - TPM2_OA_ENCRYPTED_DUPLICATION = 2048, - TPM2_OA_RESTRICTED = 65536, - TPM2_OA_DECRYPT = 131072, - TPM2_OA_SIGN = 262144, -}; - -enum tpm2_permanent_handles { - TPM2_RH_NULL = 1073741831, - TPM2_RS_PW = 1073741833, -}; - -enum tpm2_properties { - TPM_PT_TOTAL_COMMANDS = 297, -}; - -enum tpm2_return_codes { - TPM2_RC_SUCCESS = 0, - TPM2_RC_HASH = 131, - TPM2_RC_HANDLE = 139, - TPM2_RC_INTEGRITY = 159, - TPM2_RC_INITIALIZE = 256, - TPM2_RC_FAILURE = 257, - TPM2_RC_DISABLED = 288, - TPM2_RC_UPGRADE = 301, - TPM2_RC_COMMAND_CODE = 323, - TPM2_RC_TESTING = 2314, - TPM2_RC_REFERENCE_H0 = 2320, - TPM2_RC_RETRY = 2338, - TPM2_RC_SESSION_MEMORY = 2307, -}; - -enum tpm2_session_attributes { - TPM2_SA_CONTINUE_SESSION = 1, - TPM2_SA_AUDIT_EXCLUSIVE = 2, - TPM2_SA_AUDIT_RESET = 8, - TPM2_SA_DECRYPT = 32, - TPM2_SA_ENCRYPT = 64, - TPM2_SA_AUDIT = 128, -}; - -enum tpm2_startup_types { - TPM2_SU_CLEAR = 0, - TPM2_SU_STATE = 1, -}; - -enum tpm2_structures { - TPM2_ST_NO_SESSIONS = 32769, - TPM2_ST_SESSIONS = 32770, - TPM2_ST_CREATION = 32801, -}; - -enum tpm2_timeouts { - TPM2_TIMEOUT_A = 750, - TPM2_TIMEOUT_B = 4000, - TPM2_TIMEOUT_C = 200, - TPM2_TIMEOUT_D = 30, - TPM2_DURATION_SHORT = 20, - TPM2_DURATION_MEDIUM = 750, - TPM2_DURATION_LONG = 2000, - TPM2_DURATION_LONG_LONG = 300000, - TPM2_DURATION_DEFAULT = 120000, -}; - -enum tpm2key_actions { - ACT_tpm2_key_parent = 0, - ACT_tpm2_key_priv = 1, - ACT_tpm2_key_pub = 2, - ACT_tpm2_key_type = 3, - NR__tpm2key_actions = 4, -}; - -enum tpm_algorithms { - TPM_ALG_ERROR = 0, - TPM_ALG_SHA1 = 4, - TPM_ALG_AES = 6, - TPM_ALG_KEYEDHASH = 8, - TPM_ALG_SHA256 = 11, - TPM_ALG_SHA384 = 12, - TPM_ALG_SHA512 = 13, - TPM_ALG_NULL = 16, - TPM_ALG_SM3_256 = 18, - TPM_ALG_ECC = 35, - TPM_ALG_CFB = 67, -}; - -enum tpm_buf_flags { - TPM_BUF_OVERFLOW = 1, - TPM_BUF_TPM2B = 2, - TPM_BUF_BOUNDARY_ERROR = 4, -}; - -enum tpm_capabilities { - TPM_CAP_FLAG = 4, - TPM_CAP_PROP = 5, - TPM_CAP_VERSION_1_1 = 6, - TPM_CAP_VERSION_1_2 = 26, -}; - -enum tpm_chip_flags { - TPM_CHIP_FLAG_BOOTSTRAPPED = 1, - TPM_CHIP_FLAG_TPM2 = 2, - TPM_CHIP_FLAG_IRQ = 4, - TPM_CHIP_FLAG_VIRTUAL = 8, - TPM_CHIP_FLAG_HAVE_TIMEOUTS = 16, - TPM_CHIP_FLAG_ALWAYS_POWERED = 32, - TPM_CHIP_FLAG_FIRMWARE_POWER_MANAGED = 64, - TPM_CHIP_FLAG_FIRMWARE_UPGRADE = 128, - TPM_CHIP_FLAG_SUSPENDED = 256, - TPM_CHIP_FLAG_HWRNG_DISABLED = 512, - TPM_CHIP_FLAG_DISABLE = 1024, - TPM_CHIP_FLAG_SYNC = 2048, -}; - -enum tpm_duration { - TPM_SHORT = 0, - TPM_MEDIUM = 1, - TPM_LONG = 2, - TPM_LONG_LONG = 3, - TPM_UNDEFINED = 4, - TPM_NUM_DURATIONS = 4, -}; - -enum tpm_pcrs { - TPM_PCR0 = 0, - TPM_PCR8 = 8, - TPM_PCR10 = 10, -}; - -enum tpm_sub_capabilities { - TPM_CAP_PROP_PCR = 257, - TPM_CAP_PROP_MANUFACTURER = 259, - TPM_CAP_FLAG_PERM = 264, - TPM_CAP_FLAG_VOL = 265, - TPM_CAP_PROP_OWNER = 273, - TPM_CAP_PROP_TIS_TIMEOUT = 277, - TPM_CAP_PROP_TIS_DURATION = 288, -}; - -enum tpm_timeout { - TPM_TIMEOUT = 5, - TPM_TIMEOUT_RETRY = 100, - TPM_TIMEOUT_RANGE_US = 300, - TPM_TIMEOUT_POLL = 1, - TPM_TIMEOUT_USECS_MIN = 100, - TPM_TIMEOUT_USECS_MAX = 500, -}; - -enum tpm_tis_flags { - TPM_TIS_ITPM_WORKAROUND = 0, - TPM_TIS_INVALID_STATUS = 1, - TPM_TIS_DEFAULT_CANCELLATION = 2, - TPM_TIS_IRQ_TESTED = 3, - TPM_TIS_STATUS_VALID_RETRY = 4, -}; - -enum tpm_tis_io_mode { - TPM_TIS_PHYS_8 = 0, - TPM_TIS_PHYS_16 = 1, - TPM_TIS_PHYS_32 = 2, -}; - -enum tps65090_cells { - PMIC = 0, - CHARGER = 1, -}; - -enum tps65912_irqs { - TPS65912_IRQ_PWRHOLD_F = 0, - TPS65912_IRQ_VMON = 1, - TPS65912_IRQ_PWRON = 2, - TPS65912_IRQ_PWRON_LP = 3, - TPS65912_IRQ_PWRHOLD_R = 4, - TPS65912_IRQ_HOTDIE = 5, - TPS65912_IRQ_GPIO1_R = 6, - TPS65912_IRQ_GPIO1_F = 7, - TPS65912_IRQ_GPIO2_R = 8, - TPS65912_IRQ_GPIO2_F = 9, - TPS65912_IRQ_GPIO3_R = 10, - TPS65912_IRQ_GPIO3_F = 11, - TPS65912_IRQ_GPIO4_R = 12, - TPS65912_IRQ_GPIO4_F = 13, - TPS65912_IRQ_GPIO5_R = 14, - TPS65912_IRQ_GPIO5_F = 15, - TPS65912_IRQ_PGOOD_DCDC1 = 16, - TPS65912_IRQ_PGOOD_DCDC2 = 17, - TPS65912_IRQ_PGOOD_DCDC3 = 18, - TPS65912_IRQ_PGOOD_DCDC4 = 19, - TPS65912_IRQ_PGOOD_LDO1 = 20, - TPS65912_IRQ_PGOOD_LDO2 = 21, - TPS65912_IRQ_PGOOD_LDO3 = 22, - TPS65912_IRQ_PGOOD_LDO4 = 23, - TPS65912_IRQ_PGOOD_LDO5 = 24, - TPS65912_IRQ_PGOOD_LDO6 = 25, - TPS65912_IRQ_PGOOD_LDO7 = 26, - TPS65912_IRQ_PGOOD_LDO8 = 27, - TPS65912_IRQ_PGOOD_LDO9 = 28, - TPS65912_IRQ_PGOOD_LDO10 = 29, -}; - -enum tps65917_irqs { - TPS65917_RESERVED1 = 0, - TPS65917_PWRON_IRQ = 1, - TPS65917_LONG_PRESS_KEY_IRQ = 2, - TPS65917_RESERVED2 = 3, - TPS65917_PWRDOWN_IRQ = 4, - TPS65917_HOTDIE_IRQ = 5, - TPS65917_VSYS_MON_IRQ = 6, - TPS65917_RESERVED3 = 7, - TPS65917_RESERVED4 = 8, - TPS65917_OTP_ERROR_IRQ = 9, - TPS65917_WDT_IRQ = 10, - TPS65917_RESERVED5 = 11, - TPS65917_RESET_IN_IRQ = 12, - TPS65917_FSD_IRQ = 13, - TPS65917_SHORT_IRQ = 14, - TPS65917_RESERVED6 = 15, - TPS65917_GPADC_AUTO_0_IRQ = 16, - TPS65917_GPADC_AUTO_1_IRQ = 17, - TPS65917_GPADC_EOC_SW_IRQ = 18, - TPS65917_RESREVED6 = 19, - TPS65917_RESERVED7 = 20, - TPS65917_RESERVED8 = 21, - TPS65917_RESERVED9 = 22, - TPS65917_VBUS_IRQ = 23, - TPS65917_GPIO_0_IRQ = 24, - TPS65917_GPIO_1_IRQ = 25, - TPS65917_GPIO_2_IRQ = 26, - TPS65917_GPIO_3_IRQ = 27, - TPS65917_GPIO_4_IRQ = 28, - TPS65917_GPIO_5_IRQ = 29, - TPS65917_GPIO_6_IRQ = 30, - TPS65917_RESERVED10 = 31, - TPS65917_NUM_IRQ = 32, -}; - -enum trace_flag_type { - TRACE_FLAG_IRQS_OFF = 1, - TRACE_FLAG_NEED_RESCHED_LAZY = 2, - TRACE_FLAG_NEED_RESCHED = 4, - TRACE_FLAG_HARDIRQ = 8, - TRACE_FLAG_SOFTIRQ = 16, - TRACE_FLAG_PREEMPT_RESCHED = 32, - TRACE_FLAG_NMI = 64, - TRACE_FLAG_BH_OFF = 128, -}; - -enum trace_iter_flags { - TRACE_FILE_LAT_FMT = 1, - TRACE_FILE_ANNOTATE = 2, - TRACE_FILE_TIME_IN_NS = 4, -}; - -enum trace_iterator_bits { - TRACE_ITER_PRINT_PARENT_BIT = 0, - TRACE_ITER_SYM_OFFSET_BIT = 1, - TRACE_ITER_SYM_ADDR_BIT = 2, - TRACE_ITER_VERBOSE_BIT = 3, - TRACE_ITER_RAW_BIT = 4, - TRACE_ITER_HEX_BIT = 5, - TRACE_ITER_BIN_BIT = 6, - TRACE_ITER_BLOCK_BIT = 7, - TRACE_ITER_FIELDS_BIT = 8, - TRACE_ITER_PRINTK_BIT = 9, - TRACE_ITER_ANNOTATE_BIT = 10, - TRACE_ITER_USERSTACKTRACE_BIT = 11, - TRACE_ITER_SYM_USEROBJ_BIT = 12, - TRACE_ITER_PRINTK_MSGONLY_BIT = 13, - TRACE_ITER_CONTEXT_INFO_BIT = 14, - TRACE_ITER_LATENCY_FMT_BIT = 15, - TRACE_ITER_RECORD_CMD_BIT = 16, - TRACE_ITER_RECORD_TGID_BIT = 17, - TRACE_ITER_OVERWRITE_BIT = 18, - TRACE_ITER_STOP_ON_FREE_BIT = 19, - TRACE_ITER_IRQ_INFO_BIT = 20, - TRACE_ITER_MARKERS_BIT = 21, - TRACE_ITER_EVENT_FORK_BIT = 22, - TRACE_ITER_TRACE_PRINTK_BIT = 23, - TRACE_ITER_COPY_MARKER_BIT = 24, - TRACE_ITER_PAUSE_ON_TRACE_BIT = 25, - TRACE_ITER_HASH_PTR_BIT = 26, - TRACE_ITER_FUNCTION_BIT = 27, - TRACE_ITER_FUNC_FORK_BIT = 28, - TRACE_ITER_DISPLAY_GRAPH_BIT = 29, - TRACE_ITER_STACKTRACE_BIT = 30, - TRACE_ITER_LAST_BIT = 31, -}; - -enum trace_iterator_flags { - TRACE_ITER_PRINT_PARENT = 1, - TRACE_ITER_SYM_OFFSET = 2, - TRACE_ITER_SYM_ADDR = 4, - TRACE_ITER_VERBOSE = 8, - TRACE_ITER_RAW = 16, - TRACE_ITER_HEX = 32, - TRACE_ITER_BIN = 64, - TRACE_ITER_BLOCK = 128, - TRACE_ITER_FIELDS = 256, - TRACE_ITER_PRINTK = 512, - TRACE_ITER_ANNOTATE = 1024, - TRACE_ITER_USERSTACKTRACE = 2048, - TRACE_ITER_SYM_USEROBJ = 4096, - TRACE_ITER_PRINTK_MSGONLY = 8192, - TRACE_ITER_CONTEXT_INFO = 16384, - TRACE_ITER_LATENCY_FMT = 32768, - TRACE_ITER_RECORD_CMD = 65536, - TRACE_ITER_RECORD_TGID = 131072, - TRACE_ITER_OVERWRITE = 262144, - TRACE_ITER_STOP_ON_FREE = 524288, - TRACE_ITER_IRQ_INFO = 1048576, - TRACE_ITER_MARKERS = 2097152, - TRACE_ITER_EVENT_FORK = 4194304, - TRACE_ITER_TRACE_PRINTK = 8388608, - TRACE_ITER_COPY_MARKER = 16777216, - TRACE_ITER_PAUSE_ON_TRACE = 33554432, - TRACE_ITER_HASH_PTR = 67108864, - TRACE_ITER_FUNCTION = 134217728, - TRACE_ITER_FUNC_FORK = 268435456, - TRACE_ITER_DISPLAY_GRAPH = 536870912, - TRACE_ITER_STACKTRACE = 1073741824, -}; - -enum trace_reg { - TRACE_REG_REGISTER = 0, - TRACE_REG_UNREGISTER = 1, - TRACE_REG_PERF_REGISTER = 2, - TRACE_REG_PERF_UNREGISTER = 3, - TRACE_REG_PERF_OPEN = 4, - TRACE_REG_PERF_CLOSE = 5, - TRACE_REG_PERF_ADD = 6, - TRACE_REG_PERF_DEL = 7, -}; - -enum trace_type { - __TRACE_FIRST_TYPE = 0, - TRACE_FN = 1, - TRACE_CTX = 2, - TRACE_WAKE = 3, - TRACE_STACK = 4, - TRACE_PRINT = 5, - TRACE_BPRINT = 6, - TRACE_MMIO_RW = 7, - TRACE_MMIO_MAP = 8, - TRACE_BRANCH = 9, - TRACE_GRAPH_RET = 10, - TRACE_GRAPH_ENT = 11, - TRACE_GRAPH_RETADDR_ENT = 12, - TRACE_USER_STACK = 13, - TRACE_BLK = 14, - TRACE_BPUTS = 15, - TRACE_HWLAT = 16, - TRACE_OSNOISE = 17, - TRACE_TIMERLAT = 18, - TRACE_RAW_DATA = 19, - TRACE_FUNC_REPEATS = 20, - __TRACE_LAST_TYPE = 21, -}; - -enum track_item { - TRACK_ALLOC = 0, - TRACK_FREE = 1, -}; - -enum translation_map { - LAT1_MAP = 0, - GRAF_MAP = 1, - IBMPC_MAP = 2, - USER_MAP = 3, - FIRST_MAP = 0, - LAST_MAP = 3, -}; - -enum transparent_hugepage_flag { - TRANSPARENT_HUGEPAGE_UNSUPPORTED = 0, - TRANSPARENT_HUGEPAGE_FLAG = 1, - TRANSPARENT_HUGEPAGE_REQ_MADV_FLAG = 2, - TRANSPARENT_HUGEPAGE_DEFRAG_DIRECT_FLAG = 3, - TRANSPARENT_HUGEPAGE_DEFRAG_KSWAPD_FLAG = 4, - TRANSPARENT_HUGEPAGE_DEFRAG_KSWAPD_OR_MADV_FLAG = 5, - TRANSPARENT_HUGEPAGE_DEFRAG_REQ_MADV_FLAG = 6, - TRANSPARENT_HUGEPAGE_DEFRAG_KHUGEPAGED_FLAG = 7, - TRANSPARENT_HUGEPAGE_USE_ZERO_PAGE_FLAG = 8, -}; - -enum tsa_mitigations { - TSA_MITIGATION_NONE = 0, - TSA_MITIGATION_AUTO = 1, - TSA_MITIGATION_UCODE_NEEDED = 2, - TSA_MITIGATION_USER_KERNEL = 3, - TSA_MITIGATION_VM = 4, - TSA_MITIGATION_FULL = 5, -}; - -enum tsq_enum { - TSQ_THROTTLED = 0, - TSQ_QUEUED = 1, - TCP_TSQ_DEFERRED = 2, - TCP_WRITE_TIMER_DEFERRED = 3, - TCP_DELACK_TIMER_DEFERRED = 4, - TCP_MTU_REDUCED_DEFERRED = 5, - TCP_ACK_DEFERRED = 6, -}; - -enum tsq_flags { - TSQF_THROTTLED = 1, - TSQF_QUEUED = 2, - TCPF_TSQ_DEFERRED = 4, - TCPF_WRITE_TIMER_DEFERRED = 8, - TCPF_DELACK_TIMER_DEFERRED = 16, - TCPF_MTU_REDUCED_DEFERRED = 32, - TCPF_ACK_DEFERRED = 64, -}; - -enum tsx_ctrl_states { - TSX_CTRL_ENABLE = 0, - TSX_CTRL_DISABLE = 1, - TSX_CTRL_RTM_ALWAYS_ABORT = 2, - TSX_CTRL_NOT_SUPPORTED = 3, -}; - -enum ttu_flags { - TTU_SPLIT_HUGE_PMD = 4, - TTU_IGNORE_MLOCK = 8, - TTU_SYNC = 16, - TTU_HWPOISON = 32, - TTU_BATCH_FLUSH = 64, - TTU_RMAP_LOCKED = 128, -}; - -enum tty_driver_flag { - TTY_DRIVER_INSTALLED = 1, - TTY_DRIVER_RESET_TERMIOS = 2, - TTY_DRIVER_REAL_RAW = 4, - TTY_DRIVER_DYNAMIC_DEV = 8, - TTY_DRIVER_DEVPTS_MEM = 16, - TTY_DRIVER_HARDWARE_BREAK = 32, - TTY_DRIVER_DYNAMIC_ALLOC = 64, - TTY_DRIVER_UNNUMBERED_NODE = 128, -}; - -enum tty_driver_subtype { - SYSTEM_TYPE_TTY = 1, - SYSTEM_TYPE_CONSOLE = 2, - SYSTEM_TYPE_SYSCONS = 3, - SYSTEM_TYPE_SYSPTMX = 4, - PTY_TYPE_MASTER = 1, - PTY_TYPE_SLAVE = 2, - SERIAL_TYPE_NORMAL = 1, -}; - -enum tty_driver_type { - TTY_DRIVER_TYPE_SYSTEM = 0, - TTY_DRIVER_TYPE_CONSOLE = 1, - TTY_DRIVER_TYPE_SERIAL = 2, - TTY_DRIVER_TYPE_PTY = 3, - TTY_DRIVER_TYPE_SCC = 4, - TTY_DRIVER_TYPE_SYSCONS = 5, -}; - -enum tty_flow_change { - TTY_FLOW_NO_CHANGE = 0, - TTY_THROTTLE_SAFE = 1, - TTY_UNTHROTTLE_SAFE = 2, -}; - -enum tty_struct_flags { - TTY_THROTTLED = 0, - TTY_IO_ERROR = 1, - TTY_OTHER_CLOSED = 2, - TTY_EXCLUSIVE = 3, - TTY_DO_WRITE_WAKEUP = 4, - TTY_LDISC_OPEN = 5, - TTY_PTY_LOCK = 6, - TTY_NO_WRITE_SPLIT = 7, - TTY_HUPPED = 8, - TTY_HUPPING = 9, - TTY_LDISC_CHANGING = 10, - TTY_LDISC_HALTED = 11, -}; - -enum tunable_id { - ETHTOOL_ID_UNSPEC = 0, - ETHTOOL_RX_COPYBREAK = 1, - ETHTOOL_TX_COPYBREAK = 2, - ETHTOOL_PFC_PREVENTION_TOUT = 3, - ETHTOOL_TX_COPYBREAK_BUF_SIZE = 4, - __ETHTOOL_TUNABLE_COUNT = 5, -}; - -enum tunable_type_id { - ETHTOOL_TUNABLE_UNSPEC = 0, - ETHTOOL_TUNABLE_U8 = 1, - ETHTOOL_TUNABLE_U16 = 2, - ETHTOOL_TUNABLE_U32 = 3, - ETHTOOL_TUNABLE_U64 = 4, - ETHTOOL_TUNABLE_STRING = 5, - ETHTOOL_TUNABLE_S8 = 6, - ETHTOOL_TUNABLE_S16 = 7, - ETHTOOL_TUNABLE_S32 = 8, - ETHTOOL_TUNABLE_S64 = 9, -}; - -enum twl4030_audio_res { - TWL4030_AUDIO_RES_POWER = 0, - TWL4030_AUDIO_RES_APLL = 1, - TWL4030_AUDIO_RES_MAX = 2, -}; - -enum twl4030_module_ids { - TWL4030_MODULE_AUDIO_VOICE = 9, - TWL4030_MODULE_GPIO = 10, - TWL4030_MODULE_INTBR = 11, - TWL4030_MODULE_TEST = 12, - TWL4030_MODULE_KEYPAD = 13, - TWL4030_MODULE_MADC = 14, - TWL4030_MODULE_INTERRUPTS = 15, - TWL4030_MODULE_PRECHARGE = 16, - TWL4030_MODULE_BACKUP = 17, - TWL4030_MODULE_INT = 18, - TWL5031_MODULE_ACCESSORY = 19, - TWL5031_MODULE_INTERRUPTS = 20, - TWL4030_MODULE_LAST = 21, -}; - -enum twl6030_module_ids { - TWL6030_MODULE_ID0 = 9, - TWL6030_MODULE_ID1 = 10, - TWL6030_MODULE_ID2 = 11, - TWL6030_MODULE_GPADC = 12, - TWL6030_MODULE_GASGAUGE = 13, - TWL6032_MODULE_CHARGE = 14, - TWL6030_MODULE_LAST = 15, -}; - -enum twl_module_ids { - TWL_MODULE_USB = 0, - TWL_MODULE_PIH = 1, - TWL_MODULE_MAIN_CHARGE = 2, - TWL_MODULE_PM_MASTER = 3, - TWL_MODULE_PM_RECEIVER = 4, - TWL_MODULE_RTC = 5, - TWL_MODULE_PWM = 6, - TWL_MODULE_LED = 7, - TWL_MODULE_SECURED_REG = 8, - TWL_MODULE_LAST = 9, -}; - -enum txtime_flags { - SOF_TXTIME_DEADLINE_MODE = 1, - SOF_TXTIME_REPORT_ERRORS = 2, - SOF_TXTIME_FLAGS_LAST = 2, - SOF_TXTIME_FLAGS_MASK = 3, -}; - -enum uart_iotype { - UPIO_UNKNOWN = -1, - UPIO_PORT = 0, - UPIO_HUB6 = 1, - UPIO_MEM = 2, - UPIO_MEM32 = 3, - UPIO_AU = 4, - UPIO_TSI = 5, - UPIO_MEM32BE = 6, - UPIO_MEM16 = 7, -}; - -enum uart_pm_state { - UART_PM_STATE_ON = 0, - UART_PM_STATE_OFF = 3, - UART_PM_STATE_UNDEFINED = 4, -}; - -enum uclamp_id { - UCLAMP_MIN = 0, - UCLAMP_MAX = 1, - UCLAMP_CNT = 2, -}; - -enum ucode_state { - UCODE_OK = 0, - UCODE_NEW = 1, - UCODE_NEW_SAFE = 2, - UCODE_UPDATED = 3, - UCODE_NFOUND = 4, - UCODE_ERROR = 5, - UCODE_TIMEOUT = 6, - UCODE_OFFLINE = 7, -}; - -enum ucount_type { - UCOUNT_USER_NAMESPACES = 0, - UCOUNT_PID_NAMESPACES = 1, - UCOUNT_UTS_NAMESPACES = 2, - UCOUNT_IPC_NAMESPACES = 3, - UCOUNT_NET_NAMESPACES = 4, - UCOUNT_MNT_NAMESPACES = 5, - UCOUNT_CGROUP_NAMESPACES = 6, - UCOUNT_TIME_NAMESPACES = 7, - UCOUNT_INOTIFY_INSTANCES = 8, - UCOUNT_INOTIFY_WATCHES = 9, - UCOUNT_FANOTIFY_GROUPS = 10, - UCOUNT_FANOTIFY_MARKS = 11, - UCOUNT_COUNTS = 12, -}; - -enum udp_conntrack { - UDP_CT_UNREPLIED = 0, - UDP_CT_REPLIED = 1, - UDP_CT_MAX = 2, -}; - -enum udp_parsable_tunnel_type { - UDP_TUNNEL_TYPE_VXLAN = 1, - UDP_TUNNEL_TYPE_GENEVE = 2, - UDP_TUNNEL_TYPE_VXLAN_GPE = 4, -}; - -enum udp_tunnel_nic_info_flags { - UDP_TUNNEL_NIC_INFO_OPEN_ONLY = 1, - UDP_TUNNEL_NIC_INFO_IPV4_ONLY = 2, - UDP_TUNNEL_NIC_INFO_STATIC_IANA_VXLAN = 4, -}; - -enum uhci_rh_state { - UHCI_RH_RESET = 0, - UHCI_RH_SUSPENDED = 1, - UHCI_RH_AUTO_STOPPED = 2, - UHCI_RH_RESUMING = 3, - UHCI_RH_SUSPENDING = 4, - UHCI_RH_RUNNING = 5, - UHCI_RH_RUNNING_NODEVS = 6, -}; - -enum uinput_state { - UIST_NEW_DEVICE = 0, - UIST_SETUP_COMPLETE = 1, - UIST_CREATED = 2, -}; - -enum umh_disable_depth { - UMH_ENABLED = 0, - UMH_FREEZING = 1, - UMH_DISABLED = 2, -}; - -enum umount_tree_flags { - UMOUNT_SYNC = 1, - UMOUNT_PROPAGATE = 2, - UMOUNT_CONNECTED = 4, -}; - -enum uncore_access_type { - UNCORE_ACCESS_MSR = 0, - UNCORE_ACCESS_MMIO = 1, - UNCORE_ACCESS_PCI = 2, - UNCORE_ACCESS_MAX = 3, -}; - -enum unix_vertex_index { - UNIX_VERTEX_INDEX_MARK1 = 0, - UNIX_VERTEX_INDEX_MARK2 = 1, - UNIX_VERTEX_INDEX_START = 2, -}; - -enum unwind_user_type_bits { - UNWIND_USER_TYPE_FP_BIT = 0, - NR_UNWIND_USER_TYPE_BITS = 1, -}; - -enum uprobe_task_state { - UTASK_RUNNING = 0, - UTASK_SSTEP = 1, - UTASK_SSTEP_ACK = 2, - UTASK_SSTEP_TRAPPED = 3, -}; - -enum usb3_link_state { - USB3_LPM_U0 = 0, - USB3_LPM_U1 = 1, - USB3_LPM_U2 = 2, - USB3_LPM_U3 = 3, -}; - -enum usb_charger_state { - USB_CHARGER_DEFAULT = 0, - USB_CHARGER_PRESENT = 1, - USB_CHARGER_ABSENT = 2, -}; - -enum usb_charger_type { - UNKNOWN_TYPE = 0, - SDP_TYPE = 1, - DCP_TYPE = 2, - CDP_TYPE = 3, - ACA_TYPE = 4, -}; - -enum usb_dev_authorize_policy { - USB_DEVICE_AUTHORIZE_NONE = 0, - USB_DEVICE_AUTHORIZE_ALL = 1, - USB_DEVICE_AUTHORIZE_INTERNAL = 2, -}; - -enum usb_device_speed { - USB_SPEED_UNKNOWN = 0, - USB_SPEED_LOW = 1, - USB_SPEED_FULL = 2, - USB_SPEED_HIGH = 3, - USB_SPEED_WIRELESS = 4, - USB_SPEED_SUPER = 5, - USB_SPEED_SUPER_PLUS = 6, -}; - -enum usb_device_state { - USB_STATE_NOTATTACHED = 0, - USB_STATE_ATTACHED = 1, - USB_STATE_POWERED = 2, - USB_STATE_RECONNECTING = 3, - USB_STATE_UNAUTHENTICATED = 4, - USB_STATE_DEFAULT = 5, - USB_STATE_ADDRESS = 6, - USB_STATE_CONFIGURED = 7, - USB_STATE_SUSPENDED = 8, -}; - -enum usb_dr_mode { - USB_DR_MODE_UNKNOWN = 0, - USB_DR_MODE_HOST = 1, - USB_DR_MODE_PERIPHERAL = 2, - USB_DR_MODE_OTG = 3, -}; - -enum usb_interface_condition { - USB_INTERFACE_UNBOUND = 0, - USB_INTERFACE_BINDING = 1, - USB_INTERFACE_BOUND = 2, - USB_INTERFACE_UNBINDING = 3, -}; - -enum usb_led_event { - USB_LED_EVENT_HOST = 0, - USB_LED_EVENT_GADGET = 1, -}; - -enum usb_link_tunnel_mode { - USB_LINK_UNKNOWN = 0, - USB_LINK_NATIVE = 1, - USB_LINK_TUNNELED = 2, -}; - -enum usb_otg_state { - OTG_STATE_UNDEFINED = 0, - OTG_STATE_B_IDLE = 1, - OTG_STATE_B_SRP_INIT = 2, - OTG_STATE_B_PERIPHERAL = 3, - OTG_STATE_B_WAIT_ACON = 4, - OTG_STATE_B_HOST = 5, - OTG_STATE_A_IDLE = 6, - OTG_STATE_A_WAIT_VRISE = 7, - OTG_STATE_A_WAIT_BCON = 8, - OTG_STATE_A_HOST = 9, - OTG_STATE_A_SUSPEND = 10, - OTG_STATE_A_PERIPHERAL = 11, - OTG_STATE_A_WAIT_VFALL = 12, - OTG_STATE_A_VBUS_ERR = 13, -}; - -enum usb_phy_events { - USB_EVENT_NONE = 0, - USB_EVENT_VBUS = 1, - USB_EVENT_ID = 2, - USB_EVENT_CHARGER = 3, - USB_EVENT_ENUMERATED = 4, -}; - -enum usb_phy_type { - USB_PHY_TYPE_UNDEFINED = 0, - USB_PHY_TYPE_USB2 = 1, - USB_PHY_TYPE_USB3 = 2, -}; - -enum usb_port_connect_type { - USB_PORT_CONNECT_TYPE_UNKNOWN = 0, - USB_PORT_CONNECT_TYPE_HOT_PLUG = 1, - USB_PORT_CONNECT_TYPE_HARD_WIRED = 2, - USB_PORT_NOT_USED = 3, -}; - -enum usb_role { - USB_ROLE_NONE = 0, - USB_ROLE_HOST = 1, - USB_ROLE_DEVICE = 2, -}; - -enum usb_ssp_rate { - USB_SSP_GEN_UNKNOWN = 0, - USB_SSP_GEN_2x1 = 1, - USB_SSP_GEN_1x2 = 2, - USB_SSP_GEN_2x2 = 3, -}; - -enum usb_wireless_status { - USB_WIRELESS_STATUS_NA = 0, - USB_WIRELESS_STATUS_DISCONNECTED = 1, - USB_WIRELESS_STATUS_CONNECTED = 2, -}; - -enum user_reg_flag { - USER_EVENT_REG_PERSIST = 1, - USER_EVENT_REG_MULTI_FORMAT = 2, - USER_EVENT_REG_MAX = 4, -}; - -enum utf16_endian { - UTF16_HOST_ENDIAN = 0, - UTF16_LITTLE_ENDIAN = 1, - UTF16_BIG_ENDIAN = 2, -}; - -enum utf8_normalization { - UTF8_NFDI = 0, - UTF8_NFDICF = 1, - UTF8_NMAX = 2, -}; - -enum uts_proc { - UTS_PROC_ARCH = 0, - UTS_PROC_OSTYPE = 1, - UTS_PROC_OSRELEASE = 2, - UTS_PROC_VERSION = 3, - UTS_PROC_HOSTNAME = 4, - UTS_PROC_DOMAINNAME = 5, -}; - -enum uv_bios_cmd { - UV_BIOS_COMMON = 0, - UV_BIOS_GET_SN_INFO = 1, - UV_BIOS_FREQ_BASE = 2, - UV_BIOS_WATCHLIST_ALLOC = 3, - UV_BIOS_WATCHLIST_FREE = 4, - UV_BIOS_MEMPROTECT = 5, - UV_BIOS_GET_PARTITION_ADDR = 6, - UV_BIOS_SET_LEGACY_VGA_TARGET = 7, -}; - -enum uv_memprotect { - UV_MEMPROT_RESTRICT_ACCESS = 0, - UV_MEMPROT_ALLOW_AMO = 1, - UV_MEMPROT_ALLOW_RW = 2, -}; - -enum uv_system_type { - UV_NONE = 0, - UV_LEGACY_APIC = 1, - UV_X2APIC = 2, -}; - -enum v4l2_av1_segment_feature { - V4L2_AV1_SEG_LVL_ALT_Q = 0, - V4L2_AV1_SEG_LVL_ALT_LF_Y_V = 1, - V4L2_AV1_SEG_LVL_REF_FRAME = 5, - V4L2_AV1_SEG_LVL_REF_SKIP = 6, - V4L2_AV1_SEG_LVL_REF_GLOBALMV = 7, - V4L2_AV1_SEG_LVL_MAX = 8, -}; - -enum v4l2_fwnode_bus_type { - V4L2_FWNODE_BUS_TYPE_GUESS = 0, - V4L2_FWNODE_BUS_TYPE_CSI2_CPHY = 1, - V4L2_FWNODE_BUS_TYPE_CSI1 = 2, - V4L2_FWNODE_BUS_TYPE_CCP2 = 3, - V4L2_FWNODE_BUS_TYPE_CSI2_DPHY = 4, - V4L2_FWNODE_BUS_TYPE_PARALLEL = 5, - V4L2_FWNODE_BUS_TYPE_BT656 = 6, - V4L2_FWNODE_BUS_TYPE_DPI = 7, - NR_OF_V4L2_FWNODE_BUS_TYPE = 8, -}; - -enum v4l2_preemphasis { - V4L2_PREEMPHASIS_DISABLED = 0, - V4L2_PREEMPHASIS_50_uS = 1, - V4L2_PREEMPHASIS_75_uS = 2, -}; - -enum vc_ctl_state { - ESnormal = 0, - ESesc = 1, - ESsquare = 2, - ESgetpars = 3, - ESfunckey = 4, - EShash = 5, - ESsetG0 = 6, - ESsetG1 = 7, - ESpercent = 8, - EScsiignore = 9, - ESnonstd = 10, - ESpalette = 11, - ESosc = 12, - ESANSI_first = 12, - ESapc = 13, - ESpm = 14, - ESdcs = 15, - ESANSI_last = 15, -}; - -enum vc_intensity { - VCI_HALF_BRIGHT = 0, - VCI_NORMAL = 1, - VCI_BOLD = 2, - VCI_MASK = 3, -}; - -enum vcap_action_field { - VCAP_AF_NO_VALUE = 0, - VCAP_AF_ACL_ID = 1, - VCAP_AF_CLS_VID_SEL = 2, - VCAP_AF_CNT_ID = 3, - VCAP_AF_COPY_PORT_NUM = 4, - VCAP_AF_COPY_QUEUE_NUM = 5, - VCAP_AF_CPU_COPY_ENA = 6, - VCAP_AF_CPU_QU = 7, - VCAP_AF_CPU_QUEUE_NUM = 8, - VCAP_AF_CUSTOM_ACE_TYPE_ENA = 9, - VCAP_AF_DEI_A_VAL = 10, - VCAP_AF_DEI_B_VAL = 11, - VCAP_AF_DEI_C_VAL = 12, - VCAP_AF_DEI_ENA = 13, - VCAP_AF_DEI_VAL = 14, - VCAP_AF_DLR_SEL = 15, - VCAP_AF_DP_ENA = 16, - VCAP_AF_DP_VAL = 17, - VCAP_AF_DSCP_ENA = 18, - VCAP_AF_DSCP_SEL = 19, - VCAP_AF_DSCP_VAL = 20, - VCAP_AF_ES2_REW_CMD = 21, - VCAP_AF_ESDX = 22, - VCAP_AF_FWD_KILL_ENA = 23, - VCAP_AF_FWD_MODE = 24, - VCAP_AF_FWD_SEL = 25, - VCAP_AF_HIT_ME_ONCE = 26, - VCAP_AF_HOST_MATCH = 27, - VCAP_AF_IGNORE_PIPELINE_CTRL = 28, - VCAP_AF_INTR_ENA = 29, - VCAP_AF_ISDX_ADD_REPLACE_SEL = 30, - VCAP_AF_ISDX_ADD_VAL = 31, - VCAP_AF_ISDX_ENA = 32, - VCAP_AF_ISDX_REPLACE_ENA = 33, - VCAP_AF_ISDX_VAL = 34, - VCAP_AF_LOOP_ENA = 35, - VCAP_AF_LRN_DIS = 36, - VCAP_AF_MAP_IDX = 37, - VCAP_AF_MAP_KEY = 38, - VCAP_AF_MAP_LOOKUP_SEL = 39, - VCAP_AF_MASK_MODE = 40, - VCAP_AF_MATCH_ID = 41, - VCAP_AF_MATCH_ID_MASK = 42, - VCAP_AF_MIRROR_ENA = 43, - VCAP_AF_MIRROR_PROBE = 44, - VCAP_AF_MIRROR_PROBE_ID = 45, - VCAP_AF_MRP_SEL = 46, - VCAP_AF_NXT_IDX = 47, - VCAP_AF_NXT_IDX_CTRL = 48, - VCAP_AF_OAM_SEL = 49, - VCAP_AF_PAG_OVERRIDE_MASK = 50, - VCAP_AF_PAG_VAL = 51, - VCAP_AF_PCP_A_VAL = 52, - VCAP_AF_PCP_B_VAL = 53, - VCAP_AF_PCP_C_VAL = 54, - VCAP_AF_PCP_ENA = 55, - VCAP_AF_PCP_VAL = 56, - VCAP_AF_PIPELINE_ACT = 57, - VCAP_AF_PIPELINE_FORCE_ENA = 58, - VCAP_AF_PIPELINE_PT = 59, - VCAP_AF_POLICE_ENA = 60, - VCAP_AF_POLICE_IDX = 61, - VCAP_AF_POLICE_REMARK = 62, - VCAP_AF_POLICE_VCAP_ONLY = 63, - VCAP_AF_POP_VAL = 64, - VCAP_AF_PORT_MASK = 65, - VCAP_AF_PUSH_CUSTOMER_TAG = 66, - VCAP_AF_PUSH_INNER_TAG = 67, - VCAP_AF_PUSH_OUTER_TAG = 68, - VCAP_AF_QOS_ENA = 69, - VCAP_AF_QOS_VAL = 70, - VCAP_AF_REW_OP = 71, - VCAP_AF_RT_DIS = 72, - VCAP_AF_SFID_ENA = 73, - VCAP_AF_SFID_VAL = 74, - VCAP_AF_SGID_ENA = 75, - VCAP_AF_SGID_VAL = 76, - VCAP_AF_SWAP_MACS_ENA = 77, - VCAP_AF_TAG_A_DEI_SEL = 78, - VCAP_AF_TAG_A_PCP_SEL = 79, - VCAP_AF_TAG_A_TPID_SEL = 80, - VCAP_AF_TAG_A_VID_SEL = 81, - VCAP_AF_TAG_B_DEI_SEL = 82, - VCAP_AF_TAG_B_PCP_SEL = 83, - VCAP_AF_TAG_B_TPID_SEL = 84, - VCAP_AF_TAG_B_VID_SEL = 85, - VCAP_AF_TAG_C_DEI_SEL = 86, - VCAP_AF_TAG_C_PCP_SEL = 87, - VCAP_AF_TAG_C_TPID_SEL = 88, - VCAP_AF_TAG_C_VID_SEL = 89, - VCAP_AF_TYPE = 90, - VCAP_AF_UNTAG_VID_ENA = 91, - VCAP_AF_VID_A_VAL = 92, - VCAP_AF_VID_B_VAL = 93, - VCAP_AF_VID_C_VAL = 94, - VCAP_AF_VID_REPLACE_ENA = 95, - VCAP_AF_VID_VAL = 96, - VCAP_AF_VLAN_POP_CNT = 97, - VCAP_AF_VLAN_POP_CNT_ENA = 98, -}; - -enum vcap_actionfield_set { - VCAP_AFS_NO_VALUE = 0, - VCAP_AFS_BASE_TYPE = 1, - VCAP_AFS_CLASSIFICATION = 2, - VCAP_AFS_CLASS_REDUCED = 3, - VCAP_AFS_ES0 = 4, - VCAP_AFS_FULL = 5, - VCAP_AFS_S1 = 6, - VCAP_AFS_SMAC_SIP = 7, - VCAP_AFS_VID = 8, -}; - -enum vcap_arp_opcode { - VCAP_ARP_OP_RESERVED = 0, - VCAP_ARP_OP_REQUEST = 1, - VCAP_ARP_OP_REPLY = 2, -}; - -enum vcap_bit { - VCAP_BIT_ANY = 0, - VCAP_BIT_0 = 1, - VCAP_BIT_1 = 2, -}; - -enum vcap_command { - VCAP_CMD_WRITE = 0, - VCAP_CMD_READ = 1, - VCAP_CMD_MOVE_DOWN = 2, - VCAP_CMD_MOVE_UP = 3, - VCAP_CMD_INITIALIZE = 4, -}; - -enum vcap_field_type { - VCAP_FIELD_BIT = 0, - VCAP_FIELD_U32 = 1, - VCAP_FIELD_U48 = 2, - VCAP_FIELD_U56 = 3, - VCAP_FIELD_U64 = 4, - VCAP_FIELD_U72 = 5, - VCAP_FIELD_U112 = 6, - VCAP_FIELD_U128 = 7, -}; - -enum vcap_is2_arp_opcode { - VCAP_IS2_ARP_REQUEST = 0, - VCAP_IS2_ARP_REPLY = 1, - VCAP_IS2_RARP_REQUEST = 2, - VCAP_IS2_RARP_REPLY = 3, -}; - -enum vcap_key_field { - VCAP_KF_NO_VALUE = 0, - VCAP_KF_8021BR_ECID_BASE = 1, - VCAP_KF_8021BR_ECID_EXT = 2, - VCAP_KF_8021BR_E_TAGGED = 3, - VCAP_KF_8021BR_GRP = 4, - VCAP_KF_8021BR_IGR_ECID_BASE = 5, - VCAP_KF_8021BR_IGR_ECID_EXT = 6, - VCAP_KF_8021CB_R_TAGGED_IS = 7, - VCAP_KF_8021Q_DEI0 = 8, - VCAP_KF_8021Q_DEI1 = 9, - VCAP_KF_8021Q_DEI2 = 10, - VCAP_KF_8021Q_DEI_CLS = 11, - VCAP_KF_8021Q_PCP0 = 12, - VCAP_KF_8021Q_PCP1 = 13, - VCAP_KF_8021Q_PCP2 = 14, - VCAP_KF_8021Q_PCP_CLS = 15, - VCAP_KF_8021Q_TPID = 16, - VCAP_KF_8021Q_TPID0 = 17, - VCAP_KF_8021Q_TPID1 = 18, - VCAP_KF_8021Q_TPID2 = 19, - VCAP_KF_8021Q_VID0 = 20, - VCAP_KF_8021Q_VID1 = 21, - VCAP_KF_8021Q_VID2 = 22, - VCAP_KF_8021Q_VID_CLS = 23, - VCAP_KF_8021Q_VLAN_DBL_TAGGED_IS = 24, - VCAP_KF_8021Q_VLAN_TAGGED_IS = 25, - VCAP_KF_8021Q_VLAN_TAGS = 26, - VCAP_KF_ACL_GRP_ID = 27, - VCAP_KF_ARP_ADDR_SPACE_OK_IS = 28, - VCAP_KF_ARP_LEN_OK_IS = 29, - VCAP_KF_ARP_OPCODE = 30, - VCAP_KF_ARP_OPCODE_UNKNOWN_IS = 31, - VCAP_KF_ARP_PROTO_SPACE_OK_IS = 32, - VCAP_KF_ARP_SENDER_MATCH_IS = 33, - VCAP_KF_ARP_TGT_MATCH_IS = 34, - VCAP_KF_COSID_CLS = 35, - VCAP_KF_ES0_ISDX_KEY_ENA = 36, - VCAP_KF_ETYPE = 37, - VCAP_KF_ETYPE_LEN_IS = 38, - VCAP_KF_HOST_MATCH = 39, - VCAP_KF_IF_EGR_PORT_MASK = 40, - VCAP_KF_IF_EGR_PORT_MASK_RNG = 41, - VCAP_KF_IF_EGR_PORT_NO = 42, - VCAP_KF_IF_IGR_PORT = 43, - VCAP_KF_IF_IGR_PORT_MASK = 44, - VCAP_KF_IF_IGR_PORT_MASK_L3 = 45, - VCAP_KF_IF_IGR_PORT_MASK_RNG = 46, - VCAP_KF_IF_IGR_PORT_MASK_SEL = 47, - VCAP_KF_IF_IGR_PORT_SEL = 48, - VCAP_KF_IP4_IS = 49, - VCAP_KF_IP_MC_IS = 50, - VCAP_KF_IP_PAYLOAD_5TUPLE = 51, - VCAP_KF_IP_PAYLOAD_S1_IP6 = 52, - VCAP_KF_IP_SNAP_IS = 53, - VCAP_KF_ISDX_CLS = 54, - VCAP_KF_ISDX_GT0_IS = 55, - VCAP_KF_L2_BC_IS = 56, - VCAP_KF_L2_DMAC = 57, - VCAP_KF_L2_FRM_TYPE = 58, - VCAP_KF_L2_FWD_IS = 59, - VCAP_KF_L2_LLC = 60, - VCAP_KF_L2_MAC = 61, - VCAP_KF_L2_MC_IS = 62, - VCAP_KF_L2_PAYLOAD0 = 63, - VCAP_KF_L2_PAYLOAD1 = 64, - VCAP_KF_L2_PAYLOAD2 = 65, - VCAP_KF_L2_PAYLOAD_ETYPE = 66, - VCAP_KF_L2_SMAC = 67, - VCAP_KF_L2_SNAP = 68, - VCAP_KF_L3_DIP_EQ_SIP_IS = 69, - VCAP_KF_L3_DPL_CLS = 70, - VCAP_KF_L3_DSCP = 71, - VCAP_KF_L3_DST_IS = 72, - VCAP_KF_L3_FRAGMENT = 73, - VCAP_KF_L3_FRAGMENT_TYPE = 74, - VCAP_KF_L3_FRAG_INVLD_L4_LEN = 75, - VCAP_KF_L3_FRAG_OFS_GT0 = 76, - VCAP_KF_L3_IP4_DIP = 77, - VCAP_KF_L3_IP4_SIP = 78, - VCAP_KF_L3_IP6_DIP = 79, - VCAP_KF_L3_IP6_DIP_MSB = 80, - VCAP_KF_L3_IP6_SIP = 81, - VCAP_KF_L3_IP6_SIP_MSB = 82, - VCAP_KF_L3_IP_PROTO = 83, - VCAP_KF_L3_OPTIONS_IS = 84, - VCAP_KF_L3_PAYLOAD = 85, - VCAP_KF_L3_RT_IS = 86, - VCAP_KF_L3_TOS = 87, - VCAP_KF_L3_TTL_GT0 = 88, - VCAP_KF_L4_1588_DOM = 89, - VCAP_KF_L4_1588_VER = 90, - VCAP_KF_L4_ACK = 91, - VCAP_KF_L4_DPORT = 92, - VCAP_KF_L4_FIN = 93, - VCAP_KF_L4_PAYLOAD = 94, - VCAP_KF_L4_PSH = 95, - VCAP_KF_L4_RNG = 96, - VCAP_KF_L4_RST = 97, - VCAP_KF_L4_SEQUENCE_EQ0_IS = 98, - VCAP_KF_L4_SPORT = 99, - VCAP_KF_L4_SPORT_EQ_DPORT_IS = 100, - VCAP_KF_L4_SYN = 101, - VCAP_KF_L4_URG = 102, - VCAP_KF_LOOKUP_FIRST_IS = 103, - VCAP_KF_LOOKUP_GEN_IDX = 104, - VCAP_KF_LOOKUP_GEN_IDX_SEL = 105, - VCAP_KF_LOOKUP_INDEX = 106, - VCAP_KF_LOOKUP_PAG = 107, - VCAP_KF_MIRROR_PROBE = 108, - VCAP_KF_OAM_CCM_CNTS_EQ0 = 109, - VCAP_KF_OAM_DETECTED = 110, - VCAP_KF_OAM_FLAGS = 111, - VCAP_KF_OAM_MEL_FLAGS = 112, - VCAP_KF_OAM_MEPID = 113, - VCAP_KF_OAM_OPCODE = 114, - VCAP_KF_OAM_VER = 115, - VCAP_KF_OAM_Y1731_IS = 116, - VCAP_KF_PDU_TYPE = 117, - VCAP_KF_PROT_ACTIVE = 118, - VCAP_KF_RTP_ID = 119, - VCAP_KF_RT_FRMID = 120, - VCAP_KF_RT_TYPE = 121, - VCAP_KF_RT_VLAN_IDX = 122, - VCAP_KF_TCP_IS = 123, - VCAP_KF_TCP_UDP_IS = 124, - VCAP_KF_TYPE = 125, -}; - -enum vcap_keyfield_set { - VCAP_KFS_NO_VALUE = 0, - VCAP_KFS_5TUPLE_IP4 = 1, - VCAP_KFS_5TUPLE_IP6 = 2, - VCAP_KFS_7TUPLE = 3, - VCAP_KFS_ARP = 4, - VCAP_KFS_DBL_VID = 5, - VCAP_KFS_DMAC_VID = 6, - VCAP_KFS_ETAG = 7, - VCAP_KFS_IP4_OTHER = 8, - VCAP_KFS_IP4_TCP_UDP = 9, - VCAP_KFS_IP4_VID = 10, - VCAP_KFS_IP6_OTHER = 11, - VCAP_KFS_IP6_STD = 12, - VCAP_KFS_IP6_TCP_UDP = 13, - VCAP_KFS_IP6_VID = 14, - VCAP_KFS_IP_7TUPLE = 15, - VCAP_KFS_ISDX = 16, - VCAP_KFS_LL_FULL = 17, - VCAP_KFS_MAC_ETYPE = 18, - VCAP_KFS_MAC_LLC = 19, - VCAP_KFS_MAC_SNAP = 20, - VCAP_KFS_NORMAL = 21, - VCAP_KFS_NORMAL_5TUPLE_IP4 = 22, - VCAP_KFS_NORMAL_7TUPLE = 23, - VCAP_KFS_NORMAL_IP6 = 24, - VCAP_KFS_OAM = 25, - VCAP_KFS_PURE_5TUPLE_IP4 = 26, - VCAP_KFS_RT = 27, - VCAP_KFS_SMAC_SIP4 = 28, - VCAP_KFS_SMAC_SIP6 = 29, - VCAP_KFS_VID = 30, -}; - -enum vcap_rule_error { - VCAP_ERR_NONE = 0, - VCAP_ERR_NO_ADMIN = 1, - VCAP_ERR_NO_NETDEV = 2, - VCAP_ERR_NO_KEYSET_MATCH = 3, - VCAP_ERR_NO_ACTIONSET_MATCH = 4, - VCAP_ERR_NO_PORT_KEYSET_MATCH = 5, -}; - -enum vcap_rule_state { - VCAP_RS_PERMANENT = 0, - VCAP_RS_ENABLED = 1, - VCAP_RS_DISABLED = 2, -}; - -enum vcap_selection { - VCAP_SEL_ENTRY = 1, - VCAP_SEL_ACTION = 2, - VCAP_SEL_COUNTER = 4, - VCAP_SEL_ALL = 255, -}; - -enum vcap_type { - VCAP_TYPE_ES0 = 0, - VCAP_TYPE_ES2 = 1, - VCAP_TYPE_IS0 = 2, - VCAP_TYPE_IS1 = 3, - VCAP_TYPE_IS2 = 4, - VCAP_TYPE_MAX = 5, -}; - -enum vcap_user { - VCAP_USER_PTP = 0, - VCAP_USER_MRP = 1, - VCAP_USER_CFM = 2, - VCAP_USER_VLAN = 3, - VCAP_USER_QOS = 4, - VCAP_USER_VCAP_UTIL = 5, - VCAP_USER_TC = 6, - VCAP_USER_TC_EXTRA = 7, - __VCAP_USER_AFTER_LAST = 8, - VCAP_USER_MAX = 7, -}; - -enum vcpu_state { - VCPU_RUNNING = 0, - VCPU_HALTED = 1, - VCPU_HASHED = 2, -}; - -enum vdso_clock_mode { - VDSO_CLOCKMODE_NONE = 0, - VDSO_CLOCKMODE_TSC = 1, - VDSO_CLOCKMODE_PVCLOCK = 2, - VDSO_CLOCKMODE_HVCLOCK = 3, - VDSO_CLOCKMODE_MAX = 4, - VDSO_CLOCKMODE_TIMENS = 2147483647, -}; - -enum vdso_pages { - VDSO_TIME_PAGE_OFFSET = 0, - VDSO_TIMENS_PAGE_OFFSET = 1, - VDSO_RNG_PAGE_OFFSET = 2, - VDSO_ARCH_PAGES_START = 3, - VDSO_ARCH_PAGES_END = 3, - VDSO_NR_PAGES = 4, -}; - -enum verifier_phase { - CHECK_META = 0, - CHECK_TYPE = 1, -}; - -enum vesa_blank_mode { - VESA_NO_BLANKING = 0, - VESA_VSYNC_SUSPEND = 1, - VESA_HSYNC_SUSPEND = 2, - VESA_POWERDOWN = 3, - VESA_BLANK_MAX = 3, -}; - -enum vga_switcheroo_client_id { - VGA_SWITCHEROO_UNKNOWN_ID = 4096, - VGA_SWITCHEROO_IGD = 0, - VGA_SWITCHEROO_DIS = 1, - VGA_SWITCHEROO_MAX_CLIENTS = 2, -}; - -enum vga_switcheroo_handler_flags_t { - VGA_SWITCHEROO_CAN_SWITCH_DDC = 1, - VGA_SWITCHEROO_NEEDS_EDP_CONFIG = 2, -}; - -enum vga_switcheroo_state { - VGA_SWITCHEROO_OFF = 0, - VGA_SWITCHEROO_ON = 1, - VGA_SWITCHEROO_NOT_FOUND = 2, -}; - -enum vhost_task_flags { - VHOST_TASK_FLAGS_STOP = 0, - VHOST_TASK_FLAGS_KILLED = 1, -}; - -enum virtio_balloon_config_read { - VIRTIO_BALLOON_CONFIG_READ_CMD_ID = 0, -}; - -enum virtio_balloon_vq { - VIRTIO_BALLOON_VQ_INFLATE = 0, - VIRTIO_BALLOON_VQ_DEFLATE = 1, - VIRTIO_BALLOON_VQ_STATS = 2, - VIRTIO_BALLOON_VQ_FREE_PAGE = 3, - VIRTIO_BALLOON_VQ_REPORTING = 4, - VIRTIO_BALLOON_VQ_MAX = 5, -}; - -enum virtnet_xmit_type { - VIRTNET_XMIT_TYPE_SKB = 0, - VIRTNET_XMIT_TYPE_SKB_ORPHAN = 1, - VIRTNET_XMIT_TYPE_XDP = 2, - VIRTNET_XMIT_TYPE_XSK = 3, -}; - -enum visit_state { - NOT_VISITED = 0, - VISITED = 1, - RESOLVED = 2, -}; - -enum vlan_flags { - VLAN_FLAG_REORDER_HDR = 1, - VLAN_FLAG_GVRP = 2, - VLAN_FLAG_LOOSE_BINDING = 4, - VLAN_FLAG_MVRP = 8, - VLAN_FLAG_BRIDGE_BINDING = 16, -}; - -enum vlan_protos { - VLAN_PROTO_8021Q = 0, - VLAN_PROTO_8021AD = 1, - VLAN_PROTO_NUM = 2, -}; - -enum vm_event_item { - PGPGIN = 0, - PGPGOUT = 1, - PSWPIN = 2, - PSWPOUT = 3, - PGALLOC_DMA = 4, - PGALLOC_DMA32 = 5, - PGALLOC_NORMAL = 6, - PGALLOC_MOVABLE = 7, - PGALLOC_DEVICE = 8, - ALLOCSTALL_DMA = 9, - ALLOCSTALL_DMA32 = 10, - ALLOCSTALL_NORMAL = 11, - ALLOCSTALL_MOVABLE = 12, - ALLOCSTALL_DEVICE = 13, - PGSCAN_SKIP_DMA = 14, - PGSCAN_SKIP_DMA32 = 15, - PGSCAN_SKIP_NORMAL = 16, - PGSCAN_SKIP_MOVABLE = 17, - PGSCAN_SKIP_DEVICE = 18, - PGFREE = 19, - PGACTIVATE = 20, - PGDEACTIVATE = 21, - PGLAZYFREE = 22, - PGFAULT = 23, - PGMAJFAULT = 24, - PGLAZYFREED = 25, - PGREFILL = 26, - PGREUSE = 27, - PGSTEAL_KSWAPD = 28, - PGSTEAL_DIRECT = 29, - PGSTEAL_KHUGEPAGED = 30, - PGSTEAL_PROACTIVE = 31, - PGSCAN_KSWAPD = 32, - PGSCAN_DIRECT = 33, - PGSCAN_KHUGEPAGED = 34, - PGSCAN_PROACTIVE = 35, - PGSCAN_DIRECT_THROTTLE = 36, - PGSCAN_ANON = 37, - PGSCAN_FILE = 38, - PGSTEAL_ANON = 39, - PGSTEAL_FILE = 40, - PGSCAN_ZONE_RECLAIM_SUCCESS = 41, - PGSCAN_ZONE_RECLAIM_FAILED = 42, - PGINODESTEAL = 43, - SLABS_SCANNED = 44, - KSWAPD_INODESTEAL = 45, - KSWAPD_LOW_WMARK_HIT_QUICKLY = 46, - KSWAPD_HIGH_WMARK_HIT_QUICKLY = 47, - PAGEOUTRUN = 48, - PGROTATED = 49, - DROP_PAGECACHE = 50, - DROP_SLAB = 51, - OOM_KILL = 52, - NUMA_PTE_UPDATES = 53, - NUMA_HUGE_PTE_UPDATES = 54, - NUMA_HINT_FAULTS = 55, - NUMA_HINT_FAULTS_LOCAL = 56, - NUMA_PAGE_MIGRATE = 57, - PGMIGRATE_SUCCESS = 58, - PGMIGRATE_FAIL = 59, - THP_MIGRATION_SUCCESS = 60, - THP_MIGRATION_FAIL = 61, - THP_MIGRATION_SPLIT = 62, - COMPACTMIGRATE_SCANNED = 63, - COMPACTFREE_SCANNED = 64, - COMPACTISOLATED = 65, - COMPACTSTALL = 66, - COMPACTFAIL = 67, - COMPACTSUCCESS = 68, - KCOMPACTD_WAKE = 69, - KCOMPACTD_MIGRATE_SCANNED = 70, - KCOMPACTD_FREE_SCANNED = 71, - HTLB_BUDDY_PGALLOC = 72, - HTLB_BUDDY_PGALLOC_FAIL = 73, - CMA_ALLOC_SUCCESS = 74, - CMA_ALLOC_FAIL = 75, - UNEVICTABLE_PGCULLED = 76, - UNEVICTABLE_PGSCANNED = 77, - UNEVICTABLE_PGRESCUED = 78, - UNEVICTABLE_PGMLOCKED = 79, - UNEVICTABLE_PGMUNLOCKED = 80, - UNEVICTABLE_PGCLEARED = 81, - UNEVICTABLE_PGSTRANDED = 82, - THP_FAULT_ALLOC = 83, - THP_FAULT_FALLBACK = 84, - THP_FAULT_FALLBACK_CHARGE = 85, - THP_COLLAPSE_ALLOC = 86, - THP_COLLAPSE_ALLOC_FAILED = 87, - THP_FILE_ALLOC = 88, - THP_FILE_FALLBACK = 89, - THP_FILE_FALLBACK_CHARGE = 90, - THP_FILE_MAPPED = 91, - THP_SPLIT_PAGE = 92, - THP_SPLIT_PAGE_FAILED = 93, - THP_DEFERRED_SPLIT_PAGE = 94, - THP_UNDERUSED_SPLIT_PAGE = 95, - THP_SPLIT_PMD = 96, - THP_SCAN_EXCEED_NONE_PTE = 97, - THP_SCAN_EXCEED_SWAP_PTE = 98, - THP_SCAN_EXCEED_SHARED_PTE = 99, - THP_SPLIT_PUD = 100, - THP_ZERO_PAGE_ALLOC = 101, - THP_ZERO_PAGE_ALLOC_FAILED = 102, - THP_SWPOUT = 103, - THP_SWPOUT_FALLBACK = 104, - BALLOON_INFLATE = 105, - BALLOON_DEFLATE = 106, - BALLOON_MIGRATE = 107, - SWAP_RA = 108, - SWAP_RA_HIT = 109, - SWPIN_ZERO = 110, - SWPOUT_ZERO = 111, - KSM_SWPIN_COPY = 112, - COW_KSM = 113, - ZSWPIN = 114, - ZSWPOUT = 115, - ZSWPWB = 116, - DIRECT_MAP_LEVEL2_SPLIT = 117, - DIRECT_MAP_LEVEL3_SPLIT = 118, - DIRECT_MAP_LEVEL2_COLLAPSE = 119, - DIRECT_MAP_LEVEL3_COLLAPSE = 120, - NR_VM_EVENT_ITEMS = 121, -}; - -enum vm_fault_reason { - VM_FAULT_OOM = 1, - VM_FAULT_SIGBUS = 2, - VM_FAULT_MAJOR = 4, - VM_FAULT_HWPOISON = 16, - VM_FAULT_HWPOISON_LARGE = 32, - VM_FAULT_SIGSEGV = 64, - VM_FAULT_NOPAGE = 256, - VM_FAULT_LOCKED = 512, - VM_FAULT_RETRY = 1024, - VM_FAULT_FALLBACK = 2048, - VM_FAULT_DONE_COW = 4096, - VM_FAULT_NEEDDSYNC = 8192, - VM_FAULT_COMPLETED = 16384, - VM_FAULT_HINDEX_MASK = 983040, -}; - -enum vm_stat_item { - NR_DIRTY_THRESHOLD = 0, - NR_DIRTY_BG_THRESHOLD = 1, - NR_MEMMAP_PAGES = 2, - NR_MEMMAP_BOOT_PAGES = 3, - NR_VM_STAT_ITEMS = 4, -}; - -enum vma_merge_state { - VMA_MERGE_START = 0, - VMA_MERGE_ERROR_NOMEM = 1, - VMA_MERGE_NOMERGE = 2, - VMA_MERGE_SUCCESS = 3, -}; - -enum vma_resv_mode { - VMA_NEEDS_RESV = 0, - VMA_COMMIT_RESV = 1, - VMA_END_RESV = 2, - VMA_ADD_RESV = 3, - VMA_DEL_RESV = 4, -}; - -enum vme_resource_type { - VME_MASTER = 0, - VME_SLAVE = 1, - VME_DMA = 2, - VME_LM = 3, -}; - -enum vmpressure_levels { - VMPRESSURE_LOW = 0, - VMPRESSURE_MEDIUM = 1, - VMPRESSURE_CRITICAL = 2, - VMPRESSURE_NUM_LEVELS = 3, -}; - -enum vmpressure_modes { - VMPRESSURE_NO_PASSTHROUGH = 0, - VMPRESSURE_HIERARCHY = 1, - VMPRESSURE_LOCAL = 2, - VMPRESSURE_NUM_MODES = 3, -}; - -enum vmscan_throttle_state { - VMSCAN_THROTTLE_WRITEBACK = 0, - VMSCAN_THROTTLE_ISOLATED = 1, - VMSCAN_THROTTLE_NOPROGRESS = 2, - VMSCAN_THROTTLE_CONGESTED = 3, - NR_VMSCAN_THROTTLE = 4, -}; - -enum vmscape_mitigations { - VMSCAPE_MITIGATION_NONE = 0, - VMSCAPE_MITIGATION_AUTO = 1, - VMSCAPE_MITIGATION_IBPB_EXIT_TO_USER = 2, - VMSCAPE_MITIGATION_IBPB_ON_VMEXIT = 3, -}; - -enum vmx_feature_leafs { - MISC_FEATURES = 0, - PRIMARY_CTLS = 1, - SECONDARY_CTLS = 2, - TERTIARY_CTLS_LOW = 3, - TERTIARY_CTLS_HIGH = 4, - NR_VMX_FEATURE_WORDS = 5, -}; - -enum vmx_l1d_flush_state { - VMENTER_L1D_FLUSH_AUTO = 0, - VMENTER_L1D_FLUSH_NEVER = 1, - VMENTER_L1D_FLUSH_COND = 2, - VMENTER_L1D_FLUSH_ALWAYS = 3, - VMENTER_L1D_FLUSH_EPT_DISABLED = 4, - VMENTER_L1D_FLUSH_NOT_REQUIRED = 5, -}; - -enum vp_vq_vector_policy { - VP_VQ_VECTOR_POLICY_EACH = 0, - VP_VQ_VECTOR_POLICY_SHARED_SLOW = 1, - VP_VQ_VECTOR_POLICY_SHARED = 2, -}; - -enum vtime_state { - VTIME_INACTIVE = 0, - VTIME_IDLE = 1, - VTIME_SYS = 2, - VTIME_USER = 3, - VTIME_GUEST = 4, -}; - -enum watch_meta_notification_subtype { - WATCH_META_REMOVAL_NOTIFICATION = 0, - WATCH_META_LOSS_NOTIFICATION = 1, -}; - -enum watch_notification_type { - WATCH_TYPE_META = 0, - WATCH_TYPE_KEY_NOTIFY = 1, - WATCH_TYPE__NR = 2, -}; - -enum wb_reason { - WB_REASON_BACKGROUND = 0, - WB_REASON_VMSCAN = 1, - WB_REASON_SYNC = 2, - WB_REASON_PERIODIC = 3, - WB_REASON_LAPTOP_TIMER = 4, - WB_REASON_FS_FREE_SPACE = 5, - WB_REASON_FORKER_THREAD = 6, - WB_REASON_FOREIGN_FLUSH = 7, - WB_REASON_MAX = 8, -}; - -enum wb_stat_item { - WB_RECLAIMABLE = 0, - WB_WRITEBACK = 1, - WB_DIRTIED = 2, - WB_WRITTEN = 3, - NR_WB_STAT_ITEMS = 4, -}; - -enum wb_state { - WB_registered = 0, - WB_writeback_running = 1, - WB_has_dirty_io = 2, - WB_start_all = 3, -}; - -enum wbrf_notifier_actions { - WBRF_CHANGED = 0, -}; - -enum wbt_flags { - WBT_TRACKED = 1, - WBT_READ = 2, - WBT_SWAP = 4, - WBT_DISCARD = 8, - WBT_NR_BITS = 4, -}; - -enum wd_read_status { - WD_READ_SUCCESS = 0, - WD_READ_UNSTABLE = 1, - WD_READ_SKIP = 2, -}; - -enum which_selector { - FS = 0, - GS = 1, -}; - -enum wiphy_flags { - WIPHY_FLAG_SUPPORTS_EXT_KEK_KCK = 1, - WIPHY_FLAG_SUPPORTS_MLO = 2, - WIPHY_FLAG_SPLIT_SCAN_6GHZ = 4, - WIPHY_FLAG_NETNS_OK = 8, - WIPHY_FLAG_PS_ON_BY_DEFAULT = 16, - WIPHY_FLAG_4ADDR_AP = 32, - WIPHY_FLAG_4ADDR_STATION = 64, - WIPHY_FLAG_CONTROL_PORT_PROTOCOL = 128, - WIPHY_FLAG_IBSS_RSN = 256, - WIPHY_FLAG_DISABLE_WEXT = 512, - WIPHY_FLAG_MESH_AUTH = 1024, - WIPHY_FLAG_SUPPORTS_EXT_KCK_32 = 2048, - WIPHY_FLAG_SUPPORTS_NSTR_NONPRIMARY = 4096, - WIPHY_FLAG_SUPPORTS_FW_ROAM = 8192, - WIPHY_FLAG_AP_UAPSD = 16384, - WIPHY_FLAG_SUPPORTS_TDLS = 32768, - WIPHY_FLAG_TDLS_EXTERNAL_SETUP = 65536, - WIPHY_FLAG_HAVE_AP_SME = 131072, - WIPHY_FLAG_REPORTS_OBSS = 262144, - WIPHY_FLAG_AP_PROBE_RESP_OFFLOAD = 524288, - WIPHY_FLAG_OFFCHAN_TX = 1048576, - WIPHY_FLAG_HAS_REMAIN_ON_CHANNEL = 2097152, - WIPHY_FLAG_SUPPORTS_5_10_MHZ = 4194304, - WIPHY_FLAG_HAS_CHANNEL_SWITCH = 8388608, - WIPHY_FLAG_NOTIFY_REGDOM_BY_DRIVER = 16777216, - WIPHY_FLAG_CHANNEL_CHANGE_ON_BEACON = 33554432, -}; - -enum wm831x_auxadc { - WM831X_AUX_CAL = 15, - WM831X_AUX_BKUP_BATT = 10, - WM831X_AUX_WALL = 9, - WM831X_AUX_BATT = 8, - WM831X_AUX_USB = 7, - WM831X_AUX_SYSVDD = 6, - WM831X_AUX_BATT_TEMP = 5, - WM831X_AUX_CHIP_TEMP = 4, - WM831X_AUX_AUX4 = 3, - WM831X_AUX_AUX3 = 2, - WM831X_AUX_AUX2 = 1, - WM831X_AUX_AUX1 = 0, -}; - -enum wm831x_parent { - WM8310 = 33552, - WM8311 = 33553, - WM8312 = 33554, - WM8320 = 33568, - WM8321 = 33569, - WM8325 = 33573, - WM8326 = 33574, -}; - -enum wm831x_status_src { - WM831X_STATUS_PRESERVE = 0, - WM831X_STATUS_OTP = 1, - WM831X_STATUS_POWER = 2, - WM831X_STATUS_CHARGER = 3, - WM831X_STATUS_MANUAL = 4, -}; - -enum wm831x_watchdog_action { - WM831X_WDOG_NONE = 0, - WM831X_WDOG_INTERRUPT = 1, - WM831X_WDOG_RESET = 2, - WM831X_WDOG_WAKE = 3, -}; - -enum work_bits { - WORK_STRUCT_PENDING_BIT = 0, - WORK_STRUCT_INACTIVE_BIT = 1, - WORK_STRUCT_PWQ_BIT = 2, - WORK_STRUCT_LINKED_BIT = 3, - WORK_STRUCT_FLAG_BITS = 4, - WORK_STRUCT_COLOR_SHIFT = 4, - WORK_STRUCT_COLOR_BITS = 4, - WORK_STRUCT_PWQ_SHIFT = 8, - WORK_OFFQ_FLAG_SHIFT = 4, - WORK_OFFQ_BH_BIT = 4, - WORK_OFFQ_FLAG_END = 5, - WORK_OFFQ_FLAG_BITS = 1, - WORK_OFFQ_DISABLE_SHIFT = 5, - WORK_OFFQ_DISABLE_BITS = 16, - WORK_OFFQ_POOL_SHIFT = 21, - WORK_OFFQ_LEFT = 43, - WORK_OFFQ_POOL_BITS = 31, -}; - -enum work_cancel_flags { - WORK_CANCEL_DELAYED = 1, - WORK_CANCEL_DISABLE = 2, -}; - -enum work_flags { - WORK_STRUCT_PENDING = 1, - WORK_STRUCT_INACTIVE = 2, - WORK_STRUCT_PWQ = 4, - WORK_STRUCT_LINKED = 8, - WORK_STRUCT_STATIC = 0, -}; - -enum worker_flags { - WORKER_DIE = 2, - WORKER_IDLE = 4, - WORKER_PREP = 8, - WORKER_CPU_INTENSIVE = 64, - WORKER_UNBOUND = 128, - WORKER_REBOUND = 256, - WORKER_NOT_RUNNING = 456, -}; - -enum worker_pool_flags { - POOL_BH = 1, - POOL_MANAGER_ACTIVE = 2, - POOL_DISASSOCIATED = 4, - POOL_BH_DRAINING = 8, -}; - -enum wq_affn_scope { - WQ_AFFN_DFL = 0, - WQ_AFFN_CPU = 1, - WQ_AFFN_SMT = 2, - WQ_AFFN_CACHE = 3, - WQ_AFFN_NUMA = 4, - WQ_AFFN_SYSTEM = 5, - WQ_AFFN_NR_TYPES = 6, -}; - -enum wq_consts { - WQ_MAX_ACTIVE = 2048, - WQ_UNBOUND_MAX_ACTIVE = 2048, - WQ_DFL_ACTIVE = 1024, - WQ_DFL_MIN_ACTIVE = 8, -}; - -enum wq_flags { - WQ_BH = 1, - WQ_UNBOUND = 2, - WQ_FREEZABLE = 4, - WQ_MEM_RECLAIM = 8, - WQ_HIGHPRI = 16, - WQ_CPU_INTENSIVE = 32, - WQ_SYSFS = 64, - WQ_POWER_EFFICIENT = 128, - WQ_PERCPU = 256, - __WQ_DESTROYING = 32768, - __WQ_DRAINING = 65536, - __WQ_ORDERED = 131072, - __WQ_LEGACY = 262144, - __WQ_BH_ALLOWS = 17, -}; - -enum wq_internal_consts { - NR_STD_WORKER_POOLS = 2, - UNBOUND_POOL_HASH_ORDER = 6, - BUSY_WORKER_HASH_ORDER = 6, - MAX_IDLE_WORKERS_RATIO = 4, - IDLE_WORKER_TIMEOUT = 300000, - MAYDAY_INITIAL_TIMEOUT = 10, - MAYDAY_INTERVAL = 100, - CREATE_COOLDOWN = 1000, - RESCUER_NICE_LEVEL = -20, - HIGHPRI_NICE_LEVEL = -20, - WQ_NAME_LEN = 32, - WORKER_ID_LEN = 42, -}; - -enum wq_misc_consts { - WORK_NR_COLORS = 16, - WORK_CPU_UNBOUND = 8192, - WORK_BUSY_PENDING = 1, - WORK_BUSY_RUNNING = 2, - WORKER_DESC_LEN = 32, -}; - -enum writeback_sync_modes { - WB_SYNC_NONE = 0, - WB_SYNC_ALL = 1, -}; - -enum x509_actions { - ACT_x509_extract_key_data = 0, - ACT_x509_extract_name_segment = 1, - ACT_x509_note_OID = 2, - ACT_x509_note_issuer = 3, - ACT_x509_note_not_after = 4, - ACT_x509_note_not_before = 5, - ACT_x509_note_params = 6, - ACT_x509_note_serial = 7, - ACT_x509_note_sig_algo = 8, - ACT_x509_note_signature = 9, - ACT_x509_note_subject = 10, - ACT_x509_note_tbs_certificate = 11, - ACT_x509_process_extension = 12, - NR__x509_actions = 13, -}; - -enum x509_akid_actions { - ACT_x509_akid_note_kid = 0, - ACT_x509_akid_note_name = 1, - ACT_x509_akid_note_serial = 2, - ACT_x509_extract_name_segment___2 = 3, - ACT_x509_note_OID___2 = 4, - NR__x509_akid_actions = 5, -}; - -enum x86_hardware_subarch { - X86_SUBARCH_PC = 0, - X86_SUBARCH_LGUEST = 1, - X86_SUBARCH_XEN = 2, - X86_SUBARCH_INTEL_MID = 3, - X86_SUBARCH_CE4100 = 4, - X86_NR_SUBARCHS = 5, -}; - -enum x86_hypervisor_type { - X86_HYPER_NATIVE = 0, - X86_HYPER_VMWARE = 1, - X86_HYPER_MS_HYPERV = 2, - X86_HYPER_XEN_PV = 3, - X86_HYPER_XEN_HVM = 4, - X86_HYPER_KVM = 5, - X86_HYPER_JAILHOUSE = 6, - X86_HYPER_ACRN = 7, -}; - -enum x86_intercept_stage; - -enum x86_legacy_i8042_state { - X86_LEGACY_I8042_PLATFORM_ABSENT = 0, - X86_LEGACY_I8042_FIRMWARE_ABSENT = 1, - X86_LEGACY_I8042_EXPECTED_PRESENT = 2, -}; - -enum x86_pf_error_code { - X86_PF_PROT = 1, - X86_PF_WRITE = 2, - X86_PF_USER = 4, - X86_PF_RSVD = 8, - X86_PF_INSTR = 16, - X86_PF_PK = 32, - X86_PF_SHSTK = 64, - X86_PF_SGX = 32768, - X86_PF_RMP = 2147483648, -}; - -enum x86_regset_32 { - REGSET32_GENERAL = 0, - REGSET32_FP = 1, - REGSET32_XFP = 2, - REGSET32_XSTATE = 3, - REGSET32_TLS = 4, - REGSET32_IOPERM = 5, -}; - -enum x86_regset_64 { - REGSET64_GENERAL = 0, - REGSET64_FP = 1, - REGSET64_IOPERM = 2, - REGSET64_XSTATE = 3, - REGSET64_SSP = 4, -}; - -enum x86_topology_cpu_type { - TOPO_CPU_TYPE_PERFORMANCE = 0, - TOPO_CPU_TYPE_EFFICIENCY = 1, - TOPO_CPU_TYPE_UNKNOWN = 2, -}; - -enum x86_topology_domains { - TOPO_SMT_DOMAIN = 0, - TOPO_CORE_DOMAIN = 1, - TOPO_MODULE_DOMAIN = 2, - TOPO_TILE_DOMAIN = 3, - TOPO_DIE_DOMAIN = 4, - TOPO_DIEGRP_DOMAIN = 5, - TOPO_PKG_DOMAIN = 6, - TOPO_MAX_DOMAIN = 7, -}; - -enum xa_lock_type { - XA_LOCK_IRQ = 1, - XA_LOCK_BH = 2, -}; - -enum xb_req_state { - xb_req_state_queued = 0, - xb_req_state_wait_reply = 1, - xb_req_state_got_reply = 2, - xb_req_state_aborted = 3, -}; - -enum xdp_action { - XDP_ABORTED = 0, - XDP_DROP = 1, - XDP_PASS = 2, - XDP_TX = 3, - XDP_REDIRECT = 4, -}; - -enum xdp_buff_flags { - XDP_FLAGS_HAS_FRAGS = 1, - XDP_FLAGS_FRAGS_PF_MEMALLOC = 2, -}; - -enum xdp_mem_type { - MEM_TYPE_PAGE_SHARED = 0, - MEM_TYPE_PAGE_ORDER0 = 1, - MEM_TYPE_PAGE_POOL = 2, - MEM_TYPE_XSK_BUFF_POOL = 3, - MEM_TYPE_MAX = 4, -}; - -enum xdp_rss_hash_type { - XDP_RSS_L3_IPV4 = 1, - XDP_RSS_L3_IPV6 = 2, - XDP_RSS_L3_DYNHDR = 4, - XDP_RSS_L4 = 8, - XDP_RSS_L4_TCP = 16, - XDP_RSS_L4_UDP = 32, - XDP_RSS_L4_SCTP = 64, - XDP_RSS_L4_IPSEC = 128, - XDP_RSS_L4_ICMP = 256, - XDP_RSS_TYPE_NONE = 0, - XDP_RSS_TYPE_L2 = 0, - XDP_RSS_TYPE_L3_IPV4 = 1, - XDP_RSS_TYPE_L3_IPV6 = 2, - XDP_RSS_TYPE_L3_IPV4_OPT = 5, - XDP_RSS_TYPE_L3_IPV6_EX = 6, - XDP_RSS_TYPE_L4_ANY = 8, - XDP_RSS_TYPE_L4_IPV4_TCP = 25, - XDP_RSS_TYPE_L4_IPV4_UDP = 41, - XDP_RSS_TYPE_L4_IPV4_SCTP = 73, - XDP_RSS_TYPE_L4_IPV4_IPSEC = 137, - XDP_RSS_TYPE_L4_IPV4_ICMP = 265, - XDP_RSS_TYPE_L4_IPV6_TCP = 26, - XDP_RSS_TYPE_L4_IPV6_UDP = 42, - XDP_RSS_TYPE_L4_IPV6_SCTP = 74, - XDP_RSS_TYPE_L4_IPV6_IPSEC = 138, - XDP_RSS_TYPE_L4_IPV6_ICMP = 266, - XDP_RSS_TYPE_L4_IPV6_TCP_EX = 30, - XDP_RSS_TYPE_L4_IPV6_UDP_EX = 46, - XDP_RSS_TYPE_L4_IPV6_SCTP_EX = 78, -}; - -enum xdp_rx_metadata { - XDP_METADATA_KFUNC_RX_TIMESTAMP = 0, - XDP_METADATA_KFUNC_RX_HASH = 1, - XDP_METADATA_KFUNC_RX_VLAN_TAG = 2, - MAX_XDP_METADATA_KFUNC = 3, -}; - -enum xen_domain_type { - XEN_NATIVE = 0, - XEN_PV_DOMAIN = 1, - XEN_HVM_DOMAIN = 2, -}; - -enum xen_irq_type { - IRQT_UNBOUND = 0, - IRQT_PIRQ = 1, - IRQT_VIRQ = 2, - IRQT_IPI = 3, - IRQT_EVTCHN = 4, -}; - -enum xen_lazy_mode { - XEN_LAZY_NONE = 0, - XEN_LAZY_MMU = 1, - XEN_LAZY_CPU = 2, -}; - -enum xen_mc_extend_args { - XEN_MC_XE_OK = 0, - XEN_MC_XE_BAD_OP = 1, - XEN_MC_XE_NO_SPACE = 2, -}; - -enum xen_mc_flush_reason { - XEN_MC_FL_NONE = 0, - XEN_MC_FL_BATCH = 1, - XEN_MC_FL_ARGS = 2, - XEN_MC_FL_CALLBACK = 3, -}; - -enum xenbus_state { - XenbusStateUnknown = 0, - XenbusStateInitialising = 1, - XenbusStateInitWait = 2, - XenbusStateInitialised = 3, - XenbusStateConnected = 4, - XenbusStateClosing = 5, - XenbusStateClosed = 6, - XenbusStateReconfiguring = 7, - XenbusStateReconfigured = 8, -}; - -enum xenstore_init { - XS_UNKNOWN = 0, - XS_PV = 1, - XS_HVM = 2, - XS_LOCAL = 3, -}; - -enum xfeature { - XFEATURE_FP = 0, - XFEATURE_SSE = 1, - XFEATURE_YMM = 2, - XFEATURE_BNDREGS = 3, - XFEATURE_BNDCSR = 4, - XFEATURE_OPMASK = 5, - XFEATURE_ZMM_Hi256 = 6, - XFEATURE_Hi16_ZMM = 7, - XFEATURE_PT_UNIMPLEMENTED_SO_FAR = 8, - XFEATURE_PKRU = 9, - XFEATURE_PASID = 10, - XFEATURE_CET_USER = 11, - XFEATURE_CET_KERNEL = 12, - XFEATURE_RSRVD_COMP_13 = 13, - XFEATURE_RSRVD_COMP_14 = 14, - XFEATURE_LBR = 15, - XFEATURE_RSRVD_COMP_16 = 16, - XFEATURE_XTILE_CFG = 17, - XFEATURE_XTILE_DATA = 18, - XFEATURE_APX = 19, - XFEATURE_MAX = 20, -}; - -enum xfrm_ae_ftype_t { - XFRM_AE_UNSPEC = 0, - XFRM_AE_RTHR = 1, - XFRM_AE_RVAL = 2, - XFRM_AE_LVAL = 4, - XFRM_AE_ETHR = 8, - XFRM_AE_CR = 16, - XFRM_AE_CE = 32, - XFRM_AE_CU = 64, - __XFRM_AE_MAX = 65, -}; - -enum xfrm_attr_type_t { - XFRMA_UNSPEC = 0, - XFRMA_ALG_AUTH = 1, - XFRMA_ALG_CRYPT = 2, - XFRMA_ALG_COMP = 3, - XFRMA_ENCAP = 4, - XFRMA_TMPL = 5, - XFRMA_SA = 6, - XFRMA_POLICY = 7, - XFRMA_SEC_CTX = 8, - XFRMA_LTIME_VAL = 9, - XFRMA_REPLAY_VAL = 10, - XFRMA_REPLAY_THRESH = 11, - XFRMA_ETIMER_THRESH = 12, - XFRMA_SRCADDR = 13, - XFRMA_COADDR = 14, - XFRMA_LASTUSED = 15, - XFRMA_POLICY_TYPE = 16, - XFRMA_MIGRATE = 17, - XFRMA_ALG_AEAD = 18, - XFRMA_KMADDRESS = 19, - XFRMA_ALG_AUTH_TRUNC = 20, - XFRMA_MARK = 21, - XFRMA_TFCPAD = 22, - XFRMA_REPLAY_ESN_VAL = 23, - XFRMA_SA_EXTRA_FLAGS = 24, - XFRMA_PROTO = 25, - XFRMA_ADDRESS_FILTER = 26, - XFRMA_PAD = 27, - XFRMA_OFFLOAD_DEV = 28, - XFRMA_SET_MARK = 29, - XFRMA_SET_MARK_MASK = 30, - XFRMA_IF_ID = 31, - XFRMA_MTIMER_THRESH = 32, - XFRMA_SA_DIR = 33, - XFRMA_NAT_KEEPALIVE_INTERVAL = 34, - XFRMA_SA_PCPU = 35, - XFRMA_IPTFS_DROP_TIME = 36, - XFRMA_IPTFS_REORDER_WINDOW = 37, - XFRMA_IPTFS_DONT_FRAG = 38, - XFRMA_IPTFS_INIT_DELAY = 39, - XFRMA_IPTFS_MAX_QSIZE = 40, - XFRMA_IPTFS_PKT_SIZE = 41, - __XFRMA_MAX = 42, -}; - -enum xfrm_nlgroups { - XFRMNLGRP_NONE = 0, - XFRMNLGRP_ACQUIRE = 1, - XFRMNLGRP_EXPIRE = 2, - XFRMNLGRP_SA = 3, - XFRMNLGRP_POLICY = 4, - XFRMNLGRP_AEVENTS = 5, - XFRMNLGRP_REPORT = 6, - XFRMNLGRP_MIGRATE = 7, - XFRMNLGRP_MAPPING = 8, - __XFRMNLGRP_MAX = 9, -}; - -enum xfrm_pol_inexact_candidate_type { - XFRM_POL_CAND_BOTH = 0, - XFRM_POL_CAND_SADDR = 1, - XFRM_POL_CAND_DADDR = 2, - XFRM_POL_CAND_ANY = 3, - XFRM_POL_CAND_MAX = 4, -}; - -enum xfrm_replay_mode { - XFRM_REPLAY_MODE_LEGACY = 0, - XFRM_REPLAY_MODE_BMP = 1, - XFRM_REPLAY_MODE_ESN = 2, -}; - -enum xfrm_sa_dir { - XFRM_SA_DIR_IN = 1, - XFRM_SA_DIR_OUT = 2, -}; - -enum xhci_cancelled_td_status { - TD_DIRTY = 0, - TD_HALTED = 1, - TD_CLEARING_CACHE = 2, - TD_CLEARING_CACHE_DEFERRED = 3, - TD_CLEARED = 4, -}; - -enum xhci_ep_reset_type { - EP_HARD_RESET = 0, - EP_SOFT_RESET = 1, -}; - -enum xhci_overhead_type { - LS_OVERHEAD_TYPE = 0, - FS_OVERHEAD_TYPE = 1, - HS_OVERHEAD_TYPE = 2, -}; - -enum xhci_ring_type { - TYPE_CTRL = 0, - TYPE_ISOC = 1, - TYPE_BULK = 2, - TYPE_INTR = 3, - TYPE_STREAM = 4, - TYPE_COMMAND = 5, - TYPE_EVENT = 6, -}; - -enum xhci_setup_dev { - SETUP_CONTEXT_ONLY = 0, - SETUP_CONTEXT_ADDRESS = 1, -}; - -enum xhci_sideband_notify_type { - XHCI_SIDEBAND_XFER_RING_FREE = 0, -}; - -enum xhci_sideband_type { - XHCI_SIDEBAND_AUDIO = 0, - XHCI_SIDEBAND_VENDOR = 1, -}; - -enum xprtsec_policies { - RPC_XPRTSEC_NONE = 0, - RPC_XPRTSEC_TLS_ANON = 1, - RPC_XPRTSEC_TLS_X509 = 2, -}; - -enum xps_map_type { - XPS_CPUS = 0, - XPS_RXQS = 1, - XPS_MAPS_MAX = 2, -}; - -enum xsd_sockmsg_type { - XS_CONTROL = 0, - XS_DIRECTORY = 1, - XS_READ = 2, - XS_GET_PERMS = 3, - XS_WATCH = 4, - XS_UNWATCH = 5, - XS_TRANSACTION_START = 6, - XS_TRANSACTION_END = 7, - XS_INTRODUCE = 8, - XS_RELEASE = 9, - XS_GET_DOMAIN_PATH = 10, - XS_WRITE = 11, - XS_MKDIR = 12, - XS_RM = 13, - XS_SET_PERMS = 14, - XS_WATCH_EVENT = 15, - XS_ERROR = 16, - XS_IS_DOMAIN_INTRODUCED = 17, - XS_RESUME = 18, - XS_SET_TARGET = 19, - XS_RESET_WATCHES = 21, - XS_DIRECTORY_PART = 22, - XS_TYPE_COUNT = 23, - XS_INVALID = 65535, -}; - -enum xstate_copy_mode { - XSTATE_COPY_FP = 0, - XSTATE_COPY_FX = 1, - XSTATE_COPY_XSAVE = 2, -}; - -enum xz_check { - XZ_CHECK_NONE = 0, - XZ_CHECK_CRC32 = 1, - XZ_CHECK_CRC64 = 4, - XZ_CHECK_SHA256 = 10, -}; - -enum xz_mode { - XZ_SINGLE = 0, - XZ_PREALLOC = 1, - XZ_DYNALLOC = 2, -}; - -enum xz_ret { - XZ_OK = 0, - XZ_STREAM_END = 1, - XZ_UNSUPPORTED_CHECK = 2, - XZ_MEM_ERROR = 3, - XZ_MEMLIMIT_ERROR = 4, - XZ_FORMAT_ERROR = 5, - XZ_OPTIONS_ERROR = 6, - XZ_DATA_ERROR = 7, - XZ_BUF_ERROR = 8, -}; - -enum zbc_zone_alignment_method { - ZBC_CONSTANT_ZONE_LENGTH = 1, - ZBC_CONSTANT_ZONE_START_OFFSET = 8, -}; - -enum zbc_zone_cond { - ZBC_ZONE_COND_NO_WP = 0, - ZBC_ZONE_COND_EMPTY = 1, - ZBC_ZONE_COND_IMP_OPEN = 2, - ZBC_ZONE_COND_EXP_OPEN = 3, - ZBC_ZONE_COND_CLOSED = 4, - ZBC_ZONE_COND_READONLY = 13, - ZBC_ZONE_COND_FULL = 14, - ZBC_ZONE_COND_OFFLINE = 15, -}; - -enum zbc_zone_type { - ZBC_ZONE_TYPE_CONV = 1, - ZBC_ZONE_TYPE_SEQWRITE_REQ = 2, - ZBC_ZONE_TYPE_SEQWRITE_PREF = 3, - ZBC_ZONE_TYPE_SEQ_OR_BEFORE_REQ = 4, - ZBC_ZONE_TYPE_GAP = 5, -}; - -enum zone_flags { - ZONE_BOOSTED_WATERMARK = 0, - ZONE_RECLAIM_ACTIVE = 1, - ZONE_BELOW_HIGH = 2, -}; - -enum zone_stat_item { - NR_FREE_PAGES = 0, - NR_FREE_PAGES_BLOCKS = 1, - NR_ZONE_LRU_BASE = 2, - NR_ZONE_INACTIVE_ANON = 2, - NR_ZONE_ACTIVE_ANON = 3, - NR_ZONE_INACTIVE_FILE = 4, - NR_ZONE_ACTIVE_FILE = 5, - NR_ZONE_UNEVICTABLE = 6, - NR_ZONE_WRITE_PENDING = 7, - NR_MLOCK = 8, - NR_ZSPAGES = 9, - NR_FREE_CMA_PAGES = 10, - NR_UNACCEPTED = 11, - NR_VM_ZONE_STAT_ITEMS = 12, -}; - -enum zone_type { - ZONE_DMA = 0, - ZONE_DMA32 = 1, - ZONE_NORMAL = 2, - ZONE_MOVABLE = 3, - ZONE_DEVICE = 4, - __MAX_NR_ZONES = 5, -}; - -enum zone_watermarks { - WMARK_MIN = 0, - WMARK_LOW = 1, - WMARK_HIGH = 2, - WMARK_PROMO = 3, - NR_WMARK = 4, -}; - -enum zswap_init_type { - ZSWAP_UNINIT = 0, - ZSWAP_INIT_SUCCEED = 1, - ZSWAP_INIT_FAILED = 2, -}; - -typedef _Bool bool; - -typedef __int128 s_max; - -typedef __int128 unsigned __u128; - -typedef __u128 u128; - -typedef u128 freelist_full_t; - -typedef __int128 unsigned u_max; - -typedef char *__guest_handle_char; - -typedef char acpi_bus_id[8]; - -typedef char acpi_device_class[20]; - -typedef char acpi_device_name[40]; - -typedef char *acpi_string; - -typedef const char (* const ethnl_string_array_t)[32]; - -typedef int *__guest_handle_int; - -typedef int __kernel_clockid_t; - -typedef int __kernel_daddr_t; - -typedef int __kernel_ipc_pid_t; - -typedef int __kernel_key_t; - -typedef int __kernel_mqd_t; - -typedef int __kernel_pid_t; - -typedef int __kernel_rwf_t; - -typedef int __kernel_timer_t; - -typedef int __s32; - -typedef int class_get_unused_fd_t; - -typedef __kernel_clockid_t clockid_t; - -typedef __s32 s32; - -typedef s32 compat_clock_t; - -typedef s32 compat_daddr_t; - -typedef s32 compat_int_t; - -typedef s32 compat_key_t; - -typedef s32 compat_long_t; - -typedef s32 compat_off_t; - -typedef s32 compat_pid_t; - -typedef s32 compat_ssize_t; - -typedef s32 compat_timer_t; - -typedef int cydp_t; - -typedef s32 dma_cookie_t; - -typedef int ext4_grpblk_t; - -typedef int folio_walk_flags_t; - -typedef int fpb_t; - -typedef int fpi_t; - -typedef int initcall_entry_t; - -typedef int insn_value_t; - -typedef s32 int32_t; - -typedef int32_t key_serial_t; - -typedef __kernel_key_t key_t; - -typedef int mhp_t; - -typedef int mm_id_mapcount_t; - -typedef int mpi_size_t; - -typedef __kernel_mqd_t mqd_t; - -typedef s32 old_time32_t; - -typedef int pci_power_t; - -typedef __kernel_pid_t pid_t; - -typedef int rmap_t; - -typedef __kernel_rwf_t rwf_t; - -typedef __s32 sctp_assoc_t; - -typedef int suspend_state_t; - -typedef __kernel_timer_t timer_t; - -typedef const int tracepoint_ptr_t; - -typedef long int __kernel_long_t; - -typedef __kernel_long_t __kernel_clock_t; - -typedef __kernel_long_t __kernel_off_t; - -typedef __kernel_long_t __kernel_old_time_t; - -typedef __kernel_long_t __kernel_ptrdiff_t; - -typedef __kernel_long_t __kernel_ssize_t; - -typedef __kernel_long_t __kernel_suseconds_t; - -typedef __kernel_clock_t clock_t; - -typedef long int intptr_t; - -typedef long int mpi_limb_signed_t; - -typedef __kernel_off_t off_t; - -typedef __kernel_ptrdiff_t ptrdiff_t; - -typedef __kernel_ssize_t ssize_t; - -typedef __kernel_suseconds_t suseconds_t; - -typedef long int xen_long_t; - -typedef long long int __s64; - -typedef __s64 Elf64_Sxword; - -typedef __s64 s64; - -typedef s64 int64_t; - -typedef int64_t S64; - -typedef long long int __kernel_loff_t; - -typedef long long int __kernel_time64_t; - -typedef s64 compat_loff_t; - -typedef s64 ktime_t; - -typedef __kernel_loff_t loff_t; - -typedef long long int qsize_t; - -typedef __s64 time64_t; - -typedef long long unsigned int __u64; - -typedef __u64 Elf64_Addr; - -typedef __u64 Elf64_Off; - -typedef __u64 Elf64_Xword; - -typedef __u64 u64; - -typedef u64 uint64_t; - -typedef uint64_t U64; - -typedef U64 ZSTD_VecMask; - -typedef __u64 __addrpair; - -typedef __u64 __be64; - -typedef uint64_t *__guest_handle_uint64_t; - -typedef __u64 __le64; - -typedef __u64 __virtio64; - -typedef u64 acpi_bus_address; - -typedef u64 acpi_integer; - -typedef u64 acpi_io_address; - -typedef u64 acpi_physical_address; - -typedef u64 acpi_size; - -typedef u64 async_cookie_t; - -typedef __u64 blist_flags_t; - -typedef u64 blkcnt_t; - -typedef uint64_t blkif_sector_t; - -typedef u64 compat_u64; - -typedef long long unsigned int cycles_t; - -typedef u64 dma_addr_t; - -typedef u64 efi_physical_addr_t; - -typedef long long unsigned int ext4_fsblk_t; - -typedef __be64 fdt64_t; - -typedef u64 gfn_t; - -typedef u64 gpa_t; - -typedef u64 hfn_t; - -typedef u64 hpa_t; - -typedef u64 io_req_flags_t; - -typedef hfn_t kvm_pfn_t; - -typedef long long unsigned int llu; - -typedef u64 netdev_features_t; - -typedef u64 pci_bus_addr_t; - -typedef u64 phys_addr_t; - -typedef phys_addr_t resource_size_t; - -typedef u64 sci_t; - -typedef u64 sector_t; - -typedef __u64 timeu64_t; - -typedef u64 upf_t; - -typedef uint64_t vli_type; - -typedef long unsigned int __kernel_ulong_t; - -typedef __kernel_ulong_t __kernel_size_t; - -typedef __kernel_size_t size_t; - -typedef size_t BitContainerType; - -typedef size_t HUF_CElt; - -typedef long unsigned int mpi_limb_t; - -typedef mpi_limb_t UWtype; - -typedef long unsigned int xen_pfn_t; - -typedef xen_pfn_t *__guest_handle_xen_pfn_t; - -typedef long unsigned int xen_ulong_t; - -typedef xen_ulong_t *__guest_handle_xen_ulong_t; - -typedef long unsigned int __kernel_old_dev_t; - -typedef __kernel_ulong_t aio_context_t; - -typedef long unsigned int dax_entry_t; - -typedef long unsigned int efi_status_t; - -typedef long unsigned int elf_greg_t; - -typedef elf_greg_t elf_gregset_t[27]; - -typedef long unsigned int gva_t; - -typedef __kernel_ulong_t ino_t; - -typedef long unsigned int irq_hw_number_t; - -typedef long unsigned int kernel_ulong_t; - -typedef long unsigned int kimage_entry_t; - -typedef long unsigned int mce_banks_t[1]; - -typedef mpi_limb_t *mpi_ptr_t; - -typedef long unsigned int netmem_ref; - -typedef long unsigned int old_sigset_t; - -typedef long unsigned int p4dval_t; - -typedef long unsigned int perf_trace_t[1024]; - -typedef long unsigned int pgdval_t; - -typedef long unsigned int pgprotval_t; - -typedef long unsigned int pmdval_t; - -typedef long unsigned int pte_marker; - -typedef long unsigned int pteval_t; - -typedef long unsigned int pudval_t; - -typedef long unsigned int uLong; - -typedef long unsigned int u_long; - -typedef long unsigned int uintptr_t; - -typedef long unsigned int ulg; - -typedef long unsigned int ulong; - -typedef uintptr_t uptrval; - -typedef long unsigned int vm_flags_t; - -typedef long unsigned int xen_callback_t; - -typedef short int __s16; - -typedef __s16 s16; - -typedef s16 int16_t; - -typedef int16_t S16; - -typedef short unsigned int __u16; - -typedef __u16 Elf32_Half; - -typedef __u16 Elf64_Half; - -typedef short unsigned int ush; - -typedef ush Pos; - -typedef __u16 u16; - -typedef u16 uint16_t; - -typedef uint16_t U16; - -typedef __u16 __be16; - -typedef u16 __compat_gid_t; - -typedef u16 __compat_uid_t; - -typedef __u16 __hc16; - -typedef short unsigned int __kernel_gid16_t; - -typedef short unsigned int __kernel_old_gid_t; - -typedef short unsigned int __kernel_old_uid_t; - -typedef short unsigned int __kernel_sa_family_t; - -typedef short unsigned int __kernel_uid16_t; - -typedef __u16 __le16; - -typedef __u16 __sum16; - -typedef __u16 __virtio16; - -typedef u16 access_mask_t; - -typedef u16 acpi_owner_id; - -typedef u16 acpi_rs_length; - -typedef __u16 bitmap_counter_t; - -typedef u16 blk_short_t; - -typedef uint16_t blkif_vdev_t; - -typedef __u16 comp_t; - -typedef u16 compat_dev_t; - -typedef u16 compat_ipc_pid_t; - -typedef u16 compat_mode_t; - -typedef u16 compat_nlink_t; - -typedef u16 compat_ushort_t; - -typedef uint16_t domid_t; - -typedef u16 efi_char16_t; - -typedef __kernel_gid16_t gid16_t; - -typedef uint16_t grant_status_t; - -typedef u16 hv_pci_rid; - -typedef u16 hv_pci_segment; - -typedef u16 layer_mask_t; - -typedef short unsigned int mifi_t; - -typedef __kernel_old_gid_t old_gid_t; - -typedef __kernel_old_uid_t old_uid_t; - -typedef short unsigned int pci_bus_flags_t; - -typedef short unsigned int pci_dev_flags_t; - -typedef __u16 port_id; - -typedef __kernel_sa_family_t sa_family_t; - -typedef u16 u_int16_t; - -typedef short unsigned int u_short; - -typedef u16 ucs2_char_t; - -typedef __kernel_uid16_t uid16_t; - -typedef __u16 uio_meta_flags_t; - -typedef short unsigned int umode_t; - -typedef short unsigned int ushort; - -typedef short unsigned int vifi_t; - -typedef u16 wchar_t; - -typedef signed char __s8; - -typedef __s8 s8; - -typedef s8 int8_t; - -typedef unsigned char __u8; - -typedef __u8 u8; - -typedef u8 uint8_t; - -typedef uint8_t BYTE; - -typedef unsigned char Byte; - -typedef uint8_t U8; - -typedef unsigned char *__guest_handle_uchar; - -typedef u8 acpi_adr_space_type; - -typedef u8 blk_status_t; - -typedef __u8 byte_t; - -typedef unsigned char cc_t; - -typedef u8 deny_masks_t; - -typedef u8 dscp_t; - -typedef __u8 dvd_challenge[10]; - -typedef __u8 dvd_key[5]; - -typedef u8 efi_bool_t; - -typedef unsigned char insn_byte_t; - -typedef u8 kprobe_opcode_t; - -typedef __u8 mctp_eid_t; - -typedef __u8 mtrr_type; - -typedef u8 retpoline_thunk_t[32]; - -typedef u8 rmap_age_t; - -typedef unsigned char u8___2; - -typedef unsigned char u_char; - -typedef u8 u_int8_t; - -typedef unsigned char uch; - -typedef u8 uprobe_opcode_t; - -typedef const unsigned char utf8leaf_t; - -typedef const unsigned char utf8trie_t; - -typedef __u8 virtio_net_ctrl_ack; - -typedef uint8_t xen_domain_handle_t[16]; - -typedef unsigned int __u32; - -typedef __u32 Elf32_Addr; - -typedef __u32 Elf32_Off; - -typedef __u32 Elf32_Word; - -typedef __u32 Elf64_Word; - -typedef unsigned int FSE_CTable; - -typedef unsigned int FSE_DTable; - -typedef __u32 u32; - -typedef u32 uint32_t; - -typedef uint32_t U32; - -typedef U32 HUF_DTable; - -typedef unsigned int IPos; - -typedef unsigned int RING_IDX; - -typedef unsigned int UHWtype; - -typedef uint32_t XENCONS_RING_IDX; - -typedef uint32_t XENSTORE_RING_IDX; - -typedef __u32 __be32; - -typedef u32 __compat_gid32_t; - -typedef u32 __compat_uid32_t; - -typedef uint32_t evtchn_port_t; - -typedef evtchn_port_t *__guest_handle_evtchn_port_t; - -typedef uint32_t *__guest_handle_uint32_t; - -typedef __u32 __hc32; - -typedef u32 __kernel_dev_t; - -typedef unsigned int __kernel_gid32_t; - -typedef unsigned int __kernel_gid_t; - -typedef unsigned int __kernel_mode_t; - -typedef unsigned int __kernel_uid32_t; - -typedef unsigned int __kernel_uid_t; - -typedef __u32 __le32; - -typedef unsigned int __poll_t; - -typedef __u32 __portpair; - -typedef __u32 __virtio32; - -typedef __u32 __wsum; - -typedef u32 acpi_event_status; - -typedef u32 acpi_mutex_handle; - -typedef u32 acpi_name; - -typedef u32 acpi_object_type; - -typedef u32 acpi_rsdesc_size; - -typedef u32 acpi_status; - -typedef unsigned int acr_flags_t; - -typedef unsigned int blk_features_t; - -typedef unsigned int blk_flags_t; - -typedef unsigned int blk_insert_t; - -typedef unsigned int blk_mode_t; - -typedef __u32 blk_mq_req_flags_t; - -typedef __u32 blk_opf_t; - -typedef unsigned int blk_qc_t; - -typedef u32 compat_aio_context_t; - -typedef u32 compat_caddr_t; - -typedef u32 compat_ino_t; - -typedef u32 compat_old_sigset_t; - -typedef u32 compat_sigset_word; - -typedef u32 compat_size_t; - -typedef u32 compat_uint_t; - -typedef u32 compat_ulong_t; - -typedef u32 compat_uptr_t; - -typedef u32 depot_flags_t; - -typedef u32 depot_stack_handle_t; - -typedef __kernel_dev_t dev_t; - -typedef uint32_t drbg_flag_t; - -typedef unsigned int drm_magic_t; - -typedef u32 errseq_t; - -typedef uint32_t event_word_t; - -typedef unsigned int ext4_group_t; - -typedef __u32 ext4_lblk_t; - -typedef __be32 fdt32_t; - -typedef unsigned int fgf_t; - -typedef unsigned int fmode_t; - -typedef unsigned int fop_flags_t; - -typedef unsigned int gfp_t; - -typedef __kernel_gid32_t gid_t; - -typedef uint32_t grant_handle_t; - -typedef uint32_t grant_ref_t; - -typedef __u32 if_mask; - -typedef unsigned int insn_attr_t; - -typedef __u32 int32; - -typedef unsigned int ioasid_t; - -typedef unsigned int iov_iter_extraction_t; - -typedef unsigned int isolate_mode_t; - -typedef unsigned int kasan_vmalloc_flags_t; - -typedef uint32_t key_perm_t; - -typedef unsigned int mm_id_t; - -typedef unsigned int mmc_pm_flag_t; - -typedef __kernel_mode_t mode_t; - -typedef u32 nlink_t; - -typedef u32 note_buf_t[92]; - -typedef unsigned int pci_channel_state_t; - -typedef unsigned int pci_ers_result_t; - -typedef unsigned int pgtbl_mod_mask; - -typedef u32 phandle; - -typedef u32 phys_cpuid_t; - -typedef unsigned int pipe_index_t; - -typedef __kernel_uid32_t projid_t; - -typedef __kernel_uid32_t qid_t; - -typedef U32 rankValCol_t[13]; - -typedef __u32 req_flags_t; - -typedef u32 rpc_authflavor_t; - -typedef unsigned int sk_buff_data_t; - -typedef unsigned int slab_flags_t; - -typedef unsigned int speed_t; - -typedef u32 ssci_t; - -typedef unsigned int t_key; - -typedef unsigned int tcflag_t; - -typedef unsigned int tid_t; - -typedef unsigned int uInt; - -typedef unsigned int u_int; - -typedef u32 u_int32_t; - -typedef unsigned int uffd_flags_t; - -typedef __kernel_uid32_t uid_t; - -typedef unsigned int uint; - -typedef u32 unicode_t; - -typedef unsigned int upstat_t; - -typedef u32 usb_port_location_t; - -typedef unsigned int vm_fault_t; - -typedef unsigned int xa_mark_t; - -typedef u32 xdp_features_t; - -typedef unsigned int zap_flags_t; - -typedef struct { - BitContainerType bitContainer; - unsigned int bitPos; - char *startPtr; - char *ptr; - char *endPtr; -} BIT_CStream_t; - -typedef struct { - BitContainerType bitContainer; - unsigned int bitsConsumed; - const char *ptr; - const char *start; - const char *limitPtr; -} BIT_DStream_t; - -typedef struct { - size_t nbSequences; - size_t blockSize; - size_t litSize; -} BlockSummary; - -typedef struct { - BYTE maxTableLog; - BYTE tableType; - BYTE tableLog; - BYTE reserved; -} DTableDesc; - -typedef struct { - size_t estLitSize; - size_t estBlockSize; -} EstimatedBlockSize; - -typedef struct { - unsigned int events[1024]; - size_t nbEvents; -} Fingerprint; - -typedef struct { - Fingerprint pastEvents; - Fingerprint newEvents; -} FPStats; - -typedef struct { - ptrdiff_t value; - const void *stateTable; - const void *symbolTT; - unsigned int stateLog; -} FSE_CState_t; - -typedef struct { - size_t state; - const void *table; -} FSE_DState_t; - -typedef struct { - U16 tableLog; - U16 fastMode; -} FSE_DTableHeader; - -typedef struct { - short int ncount[256]; -} FSE_DecompressWksp; - -typedef struct { - short unsigned int newState; - unsigned char symbol; - unsigned char nbBits; -} FSE_decode_t; - -typedef struct { - int deltaFindState; - U32 deltaNbBits; -} FSE_symbolCompressionTransform; - -typedef struct { - size_t bitContainer[2]; - size_t bitPos[2]; - BYTE *startPtr; - BYTE *ptr; - BYTE *endPtr; -} HUF_CStream_t; - -typedef struct { - BYTE tableLog; - BYTE maxSymbolValue; - BYTE unused[6]; -} HUF_CTableHeader; - -typedef struct { - FSE_CTable CTable[59]; - U32 scratchBuffer[41]; - unsigned int count[13]; - S16 norm[13]; -} HUF_CompressWeightsWksp; - -typedef struct { - BYTE nbBits; - BYTE byte; -} HUF_DEltX1; - -typedef struct { - U16 sequence; - BYTE nbBits; - BYTE length; -} HUF_DEltX2; - -typedef struct { - const BYTE *ip[4]; - BYTE *op[4]; - U64 bits[4]; - const void *dt; - const BYTE *ilowest; - BYTE *oend; - const BYTE *iend[4]; -} HUF_DecompressFastArgs; - -typedef struct { - U32 rankVal[13]; - U32 rankStart[13]; - U32 statsWksp[219]; - BYTE symbols[256]; - BYTE huffWeight[256]; -} HUF_ReadDTableX1_Workspace; - -typedef struct { - BYTE symbol; -} sortedSymbol_t; - -typedef struct { - U32 rankVal[156]; - U32 rankStats[13]; - U32 rankStart0[15]; - sortedSymbol_t sortedSymbol[256]; - BYTE weightList[256]; - U32 calleeWksp[219]; -} HUF_ReadDTableX2_Workspace; - -typedef struct { - HUF_CompressWeightsWksp wksp; - BYTE bitsToWeight[13]; - BYTE huffWeight[255]; -} HUF_WriteCTableWksp; - -struct nodeElt_s { - U32 count; - U16 parent; - BYTE byte; - BYTE nbBits; -}; - -typedef struct nodeElt_s nodeElt; - -typedef nodeElt huffNodeTable[512]; - -typedef struct { - U16 base; - U16 curr; -} rankPos; - -typedef struct { - huffNodeTable huffNodeTbl; - rankPos rankPosition[192]; -} HUF_buildCTable_wksp_tables; - -typedef struct { - unsigned int count[256]; - HUF_CElt CTable[257]; - union { - HUF_buildCTable_wksp_tables buildCTable_wksp; - HUF_WriteCTableWksp writeCTable_wksp; - U32 hist_wksp[1024]; - } wksps; -} HUF_compress_tables_t; - -struct buffer_head; - -typedef struct { - __le32 *p; - __le32 key; - struct buffer_head *bh; -} Indirect; - -typedef struct { - const uint8_t *externalDict; - size_t extDictSize; - const uint8_t *prefixEnd; - size_t prefixSize; -} LZ4_streamDecode_t_internal; - -typedef union { - long long unsigned int table[4]; - LZ4_streamDecode_t_internal internal_donotuse; -} LZ4_streamDecode_t; - -typedef struct { - U32 offset; - U32 litLength; - U32 matchLength; -} rawSeq; - -typedef struct { - rawSeq *seq; - size_t pos; - size_t posInSequence; - size_t size; - size_t capacity; -} RawSeqStore_t; - -struct folio; - -typedef struct { - struct folio *v; -} Sector; - -typedef struct { - unsigned int offset; - unsigned int litLength; - unsigned int matchLength; - unsigned int rep; -} ZSTD_Sequence; - -typedef struct { - int collectSequences; - ZSTD_Sequence *seqStart; - size_t seqIndex; - size_t maxSequences; -} SeqCollector; - -struct SeqDef_s; - -typedef struct SeqDef_s SeqDef; - -typedef struct { - SeqDef *sequencesStart; - SeqDef *sequences; - BYTE *litStart; - BYTE *lit; - BYTE *llCode; - BYTE *mlCode; - BYTE *ofCode; - size_t maxNbSeq; - size_t maxNbLit; - ZSTD_longLengthType_e longLengthType; - U32 longLengthPos; -} SeqStore_t; - -typedef struct { - S16 norm[53]; - U32 wksp[285]; -} ZSTD_BuildCTableWksp; - -struct ZSTD_DDict_s; - -typedef struct ZSTD_DDict_s ZSTD_DDict; - -typedef struct { - const ZSTD_DDict **ddictPtrTable; - size_t ddictPtrTableSize; - size_t ddictPtrCount; -} ZSTD_DDictHashSet; - -typedef struct { - long long unsigned int frameContentSize; - long long unsigned int windowSize; - unsigned int blockSizeMax; - ZSTD_FrameType_e frameType; - unsigned int headerSize; - unsigned int dictID; - unsigned int checksumFlag; - unsigned int _reserved1; - unsigned int _reserved2; -} ZSTD_FrameHeader; - -typedef struct { - unsigned int longOffsetShare; - unsigned int maxNbAdditionalBits; -} ZSTD_OffsetInfo; - -typedef struct { - U32 litLength; - U32 matchLength; -} ZSTD_SequenceLength; - -typedef struct { - U32 idx; - U32 posInSequence; - size_t posInSrc; -} ZSTD_SequencePosition; - -typedef struct { - SymbolEncodingType_e hType; - BYTE hufDesBuffer[128]; - size_t hufDesSize; -} ZSTD_hufCTablesMetadata_t; - -typedef struct { - SymbolEncodingType_e llType; - SymbolEncodingType_e ofType; - SymbolEncodingType_e mlType; - BYTE fseTablesBuffer[133]; - size_t fseTablesSize; - size_t lastCountSize; -} ZSTD_fseCTablesMetadata_t; - -typedef struct { - ZSTD_hufCTablesMetadata_t hufMetadata; - ZSTD_fseCTablesMetadata_t fseMetadata; -} ZSTD_entropyCTablesMetadata_t; - -typedef struct { - SeqStore_t fullSeqStoreChunk; - SeqStore_t firstHalfSeqStore; - SeqStore_t secondHalfSeqStore; - SeqStore_t currSeqStore; - SeqStore_t nextSeqStore; - U32 partitions[196]; - ZSTD_entropyCTablesMetadata_t entropyMetadata; -} ZSTD_blockSplitCtx; - -typedef struct { - HUF_CElt CTable[257]; - HUF_repeat repeatMode; -} ZSTD_hufCTables_t; - -typedef struct { - FSE_CTable offcodeCTable[193]; - FSE_CTable matchlengthCTable[363]; - FSE_CTable litlengthCTable[329]; - FSE_repeat offcode_repeatMode; - FSE_repeat matchlength_repeatMode; - FSE_repeat litlength_repeatMode; -} ZSTD_fseCTables_t; - -typedef struct { - ZSTD_hufCTables_t huf; - ZSTD_fseCTables_t fse; -} ZSTD_entropyCTables_t; - -typedef struct { - ZSTD_entropyCTables_t entropy; - U32 rep[3]; -} ZSTD_compressedBlockState_t; - -typedef struct { - const BYTE *nextSrc; - const BYTE *base; - const BYTE *dictBase; - U32 dictLimit; - U32 lowLimit; - U32 nbOverflowCorrections; -} ZSTD_window_t; - -typedef struct { - U32 off; - U32 len; -} ZSTD_match_t; - -typedef struct { - int price; - U32 off; - U32 mlen; - U32 litlen; - U32 rep[3]; -} ZSTD_optimal_t; - -typedef struct { - unsigned int *litFreq; - unsigned int *litLengthFreq; - unsigned int *matchLengthFreq; - unsigned int *offCodeFreq; - ZSTD_match_t *matchTable; - ZSTD_optimal_t *priceTable; - U32 litSum; - U32 litLengthSum; - U32 matchLengthSum; - U32 offCodeSum; - U32 litSumBasePrice; - U32 litLengthSumBasePrice; - U32 matchLengthSumBasePrice; - U32 offCodeSumBasePrice; - ZSTD_OptPrice_e priceType; - const ZSTD_entropyCTables_t *symbolCosts; - ZSTD_ParamSwitch_e literalCompressionMode; -} optState_t; - -typedef struct { - unsigned int windowLog; - unsigned int chainLog; - unsigned int hashLog; - unsigned int searchLog; - unsigned int minMatch; - unsigned int targetLength; - ZSTD_strategy strategy; -} ZSTD_compressionParameters; - -struct ZSTD_MatchState_t; - -typedef struct ZSTD_MatchState_t ZSTD_MatchState_t; - -struct ZSTD_MatchState_t { - ZSTD_window_t window; - U32 loadedDictEnd; - U32 nextToUpdate; - U32 hashLog3; - U32 rowHashLog; - BYTE *tagTable; - U32 hashCache[8]; - U64 hashSalt; - U32 hashSaltEntropy; - U32 *hashTable; - U32 *hashTable3; - U32 *chainTable; - int forceNonContiguous; - int dedicatedDictSearch; - optState_t opt; - const ZSTD_MatchState_t *dictMatchState; - ZSTD_compressionParameters cParams; - const RawSeqStore_t *ldmSeqStore; - int prefetchCDictTables; - int lazySkipping; -}; - -typedef struct { - ZSTD_compressedBlockState_t *prevCBlock; - ZSTD_compressedBlockState_t *nextCBlock; - ZSTD_MatchState_t matchState; -} ZSTD_blockState_t; - -typedef struct { - size_t error; - int lowerBound; - int upperBound; -} ZSTD_bounds; - -typedef struct { - U32 f1c; - U32 f1d; - U32 f7b; - U32 f7c; -} ZSTD_cpuid_t; - -typedef void * (*ZSTD_allocFunction)(void *, size_t); - -typedef void (*ZSTD_freeFunction)(void *, void *); - -typedef struct { - ZSTD_allocFunction customAlloc; - ZSTD_freeFunction customFree; - void *opaque; -} ZSTD_customMem; - -typedef struct { - void *workspace; - void *workspaceEnd; - void *objectEnd; - void *tableEnd; - void *tableValidEnd; - void *allocStart; - void *initOnceStart; - BYTE allocFailed; - int workspaceOversizedDuration; - ZSTD_cwksp_alloc_phase_e phase; - ZSTD_cwksp_static_alloc_e isStatic; -} ZSTD_cwksp; - -typedef struct { - U16 nextState; - BYTE nbAdditionalBits; - BYTE nbBits; - U32 baseValue; -} ZSTD_seqSymbol; - -typedef struct { - ZSTD_seqSymbol LLTable[513]; - ZSTD_seqSymbol OFTable[257]; - ZSTD_seqSymbol MLTable[513]; - HUF_DTable hufTable[4097]; - U32 rep[3]; - U32 workspace[157]; -} ZSTD_entropyDTables_t; - -typedef struct { - int contentSizeFlag; - int checksumFlag; - int noDictIDFlag; -} ZSTD_frameParameters; - -typedef struct { - long long unsigned int ingested; - long long unsigned int consumed; - long long unsigned int produced; - long long unsigned int flushed; - unsigned int currentJobID; - unsigned int nbActiveWorkers; -} ZSTD_frameProgression; - -typedef struct { - size_t nbBlocks; - size_t compressedSize; - long long unsigned int decompressedBound; -} ZSTD_frameSizeInfo; - -typedef struct { - size_t state; - const ZSTD_seqSymbol *table; -} ZSTD_fseState; - -struct ZSTD_CDict_s; - -typedef struct ZSTD_CDict_s ZSTD_CDict; - -typedef struct { - void *dictBuffer; - const void *dict; - size_t dictSize; - ZSTD_dictContentType_e dictContentType; - ZSTD_CDict *cdict; -} ZSTD_localDict; - -typedef struct { - RawSeqStore_t seqStore; - U32 startPosInBlock; - U32 endPosInBlock; - U32 offset; -} ZSTD_optLdm_t; - -typedef struct { - ZSTD_compressionParameters cParams; - ZSTD_frameParameters fParams; -} ZSTD_parameters; - -typedef struct { - U32 fastMode; - U32 tableLog; -} ZSTD_seqSymbol_header; - -typedef struct { - U32 LLtype; - U32 Offtype; - U32 MLtype; - size_t size; - size_t lastCountSize; - int longOffsets; -} ZSTD_symbolEncodingTypeStats_t; - -typedef struct { - long unsigned int fds_bits[16]; -} __kernel_fd_set; - -typedef struct { - int val[2]; -} __kernel_fsid_t; - -typedef struct { - U32 tableTime; - U32 decode256Time; -} algo_time_t; - -typedef struct { - s64 counter; -} atomic64_t; - -typedef atomic64_t atomic_long_t; - -typedef struct { - int counter; -} atomic_t; - -typedef struct { - char ax25_call[7]; -} ax25_address; - -struct hlist_node { - struct hlist_node *next; - struct hlist_node **pprev; -}; - -struct timer_list { - struct hlist_node entry; - long unsigned int expires; - void (*function)(struct timer_list *); - u32 flags; -}; - -typedef struct { - char slave; - struct timer_list slave_timer; - short unsigned int slave_timeout; -} ax25_dama_info; - -typedef struct { - __be64 a; - __be64 b; -} be128; - -typedef struct { - blockType_e blockType; - U32 lastBlock; - U32 origSize; -} blockProperties_t; - -typedef struct { - union { - void *kernel; - void *user; - }; - bool is_kernel: 1; -} sockptr_t; - -typedef sockptr_t bpfptr_t; - -struct permanent_flags_t { - __be16 tag; - u8 disable; - u8 ownership; - u8 deactivated; - u8 readPubek; - u8 disableOwnerClear; - u8 allowMaintenance; - u8 physicalPresenceLifetimeLock; - u8 physicalPresenceHWEnable; - u8 physicalPresenceCMDEnable; - u8 CEKPUsed; - u8 TPMpost; - u8 TPMpostLock; - u8 FIPS; - u8 operator; - u8 enableRevokeEK; - u8 nvLocked; - u8 readSRKPub; - u8 tpmEstablished; - u8 maintenanceDone; - u8 disableFullDALogicInfo; -}; - -struct stclear_flags_t { - __be16 tag; - u8 deactivated; - u8 disableForceClear; - u8 physicalPresence; - u8 physicalPresenceLock; - u8 bGlobalLock; -} __attribute__((packed)); - -struct tpm1_version { - u8 major; - u8 minor; - u8 rev_major; - u8 rev_minor; -}; - -struct tpm1_version2 { - __be16 tag; - struct tpm1_version version; -}; - -struct timeout_t { - __be32 a; - __be32 b; - __be32 c; - __be32 d; -}; - -struct duration_t { - __be32 tpm_short; - __be32 tpm_medium; - __be32 tpm_long; -}; - -typedef union { - struct permanent_flags_t perm_flags; - struct stclear_flags_t stclear_flags; - __u8 owned; - __be32 num_pcrs; - struct tpm1_version version1; - struct tpm1_version2 version2; - __be32 manufacturer_id; - struct timeout_t timeout; - struct duration_t duration; -} cap_t; - -typedef struct { - unsigned int interval; - unsigned int timeout; -} cisco_proto; - -typedef struct { - int *lock; - long unsigned int flags; -} class_core_lock_t; - -typedef struct { - void *lock; -} class_cpus_read_lock_t; - -struct raw_spinlock; - -typedef struct raw_spinlock raw_spinlock_t; - -typedef struct { - raw_spinlock_t *lock; - raw_spinlock_t *lock2; -} class_double_raw_spinlock_t; - -struct rq; - -typedef struct { - struct rq *lock; - struct rq *lock2; -} class_double_rq_lock_t; - -typedef struct { - void *lock; -} class_irq_t; - -struct irq_desc; - -typedef struct { - struct irq_desc *lock; - long unsigned int flags; - bool bus; -} class_irqdesc_lock_t; - -typedef struct { - void *lock; - long unsigned int flags; -} class_irqsave_t; - -typedef struct { - void *lock; -} class_jump_label_lock_t; - -struct device; - -typedef struct { - struct device *lock; -} class_msi_descs_lock_t; - -typedef struct { - void *lock; -} class_pagefault_t; - -struct perf_cpu_context; - -struct perf_event_context; - -typedef struct { - struct perf_cpu_context *cpuctx; - struct perf_event_context *ctx; -} class_perf_ctx_lock_t; - -typedef struct { - void *lock; -} class_preempt_notrace_t; - -typedef struct { - void *lock; -} class_preempt_t; - -typedef struct { - raw_spinlock_t *lock; -} class_raw_spinlock_irq_t; - -typedef struct { - raw_spinlock_t *lock; - long unsigned int flags; -} class_raw_spinlock_irqsave_t; - -typedef struct { - raw_spinlock_t *lock; -} class_raw_spinlock_nested_t; - -typedef struct { - raw_spinlock_t *lock; -} class_raw_spinlock_t; - -typedef struct { - void *lock; -} class_rcu_t; - -typedef struct { - void *lock; -} class_rcu_tasks_trace_t; - -struct qspinlock { - union { - atomic_t val; - struct { - u8 locked; - u8 pending; - }; - struct { - u16 locked_pending; - u16 tail; - }; - }; -}; - -typedef struct qspinlock arch_spinlock_t; - -struct qrwlock { - union { - atomic_t cnts; - struct { - u8 wlocked; - u8 __lstate[3]; - }; - }; - arch_spinlock_t wait_lock; -}; - -typedef struct qrwlock arch_rwlock_t; - -typedef struct { - arch_rwlock_t raw_lock; -} rwlock_t; - -typedef struct { - rwlock_t *lock; - long unsigned int flags; -} class_read_lock_irqsave_t; - -struct pin_cookie {}; - -struct rq_flags { - long unsigned int flags; - struct pin_cookie cookie; - unsigned int clock_update_flags; -}; - -typedef struct { - struct rq *lock; - struct rq_flags rf; -} class_rq_lock_irq_t; - -typedef struct { - struct rq *lock; - struct rq_flags rf; -} class_rq_lock_irqsave_t; - -typedef struct { - struct rq *lock; - struct rq_flags rf; -} class_rq_lock_t; - -struct spinlock; - -typedef struct spinlock spinlock_t; - -typedef struct { - spinlock_t *lock; -} class_spinlock_irq_t; - -typedef struct { - spinlock_t *lock; - long unsigned int flags; -} class_spinlock_irqsave_t; - -typedef struct { - spinlock_t *lock; -} class_spinlock_t; - -struct srcu_struct; - -typedef struct { - struct srcu_struct *lock; - int idx; -} class_srcu_t; - -struct task_struct; - -typedef struct { - struct task_struct *lock; - struct rq *rq; - struct rq_flags rf; -} class_task_rq_lock_t; - -typedef struct { - rwlock_t *lock; -} class_write_lock_irq_t; - -typedef struct { - rwlock_t *lock; - long unsigned int flags; -} class_write_lock_irqsave_t; - -typedef struct { - unsigned char op; - unsigned char bits; - short unsigned int val; -} code; - -typedef __kernel_fsid_t compat_fsid_t; - -typedef struct { - compat_sigset_word sig[2]; -} compat_sigset_t; - -typedef struct { - __be16 disc_information_length; - __u8 disc_status: 2; - __u8 border_status: 2; - __u8 erasable: 1; - __u8 reserved1: 3; - __u8 n_first_track; - __u8 n_sessions_lsb; - __u8 first_track_lsb; - __u8 last_track_lsb; - __u8 mrw_status: 2; - __u8 dbit: 1; - __u8 reserved2: 2; - __u8 uru: 1; - __u8 dbc_v: 1; - __u8 did_v: 1; - __u8 disc_type; - __u8 n_sessions_msb; - __u8 first_track_msb; - __u8 last_track_msb; - __u32 disc_id; - __u32 lead_in; - __u32 lead_out; - __u8 disc_bar_code[8]; - __u8 reserved3; - __u8 n_opc; -} disc_information; - -typedef struct { - long unsigned int bits[1]; -} dma_cap_mask_t; - -struct dvd_lu_send_agid { - __u8 type; - unsigned int agid: 2; -}; - -struct dvd_host_send_challenge { - __u8 type; - unsigned int agid: 2; - dvd_challenge chal; -}; - -struct dvd_send_key { - __u8 type; - unsigned int agid: 2; - dvd_key key; -}; - -struct dvd_lu_send_challenge { - __u8 type; - unsigned int agid: 2; - dvd_challenge chal; -}; - -struct dvd_lu_send_title_key { - __u8 type; - unsigned int agid: 2; - dvd_key title_key; - int lba; - unsigned int cpm: 1; - unsigned int cp_sec: 1; - unsigned int cgms: 2; -}; - -struct dvd_lu_send_asf { - __u8 type; - unsigned int agid: 2; - unsigned int asf: 1; -}; - -struct dvd_host_send_rpcstate { - __u8 type; - __u8 pdrc; -}; - -struct dvd_lu_send_rpcstate { - __u8 type: 2; - __u8 vra: 3; - __u8 ucca: 3; - __u8 region_mask; - __u8 rpc_scheme; -}; - -typedef union { - __u8 type; - struct dvd_lu_send_agid lsa; - struct dvd_host_send_challenge hsc; - struct dvd_send_key lsk; - struct dvd_lu_send_challenge lsc; - struct dvd_send_key hsk; - struct dvd_lu_send_title_key lstk; - struct dvd_lu_send_asf lsasf; - struct dvd_host_send_rpcstate hrpcs; - struct dvd_lu_send_rpcstate lrpcs; -} dvd_authinfo; - -struct dvd_layer { - __u8 book_version: 4; - __u8 book_type: 4; - __u8 min_rate: 4; - __u8 disc_size: 4; - __u8 layer_type: 4; - __u8 track_path: 1; - __u8 nlayers: 2; - char: 1; - __u8 track_density: 4; - __u8 linear_density: 4; - __u8 bca: 1; - __u32 start_sector; - __u32 end_sector; - __u32 end_sector_l0; -}; - -struct dvd_physical { - __u8 type; - __u8 layer_num; - struct dvd_layer layer[4]; -}; - -struct dvd_copyright { - __u8 type; - __u8 layer_num; - __u8 cpst; - __u8 rmi; -}; - -struct dvd_disckey { - __u8 type; - unsigned int agid: 2; - __u8 value[2048]; -}; - -struct dvd_bca { - __u8 type; - int len; - __u8 value[188]; -}; - -struct dvd_manufact { - __u8 type; - __u8 layer_num; - int len; - __u8 value[2048]; -}; - -typedef union { - __u8 type; - struct dvd_physical physical; - struct dvd_copyright copyright; - struct dvd_disckey disckey; - struct dvd_bca bca; - struct dvd_manufact manufact; -} dvd_struct; - -typedef struct { - u64 length; - u64 data; -} efi_capsule_block_desc_t; - -typedef struct { - __u8 b[16]; -} guid_t; - -typedef guid_t efi_guid_t; - -typedef struct { - efi_guid_t guid; - u32 headersize; - u32 flags; - u32 imagesize; -} efi_capsule_header_t; - -typedef struct { - efi_guid_t guid; - u32 table; -} efi_config_table_32_t; - -typedef struct { - efi_guid_t guid; - u64 table; -} efi_config_table_64_t; - -typedef union { - struct { - efi_guid_t guid; - void *table; - }; - efi_config_table_32_t mixed_mode; -} efi_config_table_t; - -typedef struct { - efi_guid_t guid; - long unsigned int *ptr; - const char name[16]; -} efi_config_table_type_t; - -typedef struct { - u32 type; - u32 pad; - u64 phys_addr; - u64 virt_addr; - u64 num_pages; - u64 attribute; -} efi_memory_desc_t; - -typedef struct { - u32 version; - u32 num_entries; - u32 desc_size; - u32 flags; - efi_memory_desc_t entry[0]; -} efi_memory_attributes_table_t; - -typedef struct { - u16 version; - u16 length; - u32 runtime_services_supported; -} efi_rt_properties_table_t; - -typedef struct { - u64 signature; - u32 revision; - u32 headersize; - u32 crc32; - u32 reserved; -} efi_table_hdr_t; - -typedef struct { - efi_table_hdr_t hdr; - u32 get_time; - u32 set_time; - u32 get_wakeup_time; - u32 set_wakeup_time; - u32 set_virtual_address_map; - u32 convert_pointer; - u32 get_variable; - u32 get_next_variable; - u32 set_variable; - u32 get_next_high_mono_count; - u32 reset_system; - u32 update_capsule; - u32 query_capsule_caps; - u32 query_variable_info; -} efi_runtime_services_32_t; - -typedef struct { - u16 year; - u8 month; - u8 day; - u8 hour; - u8 minute; - u8 second; - u8 pad1; - u32 nanosecond; - s16 timezone; - u8 daylight; - u8 pad2; -} efi_time_t; - -typedef struct { - u32 resolution; - u32 accuracy; - u8 sets_to_zero; -} efi_time_cap_t; - -typedef union { - struct { - efi_table_hdr_t hdr; - efi_status_t (*get_time)(efi_time_t *, efi_time_cap_t *); - efi_status_t (*set_time)(efi_time_t *); - efi_status_t (*get_wakeup_time)(efi_bool_t *, efi_bool_t *, efi_time_t *); - efi_status_t (*set_wakeup_time)(efi_bool_t, efi_time_t *); - efi_status_t (*set_virtual_address_map)(long unsigned int, long unsigned int, u32, efi_memory_desc_t *); - void *convert_pointer; - efi_status_t (*get_variable)(efi_char16_t *, efi_guid_t *, u32 *, long unsigned int *, void *); - efi_status_t (*get_next_variable)(long unsigned int *, efi_char16_t *, efi_guid_t *); - efi_status_t (*set_variable)(efi_char16_t *, efi_guid_t *, u32, long unsigned int, void *); - efi_status_t (*get_next_high_mono_count)(u32 *); - void (*reset_system)(int, efi_status_t, long unsigned int, efi_char16_t *); - efi_status_t (*update_capsule)(efi_capsule_header_t **, long unsigned int, long unsigned int); - efi_status_t (*query_capsule_caps)(efi_capsule_header_t **, long unsigned int, u64 *, int *); - efi_status_t (*query_variable_info)(u32, u64 *, u64 *, u64 *); - }; - efi_runtime_services_32_t mixed_mode; -} efi_runtime_services_t; - -typedef struct { - efi_guid_t signature_owner; - u8 signature_data[0]; -} efi_signature_data_t; - -typedef struct { - efi_guid_t signature_type; - u32 signature_list_size; - u32 signature_header_size; - u32 signature_size; - u8 signature_header[0]; -} efi_signature_list_t; - -typedef struct { - efi_table_hdr_t hdr; - u32 fw_vendor; - u32 fw_revision; - u32 con_in_handle; - u32 con_in; - u32 con_out_handle; - u32 con_out; - u32 stderr_handle; - u32 stderr; - u32 runtime; - u32 boottime; - u32 nr_tables; - u32 tables; -} efi_system_table_32_t; - -typedef struct { - efi_table_hdr_t hdr; - u64 fw_vendor; - u32 fw_revision; - u32 __pad1; - u64 con_in_handle; - u64 con_in; - u64 con_out_handle; - u64 con_out; - u64 stderr_handle; - u64 stderr; - u64 runtime; - u64 boottime; - u32 nr_tables; - u32 __pad2; - u64 tables; -} efi_system_table_64_t; - -union efi_simple_text_input_protocol; - -typedef union efi_simple_text_input_protocol efi_simple_text_input_protocol_t; - -union efi_simple_text_output_protocol; - -typedef union efi_simple_text_output_protocol efi_simple_text_output_protocol_t; - -union efi_boot_services; - -typedef union efi_boot_services efi_boot_services_t; - -typedef union { - struct { - efi_table_hdr_t hdr; - long unsigned int fw_vendor; - u32 fw_revision; - long unsigned int con_in_handle; - efi_simple_text_input_protocol_t *con_in; - long unsigned int con_out_handle; - efi_simple_text_output_protocol_t *con_out; - long unsigned int stderr_handle; - long unsigned int stderr; - efi_runtime_services_t *runtime; - efi_boot_services_t *boottime; - long unsigned int nr_tables; - long unsigned int tables; - }; - efi_system_table_32_t mixed_mode; -} efi_system_table_t; - -typedef struct { - __le16 e_tag; - __le16 e_perm; - __le32 e_id; -} ext4_acl_entry; - -typedef struct { - __le32 a_version; -} ext4_acl_header; - -typedef __kernel_fd_set fd_set; - -typedef struct { - long unsigned int *in; - long unsigned int *out; - long unsigned int *ex; - long unsigned int *res_in; - long unsigned int *res_out; - long unsigned int *res_ex; -} fd_set_bits; - -typedef struct { - atomic64_t refcnt; -} file_ref_t; - -typedef struct { - unsigned int t391; - unsigned int t392; - unsigned int n391; - unsigned int n392; - unsigned int n393; - short unsigned int lmi; - short unsigned int dce; -} fr_proto; - -typedef struct { - unsigned int dlci; -} fr_proto_pvc; - -typedef struct { - unsigned int dlci; - char master[16]; -} fr_proto_pvc_info; - -typedef union { - struct { - void *freelist; - long unsigned int counter; - }; - freelist_full_t full; -} freelist_aba_t; - -typedef struct { - long unsigned int v; -} freeptr_t; - -typedef struct { - long unsigned int key[2]; -} hsiphash_key_t; - -typedef struct { - u8 kvm_cpu_l1tf_flush_l1d; - unsigned int __nmi_count; - unsigned int apic_timer_irqs; - unsigned int irq_spurious_count; - unsigned int icr_read_retry_count; - unsigned int kvm_posted_intr_ipis; - unsigned int kvm_posted_intr_wakeup_ipis; - unsigned int kvm_posted_intr_nested_ipis; - unsigned int x86_platform_ipis; - unsigned int apic_perf_irqs; - unsigned int apic_irq_work_irqs; - unsigned int irq_resched_count; - unsigned int irq_call_count; - unsigned int irq_tlb_count; - unsigned int irq_thermal_count; - unsigned int irq_threshold_count; - unsigned int irq_deferred_error_count; - unsigned int irq_hv_callback_count; - unsigned int irq_hv_reenlightenment_count; - unsigned int hyperv_stimer0_count; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -} irq_cpustat_t; - -typedef struct { - u64 val; -} kernel_cap_t; - -typedef struct { - gid_t val; -} kgid_t; - -typedef struct { - uid_t val; -} kuid_t; - -typedef union { - kuid_t uid; - kgid_t gid; -} kid_t; - -typedef struct { - projid_t val; -} kprojid_t; - -typedef struct { - U32 offset; - U32 checksum; -} ldmEntry_t; - -typedef struct { - const BYTE *split; - U32 hash; - U32 checksum; - ldmEntry_t *bucket; -} ldmMatchCandidate_t; - -typedef struct { - ZSTD_ParamSwitch_e enableLdm; - U32 hashLog; - U32 bucketSizeLog; - U32 minMatchLength; - U32 hashRateLog; - U32 windowLog; -} ldmParams_t; - -typedef struct { - U64 rolling; - U64 stopMask; -} ldmRollingHashState_t; - -typedef struct { - ZSTD_window_t window; - ldmEntry_t *hashTable; - U32 loadedDictEnd; - BYTE *bucketOffsets; - size_t splitIndices[64]; - ldmMatchCandidate_t matchCandidates[64]; -} ldmState_t; - -typedef struct { - __le64 b; - __le64 a; -} le128; - -typedef struct { - atomic_long_t a; -} local_t; - -typedef struct { - local_t a; -} local64_t; - -typedef struct {} local_lock_t; - -typedef struct { - local_lock_t llock; - u8 acquired; -} local_trylock_t; - -typedef struct {} lockdep_map_p; - -struct optimistic_spin_queue { - atomic_t tail; -}; - -struct raw_spinlock { - arch_spinlock_t raw_lock; -}; - -struct list_head { - struct list_head *next; - struct list_head *prev; -}; - -struct rw_semaphore { - atomic_long_t count; - atomic_long_t owner; - struct optimistic_spin_queue osq; - raw_spinlock_t wait_lock; - struct list_head wait_list; -}; - -struct mutex { - atomic_long_t owner; - raw_spinlock_t wait_lock; - struct optimistic_spin_queue osq; - struct list_head wait_list; -}; - -struct ldt_struct; - -struct vdso_image; - -typedef struct { - u64 ctx_id; - atomic64_t tlb_gen; - long unsigned int next_trim_cpumask; - struct rw_semaphore ldt_usr_sem; - struct ldt_struct *ldt; - long unsigned int flags; - struct mutex lock; - void *vdso; - const struct vdso_image *vdso_image; - atomic_t perf_rdpmc_allowed; - u16 pkey_allocation_map; - s16 execute_only_pkey; - u16 global_asid; - bool asid_transition; -} mm_context_t; - -typedef struct {} netdevice_tracker; - -typedef struct {} netns_tracker; - -typedef struct { - char data[8]; -} nfs4_verifier; - -typedef struct { - long unsigned int bits[16]; -} nodemask_t; - -typedef struct { - p4dval_t p4d; -} p4d_t; - -typedef struct { - u64 pme; -} pagemap_entry_t; - -typedef struct { - pgdval_t pgd; -} pgd_t; - -typedef struct { - pmdval_t pmd; -} pmd_t; - -typedef struct { - long unsigned int bits[4]; -} pnp_irq_mask_t; - -struct net; - -typedef struct { - struct net *net; -} possible_net_t; - -typedef struct { - pteval_t pte; -} pte_t; - -typedef struct { - pudval_t pud; -} pud_t; - -typedef struct { - short unsigned int encoding; - short unsigned int parity; -} raw_hdlc_proto; - -typedef struct { - atomic_t refcnt; -} rcuref_t; - -typedef struct { - size_t written; - size_t count; - union { - char *buf; - void *data; - } arg; - int error; -} read_descriptor_t; - -typedef union { -} release_pages_arg; - -typedef struct { - __u16 report_key_length; - __u8 reserved1; - __u8 reserved2; - __u8 ucca: 3; - __u8 vra: 3; - __u8 type_code: 2; - __u8 region_mask; - __u8 rpc_scheme; - __u8 reserved3; -} rpc_state_t; - -typedef struct { - BIT_DStream_t DStream; - ZSTD_fseState stateLL; - ZSTD_fseState stateOffb; - ZSTD_fseState stateML; - size_t prevOffset[3]; -} seqState_t; - -typedef struct { - U32 *splitLocations; - size_t idx; -} seqStoreSplits; - -typedef struct { - size_t litLength; - size_t matchLength; - size_t offset; -} seq_t; - -struct seqcount { - unsigned int sequence; -}; - -typedef struct seqcount seqcount_t; - -typedef struct { - seqcount_t seqcount; -} seqcount_latch_t; - -struct seqcount_spinlock { - seqcount_t seqcount; -}; - -typedef struct seqcount_spinlock seqcount_spinlock_t; - -struct spinlock { - union { - struct raw_spinlock rlock; - }; -}; - -typedef struct { - seqcount_spinlock_t seqcount; - spinlock_t lock; -} seqlock_t; - -typedef struct { - long unsigned int sig[1]; -} sigset_t; - -typedef struct { - u64 key[2]; -} siphash_key_t; - -struct wait_queue_head { - spinlock_t lock; - struct list_head head; -}; - -typedef struct wait_queue_head wait_queue_head_t; - -typedef struct { - spinlock_t slock; - int owned; - wait_queue_head_t wq; -} socket_lock_t; - -typedef struct { - char *from; - char *to; -} substring_t; - -typedef struct { - long unsigned int val; -} swp_entry_t; - -typedef struct { - unsigned int clock_rate; - unsigned int clock_type; - short unsigned int loopback; -} sync_serial_settings; - -typedef struct { - unsigned int clock_rate; - unsigned int clock_type; - short unsigned int loopback; - unsigned int slot_map; -} te1_settings; - -typedef struct { - __be16 track_information_length; - __u8 track_lsb; - __u8 session_lsb; - __u8 reserved1; - __u8 track_mode: 4; - __u8 copy: 1; - __u8 damage: 1; - __u8 reserved2: 2; - __u8 data_mode: 4; - __u8 fp: 1; - __u8 packet: 1; - __u8 blank: 1; - __u8 rt: 1; - __u8 nwa_v: 1; - __u8 lra_v: 1; - __u8 reserved3: 6; - __be32 track_start; - __be32 next_writable; - __be32 free_blocks; - __be32 fixed_packet_size; - __be32 track_size; - __be32 last_rec_address; -} track_information; - -typedef struct { - int data; - int audio; - int cdi; - int xa; - long int error; -} tracktype; - -typedef struct { - local64_t v; -} u64_stats_t; - -typedef struct { - u64 m_low; - u64 m_high; -} uint128_t; - -typedef struct { - __u8 b[16]; -} uuid_t; - -typedef struct { - gid_t val; -} vfsgid_t; - -typedef struct { - uid_t val; -} vfsuid_t; - -typedef struct { - short unsigned int dce; - unsigned int modulo; - unsigned int window; - unsigned int t1; - unsigned int t2; - unsigned int n2; -} x25_hdlc_proto; - -struct in6_addr { - union { - __u8 u6_addr8[16]; - __be16 u6_addr16[8]; - __be32 u6_addr32[4]; - } in6_u; -}; - -typedef union { - __be32 a4; - __be32 a6[4]; - struct in6_addr in6; -} xfrm_address_t; - -typedef ZSTD_compressionParameters zstd_compression_parameters; - -typedef ZSTD_customMem zstd_custom_mem; - -typedef ZSTD_FrameHeader zstd_frame_header; - -typedef ZSTD_parameters zstd_parameters; - -typedef ZSTD_Sequence zstd_sequence; - -union IO_APIC_reg_00 { - u32 raw; - struct { - u32 __reserved_2: 14; - u32 LTS: 1; - u32 delivery_type: 1; - u32 __reserved_1: 8; - u32 ID: 8; - } bits; -}; - -union IO_APIC_reg_01 { - u32 raw; - struct { - u32 version: 8; - u32 __reserved_2: 7; - u32 PRQ: 1; - u32 entries: 8; - u32 __reserved_1: 8; - } bits; -}; - -union IO_APIC_reg_02 { - u32 raw; - struct { - u32 __reserved_2: 24; - u32 arbitration: 4; - u32 __reserved_1: 4; - } bits; -}; - -union IO_APIC_reg_03 { - u32 raw; - struct { - u32 boot_DT: 1; - u32 __reserved_1: 31; - } bits; -}; - -struct IO_APIC_route_entry { - union { - struct { - u64 vector: 8; - u64 delivery_mode: 3; - u64 dest_mode_logical: 1; - u64 delivery_status: 1; - u64 active_low: 1; - u64 irr: 1; - u64 is_level: 1; - u64 masked: 1; - u64 reserved_0: 15; - u64 reserved_1: 17; - u64 virt_destid_8_14: 7; - u64 destid_0_7: 8; - }; - struct { - u64 ir_shared_0: 8; - u64 ir_zero: 3; - u64 ir_index_15: 1; - u64 ir_shared_1: 5; - u64 ir_reserved_0: 31; - u64 ir_format: 1; - u64 ir_index_0_14: 15; - }; - struct { - u64 w1: 32; - u64 w2: 32; - }; - }; -}; - -struct PartitionBlock { - __be32 pb_ID; - __be32 pb_SummedLongs; - __be32 pb_ChkSum; - __be32 pb_HostID; - __be32 pb_Next; - __be32 pb_Flags; - __be32 pb_Reserved1[2]; - __be32 pb_DevFlags; - __u8 pb_DriveName[32]; - __be32 pb_Reserved2[15]; - __be32 pb_Environment[17]; - __be32 pb_EReserved[15]; -}; - -struct refcount_struct { - atomic_t refs; -}; - -typedef struct refcount_struct refcount_t; - -struct sk_buff; - -struct sk_buff_list { - struct sk_buff *next; - struct sk_buff *prev; -}; - -struct sk_buff_head { - union { - struct { - struct sk_buff *next; - struct sk_buff *prev; - }; - struct sk_buff_list list; - }; - __u32 qlen; - spinlock_t lock; -}; - -struct qdisc_skb_head { - struct sk_buff *head; - struct sk_buff *tail; - __u32 qlen; - spinlock_t lock; -}; - -struct u64_stats_sync {}; - -struct gnet_stats_basic_sync { - u64_stats_t bytes; - u64_stats_t packets; - struct u64_stats_sync syncp; -}; - -struct gnet_stats_queue { - __u32 qlen; - __u32 backlog; - __u32 drops; - __u32 requeues; - __u32 overlimits; -}; - -struct callback_head { - struct callback_head *next; - void (*func)(struct callback_head *); -}; - -struct lock_class_key {}; - -struct Qdisc_ops; - -struct qdisc_size_table; - -struct netdev_queue; - -struct net_rate_estimator; - -struct Qdisc { - int (*enqueue)(struct sk_buff *, struct Qdisc *, struct sk_buff **); - struct sk_buff * (*dequeue)(struct Qdisc *); - unsigned int flags; - u32 limit; - const struct Qdisc_ops *ops; - struct qdisc_size_table *stab; - struct hlist_node hash; - u32 handle; - u32 parent; - struct netdev_queue *dev_queue; - struct net_rate_estimator *rate_est; - struct gnet_stats_basic_sync *cpu_bstats; - struct gnet_stats_queue *cpu_qstats; - int pad; - refcount_t refcnt; - long: 64; - long: 64; - long: 64; - struct sk_buff_head gso_skb; - struct qdisc_skb_head q; - struct gnet_stats_basic_sync bstats; - struct gnet_stats_queue qstats; - int owner; - long unsigned int state; - long unsigned int state2; - struct Qdisc *next_sched; - struct sk_buff_head skb_bad_txq; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - spinlock_t busylock; - spinlock_t seqlock; - struct callback_head rcu; - netdevice_tracker dev_tracker; - struct lock_class_key root_lock_key; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long int privdata[0]; -}; - -struct Qdisc_class_common { - u32 classid; - unsigned int filter_cnt; - struct hlist_node hnode; -}; - -struct hlist_head; - -struct Qdisc_class_hash { - struct hlist_head *hash; - unsigned int hashsize; - unsigned int hashmask; - unsigned int hashelems; -}; - -struct tcmsg; - -struct netlink_ext_ack; - -struct nlattr; - -struct qdisc_walker; - -struct tcf_block; - -struct gnet_dump; - -struct Qdisc_class_ops { - unsigned int flags; - struct netdev_queue * (*select_queue)(struct Qdisc *, struct tcmsg *); - int (*graft)(struct Qdisc *, long unsigned int, struct Qdisc *, struct Qdisc **, struct netlink_ext_ack *); - struct Qdisc * (*leaf)(struct Qdisc *, long unsigned int); - void (*qlen_notify)(struct Qdisc *, long unsigned int); - long unsigned int (*find)(struct Qdisc *, u32); - int (*change)(struct Qdisc *, u32, u32, struct nlattr **, long unsigned int *, struct netlink_ext_ack *); - int (*delete)(struct Qdisc *, long unsigned int, struct netlink_ext_ack *); - void (*walk)(struct Qdisc *, struct qdisc_walker *); - struct tcf_block * (*tcf_block)(struct Qdisc *, long unsigned int, struct netlink_ext_ack *); - long unsigned int (*bind_tcf)(struct Qdisc *, long unsigned int, u32); - void (*unbind_tcf)(struct Qdisc *, long unsigned int); - int (*dump)(struct Qdisc *, long unsigned int, struct sk_buff *, struct tcmsg *); - int (*dump_stats)(struct Qdisc *, long unsigned int, struct gnet_dump *); -}; - -struct module; - -struct Qdisc_ops { - struct Qdisc_ops *next; - const struct Qdisc_class_ops *cl_ops; - char id[16]; - int priv_size; - unsigned int static_flags; - int (*enqueue)(struct sk_buff *, struct Qdisc *, struct sk_buff **); - struct sk_buff * (*dequeue)(struct Qdisc *); - struct sk_buff * (*peek)(struct Qdisc *); - int (*init)(struct Qdisc *, struct nlattr *, struct netlink_ext_ack *); - void (*reset)(struct Qdisc *); - void (*destroy)(struct Qdisc *); - int (*change)(struct Qdisc *, struct nlattr *, struct netlink_ext_ack *); - void (*attach)(struct Qdisc *); - int (*change_tx_queue_len)(struct Qdisc *, unsigned int); - void (*change_real_num_tx)(struct Qdisc *, unsigned int); - int (*dump)(struct Qdisc *, struct sk_buff *); - int (*dump_stats)(struct Qdisc *, struct gnet_dump *); - void (*ingress_block_set)(struct Qdisc *, u32); - void (*egress_block_set)(struct Qdisc *, u32); - u32 (*ingress_block_get)(struct Qdisc *); - u32 (*egress_block_get)(struct Qdisc *); - struct module *owner; -}; - -struct RigidDiskBlock { - __be32 rdb_ID; - __be32 rdb_SummedLongs; - __be32 rdb_ChkSum; - __be32 rdb_HostID; - __be32 rdb_BlockBytes; - __be32 rdb_Flags; - __be32 rdb_BadBlockList; - __be32 rdb_PartitionList; - __be32 rdb_FileSysHeaderList; - __be32 rdb_DriveInit; - __be32 rdb_Reserved1[6]; - __be32 rdb_Cylinders; - __be32 rdb_Sectors; - __be32 rdb_Heads; - __be32 rdb_Interleave; - __be32 rdb_Park; - __be32 rdb_Reserved2[3]; - __be32 rdb_WritePreComp; - __be32 rdb_ReducedWrite; - __be32 rdb_StepRate; - __be32 rdb_Reserved3[5]; - __be32 rdb_RDBBlocksLo; - __be32 rdb_RDBBlocksHi; - __be32 rdb_LoCylinder; - __be32 rdb_HiCylinder; - __be32 rdb_CylBlocks; - __be32 rdb_AutoParkSeconds; - __be32 rdb_HighRDSKBlock; - __be32 rdb_Reserved4; - char rdb_DiskVendor[8]; - char rdb_DiskProduct[16]; - char rdb_DiskRevision[4]; - char rdb_ControllerVendor[8]; - char rdb_ControllerProduct[16]; - char rdb_ControllerRevision[4]; - __be32 rdb_Reserved5[10]; -}; - -struct kref { - refcount_t refcount; -}; - -struct swait_queue_head { - raw_spinlock_t lock; - struct list_head task_list; -}; - -struct completion { - unsigned int done; - struct swait_queue_head wait; -}; - -struct blk_mq_queue_map { - unsigned int *mq_map; - unsigned int nr_queues; - unsigned int queue_offset; -}; - -struct blk_mq_ops; - -struct blk_mq_tags; - -struct blk_mq_tag_set { - const struct blk_mq_ops *ops; - struct blk_mq_queue_map map[3]; - unsigned int nr_maps; - unsigned int nr_hw_queues; - unsigned int queue_depth; - unsigned int reserved_tags; - unsigned int cmd_size; - int numa_node; - unsigned int timeout; - unsigned int flags; - void *driver_data; - struct blk_mq_tags **tags; - struct blk_mq_tags *shared_tags; - struct mutex tag_list_lock; - struct list_head tag_list; - struct srcu_struct *srcu; - struct rw_semaphore update_nr_hwq_lock; -}; - -struct kset; - -struct kobj_type; - -struct kernfs_node; - -struct kobject { - const char *name; - struct list_head entry; - struct kobject *parent; - struct kset *kset; - const struct kobj_type *ktype; - struct kernfs_node *sd; - struct kref kref; - unsigned int state_initialized: 1; - unsigned int state_in_sysfs: 1; - unsigned int state_add_uevent_sent: 1; - unsigned int state_remove_uevent_sent: 1; - unsigned int uevent_suppress: 1; -}; - -struct dev_links_info { - struct list_head suppliers; - struct list_head consumers; - struct list_head defer_sync; - enum dl_dev_state status; -}; - -struct pm_message { - int event; -}; - -typedef struct pm_message pm_message_t; - -struct rb_node { - long unsigned int __rb_parent_color; - struct rb_node *rb_right; - struct rb_node *rb_left; -}; - -struct timerqueue_node { - struct rb_node node; - ktime_t expires; -}; - -struct hrtimer_clock_base; - -struct hrtimer { - struct timerqueue_node node; - ktime_t _softexpires; - enum hrtimer_restart (*function)(struct hrtimer *); - struct hrtimer_clock_base *base; - u8 state; - u8 is_rel; - u8 is_soft; - u8 is_hard; -}; - -struct work_struct; - -typedef void (*work_func_t)(struct work_struct *); - -struct work_struct { - atomic_long_t data; - struct list_head entry; - work_func_t func; -}; - -struct wakeup_source; - -struct wake_irq; - -struct pm_subsys_data; - -struct dev_pm_qos; - -struct dev_pm_info { - pm_message_t power_state; - bool can_wakeup: 1; - bool async_suspend: 1; - bool in_dpm_list: 1; - bool is_prepared: 1; - bool is_suspended: 1; - bool is_noirq_suspended: 1; - bool is_late_suspended: 1; - bool no_pm: 1; - bool early_init: 1; - bool direct_complete: 1; - u32 driver_flags; - spinlock_t lock; - struct list_head entry; - struct completion completion; - struct wakeup_source *wakeup; - bool wakeup_path: 1; - bool syscore: 1; - bool no_pm_callbacks: 1; - bool work_in_progress: 1; - bool smart_suspend: 1; - bool must_resume: 1; - bool may_skip_resume: 1; - bool strict_midlayer: 1; - struct hrtimer suspend_timer; - u64 timer_expires; - struct work_struct work; - wait_queue_head_t wait_queue; - struct wake_irq *wakeirq; - atomic_t usage_count; - atomic_t child_count; - unsigned int disable_depth: 3; - bool idle_notification: 1; - bool request_pending: 1; - bool deferred_resume: 1; - bool needs_force_resume: 1; - bool runtime_auto: 1; - bool ignore_children: 1; - bool no_callbacks: 1; - bool irq_safe: 1; - bool use_autosuspend: 1; - bool timer_autosuspends: 1; - bool memalloc_noio: 1; - unsigned int links_count; - enum rpm_request request; - enum rpm_status runtime_status; - enum rpm_status last_status; - int runtime_error; - int autosuspend_delay; - u64 last_busy; - u64 active_time; - u64 suspended_time; - u64 accounting_timestamp; - struct pm_subsys_data *subsys_data; - void (*set_latency_tolerance)(struct device *, s32); - struct dev_pm_qos *qos; - bool detach_power_off: 1; -}; - -struct irq_domain; - -struct msi_device_data; - -struct dev_msi_info { - struct irq_domain *domain; - struct msi_device_data *data; -}; - -struct dev_archdata {}; - -struct device_private; - -struct device_type; - -struct bus_type; - -struct device_driver; - -struct dev_pm_domain; - -struct em_perf_domain; - -struct dev_pin_info; - -struct dma_map_ops; - -struct bus_dma_region; - -struct device_dma_parameters; - -struct cma; - -struct io_tlb_mem; - -struct device_node; - -struct fwnode_handle; - -struct class; - -struct attribute_group; - -struct iommu_group; - -struct dev_iommu; - -struct device_physical_location; - -struct device { - struct kobject kobj; - struct device *parent; - struct device_private *p; - const char *init_name; - const struct device_type *type; - const struct bus_type *bus; - struct device_driver *driver; - void *platform_data; - void *driver_data; - struct mutex mutex; - struct dev_links_info links; - struct dev_pm_info power; - struct dev_pm_domain *pm_domain; - struct em_perf_domain *em_pd; - struct dev_pin_info *pins; - struct dev_msi_info msi; - const struct dma_map_ops *dma_ops; - u64 *dma_mask; - u64 coherent_dma_mask; - u64 bus_dma_limit; - const struct bus_dma_region *dma_range_map; - struct device_dma_parameters *dma_parms; - struct list_head dma_pools; - struct cma *cma_area; - struct io_tlb_mem *dma_io_tlb_mem; - struct list_head dma_io_tlb_pools; - spinlock_t dma_io_tlb_lock; - bool dma_uses_io_tlb; - struct dev_archdata archdata; - struct device_node *of_node; - struct fwnode_handle *fwnode; - int numa_node; - dev_t devt; - u32 id; - spinlock_t devres_lock; - struct list_head devres_head; - const struct class *class; - const struct attribute_group **groups; - void (*release)(struct device *); - struct iommu_group *iommu_group; - struct dev_iommu *iommu; - struct device_physical_location *physical_location; - enum device_removable removable; - bool offline_disabled: 1; - bool offline: 1; - bool of_node_reused: 1; - bool state_synced: 1; - bool can_match: 1; - bool dma_skip_sync: 1; - bool dma_iommu: 1; -}; - -struct scsi_host_template; - -struct scsi_transport_template; - -struct workqueue_struct; - -struct Scsi_Host { - struct list_head __devices; - struct list_head __targets; - struct list_head starved_list; - spinlock_t default_lock; - spinlock_t *host_lock; - struct mutex scan_mutex; - struct list_head eh_abort_list; - struct list_head eh_cmd_q; - struct task_struct *ehandler; - struct completion *eh_action; - wait_queue_head_t host_wait; - const struct scsi_host_template *hostt; - struct scsi_transport_template *transportt; - struct kref tagset_refcnt; - struct completion tagset_freed; - struct blk_mq_tag_set tag_set; - atomic_t host_blocked; - unsigned int host_failed; - unsigned int host_eh_scheduled; - unsigned int host_no; - int eh_deadline; - long unsigned int last_reset; - unsigned int max_channel; - unsigned int max_id; - u64 max_lun; - unsigned int unique_id; - short unsigned int max_cmd_len; - int this_id; - int can_queue; - short int cmd_per_lun; - short unsigned int sg_tablesize; - short unsigned int sg_prot_tablesize; - unsigned int max_sectors; - unsigned int opt_sectors; - unsigned int max_segment_size; - unsigned int dma_alignment; - long unsigned int dma_boundary; - long unsigned int virt_boundary_mask; - unsigned int nr_hw_queues; - unsigned int nr_maps; - unsigned int active_mode: 2; - unsigned int host_self_blocked: 1; - unsigned int reverse_ordering: 1; - unsigned int tmf_in_progress: 1; - unsigned int async_scan: 1; - unsigned int eh_noresume: 1; - unsigned int no_write_same: 1; - unsigned int host_tagset: 1; - unsigned int queuecommand_may_block: 1; - unsigned int short_inquiry: 1; - unsigned int no_scsi2_lun_in_cdb: 1; - struct workqueue_struct *work_q; - struct workqueue_struct *tmf_work_q; - unsigned int max_host_blocked; - unsigned int prot_capabilities; - unsigned char prot_guard_type; - long unsigned int base; - long unsigned int io_port; - unsigned char n_io_port; - unsigned char dma_channel; - unsigned int irq; - enum scsi_host_state shost_state; - struct device shost_gendev; - struct device shost_dev; - void *shost_data; - struct device *dma_dev; - int rpm_autosuspend_delay; - long unsigned int hostdata[0]; -}; - -struct SeqDef_s { - U32 offBase; - U16 litLength; - U16 mlBase; -}; - -typedef size_t (*ZSTD_sequenceProducer_F)(void *, ZSTD_Sequence *, size_t, const void *, size_t, const void *, size_t, int, size_t); - -struct ZSTD_CCtx_params_s { - ZSTD_format_e format; - ZSTD_compressionParameters cParams; - ZSTD_frameParameters fParams; - int compressionLevel; - int forceWindow; - size_t targetCBlockSize; - int srcSizeHint; - ZSTD_dictAttachPref_e attachDictPref; - ZSTD_ParamSwitch_e literalCompressionMode; - int nbWorkers; - size_t jobSize; - int overlapLog; - int rsyncable; - ldmParams_t ldmParams; - int enableDedicatedDictSearch; - ZSTD_bufferMode_e inBufferMode; - ZSTD_bufferMode_e outBufferMode; - ZSTD_SequenceFormat_e blockDelimiters; - int validateSequences; - ZSTD_ParamSwitch_e postBlockSplitter; - int preBlockSplitter_level; - size_t maxBlockSize; - ZSTD_ParamSwitch_e useRowMatchFinder; - int deterministicRefPrefix; - ZSTD_customMem customMem; - ZSTD_ParamSwitch_e prefetchCDictTables; - int enableMatchFinderFallback; - void *extSeqProdState; - ZSTD_sequenceProducer_F extSeqProdFunc; - ZSTD_ParamSwitch_e searchForExternalRepcodes; -}; - -typedef struct ZSTD_CCtx_params_s ZSTD_CCtx_params; - -struct xxh64_state { - uint64_t total_len; - uint64_t v1; - uint64_t v2; - uint64_t v3; - uint64_t v4; - uint64_t mem64[4]; - uint32_t memsize; -}; - -struct POOL_ctx_s; - -typedef struct POOL_ctx_s ZSTD_threadPool; - -struct ZSTD_inBuffer_s { - const void *src; - size_t size; - size_t pos; -}; - -typedef struct ZSTD_inBuffer_s ZSTD_inBuffer; - -struct ZSTD_prefixDict_s { - const void *dict; - size_t dictSize; - ZSTD_dictContentType_e dictContentType; -}; - -typedef struct ZSTD_prefixDict_s ZSTD_prefixDict; - -struct ZSTD_CCtx_s { - ZSTD_compressionStage_e stage; - int cParamsChanged; - int bmi2; - ZSTD_CCtx_params requestedParams; - ZSTD_CCtx_params appliedParams; - ZSTD_CCtx_params simpleApiParams; - U32 dictID; - size_t dictContentSize; - ZSTD_cwksp workspace; - size_t blockSizeMax; - long long unsigned int pledgedSrcSizePlusOne; - long long unsigned int consumedSrcSize; - long long unsigned int producedCSize; - struct xxh64_state xxhState; - ZSTD_customMem customMem; - ZSTD_threadPool *pool; - size_t staticSize; - SeqCollector seqCollector; - int isFirstBlock; - int initialized; - SeqStore_t seqStore; - ldmState_t ldmState; - rawSeq *ldmSequences; - size_t maxNbLdmSequences; - RawSeqStore_t externSeqStore; - ZSTD_blockState_t blockState; - void *tmpWorkspace; - size_t tmpWkspSize; - ZSTD_buffered_policy_e bufferedPolicy; - char *inBuff; - size_t inBuffSize; - size_t inToCompress; - size_t inBuffPos; - size_t inBuffTarget; - char *outBuff; - size_t outBuffSize; - size_t outBuffContentSize; - size_t outBuffFlushedSize; - ZSTD_cStreamStage streamStage; - U32 frameEnded; - ZSTD_inBuffer expectedInBuffer; - size_t stableIn_notConsumed; - size_t expectedOutBufferSize; - ZSTD_localDict localDict; - const ZSTD_CDict *cdict; - ZSTD_prefixDict prefixDict; - ZSTD_blockSplitCtx blockSplitCtx; - ZSTD_Sequence *extSeqBuf; - size_t extSeqBufCapacity; -}; - -typedef struct ZSTD_CCtx_s ZSTD_CCtx; - -typedef ZSTD_CCtx ZSTD_CStream; - -typedef ZSTD_CCtx zstd_cctx; - -typedef ZSTD_CStream zstd_cstream; - -struct ZSTD_CDict_s { - const void *dictContent; - size_t dictContentSize; - ZSTD_dictContentType_e dictContentType; - U32 *entropyWorkspace; - ZSTD_cwksp workspace; - ZSTD_MatchState_t matchState; - ZSTD_compressedBlockState_t cBlockState; - ZSTD_customMem customMem; - U32 dictID; - int compressionLevel; - ZSTD_ParamSwitch_e useRowMatchFinder; -}; - -typedef ZSTD_CDict zstd_cdict; - -struct ZSTD_outBuffer_s { - void *dst; - size_t size; - size_t pos; -}; - -typedef struct ZSTD_outBuffer_s ZSTD_outBuffer; - -struct ZSTD_DCtx_s { - const ZSTD_seqSymbol *LLTptr; - const ZSTD_seqSymbol *MLTptr; - const ZSTD_seqSymbol *OFTptr; - const HUF_DTable *HUFptr; - ZSTD_entropyDTables_t entropy; - U32 workspace[640]; - const void *previousDstEnd; - const void *prefixStart; - const void *virtualStart; - const void *dictEnd; - size_t expected; - ZSTD_FrameHeader fParams; - U64 processedCSize; - U64 decodedSize; - blockType_e bType; - ZSTD_dStage stage; - U32 litEntropy; - U32 fseEntropy; - struct xxh64_state xxhState; - size_t headerSize; - ZSTD_format_e format; - ZSTD_forceIgnoreChecksum_e forceIgnoreChecksum; - U32 validateChecksum; - const BYTE *litPtr; - ZSTD_customMem customMem; - size_t litSize; - size_t rleSize; - size_t staticSize; - int isFrameDecompression; - int bmi2; - ZSTD_DDict *ddictLocal; - const ZSTD_DDict *ddict; - U32 dictID; - int ddictIsCold; - ZSTD_dictUses_e dictUses; - ZSTD_DDictHashSet *ddictSet; - ZSTD_refMultipleDDicts_e refMultipleDDicts; - int disableHufAsm; - int maxBlockSizeParam; - ZSTD_dStreamStage streamStage; - char *inBuff; - size_t inBuffSize; - size_t inPos; - size_t maxWindowSize; - char *outBuff; - size_t outBuffSize; - size_t outStart; - size_t outEnd; - size_t lhSize; - U32 hostageByte; - int noForwardProgress; - ZSTD_bufferMode_e outBufferMode; - ZSTD_outBuffer expectedOutBuffer; - BYTE *litBuffer; - const BYTE *litBufferEnd; - ZSTD_litLocation_e litBufferLocation; - BYTE litExtraBuffer[65568]; - BYTE headerBuffer[18]; - size_t oversizedDuration; -}; - -typedef struct ZSTD_DCtx_s ZSTD_DCtx; - -typedef ZSTD_DCtx ZSTD_DStream; - -typedef ZSTD_DCtx zstd_dctx; - -typedef ZSTD_DStream zstd_dstream; - -struct ZSTD_DDict_s { - void *dictBuffer; - const void *dictContent; - size_t dictSize; - ZSTD_entropyDTables_t entropy; - U32 dictID; - U32 entropyPresent; - ZSTD_customMem cMem; -}; - -typedef ZSTD_DDict zstd_ddict; - -typedef ZSTD_inBuffer zstd_in_buffer; - -typedef ZSTD_outBuffer zstd_out_buffer; - -struct __aio_sigset { - const sigset_t *sigmask; - size_t sigsetsize; -}; - -struct fred_cs { - u64 cs: 16; - u64 sl: 2; - u64 wfe: 1; -}; - -struct fred_ss { - u64 ss: 16; - u64 sti: 1; - u64 swevent: 1; - u64 nmi: 1; - int: 13; - u64 vector: 8; - short: 8; - u64 type: 4; - char: 4; - u64 enclave: 1; - u64 lm: 1; - u64 nested: 1; - char: 1; - u64 insnlen: 4; -}; - -struct pt_regs { - long unsigned int r15; - long unsigned int r14; - long unsigned int r13; - long unsigned int r12; - long unsigned int bp; - long unsigned int bx; - long unsigned int r11; - long unsigned int r10; - long unsigned int r9; - long unsigned int r8; - long unsigned int ax; - long unsigned int cx; - long unsigned int dx; - long unsigned int si; - long unsigned int di; - long unsigned int orig_ax; - long unsigned int ip; - union { - u16 cs; - u64 csx; - struct fred_cs fred_cs; - }; - long unsigned int flags; - long unsigned int sp; - union { - u16 ss; - u64 ssx; - struct fred_ss fred_ss; - }; -}; - -struct __arch_ftrace_regs { - struct pt_regs regs; -}; - -struct __arch_relative_insn { - u8 op; - s32 raddr; -} __attribute__((packed)); - -struct llist_node { - struct llist_node *next; -}; - -struct __call_single_node { - struct llist_node llist; - union { - unsigned int u_flags; - atomic_t a_flags; - }; - u16 src; - u16 dst; -}; - -typedef void (*smp_call_func_t)(void *); - -struct __call_single_data { - struct __call_single_node node; - smp_call_func_t func; - void *info; -}; - -typedef struct __call_single_data call_single_data_t; - -struct idr; - -struct __class_idr { - struct idr *idr; - int id; -}; - -typedef struct __class_idr class_idr_alloc_t; - -struct cpumask; - -struct __cmp_key { - const struct cpumask *cpus; - struct cpumask ***masks; - int node; - int cpu; - int w; -}; - -struct __compat_aio_sigset { - compat_uptr_t sigmask; - compat_size_t sigsetsize; -}; - -struct __compat_iw_event { - __u16 len; - __u16 cmd; - union { - compat_caddr_t pointer; - struct { - struct {} __empty_ptr_bytes; - __u8 ptr_bytes[0]; - }; - }; -}; - -struct drm_connector; - -struct drm_connector_state; - -struct __drm_connnectors_state { - struct drm_connector *ptr; - struct drm_connector_state *state; - struct drm_connector_state *old_state; - struct drm_connector_state *new_state; - s32 *out_fence_ptr; -}; - -struct drm_crtc; - -struct drm_crtc_state; - -struct drm_crtc_commit; - -struct __drm_crtcs_state { - struct drm_crtc *ptr; - struct drm_crtc_state *state; - struct drm_crtc_state *old_state; - struct drm_crtc_state *new_state; - struct drm_crtc_commit *commit; - s32 *out_fence_ptr; - u64 last_vblank_count; -}; - -struct drm_plane; - -struct drm_plane_state; - -struct __drm_planes_state { - struct drm_plane *ptr; - struct drm_plane_state *state; - struct drm_plane_state *old_state; - struct drm_plane_state *new_state; -}; - -struct drm_private_obj; - -struct drm_private_state; - -struct __drm_private_objs_state { - struct drm_private_obj *ptr; - struct drm_private_state *state; - struct drm_private_state *old_state; - struct drm_private_state *new_state; -}; - -struct __extcon_info { - unsigned int type; - unsigned int id; - const char *name; -}; - -struct __fat_dirent { - long int d_ino; - __kernel_off_t d_off; - short unsigned int d_reclen; - char d_name[256]; -}; - -struct __fb_timings { - u32 dclk; - u32 hfreq; - u32 vfreq; - u32 hactive; - u32 vactive; - u32 hblank; - u32 vblank; - u32 htotal; - u32 vtotal; -}; - -struct tracepoint; - -struct __find_tracepoint_cb_data { - const char *tp_name; - struct tracepoint *tpoint; - struct module *mod; -}; - -struct genradix_root; - -struct __genradix { - struct genradix_root *root; -}; - -struct pmu; - -struct cgroup; - -struct __group_key { - int cpu; - struct pmu *pmu; - struct cgroup *cgroup; -}; - -struct sha256_block_state { - u32 h[8]; -}; - -struct __sha256_ctx { - struct sha256_block_state state; - u64 bytecount; - u8 buf[64]; -}; - -struct __hmac_sha256_ctx { - struct __sha256_ctx sha_ctx; - struct sha256_block_state ostate; -}; - -struct __hmac_sha256_key { - struct sha256_block_state istate; - struct sha256_block_state ostate; -}; - -struct sha512_block_state { - u64 h[8]; -}; - -struct __sha512_ctx { - struct sha512_block_state state; - u64 bytecount_lo; - u64 bytecount_hi; - u8 buf[128]; -}; - -struct __hmac_sha512_ctx { - struct __sha512_ctx sha_ctx; - struct sha512_block_state ostate; -}; - -struct __hmac_sha512_key { - struct sha512_block_state istate; - struct sha512_block_state ostate; -}; - -struct __ip6_tnl_parm { - char name[16]; - int link; - __u8 proto; - __u8 encap_limit; - __u8 hop_limit; - bool collect_md; - __be32 flowinfo; - __u32 flags; - struct in6_addr laddr; - struct in6_addr raddr; - long unsigned int i_flags[1]; - long unsigned int o_flags[1]; - __be32 i_key; - __be32 o_key; - __u32 fwmark; - __u32 index; - __u8 erspan_ver; - __u8 dir; - __u16 hwid; -}; - -struct __kernel_timespec { - __kernel_time64_t tv_sec; - long long int tv_nsec; -}; - -struct __kernel_itimerspec { - struct __kernel_timespec it_interval; - struct __kernel_timespec it_value; -}; - -struct __kernel_old_timeval { - __kernel_long_t tv_sec; - __kernel_long_t tv_usec; -}; - -struct __kernel_old_itimerval { - struct __kernel_old_timeval it_interval; - struct __kernel_old_timeval it_value; -}; - -struct __kernel_old_timespec { - __kernel_old_time_t tv_sec; - long int tv_nsec; -}; - -struct __kernel_sock_timeval { - __s64 tv_sec; - __s64 tv_usec; -}; - -struct __kernel_sockaddr_storage { - union { - struct { - __kernel_sa_family_t ss_family; - char __data[126]; - }; - void *__align; - }; -}; - -struct __kernel_timex_timeval { - __kernel_time64_t tv_sec; - long long int tv_usec; -}; - -struct __kernel_timex { - unsigned int modes; - long long int offset; - long long int freq; - long long int maxerror; - long long int esterror; - int status; - long long int constant; - long long int precision; - long long int tolerance; - struct __kernel_timex_timeval time; - long long int tick; - long long int ppsfreq; - long long int jitter; - int shift; - long long int stabil; - long long int jitcnt; - long long int calcnt; - long long int errcnt; - long long int stbcnt; - int tai; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct __kfifo { - unsigned int in; - unsigned int out; - unsigned int mask; - unsigned int esize; - void *data; -}; - -struct __ksymtab { - long unsigned int value; - const char *mod_name; - long unsigned int mod_start; - long unsigned int mod_end; - const char *sec_name; - long unsigned int sec_start; - long unsigned int sec_end; - const char *sym_name; - long unsigned int sym_start; - long unsigned int sym_end; -}; - -typedef struct __ksymtab kdb_symtab_t; - -struct __large_struct { - long unsigned int buf[100]; -}; - -struct __old_kernel_stat { - short unsigned int st_dev; - short unsigned int st_ino; - short unsigned int st_mode; - short unsigned int st_nlink; - short unsigned int st_uid; - short unsigned int st_gid; - short unsigned int st_rdev; - unsigned int st_size; - unsigned int st_atime; - unsigned int st_mtime; - unsigned int st_ctime; -}; - -struct __pldm_timestamp { - u8 b[13]; -}; - -struct __pldm_header { - uuid_t id; - u8 revision; - __le16 size; - struct __pldm_timestamp release_date; - __le16 component_bitmap_len; - u8 version_type; - u8 version_len; - u8 version_string[0]; -} __attribute__((packed)); - -struct __pldmfw_component_area { - __le16 component_image_count; - u8 components[0]; -}; - -struct __pldmfw_component_info { - __le16 classification; - __le16 identifier; - __le32 comparison_stamp; - __le16 options; - __le16 activation_method; - __le32 location_offset; - __le32 size; - u8 version_type; - u8 version_len; - u8 version_string[0]; -} __attribute__((packed)); - -struct __pldmfw_desc_tlv { - __le16 type; - __le16 size; - u8 data[0]; -}; - -struct __pldmfw_record_area { - u8 record_count; - u8 records[0]; -}; - -struct __pldmfw_record_info { - __le16 record_len; - u8 descriptor_count; - __le32 device_update_flags; - u8 version_type; - u8 version_len; - __le16 package_data_len; - u8 variable_record_data[0]; -} __attribute__((packed)); - -struct net_device; - -struct __rt6_probe_work { - struct work_struct work; - struct in6_addr target; - struct net_device *dev; - netdevice_tracker dev_tracker; -}; - -union sigval { - int sival_int; - void *sival_ptr; -}; - -typedef union sigval sigval_t; - -union __sifields { - struct { - __kernel_pid_t _pid; - __kernel_uid32_t _uid; - } _kill; - struct { - __kernel_timer_t _tid; - int _overrun; - sigval_t _sigval; - int _sys_private; - } _timer; - struct { - __kernel_pid_t _pid; - __kernel_uid32_t _uid; - sigval_t _sigval; - } _rt; - struct { - __kernel_pid_t _pid; - __kernel_uid32_t _uid; - int _status; - __kernel_clock_t _utime; - __kernel_clock_t _stime; - } _sigchld; - struct { - void *_addr; - union { - int _trapno; - short int _addr_lsb; - struct { - char _dummy_bnd[8]; - void *_lower; - void *_upper; - } _addr_bnd; - struct { - char _dummy_pkey[8]; - __u32 _pkey; - } _addr_pkey; - struct { - long unsigned int _data; - __u32 _type; - __u32 _flags; - } _perf; - }; - } _sigfault; - struct { - long int _band; - int _fd; - } _sigpoll; - struct { - void *_call_addr; - int _syscall; - unsigned int _arch; - } _sigsys; -}; - -struct bpf_flow_keys; - -struct bpf_sock; - -struct __sk_buff { - __u32 len; - __u32 pkt_type; - __u32 mark; - __u32 queue_mapping; - __u32 protocol; - __u32 vlan_present; - __u32 vlan_tci; - __u32 vlan_proto; - __u32 priority; - __u32 ingress_ifindex; - __u32 ifindex; - __u32 tc_index; - __u32 cb[5]; - __u32 hash; - __u32 tc_classid; - __u32 data; - __u32 data_end; - __u32 napi_id; - __u32 family; - __u32 remote_ip4; - __u32 local_ip4; - __u32 remote_ip6[4]; - __u32 local_ip6[4]; - __u32 remote_port; - __u32 local_port; - __u32 data_meta; - union { - struct bpf_flow_keys *flow_keys; - }; - __u64 tstamp; - __u32 wire_len; - __u32 gso_segs; - union { - struct bpf_sock *sk; - }; - __u32 gso_size; - __u8 tstamp_type; - __u64 hwtstamp; -}; - -struct dentry; - -struct __track_dentry_update_args { - struct dentry *dentry; - int op; -}; - -struct __track_range_args { - ext4_lblk_t start; - ext4_lblk_t end; -}; - -union __u128_halves { - u128 full; - struct { - u64 low; - u64 high; - }; -}; - -struct inode; - -struct __uprobe_key { - struct inode *inode; - loff_t offset; -}; - -struct __user_cap_data_struct { - __u32 effective; - __u32 permitted; - __u32 inheritable; -}; - -typedef struct __user_cap_data_struct *cap_user_data_t; - -struct __user_cap_header_struct { - __u32 version; - int pid; -}; - -typedef struct __user_cap_header_struct *cap_user_header_t; - -struct __va_list_tag { - unsigned int gp_offset; - unsigned int fp_offset; - void *overflow_arg_area; - void *reg_save_area; -}; - -typedef __builtin_va_list va_list; - -struct _bpf_dtab_netdev { - struct net_device *dev; -}; - -union _cpuid4_leaf_eax { - struct { - enum _cache_type type: 5; - unsigned int level: 3; - unsigned int is_self_initializing: 1; - unsigned int is_fully_associative: 1; - unsigned int reserved: 4; - unsigned int num_threads_sharing: 12; - unsigned int num_cores_on_die: 6; - } split; - u32 full; -}; - -union _cpuid4_leaf_ebx { - struct { - unsigned int coherency_line_size: 12; - unsigned int physical_line_partition: 10; - unsigned int ways_of_associativity: 10; - } split; - u32 full; -}; - -union _cpuid4_leaf_ecx { - struct { - unsigned int number_of_sets: 32; - } split; - u32 full; -}; - -struct _cpuid4_info { - union _cpuid4_leaf_eax eax; - union _cpuid4_leaf_ebx ebx; - union _cpuid4_leaf_ecx ecx; - unsigned int id; - long unsigned int size; -}; - -struct jump_entry; - -struct static_key_mod; - -struct static_key { - atomic_t enabled; - union { - long unsigned int type; - struct jump_entry *entries; - struct static_key_mod *next; - }; -}; - -struct static_key_true { - struct static_key key; -}; - -struct static_key_false { - struct static_key key; -}; - -struct _ddebug { - const char *modname; - const char *function; - const char *filename; - const char *format; - unsigned int lineno: 18; - unsigned int class_id: 6; - unsigned int flags: 8; - union { - struct static_key_true dd_key_true; - struct static_key_false dd_key_false; - } key; -}; - -struct ddebug_class_map; - -struct _ddebug_info { - struct _ddebug *descs; - struct ddebug_class_map *classes; - unsigned int num_descs; - unsigned int num_classes; -}; - -struct _flow_keys_digest_data { - __be16 n_proto; - u8 ip_proto; - u8 padding; - __be32 ports; - __be32 src; - __be32 dst; -}; - -struct _fpreg { - __u16 significand[4]; - __u16 exponent; -}; - -struct _fpxreg { - __u16 significand[4]; - __u16 exponent; - __u16 padding[3]; -}; - -struct _xmmreg { - __u32 element[4]; -}; - -struct _fpx_sw_bytes { - __u32 magic1; - __u32 extended_size; - __u64 xfeatures; - __u32 xstate_size; - __u32 padding[7]; -}; - -struct _fpstate_32 { - __u32 cw; - __u32 sw; - __u32 tag; - __u32 ipoff; - __u32 cssel; - __u32 dataoff; - __u32 datasel; - struct _fpreg _st[8]; - __u16 status; - __u16 magic; - __u32 _fxsr_env[6]; - __u32 mxcsr; - __u32 reserved; - struct _fpxreg _fxsr_st[8]; - struct _xmmreg _xmm[8]; - union { - __u32 padding1[44]; - __u32 padding[44]; - }; - union { - __u32 padding2[12]; - struct _fpx_sw_bytes sw_reserved; - }; -}; - -struct _gpiochip_for_each_data { - const char **label; - unsigned int *i; -}; - -typedef struct _gpiochip_for_each_data class__gpiochip_for_each_data_t; - -struct _gpt_entry_attributes { - u64 required_to_function: 1; - u64 reserved: 47; - u64 type_guid_specific: 16; -}; - -typedef struct _gpt_entry_attributes gpt_entry_attributes; - -struct _gpt_entry { - efi_guid_t partition_type_guid; - efi_guid_t unique_partition_guid; - __le64 starting_lba; - __le64 ending_lba; - gpt_entry_attributes attributes; - __le16 partition_name[36]; -}; - -typedef struct _gpt_entry gpt_entry; - -struct _gpt_header { - __le64 signature; - __le32 revision; - __le32 header_size; - __le32 header_crc32; - __le32 reserved1; - __le64 my_lba; - __le64 alternate_lba; - __le64 first_usable_lba; - __le64 last_usable_lba; - efi_guid_t disk_guid; - __le64 partition_entry_lba; - __le32 num_partition_entries; - __le32 sizeof_partition_entry; - __le32 partition_entry_array_crc32; -} __attribute__((packed)); - -typedef struct _gpt_header gpt_header; - -struct _gpt_mbr_record { - u8 boot_indicator; - u8 start_head; - u8 start_sector; - u8 start_track; - u8 os_type; - u8 end_head; - u8 end_sector; - u8 end_track; - __le32 starting_lba; - __le32 size_in_lba; -}; - -typedef struct _gpt_mbr_record gpt_mbr_record; - -struct resource { - resource_size_t start; - resource_size_t end; - const char *name; - long unsigned int flags; - long unsigned int desc; - struct resource *parent; - struct resource *sibling; - struct resource *child; -}; - -struct intel_gtt_driver; - -struct pci_dev; - -struct page; - -struct _intel_private { - const struct intel_gtt_driver *driver; - struct pci_dev *pcidev; - struct pci_dev *bridge_dev; - u8 *registers; - phys_addr_t gtt_phys_addr; - u32 PGETBL_save; - u32 *gtt; - bool clear_fake_agp; - int num_dcache_entries; - void *i9xx_flush_page; - char *i81x_gtt_table; - struct resource ifp_resource; - int resource_valid; - struct page *scratch_page; - phys_addr_t scratch_page_dma; - int refcount; - unsigned int needs_dmar: 1; - phys_addr_t gma_bus_addr; - resource_size_t stolen_size; - unsigned int gtt_total_entries; - unsigned int gtt_mappable_entries; -}; - -struct _kdb_bp { - long unsigned int bp_addr; - unsigned int bp_free: 1; - unsigned int bp_enabled: 1; - unsigned int bp_type: 4; - unsigned int bp_installed: 1; - unsigned int bp_delay: 1; - unsigned int bp_delayed: 1; - unsigned int bph_length; -}; - -typedef struct _kdb_bp kdb_bp_t; - -struct _kdbmsg { - int km_diag; - char *km_msg; -}; - -typedef struct _kdbmsg kdbmsg_t; - -typedef int (*kdb_func_t)(int, const char **); - -struct _kdbtab { - char *name; - kdb_func_t func; - char *usage; - char *help; - short int minlen; - kdb_cmdflags_t flags; - struct list_head list_node; -}; - -typedef struct _kdbtab kdbtab_t; - -struct kvm_stats_desc { - __u32 flags; - __s16 exponent; - __u16 size; - __u32 offset; - __u32 bucket_size; - char name[0]; -}; - -struct _kvm_stats_desc { - struct kvm_stats_desc desc; - char name[48]; -}; - -struct _legacy_mbr { - u8 boot_code[440]; - __le32 unique_mbr_signature; - __le16 unknown; - gpt_mbr_record partition_record[4]; - __le16 signature; -} __attribute__((packed)); - -typedef struct _legacy_mbr legacy_mbr; - -struct strp_msg { - int full_len; - int offset; -}; - -struct _strp_msg { - struct strp_msg strp; - int accum_len; -}; - -struct delayed_work { - struct work_struct work; - struct timer_list timer; - struct workqueue_struct *wq; - int cpu; -}; - -struct _thermal_state { - u64 next_check; - u64 last_interrupt_time; - struct delayed_work therm_work; - long unsigned int count; - long unsigned int last_count; - long unsigned int max_time_ms; - long unsigned int total_time_ms; - bool rate_control_active; - bool new_event; - u8 level; - u8 sample_index; - u8 sample_count; - u8 average; - u8 baseline_temp; - u8 temp_samples[3]; -}; - -struct aa_policydb; - -struct aa_attachment { - const char *xmatch_str; - struct aa_policydb *xmatch; - unsigned int xmatch_len; - int xattr_count; - char **xattrs; -}; - -struct aa_audit_cache { - spinlock_t lock; - int size; - struct list_head head; -}; - -struct vfsmount; - -struct path { - struct vfsmount *mnt; - struct dentry *dentry; -}; - -struct lsm_network_audit; - -struct lsm_ioctlop_audit; - -struct file; - -struct lsm_ibpkey_audit; - -struct lsm_ibendport_audit; - -struct smack_audit_data; - -struct selinux_audit_data; - -struct apparmor_audit_data; - -struct common_audit_data { - char type; - union { - struct path path; - struct dentry *dentry; - struct inode *inode; - struct lsm_network_audit *net; - int cap; - int ipc_id; - struct task_struct *tsk; - struct { - key_serial_t key; - char *key_desc; - } key_struct; - char *kmod_name; - struct lsm_ioctlop_audit *op; - struct file *file; - struct lsm_ibpkey_audit *ibpkey; - struct lsm_ibendport_audit *ibendport; - int reason; - const char *anonclass; - u16 nlmsg_type; - } u; - union { - struct smack_audit_data *smack_audit_data; - struct selinux_audit_data *selinux_audit_data; - struct apparmor_audit_data *apparmor_audit_data; - }; -}; - -struct cred; - -struct aa_label; - -struct aa_profile; - -struct apparmor_audit_data { - u32 flags; - int error; - int type; - u16 class; - const char *op; - const struct cred *subj_cred; - struct aa_label *subj_label; - const char *name; - const char *info; - u32 request; - u32 denied; - u32 tags; - struct task_struct *subjtsk; - union { - struct { - struct aa_label *peer; - union { - struct { - const char *target; - kuid_t ouid; - } fs; - struct { - int rlim; - long unsigned int max; - } rlim; - struct { - int signal; - int unmappedsig; - }; - struct { - int type; - int protocol; - void *addr; - int addrlen; - struct { - void *addr; - int addrlen; - } peer; - } net; - struct { - const char *target; - } ns; - struct { - kuid_t ouid; - } mq; - }; - }; - struct { - struct aa_profile *profile; - const char *ns; - long int pos; - } iface; - struct { - const char *src_name; - const char *type; - const char *trans; - const char *data; - long unsigned int flags; - } mnt; - struct { - struct aa_label *target; - } uring; - }; - struct common_audit_data common; -}; - -struct aa_knotif { - struct apparmor_audit_data *ad; - struct list_head list; - struct completion ready; - u64 id; - u16 ntype; - u16 flags; -}; - -struct aa_audit_node { - struct kref count; - struct apparmor_audit_data data; - struct list_head list; - struct aa_knotif knotif; -}; - -struct aa_audit_rule { - struct aa_label *label; -}; - -union aa_buffer { - struct list_head list; - struct { - struct {} __empty_buffer; - char buffer[0]; - }; -}; - -struct aa_caps { - kernel_cap_t allow; - kernel_cap_t audit; - kernel_cap_t denied; - kernel_cap_t quiet; - kernel_cap_t kill; - kernel_cap_t extended; -}; - -struct aa_common_ref { - struct kref count; - enum reftype reftype; -}; - -struct rhash_head { - struct rhash_head *next; -}; - -struct aa_data { - char *key; - u32 size; - char *data; - struct rhash_head head; -}; - -struct table_header; - -struct aa_dfa { - struct kref count; - u16 flags; - u32 max_oob; - struct table_header *tables[8]; -}; - -struct aa_ext { - void *start; - void *end; - void *pos; - u32 version; -}; - -struct aa_file_ctx { - spinlock_t lock; - struct aa_label *label; - u32 allow; -}; - -struct aa_inode_sec { - struct inode *inode; - struct aa_label *label; - u16 sclass; - bool initialized; - spinlock_t lock; -}; - -struct aa_proxy; - -struct aa_ruleset; - -struct aa_label { - struct aa_common_ref count; - struct rb_node node; - struct callback_head rcu; - struct aa_proxy *proxy; - char *hname; - long int flags; - u32 secid; - int size; - u64 mediates; - union { - struct { - struct aa_profile *profile[2]; - struct { - struct {} __empty_rules; - struct aa_ruleset *rules[0]; - }; - }; - struct { - struct {} __empty_vec; - struct aa_profile *vec[0]; - }; - }; -}; - -struct rb_root { - struct rb_node *rb_node; -}; - -struct aa_labelset { - rwlock_t lock; - struct rb_root root; -}; - -struct aa_ns; - -struct aa_listener { - struct kref count; - spinlock_t lock; - wait_queue_head_t wait; - struct list_head ns_proxies; - struct list_head notifications; - struct list_head pending; - struct aa_ns *ns; - struct aa_dfa *filter; - struct aa_label *label; - u64 listener_id; - u64 last_id; - u32 mask; - u32 flags; - u16 version; -}; - -struct aa_listener_proxy { - struct aa_ns *ns; - struct aa_listener *listener; - struct list_head llist; - struct list_head nslist; - struct delayed_work work; -}; - -struct aa_load_ent { - struct list_head list; - struct aa_profile *new; - struct aa_profile *old; - struct aa_profile *rename; - const char *ns_name; -}; - -struct aa_loaddata { - struct aa_common_ref count; - struct kref pcount; - struct list_head list; - struct work_struct work; - struct dentry *dents[6]; - struct aa_ns *ns; - char *name; - size_t size; - size_t compressed_size; - long int revision; - int abi; - unsigned char *hash; - char *data; -}; - -struct aa_local_cache { - unsigned int hold; - unsigned int count; - struct list_head head; -}; - -struct aa_net_compat { - u16 allow[46]; - u16 audit[46]; - u16 quiet[46]; -}; - -struct aa_policy { - const char *name; - char *hname; - struct list_head list; - struct list_head profiles; -}; - -struct aa_ns_acct { - int max_size; - int max_count; - int size; - int count; -}; - -struct aa_ns { - struct aa_policy base; - struct aa_ns *parent; - struct mutex lock; - struct aa_ns_acct acct; - struct aa_profile *unconfined; - struct list_head sub_ns; - atomic_t uniq_null; - long int uniq_id; - int level; - long int revision; - wait_queue_head_t wait; - spinlock_t listener_lock; - struct list_head listeners; - struct aa_labelset labels; - struct list_head rawdata_list; - struct dentry *dents[13]; -}; - -struct aa_perms { - u32 allow; - u32 deny; - u32 subtree; - u32 cond; - u32 kill; - u32 complain; - u32 prompt; - u32 audit; - u32 quiet; - u32 hide; - u32 xindex; - u32 tag; - u32 label; -}; - -struct aa_str_table_ent; - -struct aa_str_table { - int size; - struct aa_str_table_ent *table; -}; - -struct aa_tags_header; - -struct aa_tags_struct { - struct { - u32 size; - u32 *table; - } sets; - struct { - u32 size; - struct aa_tags_header *table; - } hdrs; - struct aa_str_table strs; -}; - -struct aa_policydb { - struct kref count; - struct aa_dfa *dfa; - struct { - struct aa_perms *perms; - u32 size; - }; - struct aa_str_table trans; - struct aa_tags_struct tags; - unsigned int start[33]; -}; - -struct rhashtable; - -struct aa_profile { - struct aa_policy base; - struct aa_profile *parent; - struct aa_ns *ns; - const char *rename; - enum audit_mode audit; - long int mode; - u32 path_flags; - int signal; - const char *disconnected; - const char *disconnected_ipc; - struct aa_attachment attach; - struct aa_net_compat *net_compat; - struct aa_audit_cache learning_cache; - struct aa_loaddata *rawdata; - unsigned char *hash; - char *dirname; - struct dentry *dents[10]; - struct rhashtable *data; - int n_rules; - struct aa_label label; -}; - -struct aa_proxy { - struct aa_common_ref count; - struct aa_label *label; -}; - -struct aa_revision { - struct aa_ns *ns; - long int last_read; -}; - -struct rlimit { - __kernel_ulong_t rlim_cur; - __kernel_ulong_t rlim_max; -}; - -struct aa_rlimit { - unsigned int mask; - struct rlimit limits[16]; -}; - -struct aa_secmark; - -struct aa_ruleset { - int size; - struct aa_policydb *policy; - struct aa_policydb *file; - struct aa_caps caps; - struct aa_rlimit rlimits; - int secmark_count; - struct aa_secmark *secmark; -}; - -struct aa_secmark { - u8 audit; - u8 deny; - u32 secid; - char *label; -}; - -struct file_operations; - -struct aa_sfs_entry { - const char *name; - struct dentry *dentry; - umode_t mode; - enum aa_sfs_type v_type; - union { - bool boolean; - char *string; - long unsigned int u64; - struct aa_sfs_entry *files; - } v; - const struct file_operations *file_ops; -}; - -struct aa_sk_ctx { - struct aa_label *label; - struct aa_label *peer; - struct aa_label *peer_lastupdate; -}; - -struct aa_str_table_ent { - int count; - int size; - char *strs; -}; - -struct aa_tags_header { - u32 mask; - u32 count; - u32 size; - u32 tags; -}; - -struct aa_task_ctx { - struct aa_label *nnp; - struct aa_label *onexec; - struct aa_label *previous; - u64 token; -}; - -struct i2c_client; - -struct aat2870_register; - -struct aat2870_data { - struct device *dev; - struct i2c_client *client; - struct mutex io_lock; - struct aat2870_register *reg_cache; - int en_pin; - bool is_enable; - int (*init)(struct aat2870_data *); - void (*uninit)(struct aat2870_data *); - int (*read)(struct aat2870_data *, u8, u8 *); - int (*write)(struct aat2870_data *, u8, u8); - int (*update)(struct aat2870_data *, u8, u8, u8); -}; - -struct aat2870_subdev_info; - -struct aat2870_platform_data { - int en_pin; - struct aat2870_subdev_info *subdevs; - int num_subdevs; - int (*init)(struct aat2870_data *); - void (*uninit)(struct aat2870_data *); -}; - -struct aat2870_register { - bool readable; - bool writeable; - u8 value; -}; - -struct aat2870_subdev_info { - int id; - const char *name; - void *platform_data; -}; - -struct seq_net_private { - struct net *net; - netns_tracker ns_tracker; -}; - -struct ac6_iter_state { - struct seq_net_private p; - struct net_device *dev; -}; - -struct accept_range { - struct list_head list; - long unsigned int start; - long unsigned int end; -}; - -struct access_coordinate { - unsigned int read_bandwidth; - unsigned int write_bandwidth; - unsigned int read_latency; - unsigned int write_latency; -}; - -struct access_masks { - access_mask_t fs: 16; - access_mask_t net: 2; - access_mask_t scope: 2; -}; - -union access_masks_all { - struct access_masks masks; - u32 all; -}; - -struct access_report_info { - struct callback_head work; - const char *access; - struct task_struct *target; - struct task_struct *agent; -}; - -struct acct_v3 { - char ac_flag; - char ac_version; - __u16 ac_tty; - __u32 ac_exitcode; - __u32 ac_uid; - __u32 ac_gid; - __u32 ac_pid; - __u32 ac_ppid; - __u32 ac_btime; - __u32 ac_etime; - comp_t ac_utime; - comp_t ac_stime; - comp_t ac_mem; - comp_t ac_io; - comp_t ac_rw; - comp_t ac_minflt; - comp_t ac_majflt; - comp_t ac_swaps; - char ac_comm[16]; -}; - -typedef struct acct_v3 acct_t; - -struct ack_sample { - u32 pkts_acked; - s32 rtt_us; - u32 in_flight; -}; - -struct crypto_tfm; - -struct cipher_alg { - unsigned int cia_min_keysize; - unsigned int cia_max_keysize; - int (*cia_setkey)(struct crypto_tfm *, const u8 *, unsigned int); - void (*cia_encrypt)(struct crypto_tfm *, u8 *, const u8 *); - void (*cia_decrypt)(struct crypto_tfm *, u8 *, const u8 *); -}; - -struct crypto_type; - -struct crypto_alg { - struct list_head cra_list; - struct list_head cra_users; - u32 cra_flags; - unsigned int cra_blocksize; - unsigned int cra_ctxsize; - unsigned int cra_alignmask; - unsigned int cra_reqsize; - int cra_priority; - refcount_t cra_refcnt; - char cra_name[128]; - char cra_driver_name[128]; - const struct crypto_type *cra_type; - union { - struct cipher_alg cipher; - } cra_u; - int (*cra_init)(struct crypto_tfm *); - void (*cra_exit)(struct crypto_tfm *); - void (*cra_destroy)(struct crypto_alg *); - struct module *cra_module; -}; - -struct comp_alg_common { - struct crypto_alg base; -}; - -struct acomp_req; - -struct crypto_acomp; - -struct acomp_alg { - int (*compress)(struct acomp_req *); - int (*decompress)(struct acomp_req *); - int (*init)(struct crypto_acomp *); - void (*exit)(struct crypto_acomp *); - union { - struct { - struct crypto_alg base; - }; - struct comp_alg_common calg; - }; -}; - -typedef void (*crypto_completion_t)(void *, int); - -struct crypto_async_request { - struct list_head list; - crypto_completion_t complete; - void *data; - struct crypto_tfm *tfm; - u32 flags; -}; - -struct scatterlist { - long unsigned int page_link; - unsigned int offset; - unsigned int length; - dma_addr_t dma_address; - unsigned int dma_length; - unsigned int dma_flags; -}; - -struct acomp_req_chain { - crypto_completion_t compl; - void *data; - struct scatterlist ssg; - struct scatterlist dsg; - union { - const u8 *src; - struct folio *sfolio; - }; - union { - u8 *dst; - struct folio *dfolio; - }; - u32 flags; -}; - -struct acomp_req { - struct crypto_async_request base; - union { - struct scatterlist *src; - const u8 *svirt; - }; - union { - struct scatterlist *dst; - u8 *dvirt; - }; - unsigned int slen; - unsigned int dlen; - struct acomp_req_chain chain; - void *__ctx[0]; -}; - -union crypto_no_such_thing; - -struct scatter_walk { - union { - void * const addr; - union crypto_no_such_thing *__addr; - }; - struct scatterlist *sg; - unsigned int offset; -}; - -struct acomp_walk { - union { - struct { - struct { - const void * const addr; - } virt; - } src; - struct scatter_walk in; - }; - union { - struct { - struct { - void * const addr; - } virt; - } dst; - struct scatter_walk out; - }; - unsigned int slen; - unsigned int dlen; - int flags; -}; - -struct power_supply; - -union power_supply_propval; - -struct power_supply_desc { - const char *name; - enum power_supply_type type; - u8 charge_behaviours; - u32 charge_types; - u32 usb_types; - const enum power_supply_property *properties; - size_t num_properties; - int (*get_property)(struct power_supply *, enum power_supply_property, union power_supply_propval *); - int (*set_property)(struct power_supply *, enum power_supply_property, const union power_supply_propval *); - int (*property_is_writeable)(struct power_supply *, enum power_supply_property); - void (*external_power_changed)(struct power_supply *); - bool no_thermal; - int use_for_apm; -}; - -struct notifier_block; - -typedef int (*notifier_fn_t)(struct notifier_block *, long unsigned int, void *); - -struct notifier_block { - notifier_fn_t notifier_call; - struct notifier_block *next; - int priority; -}; - -struct acpi_device; - -struct acpi_ac { - struct power_supply *charger; - struct power_supply_desc charger_desc; - struct acpi_device *device; - long long unsigned int state; - struct notifier_block battery_nb; -}; - -struct acpi_address16_attribute { - u16 granularity; - u16 minimum; - u16 maximum; - u16 translation_offset; - u16 address_length; -}; - -struct acpi_address32_attribute { - u32 granularity; - u32 minimum; - u32 maximum; - u32 translation_offset; - u32 address_length; -}; - -struct acpi_address64_attribute { - u64 granularity; - u64 minimum; - u64 maximum; - u64 translation_offset; - u64 address_length; -}; - -struct acpi_namespace_node; - -struct acpi_address_range { - struct acpi_address_range *next; - struct acpi_namespace_node *region_node; - acpi_physical_address start_address; - acpi_physical_address end_address; -}; - -struct circ_buf { - char *buf; - int head; - int tail; -}; - -typedef void (*acpi_osd_exec_callback)(void *); - -struct acpi_aml_io { - wait_queue_head_t wait; - long unsigned int flags; - long unsigned int users; - struct mutex lock; - struct task_struct *thread; - char out_buf[4096]; - struct circ_buf out_crc; - char in_buf[4096]; - struct circ_buf in_crc; - acpi_osd_exec_callback function; - void *context; - long unsigned int usages; -}; - -struct acpi_battery { - struct mutex lock; - struct mutex update_lock; - struct power_supply *bat; - struct power_supply_desc bat_desc; - struct acpi_device *device; - struct notifier_block pm_nb; - struct list_head list; - long unsigned int update_time; - int revision; - int rate_now; - int capacity_now; - int voltage_now; - int design_capacity; - int full_charge_capacity; - int technology; - int design_voltage; - int design_capacity_warning; - int design_capacity_low; - int cycle_count; - int measurement_accuracy; - int max_sampling_time; - int min_sampling_time; - int max_averaging_interval; - int min_averaging_interval; - int capacity_granularity_1; - int capacity_granularity_2; - int alarm; - char model_number[64]; - char serial_number[64]; - char type[64]; - char oem_info[64]; - int state; - int power_unit; - long unsigned int flags; -}; - -struct acpi_battery_hook { - const char *name; - int (*add_battery)(struct power_supply *, struct acpi_battery_hook *); - int (*remove_battery)(struct power_supply *, struct acpi_battery_hook *); - struct list_head list; -}; - -struct acpi_bert_region { - u32 block_status; - u32 raw_data_offset; - u32 raw_data_length; - u32 data_length; - u32 error_severity; -}; - -struct acpi_bit_register_info { - u8 parent_register; - u8 bit_position; - u16 access_bit_mask; -}; - -struct acpi_buffer { - acpi_size length; - void *pointer; -}; - -struct acpi_bus_event { - struct list_head node; - acpi_device_class device_class; - acpi_bus_id bus_id; - u32 type; - u32 data; -}; - -struct acpi_bus_type { - struct list_head list; - const char *name; - bool (*match)(struct device *); - struct acpi_device * (*find_companion)(struct device *); - void (*setup)(struct device *); -}; - -struct input_dev; - -struct acpi_button { - unsigned int type; - struct input_dev *input; - char phys[32]; - long unsigned int pushed; - int last_state; - ktime_t last_time; - bool suspended; - bool lid_state_initialized; -}; - -struct acpi_cdat_header { - u8 type; - u8 reserved; - u16 length; -}; - -struct acpi_cedt_header { - u8 type; - u8 reserved; - u16 length; -}; - -struct acpi_cedt_cfmws { - struct acpi_cedt_header header; - u32 reserved1; - u64 base_hpa; - u64 window_size; - u8 interleave_ways; - u8 interleave_arithmetic; - u16 reserved2; - u32 granularity; - u16 restrictions; - u16 qtg_id; - u32 interleave_targets[0]; -} __attribute__((packed)); - -struct acpi_comment_node { - char *comment; - struct acpi_comment_node *next; -}; - -struct acpi_common_descriptor { - void *common_pointer; - u8 descriptor_type; -}; - -struct acpi_common_state { - void *next; - u8 descriptor_type; - u8 flags; - u16 value; - u16 state; -}; - -struct acpi_connection_info { - u8 *connection; - u16 length; - u8 access_length; -}; - -union acpi_parse_object; - -struct acpi_control_state { - void *next; - u8 descriptor_type; - u8 flags; - u16 value; - u16 state; - u16 opcode; - union acpi_parse_object *predicate_op; - u8 *aml_predicate_start; - u8 *package_end; - u64 loop_timeout; -}; - -typedef struct cpumask *cpumask_var_t; - -struct acpi_pct_register; - -struct acpi_cpufreq_data { - unsigned int resume; - unsigned int cpu_feature; - unsigned int acpi_perf_cpu; - cpumask_var_t freqdomain_cpus; - void (*cpu_freq_write)(struct acpi_pct_register *, u32); - u32 (*cpu_freq_read)(struct acpi_pct_register *); -}; - -struct acpi_create_field_info { - struct acpi_namespace_node *region_node; - struct acpi_namespace_node *field_node; - struct acpi_namespace_node *register_node; - struct acpi_namespace_node *data_register_node; - struct acpi_namespace_node *connection_node; - u8 *resource_buffer; - u32 bank_value; - u32 field_bit_position; - u32 field_bit_length; - u16 resource_length; - u16 pin_number_index; - u8 field_flags; - u8 attribute; - u8 field_type; - u8 access_length; -}; - -struct acpi_csrt_group { - u32 length; - u32 vendor_id; - u32 subvendor_id; - u16 device_id; - u16 subdevice_id; - u16 revision; - u16 reserved; - u32 shared_info_length; -}; - -struct acpi_csrt_shared_info { - u16 major_version; - u16 minor_version; - u32 mmio_base_low; - u32 mmio_base_high; - u32 gsi_interrupt; - u8 interrupt_polarity; - u8 interrupt_mode; - u8 num_channels; - u8 dma_address_width; - u16 base_request_line; - u16 num_handshake_signals; - u32 max_block_size; -}; - -struct attribute { - const char *name; - umode_t mode; -}; - -struct address_space; - -struct vm_area_struct; - -struct bin_attribute { - struct attribute attr; - size_t size; - void *private; - struct address_space * (*f_mapping)(void); - ssize_t (*read)(struct file *, struct kobject *, const struct bin_attribute *, char *, loff_t, size_t); - ssize_t (*read_new)(struct file *, struct kobject *, const struct bin_attribute *, char *, loff_t, size_t); - ssize_t (*write)(struct file *, struct kobject *, const struct bin_attribute *, char *, loff_t, size_t); - ssize_t (*write_new)(struct file *, struct kobject *, const struct bin_attribute *, char *, loff_t, size_t); - loff_t (*llseek)(struct file *, struct kobject *, const struct bin_attribute *, loff_t, int); - int (*mmap)(struct file *, struct kobject *, const struct bin_attribute *, struct vm_area_struct *); -}; - -struct acpi_data_attr { - struct bin_attribute attr; - u64 addr; -}; - -typedef void *acpi_handle; - -struct fwnode_operations; - -struct fwnode_handle { - struct fwnode_handle *secondary; - const struct fwnode_operations *ops; - struct device *dev; - struct list_head suppliers; - struct list_head consumers; - u8 flags; -}; - -union acpi_object; - -struct acpi_device_data { - const union acpi_object *pointer; - struct list_head properties; - const union acpi_object *of_compatible; - struct list_head subnodes; -}; - -struct acpi_data_node { - struct list_head sibling; - const char *name; - acpi_handle handle; - struct fwnode_handle fwnode; - struct fwnode_handle *parent; - struct acpi_device_data data; - struct kobject kobj; - struct completion kobj_done; -}; - -struct acpi_data_node_attr { - struct attribute attr; - ssize_t (*show)(struct acpi_data_node *, char *); - ssize_t (*store)(struct acpi_data_node *, const char *, size_t); -}; - -struct acpi_data_obj { - char *name; - int (*fn)(void *, struct acpi_data_attr *); -}; - -struct acpi_data_table_mapping { - void *pointer; -}; - -struct acpi_db_argument_info { - const char *name; -}; - -struct acpi_db_command_help { - u8 line_count; - char *invocation; - char *description; -}; - -struct acpi_db_command_info { - const char *name; - u8 min_args; -}; - -struct acpi_db_execute_walk { - u32 count; - u32 max_count; - char name_seg[5]; -}; - -struct acpi_db_method_info { - acpi_handle method; - acpi_handle main_thread_gate; - acpi_handle thread_complete_gate; - acpi_handle info_gate; - u64 *threads; - u32 num_threads; - u32 num_created; - u32 num_completed; - char *name; - u32 flags; - u32 num_loops; - char pathname[512]; - char **args; - acpi_object_type *types; - char init_args; - acpi_object_type arg_types[7]; - char *arguments[7]; - char num_threads_str[11]; - char id_of_thread_str[11]; - char index_of_thread_str[11]; -}; - -struct acpi_debugger_ops; - -struct acpi_debugger { - const struct acpi_debugger_ops *ops; - struct module *owner; - struct mutex lock; -}; - -struct acpi_debugger_ops { - int (*create_thread)(acpi_osd_exec_callback, void *); - ssize_t (*write_log)(const char *); - ssize_t (*read_cmd)(char *, size_t); - int (*wait_command_ready)(bool, char *, size_t); - int (*notify_command_complete)(void); -}; - -struct acpi_dep_data { - struct list_head node; - acpi_handle supplier; - acpi_handle consumer; - bool honor_dep; - bool met; - bool free_when_met; -}; - -union acpi_operand_object; - -struct acpi_object_common { - union acpi_operand_object *next_object; - u8 descriptor_type; - u8 type; - u16 reference_count; - u8 flags; -}; - -struct acpi_object_integer { - union acpi_operand_object *next_object; - u8 descriptor_type; - u8 type; - u16 reference_count; - u8 flags; - u8 fill[3]; - u64 value; -}; - -struct acpi_object_string { - union acpi_operand_object *next_object; - u8 descriptor_type; - u8 type; - u16 reference_count; - u8 flags; - char *pointer; - u32 length; -}; - -struct acpi_object_buffer { - union acpi_operand_object *next_object; - u8 descriptor_type; - u8 type; - u16 reference_count; - u8 flags; - u8 *pointer; - u32 length; - u32 aml_length; - u8 *aml_start; - struct acpi_namespace_node *node; -}; - -struct acpi_object_package { - union acpi_operand_object *next_object; - u8 descriptor_type; - u8 type; - u16 reference_count; - u8 flags; - struct acpi_namespace_node *node; - union acpi_operand_object **elements; - u8 *aml_start; - u32 aml_length; - u32 count; -}; - -struct acpi_object_event { - union acpi_operand_object *next_object; - u8 descriptor_type; - u8 type; - u16 reference_count; - u8 flags; - void *os_semaphore; -}; - -struct acpi_walk_state; - -typedef acpi_status (*acpi_internal_method)(struct acpi_walk_state *); - -struct acpi_object_method { - union acpi_operand_object *next_object; - u8 descriptor_type; - u8 type; - u16 reference_count; - u8 flags; - u8 info_flags; - u8 param_count; - u8 sync_level; - union acpi_operand_object *mutex; - union acpi_operand_object *node; - u8 *aml_start; - union { - acpi_internal_method implementation; - union acpi_operand_object *handler; - } dispatch; - u32 aml_length; - acpi_owner_id owner_id; - u8 thread_count; -}; - -struct acpi_thread_state; - -struct acpi_object_mutex { - union acpi_operand_object *next_object; - u8 descriptor_type; - u8 type; - u16 reference_count; - u8 flags; - u8 sync_level; - u16 acquisition_depth; - void *os_mutex; - u64 thread_id; - struct acpi_thread_state *owner_thread; - union acpi_operand_object *prev; - union acpi_operand_object *next; - struct acpi_namespace_node *node; - u8 original_sync_level; -}; - -struct acpi_object_region { - union acpi_operand_object *next_object; - u8 descriptor_type; - u8 type; - u16 reference_count; - u8 flags; - u8 space_id; - struct acpi_namespace_node *node; - union acpi_operand_object *handler; - union acpi_operand_object *next; - acpi_physical_address address; - u32 length; - void *pointer; -}; - -struct acpi_object_notify_common { - union acpi_operand_object *next_object; - u8 descriptor_type; - u8 type; - u16 reference_count; - u8 flags; - union acpi_operand_object *notify_list[2]; - union acpi_operand_object *handler; -}; - -struct acpi_gpe_block_info; - -struct acpi_object_device { - union acpi_operand_object *next_object; - u8 descriptor_type; - u8 type; - u16 reference_count; - u8 flags; - union acpi_operand_object *notify_list[2]; - union acpi_operand_object *handler; - struct acpi_gpe_block_info *gpe_block; -}; - -struct acpi_object_power_resource { - union acpi_operand_object *next_object; - u8 descriptor_type; - u8 type; - u16 reference_count; - u8 flags; - union acpi_operand_object *notify_list[2]; - union acpi_operand_object *handler; - u32 system_level; - u32 resource_order; -}; - -struct acpi_object_processor { - union acpi_operand_object *next_object; - u8 descriptor_type; - u8 type; - u16 reference_count; - u8 flags; - u8 proc_id; - u8 length; - union acpi_operand_object *notify_list[2]; - union acpi_operand_object *handler; - acpi_io_address address; -}; - -struct acpi_object_thermal_zone { - union acpi_operand_object *next_object; - u8 descriptor_type; - u8 type; - u16 reference_count; - u8 flags; - union acpi_operand_object *notify_list[2]; - union acpi_operand_object *handler; -}; - -struct acpi_object_field_common { - union acpi_operand_object *next_object; - u8 descriptor_type; - u8 type; - u16 reference_count; - u8 flags; - u8 field_flags; - u8 attribute; - u8 access_byte_width; - struct acpi_namespace_node *node; - u32 bit_length; - u32 base_byte_offset; - u32 value; - u8 start_field_bit_offset; - u8 access_length; - union acpi_operand_object *region_obj; -}; - -struct acpi_object_region_field { - union acpi_operand_object *next_object; - u8 descriptor_type; - u8 type; - u16 reference_count; - u8 flags; - u8 field_flags; - u8 attribute; - u8 access_byte_width; - struct acpi_namespace_node *node; - u32 bit_length; - u32 base_byte_offset; - u32 value; - u8 start_field_bit_offset; - u8 access_length; - u16 resource_length; - union acpi_operand_object *region_obj; - u8 *resource_buffer; - u16 pin_number_index; - u8 *internal_pcc_buffer; -}; - -struct acpi_object_buffer_field { - union acpi_operand_object *next_object; - u8 descriptor_type; - u8 type; - u16 reference_count; - u8 flags; - u8 field_flags; - u8 attribute; - u8 access_byte_width; - struct acpi_namespace_node *node; - u32 bit_length; - u32 base_byte_offset; - u32 value; - u8 start_field_bit_offset; - u8 access_length; - u8 is_create_field; - union acpi_operand_object *buffer_obj; -}; - -struct acpi_object_bank_field { - union acpi_operand_object *next_object; - u8 descriptor_type; - u8 type; - u16 reference_count; - u8 flags; - u8 field_flags; - u8 attribute; - u8 access_byte_width; - struct acpi_namespace_node *node; - u32 bit_length; - u32 base_byte_offset; - u32 value; - u8 start_field_bit_offset; - u8 access_length; - union acpi_operand_object *region_obj; - union acpi_operand_object *bank_obj; -}; - -struct acpi_object_index_field { - union acpi_operand_object *next_object; - u8 descriptor_type; - u8 type; - u16 reference_count; - u8 flags; - u8 field_flags; - u8 attribute; - u8 access_byte_width; - struct acpi_namespace_node *node; - u32 bit_length; - u32 base_byte_offset; - u32 value; - u8 start_field_bit_offset; - u8 access_length; - union acpi_operand_object *index_obj; - union acpi_operand_object *data_obj; -}; - -typedef void (*acpi_notify_handler)(acpi_handle, u32, void *); - -struct acpi_object_notify_handler { - union acpi_operand_object *next_object; - u8 descriptor_type; - u8 type; - u16 reference_count; - u8 flags; - struct acpi_namespace_node *node; - u32 handler_type; - acpi_notify_handler handler; - void *context; - union acpi_operand_object *next[2]; -}; - -typedef acpi_status (*acpi_adr_space_handler)(u32, acpi_physical_address, u32, u64 *, void *, void *); - -typedef acpi_status (*acpi_adr_space_setup)(acpi_handle, u32, void *, void **); - -struct acpi_object_addr_handler { - union acpi_operand_object *next_object; - u8 descriptor_type; - u8 type; - u16 reference_count; - u8 flags; - u8 space_id; - u8 handler_flags; - acpi_adr_space_handler handler; - struct acpi_namespace_node *node; - void *context; - void *context_mutex; - acpi_adr_space_setup setup; - union acpi_operand_object *region_list; - union acpi_operand_object *next; -}; - -struct acpi_object_reference { - union acpi_operand_object *next_object; - u8 descriptor_type; - u8 type; - u16 reference_count; - u8 flags; - u8 class; - u8 target_type; - u8 resolved; - void *object; - struct acpi_namespace_node *node; - union acpi_operand_object **where; - u8 *index_pointer; - u8 *aml; - u32 value; -}; - -struct acpi_object_extra { - union acpi_operand_object *next_object; - u8 descriptor_type; - u8 type; - u16 reference_count; - u8 flags; - struct acpi_namespace_node *method_REG; - struct acpi_namespace_node *scope_node; - void *region_context; - u8 *aml_start; - u32 aml_length; -}; - -typedef void (*acpi_object_handler)(acpi_handle, void *); - -struct acpi_object_data { - union acpi_operand_object *next_object; - u8 descriptor_type; - u8 type; - u16 reference_count; - u8 flags; - acpi_object_handler handler; - void *pointer; -}; - -struct acpi_object_cache_list { - union acpi_operand_object *next_object; - u8 descriptor_type; - u8 type; - u16 reference_count; - u8 flags; - union acpi_operand_object *next; -}; - -union acpi_name_union { - u32 integer; - char ascii[4]; -}; - -struct acpi_namespace_node { - union acpi_operand_object *object; - u8 descriptor_type; - u8 type; - u16 flags; - union acpi_name_union name; - struct acpi_namespace_node *parent; - struct acpi_namespace_node *child; - struct acpi_namespace_node *peer; - acpi_owner_id owner_id; -}; - -union acpi_operand_object { - struct acpi_object_common common; - struct acpi_object_integer integer; - struct acpi_object_string string; - struct acpi_object_buffer buffer; - struct acpi_object_package package; - struct acpi_object_event event; - struct acpi_object_method method; - struct acpi_object_mutex mutex; - struct acpi_object_region region; - struct acpi_object_notify_common common_notify; - struct acpi_object_device device; - struct acpi_object_power_resource power_resource; - struct acpi_object_processor processor; - struct acpi_object_thermal_zone thermal_zone; - struct acpi_object_field_common common_field; - struct acpi_object_region_field field; - struct acpi_object_buffer_field buffer_field; - struct acpi_object_bank_field bank_field; - struct acpi_object_index_field index_field; - struct acpi_object_notify_handler notify; - struct acpi_object_addr_handler address_space; - struct acpi_object_reference reference; - struct acpi_object_extra extra; - struct acpi_object_data data; - struct acpi_object_cache_list cache; - struct acpi_namespace_node node; -}; - -union acpi_parse_value { - u64 integer; - u32 size; - char *string; - u8 *buffer; - char *name; - union acpi_parse_object *arg; -}; - -struct acpi_parse_obj_common { - union acpi_parse_object *parent; - u8 descriptor_type; - u8 flags; - u16 aml_opcode; - u8 *aml; - union acpi_parse_object *next; - struct acpi_namespace_node *node; - union acpi_parse_value value; - u8 arg_list_length; - u16 disasm_flags; - u8 disasm_opcode; - char *operator_symbol; - char aml_op_name[16]; -}; - -struct acpi_parse_obj_named { - union acpi_parse_object *parent; - u8 descriptor_type; - u8 flags; - u16 aml_opcode; - u8 *aml; - union acpi_parse_object *next; - struct acpi_namespace_node *node; - union acpi_parse_value value; - u8 arg_list_length; - u16 disasm_flags; - u8 disasm_opcode; - char *operator_symbol; - char aml_op_name[16]; - char *path; - u8 *data; - u32 length; - u32 name; -}; - -struct acpi_parse_obj_asl { - union acpi_parse_object *parent; - u8 descriptor_type; - u8 flags; - u16 aml_opcode; - u8 *aml; - union acpi_parse_object *next; - struct acpi_namespace_node *node; - union acpi_parse_value value; - u8 arg_list_length; - u16 disasm_flags; - u8 disasm_opcode; - char *operator_symbol; - char aml_op_name[16]; - union acpi_parse_object *child; - union acpi_parse_object *parent_method; - char *filename; - u8 file_changed; - char *parent_filename; - char *external_name; - char *namepath; - char name_seg[4]; - u32 extra_value; - u32 column; - u32 line_number; - u32 logical_line_number; - u32 logical_byte_offset; - u32 end_line; - u32 end_logical_line; - u32 acpi_btype; - u32 aml_length; - u32 aml_subtree_length; - u32 final_aml_length; - u32 final_aml_offset; - u32 compile_flags; - u16 parse_opcode; - u8 aml_opcode_length; - u8 aml_pkg_len_bytes; - u8 extra; - char parse_op_name[20]; -}; - -union acpi_parse_object { - struct acpi_parse_obj_common common; - struct acpi_parse_obj_named named; - struct acpi_parse_obj_asl asl; -}; - -union acpi_descriptor { - struct acpi_common_descriptor common; - union acpi_operand_object object; - struct acpi_namespace_node node; - union acpi_parse_object op; -}; - -struct acpi_device_id { - __u8 id[16]; - kernel_ulong_t driver_data; - __u32 cls; - __u32 cls_msk; -}; - -struct acpi_dev_match_info { - struct acpi_device_id hid[2]; - const char *uid; - s64 hrv; -}; - -struct acpi_dev_walk_context { - int (*fn)(struct acpi_device *, void *); - void *data; -}; - -struct acpi_device_status { - u32 present: 1; - u32 enabled: 1; - u32 show_in_ui: 1; - u32 functional: 1; - u32 battery_present: 1; - u32 reserved: 27; -}; - -struct acpi_device_flags { - u32 dynamic_status: 1; - u32 removable: 1; - u32 ejectable: 1; - u32 power_manageable: 1; - u32 match_driver: 1; - u32 initialized: 1; - u32 visited: 1; - u32 hotplug_notify: 1; - u32 is_dock_station: 1; - u32 of_compatible_ok: 1; - u32 coherent_dma: 1; - u32 cca_seen: 1; - u32 enumeration_by_parent: 1; - u32 honor_deps: 1; - u32 reserved: 18; -}; - -struct acpi_pnp_type { - u32 hardware_id: 1; - u32 bus_address: 1; - u32 platform_id: 1; - u32 backlight: 1; - u32 reserved: 28; -}; - -struct acpi_device_pnp { - acpi_bus_id bus_id; - int instance_no; - struct acpi_pnp_type type; - acpi_bus_address bus_address; - char *unique_id; - struct list_head ids; - acpi_device_name device_name; - acpi_device_class device_class; -}; - -struct acpi_device_power_flags { - u32 explicit_get: 1; - u32 power_resources: 1; - u32 inrush_current: 1; - u32 power_removed: 1; - u32 ignore_parent: 1; - u32 dsw_present: 1; - u32 reserved: 26; -}; - -struct acpi_device_power_state { - struct list_head resources; - struct { - u8 valid: 1; - u8 explicit_set: 1; - u8 reserved: 6; - } flags; - int power; - int latency; -}; - -struct acpi_device_power { - int state; - struct acpi_device_power_flags flags; - struct acpi_device_power_state states[5]; - u8 state_for_enumeration; -}; - -struct acpi_device_wakeup_flags { - u8 valid: 1; - u8 notifier_present: 1; -}; - -struct acpi_device_wakeup_context { - void (*func)(struct acpi_device_wakeup_context *); - struct device *dev; -}; - -struct acpi_device_wakeup { - acpi_handle gpe_device; - u64 gpe_number; - u64 sleep_state; - struct list_head resources; - struct acpi_device_wakeup_flags flags; - struct acpi_device_wakeup_context context; - struct wakeup_source *ws; - int prepare_count; - int enable_count; -}; - -struct acpi_device_perf_flags { - u8 reserved: 8; -}; - -struct acpi_device_perf_state; - -struct acpi_device_perf { - int state; - struct acpi_device_perf_flags flags; - int state_count; - struct acpi_device_perf_state *states; -}; - -struct proc_dir_entry; - -struct acpi_device_dir { - struct proc_dir_entry *entry; -}; - -struct acpi_scan_handler; - -struct acpi_hotplug_context; - -struct acpi_device_software_nodes; - -struct acpi_gpio_mapping; - -struct acpi_device { - u32 pld_crc; - int device_type; - acpi_handle handle; - struct fwnode_handle fwnode; - struct list_head wakeup_list; - struct list_head del_list; - struct acpi_device_status status; - struct acpi_device_flags flags; - struct acpi_device_pnp pnp; - struct acpi_device_power power; - struct acpi_device_wakeup wakeup; - struct acpi_device_perf performance; - struct acpi_device_dir dir; - struct acpi_device_data data; - struct acpi_scan_handler *handler; - struct acpi_hotplug_context *hp; - struct acpi_device_software_nodes *swnodes; - const struct acpi_gpio_mapping *driver_gpios; - void *driver_data; - struct device dev; - unsigned int physical_node_count; - unsigned int dep_unmet; - struct list_head physical_node_list; - struct mutex physical_node_lock; - void (*remove)(struct acpi_device *); -}; - -struct xarray { - spinlock_t xa_lock; - gfp_t xa_flags; - void *xa_head; -}; - -struct ida { - struct xarray xa; -}; - -struct acpi_device_bus_id { - const char *bus_id; - struct ida instance_ida; - struct list_head node; -}; - -struct acpi_pnp_device_id { - u32 length; - char *string; -}; - -struct acpi_pnp_device_id_list { - u32 count; - u32 list_size; - struct acpi_pnp_device_id ids[0]; -}; - -struct acpi_device_info { - u32 info_size; - u32 name; - acpi_object_type type; - u8 param_count; - u16 valid; - u8 flags; - u8 highest_dstates[4]; - u8 lowest_dstates[5]; - u64 address; - struct acpi_pnp_device_id hardware_id; - struct acpi_pnp_device_id unique_id; - struct acpi_pnp_device_id class_code; - struct acpi_pnp_device_id_list compatible_id_list; -}; - -typedef int (*acpi_op_add)(struct acpi_device *); - -typedef void (*acpi_op_remove)(struct acpi_device *); - -typedef void (*acpi_op_notify)(struct acpi_device *, u32); - -struct acpi_device_ops { - acpi_op_add add; - acpi_op_remove remove; - acpi_op_notify notify; -}; - -struct acpi_device_perf_state { - struct { - u8 valid: 1; - u8 reserved: 7; - } flags; - u8 power; - u8 performance; - int latency; -}; - -struct acpi_device_physical_node { - struct list_head node; - struct device *dev; - unsigned int node_id; - bool put_online: 1; -}; - -struct acpi_device_properties { - struct list_head list; - const guid_t *guid; - union acpi_object *properties; - void **bufs; -}; - -struct property_entry { - const char *name; - size_t length; - bool is_inline; - enum dev_prop_type type; - union { - const void *pointer; - union { - u8 u8_data[8]; - u16 u16_data[4]; - u32 u32_data[2]; - u64 u64_data[1]; - const char *str[1]; - } value; - }; -}; - -struct software_node; - -struct software_node_ref_args { - const struct software_node *node; - unsigned int nargs; - u64 args[16]; -}; - -struct acpi_device_software_node_port { - char port_name[9]; - u32 data_lanes[8]; - u32 lane_polarities[9]; - u64 link_frequencies[8]; - unsigned int port_nr; - bool crs_csi2_local; - struct property_entry port_props[2]; - struct property_entry ep_props[8]; - struct software_node_ref_args remote_ep[1]; -}; - -struct acpi_device_software_nodes { - struct property_entry dev_props[6]; - struct software_node *nodes; - const struct software_node **nodeptrs; - struct acpi_device_software_node_port *ports; - unsigned int num_ports; -}; - -struct acpi_table_desc; - -struct acpi_evaluate_info; - -struct acpi_device_walk_info { - struct acpi_table_desc *table_desc; - struct acpi_evaluate_info *evaluate_info; - u32 device_count; - u32 num_STA; - u32 num_INI; -}; - -struct acpi_dlayer { - const char *name; - long unsigned int value; -}; - -struct acpi_dlevel { - const char *name; - long unsigned int value; -}; - -struct dma_chan; - -struct acpi_dma_spec; - -struct acpi_dma { - struct list_head dma_controllers; - struct device *dev; - struct dma_chan * (*acpi_dma_xlate)(struct acpi_dma_spec *, struct acpi_dma *); - void *data; - short unsigned int base_request_line; - short unsigned int end_request_line; -}; - -typedef bool (*dma_filter_fn)(struct dma_chan *, void *); - -struct acpi_dma_filter_info { - dma_cap_mask_t dma_cap; - dma_filter_fn filter_fn; -}; - -struct acpi_dma_spec { - int chan_id; - int slave_id; - struct device *dev; -}; - -struct acpi_dma_parser_data { - struct acpi_dma_spec dma_spec; - size_t index; - size_t n; -}; - -struct acpi_dmar_header { - u16 type; - u16 length; -}; - -struct acpi_dmar_andd { - struct acpi_dmar_header header; - u8 reserved[3]; - u8 device_number; - union { - char __pad; - struct { - struct {} __Empty_device_name; - char device_name[0]; - }; - }; -} __attribute__((packed)); - -struct acpi_dmar_atsr { - struct acpi_dmar_header header; - u8 flags; - u8 reserved; - u16 segment; -}; - -struct acpi_dmar_device_scope { - u8 entry_type; - u8 length; - u8 flags; - u8 reserved; - u8 enumeration_id; - u8 bus; -}; - -struct acpi_dmar_hardware_unit { - struct acpi_dmar_header header; - u8 flags; - u8 size; - u16 segment; - u64 address; -}; - -struct acpi_dmar_pci_path { - u8 device; - u8 function; -}; - -struct acpi_dmar_reserved_memory { - struct acpi_dmar_header header; - u16 reserved; - u16 segment; - u64 base_address; - u64 end_address; -}; - -struct acpi_dmar_rhsa { - struct acpi_dmar_header header; - u32 reserved; - u64 base_address; - u32 proximity_domain; -} __attribute__((packed)); - -struct acpi_dmar_satc { - struct acpi_dmar_header header; - u8 flags; - u8 reserved; - u16 segment; -}; - -struct of_device_id; - -struct dev_pm_ops; - -struct driver_private; - -struct device_driver { - const char *name; - const struct bus_type *bus; - struct module *owner; - const char *mod_name; - bool suppress_bind_attrs; - enum probe_type probe_type; - const struct of_device_id *of_match_table; - const struct acpi_device_id *acpi_match_table; - int (*probe)(struct device *); - void (*sync_state)(struct device *); - int (*remove)(struct device *); - void (*shutdown)(struct device *); - int (*suspend)(struct device *, pm_message_t); - int (*resume)(struct device *); - const struct attribute_group **groups; - const struct attribute_group **dev_groups; - const struct dev_pm_ops *pm; - void (*coredump)(struct device *); - struct driver_private *p; -}; - -struct acpi_driver { - char name[80]; - char class[80]; - const struct acpi_device_id *ids; - unsigned int flags; - struct acpi_device_ops ops; - struct device_driver drv; -}; - -struct transaction; - -struct acpi_ec { - acpi_handle handle; - int gpe; - int irq; - long unsigned int command_addr; - long unsigned int data_addr; - bool global_lock; - long unsigned int flags; - long unsigned int reference_count; - struct mutex mutex; - wait_queue_head_t wait; - struct list_head list; - struct transaction *curr; - spinlock_t lock; - struct work_struct work; - long unsigned int timestamp; - enum acpi_ec_event_state event_state; - unsigned int events_to_process; - unsigned int events_in_progress; - unsigned int queries_in_progress; - bool busy_polling; - unsigned int polling_guard; -}; - -struct transaction { - const u8 *wdata; - u8 *rdata; - short unsigned int irq_count; - u8 command; - u8 wi; - u8 ri; - u8 wlen; - u8 rlen; - u8 flags; -}; - -struct acpi_ec_query_handler; - -struct acpi_ec_query { - struct transaction transaction; - struct work_struct work; - struct acpi_ec_query_handler *handler; - struct acpi_ec *ec; -}; - -typedef int (*acpi_ec_query_func)(void *); - -struct acpi_ec_query_handler { - struct list_head node; - acpi_ec_query_func func; - acpi_handle handle; - void *data; - u8 query_bit; - struct kref kref; -}; - -union acpi_predefined_info; - -struct acpi_evaluate_info { - struct acpi_namespace_node *prefix_node; - const char *relative_pathname; - union acpi_operand_object **parameters; - struct acpi_namespace_node *node; - union acpi_operand_object *obj_desc; - char *full_pathname; - const union acpi_predefined_info *predefined; - union acpi_operand_object *return_object; - union acpi_operand_object *parent_package; - u32 return_flags; - u32 return_btype; - u16 param_count; - u16 node_flags; - u8 pass_number; - u8 return_object_type; - u8 flags; -}; - -struct acpi_exception_info { - char *name; -}; - -struct acpi_exdump_info { - u8 opcode; - u8 offset; - const char *name; -} __attribute__((packed)); - -struct acpi_fadt_info { - const char *name; - u16 address64; - u16 address32; - u16 length; - u8 default_length; - u8 flags; -}; - -struct acpi_generic_address; - -struct acpi_fadt_pm_info { - struct acpi_generic_address *target; - u16 source; - u8 register_num; -}; - -struct acpi_fan_fif { - u8 revision; - u8 fine_grain_ctrl; - u8 step_size; - u8 low_speed_notification; -}; - -struct device_attribute { - struct attribute attr; - ssize_t (*show)(struct device *, struct device_attribute *, char *); - ssize_t (*store)(struct device *, struct device_attribute *, const char *, size_t); -}; - -struct acpi_fan_fps; - -struct thermal_cooling_device; - -struct acpi_fan { - acpi_handle handle; - bool acpi4; - bool has_fst; - struct acpi_fan_fif fif; - struct acpi_fan_fps *fps; - int fps_count; - struct thermal_cooling_device *cdev; - struct device_attribute fst_speed; - struct device_attribute fine_grain_control; -}; - -struct acpi_fan_fps { - u64 control; - u64 trip_point; - u64 speed; - u64 noise_level; - u64 power; - char name[20]; - struct device_attribute dev_attr; -}; - -struct acpi_fan_fst { - u64 revision; - u64 control; - u64 speed; -}; - -struct acpi_ffh_info { - u64 offset; - u64 length; -}; - -typedef u32 (*acpi_event_handler)(void *); - -struct acpi_fixed_event_handler { - acpi_event_handler handler; - void *context; -}; - -struct acpi_fixed_event_info { - u8 status_register_id; - u8 enable_register_id; - u16 status_bit_mask; - u16 enable_bit_mask; -}; - -struct acpi_ged_device { - struct device *dev; - struct list_head event_list; -}; - -struct acpi_ged_event { - struct list_head node; - struct device *dev; - unsigned int gsi; - unsigned int irq; - acpi_handle handle; -}; - -struct acpi_ged_handler_info { - struct acpi_ged_handler_info *next; - u32 int_id; - struct acpi_namespace_node *evt_method; -}; - -struct acpi_generic_address { - u8 space_id; - u8 bit_width; - u8 bit_offset; - u8 access_width; - u64 address; -} __attribute__((packed)); - -struct acpi_update_state { - void *next; - u8 descriptor_type; - u8 flags; - u16 value; - u16 state; - union acpi_operand_object *object; -}; - -struct acpi_scope_state { - void *next; - u8 descriptor_type; - u8 flags; - u16 value; - u16 state; - struct acpi_namespace_node *node; -}; - -struct acpi_pscope_state { - void *next; - u8 descriptor_type; - u8 flags; - u16 value; - u16 state; - u32 arg_count; - union acpi_parse_object *op; - u8 *arg_end; - u8 *pkg_end; - u32 arg_list; -}; - -struct acpi_pkg_state { - void *next; - u8 descriptor_type; - u8 flags; - u16 value; - u16 state; - u32 index; - union acpi_operand_object *source_object; - union acpi_operand_object *dest_object; - struct acpi_walk_state *walk_state; - void *this_target_obj; - u32 num_packages; -}; - -struct acpi_thread_state { - void *next; - u8 descriptor_type; - u8 flags; - u16 value; - u16 state; - u8 current_sync_level; - struct acpi_walk_state *walk_state_list; - union acpi_operand_object *acquired_mutex_list; - u64 thread_id; -}; - -struct acpi_result_values { - void *next; - u8 descriptor_type; - u8 flags; - u16 value; - u16 state; - union acpi_operand_object *obj_desc[8]; -}; - -struct acpi_global_notify_handler; - -struct acpi_notify_info { - void *next; - u8 descriptor_type; - u8 flags; - u16 value; - u16 state; - u8 handler_list_id; - struct acpi_namespace_node *node; - union acpi_operand_object *handler_list_head; - struct acpi_global_notify_handler *global; -}; - -union acpi_generic_state { - struct acpi_common_state common; - struct acpi_control_state control; - struct acpi_update_state update; - struct acpi_scope_state scope; - struct acpi_pscope_state parse_scope; - struct acpi_pkg_state pkg; - struct acpi_thread_state thread; - struct acpi_result_values results; - struct acpi_notify_info notify; -}; - -struct acpi_genl_event { - acpi_device_class device_class; - char bus_id[15]; - u32 type; - u32 data; -}; - -typedef acpi_status (*acpi_walk_callback)(acpi_handle, u32, void *, void **); - -struct acpi_get_devices_info { - acpi_walk_callback user_function; - void *context; - const char *hid; -}; - -struct acpi_global_notify_handler { - acpi_notify_handler handler; - void *context; -}; - -struct acpi_gpe_address { - u8 space_id; - u64 address; -}; - -struct acpi_gpe_xrupt_info; - -struct acpi_gpe_register_info; - -struct acpi_gpe_event_info; - -struct acpi_gpe_block_info { - struct acpi_namespace_node *node; - struct acpi_gpe_block_info *previous; - struct acpi_gpe_block_info *next; - struct acpi_gpe_xrupt_info *xrupt_block; - struct acpi_gpe_register_info *register_info; - struct acpi_gpe_event_info *event_info; - u64 address; - u32 register_count; - u16 gpe_count; - u16 block_base_number; - u8 space_id; - u8 initialized; -}; - -struct acpi_gpe_block_status_context { - struct acpi_gpe_register_info *gpe_skip_register_info; - u8 gpe_skip_mask; - u8 retval; -}; - -struct acpi_gpe_device_info { - u32 index; - u32 next_block_base_index; - acpi_status status; - struct acpi_namespace_node *gpe_device; -}; - -struct acpi_gpe_handler_info; - -struct acpi_gpe_notify_info; - -union acpi_gpe_dispatch_info { - struct acpi_namespace_node *method_node; - struct acpi_gpe_handler_info *handler; - struct acpi_gpe_notify_info *notify_list; -}; - -struct acpi_gpe_event_info { - union acpi_gpe_dispatch_info dispatch; - struct acpi_gpe_register_info *register_info; - u8 flags; - u8 gpe_number; - u8 runtime_count; - u8 disable_for_dispatch; -}; - -typedef u32 (*acpi_gpe_handler)(acpi_handle, u32, void *); - -struct acpi_gpe_handler_info { - acpi_gpe_handler address; - void *context; - struct acpi_namespace_node *method_node; - u8 original_flags; - u8 originally_enabled; -}; - -struct acpi_gpe_notify_info { - struct acpi_namespace_node *device_node; - struct acpi_gpe_notify_info *next; -}; - -struct acpi_gpe_register_info { - struct acpi_gpe_address status_address; - struct acpi_gpe_address enable_address; - u16 base_gpe_number; - u8 enable_for_wake; - u8 enable_for_run; - u8 mask_for_run; - u8 enable_mask; -}; - -struct acpi_gpe_walk_info { - struct acpi_namespace_node *gpe_device; - struct acpi_gpe_block_info *gpe_block; - u16 count; - acpi_owner_id owner_id; - u8 execute_by_owner_id; -}; - -struct acpi_gpe_xrupt_info { - struct acpi_gpe_xrupt_info *previous; - struct acpi_gpe_xrupt_info *next; - struct acpi_gpe_block_info *gpe_block_list_head; - u32 interrupt_number; -}; - -struct gpio_chip; - -struct acpi_gpio_chip { - struct acpi_connection_info conn_info; - struct list_head conns; - struct mutex conn_lock; - struct gpio_chip *chip; - struct list_head events; - struct list_head deferred_req_irqs_list_entry; -}; - -struct gpio_desc; - -struct acpi_gpio_connection { - struct list_head node; - unsigned int pin; - struct gpio_desc *desc; -}; - -typedef irqreturn_t (*irq_handler_t)(int, void *); - -struct acpi_gpio_event { - struct list_head node; - acpi_handle handle; - irq_handler_t handler; - unsigned int pin; - unsigned int irq; - long unsigned int irqflags; - bool irq_is_wake; - bool irq_requested; - struct gpio_desc *desc; -}; - -struct acpi_gpio_info { - struct acpi_device *adev; - enum gpiod_flags flags; - bool gpioint; - bool wake_capable; - int pin_config; - int polarity; - int triggering; - unsigned int debounce; - unsigned int quirks; -}; - -struct acpi_gpio_params { - unsigned int crs_entry_index; - short unsigned int line_index; - bool active_low; -}; - -struct acpi_gpio_lookup { - struct acpi_gpio_params params; - struct acpi_gpio_info *info; - struct gpio_desc *desc; - int n; -}; - -struct acpi_gpio_mapping { - const char *name; - const struct acpi_gpio_params *data; - unsigned int size; - unsigned int quirks; -}; - -struct acpi_gpiolib_dmi_quirk { - bool no_edge_events_on_boot; - char *ignore_wake; - char *ignore_interrupt; -}; - -struct acpi_handle_list { - u32 count; - acpi_handle *handles; -}; - -struct acpi_handler_info { - void *handler; - char *name; -}; - -struct acpi_hardware_id { - struct list_head list; - const char *id; -}; - -struct acpi_hest_header { - u16 type; - u16 source_id; -}; - -struct acpi_hest_notify { - u8 type; - u8 length; - u16 config_write_enable; - u32 poll_interval; - u32 vector; - u32 polling_threshold_value; - u32 polling_threshold_window; - u32 error_threshold_value; - u32 error_threshold_window; -}; - -struct acpi_hest_generic { - struct acpi_hest_header header; - u16 related_source_id; - u8 reserved; - u8 enabled; - u32 records_to_preallocate; - u32 max_sections_per_record; - u32 max_raw_data_length; - struct acpi_generic_address error_status_address; - struct acpi_hest_notify notify; - u32 error_block_length; -}; - -struct acpi_hest_generic_data { - u8 section_type[16]; - u32 error_severity; - u16 revision; - u8 validation_bits; - u8 flags; - u32 error_data_length; - u8 fru_id[16]; - u8 fru_text[20]; -}; - -struct acpi_hest_generic_data_v300 { - u8 section_type[16]; - u32 error_severity; - u16 revision; - u8 validation_bits; - u8 flags; - u32 error_data_length; - u8 fru_id[16]; - u8 fru_text[20]; - u64 time_stamp; -}; - -struct acpi_hest_generic_status { - u32 block_status; - u32 raw_data_offset; - u32 raw_data_length; - u32 data_length; - u32 error_severity; -}; - -struct acpi_hest_generic_v2 { - struct acpi_hest_header header; - u16 related_source_id; - u8 reserved; - u8 enabled; - u32 records_to_preallocate; - u32 max_sections_per_record; - u32 max_raw_data_length; - struct acpi_generic_address error_status_address; - struct acpi_hest_notify notify; - u32 error_block_length; - struct acpi_generic_address read_ack_register; - u64 read_ack_preserve; - u64 read_ack_write; -} __attribute__((packed)); - -struct acpi_hest_ia_corrected { - struct acpi_hest_header header; - u16 reserved1; - u8 flags; - u8 enabled; - u32 records_to_preallocate; - u32 max_sections_per_record; - struct acpi_hest_notify notify; - u8 num_hardware_banks; - u8 reserved2[3]; -}; - -struct acpi_hest_ia_deferred_check { - struct acpi_hest_header header; - u16 reserved1; - u8 flags; - u8 enabled; - u32 records_to_preallocate; - u32 max_sections_per_record; - struct acpi_hest_notify notify; - u8 num_hardware_banks; - u8 reserved2[3]; -}; - -struct acpi_hest_ia_error_bank { - u8 bank_number; - u8 clear_status_on_init; - u8 status_format; - u8 reserved; - u32 control_register; - u64 control_data; - u32 status_register; - u32 address_register; - u32 misc_register; -} __attribute__((packed)); - -struct acpi_hest_ia_machine_check { - struct acpi_hest_header header; - u16 reserved1; - u8 flags; - u8 enabled; - u32 records_to_preallocate; - u32 max_sections_per_record; - u64 global_capability_data; - u64 global_control_data; - u8 num_hardware_banks; - u8 reserved3[7]; -}; - -struct acpi_hmat_structure { - u16 type; - u16 reserved; - u32 length; -}; - -struct acpi_hmat_cache { - struct acpi_hmat_structure header; - u32 memory_PD; - u32 reserved1; - u64 cache_size; - u32 cache_attributes; - u16 address_mode; - u16 number_of_SMBIOShandles; -}; - -struct acpi_hmat_locality { - struct acpi_hmat_structure header; - u8 flags; - u8 data_type; - u8 min_transfer_size; - u8 reserved1; - u32 number_of_initiator_Pds; - u32 number_of_target_Pds; - u32 reserved2; - u64 entry_base_unit; -}; - -struct acpi_hmat_proximity_domain { - struct acpi_hmat_structure header; - u16 flags; - u16 reserved1; - u32 processor_PD; - u32 memory_PD; - u32 reserved2; - u64 reserved3; - u64 reserved4; -}; - -typedef int (*acpi_hp_notify)(struct acpi_device *, u32); - -typedef void (*acpi_hp_uevent)(struct acpi_device *, u32); - -typedef void (*acpi_hp_fixup)(struct acpi_device *); - -struct acpi_hotplug_context { - struct acpi_device *self; - acpi_hp_notify notify; - acpi_hp_uevent uevent; - acpi_hp_fixup fixup; -}; - -struct acpi_hotplug_profile { - struct kobject kobj; - int (*scan_dependent)(struct acpi_device *); - void (*notify_online)(struct acpi_device *); - bool enabled: 1; - bool demand_offline: 1; -}; - -struct acpi_hp_work { - struct work_struct work; - struct acpi_device *adev; - u32 src; -}; - -struct acpi_init_walk_info { - u32 table_index; - u32 object_count; - u32 method_count; - u32 serial_method_count; - u32 non_serial_method_count; - u32 serialized_method_count; - u32 device_count; - u32 op_region_count; - u32 field_count; - u32 buffer_count; - u32 package_count; - u32 op_region_init; - u32 field_init; - u32 buffer_init; - u32 package_init; - acpi_owner_id owner_id; -}; - -struct acpi_integrity_info { - u32 nodes; - u32 objects; -}; - -struct acpi_interface_info { - char *name; - struct acpi_interface_info *next; - u8 flags; - u8 value; -}; - -struct acpi_io_attribute { - u8 range_type; - u8 translation; - u8 translation_type; - u8 reserved1; -}; - -struct rcu_work { - struct work_struct work; - struct callback_head rcu; - struct workqueue_struct *wq; -}; - -struct acpi_ioremap { - struct list_head list; - void *virt; - acpi_physical_address phys; - acpi_size size; - union { - long unsigned int refcount; - struct rcu_work rwork; - } track; -}; - -struct acpi_lpat { - int temp; - int raw; -}; - -struct acpi_lpat_conversion_table { - struct acpi_lpat *lpat; - int lpat_count; -}; - -struct acpi_lpi_state { - u32 min_residency; - u32 wake_latency; - u32 flags; - u32 arch_flags; - u32 res_cnt_freq; - u32 enable_parent_state; - u64 address; - u8 index; - u8 entry_method; - char desc[32]; -}; - -struct acpi_lpi_states_array { - unsigned int size; - unsigned int composite_states_size; - struct acpi_lpi_state *entries; - struct acpi_lpi_state *composite_states[8]; -}; - -struct acpi_lpit_header { - u32 type; - u32 length; - u16 unique_id; - u16 reserved; - u32 flags; -}; - -struct acpi_lpit_native { - struct acpi_lpit_header header; - struct acpi_generic_address entry_trigger; - u32 residency; - u32 latency; - struct acpi_generic_address residency_counter; - u64 counter_frequency; -}; - -struct acpi_subtable_header { - u8 type; - u8 length; -}; - -struct acpi_madt_core_pic { - struct acpi_subtable_header header; - u8 version; - u32 processor_id; - u32 core_id; - u32 flags; -} __attribute__((packed)); - -struct acpi_madt_generic_distributor { - struct acpi_subtable_header header; - u16 reserved; - u32 gic_id; - u64 base_address; - u32 global_irq_base; - u8 version; - u8 reserved2[3]; -}; - -struct acpi_madt_generic_interrupt { - struct acpi_subtable_header header; - u16 reserved; - u32 cpu_interface_number; - u32 uid; - u32 flags; - u32 parking_version; - u32 performance_interrupt; - u64 parked_address; - u64 base_address; - u64 gicv_base_address; - u64 gich_base_address; - u32 vgic_interrupt; - u64 gicr_base_address; - u64 arm_mpidr; - u8 efficiency_class; - u8 reserved2[1]; - u16 spe_interrupt; - u16 trbe_interrupt; -} __attribute__((packed)); - -struct acpi_madt_interrupt_override { - struct acpi_subtable_header header; - u8 bus; - u8 source_irq; - u32 global_irq; - u16 inti_flags; -} __attribute__((packed)); - -struct acpi_madt_interrupt_source { - struct acpi_subtable_header header; - u16 inti_flags; - u8 type; - u8 id; - u8 eid; - u8 io_sapic_vector; - u32 global_irq; - u32 flags; -}; - -struct acpi_madt_io_apic { - struct acpi_subtable_header header; - u8 id; - u8 reserved; - u32 address; - u32 global_irq_base; -}; - -struct acpi_madt_io_sapic { - struct acpi_subtable_header header; - u8 id; - u8 reserved; - u32 global_irq_base; - u64 address; -}; - -struct acpi_madt_local_apic { - struct acpi_subtable_header header; - u8 processor_id; - u8 id; - u32 lapic_flags; -}; - -struct acpi_madt_local_apic_nmi { - struct acpi_subtable_header header; - u8 processor_id; - u16 inti_flags; - u8 lint; -} __attribute__((packed)); - -struct acpi_madt_local_apic_override { - struct acpi_subtable_header header; - u16 reserved; - u64 address; -} __attribute__((packed)); - -struct acpi_madt_local_sapic { - struct acpi_subtable_header header; - u8 processor_id; - u8 id; - u8 eid; - u8 reserved[3]; - u32 lapic_flags; - u32 uid; - char uid_string[0]; -}; - -struct acpi_madt_local_x2apic { - struct acpi_subtable_header header; - u16 reserved; - u32 local_apic_id; - u32 lapic_flags; - u32 uid; -}; - -struct acpi_madt_local_x2apic_nmi { - struct acpi_subtable_header header; - u16 inti_flags; - u32 uid; - u8 lint; - u8 reserved[3]; -}; - -struct acpi_madt_multiproc_wakeup { - struct acpi_subtable_header header; - u16 version; - u32 reserved; - u64 mailbox_address; - u64 reset_vector; -}; - -struct acpi_madt_multiproc_wakeup_mailbox { - u16 command; - u16 reserved; - u32 apic_id; - u64 wakeup_vector; - u8 reserved_os[2032]; - u8 reserved_firmware[2048]; -}; - -struct acpi_madt_nmi_source { - struct acpi_subtable_header header; - u16 inti_flags; - u32 global_irq; -}; - -struct acpi_madt_rintc { - struct acpi_subtable_header header; - u8 version; - u8 reserved; - u32 flags; - u64 hart_id; - u32 uid; - u32 ext_intc_id; - u64 imsic_addr; - u32 imsic_size; -} __attribute__((packed)); - -struct acpi_mcfg_allocation { - u64 address; - u16 pci_segment; - u8 start_bus_number; - u8 end_bus_number; - u32 reserved; -}; - -struct acpi_mem_mapping { - acpi_physical_address physical_address; - u8 *logical_address; - acpi_size length; - struct acpi_mem_mapping *next_mm; -}; - -struct acpi_mem_space_context { - u32 length; - acpi_physical_address address; - struct acpi_mem_mapping *cur_mm; - struct acpi_mem_mapping *first_mm; -}; - -struct acpi_memory_attribute { - u8 write_protect; - u8 caching; - u8 range_type; - u8 translation; -}; - -struct acpi_memory_device { - struct acpi_device *device; - struct list_head res_list; - int mgid; -}; - -struct acpi_memory_info { - struct list_head list; - u64 start_addr; - u64 length; - short unsigned int caching; - short unsigned int write_protect; - unsigned int enabled: 1; -}; - -struct acpi_subtbl_hdr_16 { - u16 type; - u16 length; -}; - -struct acpi_mrrm_mem_range_entry { - struct acpi_subtbl_hdr_16 header; - u32 reserved0; - u64 addr_base; - u64 addr_len; - u16 region_id_flags; - u8 local_region_id; - u8 remote_region_id; - u32 reserved1; -}; - -struct acpi_mutex_info { - void *mutex; - u32 use_count; - u64 thread_id; -}; - -struct acpi_name_info { - char name[4]; - u16 argument_list; - u8 expected_btypes; -} __attribute__((packed)); - -struct acpi_namestring_info { - const char *external_name; - const char *next_external_char; - char *internal_name; - u32 length; - u32 num_segments; - u32 num_carats; - u8 fully_qualified; -}; - -struct acpi_nhlt_config { - u32 capabilities_size; - u8 capabilities[0]; -}; - -struct acpi_nhlt_gendevice_config { - u8 virtual_slot; - u8 config_type; -}; - -struct acpi_nhlt_micdevice_config { - u8 virtual_slot; - u8 config_type; - u8 array_type; -}; - -struct acpi_nhlt_vendor_mic_config { - u8 type; - u8 panel; - u16 speaker_position_distance; - u16 horizontal_offset; - u16 vertical_offset; - u8 frequency_low_band; - u8 frequency_high_band; - u16 direction_angle; - u16 elevation_angle; - u16 work_vertical_angle_begin; - u16 work_vertical_angle_end; - u16 work_horizontal_angle_begin; - u16 work_horizontal_angle_end; -}; - -struct acpi_nhlt_vendor_micdevice_config { - u8 virtual_slot; - u8 config_type; - u8 array_type; - u8 mics_count; - struct acpi_nhlt_vendor_mic_config mics[0]; -}; - -union acpi_nhlt_device_config { - u8 virtual_slot; - struct acpi_nhlt_gendevice_config gen; - struct acpi_nhlt_micdevice_config mic; - struct acpi_nhlt_vendor_micdevice_config vendor_mic; -}; - -struct acpi_nhlt_endpoint { - u32 length; - u8 link_type; - u8 instance_id; - u16 vendor_id; - u16 device_id; - u16 revision_id; - u32 subsystem_id; - u8 device_type; - u8 direction; - u8 virtual_bus_id; -} __attribute__((packed)); - -struct acpi_nhlt_wave_formatext { - u16 format_tag; - u16 channel_count; - u32 samples_per_sec; - u32 avg_bytes_per_sec; - u16 block_align; - u16 bits_per_sample; - u16 extra_format_size; - u16 valid_bits_per_sample; - u32 channel_mask; - u8 subformat[16]; -}; - -struct acpi_nhlt_format_config { - struct acpi_nhlt_wave_formatext format; - struct acpi_nhlt_config config; -}; - -struct acpi_nhlt_formats_config { - u8 formats_count; - struct acpi_nhlt_format_config formats[0]; -} __attribute__((packed)); - -union acpi_object { - acpi_object_type type; - struct { - acpi_object_type type; - u64 value; - } integer; - struct { - acpi_object_type type; - u32 length; - char *pointer; - } string; - struct { - acpi_object_type type; - u32 length; - u8 *pointer; - } buffer; - struct { - acpi_object_type type; - u32 count; - union acpi_object *elements; - } package; - struct { - acpi_object_type type; - acpi_object_type actual_type; - acpi_handle handle; - } reference; - struct { - acpi_object_type type; - u32 proc_id; - acpi_io_address pblk_address; - u32 pblk_length; - } processor; - struct { - acpi_object_type type; - u32 system_level; - u32 resource_order; - } power_resource; -}; - -struct acpi_object_info { - u32 types[28]; -}; - -struct acpi_object_list { - u32 count; - union acpi_object *pointer; -}; - -struct acpi_offsets { - size_t offset; - u8 mode; -}; - -struct acpi_opcode_info { - char *name; - u32 parse_args; - u32 runtime_args; - u16 flags; - u8 object_type; - u8 class; - u8 type; -}; - -struct acpi_os_dpc { - acpi_osd_exec_callback function; - void *context; - struct work_struct work; -}; - -struct acpi_osc_context { - char *uuid_str; - int rev; - struct acpi_buffer cap; - struct acpi_buffer ret; -}; - -struct acpi_osi_config { - u8 default_disabling; - unsigned int linux_enable: 1; - unsigned int linux_dmi: 1; - unsigned int linux_cmdline: 1; - unsigned int darwin_enable: 1; - unsigned int darwin_dmi: 1; - unsigned int darwin_cmdline: 1; -}; - -struct acpi_osi_entry { - char string[64]; - bool enable; -}; - -struct acpi_package_info { - u8 type; - u8 object_type1; - u8 count1; - u8 object_type2; - u8 count2; - u16 reserved; -} __attribute__((packed)); - -struct acpi_package_info2 { - u8 type; - u8 count; - u8 object_type[4]; - u8 reserved; -}; - -struct acpi_package_info3 { - u8 type; - u8 count; - u8 object_type[2]; - u8 tail_object_type; - u16 reserved; -} __attribute__((packed)); - -struct acpi_package_info4 { - u8 type; - u8 object_type1; - u8 count1; - u8 sub_object_types; - u8 pkg_count; - u16 reserved; -} __attribute__((packed)); - -struct acpi_parse_state { - u8 *aml_start; - u8 *aml; - u8 *aml_end; - u8 *pkg_start; - u8 *pkg_end; - union acpi_parse_object *start_op; - struct acpi_namespace_node *start_node; - union acpi_generic_state *scope; - union acpi_parse_object *start_scope; - u32 aml_size; -}; - -struct acpi_pcc_info { - u8 subspace_id; - u16 length; - u8 *internal_buffer; -}; - -struct acpi_pcct_ext_pcc_master { - struct acpi_subtable_header header; - u32 platform_interrupt; - u8 flags; - u8 reserved1; - u64 base_address; - u32 length; - struct acpi_generic_address doorbell_register; - u64 preserve_mask; - u64 write_mask; - u32 latency; - u32 max_access_rate; - u32 min_turnaround_time; - struct acpi_generic_address platform_ack_register; - u64 ack_preserve_mask; - u64 ack_set_mask; - u64 reserved2; - struct acpi_generic_address cmd_complete_register; - u64 cmd_complete_mask; - struct acpi_generic_address cmd_update_register; - u64 cmd_update_preserve_mask; - u64 cmd_update_set_mask; - struct acpi_generic_address error_status_register; - u64 error_status_mask; -} __attribute__((packed)); - -struct acpi_pcct_ext_pcc_shared_memory { - u32 signature; - u32 flags; - u32 length; - u32 command; -}; - -struct acpi_pcct_ext_pcc_slave { - struct acpi_subtable_header header; - u32 platform_interrupt; - u8 flags; - u8 reserved1; - u64 base_address; - u32 length; - struct acpi_generic_address doorbell_register; - u64 preserve_mask; - u64 write_mask; - u32 latency; - u32 max_access_rate; - u32 min_turnaround_time; - struct acpi_generic_address platform_ack_register; - u64 ack_preserve_mask; - u64 ack_set_mask; - u64 reserved2; - struct acpi_generic_address cmd_complete_register; - u64 cmd_complete_mask; - struct acpi_generic_address cmd_update_register; - u64 cmd_update_preserve_mask; - u64 cmd_update_set_mask; - struct acpi_generic_address error_status_register; - u64 error_status_mask; -} __attribute__((packed)); - -struct acpi_pcct_hw_reduced { - struct acpi_subtable_header header; - u32 platform_interrupt; - u8 flags; - u8 reserved; - u64 base_address; - u64 length; - struct acpi_generic_address doorbell_register; - u64 preserve_mask; - u64 write_mask; - u32 latency; - u32 max_access_rate; - u16 min_turnaround_time; -} __attribute__((packed)); - -struct acpi_pcct_hw_reduced_type2 { - struct acpi_subtable_header header; - u32 platform_interrupt; - u8 flags; - u8 reserved; - u64 base_address; - u64 length; - struct acpi_generic_address doorbell_register; - u64 preserve_mask; - u64 write_mask; - u32 latency; - u32 max_access_rate; - u16 min_turnaround_time; - struct acpi_generic_address platform_ack_register; - u64 ack_preserve_mask; - u64 ack_write_mask; -} __attribute__((packed)); - -struct acpi_pcct_shared_memory { - u32 signature; - u16 command; - u16 status; -}; - -struct acpi_pcct_subspace { - struct acpi_subtable_header header; - u8 reserved[6]; - u64 base_address; - u64 length; - struct acpi_generic_address doorbell_register; - u64 preserve_mask; - u64 write_mask; - u32 latency; - u32 max_access_rate; - u16 min_turnaround_time; -} __attribute__((packed)); - -struct acpi_pci_device { - acpi_handle device; - struct acpi_pci_device *next; -}; - -struct acpi_pci_id { - u16 segment; - u16 bus; - u16 device; - u16 function; -}; - -struct acpi_pci_ioapic { - acpi_handle root_handle; - acpi_handle handle; - u32 gsi_base; - struct resource res; - struct pci_dev *pdev; - struct list_head list; -}; - -struct acpi_pci_link_irq { - u32 active; - u8 triggering; - u8 polarity; - u8 resource_type; - u8 possible_count; - u32 possible[16]; - u8 initialized: 1; - u8 reserved: 7; -}; - -struct acpi_pci_link { - struct list_head list; - struct acpi_device *device; - struct acpi_pci_link_irq irq; - int refcnt; -}; - -struct pci_bus; - -struct acpi_pci_root { - struct acpi_device *device; - struct pci_bus *bus; - u16 segment; - int bridge_type; - struct resource secondary; - u32 osc_support_set; - u32 osc_control_set; - u32 osc_ext_support_set; - u32 osc_ext_control_set; - phys_addr_t mcfg_addr; -}; - -struct acpi_pci_root_ops; - -struct acpi_pci_root_info { - struct acpi_pci_root *root; - struct acpi_device *bridge; - struct acpi_pci_root_ops *ops; - struct list_head resources; - char name[16]; -}; - -struct pci_ops; - -struct acpi_pci_root_ops { - struct pci_ops *pci_ops; - int (*init_info)(struct acpi_pci_root_info *); - void (*release_info)(struct acpi_pci_root_info *); - int (*prepare_resources)(struct acpi_pci_root_info *); -}; - -struct acpi_pci_routing_table { - u32 length; - u32 pin; - u64 address; - u32 source_index; - union { - char pad[4]; - struct { - struct {} __Empty_source; - char source[0]; - }; - }; -}; - -struct pci_slot; - -struct acpi_pci_slot { - struct pci_slot *pci_slot; - struct list_head list; -}; - -struct acpi_pct_register { - u8 descriptor; - u16 length; - u8 space_id; - u8 bit_width; - u8 bit_offset; - u8 reserved; - u64 address; -} __attribute__((packed)); - -struct acpi_pkg_info { - u8 *free_space; - acpi_size length; - u32 object_space; - u32 num_packages; -}; - -struct acpi_platform_list { - char oem_id[7]; - char oem_table_id[9]; - u32 oem_revision; - char *table; - enum acpi_predicate pred; - char *reason; - u32 data; -}; - -struct acpi_pld_info { - u8 revision; - u8 ignore_color; - u8 red; - u8 green; - u8 blue; - u16 width; - u16 height; - u8 user_visible; - u8 dock; - u8 lid; - u8 panel; - u8 vertical_position; - u8 horizontal_position; - u8 shape; - u8 group_orientation; - u8 group_token; - u8 group_position; - u8 bay; - u8 ejectable; - u8 ospm_eject_required; - u8 cabinet_number; - u8 card_cage_number; - u8 reference; - u8 rotation; - u8 order; - u8 reserved; - u16 vertical_offset; - u16 horizontal_offset; -}; - -struct acpi_port_info { - char *name; - u16 start; - u16 end; - u8 osi_dependency; -}; - -struct acpi_power_dependent_device { - struct device *dev; - struct list_head node; -}; - -struct acpi_power_register { - u8 descriptor; - u16 length; - u8 space_id; - u8 bit_width; - u8 bit_offset; - u8 access_size; - u64 address; -} __attribute__((packed)); - -struct acpi_power_resource { - struct acpi_device device; - struct list_head list_node; - u32 system_level; - u32 order; - unsigned int ref_count; - u8 state; - struct mutex resource_lock; - struct list_head dependents; -}; - -struct acpi_power_resource_entry { - struct list_head node; - struct acpi_power_resource *resource; -}; - -union acpi_predefined_info { - struct acpi_name_info info; - struct acpi_package_info ret_info; - struct acpi_package_info2 ret_info2; - struct acpi_package_info3 ret_info3; - struct acpi_package_info4 ret_info4; -}; - -struct acpi_predefined_names { - const char *name; - u8 type; - char *val; -}; - -struct acpi_prmt_handler_info { - u16 revision; - u16 length; - u8 handler_guid[16]; - u64 handler_address; - u64 static_data_buffer_address; - u64 acpi_param_buffer_address; -} __attribute__((packed)); - -struct acpi_prmt_module_header { - u16 revision; - u16 length; -}; - -struct acpi_prmt_module_info { - u16 revision; - u16 length; - u8 module_guid[16]; - u16 major_rev; - u16 minor_rev; - u16 handler_info_count; - u32 handler_info_offset; - u64 mmio_list_pointer; -} __attribute__((packed)); - -struct acpi_probe_entry; - -typedef bool (*acpi_probe_entry_validate_subtbl)(struct acpi_subtable_header *, struct acpi_probe_entry *); - -struct acpi_table_header; - -typedef int (*acpi_tbl_table_handler)(struct acpi_table_header *); - -union acpi_subtable_headers; - -typedef int (*acpi_tbl_entry_handler)(union acpi_subtable_headers *, const long unsigned int); - -struct acpi_probe_entry { - __u8 id[5]; - __u8 type; - acpi_probe_entry_validate_subtbl subtable_valid; - union { - acpi_tbl_table_handler probe_table; - acpi_tbl_entry_handler probe_subtbl; - }; - kernel_ulong_t driver_data; -}; - -struct acpi_processor_flags { - u8 power: 1; - u8 performance: 1; - u8 throttling: 1; - u8 limit: 1; - u8 bm_control: 1; - u8 bm_check: 1; - u8 has_cst: 1; - u8 has_lpi: 1; - u8 power_setup_done: 1; - u8 bm_rld_set: 1; - u8 previously_online: 1; -}; - -struct acpi_processor_cx { - u8 valid; - u8 type; - u32 address; - u8 entry_method; - u8 index; - u32 latency; - u8 bm_sts_skip; - char desc[32]; -}; - -struct acpi_processor_power { - int count; - union { - struct acpi_processor_cx states[8]; - struct acpi_lpi_state lpi_states[8]; - }; - int timer_broadcast_on_state; -}; - -struct acpi_tsd_package { - u64 num_entries; - u64 revision; - u64 domain; - u64 coord_type; - u64 num_processors; -}; - -struct acpi_processor_tx { - u16 power; - u16 performance; -}; - -struct acpi_processor_tx_tss; - -struct acpi_processor; - -struct acpi_processor_throttling { - unsigned int state; - unsigned int platform_limit; - struct acpi_pct_register control_register; - struct acpi_pct_register status_register; - unsigned int state_count; - struct acpi_processor_tx_tss *states_tss; - struct acpi_tsd_package domain_info; - cpumask_var_t shared_cpu_map; - int (*acpi_processor_get_throttling)(struct acpi_processor *); - int (*acpi_processor_set_throttling)(struct acpi_processor *, int, bool); - u32 address; - u8 duty_offset; - u8 duty_width; - u8 tsd_valid_flag; - unsigned int shared_type; - struct acpi_processor_tx states[16]; -}; - -struct acpi_processor_lx { - int px; - int tx; -}; - -struct acpi_processor_limit { - struct acpi_processor_lx state; - struct acpi_processor_lx thermal; - struct acpi_processor_lx user; -}; - -struct plist_node { - int prio; - struct list_head prio_list; - struct list_head node_list; -}; - -struct freq_constraints; - -struct freq_qos_request { - enum freq_qos_req_type type; - struct plist_node pnode; - struct freq_constraints *qos; -}; - -struct acpi_processor_performance; - -struct acpi_processor { - acpi_handle handle; - u32 acpi_id; - phys_cpuid_t phys_id; - u32 id; - u32 pblk; - int performance_platform_limit; - int throttling_platform_limit; - struct acpi_processor_flags flags; - struct acpi_processor_power power; - struct acpi_processor_performance *performance; - struct acpi_processor_throttling throttling; - struct acpi_processor_limit limit; - struct thermal_cooling_device *cdev; - struct device *dev; - struct freq_qos_request perflib_req; - struct freq_qos_request thermal_req; -}; - -struct acpi_processor_errata { - u8 smp; - struct { - u8 throttle: 1; - u8 fdma: 1; - u8 reserved: 6; - u32 bmisx; - } piix4; -}; - -struct acpi_psd_package { - u64 num_entries; - u64 revision; - u64 domain; - u64 coord_type; - u64 num_processors; -}; - -struct acpi_processor_px; - -struct acpi_processor_performance { - unsigned int state; - unsigned int platform_limit; - struct acpi_pct_register control_register; - struct acpi_pct_register status_register; - unsigned int state_count; - struct acpi_processor_px *states; - struct acpi_psd_package domain_info; - cpumask_var_t shared_cpu_map; - unsigned int shared_type; -}; - -struct acpi_processor_px { - u64 core_frequency; - u64 power; - u64 transition_latency; - u64 bus_master_latency; - u64 control; - u64 status; -}; - -struct acpi_processor_throttling_arg { - struct acpi_processor *pr; - int target_state; - bool force; -}; - -struct acpi_processor_tx_tss { - u64 freqpercentage; - u64 power; - u64 transition_latency; - u64 control; - u64 status; -}; - -struct acpi_prt_entry { - struct acpi_pci_id id; - u8 pin; - acpi_handle link; - u32 index; -}; - -struct acpi_reg_walk_info { - u32 function; - u32 reg_run_count; - acpi_adr_space_type space_id; -}; - -struct acpi_region_walk_info { - u32 debug_level; - u32 count; - acpi_owner_id owner_id; - u8 display_type; - u32 address_space_id; -}; - -typedef acpi_status (*acpi_repair_function)(struct acpi_evaluate_info *, union acpi_operand_object **); - -struct acpi_repair_info { - char name[4]; - acpi_repair_function repair_function; -}; - -struct acpi_resource_irq { - u8 descriptor_length; - u8 triggering; - u8 polarity; - u8 shareable; - u8 wake_capable; - u8 interrupt_count; - union { - u8 interrupt; - struct { - struct {} __Empty_interrupts; - u8 interrupts[0]; - }; - }; -}; - -struct acpi_resource_dma { - u8 type; - u8 bus_master; - u8 transfer; - u8 channel_count; - union { - u8 channel; - struct { - struct {} __Empty_channels; - u8 channels[0]; - }; - }; -}; - -struct acpi_resource_start_dependent { - u8 descriptor_length; - u8 compatibility_priority; - u8 performance_robustness; -}; - -struct acpi_resource_io { - u8 io_decode; - u8 alignment; - u8 address_length; - u16 minimum; - u16 maximum; -} __attribute__((packed)); - -struct acpi_resource_fixed_io { - u16 address; - u8 address_length; -} __attribute__((packed)); - -struct acpi_resource_fixed_dma { - u16 request_lines; - u16 channels; - u8 width; -} __attribute__((packed)); - -struct acpi_resource_vendor { - u16 byte_length; - u8 byte_data[0]; -}; - -struct acpi_resource_vendor_typed { - u16 byte_length; - u8 uuid_subtype; - u8 uuid[16]; - u8 byte_data[0]; -} __attribute__((packed)); - -struct acpi_resource_end_tag { - u8 checksum; -}; - -struct acpi_resource_memory24 { - u8 write_protect; - u16 minimum; - u16 maximum; - u16 alignment; - u16 address_length; -} __attribute__((packed)); - -struct acpi_resource_memory32 { - u8 write_protect; - u32 minimum; - u32 maximum; - u32 alignment; - u32 address_length; -} __attribute__((packed)); - -struct acpi_resource_fixed_memory32 { - u8 write_protect; - u32 address; - u32 address_length; -} __attribute__((packed)); - -union acpi_resource_attribute { - struct acpi_memory_attribute mem; - struct acpi_io_attribute io; - u8 type_specific; -}; - -struct acpi_resource_source { - u8 index; - u16 string_length; - char *string_ptr; -} __attribute__((packed)); - -struct acpi_resource_address16 { - u8 resource_type; - u8 producer_consumer; - u8 decode; - u8 min_address_fixed; - u8 max_address_fixed; - union acpi_resource_attribute info; - struct acpi_address16_attribute address; - struct acpi_resource_source resource_source; -} __attribute__((packed)); - -struct acpi_resource_address32 { - u8 resource_type; - u8 producer_consumer; - u8 decode; - u8 min_address_fixed; - u8 max_address_fixed; - union acpi_resource_attribute info; - struct acpi_address32_attribute address; - struct acpi_resource_source resource_source; -} __attribute__((packed)); - -struct acpi_resource_address64 { - u8 resource_type; - u8 producer_consumer; - u8 decode; - u8 min_address_fixed; - u8 max_address_fixed; - union acpi_resource_attribute info; - struct acpi_address64_attribute address; - struct acpi_resource_source resource_source; -} __attribute__((packed)); - -struct acpi_resource_extended_address64 { - u8 resource_type; - u8 producer_consumer; - u8 decode; - u8 min_address_fixed; - u8 max_address_fixed; - union acpi_resource_attribute info; - u8 revision_ID; - struct acpi_address64_attribute address; - u64 type_specific; -} __attribute__((packed)); - -struct acpi_resource_extended_irq { - u8 producer_consumer; - u8 triggering; - u8 polarity; - u8 shareable; - u8 wake_capable; - u8 interrupt_count; - struct acpi_resource_source resource_source; - union { - u32 interrupt; - struct { - struct {} __Empty_interrupts; - u32 interrupts[0]; - }; - }; -} __attribute__((packed)); - -struct acpi_resource_generic_register { - u8 space_id; - u8 bit_width; - u8 bit_offset; - u8 access_size; - u64 address; -} __attribute__((packed)); - -struct acpi_resource_gpio { - u8 revision_id; - u8 connection_type; - u8 producer_consumer; - u8 pin_config; - u8 shareable; - u8 wake_capable; - u8 io_restriction; - u8 triggering; - u8 polarity; - u16 drive_strength; - u16 debounce_timeout; - u16 pin_table_length; - u16 vendor_length; - struct acpi_resource_source resource_source; - u16 *pin_table; - u8 *vendor_data; -} __attribute__((packed)); - -struct acpi_resource_i2c_serialbus { - u8 revision_id; - u8 type; - u8 producer_consumer; - u8 slave_mode; - u8 connection_sharing; - u8 type_revision_id; - u16 type_data_length; - u16 vendor_length; - struct acpi_resource_source resource_source; - u8 *vendor_data; - u8 access_mode; - u16 slave_address; - u32 connection_speed; -} __attribute__((packed)); - -struct acpi_resource_spi_serialbus { - u8 revision_id; - u8 type; - u8 producer_consumer; - u8 slave_mode; - u8 connection_sharing; - u8 type_revision_id; - u16 type_data_length; - u16 vendor_length; - struct acpi_resource_source resource_source; - u8 *vendor_data; - u8 wire_mode; - u8 device_polarity; - u8 data_bit_length; - u8 clock_phase; - u8 clock_polarity; - u16 device_selection; - u32 connection_speed; -} __attribute__((packed)); - -struct acpi_resource_uart_serialbus { - u8 revision_id; - u8 type; - u8 producer_consumer; - u8 slave_mode; - u8 connection_sharing; - u8 type_revision_id; - u16 type_data_length; - u16 vendor_length; - struct acpi_resource_source resource_source; - u8 *vendor_data; - u8 endian; - u8 data_bits; - u8 stop_bits; - u8 flow_control; - u8 parity; - u8 lines_enabled; - u16 rx_fifo_size; - u16 tx_fifo_size; - u32 default_baud_rate; -} __attribute__((packed)); - -struct acpi_resource_csi2_serialbus { - u8 revision_id; - u8 type; - u8 producer_consumer; - u8 slave_mode; - u8 connection_sharing; - u8 type_revision_id; - u16 type_data_length; - u16 vendor_length; - struct acpi_resource_source resource_source; - u8 *vendor_data; - u8 local_port_instance; - u8 phy_type; -} __attribute__((packed)); - -struct acpi_resource_common_serialbus { - u8 revision_id; - u8 type; - u8 producer_consumer; - u8 slave_mode; - u8 connection_sharing; - u8 type_revision_id; - u16 type_data_length; - u16 vendor_length; - struct acpi_resource_source resource_source; - u8 *vendor_data; -} __attribute__((packed)); - -struct acpi_resource_pin_function { - u8 revision_id; - u8 pin_config; - u8 shareable; - u16 function_number; - u16 pin_table_length; - u16 vendor_length; - struct acpi_resource_source resource_source; - u16 *pin_table; - u8 *vendor_data; -} __attribute__((packed)); - -struct acpi_resource_pin_config { - u8 revision_id; - u8 producer_consumer; - u8 shareable; - u8 pin_config_type; - u32 pin_config_value; - u16 pin_table_length; - u16 vendor_length; - struct acpi_resource_source resource_source; - u16 *pin_table; - u8 *vendor_data; -} __attribute__((packed)); - -struct acpi_resource_label { - u16 string_length; - char *string_ptr; -} __attribute__((packed)); - -struct acpi_resource_pin_group { - u8 revision_id; - u8 producer_consumer; - u16 pin_table_length; - u16 vendor_length; - u16 *pin_table; - struct acpi_resource_label resource_label; - u8 *vendor_data; -} __attribute__((packed)); - -struct acpi_resource_pin_group_function { - u8 revision_id; - u8 producer_consumer; - u8 shareable; - u16 function_number; - u16 vendor_length; - struct acpi_resource_source resource_source; - struct acpi_resource_label resource_source_label; - u8 *vendor_data; -} __attribute__((packed)); - -struct acpi_resource_pin_group_config { - u8 revision_id; - u8 producer_consumer; - u8 shareable; - u8 pin_config_type; - u32 pin_config_value; - u16 vendor_length; - struct acpi_resource_source resource_source; - struct acpi_resource_label resource_source_label; - u8 *vendor_data; -} __attribute__((packed)); - -struct acpi_resource_clock_input { - u8 revision_id; - u8 mode; - u8 scale; - u16 frequency_divisor; - u32 frequency_numerator; - struct acpi_resource_source resource_source; -} __attribute__((packed)); - -struct acpi_resource_address { - u8 resource_type; - u8 producer_consumer; - u8 decode; - u8 min_address_fixed; - u8 max_address_fixed; - union acpi_resource_attribute info; -}; - -union acpi_resource_data { - struct acpi_resource_irq irq; - struct acpi_resource_dma dma; - struct acpi_resource_start_dependent start_dpf; - struct acpi_resource_io io; - struct acpi_resource_fixed_io fixed_io; - struct acpi_resource_fixed_dma fixed_dma; - struct acpi_resource_vendor vendor; - struct acpi_resource_vendor_typed vendor_typed; - struct acpi_resource_end_tag end_tag; - struct acpi_resource_memory24 memory24; - struct acpi_resource_memory32 memory32; - struct acpi_resource_fixed_memory32 fixed_memory32; - struct acpi_resource_address16 address16; - struct acpi_resource_address32 address32; - struct acpi_resource_address64 address64; - struct acpi_resource_extended_address64 ext_address64; - struct acpi_resource_extended_irq extended_irq; - struct acpi_resource_generic_register generic_reg; - struct acpi_resource_gpio gpio; - struct acpi_resource_i2c_serialbus i2c_serial_bus; - struct acpi_resource_spi_serialbus spi_serial_bus; - struct acpi_resource_uart_serialbus uart_serial_bus; - struct acpi_resource_csi2_serialbus csi2_serial_bus; - struct acpi_resource_common_serialbus common_serial_bus; - struct acpi_resource_pin_function pin_function; - struct acpi_resource_pin_config pin_config; - struct acpi_resource_pin_group pin_group; - struct acpi_resource_pin_group_function pin_group_function; - struct acpi_resource_pin_group_config pin_group_config; - struct acpi_resource_clock_input clock_input; - struct acpi_resource_address address; -}; - -struct acpi_resource { - u32 type; - u32 length; - union acpi_resource_data data; -}; - -struct acpi_rsconvert_info { - u8 opcode; - u8 resource_offset; - u8 aml_offset; - u8 value; -}; - -struct acpi_rsdump_info { - u8 opcode; - u8 offset; - const char *name; - const char **pointer; -} __attribute__((packed)); - -struct acpi_rw_lock { - void *writer_mutex; - void *reader_mutex; - u32 num_readers; -}; - -struct acpi_s2idle_dev_ops { - struct list_head list_node; - void (*prepare)(void); - void (*check)(void); - void (*restore)(void); -}; - -struct acpi_scan_clear_dep_work { - struct work_struct work; - struct acpi_device *adev; -}; - -struct acpi_scan_handler { - struct list_head list_node; - const struct acpi_device_id *ids; - bool (*match)(const char *, const struct acpi_device_id **); - int (*attach)(struct acpi_device *, const struct acpi_device_id *); - void (*detach)(struct acpi_device *); - void (*post_eject)(struct acpi_device *); - void (*bind)(struct device *); - void (*unbind)(struct device *); - struct acpi_hotplug_profile hotplug; -}; - -typedef u32 (*acpi_sci_handler)(void *); - -struct acpi_sci_handler_info { - struct acpi_sci_handler_info *next; - acpi_sci_handler address; - void *context; -}; - -struct acpi_serdev_lookup { - acpi_handle device_handle; - acpi_handle controller_handle; - int n; - int index; -}; - -struct acpi_signal_fatal_info { - u32 type; - u32 code; - u32 argument; -}; - -typedef acpi_status (*acpi_object_converter)(struct acpi_namespace_node *, union acpi_operand_object *, union acpi_operand_object **); - -struct acpi_simple_repair_info { - char name[4]; - u32 unexpected_btypes; - u32 package_index; - acpi_object_converter object_converter; -}; - -struct spi_controller; - -struct acpi_spi_lookup { - struct spi_controller *ctlr; - u32 max_speed_hz; - u32 mode; - int irq; - u8 bits_per_word; - u8 chip_select; - int n; - int index; -}; - -struct acpi_srat_cpu_affinity { - struct acpi_subtable_header header; - u8 proximity_domain_lo; - u8 apic_id; - u32 flags; - u8 local_sapic_eid; - u8 proximity_domain_hi[3]; - u32 clock_domain; -}; - -struct acpi_srat_generic_affinity { - struct acpi_subtable_header header; - u8 reserved; - u8 device_handle_type; - u32 proximity_domain; - u8 device_handle[16]; - u32 flags; - u32 reserved1; -}; - -struct acpi_srat_gicc_affinity { - struct acpi_subtable_header header; - u32 proximity_domain; - u32 acpi_processor_uid; - u32 flags; - u32 clock_domain; -} __attribute__((packed)); - -struct acpi_srat_mem_affinity { - struct acpi_subtable_header header; - u32 proximity_domain; - u16 reserved; - u64 base_address; - u64 length; - u32 reserved1; - u32 flags; - u64 reserved2; -} __attribute__((packed)); - -struct acpi_srat_rintc_affinity { - struct acpi_subtable_header header; - u16 reserved; - u32 proximity_domain; - u32 acpi_processor_uid; - u32 flags; - u32 clock_domain; -}; - -struct acpi_srat_x2apic_cpu_affinity { - struct acpi_subtable_header header; - u16 reserved; - u32 proximity_domain; - u32 apic_id; - u32 flags; - u32 clock_domain; - u32 reserved2; -}; - -struct acpi_subtable_entry { - union acpi_subtable_headers *hdr; - enum acpi_subtable_type type; -}; - -union acpi_subtable_headers { - struct acpi_subtable_header common; - struct acpi_hmat_structure hmat; - struct acpi_prmt_module_header prmt; - struct acpi_cedt_header cedt; - struct acpi_cdat_header cdat; -}; - -typedef int (*acpi_tbl_entry_handler_arg)(union acpi_subtable_headers *, void *, const long unsigned int); - -struct acpi_subtable_proc { - int id; - acpi_tbl_entry_handler handler; - acpi_tbl_entry_handler_arg handler_arg; - void *arg; - int count; -}; - -struct acpi_table_attr { - struct bin_attribute attr; - char name[4]; - int instance; - char filename[8]; - struct list_head node; -}; - -struct acpi_table_header { - char signature[4]; - u32 length; - u8 revision; - u8 checksum; - char oem_id[6]; - char oem_table_id[8]; - u32 oem_revision; - char asl_compiler_id[4]; - u32 asl_compiler_revision; -}; - -struct acpi_table_bert { - struct acpi_table_header header; - u32 region_length; - u64 address; -}; - -struct acpi_table_bgrt { - struct acpi_table_header header; - u16 version; - u8 status; - u8 image_type; - u64 image_address; - u32 image_offset_x; - u32 image_offset_y; -}; - -struct acpi_table_boot { - struct acpi_table_header header; - u8 cmos_index; - u8 reserved[3]; -}; - -struct acpi_table_ccel { - struct acpi_table_header header; - u8 CCtype; - u8 Ccsub_type; - u16 reserved; - u64 log_area_minimum_length; - u64 log_area_start_address; -}; - -struct acpi_table_cdat { - u32 length; - u8 revision; - u8 checksum; - u8 reserved[6]; - u32 sequence; -}; - -struct acpi_table_csrt { - struct acpi_table_header header; -}; - -struct acpi_table_desc { - acpi_physical_address address; - struct acpi_table_header *pointer; - u32 length; - union acpi_name_union signature; - acpi_owner_id owner_id; - u8 flags; - u16 validation_count; -}; - -struct acpi_table_dmar { - struct acpi_table_header header; - u8 width; - u8 flags; - u8 reserved[10]; -}; - -struct acpi_table_ecdt { - struct acpi_table_header header; - struct acpi_generic_address control; - struct acpi_generic_address data; - u32 uid; - u8 gpe; - u8 id[0]; -} __attribute__((packed)); - -struct acpi_table_erst { - struct acpi_table_header header; - u32 header_length; - u32 reserved; - u32 entries; -}; - -struct acpi_table_facs { - char signature[4]; - u32 length; - u32 hardware_signature; - u32 firmware_waking_vector; - u32 global_lock; - u32 flags; - u64 xfirmware_waking_vector; - u8 version; - u8 reserved[3]; - u32 ospm_flags; - u8 reserved1[24]; -}; - -struct acpi_table_fadt { - struct acpi_table_header header; - u32 facs; - u32 dsdt; - u8 model; - u8 preferred_profile; - u16 sci_interrupt; - u32 smi_command; - u8 acpi_enable; - u8 acpi_disable; - u8 s4_bios_request; - u8 pstate_control; - u32 pm1a_event_block; - u32 pm1b_event_block; - u32 pm1a_control_block; - u32 pm1b_control_block; - u32 pm2_control_block; - u32 pm_timer_block; - u32 gpe0_block; - u32 gpe1_block; - u8 pm1_event_length; - u8 pm1_control_length; - u8 pm2_control_length; - u8 pm_timer_length; - u8 gpe0_block_length; - u8 gpe1_block_length; - u8 gpe1_base; - u8 cst_control; - u16 c2_latency; - u16 c3_latency; - u16 flush_size; - u16 flush_stride; - u8 duty_offset; - u8 duty_width; - u8 day_alarm; - u8 month_alarm; - u8 century; - u16 boot_flags; - u8 reserved; - u32 flags; - struct acpi_generic_address reset_register; - u8 reset_value; - u16 arm_boot_flags; - u8 minor_revision; - u64 Xfacs; - u64 Xdsdt; - struct acpi_generic_address xpm1a_event_block; - struct acpi_generic_address xpm1b_event_block; - struct acpi_generic_address xpm1a_control_block; - struct acpi_generic_address xpm1b_control_block; - struct acpi_generic_address xpm2_control_block; - struct acpi_generic_address xpm_timer_block; - struct acpi_generic_address xgpe0_block; - struct acpi_generic_address xgpe1_block; - struct acpi_generic_address sleep_control; - struct acpi_generic_address sleep_status; - u64 hypervisor_id; -} __attribute__((packed)); - -struct acpi_table_hest { - struct acpi_table_header header; - u32 error_source_count; -}; - -struct acpi_table_hpet { - struct acpi_table_header header; - u32 id; - struct acpi_generic_address address; - u8 sequence; - u16 minimum_tick; - u8 flags; -} __attribute__((packed)); - -struct acpi_table_list { - struct acpi_table_desc *tables; - u32 current_table_count; - u32 max_table_count; - u8 flags; -}; - -struct acpi_table_lpit { - struct acpi_table_header header; -}; - -struct acpi_table_madt { - struct acpi_table_header header; - u32 address; - u32 flags; -}; - -struct acpi_table_mcfg { - struct acpi_table_header header; - u8 reserved[8]; -}; - -struct acpi_table_mrrm { - struct acpi_table_header header; - u8 max_mem_region; - u8 flags; - u8 reserved[26]; - u8 memory_range_entry[0]; -}; - -struct acpi_table_nhlt { - struct acpi_table_header header; - u8 endpoints_count; -} __attribute__((packed)); - -struct acpi_table_pcct { - struct acpi_table_header header; - u32 flags; - u64 reserved; -}; - -struct acpi_table_rsdp { - char signature[8]; - u8 checksum; - char oem_id[6]; - u8 revision; - u32 rsdt_physical_address; - u32 length; - u64 xsdt_physical_address; - u8 extended_checksum; - u8 reserved[3]; -} __attribute__((packed)); - -struct acpi_table_slit { - struct acpi_table_header header; - u64 locality_count; - u8 entry[0]; -} __attribute__((packed)); - -struct acpi_table_spcr { - struct acpi_table_header header; - u8 interface_type; - u8 reserved[3]; - struct acpi_generic_address serial_port; - u8 interrupt_type; - u8 pc_interrupt; - u32 interrupt; - u8 baud_rate; - u8 parity; - u8 stop_bits; - u8 flow_control; - u8 terminal_type; - u8 language; - u16 pci_device_id; - u16 pci_vendor_id; - u8 pci_bus; - u8 pci_device; - u8 pci_function; - u32 pci_flags; - u8 pci_segment; - u32 uart_clk_freq; - u32 precise_baudrate; - u16 name_space_string_length; - u16 name_space_string_offset; - char name_space_string[0]; -} __attribute__((packed)); - -struct acpi_table_srat { - struct acpi_table_header header; - u32 table_revision; - u64 reserved; -}; - -struct acpi_table_stao { - struct acpi_table_header header; - u8 ignore_uart; -} __attribute__((packed)); - -struct acpi_table_tpm2 { - struct acpi_table_header header; - u16 platform_class; - u16 reserved; - u64 control_address; - u32 start_method; -} __attribute__((packed)); - -struct acpi_table_viot { - struct acpi_table_header header; - u16 node_count; - u16 node_offset; - u8 reserved[8]; -}; - -struct acpi_table_wdat { - struct acpi_table_header header; - u32 header_length; - u16 pci_segment; - u8 pci_bus; - u8 pci_device; - u8 pci_function; - u8 reserved[3]; - u32 timer_period; - u32 max_count; - u32 min_count; - u8 flags; - u8 reserved2[3]; - u32 entries; -}; - -struct client_hdr { - u32 log_max_len; - u64 log_start_addr; -} __attribute__((packed)); - -struct server_hdr { - u16 reserved; - u64 log_max_len; - u64 log_start_addr; -} __attribute__((packed)); - -struct acpi_tcpa { - struct acpi_table_header hdr; - u16 platform_class; - union { - struct client_hdr client; - struct server_hdr server; - }; -}; - -struct acpi_thermal_trip { - long unsigned int temp_dk; - struct acpi_handle_list devices; -}; - -struct acpi_thermal_passive { - struct acpi_thermal_trip trip; - long unsigned int tc1; - long unsigned int tc2; - long unsigned int delay; -}; - -struct acpi_thermal_active { - struct acpi_thermal_trip trip; -}; - -struct acpi_thermal_trips { - struct acpi_thermal_passive passive; - struct acpi_thermal_active active[10]; -}; - -struct thermal_zone_device; - -struct acpi_thermal { - struct acpi_device *device; - acpi_bus_id name; - long unsigned int temp_dk; - long unsigned int last_temp_dk; - long unsigned int polling_frequency; - volatile u8 zombie; - struct acpi_thermal_trips trips; - struct thermal_zone_device *thermal_zone; - int kelvin_offset; - struct work_struct thermal_check_work; - struct mutex thermal_check_lock; - refcount_t thermal_check_count; -}; - -struct acpi_tpm2_phy { - u8 start_method_specific[12]; - u32 log_area_minimum_length; - u64 log_area_start_address; -}; - -struct acpi_vendor_uuid { - u8 subtype; - u8 data[16]; -}; - -struct acpi_vendor_walk_info { - struct acpi_vendor_uuid *uuid; - struct acpi_buffer *buffer; - acpi_status status; -}; - -struct acpi_viot_header { - u8 type; - u8 reserved; - u16 length; -}; - -struct acpi_viot_mmio { - struct acpi_viot_header header; - u32 endpoint; - u64 base_address; - u16 output_node; - u8 reserved[6]; -}; - -struct acpi_viot_pci_range { - struct acpi_viot_header header; - u32 endpoint_start; - u16 segment_start; - u16 segment_end; - u16 bdf_start; - u16 bdf_end; - u16 output_node; - u8 reserved[6]; -}; - -struct acpi_viot_virtio_iommu_mmio { - struct acpi_viot_header header; - u8 reserved[4]; - u64 base_address; -}; - -struct acpi_viot_virtio_iommu_pci { - struct acpi_viot_header header; - u16 segment; - u16 bdf; - u8 reserved[8]; -}; - -struct acpi_wakeup_handler { - struct list_head list_node; - bool (*wakeup)(void *); - void *context; -}; - -struct acpi_walk_info { - u32 debug_level; - u32 count; - acpi_owner_id owner_id; - u8 display_type; -}; - -typedef acpi_status (*acpi_parse_downwards)(struct acpi_walk_state *, union acpi_parse_object **); - -typedef acpi_status (*acpi_parse_upwards)(struct acpi_walk_state *); - -struct acpi_walk_state { - struct acpi_walk_state *next; - u8 descriptor_type; - u8 walk_type; - u16 opcode; - u8 next_op_info; - u8 num_operands; - u8 operand_index; - acpi_owner_id owner_id; - u8 last_predicate; - u8 current_result; - u8 return_used; - u8 scope_depth; - u8 pass_number; - u8 namespace_override; - u8 result_size; - u8 result_count; - u8 *aml; - u32 arg_types; - u32 method_breakpoint; - u32 user_breakpoint; - u32 parse_flags; - struct acpi_parse_state parser_state; - u32 prev_arg_types; - u32 arg_count; - u16 method_nesting_depth; - u8 method_is_nested; - struct acpi_namespace_node arguments[7]; - struct acpi_namespace_node local_variables[8]; - union acpi_operand_object *operands[9]; - union acpi_operand_object **params; - u8 *aml_last_while; - union acpi_operand_object **caller_return_desc; - union acpi_generic_state *control_state; - struct acpi_namespace_node *deferred_node; - union acpi_operand_object *implicit_return_obj; - struct acpi_namespace_node *method_call_node; - union acpi_parse_object *method_call_op; - union acpi_operand_object *method_desc; - struct acpi_namespace_node *method_node; - char *method_pathname; - union acpi_parse_object *op; - const struct acpi_opcode_info *op_info; - union acpi_parse_object *origin; - union acpi_operand_object *result_obj; - union acpi_generic_state *results; - union acpi_operand_object *return_desc; - union acpi_generic_state *scope_info; - union acpi_parse_object *prev_op; - union acpi_parse_object *next_op; - struct acpi_thread_state *thread; - acpi_parse_downwards descending_callback; - acpi_parse_upwards ascending_callback; -}; - -struct acpi_wdat_entry { - u8 action; - u8 instruction; - u16 reserved; - struct acpi_generic_address register_region; - u32 value; - u32 mask; -}; - -struct acpi_whea_header { - u8 action; - u8 instruction; - u8 flags; - u8 reserved; - struct acpi_generic_address register_region; - u64 value; - u64 mask; -}; - -struct acpihid_map_entry { - struct list_head list; - u8 uid[256]; - u8 hid[9]; - u32 devid; - u32 root_devid; - bool cmd_line; - struct iommu_group *group; -}; - -struct hotplug_slot; - -struct acpiphp_attention_info { - int (*set_attn)(struct hotplug_slot *, u8); - int (*get_attn)(struct hotplug_slot *, u8 *); - struct module *owner; -}; - -struct acpiphp_context; - -struct acpiphp_bridge { - struct list_head list; - struct list_head slots; - struct kref ref; - struct acpiphp_context *context; - int nr_slots; - struct pci_bus *pci_bus; - struct pci_dev *pci_dev; - bool is_going_away; -}; - -struct acpiphp_slot; - -struct acpiphp_func { - struct acpiphp_bridge *parent; - struct acpiphp_slot *slot; - struct list_head sibling; - u8 function; - u32 flags; -}; - -struct acpiphp_context { - struct acpi_hotplug_context hp; - struct acpiphp_func func; - struct acpiphp_bridge *bridge; - unsigned int refcount; -}; - -struct acpiphp_root_context { - struct acpi_hotplug_context hp; - struct acpiphp_bridge *root_bridge; -}; - -struct slot; - -struct acpiphp_slot { - struct list_head node; - struct pci_bus *bus; - struct list_head funcs; - struct slot *slot; - u8 device; - u32 flags; -}; - -struct pnp_dev; - -struct acpipnp_parse_option_s { - struct pnp_dev *dev; - unsigned int option_flags; -}; - -struct action_cache { - long unsigned int allow_native[8]; - long unsigned int allow_compat[8]; -}; - -struct hist_trigger_data; - -struct tracing_map_elt; - -struct trace_buffer; - -struct ring_buffer_event; - -struct action_data; - -typedef void (*action_fn_t)(struct hist_trigger_data *, struct tracing_map_elt *, struct trace_buffer *, void *, struct ring_buffer_event *, void *, struct action_data *, u64 *); - -typedef bool (*check_track_val_fn_t)(u64, u64); - -struct synth_event; - -struct hist_field; - -struct action_data { - enum handler_id handler; - enum action_id action; - char *action_name; - action_fn_t fn; - unsigned int n_params; - char *params[64]; - unsigned int var_ref_idx[64]; - struct synth_event *synth_event; - bool use_trace_keyword; - char *synth_event_name; - union { - struct { - char *event; - char *event_system; - } match_data; - struct { - char *var_str; - struct hist_field *var_ref; - struct hist_field *track_var; - check_track_val_fn_t check_val; - action_fn_t save_data; - } track_data; - }; -}; - -struct action_devres { - void *data; - void (*action)(void *); -}; - -struct action_gate_entry { - u8 gate_state; - u32 interval; - s32 ipv; - s32 maxoctets; -}; - -struct addr_marker { - long unsigned int start_address; - const char *name; - long unsigned int max_lines; -}; - -struct rb_root_cached { - struct rb_root rb_root; - struct rb_node *rb_leftmost; -}; - -struct address_space_operations; - -struct address_space { - struct inode *host; - struct xarray i_pages; - struct rw_semaphore invalidate_lock; - gfp_t gfp_mask; - atomic_t i_mmap_writable; - struct rb_root_cached i_mmap; - long unsigned int nrpages; - long unsigned int writeback_index; - const struct address_space_operations *a_ops; - long unsigned int flags; - errseq_t wb_err; - spinlock_t i_private_lock; - struct list_head i_private_list; - struct rw_semaphore i_mmap_rwsem; - void *i_private_data; -}; - -struct writeback_control; - -struct readahead_control; - -struct kiocb; - -struct iov_iter; - -struct swap_info_struct; - -struct address_space_operations { - int (*read_folio)(struct file *, struct folio *); - int (*writepages)(struct address_space *, struct writeback_control *); - bool (*dirty_folio)(struct address_space *, struct folio *); - void (*readahead)(struct readahead_control *); - int (*write_begin)(const struct kiocb *, struct address_space *, loff_t, unsigned int, struct folio **, void **); - int (*write_end)(const struct kiocb *, struct address_space *, loff_t, unsigned int, unsigned int, struct folio *, void *); - sector_t (*bmap)(struct address_space *, sector_t); - void (*invalidate_folio)(struct folio *, size_t, size_t); - bool (*release_folio)(struct folio *, gfp_t); - void (*free_folio)(struct folio *); - ssize_t (*direct_IO)(struct kiocb *, struct iov_iter *); - int (*migrate_folio)(struct address_space *, struct folio *, struct folio *, enum migrate_mode); - int (*launder_folio)(struct folio *); - bool (*is_partially_uptodate)(struct folio *, size_t, size_t); - void (*is_dirty_writeback)(struct folio *, bool *, bool *); - int (*error_remove_folio)(struct address_space *, struct folio *); - int (*swap_activate)(struct swap_info_struct *, struct file *, sector_t *); - void (*swap_deactivate)(struct file *); - int (*swap_rw)(struct kiocb *, struct iov_iter *); -}; - -struct audit_ntp_val { - long long int oldval; - long long int newval; -}; - -struct audit_ntp_data { - struct audit_ntp_val vals[6]; -}; - -struct timespec64 { - time64_t tv_sec; - long int tv_nsec; -}; - -struct adjtimex_result { - struct audit_ntp_data ad; - struct timespec64 delta; - bool clock_set; -}; - -struct adjust_trip_data { - struct acpi_thermal *tz; - u32 event; -}; - -struct adp5520_backlight_platform_data { - u8 fade_in; - u8 fade_out; - u8 fade_led_law; - u8 en_ambl_sens; - u8 abml_filt; - u8 l1_daylight_max; - u8 l1_daylight_dim; - u8 l2_office_max; - u8 l2_office_dim; - u8 l3_dark_max; - u8 l3_dark_dim; - u8 l2_trip; - u8 l2_hyst; - u8 l3_trip; - u8 l3_hyst; -}; - -struct blocking_notifier_head { - struct rw_semaphore rwsem; - struct notifier_block *head; -}; - -struct adp5520_chip { - struct i2c_client *client; - struct device *dev; - struct mutex lock; - struct blocking_notifier_head notifier_list; - int irq; - long unsigned int id; - uint8_t mode; -}; - -struct adp5520_gpio_platform_data { - unsigned int gpio_start; - u8 gpio_en_mask; - u8 gpio_pullup_mask; -}; - -struct adp5520_keys_platform_data { - int rows_en_mask; - int cols_en_mask; - const short unsigned int *keymap; - short unsigned int keymapsize; - unsigned int repeat: 1; -}; - -struct led_info; - -struct adp5520_leds_platform_data { - int num_leds; - struct led_info *leds; - u8 fade_in; - u8 fade_out; - u8 led_on_time; -}; - -struct adp5520_platform_data { - struct adp5520_keys_platform_data *keys; - struct adp5520_gpio_platform_data *gpio; - struct adp5520_leds_platform_data *leds; - struct adp5520_backlight_platform_data *backlight; -}; - -struct advisor_ctx { - ktime_t start_scan; - long unsigned int scan_time; - long unsigned int change; - long long unsigned int cpu_time; -}; - -struct crypto_aead; - -struct aead_request; - -struct aead_alg { - int (*setkey)(struct crypto_aead *, const u8 *, unsigned int); - int (*setauthsize)(struct crypto_aead *, unsigned int); - int (*encrypt)(struct aead_request *); - int (*decrypt)(struct aead_request *); - int (*init)(struct crypto_aead *); - void (*exit)(struct crypto_aead *); - unsigned int ivsize; - unsigned int maxauthsize; - unsigned int chunksize; - struct crypto_alg base; -}; - -struct aead_geniv_ctx { - spinlock_t lock; - struct crypto_aead *child; - u8 salt[0]; -}; - -struct crypto_template; - -struct crypto_spawn; - -struct crypto_instance { - struct crypto_alg alg; - struct crypto_template *tmpl; - union { - struct hlist_node list; - struct crypto_spawn *spawns; - }; - void *__ctx[0]; -}; - -struct aead_instance { - void (*free)(struct aead_instance *); - union { - struct { - char head[64]; - struct crypto_instance base; - } s; - struct aead_alg alg; - }; -}; - -struct aead_request { - struct crypto_async_request base; - unsigned int assoclen; - unsigned int cryptlen; - u8 *iv; - struct scatterlist *src; - struct scatterlist *dst; - void *__ctx[0]; -}; - -struct pcie_tlp_log { - union { - u32 dw[14]; - struct { - u32 _do_not_use[4]; - u32 prefix[4]; - }; - }; - u8 header_len; - bool flit; -}; - -struct aer_capability_regs { - u32 header; - u32 uncor_status; - u32 uncor_mask; - u32 uncor_severity; - u32 cor_status; - u32 cor_mask; - u32 cap_control; - struct pcie_tlp_log header_log; - u32 root_command; - u32 root_status; - u16 cor_err_source; - u16 uncor_err_source; -}; - -struct aer_err_info { - struct pci_dev *dev[5]; - int ratelimit_print[5]; - int error_dev_num; - const char *level; - unsigned int id: 16; - unsigned int severity: 2; - unsigned int root_ratelimit_print: 1; - unsigned int __pad1: 4; - unsigned int multi_error_valid: 1; - unsigned int first_error: 5; - unsigned int __pad2: 2; - unsigned int tlp_header_valid: 1; - unsigned int status; - unsigned int mask; - struct pcie_tlp_log tlp; -}; - -struct aer_err_source { - u32 status; - u32 id; -}; - -struct ratelimit_state { - raw_spinlock_t lock; - int interval; - int burst; - atomic_t rs_n_left; - atomic_t missed; - unsigned int flags; - long unsigned int begin; -}; - -struct aer_info { - u64 dev_cor_errs[16]; - u64 dev_fatal_errs[32]; - u64 dev_nonfatal_errs[32]; - u64 dev_total_cor_errs; - u64 dev_total_fatal_errs; - u64 dev_total_nonfatal_errs; - u64 rootport_total_cor_errs; - u64 rootport_total_fatal_errs; - u64 rootport_total_nonfatal_errs; - struct ratelimit_state correctable_ratelimit; - struct ratelimit_state nonfatal_ratelimit; -}; - -struct aer_recover_entry { - u8 bus; - u8 devfn; - u16 domain; - int severity; - struct aer_capability_regs *regs; -}; - -struct aer_rpc { - struct pci_dev *rpd; - struct { - union { - struct __kfifo kfifo; - struct aer_err_source *type; - const struct aer_err_source *const_type; - char (*rectype)[0]; - struct aer_err_source *ptr; - const struct aer_err_source *ptr_const; - }; - struct aer_err_source buf[128]; - } aer_fifo; -}; - -struct crypto_aes_ctx { - u32 key_enc[60]; - u32 key_dec[60]; - u32 key_length; -}; - -struct aesgcm_ctx { - be128 ghash_key; - struct crypto_aes_ctx aes_ctx; - unsigned int authsize; -}; - -struct affinity_context { - const struct cpumask *new_mask; - struct cpumask *user_mask; - unsigned int flags; -}; - -struct aggregate_control { - long int *aggregate; - long int *local; - long int *pending; - long int *ppending; - long int *cstat; - long int *cstat_prev; - int size; -}; - -struct component_master_ops; - -struct component_match; - -struct aggregate_device { - struct list_head node; - bool bound; - const struct component_master_ops *ops; - struct device *parent; - struct component_match *match; -}; - -struct agp_3_5_dev { - struct list_head list; - u8 capndx; - u32 maxbw; - struct pci_dev *dev; -}; - -struct agp_version; - -struct agp_bridge_driver; - -struct vm_operations_struct; - -struct agp_bridge_data { - const struct agp_version *version; - const struct agp_bridge_driver *driver; - const struct vm_operations_struct *vm_ops; - void *previous_size; - void *current_size; - void *dev_private_data; - struct pci_dev *dev; - u32 *gatt_table; - u32 *gatt_table_real; - long unsigned int scratch_page; - struct page *scratch_page_page; - dma_addr_t scratch_page_dma; - long unsigned int gart_bus_addr; - long unsigned int gatt_bus_addr; - u32 mode; - long unsigned int *key_list; - atomic_t current_memory_agp; - atomic_t agp_in_use; - int max_memory_agp; - int aperture_size_idx; - int capndx; - int flags; - char major_version; - char minor_version; - struct list_head list; - u32 apbase_config; - struct list_head mapped_list; - spinlock_t mapped_lock; -}; - -struct gatt_mask; - -struct agp_memory; - -struct agp_bridge_driver { - struct module *owner; - const void *aperture_sizes; - int num_aperture_sizes; - enum aper_size_type size_type; - bool cant_use_aperture; - bool needs_scratch_page; - const struct gatt_mask *masks; - int (*fetch_size)(void); - int (*configure)(void); - void (*agp_enable)(struct agp_bridge_data *, u32); - void (*cleanup)(void); - void (*tlb_flush)(struct agp_memory *); - long unsigned int (*mask_memory)(struct agp_bridge_data *, dma_addr_t, int); - void (*cache_flush)(void); - int (*create_gatt_table)(struct agp_bridge_data *); - int (*free_gatt_table)(struct agp_bridge_data *); - int (*insert_memory)(struct agp_memory *, off_t, int); - int (*remove_memory)(struct agp_memory *, off_t, int); - struct agp_memory * (*alloc_by_type)(size_t, int); - void (*free_by_type)(struct agp_memory *); - struct page * (*agp_alloc_page)(struct agp_bridge_data *); - int (*agp_alloc_pages)(struct agp_bridge_data *, struct agp_memory *, size_t); - void (*agp_destroy_page)(struct page *, int); - void (*agp_destroy_pages)(struct agp_memory *); - int (*agp_type_to_mask_type)(struct agp_bridge_data *, int); -}; - -struct agp_device_ids { - short unsigned int device_id; - enum chipset_type chipset; - const char *chipset_name; - int (*chipset_setup)(struct pci_dev *); -}; - -struct agp_version { - u16 major; - u16 minor; -}; - -struct agp_kern_info { - struct agp_version version; - struct pci_dev *device; - enum chipset_type chipset; - long unsigned int mode; - long unsigned int aper_base; - size_t aper_size; - int max_memory; - int current_memory; - bool cant_use_aperture; - long unsigned int page_mask; - const struct vm_operations_struct *vm_ops; -}; - -struct agp_memory { - struct agp_memory *next; - struct agp_memory *prev; - struct agp_bridge_data *bridge; - struct page **pages; - size_t page_count; - int key; - int num_scratch_pages; - off_t pg_start; - u32 type; - u32 physical; - bool is_bound; - bool is_flushed; - struct list_head mapped_list; - struct scatterlist *sg_list; - int num_sg; -}; - -struct hash_alg_common { - unsigned int digestsize; - unsigned int statesize; - struct crypto_alg base; -}; - -struct ahash_request; - -struct crypto_ahash; - -struct ahash_alg { - int (*init)(struct ahash_request *); - int (*update)(struct ahash_request *); - int (*final)(struct ahash_request *); - int (*finup)(struct ahash_request *); - int (*digest)(struct ahash_request *); - int (*export)(struct ahash_request *, void *); - int (*import)(struct ahash_request *, const void *); - int (*export_core)(struct ahash_request *, void *); - int (*import_core)(struct ahash_request *, const void *); - int (*setkey)(struct crypto_ahash *, const u8 *, unsigned int); - int (*init_tfm)(struct crypto_ahash *); - void (*exit_tfm)(struct crypto_ahash *); - int (*clone_tfm)(struct crypto_ahash *, struct crypto_ahash *); - struct hash_alg_common halg; -}; - -struct ahash_hmac_ctx { - struct crypto_ahash *hash; - u8 pads[0]; -}; - -struct ahash_instance { - void (*free)(struct ahash_instance *); - union { - struct { - char head[112]; - struct crypto_instance base; - } s; - struct ahash_alg alg; - }; -}; - -struct ahash_request { - struct crypto_async_request base; - unsigned int nbytes; - union { - struct scatterlist *src; - const u8 *svirt; - }; - u8 *result; - struct scatterlist sg_head[2]; - crypto_completion_t saved_complete; - void *saved_data; - void *__ctx[0]; -}; - -struct wait_page_queue; - -struct kiocb { - struct file *ki_filp; - loff_t ki_pos; - void (*ki_complete)(struct kiocb *, long int); - void *private; - int ki_flags; - u16 ki_ioprio; - u8 ki_write_stream; - union { - struct wait_page_queue *ki_waitq; - ssize_t (*dio_complete)(void *); - }; -}; - -struct fsync_iocb { - struct file *file; - struct work_struct work; - bool datasync; - struct cred *creds; -}; - -struct wait_queue_entry; - -typedef int (*wait_queue_func_t)(struct wait_queue_entry *, unsigned int, int, void *); - -struct wait_queue_entry { - unsigned int flags; - void *private; - wait_queue_func_t func; - struct list_head entry; -}; - -struct poll_iocb { - struct file *file; - struct wait_queue_head *head; - __poll_t events; - bool cancelled; - bool work_scheduled; - bool work_need_resched; - struct wait_queue_entry wait; - struct work_struct work; -}; - -typedef int kiocb_cancel_fn(struct kiocb *); - -struct io_event { - __u64 data; - __u64 obj; - __s64 res; - __s64 res2; -}; - -struct kioctx; - -struct eventfd_ctx; - -struct aio_kiocb { - union { - struct file *ki_filp; - struct kiocb rw; - struct fsync_iocb fsync; - struct poll_iocb poll; - }; - struct kioctx *ki_ctx; - kiocb_cancel_fn *ki_cancel; - struct io_event ki_res; - struct list_head ki_list; - refcount_t ki_refcnt; - struct eventfd_ctx *ki_eventfd; -}; - -struct poll_table_struct; - -typedef void (*poll_queue_proc)(struct file *, wait_queue_head_t *, struct poll_table_struct *); - -struct poll_table_struct { - poll_queue_proc _qproc; - __poll_t _key; -}; - -struct aio_poll_table { - struct poll_table_struct pt; - struct aio_kiocb *iocb; - bool queued; - int error; -}; - -struct aio_ring { - unsigned int id; - unsigned int nr; - unsigned int head; - unsigned int tail; - unsigned int magic; - unsigned int compat_features; - unsigned int incompat_features; - unsigned int header_length; - struct io_event io_events[0]; -}; - -struct aio_waiter { - struct wait_queue_entry w; - size_t min_nr; -}; - -struct akcipher_request; - -struct crypto_akcipher; - -struct akcipher_alg { - int (*encrypt)(struct akcipher_request *); - int (*decrypt)(struct akcipher_request *); - int (*set_pub_key)(struct crypto_akcipher *, const void *, unsigned int); - int (*set_priv_key)(struct crypto_akcipher *, const void *, unsigned int); - unsigned int (*max_size)(struct crypto_akcipher *); - int (*init)(struct crypto_akcipher *); - void (*exit)(struct crypto_akcipher *); - struct crypto_alg base; -}; - -struct akcipher_instance { - void (*free)(struct akcipher_instance *); - union { - struct { - char head[56]; - struct crypto_instance base; - } s; - struct akcipher_alg alg; - }; -}; - -struct akcipher_request { - struct crypto_async_request base; - struct scatterlist *src; - struct scatterlist *dst; - unsigned int src_len; - unsigned int dst_len; - void *__ctx[0]; -}; - -struct alarm { - struct timerqueue_node node; - struct hrtimer timer; - void (*function)(struct alarm *, ktime_t); - enum alarmtimer_type type; - int state; - void *data; -}; - -struct timerqueue_head { - struct rb_root_cached rb_root; -}; - -struct alarm_base { - spinlock_t lock; - struct timerqueue_head timerqueue; - ktime_t (*get_ktime)(void); - void (*get_timespec)(struct timespec64 *); - clockid_t base_clockid; -}; - -struct source_location { - const char *file_name; - union { - long unsigned int reported; - struct { - u32 line; - u32 column; - }; - }; -}; - -struct type_descriptor; - -struct alignment_assumption_data { - struct source_location location; - struct source_location assumption_location; - struct type_descriptor *type; -}; - -struct zonelist; - -struct zoneref; - -struct alloc_context { - struct zonelist *zonelist; - nodemask_t *nodemask; - struct zoneref *preferred_zoneref; - int migratetype; - enum zone_type highest_zoneidx; - bool spread_dirty_pages; -}; - -struct codetag { - unsigned int flags; - unsigned int lineno; - const char *modname; - const char *function; - const char *filename; -}; - -struct alloc_tag_counters; - -struct alloc_tag { - struct codetag ct; - struct alloc_tag_counters *counters; -}; - -struct alloc_tag_counters { - u64 bytes; - u64 calls; -}; - -struct alt_instr { - s32 instr_offset; - s32 repl_offset; - union { - struct { - u32 cpuid: 16; - u32 flags: 16; - }; - u32 ft_flags; - }; - u8 instrlen; - u8 replacementlen; -} __attribute__((packed)); - -struct amd_aperf_mperf { - u64 aperf; - u64 mperf; - u64 tsc; -}; - -struct amd_chipset_type { - enum amd_chipset_gen gen; - u8 rev; -}; - -struct amd_chipset_info { - struct pci_dev *nb_dev; - struct pci_dev *smbus_dev; - int nb_type; - struct amd_chipset_type sb_type; - int isoc_reqs; - int probe_count; - bool need_pll_quirk; -}; - -union perf_cached { - struct { - u8 highest_perf; - u8 nominal_perf; - u8 lowest_nonlinear_perf; - u8 lowest_perf; - u8 min_limit_perf; - u8 max_limit_perf; - u8 bios_min_perf; - }; - u64 val; -}; - -struct amd_cpudata { - int cpu; - struct freq_qos_request req[2]; - u64 cppc_req_cached; - union perf_cached perf; - u8 prefcore_ranking; - u32 min_limit_freq; - u32 max_limit_freq; - u32 nominal_freq; - u32 lowest_nonlinear_freq; - struct amd_aperf_mperf cur; - struct amd_aperf_mperf prev; - u64 freq; - bool boost_supported; - bool hw_prefcore; - u32 policy; - bool suspended; - u8 epp_default; -}; - -union amd_debug_extn_cfg { - __u64 val; - struct { - __u64 rsvd0: 2; - __u64 brsmen: 1; - __u64 rsvd4_3: 2; - __u64 vb: 1; - __u64 rsvd2: 10; - __u64 msroff: 4; - __u64 rsvd3: 4; - __u64 pmc: 3; - __u64 rsvd4: 37; - }; -}; - -struct amd_function { - const char *name; - const char * const groups[4]; - unsigned int ngroups; - int index; -}; - -struct irq_fwspec; - -struct irq_data; - -struct irq_domain_ops { - int (*match)(struct irq_domain *, struct device_node *, enum irq_domain_bus_token); - int (*select)(struct irq_domain *, struct irq_fwspec *, enum irq_domain_bus_token); - int (*map)(struct irq_domain *, unsigned int, irq_hw_number_t); - void (*unmap)(struct irq_domain *, unsigned int); - int (*xlate)(struct irq_domain *, struct device_node *, const u32 *, unsigned int, long unsigned int *, unsigned int *); - int (*alloc)(struct irq_domain *, unsigned int, unsigned int, void *); - void (*free)(struct irq_domain *, unsigned int, unsigned int); - int (*activate)(struct irq_domain *, struct irq_data *, bool); - void (*deactivate)(struct irq_domain *, struct irq_data *); - int (*translate)(struct irq_domain *, struct irq_fwspec *, long unsigned int *, unsigned int *); -}; - -typedef void (*irq_flow_handler_t)(struct irq_desc *); - -struct irq_chip; - -union gpio_irq_fwspec; - -struct gpio_irq_chip { - struct irq_chip *chip; - struct irq_domain *domain; - struct fwnode_handle *fwnode; - struct irq_domain *parent_domain; - int (*child_to_parent_hwirq)(struct gpio_chip *, unsigned int, unsigned int, unsigned int *, unsigned int *); - int (*populate_parent_alloc_arg)(struct gpio_chip *, union gpio_irq_fwspec *, unsigned int, unsigned int); - unsigned int (*child_offset_to_irq)(struct gpio_chip *, unsigned int); - struct irq_domain_ops child_irq_domain_ops; - irq_flow_handler_t handler; - unsigned int default_type; - struct lock_class_key *lock_key; - struct lock_class_key *request_key; - irq_flow_handler_t parent_handler; - union { - void *parent_handler_data; - void **parent_handler_data_array; - }; - unsigned int num_parents; - unsigned int *parents; - unsigned int *map; - bool threaded; - bool per_parent_data; - bool initialized; - bool domain_is_allocated_externally; - int (*init_hw)(struct gpio_chip *); - void (*init_valid_mask)(struct gpio_chip *, long unsigned int *, unsigned int); - long unsigned int *valid_mask; - unsigned int first; - void (*irq_enable)(struct irq_data *); - void (*irq_disable)(struct irq_data *); - void (*irq_unmask)(struct irq_data *); - void (*irq_mask)(struct irq_data *); -}; - -struct gpio_device; - -struct seq_file; - -struct gpio_chip { - const char *label; - struct gpio_device *gpiodev; - struct device *parent; - struct fwnode_handle *fwnode; - struct module *owner; - int (*request)(struct gpio_chip *, unsigned int); - void (*free)(struct gpio_chip *, unsigned int); - int (*get_direction)(struct gpio_chip *, unsigned int); - int (*direction_input)(struct gpio_chip *, unsigned int); - int (*direction_output)(struct gpio_chip *, unsigned int, int); - int (*get)(struct gpio_chip *, unsigned int); - int (*get_multiple)(struct gpio_chip *, long unsigned int *, long unsigned int *); - int (*set)(struct gpio_chip *, unsigned int, int); - int (*set_multiple)(struct gpio_chip *, long unsigned int *, long unsigned int *); - int (*set_config)(struct gpio_chip *, unsigned int, long unsigned int); - int (*to_irq)(struct gpio_chip *, unsigned int); - void (*dbg_show)(struct seq_file *, struct gpio_chip *); - int (*init_valid_mask)(struct gpio_chip *, long unsigned int *, unsigned int); - int (*add_pin_ranges)(struct gpio_chip *); - int (*en_hw_timestamp)(struct gpio_chip *, u32, long unsigned int); - int (*dis_hw_timestamp)(struct gpio_chip *, u32, long unsigned int); - int base; - u16 ngpio; - u16 offset; - const char * const *names; - bool can_sleep; - long unsigned int (*read_reg)(void *); - void (*write_reg)(void *, long unsigned int); - bool be_bits; - void *reg_dat; - void *reg_set; - void *reg_clr; - void *reg_dir_out; - void *reg_dir_in; - bool bgpio_dir_unreadable; - bool bgpio_pinctrl; - int bgpio_bits; - raw_spinlock_t bgpio_lock; - long unsigned int bgpio_data; - long unsigned int bgpio_dir; - struct gpio_irq_chip irq; -}; - -struct pingroup; - -struct pinctrl_dev; - -struct platform_device; - -struct amd_gpio { - raw_spinlock_t lock; - void *base; - void *iomux_base; - const struct pingroup *groups; - u32 ngroups; - struct pinctrl_dev *pctrl; - struct gpio_chip gc; - unsigned int hwbank_num; - struct resource *res; - struct platform_device *pdev; - u32 *saved_regs; - int irq; -}; - -struct amd_hfi_classes { - u32 perf; - u32 eff; -}; - -struct amd_hfi_cpuinfo { - int cpu; - u32 apic_id; - cpumask_var_t cpus; - s16 class_index; - u8 nr_class; - int *ipcc_scores; - struct amd_hfi_classes *amd_hfi_classes; -}; - -struct pcc_mbox_chan; - -struct amd_shmem_info; - -struct amd_hfi_data { - const char *name; - struct device *dev; - struct pcc_mbox_chan *pcc_chan; - void *pcc_comm_addr; - struct acpi_subtable_header *pcct_entry; - struct amd_shmem_info *shmem; - struct dentry *dbgfs_dir; -}; - -struct amd_hostbridge { - u32 bus; - u32 slot; - u32 device; -}; - -struct iommu_flush_ops; - -struct io_pgtable_cfg { - long unsigned int quirks; - long unsigned int pgsize_bitmap; - unsigned int ias; - unsigned int oas; - bool coherent_walk; - const struct iommu_flush_ops *tlb; - struct device *iommu_dev; - void * (*alloc)(void *, size_t, gfp_t); - void (*free)(void *, void *, size_t); - union { - struct { - u64 ttbr; - struct { - u32 ips: 3; - u32 tg: 2; - u32 sh: 2; - u32 orgn: 2; - u32 irgn: 2; - u32 tsz: 6; - } tcr; - u64 mair; - } arm_lpae_s1_cfg; - struct { - u64 vttbr; - struct { - u32 ps: 3; - u32 tg: 2; - u32 sh: 2; - u32 orgn: 2; - u32 irgn: 2; - u32 sl: 2; - u32 tsz: 6; - } vtcr; - } arm_lpae_s2_cfg; - struct { - u32 ttbr; - u32 tcr; - u32 nmrr; - u32 prrr; - } arm_v7s_cfg; - struct { - u64 transtab; - u64 memattr; - } arm_mali_lpae_cfg; - struct { - u64 ttbr[4]; - u32 n_ttbrs; - } apple_dart_cfg; - struct { - int nid; - } amd; - }; -}; - -struct iommu_iotlb_gather; - -struct iommu_dirty_bitmap; - -struct io_pgtable_ops { - int (*map_pages)(struct io_pgtable_ops *, long unsigned int, phys_addr_t, size_t, size_t, int, gfp_t, size_t *); - size_t (*unmap_pages)(struct io_pgtable_ops *, long unsigned int, size_t, size_t, struct iommu_iotlb_gather *); - phys_addr_t (*iova_to_phys)(struct io_pgtable_ops *, long unsigned int); - int (*pgtable_walk)(struct io_pgtable_ops *, long unsigned int, void *); - int (*read_and_clear_dirty)(struct io_pgtable_ops *, long unsigned int, size_t, long unsigned int, struct iommu_dirty_bitmap *); -}; - -struct io_pgtable { - enum io_pgtable_fmt fmt; - void *cookie; - struct io_pgtable_cfg cfg; - struct io_pgtable_ops ops; -}; - -struct amd_io_pgtable { - seqcount_t seqcount; - struct io_pgtable pgtbl; - int mode; - u64 *root; - u64 *pgd; -}; - -struct iommu_ops; - -struct iommu_device { - struct list_head list; - const struct iommu_ops *ops; - struct fwnode_handle *fwnode; - struct device *dev; - struct iommu_group *singleton_group; - u32 max_pasids; - bool ready; -}; - -struct amd_iommu_pci_seg; - -struct amd_irte_ops; - -struct iopf_queue; - -struct amd_iommu { - struct list_head list; - int index; - raw_spinlock_t lock; - struct pci_dev *dev; - struct pci_dev *root_pdev; - u64 mmio_phys; - u64 mmio_phys_end; - u8 *mmio_base; - u32 cap; - u8 acpi_flags; - u64 features; - u64 features2; - u16 devid; - u16 cap_ptr; - struct amd_iommu_pci_seg *pci_seg; - u64 exclusion_start; - u64 exclusion_length; - u8 *cmd_buf; - u32 cmd_buf_head; - u32 cmd_buf_tail; - u8 *evt_buf; - unsigned char evt_irq_name[16]; - u8 *ppr_log; - unsigned char ppr_irq_name[16]; - u8 *ga_log; - unsigned char ga_irq_name[16]; - u8 *ga_log_tail; - bool int_enabled; - bool need_sync; - bool irtcachedis_enabled; - struct iommu_device iommu; - u32 stored_addr_lo; - u32 stored_addr_hi; - u32 stored_l1[108]; - u32 stored_l2[131]; - u8 max_banks; - u8 max_counters; - struct irq_domain *ir_domain; - struct amd_irte_ops *irte_ops; - u32 flags; - volatile u64 *cmd_sem; - atomic64_t cmd_sem_val; - u64 cmd_sem_paddr; - struct iopf_queue *iopf_queue; - unsigned char iopfq_name[32]; -}; - -struct amd_iommu_event_desc { - struct device_attribute attr; - const char *event; -}; - -struct llist_head { - struct llist_node *first; -}; - -struct dev_table_entry; - -struct irq_remap_table; - -struct amd_iommu_pci_seg { - struct list_head list; - struct llist_head dev_data_list; - u16 id; - u16 last_bdf; - u32 dev_table_size; - struct dev_table_entry *dev_table; - struct amd_iommu **rlookup_table; - struct irq_remap_table **irq_lookup_table; - struct dev_table_entry *old_dev_tbl_cpy; - u16 *alias_table; - struct list_head unity_map; -}; - -struct amd_iommu_pi_data { - u64 vapic_addr; - u32 ga_tag; - u32 vector; - int cpu; - bool ga_log_intr; - bool is_guest_mode; - void *ir_data; -}; - -struct irq_2_irte { - u16 devid; - u16 index; -}; - -struct x86_msi_addr_lo { - union { - struct { - u32 reserved_0: 2; - u32 dest_mode_logical: 1; - u32 redirect_hint: 1; - u32 reserved_1: 1; - u32 virt_destid_8_14: 7; - u32 destid_0_7: 8; - u32 base_address: 12; - }; - struct { - u32 dmar_reserved_0: 2; - u32 dmar_index_15: 1; - u32 dmar_subhandle_valid: 1; - u32 dmar_format: 1; - u32 dmar_index_0_14: 15; - u32 dmar_base_address: 12; - }; - }; -}; - -typedef struct x86_msi_addr_lo arch_msi_msg_addr_lo_t; - -struct x86_msi_addr_hi { - u32 reserved: 8; - u32 destid_8_31: 24; -}; - -typedef struct x86_msi_addr_hi arch_msi_msg_addr_hi_t; - -struct x86_msi_data { - union { - struct { - u32 vector: 8; - u32 delivery_mode: 3; - u32 dest_mode_logical: 1; - u32 reserved: 2; - u32 active_low: 1; - u32 is_level: 1; - }; - u32 dmar_subhandle; - }; -}; - -typedef struct x86_msi_data arch_msi_msg_data_t; - -struct msi_msg { - union { - u32 address_lo; - arch_msi_msg_addr_lo_t arch_addr_lo; - }; - union { - u32 address_hi; - arch_msi_msg_addr_hi_t arch_addr_hi; - }; - union { - u32 data; - arch_msi_msg_data_t arch_data; - }; -}; - -struct irq_cfg; - -struct amd_ir_data { - struct amd_iommu *iommu; - struct irq_2_irte irq_2_irte; - struct msi_msg msi_entry; - void *entry; - struct irq_cfg *cfg; - int ga_vector; - u64 ga_root_ptr; - u32 ga_tag; -}; - -struct amd_irte_ops { - void (*prepare)(void *, u32, bool, u8, u32, int); - void (*activate)(struct amd_iommu *, void *, u16, u16); - void (*deactivate)(struct amd_iommu *, void *, u16, u16); - void (*set_affinity)(struct amd_iommu *, void *, u16, u16, u8, u32); - void * (*get)(struct irq_remap_table *, int); - void (*set_allocated)(struct irq_remap_table *, int); - bool (*is_allocated)(struct irq_remap_table *, int); - void (*clear_allocated)(struct irq_remap_table *, int); -}; - -struct amd_l3_cache { - unsigned int indices; - u8 subcaches[4]; -}; - -struct amd_lps0_hid_device_data { - const bool check_off_by_one; -}; - -struct event_constraint { - union { - long unsigned int idxmsk[1]; - u64 idxmsk64; - }; - u64 code; - u64 cmask; - int weight; - int overlap; - int flags; - unsigned int size; -}; - -struct perf_event; - -struct amd_nb { - int nb_id; - int refcnt; - struct perf_event *owners[64]; - struct event_constraint event_constraints[64]; -}; - -struct amd_nb_bus_dev_range { - u8 bus; - u8 dev_base; - u8 dev_limit; -}; - -struct amd_northbridge { - struct pci_dev *misc; - struct pci_dev *link; - struct amd_l3_cache l3_cache; -}; - -struct amd_northbridge_info { - u16 num; - u64 flags; - struct amd_northbridge *nb; -}; - -struct amd_shmem_info { - struct acpi_pcct_ext_pcc_shared_memory header; - u32 version_number: 8; - u32 n_logical_processors: 8; - u32 n_capabilities: 8; - u32 table_update_context: 8; - u32 n_bitmaps: 8; - u32 reserved: 24; - u32 table_data[0]; -}; - -struct freq_band_range { - u64 start; - u64 end; -}; - -struct amd_wbrf_ranges_out { - u32 num_of_ranges; - struct freq_band_range band_list[11]; -} __attribute__((packed)); - -struct aml_resource_small_header { - u8 descriptor_type; -}; - -struct aml_resource_large_header { - u8 descriptor_type; - u16 resource_length; -} __attribute__((packed)); - -struct aml_resource_irq { - u8 descriptor_type; - u16 irq_mask; - u8 flags; -} __attribute__((packed)); - -struct aml_resource_dma { - u8 descriptor_type; - u8 dma_channel_mask; - u8 flags; -}; - -struct aml_resource_start_dependent { - u8 descriptor_type; - u8 flags; -}; - -struct aml_resource_end_dependent { - u8 descriptor_type; -}; - -struct aml_resource_io { - u8 descriptor_type; - u8 flags; - u16 minimum; - u16 maximum; - u8 alignment; - u8 address_length; -}; - -struct aml_resource_fixed_io { - u8 descriptor_type; - u16 address; - u8 address_length; -} __attribute__((packed)); - -struct aml_resource_fixed_dma { - u8 descriptor_type; - u16 request_lines; - u16 channels; - u8 width; -} __attribute__((packed)); - -struct aml_resource_vendor_small { - u8 descriptor_type; -}; - -struct aml_resource_end_tag { - u8 descriptor_type; - u8 checksum; -}; - -struct aml_resource_memory24 { - u8 descriptor_type; - u16 resource_length; - u8 flags; - u16 minimum; - u16 maximum; - u16 alignment; - u16 address_length; -} __attribute__((packed)); - -struct aml_resource_generic_register { - u8 descriptor_type; - u16 resource_length; - u8 address_space_id; - u8 bit_width; - u8 bit_offset; - u8 access_size; - u64 address; -} __attribute__((packed)); - -struct aml_resource_vendor_large { - u8 descriptor_type; - u16 resource_length; -} __attribute__((packed)); - -struct aml_resource_memory32 { - u8 descriptor_type; - u16 resource_length; - u8 flags; - u32 minimum; - u32 maximum; - u32 alignment; - u32 address_length; -} __attribute__((packed)); - -struct aml_resource_fixed_memory32 { - u8 descriptor_type; - u16 resource_length; - u8 flags; - u32 address; - u32 address_length; -} __attribute__((packed)); - -struct aml_resource_address16 { - u8 descriptor_type; - u16 resource_length; - u8 resource_type; - u8 flags; - u8 specific_flags; - u16 granularity; - u16 minimum; - u16 maximum; - u16 translation_offset; - u16 address_length; -} __attribute__((packed)); - -struct aml_resource_address32 { - u8 descriptor_type; - u16 resource_length; - u8 resource_type; - u8 flags; - u8 specific_flags; - u32 granularity; - u32 minimum; - u32 maximum; - u32 translation_offset; - u32 address_length; -} __attribute__((packed)); - -struct aml_resource_address64 { - u8 descriptor_type; - u16 resource_length; - u8 resource_type; - u8 flags; - u8 specific_flags; - u64 granularity; - u64 minimum; - u64 maximum; - u64 translation_offset; - u64 address_length; -} __attribute__((packed)); - -struct aml_resource_extended_address64 { - u8 descriptor_type; - u16 resource_length; - u8 resource_type; - u8 flags; - u8 specific_flags; - u8 revision_ID; - u8 reserved; - u64 granularity; - u64 minimum; - u64 maximum; - u64 translation_offset; - u64 address_length; - u64 type_specific; -} __attribute__((packed)); - -struct aml_resource_extended_irq { - u8 descriptor_type; - u16 resource_length; - u8 flags; - u8 interrupt_count; - union { - u32 interrupt; - struct { - struct {} __Empty_interrupts; - u32 interrupts[0]; - }; - }; -} __attribute__((packed)); - -struct aml_resource_gpio { - u8 descriptor_type; - u16 resource_length; - u8 revision_id; - u8 connection_type; - u16 flags; - u16 int_flags; - u8 pin_config; - u16 drive_strength; - u16 debounce_timeout; - u16 pin_table_offset; - u8 res_source_index; - u16 res_source_offset; - u16 vendor_offset; - u16 vendor_length; -} __attribute__((packed)); - -struct aml_resource_i2c_serialbus { - u8 descriptor_type; - u16 resource_length; - u8 revision_id; - u8 res_source_index; - u8 type; - u8 flags; - u16 type_specific_flags; - u8 type_revision_id; - u16 type_data_length; - u32 connection_speed; - u16 slave_address; -} __attribute__((packed)); - -struct aml_resource_spi_serialbus { - u8 descriptor_type; - u16 resource_length; - u8 revision_id; - u8 res_source_index; - u8 type; - u8 flags; - u16 type_specific_flags; - u8 type_revision_id; - u16 type_data_length; - u32 connection_speed; - u8 data_bit_length; - u8 clock_phase; - u8 clock_polarity; - u16 device_selection; -} __attribute__((packed)); - -struct aml_resource_uart_serialbus { - u8 descriptor_type; - u16 resource_length; - u8 revision_id; - u8 res_source_index; - u8 type; - u8 flags; - u16 type_specific_flags; - u8 type_revision_id; - u16 type_data_length; - u32 default_baud_rate; - u16 rx_fifo_size; - u16 tx_fifo_size; - u8 parity; - u8 lines_enabled; -} __attribute__((packed)); - -struct aml_resource_csi2_serialbus { - u8 descriptor_type; - u16 resource_length; - u8 revision_id; - u8 res_source_index; - u8 type; - u8 flags; - u16 type_specific_flags; - u8 type_revision_id; - u16 type_data_length; -} __attribute__((packed)); - -struct aml_resource_common_serialbus { - u8 descriptor_type; - u16 resource_length; - u8 revision_id; - u8 res_source_index; - u8 type; - u8 flags; - u16 type_specific_flags; - u8 type_revision_id; - u16 type_data_length; -} __attribute__((packed)); - -struct aml_resource_pin_function { - u8 descriptor_type; - u16 resource_length; - u8 revision_id; - u16 flags; - u8 pin_config; - u16 function_number; - u16 pin_table_offset; - u8 res_source_index; - u16 res_source_offset; - u16 vendor_offset; - u16 vendor_length; -} __attribute__((packed)); - -struct aml_resource_pin_config { - u8 descriptor_type; - u16 resource_length; - u8 revision_id; - u16 flags; - u8 pin_config_type; - u32 pin_config_value; - u16 pin_table_offset; - u8 res_source_index; - u16 res_source_offset; - u16 vendor_offset; - u16 vendor_length; -} __attribute__((packed)); - -struct aml_resource_pin_group { - u8 descriptor_type; - u16 resource_length; - u8 revision_id; - u16 flags; - u16 pin_table_offset; - u16 label_offset; - u16 vendor_offset; - u16 vendor_length; -} __attribute__((packed)); - -struct aml_resource_pin_group_function { - u8 descriptor_type; - u16 resource_length; - u8 revision_id; - u16 flags; - u16 function_number; - u8 res_source_index; - u16 res_source_offset; - u16 res_source_label_offset; - u16 vendor_offset; - u16 vendor_length; -} __attribute__((packed)); - -struct aml_resource_pin_group_config { - u8 descriptor_type; - u16 resource_length; - u8 revision_id; - u16 flags; - u8 pin_config_type; - u32 pin_config_value; - u8 res_source_index; - u16 res_source_offset; - u16 res_source_label_offset; - u16 vendor_offset; - u16 vendor_length; -} __attribute__((packed)); - -struct aml_resource_clock_input { - u8 descriptor_type; - u16 resource_length; - u8 revision_id; - u16 flags; - u16 frequency_divisor; - u32 frequency_numerator; -} __attribute__((packed)); - -struct aml_resource_address { - u8 descriptor_type; - u16 resource_length; - u8 resource_type; - u8 flags; - u8 specific_flags; -} __attribute__((packed)); - -union aml_resource { - u8 descriptor_type; - struct aml_resource_small_header small_header; - struct aml_resource_large_header large_header; - struct aml_resource_irq irq; - struct aml_resource_dma dma; - struct aml_resource_start_dependent start_dpf; - struct aml_resource_end_dependent end_dpf; - struct aml_resource_io io; - struct aml_resource_fixed_io fixed_io; - struct aml_resource_fixed_dma fixed_dma; - struct aml_resource_vendor_small vendor_small; - struct aml_resource_end_tag end_tag; - struct aml_resource_memory24 memory24; - struct aml_resource_generic_register generic_reg; - struct aml_resource_vendor_large vendor_large; - struct aml_resource_memory32 memory32; - struct aml_resource_fixed_memory32 fixed_memory32; - struct aml_resource_address16 address16; - struct aml_resource_address32 address32; - struct aml_resource_address64 address64; - struct aml_resource_extended_address64 ext_address64; - struct aml_resource_extended_irq extended_irq; - struct aml_resource_gpio gpio; - struct aml_resource_i2c_serialbus i2c_serial_bus; - struct aml_resource_spi_serialbus spi_serial_bus; - struct aml_resource_uart_serialbus uart_serial_bus; - struct aml_resource_csi2_serialbus csi2_serial_bus; - struct aml_resource_common_serialbus common_serial_bus; - struct aml_resource_pin_function pin_function; - struct aml_resource_pin_config pin_config; - struct aml_resource_pin_group pin_group; - struct aml_resource_pin_group_function pin_group_function; - struct aml_resource_pin_group_config pin_group_config; - struct aml_resource_clock_input clock_input; - struct aml_resource_address address; - u32 dword_item; - u16 word_item; - u8 byte_item; -}; - -struct analog_param_field { - unsigned int even; - unsigned int odd; -}; - -struct analog_param_range { - unsigned int min; - unsigned int typ; - unsigned int max; -}; - -struct analog_parameters { - unsigned int num_lines; - unsigned int line_duration_ns; - struct analog_param_range hact_ns; - struct analog_param_range hfp_ns; - struct analog_param_range hslen_ns; - struct analog_param_range hbp_ns; - struct analog_param_range hblk_ns; - unsigned int bt601_hfp; - struct analog_param_field vfp_lines; - struct analog_param_field vslen_lines; - struct analog_param_field vbp_lines; -}; - -struct kobj_uevent_env; - -struct kobj_ns_type_operations; - -struct class { - const char *name; - const struct attribute_group **class_groups; - const struct attribute_group **dev_groups; - int (*dev_uevent)(const struct device *, struct kobj_uevent_env *); - char * (*devnode)(const struct device *, umode_t *); - void (*class_release)(const struct class *); - void (*dev_release)(struct device *); - int (*shutdown_pre)(struct device *); - const struct kobj_ns_type_operations *ns_type; - const void * (*namespace)(const struct device *); - void (*get_ownership)(const struct device *, kuid_t *, kgid_t *); - const struct dev_pm_ops *pm; -}; - -struct transport_container; - -struct transport_class { - struct class class; - int (*setup)(struct transport_container *, struct device *, struct device *); - int (*configure)(struct transport_container *, struct device *, struct device *); - int (*remove)(struct transport_container *, struct device *, struct device *); -}; - -struct klist_node; - -struct klist { - spinlock_t k_lock; - struct list_head k_list; - void (*get)(struct klist_node *); - void (*put)(struct klist_node *); -}; - -struct attribute_container { - struct list_head node; - struct klist containers; - struct class *class; - const struct attribute_group *grp; - struct device_attribute **attrs; - int (*match)(struct attribute_container *, struct device *); - long unsigned int flags; -}; - -struct anon_transport_class { - struct transport_class tclass; - struct attribute_container container; -}; - -struct anon_vma { - struct anon_vma *root; - struct rw_semaphore rwsem; - atomic_t refcount; - long unsigned int num_children; - long unsigned int num_active_vmas; - struct anon_vma *parent; - struct rb_root_cached rb_root; -}; - -struct anon_vma_chain { - struct vm_area_struct *vma; - struct anon_vma *anon_vma; - struct list_head same_vma; - struct rb_node rb; - long unsigned int rb_subtree_last; -}; - -struct anon_vma_name { - struct kref kref; - char name[0]; -}; - -struct apd_private_data; - -struct apd_device_desc { - unsigned int fixed_clk_rate; - struct property_entry *properties; - int (*setup)(struct apd_private_data *); -}; - -struct clk; - -struct apd_private_data { - struct clk *clk; - struct acpi_device *adev; - const struct apd_device_desc *dev_desc; -}; - -struct apei_exec_ins_type; - -struct apei_exec_context { - u32 ip; - u64 value; - u64 var1; - u64 var2; - u64 src_base; - u64 dst_base; - struct apei_exec_ins_type *ins_table; - u32 instructions; - struct acpi_whea_header *action_table; - u32 entries; -}; - -typedef int (*apei_exec_ins_func_t)(struct apei_exec_context *, struct acpi_whea_header *); - -struct apei_exec_ins_type { - u32 flags; - apei_exec_ins_func_t run; -}; - -struct apei_res { - struct list_head list; - long unsigned int start; - long unsigned int end; -}; - -struct apei_resources { - struct list_head iomem; - struct list_head ioport; -}; - -struct aper_size_info_16 { - int size; - int num_entries; - int page_order; - u16 size_value; -}; - -struct aper_size_info_32 { - int size; - int num_entries; - int page_order; - u32 size_value; -}; - -struct aper_size_info_8 { - int size; - int num_entries; - int page_order; - u8 size_value; -}; - -struct aper_size_info_fixed { - int size; - int num_entries; - int page_order; -}; - -struct aper_size_info_lvl2 { - int size; - int num_entries; - u32 size_value; -}; - -struct aperfmperf { - seqcount_t seq; - long unsigned int last_update; - u64 acnt; - u64 mcnt; - u64 aperf; - u64 mperf; -}; - -struct aperture_range { - struct device *dev; - resource_size_t base; - resource_size_t size; - struct list_head lh; - void (*detach)(struct device *); -}; - -struct api_context { - struct completion done; - int status; -}; - -struct apic { - void (*eoi)(void); - void (*native_eoi)(void); - void (*write)(u32, u32); - u32 (*read)(u32); - void (*wait_icr_idle)(void); - u32 (*safe_wait_icr_idle)(void); - void (*send_IPI)(int, int); - void (*send_IPI_mask)(const struct cpumask *, int); - void (*send_IPI_mask_allbutself)(const struct cpumask *, int); - void (*send_IPI_allbutself)(int); - void (*send_IPI_all)(int); - void (*send_IPI_self)(int); - u32 disable_esr: 1; - u32 dest_mode_logical: 1; - u32 x2apic_set_max_apicid: 1; - u32 nmi_to_offline_cpu: 1; - u32 (*calc_dest_apicid)(unsigned int); - u64 (*icr_read)(void); - void (*icr_write)(u32, u32); - u32 max_apic_id; - int (*probe)(void); - int (*acpi_madt_oem_check)(char *, char *); - void (*init_apic_ldr)(void); - u32 (*cpu_present_to_apicid)(int); - u32 (*get_apic_id)(u32); - int (*wakeup_secondary_cpu)(u32, long unsigned int, unsigned int); - int (*wakeup_secondary_cpu_64)(u32, long unsigned int, unsigned int); - char *name; -}; - -struct irq_cfg { - unsigned int dest_apicid; - unsigned int vector; -}; - -struct apic_chip_data { - struct irq_cfg hw_irq_cfg; - unsigned int vector; - unsigned int prev_vector; - unsigned int cpu; - unsigned int prev_cpu; - unsigned int irq; - struct hlist_node clist; - unsigned int move_in_progress: 1; - unsigned int is_managed: 1; - unsigned int can_reserve: 1; - unsigned int has_reserved: 1; -}; - -union apic_ir { - long unsigned int map[4]; - u32 regs[8]; -}; - -struct apic_override { - void (*eoi)(void); - void (*native_eoi)(void); - void (*write)(u32, u32); - u32 (*read)(u32); - void (*send_IPI)(int, int); - void (*send_IPI_mask)(const struct cpumask *, int); - void (*send_IPI_mask_allbutself)(const struct cpumask *, int); - void (*send_IPI_allbutself)(int); - void (*send_IPI_all)(int); - void (*send_IPI_self)(int); - u64 (*icr_read)(void); - void (*icr_write)(u32, u32); - int (*wakeup_secondary_cpu)(u32, long unsigned int, unsigned int); - int (*wakeup_secondary_cpu_64)(u32, long unsigned int, unsigned int); -}; - -struct apm_bios_info { - __u16 version; - __u16 cseg; - __u32 offset; - __u16 cseg_16; - __u16 dseg; - __u16 flags; - __u16 cseg_len; - __u16 cseg_16_len; - __u16 dseg_len; -}; - -struct apparmor_notif_common { - __u16 len; - __u16 version; -}; - -struct apparmor_notif { - struct apparmor_notif_common base; - __u16 ntype; - __u8 signalled; - __u8 flags; - __u64 id; - __s32 error; -} __attribute__((packed)); - -struct apparmor_notif_op { - struct apparmor_notif base; - __u32 allow; - __u32 deny; - pid_t pid; - __u32 label; - __u16 class; - __u16 op; -}; - -struct apparmor_notif_file { - struct apparmor_notif_op base; - uid_t subj_uid; - uid_t obj_uid; - __u32 name; - __u8 data[0]; -}; - -struct apparmor_notif_file_v5 { - struct apparmor_notif_op base; - uid_t subj_uid; - uid_t obj_uid; - __u32 name; - __u32 tags; - __u16 tags_count; - __u8 data[0]; -} __attribute__((packed)); - -struct apparmor_notif_filter { - struct apparmor_notif_common base; - __u32 modeset; - __u32 ns; - __u32 filter; - __u8 data[0]; -}; - -union apparmor_notif_filters { - struct { - struct apparmor_notif_common base; - __u32 modeset; - __u32 ns; - __u32 filter; - __u8 data[0]; - }; - struct apparmor_notif_filter v3; - struct apparmor_notif_filter v5; -}; - -union apparmor_notif_recv { - struct { - struct apparmor_notif_op base; - uid_t subj_uid; - uid_t obj_uid; - __u32 name; - __u8 data[0]; - }; - struct { - struct apparmor_notif_file file; - } v3; - struct { - struct apparmor_notif_file_v5 file; - } v5; -}; - -struct apparmor_notif_resp_perm { - struct apparmor_notif base; - __s32 error; - __u32 allow; - __u32 deny; -}; - -struct apparmor_notif_resp_name { - union { - struct apparmor_notif base; - struct apparmor_notif_resp_perm perm; - }; - __u32 name; - __u8 data[0]; -}; - -union apparmor_notif_resp { - struct apparmor_notif base; - struct apparmor_notif_resp_perm perm; - struct apparmor_notif_resp_name name; - union { - struct apparmor_notif_resp_perm perm; - struct apparmor_notif_resp_name name; - } v3; - union { - struct apparmor_notif_resp_perm perm; - struct apparmor_notif_resp_name name; - } v5; -}; - -struct apparmor_notif_register_v5 { - struct apparmor_notif_common base; - __u64 listener_id; -} __attribute__((packed)); - -struct apparmor_notif_resend_v5 { - struct apparmor_notif_common base; - __u64 listener_id; - __u32 ready; - __u32 pending; -} __attribute__((packed)); - -union apparmor_notif_register { - struct { - struct apparmor_notif_register_v5 registration; - struct apparmor_notif_resend_v5 resend; - } v5; -}; - -union apparmor_notif_all { - struct apparmor_notif_common common; - struct apparmor_notif base; - struct apparmor_notif_op op; - struct apparmor_notif_file filev3; - struct apparmor_notif_file_v5 file; - union apparmor_notif_filters filter; - union apparmor_notif_recv recv; - union apparmor_notif_resp respnse; - union apparmor_notif_register registration; -}; - -struct apparmor_tags_header_v5 { - __u32 mask; - __u32 count; - __u32 tagset; -}; - -struct workqueue_attrs; - -struct pool_workqueue; - -struct apply_wqattrs_ctx { - struct workqueue_struct *wq; - struct workqueue_attrs *attrs; - struct list_head list; - struct pool_workqueue *dfl_pwq; - struct pool_workqueue *pwq_tbl[0]; -}; - -struct arch_elf_state {}; - -struct arch_hw_breakpoint { - long unsigned int address; - long unsigned int mask; - u8 len; - u8 type; -}; - -struct arch_hybrid_cpu_scale { - long unsigned int capacity; - long unsigned int freq_ratio; -}; - -struct drm_privacy_screen_lookup { - struct list_head list; - const char *dev_id; - const char *con_id; - const char *provider; -}; - -struct arch_init_data { - struct drm_privacy_screen_lookup lookup; - bool (*detect)(void); -}; - -struct arch_io_reserve_memtype_wc_devres { - resource_size_t start; - resource_size_t size; -}; - -struct lbr_entry { - u64 from; - u64 to; - u64 info; -}; - -struct arch_lbr_state { - u64 lbr_ctl; - u64 lbr_depth; - u64 ler_from; - u64 ler_to; - u64 ler_info; - struct lbr_entry entries[0]; -}; - -struct arch_mbm_state { - u64 chunks; - u64 prev_msr; -}; - -struct arch_optimized_insn { - kprobe_opcode_t copied_insn[4]; - kprobe_opcode_t *insn; - size_t size; -}; - -struct arch_shared_info { - long unsigned int max_pfn; - xen_pfn_t pfn_to_mfn_frame_list_list; - long unsigned int nmi_reason; - long unsigned int p2m_cr3; - long unsigned int p2m_vaddr; - long unsigned int p2m_generation; -}; - -struct kprobe; - -struct arch_specific_insn { - kprobe_opcode_t *insn; - unsigned int boostable: 1; - unsigned char size; - union { - unsigned char opcode; - struct { - unsigned char type; - } jcc; - struct { - unsigned char type; - unsigned char asize; - } loop; - struct { - unsigned char reg; - } indirect; - }; - s32 rel32; - void (*emulate_op)(struct kprobe *, struct pt_regs *); - int tp_len; -}; - -struct cpumask { - long unsigned int bits[128]; -}; - -struct arch_tlbflush_unmap_batch { - struct cpumask cpumask; - bool unmapped_pages; -}; - -struct uprobe_xol_ops; - -struct arch_uprobe { - union { - u8 insn[16]; - u8 ixol[16]; - }; - const struct uprobe_xol_ops *ops; - union { - struct { - s32 offs; - u8 ilen; - u8 opc1; - } branch; - struct { - u8 fixups; - u8 ilen; - } defparam; - struct { - u8 reg_offset; - u8 ilen; - } push; - }; -}; - -struct arch_uprobe_task { - long unsigned int saved_scratch_register; - unsigned int saved_trap_nr; - unsigned int saved_tf; -}; - -struct arch_vcpu_info { - long unsigned int cr2; - long unsigned int pad; -}; - -struct arch_vdso_time_data {}; - -struct arg_dev_net_ip { - struct net *net; - struct in6_addr *addr; -}; - -struct arg_netdev_event { - const struct net_device *dev; - union { - unsigned char nh_flags; - long unsigned int event; - }; -}; - -struct arphdr { - __be16 ar_hrd; - __be16 ar_pro; - unsigned char ar_hln; - unsigned char ar_pln; - __be16 ar_op; -}; - -struct sockaddr { - sa_family_t sa_family; - union { - char sa_data_min[14]; - struct { - struct {} __empty_sa_data; - char sa_data[0]; - }; - }; -}; - -struct arpreq { - struct sockaddr arp_pa; - struct sockaddr arp_ha; - int arp_flags; - struct sockaddr arp_netmask; - char arp_dev[16]; -}; - -struct trace_array; - -struct trace_array_cpu; - -struct array_buffer { - struct trace_array *tr; - struct trace_buffer *buffer; - struct trace_array_cpu *data; - u64 time_start; - int cpu; -}; - -struct regmap; - -struct as3711 { - struct device *dev; - struct regmap *regmap; -}; - -struct as3711_bl_pdata { - bool su1_fb; - int su1_max_uA; - bool su2_fb; - int su2_max_uA; - enum as3711_su2_feedback su2_feedback; - enum as3711_su2_fbprot su2_fbprot; - bool su2_auto_curr1; - bool su2_auto_curr2; - bool su2_auto_curr3; -}; - -struct regulator_init_data; - -struct as3711_regulator_pdata { - struct regulator_init_data *init_data[12]; -}; - -struct as3711_platform_data { - struct as3711_regulator_pdata regulator; - struct as3711_bl_pdata backlight; -}; - -typedef int (*asn1_action_t)(void *, size_t, unsigned char, const void *, size_t); - -struct asn1_decoder { - const unsigned char *machine; - size_t machlen; - const asn1_action_t *actions; -}; - -struct assoc_array_ptr; - -struct assoc_array { - struct assoc_array_ptr *root; - long unsigned int nr_leaves_on_tree; -}; - -struct assoc_array_node; - -struct assoc_array_delete_collapse_context { - struct assoc_array_node *node; - const void *skip_leaf; - int slot; -}; - -struct assoc_array_ops; - -struct assoc_array_edit { - struct callback_head rcu; - struct assoc_array *array; - const struct assoc_array_ops *ops; - const struct assoc_array_ops *ops_for_excised_subtree; - struct assoc_array_ptr *leaf; - struct assoc_array_ptr **leaf_p; - struct assoc_array_ptr *dead_leaf; - struct assoc_array_ptr *new_meta[3]; - struct assoc_array_ptr *excised_meta[1]; - struct assoc_array_ptr *excised_subtree; - struct assoc_array_ptr **set_backpointers[16]; - struct assoc_array_ptr *set_backpointers_to; - struct assoc_array_node *adjust_count_on; - long int adjust_count_by; - struct { - struct assoc_array_ptr **ptr; - struct assoc_array_ptr *to; - } set[2]; - struct { - u8 *p; - u8 to; - } set_parent_slot[1]; - u8 segment_cache[17]; -}; - -struct assoc_array_node { - struct assoc_array_ptr *back_pointer; - u8 parent_slot; - struct assoc_array_ptr *slots[16]; - long unsigned int nr_leaves_on_branch; -}; - -struct assoc_array_ops { - long unsigned int (*get_key_chunk)(const void *, int); - long unsigned int (*get_object_key_chunk)(const void *, int); - bool (*compare_object)(const void *, const void *); - int (*diff_objects)(const void *, const void *); - void (*free_object)(void *); -}; - -struct assoc_array_shortcut { - struct assoc_array_ptr *back_pointer; - int parent_slot; - int skip_to_level; - struct assoc_array_ptr *next_node; - long unsigned int index_key[0]; -}; - -struct assoc_array_walk_result { - struct { - struct assoc_array_node *node; - int level; - int slot; - } terminal_node; - struct { - struct assoc_array_shortcut *shortcut; - int level; - int sc_level; - long unsigned int sc_segments; - long unsigned int dissimilarity; - } wrong_shortcut; -}; - -struct asym_cap_data { - struct list_head link; - struct callback_head rcu; - long unsigned int capacity; - long unsigned int cpus[0]; -}; - -struct asymmetric_key_id { - short unsigned int len; - unsigned char data[0]; -}; - -struct asymmetric_key_ids { - void *id[3]; -}; - -struct key_preparsed_payload; - -struct asymmetric_key_parser { - struct list_head link; - struct module *owner; - const char *name; - int (*parse)(struct key_preparsed_payload *); -}; - -struct key; - -struct kernel_pkey_params; - -struct kernel_pkey_query; - -struct public_key_signature; - -struct asymmetric_key_subtype { - struct module *owner; - const char *name; - short unsigned int name_len; - void (*describe)(const struct key *, struct seq_file *); - void (*destroy)(void *, void *); - int (*query)(const struct kernel_pkey_params *, struct kernel_pkey_query *); - int (*eds_op)(struct kernel_pkey_params *, const void *, void *); - int (*verify_signature)(const struct key *, const struct public_key_signature *); -}; - -struct usb_dev_state; - -struct pid; - -struct urb; - -struct usb_memory; - -struct async { - struct list_head asynclist; - struct usb_dev_state *ps; - struct pid *pid; - const struct cred *cred; - unsigned int signr; - unsigned int ifnum; - void *userbuffer; - void *userurb; - sigval_t userurb_sigval; - struct urb *urb; - struct usb_memory *usbm; - unsigned int mem_usage; - int status; - u8 bulk_addr; - u8 bulk_status; -}; - -struct async_domain { - struct list_head pending; - unsigned int registered: 1; -}; - -typedef void (*async_func_t)(void *, async_cookie_t); - -struct async_entry { - struct list_head domain_list; - struct list_head global_list; - struct work_struct work; - async_cookie_t cookie; - async_func_t func; - void *data; - struct async_domain *domain; -}; - -struct io_poll { - struct file *file; - struct wait_queue_head *head; - __poll_t events; - int retries; - struct wait_queue_entry wait; -}; - -struct async_poll { - struct io_poll poll; - struct io_poll *double_poll; -}; - -struct async_scan_data { - struct list_head list; - struct Scsi_Host *shost; - struct completion prev_finished; -}; - -struct ata_acpi_drive { - u32 pio; - u32 dma; -}; - -struct ata_acpi_gtf { - u8 tf[7]; -}; - -struct ata_acpi_gtm { - struct ata_acpi_drive drive[2]; - u32 flags; -}; - -struct ata_port; - -struct ata_device; - -struct ata_acpi_hotplug_context { - struct acpi_hotplug_context hp; - union { - struct ata_port *ap; - struct ata_device *dev; - } data; -}; - -struct ata_bmdma_prd { - __le32 addr; - __le32 flags_len; -}; - -struct ata_cdl { - u8 desc_log_buf[512]; - u8 ncq_sense_log_buf[1024]; -}; - -struct ata_cpr { - u8 num; - u8 num_storage_elements; - u64 start_lba; - u64 num_lbas; -}; - -struct ata_cpr_log { - u8 nr_cpr; - struct ata_cpr cpr[0]; -}; - -struct ata_dev_quirks_entry { - const char *model_num; - const char *model_rev; - unsigned int quirks; -}; - -struct ata_ering_entry { - unsigned int eflags; - unsigned int err_mask; - u64 timestamp; -}; - -struct ata_ering { - int cursor; - struct ata_ering_entry ring[32]; -}; - -struct ata_link; - -struct scsi_device; - -struct ata_device { - struct ata_link *link; - unsigned int devno; - unsigned int quirks; - long unsigned int flags; - struct scsi_device *sdev; - void *private_data; - union acpi_object *gtf_cache; - unsigned int gtf_filter; - void *zpodd; - struct device tdev; - u64 n_sectors; - u64 n_native_sectors; - unsigned int class; - long unsigned int unpark_deadline; - u8 pio_mode; - u8 dma_mode; - u8 xfer_mode; - unsigned int xfer_shift; - unsigned int multi_count; - unsigned int max_sectors; - unsigned int cdb_len; - unsigned int pio_mask; - unsigned int mwdma_mask; - unsigned int udma_mask; - u16 cylinders; - u16 heads; - u16 sectors; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - union { - u16 id[256]; - u32 gscr[128]; - }; - u8 gp_log_dir[512]; - u8 devslp_timing[8]; - u8 ncq_send_recv_cmds[20]; - u8 ncq_non_data_cmds[64]; - u32 zac_zoned_cap; - u32 zac_zones_optimal_open; - u32 zac_zones_optimal_nonseq; - u32 zac_zones_max_open; - struct ata_cpr_log *cpr_log; - struct ata_cdl *cdl; - int spdn_cnt; - struct ata_ering ering; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - u8 sector_buf[512]; -}; - -struct ata_eh_cmd_timeout_ent { - const u8 *commands; - const unsigned int *timeouts; -}; - -struct ata_eh_info { - struct ata_device *dev; - u32 serror; - unsigned int err_mask; - unsigned int action; - unsigned int dev_action[2]; - unsigned int flags; - unsigned int probe_mask; - char desc[80]; - int desc_len; -}; - -struct ata_eh_context { - struct ata_eh_info i; - int tries[2]; - int cmd_timeout_idx[16]; - unsigned int classes[2]; - unsigned int did_probe_mask; - unsigned int unloaded_mask; - unsigned int saved_ncq_enabled; - u8 saved_xfer_mode[2]; - long unsigned int last_reset; -}; - -struct ata_force_param { - const char *name; - u8 cbl; - u8 spd_limit; - unsigned int xfer_mask; - unsigned int quirk_on; - unsigned int quirk_off; - unsigned int pflags_on; - u16 lflags_on; - u16 lflags_off; -}; - -struct ata_force_ent { - int port; - int device; - struct ata_force_param param; -}; - -struct ata_port_operations; - -struct ata_host { - spinlock_t lock; - struct device *dev; - void * const *iomap; - unsigned int n_ports; - unsigned int n_tags; - void *private_data; - struct ata_port_operations *ops; - long unsigned int flags; - struct kref kref; - struct mutex eh_mutex; - struct task_struct *eh_owner; - struct ata_port *simplex_claimed; - struct ata_port *ports[0]; -}; - -struct transport_container { - struct attribute_container ac; - const struct attribute_group *statistics; -}; - -struct scsi_transport_template { - struct transport_container host_attrs; - struct transport_container target_attrs; - struct transport_container device_attrs; - int (*user_scan)(struct Scsi_Host *, uint, uint, u64); - int device_size; - int device_private_offset; - int target_size; - int target_private_offset; - int host_size; - unsigned int create_work_queue: 1; - void (*eh_strategy_handler)(struct Scsi_Host *); -}; - -struct ata_internal { - struct scsi_transport_template t; - struct device_attribute private_port_attrs[3]; - struct device_attribute private_link_attrs[3]; - struct device_attribute private_dev_attrs[9]; - struct transport_container link_attr_cont; - struct transport_container dev_attr_cont; - struct device_attribute *link_attrs[4]; - struct device_attribute *port_attrs[4]; - struct device_attribute *dev_attrs[10]; -}; - -struct ata_ioports { - void *cmd_addr; - void *data_addr; - void *error_addr; - void *feature_addr; - void *nsect_addr; - void *lbal_addr; - void *lbam_addr; - void *lbah_addr; - void *device_addr; - void *status_addr; - void *command_addr; - void *altstatus_addr; - void *ctl_addr; - void *bmdma_addr; - void *scr_addr; -}; - -struct ata_link { - struct ata_port *ap; - int pmp; - struct device tdev; - unsigned int active_tag; - u32 sactive; - unsigned int flags; - u32 saved_scontrol; - unsigned int hw_sata_spd_limit; - unsigned int sata_spd_limit; - unsigned int sata_spd; - enum ata_lpm_policy lpm_policy; - struct ata_eh_info eh_info; - struct ata_eh_context eh_context; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - struct ata_device device[2]; - long unsigned int last_lpm_change; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct ata_taskfile { - long unsigned int flags; - u8 protocol; - u8 ctl; - u8 hob_feature; - u8 hob_nsect; - u8 hob_lbal; - u8 hob_lbam; - u8 hob_lbah; - union { - u8 error; - u8 feature; - }; - u8 nsect; - u8 lbal; - u8 lbam; - u8 lbah; - u8 device; - union { - u8 status; - u8 command; - }; - u32 auxiliary; -}; - -struct ata_queued_cmd; - -typedef void (*ata_qc_cb_t)(struct ata_queued_cmd *); - -struct scsi_cmnd; - -struct ata_queued_cmd { - struct ata_port *ap; - struct ata_device *dev; - struct scsi_cmnd *scsicmd; - void (*scsidone)(struct scsi_cmnd *); - struct ata_taskfile tf; - u8 cdb[16]; - long unsigned int flags; - unsigned int tag; - unsigned int hw_tag; - unsigned int n_elem; - unsigned int orig_n_elem; - int dma_dir; - unsigned int sect_size; - unsigned int nbytes; - unsigned int extrabytes; - unsigned int curbytes; - struct scatterlist sgent; - struct scatterlist *sg; - struct scatterlist *cursg; - unsigned int cursg_ofs; - unsigned int err_mask; - struct ata_taskfile result_tf; - ata_qc_cb_t complete_fn; - void *private_data; - void *lldd_task; -}; - -struct ata_port_stats { - long unsigned int unhandled_irq; - long unsigned int idle_irq; - long unsigned int rw_reqbuf; -}; - -struct ata_port { - struct Scsi_Host *scsi_host; - struct ata_port_operations *ops; - spinlock_t *lock; - long unsigned int flags; - unsigned int pflags; - unsigned int print_id; - unsigned int port_no; - struct ata_ioports ioaddr; - u8 ctl; - u8 last_ctl; - struct ata_link *sff_pio_task_link; - struct delayed_work sff_pio_task; - struct ata_bmdma_prd *bmdma_prd; - dma_addr_t bmdma_prd_dma; - unsigned int pio_mask; - unsigned int mwdma_mask; - unsigned int udma_mask; - unsigned int cbl; - struct ata_queued_cmd qcmd[33]; - u64 qc_active; - int nr_active_links; - long: 64; - long: 64; - struct ata_link link; - struct ata_link *slave_link; - int nr_pmp_links; - struct ata_link *pmp_link; - struct ata_link *excl_link; - struct ata_port_stats stats; - struct ata_host *host; - struct device *dev; - struct device tdev; - struct mutex scsi_scan_mutex; - struct delayed_work hotplug_task; - struct delayed_work scsi_rescan_task; - unsigned int hsm_task_state; - struct list_head eh_done_q; - wait_queue_head_t eh_wait_q; - int eh_tries; - struct completion park_req_pending; - pm_message_t pm_mesg; - enum ata_lpm_policy target_lpm_policy; - struct timer_list fastdrain_timer; - unsigned int fastdrain_cnt; - async_cookie_t cookie; - int em_message_type; - void *private_data; - struct ata_acpi_gtm __acpi_init_gtm; - long: 64; - long: 64; - long: 64; -}; - -struct ata_port_info { - long unsigned int flags; - long unsigned int link_flags; - unsigned int pio_mask; - unsigned int mwdma_mask; - unsigned int udma_mask; - struct ata_port_operations *port_ops; - void *private_data; -}; - -typedef int (*ata_prereset_fn_t)(struct ata_link *, long unsigned int); - -typedef int (*ata_reset_fn_t)(struct ata_link *, unsigned int *, long unsigned int); - -typedef void (*ata_postreset_fn_t)(struct ata_link *, unsigned int *); - -struct ata_reset_operations { - ata_prereset_fn_t prereset; - ata_reset_fn_t softreset; - ata_reset_fn_t hardreset; - ata_postreset_fn_t postreset; -}; - -struct ata_port_operations { - int (*qc_defer)(struct ata_queued_cmd *); - int (*check_atapi_dma)(struct ata_queued_cmd *); - enum ata_completion_errors (*qc_prep)(struct ata_queued_cmd *); - unsigned int (*qc_issue)(struct ata_queued_cmd *); - void (*qc_fill_rtf)(struct ata_queued_cmd *); - void (*qc_ncq_fill_rtf)(struct ata_port *, u64); - int (*cable_detect)(struct ata_port *); - unsigned int (*mode_filter)(struct ata_device *, unsigned int); - void (*set_piomode)(struct ata_port *, struct ata_device *); - void (*set_dmamode)(struct ata_port *, struct ata_device *); - int (*set_mode)(struct ata_link *, struct ata_device **); - unsigned int (*read_id)(struct ata_device *, struct ata_taskfile *, __le16 *); - void (*dev_config)(struct ata_device *); - void (*freeze)(struct ata_port *); - void (*thaw)(struct ata_port *); - struct ata_reset_operations reset; - struct ata_reset_operations pmp_reset; - void (*error_handler)(struct ata_port *); - void (*lost_interrupt)(struct ata_port *); - void (*post_internal_cmd)(struct ata_queued_cmd *); - void (*sched_eh)(struct ata_port *); - void (*end_eh)(struct ata_port *); - int (*scr_read)(struct ata_link *, unsigned int, u32 *); - int (*scr_write)(struct ata_link *, unsigned int, u32); - void (*pmp_attach)(struct ata_port *); - void (*pmp_detach)(struct ata_port *); - int (*set_lpm)(struct ata_link *, enum ata_lpm_policy, unsigned int); - int (*port_suspend)(struct ata_port *, pm_message_t); - int (*port_resume)(struct ata_port *); - int (*port_start)(struct ata_port *); - void (*port_stop)(struct ata_port *); - void (*host_stop)(struct ata_host *); - void (*sff_dev_select)(struct ata_port *, unsigned int); - void (*sff_set_devctl)(struct ata_port *, u8); - u8 (*sff_check_status)(struct ata_port *); - u8 (*sff_check_altstatus)(struct ata_port *); - void (*sff_tf_load)(struct ata_port *, const struct ata_taskfile *); - void (*sff_tf_read)(struct ata_port *, struct ata_taskfile *); - void (*sff_exec_command)(struct ata_port *, const struct ata_taskfile *); - unsigned int (*sff_data_xfer)(struct ata_queued_cmd *, unsigned char *, unsigned int, int); - void (*sff_irq_on)(struct ata_port *); - bool (*sff_irq_check)(struct ata_port *); - void (*sff_irq_clear)(struct ata_port *); - void (*sff_drain_fifo)(struct ata_queued_cmd *); - void (*bmdma_setup)(struct ata_queued_cmd *); - void (*bmdma_start)(struct ata_queued_cmd *); - void (*bmdma_stop)(struct ata_queued_cmd *); - u8 (*bmdma_status)(struct ata_port *); - ssize_t (*em_show)(struct ata_port *, char *); - ssize_t (*em_store)(struct ata_port *, const char *, size_t); - ssize_t (*sw_activity_show)(struct ata_device *, char *); - ssize_t (*sw_activity_store)(struct ata_device *, enum sw_activity); - ssize_t (*transmit_led_message)(struct ata_port *, u32, ssize_t); - const struct ata_port_operations *inherits; -}; - -struct ata_show_ering_arg { - char *buf; - int written; -}; - -struct ata_timing { - short unsigned int mode; - short unsigned int setup; - short unsigned int act8b; - short unsigned int rec8b; - short unsigned int cyc8b; - short unsigned int active; - short unsigned int recover; - short unsigned int dmack_hold; - short unsigned int cycle; - short unsigned int udma; -}; - -struct ata_xfer_ent { - int shift; - int bits; - u8 base; -}; - -struct ps2dev; - -typedef enum ps2_disposition (*ps2_pre_receive_handler_t)(struct ps2dev *, u8, unsigned int); - -typedef void (*ps2_receive_handler_t)(struct ps2dev *, u8); - -struct serio; - -struct ps2dev { - struct serio *serio; - struct mutex cmd_mutex; - wait_queue_head_t wait; - long unsigned int flags; - u8 cmdbuf[8]; - u8 cmdcnt; - u8 nak; - ps2_pre_receive_handler_t pre_receive_handler; - ps2_receive_handler_t receive_handler; -}; - -struct vivaldi_data { - u32 function_row_physmap[24]; - unsigned int num_function_row_keys; -}; - -struct atkbd { - struct ps2dev ps2dev; - struct input_dev *dev; - char name[64]; - char phys[32]; - short unsigned int id; - short unsigned int keycode[512]; - long unsigned int force_release_mask[8]; - unsigned char set; - bool translated; - bool extra; - bool write; - bool softrepeat; - bool softraw; - bool scroll; - bool enabled; - unsigned char emul; - bool resend; - bool release; - long unsigned int xl_bit; - unsigned int last; - long unsigned int time; - long unsigned int err_count; - struct delayed_work event_work; - long unsigned int event_jiffies; - long unsigned int event_mask; - struct mutex mutex; - struct vivaldi_data vdata; -}; - -struct atl_err { - u64 addr; - u64 ipid; - u32 cpu; -}; - -struct atomic_notifier_head { - spinlock_t lock; - struct notifier_block *head; -}; - -struct attribute_group { - const char *name; - umode_t (*is_visible)(struct kobject *, struct attribute *, int); - umode_t (*is_bin_visible)(struct kobject *, const struct bin_attribute *, int); - size_t (*bin_size)(struct kobject *, const struct bin_attribute *, int); - struct attribute **attrs; - union { - const struct bin_attribute * const *bin_attrs; - const struct bin_attribute * const *bin_attrs_new; - }; -}; - -struct audit_aux_data { - struct audit_aux_data *next; - int type; -}; - -struct audit_cap_data { - kernel_cap_t permitted; - kernel_cap_t inheritable; - union { - unsigned int fE; - kernel_cap_t effective; - }; - kernel_cap_t ambient; - kuid_t rootid; -}; - -struct audit_aux_data_bprm_fcaps { - struct audit_aux_data d; - struct audit_cap_data fcap; - unsigned int fcap_ver; - struct audit_cap_data old_pcap; - struct audit_cap_data new_pcap; -}; - -struct lsm_prop_selinux { - u32 secid; -}; - -struct smack_known; - -struct lsm_prop_smack { - struct smack_known *skp; -}; - -struct lsm_prop_apparmor { - struct aa_label *label; -}; - -struct lsm_prop_bpf { - u32 secid; -}; - -struct lsm_prop { - struct lsm_prop_selinux selinux; - struct lsm_prop_smack smack; - struct lsm_prop_apparmor apparmor; - struct lsm_prop_bpf bpf; -}; - -struct audit_aux_data_pids { - struct audit_aux_data d; - pid_t target_pid[16]; - kuid_t target_auid[16]; - kuid_t target_uid[16]; - unsigned int target_sessionid[16]; - struct lsm_prop target_ref[16]; - char target_comm[256]; - int pid_count; -}; - -struct audit_stamp { - struct timespec64 ctime; - unsigned int serial; -}; - -struct audit_context; - -struct audit_buffer { - struct sk_buff *skb; - struct sk_buff_head skb_list; - struct audit_context *ctx; - struct audit_stamp stamp; - gfp_t gfp_mask; -}; - -struct audit_cache { - const struct cred *ad_subj_cred; - u64 ktime_ns_expiration[41]; -}; - -struct audit_tree; - -struct audit_node { - struct list_head list; - struct audit_tree *owner; - unsigned int index; -}; - -struct fsnotify_mark; - -struct audit_chunk { - struct list_head hash; - long unsigned int key; - struct fsnotify_mark *mark; - struct list_head trees; - int count; - atomic_long_t refs; - struct callback_head head; - struct audit_node owners[0]; -}; - -struct filename; - -struct audit_names { - struct list_head list; - struct filename *name; - int name_len; - bool hidden; - long unsigned int ino; - dev_t dev; - umode_t mode; - kuid_t uid; - kgid_t gid; - dev_t rdev; - struct lsm_prop oprop; - struct audit_cap_data fcap; - unsigned int fcap_ver; - unsigned char type; - bool should_free; -}; - -struct mq_attr { - __kernel_long_t mq_flags; - __kernel_long_t mq_maxmsg; - __kernel_long_t mq_msgsize; - __kernel_long_t mq_curmsgs; - __kernel_long_t __reserved[4]; -}; - -struct open_how { - __u64 flags; - __u64 mode; - __u64 resolve; -}; - -struct audit_proctitle { - int len; - char *value; -}; - -struct audit_tree_refs; - -struct audit_context { - int dummy; - enum { - AUDIT_CTX_UNUSED = 0, - AUDIT_CTX_SYSCALL = 1, - AUDIT_CTX_URING = 2, - } context; - enum audit_state state; - enum audit_state current_state; - struct audit_stamp stamp; - int major; - int uring_op; - long unsigned int argv[4]; - long int return_code; - u64 prio; - int return_valid; - struct audit_names preallocated_names[5]; - int name_count; - struct list_head names_list; - char *filterkey; - struct path pwd; - struct audit_aux_data *aux; - struct audit_aux_data *aux_pids; - struct __kernel_sockaddr_storage *sockaddr; - size_t sockaddr_len; - pid_t ppid; - kuid_t uid; - kuid_t euid; - kuid_t suid; - kuid_t fsuid; - kgid_t gid; - kgid_t egid; - kgid_t sgid; - kgid_t fsgid; - long unsigned int personality; - int arch; - pid_t target_pid; - kuid_t target_auid; - kuid_t target_uid; - unsigned int target_sessionid; - struct lsm_prop target_ref; - char target_comm[16]; - struct audit_tree_refs *trees; - struct audit_tree_refs *first_trees; - struct list_head killed_trees; - int tree_count; - int type; - union { - struct { - int nargs; - long int args[6]; - } socketcall; - struct { - kuid_t uid; - kgid_t gid; - umode_t mode; - struct lsm_prop oprop; - int has_perm; - uid_t perm_uid; - gid_t perm_gid; - umode_t perm_mode; - long unsigned int qbytes; - } ipc; - struct { - mqd_t mqdes; - struct mq_attr mqstat; - } mq_getsetattr; - struct { - mqd_t mqdes; - int sigev_signo; - } mq_notify; - struct { - mqd_t mqdes; - size_t msg_len; - unsigned int msg_prio; - struct timespec64 abs_timeout; - } mq_sendrecv; - struct { - int oflag; - umode_t mode; - struct mq_attr attr; - } mq_open; - struct { - pid_t pid; - struct audit_cap_data cap; - } capset; - struct { - int fd; - int flags; - } mmap; - struct open_how openat2; - struct { - int argc; - } execve; - struct { - const char *name; - } module; - struct { - struct audit_ntp_data ntp_data; - struct timespec64 tk_injoffset; - } time; - }; - int fds[2]; - struct audit_proctitle proctitle; -}; - -struct audit_ctl_mutex { - struct mutex lock; - void *owner; -}; - -struct audit_field; - -struct audit_watch; - -struct audit_fsnotify_mark; - -struct audit_krule { - u32 pflags; - u32 flags; - u32 listnr; - u32 action; - u32 mask[64]; - u32 buflen; - u32 field_count; - char *filterkey; - struct audit_field *fields; - struct audit_field *arch_f; - struct audit_field *inode_f; - struct audit_watch *watch; - struct audit_tree *tree; - struct audit_fsnotify_mark *exe; - struct list_head rlist; - struct list_head list; - u64 prio; -}; - -struct audit_entry { - struct list_head list; - struct callback_head rcu; - struct audit_krule rule; -}; - -struct audit_features { - __u32 vers; - __u32 mask; - __u32 features; - __u32 lock; -}; - -struct audit_field { - u32 type; - union { - u32 val; - kuid_t uid; - kgid_t gid; - struct { - char *lsm_str; - void *lsm_rule; - }; - }; - u32 op; -}; - -struct fsnotify_group; - -struct fsnotify_mark_connector; - -struct fsnotify_mark { - __u32 mask; - refcount_t refcnt; - struct fsnotify_group *group; - struct list_head g_list; - spinlock_t lock; - struct hlist_node obj_list; - struct fsnotify_mark_connector *connector; - __u32 ignore_mask; - unsigned int flags; -}; - -struct audit_fsnotify_mark { - dev_t dev; - long unsigned int ino; - char *path; - struct fsnotify_mark mark; - struct audit_krule *rule; -}; - -struct sock; - -struct audit_net { - struct sock *sk; -}; - -struct audit_netlink_list { - __u32 portid; - struct net *net; - struct sk_buff_head q; -}; - -struct audit_nfcfgop_tab { - enum audit_nfcfgop op; - const char *s; -}; - -struct audit_parent { - struct list_head watches; - struct fsnotify_mark mark; -}; - -struct audit_reply { - __u32 portid; - struct net *net; - struct sk_buff *skb; -}; - -struct audit_rule_data { - __u32 flags; - __u32 action; - __u32 field_count; - __u32 mask[64]; - __u32 fields[64]; - __u32 values[64]; - __u32 fieldflags[64]; - __u32 buflen; - char buf[0]; -}; - -struct audit_sig_info { - uid_t uid; - pid_t pid; - char ctx[0]; -}; - -struct audit_status { - __u32 mask; - __u32 enabled; - __u32 failure; - __u32 pid; - __u32 rate_limit; - __u32 backlog_limit; - __u32 lost; - __u32 backlog; - union { - __u32 version; - __u32 feature_bitmap; - }; - __u32 backlog_wait_time; - __u32 backlog_wait_time_actual; -}; - -struct audit_tree { - refcount_t count; - int goner; - struct audit_chunk *root; - struct list_head chunks; - struct list_head rules; - struct list_head list; - struct list_head same_root; - struct callback_head head; - char pathname[0]; -}; - -struct audit_tree_mark { - struct fsnotify_mark mark; - struct audit_chunk *chunk; -}; - -struct audit_tree_refs { - struct audit_tree_refs *next; - struct audit_chunk *c[31]; -}; - -struct audit_tty_status { - __u32 enabled; - __u32 log_passwd; -}; - -struct audit_watch { - refcount_t count; - dev_t dev; - char *path; - long unsigned int ino; - struct audit_parent *parent; - struct list_head wlist; - struct list_head rules; -}; - -struct auditd_connection { - struct pid *pid; - u32 portid; - struct net *net; - struct callback_head rcu; -}; - -struct auth_cred { - const struct cred *cred; - const char *principal; -}; - -struct auth_ops; - -struct auth_domain { - struct kref ref; - struct hlist_node hash; - char *name; - struct auth_ops *flavour; - struct callback_head callback_head; -}; - -struct svc_rqst; - -struct auth_ops { - char *name; - struct module *owner; - int flavour; - enum svc_auth_status (*accept)(struct svc_rqst *); - int (*release)(struct svc_rqst *); - void (*domain_release)(struct auth_domain *); - enum svc_auth_status (*set_client)(struct svc_rqst *); - rpc_authflavor_t (*pseudoflavor)(struct svc_rqst *); -}; - -struct auto_mode_param { - int qp_type; -}; - -struct auto_movable_group_stats { - long unsigned int movable_pages; - long unsigned int req_kernel_early_pages; -}; - -struct auto_movable_stats { - long unsigned int kernel_early_pages; - long unsigned int movable_pages; -}; - -struct task_group; - -struct autogroup { - struct kref kref; - struct task_group *tg; - struct rw_semaphore lock; - long unsigned int id; - int nice; -}; - -struct automaton_wwnr { - char *state_names[2]; - char *event_names[3]; - unsigned char function[6]; - unsigned char initial_state; - bool final_states[2]; -}; - -struct auxiliary_device { - struct device dev; - const char *name; - u32 id; - struct { - struct xarray irqs; - struct mutex lock; - bool irq_dir_exists; - } sysfs; -}; - -struct auxiliary_device_id { - char name[32]; - kernel_ulong_t driver_data; -}; - -struct auxiliary_driver { - int (*probe)(struct auxiliary_device *, const struct auxiliary_device_id *); - void (*remove)(struct auxiliary_device *); - void (*shutdown)(struct auxiliary_device *); - int (*suspend)(struct auxiliary_device *, pm_message_t); - int (*resume)(struct auxiliary_device *); - const char *name; - struct device_driver driver; - const struct auxiliary_device_id *id_table; -}; - -struct auxiliary_irq_info { - struct device_attribute sysfs_attr; - char name[11]; -}; - -struct av_decision { - u32 allowed; - u32 auditallow; - u32 auditdeny; - u32 seqno; - u32 flags; -}; - -struct hlist_head { - struct hlist_node *first; -}; - -struct avc_cache { - struct hlist_head slots[512]; - spinlock_t slots_lock[512]; - atomic_t lru_hint; - atomic_t active_nodes; - u32 latest_notif; -}; - -struct avc_cache_stats { - unsigned int lookups; - unsigned int misses; - unsigned int allocations; - unsigned int reclaims; - unsigned int frees; -}; - -struct avc_callback_node { - int (*callback)(u32); - u32 events; - struct avc_callback_node *next; -}; - -struct avc_xperms_node; - -struct avc_entry { - u32 ssid; - u32 tsid; - u16 tclass; - struct av_decision avd; - struct avc_xperms_node *xp_node; -}; - -struct avc_node { - struct avc_entry ae; - struct hlist_node list; - struct callback_head rhead; -}; - -struct extended_perms_data; - -struct extended_perms_decision { - u8 used; - u8 driver; - u8 base_perm; - struct extended_perms_data *allowed; - struct extended_perms_data *auditallow; - struct extended_perms_data *dontaudit; -}; - -struct avc_xperms_decision_node { - struct extended_perms_decision xpd; - struct list_head xpd_list; -}; - -struct extended_perms_data { - u32 p[8]; -}; - -struct extended_perms { - u16 len; - u8 base_perms; - struct extended_perms_data drivers; -}; - -struct avc_xperms_node { - struct extended_perms xp; - struct list_head xpd_head; -}; - -struct avdc_entry { - u32 isid; - u32 allowed; - u32 audited; - bool permissive; -}; - -struct avtab_node; - -struct avtab { - struct avtab_node **htable; - u32 nel; - u32 nslot; - u32 mask; -}; - -struct avtab_extended_perms; - -struct avtab_datum { - union { - u32 data; - struct avtab_extended_perms *xperms; - } u; -}; - -struct avtab_extended_perms { - u8 specified; - u8 driver; - struct extended_perms_data perms; -}; - -struct avtab_key { - u16 source_type; - u16 target_type; - u16 target_class; - u16 specified; -}; - -struct avtab_node { - struct avtab_key key; - struct avtab_datum datum; - struct avtab_node *next; -}; - -struct ctl_table_header; - -struct ax25_dev { - struct list_head list; - struct net_device *dev; - netdevice_tracker dev_tracker; - struct net_device *forward; - struct ctl_table_header *sysheader; - int values[14]; - ax25_dama_info dama; - refcount_t refcount; - bool device_up; - struct callback_head rcu; -}; - -struct regmap_irq_chip_data; - -struct mfd_cell; - -struct regmap_config; - -struct regmap_irq_chip; - -struct axp20x_dev { - struct device *dev; - int irq; - long unsigned int irq_flags; - struct regmap *regmap; - struct regmap_irq_chip_data *regmap_irqc; - enum axp20x_variants variant; - int nr_cells; - const struct mfd_cell *cells; - const struct regmap_config *regmap_cfg; - const struct regmap_irq_chip *regmap_irq_chip; -}; - -struct backing_aio { - struct kiocb iocb; - refcount_t ref; - struct kiocb *orig_iocb; - void (*end_write)(struct kiocb *, ssize_t); - struct work_struct work; - long int res; -}; - -struct percpu_counter { - raw_spinlock_t lock; - s64 count; - struct list_head list; - s32 *counters; -}; - -struct fprop_local_percpu { - struct percpu_counter events; - unsigned int period; - raw_spinlock_t lock; -}; - -struct percpu_ref_data; - -struct percpu_ref { - long unsigned int percpu_count_ptr; - struct percpu_ref_data *data; -}; - -struct backing_dev_info; - -struct cgroup_subsys_state; - -struct bdi_writeback { - struct backing_dev_info *bdi; - long unsigned int state; - long unsigned int last_old_flush; - struct list_head b_dirty; - struct list_head b_io; - struct list_head b_more_io; - struct list_head b_dirty_time; - spinlock_t list_lock; - atomic_t writeback_inodes; - struct percpu_counter stat[4]; - long unsigned int bw_time_stamp; - long unsigned int dirtied_stamp; - long unsigned int written_stamp; - long unsigned int write_bandwidth; - long unsigned int avg_write_bandwidth; - long unsigned int dirty_ratelimit; - long unsigned int balanced_dirty_ratelimit; - struct fprop_local_percpu completions; - int dirty_exceeded; - enum wb_reason start_all_reason; - spinlock_t work_lock; - struct list_head work_list; - struct delayed_work dwork; - struct delayed_work bw_dwork; - struct list_head bdi_node; - struct percpu_ref refcnt; - struct fprop_local_percpu memcg_completions; - struct cgroup_subsys_state *memcg_css; - struct cgroup_subsys_state *blkcg_css; - struct list_head memcg_node; - struct list_head blkcg_node; - struct list_head b_attached; - struct list_head offline_node; - union { - struct work_struct release_work; - struct callback_head rcu; - }; -}; - -struct backing_dev_info { - u64 id; - struct rb_node rb_node; - struct list_head bdi_list; - long unsigned int ra_pages; - long unsigned int io_pages; - struct kref refcnt; - unsigned int capabilities; - unsigned int min_ratio; - unsigned int max_ratio; - unsigned int max_prop_frac; - atomic_long_t tot_write_bandwidth; - long unsigned int last_bdp_sleep; - struct bdi_writeback wb; - struct list_head wb_list; - struct xarray cgwb_tree; - struct mutex cgwb_release_mutex; - struct rw_semaphore wb_switch_rwsem; - wait_queue_head_t wb_waitq; - struct device *dev; - char dev_name[64]; - struct device *owner; - struct timer_list laptop_mode_wb_timer; - struct dentry *debug_dir; -}; - -struct file_ra_state { - long unsigned int start; - unsigned int size; - unsigned int async_size; - unsigned int ra_pages; - short unsigned int order; - short unsigned int mmap_miss; - loff_t prev_pos; -}; - -struct fown_struct; - -struct file { - spinlock_t f_lock; - fmode_t f_mode; - const struct file_operations *f_op; - struct address_space *f_mapping; - void *private_data; - struct inode *f_inode; - unsigned int f_flags; - unsigned int f_iocb_flags; - const struct cred *f_cred; - struct fown_struct *f_owner; - struct path f_path; - union { - struct mutex f_pos_lock; - u64 f_pipe; - }; - loff_t f_pos; - void *f_security; - errseq_t f_wb_err; - errseq_t f_sb_err; - struct hlist_head *f_ep; - union { - struct callback_head f_task_work; - struct llist_node f_llist; - struct file_ra_state f_ra; - freeptr_t f_freeptr; - }; - file_ref_t f_ref; -}; - -struct backing_file { - struct file file; - union { - struct path user_path; - freeptr_t bf_freeptr; - }; -}; - -struct backing_file_ctx { - const struct cred *cred; - void (*accessed)(struct file *); - void (*end_write)(struct kiocb *, ssize_t); -}; - -struct backlight_properties { - int brightness; - int max_brightness; - int power; - enum backlight_type type; - unsigned int state; - enum backlight_scale scale; -}; - -struct backlight_ops; - -struct backlight_device { - struct backlight_properties props; - struct mutex update_lock; - struct mutex ops_lock; - const struct backlight_ops *ops; - struct list_head entry; - struct device dev; - int use_count; -}; - -struct backlight_ops { - unsigned int options; - int (*update_status)(struct backlight_device *); - int (*get_brightness)(struct backlight_device *); - bool (*controls_device)(struct backlight_device *, struct device *); -}; - -struct bpf_verifier_env; - -struct backtrack_state { - struct bpf_verifier_env *env; - u32 frame; - u32 reg_masks[8]; - u64 stack_masks[8]; -}; - -struct badblocks { - struct device *dev; - int count; - int unacked_exist; - int shift; - u64 *page; - int changed; - seqlock_t lock; - sector_t sector; - sector_t size; -}; - -struct badblocks_context { - sector_t start; - sector_t len; - int ack; -}; - -struct badrange { - struct list_head list; - spinlock_t lock; -}; - -struct badrange_entry { - u64 start; - u64 length; - struct list_head list; -}; - -struct balance_callback { - struct balance_callback *next; - void (*func)(struct rq *); -}; - -struct balloon_dev_info { - long unsigned int isolated_pages; - spinlock_t pages_lock; - struct list_head pages; - int (*migratepage)(struct balloon_dev_info *, struct page *, struct page *, enum migrate_mode); -}; - -struct balloon_stats { - long unsigned int current_pages; - long unsigned int target_pages; - long unsigned int target_unpopulated; - long unsigned int balloon_low; - long unsigned int balloon_high; - long unsigned int total_pages; - long unsigned int schedule_delay; - long unsigned int max_schedule_delay; - long unsigned int retry_count; - long unsigned int max_retry_count; -}; - -struct batadv_unicast_packet { - __u8 packet_type; - __u8 version; - __u8 ttl; - __u8 ttvn; - __u8 dest[6]; -}; - -struct batch_u16 { - u16 entropy[48]; - local_lock_t lock; - long unsigned int generation; - unsigned int position; -}; - -struct batch_u32 { - u32 entropy[24]; - local_lock_t lock; - long unsigned int generation; - unsigned int position; -}; - -struct batch_u64 { - u64 entropy[12]; - local_lock_t lock; - long unsigned int generation; - unsigned int position; -}; - -struct batch_u8 { - u8 entropy[96]; - local_lock_t lock; - long unsigned int generation; - unsigned int position; -}; - -struct bd_holder_disk { - struct list_head list; - struct kobject *holder_dir; - int refcnt; -}; - -struct gendisk; - -struct request_queue; - -struct disk_stats; - -struct blk_holder_ops; - -struct partition_meta_info; - -struct block_device { - sector_t bd_start_sect; - sector_t bd_nr_sectors; - struct gendisk *bd_disk; - struct request_queue *bd_queue; - struct disk_stats *bd_stats; - long unsigned int bd_stamp; - atomic_t __bd_flags; - dev_t bd_dev; - struct address_space *bd_mapping; - atomic_t bd_openers; - spinlock_t bd_size_lock; - void *bd_claiming; - void *bd_holder; - const struct blk_holder_ops *bd_holder_ops; - struct mutex bd_holder_lock; - int bd_holders; - struct kobject *bd_holder_dir; - atomic_t bd_fsfreeze_count; - struct mutex bd_fsfreeze_mutex; - struct partition_meta_info *bd_meta_info; - int bd_writers; - void *bd_security; - struct device bd_device; -}; - -struct posix_acl; - -struct inode_operations; - -struct super_block; - -struct file_lock_context; - -struct pipe_inode_info; - -struct cdev; - -struct fscrypt_inode_info; - -struct fsverity_info; - -struct inode { - umode_t i_mode; - short unsigned int i_opflags; - kuid_t i_uid; - kgid_t i_gid; - unsigned int i_flags; - struct posix_acl *i_acl; - struct posix_acl *i_default_acl; - const struct inode_operations *i_op; - struct super_block *i_sb; - struct address_space *i_mapping; - void *i_security; - long unsigned int i_ino; - union { - const unsigned int i_nlink; - unsigned int __i_nlink; - }; - dev_t i_rdev; - loff_t i_size; - time64_t i_atime_sec; - time64_t i_mtime_sec; - time64_t i_ctime_sec; - u32 i_atime_nsec; - u32 i_mtime_nsec; - u32 i_ctime_nsec; - u32 i_generation; - spinlock_t i_lock; - short unsigned int i_bytes; - u8 i_blkbits; - enum rw_hint i_write_hint; - blkcnt_t i_blocks; - u32 i_state; - struct rw_semaphore i_rwsem; - long unsigned int dirtied_when; - long unsigned int dirtied_time_when; - struct hlist_node i_hash; - struct list_head i_io_list; - struct bdi_writeback *i_wb; - int i_wb_frn_winner; - u16 i_wb_frn_avg_time; - u16 i_wb_frn_history; - struct list_head i_lru; - struct list_head i_sb_list; - struct list_head i_wb_list; - union { - struct hlist_head i_dentry; - struct callback_head i_rcu; - }; - atomic64_t i_version; - atomic64_t i_sequence; - atomic_t i_count; - atomic_t i_dio_count; - atomic_t i_writecount; - atomic_t i_readcount; - union { - const struct file_operations *i_fop; - void (*free_inode)(struct inode *); - }; - struct file_lock_context *i_flctx; - struct address_space i_data; - union { - struct list_head i_devices; - int i_linklen; - }; - union { - struct pipe_inode_info *i_pipe; - struct cdev *i_cdev; - char *i_link; - unsigned int i_dir_seq; - }; - __u32 i_fsnotify_mask; - struct fsnotify_mark_connector *i_fsnotify_marks; - struct fscrypt_inode_info *i_crypt_info; - struct fsverity_info *i_verity_info; - void *i_private; -}; - -struct bdev_inode { - struct block_device bdev; - struct inode vfs_inode; -}; - -struct bgl_lock { - spinlock_t lock; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct bh_accounting { - int nr; - int ratelimit; -}; - -struct bh_lru { - struct buffer_head *bhs[16]; -}; - -struct bictcp { - u32 cnt; - u32 last_max_cwnd; - u32 last_cwnd; - u32 last_time; - u32 bic_origin_point; - u32 bic_K; - u32 delay_min; - u32 epoch_start; - u32 ack_cnt; - u32 tcp_cwnd; - u16 unused; - u8 sample_cnt; - u8 found; - u32 round_start; - u32 end_seq; - u32 last_ack; - u32 curr_rtt; -}; - -struct big_key_payload { - u8 *data; - struct path path; - size_t length; -}; - -struct binfmt_misc { - struct list_head entries; - rwlock_t entries_lock; - bool enabled; -}; - -struct bvec_iter { - sector_t bi_sector; - unsigned int bi_size; - unsigned int bi_idx; - unsigned int bi_bvec_done; -} __attribute__((packed)); - -struct bio; - -typedef void bio_end_io_t(struct bio *); - -struct bio_vec { - struct page *bv_page; - unsigned int bv_len; - unsigned int bv_offset; -}; - -struct blkcg_gq; - -struct bio_crypt_ctx; - -struct bio_integrity_payload; - -struct bio_set; - -struct bio { - struct bio *bi_next; - struct block_device *bi_bdev; - blk_opf_t bi_opf; - short unsigned int bi_flags; - short unsigned int bi_ioprio; - enum rw_hint bi_write_hint; - u8 bi_write_stream; - blk_status_t bi_status; - atomic_t __bi_remaining; - struct bvec_iter bi_iter; - union { - blk_qc_t bi_cookie; - unsigned int __bi_nr_segments; - }; - bio_end_io_t *bi_end_io; - void *bi_private; - struct blkcg_gq *bi_blkg; - u64 issue_time_ns; - u64 bi_iocost_cost; - struct bio_crypt_ctx *bi_crypt_context; - struct bio_integrity_payload *bi_integrity; - short unsigned int bi_vcnt; - short unsigned int bi_max_vecs; - atomic_t __bi_cnt; - struct bio_vec *bi_io_vec; - struct bio_set *bi_pool; - struct bio_vec bi_inline_vecs[0]; -}; - -struct bio_alloc_cache { - struct bio *free_list; - struct bio *free_list_irq; - unsigned int nr; - unsigned int nr_irq; -}; - -struct blk_crypto_key; - -struct bio_crypt_ctx { - const struct blk_crypto_key *bc_key; - u64 bc_dun[4]; -}; - -struct bio_fallback_crypt_ctx { - struct bio_crypt_ctx crypt_ctx; - struct bvec_iter crypt_iter; - union { - struct { - struct work_struct work; - struct bio *bio; - }; - struct { - void *bi_private_orig; - bio_end_io_t *bi_end_io_orig; - }; - }; -}; - -struct bio_integrity_payload { - struct bvec_iter bip_iter; - short unsigned int bip_vcnt; - short unsigned int bip_max_vcnt; - short unsigned int bip_flags; - u16 app_tag; - struct bio_vec *bip_vec; -}; - -struct bio_integrity_alloc { - struct bio_integrity_payload bip; - struct bio_vec bvecs[0]; -}; - -struct bio_integrity_data { - struct bio *bio; - struct bvec_iter saved_bio_iter; - struct work_struct work; - struct bio_integrity_payload bip; - struct bio_vec bvec; -}; - -struct bio_list { - struct bio *head; - struct bio *tail; -}; - -struct iovec { - void *iov_base; - __kernel_size_t iov_len; -}; - -struct kvec; - -struct folio_queue; - -struct iov_iter { - u8 iter_type; - bool nofault; - bool data_source; - size_t iov_offset; - union { - struct iovec __ubuf_iovec; - struct { - union { - const struct iovec *__iov; - const struct kvec *kvec; - const struct bio_vec *bvec; - const struct folio_queue *folioq; - struct xarray *xarray; - void *ubuf; - }; - size_t count; - }; - }; - union { - long unsigned int nr_segs; - u8 folioq_slot; - loff_t xarray_start; - }; -}; - -struct bio_map_data { - bool is_our_pages: 1; - bool is_null_mapped: 1; - struct iov_iter iter; - struct iovec iov[0]; -}; - -struct bio_post_read_ctx { - struct bio *bio; - struct work_struct work; - unsigned int cur_step; - unsigned int enabled_steps; -}; - -typedef void *mempool_alloc_t(gfp_t, void *); - -typedef void mempool_free_t(void *, void *); - -struct mempool_s { - spinlock_t lock; - int min_nr; - int curr_nr; - void **elements; - void *pool_data; - mempool_alloc_t *alloc; - mempool_free_t *free; - wait_queue_head_t wait; -}; - -typedef struct mempool_s mempool_t; - -struct kmem_cache; - -struct bio_set { - struct kmem_cache *bio_slab; - unsigned int front_pad; - struct bio_alloc_cache *cache; - mempool_t bio_pool; - mempool_t bvec_pool; - unsigned int back_pad; - spinlock_t rescue_lock; - struct bio_list rescue_list; - struct work_struct rescue_work; - struct workqueue_struct *rescue_workqueue; - struct hlist_node cpuhp_dead; -}; - -struct bio_slab { - struct kmem_cache *slab; - unsigned int slab_ref; - unsigned int slab_size; - char name[12]; -}; - -struct biovec_slab { - int nr_vecs; - char *name; - struct kmem_cache *slab; -}; - -struct bitmap_page; - -struct bitmap_counts { - spinlock_t lock; - struct bitmap_page *bp; - long unsigned int pages; - long unsigned int missing_pages; - long unsigned int chunkshift; - long unsigned int chunks; -}; - -struct bitmap_storage { - struct file *file; - struct page *sb_page; - long unsigned int sb_index; - struct page **filemap; - long unsigned int *filemap_attr; - long unsigned int file_pages; - long unsigned int bytes; -}; - -struct mddev; - -struct bitmap { - struct bitmap_counts counts; - struct mddev *mddev; - __u64 events_cleared; - int need_sync; - struct bitmap_storage storage; - long unsigned int flags; - int allclean; - atomic_t behind_writes; - long unsigned int behind_writes_used; - long unsigned int daemon_lastrun; - long unsigned int last_end_sync; - atomic_t pending_writes; - wait_queue_head_t write_wait; - wait_queue_head_t overflow_wait; - wait_queue_head_t behind_wait; - struct kernfs_node *sysfs_can_clear; - int cluster_slot; -}; - -struct md_bitmap_stats; - -struct bitmap_operations { - bool (*enabled)(struct mddev *); - int (*create)(struct mddev *); - int (*resize)(struct mddev *, sector_t, int, bool); - int (*load)(struct mddev *); - void (*destroy)(struct mddev *); - void (*flush)(struct mddev *); - void (*write_all)(struct mddev *); - void (*dirty_bits)(struct mddev *, long unsigned int, long unsigned int); - void (*unplug)(struct mddev *, bool); - void (*daemon_work)(struct mddev *); - void (*start_behind_write)(struct mddev *); - void (*end_behind_write)(struct mddev *); - void (*wait_behind_writes)(struct mddev *); - void (*start_write)(struct mddev *, sector_t, long unsigned int); - void (*end_write)(struct mddev *, sector_t, long unsigned int); - bool (*start_sync)(struct mddev *, sector_t, sector_t *, bool); - void (*end_sync)(struct mddev *, sector_t, sector_t *); - void (*cond_end_sync)(struct mddev *, sector_t, bool); - void (*close_sync)(struct mddev *); - void (*update_sb)(void *); - int (*get_stats)(void *, struct md_bitmap_stats *); - void (*sync_with_cluster)(struct mddev *, sector_t, sector_t, sector_t, sector_t); - void * (*get_from_slot)(struct mddev *, int); - int (*copy_from_slot)(struct mddev *, int, sector_t *, sector_t *, bool); - void (*set_pages)(void *, long unsigned int); - void (*free)(void *); -}; - -struct bitmap_page { - char *map; - unsigned int hijacked: 1; - unsigned int pending: 1; - unsigned int count: 30; -}; - -struct bitmap_super_s { - __le32 magic; - __le32 version; - __u8 uuid[16]; - __le64 events; - __le64 events_cleared; - __le64 sync_size; - __le32 state; - __le32 chunksize; - __le32 daemon_sleep; - __le32 write_behind; - __le32 sectors_reserved; - __le32 nodes; - __u8 cluster_name[64]; - __u8 pad[120]; -}; - -typedef struct bitmap_super_s bitmap_super_t; - -struct bitmap_unplug_work { - struct work_struct work; - struct bitmap *bitmap; - struct completion *done; -}; - -struct blacklist_entry { - struct list_head next; - char *buf; -}; - -struct blake2s_state { - u32 h[8]; - u32 t[2]; - u32 f[2]; - u8 buf[64]; - unsigned int buflen; - unsigned int outlen; -}; - -struct blk_crypto_profile; - -struct blk_crypto_attr { - struct attribute attr; - ssize_t (*show)(struct blk_crypto_profile *, struct blk_crypto_attr *, char *); -}; - -struct blk_crypto_config { - enum blk_crypto_mode_num crypto_mode; - unsigned int data_unit_size; - unsigned int dun_bytes; - enum blk_crypto_key_type key_type; -}; - -struct crypto_skcipher; - -struct blk_crypto_fallback_keyslot { - enum blk_crypto_mode_num crypto_mode; - struct crypto_skcipher *tfms[5]; -}; - -struct blk_crypto_generate_key_arg { - __u64 lt_key_ptr; - __u64 lt_key_size; - __u64 reserved[4]; -}; - -struct blk_crypto_import_key_arg { - __u64 raw_key_ptr; - __u64 raw_key_size; - __u64 lt_key_ptr; - __u64 lt_key_size; - __u64 reserved[4]; -}; - -union blk_crypto_iv { - __le64 dun[4]; - u8 bytes[32]; -}; - -struct blk_crypto_key { - struct blk_crypto_config crypto_cfg; - unsigned int data_unit_size_bits; - unsigned int size; - u8 bytes[128]; -}; - -struct blk_crypto_keyslot { - atomic_t slot_refs; - struct list_head idle_slot_node; - struct hlist_node hash_node; - const struct blk_crypto_key *key; - struct blk_crypto_profile *profile; -}; - -struct blk_crypto_kobj { - struct kobject kobj; - struct blk_crypto_profile *profile; -}; - -struct blk_crypto_ll_ops { - int (*keyslot_program)(struct blk_crypto_profile *, const struct blk_crypto_key *, unsigned int); - int (*keyslot_evict)(struct blk_crypto_profile *, const struct blk_crypto_key *, unsigned int); - int (*derive_sw_secret)(struct blk_crypto_profile *, const u8 *, size_t, u8 *); - int (*import_key)(struct blk_crypto_profile *, const u8 *, size_t, u8 *); - int (*generate_key)(struct blk_crypto_profile *, u8 *); - int (*prepare_key)(struct blk_crypto_profile *, const u8 *, size_t, u8 *); -}; - -struct blk_crypto_mode { - const char *name; - const char *cipher_str; - unsigned int keysize; - unsigned int security_strength; - unsigned int ivsize; -}; - -struct blk_crypto_prepare_key_arg { - __u64 lt_key_ptr; - __u64 lt_key_size; - __u64 eph_key_ptr; - __u64 eph_key_size; - __u64 reserved[4]; -}; - -struct blk_crypto_profile { - struct blk_crypto_ll_ops ll_ops; - unsigned int max_dun_bytes_supported; - unsigned int key_types_supported; - unsigned int modes_supported[5]; - struct device *dev; - unsigned int num_slots; - struct rw_semaphore lock; - struct lock_class_key lockdep_key; - wait_queue_head_t idle_slots_wait_queue; - struct list_head idle_slots; - spinlock_t idle_slots_lock; - struct hlist_head *slot_hashtable; - unsigned int log_slot_ht_size; - struct blk_crypto_keyslot *slots; -}; - -struct req_iterator { - struct bvec_iter iter; - struct bio *bio; -}; - -struct dev_pagemap; - -struct pci_p2pdma_map_state { - struct dev_pagemap *pgmap; - enum pci_p2pdma_map_type map; - u64 bus_off; -}; - -struct blk_dma_iter { - dma_addr_t addr; - u32 len; - blk_status_t status; - struct req_iterator iter; - struct pci_p2pdma_map_state p2pdma; -}; - -struct blk_expired_data { - bool has_timedout_rq; - long unsigned int next; - long unsigned int timeout_start; -}; - -struct request; - -struct blk_flush_queue { - spinlock_t mq_flush_lock; - unsigned int flush_pending_idx: 1; - unsigned int flush_running_idx: 1; - blk_status_t rq_status; - long unsigned int flush_pending_since; - struct list_head flush_queue[2]; - long unsigned int flush_data_in_flight; - struct request *flush_rq; -}; - -struct blk_holder_ops { - void (*mark_dead)(struct block_device *, bool); - void (*sync)(struct block_device *); - int (*freeze)(struct block_device *); - int (*thaw)(struct block_device *); -}; - -struct blk_independent_access_range; - -struct blk_ia_range_sysfs_entry { - struct attribute attr; - ssize_t (*show)(struct blk_independent_access_range *, char *); -}; - -struct blk_independent_access_range { - struct kobject kobj; - sector_t sector; - sector_t nr_sectors; -}; - -struct blk_independent_access_ranges { - struct kobject kobj; - bool sysfs_registered; - unsigned int nr_ia_ranges; - struct blk_independent_access_range ia_range[0]; -}; - -struct blk_integrity { - unsigned char flags; - enum blk_integrity_checksum csum_type; - unsigned char metadata_size; - unsigned char pi_offset; - unsigned char interval_exp; - unsigned char tag_size; - unsigned char pi_tuple_size; -}; - -struct blk_integrity_iter { - void *prot_buf; - void *data_buf; - sector_t seed; - unsigned int data_size; - short unsigned int interval; - const char *disk_name; -}; - -struct blk_io_trace { - __u32 magic; - __u32 sequence; - __u64 time; - __u64 sector; - __u32 bytes; - __u32 action; - __u32 pid; - __u32 device; - __u32 cpu; - __u16 error; - __u16 pdu_len; -}; - -struct blk_io_trace_remap { - __be32 device_from; - __be32 device_to; - __be64 sector_from; -}; - -struct blk_iou_cmd { - int res; - bool nowait; -}; - -struct blk_major_name { - struct blk_major_name *next; - int major; - char name[16]; - void (*probe)(dev_t); -}; - -struct rq_list; - -struct blk_mq_ctx; - -struct blk_mq_hw_ctx; - -struct blk_mq_alloc_data { - struct request_queue *q; - blk_mq_req_flags_t flags; - unsigned int shallow_depth; - blk_opf_t cmd_flags; - req_flags_t rq_flags; - unsigned int nr_tags; - struct rq_list *cached_rqs; - struct blk_mq_ctx *ctx; - struct blk_mq_hw_ctx *hctx; -}; - -struct blk_mq_ctxs; - -struct blk_mq_ctx { - struct { - spinlock_t lock; - struct list_head rq_lists[3]; - long: 64; - }; - unsigned int cpu; - short unsigned int index_hw[3]; - struct blk_mq_hw_ctx *hctxs[3]; - struct request_queue *queue; - struct blk_mq_ctxs *ctxs; - struct kobject kobj; - long: 64; -}; - -struct blk_mq_ctxs { - struct kobject kobj; - struct blk_mq_ctx *queue_ctx; -}; - -struct seq_operations; - -struct blk_mq_debugfs_attr { - const char *name; - umode_t mode; - int (*show)(void *, struct seq_file *); - ssize_t (*write)(void *, const char *, size_t, loff_t *); - const struct seq_operations *seq_ops; -}; - -struct sbitmap_word; - -struct sbitmap { - unsigned int depth; - unsigned int shift; - unsigned int map_nr; - bool round_robin; - struct sbitmap_word *map; - unsigned int *alloc_hint; -}; - -typedef struct wait_queue_entry wait_queue_entry_t; - -struct blk_mq_hw_ctx { - struct { - spinlock_t lock; - struct list_head dispatch; - long unsigned int state; - long: 64; - long: 64; - long: 64; - long: 64; - }; - struct delayed_work run_work; - cpumask_var_t cpumask; - int next_cpu; - int next_cpu_batch; - long unsigned int flags; - void *sched_data; - struct request_queue *queue; - struct blk_flush_queue *fq; - void *driver_data; - struct sbitmap ctx_map; - struct blk_mq_ctx *dispatch_from; - unsigned int dispatch_busy; - short unsigned int type; - short unsigned int nr_ctx; - struct blk_mq_ctx **ctxs; - spinlock_t dispatch_wait_lock; - wait_queue_entry_t dispatch_wait; - atomic_t wait_index; - struct blk_mq_tags *tags; - struct blk_mq_tags *sched_tags; - unsigned int numa_node; - unsigned int queue_num; - atomic_t nr_active; - struct hlist_node cpuhp_online; - struct hlist_node cpuhp_dead; - struct kobject kobj; - struct dentry *debugfs_dir; - struct dentry *sched_debugfs_dir; - struct list_head hctx_list; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct blk_mq_hw_ctx_sysfs_entry { - struct attribute attr; - ssize_t (*show)(struct blk_mq_hw_ctx *, char *); -}; - -struct blk_mq_queue_data; - -struct io_comp_batch; - -struct blk_mq_ops { - blk_status_t (*queue_rq)(struct blk_mq_hw_ctx *, const struct blk_mq_queue_data *); - void (*commit_rqs)(struct blk_mq_hw_ctx *); - void (*queue_rqs)(struct rq_list *); - int (*get_budget)(struct request_queue *); - void (*put_budget)(struct request_queue *, int); - void (*set_rq_budget_token)(struct request *, int); - int (*get_rq_budget_token)(struct request *); - enum blk_eh_timer_return (*timeout)(struct request *); - int (*poll)(struct blk_mq_hw_ctx *, struct io_comp_batch *); - void (*complete)(struct request *); - int (*init_hctx)(struct blk_mq_hw_ctx *, void *, unsigned int); - void (*exit_hctx)(struct blk_mq_hw_ctx *, unsigned int); - int (*init_request)(struct blk_mq_tag_set *, struct request *, unsigned int, unsigned int); - void (*exit_request)(struct blk_mq_tag_set *, struct request *, unsigned int); - void (*cleanup_rq)(struct request *); - bool (*busy)(struct request_queue *); - void (*map_queues)(struct blk_mq_tag_set *); - void (*show_rq)(struct seq_file *, struct request *); -}; - -struct blk_mq_queue_data { - struct request *rq; - bool last; -}; - -struct sbq_wait_state; - -struct sbitmap_queue { - struct sbitmap sb; - unsigned int wake_batch; - atomic_t wake_index; - struct sbq_wait_state *ws; - atomic_t ws_active; - unsigned int min_shallow_depth; - atomic_t completion_cnt; - atomic_t wakeup_cnt; -}; - -struct blk_mq_tags { - unsigned int nr_tags; - unsigned int nr_reserved_tags; - unsigned int active_queues; - struct sbitmap_queue bitmap_tags; - struct sbitmap_queue breserved_tags; - struct request **rqs; - struct request **static_rqs; - struct list_head page_list; - spinlock_t lock; -}; - -struct rq_list { - struct request *head; - struct request *tail; -}; - -struct blk_plug { - struct rq_list mq_list; - struct rq_list cached_rqs; - u64 cur_ktime; - short unsigned int nr_ios; - short unsigned int rq_count; - bool multiple_queues; - bool has_elevator; - struct list_head cb_list; -}; - -struct blk_plug_cb; - -typedef void (*blk_plug_cb_fn)(struct blk_plug_cb *, bool); - -struct blk_plug_cb { - struct list_head list; - blk_plug_cb_fn callback; - void *data; -}; - -struct blk_queue_stats { - struct list_head callbacks; - spinlock_t lock; - int accounting; -}; - -struct blk_revalidate_zone_args { - struct gendisk *disk; - long unsigned int *conv_zones_bitmap; - unsigned int nr_zones; - unsigned int zone_capacity; - unsigned int last_zone_capacity; - sector_t sector; -}; - -struct blk_rq_stat { - u64 mean; - u64 min; - u64 max; - u32 nr_samples; - u64 batch; -}; - -struct blk_rq_wait { - struct completion done; - blk_status_t ret; -}; - -struct blkif_request_segment { - grant_ref_t gref; - uint8_t first_sect; - uint8_t last_sect; -}; - -struct blkif_request_rw { - uint8_t nr_segments; - blkif_vdev_t handle; - uint32_t _pad1; - uint64_t id; - blkif_sector_t sector_number; - struct blkif_request_segment seg[11]; -} __attribute__((packed)); - -struct blkif_request_discard { - uint8_t flag; - blkif_vdev_t _pad1; - uint32_t _pad2; - uint64_t id; - blkif_sector_t sector_number; - uint64_t nr_sectors; - uint8_t _pad3; -} __attribute__((packed)); - -struct blkif_request_other { - uint8_t _pad1; - blkif_vdev_t _pad2; - uint32_t _pad3; - uint64_t id; -} __attribute__((packed)); - -struct blkif_request_indirect { - uint8_t indirect_op; - uint16_t nr_segments; - uint32_t _pad1; - uint64_t id; - blkif_sector_t sector_number; - blkif_vdev_t handle; - uint16_t _pad2; - grant_ref_t indirect_grefs[8]; - uint32_t _pad3; -} __attribute__((packed)); - -struct blkif_request { - uint8_t operation; - union { - struct blkif_request_rw rw; - struct blkif_request_discard discard; - struct blkif_request_other other; - struct blkif_request_indirect indirect; - } u; -}; - -struct grant; - -struct blk_shadow { - struct blkif_request req; - struct request *request; - struct grant **grants_used; - struct grant **indirect_grants; - struct scatterlist *sg; - unsigned int num_sg; - enum blk_req_status status; - long unsigned int associated_id; -}; - -struct blk_stat_callback { - struct list_head list; - struct timer_list timer; - struct blk_rq_stat *cpu_stat; - int (*bucket_fn)(const struct request *); - unsigned int buckets; - struct blk_rq_stat *stat; - void (*timer_fn)(struct blk_stat_callback *); - void *data; - struct callback_head rcu; -}; - -struct rchan; - -struct blk_trace { - int trace_state; - struct rchan *rchan; - long unsigned int *sequence; - unsigned char *msg_data; - u16 act_mask; - u64 start_lba; - u64 end_lba; - u32 pid; - u32 dev; - struct dentry *dir; - struct list_head running_list; - atomic_t dropped; -}; - -struct blk_user_trace_setup { - char name[32]; - __u16 act_mask; - __u32 buf_size; - __u32 buf_nr; - __u64 start_lba; - __u64 end_lba; - __u32 pid; -}; - -struct blk_zone { - __u64 start; - __u64 len; - __u64 wp; - __u8 type; - __u8 cond; - __u8 non_seq; - __u8 reset; - __u8 resv[4]; - __u64 capacity; - __u8 reserved[24]; -}; - -struct blk_zone_range { - __u64 sector; - __u64 nr_sectors; -}; - -struct blk_zone_report { - __u64 sector; - __u32 nr_zones; - __u32 flags; - struct blk_zone zones[0]; -}; - -struct blk_zone_wplug { - struct hlist_node node; - refcount_t ref; - spinlock_t lock; - unsigned int flags; - unsigned int zone_no; - unsigned int wp_offset; - struct bio_list bio_list; - struct work_struct bio_work; - struct callback_head callback_head; - struct gendisk *disk; -}; - -struct cgroup_subsys; - -struct css_rstat_cpu; - -struct cgroup_subsys_state { - struct cgroup *cgroup; - struct cgroup_subsys *ss; - struct percpu_ref refcnt; - struct css_rstat_cpu *rstat_cpu; - struct list_head sibling; - struct list_head children; - int id; - unsigned int flags; - u64 serial_nr; - atomic_t online_cnt; - struct work_struct destroy_work; - struct rcu_work destroy_rwork; - struct cgroup_subsys_state *parent; - int nr_descendants; - struct cgroup_subsys_state *rstat_flush_next; -}; - -struct blkcg_policy_data; - -struct blkcg { - struct cgroup_subsys_state css; - spinlock_t lock; - refcount_t online_pin; - atomic_t congestion_count; - struct xarray blkg_tree; - struct blkcg_gq *blkg_hint; - struct hlist_head blkg_list; - struct blkcg_policy_data *cpd[6]; - struct list_head all_blkcgs_node; - struct llist_head *lhead; - char fc_app_id[129]; - struct list_head cgwb_list; -}; - -struct blkg_iostat { - u64 bytes[3]; - u64 ios[3]; -}; - -struct blkg_iostat_set { - struct u64_stats_sync sync; - struct blkcg_gq *blkg; - struct llist_node lnode; - int lqueued; - struct blkg_iostat cur; - struct blkg_iostat last; -}; - -struct blkg_policy_data; - -struct blkcg_gq { - struct request_queue *q; - struct list_head q_node; - struct hlist_node blkcg_node; - struct blkcg *blkcg; - struct blkcg_gq *parent; - struct percpu_ref refcnt; - bool online; - struct blkg_iostat_set *iostat_cpu; - struct blkg_iostat_set iostat; - struct blkg_policy_data *pd[6]; - spinlock_t async_bio_lock; - struct bio_list async_bios; - union { - struct work_struct async_bio_work; - struct work_struct free_work; - }; - atomic_t use_delay; - atomic64_t delay_nsec; - atomic64_t delay_start; - u64 last_delay; - int last_use; - struct callback_head callback_head; -}; - -typedef struct blkcg_policy_data *blkcg_pol_alloc_cpd_fn(gfp_t); - -typedef void blkcg_pol_free_cpd_fn(struct blkcg_policy_data *); - -typedef struct blkg_policy_data *blkcg_pol_alloc_pd_fn(struct gendisk *, struct blkcg *, gfp_t); - -typedef void blkcg_pol_init_pd_fn(struct blkg_policy_data *); - -typedef void blkcg_pol_online_pd_fn(struct blkg_policy_data *); - -typedef void blkcg_pol_offline_pd_fn(struct blkg_policy_data *); - -typedef void blkcg_pol_free_pd_fn(struct blkg_policy_data *); - -typedef void blkcg_pol_reset_pd_stats_fn(struct blkg_policy_data *); - -typedef void blkcg_pol_stat_pd_fn(struct blkg_policy_data *, struct seq_file *); - -struct cftype; - -struct blkcg_policy { - int plid; - struct cftype *dfl_cftypes; - struct cftype *legacy_cftypes; - blkcg_pol_alloc_cpd_fn *cpd_alloc_fn; - blkcg_pol_free_cpd_fn *cpd_free_fn; - blkcg_pol_alloc_pd_fn *pd_alloc_fn; - blkcg_pol_init_pd_fn *pd_init_fn; - blkcg_pol_online_pd_fn *pd_online_fn; - blkcg_pol_offline_pd_fn *pd_offline_fn; - blkcg_pol_free_pd_fn *pd_free_fn; - blkcg_pol_reset_pd_stats_fn *pd_reset_stats_fn; - blkcg_pol_stat_pd_fn *pd_stat_fn; -}; - -struct blkcg_policy_data { - struct blkcg *blkcg; - int plid; -}; - -struct blkdev_dio { - union { - struct kiocb *iocb; - struct task_struct *waiter; - }; - size_t size; - atomic_t ref; - unsigned int flags; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - struct bio bio; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct xenbus_device; - -struct blkfront_ring_info; - -struct blkfront_info { - struct mutex mutex; - struct xenbus_device *xbdev; - struct gendisk *gd; - u16 sector_size; - unsigned int physical_sector_size; - long unsigned int vdisk_info; - int vdevice; - blkif_vdev_t handle; - enum blkif_state connected; - unsigned int nr_ring_pages; - struct request_queue *rq; - unsigned int feature_flush: 1; - unsigned int feature_fua: 1; - unsigned int feature_discard: 1; - unsigned int feature_secdiscard: 1; - unsigned int feature_persistent_parm: 1; - unsigned int feature_persistent: 1; - unsigned int bounce: 1; - unsigned int discard_granularity; - unsigned int discard_alignment; - unsigned int max_indirect_segments; - int is_ready; - struct blk_mq_tag_set tag_set; - struct blkfront_ring_info *rinfo; - unsigned int nr_rings; - unsigned int rinfo_size; - struct list_head requests; - struct bio_list bio_list; - struct list_head info_list; -}; - -struct blkif_sring; - -struct blkif_front_ring { - RING_IDX req_prod_pvt; - RING_IDX rsp_cons; - unsigned int nr_ents; - struct blkif_sring *sring; -}; - -struct gnttab_free_callback { - struct gnttab_free_callback *next; - void (*fn)(void *); - void *arg; - u16 count; -}; - -struct blkfront_ring_info { - spinlock_t ring_lock; - struct blkif_front_ring ring; - unsigned int ring_ref[16]; - unsigned int evtchn; - unsigned int irq; - struct work_struct work; - struct gnttab_free_callback callback; - struct list_head indirect_pages; - struct list_head grants; - unsigned int persistent_gnts_c; - long unsigned int shadow_free; - struct blkfront_info *dev_info; - struct blk_shadow shadow[0]; -}; - -struct blkg_conf_ctx { - char *input; - char *body; - struct block_device *bdev; - struct blkcg_gq *blkg; -}; - -struct blkg_policy_data { - struct blkcg_gq *blkg; - int plid; - bool online; -}; - -struct blkg_rwstat { - struct percpu_counter cpu_cnt[5]; - atomic64_t aux_cnt[5]; -}; - -struct blkg_rwstat_sample { - u64 cnt[5]; -}; - -struct blkif_req { - blk_status_t error; -}; - -struct blkif_response { - uint64_t id; - uint8_t operation; - int16_t status; -}; - -union blkif_sring_entry { - struct blkif_request req; - struct blkif_response rsp; -}; - -struct blkif_sring { - RING_IDX req_prod; - RING_IDX req_event; - RING_IDX rsp_prod; - RING_IDX rsp_event; - uint8_t __pad[48]; - union blkif_sring_entry ring[0]; -}; - -struct blkpg_ioctl_arg { - int op; - int flags; - int datalen; - void *data; -}; - -struct blkpg_partition { - long long int start; - long long int length; - int pno; - char devname[64]; - char volname[64]; -}; - -struct block_buffer { - u32 filled; - bool is_root_hash; - u8 *data; -}; - -typedef int (*report_zones_cb)(struct blk_zone *, unsigned int, void *); - -struct hd_geometry; - -struct pr_ops; - -struct block_device_operations { - void (*submit_bio)(struct bio *); - int (*poll_bio)(struct bio *, struct io_comp_batch *, unsigned int); - int (*open)(struct gendisk *, blk_mode_t); - void (*release)(struct gendisk *); - int (*ioctl)(struct block_device *, blk_mode_t, unsigned int, long unsigned int); - int (*compat_ioctl)(struct block_device *, blk_mode_t, unsigned int, long unsigned int); - unsigned int (*check_events)(struct gendisk *, unsigned int); - void (*unlock_native_capacity)(struct gendisk *); - int (*getgeo)(struct block_device *, struct hd_geometry *); - int (*set_read_only)(struct block_device *, bool); - void (*free_disk)(struct gendisk *); - void (*swap_slot_free_notify)(struct block_device *, long unsigned int); - int (*report_zones)(struct gendisk *, sector_t, unsigned int, report_zones_cb, void *); - char * (*devnode)(struct gendisk *, umode_t *); - int (*get_unique_id)(struct gendisk *, u8 *, enum blk_unique_id); - struct module *owner; - const struct pr_ops *pr_ops; - int (*alternative_gpt_sector)(struct gendisk *, sector_t *); -}; - -struct blockgroup_lock { - struct bgl_lock locks[128]; -}; - -struct mem_zone_bm_rtree; - -struct rtree_node; - -struct bm_position { - struct mem_zone_bm_rtree *zone; - struct rtree_node *node; - long unsigned int node_pfn; - long unsigned int cur_pfn; - int node_bit; -}; - -struct bmp_header { - u16 id; - u32 size; -} __attribute__((packed)); - -struct spi_board_info { - char modalias[32]; - const void *platform_data; - const struct software_node *swnode; - void *controller_data; - int irq; - u32 max_speed_hz; - u16 bus_num; - u16 chip_select; - u32 mode; -}; - -struct boardinfo { - struct list_head list; - struct spi_board_info board_info; -}; - -struct boot_e820_entry { - __u64 addr; - __u64 size; - __u32 type; -} __attribute__((packed)); - -struct screen_info { - __u8 orig_x; - __u8 orig_y; - __u16 ext_mem_k; - __u16 orig_video_page; - __u8 orig_video_mode; - __u8 orig_video_cols; - __u8 flags; - __u8 unused2; - __u16 orig_video_ega_bx; - __u16 unused3; - __u8 orig_video_lines; - __u8 orig_video_isVGA; - __u16 orig_video_points; - __u16 lfb_width; - __u16 lfb_height; - __u16 lfb_depth; - __u32 lfb_base; - __u32 lfb_size; - __u16 cl_magic; - __u16 cl_offset; - __u16 lfb_linelength; - __u8 red_size; - __u8 red_pos; - __u8 green_size; - __u8 green_pos; - __u8 blue_size; - __u8 blue_pos; - __u8 rsvd_size; - __u8 rsvd_pos; - __u16 vesapm_seg; - __u16 vesapm_off; - __u16 pages; - __u16 vesa_attributes; - __u32 capabilities; - __u32 ext_lfb_base; - __u8 _reserved[2]; -} __attribute__((packed)); - -struct ist_info { - __u32 signature; - __u32 command; - __u32 event; - __u32 perf_level; -}; - -struct sys_desc_table { - __u16 length; - __u8 table[14]; -}; - -struct olpc_ofw_header { - __u32 ofw_magic; - __u32 ofw_version; - __u32 cif_handler; - __u32 irq_desc_table; -}; - -struct edid_info { - unsigned char dummy[128]; -}; - -struct efi_info { - __u32 efi_loader_signature; - __u32 efi_systab; - __u32 efi_memdesc_size; - __u32 efi_memdesc_version; - __u32 efi_memmap; - __u32 efi_memmap_size; - __u32 efi_systab_hi; - __u32 efi_memmap_hi; -}; - -struct setup_header { - __u8 setup_sects; - __u16 root_flags; - __u32 syssize; - __u16 ram_size; - __u16 vid_mode; - __u16 root_dev; - __u16 boot_flag; - __u16 jump; - __u32 header; - __u16 version; - __u32 realmode_swtch; - __u16 start_sys_seg; - __u16 kernel_version; - __u8 type_of_loader; - __u8 loadflags; - __u16 setup_move_size; - __u32 code32_start; - __u32 ramdisk_image; - __u32 ramdisk_size; - __u32 bootsect_kludge; - __u16 heap_end_ptr; - __u8 ext_loader_ver; - __u8 ext_loader_type; - __u32 cmd_line_ptr; - __u32 initrd_addr_max; - __u32 kernel_alignment; - __u8 relocatable_kernel; - __u8 min_alignment; - __u16 xloadflags; - __u32 cmdline_size; - __u32 hardware_subarch; - __u64 hardware_subarch_data; - __u32 payload_offset; - __u32 payload_length; - __u64 setup_data; - __u64 pref_address; - __u32 init_size; - __u32 handover_offset; - __u32 kernel_info_offset; -} __attribute__((packed)); - -struct edd_device_params { - __u16 length; - __u16 info_flags; - __u32 num_default_cylinders; - __u32 num_default_heads; - __u32 sectors_per_track; - __u64 number_of_sectors; - __u16 bytes_per_sector; - __u32 dpte_ptr; - __u16 key; - __u8 device_path_info_length; - __u8 reserved2; - __u16 reserved3; - __u8 host_bus_type[4]; - __u8 interface_type[8]; - union { - struct { - __u16 base_address; - __u16 reserved1; - __u32 reserved2; - } isa; - struct { - __u8 bus; - __u8 slot; - __u8 function; - __u8 channel; - __u32 reserved; - } pci; - struct { - __u64 reserved; - } ibnd; - struct { - __u64 reserved; - } xprs; - struct { - __u64 reserved; - } htpt; - struct { - __u64 reserved; - } unknown; - } interface_path; - union { - struct { - __u8 device; - __u8 reserved1; - __u16 reserved2; - __u32 reserved3; - __u64 reserved4; - } ata; - struct { - __u8 device; - __u8 lun; - __u8 reserved1; - __u8 reserved2; - __u32 reserved3; - __u64 reserved4; - } atapi; - struct { - __u16 id; - __u64 lun; - __u16 reserved1; - __u32 reserved2; - } __attribute__((packed)) scsi; - struct { - __u64 serial_number; - __u64 reserved; - } usb; - struct { - __u64 eui; - __u64 reserved; - } i1394; - struct { - __u64 wwid; - __u64 lun; - } fibre; - struct { - __u64 identity_tag; - __u64 reserved; - } i2o; - struct { - __u32 array_number; - __u32 reserved1; - __u64 reserved2; - } raid; - struct { - __u8 device; - __u8 reserved1; - __u16 reserved2; - __u32 reserved3; - __u64 reserved4; - } sata; - struct { - __u64 reserved1; - __u64 reserved2; - } unknown; - } device_path; - __u8 reserved4; - __u8 checksum; -} __attribute__((packed)); - -struct edd_info { - __u8 device; - __u8 version; - __u16 interface_support; - __u16 legacy_max_cylinder; - __u8 legacy_max_head; - __u8 legacy_sectors_per_track; - struct edd_device_params params; -}; - -struct boot_params { - struct screen_info screen_info; - struct apm_bios_info apm_bios_info; - __u8 _pad2[4]; - __u64 tboot_addr; - struct ist_info ist_info; - __u64 acpi_rsdp_addr; - __u8 _pad3[8]; - __u8 hd0_info[16]; - __u8 hd1_info[16]; - struct sys_desc_table sys_desc_table; - struct olpc_ofw_header olpc_ofw_header; - __u32 ext_ramdisk_image; - __u32 ext_ramdisk_size; - __u32 ext_cmd_line_ptr; - __u8 _pad4[112]; - __u32 cc_blob_address; - struct edid_info edid_info; - struct efi_info efi_info; - __u32 alt_mem_k; - __u32 scratch; - __u8 e820_entries; - __u8 eddbuf_entries; - __u8 edd_mbr_sig_buf_entries; - __u8 kbd_status; - __u8 secure_boot; - __u8 _pad5[2]; - __u8 sentinel; - __u8 _pad6[1]; - struct setup_header hdr; - __u8 _pad7[36]; - __u32 edd_mbr_sig_buffer[16]; - struct boot_e820_entry e820_table[128]; - __u8 _pad8[48]; - struct edd_info eddbuf[6]; - __u8 _pad9[276]; -}; - -struct boot_params_to_save { - unsigned int start; - unsigned int len; -}; - -struct fpdt_record_header { - u16 type; - u8 length; - u8 revision; -}; - -struct boot_performance_record { - struct fpdt_record_header header; - u32 reserved; - u64 firmware_start; - u64 bootloader_load; - u64 bootloader_launch; - u64 exitbootservice_start; - u64 exitbootservice_end; -}; - -struct boot_triggers { - const char *event; - char *trigger; -}; - -struct bp_slots_histogram { - atomic_t count[4]; -}; - -struct bp_cpuinfo { - unsigned int cpu_pinned; - struct bp_slots_histogram tsk_pinned; -}; - -struct bpf_map_ops; - -struct btf_record; - -struct btf; - -struct obj_cgroup; - -struct bpf_map_owner; - -struct bpf_map { - const struct bpf_map_ops *ops; - struct bpf_map *inner_map_meta; - void *security; - enum bpf_map_type map_type; - u32 key_size; - u32 value_size; - u32 max_entries; - u64 map_extra; - u32 map_flags; - u32 id; - struct btf_record *record; - int numa_node; - u32 btf_key_type_id; - u32 btf_value_type_id; - u32 btf_vmlinux_value_type_id; - struct btf *btf; - struct obj_cgroup *objcg; - char name[16]; - struct mutex freeze_mutex; - atomic64_t refcnt; - atomic64_t usercnt; - union { - struct work_struct work; - struct callback_head rcu; - }; - atomic64_t writecnt; - spinlock_t owner_lock; - struct bpf_map_owner *owner; - bool bypass_spec_v1; - bool frozen; - bool free_after_mult_rcu_gp; - bool free_after_rcu_gp; - atomic64_t sleepable_refcnt; - s64 *elem_count; - u64 cookie; -}; - -struct range_tree { - struct rb_root_cached it_root; - struct rb_root_cached range_size_root; -}; - -struct vm_struct; - -struct bpf_arena { - struct bpf_map map; - u64 user_vm_start; - u64 user_vm_end; - struct vm_struct *kern_vm; - struct range_tree rt; - struct list_head vma_list; - struct mutex lock; -}; - -struct bpf_array_aux; - -struct bpf_array { - struct bpf_map map; - u32 elem_size; - u32 index_mask; - struct bpf_array_aux *aux; - union { - struct { - struct {} __empty_value; - char value[0]; - }; - struct { - struct {} __empty_ptrs; - void *ptrs[0]; - }; - struct { - struct {} __empty_pptrs; - void *pptrs[0]; - }; - }; -}; - -struct bpf_array_aux { - struct list_head poke_progs; - struct bpf_map *map; - struct mutex poke_mutex; - struct work_struct work; -}; - -struct bpf_prog; - -struct bpf_async_cb { - struct bpf_map *map; - struct bpf_prog *prog; - void *callback_fn; - void *value; - union { - struct callback_head rcu; - struct work_struct delete_work; - }; - u64 flags; -}; - -struct bpf_spin_lock { - __u32 val; -}; - -struct bpf_hrtimer; - -struct bpf_work; - -struct bpf_async_kern { - union { - struct bpf_async_cb *cb; - struct bpf_hrtimer *timer; - struct bpf_work *work; - }; - struct bpf_spin_lock lock; -}; - -struct btf_func_model { - u8 ret_size; - u8 ret_flags; - u8 nr_args; - u8 arg_size[12]; - u8 arg_flags[12]; -}; - -struct btf_type; - -struct bpf_attach_target_info { - struct btf_func_model fmodel; - long int tgt_addr; - struct module *tgt_mod; - const char *tgt_name; - const struct btf_type *tgt_type; -}; - -union bpf_attr { - struct { - __u32 map_type; - __u32 key_size; - __u32 value_size; - __u32 max_entries; - __u32 map_flags; - __u32 inner_map_fd; - __u32 numa_node; - char map_name[16]; - __u32 map_ifindex; - __u32 btf_fd; - __u32 btf_key_type_id; - __u32 btf_value_type_id; - __u32 btf_vmlinux_value_type_id; - __u64 map_extra; - __s32 value_type_btf_obj_fd; - __s32 map_token_fd; - }; - struct { - __u32 map_fd; - __u64 key; - union { - __u64 value; - __u64 next_key; - }; - __u64 flags; - }; - struct { - __u64 in_batch; - __u64 out_batch; - __u64 keys; - __u64 values; - __u32 count; - __u32 map_fd; - __u64 elem_flags; - __u64 flags; - } batch; - struct { - __u32 prog_type; - __u32 insn_cnt; - __u64 insns; - __u64 license; - __u32 log_level; - __u32 log_size; - __u64 log_buf; - __u32 kern_version; - __u32 prog_flags; - char prog_name[16]; - __u32 prog_ifindex; - __u32 expected_attach_type; - __u32 prog_btf_fd; - __u32 func_info_rec_size; - __u64 func_info; - __u32 func_info_cnt; - __u32 line_info_rec_size; - __u64 line_info; - __u32 line_info_cnt; - __u32 attach_btf_id; - union { - __u32 attach_prog_fd; - __u32 attach_btf_obj_fd; - }; - __u32 core_relo_cnt; - __u64 fd_array; - __u64 core_relos; - __u32 core_relo_rec_size; - __u32 log_true_size; - __s32 prog_token_fd; - __u32 fd_array_cnt; - }; - struct { - __u64 pathname; - __u32 bpf_fd; - __u32 file_flags; - __s32 path_fd; - }; - struct { - union { - __u32 target_fd; - __u32 target_ifindex; - }; - __u32 attach_bpf_fd; - __u32 attach_type; - __u32 attach_flags; - __u32 replace_bpf_fd; - union { - __u32 relative_fd; - __u32 relative_id; - }; - __u64 expected_revision; - }; - struct { - __u32 prog_fd; - __u32 retval; - __u32 data_size_in; - __u32 data_size_out; - __u64 data_in; - __u64 data_out; - __u32 repeat; - __u32 duration; - __u32 ctx_size_in; - __u32 ctx_size_out; - __u64 ctx_in; - __u64 ctx_out; - __u32 flags; - __u32 cpu; - __u32 batch_size; - } test; - struct { - union { - __u32 start_id; - __u32 prog_id; - __u32 map_id; - __u32 btf_id; - __u32 link_id; - }; - __u32 next_id; - __u32 open_flags; - __s32 fd_by_id_token_fd; - }; - struct { - __u32 bpf_fd; - __u32 info_len; - __u64 info; - } info; - struct { - union { - __u32 target_fd; - __u32 target_ifindex; - }; - __u32 attach_type; - __u32 query_flags; - __u32 attach_flags; - __u64 prog_ids; - union { - __u32 prog_cnt; - __u32 count; - }; - __u64 prog_attach_flags; - __u64 link_ids; - __u64 link_attach_flags; - __u64 revision; - } query; - struct { - __u64 name; - __u32 prog_fd; - __u64 cookie; - } raw_tracepoint; - struct { - __u64 btf; - __u64 btf_log_buf; - __u32 btf_size; - __u32 btf_log_size; - __u32 btf_log_level; - __u32 btf_log_true_size; - __u32 btf_flags; - __s32 btf_token_fd; - }; - struct { - __u32 pid; - __u32 fd; - __u32 flags; - __u32 buf_len; - __u64 buf; - __u32 prog_id; - __u32 fd_type; - __u64 probe_offset; - __u64 probe_addr; - } task_fd_query; - struct { - union { - __u32 prog_fd; - __u32 map_fd; - }; - union { - __u32 target_fd; - __u32 target_ifindex; - }; - __u32 attach_type; - __u32 flags; - union { - __u32 target_btf_id; - struct { - __u64 iter_info; - __u32 iter_info_len; - }; - struct { - __u64 bpf_cookie; - } perf_event; - struct { - __u32 flags; - __u32 cnt; - __u64 syms; - __u64 addrs; - __u64 cookies; - } kprobe_multi; - struct { - __u32 target_btf_id; - __u64 cookie; - } tracing; - struct { - __u32 pf; - __u32 hooknum; - __s32 priority; - __u32 flags; - } netfilter; - struct { - union { - __u32 relative_fd; - __u32 relative_id; - }; - __u64 expected_revision; - } tcx; - struct { - __u64 path; - __u64 offsets; - __u64 ref_ctr_offsets; - __u64 cookies; - __u32 cnt; - __u32 flags; - __u32 pid; - } uprobe_multi; - struct { - union { - __u32 relative_fd; - __u32 relative_id; - }; - __u64 expected_revision; - } netkit; - struct { - union { - __u32 relative_fd; - __u32 relative_id; - }; - __u64 expected_revision; - } cgroup; - }; - } link_create; - struct { - __u32 link_fd; - union { - __u32 new_prog_fd; - __u32 new_map_fd; - }; - __u32 flags; - union { - __u32 old_prog_fd; - __u32 old_map_fd; - }; - } link_update; - struct { - __u32 link_fd; - } link_detach; - struct { - __u32 type; - } enable_stats; - struct { - __u32 link_fd; - __u32 flags; - } iter_create; - struct { - __u32 prog_fd; - __u32 map_fd; - __u32 flags; - } prog_bind_map; - struct { - __u32 flags; - __u32 bpffs_fd; - } token_create; - struct { - __u64 stream_buf; - __u32 stream_buf_len; - __u32 stream_id; - __u32 prog_fd; - } prog_stream_read; -}; - -struct bpf_binary_header { - u32 size; - long: 0; - u8 image[0]; -}; - -struct bpf_bloom_filter { - struct bpf_map map; - u32 bitset_mask; - u32 hash_seed; - u32 nr_hash_funcs; - long unsigned int bitset[0]; -}; - -struct bpf_bprintf_buffers { - char bin_args[512]; - char buf[1024]; -}; - -struct bpf_bprintf_data { - u32 *bin_args; - char *buf; - bool get_bin_args; - bool get_buf; -}; - -struct bpf_btf_info { - __u64 btf; - __u32 btf_size; - __u32 id; - __u64 name; - __u32 name_len; - __u32 kernel_btf; -}; - -struct btf_field; - -struct bpf_call_arg_meta { - struct bpf_map *map_ptr; - bool raw_mode; - bool pkt_access; - u8 release_regno; - int regno; - int access_size; - int mem_size; - u64 msize_max_value; - int ref_obj_id; - int dynptr_id; - int map_uid; - int func_id; - struct btf *btf; - u32 btf_id; - struct btf *ret_btf; - u32 ret_btf_id; - u32 subprogno; - struct btf_field *kptr_field; - s64 const_map_key; -}; - -struct bpf_cand_cache { - const char *name; - u32 name_len; - u16 kind; - u16 cnt; - struct { - const struct btf *btf; - u32 id; - } cands[0]; -}; - -struct bpf_run_ctx {}; - -struct bpf_prog_array_item; - -struct bpf_cg_run_ctx { - struct bpf_run_ctx run_ctx; - const struct bpf_prog_array_item *prog_item; - int retval; -}; - -struct bpf_cgroup_dev_ctx { - __u32 access_type; - __u32 major; - __u32 minor; -}; - -struct bpf_link_ops; - -struct bpf_link { - atomic64_t refcnt; - u32 id; - enum bpf_link_type type; - const struct bpf_link_ops *ops; - struct bpf_prog *prog; - u32 flags; - enum bpf_attach_type attach_type; - union { - struct callback_head rcu; - struct work_struct work; - }; - bool sleepable; -}; - -struct bpf_cgroup_link { - struct bpf_link link; - struct cgroup *cgroup; -}; - -struct bpf_cgroup_storage_key { - __u64 cgroup_inode_id; - __u32 attach_type; -}; - -struct bpf_storage_buffer; - -struct bpf_cgroup_storage_map; - -struct bpf_cgroup_storage { - union { - struct bpf_storage_buffer *buf; - void *percpu_buf; - }; - struct bpf_cgroup_storage_map *map; - struct bpf_cgroup_storage_key key; - struct list_head list_map; - struct list_head list_cg; - struct rb_node node; - struct callback_head rcu; -}; - -struct bpf_cgroup_storage_map { - struct bpf_map map; - spinlock_t lock; - struct rb_root root; - struct list_head list; -}; - -struct bpf_lru_list { - struct list_head lists[3]; - unsigned int counts[2]; - struct list_head *next_inactive_rotation; - raw_spinlock_t lock; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct bpf_lru_locallist; - -struct bpf_common_lru { - struct bpf_lru_list lru_list; - struct bpf_lru_locallist *local_list; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct bpf_core_accessor { - __u32 type_id; - __u32 idx; - const char *name; -}; - -struct bpf_core_cand { - const struct btf *btf; - __u32 id; -}; - -struct bpf_core_cand_list { - struct bpf_core_cand *cands; - int len; -}; - -struct bpf_verifier_log; - -struct bpf_core_ctx { - struct bpf_verifier_log *log; - const struct btf *btf; -}; - -struct bpf_core_relo { - __u32 insn_off; - __u32 type_id; - __u32 access_str_off; - enum bpf_core_relo_kind kind; -}; - -struct bpf_core_relo_res { - __u64 orig_val; - __u64 new_val; - bool poison; - bool validate; - bool fail_memsz_adjust; - __u32 orig_sz; - __u32 orig_type_id; - __u32 new_sz; - __u32 new_type_id; -}; - -struct bpf_core_spec { - const struct btf *btf; - struct bpf_core_accessor spec[64]; - __u32 root_type_id; - enum bpf_core_relo_kind relo_kind; - int len; - int raw_spec[64]; - int raw_len; - __u32 bit_offset; -}; - -struct bpf_cpu_map_entry; - -struct bpf_cpu_map { - struct bpf_map map; - struct bpf_cpu_map_entry **cpu_map; -}; - -struct bpf_cpumap_val { - __u32 qsize; - union { - int fd; - __u32 id; - } bpf_prog; -}; - -struct gro_list { - struct list_head list; - int count; -}; - -struct gro_node { - long unsigned int bitmask; - struct gro_list hash[8]; - struct list_head rx_list; - u32 rx_count; - u32 cached_napi_id; -}; - -struct xdp_bulk_queue; - -struct ptr_ring; - -struct bpf_cpu_map_entry { - u32 cpu; - int map_id; - struct xdp_bulk_queue *bulkq; - struct ptr_ring *queue; - struct task_struct *kthread; - struct bpf_cpumap_val value; - struct bpf_prog *prog; - struct gro_node gro; - struct completion kthread_running; - struct rcu_work free_work; -}; - -typedef struct cpumask cpumask_t; - -struct bpf_cpumask { - cpumask_t cpumask; - refcount_t usage; -}; - -struct bpf_crypto_type; - -struct bpf_crypto_ctx { - const struct bpf_crypto_type *type; - void *tfm; - u32 siv_len; - struct callback_head rcu; - refcount_t usage; -}; - -struct bpf_crypto_params { - char type[14]; - u8 reserved[2]; - char algo[128]; - u8 key[256]; - u32 key_len; - u32 authsize; -}; - -struct bpf_crypto_type { - void * (*alloc_tfm)(const char *); - void (*free_tfm)(void *); - int (*has_algo)(const char *); - int (*setkey)(void *, const u8 *, unsigned int); - int (*setauthsize)(void *, unsigned int); - int (*encrypt)(void *, const u8 *, u8 *, unsigned int, u8 *); - int (*decrypt)(void *, const u8 *, u8 *, unsigned int, u8 *); - unsigned int (*ivsize)(void *); - unsigned int (*statesize)(void *); - u32 (*get_flags)(void *); - struct module *owner; - char name[14]; -}; - -struct bpf_crypto_type_list { - const struct bpf_crypto_type *type; - struct list_head list; -}; - -struct bpf_ctx_arg_aux { - u32 offset; - enum bpf_reg_type reg_type; - struct btf *btf; - u32 btf_id; - u32 ref_obj_id; - bool refcounted; -}; - -struct skb_ext; - -struct sk_buff { - union { - struct { - struct sk_buff *next; - struct sk_buff *prev; - union { - struct net_device *dev; - long unsigned int dev_scratch; - }; - }; - struct rb_node rbnode; - struct list_head list; - struct llist_node ll_node; - }; - struct sock *sk; - union { - ktime_t tstamp; - u64 skb_mstamp_ns; - }; - char cb[48]; - union { - struct { - long unsigned int _skb_refdst; - void (*destructor)(struct sk_buff *); - }; - struct list_head tcp_tsorted_anchor; - long unsigned int _sk_redir; - }; - long unsigned int _nfct; - unsigned int len; - unsigned int data_len; - __u16 mac_len; - __u16 hdr_len; - __u16 queue_mapping; - __u8 __cloned_offset[0]; - __u8 cloned: 1; - __u8 nohdr: 1; - __u8 fclone: 2; - __u8 peeked: 1; - __u8 head_frag: 1; - __u8 pfmemalloc: 1; - __u8 pp_recycle: 1; - __u8 active_extensions; - union { - struct { - __u8 __pkt_type_offset[0]; - __u8 pkt_type: 3; - __u8 ignore_df: 1; - __u8 dst_pending_confirm: 1; - __u8 ip_summed: 2; - __u8 ooo_okay: 1; - __u8 __mono_tc_offset[0]; - __u8 tstamp_type: 2; - __u8 tc_at_ingress: 1; - __u8 tc_skip_classify: 1; - __u8 remcsum_offload: 1; - __u8 csum_complete_sw: 1; - __u8 csum_level: 2; - __u8 inner_protocol_type: 1; - __u8 l4_hash: 1; - __u8 sw_hash: 1; - __u8 wifi_acked_valid: 1; - __u8 wifi_acked: 1; - __u8 no_fcs: 1; - __u8 encapsulation: 1; - __u8 encap_hdr_csum: 1; - __u8 csum_valid: 1; - __u8 ndisc_nodetype: 2; - __u8 ipvs_property: 1; - __u8 nf_trace: 1; - __u8 offload_fwd_mark: 1; - __u8 offload_l3_fwd_mark: 1; - __u8 redirected: 1; - __u8 from_ingress: 1; - __u8 nf_skip_egress: 1; - __u8 decrypted: 1; - __u8 slow_gro: 1; - __u8 csum_not_inet: 1; - __u8 unreadable: 1; - __u16 tc_index; - u16 alloc_cpu; - union { - __wsum csum; - struct { - __u16 csum_start; - __u16 csum_offset; - }; - }; - __u32 priority; - int skb_iif; - __u32 hash; - union { - u32 vlan_all; - struct { - __be16 vlan_proto; - __u16 vlan_tci; - }; - }; - union { - unsigned int napi_id; - unsigned int sender_cpu; - }; - __u32 secmark; - union { - __u32 mark; - __u32 reserved_tailroom; - }; - union { - __be16 inner_protocol; - __u8 inner_ipproto; - }; - __u16 inner_transport_header; - __u16 inner_network_header; - __u16 inner_mac_header; - __be16 protocol; - __u16 transport_header; - __u16 network_header; - __u16 mac_header; - }; - struct { - __u8 __pkt_type_offset[0]; - __u8 pkt_type: 3; - __u8 ignore_df: 1; - __u8 dst_pending_confirm: 1; - __u8 ip_summed: 2; - __u8 ooo_okay: 1; - __u8 __mono_tc_offset[0]; - __u8 tstamp_type: 2; - __u8 tc_at_ingress: 1; - __u8 tc_skip_classify: 1; - __u8 remcsum_offload: 1; - __u8 csum_complete_sw: 1; - __u8 csum_level: 2; - __u8 inner_protocol_type: 1; - __u8 l4_hash: 1; - __u8 sw_hash: 1; - __u8 wifi_acked_valid: 1; - __u8 wifi_acked: 1; - __u8 no_fcs: 1; - __u8 encapsulation: 1; - __u8 encap_hdr_csum: 1; - __u8 csum_valid: 1; - __u8 ndisc_nodetype: 2; - __u8 ipvs_property: 1; - __u8 nf_trace: 1; - __u8 offload_fwd_mark: 1; - __u8 offload_l3_fwd_mark: 1; - __u8 redirected: 1; - __u8 from_ingress: 1; - __u8 nf_skip_egress: 1; - __u8 decrypted: 1; - __u8 slow_gro: 1; - __u8 csum_not_inet: 1; - __u8 unreadable: 1; - __u16 tc_index; - u16 alloc_cpu; - union { - __wsum csum; - struct { - __u16 csum_start; - __u16 csum_offset; - }; - }; - __u32 priority; - int skb_iif; - __u32 hash; - union { - u32 vlan_all; - struct { - __be16 vlan_proto; - __u16 vlan_tci; - }; - }; - union { - unsigned int napi_id; - unsigned int sender_cpu; - }; - __u32 secmark; - union { - __u32 mark; - __u32 reserved_tailroom; - }; - union { - __be16 inner_protocol; - __u8 inner_ipproto; - }; - __u16 inner_transport_header; - __u16 inner_network_header; - __u16 inner_mac_header; - __be16 protocol; - __u16 transport_header; - __u16 network_header; - __u16 mac_header; - } headers; - }; - sk_buff_data_t tail; - sk_buff_data_t end; - unsigned char *head; - unsigned char *data; - unsigned int truesize; - refcount_t users; - struct skb_ext *extensions; -}; - -struct xdp_md { - __u32 data; - __u32 data_end; - __u32 data_meta; - __u32 ingress_ifindex; - __u32 rx_queue_index; - __u32 egress_ifindex; -}; - -struct xdp_rxq_info; - -struct xdp_txq_info; - -struct xdp_buff { - void *data; - void *data_end; - void *data_meta; - void *data_hard_start; - struct xdp_rxq_info *rxq; - struct xdp_txq_info *txq; - u32 frame_sz; - u32 flags; -}; - -struct bpf_sock { - __u32 bound_dev_if; - __u32 family; - __u32 type; - __u32 protocol; - __u32 mark; - __u32 priority; - __u32 src_ip4; - __u32 src_ip6[4]; - __u32 src_port; - __be16 dst_port; - __u32 dst_ip4; - __u32 dst_ip6[4]; - __u32 state; - __s32 rx_queue_mapping; -}; - -struct hlist_nulls_node { - struct hlist_nulls_node *next; - struct hlist_nulls_node **pprev; -}; - -struct proto; - -struct inet_timewait_death_row; - -struct sock_common { - union { - __addrpair skc_addrpair; - struct { - __be32 skc_daddr; - __be32 skc_rcv_saddr; - }; - }; - union { - unsigned int skc_hash; - __u16 skc_u16hashes[2]; - }; - union { - __portpair skc_portpair; - struct { - __be16 skc_dport; - __u16 skc_num; - }; - }; - short unsigned int skc_family; - volatile unsigned char skc_state; - unsigned char skc_reuse: 4; - unsigned char skc_reuseport: 1; - unsigned char skc_ipv6only: 1; - unsigned char skc_net_refcnt: 1; - int skc_bound_dev_if; - union { - struct hlist_node skc_bind_node; - struct hlist_node skc_portaddr_node; - }; - struct proto *skc_prot; - possible_net_t skc_net; - struct in6_addr skc_v6_daddr; - struct in6_addr skc_v6_rcv_saddr; - atomic64_t skc_cookie; - union { - long unsigned int skc_flags; - struct sock *skc_listener; - struct inet_timewait_death_row *skc_tw_dr; - }; - int skc_dontcopy_begin[0]; - union { - struct hlist_node skc_node; - struct hlist_nulls_node skc_nulls_node; - }; - short unsigned int skc_tx_queue_mapping; - short unsigned int skc_rx_queue_mapping; - union { - int skc_incoming_cpu; - u32 skc_rcv_wnd; - u32 skc_tw_rcv_nxt; - }; - refcount_t skc_refcnt; - int skc_dontcopy_end[0]; - union { - u32 skc_rxhash; - u32 skc_window_clamp; - u32 skc_tw_snd_nxt; - }; -}; - -struct page_frag { - struct page *page; - __u32 offset; - __u32 size; -}; - -struct sock_cgroup_data { - struct cgroup *cgroup; - u32 classid; - u16 prioidx; -}; - -struct dst_entry; - -struct sk_filter; - -struct socket_wq; - -struct socket; - -struct mem_cgroup; - -struct xfrm_policy; - -struct sock_reuseport; - -struct bpf_local_storage; - -struct sock { - struct sock_common __sk_common; - __u8 __cacheline_group_begin__sock_write_rx[0]; - atomic_t sk_drops; - __s32 sk_peek_off; - struct sk_buff_head sk_error_queue; - struct sk_buff_head sk_receive_queue; - struct { - atomic_t rmem_alloc; - int len; - struct sk_buff *head; - struct sk_buff *tail; - } sk_backlog; - __u8 __cacheline_group_end__sock_write_rx[0]; - __u8 __cacheline_group_begin__sock_read_rx[0]; - struct dst_entry *sk_rx_dst; - int sk_rx_dst_ifindex; - u32 sk_rx_dst_cookie; - unsigned int sk_ll_usec; - unsigned int sk_napi_id; - u16 sk_busy_poll_budget; - u8 sk_prefer_busy_poll; - u8 sk_userlocks; - int sk_rcvbuf; - struct sk_filter *sk_filter; - union { - struct socket_wq *sk_wq; - struct socket_wq *sk_wq_raw; - }; - void (*sk_data_ready)(struct sock *); - long int sk_rcvtimeo; - int sk_rcvlowat; - __u8 __cacheline_group_end__sock_read_rx[0]; - __u8 __cacheline_group_begin__sock_read_rxtx[0]; - int sk_err; - struct socket *sk_socket; - struct mem_cgroup *sk_memcg; - struct xfrm_policy *sk_policy[2]; - __u8 __cacheline_group_end__sock_read_rxtx[0]; - __u8 __cacheline_group_begin__sock_write_rxtx[0]; - socket_lock_t sk_lock; - u32 sk_reserved_mem; - int sk_forward_alloc; - u32 sk_tsflags; - __u8 __cacheline_group_end__sock_write_rxtx[0]; - __u8 __cacheline_group_begin__sock_write_tx[0]; - int sk_write_pending; - atomic_t sk_omem_alloc; - int sk_sndbuf; - int sk_wmem_queued; - refcount_t sk_wmem_alloc; - long unsigned int sk_tsq_flags; - union { - struct sk_buff *sk_send_head; - struct rb_root tcp_rtx_queue; - }; - struct sk_buff_head sk_write_queue; - u32 sk_dst_pending_confirm; - u32 sk_pacing_status; - struct page_frag sk_frag; - struct timer_list sk_timer; - long unsigned int sk_pacing_rate; - atomic_t sk_zckey; - atomic_t sk_tskey; - __u8 __cacheline_group_end__sock_write_tx[0]; - __u8 __cacheline_group_begin__sock_read_tx[0]; - long unsigned int sk_max_pacing_rate; - long int sk_sndtimeo; - u32 sk_priority; - u32 sk_mark; - struct dst_entry *sk_dst_cache; - netdev_features_t sk_route_caps; - struct sk_buff * (*sk_validate_xmit_skb)(struct sock *, struct net_device *, struct sk_buff *); - u16 sk_gso_type; - u16 sk_gso_max_segs; - unsigned int sk_gso_max_size; - gfp_t sk_allocation; - u32 sk_txhash; - u8 sk_pacing_shift; - bool sk_use_task_frag; - __u8 __cacheline_group_end__sock_read_tx[0]; - u8 sk_gso_disabled: 1; - u8 sk_kern_sock: 1; - u8 sk_no_check_tx: 1; - u8 sk_no_check_rx: 1; - u8 sk_shutdown; - u16 sk_type; - u16 sk_protocol; - long unsigned int sk_lingertime; - struct proto *sk_prot_creator; - rwlock_t sk_callback_lock; - int sk_err_soft; - u32 sk_ack_backlog; - u32 sk_max_ack_backlog; - kuid_t sk_uid; - long unsigned int sk_ino; - spinlock_t sk_peer_lock; - int sk_bind_phc; - struct pid *sk_peer_pid; - const struct cred *sk_peer_cred; - ktime_t sk_stamp; - int sk_disconnects; - union { - u8 sk_txrehash; - u8 sk_scm_recv_flags; - struct { - u8 sk_scm_credentials: 1; - u8 sk_scm_security: 1; - u8 sk_scm_pidfd: 1; - u8 sk_scm_rights: 1; - u8 sk_scm_unused: 4; - }; - }; - u8 sk_clockid; - u8 sk_txtime_deadline_mode: 1; - u8 sk_txtime_report_errors: 1; - u8 sk_txtime_unused: 6; - u8 sk_bpf_cb_flags; - void *sk_user_data; - void *sk_security; - struct sock_cgroup_data sk_cgrp_data; - void (*sk_state_change)(struct sock *); - void (*sk_write_space)(struct sock *); - void (*sk_error_report)(struct sock *); - int (*sk_backlog_rcv)(struct sock *, struct sk_buff *); - void (*sk_destruct)(struct sock *); - struct sock_reuseport *sk_reuseport_cb; - struct bpf_local_storage *sk_bpf_storage; - struct callback_head sk_rcu; - netns_tracker ns_tracker; - struct xarray sk_user_frags; -}; - -struct bpf_sock_addr { - __u32 user_family; - __u32 user_ip4; - __u32 user_ip6[4]; - __u32 user_port; - __u32 family; - __u32 type; - __u32 protocol; - __u32 msg_src_ip4; - __u32 msg_src_ip6[4]; - union { - struct bpf_sock *sk; - }; -}; - -struct bpf_sock_addr_kern { - struct sock *sk; - struct sockaddr *uaddr; - u64 tmp_reg; - void *t_ctx; - u32 uaddrlen; -}; - -struct bpf_sock_ops { - __u32 op; - union { - __u32 args[4]; - __u32 reply; - __u32 replylong[4]; - }; - __u32 family; - __u32 remote_ip4; - __u32 local_ip4; - __u32 remote_ip6[4]; - __u32 local_ip6[4]; - __u32 remote_port; - __u32 local_port; - __u32 is_fullsock; - __u32 snd_cwnd; - __u32 srtt_us; - __u32 bpf_sock_ops_cb_flags; - __u32 state; - __u32 rtt_min; - __u32 snd_ssthresh; - __u32 rcv_nxt; - __u32 snd_nxt; - __u32 snd_una; - __u32 mss_cache; - __u32 ecn_flags; - __u32 rate_delivered; - __u32 rate_interval_us; - __u32 packets_out; - __u32 retrans_out; - __u32 total_retrans; - __u32 segs_in; - __u32 data_segs_in; - __u32 segs_out; - __u32 data_segs_out; - __u32 lost_out; - __u32 sacked_out; - __u32 sk_txhash; - __u64 bytes_received; - __u64 bytes_acked; - union { - struct bpf_sock *sk; - }; - union { - void *skb_data; - }; - union { - void *skb_data_end; - }; - __u32 skb_len; - __u32 skb_tcp_flags; - __u64 skb_hwtstamp; -}; - -struct bpf_sock_ops_kern { - struct sock *sk; - union { - u32 args[4]; - u32 reply; - u32 replylong[4]; - }; - struct sk_buff *syn_skb; - struct sk_buff *skb; - void *skb_data_end; - u8 op; - u8 is_fullsock; - u8 is_locked_tcp_sock; - u8 remaining_opt_len; - u64 temp; -}; - -struct sk_msg_md { - union { - void *data; - }; - union { - void *data_end; - }; - __u32 family; - __u32 remote_ip4; - __u32 local_ip4; - __u32 remote_ip6[4]; - __u32 local_ip6[4]; - __u32 remote_port; - __u32 local_port; - __u32 size; - union { - struct bpf_sock *sk; - }; -}; - -struct sk_msg_sg { - u32 start; - u32 curr; - u32 end; - u32 size; - u32 copybreak; - long unsigned int copy[1]; - struct scatterlist data[19]; -}; - -struct sk_msg { - struct sk_msg_sg sg; - void *data; - void *data_end; - u32 apply_bytes; - u32 cork_bytes; - u32 flags; - struct sk_buff *skb; - struct sock *sk_redir; - struct sock *sk; - struct list_head list; -}; - -struct bpf_flow_dissector { - struct bpf_flow_keys *flow_keys; - const struct sk_buff *skb; - const void *data; - const void *data_end; -}; - -typedef struct pt_regs bpf_user_pt_regs_t; - -struct bpf_perf_event_data { - bpf_user_pt_regs_t regs; - __u64 sample_period; - __u64 addr; -}; - -struct perf_sample_data; - -struct bpf_perf_event_data_kern { - bpf_user_pt_regs_t *regs; - struct perf_sample_data *data; - struct perf_event *event; -}; - -struct bpf_raw_tracepoint_args { - __u64 args[0]; -}; - -struct bpf_sysctl { - __u32 write; - __u32 file_pos; -}; - -struct ctl_table; - -struct bpf_sysctl_kern { - struct ctl_table_header *head; - const struct ctl_table *table; - void *cur_val; - size_t cur_len; - void *new_val; - size_t new_len; - int new_updated; - int write; - loff_t *ppos; - u64 tmp_reg; -}; - -struct bpf_sockopt { - union { - struct bpf_sock *sk; - }; - union { - void *optval; - }; - union { - void *optval_end; - }; - __s32 level; - __s32 optname; - __s32 optlen; - __s32 retval; -}; - -struct bpf_sockopt_kern { - struct sock *sk; - u8 *optval; - u8 *optval_end; - s32 level; - s32 optname; - s32 optlen; - struct task_struct *current_task; - u64 tmp_reg; -}; - -struct sk_reuseport_md { - union { - void *data; - }; - union { - void *data_end; - }; - __u32 len; - __u32 eth_protocol; - __u32 ip_protocol; - __u32 bind_inany; - __u32 hash; - union { - struct bpf_sock *sk; - }; - union { - struct bpf_sock *migrating_sk; - }; -}; - -struct sk_reuseport_kern { - struct sk_buff *skb; - struct sock *sk; - struct sock *selected_sk; - struct sock *migrating_sk; - void *data_end; - u32 hash; - u32 reuseport_id; - bool bind_inany; -}; - -struct bpf_sk_lookup { - union { - union { - struct bpf_sock *sk; - }; - __u64 cookie; - }; - __u32 family; - __u32 protocol; - __u32 remote_ip4; - __u32 remote_ip6[4]; - __be16 remote_port; - __u32 local_ip4; - __u32 local_ip6[4]; - __u32 local_port; - __u32 ingress_ifindex; -}; - -struct bpf_sk_lookup_kern { - u16 family; - u16 protocol; - __be16 sport; - u16 dport; - struct { - __be32 saddr; - __be32 daddr; - } v4; - struct { - const struct in6_addr *saddr; - const struct in6_addr *daddr; - } v6; - struct sock *selected_sk; - u32 ingress_ifindex; - bool no_reuseport; -}; - -struct nf_hook_state; - -struct bpf_nf_ctx { - const struct nf_hook_state *state; - struct sk_buff *skb; -}; - -struct bpf_ctx_convert { - struct __sk_buff BPF_PROG_TYPE_SOCKET_FILTER_prog; - struct sk_buff BPF_PROG_TYPE_SOCKET_FILTER_kern; - struct __sk_buff BPF_PROG_TYPE_SCHED_CLS_prog; - struct sk_buff BPF_PROG_TYPE_SCHED_CLS_kern; - struct __sk_buff BPF_PROG_TYPE_SCHED_ACT_prog; - struct sk_buff BPF_PROG_TYPE_SCHED_ACT_kern; - struct xdp_md BPF_PROG_TYPE_XDP_prog; - struct xdp_buff BPF_PROG_TYPE_XDP_kern; - struct __sk_buff BPF_PROG_TYPE_CGROUP_SKB_prog; - struct sk_buff BPF_PROG_TYPE_CGROUP_SKB_kern; - struct bpf_sock BPF_PROG_TYPE_CGROUP_SOCK_prog; - struct sock BPF_PROG_TYPE_CGROUP_SOCK_kern; - struct bpf_sock_addr BPF_PROG_TYPE_CGROUP_SOCK_ADDR_prog; - struct bpf_sock_addr_kern BPF_PROG_TYPE_CGROUP_SOCK_ADDR_kern; - struct __sk_buff BPF_PROG_TYPE_LWT_IN_prog; - struct sk_buff BPF_PROG_TYPE_LWT_IN_kern; - struct __sk_buff BPF_PROG_TYPE_LWT_OUT_prog; - struct sk_buff BPF_PROG_TYPE_LWT_OUT_kern; - struct __sk_buff BPF_PROG_TYPE_LWT_XMIT_prog; - struct sk_buff BPF_PROG_TYPE_LWT_XMIT_kern; - struct __sk_buff BPF_PROG_TYPE_LWT_SEG6LOCAL_prog; - struct sk_buff BPF_PROG_TYPE_LWT_SEG6LOCAL_kern; - struct bpf_sock_ops BPF_PROG_TYPE_SOCK_OPS_prog; - struct bpf_sock_ops_kern BPF_PROG_TYPE_SOCK_OPS_kern; - struct __sk_buff BPF_PROG_TYPE_SK_SKB_prog; - struct sk_buff BPF_PROG_TYPE_SK_SKB_kern; - struct sk_msg_md BPF_PROG_TYPE_SK_MSG_prog; - struct sk_msg BPF_PROG_TYPE_SK_MSG_kern; - struct __sk_buff BPF_PROG_TYPE_FLOW_DISSECTOR_prog; - struct bpf_flow_dissector BPF_PROG_TYPE_FLOW_DISSECTOR_kern; - bpf_user_pt_regs_t BPF_PROG_TYPE_KPROBE_prog; - struct pt_regs BPF_PROG_TYPE_KPROBE_kern; - __u64 BPF_PROG_TYPE_TRACEPOINT_prog; - u64 BPF_PROG_TYPE_TRACEPOINT_kern; - struct bpf_perf_event_data BPF_PROG_TYPE_PERF_EVENT_prog; - struct bpf_perf_event_data_kern BPF_PROG_TYPE_PERF_EVENT_kern; - struct bpf_raw_tracepoint_args BPF_PROG_TYPE_RAW_TRACEPOINT_prog; - u64 BPF_PROG_TYPE_RAW_TRACEPOINT_kern; - struct bpf_raw_tracepoint_args BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE_prog; - u64 BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE_kern; - void *BPF_PROG_TYPE_TRACING_prog; - void *BPF_PROG_TYPE_TRACING_kern; - struct bpf_cgroup_dev_ctx BPF_PROG_TYPE_CGROUP_DEVICE_prog; - struct bpf_cgroup_dev_ctx BPF_PROG_TYPE_CGROUP_DEVICE_kern; - struct bpf_sysctl BPF_PROG_TYPE_CGROUP_SYSCTL_prog; - struct bpf_sysctl_kern BPF_PROG_TYPE_CGROUP_SYSCTL_kern; - struct bpf_sockopt BPF_PROG_TYPE_CGROUP_SOCKOPT_prog; - struct bpf_sockopt_kern BPF_PROG_TYPE_CGROUP_SOCKOPT_kern; - struct sk_reuseport_md BPF_PROG_TYPE_SK_REUSEPORT_prog; - struct sk_reuseport_kern BPF_PROG_TYPE_SK_REUSEPORT_kern; - struct bpf_sk_lookup BPF_PROG_TYPE_SK_LOOKUP_prog; - struct bpf_sk_lookup_kern BPF_PROG_TYPE_SK_LOOKUP_kern; - void *BPF_PROG_TYPE_STRUCT_OPS_prog; - void *BPF_PROG_TYPE_STRUCT_OPS_kern; - void *BPF_PROG_TYPE_EXT_prog; - void *BPF_PROG_TYPE_EXT_kern; - void *BPF_PROG_TYPE_LSM_prog; - void *BPF_PROG_TYPE_LSM_kern; - void *BPF_PROG_TYPE_SYSCALL_prog; - void *BPF_PROG_TYPE_SYSCALL_kern; - struct bpf_nf_ctx BPF_PROG_TYPE_NETFILTER_prog; - struct bpf_nf_ctx BPF_PROG_TYPE_NETFILTER_kern; -}; - -struct bpf_devmap_val { - __u32 ifindex; - union { - int fd; - __u32 id; - } bpf_prog; -}; - -struct bpf_dispatcher_prog { - struct bpf_prog *prog; - refcount_t users; -}; - -struct latch_tree_node { - struct rb_node node[2]; -}; - -struct bpf_ksym { - long unsigned int start; - long unsigned int end; - char name[512]; - struct list_head lnode; - struct latch_tree_node tnode; - bool prog; -}; - -struct static_call_key; - -struct bpf_dispatcher { - struct mutex mutex; - void *func; - struct bpf_dispatcher_prog progs[48]; - int num_progs; - void *image; - void *rw_image; - u32 image_off; - struct bpf_ksym ksym; - struct static_call_key *sc_key; - void *sc_tramp; -}; - -struct bpf_dtab_netdev; - -struct bpf_dtab { - struct bpf_map map; - struct bpf_dtab_netdev **netdev_map; - struct list_head list; - struct hlist_head *dev_index_head; - spinlock_t index_lock; - unsigned int items; - u32 n_buckets; -}; - -struct bpf_dtab_netdev { - struct net_device *dev; - struct hlist_node index_hlist; - struct bpf_prog *xdp_prog; - struct callback_head rcu; - unsigned int idx; - struct bpf_devmap_val val; -}; - -struct bpf_dummy_ops_state; - -struct bpf_dummy_ops { - int (*test_1)(struct bpf_dummy_ops_state *); - int (*test_2)(struct bpf_dummy_ops_state *, int, short unsigned int, char, long unsigned int); - int (*test_sleepable)(struct bpf_dummy_ops_state *); -}; - -struct bpf_dummy_ops_state { - int val; -}; - -struct bpf_dummy_ops_test_args { - u64 args[12]; - struct bpf_dummy_ops_state state; -}; - -struct bpf_dynptr { - __u64 __opaque[2]; -}; - -struct bpf_dynptr_kern { - void *data; - u32 size; - u32 offset; -}; - -struct bpf_prog_array_item { - struct bpf_prog *prog; - union { - struct bpf_cgroup_storage *cgroup_storage[2]; - u64 bpf_cookie; - }; -}; - -struct bpf_prog_array { - struct callback_head rcu; - struct bpf_prog_array_item items[0]; -}; - -struct bpf_empty_prog_array { - struct bpf_prog_array hdr; - struct bpf_prog *null_prog; -}; - -struct bpf_event_entry { - struct perf_event *event; - struct file *perf_file; - struct file *map_file; - struct callback_head rcu; -}; - -struct bpf_fentry_test_t { - struct bpf_fentry_test_t *a; -}; - -struct bpf_fib_lookup { - __u8 family; - __u8 l4_protocol; - __be16 sport; - __be16 dport; - union { - __u16 tot_len; - __u16 mtu_result; - }; - __u32 ifindex; - union { - __u8 tos; - __be32 flowinfo; - __u32 rt_metric; - }; - union { - __be32 ipv4_src; - __u32 ipv6_src[4]; - }; - union { - __be32 ipv4_dst; - __u32 ipv6_dst[4]; - }; - union { - struct { - __be16 h_vlan_proto; - __be16 h_vlan_TCI; - }; - __u32 tbid; - }; - union { - struct { - __u32 mark; - }; - struct { - __u8 smac[6]; - __u8 dmac[6]; - }; - }; -}; - -struct bpf_flow_keys { - __u16 nhoff; - __u16 thoff; - __u16 addr_proto; - __u8 is_frag; - __u8 is_first_frag; - __u8 is_encap; - __u8 ip_proto; - __be16 n_proto; - __be16 sport; - __be16 dport; - union { - struct { - __be32 ipv4_src; - __be32 ipv4_dst; - }; - struct { - __u32 ipv6_src[4]; - __u32 ipv6_dst[4]; - }; - }; - __u32 flags; - __be32 flow_label; -}; - -struct bpf_func_info { - __u32 insn_off; - __u32 type_id; -}; - -struct bpf_func_info_aux { - u16 linkage; - bool unreliable; - bool called: 1; - bool verified: 1; -}; - -struct bpf_func_proto { - u64 (*func)(u64, u64, u64, u64, u64); - bool gpl_only; - bool pkt_access; - bool might_sleep; - bool allow_fastcall; - enum bpf_return_type ret_type; - union { - struct { - enum bpf_arg_type arg1_type; - enum bpf_arg_type arg2_type; - enum bpf_arg_type arg3_type; - enum bpf_arg_type arg4_type; - enum bpf_arg_type arg5_type; - }; - enum bpf_arg_type arg_type[5]; - }; - union { - struct { - u32 *arg1_btf_id; - u32 *arg2_btf_id; - u32 *arg3_btf_id; - u32 *arg4_btf_id; - u32 *arg5_btf_id; - }; - u32 *arg_btf_id[5]; - struct { - size_t arg1_size; - size_t arg2_size; - size_t arg3_size; - size_t arg4_size; - size_t arg5_size; - }; - size_t arg_size[5]; - }; - int *ret_btf_id; - bool (*allowed)(const struct bpf_prog *); -}; - -struct tnum { - u64 value; - u64 mask; -}; - -struct bpf_reg_state { - enum bpf_reg_type type; - s32 off; - union { - int range; - struct { - struct bpf_map *map_ptr; - u32 map_uid; - }; - struct { - struct btf *btf; - u32 btf_id; - }; - struct { - u32 mem_size; - u32 dynptr_id; - }; - struct { - enum bpf_dynptr_type type; - bool first_slot; - } dynptr; - struct { - struct btf *btf; - u32 btf_id; - enum bpf_iter_state state: 2; - int depth: 30; - } iter; - struct { - enum { - IRQ_NATIVE_KFUNC = 0, - IRQ_LOCK_KFUNC = 1, - } kfunc_class; - } irq; - struct { - long unsigned int raw1; - long unsigned int raw2; - } raw; - u32 subprogno; - }; - struct tnum var_off; - s64 smin_value; - s64 smax_value; - u64 umin_value; - u64 umax_value; - s32 s32_min_value; - s32 s32_max_value; - u32 u32_min_value; - u32 u32_max_value; - u32 id; - u32 ref_obj_id; - struct bpf_reg_state *parent; - u32 frameno; - s32 subreg_def; - enum bpf_reg_liveness live; - bool precise; -}; - -struct bpf_retval_range { - s32 minval; - s32 maxval; -}; - -struct bpf_stack_state; - -struct bpf_func_state { - struct bpf_reg_state regs[11]; - int callsite; - u32 frameno; - u32 subprogno; - u32 async_entry_cnt; - struct bpf_retval_range callback_ret_range; - bool in_callback_fn; - bool in_async_callback_fn; - bool in_exception_callback_fn; - u32 callback_depth; - struct bpf_stack_state *stack; - int allocated_stack; -}; - -struct bpf_hrtimer { - struct bpf_async_cb cb; - struct hrtimer timer; - atomic_t cancelling; -}; - -struct bpf_mem_caches; - -struct bpf_mem_cache; - -struct bpf_mem_alloc { - struct bpf_mem_caches *caches; - struct bpf_mem_cache *cache; - struct obj_cgroup *objcg; - bool percpu; - struct work_struct work; -}; - -struct pcpu_freelist_head; - -struct pcpu_freelist { - struct pcpu_freelist_head *freelist; -}; - -struct bpf_lru_node; - -typedef bool (*del_from_htab_func)(void *, struct bpf_lru_node *); - -struct bpf_lru { - union { - struct bpf_common_lru common_lru; - struct bpf_lru_list *percpu_lru; - }; - del_from_htab_func del_from_htab; - void *del_arg; - unsigned int hash_offset; - unsigned int target_free; - unsigned int nr_scans; - bool percpu; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct bucket; - -struct htab_elem; - -struct bpf_htab { - struct bpf_map map; - struct bpf_mem_alloc ma; - struct bpf_mem_alloc pcpu_ma; - struct bucket *buckets; - void *elems; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - union { - struct pcpu_freelist freelist; - struct bpf_lru lru; - }; - struct htab_elem **extra_elems; - struct percpu_counter pcount; - atomic_t count; - bool use_percpu_counter; - u32 n_buckets; - u32 elem_size; - u32 hashrnd; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct bpf_id_pair { - u32 old; - u32 cur; -}; - -struct bpf_idmap { - u32 tmp_id_gen; - struct bpf_id_pair map[600]; -}; - -struct bpf_idset { - u32 count; - u32 ids[600]; -}; - -struct bpf_insn { - __u8 code; - __u8 dst_reg: 4; - __u8 src_reg: 4; - __s16 off; - __s32 imm; -}; - -struct bpf_insn_access_aux { - enum bpf_reg_type reg_type; - bool is_ldsx; - union { - int ctx_field_size; - struct { - struct btf *btf; - u32 btf_id; - u32 ref_obj_id; - }; - }; - struct bpf_verifier_log *log; - bool is_retval; -}; - -struct bpf_map_ptr_state { - struct bpf_map *map_ptr; - bool poison; - bool unpriv; -}; - -struct bpf_loop_inline_state { - unsigned int initialized: 1; - unsigned int fit_for_inline: 1; - u32 callback_subprogno; -}; - -struct btf_struct_meta; - -struct bpf_insn_aux_data { - union { - enum bpf_reg_type ptr_type; - struct bpf_map_ptr_state map_ptr_state; - s32 call_imm; - u32 alu_limit; - struct { - u32 map_index; - u32 map_off; - }; - struct { - enum bpf_reg_type reg_type; - union { - struct { - struct btf *btf; - u32 btf_id; - }; - u32 mem_size; - }; - } btf_var; - struct bpf_loop_inline_state loop_inline_state; - }; - union { - u64 obj_new_size; - u64 insert_off; - }; - struct btf_struct_meta *kptr_struct_meta; - u64 map_key_state; - int ctx_field_size; - u32 seen; - bool nospec; - bool nospec_result; - bool zext_dst; - bool needs_zext; - bool storage_get_func_atomic; - bool is_iter_next; - bool call_with_percpu_alloc_ptr; - u8 alu_state; - u8 fastcall_pattern: 1; - u8 fastcall_spills_num: 3; - u8 arg_prog: 4; - unsigned int orig_idx; - bool jmp_point; - bool prune_point; - bool force_checkpoint; - bool calls_callback; - u32 scc; - u16 live_regs_before; -}; - -typedef void (*bpf_insn_print_t)(void *, const char *, ...); - -typedef const char * (*bpf_insn_revmap_call_t)(void *, const struct bpf_insn *); - -typedef const char * (*bpf_insn_print_imm_t)(void *, const struct bpf_insn *, __u64); - -struct bpf_insn_cbs { - bpf_insn_print_t cb_print; - bpf_insn_revmap_call_t cb_call; - bpf_insn_print_imm_t cb_imm; - void *private_data; -}; - -struct bpf_iter_meta; - -struct bpf_iter__bpf_link { - union { - struct bpf_iter_meta *meta; - }; - union { - struct bpf_link *link; - }; -}; - -struct bpf_iter__bpf_map { - union { - struct bpf_iter_meta *meta; - }; - union { - struct bpf_map *map; - }; -}; - -struct bpf_iter__bpf_map_elem { - union { - struct bpf_iter_meta *meta; - }; - union { - struct bpf_map *map; - }; - union { - void *key; - }; - union { - void *value; - }; -}; - -struct bpf_iter__bpf_prog { - union { - struct bpf_iter_meta *meta; - }; - union { - struct bpf_prog *prog; - }; -}; - -struct bpf_iter__bpf_sk_storage_map { - union { - struct bpf_iter_meta *meta; - }; - union { - struct bpf_map *map; - }; - union { - struct sock *sk; - }; - union { - void *value; - }; -}; - -struct bpf_iter__cgroup { - union { - struct bpf_iter_meta *meta; - }; - union { - struct cgroup *cgroup; - }; -}; - -struct dma_buf; - -struct bpf_iter__dmabuf { - union { - struct bpf_iter_meta *meta; - }; - union { - struct dma_buf *dmabuf; - }; -}; - -struct fib6_info; - -struct bpf_iter__ipv6_route { - union { - struct bpf_iter_meta *meta; - }; - union { - struct fib6_info *rt; - }; -}; - -struct bpf_iter__kmem_cache { - union { - struct bpf_iter_meta *meta; - }; - union { - struct kmem_cache *s; - }; -}; - -struct kallsym_iter; - -struct bpf_iter__ksym { - union { - struct bpf_iter_meta *meta; - }; - union { - struct kallsym_iter *ksym; - }; -}; - -struct netlink_sock; - -struct bpf_iter__netlink { - union { - struct bpf_iter_meta *meta; - }; - union { - struct netlink_sock *sk; - }; -}; - -struct bpf_iter__sockmap { - union { - struct bpf_iter_meta *meta; - }; - union { - struct bpf_map *map; - }; - union { - void *key; - }; - union { - struct sock *sk; - }; -}; - -struct bpf_iter__task { - union { - struct bpf_iter_meta *meta; - }; - union { - struct task_struct *task; - }; -}; - -struct bpf_iter__task__safe_trusted { - struct bpf_iter_meta *meta; - struct task_struct *task; -}; - -struct bpf_iter__task_file { - union { - struct bpf_iter_meta *meta; - }; - union { - struct task_struct *task; - }; - u32 fd; - union { - struct file *file; - }; -}; - -struct bpf_iter__task_vma { - union { - struct bpf_iter_meta *meta; - }; - union { - struct task_struct *task; - }; - union { - struct vm_area_struct *vma; - }; -}; - -struct bpf_iter__tcp { - union { - struct bpf_iter_meta *meta; - }; - union { - struct sock_common *sk_common; - }; - uid_t uid; -}; - -struct udp_sock; - -struct bpf_iter__udp { - union { - struct bpf_iter_meta *meta; - }; - union { - struct udp_sock *udp_sk; - }; - uid_t uid; - long: 0; - int bucket; -}; - -struct unix_sock; - -struct bpf_iter__unix { - union { - struct bpf_iter_meta *meta; - }; - union { - struct unix_sock *unix_sk; - }; - uid_t uid; -}; - -struct bpf_iter_aux_info { - struct bpf_map *map; - struct { - struct cgroup *start; - enum bpf_cgroup_iter_order order; - } cgroup; - struct { - enum bpf_iter_task_type type; - u32 pid; - } task; -}; - -struct bpf_iter_bits { - __u64 __opaque[2]; -}; - -struct bpf_iter_bits_kern { - union { - __u64 *bits; - __u64 bits_copy; - }; - int nr_bits; - int bit; -}; - -struct bpf_iter_css { - __u64 __opaque[3]; -}; - -struct bpf_iter_css_kern { - struct cgroup_subsys_state *start; - struct cgroup_subsys_state *pos; - unsigned int flags; -}; - -struct bpf_iter_css_task { - __u64 __opaque[1]; -}; - -struct css_task_iter; - -struct bpf_iter_css_task_kern { - struct css_task_iter *css_it; -}; - -struct bpf_iter_dmabuf { - __u64 __opaque[1]; -}; - -struct bpf_iter_dmabuf_kern { - struct dma_buf *dmabuf; -}; - -struct bpf_iter_kmem_cache { - __u64 __opaque[1]; -}; - -struct bpf_iter_kmem_cache_kern { - struct kmem_cache *pos; -}; - -struct bpf_iter_target_info; - -struct bpf_iter_link { - struct bpf_link link; - struct bpf_iter_aux_info aux; - struct bpf_iter_target_info *tinfo; -}; - -union bpf_iter_link_info { - struct { - __u32 map_fd; - } map; - struct { - enum bpf_cgroup_iter_order order; - __u32 cgroup_fd; - __u64 cgroup_id; - } cgroup; - struct { - __u32 tid; - __u32 pid; - __u32 pid_fd; - } task; -}; - -struct bpf_iter_meta { - union { - struct seq_file *seq; - }; - u64 session_id; - u64 seq_num; -}; - -struct bpf_iter_meta__safe_trusted { - struct seq_file *seq; -}; - -struct bpf_iter_num { - __u64 __opaque[1]; -}; - -struct bpf_iter_num_kern { - int cur; - int end; -}; - -struct bpf_iter_seq_info; - -struct bpf_iter_priv_data { - struct bpf_iter_target_info *tinfo; - const struct bpf_iter_seq_info *seq_info; - struct bpf_prog *prog; - u64 session_id; - u64 seq_num; - bool done_stop; - long: 0; - u8 target_private[0]; -}; - -typedef int (*bpf_iter_attach_target_t)(struct bpf_prog *, union bpf_iter_link_info *, struct bpf_iter_aux_info *); - -typedef void (*bpf_iter_detach_target_t)(struct bpf_iter_aux_info *); - -typedef void (*bpf_iter_show_fdinfo_t)(const struct bpf_iter_aux_info *, struct seq_file *); - -struct bpf_link_info; - -typedef int (*bpf_iter_fill_link_info_t)(const struct bpf_iter_aux_info *, struct bpf_link_info *); - -typedef const struct bpf_func_proto * (*bpf_iter_get_func_proto_t)(enum bpf_func_id, const struct bpf_prog *); - -struct bpf_iter_reg { - const char *target; - bpf_iter_attach_target_t attach_target; - bpf_iter_detach_target_t detach_target; - bpf_iter_show_fdinfo_t show_fdinfo; - bpf_iter_fill_link_info_t fill_link_info; - bpf_iter_get_func_proto_t get_func_proto; - u32 ctx_arg_info_size; - u32 feature; - struct bpf_ctx_arg_aux ctx_arg_info[2]; - const struct bpf_iter_seq_info *seq_info; -}; - -struct bpf_iter_scx_dsq { - u64 __opaque[6]; -}; - -struct scx_dsq_list_node { - struct list_head node; - u32 flags; - u32 priv; -}; - -struct scx_dispatch_q; - -struct bpf_iter_scx_dsq_kern { - struct scx_dsq_list_node cursor; - struct scx_dispatch_q *dsq; - u64 slice; - u64 vtime; -}; - -struct bpf_iter_seq_array_map_info { - struct bpf_map *map; - void *percpu_value_buf; - u32 index; -}; - -struct bpf_iter_seq_hash_map_info { - struct bpf_map *map; - struct bpf_htab *htab; - void *percpu_value_buf; - u32 bucket_id; - u32 skip_elems; -}; - -typedef int (*bpf_iter_init_seq_priv_t)(void *, struct bpf_iter_aux_info *); - -typedef void (*bpf_iter_fini_seq_priv_t)(void *); - -struct bpf_iter_seq_info { - const struct seq_operations *seq_ops; - bpf_iter_init_seq_priv_t init_seq_private; - bpf_iter_fini_seq_priv_t fini_seq_private; - u32 seq_priv_size; -}; - -struct bpf_iter_seq_link_info { - u32 link_id; -}; - -struct bpf_iter_seq_map_info { - u32 map_id; -}; - -struct bpf_iter_seq_prog_info { - u32 prog_id; -}; - -struct bpf_iter_seq_sk_storage_map_info { - struct bpf_map *map; - unsigned int bucket_id; - unsigned int skip_elems; -}; - -struct pid_namespace; - -struct bpf_iter_seq_task_common { - struct pid_namespace *ns; - enum bpf_iter_task_type type; - u32 pid; - u32 pid_visiting; -}; - -struct bpf_iter_seq_task_file_info { - struct bpf_iter_seq_task_common common; - struct task_struct *task; - u32 tid; - u32 fd; -}; - -struct bpf_iter_seq_task_info { - struct bpf_iter_seq_task_common common; - u32 tid; -}; - -struct mm_struct; - -struct bpf_iter_seq_task_vma_info { - struct bpf_iter_seq_task_common common; - struct task_struct *task; - struct mm_struct *mm; - struct vm_area_struct *vma; - u32 tid; - long unsigned int prev_vm_start; - long unsigned int prev_vm_end; -}; - -struct bpf_iter_target_info { - struct list_head list; - const struct bpf_iter_reg *reg_info; - u32 btf_id; -}; - -struct bpf_iter_task { - __u64 __opaque[3]; -}; - -struct bpf_iter_task_kern { - struct task_struct *task; - struct task_struct *pos; - unsigned int flags; -}; - -struct bpf_iter_task_vma { - __u64 __opaque[1]; -}; - -struct bpf_iter_task_vma_kern_data; - -struct bpf_iter_task_vma_kern { - struct bpf_iter_task_vma_kern_data *data; -}; - -struct maple_enode; - -struct maple_tree; - -struct maple_alloc; - -struct ma_state { - struct maple_tree *tree; - long unsigned int index; - long unsigned int last; - struct maple_enode *node; - long unsigned int min; - long unsigned int max; - struct maple_alloc *alloc; - enum maple_status status; - unsigned char depth; - unsigned char offset; - unsigned char mas_flags; - unsigned char end; - enum store_type store_type; -}; - -struct vma_iterator { - struct ma_state mas; -}; - -struct mmap_unlock_irq_work; - -struct bpf_iter_task_vma_kern_data { - struct task_struct *task; - struct mm_struct *mm; - struct mmap_unlock_irq_work *work; - struct vma_iterator vmi; -}; - -struct bpf_jit_poke_descriptor { - void *tailcall_target; - void *tailcall_bypass; - void *bypass_addr; - void *aux; - union { - struct { - struct bpf_map *map; - u32 key; - } tail_call; - }; - bool tailcall_target_stable; - u8 adj_off; - u16 reason; - u32 insn_idx; -}; - -struct bpf_jmp_history_entry { - u32 idx; - u32 prev_idx: 20; - u32 flags: 12; - u64 linked_regs; -}; - -struct bpf_key { - struct key *key; - bool has_ref; -}; - -struct bpf_kfunc_btf { - struct btf *btf; - struct module *module; - u16 offset; -}; - -struct bpf_kfunc_btf_tab { - struct bpf_kfunc_btf descs[256]; - u32 nr_descs; -}; - -struct bpf_kfunc_call_arg_meta { - struct btf *btf; - u32 func_id; - u32 kfunc_flags; - const struct btf_type *func_proto; - const char *func_name; - u32 ref_obj_id; - u8 release_regno; - bool r0_rdonly; - u32 ret_btf_id; - u64 r0_size; - u32 subprogno; - struct { - u64 value; - bool found; - } arg_constant; - struct btf *arg_btf; - u32 arg_btf_id; - bool arg_owning_ref; - bool arg_prog; - struct { - struct btf_field *field; - } arg_list_head; - struct { - struct btf_field *field; - } arg_rbtree_root; - struct { - enum bpf_dynptr_type type; - u32 id; - u32 ref_obj_id; - } initialized_dynptr; - struct { - u8 spi; - u8 frameno; - } iter; - struct { - struct bpf_map *ptr; - int uid; - } map; - u64 mem_size; -}; - -struct bpf_kfunc_desc { - struct btf_func_model func_model; - u32 func_id; - s32 imm; - u16 offset; - long unsigned int addr; -}; - -struct bpf_kfunc_desc_tab { - struct bpf_kfunc_desc descs[256]; - u32 nr_descs; -}; - -struct fprobe; - -struct ftrace_regs; - -typedef int (*fprobe_entry_cb)(struct fprobe *, long unsigned int, long unsigned int, struct ftrace_regs *, void *); - -typedef void (*fprobe_exit_cb)(struct fprobe *, long unsigned int, long unsigned int, struct ftrace_regs *, void *); - -struct fprobe_hlist; - -struct fprobe { - long unsigned int nmissed; - unsigned int flags; - size_t entry_data_size; - fprobe_entry_cb entry_handler; - fprobe_exit_cb exit_handler; - struct fprobe_hlist *hlist_array; -}; - -struct bpf_kprobe_multi_link { - struct bpf_link link; - struct fprobe fp; - long unsigned int *addrs; - u64 *cookies; - u32 cnt; - u32 mods_cnt; - struct module **mods; -}; - -struct bpf_session_run_ctx { - struct bpf_run_ctx run_ctx; - bool is_return; - void *data; -}; - -struct bpf_kprobe_multi_run_ctx { - struct bpf_session_run_ctx session_ctx; - struct bpf_kprobe_multi_link *link; - long unsigned int entry_ip; -}; - -struct bpf_line_info { - __u32 insn_off; - __u32 file_name_off; - __u32 line_off; - __u32 line_col; -}; - -struct bpf_link_info { - __u32 type; - __u32 id; - __u32 prog_id; - union { - struct { - __u64 tp_name; - __u32 tp_name_len; - __u64 cookie; - } raw_tracepoint; - struct { - __u32 attach_type; - __u32 target_obj_id; - __u32 target_btf_id; - __u64 cookie; - } tracing; - struct { - __u64 cgroup_id; - __u32 attach_type; - } cgroup; - struct { - __u64 target_name; - __u32 target_name_len; - union { - struct { - __u32 map_id; - } map; - }; - union { - struct { - __u64 cgroup_id; - __u32 order; - } cgroup; - struct { - __u32 tid; - __u32 pid; - } task; - }; - } iter; - struct { - __u32 netns_ino; - __u32 attach_type; - } netns; - struct { - __u32 ifindex; - } xdp; - struct { - __u32 map_id; - } struct_ops; - struct { - __u32 pf; - __u32 hooknum; - __s32 priority; - __u32 flags; - } netfilter; - struct { - __u64 addrs; - __u32 count; - __u32 flags; - __u64 missed; - __u64 cookies; - } kprobe_multi; - struct { - __u64 path; - __u64 offsets; - __u64 ref_ctr_offsets; - __u64 cookies; - __u32 path_size; - __u32 count; - __u32 flags; - __u32 pid; - } uprobe_multi; - struct { - __u32 type; - union { - struct { - __u64 file_name; - __u32 name_len; - __u32 offset; - __u64 cookie; - __u64 ref_ctr_offset; - } uprobe; - struct { - __u64 func_name; - __u32 name_len; - __u32 offset; - __u64 addr; - __u64 missed; - __u64 cookie; - } kprobe; - struct { - __u64 tp_name; - __u32 name_len; - __u64 cookie; - } tracepoint; - struct { - __u64 config; - __u32 type; - __u64 cookie; - } event; - }; - } perf_event; - struct { - __u32 ifindex; - __u32 attach_type; - } tcx; - struct { - __u32 ifindex; - __u32 attach_type; - } netkit; - struct { - __u32 map_id; - __u32 attach_type; - } sockmap; - }; -}; - -struct bpf_link_ops { - void (*release)(struct bpf_link *); - void (*dealloc)(struct bpf_link *); - void (*dealloc_deferred)(struct bpf_link *); - int (*detach)(struct bpf_link *); - int (*update_prog)(struct bpf_link *, struct bpf_prog *, struct bpf_prog *); - void (*show_fdinfo)(const struct bpf_link *, struct seq_file *); - int (*fill_link_info)(const struct bpf_link *, struct bpf_link_info *); - int (*update_map)(struct bpf_link *, struct bpf_map *, struct bpf_map *); - __poll_t (*poll)(struct file *, struct poll_table_struct *); -}; - -struct bpf_link_primer { - struct bpf_link *link; - struct file *file; - int fd; - u32 id; -}; - -struct bpf_list_head { - __u64 __opaque[2]; -}; - -struct bpf_list_node { - __u64 __opaque[3]; -}; - -struct bpf_list_node_kern { - struct list_head list_head; - void *owner; -}; - -struct bpf_local_storage_data; - -struct bpf_local_storage_map; - -struct bpf_local_storage { - struct bpf_local_storage_data *cache[16]; - struct bpf_local_storage_map *smap; - struct hlist_head list; - void *owner; - struct callback_head rcu; - raw_spinlock_t lock; -}; - -struct bpf_local_storage_cache { - spinlock_t idx_lock; - u64 idx_usage_counts[16]; -}; - -struct bpf_local_storage_data { - struct bpf_local_storage_map *smap; - u8 data[0]; -}; - -struct bpf_local_storage_elem { - struct hlist_node map_node; - struct hlist_node snode; - struct bpf_local_storage *local_storage; - union { - struct callback_head rcu; - struct hlist_node free_node; - }; - long: 64; - struct bpf_local_storage_data sdata; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct bpf_local_storage_map_bucket; - -struct bpf_local_storage_map { - struct bpf_map map; - struct bpf_local_storage_map_bucket *buckets; - u32 bucket_log; - u16 elem_size; - u16 cache_idx; - struct bpf_mem_alloc selem_ma; - struct bpf_mem_alloc storage_ma; - bool bpf_ma; -}; - -struct bpf_local_storage_map_bucket { - struct hlist_head list; - raw_spinlock_t lock; -}; - -struct bpf_lpm_trie_key_hdr { - __u32 prefixlen; -}; - -struct bpf_lpm_trie_key_u8 { - union { - struct bpf_lpm_trie_key_hdr hdr; - __u32 prefixlen; - }; - __u8 data[0]; -}; - -struct bpf_lru_locallist { - struct list_head lists[2]; - u16 next_steal; - raw_spinlock_t lock; -}; - -struct bpf_lru_node { - struct list_head list; - u16 cpu; - u8 type; - u8 ref; -}; - -struct bpf_lwt_prog { - struct bpf_prog *prog; - char *name; -}; - -struct bpf_lwt { - struct bpf_lwt_prog in; - struct bpf_lwt_prog out; - struct bpf_lwt_prog xmit; - int family; -}; - -struct bpf_offloaded_map; - -struct bpf_map_dev_ops { - int (*map_get_next_key)(struct bpf_offloaded_map *, void *, void *); - int (*map_lookup_elem)(struct bpf_offloaded_map *, void *, void *); - int (*map_update_elem)(struct bpf_offloaded_map *, void *, void *, u64); - int (*map_delete_elem)(struct bpf_offloaded_map *, void *); -}; - -struct bpf_map_info { - __u32 type; - __u32 id; - __u32 key_size; - __u32 value_size; - __u32 max_entries; - __u32 map_flags; - char name[16]; - __u32 ifindex; - __u32 btf_vmlinux_value_type_id; - __u64 netns_dev; - __u64 netns_ino; - __u32 btf_id; - __u32 btf_key_type_id; - __u32 btf_value_type_id; - __u32 btf_vmlinux_id; - __u64 map_extra; -}; - -typedef u64 (*bpf_callback_t)(u64, u64, u64, u64, u64); - -struct bpf_prog_aux; - -struct bpf_map_ops { - int (*map_alloc_check)(union bpf_attr *); - struct bpf_map * (*map_alloc)(union bpf_attr *); - void (*map_release)(struct bpf_map *, struct file *); - void (*map_free)(struct bpf_map *); - int (*map_get_next_key)(struct bpf_map *, void *, void *); - void (*map_release_uref)(struct bpf_map *); - void * (*map_lookup_elem_sys_only)(struct bpf_map *, void *); - int (*map_lookup_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *); - int (*map_lookup_and_delete_elem)(struct bpf_map *, void *, void *, u64); - int (*map_lookup_and_delete_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *); - int (*map_update_batch)(struct bpf_map *, struct file *, const union bpf_attr *, union bpf_attr *); - int (*map_delete_batch)(struct bpf_map *, const union bpf_attr *, union bpf_attr *); - void * (*map_lookup_elem)(struct bpf_map *, void *); - long int (*map_update_elem)(struct bpf_map *, void *, void *, u64); - long int (*map_delete_elem)(struct bpf_map *, void *); - long int (*map_push_elem)(struct bpf_map *, void *, u64); - long int (*map_pop_elem)(struct bpf_map *, void *); - long int (*map_peek_elem)(struct bpf_map *, void *); - void * (*map_lookup_percpu_elem)(struct bpf_map *, void *, u32); - void * (*map_fd_get_ptr)(struct bpf_map *, struct file *, int); - void (*map_fd_put_ptr)(struct bpf_map *, void *, bool); - int (*map_gen_lookup)(struct bpf_map *, struct bpf_insn *); - u32 (*map_fd_sys_lookup_elem)(void *); - void (*map_seq_show_elem)(struct bpf_map *, void *, struct seq_file *); - int (*map_check_btf)(const struct bpf_map *, const struct btf *, const struct btf_type *, const struct btf_type *); - int (*map_poke_track)(struct bpf_map *, struct bpf_prog_aux *); - void (*map_poke_untrack)(struct bpf_map *, struct bpf_prog_aux *); - void (*map_poke_run)(struct bpf_map *, u32, struct bpf_prog *, struct bpf_prog *); - int (*map_direct_value_addr)(const struct bpf_map *, u64 *, u32); - int (*map_direct_value_meta)(const struct bpf_map *, u64, u32 *); - int (*map_mmap)(struct bpf_map *, struct vm_area_struct *); - __poll_t (*map_poll)(struct bpf_map *, struct file *, struct poll_table_struct *); - long unsigned int (*map_get_unmapped_area)(struct file *, long unsigned int, long unsigned int, long unsigned int, long unsigned int); - int (*map_local_storage_charge)(struct bpf_local_storage_map *, void *, u32); - void (*map_local_storage_uncharge)(struct bpf_local_storage_map *, void *, u32); - struct bpf_local_storage ** (*map_owner_storage_ptr)(void *); - long int (*map_redirect)(struct bpf_map *, u64, u64); - bool (*map_meta_equal)(const struct bpf_map *, const struct bpf_map *); - int (*map_set_for_each_callback_args)(struct bpf_verifier_env *, struct bpf_func_state *, struct bpf_func_state *); - long int (*map_for_each_callback)(struct bpf_map *, bpf_callback_t, void *, u64); - u64 (*map_mem_usage)(const struct bpf_map *); - int *map_btf_id; - const struct bpf_iter_seq_info *iter_seq_info; -}; - -struct bpf_map_owner { - enum bpf_prog_type type; - bool jited; - bool xdp_has_frags; - u64 storage_cookie[2]; - const struct btf_type *attach_func_proto; - enum bpf_attach_type expected_attach_type; -}; - -struct rcuwait { - struct task_struct *task; -}; - -struct irq_work { - struct __call_single_node node; - void (*func)(struct irq_work *); - struct rcuwait irqwait; -}; - -struct bpf_mem_cache { - struct llist_head free_llist; - local_t active; - struct llist_head free_llist_extra; - struct irq_work refill_work; - struct obj_cgroup *objcg; - int unit_size; - int free_cnt; - int low_watermark; - int high_watermark; - int batch; - int percpu_size; - bool draining; - struct bpf_mem_cache *tgt; - struct llist_head free_by_rcu; - struct llist_node *free_by_rcu_tail; - struct llist_head waiting_for_gp; - struct llist_node *waiting_for_gp_tail; - struct callback_head rcu; - atomic_t call_rcu_in_progress; - struct llist_head free_llist_extra_rcu; - struct llist_head free_by_rcu_ttrace; - struct llist_head waiting_for_gp_ttrace; - struct callback_head rcu_ttrace; - atomic_t call_rcu_ttrace_in_progress; -}; - -struct bpf_mem_caches { - struct bpf_mem_cache cache[11]; -}; - -struct bpf_mount_opts { - kuid_t uid; - kgid_t gid; - umode_t mode; - u64 delegate_cmds; - u64 delegate_maps; - u64 delegate_progs; - u64 delegate_attachs; -}; - -struct bpf_mprog_fp { - struct bpf_prog *prog; -}; - -struct bpf_mprog_bundle; - -struct bpf_mprog_entry { - struct bpf_mprog_fp fp_items[64]; - struct bpf_mprog_bundle *parent; -}; - -struct bpf_mprog_cp { - struct bpf_link *link; -}; - -struct bpf_mprog_bundle { - struct bpf_mprog_entry a; - struct bpf_mprog_entry b; - struct bpf_mprog_cp cp_items[64]; - struct bpf_prog *ref; - atomic64_t revision; - u32 count; -}; - -struct bpf_nested_pt_regs { - struct pt_regs regs[3]; -}; - -struct bpf_nh_params { - u32 nh_family; - union { - u32 ipv4_nh; - struct in6_addr ipv6_nh; - }; -}; - -struct bpf_redirect_info { - u64 tgt_index; - void *tgt_value; - struct bpf_map *map; - u32 flags; - u32 map_id; - enum bpf_map_type map_type; - struct bpf_nh_params nh; - u32 kern_flags; -}; - -struct bpf_net_context { - struct bpf_redirect_info ri; - struct list_head cpu_map_flush_list; - struct list_head dev_map_flush_list; - struct list_head xskmap_map_flush_list; -}; - -struct bpf_netns_link { - struct bpf_link link; - struct net *net; - struct list_head node; - enum netns_bpf_attach_type netns_type; -}; - -typedef unsigned int nf_hookfn(void *, struct sk_buff *, const struct nf_hook_state *); - -struct nf_hook_ops { - struct list_head list; - struct callback_head rcu; - nf_hookfn *hook; - struct net_device *dev; - void *priv; - u8 pf; - enum nf_hook_ops_type hook_ops_type: 8; - unsigned int hooknum; - int priority; -}; - -struct nf_defrag_hook; - -struct bpf_nf_link { - struct bpf_link link; - struct nf_hook_ops hook_ops; - netns_tracker ns_tracker; - struct net *net; - u32 dead; - const struct nf_defrag_hook *defrag_hook; -}; - -struct bpf_prog_offload_ops; - -struct bpf_offload_dev { - const struct bpf_prog_offload_ops *ops; - struct list_head netdevs; - void *priv; -}; - -struct bpf_offload_netdev { - struct rhash_head l; - struct net_device *netdev; - struct bpf_offload_dev *offdev; - struct list_head progs; - struct list_head maps; - struct list_head offdev_netdevs; -}; - -struct bpf_offloaded_map { - struct bpf_map map; - struct net_device *netdev; - const struct bpf_map_dev_ops *dev_ops; - void *dev_priv; - struct list_head offloads; -}; - -struct bpf_perf_event_value { - __u64 counter; - __u64 enabled; - __u64 running; -}; - -struct bpf_perf_link { - struct bpf_link link; - struct file *perf_file; -}; - -struct bpf_pidns_info { - __u32 pid; - __u32 tgid; -}; - -struct bpf_preload_info { - char link_name[16]; - struct bpf_link *link; -}; - -struct bpf_preload_ops { - int (*preload)(struct bpf_preload_info *); - struct module *owner; -}; - -struct sock_filter { - __u16 code; - __u8 jt; - __u8 jf; - __u32 k; -}; - -struct bpf_prog_stats; - -struct sock_fprog_kern; - -struct bpf_prog { - u16 pages; - u16 jited: 1; - u16 jit_requested: 1; - u16 gpl_compatible: 1; - u16 cb_access: 1; - u16 dst_needed: 1; - u16 blinding_requested: 1; - u16 blinded: 1; - u16 is_func: 1; - u16 kprobe_override: 1; - u16 has_callchain_buf: 1; - u16 enforce_expected_attach_type: 1; - u16 call_get_stack: 1; - u16 call_get_func_ip: 1; - u16 tstamp_type_access: 1; - u16 sleepable: 1; - enum bpf_prog_type type; - enum bpf_attach_type expected_attach_type; - u32 len; - u32 jited_len; - u8 tag[8]; - struct bpf_prog_stats *stats; - int *active; - unsigned int (*bpf_func)(const void *, const struct bpf_insn *); - struct bpf_prog_aux *aux; - struct sock_fprog_kern *orig_prog; - union { - struct { - struct {} __empty_insns; - struct sock_filter insns[0]; - }; - struct { - struct {} __empty_insnsi; - struct bpf_insn insnsi[0]; - }; - }; -}; - -struct bpf_stream { - atomic_t capacity; - struct llist_head log; - struct mutex lock; - struct llist_node *backlog_head; - struct llist_node *backlog_tail; -}; - -struct bpf_trampoline; - -struct bpf_prog_ops; - -struct bpf_struct_ops; - -struct btf_mod_pair; - -struct user_struct; - -struct bpf_token; - -struct bpf_prog_offload; - -struct exception_table_entry; - -struct bpf_prog_aux { - atomic64_t refcnt; - u32 used_map_cnt; - u32 used_btf_cnt; - u32 max_ctx_offset; - u32 max_pkt_offset; - u32 max_tp_access; - u32 stack_depth; - u32 id; - u32 func_cnt; - u32 real_func_cnt; - u32 func_idx; - u32 attach_btf_id; - u32 attach_st_ops_member_off; - u32 ctx_arg_info_size; - u32 max_rdonly_access; - u32 max_rdwr_access; - struct btf *attach_btf; - struct bpf_ctx_arg_aux *ctx_arg_info; - void *priv_stack_ptr; - struct mutex dst_mutex; - struct bpf_prog *dst_prog; - struct bpf_trampoline *dst_trampoline; - enum bpf_prog_type saved_dst_prog_type; - enum bpf_attach_type saved_dst_attach_type; - bool verifier_zext; - bool dev_bound; - bool offload_requested; - bool attach_btf_trace; - bool attach_tracing_prog; - bool func_proto_unreliable; - bool tail_call_reachable; - bool xdp_has_frags; - bool exception_cb; - bool exception_boundary; - bool is_extended; - bool jits_use_priv_stack; - bool priv_stack_requested; - bool changes_pkt_data; - bool might_sleep; - u64 prog_array_member_cnt; - struct mutex ext_mutex; - struct bpf_arena *arena; - void (*recursion_detected)(struct bpf_prog *); - const struct btf_type *attach_func_proto; - const char *attach_func_name; - struct bpf_prog **func; - void *jit_data; - struct bpf_jit_poke_descriptor *poke_tab; - struct bpf_kfunc_desc_tab *kfunc_tab; - struct bpf_kfunc_btf_tab *kfunc_btf_tab; - u32 size_poke_tab; - struct bpf_ksym ksym; - const struct bpf_prog_ops *ops; - const struct bpf_struct_ops *st_ops; - struct bpf_map **used_maps; - struct mutex used_maps_mutex; - struct btf_mod_pair *used_btfs; - struct bpf_prog *prog; - struct user_struct *user; - u64 load_time; - u32 verified_insns; - int cgroup_atype; - struct bpf_map *cgroup_storage[2]; - char name[16]; - u64 (*bpf_exception_cb)(u64, u64, u64, u64, u64); - void *security; - struct bpf_token *token; - struct bpf_prog_offload *offload; - struct btf *btf; - struct bpf_func_info *func_info; - struct bpf_func_info_aux *func_info_aux; - struct bpf_line_info *linfo; - void **jited_linfo; - u32 func_info_cnt; - u32 nr_linfo; - u32 linfo_idx; - struct module *mod; - u32 num_exentries; - struct exception_table_entry *extable; - union { - struct work_struct work; - struct callback_head rcu; - }; - struct bpf_stream stream[2]; -}; - -struct bpf_prog_dummy { - struct bpf_prog prog; -}; - -struct bpf_prog_info { - __u32 type; - __u32 id; - __u8 tag[8]; - __u32 jited_prog_len; - __u32 xlated_prog_len; - __u64 jited_prog_insns; - __u64 xlated_prog_insns; - __u64 load_time; - __u32 created_by_uid; - __u32 nr_map_ids; - __u64 map_ids; - char name[16]; - __u32 ifindex; - __u32 gpl_compatible: 1; - __u64 netns_dev; - __u64 netns_ino; - __u32 nr_jited_ksyms; - __u32 nr_jited_func_lens; - __u64 jited_ksyms; - __u64 jited_func_lens; - __u32 btf_id; - __u32 func_info_rec_size; - __u64 func_info; - __u32 nr_func_info; - __u32 nr_line_info; - __u64 line_info; - __u64 jited_line_info; - __u32 nr_jited_line_info; - __u32 line_info_rec_size; - __u32 jited_line_info_rec_size; - __u32 nr_prog_tags; - __u64 prog_tags; - __u64 run_time_ns; - __u64 run_cnt; - __u64 recursion_misses; - __u32 verified_insns; - __u32 attach_btf_obj_id; - __u32 attach_btf_id; -}; - -struct bpf_prog_kstats { - u64 nsecs; - u64 cnt; - u64 misses; -}; - -struct bpf_prog_list { - struct hlist_node node; - struct bpf_prog *prog; - struct bpf_cgroup_link *link; - struct bpf_cgroup_storage *storage[2]; - u32 flags; -}; - -struct bpf_prog_offload { - struct bpf_prog *prog; - struct net_device *netdev; - struct bpf_offload_dev *offdev; - void *dev_priv; - struct list_head offloads; - bool dev_state; - bool opt_failed; - void *jited_image; - u32 jited_len; -}; - -struct bpf_prog_offload_ops { - int (*insn_hook)(struct bpf_verifier_env *, int, int); - int (*finalize)(struct bpf_verifier_env *); - int (*replace_insn)(struct bpf_verifier_env *, u32, struct bpf_insn *); - int (*remove_insns)(struct bpf_verifier_env *, u32, u32); - int (*prepare)(struct bpf_prog *); - int (*translate)(struct bpf_prog *); - void (*destroy)(struct bpf_prog *); -}; - -struct bpf_prog_ops { - int (*test_run)(struct bpf_prog *, const union bpf_attr *, union bpf_attr *); -}; - -struct bpf_prog_pack { - struct list_head list; - void *ptr; - long unsigned int bitmap[0]; -}; - -struct bpf_prog_stats { - u64_stats_t cnt; - u64_stats_t nsecs; - u64_stats_t misses; - struct u64_stats_sync syncp; - long: 64; -}; - -typedef struct qspinlock rqspinlock_t; - -struct bpf_queue_stack { - struct bpf_map map; - rqspinlock_t lock; - u32 head; - u32 tail; - u32 size; - char elements[0]; -}; - -struct bpf_raw_event_map { - struct tracepoint *tp; - void *bpf_func; - u32 num_args; - u32 writable_size; - long: 64; -}; - -struct bpf_raw_tp_link { - struct bpf_link link; - struct bpf_raw_event_map *btp; - u64 cookie; -}; - -struct bpf_raw_tp_null_args { - const char *func; - u64 mask; -}; - -struct bpf_raw_tp_regs { - struct pt_regs regs[3]; -}; - -struct bpf_raw_tp_test_run_info { - struct bpf_prog *prog; - void *ctx; - u32 retval; -}; - -struct bpf_rb_node { - __u64 __opaque[4]; -}; - -struct bpf_rb_node_kern { - struct rb_node rb_node; - void *owner; -}; - -struct bpf_rb_root { - __u64 __opaque[2]; -}; - -struct bpf_redir_neigh { - __u32 nh_family; - union { - __be32 ipv4_nh; - __u32 ipv6_nh[4]; - }; -}; - -struct bpf_refcount { - __u32 __opaque[1]; -}; - -struct bpf_reference_state { - enum ref_state_type type; - int id; - int insn_idx; - void *ptr; -}; - -struct bpf_reg_types { - const enum bpf_reg_type types[10]; - u32 *btf_id; -}; - -struct bpf_res_spin_lock { - u32 val; -}; - -struct bpf_ringbuf { - wait_queue_head_t waitq; - struct irq_work work; - u64 mask; - struct page **pages; - int nr_pages; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - rqspinlock_t spinlock; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - atomic_t busy; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long unsigned int consumer_pos; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long unsigned int producer_pos; - long unsigned int pending_pos; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - char data[0]; -}; - -struct bpf_ringbuf_hdr { - u32 len; - u32 pg_off; -}; - -struct bpf_ringbuf_map { - struct bpf_map map; - struct bpf_ringbuf *rb; -}; - -struct bpf_sanitize_info { - struct bpf_insn_aux_data aux; - bool mask_to_left; -}; - -struct bpf_verifier_state { - struct bpf_func_state *frame[8]; - struct bpf_verifier_state *parent; - struct bpf_reference_state *refs; - u32 branches; - u32 insn_idx; - u32 curframe; - u32 acquired_refs; - u32 active_locks; - u32 active_preempt_locks; - u32 active_irq_id; - u32 active_lock_id; - void *active_lock_ptr; - bool active_rcu_lock; - bool speculative; - bool in_sleepable; - u32 first_insn_idx; - u32 last_insn_idx; - struct bpf_verifier_state *equal_state; - struct bpf_jmp_history_entry *jmp_history; - u32 jmp_history_cnt; - u32 dfs_depth; - u32 callback_unroll_depth; - u32 may_goto_depth; -}; - -struct bpf_scc_backedge { - struct bpf_scc_backedge *next; - struct bpf_verifier_state state; -}; - -struct bpf_scc_callchain { - u32 callsites[7]; - u32 scc; -}; - -struct bpf_scc_visit { - struct bpf_scc_callchain callchain; - struct bpf_verifier_state *entry_state; - struct bpf_scc_backedge *backedges; - u32 num_backedges; -}; - -struct bpf_scc_info { - u32 num_visits; - struct bpf_scc_visit visits[0]; -}; - -struct qdisc_watchdog { - struct hrtimer timer; - struct Qdisc *qdisc; -}; - -struct bpf_sched_data { - struct qdisc_watchdog watchdog; -}; - -struct bpf_security_struct { - u32 sid; -}; - -struct bpf_tramp_link { - struct bpf_link link; - struct hlist_node tramp_hlist; - u64 cookie; -}; - -struct bpf_shim_tramp_link { - struct bpf_tramp_link link; - struct bpf_trampoline *trampoline; -}; - -struct sk_psock_progs { - struct bpf_prog *msg_parser; - struct bpf_prog *stream_parser; - struct bpf_prog *stream_verdict; - struct bpf_prog *skb_verdict; - struct bpf_link *msg_parser_link; - struct bpf_link *stream_parser_link; - struct bpf_link *stream_verdict_link; - struct bpf_link *skb_verdict_link; -}; - -struct bpf_shtab_bucket; - -struct bpf_shtab { - struct bpf_map map; - struct bpf_shtab_bucket *buckets; - u32 buckets_num; - u32 elem_size; - struct sk_psock_progs progs; - atomic_t count; -}; - -struct bpf_shtab_bucket { - struct hlist_head head; - spinlock_t lock; -}; - -struct bpf_shtab_elem { - struct callback_head rcu; - u32 hash; - struct sock *sk; - struct hlist_node node; - u8 key[0]; -}; - -struct bpf_sk_buff_ptr { - struct sk_buff *skb; -}; - -struct bpf_sk_storage_diag { - u32 nr_maps; - struct bpf_map *maps[0]; -}; - -struct qdisc_skb_cb { - struct { - unsigned int pkt_len; - u16 slave_dev_queue_mapping; - u16 tc_classid; - }; - unsigned char data[20]; -}; - -struct bpf_skb_data_end { - struct qdisc_skb_cb qdisc_cb; - void *data_meta; - void *data_end; -}; - -struct bpf_sock_tuple { - union { - struct { - __be32 saddr; - __be32 daddr; - __be16 sport; - __be16 dport; - } ipv4; - struct { - __be32 saddr[4]; - __be32 daddr[4]; - __be16 sport; - __be16 dport; - } ipv6; - }; -}; - -struct bpf_sockopt_buf { - u8 data[32]; -}; - -struct bpf_stab { - struct bpf_map map; - struct sock **sks; - struct sk_psock_progs progs; - spinlock_t lock; -}; - -struct bpf_stack_build_id { - __s32 status; - unsigned char build_id[20]; - union { - __u64 offset; - __u64 ip; - }; -}; - -struct stack_map_bucket; - -struct bpf_stack_map { - struct bpf_map map; - void *elems; - struct pcpu_freelist freelist; - u32 n_buckets; - struct stack_map_bucket *buckets[0]; -}; - -struct bpf_stack_state { - struct bpf_reg_state spilled_ptr; - u8 slot_type[8]; -}; - -struct bpf_storage_blob { - struct bpf_local_storage *storage; -}; - -struct bpf_storage_buffer { - struct callback_head rcu; - char data[0]; -}; - -struct bpf_stream_elem { - struct llist_node node; - int total_len; - int consumed_len; - char str[0]; -}; - -struct bpf_stream_page { - refcount_t ref; - u32 consumed; - char buf[0]; -}; - -struct bpf_stream_stage { - struct llist_head log; - int len; -}; - -struct bpf_verifier_ops; - -struct btf_member; - -struct bpf_struct_ops { - const struct bpf_verifier_ops *verifier_ops; - int (*init)(struct btf *); - int (*check_member)(const struct btf_type *, const struct btf_member *, const struct bpf_prog *); - int (*init_member)(const struct btf_type *, const struct btf_member *, void *, const void *); - int (*reg)(void *, struct bpf_link *); - void (*unreg)(void *, struct bpf_link *); - int (*update)(void *, void *, struct bpf_link *); - int (*validate)(void *); - void *cfi_stubs; - struct module *owner; - const char *name; - struct btf_func_model func_models[64]; -}; - -struct bpf_struct_ops_common_value { - refcount_t refcnt; - enum bpf_struct_ops_state state; -}; - -struct bpf_struct_ops_Qdisc_ops { - struct bpf_struct_ops_common_value common; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - struct Qdisc_ops data; - long: 64; - long: 64; -}; - -struct bpf_struct_ops_arg_info { - struct bpf_ctx_arg_aux *info; - u32 cnt; -}; - -struct bpf_struct_ops_bpf_dummy_ops { - struct bpf_struct_ops_common_value common; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - struct bpf_dummy_ops data; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct bpf_struct_ops_desc { - struct bpf_struct_ops *st_ops; - const struct btf_type *type; - const struct btf_type *value_type; - u32 type_id; - u32 value_id; - struct bpf_struct_ops_arg_info *arg_info; -}; - -struct hid_bpf_ctx; - -struct hid_device; - -struct hid_bpf_ops { - int hid_id; - u32 flags; - struct list_head list; - int (*hid_device_event)(struct hid_bpf_ctx *, enum hid_report_type, u64); - int (*hid_rdesc_fixup)(struct hid_bpf_ctx *); - int (*hid_hw_request)(struct hid_bpf_ctx *, unsigned char, enum hid_report_type, enum hid_class_request, u64); - int (*hid_hw_output_report)(struct hid_bpf_ctx *, u64); - struct hid_device *hdev; -}; - -struct bpf_struct_ops_hid_bpf_ops { - struct bpf_struct_ops_common_value common; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - struct hid_bpf_ops data; -}; - -struct bpf_struct_ops_link { - struct bpf_link link; - struct bpf_map *map; - wait_queue_head_t wait_hup; -}; - -struct bpf_struct_ops_value { - struct bpf_struct_ops_common_value common; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - char data[0]; -}; - -struct bpf_struct_ops_map { - struct bpf_map map; - const struct bpf_struct_ops_desc *st_ops_desc; - struct mutex lock; - struct bpf_link **links; - struct bpf_ksym **ksyms; - u32 funcs_cnt; - u32 image_pages_cnt; - void *image_pages[8]; - struct btf *btf; - struct bpf_struct_ops_value *uvalue; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - struct bpf_struct_ops_value kvalue; -}; - -struct scx_cpu_acquire_args; - -struct scx_cpu_release_args; - -struct scx_init_task_args; - -struct scx_exit_task_args; - -struct scx_dump_ctx; - -struct scx_cgroup_init_args; - -struct scx_exit_info; - -struct sched_ext_ops { - s32 (*select_cpu)(struct task_struct *, s32, u64); - void (*enqueue)(struct task_struct *, u64); - void (*dequeue)(struct task_struct *, u64); - void (*dispatch)(s32, struct task_struct *); - void (*tick)(struct task_struct *); - void (*runnable)(struct task_struct *, u64); - void (*running)(struct task_struct *); - void (*stopping)(struct task_struct *, bool); - void (*quiescent)(struct task_struct *, u64); - bool (*yield)(struct task_struct *, struct task_struct *); - bool (*core_sched_before)(struct task_struct *, struct task_struct *); - void (*set_weight)(struct task_struct *, u32); - void (*set_cpumask)(struct task_struct *, const struct cpumask *); - void (*update_idle)(s32, bool); - void (*cpu_acquire)(s32, struct scx_cpu_acquire_args *); - void (*cpu_release)(s32, struct scx_cpu_release_args *); - s32 (*init_task)(struct task_struct *, struct scx_init_task_args *); - void (*exit_task)(struct task_struct *, struct scx_exit_task_args *); - void (*enable)(struct task_struct *); - void (*disable)(struct task_struct *); - void (*dump)(struct scx_dump_ctx *); - void (*dump_cpu)(struct scx_dump_ctx *, s32, bool); - void (*dump_task)(struct scx_dump_ctx *, struct task_struct *); - s32 (*cgroup_init)(struct cgroup *, struct scx_cgroup_init_args *); - void (*cgroup_exit)(struct cgroup *); - s32 (*cgroup_prep_move)(struct task_struct *, struct cgroup *, struct cgroup *); - void (*cgroup_move)(struct task_struct *, struct cgroup *, struct cgroup *); - void (*cgroup_cancel_move)(struct task_struct *, struct cgroup *, struct cgroup *); - void (*cgroup_set_weight)(struct cgroup *, u32); - void (*cgroup_set_bandwidth)(struct cgroup *, u64, u64, u64); - void (*cpu_online)(s32); - void (*cpu_offline)(s32); - s32 (*init)(void); - void (*exit)(struct scx_exit_info *); - u32 dispatch_max_batch; - u64 flags; - u32 timeout_ms; - u32 exit_dump_len; - u64 hotplug_seq; - char name[128]; - void *priv; -}; - -struct bpf_struct_ops_sched_ext_ops { - struct bpf_struct_ops_common_value common; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - struct sched_ext_ops data; - long: 64; -}; - -struct rate_sample; - -union tcp_cc_info; - -struct tcp_congestion_ops { - u32 (*ssthresh)(struct sock *); - void (*cong_avoid)(struct sock *, u32, u32); - void (*set_state)(struct sock *, u8); - void (*cwnd_event)(struct sock *, enum tcp_ca_event); - void (*in_ack_event)(struct sock *, u32); - void (*pkts_acked)(struct sock *, const struct ack_sample *); - u32 (*min_tso_segs)(struct sock *); - void (*cong_control)(struct sock *, u32, int, const struct rate_sample *); - u32 (*undo_cwnd)(struct sock *); - u32 (*sndbuf_expand)(struct sock *); - size_t (*get_info)(struct sock *, u32, int *, union tcp_cc_info *); - char name[16]; - struct module *owner; - struct list_head list; - u32 key; - u32 flags; - void (*init)(struct sock *); - void (*release)(struct sock *); - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct bpf_struct_ops_tcp_congestion_ops { - struct bpf_struct_ops_common_value common; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - struct tcp_congestion_ops data; -}; - -struct bpf_subprog_arg_info { - enum bpf_arg_type arg_type; - union { - u32 mem_size; - u32 btf_id; - }; -}; - -struct bpf_subprog_info { - u32 start; - u32 linfo_idx; - u16 stack_depth; - u16 stack_extra; - s16 fastcall_stack_off; - bool has_tail_call: 1; - bool tail_call_reachable: 1; - bool has_ld_abs: 1; - bool is_cb: 1; - bool is_async_cb: 1; - bool is_exception_cb: 1; - bool args_cached: 1; - bool keep_fastcall_stack: 1; - bool changes_pkt_data: 1; - bool might_sleep: 1; - enum priv_stack_mode priv_stack_mode; - u8 arg_cnt; - struct bpf_subprog_arg_info args[5]; -}; - -union bpf_tcp_iter_batch_item { - struct sock *sk; - __u64 cookie; -}; - -struct tcp_iter_state { - struct seq_net_private p; - enum tcp_seq_states state; - struct sock *syn_wait_sk; - int bucket; - int offset; - int sbucket; - int num; - loff_t last_pos; -}; - -struct bpf_tcp_iter_state { - struct tcp_iter_state state; - unsigned int cur_sk; - unsigned int end_sk; - unsigned int max_sk; - union bpf_tcp_iter_batch_item *batch; -}; - -struct bpf_tcp_req_attrs { - u32 rcv_tsval; - u32 rcv_tsecr; - u16 mss; - u8 rcv_wscale; - u8 snd_wscale; - u8 ecn_ok; - u8 wscale_ok; - u8 sack_ok; - u8 tstamp_ok; - u8 usec_ts_ok; - u8 reserved[3]; -}; - -struct bpf_tcp_sock { - __u32 snd_cwnd; - __u32 srtt_us; - __u32 rtt_min; - __u32 snd_ssthresh; - __u32 rcv_nxt; - __u32 snd_nxt; - __u32 snd_una; - __u32 mss_cache; - __u32 ecn_flags; - __u32 rate_delivered; - __u32 rate_interval_us; - __u32 packets_out; - __u32 retrans_out; - __u32 total_retrans; - __u32 segs_in; - __u32 data_segs_in; - __u32 segs_out; - __u32 data_segs_out; - __u32 lost_out; - __u32 sacked_out; - __u64 bytes_received; - __u64 bytes_acked; - __u32 dsack_dups; - __u32 delivered; - __u32 delivered_ce; - __u32 icsk_retransmits; -}; - -struct bpf_test_timer { - enum { - NO_PREEMPT = 0, - NO_MIGRATE = 1, - } mode; - u32 i; - u64 time_start; - u64 time_spent; -}; - -struct bpf_throw_ctx { - struct bpf_prog_aux *aux; - u64 sp; - u64 bp; - int cnt; -}; - -struct bpf_timed_may_goto { - u64 count; - u64 timestamp; -}; - -struct bpf_timer { - __u64 __opaque[2]; -}; - -struct user_namespace; - -struct bpf_token { - struct work_struct work; - atomic64_t refcnt; - struct user_namespace *userns; - u64 allowed_cmds; - u64 allowed_maps; - u64 allowed_progs; - u64 allowed_attachs; - void *security; -}; - -struct bpf_token_info { - __u64 allowed_cmds; - __u64 allowed_maps; - __u64 allowed_progs; - __u64 allowed_attachs; -}; - -struct bpf_trace_module { - struct module *module; - struct list_head list; -}; - -struct bpf_trace_run_ctx { - struct bpf_run_ctx run_ctx; - u64 bpf_cookie; - bool is_uprobe; -}; - -union perf_sample_weight { - __u64 full; - struct { - __u32 var1_dw; - __u16 var2_w; - __u16 var3_w; - }; -}; - -union perf_mem_data_src { - __u64 val; - struct { - __u64 mem_op: 5; - __u64 mem_lvl: 14; - __u64 mem_snoop: 5; - __u64 mem_lock: 2; - __u64 mem_dtlb: 7; - __u64 mem_lvl_num: 4; - __u64 mem_remote: 1; - __u64 mem_snoopx: 2; - __u64 mem_blk: 3; - __u64 mem_hops: 3; - __u64 mem_rsvd: 18; - }; -}; - -struct perf_regs { - __u64 abi; - struct pt_regs *regs; -}; - -struct perf_callchain_entry; - -struct perf_raw_record; - -struct perf_branch_stack; - -struct perf_sample_data { - u64 sample_flags; - u64 period; - u64 dyn_size; - u64 type; - struct { - u32 pid; - u32 tid; - } tid_entry; - u64 time; - u64 id; - struct { - u32 cpu; - u32 reserved; - } cpu_entry; - u64 ip; - struct perf_callchain_entry *callchain; - struct perf_raw_record *raw; - struct perf_branch_stack *br_stack; - u64 *br_stack_cntr; - union perf_sample_weight weight; - union perf_mem_data_src data_src; - u64 txn; - struct perf_regs regs_user; - struct perf_regs regs_intr; - u64 stack_user_size; - u64 stream_id; - u64 cgroup; - u64 addr; - u64 phys_addr; - u64 data_page_size; - u64 code_page_size; - u64 aux_size; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct bpf_trace_sample_data { - struct perf_sample_data sds[3]; -}; - -struct bpf_tracing_link { - struct bpf_tramp_link link; - struct bpf_trampoline *trampoline; - struct bpf_prog *tgt_prog; -}; - -struct bpf_tramp_image { - void *image; - int size; - struct bpf_ksym ksym; - struct percpu_ref pcref; - void *ip_after_call; - void *ip_epilogue; - union { - struct callback_head rcu; - struct work_struct work; - }; -}; - -struct bpf_tramp_links { - struct bpf_tramp_link *links[38]; - int nr_links; -}; - -struct bpf_tramp_run_ctx { - struct bpf_run_ctx run_ctx; - u64 bpf_cookie; - struct bpf_run_ctx *saved_run_ctx; -}; - -struct ftrace_ops; - -struct bpf_trampoline { - struct hlist_node hlist; - struct ftrace_ops *fops; - struct mutex mutex; - refcount_t refcnt; - u32 flags; - u64 key; - struct { - struct btf_func_model model; - void *addr; - bool ftrace_managed; - } func; - struct bpf_prog *extension_prog; - struct hlist_head progs_hlist[3]; - int progs_cnt[3]; - struct bpf_tramp_image *cur_image; -}; - -struct bpf_tunnel_key { - __u32 tunnel_id; - union { - __u32 remote_ipv4; - __u32 remote_ipv6[4]; - }; - __u8 tunnel_tos; - __u8 tunnel_ttl; - union { - __u16 tunnel_ext; - __be16 tunnel_flags; - }; - __u32 tunnel_label; - union { - __u32 local_ipv4; - __u32 local_ipv6[4]; - }; -}; - -struct bpf_tuple { - struct bpf_prog *prog; - struct bpf_link *link; -}; - -union bpf_udp_iter_batch_item { - struct sock *sk; - __u64 cookie; -}; - -struct udp_iter_state { - struct seq_net_private p; - int bucket; -}; - -struct bpf_udp_iter_state { - struct udp_iter_state state; - unsigned int cur_sk; - unsigned int end_sk; - unsigned int max_sk; - union bpf_udp_iter_batch_item *batch; -}; - -struct bpf_unix_iter_state { - struct seq_net_private p; - unsigned int cur_sk; - unsigned int end_sk; - unsigned int max_sk; - struct sock **batch; - bool st_bucket_done; -}; - -struct uprobe_consumer { - int (*handler)(struct uprobe_consumer *, struct pt_regs *, __u64 *); - int (*ret_handler)(struct uprobe_consumer *, long unsigned int, struct pt_regs *, __u64 *); - bool (*filter)(struct uprobe_consumer *, struct mm_struct *); - struct list_head cons_node; - __u64 id; -}; - -struct bpf_uprobe_multi_link; - -struct uprobe; - -struct bpf_uprobe { - struct bpf_uprobe_multi_link *link; - loff_t offset; - long unsigned int ref_ctr_offset; - u64 cookie; - struct uprobe *uprobe; - struct uprobe_consumer consumer; - bool session; -}; - -struct bpf_uprobe_multi_link { - struct path path; - struct bpf_link link; - u32 cnt; - struct bpf_uprobe *uprobes; - struct task_struct *task; -}; - -struct bpf_uprobe_multi_run_ctx { - struct bpf_session_run_ctx session_ctx; - long unsigned int entry_ip; - struct bpf_uprobe *uprobe; -}; - -struct btf_mod_pair { - struct btf *btf; - struct module *module; -}; - -struct bpf_verifier_log { - u64 start_pos; - u64 end_pos; - char *ubuf; - u32 level; - u32 len_total; - u32 len_max; - char kbuf[1024]; -}; - -struct bpf_verifier_stack_elem; - -struct bpf_verifier_env { - u32 insn_idx; - u32 prev_insn_idx; - struct bpf_prog *prog; - const struct bpf_verifier_ops *ops; - struct module *attach_btf_mod; - struct bpf_verifier_stack_elem *head; - int stack_size; - bool strict_alignment; - bool test_state_freq; - bool test_reg_invariants; - struct bpf_verifier_state *cur_state; - struct list_head *explored_states; - struct list_head free_list; - struct bpf_map *used_maps[64]; - struct btf_mod_pair used_btfs[64]; - u32 used_map_cnt; - u32 used_btf_cnt; - u32 id_gen; - u32 hidden_subprog_cnt; - int exception_callback_subprog; - bool explore_alu_limits; - bool allow_ptr_leaks; - bool allow_uninit_stack; - bool bpf_capable; - bool bypass_spec_v1; - bool bypass_spec_v4; - bool seen_direct_write; - bool seen_exception; - struct bpf_insn_aux_data *insn_aux_data; - const struct bpf_line_info *prev_linfo; - struct bpf_verifier_log log; - struct bpf_subprog_info subprog_info[258]; - union { - struct bpf_idmap idmap_scratch; - struct bpf_idset idset_scratch; - }; - struct { - int *insn_state; - int *insn_stack; - int *insn_postorder; - int cur_stack; - int cur_postorder; - } cfg; - struct backtrack_state bt; - struct bpf_jmp_history_entry *cur_hist_ent; - u32 pass_cnt; - u32 subprog_cnt; - u32 prev_insn_processed; - u32 insn_processed; - u32 prev_jmps_processed; - u32 jmps_processed; - u64 verification_time; - u32 max_states_per_insn; - u32 total_states; - u32 peak_states; - u32 longest_mark_read_walk; - u32 free_list_size; - u32 explored_states_size; - u32 num_backedges; - bpfptr_t fd_array; - u32 scratched_regs; - u64 scratched_stack_slots; - u64 prev_log_pos; - u64 prev_insn_print_pos; - struct bpf_reg_state fake_reg[2]; - char tmp_str_buf[320]; - struct bpf_insn insn_buf[32]; - struct bpf_insn epilogue_buf[32]; - struct bpf_scc_callchain callchain_buf; - struct bpf_scc_info **scc_info; - u32 scc_cnt; -}; - -struct bpf_verifier_ops { - const struct bpf_func_proto * (*get_func_proto)(enum bpf_func_id, const struct bpf_prog *); - bool (*is_valid_access)(int, int, enum bpf_access_type, const struct bpf_prog *, struct bpf_insn_access_aux *); - int (*gen_prologue)(struct bpf_insn *, bool, const struct bpf_prog *); - int (*gen_epilogue)(struct bpf_insn *, const struct bpf_prog *, s16); - int (*gen_ld_abs)(const struct bpf_insn *, struct bpf_insn *); - u32 (*convert_ctx_access)(enum bpf_access_type, const struct bpf_insn *, struct bpf_insn *, struct bpf_prog *, u32 *); - int (*btf_struct_access)(struct bpf_verifier_log *, const struct bpf_reg_state *, int, int); -}; - -struct bpf_verifier_stack_elem { - struct bpf_verifier_state st; - int insn_idx; - int prev_insn_idx; - struct bpf_verifier_stack_elem *next; - u32 log_pos; -}; - -struct bpf_verifier_state_list { - struct bpf_verifier_state state; - struct list_head node; - u32 miss_cnt; - u32 hit_cnt: 31; - u32 in_free_list: 1; -}; - -struct bpf_work { - struct bpf_async_cb cb; - struct work_struct work; - struct work_struct delete_work; -}; - -struct bpf_wq { - __u64 __opaque[2]; -}; - -struct bpf_xdp_link; - -struct bpf_xdp_entity { - struct bpf_prog *prog; - struct bpf_xdp_link *link; -}; - -struct bpf_xdp_link { - struct bpf_link link; - struct net_device *dev; - int flags; -}; - -struct bpf_xdp_sock { - __u32 queue_id; -}; - -struct bpf_xfrm_state { - __u32 reqid; - __u32 spi; - __u16 family; - __u16 ext; - union { - __u32 remote_ipv4; - __u32 remote_ipv6[4]; - }; -}; - -struct bpf_xfrm_state_opts { - s32 error; - s32 netns_id; - u32 mark; - xfrm_address_t daddr; - __be32 spi; - u8 proto; - u16 family; -}; - -struct bpffs_btf_enums { - const struct btf *btf; - const struct btf_type *cmd_t; - const struct btf_type *map_t; - const struct btf_type *prog_t; - const struct btf_type *attach_t; -}; - -struct trace_entry { - short unsigned int type; - unsigned char flags; - unsigned char preempt_count; - int pid; -}; - -struct bprint_entry { - struct trace_entry ent; - long unsigned int ip; - const char *fmt; - u32 buf[0]; -}; - -struct bputs_entry { - struct trace_entry ent; - long unsigned int ip; - const char *str; -}; - -struct br_input_skb_cb { - struct net_device *brdev; - u16 frag_max_size; - u8 igmp; - u8 mrouters_only: 1; - u8 proxyarp_replied: 1; - u8 src_port_isolated: 1; - u8 promisc: 1; - u8 vlan_filtered: 1; - u8 br_netfilter_broute: 1; - u8 tx_fwd_offload: 1; - int src_hwdom; - long unsigned int fwd_hwdoms; - u32 backup_nhid; -}; - -struct br_ip { - union { - __be32 ip4; - struct in6_addr ip6; - } src; - union { - __be32 ip4; - struct in6_addr ip6; - unsigned char mac_addr[6]; - } dst; - __be16 proto; - __u16 vid; -}; - -struct br_mcast_stats { - __u64 igmp_v1queries[2]; - __u64 igmp_v2queries[2]; - __u64 igmp_v3queries[2]; - __u64 igmp_leaves[2]; - __u64 igmp_v1reports[2]; - __u64 igmp_v2reports[2]; - __u64 igmp_v3reports[2]; - __u64 igmp_parse_errors; - __u64 mld_v1queries[2]; - __u64 mld_v2queries[2]; - __u64 mld_leaves[2]; - __u64 mld_v1reports[2]; - __u64 mld_v2reports[2]; - __u64 mld_parse_errors; - __u64 mcast_bytes[2]; - __u64 mcast_packets[2]; -}; - -struct br_mdb_entry { - __u32 ifindex; - __u8 state; - __u8 flags; - __u16 vid; - struct { - union { - __be32 ip4; - struct in6_addr ip6; - unsigned char mac_addr[6]; - } u; - __be16 proto; - } addr; -}; - -struct br_port_msg { - __u8 family; - __u32 ifindex; -}; - -struct metadata_dst; - -struct br_tunnel_info { - __be64 tunnel_id; - struct metadata_dst *tunnel_dst; -}; - -struct branch_entry { - union { - struct { - u64 ip: 58; - u64 ip_sign_ext: 5; - u64 mispredict: 1; - } split; - u64 full; - } from; - union { - struct { - u64 ip: 58; - u64 ip_sign_ext: 3; - u64 reserved: 1; - u64 spec: 1; - u64 valid: 1; - } split; - u64 full; - } to; -}; - -struct bridge_id { - unsigned char prio[2]; - unsigned char addr[6]; -}; - -typedef struct bridge_id bridge_id; - -struct bridge_mcast_other_query { - struct timer_list timer; - struct timer_list delay_timer; -}; - -struct bridge_mcast_own_query { - struct timer_list timer; - u32 startup_sent; -}; - -struct bridge_mcast_querier { - struct br_ip addr; - int port_ifidx; - seqcount_spinlock_t seq; -}; - -struct bridge_mcast_stats { - struct br_mcast_stats mstats; - struct u64_stats_sync syncp; -}; - -struct bridge_stp_xstats { - __u64 transition_blk; - __u64 transition_fwd; - __u64 rx_bpdu; - __u64 tx_bpdu; - __u64 rx_tcn; - __u64 tx_tcn; -}; - -struct broadcast_sk { - struct sock *sk; - struct work_struct work; -}; - -struct broken_edid { - u8 manufacturer[4]; - u32 model; - u32 fix; -}; - -struct fs_pin { - wait_queue_head_t wait; - int done; - struct hlist_node s_list; - struct hlist_node m_list; - void (*kill)(struct fs_pin *); -}; - -struct bsd_acct_struct { - struct fs_pin pin; - atomic_long_t count; - struct callback_head rcu; - struct mutex lock; - bool active; - bool check_space; - long unsigned int needcheck; - struct file *file; - struct pid_namespace *ns; - struct work_struct work; - struct completion done; - acct_t ac; -}; - -struct bsd_partition { - __le32 p_size; - __le32 p_offset; - __le32 p_fsize; - __u8 p_fstype; - __u8 p_frag; - __le16 p_cpg; -}; - -struct bsd_disklabel { - __le32 d_magic; - __s16 d_type; - __s16 d_subtype; - char d_typename[16]; - char d_packname[16]; - __u32 d_secsize; - __u32 d_nsectors; - __u32 d_ntracks; - __u32 d_ncylinders; - __u32 d_secpercyl; - __u32 d_secperunit; - __u16 d_sparespertrack; - __u16 d_sparespercyl; - __u32 d_acylinders; - __u16 d_rpm; - __u16 d_interleave; - __u16 d_trackskew; - __u16 d_cylskew; - __u32 d_headswitch; - __u32 d_trkseek; - __u32 d_flags; - __u32 d_drivedata[5]; - __u32 d_spare[5]; - __le32 d_magic2; - __le16 d_checksum; - __le16 d_npartitions; - __le32 d_bbsize; - __le32 d_sbsize; - struct bsd_partition d_partitions[16]; -}; - -struct bsg_buffer { - unsigned int payload_len; - int sg_cnt; - struct scatterlist *sg_list; -}; - -struct cdev { - struct kobject kobj; - struct module *owner; - const struct file_operations *ops; - struct list_head list; - dev_t dev; - unsigned int count; -}; - -struct sg_io_v4; - -typedef int bsg_sg_io_fn(struct request_queue *, struct sg_io_v4 *, bool, unsigned int); - -struct bsg_device { - struct request_queue *queue; - struct device device; - struct cdev cdev; - int max_queue; - unsigned int timeout; - unsigned int reserved_size; - bsg_sg_io_fn *sg_io_fn; -}; - -struct bsg_job { - struct device *dev; - struct kref kref; - unsigned int timeout; - void *request; - void *reply; - unsigned int request_len; - unsigned int reply_len; - struct bsg_buffer request_payload; - struct bsg_buffer reply_payload; - int result; - unsigned int reply_payload_rcv_len; - struct request *bidi_rq; - struct bio *bidi_bio; - void *dd_data; -}; - -typedef int bsg_job_fn(struct bsg_job *); - -typedef enum blk_eh_timer_return bsg_timeout_fn(struct request *); - -struct bsg_set { - struct blk_mq_tag_set tag_set; - struct bsg_device *bd; - bsg_job_fn *job_fn; - bsg_timeout_fn *timeout_fn; -}; - -typedef bool busy_tag_iter_fn(struct request *, void *); - -struct bt_iter_data { - struct blk_mq_hw_ctx *hctx; - struct request_queue *q; - busy_tag_iter_fn *fn; - void *data; - bool reserved; -}; - -struct bt_tags_iter_data { - struct blk_mq_tags *tags; - busy_tag_iter_fn *fn; - void *data; - unsigned int flags; -}; - -struct btf_header { - __u16 magic; - __u8 version; - __u8 flags; - __u32 hdr_len; - __u32 type_off; - __u32 type_len; - __u32 str_off; - __u32 str_len; -}; - -struct btf_kfunc_set_tab; - -struct btf_id_dtor_kfunc_tab; - -struct btf_struct_metas; - -struct btf_struct_ops_tab; - -struct btf { - void *data; - struct btf_type **types; - u32 *resolved_ids; - u32 *resolved_sizes; - const char *strings; - void *nohdr_data; - struct btf_header hdr; - u32 nr_types; - u32 types_size; - u32 data_size; - refcount_t refcnt; - u32 id; - struct callback_head rcu; - struct btf_kfunc_set_tab *kfunc_set_tab; - struct btf_id_dtor_kfunc_tab *dtor_kfunc_tab; - struct btf_struct_metas *struct_meta_tab; - struct btf_struct_ops_tab *struct_ops_tab; - struct btf *base_btf; - u32 start_id; - u32 start_str_off; - char name[56]; - bool kernel_btf; - __u32 *base_id_map; -}; - -struct btf_anon_stack { - u32 tid; - u32 offset; -}; - -struct btf_array { - __u32 type; - __u32 index_type; - __u32 nelems; -}; - -struct btf_decl_tag { - __s32 component_idx; -}; - -struct btf_enum { - __u32 name_off; - __s32 val; -}; - -struct btf_enum64 { - __u32 name_off; - __u32 val_lo32; - __u32 val_hi32; -}; - -typedef void (*btf_dtor_kfunc_t)(void *); - -struct btf_field_kptr { - struct btf *btf; - struct module *module; - btf_dtor_kfunc_t dtor; - u32 btf_id; -}; - -struct btf_field_graph_root { - struct btf *btf; - u32 value_btf_id; - u32 node_offset; - struct btf_record *value_rec; -}; - -struct btf_field { - u32 offset; - u32 size; - enum btf_field_type type; - union { - struct btf_field_kptr kptr; - struct btf_field_graph_root graph_root; - }; -}; - -struct btf_field_desc { - int t_off_cnt; - int t_offs[2]; - int m_sz; - int m_off_cnt; - int m_offs[1]; -}; - -struct btf_field_info { - enum btf_field_type type; - u32 off; - union { - struct { - u32 type_id; - } kptr; - struct { - const char *node_name; - u32 value_btf_id; - } graph_root; - }; -}; - -struct btf_field_iter { - struct btf_field_desc desc; - void *p; - int m_idx; - int off_idx; - int vlen; -}; - -struct btf_id_dtor_kfunc { - u32 btf_id; - u32 kfunc_btf_id; -}; - -struct btf_id_dtor_kfunc_tab { - u32 cnt; - struct btf_id_dtor_kfunc dtors[0]; -}; - -struct btf_id_set { - u32 cnt; - u32 ids[0]; -}; - -struct btf_id_set8 { - u32 cnt; - u32 flags; - struct { - u32 id; - u32 flags; - } pairs[0]; -}; - -typedef int (*btf_kfunc_filter_t)(const struct bpf_prog *, u32); - -struct btf_kfunc_hook_filter { - btf_kfunc_filter_t filters[16]; - u32 nr_filters; -}; - -struct btf_kfunc_id_set { - struct module *owner; - struct btf_id_set8 *set; - btf_kfunc_filter_t filter; -}; - -struct btf_kfunc_set_tab { - struct btf_id_set8 *sets[14]; - struct btf_kfunc_hook_filter hook_filters[14]; -}; - -struct btf_verifier_env; - -struct resolve_vertex; - -struct btf_show; - -struct btf_kind_operations { - s32 (*check_meta)(struct btf_verifier_env *, const struct btf_type *, u32); - int (*resolve)(struct btf_verifier_env *, const struct resolve_vertex *); - int (*check_member)(struct btf_verifier_env *, const struct btf_type *, const struct btf_member *, const struct btf_type *); - int (*check_kflag_member)(struct btf_verifier_env *, const struct btf_type *, const struct btf_member *, const struct btf_type *); - void (*log_details)(struct btf_verifier_env *, const struct btf_type *); - void (*show)(const struct btf *, const struct btf_type *, u32, void *, u8, struct btf_show *); -}; - -struct btf_member { - __u32 name_off; - __u32 type; - __u32 offset; -}; - -struct btf_module { - struct list_head list; - struct module *module; - struct btf *btf; - struct bin_attribute *sysfs_attr; - int flags; -}; - -struct btf_name_info { - const char *name; - bool needs_size: 1; - unsigned int size: 31; - __u32 id; -}; - -struct btf_param { - __u32 name_off; - __u32 type; -}; - -struct btf_ptr { - void *ptr; - __u32 type_id; - __u32 flags; -}; - -struct btf_record { - u32 cnt; - u32 field_mask; - int spin_lock_off; - int res_spin_lock_off; - int timer_off; - int wq_off; - int refcount_off; - struct btf_field fields[0]; -}; - -struct btf_relocate { - struct btf *btf; - const struct btf *base_btf; - const struct btf *dist_base_btf; - unsigned int nr_base_types; - unsigned int nr_split_types; - unsigned int nr_dist_base_types; - int dist_str_len; - int base_str_len; - __u32 *id_map; - __u32 *str_map; -}; - -struct btf_sec_info { - u32 off; - u32 len; -}; - -struct btf_show { - u64 flags; - void *target; - void (*showfn)(struct btf_show *, const char *, struct __va_list_tag *); - const struct btf *btf; - struct { - u8 depth; - u8 depth_to_show; - u8 depth_check; - u8 array_member: 1; - u8 array_terminated: 1; - u16 array_encoding; - u32 type_id; - int status; - const struct btf_type *type; - const struct btf_member *member; - char name[80]; - } state; - struct { - u32 size; - void *head; - void *data; - u8 safe[32]; - } obj; -}; - -struct btf_show_snprintf { - struct btf_show show; - int len_left; - int len; -}; - -struct btf_struct_meta { - u32 btf_id; - struct btf_record *record; -}; - -struct btf_struct_metas { - u32 cnt; - struct btf_struct_meta types[0]; -}; - -struct btf_struct_ops_tab { - u32 cnt; - u32 capacity; - struct bpf_struct_ops_desc ops[0]; -}; - -struct btf_type { - __u32 name_off; - __u32 info; - union { - __u32 size; - __u32 type; - }; -}; - -struct btf_var { - __u32 linkage; -}; - -struct btf_var_secinfo { - __u32 type; - __u32 offset; - __u32 size; -}; - -struct resolve_vertex { - const struct btf_type *t; - u32 type_id; - u16 next_member; -}; - -struct btf_verifier_env { - struct btf *btf; - u8 *visit_states; - struct resolve_vertex stack[32]; - struct bpf_verifier_log log; - u32 log_type_id; - u32 top_stack; - enum verifier_phase phase; - enum resolve_mode resolve_mode; -}; - -struct btree_geo { - int keylen; - int no_pairs; - int no_longs; -}; - -struct btree_head { - long unsigned int *node; - mempool_t *mempool; - int height; -}; - -struct bts_phys { - struct page *page; - long unsigned int size; - long unsigned int offset; - long unsigned int displacement; -}; - -struct bts_buffer { - size_t real_size; - unsigned int nr_pages; - unsigned int nr_bufs; - unsigned int cur_buf; - bool snapshot; - local_t data_size; - local_t head; - long unsigned int end; - void **data_pages; - struct bts_phys buf[0]; -}; - -struct perf_buffer; - -struct perf_output_handle { - struct perf_event *event; - struct perf_buffer *rb; - long unsigned int wakeup; - long unsigned int size; - union { - u64 flags; - u64 aux_flags; - struct { - u64 skip_read: 1; - }; - }; - union { - void *addr; - long unsigned int head; - }; - int page; -}; - -struct debug_store { - u64 bts_buffer_base; - u64 bts_index; - u64 bts_absolute_maximum; - u64 bts_interrupt_threshold; - u64 pebs_buffer_base; - u64 pebs_index; - u64 pebs_absolute_maximum; - u64 pebs_interrupt_threshold; - u64 pebs_event_reset[48]; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct bts_ctx { - struct perf_output_handle handle; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - struct debug_store ds_back; - int state; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct bts_record { - u64 from; - u64 to; - u64 flags; -}; - -struct nd_btt; - -struct nd_region; - -struct btt { - struct gendisk *btt_disk; - struct list_head arena_list; - struct dentry *debugfs_dir; - struct nd_btt *nd_btt; - u64 nlba; - long long unsigned int rawsize; - u32 lbasize; - u32 sector_size; - struct nd_region *nd_region; - struct mutex init_lock; - int init_state; - int num_arenas; - struct badblocks *phys_bb; -}; - -struct btt_sb { - u8 signature[16]; - u8 uuid[16]; - u8 parent_uuid[16]; - __le32 flags; - __le16 version_major; - __le16 version_minor; - __le32 external_lbasize; - __le32 external_nlba; - __le32 internal_lbasize; - __le32 internal_nlba; - __le32 nfree; - __le32 infosize; - __le64 nextoff; - __le64 dataoff; - __le64 mapoff; - __le64 logoff; - __le64 info2off; - u8 padding[3968]; - __le64 checksum; -}; - -struct hlist_nulls_head { - struct hlist_nulls_node *first; -}; - -struct bucket { - struct hlist_nulls_head head; - rqspinlock_t raw_lock; -}; - -struct lockdep_map {}; - -struct rhash_lock_head; - -struct bucket_table { - unsigned int size; - unsigned int nest; - u32 hash_rnd; - struct list_head walkers; - struct callback_head rcu; - struct bucket_table *future_tbl; - struct lockdep_map dep_map; - long: 64; - struct rhash_lock_head *buckets[0]; -}; - -struct buf_sel_arg { - struct iovec *iovs; - size_t out_len; - size_t max_len; - short unsigned int nr_iovs; - short unsigned int mode; - short unsigned int buf_group; - short unsigned int partial_map; -}; - -struct buffer_data_page { - u64 time_stamp; - local_t commit; - unsigned char data[0]; -}; - -struct buffer_data_read_page { - unsigned int order; - struct buffer_data_page *data; -}; - -typedef void bh_end_io_t(struct buffer_head *, int); - -struct buffer_head { - long unsigned int b_state; - struct buffer_head *b_this_page; - union { - struct page *b_page; - struct folio *b_folio; - }; - sector_t b_blocknr; - size_t b_size; - char *b_data; - struct block_device *b_bdev; - bh_end_io_t *b_end_io; - void *b_private; - struct list_head b_assoc_buffers; - struct address_space *b_assoc_map; - atomic_t b_count; - spinlock_t b_uptodate_lock; -}; - -struct buffer_page { - struct list_head list; - local_t write; - unsigned int read; - local_t entries; - long unsigned int real_end; - unsigned int order; - u32 id: 30; - u32 range: 1; - struct buffer_data_page *page; -}; - -struct buffer_ref { - struct trace_buffer *buffer; - void *page; - int cpu; - refcount_t refcount; -}; - -struct bug_entry { - int bug_addr_disp; - int file_disp; - short unsigned int line; - short unsigned int flags; -}; - -struct builtin_fw { - char *name; - void *data; - long unsigned int size; -}; - -struct group_data { - int limit[21]; - int base[20]; - int permute[258]; - int minLen; - int maxLen; -}; - -struct bunzip_data { - int writeCopies; - int writePos; - int writeRunCountdown; - int writeCount; - int writeCurrent; - long int (*fill)(void *, long unsigned int); - long int inbufCount; - long int inbufPos; - unsigned char *inbuf; - unsigned int inbufBitCount; - unsigned int inbufBits; - unsigned int crc32Table[256]; - unsigned int headerCRC; - unsigned int totalCRC; - unsigned int writeCRC; - unsigned int *dbuf; - unsigned int dbufSize; - unsigned char selectors[32768]; - struct group_data groups[6]; - int io_error; - int byteCount[256]; - unsigned char symToByte[256]; - unsigned char mtfSymbol[256]; -}; - -struct bus_attribute { - struct attribute attr; - ssize_t (*show)(const struct bus_type *, char *); - ssize_t (*store)(const struct bus_type *, const char *, size_t); -}; - -struct bus_dma_region { - phys_addr_t cpu_start; - dma_addr_t dma_start; - u64 size; -}; - -struct bus_type { - const char *name; - const char *dev_name; - const struct attribute_group **bus_groups; - const struct attribute_group **dev_groups; - const struct attribute_group **drv_groups; - int (*match)(struct device *, const struct device_driver *); - int (*uevent)(const struct device *, struct kobj_uevent_env *); - int (*probe)(struct device *); - void (*sync_state)(struct device *); - void (*remove)(struct device *); - void (*shutdown)(struct device *); - const struct cpumask * (*irq_get_affinity)(struct device *, unsigned int); - int (*online)(struct device *); - int (*offline)(struct device *); - int (*suspend)(struct device *, pm_message_t); - int (*resume)(struct device *); - int (*num_vf)(struct device *); - int (*dma_configure)(struct device *); - void (*dma_cleanup)(struct device *); - const struct dev_pm_ops *pm; - bool need_parent_lock; -}; - -struct bvec_iter_all { - struct bio_vec bv; - int idx; - unsigned int done; -}; - -struct bzimage64_data { - void *bootparams_buf; -}; - -struct cache_head; - -struct cache_deferred_req { - struct hlist_node hash; - struct list_head recent; - struct cache_head *item; - void *owner; - void (*revisit)(struct cache_deferred_req *, int); -}; - -struct cache_head { - struct hlist_node cache_list; - time64_t expiry_time; - time64_t last_refresh; - struct kref ref; - long unsigned int flags; -}; - -struct cache_map { - u64 start; - u64 end; - u64 flags; - u64 type: 8; - u64 fixed: 1; -}; - -struct cache_req { - struct cache_deferred_req * (*defer)(struct cache_req *); - long unsigned int thread_wait; -}; - -struct intel_iommu; - -struct cache_tag { - struct list_head node; - enum cache_tag_type type; - struct intel_iommu *iommu; - struct device *dev; - u16 domain_id; - ioasid_t pasid; - unsigned int users; -}; - -struct cacheinfo { - unsigned int id; - enum cache_type type; - unsigned int level; - unsigned int coherency_line_size; - unsigned int number_of_sets; - unsigned int ways_of_associativity; - unsigned int physical_line_partition; - unsigned int size; - cpumask_t shared_cpu_map; - unsigned int attributes; - void *fw_token; - bool disable_sysfs; - void *priv; -}; - -struct cacheline_padding { - char x[0]; -}; - -struct cachestat { - __u64 nr_cache; - __u64 nr_dirty; - __u64 nr_writeback; - __u64 nr_evicted; - __u64 nr_recently_evicted; -}; - -struct cachestat_range { - __u64 off; - __u64 len; -}; - -struct calipso_doi { - u32 doi; - u32 type; - refcount_t refcount; - struct list_head list; - struct callback_head rcu; -}; - -struct calipso_map_cache_bkt { - spinlock_t lock; - u32 size; - struct list_head list; -}; - -struct netlbl_lsm_cache; - -struct calipso_map_cache_entry { - u32 hash; - unsigned char *key; - size_t key_len; - struct netlbl_lsm_cache *lsm_data; - u32 activity; - struct list_head list; -}; - -struct call_function_data { - call_single_data_t *csd; - cpumask_var_t cpumask; - cpumask_var_t cpumask_ipi; -}; - -struct call_summary { - u8 num_params; - bool is_void; - bool fastcall; -}; - -struct callback { - void (*fn)(void *); - void *data; -}; - -struct callback_register { - uint16_t type; - uint16_t flags; - xen_callback_t address; -}; - -struct callchain_cpus_entries { - struct callback_head callback_head; - struct perf_callchain_entry *cpu_entries[0]; -}; - -struct callthunk_sites { - s32 *call_start; - s32 *call_end; -}; - -struct compact_control; - -struct capture_control { - struct compact_control *cc; - struct page *page; -}; - -struct cat_datum { - u32 value; - unsigned char isalias; -}; - -struct cb_id { - __u32 idx; - __u32 val; -}; - -struct cc_attr_flags { - __u64 host_sev_snp: 1; - __u64 __resv: 63; -}; - -struct cc_blob_sev_info { - u32 magic; - u16 version; - u16 reserved; - u64 secrets_phys; - u32 secrets_len; - u32 rsvd1; - u64 cpuid_phys; - u32 cpuid_len; - u32 rsvd2; -}; - -struct setup_data { - __u64 next; - __u32 type; - __u32 len; - __u8 data[0]; -}; - -struct cc_setup_data { - struct setup_data header; - u32 cc_blob_address; -}; - -struct ccs_modesel_head { - __u8 _r1; - __u8 medium; - __u8 _r2; - __u8 block_desc_length; - __u8 density; - __u8 number_blocks_hi; - __u8 number_blocks_med; - __u8 number_blocks_lo; - __u8 _r3; - __u8 block_length_hi; - __u8 block_length_med; - __u8 block_length_lo; -}; - -struct cdrom_msf0 { - __u8 minute; - __u8 second; - __u8 frame; -}; - -union cdrom_addr { - struct cdrom_msf0 msf; - int lba; -}; - -struct cdrom_blk { - unsigned int from; - short unsigned int len; -}; - -struct cdrom_mechstat_header { - __u8 curslot: 5; - __u8 changer_state: 2; - __u8 fault: 1; - __u8 reserved1: 4; - __u8 door_open: 1; - __u8 mech_state: 3; - __u8 curlba[3]; - __u8 nslots; - __u16 slot_tablelen; -}; - -struct cdrom_slot { - __u8 change: 1; - __u8 reserved1: 6; - __u8 disc_present: 1; - __u8 reserved2[3]; -}; - -struct cdrom_changer_info { - struct cdrom_mechstat_header hdr; - struct cdrom_slot slots[256]; -}; - -struct cdrom_device_ops; - -struct cdrom_device_info { - const struct cdrom_device_ops *ops; - struct list_head list; - struct gendisk *disk; - void *handle; - int mask; - int speed; - int capacity; - unsigned int options: 30; - unsigned int mc_flags: 2; - unsigned int vfs_events; - unsigned int ioctl_events; - int use_count; - char name[20]; - __u8 sanyo_slot: 2; - __u8 keeplocked: 1; - __u8 reserved: 5; - int cdda_method; - __u8 last_sense; - __u8 media_written; - short unsigned int mmc3_profile; - int mrw_mode_page; - bool opened_for_data; - __s64 last_media_change_ms; -}; - -struct cdrom_multisession; - -struct cdrom_mcn; - -struct packet_command; - -struct cdrom_device_ops { - int (*open)(struct cdrom_device_info *, int); - void (*release)(struct cdrom_device_info *); - int (*drive_status)(struct cdrom_device_info *, int); - unsigned int (*check_events)(struct cdrom_device_info *, unsigned int, int); - int (*tray_move)(struct cdrom_device_info *, int); - int (*lock_door)(struct cdrom_device_info *, int); - int (*select_speed)(struct cdrom_device_info *, long unsigned int); - int (*get_last_session)(struct cdrom_device_info *, struct cdrom_multisession *); - int (*get_mcn)(struct cdrom_device_info *, struct cdrom_mcn *); - int (*reset)(struct cdrom_device_info *); - int (*audio_ioctl)(struct cdrom_device_info *, unsigned int, void *); - int (*generic_packet)(struct cdrom_device_info *, struct packet_command *); - int (*read_cdda_bpc)(struct cdrom_device_info *, void *, u32, u32, u8 *); - const int capability; -}; - -struct request_sense; - -struct cdrom_generic_command { - unsigned char cmd[12]; - unsigned char *buffer; - unsigned int buflen; - int stat; - struct request_sense *sense; - unsigned char data_direction; - int quiet; - int timeout; - union { - void *reserved[1]; - void *unused; - }; -}; - -struct cdrom_mcn { - __u8 medium_catalog_number[14]; -}; - -struct cdrom_msf { - __u8 cdmsf_min0; - __u8 cdmsf_sec0; - __u8 cdmsf_frame0; - __u8 cdmsf_min1; - __u8 cdmsf_sec1; - __u8 cdmsf_frame1; -}; - -struct cdrom_multisession { - union cdrom_addr addr; - __u8 xa_flag; - __u8 addr_format; -}; - -struct cdrom_read_audio { - union cdrom_addr addr; - __u8 addr_format; - int nframes; - __u8 *buf; -}; - -struct cdrom_subchnl { - __u8 cdsc_format; - __u8 cdsc_audiostatus; - __u8 cdsc_adr: 4; - __u8 cdsc_ctrl: 4; - __u8 cdsc_trk; - __u8 cdsc_ind; - union cdrom_addr cdsc_absaddr; - union cdrom_addr cdsc_reladdr; -}; - -struct cdrom_sysctl_settings { - char info[1000]; - int autoclose; - int autoeject; - int debug; - int lock; - int check; -}; - -struct cdrom_ti { - __u8 cdti_trk0; - __u8 cdti_ind0; - __u8 cdti_trk1; - __u8 cdti_ind1; -}; - -struct cdrom_timed_media_change_info { - __s64 last_media_change; - __u64 media_flags; -}; - -struct cdrom_tocentry { - __u8 cdte_track; - __u8 cdte_adr: 4; - __u8 cdte_ctrl: 4; - __u8 cdte_format; - union cdrom_addr cdte_addr; - __u8 cdte_datamode; -}; - -struct cdrom_tochdr { - __u8 cdth_trk0; - __u8 cdth_trk1; -}; - -struct cdrom_volctrl { - __u8 channel0; - __u8 channel1; - __u8 channel2; - __u8 channel3; -}; - -struct ce_array { - u64 *array; - unsigned int n; - unsigned int decay_count; - u64 pfns_poisoned; - u64 ces_entered; - u64 decays_done; - union { - struct { - __u32 disabled: 1; - __u32 __resv: 31; - }; - __u32 flags; - }; -}; - -struct clock_event_device; - -struct ce_unbind { - struct clock_event_device *ce; - int res; -}; - -struct cea_db { - u8 tag_length; - u8 data[0]; -}; - -struct drm_edid; - -struct drm_edid_iter { - const struct drm_edid *drm_edid; - int index; -}; - -struct displayid_iter { - const struct drm_edid *drm_edid; - const u8 *section; - int length; - int idx; - int ext_index; - u8 version; - u8 primary_use; - u8 quirks; -}; - -struct cea_db_iter { - struct drm_edid_iter edid_iter; - struct displayid_iter displayid_iter; - const u8 *collection; - int index; - int end; -}; - -struct cea_exception_stacks { - char DF_stack_guard[4096]; - char DF_stack[8192]; - char NMI_stack_guard[4096]; - char NMI_stack[8192]; - char DB_stack_guard[4096]; - char DB_stack[8192]; - char MCE_stack_guard[4096]; - char MCE_stack[8192]; - char VC_stack_guard[4096]; - char VC_stack[8192]; - char VC2_stack_guard[4096]; - char VC2_stack[8192]; - char IST_top_guard[4096]; -}; - -struct cea_sad { - u8 format; - u8 channels; - u8 freq; - u8 byte2; -}; - -struct cee_pfc { - __u8 willing; - __u8 error; - __u8 pfc_en; - __u8 tcs_supported; -}; - -struct cee_pg { - __u8 willing; - __u8 error; - __u8 pg_en; - __u8 tcs_supported; - __u8 pg_bw[8]; - __u8 prio_pg[8]; -}; - -struct cet_user_state { - u64 user_cet; - u64 user_ssp; -}; - -struct cfg80211_bss_select_adjust { - enum nl80211_band band; - s8 delta; -}; - -struct cfg80211_bss_selection { - enum nl80211_bss_select_attr behaviour; - union { - enum nl80211_band band_pref; - struct cfg80211_bss_select_adjust adjust; - } param; -}; - -struct ieee80211_edmg { - u8 channels; - enum ieee80211_edmg_bw_config bw_config; -}; - -struct ieee80211_channel; - -struct cfg80211_chan_def { - struct ieee80211_channel *chan; - enum nl80211_chan_width width; - u32 center_freq1; - u32 center_freq2; - struct ieee80211_edmg edmg; - u16 freq1_offset; - u16 punctured; -}; - -struct cfg80211_crypto_settings { - u32 wpa_versions; - u32 cipher_group; - int n_ciphers_pairwise; - u32 ciphers_pairwise[5]; - int n_akm_suites; - u32 akm_suites[10]; - bool control_port; - __be16 control_port_ethertype; - bool control_port_no_encrypt; - bool control_port_over_nl80211; - bool control_port_no_preauth; - const u8 *psk; - const u8 *sae_pwd; - u8 sae_pwd_len; - enum nl80211_sae_pwe_mechanism sae_pwe; -}; - -struct ieee80211_mcs_info { - u8 rx_mask[10]; - __le16 rx_highest; - u8 tx_params; - u8 reserved[3]; -}; - -struct ieee80211_ht_cap { - __le16 cap_info; - u8 ampdu_params_info; - struct ieee80211_mcs_info mcs; - __le16 extended_ht_cap_info; - __le32 tx_BF_cap_info; - u8 antenna_selection_info; -} __attribute__((packed)); - -struct ieee80211_vht_mcs_info { - __le16 rx_mcs_map; - __le16 rx_highest; - __le16 tx_mcs_map; - __le16 tx_highest; -}; - -struct ieee80211_vht_cap { - __le32 vht_cap_info; - struct ieee80211_vht_mcs_info supp_mcs; -}; - -struct cfg80211_connect_params { - struct ieee80211_channel *channel; - struct ieee80211_channel *channel_hint; - const u8 *bssid; - const u8 *bssid_hint; - const u8 *ssid; - size_t ssid_len; - enum nl80211_auth_type auth_type; - const u8 *ie; - size_t ie_len; - bool privacy; - enum nl80211_mfp mfp; - struct cfg80211_crypto_settings crypto; - const u8 *key; - u8 key_len; - u8 key_idx; - u32 flags; - int bg_scan_period; - struct ieee80211_ht_cap ht_capa; - struct ieee80211_ht_cap ht_capa_mask; - struct ieee80211_vht_cap vht_capa; - struct ieee80211_vht_cap vht_capa_mask; - bool pbss; - struct cfg80211_bss_selection bss_select; - const u8 *prev_bssid; - const u8 *fils_erp_username; - size_t fils_erp_username_len; - const u8 *fils_erp_realm; - size_t fils_erp_realm_len; - u16 fils_erp_next_seq_num; - const u8 *fils_erp_rrk; - size_t fils_erp_rrk_len; - bool want_1x; - struct ieee80211_edmg edmg; -}; - -struct key_params; - -struct cfg80211_ibss_params { - const u8 *ssid; - const u8 *bssid; - struct cfg80211_chan_def chandef; - const u8 *ie; - u8 ssid_len; - u8 ie_len; - u16 beacon_interval; - u32 basic_rates; - bool channel_fixed; - bool privacy; - bool control_port; - bool control_port_over_nl80211; - bool userspace_handles_dfs; - int mcast_rate[6]; - struct ieee80211_ht_cap ht_capa; - struct ieee80211_ht_cap ht_capa_mask; - struct key_params *wep_keys; - int wep_tx_key; -}; - -struct cfg80211_ssid { - u8 ssid[32]; - u8 ssid_len; -}; - -struct cfg80211_match_set { - struct cfg80211_ssid ssid; - u8 bssid[6]; - s32 rssi_thold; -}; - -struct cfg80211_pkt_pattern { - const u8 *mask; - const u8 *pattern; - int pattern_len; - int pkt_offset; -}; - -struct cfg80211_pmsr_capabilities { - unsigned int max_peers; - u8 report_ap_tsf: 1; - u8 randomize_mac_addr: 1; - struct { - u32 preambles; - u32 bandwidths; - s8 max_bursts_exponent; - u8 max_ftms_per_burst; - u8 supported: 1; - u8 asap: 1; - u8 non_asap: 1; - u8 request_lci: 1; - u8 request_civicloc: 1; - u8 trigger_based: 1; - u8 non_trigger_based: 1; - } ftm; -}; - -struct cfg80211_sar_freq_ranges; - -struct cfg80211_sar_capa { - enum nl80211_sar_type type; - u32 num_freq_ranges; - const struct cfg80211_sar_freq_ranges *freq_ranges; -}; - -struct cfg80211_sar_freq_ranges { - u32 start_freq; - u32 end_freq; -}; - -struct cfg80211_sched_scan_plan { - u32 interval; - u32 iterations; -}; - -struct wiphy; - -struct cfg80211_sched_scan_request { - u64 reqid; - struct cfg80211_ssid *ssids; - int n_ssids; - u32 n_channels; - const u8 *ie; - size_t ie_len; - u32 flags; - struct cfg80211_match_set *match_sets; - int n_match_sets; - s32 min_rssi_thold; - u32 delay; - struct cfg80211_sched_scan_plan *scan_plans; - int n_scan_plans; - u8 mac_addr[6]; - u8 mac_addr_mask[6]; - bool relative_rssi_set; - s8 relative_rssi; - struct cfg80211_bss_select_adjust rssi_adjust; - struct wiphy *wiphy; - struct net_device *dev; - long unsigned int scan_start; - bool report_results; - struct callback_head callback_head; - u32 owner_nlportid; - bool nl_owner_dead; - struct list_head list; - struct ieee80211_channel *channels[0]; -}; - -struct cfg80211_wowlan_tcp; - -struct cfg80211_wowlan { - bool any; - bool disconnect; - bool magic_pkt; - bool gtk_rekey_failure; - bool eap_identity_req; - bool four_way_handshake; - bool rfkill_release; - struct cfg80211_pkt_pattern *patterns; - struct cfg80211_wowlan_tcp *tcp; - int n_patterns; - struct cfg80211_sched_scan_request *nd_config; -}; - -struct nl80211_wowlan_tcp_data_seq { - __u32 start; - __u32 offset; - __u32 len; -}; - -struct nl80211_wowlan_tcp_data_token { - __u32 offset; - __u32 len; - __u8 token_stream[0]; -}; - -struct cfg80211_wowlan_tcp { - struct socket *sock; - __be32 src; - __be32 dst; - u16 src_port; - u16 dst_port; - u8 dst_mac[6]; - int payload_len; - const u8 *payload; - struct nl80211_wowlan_tcp_data_seq payload_seq; - u32 data_interval; - u32 wake_len; - const u8 *wake_data; - const u8 *wake_mask; - u32 tokens_size; - struct nl80211_wowlan_tcp_data_token payload_tok; -}; - -struct cfs_bandwidth { - raw_spinlock_t lock; - ktime_t period; - u64 quota; - u64 runtime; - u64 burst; - u64 runtime_snap; - s64 hierarchical_quota; - u8 idle; - u8 period_active; - u8 slack_started; - struct hrtimer period_timer; - struct hrtimer slack_timer; - struct list_head throttled_cfs_rq; - int nr_periods; - int nr_throttled; - int nr_burst; - u64 throttled_time; - u64 burst_time; -}; - -struct load_weight { - long unsigned int weight; - u32 inv_weight; -}; - -struct sched_avg { - u64 last_update_time; - u64 load_sum; - u64 runnable_sum; - u32 util_sum; - u32 period_contrib; - long unsigned int load_avg; - long unsigned int runnable_avg; - long unsigned int util_avg; - unsigned int util_est; -}; - -struct sched_entity; - -struct cfs_rq { - struct load_weight load; - unsigned int nr_queued; - unsigned int h_nr_queued; - unsigned int h_nr_runnable; - unsigned int h_nr_idle; - s64 avg_vruntime; - u64 avg_load; - u64 zero_vruntime; - unsigned int forceidle_seq; - u64 zero_vruntime_fi; - struct rb_root_cached tasks_timeline; - struct sched_entity *curr; - struct sched_entity *next; - long: 64; - long: 64; - long: 64; - struct sched_avg avg; - struct { - raw_spinlock_t lock; - int nr; - long unsigned int load_avg; - long unsigned int util_avg; - long unsigned int runnable_avg; - long: 64; - long: 64; - long: 64; - long: 64; - } removed; - u64 last_update_tg_load_avg; - long unsigned int tg_load_avg_contrib; - long int propagate; - long int prop_runnable_sum; - long unsigned int h_load; - u64 last_h_load_update; - struct sched_entity *h_load_next; - struct rq *rq; - int on_list; - struct list_head leaf_cfs_rq_list; - struct task_group *tg; - int idle; - int runtime_enabled; - s64 runtime_remaining; - u64 throttled_pelt_idle; - u64 throttled_clock; - u64 throttled_clock_pelt; - u64 throttled_clock_pelt_time; - u64 throttled_clock_self; - u64 throttled_clock_self_time; - int throttled; - int throttle_count; - struct list_head throttled_list; - struct list_head throttled_csd_list; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct cfs_schedulable_data { - struct task_group *tg; - u64 period; - u64 quota; -}; - -struct kernfs_ops; - -struct kernfs_open_file; - -struct cftype { - char name[64]; - long unsigned int private; - size_t max_write_len; - unsigned int flags; - unsigned int file_offset; - struct cgroup_subsys *ss; - struct list_head node; - struct kernfs_ops *kf_ops; - int (*open)(struct kernfs_open_file *); - void (*release)(struct kernfs_open_file *); - u64 (*read_u64)(struct cgroup_subsys_state *, struct cftype *); - s64 (*read_s64)(struct cgroup_subsys_state *, struct cftype *); - int (*seq_show)(struct seq_file *, void *); - void * (*seq_start)(struct seq_file *, loff_t *); - void * (*seq_next)(struct seq_file *, void *, loff_t *); - void (*seq_stop)(struct seq_file *, void *); - int (*write_u64)(struct cgroup_subsys_state *, struct cftype *, u64); - int (*write_s64)(struct cgroup_subsys_state *, struct cftype *, s64); - ssize_t (*write)(struct kernfs_open_file *, char *, size_t, loff_t); - __poll_t (*poll)(struct kernfs_open_file *, struct poll_table_struct *); - struct lock_class_key lockdep_key; -}; - -struct cgroup_file { - struct kernfs_node *kn; - long unsigned int notified_at; - struct timer_list notify_timer; -}; - -struct task_cputime { - u64 stime; - u64 utime; - long long unsigned int sum_exec_runtime; -}; - -struct cgroup_base_stat { - struct task_cputime cputime; - u64 forceidle_sum; - u64 ntime; -}; - -struct prev_cputime { - u64 utime; - u64 stime; - raw_spinlock_t lock; -}; - -struct cgroup_bpf { - struct bpf_prog_array *effective[38]; - struct hlist_head progs[38]; - u8 flags[38]; - u64 revisions[38]; - struct list_head storages; - struct bpf_prog_array *inactive; - struct percpu_ref refcnt; - struct work_struct release_work; -}; - -struct cgroup_freezer_state { - bool freeze; - bool e_freeze; - int nr_frozen_descendants; - int nr_frozen_tasks; -}; - -struct cgroup_root; - -struct cgroup_rstat_base_cpu; - -struct psi_group; - -struct cgroup { - struct cgroup_subsys_state self; - long unsigned int flags; - int level; - int max_depth; - int nr_descendants; - int nr_dying_descendants; - int max_descendants; - int nr_populated_csets; - int nr_populated_domain_children; - int nr_populated_threaded_children; - int nr_threaded_children; - unsigned int kill_seq; - struct kernfs_node *kn; - struct cgroup_file procs_file; - struct cgroup_file events_file; - struct cgroup_file psi_files[3]; - u16 subtree_control; - u16 subtree_ss_mask; - u16 old_subtree_control; - u16 old_subtree_ss_mask; - struct cgroup_subsys_state *subsys[15]; - int nr_dying_subsys[15]; - struct cgroup_root *root; - struct list_head cset_links; - struct list_head e_csets[15]; - struct cgroup *dom_cgrp; - struct cgroup *old_dom_cgrp; - struct cgroup_rstat_base_cpu *rstat_base_cpu; - struct cacheline_padding _pad_; - struct cgroup_base_stat last_bstat; - struct cgroup_base_stat bstat; - struct prev_cputime prev_cputime; - struct list_head pidlists; - struct mutex pidlist_mutex; - wait_queue_head_t offline_waitq; - struct work_struct release_agent_work; - struct psi_group *psi; - struct cgroup_bpf bpf; - struct cgroup_freezer_state freezer; - struct bpf_local_storage *bpf_cgrp_storage; - struct cgroup *ancestors[0]; - long: 64; - long: 64; -}; - -struct cgroup__safe_rcu { - struct kernfs_node *kn; -}; - -struct cgroup_cls_state { - struct cgroup_subsys_state css; - u32 classid; -}; - -struct css_set; - -struct css_task_iter { - struct cgroup_subsys *ss; - unsigned int flags; - struct list_head *cset_pos; - struct list_head *cset_head; - struct list_head *tcset_pos; - struct list_head *tcset_head; - struct list_head *task_pos; - struct list_head *cur_tasks_head; - struct css_set *cur_cset; - struct css_set *cur_dcset; - struct task_struct *cur_task; - struct list_head iters_node; -}; - -struct cgroup_of_peak { - long unsigned int value; - struct list_head list; -}; - -struct cgroup_namespace; - -struct cgroup_pidlist; - -struct cgroup_file_ctx { - struct cgroup_namespace *ns; - struct { - void *trigger; - } psi; - struct { - bool started; - struct css_task_iter iter; - } procs; - struct { - struct cgroup_pidlist *pidlist; - } procs1; - struct cgroup_of_peak peak; -}; - -struct kernfs_root; - -struct kernfs_fs_context { - struct kernfs_root *root; - void *ns_tag; - long unsigned int magic; - bool new_sb_created; -}; - -struct cgroup_fs_context { - struct kernfs_fs_context kfc; - struct cgroup_root *root; - struct cgroup_namespace *ns; - unsigned int flags; - bool cpuset_clone_children; - bool none; - bool all_ss; - u16 subsys_mask; - char *name; - char *release_agent; -}; - -struct cgroup_iter_priv { - struct cgroup_subsys_state *start_css; - bool visited_all; - bool terminate; - int order; -}; - -struct cgroup_lsm_atype { - u32 attach_btf_id; - int refcnt; -}; - -struct cgroup_taskset { - struct list_head src_csets; - struct list_head dst_csets; - int nr_tasks; - int ssid; - struct list_head *csets; - struct css_set *cur_cset; - struct task_struct *cur_task; -}; - -struct cgroup_mgctx { - struct list_head preloaded_src_csets; - struct list_head preloaded_dst_csets; - struct cgroup_taskset tset; - u16 ss_mask; -}; - -struct proc_ns_operations; - -struct ns_common { - struct dentry *stashed; - const struct proc_ns_operations *ops; - unsigned int inum; - refcount_t count; -}; - -struct ucounts; - -struct cgroup_namespace { - struct ns_common ns; - struct user_namespace *user_ns; - struct ucounts *ucounts; - struct css_set *root_cset; -}; - -struct cgroup_pidlist { - struct { - enum cgroup_filetype type; - struct pid_namespace *ns; - } key; - pid_t *list; - int length; - struct list_head links; - struct cgroup *owner; - struct delayed_work destroy_dwork; -}; - -struct cgroup_root { - struct kernfs_root *kf_root; - unsigned int subsys_mask; - int hierarchy_id; - struct list_head root_list; - struct callback_head rcu; - long: 64; - long: 64; - struct cgroup cgrp; - struct cgroup *cgrp_ancestor_storage; - atomic_t nr_cgrps; - unsigned int flags; - char release_agent_path[4096]; - char name[64]; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct cgroup_rstat_base_cpu { - struct u64_stats_sync bsync; - struct cgroup_base_stat bstat; - struct cgroup_base_stat last_bstat; - struct cgroup_base_stat subtree_bstat; - struct cgroup_base_stat last_subtree_bstat; -}; - -struct idr { - struct xarray idr_rt; - unsigned int idr_base; - unsigned int idr_next; -}; - -struct cgroup_subsys { - struct cgroup_subsys_state * (*css_alloc)(struct cgroup_subsys_state *); - int (*css_online)(struct cgroup_subsys_state *); - void (*css_offline)(struct cgroup_subsys_state *); - void (*css_released)(struct cgroup_subsys_state *); - void (*css_free)(struct cgroup_subsys_state *); - void (*css_reset)(struct cgroup_subsys_state *); - void (*css_killed)(struct cgroup_subsys_state *); - void (*css_rstat_flush)(struct cgroup_subsys_state *, int); - int (*css_extra_stat_show)(struct seq_file *, struct cgroup_subsys_state *); - int (*css_local_stat_show)(struct seq_file *, struct cgroup_subsys_state *); - int (*can_attach)(struct cgroup_taskset *); - void (*cancel_attach)(struct cgroup_taskset *); - void (*attach)(struct cgroup_taskset *); - void (*post_attach)(void); - int (*can_fork)(struct task_struct *, struct css_set *); - void (*cancel_fork)(struct task_struct *, struct css_set *); - void (*fork)(struct task_struct *); - void (*exit)(struct task_struct *); - void (*release)(struct task_struct *); - void (*bind)(struct cgroup_subsys_state *); - bool early_init: 1; - bool implicit_on_dfl: 1; - bool threaded: 1; - int id; - const char *name; - const char *legacy_name; - struct cgroup_root *root; - struct idr css_idr; - struct list_head cfts; - struct cftype *dfl_cftypes; - struct cftype *legacy_cftypes; - unsigned int depends_on; - spinlock_t rstat_ss_lock; - struct llist_head *lhead; -}; - -struct cgroup_subsys_state__safe_rcu { - struct cgroup *cgroup; -}; - -struct cgroupstats { - __u64 nr_sleeping; - __u64 nr_running; - __u64 nr_stopped; - __u64 nr_uninterruptible; - __u64 nr_io_wait; -}; - -struct cgrp_cset_link { - struct cgroup *cgrp; - struct css_set *cset; - struct list_head cset_link; - struct list_head cgrp_link; -}; - -struct chacha_state { - u32 x[16]; -}; - -struct linked_page; - -struct chain_allocator { - struct linked_page *chain; - unsigned int used_space; - gfp_t gfp_mask; - int safe_needed; -}; - -struct e820_entry; - -struct change_member { - struct e820_entry *entry; - long long unsigned int addr; -}; - -struct ppp_file { - enum { - INTERFACE = 1, - CHANNEL = 2, - } kind; - struct sk_buff_head xq; - struct sk_buff_head rq; - wait_queue_head_t rwait; - refcount_t refcnt; - int hdrlen; - int index; - int dead; -}; - -struct ppp_channel; - -struct ppp; - -struct channel { - struct ppp_file file; - struct list_head list; - struct ppp_channel *chan; - struct rw_semaphore chan_sem; - spinlock_t downl; - struct ppp *ppp; - struct net *chan_net; - netns_tracker ns_tracker; - struct list_head clist; - rwlock_t upl; - struct channel *bridge; - u8 avail; - u8 had_frag; - u32 lastseq; - int speed; -}; - -struct ethnl_reply_data { - struct net_device *dev; -}; - -struct ethtool_channels { - __u32 cmd; - __u32 max_rx; - __u32 max_tx; - __u32 max_other; - __u32 max_combined; - __u32 rx_count; - __u32 tx_count; - __u32 other_count; - __u32 combined_count; -}; - -struct channels_reply_data { - struct ethnl_reply_data base; - struct ethtool_channels channels; -}; - -struct char_device_struct { - struct char_device_struct *next; - unsigned int major; - unsigned int baseminor; - int minorct; - char name[64]; - struct cdev *cdev; -}; - -struct extcon_dev; - -struct charger_regulator; - -struct charger_manager; - -struct charger_cable { - const char *extcon_name; - const char *name; - struct extcon_dev *extcon_dev; - u64 extcon_type; - struct work_struct wq; - struct notifier_block nb; - bool attached; - struct charger_regulator *charger; - int min_uA; - int max_uA; - struct charger_manager *cm; -}; - -struct charger_desc { - const char *psy_name; - enum polling_modes polling_mode; - unsigned int polling_interval_ms; - unsigned int fullbatt_vchkdrop_uV; - unsigned int fullbatt_uV; - unsigned int fullbatt_soc; - unsigned int fullbatt_full_capacity; - enum data_source battery_present; - const char **psy_charger_stat; - int num_charger_regulators; - struct charger_regulator *charger_regulators; - const struct attribute_group **sysfs_groups; - const char *psy_fuel_gauge; - const char *thermal_zone; - int temp_min; - int temp_max; - int temp_diff; - bool measure_battery_temp; - u32 charging_max_duration_ms; - u32 discharging_max_duration_ms; -}; - -struct charger_manager { - struct list_head entry; - struct device *dev; - struct charger_desc *desc; - struct thermal_zone_device *tzd_batt; - bool charger_enabled; - int emergency_stop; - char psy_name_buf[31]; - struct power_supply_desc charger_psy_desc; - struct power_supply *charger_psy; - u64 charging_start_time; - u64 charging_end_time; - int battery_status; -}; - -struct regulator; - -struct charger_regulator { - const char *regulator_name; - struct regulator *consumer; - int externally_control; - struct charger_cable *cables; - int num_cables; - struct attribute_group attr_grp; - struct device_attribute attr_name; - struct device_attribute attr_state; - struct device_attribute attr_externally_control; - struct attribute *attrs[4]; - struct charger_manager *cm; -}; - -struct qdisc_walker { - int stop; - int skip; - int count; - int (*fn)(struct Qdisc *, long unsigned int, struct qdisc_walker *); -}; - -struct check_loop_arg { - struct qdisc_walker w; - struct Qdisc *p; - int depth; -}; - -struct check_mount { - struct vfsmount *mnt; - unsigned int mounted; -}; - -struct chips_init_reg { - unsigned char addr; - unsigned char data; -}; - -struct chipset { - u32 vendor; - u32 device; - u32 class; - u32 class_mask; - u32 flags; - void (*f)(int, int, int); -}; - -struct chksum_ctx { - u32 key; -}; - -struct chksum_desc_ctx { - u32 crc; -}; - -struct cipher_context { - char iv[20]; - char rec_seq[8]; -}; - -struct cipso_v4_std_map_tbl; - -struct cipso_v4_doi { - u32 doi; - u32 type; - union { - struct cipso_v4_std_map_tbl *std; - } map; - u8 tags[5]; - refcount_t refcount; - struct list_head list; - struct callback_head rcu; -}; - -struct cipso_v4_map_cache_bkt { - spinlock_t lock; - u32 size; - struct list_head list; -}; - -struct cipso_v4_map_cache_entry { - u32 hash; - unsigned char *key; - size_t key_len; - struct netlbl_lsm_cache *lsm_data; - u32 activity; - struct list_head list; -}; - -struct cipso_v4_std_map_tbl { - struct { - u32 *cipso; - u32 *local; - u32 cipso_size; - u32 local_size; - } lvl; - struct { - u32 *cipso; - u32 *local; - u32 cipso_size; - u32 local_size; - } cat; -}; - -struct mmc_card; - -struct sdio_func; - -typedef int tpl_parse_t(struct mmc_card *, struct sdio_func *, const unsigned char *, unsigned int); - -struct cis_tpl { - unsigned char code; - unsigned char min_size; - tpl_parse_t *parse; -}; - -struct class_attribute { - struct attribute attr; - ssize_t (*show)(const struct class *, const struct class_attribute *, char *); - ssize_t (*store)(const struct class *, const struct class_attribute *, const char *, size_t); -}; - -struct class_attribute_string { - struct class_attribute attr; - char *str; -}; - -struct class_compat { - struct kobject *kobj; -}; - -struct hashtab_node; - -struct hashtab { - struct hashtab_node **htable; - u32 size; - u32 nel; -}; - -struct symtab { - struct hashtab table; - u32 nprim; -}; - -struct common_datum; - -struct constraint_node; - -struct class_datum { - u32 value; - char *comkey; - struct common_datum *comdatum; - struct symtab permissions; - struct constraint_node *constraints; - struct constraint_node *validatetrans; - char default_user; - char default_role; - char default_type; - char default_range; -}; - -struct klist_iter { - struct klist *i_klist; - struct klist_node *i_cur; -}; - -struct subsys_private; - -struct class_dev_iter { - struct klist_iter ki; - const struct device_type *type; - struct subsys_private *sp; -}; - -struct class_dir { - struct kobject kobj; - const struct class *class; -}; - -struct class_info { - int class; - char *class_name; -}; - -struct class_interface { - struct list_head node; - const struct class *class; - int (*add_dev)(struct device *); - void (*remove_dev)(struct device *); -}; - -struct mmu_notifier_range { - struct mm_struct *mm; - long unsigned int start; - long unsigned int end; - unsigned int flags; - enum mmu_notifier_event event; - void *owner; -}; - -struct wp_walk { - struct mmu_notifier_range range; - long unsigned int tlbflush_start; - long unsigned int tlbflush_end; - long unsigned int total; -}; - -struct clean_walk { - struct wp_walk base; - long unsigned int bitmap_pgoff; - long unsigned int *bitmap; - long unsigned int start; - long unsigned int end; -}; - -struct clear_badblocks_context { - resource_size_t phys; - resource_size_t cleared; -}; - -struct clear_refs_private { - enum clear_refs_types type; -}; - -struct clk_core; - -struct clk { - struct clk_core *core; - struct device *dev; - const char *dev_id; - const char *con_id; - long unsigned int min_rate; - long unsigned int max_rate; - unsigned int exclusive_count; - struct hlist_node clks_node; -}; - -struct clk_bulk_data { - const char *id; - struct clk *clk; -}; - -struct clk_bulk_devres { - struct clk_bulk_data *clks; - int num_clks; -}; - -struct clk_init_data; - -struct clk_hw { - struct clk_core *core; - struct clk *clk; - const struct clk_init_data *init; -}; - -struct clk_rate_request; - -struct clk_duty; - -struct clk_ops { - int (*prepare)(struct clk_hw *); - void (*unprepare)(struct clk_hw *); - int (*is_prepared)(struct clk_hw *); - void (*unprepare_unused)(struct clk_hw *); - int (*enable)(struct clk_hw *); - void (*disable)(struct clk_hw *); - int (*is_enabled)(struct clk_hw *); - void (*disable_unused)(struct clk_hw *); - int (*save_context)(struct clk_hw *); - void (*restore_context)(struct clk_hw *); - long unsigned int (*recalc_rate)(struct clk_hw *, long unsigned int); - long int (*round_rate)(struct clk_hw *, long unsigned int, long unsigned int *); - int (*determine_rate)(struct clk_hw *, struct clk_rate_request *); - int (*set_parent)(struct clk_hw *, u8); - u8 (*get_parent)(struct clk_hw *); - int (*set_rate)(struct clk_hw *, long unsigned int, long unsigned int); - int (*set_rate_and_parent)(struct clk_hw *, long unsigned int, long unsigned int, u8); - long unsigned int (*recalc_accuracy)(struct clk_hw *, long unsigned int); - int (*get_phase)(struct clk_hw *); - int (*set_phase)(struct clk_hw *, int); - int (*get_duty_cycle)(struct clk_hw *, struct clk_duty *); - int (*set_duty_cycle)(struct clk_hw *, struct clk_duty *); - int (*init)(struct clk_hw *); - void (*terminate)(struct clk_hw *); - void (*debug_init)(struct clk_hw *, struct dentry *); -}; - -struct clk_composite { - struct clk_hw hw; - struct clk_ops ops; - struct clk_hw *mux_hw; - struct clk_hw *rate_hw; - struct clk_hw *gate_hw; - const struct clk_ops *mux_ops; - const struct clk_ops *rate_ops; - const struct clk_ops *gate_ops; -}; - -struct clk_duty { - unsigned int num; - unsigned int den; -}; - -struct clk_parent_map; - -struct clk_core { - const char *name; - const struct clk_ops *ops; - struct clk_hw *hw; - struct module *owner; - struct device *dev; - struct hlist_node rpm_node; - struct device_node *of_node; - struct clk_core *parent; - struct clk_parent_map *parents; - u8 num_parents; - u8 new_parent_index; - long unsigned int rate; - long unsigned int req_rate; - long unsigned int new_rate; - struct clk_core *new_parent; - struct clk_core *new_child; - long unsigned int flags; - bool orphan; - bool rpm_enabled; - unsigned int enable_count; - unsigned int prepare_count; - unsigned int protect_count; - long unsigned int min_rate; - long unsigned int max_rate; - long unsigned int accuracy; - int phase; - struct clk_duty duty; - struct hlist_head children; - struct hlist_node child_node; - struct hlist_head clks; - unsigned int notifier_count; - struct dentry *dentry; - struct hlist_node debug_node; - struct kref ref; -}; - -struct clk_div_table { - unsigned int val; - unsigned int div; -}; - -struct clk_divider { - struct clk_hw hw; - void *reg; - u8 shift; - u8 width; - u16 flags; - const struct clk_div_table *table; - spinlock_t *lock; -}; - -struct clk_fixed_factor { - struct clk_hw hw; - unsigned int mult; - unsigned int div; - long unsigned int acc; - unsigned int flags; -}; - -struct clk_fixed_rate { - struct clk_hw hw; - long unsigned int fixed_rate; - long unsigned int fixed_accuracy; - long unsigned int flags; -}; - -struct clk_fractional_divider { - struct clk_hw hw; - void *reg; - u8 mshift; - u8 mwidth; - u8 nshift; - u8 nwidth; - u8 flags; - void (*approximation)(struct clk_hw *, long unsigned int, long unsigned int *, long unsigned int *, long unsigned int *); - spinlock_t *lock; -}; - -struct clk_gate { - struct clk_hw hw; - void *reg; - u8 bit_idx; - u8 flags; - spinlock_t *lock; -}; - -struct clk_gpio { - struct clk_hw hw; - struct gpio_desc *gpiod; -}; - -struct clk_gated_fixed { - struct clk_gpio clk_gpio; - struct regulator *supply; - long unsigned int rate; -}; - -struct clk_parent_data; - -struct clk_init_data { - const char *name; - const struct clk_ops *ops; - const char * const *parent_names; - const struct clk_parent_data *parent_data; - const struct clk_hw **parent_hws; - u8 num_parents; - long unsigned int flags; -}; - -struct clk_lookup { - struct list_head node; - const char *dev_id; - const char *con_id; - struct clk *clk; - struct clk_hw *clk_hw; -}; - -struct clk_lookup_alloc { - struct clk_lookup cl; - char dev_id[24]; - char con_id[16]; -}; - -struct clk_multiplier { - struct clk_hw hw; - void *reg; - u8 shift; - u8 width; - u8 flags; - spinlock_t *lock; -}; - -struct clk_mux { - struct clk_hw hw; - void *reg; - const u32 *table; - u32 mask; - u8 shift; - u8 flags; - spinlock_t *lock; -}; - -struct srcu_node; - -struct srcu_usage { - struct srcu_node *node; - struct srcu_node *level[4]; - int srcu_size_state; - struct mutex srcu_cb_mutex; - spinlock_t lock; - struct mutex srcu_gp_mutex; - long unsigned int srcu_gp_seq; - long unsigned int srcu_gp_seq_needed; - long unsigned int srcu_gp_seq_needed_exp; - long unsigned int srcu_gp_start; - long unsigned int srcu_last_gp_end; - long unsigned int srcu_size_jiffies; - long unsigned int srcu_n_lock_retries; - long unsigned int srcu_n_exp_nodelay; - bool sda_is_static; - long unsigned int srcu_barrier_seq; - struct mutex srcu_barrier_mutex; - struct completion srcu_barrier_completion; - atomic_t srcu_barrier_cpu_cnt; - long unsigned int reschedule_jiffies; - long unsigned int reschedule_count; - struct delayed_work work; - struct srcu_struct *srcu_ssp; -}; - -struct srcu_ctr; - -struct srcu_data; - -struct srcu_struct { - struct srcu_ctr *srcu_ctrp; - struct srcu_data *sda; - struct lockdep_map dep_map; - struct srcu_usage *srcu_sup; -}; - -struct srcu_notifier_head { - struct mutex mutex; - struct srcu_usage srcuu; - struct srcu_struct srcu; - struct notifier_block *head; -}; - -struct clk_notifier { - struct clk *clk; - struct srcu_notifier_head notifier_head; - struct list_head node; -}; - -struct clk_notifier_data { - struct clk *clk; - long unsigned int old_rate; - long unsigned int new_rate; -}; - -struct clk_notifier_devres { - struct clk *clk; - struct notifier_block *nb; -}; - -struct clk_parent_data { - const struct clk_hw *hw; - const char *fw_name; - const char *name; - int index; -}; - -struct clk_parent_map { - const struct clk_hw *hw; - struct clk_core *core; - const char *fw_name; - const char *name; - int index; -}; - -struct clk_plt { - struct clk_hw hw; - void *reg; - struct clk_lookup *lookup; - spinlock_t lock; -}; - -struct clk_plt_fixed; - -struct clk_plt_data { - struct clk_plt_fixed **parents; - u8 nparents; - struct clk_plt *clks[6]; - struct clk_lookup *mclk_lookup; - struct clk_lookup *ether_clk_lookup; -}; - -struct clk_plt_fixed { - struct clk_hw *clk; - struct clk_lookup *lookup; -}; - -struct clk_rate_request { - struct clk_core *core; - long unsigned int rate; - long unsigned int min_rate; - long unsigned int max_rate; - long unsigned int best_parent_rate; - struct clk_hw *best_parent_hw; -}; - -struct clock_event_device { - void (*event_handler)(struct clock_event_device *); - int (*set_next_event)(long unsigned int, struct clock_event_device *); - int (*set_next_ktime)(ktime_t, struct clock_event_device *); - ktime_t next_event; - u64 max_delta_ns; - u64 min_delta_ns; - u32 mult; - u32 shift; - enum clock_event_state state_use_accessors; - unsigned int features; - long unsigned int retries; - int (*set_state_periodic)(struct clock_event_device *); - int (*set_state_oneshot)(struct clock_event_device *); - int (*set_state_oneshot_stopped)(struct clock_event_device *); - int (*set_state_shutdown)(struct clock_event_device *); - int (*tick_resume)(struct clock_event_device *); - void (*broadcast)(const struct cpumask *); - void (*suspend)(struct clock_event_device *); - void (*resume)(struct clock_event_device *); - long unsigned int min_delta_ticks; - long unsigned int max_delta_ticks; - const char *name; - int rating; - int irq; - int bound_on; - const struct cpumask *cpumask; - struct list_head list; - struct module *owner; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct clock_identity { - u8 id[8]; -}; - -struct clocksource_base; - -struct clocksource { - u64 (*read)(struct clocksource *); - u64 mask; - u32 mult; - u32 shift; - u64 max_idle_ns; - u32 maxadj; - u32 uncertainty_margin; - u64 max_cycles; - u64 max_raw_delta; - const char *name; - struct list_head list; - u32 freq_khz; - int rating; - enum clocksource_ids id; - enum vdso_clock_mode vdso_clock_mode; - long unsigned int flags; - struct clocksource_base *base; - int (*enable)(struct clocksource *); - void (*disable)(struct clocksource *); - void (*suspend)(struct clocksource *); - void (*resume)(struct clocksource *); - void (*mark_unstable)(struct clocksource *); - void (*tick_stable)(struct clocksource *); - struct list_head wd_list; - u64 cs_last; - u64 wd_last; - struct module *owner; -}; - -struct clocksource_base { - enum clocksource_ids id; - u32 freq_khz; - u64 offset; - u32 numerator; - u32 denominator; -}; - -struct clone_args { - __u64 flags; - __u64 pidfd; - __u64 child_tid; - __u64 parent_tid; - __u64 exit_signal; - __u64 stack; - __u64 stack_size; - __u64 tls; - __u64 set_tid; - __u64 set_tid_size; - __u64 cgroup; -}; - -struct dm_table; - -struct dm_io; - -struct clone_info { - struct dm_table *map; - struct bio *bio; - struct dm_io *io; - sector_t sector; - unsigned int sector_count; - bool is_abnormal_io: 1; - bool submit_as_polled: 1; -}; - -typedef void closure_fn(struct work_struct *); - -struct closure_syncer; - -struct closure { - union { - struct { - struct workqueue_struct *wq; - struct closure_syncer *s; - struct llist_node list; - closure_fn *fn; - }; - struct work_struct work; - }; - struct closure *parent; - atomic_t remaining; - bool closure_get_happened; -}; - -struct closure_syncer { - struct task_struct *task; - int done; -}; - -struct closure_waitlist { - struct llist_head list; -}; - -struct debugfs_u32_array { - u32 *array; - u32 n_elements; -}; - -struct cma_memrange { - long unsigned int base_pfn; - long unsigned int count; - union { - long unsigned int early_pfn; - long unsigned int *bitmap; - }; - struct debugfs_u32_array dfs_bitmap; -}; - -struct cma_kobject; - -struct cma { - long unsigned int count; - long unsigned int available_count; - unsigned int order_per_bit; - spinlock_t lock; - struct mutex alloc_mutex; - struct hlist_head mem_head; - spinlock_t mem_head_lock; - char name[64]; - int nranges; - struct cma_memrange ranges[8]; - atomic64_t nr_pages_succeeded; - atomic64_t nr_pages_failed; - atomic64_t nr_pages_released; - struct cma_kobject *cma_kobj; - long unsigned int flags; - int nid; -}; - -struct dma_heap; - -struct cma_heap { - struct dma_heap *heap; - struct cma *cma; -}; - -struct cma_heap_buffer { - struct cma_heap *heap; - struct list_head attachments; - struct mutex lock; - long unsigned int len; - struct page *cma_pages; - struct page **pages; - long unsigned int pagecount; - int vmap_cnt; - void *vaddr; -}; - -struct cma_init_memrange { - phys_addr_t base; - phys_addr_t size; - struct list_head list; -}; - -struct cma_kobject { - struct kobject kobj; - struct cma *cma; -}; - -struct cma_mem { - struct hlist_node node; - struct page *p; - long unsigned int n; -}; - -struct cmdline_subpart; - -struct cmdline_parts { - char name[32]; - unsigned int nr_subparts; - struct cmdline_subpart *subpart; - struct cmdline_parts *next_parts; -}; - -struct cmdline_subpart { - char name[32]; - sector_t from; - sector_t size; - int flags; - struct cmdline_subpart *next_subpart; -}; - -struct cmis_cdb_advert_rpl { - u8 inst_supported; - u8 read_write_len_ext; - u8 resv1; - u8 resv2; -}; - -struct cmis_cdb_fw_mng_features_rpl { - u8 resv1; - u8 resv2; - u8 start_cmd_payload_size; - u8 resv3; - u8 read_write_len_ext; - u8 write_mechanism; - u8 resv4; - u8 resv5; - __be16 max_duration_start; - __be16 resv6; - __be16 max_duration_write; - __be16 max_duration_complete; - __be16 resv7; -}; - -struct cmis_cdb_module_features_rpl { - u8 resv1[34]; - __be16 max_completion_time; -}; - -struct cmis_cdb_query_status_pl { - u16 response_delay; -}; - -struct cmis_cdb_query_status_rpl { - u8 length; - u8 status; -}; - -struct cmis_cdb_run_fw_image_pl { - u8 resv1; - u8 image_to_run; - u16 delay_to_reset; -}; - -struct cmis_cdb_start_fw_download_pl_h { - __be32 image_size; - __be32 resv1; -}; - -struct cmis_cdb_start_fw_download_pl { - union { - struct { - __be32 image_size; - __be32 resv1; - }; - struct cmis_cdb_start_fw_download_pl_h head; - }; - u8 vendor_data[112]; -}; - -struct cmis_cdb_write_fw_block_epl_pl { - u8 fw_block[2048]; -}; - -struct cmis_cdb_write_fw_block_lpl_pl { - __be32 block_address; - u8 fw_block[116]; -}; - -struct cmis_fw_update_fw_mng_features { - u8 start_cmd_payload_size; - u8 write_mechanism; - u16 max_duration_start; - u16 max_duration_write; - u16 max_duration_complete; -}; - -struct cmis_password_entry_pl { - __be32 password; -}; - -struct cmis_rev_rpl { - u8 rev; -}; - -struct cmis_wait_for_cond_rpl { - u8 state; -}; - -struct cmos_rtc; - -struct rtc_time; - -struct cmos_read_alarm_callback_param { - struct cmos_rtc *cmos; - struct rtc_time *time; - unsigned char rtc_control; -}; - -struct rtc_time { - int tm_sec; - int tm_min; - int tm_hour; - int tm_mday; - int tm_mon; - int tm_year; - int tm_wday; - int tm_yday; - int tm_isdst; -}; - -struct rtc_wkalrm { - unsigned char enabled; - unsigned char pending; - struct rtc_time time; -}; - -struct rtc_device; - -struct cmos_rtc { - struct rtc_device *rtc; - struct device *dev; - int irq; - struct resource *iomem; - time64_t alarm_expires; - void (*wake_on)(struct device *); - void (*wake_off)(struct device *); - u8 enabled_wake; - u8 suspend_ctrl; - u8 day_alrm; - u8 mon_alrm; - u8 century; - struct rtc_wkalrm saved_wkalrm; -}; - -struct cmos_rtc_board_info { - void (*wake_on)(struct device *); - void (*wake_off)(struct device *); - u32 flags; - int address_space; - u8 rtc_day_alarm; - u8 rtc_mon_alarm; - u8 rtc_century; -}; - -struct cmos_set_alarm_callback_param { - struct cmos_rtc *cmos; - unsigned char mon; - unsigned char mday; - unsigned char hrs; - unsigned char min; - unsigned char sec; - struct rtc_wkalrm *t; -}; - -struct cmp_data { - struct task_struct *thr; - struct crypto_acomp *cc; - struct acomp_req *cr; - atomic_t ready; - atomic_t stop; - int ret; - wait_queue_head_t go; - wait_queue_head_t done; - size_t unc_len; - size_t cmp_len; - unsigned char unc[131072]; - unsigned char cmp[143360]; -}; - -struct cmsghdr { - __kernel_size_t cmsg_len; - int cmsg_level; - int cmsg_type; -}; - -struct cn_callback_id { - unsigned char name[32]; - struct cb_id id; -}; - -struct cn_queue_dev; - -struct cn_msg; - -struct netlink_skb_parms; - -struct cn_callback_entry { - struct list_head callback_entry; - refcount_t refcnt; - struct cn_queue_dev *pdev; - struct cn_callback_id id; - void (*callback)(struct cn_msg *, struct netlink_skb_parms *); - u32 seq; - u32 group; -}; - -struct cn_dev { - struct cb_id id; - u32 seq; - u32 groups; - struct sock *nls; - struct cn_queue_dev *cbdev; -}; - -struct cn_msg { - struct cb_id id; - __u32 seq; - __u32 ack; - __u16 len; - __u16 flags; - __u8 data[0]; -}; - -struct cn_queue_dev { - atomic_t refcnt; - unsigned char name[32]; - struct list_head queue_list; - spinlock_t queue_lock; - struct sock *nls; -}; - -struct ethtool_coalesce { - __u32 cmd; - __u32 rx_coalesce_usecs; - __u32 rx_max_coalesced_frames; - __u32 rx_coalesce_usecs_irq; - __u32 rx_max_coalesced_frames_irq; - __u32 tx_coalesce_usecs; - __u32 tx_max_coalesced_frames; - __u32 tx_coalesce_usecs_irq; - __u32 tx_max_coalesced_frames_irq; - __u32 stats_block_coalesce_usecs; - __u32 use_adaptive_rx_coalesce; - __u32 use_adaptive_tx_coalesce; - __u32 pkt_rate_low; - __u32 rx_coalesce_usecs_low; - __u32 rx_max_coalesced_frames_low; - __u32 tx_coalesce_usecs_low; - __u32 tx_max_coalesced_frames_low; - __u32 pkt_rate_high; - __u32 rx_coalesce_usecs_high; - __u32 rx_max_coalesced_frames_high; - __u32 tx_coalesce_usecs_high; - __u32 tx_max_coalesced_frames_high; - __u32 rate_sample_interval; -}; - -struct kernel_ethtool_coalesce { - u8 use_cqe_mode_tx; - u8 use_cqe_mode_rx; - u32 tx_aggr_max_bytes; - u32 tx_aggr_max_frames; - u32 tx_aggr_time_usecs; -}; - -struct coalesce_reply_data { - struct ethnl_reply_data base; - struct ethtool_coalesce coalesce; - struct kernel_ethtool_coalesce kernel_coalesce; - u32 supported_params; -}; - -struct collapse_control { - bool is_khugepaged; - u32 node_load[1024]; - nodemask_t alloc_nmask; -}; - -struct comm_proc_event { - __kernel_pid_t process_pid; - __kernel_pid_t process_tgid; - char comm[16]; -}; - -struct commit_header { - __be32 h_magic; - __be32 h_blocktype; - __be32 h_sequence; - unsigned char h_chksum_type; - unsigned char h_chksum_size; - unsigned char h_padding[2]; - __be32 h_chksum[8]; - __be64 h_commit_sec; - __be32 h_commit_nsec; -}; - -struct common_datum { - u32 value; - struct symtab permissions; -}; - -struct comp_opts { - int dict_size; -}; - -struct zone; - -struct compact_control { - struct list_head freepages[11]; - struct list_head migratepages; - unsigned int nr_freepages; - unsigned int nr_migratepages; - long unsigned int free_pfn; - long unsigned int migrate_pfn; - long unsigned int fast_start_pfn; - struct zone *zone; - long unsigned int total_migrate_scanned; - long unsigned int total_free_scanned; - short unsigned int fast_search_fail; - short int search_order; - const gfp_t gfp_mask; - int order; - int migratetype; - const unsigned int alloc_flags; - const int highest_zoneidx; - enum migrate_mode mode; - bool ignore_skip_hint; - bool no_set_skip_hint; - bool ignore_block_suitable; - bool direct_compaction; - bool proactive_compaction; - bool whole_zone; - bool contended; - bool finish_pageblock; - bool alloc_contig; -}; - -struct compare_key { - u16 base; - u16 mark; -}; - -struct compat_blk_user_trace_setup { - char name[32]; - u16 act_mask; - int: 0; - u32 buf_size; - u32 buf_nr; - compat_u64 start_lba; - compat_u64 end_lba; - u32 pid; -} __attribute__((packed)); - -struct compat_blkpg_ioctl_arg { - compat_int_t op; - compat_int_t flags; - compat_int_t datalen; - compat_caddr_t data; -}; - -struct compat_cdrom_generic_command { - unsigned char cmd[12]; - compat_caddr_t buffer; - compat_uint_t buflen; - compat_int_t stat; - compat_caddr_t sense; - unsigned char data_direction; - unsigned char pad[3]; - compat_int_t quiet; - compat_int_t timeout; - compat_caddr_t unused; -}; - -struct compat_cdrom_read_audio { - union cdrom_addr addr; - u8 addr_format; - compat_int_t nframes; - compat_caddr_t buf; -}; - -struct compat_cmsghdr { - compat_size_t cmsg_len; - compat_int_t cmsg_level; - compat_int_t cmsg_type; -}; - -struct compat_console_font_op { - compat_uint_t op; - compat_uint_t flags; - compat_uint_t width; - compat_uint_t height; - compat_uint_t charcount; - compat_caddr_t data; -}; - -struct compat_dirent { - u32 d_ino; - compat_off_t d_off; - u16 d_reclen; - char d_name[256]; -}; - -struct compat_elf_prpsinfo { - char pr_state; - char pr_sname; - char pr_zomb; - char pr_nice; - compat_ulong_t pr_flag; - __compat_uid_t pr_uid; - __compat_gid_t pr_gid; - compat_pid_t pr_pid; - compat_pid_t pr_ppid; - compat_pid_t pr_pgrp; - compat_pid_t pr_sid; - char pr_fname[16]; - char pr_psargs[80]; -}; - -struct compat_elf_siginfo { - compat_int_t si_signo; - compat_int_t si_code; - compat_int_t si_errno; -}; - -struct old_timeval32 { - old_time32_t tv_sec; - s32 tv_usec; -}; - -struct compat_elf_prstatus_common { - struct compat_elf_siginfo pr_info; - short int pr_cursig; - compat_ulong_t pr_sigpend; - compat_ulong_t pr_sighold; - compat_pid_t pr_pid; - compat_pid_t pr_ppid; - compat_pid_t pr_pgrp; - compat_pid_t pr_sid; - struct old_timeval32 pr_utime; - struct old_timeval32 pr_stime; - struct old_timeval32 pr_cutime; - struct old_timeval32 pr_cstime; -}; - -struct user_regs_struct { - long unsigned int r15; - long unsigned int r14; - long unsigned int r13; - long unsigned int r12; - long unsigned int bp; - long unsigned int bx; - long unsigned int r11; - long unsigned int r10; - long unsigned int r9; - long unsigned int r8; - long unsigned int ax; - long unsigned int cx; - long unsigned int dx; - long unsigned int si; - long unsigned int di; - long unsigned int orig_ax; - long unsigned int ip; - long unsigned int cs; - long unsigned int flags; - long unsigned int sp; - long unsigned int ss; - long unsigned int fs_base; - long unsigned int gs_base; - long unsigned int ds; - long unsigned int es; - long unsigned int fs; - long unsigned int gs; -}; - -typedef struct user_regs_struct compat_elf_gregset_t; - -struct compat_elf_prstatus { - struct compat_elf_prstatus_common common; - compat_elf_gregset_t pr_reg; - compat_int_t pr_fpvalid; -}; - -struct ethtool_tcpip4_spec { - __be32 ip4src; - __be32 ip4dst; - __be16 psrc; - __be16 pdst; - __u8 tos; -}; - -struct ethtool_ah_espip4_spec { - __be32 ip4src; - __be32 ip4dst; - __be32 spi; - __u8 tos; -}; - -struct ethtool_usrip4_spec { - __be32 ip4src; - __be32 ip4dst; - __be32 l4_4_bytes; - __u8 tos; - __u8 ip_ver; - __u8 proto; -}; - -struct ethtool_tcpip6_spec { - __be32 ip6src[4]; - __be32 ip6dst[4]; - __be16 psrc; - __be16 pdst; - __u8 tclass; -}; - -struct ethtool_ah_espip6_spec { - __be32 ip6src[4]; - __be32 ip6dst[4]; - __be32 spi; - __u8 tclass; -}; - -struct ethtool_usrip6_spec { - __be32 ip6src[4]; - __be32 ip6dst[4]; - __be32 l4_4_bytes; - __u8 tclass; - __u8 l4_proto; -}; - -struct ethhdr { - unsigned char h_dest[6]; - unsigned char h_source[6]; - __be16 h_proto; -}; - -union ethtool_flow_union { - struct ethtool_tcpip4_spec tcp_ip4_spec; - struct ethtool_tcpip4_spec udp_ip4_spec; - struct ethtool_tcpip4_spec sctp_ip4_spec; - struct ethtool_ah_espip4_spec ah_ip4_spec; - struct ethtool_ah_espip4_spec esp_ip4_spec; - struct ethtool_usrip4_spec usr_ip4_spec; - struct ethtool_tcpip6_spec tcp_ip6_spec; - struct ethtool_tcpip6_spec udp_ip6_spec; - struct ethtool_tcpip6_spec sctp_ip6_spec; - struct ethtool_ah_espip6_spec ah_ip6_spec; - struct ethtool_ah_espip6_spec esp_ip6_spec; - struct ethtool_usrip6_spec usr_ip6_spec; - struct ethhdr ether_spec; - __u8 hdata[52]; -}; - -struct ethtool_flow_ext { - __u8 padding[2]; - unsigned char h_dest[6]; - __be16 vlan_etype; - __be16 vlan_tci; - __be32 data[2]; -}; - -struct compat_ethtool_rx_flow_spec { - u32 flow_type; - union ethtool_flow_union h_u; - struct ethtool_flow_ext h_ext; - union ethtool_flow_union m_u; - struct ethtool_flow_ext m_ext; - compat_u64 ring_cookie; - u32 location; -} __attribute__((packed)); - -struct compat_ethtool_rxnfc { - u32 cmd; - u32 flow_type; - compat_u64 data; - struct compat_ethtool_rx_flow_spec fs; - u32 rule_cnt; - u32 rule_locs[0]; -} __attribute__((packed)); - -struct compat_ext4_new_group_input { - u32 group; - compat_u64 block_bitmap; - compat_u64 inode_bitmap; - compat_u64 inode_table; - u32 blocks_count; - u16 reserved_blocks; - u16 unused; -} __attribute__((packed)); - -struct compat_flock { - short int l_type; - short int l_whence; - compat_off_t l_start; - compat_off_t l_len; - compat_pid_t l_pid; -}; - -struct compat_flock64 { - short int l_type; - short int l_whence; - compat_loff_t l_start; - compat_loff_t l_len; - compat_pid_t l_pid; -} __attribute__((packed)); - -struct compat_fs_qfilestat { - compat_u64 dqb_bhardlimit; - compat_u64 qfs_nblks; - compat_uint_t qfs_nextents; -} __attribute__((packed)); - -struct compat_fs_quota_stat { - __s8 qs_version; - __u16 qs_flags; - __s8 qs_pad; - long: 0; - struct compat_fs_qfilestat qs_uquota; - struct compat_fs_qfilestat qs_gquota; - compat_uint_t qs_incoredqs; - compat_int_t qs_btimelimit; - compat_int_t qs_itimelimit; - compat_int_t qs_rtbtimelimit; - __u16 qs_bwarnlimit; - __u16 qs_iwarnlimit; -}; - -struct dir_context; - -typedef bool (*filldir_t)(struct dir_context *, const char *, int, loff_t, u64, unsigned int); - -struct dir_context { - filldir_t actor; - loff_t pos; - int count; -}; - -struct compat_linux_dirent; - -struct compat_getdents_callback { - struct dir_context ctx; - struct compat_linux_dirent *current_dir; - int prev_reclen; - int error; -}; - -struct compat_group_filter { - union { - struct { - __u32 gf_interface_aux; - struct __kernel_sockaddr_storage gf_group_aux; - __u32 gf_fmode_aux; - __u32 gf_numsrc_aux; - struct __kernel_sockaddr_storage gf_slist[1]; - } __attribute__((packed)); - struct { - __u32 gf_interface; - struct __kernel_sockaddr_storage gf_group; - __u32 gf_fmode; - __u32 gf_numsrc; - struct __kernel_sockaddr_storage gf_slist_flex[0]; - } __attribute__((packed)); - }; -}; - -struct compat_group_req { - __u32 gr_interface; - struct __kernel_sockaddr_storage gr_group; -} __attribute__((packed)); - -struct compat_group_source_req { - __u32 gsr_interface; - struct __kernel_sockaddr_storage gsr_group; - struct __kernel_sockaddr_storage gsr_source; -} __attribute__((packed)); - -struct compat_hd_geometry { - unsigned char heads; - unsigned char sectors; - short unsigned int cylinders; - u32 start; -}; - -struct compat_hpet_info { - compat_ulong_t hi_ireqfreq; - compat_ulong_t hi_flags; - short unsigned int hi_hpet; - short unsigned int hi_timer; -}; - -struct compat_if_dqblk { - compat_u64 dqb_bhardlimit; - compat_u64 dqb_bsoftlimit; - compat_u64 dqb_curspace; - compat_u64 dqb_ihardlimit; - compat_u64 dqb_isoftlimit; - compat_u64 dqb_curinodes; - compat_u64 dqb_btime; - compat_u64 dqb_itime; - compat_uint_t dqb_valid; -} __attribute__((packed)); - -struct compat_if_settings { - unsigned int type; - unsigned int size; - compat_uptr_t ifs_ifsu; -}; - -struct compat_ifconf { - compat_int_t ifc_len; - compat_caddr_t ifcbuf; -}; - -struct compat_ifmap { - compat_ulong_t mem_start; - compat_ulong_t mem_end; - short unsigned int base_addr; - unsigned char irq; - unsigned char dma; - unsigned char port; -}; - -struct compat_ifreq { - union { - char ifrn_name[16]; - } ifr_ifrn; - union { - struct sockaddr ifru_addr; - struct sockaddr ifru_dstaddr; - struct sockaddr ifru_broadaddr; - struct sockaddr ifru_netmask; - struct sockaddr ifru_hwaddr; - short int ifru_flags; - compat_int_t ifru_ivalue; - compat_int_t ifru_mtu; - struct compat_ifmap ifru_map; - char ifru_slave[16]; - char ifru_newname[16]; - compat_caddr_t ifru_data; - struct compat_if_settings ifru_settings; - } ifr_ifru; -}; - -struct compat_in6_rtmsg { - struct in6_addr rtmsg_dst; - struct in6_addr rtmsg_src; - struct in6_addr rtmsg_gateway; - u32 rtmsg_type; - u16 rtmsg_dst_len; - u16 rtmsg_src_len; - u32 rtmsg_metric; - u32 rtmsg_info; - u32 rtmsg_flags; - s32 rtmsg_ifindex; -}; - -struct compat_iovec { - compat_uptr_t iov_base; - compat_size_t iov_len; -}; - -struct compat_ipc64_perm { - compat_key_t key; - __compat_uid32_t uid; - __compat_gid32_t gid; - __compat_uid32_t cuid; - __compat_gid32_t cgid; - compat_mode_t mode; - unsigned char __pad1[2]; - compat_ushort_t seq; - compat_ushort_t __pad2; - compat_ulong_t unused1; - compat_ulong_t unused2; -}; - -struct compat_ipc_kludge { - compat_uptr_t msgp; - compat_long_t msgtyp; -}; - -struct compat_ipc_perm { - key_t key; - __compat_uid_t uid; - __compat_gid_t gid; - __compat_uid_t cuid; - __compat_gid_t cgid; - compat_mode_t mode; - short unsigned int seq; -}; - -struct compat_iw_point { - compat_caddr_t pointer; - __u16 length; - __u16 flags; -}; - -struct compat_kexec_segment { - compat_uptr_t buf; - compat_size_t bufsz; - compat_ulong_t mem; - compat_size_t memsz; -}; - -struct compat_keyctl_kdf_params { - compat_uptr_t hashname; - compat_uptr_t otherinfo; - __u32 otherinfolen; - __u32 __spare[8]; -}; - -struct compat_linux_dirent { - compat_ulong_t d_ino; - compat_ulong_t d_off; - short unsigned int d_reclen; - char d_name[0]; -}; - -struct compat_loop_info { - compat_int_t lo_number; - compat_dev_t lo_device; - compat_ulong_t lo_inode; - compat_dev_t lo_rdevice; - compat_int_t lo_offset; - compat_int_t lo_encrypt_type; - compat_int_t lo_encrypt_key_size; - compat_int_t lo_flags; - char lo_name[64]; - unsigned char lo_encrypt_key[32]; - compat_ulong_t lo_init[2]; - char reserved[4]; -}; - -struct compat_msghdr { - compat_uptr_t msg_name; - compat_int_t msg_namelen; - compat_uptr_t msg_iov; - compat_size_t msg_iovlen; - compat_uptr_t msg_control; - compat_size_t msg_controllen; - compat_uint_t msg_flags; -}; - -struct compat_mmsghdr { - struct compat_msghdr msg_hdr; - compat_uint_t msg_len; -}; - -struct compat_mq_attr { - compat_long_t mq_flags; - compat_long_t mq_maxmsg; - compat_long_t mq_msgsize; - compat_long_t mq_curmsgs; - compat_long_t __reserved[4]; -}; - -struct compat_msgbuf { - compat_long_t mtype; - char mtext[0]; -}; - -struct compat_msqid64_ds { - struct compat_ipc64_perm msg_perm; - compat_ulong_t msg_stime; - compat_ulong_t msg_stime_high; - compat_ulong_t msg_rtime; - compat_ulong_t msg_rtime_high; - compat_ulong_t msg_ctime; - compat_ulong_t msg_ctime_high; - compat_ulong_t msg_cbytes; - compat_ulong_t msg_qnum; - compat_ulong_t msg_qbytes; - compat_pid_t msg_lspid; - compat_pid_t msg_lrpid; - compat_ulong_t __unused4; - compat_ulong_t __unused5; -}; - -struct compat_msqid_ds { - struct compat_ipc_perm msg_perm; - compat_uptr_t msg_first; - compat_uptr_t msg_last; - old_time32_t msg_stime; - old_time32_t msg_rtime; - old_time32_t msg_ctime; - compat_ulong_t msg_lcbytes; - compat_ulong_t msg_lqbytes; - short unsigned int msg_cbytes; - short unsigned int msg_qnum; - short unsigned int msg_qbytes; - compat_ipc_pid_t msg_lspid; - compat_ipc_pid_t msg_lrpid; -}; - -struct compat_old_linux_dirent { - compat_ulong_t d_ino; - compat_ulong_t d_offset; - short unsigned int d_namlen; - char d_name[0]; -}; - -struct compat_old_sigaction { - compat_uptr_t sa_handler; - compat_old_sigset_t sa_mask; - compat_ulong_t sa_flags; - compat_uptr_t sa_restorer; -}; - -struct compat_readdir_callback { - struct dir_context ctx; - struct compat_old_linux_dirent *dirent; - int result; -}; - -struct compat_resume_swap_area { - compat_loff_t offset; - u32 dev; -} __attribute__((packed)); - -struct compat_rlimit { - compat_ulong_t rlim_cur; - compat_ulong_t rlim_max; -}; - -struct compat_robust_list { - compat_uptr_t next; -}; - -struct compat_robust_list_head { - struct compat_robust_list list; - compat_long_t futex_offset; - compat_uptr_t list_op_pending; -}; - -struct compat_rtentry { - u32 rt_pad1; - struct sockaddr rt_dst; - struct sockaddr rt_gateway; - struct sockaddr rt_genmask; - short unsigned int rt_flags; - short int rt_pad2; - u32 rt_pad3; - unsigned char rt_tos; - unsigned char rt_class; - short int rt_pad4; - short int rt_metric; - compat_uptr_t rt_dev; - u32 rt_mtu; - u32 rt_window; - short unsigned int rt_irtt; -}; - -struct compat_rusage { - struct old_timeval32 ru_utime; - struct old_timeval32 ru_stime; - compat_long_t ru_maxrss; - compat_long_t ru_ixrss; - compat_long_t ru_idrss; - compat_long_t ru_isrss; - compat_long_t ru_minflt; - compat_long_t ru_majflt; - compat_long_t ru_nswap; - compat_long_t ru_inblock; - compat_long_t ru_oublock; - compat_long_t ru_msgsnd; - compat_long_t ru_msgrcv; - compat_long_t ru_nsignals; - compat_long_t ru_nvcsw; - compat_long_t ru_nivcsw; -}; - -struct compat_sel_arg_struct { - compat_ulong_t n; - compat_uptr_t inp; - compat_uptr_t outp; - compat_uptr_t exp; - compat_uptr_t tvp; -}; - -struct compat_semid64_ds { - struct compat_ipc64_perm sem_perm; - compat_ulong_t sem_otime; - compat_ulong_t sem_otime_high; - compat_ulong_t sem_ctime; - compat_ulong_t sem_ctime_high; - compat_ulong_t sem_nsems; - compat_ulong_t __unused3; - compat_ulong_t __unused4; -}; - -struct compat_semid_ds { - struct compat_ipc_perm sem_perm; - old_time32_t sem_otime; - old_time32_t sem_ctime; - compat_uptr_t sem_base; - compat_uptr_t sem_pending; - compat_uptr_t sem_pending_last; - compat_uptr_t undo; - short unsigned int sem_nsems; -}; - -struct compat_sg_io_hdr { - compat_int_t interface_id; - compat_int_t dxfer_direction; - unsigned char cmd_len; - unsigned char mx_sb_len; - short unsigned int iovec_count; - compat_uint_t dxfer_len; - compat_uint_t dxferp; - compat_uptr_t cmdp; - compat_uptr_t sbp; - compat_uint_t timeout; - compat_uint_t flags; - compat_int_t pack_id; - compat_uptr_t usr_ptr; - unsigned char status; - unsigned char masked_status; - unsigned char msg_status; - unsigned char sb_len_wr; - short unsigned int host_status; - short unsigned int driver_status; - compat_int_t resid; - compat_uint_t duration; - compat_uint_t info; -}; - -struct compat_sg_req_info { - char req_state; - char orphan; - char sg_io_owned; - char problem; - int pack_id; - compat_uptr_t usr_ptr; - unsigned int duration; - int unused; -}; - -struct compat_shm_info { - compat_int_t used_ids; - compat_ulong_t shm_tot; - compat_ulong_t shm_rss; - compat_ulong_t shm_swp; - compat_ulong_t swap_attempts; - compat_ulong_t swap_successes; -}; - -struct compat_shmid64_ds { - struct compat_ipc64_perm shm_perm; - compat_size_t shm_segsz; - compat_ulong_t shm_atime; - compat_ulong_t shm_atime_high; - compat_ulong_t shm_dtime; - compat_ulong_t shm_dtime_high; - compat_ulong_t shm_ctime; - compat_ulong_t shm_ctime_high; - compat_pid_t shm_cpid; - compat_pid_t shm_lpid; - compat_ulong_t shm_nattch; - compat_ulong_t __unused4; - compat_ulong_t __unused5; -}; - -struct compat_shmid_ds { - struct compat_ipc_perm shm_perm; - int shm_segsz; - old_time32_t shm_atime; - old_time32_t shm_dtime; - old_time32_t shm_ctime; - compat_ipc_pid_t shm_cpid; - compat_ipc_pid_t shm_lpid; - short unsigned int shm_nattch; - short unsigned int shm_unused; - compat_uptr_t shm_unused2; - compat_uptr_t shm_unused3; -}; - -struct compat_shminfo64 { - compat_ulong_t shmmax; - compat_ulong_t shmmin; - compat_ulong_t shmmni; - compat_ulong_t shmseg; - compat_ulong_t shmall; - compat_ulong_t __unused1; - compat_ulong_t __unused2; - compat_ulong_t __unused3; - compat_ulong_t __unused4; -}; - -struct compat_sigaction { - compat_uptr_t sa_handler; - compat_ulong_t sa_flags; - compat_uptr_t sa_restorer; - compat_sigset_t sa_mask; -}; - -struct compat_sigaltstack { - compat_uptr_t ss_sp; - int ss_flags; - compat_size_t ss_size; -}; - -typedef struct compat_sigaltstack compat_stack_t; - -union compat_sigval { - compat_int_t sival_int; - compat_uptr_t sival_ptr; -}; - -typedef union compat_sigval compat_sigval_t; - -struct compat_sigevent { - compat_sigval_t sigev_value; - compat_int_t sigev_signo; - compat_int_t sigev_notify; - union { - compat_int_t _pad[13]; - compat_int_t _tid; - struct { - compat_uptr_t _function; - compat_uptr_t _attribute; - } _sigev_thread; - } _sigev_un; -}; - -struct compat_siginfo { - int si_signo; - int si_errno; - int si_code; - union { - int _pad[29]; - struct { - compat_pid_t _pid; - __compat_uid32_t _uid; - } _kill; - struct { - compat_timer_t _tid; - int _overrun; - compat_sigval_t _sigval; - } _timer; - struct { - compat_pid_t _pid; - __compat_uid32_t _uid; - compat_sigval_t _sigval; - } _rt; - struct { - compat_pid_t _pid; - __compat_uid32_t _uid; - int _status; - compat_clock_t _utime; - compat_clock_t _stime; - } _sigchld; - struct { - compat_uptr_t _addr; - union { - int _trapno; - short int _addr_lsb; - struct { - char _dummy_bnd[4]; - compat_uptr_t _lower; - compat_uptr_t _upper; - } _addr_bnd; - struct { - char _dummy_pkey[4]; - u32 _pkey; - } _addr_pkey; - struct { - compat_ulong_t _data; - u32 _type; - u32 _flags; - } _perf; - }; - } _sigfault; - struct { - compat_long_t _band; - int _fd; - } _sigpoll; - struct { - compat_uptr_t _call_addr; - int _syscall; - unsigned int _arch; - } _sigsys; - } _sifields; -}; - -typedef struct compat_siginfo compat_siginfo_t; - -struct compat_sigset_argpack { - compat_uptr_t p; - compat_size_t size; -}; - -struct compat_sioc_mif_req6 { - mifi_t mifi; - compat_ulong_t icount; - compat_ulong_t ocount; - compat_ulong_t ibytes; - compat_ulong_t obytes; -}; - -struct in_addr { - __be32 s_addr; -}; - -struct compat_sioc_sg_req { - struct in_addr src; - struct in_addr grp; - compat_ulong_t pktcnt; - compat_ulong_t bytecnt; - compat_ulong_t wrong_if; -}; - -struct sockaddr_in6 { - short unsigned int sin6_family; - __be16 sin6_port; - __be32 sin6_flowinfo; - struct in6_addr sin6_addr; - __u32 sin6_scope_id; -}; - -struct compat_sioc_sg_req6 { - struct sockaddr_in6 src; - struct sockaddr_in6 grp; - compat_ulong_t pktcnt; - compat_ulong_t bytecnt; - compat_ulong_t wrong_if; -}; - -struct compat_sioc_vif_req { - vifi_t vifi; - compat_ulong_t icount; - compat_ulong_t ocount; - compat_ulong_t ibytes; - compat_ulong_t obytes; -}; - -struct compat_sock_fprog { - u16 len; - compat_uptr_t filter; -}; - -struct compat_stat { - u32 st_dev; - compat_ino_t st_ino; - compat_mode_t st_mode; - compat_nlink_t st_nlink; - __compat_uid_t st_uid; - __compat_gid_t st_gid; - u32 st_rdev; - u32 st_size; - u32 st_blksize; - u32 st_blocks; - u32 st_atime; - u32 st_atime_nsec; - u32 st_mtime; - u32 st_mtime_nsec; - u32 st_ctime; - u32 st_ctime_nsec; - u32 __unused4; - u32 __unused5; -}; - -struct compat_statfs { - int f_type; - int f_bsize; - int f_blocks; - int f_bfree; - int f_bavail; - int f_files; - int f_ffree; - compat_fsid_t f_fsid; - int f_namelen; - int f_frsize; - int f_flags; - int f_spare[4]; -}; - -struct compat_statfs64 { - __u32 f_type; - __u32 f_bsize; - __u64 f_blocks; - __u64 f_bfree; - __u64 f_bavail; - __u64 f_files; - __u64 f_ffree; - __kernel_fsid_t f_fsid; - __u32 f_namelen; - __u32 f_frsize; - __u32 f_flags; - __u32 f_spare[4]; -} __attribute__((packed)); - -struct compat_sysinfo { - s32 uptime; - u32 loads[3]; - u32 totalram; - u32 freeram; - u32 sharedram; - u32 bufferram; - u32 totalswap; - u32 freeswap; - u16 procs; - u16 pad; - u32 totalhigh; - u32 freehigh; - u32 mem_unit; - char _f[8]; -}; - -struct compat_tms { - compat_clock_t tms_utime; - compat_clock_t tms_stime; - compat_clock_t tms_cutime; - compat_clock_t tms_cstime; -}; - -struct compat_unimapdesc { - short unsigned int entry_ct; - compat_caddr_t entries; -}; - -struct compat_ustat { - compat_daddr_t f_tfree; - compat_ino_t f_tinode; - char f_fname[6]; - char f_fpack[6]; -}; - -struct component_ops; - -struct component { - struct list_head node; - struct aggregate_device *adev; - bool bound; - const struct component_ops *ops; - int subcomponent; - struct device *dev; -}; - -struct component_master_ops { - int (*bind)(struct device *); - void (*unbind)(struct device *); -}; - -struct component_match_array; - -struct component_match { - size_t alloc; - size_t num; - struct component_match_array *compare; -}; - -struct component_match_array { - void *data; - int (*compare)(struct device *, void *); - int (*compare_typed)(struct device *, int, void *); - void (*release)(struct device *, void *); - struct component *component; - bool duplicate; -}; - -struct component_ops { - int (*bind)(struct device *, struct device *, void *); - void (*unbind)(struct device *, struct device *, void *); -}; - -typedef int (*decompress_fn)(unsigned char *, long int, long int (*)(void *, long unsigned int), long int (*)(void *, long unsigned int), unsigned char *, long int *, void (*)(char *)); - -struct compress_format { - unsigned char magic[2]; - const char *name; - decompress_fn decompressor; -}; - -struct compstat; - -struct compressor { - int compress_proto; - void * (*comp_alloc)(unsigned char *, int); - void (*comp_free)(void *); - int (*comp_init)(void *, unsigned char *, int, int, int, int); - void (*comp_reset)(void *); - int (*compress)(void *, unsigned char *, unsigned char *, int, int); - void (*comp_stat)(void *, struct compstat *); - void * (*decomp_alloc)(unsigned char *, int); - void (*decomp_free)(void *); - int (*decomp_init)(void *, unsigned char *, int, int, int, int, int); - void (*decomp_reset)(void *); - int (*decompress)(void *, unsigned char *, int, unsigned char *, int); - void (*incomp)(void *, unsigned char *, int); - void (*decomp_stat)(void *, struct compstat *); - struct module *owner; - unsigned int comp_extra; -}; - -struct compressor_entry { - struct list_head list; - struct compressor *comp; -}; - -struct compstat { - __u32 unc_bytes; - __u32 unc_packets; - __u32 comp_bytes; - __u32 comp_packets; - __u32 inc_bytes; - __u32 inc_packets; - __u32 in_count; - __u32 bytes_out; - double ratio; -}; - -struct consw; - -struct con_driver { - const struct consw *con; - const char *desc; - struct device *dev; - int node; - int first; - int last; - int flag; -}; - -struct cond_av_list { - struct avtab_node **nodes; - u32 len; -}; - -struct cond_bool_datum { - u32 value; - int state; -}; - -struct cond_expr_node; - -struct cond_expr { - struct cond_expr_node *nodes; - u32 len; -}; - -struct cond_expr_node { - u32 expr_type; - u32 boolean; -}; - -struct policydb; - -struct cond_insertf_data { - struct policydb *p; - struct avtab_node **dst; - struct cond_av_list *other; -}; - -struct cond_node { - int cur_state; - struct cond_expr expr; - struct cond_av_list true_list; - struct cond_av_list false_list; -}; - -typedef bool (*cond_update_fn_t)(struct trace_array *, void *); - -struct cond_snapshot { - void *cond_data; - cond_update_fn_t update; -}; - -struct config_group; - -struct config_item_type; - -struct config_item { - char *ci_name; - char ci_namebuf[20]; - struct kref ci_kref; - struct list_head ci_entry; - struct config_item *ci_parent; - struct config_group *ci_group; - const struct config_item_type *ci_type; - struct dentry *ci_dentry; -}; - -struct configfs_subsystem; - -struct config_group { - struct config_item cg_item; - struct list_head cg_children; - struct configfs_subsystem *cg_subsys; - struct list_head default_groups; - struct list_head group_entry; -}; - -struct configfs_item_operations; - -struct configfs_group_operations; - -struct configfs_attribute; - -struct configfs_bin_attribute; - -struct config_item_type { - struct module *ct_owner; - struct configfs_item_operations *ct_item_ops; - struct configfs_group_operations *ct_group_ops; - struct configfs_attribute **ct_attrs; - struct configfs_bin_attribute **ct_bin_attrs; -}; - -struct config_key { - struct config_item item; - const char *description; -}; - -struct deflate_state; - -typedef struct deflate_state deflate_state; - -typedef block_state (*compress_func)(deflate_state *, int); - -struct config_s { - ush good_length; - ush max_lazy; - ush nice_length; - ush max_chain; - compress_func func; -}; - -typedef struct config_s config; - -struct configfs_attribute { - const char *ca_name; - struct module *ca_owner; - umode_t ca_mode; - ssize_t (*show)(struct config_item *, char *); - ssize_t (*store)(struct config_item *, const char *, size_t); -}; - -struct configfs_bin_attribute { - struct configfs_attribute cb_attr; - void *cb_private; - size_t cb_max_size; - ssize_t (*read)(struct config_item *, void *, size_t); - ssize_t (*write)(struct config_item *, const void *, size_t); -}; - -struct configfs_buffer { - size_t count; - loff_t pos; - char *page; - struct configfs_item_operations *ops; - struct mutex mutex; - int needs_read_fill; - bool read_in_progress; - bool write_in_progress; - char *bin_buffer; - int bin_buffer_size; - int cb_max_size; - struct config_item *item; - struct module *owner; - union { - struct configfs_attribute *attr; - struct configfs_bin_attribute *bin_attr; - }; -}; - -struct iattr; - -struct configfs_fragment; - -struct configfs_dirent { - atomic_t s_count; - int s_dependent_count; - struct list_head s_sibling; - struct list_head s_children; - int s_links; - void *s_element; - int s_type; - umode_t s_mode; - struct dentry *s_dentry; - struct iattr *s_iattr; - struct configfs_fragment *s_frag; -}; - -struct configfs_fragment { - atomic_t frag_count; - struct rw_semaphore frag_sem; - bool frag_dead; -}; - -struct configfs_group_operations { - struct config_item * (*make_item)(struct config_group *, const char *); - struct config_group * (*make_group)(struct config_group *, const char *); - void (*disconnect_notify)(struct config_group *, struct config_item *); - void (*drop_item)(struct config_group *, struct config_item *); - bool (*is_visible)(struct config_item *, struct configfs_attribute *, int); - bool (*is_bin_visible)(struct config_item *, struct configfs_bin_attribute *, int); -}; - -struct configfs_item_operations { - void (*release)(struct config_item *); - int (*allow_link)(struct config_item *, struct config_item *); - void (*drop_link)(struct config_item *, struct config_item *); -}; - -struct configfs_subsystem { - struct config_group su_group; - struct mutex su_mutex; -}; - -struct console; - -struct printk_buffers; - -struct nbcon_context { - struct console *console; - unsigned int spinwait_max_us; - enum nbcon_prio prio; - unsigned int allow_unsafe_takeover: 1; - unsigned int backlog: 1; - struct printk_buffers *pbufs; - u64 seq; -}; - -struct tty_driver; - -struct nbcon_write_context; - -struct console { - char name[16]; - void (*write)(struct console *, const char *, unsigned int); - int (*read)(struct console *, char *, unsigned int); - struct tty_driver * (*device)(struct console *, int *); - void (*unblank)(void); - int (*setup)(struct console *, char *); - int (*exit)(struct console *); - int (*match)(struct console *, char *, int, char *); - short int flags; - short int index; - int cflag; - uint ispeed; - uint ospeed; - u64 seq; - long unsigned int dropped; - void *data; - struct hlist_node node; - void (*write_atomic)(struct console *, struct nbcon_write_context *); - void (*write_thread)(struct console *, struct nbcon_write_context *); - void (*device_lock)(struct console *, long unsigned int *); - void (*device_unlock)(struct console *, long unsigned int); - atomic_t nbcon_state; - atomic_long_t nbcon_seq; - struct nbcon_context nbcon_device_ctxt; - atomic_long_t nbcon_prev_seq; - struct printk_buffers *pbufs; - struct task_struct *kthread; - struct rcuwait rcuwait; - struct irq_work irq_work; -}; - -struct winsize { - short unsigned int ws_row; - short unsigned int ws_col; - short unsigned int ws_xpixel; - short unsigned int ws_ypixel; -}; - -struct hvc_struct; - -struct console___2 { - struct list_head list; - struct hvc_struct *hvc; - struct winsize ws; - u32 vtermno; -}; - -struct console_cmdline { - char name[16]; - int index; - char devname[32]; - bool user_specified; - char *options; -}; - -struct console_flush_type { - bool nbcon_atomic; - bool nbcon_offload; - bool legacy_direct; - bool legacy_offload; -}; - -struct console_font { - unsigned int width; - unsigned int height; - unsigned int charcount; - unsigned char *data; -}; - -struct console_font_op { - unsigned int op; - unsigned int flags; - unsigned int width; - unsigned int height; - unsigned int charcount; - unsigned char *data; -}; - -struct constant_table { - const char *name; - int value; -}; - -struct ebitmap_node; - -struct ebitmap { - struct ebitmap_node *node; - u32 highbit; -}; - -struct type_set; - -struct constraint_expr { - u32 expr_type; - u32 attr; - u32 op; - struct ebitmap names; - struct type_set *type_names; - struct constraint_expr *next; -}; - -struct constraint_node { - u32 permissions; - struct constraint_expr *expr; - struct constraint_node *next; -}; - -struct vc_data; - -struct consw { - struct module *owner; - const char * (*con_startup)(void); - void (*con_init)(struct vc_data *, bool); - void (*con_deinit)(struct vc_data *); - void (*con_clear)(struct vc_data *, unsigned int, unsigned int, unsigned int); - void (*con_putc)(struct vc_data *, u16, unsigned int, unsigned int); - void (*con_putcs)(struct vc_data *, const u16 *, unsigned int, unsigned int, unsigned int); - void (*con_cursor)(struct vc_data *, bool); - bool (*con_scroll)(struct vc_data *, unsigned int, unsigned int, enum con_scroll, unsigned int); - bool (*con_switch)(struct vc_data *); - bool (*con_blank)(struct vc_data *, enum vesa_blank_mode, bool); - int (*con_font_set)(struct vc_data *, const struct console_font *, unsigned int, unsigned int); - int (*con_font_get)(struct vc_data *, struct console_font *, unsigned int); - int (*con_font_default)(struct vc_data *, struct console_font *, const char *); - int (*con_resize)(struct vc_data *, unsigned int, unsigned int, bool); - void (*con_set_palette)(struct vc_data *, const unsigned char *); - void (*con_scrolldelta)(struct vc_data *, int); - bool (*con_set_origin)(struct vc_data *); - void (*con_save_screen)(struct vc_data *); - u8 (*con_build_attr)(struct vc_data *, u8, enum vc_intensity, bool, bool, bool, bool); - void (*con_invert_region)(struct vc_data *, u16 *, int); - void (*con_debug_enter)(struct vc_data *); - void (*con_debug_leave)(struct vc_data *); -}; - -struct microcode_amd; - -struct cont_desc { - struct microcode_amd *mc; - u32 psize; - u8 *data; - size_t size; -}; - -struct container_dev { - struct device dev; - int (*offline)(struct container_dev *); -}; - -struct mls_level { - u32 sens; - struct ebitmap cat; -}; - -struct mls_range { - struct mls_level level[2]; -}; - -struct context___2 { - u32 user; - u32 role; - u32 type; - u32 len; - struct mls_range range; - char *str; -}; - -struct context_entry { - u64 lo; - u64 hi; -}; - -struct context_tracking { - bool active; - int recursion; - atomic_t state; - long int nesting; - long int nmi_nesting; -}; - -struct contig_page_info { - long unsigned int free_pages; - long unsigned int free_blocks_total; - long unsigned int free_blocks_suitable; -}; - -struct virtio_net_ctrl_hdr { - __u8 class; - __u8 cmd; -}; - -struct control_buf { - struct virtio_net_ctrl_hdr hdr; - virtio_net_ctrl_ack status; -}; - -struct hotplug_slot_ops; - -struct hotplug_slot { - const struct hotplug_slot_ops *ops; - struct pci_slot *pci_slot; - struct module *owner; - const char *mod_name; -}; - -struct pcie_device; - -struct controller { - struct pcie_device *pcie; - u64 dsn; - u32 slot_cap; - unsigned int inband_presence_disabled: 1; - u16 slot_ctrl; - struct mutex ctrl_lock; - long unsigned int cmd_started; - unsigned int cmd_busy: 1; - wait_queue_head_t queue; - atomic_t pending_events; - unsigned int notification_enabled: 1; - unsigned int power_fault_detected; - struct task_struct *poll_thread; - u8 state; - struct mutex state_lock; - struct delayed_work button_work; - struct hotplug_slot hotplug_slot; - struct rw_semaphore reset_lock; - unsigned int depth; - unsigned int ist_running; - int request_result; - wait_queue_head_t requester; -}; - -struct controller___2 { - struct mutex crit_sect; - struct mutex cmd_lock; - int num_slots; - int slot_num_inc; - struct pci_dev *pci_dev; - struct list_head slot_list; - wait_queue_head_t queue; - u8 slot_device_offset; - u32 pcix_misc2_reg; - u32 first_slot; - u32 cap_offset; - long unsigned int mmio_base; - long unsigned int mmio_size; - void *creg; - struct timer_list poll_timer; -}; - -struct convert_context_args { - struct policydb *oldp; - struct policydb *newp; -}; - -struct cooling_dev_stats { - spinlock_t lock; - unsigned int total_trans; - long unsigned int state; - ktime_t last_time; - ktime_t *time_in_state; - unsigned int *trans_table; -}; - -struct cooling_spec { - long unsigned int upper; - long unsigned int lower; - unsigned int weight; -}; - -struct copy_from_grant { - const struct blk_shadow *s; - unsigned int grant_idx; - unsigned int bvec_offset; - char *bvec_data; -}; - -struct copy_subpage_arg { - struct folio *dst; - struct folio *src; - struct vm_area_struct *vma; -}; - -struct core_name { - char *corename; - int used; - int size; - unsigned int core_pipe_limit; - bool core_dumped; - enum coredump_type_t core_type; - u64 mask; -}; - -struct core_thread { - struct task_struct *task; - struct core_thread *next; -}; - -struct core_state { - atomic_t nr_threads; - struct core_thread dumper; - struct completion startup; -}; - -struct core_text { - long unsigned int base; - long unsigned int end; - const char *name; -}; - -struct core_vma_metadata { - long unsigned int start; - long unsigned int end; - vm_flags_t flags; - long unsigned int dump_size; - long unsigned int pgoff; - struct file *file; -}; - -struct coredump_ack { - __u32 size; - __u32 spare; - __u64 mask; -}; - -struct kernel_siginfo; - -typedef struct kernel_siginfo kernel_siginfo_t; - -struct coredump_params { - const kernel_siginfo_t *siginfo; - struct file *file; - long unsigned int limit; - long unsigned int mm_flags; - int cpu; - loff_t written; - loff_t pos; - loff_t to_skip; - int vma_count; - size_t vma_data_size; - struct core_vma_metadata *vma_meta; - struct pid *pid; -}; - -struct coredump_proc_event { - __kernel_pid_t process_pid; - __kernel_pid_t process_tgid; - __kernel_pid_t parent_pid; - __kernel_pid_t parent_tgid; -}; - -struct coredump_req { - __u32 size; - __u32 size_ack; - __u64 mask; -}; - -struct counted_str { - struct kref count; - char name[0]; -}; - -struct regulator_dev; - -struct regulator_coupler; - -struct coupling_desc { - struct regulator_dev **coupled_rdevs; - struct regulator_coupler *coupler; - int n_resolved; - int n_coupled; -}; - -struct pgprot { - pgprotval_t pgprot; -}; - -typedef struct pgprot pgprot_t; - -struct cpa_data { - long unsigned int *vaddr; - pgd_t *pgd; - pgprot_t mask_set; - pgprot_t mask_clr; - long unsigned int numpages; - long unsigned int curpage; - long unsigned int pfn; - unsigned int flags; - unsigned int force_split: 1; - unsigned int force_static_prot: 1; - unsigned int force_flush_all: 1; - struct page **pages; -}; - -struct cpc_reg { - u8 descriptor; - u16 length; - u8 space_id; - u8 bit_width; - u8 bit_offset; - u8 access_width; - u64 address; -} __attribute__((packed)); - -struct cpc_register_resource { - acpi_object_type type; - u64 *sys_mem_vaddr; - union { - struct cpc_reg reg; - u64 int_value; - } cpc_entry; -}; - -struct cpc_desc { - int num_entries; - int version; - int cpu_id; - int write_cmd_status; - int write_cmd_id; - raw_spinlock_t rmw_lock; - struct cpc_register_resource cpc_regs[21]; - struct acpi_psd_package domain_info; - struct kobject kobj; -}; - -struct cpci_hp_controller_ops; - -struct cpci_hp_controller { - unsigned int irq; - long unsigned int irq_flags; - char *devname; - void *dev_id; - char *name; - struct cpci_hp_controller_ops *ops; -}; - -struct cpci_hp_controller_ops { - int (*query_enum)(void); - int (*enable_irq)(void); - int (*disable_irq)(void); - int (*check_irq)(void *); -}; - -struct cper_arm_ctx_info { - u16 version; - u16 type; - u32 size; -}; - -struct cper_arm_err_info { - u8 version; - u8 length; - u16 validation_bits; - u8 type; - u16 multiple_error; - u8 flags; - u64 error_info; - u64 virt_fault_addr; - u64 physical_fault_addr; -} __attribute__((packed)); - -struct cper_cxl_event_devid { - u16 vendor_id; - u16 device_id; - u8 func_num; - u8 device_num; - u8 bus_num; - u16 segment_num; - u16 slot_num; - u8 reserved; -} __attribute__((packed)); - -struct cper_cxl_event_sn { - u32 lower_dw; - u32 upper_dw; -}; - -struct cper_ia_err_info { - guid_t err_type; - u64 validation_bits; - u64 check_info; - u64 target_id; - u64 requestor_id; - u64 responder_id; - u64 ip; -}; - -struct cper_ia_proc_ctx { - u16 reg_ctx_type; - u16 reg_arr_size; - u32 msr_addr; - u64 mm_reg_addr; -}; - -struct cper_record_header { - char signature[4]; - u16 revision; - u32 signature_end; - u16 section_count; - u32 error_severity; - u32 validation_bits; - u32 record_length; - u64 timestamp; - guid_t platform_id; - guid_t partition_id; - guid_t creator_id; - guid_t notification_type; - u64 record_id; - u32 flags; - u64 persistence_information; - u8 reserved[12]; -} __attribute__((packed)); - -struct cper_section_descriptor { - u32 section_offset; - u32 section_length; - u16 revision; - u8 validation_bits; - u8 reserved; - u32 flags; - guid_t section_type; - guid_t fru_id; - u32 section_severity; - u8 fru_text[20]; -}; - -struct mce { - __u64 status; - __u64 misc; - __u64 addr; - __u64 mcgstatus; - __u64 ip; - __u64 tsc; - __u64 time; - __u8 cpuvendor; - __u8 inject_flags; - __u8 severity; - __u8 pad; - __u32 cpuid; - __u8 cs; - __u8 bank; - __u8 cpu; - __u8 finished; - __u32 extcpu; - __u32 socketid; - __u32 apicid; - __u64 mcgcap; - __u64 synd; - __u64 ipid; - __u64 ppin; - __u32 microcode; - __u64 kflags; -}; - -struct cper_mce_record { - struct cper_record_header hdr; - struct cper_section_descriptor sec_hdr; - struct mce mce; -}; - -struct cper_mem_err_compact { - u64 validation_bits; - u16 node; - u16 card; - u16 module; - u16 bank; - u16 device; - u16 row; - u16 column; - u16 bit_pos; - u64 requestor_id; - u64 responder_id; - u64 target_id; - u16 rank; - u16 mem_array_handle; - u16 mem_dev_handle; - u8 extended; -} __attribute__((packed)); - -struct cper_pstore_record { - struct cper_record_header hdr; - struct cper_section_descriptor sec_hdr; - char data[0]; -}; - -struct cper_sec_fw_err_rec_ref { - u8 record_type; - u8 revision; - u8 reserved[6]; - u64 record_identifier; - guid_t record_identifier_guid; -}; - -struct cper_sec_mem_err { - u64 validation_bits; - u64 error_status; - u64 physical_addr; - u64 physical_addr_mask; - u16 node; - u16 card; - u16 module; - u16 bank; - u16 device; - u16 row; - u16 column; - u16 bit_pos; - u64 requestor_id; - u64 responder_id; - u64 target_id; - u8 error_type; - u8 extended; - u16 rank; - u16 mem_array_handle; - u16 mem_dev_handle; -}; - -struct cper_sec_pcie { - u64 validation_bits; - u32 port_type; - struct { - u8 minor; - u8 major; - u8 reserved[2]; - } version; - u16 command; - u16 status; - u32 reserved; - struct { - u16 vendor_id; - u16 device_id; - u8 class_code[3]; - u8 function; - u8 device; - u16 segment; - u8 bus; - u8 secondary_bus; - u16 slot; - u8 reserved; - } __attribute__((packed)) device_id; - struct { - u32 lower; - u32 upper; - } serial_number; - struct { - u16 secondary_status; - u16 control; - } bridge; - u8 capability[60]; - u8 aer_info[96]; -}; - -struct cper_sec_proc_arm { - u32 validation_bits; - u16 err_info_num; - u16 context_info_num; - u32 section_length; - u8 affinity_level; - u8 reserved[3]; - u64 mpidr; - u64 midr; - u32 running_state; - u32 psci_state; -}; - -struct cper_sec_proc_generic { - u64 validation_bits; - u8 proc_type; - u8 proc_isa; - u8 proc_error_type; - u8 operation; - u8 flags; - u8 level; - u16 reserved; - u64 cpu_version; - char cpu_brand[128]; - u64 proc_id; - u64 target_addr; - u64 requestor_id; - u64 responder_id; - u64 ip; -}; - -struct cper_sec_proc_ia { - u64 validation_bits; - u64 lapic_id; - u8 cpuid[48]; -}; - -struct cpio_data { - void *data; - size_t size; - char name[18]; -}; - -struct cppc_perf_caps { - u32 guaranteed_perf; - u32 highest_perf; - u32 nominal_perf; - u32 lowest_perf; - u32 lowest_nonlinear_perf; - u32 lowest_freq; - u32 nominal_freq; - u32 energy_perf; - bool auto_sel; -}; - -struct cppc_perf_ctrls { - u32 max_perf; - u32 min_perf; - u32 desired_perf; - u32 energy_perf; -}; - -struct cppc_perf_fb_ctrs { - u64 reference; - u64 delivered; - u64 reference_perf; - u64 wraparound_time; -}; - -struct cppc_cpudata { - struct cppc_perf_caps perf_caps; - struct cppc_perf_ctrls perf_ctrls; - struct cppc_perf_fb_ctrs perf_fb_ctrs; - unsigned int shared_type; - cpumask_var_t shared_cpu_map; -}; - -struct cppc_pcc_data { - struct pcc_mbox_chan *pcc_channel; - bool pcc_channel_acquired; - unsigned int deadline_us; - unsigned int pcc_mpar; - unsigned int pcc_mrtt; - unsigned int pcc_nominal; - bool pending_pcc_write_cmd; - bool platform_owns_pcc; - unsigned int pcc_write_cnt; - struct rw_semaphore pcc_lock; - wait_queue_head_t pcc_write_wait_q; - ktime_t last_cmd_cmpl_time; - ktime_t last_mpar_reset; - int mpar_count; - int refcount; -}; - -struct cpu { - int node_id; - int hotpluggable; - struct device dev; -}; - -struct cpu_attr { - struct device_attribute attr; - const struct cpumask * const map; -}; - -struct cpu_cacheinfo { - struct cacheinfo *info_list; - unsigned int per_cpu_data_slice_size; - unsigned int num_levels; - unsigned int num_leaves; - bool cpu_map_populated; - bool early_ci_levels; -}; - -struct update_util_data { - void (*func)(struct update_util_data *, u64, unsigned int); -}; - -struct policy_dbs_info; - -struct cpu_dbs_info { - u64 prev_cpu_idle; - u64 prev_update_time; - u64 prev_cpu_nice; - unsigned int prev_load; - struct update_util_data update_util; - struct policy_dbs_info *policy_dbs; -}; - -struct cpuinfo_x86; - -struct cpu_dev { - const char *c_vendor; - const char *c_ident[2]; - void (*c_early_init)(struct cpuinfo_x86 *); - void (*c_bsp_init)(struct cpuinfo_x86 *); - void (*c_init)(struct cpuinfo_x86 *); - void (*c_identify)(struct cpuinfo_x86 *); - void (*c_detect_tlb)(struct cpuinfo_x86 *); - int c_x86_vendor; -}; - -struct cpu_down_work { - unsigned int cpu; - enum cpuhp_state target; -}; - -struct entry_stack { - char stack[4096]; -}; - -struct entry_stack_page { - struct entry_stack stack; -}; - -struct x86_hw_tss { - u32 reserved1; - u64 sp0; - u64 sp1; - u64 sp2; - u64 reserved2; - u64 ist[7]; - u32 reserved3; - u32 reserved4; - u16 reserved5; - u16 io_bitmap_base; -} __attribute__((packed)); - -struct x86_io_bitmap { - u64 prev_sequence; - unsigned int prev_max; - long unsigned int bitmap[1025]; - long unsigned int mapall[1025]; -}; - -struct tss_struct { - struct x86_hw_tss x86_tss; - struct x86_io_bitmap io_bitmap; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct debug_store_buffers { - char bts_buffer[65536]; - char pebs_buffer[65536]; -}; - -struct cpu_entry_area { - char gdt[4096]; - struct entry_stack_page entry_stack_page; - struct tss_struct tss; - struct cea_exception_stacks estacks; - struct debug_store cpu_debug_store; - struct debug_store_buffers cpu_debug_buffers; -}; - -struct folio_batch { - unsigned char nr; - unsigned char i; - bool percpu_pvec_drained; - struct folio *folios[31]; -}; - -struct cpu_fbatches { - local_lock_t lock; - struct folio_batch lru_add; - struct folio_batch lru_deactivate_file; - struct folio_batch lru_deactivate; - struct folio_batch lru_lazyfree; - struct folio_batch lru_activate; - local_lock_t lock_irq; - struct folio_batch lru_move_tail; -}; - -struct perf_branch_entry { - __u64 from; - __u64 to; - __u64 mispred: 1; - __u64 predicted: 1; - __u64 in_tx: 1; - __u64 abort: 1; - __u64 cycles: 16; - __u64 type: 4; - __u64 spec: 2; - __u64 new_type: 4; - __u64 priv: 3; - __u64 reserved: 31; -}; - -struct perf_branch_stack { - u64 nr; - u64 hw_idx; - struct perf_branch_entry entries[0]; -}; - -struct perf_guest_switch_msr { - unsigned int msr; - u64 host; - u64 guest; -}; - -struct er_account; - -struct intel_shared_regs; - -struct intel_excl_cntrs; - -struct cpu_hw_events { - struct perf_event *events[64]; - long unsigned int active_mask[1]; - long unsigned int dirty[1]; - int enabled; - int n_events; - int n_added; - int n_txn; - int n_txn_pair; - int n_txn_metric; - int assign[64]; - u64 tags[64]; - struct perf_event *event_list[64]; - struct event_constraint *event_constraint[64]; - int n_excl; - int n_late_setup; - unsigned int txn_flags; - int is_fake; - struct debug_store *ds; - void *ds_pebs_vaddr; - void *ds_bts_vaddr; - u64 pebs_enabled; - int n_pebs; - int n_large_pebs; - int n_pebs_via_pt; - int pebs_output; - u64 pebs_data_cfg; - u64 active_pebs_data_cfg; - int pebs_record_size; - u64 fixed_ctrl_val; - u64 active_fixed_ctrl_val; - u64 acr_cfg_b[64]; - u64 acr_cfg_c[64]; - int lbr_users; - int lbr_pebs_users; - struct perf_branch_stack lbr_stack; - struct perf_branch_entry lbr_entries[32]; - u64 lbr_counters[32]; - union { - struct er_account *lbr_sel; - struct er_account *lbr_ctl; - }; - u64 br_sel; - void *last_task_ctx; - int last_log_id; - int lbr_select; - void *lbr_xsave; - u64 intel_ctrl_guest_mask; - u64 intel_ctrl_host_mask; - struct perf_guest_switch_msr guest_switch_msrs[64]; - u64 intel_cp_status; - struct intel_shared_regs *shared_regs; - struct event_constraint *constraint_list; - struct intel_excl_cntrs *excl_cntrs; - int excl_thread_id; - u64 tfa_shadow; - int n_metric; - struct amd_nb *amd_nb; - int brs_active; - u64 perf_ctr_virt_mask; - int n_pair; - void *kfree_on_online[2]; - struct pmu *pmu; -}; - -struct cpu_id { - __u8 x86; - __u8 x86_model; - __u8 x86_stepping; -}; - -struct cpu_itimer { - u64 expires; - u64 incr; -}; - -struct cpu_map_ret { - u32 xdp_n; - u32 skb_n; -}; - -struct cpufreq_frequency_table; - -struct cpu_model { - const struct cpu_id *cpu_id; - const char *model_name; - unsigned int max_freq; - struct cpufreq_frequency_table *op_points; -}; - -struct cpu_perf_ibs { - struct perf_event *event; - long unsigned int state[1]; -}; - -struct cpu_rmap { - struct kref refcount; - u16 size; - void **obj; - struct { - u16 index; - u16 dist; - } near[0]; -}; - -struct cpu_signature { - unsigned int sig; - unsigned int pf; - unsigned int rev; -}; - -struct cpu_stop_done { - atomic_t nr_todo; - int ret; - struct completion completion; -}; - -typedef int (*cpu_stop_fn_t)(void *); - -struct cpu_stop_work { - struct list_head list; - cpu_stop_fn_t fn; - long unsigned int caller; - void *arg; - struct cpu_stop_done *done; -}; - -struct cpu_stopper { - struct task_struct *thread; - raw_spinlock_t lock; - bool enabled; - struct list_head works; - struct cpu_stop_work stop_work; - long unsigned int caller; - cpu_stop_fn_t fn; -}; - -struct cpu_timer { - struct timerqueue_node node; - struct timerqueue_head *head; - struct pid *pid; - struct list_head elist; - bool firing; - bool nanosleep; - struct task_struct *handling; -}; - -struct cpu_user_regs { - uint64_t r15; - uint64_t r14; - uint64_t r13; - uint64_t r12; - union { - uint64_t rbp; - uint64_t ebp; - uint32_t _ebp; - }; - union { - uint64_t rbx; - uint64_t ebx; - uint32_t _ebx; - }; - uint64_t r11; - uint64_t r10; - uint64_t r9; - uint64_t r8; - union { - uint64_t rax; - uint64_t eax; - uint32_t _eax; - }; - union { - uint64_t rcx; - uint64_t ecx; - uint32_t _ecx; - }; - union { - uint64_t rdx; - uint64_t edx; - uint32_t _edx; - }; - union { - uint64_t rsi; - uint64_t esi; - uint32_t _esi; - }; - union { - uint64_t rdi; - uint64_t edi; - uint32_t _edi; - }; - uint32_t error_code; - uint32_t entry_vector; - union { - uint64_t rip; - uint64_t eip; - uint32_t _eip; - }; - uint16_t cs; - uint16_t _pad0[1]; - uint8_t saved_upcall_mask; - uint8_t _pad1[3]; - union { - uint64_t rflags; - uint64_t eflags; - uint32_t _eflags; - }; - union { - uint64_t rsp; - uint64_t esp; - uint32_t _esp; - }; - uint16_t ss; - uint16_t _pad2[3]; - uint16_t es; - uint16_t _pad3[3]; - uint16_t ds; - uint16_t _pad4[3]; - uint16_t fs; - uint16_t _pad5[3]; - uint16_t gs; - uint16_t _pad6[3]; -}; - -struct cpu_vfs_cap_data { - __u32 magic_etc; - kuid_t rootid; - kernel_cap_t permitted; - kernel_cap_t inheritable; -}; - -struct kernel_cpustat; - -struct cpuacct { - struct cgroup_subsys_state css; - u64 *cpuusage; - struct kernel_cpustat *cpustat; -}; - -struct pstate_data { - int current_pstate; - int min_pstate; - int max_pstate; - int max_pstate_physical; - int perf_ctl_scaling; - int scaling; - int turbo_pstate; - unsigned int min_freq; - unsigned int max_freq; - unsigned int turbo_freq; -}; - -struct vid_data { - int min; - int max; - int turbo; - int32_t ratio; -}; - -struct sample { - int32_t core_avg_perf; - int32_t busy_scaled; - u64 aperf; - u64 mperf; - u64 tsc; - u64 time; -}; - -struct cpudata { - int cpu; - unsigned int policy; - struct update_util_data update_util; - bool update_util_set; - struct pstate_data pstate; - struct vid_data vid; - u64 last_update; - u64 last_sample_time; - u64 aperf_mperf_shift; - u64 prev_aperf; - u64 prev_mperf; - u64 prev_tsc; - struct sample sample; - int32_t min_perf_ratio; - int32_t max_perf_ratio; - struct acpi_processor_performance acpi_perf_data; - bool valid_pss_table; - unsigned int iowait_boost; - s16 epp_powersave; - s16 epp_policy; - s16 epp_default; - s16 epp_cached; - u64 hwp_req_cached; - u64 hwp_cap_cached; - u64 last_io_update; - unsigned int capacity_perf; - unsigned int sched_flags; - u32 hwp_boost_min; - bool suspended; - bool pd_registered; - struct delayed_work hwp_notify_work; -}; - -struct cpudl_item; - -struct cpudl { - raw_spinlock_t lock; - int size; - cpumask_var_t free_cpus; - struct cpudl_item *elements; -}; - -struct cpudl_item { - u64 dl; - int cpu; - int idx; -}; - -struct cpufreq_cpuinfo { - unsigned int max_freq; - unsigned int min_freq; - unsigned int transition_latency; -}; - -struct cpufreq_policy; - -struct cpufreq_policy_data; - -struct freq_attr; - -struct cpufreq_driver { - char name[16]; - u16 flags; - void *driver_data; - int (*init)(struct cpufreq_policy *); - int (*verify)(struct cpufreq_policy_data *); - int (*setpolicy)(struct cpufreq_policy *); - int (*target)(struct cpufreq_policy *, unsigned int, unsigned int); - int (*target_index)(struct cpufreq_policy *, unsigned int); - unsigned int (*fast_switch)(struct cpufreq_policy *, unsigned int); - void (*adjust_perf)(unsigned int, long unsigned int, long unsigned int, long unsigned int); - unsigned int (*get_intermediate)(struct cpufreq_policy *, unsigned int); - int (*target_intermediate)(struct cpufreq_policy *, unsigned int); - unsigned int (*get)(unsigned int); - void (*update_limits)(struct cpufreq_policy *); - int (*bios_limit)(int, unsigned int *); - int (*online)(struct cpufreq_policy *); - int (*offline)(struct cpufreq_policy *); - void (*exit)(struct cpufreq_policy *); - int (*suspend)(struct cpufreq_policy *); - int (*resume)(struct cpufreq_policy *); - void (*ready)(struct cpufreq_policy *); - struct freq_attr **attr; - bool boost_enabled; - int (*set_boost)(struct cpufreq_policy *, int); - void (*register_em)(struct cpufreq_policy *); -}; - -struct cpufreq_freqs { - struct cpufreq_policy *policy; - unsigned int old; - unsigned int new; - u8 flags; -}; - -struct cpufreq_frequency_table { - unsigned int flags; - unsigned int driver_data; - unsigned int frequency; -}; - -struct cpufreq_governor { - char name[16]; - int (*init)(struct cpufreq_policy *); - void (*exit)(struct cpufreq_policy *); - int (*start)(struct cpufreq_policy *); - void (*stop)(struct cpufreq_policy *); - void (*limits)(struct cpufreq_policy *); - ssize_t (*show_setspeed)(struct cpufreq_policy *, char *); - int (*store_setspeed)(struct cpufreq_policy *, unsigned int); - struct list_head governor_list; - struct module *owner; - u8 flags; -}; - -typedef struct cpufreq_policy *class_cpufreq_policy_read_t; - -typedef struct cpufreq_policy *class_cpufreq_policy_write_t; - -struct plist_head { - struct list_head node_list; -}; - -struct pm_qos_constraints { - struct plist_head list; - s32 target_value; - s32 default_value; - s32 no_constraint_value; - enum pm_qos_type type; - struct blocking_notifier_head *notifiers; -}; - -struct freq_constraints { - struct pm_qos_constraints min_freq; - struct blocking_notifier_head min_freq_notifiers; - struct pm_qos_constraints max_freq; - struct blocking_notifier_head max_freq_notifiers; -}; - -struct cpufreq_stats; - -struct cpufreq_policy { - cpumask_var_t cpus; - cpumask_var_t related_cpus; - cpumask_var_t real_cpus; - unsigned int shared_type; - unsigned int cpu; - struct clk *clk; - struct cpufreq_cpuinfo cpuinfo; - unsigned int min; - unsigned int max; - unsigned int cur; - unsigned int suspend_freq; - unsigned int policy; - unsigned int last_policy; - struct cpufreq_governor *governor; - void *governor_data; - char last_governor[16]; - struct work_struct update; - struct freq_constraints constraints; - struct freq_qos_request *min_freq_req; - struct freq_qos_request *max_freq_req; - struct cpufreq_frequency_table *freq_table; - enum cpufreq_table_sorting freq_table_sorted; - struct list_head policy_list; - struct kobject kobj; - struct completion kobj_unregister; - struct rw_semaphore rwsem; - bool fast_switch_possible; - bool fast_switch_enabled; - bool strict_target; - bool efficiencies_available; - unsigned int transition_delay_us; - bool dvfs_possible_from_any_cpu; - bool boost_enabled; - bool boost_supported; - unsigned int cached_target_freq; - unsigned int cached_resolved_idx; - bool transition_ongoing; - spinlock_t transition_lock; - wait_queue_head_t transition_wait; - struct task_struct *transition_task; - struct cpufreq_stats *stats; - void *driver_data; - struct thermal_cooling_device *cdev; - struct notifier_block nb_min; - struct notifier_block nb_max; -}; - -struct cpufreq_policy_data { - struct cpufreq_cpuinfo cpuinfo; - struct cpufreq_frequency_table *freq_table; - unsigned int cpu; - unsigned int min; - unsigned int max; -}; - -struct cpufreq_stats { - unsigned int total_trans; - long long unsigned int last_time; - unsigned int max_state; - unsigned int state_num; - unsigned int last_index; - u64 *time_in_state; - unsigned int *freq_table; - unsigned int *trans_table; - unsigned int reset_pending; - long long unsigned int reset_time; -}; - -struct cpuhp_cpu_state { - enum cpuhp_state state; - enum cpuhp_state target; - enum cpuhp_state fail; - struct task_struct *thread; - bool should_run; - bool rollback; - bool single; - bool bringup; - struct hlist_node *node; - struct hlist_node *last; - enum cpuhp_state cb_state; - int result; - atomic_t ap_sync_state; - struct completion done_up; - struct completion done_down; -}; - -struct cpuhp_step { - const char *name; - union { - int (*single)(unsigned int); - int (*multi)(unsigned int, struct hlist_node *); - } startup; - union { - int (*single)(unsigned int); - int (*multi)(unsigned int, struct hlist_node *); - } teardown; - struct hlist_head list; - bool cant_stop; - bool multi_instance; -}; - -union cpuid10_eax { - struct { - unsigned int version_id: 8; - unsigned int num_counters: 8; - unsigned int bit_width: 8; - unsigned int mask_length: 8; - } split; - unsigned int full; -}; - -union cpuid10_ebx { - struct { - unsigned int no_unhalted_core_cycles: 1; - unsigned int no_instructions_retired: 1; - unsigned int no_unhalted_reference_cycles: 1; - unsigned int no_llc_reference: 1; - unsigned int no_llc_misses: 1; - unsigned int no_branch_instruction_retired: 1; - unsigned int no_branch_misses_retired: 1; - } split; - unsigned int full; -}; - -union cpuid10_edx { - struct { - unsigned int num_counters_fixed: 5; - unsigned int bit_width_fixed: 8; - unsigned int reserved1: 2; - unsigned int anythread_deprecated: 1; - unsigned int reserved2: 16; - } split; - unsigned int full; -}; - -union cpuid28_eax { - struct { - unsigned int lbr_depth_mask: 8; - unsigned int reserved: 22; - unsigned int lbr_deep_c_reset: 1; - unsigned int lbr_lip: 1; - } split; - unsigned int full; -}; - -union cpuid28_ebx { - struct { - unsigned int lbr_cpl: 1; - unsigned int lbr_filter: 1; - unsigned int lbr_call_stack: 1; - } split; - unsigned int full; -}; - -union cpuid28_ecx { - struct { - unsigned int lbr_mispred: 1; - unsigned int lbr_timed_lbr: 1; - unsigned int lbr_br_type: 1; - unsigned int reserved: 13; - unsigned int lbr_counters: 4; - } split; - unsigned int full; -}; - -union cpuid35_eax { - struct { - unsigned int leaf0: 1; - unsigned int cntr_subleaf: 1; - unsigned int acr_subleaf: 1; - unsigned int events_subleaf: 1; - unsigned int reserved: 28; - } split; - unsigned int full; -}; - -union cpuid35_ebx { - struct { - unsigned int umask2: 1; - unsigned int eq: 1; - unsigned int reserved: 30; - } split; - unsigned int full; -}; - -union hfi_capabilities { - struct { - u8 performance: 1; - u8 energy_efficiency: 1; - u8 __reserved: 6; - } split; - u8 bits; -}; - -union cpuid6_edx { - struct { - union hfi_capabilities capabilities; - u32 table_pages: 4; - u32 __reserved: 4; - s32 index: 16; - } split; - u32 full; -}; - -union cpuid_0x10_1_eax { - struct { - unsigned int cbm_len: 5; - } split; - unsigned int full; -}; - -union cpuid_0x10_3_eax { - struct { - unsigned int max_delay: 12; - } split; - unsigned int full; -}; - -union cpuid_0x10_x_ecx { - struct { - unsigned int reserved: 3; - unsigned int noncont: 1; - } split; - unsigned int full; -}; - -union cpuid_0x10_x_edx { - struct { - unsigned int cos_max: 16; - } split; - unsigned int full; -}; - -union cpuid_0x80000022_ebx { - struct { - unsigned int num_core_pmc: 4; - unsigned int lbr_v2_stack_sz: 6; - unsigned int num_df_pmc: 6; - unsigned int num_umc_pmc: 6; - } split; - unsigned int full; -}; - -union cpuid_1_eax { - struct { - __u32 stepping: 4; - __u32 model: 4; - __u32 family: 4; - __u32 __reserved0: 4; - __u32 ext_model: 4; - __u32 ext_fam: 8; - __u32 __reserved1: 4; - }; - __u32 full; -}; - -struct cpuid_bit { - u16 feature; - u8 reg; - u8 bit; - u32 level; - u32 sub_leaf; -}; - -struct cpuid_dep { - unsigned int feature; - unsigned int depends; -}; - -struct cpuid_dependent_feature { - u32 feature; - u32 level; -}; - -struct cpuid_leaf { - u32 fn; - u32 subfn; - u32 eax; - u32 ebx; - u32 ecx; - u32 edx; -}; - -struct cpuidle_device; - -struct cpuidle_attr { - struct attribute attr; - ssize_t (*show)(struct cpuidle_device *, char *); - ssize_t (*store)(struct cpuidle_device *, const char *, size_t); -}; - -struct cpuidle_state_usage { - long long unsigned int disable; - long long unsigned int usage; - u64 time_ns; - long long unsigned int above; - long long unsigned int below; - long long unsigned int rejected; - long long unsigned int s2idle_usage; - long long unsigned int s2idle_time; -}; - -struct cpuidle_driver_kobj; - -struct cpuidle_state_kobj; - -struct cpuidle_device_kobj; - -struct cpuidle_device { - unsigned int registered: 1; - unsigned int enabled: 1; - unsigned int poll_time_limit: 1; - unsigned int cpu; - ktime_t next_hrtimer; - int last_state_idx; - u64 last_residency_ns; - u64 poll_limit_ns; - u64 forced_idle_latency_limit_ns; - struct cpuidle_state_usage states_usage[10]; - struct cpuidle_state_kobj *kobjs[10]; - struct cpuidle_driver_kobj *kobj_driver; - struct cpuidle_device_kobj *kobj_dev; - struct list_head device_list; -}; - -struct cpuidle_device_kobj { - struct cpuidle_device *dev; - struct completion kobj_unregister; - struct kobject kobj; -}; - -struct cpuidle_driver; - -struct cpuidle_state { - char name[16]; - char desc[32]; - s64 exit_latency_ns; - s64 target_residency_ns; - unsigned int flags; - unsigned int exit_latency; - int power_usage; - unsigned int target_residency; - int (*enter)(struct cpuidle_device *, struct cpuidle_driver *, int); - void (*enter_dead)(struct cpuidle_device *, int); - int (*enter_s2idle)(struct cpuidle_device *, struct cpuidle_driver *, int); -}; - -struct cpuidle_driver { - const char *name; - struct module *owner; - unsigned int bctimer: 1; - struct cpuidle_state states[10]; - int state_count; - int safe_state_index; - struct cpumask *cpumask; - const char *governor; -}; - -struct cpuidle_governor { - char name[16]; - struct list_head governor_list; - unsigned int rating; - int (*enable)(struct cpuidle_driver *, struct cpuidle_device *); - void (*disable)(struct cpuidle_driver *, struct cpuidle_device *); - int (*select)(struct cpuidle_driver *, struct cpuidle_device *, bool *); - void (*reflect)(struct cpuidle_device *, int); -}; - -struct cpuidle_state_attr { - struct attribute attr; - ssize_t (*show)(struct cpuidle_state *, struct cpuidle_state_usage *, char *); - ssize_t (*store)(struct cpuidle_state *, struct cpuidle_state_usage *, const char *, size_t); -}; - -struct cpuidle_state_kobj { - struct cpuidle_state *state; - struct cpuidle_state_usage *state_usage; - struct completion kobj_unregister; - struct kobject kobj; - struct cpuidle_device *device; -}; - -struct cpuinfo_topology { - u32 apicid; - u32 initial_apicid; - u32 pkg_id; - u32 die_id; - u32 cu_id; - u32 core_id; - u32 logical_pkg_id; - u32 logical_die_id; - u32 logical_core_id; - u32 amd_node_id; - u32 llc_id; - u32 l2c_id; - union { - u32 cpu_type; - struct { - u32 intel_native_model_id: 24; - u32 intel_type: 8; - }; - struct { - u32 amd_num_processors: 16; - u32 amd_power_eff_ranking: 8; - u32 amd_native_model_id: 4; - u32 amd_type: 4; - }; - }; -}; - -struct cpuinfo_x86 { - union { - struct { - __u8 x86_model; - __u8 x86; - __u8 x86_vendor; - __u8 x86_reserved; - }; - __u32 x86_vfm; - }; - __u8 x86_stepping; - int x86_tlbsize; - __u32 vmx_capability[5]; - __u8 x86_virt_bits; - __u8 x86_phys_bits; - __u32 extended_cpuid_level; - int cpuid_level; - union { - __u32 x86_capability[24]; - long unsigned int x86_capability_alignment; - }; - char x86_vendor_id[16]; - char x86_model_id[64]; - struct cpuinfo_topology topo; - unsigned int x86_cache_size; - int x86_cache_alignment; - int x86_cache_max_rmid; - int x86_cache_occ_scale; - int x86_cache_mbm_width_offset; - int x86_power; - long unsigned int loops_per_jiffy; - u64 ppin; - u16 x86_clflush_size; - u16 booted_cores; - u16 cpu_index; - bool smt_active; - u32 microcode; - u8 x86_cache_bits; - unsigned int initialized: 1; -}; - -struct cpumap { - unsigned int available; - unsigned int allocated; - unsigned int managed; - unsigned int managed_allocated; - bool initialized; - bool online; - long unsigned int *managed_map; - long unsigned int alloc_map[0]; -}; - -union cpumask_rcuhead { - cpumask_t cpumask; - struct callback_head rcu; -}; - -struct cpupri_vec { - atomic_t count; - cpumask_var_t mask; -}; - -struct cpupri { - struct cpupri_vec pri_to_cpu[101]; - int *cpu_to_pri; -}; - -struct fmeter { - int cnt; - int val; - time64_t time; - spinlock_t lock; -}; - -struct uf_node { - struct uf_node *parent; - unsigned int rank; -}; - -struct cpuset { - struct cgroup_subsys_state css; - long unsigned int flags; - cpumask_var_t cpus_allowed; - nodemask_t mems_allowed; - cpumask_var_t effective_cpus; - nodemask_t effective_mems; - cpumask_var_t effective_xcpus; - cpumask_var_t exclusive_cpus; - nodemask_t old_mems_allowed; - struct fmeter fmeter; - int attach_in_progress; - int relax_domain_level; - int nr_subparts; - int partition_root_state; - int nr_deadline_tasks; - int nr_migrate_dl_tasks; - u64 sum_migrate_dl_bw; - enum prs_errcode prs_err; - struct cgroup_file partition_file; - struct list_head remote_sibling; - struct uf_node node; -}; - -struct cpuset_migrate_mm_work { - struct work_struct work; - struct mm_struct *mm; - nodemask_t from; - nodemask_t to; -}; - -struct cpuset_remove_tasks_struct { - struct work_struct work; - struct cpuset *cs; -}; - -struct range { - u64 start; - u64 end; -}; - -struct crash_mem { - unsigned int max_nr_ranges; - unsigned int nr_ranges; - struct range ranges[0]; -}; - -struct crash_memmap_data { - struct boot_params *params; - unsigned int type; -}; - -struct crb_regs_head; - -struct crb_regs_tail; - -struct crb_priv { - u32 sm; - const char *hid; - struct crb_regs_head *regs_h; - struct crb_regs_tail *regs_t; - u8 *cmd; - u8 *rsp; - u32 cmd_size; - u32 smc_func_id; - u32 *pluton_start_addr; - u32 *pluton_reply_addr; - u8 ffa_flags; - u8 ffa_attributes; -}; - -struct crb_regs_head { - u32 loc_state; - u32 reserved1; - u32 loc_ctrl; - u32 loc_sts; - u8 reserved2[32]; - u64 intf_id; - u64 ctrl_ext; -}; - -struct crb_regs_tail { - u32 ctrl_req; - u32 ctrl_sts; - u32 ctrl_cancel; - u32 ctrl_start; - u32 ctrl_int_enable; - u32 ctrl_int_sts; - u32 ctrl_cmd_size; - u32 ctrl_cmd_pa_low; - u32 ctrl_cmd_pa_high; - u32 ctrl_rsp_size; - u64 ctrl_rsp_pa; -}; - -struct crc64_pi_tuple { - __be64 guard_tag; - __be16 app_tag; - __u8 ref_tag[6]; -}; - -struct crc_data { - struct task_struct *thr; - atomic_t ready; - atomic_t stop; - unsigned int run_threads; - wait_queue_head_t go; - wait_queue_head_t done; - u32 *crc32; - size_t *unc_len[3]; - unsigned char *unc[3]; -}; - -struct group_info; - -struct cred { - atomic_long_t usage; - kuid_t uid; - kgid_t gid; - kuid_t suid; - kgid_t sgid; - kuid_t euid; - kgid_t egid; - kuid_t fsuid; - kgid_t fsgid; - unsigned int securebits; - kernel_cap_t cap_inheritable; - kernel_cap_t cap_permitted; - kernel_cap_t cap_effective; - kernel_cap_t cap_bset; - kernel_cap_t cap_ambient; - unsigned char jit_keyring; - struct key *session_keyring; - struct key *process_keyring; - struct key *thread_keyring; - struct key *request_key_auth; - void *security; - struct user_struct *user; - struct user_namespace *user_ns; - struct ucounts *ucounts; - struct group_info *group_info; - union { - int non_rcu; - struct callback_head rcu; - }; -}; - -struct cred_label { - const struct cred *cred; - struct aa_label *label; -}; - -struct cred_security_struct { - u32 osid; - u32 sid; - u32 exec_sid; - u32 create_sid; - u32 keycreate_sid; - u32 sockcreate_sid; -}; - -struct crng { - u8 key[32]; - long unsigned int generation; - local_lock_t lock; -}; - -struct crs_csi2 { - struct list_head entry; - acpi_handle handle; - struct acpi_device_software_nodes *swnodes; - struct list_head connections; - u32 port_count; -}; - -struct crs_csi2_connection { - struct list_head entry; - struct acpi_resource_csi2_serialbus csi2_data; - acpi_handle remote_handle; - char remote_name[0]; -}; - -struct crypto_tfm { - refcount_t refcnt; - u32 crt_flags; - int node; - struct crypto_tfm *fb; - void (*exit)(struct crypto_tfm *); - struct crypto_alg *__crt_alg; - void *__crt_ctx[0]; -}; - -struct crypto_acomp { - int (*compress)(struct acomp_req *); - int (*decompress)(struct acomp_req *); - unsigned int reqsize; - struct crypto_tfm base; -}; - -struct crypto_wait { - struct completion completion; - int err; -}; - -struct crypto_acomp_ctx { - struct crypto_acomp *acomp; - struct acomp_req *req; - struct crypto_wait wait; - u8 *buffer; - struct mutex mutex; - bool is_sleepable; -}; - -struct crypto_acomp_stream { - spinlock_t lock; - void *ctx; -}; - -struct crypto_acomp_streams { - void * (*alloc_ctx)(void); - void (*free_ctx)(void *); - struct crypto_acomp_stream *streams; - struct work_struct stream_work; - cpumask_t stream_want; -}; - -struct crypto_aead { - unsigned int authsize; - unsigned int reqsize; - struct crypto_tfm base; -}; - -struct crypto_spawn { - struct list_head list; - struct crypto_alg *alg; - union { - struct crypto_instance *inst; - struct crypto_spawn *next; - }; - const struct crypto_type *frontend; - u32 mask; - bool dead; - bool registered; -}; - -struct crypto_aead_spawn { - struct crypto_spawn base; -}; - -struct crypto_ahash { - bool using_shash; - unsigned int statesize; - unsigned int reqsize; - struct crypto_tfm base; -}; - -struct crypto_ahash_spawn { - struct crypto_spawn base; -}; - -struct crypto_akcipher { - unsigned int reqsize; - struct crypto_tfm base; -}; - -struct crypto_akcipher_spawn { - struct crypto_spawn base; -}; - -struct crypto_akcipher_sync_data { - struct crypto_akcipher *tfm; - const void *src; - void *dst; - unsigned int slen; - unsigned int dlen; - struct akcipher_request *req; - struct crypto_wait cwait; - struct scatterlist sg; - u8 *buf; -}; - -struct crypto_attr_alg { - char name[128]; -}; - -struct crypto_attr_type { - u32 type; - u32 mask; -}; - -struct crypto_cipher { - struct crypto_tfm base; -}; - -struct crypto_cipher_spawn { - struct crypto_spawn base; -}; - -struct crypto_cts_ctx { - struct crypto_skcipher *child; -}; - -struct skcipher_request { - unsigned int cryptlen; - u8 *iv; - struct scatterlist *src; - struct scatterlist *dst; - struct crypto_async_request base; - void *__ctx[0]; -}; - -struct crypto_cts_reqctx { - struct scatterlist sg[2]; - unsigned int offset; - struct skcipher_request subreq; -}; - -struct crypto_gcm_ctx { - struct crypto_skcipher *ctr; - struct crypto_ahash *ghash; -}; - -struct crypto_gcm_ghash_ctx { - unsigned int cryptlen; - struct scatterlist *src; - int (*complete)(struct aead_request *, u32); -}; - -struct crypto_gcm_req_priv_ctx { - u8 iv[16]; - u8 auth_tag[16]; - u8 iauth_tag[16]; - struct scatterlist src[3]; - struct scatterlist dst[3]; - struct scatterlist sg; - struct crypto_gcm_ghash_ctx ghash_ctx; - union { - struct ahash_request ahreq; - struct skcipher_request skreq; - } u; -}; - -struct crypto_hash_walk { - const char *data; - unsigned int offset; - unsigned int flags; - struct page *pg; - unsigned int entrylen; - unsigned int total; - struct scatterlist *sg; -}; - -struct crypto_kpp { - unsigned int reqsize; - struct crypto_tfm base; -}; - -struct crypto_kpp_spawn { - struct crypto_spawn base; -}; - -struct crypto_larval { - struct crypto_alg alg; - struct crypto_alg *adult; - struct completion completion; - u32 mask; - bool test_started; -}; - -struct crypto_lskcipher { - struct crypto_tfm base; -}; - -struct crypto_lskcipher_spawn { - struct crypto_spawn base; -}; - -struct crypto_queue { - struct list_head list; - struct list_head *backlog; - unsigned int qlen; - unsigned int max_qlen; -}; - -struct crypto_report_acomp { - char type[64]; -}; - -struct crypto_report_aead { - char type[64]; - char geniv[64]; - unsigned int blocksize; - unsigned int maxauthsize; - unsigned int ivsize; -}; - -struct crypto_report_akcipher { - char type[64]; -}; - -struct crypto_report_blkcipher { - char type[64]; - char geniv[64]; - unsigned int blocksize; - unsigned int min_keysize; - unsigned int max_keysize; - unsigned int ivsize; -}; - -struct crypto_report_comp { - char type[64]; -}; - -struct crypto_report_hash { - char type[64]; - unsigned int blocksize; - unsigned int digestsize; -}; - -struct crypto_report_kpp { - char type[64]; -}; - -struct crypto_report_rng { - char type[64]; - unsigned int seedsize; -}; - -struct crypto_report_sig { - char type[64]; -}; - -struct crypto_rfc3686_ctx { - struct crypto_skcipher *child; - u8 nonce[4]; -}; - -struct crypto_rfc3686_req_ctx { - u8 iv[16]; - struct skcipher_request subreq; -}; - -struct crypto_rfc4106_ctx { - struct crypto_aead *child; - u8 nonce[4]; -}; - -struct crypto_rfc4106_req_ctx { - struct scatterlist src[3]; - struct scatterlist dst[3]; - struct aead_request subreq; -}; - -struct crypto_rfc4543_ctx { - struct crypto_aead *child; - u8 nonce[4]; -}; - -struct crypto_rfc4543_instance_ctx { - struct crypto_aead_spawn aead; -}; - -struct crypto_rfc4543_req_ctx { - struct aead_request subreq; -}; - -struct crypto_rng { - struct crypto_tfm base; -}; - -struct crypto_scomp { - struct crypto_tfm base; -}; - -struct crypto_shash { - struct crypto_tfm base; -}; - -struct crypto_shash_spawn { - struct crypto_spawn base; -}; - -struct crypto_sig { - struct crypto_tfm base; -}; - -struct crypto_sig_spawn { - struct crypto_spawn base; -}; - -struct crypto_skcipher { - unsigned int reqsize; - struct crypto_tfm base; -}; - -struct crypto_skcipher_spawn { - struct crypto_spawn base; -}; - -struct crypto_sync_skcipher { - struct crypto_skcipher base; -}; - -struct rtattr; - -struct crypto_template { - struct list_head list; - struct hlist_head instances; - struct hlist_head dead; - struct module *module; - struct work_struct free_work; - int (*create)(struct crypto_template *, struct rtattr **); - char name[128]; -}; - -struct crypto_test_param { - char driver[128]; - char alg[128]; - u32 type; -}; - -struct crypto_type { - unsigned int (*ctxsize)(struct crypto_alg *, u32, u32); - unsigned int (*extsize)(struct crypto_alg *); - int (*init_tfm)(struct crypto_tfm *); - void (*show)(struct seq_file *, struct crypto_alg *); - int (*report)(struct sk_buff *, struct crypto_alg *); - void (*free)(struct crypto_instance *); - void (*destroy)(struct crypto_alg *); - unsigned int type; - unsigned int maskclear; - unsigned int maskset; - unsigned int tfmsize; - unsigned int algsize; -}; - -struct rtattr { - short unsigned int rta_len; - short unsigned int rta_type; -}; - -struct cryptomgr_param { - struct rtattr *tb[34]; - struct { - struct rtattr attr; - struct crypto_attr_type data; - } type; - struct { - struct rtattr attr; - struct crypto_attr_alg data; - } attrs[32]; - char template[128]; - struct crypto_larval *larval; - u32 otype; - u32 omask; -}; - -struct crystal_cove_config { - long unsigned int irq_flags; - struct mfd_cell *cell_dev; - int n_cell_devs; - const struct regmap_config *regmap_config; - const struct regmap_irq_chip *irq_chip; -}; - -struct crystalcove_gpio { - struct mutex buslock; - struct gpio_chip chip; - struct regmap *regmap; - int update; - int intcnt_value; - bool set_irq_mask; -}; - -struct crystalcove_pwm { - struct regmap *regmap; -}; - -struct cs_dbs_tuners { - unsigned int down_threshold; - unsigned int freq_step; -}; - -struct dbs_data; - -struct policy_dbs_info { - struct cpufreq_policy *policy; - struct mutex update_mutex; - u64 last_sample_time; - s64 sample_delay_ns; - atomic_t work_count; - struct irq_work irq_work; - struct work_struct work; - struct dbs_data *dbs_data; - struct list_head list; - unsigned int rate_mult; - unsigned int idle_periods; - bool is_shared; - bool work_in_progress; -}; - -struct cs_policy_dbs_info { - struct policy_dbs_info policy_dbs; - unsigned int down_skip; - unsigned int requested_freq; -}; - -struct csi2_resources_walk_data { - acpi_handle handle; - struct list_head connections; -}; - -struct mem_ctl_info; - -struct rank_info; - -struct csrow_info { - struct device dev; - long unsigned int first_page; - long unsigned int last_page; - long unsigned int page_mask; - int csrow_idx; - u32 ue_count; - u32 ce_count; - struct mem_ctl_info *mci; - u32 nr_channels; - struct rank_info **channels; -}; - -struct css_rstat_cpu { - struct cgroup_subsys_state *updated_children; - struct cgroup_subsys_state *updated_next; - struct llist_node lnode; - struct cgroup_subsys_state *owner; -}; - -struct css_set { - struct cgroup_subsys_state *subsys[15]; - refcount_t refcount; - struct css_set *dom_cset; - struct cgroup *dfl_cgrp; - int nr_tasks; - struct list_head tasks; - struct list_head mg_tasks; - struct list_head dying_tasks; - struct list_head task_iters; - struct list_head e_cset_node[15]; - struct list_head threaded_csets; - struct list_head threaded_csets_node; - struct hlist_node hlist; - struct list_head cgrp_links; - struct list_head mg_src_preload_node; - struct list_head mg_dst_preload_node; - struct list_head mg_node; - struct cgroup *mg_src_cgrp; - struct cgroup *mg_dst_cgrp; - struct css_set *mg_dst_cset; - bool dead; - struct callback_head callback_head; -}; - -struct css_set__safe_rcu { - struct cgroup *dfl_cgrp; -}; - -struct iphdr { - __u8 ihl: 4; - __u8 version: 4; - __u8 tos; - __be16 tot_len; - __be16 id; - __be16 frag_off; - __u8 ttl; - __u8 protocol; - __sum16 check; - union { - struct { - __be32 saddr; - __be32 daddr; - }; - struct { - __be32 saddr; - __be32 daddr; - } addrs; - }; -}; - -struct tcphdr { - __be16 source; - __be16 dest; - __be32 seq; - __be32 ack_seq; - __u16 ae: 1; - __u16 res1: 3; - __u16 doff: 4; - __u16 fin: 1; - __u16 syn: 1; - __u16 rst: 1; - __u16 psh: 1; - __u16 ack: 1; - __u16 urg: 1; - __u16 ece: 1; - __u16 cwr: 1; - __be16 window; - __sum16 check; - __be16 urg_ptr; -}; - -struct cstate { - byte_t cs_this; - bool initialized; - struct cstate *next; - struct iphdr cs_ip; - struct tcphdr cs_tcp; - unsigned char cs_ipopt[64]; - unsigned char cs_tcpopt[64]; - int cs_hsize; -}; - -struct cstate___2 { - int state; - uint32_t rep0; - uint32_t rep1; - uint32_t rep2; - uint32_t rep3; -}; - -struct cstate_entry { - struct { - unsigned int eax; - unsigned int ecx; - } states[8]; -}; - -struct csum_pseudo_header { - __be64 data_seq; - __be32 subflow_seq; - __be16 data_len; - __sum16 csum; -}; - -struct csum_state { - __wsum csum; - size_t off; -}; - -struct ct_data_s { - union { - ush freq; - ush code; - } fc; - union { - ush dad; - ush len; - } dl; -}; - -typedef struct ct_data_s ct_data; - -struct ctl_table_root; - -struct ctl_table_set; - -struct ctl_dir; - -struct ctl_node; - -struct ctl_table_header { - union { - struct { - const struct ctl_table *ctl_table; - int ctl_table_size; - int used; - int count; - int nreg; - }; - struct callback_head rcu; - }; - struct completion *unregistering; - const struct ctl_table *ctl_table_arg; - struct ctl_table_root *root; - struct ctl_table_set *set; - struct ctl_dir *parent; - struct ctl_node *node; - struct hlist_head inodes; - enum { - SYSCTL_TABLE_TYPE_DEFAULT = 0, - SYSCTL_TABLE_TYPE_PERMANENTLY_EMPTY = 1, - } type; -}; - -struct ctl_dir { - struct ctl_table_header header; - struct rb_root root; -}; - -struct edac_device_ctl_info; - -struct ctl_info_attribute { - struct attribute attr; - ssize_t (*show)(struct edac_device_ctl_info *, char *); - ssize_t (*store)(struct edac_device_ctl_info *, const char *, size_t); -}; - -struct ctl_node { - struct rb_node node; - struct ctl_table_header *header; -}; - -typedef int proc_handler(const struct ctl_table *, int, void *, size_t *, loff_t *); - -struct ctl_table_poll; - -struct ctl_table { - const char *procname; - void *data; - int maxlen; - umode_t mode; - proc_handler *proc_handler; - struct ctl_table_poll *poll; - void *extra1; - void *extra2; -}; - -struct ctl_table_poll { - atomic_t event; - wait_queue_head_t wait; -}; - -struct ctl_table_set { - int (*is_seen)(struct ctl_table_set *); - struct ctl_dir dir; -}; - -struct ctl_table_root { - struct ctl_table_set default_set; - struct ctl_table_set * (*lookup)(struct ctl_table_root *); - void (*set_ownership)(struct ctl_table_header *, kuid_t *, kgid_t *); - int (*permissions)(struct ctl_table_header *, const struct ctl_table *); -}; - -struct netlink_policy_dump_state; - -struct genl_family; - -struct genl_op_iter; - -struct ctrl_dump_policy_ctx { - struct netlink_policy_dump_state *state; - const struct genl_family *rt; - struct genl_op_iter *op_iter; - u32 op; - u16 fam_id; - u8 dump_map: 1; - u8 single_op: 1; -}; - -struct ctrl_pos { - long unsigned int refaulted; - long unsigned int total; - int gain; -}; - -struct ctx_rq_wait { - struct completion comp; - atomic_t count; -}; - -struct ctx_switch_entry { - struct trace_entry ent; - unsigned int prev_pid; - unsigned int next_pid; - unsigned int next_cpu; - unsigned char prev_prio; - unsigned char prev_state; - unsigned char next_prio; - unsigned char next_state; -}; - -struct cvt_timing { - u8 code[3]; -}; - -struct cxl_event_record_hdr { - u8 length; - u8 flags[3]; - __le16 handle; - __le16 related_handle; - __le64 timestamp; - u8 maint_op_class; - u8 maint_op_sub_class; - __le16 ld_id; - u8 head_id; - u8 reserved[11]; -}; - -struct cxl_event_generic { - struct cxl_event_record_hdr hdr; - u8 data[80]; -}; - -struct cxl_event_media_hdr { - struct cxl_event_record_hdr hdr; - __le64 phys_addr; - u8 descriptor; - u8 type; - u8 transaction_type; - u8 validity_flags[2]; - u8 channel; - u8 rank; -} __attribute__((packed)); - -struct cxl_event_gen_media { - struct cxl_event_media_hdr media_hdr; - u8 device[3]; - u8 component_id[16]; - u8 cme_threshold_ev_flags; - u8 cme_count[3]; - u8 sub_type; - u8 reserved[41]; -}; - -struct cxl_event_dram { - struct cxl_event_media_hdr media_hdr; - u8 nibble_mask[3]; - u8 bank_group; - u8 bank; - u8 row[3]; - u8 column[2]; - u8 correction_mask[32]; - u8 component_id[16]; - u8 sub_channel; - u8 cme_threshold_ev_flags; - u8 cvme_count[3]; - u8 sub_type; - u8 reserved; -}; - -struct cxl_get_health_info { - u8 health_status; - u8 media_status; - u8 add_status; - u8 life_used; - u8 device_temp[2]; - u8 dirty_shutdown_cnt[4]; - u8 cor_vol_err_cnt[4]; - u8 cor_per_err_cnt[4]; -}; - -struct cxl_event_mem_module { - struct cxl_event_record_hdr hdr; - u8 event_type; - struct cxl_get_health_info info; - u8 validity_flags[2]; - u8 component_id[16]; - u8 event_sub_type; - u8 reserved[42]; -}; - -struct cxl_event_mem_sparing { - struct cxl_event_record_hdr hdr; - u8 rsv1; - u8 rsv2; - u8 flags; - u8 result; - __le16 validity_flags; - u8 reserved1[6]; - __le16 res_avail; - u8 channel; - u8 rank; - u8 nibble_mask[3]; - u8 bank_group; - u8 bank; - u8 row[3]; - __le16 column; - u8 component_id[16]; - u8 sub_channel; - u8 reserved2[37]; -}; - -union cxl_event { - struct cxl_event_generic generic; - struct cxl_event_gen_media gen_media; - struct cxl_event_dram dram; - struct cxl_event_mem_module mem_module; - struct cxl_event_mem_sparing mem_sparing; - struct cxl_event_media_hdr media_hdr; -}; - -struct cxl_cper_event_rec { - struct { - u32 length; - u64 validation_bits; - struct cper_cxl_event_devid device_id; - struct cper_cxl_event_sn dev_serial_num; - } __attribute__((packed)) hdr; - union cxl_event event; -}; - -struct cxl_cper_sec_prot_err { - u64 valid_bits; - u8 agent_type; - u8 reserved[7]; - union { - u64 rcrb_base_addr; - struct { - u8 function; - u8 device; - u8 bus; - u16 segment; - u8 reserved_1[3]; - } __attribute__((packed)); - } agent_addr; - struct { - u16 vendor_id; - u16 device_id; - u16 subsystem_vendor_id; - u16 subsystem_id; - u8 class_code[2]; - u16 slot; - u8 reserved_1[4]; - } device_id; - struct { - u32 lower_dw; - u32 upper_dw; - } dev_serial_num; - u8 capability[60]; - u16 dvsec_len; - u16 err_len; - u8 reserved_2[4]; -} __attribute__((packed)); - -struct cxl_ras_capability_regs { - u32 uncor_status; - u32 uncor_mask; - u32 uncor_severity; - u32 cor_status; - u32 cor_mask; - u32 cap_control; - u32 header_log[16]; -}; - -struct cxl_cper_prot_err_work_data { - struct cxl_cper_sec_prot_err prot_err; - struct cxl_ras_capability_regs ras_cap; - int severity; -}; - -struct cxl_cper_work_data { - enum cxl_event_type event_type; - struct cxl_cper_event_rec rec; -} __attribute__((packed)); - -struct cxl_mbox_cmd_rc { - int err; - const char *desc; -}; - -struct cyc2ns_data { - u32 cyc2ns_mul; - u32 cyc2ns_shift; - u64 cyc2ns_offset; -}; - -struct cyc2ns { - struct cyc2ns_data data[2]; - seqcount_latch_t seq; -}; - -struct cyclecounter { - u64 (*read)(struct cyclecounter *); - u64 mask; - u32 mult; - u32 shift; -}; - -struct d0_features { - __be16 code; - u8 r_version; - u8 length; - u8 features[0]; -}; - -struct d0_geometry_features { - u8 header[4]; - u8 reserved01; - u8 reserved02[7]; - __be32 logical_block_size; - __be64 alignment_granularity; - __be64 lowest_aligned_lba; -}; - -struct d0_header { - __be32 length; - __be32 revision; - __be32 reserved01; - __be32 reserved02; - u8 ignored[32]; -}; - -struct d0_locking_features { - u8 supported_features; - u8 reserved01[3]; - __be32 reserved02; - __be32 reserved03; -}; - -struct d0_opal_v100 { - __be16 baseComID; - __be16 numComIDs; -}; - -struct d0_opal_v200 { - __be16 baseComID; - __be16 numComIDs; - u8 range_crossing; - u8 num_locking_admin_auth[2]; - u8 num_locking_user_auth[2]; - u8 initialPIN; - u8 revertedPIN; - u8 reserved01; - __be32 reserved02; -}; - -struct d0_single_user_mode { - __be32 num_locking_objects; - u8 reserved01; - u8 reserved02; - __be16 reserved03; - __be32 reserved04; -}; - -struct d0_tper_features { - u8 supported_features; - u8 reserved01[3]; - __be32 reserved02; - __be32 reserved03; -}; - -struct d_partition { - __le32 p_size; - __le32 p_offset; - __le32 p_fsize; - u8 p_fstype; - u8 p_frag; - __le16 p_cpg; -}; - -struct d_partition___2 { - __le32 p_res; - u8 p_fstype; - u8 p_res2[3]; - __le32 p_offset; - __le32 p_size; -}; - -struct da903x_chip_ops; - -struct da903x_chip { - struct i2c_client *client; - struct device *dev; - const struct da903x_chip_ops *ops; - int type; - uint32_t events_mask; - struct mutex lock; - struct work_struct irq_work; - struct blocking_notifier_head notifier_list; -}; - -struct da903x_chip_ops { - int (*init_chip)(struct da903x_chip *); - int (*unmask_events)(struct da903x_chip *, unsigned int); - int (*mask_events)(struct da903x_chip *, unsigned int); - int (*read_events)(struct da903x_chip *, unsigned int *); - int (*read_status)(struct da903x_chip *, unsigned int *); -}; - -struct da903x_subdev_info; - -struct da903x_platform_data { - int num_subdevs; - struct da903x_subdev_info *subdevs; -}; - -struct da903x_subdev_info { - int id; - const char *name; - void *platform_data; -}; - -struct da9052 { - struct device *dev; - struct regmap *regmap; - struct mutex auxadc_lock; - struct completion done; - int irq_base; - struct regmap_irq_chip_data *irq_data; - u8 chip_id; - int chip_irq; - int fault_log; - int (*fix_io)(struct da9052 *, unsigned char); -}; - -struct led_platform_data; - -struct da9052_pdata { - struct led_platform_data *pled; - int (*init)(struct da9052 *); - int irq_base; - int gpio_base; - int use_for_apm; - struct regulator_init_data *regulators[14]; -}; - -struct da9055 { - struct regmap *regmap; - struct regmap_irq_chip_data *irq_data; - struct device *dev; - struct i2c_client *i2c_client; - int irq_base; - int chip_irq; -}; - -struct da9055_pdata { - int (*init)(struct da9055 *); - int irq_base; - int gpio_base; - struct regulator_init_data *regulators[8]; - bool reset_enable; - enum gpio_select *reg_ren; - enum gpio_select *reg_rsel; -}; - -struct da9063 { - struct device *dev; - enum da9063_type type; - unsigned char variant_code; - unsigned int flags; - bool use_sw_pm; - struct regmap *regmap; - int chip_irq; - unsigned int irq_base; - struct regmap_irq_chip_data *regmap_irq; -}; - -struct da_monitor { - bool monitoring; - unsigned int curr_state; -}; - -struct data_chunk { - size_t size; - size_t icg; - size_t dst_icg; - size_t src_icg; -}; - -struct data_dirent { - uint32_t virtual_address; - uint32_t size; -}; - -struct data_directory { - struct data_dirent exports; - struct data_dirent imports; - struct data_dirent resources; - struct data_dirent exceptions; - struct data_dirent certs; - struct data_dirent base_relocations; - struct data_dirent debug; - struct data_dirent arch; - struct data_dirent global_ptr; - struct data_dirent tls; - struct data_dirent load_config; - struct data_dirent bound_imports; - struct data_dirent import_addrs; - struct data_dirent delay_imports; - struct data_dirent clr_runtime_hdr; - struct data_dirent reserved; -}; - -struct dax_operations; - -struct dax_holder_operations; - -struct dax_device { - struct inode inode; - struct cdev cdev; - void *private; - long unsigned int flags; - const struct dax_operations *ops; - void *holder_data; - const struct dax_holder_operations *holder_ops; -}; - -struct dev_dax; - -struct dax_device_driver { - struct device_driver drv; - struct list_head ids; - enum dax_driver_type type; - int (*probe)(struct dev_dax *); - void (*remove)(struct dev_dax *); -}; - -struct dax_holder_operations { - int (*notify_failure)(struct dax_device *, u64, u64, int); -}; - -struct dax_id { - struct list_head list; - char dev_name[30]; -}; - -struct dax_mapping { - struct device dev; - int range_id; - int id; -}; - -struct dax_operations { - long int (*direct_access)(struct dax_device *, long unsigned int, long int, enum dax_access_mode, void **, long unsigned int *); - int (*zero_page_range)(struct dax_device *, long unsigned int, size_t); - size_t (*recovery_write)(struct dax_device *, long unsigned int, void *, size_t, struct iov_iter *); -}; - -struct dax_region { - int id; - int target_node; - struct kref kref; - struct device *dev; - unsigned int align; - struct ida ida; - struct resource res; - struct device *seed; - struct device *youngest; -}; - -struct xhci_dbc; - -struct dbc_driver { - int (*configure)(struct xhci_dbc *); - void (*disconnect)(struct xhci_dbc *); -}; - -struct xhci_ring; - -struct dbc_ep { - struct xhci_dbc *dbc; - struct list_head list_pending; - struct xhci_ring *ring; - unsigned int direction: 1; - unsigned int halted: 1; -}; - -struct dbc_info_context { - __le64 string0; - __le64 manufacturer; - __le64 product; - __le64 serial; - __le32 length; - __le32 __reserved_0[7]; -}; - -struct tty_buffer { - union { - struct tty_buffer *next; - struct llist_node free; - }; - unsigned int used; - unsigned int size; - unsigned int commit; - unsigned int lookahead; - unsigned int read; - bool flags; - long: 0; - u8 data[0]; -}; - -struct tty_bufhead { - struct tty_buffer *head; - struct work_struct work; - struct mutex lock; - atomic_t priority; - struct tty_buffer sentinel; - struct llist_head free; - atomic_t mem_used; - int mem_limit; - struct tty_buffer *tail; -}; - -struct tty_struct; - -struct tty_port_operations; - -struct tty_port_client_operations; - -struct tty_port { - struct tty_bufhead buf; - struct tty_struct *tty; - struct tty_struct *itty; - const struct tty_port_operations *ops; - const struct tty_port_client_operations *client_ops; - spinlock_t lock; - int blocked_open; - int count; - wait_queue_head_t open_wait; - wait_queue_head_t delta_msr_wait; - long unsigned int flags; - long unsigned int iflags; - unsigned char console: 1; - struct mutex mutex; - struct mutex buf_mutex; - u8 *xmit_buf; - struct { - union { - struct __kfifo kfifo; - u8 *type; - const u8 *const_type; - char (*rectype)[0]; - u8 *ptr; - const u8 *ptr_const; - }; - u8 buf[0]; - } xmit_fifo; - unsigned int close_delay; - unsigned int closing_wait; - int drain_delay; - struct kref kref; - void *client_data; -}; - -struct tasklet_struct { - struct tasklet_struct *next; - long unsigned int state; - atomic_t count; - bool use_callback; - union { - void (*func)(long unsigned int); - void (*callback)(struct tasklet_struct *); - }; - long unsigned int data; -}; - -struct dbc_port { - struct tty_port port; - spinlock_t port_lock; - int minor; - struct list_head read_pool; - struct list_head read_queue; - unsigned int n_read; - struct tasklet_struct push; - struct list_head write_pool; - unsigned int tx_boundary; - bool registered; - bool tx_running; -}; - -struct dbc_regs { - __le32 capability; - __le32 doorbell; - __le32 ersts; - __le32 __reserved_0; - __le64 erstba; - __le64 erdp; - __le32 control; - __le32 status; - __le32 portsc; - __le32 __reserved_1; - __le64 dccp; - __le32 devinfo1; - __le32 devinfo2; -}; - -union xhci_trb; - -struct dbc_request { - void *buf; - unsigned int length; - dma_addr_t dma; - void (*complete)(struct xhci_dbc *, struct dbc_request *); - struct list_head list_pool; - int status; - unsigned int actual; - struct xhci_dbc *dbc; - struct list_head list_pending; - dma_addr_t trb_dma; - union xhci_trb *trb; - unsigned int direction: 1; -}; - -struct dbc_str_descs { - char string0[64]; - char manufacturer[64]; - char product[64]; - char serial[64]; -}; - -struct dbg_reg_def_t { - char *name; - int size; - int offset; -}; - -struct gov_attr_set { - struct kobject kobj; - struct list_head policy_list; - struct mutex update_lock; - int usage_count; -}; - -struct dbs_governor; - -struct dbs_data { - struct gov_attr_set attr_set; - struct dbs_governor *gov; - void *tuners; - unsigned int ignore_nice_load; - unsigned int sampling_rate; - unsigned int sampling_down_factor; - unsigned int up_threshold; - unsigned int io_is_busy; -}; - -struct sysfs_ops; - -struct kobj_type { - void (*release)(struct kobject *); - const struct sysfs_ops *sysfs_ops; - const struct attribute_group **default_groups; - const struct kobj_ns_type_operations * (*child_ns_type)(const struct kobject *); - const void * (*namespace)(const struct kobject *); - void (*get_ownership)(const struct kobject *, kuid_t *, kgid_t *); -}; - -struct dbs_governor { - struct cpufreq_governor gov; - struct kobj_type kobj_type; - struct dbs_data *gdbs_data; - unsigned int (*gov_dbs_update)(struct cpufreq_policy *); - struct policy_dbs_info * (*alloc)(void); - void (*free)(struct policy_dbs_info *); - int (*init)(struct dbs_data *); - void (*exit)(struct dbs_data *); - void (*start)(struct cpufreq_policy *); -}; - -struct dcb_app { - __u8 selector; - __u8 priority; - __u16 protocol; -}; - -struct dcb_app_type { - int ifindex; - struct dcb_app app; - struct list_head list; - u8 dcbx; -}; - -struct dcb_ieee_app_dscp_map { - u8 map[64]; -}; - -struct dcb_ieee_app_prio_map { - u64 map[8]; -}; - -struct dcb_peer_app_info { - __u8 willing; - __u8 error; -}; - -struct dcb_rewr_prio_pcp_map { - u16 map[8]; -}; - -struct dcbmsg { - __u8 dcb_family; - __u8 cmd; - __u16 dcb_pad; -}; - -struct dcbnl_buffer { - __u8 prio2buffer[8]; - __u32 buffer_size[8]; - __u32 total_size; -}; - -struct ieee_ets; - -struct ieee_maxrate; - -struct ieee_qcn; - -struct ieee_qcn_stats; - -struct ieee_pfc; - -struct dcbnl_rtnl_ops { - int (*ieee_getets)(struct net_device *, struct ieee_ets *); - int (*ieee_setets)(struct net_device *, struct ieee_ets *); - int (*ieee_getmaxrate)(struct net_device *, struct ieee_maxrate *); - int (*ieee_setmaxrate)(struct net_device *, struct ieee_maxrate *); - int (*ieee_getqcn)(struct net_device *, struct ieee_qcn *); - int (*ieee_setqcn)(struct net_device *, struct ieee_qcn *); - int (*ieee_getqcnstats)(struct net_device *, struct ieee_qcn_stats *); - int (*ieee_getpfc)(struct net_device *, struct ieee_pfc *); - int (*ieee_setpfc)(struct net_device *, struct ieee_pfc *); - int (*ieee_getapp)(struct net_device *, struct dcb_app *); - int (*ieee_setapp)(struct net_device *, struct dcb_app *); - int (*ieee_delapp)(struct net_device *, struct dcb_app *); - int (*ieee_peer_getets)(struct net_device *, struct ieee_ets *); - int (*ieee_peer_getpfc)(struct net_device *, struct ieee_pfc *); - u8 (*getstate)(struct net_device *); - u8 (*setstate)(struct net_device *, u8); - void (*getpermhwaddr)(struct net_device *, u8 *); - void (*setpgtccfgtx)(struct net_device *, int, u8, u8, u8, u8); - void (*setpgbwgcfgtx)(struct net_device *, int, u8); - void (*setpgtccfgrx)(struct net_device *, int, u8, u8, u8, u8); - void (*setpgbwgcfgrx)(struct net_device *, int, u8); - void (*getpgtccfgtx)(struct net_device *, int, u8 *, u8 *, u8 *, u8 *); - void (*getpgbwgcfgtx)(struct net_device *, int, u8 *); - void (*getpgtccfgrx)(struct net_device *, int, u8 *, u8 *, u8 *, u8 *); - void (*getpgbwgcfgrx)(struct net_device *, int, u8 *); - void (*setpfccfg)(struct net_device *, int, u8); - void (*getpfccfg)(struct net_device *, int, u8 *); - u8 (*setall)(struct net_device *); - u8 (*getcap)(struct net_device *, int, u8 *); - int (*getnumtcs)(struct net_device *, int, u8 *); - int (*setnumtcs)(struct net_device *, int, u8); - u8 (*getpfcstate)(struct net_device *); - void (*setpfcstate)(struct net_device *, u8); - void (*getbcncfg)(struct net_device *, int, u32 *); - void (*setbcncfg)(struct net_device *, int, u32); - void (*getbcnrp)(struct net_device *, int, u8 *); - void (*setbcnrp)(struct net_device *, int, u8); - int (*setapp)(struct net_device *, u8, u16, u8); - int (*getapp)(struct net_device *, u8, u16); - u8 (*getfeatcfg)(struct net_device *, int, u8 *); - u8 (*setfeatcfg)(struct net_device *, int, u8); - u8 (*getdcbx)(struct net_device *); - u8 (*setdcbx)(struct net_device *, u8); - int (*peer_getappinfo)(struct net_device *, struct dcb_peer_app_info *, u16 *); - int (*peer_getapptable)(struct net_device *, struct dcb_app *); - int (*cee_peer_getpg)(struct net_device *, struct cee_pg *); - int (*cee_peer_getpfc)(struct net_device *, struct cee_pfc *); - int (*dcbnl_getbuffer)(struct net_device *, struct dcbnl_buffer *); - int (*dcbnl_setbuffer)(struct net_device *, struct dcbnl_buffer *); - int (*dcbnl_setapptrust)(struct net_device *, u8 *, int); - int (*dcbnl_getapptrust)(struct net_device *, u8 *, int *); - int (*dcbnl_setrewr)(struct net_device *, struct dcb_app *); - int (*dcbnl_delrewr)(struct net_device *, struct dcb_app *); -}; - -struct io_stats_per_prio { - uint32_t inserted; - uint32_t merged; - uint32_t dispatched; - atomic_t completed; -}; - -struct dd_per_prio { - struct rb_root sort_list[2]; - struct list_head fifo_list[2]; - sector_t latest_pos[2]; - struct io_stats_per_prio stats; -}; - -struct ddebug_class_map { - struct list_head link; - struct module *mod; - const char *mod_name; - const char **class_names; - const int length; - const int base; - enum class_map_type map_type; -}; - -struct ddebug_class_param { - union { - long unsigned int *bits; - unsigned int *lvl; - }; - char flags[8]; - const struct ddebug_class_map *map; -}; - -struct ddebug_table; - -struct ddebug_iter { - struct ddebug_table *table; - int idx; -}; - -struct ddebug_query { - const char *filename; - const char *module; - const char *function; - const char *format; - const char *class_string; - unsigned int first_lineno; - unsigned int last_lineno; -}; - -struct ddebug_table { - struct list_head link; - struct list_head maps; - const char *mod_name; - unsigned int num_ddebugs; - struct _ddebug *ddebugs; -}; - -struct deadline_data { - struct list_head dispatch; - struct dd_per_prio per_prio[3]; - enum dd_data_dir last_dir; - unsigned int batching; - unsigned int starved; - int fifo_expire[2]; - int fifo_batch; - int writes_starved; - int front_merges; - u32 async_depth; - int prio_aging_expire; - spinlock_t lock; -}; - -struct ohci_hcd; - -struct debug_buffer { - ssize_t (*fill_func)(struct debug_buffer *); - struct ohci_hcd *ohci; - struct mutex mutex; - size_t count; - char *page; -}; - -struct usb_bus; - -struct debug_buffer___2 { - ssize_t (*fill_func)(struct debug_buffer___2 *); - struct usb_bus *bus; - struct mutex mutex; - size_t count; - char *output_buf; - size_t alloc_size; -}; - -struct debug_reply_data { - struct ethnl_reply_data base; - u32 msg_mask; -}; - -struct debugfs_blob_wrapper { - void *data; - long unsigned int size; -}; - -struct debugfs_cancellation { - struct list_head list; - void (*cancel)(struct dentry *, void *); - void *cancel_data; -}; - -struct debugfs_devm_entry { - int (*read)(struct seq_file *, void *); - struct device *dev; -}; - -struct debugfs_fs_info { - kuid_t uid; - kgid_t gid; - umode_t mode; - unsigned int opts; -}; - -struct debugfs_short_fops; - -struct debugfs_fsdata { - const struct file_operations *real_fops; - const struct debugfs_short_fops *short_fops; - struct { - refcount_t active_users; - struct completion active_users_drained; - struct mutex cancellations_mtx; - struct list_head cancellations; - unsigned int methods; - }; -}; - -struct debugfs_info { - struct dentry *debug_dir; - void *rasdes_info; -}; - -typedef struct vfsmount * (*debugfs_automount_t)(struct dentry *, void *); - -struct debugfs_inode_info { - struct inode vfs_inode; - union { - const void *raw; - const struct file_operations *real_fops; - const struct debugfs_short_fops *short_fops; - debugfs_automount_t automount; - }; - void *aux; -}; - -struct debugfs_reg32 { - char *name; - long unsigned int offset; -}; - -struct debugfs_regset32 { - const struct debugfs_reg32 *regs; - int nregs; - void *base; - struct device *dev; -}; - -struct debugfs_short_fops { - ssize_t (*read)(struct file *, char *, size_t, loff_t *); - ssize_t (*write)(struct file *, const char *, size_t, loff_t *); - loff_t (*llseek)(struct file *, loff_t, int); -}; - -struct debuggerinfo_struct { - void *debuggerinfo; - struct task_struct *task; - int exception_state; - int ret_state; - int irq_depth; - int enter_kgdb; - bool rounding_up; -}; - -struct dec_data { - struct task_struct *thr; - struct crypto_acomp *cc; - struct acomp_req *cr; - atomic_t ready; - atomic_t stop; - int ret; - wait_queue_head_t go; - wait_queue_head_t done; - size_t unc_len; - size_t cmp_len; - unsigned char unc[131072]; - unsigned char cmp[143360]; -}; - -struct decomp_stream { - void *stream; - struct list_head list; -}; - -struct deepsleep_control_data { - u8 reg_add; - u8 ds_pos_bit; -}; - -struct dma_fence; - -struct dma_fence_cb; - -typedef void (*dma_fence_func_t)(struct dma_fence *, struct dma_fence_cb *); - -struct dma_fence_cb { - struct list_head node; - dma_fence_func_t func; -}; - -struct default_wait_cb { - struct dma_fence_cb base; - struct task_struct *task; -}; - -struct deferred_entry { - struct list_head list; - grant_ref_t ref; - uint16_t warn_delay; - struct page *page; -}; - -struct deferred_split { - spinlock_t split_queue_lock; - struct list_head split_queue; - long unsigned int split_queue_len; -}; - -struct z_stream_s; - -typedef struct z_stream_s z_stream; - -typedef z_stream *z_streamp; - -struct static_tree_desc_s; - -typedef struct static_tree_desc_s static_tree_desc; - -struct tree_desc_s { - ct_data *dyn_tree; - int max_code; - static_tree_desc *stat_desc; -}; - -struct deflate_state { - z_streamp strm; - int status; - Byte *pending_buf; - ulg pending_buf_size; - Byte *pending_out; - int pending; - int noheader; - Byte data_type; - Byte method; - int last_flush; - uInt w_size; - uInt w_bits; - uInt w_mask; - Byte *window; - ulg window_size; - Pos *prev; - Pos *head; - uInt ins_h; - uInt hash_size; - uInt hash_bits; - uInt hash_mask; - uInt hash_shift; - long int block_start; - uInt match_length; - IPos prev_match; - int match_available; - uInt strstart; - uInt match_start; - uInt lookahead; - uInt prev_length; - uInt max_chain_length; - uInt max_lazy_match; - int level; - int strategy; - uInt good_match; - int nice_match; - struct ct_data_s dyn_ltree[573]; - struct ct_data_s dyn_dtree[61]; - struct ct_data_s bl_tree[39]; - struct tree_desc_s l_desc; - struct tree_desc_s d_desc; - struct tree_desc_s bl_desc; - ush bl_count[16]; - int heap[573]; - int heap_len; - int heap_max; - uch depth[573]; - uch *l_buf; - uInt lit_bufsize; - uInt last_lit; - ush *d_buf; - ulg opt_len; - ulg static_len; - ulg compressed_len; - uInt matches; - int last_eob_len; - ush bi_buf; - int bi_valid; -}; - -struct internal_state; - -struct z_stream_s { - const Byte *next_in; - uLong avail_in; - uLong total_in; - Byte *next_out; - uLong avail_out; - uLong total_out; - char *msg; - struct internal_state *state; - void *workspace; - int data_type; - uLong adler; - uLong reserved; -}; - -struct deflate_stream { - struct z_stream_s stream; - u8 workspace[0]; -}; - -struct deflate_workspace { - deflate_state deflate_memory; - Byte *window_memory; - Pos *prev_memory; - Pos *head_memory; - char *overlay_memory; -}; - -typedef struct deflate_workspace deflate_workspace; - -struct delayed_call { - void (*fn)(void *); - void *arg; -}; - -struct delayed_uprobe { - struct list_head list; - struct uprobe *uprobe; - struct mm_struct *mm; -}; - -struct demotion_nodes { - nodemask_t preferred; -}; - -struct hlist_bl_node { - struct hlist_bl_node *next; - struct hlist_bl_node **pprev; -}; - -struct qstr { - union { - struct { - u32 hash; - u32 len; - }; - u64 hash_len; - }; - const unsigned char *name; -}; - -union shortname_store { - unsigned char string[40]; - long unsigned int words[5]; -}; - -struct lockref { - union { - __u64 lock_count; - struct { - spinlock_t lock; - int count; - }; - }; -}; - -struct dentry_operations; - -struct dentry { - unsigned int d_flags; - seqcount_spinlock_t d_seq; - struct hlist_bl_node d_hash; - struct dentry *d_parent; - struct qstr d_name; - struct inode *d_inode; - union shortname_store d_shortname; - const struct dentry_operations *d_op; - struct super_block *d_sb; - long unsigned int d_time; - void *d_fsdata; - struct lockref d_lockref; - union { - struct list_head d_lru; - wait_queue_head_t *d_wait; - }; - struct hlist_node d_sib; - struct hlist_head d_children; - union { - struct hlist_node d_alias; - struct hlist_bl_node d_in_lookup_hash; - struct callback_head d_rcu; - } d_u; -}; - -struct dentry__safe_trusted_or_null { - struct inode *d_inode; -}; - -struct dentry_info_args { - int parent_ino; - int dname_len; - int ino; - int inode_len; - char *dname; -}; - -struct dentry_operations { - int (*d_revalidate)(struct inode *, const struct qstr *, struct dentry *, unsigned int); - int (*d_weak_revalidate)(struct dentry *, unsigned int); - int (*d_hash)(const struct dentry *, struct qstr *); - int (*d_compare)(const struct dentry *, unsigned int, const char *, const struct qstr *); - int (*d_delete)(const struct dentry *); - int (*d_init)(struct dentry *); - void (*d_release)(struct dentry *); - void (*d_prune)(struct dentry *); - void (*d_iput)(struct dentry *, struct inode *); - char * (*d_dname)(struct dentry *, char *, int); - struct vfsmount * (*d_automount)(struct path *); - int (*d_manage)(const struct path *, bool); - struct dentry * (*d_real)(struct dentry *, enum d_real_type); - bool (*d_unalias_trylock)(const struct dentry *); - void (*d_unalias_unlock)(const struct dentry *); - long: 64; -}; - -struct dentry_stat_t { - long int nr_dentry; - long int nr_unused; - long int age_limit; - long int want_pages; - long int nr_negative; - long int dummy; -}; - -struct desc_ptr { - short unsigned int size; - long unsigned int address; -} __attribute__((packed)); - -struct desc_struct { - u16 limit0; - u16 base0; - u16 base1: 8; - u16 type: 4; - u16 s: 1; - u16 dpl: 2; - u16 p: 1; - u16 limit1: 4; - u16 avl: 1; - u16 l: 1; - u16 d: 1; - u16 g: 1; - u16 base2: 8; -}; - -struct slab; - -struct detached_freelist { - struct slab *slab; - void *tail; - void *freelist; - int cnt; - struct kmem_cache *s; -}; - -struct detailed_data_monitor_range { - u8 min_vfreq; - u8 max_vfreq; - u8 min_hfreq_khz; - u8 max_hfreq_khz; - u8 pixel_clock_mhz; - u8 flags; - union { - struct { - u8 reserved; - u8 hfreq_start_khz; - u8 c; - __le16 m; - u8 k; - u8 j; - } __attribute__((packed)) gtf2; - struct { - u8 version; - u8 data1; - u8 data2; - u8 supported_aspects; - u8 flags; - u8 supported_scalings; - u8 preferred_refresh; - } cvt; - } formula; -}; - -struct detailed_data_string { - u8 str[13]; -}; - -struct detailed_data_wpindex { - u8 white_yx_lo; - u8 white_x_hi; - u8 white_y_hi; - u8 gamma; -}; - -struct detailed_mode_closure { - struct drm_connector *connector; - const struct drm_edid *drm_edid; - bool preferred; - int modes; -}; - -struct std_timing { - u8 hsize; - u8 vfreq_aspect; -}; - -struct detailed_non_pixel { - u8 pad1; - u8 type; - u8 pad2; - union { - struct detailed_data_string str; - struct detailed_data_monitor_range range; - struct detailed_data_wpindex color; - struct std_timing timings[6]; - struct cvt_timing cvt[4]; - } data; -}; - -struct detailed_pixel_timing { - u8 hactive_lo; - u8 hblank_lo; - u8 hactive_hblank_hi; - u8 vactive_lo; - u8 vblank_lo; - u8 vactive_vblank_hi; - u8 hsync_offset_lo; - u8 hsync_pulse_width_lo; - u8 vsync_offset_pulse_width_lo; - u8 hsync_vsync_offset_pulse_width_hi; - u8 width_mm_lo; - u8 height_mm_lo; - u8 width_height_mm_hi; - u8 hborder; - u8 vborder; - u8 misc; -}; - -struct detailed_timing { - __le16 pixel_clock; - union { - struct detailed_pixel_timing pixel_data; - struct detailed_non_pixel other_data; - } data; -}; - -struct detected_devices_node { - struct list_head list; - dev_t dev; -}; - -struct dev_cgroup { - struct cgroup_subsys_state css; - struct list_head exceptions; - enum devcg_behavior behavior; -}; - -struct dev_dax_range; - -struct dev_dax { - struct dax_region *region; - struct dax_device *dax_dev; - unsigned int align; - int target_node; - bool dyn_id; - int id; - struct ida ida; - struct device dev; - struct dev_pagemap *pgmap; - bool memmap_on_memory; - int nr_range; - struct dev_dax_range *ranges; -}; - -struct dev_dax_data { - struct dax_region *dax_region; - struct dev_pagemap *pgmap; - resource_size_t size; - int id; - bool memmap_on_memory; -}; - -struct dev_dax_range { - long unsigned int pgoff; - struct range range; - struct dax_mapping *mapping; -}; - -struct dev_exception_item { - u32 major; - u32 minor; - short int type; - short int access; - struct list_head list; - struct callback_head rcu; -}; - -struct dev_ext_attribute { - struct device_attribute attr; - void *var; -}; - -struct efi_generic_dev_path { - u8 type; - u8 sub_type; - u16 length; -}; - -struct efi_acpi_dev_path { - struct efi_generic_dev_path header; - u32 hid; - u32 uid; -}; - -struct efi_pci_dev_path { - struct efi_generic_dev_path header; - u8 fn; - u8 dev; -}; - -struct efi_vendor_dev_path { - struct efi_generic_dev_path header; - efi_guid_t vendorguid; - u8 vendordata[0]; -}; - -struct efi_rel_offset_dev_path { - struct efi_generic_dev_path header; - u32 reserved; - u64 starting_offset; - u64 ending_offset; -}; - -struct efi_dev_path { - union { - struct efi_generic_dev_path header; - struct efi_acpi_dev_path acpi; - struct efi_pci_dev_path pci; - struct efi_vendor_dev_path vendor; - struct efi_rel_offset_dev_path rel_offset; - }; -}; - -struct dev_header { - u32 len; - u32 prop_count; - struct efi_dev_path path[0]; -}; - -struct dev_ifalias { - struct callback_head rcuhead; - char ifalias[0]; -}; - -struct iommu_fault_param; - -struct iommu_fwspec; - -struct dev_iommu { - struct mutex lock; - struct iommu_fault_param *fault_param; - struct iommu_fwspec *fwspec; - struct iommu_device *iommu_dev; - void *priv; - u32 max_pasids; - u32 attach_deferred: 1; - u32 pci_32bit_workaround: 1; - u32 require_direct: 1; - u32 shadow_on_flush: 1; -}; - -struct dev_kfree_skb_cb { - enum skb_drop_reason reason; -}; - -struct vmem_altmap { - long unsigned int base_pfn; - const long unsigned int end_pfn; - const long unsigned int reserve; - long unsigned int free; - long unsigned int align; - long unsigned int alloc; - bool inaccessible; -}; - -struct dev_pagemap_ops; - -struct dev_pagemap { - struct vmem_altmap altmap; - struct percpu_ref ref; - struct completion done; - enum memory_type type; - unsigned int flags; - long unsigned int vmemmap_shift; - const struct dev_pagemap_ops *ops; - void *owner; - int nr_range; - union { - struct range range; - struct { - struct {} __empty_ranges; - struct range ranges[0]; - }; - }; -}; - -struct vm_fault; - -struct dev_pagemap_ops { - void (*page_free)(struct page *); - vm_fault_t (*migrate_to_ram)(struct vm_fault *); - int (*memory_failure)(struct dev_pagemap *, long unsigned int, long unsigned int, int); -}; - -struct dev_pasid_info { - struct list_head link_domain; - struct device *dev; - ioasid_t pasid; -}; - -struct pinctrl; - -struct pinctrl_state; - -struct dev_pin_info { - struct pinctrl *p; - struct pinctrl_state *default_state; - struct pinctrl_state *init_state; - struct pinctrl_state *sleep_state; - struct pinctrl_state *idle_state; -}; - -struct dev_pm_ops { - int (*prepare)(struct device *); - void (*complete)(struct device *); - int (*suspend)(struct device *); - int (*resume)(struct device *); - int (*freeze)(struct device *); - int (*thaw)(struct device *); - int (*poweroff)(struct device *); - int (*restore)(struct device *); - int (*suspend_late)(struct device *); - int (*resume_early)(struct device *); - int (*freeze_late)(struct device *); - int (*thaw_early)(struct device *); - int (*poweroff_late)(struct device *); - int (*restore_early)(struct device *); - int (*suspend_noirq)(struct device *); - int (*resume_noirq)(struct device *); - int (*freeze_noirq)(struct device *); - int (*thaw_noirq)(struct device *); - int (*poweroff_noirq)(struct device *); - int (*restore_noirq)(struct device *); - int (*runtime_suspend)(struct device *); - int (*runtime_resume)(struct device *); - int (*runtime_idle)(struct device *); -}; - -struct dev_pm_domain { - struct dev_pm_ops ops; - int (*start)(struct device *); - void (*detach)(struct device *, bool); - int (*activate)(struct device *); - void (*sync)(struct device *); - void (*dismiss)(struct device *); - int (*set_performance_state)(struct device *, unsigned int); -}; - -struct dev_pm_domain_attach_data { - const char * const *pd_names; - const u32 num_pd_names; - const u32 pd_flags; -}; - -struct device_link; - -struct dev_pm_domain_list { - struct device **pd_devs; - struct device_link **pd_links; - u32 *opp_tokens; - u32 num_pds; -}; - -struct dev_pm_opp_supply; - -struct dev_pm_opp_icc_bw; - -struct opp_table; - -struct dev_pm_opp { - struct list_head node; - struct kref kref; - bool available; - bool dynamic; - bool turbo; - bool suspend; - bool removed; - long unsigned int *rates; - unsigned int level; - struct dev_pm_opp_supply *supplies; - struct dev_pm_opp_icc_bw *bandwidth; - long unsigned int clock_latency_ns; - struct dev_pm_opp **required_opps; - struct opp_table *opp_table; - struct device_node *np; - struct dentry *dentry; - const char *of_name; -}; - -typedef int (*config_clks_t)(struct device *, struct opp_table *, struct dev_pm_opp *, void *, bool); - -typedef int (*config_regulators_t)(struct device *, struct dev_pm_opp *, struct dev_pm_opp *, struct regulator **, unsigned int); - -struct dev_pm_opp_config { - const char * const *clk_names; - config_clks_t config_clks; - const char *prop_name; - config_regulators_t config_regulators; - const unsigned int *supported_hw; - unsigned int supported_hw_count; - const char * const *regulator_names; - struct device *required_dev; - unsigned int required_dev_index; -}; - -struct dev_pm_opp_data { - bool turbo; - unsigned int level; - long unsigned int freq; - long unsigned int u_volt; -}; - -struct dev_pm_opp_icc_bw { - u32 avg; - u32 peak; -}; - -struct dev_pm_opp_supply { - long unsigned int u_volt; - long unsigned int u_volt_min; - long unsigned int u_volt_max; - long unsigned int u_amp; - long unsigned int u_watt; -}; - -struct pm_qos_flags { - struct list_head list; - s32 effective_flags; -}; - -struct dev_pm_qos_request; - -struct dev_pm_qos { - struct pm_qos_constraints resume_latency; - struct pm_qos_constraints latency_tolerance; - struct freq_constraints freq; - struct pm_qos_flags flags; - struct dev_pm_qos_request *resume_latency_req; - struct dev_pm_qos_request *latency_tolerance_req; - struct dev_pm_qos_request *flags_req; -}; - -struct pm_qos_flags_request { - struct list_head node; - s32 flags; -}; - -struct dev_pm_qos_request { - enum dev_pm_qos_req_type type; - union { - struct plist_node pnode; - struct pm_qos_flags_request flr; - struct freq_qos_request freq; - } data; - struct device *dev; -}; - -struct dev_power_governor { - bool (*power_down_ok)(struct dev_pm_domain *); - bool (*suspend_ok)(struct device *); -}; - -struct dev_printk_info { - char subsystem[16]; - char device[48]; -}; - -struct dev_table_entry { - union { - u64 data[4]; - u128 data128[2]; - }; -}; - -struct devcd_entry { - struct device devcd_dev; - void *data; - size_t datalen; - struct mutex mutex; - bool init_completed; - bool deleted; - struct module *owner; - ssize_t (*read)(char *, loff_t, size_t, void *, size_t); - void (*free)(void *); - struct delayed_work del_wk; - struct device *failing_dev; -}; - -struct devfreq_dev_status { - long unsigned int total_time; - long unsigned int busy_time; - long unsigned int current_frequency; - void *private_data; -}; - -struct devfreq_stats { - unsigned int total_trans; - unsigned int *trans_table; - u64 *time_in_state; - u64 last_update; -}; - -struct devfreq_dev_profile; - -struct devfreq_governor; - -struct devfreq { - struct list_head node; - struct mutex lock; - struct device dev; - struct devfreq_dev_profile *profile; - const struct devfreq_governor *governor; - struct opp_table *opp_table; - struct notifier_block nb; - struct delayed_work work; - long unsigned int *freq_table; - unsigned int max_state; - long unsigned int previous_freq; - struct devfreq_dev_status last_status; - void *data; - void *governor_data; - struct dev_pm_qos_request user_min_freq_req; - struct dev_pm_qos_request user_max_freq_req; - long unsigned int scaling_min_freq; - long unsigned int scaling_max_freq; - bool stop_polling; - long unsigned int suspend_freq; - long unsigned int resume_freq; - atomic_t suspend_count; - struct devfreq_stats stats; - struct srcu_notifier_head transition_notifier_list; - struct thermal_cooling_device *cdev; - struct notifier_block nb_min; - struct notifier_block nb_max; -}; - -struct thermal_cooling_device_ops { - int (*get_max_state)(struct thermal_cooling_device *, long unsigned int *); - int (*get_cur_state)(struct thermal_cooling_device *, long unsigned int *); - int (*set_cur_state)(struct thermal_cooling_device *, long unsigned int); - int (*get_requested_power)(struct thermal_cooling_device *, u32 *); - int (*state2power)(struct thermal_cooling_device *, long unsigned int, u32 *); - int (*power2state)(struct thermal_cooling_device *, u32, long unsigned int *); -}; - -struct devfreq_cooling_power; - -struct devfreq_cooling_device { - struct thermal_cooling_device *cdev; - struct thermal_cooling_device_ops cooling_ops; - struct devfreq *devfreq; - long unsigned int cooling_state; - u32 *freq_table; - size_t max_state; - struct devfreq_cooling_power *power_ops; - u32 res_util; - int capped_state; - struct dev_pm_qos_request req_max_freq; - struct em_perf_domain *em_pd; -}; - -struct devfreq_cooling_power { - int (*get_real_power)(struct devfreq *, u32 *, long unsigned int, long unsigned int); -}; - -struct devfreq_cpu_data { - struct list_head node; - struct device *dev; - unsigned int first_cpu; - struct opp_table *opp_table; - unsigned int cur_freq; - unsigned int min_freq; - unsigned int max_freq; -}; - -struct devfreq_dev_profile { - long unsigned int initial_freq; - unsigned int polling_ms; - enum devfreq_timer timer; - int (*target)(struct device *, long unsigned int *, u32); - int (*get_dev_status)(struct device *, struct devfreq_dev_status *); - int (*get_cur_freq)(struct device *, long unsigned int *); - void (*exit)(struct device *); - long unsigned int *freq_table; - unsigned int max_state; - bool is_cooling_device; - const struct attribute_group **dev_groups; -}; - -struct devfreq_event_data { - long unsigned int load_count; - long unsigned int total_count; -}; - -struct devfreq_event_ops; - -struct devfreq_event_desc { - const char *name; - u32 event_type; - void *driver_data; - const struct devfreq_event_ops *ops; -}; - -struct devfreq_event_dev { - struct list_head node; - struct device dev; - struct mutex lock; - u32 enable_count; - const struct devfreq_event_desc *desc; -}; - -struct devfreq_event_ops { - int (*enable)(struct devfreq_event_dev *); - int (*disable)(struct devfreq_event_dev *); - int (*reset)(struct devfreq_event_dev *); - int (*set_event)(struct devfreq_event_dev *); - int (*get_event)(struct devfreq_event_dev *, struct devfreq_event_data *); -}; - -struct devfreq_freqs { - long unsigned int old; - long unsigned int new; -}; - -struct devfreq_governor { - struct list_head node; - const char name[16]; - const u64 attrs; - const u64 flags; - int (*get_target_freq)(struct devfreq *, long unsigned int *); - int (*event_handler)(struct devfreq *, unsigned int, void *); -}; - -struct devfreq_notifier_devres { - struct devfreq *devfreq; - struct notifier_block *nb; - unsigned int list; -}; - -struct devfreq_passive_data { - struct devfreq *parent; - int (*get_target_freq)(struct devfreq *, long unsigned int *); - enum devfreq_parent_dev_type parent_type; - struct devfreq *this; - struct notifier_block nb; - struct list_head cpu_data_list; -}; - -struct devfreq_simple_ondemand_data { - unsigned int upthreshold; - unsigned int downdifferential; -}; - -struct device_attach_data { - struct device *dev; - bool check_async; - bool want_async; - bool have_async; -}; - -union device_attr_group_devres { - const struct attribute_group *group; - const struct attribute_group **groups; -}; - -struct device_dma_parameters { - unsigned int max_segment_size; - unsigned int min_align_mask; - long unsigned int segment_boundary_mask; -}; - -struct dmar_domain; - -struct pasid_table; - -struct device_domain_info { - struct list_head link; - u32 segment; - u8 bus; - u8 devfn; - u16 pfsid; - u8 pasid_supported: 3; - u8 pasid_enabled: 1; - u8 pri_supported: 1; - u8 pri_enabled: 1; - u8 ats_supported: 1; - u8 ats_enabled: 1; - u8 dtlb_extra_inval: 1; - u8 domain_attached: 1; - u8 ats_qdep; - unsigned int iopf_refcount; - struct device *dev; - struct intel_iommu *iommu; - struct dmar_domain *domain; - struct pasid_table *pasid_table; - struct rb_node node; -}; - -struct device_link { - struct device *supplier; - struct list_head s_node; - struct device *consumer; - struct list_head c_node; - struct device link_dev; - enum device_link_state status; - u32 flags; - refcount_t rpm_active; - struct kref kref; - struct work_struct rm_work; - bool supplier_preactivated; -}; - -struct property; - -struct device_node { - const char *name; - phandle phandle; - const char *full_name; - struct fwnode_handle fwnode; - struct property *properties; - struct property *deadprops; - struct device_node *parent; - struct device_node *child; - struct device_node *sibling; - long unsigned int _flags; - void *data; -}; - -struct device_physical_location { - enum device_physical_location_panel panel; - enum device_physical_location_vertical_position vertical_position; - enum device_physical_location_horizontal_position horizontal_position; - bool dock; - bool lid; -}; - -struct klist_node { - void *n_klist; - struct list_head n_node; - struct kref n_ref; -}; - -struct device_private { - struct klist klist_children; - struct klist_node knode_parent; - struct klist_node knode_driver; - struct klist_node knode_bus; - struct klist_node knode_class; - struct list_head deferred_probe; - const struct device_driver *async_driver; - char *deferred_probe_reason; - struct device *device; - u8 dead: 1; -}; - -struct device_type { - const char *name; - const struct attribute_group **groups; - int (*uevent)(const struct device *, struct kobj_uevent_env *); - char * (*devnode)(const struct device *, umode_t *, kuid_t *, kgid_t *); - void (*release)(struct device *); - const struct dev_pm_ops *pm; -}; - -struct devid_map { - struct list_head list; - u8 id; - u32 devid; - bool cmd_line; -}; - -struct devinet_sysctl_table { - struct ctl_table_header *sysctl_header; - struct ctl_table devinet_vars[33]; -}; - -struct printk_buffers { - char outbuf[2048]; - char scratchbuf[1024]; -}; - -struct devkmsg_user { - atomic64_t seq; - struct ratelimit_state rs; - struct mutex lock; - struct printk_buffers pbufs; -}; - -struct devlink_dev_stats { - u32 reload_stats[6]; - u32 remote_reload_stats[6]; -}; - -struct devlink_dpipe_headers; - -struct devlink_ops; - -struct devlink_rel; - -struct devlink { - u32 index; - struct xarray ports; - struct list_head rate_list; - struct list_head sb_list; - struct list_head dpipe_table_list; - struct list_head resource_list; - struct xarray params; - struct list_head region_list; - struct list_head reporter_list; - struct devlink_dpipe_headers *dpipe_headers; - struct list_head trap_list; - struct list_head trap_group_list; - struct list_head trap_policer_list; - struct list_head linecard_list; - const struct devlink_ops *ops; - struct xarray snapshot_ids; - struct devlink_dev_stats stats; - struct device *dev; - possible_net_t _net; - struct mutex lock; - struct lock_class_key lock_key; - u8 reload_failed: 1; - refcount_t refcount; - struct rcu_work rwork; - struct devlink_rel *rel; - struct xarray nested_rels; - char priv[0]; -}; - -struct devlink_dpipe_header; - -struct devlink_dpipe_action { - enum devlink_dpipe_action_type type; - unsigned int header_index; - struct devlink_dpipe_header *header; - unsigned int field_id; -}; - -struct genl_info; - -struct devlink_dpipe_dump_ctx { - struct genl_info *info; - enum devlink_command cmd; - struct sk_buff *skb; - struct nlattr *nest; - void *hdr; -}; - -struct devlink_dpipe_value; - -struct devlink_dpipe_entry { - u64 index; - struct devlink_dpipe_value *match_values; - unsigned int match_values_count; - struct devlink_dpipe_value *action_values; - unsigned int action_values_count; - u64 counter; - bool counter_valid; -}; - -struct devlink_dpipe_field { - const char *name; - unsigned int id; - unsigned int bitwidth; - enum devlink_dpipe_field_mapping_type mapping_type; -}; - -struct devlink_dpipe_header { - const char *name; - unsigned int id; - struct devlink_dpipe_field *fields; - unsigned int fields_count; - bool global; -}; - -struct devlink_dpipe_headers { - struct devlink_dpipe_header **headers; - unsigned int headers_count; -}; - -struct devlink_dpipe_match { - enum devlink_dpipe_match_type type; - unsigned int header_index; - struct devlink_dpipe_header *header; - unsigned int field_id; -}; - -struct devlink_dpipe_table_ops; - -struct devlink_dpipe_table { - void *priv; - struct list_head list; - const char *name; - bool counters_enabled; - bool counter_control_extern; - bool resource_valid; - u64 resource_id; - u64 resource_units; - const struct devlink_dpipe_table_ops *table_ops; - struct callback_head rcu; -}; - -struct devlink_dpipe_table_ops { - int (*actions_dump)(void *, struct sk_buff *); - int (*matches_dump)(void *, struct sk_buff *); - int (*entries_dump)(void *, bool, struct devlink_dpipe_dump_ctx *); - int (*counters_set_update)(void *, bool); - u64 (*size_get)(void *); -}; - -struct devlink_dpipe_value { - union { - struct devlink_dpipe_action *action; - struct devlink_dpipe_match *match; - }; - unsigned int mapping_value; - bool mapping_valid; - unsigned int value_size; - void *value; - void *mask; -}; - -struct devlink_flash_component_lookup_ctx { - const char *lookup_name; - bool lookup_name_found; -}; - -struct devlink_flash_notify { - const char *status_msg; - const char *component; - long unsigned int done; - long unsigned int total; - long unsigned int timeout; -}; - -struct firmware; - -struct devlink_flash_update_params { - const struct firmware *fw; - const char *component; - u32 overwrite_mask; -}; - -struct devlink_fmsg { - struct list_head item_list; - int err; - bool putting_binary; -}; - -struct devlink_fmsg_item { - struct list_head list; - int attrtype; - u8 nla_type; - u16 len; - int value[0]; -}; - -struct devlink_health_reporter_ops; - -struct devlink_port; - -struct devlink_health_reporter { - struct list_head list; - void *priv; - const struct devlink_health_reporter_ops *ops; - struct devlink *devlink; - struct devlink_port *devlink_port; - struct devlink_fmsg *dump_fmsg; - u64 graceful_period; - bool auto_recover; - bool auto_dump; - u8 health_state; - u64 dump_ts; - u64 dump_real_ts; - u64 error_count; - u64 recovery_count; - u64 last_recovery_ts; -}; - -struct devlink_health_reporter_ops { - char *name; - int (*recover)(struct devlink_health_reporter *, void *, struct netlink_ext_ack *); - int (*dump)(struct devlink_health_reporter *, struct devlink_fmsg *, void *, struct netlink_ext_ack *); - int (*diagnose)(struct devlink_health_reporter *, struct devlink_fmsg *, struct netlink_ext_ack *); - int (*test)(struct devlink_health_reporter *, struct netlink_ext_ack *); -}; - -struct devlink_info_req { - struct sk_buff *msg; - void (*version_cb)(const char *, enum devlink_info_version_type, void *); - void *version_cb_priv; -}; - -struct devlink_linecard_ops; - -struct devlink_linecard_type; - -struct devlink_linecard { - struct list_head list; - struct devlink *devlink; - unsigned int index; - const struct devlink_linecard_ops *ops; - void *priv; - enum devlink_linecard_state state; - struct mutex state_lock; - const char *type; - struct devlink_linecard_type *types; - unsigned int types_count; - u32 rel_index; -}; - -struct devlink_linecard_ops { - int (*provision)(struct devlink_linecard *, void *, const char *, const void *, struct netlink_ext_ack *); - int (*unprovision)(struct devlink_linecard *, void *, struct netlink_ext_ack *); - bool (*same_provision)(struct devlink_linecard *, void *, const char *, const void *); - unsigned int (*types_count)(struct devlink_linecard *, void *); - void (*types_get)(struct devlink_linecard *, void *, unsigned int, const char **, const void **); -}; - -struct devlink_linecard_type { - const char *type; - const void *priv; -}; - -struct devlink_nl_dump_state { - long unsigned int instance; - int idx; - union { - struct { - u64 start_offset; - }; - struct { - u64 dump_ts; - }; - }; -}; - -struct devlink_obj_desc; - -struct devlink_nl_sock_priv { - struct devlink_obj_desc *flt; - spinlock_t flt_lock; -}; - -struct devlink_obj_desc { - struct callback_head rcu; - const char *bus_name; - const char *dev_name; - unsigned int port_index; - bool port_index_valid; - long int data[0]; -}; - -struct devlink_sb_pool_info; - -struct devlink_trap; - -struct devlink_trap_group; - -struct devlink_trap_policer; - -struct devlink_port_new_attrs; - -struct devlink_rate; - -struct devlink_ops { - u32 supported_flash_update_params; - long unsigned int reload_actions; - long unsigned int reload_limits; - int (*reload_down)(struct devlink *, bool, enum devlink_reload_action, enum devlink_reload_limit, struct netlink_ext_ack *); - int (*reload_up)(struct devlink *, enum devlink_reload_action, enum devlink_reload_limit, u32 *, struct netlink_ext_ack *); - int (*sb_pool_get)(struct devlink *, unsigned int, u16, struct devlink_sb_pool_info *); - int (*sb_pool_set)(struct devlink *, unsigned int, u16, u32, enum devlink_sb_threshold_type, struct netlink_ext_ack *); - int (*sb_port_pool_get)(struct devlink_port *, unsigned int, u16, u32 *); - int (*sb_port_pool_set)(struct devlink_port *, unsigned int, u16, u32, struct netlink_ext_ack *); - int (*sb_tc_pool_bind_get)(struct devlink_port *, unsigned int, u16, enum devlink_sb_pool_type, u16 *, u32 *); - int (*sb_tc_pool_bind_set)(struct devlink_port *, unsigned int, u16, enum devlink_sb_pool_type, u16, u32, struct netlink_ext_ack *); - int (*sb_occ_snapshot)(struct devlink *, unsigned int); - int (*sb_occ_max_clear)(struct devlink *, unsigned int); - int (*sb_occ_port_pool_get)(struct devlink_port *, unsigned int, u16, u32 *, u32 *); - int (*sb_occ_tc_port_bind_get)(struct devlink_port *, unsigned int, u16, enum devlink_sb_pool_type, u32 *, u32 *); - int (*eswitch_mode_get)(struct devlink *, u16 *); - int (*eswitch_mode_set)(struct devlink *, u16, struct netlink_ext_ack *); - int (*eswitch_inline_mode_get)(struct devlink *, u8 *); - int (*eswitch_inline_mode_set)(struct devlink *, u8, struct netlink_ext_ack *); - int (*eswitch_encap_mode_get)(struct devlink *, enum devlink_eswitch_encap_mode *); - int (*eswitch_encap_mode_set)(struct devlink *, enum devlink_eswitch_encap_mode, struct netlink_ext_ack *); - int (*info_get)(struct devlink *, struct devlink_info_req *, struct netlink_ext_ack *); - int (*flash_update)(struct devlink *, struct devlink_flash_update_params *, struct netlink_ext_ack *); - int (*trap_init)(struct devlink *, const struct devlink_trap *, void *); - void (*trap_fini)(struct devlink *, const struct devlink_trap *, void *); - int (*trap_action_set)(struct devlink *, const struct devlink_trap *, enum devlink_trap_action, struct netlink_ext_ack *); - int (*trap_group_init)(struct devlink *, const struct devlink_trap_group *); - int (*trap_group_set)(struct devlink *, const struct devlink_trap_group *, const struct devlink_trap_policer *, struct netlink_ext_ack *); - int (*trap_group_action_set)(struct devlink *, const struct devlink_trap_group *, enum devlink_trap_action, struct netlink_ext_ack *); - int (*trap_drop_counter_get)(struct devlink *, const struct devlink_trap *, u64 *); - int (*trap_policer_init)(struct devlink *, const struct devlink_trap_policer *); - void (*trap_policer_fini)(struct devlink *, const struct devlink_trap_policer *); - int (*trap_policer_set)(struct devlink *, const struct devlink_trap_policer *, u64, u64, struct netlink_ext_ack *); - int (*trap_policer_counter_get)(struct devlink *, const struct devlink_trap_policer *, u64 *); - int (*port_new)(struct devlink *, const struct devlink_port_new_attrs *, struct netlink_ext_ack *, struct devlink_port **); - int (*rate_leaf_tx_share_set)(struct devlink_rate *, void *, u64, struct netlink_ext_ack *); - int (*rate_leaf_tx_max_set)(struct devlink_rate *, void *, u64, struct netlink_ext_ack *); - int (*rate_leaf_tx_priority_set)(struct devlink_rate *, void *, u32, struct netlink_ext_ack *); - int (*rate_leaf_tx_weight_set)(struct devlink_rate *, void *, u32, struct netlink_ext_ack *); - int (*rate_leaf_tc_bw_set)(struct devlink_rate *, void *, u32 *, struct netlink_ext_ack *); - int (*rate_node_tx_share_set)(struct devlink_rate *, void *, u64, struct netlink_ext_ack *); - int (*rate_node_tx_max_set)(struct devlink_rate *, void *, u64, struct netlink_ext_ack *); - int (*rate_node_tx_priority_set)(struct devlink_rate *, void *, u32, struct netlink_ext_ack *); - int (*rate_node_tx_weight_set)(struct devlink_rate *, void *, u32, struct netlink_ext_ack *); - int (*rate_node_tc_bw_set)(struct devlink_rate *, void *, u32 *, struct netlink_ext_ack *); - int (*rate_node_new)(struct devlink_rate *, void **, struct netlink_ext_ack *); - int (*rate_node_del)(struct devlink_rate *, void *, struct netlink_ext_ack *); - int (*rate_leaf_parent_set)(struct devlink_rate *, struct devlink_rate *, void *, void *, struct netlink_ext_ack *); - int (*rate_node_parent_set)(struct devlink_rate *, struct devlink_rate *, void *, void *, struct netlink_ext_ack *); - bool (*selftest_check)(struct devlink *, unsigned int, struct netlink_ext_ack *); - enum devlink_selftest_status (*selftest_run)(struct devlink *, unsigned int, struct netlink_ext_ack *); -}; - -struct devlink_param_gset_ctx; - -union devlink_param_value; - -struct devlink_param { - u32 id; - const char *name; - bool generic; - enum devlink_param_type type; - long unsigned int supported_cmodes; - int (*get)(struct devlink *, u32, struct devlink_param_gset_ctx *); - int (*set)(struct devlink *, u32, struct devlink_param_gset_ctx *, struct netlink_ext_ack *); - int (*validate)(struct devlink *, u32, union devlink_param_value, struct netlink_ext_ack *); -}; - -union devlink_param_value { - u8 vu8; - u16 vu16; - u32 vu32; - u64 vu64; - char vstr[32]; - bool vbool; -}; - -struct devlink_param_gset_ctx { - union devlink_param_value val; - enum devlink_param_cmode cmode; -}; - -struct devlink_param_item { - struct list_head list; - const struct devlink_param *param; - union devlink_param_value driverinit_value; - bool driverinit_value_valid; - union devlink_param_value driverinit_value_new; - bool driverinit_value_new_valid; -}; - -struct netdev_phys_item_id { - unsigned char id[32]; - unsigned char id_len; -}; - -struct devlink_port_phys_attrs { - u32 port_number; - u32 split_subport_number; -}; - -struct devlink_port_pci_pf_attrs { - u32 controller; - u16 pf; - u8 external: 1; -}; - -struct devlink_port_pci_vf_attrs { - u32 controller; - u16 pf; - u16 vf; - u8 external: 1; -}; - -struct devlink_port_pci_sf_attrs { - u32 controller; - u32 sf; - u16 pf; - u8 external: 1; -}; - -struct devlink_port_attrs { - u8 split: 1; - u8 splittable: 1; - u8 no_phys_port_name: 1; - u32 lanes; - enum devlink_port_flavour flavour; - struct netdev_phys_item_id switch_id; - union { - struct devlink_port_phys_attrs phys; - struct devlink_port_pci_pf_attrs pci_pf; - struct devlink_port_pci_vf_attrs pci_vf; - struct devlink_port_pci_sf_attrs pci_sf; - }; -}; - -struct devlink_port_ops; - -struct ib_device; - -struct devlink_port { - struct list_head list; - struct list_head region_list; - struct devlink *devlink; - const struct devlink_port_ops *ops; - unsigned int index; - spinlock_t type_lock; - enum devlink_port_type type; - enum devlink_port_type desired_type; - union { - struct { - struct net_device *netdev; - int ifindex; - char ifname[16]; - } type_eth; - struct { - struct ib_device *ibdev; - } type_ib; - }; - struct devlink_port_attrs attrs; - u8 attrs_set: 1; - u8 switch_port: 1; - u8 registered: 1; - u8 initialized: 1; - struct delayed_work type_warn_dw; - struct list_head reporter_list; - struct devlink_rate *devlink_rate; - struct devlink_linecard *linecard; - u32 rel_index; -}; - -struct devlink_port_new_attrs { - enum devlink_port_flavour flavour; - unsigned int port_index; - u32 controller; - u32 sfnum; - u16 pfnum; - u8 port_index_valid: 1; - u8 controller_valid: 1; - u8 sfnum_valid: 1; -}; - -struct devlink_port_ops { - int (*port_split)(struct devlink *, struct devlink_port *, unsigned int, struct netlink_ext_ack *); - int (*port_unsplit)(struct devlink *, struct devlink_port *, struct netlink_ext_ack *); - int (*port_type_set)(struct devlink_port *, enum devlink_port_type); - int (*port_del)(struct devlink *, struct devlink_port *, struct netlink_ext_ack *); - int (*port_fn_hw_addr_get)(struct devlink_port *, u8 *, int *, struct netlink_ext_ack *); - int (*port_fn_hw_addr_set)(struct devlink_port *, const u8 *, int, struct netlink_ext_ack *); - int (*port_fn_roce_get)(struct devlink_port *, bool *, struct netlink_ext_ack *); - int (*port_fn_roce_set)(struct devlink_port *, bool, struct netlink_ext_ack *); - int (*port_fn_migratable_get)(struct devlink_port *, bool *, struct netlink_ext_ack *); - int (*port_fn_migratable_set)(struct devlink_port *, bool, struct netlink_ext_ack *); - int (*port_fn_state_get)(struct devlink_port *, enum devlink_port_fn_state *, enum devlink_port_fn_opstate *, struct netlink_ext_ack *); - int (*port_fn_state_set)(struct devlink_port *, enum devlink_port_fn_state, struct netlink_ext_ack *); - int (*port_fn_ipsec_crypto_get)(struct devlink_port *, bool *, struct netlink_ext_ack *); - int (*port_fn_ipsec_crypto_set)(struct devlink_port *, bool, struct netlink_ext_ack *); - int (*port_fn_ipsec_packet_get)(struct devlink_port *, bool *, struct netlink_ext_ack *); - int (*port_fn_ipsec_packet_set)(struct devlink_port *, bool, struct netlink_ext_ack *); - int (*port_fn_max_io_eqs_get)(struct devlink_port *, u32 *, struct netlink_ext_ack *); - int (*port_fn_max_io_eqs_set)(struct devlink_port *, u32, struct netlink_ext_ack *); -}; - -struct devlink_port_region_ops { - const char *name; - void (*destructor)(const void *); - int (*snapshot)(struct devlink_port *, const struct devlink_port_region_ops *, struct netlink_ext_ack *, u8 **); - int (*read)(struct devlink_port *, const struct devlink_port_region_ops *, struct netlink_ext_ack *, u64, u32, u8 *); - void *priv; -}; - -struct devlink_rate { - struct list_head list; - enum devlink_rate_type type; - struct devlink *devlink; - void *priv; - u64 tx_share; - u64 tx_max; - struct devlink_rate *parent; - union { - struct devlink_port *devlink_port; - struct { - char *name; - refcount_t refcnt; - }; - }; - u32 tx_priority; - u32 tx_weight; - u32 tc_bw[8]; -}; - -struct devlink_region_ops; - -struct devlink_region { - struct devlink *devlink; - struct devlink_port *port; - struct list_head list; - union { - const struct devlink_region_ops *ops; - const struct devlink_port_region_ops *port_ops; - }; - struct mutex snapshot_lock; - struct list_head snapshot_list; - u32 max_snapshots; - u32 cur_snapshots; - u64 size; -}; - -struct devlink_region_ops { - const char *name; - void (*destructor)(const void *); - int (*snapshot)(struct devlink *, const struct devlink_region_ops *, struct netlink_ext_ack *, u8 **); - int (*read)(struct devlink *, const struct devlink_region_ops *, struct netlink_ext_ack *, u64, u32, u8 *); - void *priv; -}; - -typedef void devlink_rel_notify_cb_t(struct devlink *, u32); - -typedef void devlink_rel_cleanup_cb_t(struct devlink *, u32, u32); - -struct devlink_rel { - u32 index; - refcount_t refcount; - u32 devlink_index; - struct { - u32 devlink_index; - u32 obj_index; - devlink_rel_notify_cb_t *notify_cb; - devlink_rel_cleanup_cb_t *cleanup_cb; - struct delayed_work notify_work; - } nested_in; -}; - -struct devlink_reload_combination { - enum devlink_reload_action action; - enum devlink_reload_limit limit; -}; - -struct devlink_resource_size_params { - u64 size_min; - u64 size_max; - u64 size_granularity; - enum devlink_resource_unit unit; -}; - -typedef u64 devlink_resource_occ_get_t(void *); - -struct devlink_resource { - const char *name; - u64 id; - u64 size; - u64 size_new; - bool size_valid; - struct devlink_resource *parent; - struct devlink_resource_size_params size_params; - struct list_head list; - struct list_head resource_list; - devlink_resource_occ_get_t *occ_get; - void *occ_get_priv; -}; - -struct devlink_sb { - struct list_head list; - unsigned int index; - u32 size; - u16 ingress_pools_count; - u16 egress_pools_count; - u16 ingress_tc_count; - u16 egress_tc_count; -}; - -struct devlink_sb_pool_info { - enum devlink_sb_pool_type pool_type; - u32 size; - enum devlink_sb_threshold_type threshold_type; - u32 cell_size; -}; - -struct devlink_snapshot { - struct list_head list; - struct devlink_region *region; - u8 *data; - u32 id; -}; - -struct devlink_stats { - u64_stats_t rx_bytes; - u64_stats_t rx_packets; - struct u64_stats_sync syncp; -}; - -struct devlink_trap { - enum devlink_trap_type type; - enum devlink_trap_action init_action; - bool generic; - u16 id; - const char *name; - u16 init_group_id; - u32 metadata_cap; -}; - -struct devlink_trap_group { - const char *name; - u16 id; - bool generic; - u32 init_policer_id; -}; - -struct devlink_trap_policer_item; - -struct devlink_trap_group_item { - const struct devlink_trap_group *group; - struct devlink_trap_policer_item *policer_item; - struct list_head list; - struct devlink_stats *stats; -}; - -struct devlink_trap_item { - const struct devlink_trap *trap; - struct devlink_trap_group_item *group_item; - struct list_head list; - enum devlink_trap_action action; - struct devlink_stats *stats; - void *priv; -}; - -struct flow_action_cookie; - -struct devlink_trap_metadata { - const char *trap_name; - const char *trap_group_name; - struct net_device *input_dev; - netdevice_tracker dev_tracker; - const struct flow_action_cookie *fa_cookie; - enum devlink_trap_type trap_type; -}; - -struct devlink_trap_policer { - u32 id; - u64 init_rate; - u64 init_burst; - u64 max_rate; - u64 min_rate; - u64 max_burst; - u64 min_burst; -}; - -struct devlink_trap_policer_item { - const struct devlink_trap_policer *policer; - u64 rate; - u64 burst; - struct list_head list; -}; - -struct devm_clk_state { - struct clk *clk; - void (*exit)(struct clk *); -}; - -typedef void (*dr_release_t)(struct device *, void *); - -struct devres_node { - struct list_head entry; - dr_release_t release; - const char *name; - size_t size; -}; - -struct devres { - struct devres_node node; - u8 data[0]; -}; - -struct devres_group { - struct devres_node node[2]; - void *id; - int color; -}; - -struct dh { - const void *key; - const void *p; - const void *g; - unsigned int key_size; - unsigned int p_size; - unsigned int g_size; -}; - -struct gcry_mpi; - -typedef struct gcry_mpi *MPI; - -struct dh_ctx { - MPI p; - MPI g; - MPI xa; -}; - -struct dh_safe_prime { - unsigned int max_strength; - unsigned int p_size; - const char *p; -}; - -struct dh_safe_prime_instance_ctx { - struct crypto_kpp_spawn dh_spawn; - const struct dh_safe_prime *safe_prime; -}; - -struct dh_safe_prime_tfm_ctx { - struct crypto_kpp *dh_tfm; -}; - -struct dictionary { - uint8_t *buf; - size_t start; - size_t pos; - size_t full; - size_t limit; - size_t end; - uint32_t size; - uint32_t size_max; - uint32_t allocated; - enum xz_mode mode; -}; - -struct die_args { - struct pt_regs *regs; - const char *str; - long int err; - int trapnr; - int signr; -}; - -struct digest_info { - const char *alg; - const u8 *digest; - size_t digest_len; -}; - -struct dim_stats { - int ppms; - int bpms; - int epms; - int cpms; - int cpe_ratio; -}; - -struct dim_sample { - ktime_t time; - u32 pkt_ctr; - u32 byte_ctr; - u16 event_ctr; - u32 comp_ctr; -}; - -struct dim { - u8 state; - struct dim_stats prev_stats; - struct dim_sample start_sample; - struct dim_sample measuring_sample; - struct work_struct work; - void *priv; - u8 profile_ix; - u8 mode; - u8 tune_state; - u8 steps_right; - u8 steps_left; - u8 tired; -}; - -struct dim_cq_moder { - u16 usec; - u16 pkts; - u16 comps; - u8 cq_period_mode; - struct callback_head rcu; -}; - -struct dim_irq_moder { - u8 profile_flags; - u8 coal_flags; - u8 dim_rx_mode; - u8 dim_tx_mode; - struct dim_cq_moder *rx_profile; - struct dim_cq_moder *tx_profile; - void (*rx_dim_work)(struct work_struct *); - void (*tx_dim_work)(struct work_struct *); -}; - -struct dimm_info { - struct device dev; - char label[32]; - unsigned int location[3]; - struct mem_ctl_info *mci; - unsigned int idx; - u32 grain; - enum dev_type dtype; - enum mem_type mtype; - enum edac_type edac_mode; - u32 nr_pages; - unsigned int csrow; - unsigned int cschannel; - u16 smbios_handle; - u32 ce_count; - u32 ue_count; -}; - -typedef int dio_iodone_t(struct kiocb *, loff_t, ssize_t, void *); - -struct dio { - int flags; - blk_opf_t opf; - struct gendisk *bio_disk; - struct inode *inode; - loff_t i_size; - dio_iodone_t *end_io; - bool is_pinned; - void *private; - spinlock_t bio_lock; - int page_errors; - int is_async; - bool defer_completion; - bool should_dirty; - int io_error; - long unsigned int refcount; - struct bio *bio_list; - struct task_struct *waiter; - struct kiocb *iocb; - ssize_t result; - union { - struct page *pages[64]; - struct work_struct complete_work; - }; - long: 64; -}; - -typedef int get_block_t(struct inode *, sector_t, struct buffer_head *, int); - -struct dio_submit { - struct bio *bio; - unsigned int blkbits; - unsigned int blkfactor; - unsigned int start_zero_done; - int pages_in_io; - sector_t block_in_file; - unsigned int blocks_available; - int reap_counter; - sector_t final_block_in_request; - int boundary; - get_block_t *get_block; - loff_t logical_offset_in_bio; - sector_t final_block_in_bio; - sector_t next_block_for_io; - struct page *cur_page; - unsigned int cur_page_offset; - unsigned int cur_page_len; - sector_t cur_page_block; - loff_t cur_page_fs_offset; - struct iov_iter *iter; - unsigned int head; - unsigned int tail; - size_t from; - size_t to; -}; - -struct dir_entry { - struct list_head list; - time64_t mtime; - char name[0]; -}; - -struct fname; - -struct dir_private_info { - struct rb_root root; - struct rb_node *curr_node; - struct fname *extra_fname; - loff_t last_pos; - __u32 curr_hash; - __u32 curr_minor_hash; - __u32 next_hash; - u64 cookie; - bool initialized; -}; - -struct wb_domain; - -struct dirty_throttle_control { - struct wb_domain *dom; - struct dirty_throttle_control *gdtc; - struct bdi_writeback *wb; - struct fprop_local_percpu *wb_completions; - long unsigned int avail; - long unsigned int dirty; - long unsigned int thresh; - long unsigned int bg_thresh; - long unsigned int limit; - long unsigned int wb_dirty; - long unsigned int wb_thresh; - long unsigned int wb_bg_thresh; - long unsigned int pos_ratio; - bool freerun; - bool dirty_exceeded; -}; - -struct disk_comp_opts { - __le32 dictionary_size; - __le32 flags; -}; - -struct disk_events { - struct list_head node; - struct gendisk *disk; - spinlock_t lock; - struct mutex block_mutex; - int block; - unsigned int pending; - unsigned int clearing; - long int poll_msecs; - struct delayed_work dwork; -}; - -struct disk_report_zones_cb_args { - struct gendisk *disk; - report_zones_cb user_cb; - void *user_data; -}; - -struct disk_stats { - u64 nsecs[4]; - long unsigned int sectors[4]; - long unsigned int ios[4]; - long unsigned int merges[4]; - long unsigned int io_ticks; - local_t in_flight[2]; -}; - -struct disklabel { - __le32 d_magic; - __le16 d_type; - __le16 d_subtype; - u8 d_typename[16]; - u8 d_packname[16]; - __le32 d_secsize; - __le32 d_nsectors; - __le32 d_ntracks; - __le32 d_ncylinders; - __le32 d_secpercyl; - __le32 d_secprtunit; - __le16 d_sparespertrack; - __le16 d_sparespercyl; - __le32 d_acylinders; - __le16 d_rpm; - __le16 d_interleave; - __le16 d_trackskew; - __le16 d_cylskew; - __le32 d_headswitch; - __le32 d_trkseek; - __le32 d_flags; - __le32 d_drivedata[5]; - __le32 d_spare[5]; - __le32 d_magic2; - __le16 d_checksum; - __le16 d_npartitions; - __le32 d_bbsize; - __le32 d_sbsize; - struct d_partition d_partitions[18]; -}; - -struct disklabel___2 { - u8 d_reserved[270]; - struct d_partition___2 d_partitions[2]; - u8 d_blank[208]; - __le16 d_magic; -} __attribute__((packed)); - -struct dispatch_rq_data { - struct blk_mq_hw_ctx *hctx; - struct request *rq; -}; - -struct timing_entry { - u32 min; - u32 typ; - u32 max; -}; - -struct display_timing { - struct timing_entry pixelclock; - struct timing_entry hactive; - struct timing_entry hfront_porch; - struct timing_entry hback_porch; - struct timing_entry hsync_len; - struct timing_entry vactive; - struct timing_entry vfront_porch; - struct timing_entry vback_porch; - struct timing_entry vsync_len; - enum display_flags flags; -}; - -struct display_timings { - unsigned int num_timings; - unsigned int native_mode; - struct display_timing **timings; -}; - -struct displayid_block { - u8 tag; - u8 rev; - u8 num_bytes; -}; - -struct displayid_detailed_timings_1 { - u8 pixel_clock[3]; - u8 flags; - __le16 hactive; - __le16 hblank; - __le16 hsync; - __le16 hsw; - __le16 vactive; - __le16 vblank; - __le16 vsync; - __le16 vsw; -}; - -struct displayid_detailed_timing_block { - struct displayid_block base; - struct displayid_detailed_timings_1 timings[0]; -} __attribute__((packed)); - -struct displayid_formula_timings_9 { - u8 flags; - __le16 hactive; - __le16 vactive; - u8 vrefresh; -} __attribute__((packed)); - -struct displayid_formula_timing_block { - struct displayid_block base; - struct displayid_formula_timings_9 timings[0]; -}; - -struct displayid_header { - u8 rev; - u8 bytes; - u8 prod_id; - u8 ext_count; -}; - -struct drm_edid_ident { - u32 panel_id; - const char *name; -}; - -struct displayid_quirk { - const struct drm_edid_ident ident; - u8 quirks; -}; - -struct displayid_tiled_block { - struct displayid_block base; - u8 tile_cap; - u8 topo[3]; - u8 tile_size[4]; - u8 tile_pixel_bezel[5]; - u8 topology_id[8]; -}; - -struct displayid_vesa_vendor_specific_block { - struct displayid_block base; - u8 oui[3]; - u8 data_structure_type; - u8 mso; -}; - -struct volumeid { - u8 vid_unused[248]; - u8 vid_mac[8]; -}; - -struct dkconfig { - u8 ios_unused0[128]; - __be32 ios_slcblk; - __be16 ios_slccnt; - u8 ios_unused1[122]; -}; - -struct dkblk0 { - struct volumeid dk_vid; - struct dkconfig dk_ios; -}; - -struct dl_bw { - raw_spinlock_t lock; - u64 bw; - u64 total_bw; -}; - -struct dl_rq { - struct rb_root_cached root; - unsigned int dl_nr_running; - struct { - u64 curr; - u64 next; - } earliest_dl; - bool overloaded; - struct rb_root_cached pushable_dl_tasks_root; - u64 running_bw; - u64 this_bw; - u64 extra_bw; - u64 max_bw; - u64 bw_ratio; -}; - -struct dm_arg { - unsigned int min; - unsigned int max; - char *error; -}; - -struct dm_arg_set { - unsigned int argc; - char **argv; -}; - -struct dm_blkdev_id { - u8 *id; - enum blk_unique_id type; -}; - -struct dm_crypt_key { - unsigned int key_size; - char key_desc[128]; - u8 data[256]; -}; - -struct mapped_device; - -struct dm_crypto_profile { - struct blk_crypto_profile profile; - struct mapped_device *md; -}; - -struct dm_dev { - struct block_device *bdev; - struct file *bdev_file; - struct dax_device *dax_dev; - blk_mode_t mode; - char name[16]; -}; - -struct dm_dev_internal { - struct list_head list; - refcount_t count; - struct dm_dev *dm_dev; -}; - -struct dm_ioctl { - __u32 version[3]; - __u32 data_size; - __u32 data_start; - __u32 target_count; - __s32 open_count; - __u32 flags; - __u32 event_nr; - __u32 padding; - __u64 dev; - char name[128]; - char uuid[129]; - char data[7]; -}; - -struct dm_target_spec; - -struct dm_device { - struct dm_ioctl dmi; - struct dm_target_spec *table[256]; - char *target_args_array[256]; - struct list_head list; -}; - -struct dm_device_zone_count { - sector_t start; - sector_t len; - unsigned int total_nr_seq_zones; - unsigned int target_nr_seq_zones; -}; - -struct dm_file { - volatile unsigned int global_event_nr; -}; - -struct dm_hw_stat_delta { - long unsigned int last_rx; - long unsigned int last_drop_val; - struct callback_head rcu; -}; - -struct dm_ima_device_table_metadata { - char *device_metadata; - unsigned int device_metadata_len; - unsigned int num_targets; - char *hash; - unsigned int hash_len; -}; - -struct dm_ima_measurements { - struct dm_ima_device_table_metadata active_table; - struct dm_ima_device_table_metadata inactive_table; - unsigned int dm_version_str_len; -}; - -struct dm_stats_aux { - bool merged; - long long unsigned int duration_ns; -}; - -struct dm_target; - -struct dm_target_io { - short unsigned int magic; - blk_short_t flags; - unsigned int target_bio_nr; - struct dm_io *io; - struct dm_target *ti; - unsigned int *len_ptr; - sector_t old_sector; - struct bio clone; -}; - -struct dm_io { - short unsigned int magic; - blk_short_t flags; - spinlock_t lock; - long unsigned int start_time; - void *data; - struct dm_io *next; - struct dm_stats_aux stats_aux; - blk_status_t status; - atomic_t io_count; - struct mapped_device *md; - struct bio *orig_bio; - unsigned int sector_offset; - unsigned int sectors; - struct dm_target_io tio; -}; - -struct dm_io_client { - mempool_t pool; - struct bio_set bios; -}; - -struct page_list; - -struct dm_io_memory { - enum dm_io_mem_type type; - unsigned int offset; - union { - struct page_list *pl; - struct bio *bio; - void *vma; - void *addr; - } ptr; -}; - -typedef void (*io_notify_fn)(long unsigned int, void *); - -struct dm_io_notify { - io_notify_fn fn; - void *context; -}; - -struct dm_io_region { - struct block_device *bdev; - sector_t sector; - sector_t count; -}; - -struct dm_io_request { - blk_opf_t bi_opf; - struct dm_io_memory mem; - struct dm_io_notify notify; - struct dm_io_client *client; -}; - -struct dm_kcopyd_throttle; - -struct dm_kcopyd_client { - struct page_list *pages; - unsigned int nr_reserved_pages; - unsigned int nr_free_pages; - unsigned int sub_job_size; - struct dm_io_client *io_client; - wait_queue_head_t destroyq; - mempool_t job_pool; - struct workqueue_struct *kcopyd_wq; - struct work_struct kcopyd_work; - struct dm_kcopyd_throttle *throttle; - atomic_t nr_jobs; - spinlock_t job_lock; - struct list_head callback_jobs; - struct list_head complete_jobs; - struct list_head io_jobs; - struct list_head pages_jobs; -}; - -struct dm_kcopyd_throttle { - unsigned int throttle; - unsigned int num_io_jobs; - unsigned int io_period; - unsigned int total_period; - unsigned int last_jiffies; -}; - -struct dm_kobject_holder { - struct kobject kobj; - struct completion completion; -}; - -struct dm_md_mempools { - struct bio_set bs; - struct bio_set io_bs; -}; - -struct dm_name_list { - __u64 dev; - __u32 next; - char name[0]; -}; - -struct pr_keys; - -struct pr_held_reservation; - -struct dm_pr { - u64 old_key; - u64 new_key; - u32 flags; - bool abort; - bool fail_early; - int ret; - enum pr_type type; - struct pr_keys *read_keys; - struct pr_held_reservation *rsv; -}; - -struct dm_report_zones_args { - struct dm_target *tgt; - sector_t next_sector; - void *orig_data; - report_zones_cb orig_cb; - unsigned int zone_idx; - sector_t start; -}; - -struct dm_rq_target_io; - -struct dm_rq_clone_bio_info { - struct bio *orig; - struct dm_rq_target_io *tio; - struct bio clone; -}; - -struct kthread_work; - -typedef void (*kthread_work_func_t)(struct kthread_work *); - -struct kthread_worker; - -struct kthread_work { - struct list_head node; - kthread_work_func_t func; - struct kthread_worker *worker; - int canceling; -}; - -union map_info { - void *ptr; -}; - -struct dm_rq_target_io { - struct mapped_device *md; - struct dm_target *ti; - struct request *orig; - struct request *clone; - struct kthread_work work; - blk_status_t error; - union map_info info; - struct dm_stats_aux stats_aux; - long unsigned int duration_jiffies; - unsigned int n_sectors; - unsigned int completed; -}; - -struct dm_stat_percpu { - long long unsigned int sectors[2]; - long long unsigned int ios[2]; - long long unsigned int merges[2]; - long long unsigned int ticks[2]; - long long unsigned int io_ticks[2]; - long long unsigned int io_ticks_total; - long long unsigned int time_in_queue; - long long unsigned int *histogram; -}; - -struct dm_stat_shared { - atomic_t in_flight[2]; - long long unsigned int stamp; - struct dm_stat_percpu tmp; -}; - -struct dm_stat { - struct list_head list_entry; - int id; - unsigned int stat_flags; - size_t n_entries; - sector_t start; - sector_t end; - sector_t step; - unsigned int n_histogram_entries; - long long unsigned int *histogram_boundaries; - const char *program_id; - const char *aux_data; - struct callback_head callback_head; - size_t shared_alloc_size; - size_t percpu_alloc_size; - size_t histogram_alloc_size; - struct dm_stat_percpu *stat_percpu[8192]; - struct dm_stat_shared stat_shared[0]; -}; - -struct dm_stats_last_position; - -struct dm_stats { - struct mutex mutex; - struct list_head list; - struct dm_stats_last_position *last; - bool precise_timestamps; -}; - -struct dm_stats_last_position { - sector_t last_sector; - unsigned int last_rw; -}; - -struct dm_sysfs_attr { - struct attribute attr; - ssize_t (*show)(struct mapped_device *, char *); - ssize_t (*store)(struct mapped_device *, const char *, size_t); -}; - -struct target_type; - -struct dm_table { - struct mapped_device *md; - enum dm_queue_mode type; - unsigned int depth; - unsigned int counts[16]; - sector_t *index[16]; - unsigned int num_targets; - unsigned int num_allocated; - sector_t *highs; - struct dm_target *targets; - struct target_type *immutable_target_type; - bool integrity_supported: 1; - bool singleton: 1; - bool flush_bypasses_map: 1; - blk_mode_t mode; - struct list_head devices; - struct rw_semaphore devices_lock; - void (*event_fn)(void *); - void *event_context; - struct dm_md_mempools *mempools; - struct blk_crypto_profile *crypto_profile; -}; - -struct dm_target { - struct dm_table *table; - struct target_type *type; - sector_t begin; - sector_t len; - uint32_t max_io_len; - unsigned int num_flush_bios; - unsigned int num_discard_bios; - unsigned int num_secure_erase_bios; - unsigned int num_write_zeroes_bios; - unsigned int per_io_data_size; - void *private; - char *error; - bool flush_supported: 1; - bool discards_supported: 1; - bool zone_reset_all_supported: 1; - bool max_discard_granularity: 1; - bool limit_swap_bios: 1; - bool emulate_zone_append: 1; - bool accounts_remapped_io: 1; - bool needs_bio_set_dev: 1; - bool flush_bypasses_map: 1; - bool mempool_needs_integrity: 1; -}; - -struct dm_target_deps { - __u32 count; - __u32 padding; - __u64 dev[0]; -}; - -struct dm_target_msg { - __u64 sector; - char message[0]; -}; - -struct dm_target_spec { - __u64 sector_start; - __u64 length; - __s32 status; - __u32 next; - char target_type[16]; -}; - -struct dm_target_versions { - __u32 next; - __u32 version[3]; - char name[0]; -}; - -struct kobj_uevent_env { - char *argv[3]; - char *envp[64]; - int envp_idx; - char buf[2048]; - int buflen; -}; - -struct dm_uevent { - struct mapped_device *md; - enum kobject_action action; - struct kobj_uevent_env ku_env; - struct list_head elist; - char name[128]; - char uuid[129]; -}; - -struct dm_verity_digest { - const char *alg; - const u8 *digest; - size_t digest_len; -}; - -struct dm_wrappedkey_op_args { - enum dm_wrappedkey_op op; - int err; - union { - struct { - const u8 *eph_key; - size_t eph_key_size; - u8 *sw_secret; - } derive_sw_secret; - struct { - const u8 *raw_key; - size_t raw_key_size; - u8 *lt_key; - } import_key; - struct { - u8 *lt_key; - } generate_key; - struct { - const u8 *lt_key; - size_t lt_key_size; - u8 *eph_key; - } prepare_key; - }; -}; - -struct queue_limits; - -struct dm_zone_resource_limits { - unsigned int mapped_nr_seq_zones; - struct queue_limits *lim; - bool reliable_limits; -}; - -typedef void (*dma_async_tx_callback)(void *); - -struct dmaengine_result; - -typedef void (*dma_async_tx_callback_result)(void *, const struct dmaengine_result *); - -struct dmaengine_unmap_data; - -struct dma_descriptor_metadata_ops; - -struct dma_async_tx_descriptor { - dma_cookie_t cookie; - enum dma_ctrl_flags flags; - dma_addr_t phys; - struct dma_chan *chan; - dma_cookie_t (*tx_submit)(struct dma_async_tx_descriptor *); - int (*desc_free)(struct dma_async_tx_descriptor *); - dma_async_tx_callback callback; - dma_async_tx_callback_result callback_result; - void *callback_param; - struct dmaengine_unmap_data *unmap; - enum dma_desc_metadata_mode desc_metadata_mode; - struct dma_descriptor_metadata_ops *metadata_ops; -}; - -struct dma_block { - struct dma_block *next_block; - dma_addr_t dma; -}; - -struct iosys_map { - union { - void *vaddr_iomem; - void *vaddr; - }; - bool is_iomem; -}; - -struct dma_buf_poll_cb_t { - struct dma_fence_cb cb; - wait_queue_head_t *poll; - __poll_t active; -}; - -struct dma_buf_ops; - -struct dma_resv; - -struct dma_buf { - size_t size; - struct file *file; - struct list_head attachments; - const struct dma_buf_ops *ops; - unsigned int vmapping_counter; - struct iosys_map vmap_ptr; - const char *exp_name; - const char *name; - spinlock_t name_lock; - struct module *owner; - struct list_head list_node; - void *priv; - struct dma_resv *resv; - wait_queue_head_t poll; - struct dma_buf_poll_cb_t cb_in; - struct dma_buf_poll_cb_t cb_out; -}; - -struct dma_buf_attachment; - -struct dma_buf_attach_ops { - bool allow_peer2peer; - void (*move_notify)(struct dma_buf_attachment *); -}; - -struct dma_buf_attachment { - struct dma_buf *dmabuf; - struct device *dev; - struct list_head node; - bool peer2peer; - const struct dma_buf_attach_ops *importer_ops; - void *importer_priv; - void *priv; -}; - -struct dma_buf_export_info { - const char *exp_name; - struct module *owner; - const struct dma_buf_ops *ops; - size_t size; - int flags; - struct dma_resv *resv; - void *priv; -}; - -struct dma_buf_export_sync_file { - __u32 flags; - __s32 fd; -}; - -struct dma_buf_import_sync_file { - __u32 flags; - __s32 fd; -}; - -struct sg_table; - -struct dma_buf_ops { - int (*attach)(struct dma_buf *, struct dma_buf_attachment *); - void (*detach)(struct dma_buf *, struct dma_buf_attachment *); - int (*pin)(struct dma_buf_attachment *); - void (*unpin)(struct dma_buf_attachment *); - struct sg_table * (*map_dma_buf)(struct dma_buf_attachment *, enum dma_data_direction); - void (*unmap_dma_buf)(struct dma_buf_attachment *, struct sg_table *, enum dma_data_direction); - void (*release)(struct dma_buf *); - int (*begin_cpu_access)(struct dma_buf *, enum dma_data_direction); - int (*end_cpu_access)(struct dma_buf *, enum dma_data_direction); - int (*mmap)(struct dma_buf *, struct vm_area_struct *); - int (*vmap)(struct dma_buf *, struct iosys_map *); - void (*vunmap)(struct dma_buf *, struct iosys_map *); -}; - -struct dma_buf_sync { - __u64 flags; -}; - -struct dma_chan___2 { - int lock; - const char *device_id; -}; - -struct dma_device; - -struct dma_chan_dev; - -struct dma_chan_percpu; - -struct dma_router; - -struct dma_chan { - struct dma_device *device; - struct device *slave; - dma_cookie_t cookie; - dma_cookie_t completed_cookie; - int chan_id; - struct dma_chan_dev *dev; - const char *name; - char *dbg_client_name; - struct list_head device_node; - struct dma_chan_percpu *local; - int client_count; - int table_count; - struct dma_router *router; - void *route_data; - void *private; -}; - -struct dma_chan_dev { - struct dma_chan *chan; - struct device device; - int dev_id; - bool chan_dma_dev; -}; - -struct dma_chan_percpu { - long unsigned int memcpy_count; - long unsigned int bytes_transferred; -}; - -struct dma_chan_tbl_ent { - struct dma_chan *chan; -}; - -struct dma_descriptor_metadata_ops { - int (*attach)(struct dma_async_tx_descriptor *, void *, size_t); - void * (*get_ptr)(struct dma_async_tx_descriptor *, size_t *, size_t *); - int (*set_len)(struct dma_async_tx_descriptor *, size_t); -}; - -struct dma_slave_map; - -struct dma_filter { - dma_filter_fn fn; - int mapcnt; - const struct dma_slave_map *map; -}; - -struct dma_vec; - -struct dma_interleaved_template; - -struct dma_slave_caps; - -struct dma_slave_config; - -struct dma_tx_state; - -struct dma_device { - struct kref ref; - unsigned int chancnt; - unsigned int privatecnt; - struct list_head channels; - struct list_head global_node; - struct dma_filter filter; - dma_cap_mask_t cap_mask; - enum dma_desc_metadata_mode desc_metadata_modes; - short unsigned int max_xor; - short unsigned int max_pq; - enum dmaengine_alignment copy_align; - enum dmaengine_alignment xor_align; - enum dmaengine_alignment pq_align; - enum dmaengine_alignment fill_align; - int dev_id; - struct device *dev; - struct module *owner; - struct ida chan_ida; - u32 src_addr_widths; - u32 dst_addr_widths; - u32 directions; - u32 min_burst; - u32 max_burst; - u32 max_sg_burst; - bool descriptor_reuse; - enum dma_residue_granularity residue_granularity; - int (*device_alloc_chan_resources)(struct dma_chan *); - int (*device_router_config)(struct dma_chan *); - void (*device_free_chan_resources)(struct dma_chan *); - struct dma_async_tx_descriptor * (*device_prep_dma_memcpy)(struct dma_chan *, dma_addr_t, dma_addr_t, size_t, long unsigned int); - struct dma_async_tx_descriptor * (*device_prep_dma_xor)(struct dma_chan *, dma_addr_t, dma_addr_t *, unsigned int, size_t, long unsigned int); - struct dma_async_tx_descriptor * (*device_prep_dma_xor_val)(struct dma_chan *, dma_addr_t *, unsigned int, size_t, enum sum_check_flags *, long unsigned int); - struct dma_async_tx_descriptor * (*device_prep_dma_pq)(struct dma_chan *, dma_addr_t *, dma_addr_t *, unsigned int, const unsigned char *, size_t, long unsigned int); - struct dma_async_tx_descriptor * (*device_prep_dma_pq_val)(struct dma_chan *, dma_addr_t *, dma_addr_t *, unsigned int, const unsigned char *, size_t, enum sum_check_flags *, long unsigned int); - struct dma_async_tx_descriptor * (*device_prep_dma_memset)(struct dma_chan *, dma_addr_t, int, size_t, long unsigned int); - struct dma_async_tx_descriptor * (*device_prep_dma_memset_sg)(struct dma_chan *, struct scatterlist *, unsigned int, int, long unsigned int); - struct dma_async_tx_descriptor * (*device_prep_dma_interrupt)(struct dma_chan *, long unsigned int); - struct dma_async_tx_descriptor * (*device_prep_peripheral_dma_vec)(struct dma_chan *, const struct dma_vec *, size_t, enum dma_transfer_direction, long unsigned int); - struct dma_async_tx_descriptor * (*device_prep_slave_sg)(struct dma_chan *, struct scatterlist *, unsigned int, enum dma_transfer_direction, long unsigned int, void *); - struct dma_async_tx_descriptor * (*device_prep_dma_cyclic)(struct dma_chan *, dma_addr_t, size_t, size_t, enum dma_transfer_direction, long unsigned int); - struct dma_async_tx_descriptor * (*device_prep_interleaved_dma)(struct dma_chan *, struct dma_interleaved_template *, long unsigned int); - void (*device_caps)(struct dma_chan *, struct dma_slave_caps *); - int (*device_config)(struct dma_chan *, struct dma_slave_config *); - int (*device_pause)(struct dma_chan *); - int (*device_resume)(struct dma_chan *); - int (*device_terminate_all)(struct dma_chan *); - void (*device_synchronize)(struct dma_chan *); - enum dma_status (*device_tx_status)(struct dma_chan *, dma_cookie_t, struct dma_tx_state *); - void (*device_issue_pending)(struct dma_chan *); - void (*device_release)(struct dma_device *); - void (*dbg_summary_show)(struct seq_file *, struct dma_device *); - struct dentry *dbg_dev_root; -}; - -struct dma_devres { - size_t size; - void *vaddr; - dma_addr_t dma_handle; - long unsigned int attrs; -}; - -struct dma_fence_ops; - -struct dma_fence { - spinlock_t *lock; - const struct dma_fence_ops *ops; - union { - struct list_head cb_list; - ktime_t timestamp; - struct callback_head rcu; - }; - u64 context; - u64 seqno; - long unsigned int flags; - struct kref refcount; - int error; -}; - -struct dma_fence_array; - -struct dma_fence_array_cb { - struct dma_fence_cb cb; - struct dma_fence_array *array; -}; - -struct dma_fence_array { - struct dma_fence base; - spinlock_t lock; - unsigned int num_fences; - atomic_t num_pending; - struct dma_fence **fences; - struct irq_work work; - struct dma_fence_array_cb callbacks[0]; -}; - -struct dma_fence_chain { - struct dma_fence base; - struct dma_fence *prev; - u64 prev_seqno; - struct dma_fence *fence; - union { - struct dma_fence_cb cb; - struct irq_work work; - }; - spinlock_t lock; -}; - -struct dma_fence_ops { - const char * (*get_driver_name)(struct dma_fence *); - const char * (*get_timeline_name)(struct dma_fence *); - bool (*enable_signaling)(struct dma_fence *); - bool (*signaled)(struct dma_fence *); - long int (*wait)(struct dma_fence *, bool, long int); - void (*release)(struct dma_fence *); - void (*set_deadline)(struct dma_fence *, ktime_t); -}; - -struct dma_fence_unwrap { - struct dma_fence *chain; - struct dma_fence *array; - unsigned int index; -}; - -struct dma_heap_ops; - -struct dma_heap { - const char *name; - const struct dma_heap_ops *ops; - void *priv; - dev_t heap_devt; - struct list_head list; - struct cdev heap_cdev; -}; - -struct dma_heap_allocation_data { - __u64 len; - __u32 fd; - __u32 fd_flags; - __u64 heap_flags; -}; - -struct sg_table { - struct scatterlist *sgl; - unsigned int nents; - unsigned int orig_nents; -}; - -struct dma_heap_attachment { - struct device *dev; - struct sg_table table; - struct list_head list; - bool mapped; -}; - -struct dma_heap_export_info { - const char *name; - const struct dma_heap_ops *ops; - void *priv; -}; - -struct dma_heap_ops { - struct dma_buf * (*allocate)(struct dma_heap *, long unsigned int, u32, u64); -}; - -struct dma_interleaved_template { - dma_addr_t src_start; - dma_addr_t dst_start; - enum dma_transfer_direction dir; - bool src_inc; - bool dst_inc; - bool src_sgl; - bool dst_sgl; - size_t numf; - size_t frame_size; - struct data_chunk sgl[0]; -}; - -struct dma_iova_state { - dma_addr_t addr; - u64 __size; -}; - -struct dma_map_ops { - void * (*alloc)(struct device *, size_t, dma_addr_t *, gfp_t, long unsigned int); - void (*free)(struct device *, size_t, void *, dma_addr_t, long unsigned int); - struct page * (*alloc_pages_op)(struct device *, size_t, dma_addr_t *, enum dma_data_direction, gfp_t); - void (*free_pages)(struct device *, size_t, struct page *, dma_addr_t, enum dma_data_direction); - int (*mmap)(struct device *, struct vm_area_struct *, void *, dma_addr_t, size_t, long unsigned int); - int (*get_sgtable)(struct device *, struct sg_table *, void *, dma_addr_t, size_t, long unsigned int); - dma_addr_t (*map_page)(struct device *, struct page *, long unsigned int, size_t, enum dma_data_direction, long unsigned int); - void (*unmap_page)(struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int); - int (*map_sg)(struct device *, struct scatterlist *, int, enum dma_data_direction, long unsigned int); - void (*unmap_sg)(struct device *, struct scatterlist *, int, enum dma_data_direction, long unsigned int); - dma_addr_t (*map_resource)(struct device *, phys_addr_t, size_t, enum dma_data_direction, long unsigned int); - void (*unmap_resource)(struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int); - void (*sync_single_for_cpu)(struct device *, dma_addr_t, size_t, enum dma_data_direction); - void (*sync_single_for_device)(struct device *, dma_addr_t, size_t, enum dma_data_direction); - void (*sync_sg_for_cpu)(struct device *, struct scatterlist *, int, enum dma_data_direction); - void (*sync_sg_for_device)(struct device *, struct scatterlist *, int, enum dma_data_direction); - void (*cache_sync)(struct device *, void *, size_t, enum dma_data_direction); - int (*dma_supported)(struct device *, u64); - u64 (*get_required_mask)(struct device *); - size_t (*max_mapping_size)(struct device *); - size_t (*opt_mapping_size)(void); - long unsigned int (*get_merge_boundary)(struct device *); -}; - -struct dma_page { - struct list_head page_list; - void *vaddr; - dma_addr_t dma; -}; - -struct dma_pool { - struct list_head page_list; - spinlock_t lock; - struct dma_block *next_block; - size_t nr_blocks; - size_t nr_active; - size_t nr_pages; - struct device *dev; - unsigned int size; - unsigned int allocation; - unsigned int boundary; - int node; - char name[32]; - struct list_head pools; -}; - -struct dma_pte { - u64 val; -}; - -struct ww_acquire_ctx; - -struct ww_mutex { - struct mutex base; - struct ww_acquire_ctx *ctx; -}; - -struct dma_resv_list; - -struct dma_resv { - struct ww_mutex lock; - struct dma_resv_list *fences; -}; - -struct dma_resv_iter { - struct dma_resv *obj; - enum dma_resv_usage usage; - struct dma_fence *fence; - enum dma_resv_usage fence_usage; - unsigned int index; - struct dma_resv_list *fences; - unsigned int num_fences; - bool is_restarted; -}; - -struct dma_resv_list { - struct callback_head rcu; - u32 num_fences; - u32 max_fences; - struct dma_fence *table[0]; -}; - -struct dma_router { - struct device *dev; - void (*route_free)(struct device *, void *); -}; - -struct dma_sgt_handle { - struct sg_table sgt; - struct page **pages; -}; - -struct dma_slave_caps { - u32 src_addr_widths; - u32 dst_addr_widths; - u32 directions; - u32 min_burst; - u32 max_burst; - u32 max_sg_burst; - bool cmd_pause; - bool cmd_resume; - bool cmd_terminate; - enum dma_residue_granularity residue_granularity; - bool descriptor_reuse; -}; - -struct dma_slave_config { - enum dma_transfer_direction direction; - phys_addr_t src_addr; - phys_addr_t dst_addr; - enum dma_slave_buswidth src_addr_width; - enum dma_slave_buswidth dst_addr_width; - u32 src_maxburst; - u32 dst_maxburst; - u32 src_port_window_size; - u32 dst_port_window_size; - bool device_fc; - void *peripheral_config; - size_t peripheral_size; -}; - -struct dma_slave_map { - const char *devname; - const char *slave; - void *param; -}; - -struct dma_tx_state { - dma_cookie_t last; - dma_cookie_t used; - u32 residue; - u32 in_flight_bytes; -}; - -struct dma_vec { - dma_addr_t addr; - size_t len; -}; - -struct dmabuf_cmsg { - __u64 frag_offset; - __u32 frag_size; - __u32 frag_token; - __u32 dmabuf_id; - __u32 flags; -}; - -struct net_iov; - -struct net_iov_area { - struct net_iov *niovs; - size_t num_niovs; - long unsigned int base_virtual; -}; - -struct net_devmem_dmabuf_binding; - -struct dmabuf_genpool_chunk_owner { - struct net_iov_area area; - struct net_devmem_dmabuf_binding *binding; - dma_addr_t base_dma_addr; -}; - -struct dmabuf_iter_priv { - struct dma_buf *dmabuf; -}; - -struct dmabuf_token { - __u32 token_start; - __u32 token_count; -}; - -struct dmaengine_desc_callback { - dma_async_tx_callback callback; - dma_async_tx_callback_result callback_result; - void *callback_param; -}; - -struct dmaengine_result { - enum dmaengine_tx_result result; - u32 residue; -}; - -struct dmaengine_unmap_data { - u16 map_cnt; - u8 to_cnt; - u8 from_cnt; - u8 bidi_cnt; - struct device *dev; - struct kref kref; - size_t len; - dma_addr_t addr[0]; -}; - -struct dmaengine_unmap_pool { - struct kmem_cache *cache; - const char *name; - mempool_t *pool; - size_t size; -}; - -struct dmar_dev_scope; - -struct dmar_atsr_unit { - struct list_head list; - struct acpi_dmar_header *hdr; - struct dmar_dev_scope *devices; - int devices_cnt; - u8 include_all: 1; -}; - -struct dmar_dev_scope { - struct device *dev; - u8 bus; - u8 devfn; -}; - -struct iommu_hwpt_vtd_s1 { - __u64 flags; - __u64 pgtbl_addr; - __u32 addr_width; - __u32 __reserved; -}; - -struct mmu_notifier_ops; - -struct mmu_notifier { - struct hlist_node hlist; - const struct mmu_notifier_ops *ops; - struct mm_struct *mm; - struct callback_head rcu; - unsigned int users; -}; - -struct iommu_domain_geometry { - dma_addr_t aperture_start; - dma_addr_t aperture_end; - bool force_aperture; -}; - -struct iommu_domain; - -typedef int (*iommu_fault_handler_t)(struct iommu_domain *, struct device *, long unsigned int, int, void *); - -struct iommu_domain_ops; - -struct iommu_dirty_ops; - -struct iopf_group; - -struct iommu_dma_cookie; - -struct iommu_dma_msi_cookie; - -struct iommufd_hw_pagetable; - -struct iommu_domain { - unsigned int type; - enum iommu_domain_cookie_type cookie_type; - const struct iommu_domain_ops *ops; - const struct iommu_dirty_ops *dirty_ops; - const struct iommu_ops *owner; - long unsigned int pgsize_bitmap; - struct iommu_domain_geometry geometry; - int (*iopf_handler)(struct iopf_group *); - union { - struct iommu_dma_cookie *iova_cookie; - struct iommu_dma_msi_cookie *msi_cookie; - struct iommufd_hw_pagetable *iommufd_hwpt; - struct { - iommu_fault_handler_t handler; - void *handler_token; - }; - struct { - struct mm_struct *mm; - int users; - struct list_head next; - }; - }; -}; - -struct qi_batch; - -struct dmar_domain { - int nid; - struct xarray iommu_array; - u8 iommu_coherency: 1; - u8 force_snooping: 1; - u8 set_pte_snp: 1; - u8 use_first_level: 1; - u8 dirty_tracking: 1; - u8 nested_parent: 1; - u8 has_mappings: 1; - u8 iotlb_sync_map: 1; - spinlock_t lock; - struct list_head devices; - struct list_head dev_pasids; - spinlock_t cache_lock; - struct list_head cache_tags; - struct qi_batch *qi_batch; - int iommu_superpage; - union { - struct { - struct dma_pte *pgd; - int gaw; - int agaw; - u64 max_addr; - spinlock_t s1_lock; - struct list_head s1_domains; - }; - struct { - struct dmar_domain *s2_domain; - struct iommu_hwpt_vtd_s1 s1_cfg; - struct list_head s2_link; - }; - struct { - struct mmu_notifier notifier; - }; - }; - struct iommu_domain domain; -}; - -struct dmar_drhd_unit { - struct list_head list; - struct acpi_dmar_header *hdr; - u64 reg_base_addr; - long unsigned int reg_size; - struct dmar_dev_scope *devices; - int devices_cnt; - u16 segment; - u8 ignored: 1; - u8 include_all: 1; - u8 gfx_dedicated: 1; - struct intel_iommu *iommu; -}; - -struct dmar_pci_path { - u8 bus; - u8 device; - u8 function; -}; - -struct dmar_pci_notify_info { - struct pci_dev *dev; - long unsigned int event; - int bus; - u16 seg; - u16 level; - struct dmar_pci_path path[0]; -}; - -typedef int (*dmar_res_handler_t)(struct acpi_dmar_header *, void *); - -struct dmar_res_callback { - dmar_res_handler_t cb[7]; - void *arg[7]; - bool ignore_unhandled; - bool print_entry; -}; - -struct dmar_rmrr_unit { - struct list_head list; - struct acpi_dmar_header *hdr; - u64 base_address; - u64 end_address; - struct dmar_dev_scope *devices; - int devices_cnt; -}; - -struct dmar_satc_unit { - struct list_head list; - struct acpi_dmar_header *hdr; - struct dmar_dev_scope *devices; - struct intel_iommu *iommu; - int devices_cnt; - u8 atc_required: 1; -}; - -struct page_counter { - atomic_long_t usage; - long unsigned int failcnt; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - struct cacheline_padding _pad1_; - long unsigned int emin; - atomic_long_t min_usage; - atomic_long_t children_min_usage; - long unsigned int elow; - atomic_long_t low_usage; - atomic_long_t children_low_usage; - long unsigned int watermark; - long unsigned int local_watermark; - struct cacheline_padding _pad2_; - bool protection_support; - bool track_failcnt; - long unsigned int min; - long unsigned int low; - long unsigned int high; - long unsigned int max; - struct page_counter *parent; - long: 64; - long: 64; -}; - -struct dmem_cgroup_region; - -struct dmemcg_state; - -struct dmem_cgroup_pool_state { - struct dmem_cgroup_region *region; - struct dmemcg_state *cs; - struct list_head css_node; - struct list_head region_node; - struct callback_head rcu; - struct page_counter cnt; - bool inited; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct dmem_cgroup_region { - struct kref ref; - struct callback_head rcu; - struct list_head region_node; - struct list_head pools; - u64 size; - char *name; - bool unregistered; -}; - -struct dmemcg_state { - struct cgroup_subsys_state css; - struct list_head pools; -}; - -struct dmi_device { - struct list_head list; - int type; - const char *name; - void *device_data; -}; - -struct dmi_dev_onboard { - struct dmi_device dev; - int instance; - int segment; - int bus; - int devfn; -}; - -struct dmi_device_attribute { - struct device_attribute dev_attr; - int field; -}; - -struct dmi_header { - u8 type; - u8 length; - u16 handle; -}; - -struct dmi_memdev_info { - const char *device; - const char *bank; - u64 size; - u16 handle; - u8 type; -}; - -struct dmi_strmatch { - unsigned char slot: 7; - unsigned char exact_match: 1; - char substr[79]; -}; - -struct dmi_system_id { - int (*callback)(const struct dmi_system_id *); - const char *ident; - struct dmi_strmatch matches[4]; - void *driver_data; -}; - -struct fb_videomode; - -struct dmt_videomode { - u32 dmt_id; - u32 std_2byte_code; - u32 cvt_3byte_code; - const struct fb_videomode *mode; -}; - -struct dnotify_struct; - -struct dnotify_mark { - struct fsnotify_mark fsn_mark; - struct dnotify_struct *dn; -}; - -typedef void *fl_owner_t; - -struct dnotify_struct { - struct dnotify_struct *dn_next; - __u32 dn_mask; - int dn_fd; - struct file *dn_filp; - fl_owner_t dn_owner; -}; - -struct dns_payload_header { - __u8 zero; - __u8 content; - __u8 version; -}; - -struct dns_server_list_v1_header { - struct dns_payload_header hdr; - __u8 source; - __u8 status; - __u8 nr_servers; -}; - -struct do_proc_dointvec_minmax_conv_param { - int *min; - int *max; -}; - -struct do_proc_douintvec_minmax_conv_param { - unsigned int *min; - unsigned int *max; -}; - -struct dock_dependent_device { - struct list_head list; - struct acpi_device *adev; -}; - -struct dock_station { - acpi_handle handle; - long unsigned int last_dock_time; - u32 flags; - struct list_head dependent_devices; - struct list_head sibling; - struct platform_device *dock_device; -}; - -struct dom0_vga_console_info { - uint8_t video_type; - union { - struct { - uint16_t font_height; - uint16_t cursor_x; - uint16_t cursor_y; - uint16_t rows; - uint16_t columns; - } text_mode_3; - struct { - uint16_t width; - uint16_t height; - uint16_t bytes_per_line; - uint16_t bits_per_pixel; - uint32_t lfb_base; - uint32_t lfb_size; - uint8_t red_pos; - uint8_t red_size; - uint8_t green_pos; - uint8_t green_size; - uint8_t blue_pos; - uint8_t blue_size; - uint8_t rsvd_pos; - uint8_t rsvd_size; - uint32_t gbl_caps; - uint16_t mode_attrs; - uint16_t pad; - uint32_t ext_lfb_base; - } vesa_lfb; - } u; -}; - -struct double_list { - struct list_head *top; - struct list_head *bottom; -}; - -struct dp_sdp_header { - u8 HB0; - u8 HB1; - u8 HB2; - u8 HB3; -}; - -struct dp_sdp { - struct dp_sdp_header sdp_header; - u8 db[32]; -}; - -struct dpages { - void (*get_page)(struct dpages *, struct page **, long unsigned int *, unsigned int *); - void (*next_page)(struct dpages *); - union { - unsigned int context_u; - struct bvec_iter context_bi; - }; - void *context_ptr; - void *vma_invalidate_address; - long unsigned int vma_invalidate_size; -}; - -struct dpll_device { - u32 id; - u32 device_idx; - u64 clock_id; - struct module *module; - enum dpll_type type; - struct xarray pin_refs; - refcount_t refcount; - struct list_head registration_list; -}; - -struct dpll_device_ops { - int (*mode_get)(const struct dpll_device *, void *, enum dpll_mode *, struct netlink_ext_ack *); - int (*lock_status_get)(const struct dpll_device *, void *, enum dpll_lock_status *, enum dpll_lock_status_error *, struct netlink_ext_ack *); - int (*temp_get)(const struct dpll_device *, void *, s32 *, struct netlink_ext_ack *); - int (*clock_quality_level_get)(const struct dpll_device *, void *, long unsigned int *, struct netlink_ext_ack *); - int (*phase_offset_monitor_set)(const struct dpll_device *, void *, enum dpll_feature_state, struct netlink_ext_ack *); - int (*phase_offset_monitor_get)(const struct dpll_device *, void *, enum dpll_feature_state *, struct netlink_ext_ack *); -}; - -struct dpll_device_registration { - struct list_head list; - const struct dpll_device_ops *ops; - void *priv; -}; - -struct dpll_dump_ctx { - long unsigned int idx; -}; - -struct dpll_pin_phase_adjust_range { - s32 min; - s32 max; -}; - -struct dpll_pin_frequency; - -struct dpll_pin_properties { - const char *board_label; - const char *panel_label; - const char *package_label; - enum dpll_pin_type type; - long unsigned int capabilities; - u32 freq_supported_num; - struct dpll_pin_frequency *freq_supported; - struct dpll_pin_phase_adjust_range phase_range; -}; - -struct dpll_pin { - u32 id; - u32 pin_idx; - u64 clock_id; - struct module *module; - struct xarray dpll_refs; - struct xarray parent_refs; - struct xarray ref_sync_pins; - struct dpll_pin_properties prop; - refcount_t refcount; - struct callback_head rcu; -}; - -struct dpll_pin_esync { - u64 freq; - const struct dpll_pin_frequency *range; - u8 range_num; - u8 pulse; -}; - -struct dpll_pin_frequency { - u64 min; - u64 max; -}; - -struct dpll_pin_ops { - int (*frequency_set)(const struct dpll_pin *, void *, const struct dpll_device *, void *, const u64, struct netlink_ext_ack *); - int (*frequency_get)(const struct dpll_pin *, void *, const struct dpll_device *, void *, u64 *, struct netlink_ext_ack *); - int (*direction_set)(const struct dpll_pin *, void *, const struct dpll_device *, void *, const enum dpll_pin_direction, struct netlink_ext_ack *); - int (*direction_get)(const struct dpll_pin *, void *, const struct dpll_device *, void *, enum dpll_pin_direction *, struct netlink_ext_ack *); - int (*state_on_pin_get)(const struct dpll_pin *, void *, const struct dpll_pin *, void *, enum dpll_pin_state *, struct netlink_ext_ack *); - int (*state_on_dpll_get)(const struct dpll_pin *, void *, const struct dpll_device *, void *, enum dpll_pin_state *, struct netlink_ext_ack *); - int (*state_on_pin_set)(const struct dpll_pin *, void *, const struct dpll_pin *, void *, const enum dpll_pin_state, struct netlink_ext_ack *); - int (*state_on_dpll_set)(const struct dpll_pin *, void *, const struct dpll_device *, void *, const enum dpll_pin_state, struct netlink_ext_ack *); - int (*prio_get)(const struct dpll_pin *, void *, const struct dpll_device *, void *, u32 *, struct netlink_ext_ack *); - int (*prio_set)(const struct dpll_pin *, void *, const struct dpll_device *, void *, const u32, struct netlink_ext_ack *); - int (*phase_offset_get)(const struct dpll_pin *, void *, const struct dpll_device *, void *, s64 *, struct netlink_ext_ack *); - int (*phase_adjust_get)(const struct dpll_pin *, void *, const struct dpll_device *, void *, s32 *, struct netlink_ext_ack *); - int (*phase_adjust_set)(const struct dpll_pin *, void *, const struct dpll_device *, void *, const s32, struct netlink_ext_ack *); - int (*ffo_get)(const struct dpll_pin *, void *, const struct dpll_device *, void *, s64 *, struct netlink_ext_ack *); - int (*esync_set)(const struct dpll_pin *, void *, const struct dpll_device *, void *, u64, struct netlink_ext_ack *); - int (*esync_get)(const struct dpll_pin *, void *, const struct dpll_device *, void *, struct dpll_pin_esync *, struct netlink_ext_ack *); - int (*ref_sync_set)(const struct dpll_pin *, void *, const struct dpll_pin *, void *, const enum dpll_pin_state, struct netlink_ext_ack *); - int (*ref_sync_get)(const struct dpll_pin *, void *, const struct dpll_pin *, void *, enum dpll_pin_state *, struct netlink_ext_ack *); -}; - -struct dpll_pin_ref { - union { - struct dpll_device *dpll; - struct dpll_pin *pin; - }; - struct list_head registration_list; - refcount_t refcount; -}; - -struct dpll_pin_registration { - struct list_head list; - const struct dpll_pin_ops *ops; - void *priv; - void *cookie; -}; - -struct dql { - unsigned int num_queued; - unsigned int adj_limit; - unsigned int last_obj_cnt; - short unsigned int stall_thrs; - long unsigned int history_head; - long unsigned int history[4]; - long: 64; - unsigned int limit; - unsigned int num_completed; - unsigned int prev_ovlimit; - unsigned int prev_num_queued; - unsigned int prev_last_obj_cnt; - unsigned int lowest_slack; - long unsigned int slack_start_time; - unsigned int max_limit; - unsigned int min_limit; - unsigned int slack_hold_time; - short unsigned int stall_max; - long unsigned int last_reap; - long unsigned int stall_cnt; -}; - -struct dqstats { - long unsigned int stat[8]; - struct percpu_counter counter[8]; -}; - -struct kqid { - union { - kuid_t uid; - kgid_t gid; - kprojid_t projid; - }; - enum quota_type type; -}; - -struct mem_dqblk { - qsize_t dqb_bhardlimit; - qsize_t dqb_bsoftlimit; - qsize_t dqb_curspace; - qsize_t dqb_rsvspace; - qsize_t dqb_ihardlimit; - qsize_t dqb_isoftlimit; - qsize_t dqb_curinodes; - time64_t dqb_btime; - time64_t dqb_itime; -}; - -struct dquot { - struct hlist_node dq_hash; - struct list_head dq_inuse; - struct list_head dq_free; - struct list_head dq_dirty; - struct mutex dq_lock; - spinlock_t dq_dqb_lock; - atomic_t dq_count; - struct super_block *dq_sb; - struct kqid dq_id; - loff_t dq_off; - long unsigned int dq_flags; - struct mem_dqblk dq_dqb; -}; - -struct dquot_operations { - int (*write_dquot)(struct dquot *); - struct dquot * (*alloc_dquot)(struct super_block *, int); - void (*destroy_dquot)(struct dquot *); - int (*acquire_dquot)(struct dquot *); - int (*release_dquot)(struct dquot *); - int (*mark_dirty)(struct dquot *); - int (*write_info)(struct super_block *, int); - qsize_t * (*get_reserved_space)(struct inode *); - int (*get_projid)(struct inode *, kprojid_t *); - int (*get_inode_usage)(struct inode *, qsize_t *); - int (*get_next_id)(struct super_block *, struct kqid *); -}; - -struct dquot_warn { - struct super_block *w_sb; - struct kqid w_dq_id; - short int w_type; -}; - -struct drbg_core { - drbg_flag_t flags; - __u8 statelen; - __u8 blocklen_bytes; - char cra_name[128]; - char backend_cra_name[128]; -}; - -struct drbg_string { - const unsigned char *buf; - size_t len; - struct list_head list; -}; - -struct drbg_state_ops; - -struct drbg_state { - struct mutex drbg_mutex; - unsigned char *V; - unsigned char *Vbuf; - unsigned char *C; - unsigned char *Cbuf; - size_t reseed_ctr; - size_t reseed_threshold; - unsigned char *scratchpad; - unsigned char *scratchpadbuf; - void *priv_data; - struct crypto_skcipher *ctr_handle; - struct skcipher_request *ctr_req; - __u8 *outscratchpadbuf; - __u8 *outscratchpad; - struct crypto_wait ctr_wait; - struct scatterlist sg_in; - struct scatterlist sg_out; - enum drbg_seed_state seeded; - long unsigned int last_seed_time; - bool pr; - bool fips_primed; - unsigned char *prev; - struct crypto_rng *jent; - const struct drbg_state_ops *d_ops; - const struct drbg_core *core; - struct drbg_string test_data; -}; - -struct drbg_state_ops { - int (*update)(struct drbg_state *, struct list_head *, int); - int (*generate)(struct drbg_state *, unsigned char *, unsigned int, struct list_head *); - int (*crypto_init)(struct drbg_state *); - int (*crypto_fini)(struct drbg_state *); -}; - -struct driver_attribute { - struct attribute attr; - ssize_t (*show)(struct device_driver *, char *); - ssize_t (*store)(struct device_driver *, const char *, size_t); -}; - -struct module_kobject; - -struct driver_private { - struct kobject kobj; - struct klist klist_devices; - struct klist_node knode_bus; - struct module_kobject *mkobj; - struct device_driver *driver; -}; - -struct drm_object_properties; - -struct drm_mode_object { - uint32_t id; - uint32_t type; - struct drm_object_properties *properties; - struct kref refcount; - void (*free_cb)(struct kref *); -}; - -struct drm_device; - -struct drm_format_info; - -struct drm_framebuffer_funcs; - -struct drm_gem_object; - -struct drm_framebuffer { - struct drm_device *dev; - struct list_head head; - struct drm_mode_object base; - char comm[16]; - const struct drm_format_info *format; - const struct drm_framebuffer_funcs *funcs; - unsigned int pitches[4]; - unsigned int offsets[4]; - uint64_t modifier; - unsigned int width; - unsigned int height; - int flags; - unsigned int internal_flags; - struct list_head filp_head; - struct drm_gem_object *obj[4]; -}; - -struct drm_afbc_framebuffer { - struct drm_framebuffer base; - u32 block_width; - u32 block_height; - u32 aligned_width; - u32 aligned_height; - u32 offset; - u32 afbc_size; -}; - -struct drm_rect { - int x1; - int y1; - int x2; - int y2; -}; - -struct drm_atomic_helper_damage_iter { - struct drm_rect plane_src; - const struct drm_rect *clips; - uint32_t num_clips; - uint32_t curr_clip; - bool full_update; -}; - -struct drm_modeset_acquire_ctx; - -struct drm_atomic_state { - struct kref ref; - struct drm_device *dev; - bool allow_modeset: 1; - bool legacy_cursor_update: 1; - bool async_update: 1; - bool duplicated: 1; - struct __drm_planes_state *planes; - struct __drm_crtcs_state *crtcs; - int num_connector; - struct __drm_connnectors_state *connectors; - int num_private_objs; - struct __drm_private_objs_state *private_objs; - struct drm_modeset_acquire_ctx *acquire_ctx; - struct drm_crtc_commit *fake_commit; - struct work_struct commit_work; -}; - -struct drm_auth { - drm_magic_t magic; -}; - -struct drm_modeset_lock { - struct ww_mutex mutex; - struct list_head head; -}; - -struct drm_private_state_funcs; - -struct drm_private_obj { - struct list_head head; - struct drm_modeset_lock lock; - struct drm_private_state *state; - const struct drm_private_state_funcs *funcs; -}; - -struct drm_encoder; - -struct drm_bridge_timings; - -struct drm_bridge_funcs; - -struct i2c_adapter; - -struct drm_bridge { - struct drm_private_obj base; - struct drm_device *dev; - struct drm_encoder *encoder; - struct list_head chain_node; - struct device_node *of_node; - struct list_head list; - const struct drm_bridge_timings *timings; - const struct drm_bridge_funcs *funcs; - void *container; - struct kref refcount; - void *driver_private; - enum drm_bridge_ops ops; - int type; - bool interlace_allowed; - bool ycbcr_420_allowed; - bool pre_enable_prev_first; - struct i2c_adapter *ddc; - const char *vendor; - const char *product; - unsigned int supported_formats; - unsigned int max_bpc; - struct device *hdmi_cec_dev; - struct device *hdmi_audio_dev; - int hdmi_audio_max_i2s_playback_channels; - u64 hdmi_audio_i2s_formats; - unsigned int hdmi_audio_spdif_playback: 1; - int hdmi_audio_dai_port; - const char *hdmi_cec_adapter_name; - u8 hdmi_cec_available_las; - struct mutex hpd_mutex; - void (*hpd_cb)(void *, enum drm_connector_status); - void *hpd_data; -}; - -struct hdmi_codec_daifmt; - -struct hdmi_codec_params; - -struct cec_msg; - -struct drm_display_info; - -struct drm_display_mode; - -struct drm_bridge_state; - -struct drm_bridge_funcs { - int (*attach)(struct drm_bridge *, struct drm_encoder *, enum drm_bridge_attach_flags); - void (*destroy)(struct drm_bridge *); - void (*detach)(struct drm_bridge *); - enum drm_mode_status (*mode_valid)(struct drm_bridge *, const struct drm_display_info *, const struct drm_display_mode *); - bool (*mode_fixup)(struct drm_bridge *, const struct drm_display_mode *, struct drm_display_mode *); - void (*disable)(struct drm_bridge *); - void (*post_disable)(struct drm_bridge *); - void (*mode_set)(struct drm_bridge *, const struct drm_display_mode *, const struct drm_display_mode *); - void (*pre_enable)(struct drm_bridge *); - void (*enable)(struct drm_bridge *); - void (*atomic_pre_enable)(struct drm_bridge *, struct drm_atomic_state *); - void (*atomic_enable)(struct drm_bridge *, struct drm_atomic_state *); - void (*atomic_disable)(struct drm_bridge *, struct drm_atomic_state *); - void (*atomic_post_disable)(struct drm_bridge *, struct drm_atomic_state *); - struct drm_bridge_state * (*atomic_duplicate_state)(struct drm_bridge *); - void (*atomic_destroy_state)(struct drm_bridge *, struct drm_bridge_state *); - u32 * (*atomic_get_output_bus_fmts)(struct drm_bridge *, struct drm_bridge_state *, struct drm_crtc_state *, struct drm_connector_state *, unsigned int *); - u32 * (*atomic_get_input_bus_fmts)(struct drm_bridge *, struct drm_bridge_state *, struct drm_crtc_state *, struct drm_connector_state *, u32, unsigned int *); - int (*atomic_check)(struct drm_bridge *, struct drm_bridge_state *, struct drm_crtc_state *, struct drm_connector_state *); - struct drm_bridge_state * (*atomic_reset)(struct drm_bridge *); - enum drm_connector_status (*detect)(struct drm_bridge *, struct drm_connector *); - int (*get_modes)(struct drm_bridge *, struct drm_connector *); - const struct drm_edid * (*edid_read)(struct drm_bridge *, struct drm_connector *); - void (*hpd_notify)(struct drm_bridge *, enum drm_connector_status); - void (*hpd_enable)(struct drm_bridge *); - void (*hpd_disable)(struct drm_bridge *); - enum drm_mode_status (*hdmi_tmds_char_rate_valid)(const struct drm_bridge *, const struct drm_display_mode *, long long unsigned int); - int (*hdmi_clear_infoframe)(struct drm_bridge *, enum hdmi_infoframe_type); - int (*hdmi_write_infoframe)(struct drm_bridge *, enum hdmi_infoframe_type, const u8 *, size_t); - int (*hdmi_audio_startup)(struct drm_bridge *, struct drm_connector *); - int (*hdmi_audio_prepare)(struct drm_bridge *, struct drm_connector *, struct hdmi_codec_daifmt *, struct hdmi_codec_params *); - void (*hdmi_audio_shutdown)(struct drm_bridge *, struct drm_connector *); - int (*hdmi_audio_mute_stream)(struct drm_bridge *, struct drm_connector *, bool, int); - int (*hdmi_cec_init)(struct drm_bridge *, struct drm_connector *); - int (*hdmi_cec_enable)(struct drm_bridge *, bool); - int (*hdmi_cec_log_addr)(struct drm_bridge *, u8); - int (*hdmi_cec_transmit)(struct drm_bridge *, u8, u32, struct cec_msg *); - int (*dp_audio_startup)(struct drm_bridge *, struct drm_connector *); - int (*dp_audio_prepare)(struct drm_bridge *, struct drm_connector *, struct hdmi_codec_daifmt *, struct hdmi_codec_params *); - void (*dp_audio_shutdown)(struct drm_bridge *, struct drm_connector *); - int (*dp_audio_mute_stream)(struct drm_bridge *, struct drm_connector *, bool, int); - void (*debugfs_init)(struct drm_bridge *, struct dentry *); -}; - -struct drm_private_state { - struct drm_atomic_state *state; - struct drm_private_obj *obj; -}; - -struct drm_bus_cfg { - u32 format; - u32 flags; -}; - -struct drm_bridge_state { - struct drm_private_state base; - struct drm_bridge *bridge; - struct drm_bus_cfg input_bus_cfg; - struct drm_bus_cfg output_bus_cfg; -}; - -struct drm_bridge_timings { - u32 input_bus_flags; - u32 setup_time_ps; - u32 hold_time_ps; - bool dual_link; -}; - -struct drm_client { - int idx; - int auth; - long unsigned int pid; - long unsigned int uid; - long unsigned int magic; - long unsigned int iocs; -}; - -struct drm_client32 { - int idx; - int auth; - u32 pid; - u32 uid; - u32 magic; - u32 iocs; -}; - -typedef struct drm_client32 drm_client32_t; - -struct drm_client_dev; - -struct drm_client_buffer { - struct drm_client_dev *client; - u32 pitch; - struct drm_gem_object *gem; - struct iosys_map map; - struct drm_framebuffer *fb; -}; - -struct drm_client_funcs; - -struct drm_file; - -struct drm_mode_set; - -struct drm_client_dev { - struct drm_device *dev; - const char *name; - struct list_head list; - const struct drm_client_funcs *funcs; - struct drm_file *file; - struct mutex modeset_mutex; - struct drm_mode_set *modesets; - bool suspended; - bool hotplug_pending; - bool hotplug_failed; -}; - -struct drm_client_funcs { - struct module *owner; - void (*unregister)(struct drm_client_dev *); - int (*restore)(struct drm_client_dev *); - int (*hotplug)(struct drm_client_dev *); - int (*suspend)(struct drm_client_dev *, bool); - int (*resume)(struct drm_client_dev *, bool); -}; - -struct drm_client_offset { - int x; - int y; -}; - -struct drm_clip_rect { - short unsigned int x1; - short unsigned int y1; - short unsigned int x2; - short unsigned int y2; -}; - -struct drm_connector_tv_margins { - unsigned int bottom; - unsigned int left; - unsigned int right; - unsigned int top; -}; - -struct drm_cmdline_mode { - char name[32]; - bool specified; - bool refresh_specified; - bool bpp_specified; - unsigned int pixel_clock; - int xres; - int yres; - int bpp; - int refresh; - bool rb; - bool interlace; - bool cvt; - bool margins; - enum drm_connector_force force; - unsigned int rotation_reflection; - enum drm_panel_orientation panel_orientation; - struct drm_connector_tv_margins tv_margins; - enum drm_connector_tv_mode tv_mode; - bool tv_mode_specified; -}; - -struct drm_color_lut { - __u16 red; - __u16 green; - __u16 blue; - __u16 reserved; -}; - -struct drm_conn_prop_enum_list { - int type; - const char *name; - struct ida ida; -}; - -struct drm_scrambling { - bool supported; - bool low_rates; -}; - -struct drm_scdc { - bool supported; - bool read_request; - struct drm_scrambling scrambling; -}; - -struct drm_hdmi_dsc_cap { - bool v_1p2; - bool native_420; - bool all_bpp; - u8 bpc_supported; - u8 max_slices; - int clk_per_slice; - u8 max_lanes; - u8 max_frl_rate_per_lane; - u8 total_chunk_kbytes; -}; - -struct drm_hdmi_info { - struct drm_scdc scdc; - long unsigned int y420_vdb_modes[4]; - long unsigned int y420_cmdb_modes[4]; - u8 y420_dc_modes; - u8 max_frl_rate_per_lane; - u8 max_lanes; - struct drm_hdmi_dsc_cap dsc_cap; -}; - -struct hdr_static_metadata { - __u8 eotf; - __u8 metadata_type; - __u16 max_cll; - __u16 max_fall; - __u16 min_cll; -}; - -struct hdr_sink_metadata { - __u32 metadata_type; - union { - struct hdr_static_metadata hdmi_type1; - }; -}; - -struct drm_monitor_range_info { - u16 min_vfreq; - u16 max_vfreq; -}; - -struct drm_luminance_range_info { - u32 min_luminance; - u32 max_luminance; -}; - -struct drm_display_info { - unsigned int width_mm; - unsigned int height_mm; - unsigned int bpc; - enum subpixel_order subpixel_order; - int panel_orientation; - u32 color_formats; - const u32 *bus_formats; - unsigned int num_bus_formats; - u32 bus_flags; - int max_tmds_clock; - bool dvi_dual; - bool is_hdmi; - bool has_audio; - bool has_hdmi_infoframe; - bool rgb_quant_range_selectable; - u8 edid_hdmi_rgb444_dc_modes; - u8 edid_hdmi_ycbcr444_dc_modes; - u8 cea_rev; - struct drm_hdmi_info hdmi; - struct hdr_sink_metadata hdr_sink_metadata; - bool non_desktop; - struct drm_monitor_range_info monitor_range; - struct drm_luminance_range_info luminance_range; - u8 mso_stream_count; - u8 mso_pixel_overlap; - u32 max_dsc_bpp; - u8 *vics; - int vics_len; - u32 quirks; - u16 source_physical_address; -}; - -struct drm_property; - -struct drm_object_properties { - int count; - struct drm_property *properties[64]; - uint64_t values[64]; -}; - -struct hdmi_any_infoframe { - enum hdmi_infoframe_type type; - unsigned char version; - unsigned char length; -}; - -struct hdmi_avi_infoframe { - enum hdmi_infoframe_type type; - unsigned char version; - unsigned char length; - bool itc; - unsigned char pixel_repeat; - enum hdmi_colorspace colorspace; - enum hdmi_scan_mode scan_mode; - enum hdmi_colorimetry colorimetry; - enum hdmi_picture_aspect picture_aspect; - enum hdmi_active_aspect active_aspect; - enum hdmi_extended_colorimetry extended_colorimetry; - enum hdmi_quantization_range quantization_range; - enum hdmi_nups nups; - unsigned char video_code; - enum hdmi_ycc_quantization_range ycc_quantization_range; - enum hdmi_content_type content_type; - short unsigned int top_bar; - short unsigned int bottom_bar; - short unsigned int left_bar; - short unsigned int right_bar; -}; - -struct hdmi_spd_infoframe { - enum hdmi_infoframe_type type; - unsigned char version; - unsigned char length; - char vendor[8]; - char product[16]; - enum hdmi_spd_sdi sdi; -}; - -struct hdmi_vendor_infoframe { - enum hdmi_infoframe_type type; - unsigned char version; - unsigned char length; - unsigned int oui; - u8 vic; - enum hdmi_3d_structure s3d_struct; - unsigned int s3d_ext_data; -}; - -union hdmi_vendor_any_infoframe { - struct { - enum hdmi_infoframe_type type; - unsigned char version; - unsigned char length; - unsigned int oui; - } any; - struct hdmi_vendor_infoframe hdmi; -}; - -struct hdmi_audio_infoframe { - enum hdmi_infoframe_type type; - unsigned char version; - unsigned char length; - unsigned char channels; - enum hdmi_audio_coding_type coding_type; - enum hdmi_audio_sample_size sample_size; - enum hdmi_audio_sample_frequency sample_frequency; - enum hdmi_audio_coding_type_ext coding_type_ext; - unsigned char channel_allocation; - unsigned char level_shift_value; - bool downmix_inhibit; -}; - -struct hdmi_drm_infoframe { - enum hdmi_infoframe_type type; - unsigned char version; - unsigned char length; - enum hdmi_eotf eotf; - enum hdmi_metadata_type metadata_type; - struct { - u16 x; - u16 y; - } display_primaries[3]; - struct { - u16 x; - u16 y; - } white_point; - u16 max_display_mastering_luminance; - u16 min_display_mastering_luminance; - u16 max_cll; - u16 max_fall; -}; - -union hdmi_infoframe { - struct hdmi_any_infoframe any; - struct hdmi_avi_infoframe avi; - struct hdmi_spd_infoframe spd; - union hdmi_vendor_any_infoframe vendor; - struct hdmi_audio_infoframe audio; - struct hdmi_drm_infoframe drm; -}; - -struct drm_connector_hdmi_infoframe { - union hdmi_infoframe data; - bool set; -}; - -struct drm_connector_hdmi_funcs; - -struct drm_connector_hdmi { - unsigned char vendor[8]; - unsigned char product[16]; - long unsigned int supported_formats; - const struct drm_connector_hdmi_funcs *funcs; - struct { - struct mutex lock; - struct drm_connector_hdmi_infoframe audio; - } infoframes; -}; - -struct drm_connector_hdmi_audio_funcs; - -struct drm_connector_hdmi_audio { - const struct drm_connector_hdmi_audio_funcs *funcs; - struct platform_device *codec_pdev; - struct mutex lock; - void (*plugged_cb)(struct device *, bool); - struct device *plugged_cb_dev; - bool last_state; - int dai_port; -}; - -struct drm_connector_cec_funcs; - -struct drm_connector_cec { - struct mutex mutex; - const struct drm_connector_cec_funcs *funcs; - void *data; -}; - -struct drm_connector_funcs; - -struct drm_property_blob; - -struct drm_privacy_screen; - -struct drm_connector_helper_funcs; - -struct drm_tile_group; - -struct drm_connector { - struct drm_device *dev; - struct device *kdev; - struct device_attribute *attr; - struct fwnode_handle *fwnode; - struct list_head head; - struct list_head global_connector_list_entry; - struct drm_mode_object base; - char *name; - struct mutex mutex; - unsigned int index; - int connector_type; - int connector_type_id; - bool interlace_allowed; - bool doublescan_allowed; - bool stereo_allowed; - bool ycbcr_420_allowed; - enum drm_connector_registration_state registration_state; - struct list_head modes; - enum drm_connector_status status; - struct list_head probed_modes; - struct drm_display_info display_info; - const struct drm_connector_funcs *funcs; - struct drm_property_blob *edid_blob_ptr; - struct drm_object_properties properties; - struct drm_property *scaling_mode_property; - struct drm_property *vrr_capable_property; - struct drm_property *colorspace_property; - struct drm_property_blob *path_blob_ptr; - unsigned int max_bpc; - struct drm_property *max_bpc_property; - struct drm_privacy_screen *privacy_screen; - struct notifier_block privacy_screen_notifier; - struct drm_property *privacy_screen_sw_state_property; - struct drm_property *privacy_screen_hw_state_property; - struct drm_property *broadcast_rgb_property; - uint8_t polled; - int dpms; - const struct drm_connector_helper_funcs *helper_private; - struct drm_cmdline_mode cmdline_mode; - enum drm_connector_force force; - const struct drm_edid *edid_override; - struct mutex edid_override_mutex; - u64 epoch_counter; - u32 possible_encoders; - struct drm_encoder *encoder; - uint8_t eld[128]; - struct mutex eld_mutex; - bool latency_present[2]; - int video_latency[2]; - int audio_latency[2]; - struct i2c_adapter *ddc; - int null_edid_counter; - unsigned int bad_edid_counter; - bool edid_corrupt; - u8 real_edid_checksum; - struct dentry *debugfs_entry; - struct drm_connector_state *state; - struct drm_property_blob *tile_blob_ptr; - bool has_tile; - struct drm_tile_group *tile_group; - bool tile_is_single_monitor; - uint8_t num_h_tile; - uint8_t num_v_tile; - uint8_t tile_h_loc; - uint8_t tile_v_loc; - uint16_t tile_h_size; - uint16_t tile_v_size; - struct llist_node free_node; - struct drm_connector_hdmi hdmi; - struct drm_connector_hdmi_audio hdmi_audio; - struct drm_connector_cec cec; -}; - -struct drm_connector_cec_funcs { - void (*phys_addr_invalidate)(struct drm_connector *); - void (*phys_addr_set)(struct drm_connector *, u16); -}; - -struct drm_printer; - -struct drm_connector_funcs { - int (*dpms)(struct drm_connector *, int); - void (*reset)(struct drm_connector *); - enum drm_connector_status (*detect)(struct drm_connector *, bool); - void (*force)(struct drm_connector *); - int (*fill_modes)(struct drm_connector *, uint32_t, uint32_t); - int (*set_property)(struct drm_connector *, struct drm_property *, uint64_t); - int (*late_register)(struct drm_connector *); - void (*early_unregister)(struct drm_connector *); - void (*destroy)(struct drm_connector *); - struct drm_connector_state * (*atomic_duplicate_state)(struct drm_connector *); - void (*atomic_destroy_state)(struct drm_connector *, struct drm_connector_state *); - int (*atomic_set_property)(struct drm_connector *, struct drm_connector_state *, struct drm_property *, uint64_t); - int (*atomic_get_property)(struct drm_connector *, const struct drm_connector_state *, struct drm_property *, uint64_t *); - void (*atomic_print_state)(struct drm_printer *, const struct drm_connector_state *); - void (*oob_hotplug_event)(struct drm_connector *, enum drm_connector_status); - void (*debugfs_init)(struct drm_connector *, struct dentry *); -}; - -struct drm_connector_hdmi_audio_funcs { - int (*startup)(struct drm_connector *); - int (*prepare)(struct drm_connector *, struct hdmi_codec_daifmt *, struct hdmi_codec_params *); - void (*shutdown)(struct drm_connector *); - int (*mute_stream)(struct drm_connector *, bool, int); -}; - -struct drm_connector_hdmi_funcs { - enum drm_mode_status (*tmds_char_rate_valid)(const struct drm_connector *, const struct drm_display_mode *, long long unsigned int); - int (*clear_infoframe)(struct drm_connector *, enum hdmi_infoframe_type); - int (*write_infoframe)(struct drm_connector *, enum hdmi_infoframe_type, const u8 *, size_t); - const struct drm_edid * (*read_edid)(struct drm_connector *); -}; - -struct drm_connector_hdmi_state { - enum drm_hdmi_broadcast_rgb broadcast_rgb; - struct { - struct drm_connector_hdmi_infoframe avi; - struct drm_connector_hdmi_infoframe hdr_drm; - struct drm_connector_hdmi_infoframe spd; - struct drm_connector_hdmi_infoframe hdmi; - } infoframes; - bool is_limited_range; - unsigned int output_bpc; - enum hdmi_colorspace output_format; - long long unsigned int tmds_char_rate; -}; - -struct drm_writeback_connector; - -struct drm_writeback_job; - -struct drm_connector_helper_funcs { - int (*get_modes)(struct drm_connector *); - int (*detect_ctx)(struct drm_connector *, struct drm_modeset_acquire_ctx *, bool); - enum drm_mode_status (*mode_valid)(struct drm_connector *, const struct drm_display_mode *); - int (*mode_valid_ctx)(struct drm_connector *, const struct drm_display_mode *, struct drm_modeset_acquire_ctx *, enum drm_mode_status *); - struct drm_encoder * (*best_encoder)(struct drm_connector *); - struct drm_encoder * (*atomic_best_encoder)(struct drm_connector *, struct drm_atomic_state *); - int (*atomic_check)(struct drm_connector *, struct drm_atomic_state *); - void (*atomic_commit)(struct drm_connector *, struct drm_atomic_state *); - int (*prepare_writeback_job)(struct drm_writeback_connector *, struct drm_writeback_job *); - void (*cleanup_writeback_job)(struct drm_writeback_connector *, struct drm_writeback_job *); - void (*enable_hpd)(struct drm_connector *); - void (*disable_hpd)(struct drm_connector *); -}; - -struct drm_connector_list_iter { - struct drm_device *dev; - struct drm_connector *conn; -}; - -struct drm_tv_connector_state { - enum drm_mode_subconnector select_subconnector; - enum drm_mode_subconnector subconnector; - struct drm_connector_tv_margins margins; - unsigned int legacy_mode; - unsigned int mode; - unsigned int brightness; - unsigned int contrast; - unsigned int flicker_reduction; - unsigned int overscan; - unsigned int saturation; - unsigned int hue; -}; - -struct drm_connector_state { - struct drm_connector *connector; - struct drm_crtc *crtc; - struct drm_encoder *best_encoder; - enum drm_link_status link_status; - struct drm_atomic_state *state; - struct drm_crtc_commit *commit; - struct drm_tv_connector_state tv; - bool self_refresh_aware; - enum hdmi_picture_aspect picture_aspect_ratio; - unsigned int content_type; - unsigned int hdcp_content_type; - unsigned int scaling_mode; - unsigned int content_protection; - enum drm_colorspace colorspace; - struct drm_writeback_job *writeback_job; - u8 max_requested_bpc; - u8 max_bpc; - enum drm_privacy_screen_status privacy_screen_sw_state; - struct drm_property_blob *hdr_output_metadata; - struct drm_connector_hdmi_state hdmi; -}; - -struct drm_display_mode { - int clock; - u16 hdisplay; - u16 hsync_start; - u16 hsync_end; - u16 htotal; - u16 hskew; - u16 vdisplay; - u16 vsync_start; - u16 vsync_end; - u16 vtotal; - u16 vscan; - u32 flags; - int crtc_clock; - u16 crtc_hdisplay; - u16 crtc_hblank_start; - u16 crtc_hblank_end; - u16 crtc_hsync_start; - u16 crtc_hsync_end; - u16 crtc_htotal; - u16 crtc_hskew; - u16 crtc_vdisplay; - u16 crtc_vblank_start; - u16 crtc_vblank_end; - u16 crtc_vsync_start; - u16 crtc_vsync_end; - u16 crtc_vtotal; - u16 width_mm; - u16 height_mm; - u8 type; - bool expose_to_userspace; - struct list_head head; - char name[32]; - enum drm_mode_status status; - enum hdmi_picture_aspect picture_aspect_ratio; -}; - -struct drm_crtc_crc_entry; - -struct drm_crtc_crc { - spinlock_t lock; - const char *source; - bool opened; - bool overflow; - struct drm_crtc_crc_entry *entries; - int head; - int tail; - size_t values_cnt; - wait_queue_head_t wq; -}; - -struct drm_crtc_funcs; - -struct drm_crtc_helper_funcs; - -struct drm_self_refresh_data; - -struct drm_crtc { - struct drm_device *dev; - struct device_node *port; - struct list_head head; - char *name; - struct drm_modeset_lock mutex; - struct drm_mode_object base; - struct drm_plane *primary; - struct drm_plane *cursor; - unsigned int index; - int cursor_x; - int cursor_y; - bool enabled; - struct drm_display_mode mode; - struct drm_display_mode hwmode; - int x; - int y; - const struct drm_crtc_funcs *funcs; - uint32_t gamma_size; - uint16_t *gamma_store; - const struct drm_crtc_helper_funcs *helper_private; - struct drm_object_properties properties; - struct drm_property *scaling_filter_property; - struct drm_crtc_state *state; - struct list_head commit_list; - spinlock_t commit_lock; - struct dentry *debugfs_entry; - struct drm_crtc_crc crc; - unsigned int fence_context; - spinlock_t fence_lock; - long unsigned int fence_seqno; - char timeline_name[32]; - struct drm_self_refresh_data *self_refresh_data; -}; - -struct drm_pending_vblank_event; - -struct drm_crtc_commit { - struct drm_crtc *crtc; - struct kref ref; - struct completion flip_done; - struct completion hw_done; - struct completion cleanup_done; - struct list_head commit_entry; - struct drm_pending_vblank_event *event; - bool abort_completion; -}; - -struct drm_crtc_crc_entry { - bool has_frame_counter; - uint32_t frame; - uint32_t crcs[10]; -}; - -struct drm_crtc_funcs { - void (*reset)(struct drm_crtc *); - int (*cursor_set)(struct drm_crtc *, struct drm_file *, uint32_t, uint32_t, uint32_t); - int (*cursor_set2)(struct drm_crtc *, struct drm_file *, uint32_t, uint32_t, uint32_t, int32_t, int32_t); - int (*cursor_move)(struct drm_crtc *, int, int); - int (*gamma_set)(struct drm_crtc *, u16 *, u16 *, u16 *, uint32_t, struct drm_modeset_acquire_ctx *); - void (*destroy)(struct drm_crtc *); - int (*set_config)(struct drm_mode_set *, struct drm_modeset_acquire_ctx *); - int (*page_flip)(struct drm_crtc *, struct drm_framebuffer *, struct drm_pending_vblank_event *, uint32_t, struct drm_modeset_acquire_ctx *); - int (*page_flip_target)(struct drm_crtc *, struct drm_framebuffer *, struct drm_pending_vblank_event *, uint32_t, uint32_t, struct drm_modeset_acquire_ctx *); - int (*set_property)(struct drm_crtc *, struct drm_property *, uint64_t); - struct drm_crtc_state * (*atomic_duplicate_state)(struct drm_crtc *); - void (*atomic_destroy_state)(struct drm_crtc *, struct drm_crtc_state *); - int (*atomic_set_property)(struct drm_crtc *, struct drm_crtc_state *, struct drm_property *, uint64_t); - int (*atomic_get_property)(struct drm_crtc *, const struct drm_crtc_state *, struct drm_property *, uint64_t *); - int (*late_register)(struct drm_crtc *); - void (*early_unregister)(struct drm_crtc *); - int (*set_crc_source)(struct drm_crtc *, const char *); - int (*verify_crc_source)(struct drm_crtc *, const char *, size_t *); - const char * const * (*get_crc_sources)(struct drm_crtc *, size_t *); - void (*atomic_print_state)(struct drm_printer *, const struct drm_crtc_state *); - u32 (*get_vblank_counter)(struct drm_crtc *); - int (*enable_vblank)(struct drm_crtc *); - void (*disable_vblank)(struct drm_crtc *); - bool (*get_vblank_timestamp)(struct drm_crtc *, int *, ktime_t *, bool); -}; - -struct drm_crtc_get_sequence { - __u32 crtc_id; - __u32 active; - __u64 sequence; - __s64 sequence_ns; -}; - -struct drm_crtc_helper_funcs { - void (*dpms)(struct drm_crtc *, int); - void (*prepare)(struct drm_crtc *); - void (*commit)(struct drm_crtc *); - enum drm_mode_status (*mode_valid)(struct drm_crtc *, const struct drm_display_mode *); - bool (*mode_fixup)(struct drm_crtc *, const struct drm_display_mode *, struct drm_display_mode *); - int (*mode_set)(struct drm_crtc *, struct drm_display_mode *, struct drm_display_mode *, int, int, struct drm_framebuffer *); - void (*mode_set_nofb)(struct drm_crtc *); - int (*mode_set_base)(struct drm_crtc *, int, int, struct drm_framebuffer *); - int (*mode_set_base_atomic)(struct drm_crtc *, struct drm_framebuffer *, int, int, enum mode_set_atomic); - void (*disable)(struct drm_crtc *); - int (*atomic_check)(struct drm_crtc *, struct drm_atomic_state *); - void (*atomic_begin)(struct drm_crtc *, struct drm_atomic_state *); - void (*atomic_flush)(struct drm_crtc *, struct drm_atomic_state *); - void (*atomic_enable)(struct drm_crtc *, struct drm_atomic_state *); - void (*atomic_disable)(struct drm_crtc *, struct drm_atomic_state *); - bool (*get_scanout_position)(struct drm_crtc *, bool, int *, int *, ktime_t *, ktime_t *, const struct drm_display_mode *); -}; - -struct drm_crtc_queue_sequence { - __u32 crtc_id; - __u32 flags; - __u64 sequence; - __u64 user_data; -}; - -struct drm_crtc_state { - struct drm_crtc *crtc; - bool enable; - bool active; - bool planes_changed: 1; - bool mode_changed: 1; - bool active_changed: 1; - bool connectors_changed: 1; - bool zpos_changed: 1; - bool color_mgmt_changed: 1; - bool no_vblank: 1; - u32 plane_mask; - u32 connector_mask; - u32 encoder_mask; - struct drm_display_mode adjusted_mode; - struct drm_display_mode mode; - struct drm_property_blob *mode_blob; - struct drm_property_blob *degamma_lut; - struct drm_property_blob *ctm; - struct drm_property_blob *gamma_lut; - u32 target_vblank; - bool async_flip; - bool vrr_enabled; - bool self_refresh_active; - enum drm_scaling_filter scaling_filter; - struct drm_pending_vblank_event *event; - struct drm_crtc_commit *commit; - struct drm_atomic_state *state; -}; - -struct drm_debugfs_info { - const char *name; - int (*show)(struct seq_file *, void *); - u32 driver_features; - void *data; -}; - -struct drm_debugfs_entry { - struct drm_device *dev; - struct drm_debugfs_info file; - struct list_head list; -}; - -struct drm_mode_config_funcs; - -struct drm_mode_config_helper_funcs; - -struct drm_mode_config { - struct mutex mutex; - struct drm_modeset_lock connection_mutex; - struct drm_modeset_acquire_ctx *acquire_ctx; - struct mutex idr_mutex; - struct idr object_idr; - struct idr tile_idr; - struct mutex fb_lock; - int num_fb; - struct list_head fb_list; - spinlock_t connector_list_lock; - int num_connector; - struct ida connector_ida; - struct list_head connector_list; - struct llist_head connector_free_list; - struct work_struct connector_free_work; - int num_encoder; - struct list_head encoder_list; - int num_total_plane; - struct list_head plane_list; - struct raw_spinlock panic_lock; - int num_crtc; - struct list_head crtc_list; - struct list_head property_list; - struct list_head privobj_list; - unsigned int min_width; - unsigned int min_height; - unsigned int max_width; - unsigned int max_height; - const struct drm_mode_config_funcs *funcs; - bool poll_enabled; - bool poll_running; - bool delayed_event; - struct delayed_work output_poll_work; - struct mutex blob_lock; - struct list_head property_blob_list; - struct drm_property *edid_property; - struct drm_property *dpms_property; - struct drm_property *path_property; - struct drm_property *tile_property; - struct drm_property *link_status_property; - struct drm_property *plane_type_property; - struct drm_property *prop_src_x; - struct drm_property *prop_src_y; - struct drm_property *prop_src_w; - struct drm_property *prop_src_h; - struct drm_property *prop_crtc_x; - struct drm_property *prop_crtc_y; - struct drm_property *prop_crtc_w; - struct drm_property *prop_crtc_h; - struct drm_property *prop_fb_id; - struct drm_property *prop_in_fence_fd; - struct drm_property *prop_out_fence_ptr; - struct drm_property *prop_crtc_id; - struct drm_property *prop_fb_damage_clips; - struct drm_property *prop_active; - struct drm_property *prop_mode_id; - struct drm_property *prop_vrr_enabled; - struct drm_property *dvi_i_subconnector_property; - struct drm_property *dvi_i_select_subconnector_property; - struct drm_property *dp_subconnector_property; - struct drm_property *tv_subconnector_property; - struct drm_property *tv_select_subconnector_property; - struct drm_property *legacy_tv_mode_property; - struct drm_property *tv_mode_property; - struct drm_property *tv_left_margin_property; - struct drm_property *tv_right_margin_property; - struct drm_property *tv_top_margin_property; - struct drm_property *tv_bottom_margin_property; - struct drm_property *tv_brightness_property; - struct drm_property *tv_contrast_property; - struct drm_property *tv_flicker_reduction_property; - struct drm_property *tv_overscan_property; - struct drm_property *tv_saturation_property; - struct drm_property *tv_hue_property; - struct drm_property *scaling_mode_property; - struct drm_property *aspect_ratio_property; - struct drm_property *content_type_property; - struct drm_property *degamma_lut_property; - struct drm_property *degamma_lut_size_property; - struct drm_property *ctm_property; - struct drm_property *gamma_lut_property; - struct drm_property *gamma_lut_size_property; - struct drm_property *suggested_x_property; - struct drm_property *suggested_y_property; - struct drm_property *non_desktop_property; - struct drm_property *panel_orientation_property; - struct drm_property *writeback_fb_id_property; - struct drm_property *writeback_pixel_formats_property; - struct drm_property *writeback_out_fence_ptr_property; - struct drm_property *hdr_output_metadata_property; - struct drm_property *content_protection_property; - struct drm_property *hdcp_content_type_property; - uint32_t preferred_depth; - uint32_t prefer_shadow; - bool quirk_addfb_prefer_xbgr_30bpp; - bool quirk_addfb_prefer_host_byte_order; - bool async_page_flip; - bool fb_modifiers_not_supported; - bool normalize_zpos; - struct drm_property *modifiers_property; - struct drm_property *async_modifiers_property; - struct drm_property *size_hints_property; - uint32_t cursor_width; - uint32_t cursor_height; - struct drm_atomic_state *suspend_state; - const struct drm_mode_config_helper_funcs *helper_private; -}; - -struct drm_vram_mm; - -struct drm_driver; - -struct drm_minor; - -struct drm_master; - -struct drm_vblank_crtc; - -struct drm_vma_offset_manager; - -struct drm_fb_helper; - -struct drm_device { - int if_version; - struct kref ref; - struct device *dev; - struct device *dma_dev; - struct { - struct list_head resources; - void *final_kfree; - spinlock_t lock; - } managed; - const struct drm_driver *driver; - void *dev_private; - struct drm_minor *primary; - struct drm_minor *render; - struct drm_minor *accel; - bool registered; - struct drm_master *master; - u32 driver_features; - bool unplugged; - struct inode *anon_inode; - char *unique; - struct mutex struct_mutex; - struct mutex master_mutex; - atomic_t open_count; - struct mutex filelist_mutex; - struct list_head filelist; - struct list_head filelist_internal; - struct mutex clientlist_mutex; - struct list_head clientlist; - bool vblank_disable_immediate; - struct drm_vblank_crtc *vblank; - spinlock_t vblank_time_lock; - spinlock_t vbl_lock; - u32 max_vblank_count; - struct list_head vblank_event_list; - spinlock_t event_lock; - unsigned int num_crtcs; - struct drm_mode_config mode_config; - struct mutex object_name_lock; - struct idr object_name_idr; - struct drm_vma_offset_manager *vma_offset_manager; - struct drm_vram_mm *vram_mm; - enum switch_power_state switch_power_state; - struct drm_fb_helper *fb_helper; - struct dentry *debugfs_root; -}; - -struct drm_dmi_panel_orientation_data { - int width; - int height; - const char * const *bios_dates; - int orientation; -}; - -struct drm_mode_create_dumb; - -struct drm_fb_helper_surface_size; - -struct drm_ioctl_desc; - -struct drm_driver { - int (*load)(struct drm_device *, long unsigned int); - int (*open)(struct drm_device *, struct drm_file *); - void (*postclose)(struct drm_device *, struct drm_file *); - void (*unload)(struct drm_device *); - void (*release)(struct drm_device *); - void (*master_set)(struct drm_device *, struct drm_file *, bool); - void (*master_drop)(struct drm_device *, struct drm_file *); - void (*debugfs_init)(struct drm_minor *); - struct drm_gem_object * (*gem_create_object)(struct drm_device *, size_t); - int (*prime_handle_to_fd)(struct drm_device *, struct drm_file *, uint32_t, uint32_t, int *); - int (*prime_fd_to_handle)(struct drm_device *, struct drm_file *, int, uint32_t *); - struct drm_gem_object * (*gem_prime_import)(struct drm_device *, struct dma_buf *); - struct drm_gem_object * (*gem_prime_import_sg_table)(struct drm_device *, struct dma_buf_attachment *, struct sg_table *); - int (*dumb_create)(struct drm_file *, struct drm_device *, struct drm_mode_create_dumb *); - int (*dumb_map_offset)(struct drm_file *, struct drm_device *, uint32_t, uint64_t *); - int (*fbdev_probe)(struct drm_fb_helper *, struct drm_fb_helper_surface_size *); - void (*show_fdinfo)(struct drm_printer *, struct drm_file *); - int major; - int minor; - int patchlevel; - char *name; - char *desc; - u32 driver_features; - const struct drm_ioctl_desc *ioctls; - int num_ioctls; - const struct file_operations *fops; -}; - -struct drm_dsc_rc_range_parameters { - u8 range_min_qp; - u8 range_max_qp; - u8 range_bpg_offset; -}; - -struct drm_dsc_config { - u8 line_buf_depth; - u8 bits_per_component; - bool convert_rgb; - u8 slice_count; - u16 slice_width; - u16 slice_height; - bool simple_422; - u16 pic_width; - u16 pic_height; - u8 rc_tgt_offset_high; - u8 rc_tgt_offset_low; - u16 bits_per_pixel; - u8 rc_edge_factor; - u8 rc_quant_incr_limit1; - u8 rc_quant_incr_limit0; - u16 initial_xmit_delay; - u16 initial_dec_delay; - bool block_pred_enable; - u8 first_line_bpg_offset; - u16 initial_offset; - u16 rc_buf_thresh[14]; - struct drm_dsc_rc_range_parameters rc_range_params[15]; - u16 rc_model_size; - u8 flatness_min_qp; - u8 flatness_max_qp; - u8 initial_scale_value; - u16 scale_decrement_interval; - u16 scale_increment_interval; - u16 nfl_bpg_offset; - u16 slice_bpg_offset; - u16 final_offset; - bool vbr_enable; - u8 mux_word_size; - u16 slice_chunk_size; - u16 rc_bits; - u8 dsc_version_minor; - u8 dsc_version_major; - bool native_422; - bool native_420; - u8 second_line_bpg_offset; - u16 nsl_bpg_offset; - u16 second_line_offset_adj; -}; - -struct drm_dsc_picture_parameter_set { - u8 dsc_version; - u8 pps_identifier; - u8 pps_reserved; - u8 pps_3; - u8 pps_4; - u8 bits_per_pixel_low; - __be16 pic_height; - __be16 pic_width; - __be16 slice_height; - __be16 slice_width; - __be16 chunk_size; - u8 initial_xmit_delay_high; - u8 initial_xmit_delay_low; - __be16 initial_dec_delay; - u8 pps20_reserved; - u8 initial_scale_value; - __be16 scale_increment_interval; - u8 scale_decrement_interval_high; - u8 scale_decrement_interval_low; - u8 pps26_reserved; - u8 first_line_bpg_offset; - __be16 nfl_bpg_offset; - __be16 slice_bpg_offset; - __be16 initial_offset; - __be16 final_offset; - u8 flatness_min_qp; - u8 flatness_max_qp; - __be16 rc_model_size; - u8 rc_edge_factor; - u8 rc_quant_incr_limit0; - u8 rc_quant_incr_limit1; - u8 rc_tgt_offset; - u8 rc_buf_thresh[14]; - __be16 rc_range_parameters[15]; - u8 native_422_420; - u8 second_line_bpg_offset; - __be16 nsl_bpg_offset; - __be16 second_line_offset_adj; - u32 pps_long_94_reserved; - u32 pps_long_98_reserved; - u32 pps_long_102_reserved; - u32 pps_long_106_reserved; - u32 pps_long_110_reserved; - u32 pps_long_114_reserved; - u32 pps_long_118_reserved; - u32 pps_long_122_reserved; - __be16 pps_short_126_reserved; -} __attribute__((packed)); - -struct edid; - -struct drm_edid { - size_t size; - const struct edid *edid; -}; - -struct drm_edid_match_closure { - const struct drm_edid_ident *ident; - bool matched; -}; - -struct drm_edid_product_id { - __be16 manufacturer_name; - __le16 product_code; - __le32 serial_number; - u8 week_of_manufacture; - u8 year_of_manufacture; -} __attribute__((packed)); - -struct drm_encoder_funcs; - -struct drm_encoder_helper_funcs; - -struct drm_encoder { - struct drm_device *dev; - struct list_head head; - struct drm_mode_object base; - char *name; - int encoder_type; - unsigned int index; - uint32_t possible_crtcs; - uint32_t possible_clones; - struct drm_crtc *crtc; - struct list_head bridge_chain; - const struct drm_encoder_funcs *funcs; - const struct drm_encoder_helper_funcs *helper_private; - struct dentry *debugfs_entry; -}; - -struct drm_encoder_funcs { - void (*reset)(struct drm_encoder *); - void (*destroy)(struct drm_encoder *); - int (*late_register)(struct drm_encoder *); - void (*early_unregister)(struct drm_encoder *); - void (*debugfs_init)(struct drm_encoder *, struct dentry *); -}; - -struct drm_encoder_helper_funcs { - void (*dpms)(struct drm_encoder *, int); - enum drm_mode_status (*mode_valid)(struct drm_encoder *, const struct drm_display_mode *); - bool (*mode_fixup)(struct drm_encoder *, const struct drm_display_mode *, struct drm_display_mode *); - void (*prepare)(struct drm_encoder *); - void (*commit)(struct drm_encoder *); - void (*mode_set)(struct drm_encoder *, struct drm_display_mode *, struct drm_display_mode *); - void (*atomic_mode_set)(struct drm_encoder *, struct drm_crtc_state *, struct drm_connector_state *); - enum drm_connector_status (*detect)(struct drm_encoder *, struct drm_connector *); - void (*atomic_disable)(struct drm_encoder *, struct drm_atomic_state *); - void (*atomic_enable)(struct drm_encoder *, struct drm_atomic_state *); - void (*disable)(struct drm_encoder *); - void (*enable)(struct drm_encoder *); - int (*atomic_check)(struct drm_encoder *, struct drm_crtc_state *, struct drm_connector_state *); -}; - -struct drm_event { - __u32 type; - __u32 length; -}; - -struct drm_event_crtc_sequence { - struct drm_event base; - __u64 user_data; - __s64 time_ns; - __u64 sequence; -}; - -struct drm_event_vblank { - struct drm_event base; - __u64 user_data; - __u32 tv_sec; - __u32 tv_usec; - __u32 sequence; - __u32 crtc_id; -}; - -struct ww_acquire_ctx { - struct task_struct *task; - long unsigned int stamp; - unsigned int acquired; - short unsigned int wounded; - short unsigned int is_wait_die; -}; - -struct drm_exec { - u32 flags; - struct ww_acquire_ctx ticket; - unsigned int num_objects; - unsigned int max_objects; - struct drm_gem_object **objects; - struct drm_gem_object *contended; - struct drm_gem_object *prelocked; -}; - -struct fb_info; - -struct fb_deferred_io { - long unsigned int delay; - bool sort_pagereflist; - int open_count; - struct mutex lock; - struct list_head pagereflist; - struct address_space *mapping; - struct page * (*get_page)(struct fb_info *, long unsigned int); - void (*deferred_io)(struct fb_info *, struct list_head *); -}; - -struct drm_fb_helper_funcs; - -struct drm_fb_helper { - struct drm_client_dev client; - struct drm_client_buffer *buffer; - struct drm_framebuffer *fb; - struct drm_device *dev; - const struct drm_fb_helper_funcs *funcs; - struct fb_info *info; - u32 pseudo_palette[17]; - struct drm_clip_rect damage_clip; - spinlock_t damage_lock; - struct work_struct damage_work; - struct work_struct resume_work; - struct mutex lock; - struct list_head kernel_fb_list; - bool delayed_hotplug; - bool deferred_setup; - int preferred_bpp; - struct fb_deferred_io fbdefio; -}; - -struct drm_fb_helper_funcs { - int (*fb_dirty)(struct drm_fb_helper *, struct drm_clip_rect *); - void (*fb_restore)(struct drm_fb_helper *); - void (*fb_set_suspend)(struct drm_fb_helper *, bool); -}; - -struct drm_fb_helper_surface_size { - u32 fb_width; - u32 fb_height; - u32 surface_width; - u32 surface_height; - u32 surface_bpp; - u32 surface_depth; -}; - -struct drm_prime_file_private { - struct mutex lock; - struct rb_root dmabufs; - struct rb_root handles; -}; - -struct drm_file { - bool authenticated; - bool stereo_allowed; - bool universal_planes; - bool atomic; - bool aspect_ratio_allowed; - bool writeback_connectors; - bool was_master; - bool is_master; - bool supports_virtualized_cursor_plane; - struct drm_master *master; - spinlock_t master_lookup_lock; - struct pid *pid; - u64 client_id; - drm_magic_t magic; - struct list_head lhead; - struct drm_minor *minor; - struct idr object_idr; - spinlock_t table_lock; - struct idr syncobj_idr; - spinlock_t syncobj_table_lock; - struct file *filp; - void *driver_priv; - struct list_head fbs; - struct mutex fbs_lock; - struct list_head blobs; - wait_queue_head_t event_wait; - struct list_head pending_event_list; - struct list_head event_list; - int event_space; - struct mutex event_read_lock; - struct drm_prime_file_private prime; - const char *client_name; - struct mutex client_name_lock; - struct dentry *debugfs_client; -}; - -struct drm_flip_task { - struct list_head node; - void *data; -}; - -struct drm_flip_work; - -typedef void (*drm_flip_func_t)(struct drm_flip_work *, void *); - -struct drm_flip_work { - const char *name; - drm_flip_func_t func; - struct work_struct worker; - struct list_head queued; - struct list_head commited; - spinlock_t lock; -}; - -struct drm_format_conv_state { - struct { - void *mem; - size_t size; - bool preallocated; - } tmp; -}; - -struct drm_format_info { - u32 format; - u8 depth; - u8 num_planes; - union { - u8 cpp[4]; - u8 char_per_block[4]; - }; - u8 block_w[4]; - u8 block_h[4]; - u8 hsub; - u8 vsub; - bool has_alpha; - bool is_yuv; - bool is_color_indexed; -}; - -struct drm_format_modifier { - __u64 formats; - __u32 offset; - __u32 pad; - __u64 modifier; -}; - -struct drm_format_modifier_blob { - __u32 version; - __u32 flags; - __u32 count_formats; - __u32 formats_offset; - __u32 count_modifiers; - __u32 modifiers_offset; -}; - -struct drm_framebuffer_funcs { - void (*destroy)(struct drm_framebuffer *); - int (*create_handle)(struct drm_framebuffer *, struct drm_file *, unsigned int *); - int (*dirty)(struct drm_framebuffer *, struct drm_file *, unsigned int, unsigned int, struct drm_clip_rect *, unsigned int); -}; - -struct drm_gem_close { - __u32 handle; - __u32 pad; -}; - -struct drm_gem_flink { - __u32 handle; - __u32 name; -}; - -struct drm_gem_lru { - struct mutex *lock; - long int count; - struct list_head list; -}; - -struct drm_mm; - -struct drm_mm_node { - long unsigned int color; - u64 start; - u64 size; - struct drm_mm *mm; - struct list_head node_list; - struct list_head hole_stack; - struct rb_node rb; - struct rb_node rb_hole_size; - struct rb_node rb_hole_addr; - u64 __subtree_last; - u64 hole_size; - u64 subtree_max_hole; - long unsigned int flags; -}; - -struct drm_vma_offset_node { - rwlock_t vm_lock; - struct drm_mm_node vm_node; - struct rb_root vm_files; - void *driver_private; -}; - -struct drm_gem_object_funcs; - -struct drm_gem_object { - struct kref refcount; - unsigned int handle_count; - struct drm_device *dev; - struct file *filp; - struct drm_vma_offset_node vma_node; - size_t size; - int name; - struct dma_buf *dma_buf; - struct dma_buf_attachment *import_attach; - struct dma_resv *resv; - struct dma_resv _resv; - struct { - struct list_head list; - } gpuva; - const struct drm_gem_object_funcs *funcs; - struct list_head lru_node; - struct drm_gem_lru *lru; -}; - -struct drm_gem_object_funcs { - void (*free)(struct drm_gem_object *); - int (*open)(struct drm_gem_object *, struct drm_file *); - void (*close)(struct drm_gem_object *, struct drm_file *); - void (*print_info)(struct drm_printer *, unsigned int, const struct drm_gem_object *); - struct dma_buf * (*export)(struct drm_gem_object *, int); - int (*pin)(struct drm_gem_object *); - void (*unpin)(struct drm_gem_object *); - struct sg_table * (*get_sg_table)(struct drm_gem_object *); - int (*vmap)(struct drm_gem_object *, struct iosys_map *); - void (*vunmap)(struct drm_gem_object *, struct iosys_map *); - int (*mmap)(struct drm_gem_object *, struct vm_area_struct *); - int (*evict)(struct drm_gem_object *); - enum drm_gem_object_status (*status)(struct drm_gem_object *); - size_t (*rss)(struct drm_gem_object *); - const struct vm_operations_struct *vm_ops; -}; - -struct drm_gem_open { - __u32 name; - __u32 handle; - __u64 size; -}; - -struct drm_gem_shmem_object { - struct drm_gem_object base; - struct page **pages; - refcount_t pages_use_count; - refcount_t pages_pin_count; - int madv; - struct list_head madv_list; - struct sg_table *sgt; - void *vaddr; - refcount_t vmap_use_count; - bool pages_mark_dirty_on_put: 1; - bool pages_mark_accessed_on_put: 1; - bool map_wc: 1; -}; - -struct drm_get_cap { - __u64 capability; - __u64 value; -}; - -struct drm_gpuvm; - -struct drm_gpuvm_bo; - -struct drm_gpuva { - struct drm_gpuvm *vm; - struct drm_gpuvm_bo *vm_bo; - enum drm_gpuva_flags flags; - struct { - u64 addr; - u64 range; - } va; - struct { - u64 offset; - struct drm_gem_object *obj; - struct list_head entry; - } gem; - struct { - struct rb_node node; - struct list_head entry; - u64 __subtree_last; - } rb; -}; - -struct drm_gpuva_op_map { - struct { - u64 addr; - u64 range; - } va; - struct { - u64 offset; - struct drm_gem_object *obj; - } gem; -}; - -struct drm_gpuva_op_unmap; - -struct drm_gpuva_op_remap { - struct drm_gpuva_op_map *prev; - struct drm_gpuva_op_map *next; - struct drm_gpuva_op_unmap *unmap; -}; - -struct drm_gpuva_op_unmap { - struct drm_gpuva *va; - bool keep; -}; - -struct drm_gpuva_op_prefetch { - struct drm_gpuva *va; -}; - -struct drm_gpuva_op { - struct list_head entry; - enum drm_gpuva_op_type op; - union { - struct drm_gpuva_op_map map; - struct drm_gpuva_op_remap remap; - struct drm_gpuva_op_unmap unmap; - struct drm_gpuva_op_prefetch prefetch; - }; -}; - -struct drm_gpuvm_ops; - -struct drm_gpuvm { - const char *name; - enum drm_gpuvm_flags flags; - struct drm_device *drm; - u64 mm_start; - u64 mm_range; - struct { - struct rb_root_cached tree; - struct list_head list; - } rb; - struct kref kref; - struct drm_gpuva kernel_alloc_node; - const struct drm_gpuvm_ops *ops; - struct drm_gem_object *r_obj; - struct { - struct list_head list; - struct list_head *local_list; - spinlock_t lock; - } extobj; - struct { - struct list_head list; - struct list_head *local_list; - spinlock_t lock; - } evict; -}; - -struct drm_gpuvm_bo { - struct drm_gpuvm *vm; - struct drm_gem_object *obj; - bool evicted; - struct kref kref; - struct { - struct list_head gpuva; - struct { - struct list_head gem; - struct list_head extobj; - struct list_head evict; - } entry; - } list; -}; - -struct drm_gpuvm_ops { - void (*vm_free)(struct drm_gpuvm *); - struct drm_gpuva_op * (*op_alloc)(void); - void (*op_free)(struct drm_gpuva_op *); - struct drm_gpuvm_bo * (*vm_bo_alloc)(void); - void (*vm_bo_free)(struct drm_gpuvm_bo *); - int (*vm_bo_validate)(struct drm_gpuvm_bo *, struct drm_exec *); - int (*sm_step_map)(struct drm_gpuva_op *, void *); - int (*sm_step_remap)(struct drm_gpuva_op *, void *); - int (*sm_step_unmap)(struct drm_gpuva_op *, void *); -}; - -struct drm_info_list { - const char *name; - int (*show)(struct seq_file *, void *); - u32 driver_features; - void *data; -}; - -struct drm_info_node { - struct drm_minor *minor; - const struct drm_info_list *info_ent; - struct list_head list; - struct dentry *dent; -}; - -typedef int drm_ioctl_t(struct drm_device *, void *, struct drm_file *); - -struct drm_ioctl_desc { - unsigned int cmd; - enum drm_ioctl_flags flags; - drm_ioctl_t *func; - const char *name; -}; - -struct drm_log_scanout; - -struct drm_log { - struct mutex lock; - struct drm_client_dev client; - struct console con; - bool probed; - u32 n_scanout; - struct drm_log_scanout *scanout; -}; - -struct font_desc; - -struct drm_log_scanout { - struct drm_client_buffer *buffer; - const struct font_desc *font; - u32 rows; - u32 columns; - u32 scaled_font_h; - u32 scaled_font_w; - u32 line; - u32 format; - u32 px_width; - u32 front_color; - u32 prefix_color; -}; - -struct drm_master { - struct kref refcount; - struct drm_device *dev; - char *unique; - int unique_len; - struct idr magic_map; - void *driver_priv; - struct drm_master *lessor; - int lessee_id; - struct list_head lessee_list; - struct list_head lessees; - struct idr leases; - struct idr lessee_idr; -}; - -struct drm_memory_stats { - u64 shared; - u64 private; - u64 resident; - u64 purgeable; - u64 active; -}; - -struct drm_minor { - int index; - int type; - struct device *kdev; - struct drm_device *dev; - struct dentry *debugfs_symlink; - struct dentry *debugfs_root; -}; - -struct drm_mm { - void (*color_adjust)(const struct drm_mm_node *, long unsigned int, u64 *, u64 *); - struct list_head hole_stack; - struct drm_mm_node head_node; - struct rb_root_cached interval_tree; - struct rb_root_cached holes_size; - struct rb_root holes_addr; - long unsigned int scan_active; -}; - -struct drm_mm_scan { - struct drm_mm *mm; - u64 size; - u64 alignment; - u64 remainder_mask; - u64 range_start; - u64 range_end; - u64 hit_start; - u64 hit_end; - long unsigned int color; - enum drm_mm_insert_mode mode; -}; - -struct drm_mode_atomic { - __u32 flags; - __u32 count_objs; - __u64 objs_ptr; - __u64 count_props_ptr; - __u64 props_ptr; - __u64 prop_values_ptr; - __u64 reserved; - __u64 user_data; -}; - -struct drm_mode_card_res { - __u64 fb_id_ptr; - __u64 crtc_id_ptr; - __u64 connector_id_ptr; - __u64 encoder_id_ptr; - __u32 count_fbs; - __u32 count_crtcs; - __u32 count_connectors; - __u32 count_encoders; - __u32 min_width; - __u32 max_width; - __u32 min_height; - __u32 max_height; -}; - -struct drm_mode_closefb { - __u32 fb_id; - __u32 pad; -}; - -struct drm_mode_fb_cmd2; - -struct drm_mode_config_funcs { - struct drm_framebuffer * (*fb_create)(struct drm_device *, struct drm_file *, const struct drm_format_info *, const struct drm_mode_fb_cmd2 *); - const struct drm_format_info * (*get_format_info)(u32, u64); - enum drm_mode_status (*mode_valid)(struct drm_device *, const struct drm_display_mode *); - int (*atomic_check)(struct drm_device *, struct drm_atomic_state *); - int (*atomic_commit)(struct drm_device *, struct drm_atomic_state *, bool); - struct drm_atomic_state * (*atomic_state_alloc)(struct drm_device *); - void (*atomic_state_clear)(struct drm_atomic_state *); - void (*atomic_state_free)(struct drm_atomic_state *); -}; - -struct drm_mode_config_helper_funcs { - void (*atomic_commit_tail)(struct drm_atomic_state *); - int (*atomic_commit_setup)(struct drm_atomic_state *); -}; - -struct drm_mode_connector_set_property { - __u64 value; - __u32 prop_id; - __u32 connector_id; -}; - -struct drm_mode_create_blob { - __u64 data; - __u32 length; - __u32 blob_id; -}; - -struct drm_mode_create_dumb { - __u32 height; - __u32 width; - __u32 bpp; - __u32 flags; - __u32 handle; - __u32 pitch; - __u64 size; -}; - -struct drm_mode_create_lease { - __u64 object_ids; - __u32 object_count; - __u32 flags; - __u32 lessee_id; - __u32 fd; -}; - -struct drm_mode_modeinfo { - __u32 clock; - __u16 hdisplay; - __u16 hsync_start; - __u16 hsync_end; - __u16 htotal; - __u16 hskew; - __u16 vdisplay; - __u16 vsync_start; - __u16 vsync_end; - __u16 vtotal; - __u16 vscan; - __u32 vrefresh; - __u32 flags; - __u32 type; - char name[32]; -}; - -struct drm_mode_crtc { - __u64 set_connectors_ptr; - __u32 count_connectors; - __u32 crtc_id; - __u32 fb_id; - __u32 x; - __u32 y; - __u32 gamma_size; - __u32 mode_valid; - struct drm_mode_modeinfo mode; -}; - -struct drm_mode_crtc_lut { - __u32 crtc_id; - __u32 gamma_size; - __u64 red; - __u64 green; - __u64 blue; -}; - -struct drm_mode_crtc_page_flip_target { - __u32 crtc_id; - __u32 fb_id; - __u32 flags; - __u32 sequence; - __u64 user_data; -}; - -struct drm_mode_cursor { - __u32 flags; - __u32 crtc_id; - __s32 x; - __s32 y; - __u32 width; - __u32 height; - __u32 handle; -}; - -struct drm_mode_cursor2 { - __u32 flags; - __u32 crtc_id; - __s32 x; - __s32 y; - __u32 width; - __u32 height; - __u32 handle; - __s32 hot_x; - __s32 hot_y; -}; - -struct drm_mode_destroy_blob { - __u32 blob_id; -}; - -struct drm_mode_destroy_dumb { - __u32 handle; -}; - -struct drm_mode_fb_cmd { - __u32 fb_id; - __u32 width; - __u32 height; - __u32 pitch; - __u32 bpp; - __u32 depth; - __u32 handle; -}; - -struct drm_mode_fb_cmd2 { - __u32 fb_id; - __u32 width; - __u32 height; - __u32 pixel_format; - __u32 flags; - __u32 handles[4]; - __u32 pitches[4]; - __u32 offsets[4]; - __u64 modifier[4]; -}; - -struct drm_mode_fb_cmd232 { - u32 fb_id; - u32 width; - u32 height; - u32 pixel_format; - u32 flags; - u32 handles[4]; - u32 pitches[4]; - u32 offsets[4]; - u64 modifier[4]; -} __attribute__((packed)); - -struct drm_mode_fb_dirty_cmd { - __u32 fb_id; - __u32 flags; - __u32 color; - __u32 num_clips; - __u64 clips_ptr; -}; - -struct drm_mode_get_blob { - __u32 blob_id; - __u32 length; - __u64 data; -}; - -struct drm_mode_get_connector { - __u64 encoders_ptr; - __u64 modes_ptr; - __u64 props_ptr; - __u64 prop_values_ptr; - __u32 count_modes; - __u32 count_props; - __u32 count_encoders; - __u32 encoder_id; - __u32 connector_id; - __u32 connector_type; - __u32 connector_type_id; - __u32 connection; - __u32 mm_width; - __u32 mm_height; - __u32 subpixel; - __u32 pad; -}; - -struct drm_mode_get_encoder { - __u32 encoder_id; - __u32 encoder_type; - __u32 crtc_id; - __u32 possible_crtcs; - __u32 possible_clones; -}; - -struct drm_mode_get_lease { - __u32 count_objects; - __u32 pad; - __u64 objects_ptr; -}; - -struct drm_mode_get_plane { - __u32 plane_id; - __u32 crtc_id; - __u32 fb_id; - __u32 possible_crtcs; - __u32 gamma_size; - __u32 count_format_types; - __u64 format_type_ptr; -}; - -struct drm_mode_get_plane_res { - __u64 plane_id_ptr; - __u32 count_planes; -}; - -struct drm_mode_get_property { - __u64 values_ptr; - __u64 enum_blob_ptr; - __u32 prop_id; - __u32 flags; - char name[32]; - __u32 count_values; - __u32 count_enum_blobs; -}; - -struct drm_mode_list_lessees { - __u32 count_lessees; - __u32 pad; - __u64 lessees_ptr; -}; - -struct drm_mode_map_dumb { - __u32 handle; - __u32 pad; - __u64 offset; -}; - -struct drm_mode_obj_get_properties { - __u64 props_ptr; - __u64 prop_values_ptr; - __u32 count_props; - __u32 obj_id; - __u32 obj_type; -}; - -struct drm_mode_obj_set_property { - __u64 value; - __u32 prop_id; - __u32 obj_id; - __u32 obj_type; -}; - -struct drm_mode_property_enum { - __u64 value; - char name[32]; -}; - -struct drm_mode_rect { - __s32 x1; - __s32 y1; - __s32 x2; - __s32 y2; -}; - -struct drm_mode_revoke_lease { - __u32 lessee_id; -}; - -struct drm_mode_rmfb_work { - struct work_struct work; - struct list_head fbs; -}; - -struct drm_mode_set { - struct drm_framebuffer *fb; - struct drm_crtc *crtc; - struct drm_display_mode *mode; - uint32_t x; - uint32_t y; - struct drm_connector **connectors; - size_t num_connectors; -}; - -struct drm_mode_set_plane { - __u32 plane_id; - __u32 crtc_id; - __u32 fb_id; - __u32 flags; - __s32 crtc_x; - __s32 crtc_y; - __u32 crtc_w; - __u32 crtc_h; - __u32 src_x; - __u32 src_y; - __u32 src_h; - __u32 src_w; -}; - -struct drm_modeset_acquire_ctx { - struct ww_acquire_ctx ww_ctx; - struct drm_modeset_lock *contended; - depot_stack_handle_t stack_depot; - struct list_head locked; - bool trylock_only; - bool interruptible; -}; - -struct drm_named_mode { - const char *name; - unsigned int pixel_clock_khz; - unsigned int xres; - unsigned int yres; - unsigned int flags; - unsigned int tv_mode; -}; - -struct sync_file; - -struct drm_out_fence_state { - s32 *out_fence_ptr; - struct sync_file *sync_file; - int fd; -}; - -struct drm_panel_funcs; - -struct drm_panel { - struct device *dev; - struct backlight_device *backlight; - const struct drm_panel_funcs *funcs; - int connector_type; - struct list_head list; - struct list_head followers; - struct mutex follower_lock; - bool prepare_prev_first; - bool prepared; - bool enabled; - void *container; - struct kref refcount; -}; - -struct drm_panel_follower_funcs; - -struct drm_panel_follower { - const struct drm_panel_follower_funcs *funcs; - struct list_head list; - struct drm_panel *panel; -}; - -struct drm_panel_follower_funcs { - int (*panel_prepared)(struct drm_panel_follower *); - int (*panel_unpreparing)(struct drm_panel_follower *); - int (*panel_enabled)(struct drm_panel_follower *); - int (*panel_disabling)(struct drm_panel_follower *); -}; - -struct drm_panel_funcs { - int (*prepare)(struct drm_panel *); - int (*enable)(struct drm_panel *); - int (*disable)(struct drm_panel *); - int (*unprepare)(struct drm_panel *); - int (*get_modes)(struct drm_panel *, struct drm_connector *); - enum drm_panel_orientation (*get_orientation)(struct drm_panel *); - int (*get_timings)(struct drm_panel *, unsigned int, struct display_timing *); - void (*debugfs_init)(struct drm_panel *, struct dentry *); -}; - -struct drm_panic_line { - u32 len; - const char *txt; -}; - -struct drm_pending_event { - struct completion *completion; - void (*completion_release)(struct completion *); - struct drm_event *event; - struct dma_fence *fence; - struct drm_file *file_priv; - struct list_head link; - struct list_head pending_link; -}; - -struct drm_pending_vblank_event { - struct drm_pending_event base; - unsigned int pipe; - u64 sequence; - union { - struct drm_event base; - struct drm_event_vblank vbl; - struct drm_event_crtc_sequence seq; - } event; -}; - -struct kmsg_dump_detail; - -struct kmsg_dumper { - struct list_head list; - void (*dump)(struct kmsg_dumper *, struct kmsg_dump_detail *); - enum kmsg_dump_reason max_reason; - bool registered; -}; - -struct drm_plane_funcs; - -struct drm_plane_helper_funcs; - -struct drm_plane { - struct drm_device *dev; - struct list_head head; - char *name; - struct drm_modeset_lock mutex; - struct drm_mode_object base; - uint32_t possible_crtcs; - uint32_t *format_types; - unsigned int format_count; - bool format_default; - uint64_t *modifiers; - unsigned int modifier_count; - struct drm_crtc *crtc; - struct drm_framebuffer *fb; - struct drm_framebuffer *old_fb; - const struct drm_plane_funcs *funcs; - struct drm_object_properties properties; - enum drm_plane_type type; - unsigned int index; - const struct drm_plane_helper_funcs *helper_private; - struct drm_plane_state *state; - struct drm_property *alpha_property; - struct drm_property *zpos_property; - struct drm_property *rotation_property; - struct drm_property *blend_mode_property; - struct drm_property *color_encoding_property; - struct drm_property *color_range_property; - struct drm_property *scaling_filter_property; - struct drm_property *hotspot_x_property; - struct drm_property *hotspot_y_property; - struct kmsg_dumper kmsg_panic; -}; - -struct drm_plane_funcs { - int (*update_plane)(struct drm_plane *, struct drm_crtc *, struct drm_framebuffer *, int, int, unsigned int, unsigned int, uint32_t, uint32_t, uint32_t, uint32_t, struct drm_modeset_acquire_ctx *); - int (*disable_plane)(struct drm_plane *, struct drm_modeset_acquire_ctx *); - void (*destroy)(struct drm_plane *); - void (*reset)(struct drm_plane *); - int (*set_property)(struct drm_plane *, struct drm_property *, uint64_t); - struct drm_plane_state * (*atomic_duplicate_state)(struct drm_plane *); - void (*atomic_destroy_state)(struct drm_plane *, struct drm_plane_state *); - int (*atomic_set_property)(struct drm_plane *, struct drm_plane_state *, struct drm_property *, uint64_t); - int (*atomic_get_property)(struct drm_plane *, const struct drm_plane_state *, struct drm_property *, uint64_t *); - int (*late_register)(struct drm_plane *); - void (*early_unregister)(struct drm_plane *); - void (*atomic_print_state)(struct drm_printer *, const struct drm_plane_state *); - bool (*format_mod_supported)(struct drm_plane *, uint32_t, uint64_t); - bool (*format_mod_supported_async)(struct drm_plane *, u32, u64); -}; - -struct drm_scanout_buffer; - -struct drm_plane_helper_funcs { - int (*prepare_fb)(struct drm_plane *, struct drm_plane_state *); - void (*cleanup_fb)(struct drm_plane *, struct drm_plane_state *); - int (*begin_fb_access)(struct drm_plane *, struct drm_plane_state *); - void (*end_fb_access)(struct drm_plane *, struct drm_plane_state *); - int (*atomic_check)(struct drm_plane *, struct drm_atomic_state *); - void (*atomic_update)(struct drm_plane *, struct drm_atomic_state *); - void (*atomic_enable)(struct drm_plane *, struct drm_atomic_state *); - void (*atomic_disable)(struct drm_plane *, struct drm_atomic_state *); - int (*atomic_async_check)(struct drm_plane *, struct drm_atomic_state *, bool); - void (*atomic_async_update)(struct drm_plane *, struct drm_atomic_state *); - int (*get_scanout_buffer)(struct drm_plane *, struct drm_scanout_buffer *); - void (*panic_flush)(struct drm_plane *); -}; - -struct drm_plane_size_hint { - __u16 width; - __u16 height; -}; - -struct drm_plane_state { - struct drm_plane *plane; - struct drm_crtc *crtc; - struct drm_framebuffer *fb; - struct dma_fence *fence; - int32_t crtc_x; - int32_t crtc_y; - uint32_t crtc_w; - uint32_t crtc_h; - uint32_t src_x; - uint32_t src_y; - uint32_t src_h; - uint32_t src_w; - int32_t hotspot_x; - int32_t hotspot_y; - u16 alpha; - uint16_t pixel_blend_mode; - unsigned int rotation; - unsigned int zpos; - unsigned int normalized_zpos; - enum drm_color_encoding color_encoding; - enum drm_color_range color_range; - struct drm_property_blob *fb_damage_clips; - bool ignore_damage_clips; - struct drm_rect src; - struct drm_rect dst; - bool visible; - enum drm_scaling_filter scaling_filter; - struct drm_crtc_commit *commit; - struct drm_atomic_state *state; - bool color_mgmt_changed: 1; -}; - -struct drm_prime_handle { - __u32 handle; - __u32 flags; - __s32 fd; -}; - -struct drm_prime_member { - struct dma_buf *dma_buf; - uint32_t handle; - struct rb_node dmabuf_rb; - struct rb_node handle_rb; -}; - -struct drm_print_iterator { - void *data; - ssize_t start; - ssize_t remain; - ssize_t offset; -}; - -struct va_format; - -struct drm_printer { - void (*printfn)(struct drm_printer *, struct va_format *); - void (*puts)(struct drm_printer *, const char *); - void *arg; - const void *origin; - const char *prefix; - struct { - unsigned int series; - unsigned int counter; - } line; - enum drm_debug_category category; -}; - -struct drm_privacy_screen_ops; - -struct drm_privacy_screen { - struct device dev; - struct mutex lock; - struct list_head list; - struct blocking_notifier_head notifier_head; - const struct drm_privacy_screen_ops *ops; - enum drm_privacy_screen_status sw_state; - enum drm_privacy_screen_status hw_state; - void *drvdata; -}; - -struct drm_privacy_screen_ops { - int (*set_sw_state)(struct drm_privacy_screen *, enum drm_privacy_screen_status); - void (*get_hw_state)(struct drm_privacy_screen *); -}; - -struct drm_private_state_funcs { - struct drm_private_state * (*atomic_duplicate_state)(struct drm_private_obj *); - void (*atomic_destroy_state)(struct drm_private_obj *, struct drm_private_state *); - void (*atomic_print_state)(struct drm_printer *, const struct drm_private_state *); -}; - -struct drm_prop_enum_list { - int type; - const char *name; -}; - -struct drm_property { - struct list_head head; - struct drm_mode_object base; - uint32_t flags; - char name[32]; - uint32_t num_values; - uint64_t *values; - struct drm_device *dev; - struct list_head enum_list; -}; - -struct drm_property_blob { - struct drm_mode_object base; - struct drm_device *dev; - struct list_head head_global; - struct list_head head_file; - size_t length; - void *data; -}; - -struct drm_property_enum { - uint64_t value; - struct list_head head; - char name[32]; -}; - -struct drm_scanout_buffer { - const struct drm_format_info *format; - struct iosys_map map[4]; - struct page **pages; - unsigned int width; - unsigned int height; - unsigned int pitch[4]; - void (*set_pixel)(struct drm_scanout_buffer *, unsigned int, unsigned int, u32); - void *private; -}; - -struct ewma_psr_time { - long unsigned int internal; -}; - -struct drm_self_refresh_data { - struct drm_crtc *crtc; - struct delayed_work entry_work; - struct mutex avg_mutex; - struct ewma_psr_time entry_avg_ms; - struct ewma_psr_time exit_avg_ms; -}; - -struct drm_set_client_cap { - __u64 capability; - __u64 value; -}; - -struct drm_set_client_name { - __u64 name_len; - __u64 name; -}; - -struct drm_set_version { - int drm_di_major; - int drm_di_minor; - int drm_dd_major; - int drm_dd_minor; -}; - -struct drm_shadow_plane_state { - struct drm_plane_state base; - struct drm_format_conv_state fmtcnv_state; - struct iosys_map map[4]; - struct iosys_map data[4]; -}; - -struct drm_simple_display_pipe_funcs; - -struct drm_simple_display_pipe { - struct drm_crtc crtc; - struct drm_plane plane; - struct drm_encoder encoder; - struct drm_connector *connector; - const struct drm_simple_display_pipe_funcs *funcs; -}; - -struct drm_simple_display_pipe_funcs { - enum drm_mode_status (*mode_valid)(struct drm_simple_display_pipe *, const struct drm_display_mode *); - void (*enable)(struct drm_simple_display_pipe *, struct drm_crtc_state *, struct drm_plane_state *); - void (*disable)(struct drm_simple_display_pipe *); - int (*check)(struct drm_simple_display_pipe *, struct drm_plane_state *, struct drm_crtc_state *); - void (*update)(struct drm_simple_display_pipe *, struct drm_plane_state *); - int (*prepare_fb)(struct drm_simple_display_pipe *, struct drm_plane_state *); - void (*cleanup_fb)(struct drm_simple_display_pipe *, struct drm_plane_state *); - int (*begin_fb_access)(struct drm_simple_display_pipe *, struct drm_plane_state *); - void (*end_fb_access)(struct drm_simple_display_pipe *, struct drm_plane_state *); - int (*enable_vblank)(struct drm_simple_display_pipe *); - void (*disable_vblank)(struct drm_simple_display_pipe *); - void (*reset_crtc)(struct drm_simple_display_pipe *); - struct drm_crtc_state * (*duplicate_crtc_state)(struct drm_simple_display_pipe *); - void (*destroy_crtc_state)(struct drm_simple_display_pipe *, struct drm_crtc_state *); - void (*reset_plane)(struct drm_simple_display_pipe *); - struct drm_plane_state * (*duplicate_plane_state)(struct drm_simple_display_pipe *); - void (*destroy_plane_state)(struct drm_simple_display_pipe *, struct drm_plane_state *); -}; - -struct drm_stats { - long unsigned int count; - struct { - long unsigned int value; - enum drm_stat_type type; - } data[15]; -}; - -struct drm_stats32 { - u32 count; - struct { - u32 value; - enum drm_stat_type type; - } data[15]; -}; - -typedef struct drm_stats32 drm_stats32_t; - -struct drm_syncobj { - struct kref refcount; - struct dma_fence *fence; - struct list_head cb_list; - struct list_head ev_fd_list; - spinlock_t lock; - struct file *file; -}; - -struct drm_syncobj_array { - __u64 handles; - __u32 count_handles; - __u32 pad; -}; - -struct drm_syncobj_create { - __u32 handle; - __u32 flags; -}; - -struct drm_syncobj_destroy { - __u32 handle; - __u32 pad; -}; - -struct drm_syncobj_eventfd { - __u32 handle; - __u32 flags; - __u64 point; - __s32 fd; - __u32 pad; -}; - -struct drm_syncobj_handle { - __u32 handle; - __u32 flags; - __s32 fd; - __u32 pad; - __u64 point; -}; - -struct drm_syncobj_timeline_array { - __u64 handles; - __u64 points; - __u32 count_handles; - __u32 flags; -}; - -struct drm_syncobj_timeline_wait { - __u64 handles; - __u64 points; - __s64 timeout_nsec; - __u32 count_handles; - __u32 flags; - __u32 first_signaled; - __u32 pad; - __u64 deadline_nsec; -}; - -struct drm_syncobj_transfer { - __u32 src_handle; - __u32 dst_handle; - __u64 src_point; - __u64 dst_point; - __u32 flags; - __u32 pad; -}; - -struct drm_syncobj_wait { - __u64 handles; - __s64 timeout_nsec; - __u32 count_handles; - __u32 flags; - __u32 first_signaled; - __u32 pad; - __u64 deadline_nsec; -}; - -struct drm_sysfb_crtc_state { - struct drm_crtc_state base; - const struct drm_format_info *format; -}; - -struct drm_sysfb_device { - struct drm_device dev; - const u8 *edid; - struct drm_display_mode fb_mode; - const struct drm_format_info *fb_format; - unsigned int fb_pitch; - unsigned int fb_gamma_lut_size; - struct iosys_map fb_addr; -}; - -struct pixel_format { - unsigned char bits_per_pixel; - bool indexed; - union { - struct { - struct { - unsigned char offset; - unsigned char length; - } alpha; - struct { - unsigned char offset; - unsigned char length; - } red; - struct { - unsigned char offset; - unsigned char length; - } green; - struct { - unsigned char offset; - unsigned char length; - } blue; - }; - struct { - unsigned char offset; - unsigned char length; - } index; - }; -}; - -struct drm_sysfb_format { - struct pixel_format pixel; - u32 fourcc; -}; - -struct drm_tile_group { - struct kref refcount; - struct drm_device *dev; - int id; - u8 group_data[8]; -}; - -struct drm_unique { - __kernel_size_t unique_len; - char *unique; -}; - -struct drm_unique32 { - u32 unique_len; - u32 unique; -}; - -typedef struct drm_unique32 drm_unique32_t; - -struct drm_vblank_crtc_config { - int offdelay_ms; - bool disable_immediate; -}; - -struct drm_vblank_crtc { - struct drm_device *dev; - wait_queue_head_t queue; - struct timer_list disable_timer; - seqlock_t seqlock; - atomic64_t count; - ktime_t time; - atomic_t refcount; - u32 last; - u32 max_vblank_count; - unsigned int inmodeset; - unsigned int pipe; - int framedur_ns; - int linedur_ns; - struct drm_display_mode hwmode; - struct drm_vblank_crtc_config config; - bool enabled; - struct kthread_worker *worker; - struct list_head pending_work; - wait_queue_head_t work_wait_queue; -}; - -struct drm_vblank_work { - struct kthread_work base; - struct drm_vblank_crtc *vblank; - u64 count; - int cancelling; - struct list_head node; -}; - -struct drm_version { - int version_major; - int version_minor; - int version_patchlevel; - __kernel_size_t name_len; - char *name; - __kernel_size_t date_len; - char *date; - __kernel_size_t desc_len; - char *desc; -}; - -struct drm_version_32 { - int version_major; - int version_minor; - int version_patchlevel; - u32 name_len; - u32 name; - u32 date_len; - u32 date; - u32 desc_len; - u32 desc; -}; - -typedef struct drm_version_32 drm_version32_t; - -struct drm_vma_offset_file { - struct rb_node vm_rb; - struct drm_file *vm_tag; - long unsigned int vm_count; -}; - -struct drm_vma_offset_manager { - rwlock_t vm_lock; - struct drm_mm vm_addr_space_mm; -}; - -struct drm_wait_vblank_request { - enum drm_vblank_seq_type type; - unsigned int sequence; - long unsigned int signal; -}; - -struct drm_wait_vblank_reply { - enum drm_vblank_seq_type type; - unsigned int sequence; - long int tval_sec; - long int tval_usec; -}; - -union drm_wait_vblank { - struct drm_wait_vblank_request request; - struct drm_wait_vblank_reply reply; -}; - -struct drm_wait_vblank_request32 { - enum drm_vblank_seq_type type; - unsigned int sequence; - u32 signal; -}; - -struct drm_wait_vblank_reply32 { - enum drm_vblank_seq_type type; - unsigned int sequence; - s32 tval_sec; - s32 tval_usec; -}; - -union drm_wait_vblank32 { - struct drm_wait_vblank_request32 request; - struct drm_wait_vblank_reply32 reply; -}; - -typedef union drm_wait_vblank32 drm_wait_vblank32_t; - -struct drm_wedge_task_info { - pid_t pid; - char comm[16]; -}; - -struct drm_writeback_connector { - struct drm_connector base; - struct drm_encoder encoder; - struct drm_property_blob *pixel_formats_blob_ptr; - spinlock_t job_lock; - struct list_head job_queue; - unsigned int fence_context; - spinlock_t fence_lock; - long unsigned int fence_seqno; - char timeline_name[32]; -}; - -struct drm_writeback_job { - struct drm_writeback_connector *connector; - bool prepared; - struct work_struct cleanup_work; - struct list_head list_entry; - struct drm_framebuffer *fb; - struct dma_fence *out_fence; - void *priv; -}; - -typedef void (*drmres_release_t)(struct drm_device *, void *); - -struct drmres_node { - struct list_head entry; - drmres_release_t release; - const char *name; - size_t size; -}; - -struct drmres { - struct drmres_node node; - u8 data[0]; -}; - -struct drop_reason_list { - const char * const *reasons; - size_t n_reasons; -}; - -struct drv_cmd { - struct acpi_pct_register *reg; - u32 val; - union { - void (*write)(struct acpi_pct_register *, u32); - u32 (*read)(struct acpi_pct_register *); - } func; -}; - -struct pci_driver; - -struct pci_device_id; - -struct drv_dev_and_id { - struct pci_driver *drv; - struct pci_dev *dev; - const struct pci_device_id *id; -}; - -struct dsa_bridge { - struct net_device *dev; - unsigned int num; - bool tx_fwd_offload; - refcount_t refcount; -}; - -struct dsa_chip_data { - struct device *host_dev; - int sw_addr; - struct device *netdev[12]; - int eeprom_len; - struct device_node *of_node; - char *port_names[12]; - struct device_node *port_dn[12]; - s8 rtable[4]; -}; - -struct dsa_lag { - struct net_device *dev; - unsigned int id; - struct mutex fdb_lock; - struct list_head fdbs; - refcount_t refcount; -}; - -struct dsa_port; - -struct dsa_db { - enum dsa_db_type type; - union { - const struct dsa_port *dp; - struct dsa_lag lag; - struct dsa_bridge bridge; - }; -}; - -struct dsa_switch; - -struct dsa_device_ops { - struct sk_buff * (*xmit)(struct sk_buff *, struct net_device *); - struct sk_buff * (*rcv)(struct sk_buff *, struct net_device *); - void (*flow_dissect)(const struct sk_buff *, __be16 *, int *); - int (*connect)(struct dsa_switch *); - void (*disconnect)(struct dsa_switch *); - unsigned int needed_headroom; - unsigned int needed_tailroom; - const char *name; - enum dsa_tag_protocol proto; - bool promisc_on_conduit; -}; - -struct dsa_mall_mirror_tc_entry { - u8 to_local_port; - bool ingress; -}; - -struct dsa_mall_policer_tc_entry { - u32 burst; - u64 rate_bytes_per_sec; -}; - -struct dsa_platform_data { - struct device *netdev; - struct net_device *of_netdev; - int nr_chips; - struct dsa_chip_data *chip; -}; - -struct phylink; - -struct phylink_link_state; - -struct phylink_config { - struct device *dev; - enum phylink_op_type type; - bool poll_fixed_state; - bool mac_managed_pm; - bool mac_requires_rxc; - bool default_an_inband; - bool eee_rx_clk_stop_enable; - void (*get_fixed_state)(struct phylink_config *, struct phylink_link_state *); - long unsigned int supported_interfaces[1]; - long unsigned int lpi_interfaces[1]; - long unsigned int mac_capabilities; - long unsigned int lpi_capabilities; - u32 lpi_timer_default; - bool eee_enabled_default; -}; - -struct dsa_switch_tree; - -struct ethtool_ops; - -struct dsa_port { - union { - struct net_device *conduit; - struct net_device *user; - }; - const struct dsa_device_ops *tag_ops; - struct dsa_switch_tree *dst; - struct sk_buff * (*rcv)(struct sk_buff *, struct net_device *); - struct dsa_switch *ds; - unsigned int index; - enum { - DSA_PORT_TYPE_UNUSED = 0, - DSA_PORT_TYPE_CPU = 1, - DSA_PORT_TYPE_DSA = 2, - DSA_PORT_TYPE_USER = 3, - } type; - const char *name; - struct dsa_port *cpu_dp; - u8 mac[6]; - u8 stp_state; - u8 vlan_filtering: 1; - u8 learning: 1; - u8 lag_tx_enabled: 1; - u8 conduit_admin_up: 1; - u8 conduit_oper_up: 1; - u8 cpu_port_in_lag: 1; - u8 setup: 1; - struct device_node *dn; - unsigned int ageing_time; - struct dsa_bridge *bridge; - struct devlink_port devlink_port; - struct phylink *pl; - struct phylink_config pl_config; - netdevice_tracker conduit_tracker; - struct dsa_lag *lag; - struct net_device *hsr_dev; - struct list_head list; - const struct ethtool_ops *orig_ethtool_ops; - struct mutex addr_lists_lock; - struct list_head fdbs; - struct list_head mdbs; - struct mutex vlans_lock; - union { - struct list_head vlans; - struct list_head user_vlans; - }; -}; - -struct kernel_hwtstamp_config; - -struct dsa_stubs { - int (*conduit_hwtstamp_validate)(struct net_device *, const struct kernel_hwtstamp_config *, struct netlink_ext_ack *); -}; - -struct dsa_8021q_context; - -struct dsa_switch_ops; - -struct phylink_mac_ops; - -struct mii_bus; - -struct dsa_switch { - struct device *dev; - struct dsa_switch_tree *dst; - unsigned int index; - u32 setup: 1; - u32 vlan_filtering_is_global: 1; - u32 needs_standalone_vlan_filtering: 1; - u32 configure_vlan_while_not_filtering: 1; - u32 untag_bridge_pvid: 1; - u32 untag_vlan_aware_bridge_pvid: 1; - u32 assisted_learning_on_cpu_port: 1; - u32 vlan_filtering: 1; - u32 mtu_enforcement_ingress: 1; - u32 fdb_isolation: 1; - u32 dscp_prio_mapping_is_global: 1; - struct notifier_block nb; - void *priv; - void *tagger_data; - struct dsa_chip_data *cd; - const struct dsa_switch_ops *ops; - const struct phylink_mac_ops *phylink_mac_ops; - u32 phys_mii_mask; - struct mii_bus *user_mii_bus; - unsigned int ageing_time_min; - unsigned int ageing_time_max; - struct dsa_8021q_context *tag_8021q_ctx; - struct devlink *devlink; - unsigned int num_tx_queues; - unsigned int num_lag_ids; - unsigned int max_num_bridges; - unsigned int num_ports; -}; - -typedef int dsa_fdb_dump_cb_t(const unsigned char *, u16, bool, void *); - -struct ethtool_eth_phy_stats; - -struct ethtool_eth_mac_stats; - -struct ethtool_eth_ctrl_stats; - -struct ethtool_rmon_stats; - -struct ethtool_rmon_hist_range; - -struct ethtool_ts_stats; - -struct rtnl_link_stats64; - -struct ethtool_pause_stats; - -struct ethtool_test; - -struct ethtool_wolinfo; - -struct kernel_ethtool_ts_info; - -struct ethtool_mm_state; - -struct ethtool_mm_cfg; - -struct ethtool_mm_stats; - -struct phy_device; - -struct ethtool_keee; - -struct ethtool_eeprom; - -struct ethtool_regs; - -struct netdev_notifier_changeupper_info; - -struct switchdev_mst_state; - -struct switchdev_brport_flags; - -struct switchdev_obj_port_vlan; - -struct switchdev_vlan_msti; - -struct switchdev_obj_port_mdb; - -struct ethtool_rxnfc; - -struct flow_cls_offload; - -struct netdev_lag_upper_info; - -struct switchdev_obj_mrp; - -struct switchdev_obj_ring_role_mrp; - -struct dsa_switch_ops { - enum dsa_tag_protocol (*get_tag_protocol)(struct dsa_switch *, int, enum dsa_tag_protocol); - int (*change_tag_protocol)(struct dsa_switch *, enum dsa_tag_protocol); - int (*connect_tag_protocol)(struct dsa_switch *, enum dsa_tag_protocol); - int (*port_change_conduit)(struct dsa_switch *, int, struct net_device *, struct netlink_ext_ack *); - int (*setup)(struct dsa_switch *); - void (*teardown)(struct dsa_switch *); - int (*port_setup)(struct dsa_switch *, int); - void (*port_teardown)(struct dsa_switch *, int); - u32 (*get_phy_flags)(struct dsa_switch *, int); - int (*phy_read)(struct dsa_switch *, int, int); - int (*phy_write)(struct dsa_switch *, int, int, u16); - void (*phylink_get_caps)(struct dsa_switch *, int, struct phylink_config *); - void (*phylink_fixed_state)(struct dsa_switch *, int, struct phylink_link_state *); - void (*get_strings)(struct dsa_switch *, int, u32, uint8_t *); - void (*get_ethtool_stats)(struct dsa_switch *, int, uint64_t *); - int (*get_sset_count)(struct dsa_switch *, int, int); - void (*get_ethtool_phy_stats)(struct dsa_switch *, int, uint64_t *); - void (*get_eth_phy_stats)(struct dsa_switch *, int, struct ethtool_eth_phy_stats *); - void (*get_eth_mac_stats)(struct dsa_switch *, int, struct ethtool_eth_mac_stats *); - void (*get_eth_ctrl_stats)(struct dsa_switch *, int, struct ethtool_eth_ctrl_stats *); - void (*get_rmon_stats)(struct dsa_switch *, int, struct ethtool_rmon_stats *, const struct ethtool_rmon_hist_range **); - void (*get_ts_stats)(struct dsa_switch *, int, struct ethtool_ts_stats *); - void (*get_stats64)(struct dsa_switch *, int, struct rtnl_link_stats64 *); - void (*get_pause_stats)(struct dsa_switch *, int, struct ethtool_pause_stats *); - void (*self_test)(struct dsa_switch *, int, struct ethtool_test *, u64 *); - void (*get_wol)(struct dsa_switch *, int, struct ethtool_wolinfo *); - int (*set_wol)(struct dsa_switch *, int, struct ethtool_wolinfo *); - int (*get_ts_info)(struct dsa_switch *, int, struct kernel_ethtool_ts_info *); - int (*get_mm)(struct dsa_switch *, int, struct ethtool_mm_state *); - int (*set_mm)(struct dsa_switch *, int, struct ethtool_mm_cfg *, struct netlink_ext_ack *); - void (*get_mm_stats)(struct dsa_switch *, int, struct ethtool_mm_stats *); - int (*port_get_default_prio)(struct dsa_switch *, int); - int (*port_set_default_prio)(struct dsa_switch *, int, u8); - int (*port_get_dscp_prio)(struct dsa_switch *, int, u8); - int (*port_add_dscp_prio)(struct dsa_switch *, int, u8, u8); - int (*port_del_dscp_prio)(struct dsa_switch *, int, u8, u8); - int (*port_set_apptrust)(struct dsa_switch *, int, const u8 *, int); - int (*port_get_apptrust)(struct dsa_switch *, int, u8 *, int *); - int (*suspend)(struct dsa_switch *); - int (*resume)(struct dsa_switch *); - int (*port_enable)(struct dsa_switch *, int, struct phy_device *); - void (*port_disable)(struct dsa_switch *, int); - int (*port_set_mac_address)(struct dsa_switch *, int, const unsigned char *); - struct dsa_port * (*preferred_default_local_cpu_port)(struct dsa_switch *); - bool (*support_eee)(struct dsa_switch *, int); - int (*set_mac_eee)(struct dsa_switch *, int, struct ethtool_keee *); - int (*get_eeprom_len)(struct dsa_switch *); - int (*get_eeprom)(struct dsa_switch *, struct ethtool_eeprom *, u8 *); - int (*set_eeprom)(struct dsa_switch *, struct ethtool_eeprom *, u8 *); - int (*get_regs_len)(struct dsa_switch *, int); - void (*get_regs)(struct dsa_switch *, int, struct ethtool_regs *, void *); - int (*port_prechangeupper)(struct dsa_switch *, int, struct netdev_notifier_changeupper_info *); - int (*set_ageing_time)(struct dsa_switch *, unsigned int); - int (*port_bridge_join)(struct dsa_switch *, int, struct dsa_bridge, bool *, struct netlink_ext_ack *); - void (*port_bridge_leave)(struct dsa_switch *, int, struct dsa_bridge); - void (*port_stp_state_set)(struct dsa_switch *, int, u8); - int (*port_mst_state_set)(struct dsa_switch *, int, const struct switchdev_mst_state *); - void (*port_fast_age)(struct dsa_switch *, int); - int (*port_vlan_fast_age)(struct dsa_switch *, int, u16); - int (*port_pre_bridge_flags)(struct dsa_switch *, int, struct switchdev_brport_flags, struct netlink_ext_ack *); - int (*port_bridge_flags)(struct dsa_switch *, int, struct switchdev_brport_flags, struct netlink_ext_ack *); - void (*port_set_host_flood)(struct dsa_switch *, int, bool, bool); - int (*port_vlan_filtering)(struct dsa_switch *, int, bool, struct netlink_ext_ack *); - int (*port_vlan_add)(struct dsa_switch *, int, const struct switchdev_obj_port_vlan *, struct netlink_ext_ack *); - int (*port_vlan_del)(struct dsa_switch *, int, const struct switchdev_obj_port_vlan *); - int (*vlan_msti_set)(struct dsa_switch *, struct dsa_bridge, const struct switchdev_vlan_msti *); - int (*port_fdb_add)(struct dsa_switch *, int, const unsigned char *, u16, struct dsa_db); - int (*port_fdb_del)(struct dsa_switch *, int, const unsigned char *, u16, struct dsa_db); - int (*port_fdb_dump)(struct dsa_switch *, int, dsa_fdb_dump_cb_t *, void *); - int (*lag_fdb_add)(struct dsa_switch *, struct dsa_lag, const unsigned char *, u16, struct dsa_db); - int (*lag_fdb_del)(struct dsa_switch *, struct dsa_lag, const unsigned char *, u16, struct dsa_db); - int (*port_mdb_add)(struct dsa_switch *, int, const struct switchdev_obj_port_mdb *, struct dsa_db); - int (*port_mdb_del)(struct dsa_switch *, int, const struct switchdev_obj_port_mdb *, struct dsa_db); - int (*get_rxnfc)(struct dsa_switch *, int, struct ethtool_rxnfc *, u32 *); - int (*set_rxnfc)(struct dsa_switch *, int, struct ethtool_rxnfc *); - int (*cls_flower_add)(struct dsa_switch *, int, struct flow_cls_offload *, bool); - int (*cls_flower_del)(struct dsa_switch *, int, struct flow_cls_offload *, bool); - int (*cls_flower_stats)(struct dsa_switch *, int, struct flow_cls_offload *, bool); - int (*port_mirror_add)(struct dsa_switch *, int, struct dsa_mall_mirror_tc_entry *, bool, struct netlink_ext_ack *); - void (*port_mirror_del)(struct dsa_switch *, int, struct dsa_mall_mirror_tc_entry *); - int (*port_policer_add)(struct dsa_switch *, int, struct dsa_mall_policer_tc_entry *); - void (*port_policer_del)(struct dsa_switch *, int); - int (*port_setup_tc)(struct dsa_switch *, int, enum tc_setup_type, void *); - int (*crosschip_bridge_join)(struct dsa_switch *, int, int, int, struct dsa_bridge, struct netlink_ext_ack *); - void (*crosschip_bridge_leave)(struct dsa_switch *, int, int, int, struct dsa_bridge); - int (*crosschip_lag_change)(struct dsa_switch *, int, int); - int (*crosschip_lag_join)(struct dsa_switch *, int, int, struct dsa_lag, struct netdev_lag_upper_info *, struct netlink_ext_ack *); - int (*crosschip_lag_leave)(struct dsa_switch *, int, int, struct dsa_lag); - int (*port_hwtstamp_get)(struct dsa_switch *, int, struct kernel_hwtstamp_config *); - int (*port_hwtstamp_set)(struct dsa_switch *, int, struct kernel_hwtstamp_config *, struct netlink_ext_ack *); - void (*port_txtstamp)(struct dsa_switch *, int, struct sk_buff *); - bool (*port_rxtstamp)(struct dsa_switch *, int, struct sk_buff *, unsigned int); - int (*devlink_param_get)(struct dsa_switch *, u32, struct devlink_param_gset_ctx *); - int (*devlink_param_set)(struct dsa_switch *, u32, struct devlink_param_gset_ctx *); - int (*devlink_info_get)(struct dsa_switch *, struct devlink_info_req *, struct netlink_ext_ack *); - int (*devlink_sb_pool_get)(struct dsa_switch *, unsigned int, u16, struct devlink_sb_pool_info *); - int (*devlink_sb_pool_set)(struct dsa_switch *, unsigned int, u16, u32, enum devlink_sb_threshold_type, struct netlink_ext_ack *); - int (*devlink_sb_port_pool_get)(struct dsa_switch *, int, unsigned int, u16, u32 *); - int (*devlink_sb_port_pool_set)(struct dsa_switch *, int, unsigned int, u16, u32, struct netlink_ext_ack *); - int (*devlink_sb_tc_pool_bind_get)(struct dsa_switch *, int, unsigned int, u16, enum devlink_sb_pool_type, u16 *, u32 *); - int (*devlink_sb_tc_pool_bind_set)(struct dsa_switch *, int, unsigned int, u16, enum devlink_sb_pool_type, u16, u32, struct netlink_ext_ack *); - int (*devlink_sb_occ_snapshot)(struct dsa_switch *, unsigned int); - int (*devlink_sb_occ_max_clear)(struct dsa_switch *, unsigned int); - int (*devlink_sb_occ_port_pool_get)(struct dsa_switch *, int, unsigned int, u16, u32 *, u32 *); - int (*devlink_sb_occ_tc_port_bind_get)(struct dsa_switch *, int, unsigned int, u16, enum devlink_sb_pool_type, u32 *, u32 *); - int (*port_change_mtu)(struct dsa_switch *, int, int); - int (*port_max_mtu)(struct dsa_switch *, int); - int (*port_lag_change)(struct dsa_switch *, int); - int (*port_lag_join)(struct dsa_switch *, int, struct dsa_lag, struct netdev_lag_upper_info *, struct netlink_ext_ack *); - int (*port_lag_leave)(struct dsa_switch *, int, struct dsa_lag); - int (*port_hsr_join)(struct dsa_switch *, int, struct net_device *, struct netlink_ext_ack *); - int (*port_hsr_leave)(struct dsa_switch *, int, struct net_device *); - int (*port_mrp_add)(struct dsa_switch *, int, const struct switchdev_obj_mrp *); - int (*port_mrp_del)(struct dsa_switch *, int, const struct switchdev_obj_mrp *); - int (*port_mrp_add_ring_role)(struct dsa_switch *, int, const struct switchdev_obj_ring_role_mrp *); - int (*port_mrp_del_ring_role)(struct dsa_switch *, int, const struct switchdev_obj_ring_role_mrp *); - int (*tag_8021q_vlan_add)(struct dsa_switch *, int, u16, u16); - int (*tag_8021q_vlan_del)(struct dsa_switch *, int, u16); - void (*conduit_state_change)(struct dsa_switch *, const struct net_device *, bool); -}; - -struct raw_notifier_head { - struct notifier_block *head; -}; - -struct dsa_switch_tree { - struct list_head list; - struct list_head ports; - struct raw_notifier_head nh; - unsigned int index; - struct kref refcount; - struct dsa_lag **lags; - const struct dsa_device_ops *tag_ops; - enum dsa_tag_protocol default_proto; - bool setup; - struct dsa_platform_data *pd; - struct list_head rtable; - unsigned int lags_len; - unsigned int last_switch; -}; - -struct dsm_output { - u16 status; - u8 function_specific_err; - u8 vendor_specific_err; - u32 state; -}; - -struct dst_cache_pcpu; - -struct dst_cache { - struct dst_cache_pcpu *cache; - long unsigned int reset_ts; -}; - -struct dst_cache_pcpu { - long unsigned int refresh_ts; - struct dst_entry *dst; - local_lock_t bh_lock; - u32 cookie; - union { - struct in_addr in_saddr; - struct in6_addr in6_saddr; - }; -}; - -struct dst_ops; - -struct xfrm_state; - -struct uncached_list; - -struct lwtunnel_state; - -struct dst_entry { - union { - struct net_device *dev; - struct net_device *dev_rcu; - }; - struct dst_ops *ops; - long unsigned int _metrics; - long unsigned int expires; - struct xfrm_state *xfrm; - int (*input)(struct sk_buff *); - int (*output)(struct net *, struct sock *, struct sk_buff *); - short unsigned int flags; - short int obsolete; - short unsigned int header_len; - short unsigned int trailer_len; - rcuref_t __rcuref; - int __use; - long unsigned int lastuse; - struct callback_head callback_head; - short int error; - short int __pad; - __u32 tclassid; - netdevice_tracker dev_tracker; - struct list_head rt_uncached; - struct uncached_list *rt_uncached_list; - struct lwtunnel_state *lwtstate; -}; - -struct dst_metrics { - u32 metrics[17]; - refcount_t refcnt; -}; - -struct neighbour; - -struct dst_ops { - short unsigned int family; - unsigned int gc_thresh; - void (*gc)(struct dst_ops *); - struct dst_entry * (*check)(struct dst_entry *, __u32); - unsigned int (*default_advmss)(const struct dst_entry *); - unsigned int (*mtu)(const struct dst_entry *); - u32 * (*cow_metrics)(struct dst_entry *, long unsigned int); - void (*destroy)(struct dst_entry *); - void (*ifdown)(struct dst_entry *, struct net_device *); - void (*negative_advice)(struct sock *, struct dst_entry *); - void (*link_failure)(struct sk_buff *); - void (*update_pmtu)(struct dst_entry *, struct sock *, struct sk_buff *, u32, bool); - void (*redirect)(struct dst_entry *, struct sock *, struct sk_buff *); - int (*local_out)(struct net *, struct sock *, struct sk_buff *); - struct neighbour * (*neigh_lookup)(const struct dst_entry *, struct sk_buff *, const void *); - void (*confirm_neigh)(const struct dst_entry *, const void *); - struct kmem_cache *kmem_cachep; - struct percpu_counter pcpuc_entries; - long: 64; - long: 64; - long: 64; -}; - -struct dump_stack_ctx { - struct bpf_stream_stage *ss; - int err; -}; - -struct dw2_desc { - u32 field; - u32 addr; -}; - -struct virt_dma_desc { - struct dma_async_tx_descriptor tx; - struct dmaengine_result tx_result; - struct list_head node; -}; - -struct ldma_chan; - -struct dw2_desc_sw { - struct virt_dma_desc vdesc; - struct ldma_chan *chan; - dma_addr_t desc_phys; - size_t desc_cnt; - size_t size; - struct dw2_desc *desc_hw; -}; - -struct uart_8250_port; - -struct uart_8250_dma { - int (*tx_dma)(struct uart_8250_port *); - int (*rx_dma)(struct uart_8250_port *); - void (*prepare_tx_dma)(struct uart_8250_port *); - void (*prepare_rx_dma)(struct uart_8250_port *); - dma_filter_fn fn; - void *rx_param; - void *tx_param; - struct dma_slave_config rxconf; - struct dma_slave_config txconf; - struct dma_chan *rxchan; - struct dma_chan *txchan; - phys_addr_t rx_dma_addr; - phys_addr_t tx_dma_addr; - dma_addr_t rx_addr; - dma_addr_t tx_addr; - dma_cookie_t rx_cookie; - dma_cookie_t tx_cookie; - void *rx_buf; - size_t rx_size; - size_t tx_size; - unsigned char tx_running; - unsigned char tx_err; - unsigned char rx_running; -}; - -struct dw8250_port_data { - int line; - struct uart_8250_dma dma; - u32 cpr_value; - u8 dlf_size; - bool hw_rs485_support; -}; - -struct dw_edma_region { - u64 paddr; - union { - void *mem; - void *io; - } vaddr; - size_t sz; -}; - -struct dw_edma; - -struct dw_edma_plat_ops; - -struct dw_edma_chip { - struct device *dev; - int nr_irqs; - const struct dw_edma_plat_ops *ops; - u32 flags; - void *reg_base; - u16 ll_wr_cnt; - u16 ll_rd_cnt; - struct dw_edma_region ll_region_wr[8]; - struct dw_edma_region ll_region_rd[8]; - struct dw_edma_region dt_region_wr[8]; - struct dw_edma_region dt_region_rd[8]; - enum dw_edma_map_format mf; - struct dw_edma *dw; -}; - -struct dw_edma_plat_ops { - int (*irq_vector)(struct device *, unsigned int); - u64 (*pci_address)(struct device *, phys_addr_t); -}; - -struct rt_mutex_base { - raw_spinlock_t wait_lock; - struct rb_root_cached waiters; - struct task_struct *owner; -}; - -struct rt_mutex { - struct rt_mutex_base rtmutex; -}; - -struct i2c_algorithm; - -struct i2c_lock_operations; - -struct i2c_bus_recovery_info; - -struct i2c_adapter_quirks; - -struct i2c_adapter { - struct module *owner; - unsigned int class; - const struct i2c_algorithm *algo; - void *algo_data; - const struct i2c_lock_operations *lock_ops; - struct rt_mutex bus_lock; - struct rt_mutex mux_lock; - int timeout; - int retries; - struct device dev; - long unsigned int locked_flags; - int nr; - char name[48]; - struct completion dev_released; - struct mutex userspace_clients_lock; - struct list_head userspace_clients; - struct i2c_bus_recovery_info *bus_recovery_info; - const struct i2c_adapter_quirks *quirks; - struct irq_domain *host_notify_domain; - struct regulator *bus_regulator; - struct dentry *debugfs; - long unsigned int addrs_in_instantiation[2]; -}; - -struct i2c_timings { - u32 bus_freq_hz; - u32 scl_rise_ns; - u32 scl_fall_ns; - u32 scl_int_delay_ns; - u32 sda_fall_ns; - u32 sda_hold_ns; - u32 digital_filter_width_ns; - u32 analog_filter_cutoff_freq_hz; -}; - -struct i2c_bus_recovery_info { - int (*recover_bus)(struct i2c_adapter *); - int (*get_scl)(struct i2c_adapter *); - void (*set_scl)(struct i2c_adapter *, int); - int (*get_sda)(struct i2c_adapter *); - void (*set_sda)(struct i2c_adapter *, int); - int (*get_bus_free)(struct i2c_adapter *); - void (*prepare_recovery)(struct i2c_adapter *); - void (*unprepare_recovery)(struct i2c_adapter *); - struct gpio_desc *scl_gpiod; - struct gpio_desc *sda_gpiod; - struct pinctrl *pinctrl; - struct pinctrl_state *pins_default; - struct pinctrl_state *pins_gpio; -}; - -struct reset_control; - -struct i2c_msg; - -struct dw_i2c_dev { - struct device *dev; - struct regmap *map; - struct regmap *sysmap; - void *base; - void *ext; - struct completion cmd_complete; - struct clk *clk; - struct clk *pclk; - struct reset_control *rst; - struct i2c_client *slave; - u32 (*get_clk_rate_khz)(struct dw_i2c_dev *); - int cmd_err; - struct i2c_msg *msgs; - int msgs_num; - int msg_write_idx; - u32 tx_buf_len; - u8 *tx_buf; - int msg_read_idx; - u32 rx_buf_len; - u8 *rx_buf; - int msg_err; - unsigned int status; - unsigned int abort_source; - unsigned int sw_mask; - int irq; - u32 flags; - struct i2c_adapter adapter; - u32 functionality; - u32 master_cfg; - u32 slave_cfg; - unsigned int tx_fifo_depth; - unsigned int rx_fifo_depth; - int rx_outstanding; - struct i2c_timings timings; - u32 sda_hold_time; - u16 ss_hcnt; - u16 ss_lcnt; - u16 fs_hcnt; - u16 fs_lcnt; - u16 fp_hcnt; - u16 fp_lcnt; - u16 hs_hcnt; - u16 hs_lcnt; - int (*acquire_lock)(void); - void (*release_lock)(void); - int semaphore_idx; - bool shared_with_punit; - int (*init)(struct dw_i2c_dev *); - int (*set_sda_hold_time)(struct dw_i2c_dev *); - int mode; - struct i2c_bus_recovery_info rinfo; - u32 bus_capacitance_pF; - bool clk_freq_optimized; -}; - -struct pci_eq_presets { - u16 eq_presets_8gts[16]; - u8 eq_presets_Ngts[48]; -}; - -struct dw_pcie_host_ops; - -struct pci_host_bridge; - -struct dw_pcie_rp { - bool has_msi_ctrl: 1; - bool cfg0_io_shared: 1; - u64 cfg0_base; - void *va_cfg0_base; - u32 cfg0_size; - resource_size_t io_base; - phys_addr_t io_bus_addr; - u32 io_size; - int irq; - const struct dw_pcie_host_ops *ops; - int msi_irq[8]; - struct irq_domain *irq_domain; - dma_addr_t msi_data; - struct irq_chip *msi_irq_chip; - u32 num_vectors; - u32 irq_mask[8]; - struct pci_host_bridge *bridge; - raw_spinlock_t lock; - long unsigned int msi_irq_in_use[4]; - bool use_atu_msg; - int msg_atu_index; - struct resource *msg_res; - bool use_linkup_irq; - struct pci_eq_presets presets; -}; - -struct pci_epc; - -struct dw_pcie_ep_ops; - -struct pci_epf_bar; - -struct dw_pcie_ep { - struct pci_epc *epc; - struct list_head func_list; - const struct dw_pcie_ep_ops *ops; - phys_addr_t phys_base; - size_t addr_size; - size_t page_size; - u8 bar_to_atu[6]; - phys_addr_t *outbound_addr; - long unsigned int *ib_window_map; - long unsigned int *ob_window_map; - void *msi_mem; - phys_addr_t msi_mem_phys; - struct pci_epf_bar *epf_bar[6]; -}; - -struct reset_control_bulk_data { - const char *id; - struct reset_control *rstc; -}; - -struct dw_pcie_ops; - -struct pci_ptm_debugfs; - -struct dw_pcie { - struct device *dev; - void *dbi_base; - resource_size_t dbi_phys_addr; - void *dbi_base2; - void *atu_base; - void *elbi_base; - resource_size_t atu_phys_addr; - size_t atu_size; - resource_size_t parent_bus_offset; - u32 num_ib_windows; - u32 num_ob_windows; - u32 region_align; - u64 region_limit; - struct dw_pcie_rp pp; - struct dw_pcie_ep ep; - const struct dw_pcie_ops *ops; - u32 version; - u32 type; - long unsigned int caps; - int num_lanes; - int max_link_speed; - u8 n_fts[2]; - struct dw_edma_chip edma; - struct clk_bulk_data app_clks[3]; - struct clk_bulk_data core_clks[4]; - struct reset_control_bulk_data app_rsts[3]; - struct reset_control_bulk_data core_rsts[7]; - struct gpio_desc *pe_rst; - bool suspended; - struct debugfs_info *debugfs; - enum dw_pcie_device_mode mode; - u16 ptm_vsec_offset; - struct pci_ptm_debugfs *ptm_debugfs; - bool use_parent_dt_ranges; -}; - -struct dw_pcie_ep_func { - struct list_head list; - u8 func_no; - u8 msi_cap; - u8 msix_cap; -}; - -struct pci_epc_features; - -struct dw_pcie_ep_ops { - void (*pre_init)(struct dw_pcie_ep *); - void (*init)(struct dw_pcie_ep *); - int (*raise_irq)(struct dw_pcie_ep *, u8, unsigned int, u16); - const struct pci_epc_features * (*get_features)(struct dw_pcie_ep *); - unsigned int (*get_dbi_offset)(struct dw_pcie_ep *, u8); - unsigned int (*get_dbi2_offset)(struct dw_pcie_ep *, u8); -}; - -struct dw_pcie_host_ops { - int (*init)(struct dw_pcie_rp *); - void (*deinit)(struct dw_pcie_rp *); - void (*post_init)(struct dw_pcie_rp *); - int (*msi_init)(struct dw_pcie_rp *); - void (*pme_turn_off)(struct dw_pcie_rp *); -}; - -struct dw_pcie_ob_atu_cfg { - int index; - int type; - u8 func_no; - u8 code; - u8 routing; - u64 parent_bus_addr; - u64 pci_addr; - u64 size; -}; - -struct dw_pcie_ops { - u64 (*cpu_addr_fixup)(struct dw_pcie *, u64); - u32 (*read_dbi)(struct dw_pcie *, void *, u32, size_t); - void (*write_dbi)(struct dw_pcie *, void *, u32, size_t, u32); - void (*write_dbi2)(struct dw_pcie *, void *, u32, size_t, u32); - bool (*link_up)(struct dw_pcie *); - enum dw_pcie_ltssm (*get_ltssm)(struct dw_pcie *); - int (*start_link)(struct dw_pcie *); - void (*stop_link)(struct dw_pcie *); -}; - -struct dw_plat_pcie { - struct dw_pcie *pci; - enum dw_pcie_device_mode mode; -}; - -struct dw_plat_pcie_of_data { - enum dw_pcie_device_mode mode; -}; - -struct usb_otg_caps { - u16 otg_rev; - bool hnp_support; - bool srp_support; - bool adp_support; -}; - -struct dwc2_core_params { - struct usb_otg_caps otg_caps; - u8 phy_type; - u8 speed; - u8 phy_utmi_width; - bool eusb2_disc; - bool phy_ulpi_ddr; - bool phy_ulpi_ext_vbus; - bool enable_dynamic_fifo; - bool en_multiple_tx_fifo; - bool i2c_enable; - bool acg_enable; - bool ulpi_fs_ls; - bool ts_dline; - bool reload_ctl; - bool uframe_sched; - bool external_id_pin_ctl; - int power_down; - bool no_clock_gating; - bool lpm; - bool lpm_clock_gating; - bool besl; - bool hird_threshold_en; - bool service_interval; - u8 hird_threshold; - bool activate_stm_fs_transceiver; - bool activate_stm_id_vb_detection; - bool activate_ingenic_overcurrent_detection; - bool ipg_isoc_en; - u16 max_packet_count; - u32 max_transfer_size; - u32 ahbcfg; - u32 ref_clk_per; - u16 sof_cnt_wkup_alert; - bool host_dma; - bool dma_desc_enable; - bool dma_desc_fs_enable; - bool host_support_fs_ls_low_power; - bool host_ls_low_power_phy_clk; - bool oc_disable; - u8 host_channels; - u16 host_rx_fifo_size; - u16 host_nperio_tx_fifo_size; - u16 host_perio_tx_fifo_size; - bool g_dma; - bool g_dma_desc; - u32 g_rx_fifo_size; - u32 g_np_tx_fifo_size; - u32 g_tx_fifo_size[16]; - bool change_speed_quirk; -}; - -struct dwc2_dma_desc { - u32 status; - u32 buf; -}; - -struct dwc2_dregs_backup { - u32 dcfg; - u32 dctl; - u32 daintmsk; - u32 diepmsk; - u32 doepmsk; - u32 diepctl[16]; - u32 dieptsiz[16]; - u32 diepdma[16]; - u32 doepctl[16]; - u32 doeptsiz[16]; - u32 doepdma[16]; - u32 dtxfsiz[16]; - bool valid; -}; - -struct dwc2_gregs_backup { - u32 gintsts; - u32 gotgctl; - u32 gintmsk; - u32 gahbcfg; - u32 gusbcfg; - u32 grxfsiz; - u32 gnptxfsiz; - u32 gi2cctl; - u32 glpmcfg; - u32 pcgcctl; - u32 pcgcctl1; - u32 gdfifocfg; - u32 gpwrdn; - bool valid; -}; - -union dwc2_hcd_internal_flags { - u32 d32; - struct { - unsigned int port_connect_status_change: 1; - unsigned int port_connect_status: 1; - unsigned int port_reset_change: 1; - unsigned int port_enable_change: 1; - unsigned int port_suspend_change: 1; - unsigned int port_over_current_change: 1; - unsigned int port_l1_change: 1; - unsigned int reserved: 25; - } b; -}; - -struct dwc2_hcd_iso_packet_desc { - u32 offset; - u32 length; - u32 actual_length; - u32 status; -}; - -struct dwc2_hcd_pipe_info { - u8 dev_addr; - u8 ep_num; - u8 pipe_type; - u8 pipe_dir; - u16 maxp; - u16 maxp_mult; -}; - -struct dwc2_qtd; - -struct dwc2_hcd_urb { - void *priv; - struct dwc2_qtd *qtd; - void *buf; - dma_addr_t dma; - void *setup_packet; - dma_addr_t setup_dma; - u32 length; - u32 actual_length; - u32 status; - u32 error_count; - u32 packet_count; - u32 flags; - u16 interval; - struct dwc2_hcd_pipe_info pipe_info; - struct dwc2_hcd_iso_packet_desc iso_descs[0]; -}; - -struct dwc2_qh; - -struct dwc2_host_chan { - u8 hc_num; - unsigned int dev_addr: 7; - unsigned int ep_num: 4; - unsigned int ep_is_in: 1; - unsigned int speed: 4; - unsigned int ep_type: 2; - int: 6; - unsigned int max_packet: 11; - unsigned int data_pid_start: 2; - unsigned int multi_count: 2; - u8 *xfer_buf; - dma_addr_t xfer_dma; - dma_addr_t align_buf; - u32 xfer_len; - u32 xfer_count; - u16 start_pkt_count; - u8 xfer_started; - u8 do_ping; - u8 error_state; - u8 halt_on_queue; - u8 halt_pending; - u8 do_split; - u8 complete_split; - u8 hub_addr; - u8 hub_port; - u8 xact_pos; - u8 requests; - u8 schinfo; - u16 ntd; - enum dwc2_halt_status halt_status; - u32 hcint; - struct dwc2_qh *qh; - struct list_head hc_list_entry; - dma_addr_t desc_list_addr; - u32 desc_list_sz; - struct list_head split_order_list_entry; -}; - -struct dwc2_hregs_backup { - u32 hcfg; - u32 hflbaddr; - u32 haintmsk; - u32 hcchar[16]; - u32 hcsplt[16]; - u32 hcintmsk[16]; - u32 hctsiz[16]; - u32 hcidma[16]; - u32 hcidmab[16]; - u32 hprt0; - u32 hfir; - u32 hptxfsiz; - bool valid; -}; - -struct dwc2_hs_transfer_time { - u32 start_schedule_us; - u16 duration_us; -}; - -struct dwc2_hw_params { - unsigned int op_mode: 3; - unsigned int arch: 2; - unsigned int dma_desc_enable: 1; - unsigned int enable_dynamic_fifo: 1; - unsigned int en_multiple_tx_fifo: 1; - unsigned int rx_fifo_size: 16; - int: 8; - unsigned int host_nperio_tx_fifo_size: 16; - unsigned int dev_nperio_tx_fifo_size: 16; - unsigned int host_perio_tx_fifo_size: 16; - unsigned int nperio_tx_q_depth: 3; - unsigned int host_perio_tx_q_depth: 3; - unsigned int dev_token_q_depth: 5; - int: 5; - unsigned int max_transfer_size: 26; - long: 6; - unsigned int max_packet_count: 11; - unsigned int host_channels: 5; - unsigned int hs_phy_type: 2; - unsigned int fs_phy_type: 2; - unsigned int i2c_enable: 1; - unsigned int acg_enable: 1; - unsigned int num_dev_ep: 4; - unsigned int num_dev_in_eps: 4; - int: 2; - unsigned int num_dev_perio_in_ep: 4; - unsigned int total_fifo_size: 16; - unsigned int power_optimized: 1; - unsigned int hibernation: 1; - unsigned int utmi_phy_data_width: 2; - unsigned int lpm_mode: 1; - unsigned int ipg_isoc_en: 1; - unsigned int service_interval_mode: 1; - u32 snpsid; - u32 dev_ep_dirs; - u32 g_tx_fifo_size[16]; -}; - -struct regulator_bulk_data { - const char *supply; - struct regulator *consumer; - int init_load_uA; - int ret; -}; - -struct usb_role_switch; - -struct phy; - -struct usb_phy; - -struct dwc2_hsotg_plat; - -struct dwc2_hsotg { - struct device *dev; - void *regs; - struct dwc2_hw_params hw_params; - struct dwc2_core_params params; - enum usb_otg_state op_state; - enum usb_dr_mode dr_mode; - struct usb_role_switch *role_sw; - enum usb_dr_mode role_sw_default_mode; - unsigned int hcd_enabled: 1; - unsigned int gadget_enabled: 1; - unsigned int ll_hw_enabled: 1; - unsigned int hibernated: 1; - unsigned int in_ppd: 1; - bool bus_suspended; - unsigned int reset_phy_on_wake: 1; - unsigned int need_phy_for_wake: 1; - unsigned int phy_off_for_suspend: 1; - u16 frame_number; - struct phy *phy; - struct usb_phy *uphy; - struct dwc2_hsotg_plat *plat; - struct regulator_bulk_data supplies[2]; - struct regulator *vbus_supply; - struct regulator *usb33d; - spinlock_t lock; - void *priv; - int irq; - struct clk *clk; - struct clk *utmi_clk; - struct reset_control *reset; - struct reset_control *reset_ecc; - unsigned int queuing_high_bandwidth: 1; - unsigned int srp_success: 1; - struct workqueue_struct *wq_otg; - struct work_struct wf_otg; - struct timer_list wkp_timer; - enum dwc2_lx_state lx_state; - struct dwc2_gregs_backup gr_backup; - struct dwc2_dregs_backup dr_backup; - struct dwc2_hregs_backup hr_backup; - struct dentry *debug_root; - struct debugfs_regset32 *regset; - bool needs_byte_swap; - union dwc2_hcd_internal_flags flags; - struct list_head non_periodic_sched_inactive; - struct list_head non_periodic_sched_waiting; - struct list_head non_periodic_sched_active; - struct list_head *non_periodic_qh_ptr; - struct list_head periodic_sched_inactive; - struct list_head periodic_sched_ready; - struct list_head periodic_sched_assigned; - struct list_head periodic_sched_queued; - struct list_head split_order; - u16 periodic_usecs; - long unsigned int hs_periodic_bitmap[13]; - u16 periodic_qh_count; - bool new_connection; - u16 last_frame_num; - struct list_head free_hc_list; - int periodic_channels; - int non_periodic_channels; - int available_host_channels; - struct dwc2_host_chan *hc_ptr_array[16]; - u8 *status_buf; - dma_addr_t status_buf_dma; - struct delayed_work start_work; - struct delayed_work reset_work; - struct work_struct phy_reset_work; - u8 otg_port; - u32 *frame_list; - dma_addr_t frame_list_dma; - u32 frame_list_sz; - struct kmem_cache *desc_gen_cache; - struct kmem_cache *desc_hsisoc_cache; - struct kmem_cache *unaligned_cache; -}; - -struct dwc2_hsotg_plat { - enum dwc2_hsotg_dmamode dma; - unsigned int is_osc: 1; - int phy_type; - int (*phy_init)(struct platform_device *, int); - int (*phy_exit)(struct platform_device *, int); -}; - -struct dwc2_tt; - -struct dwc2_qh { - struct dwc2_hsotg *hsotg; - u8 ep_type; - u8 ep_is_in; - u16 maxp; - u16 maxp_mult; - u8 dev_speed; - u8 data_toggle; - u8 ping_state; - u8 do_split; - u8 td_first; - u8 td_last; - u16 host_us; - u16 device_us; - u16 host_interval; - u16 device_interval; - u16 next_active_frame; - u16 start_active_frame; - s16 num_hs_transfers; - struct dwc2_hs_transfer_time hs_transfers[8]; - u32 ls_start_schedule_slice; - u16 ntd; - u8 *dw_align_buf; - dma_addr_t dw_align_buf_dma; - struct list_head qtd_list; - struct dwc2_host_chan *channel; - struct list_head qh_list_entry; - struct dwc2_dma_desc *desc_list; - dma_addr_t desc_list_dma; - u32 desc_list_sz; - u32 *n_bytes; - struct timer_list unreserve_timer; - struct hrtimer wait_timer; - struct dwc2_tt *dwc_tt; - int ttport; - unsigned int tt_buffer_dirty: 1; - unsigned int unreserve_pending: 1; - unsigned int schedule_low_speed: 1; - unsigned int want_wait: 1; - unsigned int wait_timer_cancel: 1; -}; - -struct dwc2_qtd { - enum dwc2_control_phase control_phase; - u8 in_process; - u8 data_toggle; - u8 complete_split; - u8 isoc_split_pos; - u16 isoc_frame_index; - u16 isoc_split_offset; - u16 isoc_td_last; - u16 isoc_td_first; - u32 ssplit_out_xfer_count; - u8 error_count; - u8 n_desc; - u16 isoc_frame_index_last; - u16 num_naks; - struct dwc2_hcd_urb *urb; - struct dwc2_qh *qh; - struct list_head qtd_list_entry; -}; - -struct usb_tt; - -struct dwc2_tt { - int refcount; - struct usb_tt *usb_tt; - long unsigned int periodic_bitmaps[0]; -}; - -struct dwc_pcie_vsec_id { - u16 vendor_id; - u16 vsec_id; - u8 vsec_rev; -}; - -struct dx_countlimit { - __le16 limit; - __le16 count; -}; - -struct dx_entry { - __le32 hash; - __le32 block; -}; - -struct dx_frame { - struct buffer_head *bh; - struct dx_entry *entries; - struct dx_entry *at; -}; - -struct dx_hash_info { - u32 hash; - u32 minor_hash; - int hash_version; - u32 *seed; -}; - -struct dx_map_entry { - u32 hash; - u16 offs; - u16 size; -}; - -struct fake_dirent { - __le32 inode; - __le16 rec_len; - u8 name_len; - u8 file_type; -}; - -struct dx_node { - struct fake_dirent fake; - struct dx_entry entries[0]; -}; - -struct dx_root_info { - __le32 reserved_zero; - u8 hash_version; - u8 info_length; - u8 indirect_levels; - u8 unused_flags; -}; - -struct dx_root { - struct fake_dirent dot; - char dot_name[4]; - struct fake_dirent dotdot; - char dotdot_name[4]; - struct dx_root_info info; - struct dx_entry entries[0]; -}; - -struct dx_tail { - u32 dt_reserved; - __le32 dt_checksum; -}; - -struct dyn_arch_ftrace {}; - -struct dyn_event_operations; - -struct dyn_event { - struct list_head list; - struct dyn_event_operations *ops; -}; - -struct dyn_event_operations { - struct list_head list; - int (*create)(const char *); - int (*show)(struct seq_file *, struct dyn_event *); - bool (*is_busy)(struct dyn_event *); - int (*free)(struct dyn_event *); - bool (*match)(const char *, const char *, int, const char **, struct dyn_event *); -}; - -struct dyn_ftrace { - long unsigned int ip; - long unsigned int flags; - struct dyn_arch_ftrace arch; -}; - -struct dynevent_arg { - const char *str; - char separator; -}; - -struct dynevent_arg_pair { - const char *lhs; - const char *rhs; - char operator; - char separator; -}; - -struct seq_buf { - char *buffer; - size_t size; - size_t len; -}; - -struct dynevent_cmd; - -typedef int (*dynevent_create_fn_t)(struct dynevent_cmd *); - -struct dynevent_cmd { - struct seq_buf seq; - const char *event_name; - unsigned int n_fields; - enum dynevent_type type; - dynevent_create_fn_t run_command; - void *private_data; -}; - -struct e820_entry { - u64 addr; - u64 size; - enum e820_type type; -} __attribute__((packed)); - -struct e820_table { - __u32 nr_entries; - struct e820_entry entries[3200]; -}; - -struct usb_device; - -struct each_dev_arg { - void *data; - int (*fn)(struct usb_device *, void *); -}; - -struct early_load_data { - u32 old_rev; - u32 new_rev; -}; - -struct uart_icount { - __u32 cts; - __u32 dsr; - __u32 rng; - __u32 dcd; - __u32 rx; - __u32 tx; - __u32 frame; - __u32 overrun; - __u32 parity; - __u32 brk; - __u32 buf_overrun; -}; - -struct serial_rs485 { - __u32 flags; - __u32 delay_rts_before_send; - __u32 delay_rts_after_send; - union { - __u32 padding[5]; - struct { - __u8 addr_recv; - __u8 addr_dest; - __u8 padding0[2]; - __u32 padding1[4]; - }; - }; -}; - -struct serial_iso7816 { - __u32 flags; - __u32 tg; - __u32 sc_fi; - __u32 sc_di; - __u32 clk; - __u32 reserved[5]; -}; - -struct ktermios; - -struct uart_state; - -struct uart_ops; - -struct serial_port_device; - -struct uart_port { - spinlock_t lock; - long unsigned int iobase; - unsigned char *membase; - u32 (*serial_in)(struct uart_port *, unsigned int); - void (*serial_out)(struct uart_port *, unsigned int, u32); - void (*set_termios)(struct uart_port *, struct ktermios *, const struct ktermios *); - void (*set_ldisc)(struct uart_port *, struct ktermios *); - unsigned int (*get_mctrl)(struct uart_port *); - void (*set_mctrl)(struct uart_port *, unsigned int); - unsigned int (*get_divisor)(struct uart_port *, unsigned int, unsigned int *); - void (*set_divisor)(struct uart_port *, unsigned int, unsigned int, unsigned int); - int (*startup)(struct uart_port *); - void (*shutdown)(struct uart_port *); - void (*throttle)(struct uart_port *); - void (*unthrottle)(struct uart_port *); - int (*handle_irq)(struct uart_port *); - void (*pm)(struct uart_port *, unsigned int, unsigned int); - void (*handle_break)(struct uart_port *); - int (*rs485_config)(struct uart_port *, struct ktermios *, struct serial_rs485 *); - int (*iso7816_config)(struct uart_port *, struct serial_iso7816 *); - unsigned int ctrl_id; - unsigned int port_id; - unsigned int irq; - long unsigned int irqflags; - unsigned int uartclk; - unsigned int fifosize; - unsigned char x_char; - unsigned char regshift; - unsigned char quirks; - enum uart_iotype iotype; - unsigned int read_status_mask; - unsigned int ignore_status_mask; - struct uart_state *state; - struct uart_icount icount; - struct console *cons; - upf_t flags; - upstat_t status; - bool hw_stopped; - unsigned int mctrl; - unsigned int frame_time; - unsigned int type; - const struct uart_ops *ops; - unsigned int custom_divisor; - unsigned int line; - unsigned int minor; - resource_size_t mapbase; - resource_size_t mapsize; - struct device *dev; - struct serial_port_device *port_dev; - long unsigned int sysrq; - u8 sysrq_ch; - unsigned char has_sysrq; - unsigned char sysrq_seq; - unsigned char hub6; - unsigned char suspended; - unsigned char console_reinit; - const char *name; - struct attribute_group *attr_group; - const struct attribute_group **tty_groups; - struct serial_rs485 rs485; - struct serial_rs485 rs485_supported; - struct gpio_desc *rs485_term_gpio; - struct gpio_desc *rs485_rx_during_tx_gpio; - struct serial_iso7816 iso7816; - void *private_data; -}; - -struct earlycon_device { - struct console *con; - struct uart_port port; - char options[32]; - unsigned int baud; -}; - -struct earlycon_id { - char name[15]; - char name_term; - char compatible[128]; - int (*setup)(struct earlycon_device *, const char *); -}; - -struct ebitmap_node { - struct ebitmap_node *next; - long unsigned int maps[6]; - u32 startbit; -}; - -struct ecc_point { - u64 *x; - u64 *y; - u8 ndigits; -}; - -struct ecc_curve { - char *name; - u32 nbits; - struct ecc_point g; - u64 *p; - u64 *n; - u64 *a; - u64 *b; -}; - -struct ecdh { - char *key; - short unsigned int key_size; -}; - -struct ecdh_ctx { - unsigned int curve_id; - unsigned int ndigits; - u64 private_key[9]; -}; - -struct ecryptfs_session_key { - u32 flags; - u32 encrypted_key_size; - u32 decrypted_key_size; - u8 encrypted_key[512]; - u8 decrypted_key[64]; -}; - -struct ecryptfs_password { - u32 password_bytes; - s32 hash_algo; - u32 hash_iterations; - u32 session_key_encryption_key_bytes; - u32 flags; - u8 session_key_encryption_key[64]; - u8 signature[17]; - u8 salt[8]; -}; - -struct ecryptfs_private_key { - u32 key_size; - u32 data_len; - u8 signature[17]; - char pki_type[17]; - u8 data[0]; -}; - -struct ecryptfs_auth_tok { - u16 version; - u16 token_type; - u32 flags; - struct ecryptfs_session_key session_key; - u8 reserved[32]; - union { - struct ecryptfs_password password; - struct ecryptfs_private_key private_key; - } token; -}; - -struct ecryptfs_auth_tok_list_item { - unsigned char encrypted_session_key[64]; - struct list_head list; - struct ecryptfs_auth_tok auth_tok; -}; - -struct ecryptfs_cache_info { - struct kmem_cache **cache; - const char *name; - size_t size; - slab_flags_t flags; - void (*ctor)(void *); -}; - -struct ecryptfs_cipher_code_str_map_elem { - char cipher_str[16]; - u8 cipher_code; -}; - -struct ecryptfs_mount_crypt_stat; - -struct ecryptfs_crypt_stat { - u32 flags; - unsigned int file_version; - size_t iv_bytes; - size_t metadata_size; - size_t extent_size; - size_t key_size; - size_t extent_shift; - unsigned int extent_mask; - struct ecryptfs_mount_crypt_stat *mount_crypt_stat; - struct crypto_skcipher *tfm; - struct crypto_shash *hash_tfm; - unsigned char cipher[32]; - unsigned char key[64]; - unsigned char root_iv[16]; - struct list_head keysig_list; - struct mutex keysig_list_mutex; - struct mutex cs_tfm_mutex; - struct mutex cs_mutex; -}; - -struct ecryptfs_daemon { - u32 flags; - u32 num_queued_msg_ctx; - struct file *file; - struct mutex mux; - struct list_head msg_ctx_out_queue; - wait_queue_head_t wait; - struct hlist_node euid_chain; -}; - -struct ecryptfs_dentry_info { - struct path lower_path; - struct callback_head rcu; -}; - -struct ecryptfs_file_info { - struct file *wfi_file; - struct ecryptfs_crypt_stat *crypt_stat; -}; - -struct ecryptfs_filename { - struct list_head crypt_stat_list; - u32 flags; - u32 seq_no; - char *filename; - char *encrypted_filename; - size_t filename_size; - size_t encrypted_filename_size; - char fnek_sig[16]; - char dentry_name[57]; -}; - -struct ecryptfs_flag_map_elem { - u32 file_flag; - u32 local_flag; -}; - -struct ecryptfs_fs_context { - bool check_ruid; - bool sig_set; - bool cipher_name_set; - bool cipher_key_bytes_set; - bool fn_cipher_name_set; - bool fn_cipher_key_bytes_set; -}; - -struct ecryptfs_getdents_callback { - struct dir_context ctx; - struct dir_context *caller; - struct super_block *sb; - int filldir_called; - int entries_written; -}; - -struct ecryptfs_global_auth_tok { - u32 flags; - struct list_head mount_crypt_stat_list; - struct key *global_auth_tok_key; - unsigned char sig[17]; -}; - -struct ecryptfs_inode_info { - struct inode vfs_inode; - struct inode *wii_inode; - struct mutex lower_file_mutex; - atomic_t lower_file_count; - struct file *lower_file; - struct ecryptfs_crypt_stat crypt_stat; -}; - -struct ecryptfs_key_record { - unsigned char type; - size_t enc_key_size; - unsigned char sig[8]; - unsigned char enc_key[512]; -}; - -struct ecryptfs_key_sig { - struct list_head crypt_stat_list; - char keysig[17]; -}; - -struct ecryptfs_key_tfm { - struct crypto_skcipher *key_tfm; - size_t key_size; - struct mutex key_tfm_mutex; - struct list_head key_tfm_list; - unsigned char cipher_name[32]; -}; - -struct ecryptfs_kthread_ctl { - u32 flags; - struct mutex mux; - struct list_head req_list; - wait_queue_head_t wait; -}; - -struct ecryptfs_message { - u32 index; - u32 data_len; - u8 data[0]; -}; - -struct ecryptfs_mount_crypt_stat { - u32 flags; - struct list_head global_auth_tok_list; - struct mutex global_auth_tok_list_mutex; - size_t global_default_cipher_key_size; - size_t global_default_fn_cipher_key_bytes; - unsigned char global_default_cipher_name[32]; - unsigned char global_default_fn_cipher_name[32]; - char global_default_fnek_sig[17]; -}; - -struct ecryptfs_msg_ctx { - u8 state; - u8 type; - u32 index; - u32 counter; - size_t msg_size; - struct ecryptfs_message *msg; - struct task_struct *task; - struct list_head node; - struct list_head daemon_out_list; - struct mutex mux; -}; - -struct ecryptfs_open_req { - struct file **lower_file; - struct path path; - struct completion done; - struct list_head kthread_ctl_list; -}; - -struct ecryptfs_parse_tag_70_packet_silly_stack { - u8 cipher_code; - size_t max_packet_size; - size_t packet_size_len; - size_t parsed_tag_70_packet_size; - size_t block_aligned_filename_size; - size_t block_size; - size_t i; - struct mutex *tfm_mutex; - char *decrypted_filename; - struct ecryptfs_auth_tok *auth_tok; - struct scatterlist src_sg[2]; - struct scatterlist dst_sg[2]; - struct crypto_skcipher *skcipher_tfm; - struct skcipher_request *skcipher_req; - char fnek_sig_hex[17]; - char iv[16]; - char cipher_string[32]; -}; - -struct ecryptfs_sb_info { - struct super_block *wsi_sb; - struct ecryptfs_mount_crypt_stat mount_crypt_stat; -}; - -struct shash_desc; - -struct ecryptfs_write_tag_70_packet_silly_stack { - u8 cipher_code; - size_t max_packet_size; - size_t packet_size_len; - size_t block_aligned_filename_size; - size_t block_size; - size_t i; - size_t j; - size_t num_rand_bytes; - struct mutex *tfm_mutex; - char *block_aligned_filename; - struct ecryptfs_auth_tok *auth_tok; - struct scatterlist src_sg[2]; - struct scatterlist dst_sg[2]; - struct crypto_skcipher *skcipher_tfm; - struct skcipher_request *skcipher_req; - char iv[16]; - char hash[16]; - char tmp_hash[16]; - struct crypto_shash *hash_tfm; - struct shash_desc *hash_desc; -}; - -struct td; - -struct ed { - __hc32 hwINFO; - __hc32 hwTailP; - __hc32 hwHeadP; - __hc32 hwNextED; - dma_addr_t dma; - struct td *dummy; - struct ed *ed_next; - struct ed *ed_prev; - struct list_head td_list; - struct list_head in_use_list; - u8 state; - u8 type; - u8 branch; - u16 interval; - u16 load; - u16 last_iso; - u16 tick; - unsigned int takeback_wdh_cnt; - struct td *pending_td; - long: 64; -}; - -struct edac_scrub_ops; - -struct edac_ecs_ops; - -struct edac_mem_repair_ops; - -struct edac_dev_data { - union { - const struct edac_scrub_ops *scrub_ops; - const struct edac_ecs_ops *ecs_ops; - const struct edac_mem_repair_ops *mem_repair_ops; - }; - u8 instance; - void *private; -}; - -struct edac_dev_feat_ctx { - struct device dev; - void *private; - struct edac_dev_data *scrub; - struct edac_dev_data ecs; - struct edac_dev_data *mem_repair; -}; - -struct edac_ecs_ex_info { - u16 num_media_frus; -}; - -struct edac_dev_feature { - enum edac_dev_feat ft_type; - u8 instance; - union { - const struct edac_scrub_ops *scrub_ops; - const struct edac_ecs_ops *ecs_ops; - const struct edac_mem_repair_ops *mem_repair_ops; - }; - void *ctx; - struct edac_ecs_ex_info ecs_info; -}; - -struct edac_dev_sysfs_attribute { - struct attribute attr; - ssize_t (*show)(struct edac_device_ctl_info *, char *); - ssize_t (*store)(struct edac_device_ctl_info *, const char *, size_t); -}; - -struct edac_dev_sysfs_block_attribute { - struct attribute attr; - ssize_t (*show)(struct kobject *, struct attribute *, char *); -}; - -struct edac_device_counter { - u32 ue_count; - u32 ce_count; -}; - -struct edac_device_instance; - -struct edac_device_block { - struct edac_device_instance *instance; - char name[32]; - struct edac_device_counter counters; - int nr_attribs; - struct edac_dev_sysfs_block_attribute *block_attributes; - struct kobject kobj; -}; - -struct edac_device_ctl_info { - struct list_head link; - struct module *owner; - int dev_idx; - int log_ue; - int log_ce; - int panic_on_ue; - unsigned int poll_msec; - long unsigned int delay; - struct edac_dev_sysfs_attribute *sysfs_attributes; - const struct bus_type *edac_subsys; - int op_state; - struct delayed_work work; - void (*edac_check)(struct edac_device_ctl_info *); - struct device *dev; - const char *mod_name; - const char *ctl_name; - const char *dev_name; - void *pvt_info; - long unsigned int start_time; - char name[32]; - u32 nr_instances; - struct edac_device_instance *instances; - struct edac_device_block *blocks; - struct edac_device_counter counters; - struct kobject kobj; -}; - -struct edac_device_instance { - struct edac_device_ctl_info *ctl; - char name[35]; - struct edac_device_counter counters; - u32 nr_blocks; - struct edac_device_block *blocks; - struct kobject kobj; -}; - -struct edac_ecs_fru_context; - -struct edac_ecs_context { - u16 num_media_frus; - struct edac_ecs_fru_context *fru_ctxs; -}; - -struct edac_ecs_dev_attr { - struct device_attribute dev_attr; - int fru_id; -}; - -struct edac_ecs_fru_context { - char name[128]; - struct edac_ecs_dev_attr dev_attr[4]; - struct attribute *ecs_attrs[5]; - struct attribute_group group; -}; - -struct edac_ecs_ops { - int (*get_log_entry_type)(struct device *, void *, int, u32 *); - int (*set_log_entry_type)(struct device *, void *, int, u32); - int (*get_mode)(struct device *, void *, int, u32 *); - int (*set_mode)(struct device *, void *, int, u32); - int (*reset)(struct device *, void *, int, u32); - int (*get_threshold)(struct device *, void *, int, u32 *); - int (*set_threshold)(struct device *, void *, int, u32); -}; - -struct edac_mc_layer { - enum edac_mc_layer_type type; - unsigned int size; - bool is_virt_csrow; -}; - -struct edac_mem_repair_dev_attr { - struct device_attribute dev_attr; - u8 instance; -}; - -struct edac_mem_repair_context { - char name[128]; - struct edac_mem_repair_dev_attr mem_repair_dev_attr[18]; - struct attribute *mem_repair_attrs[19]; - struct attribute_group group; -}; - -struct edac_mem_repair_ops { - int (*get_repair_type)(struct device *, void *, const char **); - int (*get_persist_mode)(struct device *, void *, bool *); - int (*set_persist_mode)(struct device *, void *, bool); - int (*get_repair_safe_when_in_use)(struct device *, void *, bool *); - int (*get_hpa)(struct device *, void *, u64 *); - int (*set_hpa)(struct device *, void *, u64); - int (*get_min_hpa)(struct device *, void *, u64 *); - int (*get_max_hpa)(struct device *, void *, u64 *); - int (*get_dpa)(struct device *, void *, u64 *); - int (*set_dpa)(struct device *, void *, u64); - int (*get_min_dpa)(struct device *, void *, u64 *); - int (*get_max_dpa)(struct device *, void *, u64 *); - int (*get_nibble_mask)(struct device *, void *, u32 *); - int (*set_nibble_mask)(struct device *, void *, u32); - int (*get_bank_group)(struct device *, void *, u32 *); - int (*set_bank_group)(struct device *, void *, u32); - int (*get_bank)(struct device *, void *, u32 *); - int (*set_bank)(struct device *, void *, u32); - int (*get_rank)(struct device *, void *, u32 *); - int (*set_rank)(struct device *, void *, u32); - int (*get_row)(struct device *, void *, u32 *); - int (*set_row)(struct device *, void *, u32); - int (*get_column)(struct device *, void *, u32 *); - int (*set_column)(struct device *, void *, u32); - int (*get_channel)(struct device *, void *, u32 *); - int (*set_channel)(struct device *, void *, u32); - int (*get_sub_channel)(struct device *, void *, u32 *); - int (*set_sub_channel)(struct device *, void *, u32); - int (*do_repair)(struct device *, void *, u32); -}; - -struct edac_pci_counter { - atomic_t pe_count; - atomic_t npe_count; -}; - -struct edac_pci_ctl_info { - struct list_head link; - int pci_idx; - int op_state; - struct delayed_work work; - void (*edac_check)(struct edac_pci_ctl_info *); - struct device *dev; - const char *mod_name; - const char *ctl_name; - const char *dev_name; - void *pvt_info; - long unsigned int start_time; - char name[32]; - struct edac_pci_counter counters; - struct kobject kobj; -}; - -struct edac_pci_dev_attribute { - struct attribute attr; - void *value; - ssize_t (*show)(void *, char *); - ssize_t (*store)(void *, const char *, size_t); -}; - -struct edac_pci_gen_data { - int edac_idx; -}; - -struct edac_raw_error_desc { - char location[256]; - char label[296]; - long int grain; - u16 error_count; - enum hw_event_mc_err_type type; - int top_layer; - int mid_layer; - int low_layer; - long unsigned int page_frame_number; - long unsigned int offset_in_page; - long unsigned int syndrome; - const char *msg; - const char *other_detail; -}; - -struct edac_scrub_dev_attr { - struct device_attribute dev_attr; - u8 instance; -}; - -struct edac_scrub_context { - char name[128]; - struct edac_scrub_dev_attr scrub_dev_attr[6]; - struct attribute *scrub_attrs[7]; - struct attribute_group group; -}; - -struct edac_scrub_ops { - int (*read_addr)(struct device *, void *, u64 *); - int (*read_size)(struct device *, void *, u64 *); - int (*write_addr)(struct device *, void *, u64); - int (*write_size)(struct device *, void *, u64); - int (*get_enabled_bg)(struct device *, void *, bool *); - int (*set_enabled_bg)(struct device *, void *, bool); - int (*get_min_cycle)(struct device *, void *, u32 *); - int (*get_max_cycle)(struct device *, void *, u32 *); - int (*get_cycle_duration)(struct device *, void *, u32 *); - int (*set_cycle_duration)(struct device *, void *, u32); -}; - -struct edd { - unsigned int mbr_signature[16]; - struct edd_info edd_info[6]; - unsigned char mbr_signature_nr; - unsigned char edd_info_nr; -}; - -struct edd_device; - -struct edd_attribute { - struct attribute attr; - ssize_t (*show)(struct edd_device *, char *); - int (*test)(struct edd_device *); -}; - -struct edd_device { - unsigned int index; - unsigned int mbr_signature; - struct edd_info *info; - struct kobject kobj; -}; - -struct est_timings { - u8 t1; - u8 t2; - u8 mfg_rsvd; -}; - -struct edid { - u8 header[8]; - union { - struct drm_edid_product_id product_id; - struct { - u8 mfg_id[2]; - u8 prod_code[2]; - u32 serial; - u8 mfg_week; - u8 mfg_year; - } __attribute__((packed)); - }; - u8 version; - u8 revision; - u8 input; - u8 width_cm; - u8 height_cm; - u8 gamma; - u8 features; - u8 red_green_lo; - u8 blue_white_lo; - u8 red_x; - u8 red_y; - u8 green_x; - u8 green_y; - u8 blue_x; - u8 blue_y; - u8 white_x; - u8 white_y; - struct est_timings established_timings; - struct std_timing standard_timings[8]; - struct detailed_timing detailed_timings[4]; - u8 extensions; - u8 checksum; -}; - -struct edid_quirk { - const struct drm_edid_ident ident; - u32 quirks; -}; - -struct eee_config { - u32 tx_lpi_timer; - bool tx_lpi_enabled; - bool eee_enabled; -}; - -struct ethtool_keee { - long unsigned int supported[2]; - long unsigned int advertised[2]; - long unsigned int lp_advertised[2]; - u32 tx_lpi_timer; - bool tx_lpi_enabled; - bool eee_active; - bool eee_enabled; -}; - -struct eee_reply_data { - struct ethnl_reply_data base; - struct ethtool_keee eee; -}; - -struct eeprom_reply_data { - struct ethnl_reply_data base; - u32 length; - u8 *data; -}; - -struct ethnl_req_info { - struct net_device *dev; - netdevice_tracker dev_tracker; - u32 flags; - u32 phy_index; -}; - -struct eeprom_req_info { - struct ethnl_req_info base; - u32 offset; - u32 length; - u8 page; - u8 bank; - u8 i2c_address; -}; - -typedef efi_status_t efi_get_time_t(efi_time_t *, efi_time_cap_t *); - -typedef efi_status_t efi_set_time_t(efi_time_t *); - -typedef efi_status_t efi_get_wakeup_time_t(efi_bool_t *, efi_bool_t *, efi_time_t *); - -typedef efi_status_t efi_set_wakeup_time_t(efi_bool_t, efi_time_t *); - -typedef efi_status_t efi_get_variable_t(efi_char16_t *, efi_guid_t *, u32 *, long unsigned int *, void *); - -typedef efi_status_t efi_get_next_variable_t(long unsigned int *, efi_char16_t *, efi_guid_t *); - -typedef efi_status_t efi_set_variable_t(efi_char16_t *, efi_guid_t *, u32, long unsigned int, void *); - -typedef efi_status_t efi_query_variable_info_t(u32, u64 *, u64 *, u64 *); - -typedef efi_status_t efi_update_capsule_t(efi_capsule_header_t **, long unsigned int, long unsigned int); - -typedef efi_status_t efi_query_capsule_caps_t(efi_capsule_header_t **, long unsigned int, u64 *, int *); - -typedef efi_status_t efi_get_next_high_mono_count_t(u32 *); - -typedef void efi_reset_system_t(int, efi_status_t, long unsigned int, efi_char16_t *); - -struct efi_memory_map { - phys_addr_t phys_map; - void *map; - void *map_end; - int nr_map; - long unsigned int desc_version; - long unsigned int desc_size; - long unsigned int flags; -}; - -struct efi { - const efi_runtime_services_t *runtime; - unsigned int runtime_version; - unsigned int runtime_supported_mask; - long unsigned int acpi; - long unsigned int acpi20; - long unsigned int smbios; - long unsigned int smbios3; - long unsigned int esrt; - long unsigned int tpm_log; - long unsigned int tpm_final_log; - long unsigned int ovmf_debug_log; - long unsigned int mokvar_table; - long unsigned int coco_secret; - long unsigned int unaccepted; - efi_get_time_t *get_time; - efi_set_time_t *set_time; - efi_get_wakeup_time_t *get_wakeup_time; - efi_set_wakeup_time_t *set_wakeup_time; - efi_get_variable_t *get_variable; - efi_get_next_variable_t *get_next_variable; - efi_set_variable_t *set_variable; - efi_set_variable_t *set_variable_nonblocking; - efi_query_variable_info_t *query_variable_info; - efi_query_variable_info_t *query_variable_info_nonblocking; - efi_update_capsule_t *update_capsule; - efi_query_capsule_caps_t *query_capsule_caps; - efi_get_next_high_mono_count_t *get_next_high_mono_count; - efi_reset_system_t *reset_system; - struct efi_memory_map memmap; - long unsigned int flags; -}; - -struct efi_embedded_fw { - struct list_head list; - const char *name; - const u8 *data; - size_t length; -}; - -struct efi_embedded_fw_desc { - const char *name; - u8 prefix[8]; - u32 length; - u8 sha256[32]; -}; - -struct efi_error_code { - efi_status_t status; - int errno; - const char *description; -}; - -struct efi_mem_range { - struct range range; - u64 attribute; -}; - -struct efi_memory_map_data { - phys_addr_t phys_map; - long unsigned int size; - long unsigned int desc_version; - long unsigned int desc_size; - long unsigned int flags; -}; - -struct efi_mokvar_sysfs_attr { - struct bin_attribute bin_attr; - struct list_head node; -}; - -struct efi_mokvar_table_entry { - char name[256]; - u64 data_size; - u8 data[0]; -}; - -union efi_rts_args { - struct { - efi_time_t *time; - efi_time_cap_t *capabilities; - } GET_TIME; - struct { - efi_time_t *time; - } SET_TIME; - struct { - efi_bool_t *enabled; - efi_bool_t *pending; - efi_time_t *time; - } GET_WAKEUP_TIME; - struct { - efi_bool_t enable; - efi_time_t *time; - } SET_WAKEUP_TIME; - struct { - efi_char16_t *name; - efi_guid_t *vendor; - u32 *attr; - long unsigned int *data_size; - void *data; - } GET_VARIABLE; - struct { - long unsigned int *name_size; - efi_char16_t *name; - efi_guid_t *vendor; - } GET_NEXT_VARIABLE; - struct { - efi_char16_t *name; - efi_guid_t *vendor; - u32 attr; - long unsigned int data_size; - void *data; - } SET_VARIABLE; - struct { - u32 attr; - u64 *storage_space; - u64 *remaining_space; - u64 *max_variable_size; - } QUERY_VARIABLE_INFO; - struct { - u32 *high_count; - } GET_NEXT_HIGH_MONO_COUNT; - struct { - efi_capsule_header_t **capsules; - long unsigned int count; - long unsigned int sg_list; - } UPDATE_CAPSULE; - struct { - efi_capsule_header_t **capsules; - long unsigned int count; - u64 *max_size; - int *reset_type; - } QUERY_CAPSULE_CAPS; - struct { - efi_status_t (*acpi_prm_handler)(u64, void *); - u64 param_buffer_addr; - void *context; - } ACPI_PRM_HANDLER; -}; - -struct efi_runtime_map_entry { - efi_memory_desc_t md; - struct kobject kobj; -}; - -struct efi_runtime_work { - union efi_rts_args *args; - efi_status_t status; - struct work_struct work; - enum efi_rts_ids efi_rts_id; - struct completion efi_rts_comp; - const void *caller; -}; - -struct efi_setup_data { - u64 fw_vendor; - u64 __unused; - u64 tables; - u64 smbios; - u64 reserved[8]; -}; - -struct efi_system_resource_entry_v1 { - efi_guid_t fw_class; - u32 fw_type; - u32 fw_version; - u32 lowest_supported_fw_version; - u32 capsule_flags; - u32 last_attempt_version; - u32 last_attempt_status; -}; - -struct efi_system_resource_table { - u32 fw_resource_count; - u32 fw_resource_count_max; - u64 fw_resource_version; - u8 entries[0]; -}; - -struct efi_tcg2_final_events_table { - u64 version; - u64 nr_events; - u8 events[0]; -}; - -struct efi_unaccepted_memory { - u32 version; - u32 unit_size; - u64 phys_base; - u64 size; - long unsigned int bitmap[0]; -}; - -struct efi_variable { - efi_char16_t VariableName[512]; - efi_guid_t VendorGuid; -}; - -struct efifb_dmi_info { - char *optname; - long unsigned int base; - int stride; - int width; - int height; - int flags; -}; - -struct efivar_entry { - struct efi_variable var; - struct inode vfs_inode; - long unsigned int open_count; - bool removed; -}; - -typedef efi_status_t efi_query_variable_store_t(u32, long unsigned int, bool); - -struct efivar_operations { - efi_get_variable_t *get_variable; - efi_get_next_variable_t *get_next_variable; - efi_set_variable_t *set_variable; - efi_set_variable_t *set_variable_nonblocking; - efi_query_variable_store_t *query_variable_store; - efi_query_variable_info_t *query_variable_info; -}; - -struct efivarfs_mount_opts { - kuid_t uid; - kgid_t gid; -}; - -struct efivarfs_fs_info { - struct efivarfs_mount_opts mount_opts; - struct super_block *sb; - struct notifier_block nb; -}; - -struct efivars { - struct kset *kset; - const struct efivar_operations *ops; -}; - -struct ehci_caps { - u32 hc_capbase; - u32 hcs_params; - u32 hcc_params; - u8 portroute[8]; -}; - -struct ehci_dbg_port { - u32 control; - u32 pids; - u32 data03; - u32 data47; - u32 address; -}; - -struct ehci_dev { - u32 bus; - u32 slot; - u32 func; -}; - -struct usb_hcd; - -struct ehci_driver_overrides { - size_t extra_priv_size; - int (*reset)(struct usb_hcd *); - int (*port_power)(struct usb_hcd *, int, bool); -}; - -struct ehci_qh; - -struct ehci_itd; - -struct ehci_sitd; - -struct ehci_fstn; - -union ehci_shadow { - struct ehci_qh *qh; - struct ehci_itd *itd; - struct ehci_sitd *sitd; - struct ehci_fstn *fstn; - __le32 *hw_next; - void *ptr; -}; - -struct ehci_fstn { - __le32 hw_next; - __le32 hw_prev; - dma_addr_t fstn_dma; - union ehci_shadow fstn_next; - long: 64; -}; - -struct ehci_stats { - long unsigned int normal; - long unsigned int error; - long unsigned int iaa; - long unsigned int lost_iaa; - long unsigned int complete; - long unsigned int unlink; -}; - -struct ehci_regs; - -struct ehci_hcd { - enum ehci_hrtimer_event next_hrtimer_event; - unsigned int enabled_hrtimer_events; - ktime_t hr_timeouts[12]; - struct hrtimer hrtimer; - int PSS_poll_count; - int ASS_poll_count; - int died_poll_count; - struct ehci_caps *caps; - struct ehci_regs *regs; - struct ehci_dbg_port *debug; - __u32 hcs_params; - spinlock_t lock; - enum ehci_rh_state rh_state; - bool scanning: 1; - bool need_rescan: 1; - bool intr_unlinking: 1; - bool iaa_in_progress: 1; - bool async_unlinking: 1; - bool shutdown: 1; - struct ehci_qh *qh_scan_next; - struct ehci_qh *async; - struct ehci_qh *dummy; - struct list_head async_unlink; - struct list_head async_idle; - unsigned int async_unlink_cycle; - unsigned int async_count; - __le32 old_current; - __le32 old_token; - unsigned int periodic_size; - __le32 *periodic; - dma_addr_t periodic_dma; - struct list_head intr_qh_list; - unsigned int i_thresh; - union ehci_shadow *pshadow; - struct list_head intr_unlink_wait; - struct list_head intr_unlink; - unsigned int intr_unlink_wait_cycle; - unsigned int intr_unlink_cycle; - unsigned int now_frame; - unsigned int last_iso_frame; - unsigned int intr_count; - unsigned int isoc_count; - unsigned int periodic_count; - unsigned int uframe_periodic_max; - struct list_head cached_itd_list; - struct ehci_itd *last_itd_to_free; - struct list_head cached_sitd_list; - struct ehci_sitd *last_sitd_to_free; - long unsigned int reset_done[15]; - long unsigned int bus_suspended; - long unsigned int companion_ports; - long unsigned int owned_ports; - long unsigned int port_c_suspend; - long unsigned int suspended_ports; - long unsigned int resuming_ports; - struct dma_pool *qh_pool; - struct dma_pool *qtd_pool; - struct dma_pool *itd_pool; - struct dma_pool *sitd_pool; - unsigned int random_frame; - long unsigned int next_statechange; - ktime_t last_periodic_enable; - u32 command; - unsigned int no_selective_suspend: 1; - unsigned int has_fsl_port_bug: 1; - unsigned int has_fsl_hs_errata: 1; - unsigned int has_fsl_susp_errata: 1; - unsigned int has_ci_pec_bug: 1; - unsigned int big_endian_mmio: 1; - unsigned int big_endian_desc: 1; - unsigned int big_endian_capbase: 1; - unsigned int has_amcc_usb23: 1; - unsigned int need_io_watchdog: 1; - unsigned int amd_pll_fix: 1; - unsigned int use_dummy_qh: 1; - unsigned int has_synopsys_hc_bug: 1; - unsigned int frame_index_bug: 1; - unsigned int need_oc_pp_cycle: 1; - unsigned int imx28_write_fix: 1; - unsigned int spurious_oc: 1; - unsigned int is_aspeed: 1; - unsigned int zx_wakeup_clear_needed: 1; - __le32 *ohci_hcctrl_reg; - unsigned int has_hostpc: 1; - unsigned int has_tdi_phy_lpm: 1; - unsigned int has_ppcd: 1; - u8 sbrn; - struct ehci_stats stats; - struct dentry *debug_dir; - u8 bandwidth[64]; - u8 tt_budget[64]; - struct list_head tt_list; - long unsigned int priv[0]; -}; - -struct ehci_iso_packet { - u64 bufp; - __le32 transaction; - u8 cross; - u32 buf1; -}; - -struct ehci_iso_sched { - struct list_head td_list; - unsigned int span; - unsigned int first_packet; - struct ehci_iso_packet packet[0]; -}; - -struct usb_host_endpoint; - -struct ehci_per_sched { - struct usb_device *udev; - struct usb_host_endpoint *ep; - struct list_head ps_list; - u16 tt_usecs; - u16 cs_mask; - u16 period; - u16 phase; - u8 bw_phase; - u8 phase_uf; - u8 usecs; - u8 c_usecs; - u8 bw_uperiod; - u8 bw_period; -}; - -struct ehci_qh_hw; - -struct ehci_iso_stream { - struct ehci_qh_hw *hw; - u8 bEndpointAddress; - u8 highspeed; - struct list_head td_list; - struct list_head free_list; - struct ehci_per_sched ps; - unsigned int next_uframe; - __le32 splits; - u16 uperiod; - u16 maxp; - unsigned int bandwidth; - __le32 buf0; - __le32 buf1; - __le32 buf2; - __le32 address; -}; - -struct ehci_itd { - __le32 hw_next; - __le32 hw_transaction[8]; - __le32 hw_bufp[7]; - __le32 hw_bufp_hi[7]; - dma_addr_t itd_dma; - union ehci_shadow itd_next; - struct urb *urb; - struct ehci_iso_stream *stream; - struct list_head itd_list; - unsigned int frame; - unsigned int pg; - unsigned int index[8]; - long: 64; -}; - -struct ehci_platform_priv { - struct clk *clks[4]; - struct reset_control *rsts; - bool reset_on_resume; - bool quirk_poll; - struct timer_list poll_timer; - struct delayed_work poll_work; -}; - -struct ehci_qtd; - -struct ehci_qh { - struct ehci_qh_hw *hw; - dma_addr_t qh_dma; - union ehci_shadow qh_next; - struct list_head qtd_list; - struct list_head intr_node; - struct ehci_qtd *dummy; - struct list_head unlink_node; - struct ehci_per_sched ps; - unsigned int unlink_cycle; - u8 qh_state; - u8 xacterrs; - u8 unlink_reason; - u8 gap_uf; - unsigned int is_out: 1; - unsigned int clearing_tt: 1; - unsigned int dequeue_during_giveback: 1; - unsigned int should_be_inactive: 1; -}; - -struct ehci_qh_hw { - __le32 hw_next; - __le32 hw_info1; - __le32 hw_info2; - __le32 hw_current; - __le32 hw_qtd_next; - __le32 hw_alt_next; - __le32 hw_token; - __le32 hw_buf[5]; - __le32 hw_buf_hi[5]; - long: 64; - long: 64; - long: 64; -}; - -struct ehci_qtd { - __le32 hw_next; - __le32 hw_alt_next; - __le32 hw_token; - __le32 hw_buf[5]; - __le32 hw_buf_hi[5]; - dma_addr_t qtd_dma; - struct list_head qtd_list; - struct urb *urb; - size_t length; -}; - -struct ehci_regs { - u32 command; - u32 status; - u32 intr_enable; - u32 frame_index; - u32 segment; - u32 frame_list; - u32 async_next; - u32 reserved1[2]; - u32 txfill_tuning; - u32 reserved2[6]; - u32 configured_flag; - union { - u32 port_status[15]; - struct { - u32 reserved3[9]; - u32 usbmode; - }; - }; - union { - struct { - u32 reserved4; - u32 hostpc[15]; - }; - u32 brcm_insnreg[4]; - }; - u32 reserved5[2]; - u32 usbmode_ex; -}; - -struct ehci_sitd { - __le32 hw_next; - __le32 hw_fullspeed_ep; - __le32 hw_uframe; - __le32 hw_results; - __le32 hw_buf[2]; - __le32 hw_backpointer; - __le32 hw_buf_hi[2]; - dma_addr_t sitd_dma; - union ehci_shadow sitd_next; - struct urb *urb; - struct ehci_iso_stream *stream; - struct list_head sitd_list; - unsigned int frame; - unsigned int index; -}; - -struct ehci_tt { - u16 bandwidth[8]; - struct list_head tt_list; - struct list_head ps_list; - struct usb_tt *usb_tt; - int tt_port; -}; - -struct ei_entry { - struct list_head list; - long unsigned int start_addr; - long unsigned int end_addr; - int etype; - void *priv; -}; - -struct touchscreen_properties { - unsigned int max_x; - unsigned int max_y; - bool invert_x; - bool invert_y; - bool swap_x_y; -}; - -struct elants_data { - struct i2c_client *client; - struct input_dev *input; - struct regulator *vcc33; - struct regulator *vccio; - struct gpio_desc *reset_gpio; - u16 fw_version; - u8 test_version; - u8 solution_version; - u8 bc_version; - u8 iap_version; - u16 hw_version; - u8 major_res; - unsigned int x_res; - unsigned int y_res; - unsigned int x_max; - unsigned int y_max; - unsigned int phy_x; - unsigned int phy_y; - struct touchscreen_properties prop; - enum elants_state state; - enum elants_chip_id chip_id; - enum elants_iap_mode iap_mode; - struct mutex sysfs_mutex; - u8 cmd_resp[4]; - struct completion cmd_done; - bool keep_power_in_suspend; - long: 64; - u8 buf[169]; - long: 64; - long: 64; -}; - -struct elants_version_attribute { - struct device_attribute dattr; - size_t field_offset; - size_t field_size; -}; - -struct elevator_queue; - -struct io_cq; - -struct elevator_mq_ops { - int (*init_sched)(struct request_queue *, struct elevator_queue *); - void (*exit_sched)(struct elevator_queue *); - int (*init_hctx)(struct blk_mq_hw_ctx *, unsigned int); - void (*exit_hctx)(struct blk_mq_hw_ctx *, unsigned int); - void (*depth_updated)(struct request_queue *); - void * (*alloc_sched_data)(struct request_queue *); - void (*free_sched_data)(void *); - bool (*allow_merge)(struct request_queue *, struct request *, struct bio *); - bool (*bio_merge)(struct request_queue *, struct bio *, unsigned int); - int (*request_merge)(struct request_queue *, struct request **, struct bio *); - void (*request_merged)(struct request_queue *, struct request *, enum elv_merge); - void (*requests_merged)(struct request_queue *, struct request *, struct request *); - void (*limit_depth)(blk_opf_t, struct blk_mq_alloc_data *); - void (*prepare_request)(struct request *); - void (*finish_request)(struct request *); - void (*insert_requests)(struct blk_mq_hw_ctx *, struct list_head *, blk_insert_t); - struct request * (*dispatch_request)(struct blk_mq_hw_ctx *); - bool (*has_work)(struct blk_mq_hw_ctx *); - void (*completed_request)(struct request *, u64); - void (*requeue_request)(struct request *); - struct request * (*former_request)(struct request_queue *, struct request *); - struct request * (*next_request)(struct request_queue *, struct request *); - void (*init_icq)(struct io_cq *); - void (*exit_icq)(struct io_cq *); -}; - -struct elevator_type; - -struct elevator_tags; - -struct elevator_queue { - struct elevator_type *type; - struct elevator_tags *et; - void *elevator_data; - struct kobject kobj; - struct mutex sysfs_lock; - long unsigned int flags; - struct hlist_head hash[64]; -}; - -struct elevator_resources { - void *data; - struct elevator_tags *et; -}; - -struct elevator_tags { - unsigned int nr_hw_queues; - unsigned int nr_requests; - struct blk_mq_tags *tags[0]; -}; - -struct elv_fs_entry; - -struct elevator_type { - struct kmem_cache *icq_cache; - struct elevator_mq_ops ops; - size_t icq_size; - size_t icq_align; - const struct elv_fs_entry *elevator_attrs; - const char *elevator_name; - const char *elevator_alias; - struct module *elevator_owner; - const struct blk_mq_debugfs_attr *queue_debugfs_attrs; - const struct blk_mq_debugfs_attr *hctx_debugfs_attrs; - char icq_cache_name[22]; - struct list_head list; -}; - -struct elf32_hdr { - unsigned char e_ident[16]; - Elf32_Half e_type; - Elf32_Half e_machine; - Elf32_Word e_version; - Elf32_Addr e_entry; - Elf32_Off e_phoff; - Elf32_Off e_shoff; - Elf32_Word e_flags; - Elf32_Half e_ehsize; - Elf32_Half e_phentsize; - Elf32_Half e_phnum; - Elf32_Half e_shentsize; - Elf32_Half e_shnum; - Elf32_Half e_shstrndx; -}; - -typedef struct elf32_hdr Elf32_Ehdr; - -struct elf32_note { - Elf32_Word n_namesz; - Elf32_Word n_descsz; - Elf32_Word n_type; -}; - -typedef struct elf32_note Elf32_Nhdr; - -struct elf32_phdr { - Elf32_Word p_type; - Elf32_Off p_offset; - Elf32_Addr p_vaddr; - Elf32_Addr p_paddr; - Elf32_Word p_filesz; - Elf32_Word p_memsz; - Elf32_Word p_flags; - Elf32_Word p_align; -}; - -typedef struct elf32_phdr Elf32_Phdr; - -struct elf32_shdr { - Elf32_Word sh_name; - Elf32_Word sh_type; - Elf32_Word sh_flags; - Elf32_Addr sh_addr; - Elf32_Off sh_offset; - Elf32_Word sh_size; - Elf32_Word sh_link; - Elf32_Word sh_info; - Elf32_Word sh_addralign; - Elf32_Word sh_entsize; -}; - -struct elf64_hdr { - unsigned char e_ident[16]; - Elf64_Half e_type; - Elf64_Half e_machine; - Elf64_Word e_version; - Elf64_Addr e_entry; - Elf64_Off e_phoff; - Elf64_Off e_shoff; - Elf64_Word e_flags; - Elf64_Half e_ehsize; - Elf64_Half e_phentsize; - Elf64_Half e_phnum; - Elf64_Half e_shentsize; - Elf64_Half e_shnum; - Elf64_Half e_shstrndx; -}; - -typedef struct elf64_hdr Elf64_Ehdr; - -struct elf64_note { - Elf64_Word n_namesz; - Elf64_Word n_descsz; - Elf64_Word n_type; -}; - -typedef struct elf64_note Elf64_Nhdr; - -struct elf64_phdr { - Elf64_Word p_type; - Elf64_Word p_flags; - Elf64_Off p_offset; - Elf64_Addr p_vaddr; - Elf64_Addr p_paddr; - Elf64_Xword p_filesz; - Elf64_Xword p_memsz; - Elf64_Xword p_align; -}; - -typedef struct elf64_phdr Elf64_Phdr; - -struct elf64_rela { - Elf64_Addr r_offset; - Elf64_Xword r_info; - Elf64_Sxword r_addend; -}; - -typedef struct elf64_rela Elf64_Rela; - -struct elf64_shdr { - Elf64_Word sh_name; - Elf64_Word sh_type; - Elf64_Xword sh_flags; - Elf64_Addr sh_addr; - Elf64_Off sh_offset; - Elf64_Xword sh_size; - Elf64_Word sh_link; - Elf64_Word sh_info; - Elf64_Xword sh_addralign; - Elf64_Xword sh_entsize; -}; - -typedef struct elf64_shdr Elf64_Shdr; - -struct elf64_sym { - Elf64_Word st_name; - unsigned char st_info; - unsigned char st_other; - Elf64_Half st_shndx; - Elf64_Addr st_value; - Elf64_Xword st_size; -}; - -typedef struct elf64_sym Elf64_Sym; - -struct memelfnote { - const char *name; - int type; - unsigned int datasz; - void *data; -}; - -struct elf_thread_core_info; - -struct elf_note_info { - struct elf_thread_core_info *thread; - struct memelfnote psinfo; - struct memelfnote signote; - struct memelfnote auxv; - struct memelfnote files; - compat_siginfo_t csigdata; - size_t size; - int thread_notes; -}; - -struct siginfo { - union { - struct { - int si_signo; - int si_errno; - int si_code; - union __sifields _sifields; - }; - int _si_pad[32]; - }; -}; - -typedef struct siginfo siginfo_t; - -struct elf_thread_core_info___2; - -struct elf_note_info___2 { - struct elf_thread_core_info___2 *thread; - struct memelfnote psinfo; - struct memelfnote signote; - struct memelfnote auxv; - struct memelfnote files; - siginfo_t csigdata; - size_t size; - int thread_notes; -}; - -struct elf_prpsinfo { - char pr_state; - char pr_sname; - char pr_zomb; - char pr_nice; - long unsigned int pr_flag; - __kernel_uid_t pr_uid; - __kernel_gid_t pr_gid; - pid_t pr_pid; - pid_t pr_ppid; - pid_t pr_pgrp; - pid_t pr_sid; - char pr_fname[16]; - char pr_psargs[80]; -}; - -struct elf_siginfo { - int si_signo; - int si_code; - int si_errno; -}; - -struct elf_prstatus_common { - struct elf_siginfo pr_info; - short int pr_cursig; - long unsigned int pr_sigpend; - long unsigned int pr_sighold; - pid_t pr_pid; - pid_t pr_ppid; - pid_t pr_pgrp; - pid_t pr_sid; - struct __kernel_old_timeval pr_utime; - struct __kernel_old_timeval pr_stime; - struct __kernel_old_timeval pr_cutime; - struct __kernel_old_timeval pr_cstime; -}; - -struct elf_prstatus { - struct elf_prstatus_common common; - elf_gregset_t pr_reg; - int pr_fpvalid; -}; - -struct elf_thread_core_info___2 { - struct elf_thread_core_info___2 *next; - struct task_struct *task; - struct elf_prstatus prstatus; - struct memelfnote notes[0]; -}; - -struct elf_thread_core_info { - struct elf_thread_core_info *next; - struct task_struct *task; - struct compat_elf_prstatus prstatus; - struct memelfnote notes[0]; -}; - -struct elv_change_ctx { - const char *name; - bool no_uevent; - struct elevator_queue *old; - struct elevator_queue *new; - struct elevator_type *type; - struct elevator_resources res; -}; - -struct elv_fs_entry { - struct attribute attr; - ssize_t (*show)(struct elevator_queue *, char *); - ssize_t (*store)(struct elevator_queue *, const char *, size_t); -}; - -struct em_data_callback { - int (*active_power)(struct device *, long unsigned int *, long unsigned int *); - int (*get_cost)(struct device *, long unsigned int, long unsigned int *); -}; - -struct em_dbg_info { - struct em_perf_domain *pd; - int ps_id; -}; - -struct em_perf_table; - -struct em_perf_domain { - struct em_perf_table *em_table; - int nr_perf_states; - int min_perf_state; - int max_perf_state; - long unsigned int flags; - long unsigned int cpus[0]; -}; - -struct em_perf_state { - long unsigned int performance; - long unsigned int frequency; - long unsigned int power; - long unsigned int cost; - long unsigned int flags; -}; - -struct em_perf_table { - struct callback_head rcu; - struct kref kref; - struct em_perf_state state[0]; -}; - -struct trace_event_file; - -struct enable_trigger_data { - struct trace_event_file *file; - bool enable; - bool hist; -}; - -struct encrypted_key_payload { - struct callback_head rcu; - char *format; - char *master_desc; - char *datalen; - u8 *iv; - u8 *encrypted_data; - short unsigned int datablob_len; - short unsigned int decrypted_datalen; - short unsigned int payload_datalen; - short unsigned int encrypted_key_format; - u8 *decrypted_data; - u8 payload_data[0]; -}; - -struct energy_env { - long unsigned int task_busy_time; - long unsigned int pd_busy_time; - long unsigned int cpu_cap; - long unsigned int pd_cap; -}; - -struct entropy_timer_state { - long unsigned int entropy; - struct timer_list timer; - atomic_t samples; - unsigned int samples_per_bit; -}; - -struct usb_endpoint_descriptor; - -struct ep_device { - struct usb_endpoint_descriptor *desc; - struct usb_device *udev; - struct device dev; -}; - -typedef struct poll_table_struct poll_table; - -struct epitem; - -struct ep_pqueue { - poll_table pt; - struct epitem *epi; -}; - -struct epoll_filefd { - struct file *file; - int fd; -} __attribute__((packed)); - -struct epoll_event { - __poll_t events; - __u64 data; -} __attribute__((packed)); - -struct eppoll_entry; - -struct eventpoll; - -struct epitem { - union { - struct rb_node rbn; - struct callback_head rcu; - }; - struct list_head rdllink; - struct epitem *next; - struct epoll_filefd ffd; - bool dying; - struct eppoll_entry *pwqlist; - struct eventpoll *ep; - struct hlist_node fllink; - struct wakeup_source *ws; - struct epoll_event event; -}; - -struct epitems_head { - struct hlist_head epitems; - struct epitems_head *next; -}; - -struct epoll_params { - __u32 busy_poll_usecs; - __u16 busy_poll_budget; - __u8 prefer_busy_poll; - __u8 __pad; -}; - -struct eppoll_entry { - struct eppoll_entry *next; - struct epitem *base; - wait_queue_entry_t wait; - wait_queue_head_t *whead; -}; - -struct trace_eprobe; - -struct eprobe_data { - struct trace_event_file *file; - struct trace_eprobe *ep; -}; - -struct eprobe_trace_entry_head { - struct trace_entry ent; -}; - -struct equiv_cpu_entry { - u32 installed_cpu; - u32 fixed_errata_mask; - u32 fixed_errata_compare; - u16 equiv_cpu; - u16 res; -}; - -struct equiv_cpu_table { - unsigned int num_entries; - struct equiv_cpu_entry *entry; -}; - -struct er_account { - raw_spinlock_t lock; - u64 config; - u64 reg; - atomic_t ref; -}; - -struct err_info { - const char **errs; - u8 type; - u16 pos; - u64 ts; -}; - -struct error_info { - short unsigned int code12; - short unsigned int size; -}; - -struct error_info2 { - unsigned char code1; - unsigned char code2_min; - unsigned char code2_max; - const char *str; - const char *fmt; -}; - -struct error_injection_entry { - long unsigned int addr; - int etype; -}; - -struct erspan_md2 { - __be32 timestamp; - __be16 sgt; - __u8 hwid_upper: 2; - __u8 ft: 5; - __u8 p: 1; - __u8 o: 1; - __u8 gra: 2; - __u8 dir: 1; - __u8 hwid: 4; -}; - -struct erspan_metadata { - int version; - union { - __be32 index; - struct erspan_md2 md2; - } u; -}; - -struct erst_erange { - u64 base; - u64 size; - void *vaddr; - u32 attr; - u64 timings; -}; - -struct erst_record_id_cache { - struct mutex lock; - u64 *entries; - int len; - int size; - int refcount; -}; - -struct insn_field { - union { - insn_value_t value; - insn_byte_t bytes[4]; - }; - unsigned char got; - unsigned char nbytes; -}; - -struct insn { - struct insn_field prefixes; - struct insn_field rex_prefix; - struct insn_field vex_prefix; - struct insn_field opcode; - struct insn_field modrm; - struct insn_field sib; - struct insn_field displacement; - union { - struct insn_field immediate; - struct insn_field moffset1; - struct insn_field immediate1; - }; - union { - struct insn_field moffset2; - struct insn_field immediate2; - }; - int emulate_prefix_size; - insn_attr_t attr; - unsigned char opnd_bytes; - unsigned char addr_bytes; - unsigned char length; - unsigned char x86_64; - const insn_byte_t *kaddr; - const insn_byte_t *end_kaddr; - const insn_byte_t *next_byte; -}; - -struct es_fault_info { - long unsigned int vector; - long unsigned int error_code; - long unsigned int cr2; -}; - -struct es_em_ctxt { - struct pt_regs *regs; - struct insn insn; - struct es_fault_info fi; -}; - -struct strp_stats { - long long unsigned int msgs; - long long unsigned int bytes; - unsigned int mem_fail; - unsigned int need_more_hdr; - unsigned int msg_too_big; - unsigned int msg_timeouts; - unsigned int bad_hdr_len; -}; - -typedef int (*sk_read_actor_t)(read_descriptor_t *, struct sk_buff *, unsigned int, size_t); - -struct strparser; - -struct strp_callbacks { - int (*parse_msg)(struct strparser *, struct sk_buff *); - void (*rcv_msg)(struct strparser *, struct sk_buff *); - int (*read_sock)(struct strparser *, read_descriptor_t *, sk_read_actor_t); - int (*read_sock_done)(struct strparser *, int); - void (*abort_parser)(struct strparser *, int); - void (*lock)(struct strparser *); - void (*unlock)(struct strparser *); -}; - -struct strparser { - struct sock *sk; - u32 stopped: 1; - u32 paused: 1; - u32 aborted: 1; - u32 interrupted: 1; - u32 unrecov_intr: 1; - struct sk_buff **skb_nextp; - struct sk_buff *skb_head; - unsigned int need_bytes; - struct delayed_work msg_timer_work; - struct work_struct work; - struct strp_stats stats; - struct strp_callbacks cb; -}; - -struct espintcp_msg { - struct sk_buff *skb; - struct sk_msg skmsg; - int offset; - int len; -}; - -struct espintcp_ctx { - struct strparser strp; - struct sk_buff_head ike_queue; - struct sk_buff_head out_queue; - struct espintcp_msg partial; - void (*saved_data_ready)(struct sock *); - void (*saved_write_space)(struct sock *); - void (*saved_destruct)(struct sock *); - struct work_struct work; - bool tx_running; -}; - -struct esre_entry; - -struct esre_attribute { - struct attribute attr; - ssize_t (*show)(struct esre_entry *, char *); -}; - -struct esre_entry { - union { - struct efi_system_resource_entry_v1 *esre1; - } esre; - struct kobject kobj; - struct list_head list; -}; - -struct estack_pages { - u32 offs; - u16 size; - u16 type; -}; - -struct ethnl_request_ops; - -struct ethnl_dump_ctx { - const struct ethnl_request_ops *ops; - struct ethnl_req_info *req_info; - struct ethnl_reply_data *reply_data; - long unsigned int pos_ifindex; -}; - -struct ethnl_module_fw_flash_ntf_params { - u32 portid; - u32 seq; - bool closed_sock; -}; - -struct ethnl_perphy_dump_ctx { - struct ethnl_dump_ctx ethnl_ctx; - unsigned int ifindex; - long unsigned int pos_phyindex; -}; - -struct ethnl_request_ops { - u8 request_cmd; - u8 reply_cmd; - u16 hdr_attr; - unsigned int req_info_size; - unsigned int reply_data_size; - bool allow_nodev_do; - u8 set_ntf_cmd; - int (*parse_request)(struct ethnl_req_info *, struct nlattr **, struct netlink_ext_ack *); - int (*prepare_data)(const struct ethnl_req_info *, struct ethnl_reply_data *, const struct genl_info *); - int (*reply_size)(const struct ethnl_req_info *, const struct ethnl_reply_data *); - int (*fill_reply)(struct sk_buff *, const struct ethnl_req_info *, const struct ethnl_reply_data *); - void (*cleanup_data)(struct ethnl_reply_data *); - int (*set_validate)(struct ethnl_req_info *, struct genl_info *); - int (*set)(struct ethnl_req_info *, struct genl_info *); -}; - -struct ethnl_sock_priv { - struct net_device *dev; - u32 portid; - enum ethnl_sock_type type; -}; - -struct tsinfo_req_info; - -struct tsinfo_reply_data; - -struct ethnl_tsinfo_dump_ctx { - struct tsinfo_req_info *req_info; - struct tsinfo_reply_data *reply_data; - long unsigned int pos_ifindex; - bool netdev_dump_done; - long unsigned int pos_phyindex; - enum hwtstamp_provider_qualifier pos_phcqualifier; -}; - -struct ethnl_tunnel_info_dump_ctx { - struct ethnl_req_info req_info; - long unsigned int ifindex; -}; - -struct ethtool_c33_pse_ext_state_info { - enum ethtool_c33_pse_ext_state c33_pse_ext_state; - union { - enum ethtool_c33_pse_ext_substate_error_condition error_condition; - enum ethtool_c33_pse_ext_substate_mr_pse_enable mr_pse_enable; - enum ethtool_c33_pse_ext_substate_option_detect_ted option_detect_ted; - enum ethtool_c33_pse_ext_substate_option_vport_lim option_vport_lim; - enum ethtool_c33_pse_ext_substate_ovld_detected ovld_detected; - enum ethtool_c33_pse_ext_substate_power_not_available power_not_available; - enum ethtool_c33_pse_ext_substate_short_detected short_detected; - u32 __c33_pse_ext_substate; - }; -}; - -struct ethtool_c33_pse_pw_limit_range { - u32 min; - u32 max; -}; - -struct ethtool_cmd { - __u32 cmd; - __u32 supported; - __u32 advertising; - __u16 speed; - __u8 duplex; - __u8 port; - __u8 phy_address; - __u8 transceiver; - __u8 autoneg; - __u8 mdio_support; - __u32 maxtxpkt; - __u32 maxrxpkt; - __u16 speed_hi; - __u8 eth_tp_mdix; - __u8 eth_tp_mdix_ctrl; - __u32 lp_advertising; - __u32 reserved[2]; -}; - -struct ethtool_cmis_cdb { - u8 cmis_rev; - u8 read_write_len_ext; - u16 max_completion_time; -}; - -struct ethtool_cmis_cdb_request { - __be16 id; - union { - struct { - __be16 epl_len; - u8 lpl_len; - u8 chk_code; - u8 resv1; - u8 resv2; - u8 payload[120]; - }; - struct { - __be16 epl_len; - u8 lpl_len; - u8 chk_code; - u8 resv1; - u8 resv2; - u8 payload[120]; - } body; - }; - u8 *epl; -}; - -struct ethtool_cmis_cdb_cmd_args { - struct ethtool_cmis_cdb_request req; - u16 max_duration; - u8 read_write_len_ext; - u8 msleep_pre_rpl; - u8 rpl_exp_len; - u8 flags; - char *err_msg; -}; - -struct ethtool_cmis_cdb_rpl_hdr { - u8 rpl_len; - u8 rpl_chk_code; -}; - -struct ethtool_cmis_cdb_rpl { - struct ethtool_cmis_cdb_rpl_hdr hdr; - u8 payload[120]; -}; - -struct ethtool_module_fw_flash_params { - __be32 password; - u8 password_valid: 1; -}; - -struct ethtool_cmis_fw_update_params { - struct net_device *dev; - struct ethtool_module_fw_flash_params params; - struct ethnl_module_fw_flash_ntf_params ntf_params; - const struct firmware *fw; -}; - -struct ethtool_flash { - __u32 cmd; - __u32 region; - char data[128]; -}; - -struct ethtool_drvinfo { - __u32 cmd; - char driver[32]; - char version[32]; - char fw_version[32]; - char bus_info[32]; - char erom_version[32]; - char reserved2[12]; - __u32 n_priv_flags; - __u32 n_stats; - __u32 testinfo_len; - __u32 eedump_len; - __u32 regdump_len; -}; - -struct ethtool_devlink_compat { - struct devlink *devlink; - union { - struct ethtool_flash efl; - struct ethtool_drvinfo info; - }; -}; - -struct ethtool_dump { - __u32 cmd; - __u32 version; - __u32 flag; - __u32 len; - __u8 data[0]; -}; - -struct ethtool_eee { - __u32 cmd; - __u32 supported; - __u32 advertised; - __u32 lp_advertised; - __u32 eee_active; - __u32 eee_enabled; - __u32 tx_lpi_enabled; - __u32 tx_lpi_timer; - __u32 reserved[2]; -}; - -struct ethtool_eeprom { - __u32 cmd; - __u32 magic; - __u32 offset; - __u32 len; - __u8 data[0]; -}; - -struct ethtool_eth_ctrl_stats { - enum ethtool_mac_stats_src src; - union { - struct { - u64 MACControlFramesTransmitted; - u64 MACControlFramesReceived; - u64 UnsupportedOpcodesReceived; - }; - struct { - u64 MACControlFramesTransmitted; - u64 MACControlFramesReceived; - u64 UnsupportedOpcodesReceived; - } stats; - }; -}; - -struct ethtool_eth_mac_stats { - enum ethtool_mac_stats_src src; - union { - struct { - u64 FramesTransmittedOK; - u64 SingleCollisionFrames; - u64 MultipleCollisionFrames; - u64 FramesReceivedOK; - u64 FrameCheckSequenceErrors; - u64 AlignmentErrors; - u64 OctetsTransmittedOK; - u64 FramesWithDeferredXmissions; - u64 LateCollisions; - u64 FramesAbortedDueToXSColls; - u64 FramesLostDueToIntMACXmitError; - u64 CarrierSenseErrors; - u64 OctetsReceivedOK; - u64 FramesLostDueToIntMACRcvError; - u64 MulticastFramesXmittedOK; - u64 BroadcastFramesXmittedOK; - u64 FramesWithExcessiveDeferral; - u64 MulticastFramesReceivedOK; - u64 BroadcastFramesReceivedOK; - u64 InRangeLengthErrors; - u64 OutOfRangeLengthField; - u64 FrameTooLongErrors; - }; - struct { - u64 FramesTransmittedOK; - u64 SingleCollisionFrames; - u64 MultipleCollisionFrames; - u64 FramesReceivedOK; - u64 FrameCheckSequenceErrors; - u64 AlignmentErrors; - u64 OctetsTransmittedOK; - u64 FramesWithDeferredXmissions; - u64 LateCollisions; - u64 FramesAbortedDueToXSColls; - u64 FramesLostDueToIntMACXmitError; - u64 CarrierSenseErrors; - u64 OctetsReceivedOK; - u64 FramesLostDueToIntMACRcvError; - u64 MulticastFramesXmittedOK; - u64 BroadcastFramesXmittedOK; - u64 FramesWithExcessiveDeferral; - u64 MulticastFramesReceivedOK; - u64 BroadcastFramesReceivedOK; - u64 InRangeLengthErrors; - u64 OutOfRangeLengthField; - u64 FrameTooLongErrors; - } stats; - }; -}; - -struct ethtool_eth_phy_stats { - enum ethtool_mac_stats_src src; - union { - struct { - u64 SymbolErrorDuringCarrier; - }; - struct { - u64 SymbolErrorDuringCarrier; - } stats; - }; -}; - -struct ethtool_fec_stat { - u64 total; - u64 lanes[8]; -}; - -struct ethtool_fec_stats { - struct ethtool_fec_stat corrected_blocks; - struct ethtool_fec_stat uncorrectable_blocks; - struct ethtool_fec_stat corrected_bits; -}; - -struct ethtool_fecparam { - __u32 cmd; - __u32 active_fec; - __u32 fec; - __u32 reserved; -}; - -struct ethtool_forced_speed_map { - u32 speed; - long unsigned int caps[2]; - const u32 *cap_arr; - u32 arr_size; -}; - -struct ethtool_get_features_block { - __u32 available; - __u32 requested; - __u32 active; - __u32 never_changed; -}; - -struct ethtool_gfeatures { - __u32 cmd; - __u32 size; - struct ethtool_get_features_block features[0]; -}; - -struct ethtool_gstrings { - __u32 cmd; - __u32 string_set; - __u32 len; - __u8 data[0]; -}; - -struct ethtool_link_ext_state_info { - enum ethtool_link_ext_state link_ext_state; - union { - enum ethtool_link_ext_substate_autoneg autoneg; - enum ethtool_link_ext_substate_link_training link_training; - enum ethtool_link_ext_substate_link_logical_mismatch link_logical_mismatch; - enum ethtool_link_ext_substate_bad_signal_integrity bad_signal_integrity; - enum ethtool_link_ext_substate_cable_issue cable_issue; - enum ethtool_link_ext_substate_module module; - u32 __link_ext_substate; - }; -}; - -struct ethtool_link_ext_stats { - u64 link_down_events; -}; - -struct ethtool_link_settings { - __u32 cmd; - __u32 speed; - __u8 duplex; - __u8 port; - __u8 phy_address; - __u8 autoneg; - __u8 mdio_support; - __u8 eth_tp_mdix; - __u8 eth_tp_mdix_ctrl; - __s8 link_mode_masks_nwords; - __u8 transceiver; - __u8 master_slave_cfg; - __u8 master_slave_state; - __u8 rate_matching; - __u32 reserved[7]; -}; - -struct ethtool_link_ksettings { - struct ethtool_link_settings base; - struct { - long unsigned int supported[2]; - long unsigned int advertising[2]; - long unsigned int lp_advertising[2]; - } link_modes; - u32 lanes; -}; - -struct ethtool_link_usettings { - struct ethtool_link_settings base; - struct { - __u32 supported[4]; - __u32 advertising[4]; - __u32 lp_advertising[4]; - } link_modes; -}; - -struct ethtool_mm_cfg { - u32 verify_time; - bool verify_enabled; - bool tx_enabled; - bool pmac_enabled; - u32 tx_min_frag_size; -}; - -struct ethtool_mm_state { - u32 verify_time; - u32 max_verify_time; - enum ethtool_mm_verify_status verify_status; - bool tx_enabled; - bool tx_active; - bool pmac_enabled; - bool verify_enabled; - u32 tx_min_frag_size; - u32 rx_min_frag_size; -}; - -struct ethtool_mm_stats { - u64 MACMergeFrameAssErrorCount; - u64 MACMergeFrameSmdErrorCount; - u64 MACMergeFrameAssOkCount; - u64 MACMergeFragCountRx; - u64 MACMergeFragCountTx; - u64 MACMergeHoldCount; -}; - -struct ethtool_mmsv_ops; - -struct ethtool_mmsv { - const struct ethtool_mmsv_ops *ops; - struct net_device *dev; - spinlock_t lock; - enum ethtool_mm_verify_status status; - struct timer_list verify_timer; - bool verify_enabled; - int verify_retries; - bool pmac_enabled; - u32 verify_time; - bool tx_enabled; -}; - -struct ethtool_mmsv_ops { - void (*configure_tx)(struct ethtool_mmsv *, bool); - void (*configure_pmac)(struct ethtool_mmsv *, bool); - void (*send_mpacket)(struct ethtool_mmsv *, enum ethtool_mpacket); -}; - -struct ethtool_modinfo { - __u32 cmd; - __u32 type; - __u32 eeprom_len; - __u32 reserved[8]; -}; - -struct ethtool_module_eeprom { - u32 offset; - u32 length; - u8 page; - u8 bank; - u8 i2c_address; - u8 *data; -}; - -struct ethtool_module_fw_flash { - struct list_head list; - netdevice_tracker dev_tracker; - struct work_struct work; - struct ethtool_cmis_fw_update_params fw_update; -}; - -struct ethtool_module_power_mode_params { - enum ethtool_module_power_mode_policy policy; - enum ethtool_module_power_mode mode; -}; - -struct ethtool_netdev_state { - struct xarray rss_ctx; - struct mutex rss_lock; - unsigned int wol_enabled: 1; - unsigned int module_fw_flash_in_progress: 1; -}; - -struct ethtool_ringparam; - -struct kernel_ethtool_ringparam; - -struct ethtool_pauseparam; - -struct ethtool_stats; - -struct ethtool_rxfh_param; - -struct ethtool_rxfh_fields; - -struct ethtool_rxfh_context; - -struct ethtool_tunable; - -struct ethtool_ops { - u32 supported_input_xfrm: 8; - u32 cap_link_lanes_supported: 1; - u32 rxfh_per_ctx_fields: 1; - u32 rxfh_per_ctx_key: 1; - u32 cap_rss_rxnfc_adds: 1; - u32 rxfh_indir_space; - u16 rxfh_key_space; - u16 rxfh_priv_size; - u32 rxfh_max_num_contexts; - u32 supported_coalesce_params; - u32 supported_ring_params; - u32 supported_hwtstamp_qualifiers; - void (*get_drvinfo)(struct net_device *, struct ethtool_drvinfo *); - int (*get_regs_len)(struct net_device *); - void (*get_regs)(struct net_device *, struct ethtool_regs *, void *); - void (*get_wol)(struct net_device *, struct ethtool_wolinfo *); - int (*set_wol)(struct net_device *, struct ethtool_wolinfo *); - u32 (*get_msglevel)(struct net_device *); - void (*set_msglevel)(struct net_device *, u32); - int (*nway_reset)(struct net_device *); - u32 (*get_link)(struct net_device *); - int (*get_link_ext_state)(struct net_device *, struct ethtool_link_ext_state_info *); - void (*get_link_ext_stats)(struct net_device *, struct ethtool_link_ext_stats *); - int (*get_eeprom_len)(struct net_device *); - int (*get_eeprom)(struct net_device *, struct ethtool_eeprom *, u8 *); - int (*set_eeprom)(struct net_device *, struct ethtool_eeprom *, u8 *); - int (*get_coalesce)(struct net_device *, struct ethtool_coalesce *, struct kernel_ethtool_coalesce *, struct netlink_ext_ack *); - int (*set_coalesce)(struct net_device *, struct ethtool_coalesce *, struct kernel_ethtool_coalesce *, struct netlink_ext_ack *); - void (*get_ringparam)(struct net_device *, struct ethtool_ringparam *, struct kernel_ethtool_ringparam *, struct netlink_ext_ack *); - int (*set_ringparam)(struct net_device *, struct ethtool_ringparam *, struct kernel_ethtool_ringparam *, struct netlink_ext_ack *); - void (*get_pause_stats)(struct net_device *, struct ethtool_pause_stats *); - void (*get_pauseparam)(struct net_device *, struct ethtool_pauseparam *); - int (*set_pauseparam)(struct net_device *, struct ethtool_pauseparam *); - void (*self_test)(struct net_device *, struct ethtool_test *, u64 *); - void (*get_strings)(struct net_device *, u32, u8 *); - int (*set_phys_id)(struct net_device *, enum ethtool_phys_id_state); - void (*get_ethtool_stats)(struct net_device *, struct ethtool_stats *, u64 *); - int (*begin)(struct net_device *); - void (*complete)(struct net_device *); - u32 (*get_priv_flags)(struct net_device *); - int (*set_priv_flags)(struct net_device *, u32); - int (*get_sset_count)(struct net_device *, int); - int (*get_rxnfc)(struct net_device *, struct ethtool_rxnfc *, u32 *); - int (*set_rxnfc)(struct net_device *, struct ethtool_rxnfc *); - int (*flash_device)(struct net_device *, struct ethtool_flash *); - int (*reset)(struct net_device *, u32 *); - u32 (*get_rxfh_key_size)(struct net_device *); - u32 (*get_rxfh_indir_size)(struct net_device *); - int (*get_rxfh)(struct net_device *, struct ethtool_rxfh_param *); - int (*set_rxfh)(struct net_device *, struct ethtool_rxfh_param *, struct netlink_ext_ack *); - int (*get_rxfh_fields)(struct net_device *, struct ethtool_rxfh_fields *); - int (*set_rxfh_fields)(struct net_device *, const struct ethtool_rxfh_fields *, struct netlink_ext_ack *); - int (*create_rxfh_context)(struct net_device *, struct ethtool_rxfh_context *, const struct ethtool_rxfh_param *, struct netlink_ext_ack *); - int (*modify_rxfh_context)(struct net_device *, struct ethtool_rxfh_context *, const struct ethtool_rxfh_param *, struct netlink_ext_ack *); - int (*remove_rxfh_context)(struct net_device *, struct ethtool_rxfh_context *, u32, struct netlink_ext_ack *); - void (*get_channels)(struct net_device *, struct ethtool_channels *); - int (*set_channels)(struct net_device *, struct ethtool_channels *); - int (*get_dump_flag)(struct net_device *, struct ethtool_dump *); - int (*get_dump_data)(struct net_device *, struct ethtool_dump *, void *); - int (*set_dump)(struct net_device *, struct ethtool_dump *); - int (*get_ts_info)(struct net_device *, struct kernel_ethtool_ts_info *); - void (*get_ts_stats)(struct net_device *, struct ethtool_ts_stats *); - int (*get_module_info)(struct net_device *, struct ethtool_modinfo *); - int (*get_module_eeprom)(struct net_device *, struct ethtool_eeprom *, u8 *); - int (*get_eee)(struct net_device *, struct ethtool_keee *); - int (*set_eee)(struct net_device *, struct ethtool_keee *); - int (*get_tunable)(struct net_device *, const struct ethtool_tunable *, void *); - int (*set_tunable)(struct net_device *, const struct ethtool_tunable *, const void *); - int (*get_per_queue_coalesce)(struct net_device *, u32, struct ethtool_coalesce *); - int (*set_per_queue_coalesce)(struct net_device *, u32, struct ethtool_coalesce *); - int (*get_link_ksettings)(struct net_device *, struct ethtool_link_ksettings *); - int (*set_link_ksettings)(struct net_device *, const struct ethtool_link_ksettings *); - void (*get_fec_stats)(struct net_device *, struct ethtool_fec_stats *); - int (*get_fecparam)(struct net_device *, struct ethtool_fecparam *); - int (*set_fecparam)(struct net_device *, struct ethtool_fecparam *); - void (*get_ethtool_phy_stats)(struct net_device *, struct ethtool_stats *, u64 *); - int (*get_phy_tunable)(struct net_device *, const struct ethtool_tunable *, void *); - int (*set_phy_tunable)(struct net_device *, const struct ethtool_tunable *, const void *); - int (*get_module_eeprom_by_page)(struct net_device *, const struct ethtool_module_eeprom *, struct netlink_ext_ack *); - int (*set_module_eeprom_by_page)(struct net_device *, const struct ethtool_module_eeprom *, struct netlink_ext_ack *); - void (*get_eth_phy_stats)(struct net_device *, struct ethtool_eth_phy_stats *); - void (*get_eth_mac_stats)(struct net_device *, struct ethtool_eth_mac_stats *); - void (*get_eth_ctrl_stats)(struct net_device *, struct ethtool_eth_ctrl_stats *); - void (*get_rmon_stats)(struct net_device *, struct ethtool_rmon_stats *, const struct ethtool_rmon_hist_range **); - int (*get_module_power_mode)(struct net_device *, struct ethtool_module_power_mode_params *, struct netlink_ext_ack *); - int (*set_module_power_mode)(struct net_device *, const struct ethtool_module_power_mode_params *, struct netlink_ext_ack *); - int (*get_mm)(struct net_device *, struct ethtool_mm_state *); - int (*set_mm)(struct net_device *, struct ethtool_mm_cfg *, struct netlink_ext_ack *); - void (*get_mm_stats)(struct net_device *, struct ethtool_mm_stats *); -}; - -struct ethtool_pause_stats { - enum ethtool_mac_stats_src src; - union { - struct { - u64 tx_pause_frames; - u64 rx_pause_frames; - }; - struct { - u64 tx_pause_frames; - u64 rx_pause_frames; - } stats; - }; -}; - -struct ethtool_pauseparam { - __u32 cmd; - __u32 autoneg; - __u32 rx_pause; - __u32 tx_pause; -}; - -struct ethtool_per_queue_op { - __u32 cmd; - __u32 sub_command; - __u32 queue_mask[128]; - char data[0]; -}; - -struct ethtool_perm_addr { - __u32 cmd; - __u32 size; - __u8 data[0]; -}; - -struct phy_plca_cfg; - -struct phy_plca_status; - -struct phy_tdr_config; - -struct ethtool_phy_ops { - int (*get_sset_count)(struct phy_device *); - int (*get_strings)(struct phy_device *, u8 *); - int (*get_stats)(struct phy_device *, struct ethtool_stats *, u64 *); - int (*get_plca_cfg)(struct phy_device *, struct phy_plca_cfg *); - int (*set_plca_cfg)(struct phy_device *, const struct phy_plca_cfg *, struct netlink_ext_ack *); - int (*get_plca_status)(struct phy_device *, struct phy_plca_status *); - int (*start_cable_test)(struct phy_device *, struct netlink_ext_ack *); - int (*start_cable_test_tdr)(struct phy_device *, struct netlink_ext_ack *, const struct phy_tdr_config *); -}; - -struct ethtool_phy_stats { - u64 rx_packets; - u64 rx_bytes; - u64 rx_errors; - u64 tx_packets; - u64 tx_bytes; - u64 tx_errors; -}; - -struct ethtool_pse_control_status { - u32 pw_d_id; - enum ethtool_podl_pse_admin_state podl_admin_state; - enum ethtool_podl_pse_pw_d_status podl_pw_status; - enum ethtool_c33_pse_admin_state c33_admin_state; - enum ethtool_c33_pse_pw_d_status c33_pw_status; - u32 c33_pw_class; - u32 c33_actual_pw; - struct ethtool_c33_pse_ext_state_info c33_ext_state_info; - u32 c33_avail_pw_limit; - struct ethtool_c33_pse_pw_limit_range *c33_pw_limit_ranges; - u32 c33_pw_limit_nb_ranges; - u32 prio_max; - u32 prio; -}; - -struct ethtool_regs { - __u32 cmd; - __u32 version; - __u32 len; - __u8 data[0]; -}; - -struct ethtool_ringparam { - __u32 cmd; - __u32 rx_max_pending; - __u32 rx_mini_max_pending; - __u32 rx_jumbo_max_pending; - __u32 tx_max_pending; - __u32 rx_pending; - __u32 rx_mini_pending; - __u32 rx_jumbo_pending; - __u32 tx_pending; -}; - -struct ethtool_rmon_hist_range { - u16 low; - u16 high; -}; - -struct ethtool_rmon_stats { - enum ethtool_mac_stats_src src; - union { - struct { - u64 undersize_pkts; - u64 oversize_pkts; - u64 fragments; - u64 jabbers; - u64 hist[11]; - u64 hist_tx[11]; - }; - struct { - u64 undersize_pkts; - u64 oversize_pkts; - u64 fragments; - u64 jabbers; - u64 hist[11]; - u64 hist_tx[11]; - } stats; - }; -}; - -struct flow_dissector_key_basic { - __be16 n_proto; - u8 ip_proto; - u8 padding; -}; - -struct flow_dissector_key_ipv4_addrs { - __be32 src; - __be32 dst; -}; - -struct flow_dissector_key_ipv6_addrs { - struct in6_addr src; - struct in6_addr dst; -}; - -struct flow_dissector_key_ports { - union { - __be32 ports; - struct { - __be16 src; - __be16 dst; - }; - }; -}; - -struct flow_dissector_key_ip { - __u8 tos; - __u8 ttl; -}; - -struct flow_dissector_key_vlan { - union { - struct { - u16 vlan_id: 12; - u16 vlan_dei: 1; - u16 vlan_priority: 3; - }; - __be16 vlan_tci; - }; - __be16 vlan_tpid; - __be16 vlan_eth_type; - u16 padding; -}; - -struct flow_dissector_key_eth_addrs { - unsigned char dst[6]; - unsigned char src[6]; -}; - -struct ethtool_rx_flow_key { - struct flow_dissector_key_basic basic; - union { - struct flow_dissector_key_ipv4_addrs ipv4; - struct flow_dissector_key_ipv6_addrs ipv6; - }; - struct flow_dissector_key_ports tp; - struct flow_dissector_key_ip ip; - struct flow_dissector_key_vlan vlan; - struct flow_dissector_key_eth_addrs eth_addrs; -}; - -struct flow_dissector { - long long unsigned int used_keys; - short unsigned int offset[33]; -}; - -struct ethtool_rx_flow_match { - struct flow_dissector dissector; - struct ethtool_rx_flow_key key; - struct ethtool_rx_flow_key mask; -}; - -struct flow_rule; - -struct ethtool_rx_flow_rule { - struct flow_rule *rule; - long unsigned int priv[0]; -}; - -struct ethtool_rx_flow_spec { - __u32 flow_type; - union ethtool_flow_union h_u; - struct ethtool_flow_ext h_ext; - union ethtool_flow_union m_u; - struct ethtool_flow_ext m_ext; - __u64 ring_cookie; - __u32 location; -}; - -struct ethtool_rx_flow_spec_input { - const struct ethtool_rx_flow_spec *fs; - u32 rss_ctx; -}; - -struct ethtool_rxfh { - __u32 cmd; - __u32 rss_context; - __u32 indir_size; - __u32 key_size; - __u8 hfunc; - __u8 input_xfrm; - __u8 rsvd8[2]; - __u32 rsvd32; - __u32 rss_config[0]; -}; - -struct ethtool_rxfh_context { - u32 indir_size; - u32 key_size; - u16 priv_size; - u8 hfunc; - u8 input_xfrm; - u8 indir_configured: 1; - u8 key_configured: 1; - u32 key_off; - long: 0; - u8 data[0]; -}; - -struct ethtool_rxfh_fields { - u32 data; - u32 flow_type; - u32 rss_context; -}; - -struct ethtool_rxfh_param { - u8 hfunc; - u32 indir_size; - u32 *indir; - u32 key_size; - u8 *key; - u32 rss_context; - u8 rss_delete; - u8 input_xfrm; -}; - -struct ethtool_rxnfc { - __u32 cmd; - __u32 flow_type; - __u64 data; - struct ethtool_rx_flow_spec fs; - union { - __u32 rule_cnt; - __u32 rss_context; - }; - __u32 rule_locs[0]; -}; - -struct ethtool_set_features_block { - __u32 valid; - __u32 requested; -}; - -struct ethtool_sfeatures { - __u32 cmd; - __u32 size; - struct ethtool_set_features_block features[0]; -}; - -struct ethtool_sset_info { - __u32 cmd; - __u32 reserved; - __u64 sset_mask; - __u32 data[0]; -}; - -struct ethtool_stats { - __u32 cmd; - __u32 n_stats; - __u64 data[0]; -}; - -struct ethtool_test { - __u32 cmd; - __u32 flags; - __u32 reserved; - __u32 len; - __u64 data[0]; -}; - -struct ethtool_ts_info { - __u32 cmd; - __u32 so_timestamping; - __s32 phc_index; - __u32 tx_types; - __u32 tx_reserved[3]; - __u32 rx_filters; - __u32 rx_reserved[3]; -}; - -struct ethtool_ts_stats { - union { - struct { - u64 pkts; - u64 onestep_pkts_unconfirmed; - u64 lost; - u64 err; - }; - struct { - u64 pkts; - u64 onestep_pkts_unconfirmed; - u64 lost; - u64 err; - } tx_stats; - }; -}; - -struct ethtool_tunable { - __u32 cmd; - __u32 id; - __u32 type_id; - __u32 len; - void *data[0]; -}; - -struct ethtool_value { - __u32 cmd; - __u32 data; -}; - -struct ethtool_wolinfo { - __u32 cmd; - __u32 supported; - __u32 wolopts; - __u8 sopass[6]; -}; - -struct input_handler; - -struct input_value; - -struct input_handle { - void *private; - int open; - const char *name; - struct input_dev *dev; - struct input_handler *handler; - unsigned int (*handle_events)(struct input_handle *, struct input_value *, unsigned int); - struct list_head d_node; - struct list_head h_node; -}; - -struct evdev_client; - -struct evdev { - int open; - struct input_handle handle; - struct evdev_client *grab; - struct list_head client_list; - spinlock_t client_lock; - struct mutex mutex; - struct device dev; - struct cdev cdev; - bool exist; -}; - -struct input_event { - __kernel_ulong_t __sec; - __kernel_ulong_t __usec; - __u16 type; - __u16 code; - __s32 value; -}; - -struct fasync_struct; - -struct evdev_client { - unsigned int head; - unsigned int tail; - unsigned int packet_head; - spinlock_t buffer_lock; - wait_queue_head_t wait; - struct fasync_struct *fasync; - struct evdev *evdev; - struct list_head node; - enum input_clock_type clk_type; - bool revoked; - long unsigned int *evmasks[32]; - unsigned int bufsize; - struct input_event buffer[0]; -}; - -struct event_trigger_data; - -struct event_trigger_ops; - -struct event_command { - struct list_head list; - char *name; - enum event_trigger_type trigger_type; - int flags; - int (*parse)(struct event_command *, struct trace_event_file *, char *, char *, char *); - int (*reg)(char *, struct event_trigger_data *, struct trace_event_file *); - void (*unreg)(char *, struct event_trigger_data *, struct trace_event_file *); - void (*unreg_all)(struct trace_event_file *); - int (*set_filter)(char *, struct event_trigger_data *, struct trace_event_file *); - const struct event_trigger_ops * (*get_trigger_ops)(char *, char *); -}; - -struct event_counter { - u32 count; - u32 flags; -}; - -struct event_file_link { - struct trace_event_file *file; - struct list_head list; -}; - -struct prog_entry; - -struct event_filter { - struct prog_entry *prog; - char *filter_string; -}; - -typedef void (*event_f)(struct perf_event *, struct perf_cpu_context *, struct perf_event_context *, void *); - -struct event_function_struct { - struct perf_event *event; - event_f func; - void *data; -}; - -struct event_header { - __be16 data_len; - __u8 notification_class: 3; - __u8 reserved1: 4; - __u8 nea: 1; - __u8 supp_event_class; -}; - -struct slot___2; - -struct event_info { - u32 event_type; - struct slot___2 *p_slot; - struct work_struct work; -}; - -struct event_mod_load { - struct list_head list; - char *module; - char *match; - char *system; - char *event; -}; - -struct event_probe_data { - struct trace_event_file *file; - long unsigned int count; - int ref; - bool enable; -}; - -struct event_subsystem { - struct list_head list; - const char *name; - struct event_filter *filter; - int ref_count; -}; - -struct event_trigger_data { - long unsigned int count; - int ref; - int flags; - const struct event_trigger_ops *ops; - struct event_command *cmd_ops; - struct event_filter *filter; - char *filter_str; - void *private_data; - bool paused; - bool paused_tmp; - struct list_head list; - char *name; - struct list_head named_list; - struct event_trigger_data *named_data; -}; - -struct event_trigger_ops { - void (*trigger)(struct event_trigger_data *, struct trace_buffer *, void *, struct ring_buffer_event *); - int (*init)(struct event_trigger_data *); - void (*free)(struct event_trigger_data *); - int (*print)(struct seq_file *, struct event_trigger_data *); -}; - -struct eventfd_ctx { - struct kref kref; - wait_queue_head_t wqh; - __u64 count; - unsigned int flags; - int id; -}; - -struct eventfs_attr { - int mode; - kuid_t uid; - kgid_t gid; -}; - -typedef int (*eventfs_callback)(const char *, umode_t *, void **, const struct file_operations **); - -typedef void (*eventfs_release)(const char *, void *); - -struct eventfs_entry { - const char *name; - eventfs_callback callback; - eventfs_release release; -}; - -struct eventfs_inode { - union { - struct list_head list; - struct callback_head rcu; - }; - struct list_head children; - const struct eventfs_entry *entries; - const char *name; - struct eventfs_attr *entry_attrs; - void *data; - struct eventfs_attr attr; - struct kref kref; - unsigned int is_freed: 1; - unsigned int is_events: 1; - unsigned int nr_entries: 30; - unsigned int ino; -}; - -struct eventfs_root_inode { - struct eventfs_inode ei; - struct dentry *events_dir; -}; - -struct eventpoll { - struct mutex mtx; - wait_queue_head_t wq; - wait_queue_head_t poll_wait; - struct list_head rdllist; - spinlock_t lock; - struct rb_root_cached rbr; - struct epitem *ovflist; - struct wakeup_source *ws; - struct user_struct *user; - struct file *file; - u64 gen; - struct hlist_head refs; - u8 loop_check_depth; - refcount_t refcount; - unsigned int napi_id; - u32 busy_poll_usecs; - u16 busy_poll_budget; - bool prefer_busy_poll; -}; - -struct ima_digest_data_hdr { - u8 algo; - u8 length; - union { - struct { - u8 unused; - u8 type; - } sha1; - struct { - u8 type; - u8 algo; - } ng; - u8 data[2]; - } xattr; -}; - -struct evm_digest { - struct ima_digest_data_hdr hdr; - char digest[64]; -}; - -struct integrity_inode_attributes { - u64 version; - long unsigned int ino; - dev_t dev; -}; - -struct evm_iint_cache { - long unsigned int flags; - enum integrity_status evm_status: 4; - struct integrity_inode_attributes metadata_inode; -}; - -struct evm_ima_xattr_data_hdr { - u8 type; -}; - -struct evm_ima_xattr_data { - union { - struct { - u8 type; - }; - struct evm_ima_xattr_data_hdr hdr; - }; - u8 data[0]; -}; - -struct evm_xattr { - struct evm_ima_xattr_data_hdr data; - u8 digest[20]; -}; - -struct evtchn_alloc_unbound { - domid_t dom; - domid_t remote_dom; - evtchn_port_t port; -}; - -struct evtchn_bind_interdomain { - domid_t remote_dom; - evtchn_port_t remote_port; - evtchn_port_t local_port; -}; - -struct evtchn_bind_ipi { - uint32_t vcpu; - evtchn_port_t port; -}; - -struct evtchn_bind_pirq { - uint32_t pirq; - uint32_t flags; - evtchn_port_t port; -}; - -struct evtchn_bind_vcpu { - evtchn_port_t port; - uint32_t vcpu; -}; - -struct evtchn_bind_virq { - uint32_t virq; - uint32_t vcpu; - evtchn_port_t port; -}; - -struct evtchn_close { - evtchn_port_t port; -}; - -struct evtchn_expand_array { - uint64_t array_gfn; -}; - -struct evtchn_fifo_control_block { - uint32_t ready; - uint32_t _rsvd; - event_word_t head[16]; -}; - -struct evtchn_fifo_queue { - uint32_t head[16]; -}; - -struct evtchn_init_control { - uint64_t control_gfn; - uint32_t offset; - uint32_t vcpu; - uint8_t link_bits; - uint8_t _pad[7]; -}; - -struct evtchn_loop_ctrl { - ktime_t timeout; - unsigned int count; - bool defer_eoi; -}; - -struct evtchn_ops { - unsigned int (*max_channels)(void); - unsigned int (*nr_channels)(void); - int (*setup)(evtchn_port_t); - void (*remove)(evtchn_port_t, unsigned int); - void (*bind_to_cpu)(evtchn_port_t, unsigned int, unsigned int); - void (*clear_pending)(evtchn_port_t); - void (*set_pending)(evtchn_port_t); - bool (*is_pending)(evtchn_port_t); - void (*mask)(evtchn_port_t); - void (*unmask)(evtchn_port_t); - void (*handle_events)(unsigned int, struct evtchn_loop_ctrl *); - void (*resume)(void); - int (*percpu_init)(unsigned int); - int (*percpu_deinit)(unsigned int); -}; - -struct evtchn_send { - evtchn_port_t port; -}; - -struct evtchn_set_priority { - evtchn_port_t port; - uint32_t priority; -}; - -struct evtchn_status { - domid_t dom; - evtchn_port_t port; - uint32_t status; - uint32_t vcpu; - union { - struct { - domid_t dom; - } unbound; - struct { - domid_t dom; - evtchn_port_t port; - } interdomain; - uint32_t pirq; - uint32_t virq; - } u; -}; - -struct evtchn_unmask { - evtchn_port_t port; -}; - -struct ewma_pkt_len { - long unsigned int internal; -}; - -struct exception_stacks { - char DF_stack_guard[0]; - char DF_stack[8192]; - char NMI_stack_guard[0]; - char NMI_stack[8192]; - char DB_stack_guard[0]; - char DB_stack[8192]; - char MCE_stack_guard[0]; - char MCE_stack[8192]; - char VC_stack_guard[0]; - char VC_stack[8192]; - char VC2_stack_guard[0]; - char VC2_stack[8192]; - char IST_top_guard[0]; -}; - -struct exception_table_entry { - int insn; - int fixup; - int data; -}; - -struct exceptional_entry_key { - struct xarray *xa; - long unsigned int entry_start; -}; - -struct exec_proc_event { - __kernel_pid_t process_pid; - __kernel_pid_t process_tgid; -}; - -struct maple_tree { - union { - spinlock_t ma_lock; - lockdep_map_p ma_external_lock; - }; - unsigned int ma_flags; - void *ma_root; -}; - -struct execmem_cache { - struct mutex mutex; - struct maple_tree busy_areas; - struct maple_tree free_areas; - unsigned int pending_free_cnt; -}; - -struct execmem_range { - long unsigned int start; - long unsigned int end; - long unsigned int fallback_start; - long unsigned int fallback_end; - pgprot_t pgprot; - unsigned int alignment; - enum execmem_range_flags flags; -}; - -struct execmem_info { - struct execmem_range ranges[5]; -}; - -struct execute_work { - struct work_struct work; -}; - -struct exit_proc_event { - __kernel_pid_t process_pid; - __kernel_pid_t process_tgid; - __u32 exit_code; - __u32 exit_signal; - __kernel_pid_t parent_pid; - __kernel_pid_t parent_tgid; -}; - -struct fid; - -struct iomap; - -struct handle_to_path_ctx; - -struct export_operations { - int (*encode_fh)(struct inode *, __u32 *, int *, struct inode *); - struct dentry * (*fh_to_dentry)(struct super_block *, struct fid *, int, int); - struct dentry * (*fh_to_parent)(struct super_block *, struct fid *, int, int); - int (*get_name)(struct dentry *, char *, struct dentry *); - struct dentry * (*get_parent)(struct dentry *); - int (*commit_metadata)(struct inode *); - int (*get_uuid)(struct super_block *, u8 *, u32 *, u64 *); - int (*map_blocks)(struct inode *, loff_t, u64, struct iomap *, bool, u32 *); - int (*commit_blocks)(struct inode *, struct iomap *, int, struct iattr *); - int (*permission)(struct handle_to_path_ctx *, unsigned int); - struct file * (*open)(struct path *, unsigned int); - long unsigned int flags; -}; - -struct expresswire_timing { - long unsigned int poweroff_us; - long unsigned int detect_delay_us; - long unsigned int detect_us; - long unsigned int data_start_us; - long unsigned int end_of_data_low_us; - long unsigned int end_of_data_high_us; - long unsigned int short_bitset_us; - long unsigned int long_bitset_us; -}; - -struct expresswire_common_props { - struct gpio_desc *ctrl_gpio; - struct expresswire_timing timing; -}; - -struct ext4_free_extent { - ext4_lblk_t fe_logical; - ext4_grpblk_t fe_start; - ext4_group_t fe_group; - ext4_grpblk_t fe_len; -}; - -struct ext4_buddy; - -struct ext4_prealloc_space; - -struct ext4_locality_group; - -struct ext4_allocation_context { - struct inode *ac_inode; - struct super_block *ac_sb; - struct ext4_free_extent ac_o_ex; - struct ext4_free_extent ac_g_ex; - struct ext4_free_extent ac_b_ex; - struct ext4_free_extent ac_f_ex; - ext4_grpblk_t ac_orig_goal_len; - ext4_group_t ac_prefetch_grp; - unsigned int ac_prefetch_ios; - unsigned int ac_prefetch_nr; - int ac_first_err; - __u32 ac_flags; - __u16 ac_groups_scanned; - __u16 ac_found; - __u16 ac_cX_found[5]; - __u16 ac_tail; - __u16 ac_buddy; - __u8 ac_status; - __u8 ac_criteria; - __u8 ac_2order; - __u8 ac_op; - struct ext4_buddy *ac_e4b; - struct folio *ac_bitmap_folio; - struct folio *ac_buddy_folio; - struct ext4_prealloc_space *ac_pa; - struct ext4_locality_group *ac_lg; -}; - -struct ext4_allocation_request { - struct inode *inode; - unsigned int len; - ext4_lblk_t logical; - ext4_lblk_t lleft; - ext4_lblk_t lright; - ext4_fsblk_t goal; - ext4_fsblk_t pleft; - ext4_fsblk_t pright; - unsigned int flags; -}; - -struct ext4_attr { - struct attribute attr; - short int attr_id; - short int attr_ptr; - short unsigned int attr_size; - union { - int offset; - void *explicit_ptr; - } u; -}; - -struct ext4_group_info; - -struct ext4_buddy { - struct folio *bd_buddy_folio; - void *bd_buddy; - struct folio *bd_bitmap_folio; - void *bd_bitmap; - struct ext4_group_info *bd_info; - struct super_block *bd_sb; - __u16 bd_blkbits; - ext4_group_t bd_group; -}; - -struct ext4_dir_entry { - __le32 inode; - __le16 rec_len; - __le16 name_len; - char name[255]; -}; - -struct ext4_dir_entry_2 { - __le32 inode; - __le16 rec_len; - __u8 name_len; - __u8 file_type; - char name[255]; -}; - -struct ext4_dir_entry_hash { - __le32 hash; - __le32 minor_hash; -}; - -struct ext4_dir_entry_tail { - __le32 det_reserved_zero1; - __le16 det_rec_len; - __u8 det_reserved_zero2; - __u8 det_reserved_ft; - __le32 det_checksum; -}; - -struct ext4_err_translation { - int code; - int errno; -}; - -struct ext4_es_stats { - long unsigned int es_stats_shrunk; - struct percpu_counter es_stats_cache_hits; - struct percpu_counter es_stats_cache_misses; - u64 es_stats_scan_time; - u64 es_stats_max_scan_time; - struct percpu_counter es_stats_all_cnt; - struct percpu_counter es_stats_shk_cnt; -}; - -struct extent_status; - -struct ext4_es_tree { - struct rb_root root; - struct extent_status *cache_es; -}; - -struct ext4_extent; - -struct ext4_extent_idx; - -struct ext4_extent_header; - -struct ext4_ext_path { - ext4_fsblk_t p_block; - __u16 p_depth; - __u16 p_maxdepth; - struct ext4_extent *p_ext; - struct ext4_extent_idx *p_idx; - struct ext4_extent_header *p_hdr; - struct buffer_head *p_bh; -}; - -struct ext4_extent { - __le32 ee_block; - __le16 ee_len; - __le16 ee_start_hi; - __le32 ee_start_lo; -}; - -struct ext4_extent_header { - __le16 eh_magic; - __le16 eh_entries; - __le16 eh_max; - __le16 eh_depth; - __le32 eh_generation; -}; - -struct ext4_extent_idx { - __le32 ei_block; - __le32 ei_leaf_lo; - __le16 ei_leaf_hi; - __u16 ei_unused; -}; - -struct ext4_extent_tail { - __le32 et_checksum; -}; - -struct ext4_fc_add_range { - __le32 fc_ino; - __u8 fc_ex[12]; -}; - -struct ext4_fc_alloc_region { - ext4_lblk_t lblk; - ext4_fsblk_t pblk; - int ino; - int len; -}; - -struct ext4_fc_del_range { - __le32 fc_ino; - __le32 fc_lblk; - __le32 fc_len; -}; - -struct ext4_fc_dentry_info { - __le32 fc_parent_ino; - __le32 fc_ino; - __u8 fc_dname[0]; -}; - -struct name_snapshot { - struct qstr name; - union shortname_store inline_name; -}; - -struct ext4_fc_dentry_update { - int fcd_op; - int fcd_parent; - int fcd_ino; - struct name_snapshot fcd_name; - struct list_head fcd_list; - struct list_head fcd_dilist; -}; - -struct ext4_fc_head { - __le32 fc_features; - __le32 fc_tid; -}; - -struct ext4_fc_inode { - __le32 fc_ino; - __u8 fc_raw_inode[0]; -}; - -struct ext4_fc_replay_state { - int fc_replay_num_tags; - int fc_replay_expected_off; - int fc_current_pass; - int fc_cur_tag; - int fc_crc; - struct ext4_fc_alloc_region *fc_regions; - int fc_regions_size; - int fc_regions_used; - int fc_regions_valid; - int *fc_modified_inodes; - int fc_modified_inodes_used; - int fc_modified_inodes_size; -}; - -struct ext4_fc_stats { - unsigned int fc_ineligible_reason_count[10]; - long unsigned int fc_num_commits; - long unsigned int fc_ineligible_commits; - long unsigned int fc_failed_commits; - long unsigned int fc_skipped_commits; - long unsigned int fc_numblks; - u64 s_fc_avg_commit_time; -}; - -struct ext4_fc_tail { - __le32 fc_tid; - __le32 fc_crc; -}; - -struct ext4_fc_tl { - __le16 fc_tag; - __le16 fc_len; -}; - -struct ext4_fc_tl_mem { - u16 fc_tag; - u16 fc_len; -}; - -struct fscrypt_str { - unsigned char *name; - u32 len; -}; - -struct ext4_filename { - const struct qstr *usr_fname; - struct fscrypt_str disk_name; - struct dx_hash_info hinfo; - struct fscrypt_str crypto_buf; - struct qstr cf_name; -}; - -struct ext4_free_data { - struct list_head efd_list; - struct rb_node efd_node; - ext4_group_t efd_group; - ext4_grpblk_t efd_start_cluster; - ext4_grpblk_t efd_count; - tid_t efd_tid; -}; - -union fscrypt_policy; - -struct fscrypt_dummy_policy { - const union fscrypt_policy *policy; -}; - -struct ext4_fs_context { - char *s_qf_names[3]; - struct fscrypt_dummy_policy dummy_enc_policy; - int s_jquota_fmt; - short unsigned int qname_spec; - long unsigned int vals_s_flags; - long unsigned int mask_s_flags; - long unsigned int journal_devnum; - long unsigned int s_commit_interval; - long unsigned int s_stripe; - unsigned int s_inode_readahead_blks; - unsigned int s_want_extra_isize; - unsigned int s_li_wait_mult; - unsigned int s_max_dir_size_kb; - unsigned int journal_ioprio; - unsigned int vals_s_mount_opt; - unsigned int mask_s_mount_opt; - unsigned int vals_s_mount_opt2; - unsigned int mask_s_mount_opt2; - unsigned int opt_flags; - unsigned int spec; - u32 s_max_batch_time; - u32 s_min_batch_time; - kuid_t s_resuid; - kgid_t s_resgid; - ext4_fsblk_t s_sb_block; -}; - -struct ext4_fsmap { - struct list_head fmr_list; - dev_t fmr_device; - uint32_t fmr_flags; - uint64_t fmr_physical; - uint64_t fmr_owner; - uint64_t fmr_length; -}; - -struct ext4_fsmap_head { - uint32_t fmh_iflags; - uint32_t fmh_oflags; - unsigned int fmh_count; - unsigned int fmh_entries; - struct ext4_fsmap fmh_keys[2]; -}; - -struct ext4_getfsmap_info; - -struct ext4_getfsmap_dev { - int (*gfd_fn)(struct super_block *, struct ext4_fsmap *, struct ext4_getfsmap_info *); - u32 gfd_dev; -}; - -typedef int (*ext4_fsmap_format_t)(struct ext4_fsmap *, void *); - -struct ext4_getfsmap_info { - struct ext4_fsmap_head *gfi_head; - ext4_fsmap_format_t gfi_formatter; - void *gfi_format_arg; - ext4_fsblk_t gfi_next_fsblk; - u32 gfi_dev; - ext4_group_t gfi_agno; - struct ext4_fsmap gfi_low; - struct ext4_fsmap gfi_high; - struct ext4_fsmap gfi_lastfree; - struct list_head gfi_meta_list; - bool gfi_last; -}; - -struct ext4_group_desc { - __le32 bg_block_bitmap_lo; - __le32 bg_inode_bitmap_lo; - __le32 bg_inode_table_lo; - __le16 bg_free_blocks_count_lo; - __le16 bg_free_inodes_count_lo; - __le16 bg_used_dirs_count_lo; - __le16 bg_flags; - __le32 bg_exclude_bitmap_lo; - __le16 bg_block_bitmap_csum_lo; - __le16 bg_inode_bitmap_csum_lo; - __le16 bg_itable_unused_lo; - __le16 bg_checksum; - __le32 bg_block_bitmap_hi; - __le32 bg_inode_bitmap_hi; - __le32 bg_inode_table_hi; - __le16 bg_free_blocks_count_hi; - __le16 bg_free_inodes_count_hi; - __le16 bg_used_dirs_count_hi; - __le16 bg_itable_unused_hi; - __le32 bg_exclude_bitmap_hi; - __le16 bg_block_bitmap_csum_hi; - __le16 bg_inode_bitmap_csum_hi; - __u32 bg_reserved; -}; - -struct ext4_group_info { - long unsigned int bb_state; - struct rb_root bb_free_root; - ext4_grpblk_t bb_first_free; - ext4_grpblk_t bb_free; - ext4_grpblk_t bb_fragments; - int bb_avg_fragment_size_order; - ext4_grpblk_t bb_largest_free_order; - ext4_group_t bb_group; - struct list_head bb_prealloc_list; - struct rw_semaphore alloc_sem; - ext4_grpblk_t bb_counters[0]; -}; - -struct ext4_iloc { - struct buffer_head *bh; - long unsigned int offset; - ext4_group_t block_group; -}; - -struct ext4_inode { - __le16 i_mode; - __le16 i_uid; - __le32 i_size_lo; - __le32 i_atime; - __le32 i_ctime; - __le32 i_mtime; - __le32 i_dtime; - __le16 i_gid; - __le16 i_links_count; - __le32 i_blocks_lo; - __le32 i_flags; - union { - struct { - __le32 l_i_version; - } linux1; - struct { - __u32 h_i_translator; - } hurd1; - struct { - __u32 m_i_reserved1; - } masix1; - } osd1; - __le32 i_block[15]; - __le32 i_generation; - __le32 i_file_acl_lo; - __le32 i_size_high; - __le32 i_obso_faddr; - union { - struct { - __le16 l_i_blocks_high; - __le16 l_i_file_acl_high; - __le16 l_i_uid_high; - __le16 l_i_gid_high; - __le16 l_i_checksum_lo; - __le16 l_i_reserved; - } linux2; - struct { - __le16 h_i_reserved1; - __u16 h_i_mode_high; - __u16 h_i_uid_high; - __u16 h_i_gid_high; - __u32 h_i_author; - } hurd2; - struct { - __le16 h_i_reserved1; - __le16 m_i_file_acl_high; - __u32 m_i_reserved2[2]; - } masix2; - } osd2; - __le16 i_extra_isize; - __le16 i_checksum_hi; - __le32 i_ctime_extra; - __le32 i_mtime_extra; - __le32 i_atime_extra; - __le32 i_crtime; - __le32 i_crtime_extra; - __le32 i_version_hi; - __le32 i_projid; -}; - -struct ext4_pending_tree { - struct rb_root root; -}; - -struct jbd2_inode; - -struct ext4_inode_info { - __le32 i_data[15]; - __u32 i_dtime; - ext4_fsblk_t i_file_acl; - ext4_group_t i_block_group; - ext4_lblk_t i_dir_start_lookup; - long unsigned int i_flags; - struct rw_semaphore xattr_sem; - union { - struct list_head i_orphan; - unsigned int i_orphan_idx; - }; - struct list_head i_fc_dilist; - struct list_head i_fc_list; - ext4_lblk_t i_fc_lblk_start; - ext4_lblk_t i_fc_lblk_len; - spinlock_t i_raw_lock; - wait_queue_head_t i_fc_wait; - spinlock_t i_fc_lock; - loff_t i_disksize; - struct rw_semaphore i_data_sem; - struct inode vfs_inode; - struct jbd2_inode *jinode; - struct timespec64 i_crtime; - atomic_t i_prealloc_active; - unsigned int i_reserved_data_blocks; - struct rb_root i_prealloc_node; - rwlock_t i_prealloc_lock; - struct ext4_es_tree i_es_tree; - rwlock_t i_es_lock; - struct list_head i_es_list; - unsigned int i_es_all_nr; - unsigned int i_es_shk_nr; - ext4_lblk_t i_es_shrink_lblk; - ext4_group_t i_last_alloc_group; - struct ext4_pending_tree i_pending_tree; - __u16 i_extra_isize; - u16 i_inline_off; - u16 i_inline_size; - qsize_t i_reserved_quota; - spinlock_t i_block_reservation_lock; - spinlock_t i_completed_io_lock; - struct list_head i_rsv_conversion_list; - struct work_struct i_rsv_conversion_work; - tid_t i_sync_tid; - tid_t i_datasync_tid; - struct dquot *i_dquot[3]; - __u32 i_csum_seed; - kprojid_t i_projid; -}; - -struct jbd2_journal_handle; - -typedef struct jbd2_journal_handle handle_t; - -struct ext4_io_end { - struct list_head list; - handle_t *handle; - struct inode *inode; - struct bio *bio; - unsigned int flag; - refcount_t count; - struct list_head list_vec; -}; - -typedef struct ext4_io_end ext4_io_end_t; - -struct ext4_io_end_vec { - struct list_head list; - loff_t offset; - ssize_t size; -}; - -struct ext4_io_submit { - struct writeback_control *io_wbc; - struct bio *io_bio; - ext4_io_end_t *io_end; - sector_t io_next_block; -}; - -struct jbd2_buffer_trigger_type { - void (*t_frozen)(struct jbd2_buffer_trigger_type *, struct buffer_head *, void *, size_t); - void (*t_abort)(struct jbd2_buffer_trigger_type *, struct buffer_head *); -}; - -struct ext4_journal_trigger { - struct jbd2_buffer_trigger_type tr_triggers; - struct super_block *sb; -}; - -struct ext4_lazy_init { - long unsigned int li_state; - struct list_head li_request_list; - struct mutex li_list_mtx; -}; - -struct ext4_li_request { - struct super_block *lr_super; - enum ext4_li_mode lr_mode; - ext4_group_t lr_first_not_zeroed; - ext4_group_t lr_next_group; - struct list_head lr_request; - long unsigned int lr_next_sched; - long unsigned int lr_timeout; -}; - -struct ext4_locality_group { - struct mutex lg_mutex; - struct list_head lg_prealloc_list[10]; - spinlock_t lg_prealloc_lock; -}; - -struct ext4_map_blocks { - ext4_fsblk_t m_pblk; - ext4_lblk_t m_lblk; - unsigned int m_len; - unsigned int m_flags; -}; - -struct ext4_mount_options { - long unsigned int s_mount_opt; - long unsigned int s_mount_opt2; - kuid_t s_resuid; - kgid_t s_resgid; - long unsigned int s_commit_interval; - u32 s_min_batch_time; - u32 s_max_batch_time; - int s_jquota_fmt; - char *s_qf_names[3]; -}; - -struct ext4_new_group_data; - -struct ext4_new_flex_group_data { - struct ext4_new_group_data *groups; - __u16 *bg_flags; - ext4_group_t resize_bg; - ext4_group_t count; -}; - -struct ext4_new_group_data { - __u32 group; - __u64 block_bitmap; - __u64 inode_bitmap; - __u64 inode_table; - __u32 blocks_count; - __u16 reserved_blocks; - __u16 mdata_blocks; - __u32 free_clusters_count; -}; - -struct ext4_new_group_input { - __u32 group; - __u64 block_bitmap; - __u64 inode_bitmap; - __u64 inode_table; - __u32 blocks_count; - __u16 reserved_blocks; - __u16 unused; -}; - -struct ext4_orphan_block { - atomic_t ob_free_entries; - struct buffer_head *ob_bh; -}; - -struct ext4_orphan_block_tail { - __le32 ob_magic; - __le32 ob_checksum; -}; - -struct ext4_orphan_info { - int of_blocks; - __u32 of_csum_seed; - struct ext4_orphan_block *of_binfo; -}; - -struct ext4_prealloc_space { - union { - struct rb_node inode_node; - struct list_head lg_list; - } pa_node; - struct list_head pa_group_list; - union { - struct list_head pa_tmp_list; - struct callback_head pa_rcu; - } u; - spinlock_t pa_lock; - atomic_t pa_count; - unsigned int pa_deleted; - ext4_fsblk_t pa_pstart; - ext4_lblk_t pa_lstart; - ext4_grpblk_t pa_len; - ext4_grpblk_t pa_free; - short unsigned int pa_type; - union { - rwlock_t *inode_lock; - spinlock_t *lg_lock; - } pa_node_lock; - struct inode *pa_inode; -}; - -struct ext4_rcu_ptr { - struct callback_head rcu; - void *ptr; -}; - -struct ext4_renament { - struct inode *dir; - struct dentry *dentry; - struct inode *inode; - bool is_dir; - int dir_nlink_delta; - struct buffer_head *bh; - struct ext4_dir_entry_2 *de; - int inlined; - struct buffer_head *dir_bh; - struct ext4_dir_entry_2 *parent_de; - int dir_inlined; -}; - -struct ext4_sb_encodings { - __u16 magic; - char *name; - unsigned int version; -}; - -struct rcu_sync { - int gp_state; - int gp_count; - wait_queue_head_t gp_wait; - struct callback_head cb_head; -}; - -struct percpu_rw_semaphore { - struct rcu_sync rss; - unsigned int *read_count; - struct rcuwait writer; - wait_queue_head_t waiters; - atomic_t block; -}; - -struct ext4_super_block; - -struct journal_s; - -struct ext4_system_blocks; - -struct flex_groups; - -struct shrinker; - -struct mb_cache; - -struct ext4_sb_info { - long unsigned int s_desc_size; - long unsigned int s_inodes_per_block; - long unsigned int s_blocks_per_group; - long unsigned int s_clusters_per_group; - long unsigned int s_inodes_per_group; - long unsigned int s_itb_per_group; - long unsigned int s_gdb_count; - long unsigned int s_desc_per_block; - ext4_group_t s_groups_count; - ext4_group_t s_blockfile_groups; - long unsigned int s_overhead; - unsigned int s_cluster_ratio; - unsigned int s_cluster_bits; - loff_t s_bitmap_maxbytes; - struct buffer_head *s_sbh; - struct ext4_super_block *s_es; - struct buffer_head **s_group_desc; - unsigned int s_mount_opt; - unsigned int s_mount_opt2; - long unsigned int s_mount_flags; - unsigned int s_def_mount_opt; - unsigned int s_def_mount_opt2; - ext4_fsblk_t s_sb_block; - atomic64_t s_resv_clusters; - kuid_t s_resuid; - kgid_t s_resgid; - short unsigned int s_mount_state; - short unsigned int s_pad; - int s_addr_per_block_bits; - int s_desc_per_block_bits; - int s_inode_size; - int s_first_ino; - unsigned int s_inode_readahead_blks; - unsigned int s_inode_goal; - u32 s_hash_seed[4]; - int s_def_hash_version; - int s_hash_unsigned; - struct percpu_counter s_freeclusters_counter; - struct percpu_counter s_freeinodes_counter; - struct percpu_counter s_dirs_counter; - struct percpu_counter s_dirtyclusters_counter; - struct percpu_counter s_sra_exceeded_retry_limit; - struct blockgroup_lock *s_blockgroup_lock; - struct proc_dir_entry *s_proc; - struct kobject s_kobj; - struct completion s_kobj_unregister; - struct super_block *s_sb; - struct buffer_head *s_mmp_bh; - struct journal_s *s_journal; - long unsigned int s_ext4_flags; - struct mutex s_orphan_lock; - struct list_head s_orphan; - struct ext4_orphan_info s_orphan_info; - long unsigned int s_commit_interval; - u32 s_max_batch_time; - u32 s_min_batch_time; - struct file *s_journal_bdev_file; - char *s_qf_names[3]; - int s_jquota_fmt; - unsigned int s_want_extra_isize; - struct ext4_system_blocks *s_system_blks; - struct ext4_group_info ***s_group_info; - struct inode *s_buddy_cache; - spinlock_t s_md_lock; - short unsigned int *s_mb_offsets; - unsigned int *s_mb_maxs; - unsigned int s_group_info_size; - atomic_t s_mb_free_pending; - struct list_head s_freed_data_list[2]; - struct list_head s_discard_list; - struct work_struct s_discard_work; - atomic_t s_retry_alloc_pending; - struct xarray *s_mb_avg_fragment_size; - struct xarray *s_mb_largest_free_orders; - long unsigned int s_stripe; - unsigned int s_mb_max_linear_groups; - unsigned int s_mb_stream_request; - unsigned int s_mb_max_to_scan; - unsigned int s_mb_min_to_scan; - unsigned int s_mb_stats; - unsigned int s_mb_order2_reqs; - unsigned int s_mb_group_prealloc; - unsigned int s_max_dir_size_kb; - unsigned int s_mb_prefetch; - unsigned int s_mb_prefetch_limit; - unsigned int s_mb_best_avail_max_trim_order; - unsigned int s_sb_update_sec; - unsigned int s_sb_update_kb; - ext4_group_t *s_mb_last_groups; - unsigned int s_mb_nr_global_goals; - atomic_t s_bal_reqs; - atomic_t s_bal_success; - atomic_t s_bal_allocated; - atomic_t s_bal_ex_scanned; - atomic_t s_bal_cX_ex_scanned[5]; - atomic_t s_bal_groups_scanned; - atomic_t s_bal_goals; - atomic_t s_bal_stream_goals; - atomic_t s_bal_len_goals; - atomic_t s_bal_breaks; - atomic_t s_bal_2orders; - atomic64_t s_bal_cX_groups_considered[5]; - atomic64_t s_bal_cX_hits[5]; - atomic64_t s_bal_cX_failed[5]; - atomic_t s_mb_buddies_generated; - atomic64_t s_mb_generation_time; - atomic_t s_mb_lost_chunks; - atomic_t s_mb_preallocated; - atomic_t s_mb_discarded; - atomic_t s_lock_busy; - struct ext4_locality_group *s_locality_groups; - long unsigned int s_sectors_written_start; - u64 s_kbytes_written; - unsigned int s_extent_max_zeroout_kb; - unsigned int s_log_groups_per_flex; - struct flex_groups **s_flex_groups; - ext4_group_t s_flex_groups_allocated; - struct workqueue_struct *rsv_conversion_wq; - struct timer_list s_err_report; - struct ext4_li_request *s_li_request; - unsigned int s_li_wait_mult; - struct task_struct *s_mmp_tsk; - long unsigned int s_last_trim_minblks; - __u32 s_csum_seed; - struct shrinker *s_es_shrinker; - struct list_head s_es_list; - long int s_es_nr_inode; - struct ext4_es_stats s_es_stats; - struct mb_cache *s_ea_block_cache; - struct mb_cache *s_ea_inode_cache; - long: 64; - long: 64; - long: 64; - long: 64; - spinlock_t s_es_lock; - struct ext4_journal_trigger s_journal_triggers[1]; - struct ratelimit_state s_err_ratelimit_state; - struct ratelimit_state s_warning_ratelimit_state; - struct ratelimit_state s_msg_ratelimit_state; - atomic_t s_warning_count; - atomic_t s_msg_count; - struct fscrypt_dummy_policy s_dummy_enc_policy; - struct percpu_rw_semaphore s_writepages_rwsem; - struct dax_device *s_daxdev; - u64 s_dax_part_off; - errseq_t s_bdev_wb_err; - spinlock_t s_bdev_wb_lock; - spinlock_t s_error_lock; - int s_add_error_count; - int s_first_error_code; - __u32 s_first_error_line; - __u32 s_first_error_ino; - __u64 s_first_error_block; - const char *s_first_error_func; - time64_t s_first_error_time; - int s_last_error_code; - __u32 s_last_error_line; - __u32 s_last_error_ino; - __u64 s_last_error_block; - const char *s_last_error_func; - time64_t s_last_error_time; - struct work_struct s_sb_upd_work; - unsigned int s_awu_min; - unsigned int s_awu_max; - atomic_t s_fc_subtid; - struct list_head s_fc_q[2]; - struct list_head s_fc_dentry_q[2]; - unsigned int s_fc_bytes; - struct mutex s_fc_lock; - struct buffer_head *s_fc_bh; - struct ext4_fc_stats s_fc_stats; - tid_t s_fc_ineligible_tid; - struct ext4_fc_replay_state s_fc_replay_state; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct ext4_super_block { - __le32 s_inodes_count; - __le32 s_blocks_count_lo; - __le32 s_r_blocks_count_lo; - __le32 s_free_blocks_count_lo; - __le32 s_free_inodes_count; - __le32 s_first_data_block; - __le32 s_log_block_size; - __le32 s_log_cluster_size; - __le32 s_blocks_per_group; - __le32 s_clusters_per_group; - __le32 s_inodes_per_group; - __le32 s_mtime; - __le32 s_wtime; - __le16 s_mnt_count; - __le16 s_max_mnt_count; - __le16 s_magic; - __le16 s_state; - __le16 s_errors; - __le16 s_minor_rev_level; - __le32 s_lastcheck; - __le32 s_checkinterval; - __le32 s_creator_os; - __le32 s_rev_level; - __le16 s_def_resuid; - __le16 s_def_resgid; - __le32 s_first_ino; - __le16 s_inode_size; - __le16 s_block_group_nr; - __le32 s_feature_compat; - __le32 s_feature_incompat; - __le32 s_feature_ro_compat; - __u8 s_uuid[16]; - char s_volume_name[16]; - char s_last_mounted[64]; - __le32 s_algorithm_usage_bitmap; - __u8 s_prealloc_blocks; - __u8 s_prealloc_dir_blocks; - __le16 s_reserved_gdt_blocks; - __u8 s_journal_uuid[16]; - __le32 s_journal_inum; - __le32 s_journal_dev; - __le32 s_last_orphan; - __le32 s_hash_seed[4]; - __u8 s_def_hash_version; - __u8 s_jnl_backup_type; - __le16 s_desc_size; - __le32 s_default_mount_opts; - __le32 s_first_meta_bg; - __le32 s_mkfs_time; - __le32 s_jnl_blocks[17]; - __le32 s_blocks_count_hi; - __le32 s_r_blocks_count_hi; - __le32 s_free_blocks_count_hi; - __le16 s_min_extra_isize; - __le16 s_want_extra_isize; - __le32 s_flags; - __le16 s_raid_stride; - __le16 s_mmp_update_interval; - __le64 s_mmp_block; - __le32 s_raid_stripe_width; - __u8 s_log_groups_per_flex; - __u8 s_checksum_type; - __u8 s_encryption_level; - __u8 s_reserved_pad; - __le64 s_kbytes_written; - __le32 s_snapshot_inum; - __le32 s_snapshot_id; - __le64 s_snapshot_r_blocks_count; - __le32 s_snapshot_list; - __le32 s_error_count; - __le32 s_first_error_time; - __le32 s_first_error_ino; - __le64 s_first_error_block; - __u8 s_first_error_func[32]; - __le32 s_first_error_line; - __le32 s_last_error_time; - __le32 s_last_error_ino; - __le32 s_last_error_line; - __le64 s_last_error_block; - __u8 s_last_error_func[32]; - __u8 s_mount_opts[64]; - __le32 s_usr_quota_inum; - __le32 s_grp_quota_inum; - __le32 s_overhead_clusters; - __le32 s_backup_bgs[2]; - __u8 s_encrypt_algos[4]; - __u8 s_encrypt_pw_salt[16]; - __le32 s_lpf_ino; - __le32 s_prj_quota_inum; - __le32 s_checksum_seed; - __u8 s_wtime_hi; - __u8 s_mtime_hi; - __u8 s_mkfs_time_hi; - __u8 s_lastcheck_hi; - __u8 s_first_error_time_hi; - __u8 s_last_error_time_hi; - __u8 s_first_error_errcode; - __u8 s_last_error_errcode; - __le16 s_encoding; - __le16 s_encoding_flags; - __le32 s_orphan_file_inum; - __le32 s_reserved[94]; - __le32 s_checksum; -}; - -struct ext4_system_blocks { - struct rb_root root; - struct callback_head rcu; -}; - -struct ext4_system_zone { - struct rb_node node; - ext4_fsblk_t start_blk; - unsigned int count; - u32 ino; -}; - -struct ext4_xattr_entry; - -struct ext4_xattr_search { - struct ext4_xattr_entry *first; - void *base; - void *end; - struct ext4_xattr_entry *here; - int not_found; -}; - -struct ext4_xattr_block_find { - struct ext4_xattr_search s; - struct buffer_head *bh; -}; - -struct ext4_xattr_entry { - __u8 e_name_len; - __u8 e_name_index; - __le16 e_value_offs; - __le32 e_value_inum; - __le32 e_value_size; - __le32 e_hash; - char e_name[0]; -}; - -struct ext4_xattr_header { - __le32 h_magic; - __le32 h_refcount; - __le32 h_blocks; - __le32 h_hash; - __le32 h_checksum; - __u32 h_reserved[3]; -}; - -struct ext4_xattr_ibody_find { - struct ext4_xattr_search s; - struct ext4_iloc iloc; -}; - -struct ext4_xattr_ibody_header { - __le32 h_magic; -}; - -struct ext4_xattr_info { - const char *name; - const void *value; - size_t value_len; - int name_index; - int in_inode; -}; - -struct ext4_xattr_inode_array { - unsigned int count; - struct inode *inodes[0]; -}; - -struct ext_arg { - size_t argsz; - struct timespec64 ts; - const sigset_t *sig; - ktime_t min_time; - bool ts_set; - bool iowait; -}; - -struct msg_msg; - -struct ext_wait_queue { - struct task_struct *task; - struct list_head list; - struct msg_msg *msg; - int state; -}; - -union extcon_property_value { - int intval; -}; - -struct extcon_cable { - struct extcon_dev *edev; - int cable_index; - struct attribute_group attr_g; - struct device_attribute attr_name; - struct device_attribute attr_state; - struct attribute *attrs[3]; - union extcon_property_value usb_propval[3]; - union extcon_property_value chg_propval[1]; - union extcon_property_value jack_propval[1]; - union extcon_property_value disp_propval[2]; - long unsigned int usb_bits[1]; - long unsigned int chg_bits[1]; - long unsigned int jack_bits[1]; - long unsigned int disp_bits[1]; -}; - -struct extcon_dev { - const char *name; - const unsigned int *supported_cable; - const u32 *mutually_exclusive; - struct device dev; - unsigned int id; - struct raw_notifier_head nh_all; - struct raw_notifier_head *nh; - struct list_head entry; - int max_supported; - spinlock_t lock; - u32 state; - struct device_type extcon_dev_type; - struct extcon_cable *cables; - struct attribute_group attr_g_muex; - struct attribute **attrs_muex; - struct device_attribute *d_attrs_muex; -}; - -struct extcon_dev_notifier_devres { - struct extcon_dev *edev; - unsigned int id; - struct notifier_block *nb; -}; - -struct extended_signature { - unsigned int sig; - unsigned int pf; - unsigned int cksum; -}; - -struct extended_sigtable { - unsigned int count; - unsigned int cksum; - unsigned int reserved[3]; - struct extended_signature sigs[0]; -}; - -struct extent_status { - struct rb_node rb_node; - ext4_lblk_t es_lblk; - ext4_lblk_t es_len; - ext4_fsblk_t es_pblk; -}; - -struct external_name { - atomic_t count; - struct callback_head head; - unsigned char name[0]; -}; - -struct extra_reg { - unsigned int event; - unsigned int msr; - u64 config_mask; - u64 valid_mask; - int idx; - bool extra_msr_access; -}; - -struct f815xxa_data { - spinlock_t lock; - int idx; -}; - -struct f_owner_ex { - int type; - __kernel_pid_t pid; -}; - -struct failover_ops; - -struct failover { - struct list_head list; - struct net_device *failover_dev; - netdevice_tracker dev_tracker; - struct failover_ops *ops; -}; - -struct failover_ops { - int (*slave_pre_register)(struct net_device *, struct net_device *); - int (*slave_register)(struct net_device *, struct net_device *); - int (*slave_pre_unregister)(struct net_device *, struct net_device *); - int (*slave_unregister)(struct net_device *, struct net_device *); - int (*slave_link_change)(struct net_device *, struct net_device *); - int (*slave_name_change)(struct net_device *, struct net_device *); - rx_handler_result_t (*slave_handle_frame)(struct sk_buff **); -}; - -struct fan_fsid { - struct super_block *sb; - __kernel_fsid_t id; - bool weak; -}; - -struct fsnotify_event { - struct list_head list; -}; - -struct fanotify_event { - struct fsnotify_event fse; - struct hlist_node merge_list; - u32 mask; - struct { - unsigned int type: 3; - unsigned int hash: 29; - }; - struct pid *pid; -}; - -struct fanotify_fh { - u8 type; - u8 len; - u8 flags; - u8 pad; -}; - -struct fanotify_error_event { - struct fanotify_event fae; - s32 error; - u32 err_count; - __kernel_fsid_t fsid; - struct { - struct fanotify_fh object_fh; - unsigned char _inline_fh_buf[128]; - }; -}; - -struct fanotify_event_info_header { - __u8 info_type; - __u8 pad; - __u16 len; -}; - -struct fanotify_event_info_error { - struct fanotify_event_info_header hdr; - __s32 error; - __u32 error_count; -}; - -struct fanotify_event_info_fid { - struct fanotify_event_info_header hdr; - __kernel_fsid_t fsid; - unsigned char handle[0]; -}; - -struct fanotify_event_info_mnt { - struct fanotify_event_info_header hdr; - __u64 mnt_id; -}; - -struct fanotify_event_info_pidfd { - struct fanotify_event_info_header hdr; - __s32 pidfd; -}; - -struct fanotify_event_info_range { - struct fanotify_event_info_header hdr; - __u32 pad; - __u64 offset; - __u64 count; -}; - -struct fanotify_event_metadata { - __u32 event_len; - __u8 vers; - __u8 reserved; - __u16 metadata_len; - __u64 mask; - __s32 fd; - __s32 pid; -}; - -struct fanotify_fid_event { - struct fanotify_event fae; - __kernel_fsid_t fsid; - struct { - struct fanotify_fh object_fh; - unsigned char _inline_fh_buf[12]; - }; -}; - -struct fanotify_group_private_data { - struct hlist_head *merge_hash; - struct list_head access_list; - wait_queue_head_t access_waitq; - int flags; - int f_flags; - struct ucounts *ucounts; - mempool_t error_events_pool; -}; - -struct fanotify_info { - u8 dir_fh_totlen; - u8 dir2_fh_totlen; - u8 file_fh_totlen; - u8 name_len; - u8 name2_len; - u8 pad[3]; - unsigned char buf[0]; -}; - -struct fanotify_mark { - struct fsnotify_mark fsn_mark; - __kernel_fsid_t fsid; -}; - -struct fanotify_mnt_event { - struct fanotify_event fae; - u64 mnt_id; -}; - -struct fanotify_name_event { - struct fanotify_event fae; - __kernel_fsid_t fsid; - struct fanotify_info info; -}; - -struct fanotify_path_event { - struct fanotify_event fae; - struct path path; -}; - -struct fanotify_response_info_header { - __u8 type; - __u8 pad; - __u16 len; -}; - -struct fanotify_response_info_audit_rule { - struct fanotify_response_info_header hdr; - __u32 rule_number; - __u32 subj_trust; - __u32 obj_trust; -}; - -struct fanotify_perm_event { - struct fanotify_event fae; - struct path path; - const loff_t *ppos; - size_t count; - u32 response; - short unsigned int state; - int fd; - union { - struct fanotify_response_info_header hdr; - struct fanotify_response_info_audit_rule audit_rule; - }; -}; - -struct fanotify_response { - __s32 fd; - __u32 response; -}; - -struct fanout_args { - __u16 id; - __u16 type_flags; - __u32 max_num_members; -}; - -struct fast_pool { - long unsigned int pool[4]; - long unsigned int last; - unsigned int count; - struct timer_list mix; -}; - -struct request_sock; - -struct tcp_fastopen_context; - -struct fastopen_queue { - struct request_sock *rskq_rst_head; - struct request_sock *rskq_rst_tail; - spinlock_t lock; - int qlen; - int max_qlen; - struct tcp_fastopen_context *ctx; -}; - -struct fasync_struct { - rwlock_t fa_lock; - int magic; - int fa_fd; - struct fasync_struct *fa_next; - struct file *fa_file; - struct callback_head fa_rcu; -}; - -struct fat_bios_param_block { - u16 fat_sector_size; - u8 fat_sec_per_clus; - u16 fat_reserved; - u8 fat_fats; - u16 fat_dir_entries; - u16 fat_sectors; - u16 fat_fat_length; - u32 fat_total_sect; - u8 fat16_state; - u32 fat16_vol_id; - u32 fat32_length; - u32 fat32_root_cluster; - u16 fat32_info_sector; - u8 fat32_state; - u32 fat32_vol_id; -}; - -struct fat_boot_fsinfo { - __le32 signature1; - __le32 reserved1[120]; - __le32 signature2; - __le32 free_clusters; - __le32 next_cluster; - __le32 reserved2[4]; -}; - -struct fat_boot_sector { - __u8 ignored[3]; - __u8 system_id[8]; - __u8 sector_size[2]; - __u8 sec_per_clus; - __le16 reserved; - __u8 fats; - __u8 dir_entries[2]; - __u8 sectors[2]; - __u8 media; - __le16 fat_length; - __le16 secs_track; - __le16 heads; - __le32 hidden; - __le32 total_sect; - union { - struct { - __u8 drive_number; - __u8 state; - __u8 signature; - __u8 vol_id[4]; - __u8 vol_label[11]; - __u8 fs_type[8]; - } fat16; - struct { - __le32 length; - __le16 flags; - __u8 version[2]; - __le32 root_cluster; - __le16 info_sector; - __le16 backup_boot; - __le16 reserved2[6]; - __u8 drive_number; - __u8 state; - __u8 signature; - __u8 vol_id[4]; - __u8 vol_label[11]; - __u8 fs_type[8]; - } fat32; - }; -}; - -struct fat_cache { - struct list_head cache_list; - int nr_contig; - int fcluster; - int dcluster; -}; - -struct fat_cache_id { - unsigned int id; - int nr_contig; - int fcluster; - int dcluster; -}; - -struct fat_entry { - int entry; - union { - u8 *ent12_p[2]; - __le16 *ent16_p; - __le32 *ent32_p; - } u; - int nr_bhs; - struct buffer_head *bhs[2]; - struct inode *fat_inode; -}; - -struct fat_fid { - u32 i_gen; - u32 i_pos_low; - u16 i_pos_hi; - u16 parent_i_pos_hi; - u32 parent_i_pos_low; - u32 parent_i_gen; -}; - -struct fat_floppy_defaults { - unsigned int nr_sectors; - unsigned int sec_per_clus; - unsigned int dir_entries; - unsigned int media; - unsigned int fat_length; -}; - -struct fat_ioctl_filldir_callback { - struct dir_context ctx; - void *dirent; - int result; - const char *longname; - int long_len; - const char *shortname; - int short_len; -}; - -struct fat_mount_options { - kuid_t fs_uid; - kgid_t fs_gid; - short unsigned int fs_fmask; - short unsigned int fs_dmask; - short unsigned int codepage; - int time_offset; - char *iocharset; - short unsigned int shortname; - unsigned char name_check; - unsigned char errors; - unsigned char nfs; - short unsigned int allow_utime; - unsigned int quiet: 1; - unsigned int showexec: 1; - unsigned int sys_immutable: 1; - unsigned int dotsOK: 1; - unsigned int isvfat: 1; - unsigned int utf8: 1; - unsigned int unicode_xlate: 1; - unsigned int numtail: 1; - unsigned int flush: 1; - unsigned int nocase: 1; - unsigned int usefree: 1; - unsigned int tz_set: 1; - unsigned int rodir: 1; - unsigned int discard: 1; - unsigned int dos1xfloppy: 1; - unsigned int debug: 1; -}; - -struct msdos_dir_entry; - -struct fat_slot_info { - loff_t i_pos; - loff_t slot_off; - int nr_slots; - struct msdos_dir_entry *de; - struct buffer_head *bh; -}; - -struct fatent_operations { - void (*ent_blocknr)(struct super_block *, int, int *, sector_t *); - void (*ent_set_ptr)(struct fat_entry *, int); - int (*ent_bread)(struct super_block *, struct fat_entry *, int, sector_t); - int (*ent_get)(struct fat_entry *); - void (*ent_put)(struct fat_entry *, int); - int (*ent_next)(struct fat_entry *); -}; - -struct fatent_ra { - sector_t cur; - sector_t limit; - unsigned int ra_blocks; - sector_t ra_advance; - sector_t ra_next; - sector_t ra_limit; -}; - -struct faux_device { - struct device dev; -}; - -struct faux_device_ops { - int (*probe)(struct faux_device *); - void (*remove)(struct faux_device *); -}; - -struct faux_object { - struct faux_device faux_dev; - const struct faux_device_ops *faux_ops; - const struct attribute_group **groups; -}; - -struct fb_address { - void *address; - int bits; -}; - -struct fb_bitfield { - __u32 offset; - __u32 length; - __u32 msb_right; -}; - -struct fb_bitmap4x_iter { - const u8 *data; - u32 fgxcolor; - u32 bgcolor; - int width; - int i; - const u32 *expand; - int bpp; - bool top; -}; - -struct fb_bitmap_iter { - const u8 *data; - long unsigned int colors[2]; - int width; - int i; -}; - -struct fb_blit_caps { - long unsigned int x[1]; - long unsigned int y[2]; - u32 len; - u32 flags; -}; - -struct fb_chroma { - __u32 redx; - __u32 greenx; - __u32 bluex; - __u32 whitex; - __u32 redy; - __u32 greeny; - __u32 bluey; - __u32 whitey; -}; - -struct fb_cmap { - __u32 start; - __u32 len; - __u16 *red; - __u16 *green; - __u16 *blue; - __u16 *transp; -}; - -struct fb_cmap32 { - u32 start; - u32 len; - compat_caddr_t red; - compat_caddr_t green; - compat_caddr_t blue; - compat_caddr_t transp; -}; - -struct fb_cmap_user { - __u32 start; - __u32 len; - __u16 *red; - __u16 *green; - __u16 *blue; - __u16 *transp; -}; - -struct fb_reverse { - bool byte; - bool pixel; -}; - -struct fb_color_iter { - const u8 *data; - const u32 *palette; - struct fb_reverse reverse; - int shift; - int width; - int i; -}; - -struct fb_con2fbmap { - __u32 console; - __u32 framebuffer; -}; - -struct fb_copyarea { - __u32 dx; - __u32 dy; - __u32 width; - __u32 height; - __u32 sx; - __u32 sy; -}; - -struct fbcurpos { - __u16 x; - __u16 y; -}; - -struct fb_image { - __u32 dx; - __u32 dy; - __u32 width; - __u32 height; - __u32 fg_color; - __u32 bg_color; - __u8 depth; - const char *data; - struct fb_cmap cmap; -}; - -struct fb_cursor { - __u16 set; - __u16 enable; - __u16 rop; - const char *mask; - struct fbcurpos hot; - struct fb_image image; -}; - -struct fb_cvt_data { - u32 xres; - u32 yres; - u32 refresh; - u32 f_refresh; - u32 pixclock; - u32 hperiod; - u32 hblank; - u32 hfreq; - u32 htotal; - u32 vtotal; - u32 vsync; - u32 hsync; - u32 h_front_porch; - u32 h_back_porch; - u32 v_front_porch; - u32 v_back_porch; - u32 h_margin; - u32 v_margin; - u32 interlace; - u32 aspect_ratio; - u32 active_pixels; - u32 flags; - u32 status; -}; - -struct fb_deferred_io_pageref { - struct page *page; - long unsigned int offset; - struct list_head list; -}; - -struct fb_fillrect { - __u32 dx; - __u32 dy; - __u32 width; - __u32 height; - __u32 color; - __u32 rop; -}; - -struct fb_fix_screeninfo { - char id[16]; - long unsigned int smem_start; - __u32 smem_len; - __u32 type; - __u32 type_aux; - __u32 visual; - __u16 xpanstep; - __u16 ypanstep; - __u16 ywrapstep; - __u32 line_length; - long unsigned int mmio_start; - __u32 mmio_len; - __u32 accel; - __u16 capabilities; - __u16 reserved[2]; -}; - -struct fb_fix_screeninfo32 { - char id[16]; - compat_caddr_t smem_start; - u32 smem_len; - u32 type; - u32 type_aux; - u32 visual; - u16 xpanstep; - u16 ypanstep; - u16 ywrapstep; - u32 line_length; - compat_caddr_t mmio_start; - u32 mmio_len; - u32 accel; - u16 reserved[3]; -}; - -struct fb_var_screeninfo { - __u32 xres; - __u32 yres; - __u32 xres_virtual; - __u32 yres_virtual; - __u32 xoffset; - __u32 yoffset; - __u32 bits_per_pixel; - __u32 grayscale; - struct fb_bitfield red; - struct fb_bitfield green; - struct fb_bitfield blue; - struct fb_bitfield transp; - __u32 nonstd; - __u32 activate; - __u32 height; - __u32 width; - __u32 accel_flags; - __u32 pixclock; - __u32 left_margin; - __u32 right_margin; - __u32 upper_margin; - __u32 lower_margin; - __u32 hsync_len; - __u32 vsync_len; - __u32 sync; - __u32 vmode; - __u32 rotate; - __u32 colorspace; - __u32 reserved[4]; -}; - -struct fb_monspecs { - struct fb_chroma chroma; - struct fb_videomode *modedb; - __u8 manufacturer[4]; - __u8 monitor[14]; - __u8 serial_no[14]; - __u8 ascii[14]; - __u32 modedb_len; - __u32 model; - __u32 serial; - __u32 year; - __u32 week; - __u32 hfmin; - __u32 hfmax; - __u32 dclkmin; - __u32 dclkmax; - __u16 input; - __u16 dpms; - __u16 signal; - __u16 vfmin; - __u16 vfmax; - __u16 gamma; - __u16 gtf: 1; - __u16 misc; - __u8 version; - __u8 revision; - __u8 max_x; - __u8 max_y; -}; - -struct fb_pixmap { - u8 *addr; - u32 size; - u32 offset; - u32 buf_align; - u32 scan_align; - u32 access_align; - u32 flags; - long unsigned int blit_x[1]; - long unsigned int blit_y[2]; - void (*writeio)(struct fb_info *, void *, void *, unsigned int); - void (*readio)(struct fb_info *, void *, void *, unsigned int); -}; - -struct lcd_device; - -struct fb_ops; - -struct fb_tile_ops; - -struct fb_info { - refcount_t count; - int node; - int flags; - int fbcon_rotate_hint; - struct mutex lock; - struct mutex mm_lock; - struct fb_var_screeninfo var; - struct fb_fix_screeninfo fix; - struct fb_monspecs monspecs; - struct fb_pixmap pixmap; - struct fb_pixmap sprite; - struct fb_cmap cmap; - struct list_head modelist; - struct fb_videomode *mode; - int blank; - struct backlight_device *bl_dev; - struct mutex bl_curve_mutex; - u8 bl_curve[128]; - struct lcd_device *lcd_dev; - struct delayed_work deferred_work; - long unsigned int npagerefs; - struct fb_deferred_io_pageref *pagerefs; - struct fb_deferred_io *fbdefio; - const struct fb_ops *fbops; - struct device *device; - struct device *dev; - int class_flag; - struct fb_tile_ops *tileops; - union { - char *screen_base; - char *screen_buffer; - }; - long unsigned int screen_size; - void *pseudo_palette; - u32 state; - void *fbcon_par; - void *par; - bool skip_vt_switch; - bool skip_panic; -}; - -struct fb_videomode { - const char *name; - u32 refresh; - u32 xres; - u32 yres; - u32 pixclock; - u32 left_margin; - u32 right_margin; - u32 upper_margin; - u32 lower_margin; - u32 hsync_len; - u32 vsync_len; - u32 sync; - u32 vmode; - u32 flag; -}; - -struct fb_modelist { - struct list_head list; - struct fb_videomode mode; -}; - -struct fb_ops { - struct module *owner; - int (*fb_open)(struct fb_info *, int); - int (*fb_release)(struct fb_info *, int); - ssize_t (*fb_read)(struct fb_info *, char *, size_t, loff_t *); - ssize_t (*fb_write)(struct fb_info *, const char *, size_t, loff_t *); - int (*fb_check_var)(struct fb_var_screeninfo *, struct fb_info *); - int (*fb_set_par)(struct fb_info *); - int (*fb_setcolreg)(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, struct fb_info *); - int (*fb_setcmap)(struct fb_cmap *, struct fb_info *); - int (*fb_blank)(int, struct fb_info *); - int (*fb_pan_display)(struct fb_var_screeninfo *, struct fb_info *); - void (*fb_fillrect)(struct fb_info *, const struct fb_fillrect *); - void (*fb_copyarea)(struct fb_info *, const struct fb_copyarea *); - void (*fb_imageblit)(struct fb_info *, const struct fb_image *); - int (*fb_cursor)(struct fb_info *, struct fb_cursor *); - int (*fb_sync)(struct fb_info *); - int (*fb_ioctl)(struct fb_info *, unsigned int, long unsigned int); - int (*fb_compat_ioctl)(struct fb_info *, unsigned int, long unsigned int); - int (*fb_mmap)(struct fb_info *, struct vm_area_struct *); - void (*fb_get_caps)(struct fb_info *, struct fb_blit_caps *, struct fb_var_screeninfo *); - void (*fb_destroy)(struct fb_info *); - int (*fb_debug_enter)(struct fb_info *); - int (*fb_debug_leave)(struct fb_info *); -}; - -struct fb_pattern { - long unsigned int pixels; - int left; - int right; - struct fb_reverse reverse; -}; - -struct fb_tilemap; - -struct fb_tilearea; - -struct fb_tilerect; - -struct fb_tileblit; - -struct fb_tilecursor; - -struct fb_tile_ops { - void (*fb_settile)(struct fb_info *, struct fb_tilemap *); - void (*fb_tilecopy)(struct fb_info *, struct fb_tilearea *); - void (*fb_tilefill)(struct fb_info *, struct fb_tilerect *); - void (*fb_tileblit)(struct fb_info *, struct fb_tileblit *); - void (*fb_tilecursor)(struct fb_info *, struct fb_tilecursor *); - int (*fb_get_tilemax)(struct fb_info *); -}; - -struct fb_tilearea { - __u32 sx; - __u32 sy; - __u32 dx; - __u32 dy; - __u32 width; - __u32 height; -}; - -struct fb_tileblit { - __u32 sx; - __u32 sy; - __u32 width; - __u32 height; - __u32 fg; - __u32 bg; - __u32 length; - __u32 *indices; -}; - -struct fb_tilecursor { - __u32 sx; - __u32 sy; - __u32 mode; - __u32 shape; - __u32 fg; - __u32 bg; -}; - -struct fb_tilemap { - __u32 width; - __u32 height; - __u32 depth; - __u32 length; - const __u8 *data; -}; - -struct fb_tilerect { - __u32 sx; - __u32 sy; - __u32 width; - __u32 height; - __u32 index; - __u32 fg; - __u32 bg; - __u32 rop; -}; - -struct fbcon_display { - const u_char *fontdata; - int userfont; - u_short inverse; - short int yscroll; - int vrows; - int cursor_shape; - int con_rotate; - u32 xres_virtual; - u32 yres_virtual; - u32 height; - u32 width; - u32 bits_per_pixel; - u32 grayscale; - u32 nonstd; - u32 accel_flags; - u32 rotate; - struct fb_bitfield red; - struct fb_bitfield green; - struct fb_bitfield blue; - struct fb_bitfield transp; - const struct fb_videomode *mode; -}; - -struct fbcon_ops { - void (*bmove)(struct vc_data *, struct fb_info *, int, int, int, int, int, int); - void (*clear)(struct vc_data *, struct fb_info *, int, int, int, int, int, int); - void (*putcs)(struct vc_data *, struct fb_info *, const short unsigned int *, int, int, int, int, int); - void (*clear_margins)(struct vc_data *, struct fb_info *, int, int); - void (*cursor)(struct vc_data *, struct fb_info *, bool, int, int); - int (*update_start)(struct fb_info *); - int (*rotate_font)(struct fb_info *, struct vc_data *); - struct fb_var_screeninfo var; - struct delayed_work cursor_work; - struct fb_cursor cursor_state; - struct fbcon_display *p; - struct fb_info *info; - int currcon; - int cur_blink_jiffies; - int cursor_flash; - int cursor_reset; - int blank_state; - int graphics; - int save_graphics; - bool initialized; - int rotate; - int cur_rotate; - char *cursor_data; - u8 *fontbuffer; - u8 *fontdata; - u8 *cursor_src; - u32 cursor_size; - u32 fd_size; -}; - -struct fc_log { - refcount_t usage; - u8 head; - u8 tail; - u8 need_free; - struct module *owner; - char *buffer[8]; -}; - -struct fch_clk_data { - void *base; - char *name; -}; - -struct fch_hdr { - __u8 daddr[6]; - __u8 saddr[6]; -}; - -struct fcllc { - __u8 dsap; - __u8 ssap; - __u8 llc; - __u8 protid[3]; - __be16 ethertype; -}; - -struct fd { - long unsigned int word; -}; - -typedef struct fd class_fd_pos_t; - -typedef struct fd class_fd_raw_t; - -typedef struct fd class_fd_t; - -struct fd_data { - fmode_t mode; - unsigned int fd; -}; - -struct fd_range { - unsigned int from; - unsigned int to; -}; - -struct fddi_8022_1_hdr { - __u8 dsap; - __u8 ssap; - __u8 ctrl; -}; - -struct fddi_8022_2_hdr { - __u8 dsap; - __u8 ssap; - __u8 ctrl_1; - __u8 ctrl_2; -}; - -struct fddi_snap_hdr { - __u8 dsap; - __u8 ssap; - __u8 ctrl; - __u8 oui[3]; - __be16 ethertype; -}; - -struct fddihdr { - __u8 fc; - __u8 daddr[6]; - __u8 saddr[6]; - union { - struct fddi_8022_1_hdr llc_8022_1; - struct fddi_8022_2_hdr llc_8022_2; - struct fddi_snap_hdr llc_snap; - } hdr; -} __attribute__((packed)); - -struct fdt_debugfs { - struct list_head list; - struct debugfs_blob_wrapper wrapper; - struct dentry *file; -}; - -struct fdt_errtabent { - const char *str; -}; - -struct fdt_header { - fdt32_t magic; - fdt32_t totalsize; - fdt32_t off_dt_struct; - fdt32_t off_dt_strings; - fdt32_t off_mem_rsvmap; - fdt32_t version; - fdt32_t last_comp_version; - fdt32_t boot_cpuid_phys; - fdt32_t size_dt_strings; - fdt32_t size_dt_struct; -}; - -struct fdt_node_header { - fdt32_t tag; - char name[0]; -}; - -struct fdt_property { - fdt32_t tag; - fdt32_t len; - fdt32_t nameoff; - char data[0]; -}; - -struct fdt_reserve_entry { - fdt64_t address; - fdt64_t size; -}; - -struct fdtable { - unsigned int max_fds; - struct file **fd; - long unsigned int *close_on_exec; - long unsigned int *open_fds; - long unsigned int *full_fds_bits; - struct callback_head rcu; -}; - -struct features_reply_data { - struct ethnl_reply_data base; - u32 hw[2]; - u32 wanted[2]; - u32 active[2]; - u32 nochange[2]; - u32 all[2]; -}; - -struct fec_stat_grp { - u64 stats[9]; - u8 cnt; -}; - -struct fec_reply_data { - struct ethnl_reply_data base; - long unsigned int fec_link_modes[2]; - u32 active_fec; - u8 fec_auto; - struct fec_stat_grp corr; - struct fec_stat_grp uncorr; - struct fec_stat_grp corr_bits; -}; - -struct fentry_trace_entry_head { - struct trace_entry ent; - long unsigned int ip; -}; - -struct fetch_insn { - enum fetch_op op; - union { - unsigned int param; - struct { - unsigned int size; - int offset; - }; - struct { - unsigned char basesize; - unsigned char lshift; - unsigned char rshift; - }; - long unsigned int immediate; - void *data; - }; -}; - -struct trace_seq; - -typedef int (*print_type_func_t)(struct trace_seq *, void *, void *); - -struct fetch_type { - const char *name; - size_t size; - bool is_signed; - bool is_string; - print_type_func_t print; - const char *fmt; - const char *fmttype; -}; - -struct fexit_trace_entry_head { - struct trace_entry ent; - long unsigned int func; - long unsigned int ret_ip; -}; - -struct ff_condition_effect { - __u16 right_saturation; - __u16 left_saturation; - __s16 right_coeff; - __s16 left_coeff; - __u16 deadband; - __s16 center; -}; - -struct ff_envelope { - __u16 attack_length; - __u16 attack_level; - __u16 fade_length; - __u16 fade_level; -}; - -struct ff_constant_effect { - __s16 level; - struct ff_envelope envelope; -}; - -struct ff_effect; - -struct ff_device { - int (*upload)(struct input_dev *, struct ff_effect *, struct ff_effect *); - int (*erase)(struct input_dev *, int); - int (*playback)(struct input_dev *, int, int); - void (*set_gain)(struct input_dev *, u16); - void (*set_autocenter)(struct input_dev *, u16); - void (*destroy)(struct ff_device *); - void *private; - long unsigned int ffbit[2]; - struct mutex mutex; - int max_effects; - struct ff_effect *effects; - struct file *effect_owners[0]; -}; - -struct ff_trigger { - __u16 button; - __u16 interval; -}; - -struct ff_replay { - __u16 length; - __u16 delay; -}; - -struct ff_ramp_effect { - __s16 start_level; - __s16 end_level; - struct ff_envelope envelope; -}; - -struct ff_periodic_effect { - __u16 waveform; - __u16 period; - __s16 magnitude; - __s16 offset; - __u16 phase; - struct ff_envelope envelope; - __u32 custom_len; - __s16 *custom_data; -}; - -struct ff_rumble_effect { - __u16 strong_magnitude; - __u16 weak_magnitude; -}; - -struct ff_effect { - __u16 type; - __s16 id; - __u16 direction; - struct ff_trigger trigger; - struct ff_replay replay; - union { - struct ff_constant_effect constant; - struct ff_ramp_effect ramp; - struct ff_periodic_effect periodic; - struct ff_condition_effect condition[2]; - struct ff_rumble_effect rumble; - } u; -}; - -struct ff_periodic_effect_compat { - __u16 waveform; - __u16 period; - __s16 magnitude; - __s16 offset; - __u16 phase; - struct ff_envelope envelope; - __u32 custom_len; - compat_uptr_t custom_data; -}; - -struct ff_effect_compat { - __u16 type; - __s16 id; - __u16 direction; - struct ff_trigger trigger; - struct ff_replay replay; - union { - struct ff_constant_effect constant; - struct ff_ramp_effect ramp; - struct ff_periodic_effect_compat periodic; - struct ff_condition_effect condition[2]; - struct ff_rumble_effect rumble; - } u; -}; - -struct fgraph_cpu_data { - pid_t last_pid; - int depth; - int depth_irq; - int ignore; - long unsigned int enter_funcs[50]; -}; - -struct ftrace_graph_ent { - long unsigned int func; - int depth; -} __attribute__((packed)); - -struct ftrace_graph_ent_entry { - struct trace_entry ent; - struct ftrace_graph_ent graph_ent; - long unsigned int args[0]; -}; - -struct fgraph_ent_args { - struct ftrace_graph_ent_entry ent; - long unsigned int args[6]; -}; - -struct fgraph_retaddr_ent { - long unsigned int func; - int depth; - long unsigned int retaddr; -} __attribute__((packed)); - -struct fgraph_retaddr_ent_entry { - struct trace_entry ent; - struct fgraph_retaddr_ent graph_ent; -}; - -struct ftrace_graph_ret { - long unsigned int func; - long unsigned int retval; - int depth; - unsigned int overrun; -}; - -struct ftrace_graph_ret_entry { - struct trace_entry ent; - struct ftrace_graph_ret ret; - long long unsigned int calltime; - long long unsigned int rettime; -}; - -struct fgraph_data { - struct fgraph_cpu_data *cpu_data; - union { - struct fgraph_ent_args ent; - struct fgraph_retaddr_ent_entry rent; - }; - struct ftrace_graph_ret_entry ret; - int failed; - int cpu; -}; - -struct fgraph_ops; - -typedef int (*trace_func_graph_ent_t)(struct ftrace_graph_ent *, struct fgraph_ops *, struct ftrace_regs *); - -typedef void (*trace_func_graph_ret_t)(struct ftrace_graph_ret *, struct fgraph_ops *, struct ftrace_regs *); - -typedef void (*ftrace_func_t)(long unsigned int, long unsigned int, struct ftrace_ops *, struct ftrace_regs *); - -struct ftrace_hash; - -struct ftrace_ops_hash { - struct ftrace_hash *notrace_hash; - struct ftrace_hash *filter_hash; - struct mutex regex_lock; -}; - -typedef int (*ftrace_ops_func_t)(struct ftrace_ops *, enum ftrace_ops_cmd); - -struct ftrace_ops { - ftrace_func_t func; - struct ftrace_ops *next; - long unsigned int flags; - void *private; - ftrace_func_t saved_func; - struct ftrace_ops_hash local_hash; - struct ftrace_ops_hash *func_hash; - struct ftrace_ops_hash old_hash; - long unsigned int trampoline; - long unsigned int trampoline_size; - struct list_head list; - struct list_head subop_list; - ftrace_ops_func_t ops_func; - struct ftrace_ops *managed; - long unsigned int direct_call; -}; - -struct fgraph_ops { - trace_func_graph_ent_t entryfunc; - trace_func_graph_ret_t retfunc; - struct ftrace_ops ops; - void *private; - trace_func_graph_ent_t saved_func; - int idx; -}; - -struct fgraph_times { - long long unsigned int calltime; - long long unsigned int sleeptime; -}; - -struct fib_kuid_range { - kuid_t start; - kuid_t end; -}; - -struct fib_rule_port_range { - __u16 start; - __u16 end; -}; - -struct fib_rule { - struct list_head list; - int iifindex; - int oifindex; - u32 mark; - u32 mark_mask; - u32 flags; - u32 table; - u8 action; - u8 l3mdev; - u8 proto; - u8 ip_proto; - u32 target; - __be64 tun_id; - struct fib_rule *ctarget; - struct net *fr_net; - refcount_t refcnt; - u32 pref; - int suppress_ifgroup; - int suppress_prefixlen; - char iifname[16]; - char oifname[16]; - struct fib_kuid_range uid_range; - struct fib_rule_port_range sport_range; - struct fib_rule_port_range dport_range; - u16 sport_mask; - u16 dport_mask; - u8 iif_is_l3_master; - u8 oif_is_l3_master; - struct callback_head rcu; -}; - -struct fib4_rule { - struct fib_rule common; - u8 dst_len; - u8 src_len; - dscp_t dscp; - dscp_t dscp_mask; - u8 dscp_full: 1; - __be32 src; - __be32 srcmask; - __be32 dst; - __be32 dstmask; - u32 tclassid; -}; - -struct fib6_node; - -struct fib6_walker { - struct list_head lh; - struct fib6_node *root; - struct fib6_node *node; - struct fib6_info *leaf; - enum fib6_walk_state state; - unsigned int skip; - unsigned int count; - unsigned int skip_in_node; - int (*func)(struct fib6_walker *); - void *args; -}; - -struct fib6_cleaner { - struct fib6_walker w; - struct net *net; - int (*func)(struct fib6_info *, void *); - int sernum; - void *arg; - bool skip_notify; -}; - -struct nlmsghdr; - -struct nl_info { - struct nlmsghdr *nlh; - struct net *nl_net; - u32 portid; - u8 skip_notify: 1; - u8 skip_notify_kernel: 1; -}; - -struct fib6_config { - u32 fc_table; - u32 fc_metric; - int fc_dst_len; - int fc_src_len; - int fc_ifindex; - u32 fc_flags; - u32 fc_protocol; - u16 fc_type; - u16 fc_delete_all_nh: 1; - u16 fc_ignore_dev_down: 1; - u16 __unused: 14; - u32 fc_nh_id; - struct in6_addr fc_dst; - struct in6_addr fc_src; - struct in6_addr fc_prefsrc; - struct in6_addr fc_gateway; - long unsigned int fc_expires; - struct nlattr *fc_mx; - int fc_mx_len; - int fc_mp_len; - struct nlattr *fc_mp; - struct nl_info fc_nlinfo; - struct nlattr *fc_encap; - u16 fc_encap_type; - bool fc_is_fdb; -}; - -struct fib6_dump_arg { - struct net *net; - struct notifier_block *nb; - struct netlink_ext_ack *extack; -}; - -struct fib_notifier_info { - int family; - struct netlink_ext_ack *extack; -}; - -struct fib6_entry_notifier_info { - struct fib_notifier_info info; - struct fib6_info *rt; - unsigned int nsiblings; -}; - -struct fib6_gc_args { - int timeout; - int more; -}; - -struct rt6key { - struct in6_addr addr; - int plen; -}; - -struct rtable; - -struct fnhe_hash_bucket; - -struct fib_nh_common { - struct net_device *nhc_dev; - netdevice_tracker nhc_dev_tracker; - int nhc_oif; - unsigned char nhc_scope; - u8 nhc_family; - u8 nhc_gw_family; - unsigned char nhc_flags; - struct lwtunnel_state *nhc_lwtstate; - union { - __be32 ipv4; - struct in6_addr ipv6; - } nhc_gw; - int nhc_weight; - atomic_t nhc_upper_bound; - struct rtable **nhc_pcpu_rth_output; - struct rtable *nhc_rth_input; - struct fnhe_hash_bucket *nhc_exceptions; -}; - -struct rt6_info; - -struct rt6_exception_bucket; - -struct fib6_nh { - struct fib_nh_common nh_common; - long unsigned int last_probe; - struct rt6_info **rt6i_pcpu; - struct rt6_exception_bucket *rt6i_exception_bucket; -}; - -struct fib6_table; - -struct nexthop; - -struct fib6_info { - struct fib6_table *fib6_table; - struct fib6_info *fib6_next; - struct fib6_node *fib6_node; - union { - struct list_head fib6_siblings; - struct list_head nh_list; - }; - unsigned int fib6_nsiblings; - refcount_t fib6_ref; - long unsigned int expires; - struct hlist_node gc_link; - struct dst_metrics *fib6_metrics; - struct rt6key fib6_dst; - u32 fib6_flags; - struct rt6key fib6_src; - struct rt6key fib6_prefsrc; - u32 fib6_metric; - u8 fib6_protocol; - u8 fib6_type; - u8 offload; - u8 trap; - u8 offload_failed; - u8 should_flush: 1; - u8 dst_nocount: 1; - u8 dst_nopolicy: 1; - u8 fib6_destroying: 1; - u8 unused: 4; - struct list_head purge_link; - struct callback_head rcu; - struct nexthop *nh; - struct fib6_nh fib6_nh[0]; -}; - -struct fib6_nh_age_excptn_arg { - struct fib6_gc_args *gc_args; - long unsigned int now; -}; - -struct fib6_nh_del_cached_rt_arg { - struct fib6_config *cfg; - struct fib6_info *f6i; -}; - -struct fib6_nh_dm_arg { - struct net *net; - const struct in6_addr *saddr; - int oif; - int flags; - struct fib6_nh *nh; -}; - -struct rt6_rtnl_dump_arg; - -struct fib6_nh_exception_dump_walker { - struct rt6_rtnl_dump_arg *dump; - struct fib6_info *rt; - unsigned int flags; - unsigned int skip; - unsigned int count; -}; - -struct fib6_nh_excptn_arg { - struct rt6_info *rt; - int plen; -}; - -struct fib6_nh_frl_arg { - u32 flags; - int oif; - int strict; - int *mpri; - bool *do_rr; - struct fib6_nh *nh; -}; - -struct fib6_nh_match_arg { - const struct net_device *dev; - const struct in6_addr *gw; - struct fib6_nh *match; -}; - -struct fib6_result; - -struct flowi6; - -struct fib6_nh_rd_arg { - struct fib6_result *res; - struct flowi6 *fl6; - const struct in6_addr *gw; - struct rt6_info **ret; -}; - -struct fib6_node { - struct fib6_node *parent; - struct fib6_node *left; - struct fib6_node *right; - struct fib6_node *subtree; - struct fib6_info *leaf; - __u16 fn_bit; - __u16 fn_flags; - int fn_sernum; - struct fib6_info *rr_ptr; - struct callback_head rcu; -}; - -struct fib6_result { - struct fib6_nh *nh; - struct fib6_info *f6i; - u32 fib6_flags; - u8 fib6_type; - struct rt6_info *rt6; -}; - -struct fib6_rule { - struct fib_rule common; - struct rt6key src; - struct rt6key dst; - __be32 flowlabel; - __be32 flowlabel_mask; - dscp_t dscp; - dscp_t dscp_mask; - u8 dscp_full: 1; -}; - -struct inet_peer_base { - struct rb_root rb_root; - seqlock_t lock; - int total; -}; - -struct fib6_table { - struct hlist_node tb6_hlist; - u32 tb6_id; - spinlock_t tb6_lock; - struct fib6_node tb6_root; - struct inet_peer_base tb6_peers; - unsigned int flags; - unsigned int fib_seq; - struct hlist_head tb6_gc_hlist; -}; - -struct fib_info; - -struct fib_alias { - struct hlist_node fa_list; - struct fib_info *fa_info; - dscp_t fa_dscp; - u8 fa_type; - u8 fa_state; - u8 fa_slen; - u32 tb_id; - s16 fa_default; - u8 offload; - u8 trap; - u8 offload_failed; - struct callback_head rcu; -}; - -struct rtnexthop; - -struct fib_config { - u8 fc_dst_len; - dscp_t fc_dscp; - u8 fc_protocol; - u8 fc_scope; - u8 fc_type; - u8 fc_gw_family; - u32 fc_table; - __be32 fc_dst; - union { - __be32 fc_gw4; - struct in6_addr fc_gw6; - }; - int fc_oif; - u32 fc_flags; - u32 fc_priority; - __be32 fc_prefsrc; - u32 fc_nh_id; - struct nlattr *fc_mx; - struct rtnexthop *fc_mp; - int fc_mx_len; - int fc_mp_len; - u32 fc_flow; - u32 fc_nlflags; - struct nl_info fc_nlinfo; - struct nlattr *fc_encap; - u16 fc_encap_type; -}; - -struct fib_dump_filter { - u32 table_id; - bool filter_set; - bool dump_routes; - bool dump_exceptions; - bool rtnl_held; - unsigned char protocol; - unsigned char rt_type; - unsigned int flags; - struct net_device *dev; -}; - -struct fib_entry_notifier_info { - struct fib_notifier_info info; - u32 dst; - int dst_len; - struct fib_info *fi; - dscp_t dscp; - u8 type; - u32 tb_id; -}; - -struct fib_nh { - struct fib_nh_common nh_common; - struct hlist_node nh_hash; - struct fib_info *nh_parent; - __u32 nh_tclassid; - __be32 nh_saddr; - int nh_saddr_genid; -}; - -struct fib_info { - struct hlist_node fib_hash; - struct hlist_node fib_lhash; - struct list_head nh_list; - struct net *fib_net; - refcount_t fib_treeref; - refcount_t fib_clntref; - unsigned int fib_flags; - unsigned char fib_dead; - unsigned char fib_protocol; - unsigned char fib_scope; - unsigned char fib_type; - __be32 fib_prefsrc; - u32 fib_tb_id; - u32 fib_priority; - struct dst_metrics *fib_metrics; - int fib_nhs; - bool fib_nh_is_v6; - bool nh_updated; - bool pfsrc_removed; - struct nexthop *nh; - struct callback_head rcu; - struct fib_nh fib_nh[0]; -}; - -struct fib_lookup_arg { - void *lookup_ptr; - const void *lookup_data; - void *result; - struct fib_rule *rule; - u32 table; - int flags; -}; - -struct fib_nh_exception { - struct fib_nh_exception *fnhe_next; - int fnhe_genid; - __be32 fnhe_daddr; - u32 fnhe_pmtu; - bool fnhe_mtu_locked; - __be32 fnhe_gw; - long unsigned int fnhe_expires; - struct rtable *fnhe_rth_input; - struct rtable *fnhe_rth_output; - long unsigned int fnhe_stamp; - struct callback_head rcu; -}; - -struct fib_nh_notifier_info { - struct fib_notifier_info info; - struct fib_nh *fib_nh; -}; - -struct fib_notifier_net { - struct list_head fib_notifier_ops; - struct atomic_notifier_head fib_chain; -}; - -struct fib_notifier_ops { - int family; - struct list_head list; - unsigned int (*fib_seq_read)(const struct net *); - int (*fib_dump)(struct net *, struct notifier_block *, struct netlink_ext_ack *); - struct module *owner; - struct callback_head rcu; -}; - -struct fib_prop { - int error; - u8 scope; -}; - -struct fib_table; - -struct fib_result { - __be32 prefix; - unsigned char prefixlen; - unsigned char nh_sel; - unsigned char type; - unsigned char scope; - u32 tclassid; - dscp_t dscp; - struct fib_nh_common *nhc; - struct fib_info *fi; - struct fib_table *table; - struct hlist_head *fa_head; -}; - -struct fib_result_nl { - __be32 fl_addr; - u32 fl_mark; - unsigned char fl_tos; - unsigned char fl_scope; - unsigned char tb_id_in; - unsigned char tb_id; - unsigned char prefixlen; - unsigned char nh_sel; - unsigned char type; - unsigned char scope; - int err; -}; - -struct key_vector; - -struct fib_route_iter { - struct seq_net_private p; - struct fib_table *main_tb; - struct key_vector *tnode; - loff_t pos; - t_key key; -}; - -struct fib_rt_info { - struct fib_info *fi; - u32 tb_id; - __be32 dst; - int dst_len; - dscp_t dscp; - u8 type; - u8 offload: 1; - u8 trap: 1; - u8 offload_failed: 1; - u8 unused: 5; -}; - -struct fib_rule_hdr { - __u8 family; - __u8 dst_len; - __u8 src_len; - __u8 tos; - __u8 table; - __u8 res1; - __u8 res2; - __u8 action; - __u32 flags; -}; - -struct fib_rule_notifier_info { - struct fib_notifier_info info; - struct fib_rule *rule; -}; - -struct fib_rule_uid_range { - __u32 start; - __u32 end; -}; - -struct flowi; - -struct fib_rules_ops { - int family; - struct list_head list; - int rule_size; - int addr_size; - int unresolved_rules; - int nr_goto_rules; - unsigned int fib_rules_seq; - int (*action)(struct fib_rule *, struct flowi *, int, struct fib_lookup_arg *); - bool (*suppress)(struct fib_rule *, int, struct fib_lookup_arg *); - int (*match)(struct fib_rule *, struct flowi *, int); - int (*configure)(struct fib_rule *, struct sk_buff *, struct fib_rule_hdr *, struct nlattr **, struct netlink_ext_ack *); - int (*delete)(struct fib_rule *); - int (*compare)(struct fib_rule *, struct fib_rule_hdr *, struct nlattr **); - int (*fill)(struct fib_rule *, struct sk_buff *, struct fib_rule_hdr *); - size_t (*nlmsg_payload)(struct fib_rule *); - void (*flush_cache)(struct fib_rules_ops *); - int nlgroup; - struct list_head rules_list; - struct module *owner; - struct net *fro_net; - struct callback_head rcu; -}; - -struct fib_table { - struct hlist_node tb_hlist; - u32 tb_id; - int tb_num_default; - struct callback_head rcu; - long unsigned int *tb_data; - long unsigned int __data[0]; -}; - -struct fib_trie_iter { - struct seq_net_private p; - struct fib_table *tb; - struct key_vector *tnode; - unsigned int index; - unsigned int depth; -}; - -struct fid { - union { - struct { - u32 ino; - u32 gen; - u32 parent_ino; - u32 parent_gen; - } i32; - struct { - u64 ino; - u32 gen; - } __attribute__((packed)) i64; - struct { - u32 block; - u16 partref; - u16 parent_partref; - u32 generation; - u32 parent_block; - u32 parent_generation; - } udf; - struct { - struct {} __empty_raw; - __u32 raw[0]; - }; - }; -}; - -struct field_var { - struct hist_field *var; - struct hist_field *val; -}; - -struct field_var_hist { - struct hist_trigger_data *hist_data; - char *cmd; -}; - -struct fiemap_extent { - __u64 fe_logical; - __u64 fe_physical; - __u64 fe_length; - __u64 fe_reserved64[2]; - __u32 fe_flags; - __u32 fe_reserved[3]; -}; - -struct fiemap { - __u64 fm_start; - __u64 fm_length; - __u32 fm_flags; - __u32 fm_mapped_extents; - __u32 fm_extent_count; - __u32 fm_reserved; - struct fiemap_extent fm_extents[0]; -}; - -struct fiemap_extent_info { - unsigned int fi_flags; - unsigned int fi_extents_mapped; - unsigned int fi_extents_max; - struct fiemap_extent *fi_extents_start; -}; - -struct file__safe_trusted { - struct inode *f_inode; -}; - -struct file_attr { - __u64 fa_xflags; - __u32 fa_extsize; - __u32 fa_nextents; - __u32 fa_projid; - __u32 fa_cowextsize; -}; - -struct file_clone_range { - __s64 src_fd; - __u64 src_offset; - __u64 src_length; - __u64 dest_offset; -}; - -struct file_dedupe_range_info { - __s64 dest_fd; - __u64 dest_offset; - __u64 bytes_deduped; - __s32 status; - __u32 reserved; -}; - -struct file_dedupe_range { - __u64 src_offset; - __u64 src_length; - __u16 dest_count; - __u16 reserved1; - __u32 reserved2; - struct file_dedupe_range_info info[0]; -}; - -struct file_handle { - __u32 handle_bytes; - int handle_type; - unsigned char f_handle[0]; -}; - -struct file_kattr { - u32 flags; - u32 fsx_xflags; - u32 fsx_extsize; - u32 fsx_nextents; - u32 fsx_projid; - u32 fsx_cowextsize; - bool flags_valid: 1; - bool fsx_valid: 1; -}; - -struct file_lock_core { - struct file_lock_core *flc_blocker; - struct list_head flc_list; - struct hlist_node flc_link; - struct list_head flc_blocked_requests; - struct list_head flc_blocked_member; - fl_owner_t flc_owner; - unsigned int flc_flags; - unsigned char flc_type; - pid_t flc_pid; - int flc_link_cpu; - wait_queue_head_t flc_wait; - struct file *flc_file; -}; - -struct lease_manager_operations; - -struct file_lease { - struct file_lock_core c; - struct fasync_struct *fl_fasync; - long unsigned int fl_break_time; - long unsigned int fl_downgrade_time; - const struct lease_manager_operations *fl_lmops; -}; - -struct nlm_lockowner; - -struct nfs_lock_info { - u32 state; - struct nlm_lockowner *owner; - struct list_head list; -}; - -struct nfs4_lock_state; - -struct nfs4_lock_info { - struct nfs4_lock_state *owner; -}; - -struct file_lock_operations; - -struct lock_manager_operations; - -struct file_lock { - struct file_lock_core c; - loff_t fl_start; - loff_t fl_end; - const struct file_lock_operations *fl_ops; - const struct lock_manager_operations *fl_lmops; - union { - struct nfs_lock_info nfs_fl; - struct nfs4_lock_info nfs4_fl; - struct { - struct list_head link; - int state; - unsigned int debug_id; - } afs; - struct { - struct inode *inode; - } ceph; - } fl_u; -}; - -struct file_lock_context { - spinlock_t flc_lock; - struct list_head flc_flock; - struct list_head flc_posix; - struct list_head flc_lease; -}; - -struct file_lock_list_struct { - spinlock_t lock; - struct hlist_head hlist; -}; - -struct file_lock_operations { - void (*fl_copy_lock)(struct file_lock *, struct file_lock *); - void (*fl_release_private)(struct file_lock *); -}; - -struct io_uring_cmd; - -struct vm_area_desc; - -struct file_operations { - struct module *owner; - fop_flags_t fop_flags; - loff_t (*llseek)(struct file *, loff_t, int); - ssize_t (*read)(struct file *, char *, size_t, loff_t *); - ssize_t (*write)(struct file *, const char *, size_t, loff_t *); - ssize_t (*read_iter)(struct kiocb *, struct iov_iter *); - ssize_t (*write_iter)(struct kiocb *, struct iov_iter *); - int (*iopoll)(struct kiocb *, struct io_comp_batch *, unsigned int); - int (*iterate_shared)(struct file *, struct dir_context *); - __poll_t (*poll)(struct file *, struct poll_table_struct *); - long int (*unlocked_ioctl)(struct file *, unsigned int, long unsigned int); - long int (*compat_ioctl)(struct file *, unsigned int, long unsigned int); - int (*mmap)(struct file *, struct vm_area_struct *); - int (*open)(struct inode *, struct file *); - int (*flush)(struct file *, fl_owner_t); - int (*release)(struct inode *, struct file *); - int (*fsync)(struct file *, loff_t, loff_t, int); - int (*fasync)(int, struct file *, int); - int (*lock)(struct file *, int, struct file_lock *); - long unsigned int (*get_unmapped_area)(struct file *, long unsigned int, long unsigned int, long unsigned int, long unsigned int); - int (*check_flags)(int); - int (*flock)(struct file *, int, struct file_lock *); - ssize_t (*splice_write)(struct pipe_inode_info *, struct file *, loff_t *, size_t, unsigned int); - ssize_t (*splice_read)(struct file *, loff_t *, struct pipe_inode_info *, size_t, unsigned int); - void (*splice_eof)(struct file *); - int (*setlease)(struct file *, int, struct file_lease **, void **); - long int (*fallocate)(struct file *, int, loff_t, loff_t); - void (*show_fdinfo)(struct seq_file *, struct file *); - ssize_t (*copy_file_range)(struct file *, loff_t, struct file *, loff_t, size_t, unsigned int); - loff_t (*remap_file_range)(struct file *, loff_t, struct file *, loff_t, loff_t, unsigned int); - int (*fadvise)(struct file *, loff_t, loff_t, int); - int (*uring_cmd)(struct io_uring_cmd *, unsigned int); - int (*uring_cmd_iopoll)(struct io_uring_cmd *, struct io_comp_batch *, unsigned int); - int (*mmap_prepare)(struct vm_area_desc *); -}; - -struct tpm_chip; - -struct tpm_space; - -struct file_priv { - struct tpm_chip *chip; - struct tpm_space *space; - struct mutex buffer_mutex; - struct timer_list user_read_timer; - struct work_struct timeout_work; - struct work_struct async_work; - wait_queue_head_t async_wait; - ssize_t response_length; - bool response_read; - bool command_enqueued; - u8 data_buffer[4096]; -}; - -struct file_range { - const struct path *path; - loff_t pos; - size_t count; -}; - -struct file_region { - struct list_head link; - long int from; - long int to; - struct page_counter *reservation_counter; - struct cgroup_subsys_state *css; -}; - -struct file_security_struct { - u32 sid; - u32 fown_sid; - u32 isid; - u32 pseqno; -}; - -struct fs_context; - -struct fs_parameter_spec; - -struct file_system_type { - const char *name; - int fs_flags; - int (*init_fs_context)(struct fs_context *); - const struct fs_parameter_spec *parameters; - struct dentry * (*mount)(struct file_system_type *, int, const char *, void *); - void (*kill_sb)(struct super_block *); - struct module *owner; - struct file_system_type *next; - struct hlist_head fs_supers; - struct lock_class_key s_lock_key; - struct lock_class_key s_umount_key; - struct lock_class_key s_vfs_rename_key; - struct lock_class_key s_writers_key[3]; - struct lock_class_key i_lock_key; - struct lock_class_key i_mutex_key; - struct lock_class_key invalidate_lock_key; - struct lock_class_key i_mutex_dir_key; -}; - -struct filename { - const char *name; - const char *uptr; - atomic_t refcnt; - struct audit_names *aname; - const char iname[0]; -}; - -struct filename_trans_datum { - struct ebitmap stypes; - u32 otype; - struct filename_trans_datum *next; -}; - -struct filename_trans_key { - u32 ttype; - u16 tclass; - const char *name; -}; - -struct files_stat_struct { - long unsigned int nr_files; - long unsigned int nr_free_files; - long unsigned int max_files; -}; - -struct files_struct { - atomic_t count; - bool resize_in_progress; - wait_queue_head_t resize_wait; - struct fdtable *fdt; - struct fdtable fdtab; - long: 64; - long: 64; - long: 64; - long: 64; - spinlock_t file_lock; - unsigned int next_fd; - long unsigned int close_on_exec_init[1]; - long unsigned int open_fds_init[1]; - long unsigned int full_fds_bits_init[1]; - struct file *fd_array[64]; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct filter_head { - struct list_head list; - union { - struct callback_head rcu; - struct rcu_work rwork; - }; -}; - -struct filter_list { - struct list_head list; - struct event_filter *filter; -}; - -struct filter_match_data { - const char *filter; - const char *notfilter; - size_t index; - size_t size; - long unsigned int *addrs; - struct module **mods; -}; - -struct filter_parse_error { - int lasterr; - int lasterr_pos; -}; - -struct regex; - -struct ftrace_event_field; - -struct filter_pred { - struct regex *regex; - struct cpumask *mask; - short unsigned int *ops; - struct ftrace_event_field *field; - u64 val; - u64 val2; - enum filter_pred_fn fn_num; - int offset; - int not; - int op; -}; - -struct find_child_walk_data { - struct acpi_device *adev; - u64 address; - int score; - bool check_sta; - bool check_children; -}; - -struct find_interface_arg { - int minor; - struct device_driver *drv; -}; - -struct kernel_symbol; - -struct find_symbol_arg { - const char *name; - bool gplok; - bool warn; - struct module *owner; - const u32 *crc; - const struct kernel_symbol *sym; - enum mod_license license; -}; - -struct fintek_8250 { - u16 pid; - u16 base_port; - u8 index; - u8 key; -}; - -struct firmware { - size_t size; - const u8 *data; - void *priv; -}; - -struct firmware_cache { - spinlock_t lock; - struct list_head head; - int state; - spinlock_t name_lock; - struct list_head fw_names; - struct delayed_work work; - struct notifier_block pm_notify; -}; - -struct firmware_fallback_config { - unsigned int force_sysfs_fallback; - unsigned int ignore_sysfs_fallback; - int old_timeout; - int loading_timeout; -}; - -struct firmware_map_entry { - u64 start; - u64 end; - const char *type; - struct list_head list; - struct kobject kobj; -}; - -struct firmware_work { - struct work_struct work; - struct module *module; - const char *name; - struct device *device; - void *context; - void (*cont)(const struct firmware *, void *); - u32 opt_flags; -}; - -struct fixed_mdio_bus { - struct mii_bus *mii_bus; - struct list_head phys; -}; - -struct fixed_phy_status { - int link; - int speed; - int duplex; - int pause; - int asym_pause; -}; - -struct fixed_phy { - int addr; - struct phy_device *phydev; - struct fixed_phy_status status; - bool no_carrier; - int (*link_update)(struct net_device *, struct fixed_phy_status *); - struct list_head node; - struct gpio_desc *link_gpiod; -}; - -struct fixed_range_block { - int base_msr; - int ranges; -}; - -struct fixed_voltage_config { - const char *supply_name; - const char *input_supply; - int microvolts; - unsigned int startup_delay; - unsigned int off_on_delay; - unsigned int enabled_at_boot: 1; - struct regulator_init_data *init_data; -}; - -struct regulator_state { - int uV; - int min_uV; - int max_uV; - unsigned int mode; - int enabled; - bool changeable; -}; - -struct notification_limit { - int prot; - int err; - int warn; -}; - -struct regulation_constraints { - const char *name; - int min_uV; - int max_uV; - int uV_offset; - int min_uA; - int max_uA; - int ilim_uA; - int pw_budget_mW; - int system_load; - u32 *max_spread; - int max_uV_step; - unsigned int valid_modes_mask; - unsigned int valid_ops_mask; - int input_uV; - struct regulator_state state_disk; - struct regulator_state state_mem; - struct regulator_state state_standby; - struct notification_limit over_curr_limits; - struct notification_limit over_voltage_limits; - struct notification_limit under_voltage_limits; - struct notification_limit temp_limits; - suspend_state_t initial_state; - unsigned int initial_mode; - unsigned int ramp_delay; - unsigned int settling_time; - unsigned int settling_time_up; - unsigned int settling_time_down; - unsigned int enable_time; - unsigned int uv_less_critical_window_ms; - unsigned int active_discharge; - unsigned int always_on: 1; - unsigned int boot_on: 1; - unsigned int apply_uV: 1; - unsigned int ramp_disable: 1; - unsigned int soft_start: 1; - unsigned int pull_down: 1; - unsigned int system_critical: 1; - unsigned int over_current_protection: 1; - unsigned int over_current_detection: 1; - unsigned int over_voltage_detection: 1; - unsigned int under_voltage_detection: 1; - unsigned int over_temp_detection: 1; -}; - -struct regulator_consumer_supply; - -struct regulator_init_data { - const char *supply_regulator; - struct regulation_constraints constraints; - int num_consumer_supplies; - struct regulator_consumer_supply *consumer_supplies; - void *driver_data; -}; - -struct pdev_archdata {}; - -struct platform_device_id; - -struct platform_device { - const char *name; - int id; - bool id_auto; - struct device dev; - u64 platform_dma_mask; - struct device_dma_parameters dma_parms; - u32 num_resources; - struct resource *resource; - const struct platform_device_id *id_entry; - const char *driver_override; - struct mfd_cell *mfd_cell; - struct pdev_archdata archdata; -}; - -struct fixed_regulator_data { - struct fixed_voltage_config cfg; - struct regulator_init_data init_data; - struct platform_device pdev; -}; - -struct flag_settings { - unsigned int flags; - unsigned int mask; -}; - -struct flagsbuf { - char buf[8]; -}; - -struct flex_groups { - atomic64_t free_clusters; - atomic_t free_inodes; - atomic_t used_dirs; -}; - -struct flock { - short int l_type; - short int l_whence; - __kernel_off_t l_start; - __kernel_off_t l_len; - __kernel_pid_t l_pid; -}; - -struct flock64 { - short int l_type; - short int l_whence; - __kernel_loff_t l_start; - __kernel_loff_t l_len; - __kernel_pid_t l_pid; -}; - -typedef void (*action_destr)(void *); - -struct nf_flowtable; - -struct ip_tunnel_info; - -struct psample_group; - -struct flow_action_entry { - enum flow_action_id id; - u32 hw_index; - long unsigned int cookie; - u64 miss_cookie; - enum flow_action_hw_stats hw_stats; - action_destr destructor; - void *destructor_priv; - union { - u32 chain_index; - struct net_device *dev; - struct { - u16 vid; - __be16 proto; - u8 prio; - } vlan; - struct { - unsigned char dst[6]; - unsigned char src[6]; - } vlan_push_eth; - struct { - enum flow_action_mangle_base htype; - u32 offset; - u32 mask; - u32 val; - } mangle; - struct ip_tunnel_info *tunnel; - u32 csum_flags; - u32 mark; - u16 ptype; - u16 rx_queue; - u32 priority; - struct { - u32 ctx; - u32 index; - u8 vf; - } queue; - struct { - struct psample_group *psample_group; - u32 rate; - u32 trunc_size; - bool truncate; - } sample; - struct { - u32 burst; - u64 rate_bytes_ps; - u64 peakrate_bytes_ps; - u32 avrate; - u16 overhead; - u64 burst_pkt; - u64 rate_pkt_ps; - u32 mtu; - struct { - enum flow_action_id act_id; - u32 extval; - } exceed; - struct { - enum flow_action_id act_id; - u32 extval; - } notexceed; - } police; - struct { - int action; - u16 zone; - struct nf_flowtable *flow_table; - } ct; - struct { - long unsigned int cookie; - u32 mark; - u32 labels[4]; - bool orig_dir; - } ct_metadata; - struct { - u32 label; - __be16 proto; - u8 tc; - u8 bos; - u8 ttl; - } mpls_push; - struct { - __be16 proto; - } mpls_pop; - struct { - u32 label; - u8 tc; - u8 bos; - u8 ttl; - } mpls_mangle; - struct { - s32 prio; - u64 basetime; - u64 cycletime; - u64 cycletimeext; - u32 num_entries; - struct action_gate_entry *entries; - } gate; - struct { - u16 sid; - } pppoe; - }; - struct flow_action_cookie *user_cookie; -}; - -struct flow_action { - unsigned int num_entries; - struct flow_action_entry entries[0]; -}; - -struct flow_action_cookie { - u32 cookie_len; - u8 cookie[0]; -}; - -struct flow_block { - struct list_head cb_list; -}; - -typedef int flow_setup_cb_t(enum tc_setup_type, void *, void *); - -struct flow_block_cb; - -struct flow_block_indr { - struct list_head list; - struct net_device *dev; - struct Qdisc *sch; - enum flow_block_binder_type binder_type; - void *data; - void *cb_priv; - void (*cleanup)(struct flow_block_cb *); -}; - -struct flow_block_cb { - struct list_head driver_list; - struct list_head list; - flow_setup_cb_t *cb; - void *cb_ident; - void *cb_priv; - void (*release)(void *); - struct flow_block_indr indr; - unsigned int refcnt; -}; - -struct flow_block_offload { - enum flow_block_command command; - enum flow_block_binder_type binder_type; - bool block_shared; - bool unlocked_driver_cb; - struct net *net; - struct flow_block *block; - struct list_head cb_list; - struct list_head *driver_block_list; - struct netlink_ext_ack *extack; - struct Qdisc *sch; - struct list_head *cb_list_head; -}; - -struct flow_cls_common_offload { - u32 chain_index; - __be16 protocol; - u32 prio; - bool skip_sw; - struct netlink_ext_ack *extack; -}; - -struct flow_stats { - u64 pkts; - u64 bytes; - u64 drops; - u64 lastused; - enum flow_action_hw_stats used_hw_stats; - bool used_hw_stats_valid; -}; - -struct flow_cls_offload { - struct flow_cls_common_offload common; - enum flow_cls_command command; - bool use_act_stats; - long unsigned int cookie; - struct flow_rule *rule; - struct flow_stats stats; - u32 classid; -}; - -struct flow_dissector_key { - enum flow_dissector_key_id key_id; - size_t offset; -}; - -struct flow_dissector_key_tipc { - __be32 key; -}; - -struct flow_dissector_key_addrs { - union { - struct flow_dissector_key_ipv4_addrs v4addrs; - struct flow_dissector_key_ipv6_addrs v6addrs; - struct flow_dissector_key_tipc tipckey; - }; -}; - -struct flow_dissector_key_arp { - __u32 sip; - __u32 tip; - __u8 op; - unsigned char sha[6]; - unsigned char tha[6]; -}; - -struct flow_dissector_key_cfm { - u8 mdl_ver; - u8 opcode; -}; - -struct flow_dissector_key_control { - u16 thoff; - u16 addr_type; - u32 flags; -}; - -struct flow_dissector_key_ct { - u16 ct_state; - u16 ct_zone; - u32 ct_mark; - u32 ct_labels[4]; -}; - -struct flow_dissector_key_enc_opts { - u8 data[255]; - u8 len; - u32 dst_opt_type; -}; - -struct flow_dissector_key_hash { - u32 hash; -}; - -struct flow_dissector_key_icmp { - struct { - u8 type; - u8 code; - }; - u16 id; -}; - -struct flow_dissector_key_ipsec { - __be32 spi; -}; - -struct flow_dissector_key_keyid { - __be32 keyid; -}; - -struct flow_dissector_key_l2tpv3 { - __be32 session_id; -}; - -struct flow_dissector_key_meta { - int ingress_ifindex; - u16 ingress_iftype; - u8 l2_miss; -}; - -struct flow_dissector_mpls_lse { - u32 mpls_ttl: 8; - u32 mpls_bos: 1; - u32 mpls_tc: 3; - u32 mpls_label: 20; -}; - -struct flow_dissector_key_mpls { - struct flow_dissector_mpls_lse ls[7]; - u8 used_lses; -}; - -struct flow_dissector_key_num_of_vlans { - u8 num_of_vlans; -}; - -struct flow_dissector_key_ports_range { - union { - struct flow_dissector_key_ports tp; - struct { - struct flow_dissector_key_ports tp_min; - struct flow_dissector_key_ports tp_max; - }; - }; -}; - -struct flow_dissector_key_pppoe { - __be16 session_id; - __be16 ppp_proto; - __be16 type; -}; - -struct flow_dissector_key_tags { - u32 flow_label; -}; - -struct flow_dissector_key_tcp { - __be16 flags; -}; - -struct flow_indir_dev_info { - void *data; - struct net_device *dev; - struct Qdisc *sch; - enum tc_setup_type type; - void (*cleanup)(struct flow_block_cb *); - struct list_head list; - enum flow_block_command command; - enum flow_block_binder_type binder_type; - struct list_head *cb_list; -}; - -typedef int flow_indr_block_bind_cb_t(struct net_device *, struct Qdisc *, void *, enum tc_setup_type, void *, void *, void (*)(struct flow_block_cb *)); - -struct flow_indr_dev { - struct list_head list; - flow_indr_block_bind_cb_t *cb; - void *cb_priv; - refcount_t refcnt; -}; - -struct flow_keys { - struct flow_dissector_key_control control; - struct flow_dissector_key_basic basic; - struct flow_dissector_key_tags tags; - struct flow_dissector_key_vlan vlan; - struct flow_dissector_key_vlan cvlan; - struct flow_dissector_key_keyid keyid; - struct flow_dissector_key_ports ports; - struct flow_dissector_key_icmp icmp; - struct flow_dissector_key_addrs addrs; - long: 0; -}; - -struct flow_keys_basic { - struct flow_dissector_key_control control; - struct flow_dissector_key_basic basic; -}; - -struct flow_keys_digest { - u8 data[16]; -}; - -struct flow_match { - struct flow_dissector *dissector; - void *mask; - void *key; -}; - -struct flow_match_arp { - struct flow_dissector_key_arp *key; - struct flow_dissector_key_arp *mask; -}; - -struct flow_match_basic { - struct flow_dissector_key_basic *key; - struct flow_dissector_key_basic *mask; -}; - -struct flow_match_control { - struct flow_dissector_key_control *key; - struct flow_dissector_key_control *mask; -}; - -struct flow_match_ct { - struct flow_dissector_key_ct *key; - struct flow_dissector_key_ct *mask; -}; - -struct flow_match_enc_keyid { - struct flow_dissector_key_keyid *key; - struct flow_dissector_key_keyid *mask; -}; - -struct flow_match_enc_opts { - struct flow_dissector_key_enc_opts *key; - struct flow_dissector_key_enc_opts *mask; -}; - -struct flow_match_eth_addrs { - struct flow_dissector_key_eth_addrs *key; - struct flow_dissector_key_eth_addrs *mask; -}; - -struct flow_match_icmp { - struct flow_dissector_key_icmp *key; - struct flow_dissector_key_icmp *mask; -}; - -struct flow_match_ip { - struct flow_dissector_key_ip *key; - struct flow_dissector_key_ip *mask; -}; - -struct flow_match_ipsec { - struct flow_dissector_key_ipsec *key; - struct flow_dissector_key_ipsec *mask; -}; - -struct flow_match_ipv4_addrs { - struct flow_dissector_key_ipv4_addrs *key; - struct flow_dissector_key_ipv4_addrs *mask; -}; - -struct flow_match_ipv6_addrs { - struct flow_dissector_key_ipv6_addrs *key; - struct flow_dissector_key_ipv6_addrs *mask; -}; - -struct flow_match_l2tpv3 { - struct flow_dissector_key_l2tpv3 *key; - struct flow_dissector_key_l2tpv3 *mask; -}; - -struct flow_match_meta { - struct flow_dissector_key_meta *key; - struct flow_dissector_key_meta *mask; -}; - -struct flow_match_mpls { - struct flow_dissector_key_mpls *key; - struct flow_dissector_key_mpls *mask; -}; - -struct flow_match_ports { - struct flow_dissector_key_ports *key; - struct flow_dissector_key_ports *mask; -}; - -struct flow_match_ports_range { - struct flow_dissector_key_ports_range *key; - struct flow_dissector_key_ports_range *mask; -}; - -struct flow_match_pppoe { - struct flow_dissector_key_pppoe *key; - struct flow_dissector_key_pppoe *mask; -}; - -struct flow_match_tcp { - struct flow_dissector_key_tcp *key; - struct flow_dissector_key_tcp *mask; -}; - -struct flow_match_vlan { - struct flow_dissector_key_vlan *key; - struct flow_dissector_key_vlan *mask; -}; - -struct flow_offload_action { - struct netlink_ext_ack *extack; - enum offload_act_command command; - enum flow_action_id id; - u32 index; - long unsigned int cookie; - struct flow_stats stats; - struct flow_action action; -}; - -struct flow_rule { - struct flow_match match; - struct flow_action action; -}; - -struct flowi_tunnel { - __be64 tun_id; -}; - -struct flowi_common { - int flowic_oif; - int flowic_iif; - int flowic_l3mdev; - __u32 flowic_mark; - __u8 flowic_tos; - __u8 flowic_scope; - __u8 flowic_proto; - __u8 flowic_flags; - __u32 flowic_secid; - kuid_t flowic_uid; - __u32 flowic_multipath_hash; - struct flowi_tunnel flowic_tun_key; -}; - -union flowi_uli { - struct { - __be16 dport; - __be16 sport; - } ports; - struct { - __u8 type; - __u8 code; - } icmpt; - __be32 gre_key; - struct { - __u8 type; - } mht; -}; - -struct flowi4 { - struct flowi_common __fl_common; - __be32 saddr; - __be32 daddr; - union flowi_uli uli; -}; - -struct flowi6 { - struct flowi_common __fl_common; - struct in6_addr daddr; - struct in6_addr saddr; - __be32 flowlabel; - union flowi_uli uli; - __u32 mp_hash; -}; - -struct flowi { - union { - struct flowi_common __fl_common; - struct flowi4 ip4; - struct flowi6 ip6; - } u; -}; - -struct flush_backlogs { - cpumask_t flush_cpus; - struct work_struct w[0]; -}; - -struct flush_busy_ctx_data { - struct blk_mq_hw_ctx *hctx; - struct list_head *list; -}; - -struct flush_tlb_info { - struct mm_struct *mm; - long unsigned int start; - long unsigned int end; - u64 new_tlb_gen; - unsigned int initiating_cpu; - u8 stride_shift; - u8 freed_tables; - u8 trim_cpumask; -}; - -struct fmt { - const char *str; - unsigned char state; - unsigned char size; -}; - -struct fname { - __u32 hash; - __u32 minor_hash; - struct rb_node rb_hash; - struct fname *next; - __u32 inode; - __u8 name_len; - __u8 file_type; - char name[0]; -}; - -struct fnhe_hash_bucket { - struct fib_nh_exception *chain; -}; - -struct page_pool; - -struct page { - long unsigned int flags; - union { - struct { - union { - struct list_head lru; - struct { - void *__filler; - unsigned int mlock_count; - }; - struct list_head buddy_list; - struct list_head pcp_list; - struct { - struct llist_node pcp_llist; - unsigned int order; - }; - }; - struct address_space *mapping; - union { - long unsigned int __folio_index; - long unsigned int share; - }; - long unsigned int private; - }; - struct { - long unsigned int pp_magic; - struct page_pool *pp; - long unsigned int _pp_mapping_pad; - long unsigned int dma_addr; - atomic_long_t pp_ref_count; - }; - struct { - long unsigned int compound_head; - }; - struct { - void *_unused_pgmap_compound_head; - void *zone_device_data; - }; - struct callback_head callback_head; - }; - union { - unsigned int page_type; - atomic_t _mapcount; - }; - atomic_t _refcount; - long unsigned int memcg_data; -}; - -struct folio { - union { - struct { - long unsigned int flags; - union { - struct list_head lru; - struct { - void *__filler; - unsigned int mlock_count; - }; - struct dev_pagemap *pgmap; - }; - struct address_space *mapping; - union { - long unsigned int index; - long unsigned int share; - }; - union { - void *private; - swp_entry_t swap; - }; - atomic_t _mapcount; - atomic_t _refcount; - long unsigned int memcg_data; - }; - struct page page; - }; - union { - struct { - long unsigned int _flags_1; - long unsigned int _head_1; - union { - struct { - atomic_t _large_mapcount; - atomic_t _nr_pages_mapped; - atomic_t _entire_mapcount; - atomic_t _pincount; - mm_id_mapcount_t _mm_id_mapcount[2]; - union { - mm_id_t _mm_id[2]; - long unsigned int _mm_ids; - }; - }; - long unsigned int _usable_1[4]; - }; - atomic_t _mapcount_1; - atomic_t _refcount_1; - unsigned int _nr_pages; - }; - struct page __page_1; - }; - union { - struct { - long unsigned int _flags_2; - long unsigned int _head_2; - struct list_head _deferred_list; - }; - struct page __page_2; - }; - union { - struct { - long unsigned int _flags_3; - long unsigned int _head_3; - void *_hugetlb_subpool; - void *_hugetlb_cgroup; - void *_hugetlb_cgroup_rsvd; - void *_hugetlb_hwpoison; - }; - struct page __page_3; - }; -}; - -struct folio_iter { - struct folio *folio; - size_t offset; - size_t length; - struct folio *_next; - size_t _seg_count; - int _i; -}; - -struct folio_or_pfn { - union { - struct folio *folio; - long unsigned int pfn; - }; - bool is_folio; -}; - -struct folio_queue { - struct folio_batch vec; - u8 orders[31]; - struct folio_queue *next; - struct folio_queue *prev; - long unsigned int marks; - long unsigned int marks2; - unsigned int rreq_id; - unsigned int debug_id; -}; - -struct folio_referenced_arg { - int mapcount; - int referenced; - vm_flags_t vm_flags; - struct mem_cgroup *memcg; -}; - -struct folio_walk { - struct page *page; - enum folio_walk_level level; - union { - pte_t *ptep; - pud_t *pudp; - pmd_t *pmdp; - }; - union { - pte_t pte; - pud_t pud; - pmd_t pmd; - }; - struct vm_area_struct *vma; - spinlock_t *ptl; -}; - -struct follow_page_context { - struct dev_pagemap *pgmap; - unsigned int page_mask; -}; - -struct follow_pfnmap_args { - struct vm_area_struct *vma; - long unsigned int address; - spinlock_t *lock; - pte_t *ptep; - long unsigned int pfn; - long unsigned int addr_mask; - pgprot_t pgprot; - bool writable; - bool special; -}; - -struct font_data { - unsigned int extra[4]; - const unsigned char data[0]; -}; - -struct font_desc { - int idx; - const char *name; - unsigned int width; - unsigned int height; - unsigned int charcount; - const void *data; - int pref; -}; - -struct memory_block; - -typedef int (*walk_memory_blocks_func_t)(struct memory_block *, void *); - -struct for_each_memory_block_cb_data { - walk_memory_blocks_func_t func; - void *arg; -}; - -struct inactive_task_frame { - long unsigned int r15; - long unsigned int r14; - long unsigned int r13; - long unsigned int r12; - long unsigned int bx; - long unsigned int bp; - long unsigned int ret_addr; -}; - -struct fork_frame { - struct inactive_task_frame frame; - struct pt_regs regs; -}; - -struct fork_proc_event { - __kernel_pid_t parent_pid; - __kernel_pid_t parent_tgid; - __kernel_pid_t child_pid; - __kernel_pid_t child_tgid; -}; - -struct format_state___2 { - unsigned char state; - unsigned char size; - unsigned char flags_or_double_size; - unsigned char base; -}; - -struct fown_struct { - struct file *file; - rwlock_t lock; - struct pid *pid; - enum pid_type pid_type; - kuid_t uid; - kuid_t euid; - int signum; -}; - -struct fpdt_subtable_entry { - u16 type; - u8 length; - u8 revision; - u32 reserved; - u64 address; -}; - -struct fpdt_subtable_header { - u32 signature; - u32 length; -}; - -struct fregs_state { - u32 cwd; - u32 swd; - u32 twd; - u32 fip; - u32 fcs; - u32 foo; - u32 fos; - u32 st_space[20]; - u32 status; -}; - -struct fxregs_state { - u16 cwd; - u16 swd; - u16 twd; - u16 fop; - union { - struct { - u64 rip; - u64 rdp; - }; - struct { - u32 fip; - u32 fcs; - u32 foo; - u32 fos; - }; - }; - u32 mxcsr; - u32 mxcsr_mask; - u32 st_space[32]; - u32 xmm_space[64]; - u32 padding[12]; - union { - u32 padding1[12]; - u32 sw_reserved[12]; - }; -}; - -struct math_emu_info; - -struct swregs_state { - u32 cwd; - u32 swd; - u32 twd; - u32 fip; - u32 fcs; - u32 foo; - u32 fos; - u32 st_space[20]; - u8 ftop; - u8 changed; - u8 lookahead; - u8 no_update; - u8 rm; - u8 alimit; - struct math_emu_info *info; - u32 entry_eip; -}; - -struct xstate_header { - u64 xfeatures; - u64 xcomp_bv; - u64 reserved[6]; -}; - -struct xregs_state { - struct fxregs_state i387; - struct xstate_header header; - u8 extended_state_area[0]; -}; - -union fpregs_state { - struct fregs_state fsave; - struct fxregs_state fxsave; - struct swregs_state soft; - struct xregs_state xsave; - u8 __padding[4096]; -}; - -struct fprobe_addr_list { - int index; - int size; - long unsigned int *addrs; -}; - -struct fprobe_hlist_node { - struct hlist_node hlist; - long unsigned int addr; - struct fprobe *fp; -}; - -struct fprobe_hlist { - struct hlist_node hlist; - struct callback_head rcu; - struct fprobe *fp; - int size; - struct fprobe_hlist_node array[0]; -}; - -struct fprop_global { - struct percpu_counter events; - unsigned int period; - seqcount_t sequence; -}; - -struct fpstate { - unsigned int size; - unsigned int user_size; - u64 xfeatures; - u64 user_xfeatures; - u64 xfd; - unsigned int is_valloc: 1; - unsigned int is_guest: 1; - unsigned int is_confidential: 1; - unsigned int in_use: 1; - long: 64; - long: 64; - long: 64; - union fpregs_state regs; -}; - -struct fpu_state_perm { - u64 __state_perm; - unsigned int __state_size; - unsigned int __user_state_size; -}; - -struct fpu { - unsigned int last_cpu; - long unsigned int avx512_timestamp; - struct fpstate *fpstate; - struct fpstate *__task_fpstate; - struct fpu_state_perm perm; - struct fpu_state_perm guest_perm; - struct fpstate __fpstate; -}; - -struct fpu_guest { - u64 xfeatures; - u64 xfd_err; - unsigned int uabi_size; - struct fpstate *fpstate; -}; - -struct fpu_state_config { - unsigned int max_size; - unsigned int default_size; - u64 max_features; - u64 default_features; - u64 legacy_features; - u64 independent_features; -}; - -typedef u32 (*rht_hashfn_t)(const void *, u32, u32); - -typedef u32 (*rht_obj_hashfn_t)(const void *, u32, u32); - -struct rhashtable_compare_arg; - -typedef int (*rht_obj_cmpfn_t)(struct rhashtable_compare_arg *, const void *); - -struct rhashtable_params { - u16 nelem_hint; - u16 key_len; - u16 key_offset; - u16 head_offset; - unsigned int max_size; - u16 min_size; - bool automatic_shrinking; - rht_hashfn_t hashfn; - rht_obj_hashfn_t obj_hashfn; - rht_obj_cmpfn_t obj_cmpfn; -}; - -struct rhashtable { - struct bucket_table *tbl; - unsigned int key_len; - unsigned int max_elems; - struct rhashtable_params p; - bool rhlist; - struct work_struct run_work; - struct mutex mutex; - spinlock_t lock; - atomic_t nelems; -}; - -struct inet_frags; - -struct fqdir { - long int high_thresh; - long int low_thresh; - int timeout; - int max_dist; - struct inet_frags *f; - struct net *net; - bool dead; - long: 64; - long: 64; - struct rhashtable rhashtable; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - atomic_long_t mem; - struct work_struct destroy_work; - struct llist_node free_list; - long: 64; - long: 64; -}; - -struct frag { - struct list_head list; - u32 group; - u8 num; - u8 rec; - u8 map; - u8 data[0]; -}; - -struct frag_hdr { - __u8 nexthdr; - __u8 reserved; - __be16 frag_off; - __be32 identification; -}; - -struct frag_v4_compare_key { - __be32 saddr; - __be32 daddr; - u32 user; - u32 vif; - __be16 id; - u16 protocol; -}; - -struct frag_v6_compare_key { - struct in6_addr saddr; - struct in6_addr daddr; - u32 user; - __be32 id; - u32 iif; -}; - -struct inet_frag_queue { - struct rhash_head node; - union { - struct frag_v4_compare_key v4; - struct frag_v6_compare_key v6; - } key; - struct timer_list timer; - spinlock_t lock; - refcount_t refcnt; - struct rb_root rb_fragments; - struct sk_buff *fragments_tail; - struct sk_buff *last_run_head; - ktime_t stamp; - int len; - int meat; - u8 tstamp_type; - __u8 flags; - u16 max_size; - struct fqdir *fqdir; - struct callback_head rcu; -}; - -struct frag_queue { - struct inet_frag_queue q; - int iif; - __u16 nhoffset; - u8 ecn; -}; - -struct freader { - void *buf; - u32 buf_sz; - int err; - union { - struct { - struct file *file; - struct folio *folio; - void *addr; - loff_t folio_off; - bool may_fault; - }; - struct { - const char *data; - u64 data_sz; - }; - }; -}; - -struct fred_info { - long unsigned int edata; - long unsigned int resv; -}; - -struct fred_frame { - struct pt_regs regs; - struct fred_info info; -}; - -struct free_area { - struct list_head free_list[6]; - long unsigned int nr_free; -}; - -struct freerunning_counters { - unsigned int counter_base; - unsigned int counter_offset; - unsigned int box_offset; - unsigned int num_counters; - unsigned int bits; - unsigned int *box_offsets; -}; - -struct freezer { - struct cgroup_subsys_state css; - unsigned int state; -}; - -struct freq_attr { - struct attribute attr; - ssize_t (*show)(struct cpufreq_policy *, char *); - ssize_t (*store)(struct cpufreq_policy *, const char *, size_t); -}; - -struct muldiv { - u32 multiplier; - u32 divider; -}; - -struct freq_desc { - bool use_msr_plat; - struct muldiv muldiv[16]; - u32 freqs[16]; - u32 mask; -}; - -struct p_log { - const char *prefix; - struct fc_log *log; -}; - -struct fs_context_operations; - -struct fs_context { - const struct fs_context_operations *ops; - struct mutex uapi_mutex; - struct file_system_type *fs_type; - void *fs_private; - void *sget_key; - struct dentry *root; - struct user_namespace *user_ns; - struct net *net_ns; - const struct cred *cred; - struct p_log log; - const char *source; - void *security; - void *s_fs_info; - unsigned int sb_flags; - unsigned int sb_flags_mask; - unsigned int s_iflags; - enum fs_context_purpose purpose: 8; - enum fs_context_phase phase: 8; - bool need_free: 1; - bool global: 1; - bool oldapi: 1; - bool exclusive: 1; -}; - -struct fs_parameter; - -struct fs_context_operations { - void (*free)(struct fs_context *); - int (*dup)(struct fs_context *, struct fs_context *); - int (*parse_param)(struct fs_context *, struct fs_parameter *); - int (*parse_monolithic)(struct fs_context *, void *); - int (*get_tree)(struct fs_context *); - int (*reconfigure)(struct fs_context *); -}; - -struct fs_disk_quota { - __s8 d_version; - __s8 d_flags; - __u16 d_fieldmask; - __u32 d_id; - __u64 d_blk_hardlimit; - __u64 d_blk_softlimit; - __u64 d_ino_hardlimit; - __u64 d_ino_softlimit; - __u64 d_bcount; - __u64 d_icount; - __s32 d_itimer; - __s32 d_btimer; - __u16 d_iwarns; - __u16 d_bwarns; - __s8 d_itimer_hi; - __s8 d_btimer_hi; - __s8 d_rtbtimer_hi; - __s8 d_padding2; - __u64 d_rtb_hardlimit; - __u64 d_rtb_softlimit; - __u64 d_rtbcount; - __s32 d_rtbtimer; - __u16 d_rtbwarns; - __s16 d_padding3; - char d_padding4[8]; -}; - -struct fs_error_report { - int error; - struct inode *inode; - struct super_block *sb; -}; - -struct fs_parameter { - const char *key; - enum fs_value_type type: 8; - union { - char *string; - void *blob; - struct filename *name; - struct file *file; - }; - size_t size; - int dirfd; -}; - -struct fs_parse_result; - -typedef int fs_param_type(struct p_log *, const struct fs_parameter_spec *, struct fs_parameter *, struct fs_parse_result *); - -struct fs_parameter_spec { - const char *name; - fs_param_type *type; - u8 opt; - short unsigned int flags; - const void *data; -}; - -struct fs_parse_result { - bool negated; - union { - bool boolean; - int int_32; - unsigned int uint_32; - u64 uint_64; - kuid_t uid; - kgid_t gid; - }; -}; - -struct fs_qfilestat { - __u64 qfs_ino; - __u64 qfs_nblks; - __u32 qfs_nextents; -}; - -typedef struct fs_qfilestat fs_qfilestat_t; - -struct fs_qfilestatv { - __u64 qfs_ino; - __u64 qfs_nblks; - __u32 qfs_nextents; - __u32 qfs_pad; -}; - -struct fs_quota_stat { - __s8 qs_version; - __u16 qs_flags; - __s8 qs_pad; - fs_qfilestat_t qs_uquota; - fs_qfilestat_t qs_gquota; - __u32 qs_incoredqs; - __s32 qs_btimelimit; - __s32 qs_itimelimit; - __s32 qs_rtbtimelimit; - __u16 qs_bwarnlimit; - __u16 qs_iwarnlimit; -}; - -struct fs_quota_statv { - __s8 qs_version; - __u8 qs_pad1; - __u16 qs_flags; - __u32 qs_incoredqs; - struct fs_qfilestatv qs_uquota; - struct fs_qfilestatv qs_gquota; - struct fs_qfilestatv qs_pquota; - __s32 qs_btimelimit; - __s32 qs_itimelimit; - __s32 qs_rtbtimelimit; - __u16 qs_bwarnlimit; - __u16 qs_iwarnlimit; - __u16 qs_rtbwarnlimit; - __u16 qs_pad3; - __u32 qs_pad4; - __u64 qs_pad2[7]; -}; - -struct fs_struct { - int users; - seqlock_t seq; - int umask; - int in_exec; - struct path root; - struct path pwd; -}; - -struct fs_sysfs_path { - __u8 len; - __u8 name[128]; -}; - -struct fscrypt_key_specifier { - __u32 type; - __u32 __reserved; - union { - __u8 __reserved[32]; - __u8 descriptor[8]; - __u8 identifier[16]; - } u; -}; - -struct fscrypt_add_key_arg { - struct fscrypt_key_specifier key_spec; - __u32 raw_size; - __u32 key_id; - __u32 flags; - __u32 __reserved[7]; - __u8 raw[0]; -}; - -struct fscrypt_context_v1 { - u8 version; - u8 contents_encryption_mode; - u8 filenames_encryption_mode; - u8 flags; - u8 master_key_descriptor[8]; - u8 nonce[16]; -}; - -struct fscrypt_context_v2 { - u8 version; - u8 contents_encryption_mode; - u8 filenames_encryption_mode; - u8 flags; - u8 log2_data_unit_size; - u8 __reserved[3]; - u8 master_key_identifier[16]; - u8 nonce[16]; -}; - -union fscrypt_context { - u8 version; - struct fscrypt_context_v1 v1; - struct fscrypt_context_v2 v2; -}; - -struct fscrypt_prepared_key { - struct crypto_sync_skcipher *tfm; - struct blk_crypto_key *blk_key; -}; - -struct fscrypt_mode; - -struct fscrypt_direct_key { - struct super_block *dk_sb; - struct hlist_node dk_node; - refcount_t dk_refcount; - const struct fscrypt_mode *dk_mode; - struct fscrypt_prepared_key dk_key; - u8 dk_descriptor[8]; - u8 dk_raw[64]; -}; - -struct fscrypt_get_key_status_arg { - struct fscrypt_key_specifier key_spec; - __u32 __reserved[6]; - __u32 status; - __u32 status_flags; - __u32 user_count; - __u32 __out_reserved[13]; -}; - -struct fscrypt_policy_v1 { - __u8 version; - __u8 contents_encryption_mode; - __u8 filenames_encryption_mode; - __u8 flags; - __u8 master_key_descriptor[8]; -}; - -struct fscrypt_policy_v2 { - __u8 version; - __u8 contents_encryption_mode; - __u8 filenames_encryption_mode; - __u8 flags; - __u8 log2_data_unit_size; - __u8 __reserved[3]; - __u8 master_key_identifier[16]; -}; - -struct fscrypt_get_policy_ex_arg { - __u64 policy_size; - union { - __u8 version; - struct fscrypt_policy_v1 v1; - struct fscrypt_policy_v2 v2; - } policy; -}; - -struct fscrypt_hkdf { - struct crypto_shash *hmac_tfm; -}; - -union fscrypt_policy { - u8 version; - struct fscrypt_policy_v1 v1; - struct fscrypt_policy_v2 v2; -}; - -struct fscrypt_master_key; - -struct fscrypt_inode_info { - struct fscrypt_prepared_key ci_enc_key; - u8 ci_owns_key: 1; - u8 ci_inlinecrypt: 1; - u8 ci_dirhash_key_initialized: 1; - u8 ci_data_unit_bits; - u8 ci_data_units_per_block_bits; - u32 ci_hashed_ino; - struct fscrypt_mode *ci_mode; - struct inode *ci_inode; - struct fscrypt_master_key *ci_master_key; - struct list_head ci_master_key_link; - struct fscrypt_direct_key *ci_direct_key; - siphash_key_t ci_dirhash_key; - union fscrypt_policy ci_policy; - u8 ci_nonce[16]; -}; - -union fscrypt_iv { - struct { - __le64 index; - u8 nonce[16]; - }; - u8 raw[32]; - __le64 dun[4]; -}; - -struct fscrypt_key { - __u32 mode; - __u8 raw[64]; - __u32 size; -}; - -struct fscrypt_keyring { - spinlock_t lock; - struct hlist_head key_hashtable[128]; -}; - -struct fscrypt_master_key_secret { - struct fscrypt_hkdf hkdf; - bool is_hw_wrapped; - u32 size; - u8 bytes[128]; -}; - -struct fscrypt_master_key { - struct hlist_node mk_node; - struct rw_semaphore mk_sem; - refcount_t mk_active_refs; - refcount_t mk_struct_refs; - struct callback_head mk_rcu_head; - struct fscrypt_master_key_secret mk_secret; - struct fscrypt_key_specifier mk_spec; - struct key *mk_users; - struct list_head mk_decrypted_inodes; - spinlock_t mk_decrypted_inodes_lock; - struct fscrypt_prepared_key mk_direct_keys[11]; - struct fscrypt_prepared_key mk_iv_ino_lblk_64_keys[11]; - struct fscrypt_prepared_key mk_iv_ino_lblk_32_keys[11]; - siphash_key_t mk_ino_hash_key; - bool mk_ino_hash_key_initialized; - bool mk_present; -}; - -struct fscrypt_mode { - const char *friendly_name; - const char *cipher_str; - int keysize; - int security_strength; - int ivsize; - int logged_cryptoapi_impl; - int logged_blk_crypto_native; - int logged_blk_crypto_fallback; - enum blk_crypto_mode_num blk_crypto_mode; -}; - -struct fscrypt_name { - const struct qstr *usr_fname; - struct fscrypt_str disk_name; - u32 hash; - u32 minor_hash; - struct fscrypt_str crypto_buf; - bool is_nokey_name; -}; - -struct fscrypt_nokey_name { - u32 dirhash[2]; - u8 bytes[149]; - u8 sha256[32]; -}; - -struct fscrypt_operations { - unsigned int needs_bounce_pages: 1; - unsigned int has_32bit_inodes: 1; - unsigned int supports_subblock_data_units: 1; - const char *legacy_key_prefix; - int (*get_context)(struct inode *, void *, size_t); - int (*set_context)(struct inode *, const void *, size_t, void *); - const union fscrypt_policy * (*get_dummy_policy)(struct super_block *); - bool (*empty_dir)(struct inode *); - bool (*has_stable_inodes)(struct super_block *); - struct block_device ** (*get_devices)(struct super_block *, unsigned int *); -}; - -struct fscrypt_provisioning_key_payload { - __u32 type; - __u32 flags; - __u8 raw[0]; -}; - -struct fscrypt_remove_key_arg { - struct fscrypt_key_specifier key_spec; - __u32 removal_status_flags; - __u32 __reserved[5]; -}; - -struct fscrypt_symlink_data { - __le16 len; - char encrypted_path[0]; -}; - -struct fsl_mc_obj_desc { - char type[16]; - int id; - u16 vendor; - u16 ver_major; - u16 ver_minor; - u8 irq_count; - u8 region_count; - u32 state; - char label[16]; - u16 flags; -}; - -struct fsl_mc_io; - -struct fsl_mc_device_irq; - -struct fsl_mc_resource; - -struct fsl_mc_device { - struct device dev; - u64 dma_mask; - u16 flags; - u32 icid; - u16 mc_handle; - struct fsl_mc_io *mc_io; - struct fsl_mc_obj_desc obj_desc; - struct resource *regions; - struct fsl_mc_device_irq **irqs; - struct fsl_mc_resource *resource; - struct device_link *consumer_link; - const char *driver_override; -}; - -struct fsl_mc_resource_pool; - -struct fsl_mc_resource { - enum fsl_mc_pool_type type; - s32 id; - void *data; - struct fsl_mc_resource_pool *parent_pool; - struct list_head node; -}; - -struct fsl_mc_device_irq { - unsigned int virq; - struct fsl_mc_device *mc_dev; - u8 dev_irq_index; - struct fsl_mc_resource resource; -}; - -struct fsl_mc_io { - struct device *dev; - u16 flags; - u32 portal_size; - phys_addr_t portal_phys_addr; - void *portal_virt_addr; - struct fsl_mc_device *dpmcp_dev; - union { - struct mutex mutex; - raw_spinlock_t spinlock; - }; -}; - -struct fsmap { - __u32 fmr_device; - __u32 fmr_flags; - __u64 fmr_physical; - __u64 fmr_owner; - __u64 fmr_offset; - __u64 fmr_length; - __u64 fmr_reserved[3]; -}; - -struct fsmap_head { - __u32 fmh_iflags; - __u32 fmh_oflags; - __u32 fmh_count; - __u32 fmh_entries; - __u64 fmh_reserved[6]; - struct fsmap fmh_keys[2]; - struct fsmap fmh_recs[0]; -}; - -struct inotify_group_private_data { - spinlock_t idr_lock; - struct idr idr; - struct ucounts *ucounts; -}; - -struct fsnotify_ops; - -struct fsnotify_group { - const struct fsnotify_ops *ops; - refcount_t refcnt; - spinlock_t notification_lock; - struct list_head notification_list; - wait_queue_head_t notification_waitq; - unsigned int q_len; - unsigned int max_events; - enum fsnotify_group_prio priority; - bool shutdown; - int flags; - unsigned int owner_flags; - struct mutex mark_mutex; - atomic_t user_waits; - struct list_head marks_list; - struct fasync_struct *fsn_fa; - struct fsnotify_event *overflow_event; - struct mem_cgroup *memcg; - struct user_namespace *user_ns; - union { - void *private; - struct inotify_group_private_data inotify_data; - struct fanotify_group_private_data fanotify_data; - }; -}; - -struct fsnotify_iter_info { - struct fsnotify_mark *marks[6]; - struct fsnotify_group *current_group; - unsigned int report_mask; - int srcu_idx; -}; - -typedef struct fsnotify_mark_connector *fsnotify_connp_t; - -struct fsnotify_mark_connector { - spinlock_t lock; - unsigned char type; - unsigned char prio; - short unsigned int flags; - union { - void *obj; - struct fsnotify_mark_connector *destroy_next; - }; - struct hlist_head list; -}; - -struct mnt_namespace; - -struct fsnotify_mnt { - const struct mnt_namespace *ns; - u64 mnt_id; -}; - -struct fsnotify_ops { - int (*handle_event)(struct fsnotify_group *, u32, const void *, int, struct inode *, const struct qstr *, u32, struct fsnotify_iter_info *); - int (*handle_inode_event)(struct fsnotify_mark *, u32, struct inode *, struct inode *, const struct qstr *, u32); - void (*free_group_priv)(struct fsnotify_group *); - void (*freeing_mark)(struct fsnotify_mark *, struct fsnotify_group *); - void (*free_event)(struct fsnotify_group *, struct fsnotify_event *); - void (*free_mark)(struct fsnotify_mark *); -}; - -struct fsnotify_sb_info { - struct fsnotify_mark_connector *sb_marks; - atomic_long_t watched_objects[3]; -}; - -struct fstrim_range { - __u64 start; - __u64 len; - __u64 minlen; -}; - -struct fsuuid { - __u32 fsu_len; - __u32 fsu_flags; - __u8 fsu_uuid[0]; -}; - -struct fsuuid2 { - __u8 len; - __u8 uuid[16]; -}; - -struct fsverity_descriptor { - __u8 version; - __u8 hash_algorithm; - __u8 log_blocksize; - __u8 salt_size; - __le32 sig_size; - __le64 data_size; - __u8 root_hash[64]; - __u8 salt[32]; - __u8 __reserved[144]; - __u8 signature[0]; -}; - -struct fsverity_digest { - __u16 digest_algorithm; - __u16 digest_size; - __u8 digest[0]; -}; - -struct fsverity_enable_arg { - __u32 version; - __u32 hash_algorithm; - __u32 block_size; - __u32 salt_size; - __u64 salt_ptr; - __u32 sig_size; - __u32 __reserved1; - __u64 sig_ptr; - __u64 __reserved2[11]; -}; - -struct fsverity_formatted_digest { - char magic[8]; - __le16 digest_algorithm; - __le16 digest_size; - __u8 digest[0]; -}; - -struct fsverity_hash_alg { - const char *name; - unsigned int digest_size; - unsigned int block_size; - enum hash_algo algo_id; -}; - -struct sha256_ctx { - struct __sha256_ctx ctx; -}; - -struct sha512_ctx { - struct __sha512_ctx ctx; -}; - -union fsverity_hash_ctx { - struct sha256_ctx sha256; - struct sha512_ctx sha512; -}; - -struct merkle_tree_params { - const struct fsverity_hash_alg *hash_alg; - const union fsverity_hash_ctx *hashstate; - unsigned int digest_size; - unsigned int block_size; - unsigned int hashes_per_block; - unsigned int blocks_per_page; - u8 log_digestsize; - u8 log_blocksize; - u8 log_arity; - u8 log_blocks_per_page; - unsigned int num_levels; - u64 tree_size; - long unsigned int tree_pages; - long unsigned int level_start[8]; -}; - -struct fsverity_info { - struct merkle_tree_params tree_params; - u8 root_hash[64]; - u8 file_digest[64]; - const struct inode *inode; - long unsigned int *hash_block_verified; -}; - -struct fsverity_operations { - int (*begin_enable_verity)(struct file *); - int (*end_enable_verity)(struct file *, const void *, size_t, u64); - int (*get_verity_descriptor)(struct inode *, void *, size_t); - struct page * (*read_merkle_tree_page)(struct inode *, long unsigned int, long unsigned int); - int (*write_merkle_tree_block)(struct inode *, const void *, u64, unsigned int); -}; - -struct fsverity_read_metadata_arg { - __u64 metadata_type; - __u64 offset; - __u64 length; - __u64 buf_ptr; - __u64 __reserved; -}; - -struct fsxattr { - __u32 fsx_xflags; - __u32 fsx_extsize; - __u32 fsx_nextents; - __u32 fsx_projid; - __u32 fsx_cowextsize; - unsigned char fsx_pad[8]; -}; - -struct trace_seq { - char buffer[8156]; - struct seq_buf seq; - size_t readpos; - int full; -}; - -struct tracer; - -struct ring_buffer_iter; - -struct trace_iterator { - struct trace_array *tr; - struct tracer *trace; - struct array_buffer *array_buffer; - void *private; - int cpu_file; - struct mutex mutex; - struct ring_buffer_iter **buffer_iter; - long unsigned int iter_flags; - void *temp; - unsigned int temp_size; - char *fmt; - unsigned int fmt_size; - atomic_t wait_index; - struct trace_seq tmp_seq; - cpumask_var_t started; - bool closed; - bool snapshot; - struct trace_seq seq; - struct trace_entry *ent; - long unsigned int lost_events; - int leftover; - int ent_size; - int cpu; - u64 ts; - loff_t pos; - long int idx; -}; - -struct ftrace_buffer_info { - struct trace_iterator iter; - void *spare; - unsigned int spare_cpu; - unsigned int spare_size; - unsigned int read; -}; - -struct ftrace_entry { - struct trace_entry ent; - long unsigned int ip; - long unsigned int parent_ip; - long unsigned int args[0]; -}; - -struct ftrace_event_field { - struct list_head link; - const char *name; - const char *type; - int filter_type; - int offset; - int size; - unsigned int is_signed: 1; - unsigned int needs_test: 1; - int len; -}; - -struct ftrace_func_command { - struct list_head list; - char *name; - int (*func)(struct trace_array *, struct ftrace_hash *, char *, char *, char *, int); -}; - -struct ftrace_func_entry { - struct hlist_node hlist; - long unsigned int ip; - long unsigned int direct; -}; - -struct ftrace_func_map { - struct ftrace_func_entry entry; - void *data; -}; - -struct ftrace_hash { - long unsigned int size_bits; - struct hlist_head *buckets; - long unsigned int count; - long unsigned int flags; - struct callback_head rcu; -}; - -struct ftrace_func_mapper { - struct ftrace_hash hash; -}; - -struct ftrace_probe_ops; - -struct ftrace_func_probe { - struct ftrace_probe_ops *probe_ops; - struct ftrace_ops ops; - struct trace_array *tr; - struct list_head list; - void *data; - int ref; -}; - -struct ftrace_glob { - char *search; - unsigned int len; - int type; -}; - -struct trace_parser { - bool cont; - bool fail; - char *buffer; - unsigned int idx; - unsigned int size; -}; - -struct ftrace_graph_data { - struct ftrace_hash *hash; - struct ftrace_func_entry *entry; - int idx; - enum graph_filter_type type; - struct ftrace_hash *new_hash; - const struct seq_operations *seq_ops; - struct trace_parser parser; -}; - -struct ftrace_init_func { - struct list_head list; - long unsigned int ip; -}; - -struct ftrace_page; - -struct ftrace_iterator { - loff_t pos; - loff_t func_pos; - loff_t mod_pos; - struct ftrace_page *pg; - struct dyn_ftrace *func; - struct ftrace_func_probe *probe; - struct ftrace_func_entry *probe_entry; - struct trace_parser parser; - struct ftrace_hash *hash; - struct ftrace_ops *ops; - struct trace_array *tr; - struct list_head *mod_list; - int pidx; - int idx; - unsigned int flags; -}; - -struct ftrace_mod_func { - struct list_head list; - char *name; - long unsigned int ip; - unsigned int size; -}; - -struct ftrace_mod_load { - struct list_head list; - char *func; - char *module; - int enable; -}; - -struct ftrace_mod_map { - struct callback_head rcu; - struct list_head list; - struct module *mod; - long unsigned int start_addr; - long unsigned int end_addr; - struct list_head funcs; - unsigned int num_funcs; -}; - -union ftrace_op_code_union { - char code[7]; - struct { - char op[3]; - int offset; - } __attribute__((packed)); -}; - -struct ftrace_page { - struct ftrace_page *next; - struct dyn_ftrace *records; - int index; - int order; -}; - -struct ftrace_probe_ops { - void (*func)(long unsigned int, long unsigned int, struct trace_array *, struct ftrace_probe_ops *, void *); - int (*init)(struct ftrace_probe_ops *, struct trace_array *, long unsigned int, void *, void **); - void (*free)(struct ftrace_probe_ops *, struct trace_array *, long unsigned int, void *); - int (*print)(struct seq_file *, long unsigned int, struct ftrace_probe_ops *, void *); -}; - -struct ftrace_profile { - struct hlist_node node; - long unsigned int ip; - long unsigned int counter; - long long unsigned int time; - long long unsigned int time_squared; -}; - -struct ftrace_profile_page { - struct ftrace_profile_page *next; - long unsigned int index; - struct ftrace_profile records[0]; -}; - -typedef int (*cmp_func_t)(const void *, const void *); - -struct tracer_stat { - const char *name; - void * (*stat_start)(struct tracer_stat *); - void * (*stat_next)(void *, int); - cmp_func_t stat_cmp; - int (*stat_show)(struct seq_file *, void *); - void (*stat_release)(void *); - int (*stat_headers)(struct seq_file *); -}; - -struct ftrace_profile_stat { - atomic_t disabled; - struct hlist_head *hash; - struct ftrace_profile_page *pages; - struct ftrace_profile_page *start; - struct tracer_stat stat; -}; - -struct ftrace_rec_iter { - struct ftrace_page *pg; - int index; -}; - -struct ftrace_regs {}; - -struct ftrace_ret_stack { - long unsigned int ret; - long unsigned int func; - long unsigned int *retp; -}; - -struct ftrace_stack { - long unsigned int calls[1024]; -}; - -struct ftrace_stacks { - struct ftrace_stack stacks[4]; -}; - -struct func_repeats_entry { - struct trace_entry ent; - long unsigned int ip; - long unsigned int parent_ip; - u16 count; - u16 top_delta_ts; - u32 bottom_delta_ts; -}; - -struct function_filter_data { - struct ftrace_ops *ops; - int first_filter; - int first_notrace; -}; - -struct fuse_access_in { - uint32_t mask; - uint32_t padding; -}; - -struct fuse_arg { - unsigned int size; - void *value; -}; - -struct fuse_in_arg { - unsigned int size; - const void *value; -}; - -struct fuse_mount; - -struct fuse_args { - uint64_t nodeid; - uint32_t opcode; - uint8_t in_numargs; - uint8_t out_numargs; - uint8_t ext_idx; - bool force: 1; - bool noreply: 1; - bool nocreds: 1; - bool in_pages: 1; - bool out_pages: 1; - bool user_pages: 1; - bool out_argvar: 1; - bool page_zeroing: 1; - bool page_replace: 1; - bool may_block: 1; - bool is_ext: 1; - bool is_pinned: 1; - bool invalidate_vmap: 1; - struct fuse_in_arg in_args[4]; - struct fuse_arg out_args[2]; - void (*end)(struct fuse_mount *, struct fuse_args *, int); - void *vmap_base; -}; - -struct fuse_folio_desc; - -struct fuse_args_pages { - struct fuse_args args; - struct folio **folios; - struct fuse_folio_desc *descs; - unsigned int num_folios; -}; - -struct fuse_attr { - uint64_t ino; - uint64_t size; - uint64_t blocks; - uint64_t atime; - uint64_t mtime; - uint64_t ctime; - uint32_t atimensec; - uint32_t mtimensec; - uint32_t ctimensec; - uint32_t mode; - uint32_t nlink; - uint32_t uid; - uint32_t gid; - uint32_t rdev; - uint32_t blksize; - uint32_t flags; -}; - -struct fuse_attr_out { - uint64_t attr_valid; - uint32_t attr_valid_nsec; - uint32_t dummy; - struct fuse_attr attr; -}; - -struct fuse_backing { - struct file *file; - struct cred *cred; - refcount_t count; - struct callback_head rcu; -}; - -struct fuse_backing_map { - int32_t fd; - uint32_t flags; - uint64_t padding; -}; - -struct fuse_batch_forget_in { - uint32_t count; - uint32_t dummy; -}; - -struct fuse_bmap_in { - uint64_t block; - uint32_t blocksize; - uint32_t padding; -}; - -struct fuse_bmap_out { - uint64_t block; -}; - -struct fuse_forget_one { - uint64_t nodeid; - uint64_t nlookup; -}; - -struct fuse_forget_link { - struct fuse_forget_one forget_one; - struct fuse_forget_link *next; -}; - -struct fuse_iqueue_ops; - -struct fuse_iqueue { - unsigned int connected; - spinlock_t lock; - wait_queue_head_t waitq; - u64 reqctr; - struct list_head pending; - struct list_head interrupts; - struct fuse_forget_link forget_list_head; - struct fuse_forget_link *forget_list_tail; - int forget_batch; - struct fasync_struct *fasync; - const struct fuse_iqueue_ops *ops; - void *priv; -}; - -struct fuse_conn_dax; - -struct fuse_sync_bucket; - -struct fuse_ring; - -struct fuse_conn { - spinlock_t lock; - refcount_t count; - atomic_t dev_count; - atomic_t epoch; - struct callback_head rcu; - kuid_t user_id; - kgid_t group_id; - struct pid_namespace *pid_ns; - struct user_namespace *user_ns; - unsigned int max_read; - unsigned int max_write; - unsigned int max_pages; - unsigned int max_pages_limit; - struct fuse_iqueue iq; - atomic64_t khctr; - struct rb_root polled_files; - unsigned int max_background; - unsigned int congestion_threshold; - unsigned int num_background; - unsigned int active_background; - struct list_head bg_queue; - spinlock_t bg_lock; - int initialized; - int blocked; - wait_queue_head_t blocked_waitq; - unsigned int connected; - bool aborted; - unsigned int conn_error: 1; - unsigned int conn_init: 1; - unsigned int async_read: 1; - unsigned int abort_err: 1; - unsigned int atomic_o_trunc: 1; - unsigned int export_support: 1; - unsigned int writeback_cache: 1; - unsigned int parallel_dirops: 1; - unsigned int handle_killpriv: 1; - unsigned int cache_symlinks: 1; - unsigned int legacy_opts_show: 1; - unsigned int handle_killpriv_v2: 1; - unsigned int no_open: 1; - unsigned int no_opendir: 1; - unsigned int no_fsync: 1; - unsigned int no_fsyncdir: 1; - unsigned int no_flush: 1; - unsigned int no_setxattr: 1; - unsigned int setxattr_ext: 1; - unsigned int no_getxattr: 1; - unsigned int no_listxattr: 1; - unsigned int no_removexattr: 1; - unsigned int no_lock: 1; - unsigned int no_access: 1; - unsigned int no_create: 1; - unsigned int no_interrupt: 1; - unsigned int no_bmap: 1; - unsigned int no_poll: 1; - unsigned int big_writes: 1; - unsigned int dont_mask: 1; - unsigned int no_flock: 1; - unsigned int no_fallocate: 1; - unsigned int no_rename2: 1; - unsigned int auto_inval_data: 1; - unsigned int explicit_inval_data: 1; - unsigned int do_readdirplus: 1; - unsigned int readdirplus_auto: 1; - unsigned int async_dio: 1; - unsigned int no_lseek: 1; - unsigned int posix_acl: 1; - unsigned int default_permissions: 1; - unsigned int allow_other: 1; - unsigned int no_copy_file_range: 1; - unsigned int destroy: 1; - unsigned int delete_stale: 1; - unsigned int no_control: 1; - unsigned int no_force_umount: 1; - unsigned int auto_submounts: 1; - unsigned int sync_fs: 1; - unsigned int init_security: 1; - unsigned int create_supp_group: 1; - unsigned int inode_dax: 1; - unsigned int no_tmpfile: 1; - unsigned int direct_io_allow_mmap: 1; - unsigned int no_statx: 1; - unsigned int passthrough: 1; - unsigned int use_pages_for_kvec_io: 1; - unsigned int no_link: 1; - unsigned int io_uring; - int max_stack_depth; - atomic_t num_waiting; - unsigned int minor; - struct list_head entry; - dev_t dev; - u32 scramble_key[4]; - atomic64_t attr_version; - atomic64_t evict_ctr; - u32 name_max; - void (*release)(struct fuse_conn *); - struct rw_semaphore killsb; - struct list_head devices; - enum fuse_dax_mode dax_mode; - struct fuse_conn_dax *dax; - struct list_head mounts; - struct fuse_sync_bucket *curr_bucket; - struct idr backing_files_map; - struct fuse_ring *ring; - struct { - struct delayed_work work; - unsigned int req_timeout; - } timeout; - u8 blkbits; -}; - -struct fuse_conn_dax { - struct dax_device *dev; - spinlock_t lock; - long unsigned int nr_busy_ranges; - struct list_head busy_ranges; - struct delayed_work free_work; - wait_queue_head_t range_waitq; - long int nr_free_ranges; - struct list_head free_ranges; - long unsigned int nr_ranges; -}; - -struct fuse_copy_file_range_in { - uint64_t fh_in; - uint64_t off_in; - uint64_t nodeid_out; - uint64_t fh_out; - uint64_t off_out; - uint64_t len; - uint64_t flags; -}; - -struct fuse_req; - -struct pipe_buffer; - -struct fuse_copy_state { - struct fuse_req *req; - struct iov_iter *iter; - struct pipe_buffer *pipebufs; - struct pipe_buffer *currbuf; - struct pipe_inode_info *pipe; - long unsigned int nr_segs; - struct page *pg; - unsigned int len; - unsigned int offset; - bool write: 1; - bool move_folios: 1; - bool is_uring: 1; - struct { - unsigned int copied_sz; - } ring; -}; - -struct fuse_create_in { - uint32_t flags; - uint32_t mode; - uint32_t umask; - uint32_t open_flags; -}; - -struct interval_tree_node { - struct rb_node rb; - long unsigned int start; - long unsigned int last; - long unsigned int __subtree_last; -}; - -struct fuse_dax_mapping { - struct inode *inode; - struct list_head list; - struct interval_tree_node itn; - struct list_head busy_list; - u64 window_offset; - loff_t length; - bool writable; - refcount_t refcnt; -}; - -struct fuse_pqueue { - unsigned int connected; - spinlock_t lock; - struct list_head *processing; - struct list_head io; -}; - -struct fuse_dev { - struct fuse_conn *fc; - struct fuse_pqueue pq; - struct list_head entry; -}; - -struct fuse_dirent { - uint64_t ino; - uint64_t off; - uint32_t namelen; - uint32_t type; - char name[0]; -}; - -struct fuse_entry_out { - uint64_t nodeid; - uint64_t generation; - uint64_t entry_valid; - uint64_t attr_valid; - uint32_t entry_valid_nsec; - uint32_t attr_valid_nsec; - struct fuse_attr attr; -}; - -struct fuse_direntplus { - struct fuse_entry_out entry_out; - struct fuse_dirent dirent; -}; - -struct fuse_ext_header { - uint32_t size; - uint32_t type; -}; - -struct fuse_fallocate_in { - uint64_t fh; - uint64_t offset; - uint64_t length; - uint32_t mode; - uint32_t padding; -}; - -union fuse_file_args; - -struct fuse_file { - struct fuse_mount *fm; - union fuse_file_args *args; - u64 kh; - u64 fh; - u64 nodeid; - refcount_t count; - u32 open_flags; - struct list_head write_entry; - struct { - loff_t pos; - loff_t cache_off; - u64 version; - } readdir; - struct rb_node polled_node; - wait_queue_head_t poll_wait; - enum { - IOM_NONE = 0, - IOM_CACHED = 1, - IOM_UNCACHED = 2, - } iomode; - struct file *passthrough; - const struct cred *cred; - bool flock: 1; -}; - -struct fuse_open_out { - uint64_t fh; - uint32_t open_flags; - int32_t backing_id; -}; - -struct fuse_release_in { - uint64_t fh; - uint32_t flags; - uint32_t release_flags; - uint64_t lock_owner; -}; - -struct fuse_release_args { - struct fuse_args args; - struct fuse_release_in inarg; - struct inode *inode; -}; - -union fuse_file_args { - struct fuse_open_out open_outarg; - struct fuse_release_args release_args; -}; - -struct fuse_file_lock { - uint64_t start; - uint64_t end; - uint32_t type; - uint32_t pid; -}; - -struct fuse_writepage_args; - -struct fuse_fill_wb_data { - struct fuse_writepage_args *wpa; - struct fuse_file *ff; - unsigned int max_folios; - unsigned int nr_bytes; -}; - -struct fuse_flush_in { - uint64_t fh; - uint32_t unused; - uint32_t padding; - uint64_t lock_owner; -}; - -struct fuse_folio_desc { - unsigned int length; - unsigned int offset; -}; - -struct fuse_forget_in { - uint64_t nlookup; -}; - -struct fuse_fs_context { - int fd; - struct file *file; - unsigned int rootmode; - kuid_t user_id; - kgid_t group_id; - bool is_bdev: 1; - bool fd_present: 1; - bool rootmode_present: 1; - bool user_id_present: 1; - bool group_id_present: 1; - bool default_permissions: 1; - bool allow_other: 1; - bool destroy: 1; - bool no_control: 1; - bool no_force_umount: 1; - bool legacy_opts_show: 1; - enum fuse_dax_mode dax_mode; - unsigned int max_read; - unsigned int blksize; - const char *subtype; - struct dax_device *dax_dev; - void **fudptr; -}; - -struct fuse_fsync_in { - uint64_t fh; - uint32_t fsync_flags; - uint32_t padding; -}; - -struct fuse_getattr_in { - uint32_t getattr_flags; - uint32_t dummy; - uint64_t fh; -}; - -struct fuse_getxattr_in { - uint32_t size; - uint32_t padding; -}; - -struct fuse_getxattr_out { - uint32_t size; - uint32_t padding; -}; - -struct fuse_in_header { - uint32_t len; - uint32_t opcode; - uint64_t unique; - uint64_t nodeid; - uint32_t uid; - uint32_t gid; - uint32_t pid; - uint16_t total_extlen; - uint16_t padding; -}; - -struct fuse_init_in { - uint32_t major; - uint32_t minor; - uint32_t max_readahead; - uint32_t flags; - uint32_t flags2; - uint32_t unused[11]; -}; - -struct fuse_init_out { - uint32_t major; - uint32_t minor; - uint32_t max_readahead; - uint32_t flags; - uint16_t max_background; - uint16_t congestion_threshold; - uint32_t max_write; - uint32_t time_gran; - uint16_t max_pages; - uint16_t map_alignment; - uint32_t flags2; - uint32_t max_stack_depth; - uint16_t request_timeout; - uint16_t unused[11]; -}; - -struct fuse_init_args { - struct fuse_args args; - struct fuse_init_in in; - struct fuse_init_out out; -}; - -struct fuse_inode_dax; - -struct fuse_submount_lookup; - -struct fuse_inode { - struct inode inode; - u64 nodeid; - u64 nlookup; - struct fuse_forget_link *forget; - u64 i_time; - u32 inval_mask; - umode_t orig_i_mode; - struct timespec64 i_btime; - u64 orig_ino; - u64 attr_version; - union { - struct { - struct list_head write_files; - struct list_head queued_writes; - int writectr; - int iocachectr; - wait_queue_head_t page_waitq; - wait_queue_head_t direct_io_waitq; - }; - struct { - bool cached; - loff_t size; - loff_t pos; - u64 version; - struct timespec64 mtime; - u64 iversion; - spinlock_t lock; - } rdc; - }; - long unsigned int state; - struct mutex mutex; - spinlock_t lock; - struct fuse_inode_dax *dax; - struct fuse_submount_lookup *submount_lookup; - struct fuse_backing *fb; - u8 cached_i_blkbits; -}; - -struct fuse_inode_dax { - struct rw_semaphore sem; - struct rb_root_cached tree; - long unsigned int nr; -}; - -struct fuse_inode_handle { - u64 nodeid; - u32 generation; -}; - -struct fuse_interrupt_in { - uint64_t unique; -}; - -struct fuse_read_in { - uint64_t fh; - uint64_t offset; - uint32_t size; - uint32_t read_flags; - uint64_t lock_owner; - uint32_t flags; - uint32_t padding; -}; - -struct fuse_write_in { - uint64_t fh; - uint64_t offset; - uint32_t size; - uint32_t write_flags; - uint64_t lock_owner; - uint32_t flags; - uint32_t padding; -}; - -struct fuse_write_out { - uint32_t size; - uint32_t padding; -}; - -struct fuse_io_priv; - -struct fuse_io_args { - union { - struct { - struct fuse_read_in in; - u64 attr_ver; - } read; - struct { - struct fuse_write_in in; - struct fuse_write_out out; - bool folio_locked; - } write; - }; - struct fuse_args_pages ap; - struct fuse_io_priv *io; - struct fuse_file *ff; -}; - -struct fuse_io_priv { - struct kref refcnt; - int async; - spinlock_t lock; - unsigned int reqs; - ssize_t bytes; - size_t size; - __u64 offset; - bool write; - bool should_dirty; - int err; - struct kiocb *iocb; - struct completion *done; - bool blocking; -}; - -struct fuse_ioctl_in { - uint64_t fh; - uint32_t flags; - uint32_t cmd; - uint64_t arg; - uint32_t in_size; - uint32_t out_size; -}; - -struct fuse_ioctl_iovec { - uint64_t base; - uint64_t len; -}; - -struct fuse_ioctl_out { - int32_t result; - uint32_t flags; - uint32_t in_iovs; - uint32_t out_iovs; -}; - -struct fuse_iqueue_ops { - void (*send_forget)(struct fuse_iqueue *, struct fuse_forget_link *); - void (*send_interrupt)(struct fuse_iqueue *, struct fuse_req *); - void (*send_req)(struct fuse_iqueue *, struct fuse_req *); - void (*release)(struct fuse_iqueue *); -}; - -struct fuse_kstatfs { - uint64_t blocks; - uint64_t bfree; - uint64_t bavail; - uint64_t files; - uint64_t ffree; - uint32_t bsize; - uint32_t namelen; - uint32_t frsize; - uint32_t padding; - uint32_t spare[6]; -}; - -struct fuse_link_in { - uint64_t oldnodeid; -}; - -struct fuse_lk_in { - uint64_t fh; - uint64_t owner; - struct fuse_file_lock lk; - uint32_t lk_flags; - uint32_t padding; -}; - -struct fuse_lk_out { - struct fuse_file_lock lk; -}; - -struct fuse_lseek_in { - uint64_t fh; - uint64_t offset; - uint32_t whence; - uint32_t padding; -}; - -struct fuse_lseek_out { - uint64_t offset; -}; - -struct fuse_mkdir_in { - uint32_t mode; - uint32_t umask; -}; - -struct fuse_mknod_in { - uint32_t mode; - uint32_t rdev; - uint32_t umask; - uint32_t padding; -}; - -struct fuse_mount { - struct fuse_conn *fc; - struct super_block *sb; - struct list_head fc_entry; - struct callback_head rcu; -}; - -struct fuse_notify_delete_out { - uint64_t parent; - uint64_t child; - uint32_t namelen; - uint32_t padding; -}; - -struct fuse_notify_inval_entry_out { - uint64_t parent; - uint32_t namelen; - uint32_t flags; -}; - -struct fuse_notify_inval_inode_out { - uint64_t ino; - int64_t off; - int64_t len; -}; - -struct fuse_notify_poll_wakeup_out { - uint64_t kh; -}; - -struct fuse_notify_retrieve_in { - uint64_t dummy1; - uint64_t offset; - uint32_t size; - uint32_t dummy2; - uint64_t dummy3; - uint64_t dummy4; -}; - -struct fuse_notify_retrieve_out { - uint64_t notify_unique; - uint64_t nodeid; - uint64_t offset; - uint32_t size; - uint32_t padding; -}; - -struct fuse_notify_store_out { - uint64_t nodeid; - uint64_t offset; - uint32_t size; - uint32_t padding; -}; - -struct fuse_open_in { - uint32_t flags; - uint32_t open_flags; -}; - -struct fuse_out_header { - uint32_t len; - int32_t error; - uint64_t unique; -}; - -struct fuse_poll_in { - uint64_t fh; - uint64_t kh; - uint32_t flags; - uint32_t events; -}; - -struct fuse_poll_out { - uint32_t revents; - uint32_t padding; -}; - -struct fuse_removemapping_in { - uint32_t count; -}; - -struct fuse_removemapping_one { - uint64_t moffset; - uint64_t len; -}; - -struct fuse_rename2_in { - uint64_t newdir; - uint32_t flags; - uint32_t padding; -}; - -struct fuse_req { - struct list_head list; - struct list_head intr_entry; - struct fuse_args *args; - refcount_t count; - long unsigned int flags; - struct { - struct fuse_in_header h; - } in; - struct { - struct fuse_out_header h; - } out; - wait_queue_head_t waitq; - void *argbuf; - struct fuse_mount *fm; - void *ring_entry; - void *ring_queue; - long unsigned int create_time; -}; - -struct fuse_retrieve_args { - struct fuse_args_pages ap; - struct fuse_notify_retrieve_in inarg; -}; - -struct fuse_ring_queue; - -struct fuse_ring { - struct fuse_conn *fc; - size_t nr_queues; - size_t max_payload_sz; - struct fuse_ring_queue **queues; - unsigned int stop_debug_log: 1; - wait_queue_head_t stop_waitq; - struct delayed_work async_teardown_work; - long unsigned int teardown_time; - atomic_t queue_refs; - bool ready; -}; - -struct fuse_uring_req_header; - -struct fuse_ring_ent { - struct fuse_uring_req_header *headers; - void *payload; - struct fuse_ring_queue *queue; - struct io_uring_cmd *cmd; - struct list_head list; - enum fuse_ring_req_state state; - struct fuse_req *fuse_req; -}; - -struct fuse_ring_queue { - struct fuse_ring *ring; - unsigned int qid; - spinlock_t lock; - struct list_head ent_avail_queue; - struct list_head ent_w_req_queue; - struct list_head ent_commit_queue; - struct list_head ent_in_userspace; - struct list_head ent_released; - struct list_head fuse_req_queue; - struct list_head fuse_req_bg_queue; - struct fuse_pqueue fpq; - unsigned int active_background; - bool stopped; -}; - -struct fuse_secctx { - uint32_t size; - uint32_t padding; -}; - -struct fuse_secctx_header { - uint32_t size; - uint32_t nr_secctx; -}; - -struct fuse_setattr_in { - uint32_t valid; - uint32_t padding; - uint64_t fh; - uint64_t size; - uint64_t lock_owner; - uint64_t atime; - uint64_t mtime; - uint64_t ctime; - uint32_t atimensec; - uint32_t mtimensec; - uint32_t ctimensec; - uint32_t mode; - uint32_t unused4; - uint32_t uid; - uint32_t gid; - uint32_t unused5; -}; - -struct fuse_setupmapping_in { - uint64_t fh; - uint64_t foffset; - uint64_t len; - uint64_t flags; - uint64_t moffset; -}; - -struct fuse_setxattr_in { - uint32_t size; - uint32_t flags; - uint32_t setxattr_flags; - uint32_t padding; -}; - -struct fuse_statfs_out { - struct fuse_kstatfs st; -}; - -struct fuse_sx_time { - int64_t tv_sec; - uint32_t tv_nsec; - int32_t __reserved; -}; - -struct fuse_statx { - uint32_t mask; - uint32_t blksize; - uint64_t attributes; - uint32_t nlink; - uint32_t uid; - uint32_t gid; - uint16_t mode; - uint16_t __spare0[1]; - uint64_t ino; - uint64_t size; - uint64_t blocks; - uint64_t attributes_mask; - struct fuse_sx_time atime; - struct fuse_sx_time btime; - struct fuse_sx_time ctime; - struct fuse_sx_time mtime; - uint32_t rdev_major; - uint32_t rdev_minor; - uint32_t dev_major; - uint32_t dev_minor; - uint64_t __spare2[14]; -}; - -struct fuse_statx_in { - uint32_t getattr_flags; - uint32_t reserved; - uint64_t fh; - uint32_t sx_flags; - uint32_t sx_mask; -}; - -struct fuse_statx_out { - uint64_t attr_valid; - uint32_t attr_valid_nsec; - uint32_t flags; - uint64_t spare[2]; - struct fuse_statx stat; -}; - -struct fuse_submount_lookup { - refcount_t count; - u64 nodeid; - struct fuse_forget_link *forget; -}; - -struct fuse_supp_groups { - uint32_t nr_groups; - uint32_t groups[0]; -}; - -struct fuse_sync_bucket { - atomic_t count; - wait_queue_head_t waitq; - struct callback_head rcu; -}; - -struct fuse_syncfs_in { - uint64_t padding; -}; - -struct fuse_uring_cmd_req { - uint64_t flags; - uint64_t commit_id; - uint16_t qid; - uint8_t padding[6]; -}; - -struct fuse_uring_ent_in_out { - uint64_t flags; - uint64_t commit_id; - uint32_t payload_sz; - uint32_t padding; - uint64_t reserved; -}; - -struct fuse_uring_pdu { - struct fuse_ring_ent *ent; -}; - -struct fuse_uring_req_header { - char in_out[128]; - char op_in[128]; - struct fuse_uring_ent_in_out ring_ent_in_out; -}; - -struct fuse_writepage_args { - struct fuse_io_args ia; - struct list_head queue_entry; - struct inode *inode; - struct fuse_sync_bucket *bucket; -}; - -struct futex_hash_bucket; - -typedef struct futex_hash_bucket *class_hb_t; - -struct futex_private_hash; - -struct futex_hash_bucket { - atomic_t waiters; - spinlock_t lock; - struct plist_head chain; - struct futex_private_hash *priv; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -union futex_key { - struct { - u64 i_seq; - long unsigned int pgoff; - unsigned int offset; - } shared; - struct { - union { - struct mm_struct *mm; - u64 __tmp; - }; - long unsigned int address; - unsigned int offset; - } private; - struct { - u64 ptr; - long unsigned int word; - unsigned int offset; - unsigned int node; - } both; -}; - -struct futex_pi_state { - struct list_head list; - struct rt_mutex_base pi_mutex; - struct task_struct *owner; - refcount_t refcount; - union futex_key key; -}; - -typedef struct futex_private_hash *class_private_hash_t; - -struct futex_private_hash { - int state; - unsigned int hash_mask; - struct callback_head rcu; - void *mm; - bool custom; - long: 64; - long: 64; - long: 64; - struct futex_hash_bucket queues[0]; -}; - -struct wake_q_head; - -struct futex_q; - -typedef void futex_wake_fn(struct wake_q_head *, struct futex_q *); - -struct rt_mutex_waiter; - -struct futex_q { - struct plist_node list; - struct task_struct *task; - spinlock_t *lock_ptr; - futex_wake_fn *wake; - void *wake_data; - union futex_key key; - struct futex_pi_state *pi_state; - struct rt_mutex_waiter *rt_waiter; - union futex_key *requeue_pi_key; - u32 bitset; - atomic_t requeue_state; - bool drop_hb_ref; -}; - -struct futex_waitv { - __u64 val; - __u64 uaddr; - __u32 flags; - __u32 __reserved; -}; - -struct futex_vector { - struct futex_waitv w; - struct futex_q q; -}; - -struct fw_cache_entry { - struct list_head list; - const char *name; -}; - -struct fw_name_devm { - long unsigned int magic; - const char *name; -}; - -struct fw_state { - struct completion completion; - enum fw_status status; -}; - -struct fw_priv { - struct kref ref; - struct list_head list; - struct firmware_cache *fwc; - struct fw_state fw_st; - void *data; - size_t size; - size_t allocated_size; - size_t offset; - u32 opt_flags; - bool is_paged_buf; - struct page **pages; - int nr_pages; - int page_array_size; - bool need_uevent; - struct list_head pending_list; - const char *fw_name; -}; - -struct fw_rsc_carveout { - u32 da; - u32 pa; - u32 len; - u32 flags; - u32 reserved; - u8 name[32]; -}; - -struct fw_rsc_devmem { - u32 da; - u32 pa; - u32 len; - u32 flags; - u32 reserved; - u8 name[32]; -}; - -struct fw_rsc_hdr { - u32 type; - u8 data[0]; -}; - -struct fw_rsc_trace { - u32 da; - u32 len; - u32 reserved; - u8 name[32]; -}; - -struct fw_rsc_vdev_vring { - u32 da; - u32 align; - u32 num; - u32 notifyid; - u32 pa; -}; - -struct fw_rsc_vdev { - u32 id; - u32 notifyid; - u32 dfeatures; - u32 gfeatures; - u32 config_len; - u8 status; - u8 num_of_vrings; - u8 reserved[2]; - struct fw_rsc_vdev_vring vring[0]; -}; - -struct fw_sysfs { - bool nowait; - struct device dev; - struct fw_priv *fw_priv; - struct firmware *fw; - void *fw_upload_priv; -}; - -union fw_table_header { - struct acpi_table_header acpi; - struct acpi_table_cdat cdat; -}; - -struct fw_upload { - void *dd_handle; - void *priv; -}; - -struct fw_upload_ops { - enum fw_upload_err (*prepare)(struct fw_upload *, const u8 *, u32); - enum fw_upload_err (*write)(struct fw_upload *, const u8 *, u32, u32, u32 *); - enum fw_upload_err (*poll_complete)(struct fw_upload *); - void (*cancel)(struct fw_upload *); - void (*cleanup)(struct fw_upload *); -}; - -struct fw_upload_priv { - struct fw_upload *fw_upload; - struct module *module; - const char *name; - const struct fw_upload_ops *ops; - struct mutex lock; - struct work_struct work; - const u8 *data; - u32 remaining_size; - enum fw_upload_prog progress; - enum fw_upload_prog err_progress; - enum fw_upload_err err_code; -}; - -union fwnet_hwaddr { - u8 u[16]; - struct { - __be64 uniq_id; - u8 max_rec; - u8 sspd; - u8 fifo[6]; - } uc; -}; - -struct fwnode_endpoint { - unsigned int port; - unsigned int id; - const struct fwnode_handle *local_fwnode; -}; - -struct fwnode_link { - struct fwnode_handle *supplier; - struct list_head s_hook; - struct fwnode_handle *consumer; - struct list_head c_hook; - u8 flags; -}; - -struct fwnode_reference_args; - -struct fwnode_operations { - struct fwnode_handle * (*get)(struct fwnode_handle *); - void (*put)(struct fwnode_handle *); - bool (*device_is_available)(const struct fwnode_handle *); - const void * (*device_get_match_data)(const struct fwnode_handle *, const struct device *); - bool (*device_dma_supported)(const struct fwnode_handle *); - enum dev_dma_attr (*device_get_dma_attr)(const struct fwnode_handle *); - bool (*property_present)(const struct fwnode_handle *, const char *); - bool (*property_read_bool)(const struct fwnode_handle *, const char *); - int (*property_read_int_array)(const struct fwnode_handle *, const char *, unsigned int, void *, size_t); - int (*property_read_string_array)(const struct fwnode_handle *, const char *, const char **, size_t); - const char * (*get_name)(const struct fwnode_handle *); - const char * (*get_name_prefix)(const struct fwnode_handle *); - struct fwnode_handle * (*get_parent)(const struct fwnode_handle *); - struct fwnode_handle * (*get_next_child_node)(const struct fwnode_handle *, struct fwnode_handle *); - struct fwnode_handle * (*get_named_child_node)(const struct fwnode_handle *, const char *); - int (*get_reference_args)(const struct fwnode_handle *, const char *, const char *, unsigned int, unsigned int, struct fwnode_reference_args *); - struct fwnode_handle * (*graph_get_next_endpoint)(const struct fwnode_handle *, struct fwnode_handle *); - struct fwnode_handle * (*graph_get_remote_endpoint)(const struct fwnode_handle *); - struct fwnode_handle * (*graph_get_port_parent)(struct fwnode_handle *); - int (*graph_parse_endpoint)(const struct fwnode_handle *, struct fwnode_endpoint *); - void * (*iomap)(struct fwnode_handle *, int); - int (*irq_get)(const struct fwnode_handle *, unsigned int); - int (*add_links)(struct fwnode_handle *); -}; - -struct fwnode_reference_args { - struct fwnode_handle *fwnode; - unsigned int nargs; - u64 args[16]; -}; - -struct idt_bits { - u16 ist: 3; - u16 zero: 5; - u16 type: 5; - u16 dpl: 2; - u16 p: 1; -}; - -struct gate_struct { - u16 offset_low; - u16 segment; - struct idt_bits bits; - u16 offset_middle; - u32 offset_high; - u32 reserved; -}; - -typedef struct gate_struct gate_desc; - -struct gatt_mask { - long unsigned int mask; - u32 type; -}; - -struct gcm_instance_ctx { - struct crypto_skcipher_spawn ctr; - struct crypto_ahash_spawn ghash; -}; - -struct gcr3_tbl_info { - u64 *gcr3_tbl; - int glx; - u32 pasid_cnt; - u16 domid; -}; - -struct gcry_mpi { - int alloced; - int nlimbs; - int nbits; - int sign; - unsigned int flags; - mpi_limb_t *d; -}; - -struct gdt_page { - struct desc_struct gdt[16]; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct pcpu_gen_cookie; - -struct gen_cookie { - struct pcpu_gen_cookie *local; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - atomic64_t forward_last; - atomic64_t reverse_last; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct gen_pool; - -typedef long unsigned int (*genpool_algo_t)(long unsigned int *, long unsigned int, long unsigned int, unsigned int, void *, struct gen_pool *, long unsigned int); - -struct gen_pool { - spinlock_t lock; - struct list_head chunks; - int min_alloc_order; - genpool_algo_t algo; - void *data; - const char *name; -}; - -struct gen_pool_chunk { - struct list_head next_chunk; - atomic_long_t avail; - phys_addr_t phys_addr; - void *owner; - long unsigned int start_addr; - long unsigned int end_addr; - long unsigned int bits[0]; -}; - -struct timer_rand_state; - -struct gendisk { - int major; - int first_minor; - int minors; - char disk_name[32]; - short unsigned int events; - short unsigned int event_flags; - struct xarray part_tbl; - struct block_device *part0; - const struct block_device_operations *fops; - struct request_queue *queue; - void *private_data; - struct bio_set bio_split; - int flags; - long unsigned int state; - struct mutex open_mutex; - unsigned int open_partitions; - struct backing_dev_info *bdi; - struct kobject queue_kobj; - struct kobject *slave_dir; - struct list_head slave_bdevs; - struct timer_rand_state *random; - struct disk_events *ev; - unsigned int nr_zones; - unsigned int zone_capacity; - unsigned int last_zone_capacity; - long unsigned int *conv_zones_bitmap; - unsigned int zone_wplugs_hash_bits; - atomic_t nr_zone_wplugs; - spinlock_t zone_wplugs_lock; - struct mempool_s *zone_wplugs_pool; - struct hlist_head *zone_wplugs_hash; - struct workqueue_struct *zone_wplugs_wq; - struct cdrom_device_info *cdi; - int node_id; - struct badblocks *bb; - struct lockdep_map lockdep_map; - u64 diskseq; - blk_mode_t open_mode; - struct blk_independent_access_ranges *ia_ranges; - struct mutex rqos_state_mutex; -}; - -struct gpd_dev_ops { - int (*start)(struct device *); - int (*stop)(struct device *); -}; - -struct genpd_governor_data; - -struct genpd_power_state; - -struct genpd_lock_ops; - -struct generic_pm_domain { - struct device dev; - struct dev_pm_domain domain; - struct list_head gpd_list_node; - struct list_head parent_links; - struct list_head child_links; - struct list_head dev_list; - struct dev_power_governor *gov; - struct genpd_governor_data *gd; - struct work_struct power_off_work; - struct fwnode_handle *provider; - bool has_provider; - const char *name; - atomic_t sd_count; - enum gpd_status status; - unsigned int device_count; - unsigned int device_id; - unsigned int suspended_count; - unsigned int prepared_count; - unsigned int performance_state; - cpumask_var_t cpus; - bool synced_poweroff; - bool stay_on; - enum genpd_sync_state sync_state; - int (*power_off)(struct generic_pm_domain *); - int (*power_on)(struct generic_pm_domain *); - struct raw_notifier_head power_notifiers; - struct opp_table *opp_table; - int (*set_performance_state)(struct generic_pm_domain *, unsigned int); - struct gpd_dev_ops dev_ops; - int (*set_hwmode_dev)(struct generic_pm_domain *, struct device *, bool); - bool (*get_hwmode_dev)(struct generic_pm_domain *, struct device *); - int (*attach_dev)(struct generic_pm_domain *, struct device *); - void (*detach_dev)(struct generic_pm_domain *, struct device *); - unsigned int flags; - struct genpd_power_state *states; - void (*free_states)(struct genpd_power_state *, unsigned int); - unsigned int state_count; - unsigned int state_idx; - u64 on_time; - u64 accounting_time; - const struct genpd_lock_ops *lock_ops; - union { - struct mutex mlock; - struct { - spinlock_t slock; - long unsigned int lock_flags; - }; - struct { - raw_spinlock_t raw_slock; - long unsigned int raw_lock_flags; - }; - }; -}; - -struct pm_domain_data { - struct list_head list_node; - struct device *dev; -}; - -struct gpd_timing_data; - -struct generic_pm_domain_data { - struct pm_domain_data base; - struct gpd_timing_data *td; - struct notifier_block nb; - struct notifier_block *power_nb; - int cpu; - unsigned int performance_state; - unsigned int default_pstate; - unsigned int rpm_pstate; - unsigned int opp_token; - bool hw_mode; - bool rpm_always_on; - void *data; -}; - -struct geneve_opt { - __be16 opt_class; - u8 type; - u8 length: 5; - u8 r3: 1; - u8 r2: 1; - u8 r1: 1; - u8 opt_data[0]; -}; - -struct ocontext; - -struct genfs { - char *fstype; - struct ocontext *head; - struct genfs *next; -}; - -struct netlink_callback; - -struct nla_policy; - -struct genl_split_ops { - union { - struct { - int (*pre_doit)(const struct genl_split_ops *, struct sk_buff *, struct genl_info *); - int (*doit)(struct sk_buff *, struct genl_info *); - void (*post_doit)(const struct genl_split_ops *, struct sk_buff *, struct genl_info *); - }; - struct { - int (*start)(struct netlink_callback *); - int (*dumpit)(struct sk_buff *, struct netlink_callback *); - int (*done)(struct netlink_callback *); - }; - }; - const struct nla_policy *policy; - unsigned int maxattr; - u8 cmd; - u8 internal_flags; - u8 flags; - u8 validate; -}; - -struct genlmsghdr; - -struct genl_info { - u32 snd_seq; - u32 snd_portid; - const struct genl_family *family; - const struct nlmsghdr *nlhdr; - struct genlmsghdr *genlhdr; - struct nlattr **attrs; - possible_net_t _net; - union { - u8 ctx[48]; - void *user_ptr[2]; - }; - struct netlink_ext_ack *extack; -}; - -struct genl_dumpit_info { - struct genl_split_ops op; - struct genl_info info; -}; - -struct genl_ops; - -struct genl_small_ops; - -struct genl_multicast_group; - -struct genl_family { - unsigned int hdrsize; - char name[16]; - unsigned int version; - unsigned int maxattr; - u8 netnsok: 1; - u8 parallel_ops: 1; - u8 n_ops; - u8 n_small_ops; - u8 n_split_ops; - u8 n_mcgrps; - u8 resv_start_op; - const struct nla_policy *policy; - int (*pre_doit)(const struct genl_split_ops *, struct sk_buff *, struct genl_info *); - void (*post_doit)(const struct genl_split_ops *, struct sk_buff *, struct genl_info *); - int (*bind)(int); - void (*unbind)(int); - const struct genl_ops *ops; - const struct genl_small_ops *small_ops; - const struct genl_split_ops *split_ops; - const struct genl_multicast_group *mcgrps; - struct module *module; - size_t sock_priv_size; - void (*sock_priv_init)(void *); - void (*sock_priv_destroy)(void *); - int id; - unsigned int mcgrp_offset; - struct xarray *sock_privs; -}; - -struct genl_multicast_group { - char name[16]; - u8 flags; -}; - -struct genl_op_iter { - const struct genl_family *family; - struct genl_split_ops doit; - struct genl_split_ops dumpit; - int cmd_idx; - int entry_idx; - u32 cmd; - u8 flags; -}; - -struct genl_ops { - int (*doit)(struct sk_buff *, struct genl_info *); - int (*start)(struct netlink_callback *); - int (*dumpit)(struct sk_buff *, struct netlink_callback *); - int (*done)(struct netlink_callback *); - const struct nla_policy *policy; - unsigned int maxattr; - u8 cmd; - u8 internal_flags; - u8 flags; - u8 validate; -}; - -struct genl_small_ops { - int (*doit)(struct sk_buff *, struct genl_info *); - int (*dumpit)(struct sk_buff *, struct netlink_callback *); - u8 cmd; - u8 internal_flags; - u8 flags; - u8 validate; -}; - -struct genl_start_context { - const struct genl_family *family; - struct nlmsghdr *nlh; - struct netlink_ext_ack *extack; - const struct genl_split_ops *ops; - int hdrlen; -}; - -struct genlmsghdr { - __u8 cmd; - __u8 version; - __u16 reserved; -}; - -struct genpd_governor_data { - s64 max_off_time_ns; - bool max_off_time_changed; - ktime_t next_wakeup; - ktime_t next_hrtimer; - ktime_t last_enter; - bool reflect_residency; - bool cached_power_down_ok; - bool cached_power_down_state_idx; -}; - -struct genpd_lock_ops { - void (*lock)(struct generic_pm_domain *); - void (*lock_nested)(struct generic_pm_domain *, int); - int (*lock_interruptible)(struct generic_pm_domain *); - void (*unlock)(struct generic_pm_domain *); -}; - -struct genpd_power_state { - const char *name; - s64 power_off_latency_ns; - s64 power_on_latency_ns; - s64 residency_ns; - u64 usage; - u64 rejected; - u64 above; - u64 below; - struct fwnode_handle *fwnode; - u64 idle_time; - void *data; -}; - -struct genpool_data_align { - int align; -}; - -struct genpool_data_fixed { - long unsigned int offset; -}; - -struct genradix_iter { - size_t offset; - size_t pos; -}; - -struct genradix_node { - union { - struct genradix_node *children[64]; - u8 data[512]; - }; -}; - -struct getcpu_cache { - long unsigned int blob[16]; -}; - -struct linux_dirent; - -struct getdents_callback { - struct dir_context ctx; - struct linux_dirent *current_dir; - int prev_reclen; - int error; -}; - -struct getdents_callback___2 { - struct dir_context ctx; - char *name; - u64 ino; - int found; - int sequence; -}; - -struct linux_dirent64; - -struct getdents_callback64 { - struct dir_context ctx; - struct linux_dirent64 *current_dir; - int prev_reclen; - int error; -}; - -struct getfsmap_info { - struct super_block *gi_sb; - struct fsmap_head *gi_data; - unsigned int gi_idx; - __u32 gi_last_flags; -}; - -struct input_keymap_entry { - __u8 flags; - __u8 len; - __u16 index; - __u32 keycode; - __u8 scancode[32]; -}; - -struct getset_keycode_data { - struct input_keymap_entry ke; - int error; -}; - -struct gf128mul_4k { - be128 t[256]; -}; - -struct gf128mul_64k { - struct gf128mul_4k *t[16]; -}; - -struct kvm_memory_slot; - -struct gfn_to_hva_cache { - u64 generation; - gpa_t gpa; - long unsigned int hva; - long unsigned int len; - struct kvm_memory_slot *memslot; -}; - -struct kvm; - -struct gfn_to_pfn_cache { - u64 generation; - gpa_t gpa; - long unsigned int uhva; - struct kvm_memory_slot *memslot; - struct kvm *kvm; - struct list_head list; - rwlock_t lock; - struct mutex refresh_lock; - void *khva; - kvm_pfn_t pfn; - bool active; - bool valid; -}; - -struct ghash_ctx { - struct gf128mul_4k *gf128; -}; - -struct ghash_desc_ctx { - u8 buffer[16]; -}; - -struct ghcb_save_area { - u8 reserved_0x0[203]; - u8 cpl; - u8 reserved_0xcc[116]; - u64 xss; - u8 reserved_0x148[24]; - u64 dr7; - u8 reserved_0x168[16]; - u64 rip; - u8 reserved_0x180[88]; - u64 rsp; - u8 reserved_0x1e0[24]; - u64 rax; - u8 reserved_0x200[264]; - u64 rcx; - u64 rdx; - u64 rbx; - u8 reserved_0x320[8]; - u64 rbp; - u64 rsi; - u64 rdi; - u64 r8; - u64 r9; - u64 r10; - u64 r11; - u64 r12; - u64 r13; - u64 r14; - u64 r15; - u8 reserved_0x380[16]; - u64 sw_exit_code; - u64 sw_exit_info_1; - u64 sw_exit_info_2; - u64 sw_scratch; - u8 reserved_0x3b0[56]; - u64 xcr0; - u8 valid_bitmap[16]; - u64 x87_state_gpa; -}; - -struct ghcb { - struct ghcb_save_area save; - u8 reserved_save[1016]; - u8 shared_buffer[2032]; - u8 reserved_0xff0[10]; - u16 protocol_version; - u32 ghcb_usage; -}; - -struct ghcb_state { - struct ghcb *ghcb; -}; - -struct ghes { - union { - struct acpi_hest_generic *generic; - struct acpi_hest_generic_v2 *generic_v2; - }; - struct acpi_hest_generic_status *estatus; - long unsigned int flags; - union { - struct list_head list; - struct timer_list timer; - unsigned int irq; - }; - struct device *dev; - struct list_head elist; -}; - -struct ghes_arr { - struct platform_device **ghes_devs; - unsigned int count; -}; - -struct ghes_estatus_cache { - u32 estatus_len; - atomic_t count; - struct acpi_hest_generic *generic; - long long unsigned int time_in; - struct callback_head rcu; -}; - -struct ghes_estatus_node { - struct llist_node llnode; - struct acpi_hest_generic *generic; - struct ghes *ghes; -}; - -struct ghes_hw_desc { - int num_dimms; - struct dimm_info *dimms; -}; - -struct ghes_pvt { - struct mem_ctl_info *mci; - char other_detail[400]; - char msg[80]; -}; - -struct ghes_task_work { - struct callback_head twork; - u64 pfn; - int flags; -}; - -struct ghes_vendor_record_entry { - struct work_struct work; - int error_severity; - char vendor_record[0]; -}; - -struct giveback_urb_bh { - bool running; - bool high_prio; - spinlock_t lock; - struct list_head head; - struct work_struct bh; - struct usb_host_endpoint *completing_ep; -}; - -struct global_params { - bool no_turbo; - bool turbo_disabled; - int max_perf_pct; - int min_perf_pct; -}; - -struct tc_stats { - __u64 bytes; - __u32 packets; - __u32 drops; - __u32 overlimits; - __u32 bps; - __u32 pps; - __u32 qlen; - __u32 backlog; -}; - -struct gnet_dump { - spinlock_t *lock; - struct sk_buff *skb; - struct nlattr *tail; - int compat_tc_stats; - int compat_xstats; - int padattr; - void *xstats; - int xstats_len; - struct tc_stats tc_stats; -}; - -struct gnet_estimator { - signed char interval; - unsigned char ewma_log; -}; - -struct gnet_stats_basic { - __u64 bytes; - __u32 packets; -}; - -struct gnet_stats_rate_est { - __u32 bps; - __u32 pps; -}; - -struct gnet_stats_rate_est64 { - __u64 bps; - __u64 pps; -}; - -struct gntab_unmap_queue_data; - -typedef void (*gnttab_unmap_refs_done)(int, struct gntab_unmap_queue_data *); - -struct gnttab_unmap_grant_ref; - -struct gntab_unmap_queue_data { - struct delayed_work gnttab_work; - void *data; - gnttab_unmap_refs_done done; - struct gnttab_unmap_grant_ref *unmap_ops; - struct gnttab_unmap_grant_ref *kunmap_ops; - struct page **pages; - unsigned int count; - unsigned int age; -}; - -struct gnttab_copy_ptr { - union { - grant_ref_t ref; - xen_pfn_t gmfn; - } u; - domid_t domid; - uint16_t offset; -}; - -struct gnttab_copy { - struct gnttab_copy_ptr source; - struct gnttab_copy_ptr dest; - uint16_t len; - uint16_t flags; - int16_t status; -}; - -struct gnttab_dma_alloc_args { - struct device *dev; - bool coherent; - int nr_pages; - struct page **pages; - xen_pfn_t *frames; - void *vaddr; - dma_addr_t dev_bus_addr; -}; - -struct gnttab_get_status_frames { - uint32_t nr_frames; - domid_t dom; - int16_t status; - __guest_handle_uint64_t frame_list; -}; - -struct gnttab_map_grant_ref { - uint64_t host_addr; - uint32_t flags; - grant_ref_t ref; - domid_t dom; - int16_t status; - grant_handle_t handle; - uint64_t dev_bus_addr; -}; - -struct gnttab_ops { - unsigned int version; - unsigned int grefs_per_grant_frame; - int (*map_frames)(xen_pfn_t *, unsigned int); - void (*unmap_frames)(void); - void (*update_entry)(grant_ref_t, domid_t, long unsigned int, unsigned int); - int (*end_foreign_access_ref)(grant_ref_t); - long unsigned int (*read_frame)(grant_ref_t); -}; - -struct gnttab_page_cache { - spinlock_t lock; - struct page *pages; - unsigned int num_pages; -}; - -struct gnttab_query_size { - domid_t dom; - uint32_t nr_frames; - uint32_t max_nr_frames; - int16_t status; -}; - -struct gnttab_set_version { - uint32_t version; -}; - -struct gnttab_setup_table { - domid_t dom; - uint32_t nr_frames; - int16_t status; - __guest_handle_xen_pfn_t frame_list; -}; - -struct gnttab_unmap_grant_ref { - uint64_t host_addr; - uint64_t dev_bus_addr; - grant_handle_t handle; - int16_t status; -}; - -struct gnttab_vm_area { - struct vm_struct *area; - pte_t **ptes; - int idx; -}; - -struct governor_attr { - struct attribute attr; - ssize_t (*show)(struct gov_attr_set *, char *); - ssize_t (*store)(struct gov_attr_set *, const char *, size_t); -}; - -struct watchdog_governor; - -struct governor_priv { - struct watchdog_governor *gov; - struct list_head entry; -}; - -struct gpd_link { - struct generic_pm_domain *parent; - struct list_head parent_node; - struct generic_pm_domain *child; - struct list_head child_node; - unsigned int performance_state; - unsigned int prev_performance_state; -}; - -struct gpd_timing_data { - s64 suspend_latency_ns; - s64 resume_latency_ns; - s64 effective_constraint_ns; - ktime_t next_wakeup; - bool constraint_changed; - bool cached_suspend_ok; -}; - -struct gpio_array { - struct gpio_desc **desc; - unsigned int size; - struct gpio_device *gdev; - long unsigned int *get_mask; - long unsigned int *set_mask; - long unsigned int invert_mask[0]; -}; - -struct gpio_v2_line_attribute { - __u32 id; - __u32 padding; - union { - __u64 flags; - __u64 values; - __u32 debounce_period_us; - }; -}; - -struct gpio_v2_line_info { - char name[32]; - char consumer[32]; - __u32 offset; - __u32 num_attrs; - __u64 flags; - struct gpio_v2_line_attribute attrs[10]; - __u32 padding[4]; -}; - -struct gpio_v2_line_info_changed { - struct gpio_v2_line_info info; - __u64 timestamp_ns; - __u32 event_type; - __u32 padding[5]; -}; - -struct gpio_chardev_data { - struct gpio_device *gdev; - wait_queue_head_t wait; - struct { - union { - struct __kfifo kfifo; - struct gpio_v2_line_info_changed *type; - const struct gpio_v2_line_info_changed *const_type; - char (*rectype)[0]; - struct gpio_v2_line_info_changed *ptr; - const struct gpio_v2_line_info_changed *ptr_const; - }; - struct gpio_v2_line_info_changed buf[32]; - } events; - struct notifier_block lineinfo_changed_nb; - struct notifier_block device_unregistered_nb; - long unsigned int *watched_lines; - atomic_t watch_abi_version; - struct file *fp; -}; - -struct gpio_chip_guard { - struct gpio_device *gdev; - struct gpio_chip *gc; - int idx; -}; - -typedef struct gpio_chip_guard class_gpio_chip_guard_t; - -struct gpio_desc_label; - -struct gpio_desc { - struct gpio_device *gdev; - long unsigned int flags; - struct gpio_desc_label *label; - const char *name; - unsigned int debounce_period_us; -}; - -struct gpio_desc_label { - struct callback_head rh; - char str[0]; -}; - -struct gpio_descs { - struct gpio_array *info; - unsigned int ndescs; - struct gpio_desc *desc[0]; -}; - -struct gpio_device { - struct device dev; - struct cdev chrdev; - int id; - struct module *owner; - struct gpio_chip *chip; - struct gpio_desc *descs; - long unsigned int *valid_mask; - struct srcu_struct desc_srcu; - unsigned int base; - u16 ngpio; - bool can_sleep; - const char *label; - void *data; - struct list_head list; - struct raw_notifier_head line_state_notifier; - rwlock_t line_state_lock; - struct workqueue_struct *line_state_wq; - struct blocking_notifier_head device_notifier; - struct srcu_struct srcu; - struct list_head pin_ranges; -}; - -struct irq_fwspec { - struct fwnode_handle *fwnode; - int param_count; - u32 param[16]; -}; - -struct ioapic_alloc_info { - int pin; - int node; - u32 is_level: 1; - u32 active_low: 1; - u32 valid: 1; -}; - -struct uv_alloc_info { - int limit; - int blade; - long unsigned int offset; - char *name; -}; - -struct msi_desc; - -struct irq_alloc_info { - enum irq_alloc_type type; - u32 flags; - u32 devid; - irq_hw_number_t hwirq; - const struct cpumask *mask; - struct msi_desc *desc; - void *data; - union { - struct ioapic_alloc_info ioapic; - struct uv_alloc_info uv; - }; -}; - -typedef struct irq_alloc_info msi_alloc_info_t; - -union gpio_irq_fwspec { - struct irq_fwspec fwspec; - msi_alloc_info_t msiinfo; -}; - -struct pinctrl_gpio_range { - struct list_head node; - const char *name; - unsigned int id; - unsigned int base; - unsigned int pin_base; - unsigned int npins; - const unsigned int *pins; - struct gpio_chip *gc; -}; - -struct gpio_pin_range { - struct list_head node; - struct pinctrl_dev *pctldev; - struct pinctrl_gpio_range range; -}; - -struct gpio_v2_line_config_attribute { - struct gpio_v2_line_attribute attr; - __u64 mask; -}; - -struct gpio_v2_line_config { - __u64 flags; - __u32 num_attrs; - __u32 padding[5]; - struct gpio_v2_line_config_attribute attrs[10]; -}; - -struct gpio_v2_line_event { - __u64 timestamp_ns; - __u32 id; - __u32 offset; - __u32 seqno; - __u32 line_seqno; - __u32 padding[6]; -}; - -struct gpio_v2_line_request { - __u32 offsets[64]; - char consumer[32]; - struct gpio_v2_line_config config; - __u32 num_lines; - __u32 event_buffer_size; - __u32 padding[5]; - __s32 fd; -}; - -struct gpio_v2_line_values { - __u64 bits; - __u64 mask; -}; - -struct gpiochip_info { - char name[32]; - char label[32]; - __u32 lines; -}; - -struct gpiod_data { - struct list_head list; - struct gpio_desc *desc; - struct device *dev; - struct mutex mutex; - struct kernfs_node *value_kn; - int irq; - unsigned char irq_flags; - bool direction_can_change; - struct kobject *parent; - struct device_attribute dir_attr; - struct device_attribute val_attr; - struct device_attribute edge_attr; - struct device_attribute active_low_attr; - struct attribute *class_attrs[5]; - struct attribute_group class_attr_group; - const struct attribute_group *class_attr_groups[2]; - struct attribute *chip_attrs[3]; - struct attribute_group chip_attr_group; - const struct attribute_group *chip_attr_groups[2]; -}; - -struct gpiod_hog { - struct list_head list; - const char *chip_label; - u16 chip_hwnum; - const char *line_name; - long unsigned int lflags; - int dflags; -}; - -struct gpiod_lookup { - const char *key; - u16 chip_hwnum; - const char *con_id; - unsigned int idx; - long unsigned int flags; -}; - -struct gpiod_lookup_table { - struct list_head list; - const char *dev_id; - struct gpiod_lookup table[0]; -}; - -struct gpiodev_data { - struct list_head exported_lines; - struct gpio_device *gdev; - struct device *cdev_id; - struct device *cdev_base; -}; - -struct gpioevent_data { - __u64 timestamp; - __u32 id; -}; - -struct gpioevent_request { - __u32 lineoffset; - __u32 handleflags; - __u32 eventflags; - char consumer_label[32]; - int fd; -}; - -struct gpiohandle_config { - __u32 flags; - __u8 default_values[64]; - __u32 padding[4]; -}; - -struct gpiohandle_data { - __u8 values[64]; -}; - -struct gpiohandle_request { - __u32 lineoffsets[64]; - __u32 flags; - __u8 default_values[64]; - char consumer_label[32]; - __u32 lines; - int fd; -}; - -struct gpiolib_seq_priv { - bool newline; - int idx; -}; - -struct gpioline_info { - __u32 line_offset; - __u32 flags; - char name[32]; - char consumer[32]; -}; - -struct gpioline_info_changed { - struct gpioline_info info; - __u64 timestamp; - __u32 event_type; - __u32 padding[5]; -}; - -struct grant { - grant_ref_t gref; - struct page *page; - struct list_head node; -}; - -struct grant_entry_header { - uint16_t flags; - domid_t domid; -}; - -struct grant_entry_v1 { - uint16_t flags; - domid_t domid; - uint32_t frame; -}; - -union grant_entry_v2 { - struct grant_entry_header hdr; - struct { - struct grant_entry_header hdr; - uint32_t pad0; - uint64_t frame; - } full_page; - struct { - struct grant_entry_header hdr; - uint16_t page_off; - uint16_t length; - uint64_t frame; - } sub_page; - struct { - struct grant_entry_header hdr; - domid_t trans_domid; - uint16_t pad0; - grant_ref_t gref; - } transitive; - uint32_t __spacer[4]; -}; - -struct grant_frames { - xen_pfn_t *pfn; - unsigned int count; - void *vaddr; -}; - -struct gre_base_hdr { - __be16 flags; - __be16 protocol; -}; - -struct gre_full_hdr { - struct gre_base_hdr fixed_header; - __be16 csum; - __be16 reserved1; - __be32 key; - __be32 seq; -}; - -struct irq_affinity_notify { - unsigned int irq; - struct kref kref; - struct work_struct work; - void (*notify)(struct irq_affinity_notify *, const cpumask_t *); - void (*release)(struct kref *); -}; - -struct napi_config; - -struct napi_struct { - struct list_head poll_list; - long unsigned int state; - int weight; - u32 defer_hard_irqs_count; - int (*poll)(struct napi_struct *, int); - int poll_owner; - int list_owner; - struct net_device *dev; - struct sk_buff *skb; - struct gro_node gro; - struct hrtimer timer; - struct task_struct *thread; - long unsigned int gro_flush_timeout; - long unsigned int irq_suspend_timeout; - u32 defer_hard_irqs; - u32 napi_id; - struct list_head dev_list; - struct hlist_node napi_hash_node; - int irq; - struct irq_affinity_notify notify; - int napi_rmap_idx; - int index; - struct napi_config *config; -}; - -struct gro_cell { - struct sk_buff_head napi_skbs; - struct napi_struct napi; -}; - -struct gro_cells { - struct gro_cell *cells; -}; - -struct group_device { - struct list_head list; - struct device *dev; - char *name; -}; - -struct group_filter { - union { - struct { - __u32 gf_interface_aux; - struct __kernel_sockaddr_storage gf_group_aux; - __u32 gf_fmode_aux; - __u32 gf_numsrc_aux; - struct __kernel_sockaddr_storage gf_slist[1]; - }; - struct { - __u32 gf_interface; - struct __kernel_sockaddr_storage gf_group; - __u32 gf_fmode; - __u32 gf_numsrc; - struct __kernel_sockaddr_storage gf_slist_flex[0]; - }; - }; -}; - -struct group_for_pci_data { - struct pci_dev *pdev; - struct iommu_group *group; -}; - -struct group_info { - refcount_t usage; - int ngroups; - kgid_t gid[0]; -}; - -struct group_req { - __u32 gr_interface; - struct __kernel_sockaddr_storage gr_group; -}; - -struct group_source_req { - __u32 gsr_interface; - struct __kernel_sockaddr_storage gsr_group; - struct __kernel_sockaddr_storage gsr_source; -}; - -struct gsb_buffer { - u8 status; - u8 len; - union { - u16 wdata; - u8 bdata; - struct { - struct {} __empty_data; - u8 data[0]; - }; - }; -}; - -struct rpcsec_gss_oid { - unsigned int len; - u8 data[32]; -}; - -struct gss_api_ops; - -struct pf_desc; - -struct gss_api_mech { - struct list_head gm_list; - struct module *gm_owner; - struct rpcsec_gss_oid gm_oid; - char *gm_name; - const struct gss_api_ops *gm_ops; - int gm_pf_num; - struct pf_desc *gm_pfs; - const char *gm_upcall_enctypes; -}; - -struct gss_ctx; - -struct xdr_buf; - -struct xdr_netobj; - -struct gss_api_ops { - int (*gss_import_sec_context)(const void *, size_t, struct gss_ctx *, time64_t *, gfp_t); - u32 (*gss_get_mic)(struct gss_ctx *, struct xdr_buf *, struct xdr_netobj *); - u32 (*gss_verify_mic)(struct gss_ctx *, struct xdr_buf *, struct xdr_netobj *); - u32 (*gss_wrap)(struct gss_ctx *, int, struct xdr_buf *, struct page **); - u32 (*gss_unwrap)(struct gss_ctx *, int, int, struct xdr_buf *); - void (*gss_delete_sec_context)(void *); -}; - -struct gss_ctx { - struct gss_api_mech *mech_type; - void *internal_ctx_id; - unsigned int slack; - unsigned int align; -}; - -struct h_misc { - long unsigned int ino; - __u32 generation; - uid_t uid; - gid_t gid; - umode_t mode; -}; - -union handle_parts { - depot_stack_handle_t handle; - struct { - u32 pool_index_plus_1: 17; - u32 offset: 10; - u32 extra: 5; - }; -}; - -struct handle_to_path_ctx { - struct path root; - enum handle_to_path_flags flags; - unsigned int fh_flags; -}; - -struct handshake_net { - spinlock_t hn_lock; - int hn_pending; - int hn_pending_max; - struct list_head hn_requests; - long unsigned int hn_flags; -}; - -struct handshake_req; - -struct handshake_proto { - int hp_handler_class; - size_t hp_privsize; - long unsigned int hp_flags; - int (*hp_accept)(struct handshake_req *, struct genl_info *, int); - void (*hp_done)(struct handshake_req *, unsigned int, struct genl_info *); - void (*hp_destroy)(struct handshake_req *); -}; - -struct handshake_req { - struct list_head hr_list; - struct rhash_head hr_rhash; - long unsigned int hr_flags; - const struct handshake_proto *hr_proto; - struct sock *hr_sk; - void (*hr_odestruct)(struct sock *); - char hr_priv[0]; -}; - -struct hash { - int ino; - int minor; - int major; - umode_t mode; - struct hash *next; - char name[4098]; -}; - -struct hash_cell { - struct rb_node name_node; - struct rb_node uuid_node; - bool name_set; - bool uuid_set; - char *name; - char *uuid; - struct mapped_device *md; - struct dm_table *new_map; -}; - -struct hash_prefix { - const char *name; - const u8 *data; - size_t size; -}; - -struct hashtab_key_params { - u32 (*hash)(const void *); - int (*cmp)(const void *, const void *); -}; - -struct hashtab_node { - void *key; - void *datum; - struct hashtab_node *next; -}; - -struct hc_driver { - const char *description; - const char *product_desc; - size_t hcd_priv_size; - irqreturn_t (*irq)(struct usb_hcd *); - int flags; - int (*reset)(struct usb_hcd *); - int (*start)(struct usb_hcd *); - int (*pci_suspend)(struct usb_hcd *, bool); - int (*pci_resume)(struct usb_hcd *, pm_message_t); - int (*pci_poweroff_late)(struct usb_hcd *, bool); - void (*stop)(struct usb_hcd *); - void (*shutdown)(struct usb_hcd *); - int (*get_frame_number)(struct usb_hcd *); - int (*urb_enqueue)(struct usb_hcd *, struct urb *, gfp_t); - int (*urb_dequeue)(struct usb_hcd *, struct urb *, int); - int (*map_urb_for_dma)(struct usb_hcd *, struct urb *, gfp_t); - void (*unmap_urb_for_dma)(struct usb_hcd *, struct urb *); - void (*endpoint_disable)(struct usb_hcd *, struct usb_host_endpoint *); - void (*endpoint_reset)(struct usb_hcd *, struct usb_host_endpoint *); - int (*hub_status_data)(struct usb_hcd *, char *); - int (*hub_control)(struct usb_hcd *, u16, u16, u16, char *, u16); - int (*bus_suspend)(struct usb_hcd *); - int (*bus_resume)(struct usb_hcd *); - int (*start_port_reset)(struct usb_hcd *, unsigned int); - long unsigned int (*get_resuming_ports)(struct usb_hcd *); - void (*relinquish_port)(struct usb_hcd *, int); - int (*port_handed_over)(struct usb_hcd *, int); - void (*clear_tt_buffer_complete)(struct usb_hcd *, struct usb_host_endpoint *); - int (*alloc_dev)(struct usb_hcd *, struct usb_device *); - void (*free_dev)(struct usb_hcd *, struct usb_device *); - int (*alloc_streams)(struct usb_hcd *, struct usb_device *, struct usb_host_endpoint **, unsigned int, unsigned int, gfp_t); - int (*free_streams)(struct usb_hcd *, struct usb_device *, struct usb_host_endpoint **, unsigned int, gfp_t); - int (*add_endpoint)(struct usb_hcd *, struct usb_device *, struct usb_host_endpoint *); - int (*drop_endpoint)(struct usb_hcd *, struct usb_device *, struct usb_host_endpoint *); - int (*check_bandwidth)(struct usb_hcd *, struct usb_device *); - void (*reset_bandwidth)(struct usb_hcd *, struct usb_device *); - int (*address_device)(struct usb_hcd *, struct usb_device *, unsigned int); - int (*enable_device)(struct usb_hcd *, struct usb_device *); - int (*update_hub_device)(struct usb_hcd *, struct usb_device *, struct usb_tt *, gfp_t); - int (*reset_device)(struct usb_hcd *, struct usb_device *); - int (*update_device)(struct usb_hcd *, struct usb_device *); - int (*set_usb2_hw_lpm)(struct usb_hcd *, struct usb_device *, int); - int (*enable_usb3_lpm_timeout)(struct usb_hcd *, struct usb_device *, enum usb3_link_state); - int (*disable_usb3_lpm_timeout)(struct usb_hcd *, struct usb_device *, enum usb3_link_state); - int (*find_raw_port_number)(struct usb_hcd *, int); - int (*port_power)(struct usb_hcd *, int, bool); - int (*submit_single_step_set_feature)(struct usb_hcd *, struct urb *, int); -}; - -struct hd_geometry { - unsigned char heads; - unsigned char sectors; - short unsigned int cylinders; - long unsigned int start; -}; - -struct header_iter { - struct pci_dev *dev; -}; - -struct hh_cache; - -struct header_ops { - int (*create)(struct sk_buff *, struct net_device *, short unsigned int, const void *, const void *, unsigned int); - int (*parse)(const struct sk_buff *, unsigned char *); - int (*cache)(const struct neighbour *, struct hh_cache *, __be16); - void (*cache_update)(struct hh_cache *, const struct net_device *, const unsigned char *); - bool (*validate)(const char *, unsigned int); - __be16 (*parse_protocol)(const struct sk_buff *); -}; - -struct hfi_cpu_data { - u8 perf_cap; - u8 ee_cap; -}; - -struct hfi_instance; - -struct hfi_cpu_info { - s16 index; - struct hfi_instance *hfi_instance; -}; - -struct hfi_features { - size_t nr_table_pages; - unsigned int cpu_stride; - unsigned int hdr_size; -}; - -struct hfi_instance { - union { - void *local_table; - u64 *timestamp; - }; - void *hdr; - void *data; - cpumask_var_t cpus; - void *hw_table; - struct delayed_work update_work; - raw_spinlock_t table_lock; - raw_spinlock_t event_lock; -}; - -struct hh_cache { - unsigned int hh_len; - seqlock_t hh_lock; - long unsigned int hh_data[16]; -}; - -struct hib_bio_batch { - atomic_t count; - wait_queue_head_t wait; - blk_status_t error; - struct blk_plug plug; -}; - -struct hid_bpf { - u8 *device_data; - u32 allocated_data; - bool destroyed; - struct hid_bpf_ops *rdesc_ops; - struct list_head prog_list; - struct mutex prog_list_lock; - struct srcu_struct srcu; -}; - -struct hid_bpf_ctx { - struct hid_device *hid; - __u32 allocated_size; - union { - __s32 retval; - __s32 size; - }; -}; - -struct hid_bpf_ctx_kern { - struct hid_bpf_ctx ctx; - u8 *data; - bool from_bpf; -}; - -struct hid_bpf_offset_write_range { - const char *struct_name; - u32 struct_length; - u32 start; - u32 end; -}; - -struct hid_collection { - int parent_idx; - unsigned int type; - unsigned int usage; - unsigned int level; -}; - -struct hid_report; - -struct hid_report_enum { - unsigned int numbered; - struct list_head report_list; - struct hid_report *report_id_hash[256]; -}; - -struct semaphore { - raw_spinlock_t lock; - unsigned int count; - struct list_head wait_list; - long unsigned int last_holder; -}; - -struct hid_driver; - -struct hid_ll_driver; - -struct hid_field; - -struct hid_usage; - -struct hid_device { - const __u8 *dev_rdesc; - const __u8 *bpf_rdesc; - const __u8 *rdesc; - unsigned int dev_rsize; - unsigned int bpf_rsize; - unsigned int rsize; - unsigned int collection_size; - struct hid_collection *collection; - unsigned int maxcollection; - unsigned int maxapplication; - __u16 bus; - __u16 group; - __u32 vendor; - __u32 product; - __u32 version; - enum hid_type type; - unsigned int country; - struct hid_report_enum report_enum[3]; - struct work_struct led_work; - struct semaphore driver_input_lock; - struct device dev; - struct hid_driver *driver; - void *devres_group_id; - const struct hid_ll_driver *ll_driver; - struct mutex ll_open_lock; - unsigned int ll_open_count; - struct power_supply *battery; - __s32 battery_capacity; - __s32 battery_min; - __s32 battery_max; - __s32 battery_report_type; - __s32 battery_report_id; - __s32 battery_charge_status; - enum hid_battery_status battery_status; - bool battery_avoid_query; - ktime_t battery_ratelimit_time; - long unsigned int status; - unsigned int claimed; - unsigned int quirks; - unsigned int initial_quirks; - bool io_started; - struct list_head inputs; - void *hiddev; - void *hidraw; - char name[128]; - char phys[64]; - char uniq[64]; - void *driver_data; - int (*ff_init)(struct hid_device *); - int (*hiddev_connect)(struct hid_device *, unsigned int); - void (*hiddev_disconnect)(struct hid_device *); - void (*hiddev_hid_event)(struct hid_device *, struct hid_field *, struct hid_usage *, __s32); - void (*hiddev_report_event)(struct hid_device *, struct hid_report *); - short unsigned int debug; - struct dentry *debug_dir; - struct dentry *debug_rdesc; - struct dentry *debug_events; - struct list_head debug_list; - spinlock_t debug_list_lock; - wait_queue_head_t debug_wait; - struct kref ref; - unsigned int id; - struct hid_bpf bpf; -}; - -struct hid_device_id { - __u16 bus; - __u16 group; - __u32 vendor; - __u32 product; - kernel_ulong_t driver_data; -}; - -struct hid_report_id; - -struct hid_usage_id; - -struct hid_input; - -struct hid_driver { - char *name; - const struct hid_device_id *id_table; - struct list_head dyn_list; - spinlock_t dyn_lock; - bool (*match)(struct hid_device *, bool); - int (*probe)(struct hid_device *, const struct hid_device_id *); - void (*remove)(struct hid_device *); - const struct hid_report_id *report_table; - int (*raw_event)(struct hid_device *, struct hid_report *, u8 *, int); - const struct hid_usage_id *usage_table; - int (*event)(struct hid_device *, struct hid_field *, struct hid_usage *, __s32); - void (*report)(struct hid_device *, struct hid_report *); - const __u8 * (*report_fixup)(struct hid_device *, __u8 *, unsigned int *); - int (*input_mapping)(struct hid_device *, struct hid_input *, struct hid_field *, struct hid_usage *, long unsigned int **, int *); - int (*input_mapped)(struct hid_device *, struct hid_input *, struct hid_field *, struct hid_usage *, long unsigned int **, int *); - int (*input_configured)(struct hid_device *, struct hid_input *); - void (*feature_mapping)(struct hid_device *, struct hid_field *, struct hid_usage *); - int (*suspend)(struct hid_device *, pm_message_t); - int (*resume)(struct hid_device *); - int (*reset_resume)(struct hid_device *); - void (*on_hid_hw_open)(struct hid_device *); - void (*on_hid_hw_close)(struct hid_device *); - struct device_driver driver; -}; - -struct hid_field { - unsigned int physical; - unsigned int logical; - unsigned int application; - struct hid_usage *usage; - unsigned int maxusage; - unsigned int flags; - unsigned int report_offset; - unsigned int report_size; - unsigned int report_count; - unsigned int report_type; - __s32 *value; - __s32 *new_value; - __s32 *usages_priorities; - __s32 logical_minimum; - __s32 logical_maximum; - __s32 physical_minimum; - __s32 physical_maximum; - __s32 unit_exponent; - unsigned int unit; - bool ignored; - struct hid_report *report; - unsigned int index; - struct hid_input *hidinput; - __u16 dpad; - unsigned int slot_idx; -}; - -struct hid_field_entry { - struct list_head list; - struct hid_field *field; - unsigned int index; - __s32 priority; -}; - -struct hid_input { - struct list_head list; - struct hid_report *report; - struct input_dev *input; - const char *name; - struct list_head reports; - unsigned int application; - bool registered; -}; - -struct hid_ll_driver { - int (*start)(struct hid_device *); - void (*stop)(struct hid_device *); - int (*open)(struct hid_device *); - void (*close)(struct hid_device *); - int (*power)(struct hid_device *, int); - int (*parse)(struct hid_device *); - void (*request)(struct hid_device *, struct hid_report *, int); - int (*wait)(struct hid_device *); - int (*raw_request)(struct hid_device *, unsigned char, __u8 *, size_t, unsigned char, int); - int (*output_report)(struct hid_device *, __u8 *, size_t); - int (*idle)(struct hid_device *, int, int, int); - bool (*may_wakeup)(struct hid_device *); - unsigned int max_buffer_size; -}; - -struct hid_ops { - struct hid_report * (*hid_get_report)(struct hid_report_enum *, const u8 *); - int (*hid_hw_raw_request)(struct hid_device *, unsigned char, __u8 *, size_t, enum hid_report_type, enum hid_class_request, u64, bool); - int (*hid_hw_output_report)(struct hid_device *, __u8 *, size_t, u64, bool); - int (*hid_input_report)(struct hid_device *, enum hid_report_type, u8 *, u32, int, u64, bool, bool); - struct module *owner; - const struct bus_type *bus_type; -}; - -struct hid_report { - struct list_head list; - struct list_head hidinput_list; - struct list_head field_entry_list; - unsigned int id; - enum hid_report_type type; - unsigned int application; - struct hid_field *field[256]; - struct hid_field_entry *field_entries; - unsigned int maxfield; - unsigned int size; - struct hid_device *device; - bool tool_active; - unsigned int tool; -}; - -struct hid_report_id { - __u32 report_type; -}; - -struct hid_uid { - const char *hid; - const char *uid; -}; - -struct hid_usage { - unsigned int hid; - unsigned int collection_index; - unsigned int usage_index; - __s8 resolution_multiplier; - __s8 wheel_factor; - __u16 code; - __u8 type; - __s16 hat_min; - __s16 hat_max; - __s16 hat_dir; - __s16 wheel_accumulated; -}; - -struct hid_usage_id { - __u32 usage_hid; - __u32 usage_type; - __u32 usage_code; -}; - -struct hist_elt_data { - char *comm; - u64 *var_ref_vals; - char **field_var_str; - int n_field_var_str; -}; - -struct hist_var { - char *name; - struct hist_trigger_data *hist_data; - unsigned int idx; -}; - -struct hist_field { - struct ftrace_event_field *field; - long unsigned int flags; - long unsigned int buckets; - const char *type; - struct hist_field *operands[2]; - struct hist_trigger_data *hist_data; - enum hist_field_fn fn_num; - unsigned int ref; - unsigned int size; - unsigned int offset; - unsigned int is_signed; - struct hist_var var; - enum field_op_id operator; - char *system; - char *event_name; - char *name; - unsigned int var_ref_idx; - bool read_once; - unsigned int var_str_idx; - u64 constant; - u64 div_multiplier; -}; - -struct hist_file_data { - struct file *file; - u64 last_read; - u64 last_act; -}; - -struct hist_pad { - long unsigned int entries[16]; - u64 var_ref_vals[16]; - char compound_key[384]; -}; - -struct var_defs { - unsigned int n_vars; - char *name[16]; - char *expr[16]; -}; - -struct hist_trigger_attrs { - char *keys_str; - char *vals_str; - char *sort_key_str; - char *name; - char *clock; - bool pause; - bool cont; - bool clear; - bool ts_in_usecs; - bool no_hitcount; - unsigned int map_bits; - char *assignment_str[16]; - unsigned int n_assignments; - char *action_str[8]; - unsigned int n_actions; - struct var_defs var_defs; -}; - -struct tracing_map_sort_key { - unsigned int field_idx; - bool descending; -}; - -struct tracing_map; - -struct hist_trigger_data { - struct hist_field *fields[22]; - unsigned int n_vals; - unsigned int n_keys; - unsigned int n_fields; - unsigned int n_vars; - unsigned int n_var_str; - unsigned int key_size; - struct tracing_map_sort_key sort_keys[2]; - unsigned int n_sort_keys; - struct trace_event_file *event_file; - struct hist_trigger_attrs *attrs; - struct tracing_map *map; - bool enable_timestamps; - bool remove; - struct hist_field *var_refs[16]; - unsigned int n_var_refs; - struct action_data *actions[8]; - unsigned int n_actions; - struct field_var *field_vars[64]; - unsigned int n_field_vars; - unsigned int n_field_var_str; - struct field_var_hist *field_var_hists[64]; - unsigned int n_field_var_hists; - struct field_var *save_vars[64]; - unsigned int n_save_vars; - unsigned int n_save_var_str; -}; - -struct hist_val_stat { - u64 max; - u64 total; -}; - -struct hist_var_data { - struct list_head list; - struct hist_trigger_data *hist_data; -}; - -struct history_info { - char *command; - u32 cmd_num; -}; - -typedef struct history_info HISTORY_INFO; - -struct hkdf_testvec { - const char *test; - const u8 *ikm; - const u8 *salt; - const u8 *info; - const u8 *prk; - const u8 *okm; - u16 ikm_size; - u16 salt_size; - u16 info_size; - u16 prk_size; - u16 okm_size; -}; - -struct hlist_bl_head { - struct hlist_bl_node *first; -}; - -struct hmac_ctx { - struct crypto_shash *hash; - u8 pads[0]; -}; - -struct sha1_block_state { - u32 h[5]; -}; - -struct sha1_ctx { - struct sha1_block_state state; - u64 bytecount; - u8 buf[64]; -}; - -struct hmac_sha1_ctx { - struct sha1_ctx sha_ctx; - struct sha1_block_state ostate; -}; - -struct hmac_sha1_key { - struct sha1_block_state istate; - struct sha1_block_state ostate; -}; - -struct hmac_sha224_ctx { - struct __hmac_sha256_ctx ctx; -}; - -struct hmac_sha224_key { - struct __hmac_sha256_key key; -}; - -struct hmac_sha256_ctx { - struct __hmac_sha256_ctx ctx; -}; - -struct hmac_sha256_key { - struct __hmac_sha256_key key; -}; - -struct hmac_sha384_ctx { - struct __hmac_sha512_ctx ctx; -}; - -struct hmac_sha384_key { - struct __hmac_sha512_key key; -}; - -struct hmac_sha512_ctx { - struct __hmac_sha512_ctx ctx; -}; - -struct hmac_sha512_key { - struct __hmac_sha512_key key; -}; - -struct hmac_storage { - local_lock_t bh_lock; - char hmac_ring[256]; -}; - -struct hmm_dma_map { - struct dma_iova_state state; - long unsigned int *pfn_list; - dma_addr_t *dma_list; - size_t dma_entry_size; -}; - -struct mmu_interval_notifier; - -struct hmm_range { - struct mmu_interval_notifier *notifier; - long unsigned int notifier_seq; - long unsigned int start; - long unsigned int end; - long unsigned int *hmm_pfns; - long unsigned int default_flags; - long unsigned int pfn_flags_mask; - void *dev_private_owner; -}; - -struct hmm_vma_walk { - struct hmm_range *range; - long unsigned int last; -}; - -struct hop_jumbo_hdr { - u8 nexthdr; - u8 hdrlen; - u8 tlv_type; - u8 tlv_len; - __be32 jumbo_payload_len; -}; - -struct hotplug_slot_ops { - int (*enable_slot)(struct hotplug_slot *); - int (*disable_slot)(struct hotplug_slot *); - int (*set_attention_status)(struct hotplug_slot *, u8); - int (*hardware_test)(struct hotplug_slot *, u32); - int (*get_power_status)(struct hotplug_slot *, u8 *); - int (*get_attention_status)(struct hotplug_slot *, u8 *); - int (*get_latch_status)(struct hotplug_slot *, u8 *); - int (*get_adapter_status)(struct hotplug_slot *, u8 *); - int (*reset_slot)(struct hotplug_slot *, bool); -}; - -struct housekeeping { - cpumask_var_t cpumasks[3]; - long unsigned int flags; -}; - -struct hpet_timer { - u64 hpet_config; - union { - u64 _hpet_hc64; - u32 _hpet_hc32; - long unsigned int _hpet_compare; - } _u1; - u64 hpet_fsb[2]; -}; - -struct hpet { - u64 hpet_cap; - u64 res0; - u64 hpet_config; - u64 res1; - u64 hpet_isr; - u64 res2[25]; - union { - u64 _hpet_mc64; - u32 _hpet_mc32; - long unsigned int _hpet_mc; - } _u0; - u64 res3; - struct hpet_timer hpet_timers[0]; -}; - -struct hpet_channel; - -struct hpet_base { - unsigned int nr_channels; - unsigned int nr_clockevents; - unsigned int boot_cfg; - struct hpet_channel *channels; -}; - -struct hpet_channel { - struct clock_event_device evt; - unsigned int num; - unsigned int cpu; - unsigned int irq; - unsigned int in_use; - enum hpet_mode mode; - unsigned int boot_cfg; - char name[10]; - long: 64; - long: 64; - long: 64; -}; - -struct hpet_data { - long unsigned int hd_phys_address; - void *hd_address; - short unsigned int hd_nirqs; - unsigned int hd_state; - unsigned int hd_irq[32]; -}; - -struct hpets; - -struct hpet_dev { - struct hpets *hd_hpets; - struct hpet *hd_hpet; - struct hpet_timer *hd_timer; - long unsigned int hd_ireqfreq; - long unsigned int hd_irqdata; - wait_queue_head_t hd_waitqueue; - struct fasync_struct *hd_async_queue; - unsigned int hd_flags; - unsigned int hd_irq; - unsigned int hd_hdwirq; - char hd_name[7]; -}; - -struct hpet_info { - long unsigned int hi_ireqfreq; - long unsigned int hi_flags; - short unsigned int hi_hpet; - short unsigned int hi_timer; -}; - -union hpet_lock { - struct { - arch_spinlock_t lock; - u32 value; - }; - u64 lockval; -}; - -struct hpet_scope { - struct intel_iommu *iommu; - u8 id; - unsigned int bus; - unsigned int devfn; -}; - -struct hpets { - struct hpets *hp_next; - struct hpet *hp_hpet; - long unsigned int hp_hpet_phys; - long long unsigned int hp_tick_freq; - long unsigned int hp_delta; - unsigned int hp_ntimer; - unsigned int hp_which; - struct hpet_dev hp_dev[0]; -}; - -struct hprobe { - enum hprobe_state state; - int srcu_idx; - struct uprobe *uprobe; -}; - -struct hpx_type0 { - u32 revision; - u8 cache_line_size; - u8 latency_timer; - u8 enable_serr; - u8 enable_perr; -}; - -struct hpx_type1 { - u32 revision; - u8 max_mem_read; - u8 avg_max_split; - u16 tot_max_split; -}; - -struct hpx_type2 { - u32 revision; - u32 unc_err_mask_and; - u32 unc_err_mask_or; - u32 unc_err_sever_and; - u32 unc_err_sever_or; - u32 cor_err_mask_and; - u32 cor_err_mask_or; - u32 adv_err_cap_and; - u32 adv_err_cap_or; - u16 pci_exp_devctl_and; - u16 pci_exp_devctl_or; - u16 pci_exp_lnkctl_and; - u16 pci_exp_lnkctl_or; - u32 sec_unc_err_sever_and; - u32 sec_unc_err_sever_or; - u32 sec_unc_err_mask_and; - u32 sec_unc_err_mask_or; -}; - -struct hpx_type3 { - u16 device_type; - u16 function_type; - u16 config_space_location; - u16 pci_exp_cap_id; - u16 pci_exp_cap_ver; - u16 pci_exp_vendor_id; - u16 dvsec_id; - u16 dvsec_rev; - u16 match_offset; - u32 match_mask_and; - u32 match_value; - u16 reg_offset; - u32 reg_mask_and; - u32 reg_mask_or; -}; - -struct seqcount_raw_spinlock { - seqcount_t seqcount; -}; - -typedef struct seqcount_raw_spinlock seqcount_raw_spinlock_t; - -struct hrtimer_cpu_base; - -struct hrtimer_clock_base { - struct hrtimer_cpu_base *cpu_base; - unsigned int index; - clockid_t clockid; - seqcount_raw_spinlock_t seq; - struct hrtimer *running; - struct timerqueue_head active; - ktime_t (*get_time)(void); - ktime_t offset; -}; - -struct hrtimer_cpu_base { - raw_spinlock_t lock; - unsigned int cpu; - unsigned int active_bases; - unsigned int clock_was_set_seq; - unsigned int hres_active: 1; - unsigned int in_hrtirq: 1; - unsigned int hang_detected: 1; - unsigned int softirq_activated: 1; - unsigned int online: 1; - unsigned int nr_events; - short unsigned int nr_retries; - short unsigned int nr_hangs; - unsigned int max_hang_time; - ktime_t expires_next; - struct hrtimer *next_timer; - ktime_t softirq_expires_next; - struct hrtimer *softirq_next_timer; - struct hrtimer_clock_base clock_base[8]; - call_single_data_t csd; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct hrtimer_sleeper { - struct hrtimer timer; - struct task_struct *task; -}; - -struct hsr_tag { - __be16 path_and_LSDU_size; - __be16 sequence_nr; - __be16 encap_proto; -}; - -struct hstate { - struct mutex resize_lock; - struct lock_class_key resize_key; - int next_nid_to_alloc; - int next_nid_to_free; - unsigned int order; - unsigned int demote_order; - long unsigned int mask; - long unsigned int max_huge_pages; - long unsigned int nr_huge_pages; - long unsigned int free_huge_pages; - long unsigned int resv_huge_pages; - long unsigned int surplus_huge_pages; - long unsigned int nr_overcommit_huge_pages; - struct list_head hugepage_activelist; - struct list_head hugepage_freelists[1024]; - unsigned int max_huge_pages_node[1024]; - unsigned int nr_huge_pages_node[1024]; - unsigned int free_huge_pages_node[1024]; - unsigned int surplus_huge_pages_node[1024]; - char name[32]; -}; - -struct hsu_dma_chan; - -struct hsu_dma { - struct dma_device dma; - struct hsu_dma_chan *chan; - short unsigned int nr_channels; -}; - -struct virt_dma_chan { - struct dma_chan chan; - struct tasklet_struct task; - void (*desc_free)(struct virt_dma_desc *); - spinlock_t lock; - struct list_head desc_allocated; - struct list_head desc_submitted; - struct list_head desc_issued; - struct list_head desc_completed; - struct list_head desc_terminated; - struct virt_dma_desc *cyclic; -}; - -struct hsu_dma_desc; - -struct hsu_dma_chan { - struct virt_dma_chan vchan; - void *reg; - enum dma_transfer_direction direction; - struct dma_slave_config config; - struct hsu_dma_desc *desc; -}; - -struct hsu_dma_chip { - struct device *dev; - int irq; - void *regs; - unsigned int length; - unsigned int offset; - struct hsu_dma *hsu; -}; - -struct hsu_dma_sg; - -struct hsu_dma_desc { - struct virt_dma_desc vdesc; - enum dma_transfer_direction direction; - struct hsu_dma_sg *sg; - unsigned int nents; - size_t length; - unsigned int active; - enum dma_status status; -}; - -struct hsu_dma_sg { - dma_addr_t addr; - unsigned int len; -}; - -struct hsu_dma_slave { - struct device *dma_dev; - int chan_id; -}; - -union hsw_tsx_tuning { - struct { - u32 cycles_last_block: 32; - u32 hle_abort: 1; - u32 rtm_abort: 1; - u32 instruction_abort: 1; - u32 non_instruction_abort: 1; - u32 retry: 1; - u32 data_conflict: 1; - u32 capacity_writes: 1; - u32 capacity_reads: 1; - }; - u64 value; -}; - -struct pcpu_freelist_node { - struct pcpu_freelist_node *next; -}; - -struct htab_elem { - union { - struct hlist_nulls_node hash_node; - struct { - void *padding; - union { - struct pcpu_freelist_node fnode; - struct htab_elem *batch_flink; - }; - }; - }; - union { - void *ptr_to_pptr; - struct bpf_lru_node lru_node; - }; - u32 hash; - long: 0; - char key[0]; -}; - -struct hte_ops; - -struct of_phandle_args; - -struct hte_ts_desc; - -struct hte_device; - -struct hte_chip { - const char *name; - struct device *dev; - const struct hte_ops *ops; - u32 nlines; - int (*xlate_of)(struct hte_chip *, const struct of_phandle_args *, struct hte_ts_desc *, u32 *); - int (*xlate_plat)(struct hte_chip *, struct hte_ts_desc *, u32 *); - bool (*match_from_linedata)(const struct hte_chip *, const struct hte_ts_desc *); - u8 of_hte_n_cells; - struct hte_device *gdev; - void *data; -}; - -struct hte_clk_info { - u64 hz; - clockid_t type; -}; - -struct hte_ts_data; - -typedef enum hte_return (*hte_ts_cb_t)(struct hte_ts_data *, void *); - -typedef enum hte_return (*hte_ts_sec_cb_t)(void *); - -struct hte_ts_info { - u32 xlated_id; - long unsigned int flags; - long unsigned int hte_cb_flags; - u64 seq; - char *line_name; - bool free_attr_name; - hte_ts_cb_t cb; - hte_ts_sec_cb_t tcb; - atomic_t dropped_ts; - spinlock_t slock; - struct work_struct cb_work; - struct mutex req_mlock; - struct dentry *ts_dbg_root; - struct hte_device *gdev; - void *cl_data; -}; - -struct hte_device { - u32 nlines; - atomic_t ts_req; - struct device *sdev; - struct dentry *dbg_root; - struct list_head list; - struct hte_chip *chip; - struct module *owner; - struct hte_ts_info ei[0]; -}; - -struct hte_line_attr { - u32 line_id; - void *line_data; - long unsigned int edge_flags; - const char *name; -}; - -struct hte_ops { - int (*request)(struct hte_chip *, struct hte_ts_desc *, u32); - int (*release)(struct hte_chip *, struct hte_ts_desc *, u32); - int (*enable)(struct hte_chip *, u32); - int (*disable)(struct hte_chip *, u32); - int (*get_clk_src_info)(struct hte_chip *, struct hte_clk_info *); -}; - -struct hte_ts_data { - u64 tsc; - u64 seq; - int raw_level; -}; - -struct hte_ts_desc { - struct hte_line_attr attr; - void *hte_data; -}; - -struct huge_bootmem_page { - struct list_head list; - struct hstate *hstate; - long unsigned int flags; - struct cma *cma; -}; - -struct hugepage_subpool { - spinlock_t lock; - long int count; - long int max_hpages; - long int used_hpages; - struct hstate *hstate; - long int min_hpages; - long int rsv_hpages; -}; - -struct hugetlb_cgroup_per_node; - -struct hugetlb_cgroup { - struct cgroup_subsys_state css; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - struct page_counter hugepage[2]; - struct page_counter rsvd_hugepage[2]; - atomic_long_t events[2]; - atomic_long_t events_local[2]; - struct cgroup_file events_file[2]; - struct cgroup_file events_local_file[2]; - struct hugetlb_cgroup_per_node *nodeinfo[0]; -}; - -struct hugetlb_cgroup_per_node { - long unsigned int usage[2]; -}; - -struct hugetlb_cmdline { - char *val; - int (*setup)(char *); -}; - -struct hugetlb_vma_lock { - struct kref refs; - struct rw_semaphore rw_sema; - struct vm_area_struct *vma; -}; - -struct hugetlbfs_fs_context { - struct hstate *hstate; - long long unsigned int max_size_opt; - long long unsigned int min_size_opt; - long int max_hpages; - long int nr_inodes; - long int min_hpages; - enum hugetlbfs_size_type max_val_type; - enum hugetlbfs_size_type min_val_type; - kuid_t uid; - kgid_t gid; - umode_t mode; -}; - -struct hugetlbfs_inode_info { - struct inode vfs_inode; - unsigned int seals; -}; - -struct hugetlbfs_sb_info { - long int max_inodes; - long int free_inodes; - spinlock_t stat_lock; - struct hstate *hstate; - struct hugepage_subpool *spool; - kuid_t uid; - kgid_t gid; - umode_t mode; -}; - -union hv_arm64_pending_synthetic_exception_event { - u64 as_uint64[2]; - struct { - u8 event_pending: 1; - u8 event_type: 3; - u8 reserved: 4; - u8 rsvd[3]; - u32 exception_type; - u64 context; - }; -}; - -struct hv_proximity_domain_flags { - u32 proximity_preferred: 1; - u32 reserved: 30; - u32 proximity_info_valid: 1; -}; - -struct hv_proximity_domain_info { - u32 domain_id; - struct hv_proximity_domain_flags flags; -}; - -struct hv_create_vp { - u64 partition_id; - u32 vp_index; - u8 padding[3]; - u8 subnode_type; - u64 subnode_id; - struct hv_proximity_domain_info proximity_domain_info; - u64 flags; -}; - -struct hv_deposit_memory { - u64 partition_id; - u64 gpa_page_list[0]; -}; - -union hv_pci_bdf { - u16 as_uint16; - struct { - u8 function: 3; - u8 device: 5; - u8 bus; - }; -}; - -union hv_pci_bus_range { - u16 as_uint16; - struct { - u8 subordinate_bus; - u8 secondary_bus; - }; -}; - -union hv_device_id { - u64 as_uint64; - struct { - u64 reserved0: 62; - u64 device_type: 2; - }; - struct { - u64 id: 62; - u64 device_type: 2; - } logical; - struct { - union { - hv_pci_rid rid; - union hv_pci_bdf bdf; - }; - hv_pci_segment segment; - union hv_pci_bus_range shadow_bus_range; - u16 phantom_function_bits: 2; - u16 source_shadow: 1; - u16 rsvdz0: 11; - u16 device_type: 2; - } pci; - struct { - u8 ioapic_id; - u8 rsvdz0; - u16 rsvdz1; - u16 rsvdz2; - u16 rsvdz3: 14; - u16 device_type: 2; - } ioapic; - struct { - u32 input_mapping_base; - u32 input_mapping_count: 30; - u32 device_type: 2; - } acpi; -}; - -struct hv_vpset { - u64 format; - u64 valid_bank_mask; - u64 bank_contents[0]; -}; - -struct hv_device_interrupt_target { - u32 vector; - u32 flags; - union { - u64 vp_mask; - struct hv_vpset vp_set; - }; -}; - -struct hv_device_interrupt_descriptor { - u32 interrupt_type; - u32 trigger_mode; - u32 vector_count; - u32 reserved; - struct hv_device_interrupt_target target; -}; - -union hv_dispatch_suspend_register { - u64 as_uint64; - struct { - u64 suspended: 1; - u64 reserved: 63; - }; -}; - -union hv_input_vtl { - u8 as_uint8; - struct { - u8 target_vtl: 4; - u8 use_target_vtl: 1; - u8 reserved_z: 3; - }; -}; - -struct hv_x64_segment_register { - u64 base; - u32 limit; - u16 selector; - union { - struct { - u16 segment_type: 4; - u16 non_system_segment: 1; - u16 descriptor_privilege_level: 2; - u16 present: 1; - u16 reserved: 4; - u16 available: 1; - u16 _long: 1; - u16 _default: 1; - u16 granularity: 1; - }; - u16 attributes; - }; -}; - -struct hv_x64_table_register { - u16 pad[3]; - u16 limit; - u64 base; -}; - -struct hv_init_vp_context { - u64 rip; - u64 rsp; - u64 rflags; - struct hv_x64_segment_register cs; - struct hv_x64_segment_register ds; - struct hv_x64_segment_register es; - struct hv_x64_segment_register fs; - struct hv_x64_segment_register gs; - struct hv_x64_segment_register ss; - struct hv_x64_segment_register tr; - struct hv_x64_segment_register ldtr; - struct hv_x64_table_register idtr; - struct hv_x64_table_register gdtr; - u64 efer; - u64 cr0; - u64 cr3; - u64 cr4; - u64 msr_cr_pat; -}; - -struct hv_enable_vp_vtl { - u64 partition_id; - u32 vp_index; - union hv_input_vtl target_vtl; - u8 mbz0; - u16 mbz1; - struct hv_init_vp_context vp_context; -}; - -union hv_explicit_suspend_register { - u64 as_uint64; - struct { - u64 suspended: 1; - u64 reserved: 63; - }; -}; - -struct hv_get_vp_from_apic_id_in { - u64 partition_id; - union hv_input_vtl target_vtl; - u8 res[7]; - u32 apic_ids[0]; -}; - -union hv_ghcb { - struct ghcb ghcb; - struct { - u64 hypercalldata[509]; - u64 outputgpa; - union { - union { - struct { - u32 callcode: 16; - u32 isfast: 1; - u32 reserved1: 14; - u32 isnested: 1; - u32 countofelements: 12; - u32 reserved2: 4; - u32 repstartindex: 12; - u32 reserved3: 4; - }; - u64 asuint64; - } hypercallinput; - union { - struct { - u16 callstatus; - u16 reserved1; - u32 elementsprocessed: 12; - u32 reserved2: 20; - }; - u64 asunit64; - } hypercalloutput; - }; - u64 reserved2; - } hypercall; -}; - -union hv_gpa_page_range { - u64 address_space; - struct { - u64 additional_pages: 11; - u64 largepage: 1; - u64 basepfn: 52; - } page; - struct { - u64 reserved: 12; - u64 page_size: 1; - u64 reserved1: 8; - u64 base_large_pfn: 43; - }; -}; - -struct hv_gpa_range_for_visibility { - u64 partition_id; - u32 host_visibility: 2; - u32 reserved0: 30; - u32 reserved1; - u64 gpa_page_list[510]; -}; - -struct hv_guest_mapping_flush { - u64 address_space; - u64 flags; -}; - -struct hv_guest_mapping_flush_list { - u64 address_space; - u64 flags; - union hv_gpa_page_range gpa_list[510]; -}; - -union hv_hypervisor_version_info { - struct { - u32 build_number; - u32 minor_version: 16; - u32 major_version: 16; - u32 service_pack; - u32 service_number: 24; - u32 service_branch: 8; - }; - struct { - u32 eax; - u32 ebx; - u32 ecx; - u32 edx; - }; -}; - -struct hv_input_add_logical_processor { - u32 lp_index; - u32 apic_id; - struct hv_proximity_domain_info proximity_domain_info; -}; - -struct hv_input_get_partition_property { - u64 partition_id; - u32 property_code; - u32 padding; -}; - -struct hv_input_get_vp_registers { - u64 partition_id; - u32 vp_index; - union hv_input_vtl input_vtl; - u8 rsvd_z8; - u16 rsvd_z16; - u32 names[0]; -}; - -union hv_msi_address_register { - u32 as_uint32; - struct { - u32 reserved1: 2; - u32 destination_mode: 1; - u32 redirection_hint: 1; - u32 reserved2: 8; - u32 destination_id: 8; - u32 msi_base: 12; - }; -}; - -union hv_msi_data_register { - u32 as_uint32; - struct { - u32 vector: 8; - u32 delivery_mode: 3; - u32 reserved1: 3; - u32 level_assert: 1; - u32 trigger_mode: 1; - u32 reserved2: 16; - }; -}; - -union hv_msi_entry { - u64 as_uint64; - struct { - union hv_msi_address_register address; - union hv_msi_data_register data; - }; -}; - -union hv_ioapic_rte { - u64 as_uint64; - struct { - u32 vector: 8; - u32 delivery_mode: 3; - u32 destination_mode: 1; - u32 delivery_status: 1; - u32 interrupt_polarity: 1; - u32 remote_irr: 1; - u32 trigger_mode: 1; - u32 interrupt_mask: 1; - u32 reserved1: 15; - u32 reserved2: 24; - u32 destination_id: 8; - }; - struct { - u32 low_uint32; - u32 high_uint32; - }; -}; - -struct hv_interrupt_entry { - u32 source; - u32 reserved1; - union { - union hv_msi_entry msi_entry; - union hv_ioapic_rte ioapic_rte; - }; -}; - -struct hv_input_map_device_interrupt { - u64 partition_id; - u64 device_id; - u32 flags; - u32 base_irt_idx; - struct hv_interrupt_entry logical_interrupt_entry; - struct hv_device_interrupt_descriptor interrupt_descriptor; -}; - -struct hv_u128 { - u64 low_part; - u64 high_part; -}; - -union hv_intercept_suspend_register { - u64 as_uint64; - struct { - u64 suspended: 1; - u64 reserved: 63; - }; -}; - -union hv_x64_interrupt_state_register { - u64 as_uint64; - struct { - u64 interrupt_shadow: 1; - u64 nmi_masked: 1; - u64 reserved: 62; - }; -}; - -union hv_x64_pending_interruption_register { - u64 as_uint64; - struct { - u32 interruption_pending: 1; - u32 interruption_type: 3; - u32 deliver_error_code: 1; - u32 instruction_length: 4; - u32 nested_event: 1; - u32 reserved: 6; - u32 interruption_vector: 16; - u32 error_code; - }; -}; - -union hv_register_value { - struct hv_u128 reg128; - u64 reg64; - u32 reg32; - u16 reg16; - u8 reg8; - struct hv_x64_segment_register segment; - struct hv_x64_table_register table; - union hv_explicit_suspend_register explicit_suspend; - union hv_intercept_suspend_register intercept_suspend; - union hv_dispatch_suspend_register dispatch_suspend; - union hv_x64_interrupt_state_register interrupt_state; - union hv_x64_pending_interruption_register pending_interruption; - union hv_arm64_pending_synthetic_exception_event pending_synthetic_exception_event; -}; - -struct hv_register_assoc { - u32 name; - u32 reserved1; - u64 reserved2; - union hv_register_value value; -}; - -struct hv_input_set_vp_registers { - u64 partition_id; - u32 vp_index; - union hv_input_vtl input_vtl; - u8 rsvd_z8; - u16 rsvd_z16; - struct hv_register_assoc elements[0]; -}; - -struct hv_input_unmap_device_interrupt { - u64 partition_id; - u64 device_id; - struct hv_interrupt_entry interrupt_entry; - u32 flags; -} __attribute__((packed)); - -struct hv_lp_startup_status { - u64 hv_status; - u64 substatus1; - u64 substatus2; - u64 substatus3; - u64 substatus4; - u64 substatus5; - u64 substatus6; -}; - -union hv_message_flags { - u8 asu8; - struct { - u8 msg_pending: 1; - u8 reserved: 7; - }; -}; - -union hv_port_id { - u32 asu32; - struct { - u32 id: 24; - u32 reserved: 8; - } u; -}; - -struct hv_message_header { - u32 message_type; - u8 payload_size; - union hv_message_flags message_flags; - u8 reserved[2]; - union { - u64 sender; - union hv_port_id port; - }; -}; - -struct hv_message { - struct hv_message_header header; - union { - u64 payload[30]; - } u; -}; - -struct hv_nested_enlightenments_control { - struct { - u32 directhypercall: 1; - u32 reserved: 31; - } features; - struct { - u32 inter_partition_comm: 1; - u32 reserved: 31; - } hypercall_controls; -}; - -struct hv_ops { - ssize_t (*get_chars)(uint32_t, u8 *, size_t); - ssize_t (*put_chars)(uint32_t, const u8 *, size_t); - int (*flush)(uint32_t, bool); - int (*notifier_add)(struct hvc_struct *, int); - void (*notifier_del)(struct hvc_struct *, int); - void (*notifier_hangup)(struct hvc_struct *, int); - int (*tiocmget)(struct hvc_struct *); - int (*tiocmset)(struct hvc_struct *, unsigned int, unsigned int); - void (*dtr_rts)(struct hvc_struct *, bool); -}; - -struct hv_output_add_logical_processor { - struct hv_lp_startup_status startup_status; -}; - -struct hv_output_get_partition_id { - u64 partition_id; -}; - -struct hv_output_get_partition_property { - u64 property_value; -}; - -struct hv_output_map_device_interrupt { - struct hv_interrupt_entry interrupt_entry; - u64 ext_status_deprecated[5]; -}; - -struct hv_partition_assist_pg { - u32 tlb_lock_count; -}; - -struct hv_reenlightenment_control { - u64 vector: 8; - u64 reserved1: 8; - u64 enabled: 1; - u64 reserved2: 15; - u64 target_vp: 32; -}; - -union hv_reference_tsc_msr { - u64 as_uint64; - struct { - u64 enable: 1; - u64 reserved: 11; - u64 pfn: 52; - }; -}; - -struct hv_send_ipi { - u32 vector; - u32 reserved; - u64 cpu_mask; -}; - -struct hv_send_ipi_ex { - u32 vector; - u32 reserved; - struct hv_vpset vp_set; -}; - -struct hv_status_info { - char *string; - int errno; - u16 code; -}; - -union hv_stimer_config { - u64 as_uint64; - struct { - u64 enable: 1; - u64 periodic: 1; - u64 lazy: 1; - u64 auto_enable: 1; - u64 apic_vector: 8; - u64 direct_mode: 1; - u64 reserved_z0: 3; - u64 sintx: 4; - u64 reserved_z1: 44; - }; -}; - -struct hv_tlb_flush { - u64 address_space; - u64 flags; - u64 processor_mask; - u64 gva_list[0]; -}; - -struct hv_tlb_flush_ex { - u64 address_space; - u64 flags; - struct hv_vpset hv_vp_set; - u64 gva_list[0]; -}; - -struct hv_tsc_emulation_control { - u64 enabled: 1; - u64 reserved: 63; -}; - -struct hv_tsc_emulation_status { - u64 inprogress: 1; - u64 reserved: 63; -}; - -union hv_vp_assist_msr_contents { - u64 as_uint64; - struct { - u64 enable: 1; - u64 reserved: 11; - u64 pfn: 52; - }; -}; - -struct hv_vp_assist_page { - u32 apic_assist; - u32 reserved1; - u32 vtl_entry_reason; - u32 vtl_reserved; - u64 vtl_ret_x64rax; - u64 vtl_ret_x64rcx; - struct hv_nested_enlightenments_control nested_control; - u8 enlighten_vmentry; - u8 reserved2[7]; - u64 current_nested_vmcs; - u8 synthetic_time_unhalted_timer_expired; - u8 reserved3[7]; - u8 virtualization_fault_information[40]; - u8 reserved4[8]; - u8 intercept_message[256]; - u8 vtl_ret_actions[256]; -}; - -union hv_x64_msr_hypercall_contents { - u64 as_uint64; - struct { - u64 enable: 1; - u64 reserved: 11; - u64 guest_physical_address: 52; - }; -}; - -struct hvc_struct { - struct tty_port port; - spinlock_t lock; - int index; - int do_wakeup; - int outbuf_size; - int n_outbuf; - uint32_t vtermno; - const struct hv_ops *ops; - int irq_requested; - int data; - struct winsize ws; - struct work_struct tty_resize; - struct list_head next; - long unsigned int flags; - u8 outbuf[0]; -}; - -struct hvm_memmap_table_entry { - uint64_t addr; - uint64_t size; - uint32_t type; - uint32_t reserved; -}; - -struct hvm_modlist_entry { - uint64_t paddr; - uint64_t size; - uint64_t cmdline_paddr; - uint64_t reserved; -}; - -struct hvm_start_info { - uint32_t magic; - uint32_t version; - uint32_t flags; - uint32_t nr_modules; - uint64_t modlist_paddr; - uint64_t cmdline_paddr; - uint64_t rsdp_paddr; - uint64_t memmap_paddr; - uint32_t memmap_entries; - uint32_t reserved; -}; - -struct hw_breakpoint { - unsigned int enabled; - long unsigned int addr; - int len; - int type; - struct perf_event **pev; -}; - -struct hw_perf_event_extra { - u64 config; - unsigned int reg; - int alloc; - int idx; -}; - -struct rhlist_head { - struct rhash_head rhead; - struct rhlist_head *next; -}; - -struct hw_perf_event { - union { - struct { - u64 config; - u64 config1; - u64 last_tag; - u64 dyn_constraint; - long unsigned int config_base; - long unsigned int event_base; - int event_base_rdpmc; - int idx; - int last_cpu; - int flags; - struct hw_perf_event_extra extra_reg; - struct hw_perf_event_extra branch_reg; - }; - struct { - u64 aux_config; - unsigned int aux_paused; - }; - struct { - struct hrtimer hrtimer; - }; - struct { - struct list_head tp_list; - }; - struct { - u64 pwr_acc; - u64 ptsc; - }; - struct { - struct arch_hw_breakpoint info; - struct rhlist_head bp_list; - }; - struct { - u8 iommu_bank; - u8 iommu_cntr; - u16 padding; - u64 conf; - u64 conf1; - }; - }; - struct task_struct *target; - void *addr_filters; - long unsigned int addr_filters_gen; - int state; - local64_t prev_count; - u64 sample_period; - union { - struct { - u64 last_period; - local64_t period_left; - }; - struct { - u64 saved_metric; - u64 saved_slots; - }; - }; - u64 interrupts_seq; - u64 interrupts; - u64 freq_time_stamp; - u64 freq_count_stamp; -}; - -struct hw_port_info { - struct net_device *lower_dev; - u32 port_id; -}; - -struct hwlat_data { - struct mutex lock; - u64 count; - u64 sample_window; - u64 sample_width; - int thread_mode; -}; - -struct hwlat_entry { - struct trace_entry ent; - u64 duration; - u64 outer_duration; - u64 nmi_total_ts; - struct timespec64 timestamp; - unsigned int nmi_count; - unsigned int seqnum; - unsigned int count; -}; - -struct hwlat_kthread_data { - struct task_struct *kthread; - u64 nmi_ts_start; - u64 nmi_total_ts; - int nmi_count; - int nmi_cpu; -}; - -struct hwlat_sample { - u64 seqnum; - u64 duration; - u64 outer_duration; - u64 nmi_total_ts; - struct timespec64 timestamp; - int nmi_count; - int count; -}; - -struct hwmon_channel_info { - enum hwmon_sensor_types type; - const u32 *config; -}; - -struct hwmon_ops; - -struct hwmon_chip_info { - const struct hwmon_ops *ops; - const struct hwmon_channel_info * const *info; -}; - -struct hwmon_device { - const char *name; - const char *label; - struct device dev; - const struct hwmon_chip_info *chip; - struct list_head tzdata; - struct attribute_group group; - const struct attribute_group **groups; -}; - -struct hwmon_device_attribute { - struct device_attribute dev_attr; - const struct hwmon_ops *ops; - enum hwmon_sensor_types type; - u32 attr; - int index; - char name[32]; -}; - -struct hwmon_ops { - umode_t visible; - umode_t (*is_visible)(const void *, enum hwmon_sensor_types, u32, int); - int (*read)(struct device *, enum hwmon_sensor_types, u32, int, long int *); - int (*read_string)(struct device *, enum hwmon_sensor_types, u32, int, const char **); - int (*write)(struct device *, enum hwmon_sensor_types, u32, int, long int); -}; - -struct hwmon_thermal_data { - struct list_head node; - struct device *dev; - int index; - struct thermal_zone_device *tzd; -}; - -struct hwmon_type_attr_list { - const u32 *attrs; - size_t n_attrs; -}; - -struct to_kill { - struct list_head nd; - struct task_struct *tsk; - long unsigned int addr; - short int size_shift; -}; - -struct hwpoison_walk { - struct to_kill tk; - long unsigned int pfn; - int flags; -}; - -struct hwrng { - const char *name; - int (*init)(struct hwrng *); - void (*cleanup)(struct hwrng *); - int (*data_present)(struct hwrng *, int); - int (*data_read)(struct hwrng *, u32 *); - int (*read)(struct hwrng *, void *, size_t, bool); - long unsigned int priv; - short unsigned int quality; - struct list_head list; - struct kref ref; - struct completion cleanup_done; - struct completion dying; -}; - -struct hwspinlock_device; - -struct hwspinlock { - struct hwspinlock_device *bank; - spinlock_t lock; - void *priv; -}; - -struct hwspinlock_ops; - -struct hwspinlock_device { - struct device *dev; - const struct hwspinlock_ops *ops; - int base_id; - int num_locks; - struct hwspinlock lock[0]; -}; - -struct hwspinlock_ops { - int (*trylock)(struct hwspinlock *); - void (*unlock)(struct hwspinlock *); - int (*bust)(struct hwspinlock *, unsigned int); - void (*relax)(struct hwspinlock *); -}; - -struct hwtstamp_config { - int flags; - int tx_type; - int rx_filter; -}; - -struct hwtstamp_provider_desc { - int index; - enum hwtstamp_provider_qualifier qualifier; -}; - -struct hwtstamp_provider { - struct callback_head callback_head; - enum hwtstamp_source source; - struct phy_device *phydev; - struct hwtstamp_provider_desc desc; -}; - -struct hyp_sysfs_attr { - struct attribute attr; - ssize_t (*show)(struct hyp_sysfs_attr *, char *); - ssize_t (*store)(struct hyp_sysfs_attr *, const char *, size_t); - union { - void *hyp_attr_data; - long unsigned int hyp_attr_value; - }; -}; - -struct hyperv_root_ir_data { - u8 ioapic_id; - bool is_level; - struct hv_interrupt_entry entry; -} __attribute__((packed)); - -struct x86_hyper_init { - void (*init_platform)(void); - void (*guest_late_init)(void); - bool (*x2apic_available)(void); - bool (*msi_ext_dest_id)(void); - void (*init_mem_mapping)(void); - void (*init_after_bootmem)(void); -}; - -struct x86_hyper_runtime { - void (*pin_vcpu)(int); - void (*sev_es_hcall_prepare)(struct ghcb *, struct pt_regs *); - bool (*sev_es_hcall_finish)(struct ghcb *, struct pt_regs *); - bool (*is_private_mmio)(u64); -}; - -struct hypervisor_x86 { - const char *name; - uint32_t (*detect)(void); - enum x86_hypervisor_type type; - struct x86_hyper_init init; - struct x86_hyper_runtime runtime; - bool ignore_nopv; -}; - -struct i2c_acpi_handler_data { - struct acpi_connection_info info; - struct i2c_adapter *adapter; -}; - -struct i2c_acpi_irq_context { - int irq; - bool wake_capable; -}; - -struct i2c_board_info; - -struct i2c_acpi_lookup { - struct i2c_board_info *info; - acpi_handle adapter_handle; - acpi_handle device_handle; - acpi_handle search_handle; - int n; - int index; - u32 speed; - u32 min_speed; - u32 force_speed; -}; - -struct i2c_adapter_quirks { - u64 flags; - int max_num_msgs; - u16 max_write_len; - u16 max_read_len; - u16 max_comb_1st_msg_len; - u16 max_comb_2nd_msg_len; -}; - -union i2c_smbus_data; - -struct i2c_algorithm { - union { - int (*xfer)(struct i2c_adapter *, struct i2c_msg *, int); - int (*master_xfer)(struct i2c_adapter *, struct i2c_msg *, int); - }; - union { - int (*xfer_atomic)(struct i2c_adapter *, struct i2c_msg *, int); - int (*master_xfer_atomic)(struct i2c_adapter *, struct i2c_msg *, int); - }; - int (*smbus_xfer)(struct i2c_adapter *, u16, short unsigned int, char, u8, int, union i2c_smbus_data *); - int (*smbus_xfer_atomic)(struct i2c_adapter *, u16, short unsigned int, char, u8, int, union i2c_smbus_data *); - u32 (*functionality)(struct i2c_adapter *); - union { - int (*reg_target)(struct i2c_client *); - int (*reg_slave)(struct i2c_client *); - }; - union { - int (*unreg_target)(struct i2c_client *); - int (*unreg_slave)(struct i2c_client *); - }; -}; - -struct i2c_board_info { - char type[20]; - short unsigned int flags; - short unsigned int addr; - const char *dev_name; - void *platform_data; - struct fwnode_handle *fwnode; - const struct software_node *swnode; - const struct resource *resources; - unsigned int num_resources; - int irq; -}; - -typedef int (*i2c_slave_cb_t)(struct i2c_client *, enum i2c_slave_event, u8 *); - -struct i2c_client { - short unsigned int flags; - short unsigned int addr; - char name[20]; - struct i2c_adapter *adapter; - struct device dev; - int init_irq; - int irq; - struct list_head detected; - i2c_slave_cb_t slave_cb; - void *devres_group_id; - struct dentry *debugfs; -}; - -struct i2c_cmd_arg { - unsigned int cmd; - void *arg; -}; - -struct i2c_dev { - struct list_head list; - struct i2c_adapter *adap; - struct device dev; - struct cdev cdev; -}; - -struct i2c_device_id { - char name[20]; - kernel_ulong_t driver_data; -}; - -struct i2c_device_identity { - u16 manufacturer_id; - u16 part_id; - u8 die_revision; -}; - -struct i2c_devinfo { - struct list_head list; - int busnum; - struct i2c_board_info board_info; -}; - -struct i2c_driver { - unsigned int class; - int (*probe)(struct i2c_client *); - void (*remove)(struct i2c_client *); - void (*shutdown)(struct i2c_client *); - void (*alert)(struct i2c_client *, enum i2c_alert_protocol, unsigned int); - int (*command)(struct i2c_client *, unsigned int, void *); - struct device_driver driver; - const struct i2c_device_id *id_table; - int (*detect)(struct i2c_client *, struct i2c_board_info *); - const short unsigned int *address_list; - struct list_head clients; - u32 flags; -}; - -struct i2c_dw_semaphore_callbacks { - int (*probe)(struct dw_i2c_dev *); - void (*remove)(struct dw_i2c_dev *); -}; - -struct i2c_lock_operations { - void (*lock_bus)(struct i2c_adapter *, unsigned int); - int (*trylock_bus)(struct i2c_adapter *, unsigned int); - void (*unlock_bus)(struct i2c_adapter *, unsigned int); -}; - -struct i2c_msg { - __u16 addr; - __u16 flags; - __u16 len; - __u8 *buf; -}; - -struct i2c_msg32 { - u16 addr; - u16 flags; - u16 len; - compat_caddr_t buf; -}; - -struct i2c_rdwr_ioctl_data { - struct i2c_msg *msgs; - __u32 nmsgs; -}; - -struct i2c_rdwr_ioctl_data32 { - compat_caddr_t msgs; - u32 nmsgs; -}; - -struct i2c_smbus_alert_setup { - int irq; -}; - -union i2c_smbus_data { - __u8 byte; - __u16 word; - __u8 block[34]; -}; - -struct i2c_smbus_ioctl_data { - __u8 read_write; - __u8 command; - __u32 size; - union i2c_smbus_data *data; -}; - -struct i2c_smbus_ioctl_data32 { - u8 read_write; - u8 command; - u32 size; - compat_caddr_t data; -}; - -struct user_regs_struct32 { - __u32 ebx; - __u32 ecx; - __u32 edx; - __u32 esi; - __u32 edi; - __u32 ebp; - __u32 eax; - short unsigned int ds; - short unsigned int __ds; - short unsigned int es; - short unsigned int __es; - short unsigned int fs; - short unsigned int __fs; - short unsigned int gs; - short unsigned int __gs; - __u32 orig_eax; - __u32 eip; - short unsigned int cs; - short unsigned int __cs; - __u32 eflags; - __u32 esp; - short unsigned int ss; - short unsigned int __ss; -}; - -struct i386_elf_prstatus { - struct compat_elf_prstatus_common common; - struct user_regs_struct32 pr_reg; - compat_int_t pr_fpvalid; -}; - -struct i8042_port { - struct serio *serio; - int irq; - bool exists; - bool driver_bound; - signed char mux; -}; - -struct iattr { - unsigned int ia_valid; - umode_t ia_mode; - union { - kuid_t ia_uid; - vfsuid_t ia_vfsuid; - }; - union { - kgid_t ia_gid; - vfsgid_t ia_vfsgid; - }; - loff_t ia_size; - struct timespec64 ia_atime; - struct timespec64 ia_mtime; - struct timespec64 ia_ctime; - struct file *ia_file; -}; - -struct ib_pd; - -struct ib_uobject; - -struct ib_gid_attr; - -struct ib_ah { - struct ib_device *device; - struct ib_pd *pd; - struct ib_uobject *uobject; - const struct ib_gid_attr *sgid_attr; - enum rdma_ah_attr_type type; -}; - -struct ib_ah_attr { - u16 dlid; - u8 src_path_bits; -}; - -struct ib_core_device { - struct device dev; - possible_net_t rdma_net; - struct kobject *ports_kobj; - struct list_head port_list; - struct ib_device *owner; -}; - -struct ib_counters { - struct ib_device *device; - struct ib_uobject *uobject; - atomic_t usecnt; -}; - -struct ib_counters_read_attr { - u64 *counters_buff; - u32 ncounters; - u32 flags; -}; - -struct ib_ucq_object; - -struct ib_cq; - -typedef void (*ib_comp_handler)(struct ib_cq *, void *); - -struct irq_poll; - -typedef int irq_poll_fn(struct irq_poll *, int); - -struct irq_poll { - struct list_head list; - long unsigned int state; - int weight; - irq_poll_fn *poll; -}; - -struct rdma_restrack_entry { - bool valid; - u8 no_track: 1; - struct kref kref; - struct completion comp; - struct task_struct *task; - const char *kern_name; - enum rdma_restrack_type type; - bool user; - u32 id; -}; - -struct ib_event; - -struct ib_wc; - -struct ib_cq { - struct ib_device *device; - struct ib_ucq_object *uobject; - ib_comp_handler comp_handler; - void (*event_handler)(struct ib_event *, void *); - void *cq_context; - int cqe; - unsigned int cqe_used; - atomic_t usecnt; - enum ib_poll_context poll_ctx; - struct ib_wc *wc; - struct list_head pool_entry; - union { - struct irq_poll iop; - struct work_struct work; - }; - struct workqueue_struct *comp_wq; - struct dim *dim; - ktime_t timestamp; - u8 interrupt: 1; - u8 shared: 1; - unsigned int comp_vector; - struct rdma_restrack_entry res; -}; - -struct ib_cq_caps { - u16 max_cq_moderation_count; - u16 max_cq_moderation_period; -}; - -struct ib_cq_init_attr { - unsigned int cqe; - u32 comp_vector; - u32 flags; -}; - -struct ib_cqe { - void (*done)(struct ib_cq *, struct ib_wc *); -}; - -struct ib_mad; - -struct uverbs_attr_bundle; - -struct ib_umem; - -struct rdma_cm_id; - -struct iw_cm_id; - -struct iw_cm_conn_param; - -struct ib_uverbs_file; - -struct ib_qp; - -struct ib_send_wr; - -struct ib_recv_wr; - -struct ib_srq; - -struct ib_grh; - -struct ib_device_attr; - -struct ib_udata; - -struct ib_device_modify; - -struct ib_port_attr; - -struct ib_port_modify; - -struct ib_port_immutable; - -struct rdma_netdev_alloc_params; - -union ib_gid; - -struct ib_ucontext; - -struct rdma_user_mmap_entry; - -struct rdma_ah_init_attr; - -struct rdma_ah_attr; - -struct ib_srq_init_attr; - -struct ib_srq_attr; - -struct ib_qp_init_attr; - -struct ib_qp_attr; - -struct ib_mr; - -struct ib_dmah; - -struct ib_sge; - -struct ib_mr_status; - -struct ib_mw; - -struct ib_xrcd; - -struct ib_flow; - -struct ib_flow_attr; - -struct ib_flow_action; - -struct ifla_vf_info; - -struct ifla_vf_stats; - -struct ifla_vf_guid; - -struct ib_wq; - -struct ib_wq_init_attr; - -struct ib_wq_attr; - -struct ib_rwq_ind_table; - -struct ib_rwq_ind_table_init_attr; - -struct ib_dm; - -struct ib_dm_alloc_attr; - -struct ib_dm_mr_attr; - -struct rdma_hw_stats; - -struct rdma_counter; - -struct ib_device_ops { - struct module *owner; - enum rdma_driver_id driver_id; - u32 uverbs_abi_ver; - unsigned int uverbs_no_driver_id_binding: 1; - const struct attribute_group *device_group; - const struct attribute_group **port_groups; - int (*post_send)(struct ib_qp *, const struct ib_send_wr *, const struct ib_send_wr **); - int (*post_recv)(struct ib_qp *, const struct ib_recv_wr *, const struct ib_recv_wr **); - void (*drain_rq)(struct ib_qp *); - void (*drain_sq)(struct ib_qp *); - int (*poll_cq)(struct ib_cq *, int, struct ib_wc *); - int (*peek_cq)(struct ib_cq *, int); - int (*req_notify_cq)(struct ib_cq *, enum ib_cq_notify_flags); - int (*post_srq_recv)(struct ib_srq *, const struct ib_recv_wr *, const struct ib_recv_wr **); - int (*process_mad)(struct ib_device *, int, u32, const struct ib_wc *, const struct ib_grh *, const struct ib_mad *, struct ib_mad *, size_t *, u16 *); - int (*query_device)(struct ib_device *, struct ib_device_attr *, struct ib_udata *); - int (*modify_device)(struct ib_device *, int, struct ib_device_modify *); - void (*get_dev_fw_str)(struct ib_device *, char *); - const struct cpumask * (*get_vector_affinity)(struct ib_device *, int); - int (*query_port)(struct ib_device *, u32, struct ib_port_attr *); - int (*modify_port)(struct ib_device *, u32, int, struct ib_port_modify *); - int (*get_port_immutable)(struct ib_device *, u32, struct ib_port_immutable *); - enum rdma_link_layer (*get_link_layer)(struct ib_device *, u32); - struct net_device * (*get_netdev)(struct ib_device *, u32); - struct net_device * (*alloc_rdma_netdev)(struct ib_device *, u32, enum rdma_netdev_t, const char *, unsigned char, void (*)(struct net_device *)); - int (*rdma_netdev_get_params)(struct ib_device *, u32, enum rdma_netdev_t, struct rdma_netdev_alloc_params *); - int (*query_gid)(struct ib_device *, u32, int, union ib_gid *); - int (*add_gid)(const struct ib_gid_attr *, void **); - int (*del_gid)(const struct ib_gid_attr *, void **); - int (*query_pkey)(struct ib_device *, u32, u16, u16 *); - int (*alloc_ucontext)(struct ib_ucontext *, struct ib_udata *); - void (*dealloc_ucontext)(struct ib_ucontext *); - int (*mmap)(struct ib_ucontext *, struct vm_area_struct *); - void (*mmap_free)(struct rdma_user_mmap_entry *); - void (*disassociate_ucontext)(struct ib_ucontext *); - int (*alloc_pd)(struct ib_pd *, struct ib_udata *); - int (*dealloc_pd)(struct ib_pd *, struct ib_udata *); - int (*create_ah)(struct ib_ah *, struct rdma_ah_init_attr *, struct ib_udata *); - int (*create_user_ah)(struct ib_ah *, struct rdma_ah_init_attr *, struct ib_udata *); - int (*modify_ah)(struct ib_ah *, struct rdma_ah_attr *); - int (*query_ah)(struct ib_ah *, struct rdma_ah_attr *); - int (*destroy_ah)(struct ib_ah *, u32); - int (*create_srq)(struct ib_srq *, struct ib_srq_init_attr *, struct ib_udata *); - int (*modify_srq)(struct ib_srq *, struct ib_srq_attr *, enum ib_srq_attr_mask, struct ib_udata *); - int (*query_srq)(struct ib_srq *, struct ib_srq_attr *); - int (*destroy_srq)(struct ib_srq *, struct ib_udata *); - int (*create_qp)(struct ib_qp *, struct ib_qp_init_attr *, struct ib_udata *); - int (*modify_qp)(struct ib_qp *, struct ib_qp_attr *, int, struct ib_udata *); - int (*query_qp)(struct ib_qp *, struct ib_qp_attr *, int, struct ib_qp_init_attr *); - int (*destroy_qp)(struct ib_qp *, struct ib_udata *); - int (*create_cq)(struct ib_cq *, const struct ib_cq_init_attr *, struct uverbs_attr_bundle *); - int (*create_cq_umem)(struct ib_cq *, const struct ib_cq_init_attr *, struct ib_umem *, struct uverbs_attr_bundle *); - int (*modify_cq)(struct ib_cq *, u16, u16); - int (*destroy_cq)(struct ib_cq *, struct ib_udata *); - int (*resize_cq)(struct ib_cq *, int, struct ib_udata *); - int (*pre_destroy_cq)(struct ib_cq *); - void (*post_destroy_cq)(struct ib_cq *); - struct ib_mr * (*get_dma_mr)(struct ib_pd *, int); - struct ib_mr * (*reg_user_mr)(struct ib_pd *, u64, u64, u64, int, struct ib_dmah *, struct ib_udata *); - struct ib_mr * (*reg_user_mr_dmabuf)(struct ib_pd *, u64, u64, u64, int, int, struct ib_dmah *, struct uverbs_attr_bundle *); - struct ib_mr * (*rereg_user_mr)(struct ib_mr *, int, u64, u64, u64, int, struct ib_pd *, struct ib_udata *); - int (*dereg_mr)(struct ib_mr *, struct ib_udata *); - struct ib_mr * (*alloc_mr)(struct ib_pd *, enum ib_mr_type, u32); - struct ib_mr * (*alloc_mr_integrity)(struct ib_pd *, u32, u32); - int (*advise_mr)(struct ib_pd *, enum ib_uverbs_advise_mr_advice, u32, struct ib_sge *, u32, struct uverbs_attr_bundle *); - int (*map_mr_sg)(struct ib_mr *, struct scatterlist *, int, unsigned int *); - int (*check_mr_status)(struct ib_mr *, u32, struct ib_mr_status *); - int (*alloc_mw)(struct ib_mw *, struct ib_udata *); - int (*dealloc_mw)(struct ib_mw *); - int (*attach_mcast)(struct ib_qp *, union ib_gid *, u16); - int (*detach_mcast)(struct ib_qp *, union ib_gid *, u16); - int (*alloc_xrcd)(struct ib_xrcd *, struct ib_udata *); - int (*dealloc_xrcd)(struct ib_xrcd *, struct ib_udata *); - struct ib_flow * (*create_flow)(struct ib_qp *, struct ib_flow_attr *, struct ib_udata *); - int (*destroy_flow)(struct ib_flow *); - int (*destroy_flow_action)(struct ib_flow_action *); - int (*set_vf_link_state)(struct ib_device *, int, u32, int); - int (*get_vf_config)(struct ib_device *, int, u32, struct ifla_vf_info *); - int (*get_vf_stats)(struct ib_device *, int, u32, struct ifla_vf_stats *); - int (*get_vf_guid)(struct ib_device *, int, u32, struct ifla_vf_guid *, struct ifla_vf_guid *); - int (*set_vf_guid)(struct ib_device *, int, u32, u64, int); - struct ib_wq * (*create_wq)(struct ib_pd *, struct ib_wq_init_attr *, struct ib_udata *); - int (*destroy_wq)(struct ib_wq *, struct ib_udata *); - int (*modify_wq)(struct ib_wq *, struct ib_wq_attr *, u32, struct ib_udata *); - int (*create_rwq_ind_table)(struct ib_rwq_ind_table *, struct ib_rwq_ind_table_init_attr *, struct ib_udata *); - int (*destroy_rwq_ind_table)(struct ib_rwq_ind_table *); - struct ib_dm * (*alloc_dm)(struct ib_device *, struct ib_ucontext *, struct ib_dm_alloc_attr *, struct uverbs_attr_bundle *); - int (*dealloc_dm)(struct ib_dm *, struct uverbs_attr_bundle *); - int (*alloc_dmah)(struct ib_dmah *, struct uverbs_attr_bundle *); - int (*dealloc_dmah)(struct ib_dmah *, struct uverbs_attr_bundle *); - struct ib_mr * (*reg_dm_mr)(struct ib_pd *, struct ib_dm *, struct ib_dm_mr_attr *, struct uverbs_attr_bundle *); - int (*create_counters)(struct ib_counters *, struct uverbs_attr_bundle *); - int (*destroy_counters)(struct ib_counters *); - int (*read_counters)(struct ib_counters *, struct ib_counters_read_attr *, struct uverbs_attr_bundle *); - int (*map_mr_sg_pi)(struct ib_mr *, struct scatterlist *, int, unsigned int *, struct scatterlist *, int, unsigned int *); - struct rdma_hw_stats * (*alloc_hw_device_stats)(struct ib_device *); - struct rdma_hw_stats * (*alloc_hw_port_stats)(struct ib_device *, u32); - int (*get_hw_stats)(struct ib_device *, struct rdma_hw_stats *, u32, int); - int (*modify_hw_stat)(struct ib_device *, u32, unsigned int, bool); - int (*fill_res_mr_entry)(struct sk_buff *, struct ib_mr *); - int (*fill_res_mr_entry_raw)(struct sk_buff *, struct ib_mr *); - int (*fill_res_cq_entry)(struct sk_buff *, struct ib_cq *); - int (*fill_res_cq_entry_raw)(struct sk_buff *, struct ib_cq *); - int (*fill_res_qp_entry)(struct sk_buff *, struct ib_qp *); - int (*fill_res_qp_entry_raw)(struct sk_buff *, struct ib_qp *); - int (*fill_res_cm_id_entry)(struct sk_buff *, struct rdma_cm_id *); - int (*fill_res_srq_entry)(struct sk_buff *, struct ib_srq *); - int (*fill_res_srq_entry_raw)(struct sk_buff *, struct ib_srq *); - int (*enable_driver)(struct ib_device *); - void (*dealloc_driver)(struct ib_device *); - void (*iw_add_ref)(struct ib_qp *); - void (*iw_rem_ref)(struct ib_qp *); - struct ib_qp * (*iw_get_qp)(struct ib_device *, int); - int (*iw_connect)(struct iw_cm_id *, struct iw_cm_conn_param *); - int (*iw_accept)(struct iw_cm_id *, struct iw_cm_conn_param *); - int (*iw_reject)(struct iw_cm_id *, const void *, u8); - int (*iw_create_listen)(struct iw_cm_id *, int); - int (*iw_destroy_listen)(struct iw_cm_id *); - int (*counter_bind_qp)(struct rdma_counter *, struct ib_qp *, u32); - int (*counter_unbind_qp)(struct ib_qp *, u32); - int (*counter_dealloc)(struct rdma_counter *); - struct rdma_hw_stats * (*counter_alloc_stats)(struct rdma_counter *); - int (*counter_update_stats)(struct rdma_counter *); - void (*counter_init)(struct rdma_counter *); - int (*fill_stat_mr_entry)(struct sk_buff *, struct ib_mr *); - int (*query_ucontext)(struct ib_ucontext *, struct uverbs_attr_bundle *); - int (*get_numa_node)(struct ib_device *); - struct ib_device * (*add_sub_dev)(struct ib_device *, enum rdma_nl_dev_type, const char *); - void (*del_sub_dev)(struct ib_device *); - void (*ufile_hw_cleanup)(struct ib_uverbs_file *); - void (*report_port_event)(struct ib_device *, struct net_device *, long unsigned int); - size_t size_ib_ah; - size_t size_ib_counters; - size_t size_ib_cq; - size_t size_ib_dmah; - size_t size_ib_mw; - size_t size_ib_pd; - size_t size_ib_qp; - size_t size_ib_rwq_ind_table; - size_t size_ib_srq; - size_t size_ib_ucontext; - size_t size_ib_xrcd; - size_t size_rdma_counter; -}; - -struct ib_odp_caps { - uint64_t general_caps; - struct { - uint32_t rc_odp_caps; - uint32_t uc_odp_caps; - uint32_t ud_odp_caps; - uint32_t xrc_odp_caps; - } per_transport_caps; -}; - -struct ib_rss_caps { - u32 supported_qpts; - u32 max_rwq_indirection_tables; - u32 max_rwq_indirection_table_size; -}; - -struct ib_tm_caps { - u32 max_rndv_hdr_size; - u32 max_num_tags; - u32 flags; - u32 max_ops; - u32 max_sge; -}; - -struct ib_device_attr { - u64 fw_ver; - __be64 sys_image_guid; - u64 max_mr_size; - u64 page_size_cap; - u32 vendor_id; - u32 vendor_part_id; - u32 hw_ver; - int max_qp; - int max_qp_wr; - u64 device_cap_flags; - u64 kernel_cap_flags; - int max_send_sge; - int max_recv_sge; - int max_sge_rd; - int max_cq; - int max_cqe; - int max_mr; - int max_pd; - int max_qp_rd_atom; - int max_ee_rd_atom; - int max_res_rd_atom; - int max_qp_init_rd_atom; - int max_ee_init_rd_atom; - enum ib_atomic_cap atomic_cap; - enum ib_atomic_cap masked_atomic_cap; - int max_ee; - int max_rdd; - int max_mw; - int max_raw_ipv6_qp; - int max_raw_ethy_qp; - int max_mcast_grp; - int max_mcast_qp_attach; - int max_total_mcast_qp_attach; - int max_ah; - int max_srq; - int max_srq_wr; - int max_srq_sge; - unsigned int max_fast_reg_page_list_len; - unsigned int max_pi_fast_reg_page_list_len; - u16 max_pkeys; - u8 local_ca_ack_delay; - int sig_prot_cap; - int sig_guard_cap; - struct ib_odp_caps odp_caps; - uint64_t timestamp_mask; - uint64_t hca_core_clock; - struct ib_rss_caps rss_caps; - u32 max_wq_type_rq; - u32 raw_packet_caps; - struct ib_tm_caps tm_caps; - struct ib_cq_caps cq_caps; - u64 max_dm_size; - u32 max_sgl_rd; -}; - -struct hw_stats_device_data; - -struct rdmacg_device { - struct list_head dev_node; - struct list_head rpools; - char *name; -}; - -struct rdma_restrack_root; - -struct uapi_definition; - -struct ib_port_data; - -struct rdma_link_ops; - -struct ib_device { - struct device *dma_device; - struct ib_device_ops ops; - char name[64]; - struct callback_head callback_head; - struct list_head event_handler_list; - struct rw_semaphore event_handler_rwsem; - spinlock_t qp_open_list_lock; - struct rw_semaphore client_data_rwsem; - struct xarray client_data; - struct mutex unregistration_lock; - rwlock_t cache_lock; - struct ib_port_data *port_data; - int num_comp_vectors; - union { - struct device dev; - struct ib_core_device coredev; - }; - const struct attribute_group *groups[4]; - u8 hw_stats_attr_index; - u64 uverbs_cmd_mask; - char node_desc[64]; - __be64 node_guid; - u32 local_dma_lkey; - u16 is_switch: 1; - u16 kverbs_provider: 1; - u16 use_cq_dim: 1; - u8 node_type; - u32 phys_port_cnt; - struct ib_device_attr attrs; - struct hw_stats_device_data *hw_stats_data; - struct rdmacg_device cg_device; - u32 index; - spinlock_t cq_pools_lock; - struct list_head cq_pools[3]; - struct rdma_restrack_root *res; - const struct uapi_definition *driver_def; - refcount_t refcount; - struct completion unreg_completion; - struct work_struct unregistration_work; - const struct rdma_link_ops *link_ops; - struct mutex compat_devs_mutex; - struct xarray compat_devs; - char iw_ifname[16]; - u32 iw_driver_flags; - u32 lag_flags; - struct mutex subdev_lock; - struct list_head subdev_list_head; - enum rdma_nl_dev_type type; - struct ib_device *parent; - struct list_head subdev_list; - enum rdma_nl_name_assign_type name_assign_type; -}; - -struct ib_device_modify { - u64 sys_image_guid; - char node_desc[64]; -}; - -struct ib_dm { - struct ib_device *device; - u32 length; - u32 flags; - struct ib_uobject *uobject; - atomic_t usecnt; -}; - -struct ib_dm_alloc_attr { - u64 length; - u32 alignment; - u32 flags; -}; - -struct ib_dm_mr_attr { - u64 length; - u64 offset; - u32 access_flags; -}; - -struct ib_dmah { - struct ib_device *device; - struct ib_uobject *uobject; - struct rdma_restrack_entry res; - u32 cpu_id; - enum tph_mem_type mem_type; - atomic_t usecnt; - u8 ph; - u8 valid_fields; -}; - -struct ib_event { - struct ib_device *device; - union { - struct ib_cq *cq; - struct ib_qp *qp; - struct ib_srq *srq; - struct ib_wq *wq; - u32 port_num; - } element; - enum ib_event_type event; -}; - -struct ib_flow { - struct ib_qp *qp; - struct ib_device *device; - struct ib_uobject *uobject; -}; - -struct ib_flow_action { - struct ib_device *device; - struct ib_uobject *uobject; - enum ib_flow_action_type type; - atomic_t usecnt; -}; - -struct ib_flow_eth_filter { - u8 dst_mac[6]; - u8 src_mac[6]; - __be16 ether_type; - __be16 vlan_tag; -}; - -struct ib_flow_spec_eth { - u32 type; - u16 size; - struct ib_flow_eth_filter val; - struct ib_flow_eth_filter mask; -}; - -struct ib_flow_ib_filter { - __be16 dlid; - __u8 sl; -}; - -struct ib_flow_spec_ib { - u32 type; - u16 size; - struct ib_flow_ib_filter val; - struct ib_flow_ib_filter mask; -}; - -struct ib_flow_ipv4_filter { - __be32 src_ip; - __be32 dst_ip; - u8 proto; - u8 tos; - u8 ttl; - u8 flags; -}; - -struct ib_flow_spec_ipv4 { - u32 type; - u16 size; - struct ib_flow_ipv4_filter val; - struct ib_flow_ipv4_filter mask; -}; - -struct ib_flow_tcp_udp_filter { - __be16 dst_port; - __be16 src_port; -}; - -struct ib_flow_spec_tcp_udp { - u32 type; - u16 size; - struct ib_flow_tcp_udp_filter val; - struct ib_flow_tcp_udp_filter mask; -}; - -struct ib_flow_ipv6_filter { - u8 src_ip[16]; - u8 dst_ip[16]; - __be32 flow_label; - u8 next_hdr; - u8 traffic_class; - u8 hop_limit; -} __attribute__((packed)); - -struct ib_flow_spec_ipv6 { - u32 type; - u16 size; - struct ib_flow_ipv6_filter val; - struct ib_flow_ipv6_filter mask; -}; - -struct ib_flow_tunnel_filter { - __be32 tunnel_id; -}; - -struct ib_flow_spec_tunnel { - u32 type; - u16 size; - struct ib_flow_tunnel_filter val; - struct ib_flow_tunnel_filter mask; -}; - -struct ib_flow_esp_filter { - __be32 spi; - __be32 seq; -}; - -struct ib_flow_spec_esp { - u32 type; - u16 size; - struct ib_flow_esp_filter val; - struct ib_flow_esp_filter mask; -}; - -struct ib_flow_gre_filter { - __be16 c_ks_res0_ver; - __be16 protocol; - __be32 key; -}; - -struct ib_flow_spec_gre { - u32 type; - u16 size; - struct ib_flow_gre_filter val; - struct ib_flow_gre_filter mask; -}; - -struct ib_flow_mpls_filter { - __be32 tag; -}; - -struct ib_flow_spec_mpls { - u32 type; - u16 size; - struct ib_flow_mpls_filter val; - struct ib_flow_mpls_filter mask; -}; - -struct ib_flow_spec_action_tag { - enum ib_flow_spec_type type; - u16 size; - u32 tag_id; -}; - -struct ib_flow_spec_action_drop { - enum ib_flow_spec_type type; - u16 size; -}; - -struct ib_flow_spec_action_handle { - enum ib_flow_spec_type type; - u16 size; - struct ib_flow_action *act; -}; - -struct ib_flow_spec_action_count { - enum ib_flow_spec_type type; - u16 size; - struct ib_counters *counters; -}; - -union ib_flow_spec { - struct { - u32 type; - u16 size; - }; - struct ib_flow_spec_eth eth; - struct ib_flow_spec_ib ib; - struct ib_flow_spec_ipv4 ipv4; - struct ib_flow_spec_tcp_udp tcp_udp; - struct ib_flow_spec_ipv6 ipv6; - struct ib_flow_spec_tunnel tunnel; - struct ib_flow_spec_esp esp; - struct ib_flow_spec_gre gre; - struct ib_flow_spec_mpls mpls; - struct ib_flow_spec_action_tag flow_tag; - struct ib_flow_spec_action_drop drop; - struct ib_flow_spec_action_handle action; - struct ib_flow_spec_action_count flow_count; -}; - -struct ib_flow_attr { - enum ib_flow_attr_type type; - u16 size; - u16 priority; - u32 flags; - u8 num_of_specs; - u32 port; - union ib_flow_spec flows[0]; -}; - -union ib_gid { - u8 raw[16]; - struct { - __be64 subnet_prefix; - __be64 interface_id; - } global; -}; - -struct ib_gid_attr { - struct net_device *ndev; - struct ib_device *device; - union ib_gid gid; - enum ib_gid_type gid_type; - u16 index; - u32 port_num; -}; - -struct ib_global_route { - const struct ib_gid_attr *sgid_attr; - union ib_gid dgid; - u32 flow_label; - u8 sgid_index; - u8 hop_limit; - u8 traffic_class; -}; - -struct ib_grh { - __be32 version_tclass_flow; - __be16 paylen; - u8 next_hdr; - u8 hop_limit; - union ib_gid sgid; - union ib_gid dgid; -}; - -struct ib_sig_attrs; - -struct ib_mr { - struct ib_device *device; - struct ib_pd *pd; - u32 lkey; - u32 rkey; - u64 iova; - u64 length; - unsigned int page_size; - enum ib_mr_type type; - bool need_inval; - union { - struct ib_uobject *uobject; - struct list_head qp_entry; - }; - struct ib_dm *dm; - struct ib_sig_attrs *sig_attrs; - struct ib_dmah *dmah; - struct rdma_restrack_entry res; -}; - -struct ib_sig_err { - enum ib_sig_err_type err_type; - u32 expected; - u32 actual; - u64 sig_err_offset; - u32 key; -}; - -struct ib_mr_status { - u32 fail_status; - struct ib_sig_err sig_err; -}; - -struct ib_mw { - struct ib_device *device; - struct ib_pd *pd; - struct ib_uobject *uobject; - u32 rkey; - enum ib_mw_type type; -}; - -struct ib_pd { - u32 local_dma_lkey; - u32 flags; - struct ib_device *device; - struct ib_uobject *uobject; - atomic_t usecnt; - u32 unsafe_global_rkey; - struct ib_mr *__internal_mr; - struct rdma_restrack_entry res; -}; - -struct ib_port_attr { - u64 subnet_prefix; - enum ib_port_state state; - enum ib_mtu max_mtu; - enum ib_mtu active_mtu; - u32 phys_mtu; - int gid_tbl_len; - unsigned int ip_gids: 1; - u32 port_cap_flags; - u32 max_msg_sz; - u32 bad_pkey_cntr; - u32 qkey_viol_cntr; - u16 pkey_tbl_len; - u32 sm_lid; - u32 lid; - u8 lmc; - u8 max_vl_num; - u8 sm_sl; - u8 subnet_timeout; - u8 init_type_reply; - u8 active_width; - u16 active_speed; - u8 phys_state; - u16 port_cap_flags2; -}; - -struct ib_pkey_cache; - -struct ib_gid_table; - -struct ib_port_cache { - u64 subnet_prefix; - struct ib_pkey_cache *pkey; - struct ib_gid_table *gid; - u8 lmc; - enum ib_port_state port_state; - enum ib_port_state last_port_state; -}; - -struct ib_port_immutable { - int pkey_tbl_len; - int gid_tbl_len; - u32 core_cap_flags; - u32 max_mad_size; -}; - -struct rdma_counter_mode { - enum rdma_nl_counter_mode mode; - enum rdma_nl_counter_mask mask; - struct auto_mode_param param; - bool bind_opcnt; -}; - -struct rdma_port_counter { - struct rdma_counter_mode mode; - struct rdma_hw_stats *hstats; - unsigned int num_counters; - struct mutex lock; -}; - -struct ib_port; - -struct ib_port_data { - struct ib_device *ib_dev; - struct ib_port_immutable immutable; - spinlock_t pkey_list_lock; - spinlock_t netdev_lock; - struct list_head pkey_list; - struct ib_port_cache cache; - struct net_device *netdev; - netdevice_tracker netdev_tracker; - struct hlist_node ndev_hash_link; - struct rdma_port_counter port_counter; - struct ib_port *sysfs; -}; - -struct ib_port_modify { - u32 set_port_cap_mask; - u32 clr_port_cap_mask; - u8 init_type; -}; - -struct ib_qp_security; - -struct ib_port_pkey { - enum port_pkey_state state; - u16 pkey_index; - u32 port_num; - struct list_head qp_list; - struct list_head to_error_list; - struct ib_qp_security *sec; -}; - -struct ib_ports_pkeys { - struct ib_port_pkey main; - struct ib_port_pkey alt; -}; - -struct ib_uqp_object; - -struct ib_qp { - struct ib_device *device; - struct ib_pd *pd; - struct ib_cq *send_cq; - struct ib_cq *recv_cq; - spinlock_t mr_lock; - int mrs_used; - struct list_head rdma_mrs; - struct list_head sig_mrs; - struct ib_srq *srq; - struct completion srq_completion; - struct ib_xrcd *xrcd; - struct list_head xrcd_list; - atomic_t usecnt; - struct list_head open_list; - struct ib_qp *real_qp; - struct ib_uqp_object *uobject; - void (*event_handler)(struct ib_event *, void *); - void (*registered_event_handler)(struct ib_event *, void *); - void *qp_context; - const struct ib_gid_attr *av_sgid_attr; - const struct ib_gid_attr *alt_path_sgid_attr; - u32 qp_num; - u32 max_write_sge; - u32 max_read_sge; - enum ib_qp_type qp_type; - struct ib_rwq_ind_table *rwq_ind_tbl; - struct ib_qp_security *qp_sec; - u32 port; - bool integrity_en; - struct rdma_restrack_entry res; - struct rdma_counter *counter; -}; - -struct ib_qp_cap { - u32 max_send_wr; - u32 max_recv_wr; - u32 max_send_sge; - u32 max_recv_sge; - u32 max_inline_data; - u32 max_rdma_ctxs; -}; - -struct roce_ah_attr { - u8 dmac[6]; -}; - -struct opa_ah_attr { - u32 dlid; - u8 src_path_bits; - bool make_grd; -}; - -struct rdma_ah_attr { - struct ib_global_route grh; - u8 sl; - u8 static_rate; - u32 port_num; - u8 ah_flags; - enum rdma_ah_attr_type type; - union { - struct ib_ah_attr ib; - struct roce_ah_attr roce; - struct opa_ah_attr opa; - }; -}; - -struct ib_qp_attr { - enum ib_qp_state qp_state; - enum ib_qp_state cur_qp_state; - enum ib_mtu path_mtu; - enum ib_mig_state path_mig_state; - u32 qkey; - u32 rq_psn; - u32 sq_psn; - u32 dest_qp_num; - int qp_access_flags; - struct ib_qp_cap cap; - struct rdma_ah_attr ah_attr; - struct rdma_ah_attr alt_ah_attr; - u16 pkey_index; - u16 alt_pkey_index; - u8 en_sqd_async_notify; - u8 sq_draining; - u8 max_rd_atomic; - u8 max_dest_rd_atomic; - u8 min_rnr_timer; - u32 port_num; - u8 timeout; - u8 retry_cnt; - u8 rnr_retry; - u32 alt_port_num; - u8 alt_timeout; - u32 rate_limit; - struct net_device *xmit_slave; -}; - -struct ib_qp_init_attr { - void (*event_handler)(struct ib_event *, void *); - void *qp_context; - struct ib_cq *send_cq; - struct ib_cq *recv_cq; - struct ib_srq *srq; - struct ib_xrcd *xrcd; - struct ib_qp_cap cap; - enum ib_sig_type sq_sig_type; - enum ib_qp_type qp_type; - u32 create_flags; - u32 port_num; - struct ib_rwq_ind_table *rwq_ind_tbl; - u32 source_qpn; -}; - -struct ib_qp_security { - struct ib_qp *qp; - struct ib_device *dev; - struct mutex mutex; - struct ib_ports_pkeys *ports_pkeys; - struct list_head shared_qp_list; - void *security; - bool destroying; - atomic_t error_list_count; - struct completion error_complete; - int error_comps_pending; -}; - -struct rdma_cgroup; - -struct ib_rdmacg_object { - struct rdma_cgroup *cg; -}; - -struct ib_recv_wr { - struct ib_recv_wr *next; - union { - u64 wr_id; - struct ib_cqe *wr_cqe; - }; - struct ib_sge *sg_list; - int num_sge; -}; - -struct ib_rwq_ind_table { - struct ib_device *device; - struct ib_uobject *uobject; - atomic_t usecnt; - u32 ind_tbl_num; - u32 log_ind_tbl_size; - struct ib_wq **ind_tbl; -}; - -struct ib_rwq_ind_table_init_attr { - u32 log_ind_tbl_size; - struct ib_wq **ind_tbl; -}; - -struct ib_security_struct { - u32 sid; -}; - -struct ib_send_wr { - struct ib_send_wr *next; - union { - u64 wr_id; - struct ib_cqe *wr_cqe; - }; - struct ib_sge *sg_list; - int num_sge; - enum ib_wr_opcode opcode; - int send_flags; - union { - __be32 imm_data; - u32 invalidate_rkey; - } ex; -}; - -struct ib_sge { - u64 addr; - u32 length; - u32 lkey; -}; - -struct ib_t10_dif_domain { - enum ib_t10_dif_bg_type bg_type; - u16 pi_interval; - u16 bg; - u16 app_tag; - u32 ref_tag; - bool ref_remap; - bool app_escape; - bool ref_escape; - u16 apptag_check_mask; -}; - -struct ib_sig_domain { - enum ib_signature_type sig_type; - union { - struct ib_t10_dif_domain dif; - } sig; -}; - -struct ib_sig_attrs { - u8 check_mask; - struct ib_sig_domain mem; - struct ib_sig_domain wire; - int meta_length; -}; - -struct ib_usrq_object; - -struct ib_srq { - struct ib_device *device; - struct ib_pd *pd; - struct ib_usrq_object *uobject; - void (*event_handler)(struct ib_event *, void *); - void *srq_context; - enum ib_srq_type srq_type; - atomic_t usecnt; - struct { - struct ib_cq *cq; - union { - struct { - struct ib_xrcd *xrcd; - u32 srq_num; - } xrc; - }; - } ext; - struct rdma_restrack_entry res; -}; - -struct ib_srq_attr { - u32 max_wr; - u32 max_sge; - u32 srq_limit; -}; - -struct ib_srq_init_attr { - void (*event_handler)(struct ib_event *, void *); - void *srq_context; - struct ib_srq_attr attr; - enum ib_srq_type srq_type; - struct { - struct ib_cq *cq; - union { - struct { - struct ib_xrcd *xrcd; - } xrc; - struct { - u32 max_num_tags; - } tag_matching; - }; - } ext; -}; - -struct ib_ucontext { - struct ib_device *device; - struct ib_uverbs_file *ufile; - struct ib_rdmacg_object cg_obj; - u64 enabled_caps; - struct rdma_restrack_entry res; - struct xarray mmap_xa; -}; - -struct ib_udata { - const void *inbuf; - void *outbuf; - size_t inlen; - size_t outlen; -}; - -struct uverbs_api_object; - -struct ib_uobject { - u64 user_handle; - struct ib_uverbs_file *ufile; - struct ib_ucontext *context; - void *object; - struct list_head list; - struct ib_rdmacg_object cg_obj; - int id; - struct kref ref; - atomic_t usecnt; - struct callback_head rcu; - const struct uverbs_api_object *uapi_object; -}; - -struct ib_wc { - union { - u64 wr_id; - struct ib_cqe *wr_cqe; - }; - enum ib_wc_status status; - enum ib_wc_opcode opcode; - u32 vendor_err; - u32 byte_len; - struct ib_qp *qp; - union { - __be32 imm_data; - u32 invalidate_rkey; - } ex; - u32 src_qp; - u32 slid; - int wc_flags; - u16 pkey_index; - u8 sl; - u8 dlid_path_bits; - u32 port_num; - u8 smac[6]; - u16 vlan_id; - u8 network_hdr_type; -}; - -struct ib_uwq_object; - -struct ib_wq { - struct ib_device *device; - struct ib_uwq_object *uobject; - void *wq_context; - void (*event_handler)(struct ib_event *, void *); - struct ib_pd *pd; - struct ib_cq *cq; - u32 wq_num; - enum ib_wq_state state; - enum ib_wq_type wq_type; - atomic_t usecnt; -}; - -struct ib_wq_attr { - enum ib_wq_state wq_state; - enum ib_wq_state curr_wq_state; - u32 flags; - u32 flags_mask; -}; - -struct ib_wq_init_attr { - void *wq_context; - enum ib_wq_type wq_type; - u32 max_wr; - u32 max_sge; - struct ib_cq *cq; - void (*event_handler)(struct ib_event *, void *); - u32 create_flags; -}; - -struct ib_xrcd { - struct ib_device *device; - atomic_t usecnt; - struct inode *inode; - struct rw_semaphore tgt_qps_rwsem; - struct xarray tgt_qps; -}; - -union ibs_fetch_ctl { - __u64 val; - struct { - __u64 fetch_maxcnt: 16; - __u64 fetch_cnt: 16; - __u64 fetch_lat: 16; - __u64 fetch_en: 1; - __u64 fetch_val: 1; - __u64 fetch_comp: 1; - __u64 ic_miss: 1; - __u64 phy_addr_valid: 1; - __u64 l1tlb_pgsz: 2; - __u64 l1tlb_miss: 1; - __u64 l2tlb_miss: 1; - __u64 rand_en: 1; - __u64 fetch_l2_miss: 1; - __u64 l3_miss_only: 1; - __u64 fetch_oc_miss: 1; - __u64 fetch_l3_miss: 1; - __u64 reserved: 2; - }; -}; - -union ibs_op_ctl { - __u64 val; - struct { - __u64 opmaxcnt: 16; - __u64 l3_miss_only: 1; - __u64 op_en: 1; - __u64 op_val: 1; - __u64 cnt_ctl: 1; - __u64 opmaxcnt_ext: 7; - __u64 reserved0: 5; - __u64 opcurcnt: 27; - __u64 ldlat_thrsh: 4; - __u64 ldlat_en: 1; - }; -}; - -union ibs_op_data { - __u64 val; - struct { - __u64 comp_to_ret_ctr: 16; - __u64 tag_to_ret_ctr: 16; - __u64 reserved1: 2; - __u64 op_return: 1; - __u64 op_brn_taken: 1; - __u64 op_brn_misp: 1; - __u64 op_brn_ret: 1; - __u64 op_rip_invalid: 1; - __u64 op_brn_fuse: 1; - __u64 op_microcode: 1; - __u64 reserved2: 23; - }; -}; - -union ibs_op_data2 { - __u64 val; - struct { - __u64 data_src_lo: 3; - __u64 reserved0: 1; - __u64 rmt_node: 1; - __u64 cache_hit_st: 1; - __u64 data_src_hi: 2; - __u64 reserved1: 56; - }; -}; - -union ibs_op_data3 { - __u64 val; - struct { - __u64 ld_op: 1; - __u64 st_op: 1; - __u64 dc_l1tlb_miss: 1; - __u64 dc_l2tlb_miss: 1; - __u64 dc_l1tlb_hit_2m: 1; - __u64 dc_l1tlb_hit_1g: 1; - __u64 dc_l2tlb_hit_2m: 1; - __u64 dc_miss: 1; - __u64 dc_mis_acc: 1; - __u64 reserved: 4; - __u64 dc_wc_mem_acc: 1; - __u64 dc_uc_mem_acc: 1; - __u64 dc_locked_op: 1; - __u64 dc_miss_no_mab_alloc: 1; - __u64 dc_lin_addr_valid: 1; - __u64 dc_phy_addr_valid: 1; - __u64 dc_l2_tlb_hit_1g: 1; - __u64 l2_miss: 1; - __u64 sw_pf: 1; - __u64 op_mem_width: 4; - __u64 op_dc_miss_open_mem_reqs: 6; - __u64 dc_miss_lat: 16; - __u64 tlb_refill_lat: 16; - }; -}; - -struct icc_path; - -struct icc_bulk_data { - struct icc_path *path; - const char *name; - u32 avg_bw; - u32 peak_bw; -}; - -struct icc_bulk_devres { - struct icc_bulk_data *paths; - int num_paths; -}; - -struct icc_provider; - -struct icc_node { - int id; - const char *name; - struct icc_node **links; - size_t num_links; - struct icc_provider *provider; - struct list_head node_list; - struct list_head search_list; - struct icc_node *reverse; - u8 is_traversed: 1; - struct hlist_head req_list; - u32 avg_bw; - u32 peak_bw; - u32 init_avg; - u32 init_peak; - void *data; -}; - -struct icc_node_data { - struct icc_node *node; - u32 tag; -}; - -struct icc_onecell_data { - unsigned int num_nodes; - struct icc_node *nodes[0]; -}; - -struct icc_req { - struct hlist_node req_node; - struct icc_node *node; - struct device *dev; - bool enabled; - u32 tag; - u32 avg_bw; - u32 peak_bw; -}; - -struct icc_path { - const char *name; - size_t num_nodes; - struct icc_req reqs[0]; -}; - -struct icc_provider { - struct list_head provider_list; - struct list_head nodes; - int (*set)(struct icc_node *, struct icc_node *); - int (*aggregate)(struct icc_node *, u32, u32, u32, u32 *, u32 *); - void (*pre_aggregate)(struct icc_node *); - int (*get_bw)(struct icc_node *, u32 *, u32 *); - struct icc_node * (*xlate)(const struct of_phandle_args *, void *); - struct icc_node_data * (*xlate_extended)(const struct of_phandle_args *, void *); - struct device *dev; - int users; - bool inter_set; - void *data; -}; - -struct ich_laptop { - u16 device; - u16 subvendor; - u16 subdevice; -}; - -struct icmp6_err { - int err; - int fatal; -}; - -struct icmp6_filter { - __u32 data[8]; -}; - -struct icmpv6_echo { - __be16 identifier; - __be16 sequence; -}; - -struct icmpv6_nd_advt { - __u32 reserved: 5; - __u32 override: 1; - __u32 solicited: 1; - __u32 router: 1; - __u32 reserved2: 24; -}; - -struct icmpv6_nd_ra { - __u8 hop_limit; - __u8 reserved: 3; - __u8 router_pref: 2; - __u8 home_agent: 1; - __u8 other: 1; - __u8 managed: 1; - __be16 rt_lifetime; -}; - -struct icmp6hdr { - __u8 icmp6_type; - __u8 icmp6_code; - __sum16 icmp6_cksum; - union { - __be32 un_data32[1]; - __be16 un_data16[2]; - __u8 un_data8[4]; - struct icmpv6_echo u_echo; - struct icmpv6_nd_advt u_nd_advt; - struct icmpv6_nd_ra u_nd_ra; - } icmp6_dataun; -}; - -struct icmphdr { - __u8 type; - __u8 code; - __sum16 checksum; - union { - struct { - __be16 id; - __be16 sequence; - } echo; - __be32 gateway; - struct { - __be16 __unused; - __be16 mtu; - } frag; - __u8 reserved[4]; - } un; -}; - -struct ip_options { - __be32 faddr; - __be32 nexthop; - unsigned char optlen; - unsigned char srr; - unsigned char rr; - unsigned char ts; - unsigned char is_strictroute: 1; - unsigned char srr_is_hit: 1; - unsigned char is_changed: 1; - unsigned char rr_needaddr: 1; - unsigned char ts_needtime: 1; - unsigned char ts_needaddr: 1; - unsigned char router_alert; - unsigned char cipso; - unsigned char __pad2; - unsigned char __data[0]; -}; - -struct ip_options_rcu { - struct callback_head rcu; - struct ip_options opt; -}; - -struct ip_options_data { - struct ip_options_rcu opt; - char data[40]; -}; - -struct icmp_bxm { - struct sk_buff *skb; - int offset; - int data_len; - struct { - struct icmphdr icmph; - __be32 times[3]; - } data; - int head_len; - struct ip_options_data replyopts; -}; - -struct icmp_control { - enum skb_drop_reason (*handler)(struct sk_buff *); - short int error; -}; - -struct icmp_err { - int errno; - unsigned int fatal: 1; -}; - -struct icmp_ext_echo_ctype3_hdr { - __be16 afi; - __u8 addrlen; - __u8 reserved; -}; - -struct icmp_extobj_hdr { - __be16 length; - __u8 class_num; - __u8 class_type; -}; - -struct icmp_ext_echo_iio { - struct icmp_extobj_hdr extobj_hdr; - union { - char name[16]; - __be32 ifindex; - struct { - struct icmp_ext_echo_ctype3_hdr ctype3_hdr; - union { - __be32 ipv4_addr; - struct in6_addr ipv6_addr; - } ip_addr; - } addr; - } ident; -}; - -struct icmp_ext_hdr { - __u8 reserved1: 4; - __u8 version: 4; - __u8 reserved2; - __sum16 checksum; -}; - -struct icmp_filter { - __u32 data; -}; - -struct icmp_mib { - long unsigned int mibs[30]; -}; - -struct icmpmsg_mib { - atomic_long_t mibs[512]; -}; - -struct icmpv6_mib { - long unsigned int mibs[7]; -}; - -struct icmpv6_mib_device { - atomic_long_t mibs[7]; -}; - -struct icmpv6_msg { - struct sk_buff *skb; - int offset; - uint8_t type; -}; - -struct icmpv6msg_mib { - atomic_long_t mibs[512]; -}; - -struct icmpv6msg_mib_device { - atomic_long_t mibs[512]; -}; - -struct id_bitmap { - long unsigned int map[4]; -}; - -struct id_proc_event { - __kernel_pid_t process_pid; - __kernel_pid_t process_tgid; - union { - __u32 ruid; - __u32 rgid; - } r; - union { - __u32 euid; - __u32 egid; - } e; -}; - -struct ida_bitmap { - long unsigned int bitmap[16]; -}; - -struct idempotent { - const void *cookie; - struct hlist_node entry; - struct completion complete; - int ret; -}; - -struct idle_cpu { - struct cpuidle_state *state_table; - long unsigned int auto_demotion_disable_flags; - bool disable_promotion_to_c1e; - bool c1_demotion_supported; - bool use_acpi; -}; - -struct idle_inject_device { - struct hrtimer timer; - unsigned int idle_duration_us; - unsigned int run_duration_us; - unsigned int latency_us; - bool (*update)(void); - long unsigned int cpumask[0]; -}; - -struct idle_inject_thread { - struct task_struct *tsk; - int should_run; -}; - -struct idle_timer { - struct hrtimer timer; - int done; -}; - -struct idmap_key { - bool map_up; - u32 id; - u32 count; -}; - -struct idt_data { - unsigned int vector; - unsigned int segment; - struct idt_bits bits; - const void *addr; -}; - -struct ieee80211_channel { - enum nl80211_band band; - u32 center_freq; - u16 freq_offset; - u16 hw_value; - u32 flags; - int max_antenna_gain; - int max_power; - int max_reg_power; - bool beacon_found; - u32 orig_flags; - int orig_mag; - int orig_mpwr; - enum nl80211_dfs_state dfs_state; - long unsigned int dfs_state_entered; - unsigned int dfs_cac_ms; - s8 psd; -}; - -struct ieee80211_eht_cap_elem_fixed { - u8 mac_cap_info[2]; - u8 phy_cap_info[9]; -}; - -struct ieee80211_eht_mcs_nss_supp_20mhz_only { - union { - struct { - u8 rx_tx_mcs7_max_nss; - u8 rx_tx_mcs9_max_nss; - u8 rx_tx_mcs11_max_nss; - u8 rx_tx_mcs13_max_nss; - }; - u8 rx_tx_max_nss[4]; - }; -}; - -struct ieee80211_eht_mcs_nss_supp_bw { - union { - struct { - u8 rx_tx_mcs9_max_nss; - u8 rx_tx_mcs11_max_nss; - u8 rx_tx_mcs13_max_nss; - }; - u8 rx_tx_max_nss[3]; - }; -}; - -struct ieee80211_eht_mcs_nss_supp { - union { - struct ieee80211_eht_mcs_nss_supp_20mhz_only only_20mhz; - struct { - struct ieee80211_eht_mcs_nss_supp_bw _80; - struct ieee80211_eht_mcs_nss_supp_bw _160; - struct ieee80211_eht_mcs_nss_supp_bw _320; - } bw; - }; -}; - -struct ieee80211_freq_range { - u32 start_freq_khz; - u32 end_freq_khz; - u32 max_bandwidth_khz; -}; - -struct ieee80211_he_6ghz_capa { - __le16 capa; -}; - -struct ieee80211_he_cap_elem { - u8 mac_cap_info[6]; - u8 phy_cap_info[11]; -}; - -struct ieee80211_he_mcs_nss_supp { - __le16 rx_mcs_80; - __le16 tx_mcs_80; - __le16 rx_mcs_160; - __le16 tx_mcs_160; - __le16 rx_mcs_80p80; - __le16 tx_mcs_80p80; -}; - -struct ieee80211_iface_limit; - -struct ieee80211_iface_combination { - const struct ieee80211_iface_limit *limits; - u32 num_different_channels; - u16 max_interfaces; - u8 n_limits; - bool beacon_int_infra_match; - u8 radar_detect_widths; - u8 radar_detect_regions; - u32 beacon_int_min_gcd; -}; - -struct ieee80211_iface_limit { - u16 max; - u16 types; -}; - -struct ieee80211_power_rule { - u32 max_antenna_gain; - u32 max_eirp; -}; - -struct ieee80211_rate { - u32 flags; - u16 bitrate; - u16 hw_value; - u16 hw_value_short; -}; - -struct ieee80211_wmm_ac { - u16 cw_min; - u16 cw_max; - u16 cot; - u8 aifsn; -}; - -struct ieee80211_wmm_rule { - struct ieee80211_wmm_ac client[4]; - struct ieee80211_wmm_ac ap[4]; -}; - -struct ieee80211_reg_rule { - struct ieee80211_freq_range freq_range; - struct ieee80211_power_rule power_rule; - struct ieee80211_wmm_rule wmm_rule; - u32 flags; - u32 dfs_cac_ms; - bool has_wmm; - s8 psd; -}; - -struct ieee80211_regdomain { - struct callback_head callback_head; - u32 n_reg_rules; - char alpha2[3]; - enum nl80211_dfs_regions dfs_region; - struct ieee80211_reg_rule reg_rules[0]; -}; - -struct ieee80211_sta_he_cap { - bool has_he; - struct ieee80211_he_cap_elem he_cap_elem; - struct ieee80211_he_mcs_nss_supp he_mcs_nss_supp; - u8 ppe_thres[25]; -} __attribute__((packed)); - -struct ieee80211_sta_eht_cap { - bool has_eht; - struct ieee80211_eht_cap_elem_fixed eht_cap_elem; - struct ieee80211_eht_mcs_nss_supp eht_mcs_nss_supp; - u8 eht_ppe_thres[32]; -}; - -struct ieee80211_sband_iftype_data { - u16 types_mask; - struct ieee80211_sta_he_cap he_cap; - struct ieee80211_he_6ghz_capa he_6ghz_capa; - struct ieee80211_sta_eht_cap eht_cap; - struct { - const u8 *data; - unsigned int len; - } vendor_elems; -} __attribute__((packed)); - -struct ieee80211_sta_ht_cap { - u16 cap; - bool ht_supported; - u8 ampdu_factor; - u8 ampdu_density; - struct ieee80211_mcs_info mcs; - short: 0; -} __attribute__((packed)); - -struct ieee80211_sta_s1g_cap { - bool s1g; - u8 cap[10]; - u8 nss_mcs[5]; -}; - -struct ieee80211_sta_vht_cap { - bool vht_supported; - u32 cap; - struct ieee80211_vht_mcs_info vht_mcs; -}; - -struct ieee80211_supported_band { - struct ieee80211_channel *channels; - struct ieee80211_rate *bitrates; - enum nl80211_band band; - int n_channels; - int n_bitrates; - struct ieee80211_sta_ht_cap ht_cap; - struct ieee80211_sta_vht_cap vht_cap; - struct ieee80211_sta_s1g_cap s1g_cap; - struct ieee80211_edmg edmg_cap; - u16 n_iftype_data; - const struct ieee80211_sband_iftype_data *iftype_data; -}; - -struct ieee80211_txrx_stypes { - u16 tx; - u16 rx; -}; - -struct ieee802154_addr { - u8 mode; - __le16 pan_id; - union { - __le16 short_addr; - __le64 extended_addr; - }; -}; - -struct ieee802154_pan_device { - __le16 pan_id; - u8 mode; - __le16 short_addr; - __le64 extended_addr; - struct list_head node; -}; - -struct ieee_ets { - __u8 willing; - __u8 ets_cap; - __u8 cbs; - __u8 tc_tx_bw[8]; - __u8 tc_rx_bw[8]; - __u8 tc_tsa[8]; - __u8 prio_tc[8]; - __u8 tc_reco_bw[8]; - __u8 tc_reco_tsa[8]; - __u8 reco_prio_tc[8]; -}; - -struct ieee_maxrate { - __u64 tc_maxrate[8]; -}; - -struct ieee_pfc { - __u8 pfc_cap; - __u8 pfc_en; - __u8 mbc; - __u16 delay; - __u64 requests[8]; - __u64 indications[8]; -}; - -struct ieee_qcn { - __u8 rpg_enable[8]; - __u32 rppp_max_rps[8]; - __u32 rpg_time_reset[8]; - __u32 rpg_byte_reset[8]; - __u32 rpg_threshold[8]; - __u32 rpg_max_rate[8]; - __u32 rpg_ai_rate[8]; - __u32 rpg_hai_rate[8]; - __u32 rpg_gd[8]; - __u32 rpg_min_dec_fac[8]; - __u32 rpg_min_rate[8]; - __u32 cndd_state_machine[8]; -}; - -struct ieee_qcn_stats { - __u64 rppp_rp_centiseconds[8]; - __u32 rppp_created_rps[8]; -}; - -struct if6_iter_state { - struct seq_net_private p; - int bucket; - int offset; -}; - -struct if_dqblk { - __u64 dqb_bhardlimit; - __u64 dqb_bsoftlimit; - __u64 dqb_curspace; - __u64 dqb_ihardlimit; - __u64 dqb_isoftlimit; - __u64 dqb_curinodes; - __u64 dqb_btime; - __u64 dqb_itime; - __u32 dqb_valid; -}; - -struct if_dqinfo { - __u64 dqi_bgrace; - __u64 dqi_igrace; - __u32 dqi_flags; - __u32 dqi_valid; -}; - -struct if_nextdqblk { - __u64 dqb_bhardlimit; - __u64 dqb_bsoftlimit; - __u64 dqb_curspace; - __u64 dqb_ihardlimit; - __u64 dqb_isoftlimit; - __u64 dqb_curinodes; - __u64 dqb_btime; - __u64 dqb_itime; - __u32 dqb_valid; - __u32 dqb_id; -}; - -struct if_set { - if_mask ifs_bits[8]; -}; - -struct if_settings { - unsigned int type; - unsigned int size; - union { - raw_hdlc_proto *raw_hdlc; - cisco_proto *cisco; - fr_proto *fr; - fr_proto_pvc *fr_pvc; - fr_proto_pvc_info *fr_pvc_info; - x25_hdlc_proto *x25; - sync_serial_settings *sync; - te1_settings *te1; - } ifs_ifsu; -}; - -struct if_stats_msg { - __u8 family; - __u8 pad1; - __u16 pad2; - __u32 ifindex; - __u32 filter_mask; -}; - -struct ifa6_config { - const struct in6_addr *pfx; - unsigned int plen; - u8 ifa_proto; - const struct in6_addr *peer_pfx; - u32 rt_priority; - u32 ifa_flags; - u32 preferred_lft; - u32 valid_lft; - u16 scope; -}; - -struct ifa_cacheinfo { - __u32 ifa_prefered; - __u32 ifa_valid; - __u32 cstamp; - __u32 tstamp; -}; - -struct ifacaddr6 { - struct in6_addr aca_addr; - struct fib6_info *aca_rt; - struct ifacaddr6 *aca_next; - struct hlist_node aca_addr_lst; - int aca_users; - refcount_t aca_refcnt; - long unsigned int aca_cstamp; - long unsigned int aca_tstamp; - struct callback_head rcu; -}; - -struct ifaddrlblmsg { - __u8 ifal_family; - __u8 __ifal_reserved; - __u8 ifal_prefixlen; - __u8 ifal_flags; - __u32 ifal_index; - __u32 ifal_seq; -}; - -struct ifaddrmsg { - __u8 ifa_family; - __u8 ifa_prefixlen; - __u8 ifa_flags; - __u8 ifa_scope; - __u32 ifa_index; -}; - -struct ifbond { - __s32 bond_mode; - __s32 num_slaves; - __s32 miimon; -}; - -typedef struct ifbond ifbond; - -struct ifreq; - -struct ifconf { - int ifc_len; - union { - char *ifcu_buf; - struct ifreq *ifcu_req; - } ifc_ifcu; -}; - -struct ifinfomsg { - unsigned char ifi_family; - unsigned char __ifi_pad; - short unsigned int ifi_type; - int ifi_index; - unsigned int ifi_flags; - unsigned int ifi_change; -}; - -struct ifla_cacheinfo { - __u32 max_reasm_len; - __u32 tstamp; - __u32 reachable_time; - __u32 retrans_time; -}; - -struct ifla_vf_broadcast { - __u8 broadcast[32]; -}; - -struct ifla_vf_guid { - __u32 vf; - __u64 guid; -}; - -struct ifla_vf_info { - __u32 vf; - __u8 mac[32]; - __u32 vlan; - __u32 qos; - __u32 spoofchk; - __u32 linkstate; - __u32 min_tx_rate; - __u32 max_tx_rate; - __u32 rss_query_en; - __u32 trusted; - __be16 vlan_proto; -}; - -struct ifla_vf_link_state { - __u32 vf; - __u32 link_state; -}; - -struct ifla_vf_mac { - __u32 vf; - __u8 mac[32]; -}; - -struct ifla_vf_rate { - __u32 vf; - __u32 min_tx_rate; - __u32 max_tx_rate; -}; - -struct ifla_vf_rss_query_en { - __u32 vf; - __u32 setting; -}; - -struct ifla_vf_spoofchk { - __u32 vf; - __u32 setting; -}; - -struct ifla_vf_stats { - __u64 rx_packets; - __u64 tx_packets; - __u64 rx_bytes; - __u64 tx_bytes; - __u64 broadcast; - __u64 multicast; - __u64 rx_dropped; - __u64 tx_dropped; -}; - -struct ifla_vf_trust { - __u32 vf; - __u32 setting; -}; - -struct ifla_vf_tx_rate { - __u32 vf; - __u32 rate; -}; - -struct ifla_vf_vlan { - __u32 vf; - __u32 vlan; - __u32 qos; -}; - -struct ifla_vf_vlan_info { - __u32 vf; - __u32 vlan; - __u32 qos; - __be16 vlan_proto; -}; - -struct ifmap { - long unsigned int mem_start; - long unsigned int mem_end; - short unsigned int base_addr; - unsigned char irq; - unsigned char dma; - unsigned char port; -}; - -struct inet6_dev; - -struct ip6_sf_list; - -struct ifmcaddr6 { - struct in6_addr mca_addr; - struct inet6_dev *idev; - struct ifmcaddr6 *next; - struct ip6_sf_list *mca_sources; - struct ip6_sf_list *mca_tomb; - unsigned int mca_sfmode; - unsigned char mca_crcount; - long unsigned int mca_sfcount[2]; - struct delayed_work mca_work; - unsigned int mca_flags; - int mca_users; - refcount_t mca_refcnt; - long unsigned int mca_cstamp; - long unsigned int mca_tstamp; - struct callback_head rcu; -}; - -struct ifreq { - union { - char ifrn_name[16]; - } ifr_ifrn; - union { - struct sockaddr ifru_addr; - struct sockaddr ifru_dstaddr; - struct sockaddr ifru_broadaddr; - struct sockaddr ifru_netmask; - struct sockaddr ifru_hwaddr; - short int ifru_flags; - int ifru_ivalue; - int ifru_mtu; - struct ifmap ifru_map; - char ifru_slave[16]; - char ifru_newname[16]; - void *ifru_data; - struct if_settings ifru_settings; - } ifr_ifru; -}; - -struct ifslave { - __s32 slave_id; - char slave_name[16]; - __s8 link; - __s8 state; - __u32 link_failure_count; -}; - -typedef struct ifslave ifslave; - -struct igmp6_mc_iter_state { - struct seq_net_private p; - struct net_device *dev; - struct inet6_dev *idev; -}; - -struct igmp6_mcf_iter_state { - struct seq_net_private p; - struct net_device *dev; - struct inet6_dev *idev; - struct ifmcaddr6 *im; -}; - -struct in_device; - -struct igmp_mc_iter_state { - struct seq_net_private p; - struct net_device *dev; - struct in_device *in_dev; -}; - -struct ip_mc_list; - -struct igmp_mcf_iter_state { - struct seq_net_private p; - struct net_device *dev; - struct in_device *idev; - struct ip_mc_list *im; -}; - -struct igmphdr { - __u8 type; - __u8 code; - __sum16 csum; - __be32 group; -}; - -struct igmpmsg { - __u32 unused1; - __u32 unused2; - unsigned char im_msgtype; - unsigned char im_mbz; - unsigned char im_vif; - unsigned char im_vif_hi; - struct in_addr im_src; - struct in_addr im_dst; -}; - -struct igmpv3_grec { - __u8 grec_type; - __u8 grec_auxwords; - __be16 grec_nsrcs; - __be32 grec_mca; - __be32 grec_src[0]; -}; - -struct igmpv3_query { - __u8 type; - __u8 code; - __sum16 csum; - __be32 group; - __u8 qrv: 3; - __u8 suppress: 1; - __u8 resv: 4; - __u8 qqic; - __be16 nsrcs; - __be32 srcs[0]; -}; - -struct igmpv3_report { - __u8 type; - __u8 resv1; - __sum16 csum; - __be16 resv2; - __be16 ngrec; - struct igmpv3_grec grec[0]; -}; - -struct ignore_section { - guid_t guid; - const char *name; -}; - -struct ima_algo_desc { - struct crypto_shash *tfm; - enum hash_algo algo; -}; - -struct ima_digest_data { - union { - struct { - u8 algo; - u8 length; - union { - struct { - u8 unused; - u8 type; - } sha1; - struct { - u8 type; - u8 algo; - } ng; - u8 data[2]; - } xattr; - }; - struct ima_digest_data_hdr hdr; - }; - u8 digest[0]; -}; - -struct ima_iint_cache; - -struct modsig; - -struct ima_event_data { - struct ima_iint_cache *iint; - struct file *file; - const unsigned char *filename; - struct evm_ima_xattr_data *xattr_value; - int xattr_len; - const struct modsig *modsig; - const char *violation; - const void *buf; - int buf_len; -}; - -struct ima_field_data { - u8 *data; - u32 len; -}; - -struct ima_file_id { - __u8 hash_type; - __u8 hash_algorithm; - __u8 hash[64]; -}; - -struct ima_h_table { - atomic_long_t len; - atomic_long_t violations; - struct hlist_head queue[1024]; -}; - -struct ima_iint_cache { - struct mutex mutex; - struct integrity_inode_attributes real_inode; - long unsigned int flags; - long unsigned int measured_pcrs; - long unsigned int atomic_flags; - enum integrity_status ima_file_status: 4; - enum integrity_status ima_mmap_status: 4; - enum integrity_status ima_bprm_status: 4; - enum integrity_status ima_read_status: 4; - enum integrity_status ima_creds_status: 4; - struct ima_digest_data *ima_hash; -}; - -struct ima_kexec_hdr { - u16 version; - u16 _reserved0; - u32 _reserved1; - u64 buffer_size; - u64 count; -}; - -struct ima_key_entry { - struct list_head list; - void *payload; - size_t payload_len; - char *keyring_name; -}; - -struct ima_max_digest_data { - struct ima_digest_data_hdr hdr; - u8 digest[64]; -}; - -struct ima_template_entry; - -struct ima_queue_entry { - struct hlist_node hnext; - struct list_head later; - struct ima_template_entry *entry; -}; - -struct ima_rule_opt_list; - -struct ima_template_desc; - -struct ima_rule_entry { - struct list_head list; - int action; - unsigned int flags; - enum ima_hooks func; - int mask; - long unsigned int fsmagic; - uuid_t fsuuid; - kuid_t uid; - kgid_t gid; - kuid_t fowner; - kgid_t fgroup; - bool (*uid_op)(kuid_t, kuid_t); - bool (*gid_op)(kgid_t, kgid_t); - bool (*fowner_op)(vfsuid_t, kuid_t); - bool (*fgroup_op)(vfsgid_t, kgid_t); - int pcr; - unsigned int allowed_algos; - struct { - void *rule; - char *args_p; - int type; - } lsm[6]; - char *fsname; - struct ima_rule_opt_list *keyrings; - struct ima_rule_opt_list *label; - struct ima_template_desc *template; -}; - -struct ima_rule_opt_list { - size_t count; - char *items[0]; -}; - -struct ima_setup_data { - __u64 addr; - __u64 size; -}; - -struct ima_template_field; - -struct ima_template_desc { - struct list_head list; - char *name; - char *fmt; - int num_fields; - const struct ima_template_field **fields; -}; - -struct tpm_digest; - -struct ima_template_entry { - int pcr; - struct tpm_digest *digests; - struct ima_template_desc *template_desc; - u32 template_data_len; - struct ima_field_data template_data[0]; -}; - -struct ima_template_field { - const char field_id[16]; - int (*field_init)(struct ima_event_data *, struct ima_field_data *); - void (*field_show)(struct seq_file *, enum ima_show_type, struct ima_field_data *); -}; - -struct imc_uncore_pci_dev { - __u32 pci_id; - struct pci_driver *driver; -}; - -struct implicit_conversion_data { - struct source_location location; - struct type_descriptor *from_type; - struct type_descriptor *to_type; - unsigned char type_check_kind; -}; - -struct imstt_regvals { - __u32 pitch; - __u16 hes; - __u16 heb; - __u16 hsb; - __u16 ht; - __u16 ves; - __u16 veb; - __u16 vsb; - __u16 vt; - __u16 vil; - __u8 pclk_m; - __u8 pclk_n; - __u8 pclk_p; - __u8 mlc[3]; - __u8 lckl_p[3]; -}; - -struct imstt_par { - struct imstt_regvals init; - __u32 *dc_regs; - long unsigned int cmap_regs_phys; - __u8 *cmap_regs; - __u32 ramdac; - __u32 palette[16]; -}; - -struct in6_flowlabel_req { - struct in6_addr flr_dst; - __be32 flr_label; - __u8 flr_action; - __u8 flr_share; - __u16 flr_flags; - __u16 flr_expires; - __u16 flr_linger; - __u32 __flr_pad; -}; - -struct in6_ifreq { - struct in6_addr ifr6_addr; - __u32 ifr6_prefixlen; - int ifr6_ifindex; -}; - -struct in6_pktinfo { - struct in6_addr ipi6_addr; - int ipi6_ifindex; -}; - -struct in6_rtmsg { - struct in6_addr rtmsg_dst; - struct in6_addr rtmsg_src; - struct in6_addr rtmsg_gateway; - __u32 rtmsg_type; - __u16 rtmsg_dst_len; - __u16 rtmsg_src_len; - __u32 rtmsg_metric; - long unsigned int rtmsg_info; - __u32 rtmsg_flags; - int rtmsg_ifindex; -}; - -struct in6_validator_info { - struct in6_addr i6vi_addr; - struct inet6_dev *i6vi_dev; - struct netlink_ext_ack *extack; -}; - -struct ipv4_devconf { - void *sysctl; - int data[33]; - long unsigned int state[1]; -}; - -struct in_ifaddr; - -struct neigh_parms; - -struct in_device { - struct net_device *dev; - netdevice_tracker dev_tracker; - refcount_t refcnt; - int dead; - struct in_ifaddr *ifa_list; - struct ip_mc_list *mc_list; - struct ip_mc_list **mc_hash; - int mc_count; - spinlock_t mc_tomb_lock; - struct ip_mc_list *mc_tomb; - long unsigned int mr_v1_seen; - long unsigned int mr_v2_seen; - long unsigned int mr_maxdelay; - long unsigned int mr_qi; - long unsigned int mr_qri; - unsigned char mr_qrv; - unsigned char mr_gq_running; - u32 mr_ifc_count; - struct timer_list mr_gq_timer; - struct timer_list mr_ifc_timer; - struct neigh_parms *arp_parms; - struct ipv4_devconf cnf; - struct callback_head callback_head; -}; - -struct in_ifaddr { - struct hlist_node addr_lst; - struct in_ifaddr *ifa_next; - struct in_device *ifa_dev; - struct callback_head callback_head; - __be32 ifa_local; - __be32 ifa_address; - __be32 ifa_mask; - __u32 ifa_rt_priority; - __be32 ifa_broadcast; - unsigned char ifa_scope; - unsigned char ifa_prefixlen; - unsigned char ifa_proto; - __u32 ifa_flags; - char ifa_label[16]; - __u32 ifa_valid_lft; - __u32 ifa_preferred_lft; - long unsigned int ifa_cstamp; - long unsigned int ifa_tstamp; -}; - -struct in_pktinfo { - int ipi_ifindex; - struct in_addr ipi_spec_dst; - struct in_addr ipi_addr; -}; - -struct in_validator_info { - __be32 ivi_addr; - struct in_device *ivi_dev; - struct netlink_ext_ack *extack; -}; - -struct indication { - u32 bit; - const char *name; -}; - -struct ipv6_txoptions; - -struct inet6_cork { - struct ipv6_txoptions *opt; - u8 hop_limit; - u8 tclass; - u8 dontfrag: 1; -}; - -struct ipv6_stable_secret { - bool initialized; - struct in6_addr secret; -}; - -struct ipv6_devconf { - __u8 __cacheline_group_begin__ipv6_devconf_read_txrx[0]; - __s32 disable_ipv6; - __s32 hop_limit; - __s32 mtu6; - __s32 forwarding; - __s32 force_forwarding; - __s32 disable_policy; - __s32 proxy_ndp; - __u8 __cacheline_group_end__ipv6_devconf_read_txrx[0]; - __s32 accept_ra; - __s32 accept_redirects; - __s32 autoconf; - __s32 dad_transmits; - __s32 rtr_solicits; - __s32 rtr_solicit_interval; - __s32 rtr_solicit_max_interval; - __s32 rtr_solicit_delay; - __s32 force_mld_version; - __s32 mldv1_unsolicited_report_interval; - __s32 mldv2_unsolicited_report_interval; - __s32 use_tempaddr; - __s32 temp_valid_lft; - __s32 temp_prefered_lft; - __s32 regen_min_advance; - __s32 regen_max_retry; - __s32 max_desync_factor; - __s32 max_addresses; - __s32 accept_ra_defrtr; - __u32 ra_defrtr_metric; - __s32 accept_ra_min_hop_limit; - __s32 accept_ra_min_lft; - __s32 accept_ra_pinfo; - __s32 ignore_routes_with_linkdown; - __s32 accept_ra_rtr_pref; - __s32 rtr_probe_interval; - __s32 accept_ra_rt_info_min_plen; - __s32 accept_ra_rt_info_max_plen; - __s32 accept_source_route; - __s32 accept_ra_from_local; - __s32 optimistic_dad; - __s32 use_optimistic; - atomic_t mc_forwarding; - __s32 drop_unicast_in_l2_multicast; - __s32 accept_dad; - __s32 force_tllao; - __s32 ndisc_notify; - __s32 suppress_frag_ndisc; - __s32 accept_ra_mtu; - __s32 drop_unsolicited_na; - __s32 accept_untracked_na; - struct ipv6_stable_secret stable_secret; - __s32 use_oif_addrs_only; - __s32 keep_addr_on_down; - __s32 seg6_enabled; - __s32 seg6_require_hmac; - __u32 enhanced_dad; - __u32 addr_gen_mode; - __s32 ndisc_tclass; - __s32 rpl_seg_enabled; - __u32 ioam6_id; - __u32 ioam6_id_wide; - __u8 ioam6_enabled; - __u8 ndisc_evict_nocarrier; - __u8 ra_honor_pio_life; - __u8 ra_honor_pio_pflag; - struct ctl_table_header *sysctl_header; -}; - -struct ipstats_mib; - -struct ipv6_devstat { - struct proc_dir_entry *proc_dir_entry; - struct ipstats_mib *ipv6; - struct icmpv6_mib_device *icmpv6dev; - struct icmpv6msg_mib_device *icmpv6msgdev; -}; - -struct inet6_dev { - struct net_device *dev; - netdevice_tracker dev_tracker; - struct list_head addr_list; - struct ifmcaddr6 *mc_list; - struct ifmcaddr6 *mc_tomb; - unsigned char mc_qrv; - unsigned char mc_gq_running; - unsigned char mc_ifc_count; - unsigned char mc_dad_count; - long unsigned int mc_v1_seen; - long unsigned int mc_qi; - long unsigned int mc_qri; - long unsigned int mc_maxdelay; - struct delayed_work mc_gq_work; - struct delayed_work mc_ifc_work; - struct delayed_work mc_dad_work; - struct delayed_work mc_query_work; - struct delayed_work mc_report_work; - struct sk_buff_head mc_query_queue; - struct sk_buff_head mc_report_queue; - spinlock_t mc_query_lock; - spinlock_t mc_report_lock; - struct mutex mc_lock; - struct ifacaddr6 *ac_list; - rwlock_t lock; - refcount_t refcnt; - __u32 if_flags; - int dead; - u32 desync_factor; - struct list_head tempaddr_list; - struct in6_addr token; - struct neigh_parms *nd_parms; - struct ipv6_devconf cnf; - struct ipv6_devstat stats; - struct timer_list rs_timer; - __s32 rs_interval; - __u8 rs_probes; - long unsigned int tstamp; - struct callback_head rcu; - unsigned int ra_mtu; -}; - -struct inet6_fill_args { - u32 portid; - u32 seq; - int event; - unsigned int flags; - int netnsid; - int ifindex; - enum addr_type_t type; - bool force_rt_scope_universe; -}; - -struct inet6_ifaddr { - struct in6_addr addr; - __u32 prefix_len; - __u32 rt_priority; - __u32 valid_lft; - __u32 prefered_lft; - refcount_t refcnt; - spinlock_t lock; - int state; - __u32 flags; - __u8 dad_probes; - __u8 stable_privacy_retry; - __u16 scope; - __u64 dad_nonce; - long unsigned int cstamp; - long unsigned int tstamp; - struct delayed_work dad_work; - struct inet6_dev *idev; - struct fib6_info *rt; - struct hlist_node addr_lst; - struct list_head if_list; - struct list_head if_list_aux; - struct list_head tmp_list; - struct inet6_ifaddr *ifpub; - int regen_count; - bool tokenized; - u8 ifa_proto; - struct callback_head rcu; - struct in6_addr peer_addr; -}; - -struct inet6_skb_parm; - -struct inet6_protocol { - int (*handler)(struct sk_buff *); - int (*err_handler)(struct sk_buff *, struct inet6_skb_parm *, u8, u8, int, __be32); - unsigned int flags; - u32 secret; -}; - -struct inet6_skb_parm { - int iif; - __be16 ra; - __u16 dst0; - __u16 srcrt; - __u16 dst1; - __u16 lastopt; - __u16 nhoff; - __u16 flags; - __u16 dsthao; - __u16 frag_max_size; - __u16 srhoff; -}; - -union inet_addr { - __be32 ip; - struct in6_addr in6; -}; - -struct inet_bind2_bucket { - possible_net_t ib_net; - int l3mdev; - short unsigned int port; - short unsigned int addr_type; - struct in6_addr v6_rcv_saddr; - struct hlist_node node; - struct hlist_node bhash_node; - struct hlist_head owners; - signed char fastreuse; - signed char fastreuseport; -}; - -struct inet_bind_bucket { - possible_net_t ib_net; - int l3mdev; - short unsigned int port; - signed char fastreuse; - signed char fastreuseport; - kuid_t fastuid; - struct in6_addr fast_v6_rcv_saddr; - __be32 fast_rcv_saddr; - short unsigned int fast_sk_family; - bool fast_ipv6_only; - struct hlist_node node; - struct hlist_head bhash2; - struct callback_head rcu; -}; - -struct inet_bind_hashbucket { - spinlock_t lock; - struct hlist_head chain; -}; - -struct inet_cork { - unsigned int flags; - __be32 addr; - struct ip_options *opt; - unsigned int fragsize; - int length; - struct dst_entry *dst; - u8 tx_flags; - __u8 ttl; - __s16 tos; - u32 priority; - __u16 gso_size; - u32 ts_opt_id; - u64 transmit_time; - u32 mark; -}; - -struct inet_cork_full { - struct inet_cork base; - struct flowi fl; -}; - -struct ipv6_pinfo; - -struct ip_mc_socklist; - -struct inet_sock { - struct sock sk; - struct ipv6_pinfo *pinet6; - long unsigned int inet_flags; - __be32 inet_saddr; - __s16 uc_ttl; - __be16 inet_sport; - struct ip_options_rcu *inet_opt; - atomic_t inet_id; - __u8 tos; - __u8 min_ttl; - __u8 mc_ttl; - __u8 pmtudisc; - __u8 rcv_tos; - __u8 convert_csum; - int uc_index; - int mc_index; - __be32 mc_addr; - u32 local_port_range; - struct ip_mc_socklist *mc_list; - struct inet_cork_full cork; -}; - -struct request_sock_queue { - spinlock_t rskq_lock; - u8 rskq_defer_accept; - u32 synflood_warned; - atomic_t qlen; - atomic_t young; - struct request_sock *rskq_accept_head; - struct request_sock *rskq_accept_tail; - struct fastopen_queue fastopenq; -}; - -struct inet_connection_sock_af_ops; - -struct tcp_ulp_ops; - -struct inet_connection_sock { - struct inet_sock icsk_inet; - struct request_sock_queue icsk_accept_queue; - struct inet_bind_bucket *icsk_bind_hash; - struct inet_bind2_bucket *icsk_bind2_hash; - struct timer_list icsk_retransmit_timer; - struct timer_list icsk_delack_timer; - __u32 icsk_rto; - __u32 icsk_rto_min; - u32 icsk_rto_max; - __u32 icsk_delack_max; - __u32 icsk_pmtu_cookie; - const struct tcp_congestion_ops *icsk_ca_ops; - const struct inet_connection_sock_af_ops *icsk_af_ops; - const struct tcp_ulp_ops *icsk_ulp_ops; - void *icsk_ulp_data; - unsigned int (*icsk_sync_mss)(struct sock *, u32); - __u8 icsk_ca_state: 5; - __u8 icsk_ca_initialized: 1; - __u8 icsk_ca_setsockopt: 1; - __u8 icsk_ca_dst_locked: 1; - __u8 icsk_retransmits; - __u8 icsk_pending; - __u8 icsk_backoff; - __u8 icsk_syn_retries; - __u8 icsk_probes_out; - __u16 icsk_ext_hdr_len; - struct { - __u8 pending; - __u8 quick; - __u8 pingpong; - __u8 retry; - __u32 ato: 8; - __u32 lrcv_flowlabel: 20; - __u32 dst_quick_ack: 1; - __u32 unused: 3; - __u32 lrcvtime; - __u16 last_seg_size; - __u16 rcv_mss; - } icsk_ack; - struct { - int search_high; - int search_low; - u32 probe_size: 31; - u32 enabled: 1; - u32 probe_timestamp; - } icsk_mtup; - u32 icsk_probes_tstamp; - u32 icsk_user_timeout; - u64 icsk_ca_priv[13]; -}; - -struct inet_connection_sock_af_ops { - int (*queue_xmit)(struct sock *, struct sk_buff *, struct flowi *); - void (*send_check)(struct sock *, struct sk_buff *); - int (*rebuild_header)(struct sock *); - void (*sk_rx_dst_set)(struct sock *, const struct sk_buff *); - int (*conn_request)(struct sock *, struct sk_buff *); - struct sock * (*syn_recv_sock)(const struct sock *, struct sk_buff *, struct request_sock *, struct dst_entry *, struct request_sock *, bool *); - u16 net_header_len; - int (*setsockopt)(struct sock *, int, int, sockptr_t, unsigned int); - int (*getsockopt)(struct sock *, int, int, char *, int *); - void (*mtu_reduced)(struct sock *); -}; - -struct inet_ehash_bucket { - struct hlist_nulls_head chain; -}; - -struct inet_fill_args { - u32 portid; - u32 seq; - int event; - unsigned int flags; - int netnsid; - int ifindex; -}; - -struct inet_frags { - unsigned int qsize; - void (*constructor)(struct inet_frag_queue *, const void *); - void (*destructor)(struct inet_frag_queue *); - void (*frag_expire)(struct timer_list *); - struct kmem_cache *frags_cachep; - const char *frags_cache_name; - struct rhashtable_params rhash_params; - refcount_t refcnt; - struct completion completion; -}; - -struct inet_listen_hashbucket; - -struct inet_hashinfo { - struct inet_ehash_bucket *ehash; - spinlock_t *ehash_locks; - unsigned int ehash_mask; - unsigned int ehash_locks_mask; - struct kmem_cache *bind_bucket_cachep; - struct inet_bind_hashbucket *bhash; - struct kmem_cache *bind2_bucket_cachep; - struct inet_bind_hashbucket *bhash2; - unsigned int bhash_size; - unsigned int lhash2_mask; - struct inet_listen_hashbucket *lhash2; - bool pernet; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct inet_listen_hashbucket { - spinlock_t lock; - struct hlist_nulls_head nulls_head; -}; - -struct ipv4_addr_key { - __be32 addr; - int vif; -}; - -struct inetpeer_addr { - union { - struct ipv4_addr_key a4; - struct in6_addr a6; - u32 key[4]; - }; - __u16 family; -}; - -struct inet_peer { - struct rb_node rb_node; - struct inetpeer_addr daddr; - u32 metrics[17]; - u32 rate_tokens; - u32 n_redirects; - long unsigned int rate_last; - union { - struct { - atomic_t rid; - }; - struct callback_head rcu; - }; - __u32 dtime; - refcount_t refcnt; -}; - -struct proto_ops; - -struct inet_protosw { - struct list_head list; - short unsigned int type; - short unsigned int protocol; - struct proto *prot; - const struct proto_ops *ops; - unsigned char flags; -}; - -struct request_sock_ops; - -struct saved_syn; - -struct request_sock { - struct sock_common __req_common; - struct request_sock *dl_next; - u16 mss; - u8 num_retrans; - u8 syncookie: 1; - u8 num_timeout: 7; - u32 ts_recent; - struct timer_list rsk_timer; - const struct request_sock_ops *rsk_ops; - struct sock *sk; - struct saved_syn *saved_syn; - u32 secid; - u32 peer_secid; - u32 timeout; -}; - -struct inet_request_sock { - struct request_sock req; - u16 snd_wscale: 4; - u16 rcv_wscale: 4; - u16 tstamp_ok: 1; - u16 sack_ok: 1; - u16 wscale_ok: 1; - u16 ecn_ok: 1; - u16 acked: 1; - u16 no_srccheck: 1; - u16 smc_ok: 1; - u32 ir_mark; - union { - struct ip_options_rcu *ireq_opt; - struct { - struct ipv6_txoptions *ipv6_opt; - struct sk_buff *pktopts; - }; - }; -}; - -struct inet_skb_parm { - int iif; - struct ip_options opt; - u16 flags; - u16 frag_max_size; -}; - -struct inet_timewait_death_row { - refcount_t tw_refcount; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - struct inet_hashinfo *hashinfo; - int sysctl_max_tw_buckets; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct inet_timewait_sock { - struct sock_common __tw_common; - __u32 tw_mark; - unsigned char tw_substate; - unsigned char tw_rcv_wscale; - __be16 tw_sport; - unsigned int tw_transparent: 1; - unsigned int tw_flowlabel: 20; - unsigned int tw_usec_ts: 1; - unsigned int tw_connect_bind: 1; - unsigned int tw_pad: 1; - unsigned int tw_tos: 8; - u32 tw_txhash; - u32 tw_priority; - u32 tw_entry_stamp; - struct timer_list tw_timer; - struct inet_bind_bucket *tw_tb; - struct inet_bind2_bucket *tw_tb2; -}; - -struct inflate_state { - inflate_mode mode; - int last; - int wrap; - int havedict; - int flags; - unsigned int dmax; - long unsigned int check; - long unsigned int total; - unsigned int wbits; - unsigned int wsize; - unsigned int whave; - unsigned int write; - unsigned char *window; - long unsigned int hold; - unsigned int bits; - unsigned int length; - unsigned int offset; - unsigned int extra; - const code *lencode; - const code *distcode; - unsigned int lenbits; - unsigned int distbits; - unsigned int ncode; - unsigned int nlen; - unsigned int ndist; - unsigned int have; - code *next; - short unsigned int lens[320]; - short unsigned int work[288]; - code codes[2048]; -}; - -struct inflate_workspace { - struct inflate_state inflate_state; - unsigned char working_window[32768]; -}; - -struct init_nmi { - unsigned int offset; - unsigned int mask; - unsigned int data; -}; - -struct powernow_k8_data; - -struct init_on_cpu { - struct powernow_k8_data *data; - int rc; -}; - -struct x86_mapping_info; - -struct init_pgtable_data { - struct x86_mapping_info *info; - pgd_t *level4p; -}; - -struct initvalues { - __u8 addr; - __u8 value; -}; - -struct mnt_idmap; - -struct kstat; - -struct offset_ctx; - -struct inode_operations { - struct dentry * (*lookup)(struct inode *, struct dentry *, unsigned int); - const char * (*get_link)(struct dentry *, struct inode *, struct delayed_call *); - int (*permission)(struct mnt_idmap *, struct inode *, int); - struct posix_acl * (*get_inode_acl)(struct inode *, int, bool); - int (*readlink)(struct dentry *, char *, int); - int (*create)(struct mnt_idmap *, struct inode *, struct dentry *, umode_t, bool); - int (*link)(struct dentry *, struct inode *, struct dentry *); - int (*unlink)(struct inode *, struct dentry *); - int (*symlink)(struct mnt_idmap *, struct inode *, struct dentry *, const char *); - struct dentry * (*mkdir)(struct mnt_idmap *, struct inode *, struct dentry *, umode_t); - int (*rmdir)(struct inode *, struct dentry *); - int (*mknod)(struct mnt_idmap *, struct inode *, struct dentry *, umode_t, dev_t); - int (*rename)(struct mnt_idmap *, struct inode *, struct dentry *, struct inode *, struct dentry *, unsigned int); - int (*setattr)(struct mnt_idmap *, struct dentry *, struct iattr *); - int (*getattr)(struct mnt_idmap *, const struct path *, struct kstat *, u32, unsigned int); - ssize_t (*listxattr)(struct dentry *, char *, size_t); - int (*fiemap)(struct inode *, struct fiemap_extent_info *, u64, u64); - int (*update_time)(struct inode *, int); - int (*atomic_open)(struct inode *, struct dentry *, struct file *, unsigned int, umode_t); - int (*tmpfile)(struct mnt_idmap *, struct inode *, struct file *, umode_t); - struct posix_acl * (*get_acl)(struct mnt_idmap *, struct dentry *, int); - int (*set_acl)(struct mnt_idmap *, struct dentry *, struct posix_acl *, int); - int (*fileattr_set)(struct mnt_idmap *, struct dentry *, struct file_kattr *); - int (*fileattr_get)(struct dentry *, struct file_kattr *); - struct offset_ctx * (*get_offset_ctx)(struct inode *); - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct inode_security_struct { - struct inode *inode; - struct list_head list; - u32 task_sid; - u32 sid; - u16 sclass; - unsigned char initialized; - spinlock_t lock; -}; - -struct inode_smack { - struct smack_known *smk_inode; - struct smack_known *smk_task; - struct smack_known *smk_mmap; - int smk_flags; -}; - -struct inode_switch_wbs_context { - struct rcu_work work; - struct bdi_writeback *new_wb; - struct inode *inodes[0]; -}; - -struct inodes_stat_t { - long int nr_inodes; - long int nr_unused; - long int dummy[5]; -}; - -struct inotify_event { - __s32 wd; - __u32 mask; - __u32 cookie; - __u32 len; - char name[0]; -}; - -struct inotify_event_info { - struct fsnotify_event fse; - u32 mask; - int wd; - u32 sync_cookie; - int name_len; - char name[0]; -}; - -struct inotify_inode_mark { - struct fsnotify_mark fsn_mark; - int wd; -}; - -struct input_absinfo { - __s32 value; - __s32 minimum; - __s32 maximum; - __s32 fuzz; - __s32 flat; - __s32 resolution; -}; - -struct input_id { - __u16 bustype; - __u16 vendor; - __u16 product; - __u16 version; -}; - -struct input_dev_poller; - -struct input_mt; - -struct input_dev { - const char *name; - const char *phys; - const char *uniq; - struct input_id id; - long unsigned int propbit[1]; - long unsigned int evbit[1]; - long unsigned int keybit[12]; - long unsigned int relbit[1]; - long unsigned int absbit[1]; - long unsigned int mscbit[1]; - long unsigned int ledbit[1]; - long unsigned int sndbit[1]; - long unsigned int ffbit[2]; - long unsigned int swbit[1]; - unsigned int hint_events_per_packet; - unsigned int keycodemax; - unsigned int keycodesize; - void *keycode; - int (*setkeycode)(struct input_dev *, const struct input_keymap_entry *, unsigned int *); - int (*getkeycode)(struct input_dev *, struct input_keymap_entry *); - struct ff_device *ff; - struct input_dev_poller *poller; - unsigned int repeat_key; - struct timer_list timer; - int rep[2]; - struct input_mt *mt; - struct input_absinfo *absinfo; - long unsigned int key[12]; - long unsigned int led[1]; - long unsigned int snd[1]; - long unsigned int sw[1]; - int (*open)(struct input_dev *); - void (*close)(struct input_dev *); - int (*flush)(struct input_dev *, struct file *); - int (*event)(struct input_dev *, unsigned int, unsigned int, int); - struct input_handle *grab; - spinlock_t event_lock; - struct mutex mutex; - unsigned int users; - bool going_away; - struct device dev; - struct list_head h_list; - struct list_head node; - unsigned int num_vals; - unsigned int max_vals; - struct input_value *vals; - bool devres_managed; - ktime_t timestamp[3]; - bool inhibited; -}; - -struct input_dev_poller { - void (*poll)(struct input_dev *); - unsigned int poll_interval; - unsigned int poll_interval_max; - unsigned int poll_interval_min; - struct input_dev *input; - struct delayed_work work; -}; - -struct input_device_id { - kernel_ulong_t flags; - __u16 bustype; - __u16 vendor; - __u16 product; - __u16 version; - kernel_ulong_t evbit[1]; - kernel_ulong_t keybit[12]; - kernel_ulong_t relbit[1]; - kernel_ulong_t absbit[1]; - kernel_ulong_t mscbit[1]; - kernel_ulong_t ledbit[1]; - kernel_ulong_t sndbit[1]; - kernel_ulong_t ffbit[2]; - kernel_ulong_t swbit[1]; - kernel_ulong_t propbit[1]; - kernel_ulong_t driver_info; -}; - -struct input_devres { - struct input_dev *input; -}; - -struct input_event_compat { - compat_ulong_t sec; - compat_ulong_t usec; - __u16 type; - __u16 code; - __s32 value; -}; - -struct input_handler { - void *private; - void (*event)(struct input_handle *, unsigned int, unsigned int, int); - unsigned int (*events)(struct input_handle *, struct input_value *, unsigned int); - bool (*filter)(struct input_handle *, unsigned int, unsigned int, int); - bool (*match)(struct input_handler *, struct input_dev *); - int (*connect)(struct input_handler *, struct input_dev *, const struct input_device_id *); - void (*disconnect)(struct input_handle *); - void (*start)(struct input_handle *); - bool passive_observer; - bool legacy_minors; - int minor; - const char *name; - const struct input_device_id *id_table; - struct list_head h_list; - struct list_head node; -}; - -struct input_mask { - __u32 type; - __u32 codes_size; - __u64 codes_ptr; -}; - -struct input_mt_slot { - int abs[14]; - unsigned int frame; - unsigned int key; -}; - -struct input_mt { - int trkid; - int num_slots; - int slot; - unsigned int flags; - unsigned int frame; - int *red; - struct input_mt_slot slots[0]; -}; - -struct input_mt_pos { - s16 x; - s16 y; -}; - -struct input_seq_state { - short unsigned int pos; - bool mutex_acquired; - int input_devices_state; -}; - -struct input_value { - __u16 type; - __u16 code; - __s32 value; -}; - -struct insn_live_regs { - u16 use; - u16 def; - u16 in; - u16 out; -}; - -struct instance_attribute { - struct attribute attr; - ssize_t (*show)(struct edac_pci_ctl_info *, char *); - ssize_t (*store)(struct edac_pci_ctl_info *, const char *, size_t); -}; - -struct instance_attribute___2 { - struct attribute attr; - ssize_t (*show)(struct edac_device_instance *, char *); - ssize_t (*store)(struct edac_device_instance *, const char *, size_t); -}; - -union intcapxt { - u64 capxt; - struct { - u64 reserved_0: 2; - u64 dest_mode_logical: 1; - u64 reserved_1: 5; - u64 destid_0_23: 24; - u64 vector: 8; - u64 reserved_2: 16; - u64 destid_24_31: 8; - }; -}; - -struct intel_agp_driver_description { - unsigned int chip_id; - char *name; - const struct agp_bridge_driver *driver; -}; - -struct intel_padgroup; - -struct intel_community { - unsigned int barno; - unsigned int padown_offset; - unsigned int padcfglock_offset; - unsigned int hostown_offset; - unsigned int is_offset; - unsigned int ie_offset; - unsigned int features; - unsigned int pin_base; - size_t npins; - unsigned int gpp_size; - unsigned int gpp_num_padown_regs; - const struct intel_padgroup *gpps; - size_t ngpps; - const unsigned int *pad_map; - short unsigned int nirqs; - short unsigned int acpi_space_id; - void *regs; - void *pad_regs; -}; - -struct intel_community_context { - u32 *intmask; - u32 *hostown; -}; - -struct intel_community_context___2 { - unsigned int intr_lines[16]; - u32 saved_intmask; -}; - -struct intel_early_ops { - resource_size_t (*stolen_size)(int, int, int); - resource_size_t (*stolen_base)(int, int, int, resource_size_t); -}; - -struct intel_excl_states { - enum intel_excl_state_type state[64]; - bool sched_started; -}; - -struct intel_excl_cntrs { - raw_spinlock_t lock; - struct intel_excl_states states[2]; - union { - u16 has_exclusive[2]; - u32 exclusive_present; - }; - int refcnt; - unsigned int core_id; -}; - -struct pinfunction { - const char *name; - const char * const *groups; - size_t ngroups; -}; - -struct intel_function { - struct pinfunction func; -}; - -struct intel_gtt_driver { - unsigned int gen: 8; - unsigned int is_g33: 1; - unsigned int is_pineview: 1; - unsigned int is_ironlake: 1; - unsigned int has_pgtbl_enable: 1; - unsigned int dma_mask_size: 8; - int (*setup)(void); - void (*cleanup)(void); - void (*write_entry)(dma_addr_t, unsigned int, unsigned int); - dma_addr_t (*read_entry)(unsigned int, bool *, bool *); - bool (*check_flags)(unsigned int); - void (*chipset_flush)(void); -}; - -struct intel_gtt_driver_description { - unsigned int gmch_chip_id; - char *name; - const struct intel_gtt_driver *gtt_driver; -}; - -struct iommu_flush { - void (*flush_context)(struct intel_iommu *, u16, u16, u8, u64); - void (*flush_iotlb)(struct intel_iommu *, u16, u64, unsigned int, u64); -}; - -struct root_entry; - -struct page_req_dsc; - -struct q_inval; - -struct ir_table; - -struct iommu_pmu; - -struct intel_iommu { - void *reg; - u64 reg_phys; - u64 reg_size; - u64 cap; - u64 ecap; - u64 vccap; - u64 ecmdcap[4]; - u32 gcmd; - raw_spinlock_t register_lock; - int seq_id; - int agaw; - int msagaw; - unsigned int irq; - unsigned int pr_irq; - unsigned int perf_irq; - u16 segment; - unsigned char name[16]; - struct mutex did_lock; - struct ida domain_ida; - long unsigned int *copied_tables; - spinlock_t lock; - struct root_entry *root_entry; - struct iommu_flush flush; - struct page_req_dsc *prq; - unsigned char prq_name[16]; - long unsigned int prq_seq_number; - struct completion prq_complete; - struct iopf_queue *iopf_queue; - unsigned char iopfq_name[16]; - struct mutex iopf_lock; - struct q_inval *qi; - u32 iommu_state[4]; - struct rb_root device_rbtree; - spinlock_t device_rbtree_lock; - struct ir_table *ir_table; - struct irq_domain *ir_domain; - struct iommu_device iommu; - int node; - u32 flags; - struct dmar_drhd_unit *drhd; - void *perf_statistic; - struct iommu_pmu *pmu; -}; - -struct intel_iommu_pi_data { - u64 pi_desc_addr; - u32 vector; -}; - -struct irq_2_iommu { - struct intel_iommu *iommu; - u16 irte_index; - u16 sub_handle; - u8 irte_mask; - bool posted_msi; - bool posted_vcpu; -}; - -struct irte { - union { - struct { - union { - struct { - __u64 present: 1; - __u64 fpd: 1; - __u64 __res0: 6; - __u64 avail: 4; - __u64 __res1: 3; - __u64 pst: 1; - __u64 vector: 8; - __u64 __res2: 40; - }; - struct { - __u64 r_present: 1; - __u64 r_fpd: 1; - __u64 dst_mode: 1; - __u64 redir_hint: 1; - __u64 trigger_mode: 1; - __u64 dlvry_mode: 3; - __u64 r_avail: 4; - __u64 r_res0: 4; - __u64 r_vector: 8; - __u64 r_res1: 8; - __u64 dest_id: 32; - }; - struct { - __u64 p_present: 1; - __u64 p_fpd: 1; - __u64 p_res0: 6; - __u64 p_avail: 4; - __u64 p_res1: 2; - __u64 p_urgent: 1; - __u64 p_pst: 1; - __u64 p_vector: 8; - __u64 p_res2: 14; - __u64 pda_l: 26; - }; - __u64 low; - }; - union { - struct { - __u64 sid: 16; - __u64 sq: 2; - __u64 svt: 2; - __u64 __res3: 44; - }; - struct { - __u64 p_sid: 16; - __u64 p_sq: 2; - __u64 p_svt: 2; - __u64 p_res3: 12; - __u64 pda_h: 32; - }; - __u64 high; - }; - }; - __u128 irte; - }; -}; - -struct intel_ir_data { - struct irq_2_iommu irq_2_iommu; - struct irte irte_entry; - union { - struct msi_msg msi_entry; - }; -}; - -struct intel_pad_context { - u32 conf0; - u32 val; -}; - -struct intel_pad_context___2 { - u32 padctrl0; - u32 padctrl1; -}; - -struct intel_pad_context___3 { - u32 padcfg0; - u32 padcfg1; - u32 padcfg2; -}; - -struct intel_padgroup { - unsigned int reg_num; - unsigned int base; - unsigned int size; - int gpio_base; - unsigned int padown_num; -}; - -struct pinctrl_pin_desc; - -struct pinctrl_ops; - -struct pinmux_ops; - -struct pinconf_ops; - -struct pinconf_generic_params; - -struct pin_config_item; - -struct pinctrl_desc { - const char *name; - const struct pinctrl_pin_desc *pins; - unsigned int npins; - const struct pinctrl_ops *pctlops; - const struct pinmux_ops *pmxops; - const struct pinconf_ops *confops; - struct module *owner; - unsigned int num_custom_params; - const struct pinconf_generic_params *custom_params; - const struct pin_config_item *custom_conf_items; - bool link_consumers; -}; - -struct intel_pinctrl_context { - struct intel_pad_context___2 *pads; - struct intel_community_context___2 *communities; -}; - -struct intel_pinctrl_soc_data; - -struct intel_pinctrl { - struct device *dev; - raw_spinlock_t lock; - struct pinctrl_desc pctldesc; - struct pinctrl_dev *pctldev; - struct gpio_chip chip; - const struct intel_pinctrl_soc_data *soc; - struct intel_community *communities; - size_t ncommunities; - struct intel_pinctrl_context context; - int irq; -}; - -struct intel_pinctrl_context___2 { - struct intel_pad_context___3 *pads; - struct intel_community_context *communities; -}; - -struct intel_pinctrl___2 { - struct device *dev; - raw_spinlock_t lock; - struct pinctrl_desc pctldesc; - struct pinctrl_dev *pctldev; - struct gpio_chip chip; - const struct intel_pinctrl_soc_data *soc; - struct intel_community *communities; - size_t ncommunities; - struct intel_pinctrl_context___2 context; - int irq; -}; - -struct intel_community_context; - -struct intel_pinctrl_context___3 { - struct intel_pad_context *pads; - struct intel_community_context *communities; -}; - -struct intel_pinctrl___3 { - struct device *dev; - raw_spinlock_t lock; - struct pinctrl_desc pctldesc; - struct pinctrl_dev *pctldev; - struct gpio_chip chip; - const struct intel_pinctrl_soc_data *soc; - struct intel_community *communities; - size_t ncommunities; - struct intel_pinctrl_context___3 context; - int irq; -}; - -struct intel_pingroup; - -struct intel_pinctrl_soc_data { - const char *uid; - const struct pinctrl_pin_desc *pins; - size_t npins; - const struct intel_pingroup *groups; - size_t ngroups; - const struct intel_function *functions; - size_t nfunctions; - const struct intel_community *communities; - size_t ncommunities; -}; - -struct pingroup { - const char *name; - const unsigned int *pins; - size_t npins; -}; - -struct intel_pingroup { - struct pingroup grp; - short unsigned int mode; - const unsigned int *modes; -}; - -struct intel_pmic_regs_handler_ctx { - unsigned int val; - u16 addr; -}; - -struct intel_pmic_opregion_data; - -struct intel_pmic_opregion { - struct mutex lock; - struct acpi_lpat_conversion_table *lpat_table; - struct regmap *regmap; - const struct intel_pmic_opregion_data *data; - struct intel_pmic_regs_handler_ctx ctx; -}; - -struct pmic_table; - -struct intel_pmic_opregion_data { - int (*get_power)(struct regmap *, int, int, u64 *); - int (*update_power)(struct regmap *, int, int, bool); - int (*get_raw_temp)(struct regmap *, int); - int (*update_aux)(struct regmap *, int, int); - int (*get_policy)(struct regmap *, int, int, u64 *); - int (*update_policy)(struct regmap *, int, int, int); - int (*exec_mipi_pmic_seq_element)(struct regmap *, u16, u32, u32, u32); - int (*lpat_raw_to_temp)(struct acpi_lpat_conversion_table *, int); - const struct pmic_table *power_table; - int power_table_count; - const struct pmic_table *thermal_table; - int thermal_table_count; - int pmic_i2c_address; -}; - -struct intel_scu_ipc_data { - struct resource mem; - int irq; -}; - -struct intel_scu_ipc_dev { - struct device dev; - struct module *owner; - void *ipc_base; - struct completion cmd_complete; - struct intel_scu_ipc_data data; -}; - -struct intel_scu_ipc_devres { - struct intel_scu_ipc_dev *scu; -}; - -struct intel_shared_regs { - struct er_account regs[7]; - int refcnt; - unsigned int core_id; -}; - -struct intel_soc_pmic { - int irq; - struct regmap *regmap; - struct regmap_irq_chip_data *irq_chip_data; - struct regmap_irq_chip_data *irq_chip_data_pwrbtn; - struct regmap_irq_chip_data *irq_chip_data_tmu; - struct regmap_irq_chip_data *irq_chip_data_bcu; - struct regmap_irq_chip_data *irq_chip_data_adc; - struct regmap_irq_chip_data *irq_chip_data_chgr; - struct regmap_irq_chip_data *irq_chip_data_crit; - struct device *dev; - struct intel_scu_ipc_dev *scu; - enum intel_cht_wc_models cht_wc_model; -}; - -struct intel_uncore_extra_reg { - raw_spinlock_t lock; - u64 config; - u64 config1; - u64 config2; - atomic_t ref; -}; - -struct intel_uncore_pmu; - -struct intel_uncore_box { - int dieid; - int n_active; - int n_events; - int cpu; - long unsigned int flags; - atomic_t refcnt; - struct perf_event *events[10]; - struct perf_event *event_list[10]; - struct event_constraint *event_constraint[10]; - long unsigned int active_mask[1]; - u64 tags[10]; - struct pci_dev *pci_dev; - struct intel_uncore_pmu *pmu; - u64 hrtimer_duration; - struct hrtimer hrtimer; - struct list_head list; - struct list_head active_list; - void *io_addr; - struct intel_uncore_extra_reg shared_regs[0]; -}; - -struct intel_uncore_discovery_type { - struct rb_node node; - enum uncore_access_type access_type; - struct rb_root units; - u16 type; - u8 num_counters; - u8 counter_width; - u8 ctl_offset; - u8 ctr_offset; - u16 num_units; -}; - -struct intel_uncore_discovery_unit { - struct rb_node node; - unsigned int pmu_idx; - unsigned int id; - unsigned int die; - u64 addr; -}; - -struct intel_uncore_init_fun { - void (*cpu_init)(void); - int (*pci_init)(void); - void (*mmio_init)(void); - bool use_discovery; - int *uncore_units_ignore; -}; - -struct intel_uncore_ops { - void (*init_box)(struct intel_uncore_box *); - void (*exit_box)(struct intel_uncore_box *); - void (*disable_box)(struct intel_uncore_box *); - void (*enable_box)(struct intel_uncore_box *); - void (*disable_event)(struct intel_uncore_box *, struct perf_event *); - void (*enable_event)(struct intel_uncore_box *, struct perf_event *); - u64 (*read_counter)(struct intel_uncore_box *, struct perf_event *); - int (*hw_config)(struct intel_uncore_box *, struct perf_event *); - struct event_constraint * (*get_constraint)(struct intel_uncore_box *, struct perf_event *); - void (*put_constraint)(struct intel_uncore_box *, struct perf_event *); -}; - -struct perf_cpu_pmu_context; - -struct perf_event_pmu_context; - -struct pmu { - struct list_head entry; - spinlock_t events_lock; - struct list_head events; - struct module *module; - struct device *dev; - struct device *parent; - const struct attribute_group **attr_groups; - const struct attribute_group **attr_update; - const char *name; - int type; - int capabilities; - unsigned int scope; - struct perf_cpu_pmu_context **cpu_pmu_context; - atomic_t exclusive_cnt; - int task_ctx_nr; - int hrtimer_interval_ms; - unsigned int nr_addr_filters; - void (*pmu_enable)(struct pmu *); - void (*pmu_disable)(struct pmu *); - int (*event_init)(struct perf_event *); - void (*event_mapped)(struct perf_event *, struct mm_struct *); - void (*event_unmapped)(struct perf_event *, struct mm_struct *); - int (*add)(struct perf_event *, int); - void (*del)(struct perf_event *, int); - void (*start)(struct perf_event *, int); - void (*stop)(struct perf_event *, int); - void (*read)(struct perf_event *); - void (*start_txn)(struct pmu *, unsigned int); - int (*commit_txn)(struct pmu *); - void (*cancel_txn)(struct pmu *); - int (*event_idx)(struct perf_event *); - void (*sched_task)(struct perf_event_pmu_context *, struct task_struct *, bool); - struct kmem_cache *task_ctx_cache; - void * (*setup_aux)(struct perf_event *, void **, int, bool); - void (*free_aux)(void *); - long int (*snapshot_aux)(struct perf_event *, struct perf_output_handle *, long unsigned int); - int (*addr_filters_validate)(struct list_head *); - void (*addr_filters_sync)(struct perf_event *); - int (*aux_output_match)(struct perf_event *); - bool (*filter)(struct pmu *, int); - int (*check_period)(struct perf_event *, u64); -}; - -struct intel_uncore_type; - -struct intel_uncore_pmu { - struct pmu pmu; - char name[32]; - int pmu_idx; - bool registered; - atomic_t activeboxes; - cpumask_t cpu_mask; - struct intel_uncore_type *type; - struct intel_uncore_box **boxes; -}; - -struct uncore_iio_topology; - -struct uncore_upi_topology; - -struct intel_uncore_topology { - int pmu_idx; - union { - void *untyped; - struct uncore_iio_topology *iio; - struct uncore_upi_topology *upi; - }; -}; - -struct uncore_event_desc; - -struct intel_uncore_type { - const char *name; - int num_counters; - int num_boxes; - int perf_ctr_bits; - int fixed_ctr_bits; - int num_freerunning_types; - int type_id; - unsigned int perf_ctr; - unsigned int event_ctl; - unsigned int event_mask; - unsigned int event_mask_ext; - unsigned int fixed_ctr; - unsigned int fixed_ctl; - unsigned int box_ctl; - union { - unsigned int msr_offset; - unsigned int mmio_offset; - }; - unsigned int mmio_map_size; - unsigned int num_shared_regs: 8; - unsigned int single_fixed: 1; - unsigned int pair_ctr_ctl: 1; - union { - u64 *msr_offsets; - u64 *pci_offsets; - u64 *mmio_offsets; - }; - struct event_constraint unconstrainted; - struct event_constraint *constraints; - struct intel_uncore_pmu *pmus; - struct intel_uncore_ops *ops; - struct uncore_event_desc *event_descs; - struct freerunning_counters *freerunning; - const struct attribute_group *attr_groups[4]; - const struct attribute_group **attr_update; - struct pmu *pmu; - struct rb_root *boxes; - struct intel_uncore_topology **topology; - int (*get_topology)(struct intel_uncore_type *); - void (*set_mapping)(struct intel_uncore_type *); - void (*cleanup_mapping)(struct intel_uncore_type *); - void (*cleanup_extra_boxes)(struct intel_uncore_type *); -}; - -union intel_x86_pebs_dse { - u64 val; - struct { - unsigned int ld_dse: 4; - unsigned int ld_stlb_miss: 1; - unsigned int ld_locked: 1; - unsigned int ld_data_blk: 1; - unsigned int ld_addr_blk: 1; - unsigned int ld_reserved: 24; - }; - struct { - unsigned int st_l1d_hit: 1; - unsigned int st_reserved1: 3; - unsigned int st_stlb_miss: 1; - unsigned int st_locked: 1; - unsigned int st_reserved2: 26; - }; - struct { - unsigned int st_lat_dse: 4; - unsigned int st_lat_stlb_miss: 1; - unsigned int st_lat_locked: 1; - unsigned int ld_reserved3: 26; - }; - struct { - unsigned int mtl_dse: 5; - unsigned int mtl_locked: 1; - unsigned int mtl_stlb_miss: 1; - unsigned int mtl_fwd_blk: 1; - unsigned int ld_reserved4: 24; - }; - struct { - unsigned int lnc_dse: 8; - unsigned int ld_reserved5: 2; - unsigned int lnc_stlb_miss: 1; - unsigned int lnc_locked: 1; - unsigned int lnc_data_blk: 1; - unsigned int lnc_addr_blk: 1; - unsigned int ld_reserved6: 18; - }; -}; - -struct internal_container { - struct klist_node node; - struct attribute_container *cont; - struct device classdev; -}; - -struct internal_state { - int dummy; -}; - -struct interval_tree_span_iter { - struct interval_tree_node *nodes[2]; - long unsigned int first_index; - long unsigned int last_index; - union { - long unsigned int start_hole; - long unsigned int start_used; - }; - union { - long unsigned int last_hole; - long unsigned int last_used; - }; - int is_hole; -}; - -struct invalid_value_data { - struct source_location location; - struct type_descriptor *type; -}; - -struct io { - long unsigned int error_bits; - atomic_t count; - struct dm_io_client *client; - io_notify_fn callback; - void *context; - void *vma_invalidate_address; - long unsigned int vma_invalidate_size; - long: 64; -}; - -struct io_accept { - struct file *file; - struct sockaddr *addr; - int *addr_len; - int flags; - int iou_flags; - u32 file_slot; - long unsigned int nofile; -}; - -struct io_alloc_cache { - void **entries; - unsigned int nr_cached; - unsigned int max_cached; - unsigned int elem_size; - unsigned int init_clear; -}; - -struct io_apic { - unsigned int index; - unsigned int unused[3]; - unsigned int data; - unsigned int unused2[11]; - unsigned int eoi; -}; - -struct iou_vec { - union { - struct iovec *iovec; - struct bio_vec *bvec; - }; - unsigned int nr; -}; - -struct io_uring_sqe { - __u8 opcode; - __u8 flags; - __u16 ioprio; - __s32 fd; - union { - __u64 off; - __u64 addr2; - struct { - __u32 cmd_op; - __u32 __pad1; - }; - }; - union { - __u64 addr; - __u64 splice_off_in; - struct { - __u32 level; - __u32 optname; - }; - }; - __u32 len; - union { - __u32 rw_flags; - __u32 fsync_flags; - __u16 poll_events; - __u32 poll32_events; - __u32 sync_range_flags; - __u32 msg_flags; - __u32 timeout_flags; - __u32 accept_flags; - __u32 cancel_flags; - __u32 open_flags; - __u32 statx_flags; - __u32 fadvise_advice; - __u32 splice_flags; - __u32 rename_flags; - __u32 unlink_flags; - __u32 hardlink_flags; - __u32 xattr_flags; - __u32 msg_ring_flags; - __u32 uring_cmd_flags; - __u32 waitid_flags; - __u32 futex_flags; - __u32 install_fd_flags; - __u32 nop_flags; - __u32 pipe_flags; - }; - __u64 user_data; - union { - __u16 buf_index; - __u16 buf_group; - }; - __u16 personality; - union { - __s32 splice_fd_in; - __u32 file_index; - __u32 zcrx_ifq_idx; - __u32 optlen; - struct { - __u16 addr_len; - __u16 __pad3[1]; - }; - struct { - __u8 write_stream; - __u8 __pad4[3]; - }; - }; - union { - struct { - __u64 addr3; - __u64 __pad2[1]; - }; - struct { - __u64 attr_ptr; - __u64 attr_type_mask; - }; - __u64 optval; - __u8 cmd[0]; - }; -}; - -struct io_async_cmd { - struct iou_vec vec; - struct io_uring_sqe sqes[2]; -}; - -struct ubuf_info; - -struct msghdr { - void *msg_name; - int msg_namelen; - int msg_inq; - struct iov_iter msg_iter; - union { - void *msg_control; - void *msg_control_user; - }; - bool msg_control_is_user: 1; - bool msg_get_inq: 1; - unsigned int msg_flags; - __kernel_size_t msg_controllen; - struct kiocb *msg_iocb; - struct ubuf_info *msg_ubuf; - int (*sg_from_iter)(struct sk_buff *, struct iov_iter *, size_t); -}; - -struct io_async_msghdr { - struct iou_vec vec; - union { - struct { - int namelen; - struct iovec fast_iov; - __kernel_size_t controllen; - __kernel_size_t payloadlen; - struct sockaddr *uaddr; - struct msghdr msg; - struct __kernel_sockaddr_storage addr; - }; - struct { - int namelen; - struct iovec fast_iov; - __kernel_size_t controllen; - __kernel_size_t payloadlen; - struct sockaddr *uaddr; - struct msghdr msg; - struct __kernel_sockaddr_storage addr; - } clear; - }; -}; - -struct iov_iter_state { - size_t iov_offset; - size_t count; - long unsigned int nr_segs; -}; - -struct wait_page_queue { - struct folio *folio; - int bit_nr; - wait_queue_entry_t wait; -}; - -struct uio_meta { - uio_meta_flags_t flags; - u16 app_tag; - u64 seed; - struct iov_iter iter; -}; - -struct io_meta_state { - u32 seed; - struct iov_iter_state iter_meta; -}; - -struct io_async_rw { - struct iou_vec vec; - size_t bytes_done; - union { - struct { - struct iov_iter iter; - struct iov_iter_state iter_state; - struct iovec fast_iov; - unsigned int buf_group; - union { - struct wait_page_queue wpq; - struct { - struct uio_meta meta; - struct io_meta_state meta_state; - }; - }; - }; - struct { - struct iov_iter iter; - struct iov_iter_state iter_state; - struct iovec fast_iov; - unsigned int buf_group; - union { - struct wait_page_queue wpq; - struct { - struct uio_meta meta; - struct io_meta_state meta_state; - }; - }; - } clear; - }; -}; - -struct io_big_cqe { - u64 extra1; - u64 extra2; -}; - -struct io_bind { - struct file *file; - int addr_len; -}; - -struct io_bitmap { - u64 sequence; - refcount_t refcnt; - unsigned int max; - long unsigned int bitmap[1024]; -}; - -struct io_buffer { - struct list_head list; - __u64 addr; - __u32 len; - __u16 bid; - __u16 bgid; -}; - -struct io_mapped_region { - struct page **pages; - void *ptr; - unsigned int nr_pages; - unsigned int flags; -}; - -struct io_uring_buf_ring; - -struct io_buffer_list { - union { - struct list_head buf_list; - struct io_uring_buf_ring *buf_ring; - }; - int nbufs; - __u16 bgid; - __u16 buf_nr_pages; - __u16 nr_entries; - __u16 head; - __u16 mask; - __u16 flags; - struct io_mapped_region region; -}; - -struct io_cancel { - struct file *file; - u64 addr; - u32 flags; - s32 fd; - u8 opcode; -}; - -struct io_ring_ctx; - -struct io_cancel_data { - struct io_ring_ctx *ctx; - union { - u64 data; - struct file *file; - }; - u8 opcode; - u32 flags; - int seq; -}; - -struct io_wq_work; - -typedef bool work_cancel_fn(struct io_wq_work *, void *); - -struct io_cb_cancel_data { - work_cancel_fn *fn; - void *data; - int nr_running; - int nr_pending; - bool cancel_all; -}; - -struct io_close { - struct file *file; - int fd; - u32 file_slot; -}; - -struct io_cmd_data { - struct file *file; - __u8 data[56]; -}; - -struct io_kiocb; - -struct io_cold_def { - const char *name; - void (*sqe_copy)(struct io_kiocb *); - void (*cleanup)(struct io_kiocb *); - void (*fail)(struct io_kiocb *); -}; - -struct io_comp_batch { - struct rq_list req_list; - bool need_ts; - void (*complete)(struct io_comp_batch *); -}; - -struct io_connect { - struct file *file; - struct sockaddr *addr; - int addr_len; - bool in_progress; - bool seen_econnaborted; -}; - -struct io_context { - atomic_long_t refcount; - atomic_t active_ref; - short unsigned int ioprio; - spinlock_t lock; - struct xarray icq_tree; - struct io_cq *icq_hint; - struct hlist_head icq_list; - struct work_struct release_work; -}; - -struct io_copy_cache { - struct page *page; - long unsigned int offset; - size_t size; -}; - -struct io_cq { - struct request_queue *q; - struct io_context *ioc; - union { - struct list_head q_node; - struct kmem_cache *__rcu_icq_cache; - }; - union { - struct hlist_node ioc_node; - struct callback_head __rcu_head; - }; - unsigned int flags; -}; - -struct io_cqe { - __u64 user_data; - __s32 res; - union { - __u32 flags; - int fd; - }; -}; - -struct io_cqring_offsets { - __u32 head; - __u32 tail; - __u32 ring_mask; - __u32 ring_entries; - __u32 overflow; - __u32 cqes; - __u32 flags; - __u32 resv1; - __u64 user_addr; -}; - -struct io_defer_entry { - struct list_head list; - struct io_kiocb *req; -}; - -struct io_epoll { - struct file *file; - int epfd; - int op; - int fd; - struct epoll_event event; -}; - -struct io_epoll_wait { - struct file *file; - int maxevents; - struct epoll_event *events; -}; - -struct io_err_c { - struct dm_dev *dev; - sector_t start; -}; - -struct io_ev_fd { - struct eventfd_ctx *cq_ev_fd; - unsigned int eventfd_async; - unsigned int last_cq_tail; - refcount_t refs; - atomic_t ops; - struct callback_head rcu; -}; - -struct io_fadvise { - struct file *file; - u64 offset; - u64 len; - u32 advice; -}; - -struct io_rsrc_node; - -struct io_rsrc_data { - unsigned int nr; - struct io_rsrc_node **nodes; -}; - -struct io_file_table { - struct io_rsrc_data data; - long unsigned int *bitmap; - unsigned int alloc_hint; -}; - -struct io_fixed_install { - struct file *file; - unsigned int o_flags; -}; - -struct io_ftrunc { - struct file *file; - loff_t len; -}; - -struct io_futex { - struct file *file; - void *uaddr; - long unsigned int futex_val; - long unsigned int futex_mask; - long unsigned int futexv_owned; - u32 futex_flags; - unsigned int futex_nr; - bool futexv_unqueued; -}; - -struct io_futex_data { - struct futex_q q; - struct io_kiocb *req; -}; - -struct io_hash_bucket { - struct hlist_head list; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct io_hash_table { - struct io_hash_bucket *hbs; - unsigned int hash_bits; -}; - -struct io_imu_folio_data { - unsigned int nr_pages_head; - unsigned int nr_pages_mid; - unsigned int folio_shift; - unsigned int nr_folios; - long unsigned int first_folio_page_idx; -}; - -struct io_issue_def { - unsigned int needs_file: 1; - unsigned int plug: 1; - unsigned int ioprio: 1; - unsigned int iopoll: 1; - unsigned int buffer_select: 1; - unsigned int hash_reg_file: 1; - unsigned int unbound_nonreg_file: 1; - unsigned int pollin: 1; - unsigned int pollout: 1; - unsigned int poll_exclusive: 1; - unsigned int audit_skip: 1; - unsigned int iopoll_queue: 1; - unsigned int vectored: 1; - short unsigned int async_size; - int (*issue)(struct io_kiocb *, unsigned int); - int (*prep)(struct io_kiocb *, const struct io_uring_sqe *); -}; - -struct io_wq_work_node { - struct io_wq_work_node *next; -}; - -struct io_tw_state; - -typedef struct io_tw_state io_tw_token_t; - -typedef void (*io_req_tw_func_t)(struct io_kiocb *, io_tw_token_t); - -struct io_task_work { - struct llist_node node; - io_req_tw_func_t func; -}; - -struct io_wq_work { - struct io_wq_work_node list; - atomic_t flags; - int cancel_seq; -}; - -struct io_uring_task; - -struct io_kiocb { - union { - struct file *file; - struct io_cmd_data cmd; - }; - u8 opcode; - u8 iopoll_completed; - u16 buf_index; - unsigned int nr_tw; - io_req_flags_t flags; - struct io_cqe cqe; - struct io_ring_ctx *ctx; - struct io_uring_task *tctx; - union { - struct io_buffer *kbuf; - struct io_buffer_list *buf_list; - struct io_rsrc_node *buf_node; - }; - union { - struct io_wq_work_node comp_list; - __poll_t apoll_events; - }; - struct io_rsrc_node *file_node; - atomic_t refs; - bool cancel_seq_set; - struct io_task_work io_task_work; - union { - struct hlist_node hash_node; - u64 iopoll_start; - struct callback_head callback_head; - }; - struct async_poll *apoll; - void *async_data; - atomic_t poll_refs; - struct io_kiocb *link; - const struct cred *creds; - struct io_wq_work work; - struct io_big_cqe big_cqe; -}; - -struct io_link { - struct file *file; - int old_dfd; - int new_dfd; - struct filename *oldpath; - struct filename *newpath; - int flags; -}; - -struct io_listen { - struct file *file; - int backlog; -}; - -struct io_madvise { - struct file *file; - u64 addr; - u64 len; - u32 advice; -}; - -struct io_mapped_ubuf { - u64 ubuf; - unsigned int len; - unsigned int nr_bvecs; - unsigned int folio_shift; - refcount_t refs; - long unsigned int acct_pages; - void (*release)(void *); - void *priv; - bool is_kbuf; - u8 dir; - struct bio_vec bvec[0]; -}; - -struct io_mkdir { - struct file *file; - int dfd; - umode_t mode; - struct filename *filename; -}; - -struct io_msg { - struct file *file; - struct file *src_file; - struct callback_head tw; - u64 user_data; - u32 len; - u32 cmd; - u32 src_fd; - union { - u32 dst_fd; - u32 cqe_flags; - }; - u32 flags; -}; - -struct io_napi_entry { - unsigned int napi_id; - struct list_head list; - long unsigned int timeout; - struct hlist_node node; - struct callback_head rcu; -}; - -struct io_nop { - struct file *file; - int result; - int fd; - unsigned int flags; -}; - -struct ubuf_info_ops; - -struct ubuf_info { - const struct ubuf_info_ops *ops; - refcount_t refcnt; - u8 flags; -}; - -struct io_notif_data { - struct file *file; - struct ubuf_info uarg; - struct io_notif_data *next; - struct io_notif_data *head; - unsigned int account_pages; - bool zc_report; - bool zc_used; - bool zc_copied; -}; - -struct io_open { - struct file *file; - int dfd; - u32 file_slot; - struct filename *filename; - struct open_how how; - long unsigned int nofile; -}; - -struct io_uring_cqe { - __u64 user_data; - __s32 res; - __u32 flags; - __u64 big_cqe[0]; -}; - -struct io_overflow_cqe { - struct list_head list; - struct io_uring_cqe cqe; -}; - -struct io_pagetable { - struct rw_semaphore domains_rwsem; - struct xarray domains; - struct xarray access_list; - unsigned int next_domain_id; - struct rw_semaphore iova_rwsem; - struct rb_root_cached area_itree; - struct rb_root_cached allowed_itree; - struct rb_root_cached reserved_itree; - u8 disable_large_pages; - long unsigned int iova_alignment; -}; - -struct io_pgtable_init_fns { - struct io_pgtable * (*alloc)(struct io_pgtable_cfg *, void *); - void (*free)(struct io_pgtable *); - u32 caps; -}; - -struct io_pipe { - struct file *file; - int *fds; - int flags; - int file_slot; - long unsigned int nofile; -}; - -struct io_poll_table { - struct poll_table_struct pt; - struct io_kiocb *req; - int nr_entries; - int error; - bool owning; - __poll_t result_mask; -}; - -struct io_poll_update { - struct file *file; - u64 old_user_data; - u64 new_user_data; - __poll_t events; - bool update_events; - bool update_user_data; -}; - -struct io_provide_buf { - struct file *file; - __u64 addr; - __u32 len; - __u32 bgid; - __u32 nbufs; - __u16 bid; -}; - -struct io_uring_recvmsg_out { - __u32 namelen; - __u32 controllen; - __u32 payloadlen; - __u32 flags; -}; - -struct io_recvmsg_multishot_hdr { - struct io_uring_recvmsg_out msg; - struct __kernel_sockaddr_storage addr; -}; - -struct io_zcrx_ifq; - -struct io_recvzc { - struct file *file; - unsigned int msg_flags; - u16 flags; - u32 len; - struct io_zcrx_ifq *ifq; -}; - -struct io_rename { - struct file *file; - int old_dfd; - int new_dfd; - struct filename *oldpath; - struct filename *newpath; - int flags; -}; - -struct io_restriction { - long unsigned int register_op[1]; - long unsigned int sqe_op[1]; - u8 sqe_flags_allowed; - u8 sqe_flags_required; - bool registered; -}; - -struct io_wq_work_list { - struct io_wq_work_node *first; - struct io_wq_work_node *last; -}; - -struct io_submit_link { - struct io_kiocb *head; - struct io_kiocb *last; -}; - -struct io_submit_state { - struct io_wq_work_node free_list; - struct io_wq_work_list compl_reqs; - struct io_submit_link link; - bool plug_started; - bool need_plug; - bool cq_flush; - short unsigned int submit_nr; - struct blk_plug plug; -}; - -struct io_rings; - -struct io_sq_data; - -struct io_wq_hash; - -struct io_ring_ctx { - struct { - unsigned int flags; - unsigned int drain_next: 1; - unsigned int restricted: 1; - unsigned int off_timeout_used: 1; - unsigned int drain_active: 1; - unsigned int has_evfd: 1; - unsigned int task_complete: 1; - unsigned int lockless_cq: 1; - unsigned int syscall_iopoll: 1; - unsigned int poll_activated: 1; - unsigned int drain_disabled: 1; - unsigned int compat: 1; - unsigned int iowq_limits_set: 1; - struct task_struct *submitter_task; - struct io_rings *rings; - struct percpu_ref refs; - clockid_t clockid; - enum tk_offsets clock_offset; - enum task_work_notify_mode notify_method; - unsigned int sq_thread_idle; - long: 64; - }; - struct { - struct mutex uring_lock; - u32 *sq_array; - struct io_uring_sqe *sq_sqes; - unsigned int cached_sq_head; - unsigned int sq_entries; - atomic_t cancel_seq; - bool poll_multi_queue; - struct io_wq_work_list iopoll_list; - struct io_file_table file_table; - struct io_rsrc_data buf_table; - struct io_alloc_cache node_cache; - struct io_alloc_cache imu_cache; - struct io_submit_state submit_state; - struct xarray io_bl_xa; - struct io_hash_table cancel_table; - struct io_alloc_cache apoll_cache; - struct io_alloc_cache netmsg_cache; - struct io_alloc_cache rw_cache; - struct io_alloc_cache cmd_cache; - struct hlist_head cancelable_uring_cmd; - u64 hybrid_poll_time; - long: 64; - long: 64; - }; - struct { - struct io_uring_cqe *cqe_cached; - struct io_uring_cqe *cqe_sentinel; - unsigned int cached_cq_tail; - unsigned int cq_entries; - struct io_ev_fd *io_ev_fd; - void *cq_wait_arg; - size_t cq_wait_size; - long: 64; - long: 64; - }; - struct { - struct llist_head work_llist; - struct llist_head retry_llist; - long unsigned int check_cq; - atomic_t cq_wait_nr; - atomic_t cq_timeouts; - struct wait_queue_head cq_wait; - long: 64; - }; - struct { - raw_spinlock_t timeout_lock; - struct list_head timeout_list; - struct list_head ltimeout_list; - unsigned int cq_last_tm_flush; - long: 64; - long: 64; - }; - spinlock_t completion_lock; - struct list_head cq_overflow_list; - struct hlist_head waitid_list; - struct hlist_head futex_list; - struct io_alloc_cache futex_cache; - const struct cred *sq_creds; - struct io_sq_data *sq_data; - struct wait_queue_head sqo_sq_wait; - struct list_head sqd_list; - unsigned int file_alloc_start; - unsigned int file_alloc_end; - struct wait_queue_head poll_wq; - struct io_restriction restrictions; - struct xarray zcrx_ctxs; - u32 pers_next; - struct xarray personalities; - struct io_wq_hash *hash_map; - struct user_struct *user; - struct mm_struct *mm_account; - struct llist_head fallback_llist; - struct delayed_work fallback_work; - struct work_struct exit_work; - struct list_head tctx_list; - struct completion ref_comp; - u32 iowq_limits[2]; - struct callback_head poll_wq_task_work; - struct list_head defer_list; - unsigned int nr_drained; - struct list_head napi_list; - spinlock_t napi_lock; - ktime_t napi_busy_poll_dt; - bool napi_prefer_busy_poll; - u8 napi_track_mode; - struct hlist_head napi_ht[16]; - unsigned int evfd_last_cq_tail; - unsigned int nr_req_allocated; - struct mutex mmap_lock; - struct io_mapped_region sq_region; - struct io_mapped_region ring_region; - struct io_mapped_region param_region; - long: 64; - long: 64; - long: 64; -}; - -struct io_ring_ctx_rings { - struct io_rings *rings; - struct io_uring_sqe *sq_sqes; - struct io_mapped_region sq_region; - struct io_mapped_region ring_region; -}; - -struct io_uring { - u32 head; - u32 tail; -}; - -struct io_rings { - struct io_uring sq; - struct io_uring cq; - u32 sq_ring_mask; - u32 cq_ring_mask; - u32 sq_ring_entries; - u32 cq_ring_entries; - u32 sq_dropped; - atomic_t sq_flags; - u32 cq_flags; - u32 cq_overflow; - long: 64; - long: 64; - struct io_uring_cqe cqes[0]; -}; - -struct io_rsrc_node { - unsigned char type; - int refs; - u64 tag; - union { - long unsigned int file_ptr; - struct io_mapped_ubuf *buf; - }; -}; - -struct io_rsrc_update { - struct file *file; - u64 arg; - u32 nr_args; - u32 offset; -}; - -struct io_rw { - struct kiocb kiocb; - u64 addr; - u32 len; - rwf_t flags; -}; - -struct io_shutdown { - struct file *file; - int how; -}; - -struct io_socket { - struct file *file; - int domain; - int type; - int protocol; - int flags; - u32 file_slot; - long unsigned int nofile; -}; - -struct io_splice { - struct file *file_out; - loff_t off_out; - loff_t off_in; - u64 len; - int splice_fd_in; - unsigned int flags; - struct io_rsrc_node *rsrc_node; -}; - -struct io_sq_data { - refcount_t refs; - atomic_t park_pending; - struct mutex lock; - struct list_head ctx_list; - struct task_struct *thread; - struct wait_queue_head wait; - unsigned int sq_thread_idle; - int sq_cpu; - pid_t task_pid; - pid_t task_tgid; - u64 work_time; - long unsigned int state; - struct completion exited; -}; - -struct io_sq_time { - bool started; - u64 usec; -}; - -struct io_sqring_offsets { - __u32 head; - __u32 tail; - __u32 ring_mask; - __u32 ring_entries; - __u32 flags; - __u32 dropped; - __u32 array; - __u32 resv1; - __u64 user_addr; -}; - -struct user_msghdr; - -struct io_sr_msg { - struct file *file; - union { - struct compat_msghdr *umsg_compat; - struct user_msghdr *umsg; - void *buf; - }; - int len; - unsigned int done_io; - unsigned int msg_flags; - unsigned int nr_multishot_loops; - u16 flags; - u16 buf_group; - unsigned int mshot_len; - unsigned int mshot_total_len; - void *msg_control; - struct io_kiocb *notif; -}; - -struct statx; - -struct io_statx { - struct file *file; - int dfd; - unsigned int mask; - unsigned int flags; - struct filename *filename; - struct statx *buffer; -}; - -struct io_sync { - struct file *file; - loff_t len; - loff_t off; - int flags; - int mode; -}; - -struct io_task_cancel { - struct io_uring_task *tctx; - bool all; -}; - -struct io_tctx_exit { - struct callback_head task_work; - struct completion completion; - struct io_ring_ctx *ctx; -}; - -struct io_tctx_node { - struct list_head ctx_node; - struct task_struct *task; - struct io_ring_ctx *ctx; -}; - -struct io_timeout { - struct file *file; - u32 off; - u32 target_seq; - u32 repeats; - struct list_head list; - struct io_kiocb *head; - struct io_kiocb *prev; -}; - -struct io_timeout_data { - struct io_kiocb *req; - struct hrtimer timer; - struct timespec64 ts; - enum hrtimer_mode mode; - u32 flags; -}; - -struct io_timeout_rem { - struct file *file; - u64 addr; - struct timespec64 ts; - u32 flags; - bool ltimeout; -}; - -struct io_timespec { - __u64 tv_sec; - __u64 tv_nsec; -}; - -struct io_tlb_area { - long unsigned int used; - unsigned int index; - spinlock_t lock; -}; - -struct io_tlb_slot; - -struct io_tlb_pool { - phys_addr_t start; - phys_addr_t end; - void *vaddr; - long unsigned int nslabs; - bool late_alloc; - unsigned int nareas; - unsigned int area_nslabs; - struct io_tlb_area *areas; - struct io_tlb_slot *slots; - struct list_head node; - struct callback_head rcu; - bool transient; -}; - -struct io_tlb_mem { - struct io_tlb_pool defpool; - long unsigned int nslabs; - struct dentry *debugfs; - bool force_bounce; - bool for_alloc; - bool can_grow; - u64 phys_limit; - spinlock_t lock; - struct list_head pools; - struct work_struct dyn_alloc; - atomic_long_t total_used; - atomic_long_t used_hiwater; - atomic_long_t transient_nslabs; -}; - -struct io_tlb_slot { - phys_addr_t orig_addr; - size_t alloc_size; - short unsigned int list; - short unsigned int pad_slots; -}; - -struct io_tw_state {}; - -struct io_unlink { - struct file *file; - int dfd; - int flags; - struct filename *filename; -}; - -struct io_uring_attr_pi { - __u16 flags; - __u16 app_tag; - __u32 len; - __u64 addr; - __u64 seed; - __u64 rsvd; -}; - -struct io_uring_buf { - __u64 addr; - __u32 len; - __u16 bid; - __u16 resv; -}; - -struct io_uring_buf_reg { - __u64 ring_addr; - __u32 ring_entries; - __u16 bgid; - __u16 flags; - __u64 resv[3]; -}; - -struct io_uring_buf_ring { - union { - struct { - __u64 resv1; - __u32 resv2; - __u16 resv3; - __u16 tail; - }; - struct { - struct {} __empty_bufs; - struct io_uring_buf bufs[0]; - }; - }; -}; - -struct io_uring_buf_status { - __u32 buf_group; - __u32 head; - __u32 resv[8]; -}; - -struct io_uring_clock_register { - __u32 clockid; - __u32 __resv[3]; -}; - -struct io_uring_clone_buffers { - __u32 src_fd; - __u32 flags; - __u32 src_off; - __u32 dst_off; - __u32 nr; - __u32 pad[3]; -}; - -struct io_uring_cmd { - struct file *file; - const struct io_uring_sqe *sqe; - void (*task_work_cb)(struct io_uring_cmd *, unsigned int); - u32 cmd_op; - u32 flags; - u8 pdu[32]; -}; - -struct io_uring_file_index_range { - __u32 off; - __u32 len; - __u64 resv; -}; - -struct io_uring_getevents_arg { - __u64 sigmask; - __u32 sigmask_sz; - __u32 min_wait_usec; - __u64 ts; -}; - -struct io_uring_mem_region_reg { - __u64 region_uptr; - __u64 flags; - __u64 __resv[2]; -}; - -struct io_uring_napi { - __u32 busy_poll_to; - __u8 prefer_busy_poll; - __u8 opcode; - __u8 pad[2]; - __u32 op_param; - __u32 resv; -}; - -struct io_uring_params { - __u32 sq_entries; - __u32 cq_entries; - __u32 flags; - __u32 sq_thread_cpu; - __u32 sq_thread_idle; - __u32 features; - __u32 wq_fd; - __u32 resv[3]; - struct io_sqring_offsets sq_off; - struct io_cqring_offsets cq_off; -}; - -struct io_uring_probe_op { - __u8 op; - __u8 resv; - __u16 flags; - __u32 resv2; -}; - -struct io_uring_probe { - __u8 last_op; - __u8 ops_len; - __u16 resv; - __u32 resv2[3]; - struct io_uring_probe_op ops[0]; -}; - -struct io_uring_reg_wait { - struct __kernel_timespec ts; - __u32 min_wait_usec; - __u32 flags; - __u64 sigmask; - __u32 sigmask_sz; - __u32 pad[3]; - __u64 pad2[2]; -}; - -struct io_uring_region_desc { - __u64 user_addr; - __u64 size; - __u32 flags; - __u32 id; - __u64 mmap_offset; - __u64 __resv[4]; -}; - -struct io_uring_restriction { - __u16 opcode; - union { - __u8 register_op; - __u8 sqe_op; - __u8 sqe_flags; - }; - __u8 resv; - __u32 resv2[3]; -}; - -struct io_uring_rsrc_register { - __u32 nr; - __u32 flags; - __u64 resv2; - __u64 data; - __u64 tags; -}; - -struct io_uring_rsrc_update { - __u32 offset; - __u32 resv; - __u64 data; -}; - -struct io_uring_rsrc_update2 { - __u32 offset; - __u32 resv; - __u64 data; - __u64 tags; - __u32 nr; - __u32 resv2; -}; - -struct io_uring_sync_cancel_reg { - __u64 addr; - __s32 fd; - __u32 flags; - struct __kernel_timespec timeout; - __u8 opcode; - __u8 pad[7]; - __u64 pad2[3]; -}; - -struct io_wq; - -struct io_uring_task { - int cached_refs; - const struct io_ring_ctx *last; - struct task_struct *task; - struct io_wq *io_wq; - struct file *registered_rings[16]; - struct xarray xa; - struct wait_queue_head wait; - atomic_t in_cancel; - atomic_t inflight_tracked; - struct percpu_counter inflight; - long: 64; - struct { - struct llist_head task_list; - struct callback_head task_work; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - }; -}; - -struct io_uring_zcrx_area_reg { - __u64 addr; - __u64 len; - __u64 rq_area_token; - __u32 flags; - __u32 dmabuf_fd; - __u64 __resv2[2]; -}; - -struct io_uring_zcrx_cqe { - __u64 off; - __u64 __pad; -}; - -struct io_uring_zcrx_offsets { - __u32 head; - __u32 tail; - __u32 rqes; - __u32 __resv2; - __u64 __resv[2]; -}; - -struct io_uring_zcrx_ifq_reg { - __u32 if_idx; - __u32 if_rxq; - __u32 rq_entries; - __u32 flags; - __u64 area_ptr; - __u64 region_ptr; - struct io_uring_zcrx_offsets offsets; - __u32 zcrx_id; - __u32 __resv2; - __u64 __resv[3]; -}; - -struct io_uring_zcrx_rqe { - __u64 off; - __u32 len; - __u32 __pad; -}; - -struct io_wait_queue { - struct wait_queue_entry wq; - struct io_ring_ctx *ctx; - unsigned int cq_tail; - unsigned int cq_min_tail; - unsigned int nr_timeouts; - int hit_timeout; - ktime_t min_timeout; - ktime_t timeout; - struct hrtimer t; - ktime_t napi_busy_poll_dt; - bool napi_prefer_busy_poll; -}; - -struct waitid_info { - pid_t pid; - uid_t uid; - int status; - int cause; -}; - -struct io_waitid { - struct file *file; - int which; - pid_t upid; - int options; - atomic_t refs; - struct wait_queue_head *head; - struct siginfo *infop; - struct waitid_info info; -}; - -struct rusage; - -struct wait_opts { - enum pid_type wo_type; - int wo_flags; - struct pid *wo_pid; - struct waitid_info *wo_info; - int wo_stat; - struct rusage *wo_rusage; - wait_queue_entry_t child_wait; - int notask_error; -}; - -struct io_waitid_async { - struct io_kiocb *req; - struct wait_opts wo; -}; - -struct io_wq_acct; - -struct io_worker { - refcount_t ref; - long unsigned int flags; - struct hlist_nulls_node nulls_node; - struct list_head all_list; - struct task_struct *task; - struct io_wq *wq; - struct io_wq_acct *acct; - struct io_wq_work *cur_work; - raw_spinlock_t lock; - struct completion ref_done; - long unsigned int create_state; - struct callback_head create_work; - int init_retries; - union { - struct callback_head rcu; - struct delayed_work work; - }; -}; - -struct io_wq_acct { - raw_spinlock_t workers_lock; - unsigned int nr_workers; - unsigned int max_workers; - atomic_t nr_running; - struct hlist_nulls_head free_list; - struct list_head all_list; - raw_spinlock_t lock; - struct io_wq_work_list work_list; - long unsigned int flags; -}; - -struct io_wq { - long unsigned int state; - struct io_wq_hash *hash; - atomic_t worker_refs; - struct completion worker_done; - struct hlist_node cpuhp_node; - struct task_struct *task; - struct io_wq_acct acct[2]; - struct wait_queue_entry wait; - struct io_wq_work *hash_tail[64]; - cpumask_var_t cpu_mask; -}; - -struct io_wq_data { - struct io_wq_hash *hash; - struct task_struct *task; -}; - -struct io_wq_hash { - refcount_t refs; - long unsigned int map; - struct wait_queue_head wait; -}; - -struct xattr_name; - -struct kernel_xattr_ctx { - union { - const void *cvalue; - void *value; - }; - void *kvalue; - size_t size; - struct xattr_name *kname; - unsigned int flags; -}; - -struct io_xattr { - struct file *file; - struct kernel_xattr_ctx ctx; - struct filename *filename; -}; - -struct io_zcrx_mem { - long unsigned int size; - bool is_dmabuf; - struct page **pages; - long unsigned int nr_folios; - struct sg_table page_sg_table; - long unsigned int account_pages; - struct dma_buf_attachment *attach; - struct dma_buf *dmabuf; - struct sg_table *sgt; - long unsigned int dmabuf_offset; -}; - -struct io_zcrx_area { - struct net_iov_area nia; - struct io_zcrx_ifq *ifq; - atomic_t *user_refs; - bool is_mapped; - u16 area_id; - long: 64; - long: 64; - spinlock_t freelist_lock; - u32 free_count; - u32 *freelist; - struct io_zcrx_mem mem; - long: 64; - long: 64; - long: 64; -}; - -struct io_zcrx_args { - struct io_kiocb *req; - struct io_zcrx_ifq *ifq; - struct socket *sock; - unsigned int nr_skbs; -}; - -struct io_zcrx_ifq { - struct io_ring_ctx *ctx; - struct io_zcrx_area *area; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - spinlock_t rq_lock; - struct io_uring *rq_ring; - struct io_uring_zcrx_rqe *rqes; - u32 cached_rq_head; - u32 rq_entries; - u32 if_rxq; - struct device *dev; - struct net_device *netdev; - netdevice_tracker netdev_tracker; - spinlock_t lock; - struct mutex dma_lock; - struct io_mapped_region region; - long: 64; -}; - -struct ioam6_hdr { - __u8 opt_type; - __u8 opt_len; - char: 8; - __u8 type; -}; - -struct ioam6_lwt_freq { - u32 k; - u32 n; -}; - -struct ipv6_opt_hdr { - __u8 nexthdr; - __u8 hdrlen; -}; - -struct ioam6_trace_hdr { - __be16 namespace_id; - char: 2; - __u8 overflow: 1; - __u8 nodelen: 5; - __u8 remlen: 7; - union { - __be32 type_be32; - struct { - __u32 bit7: 1; - __u32 bit6: 1; - __u32 bit5: 1; - __u32 bit4: 1; - __u32 bit3: 1; - __u32 bit2: 1; - __u32 bit1: 1; - __u32 bit0: 1; - __u32 bit15: 1; - __u32 bit14: 1; - __u32 bit13: 1; - __u32 bit12: 1; - __u32 bit11: 1; - __u32 bit10: 1; - __u32 bit9: 1; - __u32 bit8: 1; - __u32 bit23: 1; - __u32 bit22: 1; - __u32 bit21: 1; - __u32 bit20: 1; - __u32 bit19: 1; - __u32 bit18: 1; - __u32 bit17: 1; - __u32 bit16: 1; - } type; - }; - __u8 data[0]; -}; - -struct ioam6_lwt_encap { - struct ipv6_opt_hdr eh; - u8 pad[2]; - struct ioam6_hdr ioamh; - struct ioam6_trace_hdr traceh; -}; - -struct ioam6_lwt { - struct dst_entry null_dst; - struct dst_cache cache; - struct ioam6_lwt_freq freq; - atomic_t pkt_cnt; - u8 mode; - bool has_tunsrc; - struct in6_addr tunsrc; - struct in6_addr tundst; - struct ioam6_lwt_encap tuninfo; -}; - -struct ioam6_schema; - -struct ioam6_namespace { - struct rhash_head head; - struct callback_head rcu; - struct ioam6_schema *schema; - __be16 id; - __be32 data; - __be64 data_wide; -}; - -struct ioam6_pernet_data { - struct mutex lock; - struct rhashtable namespaces; - struct rhashtable schemas; -}; - -struct ioam6_schema { - struct rhash_head head; - struct callback_head rcu; - struct ioam6_namespace *ns; - u32 id; - int len; - __be32 hdr; - u8 data[0]; -}; - -struct mpc_ioapic { - unsigned char type; - unsigned char apicid; - unsigned char apicver; - unsigned char flags; - unsigned int apicaddr; -}; - -struct mp_ioapic_gsi { - u32 gsi_base; - u32 gsi_end; -}; - -struct ioapic_domain_cfg { - enum ioapic_domain_type type; - const struct irq_domain_ops *ops; - struct device_node *dev; -}; - -struct ioapic { - int nr_registers; - struct IO_APIC_route_entry *saved_registers; - struct mpc_ioapic mp_config; - struct mp_ioapic_gsi gsi_config; - struct ioapic_domain_cfg irqdomain_cfg; - struct irq_domain *irqdomain; - struct resource *iomem_res; -}; - -struct ioapic_scope { - struct intel_iommu *iommu; - unsigned int id; - unsigned int bus; - unsigned int devfn; -}; - -struct rq_qos_ops; - -struct rq_qos { - const struct rq_qos_ops *ops; - struct gendisk *disk; - enum rq_qos_id id; - struct rq_qos *next; - struct dentry *debugfs_dir; -}; - -struct ioc_params { - u32 qos[6]; - u64 i_lcoefs[6]; - u64 lcoefs[6]; - u32 too_fast_vrate_pct; - u32 too_slow_vrate_pct; -}; - -struct ioc_margins { - s64 min; - s64 low; - s64 target; -}; - -struct ioc_pcpu_stat; - -struct ioc { - struct rq_qos rqos; - bool enabled; - struct ioc_params params; - struct ioc_margins margins; - u32 period_us; - u32 timer_slack_ns; - u64 vrate_min; - u64 vrate_max; - spinlock_t lock; - struct timer_list timer; - struct list_head active_iocgs; - struct ioc_pcpu_stat *pcpu_stat; - enum ioc_running running; - atomic64_t vtime_rate; - u64 vtime_base_rate; - s64 vtime_err; - seqcount_spinlock_t period_seqcount; - u64 period_at; - u64 period_at_vtime; - atomic64_t cur_period; - int busy_level; - bool weights_updated; - atomic_t hweight_gen; - u64 dfgv_period_at; - u64 dfgv_period_rem; - u64 dfgv_usage_us_sum; - u64 autop_too_fast_at; - u64 autop_too_slow_at; - int autop_idx; - bool user_qos_params: 1; - bool user_cost_model: 1; -}; - -struct ioc_cgrp { - struct blkcg_policy_data cpd; - unsigned int dfl_weight; -}; - -struct iocg_stat { - u64 usage_us; - u64 wait_us; - u64 indebt_us; - u64 indelay_us; -}; - -struct iocg_pcpu_stat; - -struct ioc_gq { - struct blkg_policy_data pd; - struct ioc *ioc; - u32 cfg_weight; - u32 weight; - u32 active; - u32 inuse; - u32 last_inuse; - s64 saved_margin; - sector_t cursor; - atomic64_t vtime; - atomic64_t done_vtime; - u64 abs_vdebt; - u64 delay; - u64 delay_at; - atomic64_t active_period; - struct list_head active_list; - u64 child_active_sum; - u64 child_inuse_sum; - u64 child_adjusted_sum; - int hweight_gen; - u32 hweight_active; - u32 hweight_inuse; - u32 hweight_donating; - u32 hweight_after_donation; - struct list_head walk_list; - struct list_head surplus_list; - struct wait_queue_head waitq; - struct hrtimer waitq_timer; - u64 activated_at; - struct iocg_pcpu_stat *pcpu_stat; - struct iocg_stat stat; - struct iocg_stat last_stat; - u64 last_stat_abs_vusage; - u64 usage_delta_us; - u64 wait_since; - u64 indebt_since; - u64 indelay_since; - int level; - struct ioc_gq *ancestors[0]; -}; - -struct ioc_missed { - local_t nr_met; - local_t nr_missed; - u32 last_met; - u32 last_missed; -}; - -struct ioc_now { - u64 now_ns; - u64 now; - u64 vnow; -}; - -struct ioc_pcpu_stat { - struct ioc_missed missed[2]; - local64_t rq_wait_ns; - u64 last_rq_wait_ns; -}; - -struct iocb { - __u64 aio_data; - __u32 aio_key; - __kernel_rwf_t aio_rw_flags; - __u16 aio_lio_opcode; - __s16 aio_reqprio; - __u32 aio_fildes; - __u64 aio_buf; - __u64 aio_nbytes; - __s64 aio_offset; - __u64 aio_reserved2; - __u32 aio_flags; - __u32 aio_resfd; -}; - -struct iocg_pcpu_stat { - local64_t abs_vusage; -}; - -struct iocg_wait { - struct wait_queue_entry wait; - struct bio *bio; - u64 abs_cost; - bool committed; -}; - -struct iocg_wake_ctx { - struct ioc_gq *iocg; - u32 hw_inuse; - s64 vbudget; -}; - -struct iomap { - u64 addr; - loff_t offset; - u64 length; - u16 type; - u16 flags; - struct block_device *bdev; - struct dax_device *dax_dev; - void *inline_data; - void *private; - u64 validity_cookie; -}; - -struct iomap_dio_ops; - -struct iomap_dio { - struct kiocb *iocb; - const struct iomap_dio_ops *dops; - loff_t i_size; - loff_t size; - atomic_t ref; - unsigned int flags; - int error; - size_t done_before; - bool wait_for_completion; - union { - struct { - struct iov_iter *iter; - struct task_struct *waiter; - } submit; - struct { - struct work_struct work; - } aio; - }; -}; - -struct iomap_iter; - -struct iomap_dio_ops { - int (*end_io)(struct kiocb *, ssize_t, int, unsigned int); - void (*submit_io)(const struct iomap_iter *, struct bio *, loff_t); - struct bio_set *bio_set; -}; - -struct iomap_folio_state { - spinlock_t state_lock; - unsigned int read_bytes_pending; - atomic_t write_bytes_pending; - long unsigned int state[0]; -}; - -struct iomap_ioend { - struct list_head io_list; - u16 io_flags; - struct inode *io_inode; - size_t io_size; - atomic_t io_remaining; - int io_error; - struct iomap_ioend *io_parent; - loff_t io_offset; - sector_t io_sector; - void *io_private; - struct bio io_bio; -}; - -struct iomap_iter { - struct inode *inode; - loff_t pos; - u64 len; - loff_t iter_start_pos; - int status; - unsigned int flags; - struct iomap iomap; - struct iomap srcmap; - void *private; -}; - -struct iomap_ops { - int (*iomap_begin)(struct inode *, loff_t, loff_t, unsigned int, struct iomap *, struct iomap *); - int (*iomap_end)(struct inode *, loff_t, loff_t, ssize_t, unsigned int, struct iomap *); -}; - -struct iomap_readpage_ctx { - struct folio *cur_folio; - bool cur_folio_in_bio; - struct bio *bio; - struct readahead_control *rac; -}; - -struct iomap_swapfile_info { - struct iomap iomap; - struct swap_info_struct *sis; - uint64_t lowest_ppage; - uint64_t highest_ppage; - long unsigned int nr_pages; - int nr_extents; - struct file *file; -}; - -struct iomap_write_ops { - struct folio * (*get_folio)(struct iomap_iter *, loff_t, unsigned int); - void (*put_folio)(struct inode *, loff_t, unsigned int, struct folio *); - bool (*iomap_valid)(struct inode *, const struct iomap *); - int (*read_folio_range)(const struct iomap_iter *, struct folio *, loff_t, size_t); -}; - -struct iomap_writepage_ctx; - -struct iomap_writeback_ops { - ssize_t (*writeback_range)(struct iomap_writepage_ctx *, struct folio *, u64, unsigned int, u64); - int (*writeback_submit)(struct iomap_writepage_ctx *, int); -}; - -struct iomap_writepage_ctx { - struct iomap iomap; - struct inode *inode; - struct writeback_control *wbc; - const struct iomap_writeback_ops *ops; - u32 nr_folios; - void *wb_ctx; -}; - -struct iommu_attach_handle { - struct iommu_domain *domain; -}; - -struct iommu_cmd { - u32 data[4]; -}; - -struct protection_domain; - -struct iommu_dev_data { - struct mutex mutex; - spinlock_t dte_lock; - struct list_head list; - struct llist_node dev_data_list; - struct protection_domain *domain; - struct gcr3_tbl_info gcr3_info; - struct device *dev; - u16 devid; - unsigned int max_irqs; - u32 max_pasids; - u32 flags; - int ats_qdep; - u8 ats_enabled: 1; - u8 pri_enabled: 1; - u8 pasid_enabled: 1; - u8 pri_tlp: 1; - u8 ppr: 1; - bool use_vapic; - bool defer_attach; - struct ratelimit_state rs; -}; - -struct iova_bitmap; - -struct iommu_dirty_bitmap { - struct iova_bitmap *bitmap; - struct iommu_iotlb_gather *gather; -}; - -struct iommu_dirty_ops { - int (*set_dirty_tracking)(struct iommu_domain *, bool); - int (*read_and_clear_dirty)(struct iommu_domain *, long unsigned int, size_t, long unsigned int, struct iommu_dirty_bitmap *); -}; - -struct iova { - struct rb_node node; - long unsigned int pfn_hi; - long unsigned int pfn_lo; -}; - -struct iova_rcache; - -struct iova_domain { - spinlock_t iova_rbtree_lock; - struct rb_root rbroot; - struct rb_node *cached_node; - struct rb_node *cached32_node; - long unsigned int granule; - long unsigned int start_pfn; - long unsigned int dma_32bit_pfn; - long unsigned int max32_alloc_size; - struct iova anchor; - struct iova_rcache *rcaches; - struct hlist_node cpuhp_dead; -}; - -struct iommu_dma_options { - enum iommu_dma_queue_type qt; - size_t fq_size; - unsigned int fq_timeout; -}; - -struct iova_fq; - -struct iommu_dma_cookie { - struct iova_domain iovad; - struct list_head msi_page_list; - union { - struct iova_fq *single_fq; - struct iova_fq *percpu_fq; - }; - atomic64_t fq_flush_start_cnt; - atomic64_t fq_flush_finish_cnt; - struct timer_list fq_timer; - atomic_t fq_timer_on; - struct iommu_domain *fq_domain; - struct iommu_dma_options options; -}; - -struct iommu_dma_msi_cookie { - dma_addr_t msi_iova; - struct list_head msi_page_list; -}; - -struct iommu_dma_msi_page { - struct list_head list; - dma_addr_t iova; - phys_addr_t phys; -}; - -struct iommu_domain_info { - struct intel_iommu *iommu; - unsigned int refcnt; - u16 did; -}; - -struct iommu_user_data_array; - -struct iommu_domain_ops { - int (*attach_dev)(struct iommu_domain *, struct device *); - int (*set_dev_pasid)(struct iommu_domain *, struct device *, ioasid_t, struct iommu_domain *); - int (*map_pages)(struct iommu_domain *, long unsigned int, phys_addr_t, size_t, size_t, int, gfp_t, size_t *); - size_t (*unmap_pages)(struct iommu_domain *, long unsigned int, size_t, size_t, struct iommu_iotlb_gather *); - void (*flush_iotlb_all)(struct iommu_domain *); - int (*iotlb_sync_map)(struct iommu_domain *, long unsigned int, size_t); - void (*iotlb_sync)(struct iommu_domain *, struct iommu_iotlb_gather *); - int (*cache_invalidate_user)(struct iommu_domain *, struct iommu_user_data_array *); - phys_addr_t (*iova_to_phys)(struct iommu_domain *, dma_addr_t); - bool (*enforce_cache_coherency)(struct iommu_domain *); - int (*set_pgtable_quirks)(struct iommu_domain *, long unsigned int); - void (*free)(struct iommu_domain *); -}; - -struct iommu_fault_page_request { - u32 flags; - u32 pasid; - u32 grpid; - u32 perm; - u64 addr; - u64 private_data[2]; -}; - -struct iommu_fault { - u32 type; - struct iommu_fault_page_request prm; -}; - -struct iommu_fault_param { - struct mutex lock; - refcount_t users; - struct callback_head rcu; - struct device *dev; - struct iopf_queue *queue; - struct list_head queue_list; - struct list_head partial; - struct list_head faults; -}; - -struct iommu_flush_ops { - void (*tlb_flush_all)(void *); - void (*tlb_flush_walk)(long unsigned int, size_t, size_t, void *); - void (*tlb_add_page)(struct iommu_iotlb_gather *, long unsigned int, size_t, void *); -}; - -struct iommu_fwspec { - struct fwnode_handle *iommu_fwnode; - u32 flags; - unsigned int num_ids; - u32 ids[0]; -}; - -struct iommu_group { - struct kobject kobj; - struct kobject *devices_kobj; - struct list_head devices; - struct xarray pasid_array; - struct mutex mutex; - void *iommu_data; - void (*iommu_data_release)(void *); - char *name; - int id; - struct iommu_domain *default_domain; - struct iommu_domain *blocking_domain; - struct iommu_domain *domain; - struct list_head entry; - unsigned int owner_cnt; - void *owner; -}; - -struct iommu_group_attribute { - struct attribute attr; - ssize_t (*show)(struct iommu_group *, char *); - ssize_t (*store)(struct iommu_group *, const char *, size_t); -}; - -struct iommu_hw_info_vtd { - __u32 flags; - __u32 __reserved; - __u64 cap_reg; - __u64 ecap_reg; -}; - -struct iommu_hwpt_vtd_s1_invalidate { - __u64 addr; - __u64 npages; - __u32 flags; - __u32 __reserved; -}; - -struct iommu_pages_list { - struct list_head pages; -}; - -struct iommu_iotlb_gather { - long unsigned int start; - long unsigned int end; - size_t pgsize; - struct iommu_pages_list freelist; - bool queued; -}; - -struct iommu_mm_data { - u32 pasid; - struct list_head sva_domains; -}; - -struct iommu_user_data; - -struct iopf_fault; - -struct iommu_page_response; - -struct iommufd_viommu; - -struct iommu_ops { - bool (*capable)(struct device *, enum iommu_cap); - void * (*hw_info)(struct device *, u32 *, enum iommu_hw_info_type *); - struct iommu_domain * (*domain_alloc_identity)(struct device *); - struct iommu_domain * (*domain_alloc_paging_flags)(struct device *, u32, const struct iommu_user_data *); - struct iommu_domain * (*domain_alloc_paging)(struct device *); - struct iommu_domain * (*domain_alloc_sva)(struct device *, struct mm_struct *); - struct iommu_domain * (*domain_alloc_nested)(struct device *, struct iommu_domain *, u32, const struct iommu_user_data *); - struct iommu_device * (*probe_device)(struct device *); - void (*release_device)(struct device *); - void (*probe_finalize)(struct device *); - struct iommu_group * (*device_group)(struct device *); - void (*get_resv_regions)(struct device *, struct list_head *); - int (*of_xlate)(struct device *, const struct of_phandle_args *); - bool (*is_attach_deferred)(struct device *); - void (*page_response)(struct device *, struct iopf_fault *, struct iommu_page_response *); - int (*def_domain_type)(struct device *); - size_t (*get_viommu_size)(struct device *, enum iommu_viommu_type); - int (*viommu_init)(struct iommufd_viommu *, struct iommu_domain *, const struct iommu_user_data *); - const struct iommu_domain_ops *default_domain_ops; - struct module *owner; - struct iommu_domain *identity_domain; - struct iommu_domain *blocked_domain; - struct iommu_domain *release_domain; - struct iommu_domain *default_domain; - u8 user_pasid_table: 1; -}; - -struct iommu_page_response { - u32 pasid; - u32 grpid; - u32 code; -}; - -struct iommu_pmu { - struct intel_iommu *iommu; - u32 num_cntr; - u32 num_eg; - u32 cntr_width; - u32 cntr_stride; - u32 filter; - void *base; - void *cfg_reg; - void *cntr_reg; - void *overflow; - u64 *evcap; - u32 **cntr_evcap; - struct pmu pmu; - long unsigned int used_mask[1]; - struct perf_event *event_list[64]; - unsigned char irq_name[16]; -}; - -struct iommu_resv_region { - struct list_head list; - phys_addr_t start; - size_t length; - int prot; - enum iommu_resv_type type; - void (*free)(struct device *, struct iommu_resv_region *); -}; - -struct iommu_sva { - struct iommu_attach_handle handle; - struct device *dev; - refcount_t users; -}; - -struct iommu_user_data { - unsigned int type; - void *uptr; - size_t len; -}; - -struct iommu_user_data_array { - unsigned int type; - void *uptr; - size_t entry_len; - u32 entry_num; -}; - -struct iommufd_object { - refcount_t wait_cnt; - refcount_t users; - enum iommufd_object_type type; - unsigned int id; -}; - -struct iommufd_ctx; - -struct iommufd_ioas; - -struct iommufd_access_ops; - -struct iommufd_access { - struct iommufd_object obj; - struct iommufd_ctx *ictx; - struct iommufd_ioas *ioas; - struct iommufd_ioas *ioas_unpin; - struct mutex ioas_lock; - const struct iommufd_access_ops *ops; - void *data; - long unsigned int iova_alignment; - u32 iopt_access_list_id; -}; - -struct iommufd_access_ops { - u8 needs_pin_pages: 1; - void (*unmap)(void *, long unsigned int, long unsigned int); -}; - -struct iommufd_ctx { - struct file *file; - struct xarray objects; - struct xarray groups; - wait_queue_head_t destroy_wait; - struct rw_semaphore ioas_creation_lock; - struct maple_tree mt_mmap; - struct mutex sw_msi_lock; - struct list_head sw_msi_list; - unsigned int sw_msi_id; - u8 account_mode; - u8 no_iommu_mode; - struct iommufd_ioas *vfio_ioas; -}; - -struct iommufd_group; - -struct iommufd_vdevice; - -struct iommufd_device { - struct iommufd_object obj; - struct iommufd_ctx *ictx; - struct iommufd_group *igroup; - struct list_head group_item; - struct device *dev; - bool enforce_cache_coherency; - struct iommufd_vdevice *vdev; - bool destroying; -}; - -struct iommufd_eventq { - struct iommufd_object obj; - struct iommufd_ctx *ictx; - struct file *filep; - spinlock_t lock; - struct list_head deliver; - struct wait_queue_head wait_queue; -}; - -struct iommufd_fault { - struct iommufd_eventq common; - struct mutex mutex; - struct xarray response; -}; - -struct iommufd_sw_msi_maps { - long unsigned int bitmap[1]; -}; - -struct iommufd_group { - struct kref ref; - struct mutex lock; - struct iommufd_ctx *ictx; - struct iommu_group *group; - struct xarray pasid_attach; - struct iommufd_sw_msi_maps required_sw_msi; - phys_addr_t sw_msi_start; -}; - -struct iommufd_hw_pagetable { - struct iommufd_object obj; - struct iommu_domain *domain; - struct iommufd_fault *fault; - bool pasid_compat: 1; -}; - -struct iommufd_hw_queue { - struct iommufd_object obj; - struct iommufd_viommu *viommu; - struct iommufd_access *access; - u64 base_addr; - size_t length; - enum iommu_hw_queue_type type; - void (*destroy)(struct iommufd_hw_queue *); -}; - -struct iommufd_hwpt_paging { - struct iommufd_hw_pagetable common; - struct iommufd_ioas *ioas; - bool auto_domain: 1; - bool enforce_cache_coherency: 1; - bool nest_parent: 1; - struct list_head hwpt_item; - struct iommufd_sw_msi_maps present_sw_msi; -}; - -struct iommufd_ioas { - struct iommufd_object obj; - struct io_pagetable iopt; - struct mutex mutex; - struct list_head hwpt_list; -}; - -struct iommufd_mmap { - struct iommufd_object *owner; - long unsigned int vm_pgoff; - phys_addr_t mmio_addr; - size_t length; -}; - -struct iommufd_vdevice { - struct iommufd_object obj; - struct iommufd_viommu *viommu; - struct iommufd_device *idev; - u64 virt_id; - void (*destroy)(struct iommufd_vdevice *); -}; - -struct iommufd_vevent_header { - __u32 flags; - __u32 sequence; -}; - -struct iommufd_vevent { - struct iommufd_vevent_header header; - struct list_head node; - ssize_t data_len; - u64 event_data[0]; -}; - -struct iommufd_veventq { - struct iommufd_eventq common; - struct iommufd_viommu *viommu; - struct list_head node; - struct iommufd_vevent lost_events_header; - enum iommu_veventq_type type; - unsigned int depth; - u32 num_events; - u32 sequence; -}; - -struct iommufd_viommu_ops; - -struct iommufd_viommu { - struct iommufd_object obj; - struct iommufd_ctx *ictx; - struct iommu_device *iommu_dev; - struct iommufd_hwpt_paging *hwpt; - const struct iommufd_viommu_ops *ops; - struct xarray vdevs; - struct list_head veventqs; - struct rw_semaphore veventqs_rwsem; - enum iommu_viommu_type type; -}; - -struct iommufd_viommu_ops { - void (*destroy)(struct iommufd_viommu *); - struct iommu_domain * (*alloc_domain_nested)(struct iommufd_viommu *, u32, const struct iommu_user_data *); - int (*cache_invalidate)(struct iommufd_viommu *, struct iommu_user_data_array *); - const size_t vdevice_size; - int (*vdevice_init)(struct iommufd_vdevice *); - size_t (*get_hw_queue_size)(struct iommufd_viommu *, enum iommu_hw_queue_type); - int (*hw_queue_init_phys)(struct iommufd_hw_queue *, u32, phys_addr_t); -}; - -struct iopf_fault { - struct iommu_fault fault; - struct list_head list; -}; - -struct iopf_group { - struct iopf_fault last_fault; - struct list_head faults; - size_t fault_count; - struct list_head pending_node; - struct work_struct work; - struct iommu_attach_handle *attach_handle; - struct iommu_fault_param *fault_param; - struct list_head node; - u32 cookie; -}; - -struct iopf_queue { - struct workqueue_struct *wq; - struct list_head devices; - struct mutex lock; -}; - -struct ioprio_blkcg { - struct blkcg_policy_data cpd; - enum prio_policy prio_policy; -}; - -struct ioptdesc { - long unsigned int __page_flags; - struct list_head iopt_freelist_elm; - long unsigned int __page_mapping; - long unsigned int __index; - void *_private; - unsigned int __page_type; - atomic_t __page_refcount; - long unsigned int memcg_data; -}; - -struct ioremap_desc { - unsigned int flags; -}; - -struct iova_bitmap_map { - long unsigned int iova; - long unsigned int length; - long unsigned int pgshift; - long unsigned int pgoff; - long unsigned int npages; - struct page **pages; -}; - -struct iova_bitmap { - struct iova_bitmap_map mapped; - u8 *bitmap; - long unsigned int mapped_base_index; - long unsigned int mapped_total_index; - long unsigned int iova; - size_t length; -}; - -struct iova_magazine; - -struct iova_cpu_rcache { - spinlock_t lock; - struct iova_magazine *loaded; - struct iova_magazine *prev; -}; - -struct iova_fq_entry { - long unsigned int iova_pfn; - long unsigned int pages; - struct iommu_pages_list freelist; - u64 counter; -}; - -struct iova_fq { - spinlock_t lock; - unsigned int head; - unsigned int tail; - unsigned int mod_mask; - struct iova_fq_entry entries[0]; -}; - -struct iova_magazine { - union { - long unsigned int size; - struct iova_magazine *next; - }; - long unsigned int pfns[127]; -}; - -struct iova_rcache { - spinlock_t lock; - unsigned int depot_size; - struct iova_magazine *depot; - struct iova_cpu_rcache *cpu_rcaches; - struct iova_domain *iovad; - struct delayed_work work; -}; - -struct ip6_flowlabel { - struct ip6_flowlabel *next; - __be32 label; - atomic_t users; - struct in6_addr dst; - struct ipv6_txoptions *opt; - long unsigned int linger; - struct callback_head rcu; - u8 share; - union { - struct pid *pid; - kuid_t uid; - } owner; - long unsigned int lastuse; - long unsigned int expires; - struct net *fl_net; -}; - -struct ip6_frag_state { - u8 *prevhdr; - unsigned int hlen; - unsigned int mtu; - unsigned int left; - int offset; - int ptr; - int hroom; - int troom; - __be32 frag_id; - u8 nexthdr; -}; - -struct ipv6hdr; - -struct ip6_fraglist_iter { - struct ipv6hdr *tmp_hdr; - struct sk_buff *frag; - int offset; - unsigned int hlen; - __be32 frag_id; - u8 nexthdr; -}; - -struct ip6_mtuinfo { - struct sockaddr_in6 ip6m_addr; - __u32 ip6m_mtu; -}; - -struct ip6_ra_chain { - struct ip6_ra_chain *next; - struct sock *sk; - int sel; - void (*destructor)(struct sock *); -}; - -struct ip6_rt_info { - struct in6_addr daddr; - struct in6_addr saddr; - u_int32_t mark; -}; - -struct ip6_sf_list { - struct ip6_sf_list *sf_next; - struct in6_addr sf_addr; - long unsigned int sf_count[2]; - unsigned char sf_gsresp; - unsigned char sf_oldin; - unsigned char sf_crcount; - struct callback_head rcu; -}; - -struct ip6_sf_socklist { - unsigned int sl_max; - unsigned int sl_count; - struct callback_head rcu; - struct in6_addr sl_addr[0]; -}; - -struct ip_tunnel_encap { - u16 type; - u16 flags; - __be16 sport; - __be16 dport; -}; - -struct ip6_tnl { - struct ip6_tnl *next; - struct net_device *dev; - netdevice_tracker dev_tracker; - struct net *net; - struct __ip6_tnl_parm parms; - struct flowi fl; - struct dst_cache dst_cache; - struct gro_cells gro_cells; - int err_count; - long unsigned int err_time; - __u32 i_seqno; - atomic_t o_seqno; - int hlen; - int tun_hlen; - int encap_hlen; - struct ip_tunnel_encap encap; - int mlink; -}; - -struct ip6_tnl_encap_ops { - size_t (*encap_hlen)(struct ip_tunnel_encap *); - int (*build_header)(struct sk_buff *, struct ip_tunnel_encap *, u8 *, struct flowi6 *); - int (*err_handler)(struct sk_buff *, struct inet6_skb_parm *, u8, u8, int, __be32); -}; - -struct ip6addrlbl_entry { - struct in6_addr prefix; - int prefixlen; - int ifindex; - int addrtype; - u32 label; - struct hlist_node list; - struct callback_head rcu; -}; - -struct ip6addrlbl_init_table { - const struct in6_addr *prefix; - int prefixlen; - u32 label; -}; - -struct ip6fl_iter_state { - struct seq_net_private p; - struct pid_namespace *pid_ns; - int bucket; -}; - -struct mr_table; - -struct ip6mr_result { - struct mr_table *mrt; -}; - -struct ip6rd_flowi { - struct flowi6 fl6; - struct in6_addr gateway; -}; - -struct ip_auth_hdr { - __u8 nexthdr; - __u8 hdrlen; - __be16 reserved; - __be32 spi; - __be32 seq_no; - __u8 auth_data[0]; -}; - -struct ip_beet_phdr { - __u8 nexthdr; - __u8 hdrlen; - __u8 padlen; - __u8 reserved; -}; - -struct ip_conntrack_stat { - unsigned int found; - unsigned int invalid; - unsigned int insert; - unsigned int insert_failed; - unsigned int clash_resolve; - unsigned int drop; - unsigned int early_drop; - unsigned int error; - unsigned int expect_new; - unsigned int expect_create; - unsigned int expect_delete; - unsigned int search_restart; - unsigned int chaintoolong; -}; - -struct ip_ct_sctp { - enum sctp_conntrack state; - __be32 vtag[2]; - u8 init[2]; - u8 last_dir; - u8 flags; -}; - -struct ip_ct_tcp_state { - u_int32_t td_end; - u_int32_t td_maxend; - u_int32_t td_maxwin; - u_int32_t td_maxack; - u_int8_t td_scale; - u_int8_t flags; -}; - -struct ip_ct_tcp { - struct ip_ct_tcp_state seen[2]; - u_int8_t state; - u_int8_t last_dir; - u_int8_t retrans; - u_int8_t last_index; - u_int32_t last_seq; - u_int32_t last_ack; - u_int32_t last_end; - u_int16_t last_win; - u_int8_t last_wscale; - u_int8_t last_flags; -}; - -struct ip_esp_hdr { - __be32 spi; - __be32 seq_no; - __u8 enc_data[0]; -}; - -struct ip_frag_state { - bool DF; - unsigned int hlen; - unsigned int ll_rs; - unsigned int mtu; - unsigned int left; - int offset; - int ptr; - __be16 not_last_frag; -}; - -struct ip_fraglist_iter { - struct sk_buff *frag; - struct iphdr *iph; - int offset; - unsigned int hlen; -}; - -struct ip_sf_list; - -struct ip_mc_list { - struct in_device *interface; - __be32 multiaddr; - unsigned int sfmode; - struct ip_sf_list *sources; - struct ip_sf_list *tomb; - long unsigned int sfcount[2]; - union { - struct ip_mc_list *next; - struct ip_mc_list *next_rcu; - }; - struct ip_mc_list *next_hash; - struct timer_list timer; - int users; - refcount_t refcnt; - spinlock_t lock; - char tm_running; - char reporter; - char unsolicit_count; - char loaded; - unsigned char gsquery; - unsigned char crcount; - long unsigned int mca_cstamp; - long unsigned int mca_tstamp; - struct callback_head rcu; -}; - -struct ip_mreqn { - struct in_addr imr_multiaddr; - struct in_addr imr_address; - int imr_ifindex; -}; - -struct ip_sf_socklist; - -struct ip_mc_socklist { - struct ip_mc_socklist *next_rcu; - struct ip_mreqn multi; - unsigned int sfmode; - struct ip_sf_socklist *sflist; - struct callback_head rcu; -}; - -struct ip_mreq_source { - __be32 imr_multiaddr; - __be32 imr_interface; - __be32 imr_sourceaddr; -}; - -struct ip_msfilter { - __be32 imsf_multiaddr; - __be32 imsf_interface; - __u32 imsf_fmode; - __u32 imsf_numsrc; - union { - __be32 imsf_slist[1]; - struct { - struct {} __empty_imsf_slist_flex; - __be32 imsf_slist_flex[0]; - }; - }; -}; - -struct ip_ra_chain { - struct ip_ra_chain *next; - struct sock *sk; - union { - void (*destructor)(struct sock *); - struct sock *saved_sk; - }; - struct callback_head rcu; -}; - -struct kvec { - void *iov_base; - size_t iov_len; -}; - -struct ip_reply_arg { - struct kvec iov[1]; - int flags; - __wsum csum; - int csumoffset; - int bound_dev_if; - u8 tos; - kuid_t uid; -}; - -struct ip_rt_acct { - __u32 o_bytes; - __u32 o_packets; - __u32 i_bytes; - __u32 i_packets; -}; - -struct ip_rt_info { - __be32 daddr; - __be32 saddr; - u_int8_t tos; - u_int32_t mark; -}; - -struct ip_sf_list { - struct ip_sf_list *sf_next; - long unsigned int sf_count[2]; - __be32 sf_inaddr; - unsigned char sf_gsresp; - unsigned char sf_oldin; - unsigned char sf_crcount; -}; - -struct ip_sf_socklist { - unsigned int sl_max; - unsigned int sl_count; - struct callback_head rcu; - __be32 sl_addr[0]; -}; - -struct ip_tunnel_parm_kern { - char name[16]; - long unsigned int i_flags[1]; - long unsigned int o_flags[1]; - __be32 i_key; - __be32 o_key; - int link; - struct iphdr iph; -}; - -struct ip_tunnel_6rd_parm { - struct in6_addr prefix; - __be32 relay_prefix; - u16 prefixlen; - u16 relay_prefixlen; -}; - -struct ip_tunnel_fan { - struct list_head fan_maps; -}; - -struct ip_tunnel_prl_entry; - -struct ip_tunnel { - struct ip_tunnel *next; - struct hlist_node hash_node; - struct net_device *dev; - netdevice_tracker dev_tracker; - struct net *net; - long unsigned int err_time; - int err_count; - u32 i_seqno; - atomic_t o_seqno; - int tun_hlen; - u32 index; - u8 erspan_ver; - u8 dir; - u16 hwid; - struct dst_cache dst_cache; - struct ip_tunnel_parm_kern parms; - int mlink; - int encap_hlen; - int hlen; - struct ip_tunnel_encap encap; - struct ip_tunnel_6rd_parm ip6rd; - struct ip_tunnel_prl_entry *prl; - unsigned int prl_count; - struct ip_tunnel_fan fan; - unsigned int ip_tnl_net_id; - struct gro_cells gro_cells; - __u32 fwmark; - bool collect_md; - bool ignore_df; -}; - -struct ip_tunnel_encap_ops { - size_t (*encap_hlen)(struct ip_tunnel_encap *); - int (*build_header)(struct sk_buff *, struct ip_tunnel_encap *, u8 *, struct flowi4 *); - int (*err_handler)(struct sk_buff *, u32); -}; - -struct ip_tunnel_key { - __be64 tun_id; - union { - struct { - __be32 src; - __be32 dst; - } ipv4; - struct { - struct in6_addr src; - struct in6_addr dst; - } ipv6; - } u; - long unsigned int tun_flags[1]; - __be32 label; - u32 nhid; - u8 tos; - u8 ttl; - __be16 tp_src; - __be16 tp_dst; - __u8 flow_flags; -}; - -struct ip_tunnel_info { - struct ip_tunnel_key key; - struct ip_tunnel_encap encap; - struct dst_cache dst_cache; - u8 options_len; - u8 mode; - long: 0; - u8 options[0]; -}; - -struct ip_tunnel_prl_entry { - struct ip_tunnel_prl_entry *next; - __be32 addr; - u16 flags; - struct callback_head callback_head; -}; - -struct ipc64_perm { - __kernel_key_t key; - __kernel_uid32_t uid; - __kernel_gid32_t gid; - __kernel_uid32_t cuid; - __kernel_gid32_t cgid; - __kernel_mode_t mode; - unsigned char __pad1[0]; - short unsigned int seq; - short unsigned int __pad2; - __kernel_ulong_t __unused1; - __kernel_ulong_t __unused2; -}; - -struct ipc_ids { - int in_use; - short unsigned int seq; - struct rw_semaphore rwsem; - struct idr ipcs_idr; - int max_idx; - int last_idx; - int next_id; - struct rhashtable key_ht; -}; - -struct ipc_namespace { - struct ipc_ids ids[3]; - int sem_ctls[4]; - int used_sems; - unsigned int msg_ctlmax; - unsigned int msg_ctlmnb; - unsigned int msg_ctlmni; - struct percpu_counter percpu_msg_bytes; - struct percpu_counter percpu_msg_hdrs; - size_t shm_ctlmax; - size_t shm_ctlall; - long unsigned int shm_tot; - int shm_ctlmni; - int shm_rmid_forced; - struct notifier_block ipcns_nb; - struct vfsmount *mq_mnt; - unsigned int mq_queues_count; - unsigned int mq_queues_max; - unsigned int mq_msg_max; - unsigned int mq_msgsize_max; - unsigned int mq_msg_default; - unsigned int mq_msgsize_default; - struct ctl_table_set mq_set; - struct ctl_table_header *mq_sysctls; - struct ctl_table_set ipc_set; - struct ctl_table_header *ipc_sysctls; - struct user_namespace *user_ns; - struct ucounts *ucounts; - struct llist_node mnt_llist; - struct ns_common ns; -}; - -struct ipc_params; - -struct kern_ipc_perm; - -struct ipc_ops { - int (*getnew)(struct ipc_namespace *, struct ipc_params *); - int (*associate)(struct kern_ipc_perm *, int); - int (*more_checks)(struct kern_ipc_perm *, struct ipc_params *); -}; - -struct ipc_params { - key_t key; - int flg; - union { - size_t size; - int nsems; - } u; -}; - -struct ipc_perm { - __kernel_key_t key; - __kernel_uid_t uid; - __kernel_gid_t gid; - __kernel_uid_t cuid; - __kernel_gid_t cgid; - __kernel_mode_t mode; - short unsigned int seq; -}; - -struct ipc_proc_iface { - const char *path; - const char *header; - int ids; - int (*show)(struct seq_file *, void *); -}; - -struct ipc_proc_iter { - struct ipc_namespace *ns; - struct pid_namespace *pid_ns; - struct ipc_proc_iface *iface; -}; - -struct ipc_security_struct { - u16 sclass; - u32 sid; -}; - -struct sockcm_cookie { - u64 transmit_time; - u32 mark; - u32 tsflags; - u32 ts_opt_id; - u32 priority; - u32 dmabuf_id; -}; - -struct ipcm6_cookie { - struct sockcm_cookie sockc; - __s16 hlimit; - __s16 tclass; - __u16 gso_size; - __s8 dontfrag; - struct ipv6_txoptions *opt; -}; - -struct ipcm_cookie { - struct sockcm_cookie sockc; - __be32 addr; - int oif; - struct ip_options_rcu *opt; - __u8 protocol; - __u8 ttl; - __s16 tos; - __u16 gso_size; -}; - -struct ipe_bdev { - bool dm_verity_signed; - struct digest_info *root_hash; -}; - -struct ipe_inode; - -struct ipe_eval_ctx { - enum ipe_op_type op; - enum ipe_hook_type hook; - const struct file *file; - bool initramfs; - const struct ipe_bdev *ipe_bdev; - const struct inode *ino; - const struct ipe_inode *ipe_inode; -}; - -struct ipe_inode { - bool fs_verity_signed; -}; - -struct ipe_op_table { - struct list_head rules; - enum ipe_action_type default_action; -}; - -struct ipe_parsed_policy { - const char *name; - struct { - u16 major; - u16 minor; - u16 rev; - } version; - enum ipe_action_type global_default_action; - struct ipe_op_table rules[7]; -}; - -struct ipe_policy { - const char *pkcs7; - size_t pkcs7len; - const char *text; - size_t textlen; - struct ipe_parsed_policy *parsed; - struct dentry *policyfs; -}; - -struct ipe_prop { - struct list_head next; - enum ipe_prop_type type; - void *value; -}; - -struct ipe_rule { - enum ipe_op_type op; - enum ipe_action_type action; - struct list_head props; - struct list_head next; -}; - -struct ipe_superblock { - bool initramfs; -}; - -struct ipefs_file { - const char *name; - umode_t access; - const struct file_operations *fops; -}; - -struct ipfrag_skb_cb { - union { - struct inet_skb_parm h4; - struct inet6_skb_parm h6; - }; - struct sk_buff *next_frag; - int frag_run_len; - int ip_defrag_offset; -}; - -struct ipmi_dmi_info { - enum si_type si_type; - unsigned int space; - long unsigned int addr; - u8 slave_addr; - struct ipmi_dmi_info *next; -}; - -struct ipmi_plat_data { - enum ipmi_plat_interface_type iftype; - unsigned int type; - unsigned int space; - long unsigned int addr; - unsigned int regspacing; - unsigned int regsize; - unsigned int regshift; - unsigned int irq; - unsigned int slave_addr; - enum ipmi_addr_src addr_source; -}; - -struct ipmr_result { - struct mr_table *mrt; -}; - -struct ipq { - struct inet_frag_queue q; - u8 ecn; - u16 max_df_size; - int iif; - unsigned int rid; - struct inet_peer *peer; -}; - -struct ipstats_mib { - u64 mibs[38]; - struct u64_stats_sync syncp; -}; - -struct ipv6_ac_socklist { - struct in6_addr acl_addr; - int acl_ifindex; - struct ipv6_ac_socklist *acl_next; -}; - -struct udp_table; - -struct ipv6_bpf_stub { - int (*inet6_bind)(struct sock *, struct sockaddr *, int, u32); - struct sock * (*udp6_lib_lookup)(const struct net *, const struct in6_addr *, __be16, const struct in6_addr *, __be16, int, int, struct udp_table *, struct sk_buff *); - int (*ipv6_setsockopt)(struct sock *, int, int, sockptr_t, unsigned int); - int (*ipv6_getsockopt)(struct sock *, int, int, sockptr_t, sockptr_t); - int (*ipv6_dev_get_saddr)(struct net *, const struct net_device *, const struct in6_addr *, unsigned int, struct in6_addr *); -}; - -struct ipv6_destopt_hao { - __u8 type; - __u8 length; - struct in6_addr addr; -} __attribute__((packed)); - -struct ipv6_fl_socklist { - struct ipv6_fl_socklist *next; - struct ip6_flowlabel *fl; - struct callback_head rcu; -}; - -struct ipv6_mc_socklist { - struct in6_addr addr; - int ifindex; - unsigned int sfmode; - struct ipv6_mc_socklist *next; - struct ip6_sf_socklist *sflist; - struct callback_head rcu; -}; - -struct ipv6_mreq { - struct in6_addr ipv6mr_multiaddr; - int ipv6mr_ifindex; -}; - -struct ipv6_params { - __s32 disable_ipv6; - __s32 autoconf; -}; - -struct ipv6_pinfo { - struct in6_addr saddr; - struct in6_pktinfo sticky_pktinfo; - const struct in6_addr *daddr_cache; - const struct in6_addr *saddr_cache; - __be32 flow_label; - __u32 frag_size; - s16 hop_limit; - u8 mcast_hops; - int ucast_oif; - int mcast_oif; - union { - struct { - __u16 srcrt: 1; - __u16 osrcrt: 1; - __u16 rxinfo: 1; - __u16 rxoinfo: 1; - __u16 rxhlim: 1; - __u16 rxohlim: 1; - __u16 hopopts: 1; - __u16 ohopopts: 1; - __u16 dstopts: 1; - __u16 odstopts: 1; - __u16 rxflow: 1; - __u16 rxtclass: 1; - __u16 rxpmtu: 1; - __u16 rxorigdstaddr: 1; - __u16 recvfragsize: 1; - } bits; - __u16 all; - } rxopt; - __u8 srcprefs; - __u8 pmtudisc; - __u8 min_hopcount; - __u8 tclass; - __be32 rcv_flowinfo; - __u32 dst_cookie; - struct ipv6_mc_socklist *ipv6_mc_list; - struct ipv6_ac_socklist *ipv6_ac_list; - struct ipv6_fl_socklist *ipv6_fl_list; - struct ipv6_txoptions *opt; - struct sk_buff *pktoptions; - struct sk_buff *rxpmtu; - struct inet6_cork cork; -}; - -struct ipv6_route_iter { - struct seq_net_private p; - struct fib6_walker w; - loff_t skip; - struct fib6_table *tbl; - int sernum; -}; - -struct ipv6_rpl_sr_hdr { - __u8 nexthdr; - __u8 hdrlen; - __u8 type; - __u8 segments_left; - __u32 cmpre: 4; - __u32 cmpri: 4; - __u32 reserved: 4; - __u32 pad: 4; - __u32 reserved1: 16; - union { - struct { - struct {} __empty_addr; - struct in6_addr addr[0]; - }; - struct { - struct {} __empty_data; - __u8 data[0]; - }; - } segments; -}; - -struct ipv6_rt_hdr { - __u8 nexthdr; - __u8 hdrlen; - __u8 type; - __u8 segments_left; -}; - -struct ipv6_saddr_dst { - const struct in6_addr *addr; - int ifindex; - int scope; - int label; - unsigned int prefs; -}; - -struct ipv6_saddr_score { - int rule; - int addr_type; - struct inet6_ifaddr *ifa; - long unsigned int scorebits[1]; - int scopedist; - int matchlen; -}; - -struct ipv6_sr_hdr { - __u8 nexthdr; - __u8 hdrlen; - __u8 type; - __u8 segments_left; - __u8 first_segment; - __u8 flags; - __u16 tag; - struct in6_addr segments[0]; -}; - -struct neigh_table; - -struct ipv6_stub { - int (*ipv6_sock_mc_join)(struct sock *, int, const struct in6_addr *); - int (*ipv6_sock_mc_drop)(struct sock *, int, const struct in6_addr *); - struct dst_entry * (*ipv6_dst_lookup_flow)(struct net *, const struct sock *, struct flowi6 *, const struct in6_addr *); - int (*ipv6_route_input)(struct sk_buff *); - struct fib6_table * (*fib6_get_table)(struct net *, u32); - int (*fib6_lookup)(struct net *, int, struct flowi6 *, struct fib6_result *, int); - int (*fib6_table_lookup)(struct net *, struct fib6_table *, int, struct flowi6 *, struct fib6_result *, int); - void (*fib6_select_path)(const struct net *, struct fib6_result *, struct flowi6 *, int, bool, const struct sk_buff *, int); - u32 (*ip6_mtu_from_fib6)(const struct fib6_result *, const struct in6_addr *, const struct in6_addr *); - int (*fib6_nh_init)(struct net *, struct fib6_nh *, struct fib6_config *, gfp_t, struct netlink_ext_ack *); - void (*fib6_nh_release)(struct fib6_nh *); - void (*fib6_nh_release_dsts)(struct fib6_nh *); - void (*fib6_update_sernum)(struct net *, struct fib6_info *); - int (*ip6_del_rt)(struct net *, struct fib6_info *, bool); - void (*fib6_rt_update)(struct net *, struct fib6_info *, struct nl_info *); - void (*udpv6_encap_enable)(void); - void (*ndisc_send_na)(struct net_device *, const struct in6_addr *, const struct in6_addr *, bool, bool, bool, bool); - void (*xfrm6_local_rxpmtu)(struct sk_buff *, u32); - int (*xfrm6_udp_encap_rcv)(struct sock *, struct sk_buff *); - struct sk_buff * (*xfrm6_gro_udp_encap_rcv)(struct sock *, struct list_head *, struct sk_buff *); - int (*xfrm6_rcv_encap)(struct sk_buff *, int, __be32, int); - struct neigh_table *nd_tbl; - int (*ipv6_fragment)(struct net *, struct sock *, struct sk_buff *, int (*)(struct net *, struct sock *, struct sk_buff *)); - struct net_device * (*ipv6_dev_find)(struct net *, const struct in6_addr *, struct net_device *); - int (*ip6_xmit)(const struct sock *, struct sk_buff *, struct flowi6 *, __u32, struct ipv6_txoptions *, int, u32); -}; - -struct ipv6_txoptions { - refcount_t refcnt; - int tot_len; - __u16 opt_flen; - __u16 opt_nflen; - struct ipv6_opt_hdr *hopopt; - struct ipv6_opt_hdr *dst0opt; - struct ipv6_rt_hdr *srcrt; - struct ipv6_opt_hdr *dst1opt; - struct callback_head rcu; -}; - -struct ipv6hdr { - __u8 priority: 4; - __u8 version: 4; - __u8 flow_lbl[3]; - __be16 payload_len; - __u8 nexthdr; - __u8 hop_limit; - union { - struct { - struct in6_addr saddr; - struct in6_addr daddr; - }; - struct { - struct in6_addr saddr; - struct in6_addr daddr; - } addrs; - }; -}; - -struct ir_table { - struct irte *base; - long unsigned int *bitmap; -}; - -struct irq_affinity { - unsigned int pre_vectors; - unsigned int post_vectors; - unsigned int nr_sets; - unsigned int set_size[4]; - void (*calc_sets)(struct irq_affinity *, unsigned int); - void *priv; -}; - -struct irq_affinity_desc { - struct cpumask mask; - unsigned int is_managed: 1; -}; - -struct irq_affinity_devres { - unsigned int count; - unsigned int irq[0]; -}; - -struct irq_chip { - const char *name; - unsigned int (*irq_startup)(struct irq_data *); - void (*irq_shutdown)(struct irq_data *); - void (*irq_enable)(struct irq_data *); - void (*irq_disable)(struct irq_data *); - void (*irq_ack)(struct irq_data *); - void (*irq_mask)(struct irq_data *); - void (*irq_mask_ack)(struct irq_data *); - void (*irq_unmask)(struct irq_data *); - void (*irq_eoi)(struct irq_data *); - int (*irq_set_affinity)(struct irq_data *, const struct cpumask *, bool); - int (*irq_retrigger)(struct irq_data *); - int (*irq_set_type)(struct irq_data *, unsigned int); - int (*irq_set_wake)(struct irq_data *, unsigned int); - void (*irq_bus_lock)(struct irq_data *); - void (*irq_bus_sync_unlock)(struct irq_data *); - void (*irq_suspend)(struct irq_data *); - void (*irq_resume)(struct irq_data *); - void (*irq_pm_shutdown)(struct irq_data *); - void (*irq_calc_mask)(struct irq_data *); - void (*irq_print_chip)(struct irq_data *, struct seq_file *); - int (*irq_request_resources)(struct irq_data *); - void (*irq_release_resources)(struct irq_data *); - void (*irq_compose_msi_msg)(struct irq_data *, struct msi_msg *); - void (*irq_write_msi_msg)(struct irq_data *, struct msi_msg *); - int (*irq_get_irqchip_state)(struct irq_data *, enum irqchip_irq_state, bool *); - int (*irq_set_irqchip_state)(struct irq_data *, enum irqchip_irq_state, bool); - int (*irq_set_vcpu_affinity)(struct irq_data *, void *); - void (*ipi_send_single)(struct irq_data *, unsigned int); - void (*ipi_send_mask)(struct irq_data *, const struct cpumask *); - int (*irq_nmi_setup)(struct irq_data *); - void (*irq_nmi_teardown)(struct irq_data *); - void (*irq_force_complete_move)(struct irq_data *); - long unsigned int flags; -}; - -struct irq_chip_regs { - long unsigned int enable; - long unsigned int disable; - long unsigned int mask; - long unsigned int ack; - long unsigned int eoi; - long unsigned int type; -}; - -struct irq_chip_type { - struct irq_chip chip; - struct irq_chip_regs regs; - irq_flow_handler_t handler; - u32 type; - u32 mask_cache_priv; - u32 *mask_cache; -}; - -struct irq_chip_generic { - raw_spinlock_t lock; - void *reg_base; - u32 (*reg_readl)(void *); - void (*reg_writel)(u32, void *); - void (*suspend)(struct irq_chip_generic *); - void (*resume)(struct irq_chip_generic *); - unsigned int irq_base; - unsigned int irq_cnt; - u32 mask_cache; - u32 wake_enabled; - u32 wake_active; - unsigned int num_ct; - void *private; - long unsigned int installed; - long unsigned int unused; - struct irq_domain *domain; - struct list_head list; - struct irq_chip_type chip_types[0]; -}; - -struct irq_common_data { - unsigned int state_use_accessors; - unsigned int node; - void *handler_data; - struct msi_desc *msi_desc; - cpumask_var_t affinity; - cpumask_var_t effective_affinity; -}; - -struct irq_data { - u32 mask; - unsigned int irq; - irq_hw_number_t hwirq; - struct irq_common_data *common; - struct irq_chip *chip; - struct irq_domain *domain; - struct irq_data *parent_data; - void *chip_data; -}; - -struct irqstat; - -struct irqaction; - -struct irq_desc { - struct irq_common_data irq_common_data; - struct irq_data irq_data; - struct irqstat *kstat_irqs; - irq_flow_handler_t handle_irq; - struct irqaction *action; - unsigned int status_use_accessors; - unsigned int core_internal_state__do_not_mess_with_it; - unsigned int depth; - unsigned int wake_depth; - unsigned int tot_count; - unsigned int irq_count; - long unsigned int last_unhandled; - unsigned int irqs_unhandled; - atomic_t threads_handled; - int threads_handled_last; - raw_spinlock_t lock; - struct cpumask *percpu_enabled; - const struct cpumask *percpu_affinity; - const struct cpumask *affinity_hint; - struct irq_affinity_notify *affinity_notify; - cpumask_var_t pending_mask; - long unsigned int threads_oneshot; - atomic_t threads_active; - wait_queue_head_t wait_for_threads; - unsigned int nr_actions; - unsigned int no_suspend_depth; - unsigned int cond_suspend_depth; - unsigned int force_resume_depth; - struct proc_dir_entry *dir; - struct callback_head rcu; - struct kobject kobj; - struct mutex request_mutex; - int parent_irq; - struct module *owner; - const char *name; - struct hlist_node resend_node; - long: 64; - long: 64; - long: 64; -}; - -typedef struct irq_desc *vector_irq_t[256]; - -struct irq_desc_devres { - unsigned int from; - unsigned int cnt; -}; - -struct irq_devres { - unsigned int irq; - void *dev_id; -}; - -struct irq_domain_chip_generic; - -struct msi_parent_ops; - -struct irq_domain { - struct list_head link; - const char *name; - const struct irq_domain_ops *ops; - void *host_data; - unsigned int flags; - unsigned int mapcount; - struct mutex mutex; - struct irq_domain *root; - struct fwnode_handle *fwnode; - enum irq_domain_bus_token bus_token; - struct irq_domain_chip_generic *gc; - struct device *dev; - struct device *pm_dev; - struct irq_domain *parent; - const struct msi_parent_ops *msi_parent_ops; - void (*exit)(struct irq_domain *); - irq_hw_number_t hwirq_max; - unsigned int revmap_size; - struct xarray revmap_tree; - struct irq_data *revmap[0]; -}; - -struct irq_domain_chip_generic { - unsigned int irqs_per_chip; - unsigned int num_chips; - unsigned int irq_flags_to_clear; - unsigned int irq_flags_to_set; - enum irq_gc_flags gc_flags; - void (*exit)(struct irq_chip_generic *); - struct irq_chip_generic *gc[0]; -}; - -struct irq_domain_chip_generic_info { - const char *name; - irq_flow_handler_t handler; - unsigned int irqs_per_chip; - unsigned int num_ct; - unsigned int irq_flags_to_clear; - unsigned int irq_flags_to_set; - enum irq_gc_flags gc_flags; - int (*init)(struct irq_chip_generic *); - void (*exit)(struct irq_chip_generic *); -}; - -struct irq_domain_info { - struct fwnode_handle *fwnode; - unsigned int domain_flags; - unsigned int size; - irq_hw_number_t hwirq_max; - int direct_max; - unsigned int hwirq_base; - unsigned int virq_base; - enum irq_domain_bus_token bus_token; - const char *name_suffix; - const struct irq_domain_ops *ops; - void *host_data; - struct device *dev; - struct irq_domain *parent; - struct irq_domain_chip_generic_info *dgc_info; - int (*init)(struct irq_domain *); - void (*exit)(struct irq_domain *); -}; - -struct irq_generic_chip_devres { - struct irq_chip_generic *gc; - u32 msk; - unsigned int clr; - unsigned int set; -}; - -struct irq_glue { - struct irq_affinity_notify notify; - struct cpu_rmap *rmap; - u16 index; -}; - -struct irq_info { - u8 bus; - u8 devfn; - struct { - u8 link; - u16 bitmap; - } __attribute__((packed)) irq[4]; - u8 slot; - u8 rfu; -}; - -struct irq_info___2 { - struct list_head list; - struct list_head eoi_list; - struct rcu_work rwork; - short int refcnt; - u8 spurious_cnt; - u8 is_accounted; - short int type; - u8 mask_reason; - u8 is_active; - unsigned int irq; - evtchn_port_t evtchn; - short unsigned int cpu; - short unsigned int eoi_cpu; - unsigned int irq_epoch; - u64 eoi_time; - raw_spinlock_t lock; - bool is_static; - union { - short unsigned int virq; - enum ipi_vector ipi; - struct { - short unsigned int pirq; - short unsigned int gsi; - unsigned char vector; - unsigned char flags; - uint16_t domid; - } pirq; - struct xenbus_device *interdomain; - } u; -}; - -struct irq_info___3 { - struct hlist_node node; - int irq; - spinlock_t lock; - struct list_head *head; -}; - -struct irq_matrix { - unsigned int matrix_bits; - unsigned int alloc_start; - unsigned int alloc_end; - unsigned int alloc_size; - unsigned int global_available; - unsigned int global_reserved; - unsigned int systembits_inalloc; - unsigned int total_allocated; - unsigned int online_maps; - struct cpumap *maps; - long unsigned int *system_map; - long unsigned int scratch_map[0]; -}; - -struct irq_override_cmp { - const struct dmi_system_id *system; - unsigned char irq; - unsigned char triggering; - unsigned char polarity; - unsigned char shareable; - bool override; -}; - -struct irq_pin_list { - struct list_head list; - int apic; - int pin; -}; - -struct irq_remap_ops { - int capability; - int (*prepare)(void); - int (*enable)(void); - void (*disable)(void); - int (*reenable)(int); - int (*enable_faulting)(unsigned int); -}; - -struct irq_remap_table { - raw_spinlock_t lock; - unsigned int min_index; - u32 *table; -}; - -struct irq_router { - char *name; - u16 vendor; - u16 device; - int (*get)(struct pci_dev *, struct pci_dev *, int); - int (*set)(struct pci_dev *, struct pci_dev *, int, int); - int (*lvl)(struct pci_dev *, struct pci_dev *, int, int); -}; - -struct irq_router_handler { - u16 vendor; - int (*probe)(struct irq_router *, struct pci_dev *, u16); -}; - -struct irq_routing_table { - u32 signature; - u16 version; - u16 size; - u8 rtr_bus; - u8 rtr_devfn; - u16 exclusive_irqs; - u16 rtr_vendor; - u16 rtr_device; - u32 miniport_data; - u8 rfu[11]; - u8 checksum; - struct irq_info slots[0]; -}; - -struct irq_sim_work_ctx; - -struct irq_sim_irq_ctx { - bool enabled; - struct irq_sim_work_ctx *work_ctx; -}; - -struct irq_sim_ops { - int (*irq_sim_irq_requested)(struct irq_domain *, irq_hw_number_t, void *); - void (*irq_sim_irq_released)(struct irq_domain *, irq_hw_number_t, void *); -}; - -struct irq_sim_work_ctx { - struct irq_work work; - unsigned int irq_count; - long unsigned int *pending; - struct irq_domain *domain; - struct irq_sim_ops ops; - void *user_data; -}; - -struct irq_stack { - char stack[16384]; -}; - -struct irqaction { - irq_handler_t handler; - void *dev_id; - void *percpu_dev_id; - struct irqaction *next; - irq_handler_t thread_fn; - struct task_struct *thread; - struct irqaction *secondary; - unsigned int irq; - unsigned int flags; - long unsigned int thread_flags; - long unsigned int thread_mask; - const char *name; - struct proc_dir_entry *dir; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct irqchip_fwid { - struct fwnode_handle fwnode; - unsigned int type; - char *name; - phys_addr_t *pa; -}; - -struct irqentry_state { - union { - bool exit_rcu; - bool lockdep; - }; -}; - -typedef struct irqentry_state irqentry_state_t; - -struct irqstat { - unsigned int cnt; -}; - -struct irt_routing_table { - u32 signature; - u8 size; - u8 used; - u16 exclusive_irqs; - struct irq_info slots[0]; -}; - -union irte___2 { - u32 val; - struct { - u32 valid: 1; - u32 no_fault: 1; - u32 int_type: 3; - u32 rq_eoi: 1; - u32 dm: 1; - u32 rsvd_1: 1; - u32 destination: 8; - u32 vector: 8; - u32 rsvd_2: 8; - } fields; -}; - -union irte_ga_lo { - u64 val; - struct { - u64 valid: 1; - u64 no_fault: 1; - u64 int_type: 3; - u64 rq_eoi: 1; - u64 dm: 1; - u64 guest_mode: 1; - u64 destination: 24; - u64 ga_tag: 32; - } fields_remap; - struct { - u64 valid: 1; - u64 no_fault: 1; - u64 ga_log_intr: 1; - u64 rsvd1: 3; - u64 is_run: 1; - u64 guest_mode: 1; - u64 destination: 24; - u64 ga_tag: 32; - } fields_vapic; -}; - -union irte_ga_hi { - u64 val; - struct { - u64 vector: 8; - u64 rsvd_1: 4; - u64 ga_root_ptr: 40; - u64 rsvd_2: 4; - u64 destination: 8; - } fields; -}; - -struct irte_ga { - union { - struct { - union irte_ga_lo lo; - union irte_ga_hi hi; - }; - u128 irte; - }; -}; - -struct isa_dev { - struct device dev; - struct device *next; - unsigned int id; -}; - -struct isa_driver { - int (*match)(struct device *, unsigned int); - int (*probe)(struct device *, unsigned int); - void (*remove)(struct device *, unsigned int); - void (*shutdown)(struct device *, unsigned int); - int (*suspend)(struct device *, unsigned int, pm_message_t); - int (*resume)(struct device *, unsigned int); - struct device_driver driver; - struct device *devices; -}; - -struct isoch_data { - u32 maxbw; - u32 n; - u32 y; - u32 l; - u32 rq; - struct agp_3_5_dev *dev; -}; - -struct itimerspec64 { - struct timespec64 it_interval; - struct timespec64 it_value; -}; - -struct its_array { - void **pages; - int num; -}; - -struct ivhd_dte_flags { - struct list_head list; - u16 segid; - u16 devid_first; - u16 devid_last; - long: 64; - struct dev_table_entry dte; -}; - -struct ivhd_entry { - u8 type; - u16 devid; - u8 flags; - union { - struct { - u32 ext; - u32 hidh; - }; - struct { - u32 ext; - u32 hidh; - } ext_hid; - }; - u64 cid; - u8 uidf; - u8 uidl; - u8 uid; -} __attribute__((packed)); - -struct ivhd_header { - u8 type; - u8 flags; - u16 length; - u16 devid; - u16 cap_ptr; - u64 mmio_phys; - u16 pci_seg; - u16 info; - u32 efr_attr; - u64 efr_reg; - u64 efr_reg2; -}; - -struct ivmd_header { - u8 type; - u8 flags; - u16 length; - u16 devid; - u16 aux; - u16 pci_seg; - u8 resv[6]; - u64 range_start; - u64 range_length; -}; - -struct ivrs_quirk_entry { - u8 id; - u32 devid; -}; - -struct iw_discarded { - __u32 nwid; - __u32 code; - __u32 fragment; - __u32 retries; - __u32 misc; -}; - -struct iw_encode_ext { - __u32 ext_flags; - __u8 tx_seq[8]; - __u8 rx_seq[8]; - struct sockaddr addr; - __u16 alg; - __u16 key_len; - __u8 key[0]; -}; - -struct iw_point { - void *pointer; - __u16 length; - __u16 flags; -}; - -struct iw_param { - __s32 value; - __u8 fixed; - __u8 disabled; - __u16 flags; -}; - -struct iw_freq { - __s32 m; - __s16 e; - __u8 i; - __u8 flags; -}; - -struct iw_quality { - __u8 qual; - __u8 level; - __u8 noise; - __u8 updated; -}; - -union iwreq_data { - char name[16]; - struct iw_point essid; - struct iw_param nwid; - struct iw_freq freq; - struct iw_param sens; - struct iw_param bitrate; - struct iw_param txpower; - struct iw_param rts; - struct iw_param frag; - __u32 mode; - struct iw_param retry; - struct iw_point encoding; - struct iw_param power; - struct iw_quality qual; - struct sockaddr ap_addr; - struct sockaddr addr; - struct iw_param param; - struct iw_point data; -}; - -struct iw_event { - __u16 len; - __u16 cmd; - union iwreq_data u; -}; - -struct iw_request_info; - -typedef int (*iw_handler)(struct net_device *, struct iw_request_info *, union iwreq_data *, char *); - -struct iw_priv_args; - -struct iw_statistics; - -struct iw_handler_def { - const iw_handler *standard; - __u16 num_standard; - __u16 num_private; - __u16 num_private_args; - const iw_handler *private; - const struct iw_priv_args *private_args; - struct iw_statistics * (*get_wireless_stats)(struct net_device *); -}; - -struct iw_ioctl_description { - __u8 header_type; - __u8 flags; - __u16 token_size; - __u16 min_tokens; - __u16 max_tokens; -}; - -struct iw_missed { - __u32 beacon; -}; - -struct kobj_attribute { - struct attribute attr; - ssize_t (*show)(struct kobject *, struct kobj_attribute *, char *); - ssize_t (*store)(struct kobject *, struct kobj_attribute *, const char *, size_t); -}; - -struct iw_node_attr { - struct kobj_attribute kobj_attr; - int nid; -}; - -struct iw_priv_args { - __u32 cmd; - __u16 set_args; - __u16 get_args; - char name[16]; -}; - -struct iw_request_info { - __u16 cmd; - __u16 flags; -}; - -struct iw_statistics { - __u16 status; - struct iw_quality qual; - struct iw_discarded discard; - struct iw_missed miss; -}; - -struct iwreq { - union { - char ifrn_name[16]; - } ifr_ifrn; - union iwreq_data u; -}; - -struct jailhouse_setup_data { - struct { - __u16 version; - __u16 compatible_version; - } hdr; - struct { - __u16 pm_timer_address; - __u16 num_cpus; - __u64 pci_mmconfig_base; - __u32 tsc_khz; - __u32 apic_khz; - __u8 standard_ioapic; - __u8 cpu_ids[255]; - } __attribute__((packed)) v1; - struct { - __u32 flags; - } v2; -}; - -struct transaction_s; - -typedef struct transaction_s transaction_t; - -struct jbd2_inode { - transaction_t *i_transaction; - transaction_t *i_next_transaction; - struct list_head i_list; - struct inode *i_vfs_inode; - long unsigned int i_flags; - loff_t i_dirty_start; - loff_t i_dirty_end; -}; - -struct jbd2_journal_block_tail { - __be32 t_checksum; -}; - -typedef struct journal_s journal_t; - -struct jbd2_journal_handle { - union { - transaction_t *h_transaction; - journal_t *h_journal; - }; - handle_t *h_rsv_handle; - int h_total_credits; - int h_revoke_credits; - int h_revoke_credits_requested; - int h_ref; - int h_err; - unsigned int h_sync: 1; - unsigned int h_reserved: 1; - unsigned int h_aborted: 1; - unsigned int h_type: 8; - unsigned int h_line_no: 16; - long unsigned int h_start_jiffies; - unsigned int h_requested_credits; - unsigned int saved_alloc_context; -}; - -struct journal_header_s { - __be32 h_magic; - __be32 h_blocktype; - __be32 h_sequence; -}; - -typedef struct journal_header_s journal_header_t; - -struct jbd2_journal_revoke_header_s { - journal_header_t r_header; - __be32 r_count; -}; - -typedef struct jbd2_journal_revoke_header_s jbd2_journal_revoke_header_t; - -struct jbd2_revoke_record_s { - struct list_head hash; - tid_t sequence; - long long unsigned int blocknr; -}; - -struct jbd2_revoke_table_s { - int hash_size; - int hash_shift; - struct list_head *hash_table; -}; - -struct transaction_stats_s; - -struct jbd2_stats_proc_session { - journal_t *journal; - struct transaction_stats_s *stats; - int start; - int max; -}; - -struct jit_context { - int cleanup_addr; - int tail_call_direct_label; - int tail_call_indirect_label; -}; - -struct rand_data; - -struct jitterentropy { - spinlock_t jent_lock; - struct rand_data *entropy_collector; - struct crypto_shash *tfm; - struct shash_desc *sdesc; -}; - -struct join_entry { - u32 token; - u32 remote_nonce; - u32 local_nonce; - u8 join_id; - u8 local_id; - u8 backup; - u8 valid; -}; - -struct journal_block_tag3_s { - __be32 t_blocknr; - __be32 t_flags; - __be32 t_blocknr_high; - __be32 t_checksum; -}; - -typedef struct journal_block_tag3_s journal_block_tag3_t; - -struct journal_block_tag_s { - __be32 t_blocknr; - __be16 t_checksum; - __be16 t_flags; - __be32 t_blocknr_high; -}; - -typedef struct journal_block_tag_s journal_block_tag_t; - -struct journal_head { - struct buffer_head *b_bh; - spinlock_t b_state_lock; - int b_jcount; - unsigned int b_jlist; - unsigned int b_modified; - char *b_frozen_data; - char *b_committed_data; - transaction_t *b_transaction; - transaction_t *b_next_transaction; - struct journal_head *b_tnext; - struct journal_head *b_tprev; - transaction_t *b_cp_transaction; - struct journal_head *b_cpnext; - struct journal_head *b_cpprev; - struct jbd2_buffer_trigger_type *b_triggers; - struct jbd2_buffer_trigger_type *b_frozen_triggers; -}; - -struct transaction_run_stats_s { - long unsigned int rs_wait; - long unsigned int rs_request_delay; - long unsigned int rs_running; - long unsigned int rs_locked; - long unsigned int rs_flushing; - long unsigned int rs_logging; - __u32 rs_handle_count; - __u32 rs_blocks; - __u32 rs_blocks_logged; -}; - -struct transaction_stats_s { - long unsigned int ts_tid; - long unsigned int ts_requested; - struct transaction_run_stats_s run; -}; - -struct journal_superblock_s; - -typedef struct journal_superblock_s journal_superblock_t; - -struct journal_s { - long unsigned int j_flags; - int j_errno; - struct mutex j_abort_mutex; - struct buffer_head *j_sb_buffer; - journal_superblock_t *j_superblock; - rwlock_t j_state_lock; - int j_barrier_count; - struct mutex j_barrier; - transaction_t *j_running_transaction; - transaction_t *j_committing_transaction; - transaction_t *j_checkpoint_transactions; - wait_queue_head_t j_wait_transaction_locked; - wait_queue_head_t j_wait_done_commit; - wait_queue_head_t j_wait_commit; - wait_queue_head_t j_wait_updates; - wait_queue_head_t j_wait_reserved; - wait_queue_head_t j_fc_wait; - struct mutex j_checkpoint_mutex; - struct buffer_head *j_chkpt_bhs[64]; - struct shrinker *j_shrinker; - struct percpu_counter j_checkpoint_jh_count; - transaction_t *j_shrink_transaction; - long unsigned int j_head; - long unsigned int j_tail; - long unsigned int j_free; - long unsigned int j_first; - long unsigned int j_last; - long unsigned int j_fc_first; - long unsigned int j_fc_off; - long unsigned int j_fc_last; - struct block_device *j_dev; - int j_blocksize; - long long unsigned int j_blk_offset; - char j_devname[56]; - struct block_device *j_fs_dev; - errseq_t j_fs_dev_wb_err; - unsigned int j_total_len; - atomic_t j_reserved_credits; - spinlock_t j_list_lock; - struct inode *j_inode; - tid_t j_tail_sequence; - tid_t j_transaction_sequence; - tid_t j_commit_sequence; - tid_t j_commit_request; - __u8 j_uuid[16]; - struct task_struct *j_task; - int j_max_transaction_buffers; - int j_revoke_records_per_block; - int j_transaction_overhead_buffers; - long unsigned int j_commit_interval; - struct timer_list j_commit_timer; - spinlock_t j_revoke_lock; - struct jbd2_revoke_table_s *j_revoke; - struct jbd2_revoke_table_s *j_revoke_table[2]; - struct buffer_head **j_wbuf; - struct buffer_head **j_fc_wbuf; - int j_wbufsize; - int j_fc_wbufsize; - pid_t j_last_sync_writer; - u64 j_average_commit_time; - u32 j_min_batch_time; - u32 j_max_batch_time; - void (*j_commit_callback)(journal_t *, transaction_t *); - int (*j_submit_inode_data_buffers)(struct jbd2_inode *); - int (*j_finish_inode_data_buffers)(struct jbd2_inode *); - spinlock_t j_history_lock; - struct proc_dir_entry *j_proc_entry; - struct transaction_stats_s j_stats; - unsigned int j_failed_commit; - void *j_private; - __u32 j_csum_seed; - struct lock_class_key jbd2_trans_commit_key; - void (*j_fc_cleanup_callback)(struct journal_s *, int, tid_t); - int (*j_fc_replay_callback)(struct journal_s *, struct buffer_head *, enum passtype, int, tid_t); - int (*j_bmap)(struct journal_s *, sector_t *); -}; - -struct journal_superblock_s { - journal_header_t s_header; - __be32 s_blocksize; - __be32 s_maxlen; - __be32 s_first; - __be32 s_sequence; - __be32 s_start; - __be32 s_errno; - __be32 s_feature_compat; - __be32 s_feature_incompat; - __be32 s_feature_ro_compat; - __u8 s_uuid[16]; - __be32 s_nr_users; - __be32 s_dynsuper; - __be32 s_max_transaction; - __be32 s_max_trans_data; - __u8 s_checksum_type; - __u8 s_padding2[3]; - __be32 s_num_fc_blks; - __be32 s_head; - __u32 s_padding[40]; - __be32 s_checksum; - __u8 s_users[768]; -}; - -struct jump_entry { - s32 code; - s32 target; - long int key; -}; - -struct jump_label_patch { - const void *code; - int size; -}; - -struct k_itimer; - -struct k_clock { - int (*clock_getres)(const clockid_t, struct timespec64 *); - int (*clock_set)(const clockid_t, const struct timespec64 *); - int (*clock_get_timespec)(const clockid_t, struct timespec64 *); - ktime_t (*clock_get_ktime)(const clockid_t); - int (*clock_adj)(const clockid_t, struct __kernel_timex *); - int (*timer_create)(struct k_itimer *); - int (*nsleep)(const clockid_t, int, const struct timespec64 *); - int (*timer_set)(struct k_itimer *, int, struct itimerspec64 *, struct itimerspec64 *); - int (*timer_del)(struct k_itimer *); - void (*timer_get)(struct k_itimer *, struct itimerspec64 *); - void (*timer_rearm)(struct k_itimer *); - s64 (*timer_forward)(struct k_itimer *, ktime_t); - ktime_t (*timer_remaining)(struct k_itimer *, ktime_t); - int (*timer_try_to_cancel)(struct k_itimer *); - void (*timer_arm)(struct k_itimer *, ktime_t, bool, bool); - void (*timer_wait_running)(struct k_itimer *); -}; - -typedef struct k_itimer *class_lock_timer_t; - -struct kernel_siginfo { - struct { - int si_signo; - int si_errno; - int si_code; - union __sifields _sifields; - }; -}; - -struct sigqueue { - struct list_head list; - int flags; - kernel_siginfo_t info; - struct ucounts *ucounts; -}; - -struct signal_struct; - -struct k_itimer { - struct hlist_node t_hash; - struct hlist_node list; - timer_t it_id; - clockid_t it_clock; - int it_sigev_notify; - enum pid_type it_pid_type; - struct signal_struct *it_signal; - const struct k_clock *kclock; - spinlock_t it_lock; - int it_status; - bool it_sig_periodic; - s64 it_overrun; - s64 it_overrun_last; - unsigned int it_signal_seq; - unsigned int it_sigqueue_seq; - ktime_t it_interval; - struct hlist_node ignored_list; - union { - struct pid *it_pid; - struct task_struct *it_process; - }; - struct sigqueue sigq; - rcuref_t rcuref; - union { - struct { - struct hrtimer timer; - } real; - struct cpu_timer cpu; - struct { - struct alarm alarmtimer; - } alarm; - } it; - struct callback_head rcu; - long: 64; - long: 64; - long: 64; -}; - -typedef void __signalfn_t(int); - -typedef __signalfn_t *__sighandler_t; - -typedef void __restorefn_t(void); - -typedef __restorefn_t *__sigrestore_t; - -struct sigaction { - __sighandler_t sa_handler; - long unsigned int sa_flags; - __sigrestore_t sa_restorer; - sigset_t sa_mask; -}; - -struct k_sigaction { - struct sigaction sa; -}; - -struct kallsym_iter { - loff_t pos; - loff_t pos_mod_end; - loff_t pos_ftrace_mod_end; - loff_t pos_bpf_end; - long unsigned int value; - unsigned int nameoff; - char type; - char name[512]; - char module_name[56]; - int exported; - int show_value; -}; - -struct kallsyms_data { - long unsigned int *addrs; - const char **syms; - size_t cnt; - size_t found; -}; - -struct karatsuba_ctx { - struct karatsuba_ctx *next; - mpi_ptr_t tspace; - mpi_size_t tspace_size; - mpi_ptr_t tp; - mpi_size_t tp_size; -}; - -struct kaslr_memory_region { - long unsigned int *base; - long unsigned int *end; - long unsigned int size_tb; -}; - -struct led_classdev; - -struct led_hw_trigger_type; - -struct led_trigger { - const char *name; - int (*activate)(struct led_classdev *); - void (*deactivate)(struct led_classdev *); - enum led_brightness brightness; - struct led_hw_trigger_type *trigger_type; - spinlock_t leddev_list_lock; - struct list_head led_cdevs; - struct list_head next_trig; - const struct attribute_group **groups; -}; - -struct kbd_led_trigger { - struct led_trigger trigger; - unsigned int mask; -}; - -struct kbd_repeat { - int delay; - int period; -}; - -struct kbd_struct { - unsigned char lockstate; - unsigned char slockstate; - unsigned char ledmode: 1; - unsigned char ledflagstate: 4; - char: 3; - unsigned char default_ledflagstate: 4; - unsigned char kbdmode: 3; - int: 1; - unsigned char modeflags: 5; -}; - -struct kbdiacr { - unsigned char diacr; - unsigned char base; - unsigned char result; -}; - -struct kbdiacrs { - unsigned int kb_cnt; - struct kbdiacr kbdiacr[256]; -}; - -struct kbdiacruc { - unsigned int diacr; - unsigned int base; - unsigned int result; -}; - -struct kbdiacrsuc { - unsigned int kb_cnt; - struct kbdiacruc kbdiacruc[256]; -}; - -struct kbentry { - unsigned char kb_table; - unsigned char kb_index; - short unsigned int kb_value; -}; - -struct kbkeycode { - unsigned int scancode; - unsigned int keycode; -}; - -struct kbsentry { - unsigned char kb_func; - unsigned char kb_string[512]; -}; - -struct kcmp_epoll_slot { - __u32 efd; - __u32 tfd; - __u32 toff; -}; - -typedef void (*dm_kcopyd_notify_fn)(int, long unsigned int, void *); - -struct kcopyd_job { - struct dm_kcopyd_client *kc; - struct list_head list; - unsigned int flags; - int read_err; - long unsigned int write_err; - enum req_op op; - struct dm_io_region source; - unsigned int num_dests; - struct dm_io_region dests[8]; - struct page_list *pages; - dm_kcopyd_notify_fn fn; - void *context; - struct mutex lock; - atomic_t sub_jobs; - sector_t progress; - sector_t write_offset; - struct kcopyd_job *master_job; -}; - -struct kcore_list { - struct list_head list; - long unsigned int addr; - size_t size; - int type; -}; - -struct kcsan_scoped_access {}; - -struct kdb_macro { - kdbtab_t cmd; - struct list_head statements; -}; - -struct kdb_macro_statement { - char *statement; - struct list_head list_node; -}; - -struct tcp6_ao_context { - struct in6_addr saddr; - struct in6_addr daddr; - __be16 sport; - __be16 dport; - __be32 sisn; - __be32 disn; -}; - -struct kdf_input_block { - u8 counter; - u8 label[6]; - struct tcp6_ao_context ctx; - __be16 outlen; -} __attribute__((packed)); - -struct tcp4_ao_context { - __be32 saddr; - __be32 daddr; - __be16 sport; - __be16 dport; - __be32 sisn; - __be32 disn; -}; - -struct kdf_input_block___2 { - u8 counter; - u8 label[6]; - struct tcp4_ao_context ctx; - __be16 outlen; -} __attribute__((packed)); - -struct kdf_testvec { - unsigned char *key; - size_t keylen; - unsigned char *ikm; - size_t ikmlen; - struct kvec info; - unsigned char *expected; - size_t expectedlen; -}; - -struct kern_ipc_perm { - spinlock_t lock; - bool deleted; - int id; - key_t key; - kuid_t uid; - kgid_t gid; - kuid_t cuid; - kgid_t cgid; - umode_t mode; - long unsigned int seq; - void *security; - struct rhash_head khtnode; - struct callback_head rcu; - refcount_t refcount; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct kernel_clone_args { - u64 flags; - int *pidfd; - int *child_tid; - int *parent_tid; - const char *name; - int exit_signal; - u32 kthread: 1; - u32 io_thread: 1; - u32 user_worker: 1; - u32 no_files: 1; - long unsigned int stack; - long unsigned int stack_size; - long unsigned int tls; - pid_t *set_tid; - size_t set_tid_size; - int cgroup; - int idle; - int (*fn)(void *); - void *fn_arg; - struct cgroup *cgrp; - struct css_set *cset; - unsigned int kill_seq; -}; - -struct kernel_cpustat { - u64 cpustat[11]; -}; - -struct kernel_ethtool_ringparam { - u32 rx_buf_len; - u8 tcp_data_split; - u8 tx_push; - u8 rx_push; - u32 cqe_size; - u32 tx_push_buf_len; - u32 tx_push_buf_max_len; - u32 hds_thresh; - u32 hds_thresh_max; -}; - -struct kernel_ethtool_ts_info { - u32 cmd; - u32 so_timestamping; - int phc_index; - enum hwtstamp_provider_qualifier phc_qualifier; - enum hwtstamp_source phc_source; - int phc_phyindex; - u32 tx_types; - u32 rx_filters; -}; - -struct kernel_hwtstamp_config { - int flags; - int tx_type; - int rx_filter; - struct ifreq *ifr; - bool copied_to_user; - enum hwtstamp_source source; - enum hwtstamp_provider_qualifier qualifier; -}; - -struct kernel_param_ops; - -struct kparam_string; - -struct kparam_array; - -struct kernel_param { - const char *name; - struct module *mod; - const struct kernel_param_ops *ops; - const u16 perm; - s8 level; - u8 flags; - union { - void *arg; - const struct kparam_string *str; - const struct kparam_array *arr; - }; -}; - -struct kernel_param_ops { - unsigned int flags; - int (*set)(const char *, const struct kernel_param *); - int (*get)(char *, const struct kernel_param *); - void (*free)(void *); -}; - -struct kernel_pkey_params { - struct key *key; - const char *encoding; - const char *hash_algo; - char *info; - __u32 in_len; - union { - __u32 out_len; - __u32 in2_len; - }; - enum kernel_pkey_operation op: 8; -}; - -struct kernel_pkey_query { - __u32 supported_ops; - __u32 key_size; - __u16 max_data_size; - __u16 max_sig_size; - __u16 max_enc_size; - __u16 max_dec_size; -}; - -struct kernel_stat { - long unsigned int irqs_sum; - unsigned int softirqs[10]; -}; - -struct kernel_symbol { - int value_offset; - int name_offset; - int namespace_offset; -}; - -struct kernel_vm86_regs { - struct pt_regs pt; - short unsigned int es; - short unsigned int __esh; - short unsigned int ds; - short unsigned int __dsh; - short unsigned int fs; - short unsigned int __fsh; - short unsigned int gs; - short unsigned int __gsh; -}; - -struct kernfs_open_node; - -struct kernfs_elem_attr { - const struct kernfs_ops *ops; - struct kernfs_open_node *open; - loff_t size; - struct kernfs_node *notify_next; -}; - -struct kernfs_elem_dir { - long unsigned int subdirs; - struct rb_root children; - struct kernfs_root *root; - long unsigned int rev; -}; - -struct kernfs_elem_symlink { - struct kernfs_node *target_kn; -}; - -struct kernfs_global_locks { - struct mutex open_file_mutex[1024]; -}; - -struct simple_xattrs { - struct rb_root rb_root; - rwlock_t lock; -}; - -struct kernfs_iattrs { - kuid_t ia_uid; - kgid_t ia_gid; - struct timespec64 ia_atime; - struct timespec64 ia_mtime; - struct timespec64 ia_ctime; - struct simple_xattrs xattrs; - atomic_t nr_user_xattrs; - atomic_t user_xattr_size; -}; - -struct kernfs_node { - atomic_t count; - atomic_t active; - struct kernfs_node *__parent; - const char *name; - struct rb_node rb; - const void *ns; - unsigned int hash; - short unsigned int flags; - umode_t mode; - union { - struct kernfs_elem_dir dir; - struct kernfs_elem_symlink symlink; - struct kernfs_elem_attr attr; - }; - u64 id; - void *priv; - struct kernfs_iattrs *iattr; - struct callback_head rcu; -}; - -struct kernfs_open_file { - struct kernfs_node *kn; - struct file *file; - struct seq_file *seq_file; - void *priv; - struct mutex mutex; - struct mutex prealloc_mutex; - int event; - struct list_head list; - char *prealloc_buf; - size_t atomic_write_len; - bool mmapped: 1; - bool released: 1; - const struct vm_operations_struct *vm_ops; -}; - -struct kernfs_open_node { - struct callback_head callback_head; - atomic_t event; - wait_queue_head_t poll; - struct list_head files; - unsigned int nr_mmapped; - unsigned int nr_to_release; -}; - -struct kernfs_ops { - int (*open)(struct kernfs_open_file *); - void (*release)(struct kernfs_open_file *); - int (*seq_show)(struct seq_file *, void *); - void * (*seq_start)(struct seq_file *, loff_t *); - void * (*seq_next)(struct seq_file *, void *, loff_t *); - void (*seq_stop)(struct seq_file *, void *); - ssize_t (*read)(struct kernfs_open_file *, char *, size_t, loff_t); - size_t atomic_write_len; - bool prealloc; - ssize_t (*write)(struct kernfs_open_file *, char *, size_t, loff_t); - __poll_t (*poll)(struct kernfs_open_file *, struct poll_table_struct *); - int (*mmap)(struct kernfs_open_file *, struct vm_area_struct *); - loff_t (*llseek)(struct kernfs_open_file *, loff_t, int); -}; - -struct kernfs_syscall_ops; - -struct kernfs_root { - struct kernfs_node *kn; - unsigned int flags; - struct idr ino_idr; - spinlock_t kernfs_idr_lock; - u32 last_id_lowbits; - u32 id_highbits; - struct kernfs_syscall_ops *syscall_ops; - struct list_head supers; - wait_queue_head_t deactivate_waitq; - struct rw_semaphore kernfs_rwsem; - struct rw_semaphore kernfs_iattr_rwsem; - struct rw_semaphore kernfs_supers_rwsem; - rwlock_t kernfs_rename_lock; - struct callback_head rcu; -}; - -struct kernfs_super_info { - struct super_block *sb; - struct kernfs_root *root; - const void *ns; - struct list_head node; -}; - -struct kernfs_syscall_ops { - int (*show_options)(struct seq_file *, struct kernfs_root *); - int (*mkdir)(struct kernfs_node *, const char *, umode_t); - int (*rmdir)(struct kernfs_node *); - int (*rename)(struct kernfs_node *, struct kernfs_node *, const char *); - int (*show_path)(struct seq_file *, struct kernfs_node *, struct kernfs_root *); -}; - -struct kimage; - -struct kexec_buf { - struct kimage *image; - void *buffer; - long unsigned int bufsz; - long unsigned int mem; - long unsigned int memsz; - long unsigned int buf_align; - long unsigned int buf_min; - long unsigned int buf_max; - struct page *cma; - bool top_down; - bool random; -}; - -struct kexec_entry64_regs { - uint64_t rax; - uint64_t rcx; - uint64_t rdx; - uint64_t rbx; - uint64_t rsp; - uint64_t rbp; - uint64_t rsi; - uint64_t rdi; - uint64_t r8; - uint64_t r9; - uint64_t r10; - uint64_t r11; - uint64_t r12; - uint64_t r13; - uint64_t r14; - uint64_t r15; - uint64_t rip; -}; - -typedef int kexec_probe_t(const char *, long unsigned int); - -typedef void *kexec_load_t(struct kimage *, char *, long unsigned int, char *, long unsigned int, char *, long unsigned int); - -typedef int kexec_cleanup_t(void *); - -typedef int kexec_verify_sig_t(const char *, long unsigned int); - -struct kexec_file_ops { - kexec_probe_t *probe; - kexec_load_t *load; - kexec_cleanup_t *cleanup; - kexec_verify_sig_t *verify_sig; -}; - -struct kexec_load_limit { - struct mutex mutex; - int limit; -}; - -struct kexec_segment { - union { - void *buf; - void *kbuf; - }; - size_t bufsz; - long unsigned int mem; - size_t memsz; -}; - -struct kexec_sha_region { - long unsigned int start; - long unsigned int len; -}; - -struct key_type; - -struct key_tag; - -struct keyring_index_key { - long unsigned int hash; - union { - struct { - u16 desc_len; - char desc[6]; - }; - long unsigned int x; - }; - struct key_type *type; - struct key_tag *domain_tag; - const char *description; -}; - -union key_payload { - void *rcu_data0; - void *data[4]; -}; - -struct watch_list; - -struct key_user; - -struct key_restriction; - -struct key { - refcount_t usage; - key_serial_t serial; - union { - struct list_head graveyard_link; - struct rb_node serial_node; - }; - struct watch_list *watchers; - struct rw_semaphore sem; - struct key_user *user; - void *security; - union { - time64_t expiry; - time64_t revoked_at; - }; - time64_t last_used_at; - kuid_t uid; - kgid_t gid; - key_perm_t perm; - short unsigned int quotalen; - short unsigned int datalen; - short int state; - long unsigned int flags; - union { - struct keyring_index_key index_key; - struct { - long unsigned int hash; - long unsigned int len_desc; - struct key_type *type; - struct key_tag *domain_tag; - char *description; - }; - }; - union { - union key_payload payload; - struct { - struct list_head name_link; - struct assoc_array keys; - }; - }; - struct key_restriction *restrict_link; -}; - -struct key_match_data { - bool (*cmp)(const struct key *, const struct key_match_data *); - const void *raw_data; - void *preparsed; - unsigned int lookup_type; -}; - -struct watch_notification { - __u32 type: 24; - __u32 subtype: 8; - __u32 info; -}; - -struct key_notification { - struct watch_notification watch; - __u32 key_id; - __u32 aux; -}; - -struct key_params { - const u8 *key; - const u8 *seq; - int key_len; - int seq_len; - u16 vlan_id; - u32 cipher; - enum nl80211_key_mode mode; -}; - -struct key_preparsed_payload { - const char *orig_description; - char *description; - union key_payload payload; - const void *data; - size_t datalen; - size_t quotalen; - time64_t expiry; -}; - -typedef int (*key_restrict_link_func_t)(struct key *, const struct key_type *, const union key_payload *, struct key *); - -struct key_restriction { - key_restrict_link_func_t check; - struct key *key; - struct key_type *keytype; -}; - -struct key_security_struct { - u32 sid; -}; - -struct key_tag { - struct callback_head rcu; - refcount_t usage; - bool removed; -}; - -typedef int (*request_key_actor_t)(struct key *, void *); - -struct key_type { - const char *name; - size_t def_datalen; - unsigned int flags; - int (*vet_description)(const char *); - int (*preparse)(struct key_preparsed_payload *); - void (*free_preparse)(struct key_preparsed_payload *); - int (*instantiate)(struct key *, struct key_preparsed_payload *); - int (*update)(struct key *, struct key_preparsed_payload *); - int (*match_preparse)(struct key_match_data *); - void (*match_free)(struct key_match_data *); - void (*revoke)(struct key *); - void (*destroy)(struct key *); - void (*describe)(const struct key *, struct seq_file *); - long int (*read)(const struct key *, char *, size_t); - request_key_actor_t request_key; - struct key_restriction * (*lookup_restriction)(const char *); - int (*asym_query)(const struct kernel_pkey_params *, struct kernel_pkey_query *); - int (*asym_eds_op)(struct kernel_pkey_params *, const void *, void *); - int (*asym_verify_signature)(struct kernel_pkey_params *, const void *, const void *); - struct list_head link; - struct lock_class_key lock_class; -}; - -struct key_user { - struct rb_node node; - struct mutex cons_lock; - spinlock_t lock; - refcount_t usage; - atomic_t nkeys; - atomic_t nikeys; - kuid_t uid; - int qnkeys; - int qnbytes; -}; - -struct key_vector { - t_key key; - unsigned char pos; - unsigned char bits; - unsigned char slen; - union { - struct hlist_head leaf; - struct { - struct {} __empty_tnode; - struct key_vector *tnode[0]; - }; - }; -}; - -struct keyboard_notifier_param { - struct vc_data *vc; - int down; - int shift; - int ledstate; - unsigned int value; -}; - -struct keyctl_dh_params { - union { - __s32 private; - __s32 priv; - }; - __s32 prime; - __s32 base; -}; - -struct keyctl_kdf_params { - char *hashname; - char *otherinfo; - __u32 otherinfolen; - __u32 __spare[8]; -}; - -struct keyctl_pkey_params { - __s32 key_id; - __u32 in_len; - union { - __u32 out_len; - __u32 in2_len; - }; - __u32 __spare[7]; -}; - -struct keyctl_pkey_query { - __u32 supported_ops; - __u32 key_size; - __u16 max_data_size; - __u16 max_sig_size; - __u16 max_enc_size; - __u16 max_dec_size; - __u32 __spare[10]; -}; - -struct keyring_read_iterator_context { - size_t buflen; - size_t count; - key_serial_t *buffer; -}; - -struct __key_reference_with_attributes; - -typedef struct __key_reference_with_attributes *key_ref_t; - -struct keyring_search_context { - struct keyring_index_key index_key; - const struct cred *cred; - struct key_match_data match_data; - unsigned int flags; - int (*iterator)(const void *, void *); - int skipped_ret; - bool possessed; - key_ref_t result; - time64_t now; -}; - -struct keys_header { - unsigned int total_keys; - struct dm_crypt_key keys[0]; -}; - -struct kfence_track { - pid_t pid; - int cpu; - u64 ts_nsec; - int num_stack_entries; - long unsigned int stack_entries[64]; -}; - -struct slabobj_ext { - struct obj_cgroup *objcg; -}; - -struct kfence_metadata { - struct list_head list; - struct callback_head callback_head; - raw_spinlock_t lock; - enum kfence_object_state state; - long unsigned int addr; - size_t size; - struct kmem_cache *cache; - long unsigned int unprotected_page; - struct kfence_track alloc_track; - struct kfence_track free_track; - u32 alloc_stack_hash; - struct slabobj_ext obj_exts; -}; - -struct rcu_gp_oldstate { - long unsigned int rgos_norm; - long unsigned int rgos_exp; -}; - -struct kfree_rcu_cpu; - -struct kfree_rcu_cpu_work { - struct rcu_work rcu_work; - struct callback_head *head_free; - struct rcu_gp_oldstate head_free_gp_snap; - struct list_head bulk_head_free[2]; - struct kfree_rcu_cpu *krcp; -}; - -struct kfree_rcu_cpu { - struct callback_head *head; - long unsigned int head_gp_snap; - atomic_t head_count; - struct list_head bulk_head[2]; - atomic_t bulk_count[2]; - struct kfree_rcu_cpu_work krw_arr[2]; - raw_spinlock_t lock; - struct delayed_work monitor_work; - bool initialized; - struct delayed_work page_cache_work; - atomic_t backoff_page_cache_fill; - atomic_t work_in_progress; - struct hrtimer hrtimer; - struct llist_head bkvcache; - int nr_bkv_objs; -}; - -struct kgdb_arch { - unsigned char gdb_bpt_instr[1]; - long unsigned int flags; - int (*set_breakpoint)(long unsigned int, char *); - int (*remove_breakpoint)(long unsigned int, char *); - int (*set_hw_breakpoint)(long unsigned int, int, enum kgdb_bptype); - int (*remove_hw_breakpoint)(long unsigned int, int, enum kgdb_bptype); - void (*disable_hw_break)(struct pt_regs *); - void (*remove_all_hw_break)(void); - void (*correct_hw_break)(void); -}; - -struct kgdb_bkpt { - long unsigned int bpt_addr; - unsigned char saved_instr[1]; - enum kgdb_bptype type; - enum kgdb_bpstate state; -}; - -struct kgdb_io { - const char *name; - int (*read_char)(void); - void (*write_char)(u8); - void (*flush)(void); - int (*init)(void); - void (*deinit)(void); - void (*pre_exception)(void); - void (*post_exception)(void); - struct console *cons; -}; - -struct kgdb_state { - int ex_vector; - int signo; - int err_code; - int cpu; - int pass_exception; - long unsigned int thr_query; - long unsigned int threadid; - long int kgdb_usethreadid; - struct pt_regs *linux_regs; - atomic_t *send_ready; -}; - -struct kho_data { - __u64 fdt_addr; - __u64 fdt_size; - __u64 scratch_addr; - __u64 scratch_size; -}; - -struct kho_in { - struct dentry *dir; - phys_addr_t fdt_phys; - phys_addr_t scratch_phys; - struct list_head fdt_list; -}; - -struct kho_mem_phys { - struct xarray phys_bits; -}; - -struct kho_mem_phys_bits { - long unsigned int preserve[64]; -}; - -struct kho_mem_track { - struct xarray orders; -}; - -struct khoser_mem_chunk; - -struct kho_serialization { - struct page *fdt; - struct list_head fdt_list; - struct dentry *sub_fdt_dir; - struct kho_mem_track track; - struct khoser_mem_chunk *preserved_mem_map; -}; - -struct kho_out { - struct blocking_notifier_head chain_head; - struct dentry *dir; - struct mutex lock; - struct kho_serialization ser; - bool finalized; -}; - -struct kho_scratch { - phys_addr_t addr; - phys_addr_t size; -}; - -struct khoser_mem_bitmap_ptr { - phys_addr_t phys_start; - union { - phys_addr_t phys; - struct kho_mem_phys_bits *ptr; - } bitmap; -}; - -struct khoser_mem_chunk_hdr { - union { - phys_addr_t phys; - struct khoser_mem_chunk *ptr; - } next; - unsigned int order; - unsigned int num_elms; -}; - -struct khoser_mem_chunk { - struct khoser_mem_chunk_hdr hdr; - struct khoser_mem_bitmap_ptr bitmaps[255]; -}; - -struct mm_slot { - struct hlist_node hash; - struct list_head mm_node; - struct mm_struct *mm; -}; - -struct khugepaged_mm_slot { - struct mm_slot slot; -}; - -struct khugepaged_scan { - struct list_head mm_head; - struct khugepaged_mm_slot *mm_slot; - long unsigned int address; -}; - -struct kimage_arch { - pgd_t *pgd; - p4d_t *p4d; - pud_t *pud; - pmd_t *pmd; - pte_t *pte; -}; - -struct purgatory_info { - const Elf64_Ehdr *ehdr; - Elf64_Shdr *sechdrs; - void *purgatory_buf; -}; - -struct kimage { - kimage_entry_t head; - kimage_entry_t *entry; - kimage_entry_t *last_entry; - long unsigned int start; - struct page *control_code_page; - struct page *swap_page; - void *vmcoreinfo_data_copy; - long unsigned int nr_segments; - struct kexec_segment segment[16]; - struct page *segment_cma[16]; - struct list_head control_pages; - struct list_head dest_pages; - struct list_head unusable_pages; - long unsigned int control_page; - unsigned int type: 1; - unsigned int preserve_context: 1; - unsigned int file_mode: 1; - unsigned int hotplug_support: 1; - unsigned int no_cma: 1; - struct kimage_arch arch; - void *kernel_buf; - long unsigned int kernel_buf_len; - void *initrd_buf; - long unsigned int initrd_buf_len; - char *cmdline_buf; - long unsigned int cmdline_buf_len; - const struct kexec_file_ops *fops; - void *image_loader_data; - struct purgatory_info purgatory_info; - int hp_action; - int elfcorehdr_index; - bool elfcorehdr_updated; - void *ima_buffer; - phys_addr_t ima_buffer_addr; - size_t ima_buffer_size; - long unsigned int ima_segment_index; - bool is_ima_segment_index_set; - struct { - struct kexec_segment *scratch; - phys_addr_t fdt; - } kho; - void *elf_headers; - long unsigned int elf_headers_sz; - long unsigned int elf_load_addr; - long unsigned int dm_crypt_keys_addr; - long unsigned int dm_crypt_keys_sz; -}; - -struct kioctx_cpu; - -struct kioctx { - struct percpu_ref users; - atomic_t dead; - struct percpu_ref reqs; - long unsigned int user_id; - struct kioctx_cpu *cpu; - unsigned int req_batch; - unsigned int max_reqs; - unsigned int nr_events; - long unsigned int mmap_base; - long unsigned int mmap_size; - struct folio **ring_folios; - long int nr_pages; - struct rcu_work free_rwork; - struct ctx_rq_wait *rq_wait; - long: 64; - long: 64; - long: 64; - struct { - atomic_t reqs_available; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - }; - struct { - spinlock_t ctx_lock; - struct list_head active_reqs; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - }; - struct { - struct mutex ring_lock; - wait_queue_head_t wait; - long: 64; - }; - struct { - unsigned int tail; - unsigned int completed_events; - spinlock_t completion_lock; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - }; - struct folio *internal_folios[8]; - struct file *aio_ring_file; - unsigned int id; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct kioctx_cpu { - unsigned int reqs_available; -}; - -struct kioctx_table { - struct callback_head rcu; - unsigned int nr; - struct kioctx *table[0]; -}; - -struct klist_waiter { - struct list_head list; - struct klist_node *node; - struct task_struct *process; - int woken; -}; - -struct klistmount { - u64 last_mnt_id; - u64 mnt_parent_id; - u64 *kmnt_ids; - u32 nr_mnt_ids; - struct mnt_namespace *ns; - struct path root; -}; - -struct klp_object; - -struct klp_callbacks { - int (*pre_patch)(struct klp_object *); - void (*post_patch)(struct klp_object *); - void (*pre_unpatch)(struct klp_object *); - void (*post_unpatch)(struct klp_object *); - bool post_unpatch_enabled; -}; - -struct klp_find_arg { - const char *name; - long unsigned int addr; - long unsigned int count; - long unsigned int pos; -}; - -struct klp_func { - const char *old_name; - void *new_func; - long unsigned int old_sympos; - void *old_func; - struct kobject kobj; - struct list_head node; - struct list_head stack_node; - long unsigned int old_size; - long unsigned int new_size; - bool nop; - bool patched; - bool transition; -}; - -struct klp_modinfo { - Elf64_Ehdr hdr; - Elf64_Shdr *sechdrs; - char *secstrings; - unsigned int symndx; -}; - -struct klp_object { - const char *name; - struct klp_func *funcs; - struct klp_callbacks callbacks; - struct kobject kobj; - struct list_head func_list; - struct list_head node; - struct module *mod; - bool dynamic; - bool patched; -}; - -struct klp_ops { - struct list_head node; - struct list_head func_stack; - struct ftrace_ops fops; -}; - -struct klp_state; - -struct klp_patch { - struct module *mod; - struct klp_object *objs; - struct klp_state *states; - bool replace; - struct list_head list; - struct kobject kobj; - struct list_head obj_list; - bool enabled; - bool forced; - struct work_struct free_work; - struct completion finish; -}; - -struct klp_shadow { - struct hlist_node node; - struct callback_head callback_head; - void *obj; - long unsigned int id; - char data[0]; -}; - -struct klp_state { - long unsigned int id; - unsigned int version; - void *data; -}; - -struct km_event { - union { - u32 hard; - u32 proto; - u32 byid; - u32 aevent; - u32 type; - } data; - u32 seq; - u32 portid; - u32 event; - struct net *net; -}; - -struct kmalloc_info_struct { - const char *name[19]; - unsigned int size; -}; - -struct kmalloced_param { - struct list_head list; - char val[0]; -}; - -struct kmap_ctrl {}; - -typedef struct kmem_cache *kmem_buckets[14]; - -struct reciprocal_value { - u32 m; - u8 sh1; - u8 sh2; -}; - -struct kmem_cache_order_objects { - unsigned int x; -}; - -struct kmem_cache_cpu; - -struct kmem_cache_node; - -struct kmem_cache { - struct kmem_cache_cpu *cpu_slab; - slab_flags_t flags; - long unsigned int min_partial; - unsigned int size; - unsigned int object_size; - struct reciprocal_value reciprocal_size; - unsigned int offset; - unsigned int cpu_partial; - unsigned int cpu_partial_slabs; - struct kmem_cache_order_objects oo; - struct kmem_cache_order_objects min; - gfp_t allocflags; - int refcount; - void (*ctor)(void *); - unsigned int inuse; - unsigned int align; - unsigned int red_left_pad; - const char *name; - struct list_head list; - struct kobject kobj; - long unsigned int random; - unsigned int remote_node_defrag_ratio; - unsigned int *random_seq; - unsigned int useroffset; - unsigned int usersize; - struct kmem_cache_node *node[1024]; -}; - -struct kmem_cache_args { - unsigned int align; - unsigned int useroffset; - unsigned int usersize; - unsigned int freeptr_offset; - bool use_freeptr_offset; - void (*ctor)(void *); -}; - -struct kmem_cache_cpu { - union { - struct { - void **freelist; - long unsigned int tid; - }; - freelist_aba_t freelist_tid; - }; - struct slab *slab; - struct slab *partial; - local_lock_t lock; -}; - -union kmem_cache_iter_priv { - struct bpf_iter_kmem_cache it; - struct bpf_iter_kmem_cache_kern kit; -}; - -struct kmem_cache_node { - spinlock_t list_lock; - long unsigned int nr_partial; - struct list_head partial; - atomic_long_t nr_slabs; - atomic_long_t total_objects; - struct list_head full; -}; - -struct kmem_obj_info { - void *kp_ptr; - struct slab *kp_slab; - void *kp_objp; - long unsigned int kp_data_offset; - struct kmem_cache *kp_slab_cache; - void *kp_ret; - void *kp_stack[16]; - void *kp_free_stack[16]; -}; - -struct kmmio_fault_page; - -struct kmmio_probe; - -struct kmmio_context { - struct kmmio_fault_page *fpage; - struct kmmio_probe *probe; - long unsigned int saved_flags; - long unsigned int addr; - int active; -}; - -struct kmmio_delayed_release { - struct callback_head rcu; - struct kmmio_fault_page *release_list; -}; - -struct kmmio_fault_page { - struct list_head list; - struct kmmio_fault_page *release_next; - long unsigned int addr; - pteval_t old_presence; - bool armed; - int count; - bool scheduled_for_release; -}; - -typedef void (*kmmio_pre_handler_t)(struct kmmio_probe *, struct pt_regs *, long unsigned int); - -typedef void (*kmmio_post_handler_t)(struct kmmio_probe *, long unsigned int, struct pt_regs *); - -struct kmmio_probe { - struct list_head list; - long unsigned int addr; - long unsigned int len; - kmmio_pre_handler_t pre_handler; - kmmio_post_handler_t post_handler; - void *private; -}; - -struct kmsg_dump_detail { - enum kmsg_dump_reason reason; - const char *description; -}; - -struct kmsg_dump_iter { - u64 cur_seq; - u64 next_seq; -}; - -struct probe; - -struct kobj_map { - struct probe *probes[255]; - struct mutex *lock; -}; - -struct kobj_ns_type_operations { - enum kobj_ns_type type; - bool (*current_may_mount)(void); - void * (*grab_current_ns)(void); - const void * (*netlink_ns)(struct sock *); - const void * (*initial_ns)(void); - void (*drop_ns)(void *); -}; - -struct kparam_array { - unsigned int max; - unsigned int elemsize; - unsigned int *num; - const struct kernel_param_ops *ops; - void *elem; -}; - -struct kparam_string { - unsigned int maxlen; - char *string; -}; - -struct kpp_request; - -struct kpp_alg { - int (*set_secret)(struct crypto_kpp *, const void *, unsigned int); - int (*generate_public_key)(struct kpp_request *); - int (*compute_shared_secret)(struct kpp_request *); - unsigned int (*max_size)(struct crypto_kpp *); - int (*init)(struct crypto_kpp *); - void (*exit)(struct crypto_kpp *); - struct crypto_alg base; -}; - -struct kpp_instance { - void (*free)(struct kpp_instance *); - union { - struct { - char head[48]; - struct crypto_instance base; - } s; - struct kpp_alg alg; - }; -}; - -struct kpp_request { - struct crypto_async_request base; - struct scatterlist *src; - struct scatterlist *dst; - unsigned int src_len; - unsigned int dst_len; - void *__ctx[0]; -}; - -struct kpp_secret { - short unsigned int type; - short unsigned int len; -}; - -typedef int (*kprobe_pre_handler_t)(struct kprobe *, struct pt_regs *); - -typedef void (*kprobe_post_handler_t)(struct kprobe *, struct pt_regs *, long unsigned int); - -struct kprobe { - struct hlist_node hlist; - struct list_head list; - long unsigned int nmissed; - kprobe_opcode_t *addr; - const char *symbol_name; - unsigned int offset; - kprobe_pre_handler_t pre_handler; - kprobe_post_handler_t post_handler; - kprobe_opcode_t opcode; - struct arch_specific_insn ainsn; - u32 flags; -}; - -struct kprobe_blacklist_entry { - struct list_head list; - long unsigned int start_addr; - long unsigned int end_addr; -}; - -struct prev_kprobe { - struct kprobe *kp; - long unsigned int status; - long unsigned int old_flags; - long unsigned int saved_flags; -}; - -struct kprobe_ctlblk { - long unsigned int kprobe_status; - long unsigned int kprobe_old_flags; - long unsigned int kprobe_saved_flags; - struct prev_kprobe prev_kprobe; -}; - -struct kprobe_insn_cache { - struct mutex mutex; - void * (*alloc)(void); - void (*free)(void *); - const char *sym; - struct list_head pages; - size_t insn_size; - int nr_garbage; -}; - -struct kprobe_insn_page { - struct list_head list; - kprobe_opcode_t *insns; - struct kprobe_insn_cache *cache; - int nused; - int ngarbage; - char slot_used[0]; -}; - -struct kprobe_trace_entry_head { - struct trace_entry ent; - long unsigned int ip; -}; - -struct kretprobe_instance; - -typedef int (*kretprobe_handler_t)(struct kretprobe_instance *, struct pt_regs *); - -struct rethook; - -struct kretprobe { - struct kprobe kp; - kretprobe_handler_t handler; - kretprobe_handler_t entry_handler; - int maxactive; - int nmissed; - size_t data_size; - struct rethook *rh; -}; - -struct kretprobe_blackpoint { - const char *name; - void *addr; -}; - -struct rethook_node { - struct callback_head rcu; - struct llist_node llist; - struct rethook *rethook; - long unsigned int ret_addr; - long unsigned int frame; -}; - -struct kretprobe_instance { - struct rethook_node node; - char data[0]; -}; - -struct kretprobe_trace_entry_head { - struct trace_entry ent; - long unsigned int func; - long unsigned int ret_ip; -}; - -struct kset_uevent_ops; - -struct kset { - struct list_head list; - spinlock_t list_lock; - struct kobject kobj; - const struct kset_uevent_ops *uevent_ops; -}; - -struct kset_uevent_ops { - int (* const filter)(const struct kobject *); - const char * (* const name)(const struct kobject *); - int (* const uevent)(const struct kobject *, struct kobj_uevent_env *); -}; - -struct ksignal { - struct k_sigaction ka; - kernel_siginfo_t info; - int sig; -}; - -struct ksm_rmap_item; - -struct ksm_mm_slot { - struct mm_slot slot; - struct ksm_rmap_item *rmap_list; -}; - -struct ksm_next_page_arg { - struct folio *folio; - struct page *page; - long unsigned int addr; -}; - -struct ksm_stable_node; - -struct ksm_rmap_item { - struct ksm_rmap_item *rmap_list; - union { - struct anon_vma *anon_vma; - int nid; - }; - struct mm_struct *mm; - long unsigned int address; - unsigned int oldchecksum; - rmap_age_t age; - rmap_age_t remaining_skips; - union { - struct rb_node node; - struct { - struct ksm_stable_node *head; - struct hlist_node hlist; - }; - }; -}; - -struct ksm_scan { - struct ksm_mm_slot *mm_slot; - long unsigned int address; - struct ksm_rmap_item **rmap_list; - long unsigned int seqnr; -}; - -struct ksm_stable_node { - union { - struct rb_node node; - struct { - struct list_head *head; - struct { - struct hlist_node hlist_dup; - struct list_head list; - }; - }; - }; - struct hlist_head hlist; - union { - long unsigned int kpfn; - long unsigned int chain_prune_time; - }; - int rmap_hlist_len; - int nid; -}; - -struct kstat { - u32 result_mask; - umode_t mode; - unsigned int nlink; - uint32_t blksize; - u64 attributes; - u64 attributes_mask; - u64 ino; - dev_t dev; - dev_t rdev; - kuid_t uid; - kgid_t gid; - loff_t size; - struct timespec64 atime; - struct timespec64 mtime; - struct timespec64 ctime; - struct timespec64 btime; - u64 blocks; - u64 mnt_id; - u64 change_cookie; - u64 subvol; - u32 dio_mem_align; - u32 dio_offset_align; - u32 dio_read_offset_align; - u32 atomic_write_unit_min; - u32 atomic_write_unit_max; - u32 atomic_write_unit_max_opt; - u32 atomic_write_segments_max; -}; - -struct kstatfs { - long int f_type; - long int f_bsize; - u64 f_blocks; - u64 f_bfree; - u64 f_bavail; - u64 f_files; - u64 f_ffree; - __kernel_fsid_t f_fsid; - long int f_namelen; - long int f_frsize; - long int f_flags; - long int f_spare[4]; -}; - -struct seq_file { - char *buf; - size_t size; - size_t from; - size_t count; - size_t pad_until; - loff_t index; - loff_t read_pos; - struct mutex lock; - const struct seq_operations *op; - int poll_event; - const struct file *file; - void *private; -}; - -struct statmount { - __u32 size; - __u32 mnt_opts; - __u64 mask; - __u32 sb_dev_major; - __u32 sb_dev_minor; - __u64 sb_magic; - __u32 sb_flags; - __u32 fs_type; - __u64 mnt_id; - __u64 mnt_parent_id; - __u32 mnt_id_old; - __u32 mnt_parent_id_old; - __u64 mnt_attr; - __u64 mnt_propagation; - __u64 mnt_peer_group; - __u64 mnt_master; - __u64 propagate_from; - __u32 mnt_root; - __u32 mnt_point; - __u64 mnt_ns_id; - __u32 fs_subtype; - __u32 sb_source; - __u32 opt_num; - __u32 opt_array; - __u32 opt_sec_num; - __u32 opt_sec_array; - __u64 supported_mask; - __u32 mnt_uidmap_num; - __u32 mnt_uidmap; - __u32 mnt_gidmap_num; - __u32 mnt_gidmap; - __u64 __spare2[43]; - char str[0]; -}; - -struct kstatmount { - struct statmount *buf; - size_t bufsize; - struct vfsmount *mnt; - struct mnt_idmap *idmap; - u64 mask; - struct path root; - struct seq_file seq; - struct statmount sm; -}; - -struct ktermios { - tcflag_t c_iflag; - tcflag_t c_oflag; - tcflag_t c_cflag; - tcflag_t c_lflag; - cc_t c_line; - cc_t c_cc[19]; - speed_t c_ispeed; - speed_t c_ospeed; -}; - -struct kthread { - long unsigned int flags; - unsigned int cpu; - unsigned int node; - int started; - int result; - int (*threadfn)(void *); - void *data; - struct completion parked; - struct completion exited; - struct cgroup_subsys_state *blkcg_css; - char *full_name; - struct task_struct *task; - struct list_head hotplug_node; - struct cpumask *preferred_affinity; -}; - -struct kthread_create_info { - char *full_name; - int (*threadfn)(void *); - void *data; - int node; - struct task_struct *result; - struct completion *done; - struct list_head list; -}; - -struct kthread_delayed_work { - struct kthread_work work; - struct timer_list timer; -}; - -struct kthread_flush_work { - struct kthread_work work; - struct completion done; -}; - -struct kthread_worker { - unsigned int flags; - raw_spinlock_t lock; - struct list_head work_list; - struct list_head delayed_work_list; - struct task_struct *task; - struct kthread_work *current_work; -}; - -struct kvfree_rcu_bulk_data { - struct list_head list; - struct rcu_gp_oldstate gp_snap; - long unsigned int nr_records; - void *records[0]; -}; - -struct kvm_memslots { - u64 generation; - atomic_long_t last_used_slot; - struct rb_root_cached hva_tree; - struct rb_root gfn_tree; - struct hlist_head id_hash[128]; - int node_idx; -}; - -struct kvm_vm_stat_generic { - u64 remote_tlb_flush; - u64 remote_tlb_flush_requests; -}; - -struct kvm_vm_stat { - struct kvm_vm_stat_generic generic; - u64 mmu_shadow_zapped; - u64 mmu_pte_write; - u64 mmu_pde_zapped; - u64 mmu_flooded; - u64 mmu_recycled; - u64 mmu_cache_miss; - u64 mmu_unsync; - union { - struct { - atomic64_t pages_4k; - atomic64_t pages_2m; - atomic64_t pages_1g; - }; - atomic64_t pages[3]; - }; - u64 nx_lpage_splits; - u64 max_mmu_page_hash_collisions; - u64 max_mmu_rmap_size; -}; - -struct kvm_page_track_notifier_head { - struct srcu_struct track_srcu; - struct hlist_head track_notifier_list; -}; - -struct kvm_pic; - -struct kvm_ioapic; - -struct kvm_pit; - -struct ms_hyperv_tsc_page { - volatile u32 tsc_sequence; - u32 reserved1; - volatile u64 tsc_scale; - volatile s64 tsc_offset; -}; - -struct kvm_hv_syndbg { - struct { - u64 control; - u64 status; - u64 send_page; - u64 recv_page; - u64 pending_page; - } control; - u64 options; -}; - -struct kvm_hv { - struct mutex hv_lock; - u64 hv_guest_os_id; - u64 hv_hypercall; - u64 hv_tsc_page; - enum hv_tsc_page_status hv_tsc_page_status; - u64 hv_crash_param[5]; - u64 hv_crash_ctl; - struct ms_hyperv_tsc_page tsc_ref; - struct idr conn_to_evt; - u64 hv_reenlightenment_control; - u64 hv_tsc_emulation_control; - u64 hv_tsc_emulation_status; - u64 hv_invtsc_control; - atomic_t num_mismatched_vp_indexes; - unsigned int synic_auto_eoi_used; - struct kvm_hv_syndbg hv_syndbg; - bool xsaves_xsavec_checked; -}; - -struct kvm_xen_hvm_config { - __u32 flags; - __u32 msr; - __u64 blob_addr_32; - __u64 blob_addr_64; - __u8 blob_size_32; - __u8 blob_size_64; - __u8 pad2[30]; -}; - -struct kvm_xen { - struct mutex xen_lock; - u32 xen_version; - bool long_mode; - bool runstate_update_flag; - u8 upcall_vector; - struct gfn_to_pfn_cache shinfo_cache; - struct idr evtchn_ports; - long unsigned int poll_mask[64]; - struct kvm_xen_hvm_config hvm_config; -}; - -struct once { - atomic_t state; - struct mutex lock; -}; - -struct kvm_mmu_memory_cache { - gfp_t gfp_zero; - gfp_t gfp_custom; - u64 init_value; - struct kmem_cache *kmem_cache; - int capacity; - int nobjs; - void **objects; -}; - -struct kvm_apic_map; - -struct kvm_x86_msr_filter; - -struct kvm_x86_pmu_event_filter; - -struct vhost_task; - -struct kvm_arch { - long unsigned int n_used_mmu_pages; - long unsigned int n_requested_mmu_pages; - long unsigned int n_max_mmu_pages; - unsigned int indirect_shadow_pages; - u8 mmu_valid_gen; - u8 vm_type; - bool has_private_mem; - bool has_protected_state; - bool pre_fault_allowed; - struct hlist_head *mmu_page_hash; - struct list_head active_mmu_pages; - struct list_head possible_nx_huge_pages; - struct kvm_page_track_notifier_head track_notifier_head; - spinlock_t mmu_unsync_pages_lock; - u64 shadow_mmio_value; - atomic_t noncoherent_dma_count; - long unsigned int nr_possible_bypass_irqs; - struct kvm_pic *vpic; - struct kvm_ioapic *vioapic; - struct kvm_pit *vpit; - atomic_t vapics_in_nmi_mode; - struct mutex apic_map_lock; - struct kvm_apic_map *apic_map; - atomic_t apic_map_dirty; - bool apic_access_memslot_enabled; - bool apic_access_memslot_inhibited; - struct rw_semaphore apicv_update_lock; - long unsigned int apicv_inhibit_reasons; - gpa_t wall_clock; - u64 disabled_exits; - s64 kvmclock_offset; - raw_spinlock_t tsc_write_lock; - u64 last_tsc_nsec; - u64 last_tsc_write; - u32 last_tsc_khz; - u64 last_tsc_offset; - u64 cur_tsc_nsec; - u64 cur_tsc_write; - u64 cur_tsc_offset; - u64 cur_tsc_generation; - int nr_vcpus_matched_tsc; - u32 default_tsc_khz; - bool user_set_tsc; - u64 apic_bus_cycle_ns; - seqcount_raw_spinlock_t pvclock_sc; - bool use_master_clock; - u64 master_kernel_ns; - u64 master_cycle_now; - struct delayed_work kvmclock_update_work; - struct delayed_work kvmclock_sync_work; - struct kvm_hv hyperv; - struct kvm_xen xen; - bool backwards_tsc_observed; - bool boot_vcpu_runs_old_kvmclock; - u32 bsp_vcpu_id; - u64 disabled_quirks; - enum kvm_irqchip_mode irqchip_mode; - u8 nr_reserved_ioapic_pins; - bool disabled_lapic_found; - bool x2apic_format; - bool x2apic_broadcast_quirk_disabled; - bool has_mapped_host_mmio; - bool guest_can_read_msr_platform_info; - bool exception_payload_enabled; - bool triple_fault_event; - bool bus_lock_detection_enabled; - bool enable_pmu; - u32 notify_window; - u32 notify_vmexit_flags; - bool exit_on_emulation_error; - u32 user_space_msr_mask; - struct kvm_x86_msr_filter *msr_filter; - u32 hypercall_exit_enabled; - bool sgx_provisioning_allowed; - struct kvm_x86_pmu_event_filter *pmu_event_filter; - struct vhost_task *nx_huge_page_recovery_thread; - u64 nx_huge_page_last; - struct once nx_once; - struct list_head tdp_mmu_roots; - spinlock_t tdp_mmu_pages_lock; - bool shadow_root_allocated; - bool external_write_tracking_enabled; - hpa_t hv_root_tdp; - spinlock_t hv_root_tdp_lock; - struct hv_partition_assist_pg *hv_pa_pg; - u32 max_vcpu_ids; - bool disable_nx_huge_pages; - struct kvm_mmu_memory_cache split_shadow_page_cache; - struct kvm_mmu_memory_cache split_page_header_cache; - struct kvm_mmu_memory_cache split_desc_cache; - gfn_t gfn_direct_bits; - int cpu_dirty_log_size; -}; - -struct kvm_io_bus; - -struct kvm_coalesced_mmio_ring; - -struct kvm_irq_routing_table; - -struct kvm_stat_data; - -struct kvm { - rwlock_t mmu_lock; - struct mutex slots_lock; - struct mutex slots_arch_lock; - struct mm_struct *mm; - long unsigned int nr_memslot_pages; - struct kvm_memslots __memslots[4]; - struct kvm_memslots *memslots[2]; - struct xarray vcpu_array; - atomic_t nr_memslots_dirty_logging; - spinlock_t mn_invalidate_lock; - long unsigned int mn_active_invalidate_count; - struct rcuwait mn_memslots_update_rcuwait; - spinlock_t gpc_lock; - struct list_head gpc_list; - atomic_t online_vcpus; - int max_vcpus; - int created_vcpus; - int last_boosted_vcpu; - struct list_head vm_list; - struct mutex lock; - struct kvm_io_bus *buses[5]; - struct { - spinlock_t lock; - struct list_head items; - struct list_head resampler_list; - struct mutex resampler_lock; - } irqfds; - struct list_head ioeventfds; - struct kvm_vm_stat stat; - struct kvm_arch arch; - refcount_t users_count; - struct kvm_coalesced_mmio_ring *coalesced_mmio_ring; - spinlock_t ring_lock; - struct list_head coalesced_zones; - struct mutex irq_lock; - struct kvm_irq_routing_table *irq_routing; - struct hlist_head irq_ack_notifier_list; - struct mmu_notifier mmu_notifier; - long unsigned int mmu_invalidate_seq; - long int mmu_invalidate_in_progress; - gfn_t mmu_invalidate_range_start; - gfn_t mmu_invalidate_range_end; - struct list_head devices; - u64 manual_dirty_log_protect; - struct dentry *debugfs_dentry; - struct kvm_stat_data **debugfs_stat_data; - struct srcu_struct srcu; - struct srcu_struct irq_srcu; - pid_t userspace_pid; - bool override_halt_poll_ns; - unsigned int max_halt_poll_ns; - u32 dirty_ring_size; - bool dirty_ring_with_bitmap; - bool vm_bugged; - bool vm_dead; - struct notifier_block pm_notifier; - struct xarray mem_attr_array; - char stats_id[48]; -}; - -struct kvm_lapic; - -struct kvm_apic_map { - struct callback_head rcu; - enum kvm_apic_logical_mode logical_mode; - u32 max_apic_id; - union { - struct kvm_lapic *xapic_flat_map[8]; - struct kvm_lapic *xapic_cluster_map[64]; - }; - struct kvm_lapic *phys_map[0]; -}; - -struct kvm_rmap_head; - -struct kvm_lpage_info; - -struct kvm_arch_memory_slot { - struct kvm_rmap_head *rmap[3]; - struct kvm_lpage_info *lpage_info[2]; - short unsigned int *gfn_write_track; -}; - -struct kvm_coalesced_mmio { - __u64 phys_addr; - __u32 len; - union { - __u32 pad; - __u32 pio; - }; - __u8 data[8]; -}; - -struct kvm_coalesced_mmio_ring { - __u32 first; - __u32 last; - struct kvm_coalesced_mmio coalesced_mmio[0]; -}; - -union kvm_mmu_page_role { - u32 word; - struct { - unsigned int level: 4; - unsigned int has_4_byte_gpte: 1; - unsigned int quadrant: 2; - unsigned int direct: 1; - unsigned int access: 3; - unsigned int invalid: 1; - unsigned int efer_nx: 1; - unsigned int cr0_wp: 1; - unsigned int smep_andnot_wp: 1; - unsigned int smap_andnot_wp: 1; - unsigned int ad_disabled: 1; - unsigned int guest_mode: 1; - unsigned int passthrough: 1; - unsigned int is_mirror: 1; - char: 4; - unsigned int smm: 8; - }; -}; - -union kvm_mmu_extended_role { - u32 word; - struct { - unsigned int valid: 1; - unsigned int execonly: 1; - unsigned int cr4_pse: 1; - unsigned int cr4_pke: 1; - unsigned int cr4_smap: 1; - unsigned int cr4_smep: 1; - unsigned int cr4_la57: 1; - unsigned int efer_lma: 1; - }; -}; - -union kvm_cpu_role { - u64 as_u64; - struct { - union kvm_mmu_page_role base; - union kvm_mmu_extended_role ext; - }; -}; - -struct kvm_cpuid_entry2 { - __u32 function; - __u32 index; - __u32 flags; - __u32 eax; - __u32 ebx; - __u32 ecx; - __u32 edx; - __u32 padding[3]; -}; - -struct kvm_debug_exit_arch { - __u32 exception; - __u32 pad; - __u64 pc; - __u64 dr6; - __u64 dr7; -}; - -struct kvm_dirty_gfn { - __u32 flags; - __u32 slot; - __u64 offset; -}; - -struct kvm_dirty_ring { - u32 dirty_index; - u32 reset_index; - u32 size; - u32 soft_limit; - struct kvm_dirty_gfn *dirty_gfns; - int index; -}; - -struct kvm_dtable { - __u64 base; - __u16 limit; - __u16 padding[3]; -}; - -struct kvm_enc_region { - __u64 addr; - __u64 size; -}; - -struct kvm_hyperv_exit { - __u32 type; - __u32 pad1; - union { - struct { - __u32 msr; - __u32 pad2; - __u64 control; - __u64 evt_page; - __u64 msg_page; - } synic; - struct { - __u64 input; - __u64 result; - __u64 params[2]; - } hcall; - struct { - __u32 msr; - __u32 pad2; - __u64 control; - __u64 status; - __u64 send_page; - __u64 recv_page; - __u64 pending_page; - } syndbg; - } u; -}; - -struct kvm_hypervisor_cpuid { - u32 base; - u32 limit; -}; - -struct kvm_io_device; - -struct kvm_io_range { - gpa_t addr; - int len; - struct kvm_io_device *dev; -}; - -struct kvm_io_bus { - int dev_count; - int ioeventfd_count; - struct kvm_io_range range[0]; -}; - -struct kvm_irq_routing_table { - int chip[72]; - u32 nr_rt_entries; - struct hlist_head map[0]; -}; - -struct kvm_lpage_info { - int disallow_lpage; -}; - -struct kvm_memory_slot { - struct hlist_node id_node[2]; - struct interval_tree_node hva_node[2]; - struct rb_node gfn_node[2]; - gfn_t base_gfn; - long unsigned int npages; - long unsigned int *dirty_bitmap; - struct kvm_arch_memory_slot arch; - long unsigned int userspace_addr; - u32 flags; - short int id; - u16 as_id; - struct { - struct file *file; - long unsigned int pgoff; - } gmem; -}; - -struct kvm_mmio_fragment { - gpa_t gpa; - void *data; - unsigned int len; -}; - -struct kvm_page_fault; - -struct x86_exception; - -struct kvm_mmu_page; - -struct kvm_mmu_root_info { - gpa_t pgd; - hpa_t hpa; -}; - -struct rsvd_bits_validate { - u64 rsvd_bits_mask[10]; - u64 bad_mt_xwr; -}; - -struct kvm_vcpu; - -struct kvm_mmu { - long unsigned int (*get_guest_pgd)(struct kvm_vcpu *); - u64 (*get_pdptr)(struct kvm_vcpu *, int); - int (*page_fault)(struct kvm_vcpu *, struct kvm_page_fault *); - void (*inject_page_fault)(struct kvm_vcpu *, struct x86_exception *); - gpa_t (*gva_to_gpa)(struct kvm_vcpu *, struct kvm_mmu *, gpa_t, u64, struct x86_exception *); - int (*sync_spte)(struct kvm_vcpu *, struct kvm_mmu_page *, int); - struct kvm_mmu_root_info root; - hpa_t mirror_root_hpa; - union kvm_cpu_role cpu_role; - union kvm_mmu_page_role root_role; - u32 pkru_mask; - struct kvm_mmu_root_info prev_roots[3]; - u8 permissions[16]; - u64 *pae_root; - u64 *pml4_root; - u64 *pml5_root; - struct rsvd_bits_validate shadow_zero_check; - struct rsvd_bits_validate guest_rsvd_check; - u64 pdptrs[4]; -}; - -struct kvm_mtrr { - u64 var[16]; - u64 fixed_64k; - u64 fixed_16k[2]; - u64 fixed_4k[8]; - u64 deftype; -}; - -struct kvm_vmx_nested_state_hdr { - __u64 vmxon_pa; - __u64 vmcs12_pa; - struct { - __u16 flags; - } smm; - __u16 pad; - __u32 flags; - __u64 preemption_timer_deadline; -}; - -struct kvm_svm_nested_state_hdr { - __u64 vmcb_pa; -}; - -struct kvm_vmx_nested_state_data { - __u8 vmcs12[4096]; - __u8 shadow_vmcs12[4096]; -}; - -struct kvm_svm_nested_state_data { - __u8 vmcb12[4096]; -}; - -struct kvm_nested_state { - __u16 flags; - __u16 format; - __u32 size; - union { - struct kvm_vmx_nested_state_hdr vmx; - struct kvm_svm_nested_state_hdr svm; - __u8 pad[120]; - } hdr; - union { - struct { - struct {} __empty_vmx; - struct kvm_vmx_nested_state_data vmx[0]; - }; - struct { - struct {} __empty_svm; - struct kvm_svm_nested_state_data svm[0]; - }; - } data; -}; - -struct kvm_pio_request { - long unsigned int count; - int in; - int port; - int size; -}; - -struct kvm_pmc { - enum pmc_type type; - u8 idx; - bool is_paused; - bool intr; - u64 counter; - u64 emulated_counter; - u64 eventsel; - struct perf_event *perf_event; - struct kvm_vcpu *vcpu; - u64 current_config; -}; - -struct kvm_pmu { - u8 version; - unsigned int nr_arch_gp_counters; - unsigned int nr_arch_fixed_counters; - unsigned int available_event_types; - u64 fixed_ctr_ctrl; - u64 fixed_ctr_ctrl_rsvd; - u64 global_ctrl; - u64 global_status; - u64 counter_bitmask[2]; - u64 global_ctrl_rsvd; - u64 global_status_rsvd; - u64 reserved_bits; - u64 raw_event_mask; - struct kvm_pmc gp_counters[8]; - struct kvm_pmc fixed_counters[3]; - union { - long unsigned int reprogram_pmi[1]; - atomic64_t __reprogram_pmi; - }; - long unsigned int all_valid_pmc_idx[1]; - long unsigned int pmc_in_use[1]; - u64 ds_area; - u64 pebs_enable; - u64 pebs_enable_rsvd; - u64 pebs_data_cfg; - u64 pebs_data_cfg_rsvd; - u64 host_cross_mapped_mask; - bool need_cleanup; - u8 event_count; -}; - -struct kvm_queued_exception { - bool pending; - bool injected; - bool has_error_code; - u8 vector; - u32 error_code; - long unsigned int payload; - bool has_payload; -}; - -struct kvm_queued_interrupt { - bool injected; - bool soft; - u8 nr; -}; - -struct kvm_regs { - __u64 rax; - __u64 rbx; - __u64 rcx; - __u64 rdx; - __u64 rsi; - __u64 rdi; - __u64 rsp; - __u64 rbp; - __u64 r8; - __u64 r9; - __u64 r10; - __u64 r11; - __u64 r12; - __u64 r13; - __u64 r14; - __u64 r15; - __u64 rip; - __u64 rflags; -}; - -struct kvm_rmap_head { - atomic_long_t val; -}; - -struct kvm_xen_exit { - __u32 type; - union { - struct { - __u32 longmode; - __u32 cpl; - __u64 input; - __u64 result; - __u64 params[6]; - } hcall; - } u; -}; - -struct kvm_segment { - __u64 base; - __u32 limit; - __u16 selector; - __u8 type; - __u8 present; - __u8 dpl; - __u8 db; - __u8 s; - __u8 l; - __u8 g; - __u8 avl; - __u8 unusable; - __u8 padding; -}; - -struct kvm_sregs { - struct kvm_segment cs; - struct kvm_segment ds; - struct kvm_segment es; - struct kvm_segment fs; - struct kvm_segment gs; - struct kvm_segment ss; - struct kvm_segment tr; - struct kvm_segment ldt; - struct kvm_dtable gdt; - struct kvm_dtable idt; - __u64 cr0; - __u64 cr2; - __u64 cr3; - __u64 cr4; - __u64 cr8; - __u64 efer; - __u64 apic_base; - __u64 interrupt_bitmap[4]; -}; - -struct kvm_vcpu_events { - struct { - __u8 injected; - __u8 nr; - __u8 has_error_code; - __u8 pending; - __u32 error_code; - } exception; - struct { - __u8 injected; - __u8 nr; - __u8 soft; - __u8 shadow; - } interrupt; - struct { - __u8 injected; - __u8 pending; - __u8 masked; - __u8 pad; - } nmi; - __u32 sipi_vector; - __u32 flags; - struct { - __u8 smm; - __u8 pending; - __u8 smm_inside_nmi; - __u8 latched_init; - } smi; - struct { - __u8 pending; - } triple_fault; - __u8 reserved[26]; - __u8 exception_has_payload; - __u64 exception_payload; -}; - -struct kvm_sync_regs { - struct kvm_regs regs; - struct kvm_sregs sregs; - struct kvm_vcpu_events events; -}; - -struct kvm_run { - __u8 request_interrupt_window; - __u8 immediate_exit__unsafe; - __u8 padding1[6]; - __u32 exit_reason; - __u8 ready_for_interrupt_injection; - __u8 if_flag; - __u16 flags; - __u64 cr8; - __u64 apic_base; - union { - struct { - __u64 hardware_exit_reason; - } hw; - struct { - __u64 hardware_entry_failure_reason; - __u32 cpu; - } fail_entry; - struct { - __u32 exception; - __u32 error_code; - } ex; - struct { - __u8 direction; - __u8 size; - __u16 port; - __u32 count; - __u64 data_offset; - } io; - struct { - struct kvm_debug_exit_arch arch; - } debug; - struct { - __u64 phys_addr; - __u8 data[8]; - __u32 len; - __u8 is_write; - } mmio; - struct { - __u64 phys_addr; - __u8 data[8]; - __u32 len; - __u8 is_write; - } iocsr_io; - struct { - __u64 nr; - __u64 args[6]; - __u64 ret; - union { - __u64 flags; - }; - } hypercall; - struct { - __u64 rip; - __u32 is_write; - __u32 pad; - } tpr_access; - struct { - __u8 icptcode; - __u16 ipa; - __u32 ipb; - } s390_sieic; - __u64 s390_reset_flags; - struct { - __u64 trans_exc_code; - __u32 pgm_code; - } s390_ucontrol; - struct { - __u32 dcrn; - __u32 data; - __u8 is_write; - } dcr; - struct { - __u32 suberror; - __u32 ndata; - __u64 data[16]; - } internal; - struct { - __u32 suberror; - __u32 ndata; - __u64 flags; - union { - struct { - __u8 insn_size; - __u8 insn_bytes[15]; - }; - }; - } emulation_failure; - struct { - __u64 gprs[32]; - } osi; - struct { - __u64 nr; - __u64 ret; - __u64 args[9]; - } papr_hcall; - struct { - __u16 subchannel_id; - __u16 subchannel_nr; - __u32 io_int_parm; - __u32 io_int_word; - __u32 ipb; - __u8 dequeued; - } s390_tsch; - struct { - __u32 epr; - } epr; - struct { - __u32 type; - __u32 ndata; - union { - __u64 data[16]; - }; - } system_event; - struct { - __u64 addr; - __u8 ar; - __u8 reserved; - __u8 fc; - __u8 sel1; - __u16 sel2; - } s390_stsi; - struct { - __u8 vector; - } eoi; - struct kvm_hyperv_exit hyperv; - struct { - __u64 esr_iss; - __u64 fault_ipa; - } arm_nisv; - struct { - __u8 error; - __u8 pad[7]; - __u32 reason; - __u32 index; - __u64 data; - } msr; - struct kvm_xen_exit xen; - struct { - long unsigned int extension_id; - long unsigned int function_id; - long unsigned int args[6]; - long unsigned int ret[2]; - } riscv_sbi; - struct { - long unsigned int csr_num; - long unsigned int new_value; - long unsigned int write_mask; - long unsigned int ret_value; - } riscv_csr; - struct { - __u32 flags; - } notify; - struct { - __u64 flags; - __u64 gpa; - __u64 size; - } memory_fault; - struct { - __u64 flags; - __u64 nr; - union { - struct { - __u64 ret; - __u64 data[5]; - } unknown; - struct { - __u64 ret; - __u64 gpa; - __u64 size; - } get_quote; - struct { - __u64 ret; - __u64 leaf; - __u64 r11; - __u64 r12; - __u64 r13; - __u64 r14; - } get_tdvmcall_info; - struct { - __u64 ret; - __u64 vector; - } setup_event_notify; - }; - } tdx; - char padding[256]; - }; - __u64 kvm_valid_regs; - __u64 kvm_dirty_regs; - union { - struct kvm_sync_regs regs; - char padding[2048]; - } s; -}; - -struct kvm_stat_data { - struct kvm *kvm; - const struct _kvm_stats_desc *desc; - enum kvm_stat_kind kind; -}; - -struct kvm_steal_time { - __u64 steal; - __u32 version; - __u32 flags; - __u8 preempted; - __u8 u8_pad[3]; - __u32 pad[11]; -}; - -struct kvm_task_sleep_head { - raw_spinlock_t lock; - struct hlist_head list; -}; - -struct kvm_task_sleep_node { - struct hlist_node link; - struct swait_queue_head wq; - u32 token; - int cpu; -}; - -struct preempt_ops; - -struct preempt_notifier { - struct hlist_node link; - struct preempt_ops *ops; -}; - -struct x86_emulate_ctxt; - -struct kvm_vcpu_xen { - u64 hypercall_rip; - u32 current_runstate; - u8 upcall_vector; - struct gfn_to_pfn_cache vcpu_info_cache; - struct gfn_to_pfn_cache vcpu_time_info_cache; - struct gfn_to_pfn_cache runstate_cache; - struct gfn_to_pfn_cache runstate2_cache; - u64 last_steal; - u64 runstate_entry_time; - u64 runstate_times[4]; - long unsigned int evtchn_pending_sel; - u32 vcpu_id; - u32 timer_virq; - u64 timer_expires; - atomic_t timer_pending; - struct hrtimer timer; - int poll_evtchn; - struct timer_list poll_timer; - struct kvm_hypervisor_cpuid cpuid; -}; - -struct kvm_vcpu_hv; - -struct kvm_vcpu_arch { - long unsigned int regs[17]; - u32 regs_avail; - u32 regs_dirty; - long unsigned int cr0; - long unsigned int cr0_guest_owned_bits; - long unsigned int cr2; - long unsigned int cr3; - long unsigned int cr4; - long unsigned int cr4_guest_owned_bits; - long unsigned int cr4_guest_rsvd_bits; - long unsigned int cr8; - u32 host_pkru; - u32 pkru; - u32 hflags; - u64 efer; - u64 host_debugctl; - u64 apic_base; - struct kvm_lapic *apic; - bool load_eoi_exitmap_pending; - long unsigned int ioapic_handled_vectors[4]; - long unsigned int apic_attention; - int32_t apic_arb_prio; - int mp_state; - u64 ia32_misc_enable_msr; - u64 smbase; - u64 smi_count; - bool at_instruction_boundary; - bool tpr_access_reporting; - bool xfd_no_write_intercept; - u64 ia32_xss; - u64 microcode_version; - u64 arch_capabilities; - u64 perf_capabilities; - struct kvm_mmu *mmu; - struct kvm_mmu root_mmu; - struct kvm_mmu guest_mmu; - struct kvm_mmu nested_mmu; - struct kvm_mmu *walk_mmu; - struct kvm_mmu_memory_cache mmu_pte_list_desc_cache; - struct kvm_mmu_memory_cache mmu_shadow_page_cache; - struct kvm_mmu_memory_cache mmu_shadowed_info_cache; - struct kvm_mmu_memory_cache mmu_page_header_cache; - struct kvm_mmu_memory_cache mmu_external_spt_cache; - struct fpu_guest guest_fpu; - u64 xcr0; - u64 guest_supported_xcr0; - struct kvm_pio_request pio; - void *pio_data; - void *sev_pio_data; - unsigned int sev_pio_count; - u8 event_exit_inst_len; - bool exception_from_userspace; - struct kvm_queued_exception exception; - struct kvm_queued_exception exception_vmexit; - struct kvm_queued_interrupt interrupt; - int halt_request; - int cpuid_nent; - struct kvm_cpuid_entry2 *cpuid_entries; - bool cpuid_dynamic_bits_dirty; - bool is_amd_compatible; - u32 cpu_caps[29]; - u64 reserved_gpa_bits; - int maxphyaddr; - struct x86_emulate_ctxt *emulate_ctxt; - bool emulate_regs_need_sync_to_vcpu; - bool emulate_regs_need_sync_from_vcpu; - int (*complete_userspace_io)(struct kvm_vcpu *); - long unsigned int cui_linear_rip; - int cui_rdmsr_imm_reg; - gpa_t time; - s8 pvclock_tsc_shift; - u32 pvclock_tsc_mul; - unsigned int hw_tsc_khz; - struct gfn_to_pfn_cache pv_time; - bool pvclock_set_guest_stopped_request; - struct { - u8 preempted; - u64 msr_val; - u64 last_steal; - struct gfn_to_hva_cache cache; - } st; - u64 l1_tsc_offset; - u64 tsc_offset; - u64 last_guest_tsc; - u64 last_host_tsc; - u64 tsc_offset_adjustment; - u64 this_tsc_nsec; - u64 this_tsc_write; - u64 this_tsc_generation; - bool tsc_catchup; - bool tsc_always_catchup; - s8 virtual_tsc_shift; - u32 virtual_tsc_mult; - u32 virtual_tsc_khz; - s64 ia32_tsc_adjust_msr; - u64 msr_ia32_power_ctl; - u64 l1_tsc_scaling_ratio; - u64 tsc_scaling_ratio; - atomic_t nmi_queued; - unsigned int nmi_pending; - bool nmi_injected; - bool smi_pending; - u8 handling_intr_from_guest; - struct kvm_mtrr mtrr_state; - u64 pat; - unsigned int switch_db_regs; - long unsigned int db[4]; - long unsigned int dr6; - long unsigned int dr7; - long unsigned int eff_db[4]; - long unsigned int guest_debug_dr7; - u64 msr_platform_info; - u64 msr_misc_features_enables; - u64 mcg_cap; - u64 mcg_status; - u64 mcg_ctl; - u64 mcg_ext_ctl; - u64 *mce_banks; - u64 *mci_ctl2_banks; - u64 mmio_gva; - unsigned int mmio_access; - gfn_t mmio_gfn; - u64 mmio_gen; - struct kvm_pmu pmu; - long unsigned int singlestep_rip; - bool hyperv_enabled; - struct kvm_vcpu_hv *hyperv; - struct kvm_vcpu_xen xen; - cpumask_var_t wbinvd_dirty_mask; - long unsigned int last_retry_eip; - long unsigned int last_retry_addr; - struct { - bool halted; - gfn_t gfns[64]; - struct gfn_to_hva_cache data; - u64 msr_en_val; - u64 msr_int_val; - u16 vec; - u32 id; - u32 host_apf_flags; - bool send_always; - bool delivery_as_pf_vmexit; - bool pageready_pending; - } apf; - struct { - u64 length; - u64 status; - } osvw; - struct { - u64 msr_val; - struct gfn_to_hva_cache data; - } pv_eoi; - u64 msr_kvm_poll_control; - struct { - bool pv_unhalted; - } pv; - int pending_ioapic_eoi; - int pending_external_vector; - int highest_stale_pending_ioapic_eoi; - bool preempted_in_kernel; - bool l1tf_flush_l1d; - int last_vmentry_cpu; - u64 msr_hwcr; - struct { - u32 features; - bool enforce; - } pv_cpuid; - bool guest_state_protected; - bool guest_tsc_protected; - bool pdptrs_from_userspace; - hpa_t hv_root_tdp; -}; - -struct kvm_vcpu_stat_generic { - u64 halt_successful_poll; - u64 halt_attempted_poll; - u64 halt_poll_invalid; - u64 halt_wakeup; - u64 halt_poll_success_ns; - u64 halt_poll_fail_ns; - u64 halt_wait_ns; - u64 halt_poll_success_hist[32]; - u64 halt_poll_fail_hist[32]; - u64 halt_wait_hist[32]; - u64 blocking; -}; - -struct kvm_vcpu_stat { - struct kvm_vcpu_stat_generic generic; - u64 pf_taken; - u64 pf_fixed; - u64 pf_emulate; - u64 pf_spurious; - u64 pf_fast; - u64 pf_mmio_spte_created; - u64 pf_guest; - u64 tlb_flush; - u64 invlpg; - u64 exits; - u64 io_exits; - u64 mmio_exits; - u64 signal_exits; - u64 irq_window_exits; - u64 nmi_window_exits; - u64 l1d_flush; - u64 halt_exits; - u64 request_irq_exits; - u64 irq_exits; - u64 host_state_reload; - u64 fpu_reload; - u64 insn_emulation; - u64 insn_emulation_fail; - u64 hypercalls; - u64 irq_injections; - u64 nmi_injections; - u64 req_event; - u64 nested_run; - u64 directed_yield_attempted; - u64 directed_yield_successful; - u64 preemption_reported; - u64 preemption_other; - u64 guest_mode; - u64 notify_window_exits; -}; - -struct kvm_vcpu { - struct kvm *kvm; - struct preempt_notifier preempt_notifier; - int cpu; - int vcpu_id; - int vcpu_idx; - int ____srcu_idx; - int mode; - u64 requests; - long unsigned int guest_debug; - struct mutex mutex; - struct kvm_run *run; - struct rcuwait wait; - struct pid *pid; - rwlock_t pid_lock; - int sigset_active; - sigset_t sigset; - unsigned int halt_poll_ns; - bool valid_wakeup; - int mmio_needed; - int mmio_read_completed; - int mmio_is_write; - int mmio_cur_fragment; - int mmio_nr_fragments; - struct kvm_mmio_fragment mmio_fragments[2]; - struct { - u32 queued; - struct list_head queue; - struct list_head done; - spinlock_t lock; - } async_pf; - struct { - bool in_spin_loop; - bool dy_eligible; - } spin_loop; - bool wants_to_run; - bool preempted; - bool ready; - bool scheduled_out; - struct kvm_vcpu_arch arch; - struct kvm_vcpu_stat stat; - char stats_id[48]; - struct kvm_dirty_ring dirty_ring; - struct kvm_memory_slot *last_used_slot; - u64 last_used_slot_gen; -}; - -struct kvm_vcpu_hv_synic { - u64 version; - u64 control; - u64 msg_page; - u64 evt_page; - atomic64_t sint[16]; - atomic_t sint_to_gsi[16]; - long unsigned int auto_eoi_bitmap[4]; - long unsigned int vec_bitmap[4]; - bool active; - bool dont_zero_synic_pages; -}; - -struct kvm_vcpu_hv_stimer { - struct hrtimer timer; - int index; - union hv_stimer_config config; - u64 count; - u64 exp_time; - struct hv_message msg; - bool msg_pending; -}; - -struct kvm_vcpu_hv_tlb_flush_fifo { - spinlock_t write_lock; - struct { - union { - struct __kfifo kfifo; - u64 *type; - const u64 *const_type; - char (*rectype)[0]; - u64 *ptr; - const u64 *ptr_const; - }; - u64 buf[16]; - } entries; -}; - -struct kvm_vcpu_hv { - struct kvm_vcpu *vcpu; - u32 vp_index; - u64 hv_vapic; - s64 runtime_offset; - struct kvm_vcpu_hv_synic synic; - struct kvm_hyperv_exit exit; - struct kvm_vcpu_hv_stimer stimer[4]; - long unsigned int stimer_pending_bitmap[1]; - bool enforce_cpuid; - struct { - u32 features_eax; - u32 features_ebx; - u32 features_edx; - u32 enlightenments_eax; - u32 enlightenments_ebx; - u32 syndbg_cap_eax; - u32 nested_eax; - u32 nested_ebx; - } cpuid_cache; - struct kvm_vcpu_hv_tlb_flush_fifo tlb_flush_fifo[2]; - u64 sparse_banks[64]; - long unsigned int vcpu_mask[64]; - struct hv_vp_assist_page vp_assist_page; - struct { - u64 pa_page_gpa; - u64 vm_id; - u32 vp_id; - } nested; -}; - -struct kvm_vcpu_pv_apf_data { - __u32 flags; - __u32 token; - __u8 pad[56]; -}; - -struct msr_bitmap_range { - u32 flags; - u32 nmsrs; - u32 base; - long unsigned int *bitmap; -}; - -struct kvm_x86_msr_filter { - u8 count; - bool default_allow: 1; - struct msr_bitmap_range ranges[16]; -}; - -struct kvm_x86_nested_ops { - void (*leave_nested)(struct kvm_vcpu *); - bool (*is_exception_vmexit)(struct kvm_vcpu *, u8, u32); - int (*check_events)(struct kvm_vcpu *); - bool (*has_events)(struct kvm_vcpu *, bool); - void (*triple_fault)(struct kvm_vcpu *); - int (*get_state)(struct kvm_vcpu *, struct kvm_nested_state *, unsigned int); - int (*set_state)(struct kvm_vcpu *, struct kvm_nested_state *, struct kvm_nested_state *); - bool (*get_nested_state_pages)(struct kvm_vcpu *); - int (*write_log_dirty)(struct kvm_vcpu *, gpa_t); - int (*enable_evmcs)(struct kvm_vcpu *, uint16_t *); - uint16_t (*get_evmcs_version)(struct kvm_vcpu *); - void (*hv_inject_synthetic_vmexit_post_tlb_flush)(struct kvm_vcpu *); -}; - -typedef void cpu_emergency_virt_cb(void); - -struct x86_instruction_info; - -struct kvm_kernel_irqfd; - -union kvm_smram; - -struct msr_data; - -struct kvm_x86_ops { - const char *name; - int (*check_processor_compatibility)(void); - int (*enable_virtualization_cpu)(void); - void (*disable_virtualization_cpu)(void); - cpu_emergency_virt_cb *emergency_disable_virtualization_cpu; - void (*hardware_unsetup)(void); - bool (*has_emulated_msr)(struct kvm *, u32); - void (*vcpu_after_set_cpuid)(struct kvm_vcpu *); - unsigned int vm_size; - int (*vm_init)(struct kvm *); - void (*vm_destroy)(struct kvm *); - void (*vm_pre_destroy)(struct kvm *); - int (*vcpu_precreate)(struct kvm *); - int (*vcpu_create)(struct kvm_vcpu *); - void (*vcpu_free)(struct kvm_vcpu *); - void (*vcpu_reset)(struct kvm_vcpu *, bool); - void (*prepare_switch_to_guest)(struct kvm_vcpu *); - void (*vcpu_load)(struct kvm_vcpu *, int); - void (*vcpu_put)(struct kvm_vcpu *); - const u64 HOST_OWNED_DEBUGCTL; - void (*update_exception_bitmap)(struct kvm_vcpu *); - int (*get_msr)(struct kvm_vcpu *, struct msr_data *); - int (*set_msr)(struct kvm_vcpu *, struct msr_data *); - u64 (*get_segment_base)(struct kvm_vcpu *, int); - void (*get_segment)(struct kvm_vcpu *, struct kvm_segment *, int); - int (*get_cpl)(struct kvm_vcpu *); - int (*get_cpl_no_cache)(struct kvm_vcpu *); - void (*set_segment)(struct kvm_vcpu *, struct kvm_segment *, int); - void (*get_cs_db_l_bits)(struct kvm_vcpu *, int *, int *); - bool (*is_valid_cr0)(struct kvm_vcpu *, long unsigned int); - void (*set_cr0)(struct kvm_vcpu *, long unsigned int); - void (*post_set_cr3)(struct kvm_vcpu *, long unsigned int); - bool (*is_valid_cr4)(struct kvm_vcpu *, long unsigned int); - void (*set_cr4)(struct kvm_vcpu *, long unsigned int); - int (*set_efer)(struct kvm_vcpu *, u64); - void (*get_idt)(struct kvm_vcpu *, struct desc_ptr *); - void (*set_idt)(struct kvm_vcpu *, struct desc_ptr *); - void (*get_gdt)(struct kvm_vcpu *, struct desc_ptr *); - void (*set_gdt)(struct kvm_vcpu *, struct desc_ptr *); - void (*sync_dirty_debug_regs)(struct kvm_vcpu *); - void (*set_dr7)(struct kvm_vcpu *, long unsigned int); - void (*cache_reg)(struct kvm_vcpu *, enum kvm_reg); - long unsigned int (*get_rflags)(struct kvm_vcpu *); - void (*set_rflags)(struct kvm_vcpu *, long unsigned int); - bool (*get_if_flag)(struct kvm_vcpu *); - void (*flush_tlb_all)(struct kvm_vcpu *); - void (*flush_tlb_current)(struct kvm_vcpu *); - int (*flush_remote_tlbs)(struct kvm *); - int (*flush_remote_tlbs_range)(struct kvm *, gfn_t, gfn_t); - void (*flush_tlb_gva)(struct kvm_vcpu *, gva_t); - void (*flush_tlb_guest)(struct kvm_vcpu *); - int (*vcpu_pre_run)(struct kvm_vcpu *); - enum exit_fastpath_completion (*vcpu_run)(struct kvm_vcpu *, u64); - int (*handle_exit)(struct kvm_vcpu *, enum exit_fastpath_completion); - int (*skip_emulated_instruction)(struct kvm_vcpu *); - void (*update_emulated_instruction)(struct kvm_vcpu *); - void (*set_interrupt_shadow)(struct kvm_vcpu *, int); - u32 (*get_interrupt_shadow)(struct kvm_vcpu *); - void (*patch_hypercall)(struct kvm_vcpu *, unsigned char *); - void (*inject_irq)(struct kvm_vcpu *, bool); - void (*inject_nmi)(struct kvm_vcpu *); - void (*inject_exception)(struct kvm_vcpu *); - void (*cancel_injection)(struct kvm_vcpu *); - int (*interrupt_allowed)(struct kvm_vcpu *, bool); - int (*nmi_allowed)(struct kvm_vcpu *, bool); - bool (*get_nmi_mask)(struct kvm_vcpu *); - void (*set_nmi_mask)(struct kvm_vcpu *, bool); - bool (*is_vnmi_pending)(struct kvm_vcpu *); - bool (*set_vnmi_pending)(struct kvm_vcpu *); - void (*enable_nmi_window)(struct kvm_vcpu *); - void (*enable_irq_window)(struct kvm_vcpu *); - void (*update_cr8_intercept)(struct kvm_vcpu *, int, int); - const bool x2apic_icr_is_split; - const long unsigned int required_apicv_inhibits; - bool allow_apicv_in_x2apic_without_x2apic_virtualization; - void (*refresh_apicv_exec_ctrl)(struct kvm_vcpu *); - void (*hwapic_isr_update)(struct kvm_vcpu *, int); - void (*load_eoi_exitmap)(struct kvm_vcpu *, u64 *); - void (*set_virtual_apic_mode)(struct kvm_vcpu *); - void (*set_apic_access_page_addr)(struct kvm_vcpu *); - void (*deliver_interrupt)(struct kvm_lapic *, int, int, int); - int (*sync_pir_to_irr)(struct kvm_vcpu *); - int (*set_tss_addr)(struct kvm *, unsigned int); - int (*set_identity_map_addr)(struct kvm *, u64); - u8 (*get_mt_mask)(struct kvm_vcpu *, gfn_t, bool); - void (*load_mmu_pgd)(struct kvm_vcpu *, hpa_t, int); - int (*link_external_spt)(struct kvm *, gfn_t, enum pg_level, void *); - int (*set_external_spte)(struct kvm *, gfn_t, enum pg_level, kvm_pfn_t); - int (*free_external_spt)(struct kvm *, gfn_t, enum pg_level, void *); - int (*remove_external_spte)(struct kvm *, gfn_t, enum pg_level, kvm_pfn_t); - bool (*has_wbinvd_exit)(void); - u64 (*get_l2_tsc_offset)(struct kvm_vcpu *); - u64 (*get_l2_tsc_multiplier)(struct kvm_vcpu *); - void (*write_tsc_offset)(struct kvm_vcpu *); - void (*write_tsc_multiplier)(struct kvm_vcpu *); - void (*get_exit_info)(struct kvm_vcpu *, u32 *, u64 *, u64 *, u32 *, u32 *); - void (*get_entry_info)(struct kvm_vcpu *, u32 *, u32 *); - int (*check_intercept)(struct kvm_vcpu *, struct x86_instruction_info *, enum x86_intercept_stage, struct x86_exception *); - void (*handle_exit_irqoff)(struct kvm_vcpu *); - void (*update_cpu_dirty_logging)(struct kvm_vcpu *); - const struct kvm_x86_nested_ops *nested_ops; - void (*vcpu_blocking)(struct kvm_vcpu *); - void (*vcpu_unblocking)(struct kvm_vcpu *); - int (*pi_update_irte)(struct kvm_kernel_irqfd *, struct kvm *, unsigned int, uint32_t, struct kvm_vcpu *, u32); - void (*pi_start_bypass)(struct kvm *); - void (*apicv_pre_state_restore)(struct kvm_vcpu *); - void (*apicv_post_state_restore)(struct kvm_vcpu *); - bool (*dy_apicv_has_pending_interrupt)(struct kvm_vcpu *); - bool (*protected_apic_has_interrupt)(struct kvm_vcpu *); - int (*set_hv_timer)(struct kvm_vcpu *, u64, bool *); - void (*cancel_hv_timer)(struct kvm_vcpu *); - void (*setup_mce)(struct kvm_vcpu *); - int (*smi_allowed)(struct kvm_vcpu *, bool); - int (*enter_smm)(struct kvm_vcpu *, union kvm_smram *); - int (*leave_smm)(struct kvm_vcpu *, const union kvm_smram *); - void (*enable_smi_window)(struct kvm_vcpu *); - int (*dev_get_attr)(u32, u64, u64 *); - int (*mem_enc_ioctl)(struct kvm *, void *); - int (*vcpu_mem_enc_ioctl)(struct kvm_vcpu *, void *); - int (*mem_enc_register_region)(struct kvm *, struct kvm_enc_region *); - int (*mem_enc_unregister_region)(struct kvm *, struct kvm_enc_region *); - int (*vm_copy_enc_context_from)(struct kvm *, unsigned int); - int (*vm_move_enc_context_from)(struct kvm *, unsigned int); - void (*guest_memory_reclaimed)(struct kvm *); - int (*get_feature_msr)(u32, u64 *); - int (*check_emulate_instruction)(struct kvm_vcpu *, int, void *, int); - bool (*apic_init_signal_blocked)(struct kvm_vcpu *); - int (*enable_l2_tlb_flush)(struct kvm_vcpu *); - void (*migrate_timers)(struct kvm_vcpu *); - void (*recalc_msr_intercepts)(struct kvm_vcpu *); - int (*complete_emulated_msr)(struct kvm_vcpu *, int); - void (*vcpu_deliver_sipi_vector)(struct kvm_vcpu *, u8); - long unsigned int (*vcpu_get_apicv_inhibit_reasons)(struct kvm_vcpu *); - gva_t (*get_untagged_addr)(struct kvm_vcpu *, gva_t, unsigned int); - void * (*alloc_apic_backing_page)(struct kvm_vcpu *); - int (*gmem_prepare)(struct kvm *, kvm_pfn_t, gfn_t, int); - void (*gmem_invalidate)(kvm_pfn_t, kvm_pfn_t); - int (*private_max_mapping_level)(struct kvm *, kvm_pfn_t); -}; - -struct kvm_x86_pmu_event_filter { - __u32 action; - __u32 nevents; - __u32 fixed_counter_bitmap; - __u32 flags; - __u32 nr_includes; - __u32 nr_excludes; - __u64 *includes; - __u64 *excludes; - __u64 events[0]; -}; - -union l1_cache { - struct { - unsigned int line_size: 8; - unsigned int lines_per_tag: 8; - unsigned int assoc: 8; - unsigned int size_in_kb: 8; - }; - unsigned int val; -}; - -union l2_cache { - struct { - unsigned int line_size: 8; - unsigned int lines_per_tag: 4; - unsigned int assoc: 4; - unsigned int size_in_kb: 16; - }; - unsigned int val; -}; - -union l3_cache { - struct { - unsigned int line_size: 8; - unsigned int lines_per_tag: 4; - unsigned int assoc: 4; - unsigned int res: 2; - unsigned int size_encoded: 14; - }; - unsigned int val; -}; - -typedef int (*lookup_by_table_id_t)(struct net *, u32); - -struct l3mdev_handler { - lookup_by_table_id_t dev_lookup; -}; - -struct l3mdev_ops { - u32 (*l3mdev_fib_table)(const struct net_device *); - struct sk_buff * (*l3mdev_l3_rcv)(struct net_device *, struct sk_buff *, u16); - struct sk_buff * (*l3mdev_l3_out)(struct net_device *, struct sock *, struct sk_buff *, u16); - struct dst_entry * (*l3mdev_link_scope_lookup)(const struct net_device *, struct flowi6 *); -}; - -struct label_it { - int i; - int j; -}; - -struct ladder_device_state { - struct { - u32 promotion_count; - u32 demotion_count; - u64 promotion_time_ns; - u64 demotion_time_ns; - } threshold; - struct { - int promotion_count; - int demotion_count; - } stats; -}; - -struct ladder_device { - struct ladder_device_state states[10]; -}; - -struct landlock_ruleset; - -struct landlock_cred_security { - struct landlock_ruleset *domain; - u16 domain_exec; - u8 log_subdomains_off: 1; -} __attribute__((packed)); - -struct landlock_details { - struct pid *pid; - uid_t uid; - char comm[16]; - char exe_path[0]; -}; - -struct landlock_erratum { - const int abi; - const u8 number; -}; - -struct landlock_file_security { - access_mask_t allowed_access; - deny_masks_t deny_masks; - u8 fown_layer; - struct landlock_cred_security fown_subject; -}; - -struct landlock_hierarchy { - struct landlock_hierarchy *parent; - refcount_t usage; - enum landlock_log_status log_status; - atomic64_t num_denials; - u64 id; - const struct landlock_details *details; - u32 log_same_exec: 1; - u32 log_new_exec: 1; -}; - -struct landlock_object; - -union landlock_key { - struct landlock_object *object; - uintptr_t data; -}; - -struct landlock_id { - union landlock_key key; - const enum landlock_key_type type; -}; - -struct landlock_inode_security { - struct landlock_object *object; -}; - -struct landlock_layer { - u16 level; - access_mask_t access; -}; - -struct landlock_net_port_attr { - __u64 allowed_access; - __u64 port; -}; - -struct landlock_object_underops; - -struct landlock_object { - refcount_t usage; - spinlock_t lock; - void *underobj; - union { - struct callback_head rcu_free; - const struct landlock_object_underops *underops; - }; -}; - -struct landlock_object_underops { - void (*release)(struct landlock_object * const); -}; - -struct landlock_path_beneath_attr { - __u64 allowed_access; - __s32 parent_fd; -} __attribute__((packed)); - -struct landlock_request { - enum landlock_request_type type; - struct common_audit_data audit; - size_t layer_plus_one; - access_mask_t access; - const layer_mask_t (*layer_masks)[0]; - size_t layer_masks_size; - const access_mask_t all_existing_optional_access; - deny_masks_t deny_masks; -}; - -struct landlock_rule { - struct rb_node node; - union landlock_key key; - u32 num_layers; - struct landlock_layer layers[0]; -}; - -struct landlock_ruleset { - struct rb_root root_inode; - struct rb_root root_net_port; - struct landlock_hierarchy *hierarchy; - union { - struct work_struct work_free; - struct { - struct mutex lock; - refcount_t usage; - u32 num_rules; - u32 num_layers; - struct access_masks access_masks[0]; - }; - }; -}; - -struct landlock_ruleset_attr { - __u64 handled_access_fs; - __u64 handled_access_net; - __u64 scoped; -}; - -struct landlock_superblock_security { - atomic_long_t inode_refs; -}; - -struct latch_tree_ops { - bool (*less)(struct latch_tree_node *, struct latch_tree_node *); - int (*comp)(void *, struct latch_tree_node *); -}; - -struct latch_tree_root { - seqcount_latch_t seq; - struct rb_root tree[2]; -}; - -struct latched_seq { - seqcount_latch_t latch; - u64 val[2]; -}; - -struct lateeoi_work { - struct delayed_work delayed; - spinlock_t eoi_list_lock; - struct list_head eoi_list; -}; - -struct latency_record { - long unsigned int backtrace[12]; - unsigned int count; - long unsigned int time; - long unsigned int max; -}; - -struct sched_domain; - -struct lb_env { - struct sched_domain *sd; - struct rq *src_rq; - int src_cpu; - int dst_cpu; - struct rq *dst_rq; - struct cpumask *dst_grpmask; - int new_dst_cpu; - enum cpu_idle_type idle; - long int imbalance; - struct cpumask *cpus; - unsigned int flags; - unsigned int loop; - unsigned int loop_break; - unsigned int loop_max; - enum fbq_type fbq_type; - enum migration_type migration_type; - struct list_head tasks; -}; - -struct lcd_properties { - int max_contrast; -}; - -struct lcd_ops; - -struct lcd_device { - struct lcd_properties props; - struct mutex ops_lock; - const struct lcd_ops *ops; - struct mutex update_lock; - struct list_head entry; - struct device dev; -}; - -struct lcd_ops { - int (*get_power)(struct lcd_device *); - int (*set_power)(struct lcd_device *, int); - int (*get_contrast)(struct lcd_device *); - int (*set_contrast)(struct lcd_device *, int); - int (*set_mode)(struct lcd_device *, u32, u32); - bool (*controls_device)(struct lcd_device *, struct device *); -}; - -struct ld_semaphore { - atomic_long_t count; - raw_spinlock_t wait_lock; - unsigned int wait_readers; - struct list_head read_wait; - struct list_head write_wait; -}; - -struct ldma_port; - -struct ldma_chan { - struct virt_dma_chan vchan; - struct ldma_port *port; - char name[8]; - int nr; - u32 flags; - enum ldma_chan_on_off onoff; - dma_addr_t desc_phys; - void *desc_base; - u32 desc_cnt; - int rst; - u32 hdrm_len; - bool hdrm_csum; - u32 boff_len; - u32 data_endian; - u32 desc_endian; - bool pden; - bool desc_rx_np; - bool data_endian_en; - bool desc_endian_en; - bool abc_en; - bool desc_init; - struct dma_pool *desc_pool; - u32 desc_num; - struct dw2_desc_sw *ds; - struct work_struct work; - struct dma_slave_config config; -}; - -struct ldma_inst_data; - -struct ldma_dev { - struct device *dev; - void *base; - struct reset_control *rst; - struct clk *core_clk; - struct dma_device dma_dev; - u32 ver; - int irq; - struct ldma_port *ports; - struct ldma_chan *chans; - spinlock_t dev_lock; - u32 chan_nrs; - u32 port_nrs; - u32 channels_mask; - u32 flags; - u32 pollcnt; - const struct ldma_inst_data *inst; - struct workqueue_struct *wq; -}; - -struct ldma_inst_data { - bool desc_in_sram; - bool chan_fc; - bool desc_fod; - bool valid_desc_fetch_ack; - u32 orrc; - const char *name; - u32 type; -}; - -struct ldma_port { - struct ldma_dev *ldev; - u32 portid; - u32 rxbl; - u32 txbl; - u32 rxendi; - u32 txendi; - u32 pkt_drop; -}; - -struct privhead { - u16 ver_major; - u16 ver_minor; - u64 logical_disk_start; - u64 logical_disk_size; - u64 config_start; - u64 config_size; - uuid_t disk_id; -}; - -struct tocblock { - u8 bitmap1_name[16]; - u64 bitmap1_start; - u64 bitmap1_size; - u8 bitmap2_name[16]; - u64 bitmap2_start; - u64 bitmap2_size; -}; - -struct vmdb { - u16 ver_major; - u16 ver_minor; - u32 vblk_size; - u32 vblk_offset; - u32 last_vblk_seq; -}; - -struct ldmdb { - struct privhead ph; - struct tocblock toc; - struct vmdb vm; - struct list_head v_dgrp; - struct list_head v_disk; - struct list_head v_volu; - struct list_head v_comp; - struct list_head v_part; -}; - -struct ldsem_waiter { - struct list_head list; - struct task_struct *task; -}; - -struct ldt_struct { - struct desc_struct *entries; - unsigned int nr_entries; - int slot; -}; - -struct ldttss_desc { - u16 limit0; - u16 base0; - u16 base1: 8; - u16 type: 5; - u16 dpl: 2; - u16 p: 1; - u16 limit1: 4; - u16 zero0: 3; - u16 g: 1; - u16 base2: 8; - u32 base3; - u32 zero1; -}; - -typedef struct ldttss_desc ldt_desc; - -typedef struct ldttss_desc tss_desc; - -struct leaf_0x2_reg { - int: 31; - u32 invalid: 1; -}; - -union leaf_0x2_regs { - struct leaf_0x2_reg reg[4]; - u32 regv[4]; - u8 desc[16]; -}; - -struct leaf_0x2_table { - union { - enum _cache_table_type c_type; - enum _tlb_table_type t_type; - }; - union { - short int c_size; - short int entries; - }; -}; - -struct lease_manager_operations { - bool (*lm_break)(struct file_lease *); - int (*lm_change)(struct file_lease *, int, struct list_head *); - void (*lm_setup)(struct file_lease *, void **); - bool (*lm_breaker_owns_lease)(struct file_lease *); -}; - -struct led_pattern; - -struct led_classdev { - const char *name; - unsigned int brightness; - unsigned int max_brightness; - unsigned int color; - int flags; - long unsigned int work_flags; - void (*brightness_set)(struct led_classdev *, enum led_brightness); - int (*brightness_set_blocking)(struct led_classdev *, enum led_brightness); - enum led_brightness (*brightness_get)(struct led_classdev *); - int (*blink_set)(struct led_classdev *, long unsigned int *, long unsigned int *); - int (*pattern_set)(struct led_classdev *, struct led_pattern *, u32, int); - int (*pattern_clear)(struct led_classdev *); - struct device *dev; - const struct attribute_group **groups; - struct list_head node; - const char *default_trigger; - long unsigned int blink_delay_on; - long unsigned int blink_delay_off; - struct timer_list blink_timer; - int blink_brightness; - int new_blink_brightness; - void (*flash_resume)(struct led_classdev *); - struct workqueue_struct *wq; - struct work_struct set_brightness_work; - int delayed_set_value; - long unsigned int delayed_delay_on; - long unsigned int delayed_delay_off; - struct rw_semaphore trigger_lock; - struct led_trigger *trigger; - struct list_head trig_list; - void *trigger_data; - bool activated; - struct led_hw_trigger_type *trigger_type; - const char *hw_control_trigger; - int (*hw_control_is_supported)(struct led_classdev *, long unsigned int); - int (*hw_control_set)(struct led_classdev *, long unsigned int); - int (*hw_control_get)(struct led_classdev *, long unsigned int *); - struct device * (*hw_control_get_device)(struct led_classdev *); - int brightness_hw_changed; - struct kernfs_node *brightness_hw_changed_kn; - struct mutex led_access; -}; - -struct mc_subled; - -struct led_classdev_mc { - struct led_classdev led_cdev; - unsigned int num_colors; - struct mc_subled *subled_info; -}; - -struct led_hw_trigger_type { - int dummy; -}; - -struct led_init_data { - struct fwnode_handle *fwnode; - const char *default_label; - const char *devicename; - bool devname_mandatory; -}; - -struct led_lookup_data { - struct list_head list; - const char *provider; - const char *dev_id; - const char *con_id; -}; - -struct led_pattern { - u32 delta_t; - int brightness; -}; - -struct led_properties { - u32 color; - bool color_present; - const char *function; - u32 func_enum; - bool func_enum_present; - const char *label; -}; - -struct led_trigger_cpu { - bool is_active; - char name[8]; - struct led_trigger *_trig; -}; - -struct legacy_fs_context { - char *legacy_data; - size_t data_size; - enum legacy_fs_param param_type; -}; - -struct legacy_pic { - int nr_legacy_irqs; - struct irq_chip *chip; - void (*mask)(unsigned int); - void (*unmask)(unsigned int); - void (*mask_all)(void); - void (*restore_mask)(void); - void (*init)(int); - int (*probe)(void); - int (*irq_pending)(unsigned int); - void (*make_irq)(unsigned int); -}; - -struct level_datum { - struct mls_level level; - unsigned char isalias; -}; - -struct limit_names { - const char *name; - const char *unit; -}; - -struct linereq; - -struct line { - struct gpio_desc *desc; - struct linereq *req; - unsigned int irq; - u64 edflags; - u64 timestamp_ns; - u32 req_seqno; - u32 line_seqno; - struct delayed_work work; - unsigned int sw_debounced; - unsigned int level; - struct hte_ts_desc hdesc; - int raw_level; - u32 total_discard_seq; - u32 last_seqno; -}; - -struct linear_c { - struct dm_dev *dev; - sector_t start; -}; - -struct linear_range { - unsigned int min; - unsigned int min_sel; - unsigned int max_sel; - unsigned int step; -}; - -struct lineevent_state { - struct gpio_device *gdev; - const char *label; - struct gpio_desc *desc; - u32 eflags; - int irq; - wait_queue_head_t wait; - struct notifier_block device_unregistered_nb; - struct { - union { - struct __kfifo kfifo; - struct gpioevent_data *type; - const struct gpioevent_data *const_type; - char (*rectype)[0]; - struct gpioevent_data *ptr; - const struct gpioevent_data *ptr_const; - }; - struct gpioevent_data buf[16]; - } events; - u64 timestamp; -}; - -struct linehandle_state { - struct gpio_device *gdev; - const char *label; - struct gpio_desc *descs[64]; - u32 num_descs; -}; - -struct lineinfo_changed_ctx { - struct work_struct work; - struct gpio_v2_line_info_changed chg; - struct gpio_device *gdev; - struct gpio_chardev_data *cdev; -}; - -struct linereq { - struct gpio_device *gdev; - const char *label; - u32 num_lines; - wait_queue_head_t wait; - struct notifier_block device_unregistered_nb; - u32 event_buffer_size; - struct { - union { - struct __kfifo kfifo; - struct gpio_v2_line_event *type; - const struct gpio_v2_line_event *const_type; - char (*rectype)[0]; - struct gpio_v2_line_event *ptr; - const struct gpio_v2_line_event *ptr_const; - }; - struct gpio_v2_line_event buf[0]; - } events; - atomic_t seqno; - struct mutex config_mutex; - struct line lines[0]; -}; - -struct linger { - int l_onoff; - int l_linger; -}; - -struct link_capabilities { - int speed; - unsigned int duplex; - long unsigned int linkmodes[2]; -}; - -struct link_free { - union { - long unsigned int next; - long unsigned int handle; - }; -}; - -struct link_mode_info { - int speed; - u8 lanes; - u8 duplex; -}; - -struct linked_page { - struct linked_page *next; - char data[4088]; -}; - -struct linked_reg { - u8 frameno; - union { - u8 spi; - u8 regno; - }; - bool is_reg; -}; - -struct linked_regs { - int cnt; - struct linked_reg entries[6]; -}; - -struct linkinfo_reply_data { - struct ethnl_reply_data base; - struct ethtool_link_ksettings ksettings; - struct ethtool_link_settings *lsettings; -}; - -struct linkmodes_reply_data { - struct ethnl_reply_data base; - struct ethtool_link_ksettings ksettings; - struct ethtool_link_settings *lsettings; - bool peer_empty; -}; - -struct linkstate_reply_data { - struct ethnl_reply_data base; - int link; - int sqi; - int sqi_max; - struct ethtool_link_ext_stats link_stats; - bool link_ext_state_provided; - struct ethtool_link_ext_state_info ethtool_link_ext_state_info; -}; - -struct linux_binprm; - -struct linux_binfmt { - struct list_head lh; - struct module *module; - int (*load_binary)(struct linux_binprm *); - int (*core_dump)(struct coredump_params *); - long unsigned int min_coredump; -}; - -struct linux_binprm { - struct vm_area_struct *vma; - long unsigned int vma_pages; - long unsigned int argmin; - struct mm_struct *mm; - long unsigned int p; - unsigned int have_execfd: 1; - unsigned int execfd_creds: 1; - unsigned int secureexec: 1; - unsigned int point_of_no_return: 1; - unsigned int comm_from_dentry: 1; - unsigned int is_check: 1; - struct file *executable; - struct file *interpreter; - struct file *file; - struct cred *cred; - int unsafe; - unsigned int per_clear; - int argc; - int envc; - const char *filename; - const char *interp; - const char *fdpath; - unsigned int interp_flags; - int execfd; - long unsigned int exec; - struct rlimit rlim_stack; - char buf[256]; -}; - -struct linux_binprm__safe_trusted { - struct file *file; -}; - -struct linux_dirent { - long unsigned int d_ino; - long unsigned int d_off; - short unsigned int d_reclen; - char d_name[0]; -}; - -struct linux_dirent64 { - u64 d_ino; - s64 d_off; - short unsigned int d_reclen; - unsigned char d_type; - char d_name[0]; -}; - -struct linux_efi_initrd { - long unsigned int base; - long unsigned int size; -}; - -struct linux_efi_memreserve { - int size; - atomic_t count; - phys_addr_t next; - struct { - phys_addr_t base; - phys_addr_t size; - } entry[0]; -}; - -struct linux_efi_random_seed { - u32 size; - u8 bits[0]; -}; - -struct linux_efi_tpm_eventlog { - u32 size; - u32 final_events_preboot_size; - u8 version; - u8 log[0]; -}; - -struct linux_logo { - int type; - unsigned int width; - unsigned int height; - unsigned int clutsize; - const unsigned char *clut; - const unsigned char *data; -}; - -struct linux_mib { - long unsigned int mibs[136]; -}; - -struct linux_tls_mib { - long unsigned int mibs[18]; -}; - -struct linux_xfrm_mib { - long unsigned int mibs[33]; -}; - -struct list_lru_node; - -struct list_lru { - struct list_lru_node *node; - struct list_head list; - int shrinker_id; - bool memcg_aware; - struct xarray xa; -}; - -struct list_lru_one { - struct list_head list; - long int nr_items; - spinlock_t lock; -}; - -struct list_lru_memcg { - struct callback_head rcu; - struct list_lru_one node[0]; -}; - -struct list_lru_node { - struct list_lru_one lru; - atomic_long_t nr_items; - long: 64; - long: 64; - long: 64; -}; - -struct listener { - struct list_head list; - pid_t pid; - char valid; -}; - -struct listener_list { - struct rw_semaphore sem; - struct list_head list; -}; - -struct listeners { - struct callback_head rcu; - long unsigned int masks[0]; -}; - -struct load_info { - const char *name; - struct module *mod; - Elf64_Ehdr *hdr; - long unsigned int len; - Elf64_Shdr *sechdrs; - char *secstrings; - char *strtab; - long unsigned int symoffs; - long unsigned int stroffs; - long unsigned int init_typeoffs; - long unsigned int core_typeoffs; - bool sig_ok; - long unsigned int mod_kallsyms_init_off; - struct page **pages; - unsigned int max_pages; - unsigned int used_pages; - struct { - unsigned int sym; - unsigned int str; - unsigned int mod; - unsigned int vers; - unsigned int info; - unsigned int pcpu; - unsigned int vers_ext_crc; - unsigned int vers_ext_name; - } index; -}; - -struct location; - -struct loc_track { - long unsigned int max; - long unsigned int count; - struct location *loc; - loff_t idx; -}; - -struct local_event { - local_lock_t lock; - __u32 count; -}; - -struct local_ports { - u32 range; - bool warned; -}; - -struct location { - depot_stack_handle_t handle; - long unsigned int count; - long unsigned int addr; - long unsigned int waste; - long long int sum_time; - long int min_time; - long int max_time; - long int min_pid; - long int max_pid; - long unsigned int cpus[128]; - nodemask_t nodes; -}; - -struct lock_manager_operations { - void *lm_mod_owner; - fl_owner_t (*lm_get_owner)(fl_owner_t); - void (*lm_put_owner)(fl_owner_t); - void (*lm_notify)(struct file_lock *); - int (*lm_grant)(struct file_lock *, int); - bool (*lm_lock_expirable)(struct file_lock *); - void (*lm_expire_lock)(void); -}; - -struct locks_iterator { - int li_cpu; - loff_t li_pos; -}; - -struct logic_pio_host_ops { - u32 (*in)(void *, long unsigned int, size_t); - void (*out)(void *, long unsigned int, u32, size_t); - u32 (*ins)(void *, long unsigned int, void *, size_t, unsigned int); - void (*outs)(void *, long unsigned int, const void *, size_t, unsigned int); -}; - -struct logic_pio_hwaddr { - struct list_head list; - const struct fwnode_handle *fwnode; - resource_size_t hw_start; - resource_size_t io_start; - resource_size_t size; - long unsigned int flags; - void *hostdata; - const struct logic_pio_host_ops *ops; -}; - -struct logical_block_metadata_cap { - __u32 lbmd_flags; - __u16 lbmd_interval; - __u8 lbmd_size; - __u8 lbmd_opaque_size; - __u8 lbmd_opaque_offset; - __u8 lbmd_pi_size; - __u8 lbmd_pi_offset; - __u8 lbmd_guard_tag_type; - __u8 lbmd_app_tag_size; - __u8 lbmd_ref_tag_size; - __u8 lbmd_storage_tag_size; - __u8 pad; -}; - -struct lookup_args { - int offset; - const struct in6_addr *addr; -}; - -struct loop_cmd { - struct list_head list_entry; - bool use_aio; - atomic_t ref; - long int ret; - struct kiocb iocb; - struct bio_vec *bvec; - struct cgroup_subsys_state *blkcg_css; - struct cgroup_subsys_state *memcg_css; -}; - -struct loop_info64 { - __u64 lo_device; - __u64 lo_inode; - __u64 lo_rdevice; - __u64 lo_offset; - __u64 lo_sizelimit; - __u32 lo_number; - __u32 lo_encrypt_type; - __u32 lo_encrypt_key_size; - __u32 lo_flags; - __u8 lo_file_name[64]; - __u8 lo_crypt_name[64]; - __u8 lo_encrypt_key[32]; - __u64 lo_init[2]; -}; - -struct loop_config { - __u32 fd; - __u32 block_size; - struct loop_info64 info; - __u64 __reserved[8]; -}; - -struct loop_device { - int lo_number; - loff_t lo_offset; - loff_t lo_sizelimit; - int lo_flags; - char lo_file_name[64]; - struct file *lo_backing_file; - unsigned int lo_min_dio_size; - struct block_device *lo_device; - gfp_t old_gfp_mask; - spinlock_t lo_lock; - int lo_state; - spinlock_t lo_work_lock; - struct workqueue_struct *workqueue; - struct work_struct rootcg_work; - struct list_head rootcg_cmd_list; - struct list_head idle_worker_list; - struct rb_root worker_tree; - struct timer_list timer; - bool sysfs_inited; - struct request_queue *lo_queue; - struct blk_mq_tag_set tag_set; - struct gendisk *lo_disk; - struct mutex lo_mutex; - bool idr_visible; -}; - -struct loop_info { - int lo_number; - __kernel_old_dev_t lo_device; - long unsigned int lo_inode; - __kernel_old_dev_t lo_rdevice; - int lo_offset; - int lo_encrypt_type; - int lo_encrypt_key_size; - int lo_flags; - char lo_name[64]; - unsigned char lo_encrypt_key[32]; - long unsigned int lo_init[2]; - char reserved[4]; -}; - -struct loop_worker { - struct rb_node rb_node; - struct work_struct work; - struct list_head cmd_list; - struct list_head idle_list; - struct loop_device *lo; - struct cgroup_subsys_state *blkcg_css; - long unsigned int last_ran_at; -}; - -union lower_chunk { - union lower_chunk *next; - long unsigned int data[256]; -}; - -struct lp8788_platform_data; - -struct lp8788 { - struct device *dev; - struct regmap *regmap; - struct irq_domain *irqdm; - int irq; - struct lp8788_platform_data *pdata; -}; - -struct lp8788_buck1_dvs { - enum lp8788_dvs_sel vsel; -}; - -struct lp8788_buck2_dvs { - enum lp8788_dvs_sel vsel; -}; - -struct lp8788_chg_param; - -struct lp8788_charger_platform_data { - const char *adc_vbatt; - const char *adc_batt_temp; - unsigned int max_vbatt_mv; - struct lp8788_chg_param *chg_params; - int num_chg_params; - void (*charger_event)(struct lp8788 *, enum lp8788_charger_event); -}; - -struct lp8788_chg_param { - u8 addr; - u8 val; -}; - -struct lp8788_irq_data { - struct lp8788 *lp; - struct mutex irq_lock; - struct irq_domain *domain; - int enabled[24]; -}; - -struct lp8788_led_platform_data { - char *name; - enum lp8788_isink_scale scale; - enum lp8788_isink_number num; - int iout_code; -}; - -struct iio_map; - -struct lp8788_vib_platform_data; - -struct lp8788_platform_data { - int (*init_func)(struct lp8788 *); - struct regulator_init_data *buck_data[4]; - struct regulator_init_data *dldo_data[12]; - struct regulator_init_data *aldo_data[10]; - struct lp8788_buck1_dvs *buck1_dvs; - struct lp8788_buck2_dvs *buck2_dvs; - struct lp8788_charger_platform_data *chg_pdata; - enum lp8788_alarm_sel alarm_sel; - struct lp8788_led_platform_data *led_pdata; - struct lp8788_vib_platform_data *vib_pdata; - struct iio_map *adc_pdata; -}; - -struct lp8788_vib_platform_data { - char *name; - enum lp8788_isink_scale scale; - enum lp8788_isink_number num; - int iout_code; - int pwm_code; -}; - -struct lpi_constraints { - acpi_handle handle; - int min_dstate; -}; - -struct lpi_device_constraint { - int uid; - int min_dstate; - int function_states; -}; - -struct lpi_device_constraint_amd { - char *name; - int enabled; - int function_states; - int min_dstate; -}; - -struct lpi_device_info { - char *name; - int enabled; - union acpi_object *package; -}; - -struct lpit_residency_info { - struct acpi_generic_address gaddr; - u64 frequency; - void *iomem_addr; -}; - -struct lpm_trie_node; - -struct lpm_trie { - struct bpf_map map; - struct lpm_trie_node *root; - struct bpf_mem_alloc ma; - size_t n_entries; - size_t max_prefixlen; - size_t data_size; - rqspinlock_t lock; -}; - -struct lpm_trie_node { - struct lpm_trie_node *child[2]; - u32 prefixlen; - u32 flags; - u8 data[0]; -}; - -struct lpss_clk_data { - const char *name; - struct clk *clk; -}; - -struct lpss_private_data; - -struct lpss_device_desc { - unsigned int flags; - const char *clk_con_id; - unsigned int prv_offset; - size_t prv_size_override; - const struct property_entry *properties; - void (*setup)(struct lpss_private_data *); - bool resume_from_noirq; -}; - -struct lpss_device_links { - const char *supplier_hid; - const char *supplier_uid; - const char *consumer_hid; - const char *consumer_uid; - u32 flags; - const struct dmi_system_id *dep_missing_ids; -}; - -struct lpss_private_data { - struct acpi_device *adev; - void *mmio_base; - resource_size_t mmio_size; - unsigned int fixed_clk_rate; - struct clk *clk; - const struct lpss_device_desc *dev_desc; - u32 prv_reg_ctx[9]; -}; - -struct lru_gen_folio { - long unsigned int max_seq; - long unsigned int min_seq[2]; - long unsigned int timestamps[4]; - struct list_head folios[40]; - long int nr_pages[40]; - long unsigned int avg_refaulted[8]; - long unsigned int avg_total[8]; - long unsigned int protected[8]; - atomic_long_t evicted[8]; - atomic_long_t refaulted[8]; - bool enabled; - u8 gen; - u8 seg; - struct hlist_nulls_node list; -}; - -struct lru_gen_memcg { - long unsigned int seq; - long unsigned int nr_memcgs[3]; - struct hlist_nulls_head fifo[24]; - spinlock_t lock; -}; - -struct lru_gen_mm_list { - struct list_head fifo; - spinlock_t lock; -}; - -struct lru_gen_mm_state { - long unsigned int seq; - struct list_head *head; - struct list_head *tail; - long unsigned int *filters[2]; - long unsigned int stats[4]; -}; - -struct lruvec; - -struct lru_gen_mm_walk { - struct lruvec *lruvec; - long unsigned int seq; - long unsigned int next_addr; - int nr_pages[40]; - int mm_stats[4]; - int batched; - int swappiness; - bool force_scan; -}; - -struct zswap_lruvec_state { - atomic_long_t nr_disk_swapins; -}; - -struct pglist_data; - -struct lruvec { - struct list_head lists[5]; - spinlock_t lru_lock; - long unsigned int anon_cost; - long unsigned int file_cost; - atomic_long_t nonresident_age; - long unsigned int refaults[2]; - long unsigned int flags; - struct lru_gen_folio lrugen; - struct lru_gen_mm_state mm_state; - struct pglist_data *pgdat; - struct zswap_lruvec_state zswap_lruvec_state; -}; - -struct lruvec_stats { - long int state[33]; - long int state_local[33]; - long int state_pending[33]; -}; - -struct lruvec_stats_percpu { - long int state[33]; - long int state_prev[33]; -}; - -struct skcipher_alg_common { - unsigned int min_keysize; - unsigned int max_keysize; - unsigned int ivsize; - unsigned int chunksize; - unsigned int statesize; - struct crypto_alg base; -}; - -struct lskcipher_alg { - int (*setkey)(struct crypto_lskcipher *, const u8 *, unsigned int); - int (*encrypt)(struct crypto_lskcipher *, const u8 *, u8 *, unsigned int, u8 *, u32); - int (*decrypt)(struct crypto_lskcipher *, const u8 *, u8 *, unsigned int, u8 *, u32); - int (*init)(struct crypto_lskcipher *); - void (*exit)(struct crypto_lskcipher *); - struct skcipher_alg_common co; -}; - -struct lskcipher_instance { - void (*free)(struct lskcipher_instance *); - union { - struct { - char head[64]; - struct crypto_instance base; - } s; - struct lskcipher_alg alg; - }; -}; - -struct lsm_blob_sizes { - int lbs_cred; - int lbs_file; - int lbs_ib; - int lbs_inode; - int lbs_sock; - int lbs_superblock; - int lbs_ipc; - int lbs_key; - int lbs_msg_msg; - int lbs_perf_event; - int lbs_task; - int lbs_xattr_count; - int lbs_tun_dev; - int lbs_bdev; - bool lbs_secmark; -}; - -struct lsm_context { - char *context; - u32 len; - int id; -}; - -struct lsm_ctx { - __u64 id; - __u64 flags; - __u64 len; - __u64 ctx_len; - __u8 ctx[0]; -}; - -struct lsm_ibendport_audit { - const char *dev_name; - u8 port; -}; - -struct lsm_ibpkey_audit { - u64 subnet_prefix; - u16 pkey; -}; - -struct lsm_id { - const char *name; - u64 id; - bool lsmprop; -}; - -struct lsm_info { - const char *name; - enum lsm_order order; - long unsigned int flags; - int *enabled; - int (*init)(void); - struct lsm_blob_sizes *blobs; -}; - -struct lsm_ioctlop_audit { - struct path path; - u16 cmd; -}; - -struct lsm_network_audit { - int netif; - const struct sock *sk; - u16 family; - __be16 dport; - __be16 sport; - union { - struct { - __be32 daddr; - __be32 saddr; - } v4; - struct { - struct in6_addr daddr; - struct in6_addr saddr; - } v6; - } fam; -}; - -struct ltl_monitor {}; - -struct lv_info { - short unsigned int pps_per_lv; - short unsigned int pps_found; - unsigned char lv_is_contiguous; -}; - -struct lvd { - __be16 lv_ix; - __be16 res2; - __be16 res4; - __be16 maxsize; - __be16 lv_state; - __be16 mirror; - __be16 mirror_policy; - __be16 num_lps; - __be16 res10[8]; -}; - -struct lvm_rec { - char lvm_id[4]; - char reserved4[16]; - __be32 lvmarea_len; - __be32 vgda_len; - __be32 vgda_psn[2]; - char reserved36[10]; - __be16 pp_size; - char reserved46[12]; - __be16 version; -}; - -struct lvname { - char name[64]; -}; - -struct lwq { - spinlock_t lock; - struct llist_node *ready; - struct llist_head new; -}; - -struct lwq_node { - struct llist_node node; -}; - -struct lwtunnel_encap_ops { - int (*build_state)(struct net *, struct nlattr *, unsigned int, const void *, struct lwtunnel_state **, struct netlink_ext_ack *); - void (*destroy_state)(struct lwtunnel_state *); - int (*output)(struct net *, struct sock *, struct sk_buff *); - int (*input)(struct sk_buff *); - int (*fill_encap)(struct sk_buff *, struct lwtunnel_state *); - int (*get_encap_size)(struct lwtunnel_state *); - int (*cmp_encap)(struct lwtunnel_state *, struct lwtunnel_state *); - int (*xmit)(struct sk_buff *); - struct module *owner; -}; - -struct lwtunnel_state { - __u16 type; - __u16 flags; - __u16 headroom; - atomic_t refcnt; - int (*orig_output)(struct net *, struct sock *, struct sk_buff *); - int (*orig_input)(struct sk_buff *); - struct callback_head rcu; - __u8 data[0]; -}; - -struct lz4_comp_opts { - __le32 version; - __le32 flags; -}; - -struct lzma2_dec { - enum lzma2_seq sequence; - enum lzma2_seq next_sequence; - uint32_t uncompressed; - uint32_t compressed; - bool need_dict_reset; - bool need_props; - bool pedantic_microlzma; -}; - -struct lzma_len_dec { - uint16_t choice; - uint16_t choice2; - uint16_t low[128]; - uint16_t mid[128]; - uint16_t high[256]; -}; - -struct lzma_dec { - uint32_t rep0; - uint32_t rep1; - uint32_t rep2; - uint32_t rep3; - enum lzma_state state; - uint32_t len; - uint32_t lc; - uint32_t literal_pos_mask; - uint32_t pos_mask; - uint16_t is_match[192]; - uint16_t is_rep[12]; - uint16_t is_rep0[12]; - uint16_t is_rep1[12]; - uint16_t is_rep2[12]; - uint16_t is_rep0_long[192]; - uint16_t dist_slot[256]; - uint16_t dist_special[114]; - uint16_t dist_align[16]; - struct lzma_len_dec match_len_dec; - struct lzma_len_dec rep_len_dec; - uint16_t literal[12288]; -}; - -struct lzma_header { - uint8_t pos; - uint32_t dict_size; - uint64_t dst_size; -} __attribute__((packed)); - -struct ma_topiary { - struct maple_enode *head; - struct maple_enode *tail; - struct maple_tree *mtree; -}; - -struct maple_node; - -struct ma_wr_state { - struct ma_state *mas; - struct maple_node *node; - long unsigned int r_min; - long unsigned int r_max; - enum maple_type type; - unsigned char offset_end; - long unsigned int *pivots; - long unsigned int end_piv; - void **slots; - void *entry; - void *content; - unsigned char vacant_height; - unsigned char sufficient_height; -}; - -struct mac_addr { - unsigned char addr[6]; -}; - -typedef struct mac_addr mac_addr; - -struct mac_address { - u8 addr[6]; -}; - -struct mac_driver_desc { - __be16 signature; - __be16 block_size; - __be32 block_count; -}; - -struct mac_partition { - __be16 signature; - __be16 res1; - __be32 map_count; - __be32 start_block; - __be32 block_count; - char name[32]; - char type[32]; - __be32 data_start; - __be32 data_count; - __be32 status; - __be32 boot_start; - __be32 boot_size; - __be32 boot_load; - __be32 boot_load2; - __be32 boot_entry; - __be32 boot_entry2; - __be32 boot_cksum; - char processor[16]; -}; - -struct machine_ops { - void (*restart)(char *); - void (*halt)(void); - void (*power_off)(void); - void (*shutdown)(void); - void (*crash_shutdown)(struct pt_regs *); - void (*emergency_restart)(void); -}; - -struct macsec_secy; - -struct macsec_rx_sc; - -struct macsec_rx_sa; - -struct macsec_tx_sa; - -struct macsec_tx_sc_stats; - -struct macsec_tx_sa_stats; - -struct macsec_rx_sc_stats; - -struct macsec_rx_sa_stats; - -struct macsec_dev_stats; - -struct macsec_context { - union { - struct net_device *netdev; - struct phy_device *phydev; - }; - enum macsec_offload offload; - struct macsec_secy *secy; - struct macsec_rx_sc *rx_sc; - struct { - bool update_pn; - unsigned char assoc_num; - u8 key[128]; - union { - struct macsec_rx_sa *rx_sa; - struct macsec_tx_sa *tx_sa; - }; - } sa; - union { - struct macsec_tx_sc_stats *tx_sc_stats; - struct macsec_tx_sa_stats *tx_sa_stats; - struct macsec_rx_sc_stats *rx_sc_stats; - struct macsec_rx_sa_stats *rx_sa_stats; - struct macsec_dev_stats *dev_stats; - } stats; -}; - -struct macsec_dev_stats { - __u64 OutPktsUntagged; - __u64 InPktsUntagged; - __u64 OutPktsTooLong; - __u64 InPktsNoTag; - __u64 InPktsBadTag; - __u64 InPktsUnknownSCI; - __u64 InPktsNoSCI; - __u64 InPktsOverrun; -}; - -struct macsec_info { - sci_t sci; -}; - -union salt { - struct { - ssci_t ssci; - __be64 pn; - } __attribute__((packed)); - u8 bytes[12]; -}; - -typedef union salt salt_t; - -struct macsec_key { - u8 id[16]; - struct crypto_aead *tfm; - salt_t salt; -}; - -struct macsec_ops { - int (*mdo_dev_open)(struct macsec_context *); - int (*mdo_dev_stop)(struct macsec_context *); - int (*mdo_add_secy)(struct macsec_context *); - int (*mdo_upd_secy)(struct macsec_context *); - int (*mdo_del_secy)(struct macsec_context *); - int (*mdo_add_rxsc)(struct macsec_context *); - int (*mdo_upd_rxsc)(struct macsec_context *); - int (*mdo_del_rxsc)(struct macsec_context *); - int (*mdo_add_rxsa)(struct macsec_context *); - int (*mdo_upd_rxsa)(struct macsec_context *); - int (*mdo_del_rxsa)(struct macsec_context *); - int (*mdo_add_txsa)(struct macsec_context *); - int (*mdo_upd_txsa)(struct macsec_context *); - int (*mdo_del_txsa)(struct macsec_context *); - int (*mdo_get_dev_stats)(struct macsec_context *); - int (*mdo_get_tx_sc_stats)(struct macsec_context *); - int (*mdo_get_tx_sa_stats)(struct macsec_context *); - int (*mdo_get_rx_sc_stats)(struct macsec_context *); - int (*mdo_get_rx_sa_stats)(struct macsec_context *); - int (*mdo_insert_tx_tag)(struct phy_device *, struct sk_buff *); - unsigned int needed_headroom; - unsigned int needed_tailroom; - bool rx_uses_md_dst; -}; - -union pn { - struct { - u32 lower; - u32 upper; - }; - u64 full64; -}; - -typedef union pn pn_t; - -struct macsec_rx_sa { - struct macsec_key key; - ssci_t ssci; - spinlock_t lock; - union { - pn_t next_pn_halves; - u64 next_pn; - }; - refcount_t refcnt; - bool active; - struct macsec_rx_sa_stats *stats; - struct macsec_rx_sc *sc; - struct callback_head rcu; -}; - -struct macsec_rx_sa_stats { - __u32 InPktsOK; - __u32 InPktsInvalid; - __u32 InPktsNotValid; - __u32 InPktsNotUsingSA; - __u32 InPktsUnusedSA; -}; - -struct pcpu_rx_sc_stats; - -struct macsec_rx_sc { - struct macsec_rx_sc *next; - sci_t sci; - bool active; - struct macsec_rx_sa *sa[4]; - struct pcpu_rx_sc_stats *stats; - refcount_t refcnt; - struct callback_head callback_head; -}; - -struct macsec_rx_sc_stats { - __u64 InOctetsValidated; - __u64 InOctetsDecrypted; - __u64 InPktsUnchecked; - __u64 InPktsDelayed; - __u64 InPktsOK; - __u64 InPktsInvalid; - __u64 InPktsLate; - __u64 InPktsNotValid; - __u64 InPktsNotUsingSA; - __u64 InPktsUnusedSA; -}; - -struct pcpu_tx_sc_stats; - -struct macsec_tx_sc { - bool active; - u8 encoding_sa; - bool encrypt; - bool send_sci; - bool end_station; - bool scb; - struct macsec_tx_sa *sa[4]; - struct pcpu_tx_sc_stats *stats; - struct metadata_dst *md_dst; -}; - -struct macsec_secy { - struct net_device *netdev; - unsigned int n_rx_sc; - sci_t sci; - u16 key_len; - u16 icv_len; - enum macsec_validation_type validate_frames; - bool xpn; - bool operational; - bool protect_frames; - bool replay_protect; - u32 replay_window; - struct macsec_tx_sc tx_sc; - struct macsec_rx_sc *rx_sc; -}; - -struct macsec_tx_sa { - struct macsec_key key; - ssci_t ssci; - spinlock_t lock; - union { - pn_t next_pn_halves; - u64 next_pn; - }; - refcount_t refcnt; - bool active; - struct macsec_tx_sa_stats *stats; - struct callback_head rcu; -}; - -struct macsec_tx_sa_stats { - __u32 OutPktsProtected; - __u32 OutPktsEncrypted; -}; - -struct macsec_tx_sc_stats { - __u64 OutPktsProtected; - __u64 OutPktsEncrypted; - __u64 OutOctetsProtected; - __u64 OutOctetsEncrypted; -}; - -struct madvise_behavior_range { - long unsigned int start; - long unsigned int end; -}; - -struct mmu_gather; - -struct madvise_behavior { - struct mm_struct *mm; - int behavior; - struct mmu_gather *tlb; - enum madvise_lock_mode lock_mode; - struct anon_vma_name *anon_name; - struct madvise_behavior_range range; - struct vm_area_struct *prev; - struct vm_area_struct *vma; - bool lock_dropped; -}; - -struct madvise_walk_private { - struct mmu_gather *tlb; - bool pageout; -}; - -struct mafield { - const char *prefix; - int field; -}; - -struct map_attribute { - struct attribute attr; - ssize_t (*show)(struct efi_runtime_map_entry *, char *); -}; - -struct map_balloon_pages { - xen_pfn_t *pfns; - unsigned int idx; -}; - -struct map_files_info { - long unsigned int start; - long unsigned int end; - fmode_t mode; -}; - -struct map_info___2 { - struct map_info___2 *next; - struct mm_struct *mm; - long unsigned int vaddr; -}; - -struct map_iter { - void *key; - bool done; -}; - -struct map_range { - long unsigned int start; - long unsigned int end; - unsigned int page_size_mask; -}; - -struct xenbus_map_node; - -struct map_ring_valloc { - struct xenbus_map_node *node; - long unsigned int addrs[16]; - phys_addr_t phys_addrs[16]; - struct gnttab_map_grant_ref map[16]; - struct gnttab_unmap_grant_ref unmap[16]; - unsigned int idx; -}; - -struct maple_alloc { - long unsigned int total; - unsigned char node_count; - unsigned int request_count; - struct maple_alloc *slot[30]; -}; - -struct maple_pnode; - -struct maple_metadata { - unsigned char end; - unsigned char gap; -}; - -struct maple_arange_64 { - struct maple_pnode *parent; - long unsigned int pivot[9]; - void *slot[10]; - long unsigned int gap[10]; - struct maple_metadata meta; -}; - -struct maple_big_node { - long unsigned int pivot[33]; - union { - struct maple_enode *slot[34]; - struct { - long unsigned int padding[21]; - long unsigned int gap[21]; - }; - }; - unsigned char b_end; - enum maple_type type; -}; - -struct maple_range_64 { - struct maple_pnode *parent; - long unsigned int pivot[15]; - union { - void *slot[16]; - struct { - void *pad[15]; - struct maple_metadata meta; - }; - }; -}; - -struct maple_node { - union { - struct { - struct maple_pnode *parent; - void *slot[31]; - }; - struct { - void *pad; - struct callback_head rcu; - struct maple_enode *piv_parent; - unsigned char parent_slot; - enum maple_type type; - unsigned char slot_len; - unsigned int ma_flags; - }; - struct maple_range_64 mr64; - struct maple_arange_64 ma64; - struct maple_alloc alloc; - }; -}; - -struct maple_subtree_state { - struct ma_state *orig_l; - struct ma_state *orig_r; - struct ma_state *l; - struct ma_state *m; - struct ma_state *r; - struct ma_topiary *free; - struct ma_topiary *destroy; - struct maple_big_node *bn; -}; - -struct maple_topiary { - struct maple_pnode *parent; - struct maple_enode *next; -}; - -struct mapped_device { - struct mutex suspend_lock; - struct mutex table_devices_lock; - struct list_head table_devices; - void *map; - long unsigned int flags; - struct mutex type_lock; - enum dm_queue_mode type; - int numa_node_id; - struct request_queue *queue; - atomic_t holders; - atomic_t open_count; - struct dm_target *immutable_target; - struct target_type *immutable_target_type; - char name[16]; - struct gendisk *disk; - struct dax_device *dax_dev; - wait_queue_head_t wait; - long unsigned int *pending_io; - struct hd_geometry geometry; - struct workqueue_struct *wq; - struct work_struct work; - spinlock_t deferred_lock; - struct bio_list deferred; - struct work_struct requeue_work; - struct dm_io *requeue_list; - void *interface_ptr; - wait_queue_head_t eventq; - atomic_t event_nr; - atomic_t uevent_seq; - struct list_head uevent_list; - spinlock_t uevent_lock; - bool init_tio_pdu: 1; - struct blk_mq_tag_set *tag_set; - struct dm_stats stats; - unsigned int internal_suspend_count; - int swap_bios; - struct semaphore swap_bios_semaphore; - struct mutex swap_bios_lock; - struct dm_md_mempools *mempools; - struct dm_kobject_holder kobj_holder; - struct srcu_struct io_barrier; - unsigned int nr_zones; - void *zone_revalidate_map; - struct task_struct *revalidate_map_task; - struct dm_ima_measurements ima; -}; - -struct match_addr { - const char *addrp; - enum addr_type addrtype; - int len; - __be16 port; -}; - -struct match_ids_walk_data { - struct acpi_device_id *ids; - struct acpi_device *adev; -}; - -struct match_token { - int token; - const char *pattern; -}; - -struct match_workbuf { - unsigned int pos; - unsigned int len; - unsigned int history[32]; -}; - -struct math_emu_info { - long int ___orig_eip; - struct pt_regs *regs; -}; - -struct max14577 { - struct device *dev; - struct i2c_client *i2c; - struct i2c_client *i2c_pmic; - enum maxim_device_type dev_type; - struct regmap *regmap; - struct regmap *regmap_pmic; - struct regmap_irq_chip_data *irq_data; - struct regmap_irq_chip_data *irq_data_pmic; - int irq; -}; - -struct max14577_regulator_platform_data; - -struct max14577_platform_data { - int irq_base; - int gpio_pogo_vbatt_en; - int gpio_pogo_vbus_en; - int (*set_gpio_pogo_vbatt_en)(int); - int (*set_gpio_pogo_vbus_en)(int); - int (*set_gpio_pogo_cb)(int); - struct max14577_regulator_platform_data *regulators; -}; - -struct max14577_regulator_platform_data { - int id; - struct regulator_init_data *initdata; - struct device_node *of_node; -}; - -struct max310x_devtype { - struct { - short unsigned int min; - short unsigned int max; - } slave_addr; - int nr; - char name[9]; - u8 mode1; - u8 rev_id_val; - u8 rev_id_reg; - u8 power_reg; - u8 power_bit; -}; - -struct max310x_if_cfg { - int (*extended_reg_enable)(struct device *, bool); - u8 rev_id_offset; -}; - -struct max310x_one { - struct uart_port port; - struct work_struct tx_work; - struct work_struct md_work; - struct work_struct rs_work; - struct regmap *regmap; - u8 rx_buf[128]; -}; - -struct max310x_port { - const struct max310x_devtype *devtype; - const struct max310x_if_cfg *if_cfg; - struct regmap *regmap; - struct clk *clk; - struct gpio_chip gpio; - struct max310x_one p[0]; -}; - -struct max77693_dev { - struct device *dev; - struct i2c_client *i2c; - struct i2c_client *i2c_muic; - struct i2c_client *i2c_haptic; - struct i2c_client *i2c_chg; - enum max77693_types type; - struct regmap *regmap; - struct regmap *regmap_muic; - struct regmap *regmap_haptic; - struct regmap *regmap_chg; - struct regmap *regmap_leds; - struct regmap_irq_chip_data *irq_data_led; - struct regmap_irq_chip_data *irq_data_topsys; - struct regmap_irq_chip_data *irq_data_chg; - struct regmap_irq_chip_data *irq_data_muic; - int irq; -}; - -struct max8925_backlight_pdata { - int lxw_scl; - int lxw_freq; - int dual_string; -}; - -struct max8925_chip { - struct device *dev; - struct i2c_client *i2c; - struct i2c_client *adc; - struct i2c_client *rtc; - struct mutex io_lock; - struct mutex irq_lock; - int irq_base; - int core_irq; - int tsc_irq; - unsigned int wakeup_flag; -}; - -struct max8925_irq_data { - int reg; - int mask_reg; - int enable; - int offs; - int flags; - int tsc_irq; -}; - -struct max8925_touch_pdata; - -struct max8925_power_pdata; - -struct max8925_platform_data { - struct max8925_backlight_pdata *backlight; - struct max8925_touch_pdata *touch; - struct max8925_power_pdata *power; - struct regulator_init_data *sd1; - struct regulator_init_data *sd2; - struct regulator_init_data *sd3; - struct regulator_init_data *ldo1; - struct regulator_init_data *ldo2; - struct regulator_init_data *ldo3; - struct regulator_init_data *ldo4; - struct regulator_init_data *ldo5; - struct regulator_init_data *ldo6; - struct regulator_init_data *ldo7; - struct regulator_init_data *ldo8; - struct regulator_init_data *ldo9; - struct regulator_init_data *ldo10; - struct regulator_init_data *ldo11; - struct regulator_init_data *ldo12; - struct regulator_init_data *ldo13; - struct regulator_init_data *ldo14; - struct regulator_init_data *ldo15; - struct regulator_init_data *ldo16; - struct regulator_init_data *ldo17; - struct regulator_init_data *ldo18; - struct regulator_init_data *ldo19; - struct regulator_init_data *ldo20; - int irq_base; - int tsc_irq; -}; - -struct max8925_power_pdata { - int (*set_charger)(int); - unsigned int batt_detect: 1; - unsigned int topoff_threshold: 2; - unsigned int fast_charge: 3; - unsigned int no_temp_support: 1; - unsigned int no_insert_detect: 1; - char **supplied_to; - int num_supplicants; -}; - -struct max8925_touch_pdata { - unsigned int flags; -}; - -struct max8997_platform_data; - -struct max8997_dev { - struct device *dev; - struct max8997_platform_data *pdata; - struct i2c_client *i2c; - struct i2c_client *rtc; - struct i2c_client *haptic; - struct i2c_client *muic; - struct mutex iolock; - long unsigned int type; - struct platform_device *battery; - int irq; - int ono; - struct irq_domain *irq_domain; - struct mutex irqlock; - int irq_masks_cur[11]; - int irq_masks_cache[11]; - u8 reg_dump[187]; - bool gpio_status[12]; -}; - -struct max8997_haptic_platform_data { - unsigned int pwm_period; - enum max8997_haptic_motor_type type; - enum max8997_haptic_pulse_mode mode; - enum max8997_haptic_pwm_divisor pwm_divisor; - unsigned int internal_mode_pattern; - unsigned int pattern_cycle; - unsigned int pattern_signal_period; -}; - -struct max8997_irq_data { - int mask; - enum max8997_irq_source group; -}; - -struct max8997_led_platform_data { - enum max8997_led_mode mode[2]; - u8 brightness[2]; -}; - -struct max8997_muic_reg_data; - -struct max8997_muic_platform_data { - struct max8997_muic_reg_data *init_data; - int num_init_data; - int detcable_delay_ms; - int path_usb; - int path_uart; -}; - -struct max8997_muic_reg_data { - u8 addr; - u8 data; -}; - -struct max8997_regulator_data; - -struct max8997_platform_data { - int ono; - struct max8997_regulator_data *regulators; - int num_regulators; - bool ignore_gpiodvs_side_effect; - int buck125_default_idx; - unsigned int buck1_voltage[8]; - bool buck1_gpiodvs; - unsigned int buck2_voltage[8]; - bool buck2_gpiodvs; - unsigned int buck5_voltage[8]; - bool buck5_gpiodvs; - int eoc_mA; - int timeout; - struct max8997_muic_platform_data *muic_pdata; - struct max8997_haptic_platform_data *haptic_pdata; - struct max8997_led_platform_data *led_pdata; -}; - -struct max8997_regulator_data { - int id; - struct regulator_init_data *initdata; - struct device_node *reg_node; -}; - -struct max8998_platform_data; - -struct max8998_dev { - struct device *dev; - struct max8998_platform_data *pdata; - struct i2c_client *i2c; - struct i2c_client *rtc; - struct mutex iolock; - struct mutex irqlock; - unsigned int irq_base; - struct irq_domain *irq_domain; - int irq; - int ono; - u8 irq_masks_cur[4]; - u8 irq_masks_cache[4]; - long unsigned int type; - bool wakeup; -}; - -struct max8998_irq_data { - int reg; - int mask; -}; - -struct max8998_regulator_data; - -struct max8998_platform_data { - struct max8998_regulator_data *regulators; - int num_regulators; - unsigned int irq_base; - int ono; - bool buck_voltage_lock; - int buck1_voltage[4]; - int buck2_voltage[2]; - int buck1_default_idx; - int buck2_default_idx; - bool wakeup; - bool rtc_delay; - int eoc; - int restart; - int timeout; -}; - -struct max8998_reg_dump { - u8 addr; - u8 val; -}; - -struct max8998_regulator_data { - int id; - struct regulator_init_data *initdata; - struct device_node *reg_node; -}; - -struct maxim_charger_current { - unsigned int min; - unsigned int high_start; - unsigned int high_step; - unsigned int max; -}; - -struct mb_cache { - struct hlist_bl_head *c_hash; - int c_bucket_bits; - long unsigned int c_max_entries; - spinlock_t c_list_lock; - struct list_head c_list; - long unsigned int c_entry_count; - struct shrinker *c_shrink; - struct work_struct c_shrink_work; -}; - -struct mb_cache_entry { - struct list_head e_list; - struct hlist_bl_node e_hash_list; - atomic_t e_refcnt; - u32 e_key; - long unsigned int e_flags; - u64 e_value; -}; - -struct mbm_correction_factor_table { - u32 rmidthreshold; - u64 cf; -}; - -struct mbm_state { - u64 prev_bw_bytes; - u32 prev_bw; -}; - -struct mbox_controller; - -struct mbox_client; - -struct mbox_chan { - struct mbox_controller *mbox; - unsigned int txdone_method; - struct mbox_client *cl; - struct completion tx_complete; - void *active_req; - unsigned int msg_count; - unsigned int msg_free; - void *msg_data[20]; - spinlock_t lock; - void *con_priv; -}; - -struct mbox_chan_ops { - int (*send_data)(struct mbox_chan *, void *); - int (*flush)(struct mbox_chan *, long unsigned int); - int (*startup)(struct mbox_chan *); - void (*shutdown)(struct mbox_chan *); - bool (*last_tx_done)(struct mbox_chan *); - bool (*peek_data)(struct mbox_chan *); -}; - -struct mbox_client { - struct device *dev; - bool tx_block; - long unsigned int tx_tout; - bool knows_txdone; - void (*rx_callback)(struct mbox_client *, void *); - void (*tx_prepare)(struct mbox_client *, void *); - void (*tx_done)(struct mbox_client *, void *, int); -}; - -struct mbox_controller { - struct device *dev; - const struct mbox_chan_ops *ops; - struct mbox_chan *chans; - int num_chans; - bool txdone_irq; - bool txdone_poll; - unsigned int txpoll_period; - struct mbox_chan * (*of_xlate)(struct mbox_controller *, const struct of_phandle_args *); - struct hrtimer poll_hrt; - spinlock_t poll_hrt_lock; - struct list_head node; -}; - -struct mc146818_get_time_callback_param { - struct rtc_time *time; - unsigned char ctrl; - unsigned char century; -}; - -struct multicall_entry { - xen_ulong_t op; - xen_long_t result; - xen_ulong_t args[6]; -}; - -struct mc_buffer { - unsigned int mcidx; - unsigned int argidx; - unsigned int cbidx; - struct multicall_entry entries[32]; - unsigned char args[512]; - struct callback callbacks[32]; -}; - -struct mc_debug_data { - struct multicall_entry entries[32]; - void *caller[32]; - size_t argsz[32]; - long unsigned int *args[32]; -}; - -struct mc_info; - -typedef struct mc_info *__guest_handle_mc_info; - -struct mc_info { - uint32_t mi_nentries; - uint32_t flags; - uint64_t mi_data[95]; -}; - -struct mc_subled { - unsigned int color_index; - unsigned int brightness; - unsigned int intensity; - unsigned int channel; -}; - -struct mca_config { - __u64 lmce_disabled: 1; - __u64 disabled: 1; - __u64 ser: 1; - __u64 recovery: 1; - __u64 bios_cmci_threshold: 1; - __u64 initialized: 1; - __u64 __reserved: 58; - bool dont_log_ce; - bool cmci_disabled; - bool ignore_ce; - bool print_all; - int monarch_timeout; - int panic_timeout; - u32 rip_msr; - s8 bootlog; -}; - -struct storm_bank { - u64 history; - u64 timestamp; - bool in_storm_mode; - bool poll_only; -}; - -struct mca_storm_desc { - struct storm_bank banks[64]; - u8 stormy_bank_count; - bool poll_mode; -}; - -struct mce_bank { - u64 ctl; - __u64 init: 1; - __u64 lsb_in_status: 1; - __u64 __reserved_1: 62; -}; - -struct mce_bank_dev { - struct device_attribute attr; - char attrname[16]; - u8 bank; -}; - -union vendor_info { - struct { - u64 synd1; - u64 synd2; - } amd; -}; - -struct mce_hw_err { - struct mce m; - union vendor_info vendor; -}; - -struct mce_evt_llist { - struct llist_node llnode; - struct mce_hw_err err; -}; - -struct mce_log_buffer { - char signature[12]; - unsigned int len; - unsigned int next; - unsigned int flags; - unsigned int recordlen; - struct mce entry[0]; -}; - -struct mce_vendor_flags { - __u64 overflow_recov: 1; - __u64 succor: 1; - __u64 smca: 1; - __u64 zen_ifu_quirk: 1; - __u64 amd_threshold: 1; - __u64 p5: 1; - __u64 winchip: 1; - __u64 snb_ifu_quirk: 1; - __u64 skx_repmov_quirk: 1; - __u64 __reserved_0: 55; -}; - -struct mcinfo_common { - uint16_t type; - uint16_t size; -}; - -struct mcinfo_bank { - struct mcinfo_common common; - uint16_t mc_bank; - uint16_t mc_domid; - uint64_t mc_status; - uint64_t mc_addr; - uint64_t mc_misc; - uint64_t mc_ctrl2; - uint64_t mc_tsc; -}; - -struct mcinfo_global { - struct mcinfo_common common; - uint16_t mc_domid; - uint16_t mc_vcpuid; - uint32_t mc_socketid; - uint16_t mc_coreid; - uint16_t mc_core_threadid; - uint32_t mc_apicid; - uint32_t mc_flags; - uint64_t mc_gstatus; -}; - -struct mcinfo_logical_cpu; - -typedef struct mcinfo_logical_cpu *__guest_handle_mcinfo_logical_cpu; - -struct mcinfo_msr { - uint64_t reg; - uint64_t value; -}; - -struct mcinfo_logical_cpu { - uint32_t mc_cpunr; - uint32_t mc_chipid; - uint16_t mc_coreid; - uint16_t mc_threadid; - uint32_t mc_apicid; - uint32_t mc_clusterid; - uint32_t mc_ncores; - uint32_t mc_ncores_active; - uint32_t mc_nthreads; - uint32_t mc_cpuid_level; - uint32_t mc_family; - uint32_t mc_vendor; - uint32_t mc_model; - uint32_t mc_step; - char mc_vendorid[16]; - char mc_brandid[64]; - uint32_t mc_cpu_caps[7]; - uint32_t mc_cache_size; - uint32_t mc_cache_alignment; - uint32_t mc_nmsrvals; - struct mcinfo_msr mc_msrvalues[8]; -}; - -struct mcs_spinlock { - struct mcs_spinlock *next; - int locked; - int count; -}; - -struct mctp_addr { - mctp_eid_t s_addr; -}; - -struct mctp_netdev_ops; - -struct mctp_dev { - struct net_device *dev; - refcount_t refs; - unsigned int net; - enum mctp_phys_binding binding; - const struct mctp_netdev_ops *ops; - u8 *addrs; - size_t num_addrs; - spinlock_t addrs_lock; - struct callback_head rcu; -}; - -struct mctp_dst { - struct mctp_dev *dev; - unsigned int mtu; - mctp_eid_t nexthop; - unsigned char halen; - unsigned char haddr[32]; - int (*output)(struct mctp_dst *, struct sk_buff *); -}; - -struct mctp_dump_cb { - long unsigned int ifindex; - size_t a_idx; -}; - -struct mctp_sk_key; - -struct mctp_flow { - struct mctp_sk_key *key; -}; - -struct mctp_fq_addr { - unsigned int net; - mctp_eid_t eid; -}; - -struct mctp_hdr { - u8 ver; - u8 dest; - u8 src; - u8 flags_seq_tag; -}; - -struct mctp_ioc_tag_ctl { - mctp_eid_t peer_addr; - __u8 tag; - __u16 flags; -}; - -struct mctp_ioc_tag_ctl2 { - unsigned int net; - mctp_eid_t peer_addr; - mctp_eid_t local_addr; - __u16 flags; - __u8 tag; -}; - -struct mctp_neigh { - struct mctp_dev *dev; - mctp_eid_t eid; - enum mctp_neigh_source source; - unsigned char ha[32]; - struct list_head list; - struct callback_head rcu; -}; - -struct mctp_netdev_ops { - void (*release_flow)(struct mctp_dev *, struct mctp_sk_key *); -}; - -struct mctp_route { - mctp_eid_t min; - mctp_eid_t max; - unsigned char type; - unsigned int mtu; - enum { - MCTP_ROUTE_DIRECT = 0, - MCTP_ROUTE_GATEWAY = 1, - } dst_type; - union { - struct mctp_dev *dev; - struct mctp_fq_addr gateway; - }; - int (*output)(struct mctp_dst *, struct sk_buff *); - struct list_head list; - refcount_t refs; - struct callback_head rcu; -}; - -struct mctp_sk_key { - unsigned int net; - mctp_eid_t peer_addr; - mctp_eid_t local_addr; - __u8 tag; - struct sock *sk; - struct hlist_node hlist; - struct hlist_node sklist; - spinlock_t lock; - refcount_t refs; - struct sk_buff *reasm_head; - struct sk_buff **reasm_tailp; - bool reasm_dead; - u8 last_seq; - bool valid; - long unsigned int expiry; - long unsigned int dev_flow_state; - struct mctp_dev *dev; - bool manual_alloc; -}; - -struct mctp_skb_cb { - unsigned int magic; - unsigned int net; - int ifindex; - unsigned char halen; - unsigned char haddr[32]; -}; - -struct mctp_sock { - struct sock sk; - unsigned int bind_net; - mctp_eid_t bind_local_addr; - mctp_eid_t bind_peer_addr; - unsigned int bind_peer_net; - bool bind_peer_set; - __u8 bind_type; - bool addr_ext; - struct hlist_head keys; - struct timer_list key_expiry; -}; - -struct mctrl_gpios { - struct uart_port *port; - struct gpio_desc *gpio[6]; - int irq[6]; - unsigned int mctrl_prev; - bool mctrl_on; -}; - -struct md5_state { - u32 hash[4]; - u64 byte_count; - u32 block[16]; -}; - -struct md_bitmap_stats { - u64 events_cleared; - int behind_writes; - bool behind_wait; - long unsigned int missing_pages; - long unsigned int file_pages; - long unsigned int sync_size; - long unsigned int pages; - struct file *file; -}; - -struct md_submodule_head { - enum md_submodule_type type; - enum md_submodule_id id; - const char *name; - struct module *owner; -}; - -struct md_rdev; - -struct md_cluster_operations { - struct md_submodule_head head; - int (*join)(struct mddev *, int); - int (*leave)(struct mddev *); - int (*slot_number)(struct mddev *); - int (*resync_info_update)(struct mddev *, sector_t, sector_t); - int (*resync_start_notify)(struct mddev *); - int (*resync_status_get)(struct mddev *); - void (*resync_info_get)(struct mddev *, sector_t *, sector_t *); - int (*metadata_update_start)(struct mddev *); - int (*metadata_update_finish)(struct mddev *); - void (*metadata_update_cancel)(struct mddev *); - int (*resync_start)(struct mddev *); - int (*resync_finish)(struct mddev *); - int (*area_resyncing)(struct mddev *, int, sector_t, sector_t); - int (*add_new_disk)(struct mddev *, struct md_rdev *); - void (*add_new_disk_cancel)(struct mddev *); - int (*new_disk_ack)(struct mddev *, bool); - int (*remove_disk)(struct mddev *, struct md_rdev *); - void (*load_bitmaps)(struct mddev *, int); - int (*gather_bitmaps)(struct md_rdev *); - int (*resize_bitmaps)(struct mddev *, sector_t, sector_t); - int (*lock_all_bitmaps)(struct mddev *); - void (*unlock_all_bitmaps)(struct mddev *); - void (*update_size)(struct mddev *, sector_t); -}; - -struct md_io_clone { - struct mddev *mddev; - struct bio *orig_bio; - long unsigned int start_time; - sector_t offset; - long unsigned int sectors; - struct bio bio_clone; -}; - -struct md_personality { - struct md_submodule_head head; - bool (*make_request)(struct mddev *, struct bio *); - int (*run)(struct mddev *); - int (*start)(struct mddev *); - void (*free)(struct mddev *, void *); - void (*status)(struct seq_file *, struct mddev *); - void (*error_handler)(struct mddev *, struct md_rdev *); - int (*hot_add_disk)(struct mddev *, struct md_rdev *); - int (*hot_remove_disk)(struct mddev *, struct md_rdev *); - int (*spare_active)(struct mddev *); - sector_t (*sync_request)(struct mddev *, sector_t, sector_t, int *); - int (*resize)(struct mddev *, sector_t); - sector_t (*size)(struct mddev *, sector_t, int); - int (*check_reshape)(struct mddev *); - int (*start_reshape)(struct mddev *); - void (*finish_reshape)(struct mddev *); - void (*update_reshape_pos)(struct mddev *); - void (*prepare_suspend)(struct mddev *); - void (*quiesce)(struct mddev *, int); - void * (*takeover)(struct mddev *); - int (*change_consistency_policy)(struct mddev *, const char *); - void (*bitmap_sector)(struct mddev *, sector_t *, long unsigned int *); -}; - -struct serial_in_rdev; - -struct md_rdev { - struct list_head same_set; - sector_t sectors; - struct mddev *mddev; - long unsigned int last_events; - struct block_device *meta_bdev; - struct block_device *bdev; - struct file *bdev_file; - struct page *sb_page; - struct page *bb_page; - int sb_loaded; - __u64 sb_events; - sector_t data_offset; - sector_t new_data_offset; - sector_t sb_start; - int sb_size; - int preferred_minor; - struct kobject kobj; - long unsigned int flags; - wait_queue_head_t blocked_wait; - int desc_nr; - int raid_disk; - int new_raid_disk; - int saved_raid_disk; - union { - sector_t recovery_offset; - sector_t journal_tail; - }; - atomic_t nr_pending; - atomic_t read_errors; - time64_t last_read_error; - atomic_t corrected_errors; - struct serial_in_rdev *serial; - struct kernfs_node *sysfs_state; - struct kernfs_node *sysfs_unack_badblocks; - struct kernfs_node *sysfs_badblocks; - struct badblocks badblocks; - struct { - short int offset; - unsigned int size; - sector_t sector; - } ppl; -}; - -struct md_setup_args { - int minor; - int partitioned; - int level; - int chunk; - char *device_names; -}; - -struct md_sysfs_entry { - struct attribute attr; - ssize_t (*show)(struct mddev *, char *); - ssize_t (*store)(struct mddev *, const char *, size_t); -}; - -struct md_thread { - void (*run)(struct md_thread *); - struct mddev *mddev; - wait_queue_head_t wqueue; - long unsigned int flags; - struct task_struct *tsk; - long unsigned int timeout; - void *private; -}; - -struct md_cluster_info; - -struct mddev { - void *private; - struct md_personality *pers; - dev_t unit; - int md_minor; - struct list_head disks; - long unsigned int flags; - long unsigned int sb_flags; - int suspended; - struct mutex suspend_mutex; - struct percpu_ref active_io; - int ro; - int sysfs_active; - struct gendisk *gendisk; - struct gendisk *dm_gendisk; - struct kobject kobj; - int hold_active; - int major_version; - int minor_version; - int patch_version; - int persistent; - int external; - char metadata_type[17]; - int chunk_sectors; - time64_t ctime; - time64_t utime; - int level; - int layout; - char clevel[16]; - int raid_disks; - int max_disks; - sector_t dev_sectors; - sector_t array_sectors; - int external_size; - __u64 events; - int can_decrease_events; - char uuid[16]; - sector_t reshape_position; - int delta_disks; - int new_level; - int new_layout; - int new_chunk_sectors; - int reshape_backwards; - struct md_thread *thread; - struct md_thread *sync_thread; - enum sync_action last_sync_action; - sector_t curr_resync; - sector_t curr_resync_completed; - long unsigned int resync_mark; - sector_t resync_mark_cnt; - sector_t curr_mark_cnt; - sector_t resync_max_sectors; - atomic64_t resync_mismatches; - sector_t suspend_lo; - sector_t suspend_hi; - int sync_speed_min; - int sync_speed_max; - int sync_io_depth; - int parallel_resync; - int ok_start_degraded; - long unsigned int recovery; - int recovery_disabled; - int in_sync; - struct mutex open_mutex; - struct mutex reconfig_mutex; - atomic_t active; - atomic_t openers; - int changed; - int degraded; - long unsigned int normal_io_events; - atomic_t recovery_active; - wait_queue_head_t recovery_wait; - sector_t resync_offset; - sector_t resync_min; - sector_t resync_max; - struct kernfs_node *sysfs_state; - struct kernfs_node *sysfs_action; - struct kernfs_node *sysfs_completed; - struct kernfs_node *sysfs_degraded; - struct kernfs_node *sysfs_level; - struct work_struct del_work; - struct work_struct sync_work; - spinlock_t lock; - wait_queue_head_t sb_wait; - atomic_t pending_writes; - unsigned int safemode; - unsigned int safemode_delay; - struct timer_list safemode_timer; - struct percpu_ref writes_pending; - int sync_checkers; - void *bitmap; - struct bitmap_operations *bitmap_ops; - struct { - struct file *file; - loff_t offset; - long unsigned int space; - loff_t default_offset; - long unsigned int default_space; - struct mutex mutex; - long unsigned int chunksize; - long unsigned int daemon_sleep; - long unsigned int max_write_behind; - int external; - int nodes; - char cluster_name[64]; - } bitmap_info; - atomic_t max_corr_read_errors; - struct list_head all_mddevs; - const struct attribute_group *to_remove; - struct bio_set bio_set; - struct bio_set sync_set; - struct bio_set io_clone_set; - struct work_struct event_work; - mempool_t *serial_info_pool; - void (*sync_super)(struct mddev *, struct md_rdev *); - struct md_cluster_info *cluster_info; - struct md_cluster_operations *cluster_ops; - unsigned int good_device_nr; - unsigned int noio_flag; - struct list_head deleting; - atomic_t sync_seq; - bool has_superblocks: 1; - bool fail_last_dev: 1; - bool serialize_policy: 1; -}; - -struct mdio_board_info { - const char *bus_id; - char modalias[32]; - int mdio_addr; - const void *platform_data; -}; - -struct mdio_board_entry { - struct list_head list; - struct mdio_board_info board_info; -}; - -struct mdio_bus_stat_attr { - int addr; - unsigned int field_offset; -}; - -struct mdio_bus_stats { - u64_stats_t transfers; - u64_stats_t errors; - u64_stats_t writes; - u64_stats_t reads; - struct u64_stats_sync syncp; -}; - -struct mdio_device { - struct device dev; - struct mii_bus *bus; - char modalias[32]; - int (*bus_match)(struct device *, const struct device_driver *); - void (*device_free)(struct mdio_device *); - void (*device_remove)(struct mdio_device *); - int addr; - int flags; - int reset_state; - struct gpio_desc *reset_gpio; - struct reset_control *reset_ctrl; - unsigned int reset_assert_delay; - unsigned int reset_deassert_delay; -}; - -struct mdio_device_id { - __u32 phy_id; - __u32 phy_id_mask; -}; - -struct mdio_driver_common { - struct device_driver driver; - int flags; -}; - -struct mdio_driver { - struct mdio_driver_common mdiodrv; - int (*probe)(struct mdio_device *); - void (*remove)(struct mdio_device *); - void (*shutdown)(struct mdio_device *); -}; - -struct mdiobus_devres { - struct mii_bus *mii; -}; - -struct mdp_device_descriptor_s { - __u32 number; - __u32 major; - __u32 minor; - __u32 raid_disk; - __u32 state; - __u32 reserved[27]; -}; - -typedef struct mdp_device_descriptor_s mdp_disk_t; - -struct mdp_superblock_1 { - __le32 magic; - __le32 major_version; - __le32 feature_map; - __le32 pad0; - __u8 set_uuid[16]; - char set_name[32]; - __le64 ctime; - __le32 level; - __le32 layout; - __le64 size; - __le32 chunksize; - __le32 raid_disks; - union { - __le32 bitmap_offset; - struct { - __le16 offset; - __le16 size; - } ppl; - }; - __le32 new_level; - __le64 reshape_position; - __le32 delta_disks; - __le32 new_layout; - __le32 new_chunk; - __le32 new_offset; - __le64 data_offset; - __le64 data_size; - __le64 super_offset; - union { - __le64 recovery_offset; - __le64 journal_tail; - }; - __le32 dev_number; - __le32 cnt_corrected_read; - __u8 device_uuid[16]; - __u8 devflags; - __u8 bblog_shift; - __le16 bblog_size; - __le32 bblog_offset; - __le64 utime; - __le64 events; - __le64 resync_offset; - __le32 sb_csum; - __le32 max_dev; - __u8 pad3[32]; - __le16 dev_roles[0]; -}; - -struct mdp_superblock_s { - __u32 md_magic; - __u32 major_version; - __u32 minor_version; - __u32 patch_version; - __u32 gvalid_words; - __u32 set_uuid0; - __u32 ctime; - __u32 level; - __u32 size; - __u32 nr_disks; - __u32 raid_disks; - __u32 md_minor; - __u32 not_persistent; - __u32 set_uuid1; - __u32 set_uuid2; - __u32 set_uuid3; - __u32 gstate_creserved[16]; - __u32 utime; - __u32 state; - __u32 active_disks; - __u32 working_disks; - __u32 failed_disks; - __u32 spare_disks; - __u32 sb_csum; - __u32 events_lo; - __u32 events_hi; - __u32 cp_events_lo; - __u32 cp_events_hi; - __u32 recovery_cp; - __u64 reshape_position; - __u32 new_level; - __u32 delta_disks; - __u32 new_layout; - __u32 new_chunk; - __u32 gstate_sreserved[14]; - __u32 layout; - __u32 chunk_size; - __u32 root_pv; - __u32 root_block; - __u32 pstate_reserved[60]; - mdp_disk_t disks[27]; - __u32 reserved[0]; - mdp_disk_t this_disk; -}; - -typedef struct mdp_superblock_s mdp_super_t; - -struct mdu_array_info_s { - int major_version; - int minor_version; - int patch_version; - unsigned int ctime; - int level; - int size; - int nr_disks; - int raid_disks; - int md_minor; - int not_persistent; - unsigned int utime; - int state; - int active_disks; - int working_disks; - int failed_disks; - int spare_disks; - int layout; - int chunk_size; -}; - -typedef struct mdu_array_info_s mdu_array_info_t; - -struct mdu_bitmap_file_s { - char pathname[4096]; -}; - -typedef struct mdu_bitmap_file_s mdu_bitmap_file_t; - -struct mdu_disk_info_s { - int number; - int major; - int minor; - int raid_disk; - int state; -}; - -typedef struct mdu_disk_info_s mdu_disk_info_t; - -struct mdu_version_s { - int major; - int minor; - int patchlevel; -}; - -typedef struct mdu_version_s mdu_version_t; - -struct media_event_desc { - __u8 media_event_code: 4; - __u8 reserved1: 4; - __u8 door_open: 1; - __u8 media_present: 1; - __u8 reserved2: 6; - __u8 start_slot; - __u8 end_slot; -}; - -struct mem_cgroup_id { - int id; - refcount_t ref; -}; - -struct vmpressure { - long unsigned int scanned; - long unsigned int reclaimed; - long unsigned int tree_scanned; - long unsigned int tree_reclaimed; - spinlock_t sr_lock; - struct list_head events; - struct mutex events_lock; - struct work_struct work; -}; - -struct wb_domain { - spinlock_t lock; - struct fprop_global completions; - struct timer_list period_timer; - long unsigned int period_time; - long unsigned int dirty_limit_tstamp; - long unsigned int dirty_limit; -}; - -struct wb_completion { - atomic_t cnt; - wait_queue_head_t *waitq; -}; - -struct memcg_cgwb_frn { - u64 bdi_id; - int memcg_id; - u64 at; - struct wb_completion done; -}; - -struct mem_cgroup_threshold_ary; - -struct mem_cgroup_thresholds { - struct mem_cgroup_threshold_ary *primary; - struct mem_cgroup_threshold_ary *spare; -}; - -struct memcg_vmstats; - -struct memcg_vmstats_percpu; - -struct memcg1_events_percpu; - -struct mem_cgroup_per_node; - -struct mem_cgroup { - struct cgroup_subsys_state css; - struct mem_cgroup_id id; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - struct page_counter memory; - union { - struct page_counter swap; - struct page_counter memsw; - }; - struct list_head memory_peaks; - struct list_head swap_peaks; - spinlock_t peaks_lock; - struct work_struct high_work; - long unsigned int zswap_max; - bool zswap_writeback; - struct vmpressure vmpressure; - bool oom_group; - int swappiness; - struct cgroup_file events_file; - struct cgroup_file events_local_file; - struct cgroup_file swap_events_file; - struct memcg_vmstats *vmstats; - atomic_long_t memory_events[9]; - atomic_long_t memory_events_local[9]; - u64 socket_pressure; - int kmemcg_id; - struct obj_cgroup *objcg; - struct obj_cgroup *orig_objcg; - struct list_head objcg_list; - struct memcg_vmstats_percpu *vmstats_percpu; - struct list_head cgwb_list; - struct wb_domain cgwb_domain; - struct memcg_cgwb_frn cgwb_frn[4]; - struct deferred_split deferred_split_queue; - struct lru_gen_mm_list mm_list; - long: 64; - long: 64; - struct page_counter kmem; - struct page_counter tcpmem; - struct memcg1_events_percpu *events_percpu; - long unsigned int soft_limit; - bool oom_lock; - int under_oom; - int oom_kill_disable; - struct mutex thresholds_lock; - struct mem_cgroup_thresholds thresholds; - struct mem_cgroup_thresholds memsw_thresholds; - struct list_head oom_notify; - bool tcpmem_active; - int tcpmem_pressure; - struct list_head event_list; - spinlock_t event_list_lock; - struct mem_cgroup_per_node *nodeinfo[0]; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct mem_cgroup_event { - struct mem_cgroup *memcg; - struct eventfd_ctx *eventfd; - struct list_head list; - int (*register_event)(struct mem_cgroup *, struct eventfd_ctx *, const char *); - void (*unregister_event)(struct mem_cgroup *, struct eventfd_ctx *); - poll_table pt; - wait_queue_head_t *wqh; - wait_queue_entry_t wait; - struct work_struct remove; -}; - -struct mem_cgroup_eventfd_list { - struct list_head list; - struct eventfd_ctx *eventfd; -}; - -struct mem_cgroup_reclaim_iter { - struct mem_cgroup *position; - atomic_t generation; -}; - -struct shrinker_info; - -struct mem_cgroup_per_node { - struct mem_cgroup *memcg; - struct lruvec_stats_percpu *lruvec_stats_percpu; - struct lruvec_stats *lruvec_stats; - struct shrinker_info *shrinker_info; - struct rb_node tree_node; - long unsigned int usage_in_excess; - bool on_tree; - struct lruvec lruvec; - long: 64; - struct cacheline_padding _pad2_; - long unsigned int lru_zone_size[25]; - struct mem_cgroup_reclaim_iter iter; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -typedef struct pglist_data pg_data_t; - -struct mem_cgroup_reclaim_cookie { - pg_data_t *pgdat; - int generation; -}; - -struct mem_cgroup_threshold { - struct eventfd_ctx *eventfd; - long unsigned int threshold; -}; - -struct mem_cgroup_threshold_ary { - int current_threshold; - unsigned int size; - struct mem_cgroup_threshold entries[0]; -}; - -struct mem_cgroup_tree_per_node; - -struct mem_cgroup_tree { - struct mem_cgroup_tree_per_node *rb_tree_per_node[1024]; -}; - -struct mem_cgroup_tree_per_node { - struct rb_root rb_root; - struct rb_node *rb_rightmost; - spinlock_t lock; -}; - -struct mcidev_sysfs_attribute; - -struct mem_ctl_info { - struct device dev; - const struct bus_type *bus; - struct list_head link; - struct module *owner; - long unsigned int mtype_cap; - long unsigned int edac_ctl_cap; - long unsigned int edac_cap; - long unsigned int scrub_cap; - enum scrub_type scrub_mode; - int (*set_sdram_scrub_rate)(struct mem_ctl_info *, u32); - int (*get_sdram_scrub_rate)(struct mem_ctl_info *); - void (*edac_check)(struct mem_ctl_info *); - long unsigned int (*ctl_page_to_phys)(struct mem_ctl_info *, long unsigned int); - int mc_idx; - struct csrow_info **csrows; - unsigned int nr_csrows; - unsigned int num_cschannel; - unsigned int n_layers; - struct edac_mc_layer *layers; - bool csbased; - unsigned int tot_dimms; - struct dimm_info **dimms; - struct device *pdev; - const char *mod_name; - const char *ctl_name; - const char *dev_name; - void *pvt_info; - long unsigned int start_time; - u32 ce_noinfo_count; - u32 ue_noinfo_count; - u32 ue_mc; - u32 ce_mc; - struct completion complete; - const struct mcidev_sysfs_attribute *mc_driver_sysfs_attributes; - struct delayed_work work; - struct edac_raw_error_desc error_desc; - int op_state; - struct dentry *debugfs; - u8 fake_inject_layer[3]; - bool fake_inject_ue; - u16 fake_inject_count; -}; - -struct quota_format_type; - -struct mem_dqinfo { - struct quota_format_type *dqi_format; - int dqi_fmt_id; - struct list_head dqi_dirty_list; - long unsigned int dqi_flags; - unsigned int dqi_bgrace; - unsigned int dqi_igrace; - qsize_t dqi_max_spc_limit; - qsize_t dqi_max_ino_limit; - void *dqi_priv; -}; - -struct mem_extent { - struct list_head hook; - long unsigned int start; - long unsigned int end; -}; - -struct mem_section_usage; - -struct mem_section { - long unsigned int section_mem_map; - struct mem_section_usage *usage; -}; - -struct mem_section_usage { - struct callback_head rcu; - long unsigned int subsection_map[1]; - long unsigned int pageblock_flags[0]; -}; - -struct mem_size_stats { - long unsigned int resident; - long unsigned int shared_clean; - long unsigned int shared_dirty; - long unsigned int private_clean; - long unsigned int private_dirty; - long unsigned int referenced; - long unsigned int anonymous; - long unsigned int lazyfree; - long unsigned int anonymous_thp; - long unsigned int shmem_thp; - long unsigned int file_thp; - long unsigned int swap; - long unsigned int shared_hugetlb; - long unsigned int private_hugetlb; - long unsigned int ksm; - u64 pss; - u64 pss_anon; - u64 pss_file; - u64 pss_shmem; - u64 pss_dirty; - u64 pss_locked; - u64 swap_pss; -}; - -struct mem_zone_bm_rtree { - struct list_head list; - struct list_head nodes; - struct list_head leaves; - long unsigned int start_pfn; - long unsigned int end_pfn; - struct rtree_node *rtree; - int levels; - unsigned int blocks; -}; - -struct memblock_region; - -struct memblock_type { - long unsigned int cnt; - long unsigned int max; - phys_addr_t total_size; - struct memblock_region *regions; - char *name; -}; - -struct memblock { - bool bottom_up; - phys_addr_t current_limit; - struct memblock_type memory; - struct memblock_type reserved; -}; - -struct memblock_region { - phys_addr_t base; - phys_addr_t size; - enum memblock_flags flags; - int nid; -}; - -struct membuf { - void *p; - size_t left; -}; - -struct memcg1_events_percpu { - long unsigned int nr_page_events; - long unsigned int targets[2]; -}; - -struct memcg_stock_pcp { - local_trylock_t lock; - uint8_t nr_pages[7]; - struct mem_cgroup *cached[7]; - struct work_struct work; - long unsigned int flags; -}; - -struct memcg_vmstats { - long int state[40]; - long unsigned int events[31]; - long int state_local[40]; - long unsigned int events_local[31]; - long int state_pending[40]; - long unsigned int events_pending[31]; - atomic_t stats_updates; -}; - -struct memcg_vmstats_percpu { - unsigned int stats_updates; - struct memcg_vmstats_percpu *parent_pcpu; - struct memcg_vmstats *vmstats; - long int state[40]; - long unsigned int events[31]; - long int state_prev[40]; - long unsigned int events_prev[31]; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct memdev { - const char *name; - const struct file_operations *fops; - fmode_t fmode; - umode_t mode; -}; - -struct memdev_dmi_entry { - u8 type; - u8 length; - u16 handle; - u16 phys_mem_array_handle; - u16 mem_err_info_handle; - u16 total_width; - u16 data_width; - u16 size; - u8 form_factor; - u8 device_set; - u8 device_locator; - u8 bank_locator; - u8 memory_type; - u16 type_detail; - u16 speed; - u8 manufacturer; - u8 serial_number; - u8 asset_tag; - u8 part_number; - u8 attributes; - u32 extended_size; - u16 conf_mem_clk_speed; -} __attribute__((packed)); - -struct memmap_attribute { - struct attribute attr; - ssize_t (*show)(struct firmware_map_entry *, char *); -}; - -struct memory_bitmap { - struct list_head zones; - struct linked_page *p_list; - struct bm_position cur; -}; - -struct memory_group; - -struct memory_block { - long unsigned int start_section_nr; - long unsigned int state; - int online_type; - int nid; - struct zone *zone; - struct device dev; - struct vmem_altmap *altmap; - struct memory_group *group; - struct list_head group_next; - atomic_long_t nr_hwpoison; -}; - -struct memory_dev_type { - struct list_head tier_sibling; - struct list_head list; - int adistance; - nodemask_t nodes; - struct kref kref; -}; - -struct memory_failure_entry { - long unsigned int pfn; - int flags; -}; - -struct memory_failure_cpu { - struct { - union { - struct __kfifo kfifo; - struct memory_failure_entry *type; - const struct memory_failure_entry *const_type; - char (*rectype)[0]; - struct memory_failure_entry *ptr; - const struct memory_failure_entry *ptr_const; - }; - struct memory_failure_entry buf[16]; - } fifo; - raw_spinlock_t lock; - struct work_struct work; -}; - -struct memory_failure_stats { - long unsigned int total; - long unsigned int ignored; - long unsigned int failed; - long unsigned int delayed; - long unsigned int recovered; -}; - -struct memory_group { - int nid; - struct list_head memory_blocks; - long unsigned int present_kernel_pages; - long unsigned int present_movable_pages; - bool is_dynamic; - union { - struct { - long unsigned int max_pages; - } s; - struct { - long unsigned int unit_pages; - } d; - }; -}; - -struct memory_initiator { - struct list_head node; - unsigned int processor_pxm; - bool has_cpu; -}; - -struct memory_locality { - struct list_head node; - struct acpi_hmat_locality *hmat_loc; -}; - -struct memory_notify { - long unsigned int altmap_start_pfn; - long unsigned int altmap_nr_pages; - long unsigned int start_pfn; - long unsigned int nr_pages; -}; - -struct netdev_rx_queue; - -struct memory_provider_ops { - netmem_ref (*alloc_netmems)(struct page_pool *, gfp_t); - bool (*release_netmem)(struct page_pool *, netmem_ref); - int (*init)(struct page_pool *); - void (*destroy)(struct page_pool *); - int (*nl_fill)(void *, struct sk_buff *, struct netdev_rx_queue *); - void (*uninstall)(void *, struct netdev_rx_queue *); -}; - -struct memory_stat { - const char *name; - unsigned int idx; -}; - -struct node_cache_attrs { - enum cache_indexing indexing; - enum cache_write_policy write_policy; - u64 size; - u16 line_size; - u8 level; - u16 address_mode; -}; - -struct memory_target { - struct list_head node; - unsigned int memory_pxm; - unsigned int processor_pxm; - struct resource memregions; - struct access_coordinate coord[4]; - struct list_head caches; - struct node_cache_attrs cache_attrs; - u8 gen_port_device_handle[16]; - bool registered; - bool ext_updated; -}; - -struct memory_tier { - struct list_head list; - struct list_head memory_types; - int adistance_start; - struct device dev; - nodemask_t lower_tier_mask; -}; - -struct mempolicy { - atomic_t refcnt; - short unsigned int mode; - short unsigned int flags; - nodemask_t nodes; - int home_node; - union { - nodemask_t cpuset_mems_allowed; - nodemask_t user_nodemask; - } w; -}; - -struct mempolicy_operations { - int (*create)(struct mempolicy *, const nodemask_t *); - void (*rebind)(struct mempolicy *, const nodemask_t *); -}; - -struct memtype { - u64 start; - u64 end; - u64 subtree_max_end; - enum page_cache_mode type; - struct rb_node rb; -}; - -struct menu_device { - int needs_update; - int tick_wakeup; - u64 next_timer_ns; - unsigned int bucket; - unsigned int correction_factor[6]; - unsigned int intervals[8]; - int interval_ptr; -}; - -struct meta_entry { - u64 data_block; - unsigned int index_block; - short unsigned int offset; - short unsigned int pad; -}; - -struct meta_index { - unsigned int inode_number; - unsigned int offset; - short unsigned int entries; - short unsigned int skip; - short unsigned int locked; - short unsigned int pad; - struct meta_entry meta_entry[127]; -}; - -struct xfrm_md_info { - u32 if_id; - int link; - struct dst_entry *dst_orig; -}; - -struct metadata_dst { - struct dst_entry dst; - enum metadata_type type; - union { - struct ip_tunnel_info tun_info; - struct hw_port_info port_info; - struct macsec_info macsec_info; - struct xfrm_md_info xfrm_info; - } u; -}; - -struct mf6cctl { - struct sockaddr_in6 mf6cc_origin; - struct sockaddr_in6 mf6cc_mcastgrp; - mifi_t mf6cc_parent; - struct if_set mf6cc_ifset; -}; - -struct mr_mfc { - struct rhlist_head mnode; - short unsigned int mfc_parent; - int mfc_flags; - union { - struct { - long unsigned int expires; - struct sk_buff_head unresolved; - } unres; - struct { - long unsigned int last_assert; - int minvif; - int maxvif; - atomic_long_t bytes; - atomic_long_t pkt; - atomic_long_t wrong_if; - long unsigned int lastuse; - unsigned char ttls[32]; - refcount_t refcount; - } res; - } mfc_un; - struct list_head list; - struct callback_head rcu; - void (*free)(struct callback_head *); -}; - -struct mfc6_cache_cmp_arg { - struct in6_addr mf6c_mcastgrp; - struct in6_addr mf6c_origin; -}; - -struct mfc6_cache { - struct mr_mfc _c; - union { - struct { - struct in6_addr mf6c_mcastgrp; - struct in6_addr mf6c_origin; - }; - struct mfc6_cache_cmp_arg cmparg; - }; -}; - -struct mfc_cache_cmp_arg { - __be32 mfc_mcastgrp; - __be32 mfc_origin; -}; - -struct mfc_cache { - struct mr_mfc _c; - union { - struct { - __be32 mfc_mcastgrp; - __be32 mfc_origin; - }; - struct mfc_cache_cmp_arg cmparg; - }; -}; - -struct mfc_entry_notifier_info { - struct fib_notifier_info info; - struct mr_mfc *mfc; - u32 tb_id; -}; - -struct mfcctl { - struct in_addr mfcc_origin; - struct in_addr mfcc_mcastgrp; - vifi_t mfcc_parent; - unsigned char mfcc_ttls[32]; - unsigned int mfcc_pkt_cnt; - unsigned int mfcc_byte_cnt; - unsigned int mfcc_wrong_if; - int mfcc_expire; -}; - -struct mfd_cell_acpi_match; - -struct mfd_cell { - const char *name; - int id; - int level; - int (*suspend)(struct platform_device *); - int (*resume)(struct platform_device *); - const void *platform_data; - size_t pdata_size; - const struct mfd_cell_acpi_match *acpi_match; - const struct software_node *swnode; - const char *of_compatible; - u64 of_reg; - bool use_of_reg; - int num_resources; - const struct resource *resources; - bool ignore_resource_conflicts; - bool pm_runtime_no_callbacks; - int num_parent_supplies; - const char * const *parent_supplies; -}; - -struct mfd_cell_acpi_match { - const char *pnpid; - const long long unsigned int adr; -}; - -struct mfd_of_node_entry { - struct list_head list; - struct device *dev; - struct device_node *np; -}; - -struct mhp_params { - struct vmem_altmap *altmap; - pgprot_t pgprot; - struct dev_pagemap *pgmap; -}; - -struct microcode_header_amd { - u32 data_code; - u32 patch_id; - u16 mc_patch_data_id; - u8 mc_patch_data_len; - u8 init_flag; - u32 mc_patch_data_checksum; - u32 nb_dev_id; - u32 sb_dev_id; - u16 processor_rev_id; - u8 nb_rev_id; - u8 sb_rev_id; - u8 bios_api_rev; - u8 reserved1[3]; - u32 match_reg[8]; -}; - -struct microcode_amd { - struct microcode_header_amd hdr; - unsigned int mpb[0]; -}; - -struct microcode_header_intel { - unsigned int hdrver; - unsigned int rev; - unsigned int date; - unsigned int sig; - unsigned int cksum; - unsigned int ldrver; - unsigned int pf; - unsigned int datasize; - unsigned int totalsize; - unsigned int metasize; - unsigned int min_req_ver; - unsigned int reserved; -}; - -struct microcode_intel { - struct microcode_header_intel hdr; - unsigned int bits[0]; -}; - -struct microcode_ops { - enum ucode_state (*request_microcode_fw)(int, struct device *); - void (*microcode_fini_cpu)(int); - enum ucode_state (*apply_microcode)(int); - int (*collect_cpu_info)(int, struct cpu_signature *); - void (*finalize_late_load)(int); - unsigned int nmi_safe: 1; - unsigned int use_nmi: 1; -}; - -struct mid8250_board; - -struct mid8250 { - int line; - int dma_index; - struct pci_dev *dma_dev; - struct uart_8250_dma dma; - struct mid8250_board *board; - struct hsu_dma_chip dma_chip; -}; - -struct mid8250_board { - long unsigned int freq; - unsigned int base_baud; - unsigned int bar; - int (*setup)(struct mid8250 *, struct uart_port *); - void (*exit)(struct mid8250 *); -}; - -struct mif6ctl { - mifi_t mif6c_mifi; - unsigned char mif6c_flags; - unsigned char vifc_threshold; - __u16 mif6c_pifi; - unsigned int vifc_rate_limit; -}; - -struct migrate_pages_stats { - int nr_succeeded; - int nr_failed_pages; - int nr_thp_succeeded; - int nr_thp_failed; - int nr_thp_split; - int nr_split; -}; - -struct migrate_struct { - ext4_lblk_t first_block; - ext4_lblk_t last_block; - ext4_lblk_t curr_block; - ext4_fsblk_t first_pblock; - ext4_fsblk_t last_pblock; -}; - -struct migrate_vma { - struct vm_area_struct *vma; - long unsigned int *dst; - long unsigned int *src; - long unsigned int cpages; - long unsigned int npages; - long unsigned int start; - long unsigned int end; - void *pgmap_owner; - long unsigned int flags; - struct page *fault_page; -}; - -struct set_affinity_pending; - -struct migration_arg { - struct task_struct *task; - int dest_cpu; - struct set_affinity_pending *pending; -}; - -struct migration_mpol { - struct mempolicy *pol; - long unsigned int ilx; -}; - -struct migration_swap_arg { - struct task_struct *src_task; - struct task_struct *dst_task; - int src_cpu; - int dst_cpu; -}; - -struct migration_target_control { - int nid; - nodemask_t *nmask; - gfp_t gfp_mask; - enum migrate_reason reason; -}; - -struct phy_package_shared; - -struct mii_bus { - struct module *owner; - const char *name; - char id[61]; - void *priv; - int (*read)(struct mii_bus *, int, int); - int (*write)(struct mii_bus *, int, int, u16); - int (*read_c45)(struct mii_bus *, int, int, int); - int (*write_c45)(struct mii_bus *, int, int, int, u16); - int (*reset)(struct mii_bus *); - struct mdio_bus_stats stats[32]; - struct mutex mdio_lock; - struct device *parent; - enum { - MDIOBUS_ALLOCATED = 1, - MDIOBUS_REGISTERED = 2, - MDIOBUS_UNREGISTERED = 3, - MDIOBUS_RELEASED = 4, - } state; - struct device dev; - struct mdio_device *mdio_map[32]; - u32 phy_mask; - u32 phy_ignore_ta_mask; - int irq[32]; - int reset_delay_us; - int reset_post_delay_us; - struct gpio_desc *reset_gpiod; - struct mutex shared_lock; - struct phy_package_shared *shared[32]; -}; - -struct mii_ioctl_data { - __u16 phy_id; - __u16 reg_num; - __u16 val_in; - __u16 val_out; -}; - -struct mii_timestamper { - bool (*rxtstamp)(struct mii_timestamper *, struct sk_buff *, int); - void (*txtstamp)(struct mii_timestamper *, struct sk_buff *, int); - int (*hwtstamp)(struct mii_timestamper *, struct kernel_hwtstamp_config *, struct netlink_ext_ack *); - void (*link_state)(struct mii_timestamper *, struct phy_device *); - int (*ts_info)(struct mii_timestamper *, struct kernel_ethtool_ts_info *); - struct device *device; -}; - -struct mii_timestamping_ctrl { - struct mii_timestamper * (*probe_channel)(struct device *, unsigned int); - void (*release_channel)(struct device *, struct mii_timestamper *); -}; - -struct mii_timestamping_desc { - struct list_head list; - struct mii_timestamping_ctrl *ctrl; - struct device *device; -}; - -struct min_heap_callbacks { - bool (*less)(const void *, const void *, void *); - void (*swp)(void *, void *, void *); -}; - -struct min_heap_char { - size_t nr; - size_t size; - char *data; - char preallocated[0]; -}; - -typedef struct min_heap_char min_heap_char; - -struct tcf_proto; - -struct mini_Qdisc { - struct tcf_proto *filter_list; - struct tcf_block *block; - struct gnet_stats_basic_sync *cpu_bstats; - struct gnet_stats_queue *cpu_qstats; - long unsigned int rcu_state; -}; - -struct mini_Qdisc_pair { - struct mini_Qdisc miniq1; - struct mini_Qdisc miniq2; - struct mini_Qdisc **p_miniq; -}; - -struct minimode { - short int w; - short int h; - short int r; - short int rb; -}; - -struct minmax_sample { - u32 t; - u32 v; -}; - -struct minmax { - struct minmax_sample s[3]; -}; - -struct mipi_dsi_host; - -struct mipi_dsi_device { - struct mipi_dsi_host *host; - struct device dev; - bool attached; - char name[20]; - unsigned int channel; - unsigned int lanes; - enum mipi_dsi_pixel_format format; - long unsigned int mode_flags; - long unsigned int hs_rate; - long unsigned int lp_rate; - struct drm_dsc_config *dsc; -}; - -struct mipi_dsi_device_info { - char type[20]; - u32 channel; - struct device_node *node; -}; - -struct mipi_dsi_driver { - struct device_driver driver; - int (*probe)(struct mipi_dsi_device *); - void (*remove)(struct mipi_dsi_device *); - void (*shutdown)(struct mipi_dsi_device *); -}; - -struct mipi_dsi_host_ops; - -struct mipi_dsi_host { - struct device *dev; - const struct mipi_dsi_host_ops *ops; - struct list_head list; -}; - -struct mipi_dsi_msg; - -struct mipi_dsi_host_ops { - int (*attach)(struct mipi_dsi_host *, struct mipi_dsi_device *); - int (*detach)(struct mipi_dsi_host *, struct mipi_dsi_device *); - ssize_t (*transfer)(struct mipi_dsi_host *, const struct mipi_dsi_msg *); -}; - -struct mipi_dsi_msg { - u8 channel; - u8 type; - u16 flags; - size_t tx_len; - const void *tx_buf; - size_t rx_len; - void *rx_buf; -}; - -struct mipi_dsi_multi_context { - struct mipi_dsi_device *dsi; - int accum_err; -}; - -struct mipi_dsi_packet { - size_t size; - u8 header[4]; - size_t payload_length; - const u8 *payload; -}; - -struct misc_res { - u64 max; - atomic64_t watermark; - atomic64_t usage; - atomic64_t events; - atomic64_t events_local; -}; - -struct misc_cg { - struct cgroup_subsys_state css; - struct cgroup_file events_file; - struct cgroup_file events_local_file; - struct misc_res res[3]; -}; - -struct miscdevice { - int minor; - const char *name; - const struct file_operations *fops; - struct list_head list; - struct device *parent; - struct device *this_device; - const struct attribute_group **groups; - const char *nodename; - umode_t mode; -}; - -struct mld2_grec { - __u8 grec_type; - __u8 grec_auxwords; - __be16 grec_nsrcs; - struct in6_addr grec_mca; - struct in6_addr grec_src[0]; -}; - -struct mld2_query { - struct icmp6hdr mld2q_hdr; - struct in6_addr mld2q_mca; - __u8 mld2q_qrv: 3; - __u8 mld2q_suppress: 1; - __u8 mld2q_resv2: 4; - __u8 mld2q_qqic; - __be16 mld2q_nsrcs; - struct in6_addr mld2q_srcs[0]; -}; - -struct mld2_report { - struct icmp6hdr mld2r_hdr; - struct mld2_grec mld2r_grec[0]; -}; - -struct mld_msg { - struct icmp6hdr mld_hdr; - struct in6_addr mld_mca; -}; - -struct mlock_fbatch { - local_lock_t lock; - struct folio_batch fbatch; -}; - -struct mm_cid { - u64 time; - int cid; - int recent_cid; -}; - -struct mm_reply_data { - struct ethnl_reply_data base; - struct ethtool_mm_state state; - struct ethtool_mm_stats stats; -}; - -typedef struct mm_struct *class_mmap_read_lock_t; - -struct xol_area; - -struct uprobes_state { - struct xol_area *xol_area; -}; - -struct mmu_notifier_subscriptions; - -struct mm_struct { - struct { - struct { - atomic_t mm_count; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - }; - struct maple_tree mm_mt; - long unsigned int mmap_base; - long unsigned int mmap_legacy_base; - long unsigned int mmap_compat_base; - long unsigned int mmap_compat_legacy_base; - long unsigned int task_size; - pgd_t *pgd; - atomic_t membarrier_state; - atomic_t mm_users; - struct mm_cid *pcpu_cid; - long unsigned int mm_cid_next_scan; - unsigned int nr_cpus_allowed; - atomic_t max_nr_cid; - raw_spinlock_t cpus_allowed_lock; - atomic_long_t pgtables_bytes; - int map_count; - spinlock_t page_table_lock; - struct rw_semaphore mmap_lock; - struct list_head mmlist; - struct rcuwait vma_writer_wait; - seqcount_t mm_lock_seq; - struct mutex futex_hash_lock; - struct futex_private_hash *futex_phash; - struct futex_private_hash *futex_phash_new; - long unsigned int futex_batches; - struct callback_head futex_rcu; - atomic_long_t futex_atomic; - unsigned int *futex_ref; - long unsigned int hiwater_rss; - long unsigned int hiwater_vm; - long unsigned int total_vm; - long unsigned int locked_vm; - atomic64_t pinned_vm; - long unsigned int data_vm; - long unsigned int exec_vm; - long unsigned int stack_vm; - vm_flags_t def_flags; - seqcount_t write_protect_seq; - spinlock_t arg_lock; - long unsigned int start_code; - long unsigned int end_code; - long unsigned int start_data; - long unsigned int end_data; - long unsigned int start_brk; - long unsigned int brk; - long unsigned int start_stack; - long unsigned int arg_start; - long unsigned int arg_end; - long unsigned int env_start; - long unsigned int env_end; - long unsigned int saved_auxv[52]; - struct percpu_counter rss_stat[4]; - struct linux_binfmt *binfmt; - mm_context_t context; - long unsigned int flags; - spinlock_t ioctx_lock; - struct kioctx_table *ioctx_table; - struct task_struct *owner; - struct user_namespace *user_ns; - struct file *exe_file; - struct mmu_notifier_subscriptions *notifier_subscriptions; - long unsigned int numa_next_scan; - long unsigned int numa_scan_offset; - int numa_scan_seq; - atomic_t tlb_flush_pending; - atomic_t tlb_flush_batched; - struct uprobes_state uprobes_state; - atomic_long_t hugetlb_usage; - struct work_struct async_put_work; - struct iommu_mm_data *iommu_mm; - long unsigned int ksm_merging_pages; - long unsigned int ksm_rmap_items; - atomic_long_t ksm_zero_pages; - struct { - struct list_head list; - long unsigned int bitmap; - struct mem_cgroup *memcg; - } lru_gen; - mm_id_t mm_id; - long: 64; - long: 64; - long: 64; - }; - long unsigned int cpu_bitmap[0]; -}; - -struct mm_struct__safe_rcu_or_null { - struct file *exe_file; -}; - -struct mm_walk_ops; - -struct mm_walk { - const struct mm_walk_ops *ops; - struct mm_struct *mm; - pgd_t *pgd; - struct vm_area_struct *vma; - enum page_walk_action action; - bool no_vma; - void *private; -}; - -struct mm_walk_ops { - int (*pgd_entry)(pgd_t *, long unsigned int, long unsigned int, struct mm_walk *); - int (*p4d_entry)(p4d_t *, long unsigned int, long unsigned int, struct mm_walk *); - int (*pud_entry)(pud_t *, long unsigned int, long unsigned int, struct mm_walk *); - int (*pmd_entry)(pmd_t *, long unsigned int, long unsigned int, struct mm_walk *); - int (*pte_entry)(pte_t *, long unsigned int, long unsigned int, struct mm_walk *); - int (*pte_hole)(long unsigned int, long unsigned int, int, struct mm_walk *); - int (*hugetlb_entry)(pte_t *, long unsigned int, long unsigned int, long unsigned int, struct mm_walk *); - int (*test_walk)(long unsigned int, long unsigned int, struct mm_walk *); - int (*pre_vma)(long unsigned int, long unsigned int, struct mm_walk *); - void (*post_vma)(struct mm_walk *); - int (*install_pte)(long unsigned int, long unsigned int, pte_t *, struct mm_walk *); - enum page_walk_lock walk_lock; -}; - -struct mmap_arg_struct32 { - unsigned int addr; - unsigned int len; - unsigned int prot; - unsigned int flags; - unsigned int fd; - unsigned int offset; -}; - -struct vma_munmap_struct { - struct vma_iterator *vmi; - struct vm_area_struct *vma; - struct vm_area_struct *prev; - struct vm_area_struct *next; - struct list_head *uf; - long unsigned int start; - long unsigned int end; - long unsigned int unmap_start; - long unsigned int unmap_end; - int vma_count; - bool unlock; - bool clear_ptes; - long unsigned int nr_pages; - long unsigned int locked_vm; - long unsigned int nr_accounted; - long unsigned int exec_vm; - long unsigned int stack_vm; - long unsigned int data_vm; -}; - -struct mmap_state { - struct mm_struct *mm; - struct vma_iterator *vmi; - long unsigned int addr; - long unsigned int end; - long unsigned int pgoff; - long unsigned int pglen; - vm_flags_t vm_flags; - struct file *file; - pgprot_t page_prot; - const struct vm_operations_struct *vm_ops; - void *vm_private_data; - long unsigned int charged; - struct vm_area_struct *prev; - struct vm_area_struct *next; - struct vma_munmap_struct vms; - struct ma_state mas_detach; - struct maple_tree mt_detach; - bool check_ksm_early; -}; - -struct mmap_unlock_irq_work { - struct irq_work irq_work; - struct mm_struct *mm; -}; - -struct uhs2_command { - u16 header; - u16 arg; - __be32 payload[2]; - u8 payload_len; - u8 packet_len; - u8 tmode_half_duplex; - u8 uhs2_resp[20]; - u8 uhs2_resp_len; -}; - -struct mmc_command; - -struct mmc_data; - -struct mmc_host; - -struct mmc_request { - struct mmc_command *sbc; - struct mmc_command *cmd; - struct mmc_data *data; - struct mmc_command *stop; - struct completion completion; - struct completion cmd_completion; - void (*done)(struct mmc_request *); - void (*recovery_notifier)(struct mmc_request *); - struct mmc_host *host; - bool cap_cmd_during_tfr; - int tag; - const struct bio_crypt_ctx *crypto_ctx; - int crypto_key_slot; - struct uhs2_command uhs2_cmd; -}; - -struct mmc_command { - u32 opcode; - u32 arg; - u32 resp[4]; - unsigned int flags; - unsigned int retries; - int error; - unsigned int busy_timeout; - struct mmc_data *data; - struct mmc_request *mrq; - struct uhs2_command *uhs2_cmd; - bool has_ext_addr; - u8 ext_addr; -}; - -struct mmc_data { - unsigned int timeout_ns; - unsigned int timeout_clks; - unsigned int blksz; - unsigned int blocks; - unsigned int blk_addr; - int error; - unsigned int flags; - unsigned int bytes_xfered; - struct mmc_command *stop; - struct mmc_request *mrq; - unsigned int sg_len; - int sg_count; - struct scatterlist *sg; - s32 host_cookie; -}; - -struct mmc_blk_request { - struct mmc_request mrq; - struct mmc_command sbc; - struct mmc_command cmd; - struct mmc_command stop; - struct mmc_data data; -}; - -struct mmc_bus_ops { - void (*remove)(struct mmc_host *); - void (*detect)(struct mmc_host *); - int (*pre_suspend)(struct mmc_host *); - int (*suspend)(struct mmc_host *); - int (*resume)(struct mmc_host *); - int (*runtime_suspend)(struct mmc_host *); - int (*runtime_resume)(struct mmc_host *); - int (*alive)(struct mmc_host *); - int (*shutdown)(struct mmc_host *); - int (*hw_reset)(struct mmc_host *); - int (*sw_reset)(struct mmc_host *); - bool (*cache_enabled)(struct mmc_host *); - int (*flush_cache)(struct mmc_host *); -}; - -struct mmc_busy_data { - struct mmc_card *card; - bool retry_crc_err; - enum mmc_busy_cmd busy_cmd; -}; - -struct mmc_cid { - unsigned int manfid; - char prod_name[8]; - unsigned char prv; - unsigned int serial; - short unsigned int oemid; - short unsigned int year; - unsigned char hwrev; - unsigned char fwrev; - unsigned char month; -}; - -struct mmc_csd { - unsigned char structure; - unsigned char mmca_vsn; - short unsigned int cmdclass; - short unsigned int taac_clks; - unsigned int taac_ns; - unsigned int c_size; - unsigned int r2w_factor; - unsigned int max_dtr; - unsigned int erase_size; - unsigned int wp_grp_size; - unsigned int read_blkbits; - unsigned int write_blkbits; - sector_t capacity; - unsigned int read_partial: 1; - unsigned int read_misalign: 1; - unsigned int write_partial: 1; - unsigned int write_misalign: 1; - unsigned int dsr_imp: 1; -}; - -struct mmc_ext_csd { - u8 rev; - u8 erase_group_def; - u8 sec_feature_support; - u8 rel_sectors; - u8 rel_param; - bool enhanced_rpmb_supported; - u8 part_config; - u8 cache_ctrl; - u8 rst_n_function; - unsigned int part_time; - unsigned int sa_timeout; - unsigned int generic_cmd6_time; - unsigned int power_off_longtime; - u8 power_off_notification; - unsigned int hs_max_dtr; - unsigned int hs200_max_dtr; - unsigned int sectors; - unsigned int hc_erase_size; - unsigned int hc_erase_timeout; - unsigned int sec_trim_mult; - unsigned int sec_erase_mult; - unsigned int trim_timeout; - bool partition_setting_completed; - long long unsigned int enhanced_area_offset; - unsigned int enhanced_area_size; - unsigned int cache_size; - bool hpi_en; - bool hpi; - unsigned int hpi_cmd; - bool bkops; - bool man_bkops_en; - bool auto_bkops_en; - unsigned int data_sector_size; - unsigned int data_tag_unit_size; - unsigned int boot_ro_lock; - bool boot_ro_lockable; - bool ffu_capable; - bool cmdq_en; - bool cmdq_support; - unsigned int cmdq_depth; - u8 fwrev[8]; - u8 raw_exception_status; - u8 raw_partition_support; - u8 raw_rpmb_size_mult; - u8 raw_erased_mem_count; - u8 strobe_support; - u8 raw_ext_csd_structure; - u8 raw_card_type; - u8 raw_driver_strength; - u8 out_of_int_time; - u8 raw_pwr_cl_52_195; - u8 raw_pwr_cl_26_195; - u8 raw_pwr_cl_52_360; - u8 raw_pwr_cl_26_360; - u8 raw_s_a_timeout; - u8 raw_hc_erase_gap_size; - u8 raw_erase_timeout_mult; - u8 raw_hc_erase_grp_size; - u8 raw_boot_mult; - u8 raw_sec_trim_mult; - u8 raw_sec_erase_mult; - u8 raw_sec_feature_support; - u8 raw_trim_mult; - u8 raw_pwr_cl_200_195; - u8 raw_pwr_cl_200_360; - u8 raw_pwr_cl_ddr_52_195; - u8 raw_pwr_cl_ddr_52_360; - u8 raw_pwr_cl_ddr_200_360; - u8 raw_bkops_status; - u8 raw_sectors[4]; - u8 pre_eol_info; - u8 device_life_time_est_typ_a; - u8 device_life_time_est_typ_b; - unsigned int feature_support; -}; - -struct sd_scr { - unsigned char sda_vsn; - unsigned char sda_spec3; - unsigned char sda_spec4; - unsigned char sda_specx; - unsigned char bus_widths; - unsigned char cmds; -}; - -struct sd_ssr { - unsigned int au; - unsigned int erase_timeout; - unsigned int erase_offset; -}; - -struct sd_switch_caps { - unsigned int hs_max_dtr; - unsigned int uhs_max_dtr; - unsigned int sd3_bus_mode; - unsigned int sd3_drv_type; - unsigned int sd3_curr_limit; -}; - -struct sd_ext_reg { - u8 fno; - u8 page; - u16 offset; - u8 rev; - u8 feature_enabled; - u8 feature_support; -}; - -struct sd_uhs2_config { - u32 node_id; - u32 n_fcu; - u32 maxblk_len; - u8 n_lanes; - u8 dadr_len; - u8 app_type; - u8 phy_minor_rev; - u8 phy_major_rev; - u8 can_hibernate; - u8 n_lss_sync; - u8 n_lss_dir; - u8 link_minor_rev; - u8 link_major_rev; - u8 dev_type; - u8 n_data_gap; - u32 n_fcu_set; - u32 maxblk_len_set; - u8 n_lanes_set; - u8 speed_range_set; - u8 n_lss_sync_set; - u8 n_lss_dir_set; - u8 n_data_gap_set; - u8 max_retry_set; -}; - -struct sdio_cccr { - unsigned int sdio_vsn; - unsigned int sd_vsn; - unsigned int multi_block: 1; - unsigned int low_speed: 1; - unsigned int wide_bus: 1; - unsigned int high_power: 1; - unsigned int high_speed: 1; - unsigned int disable_cd: 1; - unsigned int enable_async_irq: 1; -}; - -struct sdio_cis { - short unsigned int vendor; - short unsigned int device; - short unsigned int blksize; - unsigned int max_dtr; -}; - -struct mmc_part { - u64 size; - unsigned int part_cfg; - char name[20]; - bool force_ro; - unsigned int area_type; -}; - -struct sdio_func_tuple; - -struct mmc_card { - struct mmc_host *host; - struct device dev; - u32 ocr; - unsigned int rca; - unsigned int type; - unsigned int state; - unsigned int quirks; - unsigned int quirk_max_rate; - bool written_flag; - bool reenable_cmdq; - unsigned int erase_size; - unsigned int erase_shift; - unsigned int pref_erase; - unsigned int eg_boundary; - unsigned int erase_arg; - u8 erased_byte; - unsigned int wp_grp_size; - u32 raw_cid[4]; - u32 raw_csd[4]; - u32 raw_scr[2]; - u32 raw_ssr[16]; - struct mmc_cid cid; - struct mmc_csd csd; - struct mmc_ext_csd ext_csd; - struct sd_scr scr; - struct sd_ssr ssr; - struct sd_switch_caps sw_caps; - struct sd_ext_reg ext_power; - struct sd_ext_reg ext_perf; - struct sd_uhs2_config uhs2_config; - unsigned int sdio_funcs; - atomic_t sdio_funcs_probed; - struct sdio_cccr cccr; - struct sdio_cis cis; - struct sdio_func *sdio_func[7]; - struct sdio_func *sdio_single_irq; - u8 major_rev; - u8 minor_rev; - unsigned int num_info; - const char **info; - struct sdio_func_tuple *tuples; - unsigned int sd_bus_speed; - unsigned int mmc_avail_type; - unsigned int drive_strength; - struct dentry *debugfs_root; - struct mmc_part part[7]; - unsigned int nr_parts; - struct workqueue_struct *complete_wq; -}; - -struct mmc_clk_phase { - bool valid; - u16 in_deg; - u16 out_deg; -}; - -struct mmc_clk_phase_map { - struct mmc_clk_phase phase[11]; -}; - -struct mmc_cqe_ops { - int (*cqe_enable)(struct mmc_host *, struct mmc_card *); - void (*cqe_disable)(struct mmc_host *); - int (*cqe_request)(struct mmc_host *, struct mmc_request *); - void (*cqe_post_req)(struct mmc_host *, struct mmc_request *); - void (*cqe_off)(struct mmc_host *); - int (*cqe_wait_for_idle)(struct mmc_host *); - bool (*cqe_timeout)(struct mmc_host *, struct mmc_request *, bool *); - void (*cqe_recovery_start)(struct mmc_host *); - void (*cqe_recovery_finish)(struct mmc_host *); -}; - -struct mmc_ctx { - struct task_struct *task; -}; - -struct mmc_driver { - struct device_driver drv; - int (*probe)(struct mmc_card *); - void (*remove)(struct mmc_card *); - void (*shutdown)(struct mmc_card *); -}; - -struct mmc_fixup { - const char *name; - u64 rev_start; - u64 rev_end; - unsigned int manfid; - short unsigned int oemid; - short unsigned int year; - unsigned char month; - u16 cis_vendor; - u16 cis_device; - unsigned int ext_csd_rev; - const char *of_compatible; - void (*vendor_fixup)(struct mmc_card *, int); - int data; -}; - -struct mmc_gpio { - struct gpio_desc *ro_gpio; - struct gpio_desc *cd_gpio; - irq_handler_t cd_gpio_isr; - char *ro_label; - char *cd_label; - u32 cd_debounce_delay_ms; - int cd_irq; -}; - -struct sd_uhs2_caps { - u32 dap; - u32 gap; - u32 group_desc; - u32 maxblk_len; - u32 n_fcu; - u8 n_lanes; - u8 addr64; - u8 card_type; - u8 phy_rev; - u8 speed_range; - u8 n_lss_sync; - u8 n_lss_dir; - u8 link_rev; - u8 host_type; - u8 n_data_gap; - u32 maxblk_len_set; - u32 n_fcu_set; - u8 n_lanes_set; - u8 n_lss_sync_set; - u8 n_lss_dir_set; - u8 n_data_gap_set; - u8 max_retry_set; -}; - -struct mmc_ios { - unsigned int clock; - short unsigned int vdd; - unsigned int power_delay_ms; - unsigned char bus_mode; - unsigned char chip_select; - unsigned char power_mode; - unsigned char bus_width; - unsigned char timing; - unsigned char signal_voltage; - unsigned char vqmmc2_voltage; - unsigned char drv_type; - bool enhanced_strobe; -}; - -struct mmc_slot { - int cd_irq; - bool cd_wake_enabled; - void *handler_priv; -}; - -struct mmc_supply { - struct regulator *vmmc; - struct regulator *vqmmc; - struct regulator *vqmmc2; -}; - -struct mmc_host_ops; - -struct mmc_pwrseq; - -struct mmc_host { - struct device *parent; - struct device class_dev; - int index; - const struct mmc_host_ops *ops; - struct mmc_pwrseq *pwrseq; - unsigned int f_min; - unsigned int f_max; - unsigned int f_init; - u32 ocr_avail; - u32 ocr_avail_sdio; - u32 ocr_avail_sd; - u32 ocr_avail_mmc; - struct wakeup_source *ws; - u32 max_current_330; - u32 max_current_300; - u32 max_current_180; - u32 caps; - u32 caps2; - bool uhs2_sd_tran; - bool uhs2_app_cmd; - struct sd_uhs2_caps uhs2_caps; - int fixed_drv_type; - mmc_pm_flag_t pm_caps; - unsigned int max_seg_size; - short unsigned int max_segs; - short unsigned int unused; - unsigned int max_req_size; - unsigned int max_blk_size; - unsigned int max_blk_count; - unsigned int max_busy_timeout; - spinlock_t lock; - struct mmc_ios ios; - unsigned int use_spi_crc: 1; - unsigned int claimed: 1; - unsigned int doing_init_tune: 1; - unsigned int can_retune: 1; - unsigned int doing_retune: 1; - unsigned int retune_now: 1; - unsigned int retune_paused: 1; - unsigned int retune_crc_disable: 1; - unsigned int can_dma_map_merge: 1; - unsigned int vqmmc_enabled: 1; - int rescan_disable; - int rescan_entered; - int need_retune; - int hold_retune; - unsigned int retune_period; - struct timer_list retune_timer; - bool trigger_card_event; - struct mmc_card *card; - wait_queue_head_t wq; - struct mmc_ctx *claimer; - int claim_cnt; - struct mmc_ctx default_ctx; - struct delayed_work detect; - int detect_change; - struct mmc_slot slot; - const struct mmc_bus_ops *bus_ops; - unsigned int sdio_irqs; - struct task_struct *sdio_irq_thread; - struct work_struct sdio_irq_work; - bool sdio_irq_pending; - atomic_t sdio_irq_thread_abort; - mmc_pm_flag_t pm_flags; - struct led_trigger *led; - bool regulator_enabled; - struct mmc_supply supply; - struct dentry *debugfs_root; - struct mmc_request *ongoing_mrq; - unsigned int actual_clock; - unsigned int slotno; - int dsr_req; - u32 dsr; - const struct mmc_cqe_ops *cqe_ops; - void *cqe_private; - int cqe_qdepth; - bool cqe_enabled; - bool cqe_on; - struct blk_crypto_profile crypto_profile; - bool hsq_enabled; - int hsq_depth; - u32 err_stats[15]; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long unsigned int private[0]; -}; - -struct mmc_host_ops { - void (*post_req)(struct mmc_host *, struct mmc_request *, int); - void (*pre_req)(struct mmc_host *, struct mmc_request *); - void (*request)(struct mmc_host *, struct mmc_request *); - int (*request_atomic)(struct mmc_host *, struct mmc_request *); - void (*set_ios)(struct mmc_host *, struct mmc_ios *); - int (*get_ro)(struct mmc_host *); - int (*get_cd)(struct mmc_host *); - void (*enable_sdio_irq)(struct mmc_host *, int); - void (*ack_sdio_irq)(struct mmc_host *); - void (*init_card)(struct mmc_host *, struct mmc_card *); - int (*start_signal_voltage_switch)(struct mmc_host *, struct mmc_ios *); - int (*card_busy)(struct mmc_host *); - int (*execute_tuning)(struct mmc_host *, u32); - int (*prepare_hs400_tuning)(struct mmc_host *, struct mmc_ios *); - int (*execute_hs400_tuning)(struct mmc_host *, struct mmc_card *); - int (*prepare_sd_hs_tuning)(struct mmc_host *, struct mmc_card *); - int (*execute_sd_hs_tuning)(struct mmc_host *, struct mmc_card *); - int (*hs400_prepare_ddr)(struct mmc_host *); - void (*hs400_downgrade)(struct mmc_host *); - void (*hs400_complete)(struct mmc_host *); - void (*hs400_enhanced_strobe)(struct mmc_host *, struct mmc_ios *); - int (*select_drive_strength)(struct mmc_card *, unsigned int, int, int, int *); - void (*card_hw_reset)(struct mmc_host *); - void (*card_event)(struct mmc_host *); - int (*multi_io_quirk)(struct mmc_card *, unsigned int, int); - int (*init_sd_express)(struct mmc_host *, struct mmc_ios *); - int (*uhs2_control)(struct mmc_host *, enum sd_uhs2_operation); -}; - -struct mmc_op_cond_busy_data { - struct mmc_host *host; - u32 ocr; - struct mmc_command *cmd; -}; - -struct mmc_pwrseq_ops; - -struct mmc_pwrseq { - const struct mmc_pwrseq_ops *ops; - struct device *dev; - struct list_head pwrseq_node; - struct module *owner; -}; - -struct mmc_pwrseq_ops { - void (*pre_power_on)(struct mmc_host *); - void (*post_power_on)(struct mmc_host *); - void (*power_off)(struct mmc_host *); - void (*reset)(struct mmc_host *); -}; - -struct mmc_queue_req { - struct mmc_blk_request brq; - struct scatterlist *sg; - enum mmc_drv_op drv_op; - int drv_op_result; - void *drv_op_data; - unsigned int ioc_count; - int retries; -}; - -struct mminit_pfnnid_cache { - long unsigned int last_start; - long unsigned int last_end; - int last_nid; -}; - -struct mmiotrace_map { - resource_size_t phys; - long unsigned int virt; - long unsigned int len; - int map_id; - unsigned char opcode; -}; - -struct mmiotrace_rw { - resource_size_t phys; - long unsigned int value; - long unsigned int pc; - int map_id; - unsigned char opcode; - unsigned char width; -}; - -struct mmp_struct { - __le32 mmp_magic; - __le32 mmp_seq; - __le64 mmp_time; - char mmp_nodename[64]; - char mmp_bdevname[32]; - __le16 mmp_check_interval; - __le16 mmp_pad1; - __le32 mmp_pad2[226]; - __le32 mmp_checksum; -}; - -struct mmpin { - struct user_struct *user; - unsigned int num_pg; -}; - -struct user_msghdr { - void *msg_name; - int msg_namelen; - struct iovec *msg_iov; - __kernel_size_t msg_iovlen; - void *msg_control; - __kernel_size_t msg_controllen; - unsigned int msg_flags; -}; - -struct mmsghdr { - struct user_msghdr msg_hdr; - unsigned int msg_len; -}; - -struct encoded_page; - -struct mmu_gather_batch { - struct mmu_gather_batch *next; - unsigned int nr; - unsigned int max; - struct encoded_page *encoded_pages[0]; -}; - -struct mmu_table_batch; - -struct mmu_gather { - struct mm_struct *mm; - struct mmu_table_batch *batch; - long unsigned int start; - long unsigned int end; - unsigned int fullmm: 1; - unsigned int need_flush_all: 1; - unsigned int freed_tables: 1; - unsigned int delayed_rmap: 1; - unsigned int cleared_ptes: 1; - unsigned int cleared_pmds: 1; - unsigned int cleared_puds: 1; - unsigned int cleared_p4ds: 1; - unsigned int vma_exec: 1; - unsigned int vma_huge: 1; - unsigned int vma_pfn: 1; - unsigned int batch_count; - struct mmu_gather_batch *active; - struct mmu_gather_batch local; - struct page *__pages[8]; -}; - -struct mmu_interval_notifier_ops; - -struct mmu_interval_notifier { - struct interval_tree_node interval_tree; - const struct mmu_interval_notifier_ops *ops; - struct mm_struct *mm; - struct hlist_node deferred_item; - long unsigned int invalidate_seq; -}; - -struct mmu_interval_notifier_ops { - bool (*invalidate)(struct mmu_interval_notifier *, const struct mmu_notifier_range *, long unsigned int); -}; - -struct mmu_notifier_ops { - void (*release)(struct mmu_notifier *, struct mm_struct *); - int (*clear_flush_young)(struct mmu_notifier *, struct mm_struct *, long unsigned int, long unsigned int); - int (*clear_young)(struct mmu_notifier *, struct mm_struct *, long unsigned int, long unsigned int); - int (*test_young)(struct mmu_notifier *, struct mm_struct *, long unsigned int); - int (*invalidate_range_start)(struct mmu_notifier *, const struct mmu_notifier_range *); - void (*invalidate_range_end)(struct mmu_notifier *, const struct mmu_notifier_range *); - void (*arch_invalidate_secondary_tlbs)(struct mmu_notifier *, struct mm_struct *, long unsigned int, long unsigned int); - struct mmu_notifier * (*alloc_notifier)(struct mm_struct *); - void (*free_notifier)(struct mmu_notifier *); -}; - -struct mmu_notifier_subscriptions { - struct hlist_head list; - bool has_itree; - spinlock_t lock; - long unsigned int invalidate_seq; - long unsigned int active_invalidate_ranges; - struct rb_root_cached itree; - wait_queue_head_t wq; - struct hlist_head deferred_list; -}; - -struct mmu_table_batch { - struct callback_head rcu; - unsigned int nr; - void *tables[0]; -}; - -struct mmu_update { - uint64_t ptr; - uint64_t val; -}; - -struct mmuext_op { - unsigned int cmd; - union { - xen_pfn_t mfn; - long unsigned int linear_addr; - } arg1; - union { - unsigned int nr_ents; - void *vcpumask; - xen_pfn_t src_mfn; - } arg2; -}; - -struct mn { - unsigned char m_val; - unsigned char n_val; - unsigned char m_shift; - unsigned char n_lshift; -}; - -struct mnt_id_req { - __u32 size; - __u32 mnt_ns_fd; - __u64 mnt_id; - __u64 param; - __u64 mnt_ns_id; -}; - -struct uid_gid_extent { - u32 first; - u32 lower_first; - u32 count; -}; - -struct uid_gid_map { - union { - struct { - struct uid_gid_extent extent[5]; - u32 nr_extents; - }; - struct { - struct uid_gid_extent *forward; - struct uid_gid_extent *reverse; - }; - }; -}; - -struct mnt_idmap { - struct uid_gid_map uid_map; - struct uid_gid_map gid_map; - refcount_t count; -}; - -struct mount; - -struct mnt_namespace { - struct ns_common ns; - struct mount *root; - struct { - struct rb_root mounts; - struct rb_node *mnt_last_node; - struct rb_node *mnt_first_node; - }; - struct user_namespace *user_ns; - struct ucounts *ucounts; - u64 seq; - union { - wait_queue_head_t poll; - struct callback_head mnt_ns_rcu; - }; - u64 seq_origin; - u64 event; - __u32 n_fsnotify_mask; - struct fsnotify_mark_connector *n_fsnotify_marks; - unsigned int nr_mounts; - unsigned int pending_mounts; - struct rb_node mnt_ns_tree_node; - struct list_head mnt_ns_list; - refcount_t passive; -}; - -struct mnt_ns_info { - __u32 size; - __u32 nr_mounts; - __u64 mnt_ns_id; -}; - -struct mnt_pcp { - int mnt_count; - int mnt_writers; -}; - -struct mod_arch_specific { - struct its_array its_pages; -}; - -struct mod_initfree { - struct llist_node node; - void *init_text; - void *init_data; - void *init_rodata; -}; - -struct mod_kallsyms { - Elf64_Sym *symtab; - unsigned int num_symtab; - char *strtab; - char *typetab; -}; - -struct mod_tree_node { - struct module *mod; - struct latch_tree_node node; -}; - -struct mod_tree_root { - struct latch_tree_root root; - long unsigned int addr_min; - long unsigned int addr_max; -}; - -struct mode_page_header { - __be16 mode_data_length; - __u8 medium_type; - __u8 reserved1; - __u8 reserved2; - __u8 reserved3; - __be16 desc_length; -}; - -struct modesel_head { - __u8 reserved1; - __u8 medium; - __u8 reserved2; - __u8 block_desc_length; - __u8 density; - __u8 number_of_blocks_hi; - __u8 number_of_blocks_med; - __u8 number_of_blocks_lo; - __u8 reserved3; - __u8 block_length_hi; - __u8 block_length_med; - __u8 block_length_lo; -}; - -struct pkcs7_message; - -struct modsig { - struct pkcs7_message *pkcs7_msg; - enum hash_algo hash_algo; - const u8 *digest; - u32 digest_size; - int raw_pkcs7_len; - u8 raw_pkcs7[0]; -}; - -struct module_param_attrs; - -struct module_kobject { - struct kobject kobj; - struct module *mod; - struct kobject *drivers_dir; - struct module_param_attrs *mp; - struct completion *kobj_completion; -}; - -struct module_memory { - void *base; - bool is_rox; - unsigned int size; - struct mod_tree_node mtn; -}; - -struct module_attribute; - -struct module_sect_attrs; - -struct module_notes_attrs; - -struct trace_event_call; - -struct trace_eval_map; - -struct static_call_site; - -struct module { - enum module_state state; - struct list_head list; - char name[56]; - struct module_kobject mkobj; - struct module_attribute *modinfo_attrs; - const char *version; - const char *srcversion; - struct kobject *holders_dir; - const struct kernel_symbol *syms; - const u32 *crcs; - unsigned int num_syms; - struct mutex param_lock; - struct kernel_param *kp; - unsigned int num_kp; - unsigned int num_gpl_syms; - const struct kernel_symbol *gpl_syms; - const u32 *gpl_crcs; - bool using_gplonly_symbols; - bool sig_ok; - bool async_probe_requested; - unsigned int num_exentries; - struct exception_table_entry *extable; - int (*init)(void); - struct module_memory mem[7]; - struct mod_arch_specific arch; - long unsigned int taints; - unsigned int num_bugs; - struct list_head bug_list; - struct bug_entry *bug_table; - struct mod_kallsyms *kallsyms; - struct mod_kallsyms core_kallsyms; - struct module_sect_attrs *sect_attrs; - struct module_notes_attrs *notes_attrs; - char *args; - void *percpu; - unsigned int percpu_size; - void *noinstr_text_start; - unsigned int noinstr_text_size; - unsigned int num_tracepoints; - tracepoint_ptr_t *tracepoints_ptrs; - unsigned int num_srcu_structs; - struct srcu_struct **srcu_struct_ptrs; - unsigned int num_bpf_raw_events; - struct bpf_raw_event_map *bpf_raw_events; - unsigned int btf_data_size; - unsigned int btf_base_data_size; - void *btf_data; - void *btf_base_data; - struct jump_entry *jump_entries; - unsigned int num_jump_entries; - unsigned int num_trace_bprintk_fmt; - const char **trace_bprintk_fmt_start; - struct trace_event_call **trace_events; - unsigned int num_trace_events; - struct trace_eval_map **trace_evals; - unsigned int num_trace_evals; - unsigned int num_ftrace_callsites; - long unsigned int *ftrace_callsites; - void *kprobes_text_start; - unsigned int kprobes_text_size; - long unsigned int *kprobe_blacklist; - unsigned int num_kprobe_blacklist; - int num_static_call_sites; - struct static_call_site *static_call_sites; - bool klp; - bool klp_alive; - struct klp_modinfo *klp_info; - struct list_head source_list; - struct list_head target_list; - void (*exit)(void); - atomic_t refcnt; - struct error_injection_entry *ei_funcs; - unsigned int num_ei_funcs; - struct _ddebug_info dyndbg_info; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct module_attribute { - struct attribute attr; - ssize_t (*show)(const struct module_attribute *, struct module_kobject *, char *); - ssize_t (*store)(const struct module_attribute *, struct module_kobject *, const char *, size_t); - void (*setup)(struct module *, const char *); - int (*test)(struct module *); - void (*free)(struct module *); -}; - -struct module_notes_attrs { - struct attribute_group grp; - struct bin_attribute attrs[0]; -}; - -struct param_attribute { - struct module_attribute mattr; - const struct kernel_param *param; -}; - -struct module_param_attrs { - unsigned int num; - struct attribute_group grp; - struct param_attribute attrs[0]; -}; - -struct module_reply_data { - struct ethnl_reply_data base; - struct ethtool_module_power_mode_params power; -}; - -struct module_sect_attrs { - struct attribute_group grp; - struct bin_attribute attrs[0]; -}; - -struct module_signature { - u8 algo; - u8 hash; - u8 id_type; - u8 signer_len; - u8 key_id_len; - u8 __pad[3]; - __be32 sig_len; -}; - -struct module_string { - struct list_head next; - struct module *module; - char *str; -}; - -struct module_use { - struct list_head source_list; - struct list_head target_list; - struct module *source; - struct module *target; -}; - -struct module_version_attribute { - struct module_attribute mattr; - const char *module_name; - const char *version; -}; - -struct modules_array { - struct module **mods; - int mods_cnt; - int mods_cap; -}; - -struct modversion_info { - long unsigned int crc; - char name[56]; -}; - -struct modversion_info_ext { - size_t remaining; - const u32 *crc; - const char *name; -}; - -struct mon_data { - struct list_head list; - enum resctrl_res_level rid; - enum resctrl_event_id evtid; - int domid; - bool sum; -}; - -struct mon_evt { - enum resctrl_event_id evtid; - char *name; - bool configurable; - struct list_head list; -}; - -struct rdtgroup; - -struct mongroup { - struct kernfs_node *mon_data_kn; - struct rdtgroup *parent; - struct list_head crdtgrp_list; - u32 rmid; -}; - -struct vfsmount { - struct dentry *mnt_root; - struct super_block *mnt_sb; - int mnt_flags; - struct mnt_idmap *mnt_idmap; -}; - -struct mountpoint; - -struct mount { - struct hlist_node mnt_hash; - struct mount *mnt_parent; - struct dentry *mnt_mountpoint; - struct vfsmount mnt; - union { - struct rb_node mnt_node; - struct callback_head mnt_rcu; - struct llist_node mnt_llist; - }; - struct mnt_pcp *mnt_pcp; - struct list_head mnt_mounts; - struct list_head mnt_child; - struct list_head mnt_instance; - const char *mnt_devname; - struct list_head mnt_list; - struct list_head mnt_expire; - struct list_head mnt_share; - struct hlist_head mnt_slave_list; - struct hlist_node mnt_slave; - struct mount *mnt_master; - struct mnt_namespace *mnt_ns; - struct mountpoint *mnt_mp; - union { - struct hlist_node mnt_mp_list; - struct hlist_node mnt_umount; - }; - struct fsnotify_mark_connector *mnt_fsnotify_marks; - __u32 mnt_fsnotify_mask; - struct list_head to_notify; - struct mnt_namespace *prev_ns; - int mnt_t_flags; - int mnt_id; - u64 mnt_id_unique; - int mnt_group_id; - int mnt_expiry_mark; - struct hlist_head mnt_pins; - struct hlist_head mnt_stuck_children; - struct mount *overmount; -}; - -struct mount_attr { - __u64 attr_set; - __u64 attr_clr; - __u64 propagation; - __u64 userns_fd; -}; - -struct mount_kattr { - unsigned int attr_set; - unsigned int attr_clr; - unsigned int propagation; - unsigned int lookup_flags; - enum mount_kattr_flags_t kflags; - struct user_namespace *mnt_userns; - struct mnt_idmap *mnt_idmap; -}; - -struct mount_opts { - int token; - int mount_opt; - int flags; -}; - -struct mountpoint { - struct hlist_node m_hash; - struct dentry *m_dentry; - struct hlist_head m_list; -}; - -struct mousedev_hw_data { - int dx; - int dy; - int dz; - int x; - int y; - int abs_event; - long unsigned int buttons; -}; - -struct mousedev { - int open; - struct input_handle handle; - wait_queue_head_t wait; - struct list_head client_list; - spinlock_t client_lock; - struct mutex mutex; - struct device dev; - struct cdev cdev; - bool exist; - struct list_head mixdev_node; - bool opened_by_mixdev; - struct mousedev_hw_data packet; - unsigned int pkt_count; - int old_x[4]; - int old_y[4]; - int frac_dx; - int frac_dy; - long unsigned int touch; - int (*open_device)(struct mousedev *); - void (*close_device)(struct mousedev *); -}; - -struct mousedev_motion { - int dx; - int dy; - int dz; - long unsigned int buttons; -}; - -struct mousedev_client { - struct fasync_struct *fasync; - struct mousedev *mousedev; - struct list_head node; - struct mousedev_motion packets[16]; - unsigned int head; - unsigned int tail; - spinlock_t packet_lock; - int pos_x; - int pos_y; - u8 ps2[6]; - unsigned char ready; - unsigned char buffer; - unsigned char bufsiz; - unsigned char imexseq; - unsigned char impsseq; - enum mousedev_emul mode; - long unsigned int last_buttons; -}; - -struct movable_operations { - bool (*isolate_page)(struct page *, isolate_mode_t); - int (*migrate_page)(struct page *, struct page *, enum migrate_mode); - void (*putback_page)(struct page *); -}; - -struct move_extent { - __u32 reserved; - __u32 donor_fd; - __u64 orig_start; - __u64 donor_start; - __u64 len; - __u64 moved_len; -}; - -struct mp_chip_data { - struct list_head irq_2_pin; - struct IO_APIC_route_entry entry; - bool is_level; - bool active_low; - bool isa_irq; - u32 count; -}; - -struct mpage_da_data { - struct inode *inode; - struct writeback_control *wbc; - unsigned int can_map: 1; - loff_t start_pos; - loff_t next_pos; - loff_t end_pos; - struct ext4_map_blocks map; - struct ext4_io_submit io_submit; - unsigned int do_map: 1; - unsigned int scanned_until_end: 1; - unsigned int journalled_more_data: 1; -}; - -struct mpage_data { - struct bio *bio; - sector_t last_block_in_bio; - get_block_t *get_block; -}; - -struct mpage_readpage_args { - struct bio *bio; - struct folio *folio; - unsigned int nr_pages; - bool is_readahead; - sector_t last_block_in_bio; - struct buffer_head map_bh; - long unsigned int first_logical_block; - get_block_t *get_block; -}; - -struct mpc_bus { - unsigned char type; - unsigned char busid; - unsigned char bustype[6]; -}; - -struct mpc_cpu { - unsigned char type; - unsigned char apicid; - unsigned char apicver; - unsigned char cpuflag; - unsigned int cpufeature; - unsigned int featureflag; - unsigned int reserved[2]; -}; - -struct mpc_intsrc { - unsigned char type; - unsigned char irqtype; - short unsigned int irqflag; - unsigned char srcbus; - unsigned char srcbusirq; - unsigned char dstapic; - unsigned char dstirq; -}; - -struct mpc_lintsrc { - unsigned char type; - unsigned char irqtype; - short unsigned int irqflag; - unsigned char srcbusid; - unsigned char srcbusirq; - unsigned char destapic; - unsigned char destapiclint; -}; - -struct mpc_table { - char signature[4]; - short unsigned int length; - char spec; - char checksum; - char oem[8]; - char productid[12]; - unsigned int oemptr; - short unsigned int oemsize; - short unsigned int oemcount; - unsigned int lapic; - unsigned int reserved; -}; - -struct mpf_intel { - char signature[4]; - unsigned int physptr; - unsigned char length; - unsigned char specification; - unsigned char checksum; - unsigned char feature1; - unsigned char feature2; - unsigned char feature3; - unsigned char feature4; - unsigned char feature5; -}; - -struct mpls_label { - __be32 entry; -}; - -struct mpls_shim_hdr { - __be32 label_stack_entry; -}; - -struct mptcp_addr_info { - u8 id; - sa_family_t family; - __be16 port; - union { - struct in_addr addr; - struct in6_addr addr6; - }; -}; - -struct mptcp_rm_list { - u8 ids[8]; - u8 nr; -}; - -struct mptcp_pm_data { - struct mptcp_addr_info local; - struct mptcp_addr_info remote; - struct list_head anno_list; - struct list_head userspace_pm_local_addr_list; - spinlock_t lock; - union { - struct { - u8 addr_signal; - bool server_side; - bool work_pending; - bool accept_addr; - bool accept_subflow; - bool remote_deny_join_id0; - u8 add_addr_signaled; - u8 add_addr_accepted; - u8 local_addr_used; - u8 pm_type; - u8 subflows; - u8 status; - }; - struct { - u8 addr_signal; - bool server_side; - bool work_pending; - bool accept_addr; - bool accept_subflow; - bool remote_deny_join_id0; - u8 add_addr_signaled; - u8 add_addr_accepted; - u8 local_addr_used; - u8 pm_type; - u8 subflows; - u8 status; - } reset; - }; - long unsigned int id_avail_bitmap[4]; - struct mptcp_rm_list rm_list_tx; - struct mptcp_rm_list rm_list_rx; -}; - -struct mptcp_data_frag; - -struct mptcp_sched_ops; - -struct mptcp_sock { - struct inet_connection_sock sk; - u64 local_key; - u64 remote_key; - u64 write_seq; - u64 bytes_sent; - u64 snd_nxt; - u64 bytes_received; - u64 ack_seq; - atomic64_t rcv_wnd_sent; - u64 rcv_data_fin_seq; - u64 bytes_retrans; - u64 bytes_consumed; - int snd_burst; - int old_wspace; - u64 recovery_snd_nxt; - u64 bytes_acked; - u64 snd_una; - u64 wnd_end; - u32 last_data_sent; - u32 last_data_recv; - u32 last_ack_recv; - long unsigned int timer_ival; - u32 token; - long unsigned int flags; - long unsigned int cb_flags; - bool recovery; - bool can_ack; - bool fully_established; - bool rcv_data_fin; - bool snd_data_fin_enable; - bool rcv_fastclose; - bool use_64bit_ack; - bool csum_enabled; - bool allow_infinite_fallback; - u8 pending_state; - u8 mpc_endpoint_id; - u8 recvmsg_inq: 1; - u8 cork: 1; - u8 nodelay: 1; - u8 fastopening: 1; - u8 in_accept_queue: 1; - u8 free_first: 1; - u8 rcvspace_init: 1; - u8 fastclosing: 1; - u32 notsent_lowat; - int keepalive_cnt; - int keepalive_idle; - int keepalive_intvl; - int maxseg; - struct work_struct work; - struct sk_buff *ooo_last_skb; - struct rb_root out_of_order_queue; - struct list_head conn_list; - struct list_head rtx_queue; - struct mptcp_data_frag *first_pending; - struct list_head join_list; - struct sock *first; - struct mptcp_pm_data pm; - struct mptcp_sched_ops *sched; - struct { - u32 space; - u32 copied; - u64 time; - u64 rtt_us; - } rcvq_space; - u8 scaling_ratio; - bool allow_subflows; - u32 subflow_id; - u32 setsockopt_seq; - char ca_name[16]; - spinlock_t fallback_lock; -}; - -struct mptcp6_sock { - struct mptcp_sock msk; - struct ipv6_pinfo np; -}; - -struct mptcp_data_frag { - struct list_head list; - u64 data_seq; - u16 data_len; - u16 offset; - u16 overhead; - u16 already_sent; - struct page *page; -}; - -struct mptcp_delegated_action { - struct napi_struct napi; - local_lock_t bh_lock; - struct list_head head; -}; - -struct mptcp_ext { - union { - u64 data_ack; - u32 data_ack32; - }; - u64 data_seq; - u32 subflow_seq; - u16 data_len; - __sum16 csum; - u8 use_map: 1; - u8 dsn64: 1; - u8 data_fin: 1; - u8 use_ack: 1; - u8 ack64: 1; - u8 mpc_map: 1; - u8 frozen: 1; - u8 reset_transient: 1; - u8 reset_reason: 4; - u8 csum_reqd: 1; - u8 infinite_map: 1; -}; - -struct mptcp_info { - __u8 mptcpi_subflows; - __u8 mptcpi_add_addr_signal; - __u8 mptcpi_add_addr_accepted; - __u8 mptcpi_subflows_max; - __u8 mptcpi_add_addr_signal_max; - __u8 mptcpi_add_addr_accepted_max; - __u32 mptcpi_flags; - __u32 mptcpi_token; - __u64 mptcpi_write_seq; - __u64 mptcpi_snd_una; - __u64 mptcpi_rcv_nxt; - __u8 mptcpi_local_addr_used; - __u8 mptcpi_local_addr_max; - __u8 mptcpi_csum_enabled; - __u32 mptcpi_retransmits; - __u64 mptcpi_bytes_retrans; - __u64 mptcpi_bytes_sent; - __u64 mptcpi_bytes_received; - __u64 mptcpi_bytes_acked; - __u8 mptcpi_subflows_total; - __u8 reserved[3]; - __u32 mptcpi_last_data_sent; - __u32 mptcpi_last_data_recv; - __u32 mptcpi_last_ack_recv; -}; - -struct mptcp_full_info { - __u32 size_tcpinfo_kernel; - __u32 size_tcpinfo_user; - __u32 size_sfinfo_kernel; - __u32 size_sfinfo_user; - __u32 num_subflows; - __u32 size_arrays_user; - __u64 subflow_info; - __u64 tcp_info; - struct mptcp_info mptcp_info; -}; - -struct mptcp_mib { - long unsigned int mibs[77]; -}; - -struct mptcp_options_received { - u64 sndr_key; - u64 rcvr_key; - u64 data_ack; - u64 data_seq; - u32 subflow_seq; - u16 data_len; - __sum16 csum; - union { - struct { - u16 suboptions; - u16 use_map: 1; - u16 dsn64: 1; - u16 data_fin: 1; - u16 use_ack: 1; - u16 ack64: 1; - u16 mpc_map: 1; - u16 reset_reason: 4; - u16 reset_transient: 1; - u16 echo: 1; - u16 backup: 1; - u16 deny_join_id0: 1; - u16 __unused: 2; - }; - struct { - u16 suboptions; - u16 use_map: 1; - u16 dsn64: 1; - u16 data_fin: 1; - u16 use_ack: 1; - u16 ack64: 1; - u16 mpc_map: 1; - u16 reset_reason: 4; - u16 reset_transient: 1; - u16 echo: 1; - u16 backup: 1; - u16 deny_join_id0: 1; - u16 __unused: 2; - } status; - }; - u8 join_id; - u32 token; - u32 nonce; - u64 thmac; - u8 hmac[20]; - struct mptcp_addr_info addr; - struct mptcp_rm_list rm_list; - u64 ahmac; - u64 fail_seq; -}; - -struct mptcp_out_options { - u16 suboptions; - struct mptcp_rm_list rm_list; - u8 join_id; - u8 backup; - u8 reset_reason: 4; - u8 reset_transient: 1; - u8 csum_reqd: 1; - u8 allow_join_id0: 1; - union { - struct { - u64 sndr_key; - u64 rcvr_key; - u64 data_seq; - u32 subflow_seq; - u16 data_len; - __sum16 csum; - }; - struct { - struct mptcp_addr_info addr; - u64 ahmac; - }; - struct { - struct mptcp_ext ext_copy; - u64 fail_seq; - }; - struct { - u32 nonce; - u32 token; - u64 thmac; - u8 hmac[20]; - }; - }; -}; - -struct mptcp_pernet { - struct ctl_table_header *ctl_table_hdr; - unsigned int add_addr_timeout; - unsigned int blackhole_timeout; - unsigned int close_timeout; - unsigned int stale_loss_cnt; - atomic_t active_disable_times; - u8 syn_retrans_before_tcp_fallback; - long unsigned int active_disable_stamp; - u8 mptcp_enabled; - u8 checksum_enabled; - u8 allow_join_initial_addr_port; - u8 pm_type; - char scheduler[16]; - char path_manager[16]; -}; - -struct mptcp_pm_add_entry { - struct list_head list; - struct mptcp_addr_info addr; - u8 retrans_times; - struct timer_list add_timer; - struct mptcp_sock *sock; - struct callback_head rcu; -}; - -struct mptcp_pm_addr_entry { - struct list_head list; - struct mptcp_addr_info addr; - u8 flags; - int ifindex; - struct socket *lsk; -}; - -struct mptcp_pm_local { - struct mptcp_addr_info addr; - u8 flags; - int ifindex; -}; - -struct mptcp_pm_ops { - char name[16]; - struct module *owner; - struct list_head list; - void (*init)(struct mptcp_sock *); - void (*release)(struct mptcp_sock *); - long: 64; -}; - -struct mptcp_sched_ops { - int (*get_send)(struct mptcp_sock *); - int (*get_retrans)(struct mptcp_sock *); - char name[16]; - struct module *owner; - struct list_head list; - void (*init)(struct mptcp_sock *); - void (*release)(struct mptcp_sock *); - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct mptcp_sendmsg_info { - int mss_now; - int size_goal; - u16 limit; - u16 sent; - unsigned int flags; - bool data_lock_held; -}; - -struct mptcp_skb_cb { - u64 map_seq; - u64 end_seq; - u32 offset; - u8 has_rxtstamp; - u8 cant_coalesce; -}; - -struct sockaddr_in { - __kernel_sa_family_t sin_family; - __be16 sin_port; - struct in_addr sin_addr; - unsigned char __pad[8]; -}; - -struct mptcp_subflow_addrs { - union { - __kernel_sa_family_t sa_family; - struct sockaddr sa_local; - struct sockaddr_in sin_local; - struct sockaddr_in6 sin6_local; - struct __kernel_sockaddr_storage ss_local; - }; - union { - struct sockaddr sa_remote; - struct sockaddr_in sin_remote; - struct sockaddr_in6 sin6_remote; - struct __kernel_sockaddr_storage ss_remote; - }; -}; - -struct mptcp_subflow_context { - struct list_head node; - union { - struct { - long unsigned int avg_pacing_rate; - u64 local_key; - u64 remote_key; - u64 idsn; - u64 map_seq; - u64 rcv_wnd_sent; - u32 snd_isn; - u32 token; - u32 rel_write_seq; - u32 map_subflow_seq; - u32 ssn_offset; - u32 map_data_len; - __wsum map_data_csum; - u32 map_csum_len; - u32 request_mptcp: 1; - u32 request_join: 1; - u32 request_bkup: 1; - u32 mp_capable: 1; - u32 mp_join: 1; - u32 pm_notified: 1; - u32 conn_finished: 1; - u32 map_valid: 1; - u32 map_csum_reqd: 1; - u32 map_data_fin: 1; - u32 mpc_map: 1; - u32 backup: 1; - u32 send_mp_prio: 1; - u32 send_mp_fail: 1; - u32 send_fastclose: 1; - u32 send_infinite_map: 1; - u32 remote_key_valid: 1; - u32 disposable: 1; - u32 stale: 1; - u32 valid_csum_seen: 1; - u32 is_mptfo: 1; - u32 close_event_done: 1; - u32 mpc_drop: 1; - u32 __unused: 9; - bool data_avail; - bool scheduled; - bool pm_listener; - bool fully_established; - u32 remote_nonce; - u64 thmac; - u32 local_nonce; - u32 remote_token; - union { - u8 hmac[20]; - u64 iasn; - }; - s16 local_id; - u8 remote_id; - u8 reset_seen: 1; - u8 reset_transient: 1; - u8 reset_reason: 4; - u8 stale_count; - u32 subflow_id; - long int delegated_status; - long unsigned int fail_tout; - }; - struct { - long unsigned int avg_pacing_rate; - u64 local_key; - u64 remote_key; - u64 idsn; - u64 map_seq; - u64 rcv_wnd_sent; - u32 snd_isn; - u32 token; - u32 rel_write_seq; - u32 map_subflow_seq; - u32 ssn_offset; - u32 map_data_len; - __wsum map_data_csum; - u32 map_csum_len; - u32 request_mptcp: 1; - u32 request_join: 1; - u32 request_bkup: 1; - u32 mp_capable: 1; - u32 mp_join: 1; - u32 pm_notified: 1; - u32 conn_finished: 1; - u32 map_valid: 1; - u32 map_csum_reqd: 1; - u32 map_data_fin: 1; - u32 mpc_map: 1; - u32 backup: 1; - u32 send_mp_prio: 1; - u32 send_mp_fail: 1; - u32 send_fastclose: 1; - u32 send_infinite_map: 1; - u32 remote_key_valid: 1; - u32 disposable: 1; - u32 stale: 1; - u32 valid_csum_seen: 1; - u32 is_mptfo: 1; - u32 close_event_done: 1; - u32 mpc_drop: 1; - u32 __unused: 9; - bool data_avail; - bool scheduled; - bool pm_listener; - bool fully_established; - u32 remote_nonce; - u64 thmac; - u32 local_nonce; - u32 remote_token; - union { - u8 hmac[20]; - u64 iasn; - }; - s16 local_id; - u8 remote_id; - u8 reset_seen: 1; - u8 reset_transient: 1; - u8 reset_reason: 4; - u8 stale_count; - u32 subflow_id; - long int delegated_status; - long unsigned int fail_tout; - } reset; - }; - struct list_head delegated_node; - u32 setsockopt_seq; - u32 stale_rcv_tstamp; - int cached_sndbuf; - struct sock *tcp_sock; - struct sock *conn; - const struct inet_connection_sock_af_ops *icsk_af_ops; - void (*tcp_state_change)(struct sock *); - void (*tcp_error_report)(struct sock *); - struct callback_head rcu; -}; - -struct mptcp_subflow_data { - __u32 size_subflow_data; - __u32 num_subflows; - __u32 size_kernel; - __u32 size_user; -}; - -struct mptcp_subflow_info { - __u32 id; - struct mptcp_subflow_addrs addrs; -}; - -struct tcp_request_sock_ops; - -struct tcp_request_sock { - struct inet_request_sock req; - const struct tcp_request_sock_ops *af_specific; - u64 snt_synack; - bool tfo_listener; - bool is_mptcp; - bool req_usec_ts; - bool drop_req; - u32 txhash; - u32 rcv_isn; - u32 snt_isn; - u32 ts_off; - u32 snt_tsval_first; - u32 snt_tsval_last; - u32 last_oow_ack_time; - u32 rcv_nxt; - u8 syn_tos; - u8 ao_keyid; - u8 ao_rcv_next; - bool used_tcp_ao; -}; - -struct mptcp_subflow_request_sock { - struct tcp_request_sock sk; - u16 mp_capable: 1; - u16 mp_join: 1; - u16 backup: 1; - u16 request_bkup: 1; - u16 csum_reqd: 1; - u16 allow_join_id0: 1; - u8 local_id; - u8 remote_id; - u64 local_key; - u64 idsn; - u32 token; - u32 ssn_offset; - u64 thmac; - u32 local_nonce; - u32 remote_nonce; - struct mptcp_sock *msk; - struct hlist_nulls_node token_node; -}; - -struct mq_inflight { - struct block_device *part; - unsigned int inflight[2]; -}; - -struct mq_sched { - struct Qdisc **qdiscs; -}; - -struct mqueue_fs_context { - struct ipc_namespace *ipc_ns; - bool newns; -}; - -struct sigevent { - sigval_t sigev_value; - int sigev_signo; - int sigev_notify; - union { - int _pad[12]; - int _tid; - struct { - void (*_function)(sigval_t); - void *_attribute; - } _sigev_thread; - } _sigev_un; -}; - -struct posix_msg_tree_node; - -struct mqueue_inode_info { - spinlock_t lock; - struct inode vfs_inode; - wait_queue_head_t wait_q; - struct rb_root msg_tree; - struct rb_node *msg_tree_rightmost; - struct posix_msg_tree_node *node_cache; - struct mq_attr attr; - struct sigevent notify; - struct pid *notify_owner; - u32 notify_self_exec_id; - struct user_namespace *notify_user_ns; - struct ucounts *ucounts; - struct sock *notify_sock; - struct sk_buff *notify_cookie; - struct ext_wait_queue e_wait_q[2]; - long unsigned int qsize; -}; - -struct mr_mfc_iter { - struct seq_net_private p; - struct mr_table *mrt; - struct list_head *cache; - spinlock_t *lock; -}; - -struct mr_table_ops { - const struct rhashtable_params *rht_params; - void *cmparg_any; -}; - -struct vif_device { - struct net_device *dev; - netdevice_tracker dev_tracker; - long unsigned int bytes_in; - long unsigned int bytes_out; - long unsigned int pkt_in; - long unsigned int pkt_out; - long unsigned int rate_limit; - unsigned char threshold; - short unsigned int flags; - int link; - struct netdev_phys_item_id dev_parent_id; - __be32 local; - __be32 remote; -}; - -struct rhltable { - struct rhashtable ht; -}; - -struct mr_table { - struct list_head list; - possible_net_t net; - struct mr_table_ops ops; - u32 id; - struct sock *mroute_sk; - struct timer_list ipmr_expire_timer; - struct list_head mfc_unres_queue; - struct vif_device vif_table[32]; - struct rhltable mfc_hash; - struct list_head mfc_cache_list; - int maxvif; - atomic_t cache_resolve_queue_len; - bool mroute_do_assert; - bool mroute_do_pim; - bool mroute_do_wrvifwhole; - int mroute_reg_vif_num; -}; - -struct mr_vif_iter { - struct seq_net_private p; - struct mr_table *mrt; - int ct; -}; - -struct mrrm_mem_range_entry { - u64 base; - u64 length; - int node; - u8 local_region_id; - u8 remote_region_id; -}; - -struct mrt6msg { - __u8 im6_mbz; - __u8 im6_msgtype; - __u16 im6_mif; - __u32 im6_pad; - struct in6_addr im6_src; - struct in6_addr im6_dst; -}; - -struct mrw_feature_desc { - __be16 feature_code; - __u8 curr: 1; - __u8 persistent: 1; - __u8 feature_version: 4; - __u8 reserved1: 2; - __u8 add_len; - __u8 write: 1; - __u8 reserved2: 7; - __u8 reserved3; - __u8 reserved4; - __u8 reserved5; -}; - -struct ms_hyperv_info { - u32 features; - u32 priv_high; - u32 ext_features; - u32 misc_features; - u32 hints; - u32 nested_features; - u32 max_vp_index; - u32 max_lp_index; - u8 vtl; - union { - u32 isolation_config_a; - struct { - u32 paravisor_present: 1; - u32 reserved_a1: 31; - }; - }; - union { - u32 isolation_config_b; - struct { - u32 cvm_type: 4; - u32 reserved_b1: 1; - u32 shared_gpa_boundary_active: 1; - u32 shared_gpa_boundary_bits: 6; - u32 reserved_b2: 20; - }; - }; - u64 shared_gpa_boundary; -}; - -struct msdos_dir_entry { - __u8 name[11]; - __u8 attr; - __u8 lcase; - __u8 ctime_cs; - __le16 ctime; - __le16 cdate; - __le16 adate; - __le16 starthi; - __le16 time; - __le16 date; - __le16 start; - __le32 size; -}; - -struct msdos_dir_slot { - __u8 id; - __u8 name0_4[10]; - __u8 attr; - __u8 reserved; - __u8 alias_checksum; - __u8 name5_10[12]; - __le16 start; - __u8 name11_12[4]; -}; - -struct msdos_inode_info { - spinlock_t cache_lru_lock; - struct list_head cache_lru; - int nr_caches; - unsigned int cache_valid_id; - loff_t mmu_private; - int i_start; - int i_logstart; - int i_attrs; - loff_t i_pos; - struct hlist_node i_fat_hash; - struct hlist_node i_dir_hash; - struct rw_semaphore truncate_lock; - struct timespec64 i_crtime; - struct inode vfs_inode; -}; - -struct msdos_partition { - u8 boot_ind; - u8 head; - u8 sector; - u8 cyl; - u8 sys_ind; - u8 end_head; - u8 end_sector; - u8 end_cyl; - __le32 start_sect; - __le32 nr_sects; -}; - -struct nls_table; - -struct msdos_sb_info { - short unsigned int sec_per_clus; - short unsigned int cluster_bits; - unsigned int cluster_size; - unsigned char fats; - unsigned char fat_bits; - short unsigned int fat_start; - long unsigned int fat_length; - long unsigned int dir_start; - short unsigned int dir_entries; - long unsigned int data_start; - long unsigned int max_cluster; - long unsigned int root_cluster; - long unsigned int fsinfo_sector; - struct mutex fat_lock; - struct mutex nfs_build_inode_lock; - struct mutex s_lock; - unsigned int prev_free; - unsigned int free_clusters; - unsigned int free_clus_valid; - struct fat_mount_options options; - struct nls_table *nls_disk; - struct nls_table *nls_io; - const void *dir_ops; - int dir_per_block; - int dir_per_block_bits; - unsigned int vol_id; - int fatent_shift; - const struct fatent_operations *fatent_ops; - struct inode *fat_inode; - struct inode *fsinfo_inode; - struct ratelimit_state ratelimit; - spinlock_t inode_hash_lock; - struct hlist_head inode_hashtable[256]; - spinlock_t dir_hash_lock; - struct hlist_head dir_hashtable[256]; - unsigned int dirty; - struct callback_head rcu; -}; - -struct msg_msgseg; - -struct msg_msg { - struct list_head m_list; - long int m_type; - size_t m_ts; - struct msg_msgseg *next; - void *security; -}; - -struct msg_msgseg { - struct msg_msgseg *next; -}; - -struct msg_queue { - struct kern_ipc_perm q_perm; - time64_t q_stime; - time64_t q_rtime; - time64_t q_ctime; - long unsigned int q_cbytes; - long unsigned int q_qnum; - long unsigned int q_qbytes; - struct pid *q_lspid; - struct pid *q_lrpid; - struct list_head q_messages; - struct list_head q_receivers; - struct list_head q_senders; - long: 64; - long: 64; -}; - -struct msg_receiver { - struct list_head r_list; - struct task_struct *r_tsk; - int r_mode; - long int r_msgtype; - long int r_maxsize; - struct msg_msg *r_msg; -}; - -struct msg_security_struct { - u32 sid; -}; - -struct msg_sender { - struct list_head list; - struct task_struct *tsk; - size_t msgsz; -}; - -struct msgbuf { - __kernel_long_t mtype; - char mtext[1]; -}; - -struct msginfo { - int msgpool; - int msgmap; - int msgmax; - int msgmnb; - int msgmni; - int msgssz; - int msgtql; - short unsigned int msgseg; -}; - -struct msi_ctrl { - unsigned int domid; - unsigned int first; - unsigned int last; - unsigned int nirqs; -}; - -struct pci_msi_desc { - union { - u32 msi_mask; - u32 msix_ctrl; - }; - struct { - u8 is_msix: 1; - u8 multiple: 3; - u8 multi_cap: 3; - u8 can_mask: 1; - u8 is_64: 1; - u8 is_virtual: 1; - unsigned int default_irq; - } msi_attrib; - union { - u8 mask_pos; - void *mask_base; - }; -}; - -union msi_domain_cookie { - u64 value; - void *ptr; - void *iobase; -}; - -union msi_instance_cookie { - u64 value; - void *ptr; -}; - -struct msi_desc_data { - union msi_domain_cookie dcookie; - union msi_instance_cookie icookie; -}; - -struct msi_desc { - unsigned int irq; - unsigned int nvec_used; - struct device *dev; - struct msi_msg msg; - struct irq_affinity_desc *affinity; - struct device_attribute *sysfs_attrs; - void (*write_msi_msg)(struct msi_desc *, void *); - void *write_msi_msg_data; - u16 msi_index; - union { - struct pci_msi_desc pci; - struct msi_desc_data data; - }; -}; - -struct msi_dev_domain { - struct xarray store; - struct irq_domain *domain; -}; - -struct msi_device_data { - long unsigned int properties; - struct mutex mutex; - struct msi_dev_domain __domains[1]; - long unsigned int __iter_idx; -}; - -struct msi_domain_ops; - -struct msi_domain_info { - u32 flags; - enum irq_domain_bus_token bus_token; - unsigned int hwsize; - struct msi_domain_ops *ops; - struct device *dev; - struct irq_chip *chip; - void *chip_data; - irq_flow_handler_t handler; - void *handler_data; - const char *handler_name; - msi_alloc_info_t *alloc_data; - void *data; -}; - -struct msi_domain_ops { - irq_hw_number_t (*get_hwirq)(struct msi_domain_info *, msi_alloc_info_t *); - int (*msi_init)(struct irq_domain *, struct msi_domain_info *, unsigned int, irq_hw_number_t, msi_alloc_info_t *); - void (*msi_free)(struct irq_domain *, struct msi_domain_info *, unsigned int); - int (*msi_prepare)(struct irq_domain *, struct device *, int, msi_alloc_info_t *); - void (*msi_teardown)(struct irq_domain *, msi_alloc_info_t *); - void (*prepare_desc)(struct irq_domain *, msi_alloc_info_t *, struct msi_desc *); - void (*set_desc)(msi_alloc_info_t *, struct msi_desc *); - int (*domain_alloc_irqs)(struct irq_domain *, struct device *, int); - void (*domain_free_irqs)(struct irq_domain *, struct device *); - void (*msi_post_free)(struct irq_domain *, struct device *); - int (*msi_translate)(struct irq_domain *, struct irq_fwspec *, irq_hw_number_t *, unsigned int *); -}; - -struct msi_domain_template { - char name[48]; - struct irq_chip chip; - struct msi_domain_ops ops; - struct msi_domain_info info; - msi_alloc_info_t alloc_info; -}; - -struct msi_map { - int index; - int virq; -}; - -struct msi_parent_ops { - u32 supported_flags; - u32 required_flags; - u32 chip_flags; - u32 bus_select_token; - u32 bus_select_mask; - const char *prefix; - bool (*init_dev_msi_info)(struct device *, struct irq_domain *, struct irq_domain *, struct msi_domain_info *); -}; - -struct msix_entry { - u32 vector; - u16 entry; -}; - -struct msqid64_ds { - struct ipc64_perm msg_perm; - long int msg_stime; - long int msg_rtime; - long int msg_ctime; - long unsigned int msg_cbytes; - long unsigned int msg_qnum; - long unsigned int msg_qbytes; - __kernel_pid_t msg_lspid; - __kernel_pid_t msg_lrpid; - long unsigned int __unused4; - long unsigned int __unused5; -}; - -struct msg; - -struct msqid_ds { - struct ipc_perm msg_perm; - struct msg *msg_first; - struct msg *msg_last; - __kernel_old_time_t msg_stime; - __kernel_old_time_t msg_rtime; - __kernel_old_time_t msg_ctime; - long unsigned int msg_lcbytes; - long unsigned int msg_lqbytes; - short unsigned int msg_cbytes; - short unsigned int msg_qnum; - short unsigned int msg_qbytes; - __kernel_ipc_pid_t msg_lspid; - __kernel_ipc_pid_t msg_lrpid; -}; - -struct msr { - union { - struct { - u32 l; - u32 h; - }; - u64 q; - }; -}; - -struct msr_data { - bool host_initiated; - u32 index; - u64 data; -}; - -struct msr_enumeration { - u32 msr_no; - u32 feature; -}; - -struct msr_info { - u32 msr_no; - struct msr reg; - struct msr *msrs; - int err; -}; - -struct msr_info_completion { - struct msr_info msr; - struct completion done; -}; - -struct rdt_resource; - -struct rdt_ctrl_domain; - -struct msr_param { - struct rdt_resource *res; - struct rdt_ctrl_domain *dom; - u32 low; - u32 high; -}; - -struct msr_regs_info { - u32 *regs; - int err; -}; - -struct mt6323_pwrc { - struct device *dev; - struct regmap *regmap; - u32 base; -}; - -struct mt6397_chip { - struct device *dev; - struct regmap *regmap; - struct notifier_block pm_nb; - int irq; - struct irq_domain *irq_domain; - struct mutex irqlock; - u16 wake_mask[3]; - u16 irq_masks_cur[3]; - u16 irq_masks_cache[3]; - u16 int_con[3]; - u16 int_status[3]; - u16 chip_id; - void *irq_data; -}; - -struct mthp_stat { - long unsigned int stats[170]; -}; - -struct mtrr_cleanup_result { - long unsigned int gran_sizek; - long unsigned int chunk_sizek; - long unsigned int lose_cover_sizek; - unsigned int num_reg; - int bad; -}; - -struct mtrr_gentry { - __u64 base; - __u32 size; - __u32 regnum; - __u32 type; - __u32 _pad; -}; - -struct mtrr_gentry32 { - compat_ulong_t regnum; - compat_uint_t base; - compat_uint_t size; - compat_uint_t type; -}; - -struct mtrr_ops { - u32 var_regs; - void (*set)(unsigned int, long unsigned int, long unsigned int, mtrr_type); - void (*get)(unsigned int, long unsigned int *, long unsigned int *, mtrr_type *); - int (*get_free_region)(long unsigned int, long unsigned int, int); - int (*validate_add_page)(long unsigned int, long unsigned int, unsigned int); - int (*have_wrcomb)(void); -}; - -struct mtrr_sentry { - __u64 base; - __u32 size; - __u32 type; -}; - -struct mtrr_sentry32 { - compat_ulong_t base; - compat_uint_t size; - compat_uint_t type; -}; - -struct mtrr_var_range { - __u32 base_lo; - __u32 base_hi; - __u32 mask_lo; - __u32 mask_hi; -}; - -struct mtrr_state_type { - struct mtrr_var_range var_ranges[256]; - mtrr_type fixed_ranges[88]; - unsigned char enabled; - bool have_fixed; - mtrr_type def_type; -}; - -struct multi_stop_data { - cpu_stop_fn_t fn; - void *data; - unsigned int num_threads; - const struct cpumask *active_cpus; - enum multi_stop_state state; - atomic_t thread_ack; -}; - -struct multi_symbols_sort { - const char **funcs; - u64 *cookies; -}; - -struct multi_transaction { - struct kref count; - ssize_t size; - char data[0]; -}; - -struct multicall_space { - struct multicall_entry *mc; - void *args; -}; - -struct multiprocess_signals { - sigset_t signal; - struct hlist_node node; -}; - -typedef struct mutex *class_mutex_t; - -typedef class_mutex_t class_mutex_intr_t; - -struct mutex_waiter { - struct list_head list; - struct task_struct *task; - struct ww_acquire_ctx *ww_ctx; -}; - -struct mwait_cpu_dead { - unsigned int control; - unsigned int status; -}; - -struct mz_hdr { - uint16_t magic; - uint16_t lbsize; - uint16_t blocks; - uint16_t relocs; - uint16_t hdrsize; - uint16_t min_extra_pps; - uint16_t max_extra_pps; - uint16_t ss; - uint16_t sp; - uint16_t checksum; - uint16_t ip; - uint16_t cs; - uint16_t reloc_table_offset; - uint16_t overlay_num; - uint16_t reserved0[4]; - uint16_t oem_id; - uint16_t oem_info; - uint16_t reserved1[10]; - uint32_t peaddr; - char message[0]; -}; - -struct n_tty_data { - size_t read_head; - size_t commit_head; - size_t canon_head; - size_t echo_head; - size_t echo_commit; - size_t echo_mark; - long unsigned int char_map[4]; - long unsigned int overrun_time; - unsigned int num_overrun; - bool no_room; - unsigned char lnext: 1; - unsigned char erasing: 1; - unsigned char raw: 1; - unsigned char real_raw: 1; - unsigned char icanon: 1; - unsigned char push: 1; - u8 read_buf[4096]; - long unsigned int read_flags[64]; - u8 echo_buf[4096]; - size_t read_tail; - size_t line_start; - size_t lookahead_count; - unsigned int column; - unsigned int canon_column; - size_t echo_tail; - struct mutex atomic_read_lock; - struct mutex output_lock; -}; - -struct saved { - struct path link; - struct delayed_call done; - const char *name; - unsigned int seq; -}; - -struct nameidata { - struct path path; - struct qstr last; - struct path root; - struct inode *inode; - unsigned int flags; - unsigned int state; - unsigned int seq; - unsigned int next_seq; - unsigned int m_seq; - unsigned int r_seq; - int last_type; - unsigned int depth; - int total_link_count; - struct saved *stack; - struct saved internal[2]; - struct filename *name; - const char *pathname; - struct nameidata *saved; - unsigned int root_seq; - int dfd; - vfsuid_t dir_vfsuid; - umode_t dir_mode; -}; - -struct page_frag_cache { - long unsigned int encoded_page; - __u32 offset; - __u32 pagecnt_bias; -}; - -struct napi_alloc_cache { - local_lock_t bh_lock; - struct page_frag_cache page; - unsigned int skb_count; - void *skb_cache[64]; -}; - -struct napi_config { - u64 gro_flush_timeout; - u64 irq_suspend_timeout; - u32 defer_hard_irqs; - cpumask_t affinity_mask; - u8 threaded; - unsigned int napi_id; -}; - -struct napi_gro_cb { - union { - struct { - void *frag0; - unsigned int frag0_len; - }; - struct { - struct sk_buff *last; - long unsigned int age; - }; - }; - int data_offset; - u16 flush; - u16 count; - u16 proto; - u16 pad; - union { - struct { - u16 gro_remcsum_start; - u8 same_flow: 1; - u8 encap_mark: 1; - u8 csum_valid: 1; - u8 csum_cnt: 3; - u8 free: 2; - u8 is_ipv6: 1; - u8 is_fou: 1; - u8 ip_fixedid: 1; - u8 recursion_counter: 4; - u8 is_flist: 1; - }; - struct { - u16 gro_remcsum_start; - u8 same_flow: 1; - u8 encap_mark: 1; - u8 csum_valid: 1; - u8 csum_cnt: 3; - u8 free: 2; - u8 is_ipv6: 1; - u8 is_fou: 1; - u8 ip_fixedid: 1; - u8 recursion_counter: 4; - u8 is_flist: 1; - } zeroed; - }; - __wsum csum; - union { - struct { - u16 network_offset; - u16 inner_network_offset; - }; - u16 network_offsets[2]; - }; -}; - -struct nat_keepalive { - struct net *net; - u16 family; - xfrm_address_t saddr; - xfrm_address_t daddr; - __be16 encap_sport; - __be16 encap_dport; - __u32 smark; -}; - -struct nat_keepalive_work_ctx { - time64_t next_run; - time64_t now; -}; - -struct nbcon_state { - union { - unsigned int atom; - struct { - unsigned int prio: 2; - unsigned int req_prio: 2; - unsigned int unsafe: 1; - unsigned int unsafe_takeover: 1; - unsigned int cpu: 24; - }; - }; -}; - -struct nbcon_write_context { - struct nbcon_context ctxt; - char *outbuf; - unsigned int len; - bool unsafe_takeover; -}; - -struct ncsi_dev_priv; - -struct ncsi_aen_pkt_hdr; - -struct ncsi_aen_handler { - unsigned char type; - int payload; - int (*handler)(struct ncsi_dev_priv *, struct ncsi_aen_pkt_hdr *); -}; - -struct ncsi_pkt_hdr { - unsigned char mc_id; - unsigned char revision; - unsigned char reserved; - unsigned char id; - unsigned char type; - unsigned char channel; - __be16 length; - __be32 reserved1[2]; -}; - -struct ncsi_aen_pkt_hdr { - struct ncsi_pkt_hdr common; - unsigned char reserved2[3]; - unsigned char type; -}; - -struct ncsi_aen_hncdsc_pkt { - struct ncsi_aen_pkt_hdr aen; - __be32 status; - __be32 checksum; - unsigned char pad[18]; -}; - -struct ncsi_aen_lsc_pkt { - struct ncsi_aen_pkt_hdr aen; - __be32 status; - __be32 oem_status; - __be32 checksum; - unsigned char pad[14]; -}; - -struct ncsi_channel_version { - u8 major; - u8 minor; - u8 update; - char alpha1; - char alpha2; - u8 fw_name[13]; - u32 fw_version; - u16 pci_ids[4]; - u32 mf_id; -}; - -struct ncsi_channel_cap { - u32 index; - u32 cap; -}; - -struct ncsi_channel_mode { - u32 index; - u32 enable; - u32 size; - u32 data[8]; -}; - -struct ncsi_channel_mac_filter { - u8 n_uc; - u8 n_mc; - u8 n_mixed; - u64 bitmap; - unsigned char *addrs; -}; - -struct ncsi_channel_vlan_filter { - u8 n_vids; - u64 bitmap; - u16 *vids; -}; - -struct ncsi_channel_stats { - u64 hnc_cnt; - u64 hnc_rx_bytes; - u64 hnc_tx_bytes; - u64 hnc_rx_uc_pkts; - u64 hnc_rx_mc_pkts; - u64 hnc_rx_bc_pkts; - u64 hnc_tx_uc_pkts; - u64 hnc_tx_mc_pkts; - u64 hnc_tx_bc_pkts; - u32 hnc_fcs_err; - u32 hnc_align_err; - u32 hnc_false_carrier; - u32 hnc_runt_pkts; - u32 hnc_jabber_pkts; - u32 hnc_rx_pause_xon; - u32 hnc_rx_pause_xoff; - u32 hnc_tx_pause_xon; - u32 hnc_tx_pause_xoff; - u32 hnc_tx_s_collision; - u32 hnc_tx_m_collision; - u32 hnc_l_collision; - u32 hnc_e_collision; - u32 hnc_rx_ctl_frames; - u32 hnc_rx_64_frames; - u32 hnc_rx_127_frames; - u32 hnc_rx_255_frames; - u32 hnc_rx_511_frames; - u32 hnc_rx_1023_frames; - u32 hnc_rx_1522_frames; - u32 hnc_rx_9022_frames; - u32 hnc_tx_64_frames; - u32 hnc_tx_127_frames; - u32 hnc_tx_255_frames; - u32 hnc_tx_511_frames; - u32 hnc_tx_1023_frames; - u32 hnc_tx_1522_frames; - u32 hnc_tx_9022_frames; - u64 hnc_rx_valid_bytes; - u32 hnc_rx_runt_pkts; - u32 hnc_rx_jabber_pkts; - u32 ncsi_rx_cmds; - u32 ncsi_dropped_cmds; - u32 ncsi_cmd_type_errs; - u32 ncsi_cmd_csum_errs; - u32 ncsi_rx_pkts; - u32 ncsi_tx_pkts; - u32 ncsi_tx_aen_pkts; - u32 pt_tx_pkts; - u32 pt_tx_dropped; - u32 pt_tx_channel_err; - u32 pt_tx_us_err; - u32 pt_rx_pkts; - u32 pt_rx_dropped; - u32 pt_rx_channel_err; - u32 pt_rx_us_err; - u32 pt_rx_os_err; -}; - -struct ncsi_package; - -struct ncsi_channel { - unsigned char id; - int state; - bool reconfigure_needed; - spinlock_t lock; - struct ncsi_package *package; - struct ncsi_channel_version version; - struct ncsi_channel_cap caps[6]; - struct ncsi_channel_mode modes[8]; - struct ncsi_channel_mac_filter mac_filter; - struct ncsi_channel_vlan_filter vlan_filter; - struct ncsi_channel_stats stats; - struct { - struct timer_list timer; - bool enabled; - unsigned int state; - } monitor; - struct list_head node; - struct list_head link; -}; - -struct ncsi_cmd_pkt_hdr { - struct ncsi_pkt_hdr common; -}; - -struct ncsi_cmd_ae_pkt { - struct ncsi_cmd_pkt_hdr cmd; - unsigned char reserved[3]; - unsigned char mc_id; - __be32 mode; - __be32 checksum; - unsigned char pad[18]; -}; - -struct ncsi_cmd_arg { - struct ncsi_dev_priv *ndp; - unsigned char type; - unsigned char id; - unsigned char package; - unsigned char channel; - short unsigned int payload; - unsigned int req_flags; - union { - unsigned char bytes[16]; - short unsigned int words[8]; - unsigned int dwords[4]; - }; - unsigned char *data; - struct genl_info *info; -}; - -struct ncsi_cmd_dc_pkt { - struct ncsi_cmd_pkt_hdr cmd; - unsigned char reserved[3]; - unsigned char ald; - __be32 checksum; - unsigned char pad[22]; -}; - -struct ncsi_cmd_ebf_pkt { - struct ncsi_cmd_pkt_hdr cmd; - __be32 mode; - __be32 checksum; - unsigned char pad[22]; -}; - -struct ncsi_cmd_egmf_pkt { - struct ncsi_cmd_pkt_hdr cmd; - __be32 mode; - __be32 checksum; - unsigned char pad[22]; -}; - -struct ncsi_cmd_ev_pkt { - struct ncsi_cmd_pkt_hdr cmd; - unsigned char reserved[3]; - unsigned char mode; - __be32 checksum; - unsigned char pad[22]; -}; - -struct ncsi_cmd_handler { - unsigned char type; - int payload; - int (*handler)(struct sk_buff *, struct ncsi_cmd_arg *); -}; - -struct ncsi_cmd_oem_pkt { - struct ncsi_cmd_pkt_hdr cmd; - __be32 mfr_id; - unsigned char data[0]; -}; - -struct ncsi_cmd_pkt { - struct ncsi_cmd_pkt_hdr cmd; - __be32 checksum; - unsigned char pad[26]; -}; - -struct ncsi_cmd_rc_pkt { - struct ncsi_cmd_pkt_hdr cmd; - __be32 reserved; - __be32 checksum; - unsigned char pad[22]; -}; - -struct ncsi_cmd_sl_pkt { - struct ncsi_cmd_pkt_hdr cmd; - __be32 mode; - __be32 oem_mode; - __be32 checksum; - unsigned char pad[18]; -}; - -struct ncsi_cmd_sma_pkt { - struct ncsi_cmd_pkt_hdr cmd; - unsigned char mac[6]; - unsigned char index; - unsigned char at_e; - __be32 checksum; - unsigned char pad[18]; -}; - -struct ncsi_cmd_snfc_pkt { - struct ncsi_cmd_pkt_hdr cmd; - unsigned char reserved[3]; - unsigned char mode; - __be32 checksum; - unsigned char pad[22]; -}; - -struct ncsi_cmd_sp_pkt { - struct ncsi_cmd_pkt_hdr cmd; - unsigned char reserved[3]; - unsigned char hw_arbitration; - __be32 checksum; - unsigned char pad[22]; -}; - -struct ncsi_cmd_svf_pkt { - struct ncsi_cmd_pkt_hdr cmd; - __be16 reserved; - __be16 vlan; - __be16 reserved1; - unsigned char index; - unsigned char enable; - __be32 checksum; - unsigned char pad[18]; -}; - -struct ncsi_dev { - int state; - int link_up; - struct net_device *dev; - void (*handler)(struct ncsi_dev *); -}; - -struct nlmsghdr { - __u32 nlmsg_len; - __u16 nlmsg_type; - __u16 nlmsg_flags; - __u32 nlmsg_seq; - __u32 nlmsg_pid; -}; - -struct ncsi_request { - unsigned char id; - bool used; - unsigned int flags; - struct ncsi_dev_priv *ndp; - struct sk_buff *cmd; - struct sk_buff *rsp; - struct timer_list timer; - bool enabled; - u32 snd_seq; - u32 snd_portid; - struct nlmsghdr nlhdr; -}; - -struct packet_type { - __be16 type; - bool ignore_outgoing; - struct net_device *dev; - netdevice_tracker dev_tracker; - int (*func)(struct sk_buff *, struct net_device *, struct packet_type *, struct net_device *); - void (*list_func)(struct list_head *, struct packet_type *, struct net_device *); - bool (*id_match)(struct packet_type *, struct sock *); - struct net *af_packet_net; - void *af_packet_priv; - struct list_head list; -}; - -struct ncsi_dev_priv { - struct ncsi_dev ndev; - unsigned int flags; - unsigned int gma_flag; - struct __kernel_sockaddr_storage pending_mac; - spinlock_t lock; - unsigned int package_probe_id; - unsigned int package_num; - unsigned int channel_probe_id; - struct list_head packages; - struct ncsi_channel *hot_channel; - struct ncsi_request requests[256]; - unsigned int request_id; - unsigned int pending_req_num; - struct ncsi_package *active_package; - struct ncsi_channel *active_channel; - struct list_head channel_queue; - struct work_struct work; - struct packet_type ptype; - struct list_head node; - struct list_head vlan_vids; - bool multi_package; - bool mlx_multi_host; - u32 package_whitelist; - unsigned char channel_count; -}; - -struct ncsi_oem_gma_handler { - unsigned int mfr_id; - int (*handler)(struct ncsi_cmd_arg *); -}; - -struct ncsi_package { - unsigned char id; - unsigned char uuid[16]; - struct ncsi_dev_priv *ndp; - spinlock_t lock; - unsigned int channel_num; - struct list_head channels; - struct list_head node; - bool multi_channel; - u32 channel_whitelist; - struct ncsi_channel *preferred_channel; -}; - -struct ncsi_rsp_pkt_hdr { - struct ncsi_pkt_hdr common; - __be16 code; - __be16 reason; -}; - -struct ncsi_rsp_gc_pkt { - struct ncsi_rsp_pkt_hdr rsp; - __be32 cap; - __be32 bc_cap; - __be32 mc_cap; - __be32 buf_cap; - __be32 aen_cap; - unsigned char vlan_cnt; - unsigned char mixed_cnt; - unsigned char mc_cnt; - unsigned char uc_cnt; - unsigned char reserved[2]; - unsigned char vlan_mode; - unsigned char channel_cnt; - __be32 checksum; -}; - -struct ncsi_rsp_gcps_pkt { - struct ncsi_rsp_pkt_hdr rsp; - __be64 cnt; - __be64 rx_bytes; - __be64 tx_bytes; - __be64 rx_uc_pkts; - __be64 rx_mc_pkts; - __be64 rx_bc_pkts; - __be64 tx_uc_pkts; - __be64 tx_mc_pkts; - __be64 tx_bc_pkts; - __be32 fcs_err; - __be32 align_err; - __be32 false_carrier; - __be32 runt_pkts; - __be32 jabber_pkts; - __be32 rx_pause_xon; - __be32 rx_pause_xoff; - __be32 tx_pause_xon; - __be32 tx_pause_xoff; - __be32 tx_s_collision; - __be32 tx_m_collision; - __be32 l_collision; - __be32 e_collision; - __be32 rx_ctl_frames; - __be32 rx_64_frames; - __be32 rx_127_frames; - __be32 rx_255_frames; - __be32 rx_511_frames; - __be32 rx_1023_frames; - __be32 rx_1522_frames; - __be32 rx_9022_frames; - __be32 tx_64_frames; - __be32 tx_127_frames; - __be32 tx_255_frames; - __be32 tx_511_frames; - __be32 tx_1023_frames; - __be32 tx_1522_frames; - __be32 tx_9022_frames; - __be64 rx_valid_bytes; - __be32 rx_runt_pkts; - __be32 rx_jabber_pkts; - __be32 checksum; -} __attribute__((packed)); - -struct ncsi_rsp_gls_pkt { - struct ncsi_rsp_pkt_hdr rsp; - __be32 status; - __be32 other; - __be32 oem_status; - __be32 checksum; - unsigned char pad[10]; -}; - -struct ncsi_rsp_gmcma_pkt { - struct ncsi_rsp_pkt_hdr rsp; - unsigned char address_count; - unsigned char reserved[3]; - unsigned char addresses[0]; -}; - -struct ncsi_rsp_gnpts_pkt { - struct ncsi_rsp_pkt_hdr rsp; - __be32 tx_pkts; - __be32 tx_dropped; - __be32 tx_channel_err; - __be32 tx_us_err; - __be32 rx_pkts; - __be32 rx_dropped; - __be32 rx_channel_err; - __be32 rx_us_err; - __be32 rx_os_err; - __be32 checksum; -}; - -struct ncsi_rsp_gns_pkt { - struct ncsi_rsp_pkt_hdr rsp; - __be32 rx_cmds; - __be32 dropped_cmds; - __be32 cmd_type_errs; - __be32 cmd_csum_errs; - __be32 rx_pkts; - __be32 tx_pkts; - __be32 tx_aen_pkts; - __be32 checksum; -}; - -struct ncsi_rsp_gp_pkt { - struct ncsi_rsp_pkt_hdr rsp; - unsigned char mac_cnt; - unsigned char reserved[2]; - unsigned char mac_enable; - unsigned char vlan_cnt; - unsigned char reserved1; - __be16 vlan_enable; - __be32 link_mode; - __be32 bc_mode; - __be32 valid_modes; - unsigned char vlan_mode; - unsigned char fc_mode; - unsigned char reserved2[2]; - __be32 aen_mode; - unsigned char mac[6]; - __be16 vlan; - __be32 checksum; -}; - -struct ncsi_rsp_gps_pkt { - struct ncsi_rsp_pkt_hdr rsp; - __be32 status; - __be32 checksum; -}; - -struct ncsi_rsp_gpuuid_pkt { - struct ncsi_rsp_pkt_hdr rsp; - unsigned char uuid[16]; - __be32 checksum; -}; - -struct ncsi_rsp_gvi_pkt { - struct ncsi_rsp_pkt_hdr rsp; - unsigned char major; - unsigned char minor; - unsigned char update; - unsigned char alpha1; - unsigned char reserved[3]; - unsigned char alpha2; - unsigned char fw_name[12]; - __be32 fw_version; - __be16 pci_ids[4]; - __be32 mf_id; - __be32 checksum; -}; - -struct ncsi_rsp_handler { - unsigned char type; - int payload; - int (*handler)(struct ncsi_request *); -}; - -struct ncsi_rsp_oem_bcm_pkt { - unsigned char ver; - unsigned char type; - __be16 len; - unsigned char data[0]; -}; - -struct ncsi_rsp_oem_handler { - unsigned int mfr_id; - int (*handler)(struct ncsi_request *); -}; - -struct ncsi_rsp_oem_intel_pkt { - unsigned char cmd; - unsigned char data[0]; -}; - -struct ncsi_rsp_oem_mlx_pkt { - unsigned char cmd_rev; - unsigned char cmd; - unsigned char param; - unsigned char optional; - unsigned char data[0]; -}; - -struct ncsi_rsp_oem_pkt { - struct ncsi_rsp_pkt_hdr rsp; - __be32 mfr_id; - unsigned char data[0]; -}; - -struct ncsi_rsp_pkt { - struct ncsi_rsp_pkt_hdr rsp; - __be32 checksum; - unsigned char pad[22]; -}; - -struct nd_namespace_common; - -struct nd_btt { - struct device dev; - struct nd_namespace_common *ndns; - struct btt *btt; - long unsigned int lbasize; - u64 size; - uuid_t *uuid; - int id; - int initial_offset; - u16 version_major; - u16 version_minor; -}; - -struct nd_cmd_ars_cap { - __u64 address; - __u64 length; - __u32 status; - __u32 max_ars_out; - __u32 clear_err_unit; - __u16 flags; - __u16 reserved; -}; - -struct nd_cmd_clear_error { - __u64 address; - __u64 length; - __u32 status; - __u8 reserved[4]; - __u64 cleared; -}; - -struct nd_cmd_desc { - int in_num; - int out_num; - u32 in_sizes[5]; - int out_sizes[5]; -}; - -struct nd_cmd_get_config_data_hdr { - __u32 in_offset; - __u32 in_length; - __u32 status; - __u8 out_buf[0]; -}; - -struct nd_cmd_get_config_size { - __u32 status; - __u32 config_size; - __u32 max_xfer; -}; - -struct nd_cmd_pkg { - __u64 nd_family; - __u64 nd_command; - __u32 nd_size_in; - __u32 nd_size_out; - __u32 nd_reserved2[9]; - __u32 nd_fw_size; - unsigned char nd_payload[0]; -}; - -struct nd_cmd_set_config_hdr { - __u32 in_offset; - __u32 in_length; - __u8 in_buf[0]; -}; - -struct nd_cmd_vendor_hdr { - __u32 opcode; - __u32 in_length; - __u8 in_buf[0]; -}; - -struct nd_pfn_sb; - -struct nd_pfn { - int id; - uuid_t *uuid; - struct device dev; - long unsigned int align; - long unsigned int npfns; - enum nd_pfn_mode mode; - struct nd_pfn_sb *pfn_sb; - struct nd_namespace_common *ndns; -}; - -struct nd_dax { - struct nd_pfn nd_pfn; -}; - -struct nd_device_driver { - struct device_driver drv; - long unsigned int type; - int (*probe)(struct device *); - void (*remove)(struct device *); - void (*shutdown)(struct device *); - void (*notify)(struct device *, enum nvdimm_event); -}; - -struct nd_gen_sb { - char reserved[4088]; - __le64 checksum; -}; - -struct nd_interleave_set { - u64 cookie1; - u64 cookie2; - u64 altcookie; - guid_t type_guid; -}; - -struct nd_namespace_label; - -struct nd_label_ent { - struct list_head list; - long unsigned int flags; - struct nd_namespace_label *label; -}; - -struct nd_label_id { - char id[50]; -}; - -struct nvdimm; - -struct nvdimm_drvdata; - -struct nd_mapping { - struct nvdimm *nvdimm; - u64 start; - u64 size; - int position; - struct list_head labels; - struct mutex lock; - struct nvdimm_drvdata *ndd; -}; - -struct nd_mapping_desc { - struct nvdimm *nvdimm; - u64 start; - u64 size; - int position; -}; - -struct nd_msg { - struct icmp6hdr icmph; - struct in6_addr target; - __u8 opt[0]; -}; - -struct nd_namespace_common { - int force_raw; - struct device dev; - struct device *claim; - enum nvdimm_claim_class claim_class; - int (*rw_bytes)(struct nd_namespace_common *, resource_size_t, void *, size_t, int, long unsigned int); -}; - -struct nd_namespace_index { - u8 sig[16]; - u8 flags[3]; - u8 labelsize; - __le32 seq; - __le64 myoff; - __le64 mysize; - __le64 otheroff; - __le64 labeloff; - __le32 nslot; - __le16 major; - __le16 minor; - __le64 checksum; - u8 free[0]; -}; - -struct nd_namespace_io { - struct nd_namespace_common common; - struct resource res; - resource_size_t size; - void *addr; - struct badblocks bb; -}; - -struct nvdimm_cxl_label { - u8 type[16]; - u8 uuid[16]; - u8 name[64]; - __le32 flags; - __le16 nrange; - __le16 position; - __le64 dpa; - __le64 rawsize; - __le32 slot; - __le32 align; - u8 region_uuid[16]; - u8 abstraction_uuid[16]; - __le16 lbasize; - u8 reserved[86]; - __le64 checksum; -}; - -struct nvdimm_efi_label { - u8 uuid[16]; - u8 name[64]; - __le32 flags; - __le16 nlabel; - __le16 position; - __le64 isetcookie; - __le64 lbasize; - __le64 dpa; - __le64 rawsize; - __le32 slot; - u8 align; - u8 reserved[3]; - guid_t type_guid; - guid_t abstraction_guid; - u8 reserved2[88]; - __le64 checksum; -}; - -struct nd_namespace_label { - union { - struct nvdimm_cxl_label cxl; - struct nvdimm_efi_label efi; - }; -}; - -struct nd_namespace_pmem { - struct nd_namespace_io nsio; - long unsigned int lbasize; - char *alt_name; - uuid_t *uuid; - int id; -}; - -struct nd_opt_hdr { - __u8 nd_opt_type; - __u8 nd_opt_len; -}; - -struct nd_percpu_lane { - int count; - spinlock_t lock; -}; - -struct nd_pfn_sb { - u8 signature[16]; - u8 uuid[16]; - u8 parent_uuid[16]; - __le32 flags; - __le16 version_major; - __le16 version_minor; - __le64 dataoff; - __le64 npfns; - __le32 mode; - __le32 start_pad; - __le32 end_trunc; - __le32 align; - __le32 page_size; - __le16 page_struct_size; - u8 padding[3994]; - __le64 checksum; -}; - -struct nd_region { - struct device dev; - struct ida ns_ida; - struct ida btt_ida; - struct ida pfn_ida; - struct ida dax_ida; - long unsigned int flags; - struct device *ns_seed; - struct device *btt_seed; - struct device *pfn_seed; - struct device *dax_seed; - long unsigned int align; - u16 ndr_mappings; - u64 ndr_size; - u64 ndr_start; - int id; - int num_lanes; - int ro; - int numa_node; - int target_node; - void *provider_data; - struct kernfs_node *bb_state; - struct badblocks bb; - struct nd_interleave_set *nd_set; - struct nd_percpu_lane *lane; - int (*flush)(struct nd_region *, struct bio *); - struct nd_mapping mapping[0]; -}; - -struct nd_region_data { - int ns_count; - int ns_active; - unsigned int hints_shift; - void *flush_wpq[0]; -}; - -struct nd_region_desc { - struct resource *res; - struct nd_mapping_desc *mapping; - u16 num_mappings; - const struct attribute_group **attr_groups; - struct nd_interleave_set *nd_set; - void *provider_data; - int num_lanes; - int numa_node; - int target_node; - long unsigned int flags; - int memregion; - struct device_node *of_node; - int (*flush)(struct nd_region *, struct bio *); -}; - -struct nda_cacheinfo { - __u32 ndm_confirmed; - __u32 ndm_used; - __u32 ndm_updated; - __u32 ndm_refcnt; -}; - -struct ndisc_options; - -struct prefix_info; - -struct ndisc_ops { - int (*parse_options)(const struct net_device *, struct nd_opt_hdr *, struct ndisc_options *); - void (*update)(const struct net_device *, struct neighbour *, u32, u8, const struct ndisc_options *); - int (*opt_addr_space)(const struct net_device *, u8, struct neighbour *, u8 *, u8 **); - void (*fill_addr_option)(const struct net_device *, struct sk_buff *, u8, const u8 *); - void (*prefix_rcv_add_addr)(struct net *, struct net_device *, const struct prefix_info *, struct inet6_dev *, struct in6_addr *, int, u32, bool, bool, __u32, u32, bool); -}; - -struct ndisc_options { - struct nd_opt_hdr *nd_opt_array[15]; - struct nd_opt_hdr *nd_opts_ri; - struct nd_opt_hdr *nd_opts_ri_end; - struct nd_opt_hdr *nd_useropts; - struct nd_opt_hdr *nd_useropts_end; - struct nd_opt_hdr *nd_802154_opt_array[3]; -}; - -struct ndmsg { - __u8 ndm_family; - __u8 ndm_pad1; - __u16 ndm_pad2; - __s32 ndm_ifindex; - __u16 ndm_state; - __u8 ndm_flags; - __u8 ndm_type; -}; - -struct ndo_fdb_dump_context { - long unsigned int ifindex; - long unsigned int fdb_idx; -}; - -struct ndt_config { - __u16 ndtc_key_len; - __u16 ndtc_entry_size; - __u32 ndtc_entries; - __u32 ndtc_last_flush; - __u32 ndtc_last_rand; - __u32 ndtc_hash_rnd; - __u32 ndtc_hash_mask; - __u32 ndtc_hash_chain_gc; - __u32 ndtc_proxy_qlen; -}; - -struct ndt_stats { - __u64 ndts_allocs; - __u64 ndts_destroys; - __u64 ndts_hash_grows; - __u64 ndts_res_failed; - __u64 ndts_lookups; - __u64 ndts_hits; - __u64 ndts_rcv_probes_mcast; - __u64 ndts_rcv_probes_ucast; - __u64 ndts_periodic_gc_runs; - __u64 ndts_forced_gc_runs; - __u64 ndts_table_fulls; -}; - -struct ndtmsg { - __u8 ndtm_family; - __u8 ndtm_pad1; - __u16 ndtm_pad2; -}; - -struct nduseroptmsg { - unsigned char nduseropt_family; - unsigned char nduseropt_pad1; - short unsigned int nduseropt_opts_len; - int nduseropt_ifindex; - __u8 nduseropt_icmp_type; - __u8 nduseropt_icmp_code; - short unsigned int nduseropt_pad2; - unsigned int nduseropt_pad3; -}; - -struct neigh_dump_filter { - int master_idx; - int dev_idx; -}; - -struct neigh_hash_table { - struct hlist_head *hash_heads; - unsigned int hash_shift; - __u32 hash_rnd[4]; - struct callback_head rcu; -}; - -struct neigh_ops { - int family; - void (*solicit)(struct neighbour *, struct sk_buff *); - void (*error_report)(struct neighbour *, struct sk_buff *); - int (*output)(struct neighbour *, struct sk_buff *); - int (*connected_output)(struct neighbour *, struct sk_buff *); -}; - -struct neigh_parms { - possible_net_t net; - struct net_device *dev; - netdevice_tracker dev_tracker; - struct list_head list; - int (*neigh_setup)(struct neighbour *); - struct neigh_table *tbl; - void *sysctl_table; - int dead; - refcount_t refcnt; - struct callback_head callback_head; - int reachable_time; - u32 qlen; - int data[14]; - long unsigned int data_state[1]; -}; - -struct neigh_seq_state { - struct seq_net_private p; - struct neigh_table *tbl; - struct neigh_hash_table *nht; - void * (*neigh_sub_iter)(struct neigh_seq_state *, struct neighbour *, loff_t *); - unsigned int bucket; - unsigned int flags; -}; - -struct neigh_statistics { - long unsigned int allocs; - long unsigned int destroys; - long unsigned int hash_grows; - long unsigned int res_failed; - long unsigned int lookups; - long unsigned int hits; - long unsigned int rcv_probes_mcast; - long unsigned int rcv_probes_ucast; - long unsigned int periodic_gc_runs; - long unsigned int forced_gc_runs; - long unsigned int unres_discards; - long unsigned int table_fulls; -}; - -struct neigh_sysctl_table { - struct ctl_table_header *sysctl_header; - struct ctl_table neigh_vars[21]; -}; - -struct pneigh_entry; - -struct neigh_table { - int family; - unsigned int entry_size; - unsigned int key_len; - __be16 protocol; - __u32 (*hash)(const void *, const struct net_device *, __u32 *); - bool (*key_eq)(const struct neighbour *, const void *); - int (*constructor)(struct neighbour *); - int (*pconstructor)(struct pneigh_entry *); - void (*pdestructor)(struct pneigh_entry *); - void (*proxy_redo)(struct sk_buff *); - int (*is_multicast)(const void *); - bool (*allow_add)(const struct net_device *, struct netlink_ext_ack *); - char *id; - struct neigh_parms parms; - struct list_head parms_list; - int gc_interval; - int gc_thresh1; - int gc_thresh2; - int gc_thresh3; - long unsigned int last_flush; - struct delayed_work gc_work; - struct delayed_work managed_work; - struct timer_list proxy_timer; - struct sk_buff_head proxy_queue; - atomic_t entries; - atomic_t gc_entries; - struct list_head gc_list; - struct list_head managed_list; - rwlock_t lock; - long unsigned int last_rand; - struct neigh_statistics *stats; - struct neigh_hash_table *nht; - struct mutex phash_lock; - struct pneigh_entry **phash_buckets; -}; - -struct neighbour { - struct hlist_node hash; - struct hlist_node dev_list; - struct neigh_table *tbl; - struct neigh_parms *parms; - long unsigned int confirmed; - long unsigned int updated; - rwlock_t lock; - refcount_t refcnt; - unsigned int arp_queue_len_bytes; - struct sk_buff_head arp_queue; - struct timer_list timer; - long unsigned int used; - atomic_t probes; - u8 nud_state; - u8 type; - u8 dead; - u8 protocol; - u32 flags; - seqlock_t ha_lock; - long: 0; - unsigned char ha[32]; - struct hh_cache hh; - int (*output)(struct neighbour *, struct sk_buff *); - const struct neigh_ops *ops; - struct list_head gc_list; - struct list_head managed_list; - struct callback_head rcu; - struct net_device *dev; - netdevice_tracker dev_tracker; - u8 primary_key[0]; -}; - -struct neighbour_cb { - long unsigned int sched_next; - unsigned int flags; -}; - -union nested_table { - union nested_table *table; - struct rhash_lock_head *bucket; -}; - -struct ref_tracker_dir {}; - -struct prot_inuse; - -struct netns_core { - struct ctl_table_header *sysctl_hdr; - int sysctl_somaxconn; - int sysctl_optmem_max; - u8 sysctl_txrehash; - u8 sysctl_tstamp_allow_data; - struct prot_inuse *prot_inuse; - struct cpumask *rps_default_mask; -}; - -struct tcp_mib; - -struct udp_mib; - -struct netns_mib { - struct ipstats_mib *ip_statistics; - struct ipstats_mib *ipv6_statistics; - struct tcp_mib *tcp_statistics; - struct linux_mib *net_statistics; - struct udp_mib *udp_statistics; - struct udp_mib *udp_stats_in6; - struct linux_xfrm_mib *xfrm_statistics; - struct linux_tls_mib *tls_statistics; - struct mptcp_mib *mptcp_statistics; - struct udp_mib *udplite_statistics; - struct udp_mib *udplite_stats_in6; - struct icmp_mib *icmp_statistics; - struct icmpmsg_mib *icmpmsg_statistics; - struct icmpv6_mib *icmpv6_statistics; - struct icmpv6msg_mib *icmpv6msg_statistics; - struct proc_dir_entry *proc_net_devsnmp6; -}; - -struct netns_packet { - struct mutex sklist_lock; - struct hlist_head sklist; -}; - -struct unix_table { - spinlock_t *locks; - struct hlist_head *buckets; -}; - -struct netns_unix { - struct unix_table table; - int sysctl_max_dgram_qlen; - struct ctl_table_header *ctl; -}; - -struct netns_nexthop { - struct rb_root rb_root; - struct hlist_head *devhash; - unsigned int seq; - u32 last_id_allocated; - struct blocking_notifier_head notifier_chain; -}; - -struct udp_tunnel_gro { - struct sock *sk; - struct hlist_head list; -}; - -struct ping_group_range { - seqlock_t lock; - kgid_t range[2]; -}; - -struct sysctl_fib_multipath_hash_seed { - u32 user_seed; - u32 mp_seed; -}; - -struct netns_ipv4 { - __u8 __cacheline_group_begin__netns_ipv4_read_tx[0]; - u8 sysctl_tcp_early_retrans; - u8 sysctl_tcp_tso_win_divisor; - u8 sysctl_tcp_tso_rtt_log; - u8 sysctl_tcp_autocorking; - int sysctl_tcp_min_snd_mss; - unsigned int sysctl_tcp_notsent_lowat; - int sysctl_tcp_limit_output_bytes; - int sysctl_tcp_min_rtt_wlen; - int sysctl_tcp_wmem[3]; - u8 sysctl_ip_fwd_use_pmtu; - __u8 __cacheline_group_end__netns_ipv4_read_tx[0]; - __u8 __cacheline_group_begin__netns_ipv4_read_txrx[0]; - u8 sysctl_tcp_moderate_rcvbuf; - __u8 __cacheline_group_end__netns_ipv4_read_txrx[0]; - __u8 __cacheline_group_begin__netns_ipv4_read_rx[0]; - u8 sysctl_ip_early_demux; - u8 sysctl_tcp_early_demux; - u8 sysctl_tcp_l3mdev_accept; - int sysctl_tcp_reordering; - int sysctl_tcp_rmem[3]; - __u8 __cacheline_group_end__netns_ipv4_read_rx[0]; - long: 64; - struct inet_timewait_death_row tcp_death_row; - struct udp_table *udp_table; - struct udp_tunnel_gro udp_tunnel_gro[2]; - struct ctl_table_header *forw_hdr; - struct ctl_table_header *frags_hdr; - struct ctl_table_header *ipv4_hdr; - struct ctl_table_header *route_hdr; - struct ctl_table_header *xfrm4_hdr; - struct ipv4_devconf *devconf_all; - struct ipv4_devconf *devconf_dflt; - struct ip_ra_chain *ra_chain; - struct mutex ra_mutex; - struct fib_rules_ops *rules_ops; - struct fib_table *fib_main; - struct fib_table *fib_default; - unsigned int fib_rules_require_fldissect; - bool fib_has_custom_rules; - bool fib_has_custom_local_routes; - bool fib_offload_disabled; - u8 sysctl_tcp_shrink_window; - atomic_t fib_num_tclassid_users; - struct hlist_head *fib_table_hash; - struct sock *fibnl; - struct hlist_head *fib_info_hash; - unsigned int fib_info_hash_bits; - unsigned int fib_info_cnt; - struct sock *mc_autojoin_sk; - struct inet_peer_base *peers; - struct fqdir *fqdir; - u8 sysctl_icmp_echo_ignore_all; - u8 sysctl_icmp_echo_enable_probe; - u8 sysctl_icmp_echo_ignore_broadcasts; - u8 sysctl_icmp_ignore_bogus_error_responses; - u8 sysctl_icmp_errors_use_inbound_ifaddr; - int sysctl_icmp_ratelimit; - int sysctl_icmp_ratemask; - int sysctl_icmp_msgs_per_sec; - int sysctl_icmp_msgs_burst; - atomic_t icmp_global_credit; - u32 icmp_global_stamp; - u32 ip_rt_min_pmtu; - int ip_rt_mtu_expires; - int ip_rt_min_advmss; - struct local_ports ip_local_ports; - u8 sysctl_tcp_ecn; - u8 sysctl_tcp_ecn_fallback; - u8 sysctl_ip_default_ttl; - u8 sysctl_ip_no_pmtu_disc; - u8 sysctl_ip_fwd_update_priority; - u8 sysctl_ip_nonlocal_bind; - u8 sysctl_ip_autobind_reuse; - u8 sysctl_ip_dynaddr; - u8 sysctl_raw_l3mdev_accept; - u8 sysctl_udp_early_demux; - u8 sysctl_nexthop_compat_mode; - u8 sysctl_fwmark_reflect; - u8 sysctl_tcp_fwmark_accept; - u8 sysctl_tcp_mtu_probing; - int sysctl_tcp_mtu_probe_floor; - int sysctl_tcp_base_mss; - int sysctl_tcp_probe_threshold; - u32 sysctl_tcp_probe_interval; - int sysctl_tcp_keepalive_time; - int sysctl_tcp_keepalive_intvl; - u8 sysctl_tcp_keepalive_probes; - u8 sysctl_tcp_syn_retries; - u8 sysctl_tcp_synack_retries; - u8 sysctl_tcp_syncookies; - u8 sysctl_tcp_migrate_req; - u8 sysctl_tcp_comp_sack_nr; - u8 sysctl_tcp_backlog_ack_defer; - u8 sysctl_tcp_pingpong_thresh; - u8 sysctl_tcp_retries1; - u8 sysctl_tcp_retries2; - u8 sysctl_tcp_orphan_retries; - u8 sysctl_tcp_tw_reuse; - unsigned int sysctl_tcp_tw_reuse_delay; - int sysctl_tcp_fin_timeout; - u8 sysctl_tcp_sack; - u8 sysctl_tcp_window_scaling; - u8 sysctl_tcp_timestamps; - int sysctl_tcp_rto_min_us; - int sysctl_tcp_rto_max_ms; - u8 sysctl_tcp_recovery; - u8 sysctl_tcp_thin_linear_timeouts; - u8 sysctl_tcp_slow_start_after_idle; - u8 sysctl_tcp_retrans_collapse; - u8 sysctl_tcp_stdurg; - u8 sysctl_tcp_rfc1337; - u8 sysctl_tcp_abort_on_overflow; - u8 sysctl_tcp_fack; - int sysctl_tcp_max_reordering; - int sysctl_tcp_adv_win_scale; - u8 sysctl_tcp_dsack; - u8 sysctl_tcp_app_win; - u8 sysctl_tcp_frto; - u8 sysctl_tcp_nometrics_save; - u8 sysctl_tcp_no_ssthresh_metrics_save; - u8 sysctl_tcp_workaround_signed_windows; - int sysctl_tcp_challenge_ack_limit; - u8 sysctl_tcp_min_tso_segs; - u8 sysctl_tcp_reflect_tos; - int sysctl_tcp_invalid_ratelimit; - int sysctl_tcp_pacing_ss_ratio; - int sysctl_tcp_pacing_ca_ratio; - unsigned int sysctl_tcp_child_ehash_entries; - long unsigned int sysctl_tcp_comp_sack_delay_ns; - long unsigned int sysctl_tcp_comp_sack_slack_ns; - int sysctl_max_syn_backlog; - int sysctl_tcp_fastopen; - const struct tcp_congestion_ops *tcp_congestion_control; - struct tcp_fastopen_context *tcp_fastopen_ctx; - unsigned int sysctl_tcp_fastopen_blackhole_timeout; - atomic_t tfo_active_disable_times; - long unsigned int tfo_active_disable_stamp; - u32 tcp_challenge_timestamp; - u32 tcp_challenge_count; - u8 sysctl_tcp_plb_enabled; - u8 sysctl_tcp_plb_idle_rehash_rounds; - u8 sysctl_tcp_plb_rehash_rounds; - u8 sysctl_tcp_plb_suspend_rto_sec; - int sysctl_tcp_plb_cong_thresh; - int sysctl_udp_wmem_min; - int sysctl_udp_rmem_min; - u8 sysctl_fib_notify_on_flag_change; - u8 sysctl_tcp_syn_linear_timeouts; - u8 sysctl_udp_l3mdev_accept; - u8 sysctl_igmp_llm_reports; - int sysctl_igmp_max_memberships; - int sysctl_igmp_max_msf; - int sysctl_igmp_qrv; - struct ping_group_range ping_group_range; - atomic_t dev_addr_genid; - unsigned int sysctl_udp_child_hash_entries; - long unsigned int *sysctl_local_reserved_ports; - int sysctl_ip_prot_sock; - struct list_head mr_tables; - struct fib_rules_ops *mr_rules_ops; - struct sysctl_fib_multipath_hash_seed sysctl_fib_multipath_hash_seed; - u32 sysctl_fib_multipath_hash_fields; - u8 sysctl_fib_multipath_use_neigh; - u8 sysctl_fib_multipath_hash_policy; - struct fib_notifier_ops *notifier_ops; - unsigned int fib_seq; - struct fib_notifier_ops *ipmr_notifier_ops; - unsigned int ipmr_seq; - atomic_t rt_genid; - siphash_key_t ip_id_key; - struct hlist_head *inet_addr_lst; - struct delayed_work addr_chk_work; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct netns_sysctl_ipv6 { - struct ctl_table_header *hdr; - struct ctl_table_header *route_hdr; - struct ctl_table_header *icmp_hdr; - struct ctl_table_header *frags_hdr; - struct ctl_table_header *xfrm6_hdr; - int flush_delay; - int ip6_rt_max_size; - int ip6_rt_gc_min_interval; - int ip6_rt_gc_timeout; - int ip6_rt_gc_interval; - int ip6_rt_gc_elasticity; - int ip6_rt_mtu_expires; - int ip6_rt_min_advmss; - u32 multipath_hash_fields; - u8 multipath_hash_policy; - u8 bindv6only; - u8 flowlabel_consistency; - u8 auto_flowlabels; - int icmpv6_time; - u8 icmpv6_echo_ignore_all; - u8 icmpv6_echo_ignore_multicast; - u8 icmpv6_echo_ignore_anycast; - long unsigned int icmpv6_ratemask[4]; - long unsigned int *icmpv6_ratemask_ptr; - u8 anycast_src_echo_reply; - u8 ip_nonlocal_bind; - u8 fwmark_reflect; - u8 flowlabel_state_ranges; - int idgen_retries; - int idgen_delay; - int flowlabel_reflect; - int max_dst_opts_cnt; - int max_hbh_opts_cnt; - int max_dst_opts_len; - int max_hbh_opts_len; - int seg6_flowlabel; - u32 ioam6_id; - u64 ioam6_id_wide; - u8 skip_notify_on_dev_down; - u8 fib_notify_on_flag_change; - u8 icmpv6_error_anycast_as_unicast; -}; - -struct rt6_statistics; - -struct seg6_pernet_data; - -struct netns_ipv6 { - struct dst_ops ip6_dst_ops; - struct netns_sysctl_ipv6 sysctl; - struct ipv6_devconf *devconf_all; - struct ipv6_devconf *devconf_dflt; - struct inet_peer_base *peers; - struct fqdir *fqdir; - struct fib6_info *fib6_null_entry; - struct rt6_info *ip6_null_entry; - struct rt6_statistics *rt6_stats; - struct timer_list ip6_fib_timer; - struct hlist_head *fib_table_hash; - spinlock_t fib_table_hash_lock; - struct fib6_table *fib6_main_tbl; - struct list_head fib6_walkers; - rwlock_t fib6_walker_lock; - spinlock_t fib6_gc_lock; - atomic_t ip6_rt_gc_expire; - long unsigned int ip6_rt_last_gc; - unsigned char flowlabel_has_excl; - bool fib6_has_custom_rules; - unsigned int fib6_rules_require_fldissect; - unsigned int fib6_routes_require_src; - struct rt6_info *ip6_prohibit_entry; - struct rt6_info *ip6_blk_hole_entry; - struct fib6_table *fib6_local_tbl; - struct fib_rules_ops *fib6_rules_ops; - struct sock *ndisc_sk; - struct sock *tcp_sk; - struct sock *igmp_sk; - struct sock *mc_autojoin_sk; - struct hlist_head *inet6_addr_lst; - spinlock_t addrconf_hash_lock; - struct delayed_work addr_chk_work; - struct list_head mr6_tables; - struct fib_rules_ops *mr6_rules_ops; - atomic_t dev_addr_genid; - atomic_t fib6_sernum; - struct seg6_pernet_data *seg6_data; - struct fib_notifier_ops *notifier_ops; - struct fib_notifier_ops *ip6mr_notifier_ops; - unsigned int ipmr_seq; - struct { - struct hlist_head head; - spinlock_t lock; - u32 seq; - } ip6addrlbl_table; - struct ioam6_pernet_data *ioam6_data; - long: 64; - long: 64; - long: 64; -}; - -struct netns_sysctl_lowpan { - struct ctl_table_header *frags_hdr; -}; - -struct netns_ieee802154_lowpan { - struct netns_sysctl_lowpan sysctl; - struct fqdir *fqdir; -}; - -struct sctp_mib; - -struct netns_sctp { - struct sctp_mib *sctp_statistics; - struct proc_dir_entry *proc_net_sctp; - struct ctl_table_header *sysctl_header; - struct sock *ctl_sock; - struct sock *udp4_sock; - struct sock *udp6_sock; - int udp_port; - int encap_port; - struct list_head local_addr_list; - struct list_head addr_waitq; - struct timer_list addr_wq_timer; - struct list_head auto_asconf_splist; - spinlock_t addr_wq_lock; - spinlock_t local_addr_lock; - unsigned int rto_initial; - unsigned int rto_min; - unsigned int rto_max; - int rto_alpha; - int rto_beta; - int max_burst; - int cookie_preserve_enable; - char *sctp_hmac_alg; - unsigned int valid_cookie_life; - unsigned int sack_timeout; - unsigned int hb_interval; - unsigned int probe_interval; - int max_retrans_association; - int max_retrans_path; - int max_retrans_init; - int pf_retrans; - int ps_retrans; - int pf_enable; - int pf_expose; - int sndbuf_policy; - int rcvbuf_policy; - int default_auto_asconf; - int addip_enable; - int addip_noauth; - int prsctp_enable; - int reconf_enable; - int auth_enable; - int intl_enable; - int ecn_enable; - int scope_policy; - int rwnd_upd_shift; - long unsigned int max_autoclose; - int l3mdev_accept; -}; - -struct nf_logger; - -struct nf_hook_entries; - -struct netns_nf { - struct proc_dir_entry *proc_netfilter; - const struct nf_logger *nf_loggers[11]; - struct ctl_table_header *nf_log_dir_header; - struct ctl_table_header *nf_lwtnl_dir_header; - struct nf_hook_entries *hooks_ipv4[5]; - struct nf_hook_entries *hooks_ipv6[5]; - struct nf_hook_entries *hooks_arp[3]; - struct nf_hook_entries *hooks_bridge[5]; - unsigned int defrag_ipv4_users; - unsigned int defrag_ipv6_users; -}; - -struct nf_generic_net { - unsigned int timeout; -}; - -struct nf_tcp_net { - unsigned int timeouts[14]; - u8 tcp_loose; - u8 tcp_be_liberal; - u8 tcp_max_retrans; - u8 tcp_ignore_invalid_rst; - unsigned int offload_timeout; -}; - -struct nf_udp_net { - unsigned int timeouts[2]; - unsigned int offload_timeout; -}; - -struct nf_icmp_net { - unsigned int timeout; -}; - -struct nf_sctp_net { - unsigned int timeouts[10]; -}; - -struct nf_gre_net { - struct list_head keymap_list; - unsigned int timeouts[2]; -}; - -struct nf_ip_net { - struct nf_generic_net generic; - struct nf_tcp_net tcp; - struct nf_udp_net udp; - struct nf_icmp_net icmp; - struct nf_icmp_net icmpv6; - struct nf_sctp_net sctp; - struct nf_gre_net gre; -}; - -struct nf_ct_event_notifier; - -struct netns_ct { - bool ecache_dwork_pending; - u8 sysctl_log_invalid; - u8 sysctl_events; - u8 sysctl_acct; - u8 sysctl_tstamp; - u8 sysctl_checksum; - struct ip_conntrack_stat *stat; - struct nf_ct_event_notifier *nf_conntrack_event_cb; - struct nf_ip_net nf_ct_proto; - atomic_t labels_used; -}; - -struct netns_nftables { - unsigned int base_seq; - u8 gencursor; -}; - -struct nf_flow_table_stat; - -struct netns_ft { - struct nf_flow_table_stat *stat; -}; - -struct netns_bpf { - struct bpf_prog_array *run_array[2]; - struct bpf_prog *progs[2]; - struct list_head links[2]; -}; - -struct xfrm_policy_hash { - struct hlist_head *table; - unsigned int hmask; - u8 dbits4; - u8 sbits4; - u8 dbits6; - u8 sbits6; -}; - -struct xfrm_policy_hthresh { - struct work_struct work; - seqlock_t lock; - u8 lbits4; - u8 rbits4; - u8 lbits6; - u8 rbits6; -}; - -struct netns_xfrm { - struct list_head state_all; - struct hlist_head *state_bydst; - struct hlist_head *state_bysrc; - struct hlist_head *state_byspi; - struct hlist_head *state_byseq; - struct hlist_head *state_cache_input; - unsigned int state_hmask; - unsigned int state_num; - struct work_struct state_hash_work; - struct list_head policy_all; - struct hlist_head *policy_byidx; - unsigned int policy_idx_hmask; - unsigned int idx_generator; - struct xfrm_policy_hash policy_bydst[3]; - unsigned int policy_count[6]; - struct work_struct policy_hash_work; - struct xfrm_policy_hthresh policy_hthresh; - struct list_head inexact_bins; - struct sock *nlsk; - struct sock *nlsk_stash; - u32 sysctl_aevent_etime; - u32 sysctl_aevent_rseqth; - int sysctl_larval_drop; - u32 sysctl_acq_expires; - u8 policy_default[3]; - struct ctl_table_header *sysctl_hdr; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - struct dst_ops xfrm4_dst_ops; - struct dst_ops xfrm6_dst_ops; - spinlock_t xfrm_state_lock; - seqcount_spinlock_t xfrm_state_hash_generation; - seqcount_spinlock_t xfrm_policy_hash_generation; - spinlock_t xfrm_policy_lock; - struct mutex xfrm_cfg_mutex; - struct delayed_work nat_keepalive_work; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct netns_ipvs; - -struct mpls_route; - -struct netns_mpls { - int ip_ttl_propagate; - int default_ttl; - size_t platform_labels; - struct mpls_route **platform_label; - struct ctl_table_header *ctl; -}; - -struct can_dev_rcv_lists; - -struct can_pkg_stats; - -struct can_rcv_lists_stats; - -struct netns_can { - struct proc_dir_entry *proc_dir; - struct proc_dir_entry *pde_stats; - struct proc_dir_entry *pde_reset_stats; - struct proc_dir_entry *pde_rcvlist_all; - struct proc_dir_entry *pde_rcvlist_fil; - struct proc_dir_entry *pde_rcvlist_inv; - struct proc_dir_entry *pde_rcvlist_sff; - struct proc_dir_entry *pde_rcvlist_eff; - struct proc_dir_entry *pde_rcvlist_err; - struct proc_dir_entry *bcmproc_dir; - struct can_dev_rcv_lists *rx_alldev_list; - spinlock_t rcvlists_lock; - struct timer_list stattimer; - struct can_pkg_stats *pkg_stats; - struct can_rcv_lists_stats *rcv_lists_stats; - struct hlist_head cgw_list; -}; - -struct netns_xdp { - struct mutex lock; - struct hlist_head list; -}; - -struct netns_mctp { - struct list_head routes; - struct mutex bind_lock; - struct hlist_head binds[128]; - spinlock_t keys_lock; - struct hlist_head keys; - unsigned int default_net; - struct mutex neigh_lock; - struct list_head neighbours; -}; - -struct smc_stats; - -struct smc_stats_rsn; - -struct netns_smc { - struct smc_stats *smc_stats; - struct mutex mutex_fback_rsn; - struct smc_stats_rsn *fback_rsn; - bool limit_smc_hs; - struct ctl_table_header *smc_hdr; - unsigned int sysctl_autocorking_size; - unsigned int sysctl_smcr_buf_type; - int sysctl_smcr_testlink_time; - int sysctl_wmem; - int sysctl_rmem; - int sysctl_max_links_per_lgr; - int sysctl_max_conns_per_lgr; -}; - -struct uevent_sock; - -struct net_generic; - -struct net { - refcount_t passive; - spinlock_t rules_mod_lock; - unsigned int dev_base_seq; - u32 ifindex; - spinlock_t nsid_lock; - atomic_t fnhe_genid; - struct list_head list; - struct list_head exit_list; - struct llist_node defer_free_list; - struct llist_node cleanup_list; - struct list_head ptype_all; - struct list_head ptype_specific; - struct key_tag *key_domain; - struct user_namespace *user_ns; - struct ucounts *ucounts; - struct idr netns_ids; - struct ns_common ns; - struct ref_tracker_dir refcnt_tracker; - struct ref_tracker_dir notrefcnt_tracker; - struct list_head dev_base_head; - struct proc_dir_entry *proc_net; - struct proc_dir_entry *proc_net_stat; - struct ctl_table_set sysctls; - struct sock *rtnl; - struct sock *genl_sock; - struct uevent_sock *uevent_sock; - struct hlist_head *dev_name_head; - struct hlist_head *dev_index_head; - struct xarray dev_by_index; - struct raw_notifier_head netdev_chain; - u32 hash_mix; - struct net_device *loopback_dev; - struct list_head rules_ops; - struct netns_core core; - struct netns_mib mib; - struct netns_packet packet; - struct netns_unix unx; - struct netns_nexthop nexthop; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - struct netns_ipv4 ipv4; - struct netns_ipv6 ipv6; - struct netns_ieee802154_lowpan ieee802154_lowpan; - struct netns_sctp sctp; - struct netns_nf nf; - struct netns_ct ct; - struct netns_nftables nft; - struct netns_ft ft; - struct sk_buff_head wext_nlevents; - struct net_generic *gen; - struct netns_bpf bpf; - long: 64; - long: 64; - struct netns_xfrm xfrm; - u64 net_cookie; - struct netns_ipvs *ipvs; - struct netns_mpls mpls; - struct netns_can can; - struct netns_xdp xdp; - struct netns_mctp mctp; - struct sock *crypto_nlsk; - struct sock *diag_nlsk; - struct netns_smc smc; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct net_aligned_data { - atomic64_t net_cookie; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - atomic_long_t tcp_memory_allocated; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - atomic_long_t udp_memory_allocated; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct rtable { - struct dst_entry dst; - int rt_genid; - unsigned int rt_flags; - __u16 rt_type; - __u8 rt_is_input; - __u8 rt_uses_gateway; - int rt_iif; - u8 rt_gw_family; - union { - __be32 rt_gw4; - struct in6_addr rt_gw6; - }; - u32 rt_mtu_locked: 1; - u32 rt_pmtu: 31; -}; - -struct rt6_info { - struct dst_entry dst; - struct fib6_info *from; - int sernum; - struct rt6key rt6i_dst; - struct rt6key rt6i_src; - struct in6_addr rt6i_gateway; - struct inet6_dev *rt6i_idev; - u32 rt6i_flags; - short unsigned int rt6i_nfheader_len; -}; - -struct net_bridge; - -struct net_bridge_vlan; - -struct net_bridge_mcast { - struct net_bridge *br; - struct net_bridge_vlan *vlan; - u32 multicast_last_member_count; - u32 multicast_startup_query_count; - u8 multicast_querier; - u8 multicast_igmp_version; - u8 multicast_router; - u8 multicast_mld_version; - long unsigned int multicast_last_member_interval; - long unsigned int multicast_membership_interval; - long unsigned int multicast_querier_interval; - long unsigned int multicast_query_interval; - long unsigned int multicast_query_response_interval; - long unsigned int multicast_startup_query_interval; - struct hlist_head ip4_mc_router_list; - struct timer_list ip4_mc_router_timer; - struct bridge_mcast_other_query ip4_other_query; - struct bridge_mcast_own_query ip4_own_query; - struct bridge_mcast_querier ip4_querier; - struct hlist_head ip6_mc_router_list; - struct timer_list ip6_mc_router_timer; - struct bridge_mcast_other_query ip6_other_query; - struct bridge_mcast_own_query ip6_own_query; - struct bridge_mcast_querier ip6_querier; -}; - -struct net_bridge_vlan_group; - -struct net_bridge { - spinlock_t lock; - spinlock_t hash_lock; - struct hlist_head frame_type_list; - struct net_device *dev; - long unsigned int options; - __be16 vlan_proto; - u16 default_pvid; - struct net_bridge_vlan_group *vlgrp; - struct rhashtable fdb_hash_tbl; - struct list_head port_list; - union { - struct rtable fake_rtable; - struct rt6_info fake_rt6_info; - }; - u32 metrics[17]; - u16 group_fwd_mask; - u16 group_fwd_mask_required; - bridge_id designated_root; - bridge_id bridge_id; - unsigned char topology_change; - unsigned char topology_change_detected; - u16 root_port; - long unsigned int max_age; - long unsigned int hello_time; - long unsigned int forward_delay; - long unsigned int ageing_time; - long unsigned int bridge_max_age; - long unsigned int bridge_hello_time; - long unsigned int bridge_forward_delay; - long unsigned int bridge_ageing_time; - u32 root_path_cost; - u8 group_addr[6]; - enum { - BR_NO_STP = 0, - BR_KERNEL_STP = 1, - BR_USER_STP = 2, - } stp_enabled; - struct net_bridge_mcast multicast_ctx; - struct bridge_mcast_stats *mcast_stats; - u32 hash_max; - spinlock_t multicast_lock; - struct rhashtable mdb_hash_tbl; - struct rhashtable sg_port_tbl; - struct hlist_head mcast_gc_list; - struct hlist_head mdb_list; - struct work_struct mcast_gc_work; - struct timer_list hello_timer; - struct timer_list tcn_timer; - struct timer_list topology_change_timer; - struct delayed_work gc_work; - struct kobject *ifobj; - u32 auto_cnt; - atomic_t fdb_n_learned; - u32 fdb_max_learned; - int last_hwdom; - long unsigned int busy_hwdoms; - struct hlist_head fdb_list; - struct hlist_head mrp_list; - struct hlist_head mep_list; -}; - -struct net_bridge_fdb_key { - mac_addr addr; - u16 vlan_id; -}; - -struct net_bridge_port; - -struct net_bridge_fdb_entry { - struct rhash_head rhnode; - struct net_bridge_port *dst; - struct net_bridge_fdb_key key; - struct hlist_node fdb_node; - long unsigned int flags; - long: 64; - long: 64; - long unsigned int updated; - long unsigned int used; - struct callback_head rcu; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct net_bridge_mcast_port { - struct net_bridge_port *port; - struct net_bridge_vlan *vlan; - struct bridge_mcast_own_query ip4_own_query; - struct timer_list ip4_mc_router_timer; - struct hlist_node ip4_rlist; - struct bridge_mcast_own_query ip6_own_query; - struct timer_list ip6_mc_router_timer; - struct hlist_node ip6_rlist; - unsigned char multicast_router; - u32 mdb_n_entries; - u32 mdb_max_entries; -}; - -struct netpoll; - -struct net_bridge_port { - struct net_bridge *br; - struct net_device *dev; - netdevice_tracker dev_tracker; - struct list_head list; - long unsigned int flags; - struct net_bridge_vlan_group *vlgrp; - struct net_bridge_port *backup_port; - u32 backup_nhid; - u8 priority; - u8 state; - u16 port_no; - unsigned char topology_change_ack; - unsigned char config_pending; - port_id port_id; - port_id designated_port; - bridge_id designated_root; - bridge_id designated_bridge; - u32 path_cost; - u32 designated_cost; - long unsigned int designated_age; - struct timer_list forward_delay_timer; - struct timer_list hold_timer; - struct timer_list message_age_timer; - struct kobject kobj; - struct callback_head rcu; - struct net_bridge_mcast_port multicast_ctx; - struct bridge_mcast_stats *mcast_stats; - u32 multicast_eht_hosts_limit; - u32 multicast_eht_hosts_cnt; - struct hlist_head mglist; - char sysfs_name[16]; - struct netpoll *np; - int hwdom; - int offload_count; - struct netdev_phys_item_id ppid; - u16 group_fwd_mask; - u16 backup_redirected_cnt; - struct bridge_stp_xstats stp_xstats; -}; - -struct pcpu_sw_netstats; - -struct net_bridge_vlan { - struct rhash_head vnode; - struct rhash_head tnode; - u16 vid; - u16 flags; - u16 priv_flags; - u8 state; - struct pcpu_sw_netstats *stats; - union { - struct net_bridge *br; - struct net_bridge_port *port; - }; - union { - refcount_t refcnt; - struct net_bridge_vlan *brvlan; - }; - struct br_tunnel_info tinfo; - union { - struct net_bridge_mcast br_mcast_ctx; - struct net_bridge_mcast_port port_mcast_ctx; - }; - u16 msti; - struct list_head vlist; - struct callback_head rcu; -}; - -struct net_bridge_vlan_group { - struct rhashtable vlan_hash; - struct rhashtable tunnel_hash; - struct list_head vlan_list; - u16 num_vlans; - u16 pvid; - u8 pvid_state; -}; - -struct netdev_tc_txq { - u16 count; - u16 offset; -}; - -typedef rx_handler_result_t rx_handler_func_t(struct sk_buff **); - -struct net_device_stats { - union { - long unsigned int rx_packets; - atomic_long_t __rx_packets; - }; - union { - long unsigned int tx_packets; - atomic_long_t __tx_packets; - }; - union { - long unsigned int rx_bytes; - atomic_long_t __rx_bytes; - }; - union { - long unsigned int tx_bytes; - atomic_long_t __tx_bytes; - }; - union { - long unsigned int rx_errors; - atomic_long_t __rx_errors; - }; - union { - long unsigned int tx_errors; - atomic_long_t __tx_errors; - }; - union { - long unsigned int rx_dropped; - atomic_long_t __rx_dropped; - }; - union { - long unsigned int tx_dropped; - atomic_long_t __tx_dropped; - }; - union { - long unsigned int multicast; - atomic_long_t __multicast; - }; - union { - long unsigned int collisions; - atomic_long_t __collisions; - }; - union { - long unsigned int rx_length_errors; - atomic_long_t __rx_length_errors; - }; - union { - long unsigned int rx_over_errors; - atomic_long_t __rx_over_errors; - }; - union { - long unsigned int rx_crc_errors; - atomic_long_t __rx_crc_errors; - }; - union { - long unsigned int rx_frame_errors; - atomic_long_t __rx_frame_errors; - }; - union { - long unsigned int rx_fifo_errors; - atomic_long_t __rx_fifo_errors; - }; - union { - long unsigned int rx_missed_errors; - atomic_long_t __rx_missed_errors; - }; - union { - long unsigned int tx_aborted_errors; - atomic_long_t __tx_aborted_errors; - }; - union { - long unsigned int tx_carrier_errors; - atomic_long_t __tx_carrier_errors; - }; - union { - long unsigned int tx_fifo_errors; - atomic_long_t __tx_fifo_errors; - }; - union { - long unsigned int tx_heartbeat_errors; - atomic_long_t __tx_heartbeat_errors; - }; - union { - long unsigned int tx_window_errors; - atomic_long_t __tx_window_errors; - }; - union { - long unsigned int rx_compressed; - atomic_long_t __rx_compressed; - }; - union { - long unsigned int tx_compressed; - atomic_long_t __tx_compressed; - }; -}; - -struct netdev_hw_addr_list { - struct list_head list; - int count; - struct rb_root tree; -}; - -struct tipc_bearer; - -struct mpls_dev; - -struct garp_port; - -struct mrp_port; - -struct udp_tunnel_nic; - -struct net_device_ops; - -struct xps_dev_maps; - -struct pcpu_lstats; - -struct pcpu_dstats; - -struct netpoll_info; - -struct netdev_name_node; - -struct xdp_metadata_ops; - -struct xsk_tx_metadata_ops; - -struct net_device_core_stats; - -struct xfrmdev_ops; - -struct tlsdev_ops; - -struct vlan_info; - -struct wireless_dev; - -struct wpan_dev; - -struct xdp_dev_bulk_queue; - -struct rtnl_link_ops; - -struct netdev_stat_ops; - -struct netdev_queue_mgmt_ops; - -struct netprio_map; - -struct phy_link_topology; - -struct sfp_bus; - -struct udp_tunnel_nic_info; - -struct netdev_config; - -struct rtnl_hw_stats64; - -struct net_shaper_hierarchy; - -struct net_device { - __u8 __cacheline_group_begin__net_device_read_tx[0]; - union { - struct { - long unsigned int priv_flags: 32; - long unsigned int lltx: 1; - long unsigned int netmem_tx: 1; - }; - struct { - long unsigned int priv_flags: 32; - long unsigned int lltx: 1; - long unsigned int netmem_tx: 1; - } priv_flags_fast; - }; - const struct net_device_ops *netdev_ops; - const struct header_ops *header_ops; - struct netdev_queue *_tx; - netdev_features_t gso_partial_features; - unsigned int real_num_tx_queues; - unsigned int gso_max_size; - unsigned int gso_ipv4_max_size; - u16 gso_max_segs; - s16 num_tc; - unsigned int mtu; - short unsigned int needed_headroom; - struct netdev_tc_txq tc_to_txq[16]; - struct xps_dev_maps *xps_maps[2]; - struct nf_hook_entries *nf_hooks_egress; - struct bpf_mprog_entry *tcx_egress; - __u8 __cacheline_group_end__net_device_read_tx[0]; - __u8 __cacheline_group_begin__net_device_read_txrx[0]; - union { - struct pcpu_lstats *lstats; - struct pcpu_sw_netstats *tstats; - struct pcpu_dstats *dstats; - }; - long unsigned int state; - unsigned int flags; - short unsigned int hard_header_len; - netdev_features_t features; - struct inet6_dev *ip6_ptr; - __u8 __cacheline_group_end__net_device_read_txrx[0]; - __u8 __cacheline_group_begin__net_device_read_rx[0]; - struct bpf_prog *xdp_prog; - struct list_head ptype_specific; - int ifindex; - unsigned int real_num_rx_queues; - struct netdev_rx_queue *_rx; - unsigned int gro_max_size; - unsigned int gro_ipv4_max_size; - rx_handler_func_t *rx_handler; - void *rx_handler_data; - possible_net_t nd_net; - struct netpoll_info *npinfo; - struct bpf_mprog_entry *tcx_ingress; - __u8 __cacheline_group_end__net_device_read_rx[0]; - char name[16]; - struct netdev_name_node *name_node; - struct dev_ifalias *ifalias; - long unsigned int mem_end; - long unsigned int mem_start; - long unsigned int base_addr; - struct list_head dev_list; - struct list_head napi_list; - struct list_head unreg_list; - struct list_head close_list; - struct list_head ptype_all; - struct { - struct list_head upper; - struct list_head lower; - } adj_list; - xdp_features_t xdp_features; - const struct xdp_metadata_ops *xdp_metadata_ops; - const struct xsk_tx_metadata_ops *xsk_tx_metadata_ops; - short unsigned int gflags; - short unsigned int needed_tailroom; - netdev_features_t hw_features; - netdev_features_t wanted_features; - netdev_features_t vlan_features; - netdev_features_t hw_enc_features; - netdev_features_t mpls_features; - unsigned int min_mtu; - unsigned int max_mtu; - short unsigned int type; - unsigned char min_header_len; - unsigned char name_assign_type; - int group; - struct net_device_stats stats; - struct net_device_core_stats *core_stats; - atomic_t carrier_up_count; - atomic_t carrier_down_count; - const struct iw_handler_def *wireless_handlers; - const struct ethtool_ops *ethtool_ops; - const struct l3mdev_ops *l3mdev_ops; - const struct ndisc_ops *ndisc_ops; - const struct xfrmdev_ops *xfrmdev_ops; - const struct tlsdev_ops *tlsdev_ops; - unsigned int operstate; - unsigned char link_mode; - unsigned char if_port; - unsigned char dma; - unsigned char perm_addr[32]; - unsigned char addr_assign_type; - unsigned char addr_len; - unsigned char upper_level; - unsigned char lower_level; - u8 threaded; - short unsigned int neigh_priv_len; - short unsigned int dev_id; - short unsigned int dev_port; - int irq; - u32 priv_len; - spinlock_t addr_list_lock; - struct netdev_hw_addr_list uc; - struct netdev_hw_addr_list mc; - struct netdev_hw_addr_list dev_addrs; - struct kset *queues_kset; - unsigned int promiscuity; - unsigned int allmulti; - bool uc_promisc; - struct in_device *ip_ptr; - struct hlist_head fib_nh_head; - struct vlan_info *vlan_info; - struct dsa_port *dsa_ptr; - struct tipc_bearer *tipc_ptr; - void *atalk_ptr; - struct ax25_dev *ax25_ptr; - struct wireless_dev *ieee80211_ptr; - struct wpan_dev *ieee802154_ptr; - struct mpls_dev *mpls_ptr; - struct mctp_dev *mctp_ptr; - const unsigned char *dev_addr; - unsigned int num_rx_queues; - unsigned int xdp_zc_max_segs; - struct netdev_queue *ingress_queue; - struct nf_hook_entries *nf_hooks_ingress; - unsigned char broadcast[32]; - struct cpu_rmap *rx_cpu_rmap; - struct hlist_node index_hlist; - unsigned int num_tx_queues; - struct Qdisc *qdisc; - unsigned int tx_queue_len; - spinlock_t tx_global_lock; - struct xdp_dev_bulk_queue *xdp_bulkq; - struct hlist_head qdisc_hash[16]; - struct timer_list watchdog_timer; - int watchdog_timeo; - u32 proto_down_reason; - struct list_head todo_list; - int *pcpu_refcnt; - struct ref_tracker_dir refcnt_tracker; - struct list_head link_watch_list; - u8 reg_state; - bool dismantle; - bool moving_ns; - bool rtnl_link_initializing; - bool needs_free_netdev; - void (*priv_destructor)(struct net_device *); - void *ml_priv; - enum netdev_ml_priv_type ml_priv_type; - enum netdev_stat_type pcpu_stat_type: 8; - struct garp_port *garp_port; - struct mrp_port *mrp_port; - struct dm_hw_stat_delta *dm_private; - struct device dev; - const struct attribute_group *sysfs_groups[5]; - const struct attribute_group *sysfs_rx_queue_group; - const struct rtnl_link_ops *rtnl_link_ops; - const struct netdev_stat_ops *stat_ops; - const struct netdev_queue_mgmt_ops *queue_mgmt_ops; - unsigned int tso_max_size; - u16 tso_max_segs; - const struct dcbnl_rtnl_ops *dcbnl_ops; - u8 prio_tc_map[16]; - unsigned int fcoe_ddp_xid; - struct netprio_map *priomap; - struct phy_link_topology *link_topo; - struct phy_device *phydev; - struct sfp_bus *sfp_bus; - struct lock_class_key *qdisc_tx_busylock; - bool proto_down; - bool irq_affinity_auto; - bool rx_cpu_rmap_auto; - long unsigned int see_all_hwtstamp_requests: 1; - long unsigned int change_proto_down: 1; - long unsigned int netns_immutable: 1; - long unsigned int fcoe_mtu: 1; - struct list_head net_notifier_list; - const struct macsec_ops *macsec_ops; - const struct udp_tunnel_nic_info *udp_tunnel_nic_info; - struct udp_tunnel_nic *udp_tunnel_nic; - struct netdev_config *cfg; - struct netdev_config *cfg_pending; - struct ethtool_netdev_state *ethtool; - struct bpf_xdp_entity xdp_state[3]; - u8 dev_addr_shadow[32]; - netdevice_tracker linkwatch_dev_tracker; - netdevice_tracker watchdog_dev_tracker; - netdevice_tracker dev_registered_tracker; - struct rtnl_hw_stats64 *offload_xstats_l3; - struct devlink_port *devlink_port; - struct dpll_pin *dpll_pin; - struct hlist_head page_pools; - struct dim_irq_moder *irq_moder; - u64 max_pacing_offload_horizon; - struct napi_config *napi_config; - u32 num_napi_configs; - u32 napi_defer_hard_irqs; - long unsigned int gro_flush_timeout; - bool up; - bool request_ops_lock; - struct mutex lock; - struct net_shaper_hierarchy *net_shaper_hierarchy; - struct hlist_head neighbours[2]; - struct hwtstamp_provider *hwprov; - u8 priv[0]; -}; - -struct net_device_core_stats { - long unsigned int rx_dropped; - long unsigned int tx_dropped; - long unsigned int rx_nohandler; - long unsigned int rx_otherhost_dropped; -}; - -struct net_device_devres { - struct net_device *ndev; -}; - -struct netdev_fcoe_hbainfo; - -struct netdev_bpf; - -struct xdp_frame; - -struct net_device_path_ctx; - -struct net_device_path; - -struct skb_shared_hwtstamps; - -struct net_shaper_ops; - -struct net_device_ops { - int (*ndo_init)(struct net_device *); - void (*ndo_uninit)(struct net_device *); - int (*ndo_open)(struct net_device *); - int (*ndo_stop)(struct net_device *); - netdev_tx_t (*ndo_start_xmit)(struct sk_buff *, struct net_device *); - netdev_features_t (*ndo_features_check)(struct sk_buff *, struct net_device *, netdev_features_t); - u16 (*ndo_select_queue)(struct net_device *, struct sk_buff *, struct net_device *); - void (*ndo_change_rx_flags)(struct net_device *, int); - void (*ndo_set_rx_mode)(struct net_device *); - int (*ndo_set_mac_address)(struct net_device *, void *); - int (*ndo_validate_addr)(struct net_device *); - int (*ndo_do_ioctl)(struct net_device *, struct ifreq *, int); - int (*ndo_eth_ioctl)(struct net_device *, struct ifreq *, int); - int (*ndo_siocbond)(struct net_device *, struct ifreq *, int); - int (*ndo_siocwandev)(struct net_device *, struct if_settings *); - int (*ndo_siocdevprivate)(struct net_device *, struct ifreq *, void *, int); - int (*ndo_set_config)(struct net_device *, struct ifmap *); - int (*ndo_change_mtu)(struct net_device *, int); - int (*ndo_neigh_setup)(struct net_device *, struct neigh_parms *); - void (*ndo_tx_timeout)(struct net_device *, unsigned int); - void (*ndo_get_stats64)(struct net_device *, struct rtnl_link_stats64 *); - bool (*ndo_has_offload_stats)(const struct net_device *, int); - int (*ndo_get_offload_stats)(int, const struct net_device *, void *); - struct net_device_stats * (*ndo_get_stats)(struct net_device *); - int (*ndo_vlan_rx_add_vid)(struct net_device *, __be16, u16); - int (*ndo_vlan_rx_kill_vid)(struct net_device *, __be16, u16); - void (*ndo_poll_controller)(struct net_device *); - int (*ndo_netpoll_setup)(struct net_device *); - void (*ndo_netpoll_cleanup)(struct net_device *); - int (*ndo_set_vf_mac)(struct net_device *, int, u8 *); - int (*ndo_set_vf_vlan)(struct net_device *, int, u16, u8, __be16); - int (*ndo_set_vf_rate)(struct net_device *, int, int, int); - int (*ndo_set_vf_spoofchk)(struct net_device *, int, bool); - int (*ndo_set_vf_trust)(struct net_device *, int, bool); - int (*ndo_get_vf_config)(struct net_device *, int, struct ifla_vf_info *); - int (*ndo_set_vf_link_state)(struct net_device *, int, int); - int (*ndo_get_vf_stats)(struct net_device *, int, struct ifla_vf_stats *); - int (*ndo_set_vf_port)(struct net_device *, int, struct nlattr **); - int (*ndo_get_vf_port)(struct net_device *, int, struct sk_buff *); - int (*ndo_get_vf_guid)(struct net_device *, int, struct ifla_vf_guid *, struct ifla_vf_guid *); - int (*ndo_set_vf_guid)(struct net_device *, int, u64, int); - int (*ndo_set_vf_rss_query_en)(struct net_device *, int, bool); - int (*ndo_setup_tc)(struct net_device *, enum tc_setup_type, void *); - int (*ndo_fcoe_enable)(struct net_device *); - int (*ndo_fcoe_disable)(struct net_device *); - int (*ndo_fcoe_ddp_setup)(struct net_device *, u16, struct scatterlist *, unsigned int); - int (*ndo_fcoe_ddp_done)(struct net_device *, u16); - int (*ndo_fcoe_ddp_target)(struct net_device *, u16, struct scatterlist *, unsigned int); - int (*ndo_fcoe_get_hbainfo)(struct net_device *, struct netdev_fcoe_hbainfo *); - int (*ndo_fcoe_get_wwn)(struct net_device *, u64 *, int); - int (*ndo_rx_flow_steer)(struct net_device *, const struct sk_buff *, u16, u32); - int (*ndo_add_slave)(struct net_device *, struct net_device *, struct netlink_ext_ack *); - int (*ndo_del_slave)(struct net_device *, struct net_device *); - struct net_device * (*ndo_get_xmit_slave)(struct net_device *, struct sk_buff *, bool); - struct net_device * (*ndo_sk_get_lower_dev)(struct net_device *, struct sock *); - netdev_features_t (*ndo_fix_features)(struct net_device *, netdev_features_t); - int (*ndo_set_features)(struct net_device *, netdev_features_t); - int (*ndo_neigh_construct)(struct net_device *, struct neighbour *); - void (*ndo_neigh_destroy)(struct net_device *, struct neighbour *); - int (*ndo_fdb_add)(struct ndmsg *, struct nlattr **, struct net_device *, const unsigned char *, u16, u16, bool *, struct netlink_ext_ack *); - int (*ndo_fdb_del)(struct ndmsg *, struct nlattr **, struct net_device *, const unsigned char *, u16, bool *, struct netlink_ext_ack *); - int (*ndo_fdb_del_bulk)(struct nlmsghdr *, struct net_device *, struct netlink_ext_ack *); - int (*ndo_fdb_dump)(struct sk_buff *, struct netlink_callback *, struct net_device *, struct net_device *, int *); - int (*ndo_fdb_get)(struct sk_buff *, struct nlattr **, struct net_device *, const unsigned char *, u16, u32, u32, struct netlink_ext_ack *); - int (*ndo_mdb_add)(struct net_device *, struct nlattr **, u16, struct netlink_ext_ack *); - int (*ndo_mdb_del)(struct net_device *, struct nlattr **, struct netlink_ext_ack *); - int (*ndo_mdb_del_bulk)(struct net_device *, struct nlattr **, struct netlink_ext_ack *); - int (*ndo_mdb_dump)(struct net_device *, struct sk_buff *, struct netlink_callback *); - int (*ndo_mdb_get)(struct net_device *, struct nlattr **, u32, u32, struct netlink_ext_ack *); - int (*ndo_bridge_setlink)(struct net_device *, struct nlmsghdr *, u16, struct netlink_ext_ack *); - int (*ndo_bridge_getlink)(struct sk_buff *, u32, u32, struct net_device *, u32, int); - int (*ndo_bridge_dellink)(struct net_device *, struct nlmsghdr *, u16); - int (*ndo_change_carrier)(struct net_device *, bool); - int (*ndo_get_phys_port_id)(struct net_device *, struct netdev_phys_item_id *); - int (*ndo_get_port_parent_id)(struct net_device *, struct netdev_phys_item_id *); - int (*ndo_get_phys_port_name)(struct net_device *, char *, size_t); - void * (*ndo_dfwd_add_station)(struct net_device *, struct net_device *); - void (*ndo_dfwd_del_station)(struct net_device *, void *); - int (*ndo_set_tx_maxrate)(struct net_device *, int, u32); - int (*ndo_get_iflink)(const struct net_device *); - int (*ndo_fill_metadata_dst)(struct net_device *, struct sk_buff *); - void (*ndo_set_rx_headroom)(struct net_device *, int); - int (*ndo_bpf)(struct net_device *, struct netdev_bpf *); - int (*ndo_xdp_xmit)(struct net_device *, int, struct xdp_frame **, u32); - struct net_device * (*ndo_xdp_get_xmit_slave)(struct net_device *, struct xdp_buff *); - int (*ndo_xsk_wakeup)(struct net_device *, u32, u32); - int (*ndo_tunnel_ctl)(struct net_device *, struct ip_tunnel_parm_kern *, int); - struct net_device * (*ndo_get_peer_dev)(struct net_device *); - int (*ndo_fill_forward_path)(struct net_device_path_ctx *, struct net_device_path *); - ktime_t (*ndo_get_tstamp)(struct net_device *, const struct skb_shared_hwtstamps *, bool); - int (*ndo_hwtstamp_get)(struct net_device *, struct kernel_hwtstamp_config *); - int (*ndo_hwtstamp_set)(struct net_device *, struct kernel_hwtstamp_config *, struct netlink_ext_ack *); - const struct net_shaper_ops *net_shaper_ops; -}; - -struct net_device_path { - enum net_device_path_type type; - const struct net_device *dev; - union { - struct { - u16 id; - __be16 proto; - u8 h_dest[6]; - } encap; - struct { - enum { - DEV_PATH_BR_VLAN_KEEP = 0, - DEV_PATH_BR_VLAN_TAG = 1, - DEV_PATH_BR_VLAN_UNTAG = 2, - DEV_PATH_BR_VLAN_UNTAG_HW = 3, - } vlan_mode; - u16 vlan_id; - __be16 vlan_proto; - } bridge; - struct { - int port; - u16 proto; - } dsa; - struct { - u8 wdma_idx; - u8 queue; - u16 wcid; - u8 bss; - u8 amsdu; - } mtk_wdma; - }; -}; - -struct net_device_path_ctx { - const struct net_device *dev; - u8 daddr[6]; - int num_vlans; - struct { - u16 id; - __be16 proto; - } vlan[2]; -}; - -struct net_device_path_stack { - int num_paths; - struct net_device_path path[5]; -}; - -struct net_devmem_dmabuf_binding { - struct dma_buf *dmabuf; - struct dma_buf_attachment *attachment; - struct sg_table *sgt; - struct net_device *dev; - struct gen_pool *chunk_pool; - struct mutex lock; - refcount_t ref; - struct list_head list; - struct xarray bound_rxqs; - u32 id; - enum dma_data_direction direction; - struct net_iov **tx_vec; - struct work_struct unbind_w; -}; - -struct net_dm_drop_point { - __u8 pc[8]; - __u32 count; -}; - -struct net_dm_alert_msg { - __u32 entries; - struct net_dm_drop_point points[0]; -}; - -struct net_dm_alert_ops { - void (*kfree_skb_probe)(void *, struct sk_buff *, void *, enum skb_drop_reason, struct sock *); - void (*napi_poll_probe)(void *, struct napi_struct *, int, int); - void (*work_item_func)(struct work_struct *); - void (*hw_work_item_func)(struct work_struct *); - void (*hw_trap_probe)(void *, const struct devlink *, struct sk_buff *, const struct devlink_trap_metadata *); -}; - -struct net_dm_hw_entry { - char trap_name[40]; - u32 count; -}; - -struct net_dm_hw_entries { - u32 num_entries; - struct net_dm_hw_entry entries[0]; -}; - -struct net_dm_skb_cb { - union { - struct devlink_trap_metadata *hw_metadata; - void *pc; - }; - enum skb_drop_reason reason; -}; - -struct net_dm_stats { - u64_stats_t dropped; - struct u64_stats_sync syncp; -}; - -struct rtnl_link_stats64 { - __u64 rx_packets; - __u64 tx_packets; - __u64 rx_bytes; - __u64 tx_bytes; - __u64 rx_errors; - __u64 tx_errors; - __u64 rx_dropped; - __u64 tx_dropped; - __u64 multicast; - __u64 collisions; - __u64 rx_length_errors; - __u64 rx_over_errors; - __u64 rx_crc_errors; - __u64 rx_frame_errors; - __u64 rx_fifo_errors; - __u64 rx_missed_errors; - __u64 tx_aborted_errors; - __u64 tx_carrier_errors; - __u64 tx_fifo_errors; - __u64 tx_heartbeat_errors; - __u64 tx_window_errors; - __u64 rx_compressed; - __u64 tx_compressed; - __u64 rx_nohandler; - __u64 rx_otherhost_dropped; -}; - -struct net_failover_info { - struct net_device *primary_dev; - struct net_device *standby_dev; - struct rtnl_link_stats64 primary_stats; - struct rtnl_link_stats64 standby_stats; - struct rtnl_link_stats64 failover_stats; - spinlock_t stats_lock; -}; - -struct net_fill_args { - u32 portid; - u32 seq; - int flags; - int cmd; - int nsid; - bool add_ref; - int ref_nsid; -}; - -struct net_generic { - union { - struct { - unsigned int len; - struct callback_head rcu; - } s; - struct { - struct {} __empty_ptr; - void *ptr[0]; - }; - }; -}; - -struct offload_callbacks { - struct sk_buff * (*gso_segment)(struct sk_buff *, netdev_features_t); - struct sk_buff * (*gro_receive)(struct list_head *, struct sk_buff *); - int (*gro_complete)(struct sk_buff *, int); -}; - -struct packet_offload { - __be16 type; - u16 priority; - struct offload_callbacks callbacks; - struct list_head list; -}; - -struct net_offload { - struct offload_callbacks callbacks; - unsigned int flags; - u32 secret; -}; - -struct net_protocol { - int (*handler)(struct sk_buff *); - int (*err_handler)(struct sk_buff *, u32); - unsigned int no_policy: 1; - unsigned int icmp_strict_tag_validation: 1; - u32 secret; -}; - -struct rps_sock_flow_table; - -struct net_hotdata { - struct packet_offload ip_packet_offload; - struct net_offload tcpv4_offload; - struct net_protocol tcp_protocol; - struct net_offload udpv4_offload; - struct net_protocol udp_protocol; - struct packet_offload ipv6_packet_offload; - struct net_offload tcpv6_offload; - struct inet6_protocol tcpv6_protocol; - struct inet6_protocol udpv6_protocol; - struct net_offload udpv6_offload; - struct list_head offload_base; - struct kmem_cache *skbuff_cache; - struct kmem_cache *skbuff_fclone_cache; - struct kmem_cache *skb_small_head_cache; - struct rps_sock_flow_table *rps_sock_flow_table; - u32 rps_cpu_mask; - int gro_normal_batch; - int netdev_budget; - int netdev_budget_usecs; - int tstamp_prequeue; - int max_backlog; - int dev_tx_weight; - int dev_rx_weight; - int sysctl_max_skb_frags; - int sysctl_skb_defer_max; - int sysctl_mem_pcpu_rsv; -}; - -struct netmem_desc { - long unsigned int _flags; - long unsigned int pp_magic; - struct page_pool *pp; - long unsigned int _pp_mapping_pad; - long unsigned int dma_addr; - atomic_long_t pp_ref_count; -}; - -struct net_iov { - union { - struct netmem_desc desc; - struct { - long unsigned int _flags; - long unsigned int pp_magic; - struct page_pool *pp; - long unsigned int _pp_mapping_pad; - long unsigned int dma_addr; - atomic_long_t pp_ref_count; - }; - }; - struct net_iov_area *owner; - enum net_iov_type type; -}; - -struct net_packet_attrs { - const unsigned char *src; - const unsigned char *dst; - u32 ip_src; - u32 ip_dst; - bool tcp; - u16 sport; - u16 dport; - int timeout; - int size; - int max_size; - u8 id; - u16 queue_mapping; - bool bad_csum; -}; - -struct net_proto_family { - int family; - int (*create)(struct net *, struct socket *, int, int); - struct module *owner; -}; - -struct net_rate_estimator { - struct gnet_stats_basic_sync *bstats; - spinlock_t *stats_lock; - bool running; - struct gnet_stats_basic_sync *cpu_bstats; - u8 ewma_log; - u8 intvl_log; - seqcount_t seq; - u64 last_packets; - u64 last_bytes; - u64 avpps; - u64 avbps; - long unsigned int next_jiffies; - struct timer_list timer; - struct callback_head rcu; -}; - -struct net_shaper_handle { - enum net_shaper_scope scope; - u32 id; -}; - -struct net_shaper { - struct net_shaper_handle parent; - struct net_shaper_handle handle; - enum net_shaper_metric metric; - u64 bw_min; - u64 bw_max; - u64 burst; - u32 priority; - u32 weight; - u32 leaves; - struct callback_head rcu; -}; - -struct net_shaper_binding { - enum net_shaper_binding_type type; - union { - struct net_device *netdev; - struct devlink *devlink; - }; -}; - -struct net_shaper_hierarchy { - struct xarray shapers; -}; - -struct net_shaper_nl_ctx { - struct net_shaper_binding binding; - netdevice_tracker dev_tracker; - long unsigned int start_index; -}; - -struct net_shaper_ops { - int (*group)(struct net_shaper_binding *, int, const struct net_shaper *, const struct net_shaper *, struct netlink_ext_ack *); - int (*set)(struct net_shaper_binding *, const struct net_shaper *, struct netlink_ext_ack *); - int (*delete)(struct net_shaper_binding *, const struct net_shaper_handle *, struct netlink_ext_ack *); - void (*capabilities)(struct net_shaper_binding *, enum net_shaper_scope, long unsigned int *); -}; - -struct net_test { - char name[32]; - int (*fn)(struct net_device *); -}; - -struct net_test_priv { - struct net_packet_attrs *packet; - struct packet_type pt; - struct completion comp; - int double_vlan; - int vlan_id; - int ok; -}; - -struct netconfmsg { - __u8 ncm_family; -}; - -struct netdev_adjacent { - struct net_device *dev; - netdevice_tracker dev_tracker; - bool master; - bool ignore; - u16 ref_nr; - void *private; - struct list_head list; - struct callback_head rcu; -}; - -struct netdev_bonding_info { - ifslave slave; - ifbond master; -}; - -struct xsk_buff_pool; - -struct netdev_bpf { - enum bpf_netdev_command command; - union { - struct { - u32 flags; - struct bpf_prog *prog; - struct netlink_ext_ack *extack; - }; - struct { - struct bpf_offloaded_map *offmap; - }; - struct { - struct xsk_buff_pool *pool; - u16 queue_id; - } xsk; - }; -}; - -struct netdev_config { - u32 hds_thresh; - u8 hds_config; -}; - -struct netdev_fcoe_hbainfo { - char manufacturer[64]; - char serial_number[64]; - char hardware_version[64]; - char driver_version[64]; - char optionrom_version[64]; - char firmware_version[64]; - char model[256]; - char model_description[256]; -}; - -struct netdev_hw_addr { - struct list_head list; - struct rb_node node; - unsigned char addr[32]; - unsigned char type; - bool global_use; - int sync_cnt; - int refcount; - int synced; - struct callback_head callback_head; -}; - -struct netdev_lag_lower_state_info { - u8 link_up: 1; - u8 tx_enabled: 1; -}; - -struct netdev_lag_upper_info { - enum netdev_lag_tx_type tx_type; - enum netdev_lag_hash hash_type; -}; - -struct netdev_name_node { - struct hlist_node hlist; - struct list_head list; - struct net_device *dev; - const char *name; - struct callback_head rcu; -}; - -struct netdev_nested_priv { - unsigned char flags; - void *data; -}; - -struct netdev_net_notifier { - struct list_head list; - struct notifier_block *nb; -}; - -struct netdev_nl_dump_ctx { - long unsigned int ifindex; - unsigned int rxq_idx; - unsigned int txq_idx; - unsigned int napi_id; -}; - -struct netdev_nl_sock { - struct mutex lock; - struct list_head bindings; -}; - -struct netdev_notifier_info { - struct net_device *dev; - struct netlink_ext_ack *extack; -}; - -struct netdev_notifier_bonding_info { - struct netdev_notifier_info info; - struct netdev_bonding_info bonding_info; -}; - -struct netdev_notifier_change_info { - struct netdev_notifier_info info; - unsigned int flags_changed; -}; - -struct netdev_notifier_changelowerstate_info { - struct netdev_notifier_info info; - void *lower_state_info; -}; - -struct netdev_notifier_changeupper_info { - struct netdev_notifier_info info; - struct net_device *upper_dev; - bool master; - bool linking; - void *upper_info; -}; - -struct netdev_notifier_info_ext { - struct netdev_notifier_info info; - union { - u32 mtu; - } ext; -}; - -struct netdev_notifier_offload_xstats_rd; - -struct netdev_notifier_offload_xstats_ru; - -struct netdev_notifier_offload_xstats_info { - struct netdev_notifier_info info; - enum netdev_offload_xstats_type type; - union { - struct netdev_notifier_offload_xstats_rd *report_delta; - struct netdev_notifier_offload_xstats_ru *report_used; - }; -}; - -struct rtnl_hw_stats64 { - __u64 rx_packets; - __u64 tx_packets; - __u64 rx_bytes; - __u64 tx_bytes; - __u64 rx_errors; - __u64 tx_errors; - __u64 rx_dropped; - __u64 tx_dropped; - __u64 multicast; -}; - -struct netdev_notifier_offload_xstats_rd { - struct rtnl_hw_stats64 stats; - bool used; -}; - -struct netdev_notifier_offload_xstats_ru { - bool used; -}; - -struct netdev_notifier_pre_changeaddr_info { - struct netdev_notifier_info info; - const unsigned char *dev_addr; -}; - -struct netdev_queue { - struct net_device *dev; - netdevice_tracker dev_tracker; - struct Qdisc *qdisc; - struct Qdisc *qdisc_sleeping; - struct kobject kobj; - const struct attribute_group **groups; - long unsigned int tx_maxrate; - atomic_long_t trans_timeout; - struct net_device *sb_dev; - struct xsk_buff_pool *pool; - struct dql dql; - spinlock_t _xmit_lock; - int xmit_lock_owner; - long unsigned int trans_start; - long unsigned int state; - struct napi_struct *napi; - int numa_node; - long: 64; - long: 64; - long: 64; -}; - -struct netdev_queue_attribute { - struct attribute attr; - ssize_t (*show)(struct kobject *, struct attribute *, struct netdev_queue *, char *); - ssize_t (*store)(struct kobject *, struct attribute *, struct netdev_queue *, const char *, size_t); -}; - -struct netdev_queue_mgmt_ops { - size_t ndo_queue_mem_size; - int (*ndo_queue_mem_alloc)(struct net_device *, void *, int); - void (*ndo_queue_mem_free)(struct net_device *, void *); - int (*ndo_queue_start)(struct net_device *, void *, int); - int (*ndo_queue_stop)(struct net_device *, void *, int); -}; - -struct netdev_queue_stats_rx { - u64 bytes; - u64 packets; - u64 alloc_fail; - u64 hw_drops; - u64 hw_drop_overruns; - u64 csum_complete; - u64 csum_unnecessary; - u64 csum_none; - u64 csum_bad; - u64 hw_gro_packets; - u64 hw_gro_bytes; - u64 hw_gro_wire_packets; - u64 hw_gro_wire_bytes; - u64 hw_drop_ratelimits; -}; - -struct netdev_queue_stats_tx { - u64 bytes; - u64 packets; - u64 hw_drops; - u64 hw_drop_errors; - u64 csum_none; - u64 needs_csum; - u64 hw_gso_packets; - u64 hw_gso_bytes; - u64 hw_gso_wire_packets; - u64 hw_gso_wire_bytes; - u64 hw_drop_ratelimits; - u64 stop; - u64 wake; -}; - -struct xdp_mem_info { - u32 type; - u32 id; -}; - -struct xdp_rxq_info { - struct net_device *dev; - u32 queue_index; - u32 reg_state; - struct xdp_mem_info mem; - u32 frag_size; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct pp_memory_provider_params { - void *mp_priv; - const struct memory_provider_ops *mp_ops; -}; - -struct rps_map; - -struct rps_dev_flow_table; - -struct netdev_rx_queue { - struct xdp_rxq_info xdp_rxq; - struct rps_map *rps_map; - struct rps_dev_flow_table *rps_flow_table; - struct kobject kobj; - const struct attribute_group **groups; - struct net_device *dev; - netdevice_tracker dev_tracker; - struct xsk_buff_pool *pool; - struct napi_struct *napi; - struct pp_memory_provider_params mp_params; -}; - -struct netdev_stat_ops { - void (*get_queue_stats_rx)(struct net_device *, int, struct netdev_queue_stats_rx *); - void (*get_queue_stats_tx)(struct net_device *, int, struct netdev_queue_stats_tx *); - void (*get_base_stats)(struct net_device *, struct netdev_queue_stats_rx *, struct netdev_queue_stats_tx *); -}; - -struct netdev_xmit { - u16 recursion; - u8 more; - u8 skip_txqueue; - u8 sched_mirred_nest; - u8 nf_dup_skb_recursion; -}; - -struct netevent_redirect { - struct dst_entry *old; - struct dst_entry *new; - struct neighbour *neigh; - const void *daddr; -}; - -struct netfront_cb { - int pull_to; -}; - -struct netfront_queue; - -struct netfront_stats; - -struct netfront_info { - struct list_head list; - struct net_device *netdev; - struct xenbus_device *xbdev; - struct netfront_queue *queues; - struct netfront_stats *rx_stats; - struct netfront_stats *tx_stats; - bool netback_has_xdp_headroom; - bool netfront_xdp_enabled; - bool broken; - bool bounce; - atomic_t rx_gso_checksum_fixup; -}; - -struct xen_netif_tx_sring; - -struct xen_netif_tx_front_ring { - RING_IDX req_prod_pvt; - RING_IDX rsp_cons; - unsigned int nr_ents; - struct xen_netif_tx_sring *sring; -}; - -struct xen_netif_rx_sring; - -struct xen_netif_rx_front_ring { - RING_IDX req_prod_pvt; - RING_IDX rsp_cons; - unsigned int nr_ents; - struct xen_netif_rx_sring *sring; -}; - -struct netfront_queue { - unsigned int id; - char name[22]; - struct netfront_info *info; - struct bpf_prog *xdp_prog; - struct napi_struct napi; - unsigned int tx_evtchn; - unsigned int rx_evtchn; - unsigned int tx_irq; - unsigned int rx_irq; - char tx_irq_name[25]; - char rx_irq_name[25]; - spinlock_t tx_lock; - struct xen_netif_tx_front_ring tx; - int tx_ring_ref; - struct sk_buff *tx_skbs[256]; - short unsigned int tx_link[256]; - grant_ref_t gref_tx_head; - grant_ref_t grant_tx_ref[256]; - struct page *grant_tx_page[256]; - unsigned int tx_skb_freelist; - unsigned int tx_pend_queue; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - spinlock_t rx_lock; - struct xen_netif_rx_front_ring rx; - int rx_ring_ref; - struct timer_list rx_refill_timer; - struct sk_buff *rx_skbs[256]; - grant_ref_t gref_rx_head; - grant_ref_t grant_rx_ref[256]; - unsigned int rx_rsp_unconsumed; - spinlock_t rx_cons_lock; - struct page_pool *page_pool; - long: 64; - long: 64; - long: 64; - struct xdp_rxq_info xdp_rxq; -}; - -struct xen_netif_rx_response { - uint16_t id; - uint16_t offset; - uint16_t flags; - int16_t status; -}; - -struct xen_netif_extra_info { - uint8_t type; - uint8_t flags; - union { - struct { - uint16_t size; - uint8_t type; - uint8_t pad; - uint16_t features; - } gso; - struct { - uint8_t addr[6]; - } mcast; - struct { - uint8_t type; - uint8_t algorithm; - uint8_t value[4]; - } hash; - struct { - uint16_t headroom; - uint16_t pad[2]; - } xdp; - uint16_t pad[3]; - } u; -}; - -struct netfront_rx_info { - struct xen_netif_rx_response rx; - struct xen_netif_extra_info extras[5]; -}; - -struct netfront_stats { - u64 packets; - u64 bytes; - struct u64_stats_sync syncp; -}; - -struct netif_security_struct { - const struct net *ns; - int ifindex; - u32 sid; -}; - -struct netkit { - struct net_device *peer; - struct bpf_mprog_entry *active; - enum netkit_action policy; - enum netkit_scrub scrub; - struct bpf_mprog_bundle bundle; - enum netkit_mode mode; - bool primary; - u32 headroom; -}; - -struct netkit_link { - struct bpf_link link; - struct net_device *dev; -}; - -struct netlbl_af4list { - __be32 addr; - __be32 mask; - u32 valid; - struct list_head list; -}; - -struct netlbl_af6list { - struct in6_addr addr; - struct in6_addr mask; - u32 valid; - struct list_head list; -}; - -struct netlbl_audit { - struct lsm_prop prop; - kuid_t loginuid; - unsigned int sessionid; -}; - -struct netlbl_calipso_doiwalk_arg { - struct netlink_callback *nl_cb; - struct sk_buff *skb; - u32 seq; -}; - -struct netlbl_lsm_secattr; - -struct netlbl_calipso_ops { - int (*doi_add)(struct calipso_doi *, struct netlbl_audit *); - void (*doi_free)(struct calipso_doi *); - int (*doi_remove)(u32, struct netlbl_audit *); - struct calipso_doi * (*doi_getdef)(u32); - void (*doi_putdef)(struct calipso_doi *); - int (*doi_walk)(u32 *, int (*)(struct calipso_doi *, void *), void *); - int (*sock_getattr)(struct sock *, struct netlbl_lsm_secattr *); - int (*sock_setattr)(struct sock *, const struct calipso_doi *, const struct netlbl_lsm_secattr *); - void (*sock_delattr)(struct sock *); - int (*req_setattr)(struct request_sock *, const struct calipso_doi *, const struct netlbl_lsm_secattr *); - void (*req_delattr)(struct request_sock *); - int (*opt_getattr)(const unsigned char *, struct netlbl_lsm_secattr *); - unsigned char * (*skbuff_optptr)(const struct sk_buff *); - int (*skbuff_setattr)(struct sk_buff *, const struct calipso_doi *, const struct netlbl_lsm_secattr *); - int (*skbuff_delattr)(struct sk_buff *); - void (*cache_invalidate)(void); - int (*cache_add)(const unsigned char *, const struct netlbl_lsm_secattr *); -}; - -struct netlbl_cipsov4_doiwalk_arg { - struct netlink_callback *nl_cb; - struct sk_buff *skb; - u32 seq; -}; - -struct netlbl_domaddr_map; - -struct netlbl_dommap_def { - u32 type; - union { - struct netlbl_domaddr_map *addrsel; - struct cipso_v4_doi *cipso; - struct calipso_doi *calipso; - }; -}; - -struct netlbl_dom_map { - char *domain; - struct netlbl_dommap_def def; - u16 family; - u32 valid; - struct list_head list; - struct callback_head rcu; -}; - -struct netlbl_domaddr4_map { - struct netlbl_dommap_def def; - struct netlbl_af4list list; -}; - -struct netlbl_domaddr6_map { - struct netlbl_dommap_def def; - struct netlbl_af6list list; -}; - -struct netlbl_domaddr_map { - struct list_head list4; - struct list_head list6; -}; - -struct netlbl_domhsh_tbl { - struct list_head *tbl; - u32 size; -}; - -struct netlbl_domhsh_walk_arg { - struct netlink_callback *nl_cb; - struct sk_buff *skb; - u32 seq; -}; - -struct netlbl_domhsh_walk_arg___2 { - struct netlbl_audit *audit_info; - u32 doi; -}; - -struct netlbl_lsm_cache { - refcount_t refcount; - void (*free)(const void *); - void *data; -}; - -struct netlbl_lsm_catmap { - u32 startbit; - u64 bitmap[4]; - struct netlbl_lsm_catmap *next; -}; - -struct netlbl_lsm_secattr { - u32 flags; - u32 type; - char *domain; - struct netlbl_lsm_cache *cache; - struct { - struct { - struct netlbl_lsm_catmap *cat; - u32 lvl; - } mls; - u32 secid; - } attr; -}; - -struct netlbl_unlhsh_addr4 { - u32 secid; - struct netlbl_af4list list; - struct callback_head rcu; -}; - -struct netlbl_unlhsh_addr6 { - u32 secid; - struct netlbl_af6list list; - struct callback_head rcu; -}; - -struct netlbl_unlhsh_iface { - int ifindex; - struct list_head addr4_list; - struct list_head addr6_list; - u32 valid; - struct list_head list; - struct callback_head rcu; -}; - -struct netlbl_unlhsh_tbl { - struct list_head *tbl; - u32 size; -}; - -struct netlbl_unlhsh_walk_arg { - struct netlink_callback *nl_cb; - struct sk_buff *skb; - u32 seq; -}; - -struct netlink_broadcast_data { - struct sock *exclude_sk; - struct net *net; - u32 portid; - u32 group; - int failure; - int delivery_failure; - int congested; - int delivered; - gfp_t allocation; - struct sk_buff *skb; - struct sk_buff *skb2; - int (*tx_filter)(struct sock *, struct sk_buff *, void *); - void *tx_data; -}; - -struct netlink_callback { - struct sk_buff *skb; - const struct nlmsghdr *nlh; - int (*dump)(struct sk_buff *, struct netlink_callback *); - int (*done)(struct netlink_callback *); - void *data; - struct module *module; - struct netlink_ext_ack *extack; - u16 family; - u16 answer_flags; - u32 min_dump_alloc; - unsigned int prev_seq; - unsigned int seq; - int flags; - bool strict_check; - union { - u8 ctx[48]; - long int args[6]; - }; -}; - -struct netlink_compare_arg { - possible_net_t pnet; - u32 portid; -}; - -struct netlink_dump_control { - int (*start)(struct netlink_callback *); - int (*dump)(struct sk_buff *, struct netlink_callback *); - int (*done)(struct netlink_callback *); - struct netlink_ext_ack *extack; - void *data; - struct module *module; - u32 min_dump_alloc; - int flags; -}; - -struct netlink_ext_ack { - const char *_msg; - const struct nlattr *bad_attr; - const struct nla_policy *policy; - const struct nlattr *miss_nest; - u16 miss_type; - u8 cookie[8]; - u8 cookie_len; - char _msg_buf[80]; -}; - -struct netlink_kernel_cfg { - unsigned int groups; - unsigned int flags; - void (*input)(struct sk_buff *); - int (*bind)(struct net *, int); - void (*unbind)(struct net *, int); - void (*release)(struct sock *, long unsigned int *); -}; - -struct netlink_notify { - struct net *net; - u32 portid; - int protocol; -}; - -struct netlink_policy_dump_state { - unsigned int policy_idx; - unsigned int attr_idx; - unsigned int n_alloc; - struct { - const struct nla_policy *policy; - unsigned int maxtype; - } policies[0]; -}; - -struct netlink_range_validation { - u64 min; - u64 max; -}; - -struct netlink_range_validation_signed { - s64 min; - s64 max; -}; - -struct netlink_set_err_data { - struct sock *exclude_sk; - u32 portid; - u32 group; - int code; -}; - -struct scm_creds { - u32 pid; - kuid_t uid; - kgid_t gid; -}; - -struct netlink_skb_parms { - struct scm_creds creds; - __u32 portid; - __u32 dst_group; - __u32 flags; - struct sock *sk; - bool nsid_is_set; - int nsid; -}; - -struct netlink_sock { - struct sock sk; - long unsigned int flags; - u32 portid; - u32 dst_portid; - u32 dst_group; - u32 subscriptions; - u32 ngroups; - long unsigned int *groups; - long unsigned int state; - size_t max_recvmsg_len; - wait_queue_head_t wait; - bool bound; - bool cb_running; - int dump_done_errno; - struct netlink_callback cb; - struct mutex nl_cb_mutex; - void (*netlink_rcv)(struct sk_buff *); - int (*netlink_bind)(struct net *, int); - void (*netlink_unbind)(struct net *, int); - void (*netlink_release)(struct sock *, long unsigned int *); - struct module *module; - struct rhash_head node; - struct callback_head rcu; -}; - -struct netlink_table { - struct rhashtable hash; - struct hlist_head mc_list; - struct listeners *listeners; - unsigned int flags; - unsigned int groups; - struct mutex *cb_mutex; - struct module *module; - int (*bind)(struct net *, int); - void (*unbind)(struct net *, int); - void (*release)(struct sock *, long unsigned int *); - int registered; -}; - -struct netlink_tap { - struct net_device *dev; - struct module *module; - struct list_head list; -}; - -struct netlink_tap_net { - struct list_head netlink_tap_all; - struct mutex netlink_tap_lock; -}; - -struct netnode_security_struct { - union { - __be32 ipv4; - struct in6_addr ipv6; - } addr; - u32 sid; - u16 family; -}; - -struct netpoll { - struct net_device *dev; - netdevice_tracker dev_tracker; - char dev_name[16]; - u8 dev_mac[6]; - const char *name; - union inet_addr local_ip; - union inet_addr remote_ip; - bool ipv6; - u16 local_port; - u16 remote_port; - u8 remote_mac[6]; - struct sk_buff_head skb_pool; - struct work_struct refill_wq; -}; - -struct netpoll_info { - refcount_t refcnt; - struct semaphore dev_lock; - struct sk_buff_head txq; - struct delayed_work tx_work; - struct netpoll *netpoll; - struct callback_head rcu; -}; - -struct netport_security_struct { - u32 sid; - u16 port; - u8 protocol; -}; - -struct netprio_map { - struct callback_head rcu; - u32 priomap_len; - u32 priomap[0]; -}; - -struct netsfhdr { - __be32 version; - __be64 magic; - u8 id; -} __attribute__((packed)); - -struct new_asid { - unsigned int asid: 16; - unsigned int need_flush: 1; -}; - -struct new_utsname { - char sysname[65]; - char nodename[65]; - char release[65]; - char version[65]; - char machine[65]; - char domainname[65]; -}; - -struct nh_info; - -struct nh_group; - -struct nexthop { - struct rb_node rb_node; - struct list_head fi_list; - struct list_head f6i_list; - struct list_head fdb_list; - struct list_head grp_list; - struct net *net; - u32 id; - u8 protocol; - u8 nh_flags; - bool is_group; - bool dead; - spinlock_t lock; - refcount_t refcnt; - struct callback_head rcu; - union { - struct nh_info *nh_info; - struct nh_group *nh_grp; - }; -}; - -struct nexthop_grp { - __u32 id; - __u8 weight; - __u8 weight_high; - __u16 resvd2; -}; - -struct nf_bridge_info { - enum { - BRNF_PROTO_UNCHANGED = 0, - BRNF_PROTO_8021Q = 1, - BRNF_PROTO_PPPOE = 2, - } orig_proto: 8; - u8 pkt_otherhost: 1; - u8 in_prerouting: 1; - u8 bridged_dnat: 1; - u8 sabotage_in_done: 1; - __u16 frag_max_size; - int physinif; - struct net_device *physoutdev; - union { - __be32 ipv4_daddr; - struct in6_addr ipv6_daddr; - char neigh_header[8]; - }; -}; - -struct nf_conntrack { - refcount_t use; -}; - -struct nf_conntrack_zone { - u16 id; - u8 flags; - u8 dir; -}; - -union nf_inet_addr { - __u32 all[4]; - __be32 ip; - __be32 ip6[4]; - struct in_addr in; - struct in6_addr in6; -}; - -union nf_conntrack_man_proto { - __be16 all; - struct { - __be16 port; - } tcp; - struct { - __be16 port; - } udp; - struct { - __be16 id; - } icmp; - struct { - __be16 port; - } dccp; - struct { - __be16 port; - } sctp; - struct { - __be16 key; - } gre; -}; - -struct nf_conntrack_man { - union nf_inet_addr u3; - union nf_conntrack_man_proto u; - u_int16_t l3num; -}; - -struct nf_conntrack_tuple { - struct nf_conntrack_man src; - struct { - union nf_inet_addr u3; - union { - __be16 all; - struct { - __be16 port; - } tcp; - struct { - __be16 port; - } udp; - struct { - u_int8_t type; - u_int8_t code; - } icmp; - struct { - __be16 port; - } dccp; - struct { - __be16 port; - } sctp; - struct { - __be16 key; - } gre; - } u; - u_int8_t protonum; - struct {} __nfct_hash_offsetend; - u_int8_t dir; - } dst; -}; - -struct nf_conntrack_tuple_hash { - struct hlist_nulls_node hnnode; - struct nf_conntrack_tuple tuple; -}; - -struct nf_ct_udp { - long unsigned int stream_ts; -}; - -struct nf_ct_gre { - unsigned int stream_timeout; - unsigned int timeout; -}; - -union nf_conntrack_proto { - struct ip_ct_sctp sctp; - struct ip_ct_tcp tcp; - struct nf_ct_udp udp; - struct nf_ct_gre gre; - unsigned int tmpl_padto; -}; - -struct nf_ct_ext; - -struct nf_conn { - struct nf_conntrack ct_general; - spinlock_t lock; - u32 timeout; - struct nf_conntrack_zone zone; - struct nf_conntrack_tuple_hash tuplehash[2]; - long unsigned int status; - possible_net_t ct_net; - struct hlist_node nat_bysource; - struct {} __nfct_init_offset; - struct nf_conn *master; - u_int32_t mark; - u_int32_t secmark; - struct nf_ct_ext *ext; - union nf_conntrack_proto proto; -}; - -struct nf_conn___init { - struct nf_conn ct; -}; - -struct nf_conn_labels { - long unsigned int bits[2]; -}; - -struct nf_conntrack_tuple_mask { - struct { - union nf_inet_addr u3; - union nf_conntrack_man_proto u; - } src; -}; - -struct nf_conntrack_helper; - -struct nf_conntrack_expect { - struct hlist_node lnode; - struct hlist_node hnode; - struct nf_conntrack_tuple tuple; - struct nf_conntrack_tuple_mask mask; - refcount_t use; - unsigned int flags; - unsigned int class; - void (*expectfn)(struct nf_conn *, struct nf_conntrack_expect *); - struct nf_conntrack_helper *helper; - struct nf_conn *master; - struct timer_list timeout; - union nf_inet_addr saved_addr; - union nf_conntrack_man_proto saved_proto; - enum ip_conntrack_dir dir; - struct callback_head rcu; -}; - -struct nf_ct_event { - struct nf_conn *ct; - u32 portid; - int report; -}; - -struct nf_exp_event; - -struct nf_ct_event_notifier { - int (*ct_event)(unsigned int, const struct nf_ct_event *); - int (*exp_event)(unsigned int, const struct nf_exp_event *); -}; - -struct nf_ct_ext { - u8 offset[10]; - u8 len; - unsigned int gen_id; - char data[0]; -}; - -struct nf_ct_hook { - int (*update)(struct net *, struct sk_buff *); - void (*destroy)(struct nf_conntrack *); - bool (*get_tuple_skb)(struct nf_conntrack_tuple *, const struct sk_buff *); - void (*attach)(struct sk_buff *, const struct sk_buff *); - void (*set_closing)(struct nf_conntrack *); - int (*confirm)(struct sk_buff *); - u32 (*get_id)(const struct nf_conntrack *); -}; - -struct nf_defrag_hook { - struct module *owner; - int (*enable)(struct net *); - void (*disable)(struct net *); -}; - -struct nf_exp_event { - struct nf_conntrack_expect *exp; - u32 portid; - int report; -}; - -struct nf_flow_table_stat { - unsigned int count_wq_add; - unsigned int count_wq_del; - unsigned int count_wq_stats; -}; - -struct nf_hook_entry { - nf_hookfn *hook; - void *priv; -}; - -struct nf_hook_entries { - u16 num_hook_entries; - struct nf_hook_entry hooks[0]; -}; - -struct nf_hook_entries_rcu_head { - struct callback_head head; - void *allocation; -}; - -struct nf_hook_state { - u8 hook; - u8 pf; - struct net_device *in; - struct net_device *out; - struct sock *sk; - struct net *net; - int (*okfn)(struct net *, struct sock *, struct sk_buff *); -}; - -struct nf_queue_entry; - -struct nf_ipv6_ops { - void (*route_input)(struct sk_buff *); - int (*fragment)(struct net *, struct sock *, struct sk_buff *, int (*)(struct net *, struct sock *, struct sk_buff *)); - int (*reroute)(struct sk_buff *, const struct nf_queue_entry *); -}; - -struct nf_log_buf { - unsigned int count; - char buf[1020]; -}; - -struct nf_loginfo; - -typedef void nf_logfn(struct net *, u_int8_t, unsigned int, const struct sk_buff *, const struct net_device *, const struct net_device *, const struct nf_loginfo *, const char *); - -struct nf_logger { - char *name; - enum nf_log_type type; - nf_logfn *logfn; - struct module *me; -}; - -struct nf_loginfo { - u_int8_t type; - union { - struct { - u_int32_t copy_len; - u_int16_t group; - u_int16_t qthreshold; - u_int16_t flags; - } ulog; - struct { - u_int8_t level; - u_int8_t logflags; - } log; - } u; -}; - -struct nf_nat_hook { - int (*parse_nat_setup)(struct nf_conn *, enum nf_nat_manip_type, const struct nlattr *); - void (*decode_session)(struct sk_buff *, struct flowi *); - void (*remove_nat_bysrc)(struct nf_conn *); -}; - -struct nf_queue_entry { - struct list_head list; - struct sk_buff *skb; - unsigned int id; - unsigned int hook_index; - struct net_device *physin; - struct net_device *physout; - struct nf_hook_state state; - u16 size; -}; - -struct nf_queue_handler { - int (*outfn)(struct nf_queue_entry *, unsigned int); - void (*nf_hook_drop)(struct net *); -}; - -struct nf_sockopt_ops { - struct list_head list; - u_int8_t pf; - int set_optmin; - int set_optmax; - int (*set)(struct sock *, int, sockptr_t, unsigned int); - int get_optmin; - int get_optmax; - int (*get)(struct sock *, int, void *, int *); - struct module *owner; -}; - -struct nfnl_ct_hook { - size_t (*build_size)(const struct nf_conn *); - int (*build)(struct sk_buff *, struct nf_conn *, enum ip_conntrack_info, u_int16_t, u_int16_t); - int (*parse)(const struct nlattr *, struct nf_conn *); - int (*attach_expect)(const struct nlattr *, struct nf_conn *, u32, u32); - void (*seq_adjust)(struct sk_buff *, struct nf_conn *, enum ip_conntrack_info, s32); -}; - -struct nfstime4 { - int64_t seconds; - uint32_t nseconds; -}; - -struct nfs41_impl_id { - char domain[1025]; - char name[1025]; - struct nfstime4 date; -}; - -struct nfs41_server_owner { - uint64_t minor_id; - uint32_t major_id_sz; - char major_id[1024]; -}; - -struct nfs41_server_scope { - uint32_t server_scope_sz; - char server_scope[1024]; -}; - -struct nfs4_change_info { - u32 atomic; - u64 before; - u64 after; -}; - -struct nfs4_string { - unsigned int len; - char *data; -}; - -struct nfs4_pathname { - unsigned int ncomponents; - struct nfs4_string components[512]; -}; - -struct nfs4_fs_location { - unsigned int nservers; - struct nfs4_string servers[10]; - struct nfs4_pathname rootpath; -}; - -struct nfs_fattr; - -struct nfs_server; - -struct nfs4_fs_locations { - struct nfs_fattr *fattr; - const struct nfs_server *server; - struct nfs4_pathname fs_path; - int nlocations; - struct nfs4_fs_location locations[10]; -}; - -struct nfs4_label { - uint32_t lfs; - uint32_t pi; - u32 lsmid; - u32 len; - char *label; -}; - -struct rpc_timer { - struct list_head list; - long unsigned int expires; - struct delayed_work dwork; -}; - -struct rpc_wait_queue { - spinlock_t lock; - struct list_head tasks[4]; - unsigned char maxpriority; - unsigned char priority; - unsigned char nr; - unsigned int qlen; - struct rpc_timer timer_list; - const char *name; -}; - -struct nfs_seqid_counter { - ktime_t create_time; - u64 owner_id; - int flags; - u32 counter; - spinlock_t lock; - struct list_head list; - struct rpc_wait_queue wait; -}; - -struct nfs4_stateid_struct { - union { - char data[16]; - struct { - __be32 seqid; - char other[12]; - }; - }; - enum { - NFS4_INVALID_STATEID_TYPE = 0, - NFS4_SPECIAL_STATEID_TYPE = 1, - NFS4_OPEN_STATEID_TYPE = 2, - NFS4_LOCK_STATEID_TYPE = 3, - NFS4_DELEGATION_STATEID_TYPE = 4, - NFS4_LAYOUT_STATEID_TYPE = 5, - NFS4_PNFS_DS_STATEID_TYPE = 6, - NFS4_REVOKED_STATEID_TYPE = 7, - NFS4_FREED_STATEID_TYPE = 8, - } type; -}; - -typedef struct nfs4_stateid_struct nfs4_stateid; - -struct nfs4_state; - -struct nfs4_lock_state { - struct list_head ls_locks; - struct nfs4_state *ls_state; - long unsigned int ls_flags; - struct nfs_seqid_counter ls_seqid; - nfs4_stateid ls_stateid; - refcount_t ls_count; - fl_owner_t ls_owner; -}; - -struct nfs_fh; - -struct nfs4_mig_recovery_ops { - int (*get_locations)(struct nfs_server *, struct nfs_fh *, struct nfs4_fs_locations *, struct page *, const struct cred *); - int (*fsid_present)(struct inode *, const struct cred *); -}; - -struct nfs_client; - -struct nfs_seqid; - -struct rpc_clnt; - -struct rpc_xprt; - -struct rpc_call_ops; - -struct nfs4_state_recovery_ops; - -struct nfs4_state_maintenance_ops; - -struct nfs4_minor_version_ops { - u32 minor_version; - unsigned int init_caps; - int (*init_client)(struct nfs_client *); - void (*shutdown_client)(struct nfs_client *); - bool (*match_stateid)(const nfs4_stateid *, const nfs4_stateid *); - int (*find_root_sec)(struct nfs_server *, struct nfs_fh *, struct nfs_fattr *); - void (*free_lock_state)(struct nfs_server *, struct nfs4_lock_state *); - int (*test_and_free_expired)(struct nfs_server *, nfs4_stateid *, const struct cred *); - struct nfs_seqid * (*alloc_seqid)(struct nfs_seqid_counter *, gfp_t); - void (*session_trunk)(struct rpc_clnt *, struct rpc_xprt *, void *); - const struct rpc_call_ops *call_sync_ops; - const struct nfs4_state_recovery_ops *reboot_recovery_ops; - const struct nfs4_state_recovery_ops *nograce_recovery_ops; - const struct nfs4_state_maintenance_ops *state_renewal_ops; - const struct nfs4_mig_recovery_ops *mig_recovery_ops; -}; - -struct nfs4_slot; - -struct nfs4_sequence_args { - struct nfs4_slot *sa_slot; - u8 sa_cache_this: 1; - u8 sa_privileged: 1; -}; - -struct nfs4_sequence_res { - struct nfs4_slot *sr_slot; - long unsigned int sr_timestamp; - int sr_status; - u32 sr_status_flags; - u32 sr_highest_slotid; - u32 sr_target_highest_slotid; -}; - -struct nfs4_ssc_client_ops { - struct file * (*sco_open)(struct vfsmount *, struct nfs_fh *, nfs4_stateid *); - void (*sco_close)(struct file *); -}; - -struct nfs4_state_owner; - -struct nfs4_state { - struct list_head open_states; - struct list_head inode_states; - struct list_head lock_states; - struct nfs4_state_owner *owner; - struct inode *inode; - long unsigned int flags; - spinlock_t state_lock; - seqlock_t seqlock; - nfs4_stateid stateid; - nfs4_stateid open_stateid; - unsigned int n_rdonly; - unsigned int n_wronly; - unsigned int n_rdwr; - fmode_t state; - refcount_t count; - wait_queue_head_t waitq; - struct callback_head callback_head; -}; - -struct nfs4_state_maintenance_ops { - int (*sched_state_renewal)(struct nfs_client *, const struct cred *, unsigned int); - const struct cred * (*get_state_renewal_cred)(struct nfs_client *); - int (*renew_lease)(struct nfs_client *, const struct cred *); -}; - -struct nfs4_state_owner { - struct nfs_server *so_server; - struct list_head so_lru; - long unsigned int so_expires; - struct rb_node so_server_node; - const struct cred *so_cred; - spinlock_t so_lock; - atomic_t so_count; - long unsigned int so_flags; - struct list_head so_states; - struct nfs_seqid_counter so_seqid; - struct mutex so_delegreturn_mutex; -}; - -struct nfs4_state_recovery_ops { - int owner_flag_bit; - int state_flag_bit; - int (*recover_open)(struct nfs4_state_owner *, struct nfs4_state *); - int (*recover_lock)(struct nfs4_state *, struct file_lock *); - int (*establish_clid)(struct nfs_client *, const struct cred *); - int (*reclaim_complete)(struct nfs_client *, const struct cred *); - int (*detect_trunking)(struct nfs_client *, struct nfs_client **, const struct cred *); -}; - -struct nfs4_threshold { - __u32 bm; - __u32 l_type; - __u64 rd_sz; - __u64 wr_sz; - __u64 rd_io_sz; - __u64 wr_io_sz; -}; - -struct nfs_access_entry { - struct rb_node rb_node; - struct list_head lru; - kuid_t fsuid; - kgid_t fsgid; - struct group_info *group_info; - u64 timestamp; - __u32 mask; - struct callback_head callback_head; -}; - -struct nfs_auth_info { - unsigned int flavor_len; - rpc_authflavor_t flavors[12]; -}; - -struct nfs_subversion; - -struct xprtsec_parms { - enum xprtsec_policies policy; - key_serial_t cert_serial; - key_serial_t privkey_serial; -}; - -struct idmap; - -struct nfs4_slot_table; - -struct nfs4_session; - -struct nfs_rpc_ops; - -struct nfs_client { - refcount_t cl_count; - atomic_t cl_mds_count; - int cl_cons_state; - long unsigned int cl_res_state; - long unsigned int cl_flags; - struct __kernel_sockaddr_storage cl_addr; - size_t cl_addrlen; - char *cl_hostname; - char *cl_acceptor; - struct list_head cl_share_link; - struct list_head cl_superblocks; - struct rpc_clnt *cl_rpcclient; - const struct nfs_rpc_ops *rpc_ops; - int cl_proto; - struct nfs_subversion *cl_nfs_mod; - u32 cl_minorversion; - unsigned int cl_nconnect; - unsigned int cl_max_connect; - const char *cl_principal; - struct xprtsec_parms cl_xprtsec; - struct list_head cl_ds_clients; - u64 cl_clientid; - nfs4_verifier cl_confirm; - long unsigned int cl_state; - spinlock_t cl_lock; - long unsigned int cl_lease_time; - long unsigned int cl_last_renewal; - struct delayed_work cl_renewd; - struct rpc_wait_queue cl_rpcwaitq; - struct idmap *cl_idmap; - const char *cl_owner_id; - u32 cl_cb_ident; - const struct nfs4_minor_version_ops *cl_mvops; - long unsigned int cl_mig_gen; - struct nfs4_slot_table *cl_slot_tbl; - u32 cl_seqid; - u32 cl_exchange_flags; - struct nfs4_session *cl_session; - bool cl_preserve_clid; - struct nfs41_server_owner *cl_serverowner; - struct nfs41_server_scope *cl_serverscope; - struct nfs41_impl_id *cl_implid; - long unsigned int cl_sp4_flags; - wait_queue_head_t cl_lock_waitq; - char cl_ipaddr[48]; - struct net *cl_net; - netns_tracker cl_ns_tracker; - struct list_head pending_cb_stateids; - struct callback_head rcu; -}; - -struct nfs_page; - -struct nfs_commit_data; - -struct nfs_commit_info; - -struct nfs_commit_completion_ops { - void (*completion)(struct nfs_commit_data *); - void (*resched_write)(struct nfs_commit_info *, struct nfs_page *); -}; - -struct rpc_wait { - struct list_head list; - struct list_head links; - struct list_head timer_list; -}; - -struct rpc_procinfo; - -struct rpc_message { - const struct rpc_procinfo *rpc_proc; - void *rpc_argp; - void *rpc_resp; - const struct cred *rpc_cred; -}; - -struct rpc_cred; - -struct rpc_rqst; - -struct rpc_task { - atomic_t tk_count; - int tk_status; - struct list_head tk_task; - void (*tk_callback)(struct rpc_task *); - void (*tk_action)(struct rpc_task *); - long unsigned int tk_timeout; - long unsigned int tk_runstate; - struct rpc_wait_queue *tk_waitqueue; - union { - struct work_struct tk_work; - struct rpc_wait tk_wait; - } u; - struct rpc_message tk_msg; - void *tk_calldata; - const struct rpc_call_ops *tk_ops; - struct rpc_clnt *tk_client; - struct rpc_xprt *tk_xprt; - struct rpc_cred *tk_op_cred; - struct rpc_rqst *tk_rqstp; - struct workqueue_struct *tk_workqueue; - ktime_t tk_start; - pid_t tk_owner; - int tk_rpc_status; - short unsigned int tk_flags; - short unsigned int tk_timeouts; - short unsigned int tk_pid; - unsigned char tk_priority: 2; - unsigned char tk_garb_retry: 2; - unsigned char tk_cred_retry: 2; -}; - -struct nfs_fsid { - uint64_t major; - uint64_t minor; -}; - -struct nfs_fattr { - __u64 valid; - umode_t mode; - __u32 nlink; - kuid_t uid; - kgid_t gid; - dev_t rdev; - __u64 size; - union { - struct { - __u32 blocksize; - __u32 blocks; - } nfs2; - struct { - __u64 used; - } nfs3; - } du; - struct nfs_fsid fsid; - __u64 fileid; - __u64 mounted_on_fileid; - struct timespec64 atime; - struct timespec64 mtime; - struct timespec64 ctime; - struct timespec64 btime; - __u64 change_attr; - __u64 pre_change_attr; - __u64 pre_size; - struct timespec64 pre_mtime; - struct timespec64 pre_ctime; - long unsigned int time_start; - long unsigned int gencount; - struct nfs4_string *owner_name; - struct nfs4_string *group_name; - struct nfs4_threshold *mdsthreshold; - struct nfs4_label *label; -}; - -struct nfs_write_verifier { - char data[8]; -}; - -struct nfs_writeverf { - struct nfs_write_verifier verifier; - enum nfs3_stable_how committed; -}; - -struct nfs_direct_req; - -struct nfs_commitargs { - struct nfs4_sequence_args seq_args; - struct nfs_fh *fh; - __u64 offset; - __u32 count; - const u32 *bitmask; -}; - -struct nfs_commitres { - struct nfs4_sequence_res seq_res; - __u32 op_status; - struct nfs_fattr *fattr; - struct nfs_writeverf *verf; - const struct nfs_server *server; -}; - -struct pnfs_layout_segment; - -struct nfs_open_context; - -struct nfs_commit_data { - struct rpc_task task; - struct inode *inode; - const struct cred *cred; - struct nfs_fattr fattr; - struct nfs_writeverf verf; - struct list_head pages; - struct list_head list; - struct nfs_direct_req *dreq; - struct nfs_commitargs args; - struct nfs_commitres res; - struct nfs_open_context *context; - struct pnfs_layout_segment *lseg; - struct nfs_client *ds_clp; - int ds_commit_index; - loff_t lwb; - const struct rpc_call_ops *mds_ops; - const struct nfs_commit_completion_ops *completion_ops; - int (*commit_done_cb)(struct rpc_task *, struct nfs_commit_data *); - long unsigned int flags; -}; - -struct nfs_mds_commit_info; - -struct pnfs_ds_commit_info; - -struct nfs_commit_info { - struct inode *inode; - struct nfs_mds_commit_info *mds; - struct pnfs_ds_commit_info *ds; - struct nfs_direct_req *dreq; - const struct nfs_commit_completion_ops *completion_ops; -}; - -struct nfs_entry { - __u64 ino; - __u64 cookie; - const char *name; - unsigned int len; - int eof; - struct nfs_fh *fh; - struct nfs_fattr *fattr; - unsigned char d_type; - struct nfs_server *server; -}; - -struct nfs_fh { - short unsigned int size; - unsigned char data[128]; -}; - -struct nfsd_file; - -struct nfs_file_localio { - struct nfsd_file *ro_file; - struct nfsd_file *rw_file; - struct list_head list; - void *nfs_uuid; -}; - -struct nfs_fsinfo { - struct nfs_fattr *fattr; - __u32 rtmax; - __u32 rtpref; - __u32 rtmult; - __u32 wtmax; - __u32 wtpref; - __u32 wtmult; - __u32 dtpref; - __u64 maxfilesize; - struct timespec64 time_delta; - __u32 lease_time; - __u32 nlayouttypes; - __u32 layouttype[8]; - __u32 blksize; - __u32 clone_blksize; - enum nfs4_change_attr_type change_attr_type; - __u32 xattr_support; -}; - -struct nfs_fsstat { - struct nfs_fattr *fattr; - __u64 tbytes; - __u64 fbytes; - __u64 abytes; - __u64 tfiles; - __u64 ffiles; - __u64 afiles; -}; - -struct nfs_lock_context { - refcount_t count; - struct list_head list; - struct nfs_open_context *open_context; - fl_owner_t lockowner; - atomic_t io_count; - struct callback_head callback_head; -}; - -struct nfs_mds_commit_info { - atomic_t rpcs_out; - atomic_long_t ncommit; - struct list_head list; -}; - -struct nfs_open_context { - struct nfs_lock_context lock_context; - fl_owner_t flock_owner; - struct dentry *dentry; - const struct cred *cred; - struct rpc_cred *ll_cred; - struct nfs4_state *state; - fmode_t mode; - int error; - long unsigned int flags; - struct nfs4_threshold *mdsthreshold; - struct list_head list; - struct callback_head callback_head; - struct nfs_file_localio nfl; -}; - -struct nfs_page_array { - struct page **pagevec; - unsigned int npages; - struct page *page_array[8]; -}; - -struct nfs_pathconf { - struct nfs_fattr *fattr; - __u32 max_link; - __u32 max_namelen; -}; - -struct nfs_pgio_args { - struct nfs4_sequence_args seq_args; - struct nfs_fh *fh; - struct nfs_open_context *context; - struct nfs_lock_context *lock_context; - nfs4_stateid stateid; - __u64 offset; - __u32 count; - unsigned int pgbase; - struct page **pages; - union { - unsigned int replen; - struct { - const u32 *bitmask; - u32 bitmask_store[3]; - enum nfs3_stable_how stable; - }; - }; -}; - -struct nfs_pgio_header; - -struct nfs_pgio_completion_ops { - void (*error_cleanup)(struct list_head *, int); - void (*init_hdr)(struct nfs_pgio_header *); - void (*completion)(struct nfs_pgio_header *); - void (*reschedule_io)(struct nfs_pgio_header *); -}; - -struct nfs_rw_ops; - -struct nfs_io_completion; - -struct nfs_pgio_res { - struct nfs4_sequence_res seq_res; - struct nfs_fattr *fattr; - __u64 count; - __u32 op_status; - union { - struct { - unsigned int replen; - int eof; - void *scratch; - }; - struct { - struct nfs_writeverf *verf; - const struct nfs_server *server; - }; - }; -}; - -struct nfs_pgio_header { - struct inode *inode; - const struct cred *cred; - struct list_head pages; - struct nfs_page *req; - struct nfs_writeverf verf; - fmode_t rw_mode; - struct pnfs_layout_segment *lseg; - loff_t io_start; - const struct rpc_call_ops *mds_ops; - void (*release)(struct nfs_pgio_header *); - const struct nfs_pgio_completion_ops *completion_ops; - const struct nfs_rw_ops *rw_ops; - struct nfs_io_completion *io_completion; - struct nfs_direct_req *dreq; - void *netfs; - short unsigned int retrans; - int pnfs_error; - int error; - unsigned int good_bytes; - long unsigned int flags; - struct rpc_task task; - struct nfs_fattr fattr; - struct nfs_pgio_args args; - struct nfs_pgio_res res; - long unsigned int timestamp; - int (*pgio_done_cb)(struct rpc_task *, struct nfs_pgio_header *); - __u64 mds_offset; - struct nfs_page_array page_array; - struct nfs_client *ds_clp; - u32 ds_commit_idx; - u32 pgio_mirror_idx; -}; - -struct nfs_readdir_arg { - struct dentry *dentry; - const struct cred *cred; - __be32 *verf; - u64 cookie; - struct page **pages; - unsigned int page_len; - bool plus; -}; - -struct nfs_readdir_res { - __be32 *verf; -}; - -struct nfs_removeargs { - struct nfs4_sequence_args seq_args; - const struct nfs_fh *fh; - struct qstr name; -}; - -struct nfs_removeres { - struct nfs4_sequence_res seq_res; - struct nfs_server *server; - struct nfs_fattr *dir_attr; - struct nfs4_change_info cinfo; -}; - -struct nfs_renameargs { - struct nfs4_sequence_args seq_args; - const struct nfs_fh *old_dir; - const struct nfs_fh *new_dir; - const struct qstr *old_name; - const struct qstr *new_name; -}; - -struct nfs_renameres { - struct nfs4_sequence_res seq_res; - struct nfs_server *server; - struct nfs4_change_info old_cinfo; - struct nfs_fattr *old_fattr; - struct nfs4_change_info new_cinfo; - struct nfs_fattr *new_fattr; -}; - -struct nfs_renamedata { - struct nfs_renameargs args; - struct nfs_renameres res; - struct rpc_task task; - const struct cred *cred; - struct inode *old_dir; - struct dentry *old_dentry; - struct nfs_fattr old_fattr; - struct inode *new_dir; - struct dentry *new_dentry; - struct nfs_fattr new_fattr; - void (*complete)(struct rpc_task *, struct nfs_renamedata *); - long int timeout; - bool cancelled; -}; - -struct nlmclnt_operations; - -struct nfs_client_initdata; - -struct nfs_unlinkdata; - -struct xdr_stream; - -struct nfs_rpc_ops { - u32 version; - const struct dentry_operations *dentry_ops; - const struct inode_operations *dir_inode_ops; - const struct inode_operations *file_inode_ops; - const struct file_operations *file_ops; - const struct nlmclnt_operations *nlmclnt_ops; - int (*getroot)(struct nfs_server *, struct nfs_fh *, struct nfs_fsinfo *); - int (*submount)(struct fs_context *, struct nfs_server *); - int (*try_get_tree)(struct fs_context *); - int (*getattr)(struct nfs_server *, struct nfs_fh *, struct nfs_fattr *, struct inode *); - int (*setattr)(struct dentry *, struct nfs_fattr *, struct iattr *); - int (*lookup)(struct inode *, struct dentry *, const struct qstr *, struct nfs_fh *, struct nfs_fattr *); - int (*lookupp)(struct inode *, struct nfs_fh *, struct nfs_fattr *); - int (*access)(struct inode *, struct nfs_access_entry *, const struct cred *); - int (*readlink)(struct inode *, struct page *, unsigned int, unsigned int); - int (*create)(struct inode *, struct dentry *, struct iattr *, int); - int (*remove)(struct inode *, struct dentry *); - void (*unlink_setup)(struct rpc_message *, struct dentry *, struct inode *); - void (*unlink_rpc_prepare)(struct rpc_task *, struct nfs_unlinkdata *); - int (*unlink_done)(struct rpc_task *, struct inode *); - void (*rename_setup)(struct rpc_message *, struct dentry *, struct dentry *); - void (*rename_rpc_prepare)(struct rpc_task *, struct nfs_renamedata *); - int (*rename_done)(struct rpc_task *, struct inode *, struct inode *); - int (*link)(struct inode *, struct inode *, const struct qstr *); - int (*symlink)(struct inode *, struct dentry *, struct folio *, unsigned int, struct iattr *); - struct dentry * (*mkdir)(struct inode *, struct dentry *, struct iattr *); - int (*rmdir)(struct inode *, const struct qstr *); - int (*readdir)(struct nfs_readdir_arg *, struct nfs_readdir_res *); - int (*mknod)(struct inode *, struct dentry *, struct iattr *, dev_t); - int (*statfs)(struct nfs_server *, struct nfs_fh *, struct nfs_fsstat *); - int (*fsinfo)(struct nfs_server *, struct nfs_fh *, struct nfs_fsinfo *); - int (*pathconf)(struct nfs_server *, struct nfs_fh *, struct nfs_pathconf *); - int (*set_capabilities)(struct nfs_server *, struct nfs_fh *); - int (*decode_dirent)(struct xdr_stream *, struct nfs_entry *, bool); - int (*pgio_rpc_prepare)(struct rpc_task *, struct nfs_pgio_header *); - void (*read_setup)(struct nfs_pgio_header *, struct rpc_message *); - int (*read_done)(struct rpc_task *, struct nfs_pgio_header *); - void (*write_setup)(struct nfs_pgio_header *, struct rpc_message *, struct rpc_clnt **); - int (*write_done)(struct rpc_task *, struct nfs_pgio_header *); - void (*commit_setup)(struct nfs_commit_data *, struct rpc_message *, struct rpc_clnt **); - void (*commit_rpc_prepare)(struct rpc_task *, struct nfs_commit_data *); - int (*commit_done)(struct rpc_task *, struct nfs_commit_data *); - int (*lock)(struct file *, int, struct file_lock *); - int (*lock_check_bounds)(const struct file_lock *); - void (*clear_acl_cache)(struct inode *); - void (*close_context)(struct nfs_open_context *, int); - struct inode * (*open_context)(struct inode *, struct nfs_open_context *, int, struct iattr *, int *); - int (*have_delegation)(struct inode *, fmode_t, int); - int (*return_delegation)(struct inode *); - struct nfs_client * (*alloc_client)(const struct nfs_client_initdata *); - struct nfs_client * (*init_client)(struct nfs_client *, const struct nfs_client_initdata *); - void (*free_client)(struct nfs_client *); - struct nfs_server * (*create_server)(struct fs_context *); - struct nfs_server * (*clone_server)(struct nfs_server *, struct nfs_fh *, struct nfs_fattr *, rpc_authflavor_t); - int (*discover_trunking)(struct nfs_server *, struct nfs_fh *); - void (*enable_swap)(struct inode *); - void (*disable_swap)(struct inode *); -}; - -struct nfs_seqid { - struct nfs_seqid_counter *sequence; - struct list_head list; - struct rpc_task *task; -}; - -struct nlm_host; - -struct nfs_iostats; - -struct fscache_volume; - -struct pnfs_layoutdriver_type; - -struct nfs_server { - struct nfs_client *nfs_client; - struct list_head client_link; - struct list_head master_link; - struct rpc_clnt *client; - struct rpc_clnt *client_acl; - struct nlm_host *nlm_host; - struct nfs_iostats *io_stats; - wait_queue_head_t write_congestion_wait; - atomic_long_t writeback; - unsigned int write_congested; - unsigned int flags; - unsigned int automount_inherit; - unsigned int caps; - __u64 fattr_valid; - unsigned int rsize; - unsigned int rpages; - unsigned int wsize; - unsigned int wtmult; - unsigned int dtsize; - short unsigned int port; - unsigned int bsize; - unsigned int gxasize; - unsigned int sxasize; - unsigned int lxasize; - unsigned int acregmin; - unsigned int acregmax; - unsigned int acdirmin; - unsigned int acdirmax; - unsigned int namelen; - unsigned int options; - unsigned int clone_blksize; - enum nfs4_change_attr_type change_attr_type; - struct nfs_fsid fsid; - int s_sysfs_id; - __u64 maxfilesize; - long unsigned int mount_time; - struct super_block *super; - dev_t s_dev; - struct nfs_auth_info auth_info; - struct fscache_volume *fscache; - char *fscache_uniq; - u32 fh_expire_type; - u32 pnfs_blksize; - u32 attr_bitmask[3]; - u32 attr_bitmask_nl[3]; - u32 exclcreat_bitmask[3]; - u32 cache_consistency_bitmask[3]; - u32 acl_bitmask; - struct pnfs_layoutdriver_type *pnfs_curr_ld; - struct rpc_wait_queue roc_rpcwaitq; - struct rb_root state_owners; - atomic64_t owner_ctr; - struct list_head state_owners_lru; - struct list_head layouts; - struct list_head delegations; - atomic_long_t nr_active_delegations; - unsigned int delegation_hash_mask; - struct hlist_head *delegation_hash_table; - struct list_head ss_copies; - struct list_head ss_src_copies; - long unsigned int delegation_flags; - long unsigned int delegation_gen; - long unsigned int mig_gen; - long unsigned int mig_status; - void (*destroy)(struct nfs_server *); - atomic_t active; - struct __kernel_sockaddr_storage mountd_address; - size_t mountd_addrlen; - u32 mountd_version; - short unsigned int mountd_port; - short unsigned int mountd_protocol; - struct rpc_wait_queue uoc_rpcwaitq; - unsigned int read_hdrsize; - const struct cred *cred; - bool has_sec_mnt_opts; - struct kobject kobj; - struct callback_head rcu; -}; - -struct nfs_ssc_client_ops { - void (*sco_sb_deactive)(struct super_block *); -}; - -struct nfs_ssc_client_ops_tbl { - const struct nfs4_ssc_client_ops *ssc_nfs4_ops; - const struct nfs_ssc_client_ops *ssc_nfs_ops; -}; - -struct nfs_unlinkdata { - struct nfs_removeargs args; - struct nfs_removeres res; - struct dentry *dentry; - wait_queue_head_t wq; - const struct cred *cred; - struct nfs_fattr dir_attr; - long int timeout; -}; - -struct nh_config { - u32 nh_id; - u8 nh_family; - u8 nh_protocol; - u8 nh_blackhole; - u8 nh_fdb; - u32 nh_flags; - int nh_ifindex; - struct net_device *dev; - union { - __be32 ipv4; - struct in6_addr ipv6; - } gw; - struct nlattr *nh_grp; - u16 nh_grp_type; - u16 nh_grp_res_num_buckets; - long unsigned int nh_grp_res_idle_timer; - long unsigned int nh_grp_res_unbalanced_timer; - bool nh_grp_res_has_num_buckets; - bool nh_grp_res_has_idle_timer; - bool nh_grp_res_has_unbalanced_timer; - bool nh_hw_stats; - struct nlattr *nh_encap; - u16 nh_encap_type; - u32 nlflags; - struct nl_info nlinfo; -}; - -struct nh_dump_filter { - u32 nh_id; - int dev_idx; - int master_idx; - bool group_filter; - bool fdb_filter; - u32 res_bucket_nh_id; - u32 op_flags; -}; - -struct nh_grp_entry_stats; - -struct nh_grp_entry { - struct nexthop *nh; - struct nh_grp_entry_stats *stats; - u16 weight; - union { - struct { - atomic_t upper_bound; - } hthr; - struct { - struct list_head uw_nh_entry; - u16 count_buckets; - u16 wants_buckets; - } res; - }; - struct list_head nh_list; - struct nexthop *nh_parent; - u64 packets_hw; -}; - -struct nh_res_table; - -struct nh_group { - struct nh_group *spare; - u16 num_nh; - bool is_multipath; - bool hash_threshold; - bool resilient; - bool fdb_nh; - bool has_v4; - bool hw_stats; - struct nh_res_table *res_table; - struct nh_grp_entry nh_entries[0]; -}; - -struct nh_grp_entry_stats { - u64_stats_t packets; - struct u64_stats_sync syncp; -}; - -struct nh_info { - struct hlist_node dev_hash; - struct nexthop *nh_parent; - u8 family; - bool reject_nh; - bool fdb_nh; - union { - struct fib_nh_common fib_nhc; - struct fib_nh fib_nh; - struct fib6_nh fib6_nh; - }; -}; - -struct nh_notifier_single_info { - struct net_device *dev; - u8 gw_family; - union { - __be32 ipv4; - struct in6_addr ipv6; - }; - u32 id; - u8 is_reject: 1; - u8 is_fdb: 1; - u8 has_encap: 1; -}; - -struct nh_notifier_grp_entry_info { - u16 weight; - struct nh_notifier_single_info nh; -}; - -struct nh_notifier_grp_hw_stats_entry_info { - u32 id; - u64 packets; -}; - -struct nh_notifier_grp_hw_stats_info { - u16 num_nh; - bool hw_stats_used; - struct nh_notifier_grp_hw_stats_entry_info stats[0]; -}; - -struct nh_notifier_grp_info { - u16 num_nh; - bool is_fdb; - bool hw_stats; - struct nh_notifier_grp_entry_info nh_entries[0]; -}; - -struct nh_notifier_res_table_info; - -struct nh_notifier_res_bucket_info; - -struct nh_notifier_info { - struct net *net; - struct netlink_ext_ack *extack; - u32 id; - enum nh_notifier_info_type type; - union { - struct nh_notifier_single_info *nh; - struct nh_notifier_grp_info *nh_grp; - struct nh_notifier_res_table_info *nh_res_table; - struct nh_notifier_res_bucket_info *nh_res_bucket; - struct nh_notifier_grp_hw_stats_info *nh_grp_hw_stats; - }; -}; - -struct nh_notifier_res_bucket_info { - u16 bucket_index; - unsigned int idle_timer_ms; - bool force; - struct nh_notifier_single_info old_nh; - struct nh_notifier_single_info new_nh; -}; - -struct nh_notifier_res_table_info { - u16 num_nh_buckets; - bool hw_stats; - struct nh_notifier_single_info nhs[0]; -}; - -struct nh_res_bucket { - struct nh_grp_entry *nh_entry; - atomic_long_t used_time; - long unsigned int migrated_time; - bool occupied; - u8 nh_flags; -}; - -struct nh_res_table { - struct net *net; - u32 nhg_id; - struct delayed_work upkeep_dw; - struct list_head uw_nh_entries; - long unsigned int unbalanced_since; - u32 idle_timer; - u32 unbalanced_timer; - u16 num_nh_buckets; - struct nh_res_bucket nh_buckets[0]; -}; - -struct nhmsg { - unsigned char nh_family; - unsigned char nh_scope; - unsigned char nh_protocol; - unsigned char resvd; - unsigned int nh_flags; -}; - -struct nl80211_vendor_cmd_info { - __u32 vendor_id; - __u32 subcmd; -}; - -struct nl80211_wowlan_tcp_data_token_feature { - __u32 min_len; - __u32 max_len; - __u32 bufsize; -}; - -struct nl_pktinfo { - __u32 group; -}; - -struct rhashtable_walker { - struct list_head list; - struct bucket_table *tbl; -}; - -struct rhashtable_iter { - struct rhashtable *ht; - struct rhash_head *p; - struct rhlist_head *list; - struct rhashtable_walker walker; - unsigned int slot; - unsigned int skip; - bool end_of_table; -}; - -struct nl_seq_iter { - struct seq_net_private p; - struct rhashtable_iter hti; - int link; -}; - -struct nla_bitfield32 { - __u32 value; - __u32 selector; -}; - -struct nla_policy { - u8 type; - u8 validation_type; - u16 len; - union { - u16 strict_start_type; - const u32 bitfield32_valid; - const u32 mask; - const char *reject_message; - const struct nla_policy *nested_policy; - const struct netlink_range_validation *range; - const struct netlink_range_validation_signed *range_signed; - struct { - s16 min; - s16 max; - }; - int (*validate)(const struct nlattr *, struct netlink_ext_ack *); - }; -}; - -struct nlattr { - __u16 nla_len; - __u16 nla_type; -}; - -struct nlmsg_perm { - u16 nlmsg_type; - u32 perm; -}; - -struct nlmsgerr { - int error; - struct nlmsghdr msg; -}; - -struct nls_table { - const char *charset; - const char *alias; - int (*uni2char)(wchar_t, unsigned char *, int); - int (*char2uni)(const unsigned char *, int, wchar_t *); - const unsigned char *charset2lower; - const unsigned char *charset2upper; - struct module *owner; - struct nls_table *next; -}; - -typedef int (*nmi_handler_t)(unsigned int, struct pt_regs *); - -struct nmi_desc { - raw_spinlock_t lock; - nmi_handler_t emerg_handler; - struct list_head head; -}; - -struct nmi_stats { - unsigned int normal; - unsigned int unknown; - unsigned int external; - unsigned int swallow; - long unsigned int recv_jiffies; - long unsigned int idt_seq; - long unsigned int idt_nmi_seq; - long unsigned int idt_ignored; - atomic_long_t idt_calls; - long unsigned int idt_seq_snap; - long unsigned int idt_nmi_seq_snap; - long unsigned int idt_ignored_snap; - long int idt_calls_snap; -}; - -struct nmiaction { - struct list_head list; - nmi_handler_t handler; - u64 max_duration; - long unsigned int flags; - const char *name; -}; - -struct node { - struct device dev; - struct list_head access_list; - struct list_head cache_attrs; - struct device *cache_dev; -}; - -struct node_access_nodes { - struct device dev; - struct list_head list_node; - unsigned int access; - struct access_coordinate coord; -}; - -struct node_attr { - struct device_attribute attr; - enum node_states state; -}; - -struct node_cache_info { - struct device dev; - struct list_head node; - struct node_cache_attrs cache_attrs; -}; - -struct node_groups { - unsigned int id; - union { - unsigned int ngroups; - unsigned int ncpus; - }; -}; - -struct node_hstate { - struct kobject *hugepages_kobj; - struct kobject *hstate_kobjs[2]; -}; - -struct node_memory_type_map { - struct memory_dev_type *memtype; - int map_count; -}; - -struct node_notify { - int nid; -}; - -struct nodemask_scratch { - nodemask_t mask1; - nodemask_t mask2; -}; - -struct nonram_remap { - phys_addr_t maddr; - phys_addr_t paddr; - size_t size; -}; - -struct nosave_region { - struct list_head list; - long unsigned int start_pfn; - long unsigned int end_pfn; -}; - -struct notification { - atomic_t requests; - u32 flags; - u64 next_id; - struct list_head notifications; -}; - -struct npem; - -struct npem_led { - const struct indication *indication; - struct npem *npem; - char name[64]; - struct led_classdev led; -}; - -struct npem_ops; - -struct npem { - struct pci_dev *dev; - const struct npem_ops *ops; - struct mutex lock; - u16 pos; - u32 supported_indications; - u32 active_indications; - unsigned int active_inds_initialized: 1; - int led_cnt; - struct npem_led leds[0]; -}; - -struct npem_ops { - int (*get_active_indications)(struct npem *, u32 *); - int (*set_active_indications)(struct npem *, u32); - const struct indication *inds; - const char *name; -}; - -struct npioctl { - int protocol; - enum NPmode mode; -}; - -struct ns_get_path_bpf_map_args { - struct bpf_offloaded_map *offmap; - struct bpf_map_info *info; -}; - -struct ns_get_path_bpf_prog_args { - struct bpf_prog *prog; - struct bpf_prog_info *info; -}; - -struct ns_get_path_task_args { - const struct proc_ns_operations *ns_ops; - struct task_struct *task; -}; - -struct uts_namespace; - -struct time_namespace; - -struct nsproxy { - refcount_t count; - struct uts_namespace *uts_ns; - struct ipc_namespace *ipc_ns; - struct mnt_namespace *mnt_ns; - struct pid_namespace *pid_ns_for_children; - struct net *net_ns; - struct time_namespace *time_ns; - struct time_namespace *time_ns_for_children; - struct cgroup_namespace *cgroup_ns; -}; - -struct nsset { - unsigned int flags; - struct nsproxy *nsproxy; - struct fs_struct *fs; - const struct cred *cred; -}; - -struct nt_partition_info { - u32 xlink_enabled; - u32 target_part_low; - u32 target_part_high; - u32 reserved; -}; - -struct ntb_ctrl_regs { - u32 partition_status; - u32 partition_op; - u32 partition_ctrl; - u32 bar_setup; - u32 bar_error; - u16 lut_table_entries; - u16 lut_table_offset; - u32 lut_error; - u16 req_id_table_size; - u16 req_id_table_offset; - u32 req_id_error; - u32 reserved1[7]; - struct { - u32 ctl; - u32 win_size; - u64 xlate_addr; - } bar_entry[6]; - struct { - u32 win_size; - u32 reserved[3]; - } bar_ext_entry[6]; - u32 reserved2[192]; - u32 req_id_table[512]; - u32 reserved3[256]; - u64 lut_entry[512]; -}; - -struct ntb_info_regs { - u8 partition_count; - u8 partition_id; - u16 reserved1; - u64 ep_map; - u16 requester_id; - u16 reserved2; - u32 reserved3[4]; - struct nt_partition_info ntp_info[48]; -} __attribute__((packed)); - -struct ntp_data { - long unsigned int tick_usec; - u64 tick_length; - u64 tick_length_base; - int time_state; - int time_status; - s64 time_offset; - long int time_constant; - long int time_maxerror; - long int time_esterror; - s64 time_freq; - time64_t time_reftime; - long int time_adjust; - s64 ntp_tick_adj; - time64_t ntp_next_leap_sec; -}; - -struct numa_group { - refcount_t refcount; - spinlock_t lock; - int nr_tasks; - pid_t gid; - int active_nodes; - struct callback_head rcu; - long unsigned int total_faults; - long unsigned int max_faults_cpu; - long unsigned int faults[0]; -}; - -struct numa_maps { - long unsigned int pages; - long unsigned int anon; - long unsigned int active; - long unsigned int writeback; - long unsigned int mapcount_max; - long unsigned int dirty; - long unsigned int swapcache; - long unsigned int node[1024]; -}; - -struct proc_maps_private { - struct inode *inode; - struct task_struct *task; - struct mm_struct *mm; - struct vma_iterator iter; - loff_t last_pos; - bool mmap_locked; - struct vm_area_struct *locked_vma; - struct mempolicy *task_mempolicy; -}; - -struct numa_maps_private { - struct proc_maps_private proc_maps; - struct numa_maps md; -}; - -struct numa_memblk { - u64 start; - u64 end; - int nid; -}; - -struct numa_meminfo { - int nr_blks; - struct numa_memblk blk[2048]; -}; - -struct numa_stat { - const char *name; - unsigned int lru_mask; -}; - -struct numa_stats { - long unsigned int load; - long unsigned int runnable; - long unsigned int util; - long unsigned int compute_capacity; - unsigned int nr_running; - unsigned int weight; - enum numa_type node_type; - int idle_cpu; -}; - -struct nvdimm_security_ops; - -struct nvdimm_fw_ops; - -struct nvdimm { - long unsigned int flags; - void *provider_data; - long unsigned int cmd_mask; - struct device dev; - atomic_t busy; - int id; - int num_flush; - struct resource *flush_wpq; - const char *dimm_id; - struct { - const struct nvdimm_security_ops *ops; - long unsigned int flags; - long unsigned int ext_flags; - unsigned int overwrite_tmo; - struct kernfs_node *overwrite_state; - } sec; - struct delayed_work dwork; - const struct nvdimm_fw_ops *fw_ops; -}; - -struct nvdimm_bus_descriptor; - -struct nvdimm_bus { - struct nvdimm_bus_descriptor *nd_desc; - wait_queue_head_t wait; - struct list_head list; - struct device dev; - int id; - int probe_active; - atomic_t ioctl_active; - struct list_head mapping_list; - struct mutex reconfig_mutex; - struct badrange badrange; -}; - -typedef int (*ndctl_fn)(struct nvdimm_bus_descriptor *, struct nvdimm *, unsigned int, void *, unsigned int, int *); - -struct nvdimm_bus_fw_ops; - -struct nvdimm_bus_descriptor { - const struct attribute_group **attr_groups; - long unsigned int cmd_mask; - long unsigned int dimm_family_mask; - long unsigned int bus_family_mask; - struct module *module; - char *provider_name; - struct device_node *of_node; - ndctl_fn ndctl; - int (*flush_probe)(struct nvdimm_bus_descriptor *); - int (*clear_to_send)(struct nvdimm_bus_descriptor *, struct nvdimm *, unsigned int, void *); - const struct nvdimm_bus_fw_ops *fw_ops; -}; - -struct nvdimm_bus_fw_ops { - enum nvdimm_fwa_state (*activate_state)(struct nvdimm_bus_descriptor *); - enum nvdimm_fwa_capability (*capability)(struct nvdimm_bus_descriptor *); - int (*activate)(struct nvdimm_bus_descriptor *); -}; - -struct nvdimm_drvdata { - struct device *dev; - int nslabel_size; - struct nd_cmd_get_config_size nsarea; - void *data; - bool cxl; - int ns_current; - int ns_next; - struct resource dpa; - struct kref kref; -}; - -struct nvdimm_fw_ops { - enum nvdimm_fwa_state (*activate_state)(struct nvdimm *); - enum nvdimm_fwa_result (*activate_result)(struct nvdimm *); - int (*arm)(struct nvdimm *, enum nvdimm_fwa_trigger); -}; - -struct nvdimm_key_data { - u8 data[32]; -}; - -struct nvdimm_map { - struct nvdimm_bus *nvdimm_bus; - struct list_head list; - resource_size_t offset; - long unsigned int flags; - size_t size; - union { - void *mem; - void *iomem; - }; - struct kref kref; -}; - -struct nvdimm_pmu { - struct pmu pmu; - struct device *dev; - int cpu; - struct hlist_node node; - enum cpuhp_state cpuhp_state; - struct cpumask arch_cpumask; -}; - -struct nvdimm_security_ops { - long unsigned int (*get_flags)(struct nvdimm *, enum nvdimm_passphrase_type); - int (*freeze)(struct nvdimm *); - int (*change_key)(struct nvdimm *, const struct nvdimm_key_data *, const struct nvdimm_key_data *, enum nvdimm_passphrase_type); - int (*unlock)(struct nvdimm *, const struct nvdimm_key_data *); - int (*disable)(struct nvdimm *, const struct nvdimm_key_data *); - int (*erase)(struct nvdimm *, const struct nvdimm_key_data *, enum nvdimm_passphrase_type); - int (*overwrite)(struct nvdimm *, const struct nvdimm_key_data *); - int (*query_overwrite)(struct nvdimm *); - int (*disable_master)(struct nvdimm *, const struct nvdimm_key_data *); -}; - -struct nvmem_cell_entry; - -struct nvmem_cell { - struct nvmem_cell_entry *entry; - const char *id; - int index; -}; - -typedef int (*nvmem_cell_post_process_t)(void *, const char *, int, unsigned int, void *, size_t); - -struct nvmem_device; - -struct nvmem_cell_entry { - const char *name; - int offset; - size_t raw_len; - int bytes; - int bit_offset; - int nbits; - nvmem_cell_post_process_t read_post_process; - void *priv; - struct device_node *np; - struct nvmem_device *nvmem; - struct list_head node; -}; - -struct nvmem_cell_info { - const char *name; - unsigned int offset; - size_t raw_len; - unsigned int bytes; - unsigned int bit_offset; - unsigned int nbits; - struct device_node *np; - nvmem_cell_post_process_t read_post_process; - void *priv; -}; - -struct nvmem_cell_lookup { - const char *nvmem_name; - const char *cell_name; - const char *dev_id; - const char *con_id; - struct list_head node; -}; - -typedef int (*nvmem_reg_read_t)(void *, unsigned int, void *, size_t); - -typedef int (*nvmem_reg_write_t)(void *, unsigned int, void *, size_t); - -struct nvmem_keepout; - -struct nvmem_layout; - -struct nvmem_config { - struct device *dev; - const char *name; - int id; - struct module *owner; - const struct nvmem_cell_info *cells; - int ncells; - bool add_legacy_fixed_of_cells; - void (*fixup_dt_cell_info)(struct nvmem_device *, struct nvmem_cell_info *); - const struct nvmem_keepout *keepout; - unsigned int nkeepout; - enum nvmem_type type; - bool read_only; - bool root_only; - bool ignore_wp; - struct nvmem_layout *layout; - struct device_node *of_node; - nvmem_reg_read_t reg_read; - nvmem_reg_write_t reg_write; - int size; - int word_size; - int stride; - void *priv; - bool compat; - struct device *base_dev; -}; - -struct nvmem_device { - struct module *owner; - struct device dev; - struct list_head node; - int stride; - int word_size; - int id; - struct kref refcnt; - size_t size; - bool read_only; - bool root_only; - int flags; - enum nvmem_type type; - struct bin_attribute eeprom; - struct device *base_dev; - struct list_head cells; - void (*fixup_dt_cell_info)(struct nvmem_device *, struct nvmem_cell_info *); - const struct nvmem_keepout *keepout; - unsigned int nkeepout; - nvmem_reg_read_t reg_read; - nvmem_reg_write_t reg_write; - struct gpio_desc *wp_gpio; - struct nvmem_layout *layout; - void *priv; - bool sysfs_cells_populated; -}; - -struct nvmem_keepout { - unsigned int start; - unsigned int end; - unsigned char value; -}; - -struct nvmem_layout { - struct device dev; - struct nvmem_device *nvmem; - int (*add_cells)(struct nvmem_layout *); -}; - -struct nvs_page { - long unsigned int phys_start; - unsigned int size; - void *kaddr; - void *data; - bool unmap; - struct list_head node; -}; - -struct nvs_region { - __u64 phys_start; - __u64 size; - struct list_head node; -}; - -struct obj_cgroup { - struct percpu_ref refcnt; - struct mem_cgroup *memcg; - atomic_t nr_charged_bytes; - union { - struct list_head list; - struct callback_head rcu; - }; -}; - -struct obj_stock_pcp { - local_trylock_t lock; - unsigned int nr_bytes; - struct obj_cgroup *cached_objcg; - struct pglist_data *cached_pgdat; - int nr_slab_reclaimable_b; - int nr_slab_unreclaimable_b; - struct work_struct work; - long unsigned int flags; -}; - -struct objpool_head; - -typedef int (*objpool_fini_cb)(struct objpool_head *, void *); - -struct objpool_slot; - -struct objpool_head { - int obj_size; - int nr_objs; - int nr_possible_cpus; - int capacity; - gfp_t gfp; - refcount_t ref; - long unsigned int flags; - struct objpool_slot **cpu_slots; - objpool_fini_cb release; - void *context; -}; - -struct objpool_slot { - uint32_t head; - uint32_t tail; - uint32_t last; - uint32_t mask; - void *entries[0]; -}; - -struct obs_kernel_param { - const char *str; - int (*setup_func)(char *); - int early; -}; - -struct ocontext { - union { - char *name; - struct { - u8 protocol; - u16 low_port; - u16 high_port; - } port; - struct { - u32 addr; - u32 mask; - } node; - struct { - u32 addr[4]; - u32 mask[4]; - } node6; - struct { - u64 subnet_prefix; - u16 low_pkey; - u16 high_pkey; - } ibpkey; - struct { - char *dev_name; - u8 port; - } ibendport; - } u; - union { - u32 sclass; - u32 behavior; - } v; - struct context___2 context[2]; - u32 sid[2]; - struct ocontext *next; -}; - -struct octep_hp_cmd { - struct list_head list; - enum octep_hp_intr_type intr_type; - u64 intr_val; -}; - -struct octep_hp_intr_info { - enum octep_hp_intr_type type; - int number; - char name[16]; -}; - -struct octep_hp_controller { - void *base; - struct pci_dev *pdev; - struct octep_hp_intr_info intr[2]; - struct work_struct work; - struct list_head slot_list; - struct mutex slot_lock; - struct list_head hp_cmd_list; - spinlock_t hp_cmd_lock; -}; - -struct octep_hp_slot { - struct list_head list; - struct hotplug_slot slot; - u16 slot_number; - struct pci_dev *hp_pdev; - unsigned int hp_devfn; - struct octep_hp_controller *ctrl; -}; - -struct od_dbs_tuners { - unsigned int powersave_bias; -}; - -struct od_ops { - unsigned int (*powersave_bias_target)(struct cpufreq_policy *, unsigned int, unsigned int); -}; - -struct od_policy_dbs_info { - struct policy_dbs_info policy_dbs; - unsigned int freq_lo; - unsigned int freq_lo_delay_us; - unsigned int freq_hi_delay_us; - unsigned int sample_type: 1; -}; - -struct of_dev_auxdata { - char *compatible; - resource_size_t phys_addr; - char *name; - void *platform_data; -}; - -struct of_device_id { - char name[32]; - char type[32]; - char compatible[128]; - const void *data; -}; - -struct of_dma { - struct list_head of_dma_controllers; - struct device_node *of_node; - struct dma_chan * (*of_dma_xlate)(struct of_phandle_args *, struct of_dma *); - void * (*of_dma_route_allocate)(struct of_phandle_args *, struct of_dma *); - struct dma_router *dma_router; - void *of_dma_data; -}; - -struct of_pci_range { - union { - u64 pci_addr; - u64 bus_addr; - }; - u64 cpu_addr; - u64 parent_bus_addr; - u64 size; - u32 flags; -}; - -struct of_bus; - -struct of_pci_range_parser { - struct device_node *node; - const struct of_bus *bus; - const __be32 *range; - const __be32 *end; - int na; - int ns; - int pna; - bool dma; -}; - -struct of_phandle_args { - struct device_node *np; - int args_count; - uint32_t args[16]; -}; - -struct offset_ctx { - struct maple_tree mt; - long unsigned int next_offset; -}; - -struct ohci_driver_overrides { - const char *product_desc; - size_t extra_priv_size; - int (*reset)(struct usb_hcd *); -}; - -struct ohci_hcca { - __hc32 int_table[32]; - __hc32 frame_no; - __hc32 done_head; - u8 reserved_for_hc[116]; - u8 what[4]; -}; - -struct ohci_regs; - -struct ohci_hcd { - spinlock_t lock; - struct ohci_regs *regs; - struct ohci_hcca *hcca; - dma_addr_t hcca_dma; - struct ed *ed_rm_list; - struct ed *ed_bulktail; - struct ed *ed_controltail; - struct ed *periodic[32]; - void (*start_hnp)(struct ohci_hcd *); - struct dma_pool *td_cache; - struct dma_pool *ed_cache; - struct td *td_hash[64]; - struct td *dl_start; - struct td *dl_end; - struct list_head pending; - struct list_head eds_in_use; - enum ohci_rh_state rh_state; - int num_ports; - int load[32]; - u32 hc_control; - long unsigned int next_statechange; - u32 fminterval; - unsigned int autostop: 1; - unsigned int working: 1; - unsigned int restart_work: 1; - long unsigned int flags; - unsigned int prev_frame_no; - unsigned int wdh_cnt; - unsigned int prev_wdh_cnt; - u32 prev_donehead; - struct timer_list io_watchdog; - struct work_struct nec_work; - struct dentry *debug_dir; - long unsigned int priv[0]; -}; - -struct ohci_platform_priv { - struct clk *clks[4]; - struct reset_control *resets; -}; - -struct ohci_roothub_regs { - __hc32 a; - __hc32 b; - __hc32 status; - __hc32 portstatus[15]; -}; - -struct ohci_regs { - __hc32 revision; - __hc32 control; - __hc32 cmdstatus; - __hc32 intrstatus; - __hc32 intrenable; - __hc32 intrdisable; - __hc32 hcca; - __hc32 ed_periodcurrent; - __hc32 ed_controlhead; - __hc32 ed_controlcurrent; - __hc32 ed_bulkhead; - __hc32 ed_bulkcurrent; - __hc32 donehead; - __hc32 fminterval; - __hc32 fmremaining; - __hc32 fmnumber; - __hc32 periodicstart; - __hc32 lsthresh; - struct ohci_roothub_regs roothub; - long: 64; - long: 64; -}; - -struct old_timespec32 { - old_time32_t tv_sec; - s32 tv_nsec; -}; - -struct old_itimerspec32 { - struct old_timespec32 it_interval; - struct old_timespec32 it_value; -}; - -struct old_itimerval32 { - struct old_timeval32 it_interval; - struct old_timeval32 it_value; -}; - -struct old_linux_dirent { - long unsigned int d_ino; - long unsigned int d_offset; - short unsigned int d_namlen; - char d_name[0]; -}; - -struct old_serial_port { - unsigned int uart; - unsigned int baud_base; - unsigned int port; - unsigned int irq; - upf_t flags; - unsigned char io_type; - unsigned char *iomem_base; - short unsigned int iomem_reg_shift; -}; - -struct old_timex32 { - u32 modes; - s32 offset; - s32 freq; - s32 maxerror; - s32 esterror; - s32 status; - s32 constant; - s32 precision; - s32 tolerance; - struct old_timeval32 time; - s32 tick; - s32 ppsfreq; - s32 jitter; - s32 shift; - s32 stabil; - s32 jitcnt; - s32 calcnt; - s32 errcnt; - s32 stbcnt; - s32 tai; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct old_utimbuf32 { - old_time32_t actime; - old_time32_t modtime; -}; - -struct old_utsname { - char sysname[65]; - char nodename[65]; - char release[65]; - char version[65]; - char machine[65]; -}; - -struct oldold_utsname { - char sysname[9]; - char nodename[9]; - char release[9]; - char version[9]; - char machine[9]; -}; - -struct once_work { - struct work_struct work; - struct static_key_true *key; - struct module *module; -}; - -struct online_data { - unsigned int cpu; - bool online; -}; - -struct oom_control { - struct zonelist *zonelist; - nodemask_t *nodemask; - struct mem_cgroup *memcg; - const gfp_t gfp_mask; - const int order; - long unsigned int totalpages; - struct task_struct *chosen; - long int chosen_points; - enum oom_constraint constraint; -}; - -struct oom_wait_info { - struct mem_cgroup *memcg; - wait_queue_entry_t wait; -}; - -struct opal_compacket { - __be32 reserved0; - u8 extendedComID[4]; - __be32 outstandingData; - __be32 minTransfer; - __be32 length; -}; - -struct opal_data_subpacket { - u8 reserved0[6]; - __be16 kind; - __be32 length; -}; - -typedef int sec_send_recv(void *, u16, u8, void *, size_t, bool); - -struct opal_resp_tok { - const u8 *pos; - size_t len; - enum opal_response_token type; - enum opal_atom_width width; - union { - u64 u; - s64 s; - } stored; -}; - -struct parsed_resp { - int num; - struct opal_resp_tok toks[64]; -}; - -struct opal_dev { - u32 flags; - void *data; - sec_send_recv *send_recv; - struct mutex dev_lock; - u16 comid; - u32 hsn; - u32 tsn; - u64 align; - u64 lowest_lba; - u32 logical_block_size; - u8 align_required; - size_t pos; - u8 *cmd; - u8 *resp; - struct parsed_resp parsed; - size_t prev_d_len; - void *prev_data; - struct list_head unlk_lst; -}; - -struct opal_discovery { - __u64 data; - __u64 size; -}; - -struct opal_geometry { - __u8 align; - __u32 logical_block_size; - __u64 alignment_granularity; - __u64 lowest_aligned_lba; - __u8 __align[3]; -}; - -struct opal_packet { - __be32 tsn; - __be32 hsn; - __be32 seq_number; - __be16 reserved0; - __be16 ack_type; - __be32 acknowledgment; - __be32 length; -}; - -struct opal_header { - struct opal_compacket cp; - struct opal_packet pkt; - struct opal_data_subpacket subpkt; -}; - -struct opal_key { - __u8 lr; - __u8 key_len; - __u8 key_type; - __u8 __align[5]; - __u8 key[256]; -}; - -struct opal_session_info { - __u32 sum; - __u32 who; - struct opal_key opal_key; -}; - -struct opal_lock_unlock { - struct opal_session_info session; - __u32 l_state; - __u16 flags; - __u8 __align[2]; -}; - -struct opal_lr_act { - struct opal_key key; - __u32 sum; - __u8 num_lrs; - __u8 lr[9]; - __u8 align[2]; -}; - -struct opal_lr_status { - struct opal_session_info session; - __u64 range_start; - __u64 range_length; - __u32 RLE; - __u32 WLE; - __u32 l_state; - __u8 align[4]; -}; - -struct opal_mbr_data { - struct opal_key key; - __u8 enable_disable; - __u8 __align[7]; -}; - -struct opal_mbr_done { - struct opal_key key; - __u8 done_flag; - __u8 __align[7]; -}; - -struct opal_new_pw { - struct opal_session_info session; - struct opal_session_info new_user_pw; -}; - -struct opal_read_write_table { - struct opal_key key; - const __u64 data; - const __u8 table_uid[8]; - __u64 offset; - __u64 size; - __u64 flags; - __u64 priv; -}; - -struct opal_revert_lsp { - struct opal_key key; - __u32 options; - __u32 __pad; -}; - -struct opal_shadow_mbr { - struct opal_key key; - const __u64 data; - __u64 offset; - __u64 size; -}; - -struct opal_status { - __u32 flags; - __u32 reserved; -}; - -struct opal_step { - int (*fn)(struct opal_dev *, void *); - void *data; -}; - -struct opal_suspend_data { - struct opal_lock_unlock unlk; - u8 lr; - struct list_head node; -}; - -struct opal_user_lr_setup { - __u64 range_start; - __u64 range_length; - __u32 RLE; - __u32 WLE; - struct opal_session_info session; -}; - -struct open_flags { - int open_flag; - umode_t mode; - int acc_mode; - int intent; - int lookup_flags; -}; - -struct opp_config_data { - struct opp_table *opp_table; - unsigned int flags; - unsigned int required_dev_index; -}; - -struct opp_device { - struct list_head node; - const struct device *dev; - struct dentry *dentry; -}; - -struct opp_table { - struct list_head node; - struct list_head lazy; - struct blocking_notifier_head head; - struct list_head dev_list; - struct list_head opp_list; - struct kref kref; - struct mutex lock; - struct device_node *np; - long unsigned int clock_latency_ns_max; - unsigned int voltage_tolerance_v1; - unsigned int parsed_static_opps; - enum opp_table_access shared_opp; - long unsigned int current_rate_single_clk; - struct dev_pm_opp *current_opp; - struct dev_pm_opp *suspend_opp; - struct opp_table **required_opp_tables; - struct device **required_devs; - unsigned int required_opp_count; - unsigned int *supported_hw; - unsigned int supported_hw_count; - const char *prop_name; - config_clks_t config_clks; - struct clk **clks; - struct clk *clk; - int clk_count; - config_regulators_t config_regulators; - struct regulator **regulators; - int regulator_count; - struct icc_path **paths; - unsigned int path_count; - bool enabled; - bool is_genpd; - struct dentry *dentry; - char dentry_name[255]; -}; - -struct optimistic_spin_node { - struct optimistic_spin_node *next; - struct optimistic_spin_node *prev; - int locked; - int cpu; -}; - -struct optimized_kprobe { - struct kprobe kp; - struct list_head list; - struct arch_optimized_insn optinsn; -}; - -struct orlov_stats { - __u64 free_clusters; - __u32 free_inodes; - __u32 used_dirs; -}; - -struct osapsess { - uint32_t handle; - unsigned char secret[20]; - unsigned char enonce[20]; -}; - -struct osn_irq { - u64 count; - u64 arrival_time; - u64 delta_start; -}; - -struct osn_nmi { - u64 count; - u64 delta_start; -}; - -struct osn_softirq { - u64 count; - u64 arrival_time; - u64 delta_start; -}; - -struct osn_thread { - u64 count; - u64 arrival_time; - u64 delta_start; -}; - -struct osnoise_data { - u64 sample_period; - u64 sample_runtime; - u64 stop_tracing; - u64 stop_tracing_total; - u64 timerlat_period; - u64 print_stack; - int timerlat_tracer; - bool tainted; -}; - -struct osnoise_entry { - struct trace_entry ent; - u64 noise; - u64 runtime; - u64 max_sample; - unsigned int hw_count; - unsigned int nmi_count; - unsigned int irq_count; - unsigned int softirq_count; - unsigned int thread_count; -}; - -struct osnoise_instance { - struct list_head list; - struct trace_array *tr; -}; - -struct osnoise_sample { - u64 runtime; - u64 noise; - u64 max_sample; - int hw_count; - int nmi_count; - int irq_count; - int softirq_count; - int thread_count; -}; - -struct osnoise_variables { - struct task_struct *kthread; - bool sampling; - pid_t pid; - struct osn_nmi nmi; - struct osn_irq irq; - struct osn_softirq softirq; - struct osn_thread thread; - local_t int_counter; -}; - -struct out_of_bounds_data { - struct source_location location; - struct type_descriptor *array_type; - struct type_descriptor *index_type; -}; - -struct overflow_data { - struct source_location location; - struct type_descriptor *type; -}; - -struct x86_cpu_id { - __u16 vendor; - __u16 family; - __u16 model; - __u16 steppings; - __u16 feature; - __u16 flags; - __u8 type; - kernel_ulong_t driver_data; -}; - -struct override_status_id { - struct acpi_device_id hid[2]; - struct x86_cpu_id cpu_ids[2]; - struct dmi_system_id dmi_ids[2]; - const char *uid; - const char *path; - long long unsigned int status; -}; - -struct ovmf_debug_log_header { - u64 magic1; - u64 magic2; - u64 hdr_size; - u64 log_size; - u64 lock; - u64 head_off; - u64 tail_off; - u64 truncated; - u8 fw_version[128]; -}; - -struct p2sb_res_cache { - u32 bus_dev_id; - struct resource res; -}; - -struct p4_event_alias { - u64 original; - u64 alternative; -}; - -struct p4_event_bind { - unsigned int opcode; - unsigned int escr_msr[2]; - unsigned int escr_emask; - unsigned int shared; - signed char cntr[6]; -}; - -struct p4_pebs_bind { - unsigned int metric_pebs; - unsigned int metric_vert; -}; - -struct pacct_struct { - int ac_flag; - long int ac_exitcode; - long unsigned int ac_mem; - u64 ac_utime; - u64 ac_stime; - long unsigned int ac_minflt; - long unsigned int ac_majflt; -}; - -struct packed_field_u16 { - u16 startbit; - u16 endbit; - u16 offset; - u16 size; -}; - -struct packed_field_u8 { - u8 startbit; - u8 endbit; - u8 offset; - u8 size; -}; - -struct scsi_sense_hdr; - -struct packet_command { - unsigned char cmd[12]; - unsigned char *buffer; - unsigned int buflen; - int stat; - struct scsi_sense_hdr *sshdr; - unsigned char data_direction; - int quiet; - int timeout; - void *reserved[1]; -}; - -struct packet_fanout { - possible_net_t net; - unsigned int num_members; - u32 max_num_members; - u16 id; - u8 type; - u8 flags; - union { - atomic_t rr_cur; - struct bpf_prog *bpf_prog; - }; - struct list_head list; - spinlock_t lock; - refcount_t sk_ref; - long: 64; - struct packet_type prot_hook; - struct sock *arr[0]; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct packet_mclist { - struct packet_mclist *next; - int ifindex; - int count; - short unsigned int type; - short unsigned int alen; - unsigned char addr[32]; - struct list_head remove_list; -}; - -struct packet_mreq_max { - int mr_ifindex; - short unsigned int mr_type; - short unsigned int mr_alen; - unsigned char mr_address[32]; -}; - -struct pgv; - -struct tpacket_kbdq_core { - struct pgv *pkbdq; - unsigned int feature_req_word; - unsigned int hdrlen; - unsigned char reset_pending_on_curr_blk; - unsigned char delete_blk_timer; - short unsigned int kactive_blk_num; - short unsigned int blk_sizeof_priv; - short unsigned int last_kactive_blk_num; - char *pkblk_start; - char *pkblk_end; - int kblk_size; - unsigned int max_frame_len; - unsigned int knum_blocks; - uint64_t knxt_seq_num; - char *prev; - char *nxt_offset; - struct sk_buff *skb; - rwlock_t blk_fill_in_prog_lock; - short unsigned int retire_blk_tov; - short unsigned int version; - long unsigned int tov_in_jiffies; - struct timer_list retire_blk_timer; -}; - -struct packet_ring_buffer { - struct pgv *pg_vec; - unsigned int head; - unsigned int frames_per_block; - unsigned int frame_size; - unsigned int frame_max; - unsigned int pg_vec_order; - unsigned int pg_vec_pages; - unsigned int pg_vec_len; - unsigned int *pending_refcnt; - union { - long unsigned int *rx_owner_map; - struct tpacket_kbdq_core prb_bdqc; - }; -}; - -struct packet_rollover { - int sock; - atomic_long_t num; - atomic_long_t num_huge; - atomic_long_t num_failed; - long: 64; - long: 64; - long: 64; - long: 64; - u32 history[16]; -}; - -struct sockaddr_pkt { - short unsigned int spkt_family; - unsigned char spkt_device[14]; - __be16 spkt_protocol; -}; - -struct sockaddr_ll { - short unsigned int sll_family; - __be16 sll_protocol; - int sll_ifindex; - short unsigned int sll_hatype; - unsigned char sll_pkttype; - unsigned char sll_halen; - unsigned char sll_addr[8]; -}; - -struct packet_skb_cb { - union { - struct sockaddr_pkt pkt; - union { - unsigned int origlen; - struct sockaddr_ll ll; - }; - } sa; -}; - -struct tpacket_stats { - unsigned int tp_packets; - unsigned int tp_drops; -}; - -struct tpacket_stats_v3 { - unsigned int tp_packets; - unsigned int tp_drops; - unsigned int tp_freeze_q_cnt; -}; - -union tpacket_stats_u { - struct tpacket_stats stats1; - struct tpacket_stats_v3 stats3; -}; - -struct packet_sock { - struct sock sk; - struct packet_fanout *fanout; - union tpacket_stats_u stats; - struct packet_ring_buffer rx_ring; - struct packet_ring_buffer tx_ring; - int copy_thresh; - spinlock_t bind_lock; - struct mutex pg_vec_lock; - long unsigned int flags; - int ifindex; - u8 vnet_hdr_sz; - __be16 num; - struct packet_rollover *rollover; - struct packet_mclist *mclist; - atomic_long_t mapped; - enum tpacket_versions tp_version; - unsigned int tp_hdrlen; - unsigned int tp_reserve; - unsigned int tp_tstamp; - struct completion skb_completion; - struct net_device *cached_dev; - struct packet_type prot_hook; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - atomic_t tp_drops; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct padata_cpumask { - cpumask_var_t pcpu; - cpumask_var_t cbcpu; -}; - -struct padata_instance { - struct hlist_node cpu_online_node; - struct hlist_node cpu_dead_node; - struct workqueue_struct *parallel_wq; - struct workqueue_struct *serial_wq; - struct list_head pslist; - struct padata_cpumask cpumask; - struct kobject kobj; - struct mutex lock; - u8 flags; -}; - -struct padata_list { - struct list_head list; - spinlock_t lock; -}; - -struct padata_mt_job { - void (*thread_fn)(long unsigned int, long unsigned int, void *); - void *fn_arg; - long unsigned int start; - long unsigned int size; - long unsigned int align; - long unsigned int min_chunk; - int max_threads; - bool numa_aware; -}; - -struct padata_mt_job_state { - spinlock_t lock; - struct completion completion; - struct padata_mt_job *job; - int nworks; - int nworks_fini; - long unsigned int chunk_size; -}; - -struct parallel_data; - -struct padata_priv { - struct list_head list; - struct parallel_data *pd; - int cb_cpu; - unsigned int seq_nr; - int info; - void (*parallel)(struct padata_priv *); - void (*serial)(struct padata_priv *); -}; - -struct padata_serial_queue { - struct padata_list serial; - struct work_struct work; - struct parallel_data *pd; -}; - -struct padata_shell { - struct padata_instance *pinst; - struct parallel_data *pd; - struct parallel_data *opd; - struct list_head list; -}; - -struct padata_sysfs_entry { - struct attribute attr; - ssize_t (*show)(struct padata_instance *, struct attribute *, char *); - ssize_t (*store)(struct padata_instance *, struct attribute *, const char *, size_t); -}; - -struct padata_work { - struct work_struct pw_work; - struct list_head pw_list; - void *pw_data; -}; - -typedef struct page *pgtable_t; - -struct printf_spec; - -struct page_flags_fields { - int width; - int shift; - int mask; - const struct printf_spec *spec; - const char *name; -}; - -struct page_list { - struct page_list *next; - struct page *page; -}; - -struct page_pool_params_fast { - unsigned int order; - unsigned int pool_size; - int nid; - struct device *dev; - struct napi_struct *napi; - enum dma_data_direction dma_dir; - unsigned int max_len; - unsigned int offset; -}; - -struct page_pool_alloc_stats { - u64 fast; - u64 slow; - u64 slow_high_order; - u64 empty; - u64 refill; - u64 waive; -}; - -struct pp_alloc_cache { - u32 count; - netmem_ref cache[128]; -}; - -struct ptr_ring { - int producer; - spinlock_t producer_lock; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - int consumer_head; - int consumer_tail; - spinlock_t consumer_lock; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - int size; - int batch; - void **queue; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct page_pool_params_slow { - struct net_device *netdev; - unsigned int queue_idx; - unsigned int flags; - void (*init_callback)(netmem_ref, void *); - void *init_arg; -}; - -struct page_pool_recycle_stats; - -struct page_pool { - struct page_pool_params_fast p; - int cpuid; - u32 pages_state_hold_cnt; - bool has_init_callback: 1; - bool dma_map: 1; - bool dma_sync: 1; - bool dma_sync_for_cpu: 1; - bool system: 1; - long: 0; - __u8 __cacheline_group_begin__frag[0]; - long int frag_users; - netmem_ref frag_page; - unsigned int frag_offset; - long: 0; - __u8 __cacheline_group_end__frag[0]; - long: 64; - struct {} __cacheline_group_pad__frag; - struct delayed_work release_dw; - void (*disconnect)(void *); - long unsigned int defer_start; - long unsigned int defer_warn; - struct page_pool_alloc_stats alloc_stats; - u32 xdp_mem_id; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - struct pp_alloc_cache alloc; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - struct ptr_ring ring; - void *mp_priv; - const struct memory_provider_ops *mp_ops; - struct xarray dma_mapped; - struct page_pool_recycle_stats *recycle_stats; - atomic_t pages_state_release_cnt; - refcount_t user_cnt; - u64 destroy_cnt; - struct page_pool_params_slow slow; - struct { - struct hlist_node list; - u64 detach_time; - u32 id; - } user; - long: 64; -}; - -struct page_pool_bh { - struct page_pool *pool; - local_lock_t bh_lock; -}; - -struct page_pool_dump_cb { - long unsigned int ifindex; - u32 pp_id; -}; - -struct page_pool_params { - union { - struct { - unsigned int order; - unsigned int pool_size; - int nid; - struct device *dev; - struct napi_struct *napi; - enum dma_data_direction dma_dir; - unsigned int max_len; - unsigned int offset; - }; - struct page_pool_params_fast fast; - }; - union { - struct { - struct net_device *netdev; - unsigned int queue_idx; - unsigned int flags; - void (*init_callback)(netmem_ref, void *); - void *init_arg; - }; - struct page_pool_params_slow slow; - }; -}; - -struct page_pool_recycle_stats { - u64 cached; - u64 cache_full; - u64 ring; - u64 ring_full; - u64 released_refcnt; -}; - -struct page_pool_stats { - struct page_pool_alloc_stats alloc_stats; - struct page_pool_recycle_stats recycle_stats; -}; - -struct page_region { - __u64 start; - __u64 end; - __u64 categories; -}; - -struct page_reporting_dev_info { - int (*report)(struct page_reporting_dev_info *, struct scatterlist *, unsigned int); - struct delayed_work work; - atomic_t state; - unsigned int order; -}; - -struct page_req_dsc { - union { - struct { - u64 type: 8; - u64 pasid_present: 1; - u64 rsvd: 7; - u64 rid: 16; - u64 pasid: 20; - u64 exe_req: 1; - u64 pm_req: 1; - u64 rsvd2: 10; - }; - u64 qw_0; - }; - union { - struct { - u64 rd_req: 1; - u64 wr_req: 1; - u64 lpig: 1; - u64 prg_index: 9; - u64 addr: 52; - }; - u64 qw_1; - }; - u64 qw_2; - u64 qw_3; -}; - -struct page_snapshot { - struct folio folio_snapshot; - struct page page_snapshot; - long unsigned int pfn; - long unsigned int idx; - long unsigned int flags; - long: 64; -}; - -struct page_state { - long unsigned int mask; - long unsigned int res; - enum mf_action_page_type type; - int (*action)(struct page_state *, struct page *); -}; - -struct page_vma_mapped_walk { - long unsigned int pfn; - long unsigned int nr_pages; - long unsigned int pgoff; - struct vm_area_struct *vma; - long unsigned int address; - pmd_t *pmd; - pte_t *pte; - spinlock_t *ptl; - unsigned int flags; -}; - -struct pm_scan_arg { - __u64 size; - __u64 flags; - __u64 start; - __u64 end; - __u64 walk_end; - __u64 vec; - __u64 vec_len; - __u64 max_pages; - __u64 category_inverted; - __u64 category_mask; - __u64 category_anyof_mask; - __u64 return_mask; -}; - -struct pagemap_scan_private { - struct pm_scan_arg arg; - long unsigned int masks_of_interest; - long unsigned int cur_vma_category; - struct page_region *vec_buf; - long unsigned int vec_buf_len; - long unsigned int vec_buf_index; - long unsigned int found_pages; - struct page_region *vec_out; -}; - -struct pagemapread { - int pos; - int len; - pagemap_entry_t *buffer; - bool show_pfn; -}; - -struct pagerange_state { - long unsigned int cur_pfn; - int ram; - int not_ram; -}; - -struct pages_devres { - long unsigned int addr; - unsigned int order; -}; - -struct pages_or_folios { - union { - struct page **pages; - struct folio **folios; - void **entries; - }; - bool has_folios; - long int nr_entries; -}; - -struct pagetable_move_control { - struct vm_area_struct *old; - struct vm_area_struct *new; - long unsigned int old_addr; - long unsigned int old_end; - long unsigned int new_addr; - long unsigned int len_in; - bool need_rmap_locks; - bool for_stack; -}; - -struct palmas_gpadc; - -struct palmas_pmic_driver_data; - -struct palmas_pmic; - -struct palmas_resource; - -struct palmas_usb; - -struct palmas { - struct device *dev; - struct i2c_client *i2c_clients[3]; - struct regmap *regmap[3]; - int id; - unsigned int features; - int irq; - u32 irq_mask; - struct mutex irq_lock; - struct regmap_irq_chip_data *irq_data; - struct palmas_pmic_driver_data *pmic_ddata; - struct palmas_pmic *pmic; - struct palmas_gpadc *gpadc; - struct palmas_resource *resource; - struct palmas_usb *usb; - u8 gpio_muxed; - u8 led_muxed; - u8 pwm_muxed; -}; - -struct palmas_clk_platform_data { - int clk32kg_mode_sleep; - int clk32kgaudio_mode_sleep; -}; - -struct palmas_device_data { - int ngpio; -}; - -struct palmas_driver_data { - unsigned int features; - const struct regmap_irq_chip *irq_chip; -}; - -struct palmas_gpadc_platform_data { - int ch3_current; - int ch0_current; - bool extended_delay; - int bat_removal; - int start_polarity; - int auto_conversion_period_ms; -}; - -struct palmas_gpio { - struct gpio_chip gpio_chip; - struct palmas *palmas; -}; - -struct palmas_pmic_platform_data; - -struct palmas_usb_platform_data; - -struct palmas_resource_platform_data; - -struct palmas_platform_data { - int irq_flags; - int gpio_base; - u8 power_ctrl; - int mux_from_pdata; - u8 pad1; - u8 pad2; - bool pm_off; - struct palmas_pmic_platform_data *pmic_pdata; - struct palmas_gpadc_platform_data *gpadc_pdata; - struct palmas_usb_platform_data *usb_pdata; - struct palmas_resource_platform_data *resource_pdata; - struct palmas_clk_platform_data *clk_pdata; -}; - -struct regulator_config; - -struct regulator_ops; - -struct regulator_desc { - const char *name; - const char *supply_name; - const char *of_match; - bool of_match_full_name; - const char *regulators_node; - int (*of_parse_cb)(struct device_node *, const struct regulator_desc *, struct regulator_config *); - int (*init_cb)(struct regulator_dev *, struct regulator_config *); - int id; - unsigned int continuous_voltage_range: 1; - unsigned int n_voltages; - unsigned int n_current_limits; - const struct regulator_ops *ops; - int irq; - enum regulator_type type; - struct module *owner; - unsigned int min_uV; - unsigned int uV_step; - unsigned int linear_min_sel; - int fixed_uV; - unsigned int ramp_delay; - int min_dropout_uV; - const struct linear_range *linear_ranges; - const unsigned int *linear_range_selectors_bitfield; - int n_linear_ranges; - const unsigned int *volt_table; - const unsigned int *curr_table; - unsigned int vsel_range_reg; - unsigned int vsel_range_mask; - bool range_applied_by_vsel; - unsigned int vsel_reg; - unsigned int vsel_mask; - unsigned int vsel_step; - unsigned int csel_reg; - unsigned int csel_mask; - unsigned int apply_reg; - unsigned int apply_bit; - unsigned int enable_reg; - unsigned int enable_mask; - unsigned int enable_val; - unsigned int disable_val; - bool enable_is_inverted; - unsigned int bypass_reg; - unsigned int bypass_mask; - unsigned int bypass_val_on; - unsigned int bypass_val_off; - unsigned int active_discharge_on; - unsigned int active_discharge_off; - unsigned int active_discharge_mask; - unsigned int active_discharge_reg; - unsigned int soft_start_reg; - unsigned int soft_start_mask; - unsigned int soft_start_val_on; - unsigned int pull_down_reg; - unsigned int pull_down_mask; - unsigned int pull_down_val_on; - unsigned int ramp_reg; - unsigned int ramp_mask; - const unsigned int *ramp_delay_table; - unsigned int n_ramp_values; - unsigned int enable_time; - unsigned int off_on_delay; - unsigned int poll_enabled_time; - unsigned int (*of_map_mode)(unsigned int); -}; - -struct palmas_pmic { - struct palmas *palmas; - struct device *dev; - struct regulator_desc desc[27]; - struct mutex mutex; - int smps123; - int smps457; - int smps12; - int range[10]; - unsigned int ramp_delay[10]; - unsigned int current_reg_mode[10]; -}; - -struct of_regulator_match; - -struct palmas_regs_info; - -struct palmas_sleep_requestor_info; - -struct palmas_pmic_driver_data { - int smps_start; - int smps_end; - int ldo_begin; - int ldo_end; - int max_reg; - bool has_regen3; - struct palmas_regs_info *palmas_regs_info; - struct of_regulator_match *palmas_matches; - struct palmas_sleep_requestor_info *sleep_req_info; - int (*smps_register)(struct palmas_pmic *, struct palmas_pmic_driver_data *, struct palmas_pmic_platform_data *, const char *, struct regulator_config); - int (*ldo_register)(struct palmas_pmic *, struct palmas_pmic_driver_data *, struct palmas_pmic_platform_data *, const char *, struct regulator_config); -}; - -struct palmas_reg_init; - -struct palmas_pmic_platform_data { - struct regulator_init_data *reg_data[27]; - struct palmas_reg_init *reg_init[27]; - int ldo6_vibrator; - bool enable_ldo8_tracking; -}; - -struct palmas_reg_init { - int warm_reset; - int roof_floor; - int mode_sleep; - u8 vsel; -}; - -struct palmas_regs_info { - const char *name; - const char *sname; - u8 vsel_addr; - u8 ctrl_addr; - u8 tstep_addr; - int sleep_id; -}; - -struct palmas_resource { - struct palmas *palmas; - struct device *dev; -}; - -struct palmas_resource_platform_data { - int regen1_mode_sleep; - int regen2_mode_sleep; - int sysen1_mode_sleep; - int sysen2_mode_sleep; - u8 nsleep_res; - u8 nsleep_smps; - u8 nsleep_ldo1; - u8 nsleep_ldo2; - u8 enable1_res; - u8 enable1_smps; - u8 enable1_ldo1; - u8 enable1_ldo2; - u8 enable2_res; - u8 enable2_smps; - u8 enable2_ldo1; - u8 enable2_ldo2; -}; - -struct palmas_sleep_requestor_info { - int id; - int reg_offset; - int bit_pos; -}; - -struct palmas_usb { - struct palmas *palmas; - struct device *dev; - struct extcon_dev *edev; - int id_otg_irq; - int id_irq; - int vbus_otg_irq; - int vbus_irq; - int gpio_id_irq; - int gpio_vbus_irq; - struct gpio_desc *id_gpiod; - struct gpio_desc *vbus_gpiod; - long unsigned int sw_debounce_jiffies; - struct delayed_work wq_detectid; - enum palmas_usb_state linkstat; - int wakeup; - bool enable_vbus_detection; - bool enable_id_detection; - bool enable_gpio_id_detection; - bool enable_gpio_vbus_detection; -}; - -struct palmas_usb_platform_data { - int wakeup; -}; - -struct panel_bridge { - struct drm_bridge bridge; - struct drm_connector connector; - struct drm_panel *panel; - u32 connector_type; -}; - -struct parallel_data { - struct padata_shell *ps; - struct padata_list *reorder_list; - struct padata_serial_queue *squeue; - refcount_t refcnt; - unsigned int seq_nr; - unsigned int processed; - int cpu; - struct padata_cpumask cpumask; -}; - -struct thermal_genl_cpu_caps; - -struct param { - struct nlattr **attrs; - struct sk_buff *msg; - const char *name; - int tz_id; - int cdev_id; - int trip_id; - int trip_temp; - int trip_type; - int trip_hyst; - int temp; - int prev_temp; - int direction; - int cdev_state; - int cdev_max_state; - struct thermal_genl_cpu_caps *cpu_capabilities; - int cpu_capabilities_count; -}; - -struct paravirt_callee_save { - void *func; -}; - -struct thread_struct; - -struct pv_cpu_ops { - void (*io_delay)(void); - long unsigned int (*get_debugreg)(int); - void (*set_debugreg)(int, long unsigned int); - long unsigned int (*read_cr0)(void); - void (*write_cr0)(long unsigned int); - void (*write_cr4)(long unsigned int); - void (*load_tr_desc)(void); - void (*load_gdt)(const struct desc_ptr *); - void (*load_idt)(const struct desc_ptr *); - void (*set_ldt)(const void *, unsigned int); - long unsigned int (*store_tr)(void); - void (*load_tls)(struct thread_struct *, unsigned int); - void (*load_gs_index)(unsigned int); - void (*write_ldt_entry)(struct desc_struct *, int, const void *); - void (*write_gdt_entry)(struct desc_struct *, int, const void *, int); - void (*write_idt_entry)(gate_desc *, int, const gate_desc *); - void (*alloc_ldt)(struct desc_struct *, unsigned int); - void (*free_ldt)(struct desc_struct *, unsigned int); - void (*load_sp0)(long unsigned int); - void (*invalidate_io_bitmap)(void); - void (*update_io_bitmap)(void); - void (*cpuid)(unsigned int *, unsigned int *, unsigned int *, unsigned int *); - u64 (*read_msr)(u32); - void (*write_msr)(u32, u64); - int (*read_msr_safe)(u32, u64 *); - int (*write_msr_safe)(u32, u64); - u64 (*read_pmc)(int); - void (*start_context_switch)(struct task_struct *); - void (*end_context_switch)(struct task_struct *); -}; - -struct pv_irq_ops { - struct paravirt_callee_save save_fl; - struct paravirt_callee_save irq_disable; - struct paravirt_callee_save irq_enable; - void (*safe_halt)(void); - void (*halt)(void); -}; - -struct pv_lazy_ops { - void (*enter)(void); - void (*leave)(void); - void (*flush)(void); -}; - -struct pv_mmu_ops { - void (*flush_tlb_user)(void); - void (*flush_tlb_kernel)(void); - void (*flush_tlb_one_user)(long unsigned int); - void (*flush_tlb_multi)(const struct cpumask *, const struct flush_tlb_info *); - void (*exit_mmap)(struct mm_struct *); - void (*notify_page_enc_status_changed)(long unsigned int, int, bool); - struct paravirt_callee_save read_cr2; - void (*write_cr2)(long unsigned int); - long unsigned int (*read_cr3)(void); - void (*write_cr3)(long unsigned int); - void (*enter_mmap)(struct mm_struct *); - int (*pgd_alloc)(struct mm_struct *); - void (*pgd_free)(struct mm_struct *, pgd_t *); - void (*alloc_pte)(struct mm_struct *, long unsigned int); - void (*alloc_pmd)(struct mm_struct *, long unsigned int); - void (*alloc_pud)(struct mm_struct *, long unsigned int); - void (*alloc_p4d)(struct mm_struct *, long unsigned int); - void (*release_pte)(long unsigned int); - void (*release_pmd)(long unsigned int); - void (*release_pud)(long unsigned int); - void (*release_p4d)(long unsigned int); - void (*set_pte)(pte_t *, pte_t); - void (*set_pmd)(pmd_t *, pmd_t); - pte_t (*ptep_modify_prot_start)(struct vm_area_struct *, long unsigned int, pte_t *); - void (*ptep_modify_prot_commit)(struct vm_area_struct *, long unsigned int, pte_t *, pte_t); - struct paravirt_callee_save pte_val; - struct paravirt_callee_save make_pte; - struct paravirt_callee_save pgd_val; - struct paravirt_callee_save make_pgd; - void (*set_pud)(pud_t *, pud_t); - struct paravirt_callee_save pmd_val; - struct paravirt_callee_save make_pmd; - struct paravirt_callee_save pud_val; - struct paravirt_callee_save make_pud; - void (*set_p4d)(p4d_t *, p4d_t); - struct paravirt_callee_save p4d_val; - struct paravirt_callee_save make_p4d; - void (*set_pgd)(pgd_t *, pgd_t); - struct pv_lazy_ops lazy_mode; - void (*set_fixmap)(unsigned int, phys_addr_t, pgprot_t); -}; - -struct pv_lock_ops { - void (*queued_spin_lock_slowpath)(struct qspinlock *, u32); - struct paravirt_callee_save queued_spin_unlock; - void (*wait)(u8 *, u8); - void (*kick)(int); - struct paravirt_callee_save vcpu_is_preempted; -}; - -struct paravirt_patch_template { - struct pv_cpu_ops cpu; - struct pv_irq_ops irq; - struct pv_mmu_ops mmu; - struct pv_lock_ops lock; -}; - -struct parsed_desc { - u32 mb; - u32 valid; -}; - -struct partition_meta_info { - char uuid[37]; - u8 volname[64]; -}; - -struct parsed_partitions { - struct gendisk *disk; - char name[32]; - struct { - sector_t from; - sector_t size; - int flags; - bool has_info; - struct partition_meta_info info; - } *parts; - int next; - int limit; - bool access_beyond_eod; - char *pp_buf; -}; - -struct partial_cluster { - ext4_fsblk_t pclu; - ext4_lblk_t lblk; - enum { - initial = 0, - tofree = 1, - nofree = 2, - } state; -}; - -struct partial_context { - gfp_t flags; - unsigned int orig_size; - void *object; -}; - -struct partial_page { - unsigned int offset; - unsigned int len; - long unsigned int private; -}; - -struct partition_info { - u8 flg; - char id[3]; - __be32 st; - __be32 siz; -}; - -union partition_info_u { - u64 val; - struct { - u64 hub_version: 8; - u64 partition_id: 16; - u64 coherence_id: 16; - u64 region_size: 24; - }; -}; - -struct pasid_dir_entry { - u64 val; -}; - -struct pasid_entry { - u64 val[8]; -}; - -struct pasid_table { - void *table; - u32 max_pasid; -}; - -struct patch_digest { - u32 patch_id; - u8 sha256[32]; -}; - -struct path_cond { - kuid_t uid; - umode_t mode; -}; - -struct pause_reply_data { - struct ethnl_reply_data base; - struct ethtool_pauseparam pauseparam; - struct ethtool_pause_stats pausestat; -}; - -struct pause_req_info { - struct ethnl_req_info base; - enum ethtool_mac_stats_src src; -}; - -struct pbe { - void *address; - void *orig_address; - struct pbe *next; -}; - -struct pcap_adc_request { - u8 bank; - u8 ch[2]; - u32 flags; - void (*callback)(void *, u16 *); - void *data; -}; - -struct spi_device; - -struct pcap_chip { - struct spi_device *spi; - u32 buf; - spinlock_t io_lock; - unsigned int irq_base; - u32 msr; - struct work_struct isr_work; - struct work_struct msr_work; - struct workqueue_struct *workqueue; - struct pcap_adc_request *adc_queue[8]; - u8 adc_head; - u8 adc_tail; - spinlock_t adc_lock; -}; - -struct pcap_subdev; - -struct pcap_platform_data { - unsigned int irq_base; - unsigned int config; - int gpio; - void (*init)(void *); - int num_subdevs; - struct pcap_subdev *subdevs; -}; - -struct pcap_subdev { - int id; - const char *name; - void *platform_data; -}; - -struct pcc_mbox_chan { - struct mbox_chan *mchan; - u64 shmem_base_addr; - void *shmem; - u64 shmem_size; - u32 latency; - u32 max_access_rate; - u16 min_turnaround_time; - bool manage_writes; - void * (*rx_alloc)(struct mbox_client *, int); -}; - -struct pcc_chan_reg { - void *vaddr; - struct acpi_generic_address *gas; - u64 preserve_mask; - u64 set_mask; - u64 status_mask; -}; - -struct pcc_chan_info { - struct pcc_mbox_chan chan; - struct pcc_chan_reg db; - struct pcc_chan_reg plat_irq_ack; - struct pcc_chan_reg cmd_complete; - struct pcc_chan_reg cmd_update; - struct pcc_chan_reg error; - int plat_irq; - u8 type; - unsigned int plat_irq_flags; - bool chan_in_use; -}; - -struct pcc_cpu { - u32 input_offset; - u32 output_offset; -}; - -struct pcc_data { - struct pcc_mbox_chan *pcc_chan; - struct completion done; - struct mbox_client cl; - struct acpi_pcc_info ctx; -}; - -struct pcc_header { - u32 signature; - u32 flags; - u32 length; - u32 command; -}; - -struct pcc_header___2 { - u32 signature; - u16 length; - u8 major; - u8 minor; - u32 features; - u16 command; - u16 status; - u32 latency; - u32 minimum_time; - u32 maximum_time; - u32 nominal; - u32 throttled_frequency; - u32 minimum_frequency; -}; - -struct pcc_memory_resource { - u8 descriptor; - u16 length; - u8 space_id; - u8 resource_usage; - u8 type_specific; - u64 granularity; - u64 minimum; - u64 maximum; - u64 translation_offset; - u64 address_length; -} __attribute__((packed)); - -struct pcc_register_resource { - u8 descriptor; - u16 length; - u8 space_id; - u8 bit_width; - u8 bit_offset; - u8 access_size; - u64 address; -} __attribute__((packed)); - -struct pci2phy_map { - struct list_head list; - int segment; - int pbus_to_dieid[256]; -}; - -struct pci_acs { - u16 cap; - u16 ctrl; - u16 fw_ctrl; -}; - -struct pci_bits { - unsigned int reg; - unsigned int width; - long unsigned int mask; - long unsigned int val; -}; - -struct pci_bus { - struct list_head node; - struct pci_bus *parent; - struct list_head children; - struct list_head devices; - struct pci_dev *self; - struct list_head slots; - struct resource *resource[4]; - struct list_head resources; - struct resource busn_res; - struct pci_ops *ops; - void *sysdata; - struct proc_dir_entry *procdir; - unsigned char number; - unsigned char primary; - unsigned char max_bus_speed; - unsigned char cur_bus_speed; - char name[48]; - short unsigned int bridge_ctl; - pci_bus_flags_t bus_flags; - struct device *bridge; - struct device dev; - struct bin_attribute *legacy_io; - struct bin_attribute *legacy_mem; - unsigned int is_added: 1; - unsigned int unsafe_warn: 1; - unsigned int flit_mode: 1; -}; - -struct pci_bus_region { - pci_bus_addr_t start; - pci_bus_addr_t end; -}; - -struct pci_bus_resource { - struct list_head list; - struct resource *res; -}; - -struct pci_cap_saved_data { - u16 cap_nr; - bool cap_extended; - unsigned int size; - u32 data[0]; -}; - -struct pci_cap_saved_state { - struct hlist_node next; - struct pci_cap_saved_data cap; -}; - -struct pci_check_idx_range { - int start; - int end; -}; - -struct pci_vpd { - struct mutex lock; - unsigned int len; - u8 cap; -}; - -struct rcec_ea; - -struct pcie_link_state; - -struct pcie_bwctrl_data; - -struct pci_sriov; - -struct pci_p2pdma; - -struct pci_dev { - struct list_head bus_list; - struct pci_bus *bus; - struct pci_bus *subordinate; - void *sysdata; - struct proc_dir_entry *procent; - struct pci_slot *slot; - unsigned int devfn; - short unsigned int vendor; - short unsigned int device; - short unsigned int subsystem_vendor; - short unsigned int subsystem_device; - unsigned int class; - u8 revision; - u8 hdr_type; - u16 aer_cap; - struct aer_info *aer_info; - struct rcec_ea *rcec_ea; - struct pci_dev *rcec; - u32 devcap; - u16 rebar_cap; - u8 pcie_cap; - u8 msi_cap; - u8 msix_cap; - u8 pcie_mpss: 3; - u8 rom_base_reg; - u8 pin; - u16 pcie_flags_reg; - long unsigned int *dma_alias_mask; - struct pci_driver *driver; - u64 dma_mask; - struct device_dma_parameters dma_parms; - pci_power_t current_state; - u8 pm_cap; - unsigned int pme_support: 5; - unsigned int pme_poll: 1; - unsigned int pinned: 1; - unsigned int config_rrs_sv: 1; - unsigned int imm_ready: 1; - unsigned int d1_support: 1; - unsigned int d2_support: 1; - unsigned int no_d1d2: 1; - unsigned int no_d3cold: 1; - unsigned int bridge_d3: 1; - unsigned int d3cold_allowed: 1; - unsigned int mmio_always_on: 1; - unsigned int wakeup_prepared: 1; - unsigned int skip_bus_pm: 1; - unsigned int ignore_hotplug: 1; - unsigned int hotplug_user_indicators: 1; - unsigned int clear_retrain_link: 1; - unsigned int d3hot_delay; - unsigned int d3cold_delay; - u16 l1ss; - struct pcie_link_state *link_state; - unsigned int ltr_path: 1; - unsigned int pasid_no_tlp: 1; - unsigned int eetlp_prefix_max: 3; - pci_channel_state_t error_state; - struct device dev; - int cfg_size; - unsigned int irq; - struct resource resource[17]; - struct resource driver_exclusive_resource; - unsigned int transparent: 1; - unsigned int io_window: 1; - unsigned int pref_window: 1; - unsigned int pref_64_window: 1; - unsigned int multifunction: 1; - unsigned int is_busmaster: 1; - unsigned int no_msi: 1; - unsigned int no_64bit_msi: 1; - unsigned int block_cfg_access: 1; - unsigned int broken_parity_status: 1; - unsigned int irq_reroute_variant: 2; - unsigned int msi_enabled: 1; - unsigned int msix_enabled: 1; - unsigned int ari_enabled: 1; - unsigned int ats_enabled: 1; - unsigned int pasid_enabled: 1; - unsigned int pri_enabled: 1; - unsigned int tph_enabled: 1; - unsigned int is_managed: 1; - unsigned int is_msi_managed: 1; - unsigned int needs_freset: 1; - unsigned int state_saved: 1; - unsigned int is_physfn: 1; - unsigned int is_virtfn: 1; - unsigned int is_hotplug_bridge: 1; - unsigned int is_pciehp: 1; - unsigned int shpc_managed: 1; - unsigned int is_thunderbolt: 1; - unsigned int untrusted: 1; - unsigned int external_facing: 1; - unsigned int broken_intx_masking: 1; - unsigned int io_window_1k: 1; - unsigned int irq_managed: 1; - unsigned int non_compliant_bars: 1; - unsigned int is_probed: 1; - unsigned int link_active_reporting: 1; - unsigned int no_vf_scan: 1; - unsigned int no_command_memory: 1; - unsigned int rom_bar_overlap: 1; - unsigned int rom_attr_enabled: 1; - unsigned int non_mappable_bars: 1; - unsigned int aspm_os_control: 1; - pci_dev_flags_t dev_flags; - atomic_t enable_cnt; - spinlock_t pcie_cap_lock; - u32 saved_config_space[16]; - struct hlist_head saved_cap_space; - struct bin_attribute *res_attr[17]; - struct bin_attribute *res_attr_wc[17]; - unsigned int broken_cmd_compl: 1; - u16 ptm_cap; - unsigned int ptm_root: 1; - unsigned int ptm_enabled: 1; - u8 ptm_granularity; - void *msix_base; - raw_spinlock_t msi_lock; - struct pci_vpd vpd; - u16 dpc_cap; - unsigned int dpc_rp_extensions: 1; - u8 dpc_rp_log_size; - struct pcie_bwctrl_data *link_bwctrl; - union { - struct pci_sriov *sriov; - struct pci_dev *physfn; - }; - u16 ats_cap; - u8 ats_stu; - u16 pri_cap; - u32 pri_reqs_alloc; - unsigned int pasid_required: 1; - u16 pasid_cap; - u16 pasid_features; - struct pci_p2pdma *p2pdma; - struct xarray doe_mbs; - struct npem *npem; - u16 acs_cap; - u8 supported_speeds; - phys_addr_t rom; - size_t romlen; - const char *driver_override; - long unsigned int priv_flags; - u8 reset_methods[8]; - u16 tph_cap; - u8 tph_mode; - u8 tph_req_type; -}; - -struct pci_dev_acs_enabled { - u16 vendor; - u16 device; - int (*acs_enabled)(struct pci_dev *, u16); -}; - -struct pci_dev_acs_ops { - u16 vendor; - u16 device; - int (*enable_acs)(struct pci_dev *); - int (*disable_acs_redir)(struct pci_dev *); -}; - -struct pci_dev_reset_methods { - u16 vendor; - u16 device; - int (*reset)(struct pci_dev *, bool); -}; - -struct pci_dev_resource { - struct list_head list; - struct resource *res; - struct pci_dev *dev; - resource_size_t start; - resource_size_t end; - resource_size_t add_size; - resource_size_t min_align; - long unsigned int flags; -}; - -struct pci_device_id { - __u32 vendor; - __u32 device; - __u32 subvendor; - __u32 subdevice; - __u32 class; - __u32 class_mask; - kernel_ulong_t driver_data; - __u32 override_only; -}; - -struct physdev_pci_device { - uint16_t seg; - uint8_t bus; - uint8_t devfn; -}; - -struct pci_device_reset { - struct physdev_pci_device dev; - uint32_t flags; -}; - -struct pci_doe_feature { - u16 vid; - u8 type; -}; - -struct pci_doe_mb { - struct pci_dev *pdev; - u16 cap_offset; - struct xarray feats; - wait_queue_head_t wq; - struct workqueue_struct *work_queue; - long unsigned int flags; - struct device_attribute *sysfs_attrs; -}; - -struct pci_doe_task { - struct pci_doe_feature feat; - const __le32 *request_pl; - size_t request_pl_sz; - __le32 *response_pl; - size_t response_pl_sz; - int rv; - void (*complete)(struct pci_doe_task *); - void *private; - struct work_struct work; - struct pci_doe_mb *doe_mb; -}; - -struct pci_domain_busn_res { - struct list_head list; - struct resource res; - int domain_nr; -}; - -struct pci_dynids { - spinlock_t lock; - struct list_head list; -}; - -struct pci_error_handlers; - -struct pci_driver { - const char *name; - const struct pci_device_id *id_table; - int (*probe)(struct pci_dev *, const struct pci_device_id *); - void (*remove)(struct pci_dev *); - int (*suspend)(struct pci_dev *, pm_message_t); - int (*resume)(struct pci_dev *); - void (*shutdown)(struct pci_dev *); - int (*sriov_configure)(struct pci_dev *, int); - int (*sriov_set_msix_vec_count)(struct pci_dev *, int); - u32 (*sriov_get_vf_total_msix)(struct pci_dev *); - const struct pci_error_handlers *err_handler; - const struct attribute_group **groups; - const struct attribute_group **dev_groups; - struct device_driver driver; - struct pci_dynids dynids; - bool driver_managed_dma; -}; - -struct pci_dynid { - struct list_head node; - struct pci_device_id id; -}; - -struct pci_epc_ops; - -struct pci_epc_mem; - -struct pci_epc { - struct device dev; - struct list_head pci_epf; - struct mutex list_lock; - const struct pci_epc_ops *ops; - struct pci_epc_mem **windows; - struct pci_epc_mem *mem; - unsigned int num_windows; - u8 max_functions; - u8 *max_vfs; - struct config_group *group; - struct mutex lock; - long unsigned int function_num_map; - int domain_nr; - bool init_complete; -}; - -struct pci_epc_bar_desc { - enum pci_epc_bar_type type; - u64 fixed_size; - bool only_64bit; -}; - -struct pci_epf; - -struct pci_epc_event_ops { - int (*epc_init)(struct pci_epf *); - void (*epc_deinit)(struct pci_epf *); - int (*link_up)(struct pci_epf *); - int (*link_down)(struct pci_epf *); - int (*bus_master_enable)(struct pci_epf *); -}; - -struct pci_epc_features { - unsigned int linkup_notifier: 1; - unsigned int msi_capable: 1; - unsigned int msix_capable: 1; - unsigned int intx_capable: 1; - struct pci_epc_bar_desc bar[6]; - size_t align; -}; - -struct pci_epc_group { - struct config_group group; - struct pci_epc *epc; - bool start; -}; - -struct pci_epc_map { - u64 pci_addr; - size_t pci_size; - u64 map_pci_addr; - size_t map_size; - phys_addr_t phys_base; - phys_addr_t phys_addr; - void *virt_base; - void *virt_addr; -}; - -struct pci_epc_mem_window { - phys_addr_t phys_base; - size_t size; - size_t page_size; -}; - -struct pci_epc_mem { - struct pci_epc_mem_window window; - long unsigned int *bitmap; - int pages; - struct mutex lock; -}; - -struct pci_epf_header; - -struct pci_epc_ops { - int (*write_header)(struct pci_epc *, u8, u8, struct pci_epf_header *); - int (*set_bar)(struct pci_epc *, u8, u8, struct pci_epf_bar *); - void (*clear_bar)(struct pci_epc *, u8, u8, struct pci_epf_bar *); - u64 (*align_addr)(struct pci_epc *, u64, size_t *, size_t *); - int (*map_addr)(struct pci_epc *, u8, u8, phys_addr_t, u64, size_t); - void (*unmap_addr)(struct pci_epc *, u8, u8, phys_addr_t); - int (*set_msi)(struct pci_epc *, u8, u8, u8); - int (*get_msi)(struct pci_epc *, u8, u8); - int (*set_msix)(struct pci_epc *, u8, u8, u16, enum pci_barno, u32); - int (*get_msix)(struct pci_epc *, u8, u8); - int (*raise_irq)(struct pci_epc *, u8, u8, unsigned int, u16); - int (*map_msi_irq)(struct pci_epc *, u8, u8, phys_addr_t, u8, u32, u32 *, u32 *); - int (*start)(struct pci_epc *); - void (*stop)(struct pci_epc *); - const struct pci_epc_features * (*get_features)(struct pci_epc *, u8, u8); - struct module *owner; -}; - -struct pci_epf_bar { - dma_addr_t phys_addr; - void *addr; - size_t size; - size_t aligned_size; - enum pci_barno barno; - int flags; -}; - -struct pci_epf_driver; - -struct pci_epf_device_id; - -struct pci_epf_doorbell_msg; - -struct pci_epf { - struct device dev; - const char *name; - struct pci_epf_header *header; - struct pci_epf_bar bar[6]; - u8 msi_interrupts; - u16 msix_interrupts; - u8 func_no; - u8 vfunc_no; - struct pci_epc *epc; - struct pci_epf *epf_pf; - struct pci_epf_driver *driver; - const struct pci_epf_device_id *id; - struct list_head list; - struct mutex lock; - struct pci_epc *sec_epc; - struct list_head sec_epc_list; - struct pci_epf_bar sec_epc_bar[6]; - u8 sec_epc_func_no; - struct config_group *group; - unsigned int is_bound; - unsigned int is_vf; - long unsigned int vfunction_num_map; - struct list_head pci_vepf; - const struct pci_epc_event_ops *event_ops; - struct pci_epf_doorbell_msg *db_msg; - u16 num_db; -}; - -struct pci_epf_device_id { - char name[20]; - kernel_ulong_t driver_data; -}; - -struct pci_epf_doorbell_msg { - struct msi_msg msg; - int virq; -}; - -struct pci_epf_ops; - -struct pci_epf_driver { - int (*probe)(struct pci_epf *, const struct pci_epf_device_id *); - void (*remove)(struct pci_epf *); - struct device_driver driver; - const struct pci_epf_ops *ops; - struct module *owner; - struct list_head epf_group; - const struct pci_epf_device_id *id_table; -}; - -struct pci_epf_group { - struct config_group group; - struct config_group primary_epc_group; - struct config_group secondary_epc_group; - struct delayed_work cfs_work; - struct pci_epf *epf; - int index; -}; - -struct pci_epf_header { - u16 vendorid; - u16 deviceid; - u8 revid; - u8 progif_code; - u8 subclass_code; - u8 baseclass_code; - u8 cache_line_size; - u16 subsys_vendor_id; - u16 subsys_id; - enum pci_interrupt_pin interrupt_pin; -}; - -struct pci_epf_msix_tbl { - u64 msg_addr; - u32 msg_data; - u32 vector_ctrl; -}; - -struct pci_epf_ops { - int (*bind)(struct pci_epf *); - void (*unbind)(struct pci_epf *); - struct config_group * (*add_cfs)(struct pci_epf *, struct config_group *); -}; - -struct pci_error_handlers { - pci_ers_result_t (*error_detected)(struct pci_dev *, pci_channel_state_t); - pci_ers_result_t (*mmio_enabled)(struct pci_dev *); - pci_ers_result_t (*slot_reset)(struct pci_dev *); - void (*reset_prepare)(struct pci_dev *); - void (*reset_done)(struct pci_dev *); - void (*resume)(struct pci_dev *); - void (*cor_error_detected)(struct pci_dev *); -}; - -struct pci_extra_dev { - struct pci_dev *dev[4]; -}; - -struct pci_filp_private { - enum pci_mmap_state mmap_state; - int write_combine; -}; - -struct pci_fixup { - u16 vendor; - u16 device; - u32 class; - unsigned int class_shift; - int hook_offset; -}; - -struct pci_host_bridge { - struct device dev; - struct pci_bus *bus; - struct pci_ops *ops; - struct pci_ops *child_ops; - void *sysdata; - int busnr; - int domain_nr; - struct list_head windows; - struct list_head dma_ranges; - u8 (*swizzle_irq)(struct pci_dev *, u8 *); - int (*map_irq)(const struct pci_dev *, u8, u8); - void (*release_fn)(struct pci_host_bridge *); - int (*enable_device)(struct pci_host_bridge *, struct pci_dev *); - void (*disable_device)(struct pci_host_bridge *, struct pci_dev *); - void *release_data; - unsigned int ignore_reset_delay: 1; - unsigned int no_ext_tags: 1; - unsigned int no_inc_mrrs: 1; - unsigned int native_aer: 1; - unsigned int native_pcie_hotplug: 1; - unsigned int native_shpc_hotplug: 1; - unsigned int native_pme: 1; - unsigned int native_ltr: 1; - unsigned int native_dpc: 1; - unsigned int native_cxl_error: 1; - unsigned int preserve_config: 1; - unsigned int size_windows: 1; - unsigned int msi_domain: 1; - resource_size_t (*align_resource)(struct pci_dev *, const struct resource *, resource_size_t, resource_size_t, resource_size_t); - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long unsigned int private[0]; -}; - -struct pci_hostbridge_probe { - u32 bus; - u32 slot; - u32 vendor; - u32 device; -}; - -struct pci_mmcfg_hostbridge_probe { - u32 bus; - u32 devfn; - u32 vendor; - u32 device; - const char * (*probe)(void); -}; - -struct pci_mmcfg_region { - struct list_head list; - struct resource res; - u64 address; - char *virt; - u16 segment; - u8 start_bus; - u8 end_bus; - char name[30]; -}; - -struct pci_ops { - int (*add_bus)(struct pci_bus *); - void (*remove_bus)(struct pci_bus *); - void * (*map_bus)(struct pci_bus *, unsigned int, int); - int (*read)(struct pci_bus *, unsigned int, int, int, u32 *); - int (*write)(struct pci_bus *, unsigned int, int, int, u32); -}; - -struct pci_osc_bit_struct { - u32 bit; - char *desc; -}; - -struct pci_p2pdma { - struct gen_pool *pool; - bool p2pmem_published; - struct xarray map_types; -}; - -struct pci_p2pdma_pagemap { - struct pci_dev *provider; - u64 bus_offset; - struct dev_pagemap pgmap; -}; - -struct pci_p2pdma_whitelist_entry { - short unsigned int vendor; - short unsigned int device; - enum { - REQ_SAME_HOST_BRIDGE = 1, - } flags; -}; - -struct pci_pme_device { - struct list_head list; - struct pci_dev *dev; -}; - -struct pcie_ptm_ops; - -struct pci_ptm_debugfs { - struct dentry *debugfs; - const struct pcie_ptm_ops *ops; - struct mutex lock; - void *pdata; -}; - -struct pci_raw_ops { - int (*read)(unsigned int, unsigned int, unsigned int, int, int, u32 *); - int (*write)(unsigned int, unsigned int, unsigned int, int, int, u32); -}; - -struct pci_reset_fn_method { - int (*reset_fn)(struct pci_dev *, bool); - char *name; -}; - -struct pci_root_info { - struct list_head list; - char name[12]; - struct list_head resources; - struct resource busn; - int node; - int link; -}; - -struct pci_sysdata { - int domain; - int node; - struct acpi_device *companion; - void *iommu; - void *fwnode; - struct pci_dev *vmd_dev; -}; - -struct pci_root_info___2 { - struct acpi_pci_root_info common; - struct pci_sysdata sd; - bool mcfg_added; - u8 start_bus; - u8 end_bus; -}; - -struct pci_root_res { - struct list_head list; - struct resource res; -}; - -struct pci_saved_state { - u32 config_space[16]; - struct pci_cap_saved_data cap[0]; -}; - -struct serial_private; - -struct pciserial_board; - -struct pci_serial_quirk { - u32 vendor; - u32 device; - u32 subvendor; - u32 subdevice; - int (*probe)(struct pci_dev *); - int (*init)(struct pci_dev *); - int (*setup)(struct serial_private *, const struct pciserial_board *, struct uart_8250_port *, int); - void (*exit)(struct pci_dev *); -}; - -struct pci_setup_rom { - struct setup_data data; - uint16_t vendor; - uint16_t devid; - uint64_t pcilen; - long unsigned int segment; - long unsigned int bus; - long unsigned int device; - long unsigned int function; - uint8_t romdata[0]; -}; - -struct pci_slot { - struct pci_bus *bus; - struct list_head list; - struct hotplug_slot *hotplug; - unsigned char number; - struct kobject kobj; -}; - -struct pci_slot_attribute { - struct attribute attr; - ssize_t (*show)(struct pci_slot *, char *); - ssize_t (*store)(struct pci_slot *, const char *, size_t); -}; - -struct pci_sriov { - int pos; - int nres; - u32 cap; - u16 ctrl; - u16 total_VFs; - u16 initial_VFs; - u16 num_VFs; - u16 offset; - u16 stride; - u16 vf_device; - u32 pgsz; - u8 link; - u8 max_VF_buses; - u16 driver_max_VFs; - struct pci_dev *dev; - struct pci_dev *self; - u32 class; - u8 hdr_type; - u16 subsystem_vendor; - u16 subsystem_device; - resource_size_t barsz[6]; - u16 vf_rebar_cap; - bool drivers_autoprobe; -}; - -struct pcibios_fwaddrmap { - struct list_head list; - struct pci_dev *dev; - resource_size_t fw_addr[17]; -}; - -struct pcie_bwctrl_data { - struct mutex set_speed_mutex; - struct thermal_cooling_device *cdev; -}; - -struct pcie_device { - int irq; - struct pci_dev *port; - u32 service; - void *priv_data; - struct device device; -}; - -struct pcie_link_state { - struct pci_dev *pdev; - struct pci_dev *downstream; - struct pcie_link_state *root; - struct pcie_link_state *parent; - struct list_head sibling; - u32 aspm_support: 7; - u32 aspm_enabled: 7; - u32 aspm_capable: 7; - u32 aspm_default: 7; - int: 4; - u32 aspm_disable: 7; - u32 clkpm_capable: 1; - u32 clkpm_enabled: 1; - u32 clkpm_default: 1; - u32 clkpm_disable: 1; -}; - -struct pcie_pme_service_data { - spinlock_t lock; - struct pcie_device *srv; - struct work_struct work; - bool noirq; -}; - -struct pcie_port_service_driver { - const char *name; - int (*probe)(struct pcie_device *); - void (*remove)(struct pcie_device *); - int (*suspend)(struct pcie_device *); - int (*resume_noirq)(struct pcie_device *); - int (*resume)(struct pcie_device *); - int (*runtime_suspend)(struct pcie_device *); - int (*runtime_resume)(struct pcie_device *); - int (*slot_reset)(struct pcie_device *); - int port_type; - u32 service; - struct device_driver driver; -}; - -struct pcie_ptm_ops { - int (*check_capability)(void *); - int (*context_update_write)(void *, u8); - int (*context_update_read)(void *, u8 *); - int (*context_valid_write)(void *, bool); - int (*context_valid_read)(void *, bool *); - int (*local_clock_read)(void *, u64 *); - int (*master_clock_read)(void *, u64 *); - int (*t1_read)(void *, u64 *); - int (*t2_read)(void *, u64 *); - int (*t3_read)(void *, u64 *); - int (*t4_read)(void *, u64 *); - bool (*context_update_visible)(void *); - bool (*context_valid_visible)(void *); - bool (*local_clock_visible)(void *); - bool (*master_clock_visible)(void *); - bool (*t1_visible)(void *); - bool (*t2_visible)(void *); - bool (*t3_visible)(void *); - bool (*t4_visible)(void *); -}; - -struct pcim_addr_devres { - enum pcim_addr_devres_type type; - void *baseaddr; - long unsigned int offset; - long unsigned int len; - int bar; -}; - -struct pcim_intx_devres { - int orig_intx; -}; - -struct pcim_iomap_devres { - void *table[17]; -}; - -struct pciserial_board { - unsigned int flags; - unsigned int num_ports; - unsigned int base_baud; - unsigned int uart_offset; - unsigned int reg_shift; - unsigned int first_offset; -}; - -struct pcpu { - struct list_head list; - struct device dev; - uint32_t cpu_id; - uint32_t acpi_id; - uint32_t flags; -}; - -struct pcpu_group_info { - int nr_units; - long unsigned int base_offset; - unsigned int *cpu_map; -}; - -struct pcpu_alloc_info { - size_t static_size; - size_t reserved_size; - size_t dyn_size; - size_t unit_size; - size_t atom_size; - size_t alloc_size; - size_t __ai_size; - int nr_groups; - struct pcpu_group_info groups[0]; -}; - -struct pcpu_block_md { - int scan_hint; - int scan_hint_start; - int contig_hint; - int contig_hint_start; - int left_free; - int right_free; - int first_free; - int nr_bits; -}; - -struct pcpuobj_ext; - -struct pcpu_chunk { - struct list_head list; - int free_bytes; - struct pcpu_block_md chunk_md; - long unsigned int *bound_map; - void *base_addr; - long unsigned int *alloc_map; - struct pcpu_block_md *md_blocks; - void *data; - bool immutable; - bool isolated; - int start_offset; - int end_offset; - struct pcpuobj_ext *obj_exts; - int nr_pages; - int nr_populated; - int nr_empty_pop_pages; - long unsigned int populated[0]; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct pcpu_dstats { - u64_stats_t rx_packets; - u64_stats_t rx_bytes; - u64_stats_t tx_packets; - u64_stats_t tx_bytes; - u64_stats_t rx_drops; - u64_stats_t tx_drops; - struct u64_stats_sync syncp; - long: 64; - long: 64; -}; - -struct pcpu_freelist_head { - struct pcpu_freelist_node *first; - rqspinlock_t lock; -}; - -struct pcpu_gen_cookie { - local_t nesting; - u64 last; -}; - -struct pcpu_lstats { - u64_stats_t packets; - u64_stats_t bytes; - struct u64_stats_sync syncp; -}; - -struct pcpu_rx_sc_stats { - struct macsec_rx_sc_stats stats; - struct u64_stats_sync syncp; -}; - -struct pcpu_seg6_local_counters { - u64_stats_t packets; - u64_stats_t bytes; - u64_stats_t errors; - struct u64_stats_sync syncp; -}; - -struct pcpu_sw_netstats { - u64_stats_t rx_packets; - u64_stats_t rx_bytes; - u64_stats_t tx_packets; - u64_stats_t tx_bytes; - struct u64_stats_sync syncp; -}; - -struct pcpu_tx_sc_stats { - struct macsec_tx_sc_stats stats; - struct u64_stats_sync syncp; -}; - -struct pcpuobj_ext { - struct obj_cgroup *cgroup; -}; - -struct pde_opener { - struct list_head lh; - struct file *file; - bool closing; - struct completion *c; -}; - -struct pdom_dev_data { - struct iommu_dev_data *dev_data; - ioasid_t pasid; - struct list_head list; -}; - -struct pdom_iommu_info { - struct amd_iommu *iommu; - u32 refcnt; -}; - -struct pe32_opt_hdr { - uint16_t magic; - uint8_t ld_major; - uint8_t ld_minor; - uint32_t text_size; - uint32_t data_size; - uint32_t bss_size; - uint32_t entry_point; - uint32_t code_base; - uint32_t data_base; - uint32_t image_base; - uint32_t section_align; - uint32_t file_align; - uint16_t os_major; - uint16_t os_minor; - uint16_t image_major; - uint16_t image_minor; - uint16_t subsys_major; - uint16_t subsys_minor; - uint32_t win32_version; - uint32_t image_size; - uint32_t header_size; - uint32_t csum; - uint16_t subsys; - uint16_t dll_flags; - uint32_t stack_size_req; - uint32_t stack_size; - uint32_t heap_size_req; - uint32_t heap_size; - uint32_t loader_flags; - uint32_t data_dirs; -}; - -struct pe32plus_opt_hdr { - uint16_t magic; - uint8_t ld_major; - uint8_t ld_minor; - uint32_t text_size; - uint32_t data_size; - uint32_t bss_size; - uint32_t entry_point; - uint32_t code_base; - uint64_t image_base; - uint32_t section_align; - uint32_t file_align; - uint16_t os_major; - uint16_t os_minor; - uint16_t image_major; - uint16_t image_minor; - uint16_t subsys_major; - uint16_t subsys_minor; - uint32_t win32_version; - uint32_t image_size; - uint32_t header_size; - uint32_t csum; - uint16_t subsys; - uint16_t dll_flags; - uint64_t stack_size_req; - uint64_t stack_size; - uint64_t heap_size_req; - uint64_t heap_size; - uint32_t loader_flags; - uint32_t data_dirs; -}; - -struct pe_hdr { - uint32_t magic; - uint16_t machine; - uint16_t sections; - uint32_t timestamp; - uint32_t symbol_table; - uint32_t symbols; - uint16_t opt_hdr_size; - uint16_t flags; -}; - -struct pebs_basic { - u64 format_group: 32; - u64 retire_latency: 16; - u64 format_size: 16; - u64 ip; - u64 applicable_counters; - u64 tsc; -}; - -struct pebs_cntr_header { - u32 cntr; - u32 fixed; - u32 metrics; - u32 reserved; -}; - -struct pebs_gprs { - u64 flags; - u64 ip; - u64 ax; - u64 cx; - u64 dx; - u64 bx; - u64 sp; - u64 bp; - u64 si; - u64 di; - u64 r8; - u64 r9; - u64 r10; - u64 r11; - u64 r12; - u64 r13; - u64 r14; - u64 r15; -}; - -struct pebs_meminfo { - u64 address; - u64 aux; - union { - u64 mem_latency; - struct { - u64 instr_latency: 16; - u64 pad2: 16; - u64 cache_latency: 16; - u64 pad3: 16; - }; - }; - u64 tsx_tuning; -}; - -struct pebs_record_core { - u64 flags; - u64 ip; - u64 ax; - u64 bx; - u64 cx; - u64 dx; - u64 si; - u64 di; - u64 bp; - u64 sp; - u64 r8; - u64 r9; - u64 r10; - u64 r11; - u64 r12; - u64 r13; - u64 r14; - u64 r15; -}; - -struct pebs_record_nhm { - u64 flags; - u64 ip; - u64 ax; - u64 bx; - u64 cx; - u64 dx; - u64 si; - u64 di; - u64 bp; - u64 sp; - u64 r8; - u64 r9; - u64 r10; - u64 r11; - u64 r12; - u64 r13; - u64 r14; - u64 r15; - u64 status; - u64 dla; - u64 dse; - u64 lat; -}; - -struct pebs_record_skl { - u64 flags; - u64 ip; - u64 ax; - u64 bx; - u64 cx; - u64 dx; - u64 si; - u64 di; - u64 bp; - u64 sp; - u64 r8; - u64 r9; - u64 r10; - u64 r11; - u64 r12; - u64 r13; - u64 r14; - u64 r15; - u64 status; - u64 dla; - u64 dse; - u64 lat; - u64 real_ip; - u64 tsx_tuning; - u64 tsc; -}; - -struct pebs_xmm { - u64 xmm[32]; -}; - -struct section_header; - -struct pefile_context { - unsigned int header_size; - unsigned int image_checksum_offset; - unsigned int cert_dirent_offset; - unsigned int n_data_dirents; - unsigned int n_sections; - unsigned int certs_size; - unsigned int sig_offset; - unsigned int sig_len; - const struct section_header *secs; - const void *digest; - unsigned int digest_len; - const char *digest_algo; -}; - -struct pending_reservation { - struct rb_node rb_node; - ext4_lblk_t lclu; -}; - -struct per_cpu_dm_data { - raw_spinlock_t lock; - union { - struct sk_buff *skb; - struct net_dm_hw_entries *hw_entries; - }; - struct sk_buff_head drop_queue; - struct work_struct dm_alert_work; - struct timer_list send_timer; - struct net_dm_stats stats; -}; - -struct per_cpu_nodestat { - s8 stat_threshold; - s8 vm_node_stat_diff[49]; -}; - -struct per_cpu_pages { - spinlock_t lock; - int count; - int high; - int high_min; - int high_max; - int batch; - u8 flags; - u8 alloc_factor; - u8 expire; - short int free_count; - struct list_head lists[14]; -}; - -struct per_cpu_zonestat { - s8 vm_stat_diff[12]; - s8 stat_threshold; - long unsigned int vm_numa_event[6]; -}; - -struct percpu_free_defer { - struct callback_head rcu; - void *ptr; -}; - -typedef void percpu_ref_func_t(struct percpu_ref *); - -struct percpu_ref_data { - atomic_long_t count; - percpu_ref_func_t *release; - percpu_ref_func_t *confirm_switch; - bool force_atomic: 1; - bool allow_reinit: 1; - struct callback_head rcu; - struct percpu_ref *ref; -}; - -typedef struct percpu_rw_semaphore *class_percpu_read_t; - -typedef struct percpu_rw_semaphore *class_percpu_write_t; - -struct percpu_swap_cluster { - struct swap_info_struct *si[10]; - long unsigned int offset[10]; - local_lock_t lock; -}; - -struct perf_addr_filter { - struct list_head entry; - struct path path; - long unsigned int offset; - long unsigned int size; - enum perf_addr_filter_action_t action; -}; - -struct perf_addr_filter_range { - long unsigned int start; - long unsigned int size; -}; - -struct perf_addr_filters_head { - struct list_head list; - raw_spinlock_t lock; - unsigned int nr_file_filters; -}; - -struct perf_amd_iommu { - struct list_head list; - struct pmu pmu; - struct amd_iommu *iommu; - char name[24]; - u8 max_banks; - u8 max_counters; - u64 cntr_assign_mask; - raw_spinlock_t lock; -}; - -struct perf_event_header { - __u32 type; - __u16 misc; - __u16 size; -}; - -struct perf_aux_event { - struct perf_event_header header; - u64 hw_id; -}; - -struct perf_aux_event___2 { - struct perf_event_header header; - u32 pid; - u32 tid; -}; - -struct perf_aux_event___3 { - struct perf_event_header header; - u64 offset; - u64 size; - u64 flags; -}; - -struct perf_bpf_event { - struct bpf_prog *prog; - struct { - struct perf_event_header header; - u16 type; - u16 flags; - u32 id; - u8 tag[8]; - } event_id; -}; - -struct perf_event_mmap_page; - -struct perf_buffer { - refcount_t refcount; - struct callback_head callback_head; - int nr_pages; - int overwrite; - int paused; - atomic_t poll; - local_t head; - unsigned int nest; - local_t events; - local_t wakeup; - local_t lost; - long int watermark; - long int aux_watermark; - spinlock_t event_lock; - struct list_head event_list; - atomic_t mmap_count; - long unsigned int mmap_locked; - struct user_struct *mmap_user; - struct mutex aux_mutex; - long int aux_head; - unsigned int aux_nest; - long int aux_wakeup; - long unsigned int aux_pgoff; - int aux_nr_pages; - int aux_overwrite; - atomic_t aux_mmap_count; - long unsigned int aux_mmap_locked; - void (*free_aux)(void *); - refcount_t aux_refcount; - int aux_in_sampling; - int aux_in_pause_resume; - void **aux_pages; - void *aux_priv; - struct perf_event_mmap_page *user_page; - void *data_pages[0]; -}; - -struct perf_callchain_entry { - u64 nr; - u64 ip[0]; -}; - -struct perf_callchain_entry_ctx { - struct perf_callchain_entry *entry; - u32 max_stack; - u32 nr; - short int contexts; - bool contexts_maxed; -}; - -union perf_capabilities { - struct { - u64 lbr_format: 6; - u64 pebs_trap: 1; - u64 pebs_arch_reg: 1; - u64 pebs_format: 4; - u64 smm_freeze: 1; - u64 full_width_write: 1; - u64 pebs_baseline: 1; - u64 perf_metrics: 1; - u64 pebs_output_pt_available: 1; - u64 pebs_timing_info: 1; - u64 anythread_deprecated: 1; - u64 rdpmc_metrics_clear: 1; - }; - u64 capabilities; -}; - -struct perf_cgroup_info; - -struct perf_cgroup { - struct cgroup_subsys_state css; - struct perf_cgroup_info *info; -}; - -struct perf_cgroup_event { - char *path; - int path_size; - struct { - struct perf_event_header header; - u64 id; - char path[0]; - } event_id; -}; - -struct perf_cgroup_info { - u64 time; - u64 timestamp; - u64 timeoffset; - int active; -}; - -struct perf_comm_event { - struct task_struct *task; - char *comm; - int comm_size; - struct { - struct perf_event_header header; - u32 pid; - u32 tid; - } event_id; -}; - -struct perf_event_groups { - struct rb_root tree; - u64 index; -}; - -struct perf_event_context { - raw_spinlock_t lock; - struct mutex mutex; - struct list_head pmu_ctx_list; - struct perf_event_groups pinned_groups; - struct perf_event_groups flexible_groups; - struct list_head event_list; - int nr_events; - int nr_user; - int is_active; - int nr_stat; - int nr_freq; - int rotate_disable; - refcount_t refcount; - struct task_struct *task; - u64 time; - u64 timestamp; - u64 timeoffset; - struct perf_event_context *parent_ctx; - u64 parent_gen; - u64 generation; - int pin_count; - int nr_cgroups; - struct callback_head callback_head; - local_t nr_no_switch_fast; -}; - -struct perf_cpu_context { - struct perf_event_context ctx; - struct perf_event_context *task_ctx; - int online; - struct perf_cgroup *cgrp; - int heap_size; - struct perf_event **heap; - struct perf_event *heap_default[2]; -}; - -struct perf_event_pmu_context { - struct pmu *pmu; - struct perf_event_context *ctx; - struct list_head pmu_ctx_entry; - struct list_head pinned_active; - struct list_head flexible_active; - unsigned int embedded: 1; - unsigned int nr_events; - unsigned int nr_cgroups; - unsigned int nr_freq; - atomic_t refcount; - struct callback_head callback_head; - int rotate_necessary; -}; - -struct perf_cpu_pmu_context { - struct perf_event_pmu_context epc; - struct perf_event_pmu_context *task_epc; - struct list_head sched_cb_entry; - int sched_cb_usage; - int active_oncpu; - int exclusive; - int pmu_disable_count; - raw_spinlock_t hrtimer_lock; - struct hrtimer hrtimer; - ktime_t hrtimer_interval; - unsigned int hrtimer_active; -}; - -struct perf_ctx_data { - struct callback_head callback_head; - refcount_t refcount; - int global; - struct kmem_cache *ctx_cache; - void *data; -}; - -struct perf_domain { - struct em_perf_domain *em_pd; - struct perf_domain *next; - struct callback_head rcu; -}; - -struct perf_event_attr { - __u32 type; - __u32 size; - __u64 config; - union { - __u64 sample_period; - __u64 sample_freq; - }; - __u64 sample_type; - __u64 read_format; - __u64 disabled: 1; - __u64 inherit: 1; - __u64 pinned: 1; - __u64 exclusive: 1; - __u64 exclude_user: 1; - __u64 exclude_kernel: 1; - __u64 exclude_hv: 1; - __u64 exclude_idle: 1; - __u64 mmap: 1; - __u64 comm: 1; - __u64 freq: 1; - __u64 inherit_stat: 1; - __u64 enable_on_exec: 1; - __u64 task: 1; - __u64 watermark: 1; - __u64 precise_ip: 2; - __u64 mmap_data: 1; - __u64 sample_id_all: 1; - __u64 exclude_host: 1; - __u64 exclude_guest: 1; - __u64 exclude_callchain_kernel: 1; - __u64 exclude_callchain_user: 1; - __u64 mmap2: 1; - __u64 comm_exec: 1; - __u64 use_clockid: 1; - __u64 context_switch: 1; - __u64 write_backward: 1; - __u64 namespaces: 1; - __u64 ksymbol: 1; - __u64 bpf_event: 1; - __u64 aux_output: 1; - __u64 cgroup: 1; - __u64 text_poke: 1; - __u64 build_id: 1; - __u64 inherit_thread: 1; - __u64 remove_on_exec: 1; - __u64 sigtrap: 1; - __u64 __reserved_1: 26; - union { - __u32 wakeup_events; - __u32 wakeup_watermark; - }; - __u32 bp_type; - union { - __u64 bp_addr; - __u64 kprobe_func; - __u64 uprobe_path; - __u64 config1; - }; - union { - __u64 bp_len; - __u64 kprobe_addr; - __u64 probe_offset; - __u64 config2; - }; - __u64 branch_sample_type; - __u64 sample_regs_user; - __u32 sample_stack_user; - __s32 clockid; - __u64 sample_regs_intr; - __u32 aux_watermark; - __u16 sample_max_stack; - __u16 __reserved_2; - __u32 aux_sample_size; - union { - __u32 aux_action; - struct { - __u32 aux_start_paused: 1; - __u32 aux_pause: 1; - __u32 aux_resume: 1; - __u32 __reserved_3: 29; - }; - }; - __u64 sig_data; - __u64 config3; -}; - -typedef void (*perf_overflow_handler_t)(struct perf_event *, struct perf_sample_data *, struct pt_regs *); - -struct perf_event { - struct list_head event_entry; - struct list_head sibling_list; - struct list_head active_list; - struct rb_node group_node; - u64 group_index; - struct list_head migrate_entry; - struct hlist_node hlist_entry; - struct list_head active_entry; - int nr_siblings; - int event_caps; - int group_caps; - unsigned int group_generation; - struct perf_event *group_leader; - struct pmu *pmu; - void *pmu_private; - enum perf_event_state state; - unsigned int attach_state; - local64_t count; - atomic64_t child_count; - u64 total_time_enabled; - u64 total_time_running; - u64 tstamp; - struct perf_event_attr attr; - u16 header_size; - u16 id_header_size; - u16 read_size; - struct hw_perf_event hw; - struct perf_event_context *ctx; - struct perf_event_pmu_context *pmu_ctx; - atomic_long_t refcount; - atomic64_t child_total_time_enabled; - atomic64_t child_total_time_running; - struct mutex child_mutex; - struct list_head child_list; - struct perf_event *parent; - int oncpu; - int cpu; - struct list_head owner_entry; - struct task_struct *owner; - struct mutex mmap_mutex; - atomic_t mmap_count; - struct perf_buffer *rb; - struct list_head rb_entry; - long unsigned int rcu_batches; - int rcu_pending; - wait_queue_head_t waitq; - struct fasync_struct *fasync; - unsigned int pending_wakeup; - unsigned int pending_kill; - unsigned int pending_disable; - long unsigned int pending_addr; - struct irq_work pending_irq; - struct irq_work pending_disable_irq; - struct callback_head pending_task; - unsigned int pending_work; - atomic_t event_limit; - struct perf_addr_filters_head addr_filters; - struct perf_addr_filter_range *addr_filter_ranges; - long unsigned int addr_filters_gen; - struct perf_event *aux_event; - void (*destroy)(struct perf_event *); - struct callback_head callback_head; - struct pid_namespace *ns; - u64 id; - atomic64_t lost_samples; - u64 (*clock)(void); - perf_overflow_handler_t overflow_handler; - void *overflow_handler_context; - struct bpf_prog *prog; - u64 bpf_cookie; - struct trace_event_call *tp_event; - struct event_filter *filter; - struct ftrace_ops ftrace_ops; - struct perf_cgroup *cgrp; - void *security; - struct list_head sb_list; - struct list_head pmu_list; - u32 orig_type; -}; - -struct perf_event_min_heap { - size_t nr; - size_t size; - struct perf_event **data; - struct perf_event *preallocated[0]; -}; - -struct perf_event_mmap_page { - __u32 version; - __u32 compat_version; - __u32 lock; - __u32 index; - __s64 offset; - __u64 time_enabled; - __u64 time_running; - union { - __u64 capabilities; - struct { - __u64 cap_bit0: 1; - __u64 cap_bit0_is_deprecated: 1; - __u64 cap_user_rdpmc: 1; - __u64 cap_user_time: 1; - __u64 cap_user_time_zero: 1; - __u64 cap_user_time_short: 1; - __u64 cap_____res: 58; - }; - }; - __u16 pmc_width; - __u16 time_shift; - __u32 time_mult; - __u64 time_offset; - __u64 time_zero; - __u32 size; - __u32 __reserved_1; - __u64 time_cycles; - __u64 time_mask; - __u8 __reserved[928]; - __u64 data_head; - __u64 data_tail; - __u64 data_offset; - __u64 data_size; - __u64 aux_head; - __u64 aux_tail; - __u64 aux_offset; - __u64 aux_size; -}; - -struct perf_event_query_bpf { - __u32 ids_len; - __u32 prog_cnt; - __u32 ids[0]; -}; - -struct perf_event_security_struct { - u32 sid; -}; - -struct perf_guest_info_callbacks { - unsigned int (*state)(void); - long unsigned int (*get_ip)(void); - unsigned int (*handle_intel_pt_intr)(void); -}; - -struct perf_ibs { - struct pmu pmu; - unsigned int msr; - u64 config_mask; - u64 cnt_mask; - u64 enable_mask; - u64 valid_mask; - u16 min_period; - u64 max_period; - long unsigned int offset_mask[1]; - int offset_max; - unsigned int fetch_count_reset_broken: 1; - unsigned int fetch_ignore_if_zero_rip: 1; - struct cpu_perf_ibs *pcpu; - u64 (*get_count)(u64); -}; - -struct perf_ibs_data { - u32 size; - union { - u32 data[0]; - u32 caps; - }; - u64 regs[8]; -}; - -struct perf_ksymbol_event { - const char *name; - int name_len; - struct { - struct perf_event_header header; - u64 addr; - u32 len; - u16 ksym_type; - u16 flags; - } event_id; -}; - -struct perf_mmap_event { - struct vm_area_struct *vma; - const char *file_name; - int file_size; - int maj; - int min; - u64 ino; - u64 ino_generation; - u32 prot; - u32 flags; - u8 build_id[20]; - u32 build_id_size; - struct { - struct perf_event_header header; - u32 pid; - u32 tid; - u64 start; - u64 len; - u64 pgoff; - } event_id; -}; - -struct perf_msr { - u64 msr; - struct attribute_group *grp; - bool (*test)(int, void *); - bool no_check; - u64 mask; -}; - -struct perf_ns_link_info { - __u64 dev; - __u64 ino; -}; - -struct perf_namespaces_event { - struct task_struct *task; - struct { - struct perf_event_header header; - u32 pid; - u32 tid; - u64 nr_namespaces; - struct perf_ns_link_info link_info[7]; - } event_id; -}; - -struct perf_pmu_events_attr { - struct device_attribute attr; - u64 id; - const char *event_str; -}; - -struct perf_pmu_events_ht_attr { - struct device_attribute attr; - u64 id; - const char *event_str_ht; - const char *event_str_noht; -}; - -struct perf_pmu_events_hybrid_attr { - struct device_attribute attr; - u64 id; - const char *event_str; - u64 pmu_type; -}; - -struct perf_pmu_format_hybrid_attr { - struct device_attribute attr; - u64 pmu_type; -}; - -typedef long unsigned int (*perf_copy_f)(void *, const void *, long unsigned int, long unsigned int); - -struct perf_raw_frag { - union { - struct perf_raw_frag *next; - long unsigned int pad; - }; - perf_copy_f copy; - void *data; - u32 size; -} __attribute__((packed)); - -struct perf_raw_record { - struct perf_raw_frag frag; - u32 size; -}; - -struct perf_read_data { - struct perf_event *event; - bool group; - int ret; -}; - -struct perf_read_event { - struct perf_event_header header; - u32 pid; - u32 tid; -}; - -struct sched_state { - int weight; - int event; - int counter; - int unassigned; - int nr_gp; - u64 used; -}; - -struct perf_sched { - int max_weight; - int max_events; - int max_gp; - int saved_states; - struct event_constraint **constraints; - struct sched_state state; - struct sched_state saved[2]; -}; - -struct perf_switch_event { - struct task_struct *task; - struct task_struct *next_prev; - struct { - struct perf_event_header header; - u32 next_prev_pid; - u32 next_prev_tid; - } event_id; -}; - -struct perf_task_event { - struct task_struct *task; - struct perf_event_context *task_ctx; - struct { - struct perf_event_header header; - u32 pid; - u32 ppid; - u32 tid; - u32 ptid; - u64 time; - } event_id; -}; - -struct perf_text_poke_event { - const void *old_bytes; - const void *new_bytes; - size_t pad; - u16 old_len; - u16 new_len; - struct { - struct perf_event_header header; - u64 addr; - } event_id; -}; - -struct perm_datum { - u32 value; -}; - -struct pernet_operations { - struct list_head list; - int (*init)(struct net *); - void (*pre_exit)(struct net *); - void (*exit)(struct net *); - void (*exit_batch)(struct list_head *); - void (*exit_rtnl)(struct net *, struct list_head *); - unsigned int * const id; - const size_t size; -}; - -struct pf_desc { - u32 pseudoflavor; - u32 qop; - u32 service; - char *name; - char *auth_domain_name; - struct auth_domain *domain; - bool datatouch; -}; - -struct skb_array { - struct ptr_ring ring; -}; - -struct pfifo_fast_priv { - struct skb_array q[3]; -}; - -struct pfnmap_track_ctx { - struct kref kref; - long unsigned int pfn; - long unsigned int size; -}; - -struct ptdump_range; - -struct ptdump_state { - void (*note_page_pte)(struct ptdump_state *, long unsigned int, pte_t); - void (*note_page_pmd)(struct ptdump_state *, long unsigned int, pmd_t); - void (*note_page_pud)(struct ptdump_state *, long unsigned int, pud_t); - void (*note_page_p4d)(struct ptdump_state *, long unsigned int, p4d_t); - void (*note_page_pgd)(struct ptdump_state *, long unsigned int, pgd_t); - void (*note_page_flush)(struct ptdump_state *); - void (*effective_prot_pte)(struct ptdump_state *, pte_t); - void (*effective_prot_pmd)(struct ptdump_state *, pmd_t); - void (*effective_prot_pud)(struct ptdump_state *, pud_t); - void (*effective_prot_p4d)(struct ptdump_state *, p4d_t); - void (*effective_prot_pgd)(struct ptdump_state *, pgd_t); - const struct ptdump_range *range; -}; - -struct pg_state { - struct ptdump_state ptdump; - int level; - pgprotval_t current_prot; - pgprotval_t effective_prot; - pgprotval_t prot_levels[5]; - long unsigned int start_address; - const struct addr_marker *marker; - long unsigned int lines; - bool to_dmesg; - bool check_wx; - long unsigned int wx_pages; - struct seq_file *seq; -}; - -struct zone { - long unsigned int _watermark[4]; - long unsigned int watermark_boost; - long unsigned int nr_reserved_highatomic; - long unsigned int nr_free_highatomic; - long int lowmem_reserve[5]; - int node; - struct pglist_data *zone_pgdat; - struct per_cpu_pages *per_cpu_pageset; - struct per_cpu_zonestat *per_cpu_zonestats; - int pageset_high_min; - int pageset_high_max; - int pageset_batch; - long unsigned int zone_start_pfn; - atomic_long_t managed_pages; - long unsigned int spanned_pages; - long unsigned int present_pages; - long unsigned int present_early_pages; - long unsigned int cma_pages; - const char *name; - long unsigned int nr_isolate_pageblock; - seqlock_t span_seqlock; - int initialized; - long: 64; - long: 64; - long: 64; - long: 64; - struct cacheline_padding _pad1_; - struct free_area free_area[11]; - struct list_head unaccepted_pages; - struct work_struct unaccepted_cleanup; - long unsigned int flags; - spinlock_t lock; - struct llist_head trylock_free_pages; - struct cacheline_padding _pad2_; - long unsigned int percpu_drift_mark; - long unsigned int compact_cached_free_pfn; - long unsigned int compact_cached_migrate_pfn[2]; - long unsigned int compact_init_migrate_pfn; - long unsigned int compact_init_free_pfn; - unsigned int compact_considered; - unsigned int compact_defer_shift; - int compact_order_failed; - bool compact_blockskip_flush; - bool contiguous; - long: 0; - struct cacheline_padding _pad3_; - atomic_long_t vm_stat[12]; - atomic_long_t vm_numa_event[6]; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct zoneref { - struct zone *zone; - int zone_idx; -}; - -struct zonelist { - struct zoneref _zonerefs[5121]; -}; - -struct pglist_data { - struct zone node_zones[5]; - struct zonelist node_zonelists[2]; - int nr_zones; - spinlock_t node_size_lock; - long unsigned int node_start_pfn; - long unsigned int node_present_pages; - long unsigned int node_spanned_pages; - int node_id; - wait_queue_head_t kswapd_wait; - wait_queue_head_t pfmemalloc_wait; - wait_queue_head_t reclaim_wait[4]; - atomic_t nr_writeback_throttled; - long unsigned int nr_reclaim_start; - struct mutex kswapd_lock; - struct task_struct *kswapd; - int kswapd_order; - enum zone_type kswapd_highest_zoneidx; - int kswapd_failures; - int kcompactd_max_order; - enum zone_type kcompactd_highest_zoneidx; - wait_queue_head_t kcompactd_wait; - struct task_struct *kcompactd; - bool proactive_compact_trigger; - long unsigned int totalreserve_pages; - long unsigned int min_unmapped_pages; - long unsigned int min_slab_pages; - long: 64; - long: 64; - long: 64; - struct cacheline_padding _pad1_; - struct deferred_split deferred_split_queue; - unsigned int nbp_rl_start; - long unsigned int nbp_rl_nr_cand; - unsigned int nbp_threshold; - unsigned int nbp_th_start; - long unsigned int nbp_th_nr_cand; - struct lruvec __lruvec; - long unsigned int flags; - struct lru_gen_mm_walk mm_walk; - struct lru_gen_memcg memcg_lru; - long: 64; - struct cacheline_padding _pad2_; - struct per_cpu_nodestat *per_cpu_nodestats; - atomic_long_t vm_stat[49]; - struct memory_tier *memtier; - struct memory_failure_stats mf_stats; -}; - -struct pgv { - char *buffer; -}; - -struct phc_vclocks_reply_data { - struct ethnl_reply_data base; - int num; - int *index; -}; - -struct phy_attrs { - u32 bus_width; - u32 max_link_rate; - enum phy_mode mode; -}; - -struct phy_ops; - -struct phy { - struct device dev; - int id; - const struct phy_ops *ops; - struct mutex mutex; - struct lock_class_key lockdep_key; - int init_count; - int power_count; - struct phy_attrs attrs; - struct regulator *pwr; - struct dentry *debugfs; -}; - -struct phy_c45_device_ids { - u32 devices_in_package; - u32 mmds_present; - u32 device_ids[32]; -}; - -struct phy_configure_opts_mipi_dphy { - unsigned int clk_miss; - unsigned int clk_post; - unsigned int clk_pre; - unsigned int clk_prepare; - unsigned int clk_settle; - unsigned int clk_term_en; - unsigned int clk_trail; - unsigned int clk_zero; - unsigned int d_term_en; - unsigned int eot; - unsigned int hs_exit; - unsigned int hs_prepare; - unsigned int hs_settle; - unsigned int hs_skip; - unsigned int hs_trail; - unsigned int hs_zero; - unsigned int init; - unsigned int lpx; - unsigned int ta_get; - unsigned int ta_go; - unsigned int ta_sure; - unsigned int wakeup; - long unsigned int hs_clk_rate; - long unsigned int lp_clk_rate; - unsigned char lanes; -}; - -struct phy_configure_opts_dp { - unsigned int link_rate; - unsigned int lanes; - unsigned int voltage[4]; - unsigned int pre[4]; - u8 ssc: 1; - u8 set_rate: 1; - u8 set_lanes: 1; - u8 set_voltages: 1; -}; - -struct phy_configure_opts_lvds { - unsigned int bits_per_lane_and_dclk_cycle; - long unsigned int differential_clk_rate; - unsigned int lanes; - bool is_slave; -}; - -struct phy_configure_opts_hdmi { - long long unsigned int tmds_char_rate; - unsigned int bpc; -}; - -union phy_configure_opts { - struct phy_configure_opts_mipi_dphy mipi_dphy; - struct phy_configure_opts_dp dp; - struct phy_configure_opts_lvds lvds; - struct phy_configure_opts_hdmi hdmi; -}; - -struct phy_driver; - -struct phy_led_trigger; - -struct pse_control; - -struct phy_device { - struct mdio_device mdio; - const struct phy_driver *drv; - struct device_link *devlink; - u32 phyindex; - u32 phy_id; - struct phy_c45_device_ids c45_ids; - unsigned int is_c45: 1; - unsigned int is_internal: 1; - unsigned int is_pseudo_fixed_link: 1; - unsigned int is_gigabit_capable: 1; - unsigned int has_fixups: 1; - unsigned int suspended: 1; - unsigned int suspended_by_mdio_bus: 1; - unsigned int sysfs_links: 1; - unsigned int loopback_enabled: 1; - unsigned int downshifted_rate: 1; - unsigned int is_on_sfp_module: 1; - unsigned int mac_managed_pm: 1; - unsigned int wol_enabled: 1; - unsigned int is_genphy_driven: 1; - unsigned int autoneg: 1; - unsigned int link: 1; - unsigned int autoneg_complete: 1; - unsigned int interrupts: 1; - unsigned int irq_suspended: 1; - unsigned int irq_rerun: 1; - unsigned int default_timestamp: 1; - int rate_matching; - enum phy_state state; - u32 dev_flags; - phy_interface_t interface; - long unsigned int possible_interfaces[1]; - int speed; - int duplex; - int port; - int pause; - int asym_pause; - u8 master_slave_get; - u8 master_slave_set; - u8 master_slave_state; - long unsigned int supported[2]; - long unsigned int advertising[2]; - long unsigned int lp_advertising[2]; - long unsigned int adv_old[2]; - long unsigned int supported_eee[2]; - long unsigned int advertising_eee[2]; - long unsigned int eee_disabled_modes[2]; - bool enable_tx_lpi; - bool eee_active; - struct eee_config eee_cfg; - long unsigned int host_interfaces[1]; - struct phy_led_trigger *phy_led_triggers; - unsigned int phy_num_led_triggers; - struct phy_led_trigger *last_triggered; - struct phy_led_trigger *led_link_trigger; - struct list_head leds; - int irq; - void *priv; - struct phy_package_shared *shared; - struct sk_buff *skb; - void *ehdr; - struct nlattr *nest; - struct delayed_work state_queue; - struct mutex lock; - bool sfp_bus_attached; - struct sfp_bus *sfp_bus; - struct phylink *phylink; - struct net_device *attached_dev; - struct mii_timestamper *mii_ts; - struct pse_control *psec; - u8 mdix; - u8 mdix_ctrl; - int pma_extable; - unsigned int link_down_events; - void (*phy_link_change)(struct phy_device *, bool); - void (*adjust_link)(struct net_device *); - const struct macsec_ops *macsec_ops; -}; - -struct phy_device_node { - enum phy_upstream upstream_type; - union { - struct net_device *netdev; - struct phy_device *phydev; - } upstream; - struct sfp_bus *parent_sfp_bus; - struct phy_device *phy; -}; - -struct phy_devm { - struct usb_phy *phy; - struct notifier_block *nb; -}; - -struct phy_driver { - struct mdio_driver_common mdiodrv; - u32 phy_id; - char *name; - u32 phy_id_mask; - const long unsigned int * const features; - u32 flags; - const void *driver_data; - int (*soft_reset)(struct phy_device *); - int (*config_init)(struct phy_device *); - int (*probe)(struct phy_device *); - int (*get_features)(struct phy_device *); - unsigned int (*inband_caps)(struct phy_device *, phy_interface_t); - int (*config_inband)(struct phy_device *, unsigned int); - int (*get_rate_matching)(struct phy_device *, phy_interface_t); - int (*suspend)(struct phy_device *); - int (*resume)(struct phy_device *); - int (*config_aneg)(struct phy_device *); - int (*aneg_done)(struct phy_device *); - int (*read_status)(struct phy_device *); - int (*config_intr)(struct phy_device *); - irqreturn_t (*handle_interrupt)(struct phy_device *); - void (*remove)(struct phy_device *); - int (*match_phy_device)(struct phy_device *, const struct phy_driver *); - int (*set_wol)(struct phy_device *, struct ethtool_wolinfo *); - void (*get_wol)(struct phy_device *, struct ethtool_wolinfo *); - void (*link_change_notify)(struct phy_device *); - int (*read_mmd)(struct phy_device *, int, u16); - int (*write_mmd)(struct phy_device *, int, u16, u16); - int (*read_page)(struct phy_device *); - int (*write_page)(struct phy_device *, int); - int (*module_info)(struct phy_device *, struct ethtool_modinfo *); - int (*module_eeprom)(struct phy_device *, struct ethtool_eeprom *, u8 *); - int (*cable_test_start)(struct phy_device *); - int (*cable_test_tdr_start)(struct phy_device *, const struct phy_tdr_config *); - int (*cable_test_get_status)(struct phy_device *, bool *); - void (*get_phy_stats)(struct phy_device *, struct ethtool_eth_phy_stats *, struct ethtool_phy_stats *); - void (*get_link_stats)(struct phy_device *, struct ethtool_link_ext_stats *); - int (*update_stats)(struct phy_device *); - int (*get_sset_count)(struct phy_device *); - void (*get_strings)(struct phy_device *, u8 *); - void (*get_stats)(struct phy_device *, struct ethtool_stats *, u64 *); - int (*get_tunable)(struct phy_device *, struct ethtool_tunable *, void *); - int (*set_tunable)(struct phy_device *, struct ethtool_tunable *, const void *); - int (*set_loopback)(struct phy_device *, bool, int); - int (*get_sqi)(struct phy_device *); - int (*get_sqi_max)(struct phy_device *); - int (*get_plca_cfg)(struct phy_device *, struct phy_plca_cfg *); - int (*set_plca_cfg)(struct phy_device *, const struct phy_plca_cfg *); - int (*get_plca_status)(struct phy_device *, struct phy_plca_status *); - int (*led_brightness_set)(struct phy_device *, u8, enum led_brightness); - int (*led_blink_set)(struct phy_device *, u8, long unsigned int *, long unsigned int *); - int (*led_hw_is_supported)(struct phy_device *, u8, long unsigned int); - int (*led_hw_control_set)(struct phy_device *, u8, long unsigned int); - int (*led_hw_control_get)(struct phy_device *, u8, long unsigned int *); - int (*led_polarity_set)(struct phy_device *, int, long unsigned int); - unsigned int (*get_next_update_time)(struct phy_device *); -}; - -struct phy_fixup { - struct list_head list; - char bus_id[64]; - u32 phy_uid; - u32 phy_uid_mask; - int (*run)(struct phy_device *); -}; - -struct phy_led_trigger { - struct led_trigger trigger; - char name[76]; - unsigned int speed; -}; - -struct phy_link_topology { - struct xarray phys; - u32 next_phy_index; -}; - -struct phy_lookup { - struct list_head node; - const char *dev_id; - const char *con_id; - struct phy *phy; -}; - -struct phy_ops { - int (*init)(struct phy *); - int (*exit)(struct phy *); - int (*power_on)(struct phy *); - int (*power_off)(struct phy *); - int (*set_mode)(struct phy *, enum phy_mode, int); - int (*set_media)(struct phy *, enum phy_media); - int (*set_speed)(struct phy *, int); - int (*configure)(struct phy *, union phy_configure_opts *); - int (*validate)(struct phy *, enum phy_mode, int, union phy_configure_opts *); - int (*reset)(struct phy *); - int (*calibrate)(struct phy *); - int (*connect)(struct phy *, int); - int (*disconnect)(struct phy *, int); - void (*release)(struct phy *); - struct module *owner; -}; - -struct phy_plca_cfg { - int version; - int enabled; - int node_id; - int node_cnt; - int to_tmr; - int burst_cnt; - int burst_tmr; -}; - -struct phy_plca_status { - bool pst; -}; - -struct phy_provider { - struct device *dev; - struct device_node *children; - struct module *owner; - struct list_head list; - struct phy * (*of_xlate)(struct device *, const struct of_phandle_args *); -}; - -struct phy_reply_data { - struct ethnl_reply_data base; - u32 phyindex; - char *drvname; - char *name; - unsigned int upstream_type; - char *upstream_sfp_name; - unsigned int upstream_index; - char *downstream_sfp_name; -}; - -struct phy_tdr_config { - u32 first; - u32 last; - u32 step; - s8 pair; -}; - -struct phylib_stubs { - int (*hwtstamp_get)(struct phy_device *, struct kernel_hwtstamp_config *); - int (*hwtstamp_set)(struct phy_device *, struct kernel_hwtstamp_config *, struct netlink_ext_ack *); - void (*get_phy_stats)(struct phy_device *, struct ethtool_eth_phy_stats *, struct ethtool_phy_stats *); - void (*get_link_ext_stats)(struct phy_device *, struct ethtool_link_ext_stats *); -}; - -struct phylink_link_state { - long unsigned int advertising[2]; - long unsigned int lp_advertising[2]; - phy_interface_t interface; - int speed; - int duplex; - int pause; - int rate_matching; - unsigned int link: 1; - unsigned int an_complete: 1; -}; - -struct phylink_pcs; - -struct phylink_mac_ops { - long unsigned int (*mac_get_caps)(struct phylink_config *, phy_interface_t); - struct phylink_pcs * (*mac_select_pcs)(struct phylink_config *, phy_interface_t); - int (*mac_prepare)(struct phylink_config *, unsigned int, phy_interface_t); - void (*mac_config)(struct phylink_config *, unsigned int, const struct phylink_link_state *); - int (*mac_finish)(struct phylink_config *, unsigned int, phy_interface_t); - void (*mac_link_down)(struct phylink_config *, unsigned int, phy_interface_t); - void (*mac_link_up)(struct phylink_config *, struct phy_device *, unsigned int, phy_interface_t, int, int, bool, bool); - void (*mac_disable_tx_lpi)(struct phylink_config *); - int (*mac_enable_tx_lpi)(struct phylink_config *, u32, bool); -}; - -struct phylink_pcs_ops; - -struct phylink_pcs { - long unsigned int supported_interfaces[1]; - const struct phylink_pcs_ops *ops; - struct phylink *phylink; - bool poll; - bool rxc_always_on; -}; - -struct phylink_pcs_ops { - int (*pcs_validate)(struct phylink_pcs *, long unsigned int *, const struct phylink_link_state *); - unsigned int (*pcs_inband_caps)(struct phylink_pcs *, phy_interface_t); - int (*pcs_enable)(struct phylink_pcs *); - void (*pcs_disable)(struct phylink_pcs *); - void (*pcs_pre_config)(struct phylink_pcs *, phy_interface_t); - int (*pcs_post_config)(struct phylink_pcs *, phy_interface_t); - void (*pcs_get_state)(struct phylink_pcs *, unsigned int, struct phylink_link_state *); - int (*pcs_config)(struct phylink_pcs *, unsigned int, phy_interface_t, const long unsigned int *, bool); - void (*pcs_an_restart)(struct phylink_pcs *); - void (*pcs_link_up)(struct phylink_pcs *, unsigned int, phy_interface_t, int, int); - void (*pcs_disable_eee)(struct phylink_pcs *); - void (*pcs_enable_eee)(struct phylink_pcs *); - int (*pcs_pre_init)(struct phylink_pcs *); -}; - -struct phys_vec { - phys_addr_t paddr; - u32 len; -}; - -struct physdev_apic { - long unsigned int apic_physbase; - uint32_t reg; - uint32_t value; -}; - -struct physdev_dbgp_op { - uint8_t op; - uint8_t bus; - union { - struct physdev_pci_device pci; - } u; -}; - -struct physdev_eoi { - uint32_t irq; -}; - -struct physdev_get_free_pirq { - int type; - uint32_t pirq; -}; - -struct physdev_irq { - uint32_t irq; - uint32_t vector; -}; - -struct physdev_irq_status_query { - uint32_t irq; - uint32_t flags; -}; - -struct physdev_manage_pci { - uint8_t bus; - uint8_t devfn; -}; - -struct physdev_manage_pci_ext { - uint8_t bus; - uint8_t devfn; - unsigned int is_extfn; - unsigned int is_virtfn; - struct { - uint8_t bus; - uint8_t devfn; - } physfn; -}; - -struct physdev_map_pirq { - domid_t domid; - int type; - int index; - int pirq; - int bus; - int devfn; - int entry_nr; - uint64_t table_base; -}; - -struct physdev_pci_device_add { - uint16_t seg; - uint8_t bus; - uint8_t devfn; - uint32_t flags; - struct { - uint8_t bus; - uint8_t devfn; - } physfn; - uint32_t optarr[0]; -}; - -struct physdev_pci_mmcfg_reserved { - uint64_t address; - uint16_t segment; - uint8_t start_bus; - uint8_t end_bus; - uint32_t flags; -}; - -struct physdev_pirq_eoi_gmfn { - xen_ulong_t gmfn; -}; - -struct physdev_restore_msi { - uint8_t bus; - uint8_t devfn; -}; - -struct physdev_set_iobitmap { - uint8_t *bitmap; - uint32_t nr_ports; -}; - -struct physdev_set_iopl { - uint32_t iopl; -}; - -struct physdev_setup_gsi { - int gsi; - uint8_t triggering; - uint8_t polarity; -}; - -struct physdev_unmap_pirq { - domid_t domid; - int pirq; -}; - -struct upid { - int nr; - struct pid_namespace *ns; -}; - -struct pidfs_attr; - -struct pid { - refcount_t count; - unsigned int level; - spinlock_t lock; - struct { - u64 ino; - struct rb_node pidfs_node; - struct dentry *stashed; - struct pidfs_attr *attr; - }; - struct hlist_head tasks[4]; - struct hlist_head inodes; - wait_queue_head_t wait_pidfd; - struct callback_head rcu; - struct upid numbers[0]; -}; - -union proc_op { - int (*proc_get_link)(struct dentry *, struct path *); - int (*proc_show)(struct seq_file *, struct pid_namespace *, struct pid *, struct task_struct *); - int lsmid; -}; - -struct pid_entry { - const char *name; - unsigned int len; - umode_t mode; - const struct inode_operations *iop; - const struct file_operations *fop; - union proc_op op; -}; - -struct pid_namespace { - struct idr idr; - struct callback_head rcu; - unsigned int pid_allocated; - struct task_struct *child_reaper; - struct kmem_cache *pid_cachep; - unsigned int level; - int pid_max; - struct pid_namespace *parent; - struct fs_pin *bacct; - struct user_namespace *user_ns; - struct ucounts *ucounts; - int reboot; - struct ns_common ns; - struct work_struct work; - struct ctl_table_set set; - struct ctl_table_header *sysctls; - int memfd_noexec_scope; -}; - -struct pidfd_info { - __u64 mask; - __u64 cgroupid; - __u32 pid; - __u32 tgid; - __u32 ppid; - __u32 ruid; - __u32 rgid; - __u32 euid; - __u32 egid; - __u32 suid; - __u32 sgid; - __u32 fsuid; - __u32 fsgid; - __s32 exit_code; - __u32 coredump_mask; - __u32 __spare1; -}; - -struct pidfs_exit_info { - __u64 cgroupid; - __s32 exit_code; - __u32 coredump_mask; -}; - -struct pidfs_attr { - struct simple_xattrs *xattrs; - struct pidfs_exit_info __pei; - struct pidfs_exit_info *exit_info; -}; - -struct pids_cgroup { - struct cgroup_subsys_state css; - atomic64_t counter; - atomic64_t limit; - int64_t watermark; - struct cgroup_file events_file; - struct cgroup_file events_local_file; - atomic64_t events[2]; - atomic64_t events_local[2]; -}; - -struct piix_host_priv { - const int *map; - u32 saved_iocfg; - void *sidpr; -}; - -struct piix_map_db { - const u32 mask; - const u16 port_enable; - const int map[0]; -}; - -struct pimreghdr { - __u8 type; - __u8 reserved; - __be16 csum; - __be32 flags; -}; - -struct pin_config_item { - const enum pin_config_param param; - const char * const display; - const char * const format; - bool has_arg; -}; - -struct pinctrl_setting_mux; - -struct pin_desc { - struct pinctrl_dev *pctldev; - const char *name; - bool dynamic_name; - void *drv_data; - unsigned int mux_usecount; - const char *mux_owner; - const struct pinctrl_setting_mux *mux_setting; - const char *gpio_owner; - struct mutex mux_lock; -}; - -struct pinconf_generic_params { - const char * const property; - enum pin_config_param param; - u32 default_value; -}; - -struct pinconf_ops { - bool is_generic; - int (*pin_config_get)(struct pinctrl_dev *, unsigned int, long unsigned int *); - int (*pin_config_set)(struct pinctrl_dev *, unsigned int, long unsigned int *, unsigned int); - int (*pin_config_group_get)(struct pinctrl_dev *, unsigned int, long unsigned int *); - int (*pin_config_group_set)(struct pinctrl_dev *, unsigned int, long unsigned int *, unsigned int); - void (*pin_config_dbg_show)(struct pinctrl_dev *, struct seq_file *, unsigned int); - void (*pin_config_group_dbg_show)(struct pinctrl_dev *, struct seq_file *, unsigned int); - void (*pin_config_config_dbg_show)(struct pinctrl_dev *, struct seq_file *, long unsigned int); -}; - -struct pinctrl { - struct list_head node; - struct device *dev; - struct list_head states; - struct pinctrl_state *state; - struct list_head dt_maps; - struct kref users; -}; - -struct pinctrl_dev { - struct list_head node; - const struct pinctrl_desc *desc; - struct xarray pin_desc_tree; - struct list_head gpio_ranges; - struct device *dev; - struct module *owner; - void *driver_data; - struct pinctrl *p; - struct pinctrl_state *hog_default; - struct pinctrl_state *hog_sleep; - struct mutex mutex; - struct dentry *device_root; -}; - -struct pinctrl_map_mux { - const char *group; - const char *function; -}; - -struct pinctrl_map_configs { - const char *group_or_pin; - long unsigned int *configs; - unsigned int num_configs; -}; - -struct pinctrl_map { - const char *dev_name; - const char *name; - enum pinctrl_map_type type; - const char *ctrl_dev_name; - union { - struct pinctrl_map_mux mux; - struct pinctrl_map_configs configs; - } data; -}; - -struct pinctrl_maps { - struct list_head node; - const struct pinctrl_map *maps; - unsigned int num_maps; -}; - -struct pinctrl_ops { - int (*get_groups_count)(struct pinctrl_dev *); - const char * (*get_group_name)(struct pinctrl_dev *, unsigned int); - int (*get_group_pins)(struct pinctrl_dev *, unsigned int, const unsigned int **, unsigned int *); - void (*pin_dbg_show)(struct pinctrl_dev *, struct seq_file *, unsigned int); - int (*dt_node_to_map)(struct pinctrl_dev *, struct device_node *, struct pinctrl_map **, unsigned int *); - void (*dt_free_map)(struct pinctrl_dev *, struct pinctrl_map *, unsigned int); -}; - -struct pinctrl_pin_desc { - unsigned int number; - const char *name; - void *drv_data; -}; - -struct pinctrl_setting_mux { - unsigned int group; - unsigned int func; -}; - -struct pinctrl_setting_configs { - unsigned int group_or_pin; - long unsigned int *configs; - unsigned int num_configs; -}; - -struct pinctrl_setting { - struct list_head node; - enum pinctrl_map_type type; - struct pinctrl_dev *pctldev; - const char *dev_name; - union { - struct pinctrl_setting_mux mux; - struct pinctrl_setting_configs configs; - } data; -}; - -struct pinctrl_state { - struct list_head node; - const char *name; - struct list_head settings; -}; - -struct ping_iter_state { - struct seq_net_private p; - int bucket; - sa_family_t family; -}; - -struct ping_table { - struct hlist_head hash[64]; - spinlock_t lock; -}; - -struct pingfakehdr { - struct icmphdr icmph; - struct msghdr *msg; - sa_family_t family; - __wsum wcheck; -}; - -struct pingv6_ops { - int (*ipv6_recv_error)(struct sock *, struct msghdr *, int, int *); - void (*ip6_datagram_recv_common_ctl)(struct sock *, struct msghdr *, struct sk_buff *); - void (*ip6_datagram_recv_specific_ctl)(struct sock *, struct msghdr *, struct sk_buff *); - int (*icmpv6_err_convert)(u8, u8, int *); - void (*ipv6_icmp_error)(struct sock *, struct sk_buff *, int, __be16, u32, u8 *); - int (*ipv6_chk_addr)(struct net *, const struct in6_addr *, const struct net_device *, int); -}; - -struct pinmux_ops { - int (*request)(struct pinctrl_dev *, unsigned int); - int (*free)(struct pinctrl_dev *, unsigned int); - int (*get_functions_count)(struct pinctrl_dev *); - const char * (*get_function_name)(struct pinctrl_dev *, unsigned int); - int (*get_function_groups)(struct pinctrl_dev *, unsigned int, const char * const **, unsigned int *); - int (*set_mux)(struct pinctrl_dev *, unsigned int, unsigned int); - int (*gpio_request_enable)(struct pinctrl_dev *, struct pinctrl_gpio_range *, unsigned int); - void (*gpio_disable_free)(struct pinctrl_dev *, struct pinctrl_gpio_range *, unsigned int); - int (*gpio_set_direction)(struct pinctrl_dev *, struct pinctrl_gpio_range *, unsigned int, bool); - bool strict; -}; - -struct pinned_mountpoint { - struct hlist_node node; - struct mountpoint *mp; -}; - -struct pipe_buf_operations { - int (*confirm)(struct pipe_inode_info *, struct pipe_buffer *); - void (*release)(struct pipe_inode_info *, struct pipe_buffer *); - bool (*try_steal)(struct pipe_inode_info *, struct pipe_buffer *); - bool (*get)(struct pipe_inode_info *, struct pipe_buffer *); -}; - -struct pipe_buffer { - struct page *page; - unsigned int offset; - unsigned int len; - const struct pipe_buf_operations *ops; - unsigned int flags; - long unsigned int private; -}; - -union pipe_index { - long unsigned int head_tail; - struct { - pipe_index_t head; - pipe_index_t tail; - }; -}; - -struct watch_queue; - -struct pipe_inode_info { - struct mutex mutex; - wait_queue_head_t rd_wait; - wait_queue_head_t wr_wait; - union { - long unsigned int head_tail; - struct { - pipe_index_t head; - pipe_index_t tail; - }; - }; - unsigned int max_usage; - unsigned int ring_size; - unsigned int nr_accounted; - unsigned int readers; - unsigned int writers; - unsigned int files; - unsigned int r_counter; - unsigned int w_counter; - bool poll_usage; - bool note_loss; - struct page *tmp_page[2]; - struct fasync_struct *fasync_readers; - struct fasync_struct *fasync_writers; - struct pipe_buffer *bufs; - struct user_struct *user; - struct watch_queue *watch_queue; -}; - -struct pipe_wait { - struct trace_iterator *iter; - int wait_index; -}; - -struct pkcs1pad_ctx { - struct crypto_akcipher *child; - unsigned int key_size; -}; - -struct pkcs1pad_inst_ctx { - struct crypto_akcipher_spawn spawn; -}; - -struct pkcs1pad_request { - struct scatterlist in_sg[2]; - struct scatterlist out_sg[1]; - uint8_t *in_buf; - uint8_t *out_buf; - struct akcipher_request child_req; -}; - -struct x509_certificate; - -struct pkcs7_signed_info; - -struct pkcs7_message { - struct x509_certificate *certs; - struct x509_certificate *crl; - struct pkcs7_signed_info *signed_infos; - u8 version; - bool have_authattrs; - enum OID data_type; - size_t data_len; - size_t data_hdrlen; - const void *data; -}; - -struct pkcs7_parse_context { - struct pkcs7_message *msg; - struct pkcs7_signed_info *sinfo; - struct pkcs7_signed_info **ppsinfo; - struct x509_certificate *certs; - struct x509_certificate **ppcerts; - long unsigned int data; - enum OID last_oid; - unsigned int x509_index; - unsigned int sinfo_index; - const void *raw_serial; - unsigned int raw_serial_size; - unsigned int raw_issuer_size; - const void *raw_issuer; - const void *raw_skid; - unsigned int raw_skid_size; - bool expect_skid; -}; - -struct pkcs7_signed_info { - struct pkcs7_signed_info *next; - struct x509_certificate *signer; - unsigned int index; - bool unsupported_crypto; - bool blacklisted; - const void *msgdigest; - unsigned int msgdigest_len; - unsigned int authattrs_len; - const void *authattrs; - long unsigned int aa_set; - time64_t signing_time; - struct public_key_signature *sig; -}; - -struct pkey_security_struct { - u64 subnet_prefix; - u16 pkey; - u32 sid; -}; - -struct pkru_state { - u32 pkru; - u32 pad; -}; - -struct plat_serial8250_port { - long unsigned int iobase; - void *membase; - resource_size_t mapbase; - resource_size_t mapsize; - unsigned int uartclk; - unsigned int irq; - long unsigned int irqflags; - void *private_data; - unsigned char regshift; - unsigned char iotype; - unsigned char hub6; - unsigned char has_sysrq; - unsigned int type; - upf_t flags; - u16 bugs; - u32 (*serial_in)(struct uart_port *, unsigned int); - void (*serial_out)(struct uart_port *, unsigned int, u32); - u32 (*dl_read)(struct uart_8250_port *); - void (*dl_write)(struct uart_8250_port *, u32); - void (*set_termios)(struct uart_port *, struct ktermios *, const struct ktermios *); - void (*set_ldisc)(struct uart_port *, struct ktermios *); - unsigned int (*get_mctrl)(struct uart_port *); - int (*handle_irq)(struct uart_port *); - void (*pm)(struct uart_port *, unsigned int, unsigned int); - void (*handle_break)(struct uart_port *); -}; - -struct platform_device_id { - char name[24]; - kernel_ulong_t driver_data; -}; - -struct platform_device_info { - struct device *parent; - struct fwnode_handle *fwnode; - bool of_node_reused; - const char *name; - int id; - const struct resource *res; - unsigned int num_res; - const void *data; - size_t size_data; - u64 dma_mask; - const struct property_entry *properties; -}; - -struct platform_driver { - int (*probe)(struct platform_device *); - void (*remove)(struct platform_device *); - void (*shutdown)(struct platform_device *); - int (*suspend)(struct platform_device *, pm_message_t); - int (*resume)(struct platform_device *); - struct device_driver driver; - const struct platform_device_id *id_table; - bool prevent_deferred_probe; - bool driver_managed_dma; -}; - -struct platform_hibernation_ops { - int (*begin)(pm_message_t); - void (*end)(void); - int (*pre_snapshot)(void); - void (*finish)(void); - int (*prepare)(void); - int (*enter)(void); - void (*leave)(void); - int (*pre_restore)(void); - void (*restore_cleanup)(void); - void (*recover)(void); -}; - -struct platform_object { - struct platform_device pdev; - char name[0]; -}; - -struct platform_s2idle_ops { - int (*begin)(void); - int (*prepare)(void); - int (*prepare_late)(void); - void (*check)(void); - bool (*wake)(void); - void (*restore_early)(void); - void (*restore)(void); - void (*end)(void); -}; - -struct platform_suspend_ops { - int (*valid)(suspend_state_t); - int (*begin)(suspend_state_t); - int (*prepare)(void); - int (*prepare_late)(void); - int (*enter)(suspend_state_t); - void (*wake)(void); - void (*finish)(void); - bool (*suspend_again)(void); - void (*end)(void); - void (*recover)(void); -}; - -struct plca_reply_data { - struct ethnl_reply_data base; - struct phy_plca_cfg plca_cfg; - struct phy_plca_status plca_st; -}; - -struct pldm_pci_record_id { - int vendor; - int device; - int subsystem_vendor; - int subsystem_device; -}; - -struct pldmfw_ops; - -struct pldmfw { - const struct pldmfw_ops *ops; - struct device *dev; - u16 component_identifier; - enum pldmfw_update_mode mode; -}; - -struct pldmfw_component { - struct list_head entry; - u16 classification; - u16 identifier; - u16 options; - u16 activation_method; - u32 comparison_stamp; - u32 component_size; - const u8 *component_data; - const u8 *version_string; - u8 version_type; - u8 version_len; - u8 index; -}; - -struct pldmfw_desc_tlv { - struct list_head entry; - const u8 *data; - u16 type; - u16 size; -}; - -struct pldmfw_record; - -struct pldmfw_ops { - bool (*match_record)(struct pldmfw *, struct pldmfw_record *); - int (*send_package_data)(struct pldmfw *, const u8 *, u16); - int (*send_component_table)(struct pldmfw *, struct pldmfw_component *, u8); - int (*flash_component)(struct pldmfw *, struct pldmfw_component *); - int (*finalize_update)(struct pldmfw *); -}; - -struct pldmfw_priv { - struct pldmfw *context; - const struct firmware *fw; - size_t offset; - struct list_head records; - struct list_head components; - const struct __pldm_header *header; - u16 total_header_size; - u16 component_bitmap_len; - u16 bitmap_size; - u16 component_count; - const u8 *component_start; - const u8 *record_start; - u8 record_count; - u32 header_crc; - struct pldmfw_record *matching_record; -}; - -struct pldmfw_record { - struct list_head entry; - struct list_head descs; - const u8 *version_string; - u8 version_type; - u8 version_len; - u16 package_data_len; - u32 device_update_flags; - const u8 *package_data; - long unsigned int *component_bitmap; - u16 component_bitmap_len; -}; - -struct pm860x_backlight_pdata { - int pwm; - int iset; -}; - -struct pm860x_chip { - struct device *dev; - struct mutex irq_lock; - struct mutex osc_lock; - struct i2c_client *client; - struct i2c_client *companion; - struct regmap *regmap; - struct regmap *regmap_companion; - int buck3_double; - int companion_addr; - short unsigned int osc_vote; - int id; - int irq_mode; - int irq_base; - int core_irq; - unsigned char chip_version; - unsigned char osc_status; - unsigned int wakeup_flag; -}; - -struct pm860x_irq_data { - int reg; - int mask_reg; - int enable; - int offs; -}; - -struct pm860x_led_pdata { - int iset; -}; - -struct pm860x_rtc_pdata; - -struct pm860x_touch_pdata; - -struct pm860x_power_pdata; - -struct pm860x_platform_data { - struct pm860x_backlight_pdata *backlight; - struct pm860x_led_pdata *led; - struct pm860x_rtc_pdata *rtc; - struct pm860x_touch_pdata *touch; - struct pm860x_power_pdata *power; - struct regulator_init_data *buck1; - struct regulator_init_data *buck2; - struct regulator_init_data *buck3; - struct regulator_init_data *ldo1; - struct regulator_init_data *ldo2; - struct regulator_init_data *ldo3; - struct regulator_init_data *ldo4; - struct regulator_init_data *ldo5; - struct regulator_init_data *ldo6; - struct regulator_init_data *ldo7; - struct regulator_init_data *ldo8; - struct regulator_init_data *ldo9; - struct regulator_init_data *ldo10; - struct regulator_init_data *ldo12; - struct regulator_init_data *ldo_vibrator; - struct regulator_init_data *ldo14; - struct charger_desc *chg_desc; - int companion_addr; - int i2c_port; - int irq_mode; - int irq_base; - int num_leds; - int num_backlights; -}; - -struct pm860x_power_pdata { - int max_capacity; - int resistor; -}; - -struct pm860x_rtc_pdata { - int (*sync)(unsigned int); - int vrtc; -}; - -struct pm860x_touch_pdata { - int gpadc_prebias; - int slot_cycle; - int off_scale; - int sw_cal; - int tsi_prebias; - int pen_prebias; - int pen_prechg; - int res_x; - long unsigned int flags; -}; - -struct pm_clk_notifier_block { - struct notifier_block nb; - struct dev_pm_domain *pm_domain; - char *con_ids[0]; -}; - -struct pm_clock_entry { - struct list_head node; - char *con_id; - struct clk *clk; - enum pce_status status; - bool enabled_when_prepared; -}; - -struct pm_nl_pernet { - spinlock_t lock; - struct list_head local_addr_list; - unsigned int addrs; - unsigned int stale_loss_cnt; - unsigned int add_addr_signal_max; - unsigned int add_addr_accept_max; - unsigned int local_addr_max; - unsigned int subflows_max; - unsigned int next_id; - long unsigned int id_bitmap[4]; -}; - -struct pm_qos_request { - struct plist_node node; - struct pm_qos_constraints *qos; -}; - -struct pm_subsys_data { - spinlock_t lock; - unsigned int refcount; - unsigned int clock_op_might_sleep; - struct mutex clock_mutex; - struct list_head clock_list; - struct pm_domain_data *domain_data; -}; - -struct pm_vt_switch { - struct list_head head; - struct device *dev; - bool required; -}; - -struct pmc_bit_map { - const char *name; - u32 bit_mask; -}; - -struct pmc_clk { - const char *name; - long unsigned int freq; - const char *parent_name; -}; - -struct pmc_clk_data { - void *base; - const struct pmc_clk *clks; - bool critical; -}; - -struct pmc_reg_map; - -struct pmc_data { - const struct pmc_reg_map *map; - const struct pmc_clk *clks; -}; - -struct pmc_dev { - u32 base_addr; - void *regmap; - const struct pmc_reg_map *map; - struct dentry *dbgfs_dir; - bool init; -}; - -struct pmc_reg_map { - const struct pmc_bit_map *d3_sts_0; - const struct pmc_bit_map *d3_sts_1; - const struct pmc_bit_map *func_dis; - const struct pmc_bit_map *func_dis_2; - const struct pmc_bit_map *pss; -}; - -struct pmic_table { - int address; - int reg; - int bit; -}; - -struct pmu_event_list { - raw_spinlock_t lock; - struct list_head list; -}; - -struct pmu_mode { - const char *name; - uint32_t mode; -}; - -struct pneigh_entry { - struct pneigh_entry *next; - possible_net_t net; - struct net_device *dev; - netdevice_tracker dev_tracker; - union { - struct list_head free_node; - struct callback_head rcu; - }; - u32 flags; - u8 protocol; - bool permanent; - u32 key[0]; -}; - -struct pnfs_commit_ops; - -struct pnfs_ds_commit_info { - struct list_head commits; - unsigned int nwritten; - unsigned int ncommitting; - const struct pnfs_commit_ops *ops; -}; - -struct pnp_protocol; - -struct pnp_id; - -struct pnp_card { - struct device dev; - unsigned char number; - struct list_head global_list; - struct list_head protocol_list; - struct list_head devices; - struct pnp_protocol *protocol; - struct pnp_id *id; - char name[50]; - unsigned char pnpver; - unsigned char productver; - unsigned int serial; - unsigned char checksum; - struct proc_dir_entry *procdir; -}; - -struct pnp_card_device_id { - __u8 id[8]; - kernel_ulong_t driver_data; - struct { - __u8 id[8]; - } devs[8]; -}; - -struct pnp_device_id; - -struct pnp_driver { - const char *name; - const struct pnp_device_id *id_table; - unsigned int flags; - int (*probe)(struct pnp_dev *, const struct pnp_device_id *); - void (*remove)(struct pnp_dev *); - void (*shutdown)(struct pnp_dev *); - int (*suspend)(struct pnp_dev *, pm_message_t); - int (*resume)(struct pnp_dev *); - struct device_driver driver; -}; - -struct pnp_card_link; - -struct pnp_card_driver { - struct list_head global_list; - char *name; - const struct pnp_card_device_id *id_table; - unsigned int flags; - int (*probe)(struct pnp_card_link *, const struct pnp_card_device_id *); - void (*remove)(struct pnp_card_link *); - int (*suspend)(struct pnp_card_link *, pm_message_t); - int (*resume)(struct pnp_card_link *); - struct pnp_driver link; -}; - -struct pnp_card_link { - struct pnp_card *card; - struct pnp_card_driver *driver; - void *driver_data; - pm_message_t pm_state; -}; - -struct pnp_dev { - struct device dev; - u64 dma_mask; - unsigned int number; - int status; - struct list_head global_list; - struct list_head protocol_list; - struct list_head card_list; - struct list_head rdev_list; - struct pnp_protocol *protocol; - struct pnp_card *card; - struct pnp_driver *driver; - struct pnp_card_link *card_link; - struct pnp_id *id; - int active; - int capabilities; - unsigned int num_dependent_sets; - struct list_head resources; - struct list_head options; - char name[50]; - int flags; - struct proc_dir_entry *procent; - void *data; -}; - -struct pnp_device_id { - __u8 id[8]; - kernel_ulong_t driver_data; -}; - -struct pnp_dma { - unsigned char map; - unsigned char flags; -}; - -struct pnp_fixup { - char id[8]; - void (*quirk_function)(struct pnp_dev *); -}; - -struct pnp_id { - char id[8]; - struct pnp_id *next; -}; - -struct pnp_info_buffer { - char *buffer; - char *curr; - long unsigned int size; - long unsigned int len; - int stop; - int error; -}; - -typedef struct pnp_info_buffer pnp_info_buffer_t; - -struct pnp_irq { - pnp_irq_mask_t map; - unsigned char flags; -}; - -struct pnp_mem { - resource_size_t min; - resource_size_t max; - resource_size_t align; - resource_size_t size; - unsigned char flags; -}; - -struct pnp_port { - resource_size_t min; - resource_size_t max; - resource_size_t align; - resource_size_t size; - unsigned char flags; -}; - -struct pnp_option { - struct list_head list; - unsigned int flags; - long unsigned int type; - union { - struct pnp_port port; - struct pnp_irq irq; - struct pnp_dma dma; - struct pnp_mem mem; - } u; -}; - -struct pnp_protocol { - struct list_head protocol_list; - char *name; - int (*get)(struct pnp_dev *); - int (*set)(struct pnp_dev *); - int (*disable)(struct pnp_dev *); - bool (*can_wakeup)(struct pnp_dev *); - int (*suspend)(struct pnp_dev *, pm_message_t); - int (*resume)(struct pnp_dev *); - unsigned char number; - struct device dev; - struct list_head cards; - struct list_head devices; -}; - -struct pnp_resource { - struct list_head list; - struct resource res; -}; - -struct policy_file; - -struct policy_data { - struct policydb *p; - struct policy_file *fp; -}; - -struct policy_file { - char *data; - size_t len; -}; - -struct policy_load_memory { - size_t len; - void *data; -}; - -struct role_datum; - -struct user_datum; - -struct type_datum; - -struct role_allow; - -struct policydb { - int mls_enabled; - struct symtab symtab[8]; - char **sym_val_to_name[8]; - struct class_datum **class_val_to_struct; - struct role_datum **role_val_to_struct; - struct user_datum **user_val_to_struct; - struct type_datum **type_val_to_struct; - struct avtab te_avtab; - struct hashtab role_tr; - struct ebitmap filename_trans_ttypes; - struct hashtab filename_trans; - u32 compat_filename_trans_count; - struct cond_bool_datum **bool_val_to_struct; - struct avtab te_cond_avtab; - struct cond_node *cond_list; - u32 cond_list_len; - struct role_allow *role_allow; - struct ocontext *ocontexts[9]; - struct genfs *genfs; - struct hashtab range_tr; - struct ebitmap *type_attr_map_array; - struct ebitmap policycaps; - struct ebitmap permissive_map; - struct ebitmap neveraudit_map; - size_t len; - unsigned int policyvers; - unsigned int reject_unknown: 1; - unsigned int allow_unknown: 1; - u16 process_class; - u32 process_trans_perms; -}; - -struct policydb_compat_info { - unsigned int version; - unsigned int sym_num; - unsigned int ocon_num; -}; - -struct pollfd { - int fd; - short int events; - short int revents; -}; - -struct poll_list { - struct poll_list *next; - unsigned int len; - struct pollfd entries[0]; -}; - -struct poll_table_entry { - struct file *filp; - __poll_t key; - wait_queue_entry_t wait; - wait_queue_head_t *wait_address; -}; - -struct poll_table_page { - struct poll_table_page *next; - struct poll_table_entry *entry; - struct poll_table_entry entries[0]; -}; - -struct poll_wqueues { - poll_table pt; - struct poll_table_page *table; - struct task_struct *polling_task; - int triggered; - int error; - int inline_index; - struct poll_table_entry inline_entries[9]; -}; - -struct poly1305_arch_internal { - union { - struct { - u32 h[5]; - u32 is_base2_26; - }; - u64 hs[3]; - }; - u64 r[2]; - u64 pad; - struct { - u32 r2; - u32 r1; - u32 r4; - u32 r3; - } rn[9]; -}; - -struct poly1305_state { - union { - u32 h[5]; - u64 h64[3]; - }; -}; - -struct poly1305_key { - union { - u32 r[5]; - u64 r64[3]; - }; -}; - -struct poly1305_core_key { - struct poly1305_key key; - struct poly1305_key precomputed_s; -}; - -struct poly1305_block_state { - struct poly1305_state h; - union { - struct poly1305_key opaque_r[11]; - struct poly1305_core_key core_r; - }; -}; - -struct poly1305_desc_ctx { - u8 buf[16]; - unsigned int buflen; - u32 s[4]; - struct poly1305_block_state state; -}; - -struct worker_pool; - -struct pool_workqueue { - struct worker_pool *pool; - struct workqueue_struct *wq; - int work_color; - int flush_color; - int refcnt; - int nr_in_flight[16]; - bool plugged; - int nr_active; - struct list_head inactive_works; - struct list_head pending_node; - struct list_head pwqs_node; - struct list_head mayday_node; - u64 stats[8]; - struct kthread_work release_work; - struct callback_head rcu; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct port_stats { - long unsigned int bytes_sent; - long unsigned int bytes_received; - long unsigned int bytes_discarded; -}; - -struct ports_device; - -struct port_buffer; - -struct virtqueue; - -struct port { - struct list_head list; - struct ports_device *portdev; - struct port_buffer *inbuf; - spinlock_t inbuf_lock; - spinlock_t outvq_lock; - struct virtqueue *in_vq; - struct virtqueue *out_vq; - struct dentry *debugfs_file; - struct port_stats stats; - struct console___2 cons; - struct cdev *cdev; - struct device *dev; - struct kref kref; - wait_queue_head_t waitqueue; - char *name; - struct fasync_struct *async_queue; - u32 id; - bool outvq_full; - bool host_connected; - bool guest_connected; -}; - -struct port_buffer { - char *buf; - size_t size; - size_t len; - size_t offset; - dma_addr_t dma; - struct device *dev; - struct list_head list; - unsigned int sgpages; - struct scatterlist sg[0]; -}; - -struct port_identity { - struct clock_identity clock_identity; - __be16 port_number; -}; - -struct portdrv_service_data { - struct pcie_port_service_driver *drv; - struct device *dev; - u32 service; -}; - -struct virtio_console_control { - __virtio32 id; - __virtio16 event; - __virtio16 value; -}; - -struct virtio_device; - -struct ports_device { - struct list_head list; - struct work_struct control_work; - struct work_struct config_work; - struct list_head ports; - spinlock_t ports_lock; - spinlock_t c_ivq_lock; - spinlock_t c_ovq_lock; - u32 max_nr_ports; - struct virtio_device *vdev; - struct virtqueue *c_ivq; - struct virtqueue *c_ovq; - struct virtio_console_control cpkt; - struct virtqueue **in_vqs; - struct virtqueue **out_vqs; - int chr_major; -}; - -struct ports_driver_data { - struct dentry *debugfs_dir; - struct list_head portdevs; - struct list_head consoles; -}; - -struct posix_acl_hdr { - refcount_t a_refcount; - unsigned int a_count; - struct callback_head a_rcu; -}; - -struct posix_acl_entry { - short int e_tag; - short unsigned int e_perm; - union { - kuid_t e_uid; - kgid_t e_gid; - }; -}; - -struct posix_acl { - union { - struct { - refcount_t a_refcount; - unsigned int a_count; - struct callback_head a_rcu; - }; - struct posix_acl_hdr hdr; - }; - struct posix_acl_entry a_entries[0]; -}; - -struct posix_acl_xattr_entry { - __le16 e_tag; - __le16 e_perm; - __le32 e_id; -}; - -struct posix_acl_xattr_header { - __le32 a_version; -}; - -struct posix_clock; - -struct posix_clock_context; - -struct posix_clock_operations { - struct module *owner; - int (*clock_adjtime)(struct posix_clock *, struct __kernel_timex *); - int (*clock_gettime)(struct posix_clock *, struct timespec64 *); - int (*clock_getres)(struct posix_clock *, struct timespec64 *); - int (*clock_settime)(struct posix_clock *, const struct timespec64 *); - long int (*ioctl)(struct posix_clock_context *, unsigned int, long unsigned int); - int (*open)(struct posix_clock_context *, fmode_t); - __poll_t (*poll)(struct posix_clock_context *, struct file *, poll_table *); - int (*release)(struct posix_clock_context *); - ssize_t (*read)(struct posix_clock_context *, uint, char *, size_t); -}; - -struct posix_clock { - struct posix_clock_operations ops; - struct cdev cdev; - struct device *dev; - struct rw_semaphore rwsem; - bool zombie; -}; - -struct posix_clock_context { - struct posix_clock *clk; - struct file *fp; - void *private_clkdata; -}; - -struct posix_clock_desc { - struct file *fp; - struct posix_clock *clk; -}; - -struct posix_cputimer_base { - u64 nextevt; - struct timerqueue_head tqhead; -}; - -struct posix_cputimers { - struct posix_cputimer_base bases[3]; - unsigned int timers_active; - unsigned int expiry_active; -}; - -struct posix_cputimers_work { - struct callback_head work; - struct mutex mutex; - unsigned int scheduled; -}; - -struct posix_msg_tree_node { - struct rb_node rb_node; - struct list_head msg_list; - int priority; -}; - -struct postprocess_bh_ctx { - struct work_struct work; - struct buffer_head *bh; -}; - -struct power_actor { - u32 req_power; - u32 max_power; - u32 granted_power; - u32 extra_actor_power; - u32 weighted_req_power; -}; - -struct thermal_trip; - -struct power_allocator_params { - bool allocated_tzp; - bool update_cdevs; - s64 err_integral; - s32 prev_err; - u32 sustainable_power; - const struct thermal_trip *trip_switch_on; - const struct thermal_trip *trip_max; - int total_weight; - unsigned int num_actors; - unsigned int buffer_size; - struct power_actor *power; -}; - -struct power_supply_battery_info; - -struct power_supply { - const struct power_supply_desc *desc; - char **supplied_to; - size_t num_supplicants; - char **supplied_from; - size_t num_supplies; - void *drv_data; - struct device dev; - struct work_struct changed_work; - struct delayed_work deferred_register_work; - spinlock_t changed_lock; - bool changed; - bool update_groups; - bool initialized; - bool removing; - atomic_t use_cnt; - struct power_supply_battery_info *battery_info; - struct rw_semaphore extensions_sem; - struct list_head extensions; - struct thermal_zone_device *tzd; - struct thermal_cooling_device *tcd; - struct led_trigger *trig; - struct led_trigger *charging_trig; - struct led_trigger *full_trig; - struct led_trigger *charging_blink_full_solid_trig; - struct led_trigger *charging_orange_full_green_trig; -}; - -struct power_supply_attr { - const char *prop_name; - char attr_name[31]; - struct device_attribute dev_attr; - const char * const *text_values; - int text_values_len; -}; - -struct power_supply_maintenance_charge_table; - -struct power_supply_battery_ocv_table; - -struct power_supply_resistance_temp_table; - -struct power_supply_vbat_ri_table; - -struct power_supply_battery_info { - unsigned int technology; - int energy_full_design_uwh; - int charge_full_design_uah; - int voltage_min_design_uv; - int voltage_max_design_uv; - int tricklecharge_current_ua; - int precharge_current_ua; - int precharge_voltage_max_uv; - int charge_term_current_ua; - int charge_restart_voltage_uv; - int overvoltage_limit_uv; - int constant_charge_current_max_ua; - int constant_charge_voltage_max_uv; - const struct power_supply_maintenance_charge_table *maintenance_charge; - int maintenance_charge_size; - int alert_low_temp_charge_current_ua; - int alert_low_temp_charge_voltage_uv; - int alert_high_temp_charge_current_ua; - int alert_high_temp_charge_voltage_uv; - int factory_internal_resistance_uohm; - int factory_internal_resistance_charging_uohm; - int ocv_temp[20]; - int temp_ambient_alert_min; - int temp_ambient_alert_max; - int temp_alert_min; - int temp_alert_max; - int temp_min; - int temp_max; - const struct power_supply_battery_ocv_table *ocv_table[20]; - int ocv_table_size[20]; - const struct power_supply_resistance_temp_table *resist_table; - int resist_table_size; - const struct power_supply_vbat_ri_table *vbat2ri_discharging; - int vbat2ri_discharging_size; - const struct power_supply_vbat_ri_table *vbat2ri_charging; - int vbat2ri_charging_size; - int bti_resistance_ohm; - int bti_resistance_tolerance; -}; - -struct power_supply_battery_ocv_table { - int ocv; - int capacity; -}; - -struct power_supply_config { - struct fwnode_handle *fwnode; - void *drv_data; - const struct attribute_group **attr_grp; - char **supplied_to; - size_t num_supplicants; - bool no_wakeup_source; -}; - -struct power_supply_ext { - const char * const name; - u8 charge_behaviours; - u32 charge_types; - const enum power_supply_property *properties; - size_t num_properties; - int (*get_property)(struct power_supply *, const struct power_supply_ext *, void *, enum power_supply_property, union power_supply_propval *); - int (*set_property)(struct power_supply *, const struct power_supply_ext *, void *, enum power_supply_property, const union power_supply_propval *); - int (*property_is_writeable)(struct power_supply *, const struct power_supply_ext *, void *, enum power_supply_property); -}; - -struct power_supply_ext_registration { - struct list_head list_head; - const struct power_supply_ext *ext; - struct device *dev; - void *data; -}; - -struct power_supply_hwmon { - struct power_supply *psy; - long unsigned int *props; -}; - -struct power_supply_led_trigger { - struct led_trigger trig; - struct power_supply *psy; -}; - -struct power_supply_maintenance_charge_table { - int charge_current_max_ua; - int charge_voltage_max_uv; - int charge_safety_timer_minutes; -}; - -union power_supply_propval { - int intval; - const char *strval; -}; - -struct power_supply_resistance_temp_table { - int temp; - int resistance; -}; - -struct power_supply_vbat_ri_table { - int vbat_uv; - int ri_uohm; -}; - -struct powercap_constraint_attr { - struct device_attribute power_limit_attr; - struct device_attribute time_window_attr; - struct device_attribute max_power_attr; - struct device_attribute min_power_attr; - struct device_attribute max_time_window_attr; - struct device_attribute min_time_window_attr; - struct device_attribute name_attr; -}; - -struct powercap_control_type_ops; - -struct powercap_control_type { - struct device dev; - struct idr idr; - int nr_zones; - const struct powercap_control_type_ops *ops; - struct mutex lock; - bool allocated; - struct list_head node; -}; - -struct powercap_control_type_ops { - int (*set_enable)(struct powercap_control_type *, bool); - int (*get_enable)(struct powercap_control_type *, bool *); - int (*release)(struct powercap_control_type *); -}; - -struct powercap_zone_ops; - -struct powercap_zone_constraint; - -struct powercap_zone { - int id; - char *name; - void *control_type_inst; - const struct powercap_zone_ops *ops; - struct device dev; - int const_id_cnt; - struct idr idr; - struct idr *parent_idr; - void *private_data; - struct attribute **zone_dev_attrs; - int zone_attr_count; - struct attribute_group dev_zone_attr_group; - const struct attribute_group *dev_attr_groups[2]; - bool allocated; - struct powercap_zone_constraint *constraints; -}; - -struct powercap_zone_constraint_ops; - -struct powercap_zone_constraint { - int id; - struct powercap_zone *power_zone; - const struct powercap_zone_constraint_ops *ops; -}; - -struct powercap_zone_constraint_ops { - int (*set_power_limit_uw)(struct powercap_zone *, int, u64); - int (*get_power_limit_uw)(struct powercap_zone *, int, u64 *); - int (*set_time_window_us)(struct powercap_zone *, int, u64); - int (*get_time_window_us)(struct powercap_zone *, int, u64 *); - int (*get_max_power_uw)(struct powercap_zone *, int, u64 *); - int (*get_min_power_uw)(struct powercap_zone *, int, u64 *); - int (*get_max_time_window_us)(struct powercap_zone *, int, u64 *); - int (*get_min_time_window_us)(struct powercap_zone *, int, u64 *); - const char * (*get_name)(struct powercap_zone *, int); -}; - -struct powercap_zone_ops { - int (*get_max_energy_range_uj)(struct powercap_zone *, u64 *); - int (*get_energy_uj)(struct powercap_zone *, u64 *); - int (*reset_energy_uj)(struct powercap_zone *); - int (*get_max_power_range_uw)(struct powercap_zone *, u64 *); - int (*get_power_uw)(struct powercap_zone *, u64 *); - int (*set_enable)(struct powercap_zone *, bool); - int (*get_enable)(struct powercap_zone *, bool *); - int (*release)(struct powercap_zone *); -}; - -struct powernow_k8_data { - unsigned int cpu; - u32 numps; - u32 batps; - u32 rvo; - u32 irt; - u32 vidmvs; - u32 vstable; - u32 plllock; - u32 exttype; - u32 currvid; - u32 currfid; - struct cpufreq_frequency_table *powernow_table; - struct acpi_processor_performance acpi_data; - struct cpumask *available_cores; -}; - -struct powernowk8_target_arg { - struct cpufreq_policy *pol; - unsigned int newstate; -}; - -struct ppe { - __be16 lv_ix; - short unsigned int res2; - short unsigned int res4; - __be16 lp_ix; - short unsigned int res8[12]; -}; - -struct ppin_info { - int feature; - int msr_ppin_ctl; - int msr_ppin; -}; - -struct ppp_xmit_recursion; - -struct slcompress; - -struct ppp { - struct ppp_file file; - struct file *owner; - struct list_head channels; - int n_channels; - spinlock_t rlock; - spinlock_t wlock; - struct ppp_xmit_recursion *xmit_recursion; - int mru; - unsigned int flags; - unsigned int xstate; - unsigned int rstate; - int debug; - struct slcompress *vj; - enum NPmode npmode[6]; - struct sk_buff *xmit_pending; - struct compressor *xcomp; - void *xc_state; - struct compressor *rcomp; - void *rc_state; - long unsigned int last_xmit; - long unsigned int last_recv; - struct net_device *dev; - int closing; - int nxchan; - u32 nxseq; - int mrru; - u32 nextseq; - u32 minseq; - struct sk_buff_head mrq; - struct bpf_prog *pass_filter; - struct bpf_prog *active_filter; - struct net *ppp_net; -}; - -struct ppp_channel_ops; - -struct ppp_channel { - void *private; - const struct ppp_channel_ops *ops; - int mtu; - int hdrlen; - void *ppp; - int speed; - bool direct_xmit; -}; - -struct ppp_channel_ops { - int (*start_xmit)(struct ppp_channel *, struct sk_buff *); - int (*ioctl)(struct ppp_channel *, unsigned int, long unsigned int); - int (*fill_forward_path)(struct net_device_path_ctx *, struct net_device_path *, const struct ppp_channel *); -}; - -struct ppp_comp_stats { - struct compstat c; - struct compstat d; -}; - -struct ppp_config { - struct file *file; - s32 unit; - bool ifname_is_set; -}; - -struct ppp_idle32 { - __s32 xmit_idle; - __s32 recv_idle; -}; - -struct ppp_idle64 { - __s64 xmit_idle; - __s64 recv_idle; -}; - -struct ppp_mp_skb_parm { - u32 sequence; - u8 BEbits; -}; - -struct ppp_net { - struct idr units_idr; - struct mutex all_ppp_mutex; - struct list_head all_channels; - struct list_head new_channels; - int last_channel_index; - spinlock_t all_channels_lock; -}; - -struct ppp_option_data { - __u8 *ptr; - __u32 length; - int transmit; -}; - -struct ppp_option_data32 { - compat_uptr_t ptr; - u32 length; - compat_int_t transmit; -}; - -struct pppstat { - __u32 ppp_discards; - __u32 ppp_ibytes; - __u32 ppp_ioctects; - __u32 ppp_ipackets; - __u32 ppp_ierrors; - __u32 ppp_ilqrs; - __u32 ppp_obytes; - __u32 ppp_ooctects; - __u32 ppp_opackets; - __u32 ppp_oerrors; - __u32 ppp_olqrs; -}; - -struct vjstat { - __u32 vjs_packets; - __u32 vjs_compressed; - __u32 vjs_searches; - __u32 vjs_misses; - __u32 vjs_uncompressedin; - __u32 vjs_compressedin; - __u32 vjs_errorin; - __u32 vjs_tossed; -}; - -struct ppp_stats { - struct pppstat p; - struct vjstat vj; -}; - -struct ppp_xmit_recursion { - struct task_struct *owner; - local_lock_t bh_lock; -}; - -struct pppoe_tag { - __be16 tag_type; - __be16 tag_len; - char tag_data[0]; -}; - -struct pppoe_hdr { - __u8 type: 4; - __u8 ver: 4; - __u8 code; - __be16 sid; - __be16 length; - struct pppoe_tag tag[0]; -}; - -struct pps_bind_args { - int tsformat; - int edge; - int consumer; -}; - -struct pps_device; - -struct pps_source_info { - char name[32]; - char path[32]; - int mode; - void (*echo)(struct pps_device *, int, void *); - struct module *owner; - struct device *dev; -}; - -struct pps_ktime { - __s64 sec; - __s32 nsec; - __u32 flags; -}; - -struct pps_kparams { - int api_version; - int mode; - struct pps_ktime assert_off_tu; - struct pps_ktime clear_off_tu; -}; - -struct pps_device { - struct pps_source_info info; - struct pps_kparams params; - __u32 assert_sequence; - __u32 clear_sequence; - struct pps_ktime assert_tu; - struct pps_ktime clear_tu; - int current_mode; - unsigned int last_ev; - unsigned int last_fetched_ev; - wait_queue_head_t queue; - unsigned int id; - const void *lookup_cookie; - struct device dev; - struct fasync_struct *async_queue; - spinlock_t lock; -}; - -struct pps_event_time { - struct timespec64 ts_real; -}; - -struct pps_kinfo { - __u32 assert_sequence; - __u32 clear_sequence; - struct pps_ktime assert_tu; - struct pps_ktime clear_tu; - int current_mode; -}; - -struct pps_fdata { - struct pps_kinfo info; - struct pps_ktime timeout; -}; - -struct pps_ktime_compat { - __s64 sec; - __s32 nsec; - __u32 flags; -}; - -struct pps_kinfo_compat { - __u32 assert_sequence; - __u32 clear_sequence; - struct pps_ktime_compat assert_tu; - struct pps_ktime_compat clear_tu; - int current_mode; -} __attribute__((packed)); - -struct pps_fdata_compat { - struct pps_kinfo_compat info; - struct pps_ktime_compat timeout; -} __attribute__((packed)); - -struct pptp_gre_header { - struct gre_base_hdr gre_hd; - __be16 payload_len; - __be16 call_id; - __be32 seq; - __be32 ack; -}; - -struct pr_clear { - __u64 key; - __u32 flags; - __u32 __pad; -}; - -struct pr_cont_work_struct { - bool comma; - work_func_t func; - long int ctr; -}; - -struct pr_held_reservation { - u64 key; - u32 generation; - enum pr_type type; -}; - -struct pr_keys { - u32 generation; - u32 num_keys; - u64 keys[0]; -}; - -struct pr_ops { - int (*pr_register)(struct block_device *, u64, u64, u32); - int (*pr_reserve)(struct block_device *, u64, enum pr_type, u32); - int (*pr_release)(struct block_device *, u64, enum pr_type); - int (*pr_preempt)(struct block_device *, u64, u64, enum pr_type, bool); - int (*pr_clear)(struct block_device *, u64); - int (*pr_read_keys)(struct block_device *, struct pr_keys *); - int (*pr_read_reservation)(struct block_device *, struct pr_held_reservation *); -}; - -struct pr_preempt { - __u64 old_key; - __u64 new_key; - __u32 type; - __u32 flags; -}; - -struct pr_registration { - __u64 old_key; - __u64 new_key; - __u32 flags; - __u32 __pad; -}; - -struct pr_reservation { - __u64 key; - __u32 type; - __u32 flags; -}; - -struct prb_data_blk_lpos { - long unsigned int begin; - long unsigned int next; -}; - -struct prb_data_block { - long unsigned int id; - char data[0]; -}; - -struct prb_data_ring { - unsigned int size_bits; - char *data; - atomic_long_t head_lpos; - atomic_long_t tail_lpos; -}; - -struct prb_desc { - atomic_long_t state_var; - struct prb_data_blk_lpos text_blk_lpos; -}; - -struct printk_info; - -struct prb_desc_ring { - unsigned int count_bits; - struct prb_desc *descs; - struct printk_info *infos; - atomic_long_t head_id; - atomic_long_t tail_id; - atomic_long_t last_finalized_seq; -}; - -struct printk_ringbuffer; - -struct prb_reserved_entry { - struct printk_ringbuffer *rb; - long unsigned int irqflags; - long unsigned int id; - unsigned int text_space; -}; - -struct prctl_mm_map { - __u64 start_code; - __u64 end_code; - __u64 start_data; - __u64 end_data; - __u64 start_brk; - __u64 brk; - __u64 start_stack; - __u64 arg_start; - __u64 arg_end; - __u64 env_start; - __u64 env_end; - __u64 *auxv; - __u32 auxv_size; - __u32 exe_fd; -}; - -struct pre_voltage_change_data { - long unsigned int old_uV; - long unsigned int min_uV; - long unsigned int max_uV; -}; - -struct preempt_ops { - void (*sched_in)(struct preempt_notifier *, int); - void (*sched_out)(struct preempt_notifier *, struct task_struct *); -}; - -struct prefix_bits { - unsigned int shorted: 1; - unsigned int enlarged: 1; - unsigned int rexr: 1; - unsigned int rex: 1; -}; - -struct prefix_cacheinfo { - __u32 preferred_time; - __u32 valid_time; -}; - -struct prefix_info { - __u8 type; - __u8 length; - __u8 prefix_len; - union { - __u8 flags; - struct { - __u8 reserved: 4; - __u8 preferpd: 1; - __u8 routeraddr: 1; - __u8 autoconf: 1; - __u8 onlink: 1; - }; - }; - __be32 valid; - __be32 prefered; - __be32 reserved2; - struct in6_addr prefix; -}; - -struct prefixmsg { - unsigned char prefix_family; - unsigned char prefix_pad1; - short unsigned int prefix_pad2; - int prefix_ifindex; - unsigned char prefix_type; - unsigned char prefix_len; - unsigned char prefix_flags; - unsigned char prefix_pad3; -}; - -struct prepend_buffer { - char *buf; - int len; -}; - -struct print_entry { - struct trace_entry ent; - long unsigned int ip; - char buf[0]; -}; - -struct printf_spec { - unsigned char flags; - unsigned char base; - short int precision; - int field_width; -}; - -struct printk_info { - u64 seq; - u64 ts_nsec; - u16 text_len; - u8 facility; - u8 flags: 5; - u8 level: 3; - u32 caller_id; - struct dev_printk_info dev_info; -}; - -struct printk_message { - struct printk_buffers *pbufs; - unsigned int outbuf_len; - u64 seq; - long unsigned int dropped; -}; - -struct printk_record { - struct printk_info *info; - char *text_buf; - unsigned int text_buf_size; -}; - -struct printk_ringbuffer { - struct prb_desc_ring desc_ring; - struct prb_data_ring text_data_ring; - atomic_long_t fail; -}; - -struct privflags_reply_data { - struct ethnl_reply_data base; - const char (*priv_flag_names)[32]; - unsigned int n_priv_flags; - u32 priv_flags; -}; - -struct prm_buffer { - u8 prm_status; - u64 efi_status; - u8 prm_cmd; - guid_t handler_guid; -} __attribute__((packed)); - -struct prm_mmio_info; - -struct prm_context_buffer { - char signature[4]; - u16 revision; - u16 reserved; - guid_t identifier; - u64 static_data_buffer; - struct prm_mmio_info *mmio_ranges; -}; - -struct prm_handler_info { - efi_guid_t guid; - efi_status_t (*handler_addr)(u64, void *); - u64 static_data_buffer_addr; - u64 acpi_param_buffer_addr; - struct list_head handler_list; -}; - -struct prm_mmio_addr_range { - u64 phys_addr; - u64 virt_addr; - u32 length; -} __attribute__((packed)); - -struct prm_mmio_info { - u64 mmio_count; - struct prm_mmio_addr_range addr_ranges[0]; -}; - -struct prm_module_info { - guid_t guid; - u16 major_rev; - u16 minor_rev; - u16 handler_count; - struct prm_mmio_info *mmio_info; - bool updatable; - struct list_head module_list; - struct prm_handler_info handlers[0]; -}; - -typedef struct kobject *kobj_probe_t(dev_t, int *, void *); - -struct probe { - struct probe *next; - dev_t dev; - long unsigned int range; - struct module *owner; - kobj_probe_t *get; - int (*lock)(dev_t, void *); - void *data; -}; - -struct probe_arg { - struct fetch_insn *code; - bool dynamic; - unsigned int offset; - unsigned int count; - const char *name; - const char *comm; - char *fmt; - const struct fetch_type *type; -}; - -struct probe_entry_arg { - struct fetch_insn *code; - unsigned int size; -}; - -typedef int (*proc_write_t)(struct file *, char *, size_t); - -struct proc_ops; - -struct proc_dir_entry { - atomic_t in_use; - refcount_t refcnt; - struct list_head pde_openers; - spinlock_t pde_unload_lock; - struct completion *pde_unload_completion; - const struct inode_operations *proc_iops; - union { - const struct proc_ops *proc_ops; - const struct file_operations *proc_dir_ops; - }; - union { - const struct seq_operations *seq_ops; - int (*single_show)(struct seq_file *, void *); - }; - proc_write_t write; - void *data; - unsigned int state_size; - unsigned int low_ino; - nlink_t nlink; - kuid_t uid; - kgid_t gid; - loff_t size; - struct proc_dir_entry *parent; - struct rb_root subdir; - struct rb_node subdir_node; - char *name; - umode_t mode; - u8 flags; - u8 namelen; - char inline_name[0]; -}; - -struct sid_proc_event { - __kernel_pid_t process_pid; - __kernel_pid_t process_tgid; -}; - -struct ptrace_proc_event { - __kernel_pid_t process_pid; - __kernel_pid_t process_tgid; - __kernel_pid_t tracer_pid; - __kernel_pid_t tracer_tgid; -}; - -struct proc_event { - enum proc_cn_event what; - __u32 cpu; - __u64 timestamp_ns; - union { - struct { - __u32 err; - } ack; - struct fork_proc_event fork; - struct exec_proc_event exec; - struct id_proc_event id; - struct sid_proc_event sid; - struct ptrace_proc_event ptrace; - struct comm_proc_event comm; - struct coredump_proc_event coredump; - struct exit_proc_event exit; - } event_data; -}; - -struct proc_fs_context { - struct pid_namespace *pid_ns; - unsigned int mask; - enum proc_hidepid hidepid; - int gid; - enum proc_pidonly pidonly; -}; - -struct proc_fs_info { - struct pid_namespace *pid_ns; - struct dentry *proc_self; - struct dentry *proc_thread_self; - kgid_t pid_gid; - enum proc_hidepid hide_pid; - enum proc_pidonly pidonly; - struct callback_head rcu; -}; - -struct proc_fs_opts { - int flag; - const char *str; -}; - -struct proc_inode { - struct pid *pid; - unsigned int fd; - union proc_op op; - struct proc_dir_entry *pde; - struct ctl_table_header *sysctl; - const struct ctl_table *sysctl_entry; - struct hlist_node sibling_inodes; - const struct proc_ns_operations *ns_ops; - struct inode vfs_inode; -}; - -struct proc_input { - enum proc_cn_mcast_op mcast_op; - enum proc_cn_event event_type; -}; - -struct proc_mounts { - struct mnt_namespace *ns; - struct path root; - int (*show)(struct seq_file *, struct vfsmount *); -}; - -struct proc_ns_operations { - const char *name; - const char *real_ns_name; - int type; - struct ns_common * (*get)(struct task_struct *); - void (*put)(struct ns_common *); - int (*install)(struct nsset *, struct ns_common *); - struct user_namespace * (*owner)(struct ns_common *); - struct ns_common * (*get_parent)(struct ns_common *); -}; - -struct proc_ops { - unsigned int proc_flags; - int (*proc_open)(struct inode *, struct file *); - ssize_t (*proc_read)(struct file *, char *, size_t, loff_t *); - ssize_t (*proc_read_iter)(struct kiocb *, struct iov_iter *); - ssize_t (*proc_write)(struct file *, const char *, size_t, loff_t *); - loff_t (*proc_lseek)(struct file *, loff_t, int); - int (*proc_release)(struct inode *, struct file *); - __poll_t (*proc_poll)(struct file *, struct poll_table_struct *); - long int (*proc_ioctl)(struct file *, unsigned int, long unsigned int); - long int (*proc_compat_ioctl)(struct file *, unsigned int, long unsigned int); - int (*proc_mmap)(struct file *, struct vm_area_struct *); - long unsigned int (*proc_get_unmapped_area)(struct file *, long unsigned int, long unsigned int, long unsigned int, long unsigned int); -}; - -struct proc_timens_offset { - int clockid; - struct timespec64 val; -}; - -struct process_timer { - struct timer_list timer; - struct task_struct *task; -}; - -struct procmap_query { - __u64 size; - __u64 query_flags; - __u64 query_addr; - __u64 vma_start; - __u64 vma_end; - __u64 vma_flags; - __u64 vma_page_size; - __u64 vma_offset; - __u64 inode; - __u32 dev_major; - __u32 dev_minor; - __u32 vma_name_size; - __u32 build_id_size; - __u64 vma_name_addr; - __u64 build_id_addr; -}; - -struct profile_fgraph_data { - long long unsigned int calltime; - long long unsigned int subtime; - long long unsigned int sleeptime; -}; - -struct prog_entry { - int target; - int when_to_branch; - struct filter_pred *pred; -}; - -struct prog_poke_elem { - struct list_head list; - struct bpf_prog_aux *aux; -}; - -struct prog_test_member1 { - int a; -}; - -struct prog_test_member { - struct prog_test_member1 m; - int c; -}; - -struct prog_test_ref_kfunc { - int a; - int b; - struct prog_test_member memb; - struct prog_test_ref_kfunc *next; - refcount_t cnt; -}; - -struct properties_header { - u32 len; - u32 version; - u32 dev_count; - struct dev_header dev_header[0]; -} __attribute__((packed)); - -struct property { - char *name; - int length; - void *value; - struct property *next; -}; - -struct prot_inuse { - int all; - int val[64]; -}; - -struct protection_domain { - struct list_head dev_list; - struct iommu_domain domain; - struct amd_io_pgtable iop; - spinlock_t lock; - u16 id; - enum protection_domain_mode pd_mode; - bool dirty_tracking; - struct xarray iommu_array; - struct mmu_notifier mn; - struct list_head dev_data_list; -}; - -struct smc_hashinfo; - -struct proto_accept_arg; - -struct sk_psock; - -struct timewait_sock_ops; - -struct raw_hashinfo; - -struct proto { - void (*close)(struct sock *, long int); - int (*pre_connect)(struct sock *, struct sockaddr *, int); - int (*connect)(struct sock *, struct sockaddr *, int); - int (*disconnect)(struct sock *, int); - struct sock * (*accept)(struct sock *, struct proto_accept_arg *); - int (*ioctl)(struct sock *, int, int *); - int (*init)(struct sock *); - void (*destroy)(struct sock *); - void (*shutdown)(struct sock *, int); - int (*setsockopt)(struct sock *, int, int, sockptr_t, unsigned int); - int (*getsockopt)(struct sock *, int, int, char *, int *); - void (*keepalive)(struct sock *, int); - int (*compat_ioctl)(struct sock *, unsigned int, long unsigned int); - int (*sendmsg)(struct sock *, struct msghdr *, size_t); - int (*recvmsg)(struct sock *, struct msghdr *, size_t, int, int *); - void (*splice_eof)(struct socket *); - int (*bind)(struct sock *, struct sockaddr *, int); - int (*bind_add)(struct sock *, struct sockaddr *, int); - int (*backlog_rcv)(struct sock *, struct sk_buff *); - bool (*bpf_bypass_getsockopt)(int, int); - void (*release_cb)(struct sock *); - int (*hash)(struct sock *); - void (*unhash)(struct sock *); - void (*rehash)(struct sock *); - int (*get_port)(struct sock *, short unsigned int); - void (*put_port)(struct sock *); - int (*psock_update_sk_prot)(struct sock *, struct sk_psock *, bool); - unsigned int inuse_idx; - bool (*stream_memory_free)(const struct sock *, int); - bool (*sock_is_readable)(struct sock *); - void (*enter_memory_pressure)(struct sock *); - void (*leave_memory_pressure)(struct sock *); - atomic_long_t *memory_allocated; - int *per_cpu_fw_alloc; - struct percpu_counter *sockets_allocated; - long unsigned int *memory_pressure; - long int *sysctl_mem; - int *sysctl_wmem; - int *sysctl_rmem; - u32 sysctl_wmem_offset; - u32 sysctl_rmem_offset; - int max_header; - bool no_autobind; - struct kmem_cache *slab; - unsigned int obj_size; - unsigned int ipv6_pinfo_offset; - slab_flags_t slab_flags; - unsigned int useroffset; - unsigned int usersize; - unsigned int *orphan_count; - struct request_sock_ops *rsk_prot; - struct timewait_sock_ops *twsk_prot; - union { - struct inet_hashinfo *hashinfo; - struct udp_table *udp_table; - struct raw_hashinfo *raw_hash; - struct smc_hashinfo *smc_hash; - } h; - struct module *owner; - char name[32]; - struct list_head node; - int (*diag_destroy)(struct sock *, int); -}; - -struct proto_accept_arg { - int flags; - int err; - int is_empty; - bool kern; -}; - -typedef int (*skb_read_actor_t)(struct sock *, struct sk_buff *); - -struct proto_ops { - int family; - struct module *owner; - int (*release)(struct socket *); - int (*bind)(struct socket *, struct sockaddr *, int); - int (*connect)(struct socket *, struct sockaddr *, int, int); - int (*socketpair)(struct socket *, struct socket *); - int (*accept)(struct socket *, struct socket *, struct proto_accept_arg *); - int (*getname)(struct socket *, struct sockaddr *, int); - __poll_t (*poll)(struct file *, struct socket *, struct poll_table_struct *); - int (*ioctl)(struct socket *, unsigned int, long unsigned int); - int (*compat_ioctl)(struct socket *, unsigned int, long unsigned int); - int (*gettstamp)(struct socket *, void *, bool, bool); - int (*listen)(struct socket *, int); - int (*shutdown)(struct socket *, int); - int (*setsockopt)(struct socket *, int, int, sockptr_t, unsigned int); - int (*getsockopt)(struct socket *, int, int, char *, int *); - void (*show_fdinfo)(struct seq_file *, struct socket *); - int (*sendmsg)(struct socket *, struct msghdr *, size_t); - int (*recvmsg)(struct socket *, struct msghdr *, size_t, int); - int (*mmap)(struct file *, struct socket *, struct vm_area_struct *); - ssize_t (*splice_read)(struct socket *, loff_t *, struct pipe_inode_info *, size_t, unsigned int); - void (*splice_eof)(struct socket *); - int (*set_peek_off)(struct sock *, int); - int (*peek_len)(struct socket *); - int (*read_sock)(struct sock *, read_descriptor_t *, sk_read_actor_t); - int (*read_skb)(struct sock *, skb_read_actor_t); - int (*sendmsg_locked)(struct sock *, struct msghdr *, size_t); - int (*set_rcvlowat)(struct sock *, int); -}; - -struct prt_quirk { - const struct dmi_system_id *system; - unsigned int segment; - unsigned int bus; - unsigned int device; - unsigned char pin; - const char *source; - const char *actual_source; -}; - -struct psample_group { - struct list_head list; - struct net *net; - u32 group_num; - u32 refcount; - u32 seq; - struct callback_head rcu; -}; - -struct psb_s { - u8 signature[10]; - u8 tableversion; - u8 flags1; - u16 vstable; - u8 flags2; - u8 num_tables; - u32 cpuid; - u8 plllocktime; - u8 maxfid; - u8 maxvid; - u8 numps; -}; - -struct psc_entry { - u64 cur_page: 12; - u64 gfn: 40; - u64 operation: 4; - u64 pagesize: 1; - u64 reserved: 7; -}; - -struct psc_hdr { - u16 cur_entry; - u16 end_entry; - u32 reserved; -}; - -struct psched_pktrate { - u64 rate_pkts_ps; - u32 mult; - u8 shift; -}; - -struct psched_ratecfg { - u64 rate_bytes_ps; - u32 mult; - u16 overhead; - u16 mpu; - u8 linklayer; - u8 shift; -}; - -struct pse_admin_state { - enum ethtool_podl_pse_admin_state podl_admin_state; - enum ethtool_c33_pse_admin_state c33_admin_state; -}; - -struct pse_controller_dev; - -struct pse_control { - struct pse_controller_dev *pcdev; - struct regulator *ps; - struct list_head list; - unsigned int id; - struct kref refcnt; - struct phy_device *attached_phydev; -}; - -struct pse_control_config { - enum ethtool_podl_pse_admin_state podl_admin_control; - enum ethtool_c33_pse_admin_state c33_admin_control; -}; - -struct pse_ntf { - int id; - long unsigned int notifs; -}; - -struct pse_controller_ops; - -struct pse_pi; - -struct pse_controller_dev { - const struct pse_controller_ops *ops; - struct module *owner; - struct list_head list; - struct list_head pse_control_head; - struct device *dev; - int of_pse_n_cells; - unsigned int nr_lines; - struct mutex lock; - enum ethtool_pse_types types; - struct pse_pi *pi; - bool no_of_pse_pi; - int irq; - unsigned int pis_prio_max; - u32 supp_budget_eval_strategies; - struct work_struct ntf_work; - struct { - union { - struct __kfifo kfifo; - struct pse_ntf *type; - const struct pse_ntf *const_type; - char (*rectype)[0]; - struct pse_ntf *ptr; - const struct pse_ntf *ptr_const; - }; - struct pse_ntf buf[0]; - } ntf_fifo; - spinlock_t ntf_fifo_lock; -}; - -struct pse_pw_status; - -struct pse_ext_state_info; - -struct pse_pw_limit_ranges; - -struct pse_controller_ops { - int (*setup_pi_matrix)(struct pse_controller_dev *); - int (*pi_get_admin_state)(struct pse_controller_dev *, int, struct pse_admin_state *); - int (*pi_get_pw_status)(struct pse_controller_dev *, int, struct pse_pw_status *); - int (*pi_get_ext_state)(struct pse_controller_dev *, int, struct pse_ext_state_info *); - int (*pi_get_pw_class)(struct pse_controller_dev *, int); - int (*pi_get_actual_pw)(struct pse_controller_dev *, int); - int (*pi_enable)(struct pse_controller_dev *, int); - int (*pi_disable)(struct pse_controller_dev *, int); - int (*pi_get_voltage)(struct pse_controller_dev *, int); - int (*pi_get_pw_limit)(struct pse_controller_dev *, int); - int (*pi_set_pw_limit)(struct pse_controller_dev *, int, int); - int (*pi_get_pw_limit_ranges)(struct pse_controller_dev *, int, struct pse_pw_limit_ranges *); - int (*pi_get_prio)(struct pse_controller_dev *, int); - int (*pi_set_prio)(struct pse_controller_dev *, int, unsigned int); - int (*pi_get_pw_req)(struct pse_controller_dev *, int); -}; - -struct pse_ext_state_info { - struct ethtool_c33_pse_ext_state_info c33_ext_state_info; -}; - -struct pse_irq_desc { - const char *name; - int (*map_event)(int, struct pse_controller_dev *, long unsigned int *, long unsigned int *); -}; - -struct pse_irq { - struct pse_controller_dev *pcdev; - struct pse_irq_desc desc; - long unsigned int *notifs; -}; - -struct pse_pi_pairset { - enum pse_pi_pairset_pinout pinout; - struct device_node *np; -}; - -struct pse_power_domain; - -struct pse_pi { - struct pse_pi_pairset pairset[2]; - struct device_node *np; - struct regulator_dev *rdev; - bool admin_state_enabled; - struct pse_power_domain *pw_d; - int prio; - bool isr_pd_detected; - int pw_allocated_mW; -}; - -struct pse_power_domain { - int id; - struct regulator *supply; - struct kref refcnt; - u32 budget_eval_strategy; -}; - -struct pse_pw_limit_ranges { - struct ethtool_c33_pse_pw_limit_range *c33_pw_limit_ranges; -}; - -struct pse_pw_status { - enum ethtool_podl_pse_pw_d_status podl_pw_status; - enum ethtool_c33_pse_pw_d_status c33_pw_status; -}; - -struct pse_reply_data { - struct ethnl_reply_data base; - struct ethtool_pse_control_status status; -}; - -struct super_operations; - -struct xattr_handler; - -struct pseudo_fs_context { - const struct super_operations *ops; - const struct export_operations *eops; - const struct xattr_handler * const *xattr; - const struct dentry_operations *dops; - long unsigned int magic; -}; - -struct pseudo_lock_pm_req { - struct list_head list; - struct dev_pm_qos_request req; -}; - -struct resctrl_schema; - -struct pseudo_lock_region { - struct resctrl_schema *s; - u32 closid; - struct rdt_ctrl_domain *d; - u32 cbm; - wait_queue_head_t lock_thread_wq; - int thread_done; - int cpu; - unsigned int line_size; - unsigned int size; - void *kmem; - unsigned int minor; - struct dentry *debugfs_dir; - struct list_head pm_reqs; -}; - -struct psi_group_cpu; - -struct psi_group { - struct psi_group *parent; - bool enabled; - struct mutex avgs_lock; - struct psi_group_cpu *pcpu; - u64 avg_total[6]; - u64 avg_last_update; - u64 avg_next_update; - struct delayed_work avgs_work; - struct list_head avg_triggers; - u32 avg_nr_triggers[6]; - u64 total[12]; - long unsigned int avg[18]; - struct task_struct *rtpoll_task; - struct timer_list rtpoll_timer; - wait_queue_head_t rtpoll_wait; - atomic_t rtpoll_wakeup; - atomic_t rtpoll_scheduled; - struct mutex rtpoll_trigger_lock; - struct list_head rtpoll_triggers; - u32 rtpoll_nr_triggers[6]; - u32 rtpoll_states; - u64 rtpoll_min_period; - u64 rtpoll_total[6]; - u64 rtpoll_next_update; - u64 rtpoll_until; -}; - -struct psi_group_cpu { - unsigned int tasks[4]; - u32 state_mask; - u32 times[7]; - u64 state_start; - long: 64; - u32 times_prev[14]; - long: 64; -}; - -struct psi_window { - u64 size; - u64 start_time; - u64 start_value; - u64 prev_growth; -}; - -struct psi_trigger { - enum psi_states state; - u64 threshold; - struct list_head node; - struct psi_group *group; - wait_queue_head_t event_wait; - struct kernfs_open_file *of; - int event; - struct psi_window win; - u64 last_event_time; - bool pending_event; - enum psi_aggregators aggregator; -}; - -struct pst_s { - u8 fid; - u8 vid; -}; - -struct pstate_funcs { - int (*get_max)(int); - int (*get_max_physical)(int); - int (*get_min)(int); - int (*get_turbo)(int); - int (*get_scaling)(void); - int (*get_cpu_scaling)(int); - int (*get_aperf_mperf_shift)(void); - u64 (*get_val)(struct cpudata *, int); - void (*get_vid)(struct cpudata *); -}; - -struct pstore_context { - unsigned int kmsg_bytes; -}; - -struct pstore_ftrace_record { - long unsigned int ip; - long unsigned int parent_ip; - u64 ts; -}; - -struct pstore_ftrace_seq_data { - const void *ptr; - size_t off; - size_t size; -}; - -struct pstore_record; - -struct pstore_info { - struct module *owner; - const char *name; - raw_spinlock_t buf_lock; - char *buf; - size_t bufsize; - struct mutex read_mutex; - int flags; - int max_reason; - void *data; - int (*open)(struct pstore_info *); - int (*close)(struct pstore_info *); - ssize_t (*read)(struct pstore_record *); - int (*write)(struct pstore_record *); - int (*write_user)(struct pstore_record *, const char *); - int (*erase)(struct pstore_record *); -}; - -struct pstore_private { - struct list_head list; - struct dentry *dentry; - struct pstore_record *record; - size_t total_size; -}; - -struct pstore_record { - struct pstore_info *psi; - enum pstore_type_id type; - u64 id; - struct timespec64 time; - char *buf; - ssize_t size; - ssize_t ecc_notice_size; - void *priv; - int count; - enum kmsg_dump_reason reason; - unsigned int part; - bool compressed; -}; - -struct psy_am_i_supplied_data { - struct power_supply *psy; - unsigned int count; -}; - -struct psy_for_each_psy_cb_data { - int (*fn)(struct power_supply *, void *); - void *data; -}; - -struct psy_get_supplier_prop_data { - struct power_supply *psy; - enum power_supply_property psp; - union power_supply_propval *val; -}; - -struct pt_filter { - long unsigned int msr_a; - long unsigned int msr_b; - long unsigned int config; -}; - -struct pt_filters { - struct pt_filter filter[4]; - unsigned int nr_filters; -}; - -struct pt { - struct perf_output_handle handle; - struct pt_filters filters; - int handle_nmi; - int vmx_on; - int pause_allowed; - int resume_allowed; - u64 output_base; - u64 output_mask; -}; - -struct pt_address_range { - long unsigned int msr_a; - long unsigned int msr_b; - unsigned int reg_off; -}; - -struct topa; - -struct topa_entry; - -struct pt_buffer { - struct list_head tables; - struct topa *first; - struct topa *last; - struct topa *cur; - unsigned int cur_idx; - size_t output_off; - long unsigned int nr_pages; - local_t data_size; - local64_t head; - bool snapshot; - bool single; - bool wrapped; - long int stop_pos; - long int intr_pos; - struct topa_entry *stop_te; - struct topa_entry *intr_te; - void **data_pages; -}; - -struct pt_cap_desc { - const char *name; - u32 leaf; - u8 reg; - u32 mask; -}; - -struct pt_info { - s32 pi_nblocks; - u32 pi_blkoff; -}; - -struct pt_pmu { - struct pmu pmu; - u32 caps[8]; - bool vmx; - bool branch_en_always_on; - long unsigned int max_nonturbo_ratio; - unsigned int tsc_art_num; - unsigned int tsc_art_den; -}; - -struct pt_regs_offset { - const char *name; - int offset; -}; - -struct ptdesc { - long unsigned int __page_flags; - union { - struct callback_head pt_rcu_head; - struct list_head pt_list; - struct { - long unsigned int _pt_pad_1; - pgtable_t pmd_huge_pte; - }; - }; - long unsigned int __page_mapping; - union { - long unsigned int pt_index; - struct mm_struct *pt_mm; - atomic_t pt_frag_refcount; - atomic_t pt_share_count; - }; - union { - long unsigned int _pt_pad_2; - spinlock_t ptl; - }; - unsigned int __page_type; - atomic_t __page_refcount; - long unsigned int pt_memcg_data; -}; - -struct ptdump_range { - long unsigned int start; - long unsigned int end; -}; - -struct pte_enc_desc { - pte_t *kpte; - int pte_level; - bool encrypt; - long unsigned int pfn; - long unsigned int pa; - void *va; - long unsigned int size; - pgprot_t new_pgprot; -}; - -struct ptp_clock_info; - -struct ptp_clock { - struct posix_clock clock; - struct device dev; - struct ptp_clock_info *info; - dev_t devid; - int index; - struct pps_device *pps_source; - long int dialed_frequency; - struct list_head tsevqs; - spinlock_t tsevqs_lock; - struct mutex pincfg_mux; - wait_queue_head_t tsev_wq; - int defunct; - struct device_attribute *pin_dev_attr; - struct attribute **pin_attr; - struct attribute_group pin_attr_group; - const struct attribute_group *pin_attr_groups[2]; - struct kthread_worker *kworker; - struct kthread_delayed_work aux_work; - unsigned int max_vclocks; - unsigned int n_vclocks; - int *vclock_index; - struct mutex n_vclocks_mux; - bool is_virtual_clock; - bool has_cycles; - struct dentry *debugfs_root; -}; - -struct ptp_clock_caps { - int max_adj; - int n_alarm; - int n_ext_ts; - int n_per_out; - int pps; - int n_pins; - int cross_timestamping; - int adjust_phase; - int max_phase_adj; - int rsv[11]; -}; - -struct ptp_clock_event { - int type; - int index; - union { - u64 timestamp; - s64 offset; - struct pps_event_time pps_times; - }; -}; - -struct ptp_pin_desc; - -struct ptp_system_timestamp; - -struct system_device_crosststamp; - -struct ptp_clock_request; - -struct ptp_clock_info { - struct module *owner; - char name[32]; - s32 max_adj; - int n_alarm; - int n_ext_ts; - int n_per_out; - int n_pins; - int pps; - unsigned int supported_perout_flags; - unsigned int supported_extts_flags; - struct ptp_pin_desc *pin_config; - int (*adjfine)(struct ptp_clock_info *, long int); - int (*adjphase)(struct ptp_clock_info *, s32); - s32 (*getmaxphase)(struct ptp_clock_info *); - int (*adjtime)(struct ptp_clock_info *, s64); - int (*gettime64)(struct ptp_clock_info *, struct timespec64 *); - int (*gettimex64)(struct ptp_clock_info *, struct timespec64 *, struct ptp_system_timestamp *); - int (*getcrosststamp)(struct ptp_clock_info *, struct system_device_crosststamp *); - int (*settime64)(struct ptp_clock_info *, const struct timespec64 *); - int (*getcycles64)(struct ptp_clock_info *, struct timespec64 *); - int (*getcyclesx64)(struct ptp_clock_info *, struct timespec64 *, struct ptp_system_timestamp *); - int (*getcrosscycles)(struct ptp_clock_info *, struct system_device_crosststamp *); - int (*enable)(struct ptp_clock_info *, struct ptp_clock_request *, int); - int (*verify)(struct ptp_clock_info *, unsigned int, enum ptp_pin_function, unsigned int); - long int (*do_aux_work)(struct ptp_clock_info *); -}; - -struct ptp_extts_request { - unsigned int index; - unsigned int flags; - unsigned int rsv[2]; -}; - -struct ptp_clock_time { - __s64 sec; - __u32 nsec; - __u32 reserved; -}; - -struct ptp_perout_request { - union { - struct ptp_clock_time start; - struct ptp_clock_time phase; - }; - struct ptp_clock_time period; - unsigned int index; - unsigned int flags; - union { - struct ptp_clock_time on; - unsigned int rsv[4]; - }; -}; - -struct ptp_clock_request { - enum { - PTP_CLK_REQ_EXTTS = 0, - PTP_CLK_REQ_PEROUT = 1, - PTP_CLK_REQ_PPS = 2, - } type; - union { - struct ptp_extts_request extts; - struct ptp_perout_request perout; - }; -}; - -struct ptp_extts_event { - struct ptp_clock_time t; - unsigned int index; - unsigned int flags; - unsigned int rsv[2]; -}; - -struct ptp_header { - u8 tsmt; - u8 ver; - __be16 message_length; - u8 domain_number; - u8 reserved1; - u8 flag_field[2]; - __be64 correction; - __be32 reserved2; - struct port_identity source_port_identity; - __be16 sequence_id; - u8 control; - u8 log_message_interval; -} __attribute__((packed)); - -struct ptp_pin_desc { - char name[64]; - unsigned int index; - unsigned int func; - unsigned int chan; - unsigned int rsv[5]; -}; - -struct ptp_sys_offset { - unsigned int n_samples; - unsigned int rsv[3]; - struct ptp_clock_time ts[51]; -}; - -struct ptp_sys_offset_extended { - unsigned int n_samples; - __kernel_clockid_t clockid; - unsigned int rsv[2]; - struct ptp_clock_time ts[75]; -}; - -struct ptp_sys_offset_precise { - struct ptp_clock_time device; - struct ptp_clock_time sys_realtime; - struct ptp_clock_time sys_monoraw; - unsigned int rsv[4]; -}; - -struct ptp_system_timestamp { - struct timespec64 pre_ts; - struct timespec64 post_ts; - clockid_t clockid; -}; - -struct timecounter { - struct cyclecounter *cc; - u64 cycle_last; - u64 nsec; - u64 mask; - u64 frac; -}; - -struct ptp_vclock { - struct ptp_clock *pclock; - struct ptp_clock_info info; - struct ptp_clock *clock; - struct hlist_node vclock_hash_node; - struct cyclecounter cc; - struct timecounter tc; - struct mutex lock; -}; - -struct ptrace_peeksiginfo_args { - __u64 off; - __u32 flags; - __s32 nr; -}; - -struct ptrace_relation { - struct task_struct *tracer; - struct task_struct *tracee; - bool invalid; - struct list_head node; - struct callback_head rcu; -}; - -struct ptrace_rseq_configuration { - __u64 rseq_abi_pointer; - __u32 rseq_abi_size; - __u32 signature; - __u32 flags; - __u32 pad; -}; - -struct ptrace_sud_config { - __u64 mode; - __u64 selector; - __u64 offset; - __u64 len; -}; - -struct ptrace_syscall_info { - __u8 op; - __u8 reserved; - __u16 flags; - __u32 arch; - __u64 instruction_pointer; - __u64 stack_pointer; - union { - struct { - __u64 nr; - __u64 args[6]; - } entry; - struct { - __s64 rval; - __u8 is_error; - } exit; - struct { - __u64 nr; - __u64 args[6]; - __u32 ret_data; - __u32 reserved2; - } seccomp; - }; -}; - -struct pts_mount_opts { - int setuid; - int setgid; - kuid_t uid; - kgid_t gid; - umode_t mode; - umode_t ptmxmode; - int reserve; - int max; -}; - -struct pts_fs_info { - struct ida allocated_ptys; - struct pts_mount_opts mount_opts; - struct super_block *sb; - struct dentry *ptmx_dentry; -}; - -struct pubkey_hdr { - uint8_t version; - uint32_t timestamp; - uint8_t algo; - uint8_t nmpi; - char mpi[0]; -} __attribute__((packed)); - -struct public_key { - void *key; - u32 keylen; - enum OID algo; - void *params; - u32 paramlen; - bool key_is_private; - const char *id_type; - const char *pkey_algo; - long unsigned int key_eflags; -}; - -struct public_key_signature { - struct asymmetric_key_id *auth_ids[3]; - u8 *s; - u8 *digest; - u32 s_size; - u32 digest_size; - const char *pkey_algo; - const char *hash_algo; - const char *encoding; -}; - -struct pushbutton_work_info { - struct slot___2 *p_slot; - struct work_struct work; -}; - -struct pv_node; - -struct pv_hash_entry { - struct qspinlock *lock; - struct pv_node *node; -}; - -struct pv_info { - u16 extra_user_64bit_cs; - const char *name; -}; - -struct pv_node { - struct mcs_spinlock mcs; - int cpu; - u8 state; -}; - -struct pvclock_vcpu_time_info { - u32 version; - u32 pad0; - u64 tsc_timestamp; - u64 system_time; - u32 tsc_to_system_mul; - s8 tsc_shift; - u8 flags; - u8 pad[2]; -}; - -struct pvclock_vsyscall_time_info { - struct pvclock_vcpu_time_info pvti; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct pvclock_wall_clock { - u32 version; - u32 sec; - u32 nsec; -}; - -struct pvd { - char reserved0[16]; - __be16 pp_count; - char reserved18[2]; - __be32 psn_part1; - char reserved24[8]; - struct ppe ppe[1016]; -}; - -struct pwm_args { - u64 period; - enum pwm_polarity polarity; -}; - -struct pwm_capture { - unsigned int period; - unsigned int duty_cycle; -}; - -struct pwm_chip; - -struct pwm_device; - -struct pwm_cdev_data { - struct pwm_chip *chip; - struct pwm_device *pwm[0]; -}; - -typedef struct pwm_chip *class_pwmchip_t; - -struct pwm_state { - u64 period; - u64 duty_cycle; - enum pwm_polarity polarity; - bool enabled; - bool usage_power; -}; - -struct pwm_device { - const char *label; - long unsigned int flags; - unsigned int hwpwm; - struct pwm_chip *chip; - struct pwm_args args; - struct pwm_state state; - struct pwm_state last; -}; - -struct pwm_ops; - -struct pwm_chip { - struct device dev; - struct cdev cdev; - const struct pwm_ops *ops; - struct module *owner; - unsigned int id; - unsigned int npwm; - struct pwm_device * (*of_xlate)(struct pwm_chip *, const struct of_phandle_args *); - bool atomic; - bool uses_pwmchip_alloc; - bool operational; - union { - struct mutex nonatomic_lock; - spinlock_t atomic_lock; - }; - struct pwm_device pwms[0]; -}; - -struct pwm_export { - struct device pwm_dev; - struct pwm_device *pwm; - struct mutex lock; - struct pwm_state suspend; -}; - -struct pwm_lookup { - struct list_head list; - const char *provider; - unsigned int index; - const char *dev_id; - const char *con_id; - unsigned int period; - enum pwm_polarity polarity; - const char *module; -}; - -struct pwm_lpss_boardinfo { - long unsigned int clk_rate; - unsigned int npwm; - long unsigned int base_unit_bits; - bool bypass; - bool other_devices_aml_touches_pwm_regs; -}; - -struct pwm_lpss_chip { - void *regs; - const struct pwm_lpss_boardinfo *info; -}; - -struct pwm_waveform; - -struct pwm_ops { - int (*request)(struct pwm_chip *, struct pwm_device *); - void (*free)(struct pwm_chip *, struct pwm_device *); - int (*capture)(struct pwm_chip *, struct pwm_device *, struct pwm_capture *, long unsigned int); - size_t sizeof_wfhw; - int (*round_waveform_tohw)(struct pwm_chip *, struct pwm_device *, const struct pwm_waveform *, void *); - int (*round_waveform_fromhw)(struct pwm_chip *, struct pwm_device *, const void *, struct pwm_waveform *); - int (*read_waveform)(struct pwm_chip *, struct pwm_device *, void *); - int (*write_waveform)(struct pwm_chip *, struct pwm_device *, const void *); - int (*apply)(struct pwm_chip *, struct pwm_device *, const struct pwm_state *); - int (*get_state)(struct pwm_chip *, struct pwm_device *, struct pwm_state *); -}; - -struct pwm_waveform { - u64 period_length_ns; - u64 duty_length_ns; - u64 duty_offset_ns; -}; - -struct pwmchip_waveform { - __u32 hwpwm; - __u32 __pad; - __u64 period_length_ns; - __u64 duty_length_ns; - __u64 duty_offset_ns; -}; - -struct q_inval { - raw_spinlock_t q_lock; - void *desc; - int *desc_status; - int free_head; - int free_tail; - int free_cnt; -}; - -struct qc_dqblk { - int d_fieldmask; - u64 d_spc_hardlimit; - u64 d_spc_softlimit; - u64 d_ino_hardlimit; - u64 d_ino_softlimit; - u64 d_space; - u64 d_ino_count; - s64 d_ino_timer; - s64 d_spc_timer; - int d_ino_warns; - int d_spc_warns; - u64 d_rt_spc_hardlimit; - u64 d_rt_spc_softlimit; - u64 d_rt_space; - s64 d_rt_spc_timer; - int d_rt_spc_warns; -}; - -struct qc_info { - int i_fieldmask; - unsigned int i_flags; - unsigned int i_spc_timelimit; - unsigned int i_ino_timelimit; - unsigned int i_rt_spc_timelimit; - unsigned int i_spc_warnlimit; - unsigned int i_ino_warnlimit; - unsigned int i_rt_spc_warnlimit; -}; - -struct qc_type_state { - unsigned int flags; - unsigned int spc_timelimit; - unsigned int ino_timelimit; - unsigned int rt_spc_timelimit; - unsigned int spc_warnlimit; - unsigned int ino_warnlimit; - unsigned int rt_spc_warnlimit; - long long unsigned int ino; - blkcnt_t blocks; - blkcnt_t nextents; -}; - -struct qc_state { - unsigned int s_incoredqs; - struct qc_type_state s_state[3]; -}; - -struct qdisc_dump_args { - struct qdisc_walker w; - struct sk_buff *skb; - struct netlink_callback *cb; -}; - -struct tc_ratespec { - unsigned char cell_log; - __u8 linklayer; - short unsigned int overhead; - short int cell_align; - short unsigned int mpu; - __u32 rate; -}; - -struct qdisc_rate_table { - struct tc_ratespec rate; - u32 data[256]; - struct qdisc_rate_table *next; - int refcnt; -}; - -struct tc_sizespec { - unsigned char cell_log; - unsigned char size_log; - short int cell_align; - int overhead; - unsigned int linklayer; - unsigned int mpu; - unsigned int mtu; - unsigned int tsize; -}; - -struct qdisc_size_table { - struct callback_head rcu; - struct list_head list; - struct tc_sizespec szopts; - int refcnt; - u16 data[0]; -}; - -struct qi_desc { - u64 qw0; - u64 qw1; - u64 qw2; - u64 qw3; -}; - -struct qi_batch { - struct qi_desc descs[16]; - unsigned int index; -}; - -struct qnode { - struct mcs_spinlock mcs; - long int reserved[2]; -}; - -struct queue_limits { - blk_features_t features; - blk_flags_t flags; - long unsigned int seg_boundary_mask; - long unsigned int virt_boundary_mask; - unsigned int max_hw_sectors; - unsigned int max_dev_sectors; - unsigned int chunk_sectors; - unsigned int max_sectors; - unsigned int max_user_sectors; - unsigned int max_segment_size; - unsigned int min_segment_size; - unsigned int physical_block_size; - unsigned int logical_block_size; - unsigned int alignment_offset; - unsigned int io_min; - unsigned int io_opt; - unsigned int max_discard_sectors; - unsigned int max_hw_discard_sectors; - unsigned int max_user_discard_sectors; - unsigned int max_secure_erase_sectors; - unsigned int max_write_zeroes_sectors; - unsigned int max_wzeroes_unmap_sectors; - unsigned int max_hw_wzeroes_unmap_sectors; - unsigned int max_user_wzeroes_unmap_sectors; - unsigned int max_hw_zone_append_sectors; - unsigned int max_zone_append_sectors; - unsigned int discard_granularity; - unsigned int discard_alignment; - unsigned int zone_write_granularity; - unsigned int atomic_write_hw_max; - unsigned int atomic_write_max_sectors; - unsigned int atomic_write_hw_boundary; - unsigned int atomic_write_boundary_sectors; - unsigned int atomic_write_hw_unit_min; - unsigned int atomic_write_unit_min; - unsigned int atomic_write_hw_unit_max; - unsigned int atomic_write_unit_max; - short unsigned int max_segments; - short unsigned int max_integrity_segments; - short unsigned int max_discard_segments; - short unsigned int max_write_streams; - unsigned int write_stream_granularity; - unsigned int max_open_zones; - unsigned int max_active_zones; - unsigned int dma_alignment; - unsigned int dma_pad_mask; - struct blk_integrity integrity; -}; - -struct queue_pages { - struct list_head *pagelist; - long unsigned int flags; - nodemask_t *nmask; - long unsigned int start; - long unsigned int end; - struct vm_area_struct *first; - struct folio *large; - long int nr_failed; -}; - -struct queue_sysfs_entry { - struct attribute attr; - ssize_t (*show)(struct gendisk *, char *); - ssize_t (*show_limit)(struct gendisk *, char *); - ssize_t (*store)(struct gendisk *, const char *, size_t); - int (*store_limit)(struct gendisk *, const char *, size_t, struct queue_limits *); -}; - -struct quirk_entry { - u16 vid; - u16 pid; - u32 flags; -}; - -struct quirk_entry___2 { - u32 nominal_freq; - u32 lowest_freq; -}; - -struct quota_format_ops { - int (*check_quota_file)(struct super_block *, int); - int (*read_file_info)(struct super_block *, int); - int (*write_file_info)(struct super_block *, int); - int (*free_file_info)(struct super_block *, int); - int (*read_dqblk)(struct dquot *); - int (*commit_dqblk)(struct dquot *); - int (*release_dqblk)(struct dquot *); - int (*get_next_id)(struct super_block *, struct kqid *); -}; - -struct quota_format_type { - int qf_fmt_id; - const struct quota_format_ops *qf_ops; - struct module *qf_owner; - struct quota_format_type *qf_next; -}; - -struct quota_id { - struct rb_node node; - qid_t id; - qsize_t bhardlimit; - qsize_t bsoftlimit; - qsize_t ihardlimit; - qsize_t isoftlimit; -}; - -struct quota_info { - unsigned int flags; - struct rw_semaphore dqio_sem; - struct inode *files[3]; - struct mem_dqinfo info[3]; - const struct quota_format_ops *ops[3]; -}; - -struct quota_module_name { - int qm_fmt_id; - char *qm_mod_name; -}; - -struct quotactl_ops { - int (*quota_on)(struct super_block *, int, int, const struct path *); - int (*quota_off)(struct super_block *, int); - int (*quota_enable)(struct super_block *, unsigned int); - int (*quota_disable)(struct super_block *, unsigned int); - int (*quota_sync)(struct super_block *, int); - int (*set_info)(struct super_block *, int, struct qc_info *); - int (*get_dqblk)(struct super_block *, struct kqid, struct qc_dqblk *); - int (*get_nextdqblk)(struct super_block *, struct kqid *, struct qc_dqblk *); - int (*set_dqblk)(struct super_block *, struct kqid, struct qc_dqblk *); - int (*get_state)(struct super_block *, struct qc_state *); - int (*rm_xquota)(struct super_block *, unsigned int); -}; - -struct ra_msg { - struct icmp6hdr icmph; - __be32 reachable_time; - __be32 retrans_timer; -}; - -struct xa_node; - -struct radix_tree_iter { - long unsigned int index; - long unsigned int next_index; - long unsigned int tags; - struct xa_node *node; -}; - -struct radix_tree_preload { - local_lock_t lock; - unsigned int nr; - struct xa_node *nodes; -}; - -struct ramfs_mount_opts { - umode_t mode; -}; - -struct ramfs_fs_info { - struct ramfs_mount_opts mount_opts; -}; - -struct rand_data { - void *hash_state; - __u64 prev_time; - __u64 last_delta; - __s64 last_delta2; - unsigned int flags; - unsigned int osr; - unsigned char *mem; - unsigned int memlocation; - unsigned int memblocks; - unsigned int memblocksize; - unsigned int memaccessloops; - unsigned int rct_count; - unsigned int apt_cutoff; - unsigned int apt_cutoff_permanent; - unsigned int apt_observations; - unsigned int apt_count; - unsigned int apt_base; - unsigned int health_failure; - unsigned int apt_base_set: 1; -}; - -struct range_node { - struct rb_node rn_rbnode; - struct rb_node rb_range_size; - u32 rn_start; - u32 rn_last; - u32 __rn_subtree_last; -}; - -struct range_trans { - u32 source_type; - u32 target_type; - u32 target_class; -}; - -struct rank_info { - int chan_idx; - struct csrow_info *csrow; - struct dimm_info *dimm; - u32 ce_count; -}; - -struct rate_sample { - u64 prior_mstamp; - u32 prior_delivered; - u32 prior_delivered_ce; - s32 delivered; - s32 delivered_ce; - long int interval_us; - u32 snd_interval_us; - u32 rcv_interval_us; - long int rtt_us; - int losses; - u32 acked_sacked; - u32 prior_in_flight; - u32 last_end_seq; - bool is_app_limited; - bool is_retrans; - bool is_ack_delayed; -}; - -struct raw6_frag_vec { - struct msghdr *msg; - int hlen; - char c[4]; -}; - -struct raw6_sock { - struct inet_sock inet; - __u32 checksum; - __u32 offset; - struct icmp6_filter filter; - __u32 ip6mr_table; - struct ipv6_pinfo inet6; -}; - -struct raw_data_entry { - struct trace_entry ent; - unsigned int id; - char buf[0]; -}; - -struct raw_frag_vec { - struct msghdr *msg; - union { - struct icmphdr icmph; - char c[1]; - } hdr; - int hlen; -}; - -struct raw_hashinfo { - spinlock_t lock; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - struct hlist_head ht[256]; -}; - -struct raw_hwp_page { - struct llist_node node; - struct page *page; -}; - -struct raw_iter_state { - struct seq_net_private p; - int bucket; -}; - -struct raw_sock { - struct inet_sock inet; - struct icmp_filter filter; - u32 ipmr_table; -}; - -struct rawdata_f_data { - struct aa_loaddata *loaddata; -}; - -struct rb_augment_callbacks { - void (*propagate)(struct rb_node *, struct rb_node *); - void (*copy)(struct rb_node *, struct rb_node *); - void (*rotate)(struct rb_node *, struct rb_node *); -}; - -struct rb_event_info { - u64 ts; - u64 delta; - u64 before; - u64 after; - long unsigned int length; - struct buffer_page *tail_page; - int add_timestamp; -}; - -struct rb_irq_work { - struct irq_work work; - wait_queue_head_t waiters; - wait_queue_head_t full_waiters; - atomic_t seq; - bool waiters_pending; - bool full_waiters_pending; - bool wakeup_full; -}; - -struct rb_list { - struct rb_root root; - struct list_head head; - spinlock_t lock; -}; - -struct rb_time_struct { - local64_t time; -}; - -typedef struct rb_time_struct rb_time_t; - -struct rb_wait_data { - struct rb_irq_work *irq_work; - int seq; -}; - -struct rc { - long int (*fill)(void *, long unsigned int); - uint8_t *ptr; - uint8_t *buffer; - uint8_t *buffer_end; - long int buffer_size; - uint32_t code; - uint32_t range; - uint32_t bound; - void (*error)(char *); -}; - -struct rc5t583 { - struct device *dev; - struct regmap *regmap; - int chip_irq; - int irq_base; - struct mutex irq_lock; - long unsigned int group_irq_en[5]; - uint8_t intc_inten_reg; - uint8_t irq_en_reg[8]; - uint8_t gpedge_reg[2]; -}; - -struct rc5t583_gpio { - struct gpio_chip gpio_chip; - struct rc5t583 *rc5t583; -}; - -struct rc5t583_irq_data { - u8 int_type; - u8 master_bit; - u8 int_en_bit; - u8 mask_reg_index; - int grp_index; -}; - -struct rc5t583_platform_data { - int irq_base; - int gpio_base; - bool enable_shutdown; - int regulator_deepsleep_slot[14]; - long unsigned int regulator_ext_pwr_control[14]; - struct regulator_init_data *reg_init_data[14]; -}; - -struct rc_dec { - uint32_t range; - uint32_t code; - uint32_t init_bytes_left; - const uint8_t *in; - size_t in_pos; - size_t in_limit; -}; - -struct rcec_ea { - u8 nextbusn; - u8 lastbusn; - u32 bitmap; -}; - -struct rchan_callbacks; - -struct rchan_buf; - -struct rchan { - u32 version; - size_t subbuf_size; - size_t n_subbufs; - size_t alloc_size; - const struct rchan_callbacks *cb; - struct kref kref; - void *private_data; - struct rchan_buf **buf; - int is_global; - struct list_head list; - struct dentry *parent; - int has_base_filename; - char base_filename[255]; -}; - -struct rchan_buf_stats { - unsigned int full_count; - unsigned int big_count; -}; - -struct rchan_buf { - void *start; - void *data; - size_t offset; - size_t subbufs_produced; - size_t subbufs_consumed; - struct rchan *chan; - wait_queue_head_t read_wait; - struct irq_work wakeup_work; - struct dentry *dentry; - struct kref kref; - struct rchan_buf_stats stats; - struct page **page_array; - unsigned int page_count; - unsigned int finalized; - size_t *padding; - size_t bytes_consumed; - size_t early_bytes; - unsigned int cpu; - long: 64; - long: 64; -}; - -struct rchan_callbacks { - int (*subbuf_start)(struct rchan_buf *, void *, void *); - struct dentry * (*create_buf_file)(const char *, struct dentry *, umode_t, struct rchan_buf *, int *); - int (*remove_buf_file)(struct dentry *); -}; - -struct rcu_cblist { - struct callback_head *head; - struct callback_head **tail; - long int len; -}; - -union rcu_noqs { - struct { - u8 norm; - u8 exp; - } b; - u16 s; -}; - -struct rcu_segcblist { - struct callback_head *head; - struct callback_head **tails[4]; - long unsigned int gp_seq[4]; - atomic_long_t len; - long int seglen[4]; - u8 flags; -}; - -struct rcu_snap_record { - long unsigned int gp_seq; - u64 cputime_irq; - u64 cputime_softirq; - u64 cputime_system; - u64 nr_hardirqs; - unsigned int nr_softirqs; - long long unsigned int nr_csw; - long unsigned int jiffies; -}; - -struct rcu_node; - -struct rcu_data { - long unsigned int gp_seq; - long unsigned int gp_seq_needed; - union rcu_noqs cpu_no_qs; - bool core_needs_qs; - bool beenonline; - bool gpwrap; - unsigned int gpwrap_count; - bool cpu_started; - struct rcu_node *mynode; - long unsigned int grpmask; - long unsigned int ticks_this_gp; - struct irq_work defer_qs_iw; - int defer_qs_iw_pending; - struct work_struct strict_work; - struct rcu_segcblist cblist; - long int qlen_last_fqs_check; - long unsigned int n_cbs_invoked; - long unsigned int n_force_qs_snap; - long int blimit; - int watching_snap; - bool rcu_need_heavy_qs; - bool rcu_urgent_qs; - bool rcu_forced_tick; - bool rcu_forced_tick_exp; - long unsigned int barrier_seq_snap; - struct callback_head barrier_head; - int exp_watching_snap; - struct swait_queue_head nocb_cb_wq; - struct swait_queue_head nocb_state_wq; - struct task_struct *nocb_gp_kthread; - raw_spinlock_t nocb_lock; - int nocb_defer_wakeup; - struct timer_list nocb_timer; - long unsigned int nocb_gp_adv_time; - struct mutex nocb_gp_kthread_mutex; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - raw_spinlock_t nocb_bypass_lock; - struct rcu_cblist nocb_bypass; - long unsigned int nocb_bypass_first; - long unsigned int nocb_nobypass_last; - int nocb_nobypass_count; - long: 64; - raw_spinlock_t nocb_gp_lock; - u8 nocb_gp_sleep; - u8 nocb_gp_bypass; - u8 nocb_gp_gp; - long unsigned int nocb_gp_seq; - long unsigned int nocb_gp_loops; - struct swait_queue_head nocb_gp_wq; - bool nocb_cb_sleep; - struct task_struct *nocb_cb_kthread; - struct list_head nocb_head_rdp; - struct list_head nocb_entry_rdp; - struct rcu_data *nocb_toggling_rdp; - long: 64; - long: 64; - long: 64; - struct rcu_data *nocb_gp_rdp; - struct task_struct *rcu_cpu_kthread_task; - unsigned int rcu_cpu_kthread_status; - char rcu_cpu_has_work; - long unsigned int rcuc_activity; - unsigned int softirq_snap; - struct irq_work rcu_iw; - bool rcu_iw_pending; - long unsigned int rcu_iw_gp_seq; - long unsigned int rcu_ofl_gp_seq; - short int rcu_ofl_gp_state; - long unsigned int rcu_onl_gp_seq; - short int rcu_onl_gp_state; - long unsigned int last_fqs_resched; - long unsigned int last_sched_clock; - struct rcu_snap_record snap_record; - long int lazy_len; - int cpu; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct rcu_exp_work { - long unsigned int rew_s; - struct kthread_work rew_work; -}; - -struct rcu_node { - raw_spinlock_t lock; - long unsigned int gp_seq; - long unsigned int gp_seq_needed; - long unsigned int completedqs; - long unsigned int qsmask; - long unsigned int rcu_gp_init_mask; - long unsigned int qsmaskinit; - long unsigned int qsmaskinitnext; - long unsigned int expmask; - long unsigned int expmaskinit; - long unsigned int expmaskinitnext; - struct kthread_worker *exp_kworker; - long unsigned int cbovldmask; - long unsigned int ffmask; - long unsigned int grpmask; - int grplo; - int grphi; - u8 grpnum; - u8 level; - bool wait_blkd_tasks; - struct rcu_node *parent; - struct list_head blkd_tasks; - struct list_head *gp_tasks; - struct list_head *exp_tasks; - struct list_head *boost_tasks; - struct rt_mutex boost_mtx; - long unsigned int boost_time; - struct mutex kthread_mutex; - struct task_struct *boost_kthread_task; - unsigned int boost_kthread_status; - long unsigned int n_boosts; - struct swait_queue_head nocb_gp_wq[2]; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - raw_spinlock_t fqslock; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - spinlock_t exp_lock; - long unsigned int exp_seq_rq; - wait_queue_head_t exp_wq[4]; - struct rcu_exp_work rew; - bool exp_need_flush; - raw_spinlock_t exp_poll_lock; - long unsigned int exp_seq_poll_rq; - struct work_struct exp_poll_wq; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -union rcu_special { - struct { - u8 blocked; - u8 need_qs; - u8 exp_hint; - u8 need_mb; - } b; - u32 s; -}; - -struct rcu_stall_chk_rdr { - int nesting; - union rcu_special rs; - bool on_blkd_list; -}; - -struct sr_wait_node { - atomic_t inuse; - struct llist_node node; -}; - -struct rcu_state { - struct rcu_node node[521]; - struct rcu_node *level[4]; - int ncpus; - int n_online_cpus; - long: 64; - long: 64; - long: 64; - long unsigned int gp_seq; - long unsigned int gp_max; - struct task_struct *gp_kthread; - struct swait_queue_head gp_wq; - short int gp_flags; - short int gp_state; - long unsigned int gp_wake_time; - long unsigned int gp_wake_seq; - long unsigned int gp_seq_polled; - long unsigned int gp_seq_polled_snap; - long unsigned int gp_seq_polled_exp_snap; - struct mutex barrier_mutex; - atomic_t barrier_cpu_count; - struct completion barrier_completion; - long unsigned int barrier_sequence; - raw_spinlock_t barrier_lock; - struct mutex exp_mutex; - struct mutex exp_wake_mutex; - long unsigned int expedited_sequence; - atomic_t expedited_need_qs; - struct swait_queue_head expedited_wq; - int ncpus_snap; - u8 cbovld; - u8 cbovldnext; - long unsigned int jiffies_force_qs; - long unsigned int jiffies_kick_kthreads; - long unsigned int n_force_qs; - long unsigned int gp_start; - long unsigned int gp_end; - long unsigned int gp_activity; - long unsigned int gp_req_activity; - long unsigned int jiffies_stall; - int nr_fqs_jiffies_stall; - long unsigned int jiffies_resched; - long unsigned int n_force_qs_gpstart; - const char *name; - char abbr; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - arch_spinlock_t ofl_lock; - struct llist_head srs_next; - struct llist_node *srs_wait_tail; - struct llist_node *srs_done_tail; - struct sr_wait_node srs_wait_nodes[5]; - struct work_struct srs_cleanup_work; - atomic_t srs_cleanups_pending; - struct mutex nocb_mutex; - int nocb_is_setup; -}; - -struct rcu_synchronize { - struct callback_head head; - struct completion completion; - struct rcu_gp_oldstate oldstate; -}; - -struct rcu_tasks; - -typedef void (*rcu_tasks_gp_func_t)(struct rcu_tasks *); - -typedef void (*pregp_func_t)(struct list_head *); - -typedef void (*pertask_func_t)(struct task_struct *, struct list_head *); - -typedef void (*postscan_func_t)(struct list_head *); - -typedef void (*holdouts_func_t)(struct list_head *, bool, bool *); - -typedef void (*postgp_func_t)(struct rcu_tasks *); - -typedef void (*rcu_callback_t)(struct callback_head *); - -typedef void (*call_rcu_func_t)(struct callback_head *, rcu_callback_t); - -struct rcu_tasks_percpu; - -struct rcu_tasks { - struct rcuwait cbs_wait; - raw_spinlock_t cbs_gbl_lock; - struct mutex tasks_gp_mutex; - int gp_state; - int gp_sleep; - int init_fract; - long unsigned int gp_jiffies; - long unsigned int gp_start; - long unsigned int tasks_gp_seq; - long unsigned int n_ipis; - long unsigned int n_ipis_fails; - struct task_struct *kthread_ptr; - long unsigned int lazy_jiffies; - rcu_tasks_gp_func_t gp_func; - pregp_func_t pregp_func; - pertask_func_t pertask_func; - postscan_func_t postscan_func; - holdouts_func_t holdouts_func; - postgp_func_t postgp_func; - call_rcu_func_t call_func; - unsigned int wait_state; - struct rcu_tasks_percpu *rtpcpu; - struct rcu_tasks_percpu **rtpcp_array; - int percpu_enqueue_shift; - int percpu_enqueue_lim; - int percpu_dequeue_lim; - long unsigned int percpu_dequeue_gpseq; - struct mutex barrier_q_mutex; - atomic_t barrier_q_count; - struct completion barrier_q_completion; - long unsigned int barrier_q_seq; - long unsigned int barrier_q_start; - char *name; - char *kname; -}; - -struct rcu_tasks_percpu { - struct rcu_segcblist cblist; - raw_spinlock_t lock; - long unsigned int rtp_jiffies; - long unsigned int rtp_n_lock_retries; - struct timer_list lazy_timer; - unsigned int urgent_gp; - struct work_struct rtp_work; - struct irq_work rtp_irq_work; - struct callback_head barrier_q_head; - struct list_head rtp_blkd_tasks; - struct list_head rtp_exit_list; - int cpu; - int index; - struct rcu_tasks *rtpp; -}; - -struct rd_msg { - struct icmp6hdr icmph; - struct in6_addr target; - struct in6_addr dest; - __u8 opt[0]; -}; - -struct rdev_sysfs_entry { - struct attribute attr; - ssize_t (*show)(struct md_rdev *, char *); - ssize_t (*store)(struct md_rdev *, const char *, size_t); -}; - -struct rdma_ah_init_attr { - struct rdma_ah_attr *ah_attr; - u32 flags; - struct net_device *xmit_slave; -}; - -struct rdma_cgroup { - struct cgroup_subsys_state css; - struct list_head rpools; -}; - -struct rdma_counter { - struct rdma_restrack_entry res; - struct ib_device *device; - uint32_t id; - struct kref kref; - struct rdma_counter_mode mode; - struct mutex lock; - struct rdma_hw_stats *stats; - u32 port; -}; - -struct rdma_stat_desc; - -struct rdma_hw_stats { - struct mutex lock; - long unsigned int timestamp; - long unsigned int lifespan; - const struct rdma_stat_desc *descs; - long unsigned int *is_disabled; - int num_counters; - u64 value[0]; -}; - -struct rdma_link_ops { - struct list_head list; - const char *type; - int (*newlink)(const char *, struct net_device *); -}; - -struct rdma_netdev_alloc_params { - size_t sizeof_priv; - unsigned int txqs; - unsigned int rxqs; - void *param; - int (*initialize_rdma_netdev)(struct ib_device *, u32, struct net_device *, void *); -}; - -struct rdma_stat_desc { - const char *name; - unsigned int flags; - const void *priv; -}; - -struct rdma_user_mmap_entry { - struct kref ref; - struct ib_ucontext *ucontext; - long unsigned int start_pgoff; - size_t npages; - bool driver_removed; -}; - -struct rdmacg_resource { - int max; - int usage; -}; - -struct rdmacg_resource_pool { - struct rdmacg_device *device; - struct rdmacg_resource resources[2]; - struct list_head cg_node; - struct list_head dev_node; - u64 usage_sum; - int num_max_cnt; -}; - -struct rdt_domain_hdr { - struct list_head list; - int id; - enum resctrl_domain_type type; - struct cpumask cpu_mask; -}; - -struct resctrl_staged_config { - u32 new_ctrl; - bool have_new_ctrl; -}; - -struct rdt_ctrl_domain { - struct rdt_domain_hdr hdr; - struct pseudo_lock_region *plr; - struct resctrl_staged_config staged_config[3]; - u32 *mbps_val; -}; - -struct rdt_fs_context { - struct kernfs_fs_context kfc; - bool enable_cdpl2; - bool enable_cdpl3; - bool enable_mba_mbps; - bool enable_debug; -}; - -struct rdt_hw_ctrl_domain { - struct rdt_ctrl_domain d_resctrl; - u32 *ctrl_val; -}; - -struct rdt_mon_domain { - struct rdt_domain_hdr hdr; - unsigned int ci_id; - long unsigned int *rmid_busy_llc; - struct mbm_state *mbm_total; - struct mbm_state *mbm_local; - struct delayed_work mbm_over; - struct delayed_work cqm_limbo; - int mbm_work_cpu; - int cqm_work_cpu; -}; - -struct rdt_hw_mon_domain { - struct rdt_mon_domain d_resctrl; - struct arch_mbm_state *arch_mbm_total; - struct arch_mbm_state *arch_mbm_local; -}; - -struct resctrl_cache { - unsigned int cbm_len; - unsigned int min_cbm_bits; - unsigned int shareable_bits; - bool arch_has_sparse_bitmasks; - bool arch_has_per_cpu_cfg; -}; - -struct resctrl_membw { - u32 min_bw; - u32 max_bw; - u32 bw_gran; - u32 delay_linear; - bool arch_needs_linear; - enum membw_throttle_mode throttle_mode; - bool mba_sc; - u32 *mb_map; -}; - -struct rdt_resource { - int rid; - bool alloc_capable; - bool mon_capable; - int num_rmid; - enum resctrl_scope ctrl_scope; - enum resctrl_scope mon_scope; - struct resctrl_cache cache; - struct resctrl_membw membw; - struct list_head ctrl_domains; - struct list_head mon_domains; - char *name; - enum resctrl_schema_fmt schema_fmt; - struct list_head evt_list; - unsigned int mbm_cfg_mask; - bool cdp_capable; -}; - -struct rdt_hw_resource { - struct rdt_resource r_resctrl; - u32 num_closid; - unsigned int msr_base; - void (*msr_update)(struct msr_param *); - unsigned int mon_scale; - unsigned int mbm_width; - bool cdp_enabled; -}; - -struct rdt_options { - char *name; - int flag; - bool force_off; - bool force_on; -}; - -struct rdt_parse_data { - struct rdtgroup *rdtgrp; - char *buf; -}; - -struct rdtgroup { - struct kernfs_node *kn; - struct list_head rdtgroup_list; - u32 closid; - struct cpumask cpu_mask; - int flags; - atomic_t waitcount; - enum rdt_group_type type; - struct mongroup mon; - enum rdtgrp_mode mode; - enum resctrl_event_id mba_mbps_event; - struct pseudo_lock_region *plr; -}; - -struct read_buffer { - struct list_head list; - unsigned int cons; - unsigned int len; - char msg[0]; -}; - -struct readahead_control { - struct file *file; - struct address_space *mapping; - struct file_ra_state *ra; - long unsigned int _index; - unsigned int _nr_pages; - unsigned int _batch_count; - bool dropbehind; - bool _workingset; - long unsigned int _pflags; -}; - -struct readdir_callback { - struct dir_context ctx; - struct old_linux_dirent *dirent; - int result; -}; - -struct real_mode_header { - u32 text_start; - u32 ro_end; - u32 trampoline_start; - u32 trampoline_header; - u32 sev_es_trampoline_start; - u32 trampoline_start64; - u32 trampoline_pgd; - u32 wakeup_start; - u32 wakeup_header; - u32 machine_real_restart_asm; - u32 machine_real_restart_seg; -}; - -struct virtnet_rq_stats { - struct u64_stats_sync syncp; - u64_stats_t packets; - u64_stats_t bytes; - u64_stats_t drops; - u64_stats_t xdp_packets; - u64_stats_t xdp_tx; - u64_stats_t xdp_redirects; - u64_stats_t xdp_drops; - u64_stats_t kicks; -}; - -struct virtnet_interrupt_coalesce { - u32 max_packets; - u32 max_usecs; -}; - -struct virtnet_rq_dma; - -struct receive_queue { - struct virtqueue *vq; - struct napi_struct napi; - struct bpf_prog *xdp_prog; - struct virtnet_rq_stats stats; - u16 calls; - bool dim_enabled; - struct mutex dim_lock; - struct dim dim; - u32 packets_in_napi; - struct virtnet_interrupt_coalesce intr_coal; - struct page *pages; - struct ewma_pkt_len mrg_avg_pkt_len; - struct page_frag alloc_frag; - struct scatterlist sg[19]; - unsigned int min_buf_len; - char name[16]; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - struct xdp_rxq_info xdp_rxq; - struct virtnet_rq_dma *last_dma; - struct xsk_buff_pool *xsk_pool; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - struct xdp_rxq_info xsk_rxq_info; - struct xdp_buff **xsk_buffs; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct reciprocal_value_adv { - u32 m; - u8 sh; - u8 exp; - bool is_wide_m; -}; - -struct reclaim_stat { - unsigned int nr_dirty; - unsigned int nr_unqueued_dirty; - unsigned int nr_congested; - unsigned int nr_writeback; - unsigned int nr_immediate; - unsigned int nr_pageout; - unsigned int nr_activate[2]; - unsigned int nr_ref_keep; - unsigned int nr_unmap_fail; - unsigned int nr_lazyfree_fail; - unsigned int nr_demoted; -}; - -struct reclaim_state { - long unsigned int reclaimed; - struct lru_gen_mm_walk *mm_walk; -}; - -struct recovery_info { - tid_t start_transaction; - tid_t end_transaction; - long unsigned int head_block; - int nr_replays; - int nr_revokes; - int nr_revoke_hits; -}; - -struct reg_default { - unsigned int reg; - unsigned int def; -}; - -struct reg_field { - unsigned int reg; - unsigned int lsb; - unsigned int msb; - unsigned int id_size; - unsigned int id_offset; -}; - -struct reg_genl_event { - char reg_name[32]; - uint64_t event; -}; - -struct reg_sequence { - unsigned int reg; - unsigned int def; - unsigned int delay_us; -}; - -struct regcache_ops { - const char *name; - enum regcache_type type; - int (*init)(struct regmap *); - int (*exit)(struct regmap *); - void (*debugfs_init)(struct regmap *); - int (*read)(struct regmap *, unsigned int, unsigned int *); - int (*write)(struct regmap *, unsigned int, unsigned int); - int (*sync)(struct regmap *, unsigned int, unsigned int); - int (*drop)(struct regmap *, unsigned int, unsigned int); -}; - -struct regcache_rbtree_node; - -struct regcache_rbtree_ctx { - struct rb_root root; - struct regcache_rbtree_node *cached_rbnode; -}; - -struct regcache_rbtree_node { - void *block; - long unsigned int *cache_present; - unsigned int base_reg; - unsigned int blklen; - struct rb_node node; -}; - -typedef int (*regex_match_func)(char *, struct regex *, int); - -struct regex { - char pattern[256]; - int len; - int field_len; - regex_match_func match; -}; - -struct region { - unsigned int start; - unsigned int off; - unsigned int group_len; - unsigned int end; - unsigned int nbits; -}; - -struct region_devres { - struct resource *parent; - resource_size_t start; - resource_size_t n; -}; - -typedef void (*regmap_lock)(void *); - -typedef void (*regmap_unlock)(void *); - -struct regmap_format { - size_t buf_size; - size_t reg_bytes; - size_t pad_bytes; - size_t val_bytes; - s8 reg_shift; - void (*format_write)(struct regmap *, unsigned int, unsigned int); - void (*format_reg)(void *, unsigned int, unsigned int); - void (*format_val)(void *, unsigned int, unsigned int); - unsigned int (*parse_val)(const void *); - void (*parse_inplace)(void *); -}; - -struct regmap_bus; - -struct regmap_access_table; - -struct regmap { - union { - struct mutex mutex; - struct { - spinlock_t spinlock; - long unsigned int spinlock_flags; - }; - struct { - raw_spinlock_t raw_spinlock; - long unsigned int raw_spinlock_flags; - }; - }; - struct lock_class_key *lock_key; - regmap_lock lock; - regmap_unlock unlock; - void *lock_arg; - gfp_t alloc_flags; - unsigned int reg_base; - struct device *dev; - void *work_buf; - struct regmap_format format; - const struct regmap_bus *bus; - void *bus_context; - const char *name; - spinlock_t async_lock; - wait_queue_head_t async_waitq; - struct list_head async_list; - struct list_head async_free; - int async_ret; - bool async; - bool debugfs_disable; - struct dentry *debugfs; - const char *debugfs_name; - unsigned int debugfs_reg_len; - unsigned int debugfs_val_len; - unsigned int debugfs_tot_len; - struct list_head debugfs_off_cache; - struct mutex cache_lock; - unsigned int max_register; - bool max_register_is_set; - bool (*writeable_reg)(struct device *, unsigned int); - bool (*readable_reg)(struct device *, unsigned int); - bool (*volatile_reg)(struct device *, unsigned int); - bool (*precious_reg)(struct device *, unsigned int); - bool (*writeable_noinc_reg)(struct device *, unsigned int); - bool (*readable_noinc_reg)(struct device *, unsigned int); - const struct regmap_access_table *wr_table; - const struct regmap_access_table *rd_table; - const struct regmap_access_table *volatile_table; - const struct regmap_access_table *precious_table; - const struct regmap_access_table *wr_noinc_table; - const struct regmap_access_table *rd_noinc_table; - int (*reg_read)(void *, unsigned int, unsigned int *); - int (*reg_write)(void *, unsigned int, unsigned int); - int (*reg_update_bits)(void *, unsigned int, unsigned int, unsigned int); - int (*read)(void *, const void *, size_t, void *, size_t); - int (*write)(void *, const void *, size_t); - long unsigned int read_flag_mask; - long unsigned int write_flag_mask; - int reg_shift; - int reg_stride; - int reg_stride_order; - bool defer_caching; - bool force_write_field; - const struct regcache_ops *cache_ops; - enum regcache_type cache_type; - unsigned int cache_size_raw; - unsigned int cache_word_size; - unsigned int num_reg_defaults; - unsigned int num_reg_defaults_raw; - bool cache_only; - bool cache_bypass; - bool cache_free; - struct reg_default *reg_defaults; - const void *reg_defaults_raw; - void *cache; - bool cache_dirty; - bool no_sync_defaults; - struct reg_sequence *patch; - int patch_regs; - bool can_sleep; - bool use_single_read; - bool use_single_write; - bool can_multi_write; - size_t max_raw_read; - size_t max_raw_write; - struct rb_root range_tree; - void *selector_work_buf; - struct hwspinlock *hwlock; -}; - -struct regmap_range; - -struct regmap_access_table { - const struct regmap_range *yes_ranges; - unsigned int n_yes_ranges; - const struct regmap_range *no_ranges; - unsigned int n_no_ranges; -}; - -struct regmap_async { - struct list_head list; - struct regmap *map; - void *work_buf; -}; - -struct spi_offload; - -struct spi_message { - struct list_head transfers; - struct spi_device *spi; - bool pre_optimized; - bool optimized; - bool prepared; - int status; - void (*complete)(void *); - void *context; - unsigned int frame_length; - unsigned int actual_length; - struct list_head queue; - void *state; - void *opt_state; - struct spi_offload *offload; - struct list_head resources; -}; - -struct spi_delay { - u16 value; - u8 unit; -}; - -struct spi_transfer { - const void *tx_buf; - void *rx_buf; - unsigned int len; - u16 error; - bool tx_sg_mapped; - bool rx_sg_mapped; - struct sg_table tx_sg; - struct sg_table rx_sg; - dma_addr_t tx_dma; - dma_addr_t rx_dma; - unsigned int dummy_data: 1; - unsigned int cs_off: 1; - unsigned int cs_change: 1; - unsigned int tx_nbits: 4; - unsigned int rx_nbits: 4; - unsigned int timestamped: 1; - bool dtr_mode; - u8 bits_per_word; - struct spi_delay delay; - struct spi_delay cs_change_delay; - struct spi_delay word_delay; - u32 speed_hz; - u32 effective_speed_hz; - unsigned int offload_flags; - unsigned int ptp_sts_word_pre; - unsigned int ptp_sts_word_post; - struct ptp_system_timestamp *ptp_sts; - struct list_head transfer_list; -}; - -struct regmap_async_spi { - struct regmap_async core; - struct spi_message m; - struct spi_transfer t[2]; -}; - -typedef int (*regmap_hw_write)(void *, const void *, size_t); - -typedef int (*regmap_hw_gather_write)(void *, const void *, size_t, const void *, size_t); - -typedef int (*regmap_hw_async_write)(void *, const void *, size_t, const void *, size_t, struct regmap_async *); - -typedef int (*regmap_hw_reg_write)(void *, unsigned int, unsigned int); - -typedef int (*regmap_hw_reg_noinc_write)(void *, unsigned int, const void *, size_t); - -typedef int (*regmap_hw_reg_update_bits)(void *, unsigned int, unsigned int, unsigned int); - -typedef int (*regmap_hw_read)(void *, const void *, size_t, void *, size_t); - -typedef int (*regmap_hw_reg_read)(void *, unsigned int, unsigned int *); - -typedef int (*regmap_hw_reg_noinc_read)(void *, unsigned int, void *, size_t); - -typedef void (*regmap_hw_free_context)(void *); - -typedef struct regmap_async * (*regmap_hw_async_alloc)(void); - -struct regmap_bus { - bool fast_io; - bool free_on_exit; - regmap_hw_write write; - regmap_hw_gather_write gather_write; - regmap_hw_async_write async_write; - regmap_hw_reg_write reg_write; - regmap_hw_reg_noinc_write reg_noinc_write; - regmap_hw_reg_update_bits reg_update_bits; - regmap_hw_read read; - regmap_hw_reg_read reg_read; - regmap_hw_reg_noinc_read reg_noinc_read; - regmap_hw_free_context free_context; - regmap_hw_async_alloc async_alloc; - u8 read_flag_mask; - enum regmap_endian reg_format_endian_default; - enum regmap_endian val_format_endian_default; - size_t max_raw_read; - size_t max_raw_write; -}; - -struct regmap_range_cfg; - -struct regmap_config { - const char *name; - int reg_bits; - int reg_stride; - int reg_shift; - unsigned int reg_base; - int pad_bits; - int val_bits; - bool (*writeable_reg)(struct device *, unsigned int); - bool (*readable_reg)(struct device *, unsigned int); - bool (*volatile_reg)(struct device *, unsigned int); - bool (*precious_reg)(struct device *, unsigned int); - bool (*writeable_noinc_reg)(struct device *, unsigned int); - bool (*readable_noinc_reg)(struct device *, unsigned int); - int (*reg_read)(void *, unsigned int, unsigned int *); - int (*reg_write)(void *, unsigned int, unsigned int); - int (*reg_update_bits)(void *, unsigned int, unsigned int, unsigned int); - int (*read)(void *, const void *, size_t, void *, size_t); - int (*write)(void *, const void *, size_t); - size_t max_raw_read; - size_t max_raw_write; - bool can_sleep; - bool fast_io; - bool io_port; - bool disable_locking; - regmap_lock lock; - regmap_unlock unlock; - void *lock_arg; - unsigned int max_register; - bool max_register_is_0; - const struct regmap_access_table *wr_table; - const struct regmap_access_table *rd_table; - const struct regmap_access_table *volatile_table; - const struct regmap_access_table *precious_table; - const struct regmap_access_table *wr_noinc_table; - const struct regmap_access_table *rd_noinc_table; - const struct reg_default *reg_defaults; - unsigned int num_reg_defaults; - enum regcache_type cache_type; - const void *reg_defaults_raw; - unsigned int num_reg_defaults_raw; - long unsigned int read_flag_mask; - long unsigned int write_flag_mask; - bool zero_flag_mask; - bool use_single_read; - bool use_single_write; - bool use_relaxed_mmio; - bool can_multi_write; - bool use_hwlock; - bool use_raw_spinlock; - unsigned int hwlock_id; - unsigned int hwlock_mode; - enum regmap_endian reg_format_endian; - enum regmap_endian val_format_endian; - const struct regmap_range_cfg *ranges; - unsigned int num_ranges; -}; - -struct regmap_debugfs_node { - struct regmap *map; - struct list_head link; -}; - -struct regmap_debugfs_off_cache { - struct list_head list; - off_t min; - off_t max; - unsigned int base_reg; - unsigned int max_reg; -}; - -struct regmap_field { - struct regmap *regmap; - unsigned int mask; - unsigned int shift; - unsigned int reg; - unsigned int id_size; - unsigned int id_offset; -}; - -struct regmap_irq_type { - unsigned int type_reg_offset; - unsigned int type_reg_mask; - unsigned int type_rising_val; - unsigned int type_falling_val; - unsigned int type_level_low_val; - unsigned int type_level_high_val; - unsigned int types_supported; -}; - -struct regmap_irq { - unsigned int reg_offset; - unsigned int mask; - struct regmap_irq_type type; -}; - -struct regmap_irq_sub_irq_map; - -struct regmap_irq_chip { - const char *name; - const char *domain_suffix; - unsigned int main_status; - unsigned int num_main_status_bits; - const struct regmap_irq_sub_irq_map *sub_reg_offsets; - int num_main_regs; - unsigned int status_base; - unsigned int mask_base; - unsigned int unmask_base; - unsigned int ack_base; - unsigned int wake_base; - const unsigned int *config_base; - unsigned int irq_reg_stride; - unsigned int init_ack_masked: 1; - unsigned int mask_unmask_non_inverted: 1; - unsigned int use_ack: 1; - unsigned int ack_invert: 1; - unsigned int clear_ack: 1; - unsigned int status_invert: 1; - unsigned int status_is_level: 1; - unsigned int wake_invert: 1; - unsigned int type_in_mask: 1; - unsigned int clear_on_unmask: 1; - unsigned int runtime_pm: 1; - unsigned int no_status: 1; - int num_regs; - const struct regmap_irq *irqs; - int num_irqs; - int num_config_bases; - int num_config_regs; - int (*handle_pre_irq)(void *); - int (*handle_post_irq)(void *); - int (*handle_mask_sync)(int, unsigned int, unsigned int, void *); - int (*set_type_config)(unsigned int **, unsigned int, const struct regmap_irq *, int, void *); - unsigned int (*get_irq_reg)(struct regmap_irq_chip_data *, unsigned int, int); - void *irq_drv_data; -}; - -struct regmap_irq_chip_data { - struct mutex lock; - struct lock_class_key lock_key; - struct irq_chip irq_chip; - struct regmap *map; - const struct regmap_irq_chip *chip; - int irq_base; - struct irq_domain *domain; - int irq; - int wake_count; - void *status_reg_buf; - unsigned int *main_status_buf; - unsigned int *status_buf; - unsigned int *prev_status_buf; - unsigned int *mask_buf; - unsigned int *mask_buf_def; - unsigned int *wake_buf; - unsigned int *type_buf; - unsigned int *type_buf_def; - unsigned int **config_buf; - unsigned int irq_reg_stride; - unsigned int (*get_irq_reg)(struct regmap_irq_chip_data *, unsigned int, int); - unsigned int clear_status: 1; -}; - -struct regmap_irq_sub_irq_map { - unsigned int num_regs; - unsigned int *offset; -}; - -struct regmap_mmio_context { - void *regs; - unsigned int val_bytes; - bool big_endian; - bool attached_clk; - struct clk *clk; - void (*reg_write)(struct regmap_mmio_context *, unsigned int, unsigned int); - unsigned int (*reg_read)(struct regmap_mmio_context *, unsigned int); -}; - -struct regmap_range { - unsigned int range_min; - unsigned int range_max; -}; - -struct regmap_range_cfg { - const char *name; - unsigned int range_min; - unsigned int range_max; - unsigned int selector_reg; - unsigned int selector_mask; - int selector_shift; - unsigned int window_start; - unsigned int window_len; -}; - -struct regmap_range_node { - struct rb_node node; - const char *name; - struct regmap *map; - unsigned int range_min; - unsigned int range_max; - unsigned int selector_reg; - unsigned int selector_mask; - int selector_shift; - unsigned int window_start; - unsigned int window_len; -}; - -struct regulator_voltage { - int min_uV; - int max_uV; -}; - -struct regulator { - struct device *dev; - struct list_head list; - unsigned int always_on: 1; - unsigned int bypass: 1; - unsigned int device_link: 1; - int uA_load; - unsigned int enable_count; - unsigned int deferred_disables; - struct regulator_voltage voltage[5]; - const char *supply_name; - struct device_attribute dev_attr; - struct regulator_dev *rdev; - struct dentry *debugfs; -}; - -struct regulator_bulk_devres { - struct regulator_bulk_data *consumers; - int num_consumers; -}; - -struct regulator_config { - struct device *dev; - const struct regulator_init_data *init_data; - void *driver_data; - struct device_node *of_node; - struct regmap *regmap; - struct gpio_desc *ena_gpiod; -}; - -struct regulator_consumer_supply { - const char *dev_name; - const char *supply; -}; - -struct regulator_coupler { - struct list_head list; - int (*attach_regulator)(struct regulator_coupler *, struct regulator_dev *); - int (*detach_regulator)(struct regulator_coupler *, struct regulator_dev *); - int (*balance_voltage)(struct regulator_coupler *, struct regulator_dev *, suspend_state_t); -}; - -struct regulator_enable_gpio; - -struct regulator_dev { - const struct regulator_desc *desc; - int exclusive; - u32 use_count; - u32 open_count; - u32 bypass_count; - struct list_head list; - struct list_head consumer_list; - struct coupling_desc coupling_desc; - struct blocking_notifier_head notifier; - struct ww_mutex mutex; - struct task_struct *mutex_owner; - int ref_cnt; - struct module *owner; - struct device dev; - struct regulation_constraints *constraints; - struct regulator *supply; - const char *supply_name; - struct regmap *regmap; - struct delayed_work disable_work; - void *reg_data; - struct dentry *debugfs; - struct regulator_enable_gpio *ena_pin; - unsigned int ena_gpio_state: 1; - unsigned int is_switch: 1; - ktime_t last_off; - int cached_err; - bool use_cached_err; - spinlock_t err_lock; - int pw_requested_mW; -}; - -struct regulator_enable_gpio { - struct list_head list; - struct gpio_desc *gpiod; - u32 enable_count; - u32 request_count; -}; - -struct regulator_err_state { - struct regulator_dev *rdev; - long unsigned int notifs; - long unsigned int errors; - int possible_errs; -}; - -struct regulator_irq_data { - struct regulator_err_state *states; - int num_states; - void *data; - long int opaque; -}; - -struct regulator_irq_desc { - const char *name; - int fatal_cnt; - int reread_ms; - int irq_off_ms; - bool skip_off; - bool high_prio; - void *data; - int (*die)(struct regulator_irq_data *); - int (*map_event)(int, struct regulator_irq_data *, long unsigned int *); - int (*renable)(struct regulator_irq_data *); -}; - -struct regulator_irq { - struct regulator_irq_data rdata; - struct regulator_irq_desc desc; - int irq; - int retry_cnt; - struct delayed_work isr_work; -}; - -struct regulator_map { - struct list_head list; - const char *dev_name; - const char *supply; - struct regulator_dev *regulator; -}; - -struct regulator_notifier_match { - struct regulator *regulator; - struct notifier_block *nb; -}; - -struct regulator_ops { - int (*list_voltage)(struct regulator_dev *, unsigned int); - int (*set_voltage)(struct regulator_dev *, int, int, unsigned int *); - int (*map_voltage)(struct regulator_dev *, int, int); - int (*set_voltage_sel)(struct regulator_dev *, unsigned int); - int (*get_voltage)(struct regulator_dev *); - int (*get_voltage_sel)(struct regulator_dev *); - int (*set_current_limit)(struct regulator_dev *, int, int); - int (*get_current_limit)(struct regulator_dev *); - int (*set_input_current_limit)(struct regulator_dev *, int); - int (*set_over_current_protection)(struct regulator_dev *, int, int, bool); - int (*set_over_voltage_protection)(struct regulator_dev *, int, int, bool); - int (*set_under_voltage_protection)(struct regulator_dev *, int, int, bool); - int (*set_thermal_protection)(struct regulator_dev *, int, int, bool); - int (*set_active_discharge)(struct regulator_dev *, bool); - int (*enable)(struct regulator_dev *); - int (*disable)(struct regulator_dev *); - int (*is_enabled)(struct regulator_dev *); - int (*set_mode)(struct regulator_dev *, unsigned int); - unsigned int (*get_mode)(struct regulator_dev *); - int (*get_error_flags)(struct regulator_dev *, unsigned int *); - int (*enable_time)(struct regulator_dev *); - int (*set_ramp_delay)(struct regulator_dev *, int); - int (*set_voltage_time)(struct regulator_dev *, int, int); - int (*set_voltage_time_sel)(struct regulator_dev *, unsigned int, unsigned int); - int (*set_soft_start)(struct regulator_dev *); - int (*get_status)(struct regulator_dev *); - unsigned int (*get_optimum_mode)(struct regulator_dev *, int, int, int); - int (*set_load)(struct regulator_dev *, int); - int (*set_bypass)(struct regulator_dev *, bool); - int (*get_bypass)(struct regulator_dev *, bool *); - int (*set_suspend_voltage)(struct regulator_dev *, int); - int (*set_suspend_enable)(struct regulator_dev *); - int (*set_suspend_disable)(struct regulator_dev *); - int (*set_suspend_mode)(struct regulator_dev *, unsigned int); - int (*resume)(struct regulator_dev *); - int (*set_pull_down)(struct regulator_dev *); -}; - -struct regulator_supply_alias { - struct list_head list; - struct device *src_dev; - const char *src_supply; - struct device *alias_dev; - const char *alias_supply; -}; - -struct regulator_supply_alias_match { - struct device *dev; - const char *id; -}; - -struct regulatory_request { - struct callback_head callback_head; - int wiphy_idx; - enum nl80211_reg_initiator initiator; - enum nl80211_user_reg_hint_type user_reg_hint_type; - char alpha2[3]; - enum nl80211_dfs_regions dfs_region; - bool intersect; - bool processed; - enum environment_cap country_ie_env; - struct list_head list; -}; - -struct release_task_post { - struct pid *pids[4]; -}; - -struct xen_remap_gfn_info; - -struct remap_data { - xen_pfn_t *fgfn; - int nr_fgfn; - pgprot_t prot; - domid_t domid; - struct vm_area_struct *vma; - int index; - struct page **pages; - struct xen_remap_gfn_info *info; - int *err_ptr; - int mapped; - int h_errs[1]; - xen_ulong_t h_idxs[1]; - xen_pfn_t h_gpfns[1]; - int h_iter; -}; - -struct remap_data___2 { - xen_pfn_t *pfn; - bool contiguous; - bool no_translate; - pgprot_t prot; - struct mmu_update *mmu_update; -}; - -struct remap_pfn { - struct mm_struct *mm; - struct page **pages; - pgprot_t prot; - long unsigned int i; -}; - -struct remap_trace { - struct list_head list; - struct kmmio_probe probe; - resource_size_t phys; - long unsigned int id; -}; - -typedef int (*remote_function_f)(void *); - -struct remote_function_call { - struct task_struct *p; - remote_function_f func; - void *info; - int ret; -}; - -struct remote_output { - struct perf_buffer *rb; - int err; -}; - -struct renamedata { - struct mnt_idmap *old_mnt_idmap; - struct dentry *old_parent; - struct dentry *old_dentry; - struct mnt_idmap *new_mnt_idmap; - struct dentry *new_parent; - struct dentry *new_dentry; - struct inode **delegated_inode; - unsigned int flags; -}; - -struct repcodes_s { - U32 rep[3]; -}; - -typedef struct repcodes_s Repcodes_t; - -struct reply_func { - int type; - int (*cb)(struct net_device *, struct nlmsghdr *, u32, struct nlattr **, struct sk_buff *); -}; - -struct req { - struct req *next; - struct completion done; - int err; - const char *name; - umode_t mode; - kuid_t uid; - kgid_t gid; - struct device *dev; -}; - -typedef enum rq_end_io_ret rq_end_io_fn(struct request *, blk_status_t); - -struct request { - struct request_queue *q; - struct blk_mq_ctx *mq_ctx; - struct blk_mq_hw_ctx *mq_hctx; - blk_opf_t cmd_flags; - req_flags_t rq_flags; - int tag; - int internal_tag; - unsigned int timeout; - unsigned int __data_len; - sector_t __sector; - struct bio *bio; - struct bio *biotail; - union { - struct list_head queuelist; - struct request *rq_next; - }; - struct block_device *part; - u64 alloc_time_ns; - u64 start_time_ns; - u64 io_start_time_ns; - short unsigned int wbt_flags; - short unsigned int stats_sectors; - short unsigned int nr_phys_segments; - short unsigned int nr_integrity_segments; - struct bio_crypt_ctx *crypt_ctx; - struct blk_crypto_keyslot *crypt_keyslot; - enum mq_rq_state state; - atomic_t ref; - long unsigned int deadline; - union { - struct hlist_node hash; - struct llist_node ipi_list; - }; - union { - struct rb_node rb_node; - struct bio_vec special_vec; - }; - struct { - struct io_cq *icq; - void *priv[2]; - } elv; - struct { - unsigned int seq; - rq_end_io_fn *saved_end_io; - } flush; - u64 fifo_time; - rq_end_io_fn *end_io; - void *end_io_data; -}; - -struct request_key_auth { - struct callback_head rcu; - struct key *target_key; - struct key *dest_keyring; - const struct cred *cred; - void *callout_info; - size_t callout_len; - pid_t pid; - char op[8]; -}; - -struct throtl_data; - -struct request_queue { - void *queuedata; - struct elevator_queue *elevator; - const struct blk_mq_ops *mq_ops; - struct blk_mq_ctx *queue_ctx; - long unsigned int queue_flags; - unsigned int rq_timeout; - unsigned int queue_depth; - refcount_t refs; - unsigned int nr_hw_queues; - struct xarray hctx_table; - struct percpu_ref q_usage_counter; - struct lock_class_key io_lock_cls_key; - struct lockdep_map io_lockdep_map; - struct lock_class_key q_lock_cls_key; - struct lockdep_map q_lockdep_map; - struct request *last_merge; - spinlock_t queue_lock; - int quiesce_depth; - struct gendisk *disk; - struct kobject *mq_kobj; - struct queue_limits limits; - struct device *dev; - enum rpm_status rpm_status; - atomic_t pm_only; - struct blk_queue_stats *stats; - struct rq_qos *rq_qos; - struct mutex rq_qos_mutex; - int id; - long unsigned int nr_requests; - struct blk_crypto_profile *crypto_profile; - struct kobject *crypto_kobject; - struct timer_list timeout; - struct work_struct timeout_work; - atomic_t nr_active_requests_shared_tags; - struct blk_mq_tags *sched_shared_tags; - struct list_head icq_list; - long unsigned int blkcg_pols[1]; - struct blkcg_gq *root_blkg; - struct list_head blkg_list; - struct mutex blkcg_mutex; - int node; - spinlock_t requeue_lock; - struct list_head requeue_list; - struct delayed_work requeue_work; - struct blk_trace *blk_trace; - struct blk_flush_queue *fq; - struct list_head flush_list; - struct mutex elevator_lock; - struct mutex sysfs_lock; - struct mutex limits_lock; - struct list_head unused_hctx_list; - spinlock_t unused_hctx_lock; - int mq_freeze_depth; - struct throtl_data *td; - struct callback_head callback_head; - wait_queue_head_t mq_freeze_wq; - struct mutex mq_freeze_lock; - struct blk_mq_tag_set *tag_set; - struct list_head tag_set_list; - struct dentry *debugfs_dir; - struct dentry *sched_debugfs_dir; - struct dentry *rqos_debugfs_dir; - struct mutex debugfs_mutex; -}; - -struct request_sense { - __u8 error_code: 7; - __u8 valid: 1; - __u8 segment_number; - __u8 sense_key: 4; - __u8 reserved2: 1; - __u8 ili: 1; - __u8 reserved1: 2; - __u8 information[4]; - __u8 add_sense_len; - __u8 command_info[4]; - __u8 asc; - __u8 ascq; - __u8 fruc; - __u8 sks[3]; - __u8 asb[46]; -}; - -struct request_sock__safe_rcu_or_null { - struct sock *sk; -}; - -struct request_sock_ops { - int family; - unsigned int obj_size; - struct kmem_cache *slab; - char *slab_name; - void (*send_ack)(const struct sock *, struct sk_buff *, struct request_sock *); - void (*send_reset)(const struct sock *, struct sk_buff *, enum sk_rst_reason); - void (*destructor)(struct request_sock *); - void (*syn_ack_timeout)(const struct request_sock *); -}; - -struct res_proc_context { - struct list_head *list; - int (*preproc)(struct acpi_resource *, void *); - void *preproc_data; - int count; - int error; -}; - -struct resctrl_cpu_defaults { - u32 closid; - u32 rmid; -}; - -struct resctrl_mon_config_info { - struct rdt_resource *r; - struct rdt_mon_domain *d; - u32 evtid; - u32 mon_config; -}; - -struct resctrl_pqr_state { - u32 cur_rmid; - u32 cur_closid; - u32 default_rmid; - u32 default_closid; -}; - -struct resctrl_schema { - struct list_head list; - char name[8]; - const char *fmt_str; - enum resctrl_conf_type conf_type; - struct rdt_resource *res; - u32 num_closid; -}; - -struct reserve_mem_table { - char name[16]; - phys_addr_t start; - phys_addr_t size; -}; - -struct reset_controller_dev; - -struct reset_control { - struct reset_controller_dev *rcdev; - struct list_head list; - unsigned int id; - struct kref refcnt; - bool acquired; - bool shared; - bool array; - atomic_t deassert_count; - atomic_t triggered_count; -}; - -struct reset_control_array { - struct reset_control base; - unsigned int num_rstcs; - struct reset_control *rstc[0]; -}; - -struct reset_control_bulk_devres { - int num_rstcs; - struct reset_control_bulk_data *rstcs; -}; - -struct reset_control_lookup { - struct list_head list; - const char *provider; - unsigned int index; - const char *dev_id; - const char *con_id; -}; - -struct reset_control_ops { - int (*reset)(struct reset_controller_dev *, long unsigned int); - int (*assert)(struct reset_controller_dev *, long unsigned int); - int (*deassert)(struct reset_controller_dev *, long unsigned int); - int (*status)(struct reset_controller_dev *, long unsigned int); -}; - -struct reset_controller_dev { - const struct reset_control_ops *ops; - struct module *owner; - struct list_head list; - struct list_head reset_control_head; - struct device *dev; - struct device_node *of_node; - const struct of_phandle_args *of_args; - int of_reset_n_cells; - int (*of_xlate)(struct reset_controller_dev *, const struct of_phandle_args *); - unsigned int nr_resets; -}; - -struct reset_gpio_lookup { - struct of_phandle_args of_args; - struct list_head list; -}; - -struct reset_simple_data { - spinlock_t lock; - void *membase; - struct reset_controller_dev rcdev; - bool active_low; - bool status_active_low; - unsigned int reset_us; -}; - -struct reset_simple_devdata { - u32 reg_offset; - u32 nr_resets; - bool active_low; - bool status_active_low; -}; - -struct residency_counts { - u64 miss_before; - u64 hits_before; - u64 miss_after; - u64 hits_after; -}; - -typedef resource_size_t (*resource_alignf)(void *, const struct resource *, resource_size_t, resource_size_t); - -struct resource_constraint { - resource_size_t min; - resource_size_t max; - resource_size_t align; - resource_alignf alignf; - void *alignf_data; -}; - -struct resource_entry { - struct list_head node; - struct resource *res; - resource_size_t offset; - struct resource __res; -}; - -struct resource_table { - u32 ver; - u32 num; - u32 reserved[2]; - u32 offset[0]; -}; - -struct resource_win { - struct resource res; - resource_size_t offset; -}; - -struct restart_block { - long unsigned int arch_data; - long int (*fn)(struct restart_block *); - union { - struct { - u32 *uaddr; - u32 val; - u32 flags; - u32 bitset; - u64 time; - u32 *uaddr2; - } futex; - struct { - clockid_t clockid; - enum timespec_type type; - union { - struct __kernel_timespec *rmtp; - struct old_timespec32 *compat_rmtp; - }; - u64 expires; - } nanosleep; - struct { - struct pollfd *ufds; - int nfds; - int has_timeout; - long unsigned int tv_sec; - long unsigned int tv_nsec; - } poll; - }; -}; - -struct restore_data_record { - long unsigned int jump_address; - long unsigned int jump_address_phys; - long unsigned int cr3; - long unsigned int magic; - long unsigned int e820_checksum; -}; - -struct resume_performance_record { - struct fpdt_record_header header; - u32 resume_count; - u64 resume_prev; - u64 resume_avg; -}; - -struct resume_swap_area { - __kernel_loff_t offset; - __u32 dev; -} __attribute__((packed)); - -struct resv_map { - struct kref refs; - spinlock_t lock; - struct list_head regions; - long int adds_in_progress; - struct list_head region_cache; - long int region_cache_count; - struct rw_semaphore rw_sema; - struct page_counter *reservation_counter; - long unsigned int pages_per_hpage; - struct cgroup_subsys_state *css; -}; - -struct rethook { - void *data; - void (*handler)(struct rethook_node *, void *, long unsigned int, struct pt_regs *); - struct objpool_head pool; - struct callback_head rcu; -}; - -struct return_consumer { - __u64 cookie; - __u64 id; -}; - -struct return_instance { - struct hprobe hprobe; - long unsigned int func; - long unsigned int stack; - long unsigned int orig_ret_vaddr; - bool chained; - int cons_cnt; - struct return_instance *next; - struct callback_head rcu; - struct return_consumer consumer; - struct return_consumer *extra_consumers; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct reuseport_array { - struct bpf_map map; - struct sock *ptrs[0]; -}; - -struct rfkill_ops; - -struct rfkill { - spinlock_t lock; - enum rfkill_type type; - long unsigned int state; - long unsigned int hard_block_reasons; - u32 idx; - bool registered; - bool persistent; - bool polling_paused; - bool suspended; - bool need_sync; - const struct rfkill_ops *ops; - void *data; - struct led_trigger led_trigger; - const char *ledtrigname; - struct device dev; - struct list_head node; - struct delayed_work poll_work; - struct work_struct uevent_work; - struct work_struct sync_work; - char name[0]; -}; - -struct rfkill_data { - struct list_head list; - struct list_head events; - struct mutex mtx; - wait_queue_head_t read_wait; - bool input_handler; -}; - -struct rfkill_event_ext { - __u32 idx; - __u8 type; - __u8 op; - __u8 soft; - __u8 hard; - __u8 hard_block_reasons; -} __attribute__((packed)); - -struct rfkill_int_event { - struct list_head list; - struct rfkill_event_ext ev; -}; - -struct rfkill_ops { - void (*poll)(struct rfkill *, void *); - void (*query)(struct rfkill *, void *); - int (*set_block)(void *, bool); -}; - -struct rftype { - char *name; - umode_t mode; - const struct kernfs_ops *kf_ops; - long unsigned int flags; - long unsigned int fflags; - int (*seq_show)(struct kernfs_open_file *, struct seq_file *, void *); - ssize_t (*write)(struct kernfs_open_file *, char *, size_t, loff_t); -}; - -struct rgb { - u8 r; - u8 g; - u8 b; -}; - -struct rhash_lock_head {}; - -struct rhashtable_compare_arg { - struct rhashtable *ht; - const void *key; -}; - -struct rid_data { - struct pci_dev *bridge; - u32 rid; -}; - -struct ring_buffer_cpu_meta { - long unsigned int first_buffer; - long unsigned int head_buffer; - long unsigned int commit_buffer; - __u32 subbuf_size; - __u32 nr_subbufs; - int buffers[0]; -}; - -struct ring_buffer_event { - u32 type_len: 5; - u32 time_delta: 27; - u32 array[0]; -}; - -struct ring_buffer_per_cpu; - -struct ring_buffer_iter { - struct ring_buffer_per_cpu *cpu_buffer; - long unsigned int head; - long unsigned int next_event; - struct buffer_page *head_page; - struct buffer_page *cache_reader_page; - long unsigned int cache_read; - long unsigned int cache_pages_removed; - u64 read_stamp; - u64 page_stamp; - struct ring_buffer_event *event; - size_t event_size; - int missed_events; -}; - -struct ring_buffer_meta { - int magic; - int struct_sizes; - long unsigned int total_size; - long unsigned int buffers_offset; -}; - -struct trace_buffer_meta; - -struct ring_buffer_per_cpu { - int cpu; - atomic_t record_disabled; - atomic_t resize_disabled; - struct trace_buffer *buffer; - raw_spinlock_t reader_lock; - arch_spinlock_t lock; - struct lock_class_key lock_key; - struct buffer_data_page *free_page; - long unsigned int nr_pages; - unsigned int current_context; - struct list_head *pages; - long unsigned int cnt; - struct buffer_page *head_page; - struct buffer_page *tail_page; - struct buffer_page *commit_page; - struct buffer_page *reader_page; - long unsigned int lost_events; - long unsigned int last_overrun; - long unsigned int nest; - local_t entries_bytes; - local_t entries; - local_t overrun; - local_t commit_overrun; - local_t dropped_events; - local_t committing; - local_t commits; - local_t pages_touched; - local_t pages_lost; - local_t pages_read; - long int last_pages_touch; - size_t shortest_full; - long unsigned int read; - long unsigned int read_bytes; - rb_time_t write_stamp; - rb_time_t before_stamp; - u64 event_stamp[5]; - u64 read_stamp; - long unsigned int pages_removed; - unsigned int mapped; - unsigned int user_mapped; - struct mutex mapping_lock; - long unsigned int *subbuf_ids; - struct trace_buffer_meta *meta_page; - struct ring_buffer_cpu_meta *ring_meta; - long int nr_pages_to_update; - struct list_head new_pages; - struct work_struct update_pages_work; - struct completion update_done; - struct rb_irq_work irq_work; -}; - -struct rings_reply_data { - struct ethnl_reply_data base; - struct ethtool_ringparam ringparam; - struct kernel_ethtool_ringparam kernel_ringparam; - u32 supported_ring_params; -}; - -struct rio_mport; - -struct rio_dbell { - struct list_head node; - struct resource *res; - void (*dinb)(struct rio_mport *, void *, u16, u16, u16); - void *dev_id; -}; - -struct rio_switch_ops; - -struct rio_dev; - -struct rio_switch { - struct list_head node; - u8 *route_table; - u32 port_ok; - struct rio_switch_ops *ops; - spinlock_t lock; - struct rio_dev *nextdev[0]; -}; - -struct rio_net; - -struct rio_driver; - -union rio_pw_msg; - -struct rio_dev { - struct list_head global_list; - struct list_head net_list; - struct rio_net *net; - bool do_enum; - u16 did; - u16 vid; - u32 device_rev; - u16 asm_did; - u16 asm_vid; - u16 asm_rev; - u16 efptr; - u32 pef; - u32 swpinfo; - u32 src_ops; - u32 dst_ops; - u32 comp_tag; - u32 phys_efptr; - u32 phys_rmap; - u32 em_efptr; - u64 dma_mask; - struct rio_driver *driver; - struct device dev; - struct resource riores[16]; - int (*pwcback)(struct rio_dev *, union rio_pw_msg *, int); - u16 destid; - u8 hopcount; - struct rio_dev *prev; - atomic_t state; - struct rio_switch rswitch[0]; -}; - -struct rio_device_id { - __u16 did; - __u16 vid; - __u16 asm_did; - __u16 asm_vid; -}; - -struct rio_disc_work { - struct work_struct work; - struct rio_mport *mport; -}; - -struct rio_dma_data { - struct scatterlist *sg; - unsigned int sg_len; - u64 rio_addr; - u8 rio_addr_u; - enum rio_write_type wr_type; -}; - -struct rio_dma_ext { - u16 destid; - u64 rio_addr; - u8 rio_addr_u; - enum rio_write_type wr_type; -}; - -struct rio_driver { - struct list_head node; - char *name; - const struct rio_device_id *id_table; - int (*probe)(struct rio_dev *, const struct rio_device_id *); - void (*remove)(struct rio_dev *); - void (*shutdown)(struct rio_dev *); - int (*suspend)(struct rio_dev *, u32); - int (*resume)(struct rio_dev *); - int (*enable_wake)(struct rio_dev *, u32, int); - struct device_driver driver; -}; - -struct rio_msg { - struct resource *res; - void (*mcback)(struct rio_mport *, void *, int, int); -}; - -struct rio_ops; - -struct rio_scan; - -struct rio_mport { - struct list_head dbells; - struct list_head pwrites; - struct list_head node; - struct list_head nnode; - struct rio_net *net; - struct mutex lock; - struct resource iores; - struct resource riores[16]; - struct rio_msg inb_msg[4]; - struct rio_msg outb_msg[4]; - int host_deviceid; - struct rio_ops *ops; - unsigned char id; - unsigned char index; - unsigned int sys_size; - u32 phys_efptr; - u32 phys_rmap; - unsigned char name[40]; - struct device dev; - void *priv; - struct dma_device dma; - struct rio_scan *nscan; - atomic_t state; - unsigned int pwe_refcnt; -}; - -struct rio_mport_attr { - int flags; - int link_speed; - int link_width; - int dma_max_sge; - int dma_max_size; - int dma_align; -}; - -struct rio_net { - struct list_head node; - struct list_head devices; - struct list_head switches; - struct list_head mports; - struct rio_mport *hport; - unsigned char id; - struct device dev; - void *enum_data; - void (*release)(struct rio_net *); -}; - -struct rio_ops { - int (*lcread)(struct rio_mport *, int, u32, int, u32 *); - int (*lcwrite)(struct rio_mport *, int, u32, int, u32); - int (*cread)(struct rio_mport *, int, u16, u8, u32, int, u32 *); - int (*cwrite)(struct rio_mport *, int, u16, u8, u32, int, u32); - int (*dsend)(struct rio_mport *, int, u16, u16); - int (*pwenable)(struct rio_mport *, int); - int (*open_outb_mbox)(struct rio_mport *, void *, int, int); - void (*close_outb_mbox)(struct rio_mport *, int); - int (*open_inb_mbox)(struct rio_mport *, void *, int, int); - void (*close_inb_mbox)(struct rio_mport *, int); - int (*add_outb_message)(struct rio_mport *, struct rio_dev *, int, void *, size_t); - int (*add_inb_buffer)(struct rio_mport *, int, void *); - void * (*get_inb_message)(struct rio_mport *, int); - int (*map_inb)(struct rio_mport *, dma_addr_t, u64, u64, u32); - void (*unmap_inb)(struct rio_mport *, dma_addr_t); - int (*query_mport)(struct rio_mport *, struct rio_mport_attr *); - int (*map_outb)(struct rio_mport *, u16, u64, u32, u32, dma_addr_t *); - void (*unmap_outb)(struct rio_mport *, u16, u64); -}; - -union rio_pw_msg { - struct { - u32 comptag; - u32 errdetect; - u32 is_port; - u32 ltlerrdet; - u32 padding[12]; - } em; - u32 raw[16]; -}; - -struct rio_pwrite { - struct list_head node; - int (*pwcback)(struct rio_mport *, void *, union rio_pw_msg *, int); - void *context; -}; - -struct rio_scan { - struct module *owner; - int (*enumerate)(struct rio_mport *, u32); - int (*discover)(struct rio_mport *, u32); -}; - -struct rio_scan_node { - int mport_id; - struct list_head node; - struct rio_scan *ops; -}; - -struct rio_switch_ops { - struct module *owner; - int (*add_entry)(struct rio_mport *, u16, u8, u16, u16, u8); - int (*get_entry)(struct rio_mport *, u16, u8, u16, u16, u8 *); - int (*clr_table)(struct rio_mport *, u16, u8, u16); - int (*set_domain)(struct rio_mport *, u16, u8, u8); - int (*get_domain)(struct rio_mport *, u16, u8, u8 *); - int (*em_init)(struct rio_dev *); - int (*em_handle)(struct rio_dev *, u8); -}; - -struct rlimit64 { - __u64 rlim_cur; - __u64 rlim_max; -}; - -struct rm_feature_desc { - __be16 feature_code; - __u8 curr: 1; - __u8 persistent: 1; - __u8 feature_version: 4; - __u8 reserved1: 2; - __u8 add_len; - __u8 lock: 1; - __u8 dbml: 1; - __u8 pvnt_jmpr: 1; - __u8 eject: 1; - __u8 load: 1; - __u8 mech_type: 3; - __u8 reserved2; - __u8 reserved3; - __u8 reserved4; -}; - -struct rmap_walk_arg { - struct folio *folio; - bool map_unused_to_zeropage; -}; - -struct rmap_walk_control { - void *arg; - bool try_lock; - bool contended; - bool (*rmap_one)(struct folio *, struct vm_area_struct *, long unsigned int, void *); - int (*done)(struct folio *); - struct anon_vma * (*anon_lock)(const struct folio *, struct rmap_walk_control *); - bool (*invalid_vma)(struct vm_area_struct *, void *); -}; - -struct rmid_entry { - u32 closid; - u32 rmid; - int busy; - struct list_head list; -}; - -struct rmid_read { - struct rdtgroup *rgrp; - struct rdt_resource *r; - struct rdt_mon_domain *d; - enum resctrl_event_id evtid; - bool first; - struct cacheinfo *ci; - int err; - u64 val; - void *arch_mon_ctx; -}; - -struct rmpentry_raw; - -struct rmp_segment_desc { - struct rmpentry_raw *rmp_entry; - u64 max_index; - u64 size; -}; - -struct rmp_state { - u64 gpa; - u8 assigned; - u8 pagesize; - u8 immutable; - u8 rsvd; - u32 asid; -}; - -struct rmpentry { - u64 gpa; - u8 assigned: 1; - u8 rsvd1: 7; - u8 pagesize: 1; - u8 hpage_region_status: 1; - u8 rsvd2: 6; - u8 immutable: 1; - u8 rsvd3: 7; - u8 rsvd4; - u32 asid; -}; - -struct rmpentry_raw { - union { - struct { - u64 assigned: 1; - u64 pagesize: 1; - u64 immutable: 1; - u64 rsvd1: 9; - u64 gpa: 39; - u64 asid: 10; - u64 vmsa: 1; - u64 validated: 1; - u64 rsvd2: 1; - }; - u64 lo; - }; - u64 hi; -}; - -struct rnd_state { - __u32 s1; - __u32 s2; - __u32 s3; - __u32 s4; -}; - -struct rng_alg { - int (*generate)(struct crypto_rng *, const u8 *, unsigned int, u8 *, unsigned int); - int (*seed)(struct crypto_rng *, const u8 *, unsigned int); - void (*set_ent)(struct crypto_rng *, const u8 *, unsigned int); - unsigned int seedsize; - struct crypto_alg base; -}; - -struct robust_list { - struct robust_list *next; -}; - -struct robust_list_head { - struct robust_list list; - long int futex_offset; - struct robust_list *list_op_pending; -}; - -struct role_allow { - u32 role; - u32 new_role; - struct role_allow *next; -}; - -struct role_datum { - u32 value; - u32 bounds; - struct ebitmap dominates; - struct ebitmap types; -}; - -struct role_trans_datum { - u32 new_role; -}; - -struct role_trans_key { - u32 role; - u32 type; - u32 tclass; -}; - -struct root_device { - struct device dev; - struct module *owner; -}; - -struct root_domain { - atomic_t refcount; - atomic_t rto_count; - struct callback_head rcu; - cpumask_var_t span; - cpumask_var_t online; - bool overloaded; - bool overutilized; - cpumask_var_t dlo_mask; - atomic_t dlo_count; - struct dl_bw dl_bw; - struct cpudl cpudl; - u64 visit_cookie; - struct irq_work rto_push_work; - raw_spinlock_t rto_lock; - int rto_loop; - int rto_cpu; - atomic_t rto_loop_next; - atomic_t rto_loop_start; - cpumask_var_t rto_mask; - struct cpupri cpupri; - struct perf_domain *pd; -}; - -struct root_entry { - u64 lo; - u64 hi; -}; - -struct rootsector { - char unused[342]; - struct partition_info icdpart[8]; - char unused2[12]; - u32 hd_siz; - struct partition_info part[4]; - u32 bsl_st; - u32 bsl_cnt; - u16 checksum; -} __attribute__((packed)); - -struct route_info { - __u8 type; - __u8 length; - __u8 prefix_len; - __u8 reserved_l: 3; - __u8 route_pref: 2; - __u8 reserved_h: 3; - __be32 lifetime; - __u8 prefix[0]; -}; - -struct rpc_cred_cache; - -struct rpc_authops; - -struct rpc_auth { - unsigned int au_cslack; - unsigned int au_rslack; - unsigned int au_verfsize; - unsigned int au_ralign; - long unsigned int au_flags; - const struct rpc_authops *au_ops; - rpc_authflavor_t au_flavor; - refcount_t au_count; - struct rpc_cred_cache *au_credcache; -}; - -struct rpc_auth_create_args { - rpc_authflavor_t pseudoflavor; - const char *target_name; -}; - -struct rpcsec_gss_info; - -struct rpc_authops { - struct module *owner; - rpc_authflavor_t au_flavor; - char *au_name; - struct rpc_auth * (*create)(const struct rpc_auth_create_args *, struct rpc_clnt *); - void (*destroy)(struct rpc_auth *); - int (*hash_cred)(struct auth_cred *, unsigned int); - struct rpc_cred * (*lookup_cred)(struct rpc_auth *, struct auth_cred *, int); - struct rpc_cred * (*crcreate)(struct rpc_auth *, struct auth_cred *, int, gfp_t); - rpc_authflavor_t (*info2flavor)(struct rpcsec_gss_info *); - int (*flavor2info)(rpc_authflavor_t, struct rpcsec_gss_info *); - int (*key_timeout)(struct rpc_auth *, struct rpc_cred *); - int (*ping)(struct rpc_clnt *); -}; - -struct rpc_call_ops { - void (*rpc_call_prepare)(struct rpc_task *, void *); - void (*rpc_call_done)(struct rpc_task *, void *); - void (*rpc_count_stats)(struct rpc_task *, void *); - void (*rpc_release)(void *); -}; - -struct rpc_iostats; - -struct rpc_pipe_dir_head { - struct list_head pdh_entries; - struct dentry *pdh_dentry; -}; - -struct rpc_rtt { - long unsigned int timeo; - long unsigned int srtt[5]; - long unsigned int sdrtt[5]; - int ntimeouts[5]; -}; - -struct rpc_timeout { - long unsigned int to_initval; - long unsigned int to_maxval; - long unsigned int to_increment; - unsigned int to_retries; - unsigned char to_exponential; -}; - -struct rpc_xprt_switch; - -struct rpc_xprt_iter_ops; - -struct rpc_xprt_iter { - struct rpc_xprt_switch *xpi_xpswitch; - struct rpc_xprt *xpi_cursor; - const struct rpc_xprt_iter_ops *xpi_ops; -}; - -struct rpc_stat; - -struct rpc_program; - -struct rpc_sysfs_client; - -struct rpc_clnt { - refcount_t cl_count; - unsigned int cl_clid; - struct list_head cl_clients; - struct list_head cl_tasks; - atomic_t cl_pid; - spinlock_t cl_lock; - struct rpc_xprt *cl_xprt; - const struct rpc_procinfo *cl_procinfo; - u32 cl_prog; - u32 cl_vers; - u32 cl_maxproc; - struct rpc_auth *cl_auth; - struct rpc_stat *cl_stats; - struct rpc_iostats *cl_metrics; - unsigned int cl_softrtry: 1; - unsigned int cl_softerr: 1; - unsigned int cl_discrtry: 1; - unsigned int cl_noretranstimeo: 1; - unsigned int cl_autobind: 1; - unsigned int cl_chatty: 1; - unsigned int cl_shutdown: 1; - unsigned int cl_netunreach_fatal: 1; - struct xprtsec_parms cl_xprtsec; - struct rpc_rtt *cl_rtt; - const struct rpc_timeout *cl_timeout; - atomic_t cl_swapper; - int cl_nodelen; - char cl_nodename[65]; - struct rpc_pipe_dir_head cl_pipedir_objects; - struct rpc_clnt *cl_parent; - struct rpc_rtt cl_rtt_default; - struct rpc_timeout cl_timeout_default; - const struct rpc_program *cl_program; - const char *cl_principal; - struct dentry *cl_debugfs; - struct rpc_sysfs_client *cl_sysfs; - union { - struct rpc_xprt_iter cl_xpi; - struct work_struct cl_work; - }; - const struct cred *cl_cred; - unsigned int cl_max_connect; - struct super_block *pipefs_sb; - atomic_t cl_task_count; -}; - -struct rpc_credops; - -struct rpc_cred { - struct hlist_node cr_hash; - struct list_head cr_lru; - struct callback_head cr_rcu; - struct rpc_auth *cr_auth; - const struct rpc_credops *cr_ops; - long unsigned int cr_expire; - long unsigned int cr_flags; - refcount_t cr_count; - const struct cred *cr_cred; -}; - -struct rpc_credops { - const char *cr_name; - int (*cr_init)(struct rpc_auth *, struct rpc_cred *); - void (*crdestroy)(struct rpc_cred *); - int (*crmatch)(struct auth_cred *, struct rpc_cred *, int); - int (*crmarshal)(struct rpc_task *, struct xdr_stream *); - int (*crrefresh)(struct rpc_task *); - int (*crvalidate)(struct rpc_task *, struct xdr_stream *); - int (*crwrap_req)(struct rpc_task *, struct xdr_stream *); - int (*crunwrap_resp)(struct rpc_task *, struct xdr_stream *); - int (*crkey_timeout)(struct rpc_cred *); - char * (*crstringify_acceptor)(struct rpc_cred *); - bool (*crneed_reencode)(struct rpc_task *); -}; - -typedef void (*kxdreproc_t)(struct rpc_rqst *, struct xdr_stream *, const void *); - -typedef int (*kxdrdproc_t)(struct rpc_rqst *, struct xdr_stream *, void *); - -struct rpc_procinfo { - u32 p_proc; - kxdreproc_t p_encode; - kxdrdproc_t p_decode; - unsigned int p_arglen; - unsigned int p_replen; - unsigned int p_timer; - u32 p_statidx; - const char *p_name; -}; - -struct rpc_version; - -struct rpc_program { - const char *name; - u32 number; - unsigned int nrvers; - const struct rpc_version **version; - struct rpc_stat *stats; - const char *pipe_dir_name; -}; - -struct xdr_buf { - struct kvec head[1]; - struct kvec tail[1]; - struct bio_vec *bvec; - struct page **pages; - unsigned int page_base; - unsigned int page_len; - unsigned int flags; - unsigned int buflen; - unsigned int len; -}; - -struct rpc_rqst { - struct rpc_xprt *rq_xprt; - struct xdr_buf rq_snd_buf; - struct xdr_buf rq_rcv_buf; - struct rpc_task *rq_task; - struct rpc_cred *rq_cred; - __be32 rq_xid; - int rq_cong; - u32 rq_seqnos[3]; - unsigned int rq_seqno_count; - int rq_enc_pages_num; - struct page **rq_enc_pages; - void (*rq_release_snd_buf)(struct rpc_rqst *); - union { - struct list_head rq_list; - struct rb_node rq_recv; - }; - struct list_head rq_xmit; - struct list_head rq_xmit2; - void *rq_buffer; - size_t rq_callsize; - void *rq_rbuffer; - size_t rq_rcvsize; - size_t rq_xmit_bytes_sent; - size_t rq_reply_bytes_recvd; - struct xdr_buf rq_private_buf; - long unsigned int rq_majortimeo; - long unsigned int rq_minortimeo; - long unsigned int rq_timeout; - ktime_t rq_rtt; - unsigned int rq_retries; - unsigned int rq_connect_cookie; - atomic_t rq_pin; - u32 rq_bytes_sent; - ktime_t rq_xtime; - int rq_ntrans; - struct lwq_node rq_bc_list; - long unsigned int rq_bc_pa_state; - struct list_head rq_bc_pa_list; -}; - -struct rpc_stat { - const struct rpc_program *program; - unsigned int netcnt; - unsigned int netudpcnt; - unsigned int nettcpcnt; - unsigned int nettcpconn; - unsigned int netreconn; - unsigned int rpccnt; - unsigned int rpcretrans; - unsigned int rpcauthrefresh; - unsigned int rpcgarbage; -}; - -struct rpc_sysfs_client { - struct kobject kobject; - struct net *net; - struct rpc_clnt *clnt; - struct rpc_xprt_switch *xprt_switch; -}; - -struct rpc_version { - u32 number; - unsigned int nrprocs; - const struct rpc_procinfo *procs; - unsigned int *counts; -}; - -struct svc_xprt; - -struct rpc_sysfs_xprt; - -struct rpc_xprt_ops; - -struct svc_serv; - -struct xprt_class; - -struct rpc_xprt { - struct kref kref; - const struct rpc_xprt_ops *ops; - unsigned int id; - const struct rpc_timeout *timeout; - struct __kernel_sockaddr_storage addr; - size_t addrlen; - int prot; - long unsigned int cong; - long unsigned int cwnd; - size_t max_payload; - struct rpc_wait_queue binding; - struct rpc_wait_queue sending; - struct rpc_wait_queue pending; - struct rpc_wait_queue backlog; - struct list_head free; - unsigned int max_reqs; - unsigned int min_reqs; - unsigned int num_reqs; - long unsigned int state; - unsigned char resvport: 1; - unsigned char reuseport: 1; - atomic_t swapper; - unsigned int bind_index; - struct list_head xprt_switch; - long unsigned int bind_timeout; - long unsigned int reestablish_timeout; - struct xprtsec_parms xprtsec; - unsigned int connect_cookie; - struct work_struct task_cleanup; - struct timer_list timer; - long unsigned int last_used; - long unsigned int idle_timeout; - long unsigned int connect_timeout; - long unsigned int max_reconnect_timeout; - atomic_long_t queuelen; - spinlock_t transport_lock; - spinlock_t reserve_lock; - spinlock_t queue_lock; - u32 xid; - struct rpc_task *snd_task; - struct list_head xmit_queue; - atomic_long_t xmit_queuelen; - struct svc_xprt *bc_xprt; - struct svc_serv *bc_serv; - unsigned int bc_alloc_max; - unsigned int bc_alloc_count; - atomic_t bc_slot_count; - spinlock_t bc_pa_lock; - struct list_head bc_pa_list; - struct rb_root recv_queue; - struct { - long unsigned int bind_count; - long unsigned int connect_count; - long unsigned int connect_start; - long unsigned int connect_time; - long unsigned int sends; - long unsigned int recvs; - long unsigned int bad_xids; - long unsigned int max_slots; - long long unsigned int req_u; - long long unsigned int bklog_u; - long long unsigned int sending_u; - long long unsigned int pending_u; - } stat; - struct net *xprt_net; - netns_tracker ns_tracker; - const char *servername; - const char *address_strings[6]; - struct dentry *debugfs; - struct callback_head rcu; - const struct xprt_class *xprt_class; - struct rpc_sysfs_xprt *xprt_sysfs; - bool main; -}; - -struct rpc_xprt_iter_ops { - void (*xpi_rewind)(struct rpc_xprt_iter *); - struct rpc_xprt * (*xpi_xprt)(struct rpc_xprt_iter *); - struct rpc_xprt * (*xpi_next)(struct rpc_xprt_iter *); -}; - -struct rpc_xprt_ops { - void (*set_buffer_size)(struct rpc_xprt *, size_t, size_t); - int (*reserve_xprt)(struct rpc_xprt *, struct rpc_task *); - void (*release_xprt)(struct rpc_xprt *, struct rpc_task *); - void (*alloc_slot)(struct rpc_xprt *, struct rpc_task *); - void (*free_slot)(struct rpc_xprt *, struct rpc_rqst *); - void (*rpcbind)(struct rpc_task *); - void (*set_port)(struct rpc_xprt *, short unsigned int); - void (*connect)(struct rpc_xprt *, struct rpc_task *); - int (*get_srcaddr)(struct rpc_xprt *, char *, size_t); - short unsigned int (*get_srcport)(struct rpc_xprt *); - int (*buf_alloc)(struct rpc_task *); - void (*buf_free)(struct rpc_task *); - int (*prepare_request)(struct rpc_rqst *, struct xdr_buf *); - int (*send_request)(struct rpc_rqst *); - void (*abort_send_request)(struct rpc_rqst *); - void (*wait_for_reply_request)(struct rpc_task *); - void (*timer)(struct rpc_xprt *, struct rpc_task *); - void (*release_request)(struct rpc_task *); - void (*close)(struct rpc_xprt *); - void (*destroy)(struct rpc_xprt *); - void (*set_connect_timeout)(struct rpc_xprt *, long unsigned int, long unsigned int); - void (*print_stats)(struct rpc_xprt *, struct seq_file *); - int (*enable_swap)(struct rpc_xprt *); - void (*disable_swap)(struct rpc_xprt *); - void (*inject_disconnect)(struct rpc_xprt *); - int (*bc_setup)(struct rpc_xprt *, unsigned int); - size_t (*bc_maxpayload)(struct rpc_xprt *); - unsigned int (*bc_num_slots)(struct rpc_xprt *); - void (*bc_free_rqst)(struct rpc_rqst *); - void (*bc_destroy)(struct rpc_xprt *, unsigned int); -}; - -struct rpc_sysfs_xprt_switch; - -struct rpc_xprt_switch { - spinlock_t xps_lock; - struct kref xps_kref; - unsigned int xps_id; - unsigned int xps_nxprts; - unsigned int xps_nactive; - unsigned int xps_nunique_destaddr_xprts; - atomic_long_t xps_queuelen; - struct list_head xps_xprt_list; - struct net *xps_net; - const struct rpc_xprt_iter_ops *xps_iter_ops; - struct rpc_sysfs_xprt_switch *xps_sysfs; - struct callback_head xps_rcu; -}; - -struct rpcsec_gss_info { - struct rpcsec_gss_oid oid; - u32 qop; - u32 service; -}; - -struct rproc_ops; - -struct rproc { - struct list_head node; - struct iommu_domain *domain; - const char *name; - const char *firmware; - void *priv; - struct rproc_ops *ops; - struct device dev; - atomic_t power; - unsigned int state; - enum rproc_dump_mechanism dump_conf; - struct mutex lock; - struct dentry *dbg_dir; - struct list_head traces; - int num_traces; - struct list_head carveouts; - struct list_head mappings; - u64 bootaddr; - struct list_head rvdevs; - struct list_head subdevs; - struct idr notifyids; - int index; - struct work_struct crash_handler; - unsigned int crash_cnt; - bool recovery_disabled; - int max_notifyid; - struct resource_table *table_ptr; - struct resource_table *clean_table; - struct resource_table *cached_table; - size_t table_sz; - bool has_iommu; - bool auto_boot; - bool sysfs_read_only; - struct list_head dump_segments; - int nb_vdev; - u8 elf_class; - u16 elf_machine; - struct cdev cdev; - bool cdev_put_on_release; - long unsigned int features[1]; -}; - -struct rproc_coredump_state { - struct rproc *rproc; - void *header; - struct completion dump_done; -}; - -struct rproc_mem_entry { - void *va; - bool is_iomem; - dma_addr_t dma; - size_t len; - u32 da; - void *priv; - char name[32]; - struct list_head node; - u32 rsc_offset; - u32 flags; - u32 of_resm_idx; - int (*alloc)(struct rproc *, struct rproc_mem_entry *); - int (*release)(struct rproc *, struct rproc_mem_entry *); -}; - -struct rproc_debug_trace { - struct rproc *rproc; - struct dentry *tfile; - struct list_head node; - struct rproc_mem_entry trace_mem; -}; - -struct rproc_dump_segment { - struct list_head node; - dma_addr_t da; - size_t size; - void *priv; - void (*dump)(struct rproc *, struct rproc_dump_segment *, void *, size_t, size_t); - loff_t offset; -}; - -struct rproc_ops { - int (*prepare)(struct rproc *); - int (*unprepare)(struct rproc *); - int (*start)(struct rproc *); - int (*stop)(struct rproc *); - int (*attach)(struct rproc *); - int (*detach)(struct rproc *); - void (*kick)(struct rproc *, int); - void * (*da_to_va)(struct rproc *, u64, size_t, bool *); - int (*parse_fw)(struct rproc *, const struct firmware *); - int (*handle_rsc)(struct rproc *, u32, void *, int, int); - struct resource_table * (*find_loaded_rsc_table)(struct rproc *, const struct firmware *); - struct resource_table * (*get_loaded_rsc_table)(struct rproc *, size_t *); - int (*load)(struct rproc *, const struct firmware *); - int (*sanity_check)(struct rproc *, const struct firmware *); - u64 (*get_boot_addr)(struct rproc *, const struct firmware *); - long unsigned int (*panic)(struct rproc *); - void (*coredump)(struct rproc *); -}; - -struct rproc_subdev { - struct list_head node; - int (*prepare)(struct rproc_subdev *); - int (*start)(struct rproc_subdev *); - void (*stop)(struct rproc_subdev *, bool); - void (*unprepare)(struct rproc_subdev *); -}; - -struct rproc_vdev; - -struct rproc_vring { - void *va; - int num; - u32 da; - u32 align; - int notifyid; - struct rproc_vdev *rvdev; - struct virtqueue *vq; -}; - -struct rproc_vdev { - struct rproc_subdev subdev; - struct platform_device *pdev; - unsigned int id; - struct list_head node; - struct rproc *rproc; - struct rproc_vring vring[2]; - u32 rsc_offset; - u32 index; -}; - -struct rproc_vdev_data { - u32 rsc_offset; - unsigned int id; - u32 index; - struct fw_rsc_vdev *rsc; -}; - -struct rps_dev_flow { - u16 cpu; - u16 filter; - unsigned int last_qtail; - u32 hash; -}; - -struct rps_dev_flow_table { - u8 log; - struct callback_head rcu; - struct rps_dev_flow flows[0]; -}; - -struct rps_map { - unsigned int len; - struct callback_head rcu; - u16 cpus[0]; -}; - -struct rps_sock_flow_table { - struct callback_head rcu; - u32 mask; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - u32 ents[0]; -}; - -struct uclamp_bucket { - long unsigned int value: 11; - long unsigned int tasks: 53; -}; - -struct uclamp_rq { - unsigned int value; - struct uclamp_bucket bucket[5]; -}; - -struct rt_prio_array { - long unsigned int bitmap[2]; - struct list_head queue[100]; -}; - -struct rt_rq { - struct rt_prio_array active; - unsigned int rt_nr_running; - unsigned int rr_nr_running; - struct { - int curr; - int next; - } highest_prio; - bool overloaded; - struct plist_head pushable_tasks; - int rt_queued; - struct task_group *tg; -}; - -struct scx_dispatch_q { - raw_spinlock_t lock; - struct list_head list; - struct rb_root priq; - u32 nr; - u32 seq; - u64 id; - struct rhash_head hash_node; - struct llist_node free_node; - struct callback_head rcu; -}; - -struct scx_rq { - struct scx_dispatch_q local_dsq; - struct list_head runnable_list; - struct list_head ddsp_deferred_locals; - long unsigned int ops_qseq; - u64 extra_enq_flags; - u32 nr_running; - u32 cpuperf_target; - bool cpu_released; - u32 flags; - u64 clock; - cpumask_var_t cpus_to_kick; - cpumask_var_t cpus_to_kick_if_idle; - cpumask_var_t cpus_to_preempt; - cpumask_var_t cpus_to_wait; - long unsigned int pnt_seq; - struct balance_callback deferred_bal_cb; - struct irq_work deferred_irq_work; - struct irq_work kick_cpus_irq_work; -}; - -struct sched_dl_entity; - -typedef struct task_struct * (*dl_server_pick_f)(struct sched_dl_entity *); - -struct sched_dl_entity { - struct rb_node rb_node; - u64 dl_runtime; - u64 dl_deadline; - u64 dl_period; - u64 dl_bw; - u64 dl_density; - s64 runtime; - u64 deadline; - unsigned int flags; - unsigned int dl_throttled: 1; - unsigned int dl_yielded: 1; - unsigned int dl_non_contending: 1; - unsigned int dl_overrun: 1; - unsigned int dl_server: 1; - unsigned int dl_server_active: 1; - unsigned int dl_defer: 1; - unsigned int dl_defer_armed: 1; - unsigned int dl_defer_running: 1; - struct hrtimer dl_timer; - struct hrtimer inactive_timer; - struct rq *rq; - dl_server_pick_f server_pick_task; - struct sched_dl_entity *pi_se; -}; - -struct sched_info { - long unsigned int pcount; - long long unsigned int run_delay; - long long unsigned int max_run_delay; - long long unsigned int min_run_delay; - long long unsigned int last_arrival; - long long unsigned int last_queued; -}; - -struct rq { - raw_spinlock_t __lock; - unsigned int nr_running; - unsigned int nr_numa_running; - unsigned int nr_preferred_running; - unsigned int numa_migrate_on; - long unsigned int last_blocked_load_update_tick; - unsigned int has_blocked_load; - long: 64; - long: 64; - long: 64; - call_single_data_t nohz_csd; - unsigned int nohz_tick_stopped; - atomic_t nohz_flags; - unsigned int ttwu_pending; - u64 nr_switches; - long: 64; - struct uclamp_rq uclamp[2]; - unsigned int uclamp_flags; - long: 64; - long: 64; - long: 64; - struct cfs_rq cfs; - struct rt_rq rt; - struct dl_rq dl; - struct scx_rq scx; - struct sched_dl_entity fair_server; - struct list_head leaf_cfs_rq_list; - struct list_head *tmp_alone_branch; - long unsigned int nr_uninterruptible; - union { - struct task_struct *donor; - struct task_struct *curr; - }; - struct sched_dl_entity *dl_server; - struct task_struct *idle; - struct task_struct *stop; - long unsigned int next_balance; - struct mm_struct *prev_mm; - unsigned int clock_update_flags; - u64 clock; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - u64 clock_task; - u64 clock_pelt; - long unsigned int lost_idle_time; - u64 clock_pelt_idle; - u64 clock_idle; - atomic_t nr_iowait; - u64 last_seen_need_resched_ns; - int ticks_without_resched; - int membarrier_state; - struct root_domain *rd; - struct sched_domain *sd; - long unsigned int cpu_capacity; - struct balance_callback *balance_callback; - unsigned char nohz_idle_balance; - unsigned char idle_balance; - long unsigned int misfit_task_load; - int active_balance; - int push_cpu; - struct cpu_stop_work active_balance_work; - int cpu; - int online; - struct list_head cfs_tasks; - struct sched_avg avg_rt; - struct sched_avg avg_dl; - u64 idle_stamp; - u64 avg_idle; - u64 max_idle_balance_cost; - struct rcuwait hotplug_wait; - u64 prev_steal_time; - long unsigned int calc_load_update; - long int calc_load_active; - long: 64; - call_single_data_t hrtick_csd; - struct hrtimer hrtick_timer; - ktime_t hrtick_time; - struct sched_info rq_sched_info; - long long unsigned int rq_cpu_time; - unsigned int yld_count; - unsigned int sched_count; - unsigned int sched_goidle; - unsigned int ttwu_count; - unsigned int ttwu_local; - struct cpuidle_state *idle_state; - unsigned int nr_pinned; - unsigned int push_busy; - struct cpu_stop_work push_work; - struct rq *core; - struct task_struct *core_pick; - struct sched_dl_entity *core_dl_server; - unsigned int core_enabled; - unsigned int core_sched_seq; - struct rb_root core_tree; - unsigned int core_task_seq; - unsigned int core_pick_seq; - long unsigned int core_cookie; - unsigned int core_forceidle_count; - unsigned int core_forceidle_seq; - unsigned int core_forceidle_occupation; - u64 core_forceidle_start; - cpumask_var_t scratch_mask; - long: 64; - long: 64; - call_single_data_t cfsb_csd; - struct list_head cfsb_csd_list; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct rq_depth { - unsigned int max_depth; - int scale_step; - bool scaled_max; - unsigned int queue_depth; - unsigned int default_depth; -}; - -struct rq_iter_data { - struct blk_mq_hw_ctx *hctx; - bool has_rq; -}; - -struct rq_map_data { - struct page **pages; - long unsigned int offset; - short unsigned int page_order; - short unsigned int nr_entries; - bool null_mapped; - bool from_user; -}; - -struct rq_qos_ops { - void (*throttle)(struct rq_qos *, struct bio *); - void (*track)(struct rq_qos *, struct request *, struct bio *); - void (*merge)(struct rq_qos *, struct request *, struct bio *); - void (*issue)(struct rq_qos *, struct request *); - void (*requeue)(struct rq_qos *, struct request *); - void (*done)(struct rq_qos *, struct request *); - void (*done_bio)(struct rq_qos *, struct bio *); - void (*cleanup)(struct rq_qos *, struct bio *); - void (*queue_depth_changed)(struct rq_qos *); - void (*exit)(struct rq_qos *); - const struct blk_mq_debugfs_attr *debugfs_attrs; -}; - -struct rq_wait; - -typedef bool acquire_inflight_cb_t(struct rq_wait *, void *); - -struct rq_qos_wait_data { - struct wait_queue_entry wq; - struct rq_wait *rqw; - acquire_inflight_cb_t *cb; - void *private_data; - bool got_token; -}; - -struct rq_wait { - wait_queue_head_t wait; - atomic_t inflight; -}; - -struct rq_wb { - unsigned int wb_background; - unsigned int wb_normal; - short int enable_state; - unsigned int unknown_cnt; - u64 win_nsec; - u64 cur_win_nsec; - struct blk_stat_callback *cb; - u64 sync_issue; - void *sync_cookie; - long unsigned int last_issue; - long unsigned int last_comp; - long unsigned int min_lat_nsec; - struct rq_qos rqos; - struct rq_wait rq_wait[3]; - struct rq_depth rq_depth; -}; - -struct rqspinlock_held { - int cnt; - void *locks[31]; -}; - -struct rqspinlock_timeout { - u64 timeout_end; - u64 duration; - u64 cur; - u16 spin; -}; - -struct rs_msg { - struct icmp6hdr icmph; - __u8 opt[0]; -}; - -struct rsa_key { - const u8 *n; - const u8 *e; - const u8 *d; - const u8 *p; - const u8 *q; - const u8 *dp; - const u8 *dq; - const u8 *qinv; - size_t n_sz; - size_t e_sz; - size_t d_sz; - size_t p_sz; - size_t q_sz; - size_t dp_sz; - size_t dq_sz; - size_t qinv_sz; -}; - -struct rsa_mpi_key { - MPI n; - MPI e; - MPI d; - MPI p; - MPI q; - MPI dp; - MPI dq; - MPI qinv; -}; - -struct rsassa_pkcs1_ctx { - struct crypto_akcipher *child; - unsigned int key_size; -}; - -struct rsassa_pkcs1_inst_ctx { - struct crypto_akcipher_spawn spawn; - const struct hash_prefix *hash_prefix; -}; - -struct rseq { - __u32 cpu_id_start; - __u32 cpu_id; - __u64 rseq_cs; - __u32 flags; - __u32 node_id; - __u32 mm_cid; - char end[0]; -}; - -struct rseq_cs { - __u32 version; - __u32 flags; - __u64 start_ip; - __u64 post_commit_offset; - __u64 abort_ip; -}; - -struct rss_nl_dump_ctx { - long unsigned int ifindex; - long unsigned int ctx_idx; - unsigned int match_ifindex; - unsigned int start_ctx; -}; - -struct rss_reply_data { - struct ethnl_reply_data base; - bool has_flow_hash; - bool no_key_fields; - u32 indir_size; - u32 hkey_size; - u32 hfunc; - u32 input_xfrm; - u32 *indir_table; - u8 *hkey; - int flow_hash[28]; -}; - -struct rss_req_info { - struct ethnl_req_info base; - u32 rss_context; -}; - -struct rsvd_count { - int ndelayed; - bool first_do_lblk_found; - ext4_lblk_t first_do_lblk; - ext4_lblk_t last_do_lblk; - struct extent_status *left_es; - bool partial; - ext4_lblk_t lclu; -}; - -struct rt0_hdr { - struct ipv6_rt_hdr rt_hdr; - __u32 reserved; - struct in6_addr addr[0]; -}; - -struct rt6_exception { - struct hlist_node hlist; - struct rt6_info *rt6i; - long unsigned int stamp; - struct callback_head rcu; -}; - -struct rt6_exception_bucket { - struct hlist_head chain; - int depth; -}; - -struct rt6_mtu_change_arg { - struct net_device *dev; - unsigned int mtu; - struct fib6_info *f6i; -}; - -struct rt6_nh { - struct fib6_info *fib6_info; - struct fib6_config r_cfg; - struct list_head list; -}; - -struct rt6_rtnl_dump_arg { - struct sk_buff *skb; - struct netlink_callback *cb; - struct net *net; - struct fib_dump_filter filter; -}; - -struct rt6_statistics { - __u32 fib_nodes; - __u32 fib_route_nodes; - __u32 fib_rt_entries; - __u32 fib_rt_cache; - __u32 fib_discarded_routes; - atomic_t fib_rt_alloc; -}; - -struct rt_cache_stat { - unsigned int in_slow_tot; - unsigned int in_slow_mc; - unsigned int in_no_route; - unsigned int in_brd; - unsigned int in_martian_dst; - unsigned int in_martian_src; - unsigned int out_slow_tot; - unsigned int out_slow_mc; -}; - -struct rt_waiter_node { - struct rb_node entry; - int prio; - u64 deadline; -}; - -struct rt_mutex_waiter { - struct rt_waiter_node tree; - struct rt_waiter_node pi_tree; - struct task_struct *task; - struct rt_mutex_base *lock; - unsigned int wake_state; - struct ww_acquire_ctx *ww_ctx; -}; - -typedef struct rt_rq *rt_rq_iter_t; - -struct sigaltstack { - void *ss_sp; - int ss_flags; - __kernel_size_t ss_size; -}; - -typedef struct sigaltstack stack_t; - -struct sigcontext_64 { - __u64 r8; - __u64 r9; - __u64 r10; - __u64 r11; - __u64 r12; - __u64 r13; - __u64 r14; - __u64 r15; - __u64 di; - __u64 si; - __u64 bp; - __u64 bx; - __u64 dx; - __u64 ax; - __u64 cx; - __u64 sp; - __u64 ip; - __u64 flags; - __u16 cs; - __u16 gs; - __u16 fs; - __u16 ss; - __u64 err; - __u64 trapno; - __u64 oldmask; - __u64 cr2; - __u64 fpstate; - __u64 reserved1[8]; -}; - -struct ucontext { - long unsigned int uc_flags; - struct ucontext *uc_link; - stack_t uc_stack; - struct sigcontext_64 uc_mcontext; - sigset_t uc_sigmask; -}; - -struct rt_sigframe { - char *pretcode; - struct ucontext uc; - struct siginfo info; -}; - -struct sigcontext_32 { - __u16 gs; - __u16 __gsh; - __u16 fs; - __u16 __fsh; - __u16 es; - __u16 __esh; - __u16 ds; - __u16 __dsh; - __u32 di; - __u32 si; - __u32 bp; - __u32 sp; - __u32 bx; - __u32 dx; - __u32 cx; - __u32 ax; - __u32 trapno; - __u32 err; - __u32 ip; - __u16 cs; - __u16 __csh; - __u32 flags; - __u32 sp_at_signal; - __u16 ss; - __u16 __ssh; - __u32 fpstate; - __u32 oldmask; - __u32 cr2; -}; - -struct ucontext_ia32 { - unsigned int uc_flags; - unsigned int uc_link; - compat_stack_t uc_stack; - struct sigcontext_32 uc_mcontext; - compat_sigset_t uc_sigmask; -}; - -struct rt_sigframe_ia32 { - u32 pretcode; - int sig; - u32 pinfo; - u32 puc; - compat_siginfo_t info; - struct ucontext_ia32 uc; - char retcode[8]; -}; - -struct wake_q_node; - -struct wake_q_head { - struct wake_q_node *first; - struct wake_q_node **lastp; -}; - -struct rt_wake_q_head { - struct wake_q_head head; - struct task_struct *rtlock_task; -}; - -struct rta_cacheinfo { - __u32 rta_clntref; - __u32 rta_lastuse; - __s32 rta_expires; - __u32 rta_error; - __u32 rta_used; - __u32 rta_id; - __u32 rta_ts; - __u32 rta_tsage; -}; - -struct rta_mfc_stats { - __u64 mfcs_packets; - __u64 mfcs_bytes; - __u64 mfcs_wrong_if; -}; - -struct rtc_param; - -struct rtc_class_ops { - int (*ioctl)(struct device *, unsigned int, long unsigned int); - int (*read_time)(struct device *, struct rtc_time *); - int (*set_time)(struct device *, struct rtc_time *); - int (*read_alarm)(struct device *, struct rtc_wkalrm *); - int (*set_alarm)(struct device *, struct rtc_wkalrm *); - int (*proc)(struct device *, struct seq_file *); - int (*alarm_irq_enable)(struct device *, unsigned int); - int (*read_offset)(struct device *, long int *); - int (*set_offset)(struct device *, long int); - int (*param_get)(struct device *, struct rtc_param *); - int (*param_set)(struct device *, struct rtc_param *); -}; - -struct rtc_timer { - struct timerqueue_node node; - ktime_t period; - void (*func)(struct rtc_device *); - struct rtc_device *rtc; - int enabled; -}; - -struct rtc_device { - struct device dev; - struct module *owner; - int id; - const struct rtc_class_ops *ops; - struct mutex ops_lock; - struct cdev char_dev; - long unsigned int flags; - long unsigned int irq_data; - spinlock_t irq_lock; - wait_queue_head_t irq_queue; - struct fasync_struct *async_queue; - int irq_freq; - int max_user_freq; - struct timerqueue_head timerqueue; - struct rtc_timer aie_timer; - struct rtc_timer uie_rtctimer; - struct hrtimer pie_timer; - int pie_enabled; - struct work_struct irqwork; - long unsigned int set_offset_nsec; - long unsigned int features[1]; - time64_t range_min; - timeu64_t range_max; - timeu64_t alarm_offset_max; - time64_t start_secs; - time64_t offset_secs; - bool set_start_time; -}; - -struct rtc_param { - __u64 param; - union { - __u64 uvalue; - __s64 svalue; - __u64 ptr; - }; - __u32 index; - __u32 __pad; -}; - -struct rtentry { - long unsigned int rt_pad1; - struct sockaddr rt_dst; - struct sockaddr rt_gateway; - struct sockaddr rt_genmask; - short unsigned int rt_flags; - short int rt_pad2; - long unsigned int rt_pad3; - void *rt_pad4; - short int rt_metric; - char *rt_dev; - long unsigned int rt_mtu; - long unsigned int rt_window; - short unsigned int rt_irtt; -}; - -struct rtgenmsg { - unsigned char rtgen_family; -}; - -struct rtm_dump_res_bucket_ctx; - -struct rtm_dump_nexthop_bucket_data { - struct rtm_dump_res_bucket_ctx *ctx; - struct nh_dump_filter filter; -}; - -struct rtm_dump_nh_ctx { - u32 idx; -}; - -struct rtm_dump_res_bucket_ctx { - struct rtm_dump_nh_ctx nh; - u16 bucket_index; -}; - -struct rtmsg { - unsigned char rtm_family; - unsigned char rtm_dst_len; - unsigned char rtm_src_len; - unsigned char rtm_tos; - unsigned char rtm_table; - unsigned char rtm_protocol; - unsigned char rtm_scope; - unsigned char rtm_type; - unsigned int rtm_flags; -}; - -struct rtnexthop { - short unsigned int rtnh_len; - unsigned char rtnh_flags; - unsigned char rtnh_hops; - int rtnh_ifindex; -}; - -struct rtnl_af_ops { - struct list_head list; - struct srcu_struct srcu; - int family; - int (*fill_link_af)(struct sk_buff *, const struct net_device *, u32); - size_t (*get_link_af_size)(const struct net_device *, u32); - int (*validate_link_af)(const struct net_device *, const struct nlattr *, struct netlink_ext_ack *); - int (*set_link_af)(struct net_device *, const struct nlattr *, struct netlink_ext_ack *); - int (*fill_stats_af)(struct sk_buff *, const struct net_device *); - size_t (*get_stats_af_size)(const struct net_device *); -}; - -typedef int (*rtnl_doit_func)(struct sk_buff *, struct nlmsghdr *, struct netlink_ext_ack *); - -typedef int (*rtnl_dumpit_func)(struct sk_buff *, struct netlink_callback *); - -struct rtnl_link { - rtnl_doit_func doit; - rtnl_dumpit_func dumpit; - struct module *owner; - unsigned int flags; - struct callback_head rcu; -}; - -struct rtnl_link_ifmap { - __u64 mem_start; - __u64 mem_end; - __u64 base_addr; - __u16 irq; - __u8 dma; - __u8 port; -}; - -struct rtnl_newlink_params; - -struct rtnl_link_ops { - struct list_head list; - struct srcu_struct srcu; - const char *kind; - size_t priv_size; - struct net_device * (*alloc)(struct nlattr **, const char *, unsigned char, unsigned int, unsigned int); - void (*setup)(struct net_device *); - bool netns_refund; - const u16 peer_type; - unsigned int maxtype; - const struct nla_policy *policy; - int (*validate)(struct nlattr **, struct nlattr **, struct netlink_ext_ack *); - int (*newlink)(struct net_device *, struct rtnl_newlink_params *, struct netlink_ext_ack *); - int (*changelink)(struct net_device *, struct nlattr **, struct nlattr **, struct netlink_ext_ack *); - void (*dellink)(struct net_device *, struct list_head *); - size_t (*get_size)(const struct net_device *); - int (*fill_info)(struct sk_buff *, const struct net_device *); - size_t (*get_xstats_size)(const struct net_device *); - int (*fill_xstats)(struct sk_buff *, const struct net_device *); - unsigned int (*get_num_tx_queues)(void); - unsigned int (*get_num_rx_queues)(void); - unsigned int slave_maxtype; - const struct nla_policy *slave_policy; - int (*slave_changelink)(struct net_device *, struct net_device *, struct nlattr **, struct nlattr **, struct netlink_ext_ack *); - size_t (*get_slave_size)(const struct net_device *, const struct net_device *); - int (*fill_slave_info)(struct sk_buff *, const struct net_device *, const struct net_device *); - struct net * (*get_link_net)(const struct net_device *); - size_t (*get_linkxstats_size)(const struct net_device *, int); - int (*fill_linkxstats)(struct sk_buff *, const struct net_device *, int *, int); -}; - -struct rtnl_link_stats { - __u32 rx_packets; - __u32 tx_packets; - __u32 rx_bytes; - __u32 tx_bytes; - __u32 rx_errors; - __u32 tx_errors; - __u32 rx_dropped; - __u32 tx_dropped; - __u32 multicast; - __u32 collisions; - __u32 rx_length_errors; - __u32 rx_over_errors; - __u32 rx_crc_errors; - __u32 rx_frame_errors; - __u32 rx_fifo_errors; - __u32 rx_missed_errors; - __u32 tx_aborted_errors; - __u32 tx_carrier_errors; - __u32 tx_fifo_errors; - __u32 tx_heartbeat_errors; - __u32 tx_window_errors; - __u32 rx_compressed; - __u32 tx_compressed; - __u32 rx_nohandler; -}; - -struct rtnl_mdb_dump_ctx { - long int idx; -}; - -struct rtnl_msg_handler { - struct module *owner; - int protocol; - int msgtype; - rtnl_doit_func doit; - rtnl_dumpit_func dumpit; - int flags; -}; - -struct rtnl_net_dump_cb { - struct net *tgt_net; - struct net *ref_net; - struct sk_buff *skb; - struct net_fill_args fillargs; - int idx; - int s_idx; -}; - -struct rtnl_nets { - struct net *net[3]; - unsigned char len; -}; - -struct rtnl_newlink_params { - struct net *src_net; - struct net *link_net; - struct net *peer_net; - struct nlattr **tb; - struct nlattr **data; -}; - -struct rtnl_newlink_tbs { - struct nlattr *tb[68]; - struct nlattr *linkinfo[6]; - struct nlattr *attr[51]; - struct nlattr *slave_attr[45]; -}; - -struct rtnl_offload_xstats_request_used { - bool request; - bool used; -}; - -struct rtnl_stats_dump_filters { - u32 mask[6]; -}; - -struct rtree_node { - struct list_head list; - long unsigned int *data; -}; - -struct rtvia { - __kernel_sa_family_t rtvia_family; - __u8 rtvia_addr[0]; -}; - -struct rusage { - struct __kernel_old_timeval ru_utime; - struct __kernel_old_timeval ru_stime; - __kernel_long_t ru_maxrss; - __kernel_long_t ru_ixrss; - __kernel_long_t ru_idrss; - __kernel_long_t ru_isrss; - __kernel_long_t ru_minflt; - __kernel_long_t ru_majflt; - __kernel_long_t ru_nswap; - __kernel_long_t ru_inblock; - __kernel_long_t ru_oublock; - __kernel_long_t ru_msgsnd; - __kernel_long_t ru_msgrcv; - __kernel_long_t ru_nsignals; - __kernel_long_t ru_nvcsw; - __kernel_long_t ru_nivcsw; -}; - -struct rv_interface { - struct dentry *root_dir; - struct dentry *monitors_dir; -}; - -struct rv_reactor; - -struct rv_monitor { - const char *name; - const char *description; - bool enabled; - int (*enable)(void); - void (*disable)(void); - void (*reset)(void); - struct rv_reactor *reactor; - void (*react)(const char *, ...); - struct list_head list; - struct rv_monitor *parent; - struct dentry *root_d; -}; - -struct rv_reactor { - const char *name; - const char *description; - void (*react)(const char *, ...); - struct list_head list; -}; - -union rv_task_monitor { - struct da_monitor da_mon; - struct ltl_monitor ltl_mon; -}; - -typedef struct rw_semaphore *class_namespace_lock_t; - -typedef struct rw_semaphore *class_rwsem_read_t; - -typedef struct rw_semaphore *class_rwsem_write_t; - -struct rwrt_feature_desc { - __be16 feature_code; - __u8 curr: 1; - __u8 persistent: 1; - __u8 feature_version: 4; - __u8 reserved1: 2; - __u8 add_len; - __u32 last_lba; - __u32 block_size; - __u16 blocking; - __u8 page_present: 1; - __u8 reserved2: 7; - __u8 reserved3; -}; - -struct rwsem_waiter { - struct list_head list; - struct task_struct *task; - enum rwsem_waiter_type type; - long unsigned int timeout; - bool handoff_set; -}; - -struct rx_queue_attribute { - struct attribute attr; - ssize_t (*show)(struct netdev_rx_queue *, char *); - ssize_t (*store)(struct netdev_rx_queue *, const char *, size_t); -}; - -struct s { - __be32 conv; -}; - -struct s3_save { - u32 command; - u32 dev_nt; - u64 dcbaa_ptr; - u32 config_reg; -}; - -struct s_data { - struct sched_domain **sd; - struct root_domain *rd; -}; - -struct value_name_pair; - -struct sa_name_list { - int opcode; - const struct value_name_pair *arr; - int arr_sz; -}; - -struct samsung_sdi_battery { - char *compatible; - char *name; - struct power_supply_battery_info info; -}; - -struct saved_alias { - struct kmem_cache *s; - const char *name; - struct saved_alias *next; -}; - -struct saved_cmdlines_buffer { - unsigned int map_pid_to_cmdline[32769]; - unsigned int *map_cmdline_to_pid; - unsigned int cmdline_num; - int cmdline_idx; - char saved_cmdlines[0]; -}; - -struct saved_msr; - -struct saved_msrs { - unsigned int num; - struct saved_msr *array; -}; - -struct saved_context { - struct pt_regs regs; - u16 ds; - u16 es; - u16 fs; - u16 gs; - long unsigned int kernelmode_gs_base; - long unsigned int usermode_gs_base; - long unsigned int fs_base; - long unsigned int cr0; - long unsigned int cr2; - long unsigned int cr3; - long unsigned int cr4; - u64 misc_enable; - struct saved_msrs saved_msrs; - long unsigned int efer; - u16 gdt_pad; - struct desc_ptr gdt_desc; - u16 idt_pad; - struct desc_ptr idt; - u16 ldt; - u16 tss; - long unsigned int tr; - long unsigned int safety; - long unsigned int return_address; - bool misc_enable_saved; -} __attribute__((packed)); - -struct saved_msr { - bool valid; - struct msr_info info; -}; - -struct saved_syn { - u32 mac_hdrlen; - u32 network_hdrlen; - u32 tcp_hdrlen; - u8 data[0]; -}; - -struct sb_writers { - short unsigned int frozen; - int freeze_kcount; - int freeze_ucount; - const void *freeze_owner; - struct percpu_rw_semaphore rw_sem[3]; -}; - -struct sbitmap_word { - long unsigned int word; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long unsigned int cleared; - raw_spinlock_t swap_lock; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct sbq_wait { - struct sbitmap_queue *sbq; - struct wait_queue_entry wait; -}; - -struct sbq_wait_state { - wait_queue_head_t wait; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct scan_area { - u64 addr; - u64 size; -}; - -struct scan_control { - long unsigned int nr_to_reclaim; - nodemask_t *nodemask; - struct mem_cgroup *target_mem_cgroup; - long unsigned int anon_cost; - long unsigned int file_cost; - int *proactive_swappiness; - unsigned int may_deactivate: 2; - unsigned int force_deactivate: 1; - unsigned int skipped_deactivate: 1; - unsigned int may_writepage: 1; - unsigned int may_unmap: 1; - unsigned int may_swap: 1; - unsigned int no_cache_trim_mode: 1; - unsigned int cache_trim_mode_failed: 1; - unsigned int proactive: 1; - unsigned int memcg_low_reclaim: 1; - unsigned int memcg_low_skipped: 1; - unsigned int memcg_full_walk: 1; - unsigned int hibernation_mode: 1; - unsigned int compaction_ready: 1; - unsigned int cache_trim_mode: 1; - unsigned int file_is_tiny: 1; - unsigned int no_demotion: 1; - s8 order; - s8 priority; - s8 reclaim_idx; - gfp_t gfp_mask; - long unsigned int nr_scanned; - long unsigned int nr_reclaimed; - struct { - unsigned int dirty; - unsigned int unqueued_dirty; - unsigned int congested; - unsigned int writeback; - unsigned int immediate; - unsigned int file_taken; - unsigned int taken; - } nr; - struct reclaim_state reclaim_state; -}; - -struct sccnxp_chip { - const char *name; - unsigned int nr; - long unsigned int freq_min; - long unsigned int freq_std; - long unsigned int freq_max; - unsigned int flags; - unsigned int fifosize; - unsigned int trwd; -}; - -struct sccnxp_pdata { - const u8 reg_shift; - const u32 mctrl_cfg[2]; - const unsigned int poll_time_us; -}; - -struct uart_driver { - struct module *owner; - const char *driver_name; - const char *dev_name; - int major; - int minor; - int nr; - struct console *cons; - struct uart_state *state; - struct tty_driver *tty_driver; -}; - -struct sccnxp_port { - struct uart_driver uart; - struct uart_port port[2]; - bool opened[2]; - int irq; - u8 imr; - struct sccnxp_chip *chip; - struct console console; - spinlock_t lock; - bool poll; - struct timer_list timer; - struct sccnxp_pdata pdata; - struct regulator *regulator; -}; - -struct sch_frag_data { - long unsigned int dst; - struct qdisc_skb_cb cb; - __be16 inner_protocol; - u16 vlan_tci; - __be16 vlan_proto; - unsigned int l2_len; - u8 l2_data[18]; - int (*xmit)(struct sk_buff *); - local_lock_t bh_lock; -}; - -struct sched_attr { - __u32 size; - __u32 sched_policy; - __u64 sched_flags; - __s32 sched_nice; - __u32 sched_priority; - __u64 sched_runtime; - __u64 sched_deadline; - __u64 sched_period; - __u32 sched_util_min; - __u32 sched_util_max; -}; - -struct sched_class { - int uclamp_enabled; - void (*enqueue_task)(struct rq *, struct task_struct *, int); - bool (*dequeue_task)(struct rq *, struct task_struct *, int); - void (*yield_task)(struct rq *); - bool (*yield_to_task)(struct rq *, struct task_struct *); - void (*wakeup_preempt)(struct rq *, struct task_struct *, int); - int (*balance)(struct rq *, struct task_struct *, struct rq_flags *); - struct task_struct * (*pick_task)(struct rq *); - struct task_struct * (*pick_next_task)(struct rq *, struct task_struct *); - void (*put_prev_task)(struct rq *, struct task_struct *, struct task_struct *); - void (*set_next_task)(struct rq *, struct task_struct *, bool); - int (*select_task_rq)(struct task_struct *, int, int); - void (*migrate_task_rq)(struct task_struct *, int); - void (*task_woken)(struct rq *, struct task_struct *); - void (*set_cpus_allowed)(struct task_struct *, struct affinity_context *); - void (*rq_online)(struct rq *); - void (*rq_offline)(struct rq *); - struct rq * (*find_lock_rq)(struct task_struct *, struct rq *); - void (*task_tick)(struct rq *, struct task_struct *, int); - void (*task_fork)(struct task_struct *); - void (*task_dead)(struct task_struct *); - void (*switching_to)(struct rq *, struct task_struct *); - void (*switched_from)(struct rq *, struct task_struct *); - void (*switched_to)(struct rq *, struct task_struct *); - void (*reweight_task)(struct rq *, struct task_struct *, const struct load_weight *); - void (*prio_changed)(struct rq *, struct task_struct *, int); - unsigned int (*get_rr_interval)(struct rq *, struct task_struct *); - void (*update_curr)(struct rq *); - void (*task_change_group)(struct task_struct *); - int (*task_is_throttled)(struct task_struct *, int); -}; - -struct sched_clock_data { - u64 tick_raw; - u64 tick_gtod; - u64 clock; -}; - -struct sched_core_cookie { - refcount_t refcnt; -}; - -struct sched_group; - -struct sched_domain_shared; - -struct sched_domain { - struct sched_domain *parent; - struct sched_domain *child; - struct sched_group *groups; - long unsigned int min_interval; - long unsigned int max_interval; - unsigned int busy_factor; - unsigned int imbalance_pct; - unsigned int cache_nice_tries; - unsigned int imb_numa_nr; - int nohz_idle; - int flags; - int level; - long unsigned int last_balance; - unsigned int balance_interval; - unsigned int nr_balance_failed; - unsigned int newidle_call; - unsigned int newidle_success; - unsigned int newidle_ratio; - u64 max_newidle_lb_cost; - long unsigned int last_decay_max_lb_cost; - unsigned int lb_count[3]; - unsigned int lb_failed[3]; - unsigned int lb_balanced[3]; - unsigned int lb_imbalance_load[3]; - unsigned int lb_imbalance_util[3]; - unsigned int lb_imbalance_task[3]; - unsigned int lb_imbalance_misfit[3]; - unsigned int lb_gained[3]; - unsigned int lb_hot_gained[3]; - unsigned int lb_nobusyg[3]; - unsigned int lb_nobusyq[3]; - unsigned int alb_count; - unsigned int alb_failed; - unsigned int alb_pushed; - unsigned int sbe_count; - unsigned int sbe_balanced; - unsigned int sbe_pushed; - unsigned int sbf_count; - unsigned int sbf_balanced; - unsigned int sbf_pushed; - unsigned int ttwu_wake_remote; - unsigned int ttwu_move_affine; - unsigned int ttwu_move_balance; - char *name; - union { - void *private; - struct callback_head rcu; - }; - struct sched_domain_shared *shared; - unsigned int span_weight; - long unsigned int span[0]; -}; - -struct sched_domain_attr { - int relax_domain_level; -}; - -struct sched_domain_shared { - atomic_t ref; - atomic_t nr_busy_cpus; - int has_idle_cores; - int nr_idle_scan; -}; - -struct sched_domain_topology_level; - -typedef const struct cpumask * (*sched_domain_mask_f)(struct sched_domain_topology_level *, int); - -typedef int (*sched_domain_flags_f)(void); - -struct sched_group_capacity; - -struct sd_data { - struct sched_domain **sd; - struct sched_domain_shared **sds; - struct sched_group **sg; - struct sched_group_capacity **sgc; -}; - -struct sched_domain_topology_level { - sched_domain_mask_f mask; - sched_domain_flags_f sd_flags; - int numa_level; - struct sd_data data; - char *name; -}; - -struct sched_enq_and_set_ctx { - struct task_struct *p; - int queue_flags; - bool queued; - bool running; -}; - -struct sched_entity { - struct load_weight load; - struct rb_node run_node; - u64 deadline; - u64 min_vruntime; - u64 min_slice; - struct list_head group_node; - unsigned char on_rq; - unsigned char sched_delayed; - unsigned char rel_deadline; - unsigned char custom_slice; - u64 exec_start; - u64 sum_exec_runtime; - u64 prev_sum_exec_runtime; - u64 vruntime; - union { - s64 vlag; - u64 vprot; - }; - u64 slice; - u64 nr_migrations; - int depth; - struct sched_entity *parent; - struct cfs_rq *cfs_rq; - struct cfs_rq *my_q; - long unsigned int runnable_weight; - long: 64; - struct sched_avg avg; -}; - -struct sched_statistics { - u64 wait_start; - u64 wait_max; - u64 wait_count; - u64 wait_sum; - u64 iowait_count; - u64 iowait_sum; - u64 sleep_start; - u64 sleep_max; - s64 sum_sleep_runtime; - u64 block_start; - u64 block_max; - s64 sum_block_runtime; - s64 exec_max; - u64 slice_max; - u64 nr_migrations_cold; - u64 nr_failed_migrations_affine; - u64 nr_failed_migrations_running; - u64 nr_failed_migrations_hot; - u64 nr_forced_migrations; - u64 nr_wakeups; - u64 nr_wakeups_sync; - u64 nr_wakeups_migrate; - u64 nr_wakeups_local; - u64 nr_wakeups_remote; - u64 nr_wakeups_affine; - u64 nr_wakeups_affine_attempts; - u64 nr_wakeups_passive; - u64 nr_wakeups_idle; - u64 core_forceidle_sum; - long: 64; - long: 64; - long: 64; -}; - -struct sched_entity_stats { - struct sched_entity se; - struct sched_statistics stats; -}; - -struct sched_ext_entity { - struct scx_dispatch_q *dsq; - struct scx_dsq_list_node dsq_list; - struct rb_node dsq_priq; - u32 dsq_seq; - u32 dsq_flags; - u32 flags; - u32 weight; - s32 sticky_cpu; - s32 holding_cpu; - s32 selected_cpu; - u32 kf_mask; - struct task_struct *kf_tasks[2]; - atomic_long_t ops_state; - struct list_head runnable_node; - long unsigned int runnable_at; - u64 core_sched_at; - u64 ddsp_dsq_id; - u64 ddsp_enq_flags; - u64 slice; - u64 dsq_vtime; - bool disallow; - struct cgroup *cgrp_moving_from; - struct list_head tasks_node; -}; - -struct sched_group { - struct sched_group *next; - atomic_t ref; - unsigned int group_weight; - unsigned int cores; - struct sched_group_capacity *sgc; - int asym_prefer_cpu; - int flags; - long unsigned int cpumask[0]; -}; - -struct sched_group_capacity { - atomic_t ref; - long unsigned int capacity; - long unsigned int min_capacity; - long unsigned int max_capacity; - long unsigned int next_update; - int imbalance; - int id; - long unsigned int cpumask[0]; -}; - -struct sched_param { - int sched_priority; -}; - -struct sched_pin_override { - int32_t pcpu; -}; - -struct sched_poll { - __guest_handle_evtchn_port_t ports; - unsigned int nr_ports; - uint64_t timeout; -}; - -struct sched_rt_entity { - struct list_head run_list; - long unsigned int timeout; - long unsigned int watchdog_stamp; - unsigned int time_slice; - short unsigned int on_rq; - short unsigned int on_list; - struct sched_rt_entity *back; -}; - -struct sched_shutdown { - unsigned int reason; -}; - -struct scm_fp_list; - -struct scm_cookie { - struct pid *pid; - struct scm_fp_list *fp; - struct scm_creds creds; - u32 secid; -}; - -struct unix_edge; - -struct scm_fp_list { - short int count; - short int count_unix; - short int max; - bool inflight; - bool dead; - struct list_head vertices; - struct unix_edge *edges; - struct user_struct *user; - struct file *fp[253]; -}; - -struct scm_stat { - atomic_t nr_fds; - long unsigned int nr_unix_fds; -}; - -struct scm_timestamping { - struct __kernel_old_timespec ts[3]; -}; - -struct scm_timestamping64 { - struct __kernel_timespec ts[3]; -}; - -struct scm_timestamping_internal { - struct timespec64 ts[3]; -}; - -struct scm_ts_pktinfo { - __u32 if_index; - __u32 pkt_length; - __u32 reserved[2]; -}; - -struct scomp_alg { - int (*compress)(struct crypto_scomp *, const u8 *, unsigned int, u8 *, unsigned int *, void *); - int (*decompress)(struct crypto_scomp *, const u8 *, unsigned int, u8 *, unsigned int *, void *); - struct crypto_acomp_streams streams; - union { - struct { - struct crypto_alg base; - }; - struct comp_alg_common calg; - }; -}; - -struct scomp_scratch { - spinlock_t lock; - union { - void *src; - long unsigned int saddr; - }; -}; - -struct scratches_to_free { - struct callback_head rcu; - unsigned int cnt; - void *scratches[0]; -}; - -struct scsi_cd { - unsigned int capacity; - struct scsi_device *device; - unsigned int vendor; - long unsigned int ms_offset; - unsigned int writeable: 1; - unsigned int use: 1; - unsigned int xa_flag: 1; - unsigned int readcd_known: 1; - unsigned int readcd_cdda: 1; - unsigned int media_present: 1; - int tur_mismatch; - bool tur_changed: 1; - bool get_event_changed: 1; - bool ignore_get_event: 1; - struct cdrom_device_info cdi; - struct mutex lock; - struct gendisk *disk; -}; - -typedef struct scsi_cd Scsi_CD; - -struct scsi_data_buffer { - struct sg_table table; - unsigned int length; -}; - -struct scsi_cmnd { - struct scsi_device *device; - struct list_head eh_entry; - struct delayed_work abort_work; - struct callback_head rcu; - int eh_eflags; - int budget_token; - long unsigned int jiffies_at_alloc; - int retries; - int allowed; - unsigned char prot_op; - unsigned char prot_type; - unsigned char prot_flags; - enum scsi_cmnd_submitter submitter; - short unsigned int cmd_len; - enum dma_data_direction sc_data_direction; - unsigned char cmnd[32]; - struct scsi_data_buffer sdb; - struct scsi_data_buffer *prot_sdb; - unsigned int underflow; - unsigned int transfersize; - unsigned int resid_len; - unsigned int sense_len; - unsigned char *sense_buffer; - int flags; - long unsigned int state; - unsigned int extra_len; - unsigned char *host_scribble; - int result; -}; - -struct scsi_dev_info_list { - struct list_head dev_info_list; - char vendor[8]; - char model[16]; - blist_flags_t flags; - unsigned int compatible; -}; - -struct scsi_dev_info_list_table { - struct list_head node; - struct list_head scsi_dev_info_list; - const char *name; - int key; -}; - -struct scsi_vpd; - -struct scsi_target; - -struct scsi_device_handler; - -struct scsi_device { - struct Scsi_Host *host; - struct request_queue *request_queue; - struct list_head siblings; - struct list_head same_target_siblings; - struct sbitmap budget_map; - atomic_t device_blocked; - atomic_t restarts; - spinlock_t list_lock; - struct list_head starved_entry; - short unsigned int queue_depth; - short unsigned int max_queue_depth; - short unsigned int last_queue_full_depth; - short unsigned int last_queue_full_count; - long unsigned int last_queue_full_time; - long unsigned int queue_ramp_up_period; - long unsigned int last_queue_ramp_up; - unsigned int id; - unsigned int channel; - u64 lun; - unsigned int manufacturer; - unsigned int sector_size; - void *hostdata; - unsigned char type; - char scsi_level; - char inq_periph_qual; - struct mutex inquiry_mutex; - unsigned char inquiry_len; - unsigned char *inquiry; - const char *vendor; - const char *model; - const char *rev; - struct scsi_vpd *vpd_pg0; - struct scsi_vpd *vpd_pg83; - struct scsi_vpd *vpd_pg80; - struct scsi_vpd *vpd_pg89; - struct scsi_vpd *vpd_pgb0; - struct scsi_vpd *vpd_pgb1; - struct scsi_vpd *vpd_pgb2; - struct scsi_vpd *vpd_pgb7; - struct scsi_target *sdev_target; - blist_flags_t sdev_bflags; - unsigned int eh_timeout; - unsigned int manage_system_start_stop: 1; - unsigned int manage_runtime_start_stop: 1; - unsigned int manage_shutdown: 1; - unsigned int force_runtime_start_on_system_start: 1; - unsigned int is_ata: 1; - unsigned int removable: 1; - unsigned int changed: 1; - unsigned int busy: 1; - unsigned int lockable: 1; - unsigned int locked: 1; - unsigned int borken: 1; - unsigned int disconnect: 1; - unsigned int soft_reset: 1; - unsigned int sdtr: 1; - unsigned int wdtr: 1; - unsigned int ppr: 1; - unsigned int tagged_supported: 1; - unsigned int simple_tags: 1; - unsigned int was_reset: 1; - unsigned int expecting_cc_ua: 1; - unsigned int use_10_for_rw: 1; - unsigned int use_10_for_ms: 1; - unsigned int set_dbd_for_ms: 1; - unsigned int read_before_ms: 1; - unsigned int no_report_opcodes: 1; - unsigned int no_write_same: 1; - unsigned int use_16_for_rw: 1; - unsigned int use_16_for_sync: 1; - unsigned int skip_ms_page_8: 1; - unsigned int skip_ms_page_3f: 1; - unsigned int skip_vpd_pages: 1; - unsigned int try_vpd_pages: 1; - unsigned int use_192_bytes_for_3f: 1; - unsigned int no_start_on_add: 1; - unsigned int allow_restart: 1; - unsigned int start_stop_pwr_cond: 1; - unsigned int no_uld_attach: 1; - unsigned int select_no_atn: 1; - unsigned int fix_capacity: 1; - unsigned int guess_capacity: 1; - unsigned int retry_hwerror: 1; - unsigned int last_sector_bug: 1; - unsigned int no_read_disc_info: 1; - unsigned int no_read_capacity_16: 1; - unsigned int try_rc_10_first: 1; - unsigned int security_supported: 1; - unsigned int is_visible: 1; - unsigned int wce_default_on: 1; - unsigned int no_dif: 1; - unsigned int broken_fua: 1; - unsigned int lun_in_cdb: 1; - unsigned int unmap_limit_for_ws: 1; - unsigned int rpm_autosuspend: 1; - unsigned int ignore_media_change: 1; - unsigned int silence_suspend: 1; - unsigned int no_vpd_size: 1; - unsigned int cdl_supported: 1; - unsigned int cdl_enable: 1; - unsigned int queue_stopped; - bool offline_already; - atomic_t ua_new_media_ctr; - atomic_t ua_por_ctr; - atomic_t disk_events_disable_depth; - long unsigned int supported_events[1]; - long unsigned int pending_events[1]; - struct list_head event_list; - struct work_struct event_work; - unsigned int max_device_blocked; - atomic_t iorequest_cnt; - atomic_t iodone_cnt; - atomic_t ioerr_cnt; - atomic_t iotmo_cnt; - struct device sdev_gendev; - struct device sdev_dev; - struct work_struct requeue_work; - struct scsi_device_handler *handler; - void *handler_data; - size_t dma_drain_len; - void *dma_drain_buf; - unsigned int sg_timeout; - unsigned int sg_reserved_size; - struct bsg_device *bsg_dev; - unsigned char access_state; - struct mutex state_mutex; - enum scsi_device_state sdev_state; - struct task_struct *quiesced_by; - long unsigned int sdev_data[0]; -}; - -typedef void (*activate_complete)(void *, int); - -struct scsi_device_handler { - struct list_head list; - struct module *module; - const char *name; - enum scsi_disposition (*check_sense)(struct scsi_device *, struct scsi_sense_hdr *); - int (*attach)(struct scsi_device *); - void (*detach)(struct scsi_device *); - int (*activate)(struct scsi_device *, activate_complete, void *); - blk_status_t (*prep_fn)(struct scsi_device *, struct request *); - int (*set_params)(struct scsi_device *, const char *); - void (*rescan)(struct scsi_device *); -}; - -struct scsi_dh_blist { - const char *vendor; - const char *model; - const char *driver; -}; - -struct zoned_disk_info { - u32 nr_zones; - u32 zone_blocks; -}; - -struct scsi_disk { - struct scsi_device *device; - struct device disk_dev; - struct gendisk *disk; - struct opal_dev *opal_dev; - struct zoned_disk_info early_zone_info; - struct zoned_disk_info zone_info; - u32 zones_optimal_open; - u32 zones_optimal_nonseq; - u32 zones_max_open; - u32 zone_starting_lba_gran; - atomic_t openers; - sector_t capacity; - int max_retries; - u32 min_xfer_blocks; - u32 max_xfer_blocks; - u32 opt_xfer_blocks; - u32 max_ws_blocks; - u32 max_unmap_blocks; - u32 unmap_granularity; - u32 unmap_alignment; - u32 max_atomic; - u32 atomic_alignment; - u32 atomic_granularity; - u32 max_atomic_with_boundary; - u32 max_atomic_boundary; - u32 index; - unsigned int physical_block_size; - unsigned int max_medium_access_timeouts; - unsigned int medium_access_timed_out; - u16 permanent_stream_count; - u8 media_present; - u8 write_prot; - u8 protection_type; - u8 provisioning_mode; - u8 zeroing_mode; - u8 nr_actuators; - bool suspended; - unsigned int ATO: 1; - unsigned int cache_override: 1; - unsigned int WCE: 1; - unsigned int RCD: 1; - unsigned int DPOFUA: 1; - unsigned int first_scan: 1; - unsigned int lbpme: 1; - unsigned int lbprz: 1; - unsigned int lbpu: 1; - unsigned int lbpws: 1; - unsigned int lbpws10: 1; - unsigned int lbpvpd: 1; - unsigned int ws10: 1; - unsigned int ws16: 1; - unsigned int rc_basis: 2; - unsigned int zoned: 2; - unsigned int urswrz: 1; - unsigned int security: 1; - unsigned int ignore_medium_access_errors: 1; - unsigned int rscs: 1; - unsigned int use_atomic_write_boundary: 1; -}; - -struct scsi_driver { - struct device_driver gendrv; - int (*resume)(struct device *); - void (*rescan)(struct device *); - blk_status_t (*init_command)(struct scsi_cmnd *); - void (*uninit_command)(struct scsi_cmnd *); - int (*done)(struct scsi_cmnd *); - int (*eh_action)(struct scsi_cmnd *, int); - void (*eh_reset)(struct scsi_cmnd *); -}; - -struct scsi_eh_save { - int result; - unsigned int resid_len; - int eh_eflags; - enum dma_data_direction data_direction; - unsigned int underflow; - unsigned char cmd_len; - unsigned char prot_op; - unsigned char cmnd[32]; - struct scsi_data_buffer sdb; - struct scatterlist sense_sgl; -}; - -struct scsi_event { - enum scsi_device_event evt_type; - struct list_head node; -}; - -struct scsi_failures; - -struct scsi_exec_args { - unsigned char *sense; - unsigned int sense_len; - struct scsi_sense_hdr *sshdr; - blk_mq_req_flags_t req_flags; - int scmd_flags; - int *resid; - struct scsi_failures *failures; -}; - -struct scsi_failure { - int result; - u8 sense; - u8 asc; - u8 ascq; - s8 allowed; - s8 retries; -}; - -struct scsi_failures { - int total_allowed; - int total_retries; - struct scsi_failure *failure_definitions; -}; - -struct scsi_host_busy_iter_data { - bool (*fn)(struct scsi_cmnd *, void *); - void *priv; -}; - -struct scsi_host_template { - unsigned int cmd_size; - int (*queuecommand)(struct Scsi_Host *, struct scsi_cmnd *); - void (*commit_rqs)(struct Scsi_Host *, u16); - struct module *module; - const char *name; - const char * (*info)(struct Scsi_Host *); - int (*ioctl)(struct scsi_device *, unsigned int, void *); - int (*compat_ioctl)(struct scsi_device *, unsigned int, void *); - int (*init_cmd_priv)(struct Scsi_Host *, struct scsi_cmnd *); - int (*exit_cmd_priv)(struct Scsi_Host *, struct scsi_cmnd *); - int (*eh_abort_handler)(struct scsi_cmnd *); - int (*eh_device_reset_handler)(struct scsi_cmnd *); - int (*eh_target_reset_handler)(struct scsi_cmnd *); - int (*eh_bus_reset_handler)(struct scsi_cmnd *); - int (*eh_host_reset_handler)(struct scsi_cmnd *); - int (*sdev_init)(struct scsi_device *); - int (*sdev_configure)(struct scsi_device *, struct queue_limits *); - void (*sdev_destroy)(struct scsi_device *); - int (*target_alloc)(struct scsi_target *); - void (*target_destroy)(struct scsi_target *); - int (*scan_finished)(struct Scsi_Host *, long unsigned int); - void (*scan_start)(struct Scsi_Host *); - int (*change_queue_depth)(struct scsi_device *, int); - void (*map_queues)(struct Scsi_Host *); - int (*mq_poll)(struct Scsi_Host *, unsigned int); - bool (*dma_need_drain)(struct request *); - int (*bios_param)(struct scsi_device *, struct block_device *, sector_t, int *); - void (*unlock_native_capacity)(struct scsi_device *); - int (*show_info)(struct seq_file *, struct Scsi_Host *); - int (*write_info)(struct Scsi_Host *, char *, int); - enum scsi_timeout_action (*eh_timed_out)(struct scsi_cmnd *); - bool (*eh_should_retry_cmd)(struct scsi_cmnd *); - int (*host_reset)(struct Scsi_Host *, int); - const char *proc_name; - int can_queue; - int this_id; - short unsigned int sg_tablesize; - short unsigned int sg_prot_tablesize; - unsigned int max_sectors; - unsigned int max_segment_size; - unsigned int dma_alignment; - long unsigned int dma_boundary; - long unsigned int virt_boundary_mask; - short int cmd_per_lun; - bool tag_alloc_policy_rr: 1; - unsigned int track_queue_depth: 1; - unsigned int supported_mode: 2; - unsigned int emulated: 1; - unsigned int skip_settle_delay: 1; - unsigned int no_write_same: 1; - unsigned int host_tagset: 1; - unsigned int queuecommand_may_block: 1; - unsigned int max_host_blocked; - const struct attribute_group **shost_groups; - const struct attribute_group **sdev_groups; - u64 vendor_id; -}; - -struct scsi_idlun { - __u32 dev_id; - __u32 host_unique_id; -}; - -struct scsi_io_group_descriptor { - u8 ic_enable: 1; - u8 cs_enble: 1; - u8 st_enble: 1; - u8 reserved1: 3; - u8 io_advice_hints_mode: 2; - u8 reserved2[3]; - u8 lbm_descriptor_type: 4; - u8 rlbsr: 2; - u8 reserved3: 1; - u8 acdlu: 1; - u8 params[2]; - u8 reserved4; - u8 reserved5[8]; -}; - -struct scsi_ioctl_command { - unsigned int inlen; - unsigned int outlen; - unsigned char data[0]; -}; - -struct scsi_lun { - __u8 scsi_lun[8]; -}; - -struct scsi_mode_data { - __u32 length; - __u16 block_descriptor_length; - __u8 medium_type; - __u8 device_specific; - __u8 header_length; - __u8 longlba: 1; -}; - -struct scsi_nl_hdr { - __u8 version; - __u8 transport; - __u16 magic; - __u16 msgtype; - __u16 msglen; -}; - -struct scsi_proc_entry { - struct list_head entry; - const struct scsi_host_template *sht; - struct proc_dir_entry *proc_dir; - unsigned int present; -}; - -struct scsi_sense_hdr { - u8 response_code; - u8 sense_key; - u8 asc; - u8 ascq; - u8 byte4; - u8 byte5; - u8 byte6; - u8 additional_length; -}; - -struct scsi_stream_status { - u8 reserved1: 7; - u8 perm: 1; - u8 reserved2; - __be16 stream_identifier; - u8 rel_lifetime: 6; - u8 reserved3: 2; - u8 reserved4[3]; -}; - -struct scsi_stream_status_header { - __be32 len; - u16 reserved; - __be16 number_of_open_streams; -}; - -struct scsi_target { - struct scsi_device *starget_sdev_user; - struct list_head siblings; - struct list_head devices; - struct device dev; - struct kref reap_ref; - unsigned int channel; - unsigned int id; - unsigned int create: 1; - unsigned int single_lun: 1; - unsigned int pdt_1f_for_no_lun: 1; - unsigned int no_report_luns: 1; - unsigned int expecting_lun_change: 1; - atomic_t target_busy; - atomic_t target_blocked; - unsigned int can_queue; - unsigned int max_target_blocked; - char scsi_level; - enum scsi_target_state state; - void *hostdata; - long unsigned int starget_data[0]; -}; - -struct scsi_varlen_cdb_hdr { - __u8 opcode; - __u8 control; - __u8 misc[5]; - __u8 additional_cdb_length; - __be16 service_action; -}; - -struct scsi_vpd { - struct callback_head rcu; - int len; - unsigned char data[0]; -}; - -struct sctp_paramhdr { - __be16 type; - __be16 length; -}; - -struct sctp_adaptation_ind_param { - struct sctp_paramhdr param_hdr; - __be32 adaptation_ind; -}; - -struct sctp_addip_param { - struct sctp_paramhdr param_hdr; - __be32 crr_id; -}; - -struct sctp_addiphdr { - __be32 serial; -}; - -struct sockaddr_inet { - short unsigned int sa_family; - char sa_data[26]; -}; - -union sctp_addr { - struct sockaddr_inet sa; - struct sockaddr_in v4; - struct sockaddr_in6 v6; -}; - -struct sctp_ipv4addr_param { - struct sctp_paramhdr param_hdr; - struct in_addr addr; -}; - -struct sctp_ipv6addr_param { - struct sctp_paramhdr param_hdr; - struct in6_addr addr; -}; - -union sctp_addr_param { - struct sctp_paramhdr p; - struct sctp_ipv4addr_param v4; - struct sctp_ipv6addr_param v6; -}; - -struct sctp_transport; - -struct sctp_sock; - -struct sctp_af { - int (*sctp_xmit)(struct sk_buff *, struct sctp_transport *); - int (*setsockopt)(struct sock *, int, int, sockptr_t, unsigned int); - int (*getsockopt)(struct sock *, int, int, char *, int *); - void (*get_dst)(struct sctp_transport *, union sctp_addr *, struct flowi *, struct sock *); - void (*get_saddr)(struct sctp_sock *, struct sctp_transport *, struct flowi *); - void (*copy_addrlist)(struct list_head *, struct net_device *); - int (*cmp_addr)(const union sctp_addr *, const union sctp_addr *); - void (*addr_copy)(union sctp_addr *, union sctp_addr *); - void (*from_skb)(union sctp_addr *, struct sk_buff *, int); - void (*from_sk)(union sctp_addr *, struct sock *); - bool (*from_addr_param)(union sctp_addr *, union sctp_addr_param *, __be16, int); - int (*to_addr_param)(const union sctp_addr *, union sctp_addr_param *); - int (*addr_valid)(union sctp_addr *, struct sctp_sock *, const struct sk_buff *); - enum sctp_scope (*scope)(union sctp_addr *); - void (*inaddr_any)(union sctp_addr *, __be16); - int (*is_any)(const union sctp_addr *); - int (*available)(union sctp_addr *, struct sctp_sock *); - int (*skb_iif)(const struct sk_buff *); - int (*skb_sdif)(const struct sk_buff *); - int (*is_ce)(const struct sk_buff *); - void (*seq_dump_addr)(struct seq_file *, union sctp_addr *); - void (*ecn_capable)(struct sock *); - __u16 net_header_len; - int sockaddr_len; - int (*ip_options_len)(struct sock *); - sa_family_t sa_family; - struct list_head list; -}; - -struct sctp_chunk; - -struct sctp_inq { - struct list_head in_chunk_list; - struct sctp_chunk *in_progress; - struct work_struct immediate; -}; - -struct sctp_bind_addr { - __u16 port; - struct list_head address_list; -}; - -struct sctp_ep_common { - enum sctp_endpoint_type type; - refcount_t refcnt; - bool dead; - struct sock *sk; - struct net *net; - struct sctp_inq inqueue; - struct sctp_bind_addr bind_addr; -}; - -struct sctp_cookie { - __u32 my_vtag; - __u32 peer_vtag; - __u32 my_ttag; - __u32 peer_ttag; - ktime_t expiration; - __u16 sinit_num_ostreams; - __u16 sinit_max_instreams; - __u32 initial_tsn; - union sctp_addr peer_addr; - __u16 my_port; - __u8 prsctp_capable; - __u8 padding; - __u32 adaptation_ind; - __u8 auth_random[36]; - __u8 auth_hmacs[10]; - __u8 auth_chunks[20]; - __u32 raw_addr_list_len; -}; - -struct sctp_tsnmap { - long unsigned int *tsn_map; - __u32 base_tsn; - __u32 cumulative_tsn_ack_point; - __u32 max_tsn_seen; - __u16 len; - __u16 pending_data; - __u16 num_dup_tsns; - __be32 dup_tsns[16]; -}; - -struct sctp_inithdr_host { - __u32 init_tag; - __u32 a_rwnd; - __u16 num_outbound_streams; - __u16 num_inbound_streams; - __u32 initial_tsn; -}; - -struct sctp_stream_out_ext; - -struct sctp_stream_out { - union { - __u32 mid; - __u16 ssn; - }; - __u32 mid_uo; - struct sctp_stream_out_ext *ext; - __u8 state; -}; - -struct sctp_stream_in { - union { - __u32 mid; - __u16 ssn; - }; - __u32 mid_uo; - __u32 fsn; - __u32 fsn_uo; - char pd_mode; - char pd_mode_uo; -}; - -struct sctp_stream_interleave; - -struct sctp_stream { - struct { - struct __genradix tree; - struct sctp_stream_out type[0]; - } out; - struct { - struct __genradix tree; - struct sctp_stream_in type[0]; - } in; - __u16 outcnt; - __u16 incnt; - struct sctp_stream_out *out_curr; - union { - struct { - struct list_head prio_list; - }; - struct { - struct list_head rr_list; - struct sctp_stream_out_ext *rr_next; - }; - struct { - struct list_head fc_list; - }; - }; - struct sctp_stream_interleave *si; -}; - -struct sctp_sched_ops; - -struct sctp_association; - -struct sctp_outq { - struct sctp_association *asoc; - struct list_head out_chunk_list; - struct sctp_sched_ops *sched; - unsigned int out_qlen; - unsigned int error; - struct list_head control_chunk_list; - struct list_head sacked; - struct list_head retransmit; - struct list_head abandoned; - __u32 outstanding_bytes; - char fast_rtx; - char cork; -}; - -struct sctp_ulpq { - char pd_mode; - struct sctp_association *asoc; - struct sk_buff_head reasm; - struct sk_buff_head reasm_uo; - struct sk_buff_head lobby; -}; - -struct sctp_priv_assoc_stats { - struct __kernel_sockaddr_storage obs_rto_ipaddr; - __u64 max_obs_rto; - __u64 isacks; - __u64 osacks; - __u64 opackets; - __u64 ipackets; - __u64 rtxchunks; - __u64 outofseqtsns; - __u64 idupchunks; - __u64 gapcnt; - __u64 ouodchunks; - __u64 iuodchunks; - __u64 oodchunks; - __u64 iodchunks; - __u64 octrlchunks; - __u64 ictrlchunks; -}; - -struct sctp_endpoint; - -struct sctp_random_param; - -struct sctp_chunks_param; - -struct sctp_hmac_algo_param; - -struct sctp_auth_bytes; - -struct sctp_shared_key; - -struct sctp_association { - struct sctp_ep_common base; - struct list_head asocs; - sctp_assoc_t assoc_id; - struct sctp_endpoint *ep; - struct sctp_cookie c; - struct { - struct list_head transport_addr_list; - __u32 rwnd; - __u16 transport_count; - __u16 port; - struct sctp_transport *primary_path; - union sctp_addr primary_addr; - struct sctp_transport *active_path; - struct sctp_transport *retran_path; - struct sctp_transport *last_sent_to; - struct sctp_transport *last_data_from; - struct sctp_tsnmap tsn_map; - __be16 addip_disabled_mask; - __u16 ecn_capable: 1; - __u16 ipv4_address: 1; - __u16 ipv6_address: 1; - __u16 asconf_capable: 1; - __u16 prsctp_capable: 1; - __u16 reconf_capable: 1; - __u16 intl_capable: 1; - __u16 auth_capable: 1; - __u16 sack_needed: 1; - __u16 sack_generation: 1; - __u16 zero_window_announced: 1; - __u32 sack_cnt; - __u32 adaptation_ind; - struct sctp_inithdr_host i; - void *cookie; - int cookie_len; - __u32 addip_serial; - struct sctp_random_param *peer_random; - struct sctp_chunks_param *peer_chunks; - struct sctp_hmac_algo_param *peer_hmacs; - } peer; - enum sctp_state state; - int overall_error_count; - ktime_t cookie_life; - long unsigned int rto_initial; - long unsigned int rto_max; - long unsigned int rto_min; - int max_burst; - int max_retrans; - __u16 pf_retrans; - __u16 ps_retrans; - __u16 max_init_attempts; - __u16 init_retries; - long unsigned int max_init_timeo; - long unsigned int hbinterval; - long unsigned int probe_interval; - __be16 encap_port; - __u16 pathmaxrxt; - __u32 flowlabel; - __u8 dscp; - __u8 pmtu_pending; - __u32 pathmtu; - __u32 param_flags; - __u32 sackfreq; - long unsigned int sackdelay; - long unsigned int timeouts[12]; - struct timer_list timers[12]; - struct sctp_transport *shutdown_last_sent_to; - struct sctp_transport *init_last_sent_to; - int shutdown_retries; - __u32 next_tsn; - __u32 ctsn_ack_point; - __u32 adv_peer_ack_point; - __u32 highest_sacked; - __u32 fast_recovery_exit; - __u8 fast_recovery; - __u16 unack_data; - __u32 rtx_data_chunks; - __u32 rwnd; - __u32 a_rwnd; - __u32 rwnd_over; - __u32 rwnd_press; - int sndbuf_used; - atomic_t rmem_alloc; - wait_queue_head_t wait; - __u32 frag_point; - __u32 user_frag; - int init_err_counter; - int init_cycle; - __u16 default_stream; - __u16 default_flags; - __u32 default_ppid; - __u32 default_context; - __u32 default_timetolive; - __u32 default_rcv_context; - struct sctp_stream stream; - struct sctp_outq outqueue; - struct sctp_ulpq ulpq; - __u32 last_ecne_tsn; - __u32 last_cwr_tsn; - int numduptsns; - struct sctp_chunk *addip_last_asconf; - struct list_head asconf_ack_list; - struct list_head addip_chunk_list; - __u32 addip_serial; - int src_out_of_asoc_ok; - union sctp_addr *asconf_addr_del_pending; - struct sctp_transport *new_transport; - struct list_head endpoint_shared_keys; - struct sctp_auth_bytes *asoc_shared_key; - struct sctp_shared_key *shkey; - __u16 default_hmac_id; - __u16 active_key_id; - __u8 need_ecne: 1; - __u8 temp: 1; - __u8 pf_expose: 2; - __u8 force_delay: 1; - __u8 strreset_enable; - __u8 strreset_outstanding; - __u32 strreset_outseq; - __u32 strreset_inseq; - __u32 strreset_result[2]; - struct sctp_chunk *strreset_chunk; - struct sctp_priv_assoc_stats stats; - int sent_cnt_removable; - __u16 subscribe; - __u64 abandoned_unsent[3]; - __u64 abandoned_sent[3]; - u32 secid; - u32 peer_secid; - struct callback_head rcu; -}; - -struct sctp_assocparams { - sctp_assoc_t sasoc_assoc_id; - __u16 sasoc_asocmaxrxt; - __u16 sasoc_number_peer_destinations; - __u32 sasoc_peer_rwnd; - __u32 sasoc_local_rwnd; - __u32 sasoc_cookie_life; -}; - -struct sctp_auth_bytes { - refcount_t refcnt; - __u32 len; - __u8 data[0]; -}; - -struct sctp_authhdr { - __be16 shkey_id; - __be16 hmac_id; -}; - -struct sctp_bind_bucket { - short unsigned int port; - signed char fastreuse; - signed char fastreuseport; - kuid_t fastuid; - struct hlist_node node; - struct hlist_head owner; - struct net *net; -}; - -struct sctp_cookie_preserve_param; - -struct sctp_hostname_param; - -struct sctp_cookie_param; - -struct sctp_supported_addrs_param; - -struct sctp_supported_ext_param; - -union sctp_params { - void *v; - struct sctp_paramhdr *p; - struct sctp_cookie_preserve_param *life; - struct sctp_hostname_param *dns; - struct sctp_cookie_param *cookie; - struct sctp_supported_addrs_param *sat; - struct sctp_ipv4addr_param *v4; - struct sctp_ipv6addr_param *v6; - union sctp_addr_param *addr; - struct sctp_adaptation_ind_param *aind; - struct sctp_supported_ext_param *ext; - struct sctp_random_param *random; - struct sctp_chunks_param *chunks; - struct sctp_hmac_algo_param *hmac_algo; - struct sctp_addip_param *addip; -}; - -struct sctp_sndrcvinfo { - __u16 sinfo_stream; - __u16 sinfo_ssn; - __u16 sinfo_flags; - __u32 sinfo_ppid; - __u32 sinfo_context; - __u32 sinfo_timetolive; - __u32 sinfo_tsn; - __u32 sinfo_cumtsn; - sctp_assoc_t sinfo_assoc_id; -}; - -struct sctp_datahdr; - -struct sctp_inithdr; - -struct sctp_sackhdr; - -struct sctp_heartbeathdr; - -struct sctp_sender_hb_info; - -struct sctp_shutdownhdr; - -struct sctp_signed_cookie; - -struct sctp_ecnehdr; - -struct sctp_cwrhdr; - -struct sctp_errhdr; - -struct sctp_fwdtsn_hdr; - -struct sctp_idatahdr; - -struct sctp_ifwdtsn_hdr; - -struct sctp_chunkhdr; - -struct sctphdr; - -struct sctp_datamsg; - -struct sctp_chunk { - struct list_head list; - refcount_t refcnt; - int sent_count; - union { - struct list_head transmitted_list; - struct list_head stream_list; - }; - struct list_head frag_list; - struct sk_buff *skb; - union { - struct sk_buff *head_skb; - struct sctp_shared_key *shkey; - }; - union sctp_params param_hdr; - union { - __u8 *v; - struct sctp_datahdr *data_hdr; - struct sctp_inithdr *init_hdr; - struct sctp_sackhdr *sack_hdr; - struct sctp_heartbeathdr *hb_hdr; - struct sctp_sender_hb_info *hbs_hdr; - struct sctp_shutdownhdr *shutdown_hdr; - struct sctp_signed_cookie *cookie_hdr; - struct sctp_ecnehdr *ecne_hdr; - struct sctp_cwrhdr *ecn_cwr_hdr; - struct sctp_errhdr *err_hdr; - struct sctp_addiphdr *addip_hdr; - struct sctp_fwdtsn_hdr *fwdtsn_hdr; - struct sctp_authhdr *auth_hdr; - struct sctp_idatahdr *idata_hdr; - struct sctp_ifwdtsn_hdr *ifwdtsn_hdr; - } subh; - __u8 *chunk_end; - struct sctp_chunkhdr *chunk_hdr; - struct sctphdr *sctp_hdr; - struct sctp_sndrcvinfo sinfo; - struct sctp_association *asoc; - struct sctp_ep_common *rcvr; - long unsigned int sent_at; - union sctp_addr source; - union sctp_addr dest; - struct sctp_datamsg *msg; - struct sctp_transport *transport; - struct sk_buff *auth_chunk; - __u16 rtt_in_progress: 1; - __u16 has_tsn: 1; - __u16 has_ssn: 1; - __u16 singleton: 1; - __u16 end_of_packet: 1; - __u16 ecn_ce_done: 1; - __u16 pdiscard: 1; - __u16 tsn_gap_acked: 1; - __u16 data_accepted: 1; - __u16 auth: 1; - __u16 has_asconf: 1; - __u16 pmtu_probe: 1; - __u16 tsn_missing_report: 2; - __u16 fast_retransmit: 2; -}; - -struct sctp_chunkhdr { - __u8 type; - __u8 flags; - __be16 length; -}; - -struct sctp_chunks_param { - struct sctp_paramhdr param_hdr; - __u8 chunks[0]; -}; - -struct sctp_cookie_param { - struct sctp_paramhdr p; - __u8 body[0]; -}; - -struct sctp_cookie_preserve_param { - struct sctp_paramhdr param_hdr; - __be32 lifespan_increment; -}; - -struct sctp_cwrhdr { - __be32 lowest_tsn; -}; - -struct sctp_datahdr { - __be32 tsn; - __be16 stream; - __be16 ssn; - __u32 ppid; -}; - -struct sctp_datamsg { - struct list_head chunks; - refcount_t refcnt; - long unsigned int expires_at; - int send_error; - u8 send_failed: 1; - u8 can_delay: 1; - u8 abandoned: 1; -}; - -struct sctp_ecnehdr { - __be32 lowest_tsn; -}; - -struct sctp_endpoint { - struct sctp_ep_common base; - struct hlist_node node; - int hashent; - struct list_head asocs; - __u8 secret_key[32]; - __u8 *digest; - __u32 sndbuf_policy; - __u32 rcvbuf_policy; - struct crypto_shash **auth_hmacs; - struct sctp_hmac_algo_param *auth_hmacs_list; - struct sctp_chunks_param *auth_chunk_list; - struct list_head endpoint_shared_keys; - __u16 active_key_id; - __u8 ecn_enable: 1; - __u8 auth_enable: 1; - __u8 intl_enable: 1; - __u8 prsctp_enable: 1; - __u8 asconf_enable: 1; - __u8 reconf_enable: 1; - __u8 strreset_enable; - struct callback_head rcu; -}; - -struct sctp_errhdr { - __be16 cause; - __be16 length; -}; - -struct sctp_fwdtsn_hdr { - __be32 new_cum_tsn; -}; - -struct sctp_heartbeathdr { - struct sctp_paramhdr info; -}; - -struct sctp_hmac_algo_param { - struct sctp_paramhdr param_hdr; - __be16 hmac_ids[0]; -}; - -struct sctp_hostname_param { - struct sctp_paramhdr param_hdr; - uint8_t hostname[0]; -}; - -struct sctp_idatahdr { - __be32 tsn; - __be16 stream; - __be16 reserved; - __be32 mid; - union { - __u32 ppid; - __be32 fsn; - }; -}; - -struct sctp_ifwdtsn_hdr { - __be32 new_cum_tsn; -}; - -struct sctp_inithdr { - __be32 init_tag; - __be32 a_rwnd; - __be16 num_outbound_streams; - __be16 num_inbound_streams; - __be32 initial_tsn; -}; - -struct sctp_initmsg { - __u16 sinit_num_ostreams; - __u16 sinit_max_instreams; - __u16 sinit_max_attempts; - __u16 sinit_max_init_timeo; -}; - -struct sctp_packet { - __u16 source_port; - __u16 destination_port; - __u32 vtag; - struct list_head chunk_list; - size_t overhead; - size_t size; - size_t max_size; - struct sctp_transport *transport; - struct sctp_chunk *auth; - u8 has_cookie_echo: 1; - u8 has_sack: 1; - u8 has_auth: 1; - u8 has_data: 1; - u8 ipfragok: 1; -}; - -struct sctp_paddrparams { - sctp_assoc_t spp_assoc_id; - struct __kernel_sockaddr_storage spp_address; - __u32 spp_hbinterval; - __u16 spp_pathmaxrxt; - __u32 spp_pathmtu; - __u32 spp_sackdelay; - __u32 spp_flags; - __u32 spp_ipv6_flowlabel; - __u8 spp_dscp; - int: 0; -} __attribute__((packed)); - -struct sctp_ulpevent; - -struct sctp_pf { - void (*event_msgname)(struct sctp_ulpevent *, char *, int *); - void (*skb_msgname)(struct sk_buff *, char *, int *); - int (*af_supported)(sa_family_t, struct sctp_sock *); - int (*cmp_addr)(const union sctp_addr *, const union sctp_addr *, struct sctp_sock *); - int (*bind_verify)(struct sctp_sock *, union sctp_addr *); - int (*send_verify)(struct sctp_sock *, union sctp_addr *); - int (*supported_addrs)(const struct sctp_sock *, __be16 *); - struct sock * (*create_accept_sk)(struct sock *, struct sctp_association *, bool); - int (*addr_to_user)(struct sctp_sock *, union sctp_addr *); - void (*to_sk_saddr)(union sctp_addr *, struct sock *); - void (*to_sk_daddr)(union sctp_addr *, struct sock *); - void (*copy_ip_options)(struct sock *, struct sock *); - struct sctp_af *af; -}; - -struct sctp_random_param { - struct sctp_paramhdr param_hdr; - __u8 random_val[0]; -}; - -struct sctp_rtoinfo { - sctp_assoc_t srto_assoc_id; - __u32 srto_initial; - __u32 srto_max; - __u32 srto_min; -}; - -struct sctp_sackhdr { - __be32 cum_tsn_ack; - __be32 a_rwnd; - __be16 num_gap_ack_blocks; - __be16 num_dup_tsns; -}; - -struct sctp_sender_hb_info { - struct sctp_paramhdr param_hdr; - union sctp_addr daddr; - long unsigned int sent_at; - __u64 hb_nonce; - __u32 probe_size; -}; - -struct sctp_shared_key { - struct list_head key_list; - struct sctp_auth_bytes *key; - refcount_t refcnt; - __u16 key_id; - __u8 deactivated; -}; - -struct sctp_shutdownhdr { - __be32 cum_tsn_ack; -}; - -struct sctp_signed_cookie { - __u8 signature[32]; - __u32 __pad; - struct sctp_cookie c; -} __attribute__((packed)); - -struct sctp_sock { - struct inet_sock inet; - enum sctp_socket_type type; - struct sctp_pf *pf; - struct crypto_shash *hmac; - char *sctp_hmac_alg; - struct sctp_endpoint *ep; - struct sctp_bind_bucket *bind_hash; - __u16 default_stream; - __u32 default_ppid; - __u16 default_flags; - __u32 default_context; - __u32 default_timetolive; - __u32 default_rcv_context; - int max_burst; - __u32 hbinterval; - __u32 probe_interval; - __be16 udp_port; - __be16 encap_port; - __u16 pathmaxrxt; - __u32 flowlabel; - __u8 dscp; - __u16 pf_retrans; - __u16 ps_retrans; - __u32 pathmtu; - __u32 sackdelay; - __u32 sackfreq; - __u32 param_flags; - __u32 default_ss; - struct sctp_rtoinfo rtoinfo; - struct sctp_paddrparams paddrparam; - struct sctp_assocparams assocparams; - __u16 subscribe; - struct sctp_initmsg initmsg; - int user_frag; - __u32 autoclose; - __u32 adaptation_ind; - __u32 pd_point; - __u16 nodelay: 1; - __u16 pf_expose: 2; - __u16 reuse: 1; - __u16 disable_fragments: 1; - __u16 v4mapped: 1; - __u16 frag_interleave: 1; - __u16 recvrcvinfo: 1; - __u16 recvnxtinfo: 1; - __u16 data_ready_signalled: 1; - atomic_t pd_mode; - struct sk_buff_head pd_lobby; - struct list_head auto_asconf_list; - int do_auto_asconf; -}; - -struct sctp_stream_interleave { - __u16 data_chunk_len; - __u16 ftsn_chunk_len; - struct sctp_chunk * (*make_datafrag)(const struct sctp_association *, const struct sctp_sndrcvinfo *, int, __u8, gfp_t); - void (*assign_number)(struct sctp_chunk *); - bool (*validate_data)(struct sctp_chunk *); - int (*ulpevent_data)(struct sctp_ulpq *, struct sctp_chunk *, gfp_t); - int (*enqueue_event)(struct sctp_ulpq *, struct sctp_ulpevent *); - void (*renege_events)(struct sctp_ulpq *, struct sctp_chunk *, gfp_t); - void (*start_pd)(struct sctp_ulpq *, gfp_t); - void (*abort_pd)(struct sctp_ulpq *, gfp_t); - void (*generate_ftsn)(struct sctp_outq *, __u32); - bool (*validate_ftsn)(struct sctp_chunk *); - void (*report_ftsn)(struct sctp_ulpq *, __u32); - void (*handle_ftsn)(struct sctp_ulpq *, struct sctp_chunk *); -}; - -struct sctp_stream_priorities; - -struct sctp_stream_out_ext { - __u64 abandoned_unsent[3]; - __u64 abandoned_sent[3]; - struct list_head outq; - union { - struct { - struct list_head prio_list; - struct sctp_stream_priorities *prio_head; - }; - struct { - struct list_head rr_list; - }; - struct { - struct list_head fc_list; - __u32 fc_length; - __u16 fc_weight; - }; - }; -}; - -struct sctp_stream_priorities { - struct list_head prio_sched; - struct list_head active; - struct sctp_stream_out_ext *next; - __u16 prio; - __u16 users; -}; - -struct sctp_supported_addrs_param { - struct sctp_paramhdr param_hdr; - __be16 types[0]; -}; - -struct sctp_supported_ext_param { - struct sctp_paramhdr param_hdr; - __u8 chunks[0]; -}; - -struct sctp_transport { - struct list_head transports; - struct rhlist_head node; - refcount_t refcnt; - __u32 dead: 1; - __u32 rto_pending: 1; - __u32 hb_sent: 1; - __u32 pmtu_pending: 1; - __u32 dst_pending_confirm: 1; - __u32 sack_generation: 1; - u32 dst_cookie; - struct flowi fl; - union sctp_addr ipaddr; - struct sctp_af *af_specific; - struct sctp_association *asoc; - long unsigned int rto; - __u32 rtt; - __u32 rttvar; - __u32 srtt; - __u32 cwnd; - __u32 ssthresh; - __u32 partial_bytes_acked; - __u32 flight_size; - __u32 burst_limited; - struct dst_entry *dst; - union sctp_addr saddr; - long unsigned int hbinterval; - long unsigned int probe_interval; - long unsigned int sackdelay; - __u32 sackfreq; - atomic_t mtu_info; - ktime_t last_time_heard; - long unsigned int last_time_sent; - long unsigned int last_time_ecne_reduced; - __be16 encap_port; - __u16 pathmaxrxt; - __u32 flowlabel; - __u8 dscp; - __u16 pf_retrans; - __u16 ps_retrans; - __u32 pathmtu; - __u32 param_flags; - int init_sent_count; - int state; - short unsigned int error_count; - struct timer_list T3_rtx_timer; - struct timer_list hb_timer; - struct timer_list proto_unreach_timer; - struct timer_list reconf_timer; - struct timer_list probe_timer; - struct list_head transmitted; - struct sctp_packet packet; - struct list_head send_ready; - struct { - __u32 next_tsn_at_change; - char changeover_active; - char cycling_changeover; - char cacc_saw_newack; - } cacc; - struct { - __u16 pmtu; - __u16 probe_size; - __u16 probe_high; - __u8 probe_count; - __u8 state; - } pl; - __u64 hb_nonce; - struct callback_head rcu; -}; - -struct sctp_ulpevent { - struct sctp_association *asoc; - struct sctp_chunk *chunk; - unsigned int rmem_len; - union { - __u32 mid; - __u16 ssn; - }; - union { - __u32 ppid; - __u32 fsn; - }; - __u32 tsn; - __u32 cumtsn; - __u16 stream; - __u16 flags; - __u16 msg_flags; -} __attribute__((packed)); - -struct sctphdr { - __be16 source; - __be16 dest; - __be32 vtag; - __le32 checksum; -}; - -struct scx_bstr_buf { - u64 data[12]; - char line[1024]; -}; - -struct scx_cgroup_init_args { - u32 weight; - u64 bw_period_us; - u64 bw_quota_us; - u64 bw_burst_us; -}; - -struct scx_cpu_acquire_args {}; - -struct scx_cpu_release_args { - enum scx_cpu_preempt_reason reason; - struct task_struct *task; -}; - -struct scx_dsp_buf_ent { - struct task_struct *task; - long unsigned int qseq; - u64 dsq_id; - u64 enq_flags; -}; - -struct scx_dsp_ctx { - struct rq *rq; - u32 cursor; - u32 nr_tasks; - struct scx_dsp_buf_ent buf[0]; -}; - -struct scx_dump_ctx { - enum scx_exit_kind kind; - s64 exit_code; - const char *reason; - u64 at_ns; - u64 at_jiffies; -}; - -struct scx_dump_data { - s32 cpu; - bool first; - s32 cursor; - struct seq_buf *s; - const char *prefix; - struct scx_bstr_buf buf; -}; - -struct scx_event_stats { - s64 SCX_EV_SELECT_CPU_FALLBACK; - s64 SCX_EV_DISPATCH_LOCAL_DSQ_OFFLINE; - s64 SCX_EV_DISPATCH_KEEP_LAST; - s64 SCX_EV_ENQ_SKIP_EXITING; - s64 SCX_EV_ENQ_SKIP_MIGRATION_DISABLED; - s64 SCX_EV_REFILL_SLICE_DFL; - s64 SCX_EV_BYPASS_DURATION; - s64 SCX_EV_BYPASS_DISPATCH; - s64 SCX_EV_BYPASS_ACTIVATE; -}; - -struct scx_exit_info { - enum scx_exit_kind kind; - s64 exit_code; - const char *reason; - long unsigned int *bt; - u32 bt_len; - char *msg; - char *dump; -}; - -struct scx_exit_task_args { - bool cancelled; -}; - -struct scx_idle_cpus { - cpumask_var_t cpu; - cpumask_var_t smt; -}; - -struct scx_init_task_args { - bool fork; - struct cgroup *cgroup; -}; - -struct scx_kick_pseqs { - struct callback_head rcu; - long unsigned int seqs[0]; -}; - -struct scx_sched_pcpu; - -struct scx_sched { - struct sched_ext_ops ops; - long unsigned int has_op[1]; - struct rhashtable dsq_hash; - struct scx_dispatch_q **global_dsqs; - struct scx_sched_pcpu *pcpu; - bool warned_zero_slice; - atomic_t exit_kind; - struct scx_exit_info *exit_info; - struct kobject kobj; - struct kthread_worker *helper; - struct irq_work error_irq_work; - struct kthread_work disable_work; - struct rcu_work rcu_work; -}; - -struct scx_sched_pcpu { - struct scx_event_stats event_stats; -}; - -struct scx_task_group { - u32 flags; - u32 weight; - u64 bw_period_us; - u64 bw_quota_us; - u64 bw_burst_us; -}; - -struct scx_task_iter { - struct sched_ext_entity cursor; - struct task_struct *locked; - struct rq *rq; - struct rq_flags rf; - u32 cnt; -}; - -struct sd_app_op_cond_busy_data { - struct mmc_host *host; - u32 ocr; - struct mmc_command *cmd; -}; - -struct sd_busy_data { - struct mmc_card *card; - u8 *reg_buf; -}; - -struct sd_flag_debug { - unsigned int meta_flags; - char *name; -}; - -struct sd_flow_limit { - struct callback_head rcu; - unsigned int count; - u8 log_buckets; - unsigned int history_head; - u16 history[128]; - u8 buckets[0]; -}; - -struct sg_lb_stats { - long unsigned int avg_load; - long unsigned int group_load; - long unsigned int group_capacity; - long unsigned int group_util; - long unsigned int group_runnable; - unsigned int sum_nr_running; - unsigned int sum_h_nr_running; - unsigned int idle_cpus; - unsigned int group_weight; - enum group_type group_type; - unsigned int group_asym_packing; - unsigned int group_smt_balance; - long unsigned int group_misfit_task_load; - unsigned int nr_numa_running; - unsigned int nr_preferred_running; -}; - -struct sd_lb_stats { - struct sched_group *busiest; - struct sched_group *local; - long unsigned int total_load; - long unsigned int total_capacity; - long unsigned int avg_load; - unsigned int prefer_sibling; - struct sg_lb_stats busiest_stat; - struct sg_lb_stats local_stat; -}; - -struct sd_uhs2_wait_active_state_data { - struct mmc_host *host; - struct mmc_command *cmd; -}; - -struct shash_desc { - struct crypto_shash *tfm; - void *__ctx[0]; -}; - -struct sdesc { - struct shash_desc shash; - char ctx[0]; -}; - -struct sdio_device_id { - __u8 class; - __u16 vendor; - __u16 device; - kernel_ulong_t driver_data; -}; - -struct sdio_driver { - char *name; - const struct sdio_device_id *id_table; - int (*probe)(struct sdio_func *, const struct sdio_device_id *); - void (*remove)(struct sdio_func *); - struct device_driver drv; -}; - -typedef void sdio_irq_handler_t(struct sdio_func *); - -struct sdio_func { - struct mmc_card *card; - struct device dev; - sdio_irq_handler_t *irq_handler; - unsigned int num; - unsigned char class; - short unsigned int vendor; - short unsigned int device; - unsigned int max_blksize; - unsigned int cur_blksize; - unsigned int enable_timeout; - unsigned int state; - u8 *tmpbuf; - u8 major_rev; - u8 minor_rev; - unsigned int num_info; - const char **info; - struct sdio_func_tuple *tuples; -}; - -struct sdio_func_tuple { - struct sdio_func_tuple *next; - unsigned char code; - unsigned char size; - unsigned char data[0]; -}; - -struct xfrm_offload { - struct { - __u32 low; - __u32 hi; - } seq; - __u32 flags; - __u32 status; - __u32 orig_mac_len; - __u8 proto; - __u8 inner_ipproto; -}; - -struct sec_path { - int len; - int olen; - int verified_cnt; - struct xfrm_state *xvec[6]; - struct xfrm_offload ovec[1]; -}; - -struct seccomp_filter; - -struct seccomp { - int mode; - atomic_t filter_count; - struct seccomp_filter *filter; -}; - -struct seccomp_data { - int nr; - __u32 arch; - __u64 instruction_pointer; - __u64 args[6]; -}; - -struct seccomp_filter { - refcount_t refs; - refcount_t users; - bool log; - bool wait_killable_recv; - struct action_cache cache; - struct seccomp_filter *prev; - struct bpf_prog *prog; - struct notification *notif; - struct mutex notify_lock; - wait_queue_head_t wqh; -}; - -struct seccomp_kaddfd { - struct file *file; - int fd; - unsigned int flags; - __u32 ioctl_flags; - union { - bool setfd; - int ret; - }; - struct completion completion; - struct list_head list; -}; - -struct seccomp_knotif { - struct task_struct *task; - u64 id; - const struct seccomp_data *data; - enum notify_state state; - int error; - long int val; - u32 flags; - struct completion ready; - struct list_head list; - struct list_head addfd; -}; - -struct seccomp_log_name { - u32 log; - const char *name; -}; - -struct seccomp_metadata { - __u64 filter_off; - __u64 flags; -}; - -struct seccomp_notif { - __u64 id; - __u32 pid; - __u32 flags; - struct seccomp_data data; -}; - -struct seccomp_notif_addfd { - __u64 id; - __u32 flags; - __u32 srcfd; - __u32 newfd; - __u32 newfd_flags; -}; - -struct seccomp_notif_resp { - __u64 id; - __s64 val; - __s32 error; - __u32 flags; -}; - -struct seccomp_notif_sizes { - __u16 seccomp_notif; - __u16 seccomp_notif_resp; - __u16 seccomp_data; -}; - -struct secrets_os_area { - u32 msg_seqno_0; - u32 msg_seqno_1; - u32 msg_seqno_2; - u32 msg_seqno_3; - u64 ap_jump_table_pa; - u8 rsvd[40]; - u8 guest_usage[32]; -}; - -struct section_header { - char name[8]; - uint32_t virtual_size; - uint32_t virtual_address; - uint32_t raw_data_size; - uint32_t data_addr; - uint32_t relocs; - uint32_t line_numbers; - uint16_t num_relocs; - uint16_t num_lin_numbers; - uint32_t flags; -}; - -struct security_class_mapping { - const char *name; - const char *perms[33]; -}; - -struct security_hook_heads { - struct hlist_head binder_set_context_mgr; - struct hlist_head binder_transaction; - struct hlist_head binder_transfer_binder; - struct hlist_head binder_transfer_file; - struct hlist_head ptrace_access_check; - struct hlist_head ptrace_traceme; - struct hlist_head capget; - struct hlist_head capset; - struct hlist_head capable; - struct hlist_head quotactl; - struct hlist_head quota_on; - struct hlist_head syslog; - struct hlist_head settime; - struct hlist_head vm_enough_memory; - struct hlist_head bprm_creds_for_exec; - struct hlist_head bprm_creds_from_file; - struct hlist_head bprm_check_security; - struct hlist_head bprm_committing_creds; - struct hlist_head bprm_committed_creds; - struct hlist_head fs_context_submount; - struct hlist_head fs_context_dup; - struct hlist_head fs_context_parse_param; - struct hlist_head sb_alloc_security; - struct hlist_head sb_delete; - struct hlist_head sb_free_security; - struct hlist_head sb_free_mnt_opts; - struct hlist_head sb_eat_lsm_opts; - struct hlist_head sb_mnt_opts_compat; - struct hlist_head sb_remount; - struct hlist_head sb_kern_mount; - struct hlist_head sb_show_options; - struct hlist_head sb_statfs; - struct hlist_head sb_mount; - struct hlist_head sb_umount; - struct hlist_head sb_pivotroot; - struct hlist_head sb_set_mnt_opts; - struct hlist_head sb_clone_mnt_opts; - struct hlist_head move_mount; - struct hlist_head dentry_init_security; - struct hlist_head dentry_create_files_as; - struct hlist_head path_unlink; - struct hlist_head path_mkdir; - struct hlist_head path_rmdir; - struct hlist_head path_mknod; - struct hlist_head path_post_mknod; - struct hlist_head path_truncate; - struct hlist_head path_symlink; - struct hlist_head path_link; - struct hlist_head path_rename; - struct hlist_head path_chmod; - struct hlist_head path_chown; - struct hlist_head path_chroot; - struct hlist_head path_notify; - struct hlist_head inode_alloc_security; - struct hlist_head inode_free_security; - struct hlist_head inode_free_security_rcu; - struct hlist_head inode_init_security; - struct hlist_head inode_init_security_anon; - struct hlist_head inode_create; - struct hlist_head inode_post_create_tmpfile; - struct hlist_head inode_link; - struct hlist_head inode_unlink; - struct hlist_head inode_symlink; - struct hlist_head inode_mkdir; - struct hlist_head inode_rmdir; - struct hlist_head inode_mknod; - struct hlist_head inode_rename; - struct hlist_head inode_readlink; - struct hlist_head inode_follow_link; - struct hlist_head inode_permission; - struct hlist_head inode_setattr; - struct hlist_head inode_post_setattr; - struct hlist_head inode_getattr; - struct hlist_head inode_xattr_skipcap; - struct hlist_head inode_setxattr; - struct hlist_head inode_post_setxattr; - struct hlist_head inode_getxattr; - struct hlist_head inode_listxattr; - struct hlist_head inode_removexattr; - struct hlist_head inode_post_removexattr; - struct hlist_head inode_file_setattr; - struct hlist_head inode_file_getattr; - struct hlist_head inode_set_acl; - struct hlist_head inode_post_set_acl; - struct hlist_head inode_get_acl; - struct hlist_head inode_remove_acl; - struct hlist_head inode_post_remove_acl; - struct hlist_head inode_need_killpriv; - struct hlist_head inode_killpriv; - struct hlist_head inode_getsecurity; - struct hlist_head inode_setsecurity; - struct hlist_head inode_listsecurity; - struct hlist_head inode_getlsmprop; - struct hlist_head inode_copy_up; - struct hlist_head inode_copy_up_xattr; - struct hlist_head inode_setintegrity; - struct hlist_head kernfs_init_security; - struct hlist_head file_permission; - struct hlist_head file_alloc_security; - struct hlist_head file_release; - struct hlist_head file_free_security; - struct hlist_head file_ioctl; - struct hlist_head file_ioctl_compat; - struct hlist_head mmap_addr; - struct hlist_head mmap_file; - struct hlist_head file_mprotect; - struct hlist_head file_lock; - struct hlist_head file_fcntl; - struct hlist_head file_set_fowner; - struct hlist_head file_send_sigiotask; - struct hlist_head file_receive; - struct hlist_head file_open; - struct hlist_head file_post_open; - struct hlist_head file_truncate; - struct hlist_head task_alloc; - struct hlist_head task_free; - struct hlist_head cred_alloc_blank; - struct hlist_head cred_free; - struct hlist_head cred_prepare; - struct hlist_head cred_transfer; - struct hlist_head cred_getsecid; - struct hlist_head cred_getlsmprop; - struct hlist_head kernel_act_as; - struct hlist_head kernel_create_files_as; - struct hlist_head kernel_module_request; - struct hlist_head kernel_load_data; - struct hlist_head kernel_post_load_data; - struct hlist_head kernel_read_file; - struct hlist_head kernel_post_read_file; - struct hlist_head task_fix_setuid; - struct hlist_head task_fix_setgid; - struct hlist_head task_fix_setgroups; - struct hlist_head task_setpgid; - struct hlist_head task_getpgid; - struct hlist_head task_getsid; - struct hlist_head current_getlsmprop_subj; - struct hlist_head task_getlsmprop_obj; - struct hlist_head task_setnice; - struct hlist_head task_setioprio; - struct hlist_head task_getioprio; - struct hlist_head task_prlimit; - struct hlist_head task_setrlimit; - struct hlist_head task_setscheduler; - struct hlist_head task_getscheduler; - struct hlist_head task_movememory; - struct hlist_head task_kill; - struct hlist_head task_prctl; - struct hlist_head task_to_inode; - struct hlist_head userns_create; - struct hlist_head ipc_permission; - struct hlist_head ipc_getlsmprop; - struct hlist_head msg_msg_alloc_security; - struct hlist_head msg_msg_free_security; - struct hlist_head msg_queue_alloc_security; - struct hlist_head msg_queue_free_security; - struct hlist_head msg_queue_associate; - struct hlist_head msg_queue_msgctl; - struct hlist_head msg_queue_msgsnd; - struct hlist_head msg_queue_msgrcv; - struct hlist_head shm_alloc_security; - struct hlist_head shm_free_security; - struct hlist_head shm_associate; - struct hlist_head shm_shmctl; - struct hlist_head shm_shmat; - struct hlist_head sem_alloc_security; - struct hlist_head sem_free_security; - struct hlist_head sem_associate; - struct hlist_head sem_semctl; - struct hlist_head sem_semop; - struct hlist_head netlink_send; - struct hlist_head d_instantiate; - struct hlist_head getselfattr; - struct hlist_head setselfattr; - struct hlist_head getprocattr; - struct hlist_head setprocattr; - struct hlist_head ismaclabel; - struct hlist_head secid_to_secctx; - struct hlist_head lsmprop_to_secctx; - struct hlist_head secctx_to_secid; - struct hlist_head release_secctx; - struct hlist_head inode_invalidate_secctx; - struct hlist_head inode_notifysecctx; - struct hlist_head inode_setsecctx; - struct hlist_head inode_getsecctx; - struct hlist_head post_notification; - struct hlist_head watch_key; - struct hlist_head unix_stream_connect; - struct hlist_head unix_may_send; - struct hlist_head socket_create; - struct hlist_head socket_post_create; - struct hlist_head socket_socketpair; - struct hlist_head socket_bind; - struct hlist_head socket_connect; - struct hlist_head socket_listen; - struct hlist_head socket_accept; - struct hlist_head socket_sendmsg; - struct hlist_head socket_recvmsg; - struct hlist_head socket_getsockname; - struct hlist_head socket_getpeername; - struct hlist_head socket_getsockopt; - struct hlist_head socket_setsockopt; - struct hlist_head socket_shutdown; - struct hlist_head socket_sock_rcv_skb; - struct hlist_head socket_getpeersec_stream; - struct hlist_head socket_getpeersec_dgram; - struct hlist_head sk_alloc_security; - struct hlist_head sk_free_security; - struct hlist_head sk_clone_security; - struct hlist_head sk_getsecid; - struct hlist_head sock_graft; - struct hlist_head inet_conn_request; - struct hlist_head inet_csk_clone; - struct hlist_head inet_conn_established; - struct hlist_head secmark_relabel_packet; - struct hlist_head secmark_refcount_inc; - struct hlist_head secmark_refcount_dec; - struct hlist_head req_classify_flow; - struct hlist_head tun_dev_alloc_security; - struct hlist_head tun_dev_create; - struct hlist_head tun_dev_attach_queue; - struct hlist_head tun_dev_attach; - struct hlist_head tun_dev_open; - struct hlist_head sctp_assoc_request; - struct hlist_head sctp_bind_connect; - struct hlist_head sctp_sk_clone; - struct hlist_head sctp_assoc_established; - struct hlist_head mptcp_add_subflow; - struct hlist_head ib_pkey_access; - struct hlist_head ib_endport_manage_subnet; - struct hlist_head ib_alloc_security; - struct hlist_head xfrm_policy_alloc_security; - struct hlist_head xfrm_policy_clone_security; - struct hlist_head xfrm_policy_free_security; - struct hlist_head xfrm_policy_delete_security; - struct hlist_head xfrm_state_alloc; - struct hlist_head xfrm_state_alloc_acquire; - struct hlist_head xfrm_state_free_security; - struct hlist_head xfrm_state_delete_security; - struct hlist_head xfrm_policy_lookup; - struct hlist_head xfrm_state_pol_flow_match; - struct hlist_head xfrm_decode_session; - struct hlist_head key_alloc; - struct hlist_head key_permission; - struct hlist_head key_getsecurity; - struct hlist_head key_post_create_or_update; - struct hlist_head audit_rule_init; - struct hlist_head audit_rule_known; - struct hlist_head audit_rule_match; - struct hlist_head audit_rule_free; - struct hlist_head bpf; - struct hlist_head bpf_map; - struct hlist_head bpf_prog; - struct hlist_head bpf_map_create; - struct hlist_head bpf_map_free; - struct hlist_head bpf_prog_load; - struct hlist_head bpf_prog_free; - struct hlist_head bpf_token_create; - struct hlist_head bpf_token_free; - struct hlist_head bpf_token_cmd; - struct hlist_head bpf_token_capable; - struct hlist_head locked_down; - struct hlist_head lock_kernel_down; - struct hlist_head perf_event_open; - struct hlist_head perf_event_alloc; - struct hlist_head perf_event_read; - struct hlist_head perf_event_write; - struct hlist_head uring_override_creds; - struct hlist_head uring_sqpoll; - struct hlist_head uring_cmd; - struct hlist_head uring_allowed; - struct hlist_head initramfs_populated; - struct hlist_head bdev_alloc_security; - struct hlist_head bdev_free_security; - struct hlist_head bdev_setintegrity; -}; - -struct timezone; - -struct xattr; - -struct sembuf; - -struct xfrm_sec_ctx; - -struct xfrm_user_sec_ctx; - -union security_list_options { - int (*binder_set_context_mgr)(const struct cred *); - int (*binder_transaction)(const struct cred *, const struct cred *); - int (*binder_transfer_binder)(const struct cred *, const struct cred *); - int (*binder_transfer_file)(const struct cred *, const struct cred *, const struct file *); - int (*ptrace_access_check)(struct task_struct *, unsigned int); - int (*ptrace_traceme)(struct task_struct *); - int (*capget)(const struct task_struct *, kernel_cap_t *, kernel_cap_t *, kernel_cap_t *); - int (*capset)(struct cred *, const struct cred *, const kernel_cap_t *, const kernel_cap_t *, const kernel_cap_t *); - int (*capable)(const struct cred *, struct user_namespace *, int, unsigned int); - int (*quotactl)(int, int, int, const struct super_block *); - int (*quota_on)(struct dentry *); - int (*syslog)(int); - int (*settime)(const struct timespec64 *, const struct timezone *); - int (*vm_enough_memory)(struct mm_struct *, long int); - int (*bprm_creds_for_exec)(struct linux_binprm *); - int (*bprm_creds_from_file)(struct linux_binprm *, const struct file *); - int (*bprm_check_security)(struct linux_binprm *); - void (*bprm_committing_creds)(const struct linux_binprm *); - void (*bprm_committed_creds)(const struct linux_binprm *); - int (*fs_context_submount)(struct fs_context *, struct super_block *); - int (*fs_context_dup)(struct fs_context *, struct fs_context *); - int (*fs_context_parse_param)(struct fs_context *, struct fs_parameter *); - int (*sb_alloc_security)(struct super_block *); - void (*sb_delete)(struct super_block *); - void (*sb_free_security)(struct super_block *); - void (*sb_free_mnt_opts)(void *); - int (*sb_eat_lsm_opts)(char *, void **); - int (*sb_mnt_opts_compat)(struct super_block *, void *); - int (*sb_remount)(struct super_block *, void *); - int (*sb_kern_mount)(const struct super_block *); - int (*sb_show_options)(struct seq_file *, struct super_block *); - int (*sb_statfs)(struct dentry *); - int (*sb_mount)(const char *, const struct path *, const char *, long unsigned int, void *); - int (*sb_umount)(struct vfsmount *, int); - int (*sb_pivotroot)(const struct path *, const struct path *); - int (*sb_set_mnt_opts)(struct super_block *, void *, long unsigned int, long unsigned int *); - int (*sb_clone_mnt_opts)(const struct super_block *, struct super_block *, long unsigned int, long unsigned int *); - int (*move_mount)(const struct path *, const struct path *); - int (*dentry_init_security)(struct dentry *, int, const struct qstr *, const char **, struct lsm_context *); - int (*dentry_create_files_as)(struct dentry *, int, struct qstr *, const struct cred *, struct cred *); - int (*path_unlink)(const struct path *, struct dentry *); - int (*path_mkdir)(const struct path *, struct dentry *, umode_t); - int (*path_rmdir)(const struct path *, struct dentry *); - int (*path_mknod)(const struct path *, struct dentry *, umode_t, unsigned int); - void (*path_post_mknod)(struct mnt_idmap *, struct dentry *); - int (*path_truncate)(const struct path *); - int (*path_symlink)(const struct path *, struct dentry *, const char *); - int (*path_link)(struct dentry *, const struct path *, struct dentry *); - int (*path_rename)(const struct path *, struct dentry *, const struct path *, struct dentry *, unsigned int); - int (*path_chmod)(const struct path *, umode_t); - int (*path_chown)(const struct path *, kuid_t, kgid_t); - int (*path_chroot)(const struct path *); - int (*path_notify)(const struct path *, u64, unsigned int); - int (*inode_alloc_security)(struct inode *); - void (*inode_free_security)(struct inode *); - void (*inode_free_security_rcu)(void *); - int (*inode_init_security)(struct inode *, struct inode *, const struct qstr *, struct xattr *, int *); - int (*inode_init_security_anon)(struct inode *, const struct qstr *, const struct inode *); - int (*inode_create)(struct inode *, struct dentry *, umode_t); - void (*inode_post_create_tmpfile)(struct mnt_idmap *, struct inode *); - int (*inode_link)(struct dentry *, struct inode *, struct dentry *); - int (*inode_unlink)(struct inode *, struct dentry *); - int (*inode_symlink)(struct inode *, struct dentry *, const char *); - int (*inode_mkdir)(struct inode *, struct dentry *, umode_t); - int (*inode_rmdir)(struct inode *, struct dentry *); - int (*inode_mknod)(struct inode *, struct dentry *, umode_t, dev_t); - int (*inode_rename)(struct inode *, struct dentry *, struct inode *, struct dentry *); - int (*inode_readlink)(struct dentry *); - int (*inode_follow_link)(struct dentry *, struct inode *, bool); - int (*inode_permission)(struct inode *, int); - int (*inode_setattr)(struct mnt_idmap *, struct dentry *, struct iattr *); - void (*inode_post_setattr)(struct mnt_idmap *, struct dentry *, int); - int (*inode_getattr)(const struct path *); - int (*inode_xattr_skipcap)(const char *); - int (*inode_setxattr)(struct mnt_idmap *, struct dentry *, const char *, const void *, size_t, int); - void (*inode_post_setxattr)(struct dentry *, const char *, const void *, size_t, int); - int (*inode_getxattr)(struct dentry *, const char *); - int (*inode_listxattr)(struct dentry *); - int (*inode_removexattr)(struct mnt_idmap *, struct dentry *, const char *); - void (*inode_post_removexattr)(struct dentry *, const char *); - int (*inode_file_setattr)(struct dentry *, struct file_kattr *); - int (*inode_file_getattr)(struct dentry *, struct file_kattr *); - int (*inode_set_acl)(struct mnt_idmap *, struct dentry *, const char *, struct posix_acl *); - void (*inode_post_set_acl)(struct dentry *, const char *, struct posix_acl *); - int (*inode_get_acl)(struct mnt_idmap *, struct dentry *, const char *); - int (*inode_remove_acl)(struct mnt_idmap *, struct dentry *, const char *); - void (*inode_post_remove_acl)(struct mnt_idmap *, struct dentry *, const char *); - int (*inode_need_killpriv)(struct dentry *); - int (*inode_killpriv)(struct mnt_idmap *, struct dentry *); - int (*inode_getsecurity)(struct mnt_idmap *, struct inode *, const char *, void **, bool); - int (*inode_setsecurity)(struct inode *, const char *, const void *, size_t, int); - int (*inode_listsecurity)(struct inode *, char *, size_t); - void (*inode_getlsmprop)(struct inode *, struct lsm_prop *); - int (*inode_copy_up)(struct dentry *, struct cred **); - int (*inode_copy_up_xattr)(struct dentry *, const char *); - int (*inode_setintegrity)(const struct inode *, enum lsm_integrity_type, const void *, size_t); - int (*kernfs_init_security)(struct kernfs_node *, struct kernfs_node *); - int (*file_permission)(struct file *, int); - int (*file_alloc_security)(struct file *); - void (*file_release)(struct file *); - void (*file_free_security)(struct file *); - int (*file_ioctl)(struct file *, unsigned int, long unsigned int); - int (*file_ioctl_compat)(struct file *, unsigned int, long unsigned int); - int (*mmap_addr)(long unsigned int); - int (*mmap_file)(struct file *, long unsigned int, long unsigned int, long unsigned int); - int (*file_mprotect)(struct vm_area_struct *, long unsigned int, long unsigned int); - int (*file_lock)(struct file *, unsigned int); - int (*file_fcntl)(struct file *, unsigned int, long unsigned int); - void (*file_set_fowner)(struct file *); - int (*file_send_sigiotask)(struct task_struct *, struct fown_struct *, int); - int (*file_receive)(struct file *); - int (*file_open)(struct file *); - int (*file_post_open)(struct file *, int); - int (*file_truncate)(struct file *); - int (*task_alloc)(struct task_struct *, long unsigned int); - void (*task_free)(struct task_struct *); - int (*cred_alloc_blank)(struct cred *, gfp_t); - void (*cred_free)(struct cred *); - int (*cred_prepare)(struct cred *, const struct cred *, gfp_t); - void (*cred_transfer)(struct cred *, const struct cred *); - void (*cred_getsecid)(const struct cred *, u32 *); - void (*cred_getlsmprop)(const struct cred *, struct lsm_prop *); - int (*kernel_act_as)(struct cred *, u32); - int (*kernel_create_files_as)(struct cred *, struct inode *); - int (*kernel_module_request)(char *); - int (*kernel_load_data)(enum kernel_load_data_id, bool); - int (*kernel_post_load_data)(char *, loff_t, enum kernel_load_data_id, char *); - int (*kernel_read_file)(struct file *, enum kernel_read_file_id, bool); - int (*kernel_post_read_file)(struct file *, char *, loff_t, enum kernel_read_file_id); - int (*task_fix_setuid)(struct cred *, const struct cred *, int); - int (*task_fix_setgid)(struct cred *, const struct cred *, int); - int (*task_fix_setgroups)(struct cred *, const struct cred *); - int (*task_setpgid)(struct task_struct *, pid_t); - int (*task_getpgid)(struct task_struct *); - int (*task_getsid)(struct task_struct *); - void (*current_getlsmprop_subj)(struct lsm_prop *); - void (*task_getlsmprop_obj)(struct task_struct *, struct lsm_prop *); - int (*task_setnice)(struct task_struct *, int); - int (*task_setioprio)(struct task_struct *, int); - int (*task_getioprio)(struct task_struct *); - int (*task_prlimit)(const struct cred *, const struct cred *, unsigned int); - int (*task_setrlimit)(struct task_struct *, unsigned int, struct rlimit *); - int (*task_setscheduler)(struct task_struct *); - int (*task_getscheduler)(struct task_struct *); - int (*task_movememory)(struct task_struct *); - int (*task_kill)(struct task_struct *, struct kernel_siginfo *, int, const struct cred *); - int (*task_prctl)(int, long unsigned int, long unsigned int, long unsigned int, long unsigned int); - void (*task_to_inode)(struct task_struct *, struct inode *); - int (*userns_create)(const struct cred *); - int (*ipc_permission)(struct kern_ipc_perm *, short int); - void (*ipc_getlsmprop)(struct kern_ipc_perm *, struct lsm_prop *); - int (*msg_msg_alloc_security)(struct msg_msg *); - void (*msg_msg_free_security)(struct msg_msg *); - int (*msg_queue_alloc_security)(struct kern_ipc_perm *); - void (*msg_queue_free_security)(struct kern_ipc_perm *); - int (*msg_queue_associate)(struct kern_ipc_perm *, int); - int (*msg_queue_msgctl)(struct kern_ipc_perm *, int); - int (*msg_queue_msgsnd)(struct kern_ipc_perm *, struct msg_msg *, int); - int (*msg_queue_msgrcv)(struct kern_ipc_perm *, struct msg_msg *, struct task_struct *, long int, int); - int (*shm_alloc_security)(struct kern_ipc_perm *); - void (*shm_free_security)(struct kern_ipc_perm *); - int (*shm_associate)(struct kern_ipc_perm *, int); - int (*shm_shmctl)(struct kern_ipc_perm *, int); - int (*shm_shmat)(struct kern_ipc_perm *, char *, int); - int (*sem_alloc_security)(struct kern_ipc_perm *); - void (*sem_free_security)(struct kern_ipc_perm *); - int (*sem_associate)(struct kern_ipc_perm *, int); - int (*sem_semctl)(struct kern_ipc_perm *, int); - int (*sem_semop)(struct kern_ipc_perm *, struct sembuf *, unsigned int, int); - int (*netlink_send)(struct sock *, struct sk_buff *); - void (*d_instantiate)(struct dentry *, struct inode *); - int (*getselfattr)(unsigned int, struct lsm_ctx *, u32 *, u32); - int (*setselfattr)(unsigned int, struct lsm_ctx *, u32, u32); - int (*getprocattr)(struct task_struct *, const char *, char **); - int (*setprocattr)(const char *, void *, size_t); - int (*ismaclabel)(const char *); - int (*secid_to_secctx)(u32, struct lsm_context *); - int (*lsmprop_to_secctx)(struct lsm_prop *, struct lsm_context *); - int (*secctx_to_secid)(const char *, u32, u32 *); - void (*release_secctx)(struct lsm_context *); - void (*inode_invalidate_secctx)(struct inode *); - int (*inode_notifysecctx)(struct inode *, void *, u32); - int (*inode_setsecctx)(struct dentry *, void *, u32); - int (*inode_getsecctx)(struct inode *, struct lsm_context *); - int (*post_notification)(const struct cred *, const struct cred *, struct watch_notification *); - int (*watch_key)(struct key *); - int (*unix_stream_connect)(struct sock *, struct sock *, struct sock *); - int (*unix_may_send)(struct socket *, struct socket *); - int (*socket_create)(int, int, int, int); - int (*socket_post_create)(struct socket *, int, int, int, int); - int (*socket_socketpair)(struct socket *, struct socket *); - int (*socket_bind)(struct socket *, struct sockaddr *, int); - int (*socket_connect)(struct socket *, struct sockaddr *, int); - int (*socket_listen)(struct socket *, int); - int (*socket_accept)(struct socket *, struct socket *); - int (*socket_sendmsg)(struct socket *, struct msghdr *, int); - int (*socket_recvmsg)(struct socket *, struct msghdr *, int, int); - int (*socket_getsockname)(struct socket *); - int (*socket_getpeername)(struct socket *); - int (*socket_getsockopt)(struct socket *, int, int); - int (*socket_setsockopt)(struct socket *, int, int); - int (*socket_shutdown)(struct socket *, int); - int (*socket_sock_rcv_skb)(struct sock *, struct sk_buff *); - int (*socket_getpeersec_stream)(struct socket *, sockptr_t, sockptr_t, unsigned int); - int (*socket_getpeersec_dgram)(struct socket *, struct sk_buff *, u32 *); - int (*sk_alloc_security)(struct sock *, int, gfp_t); - void (*sk_free_security)(struct sock *); - void (*sk_clone_security)(const struct sock *, struct sock *); - void (*sk_getsecid)(const struct sock *, u32 *); - void (*sock_graft)(struct sock *, struct socket *); - int (*inet_conn_request)(const struct sock *, struct sk_buff *, struct request_sock *); - void (*inet_csk_clone)(struct sock *, const struct request_sock *); - void (*inet_conn_established)(struct sock *, struct sk_buff *); - int (*secmark_relabel_packet)(u32); - void (*secmark_refcount_inc)(void); - void (*secmark_refcount_dec)(void); - void (*req_classify_flow)(const struct request_sock *, struct flowi_common *); - int (*tun_dev_alloc_security)(void *); - int (*tun_dev_create)(void); - int (*tun_dev_attach_queue)(void *); - int (*tun_dev_attach)(struct sock *, void *); - int (*tun_dev_open)(void *); - int (*sctp_assoc_request)(struct sctp_association *, struct sk_buff *); - int (*sctp_bind_connect)(struct sock *, int, struct sockaddr *, int); - void (*sctp_sk_clone)(struct sctp_association *, struct sock *, struct sock *); - int (*sctp_assoc_established)(struct sctp_association *, struct sk_buff *); - int (*mptcp_add_subflow)(struct sock *, struct sock *); - int (*ib_pkey_access)(void *, u64, u16); - int (*ib_endport_manage_subnet)(void *, const char *, u8); - int (*ib_alloc_security)(void *); - int (*xfrm_policy_alloc_security)(struct xfrm_sec_ctx **, struct xfrm_user_sec_ctx *, gfp_t); - int (*xfrm_policy_clone_security)(struct xfrm_sec_ctx *, struct xfrm_sec_ctx **); - void (*xfrm_policy_free_security)(struct xfrm_sec_ctx *); - int (*xfrm_policy_delete_security)(struct xfrm_sec_ctx *); - int (*xfrm_state_alloc)(struct xfrm_state *, struct xfrm_user_sec_ctx *); - int (*xfrm_state_alloc_acquire)(struct xfrm_state *, struct xfrm_sec_ctx *, u32); - void (*xfrm_state_free_security)(struct xfrm_state *); - int (*xfrm_state_delete_security)(struct xfrm_state *); - int (*xfrm_policy_lookup)(struct xfrm_sec_ctx *, u32); - int (*xfrm_state_pol_flow_match)(struct xfrm_state *, struct xfrm_policy *, const struct flowi_common *); - int (*xfrm_decode_session)(struct sk_buff *, u32 *, int); - int (*key_alloc)(struct key *, const struct cred *, long unsigned int); - int (*key_permission)(key_ref_t, const struct cred *, enum key_need_perm); - int (*key_getsecurity)(struct key *, char **); - void (*key_post_create_or_update)(struct key *, struct key *, const void *, size_t, long unsigned int, bool); - int (*audit_rule_init)(u32, u32, char *, void **, gfp_t); - int (*audit_rule_known)(struct audit_krule *); - int (*audit_rule_match)(struct lsm_prop *, u32, u32, void *); - void (*audit_rule_free)(void *); - int (*bpf)(int, union bpf_attr *, unsigned int, bool); - int (*bpf_map)(struct bpf_map *, fmode_t); - int (*bpf_prog)(struct bpf_prog *); - int (*bpf_map_create)(struct bpf_map *, union bpf_attr *, struct bpf_token *, bool); - void (*bpf_map_free)(struct bpf_map *); - int (*bpf_prog_load)(struct bpf_prog *, union bpf_attr *, struct bpf_token *, bool); - void (*bpf_prog_free)(struct bpf_prog *); - int (*bpf_token_create)(struct bpf_token *, union bpf_attr *, const struct path *); - void (*bpf_token_free)(struct bpf_token *); - int (*bpf_token_cmd)(const struct bpf_token *, enum bpf_cmd); - int (*bpf_token_capable)(const struct bpf_token *, int); - int (*locked_down)(enum lockdown_reason); - int (*lock_kernel_down)(const char *, enum lockdown_reason); - int (*perf_event_open)(int); - int (*perf_event_alloc)(struct perf_event *); - int (*perf_event_read)(struct perf_event *); - int (*perf_event_write)(struct perf_event *); - int (*uring_override_creds)(const struct cred *); - int (*uring_sqpoll)(void); - int (*uring_cmd)(struct io_uring_cmd *); - int (*uring_allowed)(void); - void (*initramfs_populated)(void); - int (*bdev_alloc_security)(struct block_device *); - void (*bdev_free_security)(struct block_device *); - int (*bdev_setintegrity)(struct block_device *, enum lsm_integrity_type, const void *, size_t); -}; - -struct security_hook_list { - struct hlist_node list; - struct hlist_head *head; - union security_list_options hook; - const struct lsm_id *lsmid; -}; - -struct seg6_local_lwt; - -struct seg6_local_lwtunnel_ops { - int (*build_state)(struct seg6_local_lwt *, const void *, struct netlink_ext_ack *); - void (*destroy_state)(struct seg6_local_lwt *); -}; - -struct seg6_action_desc { - int action; - long unsigned int attrs; - long unsigned int optattrs; - int (*input)(struct sk_buff *, struct seg6_local_lwt *); - int static_headroom; - struct seg6_local_lwtunnel_ops slwt_ops; -}; - -struct seg6_action_param { - int (*parse)(struct nlattr **, struct seg6_local_lwt *, struct netlink_ext_ack *); - int (*put)(struct sk_buff *, struct seg6_local_lwt *); - int (*cmp)(struct seg6_local_lwt *, struct seg6_local_lwt *); - void (*destroy)(struct seg6_local_lwt *); -}; - -struct seg6_bpf_srh_state { - local_lock_t bh_lock; - struct ipv6_sr_hdr *srh; - u16 hdrlen; - bool valid; -}; - -struct seg6_end_dt_info { - enum seg6_end_dt_mode mode; - struct net *net; - int vrf_ifindex; - int vrf_table; - u16 family; -}; - -struct seg6_flavors_info { - __u32 flv_ops; - __u8 lcblock_bits; - __u8 lcnode_func_bits; -}; - -struct seg6_hmac_algo { - u8 alg_id; - char name[64]; - struct crypto_shash **tfms; - struct shash_desc **shashs; -}; - -struct seg6_hmac_info { - struct rhash_head node; - struct callback_head rcu; - u32 hmackeyid; - char secret[64]; - u8 slen; - u8 alg_id; -}; - -struct seg6_iptunnel_encap { - int mode; - struct ipv6_sr_hdr srh[0]; -}; - -struct seg6_local_counters { - __u64 packets; - __u64 bytes; - __u64 errors; -}; - -struct seg6_local_lwt { - int action; - struct ipv6_sr_hdr *srh; - int table; - struct in_addr nh4; - struct in6_addr nh6; - int iif; - int oif; - struct bpf_lwt_prog bpf; - struct seg6_end_dt_info dt_info; - struct seg6_flavors_info flv_info; - struct pcpu_seg6_local_counters *pcpu_counters; - int headroom; - struct seg6_action_desc *desc; - long unsigned int parsed_optattrs; -}; - -struct seg6_lwt { - struct dst_cache cache; - struct seg6_iptunnel_encap tuninfo[0]; -}; - -struct seg6_pernet_data { - struct mutex lock; - struct in6_addr *tun_src; - struct rhashtable hmac_infos; -}; - -struct sel_ib_pkey { - struct pkey_security_struct psec; - struct list_head list; - struct callback_head rcu; -}; - -struct sel_ib_pkey_bkt { - int size; - struct list_head list; -}; - -struct sel_netif { - struct list_head list; - struct netif_security_struct nsec; - struct callback_head callback_head; -}; - -struct sel_netnode { - struct netnode_security_struct nsec; - struct list_head list; - struct callback_head rcu; -}; - -struct sel_netnode_bkt { - unsigned int size; - struct list_head list; -}; - -struct sel_netport { - struct netport_security_struct psec; - struct list_head list; - struct callback_head rcu; -}; - -struct sel_netport_bkt { - int size; - struct list_head list; -}; - -struct select_data { - struct dentry *start; - union { - long int found; - struct dentry *victim; - }; - struct list_head dispose; -}; - -struct selinux_audit_data { - u32 ssid; - u32 tsid; - u16 tclass; - u32 requested; - u32 audited; - u32 denied; - int result; -}; - -struct selinux_audit_rule { - u32 au_seqno; - struct context___2 au_ctxt; -}; - -struct selinux_avc { - unsigned int avc_cache_threshold; - struct avc_cache avc_cache; -}; - -struct selinux_fs_info { - struct dentry *bool_dir; - unsigned int bool_num; - char **bool_pending_names; - int *bool_pending_values; - struct dentry *class_dir; - long unsigned int last_class_ino; - bool policy_opened; - struct dentry *policycap_dir; - long unsigned int last_ino; - struct super_block *sb; -}; - -struct selinux_kernel_status { - u32 version; - u32 sequence; - u32 enforcing; - u32 policyload; - u32 deny_unknown; -}; - -struct selinux_policy; - -struct selinux_policy_convert_data; - -struct selinux_load_state { - struct selinux_policy *policy; - struct selinux_policy_convert_data *convert_data; -}; - -struct selinux_mapping; - -struct selinux_map { - struct selinux_mapping *mapping; - u16 size; -}; - -struct selinux_mapping { - u16 value; - u16 num_perms; - u32 perms[32]; -}; - -struct selinux_mnt_opts { - u32 fscontext_sid; - u32 context_sid; - u32 rootcontext_sid; - u32 defcontext_sid; -}; - -struct sidtab; - -struct selinux_policy { - struct sidtab *sidtab; - struct policydb policydb; - struct selinux_map map; - u32 latest_granting; -}; - -struct sidtab_convert_params { - struct convert_context_args *args; - struct sidtab *target; -}; - -struct selinux_policy_convert_data { - struct convert_context_args args; - struct sidtab_convert_params sidtab_params; -}; - -struct selinux_state { - bool enforcing; - bool initialized; - bool policycap[12]; - struct page *status_page; - struct mutex status_lock; - struct selinux_policy *policy; - struct mutex policy_mutex; -}; - -struct selnl_msg_policyload { - __u32 seqno; -}; - -struct selnl_msg_setenforce { - __s32 val; -}; - -struct sem { - int semval; - struct pid *sempid; - spinlock_t lock; - struct list_head pending_alter; - struct list_head pending_const; - time64_t sem_otime; -}; - -struct sem_array { - struct kern_ipc_perm sem_perm; - time64_t sem_ctime; - struct list_head pending_alter; - struct list_head pending_const; - struct list_head list_id; - int sem_nsems; - int complex_count; - unsigned int use_global_lock; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - struct sem sems[0]; -}; - -struct sem_undo; - -struct sem_queue { - struct list_head list; - struct task_struct *sleeper; - struct sem_undo *undo; - struct pid *pid; - int status; - struct sembuf *sops; - struct sembuf *blocking; - int nsops; - bool alter; - bool dupsop; -}; - -struct sem_undo_list; - -struct sem_undo { - struct list_head list_proc; - struct callback_head rcu; - struct sem_undo_list *ulp; - struct list_head list_id; - int semid; - short int semadj[0]; -}; - -struct sem_undo_list { - refcount_t refcnt; - spinlock_t lock; - struct list_head list_proc; -}; - -struct semaphore_waiter { - struct list_head list; - struct task_struct *task; - bool up; -}; - -struct sembuf { - short unsigned int sem_num; - short int sem_op; - short int sem_flg; -}; - -struct semid64_ds { - struct ipc64_perm sem_perm; - __kernel_long_t sem_otime; - __kernel_ulong_t __unused1; - __kernel_long_t sem_ctime; - __kernel_ulong_t __unused2; - __kernel_ulong_t sem_nsems; - __kernel_ulong_t __unused3; - __kernel_ulong_t __unused4; -}; - -struct semid_ds { - struct ipc_perm sem_perm; - __kernel_old_time_t sem_otime; - __kernel_old_time_t sem_ctime; - struct sem *sem_base; - struct sem_queue *sem_pending; - struct sem_queue **sem_pending_last; - struct sem_undo *undo; - short unsigned int sem_nsems; -}; - -struct seminfo { - int semmap; - int semmni; - int semmns; - int semmnu; - int semmsl; - int semopm; - int semume; - int semusz; - int semvmx; - int semaem; -}; - -struct virtnet_sq_stats { - struct u64_stats_sync syncp; - u64_stats_t packets; - u64_stats_t bytes; - u64_stats_t xdp_tx; - u64_stats_t xdp_tx_drops; - u64_stats_t kicks; - u64_stats_t tx_timeouts; - u64_stats_t stop; - u64_stats_t wake; -}; - -struct send_queue { - struct virtqueue *vq; - struct scatterlist sg[19]; - char name[16]; - struct virtnet_sq_stats stats; - struct virtnet_interrupt_coalesce intr_coal; - struct napi_struct napi; - bool reset; - struct xsk_buff_pool *xsk_pool; - dma_addr_t xsk_hdr_dma_addr; -}; - -struct send_signal_irq_work { - struct irq_work irq_work; - struct task_struct *task; - u32 sig; - enum pid_type type; - bool has_siginfo; - struct kernel_siginfo info; -}; - -struct seq_operations { - void * (*start)(struct seq_file *, loff_t *); - void (*stop)(struct seq_file *, void *); - void * (*next)(struct seq_file *, void *, loff_t *); - int (*show)(struct seq_file *, void *); -}; - -struct seqcount_rwlock { - seqcount_t seqcount; -}; - -typedef struct seqcount_rwlock seqcount_rwlock_t; - -struct serdev_device; - -struct serdev_controller_ops; - -struct serdev_controller { - struct device dev; - struct device *host; - unsigned int nr; - struct serdev_device *serdev; - const struct serdev_controller_ops *ops; -}; - -struct serdev_controller_ops { - ssize_t (*write_buf)(struct serdev_controller *, const u8 *, size_t); - void (*write_flush)(struct serdev_controller *); - int (*open)(struct serdev_controller *); - void (*close)(struct serdev_controller *); - void (*set_flow_control)(struct serdev_controller *, bool); - int (*set_parity)(struct serdev_controller *, enum serdev_parity); - unsigned int (*set_baudrate)(struct serdev_controller *, unsigned int); - void (*wait_until_sent)(struct serdev_controller *, long int); - int (*get_tiocm)(struct serdev_controller *); - int (*set_tiocm)(struct serdev_controller *, unsigned int, unsigned int); - int (*break_ctl)(struct serdev_controller *, unsigned int); -}; - -struct serdev_device_ops; - -struct serdev_device { - struct device dev; - int nr; - struct serdev_controller *ctrl; - const struct serdev_device_ops *ops; - struct completion write_comp; - struct mutex write_lock; -}; - -struct serdev_device_driver { - struct device_driver driver; - int (*probe)(struct serdev_device *); - void (*remove)(struct serdev_device *); -}; - -struct serdev_device_ops { - size_t (*receive_buf)(struct serdev_device *, const u8 *, size_t); - void (*write_wakeup)(struct serdev_device *); -}; - -struct serial8250_config { - const char *name; - short unsigned int fifo_size; - short unsigned int tx_loadsz; - unsigned char fcr; - unsigned char rxtrig_bytes[4]; - unsigned int flags; -}; - -struct serial_ctrl_device { - struct device dev; - struct ida port_ida; -}; - -struct serial_icounter_struct { - int cts; - int dsr; - int rng; - int dcd; - int rx; - int tx; - int frame; - int overrun; - int parity; - int brk; - int buf_overrun; - int reserved[9]; -}; - -struct serial_in_rdev { - struct rb_root_cached serial_rb; - spinlock_t serial_lock; - wait_queue_head_t serial_io_wait; -}; - -struct serial_port_device { - struct device dev; - struct uart_port *port; - unsigned int tx_enabled: 1; -}; - -struct serial_private { - struct pci_dev *dev; - unsigned int nr; - struct pci_serial_quirk *quirk; - const struct pciserial_board *board; - int line[0]; -}; - -struct serial_struct { - int type; - int line; - unsigned int port; - int irq; - int flags; - int xmit_fifo_size; - int custom_divisor; - int baud_base; - short unsigned int close_delay; - char io_type; - char reserved_char[1]; - int hub6; - short unsigned int closing_wait; - short unsigned int closing_wait2; - unsigned char *iomem_base; - short unsigned int iomem_reg_shift; - unsigned int port_high; - long unsigned int iomap_base; -}; - -struct serial_struct32 { - compat_int_t type; - compat_int_t line; - compat_uint_t port; - compat_int_t irq; - compat_int_t flags; - compat_int_t xmit_fifo_size; - compat_int_t custom_divisor; - compat_int_t baud_base; - short unsigned int close_delay; - char io_type; - char reserved_char; - compat_int_t hub6; - short unsigned int closing_wait; - short unsigned int closing_wait2; - compat_uint_t iomem_base; - short unsigned int iomem_reg_shift; - unsigned int port_high; - compat_int_t reserved; -}; - -typedef struct serio *class_serio_pause_rx_t; - -struct serio_device_id { - __u8 type; - __u8 extra; - __u8 id; - __u8 proto; -}; - -struct serio_driver; - -struct serio { - void *port_data; - char name[32]; - char phys[32]; - char firmware_id[128]; - bool manual_bind; - struct serio_device_id id; - spinlock_t lock; - int (*write)(struct serio *, unsigned char); - int (*open)(struct serio *); - void (*close)(struct serio *); - int (*start)(struct serio *); - void (*stop)(struct serio *); - struct serio *parent; - struct list_head child_node; - struct list_head children; - unsigned int depth; - struct serio_driver *drv; - struct mutex drv_mutex; - struct device dev; - struct list_head node; - struct mutex *ps2_cmd_mutex; -}; - -struct serio_driver { - const char *description; - const struct serio_device_id *id_table; - bool manual_bind; - void (*write_wakeup)(struct serio *); - irqreturn_t (*interrupt)(struct serio *, unsigned char, unsigned int); - int (*connect)(struct serio *, struct serio_driver *); - int (*reconnect)(struct serio *); - int (*fast_reconnect)(struct serio *); - void (*disconnect)(struct serio *); - void (*cleanup)(struct serio *); - struct device_driver driver; -}; - -struct serio_event { - enum serio_event_type type; - void *object; - struct module *owner; - struct list_head node; -}; - -struct serport { - struct tty_port *port; - struct tty_struct *tty; - struct tty_driver *tty_drv; - int tty_idx; - long unsigned int flags; -}; - -struct set_affinity_pending { - refcount_t refs; - unsigned int stop_pending; - struct completion done; - struct cpu_stop_work stop_work; - struct migration_arg arg; -}; - -struct set_config_request { - struct usb_device *udev; - int config; - struct work_struct work; - struct list_head node; -}; - -struct set_event_iter { - enum set_event_iter_type type; - union { - struct trace_event_file *file; - struct event_mod_load *event_mod; - }; -}; - -struct set_msi_sid_data { - struct pci_dev *pdev; - u16 alias; - int count; - int busmatch_count; -}; - -struct set_mtrr_data { - long unsigned int smp_base; - long unsigned int smp_size; - unsigned int smp_reg; - mtrr_type smp_type; -}; - -struct setid_rule { - struct hlist_node next; - kid_t src_id; - kid_t dst_id; - enum setid_type type; -}; - -struct setid_ruleset { - struct hlist_head rules[256]; - char *policy_str; - struct callback_head rcu; - enum setid_type type; -}; - -struct setup_indirect { - __u32 type; - __u32 reserved; - __u64 len; - __u64 addr; -}; - -struct setup_rw_req { - unsigned int grant_idx; - struct blkif_request_segment *segments; - struct blkfront_ring_info *rinfo; - struct blkif_request *ring_req; - grant_ref_t gref_head; - unsigned int id; - bool need_copy; - unsigned int bvec_off; - char *bvec_data; - bool require_extra_req; - struct blkif_request *extra_ring_req; -}; - -struct sev_config { - __u64 debug: 1; - __u64 ghcbs_initialized: 1; - __u64 use_cas: 1; - __u64 __reserved: 61; -}; - -struct sev_es_runtime_data { - struct ghcb ghcb_page; - struct ghcb backup_ghcb; - bool ghcb_active; - bool backup_ghcb_active; - long unsigned int dr7; -}; - -struct vmcb_seg { - u16 selector; - u16 attrib; - u32 limit; - u64 base; -}; - -struct sev_es_save_area { - struct vmcb_seg es; - struct vmcb_seg cs; - struct vmcb_seg ss; - struct vmcb_seg ds; - struct vmcb_seg fs; - struct vmcb_seg gs; - struct vmcb_seg gdtr; - struct vmcb_seg ldtr; - struct vmcb_seg idtr; - struct vmcb_seg tr; - u64 pl0_ssp; - u64 pl1_ssp; - u64 pl2_ssp; - u64 pl3_ssp; - u64 u_cet; - u8 reserved_0xc8[2]; - u8 vmpl; - u8 cpl; - u8 reserved_0xcc[4]; - u64 efer; - u8 reserved_0xd8[104]; - u64 xss; - u64 cr4; - u64 cr3; - u64 cr0; - u64 dr7; - u64 dr6; - u64 rflags; - u64 rip; - u64 dr0; - u64 dr1; - u64 dr2; - u64 dr3; - u64 dr0_addr_mask; - u64 dr1_addr_mask; - u64 dr2_addr_mask; - u64 dr3_addr_mask; - u8 reserved_0x1c0[24]; - u64 rsp; - u64 s_cet; - u64 ssp; - u64 isst_addr; - u64 rax; - u64 star; - u64 lstar; - u64 cstar; - u64 sfmask; - u64 kernel_gs_base; - u64 sysenter_cs; - u64 sysenter_esp; - u64 sysenter_eip; - u64 cr2; - u8 reserved_0x248[32]; - u64 g_pat; - u64 dbgctl; - u64 br_from; - u64 br_to; - u64 last_excp_from; - u64 last_excp_to; - u8 reserved_0x298[80]; - u32 pkru; - u32 tsc_aux; - u64 tsc_scale; - u64 tsc_offset; - u8 reserved_0x300[8]; - u64 rcx; - u64 rdx; - u64 rbx; - u64 reserved_0x320; - u64 rbp; - u64 rsi; - u64 rdi; - u64 r8; - u64 r9; - u64 r10; - u64 r11; - u64 r12; - u64 r13; - u64 r14; - u64 r15; - u8 reserved_0x380[16]; - u64 guest_exit_info_1; - u64 guest_exit_info_2; - u64 guest_exit_int_info; - u64 guest_nrip; - u64 sev_features; - u64 vintr_ctrl; - u64 guest_exit_code; - u64 virtual_tom; - u64 tlb_id; - u64 pcpu_id; - u64 event_inj; - u64 xcr0; - u8 reserved_0x3f0[16]; - u64 x87_dp; - u32 mxcsr; - u16 x87_ftw; - u16 x87_fsw; - u16 x87_fcw; - u16 x87_fop; - u16 x87_ds; - u16 x87_cs; - u64 x87_rip; - u8 fpreg_x87[80]; - u8 fpreg_xmm[256]; - u8 fpreg_ymm[256]; -}; - -struct severity { - u64 mask; - u64 result; - unsigned char sev; - short unsigned int mcgmask; - short unsigned int mcgres; - unsigned char ser; - unsigned char context; - unsigned char excp; - unsigned char covered; - unsigned int cpu_vfm; - unsigned char cpu_minstepping; - unsigned char bank_lo; - unsigned char bank_hi; - char *msg; -}; - -struct sfp; - -struct sfp_socket_ops; - -struct sfp_quirk; - -struct sfp_upstream_ops; - -struct sfp_bus { - struct kref kref; - struct list_head node; - const struct fwnode_handle *fwnode; - const struct sfp_socket_ops *socket_ops; - struct device *sfp_dev; - struct sfp *sfp; - const struct sfp_quirk *sfp_quirk; - const struct sfp_upstream_ops *upstream_ops; - void *upstream; - struct phy_device *phydev; - bool registered; - bool started; -}; - -struct sfp_eeprom_base { - u8 phys_id; - u8 phys_ext_id; - u8 connector; - u8 if_1x_copper_passive: 1; - u8 if_1x_copper_active: 1; - u8 if_1x_lx: 1; - u8 if_1x_sx: 1; - u8 e10g_base_sr: 1; - u8 e10g_base_lr: 1; - u8 e10g_base_lrm: 1; - u8 e10g_base_er: 1; - u8 sonet_oc3_short_reach: 1; - u8 sonet_oc3_smf_intermediate_reach: 1; - u8 sonet_oc3_smf_long_reach: 1; - u8 unallocated_5_3: 1; - u8 sonet_oc12_short_reach: 1; - u8 sonet_oc12_smf_intermediate_reach: 1; - u8 sonet_oc12_smf_long_reach: 1; - u8 unallocated_5_7: 1; - u8 sonet_oc48_short_reach: 1; - u8 sonet_oc48_intermediate_reach: 1; - u8 sonet_oc48_long_reach: 1; - u8 sonet_reach_bit2: 1; - u8 sonet_reach_bit1: 1; - u8 sonet_oc192_short_reach: 1; - u8 escon_smf_1310_laser: 1; - u8 escon_mmf_1310_led: 1; - u8 e1000_base_sx: 1; - u8 e1000_base_lx: 1; - u8 e1000_base_cx: 1; - u8 e1000_base_t: 1; - u8 e100_base_lx: 1; - u8 e100_base_fx: 1; - u8 e_base_bx10: 1; - u8 e_base_px: 1; - u8 fc_tech_electrical_inter_enclosure: 1; - u8 fc_tech_lc: 1; - u8 fc_tech_sa: 1; - u8 fc_ll_m: 1; - u8 fc_ll_l: 1; - u8 fc_ll_i: 1; - u8 fc_ll_s: 1; - u8 fc_ll_v: 1; - u8 unallocated_8_0: 1; - u8 unallocated_8_1: 1; - u8 sfp_ct_passive: 1; - u8 sfp_ct_active: 1; - u8 fc_tech_ll: 1; - u8 fc_tech_sl: 1; - u8 fc_tech_sn: 1; - u8 fc_tech_electrical_intra_enclosure: 1; - u8 fc_media_sm: 1; - u8 unallocated_9_1: 1; - u8 fc_media_m5: 1; - u8 fc_media_m6: 1; - u8 fc_media_tv: 1; - u8 fc_media_mi: 1; - u8 fc_media_tp: 1; - u8 fc_media_tw: 1; - u8 fc_speed_100: 1; - u8 unallocated_10_1: 1; - u8 fc_speed_200: 1; - u8 fc_speed_3200: 1; - u8 fc_speed_400: 1; - u8 fc_speed_1600: 1; - u8 fc_speed_800: 1; - u8 fc_speed_1200: 1; - u8 encoding; - u8 br_nominal; - u8 rate_id; - u8 link_len[6]; - char vendor_name[16]; - u8 extended_cc; - char vendor_oui[3]; - char vendor_pn[16]; - char vendor_rev[4]; - union { - __be16 optical_wavelength; - __be16 cable_compliance; - struct { - u8 sff8431_app_e: 1; - u8 fc_pi_4_app_h: 1; - u8 reserved60_2: 6; - u8 reserved61: 8; - } passive; - struct { - u8 sff8431_app_e: 1; - u8 fc_pi_4_app_h: 1; - u8 sff8431_lim: 1; - u8 fc_pi_4_lim: 1; - u8 reserved60_4: 4; - u8 reserved61: 8; - } active; - }; - u8 reserved62; - u8 cc_base; -}; - -struct sfp_eeprom_ext { - __be16 options; - u8 br_max; - u8 br_min; - char vendor_sn[16]; - char datecode[8]; - u8 diagmon; - u8 enhopts; - u8 sff8472_compliance; - u8 cc_ext; -}; - -struct sfp_eeprom_id { - struct sfp_eeprom_base base; - struct sfp_eeprom_ext ext; -}; - -struct sfp_quirk { - const char *vendor; - const char *part; - void (*modes)(const struct sfp_eeprom_id *, long unsigned int *, long unsigned int *); - void (*fixup)(struct sfp *); -}; - -struct sfp_socket_ops { - void (*attach)(struct sfp *); - void (*detach)(struct sfp *); - void (*start)(struct sfp *); - void (*stop)(struct sfp *); - void (*set_signal_rate)(struct sfp *, unsigned int); - int (*module_info)(struct sfp *, struct ethtool_modinfo *); - int (*module_eeprom)(struct sfp *, struct ethtool_eeprom *, u8 *); - int (*module_eeprom_by_page)(struct sfp *, const struct ethtool_module_eeprom *, struct netlink_ext_ack *); -}; - -struct sfp_upstream_ops { - void (*attach)(void *, struct sfp_bus *); - void (*detach)(void *, struct sfp_bus *); - int (*module_insert)(void *, const struct sfp_eeprom_id *); - void (*module_remove)(void *); - int (*module_start)(void *); - void (*module_stop)(void *); - void (*link_down)(void *); - void (*link_up)(void *); - int (*connect_phy)(void *, struct phy_device *); - void (*disconnect_phy)(void *, struct phy_device *); -}; - -struct sg_append_table { - struct sg_table sgt; - struct scatterlist *prv; - unsigned int total_nents; -}; - -struct sg_device { - struct scsi_device *device; - wait_queue_head_t open_wait; - struct mutex open_rel_lock; - int sg_tablesize; - u32 index; - struct list_head sfds; - rwlock_t sfd_lock; - atomic_t detaching; - bool exclude; - int open_cnt; - char sgdebug; - char name[32]; - struct cdev *cdev; - struct kref d_ref; -}; - -typedef struct sg_device Sg_device; - -struct sg_page_iter { - struct scatterlist *sg; - unsigned int sg_pgoffset; - unsigned int __nents; - int __pg_advance; -}; - -struct sg_dma_page_iter { - struct sg_page_iter base; -}; - -struct sg_scatter_hold { - short unsigned int k_use_sg; - unsigned int sglist_len; - unsigned int bufflen; - struct page **pages; - int page_order; - char dio_in_use; - unsigned char cmd_opcode; -}; - -typedef struct sg_scatter_hold Sg_scatter_hold; - -struct sg_io_hdr { - int interface_id; - int dxfer_direction; - unsigned char cmd_len; - unsigned char mx_sb_len; - short unsigned int iovec_count; - unsigned int dxfer_len; - void *dxferp; - unsigned char *cmdp; - void *sbp; - unsigned int timeout; - unsigned int flags; - int pack_id; - void *usr_ptr; - unsigned char status; - unsigned char masked_status; - unsigned char msg_status; - unsigned char sb_len_wr; - short unsigned int host_status; - short unsigned int driver_status; - int resid; - unsigned int duration; - unsigned int info; -}; - -typedef struct sg_io_hdr sg_io_hdr_t; - -struct sg_fd; - -struct sg_request { - struct list_head entry; - struct sg_fd *parentfp; - Sg_scatter_hold data; - sg_io_hdr_t header; - unsigned char sense_b[96]; - char res_used; - char orphan; - char sg_io_owned; - char done; - struct request *rq; - struct bio *bio; - struct execute_work ew; -}; - -typedef struct sg_request Sg_request; - -struct sg_fd { - struct list_head sfd_siblings; - struct sg_device *parentdp; - wait_queue_head_t read_wait; - rwlock_t rq_list_lock; - struct mutex f_mutex; - int timeout; - int timeout_user; - Sg_scatter_hold reserve; - struct list_head rq_list; - struct fasync_struct *async_qp; - Sg_request req_arr[16]; - char force_packid; - char cmd_q; - unsigned char next_cmd_len; - char keep_orphan; - char mmap_called; - char res_in_use; - struct kref f_ref; - struct execute_work ew; -}; - -typedef struct sg_fd Sg_fd; - -struct sg_header { - int pack_len; - int reply_len; - int pack_id; - int result; - unsigned int twelve_byte: 1; - unsigned int target_status: 5; - unsigned int host_status: 8; - unsigned int driver_status: 8; - unsigned int other_flags: 10; - unsigned char sense_buffer[16]; -}; - -struct sg_io_v4 { - __s32 guard; - __u32 protocol; - __u32 subprotocol; - __u32 request_len; - __u64 request; - __u64 request_tag; - __u32 request_attr; - __u32 request_priority; - __u32 request_extra; - __u32 max_response_len; - __u64 response; - __u32 dout_iovec_count; - __u32 dout_xfer_len; - __u32 din_iovec_count; - __u32 din_xfer_len; - __u64 dout_xferp; - __u64 din_xferp; - __u32 timeout; - __u32 flags; - __u64 usr_ptr; - __u32 spare_in; - __u32 driver_status; - __u32 transport_status; - __u32 device_status; - __u32 retry_delay; - __u32 info; - __u32 duration; - __u32 response_len; - __s32 din_resid; - __s32 dout_resid; - __u64 generated_tag; - __u32 spare_out; - __u32 padding; -}; - -struct sg_list { - unsigned int n; - unsigned int size; - size_t len; - struct scatterlist *sg; -}; - -struct sg_mapping_iter { - struct page *page; - void *addr; - size_t length; - size_t consumed; - struct sg_page_iter piter; - unsigned int __offset; - unsigned int __remaining; - unsigned int __flags; -}; - -struct sg_pool { - size_t size; - char *name; - struct kmem_cache *slab; - mempool_t *pool; -}; - -struct sg_proc_deviter { - loff_t index; - size_t max; -}; - -struct sg_req_info { - char req_state; - char orphan; - char sg_io_owned; - char problem; - int pack_id; - void *usr_ptr; - unsigned int duration; - int unused; -}; - -typedef struct sg_req_info sg_req_info_t; - -struct sg_scsi_id { - int host_no; - int channel; - int scsi_id; - int lun; - int scsi_type; - short int h_cmd_per_lun; - short int d_queue_depth; - int unused[2]; -}; - -typedef struct sg_scsi_id sg_scsi_id_t; - -struct sgi_volume { - s8 name[8]; - __be32 block_num; - __be32 num_bytes; -}; - -struct sgi_partition { - __be32 num_blocks; - __be32 first_block; - __be32 type; -}; - -struct sgi_disklabel { - __be32 magic_mushroom; - __be16 root_part_num; - __be16 swap_part_num; - s8 boot_file[16]; - u8 _unused0[48]; - struct sgi_volume volume[15]; - struct sgi_partition partitions[16]; - __be32 csum; - __be32 _unused1; -}; - -struct sgx_backing { - struct page *contents; - struct page *pcmd; - long unsigned int pcmd_offset; -}; - -struct sgx_epc_page; - -struct sgx_encl; - -struct sgx_va_page; - -struct sgx_encl_page { - long unsigned int desc; - long unsigned int vm_max_prot_bits: 8; - enum sgx_page_type type: 16; - struct sgx_epc_page *epc_page; - struct sgx_encl *encl; - struct sgx_va_page *va_page; -}; - -struct sgx_encl { - long unsigned int base; - long unsigned int size; - long unsigned int flags; - unsigned int page_cnt; - unsigned int secs_child_cnt; - struct mutex lock; - struct xarray page_array; - struct sgx_encl_page secs; - long unsigned int attributes; - long unsigned int attributes_mask; - cpumask_t cpumask; - struct file *backing; - struct kref refcount; - struct list_head va_pages; - long unsigned int mm_list_version; - struct list_head mm_list; - spinlock_t mm_lock; - struct srcu_struct srcu; -}; - -struct sgx_encl_mm { - struct sgx_encl *encl; - struct mm_struct *mm; - struct list_head list; - struct mmu_notifier mmu_notifier; -}; - -struct sgx_enclave_add_pages { - __u64 src; - __u64 offset; - __u64 length; - __u64 secinfo; - __u64 flags; - __u64 count; -}; - -struct sgx_enclave_create { - __u64 src; -}; - -struct sgx_enclave_init { - __u64 sigstruct; -}; - -struct sgx_enclave_modify_types { - __u64 offset; - __u64 length; - __u64 page_type; - __u64 result; - __u64 count; -}; - -struct sgx_enclave_provision { - __u64 fd; -}; - -struct sgx_enclave_remove_pages { - __u64 offset; - __u64 length; - __u64 count; -}; - -struct sgx_enclave_restrict_permissions { - __u64 offset; - __u64 length; - __u64 permissions; - __u64 result; - __u64 count; -}; - -struct sgx_epc_page { - unsigned int section; - u16 flags; - u16 poison; - struct sgx_encl_page *owner; - struct list_head list; -}; - -struct sgx_numa_node; - -struct sgx_epc_section { - long unsigned int phys_addr; - void *virt_addr; - struct sgx_epc_page *pages; - struct sgx_numa_node *node; -}; - -struct sgx_numa_node { - struct list_head free_page_list; - struct list_head sgx_poison_page_list; - long unsigned int size; - spinlock_t lock; -}; - -struct sgx_pageinfo { - u64 addr; - u64 contents; - u64 metadata; - u64 secs; -}; - -struct sgx_secinfo { - u64 flags; - u8 reserved[56]; -}; - -struct sgx_secs { - u64 size; - u64 base; - u32 ssa_frame_size; - u32 miscselect; - u8 reserved1[24]; - u64 attributes; - u64 xfrm; - u32 mrenclave[8]; - u8 reserved2[32]; - u32 mrsigner[8]; - u8 reserved3[32]; - u32 config_id[16]; - u16 isv_prod_id; - u16 isv_svn; - u16 config_svn; - u8 reserved4[3834]; -}; - -struct sgx_sigstruct_header { - u64 header1[2]; - u32 vendor; - u32 date; - u64 header2[2]; - u32 swdefined; - u8 reserved1[84]; -}; - -struct sgx_sigstruct_body { - u32 miscselect; - u32 misc_mask; - u8 reserved2[20]; - u64 attributes; - u64 xfrm; - u64 attributes_mask; - u64 xfrm_mask; - u8 mrenclave[32]; - u8 reserved3[32]; - u16 isvprodid; - u16 isvsvn; -} __attribute__((packed)); - -struct sgx_sigstruct { - struct sgx_sigstruct_header header; - u8 modulus[384]; - u32 exponent; - u8 signature[384]; - struct sgx_sigstruct_body body; - u8 reserved4[12]; - u8 q1[384]; - u8 q2[384]; -}; - -struct sgx_va_page { - struct sgx_epc_page *epc_page; - long unsigned int slots[8]; - struct list_head list; -}; - -struct sgx_vepc { - struct xarray page_array; - struct mutex lock; -}; - -struct sha1_hash { - u8 hash[20]; -}; - -struct sha224_ctx { - struct __sha256_ctx ctx; -}; - -struct sha384_ctx { - struct __sha512_ctx ctx; -}; - -struct sha3_state { - u64 st[25]; -}; - -struct vcpu_info { - uint8_t evtchn_upcall_pending; - uint8_t evtchn_upcall_mask; - xen_ulong_t evtchn_pending_sel; - struct arch_vcpu_info arch; - struct pvclock_vcpu_time_info time; -}; - -struct shared_info { - struct vcpu_info vcpu_info[32]; - xen_ulong_t evtchn_pending[64]; - xen_ulong_t evtchn_mask[64]; - struct pvclock_wall_clock wc; - uint32_t wc_sec_hi; - struct arch_shared_info arch; -}; - -struct shared_policy { - struct rb_root root; - rwlock_t lock; -}; - -struct shash_alg { - int (*init)(struct shash_desc *); - int (*update)(struct shash_desc *, const u8 *, unsigned int); - int (*final)(struct shash_desc *, u8 *); - int (*finup)(struct shash_desc *, const u8 *, unsigned int, u8 *); - int (*digest)(struct shash_desc *, const u8 *, unsigned int, u8 *); - int (*export)(struct shash_desc *, void *); - int (*import)(struct shash_desc *, const void *); - int (*export_core)(struct shash_desc *, void *); - int (*import_core)(struct shash_desc *, const void *); - int (*setkey)(struct crypto_shash *, const u8 *, unsigned int); - int (*init_tfm)(struct crypto_shash *); - void (*exit_tfm)(struct crypto_shash *); - int (*clone_tfm)(struct crypto_shash *, struct crypto_shash *); - unsigned int descsize; - union { - struct { - unsigned int digestsize; - unsigned int statesize; - struct crypto_alg base; - }; - struct hash_alg_common halg; - }; -}; - -struct shash_instance { - void (*free)(struct shash_instance *); - union { - struct { - char head[120]; - struct crypto_instance base; - } s; - struct shash_alg alg; - }; -}; - -struct shift_out_of_bounds_data { - struct source_location location; - struct type_descriptor *lhs_type; - struct type_descriptor *rhs_type; -}; - -struct shm_file_data { - int id; - struct ipc_namespace *ns; - struct file *file; - const struct vm_operations_struct *vm_ops; -}; - -struct shm_info { - int used_ids; - __kernel_ulong_t shm_tot; - __kernel_ulong_t shm_rss; - __kernel_ulong_t shm_swp; - __kernel_ulong_t swap_attempts; - __kernel_ulong_t swap_successes; -}; - -struct shmem_falloc { - wait_queue_head_t *waitq; - long unsigned int start; - long unsigned int next; - long unsigned int nr_falloced; - long unsigned int nr_unswapped; -}; - -struct shmem_inode_info { - spinlock_t lock; - unsigned int seals; - long unsigned int flags; - long unsigned int alloced; - long unsigned int swapped; - union { - struct offset_ctx dir_offsets; - struct { - struct list_head shrinklist; - struct list_head swaplist; - }; - }; - struct timespec64 i_crtime; - struct shared_policy policy; - struct simple_xattrs xattrs; - long unsigned int fallocend; - unsigned int fsflags; - atomic_t stop_eviction; - struct dquot *i_dquot[3]; - struct inode vfs_inode; -}; - -struct shmem_quota_limits { - qsize_t usrquota_bhardlimit; - qsize_t usrquota_ihardlimit; - qsize_t grpquota_bhardlimit; - qsize_t grpquota_ihardlimit; -}; - -struct unicode_map; - -struct shmem_options { - long long unsigned int blocks; - long long unsigned int inodes; - struct mempolicy *mpol; - kuid_t uid; - kgid_t gid; - umode_t mode; - bool full_inums; - int huge; - int seen; - bool noswap; - short unsigned int quota_types; - struct shmem_quota_limits qlimits; - struct unicode_map *encoding; - bool strict_encoding; -}; - -struct shmem_sb_info { - long unsigned int max_blocks; - struct percpu_counter used_blocks; - long unsigned int max_inodes; - long unsigned int free_ispace; - raw_spinlock_t stat_lock; - umode_t mode; - unsigned char huge; - kuid_t uid; - kgid_t gid; - bool full_inums; - bool noswap; - ino_t next_ino; - ino_t *ino_batch; - struct mempolicy *mpol; - spinlock_t shrinklist_lock; - struct list_head shrinklist; - long unsigned int shrinklist_len; - struct shmem_quota_limits qlimits; -}; - -struct shmid64_ds { - struct ipc64_perm shm_perm; - __kernel_size_t shm_segsz; - long int shm_atime; - long int shm_dtime; - long int shm_ctime; - __kernel_pid_t shm_cpid; - __kernel_pid_t shm_lpid; - long unsigned int shm_nattch; - long unsigned int __unused4; - long unsigned int __unused5; -}; - -struct shmid_ds { - struct ipc_perm shm_perm; - int shm_segsz; - __kernel_old_time_t shm_atime; - __kernel_old_time_t shm_dtime; - __kernel_old_time_t shm_ctime; - __kernel_ipc_pid_t shm_cpid; - __kernel_ipc_pid_t shm_lpid; - short unsigned int shm_nattch; - short unsigned int shm_unused; - void *shm_unused2; - void *shm_unused3; -}; - -struct shmid_kernel { - struct kern_ipc_perm shm_perm; - struct file *shm_file; - long unsigned int shm_nattch; - long unsigned int shm_segsz; - time64_t shm_atim; - time64_t shm_dtim; - time64_t shm_ctim; - struct pid *shm_cprid; - struct pid *shm_lprid; - struct ucounts *mlock_ucounts; - struct task_struct *shm_creator; - struct list_head shm_clist; - struct ipc_namespace *ns; - long: 64; - long: 64; - long: 64; -}; - -struct shminfo { - int shmmax; - int shmmin; - int shmmni; - int shmseg; - int shmall; -}; - -struct shminfo64 { - long unsigned int shmmax; - long unsigned int shmmin; - long unsigned int shmmni; - long unsigned int shmseg; - long unsigned int shmall; - long unsigned int __unused1; - long unsigned int __unused2; - long unsigned int __unused3; - long unsigned int __unused4; -}; - -struct shortname_info { - unsigned char lower: 1; - unsigned char upper: 1; - unsigned char valid: 1; -}; - -struct show_busy_params { - struct seq_file *m; - struct blk_mq_hw_ctx *hctx; -}; - -struct shrink_control { - gfp_t gfp_mask; - int nid; - long unsigned int nr_to_scan; - long unsigned int nr_scanned; - struct mem_cgroup *memcg; -}; - -struct shrinker { - long unsigned int (*count_objects)(struct shrinker *, struct shrink_control *); - long unsigned int (*scan_objects)(struct shrinker *, struct shrink_control *); - long int batch; - int seeks; - unsigned int flags; - refcount_t refcount; - struct completion done; - struct callback_head rcu; - void *private_data; - struct list_head list; - int id; - atomic_long_t *nr_deferred; -}; - -struct shrinker_info_unit; - -struct shrinker_info { - struct callback_head rcu; - int map_nr_max; - struct shrinker_info_unit *unit[0]; -}; - -struct shrinker_info_unit { - atomic_long_t nr_deferred[64]; - long unsigned int map[1]; -}; - -struct shutdown_handler { - const char command[11]; - bool flag; - void (*cb)(void); -}; - -struct sidtab_node_inner; - -struct sidtab_node_leaf; - -union sidtab_entry_inner { - struct sidtab_node_inner *ptr_inner; - struct sidtab_node_leaf *ptr_leaf; -}; - -struct sidtab_str_cache; - -struct sidtab_entry { - u32 sid; - u32 hash; - struct context___2 context; - struct sidtab_str_cache *cache; - struct hlist_node list; -}; - -struct sidtab_isid_entry { - int set; - struct sidtab_entry entry; -}; - -struct sidtab { - union sidtab_entry_inner roots[4]; - u32 count; - struct sidtab_convert_params *convert; - bool frozen; - spinlock_t lock; - u32 cache_free_slots; - struct list_head cache_lru_list; - spinlock_t cache_lock; - struct sidtab_isid_entry isids[27]; - struct hlist_head context_to_sid[512]; -}; - -struct sidtab_node_inner { - union sidtab_entry_inner entries[512]; -}; - -struct sidtab_node_leaf { - struct sidtab_entry entries[39]; -}; - -struct sidtab_str_cache { - struct callback_head rcu_member; - struct list_head lru_member; - struct sidtab_entry *parent; - u32 len; - char str[0]; -}; - -struct sig_alg { - int (*sign)(struct crypto_sig *, const void *, unsigned int, void *, unsigned int); - int (*verify)(struct crypto_sig *, const void *, unsigned int, const void *, unsigned int); - int (*set_pub_key)(struct crypto_sig *, const void *, unsigned int); - int (*set_priv_key)(struct crypto_sig *, const void *, unsigned int); - unsigned int (*key_size)(struct crypto_sig *); - unsigned int (*digest_size)(struct crypto_sig *); - unsigned int (*max_size)(struct crypto_sig *); - int (*init)(struct crypto_sig *); - void (*exit)(struct crypto_sig *); - struct crypto_alg base; -}; - -struct sig_instance { - void (*free)(struct sig_instance *); - union { - struct { - char head[72]; - struct crypto_instance base; - }; - struct sig_alg alg; - }; -}; - -typedef struct sigevent sigevent_t; - -struct sigframe_ia32 { - u32 pretcode; - int sig; - struct sigcontext_32 sc; - struct _fpstate_32 fpstate_unused; - unsigned int extramask[1]; - char retcode[8]; -}; - -struct sighand_struct { - spinlock_t siglock; - refcount_t count; - wait_queue_head_t signalfd_wqh; - struct k_sigaction action[64]; -}; - -struct sigpending { - struct list_head list; - sigset_t signal; -}; - -struct task_cputime_atomic { - atomic64_t utime; - atomic64_t stime; - atomic64_t sum_exec_runtime; -}; - -struct thread_group_cputimer { - struct task_cputime_atomic cputime_atomic; -}; - -struct task_io_accounting { - u64 rchar; - u64 wchar; - u64 syscr; - u64 syscw; - u64 read_bytes; - u64 write_bytes; - u64 cancelled_write_bytes; -}; - -struct taskstats; - -struct tty_audit_buf; - -struct signal_struct { - refcount_t sigcnt; - atomic_t live; - int nr_threads; - int quick_threads; - struct list_head thread_head; - wait_queue_head_t wait_chldexit; - struct task_struct *curr_target; - struct sigpending shared_pending; - struct hlist_head multiprocess; - int group_exit_code; - int notify_count; - struct task_struct *group_exec_task; - int group_stop_count; - unsigned int flags; - struct core_state *core_state; - unsigned int is_child_subreaper: 1; - unsigned int has_child_subreaper: 1; - unsigned int timer_create_restore_ids: 1; - atomic_t next_posix_timer_id; - struct hlist_head posix_timers; - struct hlist_head ignored_posix_timers; - struct hrtimer real_timer; - ktime_t it_real_incr; - struct cpu_itimer it[2]; - struct thread_group_cputimer cputimer; - struct posix_cputimers posix_cputimers; - struct pid *pids[4]; - atomic_t tick_dep_mask; - struct pid *tty_old_pgrp; - int leader; - struct tty_struct *tty; - struct autogroup *autogroup; - seqlock_t stats_lock; - u64 utime; - u64 stime; - u64 cutime; - u64 cstime; - u64 gtime; - u64 cgtime; - struct prev_cputime prev_cputime; - long unsigned int nvcsw; - long unsigned int nivcsw; - long unsigned int cnvcsw; - long unsigned int cnivcsw; - long unsigned int min_flt; - long unsigned int maj_flt; - long unsigned int cmin_flt; - long unsigned int cmaj_flt; - long unsigned int inblock; - long unsigned int oublock; - long unsigned int cinblock; - long unsigned int coublock; - long unsigned int maxrss; - long unsigned int cmaxrss; - struct task_io_accounting ioac; - long long unsigned int sum_sched_runtime; - struct rlimit rlim[16]; - struct pacct_struct pacct; - struct taskstats *stats; - unsigned int audit_tty; - struct tty_audit_buf *tty_audit_buf; - bool oom_flag_origin; - short int oom_score_adj; - short int oom_score_adj_min; - struct mm_struct *oom_mm; - struct mutex cred_guard_mutex; - struct rw_semaphore exec_update_lock; -}; - -struct signalfd_ctx { - sigset_t sigmask; -}; - -struct signalfd_siginfo { - __u32 ssi_signo; - __s32 ssi_errno; - __s32 ssi_code; - __u32 ssi_pid; - __u32 ssi_uid; - __s32 ssi_fd; - __u32 ssi_tid; - __u32 ssi_band; - __u32 ssi_overrun; - __u32 ssi_trapno; - __s32 ssi_status; - __s32 ssi_int; - __u64 ssi_ptr; - __u64 ssi_utime; - __u64 ssi_stime; - __u64 ssi_addr; - __u16 ssi_addr_lsb; - __u16 __pad2; - __s32 ssi_syscall; - __u64 ssi_call_addr; - __u32 ssi_arch; - __u8 __pad[28]; -}; - -struct signature_hdr { - uint8_t version; - uint32_t timestamp; - uint8_t algo; - uint8_t hash; - uint8_t keyid[8]; - uint8_t nmpi; - char mpi[0]; -} __attribute__((packed)); - -struct signature_v2_hdr { - uint8_t type; - uint8_t version; - uint8_t hash_algo; - __be32 keyid; - __be16 sig_size; - uint8_t sig[0]; -} __attribute__((packed)); - -struct sigpool_entry { - struct crypto_ahash *hash; - const char *alg; - struct kref kref; - uint16_t needs_key: 1; - uint16_t reserved: 15; -}; - -struct sigpool_scratch { - local_lock_t bh_lock; - void *pad; -}; - -struct sigset_argpack { - sigset_t *p; - size_t size; -}; - -struct sih_irq_data { - u8 isr_offset; - u8 imr_offset; -}; - -struct sih { - char name[8]; - u8 module; - u8 control_offset; - bool set_cor; - u8 bits; - u8 bytes_ixr; - u8 edr_offset; - u8 bytes_edr; - u8 irq_lines; - struct sih_irq_data mask[2]; -}; - -struct sih_agent { - int irq_base; - const struct sih *sih; - u32 imr; - bool imr_change_pending; - u32 edge_change; - struct mutex irq_lock; - char *irq_name; -}; - -struct simple_attr { - int (*get)(void *, u64 *); - int (*set)(void *, u64); - char get_buf[24]; - char set_buf[24]; - void *data; - const char *fmt; - struct mutex mutex; -}; - -struct simple_transaction_argresp { - ssize_t size; - char data[0]; -}; - -struct simple_xattr { - struct rb_node rb_node; - char *name; - size_t size; - char value[0]; -}; - -struct simpledrm_device { - struct drm_sysfb_device sysfb; - u32 formats[2]; - struct drm_plane primary_plane; - struct drm_crtc crtc; - struct drm_encoder encoder; - struct drm_connector connector; -}; - -struct simplefb_format { - const char *name; - u32 bits_per_pixel; - struct fb_bitfield red; - struct fb_bitfield green; - struct fb_bitfield blue; - struct fb_bitfield transp; - u32 fourcc; -}; - -struct simplefb_platform_data { - u32 width; - u32 height; - u32 stride; - const char *format; -}; - -struct sinit_mle_data { - u32 version; - struct sha1_hash bios_acm_id; - u32 edx_senter_flags; - u64 mseg_valid; - struct sha1_hash sinit_hash; - struct sha1_hash mle_hash; - struct sha1_hash stm_hash; - struct sha1_hash lcp_policy_hash; - u32 lcp_policy_control; - u32 rlp_wakeup_addr; - u32 reserved; - u32 num_mdrs; - u32 mdrs_off; - u32 num_vtd_dmars; - u32 vtd_dmars_off; -} __attribute__((packed)); - -struct sioc_mif_req6 { - mifi_t mifi; - long unsigned int icount; - long unsigned int ocount; - long unsigned int ibytes; - long unsigned int obytes; -}; - -struct sioc_sg_req { - struct in_addr src; - struct in_addr grp; - long unsigned int pktcnt; - long unsigned int bytecnt; - long unsigned int wrong_if; -}; - -struct sioc_sg_req6 { - struct sockaddr_in6 src; - struct sockaddr_in6 grp; - long unsigned int pktcnt; - long unsigned int bytecnt; - long unsigned int wrong_if; -}; - -struct sioc_vif_req { - vifi_t vifi; - long unsigned int icount; - long unsigned int ocount; - long unsigned int ibytes; - long unsigned int obytes; -}; - -struct sis_chipset { - u16 device; - const struct ata_port_info *info; -}; - -struct sis_laptop { - u16 device; - u16 subvendor; - u16 subdevice; -}; - -struct zs_size_stat { - long unsigned int objs[14]; -}; - -struct size_class { - spinlock_t lock; - struct list_head fullness_list[12]; - int size; - int objs_per_zspage; - int pages_per_zspage; - unsigned int index; - struct zs_size_stat stats; -}; - -struct sk_buff__safe_rcu_or_null { - struct sock *sk; -}; - -struct sk_buff_fclones { - struct sk_buff skb1; - struct sk_buff skb2; - refcount_t fclone_ref; -}; - -struct sk_filter { - refcount_t refcnt; - struct callback_head rcu; - struct bpf_prog *prog; -}; - -struct sk_psock_work_state { - u32 len; - u32 off; -}; - -struct sk_psock { - struct sock *sk; - struct sock *sk_redir; - u32 apply_bytes; - u32 cork_bytes; - u32 eval; - bool redir_ingress; - struct sk_msg *cork; - struct sk_psock_progs progs; - struct strparser strp; - u32 copied_seq; - u32 ingress_bytes; - struct sk_buff_head ingress_skb; - struct list_head ingress_msg; - spinlock_t ingress_lock; - long unsigned int state; - struct list_head link; - spinlock_t link_lock; - refcount_t refcnt; - void (*saved_unhash)(struct sock *); - void (*saved_destroy)(struct sock *); - void (*saved_close)(struct sock *, long int); - void (*saved_write_space)(struct sock *); - void (*saved_data_ready)(struct sock *); - int (*psock_update_sk_prot)(struct sock *, struct sk_psock *, bool); - struct proto *sk_proto; - struct mutex work_mutex; - struct sk_psock_work_state work_state; - struct delayed_work work; - struct sock *sk_pair; - struct rcu_work rwork; -}; - -struct sk_psock_link { - struct list_head list; - struct bpf_map *map; - void *link_raw; -}; - -struct sk_security_struct { - enum { - NLBL_UNSET = 0, - NLBL_REQUIRE = 1, - NLBL_LABELED = 2, - NLBL_REQSKB = 3, - NLBL_CONNLABELED = 4, - } nlbl_state; - struct netlbl_lsm_secattr *nlbl_secattr; - u32 sid; - u32 peer_sid; - u16 sclass; - enum { - SCTP_ASSOC_UNSET = 0, - SCTP_ASSOC_SET = 1, - } sctp_assoc_state; -}; - -struct tls_msg { - u8 control; -}; - -struct sk_skb_cb { - unsigned char data[20]; - unsigned char pad[4]; - struct _strp_msg strp; - struct tls_msg tls; - u64 temp_reg; -}; - -struct skb_ext { - refcount_t refcnt; - u8 offset[5]; - u8 chunks; - long: 0; - char data[0]; -}; - -struct skb_frag { - netmem_ref netmem; - unsigned int len; - unsigned int offset; -}; - -typedef struct skb_frag skb_frag_t; - -struct skb_free_array { - unsigned int skb_count; - void *skb_array[16]; -}; - -struct skb_gso_cb { - union { - int mac_offset; - int data_offset; - }; - int encap_level; - __wsum csum; - __u16 csum_start; -}; - -struct skb_seq_state { - __u32 lower_offset; - __u32 upper_offset; - __u32 frag_idx; - __u32 stepped_offset; - struct sk_buff *root_skb; - struct sk_buff *cur_skb; - __u8 *frag_data; - __u32 frag_off; -}; - -struct skb_shared_hwtstamps { - union { - ktime_t hwtstamp; - void *netdev_data; - }; -}; - -struct xsk_tx_metadata_compl { - __u64 *tx_timestamp; -}; - -struct skb_shared_info { - __u8 flags; - __u8 meta_len; - __u8 nr_frags; - __u8 tx_flags; - short unsigned int gso_size; - short unsigned int gso_segs; - struct sk_buff *frag_list; - union { - struct skb_shared_hwtstamps hwtstamps; - struct xsk_tx_metadata_compl xsk_meta; - }; - unsigned int gso_type; - u32 tskey; - atomic_t dataref; - union { - struct { - u32 xdp_frags_size; - u32 xdp_frags_truesize; - }; - void *destructor_arg; - }; - skb_frag_t frags[17]; -}; - -struct skcipher_alg { - int (*setkey)(struct crypto_skcipher *, const u8 *, unsigned int); - int (*encrypt)(struct skcipher_request *); - int (*decrypt)(struct skcipher_request *); - int (*export)(struct skcipher_request *, void *); - int (*import)(struct skcipher_request *, const void *); - int (*init)(struct crypto_skcipher *); - void (*exit)(struct crypto_skcipher *); - unsigned int walksize; - union { - struct { - unsigned int min_keysize; - unsigned int max_keysize; - unsigned int ivsize; - unsigned int chunksize; - unsigned int statesize; - struct crypto_alg base; - }; - struct skcipher_alg_common co; - }; -}; - -struct skcipher_ctx_simple { - struct crypto_cipher *cipher; -}; - -struct skcipher_instance { - void (*free)(struct skcipher_instance *); - union { - struct { - char head[88]; - struct crypto_instance base; - } s; - struct skcipher_alg alg; - }; -}; - -struct skcipher_walk { - union { - struct { - struct { - const void * const addr; - } virt; - } src; - struct scatter_walk in; - }; - union { - struct { - struct { - void * const addr; - } virt; - } dst; - struct scatter_walk out; - }; - unsigned int nbytes; - unsigned int total; - u8 *page; - u8 *buffer; - u8 *oiv; - void *iv; - unsigned int ivsize; - int flags; - unsigned int blocksize; - unsigned int stride; - unsigned int alignmask; -}; - -struct sku_microcode { - u32 vfm; - u8 stepping; - u32 microcode; -}; - -struct slab { - long unsigned int flags; - struct kmem_cache *slab_cache; - union { - struct { - union { - struct list_head slab_list; - struct { - struct slab *next; - int slabs; - }; - }; - union { - struct { - void *freelist; - union { - long unsigned int counters; - struct { - unsigned int inuse: 16; - unsigned int objects: 15; - unsigned int frozen: 1; - }; - }; - }; - freelist_aba_t freelist_counter; - }; - }; - struct callback_head callback_head; - }; - unsigned int __page_type; - atomic_t __page_refcount; - long unsigned int obj_exts; -}; - -struct slab_attribute { - struct attribute attr; - ssize_t (*show)(struct kmem_cache *, char *); - ssize_t (*store)(struct kmem_cache *, const char *, size_t); -}; - -struct slabinfo { - long unsigned int active_objs; - long unsigned int num_objs; - long unsigned int active_slabs; - long unsigned int num_slabs; - long unsigned int shared_avail; - unsigned int limit; - unsigned int batchcount; - unsigned int shared; - unsigned int objects_per_slab; - unsigned int cache_order; -}; - -struct slcompress { - struct cstate *tstate; - struct cstate *rstate; - byte_t tslot_limit; - byte_t rslot_limit; - byte_t xmit_oldest; - byte_t xmit_current; - byte_t recv_current; - byte_t flags; - int32 sls_o_nontcp; - int32 sls_o_tcp; - int32 sls_o_uncompressed; - int32 sls_o_compressed; - int32 sls_o_searches; - int32 sls_o_misses; - int32 sls_i_uncompressed; - int32 sls_i_compressed; - int32 sls_i_error; - int32 sls_i_tossed; - int32 sls_i_runt; - int32 sls_i_badcheck; -}; - -struct slice { - __be32 nblocks; - __be32 blkoff; -}; - -struct slot___2 { - u8 bus; - u8 device; - u16 status; - u32 number; - u8 is_a_board; - u8 state; - u8 attention_save; - u8 presence_save; - u8 latch_save; - u8 pwr_save; - struct controller___2 *ctrl; - struct hotplug_slot hotplug_slot; - struct list_head slot_list; - struct delayed_work work; - struct mutex lock; - struct workqueue_struct *wq; - u8 hp_slot; -}; - -struct slot { - struct hotplug_slot hotplug_slot; - struct acpiphp_slot *acpi_slot; - unsigned int sun; -}; - -struct slot___3 { - u8 number; - unsigned int devfn; - struct pci_bus *bus; - struct pci_dev *dev; - unsigned int latch_status: 1; - unsigned int adapter_status: 1; - unsigned int extracting; - struct hotplug_slot hotplug_slot; - struct list_head slot_list; -}; - -struct slub_flush_work { - struct work_struct work; - struct kmem_cache *s; - bool skip; -}; - -struct smack_audit_data { - const char *function; - char *subject; - char *object; - char *request; - int result; -}; - -struct smack_known { - struct list_head list; - struct hlist_node smk_hashed; - char *smk_known; - u32 smk_secid; - struct netlbl_lsm_secattr smk_netlabel; - struct list_head smk_rules; - struct mutex smk_rules_lock; -}; - -struct smack_known_list_elem { - struct list_head list; - struct smack_known *smk_label; -}; - -struct smack_mnt_opts { - const char *fsdefault; - const char *fsfloor; - const char *fshat; - const char *fsroot; - const char *fstransmute; -}; - -struct smack_parsed_rule { - struct smack_known *smk_subject; - struct smack_known *smk_object; - int smk_access1; - int smk_access2; -}; - -struct smack_rule { - struct list_head list; - struct smack_known *smk_subject; - struct smack_known *smk_object; - int smk_access; -}; - -struct smca_hwid; - -struct smca_bank { - const struct smca_hwid *hwid; - u32 id; - u8 sysfs_id; -}; - -struct smca_hwid { - unsigned int bank_type; - u32 hwid_mcatype; -}; - -struct sme_populate_pgd_data { - void *pgtable_area; - pgd_t *pgd; - pmdval_t pmd_flags; - pteval_t pte_flags; - long unsigned int paddr; - long unsigned int vaddr; - long unsigned int vaddr_end; -}; - -struct smk_audit_info { - struct common_audit_data a; - struct smack_audit_data sad; -}; - -struct smk_net4addr { - struct list_head list; - struct in_addr smk_host; - struct in_addr smk_mask; - int smk_masks; - struct smack_known *smk_label; -}; - -struct smk_net6addr { - struct list_head list; - struct in6_addr smk_host; - struct in6_addr smk_mask; - int smk_masks; - struct smack_known *smk_label; -}; - -struct smp_alt_module { - struct module *mod; - char *name; - const s32 *locks; - const s32 *locks_end; - u8 *text; - u8 *text_end; - struct list_head next; -}; - -struct smp_call_on_cpu_struct { - struct work_struct work; - struct completion done; - int (*func)(void *); - void *data; - int ret; - int cpu; -}; - -struct smp_hotplug_thread { - struct task_struct **store; - struct list_head list; - int (*thread_should_run)(unsigned int); - void (*thread_fn)(unsigned int); - void (*create)(unsigned int); - void (*setup)(unsigned int); - void (*cleanup)(unsigned int, bool); - void (*park)(unsigned int); - void (*unpark)(unsigned int); - bool selfparking; - const char *thread_comm; -}; - -struct smp_ops { - void (*smp_prepare_boot_cpu)(void); - void (*smp_prepare_cpus)(unsigned int); - void (*smp_cpus_done)(unsigned int); - void (*stop_other_cpus)(int); - void (*crash_stop_other_cpus)(void); - void (*smp_send_reschedule)(int); - void (*cleanup_dead_cpu)(unsigned int); - void (*poll_sync_state)(void); - int (*kick_ap_alive)(unsigned int, struct task_struct *); - int (*cpu_disable)(void); - void (*cpu_die)(unsigned int); - void (*play_dead)(void); - void (*stop_this_cpu)(void); - void (*send_call_func_ipi)(const struct cpumask *); - void (*send_call_func_single_ipi)(int); -}; - -struct smp_text_poke_loc { - s32 rel_addr; - s32 disp; - u8 len; - u8 opcode; - const u8 text[5]; - u8 old; -}; - -struct smp_text_poke_array { - struct smp_text_poke_loc vec[256]; - int nr_entries; -}; - -struct smpboot_thread_data { - unsigned int cpu; - unsigned int status; - struct smp_hotplug_thread *ht; -}; - -struct snapshot_context { - struct tracing_map_elt *elt; - void *key; -}; - -struct snapshot_handle { - unsigned int cur; - void *buffer; - int sync_read; -}; - -struct snapshot_data { - struct snapshot_handle handle; - int swap; - int mode; - bool frozen; - bool ready; - bool platform_support; - bool free_bitmaps; - dev_t dev; -}; - -struct snmp_mib { - const char *name; - int entry; -}; - -struct snp_cpuid_fn { - u32 eax_in; - u32 ecx_in; - u64 xcr0_in; - u64 xss_in; - u32 eax; - u32 ebx; - u32 ecx; - u32 edx; - u64 __reserved; -}; - -struct snp_cpuid_table { - u32 count; - u32 __reserved1; - u64 __reserved2; - struct snp_cpuid_fn fn[64]; -}; - -struct snp_guest_msg_hdr { - u8 authtag[32]; - u64 msg_seqno; - u8 rsvd1[8]; - u8 algo; - u8 hdr_version; - u16 hdr_sz; - u8 msg_type; - u8 msg_version; - u16 msg_sz; - u32 rsvd2; - u8 msg_vmpck; - u8 rsvd3[35]; -}; - -struct snp_guest_msg { - struct snp_guest_msg_hdr hdr; - u8 payload[4000]; -}; - -struct snp_req_data { - long unsigned int req_gpa; - long unsigned int resp_gpa; - long unsigned int data_gpa; - unsigned int data_npages; -}; - -struct snp_guest_req { - void *req_buf; - size_t req_sz; - void *resp_buf; - size_t resp_sz; - u64 exit_code; - u64 exitinfo2; - unsigned int vmpck_id; - u8 msg_version; - u8 msg_type; - struct snp_req_data input; - void *certs_data; -}; - -struct snp_secrets_page; - -struct snp_msg_desc { - struct snp_guest_msg *request; - struct snp_guest_msg *response; - struct snp_guest_msg secret_request; - struct snp_guest_msg secret_response; - struct snp_secrets_page *secrets; - struct aesgcm_ctx *ctx; - u32 *os_area_msg_seqno; - u8 *vmpck; - int vmpck_id; -}; - -struct snp_psc_desc { - struct psc_hdr hdr; - struct psc_entry entries[64]; -}; - -struct snp_secrets_page { - u32 version; - u32 imien: 1; - u32 rsvd1: 31; - u32 fms; - u32 rsvd2; - u8 gosvw[16]; - u8 vmpck0[32]; - u8 vmpck1[32]; - u8 vmpck2[32]; - u8 vmpck3[32]; - struct secrets_os_area os_area; - u8 vmsa_tweak_bitmap[64]; - u64 svsm_base; - u64 svsm_size; - u64 svsm_caa; - u32 svsm_max_version; - u8 svsm_guest_vmpl; - u8 rsvd3[3]; - u32 tsc_factor; - u8 rsvd4[3740]; -}; - -struct snp_tsc_info_req { - u8 rsvd[128]; -}; - -struct snp_tsc_info_resp { - u32 status; - u32 rsvd1; - u64 tsc_scale; - u64 tsc_offset; - u32 tsc_factor; - u8 rsvd2[100]; -}; - -struct so_timestamping { - int flags; - int bind_phc; -}; - -struct soc_device_attribute; - -struct soc_device { - struct device dev; - struct soc_device_attribute *attr; - int soc_dev_num; -}; - -struct soc_device_attribute { - const char *machine; - const char *family; - const char *revision; - const char *serial_number; - const char *soc_id; - const void *data; - const struct attribute_group *custom_attr_group; -}; - -struct sock_bh_locked { - struct sock *sock; - local_lock_t bh_lock; -}; - -struct sock_diag_handler { - struct module *owner; - __u8 family; - int (*dump)(struct sk_buff *, struct nlmsghdr *); - int (*get_info)(struct sk_buff *, struct sock *); - int (*destroy)(struct sk_buff *, struct nlmsghdr *); -}; - -struct sock_diag_inet_compat { - struct module *owner; - int (*fn)(struct sk_buff *, struct nlmsghdr *); -}; - -struct sock_diag_req { - __u8 sdiag_family; - __u8 sdiag_protocol; -}; - -struct sock_ee_data_rfc4884 { - __u16 len; - __u8 flags; - __u8 reserved; -}; - -struct sock_extended_err { - __u32 ee_errno; - __u8 ee_origin; - __u8 ee_type; - __u8 ee_code; - __u8 ee_pad; - __u32 ee_info; - union { - __u32 ee_data; - struct sock_ee_data_rfc4884 ee_rfc4884; - }; -}; - -struct sock_exterr_skb { - union { - struct inet_skb_parm h4; - struct inet6_skb_parm h6; - } header; - struct sock_extended_err ee; - u16 addr_offset; - __be16 port; - u8 opt_stats: 1; - u8 unused: 7; -}; - -struct sock_fprog { - short unsigned int len; - struct sock_filter *filter; -}; - -struct sock_fprog32 { - short unsigned int len; - compat_caddr_t filter; -}; - -struct sock_fprog_kern { - u16 len; - struct sock_filter *filter; -}; - -struct sock_hash_seq_info { - struct bpf_map *map; - struct bpf_shtab *htab; - u32 bucket_id; -}; - -struct sock_map_seq_info { - struct bpf_map *map; - struct sock *sk; - u32 index; -}; - -struct sock_reuseport { - struct callback_head rcu; - u16 max_socks; - u16 num_socks; - u16 num_closed_socks; - u16 incoming_cpu; - unsigned int synq_overflow_ts; - unsigned int reuseport_id; - unsigned int bind_inany: 1; - unsigned int has_conns: 1; - struct bpf_prog *prog; - struct sock *socks[0]; -}; - -struct sock_skb_cb { - u32 dropcount; -}; - -struct sock_txtime { - __kernel_clockid_t clockid; - __u32 flags; -}; - -struct sockaddr_mctp { - __kernel_sa_family_t smctp_family; - __u16 __smctp_pad0; - unsigned int smctp_network; - struct mctp_addr smctp_addr; - __u8 smctp_type; - __u8 smctp_tag; - __u8 __smctp_pad1; -}; - -struct sockaddr_mctp_ext { - struct sockaddr_mctp smctp_base; - int smctp_ifindex; - __u8 smctp_halen; - __u8 __smctp_pad0[3]; - __u8 smctp_haddr[32]; -}; - -struct sockaddr_nl { - __kernel_sa_family_t nl_family; - short unsigned int nl_pad; - __u32 nl_pid; - __u32 nl_groups; -}; - -struct sockaddr_un { - __kernel_sa_family_t sun_family; - char sun_path[108]; -}; - -struct sockaddr_xdp { - __u16 sxdp_family; - __u16 sxdp_flags; - __u32 sxdp_ifindex; - __u32 sxdp_queue_id; - __u32 sxdp_shared_umem_fd; -}; - -struct socket_wq { - wait_queue_head_t wait; - struct fasync_struct *fasync_list; - long unsigned int flags; - struct callback_head rcu; - long: 64; -}; - -struct socket { - socket_state state; - short int type; - long unsigned int flags; - struct file *file; - struct sock *sk; - const struct proto_ops *ops; - long: 64; - long: 64; - long: 64; - struct socket_wq wq; -}; - -struct socket__safe_trusted_or_null { - struct sock *sk; -}; - -struct socket_alloc { - struct socket socket; - struct inode vfs_inode; - long: 64; - long: 64; -}; - -struct socket_smack { - struct smack_known *smk_out; - struct smack_known *smk_in; - struct smack_known *smk_packet; - int smk_state; -}; - -struct sockmap_link { - struct bpf_link link; - struct bpf_map *map; -}; - -struct softirq_action { - void (*action)(void); -}; - -struct softnet_data { - struct list_head poll_list; - struct sk_buff_head process_queue; - local_lock_t process_queue_bh_lock; - unsigned int processed; - unsigned int time_squeeze; - struct softnet_data *rps_ipi_list; - unsigned int received_rps; - bool in_net_rx_action; - bool in_napi_threaded_poll; - struct sd_flow_limit *flow_limit; - struct Qdisc *output_queue; - struct Qdisc **output_queue_tailp; - struct sk_buff *completion_queue; - struct sk_buff_head xfrm_backlog; - struct netdev_xmit xmit; - unsigned int input_queue_head; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - call_single_data_t csd; - struct softnet_data *rps_ipi_next; - unsigned int cpu; - unsigned int input_queue_tail; - struct sk_buff_head input_pkt_queue; - struct napi_struct backlog; - long: 64; - atomic_t dropped; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - spinlock_t defer_lock; - int defer_count; - int defer_ipi_scheduled; - struct sk_buff *defer_list; - long: 64; - call_single_data_t defer_csd; -}; - -struct software_node { - const char *name; - const struct software_node *parent; - const struct property_entry *properties; -}; - -struct solaris_x86_slice { - __le16 s_tag; - __le16 s_flag; - __le32 s_start; - __le32 s_size; -}; - -struct solaris_x86_vtoc { - unsigned int v_bootinfo[3]; - __le32 v_sanity; - __le32 v_version; - char v_volume[8]; - __le16 v_sectorsz; - __le16 v_nparts; - unsigned int v_reserved[10]; - struct solaris_x86_slice v_slice[16]; - unsigned int timestamp[16]; - char v_asciilabel[128]; -}; - -struct sp_node { - struct rb_node nd; - long unsigned int start; - long unsigned int end; - struct mempolicy *policy; -}; - -struct space_resv { - __s16 l_type; - __s16 l_whence; - __s64 l_start; - __s64 l_len; - __s32 l_sysid; - __u32 l_pid; - __s32 l_pad[4]; -}; - -struct space_resv_32 { - __s16 l_type; - __s16 l_whence; - __s64 l_start; - __s64 l_len; - __s32 l_sysid; - __u32 l_pid; - __s32 l_pad[4]; -} __attribute__((packed)); - -struct speed_down_verdict_arg { - u64 since; - int xfer_ok; - int nr_errors[8]; -}; - -struct spi_controller_mem_ops; - -struct spi_controller_mem_caps; - -struct spi_offload_config; - -struct spi_statistics; - -struct spi_controller { - struct device dev; - struct list_head list; - s16 bus_num; - u16 num_chipselect; - u16 dma_alignment; - u32 mode_bits; - u32 buswidth_override_bits; - u32 bits_per_word_mask; - u32 min_speed_hz; - u32 max_speed_hz; - u16 flags; - bool devm_allocated; - union { - bool slave; - bool target; - }; - size_t (*max_transfer_size)(struct spi_device *); - size_t (*max_message_size)(struct spi_device *); - struct mutex io_mutex; - struct mutex add_lock; - spinlock_t bus_lock_spinlock; - struct mutex bus_lock_mutex; - bool bus_lock_flag; - int (*setup)(struct spi_device *); - int (*set_cs_timing)(struct spi_device *); - int (*transfer)(struct spi_device *, struct spi_message *); - void (*cleanup)(struct spi_device *); - bool (*can_dma)(struct spi_controller *, struct spi_device *, struct spi_transfer *); - struct device *dma_map_dev; - struct device *cur_rx_dma_dev; - struct device *cur_tx_dma_dev; - bool queued; - struct kthread_worker *kworker; - struct kthread_work pump_messages; - spinlock_t queue_lock; - struct list_head queue; - struct spi_message *cur_msg; - struct completion cur_msg_completion; - bool cur_msg_incomplete; - bool cur_msg_need_completion; - bool busy; - bool running; - bool rt; - bool auto_runtime_pm; - bool fallback; - bool last_cs_mode_high; - s8 last_cs[24]; - u32 last_cs_index_mask: 24; - struct completion xfer_completion; - size_t max_dma_len; - int (*optimize_message)(struct spi_message *); - int (*unoptimize_message)(struct spi_message *); - int (*prepare_transfer_hardware)(struct spi_controller *); - int (*transfer_one_message)(struct spi_controller *, struct spi_message *); - int (*unprepare_transfer_hardware)(struct spi_controller *); - int (*prepare_message)(struct spi_controller *, struct spi_message *); - int (*unprepare_message)(struct spi_controller *, struct spi_message *); - int (*target_abort)(struct spi_controller *); - void (*set_cs)(struct spi_device *, bool); - int (*transfer_one)(struct spi_controller *, struct spi_device *, struct spi_transfer *); - void (*handle_err)(struct spi_controller *, struct spi_message *); - const struct spi_controller_mem_ops *mem_ops; - const struct spi_controller_mem_caps *mem_caps; - bool dtr_caps; - struct spi_offload * (*get_offload)(struct spi_device *, const struct spi_offload_config *); - void (*put_offload)(struct spi_offload *); - struct gpio_desc **cs_gpiods; - bool use_gpio_descriptors; - s8 unused_native_cs; - s8 max_native_cs; - struct spi_statistics *pcpu_statistics; - struct dma_chan *dma_tx; - struct dma_chan *dma_rx; - void *dummy_rx; - void *dummy_tx; - int (*fw_translate_cs)(struct spi_controller *, unsigned int); - bool ptp_sts_supported; - long unsigned int irq_flags; - bool queue_empty; - bool must_async; - bool defer_optimize_message; -}; - -struct spi_controller_and_offload { - struct spi_controller *controller; - struct spi_offload *offload; -}; - -struct spi_controller_mem_caps { - bool dtr; - bool ecc; - bool swap16; - bool per_op_freq; -}; - -struct spi_mem; - -struct spi_mem_op; - -struct spi_mem_dirmap_desc; - -struct spi_controller_mem_ops { - int (*adjust_op_size)(struct spi_mem *, struct spi_mem_op *); - bool (*supports_op)(struct spi_mem *, const struct spi_mem_op *); - int (*exec_op)(struct spi_mem *, const struct spi_mem_op *); - const char * (*get_name)(struct spi_mem *); - int (*dirmap_create)(struct spi_mem_dirmap_desc *); - void (*dirmap_destroy)(struct spi_mem_dirmap_desc *); - ssize_t (*dirmap_read)(struct spi_mem_dirmap_desc *, u64, size_t, void *); - ssize_t (*dirmap_write)(struct spi_mem_dirmap_desc *, u64, size_t, const void *); - int (*poll_status)(struct spi_mem *, const struct spi_mem_op *, u16, u16, long unsigned int, long unsigned int, long unsigned int); -}; - -struct spi_device { - struct device dev; - struct spi_controller *controller; - u32 max_speed_hz; - u8 bits_per_word; - bool rt; - u32 mode; - int irq; - void *controller_state; - void *controller_data; - char modalias[32]; - const char *driver_override; - struct spi_statistics *pcpu_statistics; - struct spi_delay word_delay; - struct spi_delay cs_setup; - struct spi_delay cs_hold; - struct spi_delay cs_inactive; - u8 chip_select[24]; - u32 cs_index_mask: 24; - struct gpio_desc *cs_gpiod[24]; -}; - -struct spi_device_id { - char name[32]; - kernel_ulong_t driver_data; -}; - -struct spi_driver { - const struct spi_device_id *id_table; - int (*probe)(struct spi_device *); - void (*remove)(struct spi_device *); - void (*shutdown)(struct spi_device *); - struct device_driver driver; -}; - -struct spi_mem { - struct spi_device *spi; - void *drvpriv; - const char *name; -}; - -struct spi_mem_op { - struct { - u8 nbytes; - u8 buswidth; - u8 dtr: 1; - u8 __pad: 7; - u16 opcode; - } cmd; - struct { - u8 nbytes; - u8 buswidth; - u8 dtr: 1; - u8 __pad: 7; - u64 val; - } addr; - struct { - u8 nbytes; - u8 buswidth; - u8 dtr: 1; - u8 __pad: 7; - } dummy; - struct { - u8 buswidth; - u8 dtr: 1; - u8 ecc: 1; - u8 swap16: 1; - u8 __pad: 5; - enum spi_mem_data_dir dir; - unsigned int nbytes; - union { - void *in; - const void *out; - } buf; - } data; - unsigned int max_freq; -}; - -struct spi_mem_dirmap_info { - struct spi_mem_op op_tmpl; - u64 offset; - u64 length; -}; - -struct spi_mem_dirmap_desc { - struct spi_mem *mem; - struct spi_mem_dirmap_info info; - unsigned int nodirmap; - void *priv; -}; - -struct spi_mem_driver { - struct spi_driver spidrv; - int (*probe)(struct spi_mem *); - int (*remove)(struct spi_mem *); - void (*shutdown)(struct spi_mem *); -}; - -struct spi_offload_ops; - -struct spi_offload { - struct device *provider_dev; - void *priv; - const struct spi_offload_ops *ops; - u32 xfer_flags; -}; - -struct spi_offload_config { - u32 capability_flags; -}; - -struct spi_offload_ops { - int (*trigger_enable)(struct spi_offload *); - void (*trigger_disable)(struct spi_offload *); - struct dma_chan * (*tx_stream_request_dma_chan)(struct spi_offload *); - struct dma_chan * (*rx_stream_request_dma_chan)(struct spi_offload *); -}; - -struct spi_offload_trigger_ops; - -struct spi_offload_trigger { - struct list_head list; - struct kref ref; - struct fwnode_handle *fwnode; - struct mutex lock; - const struct spi_offload_trigger_ops *ops; - void *priv; -}; - -struct spi_offload_trigger_periodic { - u64 frequency_hz; -}; - -struct spi_offload_trigger_config { - enum spi_offload_trigger_type type; - union { - struct spi_offload_trigger_periodic periodic; - }; -}; - -struct spi_offload_trigger_info { - struct fwnode_handle *fwnode; - const struct spi_offload_trigger_ops *ops; - void *priv; -}; - -struct spi_offload_trigger_ops { - bool (*match)(struct spi_offload_trigger *, enum spi_offload_trigger_type, u64 *, u32); - int (*request)(struct spi_offload_trigger *, enum spi_offload_trigger_type, u64 *, u32); - void (*release)(struct spi_offload_trigger *); - int (*validate)(struct spi_offload_trigger *, struct spi_offload_trigger_config *); - int (*enable)(struct spi_offload_trigger *, struct spi_offload_trigger_config *); - void (*disable)(struct spi_offload_trigger *); -}; - -struct spi_replaced_transfers; - -typedef void (*spi_replaced_release_t)(struct spi_controller *, struct spi_message *, struct spi_replaced_transfers *); - -struct spi_replaced_transfers { - spi_replaced_release_t release; - void *extradata; - struct list_head replaced_transfers; - struct list_head *replaced_after; - size_t inserted; - struct spi_transfer inserted_transfers[0]; -}; - -typedef void (*spi_res_release_t)(struct spi_controller *, struct spi_message *, void *); - -struct spi_res { - struct list_head entry; - spi_res_release_t release; - long long unsigned int data[0]; -}; - -struct spi_statistics { - struct u64_stats_sync syncp; - u64_stats_t messages; - u64_stats_t transfers; - u64_stats_t errors; - u64_stats_t timedout; - u64_stats_t spi_sync; - u64_stats_t spi_sync_immediate; - u64_stats_t spi_async; - u64_stats_t bytes; - u64_stats_t bytes_rx; - u64_stats_t bytes_tx; - u64_stats_t transfer_bytes_histo[17]; - u64_stats_t transfers_split_maxsize; -}; - -struct splice_desc { - size_t total_len; - unsigned int len; - unsigned int flags; - union { - void *userptr; - struct file *file; - void *data; - } u; - void (*splice_eof)(struct splice_desc *); - loff_t pos; - loff_t *opos; - size_t num_spliced; - bool need_wakeup; -}; - -struct splice_pipe_desc { - struct page **pages; - struct partial_page *partial; - int nr_pages; - unsigned int nr_pages_max; - const struct pipe_buf_operations *ops; - void (*spd_release)(struct splice_pipe_desc *, unsigned int); -}; - -struct squashfs_base_inode { - __le16 inode_type; - __le16 mode; - __le16 uid; - __le16 guid; - __le32 mtime; - __le32 inode_number; -}; - -struct squashfs_cache_entry; - -struct squashfs_cache { - char *name; - int entries; - int curr_blk; - int next_blk; - int num_waiters; - int unused; - int block_size; - int pages; - spinlock_t lock; - wait_queue_head_t wait_queue; - struct squashfs_cache_entry *entry; -}; - -struct squashfs_page_actor; - -struct squashfs_cache_entry { - u64 block; - int length; - int refcount; - u64 next_index; - int pending; - int error; - int num_waiters; - wait_queue_head_t wait_queue; - struct squashfs_cache *cache; - void **data; - struct squashfs_page_actor *actor; -}; - -struct squashfs_sb_info; - -struct squashfs_decompressor { - void * (*init)(struct squashfs_sb_info *, void *); - void * (*comp_opts)(struct squashfs_sb_info *, void *, int); - void (*free)(void *); - int (*decompress)(struct squashfs_sb_info *, void *, struct bio *, int, int, struct squashfs_page_actor *); - int id; - char *name; - int alloc_buffer; - int supported; -}; - -struct squashfs_decompressor_thread_ops { - void * (*create)(struct squashfs_sb_info *, void *); - void (*destroy)(struct squashfs_sb_info *); - int (*decompress)(struct squashfs_sb_info *, struct bio *, int, int, struct squashfs_page_actor *); - int (*max_decompressors)(void); -}; - -struct squashfs_dev_inode { - __le16 inode_type; - __le16 mode; - __le16 uid; - __le16 guid; - __le32 mtime; - __le32 inode_number; - __le32 nlink; - __le32 rdev; -}; - -struct squashfs_dir_entry { - __le16 offset; - __le16 inode_number; - __le16 type; - __le16 size; - char name[0]; -}; - -struct squashfs_dir_header { - __le32 count; - __le32 start_block; - __le32 inode_number; -}; - -struct squashfs_dir_index { - __le32 index; - __le32 start_block; - __le32 size; - unsigned char name[0]; -}; - -struct squashfs_dir_inode { - __le16 inode_type; - __le16 mode; - __le16 uid; - __le16 guid; - __le32 mtime; - __le32 inode_number; - __le32 start_block; - __le32 nlink; - __le16 file_size; - __le16 offset; - __le32 parent_inode; -}; - -struct squashfs_fragment_entry { - __le64 start_block; - __le32 size; - unsigned int unused; -}; - -struct squashfs_ldev_inode { - __le16 inode_type; - __le16 mode; - __le16 uid; - __le16 guid; - __le32 mtime; - __le32 inode_number; - __le32 nlink; - __le32 rdev; - __le32 xattr; -}; - -struct squashfs_symlink_inode { - __le16 inode_type; - __le16 mode; - __le16 uid; - __le16 guid; - __le32 mtime; - __le32 inode_number; - __le32 nlink; - __le32 symlink_size; - char symlink[0]; -}; - -struct squashfs_reg_inode { - __le16 inode_type; - __le16 mode; - __le16 uid; - __le16 guid; - __le32 mtime; - __le32 inode_number; - __le32 start_block; - __le32 fragment; - __le32 offset; - __le32 file_size; - __le16 block_list[0]; -}; - -struct squashfs_lreg_inode { - __le16 inode_type; - __le16 mode; - __le16 uid; - __le16 guid; - __le32 mtime; - __le32 inode_number; - __le64 start_block; - __le64 file_size; - __le64 sparse; - __le32 nlink; - __le32 fragment; - __le32 offset; - __le32 xattr; - __le16 block_list[0]; -}; - -struct squashfs_ldir_inode { - __le16 inode_type; - __le16 mode; - __le16 uid; - __le16 guid; - __le32 mtime; - __le32 inode_number; - __le32 nlink; - __le32 file_size; - __le32 start_block; - __le32 parent_inode; - __le16 i_count; - __le16 offset; - __le32 xattr; - struct squashfs_dir_index index[0]; -}; - -struct squashfs_ipc_inode { - __le16 inode_type; - __le16 mode; - __le16 uid; - __le16 guid; - __le32 mtime; - __le32 inode_number; - __le32 nlink; -}; - -struct squashfs_lipc_inode { - __le16 inode_type; - __le16 mode; - __le16 uid; - __le16 guid; - __le32 mtime; - __le32 inode_number; - __le32 nlink; - __le32 xattr; -}; - -union squashfs_inode { - struct squashfs_base_inode base; - struct squashfs_dev_inode dev; - struct squashfs_ldev_inode ldev; - struct squashfs_symlink_inode symlink; - struct squashfs_reg_inode reg; - struct squashfs_lreg_inode lreg; - struct squashfs_dir_inode dir; - struct squashfs_ldir_inode ldir; - struct squashfs_ipc_inode ipc; - struct squashfs_lipc_inode lipc; -}; - -struct squashfs_inode_info { - u64 start; - int offset; - u64 xattr; - unsigned int xattr_size; - int xattr_count; - int parent; - union { - struct { - u64 fragment_block; - int fragment_size; - int fragment_offset; - u64 block_list_start; - }; - struct { - u64 dir_idx_start; - int dir_idx_offset; - int dir_idx_cnt; - }; - }; - struct inode vfs_inode; -}; - -struct squashfs_lz4 { - void *input; - void *output; -}; - -struct squashfs_lzo { - void *input; - void *output; -}; - -struct squashfs_mount_opts { - enum Opt_errors errors; - const struct squashfs_decompressor_thread_ops *thread_ops; - int thread_num; -}; - -struct squashfs_page_actor { - union { - void **buffer; - struct page **page; - }; - void *pageaddr; - void *tmp_buffer; - void * (*squashfs_first_page)(struct squashfs_page_actor *); - void * (*squashfs_next_page)(struct squashfs_page_actor *); - void (*squashfs_finish_page)(struct squashfs_page_actor *); - struct page *last_page; - int pages; - int length; - int next_page; - int alloc_buffer; - int returned_pages; - long unsigned int next_index; -}; - -struct squashfs_sb_info { - const struct squashfs_decompressor *decompressor; - int devblksize; - int devblksize_log2; - struct squashfs_cache *block_cache; - struct squashfs_cache *fragment_cache; - struct squashfs_cache *read_page; - struct address_space *cache_mapping; - int next_meta_index; - __le64 *id_table; - __le64 *fragment_index; - __le64 *xattr_id_table; - struct mutex meta_index_mutex; - struct meta_index *meta_index; - void *stream; - __le64 *inode_lookup_table; - u64 inode_table; - u64 directory_table; - u64 xattr_table; - unsigned int block_size; - short unsigned int block_log; - long long int bytes_used; - unsigned int inodes; - unsigned int fragments; - unsigned int xattr_ids; - unsigned int ids; - bool panic_on_errors; - const struct squashfs_decompressor_thread_ops *thread_ops; - int max_thread_num; -}; - -struct squashfs_stream { - void *comp_opts; - struct list_head strm_list; - struct mutex mutex; - int avail_decomp; - wait_queue_head_t wait; -}; - -struct squashfs_stream___2 { - void *stream; - local_lock_t lock; -}; - -struct squashfs_stream___3 { - void *stream; - struct mutex mutex; -}; - -struct squashfs_super_block { - __le32 s_magic; - __le32 inodes; - __le32 mkfs_time; - __le32 block_size; - __le32 fragments; - __le16 compression; - __le16 block_log; - __le16 flags; - __le16 no_ids; - __le16 s_major; - __le16 s_minor; - __le64 root_inode; - __le64 bytes_used; - __le64 id_table_start; - __le64 xattr_id_table_start; - __le64 inode_table_start; - __le64 directory_table_start; - __le64 fragment_table_start; - __le64 lookup_table_start; -}; - -struct squashfs_xattr_entry { - __le16 type; - __le16 size; - char data[0]; -}; - -struct squashfs_xattr_id { - __le64 xattr; - __le32 count; - __le32 size; -}; - -struct squashfs_xattr_id_table { - __le64 xattr_table_start; - __le32 xattr_ids; - __le32 unused; -}; - -struct squashfs_xattr_val { - __le32 vsize; - char value[0]; -}; - -struct xz_buf { - const uint8_t *in; - size_t in_pos; - size_t in_size; - uint8_t *out; - size_t out_pos; - size_t out_size; -}; - -struct xz_dec; - -struct squashfs_xz { - struct xz_dec *state; - struct xz_buf buf; -}; - -struct sr6_tlv { - __u8 type; - __u8 len; - __u8 data[0]; -}; - -struct sr6_tlv_hmac { - struct sr6_tlv tlvhdr; - __u16 reserved; - __be32 hmackeyid; - __u8 hmac[32]; -}; - -struct sram_config { - int (*init)(void); - bool map_only_reserved; -}; - -struct sram_partition; - -struct sram_dev { - const struct sram_config *config; - struct device *dev; - void *virt_base; - bool no_memory_wc; - struct gen_pool *pool; - struct sram_partition *partition; - u32 partitions; -}; - -struct sram_partition { - void *base; - struct gen_pool *pool; - struct bin_attribute battr; - struct mutex lock; - struct list_head list; -}; - -struct sram_reserve { - struct list_head list; - u32 start; - u32 size; - struct resource res; - bool export; - bool pool; - bool protect_exec; - const char *label; -}; - -struct srcu_ctr { - atomic_long_t srcu_locks; - atomic_long_t srcu_unlocks; -}; - -struct srcu_data { - struct srcu_ctr srcu_ctrs[2]; - int srcu_reader_flavor; - long: 64; - long: 64; - long: 64; - spinlock_t lock; - struct rcu_segcblist srcu_cblist; - long unsigned int srcu_gp_seq_needed; - long unsigned int srcu_gp_seq_needed_exp; - bool srcu_cblist_invoking; - struct timer_list delay_work; - struct work_struct work; - struct callback_head srcu_barrier_head; - struct srcu_node *mynode; - long unsigned int grpmask; - int cpu; - struct srcu_struct *ssp; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct srcu_node { - spinlock_t lock; - long unsigned int srcu_have_cbs[4]; - long unsigned int srcu_data_have_cbs[4]; - long unsigned int srcu_gp_seq_needed_exp; - struct srcu_node *srcu_parent; - int grplo; - int grphi; -}; - -struct ssb_state { - struct ssb_state *shared_state; - raw_spinlock_t lock; - unsigned int disable_state; - long unsigned int local_state; -}; - -union st_info { - struct { - u64 vm_st_valid: 1; - u64 vm_xst_valid: 1; - u64 vm_ph_ignore: 1; - u64 rsvd1: 5; - u64 vm_st: 8; - u64 vm_xst: 16; - u64 pm_st_valid: 1; - u64 pm_xst_valid: 1; - u64 pm_ph_ignore: 1; - u64 rsvd2: 5; - u64 pm_st: 8; - u64 pm_xst: 16; - }; - u64 value; -}; - -struct stack_entry { - struct trace_entry ent; - int size; - long unsigned int caller[0]; -}; - -struct stack_frame { - struct stack_frame *next_frame; - long unsigned int return_address; -}; - -struct stack_frame_ia32 { - u32 next_frame; - u32 return_address; -}; - -struct stack_frame_user { - const void *next_fp; - long unsigned int ret_addr; -}; - -struct stack_info { - enum stack_type type; - long unsigned int *begin; - long unsigned int *end; - long unsigned int *next_sp; -}; - -struct stack_map_bucket { - struct pcpu_freelist_node fnode; - u32 hash; - u32 nr; - u64 data[0]; -}; - -struct stack_record { - struct list_head hash_list; - u32 hash; - u32 size; - union handle_parts handle; - refcount_t count; - union { - long unsigned int entries[64]; - struct { - struct list_head free_list; - long unsigned int rcu_state; - }; - }; -}; - -struct stacktrace_cookie { - long unsigned int *store; - unsigned int size; - unsigned int skip; - unsigned int len; -}; - -struct start_info { - char magic[32]; - long unsigned int nr_pages; - long unsigned int shared_info; - uint32_t flags; - xen_pfn_t store_mfn; - uint32_t store_evtchn; - union { - struct { - xen_pfn_t mfn; - uint32_t evtchn; - } domU; - struct { - uint32_t info_off; - uint32_t info_size; - } dom0; - } console; - long unsigned int pt_base; - long unsigned int nr_pt_frames; - long unsigned int mfn_list; - long unsigned int mod_start; - long unsigned int mod_len; - int8_t cmd_line[1024]; - long unsigned int first_p2m_pfn; - long unsigned int nr_p2m_frames; -}; - -struct stashed_operations { - struct dentry * (*stash_dentry)(struct dentry **, struct dentry *); - void (*put_data)(void *); - int (*init_inode)(struct inode *, void *); -}; - -struct stat { - __kernel_ulong_t st_dev; - __kernel_ulong_t st_ino; - __kernel_ulong_t st_nlink; - unsigned int st_mode; - unsigned int st_uid; - unsigned int st_gid; - unsigned int __pad0; - __kernel_ulong_t st_rdev; - __kernel_long_t st_size; - __kernel_long_t st_blksize; - __kernel_long_t st_blocks; - __kernel_ulong_t st_atime; - __kernel_ulong_t st_atime_nsec; - __kernel_ulong_t st_mtime; - __kernel_ulong_t st_mtime_nsec; - __kernel_ulong_t st_ctime; - __kernel_ulong_t st_ctime_nsec; - __kernel_long_t __unused[3]; -}; - -struct stat64 { - long long unsigned int st_dev; - unsigned char __pad0[4]; - unsigned int __st_ino; - unsigned int st_mode; - unsigned int st_nlink; - unsigned int st_uid; - unsigned int st_gid; - long long unsigned int st_rdev; - unsigned char __pad3[4]; - long long int st_size; - unsigned int st_blksize; - long long int st_blocks; - unsigned int st_atime; - unsigned int st_atime_nsec; - unsigned int st_mtime; - unsigned int st_mtime_nsec; - unsigned int st_ctime; - unsigned int st_ctime_nsec; - long long unsigned int st_ino; -} __attribute__((packed)); - -struct stat_node { - struct rb_node node; - void *stat; -}; - -struct stat_session { - struct list_head session_list; - struct tracer_stat *ts; - struct rb_root stat_root; - struct mutex stat_mutex; - struct dentry *file; -}; - -struct statfs { - __kernel_long_t f_type; - __kernel_long_t f_bsize; - __kernel_long_t f_blocks; - __kernel_long_t f_bfree; - __kernel_long_t f_bavail; - __kernel_long_t f_files; - __kernel_long_t f_ffree; - __kernel_fsid_t f_fsid; - __kernel_long_t f_namelen; - __kernel_long_t f_frsize; - __kernel_long_t f_flags; - __kernel_long_t f_spare[4]; -}; - -struct statfs64 { - __kernel_long_t f_type; - __kernel_long_t f_bsize; - __u64 f_blocks; - __u64 f_bfree; - __u64 f_bavail; - __u64 f_files; - __u64 f_ffree; - __kernel_fsid_t f_fsid; - __kernel_long_t f_namelen; - __kernel_long_t f_frsize; - __kernel_long_t f_flags; - __kernel_long_t f_spare[4]; -}; - -struct static_call_mod; - -struct static_call_key { - void *func; - union { - long unsigned int type; - struct static_call_mod *mods; - struct static_call_site *sites; - }; -}; - -struct static_call_mod { - struct static_call_mod *next; - struct module *mod; - struct static_call_site *sites; -}; - -struct static_call_site { - s32 addr; - s32 key; -}; - -struct static_call_tramp_key { - s32 tramp; - s32 key; -}; - -struct static_key_deferred { - struct static_key key; - long unsigned int timeout; - struct delayed_work work; -}; - -struct static_key_false_deferred { - struct static_key_false key; - long unsigned int timeout; - struct delayed_work work; -}; - -struct static_key_mod { - struct static_key_mod *next; - struct jump_entry *entries; - struct module *mod; -}; - -struct static_tree_desc_s { - const ct_data *static_tree; - const int *extra_bits; - int extra_base; - int elems; - int max_length; -}; - -struct stats_reply_data { - struct ethnl_reply_data base; - union { - struct { - struct ethtool_eth_phy_stats phy_stats; - struct ethtool_eth_mac_stats mac_stats; - struct ethtool_eth_ctrl_stats ctrl_stats; - struct ethtool_rmon_stats rmon_stats; - struct ethtool_phy_stats phydev_stats; - }; - struct { - struct ethtool_eth_phy_stats phy_stats; - struct ethtool_eth_mac_stats mac_stats; - struct ethtool_eth_ctrl_stats ctrl_stats; - struct ethtool_rmon_stats rmon_stats; - struct ethtool_phy_stats phydev_stats; - } stats; - }; - const struct ethtool_rmon_hist_range *rmon_ranges; -}; - -struct stats_req_info { - struct ethnl_req_info base; - long unsigned int stat_mask[1]; - enum ethtool_mac_stats_src src; -}; - -struct statx_timestamp { - __s64 tv_sec; - __u32 tv_nsec; - __s32 __reserved; -}; - -struct statx { - __u32 stx_mask; - __u32 stx_blksize; - __u64 stx_attributes; - __u32 stx_nlink; - __u32 stx_uid; - __u32 stx_gid; - __u16 stx_mode; - __u16 __spare0[1]; - __u64 stx_ino; - __u64 stx_size; - __u64 stx_blocks; - __u64 stx_attributes_mask; - struct statx_timestamp stx_atime; - struct statx_timestamp stx_btime; - struct statx_timestamp stx_ctime; - struct statx_timestamp stx_mtime; - __u32 stx_rdev_major; - __u32 stx_rdev_minor; - __u32 stx_dev_major; - __u32 stx_dev_minor; - __u64 stx_mnt_id; - __u32 stx_dio_mem_align; - __u32 stx_dio_offset_align; - __u64 stx_subvol; - __u32 stx_atomic_write_unit_min; - __u32 stx_atomic_write_unit_max; - __u32 stx_atomic_write_segments_max; - __u32 stx_dio_read_offset_align; - __u32 stx_atomic_write_unit_max_opt; - __u32 __spare2[1]; - __u64 __spare3[8]; -}; - -struct stereo_mandatory_mode { - int width; - int height; - int vrefresh; - unsigned int flags; -}; - -struct stop_event_data { - struct perf_event *event; - unsigned int restart; -}; - -struct stored_match_addr { - union { - struct sockaddr addr; - struct sockaddr_in addr4; - struct sockaddr_in6 addr6; - }; - int addrlen; - struct match_addr maddr; -}; - -struct strarray { - char **array; - size_t n; -}; - -struct stripe { - struct dm_dev *dev; - sector_t physical_start; - atomic_t error_count; -}; - -struct stripe_c { - uint32_t stripes; - int stripes_shift; - sector_t stripe_width; - uint32_t chunk_size; - int chunk_size_shift; - struct dm_target *ti; - struct work_struct trigger_event; - struct stripe stripe[0]; -}; - -struct strset_info { - bool per_dev; - bool free_strings; - unsigned int count; - const char (*strings)[32]; -}; - -struct strset_reply_data { - struct ethnl_reply_data base; - struct strset_info sets[23]; -}; - -struct strset_req_info { - struct ethnl_req_info base; - u32 req_ids; - bool counts_only; -}; - -struct subflow_send_info { - struct sock *ssk; - u64 linger_time; -}; - -struct subprocess_info { - struct work_struct work; - struct completion *complete; - const char *path; - char **argv; - char **envp; - int wait; - int retval; - int (*init)(struct subprocess_info *, struct cred *); - void (*cleanup)(struct subprocess_info *); - void *data; -}; - -struct subsys_dev_iter { - struct klist_iter ki; - const struct device_type *type; -}; - -struct subsys_interface { - const char *name; - const struct bus_type *subsys; - struct list_head node; - int (*add_dev)(struct device *, struct subsys_interface *); - void (*remove_dev)(struct device *, struct subsys_interface *); -}; - -struct subsys_private { - struct kset subsys; - struct kset *devices_kset; - struct list_head interfaces; - struct mutex mutex; - struct kset *drivers_kset; - struct klist klist_devices; - struct klist klist_drivers; - struct blocking_notifier_head bus_notifier; - unsigned int drivers_autoprobe: 1; - const struct bus_type *bus; - struct device *dev_root; - struct kset glue_dirs; - const struct class *class; - struct lock_class_key lock_key; -}; - -struct sugov_policy; - -struct sugov_cpu { - struct update_util_data update_util; - struct sugov_policy *sg_policy; - unsigned int cpu; - bool iowait_boost_pending; - unsigned int iowait_boost; - u64 last_update; - long unsigned int util; - long unsigned int bw_min; - long unsigned int saved_idle_calls; -}; - -struct sugov_tunables; - -struct sugov_policy { - struct cpufreq_policy *policy; - struct sugov_tunables *tunables; - struct list_head tunables_hook; - raw_spinlock_t update_lock; - u64 last_freq_update_time; - s64 freq_update_delay_ns; - unsigned int next_freq; - unsigned int cached_raw_freq; - struct irq_work irq_work; - struct kthread_work work; - struct mutex work_lock; - struct kthread_worker worker; - struct task_struct *thread; - bool work_in_progress; - bool limits_changed; - bool need_freq_update; -}; - -struct sugov_tunables { - struct gov_attr_set attr_set; - unsigned int rate_limit_us; -}; - -struct summary_data { - struct seq_file *s; - struct regulator_dev *parent; - int level; -}; - -struct summary_lock_data { - struct ww_acquire_ctx *ww_ctx; - struct regulator_dev **new_contended_rdev; - struct regulator_dev **old_contended_rdev; -}; - -struct sun_info { - __be16 id; - __be16 flags; -}; - -struct sun_vtoc { - __be32 version; - char volume[8]; - __be16 nparts; - struct sun_info infos[8]; - __be16 padding; - __be32 bootinfo[3]; - __be32 sanity; - __be32 reserved[10]; - __be32 timestamp[8]; -}; - -struct sun_partition { - __be32 start_cylinder; - __be32 num_sectors; -}; - -struct sun_disklabel { - unsigned char info[128]; - struct sun_vtoc vtoc; - __be32 write_reinstruct; - __be32 read_reinstruct; - unsigned char spare[148]; - __be16 rspeed; - __be16 pcylcount; - __be16 sparecyl; - __be16 obs1; - __be16 obs2; - __be16 ilfact; - __be16 ncyl; - __be16 nacyl; - __be16 ntrks; - __be16 nsect; - __be16 obs3; - __be16 obs4; - struct sun_partition partitions[8]; - __be16 magic; - __be16 csum; -}; - -struct mtd_info; - -struct super_block { - struct list_head s_list; - dev_t s_dev; - unsigned char s_blocksize_bits; - long unsigned int s_blocksize; - loff_t s_maxbytes; - struct file_system_type *s_type; - const struct super_operations *s_op; - const struct dquot_operations *dq_op; - const struct quotactl_ops *s_qcop; - const struct export_operations *s_export_op; - long unsigned int s_flags; - long unsigned int s_iflags; - long unsigned int s_magic; - struct dentry *s_root; - struct rw_semaphore s_umount; - int s_count; - atomic_t s_active; - void *s_security; - const struct xattr_handler * const *s_xattr; - const struct fscrypt_operations *s_cop; - struct fscrypt_keyring *s_master_keys; - const struct fsverity_operations *s_vop; - struct unicode_map *s_encoding; - __u16 s_encoding_flags; - struct hlist_bl_head s_roots; - struct list_head s_mounts; - struct block_device *s_bdev; - struct file *s_bdev_file; - struct backing_dev_info *s_bdi; - struct mtd_info *s_mtd; - struct hlist_node s_instances; - unsigned int s_quota_types; - struct quota_info s_dquot; - struct sb_writers s_writers; - void *s_fs_info; - u32 s_time_gran; - time64_t s_time_min; - time64_t s_time_max; - u32 s_fsnotify_mask; - struct fsnotify_sb_info *s_fsnotify_info; - char s_id[32]; - uuid_t s_uuid; - u8 s_uuid_len; - char s_sysfs_name[37]; - unsigned int s_max_links; - unsigned int s_d_flags; - struct mutex s_vfs_rename_mutex; - const char *s_subtype; - const struct dentry_operations *__s_d_op; - struct shrinker *s_shrink; - atomic_long_t s_remove_count; - int s_readonly_remount; - errseq_t s_wb_err; - struct workqueue_struct *s_dio_done_wq; - struct hlist_head s_pins; - struct user_namespace *s_user_ns; - struct list_lru s_dentry_lru; - struct list_lru s_inode_lru; - struct callback_head rcu; - struct work_struct destroy_work; - struct mutex s_sync_lock; - int s_stack_depth; - long: 0; - spinlock_t s_inode_list_lock; - struct list_head s_inodes; - spinlock_t s_inode_wblist_lock; - struct list_head s_inodes_wb; - long: 64; - long: 64; -}; - -struct super_operations { - struct inode * (*alloc_inode)(struct super_block *); - void (*destroy_inode)(struct inode *); - void (*free_inode)(struct inode *); - void (*dirty_inode)(struct inode *, int); - int (*write_inode)(struct inode *, struct writeback_control *); - int (*drop_inode)(struct inode *); - void (*evict_inode)(struct inode *); - void (*put_super)(struct super_block *); - int (*sync_fs)(struct super_block *, int); - int (*freeze_super)(struct super_block *, enum freeze_holder, const void *); - int (*freeze_fs)(struct super_block *); - int (*thaw_super)(struct super_block *, enum freeze_holder, const void *); - int (*unfreeze_fs)(struct super_block *); - int (*statfs)(struct dentry *, struct kstatfs *); - int (*remount_fs)(struct super_block *, int *, char *); - void (*umount_begin)(struct super_block *); - int (*show_options)(struct seq_file *, struct dentry *); - int (*show_devname)(struct seq_file *, struct dentry *); - int (*show_path)(struct seq_file *, struct dentry *); - int (*show_stats)(struct seq_file *, struct dentry *); - ssize_t (*quota_read)(struct super_block *, int, char *, size_t, loff_t); - ssize_t (*quota_write)(struct super_block *, int, const char *, size_t, loff_t); - struct dquot ** (*get_dquots)(struct inode *); - long int (*nr_cached_objects)(struct super_block *, struct shrink_control *); - long int (*free_cached_objects)(struct super_block *, struct shrink_control *); - int (*remove_bdev)(struct super_block *, struct block_device *); - void (*shutdown)(struct super_block *); -}; - -struct super_type { - char *name; - struct module *owner; - int (*load_super)(struct md_rdev *, struct md_rdev *, int); - int (*validate_super)(struct mddev *, struct md_rdev *, struct md_rdev *); - void (*sync_super)(struct mddev *, struct md_rdev *); - long long unsigned int (*rdev_size_change)(struct md_rdev *, sector_t); - int (*allow_new_offset)(struct md_rdev *, long long unsigned int); -}; - -struct superblock_security_struct { - u32 sid; - u32 def_sid; - u32 mntpoint_sid; - short unsigned int behavior; - short unsigned int flags; - struct mutex lock; - struct list_head isec_head; - spinlock_t isec_lock; -}; - -struct superblock_smack { - struct smack_known *smk_root; - struct smack_known *smk_floor; - struct smack_known *smk_hat; - struct smack_known *smk_default; - int smk_flags; -}; - -struct suspend_info { - int cancelled; -}; - -struct suspend_performance_record { - struct fpdt_record_header header; - u64 suspend_start; - u64 suspend_end; -} __attribute__((packed)); - -struct suspend_stats { - unsigned int step_failures[8]; - unsigned int success; - unsigned int fail; - int last_failed_dev; - char failed_devs[80]; - int last_failed_errno; - int errno[2]; - int last_failed_step; - u64 last_hw_sleep; - u64 total_hw_sleep; - u64 max_hw_sleep; - enum suspend_stat_step failed_steps[2]; -}; - -struct svc_cred { - kuid_t cr_uid; - kgid_t cr_gid; - struct group_info *cr_group_info; - u32 cr_flavor; - char *cr_raw_principal; - char *cr_principal; - char *cr_targ_princ; - struct gss_api_mech *cr_gss_mech; -}; - -struct svc_deferred_req { - u32 prot; - struct svc_xprt *xprt; - struct __kernel_sockaddr_storage addr; - size_t addrlen; - struct __kernel_sockaddr_storage daddr; - size_t daddrlen; - void *xprt_ctxt; - struct cache_deferred_req handle; - int argslen; - __be32 args[0]; -}; - -struct svc_pool { - unsigned int sp_id; - struct lwq sp_xprts; - unsigned int sp_nrthreads; - struct list_head sp_all_threads; - struct llist_head sp_idle_threads; - struct percpu_counter sp_messages_arrived; - struct percpu_counter sp_sockets_queued; - struct percpu_counter sp_threads_woken; - long unsigned int sp_flags; -}; - -struct svc_procedure { - __be32 (*pc_func)(struct svc_rqst *); - bool (*pc_decode)(struct svc_rqst *, struct xdr_stream *); - bool (*pc_encode)(struct svc_rqst *, struct xdr_stream *); - void (*pc_release)(struct svc_rqst *); - unsigned int pc_argsize; - unsigned int pc_argzero; - unsigned int pc_ressize; - unsigned int pc_cachetype; - unsigned int pc_xdrressize; - const char *pc_name; -}; - -struct svc_process_info { - union { - int (*dispatch)(struct svc_rqst *); - struct { - unsigned int lovers; - unsigned int hivers; - } mismatch; - }; -}; - -struct svc_version; - -struct svc_program { - u32 pg_prog; - unsigned int pg_lovers; - unsigned int pg_hivers; - unsigned int pg_nvers; - const struct svc_version **pg_vers; - char *pg_name; - char *pg_class; - enum svc_auth_status (*pg_authenticate)(struct svc_rqst *); - __be32 (*pg_init_request)(struct svc_rqst *, const struct svc_program *, struct svc_process_info *); - int (*pg_rpcbind_set)(struct net *, const struct svc_program *, u32, int, short unsigned int, short unsigned int); -}; - -struct xdr_stream { - __be32 *p; - struct xdr_buf *buf; - __be32 *end; - struct kvec *iov; - struct kvec scratch; - struct page **page_ptr; - void *page_kaddr; - unsigned int nwords; - struct rpc_rqst *rqst; -}; - -struct svc_rqst { - struct list_head rq_all; - struct llist_node rq_idle; - struct callback_head rq_rcu_head; - struct svc_xprt *rq_xprt; - struct __kernel_sockaddr_storage rq_addr; - size_t rq_addrlen; - struct __kernel_sockaddr_storage rq_daddr; - size_t rq_daddrlen; - struct svc_serv *rq_server; - struct svc_pool *rq_pool; - const struct svc_procedure *rq_procinfo; - struct auth_ops *rq_authop; - struct svc_cred rq_cred; - void *rq_xprt_ctxt; - struct svc_deferred_req *rq_deferred; - struct xdr_buf rq_arg; - struct xdr_stream rq_arg_stream; - struct xdr_stream rq_res_stream; - struct page *rq_scratch_page; - struct xdr_buf rq_res; - long unsigned int rq_maxpages; - struct page **rq_pages; - struct page **rq_respages; - struct page **rq_next_page; - struct page **rq_page_end; - struct folio_batch rq_fbatch; - struct bio_vec *rq_bvec; - __be32 rq_xid; - u32 rq_prog; - u32 rq_vers; - u32 rq_proc; - u32 rq_prot; - int rq_cachetype; - long unsigned int rq_flags; - ktime_t rq_qtime; - void *rq_argp; - void *rq_resp; - __be32 *rq_accept_statp; - void *rq_auth_data; - __be32 rq_auth_stat; - int rq_auth_slack; - int rq_reserved; - ktime_t rq_stime; - struct cache_req rq_chandle; - struct auth_domain *rq_client; - struct auth_domain *rq_gssclient; - struct task_struct *rq_task; - struct net *rq_bc_net; - int rq_err; - long unsigned int bc_to_initval; - unsigned int bc_to_retries; - unsigned int rq_status_counter; - void **rq_lease_breaker; -}; - -struct svc_stat; - -struct svc_serv { - struct svc_program *sv_programs; - struct svc_stat *sv_stats; - spinlock_t sv_lock; - unsigned int sv_nprogs; - unsigned int sv_nrthreads; - unsigned int sv_max_payload; - unsigned int sv_max_mesg; - unsigned int sv_xdrsize; - struct list_head sv_permsocks; - struct list_head sv_tempsocks; - int sv_tmpcnt; - struct timer_list sv_temptimer; - char *sv_name; - unsigned int sv_nrpools; - bool sv_is_pooled; - struct svc_pool *sv_pools; - int (*sv_threadfn)(void *); - struct lwq sv_cb_list; - bool sv_bc_enabled; -}; - -struct svc_stat { - struct svc_program *program; - unsigned int netcnt; - unsigned int netudpcnt; - unsigned int nettcpcnt; - unsigned int nettcpconn; - unsigned int rpccnt; - unsigned int rpcbadfmt; - unsigned int rpcbadauth; - unsigned int rpcbadclnt; -}; - -struct svc_version { - u32 vs_vers; - u32 vs_nproc; - const struct svc_procedure *vs_proc; - long unsigned int *vs_count; - u32 vs_xdrsize; - bool vs_hidden; - bool vs_rpcb_optnl; - bool vs_need_cong_ctrl; - int (*vs_dispatch)(struct svc_rqst *); -}; - -struct svsm_loc_entry { - u64 pa; - u32 len; - u8 rsvd[4]; -}; - -struct svsm_attest_call { - struct svsm_loc_entry report_buf; - struct svsm_loc_entry nonce; - struct svsm_loc_entry manifest_buf; - struct svsm_loc_entry certificates_buf; - u8 service_guid[16]; - u32 service_manifest_ver; - u8 rsvd[4]; -}; - -struct svsm_ca { - u8 call_pending; - u8 mem_available; - u8 rsvd1[6]; - u8 svsm_buffer[4088]; -}; - -struct svsm_call { - struct svsm_ca *caa; - u64 rax; - u64 rcx; - u64 rdx; - u64 r8; - u64 r9; - u64 rax_out; - u64 rcx_out; - u64 rdx_out; - u64 r8_out; - u64 r9_out; -}; - -struct svsm_pvalidate_entry { - u64 page_size: 2; - u64 action: 1; - u64 ignore_cf: 1; - u64 rsvd: 8; - u64 pfn: 52; -}; - -struct svsm_pvalidate_call { - u16 num_entries; - u16 cur_index; - u8 rsvd1[4]; - struct svsm_pvalidate_entry entry[0]; -}; - -struct sw_sync_create_fence_data { - __u32 value; - char name[32]; - __s32 fence; -}; - -struct sw_sync_get_deadline { - __u64 deadline_ns; - __u32 pad; - __s32 fence_fd; -}; - -struct swait_queue { - struct task_struct *task; - struct list_head task_list; -}; - -struct swap_cgroup { - atomic_t ids; -}; - -struct swap_cgroup_ctrl { - struct swap_cgroup *map; -}; - -struct swap_cluster_info { - spinlock_t lock; - u16 count; - u8 flags; - u8 order; - struct list_head list; -}; - -struct swap_extent { - struct rb_node rb_node; - long unsigned int start_page; - long unsigned int nr_pages; - sector_t start_block; -}; - -union swap_header { - struct { - char reserved[4086]; - char magic[10]; - } magic; - struct { - char bootbits[1024]; - __u32 version; - __u32 last_page; - __u32 nr_badpages; - unsigned char sws_uuid[16]; - unsigned char sws_volume[16]; - __u32 padding[117]; - __u32 badpages[1]; - } info; -}; - -struct swap_sequential_cluster; - -struct swap_info_struct { - struct percpu_ref users; - long unsigned int flags; - short int prio; - struct plist_node list; - signed char type; - unsigned int max; - unsigned char *swap_map; - long unsigned int *zeromap; - struct swap_cluster_info *cluster_info; - struct list_head free_clusters; - struct list_head full_clusters; - struct list_head nonfull_clusters[10]; - struct list_head frag_clusters[10]; - atomic_long_t frag_cluster_nr[10]; - unsigned int pages; - atomic_long_t inuse_pages; - struct swap_sequential_cluster *global_cluster; - spinlock_t global_cluster_lock; - struct rb_root swap_extent_root; - struct block_device *bdev; - struct file *swap_file; - struct completion comp; - spinlock_t lock; - spinlock_t cont_lock; - struct work_struct discard_work; - struct work_struct reclaim_work; - struct list_head discard_clusters; - struct plist_node avail_lists[0]; -}; - -struct swap_iocb { - struct kiocb iocb; - struct bio_vec bvec[32]; - int pages; - int len; -}; - -struct swap_map_page; - -struct swap_map_page_list; - -struct swap_map_handle { - struct swap_map_page *cur; - struct swap_map_page_list *maps; - sector_t cur_swap; - sector_t first_sector; - unsigned int k; - long unsigned int reqd_free_pages; - u32 crc32; -}; - -struct swap_map_page { - sector_t entries[511]; - sector_t next_swap; -}; - -struct swap_map_page_list { - struct swap_map_page *map; - struct swap_map_page_list *next; -}; - -struct swap_sequential_cluster { - unsigned int next[10]; -}; - -struct swevent_hlist { - struct hlist_head heads[256]; - struct callback_head callback_head; -}; - -struct swevent_htable { - struct swevent_hlist *swevent_hlist; - struct mutex hlist_mutex; - int hlist_refcount; -}; - -struct switchdev_mst_state { - u16 msti; - u8 state; -}; - -struct switchdev_brport_flags { - long unsigned int val; - long unsigned int mask; -}; - -struct switchdev_vlan_msti { - u16 vid; - u16 msti; -}; - -struct switchdev_attr { - struct net_device *orig_dev; - enum switchdev_attr_id id; - u32 flags; - void *complete_priv; - void (*complete)(struct net_device *, int, void *); - union { - u8 stp_state; - struct switchdev_mst_state mst_state; - struct switchdev_brport_flags brport_flags; - bool mrouter; - clock_t ageing_time; - bool vlan_filtering; - u16 vlan_protocol; - bool mst; - bool mc_disabled; - u8 mrp_port_role; - struct switchdev_vlan_msti vlan_msti; - } u; -}; - -struct switchdev_brport { - struct net_device *dev; - const void *ctx; - struct notifier_block *atomic_nb; - struct notifier_block *blocking_nb; - bool tx_fwd_offload; -}; - -typedef void switchdev_deferred_func_t(struct net_device *, const void *); - -struct switchdev_deferred_item { - struct list_head list; - struct net_device *dev; - netdevice_tracker dev_tracker; - switchdev_deferred_func_t *func; - long unsigned int data[0]; -}; - -struct switchdev_nested_priv { - bool (*check_cb)(const struct net_device *); - bool (*foreign_dev_check_cb)(const struct net_device *, const struct net_device *); - const struct net_device *dev; - struct net_device *lower_dev; -}; - -struct switchdev_notifier_info { - struct net_device *dev; - struct netlink_ext_ack *extack; - const void *ctx; -}; - -struct switchdev_notifier_brport_info { - struct switchdev_notifier_info info; - const struct switchdev_brport brport; -}; - -struct switchdev_notifier_fdb_info { - struct switchdev_notifier_info info; - const unsigned char *addr; - u16 vid; - u8 added_by_user: 1; - u8 is_local: 1; - u8 locked: 1; - u8 offloaded: 1; -}; - -struct switchdev_notifier_port_attr_info { - struct switchdev_notifier_info info; - const struct switchdev_attr *attr; - bool handled; -}; - -struct switchdev_obj; - -struct switchdev_notifier_port_obj_info { - struct switchdev_notifier_info info; - const struct switchdev_obj *obj; - bool handled; -}; - -struct switchdev_obj { - struct list_head list; - struct net_device *orig_dev; - enum switchdev_obj_id id; - u32 flags; - void *complete_priv; - void (*complete)(struct net_device *, int, void *); -}; - -struct switchdev_obj_mrp { - struct switchdev_obj obj; - struct net_device *p_port; - struct net_device *s_port; - u32 ring_id; - u16 prio; -}; - -struct switchdev_obj_port_mdb { - struct switchdev_obj obj; - unsigned char addr[6]; - u16 vid; -}; - -struct switchdev_obj_port_vlan { - struct switchdev_obj obj; - u16 flags; - u16 vid; - bool changed; -}; - -struct switchdev_obj_ring_role_mrp { - struct switchdev_obj obj; - u8 ring_role; - u32 ring_id; - u8 sw_backup; -}; - -struct swmii_regs { - u16 bmsr; - u16 lpa; - u16 lpagb; - u16 estat; -}; - -struct swnode { - struct kobject kobj; - struct fwnode_handle fwnode; - const struct software_node *node; - int id; - struct ida child_ids; - struct list_head entry; - struct list_head children; - struct swnode *parent; - unsigned int allocated: 1; - unsigned int managed: 1; -}; - -struct swsusp_extent { - struct rb_node node; - long unsigned int start; - long unsigned int end; -}; - -struct swsusp_header { - char reserved[4056]; - u32 hw_sig; - u32 crc32; - sector_t image; - unsigned int flags; - char orig_sig[10]; - char sig[10]; -}; - -struct swsusp_info { - struct new_utsname uts; - u32 version_code; - long unsigned int num_physpages; - int cpus; - long unsigned int image_pages; - long unsigned int pages; - long unsigned int size; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct sx150x_123_pri { - u8 reg_pld_mode; - u8 reg_pld_table0; - u8 reg_pld_table1; - u8 reg_pld_table2; - u8 reg_pld_table3; - u8 reg_pld_table4; - u8 reg_advanced; -}; - -struct sx150x_456_pri { - u8 reg_pld_mode; - u8 reg_pld_table0; - u8 reg_pld_table1; - u8 reg_pld_table2; - u8 reg_pld_table3; - u8 reg_pld_table4; - u8 reg_advanced; -}; - -struct sx150x_789_pri { - u8 reg_drain; - u8 reg_polarity; - u8 reg_clock; - u8 reg_misc; - u8 reg_reset; - u8 ngpios; -}; - -struct sx150x_device_data { - u8 model; - u8 reg_pullup; - u8 reg_pulldn; - u8 reg_dir; - u8 reg_data; - u8 reg_irq_mask; - u8 reg_irq_src; - u8 reg_sense; - u8 ngpios; - union { - struct sx150x_123_pri x123; - struct sx150x_456_pri x456; - struct sx150x_789_pri x789; - } pri; - const struct pinctrl_pin_desc *pins; - unsigned int npins; -}; - -struct sx150x_pinctrl { - struct device *dev; - struct i2c_client *client; - struct pinctrl_dev *pctldev; - struct pinctrl_desc pinctrl_desc; - struct gpio_chip gpio; - struct regmap *regmap; - struct { - u32 sense; - u32 masked; - } irq; - struct mutex lock; - const struct sx150x_device_data *data; -}; - -struct sym_count_ctx { - unsigned int count; - const char *name; -}; - -struct symsearch { - const struct kernel_symbol *start; - const struct kernel_symbol *stop; - const u32 *crcs; - enum mod_license license; -}; - -struct sync_fence_info { - char obj_name[32]; - char driver_name[32]; - __s32 status; - __u32 flags; - __u64 timestamp_ns; -}; - -struct sync_file { - struct file *file; - char user_name[32]; - struct list_head sync_file_list; - wait_queue_head_t wq; - long unsigned int flags; - struct dma_fence *fence; - struct dma_fence_cb cb; -}; - -struct sync_file_info { - char name[32]; - __s32 status; - __u32 flags; - __u32 num_fences; - __u32 pad; - __u64 sync_fence_info; -}; - -struct sync_io { - long unsigned int error_bits; - struct completion wait; -}; - -struct sync_merge_data { - char name[32]; - __s32 fd2; - __s32 fence; - __u32 flags; - __u32 pad; -}; - -struct sync_pt { - struct dma_fence base; - struct list_head link; - struct rb_node node; - ktime_t deadline; -}; - -struct sync_set_deadline { - __u64 deadline_ns; - __u64 pad; -}; - -struct sync_timeline { - struct kref kref; - char name[32]; - u64 context; - int value; - struct rb_root pt_tree; - struct list_head pt_list; - spinlock_t lock; - struct list_head sync_timeline_list; -}; - -struct syncobj_eventfd_entry { - struct list_head node; - struct dma_fence *fence; - struct dma_fence_cb fence_cb; - struct drm_syncobj *syncobj; - struct eventfd_ctx *ev_fd_ctx; - u64 point; - u32 flags; -}; - -struct syncobj_wait_entry { - struct list_head node; - struct task_struct *task; - struct dma_fence *fence; - struct dma_fence_cb fence_cb; - u64 point; -}; - -struct trace_event_fields; - -struct trace_event_class { - const char *system; - void *probe; - void *perf_probe; - int (*reg)(struct trace_event_call *, enum trace_reg, void *); - struct trace_event_fields *fields_array; - struct list_head * (*get_fields)(struct trace_event_call *); - struct list_head fields; - int (*raw_init)(struct trace_event_call *); -}; - -struct trace_event_functions; - -struct trace_event { - struct hlist_node node; - int type; - struct trace_event_functions *funcs; -}; - -struct trace_event_call { - struct list_head list; - struct trace_event_class *class; - union { - const char *name; - struct tracepoint *tp; - }; - struct trace_event event; - char *print_fmt; - union { - void *module; - atomic_t refcnt; - }; - void *data; - int flags; - int perf_refcount; - struct hlist_head *perf_events; - struct bpf_prog_array *prog_array; - int (*perf_perm)(struct trace_event_call *, struct perf_event *); -}; - -struct synth_field; - -struct synth_event { - struct dyn_event devent; - int ref; - char *name; - struct synth_field **fields; - unsigned int n_fields; - struct synth_field **dynamic_fields; - unsigned int n_dynamic_fields; - unsigned int n_u64; - struct trace_event_class class; - struct trace_event_call call; - struct tracepoint *tp; - struct module *mod; -}; - -struct trace_event_buffer { - struct trace_buffer *buffer; - struct ring_buffer_event *event; - struct trace_event_file *trace_file; - void *entry; - unsigned int trace_ctx; - struct pt_regs *regs; -}; - -struct synth_trace_event; - -struct synth_event_trace_state { - struct trace_event_buffer fbuffer; - struct synth_trace_event *entry; - struct trace_buffer *buffer; - struct synth_event *event; - unsigned int cur_field; - unsigned int n_u64; - bool disabled; - bool add_next; - bool add_name; -}; - -struct synth_field { - char *type; - char *name; - size_t size; - unsigned int offset; - unsigned int field_pos; - bool is_signed; - bool is_string; - bool is_dynamic; - bool is_stack; -}; - -struct synth_field_desc { - const char *type; - const char *name; -}; - -struct trace_dynamic_info { - u16 offset; - u16 len; -}; - -union trace_synth_field { - u8 as_u8; - u16 as_u16; - u32 as_u32; - u64 as_u64; - struct trace_dynamic_info as_dynamic; -}; - -struct synth_trace_event { - struct trace_entry ent; - union trace_synth_field fields[0]; -}; - -struct sys_info_name { - long unsigned int bit; - const char *name; -}; - -struct sys_off_data { - int mode; - void *cb_data; - const char *cmd; - struct device *dev; -}; - -struct sys_off_handler { - struct notifier_block nb; - int (*sys_off_cb)(struct sys_off_data *); - void *cb_data; - enum sys_off_mode mode; - bool blocking; - void *list; - struct device *dev; -}; - -struct syscall_info { - __u64 sp; - struct seccomp_data data; -}; - -struct syscall_metadata { - const char *name; - int syscall_nr; - int nb_args; - const char **types; - const char **args; - struct list_head enter_fields; - struct trace_event_call *enter_event; - struct trace_event_call *exit_event; -}; - -struct syscall_tp_t { - struct trace_entry ent; - int syscall_nr; - long unsigned int ret; -}; - -struct syscall_tp_t___2 { - struct trace_entry ent; - int syscall_nr; - long unsigned int args[6]; -}; - -struct syscall_trace_enter { - struct trace_entry ent; - int nr; - long unsigned int args[0]; -}; - -struct syscall_trace_exit { - struct trace_entry ent; - int nr; - long int ret; -}; - -struct syscall_user_dispatch { - char *selector; - long unsigned int offset; - long unsigned int len; - bool on_dispatch; -}; - -struct syscon { - struct device_node *np; - struct regmap *regmap; - struct reset_control *reset; - struct list_head list; -}; - -struct syscore_ops { - struct list_head node; - int (*suspend)(void); - void (*resume)(void); - void (*shutdown)(void); -}; - -struct sysctl_alias { - const char *kernel_param; - const char *sysctl_param; -}; - -struct sysfs_ops { - ssize_t (*show)(struct kobject *, struct attribute *, char *); - ssize_t (*store)(struct kobject *, struct attribute *, const char *, size_t); -}; - -struct sysfs_wi_group { - struct kobject wi_kobj; - struct mutex kobj_lock; - struct iw_node_attr *nattrs[0]; -}; - -struct sysinfo { - __kernel_long_t uptime; - __kernel_ulong_t loads[3]; - __kernel_ulong_t totalram; - __kernel_ulong_t freeram; - __kernel_ulong_t sharedram; - __kernel_ulong_t bufferram; - __kernel_ulong_t totalswap; - __kernel_ulong_t freeswap; - __u16 procs; - __u16 pad; - __kernel_ulong_t totalhigh; - __kernel_ulong_t freehigh; - __u32 mem_unit; - char _f[0]; -}; - -struct sysrq_key_op { - void (* const handler)(u8); - const char * const help_msg; - const char * const action_msg; - const int enable_mask; -}; - -struct sysrq_state { - struct input_handle handle; - struct work_struct reinject_work; - long unsigned int key_down[12]; - unsigned int alt; - unsigned int alt_use; - unsigned int shift; - unsigned int shift_use; - bool active; - bool need_reinject; - bool reinjecting; - bool reset_canceled; - bool reset_requested; - long unsigned int reset_keybit[12]; - int reset_seq_len; - int reset_seq_cnt; - int reset_seq_version; - struct timer_list keyreset_timer; -}; - -struct system_counterval_t { - u64 cycles; - enum clocksource_ids cs_id; - bool use_nsecs; -}; - -struct system_device_crosststamp { - ktime_t device; - ktime_t sys_realtime; - ktime_t sys_monoraw; -}; - -struct system_heap_buffer { - struct dma_heap *heap; - struct list_head attachments; - struct mutex lock; - long unsigned int len; - struct sg_table sg_table; - int vmap_cnt; - void *vaddr; -}; - -struct system_time_snapshot { - u64 cycles; - ktime_t real; - ktime_t boot; - ktime_t raw; - enum clocksource_ids cs_id; - unsigned int clock_was_set_seq; - u8 cs_was_changed_seq; -}; - -struct sysv_sem { - struct sem_undo_list *undo_list; -}; - -struct sysv_shm { - struct list_head shm_clist; -}; - -struct t10_pi_tuple { - __be16 guard_tag; - __be16 app_tag; - __be32 ref_tag; -}; - -struct table_device { - struct list_head list; - refcount_t count; - struct dm_dev dm_dev; -}; - -struct table_header { - u16 td_id; - u16 td_flags; - u32 td_hilen; - u32 td_lolen; - char td_data[0]; -}; - -struct taint_flag { - char c_true; - char c_false; - bool module; - const char *desc; -}; - -struct tap_filter { - unsigned int count; - u32 mask[2]; - unsigned char addr[48]; -}; - -struct target_cache { - struct list_head node; - struct node_cache_attrs cache_attrs; -}; - -typedef int (*dm_ctr_fn)(struct dm_target *, unsigned int, char **); - -typedef void (*dm_dtr_fn)(struct dm_target *); - -typedef int (*dm_map_fn)(struct dm_target *, struct bio *); - -typedef int (*dm_clone_and_map_request_fn)(struct dm_target *, struct request *, union map_info *, struct request **); - -typedef void (*dm_release_clone_request_fn)(struct request *, union map_info *); - -typedef int (*dm_endio_fn)(struct dm_target *, struct bio *, blk_status_t *); - -typedef int (*dm_request_endio_fn)(struct dm_target *, struct request *, blk_status_t, union map_info *); - -typedef void (*dm_presuspend_fn)(struct dm_target *); - -typedef void (*dm_presuspend_undo_fn)(struct dm_target *); - -typedef void (*dm_postsuspend_fn)(struct dm_target *); - -typedef int (*dm_preresume_fn)(struct dm_target *); - -typedef void (*dm_resume_fn)(struct dm_target *); - -typedef void (*dm_status_fn)(struct dm_target *, status_type_t, unsigned int, char *, unsigned int); - -typedef int (*dm_message_fn)(struct dm_target *, unsigned int, char **, char *, unsigned int); - -typedef int (*dm_prepare_ioctl_fn)(struct dm_target *, struct block_device **, unsigned int, long unsigned int, bool *); - -typedef int (*dm_report_zones_fn)(struct dm_target *, struct dm_report_zones_args *, unsigned int); - -typedef int (*dm_busy_fn)(struct dm_target *); - -typedef int (*iterate_devices_callout_fn)(struct dm_target *, struct dm_dev *, sector_t, sector_t, void *); - -typedef int (*dm_iterate_devices_fn)(struct dm_target *, iterate_devices_callout_fn, void *); - -typedef void (*dm_io_hints_fn)(struct dm_target *, struct queue_limits *); - -typedef long int (*dm_dax_direct_access_fn)(struct dm_target *, long unsigned int, long int, enum dax_access_mode, void **, long unsigned int *); - -typedef int (*dm_dax_zero_page_range_fn)(struct dm_target *, long unsigned int, size_t); - -typedef size_t (*dm_dax_recovery_write_fn)(struct dm_target *, long unsigned int, void *, size_t, struct iov_iter *); - -struct target_type { - uint64_t features; - const char *name; - struct module *module; - unsigned int version[3]; - dm_ctr_fn ctr; - dm_dtr_fn dtr; - dm_map_fn map; - dm_clone_and_map_request_fn clone_and_map_rq; - dm_release_clone_request_fn release_clone_rq; - dm_endio_fn end_io; - dm_request_endio_fn rq_end_io; - dm_presuspend_fn presuspend; - dm_presuspend_undo_fn presuspend_undo; - dm_postsuspend_fn postsuspend; - dm_preresume_fn preresume; - dm_resume_fn resume; - dm_status_fn status; - dm_message_fn message; - dm_prepare_ioctl_fn prepare_ioctl; - dm_report_zones_fn report_zones; - dm_busy_fn busy; - dm_iterate_devices_fn iterate_devices; - dm_io_hints_fn io_hints; - dm_dax_direct_access_fn direct_access; - dm_dax_zero_page_range_fn dax_zero_page_range; - dm_dax_recovery_write_fn dax_recovery_write; - struct list_head list; -}; - -struct task_delay_info { - raw_spinlock_t lock; - u64 blkio_start; - u64 blkio_delay_max; - u64 blkio_delay_min; - u64 blkio_delay; - u64 swapin_start; - u64 swapin_delay_max; - u64 swapin_delay_min; - u64 swapin_delay; - u32 blkio_count; - u32 swapin_count; - u64 freepages_start; - u64 freepages_delay_max; - u64 freepages_delay_min; - u64 freepages_delay; - u64 thrashing_start; - u64 thrashing_delay_max; - u64 thrashing_delay_min; - u64 thrashing_delay; - u64 compact_start; - u64 compact_delay_max; - u64 compact_delay_min; - u64 compact_delay; - u64 wpcopy_start; - u64 wpcopy_delay_max; - u64 wpcopy_delay_min; - u64 wpcopy_delay; - u64 irq_delay_max; - u64 irq_delay_min; - u64 irq_delay; - u32 freepages_count; - u32 thrashing_count; - u32 compact_count; - u32 wpcopy_count; - u32 irq_count; -}; - -struct uclamp_se { - unsigned int value: 11; - unsigned int bucket_id: 3; - unsigned int active: 1; - unsigned int user_defined: 1; -}; - -struct task_group { - struct cgroup_subsys_state css; - int idle; - struct sched_entity **se; - struct cfs_rq **cfs_rq; - long unsigned int shares; - long: 64; - long: 64; - atomic_long_t load_avg; - struct scx_task_group scx; - struct callback_head rcu; - struct list_head list; - struct task_group *parent; - struct list_head siblings; - struct list_head children; - struct autogroup *autogroup; - struct cfs_bandwidth cfs_bandwidth; - unsigned int uclamp_pct[2]; - struct uclamp_se uclamp_req[2]; - struct uclamp_se uclamp[2]; -}; - -struct task_numa_env { - struct task_struct *p; - int src_cpu; - int src_nid; - int dst_cpu; - int dst_nid; - int imb_numa_nr; - struct numa_stats src_stats; - struct numa_stats dst_stats; - int imbalance_pct; - int dist; - struct task_struct *best_task; - long int best_imp; - int best_cpu; -}; - -struct task_security_struct { - struct { - u32 sid; - u32 seqno; - unsigned int dir_spot; - struct avdc_entry dir[4]; - bool permissive_neveraudit; - } avdcache; -}; - -struct task_smack { - struct smack_known *smk_task; - struct smack_known *smk_forked; - struct smack_known *smk_transmuted; - struct list_head smk_rules; - struct mutex smk_rules_lock; - struct list_head smk_relabel; -}; - -typedef struct task_struct *class_find_get_task_t; - -typedef struct task_struct *class_task_lock_t; - -struct thread_info { - long unsigned int flags; - long unsigned int syscall_work; - u32 status; - u32 cpu; -}; - -struct vtime { - seqcount_t seqcount; - long long unsigned int starttime; - enum vtime_state state; - unsigned int cpu; - u64 utime; - u64 stime; - u64 gtime; -}; - -struct wake_q_node { - struct wake_q_node *next; -}; - -struct tlbflush_unmap_batch { - struct arch_tlbflush_unmap_batch arch; - bool flush_required; - bool writable; -}; - -struct thread_shstk { - u64 base; - u64 size; -}; - -struct thread_struct { - struct desc_struct tls_array[3]; - long unsigned int sp; - short unsigned int es; - short unsigned int ds; - short unsigned int fsindex; - short unsigned int gsindex; - long unsigned int fsbase; - long unsigned int gsbase; - struct perf_event *ptrace_bps[4]; - long unsigned int virtual_dr6; - long unsigned int ptrace_dr7; - long unsigned int cr2; - long unsigned int trap_nr; - long unsigned int error_code; - struct io_bitmap *io_bitmap; - long unsigned int iopl_emul; - unsigned int iopl_warn: 1; - u32 pkru; - long unsigned int features; - long unsigned int features_locked; - struct thread_shstk shstk; -}; - -struct uprobe_task; - -struct user_event_mm; - -struct task_struct { - struct thread_info thread_info; - unsigned int __state; - unsigned int saved_state; - void *stack; - refcount_t usage; - unsigned int flags; - unsigned int ptrace; - int on_cpu; - struct __call_single_node wake_entry; - unsigned int wakee_flips; - long unsigned int wakee_flip_decay_ts; - struct task_struct *last_wakee; - int recent_used_cpu; - int wake_cpu; - int on_rq; - int prio; - int static_prio; - int normal_prio; - unsigned int rt_priority; - struct sched_entity se; - struct sched_rt_entity rt; - struct sched_dl_entity dl; - struct sched_dl_entity *dl_server; - struct sched_ext_entity scx; - const struct sched_class *sched_class; - struct rb_node core_node; - long unsigned int core_cookie; - unsigned int core_occupation; - struct task_group *sched_task_group; - struct uclamp_se uclamp_req[2]; - struct uclamp_se uclamp[2]; - struct sched_statistics stats; - struct hlist_head preempt_notifiers; - unsigned int btrace_seq; - unsigned int policy; - long unsigned int max_allowed_capacity; - int nr_cpus_allowed; - const cpumask_t *cpus_ptr; - cpumask_t *user_cpus_ptr; - cpumask_t cpus_mask; - void *migration_pending; - short unsigned int migration_disabled; - short unsigned int migration_flags; - int rcu_read_lock_nesting; - union rcu_special rcu_read_unlock_special; - struct list_head rcu_node_entry; - struct rcu_node *rcu_blocked_node; - long unsigned int rcu_tasks_nvcsw; - u8 rcu_tasks_holdout; - u8 rcu_tasks_idx; - int rcu_tasks_idle_cpu; - struct list_head rcu_tasks_holdout_list; - int rcu_tasks_exit_cpu; - struct list_head rcu_tasks_exit_list; - int trc_reader_nesting; - int trc_ipi_to_cpu; - union rcu_special trc_reader_special; - struct list_head trc_holdout_list; - struct list_head trc_blkd_node; - int trc_blkd_cpu; - struct sched_info sched_info; - struct list_head tasks; - struct plist_node pushable_tasks; - struct rb_node pushable_dl_tasks; - struct mm_struct *mm; - struct mm_struct *active_mm; - struct address_space *faults_disabled_mapping; - int exit_state; - int exit_code; - int exit_signal; - int pdeath_signal; - long unsigned int jobctl; - unsigned int personality; - unsigned int sched_reset_on_fork: 1; - unsigned int sched_contributes_to_load: 1; - unsigned int sched_migrated: 1; - unsigned int sched_task_hot: 1; - long: 28; - unsigned int sched_remote_wakeup: 1; - unsigned int sched_rt_mutex: 1; - unsigned int user_dumpable: 1; - unsigned int in_execve: 1; - unsigned int in_iowait: 1; - unsigned int restore_sigmask: 1; - unsigned int in_user_fault: 1; - unsigned int in_lru_fault: 1; - unsigned int no_cgroup_migration: 1; - unsigned int frozen: 1; - unsigned int use_memdelay: 1; - unsigned int in_memstall: 1; - unsigned int in_eventfd: 1; - unsigned int pasid_activated: 1; - unsigned int reported_split_lock: 1; - unsigned int in_thrashing: 1; - unsigned int in_nf_duplicate: 1; - long unsigned int atomic_flags; - struct restart_block restart_block; - pid_t pid; - pid_t tgid; - long unsigned int stack_canary; - struct task_struct *real_parent; - struct task_struct *parent; - struct list_head children; - struct list_head sibling; - struct task_struct *group_leader; - struct list_head ptraced; - struct list_head ptrace_entry; - struct pid *thread_pid; - struct hlist_node pid_links[4]; - struct list_head thread_node; - struct completion *vfork_done; - int *set_child_tid; - int *clear_child_tid; - void *worker_private; - u64 utime; - u64 stime; - u64 gtime; - struct prev_cputime prev_cputime; - struct vtime vtime; - atomic_t tick_dep_mask; - long unsigned int nvcsw; - long unsigned int nivcsw; - u64 start_time; - u64 start_boottime; - long unsigned int min_flt; - long unsigned int maj_flt; - struct posix_cputimers posix_cputimers; - struct posix_cputimers_work posix_cputimers_work; - const struct cred *ptracer_cred; - const struct cred *real_cred; - const struct cred *cred; - struct key *cached_requested_key; - char comm[16]; - struct nameidata *nameidata; - struct sysv_sem sysvsem; - struct sysv_shm sysvshm; - long unsigned int last_switch_count; - long unsigned int last_switch_time; - struct fs_struct *fs; - struct files_struct *files; - struct io_uring_task *io_uring; - struct nsproxy *nsproxy; - struct signal_struct *signal; - struct sighand_struct *sighand; - sigset_t blocked; - sigset_t real_blocked; - sigset_t saved_sigmask; - struct sigpending pending; - long unsigned int sas_ss_sp; - size_t sas_ss_size; - unsigned int sas_ss_flags; - struct callback_head *task_works; - struct audit_context *audit_context; - kuid_t loginuid; - unsigned int sessionid; - struct seccomp seccomp; - struct syscall_user_dispatch syscall_dispatch; - u64 parent_exec_id; - u64 self_exec_id; - spinlock_t alloc_lock; - raw_spinlock_t pi_lock; - struct wake_q_node wake_q; - struct rb_root_cached pi_waiters; - struct task_struct *pi_top_task; - struct rt_mutex_waiter *pi_blocked_on; - struct mutex *blocked_on; - long unsigned int blocker; - unsigned int in_ubsan; - void *journal_info; - struct bio_list *bio_list; - struct blk_plug *plug; - struct reclaim_state *reclaim_state; - struct io_context *io_context; - struct capture_control *capture_control; - long unsigned int ptrace_message; - kernel_siginfo_t *last_siginfo; - struct task_io_accounting ioac; - unsigned int psi_flags; - u64 acct_rss_mem1; - u64 acct_vm_mem1; - u64 acct_timexpd; - nodemask_t mems_allowed; - seqcount_spinlock_t mems_allowed_seq; - int cpuset_mem_spread_rotor; - struct css_set *cgroups; - struct list_head cg_list; - u32 closid; - u32 rmid; - struct robust_list_head *robust_list; - struct compat_robust_list_head *compat_robust_list; - struct list_head pi_state_list; - struct futex_pi_state *pi_state_cache; - struct mutex futex_exit_mutex; - unsigned int futex_state; - u8 perf_recursion[4]; - struct perf_event_context *perf_event_ctxp; - struct mutex perf_event_mutex; - struct list_head perf_event_list; - struct perf_ctx_data *perf_ctx_data; - struct mempolicy *mempolicy; - short int il_prev; - u8 il_weight; - short int pref_node_fork; - int numa_scan_seq; - unsigned int numa_scan_period; - unsigned int numa_scan_period_max; - int numa_preferred_nid; - long unsigned int numa_migrate_retry; - u64 node_stamp; - u64 last_task_numa_placement; - u64 last_sum_exec_runtime; - struct callback_head numa_work; - struct numa_group *numa_group; - long unsigned int *numa_faults; - long unsigned int total_numa_faults; - long unsigned int numa_faults_locality[3]; - long unsigned int numa_pages_migrated; - struct rseq *rseq; - u32 rseq_len; - u32 rseq_sig; - long unsigned int rseq_event_mask; - int mm_cid; - int last_mm_cid; - int migrate_from_cpu; - int mm_cid_active; - struct callback_head cid_work; - struct tlbflush_unmap_batch tlb_ubc; - struct pipe_inode_info *splice_pipe; - struct page_frag task_frag; - struct task_delay_info *delays; - int nr_dirtied; - int nr_dirtied_pause; - long unsigned int dirty_paused_when; - int latency_record_count; - struct latency_record latency_record[32]; - u64 timer_slack_ns; - u64 default_timer_slack_ns; - int curr_ret_stack; - int curr_ret_depth; - long unsigned int *ret_stack; - long long unsigned int ftrace_timestamp; - long long unsigned int ftrace_sleeptime; - atomic_t trace_overrun; - atomic_t tracing_graph_pause; - long unsigned int trace_recursion; - struct mem_cgroup *memcg_in_oom; - unsigned int memcg_nr_pages_over_high; - struct mem_cgroup *active_memcg; - struct obj_cgroup *objcg; - struct gendisk *throttle_disk; - struct uprobe_task *utask; - unsigned int sequential_io; - unsigned int sequential_io_avg; - struct kmap_ctrl kmap_ctrl; - struct callback_head rcu; - refcount_t rcu_users; - int pagefault_disabled; - struct task_struct *oom_reaper_list; - struct timer_list oom_reaper_timer; - struct vm_struct *stack_vm_area; - refcount_t stack_refcount; - int patch_state; - void *security; - struct bpf_local_storage *bpf_storage; - struct bpf_run_ctx *bpf_ctx; - struct bpf_net_context *bpf_net_context; - void *mce_vaddr; - __u64 mce_kflags; - u64 mce_addr; - __u64 mce_ripv: 1; - __u64 mce_whole_page: 1; - __u64 __mce_reserved: 62; - struct callback_head mce_kill_me; - int mce_count; - struct llist_head kretprobe_instances; - struct llist_head rethooks; - struct callback_head l1d_flush_kill; - union rv_task_monitor rv[2]; - struct user_event_mm *user_event_mm; - struct thread_struct thread; - long: 64; -}; - -struct task_struct__safe_rcu { - const cpumask_t *cpus_ptr; - struct css_set *cgroups; - struct task_struct *real_parent; - struct task_struct *group_leader; -}; - -struct tasklet_head { - struct tasklet_struct *head; - struct tasklet_struct **tail; -}; - -struct taskstats { - __u16 version; - __u32 ac_exitcode; - __u8 ac_flag; - __u8 ac_nice; - __u64 cpu_count; - __u64 cpu_delay_total; - __u64 blkio_count; - __u64 blkio_delay_total; - __u64 swapin_count; - __u64 swapin_delay_total; - __u64 cpu_run_real_total; - __u64 cpu_run_virtual_total; - char ac_comm[32]; - __u8 ac_sched; - __u8 ac_pad[3]; - long: 0; - __u32 ac_uid; - __u32 ac_gid; - __u32 ac_pid; - __u32 ac_ppid; - __u32 ac_btime; - __u64 ac_etime; - __u64 ac_utime; - __u64 ac_stime; - __u64 ac_minflt; - __u64 ac_majflt; - __u64 coremem; - __u64 virtmem; - __u64 hiwater_rss; - __u64 hiwater_vm; - __u64 read_char; - __u64 write_char; - __u64 read_syscalls; - __u64 write_syscalls; - __u64 read_bytes; - __u64 write_bytes; - __u64 cancelled_write_bytes; - __u64 nvcsw; - __u64 nivcsw; - __u64 ac_utimescaled; - __u64 ac_stimescaled; - __u64 cpu_scaled_run_real_total; - __u64 freepages_count; - __u64 freepages_delay_total; - __u64 thrashing_count; - __u64 thrashing_delay_total; - __u64 ac_btime64; - __u64 compact_count; - __u64 compact_delay_total; - __u32 ac_tgid; - __u64 ac_tgetime; - __u64 ac_exe_dev; - __u64 ac_exe_inode; - __u64 wpcopy_count; - __u64 wpcopy_delay_total; - __u64 irq_count; - __u64 irq_delay_total; - __u64 cpu_delay_max; - __u64 cpu_delay_min; - __u64 blkio_delay_max; - __u64 blkio_delay_min; - __u64 swapin_delay_max; - __u64 swapin_delay_min; - __u64 freepages_delay_max; - __u64 freepages_delay_min; - __u64 thrashing_delay_max; - __u64 thrashing_delay_min; - __u64 compact_delay_max; - __u64 compact_delay_min; - __u64 wpcopy_delay_max; - __u64 wpcopy_delay_min; - __u64 irq_delay_max; - __u64 irq_delay_min; -}; - -struct tboot_acpi_generic_address { - u8 space_id; - u8 bit_width; - u8 bit_offset; - u8 access_width; - u64 address; -} __attribute__((packed)); - -struct tboot_acpi_sleep_info { - struct tboot_acpi_generic_address pm1a_cnt_blk; - struct tboot_acpi_generic_address pm1b_cnt_blk; - struct tboot_acpi_generic_address pm1a_evt_blk; - struct tboot_acpi_generic_address pm1b_evt_blk; - u16 pm1a_cnt_val; - u16 pm1b_cnt_val; - u64 wakeup_vector; - u32 vector_width; - u64 kernel_s3_resume_vector; -} __attribute__((packed)); - -struct tboot_mac_region { - u64 start; - u32 size; -} __attribute__((packed)); - -struct tboot { - u8 uuid[16]; - u32 version; - u32 log_addr; - u32 shutdown_entry; - u32 shutdown_type; - struct tboot_acpi_sleep_info acpi_sinfo; - u32 tboot_base; - u32 tboot_size; - u8 num_mac_regions; - struct tboot_mac_region mac_regions[32]; - u8 s3_key[64]; - u8 reserved_align[3]; - u32 num_in_wfs; -}; - -struct tc_act_pernet_id { - struct list_head list; - unsigned int id; -}; - -struct tcf_t { - __u64 install; - __u64 lastuse; - __u64 expires; - __u64 firstuse; -}; - -struct tc_action_ops; - -struct tcf_idrinfo; - -struct tc_cookie; - -struct tcf_chain; - -struct tc_action { - const struct tc_action_ops *ops; - __u32 type; - struct tcf_idrinfo *idrinfo; - u32 tcfa_index; - refcount_t tcfa_refcnt; - atomic_t tcfa_bindcnt; - int tcfa_action; - struct tcf_t tcfa_tm; - long: 64; - struct gnet_stats_basic_sync tcfa_bstats; - struct gnet_stats_basic_sync tcfa_bstats_hw; - struct gnet_stats_queue tcfa_qstats; - struct net_rate_estimator *tcfa_rate_est; - spinlock_t tcfa_lock; - struct gnet_stats_basic_sync *cpu_bstats; - struct gnet_stats_basic_sync *cpu_bstats_hw; - struct gnet_stats_queue *cpu_qstats; - struct tc_cookie *user_cookie; - struct tcf_chain *goto_chain; - u32 tcfa_flags; - u8 hw_stats; - u8 used_hw_stats; - bool used_hw_stats_valid; - u32 in_hw_count; -}; - -struct tc_action_net { - struct tcf_idrinfo *idrinfo; - const struct tc_action_ops *ops; -}; - -typedef void (*tc_action_priv_destructor)(void *); - -struct tcf_result; - -struct tc_action_ops { - struct list_head head; - char kind[16]; - enum tca_id id; - unsigned int net_id; - size_t size; - struct module *owner; - int (*act)(struct sk_buff *, const struct tc_action *, struct tcf_result *); - int (*dump)(struct sk_buff *, struct tc_action *, int, int); - void (*cleanup)(struct tc_action *); - int (*lookup)(struct net *, struct tc_action **, u32); - int (*init)(struct net *, struct nlattr *, struct nlattr *, struct tc_action **, struct tcf_proto *, u32, struct netlink_ext_ack *); - int (*walk)(struct net *, struct sk_buff *, struct netlink_callback *, int, const struct tc_action_ops *, struct netlink_ext_ack *); - void (*stats_update)(struct tc_action *, u64, u64, u64, u64, bool); - size_t (*get_fill_size)(const struct tc_action *); - struct net_device * (*get_dev)(const struct tc_action *, tc_action_priv_destructor *); - struct psample_group * (*get_psample_group)(const struct tc_action *, tc_action_priv_destructor *); - int (*offload_act_setup)(struct tc_action *, void *, u32 *, bool, struct netlink_ext_ack *); -}; - -struct tc_bind_class_args { - struct qdisc_walker w; - long unsigned int new_cl; - u32 portid; - u32 clid; -}; - -struct tc_cookie { - u8 *data; - u32 len; - struct callback_head rcu; -}; - -struct tc_fifo_qopt { - __u32 limit; -}; - -struct tc_qopt_offload_stats { - struct gnet_stats_basic_sync *bstats; - struct gnet_stats_queue *qstats; -}; - -struct tc_fifo_qopt_offload { - enum tc_fifo_command command; - u32 handle; - u32 parent; - union { - struct tc_qopt_offload_stats stats; - }; -}; - -struct tc_mq_opt_offload_graft_params { - long unsigned int queue; - u32 child_handle; -}; - -struct tc_mq_qopt_offload { - enum tc_mq_command command; - u32 handle; - union { - struct tc_qopt_offload_stats stats; - struct tc_mq_opt_offload_graft_params graft_params; - }; -}; - -struct tc_pedit_key { - __u32 mask; - __u32 val; - __u32 off; - __u32 at; - __u32 offmask; - __u32 shift; -}; - -struct tc_prio_qopt { - int bands; - __u8 priomap[16]; -}; - -struct tc_query_caps_base { - enum tc_setup_type type; - void *caps; -}; - -struct tc_root_qopt_offload { - enum tc_root_command command; - u32 handle; - bool ingress; -}; - -struct tc_skb_cb { - struct qdisc_skb_cb qdisc_cb; - u32 drop_reason; - u16 zone; - u16 mru; - u8 post_ct: 1; - u8 post_ct_snat: 1; - u8 post_ct_dnat: 1; -}; - -struct tc_skb_ext { - union { - u64 act_miss_cookie; - __u32 chain; - }; - __u16 mru; - __u16 zone; - u8 post_ct: 1; - u8 post_ct_snat: 1; - u8 post_ct_dnat: 1; - u8 act_miss: 1; - u8 l2_miss: 1; -}; - -struct tcamsg { - unsigned char tca_family; - unsigned char tca__pad1; - short unsigned int tca__pad2; -}; - -struct tcf_walker { - int stop; - int skip; - int count; - bool nonempty; - long unsigned int cookie; - int (*fn)(struct tcf_proto *, void *, struct tcf_walker *); -}; - -struct tcf_bind_args { - struct tcf_walker w; - long unsigned int base; - long unsigned int cl; - u32 classid; -}; - -struct tcf_block { - struct xarray ports; - struct mutex lock; - struct list_head chain_list; - u32 index; - u32 classid; - refcount_t refcnt; - struct net *net; - struct Qdisc *q; - struct rw_semaphore cb_lock; - struct flow_block flow_block; - struct list_head owner_list; - bool keep_dst; - atomic_t useswcnt; - atomic_t offloadcnt; - unsigned int nooffloaddevcnt; - unsigned int lockeddevcnt; - struct { - struct tcf_chain *chain; - struct list_head filter_chain_list; - } chain0; - struct callback_head rcu; - struct hlist_head proto_destroy_ht[128]; - struct mutex proto_destroy_lock; -}; - -typedef void tcf_chain_head_change_t(struct tcf_proto *, void *); - -struct tcf_block_ext_info { - enum flow_block_binder_type binder_type; - tcf_chain_head_change_t *chain_head_change; - void *chain_head_change_priv; - u32 block_index; -}; - -struct tcf_block_owner_item { - struct list_head list; - struct Qdisc *q; - enum flow_block_binder_type binder_type; -}; - -struct tcf_proto_ops; - -struct tcf_chain { - struct mutex filter_chain_lock; - struct tcf_proto *filter_chain; - struct list_head list; - struct tcf_block *block; - u32 index; - unsigned int refcnt; - unsigned int action_refcnt; - bool explicitly_created; - bool flushing; - const struct tcf_proto_ops *tmplt_ops; - void *tmplt_priv; - struct callback_head rcu; -}; - -struct tcf_chain_info { - struct tcf_proto **pprev; - struct tcf_proto *next; -}; - -struct tcf_dump_args { - struct tcf_walker w; - struct sk_buff *skb; - struct netlink_callback *cb; - struct tcf_block *block; - struct Qdisc *q; - u32 parent; - bool terse_dump; -}; - -struct tcf_ematch_ops; - -struct tcf_ematch { - struct tcf_ematch_ops *ops; - long unsigned int data; - unsigned int datalen; - u16 matchid; - u16 flags; - struct net *net; -}; - -struct tcf_ematch_hdr { - __u16 matchid; - __u16 kind; - __u16 flags; - __u16 pad; -}; - -struct tcf_pkt_info; - -struct tcf_ematch_ops { - int kind; - int datalen; - int (*change)(struct net *, void *, int, struct tcf_ematch *); - int (*match)(struct sk_buff *, struct tcf_ematch *, struct tcf_pkt_info *); - void (*destroy)(struct tcf_ematch *); - int (*dump)(struct sk_buff *, struct tcf_ematch *); - struct module *owner; - struct list_head link; -}; - -struct tcf_ematch_tree_hdr { - __u16 nmatches; - __u16 progid; -}; - -struct tcf_ematch_tree { - struct tcf_ematch_tree_hdr hdr; - struct tcf_ematch *matches; -}; - -struct tcf_exts_miss_cookie_node; - -struct tcf_exts { - __u32 type; - int nr_actions; - struct tc_action **actions; - struct net *net; - netns_tracker ns_tracker; - struct tcf_exts_miss_cookie_node *miss_cookie_node; - int action; - int police; -}; - -union tcf_exts_miss_cookie { - struct { - u32 miss_cookie_base; - u32 act_index; - }; - u64 miss_cookie; -}; - -struct tcf_exts_miss_cookie_node { - const struct tcf_chain *chain; - const struct tcf_proto *tp; - const struct tcf_exts *exts; - u32 chain_index; - u32 tp_prio; - u32 handle; - u32 miss_cookie_base; - struct callback_head rcu; -}; - -struct tcf_filter_chain_list_item { - struct list_head list; - tcf_chain_head_change_t *chain_head_change; - void *chain_head_change_priv; -}; - -struct tcf_idrinfo { - struct mutex lock; - struct idr action_idr; - struct net *net; -}; - -struct tcf_net { - spinlock_t idr_lock; - struct idr idr; -}; - -struct tcf_pedit_parms; - -struct tcf_pedit { - struct tc_action common; - struct tcf_pedit_parms *parms; - long: 64; -}; - -struct tcf_pedit_key_ex { - enum pedit_header_type htype; - enum pedit_cmd cmd; -}; - -struct tcf_pedit_parms { - struct tc_pedit_key *tcfp_keys; - struct tcf_pedit_key_ex *tcfp_keys_ex; - int action; - u32 tcfp_off_max_hint; - unsigned char tcfp_nkeys; - unsigned char tcfp_flags; - struct callback_head rcu; -}; - -struct tcf_pkt_info { - unsigned char *ptr; - int nexthdr; -}; - -struct tcf_proto { - struct tcf_proto *next; - void *root; - int (*classify)(struct sk_buff *, const struct tcf_proto *, struct tcf_result *); - __be16 protocol; - u32 prio; - void *data; - const struct tcf_proto_ops *ops; - struct tcf_chain *chain; - spinlock_t lock; - bool deleting; - bool counted; - bool usesw; - refcount_t refcnt; - struct callback_head rcu; - struct hlist_node destroy_ht_node; -}; - -struct tcf_proto_ops { - struct list_head head; - char kind[16]; - int (*classify)(struct sk_buff *, const struct tcf_proto *, struct tcf_result *); - int (*init)(struct tcf_proto *); - void (*destroy)(struct tcf_proto *, bool, struct netlink_ext_ack *); - void * (*get)(struct tcf_proto *, u32); - void (*put)(struct tcf_proto *, void *); - int (*change)(struct net *, struct sk_buff *, struct tcf_proto *, long unsigned int, u32, struct nlattr **, void **, u32, struct netlink_ext_ack *); - int (*delete)(struct tcf_proto *, void *, bool *, bool, struct netlink_ext_ack *); - bool (*delete_empty)(struct tcf_proto *); - void (*walk)(struct tcf_proto *, struct tcf_walker *, bool); - int (*reoffload)(struct tcf_proto *, bool, flow_setup_cb_t *, void *, struct netlink_ext_ack *); - void (*hw_add)(struct tcf_proto *, void *); - void (*hw_del)(struct tcf_proto *, void *); - void (*bind_class)(void *, u32, long unsigned int, void *, long unsigned int); - void * (*tmplt_create)(struct net *, struct tcf_chain *, struct nlattr **, struct netlink_ext_ack *); - void (*tmplt_destroy)(void *); - void (*tmplt_reoffload)(struct tcf_chain *, bool, flow_setup_cb_t *, void *); - struct tcf_exts * (*get_exts)(const struct tcf_proto *, u32); - int (*dump)(struct net *, struct tcf_proto *, void *, struct sk_buff *, struct tcmsg *, bool); - int (*terse_dump)(struct net *, struct tcf_proto *, void *, struct sk_buff *, struct tcmsg *, bool); - int (*tmplt_dump)(struct sk_buff *, struct net *, void *); - struct module *owner; - int flags; -}; - -struct tcf_qevent { - struct tcf_block *block; - struct tcf_block_ext_info info; - struct tcf_proto *filter_chain; -}; - -struct tcf_result { - union { - struct { - long unsigned int class; - u32 classid; - }; - const struct tcf_proto *goto_tp; - }; -}; - -struct tcg_efi_specid_event_algs { - u16 alg_id; - u16 digest_size; -}; - -struct tcg_efi_specid_event_head { - u8 signature[16]; - u32 platform_class; - u8 spec_version_minor; - u8 spec_version_major; - u8 spec_errata; - u8 uintnsize; - u32 num_algs; - struct tcg_efi_specid_event_algs digest_sizes[0]; -}; - -struct tcg_event_field { - u32 event_size; - u8 event[0]; -}; - -struct tcg_pcr_event { - u32 pcr_idx; - u32 event_type; - u8 digest[20]; - u32 event_size; - u8 event[0]; -}; - -struct tpm_digest { - u16 alg_id; - u8 digest[64]; -}; - -struct tcg_pcr_event2_head { - u32 pcr_idx; - u32 event_type; - u32 count; - struct tpm_digest digests[0]; -}; - -struct tcmsg { - unsigned char tcm_family; - unsigned char tcm__pad1; - short unsigned int tcm__pad2; - int tcm_ifindex; - __u32 tcm_handle; - __u32 tcm_parent; - __u32 tcm_info; -}; - -struct tcp4_pseudohdr { - __be32 saddr; - __be32 daddr; - __u8 pad; - __u8 protocol; - __be16 len; -}; - -struct tcp6_pseudohdr { - struct in6_addr saddr; - struct in6_addr daddr; - __be32 len; - __be32 protocol; -}; - -struct tcp_options_received { - int ts_recent_stamp; - u32 ts_recent; - u32 rcv_tsval; - u32 rcv_tsecr; - u16 saw_tstamp: 1; - u16 tstamp_ok: 1; - u16 dsack: 1; - u16 wscale_ok: 1; - u16 sack_ok: 3; - u16 smc_ok: 1; - u16 snd_wscale: 4; - u16 rcv_wscale: 4; - u8 saw_unknown: 1; - u8 unused: 7; - u8 num_sacks; - u16 user_mss; - u16 mss_clamp; -}; - -struct tcp_rack { - u64 mstamp; - u32 rtt_us; - u32 end_seq; - u32 last_delivered; - u8 reo_wnd_steps; - u8 reo_wnd_persist: 5; - u8 dsack_seen: 1; - u8 advanced: 1; -}; - -struct tcp_sack_block { - u32 start_seq; - u32 end_seq; -}; - -struct tcp_sock_af_ops; - -struct tcp_md5sig_info; - -struct tcp_ao_info; - -struct tcp_fastopen_request; - -struct tcp_sock { - struct inet_connection_sock inet_conn; - __u8 __cacheline_group_begin__tcp_sock_read_tx[0]; - u32 max_window; - u32 rcv_ssthresh; - u32 reordering; - u32 notsent_lowat; - u16 gso_segs; - struct sk_buff *retransmit_skb_hint; - __u8 __cacheline_group_end__tcp_sock_read_tx[0]; - __u8 __cacheline_group_begin__tcp_sock_read_txrx[0]; - u32 tsoffset; - u32 snd_wnd; - u32 mss_cache; - u32 snd_cwnd; - u32 prr_out; - u32 lost_out; - u32 sacked_out; - u16 tcp_header_len; - u8 scaling_ratio; - u8 chrono_type: 2; - u8 repair: 1; - u8 tcp_usec_ts: 1; - u8 is_sack_reneg: 1; - u8 is_cwnd_limited: 1; - __u8 __cacheline_group_end__tcp_sock_read_txrx[0]; - __u8 __cacheline_group_begin__tcp_sock_read_rx[0]; - u32 copied_seq; - u32 rcv_tstamp; - u32 snd_wl1; - u32 tlp_high_seq; - u32 rttvar_us; - u32 retrans_out; - u16 advmss; - u16 urg_data; - u32 lost; - struct minmax rtt_min; - struct rb_root out_of_order_queue; - void (*tcp_clean_acked)(struct sock *, u32); - u32 snd_ssthresh; - u8 recvmsg_inq: 1; - __u8 __cacheline_group_end__tcp_sock_read_rx[0]; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - __u8 __cacheline_group_begin__tcp_sock_write_tx[0]; - u32 segs_out; - u32 data_segs_out; - u64 bytes_sent; - u32 snd_sml; - u32 chrono_start; - u32 chrono_stat[3]; - u32 write_seq; - u32 pushed_seq; - u32 lsndtime; - u32 mdev_us; - u32 rtt_seq; - u64 tcp_wstamp_ns; - struct list_head tsorted_sent_queue; - struct sk_buff *highest_sack; - u8 ecn_flags; - __u8 __cacheline_group_end__tcp_sock_write_tx[0]; - __u8 __cacheline_group_begin__tcp_sock_write_txrx[0]; - __be32 pred_flags; - u64 tcp_clock_cache; - u64 tcp_mstamp; - u32 rcv_nxt; - u32 snd_nxt; - u32 snd_una; - u32 window_clamp; - u32 srtt_us; - u32 packets_out; - u32 snd_up; - u32 delivered; - u32 delivered_ce; - u32 app_limited; - u32 rcv_wnd; - struct tcp_options_received rx_opt; - u8 nonagle: 4; - u8 rate_app_limited: 1; - __u8 __cacheline_group_end__tcp_sock_write_txrx[0]; - long: 0; - __u8 __cacheline_group_begin__tcp_sock_write_rx[0]; - u64 bytes_received; - u32 segs_in; - u32 data_segs_in; - u32 rcv_wup; - u32 max_packets_out; - u32 cwnd_usage_seq; - u32 rate_delivered; - u32 rate_interval_us; - u32 rcv_rtt_last_tsecr; - u64 first_tx_mstamp; - u64 delivered_mstamp; - u64 bytes_acked; - struct { - u32 rtt_us; - u32 seq; - u64 time; - } rcv_rtt_est; - struct { - int space; - u32 seq; - u64 time; - } rcvq_space; - __u8 __cacheline_group_end__tcp_sock_write_rx[0]; - u32 dsack_dups; - u32 compressed_ack_rcv_nxt; - struct list_head tsq_node; - struct tcp_rack rack; - u8 compressed_ack; - u8 dup_ack_counter: 2; - u8 tlp_retrans: 1; - u8 unused: 5; - u8 thin_lto: 1; - u8 fastopen_connect: 1; - u8 fastopen_no_cookie: 1; - u8 fastopen_client_fail: 2; - u8 frto: 1; - u8 repair_queue; - u8 save_syn: 2; - u8 syn_data: 1; - u8 syn_fastopen: 1; - u8 syn_fastopen_exp: 1; - u8 syn_fastopen_ch: 1; - u8 syn_data_acked: 1; - u8 syn_fastopen_child: 1; - u8 keepalive_probes; - u32 tcp_tx_delay; - u32 mdev_max_us; - u32 reord_seen; - u32 snd_cwnd_cnt; - u32 snd_cwnd_clamp; - u32 snd_cwnd_used; - u32 snd_cwnd_stamp; - u32 prior_cwnd; - u32 prr_delivered; - u32 last_oow_ack_time; - struct hrtimer pacing_timer; - struct hrtimer compressed_ack_timer; - struct sk_buff *ooo_last_skb; - struct tcp_sack_block duplicate_sack[1]; - struct tcp_sack_block selective_acks[4]; - struct tcp_sack_block recv_sack_cache[4]; - u32 prior_ssthresh; - u32 high_seq; - u32 retrans_stamp; - u32 undo_marker; - int undo_retrans; - u64 bytes_retrans; - u32 total_retrans; - u32 rto_stamp; - u16 total_rto; - u16 total_rto_recoveries; - u32 total_rto_time; - u32 urg_seq; - unsigned int keepalive_time; - unsigned int keepalive_intvl; - int linger2; - u8 bpf_sock_ops_cb_flags; - u8 bpf_chg_cc_inprogress: 1; - u16 timeout_rehash; - u32 rcv_ooopack; - struct { - u32 probe_seq_start; - u32 probe_seq_end; - } mtu_probe; - u32 plb_rehash; - u32 mtu_info; - bool is_mptcp; - bool syn_smc; - bool (*smc_hs_congested)(const struct sock *); - const struct tcp_sock_af_ops *af_specific; - struct tcp_md5sig_info *md5sig_info; - struct tcp_ao_info *ao_info; - struct tcp_fastopen_request *fastopen_req; - struct request_sock *fastopen_rsk; - struct saved_syn *saved_syn; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct tcp6_sock { - struct tcp_sock tcp; - struct ipv6_pinfo inet6; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct tcp_ao_add { - struct __kernel_sockaddr_storage addr; - char alg_name[64]; - __s32 ifindex; - __u32 set_current: 1; - __u32 set_rnext: 1; - __u32 reserved: 30; - __u16 reserved2; - __u8 prefix; - __u8 sndid; - __u8 rcvid; - __u8 maclen; - __u8 keyflags; - __u8 keylen; - __u8 key[80]; -}; - -union tcp_ao_addr { - struct in_addr a4; - struct in6_addr a6; -}; - -struct tcp_ao_counters { - atomic64_t pkt_good; - atomic64_t pkt_bad; - atomic64_t key_not_found; - atomic64_t ao_required; - atomic64_t dropped_icmp; -}; - -struct tcp_ao_del { - struct __kernel_sockaddr_storage addr; - __s32 ifindex; - __u32 set_current: 1; - __u32 set_rnext: 1; - __u32 del_async: 1; - __u32 reserved: 29; - __u16 reserved2; - __u8 prefix; - __u8 sndid; - __u8 rcvid; - __u8 current_key; - __u8 rnext; - __u8 keyflags; -}; - -struct tcp_ao_getsockopt { - struct __kernel_sockaddr_storage addr; - char alg_name[64]; - __u8 key[80]; - __u32 nkeys; - __u16 is_current: 1; - __u16 is_rnext: 1; - __u16 get_all: 1; - __u16 reserved: 13; - __u8 sndid; - __u8 rcvid; - __u8 prefix; - __u8 maclen; - __u8 keyflags; - __u8 keylen; - __s32 ifindex; - __u64 pkt_good; - __u64 pkt_bad; -}; - -struct tcp_ao_hdr { - u8 kind; - u8 length; - u8 keyid; - u8 rnext_keyid; -}; - -struct tcp_ao_key; - -struct tcp_ao_info { - struct hlist_head head; - struct tcp_ao_key *current_key; - struct tcp_ao_key *rnext_key; - struct tcp_ao_counters counters; - u32 ao_required: 1; - u32 accept_icmps: 1; - u32 __unused: 30; - __be32 lisn; - __be32 risn; - u32 snd_sne; - u32 rcv_sne; - refcount_t refcnt; - struct callback_head rcu; -}; - -struct tcp_ao_info_opt { - __u32 set_current: 1; - __u32 set_rnext: 1; - __u32 ao_required: 1; - __u32 set_counters: 1; - __u32 accept_icmps: 1; - __u32 reserved: 27; - __u16 reserved2; - __u8 current_key; - __u8 rnext; - __u64 pkt_good; - __u64 pkt_bad; - __u64 pkt_key_not_found; - __u64 pkt_ao_required; - __u64 pkt_dropped_icmp; -}; - -struct tcp_ao_key { - struct hlist_node node; - union tcp_ao_addr addr; - u8 key[80]; - unsigned int tcp_sigpool_id; - unsigned int digest_size; - int l3index; - u8 prefixlen; - u8 family; - u8 keylen; - u8 keyflags; - u8 sndid; - u8 rcvid; - u8 maclen; - struct callback_head rcu; - atomic64_t pkt_good; - atomic64_t pkt_bad; - u8 traffic_keys[0]; -}; - -struct tcp_ao_repair { - __be32 snt_isn; - __be32 rcv_isn; - __u32 snd_sne; - __u32 rcv_sne; -}; - -struct tcp_bbr_info { - __u32 bbr_bw_lo; - __u32 bbr_bw_hi; - __u32 bbr_min_rtt; - __u32 bbr_pacing_gain; - __u32 bbr_cwnd_gain; -}; - -struct tcpvegas_info { - __u32 tcpv_enabled; - __u32 tcpv_rttcnt; - __u32 tcpv_rtt; - __u32 tcpv_minrtt; -}; - -struct tcp_dctcp_info { - __u16 dctcp_enabled; - __u16 dctcp_ce_state; - __u32 dctcp_alpha; - __u32 dctcp_ab_ecn; - __u32 dctcp_ab_tot; -}; - -union tcp_cc_info { - struct tcpvegas_info vegas; - struct tcp_dctcp_info dctcp; - struct tcp_bbr_info bbr; -}; - -struct tcp_fastopen_context { - siphash_key_t key[2]; - int num; - struct callback_head rcu; -}; - -struct tcp_fastopen_cookie { - __le64 val[2]; - s8 len; - bool exp; -}; - -struct tcp_fastopen_metrics { - u16 mss; - u16 syn_loss: 10; - u16 try_exp: 2; - long unsigned int last_syn_loss; - struct tcp_fastopen_cookie cookie; -}; - -struct tcp_fastopen_request { - struct tcp_fastopen_cookie cookie; - struct msghdr *data; - size_t size; - int copied; - struct ubuf_info *uarg; -}; - -struct tcp_info { - __u8 tcpi_state; - __u8 tcpi_ca_state; - __u8 tcpi_retransmits; - __u8 tcpi_probes; - __u8 tcpi_backoff; - __u8 tcpi_options; - __u8 tcpi_snd_wscale: 4; - __u8 tcpi_rcv_wscale: 4; - __u8 tcpi_delivery_rate_app_limited: 1; - __u8 tcpi_fastopen_client_fail: 2; - __u32 tcpi_rto; - __u32 tcpi_ato; - __u32 tcpi_snd_mss; - __u32 tcpi_rcv_mss; - __u32 tcpi_unacked; - __u32 tcpi_sacked; - __u32 tcpi_lost; - __u32 tcpi_retrans; - __u32 tcpi_fackets; - __u32 tcpi_last_data_sent; - __u32 tcpi_last_ack_sent; - __u32 tcpi_last_data_recv; - __u32 tcpi_last_ack_recv; - __u32 tcpi_pmtu; - __u32 tcpi_rcv_ssthresh; - __u32 tcpi_rtt; - __u32 tcpi_rttvar; - __u32 tcpi_snd_ssthresh; - __u32 tcpi_snd_cwnd; - __u32 tcpi_advmss; - __u32 tcpi_reordering; - __u32 tcpi_rcv_rtt; - __u32 tcpi_rcv_space; - __u32 tcpi_total_retrans; - __u64 tcpi_pacing_rate; - __u64 tcpi_max_pacing_rate; - __u64 tcpi_bytes_acked; - __u64 tcpi_bytes_received; - __u32 tcpi_segs_out; - __u32 tcpi_segs_in; - __u32 tcpi_notsent_bytes; - __u32 tcpi_min_rtt; - __u32 tcpi_data_segs_in; - __u32 tcpi_data_segs_out; - __u64 tcpi_delivery_rate; - __u64 tcpi_busy_time; - __u64 tcpi_rwnd_limited; - __u64 tcpi_sndbuf_limited; - __u32 tcpi_delivered; - __u32 tcpi_delivered_ce; - __u64 tcpi_bytes_sent; - __u64 tcpi_bytes_retrans; - __u32 tcpi_dsack_dups; - __u32 tcpi_reord_seen; - __u32 tcpi_rcv_ooopack; - __u32 tcpi_snd_wnd; - __u32 tcpi_rcv_wnd; - __u32 tcpi_rehash; - __u16 tcpi_total_rto; - __u16 tcpi_total_rto_recoveries; - __u32 tcpi_total_rto_time; -}; - -struct tcp_md5sig_key; - -struct tcp_key { - union { - struct { - struct tcp_ao_key *ao_key; - char *traffic_key; - u32 sne; - u8 rcv_next; - }; - struct tcp_md5sig_key *md5_key; - }; - enum { - TCP_KEY_NONE = 0, - TCP_KEY_MD5 = 1, - TCP_KEY_AO = 2, - } type; -}; - -struct tcp_md5sig { - struct __kernel_sockaddr_storage tcpm_addr; - __u8 tcpm_flags; - __u8 tcpm_prefixlen; - __u16 tcpm_keylen; - int tcpm_ifindex; - __u8 tcpm_key[80]; -}; - -struct tcp_md5sig_info { - struct hlist_head head; - struct callback_head rcu; -}; - -struct tcp_md5sig_key { - struct hlist_node node; - u8 keylen; - u8 family; - u8 prefixlen; - u8 flags; - union tcp_ao_addr addr; - int l3index; - u8 key[80]; - struct callback_head rcu; -}; - -struct tcp_metrics_block { - struct tcp_metrics_block *tcpm_next; - struct net *tcpm_net; - struct inetpeer_addr tcpm_saddr; - struct inetpeer_addr tcpm_daddr; - long unsigned int tcpm_stamp; - u32 tcpm_lock; - u32 tcpm_vals[5]; - struct tcp_fastopen_metrics tcpm_fastopen; - struct callback_head callback_head; -}; - -struct tcp_mib { - long unsigned int mibs[16]; -}; - -struct tcp_out_options { - u16 options; - u16 mss; - u8 ws; - u8 num_sack_blocks; - u8 hash_size; - u8 bpf_opt_len; - __u8 *hash_location; - __u32 tsval; - __u32 tsecr; - struct tcp_fastopen_cookie *fastopen_cookie; - struct mptcp_out_options mptcp; -}; - -struct tcp_plb_state { - u8 consec_cong_rounds: 5; - u8 unused: 3; - u32 pause_until; -}; - -struct tcp_repair_opt { - __u32 opt_code; - __u32 opt_val; -}; - -struct tcp_repair_window { - __u32 snd_wl1; - __u32 snd_wnd; - __u32 max_window; - __u32 rcv_wnd; - __u32 rcv_wup; -}; - -struct tcp_request_sock_ops { - u16 mss_clamp; - struct tcp_md5sig_key * (*req_md5_lookup)(const struct sock *, const struct sock *); - int (*calc_md5_hash)(char *, const struct tcp_md5sig_key *, const struct sock *, const struct sk_buff *); - struct tcp_ao_key * (*ao_lookup)(const struct sock *, struct request_sock *, int, int); - int (*ao_calc_key)(struct tcp_ao_key *, u8 *, struct request_sock *); - int (*ao_synack_hash)(char *, struct tcp_ao_key *, struct request_sock *, const struct sk_buff *, int, u32); - __u32 (*cookie_init_seq)(const struct sk_buff *, __u16 *); - struct dst_entry * (*route_req)(const struct sock *, struct sk_buff *, struct flowi *, struct request_sock *, u32); - u32 (*init_seq)(const struct sk_buff *); - u32 (*init_ts_off)(const struct net *, const struct sk_buff *); - int (*send_synack)(const struct sock *, struct dst_entry *, struct flowi *, struct request_sock *, struct tcp_fastopen_cookie *, enum tcp_synack_type, struct sk_buff *); -}; - -struct tcp_sack_block_wire { - __be32 start_seq; - __be32 end_seq; -}; - -struct tcp_sacktag_state { - u64 first_sackt; - u64 last_sackt; - u32 reord; - u32 sack_delivered; - int flag; - unsigned int mss_now; - struct rate_sample *rate; -}; - -struct tcp_seq_afinfo { - sa_family_t family; -}; - -struct tcp_sigpool { - void *scratch; - struct ahash_request *req; -}; - -struct tcp_skb_cb { - __u32 seq; - __u32 end_seq; - union { - struct { - u16 tcp_gso_segs; - u16 tcp_gso_size; - }; - }; - __u16 tcp_flags; - __u8 sacked; - __u8 ip_dsfield; - __u8 txstamp_ack: 2; - __u8 eor: 1; - __u8 has_rxtstamp: 1; - __u8 unused: 4; - __u32 ack_seq; - union { - struct { - __u32 is_app_limited: 1; - __u32 delivered_ce: 20; - __u32 unused: 11; - __u32 delivered; - u64 first_tx_mstamp; - u64 delivered_mstamp; - } tx; - union { - struct inet_skb_parm h4; - struct inet6_skb_parm h6; - } header; - }; -}; - -struct tcp_sock_af_ops { - struct tcp_md5sig_key * (*md5_lookup)(const struct sock *, const struct sock *); - int (*calc_md5_hash)(char *, const struct tcp_md5sig_key *, const struct sock *, const struct sk_buff *); - int (*md5_parse)(struct sock *, int, sockptr_t, int); - int (*ao_parse)(struct sock *, int, sockptr_t, int); - struct tcp_ao_key * (*ao_lookup)(const struct sock *, struct sock *, int, int); - int (*ao_calc_key_sk)(struct tcp_ao_key *, u8 *, const struct sock *, __be32, __be32, bool); - int (*calc_ao_hash)(char *, struct tcp_ao_key *, const struct sock *, const struct sk_buff *, const u8 *, int, u32); -}; - -struct tcp_splice_state { - struct pipe_inode_info *pipe; - size_t len; - unsigned int flags; -}; - -struct tcp_timewait_sock { - struct inet_timewait_sock tw_sk; - u32 tw_rcv_wnd; - u32 tw_ts_offset; - u32 tw_ts_recent; - u32 tw_last_oow_ack_time; - int tw_ts_recent_stamp; - u32 tw_tx_delay; - struct tcp_md5sig_key *tw_md5_key; - struct tcp_ao_info *ao_info; -}; - -struct tcp_ulp_ops { - struct list_head list; - int (*init)(struct sock *); - void (*update)(struct sock *, struct proto *, void (*)(struct sock *)); - void (*release)(struct sock *); - int (*get_info)(struct sock *, struct sk_buff *, bool); - size_t (*get_info_size)(const struct sock *, bool); - void (*clone)(const struct request_sock *, struct sock *, const gfp_t); - char name[16]; - struct module *owner; -}; - -union tcp_word_hdr { - struct tcphdr hdr; - __be32 words[5]; -}; - -struct tcp_xa_pool { - u8 max; - u8 idx; - __u32 tokens[17]; - netmem_ref netmems[17]; -}; - -struct tcp_zerocopy_receive { - __u64 address; - __u32 length; - __u32 recv_skip_hint; - __u32 inq; - __s32 err; - __u64 copybuf_address; - __s32 copybuf_len; - __u32 flags; - __u64 msg_control; - __u64 msg_controllen; - __u32 msg_flags; - __u32 reserved; -}; - -struct tcpa_event { - u32 pcr_index; - u32 event_type; - u8 pcr_value[20]; - u32 event_size; - u8 event_data[0]; -}; - -struct tcpa_pc_event { - u32 event_id; - u32 event_size; - u8 event_data[0]; -}; - -struct tcpm_hash_bucket { - struct tcp_metrics_block *chain; -}; - -struct tcx_entry { - struct mini_Qdisc *miniq; - struct bpf_mprog_bundle bundle; - u32 miniq_active; - struct callback_head rcu; -}; - -struct tcx_link { - struct bpf_link link; - struct net_device *dev; -}; - -struct td { - __hc32 hwINFO; - __hc32 hwCBP; - __hc32 hwNextTD; - __hc32 hwBE; - __hc16 hwPSW[2]; - __u8 index; - struct ed *ed; - struct td *td_hash; - struct td *next_dl_td; - struct urb *urb; - dma_addr_t td_dma; - dma_addr_t data_dma; - struct list_head td_list; - long: 64; -}; - -struct tdmr_reserved_area { - u64 offset; - u64 size; -}; - -struct tdmr_info { - u64 base; - u64 size; - u64 pamt_1g_base; - u64 pamt_1g_size; - u64 pamt_2m_base; - u64 pamt_2m_size; - u64 pamt_4k_base; - u64 pamt_4k_size; - struct { - struct {} __empty_reserved_areas; - struct tdmr_reserved_area reserved_areas[0]; - }; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct tdmr_info_list { - void *tdmrs; - int nr_consumed_tdmrs; - int tdmr_sz; - int max_tdmrs; -}; - -struct tdx_memblock { - struct list_head list; - long unsigned int start_pfn; - long unsigned int end_pfn; - int nid; -}; - -struct tdx_module_args { - u64 rcx; - u64 rdx; - u64 r8; - u64 r9; - u64 r10; - u64 r11; - u64 r12; - u64 r13; - u64 r14; - u64 r15; - u64 rbx; - u64 rdi; - u64 rsi; -}; - -struct tdx_sys_info_features { - u64 tdx_features0; -}; - -struct tdx_sys_info_tdmr { - u16 max_tdmrs; - u16 max_reserved_per_tdmr; - u16 pamt_4k_entry_size; - u16 pamt_2m_entry_size; - u16 pamt_1g_entry_size; -}; - -struct tdx_sys_info_td_ctrl { - u16 tdr_base_size; - u16 tdcs_base_size; - u16 tdvps_base_size; -}; - -struct tdx_sys_info_td_conf { - u64 attributes_fixed0; - u64 attributes_fixed1; - u64 xfam_fixed0; - u64 xfam_fixed1; - u16 num_cpuid_config; - u16 max_vcpus_per_td; - u64 cpuid_config_leaves[128]; - u64 cpuid_config_values[256]; -}; - -struct tdx_sys_info { - struct tdx_sys_info_features features; - struct tdx_sys_info_tdmr tdmr; - struct tdx_sys_info_td_ctrl td_ctrl; - struct tdx_sys_info_td_conf td_conf; -}; - -struct tdx_td { - struct page *tdr_page; - int tdcs_nr_pages; - struct page **tdcs_pages; - int tdcx_nr_pages; -}; - -struct tdx_vp { - struct page *tdvpr_page; - phys_addr_t tdvpr_pa; - struct page **tdcx_pages; -}; - -struct temp_masks { - u32 tcc_offset; - u32 digital_readout; - u32 pkg_digital_readout; -}; - -struct teo_bin { - unsigned int intercepts; - unsigned int hits; -}; - -struct teo_cpu { - s64 sleep_length_ns; - struct teo_bin state_bins[10]; - unsigned int total; - unsigned int tick_intercepts; - unsigned int short_idles; - bool artificial_wakeup; -}; - -struct termio { - short unsigned int c_iflag; - short unsigned int c_oflag; - short unsigned int c_cflag; - short unsigned int c_lflag; - unsigned char c_line; - unsigned char c_cc[8]; -}; - -struct termios { - tcflag_t c_iflag; - tcflag_t c_oflag; - tcflag_t c_cflag; - tcflag_t c_lflag; - cc_t c_line; - cc_t c_cc[19]; -}; - -struct termios2 { - tcflag_t c_iflag; - tcflag_t c_oflag; - tcflag_t c_cflag; - tcflag_t c_lflag; - cc_t c_line; - cc_t c_cc[19]; - speed_t c_ispeed; - speed_t c_ospeed; -}; - -union text_poke_insn { - u8 text[5]; - struct { - u8 opcode; - s32 disp; - } __attribute__((packed)); -}; - -struct tgid_iter { - unsigned int tgid; - struct task_struct *task; -}; - -struct thermal_attr { - struct device_attribute attr; - char name[20]; -}; - -typedef struct thermal_cooling_device *class_cooling_dev_t; - -struct thermal_cooling_device { - int id; - const char *type; - long unsigned int max_state; - struct device device; - struct device_node *np; - void *devdata; - void *stats; - const struct thermal_cooling_device_ops *ops; - bool updated; - struct mutex lock; - struct list_head thermal_instances; - struct list_head node; -}; - -struct thermal_genl_cpu_caps { - int cpu; - int performance; - int efficiency; -}; - -struct thermal_genl_notify { - int mcgrp; -}; - -struct thermal_governor { - const char *name; - int (*bind_to_tz)(struct thermal_zone_device *); - void (*unbind_from_tz)(struct thermal_zone_device *); - void (*trip_crossed)(struct thermal_zone_device *, const struct thermal_trip *, bool); - void (*manage)(struct thermal_zone_device *); - void (*update_tz)(struct thermal_zone_device *, enum thermal_notify_event); - struct list_head governor_list; -}; - -struct thermal_hwmon_attr { - struct device_attribute attr; - char name[16]; -}; - -struct thermal_hwmon_device { - char type[20]; - struct device *device; - int count; - struct list_head tz_list; - struct list_head node; -}; - -struct thermal_hwmon_temp { - struct list_head hwmon_node; - struct thermal_zone_device *tz; - struct thermal_hwmon_attr temp_input; - struct thermal_hwmon_attr temp_crit; -}; - -struct thermal_instance { - int id; - char name[20]; - struct thermal_cooling_device *cdev; - const struct thermal_trip *trip; - bool initialized; - long unsigned int upper; - long unsigned int lower; - long unsigned int target; - char attr_name[20]; - struct device_attribute attr; - char weight_attr_name[20]; - struct device_attribute weight_attr; - struct list_head trip_node; - struct list_head cdev_node; - unsigned int weight; - bool upper_no_limit; -}; - -struct thermal_state { - struct _thermal_state core_throttle; - struct _thermal_state core_power_limit; - struct _thermal_state package_throttle; - struct _thermal_state package_power_limit; - struct _thermal_state core_thresh0; - struct _thermal_state core_thresh1; - struct _thermal_state pkg_thresh0; - struct _thermal_state pkg_thresh1; -}; - -struct thermal_trip { - int temperature; - int hysteresis; - enum thermal_trip_type type; - u8 flags; - void *priv; -}; - -struct thermal_trip_attrs { - struct thermal_attr type; - struct thermal_attr temp; - struct thermal_attr hyst; -}; - -struct thermal_trip_desc { - struct thermal_trip trip; - struct thermal_trip_attrs trip_attrs; - struct list_head list_node; - struct list_head thermal_instances; - int threshold; -}; - -typedef struct thermal_zone_device *class_thermal_zone_get_by_id_t; - -typedef struct thermal_zone_device *class_thermal_zone_reverse_t; - -typedef struct thermal_zone_device *class_thermal_zone_t; - -struct thermal_zone_device_ops { - bool (*should_bind)(struct thermal_zone_device *, const struct thermal_trip *, struct thermal_cooling_device *, struct cooling_spec *); - int (*get_temp)(struct thermal_zone_device *, int *); - int (*set_trips)(struct thermal_zone_device *, int, int); - int (*change_mode)(struct thermal_zone_device *, enum thermal_device_mode); - int (*set_trip_temp)(struct thermal_zone_device *, const struct thermal_trip *, int); - int (*get_crit_temp)(struct thermal_zone_device *, int *); - int (*set_emul_temp)(struct thermal_zone_device *, int); - int (*get_trend)(struct thermal_zone_device *, const struct thermal_trip *, enum thermal_trend *); - void (*hot)(struct thermal_zone_device *); - void (*critical)(struct thermal_zone_device *); -}; - -struct thermal_zone_params; - -struct thermal_zone_device { - int id; - char type[20]; - struct device device; - struct completion removal; - struct completion resume; - struct attribute_group trips_attribute_group; - struct list_head trips_high; - struct list_head trips_reached; - struct list_head trips_invalid; - enum thermal_device_mode mode; - void *devdata; - int num_trips; - long unsigned int passive_delay_jiffies; - long unsigned int polling_delay_jiffies; - long unsigned int recheck_delay_jiffies; - int temperature; - int last_temperature; - int emul_temperature; - int passive; - int prev_low_trip; - int prev_high_trip; - struct thermal_zone_device_ops ops; - struct thermal_zone_params *tzp; - struct thermal_governor *governor; - void *governor_data; - struct ida ida; - struct mutex lock; - struct list_head node; - struct delayed_work poll_queue; - enum thermal_notify_event notify_event; - u8 state; - struct list_head user_thresholds; - struct thermal_trip_desc trips[0]; -}; - -struct thermal_zone_params { - const char *governor_name; - bool no_hwmon; - u32 sustainable_power; - s32 k_po; - s32 k_pu; - s32 k_i; - s32 k_d; - s32 integral_cutoff; - int slope; - int offset; -}; - -struct thpsize { - struct kobject kobj; - struct list_head node; - int order; -}; - -struct threshold_block; - -struct thresh_restart { - struct threshold_block *b; - int set_lvt_off; - int lvt_off; - u16 old_limit; -}; - -struct threshold_attr { - struct attribute attr; - ssize_t (*show)(struct threshold_block *, char *); - ssize_t (*store)(struct threshold_block *, const char *, size_t); -}; - -struct threshold_bank { - struct kobject *kobj; - struct threshold_block *blocks; -}; - -struct threshold_block { - unsigned int block; - unsigned int bank; - unsigned int cpu; - u32 address; - bool interrupt_enable; - bool interrupt_capable; - u16 threshold_limit; - struct kobject kobj; - struct list_head miscj; -}; - -struct throtl_service_queue { - struct throtl_service_queue *parent_sq; - struct list_head queued[2]; - unsigned int nr_queued_bps[2]; - unsigned int nr_queued_iops[2]; - struct rb_root_cached pending_tree; - unsigned int nr_pending; - long unsigned int first_pending_disptime; - struct timer_list pending_timer; -}; - -struct throtl_data { - struct throtl_service_queue service_queue; - struct request_queue *queue; - unsigned int nr_queued[2]; - unsigned int throtl_slice; - struct work_struct dispatch_work; - bool track_bio_latency; -}; - -struct throtl_grp; - -struct throtl_qnode { - struct list_head node; - struct bio_list bios_bps; - struct bio_list bios_iops; - struct throtl_grp *tg; -}; - -struct throtl_grp { - struct blkg_policy_data pd; - struct rb_node rb_node; - struct throtl_data *td; - struct throtl_service_queue service_queue; - struct throtl_qnode qnode_on_self[2]; - struct throtl_qnode qnode_on_parent[2]; - long unsigned int disptime; - unsigned int flags; - bool has_rules_bps[2]; - bool has_rules_iops[2]; - uint64_t bps[2]; - unsigned int iops[2]; - int64_t bytes_disp[2]; - int io_disp[2]; - long unsigned int last_check_time; - long unsigned int slice_start[2]; - long unsigned int slice_end[2]; - struct blkg_rwstat stat_bytes; - struct blkg_rwstat stat_ios; -}; - -struct throttling_tstate { - unsigned int cpu; - int target_state; -}; - -struct tick_device { - struct clock_event_device *evtdev; - enum tick_device_mode mode; -}; - -struct tick_sched { - long unsigned int flags; - unsigned int stalled_jiffies; - long unsigned int last_tick_jiffies; - struct hrtimer sched_timer; - ktime_t last_tick; - ktime_t next_tick; - long unsigned int idle_jiffies; - ktime_t idle_waketime; - unsigned int got_idle_tick; - seqcount_t idle_sleeptime_seq; - ktime_t idle_entrytime; - long unsigned int last_jiffies; - u64 timer_expires_base; - u64 timer_expires; - u64 next_timer; - ktime_t idle_expires; - long unsigned int idle_calls; - long unsigned int idle_sleeps; - ktime_t idle_exittime; - ktime_t idle_sleeptime; - ktime_t iowait_sleeptime; - atomic_t tick_dep_mask; - long unsigned int check_clocks; -}; - -struct tick_work { - int cpu; - atomic_t state; - struct delayed_work work; -}; - -struct timens_offsets { - struct timespec64 monotonic; - struct timespec64 boottime; -}; - -struct time_namespace { - struct user_namespace *user_ns; - struct ucounts *ucounts; - struct ns_common ns; - struct timens_offsets offsets; - struct page *vvar_page; - bool frozen_offsets; -}; - -struct timedia_struct { - int num; - const short unsigned int *ids; -}; - -struct tk_read_base { - struct clocksource *clock; - u64 mask; - u64 cycle_last; - u32 mult; - u32 shift; - u64 xtime_nsec; - ktime_t base; - u64 base_real; -}; - -struct timekeeper { - struct tk_read_base tkr_mono; - u64 xtime_sec; - long unsigned int ktime_sec; - struct timespec64 wall_to_monotonic; - ktime_t offs_real; - ktime_t offs_boot; - union { - ktime_t offs_tai; - ktime_t offs_aux; - }; - u32 coarse_nsec; - enum timekeeper_ids id; - struct tk_read_base tkr_raw; - u64 raw_sec; - unsigned int clock_was_set_seq; - u8 cs_was_changed_seq; - u8 clock_valid; - union { - struct timespec64 monotonic_to_boot; - struct timespec64 monotonic_to_aux; - }; - u64 cycle_interval; - u64 xtime_interval; - s64 xtime_remainder; - u64 raw_interval; - ktime_t next_leap_ktime; - u64 ntp_tick; - s64 ntp_error; - u32 ntp_error_shift; - u32 ntp_err_mult; - u32 skip_second_overflow; - s32 tai_offset; -}; - -struct timens_offset { - s64 sec; - u64 nsec; -}; - -struct timer_base { - raw_spinlock_t lock; - struct timer_list *running_timer; - long unsigned int clk; - long unsigned int next_expiry; - unsigned int cpu; - bool next_expiry_recalc; - bool is_idle; - bool timers_pending; - long unsigned int pending_map[9]; - struct hlist_head vectors[576]; - long: 64; - long: 64; -}; - -struct timer_events { - u64 local; - u64 global; -}; - -struct timer_hash_bucket { - spinlock_t lock; - struct hlist_head head; -}; - -struct timer_list_iter { - int cpu; - bool second_pass; - u64 now; -}; - -struct timer_rand_state { - long unsigned int last_time; - long int last_delta; - long int last_delta2; -}; - -struct timerfd_ctx { - union { - struct hrtimer tmr; - struct alarm alarm; - } t; - ktime_t tintv; - ktime_t moffs; - wait_queue_head_t wqh; - u64 ticks; - int clockid; - short unsigned int expired; - short unsigned int settime_flags; - struct callback_head rcu; - struct list_head clist; - spinlock_t cancel_lock; - bool might_cancel; -}; - -struct timerlat_entry { - struct trace_entry ent; - unsigned int seqnum; - int context; - u64 timer_latency; -}; - -struct timerlat_sample { - u64 timer_latency; - unsigned int seqnum; - int context; -}; - -struct timerlat_variables { - struct task_struct *kthread; - struct hrtimer timer; - u64 rel_period; - u64 abs_period; - bool tracing_thread; - u64 count; - bool uthread_migrate; -}; - -struct timers_private { - struct pid *pid; - struct task_struct *task; - struct pid_namespace *ns; -}; - -struct timestamp_event_queue { - struct ptp_extts_event buf[128]; - int head; - int tail; - spinlock_t lock; - struct list_head qlist; - long unsigned int *mask; - struct dentry *debugfs_instance; - struct debugfs_u32_array dfs_bitmap; -}; - -struct timewait_sock_ops { - struct kmem_cache *twsk_slab; - char *twsk_slab_name; - unsigned int twsk_obj_size; - void (*twsk_destructor)(struct sock *); -}; - -struct timezone { - int tz_minuteswest; - int tz_dsttime; -}; - -struct tiocl_selection { - short unsigned int xs; - short unsigned int ys; - short unsigned int xe; - short unsigned int ye; - short unsigned int sel_mode; -}; - -struct tipc_basic_hdr { - __be32 w[4]; -}; - -struct tis_vendor_durations_override { - u32 did_vid; - struct tpm1_version version; - long unsigned int durations[3]; -}; - -struct tis_vendor_timeout_override { - u32 did_vid; - long unsigned int timeout_us[4]; -}; - -struct tk_data { - seqcount_raw_spinlock_t seq; - struct timekeeper timekeeper; - struct timekeeper shadow_timekeeper; - raw_spinlock_t lock; -}; - -struct tk_fast { - seqcount_latch_t seq; - struct tk_read_base base[2]; -}; - -struct tlb_context { - u64 ctx_id; - u64 tlb_gen; -}; - -struct tlb_state { - struct mm_struct *loaded_mm; - union { - struct mm_struct *last_user_mm; - long unsigned int last_user_mm_spec; - }; - u16 loaded_mm_asid; - u16 next_asid; - bool invalidate_other; - short unsigned int user_pcid_flush_mask; - long unsigned int cr4; - struct tlb_context ctxs[6]; -}; - -struct tlb_state_shared { - bool is_lazy; -}; - -struct tls_crypto_info { - __u16 version; - __u16 cipher_type; -}; - -struct tls12_crypto_info_aes_gcm_128 { - struct tls_crypto_info info; - unsigned char iv[8]; - unsigned char key[16]; - unsigned char salt[4]; - unsigned char rec_seq[8]; -}; - -struct tls12_crypto_info_aes_gcm_256 { - struct tls_crypto_info info; - unsigned char iv[8]; - unsigned char key[32]; - unsigned char salt[4]; - unsigned char rec_seq[8]; -}; - -struct tls12_crypto_info_chacha20_poly1305 { - struct tls_crypto_info info; - unsigned char iv[12]; - unsigned char key[32]; - unsigned char salt[0]; - unsigned char rec_seq[8]; -}; - -struct tls12_crypto_info_sm4_ccm { - struct tls_crypto_info info; - unsigned char iv[8]; - unsigned char key[16]; - unsigned char salt[4]; - unsigned char rec_seq[8]; -}; - -struct tls12_crypto_info_sm4_gcm { - struct tls_crypto_info info; - unsigned char iv[8]; - unsigned char key[16]; - unsigned char salt[4]; - unsigned char rec_seq[8]; -}; - -struct tls_prot_info { - u16 version; - u16 cipher_type; - u16 prepend_size; - u16 tag_size; - u16 overhead_size; - u16 iv_size; - u16 salt_size; - u16 rec_seq_size; - u16 aad_size; - u16 tail_size; -}; - -union tls_crypto_context { - struct tls_crypto_info info; - union { - struct tls12_crypto_info_aes_gcm_128 aes_gcm_128; - struct tls12_crypto_info_aes_gcm_256 aes_gcm_256; - struct tls12_crypto_info_chacha20_poly1305 chacha20_poly1305; - struct tls12_crypto_info_sm4_gcm sm4_gcm; - struct tls12_crypto_info_sm4_ccm sm4_ccm; - }; -}; - -struct tls_context { - struct tls_prot_info prot_info; - u8 tx_conf: 3; - u8 rx_conf: 3; - u8 zerocopy_sendfile: 1; - u8 rx_no_pad: 1; - int (*push_pending_record)(struct sock *, int); - void (*sk_write_space)(struct sock *); - void *priv_ctx_tx; - void *priv_ctx_rx; - struct net_device *netdev; - struct cipher_context tx; - struct cipher_context rx; - struct scatterlist *partially_sent_record; - u16 partially_sent_offset; - bool splicing_pages; - bool pending_open_record_frags; - struct mutex tx_lock; - long unsigned int flags; - struct proto *sk_proto; - struct sock *sk; - void (*sk_destruct)(struct sock *); - union tls_crypto_context crypto_send; - union tls_crypto_context crypto_recv; - struct list_head list; - refcount_t refcount; - struct callback_head rcu; -}; - -struct tls_descs { - struct desc_struct desc[3]; -}; - -typedef void (*tls_done_func_t)(void *, int, key_serial_t); - -struct tls_handshake_args { - struct socket *ta_sock; - tls_done_func_t ta_done; - void *ta_data; - const char *ta_peername; - unsigned int ta_timeout_ms; - key_serial_t ta_keyring; - key_serial_t ta_my_cert; - key_serial_t ta_my_privkey; - unsigned int ta_num_peerids; - key_serial_t ta_my_peerids[5]; -}; - -struct tls_handshake_req { - void (*th_consumer_done)(void *, int, key_serial_t); - void *th_consumer_data; - int th_type; - unsigned int th_timeout_ms; - int th_auth_mode; - const char *th_peername; - key_serial_t th_keyring; - key_serial_t th_certificate; - key_serial_t th_privkey; - unsigned int th_num_peerids; - key_serial_t th_peerid[5]; -}; - -struct tls_strparser { - struct sock *sk; - u32 mark: 8; - u32 stopped: 1; - u32 copy_mode: 1; - u32 mixed_decrypted: 1; - bool msg_ready; - struct strp_msg stm; - struct sk_buff *anchor; - struct work_struct work; -}; - -struct tls_sw_context_rx { - struct crypto_aead *aead_recv; - struct crypto_wait async_wait; - struct sk_buff_head rx_list; - void (*saved_data_ready)(struct sock *); - u8 reader_present; - u8 async_capable: 1; - u8 zc_capable: 1; - u8 reader_contended: 1; - bool key_update_pending; - struct tls_strparser strp; - atomic_t decrypt_pending; - struct sk_buff_head async_hold; - struct wait_queue_head wq; -}; - -struct tx_work { - struct delayed_work work; - struct sock *sk; -}; - -struct tls_rec; - -struct tls_sw_context_tx { - struct crypto_aead *aead_send; - struct crypto_wait async_wait; - struct tx_work tx_work; - struct tls_rec *open_rec; - struct list_head tx_list; - atomic_t encrypt_pending; - u8 async_capable: 1; - long unsigned int tx_bitmask; -}; - -struct tlsdev_ops { - int (*tls_dev_add)(struct net_device *, struct sock *, enum tls_offload_ctx_dir, struct tls_crypto_info *, u32); - void (*tls_dev_del)(struct net_device *, struct tls_context *, enum tls_offload_ctx_dir); - int (*tls_dev_resync)(struct net_device *, struct sock *, u32, u8 *, enum tls_offload_ctx_dir); -}; - -struct tm { - int tm_sec; - int tm_min; - int tm_hour; - int tm_mday; - int tm_mon; - long int tm_year; - int tm_wday; - int tm_yday; -}; - -struct tsm_measurements; - -struct tm_context { - struct rw_semaphore rwsem; - struct attribute_group agrp; - const struct tsm_measurements *tm; - bool in_sync; - struct bin_attribute mrs[0]; -}; - -struct tmigr_event { - struct timerqueue_node nextevt; - unsigned int cpu; - bool ignore; -}; - -struct tmigr_group; - -struct tmigr_cpu { - raw_spinlock_t lock; - bool online; - bool idle; - bool remote; - struct tmigr_group *tmgroup; - u8 groupmask; - u64 wakeup; - struct tmigr_event cpuevt; -}; - -struct tmigr_group { - raw_spinlock_t lock; - struct tmigr_group *parent; - struct tmigr_event groupevt; - u64 next_expiry; - struct timerqueue_head events; - atomic_t migr_state; - unsigned int level; - int numa_node; - unsigned int num_children; - u8 groupmask; - struct list_head list; -}; - -union tmigr_state { - u32 state; - struct { - u8 active; - u8 migrator; - u16 seq; - }; -}; - -struct tmigr_walk { - u64 nextexp; - u64 firstexp; - struct tmigr_event *evt; - u8 childmask; - bool remote; - long unsigned int basej; - u64 now; - bool check; - bool tmc_active; -}; - -struct tmpmasks { - cpumask_var_t addmask; - cpumask_var_t delmask; - cpumask_var_t new_cpus; -}; - -struct tms { - __kernel_clock_t tms_utime; - __kernel_clock_t tms_stime; - __kernel_clock_t tms_cutime; - __kernel_clock_t tms_cstime; -}; - -struct tnode { - struct callback_head rcu; - t_key empty_children; - t_key full_children; - struct key_vector *parent; - struct key_vector kv[1]; -}; - -struct token_bucket { - spinlock_t lock; - int chain_len; - struct hlist_nulls_head req_chain; - struct hlist_nulls_head msk_chain; -}; - -struct tomoyo_acl_head { - struct list_head list; - s8 is_deleted; -} __attribute__((packed)); - -struct tomoyo_condition; - -struct tomoyo_acl_info { - struct list_head list; - struct tomoyo_condition *cond; - s8 is_deleted; - u8 type; -} __attribute__((packed)); - -struct tomoyo_policy_namespace; - -struct tomoyo_acl_param { - char *data; - struct list_head *list; - struct tomoyo_policy_namespace *ns; - bool is_delete; -}; - -struct tomoyo_inet_addr_info { - __be16 port; - const __be32 *address; - bool is_ipv6; -}; - -struct tomoyo_unix_addr_info { - u8 *addr; - unsigned int addr_len; -}; - -struct tomoyo_addr_info { - u8 protocol; - u8 operation; - struct tomoyo_inet_addr_info inet; - struct tomoyo_unix_addr_info unix0; -}; - -struct tomoyo_group; - -struct tomoyo_ipaddr_union { - struct in6_addr ip[2]; - struct tomoyo_group *group; - bool is_ipv6; -}; - -struct tomoyo_address_group { - struct tomoyo_acl_head head; - struct tomoyo_ipaddr_union address; -}; - -struct tomoyo_path_info; - -struct tomoyo_aggregator { - struct tomoyo_acl_head head; - const struct tomoyo_path_info *original_name; - const struct tomoyo_path_info *aggregated_name; -}; - -struct tomoyo_argv { - long unsigned int index; - const struct tomoyo_path_info *value; - bool is_not; -}; - -struct tomoyo_shared_acl_head { - struct list_head list; - atomic_t users; -} __attribute__((packed)); - -struct tomoyo_condition { - struct tomoyo_shared_acl_head head; - u32 size; - u16 condc; - u16 numbers_count; - u16 names_count; - u16 argc; - u16 envc; - u8 grant_log; - const struct tomoyo_path_info *transit; -}; - -struct tomoyo_condition_element { - u8 left; - u8 right; - bool equals; -}; - -struct tomoyo_domain_info { - struct list_head list; - struct list_head acl_info_list; - const struct tomoyo_path_info *domainname; - struct tomoyo_policy_namespace *ns; - long unsigned int group[4]; - u8 profile; - bool is_deleted; - bool flags[2]; - atomic_t users; -}; - -struct tomoyo_env_acl { - struct tomoyo_acl_info head; - const struct tomoyo_path_info *env; -}; - -struct tomoyo_envp { - const struct tomoyo_path_info *name; - const struct tomoyo_path_info *value; - bool is_not; -}; - -struct tomoyo_obj_info; - -struct tomoyo_execve; - -struct tomoyo_request_info { - struct tomoyo_obj_info *obj; - struct tomoyo_execve *ee; - struct tomoyo_domain_info *domain; - union { - struct { - const struct tomoyo_path_info *filename; - const struct tomoyo_path_info *matched_path; - u8 operation; - } path; - struct { - const struct tomoyo_path_info *filename1; - const struct tomoyo_path_info *filename2; - u8 operation; - } path2; - struct { - const struct tomoyo_path_info *filename; - unsigned int mode; - unsigned int major; - unsigned int minor; - u8 operation; - } mkdev; - struct { - const struct tomoyo_path_info *filename; - long unsigned int number; - u8 operation; - } path_number; - struct { - const struct tomoyo_path_info *name; - } environ; - struct { - const __be32 *address; - u16 port; - u8 protocol; - u8 operation; - bool is_ipv6; - } inet_network; - struct { - const struct tomoyo_path_info *address; - u8 protocol; - u8 operation; - } unix_network; - struct { - const struct tomoyo_path_info *type; - const struct tomoyo_path_info *dir; - const struct tomoyo_path_info *dev; - long unsigned int flags; - int need_dev; - } mount; - struct { - const struct tomoyo_path_info *domainname; - } task; - } param; - struct tomoyo_acl_info *matched_acl; - u8 param_type; - bool granted; - u8 retry; - u8 profile; - u8 mode; - u8 type; -}; - -struct tomoyo_mini_stat { - kuid_t uid; - kgid_t gid; - ino_t ino; - umode_t mode; - dev_t dev; - dev_t rdev; -}; - -struct tomoyo_obj_info { - bool validate_done; - bool stat_valid[4]; - struct path path1; - struct path path2; - struct tomoyo_mini_stat stat[4]; - struct tomoyo_path_info *symlink_target; -}; - -struct tomoyo_page_dump { - struct page *page; - char *data; -}; - -struct tomoyo_execve { - struct tomoyo_request_info r; - struct tomoyo_obj_info obj; - struct linux_binprm *bprm; - const struct tomoyo_path_info *transition; - struct tomoyo_page_dump dump; - char *tmp; -}; - -struct tomoyo_group { - struct tomoyo_shared_acl_head head; - const struct tomoyo_path_info *group_name; - struct list_head member_list; -}; - -struct tomoyo_number_union { - long unsigned int values[2]; - struct tomoyo_group *group; - u8 value_type[2]; -}; - -struct tomoyo_inet_acl { - struct tomoyo_acl_info head; - u8 protocol; - u8 perm; - struct tomoyo_ipaddr_union address; - struct tomoyo_number_union port; -}; - -struct tomoyo_io_buffer { - void (*read)(struct tomoyo_io_buffer *); - int (*write)(struct tomoyo_io_buffer *); - __poll_t (*poll)(struct file *, poll_table *); - struct mutex io_sem; - char *read_user_buf; - size_t read_user_buf_avail; - struct { - struct list_head *ns; - struct list_head *domain; - struct list_head *group; - struct list_head *acl; - size_t avail; - unsigned int step; - unsigned int query_index; - u16 index; - u16 cond_index; - u8 acl_group_index; - u8 cond_step; - u8 bit; - u8 w_pos; - bool eof; - bool print_this_domain_only; - bool print_transition_related_only; - bool print_cond_part; - const char *w[64]; - } r; - struct { - struct tomoyo_policy_namespace *ns; - struct tomoyo_domain_info *domain; - size_t avail; - bool is_delete; - } w; - char *read_buf; - size_t readbuf_size; - char *write_buf; - size_t writebuf_size; - enum tomoyo_securityfs_interface_index type; - u8 users; - struct list_head list; -}; - -struct tomoyo_log { - struct list_head list; - char *log; - int size; -}; - -struct tomoyo_manager { - struct tomoyo_acl_head head; - const struct tomoyo_path_info *manager; -}; - -struct tomoyo_name_union { - const struct tomoyo_path_info *filename; - struct tomoyo_group *group; -}; - -struct tomoyo_mkdev_acl { - struct tomoyo_acl_info head; - u8 perm; - struct tomoyo_name_union name; - struct tomoyo_number_union mode; - struct tomoyo_number_union major; - struct tomoyo_number_union minor; -}; - -struct tomoyo_mount_acl { - struct tomoyo_acl_info head; - struct tomoyo_name_union dev_name; - struct tomoyo_name_union dir_name; - struct tomoyo_name_union fs_type; - struct tomoyo_number_union flags; -}; - -struct tomoyo_path_info { - const char *name; - u32 hash; - u16 const_len; - bool is_dir; - bool is_patterned; -}; - -struct tomoyo_name { - struct tomoyo_shared_acl_head head; - struct tomoyo_path_info entry; -}; - -struct tomoyo_number_group { - struct tomoyo_acl_head head; - struct tomoyo_number_union number; -}; - -struct tomoyo_path2_acl { - struct tomoyo_acl_info head; - u8 perm; - struct tomoyo_name_union name1; - struct tomoyo_name_union name2; -}; - -struct tomoyo_path_acl { - struct tomoyo_acl_info head; - u16 perm; - struct tomoyo_name_union name; -}; - -struct tomoyo_path_group { - struct tomoyo_acl_head head; - const struct tomoyo_path_info *member_name; -}; - -struct tomoyo_path_number_acl { - struct tomoyo_acl_info head; - u8 perm; - struct tomoyo_name_union name; - struct tomoyo_number_union number; -}; - -struct tomoyo_profile; - -struct tomoyo_policy_namespace { - struct tomoyo_profile *profile_ptr[256]; - struct list_head group_list[3]; - struct list_head policy_list[11]; - struct list_head acl_group[256]; - struct list_head namespace_list; - unsigned int profile_version; - const char *name; -}; - -struct tomoyo_preference { - unsigned int learning_max_entry; - bool enforcing_verbose; - bool learning_verbose; - bool permissive_verbose; -}; - -struct tomoyo_profile { - const struct tomoyo_path_info *comment; - struct tomoyo_preference *learning; - struct tomoyo_preference *permissive; - struct tomoyo_preference *enforcing; - struct tomoyo_preference preference; - u8 default_config; - u8 config[42]; - unsigned int pref[2]; -}; - -struct tomoyo_query { - struct list_head list; - struct tomoyo_domain_info *domain; - char *query; - size_t query_len; - unsigned int serial; - u8 timer; - u8 answer; - u8 retry; -}; - -struct tomoyo_task { - struct tomoyo_domain_info *domain_info; - struct tomoyo_domain_info *old_domain_info; -}; - -struct tomoyo_task_acl { - struct tomoyo_acl_info head; - const struct tomoyo_path_info *domainname; -}; - -struct tomoyo_time { - u16 year; - u8 month; - u8 day; - u8 hour; - u8 min; - u8 sec; -}; - -struct tomoyo_transition_control { - struct tomoyo_acl_head head; - u8 type; - bool is_last_name; - const struct tomoyo_path_info *domainname; - const struct tomoyo_path_info *program; -}; - -struct tomoyo_unix_acl { - struct tomoyo_acl_info head; - u8 protocol; - u8 perm; - struct tomoyo_name_union name; -}; - -struct topa { - struct list_head list; - u64 offset; - size_t size; - int last; - unsigned int z_count; -}; - -struct topa_entry { - u64 end: 1; - u64 rsvd0: 1; - u64 intr: 1; - u64 rsvd1: 1; - u64 stop: 1; - u64 rsvd2: 1; - u64 size: 4; - u64 rsvd3: 2; - u64 base: 40; - u64 rsvd4: 12; -}; - -struct topa_page { - struct topa_entry table[507]; - struct topa topa; -}; - -struct topo_scan { - struct cpuinfo_x86 *c; - unsigned int dom_shifts[7]; - unsigned int dom_ncpus[7]; - unsigned int ebx1_nproc_shift; - u16 amd_nodes_per_pkg; - u16 amd_node_id; -}; - -struct touch_overlay_segment { - struct list_head list; - u32 x_origin; - u32 y_origin; - u32 x_size; - u32 y_size; - u32 key; - bool pressed; - int slot; -}; - -struct tp_module { - struct list_head list; - struct module *mod; -}; - -struct tracepoint_func { - void *func; - void *data; - int prio; -}; - -struct tp_probes { - struct callback_head rcu; - struct tracepoint_func probes[0]; -}; - -struct tp_transition_snapshot { - long unsigned int rcu; - bool ongoing; -}; - -struct tpacket2_hdr { - __u32 tp_status; - __u32 tp_len; - __u32 tp_snaplen; - __u16 tp_mac; - __u16 tp_net; - __u32 tp_sec; - __u32 tp_nsec; - __u16 tp_vlan_tci; - __u16 tp_vlan_tpid; - __u8 tp_padding[4]; -}; - -struct tpacket_hdr_variant1 { - __u32 tp_rxhash; - __u32 tp_vlan_tci; - __u16 tp_vlan_tpid; - __u16 tp_padding; -}; - -struct tpacket3_hdr { - __u32 tp_next_offset; - __u32 tp_sec; - __u32 tp_nsec; - __u32 tp_snaplen; - __u32 tp_len; - __u32 tp_status; - __u16 tp_mac; - __u16 tp_net; - union { - struct tpacket_hdr_variant1 hv1; - }; - __u8 tp_padding[8]; -}; - -struct tpacket_auxdata { - __u32 tp_status; - __u32 tp_len; - __u32 tp_snaplen; - __u16 tp_mac; - __u16 tp_net; - __u16 tp_vlan_tci; - __u16 tp_vlan_tpid; -}; - -struct tpacket_bd_ts { - unsigned int ts_sec; - union { - unsigned int ts_usec; - unsigned int ts_nsec; - }; -}; - -struct tpacket_hdr_v1 { - __u32 block_status; - __u32 num_pkts; - __u32 offset_to_first_pkt; - __u32 blk_len; - __u64 seq_num; - struct tpacket_bd_ts ts_first_pkt; - struct tpacket_bd_ts ts_last_pkt; -}; - -union tpacket_bd_header_u { - struct tpacket_hdr_v1 bh1; -}; - -struct tpacket_block_desc { - __u32 version; - __u32 offset_to_priv; - union tpacket_bd_header_u hdr; -}; - -struct tpacket_hdr { - long unsigned int tp_status; - unsigned int tp_len; - unsigned int tp_snaplen; - short unsigned int tp_mac; - short unsigned int tp_net; - unsigned int tp_sec; - unsigned int tp_usec; -}; - -struct tpacket_req { - unsigned int tp_block_size; - unsigned int tp_block_nr; - unsigned int tp_frame_size; - unsigned int tp_frame_nr; -}; - -struct tpacket_req3 { - unsigned int tp_block_size; - unsigned int tp_block_nr; - unsigned int tp_frame_size; - unsigned int tp_frame_nr; - unsigned int tp_retire_blk_tov; - unsigned int tp_sizeof_priv; - unsigned int tp_feature_req_word; -}; - -union tpacket_req_u { - struct tpacket_req req; - struct tpacket_req3 req3; -}; - -struct tpacket_rollover_stats { - __u64 tp_all; - __u64 tp_huge; - __u64 tp_failed; -}; - -union tpacket_uhdr { - struct tpacket_hdr *h1; - struct tpacket2_hdr *h2; - struct tpacket3_hdr *h3; - void *raw; -}; - -struct tpm1_get_random_out { - __be32 rng_data_len; - u8 rng_data[128]; -}; - -struct tpm2_auth { - u32 handle; - u32 session; - u8 our_nonce[32]; - u8 tpm_nonce[32]; - union { - u8 salt[32]; - u8 scratch[32]; - }; - u8 session_key[32]; - u8 passphrase[32]; - int passphrase_len; - struct crypto_aes_ctx aes_ctx; - u8 attrs; - __be32 ordinal; - u32 name_h[3]; - u8 name[198]; -}; - -struct tpm2_cap_handles { - u8 more_data; - __be32 capability; - __be32 count; - __be32 handles[0]; -} __attribute__((packed)); - -struct tpm2_context { - __be64 sequence; - __be32 saved_handle; - __be32 hierarchy; - __be16 blob_size; -} __attribute__((packed)); - -struct tpm2_crb_ffa { - u8 flags; - u8 attributes; - u16 partition_id; - u8 reserved[8]; -}; - -struct tpm2_crb_pluton { - u64 start_addr; - u64 reply_addr; -}; - -struct tpm2_crb_smc { - u32 interrupt; - u8 interrupt_flags; - u8 op_flags; - u16 reserved2; - u32 smc_func_id; -}; - -struct tpm2_get_cap_out { - u8 more_data; - __be32 subcap_id; - __be32 property_cnt; - __be32 property_id; - __be32 value; -} __attribute__((packed)); - -struct tpm2_get_random_out { - __be16 size; - u8 buffer[128]; -}; - -struct tpm2_hash { - unsigned int crypto_id; - unsigned int tpm_id; -}; - -struct tpm2_key_context { - u32 parent; - const u8 *pub; - u32 pub_len; - const u8 *priv; - u32 priv_len; -}; - -struct tpm2_pcr_read_out { - __be32 update_cnt; - __be32 pcr_selects_cnt; - __be16 hash_alg; - u8 pcr_select_size; - u8 pcr_select[3]; - __be32 digests_cnt; - __be16 digest_size; - u8 digest[0]; -} __attribute__((packed)); - -struct tpm2_pcr_selection { - __be16 hash_alg; - u8 size_of_select; - u8 pcr_select[3]; -}; - -struct tpm_bank_info { - u16 alg_id; - u16 digest_size; - u16 crypto_id; -}; - -struct tpm_bios_log { - void *bios_event_log; - void *bios_event_log_end; -}; - -struct tpm_buf { - u32 flags; - u32 length; - u8 *data; - u8 handles; -}; - -struct tpm_chip_seqops { - struct tpm_chip *chip; - const struct seq_operations *seqops; -}; - -struct tpm_space { - u32 context_tbl[3]; - u8 *context_buf; - u32 session_tbl[3]; - u8 *session_buf; - u32 buf_size; -}; - -struct tpm_class_ops; - -struct tpm_chip { - struct device dev; - struct device devs; - struct cdev cdev; - struct cdev cdevs; - struct rw_semaphore ops_sem; - const struct tpm_class_ops *ops; - struct tpm_bios_log log; - struct tpm_chip_seqops bin_log_seqops; - struct tpm_chip_seqops ascii_log_seqops; - unsigned int flags; - int dev_num; - long unsigned int is_open; - char hwrng_name[64]; - struct hwrng hwrng; - struct mutex tpm_mutex; - long unsigned int timeout_a; - long unsigned int timeout_b; - long unsigned int timeout_c; - long unsigned int timeout_d; - bool timeout_adjusted; - long unsigned int duration[4]; - bool duration_adjusted; - struct dentry *bios_dir; - const struct attribute_group *groups[8]; - unsigned int groups_cnt; - u32 nr_allocated_banks; - struct tpm_bank_info allocated_banks[8]; - acpi_handle acpi_dev_handle; - char ppi_version[4]; - struct tpm_space work_space; - u32 last_cc; - u32 nr_commands; - u32 *cc_attrs_tbl; - int locality; -}; - -struct tpm_class_ops { - unsigned int flags; - const u8 req_complete_mask; - const u8 req_complete_val; - bool (*req_canceled)(struct tpm_chip *, u8); - int (*recv)(struct tpm_chip *, u8 *, size_t); - int (*send)(struct tpm_chip *, u8 *, size_t, size_t); - void (*cancel)(struct tpm_chip *); - u8 (*status)(struct tpm_chip *); - void (*update_timeouts)(struct tpm_chip *, long unsigned int *); - void (*update_durations)(struct tpm_chip *, long unsigned int *); - int (*go_idle)(struct tpm_chip *); - int (*cmd_ready)(struct tpm_chip *); - int (*request_locality)(struct tpm_chip *, int); - int (*relinquish_locality)(struct tpm_chip *, int); - void (*clk_enable)(struct tpm_chip *, bool); -}; - -struct tpm_digests { - unsigned char encauth[20]; - unsigned char pubauth[20]; - unsigned char xorwork[40]; - unsigned char xorhash[20]; - unsigned char nonceodd[20]; -}; - -struct tpm_header { - __be16 tag; - __be32 length; - union { - __be32 ordinal; - __be32 return_code; - }; -} __attribute__((packed)); - -struct tpm_info { - struct resource res; - int irq; -}; - -struct tpm_pcr_attr { - int alg_id; - int pcr; - struct device_attribute attr; -}; - -struct tpm_readpubek_out { - u8 algorithm[4]; - u8 encscheme[2]; - u8 sigscheme[2]; - __be32 paramsize; - u8 parameters[12]; - __be32 keysize; - u8 modulus[256]; - u8 checksum[20]; -}; - -struct tpm_tis_phy_ops; - -struct tpm_tis_data { - struct tpm_chip *chip; - u16 manufacturer_id; - struct mutex locality_count_mutex; - unsigned int locality_count; - int locality; - int irq; - struct work_struct free_irq_work; - long unsigned int last_unhandled_irq; - unsigned int unhandled_irqs; - unsigned int int_mask; - long unsigned int flags; - void *ilb_base_addr; - u16 clkrun_enabled; - wait_queue_head_t int_queue; - wait_queue_head_t read_queue; - const struct tpm_tis_phy_ops *phy_ops; - short unsigned int rng_quality; - unsigned int timeout_min; - unsigned int timeout_max; -}; - -struct tpm_tis_phy_ops { - int (*read_bytes)(struct tpm_tis_data *, u32, u16, u8 *, enum tpm_tis_io_mode); - int (*write_bytes)(struct tpm_tis_data *, u32, u16, const u8 *, enum tpm_tis_io_mode); - int (*verify_crc)(struct tpm_tis_data *, size_t, const u8 *); -}; - -struct tpm_tis_tcg_phy { - struct tpm_tis_data priv; - void *iobase; -}; - -struct tpmrm_priv { - struct file_priv priv; - struct tpm_space space; -}; - -struct tps65086_regulator_config; - -struct tps65086 { - struct device *dev; - struct regmap *regmap; - unsigned int chip_id; - const struct tps65086_regulator_config *reg_config; - int irq; - struct regmap_irq_chip_data *irq_data; -}; - -struct tps65090 { - struct device *dev; - struct regmap *rmap; - struct regmap_irq_chip_data *irq_data; -}; - -struct tps65090_regulator_plat_data; - -struct tps65090_platform_data { - int irq_base; - char **supplied_to; - size_t num_supplicants; - int enable_low_current_chrg; - struct tps65090_regulator_plat_data *reg_pdata[12]; -}; - -struct tps65090_regulator_plat_data { - struct regulator_init_data *reg_init_data; - bool enable_ext_control; - struct gpio_desc *gpiod; - bool overcurrent_wait_valid; - int overcurrent_wait; -}; - -struct tps6586x { - struct device *dev; - struct i2c_client *client; - struct regmap *regmap; - int version; - int irq; - struct irq_chip irq_chip; - struct mutex irq_lock; - int irq_base; - u32 irq_en; - u8 mask_reg[5]; - struct irq_domain *irq_domain; -}; - -struct tps6586x_gpio { - struct gpio_chip gpio_chip; - struct device *parent; -}; - -struct tps6586x_irq_data { - u8 mask_reg; - u8 mask_mask; -}; - -struct tps6586x_subdev_info; - -struct tps6586x_platform_data { - int num_subdevs; - struct tps6586x_subdev_info *subdevs; - int gpio_base; - int irq_base; - bool pm_off; - struct regulator_init_data *reg_init_data[15]; -}; - -struct tps6586x_subdev_info { - int id; - const char *name; - void *platform_data; - struct device_node *of_node; -}; - -struct tps65910_board; - -struct tps65910 { - struct device *dev; - struct i2c_client *i2c_client; - struct regmap *regmap; - long unsigned int id; - struct tps65910_board *of_plat_data; - int chip_irq; - struct regmap_irq_chip_data *irq_data; -}; - -struct tps65910_sleep_keepon_data { - unsigned int therm_keepon: 1; - unsigned int clkout32k_keepon: 1; - unsigned int i2chs_keepon: 1; -}; - -struct tps65910_board { - int gpio_base; - int irq; - int irq_base; - int vmbch_threshold; - int vmbch2_threshold; - bool en_ck32k_xtal; - bool en_dev_slp; - bool pm_off; - struct tps65910_sleep_keepon_data slp_keepon; - bool en_gpio_sleep[9]; - long unsigned int regulator_ext_sleep_control[14]; - struct regulator_init_data *tps65910_pmic_init_data[14]; -}; - -struct tps65910_gpio { - struct gpio_chip gpio_chip; - struct tps65910 *tps65910; -}; - -struct tps65910_platform_data { - int irq; - int irq_base; -}; - -struct tps65912 { - struct device *dev; - struct regmap *regmap; - int irq; - struct regmap_irq_chip_data *irq_data; -}; - -struct tps68470_pmic_opregion { - struct mutex lock; - struct regmap *regmap; -}; - -struct tps68470_pmic_table { - u32 address; - u32 reg; - u32 bitmask; -}; - -struct trace_module_delta; - -struct trace_pid_list; - -struct trace_options; - -struct trace_func_repeats; - -struct trace_array { - struct list_head list; - char *name; - struct array_buffer array_buffer; - struct array_buffer max_buffer; - bool allocated_snapshot; - spinlock_t snapshot_trigger_lock; - unsigned int snapshot; - long unsigned int max_latency; - struct dentry *d_max_latency; - struct work_struct fsnotify_work; - struct irq_work fsnotify_irqwork; - unsigned int mapped; - long unsigned int range_addr_start; - long unsigned int range_addr_size; - char *range_name; - long int text_delta; - struct trace_module_delta *module_delta; - void *scratch; - int scratch_size; - int buffer_disabled; - struct trace_pid_list *filtered_pids; - struct trace_pid_list *filtered_no_pids; - arch_spinlock_t max_lock; - int sys_refcount_enter; - int sys_refcount_exit; - struct trace_event_file *enter_syscall_files[470]; - struct trace_event_file *exit_syscall_files[470]; - int stop_count; - int clock_id; - int nr_topts; - bool clear_trace; - int buffer_percent; - unsigned int n_err_log_entries; - struct tracer *current_trace; - unsigned int trace_flags; - unsigned char trace_flags_index[32]; - unsigned int flags; - raw_spinlock_t start_lock; - const char *system_names; - struct list_head err_log; - struct dentry *dir; - struct dentry *options; - struct dentry *percpu_dir; - struct eventfs_inode *event_dir; - struct trace_options *topts; - struct list_head systems; - struct list_head events; - struct list_head marker_list; - struct trace_event_file *trace_marker_file; - cpumask_var_t tracing_cpumask; - cpumask_var_t pipe_cpumask; - int ref; - int trace_ref; - struct list_head mod_events; - struct ftrace_ops *ops; - struct trace_pid_list *function_pids; - struct trace_pid_list *function_no_pids; - struct fgraph_ops *gops; - struct list_head func_probes; - struct list_head mod_trace; - struct list_head mod_notrace; - int function_enabled; - int no_filter_buffering_ref; - struct list_head hist_vars; - struct cond_snapshot *cond_snapshot; - struct trace_func_repeats *last_func_repeats; - bool ring_buffer_expanded; -}; - -struct trace_array_cpu { - local_t disabled; - long unsigned int entries; - long unsigned int saved_latency; - long unsigned int critical_start; - long unsigned int critical_end; - long unsigned int critical_sequence; - long unsigned int nice; - long unsigned int policy; - long unsigned int rt_priority; - long unsigned int skipped_entries; - u64 preempt_timestamp; - pid_t pid; - kuid_t uid; - char comm[16]; - int ftrace_ignore_pid; - bool ignore_pid; -}; - -struct trace_bprintk_fmt { - struct list_head list; - const char *fmt; -}; - -typedef struct trace_buffer *class_ring_buffer_nest_t; - -struct trace_buffer { - unsigned int flags; - int cpus; - atomic_t record_disabled; - atomic_t resizing; - cpumask_var_t cpumask; - struct lock_class_key *reader_lock_key; - struct mutex mutex; - struct ring_buffer_per_cpu **buffers; - struct hlist_node node; - u64 (*clock)(void); - struct rb_irq_work irq_work; - bool time_stamp_abs; - long unsigned int range_addr_start; - long unsigned int range_addr_end; - struct ring_buffer_meta *meta; - unsigned int subbuf_size; - unsigned int subbuf_order; - unsigned int max_data_size; -}; - -struct trace_buffer_meta { - __u32 meta_page_size; - __u32 meta_struct_len; - __u32 subbuf_size; - __u32 nr_subbufs; - struct { - __u64 lost_events; - __u32 id; - __u32 read; - } reader; - __u64 flags; - __u64 entries; - __u64 overrun; - __u64 read; - __u64 Reserved1; - __u64 Reserved2; -}; - -struct trace_buffer_struct { - int nesting; - char buffer[4096]; -}; - -struct trace_probe_event; - -struct trace_probe { - struct list_head list; - struct trace_probe_event *event; - ssize_t size; - unsigned int nr_args; - struct probe_entry_arg *entry_arg; - struct probe_arg args[0]; -}; - -struct trace_eprobe { - const char *event_system; - const char *event_name; - char *filter_str; - struct trace_event_call *event; - struct dyn_event devent; - struct trace_probe tp; -}; - -struct trace_eval_map { - const char *system; - const char *eval_string; - long unsigned int eval_value; -}; - -struct trace_event_data_offsets_ack_update_msk {}; - -struct trace_event_data_offsets_aer_event { - u32 dev_name; - const void *dev_name_ptr_; -}; - -struct trace_event_data_offsets_alarm_class {}; - -struct trace_event_data_offsets_alarmtimer_suspend {}; - -struct trace_event_data_offsets_alloc_vmap_area {}; - -struct trace_event_data_offsets_amd_pstate_epp_perf {}; - -struct trace_event_data_offsets_amd_pstate_perf {}; - -struct trace_event_data_offsets_arm_event { - u32 pei_buf; - const void *pei_buf_ptr_; - u32 ctx_buf; - const void *ctx_buf_ptr_; - u32 oem_buf; - const void *oem_buf_ptr_; -}; - -struct trace_event_data_offsets_ata_bmdma_status {}; - -struct trace_event_data_offsets_ata_eh_action_template {}; - -struct trace_event_data_offsets_ata_eh_link_autopsy {}; - -struct trace_event_data_offsets_ata_eh_link_autopsy_qc {}; - -struct trace_event_data_offsets_ata_exec_command_template {}; - -struct trace_event_data_offsets_ata_link_reset_begin_template {}; - -struct trace_event_data_offsets_ata_link_reset_end_template {}; - -struct trace_event_data_offsets_ata_port_eh_begin_template {}; - -struct trace_event_data_offsets_ata_qc_complete_template {}; - -struct trace_event_data_offsets_ata_qc_issue_template {}; - -struct trace_event_data_offsets_ata_sff_hsm_template {}; - -struct trace_event_data_offsets_ata_sff_template {}; - -struct trace_event_data_offsets_ata_tf_load {}; - -struct trace_event_data_offsets_ata_transfer_data_template {}; - -struct trace_event_data_offsets_balance_dirty_pages {}; - -struct trace_event_data_offsets_bdi_dirty_ratelimit {}; - -struct trace_event_data_offsets_blkdev_zone_mgmt {}; - -struct trace_event_data_offsets_block_bio {}; - -struct trace_event_data_offsets_block_bio_complete {}; - -struct trace_event_data_offsets_block_bio_remap {}; - -struct trace_event_data_offsets_block_buffer {}; - -struct trace_event_data_offsets_block_plug {}; - -struct trace_event_data_offsets_block_rq { - u32 cmd; - const void *cmd_ptr_; -}; - -struct trace_event_data_offsets_block_rq_completion { - u32 cmd; - const void *cmd_ptr_; -}; - -struct trace_event_data_offsets_block_rq_remap {}; - -struct trace_event_data_offsets_block_rq_requeue { - u32 cmd; - const void *cmd_ptr_; -}; - -struct trace_event_data_offsets_block_split {}; - -struct trace_event_data_offsets_block_unplug {}; - -struct trace_event_data_offsets_block_zwplug {}; - -struct trace_event_data_offsets_bpf_test_finish {}; - -struct trace_event_data_offsets_bpf_trace_printk { - u32 bpf_string; - const void *bpf_string_ptr_; -}; - -struct trace_event_data_offsets_bpf_trigger_tp {}; - -struct trace_event_data_offsets_bpf_xdp_link_attach_failed { - u32 msg; - const void *msg_ptr_; -}; - -struct trace_event_data_offsets_br_fdb_add { - u32 dev; - const void *dev_ptr_; -}; - -struct trace_event_data_offsets_br_fdb_external_learn_add { - u32 br_dev; - const void *br_dev_ptr_; - u32 dev; - const void *dev_ptr_; -}; - -struct trace_event_data_offsets_br_fdb_update { - u32 br_dev; - const void *br_dev_ptr_; - u32 dev; - const void *dev_ptr_; -}; - -struct trace_event_data_offsets_br_mdb_full { - u32 dev; - const void *dev_ptr_; -}; - -struct trace_event_data_offsets_cache_tag_flush { - u32 iommu; - const void *iommu_ptr_; - u32 dev; - const void *dev_ptr_; -}; - -struct trace_event_data_offsets_cache_tag_log { - u32 iommu; - const void *iommu_ptr_; - u32 dev; - const void *dev_ptr_; -}; - -struct trace_event_data_offsets_cap_capable {}; - -struct trace_event_data_offsets_cdev_update { - u32 type; - const void *type_ptr_; -}; - -struct trace_event_data_offsets_cgroup { - u32 path; - const void *path_ptr_; -}; - -struct trace_event_data_offsets_cgroup_event { - u32 path; - const void *path_ptr_; -}; - -struct trace_event_data_offsets_cgroup_migrate { - u32 dst_path; - const void *dst_path_ptr_; - u32 comm; - const void *comm_ptr_; -}; - -struct trace_event_data_offsets_cgroup_root { - u32 name; - const void *name_ptr_; -}; - -struct trace_event_data_offsets_cgroup_rstat {}; - -struct trace_event_data_offsets_clk { - u32 name; - const void *name_ptr_; -}; - -struct trace_event_data_offsets_clk_duty_cycle { - u32 name; - const void *name_ptr_; -}; - -struct trace_event_data_offsets_clk_parent { - u32 name; - const void *name_ptr_; - u32 pname; - const void *pname_ptr_; -}; - -struct trace_event_data_offsets_clk_phase { - u32 name; - const void *name_ptr_; -}; - -struct trace_event_data_offsets_clk_rate { - u32 name; - const void *name_ptr_; -}; - -struct trace_event_data_offsets_clk_rate_range { - u32 name; - const void *name_ptr_; -}; - -struct trace_event_data_offsets_clk_rate_request { - u32 name; - const void *name_ptr_; - u32 pname; - const void *pname_ptr_; -}; - -struct trace_event_data_offsets_cma_alloc_busy_retry { - u32 name; - const void *name_ptr_; -}; - -struct trace_event_data_offsets_cma_alloc_finish { - u32 name; - const void *name_ptr_; -}; - -struct trace_event_data_offsets_cma_alloc_start { - u32 name; - const void *name_ptr_; -}; - -struct trace_event_data_offsets_cma_release { - u32 name; - const void *name_ptr_; -}; - -struct trace_event_data_offsets_compact_retry {}; - -struct trace_event_data_offsets_console { - u32 msg; - const void *msg_ptr_; -}; - -struct trace_event_data_offsets_consume_skb {}; - -struct trace_event_data_offsets_contention_begin {}; - -struct trace_event_data_offsets_contention_end {}; - -struct trace_event_data_offsets_context_tracking_user {}; - -struct trace_event_data_offsets_cpu {}; - -struct trace_event_data_offsets_cpu_frequency_limits {}; - -struct trace_event_data_offsets_cpu_idle_miss {}; - -struct trace_event_data_offsets_cpu_latency_qos_request {}; - -struct trace_event_data_offsets_cpuhp_enter {}; - -struct trace_event_data_offsets_cpuhp_exit {}; - -struct trace_event_data_offsets_cpuhp_multi_enter {}; - -struct trace_event_data_offsets_csd_function {}; - -struct trace_event_data_offsets_csd_queue_cpu {}; - -struct trace_event_data_offsets_ctime {}; - -struct trace_event_data_offsets_ctime_ns_xchg {}; - -struct trace_event_data_offsets_dax_pmd_fault_class {}; - -struct trace_event_data_offsets_dax_pmd_load_hole_class {}; - -struct trace_event_data_offsets_dax_pte_fault_class {}; - -struct trace_event_data_offsets_dax_writeback_one {}; - -struct trace_event_data_offsets_dax_writeback_range_class {}; - -struct trace_event_data_offsets_dev_pm_qos_request { - u32 name; - const void *name_ptr_; -}; - -struct trace_event_data_offsets_devfreq_frequency { - u32 dev_name; - const void *dev_name_ptr_; -}; - -struct trace_event_data_offsets_devfreq_monitor { - u32 dev_name; - const void *dev_name_ptr_; -}; - -struct trace_event_data_offsets_device_pm_callback_end { - u32 device; - const void *device_ptr_; - u32 driver; - const void *driver_ptr_; -}; - -struct trace_event_data_offsets_device_pm_callback_start { - u32 device; - const void *device_ptr_; - u32 driver; - const void *driver_ptr_; - u32 parent; - const void *parent_ptr_; - u32 pm_ops; - const void *pm_ops_ptr_; -}; - -struct trace_event_data_offsets_devlink_health_recover_aborted { - u32 bus_name; - const void *bus_name_ptr_; - u32 dev_name; - const void *dev_name_ptr_; - u32 driver_name; - const void *driver_name_ptr_; - u32 reporter_name; - const void *reporter_name_ptr_; -}; - -struct trace_event_data_offsets_devlink_health_report { - u32 bus_name; - const void *bus_name_ptr_; - u32 dev_name; - const void *dev_name_ptr_; - u32 driver_name; - const void *driver_name_ptr_; - u32 reporter_name; - const void *reporter_name_ptr_; - u32 msg; - const void *msg_ptr_; -}; - -struct trace_event_data_offsets_devlink_health_reporter_state_update { - u32 bus_name; - const void *bus_name_ptr_; - u32 dev_name; - const void *dev_name_ptr_; - u32 driver_name; - const void *driver_name_ptr_; - u32 reporter_name; - const void *reporter_name_ptr_; -}; - -struct trace_event_data_offsets_devlink_hwerr { - u32 bus_name; - const void *bus_name_ptr_; - u32 dev_name; - const void *dev_name_ptr_; - u32 driver_name; - const void *driver_name_ptr_; - u32 msg; - const void *msg_ptr_; -}; - -struct trace_event_data_offsets_devlink_hwmsg { - u32 bus_name; - const void *bus_name_ptr_; - u32 dev_name; - const void *dev_name_ptr_; - u32 driver_name; - const void *driver_name_ptr_; - u32 buf; - const void *buf_ptr_; -}; - -struct trace_event_data_offsets_devlink_trap_report { - u32 bus_name; - const void *bus_name_ptr_; - u32 dev_name; - const void *dev_name_ptr_; - u32 driver_name; - const void *driver_name_ptr_; - u32 trap_name; - const void *trap_name_ptr_; - u32 trap_group_name; - const void *trap_group_name_ptr_; -}; - -struct trace_event_data_offsets_devres { - u32 devname; - const void *devname_ptr_; - u32 name; - const void *name_ptr_; -}; - -struct trace_event_data_offsets_dma_alloc_class { - u32 device; - const void *device_ptr_; -}; - -struct trace_event_data_offsets_dma_alloc_sgt { - u32 device; - const void *device_ptr_; - u32 phys_addrs; - const void *phys_addrs_ptr_; -}; - -struct trace_event_data_offsets_dma_fence { - u32 driver; - const void *driver_ptr_; - u32 timeline; - const void *timeline_ptr_; -}; - -struct trace_event_data_offsets_dma_fence_unsignaled { - u32 driver; - const void *driver_ptr_; - u32 timeline; - const void *timeline_ptr_; -}; - -struct trace_event_data_offsets_dma_free_class { - u32 device; - const void *device_ptr_; -}; - -struct trace_event_data_offsets_dma_free_sgt { - u32 device; - const void *device_ptr_; - u32 phys_addrs; - const void *phys_addrs_ptr_; -}; - -struct trace_event_data_offsets_dma_map { - u32 device; - const void *device_ptr_; -}; - -struct trace_event_data_offsets_dma_map_sg { - u32 device; - const void *device_ptr_; - u32 phys_addrs; - const void *phys_addrs_ptr_; - u32 dma_addrs; - const void *dma_addrs_ptr_; - u32 lengths; - const void *lengths_ptr_; -}; - -struct trace_event_data_offsets_dma_map_sg_err { - u32 device; - const void *device_ptr_; - u32 phys_addrs; - const void *phys_addrs_ptr_; -}; - -struct trace_event_data_offsets_dma_sync_sg { - u32 device; - const void *device_ptr_; - u32 dma_addrs; - const void *dma_addrs_ptr_; - u32 lengths; - const void *lengths_ptr_; -}; - -struct trace_event_data_offsets_dma_sync_single { - u32 device; - const void *device_ptr_; -}; - -struct trace_event_data_offsets_dma_unmap { - u32 device; - const void *device_ptr_; -}; - -struct trace_event_data_offsets_dma_unmap_sg { - u32 device; - const void *device_ptr_; - u32 addrs; - const void *addrs_ptr_; -}; - -struct trace_event_data_offsets_dql_stall_detected {}; - -struct trace_event_data_offsets_drm_vblank_event {}; - -struct trace_event_data_offsets_drm_vblank_event_delivered {}; - -struct trace_event_data_offsets_drm_vblank_event_queued {}; - -struct trace_event_data_offsets_emulate_vsyscall {}; - -struct trace_event_data_offsets_error_da_monitor_id { - u32 state; - const void *state_ptr_; - u32 event; - const void *event_ptr_; -}; - -struct trace_event_data_offsets_error_report_template {}; - -struct trace_event_data_offsets_event_da_monitor_id { - u32 state; - const void *state_ptr_; - u32 event; - const void *event_ptr_; - u32 next_state; - const void *next_state_ptr_; -}; - -struct trace_event_data_offsets_exceptions {}; - -struct trace_event_data_offsets_exit_mmap {}; - -struct trace_event_data_offsets_ext4__bitmap_load {}; - -struct trace_event_data_offsets_ext4__es_extent {}; - -struct trace_event_data_offsets_ext4__es_shrink_enter {}; - -struct trace_event_data_offsets_ext4__fallocate_mode {}; - -struct trace_event_data_offsets_ext4__folio_op {}; - -struct trace_event_data_offsets_ext4__map_blocks_enter {}; - -struct trace_event_data_offsets_ext4__map_blocks_exit {}; - -struct trace_event_data_offsets_ext4__mb_new_pa {}; - -struct trace_event_data_offsets_ext4__mballoc {}; - -struct trace_event_data_offsets_ext4__trim {}; - -struct trace_event_data_offsets_ext4__truncate {}; - -struct trace_event_data_offsets_ext4__write_begin {}; - -struct trace_event_data_offsets_ext4__write_end {}; - -struct trace_event_data_offsets_ext4_alloc_da_blocks {}; - -struct trace_event_data_offsets_ext4_allocate_blocks {}; - -struct trace_event_data_offsets_ext4_allocate_inode {}; - -struct trace_event_data_offsets_ext4_begin_ordered_truncate {}; - -struct trace_event_data_offsets_ext4_collapse_range {}; - -struct trace_event_data_offsets_ext4_da_release_space {}; - -struct trace_event_data_offsets_ext4_da_reserve_space {}; - -struct trace_event_data_offsets_ext4_da_update_reserve_space {}; - -struct trace_event_data_offsets_ext4_da_write_folios_end {}; - -struct trace_event_data_offsets_ext4_da_write_folios_start {}; - -struct trace_event_data_offsets_ext4_da_write_pages_extent {}; - -struct trace_event_data_offsets_ext4_discard_blocks {}; - -struct trace_event_data_offsets_ext4_discard_preallocations {}; - -struct trace_event_data_offsets_ext4_drop_inode {}; - -struct trace_event_data_offsets_ext4_error {}; - -struct trace_event_data_offsets_ext4_es_find_extent_range_enter {}; - -struct trace_event_data_offsets_ext4_es_find_extent_range_exit {}; - -struct trace_event_data_offsets_ext4_es_insert_delayed_extent {}; - -struct trace_event_data_offsets_ext4_es_lookup_extent_enter {}; - -struct trace_event_data_offsets_ext4_es_lookup_extent_exit {}; - -struct trace_event_data_offsets_ext4_es_remove_extent {}; - -struct trace_event_data_offsets_ext4_es_shrink {}; - -struct trace_event_data_offsets_ext4_es_shrink_scan_exit {}; - -struct trace_event_data_offsets_ext4_evict_inode {}; - -struct trace_event_data_offsets_ext4_ext_convert_to_initialized_enter {}; - -struct trace_event_data_offsets_ext4_ext_convert_to_initialized_fastpath {}; - -struct trace_event_data_offsets_ext4_ext_handle_unwritten_extents {}; - -struct trace_event_data_offsets_ext4_ext_load_extent {}; - -struct trace_event_data_offsets_ext4_ext_remove_space {}; - -struct trace_event_data_offsets_ext4_ext_remove_space_done {}; - -struct trace_event_data_offsets_ext4_ext_rm_idx {}; - -struct trace_event_data_offsets_ext4_ext_rm_leaf {}; - -struct trace_event_data_offsets_ext4_ext_show_extent {}; - -struct trace_event_data_offsets_ext4_fallocate_exit {}; - -struct trace_event_data_offsets_ext4_fc_cleanup {}; - -struct trace_event_data_offsets_ext4_fc_commit_start {}; - -struct trace_event_data_offsets_ext4_fc_commit_stop {}; - -struct trace_event_data_offsets_ext4_fc_replay {}; - -struct trace_event_data_offsets_ext4_fc_replay_scan {}; - -struct trace_event_data_offsets_ext4_fc_stats {}; - -struct trace_event_data_offsets_ext4_fc_track_dentry {}; - -struct trace_event_data_offsets_ext4_fc_track_inode {}; - -struct trace_event_data_offsets_ext4_fc_track_range {}; - -struct trace_event_data_offsets_ext4_forget {}; - -struct trace_event_data_offsets_ext4_free_blocks {}; - -struct trace_event_data_offsets_ext4_free_inode {}; - -struct trace_event_data_offsets_ext4_fsmap_class {}; - -struct trace_event_data_offsets_ext4_get_implied_cluster_alloc_exit {}; - -struct trace_event_data_offsets_ext4_getfsmap_class {}; - -struct trace_event_data_offsets_ext4_insert_range {}; - -struct trace_event_data_offsets_ext4_invalidate_folio_op {}; - -struct trace_event_data_offsets_ext4_journal_start_inode {}; - -struct trace_event_data_offsets_ext4_journal_start_reserved {}; - -struct trace_event_data_offsets_ext4_journal_start_sb {}; - -struct trace_event_data_offsets_ext4_lazy_itable_init {}; - -struct trace_event_data_offsets_ext4_load_inode {}; - -struct trace_event_data_offsets_ext4_mark_inode_dirty {}; - -struct trace_event_data_offsets_ext4_mb_discard_preallocations {}; - -struct trace_event_data_offsets_ext4_mb_release_group_pa {}; - -struct trace_event_data_offsets_ext4_mb_release_inode_pa {}; - -struct trace_event_data_offsets_ext4_mballoc_alloc {}; - -struct trace_event_data_offsets_ext4_mballoc_prealloc {}; - -struct trace_event_data_offsets_ext4_nfs_commit_metadata {}; - -struct trace_event_data_offsets_ext4_other_inode_update_time {}; - -struct trace_event_data_offsets_ext4_prefetch_bitmaps {}; - -struct trace_event_data_offsets_ext4_read_block_bitmap_load {}; - -struct trace_event_data_offsets_ext4_remove_blocks {}; - -struct trace_event_data_offsets_ext4_request_blocks {}; - -struct trace_event_data_offsets_ext4_request_inode {}; - -struct trace_event_data_offsets_ext4_shutdown {}; - -struct trace_event_data_offsets_ext4_sync_file_enter {}; - -struct trace_event_data_offsets_ext4_sync_file_exit {}; - -struct trace_event_data_offsets_ext4_sync_fs {}; - -struct trace_event_data_offsets_ext4_unlink_enter {}; - -struct trace_event_data_offsets_ext4_unlink_exit {}; - -struct trace_event_data_offsets_ext4_update_sb {}; - -struct trace_event_data_offsets_ext4_writepages {}; - -struct trace_event_data_offsets_ext4_writepages_result {}; - -struct trace_event_data_offsets_extlog_mem_event { - u32 fru_text; - const void *fru_text_ptr_; -}; - -struct trace_event_data_offsets_fdb_delete { - u32 br_dev; - const void *br_dev_ptr_; - u32 dev; - const void *dev_ptr_; -}; - -struct trace_event_data_offsets_fib6_table_lookup {}; - -struct trace_event_data_offsets_fib_table_lookup {}; - -struct trace_event_data_offsets_file_check_and_advance_wb_err {}; - -struct trace_event_data_offsets_filelock_lease {}; - -struct trace_event_data_offsets_filelock_lock {}; - -struct trace_event_data_offsets_filemap_set_wb_err {}; - -struct trace_event_data_offsets_fill_mg_cmtime {}; - -struct trace_event_data_offsets_finish_task_reaping {}; - -struct trace_event_data_offsets_flush_foreign {}; - -struct trace_event_data_offsets_free_vmap_area_noflush {}; - -struct trace_event_data_offsets_fuse_request_end {}; - -struct trace_event_data_offsets_fuse_request_send {}; - -struct trace_event_data_offsets_generic_add_lease {}; - -struct trace_event_data_offsets_global_dirty_state {}; - -struct trace_event_data_offsets_gpio_direction {}; - -struct trace_event_data_offsets_gpio_value {}; - -struct trace_event_data_offsets_guest_halt_poll_ns {}; - -struct trace_event_data_offsets_handshake_alert_class {}; - -struct trace_event_data_offsets_handshake_complete {}; - -struct trace_event_data_offsets_handshake_error_class {}; - -struct trace_event_data_offsets_handshake_event_class {}; - -struct trace_event_data_offsets_handshake_fd_class {}; - -struct trace_event_data_offsets_hrtimer_class {}; - -struct trace_event_data_offsets_hrtimer_expire_entry {}; - -struct trace_event_data_offsets_hrtimer_setup {}; - -struct trace_event_data_offsets_hrtimer_start {}; - -struct trace_event_data_offsets_hugetlbfs__inode {}; - -struct trace_event_data_offsets_hugetlbfs_alloc_inode {}; - -struct trace_event_data_offsets_hugetlbfs_fallocate {}; - -struct trace_event_data_offsets_hugetlbfs_setattr { - u32 d_name; - const void *d_name_ptr_; -}; - -struct trace_event_data_offsets_hwmon_attr_class { - u32 attr_name; - const void *attr_name_ptr_; -}; - -struct trace_event_data_offsets_hwmon_attr_show_string { - u32 attr_name; - const void *attr_name_ptr_; - u32 label; - const void *label_ptr_; -}; - -struct trace_event_data_offsets_hyperv_mmu_flush_tlb_multi {}; - -struct trace_event_data_offsets_hyperv_nested_flush_guest_mapping {}; - -struct trace_event_data_offsets_hyperv_nested_flush_guest_mapping_range {}; - -struct trace_event_data_offsets_hyperv_send_ipi_mask {}; - -struct trace_event_data_offsets_hyperv_send_ipi_one {}; - -struct trace_event_data_offsets_i2c_read {}; - -struct trace_event_data_offsets_i2c_reply { - u32 buf; - const void *buf_ptr_; -}; - -struct trace_event_data_offsets_i2c_result {}; - -struct trace_event_data_offsets_i2c_slave {}; - -struct trace_event_data_offsets_i2c_write { - u32 buf; - const void *buf_ptr_; -}; - -struct trace_event_data_offsets_icc_set_bw { - u32 path_name; - const void *path_name_ptr_; - u32 dev; - const void *dev_ptr_; - u32 node_name; - const void *node_name_ptr_; -}; - -struct trace_event_data_offsets_icc_set_bw_end { - u32 path_name; - const void *path_name_ptr_; - u32 dev; - const void *dev_ptr_; -}; - -struct trace_event_data_offsets_icmp_send {}; - -struct trace_event_data_offsets_inet_sk_error_report {}; - -struct trace_event_data_offsets_inet_sock_set_state {}; - -struct trace_event_data_offsets_initcall_finish {}; - -struct trace_event_data_offsets_initcall_level { - u32 level; - const void *level_ptr_; -}; - -struct trace_event_data_offsets_initcall_start {}; - -struct trace_event_data_offsets_inode_foreign_history {}; - -struct trace_event_data_offsets_inode_switch_wbs {}; - -struct trace_event_data_offsets_io_uring_complete {}; - -struct trace_event_data_offsets_io_uring_cqe_overflow {}; - -struct trace_event_data_offsets_io_uring_cqring_wait {}; - -struct trace_event_data_offsets_io_uring_create {}; - -struct trace_event_data_offsets_io_uring_defer { - u32 op_str; - const void *op_str_ptr_; -}; - -struct trace_event_data_offsets_io_uring_fail_link { - u32 op_str; - const void *op_str_ptr_; -}; - -struct trace_event_data_offsets_io_uring_file_get {}; - -struct trace_event_data_offsets_io_uring_link {}; - -struct trace_event_data_offsets_io_uring_local_work_run {}; - -struct trace_event_data_offsets_io_uring_poll_arm { - u32 op_str; - const void *op_str_ptr_; -}; - -struct trace_event_data_offsets_io_uring_queue_async_work { - u32 op_str; - const void *op_str_ptr_; -}; - -struct trace_event_data_offsets_io_uring_register {}; - -struct trace_event_data_offsets_io_uring_req_failed { - u32 op_str; - const void *op_str_ptr_; -}; - -struct trace_event_data_offsets_io_uring_short_write {}; - -struct trace_event_data_offsets_io_uring_submit_req { - u32 op_str; - const void *op_str_ptr_; -}; - -struct trace_event_data_offsets_io_uring_task_add { - u32 op_str; - const void *op_str_ptr_; -}; - -struct trace_event_data_offsets_io_uring_task_work_run {}; - -struct trace_event_data_offsets_iocg_inuse_update { - u32 devname; - const void *devname_ptr_; - u32 cgroup; - const void *cgroup_ptr_; -}; - -struct trace_event_data_offsets_iocost_ioc_vrate_adj { - u32 devname; - const void *devname_ptr_; -}; - -struct trace_event_data_offsets_iocost_iocg_forgive_debt { - u32 devname; - const void *devname_ptr_; - u32 cgroup; - const void *cgroup_ptr_; -}; - -struct trace_event_data_offsets_iocost_iocg_state { - u32 devname; - const void *devname_ptr_; - u32 cgroup; - const void *cgroup_ptr_; -}; - -struct trace_event_data_offsets_iomap_add_to_ioend {}; - -struct trace_event_data_offsets_iomap_class {}; - -struct trace_event_data_offsets_iomap_dio_complete {}; - -struct trace_event_data_offsets_iomap_dio_rw_begin {}; - -struct trace_event_data_offsets_iomap_iter {}; - -struct trace_event_data_offsets_iomap_range_class {}; - -struct trace_event_data_offsets_iomap_readpage_class {}; - -struct trace_event_data_offsets_iommu_device_event { - u32 device; - const void *device_ptr_; -}; - -struct trace_event_data_offsets_iommu_error { - u32 device; - const void *device_ptr_; - u32 driver; - const void *driver_ptr_; -}; - -struct trace_event_data_offsets_iommu_group_event { - u32 device; - const void *device_ptr_; -}; - -struct trace_event_data_offsets_ipi_send_cpu {}; - -struct trace_event_data_offsets_ipi_send_cpumask { - u32 cpumask; - const void *cpumask_ptr_; -}; - -struct trace_event_data_offsets_irq_handler_entry { - u32 name; - const void *name_ptr_; -}; - -struct trace_event_data_offsets_irq_handler_exit {}; - -struct trace_event_data_offsets_irq_matrix_cpu {}; - -struct trace_event_data_offsets_irq_matrix_global {}; - -struct trace_event_data_offsets_irq_matrix_global_update {}; - -struct trace_event_data_offsets_irq_noise { - u32 desc; - const void *desc_ptr_; -}; - -struct trace_event_data_offsets_itimer_expire {}; - -struct trace_event_data_offsets_itimer_state {}; - -struct trace_event_data_offsets_jbd2_checkpoint {}; - -struct trace_event_data_offsets_jbd2_checkpoint_stats {}; - -struct trace_event_data_offsets_jbd2_commit {}; - -struct trace_event_data_offsets_jbd2_end_commit {}; - -struct trace_event_data_offsets_jbd2_handle_extend {}; - -struct trace_event_data_offsets_jbd2_handle_start_class {}; - -struct trace_event_data_offsets_jbd2_handle_stats {}; - -struct trace_event_data_offsets_jbd2_journal_shrink {}; - -struct trace_event_data_offsets_jbd2_lock_buffer_stall {}; - -struct trace_event_data_offsets_jbd2_run_stats {}; - -struct trace_event_data_offsets_jbd2_shrink_checkpoint_list {}; - -struct trace_event_data_offsets_jbd2_shrink_scan_exit {}; - -struct trace_event_data_offsets_jbd2_submit_inode_data {}; - -struct trace_event_data_offsets_jbd2_update_log_tail {}; - -struct trace_event_data_offsets_jbd2_write_superblock {}; - -struct trace_event_data_offsets_kcompactd_wake_template {}; - -struct trace_event_data_offsets_kfree {}; - -struct trace_event_data_offsets_kfree_skb {}; - -struct trace_event_data_offsets_kmalloc {}; - -struct trace_event_data_offsets_kmem_cache_alloc {}; - -struct trace_event_data_offsets_kmem_cache_free { - u32 name; - const void *name_ptr_; -}; - -struct trace_event_data_offsets_ksm_advisor {}; - -struct trace_event_data_offsets_ksm_enter_exit_template {}; - -struct trace_event_data_offsets_ksm_merge_one_page {}; - -struct trace_event_data_offsets_ksm_merge_with_ksm_page {}; - -struct trace_event_data_offsets_ksm_remove_ksm_page {}; - -struct trace_event_data_offsets_ksm_remove_rmap_item {}; - -struct trace_event_data_offsets_ksm_scan_template {}; - -struct trace_event_data_offsets_leases_conflict {}; - -struct trace_event_data_offsets_locks_get_lock_context {}; - -struct trace_event_data_offsets_ma_op {}; - -struct trace_event_data_offsets_ma_read {}; - -struct trace_event_data_offsets_ma_write {}; - -struct trace_event_data_offsets_map {}; - -struct trace_event_data_offsets_mark_victim { - u32 comm; - const void *comm_ptr_; -}; - -struct trace_event_data_offsets_mc_event { - u32 msg; - const void *msg_ptr_; - u32 label; - const void *label_ptr_; - u32 driver_detail; - const void *driver_detail_ptr_; -}; - -struct trace_event_data_offsets_mce_record { - u32 v_data; - const void *v_data_ptr_; -}; - -struct trace_event_data_offsets_mctp_key_acquire {}; - -struct trace_event_data_offsets_mctp_key_release {}; - -struct trace_event_data_offsets_mdio_access {}; - -struct trace_event_data_offsets_mem_connect {}; - -struct trace_event_data_offsets_mem_disconnect {}; - -struct trace_event_data_offsets_memcg_flush_stats {}; - -struct trace_event_data_offsets_memcg_rstat_events {}; - -struct trace_event_data_offsets_memcg_rstat_stats {}; - -struct trace_event_data_offsets_memory_failure_event {}; - -struct trace_event_data_offsets_migration_pmd {}; - -struct trace_event_data_offsets_migration_pte {}; - -struct trace_event_data_offsets_mm_calculate_totalreserve_pages {}; - -struct trace_event_data_offsets_mm_collapse_huge_page {}; - -struct trace_event_data_offsets_mm_collapse_huge_page_isolate {}; - -struct trace_event_data_offsets_mm_collapse_huge_page_swapin {}; - -struct trace_event_data_offsets_mm_compaction_begin {}; - -struct trace_event_data_offsets_mm_compaction_defer_template {}; - -struct trace_event_data_offsets_mm_compaction_end {}; - -struct trace_event_data_offsets_mm_compaction_isolate_template {}; - -struct trace_event_data_offsets_mm_compaction_kcompactd_sleep {}; - -struct trace_event_data_offsets_mm_compaction_migratepages {}; - -struct trace_event_data_offsets_mm_compaction_suitable_template {}; - -struct trace_event_data_offsets_mm_compaction_try_to_compact_pages {}; - -struct trace_event_data_offsets_mm_filemap_fault {}; - -struct trace_event_data_offsets_mm_filemap_op_page_cache {}; - -struct trace_event_data_offsets_mm_filemap_op_page_cache_range {}; - -struct trace_event_data_offsets_mm_khugepaged_collapse_file { - u32 filename; - const void *filename_ptr_; -}; - -struct trace_event_data_offsets_mm_khugepaged_scan_file { - u32 filename; - const void *filename_ptr_; -}; - -struct trace_event_data_offsets_mm_khugepaged_scan_pmd {}; - -struct trace_event_data_offsets_mm_lru_activate {}; - -struct trace_event_data_offsets_mm_lru_insertion {}; - -struct trace_event_data_offsets_mm_migrate_pages {}; - -struct trace_event_data_offsets_mm_migrate_pages_start {}; - -struct trace_event_data_offsets_mm_page {}; - -struct trace_event_data_offsets_mm_page_alloc {}; - -struct trace_event_data_offsets_mm_page_alloc_extfrag {}; - -struct trace_event_data_offsets_mm_page_free {}; - -struct trace_event_data_offsets_mm_page_free_batched {}; - -struct trace_event_data_offsets_mm_page_pcpu_drain {}; - -struct trace_event_data_offsets_mm_setup_per_zone_lowmem_reserve { - u32 name; - const void *name_ptr_; - u32 upper_name; - const void *upper_name_ptr_; -}; - -struct trace_event_data_offsets_mm_setup_per_zone_wmarks { - u32 name; - const void *name_ptr_; -}; - -struct trace_event_data_offsets_mm_shrink_slab_end {}; - -struct trace_event_data_offsets_mm_shrink_slab_start {}; - -struct trace_event_data_offsets_mm_vmscan_direct_reclaim_begin_template {}; - -struct trace_event_data_offsets_mm_vmscan_direct_reclaim_end_template {}; - -struct trace_event_data_offsets_mm_vmscan_kswapd_sleep {}; - -struct trace_event_data_offsets_mm_vmscan_kswapd_wake {}; - -struct trace_event_data_offsets_mm_vmscan_lru_isolate {}; - -struct trace_event_data_offsets_mm_vmscan_lru_shrink_active {}; - -struct trace_event_data_offsets_mm_vmscan_lru_shrink_inactive {}; - -struct trace_event_data_offsets_mm_vmscan_node_reclaim_begin {}; - -struct trace_event_data_offsets_mm_vmscan_reclaim_pages {}; - -struct trace_event_data_offsets_mm_vmscan_throttled {}; - -struct trace_event_data_offsets_mm_vmscan_wakeup_kswapd {}; - -struct trace_event_data_offsets_mm_vmscan_write_folio {}; - -struct trace_event_data_offsets_mmap_lock {}; - -struct trace_event_data_offsets_mmap_lock_acquire_returned {}; - -struct trace_event_data_offsets_mmc_request_done { - u32 name; - const void *name_ptr_; -}; - -struct trace_event_data_offsets_mmc_request_start { - u32 name; - const void *name_ptr_; -}; - -struct trace_event_data_offsets_module_free { - u32 name; - const void *name_ptr_; -}; - -struct trace_event_data_offsets_module_load { - u32 name; - const void *name_ptr_; -}; - -struct trace_event_data_offsets_module_refcnt { - u32 name; - const void *name_ptr_; -}; - -struct trace_event_data_offsets_module_request { - u32 name; - const void *name_ptr_; -}; - -struct trace_event_data_offsets_mon_llc_occupancy_limbo {}; - -struct trace_event_data_offsets_mptcp_dump_mpext {}; - -struct trace_event_data_offsets_mptcp_subflow_get_send {}; - -struct trace_event_data_offsets_msr_trace_class {}; - -struct trace_event_data_offsets_napi_poll { - u32 dev_name; - const void *dev_name_ptr_; -}; - -struct trace_event_data_offsets_neigh__update { - u32 dev; - const void *dev_ptr_; -}; - -struct trace_event_data_offsets_neigh_create { - u32 dev; - const void *dev_ptr_; -}; - -struct trace_event_data_offsets_neigh_update { - u32 dev; - const void *dev_ptr_; -}; - -struct trace_event_data_offsets_net_dev_rx_exit_template {}; - -struct trace_event_data_offsets_net_dev_rx_verbose_template { - u32 name; - const void *name_ptr_; -}; - -struct trace_event_data_offsets_net_dev_start_xmit { - u32 name; - const void *name_ptr_; -}; - -struct trace_event_data_offsets_net_dev_template { - u32 name; - const void *name_ptr_; -}; - -struct trace_event_data_offsets_net_dev_xmit { - u32 name; - const void *name_ptr_; -}; - -struct trace_event_data_offsets_net_dev_xmit_timeout { - u32 name; - const void *name_ptr_; - u32 driver; - const void *driver_ptr_; -}; - -struct trace_event_data_offsets_netlink_extack { - u32 msg; - const void *msg_ptr_; -}; - -struct trace_event_data_offsets_nmi_handler {}; - -struct trace_event_data_offsets_nmi_noise {}; - -struct trace_event_data_offsets_non_standard_event { - u32 fru_text; - const void *fru_text_ptr_; - u32 buf; - const void *buf_ptr_; -}; - -struct trace_event_data_offsets_notifier_info {}; - -struct trace_event_data_offsets_oom_score_adj_update {}; - -struct trace_event_data_offsets_osnoise_sample {}; - -struct trace_event_data_offsets_page_pool_release {}; - -struct trace_event_data_offsets_page_pool_state_hold {}; - -struct trace_event_data_offsets_page_pool_state_release {}; - -struct trace_event_data_offsets_page_pool_update_nid {}; - -struct trace_event_data_offsets_percpu_alloc_percpu {}; - -struct trace_event_data_offsets_percpu_alloc_percpu_fail {}; - -struct trace_event_data_offsets_percpu_create_chunk {}; - -struct trace_event_data_offsets_percpu_destroy_chunk {}; - -struct trace_event_data_offsets_percpu_free_percpu {}; - -struct trace_event_data_offsets_pm_qos_update {}; - -struct trace_event_data_offsets_prq_report { - u32 iommu; - const void *iommu_ptr_; - u32 dev; - const void *dev_ptr_; - u32 buff; - const void *buff_ptr_; -}; - -struct trace_event_data_offsets_pseudo_lock_l2 {}; - -struct trace_event_data_offsets_pseudo_lock_l3 {}; - -struct trace_event_data_offsets_pseudo_lock_mem_latency {}; - -struct trace_event_data_offsets_pstate_sample {}; - -struct trace_event_data_offsets_purge_vmap_area_lazy {}; - -struct trace_event_data_offsets_pwm {}; - -struct trace_event_data_offsets_pwm_read_waveform {}; - -struct trace_event_data_offsets_pwm_round_waveform_fromhw {}; - -struct trace_event_data_offsets_pwm_round_waveform_tohw {}; - -struct trace_event_data_offsets_pwm_write_waveform {}; - -struct trace_event_data_offsets_qdisc_create { - u32 dev; - const void *dev_ptr_; - u32 kind; - const void *kind_ptr_; -}; - -struct trace_event_data_offsets_qdisc_dequeue {}; - -struct trace_event_data_offsets_qdisc_destroy { - u32 dev; - const void *dev_ptr_; - u32 kind; - const void *kind_ptr_; -}; - -struct trace_event_data_offsets_qdisc_enqueue {}; - -struct trace_event_data_offsets_qdisc_reset { - u32 dev; - const void *dev_ptr_; - u32 kind; - const void *kind_ptr_; -}; - -struct trace_event_data_offsets_qi_submit { - u32 iommu; - const void *iommu_ptr_; -}; - -struct trace_event_data_offsets_rcu_stall_warning {}; - -struct trace_event_data_offsets_rcu_utilization {}; - -struct trace_event_data_offsets_reclaim_retry_zone {}; - -struct trace_event_data_offsets_regcache_drop_region { - u32 name; - const void *name_ptr_; -}; - -struct trace_event_data_offsets_regcache_sync { - u32 name; - const void *name_ptr_; - u32 status; - const void *status_ptr_; - u32 type; - const void *type_ptr_; -}; - -struct trace_event_data_offsets_regmap_async { - u32 name; - const void *name_ptr_; -}; - -struct trace_event_data_offsets_regmap_block { - u32 name; - const void *name_ptr_; -}; - -struct trace_event_data_offsets_regmap_bool { - u32 name; - const void *name_ptr_; -}; - -struct trace_event_data_offsets_regmap_bulk { - u32 name; - const void *name_ptr_; - u32 buf; - const void *buf_ptr_; -}; - -struct trace_event_data_offsets_regmap_reg { - u32 name; - const void *name_ptr_; -}; - -struct trace_event_data_offsets_regulator_basic { - u32 name; - const void *name_ptr_; -}; - -struct trace_event_data_offsets_regulator_range { - u32 name; - const void *name_ptr_; -}; - -struct trace_event_data_offsets_regulator_value { - u32 name; - const void *name_ptr_; -}; - -struct trace_event_data_offsets_rpm_internal { - u32 name; - const void *name_ptr_; -}; - -struct trace_event_data_offsets_rpm_return_int { - u32 name; - const void *name_ptr_; -}; - -struct trace_event_data_offsets_rpm_status { - u32 name; - const void *name_ptr_; -}; - -struct trace_event_data_offsets_rseq_ip_fixup {}; - -struct trace_event_data_offsets_rseq_update {}; - -struct trace_event_data_offsets_rss_stat {}; - -struct trace_event_data_offsets_rtc_alarm_irq_enable {}; - -struct trace_event_data_offsets_rtc_irq_set_freq {}; - -struct trace_event_data_offsets_rtc_irq_set_state {}; - -struct trace_event_data_offsets_rtc_offset_class {}; - -struct trace_event_data_offsets_rtc_time_alarm_class {}; - -struct trace_event_data_offsets_rtc_timer_class {}; - -struct trace_event_data_offsets_rv_retries_error { - u32 name; - const void *name_ptr_; - u32 event; - const void *event_ptr_; -}; - -struct trace_event_data_offsets_sample_threshold {}; - -struct trace_event_data_offsets_sched_ext_dump { - u32 line; - const void *line_ptr_; -}; - -struct trace_event_data_offsets_sched_ext_event { - u32 name; - const void *name_ptr_; -}; - -struct trace_event_data_offsets_sched_kthread_stop { - u32 comm; - const void *comm_ptr_; -}; - -struct trace_event_data_offsets_sched_kthread_stop_ret {}; - -struct trace_event_data_offsets_sched_kthread_work_execute_end {}; - -struct trace_event_data_offsets_sched_kthread_work_execute_start {}; - -struct trace_event_data_offsets_sched_kthread_work_queue_work {}; - -struct trace_event_data_offsets_sched_migrate_task { - u32 comm; - const void *comm_ptr_; -}; - -struct trace_event_data_offsets_sched_move_numa {}; - -struct trace_event_data_offsets_sched_numa_pair_template {}; - -struct trace_event_data_offsets_sched_pi_setprio { - u32 comm; - const void *comm_ptr_; -}; - -struct trace_event_data_offsets_sched_prepare_exec { - u32 interp; - const void *interp_ptr_; - u32 filename; - const void *filename_ptr_; - u32 comm; - const void *comm_ptr_; -}; - -struct trace_event_data_offsets_sched_process_exec { - u32 filename; - const void *filename_ptr_; -}; - -struct trace_event_data_offsets_sched_process_exit {}; - -struct trace_event_data_offsets_sched_process_fork { - u32 parent_comm; - const void *parent_comm_ptr_; - u32 child_comm; - const void *child_comm_ptr_; -}; - -struct trace_event_data_offsets_sched_process_hang { - u32 comm; - const void *comm_ptr_; -}; - -struct trace_event_data_offsets_sched_process_template { - u32 comm; - const void *comm_ptr_; -}; - -struct trace_event_data_offsets_sched_process_wait { - u32 comm; - const void *comm_ptr_; -}; - -struct trace_event_data_offsets_sched_skip_cpuset_numa {}; - -struct trace_event_data_offsets_sched_skip_vma_numa {}; - -struct trace_event_data_offsets_sched_stat_runtime { - u32 comm; - const void *comm_ptr_; -}; - -struct trace_event_data_offsets_sched_stat_template { - u32 comm; - const void *comm_ptr_; -}; - -struct trace_event_data_offsets_sched_switch {}; - -struct trace_event_data_offsets_sched_wake_idle_without_ipi {}; - -struct trace_event_data_offsets_sched_wakeup_template {}; - -struct trace_event_data_offsets_scsi_cmd_done_timeout_template { - u32 cmnd; - const void *cmnd_ptr_; -}; - -struct trace_event_data_offsets_scsi_dispatch_cmd_error { - u32 cmnd; - const void *cmnd_ptr_; -}; - -struct trace_event_data_offsets_scsi_dispatch_cmd_start { - u32 cmnd; - const void *cmnd_ptr_; -}; - -struct trace_event_data_offsets_scsi_eh_wakeup {}; - -struct trace_event_data_offsets_scsi_prepare_zone_append {}; - -struct trace_event_data_offsets_scsi_zone_wp_update {}; - -struct trace_event_data_offsets_selinux_audited { - u32 scontext; - const void *scontext_ptr_; - u32 tcontext; - const void *tcontext_ptr_; - u32 tclass; - const void *tclass_ptr_; -}; - -struct trace_event_data_offsets_signal_deliver {}; - -struct trace_event_data_offsets_signal_generate {}; - -struct trace_event_data_offsets_sk_data_ready {}; - -struct trace_event_data_offsets_skb_copy_datagram_iovec {}; - -struct trace_event_data_offsets_skip_task_reaping {}; - -struct trace_event_data_offsets_smbus_read {}; - -struct trace_event_data_offsets_smbus_reply {}; - -struct trace_event_data_offsets_smbus_result {}; - -struct trace_event_data_offsets_smbus_write {}; - -struct trace_event_data_offsets_sock_exceed_buf_limit {}; - -struct trace_event_data_offsets_sock_msg_length {}; - -struct trace_event_data_offsets_sock_rcvqueue_full {}; - -struct trace_event_data_offsets_softirq {}; - -struct trace_event_data_offsets_softirq_noise {}; - -struct trace_event_data_offsets_spi_controller {}; - -struct trace_event_data_offsets_spi_message {}; - -struct trace_event_data_offsets_spi_message_done {}; - -struct trace_event_data_offsets_spi_set_cs {}; - -struct trace_event_data_offsets_spi_setup {}; - -struct trace_event_data_offsets_spi_transfer { - u32 rx_buf; - const void *rx_buf_ptr_; - u32 tx_buf; - const void *tx_buf_ptr_; -}; - -struct trace_event_data_offsets_start_task_reaping {}; - -struct trace_event_data_offsets_subflow_check_data_avail {}; - -struct trace_event_data_offsets_suspend_resume {}; - -struct trace_event_data_offsets_swiotlb_bounced { - u32 dev_name; - const void *dev_name_ptr_; -}; - -struct trace_event_data_offsets_sync_timeline { - u32 name; - const void *name_ptr_; -}; - -struct trace_event_data_offsets_sys_enter {}; - -struct trace_event_data_offsets_sys_exit {}; - -struct trace_event_data_offsets_task_newtask {}; - -struct trace_event_data_offsets_task_prctl_unknown {}; - -struct trace_event_data_offsets_task_rename {}; - -struct trace_event_data_offsets_tasklet {}; - -struct trace_event_data_offsets_tcp_ao_event {}; - -struct trace_event_data_offsets_tcp_ao_event_sk {}; - -struct trace_event_data_offsets_tcp_ao_event_sne {}; - -struct trace_event_data_offsets_tcp_cong_state_set {}; - -struct trace_event_data_offsets_tcp_event_sk {}; - -struct trace_event_data_offsets_tcp_event_skb {}; - -struct trace_event_data_offsets_tcp_hash_event {}; - -struct trace_event_data_offsets_tcp_probe {}; - -struct trace_event_data_offsets_tcp_rcvbuf_grow {}; - -struct trace_event_data_offsets_tcp_retransmit_skb {}; - -struct trace_event_data_offsets_tcp_retransmit_synack {}; - -struct trace_event_data_offsets_tcp_send_reset {}; - -struct trace_event_data_offsets_tcp_sendmsg_locked {}; - -struct trace_event_data_offsets_test_pages_isolated {}; - -struct trace_event_data_offsets_thermal_power_actor {}; - -struct trace_event_data_offsets_thermal_power_allocator {}; - -struct trace_event_data_offsets_thermal_power_allocator_pid {}; - -struct trace_event_data_offsets_thermal_power_devfreq_get_power { - u32 type; - const void *type_ptr_; -}; - -struct trace_event_data_offsets_thermal_power_devfreq_limit { - u32 type; - const void *type_ptr_; -}; - -struct trace_event_data_offsets_thermal_temperature { - u32 thermal_zone; - const void *thermal_zone_ptr_; -}; - -struct trace_event_data_offsets_thermal_zone_trip { - u32 thermal_zone; - const void *thermal_zone_ptr_; -}; - -struct trace_event_data_offsets_thread_noise {}; - -struct trace_event_data_offsets_tick_stop {}; - -struct trace_event_data_offsets_timer_base_idle {}; - -struct trace_event_data_offsets_timer_class {}; - -struct trace_event_data_offsets_timer_expire_entry {}; - -struct trace_event_data_offsets_timer_start {}; - -struct trace_event_data_offsets_timerlat_sample {}; - -struct trace_event_data_offsets_tlb_flush {}; - -struct trace_event_data_offsets_tls_contenttype {}; - -struct trace_event_data_offsets_tmigr_connect_child_parent {}; - -struct trace_event_data_offsets_tmigr_connect_cpu_parent {}; - -struct trace_event_data_offsets_tmigr_cpugroup {}; - -struct trace_event_data_offsets_tmigr_group_and_cpu {}; - -struct trace_event_data_offsets_tmigr_group_set {}; - -struct trace_event_data_offsets_tmigr_handle_remote {}; - -struct trace_event_data_offsets_tmigr_idle {}; - -struct trace_event_data_offsets_tmigr_update_events {}; - -struct trace_event_data_offsets_track_foreign_dirty {}; - -struct trace_event_data_offsets_tsm_mr_read { - u32 mr; - const void *mr_ptr_; - u32 hash; - const void *hash_ptr_; - u32 d; - const void *d_ptr_; -}; - -struct trace_event_data_offsets_tsm_mr_refresh { - u32 mr; - const void *mr_ptr_; -}; - -struct trace_event_data_offsets_tsm_mr_write { - u32 mr; - const void *mr_ptr_; - u32 hash; - const void *hash_ptr_; - u32 d; - const void *d_ptr_; -}; - -struct trace_event_data_offsets_udp_fail_queue_rcv_skb {}; - -struct trace_event_data_offsets_unmap {}; - -struct trace_event_data_offsets_vector_activate {}; - -struct trace_event_data_offsets_vector_alloc {}; - -struct trace_event_data_offsets_vector_alloc_managed {}; - -struct trace_event_data_offsets_vector_config {}; - -struct trace_event_data_offsets_vector_free_moved {}; - -struct trace_event_data_offsets_vector_mod {}; - -struct trace_event_data_offsets_vector_reserve {}; - -struct trace_event_data_offsets_vector_setup {}; - -struct trace_event_data_offsets_vector_teardown {}; - -struct trace_event_data_offsets_vm_unmapped_area {}; - -struct trace_event_data_offsets_wake_reaper {}; - -struct trace_event_data_offsets_wakeup_source { - u32 name; - const void *name_ptr_; -}; - -struct trace_event_data_offsets_watchdog_set_timeout {}; - -struct trace_event_data_offsets_watchdog_template {}; - -struct trace_event_data_offsets_wbc_class {}; - -struct trace_event_data_offsets_wbt_lat {}; - -struct trace_event_data_offsets_wbt_stat {}; - -struct trace_event_data_offsets_wbt_step {}; - -struct trace_event_data_offsets_wbt_timer {}; - -struct trace_event_data_offsets_workqueue_activate_work {}; - -struct trace_event_data_offsets_workqueue_execute_end {}; - -struct trace_event_data_offsets_workqueue_execute_start {}; - -struct trace_event_data_offsets_workqueue_queue_work { - u32 workqueue; - const void *workqueue_ptr_; -}; - -struct trace_event_data_offsets_writeback_bdi_register {}; - -struct trace_event_data_offsets_writeback_class {}; - -struct trace_event_data_offsets_writeback_dirty_inode_template {}; - -struct trace_event_data_offsets_writeback_folio_template {}; - -struct trace_event_data_offsets_writeback_inode_template {}; - -struct trace_event_data_offsets_writeback_pages_written {}; - -struct trace_event_data_offsets_writeback_queue_io {}; - -struct trace_event_data_offsets_writeback_sb_inodes_requeue {}; - -struct trace_event_data_offsets_writeback_single_inode_template {}; - -struct trace_event_data_offsets_writeback_work_class {}; - -struct trace_event_data_offsets_writeback_write_inode_template {}; - -struct trace_event_data_offsets_x86_fpu {}; - -struct trace_event_data_offsets_x86_irq_vector {}; - -struct trace_event_data_offsets_xdp_bulk_tx {}; - -struct trace_event_data_offsets_xdp_cpumap_enqueue {}; - -struct trace_event_data_offsets_xdp_cpumap_kthread {}; - -struct trace_event_data_offsets_xdp_devmap_xmit {}; - -struct trace_event_data_offsets_xdp_exception {}; - -struct trace_event_data_offsets_xdp_redirect_template {}; - -struct trace_event_data_offsets_xen_cpu_load_idt {}; - -struct trace_event_data_offsets_xen_cpu_set_ldt {}; - -struct trace_event_data_offsets_xen_cpu_write_gdt_entry {}; - -struct trace_event_data_offsets_xen_cpu_write_idt_entry {}; - -struct trace_event_data_offsets_xen_cpu_write_ldt_entry {}; - -struct trace_event_data_offsets_xen_mc__batch {}; - -struct trace_event_data_offsets_xen_mc_callback {}; - -struct trace_event_data_offsets_xen_mc_entry {}; - -struct trace_event_data_offsets_xen_mc_entry_alloc {}; - -struct trace_event_data_offsets_xen_mc_extend_args {}; - -struct trace_event_data_offsets_xen_mc_flush {}; - -struct trace_event_data_offsets_xen_mc_flush_reason {}; - -struct trace_event_data_offsets_xen_mmu__set_pte {}; - -struct trace_event_data_offsets_xen_mmu_alloc_ptpage {}; - -struct trace_event_data_offsets_xen_mmu_flush_tlb_multi {}; - -struct trace_event_data_offsets_xen_mmu_flush_tlb_one_user {}; - -struct trace_event_data_offsets_xen_mmu_pgd {}; - -struct trace_event_data_offsets_xen_mmu_ptep_modify_prot {}; - -struct trace_event_data_offsets_xen_mmu_release_ptpage {}; - -struct trace_event_data_offsets_xen_mmu_set_p4d {}; - -struct trace_event_data_offsets_xen_mmu_set_pmd {}; - -struct trace_event_data_offsets_xen_mmu_set_pud {}; - -struct trace_event_data_offsets_xen_mmu_write_cr3 {}; - -struct trace_event_data_offsets_xhci_dbc_log_request {}; - -struct trace_event_data_offsets_xhci_log_ctrl_ctx {}; - -struct trace_event_data_offsets_xhci_log_ctx { - u32 ctx_data; - const void *ctx_data_ptr_; -}; - -struct trace_event_data_offsets_xhci_log_doorbell {}; - -struct trace_event_data_offsets_xhci_log_ep_ctx {}; - -struct trace_event_data_offsets_xhci_log_free_virt_dev {}; - -struct trace_event_data_offsets_xhci_log_msg { - u32 msg; - const void *msg_ptr_; -}; - -struct trace_event_data_offsets_xhci_log_portsc {}; - -struct trace_event_data_offsets_xhci_log_ring {}; - -struct trace_event_data_offsets_xhci_log_slot_ctx {}; - -struct trace_event_data_offsets_xhci_log_stream_ctx {}; - -struct trace_event_data_offsets_xhci_log_trb {}; - -struct trace_event_data_offsets_xhci_log_urb { - u32 devname; - const void *devname_ptr_; -}; - -struct trace_event_data_offsets_xhci_log_virt_dev {}; - -struct trace_event_fields { - const char *type; - union { - struct { - const char *name; - const int size; - const int align; - const unsigned int is_signed: 1; - unsigned int needs_test: 1; - const int filter_type; - const int len; - }; - int (*define_fields)(struct trace_event_call *); - }; -}; - -struct trace_subsystem_dir; - -struct trace_event_file { - struct list_head list; - struct trace_event_call *event_call; - struct event_filter *filter; - struct eventfs_inode *ei; - struct trace_array *tr; - struct trace_subsystem_dir *system; - struct list_head triggers; - long unsigned int flags; - refcount_t ref; - atomic_t sm_ref; - atomic_t tm_ref; -}; - -typedef enum print_line_t (*trace_print_func)(struct trace_iterator *, int, struct trace_event *); - -struct trace_event_functions { - trace_print_func trace; - trace_print_func raw; - trace_print_func hex; - trace_print_func binary; -}; - -struct trace_event_raw_ack_update_msk { - struct trace_entry ent; - u64 data_ack; - u64 old_snd_una; - u64 new_snd_una; - u64 new_wnd_end; - u64 msk_wnd_end; - char __data[0]; -}; - -struct trace_event_raw_aer_event { - struct trace_entry ent; - u32 __data_loc_dev_name; - u32 status; - u8 severity; - u8 tlp_header_valid; - u32 tlp_header[14]; - char __data[0]; -}; - -struct trace_event_raw_alarm_class { - struct trace_entry ent; - void *alarm; - unsigned char alarm_type; - s64 expires; - s64 now; - char __data[0]; -}; - -struct trace_event_raw_alarmtimer_suspend { - struct trace_entry ent; - s64 expires; - unsigned char alarm_type; - char __data[0]; -}; - -struct trace_event_raw_alloc_vmap_area { - struct trace_entry ent; - long unsigned int addr; - long unsigned int size; - long unsigned int align; - long unsigned int vstart; - long unsigned int vend; - int failed; - char __data[0]; -}; - -struct trace_event_raw_amd_pstate_epp_perf { - struct trace_entry ent; - unsigned int cpu_id; - u8 highest_perf; - u8 epp; - u8 min_perf; - u8 max_perf; - bool boost; - bool changed; - char __data[0]; -}; - -struct trace_event_raw_amd_pstate_perf { - struct trace_entry ent; - u8 min_perf; - u8 target_perf; - u8 capacity; - long long unsigned int freq; - long long unsigned int mperf; - long long unsigned int aperf; - long long unsigned int tsc; - unsigned int cpu_id; - bool fast_switch; - char __data[0]; -}; - -struct trace_event_raw_arm_event { - struct trace_entry ent; - u64 mpidr; - u64 midr; - u32 running_state; - u32 psci_state; - u8 affinity; - u32 pei_len; - u32 __data_loc_pei_buf; - u32 ctx_len; - u32 __data_loc_ctx_buf; - u32 oem_len; - u32 __data_loc_oem_buf; - u8 sev; - int cpu; - char __data[0]; -}; - -struct trace_event_raw_ata_bmdma_status { - struct trace_entry ent; - unsigned int ata_port; - unsigned int tag; - unsigned char host_stat; - char __data[0]; -}; - -struct trace_event_raw_ata_eh_action_template { - struct trace_entry ent; - unsigned int ata_port; - unsigned int ata_dev; - unsigned int eh_action; - char __data[0]; -}; - -struct trace_event_raw_ata_eh_link_autopsy { - struct trace_entry ent; - unsigned int ata_port; - unsigned int ata_dev; - unsigned int eh_action; - unsigned int eh_err_mask; - char __data[0]; -}; - -struct trace_event_raw_ata_eh_link_autopsy_qc { - struct trace_entry ent; - unsigned int ata_port; - unsigned int ata_dev; - unsigned int tag; - unsigned int qc_flags; - unsigned int eh_err_mask; - char __data[0]; -}; - -struct trace_event_raw_ata_exec_command_template { - struct trace_entry ent; - unsigned int ata_port; - unsigned int tag; - unsigned char cmd; - unsigned char feature; - unsigned char hob_nsect; - unsigned char proto; - char __data[0]; -}; - -struct trace_event_raw_ata_link_reset_begin_template { - struct trace_entry ent; - unsigned int ata_port; - unsigned int class[2]; - long unsigned int deadline; - char __data[0]; -}; - -struct trace_event_raw_ata_link_reset_end_template { - struct trace_entry ent; - unsigned int ata_port; - unsigned int class[2]; - int rc; - char __data[0]; -}; - -struct trace_event_raw_ata_port_eh_begin_template { - struct trace_entry ent; - unsigned int ata_port; - char __data[0]; -}; - -struct trace_event_raw_ata_qc_complete_template { - struct trace_entry ent; - unsigned int ata_port; - unsigned int ata_dev; - unsigned int tag; - unsigned char status; - unsigned char dev; - unsigned char lbal; - unsigned char lbam; - unsigned char lbah; - unsigned char nsect; - unsigned char error; - unsigned char hob_lbal; - unsigned char hob_lbam; - unsigned char hob_lbah; - unsigned char hob_nsect; - unsigned char hob_feature; - unsigned char ctl; - long unsigned int flags; - char __data[0]; -}; - -struct trace_event_raw_ata_qc_issue_template { - struct trace_entry ent; - unsigned int ata_port; - unsigned int ata_dev; - unsigned int tag; - unsigned char cmd; - unsigned char dev; - unsigned char lbal; - unsigned char lbam; - unsigned char lbah; - unsigned char nsect; - unsigned char feature; - unsigned char hob_lbal; - unsigned char hob_lbam; - unsigned char hob_lbah; - unsigned char hob_nsect; - unsigned char hob_feature; - unsigned char ctl; - unsigned char proto; - long unsigned int flags; - char __data[0]; -}; - -struct trace_event_raw_ata_sff_hsm_template { - struct trace_entry ent; - unsigned int ata_port; - unsigned int ata_dev; - unsigned int tag; - unsigned int qc_flags; - unsigned int protocol; - unsigned int hsm_state; - unsigned char dev_state; - char __data[0]; -}; - -struct trace_event_raw_ata_sff_template { - struct trace_entry ent; - unsigned int ata_port; - unsigned char hsm_state; - char __data[0]; -}; - -struct trace_event_raw_ata_tf_load { - struct trace_entry ent; - unsigned int ata_port; - unsigned char cmd; - unsigned char dev; - unsigned char lbal; - unsigned char lbam; - unsigned char lbah; - unsigned char nsect; - unsigned char feature; - unsigned char hob_lbal; - unsigned char hob_lbam; - unsigned char hob_lbah; - unsigned char hob_nsect; - unsigned char hob_feature; - unsigned char proto; - char __data[0]; -}; - -struct trace_event_raw_ata_transfer_data_template { - struct trace_entry ent; - unsigned int ata_port; - unsigned int ata_dev; - unsigned int tag; - unsigned int flags; - unsigned int offset; - unsigned int bytes; - char __data[0]; -}; - -struct trace_event_raw_balance_dirty_pages { - struct trace_entry ent; - char bdi[32]; - long unsigned int limit; - long unsigned int setpoint; - long unsigned int dirty; - long unsigned int wb_setpoint; - long unsigned int wb_dirty; - long unsigned int dirty_ratelimit; - long unsigned int task_ratelimit; - unsigned int dirtied; - unsigned int dirtied_pause; - long unsigned int paused; - long int pause; - long unsigned int period; - long int think; - ino_t cgroup_ino; - char __data[0]; -}; - -struct trace_event_raw_bdi_dirty_ratelimit { - struct trace_entry ent; - char bdi[32]; - long unsigned int write_bw; - long unsigned int avg_write_bw; - long unsigned int dirty_rate; - long unsigned int dirty_ratelimit; - long unsigned int task_ratelimit; - long unsigned int balanced_dirty_ratelimit; - ino_t cgroup_ino; - char __data[0]; -}; - -struct trace_event_raw_blkdev_zone_mgmt { - struct trace_entry ent; - dev_t dev; - sector_t sector; - sector_t nr_sectors; - char rwbs[10]; - char __data[0]; -}; - -struct trace_event_raw_block_bio { - struct trace_entry ent; - dev_t dev; - sector_t sector; - unsigned int nr_sector; - char rwbs[10]; - char comm[16]; - char __data[0]; -}; - -struct trace_event_raw_block_bio_complete { - struct trace_entry ent; - dev_t dev; - sector_t sector; - unsigned int nr_sector; - int error; - char rwbs[10]; - char __data[0]; -}; - -struct trace_event_raw_block_bio_remap { - struct trace_entry ent; - dev_t dev; - sector_t sector; - unsigned int nr_sector; - dev_t old_dev; - sector_t old_sector; - char rwbs[10]; - char __data[0]; -}; - -struct trace_event_raw_block_buffer { - struct trace_entry ent; - dev_t dev; - sector_t sector; - size_t size; - char __data[0]; -}; - -struct trace_event_raw_block_plug { - struct trace_entry ent; - char comm[16]; - char __data[0]; -}; - -struct trace_event_raw_block_rq { - struct trace_entry ent; - dev_t dev; - sector_t sector; - unsigned int nr_sector; - unsigned int bytes; - short unsigned int ioprio; - char rwbs[10]; - char comm[16]; - u32 __data_loc_cmd; - char __data[0]; -}; - -struct trace_event_raw_block_rq_completion { - struct trace_entry ent; - dev_t dev; - sector_t sector; - unsigned int nr_sector; - int error; - short unsigned int ioprio; - char rwbs[10]; - u32 __data_loc_cmd; - char __data[0]; -}; - -struct trace_event_raw_block_rq_remap { - struct trace_entry ent; - dev_t dev; - sector_t sector; - unsigned int nr_sector; - dev_t old_dev; - sector_t old_sector; - unsigned int nr_bios; - char rwbs[10]; - char __data[0]; -}; - -struct trace_event_raw_block_rq_requeue { - struct trace_entry ent; - dev_t dev; - sector_t sector; - unsigned int nr_sector; - short unsigned int ioprio; - char rwbs[10]; - u32 __data_loc_cmd; - char __data[0]; -}; - -struct trace_event_raw_block_split { - struct trace_entry ent; - dev_t dev; - sector_t sector; - sector_t new_sector; - char rwbs[10]; - char comm[16]; - char __data[0]; -}; - -struct trace_event_raw_block_unplug { - struct trace_entry ent; - int nr_rq; - char comm[16]; - char __data[0]; -}; - -struct trace_event_raw_block_zwplug { - struct trace_entry ent; - dev_t dev; - unsigned int zno; - sector_t sector; - unsigned int nr_sectors; - char __data[0]; -}; - -struct trace_event_raw_bpf_test_finish { - struct trace_entry ent; - int err; - char __data[0]; -}; - -struct trace_event_raw_bpf_trace_printk { - struct trace_entry ent; - u32 __data_loc_bpf_string; - char __data[0]; -}; - -struct trace_event_raw_bpf_trigger_tp { - struct trace_entry ent; - int nonce; - char __data[0]; -}; - -struct trace_event_raw_bpf_xdp_link_attach_failed { - struct trace_entry ent; - u32 __data_loc_msg; - char __data[0]; -}; - -struct trace_event_raw_br_fdb_add { - struct trace_entry ent; - u8 ndm_flags; - u32 __data_loc_dev; - unsigned char addr[6]; - u16 vid; - u16 nlh_flags; - char __data[0]; -}; - -struct trace_event_raw_br_fdb_external_learn_add { - struct trace_entry ent; - u32 __data_loc_br_dev; - u32 __data_loc_dev; - unsigned char addr[6]; - u16 vid; - char __data[0]; -}; - -struct trace_event_raw_br_fdb_update { - struct trace_entry ent; - u32 __data_loc_br_dev; - u32 __data_loc_dev; - unsigned char addr[6]; - u16 vid; - long unsigned int flags; - char __data[0]; -}; - -struct trace_event_raw_br_mdb_full { - struct trace_entry ent; - u32 __data_loc_dev; - int af; - u16 vid; - __u8 src[16]; - __u8 grp[16]; - __u8 grpmac[6]; - char __data[0]; -}; - -struct trace_event_raw_cache_tag_flush { - struct trace_entry ent; - u32 __data_loc_iommu; - u32 __data_loc_dev; - u16 type; - u16 domain_id; - u32 pasid; - long unsigned int start; - long unsigned int end; - long unsigned int addr; - long unsigned int pages; - long unsigned int mask; - char __data[0]; -}; - -struct trace_event_raw_cache_tag_log { - struct trace_entry ent; - u32 __data_loc_iommu; - u32 __data_loc_dev; - u16 type; - u16 domain_id; - u32 pasid; - u32 users; - char __data[0]; -}; - -struct trace_event_raw_cap_capable { - struct trace_entry ent; - const struct cred *cred; - struct user_namespace *target_ns; - const struct user_namespace *capable_ns; - int cap; - int ret; - char __data[0]; -}; - -struct trace_event_raw_cdev_update { - struct trace_entry ent; - u32 __data_loc_type; - long unsigned int target; - char __data[0]; -}; - -struct trace_event_raw_cgroup { - struct trace_entry ent; - int root; - int level; - u64 id; - u32 __data_loc_path; - char __data[0]; -}; - -struct trace_event_raw_cgroup_event { - struct trace_entry ent; - int root; - int level; - u64 id; - u32 __data_loc_path; - int val; - char __data[0]; -}; - -struct trace_event_raw_cgroup_migrate { - struct trace_entry ent; - int dst_root; - int dst_level; - u64 dst_id; - int pid; - u32 __data_loc_dst_path; - u32 __data_loc_comm; - char __data[0]; -}; - -struct trace_event_raw_cgroup_root { - struct trace_entry ent; - int root; - u16 ss_mask; - u32 __data_loc_name; - char __data[0]; -}; - -struct trace_event_raw_cgroup_rstat { - struct trace_entry ent; - int root; - int level; - u64 id; - int cpu; - bool contended; - char __data[0]; -}; - -struct trace_event_raw_clk { - struct trace_entry ent; - u32 __data_loc_name; - char __data[0]; -}; - -struct trace_event_raw_clk_duty_cycle { - struct trace_entry ent; - u32 __data_loc_name; - unsigned int num; - unsigned int den; - char __data[0]; -}; - -struct trace_event_raw_clk_parent { - struct trace_entry ent; - u32 __data_loc_name; - u32 __data_loc_pname; - char __data[0]; -}; - -struct trace_event_raw_clk_phase { - struct trace_entry ent; - u32 __data_loc_name; - int phase; - char __data[0]; -}; - -struct trace_event_raw_clk_rate { - struct trace_entry ent; - u32 __data_loc_name; - long unsigned int rate; - char __data[0]; -}; - -struct trace_event_raw_clk_rate_range { - struct trace_entry ent; - u32 __data_loc_name; - long unsigned int min; - long unsigned int max; - char __data[0]; -}; - -struct trace_event_raw_clk_rate_request { - struct trace_entry ent; - u32 __data_loc_name; - u32 __data_loc_pname; - long unsigned int min; - long unsigned int max; - long unsigned int prate; - char __data[0]; -}; - -struct trace_event_raw_cma_alloc_busy_retry { - struct trace_entry ent; - u32 __data_loc_name; - long unsigned int pfn; - const struct page *page; - long unsigned int count; - unsigned int align; - char __data[0]; -}; - -struct trace_event_raw_cma_alloc_finish { - struct trace_entry ent; - u32 __data_loc_name; - long unsigned int pfn; - const struct page *page; - long unsigned int count; - unsigned int align; - int errorno; - char __data[0]; -}; - -struct trace_event_raw_cma_alloc_start { - struct trace_entry ent; - u32 __data_loc_name; - long unsigned int count; - unsigned int align; - char __data[0]; -}; - -struct trace_event_raw_cma_release { - struct trace_entry ent; - u32 __data_loc_name; - long unsigned int pfn; - const struct page *page; - long unsigned int count; - char __data[0]; -}; - -struct trace_event_raw_compact_retry { - struct trace_entry ent; - int order; - int priority; - int result; - int retries; - int max_retries; - bool ret; - char __data[0]; -}; - -struct trace_event_raw_console { - struct trace_entry ent; - u32 __data_loc_msg; - char __data[0]; -}; - -struct trace_event_raw_consume_skb { - struct trace_entry ent; - void *skbaddr; - void *location; - char __data[0]; -}; - -struct trace_event_raw_contention_begin { - struct trace_entry ent; - void *lock_addr; - unsigned int flags; - char __data[0]; -}; - -struct trace_event_raw_contention_end { - struct trace_entry ent; - void *lock_addr; - int ret; - char __data[0]; -}; - -struct trace_event_raw_context_tracking_user { - struct trace_entry ent; - int dummy; - char __data[0]; -}; - -struct trace_event_raw_cpu { - struct trace_entry ent; - u32 state; - u32 cpu_id; - char __data[0]; -}; - -struct trace_event_raw_cpu_frequency_limits { - struct trace_entry ent; - u32 min_freq; - u32 max_freq; - u32 cpu_id; - char __data[0]; -}; - -struct trace_event_raw_cpu_idle_miss { - struct trace_entry ent; - u32 cpu_id; - u32 state; - bool below; - char __data[0]; -}; - -struct trace_event_raw_cpu_latency_qos_request { - struct trace_entry ent; - s32 value; - char __data[0]; -}; - -struct trace_event_raw_cpuhp_enter { - struct trace_entry ent; - unsigned int cpu; - int target; - int idx; - void *fun; - char __data[0]; -}; - -struct trace_event_raw_cpuhp_exit { - struct trace_entry ent; - unsigned int cpu; - int state; - int idx; - int ret; - char __data[0]; -}; - -struct trace_event_raw_cpuhp_multi_enter { - struct trace_entry ent; - unsigned int cpu; - int target; - int idx; - void *fun; - char __data[0]; -}; - -struct trace_event_raw_csd_function { - struct trace_entry ent; - void *func; - void *csd; - char __data[0]; -}; - -struct trace_event_raw_csd_queue_cpu { - struct trace_entry ent; - unsigned int cpu; - void *callsite; - void *func; - void *csd; - char __data[0]; -}; - -struct trace_event_raw_ctime { - struct trace_entry ent; - dev_t dev; - ino_t ino; - time64_t ctime_s; - u32 ctime_ns; - u32 gen; - char __data[0]; -}; - -struct trace_event_raw_ctime_ns_xchg { - struct trace_entry ent; - dev_t dev; - ino_t ino; - u32 gen; - u32 old; - u32 new; - u32 cur; - char __data[0]; -}; - -struct trace_event_raw_dax_pmd_fault_class { - struct trace_entry ent; - long unsigned int ino; - long unsigned int vm_start; - long unsigned int vm_end; - vm_flags_t vm_flags; - long unsigned int address; - long unsigned int pgoff; - long unsigned int max_pgoff; - dev_t dev; - unsigned int flags; - int result; - char __data[0]; -}; - -struct trace_event_raw_dax_pmd_load_hole_class { - struct trace_entry ent; - long unsigned int ino; - vm_flags_t vm_flags; - long unsigned int address; - struct folio *zero_folio; - void *radix_entry; - dev_t dev; - char __data[0]; -}; - -struct trace_event_raw_dax_pte_fault_class { - struct trace_entry ent; - long unsigned int ino; - vm_flags_t vm_flags; - long unsigned int address; - long unsigned int pgoff; - dev_t dev; - unsigned int flags; - int result; - char __data[0]; -}; - -struct trace_event_raw_dax_writeback_one { - struct trace_entry ent; - long unsigned int ino; - long unsigned int pgoff; - long unsigned int pglen; - dev_t dev; - char __data[0]; -}; - -struct trace_event_raw_dax_writeback_range_class { - struct trace_entry ent; - long unsigned int ino; - long unsigned int start_index; - long unsigned int end_index; - dev_t dev; - char __data[0]; -}; - -struct trace_event_raw_dev_pm_qos_request { - struct trace_entry ent; - u32 __data_loc_name; - enum dev_pm_qos_req_type type; - s32 new_value; - char __data[0]; -}; - -struct trace_event_raw_devfreq_frequency { - struct trace_entry ent; - u32 __data_loc_dev_name; - long unsigned int freq; - long unsigned int prev_freq; - long unsigned int busy_time; - long unsigned int total_time; - char __data[0]; -}; - -struct trace_event_raw_devfreq_monitor { - struct trace_entry ent; - long unsigned int freq; - long unsigned int busy_time; - long unsigned int total_time; - unsigned int polling_ms; - u32 __data_loc_dev_name; - char __data[0]; -}; - -struct trace_event_raw_device_pm_callback_end { - struct trace_entry ent; - u32 __data_loc_device; - u32 __data_loc_driver; - int error; - char __data[0]; -}; - -struct trace_event_raw_device_pm_callback_start { - struct trace_entry ent; - u32 __data_loc_device; - u32 __data_loc_driver; - u32 __data_loc_parent; - u32 __data_loc_pm_ops; - int event; - char __data[0]; -}; - -struct trace_event_raw_devlink_health_recover_aborted { - struct trace_entry ent; - u32 __data_loc_bus_name; - u32 __data_loc_dev_name; - u32 __data_loc_driver_name; - u32 __data_loc_reporter_name; - bool health_state; - u64 time_since_last_recover; - char __data[0]; -}; - -struct trace_event_raw_devlink_health_report { - struct trace_entry ent; - u32 __data_loc_bus_name; - u32 __data_loc_dev_name; - u32 __data_loc_driver_name; - u32 __data_loc_reporter_name; - u32 __data_loc_msg; - char __data[0]; -}; - -struct trace_event_raw_devlink_health_reporter_state_update { - struct trace_entry ent; - u32 __data_loc_bus_name; - u32 __data_loc_dev_name; - u32 __data_loc_driver_name; - u32 __data_loc_reporter_name; - u8 new_state; - char __data[0]; -}; - -struct trace_event_raw_devlink_hwerr { - struct trace_entry ent; - u32 __data_loc_bus_name; - u32 __data_loc_dev_name; - u32 __data_loc_driver_name; - int err; - u32 __data_loc_msg; - char __data[0]; -}; - -struct trace_event_raw_devlink_hwmsg { - struct trace_entry ent; - u32 __data_loc_bus_name; - u32 __data_loc_dev_name; - u32 __data_loc_driver_name; - bool incoming; - long unsigned int type; - u32 __data_loc_buf; - size_t len; - char __data[0]; -}; - -struct trace_event_raw_devlink_trap_report { - struct trace_entry ent; - u32 __data_loc_bus_name; - u32 __data_loc_dev_name; - u32 __data_loc_driver_name; - u32 __data_loc_trap_name; - u32 __data_loc_trap_group_name; - char input_dev_name[16]; - char __data[0]; -}; - -struct trace_event_raw_devres { - struct trace_entry ent; - u32 __data_loc_devname; - struct device *dev; - const char *op; - void *node; - u32 __data_loc_name; - size_t size; - char __data[0]; -}; - -struct trace_event_raw_dma_alloc_class { - struct trace_entry ent; - u32 __data_loc_device; - void *virt_addr; - u64 dma_addr; - size_t size; - gfp_t flags; - enum dma_data_direction dir; - long unsigned int attrs; - char __data[0]; -}; - -struct trace_event_raw_dma_alloc_sgt { - struct trace_entry ent; - u32 __data_loc_device; - u32 __data_loc_phys_addrs; - u64 dma_addr; - size_t size; - enum dma_data_direction dir; - gfp_t flags; - long unsigned int attrs; - char __data[0]; -}; - -struct trace_event_raw_dma_fence { - struct trace_entry ent; - u32 __data_loc_driver; - u32 __data_loc_timeline; - unsigned int context; - unsigned int seqno; - char __data[0]; -}; - -struct trace_event_raw_dma_fence_unsignaled { - struct trace_entry ent; - u32 __data_loc_driver; - u32 __data_loc_timeline; - unsigned int context; - unsigned int seqno; - char __data[0]; -}; - -struct trace_event_raw_dma_free_class { - struct trace_entry ent; - u32 __data_loc_device; - void *virt_addr; - u64 dma_addr; - size_t size; - enum dma_data_direction dir; - long unsigned int attrs; - char __data[0]; -}; - -struct trace_event_raw_dma_free_sgt { - struct trace_entry ent; - u32 __data_loc_device; - u32 __data_loc_phys_addrs; - u64 dma_addr; - size_t size; - enum dma_data_direction dir; - char __data[0]; -}; - -struct trace_event_raw_dma_map { - struct trace_entry ent; - u32 __data_loc_device; - u64 phys_addr; - u64 dma_addr; - size_t size; - enum dma_data_direction dir; - long unsigned int attrs; - char __data[0]; -}; - -struct trace_event_raw_dma_map_sg { - struct trace_entry ent; - u32 __data_loc_device; - u32 __data_loc_phys_addrs; - u32 __data_loc_dma_addrs; - u32 __data_loc_lengths; - enum dma_data_direction dir; - long unsigned int attrs; - char __data[0]; -}; - -struct trace_event_raw_dma_map_sg_err { - struct trace_entry ent; - u32 __data_loc_device; - u32 __data_loc_phys_addrs; - int err; - enum dma_data_direction dir; - long unsigned int attrs; - char __data[0]; -}; - -struct trace_event_raw_dma_sync_sg { - struct trace_entry ent; - u32 __data_loc_device; - u32 __data_loc_dma_addrs; - u32 __data_loc_lengths; - enum dma_data_direction dir; - char __data[0]; -}; - -struct trace_event_raw_dma_sync_single { - struct trace_entry ent; - u32 __data_loc_device; - u64 dma_addr; - size_t size; - enum dma_data_direction dir; - char __data[0]; -}; - -struct trace_event_raw_dma_unmap { - struct trace_entry ent; - u32 __data_loc_device; - u64 addr; - size_t size; - enum dma_data_direction dir; - long unsigned int attrs; - char __data[0]; -}; - -struct trace_event_raw_dma_unmap_sg { - struct trace_entry ent; - u32 __data_loc_device; - u32 __data_loc_addrs; - enum dma_data_direction dir; - long unsigned int attrs; - char __data[0]; -}; - -struct trace_event_raw_dql_stall_detected { - struct trace_entry ent; - short unsigned int thrs; - unsigned int len; - long unsigned int last_reap; - long unsigned int hist_head; - long unsigned int now; - long unsigned int hist[4]; - char __data[0]; -}; - -struct trace_event_raw_drm_vblank_event { - struct trace_entry ent; - int crtc; - unsigned int seq; - ktime_t time; - bool high_prec; - char __data[0]; -}; - -struct trace_event_raw_drm_vblank_event_delivered { - struct trace_entry ent; - struct drm_file *file; - int crtc; - unsigned int seq; - char __data[0]; -}; - -struct trace_event_raw_drm_vblank_event_queued { - struct trace_entry ent; - struct drm_file *file; - int crtc; - unsigned int seq; - char __data[0]; -}; - -struct trace_event_raw_emulate_vsyscall { - struct trace_entry ent; - int nr; - char __data[0]; -}; - -struct trace_event_raw_error_da_monitor_id { - struct trace_entry ent; - int id; - u32 __data_loc_state; - u32 __data_loc_event; - char __data[0]; -}; - -struct trace_event_raw_error_report_template { - struct trace_entry ent; - enum error_detector error_detector; - long unsigned int id; - char __data[0]; -}; - -struct trace_event_raw_event_da_monitor_id { - struct trace_entry ent; - int id; - u32 __data_loc_state; - u32 __data_loc_event; - u32 __data_loc_next_state; - bool final_state; - char __data[0]; -}; - -struct trace_event_raw_exceptions { - struct trace_entry ent; - long unsigned int address; - long unsigned int ip; - long unsigned int error_code; - char __data[0]; -}; - -struct trace_event_raw_exit_mmap { - struct trace_entry ent; - struct mm_struct *mm; - struct maple_tree *mt; - char __data[0]; -}; - -struct trace_event_raw_ext4__bitmap_load { - struct trace_entry ent; - dev_t dev; - __u32 group; - char __data[0]; -}; - -struct trace_event_raw_ext4__es_extent { - struct trace_entry ent; - dev_t dev; - ino_t ino; - ext4_lblk_t lblk; - ext4_lblk_t len; - ext4_fsblk_t pblk; - char status; - char __data[0]; -}; - -struct trace_event_raw_ext4__es_shrink_enter { - struct trace_entry ent; - dev_t dev; - int nr_to_scan; - int cache_cnt; - char __data[0]; -}; - -struct trace_event_raw_ext4__fallocate_mode { - struct trace_entry ent; - dev_t dev; - ino_t ino; - loff_t offset; - loff_t len; - int mode; - char __data[0]; -}; - -struct trace_event_raw_ext4__folio_op { - struct trace_entry ent; - dev_t dev; - ino_t ino; - long unsigned int index; - char __data[0]; -}; - -struct trace_event_raw_ext4__map_blocks_enter { - struct trace_entry ent; - dev_t dev; - ino_t ino; - ext4_lblk_t lblk; - unsigned int len; - unsigned int flags; - char __data[0]; -}; - -struct trace_event_raw_ext4__map_blocks_exit { - struct trace_entry ent; - dev_t dev; - ino_t ino; - unsigned int flags; - ext4_fsblk_t pblk; - ext4_lblk_t lblk; - unsigned int len; - unsigned int mflags; - int ret; - char __data[0]; -}; - -struct trace_event_raw_ext4__mb_new_pa { - struct trace_entry ent; - dev_t dev; - ino_t ino; - __u64 pa_pstart; - __u64 pa_lstart; - __u32 pa_len; - char __data[0]; -}; - -struct trace_event_raw_ext4__mballoc { - struct trace_entry ent; - dev_t dev; - ino_t ino; - int result_start; - __u32 result_group; - int result_len; - char __data[0]; -}; - -struct trace_event_raw_ext4__trim { - struct trace_entry ent; - int dev_major; - int dev_minor; - __u32 group; - int start; - int len; - char __data[0]; -}; - -struct trace_event_raw_ext4__truncate { - struct trace_entry ent; - dev_t dev; - ino_t ino; - __u64 blocks; - char __data[0]; -}; - -struct trace_event_raw_ext4__write_begin { - struct trace_entry ent; - dev_t dev; - ino_t ino; - loff_t pos; - unsigned int len; - char __data[0]; -}; - -struct trace_event_raw_ext4__write_end { - struct trace_entry ent; - dev_t dev; - ino_t ino; - loff_t pos; - unsigned int len; - unsigned int copied; - char __data[0]; -}; - -struct trace_event_raw_ext4_alloc_da_blocks { - struct trace_entry ent; - dev_t dev; - ino_t ino; - unsigned int data_blocks; - char __data[0]; -}; - -struct trace_event_raw_ext4_allocate_blocks { - struct trace_entry ent; - dev_t dev; - ino_t ino; - __u64 block; - unsigned int len; - __u32 logical; - __u32 lleft; - __u32 lright; - __u64 goal; - __u64 pleft; - __u64 pright; - unsigned int flags; - char __data[0]; -}; - -struct trace_event_raw_ext4_allocate_inode { - struct trace_entry ent; - dev_t dev; - ino_t ino; - ino_t dir; - __u16 mode; - char __data[0]; -}; - -struct trace_event_raw_ext4_begin_ordered_truncate { - struct trace_entry ent; - dev_t dev; - ino_t ino; - loff_t new_size; - char __data[0]; -}; - -struct trace_event_raw_ext4_collapse_range { - struct trace_entry ent; - dev_t dev; - ino_t ino; - loff_t offset; - loff_t len; - char __data[0]; -}; - -struct trace_event_raw_ext4_da_release_space { - struct trace_entry ent; - dev_t dev; - ino_t ino; - __u64 i_blocks; - int freed_blocks; - int reserved_data_blocks; - __u16 mode; - char __data[0]; -}; - -struct trace_event_raw_ext4_da_reserve_space { - struct trace_entry ent; - dev_t dev; - ino_t ino; - __u64 i_blocks; - int reserve_blocks; - int reserved_data_blocks; - __u16 mode; - char __data[0]; -}; - -struct trace_event_raw_ext4_da_update_reserve_space { - struct trace_entry ent; - dev_t dev; - ino_t ino; - __u64 i_blocks; - int used_blocks; - int reserved_data_blocks; - int quota_claim; - __u16 mode; - char __data[0]; -}; - -struct trace_event_raw_ext4_da_write_folios_end { - struct trace_entry ent; - dev_t dev; - ino_t ino; - loff_t start_pos; - loff_t next_pos; - long int nr_to_write; - int ret; - char __data[0]; -}; - -struct trace_event_raw_ext4_da_write_folios_start { - struct trace_entry ent; - dev_t dev; - ino_t ino; - loff_t start_pos; - loff_t next_pos; - long int nr_to_write; - int sync_mode; - char __data[0]; -}; - -struct trace_event_raw_ext4_da_write_pages_extent { - struct trace_entry ent; - dev_t dev; - ino_t ino; - __u64 lblk; - __u32 len; - __u32 flags; - char __data[0]; -}; - -struct trace_event_raw_ext4_discard_blocks { - struct trace_entry ent; - dev_t dev; - __u64 blk; - __u64 count; - char __data[0]; -}; - -struct trace_event_raw_ext4_discard_preallocations { - struct trace_entry ent; - dev_t dev; - ino_t ino; - unsigned int len; - char __data[0]; -}; - -struct trace_event_raw_ext4_drop_inode { - struct trace_entry ent; - dev_t dev; - ino_t ino; - int drop; - char __data[0]; -}; - -struct trace_event_raw_ext4_error { - struct trace_entry ent; - dev_t dev; - const char *function; - unsigned int line; - char __data[0]; -}; - -struct trace_event_raw_ext4_es_find_extent_range_enter { - struct trace_entry ent; - dev_t dev; - ino_t ino; - ext4_lblk_t lblk; - char __data[0]; -}; - -struct trace_event_raw_ext4_es_find_extent_range_exit { - struct trace_entry ent; - dev_t dev; - ino_t ino; - ext4_lblk_t lblk; - ext4_lblk_t len; - ext4_fsblk_t pblk; - char status; - char __data[0]; -}; - -struct trace_event_raw_ext4_es_insert_delayed_extent { - struct trace_entry ent; - dev_t dev; - ino_t ino; - ext4_lblk_t lblk; - ext4_lblk_t len; - ext4_fsblk_t pblk; - char status; - bool lclu_allocated; - bool end_allocated; - char __data[0]; -}; - -struct trace_event_raw_ext4_es_lookup_extent_enter { - struct trace_entry ent; - dev_t dev; - ino_t ino; - ext4_lblk_t lblk; - char __data[0]; -}; - -struct trace_event_raw_ext4_es_lookup_extent_exit { - struct trace_entry ent; - dev_t dev; - ino_t ino; - ext4_lblk_t lblk; - ext4_lblk_t len; - ext4_fsblk_t pblk; - char status; - int found; - char __data[0]; -}; - -struct trace_event_raw_ext4_es_remove_extent { - struct trace_entry ent; - dev_t dev; - ino_t ino; - loff_t lblk; - loff_t len; - char __data[0]; -}; - -struct trace_event_raw_ext4_es_shrink { - struct trace_entry ent; - dev_t dev; - int nr_shrunk; - long long unsigned int scan_time; - int nr_skipped; - int retried; - char __data[0]; -}; - -struct trace_event_raw_ext4_es_shrink_scan_exit { - struct trace_entry ent; - dev_t dev; - int nr_shrunk; - int cache_cnt; - char __data[0]; -}; - -struct trace_event_raw_ext4_evict_inode { - struct trace_entry ent; - dev_t dev; - ino_t ino; - int nlink; - char __data[0]; -}; - -struct trace_event_raw_ext4_ext_convert_to_initialized_enter { - struct trace_entry ent; - dev_t dev; - ino_t ino; - ext4_lblk_t m_lblk; - unsigned int m_len; - ext4_lblk_t u_lblk; - unsigned int u_len; - ext4_fsblk_t u_pblk; - char __data[0]; -}; - -struct trace_event_raw_ext4_ext_convert_to_initialized_fastpath { - struct trace_entry ent; - dev_t dev; - ino_t ino; - ext4_lblk_t m_lblk; - unsigned int m_len; - ext4_lblk_t u_lblk; - unsigned int u_len; - ext4_fsblk_t u_pblk; - ext4_lblk_t i_lblk; - unsigned int i_len; - ext4_fsblk_t i_pblk; - char __data[0]; -}; - -struct trace_event_raw_ext4_ext_handle_unwritten_extents { - struct trace_entry ent; - dev_t dev; - ino_t ino; - int flags; - ext4_lblk_t lblk; - ext4_fsblk_t pblk; - unsigned int len; - unsigned int allocated; - ext4_fsblk_t newblk; - char __data[0]; -}; - -struct trace_event_raw_ext4_ext_load_extent { - struct trace_entry ent; - dev_t dev; - ino_t ino; - ext4_fsblk_t pblk; - ext4_lblk_t lblk; - char __data[0]; -}; - -struct trace_event_raw_ext4_ext_remove_space { - struct trace_entry ent; - dev_t dev; - ino_t ino; - ext4_lblk_t start; - ext4_lblk_t end; - int depth; - char __data[0]; -}; - -struct trace_event_raw_ext4_ext_remove_space_done { - struct trace_entry ent; - dev_t dev; - ino_t ino; - ext4_lblk_t start; - ext4_lblk_t end; - int depth; - ext4_fsblk_t pc_pclu; - ext4_lblk_t pc_lblk; - int pc_state; - short unsigned int eh_entries; - char __data[0]; -}; - -struct trace_event_raw_ext4_ext_rm_idx { - struct trace_entry ent; - dev_t dev; - ino_t ino; - ext4_fsblk_t pblk; - char __data[0]; -}; - -struct trace_event_raw_ext4_ext_rm_leaf { - struct trace_entry ent; - dev_t dev; - ino_t ino; - ext4_lblk_t start; - ext4_lblk_t ee_lblk; - ext4_fsblk_t ee_pblk; - short int ee_len; - ext4_fsblk_t pc_pclu; - ext4_lblk_t pc_lblk; - int pc_state; - char __data[0]; -}; - -struct trace_event_raw_ext4_ext_show_extent { - struct trace_entry ent; - dev_t dev; - ino_t ino; - ext4_fsblk_t pblk; - ext4_lblk_t lblk; - short unsigned int len; - char __data[0]; -}; - -struct trace_event_raw_ext4_fallocate_exit { - struct trace_entry ent; - dev_t dev; - ino_t ino; - loff_t pos; - unsigned int blocks; - int ret; - char __data[0]; -}; - -struct trace_event_raw_ext4_fc_cleanup { - struct trace_entry ent; - dev_t dev; - int j_fc_off; - int full; - tid_t tid; - char __data[0]; -}; - -struct trace_event_raw_ext4_fc_commit_start { - struct trace_entry ent; - dev_t dev; - tid_t tid; - char __data[0]; -}; - -struct trace_event_raw_ext4_fc_commit_stop { - struct trace_entry ent; - dev_t dev; - int nblks; - int reason; - int num_fc; - int num_fc_ineligible; - int nblks_agg; - tid_t tid; - char __data[0]; -}; - -struct trace_event_raw_ext4_fc_replay { - struct trace_entry ent; - dev_t dev; - int tag; - int ino; - int priv1; - int priv2; - char __data[0]; -}; - -struct trace_event_raw_ext4_fc_replay_scan { - struct trace_entry ent; - dev_t dev; - int error; - int off; - char __data[0]; -}; - -struct trace_event_raw_ext4_fc_stats { - struct trace_entry ent; - dev_t dev; - unsigned int fc_ineligible_rc[10]; - long unsigned int fc_commits; - long unsigned int fc_ineligible_commits; - long unsigned int fc_numblks; - char __data[0]; -}; - -struct trace_event_raw_ext4_fc_track_dentry { - struct trace_entry ent; - dev_t dev; - tid_t t_tid; - ino_t i_ino; - tid_t i_sync_tid; - int error; - char __data[0]; -}; - -struct trace_event_raw_ext4_fc_track_inode { - struct trace_entry ent; - dev_t dev; - tid_t t_tid; - ino_t i_ino; - tid_t i_sync_tid; - int error; - char __data[0]; -}; - -struct trace_event_raw_ext4_fc_track_range { - struct trace_entry ent; - dev_t dev; - tid_t t_tid; - ino_t i_ino; - tid_t i_sync_tid; - long int start; - long int end; - int error; - char __data[0]; -}; - -struct trace_event_raw_ext4_forget { - struct trace_entry ent; - dev_t dev; - ino_t ino; - __u64 block; - int is_metadata; - __u16 mode; - char __data[0]; -}; - -struct trace_event_raw_ext4_free_blocks { - struct trace_entry ent; - dev_t dev; - ino_t ino; - __u64 block; - long unsigned int count; - int flags; - __u16 mode; - char __data[0]; -}; - -struct trace_event_raw_ext4_free_inode { - struct trace_entry ent; - dev_t dev; - ino_t ino; - uid_t uid; - gid_t gid; - __u64 blocks; - __u16 mode; - char __data[0]; -}; - -struct trace_event_raw_ext4_fsmap_class { - struct trace_entry ent; - dev_t dev; - dev_t keydev; - u32 agno; - u64 bno; - u64 len; - u64 owner; - char __data[0]; -}; - -struct trace_event_raw_ext4_get_implied_cluster_alloc_exit { - struct trace_entry ent; - dev_t dev; - unsigned int flags; - ext4_lblk_t lblk; - ext4_fsblk_t pblk; - unsigned int len; - int ret; - char __data[0]; -}; - -struct trace_event_raw_ext4_getfsmap_class { - struct trace_entry ent; - dev_t dev; - dev_t keydev; - u64 block; - u64 len; - u64 owner; - u64 flags; - char __data[0]; -}; - -struct trace_event_raw_ext4_insert_range { - struct trace_entry ent; - dev_t dev; - ino_t ino; - loff_t offset; - loff_t len; - char __data[0]; -}; - -struct trace_event_raw_ext4_invalidate_folio_op { - struct trace_entry ent; - dev_t dev; - ino_t ino; - long unsigned int index; - size_t offset; - size_t length; - char __data[0]; -}; - -struct trace_event_raw_ext4_journal_start_inode { - struct trace_entry ent; - long unsigned int ino; - dev_t dev; - long unsigned int ip; - int blocks; - int rsv_blocks; - int revoke_creds; - int type; - char __data[0]; -}; - -struct trace_event_raw_ext4_journal_start_reserved { - struct trace_entry ent; - dev_t dev; - long unsigned int ip; - int blocks; - char __data[0]; -}; - -struct trace_event_raw_ext4_journal_start_sb { - struct trace_entry ent; - dev_t dev; - long unsigned int ip; - int blocks; - int rsv_blocks; - int revoke_creds; - int type; - char __data[0]; -}; - -struct trace_event_raw_ext4_lazy_itable_init { - struct trace_entry ent; - dev_t dev; - __u32 group; - char __data[0]; -}; - -struct trace_event_raw_ext4_load_inode { - struct trace_entry ent; - dev_t dev; - ino_t ino; - char __data[0]; -}; - -struct trace_event_raw_ext4_mark_inode_dirty { - struct trace_entry ent; - dev_t dev; - ino_t ino; - long unsigned int ip; - char __data[0]; -}; - -struct trace_event_raw_ext4_mb_discard_preallocations { - struct trace_entry ent; - dev_t dev; - int needed; - char __data[0]; -}; - -struct trace_event_raw_ext4_mb_release_group_pa { - struct trace_entry ent; - dev_t dev; - __u64 pa_pstart; - __u32 pa_len; - char __data[0]; -}; - -struct trace_event_raw_ext4_mb_release_inode_pa { - struct trace_entry ent; - dev_t dev; - ino_t ino; - __u64 block; - __u32 count; - char __data[0]; -}; - -struct trace_event_raw_ext4_mballoc_alloc { - struct trace_entry ent; - dev_t dev; - ino_t ino; - __u32 orig_logical; - int orig_start; - __u32 orig_group; - int orig_len; - __u32 goal_logical; - int goal_start; - __u32 goal_group; - int goal_len; - __u32 result_logical; - int result_start; - __u32 result_group; - int result_len; - __u16 found; - __u16 groups; - __u16 buddy; - __u16 flags; - __u16 tail; - __u8 cr; - char __data[0]; -}; - -struct trace_event_raw_ext4_mballoc_prealloc { - struct trace_entry ent; - dev_t dev; - ino_t ino; - __u32 orig_logical; - int orig_start; - __u32 orig_group; - int orig_len; - __u32 result_logical; - int result_start; - __u32 result_group; - int result_len; - char __data[0]; -}; - -struct trace_event_raw_ext4_nfs_commit_metadata { - struct trace_entry ent; - dev_t dev; - ino_t ino; - char __data[0]; -}; - -struct trace_event_raw_ext4_other_inode_update_time { - struct trace_entry ent; - dev_t dev; - ino_t ino; - ino_t orig_ino; - uid_t uid; - gid_t gid; - __u16 mode; - char __data[0]; -}; - -struct trace_event_raw_ext4_prefetch_bitmaps { - struct trace_entry ent; - dev_t dev; - __u32 group; - __u32 next; - __u32 ios; - char __data[0]; -}; - -struct trace_event_raw_ext4_read_block_bitmap_load { - struct trace_entry ent; - dev_t dev; - __u32 group; - bool prefetch; - char __data[0]; -}; - -struct trace_event_raw_ext4_remove_blocks { - struct trace_entry ent; - dev_t dev; - ino_t ino; - ext4_lblk_t from; - ext4_lblk_t to; - ext4_fsblk_t ee_pblk; - ext4_lblk_t ee_lblk; - short unsigned int ee_len; - ext4_fsblk_t pc_pclu; - ext4_lblk_t pc_lblk; - int pc_state; - char __data[0]; -}; - -struct trace_event_raw_ext4_request_blocks { - struct trace_entry ent; - dev_t dev; - ino_t ino; - unsigned int len; - __u32 logical; - __u32 lleft; - __u32 lright; - __u64 goal; - __u64 pleft; - __u64 pright; - unsigned int flags; - char __data[0]; -}; - -struct trace_event_raw_ext4_request_inode { - struct trace_entry ent; - dev_t dev; - ino_t dir; - __u16 mode; - char __data[0]; -}; - -struct trace_event_raw_ext4_shutdown { - struct trace_entry ent; - dev_t dev; - unsigned int flags; - char __data[0]; -}; - -struct trace_event_raw_ext4_sync_file_enter { - struct trace_entry ent; - dev_t dev; - ino_t ino; - ino_t parent; - int datasync; - char __data[0]; -}; - -struct trace_event_raw_ext4_sync_file_exit { - struct trace_entry ent; - dev_t dev; - ino_t ino; - int ret; - char __data[0]; -}; - -struct trace_event_raw_ext4_sync_fs { - struct trace_entry ent; - dev_t dev; - int wait; - char __data[0]; -}; - -struct trace_event_raw_ext4_unlink_enter { - struct trace_entry ent; - dev_t dev; - ino_t ino; - ino_t parent; - loff_t size; - char __data[0]; -}; - -struct trace_event_raw_ext4_unlink_exit { - struct trace_entry ent; - dev_t dev; - ino_t ino; - int ret; - char __data[0]; -}; - -struct trace_event_raw_ext4_update_sb { - struct trace_entry ent; - dev_t dev; - ext4_fsblk_t fsblk; - unsigned int flags; - char __data[0]; -}; - -struct trace_event_raw_ext4_writepages { - struct trace_entry ent; - dev_t dev; - ino_t ino; - long int nr_to_write; - long int pages_skipped; - loff_t range_start; - loff_t range_end; - long unsigned int writeback_index; - int sync_mode; - char for_kupdate; - char range_cyclic; - char __data[0]; -}; - -struct trace_event_raw_ext4_writepages_result { - struct trace_entry ent; - dev_t dev; - ino_t ino; - int ret; - int pages_written; - long int pages_skipped; - long unsigned int writeback_index; - int sync_mode; - char __data[0]; -}; - -struct trace_event_raw_extlog_mem_event { - struct trace_entry ent; - u32 err_seq; - u8 etype; - u8 sev; - u64 pa; - u8 pa_mask_lsb; - guid_t fru_id; - u32 __data_loc_fru_text; - struct cper_mem_err_compact data; - char __data[0]; -}; - -struct trace_event_raw_fdb_delete { - struct trace_entry ent; - u32 __data_loc_br_dev; - u32 __data_loc_dev; - unsigned char addr[6]; - u16 vid; - char __data[0]; -}; - -struct trace_event_raw_fib6_table_lookup { - struct trace_entry ent; - u32 tb_id; - int err; - int oif; - int iif; - u32 flowlabel; - __u8 tos; - __u8 scope; - __u8 flags; - __u8 src[16]; - __u8 dst[16]; - u16 sport; - u16 dport; - u8 proto; - u8 rt_type; - char name[16]; - __u8 gw[16]; - char __data[0]; -}; - -struct trace_event_raw_fib_table_lookup { - struct trace_entry ent; - u32 tb_id; - int err; - int oif; - int iif; - u8 proto; - __u8 tos; - __u8 scope; - __u8 flags; - __u8 src[4]; - __u8 dst[4]; - __u8 gw4[4]; - __u8 gw6[16]; - u16 sport; - u16 dport; - char name[16]; - char __data[0]; -}; - -struct trace_event_raw_file_check_and_advance_wb_err { - struct trace_entry ent; - struct file *file; - long unsigned int i_ino; - dev_t s_dev; - errseq_t old; - errseq_t new; - char __data[0]; -}; - -struct trace_event_raw_filelock_lease { - struct trace_entry ent; - struct file_lease *fl; - long unsigned int i_ino; - dev_t s_dev; - struct file_lock_core *blocker; - fl_owner_t owner; - unsigned int flags; - unsigned char type; - long unsigned int break_time; - long unsigned int downgrade_time; - char __data[0]; -}; - -struct trace_event_raw_filelock_lock { - struct trace_entry ent; - struct file_lock *fl; - long unsigned int i_ino; - dev_t s_dev; - struct file_lock_core *blocker; - fl_owner_t owner; - unsigned int pid; - unsigned int flags; - unsigned char type; - loff_t fl_start; - loff_t fl_end; - int ret; - char __data[0]; -}; - -struct trace_event_raw_filemap_set_wb_err { - struct trace_entry ent; - long unsigned int i_ino; - dev_t s_dev; - errseq_t errseq; - char __data[0]; -}; - -struct trace_event_raw_fill_mg_cmtime { - struct trace_entry ent; - dev_t dev; - ino_t ino; - time64_t ctime_s; - time64_t mtime_s; - u32 ctime_ns; - u32 mtime_ns; - u32 gen; - char __data[0]; -}; - -struct trace_event_raw_finish_task_reaping { - struct trace_entry ent; - int pid; - char __data[0]; -}; - -struct trace_event_raw_flush_foreign { - struct trace_entry ent; - char name[32]; - ino_t cgroup_ino; - unsigned int frn_bdi_id; - unsigned int frn_memcg_id; - char __data[0]; -}; - -struct trace_event_raw_free_vmap_area_noflush { - struct trace_entry ent; - long unsigned int va_start; - long unsigned int nr_lazy; - long unsigned int nr_lazy_max; - char __data[0]; -}; - -struct trace_event_raw_fuse_request_end { - struct trace_entry ent; - dev_t connection; - uint64_t unique; - uint32_t len; - int32_t error; - char __data[0]; -}; - -struct trace_event_raw_fuse_request_send { - struct trace_entry ent; - dev_t connection; - uint64_t unique; - enum fuse_opcode opcode; - uint32_t len; - char __data[0]; -}; - -struct trace_event_raw_generic_add_lease { - struct trace_entry ent; - long unsigned int i_ino; - int wcount; - int rcount; - int icount; - dev_t s_dev; - fl_owner_t owner; - unsigned int flags; - unsigned char type; - char __data[0]; -}; - -struct trace_event_raw_global_dirty_state { - struct trace_entry ent; - long unsigned int nr_dirty; - long unsigned int nr_writeback; - long unsigned int background_thresh; - long unsigned int dirty_thresh; - long unsigned int dirty_limit; - long unsigned int nr_dirtied; - long unsigned int nr_written; - char __data[0]; -}; - -struct trace_event_raw_gpio_direction { - struct trace_entry ent; - unsigned int gpio; - int in; - int err; - char __data[0]; -}; - -struct trace_event_raw_gpio_value { - struct trace_entry ent; - unsigned int gpio; - int get; - int value; - char __data[0]; -}; - -struct trace_event_raw_guest_halt_poll_ns { - struct trace_entry ent; - bool grow; - unsigned int new; - unsigned int old; - char __data[0]; -}; - -struct trace_event_raw_handshake_alert_class { - struct trace_entry ent; - __u8 saddr[28]; - __u8 daddr[28]; - unsigned int netns_ino; - long unsigned int level; - long unsigned int description; - char __data[0]; -}; - -struct trace_event_raw_handshake_complete { - struct trace_entry ent; - const void *req; - const void *sk; - int status; - unsigned int netns_ino; - char __data[0]; -}; - -struct trace_event_raw_handshake_error_class { - struct trace_entry ent; - const void *req; - const void *sk; - int err; - unsigned int netns_ino; - char __data[0]; -}; - -struct trace_event_raw_handshake_event_class { - struct trace_entry ent; - const void *req; - const void *sk; - unsigned int netns_ino; - char __data[0]; -}; - -struct trace_event_raw_handshake_fd_class { - struct trace_entry ent; - const void *req; - const void *sk; - int fd; - unsigned int netns_ino; - char __data[0]; -}; - -struct trace_event_raw_hrtimer_class { - struct trace_entry ent; - void *hrtimer; - char __data[0]; -}; - -struct trace_event_raw_hrtimer_expire_entry { - struct trace_entry ent; - void *hrtimer; - s64 now; - void *function; - char __data[0]; -}; - -struct trace_event_raw_hrtimer_setup { - struct trace_entry ent; - void *hrtimer; - clockid_t clockid; - enum hrtimer_mode mode; - char __data[0]; -}; - -struct trace_event_raw_hrtimer_start { - struct trace_entry ent; - void *hrtimer; - void *function; - s64 expires; - s64 softexpires; - enum hrtimer_mode mode; - char __data[0]; -}; - -struct trace_event_raw_hugetlbfs__inode { - struct trace_entry ent; - dev_t dev; - ino_t ino; - __u16 mode; - loff_t size; - unsigned int nlink; - unsigned int seals; - blkcnt_t blocks; - char __data[0]; -}; - -struct trace_event_raw_hugetlbfs_alloc_inode { - struct trace_entry ent; - dev_t dev; - ino_t ino; - ino_t dir; - __u16 mode; - char __data[0]; -}; - -struct trace_event_raw_hugetlbfs_fallocate { - struct trace_entry ent; - dev_t dev; - ino_t ino; - int mode; - loff_t offset; - loff_t len; - loff_t size; - int ret; - char __data[0]; -}; - -struct trace_event_raw_hugetlbfs_setattr { - struct trace_entry ent; - dev_t dev; - ino_t ino; - unsigned int d_len; - u32 __data_loc_d_name; - unsigned int ia_valid; - unsigned int ia_mode; - loff_t old_size; - loff_t ia_size; - char __data[0]; -}; - -struct trace_event_raw_hwmon_attr_class { - struct trace_entry ent; - int index; - u32 __data_loc_attr_name; - long int val; - char __data[0]; -}; - -struct trace_event_raw_hwmon_attr_show_string { - struct trace_entry ent; - int index; - u32 __data_loc_attr_name; - u32 __data_loc_label; - char __data[0]; -}; - -struct trace_event_raw_hyperv_mmu_flush_tlb_multi { - struct trace_entry ent; - unsigned int ncpus; - struct mm_struct *mm; - long unsigned int addr; - long unsigned int end; - char __data[0]; -}; - -struct trace_event_raw_hyperv_nested_flush_guest_mapping { - struct trace_entry ent; - u64 as; - int ret; - char __data[0]; -}; - -struct trace_event_raw_hyperv_nested_flush_guest_mapping_range { - struct trace_entry ent; - u64 as; - int ret; - char __data[0]; -}; - -struct trace_event_raw_hyperv_send_ipi_mask { - struct trace_entry ent; - unsigned int ncpus; - int vector; - char __data[0]; -}; - -struct trace_event_raw_hyperv_send_ipi_one { - struct trace_entry ent; - int cpu; - int vector; - char __data[0]; -}; - -struct trace_event_raw_i2c_read { - struct trace_entry ent; - int adapter_nr; - __u16 msg_nr; - __u16 addr; - __u16 flags; - __u16 len; - char __data[0]; -}; - -struct trace_event_raw_i2c_reply { - struct trace_entry ent; - int adapter_nr; - __u16 msg_nr; - __u16 addr; - __u16 flags; - __u16 len; - u32 __data_loc_buf; - char __data[0]; -}; - -struct trace_event_raw_i2c_result { - struct trace_entry ent; - int adapter_nr; - __u16 nr_msgs; - __s16 ret; - char __data[0]; -}; - -struct trace_event_raw_i2c_slave { - struct trace_entry ent; - int adapter_nr; - int ret; - __u16 addr; - __u16 len; - enum i2c_slave_event event; - __u8 buf[1]; - char __data[0]; -}; - -struct trace_event_raw_i2c_write { - struct trace_entry ent; - int adapter_nr; - __u16 msg_nr; - __u16 addr; - __u16 flags; - __u16 len; - u32 __data_loc_buf; - char __data[0]; -}; - -struct trace_event_raw_icc_set_bw { - struct trace_entry ent; - u32 __data_loc_path_name; - u32 __data_loc_dev; - u32 __data_loc_node_name; - u32 avg_bw; - u32 peak_bw; - u32 node_avg_bw; - u32 node_peak_bw; - char __data[0]; -}; - -struct trace_event_raw_icc_set_bw_end { - struct trace_entry ent; - u32 __data_loc_path_name; - u32 __data_loc_dev; - int ret; - char __data[0]; -}; - -struct trace_event_raw_icmp_send { - struct trace_entry ent; - const void *skbaddr; - int type; - int code; - __u8 saddr[4]; - __u8 daddr[4]; - __u16 sport; - __u16 dport; - short unsigned int ulen; - char __data[0]; -}; - -struct trace_event_raw_inet_sk_error_report { - struct trace_entry ent; - int error; - __u16 sport; - __u16 dport; - __u16 family; - __u16 protocol; - __u8 saddr[4]; - __u8 daddr[4]; - __u8 saddr_v6[16]; - __u8 daddr_v6[16]; - char __data[0]; -}; - -struct trace_event_raw_inet_sock_set_state { - struct trace_entry ent; - const void *skaddr; - int oldstate; - int newstate; - __u16 sport; - __u16 dport; - __u16 family; - __u16 protocol; - __u8 saddr[4]; - __u8 daddr[4]; - __u8 saddr_v6[16]; - __u8 daddr_v6[16]; - char __data[0]; -}; - -typedef int (*initcall_t)(void); - -struct trace_event_raw_initcall_finish { - struct trace_entry ent; - initcall_t func; - int ret; - char __data[0]; -}; - -struct trace_event_raw_initcall_level { - struct trace_entry ent; - u32 __data_loc_level; - char __data[0]; -}; - -struct trace_event_raw_initcall_start { - struct trace_entry ent; - initcall_t func; - char __data[0]; -}; - -struct trace_event_raw_inode_foreign_history { - struct trace_entry ent; - char name[32]; - ino_t ino; - ino_t cgroup_ino; - unsigned int history; - char __data[0]; -}; - -struct trace_event_raw_inode_switch_wbs { - struct trace_entry ent; - char name[32]; - ino_t ino; - ino_t old_cgroup_ino; - ino_t new_cgroup_ino; - char __data[0]; -}; - -struct trace_event_raw_io_uring_complete { - struct trace_entry ent; - void *ctx; - void *req; - u64 user_data; - int res; - unsigned int cflags; - u64 extra1; - u64 extra2; - char __data[0]; -}; - -struct trace_event_raw_io_uring_cqe_overflow { - struct trace_entry ent; - void *ctx; - long long unsigned int user_data; - s32 res; - u32 cflags; - void *ocqe; - char __data[0]; -}; - -struct trace_event_raw_io_uring_cqring_wait { - struct trace_entry ent; - void *ctx; - int min_events; - char __data[0]; -}; - -struct trace_event_raw_io_uring_create { - struct trace_entry ent; - int fd; - void *ctx; - u32 sq_entries; - u32 cq_entries; - u32 flags; - char __data[0]; -}; - -struct trace_event_raw_io_uring_defer { - struct trace_entry ent; - void *ctx; - void *req; - long long unsigned int data; - u8 opcode; - u32 __data_loc_op_str; - char __data[0]; -}; - -struct trace_event_raw_io_uring_fail_link { - struct trace_entry ent; - void *ctx; - void *req; - long long unsigned int user_data; - u8 opcode; - void *link; - u32 __data_loc_op_str; - char __data[0]; -}; - -struct trace_event_raw_io_uring_file_get { - struct trace_entry ent; - void *ctx; - void *req; - u64 user_data; - int fd; - char __data[0]; -}; - -struct trace_event_raw_io_uring_link { - struct trace_entry ent; - void *ctx; - void *req; - void *target_req; - char __data[0]; -}; - -struct trace_event_raw_io_uring_local_work_run { - struct trace_entry ent; - void *ctx; - int count; - unsigned int loops; - char __data[0]; -}; - -struct trace_event_raw_io_uring_poll_arm { - struct trace_entry ent; - void *ctx; - void *req; - long long unsigned int user_data; - u8 opcode; - int mask; - int events; - u32 __data_loc_op_str; - char __data[0]; -}; - -struct trace_event_raw_io_uring_queue_async_work { - struct trace_entry ent; - void *ctx; - void *req; - u64 user_data; - u8 opcode; - long long unsigned int flags; - struct io_wq_work *work; - int rw; - u32 __data_loc_op_str; - char __data[0]; -}; - -struct trace_event_raw_io_uring_register { - struct trace_entry ent; - void *ctx; - unsigned int opcode; - unsigned int nr_files; - unsigned int nr_bufs; - long int ret; - char __data[0]; -}; - -struct trace_event_raw_io_uring_req_failed { - struct trace_entry ent; - void *ctx; - void *req; - long long unsigned int user_data; - u8 opcode; - u8 flags; - u8 ioprio; - u64 off; - u64 addr; - u32 len; - u32 op_flags; - u16 buf_index; - u16 personality; - u32 file_index; - u64 pad1; - u64 addr3; - int error; - u32 __data_loc_op_str; - char __data[0]; -}; - -struct trace_event_raw_io_uring_short_write { - struct trace_entry ent; - void *ctx; - u64 fpos; - u64 wanted; - u64 got; - char __data[0]; -}; - -struct trace_event_raw_io_uring_submit_req { - struct trace_entry ent; - void *ctx; - void *req; - long long unsigned int user_data; - u8 opcode; - long long unsigned int flags; - bool sq_thread; - u32 __data_loc_op_str; - char __data[0]; -}; - -struct trace_event_raw_io_uring_task_add { - struct trace_entry ent; - void *ctx; - void *req; - long long unsigned int user_data; - u8 opcode; - int mask; - u32 __data_loc_op_str; - char __data[0]; -}; - -struct trace_event_raw_io_uring_task_work_run { - struct trace_entry ent; - void *tctx; - unsigned int count; - char __data[0]; -}; - -struct trace_event_raw_iocg_inuse_update { - struct trace_entry ent; - u32 __data_loc_devname; - u32 __data_loc_cgroup; - u64 now; - u32 old_inuse; - u32 new_inuse; - u64 old_hweight_inuse; - u64 new_hweight_inuse; - char __data[0]; -}; - -struct trace_event_raw_iocost_ioc_vrate_adj { - struct trace_entry ent; - u32 __data_loc_devname; - u64 old_vrate; - u64 new_vrate; - int busy_level; - u32 read_missed_ppm; - u32 write_missed_ppm; - u32 rq_wait_pct; - int nr_lagging; - int nr_shortages; - char __data[0]; -}; - -struct trace_event_raw_iocost_iocg_forgive_debt { - struct trace_entry ent; - u32 __data_loc_devname; - u32 __data_loc_cgroup; - u64 now; - u64 vnow; - u32 usage_pct; - u64 old_debt; - u64 new_debt; - u64 old_delay; - u64 new_delay; - char __data[0]; -}; - -struct trace_event_raw_iocost_iocg_state { - struct trace_entry ent; - u32 __data_loc_devname; - u32 __data_loc_cgroup; - u64 now; - u64 vnow; - u64 vrate; - u64 last_period; - u64 cur_period; - u64 vtime; - u32 weight; - u32 inuse; - u64 hweight_active; - u64 hweight_inuse; - char __data[0]; -}; - -struct trace_event_raw_iomap_add_to_ioend { - struct trace_entry ent; - dev_t dev; - u64 ino; - u64 pos; - u64 dirty_len; - u64 addr; - loff_t offset; - u64 length; - u16 type; - u16 flags; - dev_t bdev; - char __data[0]; -}; - -struct trace_event_raw_iomap_class { - struct trace_entry ent; - dev_t dev; - u64 ino; - u64 addr; - loff_t offset; - u64 length; - u16 type; - u16 flags; - dev_t bdev; - char __data[0]; -}; - -struct trace_event_raw_iomap_dio_complete { - struct trace_entry ent; - dev_t dev; - ino_t ino; - loff_t isize; - loff_t pos; - int ki_flags; - bool aio; - int error; - ssize_t ret; - char __data[0]; -}; - -struct trace_event_raw_iomap_dio_rw_begin { - struct trace_entry ent; - dev_t dev; - ino_t ino; - loff_t isize; - loff_t pos; - size_t count; - size_t done_before; - int ki_flags; - unsigned int dio_flags; - bool aio; - char __data[0]; -}; - -struct trace_event_raw_iomap_iter { - struct trace_entry ent; - dev_t dev; - u64 ino; - loff_t pos; - u64 length; - int status; - unsigned int flags; - const void *ops; - long unsigned int caller; - char __data[0]; -}; - -struct trace_event_raw_iomap_range_class { - struct trace_entry ent; - dev_t dev; - u64 ino; - loff_t size; - loff_t offset; - u64 length; - char __data[0]; -}; - -struct trace_event_raw_iomap_readpage_class { - struct trace_entry ent; - dev_t dev; - u64 ino; - int nr_pages; - char __data[0]; -}; - -struct trace_event_raw_iommu_device_event { - struct trace_entry ent; - u32 __data_loc_device; - char __data[0]; -}; - -struct trace_event_raw_iommu_error { - struct trace_entry ent; - u32 __data_loc_device; - u32 __data_loc_driver; - u64 iova; - int flags; - char __data[0]; -}; - -struct trace_event_raw_iommu_group_event { - struct trace_entry ent; - int gid; - u32 __data_loc_device; - char __data[0]; -}; - -struct trace_event_raw_ipi_send_cpu { - struct trace_entry ent; - unsigned int cpu; - void *callsite; - void *callback; - char __data[0]; -}; - -struct trace_event_raw_ipi_send_cpumask { - struct trace_entry ent; - u32 __data_loc_cpumask; - void *callsite; - void *callback; - char __data[0]; -}; - -struct trace_event_raw_irq_handler_entry { - struct trace_entry ent; - int irq; - u32 __data_loc_name; - char __data[0]; -}; - -struct trace_event_raw_irq_handler_exit { - struct trace_entry ent; - int irq; - int ret; - char __data[0]; -}; - -struct trace_event_raw_irq_matrix_cpu { - struct trace_entry ent; - int bit; - unsigned int cpu; - bool online; - unsigned int available; - unsigned int allocated; - unsigned int managed; - unsigned int online_maps; - unsigned int global_available; - unsigned int global_reserved; - unsigned int total_allocated; - char __data[0]; -}; - -struct trace_event_raw_irq_matrix_global { - struct trace_entry ent; - unsigned int online_maps; - unsigned int global_available; - unsigned int global_reserved; - unsigned int total_allocated; - char __data[0]; -}; - -struct trace_event_raw_irq_matrix_global_update { - struct trace_entry ent; - int bit; - unsigned int online_maps; - unsigned int global_available; - unsigned int global_reserved; - unsigned int total_allocated; - char __data[0]; -}; - -struct trace_event_raw_irq_noise { - struct trace_entry ent; - u64 start; - u64 duration; - u32 __data_loc_desc; - int vector; - char __data[0]; -}; - -struct trace_event_raw_itimer_expire { - struct trace_entry ent; - int which; - pid_t pid; - long long unsigned int now; - char __data[0]; -}; - -struct trace_event_raw_itimer_state { - struct trace_entry ent; - int which; - long long unsigned int expires; - long int value_sec; - long int value_nsec; - long int interval_sec; - long int interval_nsec; - char __data[0]; -}; - -struct trace_event_raw_jbd2_checkpoint { - struct trace_entry ent; - dev_t dev; - int result; - char __data[0]; -}; - -struct trace_event_raw_jbd2_checkpoint_stats { - struct trace_entry ent; - dev_t dev; - tid_t tid; - long unsigned int chp_time; - __u32 forced_to_close; - __u32 written; - __u32 dropped; - char __data[0]; -}; - -struct trace_event_raw_jbd2_commit { - struct trace_entry ent; - dev_t dev; - char sync_commit; - tid_t transaction; - char __data[0]; -}; - -struct trace_event_raw_jbd2_end_commit { - struct trace_entry ent; - dev_t dev; - char sync_commit; - tid_t transaction; - tid_t head; - char __data[0]; -}; - -struct trace_event_raw_jbd2_handle_extend { - struct trace_entry ent; - dev_t dev; - tid_t tid; - unsigned int type; - unsigned int line_no; - int buffer_credits; - int requested_blocks; - char __data[0]; -}; - -struct trace_event_raw_jbd2_handle_start_class { - struct trace_entry ent; - dev_t dev; - tid_t tid; - unsigned int type; - unsigned int line_no; - int requested_blocks; - char __data[0]; -}; - -struct trace_event_raw_jbd2_handle_stats { - struct trace_entry ent; - dev_t dev; - tid_t tid; - unsigned int type; - unsigned int line_no; - int interval; - int sync; - int requested_blocks; - int dirtied_blocks; - char __data[0]; -}; - -struct trace_event_raw_jbd2_journal_shrink { - struct trace_entry ent; - dev_t dev; - long unsigned int nr_to_scan; - long unsigned int count; - char __data[0]; -}; - -struct trace_event_raw_jbd2_lock_buffer_stall { - struct trace_entry ent; - dev_t dev; - long unsigned int stall_ms; - char __data[0]; -}; - -struct trace_event_raw_jbd2_run_stats { - struct trace_entry ent; - dev_t dev; - tid_t tid; - long unsigned int wait; - long unsigned int request_delay; - long unsigned int running; - long unsigned int locked; - long unsigned int flushing; - long unsigned int logging; - __u32 handle_count; - __u32 blocks; - __u32 blocks_logged; - char __data[0]; -}; - -struct trace_event_raw_jbd2_shrink_checkpoint_list { - struct trace_entry ent; - dev_t dev; - tid_t first_tid; - tid_t tid; - tid_t last_tid; - long unsigned int nr_freed; - tid_t next_tid; - char __data[0]; -}; - -struct trace_event_raw_jbd2_shrink_scan_exit { - struct trace_entry ent; - dev_t dev; - long unsigned int nr_to_scan; - long unsigned int nr_shrunk; - long unsigned int count; - char __data[0]; -}; - -struct trace_event_raw_jbd2_submit_inode_data { - struct trace_entry ent; - dev_t dev; - ino_t ino; - char __data[0]; -}; - -struct trace_event_raw_jbd2_update_log_tail { - struct trace_entry ent; - dev_t dev; - tid_t tail_sequence; - tid_t first_tid; - long unsigned int block_nr; - long unsigned int freed; - char __data[0]; -}; - -struct trace_event_raw_jbd2_write_superblock { - struct trace_entry ent; - dev_t dev; - blk_opf_t write_flags; - char __data[0]; -}; - -struct trace_event_raw_kcompactd_wake_template { - struct trace_entry ent; - int nid; - int order; - enum zone_type highest_zoneidx; - char __data[0]; -}; - -struct trace_event_raw_kfree { - struct trace_entry ent; - long unsigned int call_site; - const void *ptr; - char __data[0]; -}; - -struct trace_event_raw_kfree_skb { - struct trace_entry ent; - void *skbaddr; - void *location; - void *rx_sk; - short unsigned int protocol; - enum skb_drop_reason reason; - char __data[0]; -}; - -struct trace_event_raw_kmalloc { - struct trace_entry ent; - long unsigned int call_site; - const void *ptr; - size_t bytes_req; - size_t bytes_alloc; - long unsigned int gfp_flags; - int node; - char __data[0]; -}; - -struct trace_event_raw_kmem_cache_alloc { - struct trace_entry ent; - long unsigned int call_site; - const void *ptr; - size_t bytes_req; - size_t bytes_alloc; - long unsigned int gfp_flags; - int node; - bool accounted; - char __data[0]; -}; - -struct trace_event_raw_kmem_cache_free { - struct trace_entry ent; - long unsigned int call_site; - const void *ptr; - u32 __data_loc_name; - char __data[0]; -}; - -struct trace_event_raw_ksm_advisor { - struct trace_entry ent; - s64 scan_time; - long unsigned int pages_to_scan; - unsigned int cpu_percent; - char __data[0]; -}; - -struct trace_event_raw_ksm_enter_exit_template { - struct trace_entry ent; - void *mm; - char __data[0]; -}; - -struct trace_event_raw_ksm_merge_one_page { - struct trace_entry ent; - long unsigned int pfn; - void *rmap_item; - void *mm; - int err; - char __data[0]; -}; - -struct trace_event_raw_ksm_merge_with_ksm_page { - struct trace_entry ent; - void *ksm_page; - long unsigned int pfn; - void *rmap_item; - void *mm; - int err; - char __data[0]; -}; - -struct trace_event_raw_ksm_remove_ksm_page { - struct trace_entry ent; - long unsigned int pfn; - char __data[0]; -}; - -struct trace_event_raw_ksm_remove_rmap_item { - struct trace_entry ent; - long unsigned int pfn; - void *rmap_item; - void *mm; - char __data[0]; -}; - -struct trace_event_raw_ksm_scan_template { - struct trace_entry ent; - int seq; - u32 rmap_entries; - char __data[0]; -}; - -struct trace_event_raw_leases_conflict { - struct trace_entry ent; - void *lease; - void *breaker; - unsigned int l_fl_flags; - unsigned int b_fl_flags; - unsigned char l_fl_type; - unsigned char b_fl_type; - bool conflict; - char __data[0]; -}; - -struct trace_event_raw_locks_get_lock_context { - struct trace_entry ent; - long unsigned int i_ino; - dev_t s_dev; - unsigned char type; - struct file_lock_context *ctx; - char __data[0]; -}; - -struct trace_event_raw_ma_op { - struct trace_entry ent; - const char *fn; - long unsigned int min; - long unsigned int max; - long unsigned int index; - long unsigned int last; - void *node; - char __data[0]; -}; - -struct trace_event_raw_ma_read { - struct trace_entry ent; - const char *fn; - long unsigned int min; - long unsigned int max; - long unsigned int index; - long unsigned int last; - void *node; - char __data[0]; -}; - -struct trace_event_raw_ma_write { - struct trace_entry ent; - const char *fn; - long unsigned int min; - long unsigned int max; - long unsigned int index; - long unsigned int last; - long unsigned int piv; - void *val; - void *node; - char __data[0]; -}; - -struct trace_event_raw_map { - struct trace_entry ent; - u64 iova; - u64 paddr; - size_t size; - char __data[0]; -}; - -struct trace_event_raw_mark_victim { - struct trace_entry ent; - int pid; - u32 __data_loc_comm; - long unsigned int total_vm; - long unsigned int anon_rss; - long unsigned int file_rss; - long unsigned int shmem_rss; - uid_t uid; - long unsigned int pgtables; - short int oom_score_adj; - char __data[0]; -}; - -struct trace_event_raw_mc_event { - struct trace_entry ent; - unsigned int error_type; - u32 __data_loc_msg; - u32 __data_loc_label; - u16 error_count; - u8 mc_index; - s8 top_layer; - s8 middle_layer; - s8 lower_layer; - long int address; - u8 grain_bits; - long int syndrome; - u32 __data_loc_driver_detail; - char __data[0]; -}; - -struct trace_event_raw_mce_record { - struct trace_entry ent; - u64 mcgcap; - u64 mcgstatus; - u64 status; - u64 addr; - u64 misc; - u64 synd; - u64 ipid; - u64 ip; - u64 tsc; - u64 ppin; - u64 walltime; - u32 cpu; - u32 cpuid; - u32 apicid; - u32 socketid; - u8 cs; - u8 bank; - u8 cpuvendor; - u32 microcode; - u32 __data_loc_v_data; - char __data[0]; -}; - -struct trace_event_raw_mctp_key_acquire { - struct trace_entry ent; - __u8 paddr; - __u8 laddr; - __u8 tag; - char __data[0]; -}; - -struct trace_event_raw_mctp_key_release { - struct trace_entry ent; - __u8 paddr; - __u8 laddr; - __u8 tag; - int reason; - char __data[0]; -}; - -struct trace_event_raw_mdio_access { - struct trace_entry ent; - char busid[61]; - char read; - u8 addr; - u16 val; - unsigned int regnum; - char __data[0]; -}; - -struct xdp_mem_allocator; - -struct trace_event_raw_mem_connect { - struct trace_entry ent; - const struct xdp_mem_allocator *xa; - u32 mem_id; - u32 mem_type; - const void *allocator; - const struct xdp_rxq_info *rxq; - int ifindex; - char __data[0]; -}; - -struct trace_event_raw_mem_disconnect { - struct trace_entry ent; - const struct xdp_mem_allocator *xa; - u32 mem_id; - u32 mem_type; - const void *allocator; - char __data[0]; -}; - -struct trace_event_raw_memcg_flush_stats { - struct trace_entry ent; - u64 id; - s64 stats_updates; - bool force; - bool needs_flush; - char __data[0]; -}; - -struct trace_event_raw_memcg_rstat_events { - struct trace_entry ent; - u64 id; - int item; - long unsigned int val; - char __data[0]; -}; - -struct trace_event_raw_memcg_rstat_stats { - struct trace_entry ent; - u64 id; - int item; - int val; - char __data[0]; -}; - -struct trace_event_raw_memory_failure_event { - struct trace_entry ent; - long unsigned int pfn; - int type; - int result; - char __data[0]; -}; - -struct trace_event_raw_migration_pmd { - struct trace_entry ent; - long unsigned int addr; - long unsigned int pmd; - char __data[0]; -}; - -struct trace_event_raw_migration_pte { - struct trace_entry ent; - long unsigned int addr; - long unsigned int pte; - int order; - char __data[0]; -}; - -struct trace_event_raw_mm_calculate_totalreserve_pages { - struct trace_entry ent; - long unsigned int totalreserve_pages; - char __data[0]; -}; - -struct trace_event_raw_mm_collapse_huge_page { - struct trace_entry ent; - struct mm_struct *mm; - int isolated; - int status; - char __data[0]; -}; - -struct trace_event_raw_mm_collapse_huge_page_isolate { - struct trace_entry ent; - long unsigned int pfn; - int none_or_zero; - int referenced; - bool writable; - int status; - char __data[0]; -}; - -struct trace_event_raw_mm_collapse_huge_page_swapin { - struct trace_entry ent; - struct mm_struct *mm; - int swapped_in; - int referenced; - int ret; - char __data[0]; -}; - -struct trace_event_raw_mm_compaction_begin { - struct trace_entry ent; - long unsigned int zone_start; - long unsigned int migrate_pfn; - long unsigned int free_pfn; - long unsigned int zone_end; - bool sync; - char __data[0]; -}; - -struct trace_event_raw_mm_compaction_defer_template { - struct trace_entry ent; - int nid; - enum zone_type idx; - int order; - unsigned int considered; - unsigned int defer_shift; - int order_failed; - char __data[0]; -}; - -struct trace_event_raw_mm_compaction_end { - struct trace_entry ent; - long unsigned int zone_start; - long unsigned int migrate_pfn; - long unsigned int free_pfn; - long unsigned int zone_end; - bool sync; - int status; - char __data[0]; -}; - -struct trace_event_raw_mm_compaction_isolate_template { - struct trace_entry ent; - long unsigned int start_pfn; - long unsigned int end_pfn; - long unsigned int nr_scanned; - long unsigned int nr_taken; - char __data[0]; -}; - -struct trace_event_raw_mm_compaction_kcompactd_sleep { - struct trace_entry ent; - int nid; - char __data[0]; -}; - -struct trace_event_raw_mm_compaction_migratepages { - struct trace_entry ent; - long unsigned int nr_migrated; - long unsigned int nr_failed; - char __data[0]; -}; - -struct trace_event_raw_mm_compaction_suitable_template { - struct trace_entry ent; - int nid; - enum zone_type idx; - int order; - int ret; - char __data[0]; -}; - -struct trace_event_raw_mm_compaction_try_to_compact_pages { - struct trace_entry ent; - int order; - long unsigned int gfp_mask; - int prio; - char __data[0]; -}; - -struct trace_event_raw_mm_filemap_fault { - struct trace_entry ent; - long unsigned int i_ino; - dev_t s_dev; - long unsigned int index; - char __data[0]; -}; - -struct trace_event_raw_mm_filemap_op_page_cache { - struct trace_entry ent; - long unsigned int pfn; - long unsigned int i_ino; - long unsigned int index; - dev_t s_dev; - unsigned char order; - char __data[0]; -}; - -struct trace_event_raw_mm_filemap_op_page_cache_range { - struct trace_entry ent; - long unsigned int i_ino; - dev_t s_dev; - long unsigned int index; - long unsigned int last_index; - char __data[0]; -}; - -struct trace_event_raw_mm_khugepaged_collapse_file { - struct trace_entry ent; - struct mm_struct *mm; - long unsigned int hpfn; - long unsigned int index; - long unsigned int addr; - bool is_shmem; - u32 __data_loc_filename; - int nr; - int result; - char __data[0]; -}; - -struct trace_event_raw_mm_khugepaged_scan_file { - struct trace_entry ent; - struct mm_struct *mm; - long unsigned int pfn; - u32 __data_loc_filename; - int present; - int swap; - int result; - char __data[0]; -}; - -struct trace_event_raw_mm_khugepaged_scan_pmd { - struct trace_entry ent; - struct mm_struct *mm; - long unsigned int pfn; - bool writable; - int referenced; - int none_or_zero; - int status; - int unmapped; - char __data[0]; -}; - -struct trace_event_raw_mm_lru_activate { - struct trace_entry ent; - struct folio *folio; - long unsigned int pfn; - char __data[0]; -}; - -struct trace_event_raw_mm_lru_insertion { - struct trace_entry ent; - struct folio *folio; - long unsigned int pfn; - enum lru_list lru; - long unsigned int flags; - char __data[0]; -}; - -struct trace_event_raw_mm_migrate_pages { - struct trace_entry ent; - long unsigned int succeeded; - long unsigned int failed; - long unsigned int thp_succeeded; - long unsigned int thp_failed; - long unsigned int thp_split; - long unsigned int large_folio_split; - enum migrate_mode mode; - int reason; - char __data[0]; -}; - -struct trace_event_raw_mm_migrate_pages_start { - struct trace_entry ent; - enum migrate_mode mode; - int reason; - char __data[0]; -}; - -struct trace_event_raw_mm_page { - struct trace_entry ent; - long unsigned int pfn; - unsigned int order; - int migratetype; - int percpu_refill; - char __data[0]; -}; - -struct trace_event_raw_mm_page_alloc { - struct trace_entry ent; - long unsigned int pfn; - unsigned int order; - long unsigned int gfp_flags; - int migratetype; - char __data[0]; -}; - -struct trace_event_raw_mm_page_alloc_extfrag { - struct trace_entry ent; - long unsigned int pfn; - int alloc_order; - int fallback_order; - int alloc_migratetype; - int fallback_migratetype; - int change_ownership; - char __data[0]; -}; - -struct trace_event_raw_mm_page_free { - struct trace_entry ent; - long unsigned int pfn; - unsigned int order; - char __data[0]; -}; - -struct trace_event_raw_mm_page_free_batched { - struct trace_entry ent; - long unsigned int pfn; - char __data[0]; -}; - -struct trace_event_raw_mm_page_pcpu_drain { - struct trace_entry ent; - long unsigned int pfn; - unsigned int order; - int migratetype; - char __data[0]; -}; - -struct trace_event_raw_mm_setup_per_zone_lowmem_reserve { - struct trace_entry ent; - int node_id; - u32 __data_loc_name; - u32 __data_loc_upper_name; - long int lowmem_reserve; - char __data[0]; -}; - -struct trace_event_raw_mm_setup_per_zone_wmarks { - struct trace_entry ent; - int node_id; - u32 __data_loc_name; - long unsigned int watermark_min; - long unsigned int watermark_low; - long unsigned int watermark_high; - long unsigned int watermark_promo; - char __data[0]; -}; - -struct trace_event_raw_mm_shrink_slab_end { - struct trace_entry ent; - struct shrinker *shr; - int nid; - void *shrink; - long int unused_scan; - long int new_scan; - int retval; - long int total_scan; - char __data[0]; -}; - -struct trace_event_raw_mm_shrink_slab_start { - struct trace_entry ent; - struct shrinker *shr; - void *shrink; - int nid; - long int nr_objects_to_shrink; - long unsigned int gfp_flags; - long unsigned int cache_items; - long long unsigned int delta; - long unsigned int total_scan; - int priority; - char __data[0]; -}; - -struct trace_event_raw_mm_vmscan_direct_reclaim_begin_template { - struct trace_entry ent; - int order; - long unsigned int gfp_flags; - char __data[0]; -}; - -struct trace_event_raw_mm_vmscan_direct_reclaim_end_template { - struct trace_entry ent; - long unsigned int nr_reclaimed; - char __data[0]; -}; - -struct trace_event_raw_mm_vmscan_kswapd_sleep { - struct trace_entry ent; - int nid; - char __data[0]; -}; - -struct trace_event_raw_mm_vmscan_kswapd_wake { - struct trace_entry ent; - int nid; - int zid; - int order; - char __data[0]; -}; - -struct trace_event_raw_mm_vmscan_lru_isolate { - struct trace_entry ent; - int highest_zoneidx; - int order; - long unsigned int nr_requested; - long unsigned int nr_scanned; - long unsigned int nr_skipped; - long unsigned int nr_taken; - int lru; - char __data[0]; -}; - -struct trace_event_raw_mm_vmscan_lru_shrink_active { - struct trace_entry ent; - int nid; - long unsigned int nr_taken; - long unsigned int nr_active; - long unsigned int nr_deactivated; - long unsigned int nr_referenced; - int priority; - int reclaim_flags; - char __data[0]; -}; - -struct trace_event_raw_mm_vmscan_lru_shrink_inactive { - struct trace_entry ent; - int nid; - long unsigned int nr_scanned; - long unsigned int nr_reclaimed; - long unsigned int nr_dirty; - long unsigned int nr_writeback; - long unsigned int nr_congested; - long unsigned int nr_immediate; - unsigned int nr_activate0; - unsigned int nr_activate1; - long unsigned int nr_ref_keep; - long unsigned int nr_unmap_fail; - int priority; - int reclaim_flags; - char __data[0]; -}; - -struct trace_event_raw_mm_vmscan_node_reclaim_begin { - struct trace_entry ent; - int nid; - int order; - long unsigned int gfp_flags; - char __data[0]; -}; - -struct trace_event_raw_mm_vmscan_reclaim_pages { - struct trace_entry ent; - int nid; - long unsigned int nr_scanned; - long unsigned int nr_reclaimed; - long unsigned int nr_dirty; - long unsigned int nr_writeback; - long unsigned int nr_congested; - long unsigned int nr_immediate; - unsigned int nr_activate0; - unsigned int nr_activate1; - long unsigned int nr_ref_keep; - long unsigned int nr_unmap_fail; - char __data[0]; -}; - -struct trace_event_raw_mm_vmscan_throttled { - struct trace_entry ent; - int nid; - int usec_timeout; - int usec_delayed; - int reason; - char __data[0]; -}; - -struct trace_event_raw_mm_vmscan_wakeup_kswapd { - struct trace_entry ent; - int nid; - int zid; - int order; - long unsigned int gfp_flags; - char __data[0]; -}; - -struct trace_event_raw_mm_vmscan_write_folio { - struct trace_entry ent; - long unsigned int pfn; - int reclaim_flags; - char __data[0]; -}; - -struct trace_event_raw_mmap_lock { - struct trace_entry ent; - struct mm_struct *mm; - u64 memcg_id; - bool write; - char __data[0]; -}; - -struct trace_event_raw_mmap_lock_acquire_returned { - struct trace_entry ent; - struct mm_struct *mm; - u64 memcg_id; - bool write; - bool success; - char __data[0]; -}; - -struct trace_event_raw_mmc_request_done { - struct trace_entry ent; - u32 cmd_opcode; - int cmd_err; - u32 cmd_resp[4]; - unsigned int cmd_retries; - u32 stop_opcode; - int stop_err; - u32 stop_resp[4]; - unsigned int stop_retries; - u32 sbc_opcode; - int sbc_err; - u32 sbc_resp[4]; - unsigned int sbc_retries; - unsigned int bytes_xfered; - int data_err; - int tag; - unsigned int can_retune; - unsigned int doing_retune; - unsigned int retune_now; - int need_retune; - int hold_retune; - unsigned int retune_period; - struct mmc_request *mrq; - u32 __data_loc_name; - char __data[0]; -}; - -struct trace_event_raw_mmc_request_start { - struct trace_entry ent; - u32 cmd_opcode; - u32 cmd_arg; - unsigned int cmd_flags; - unsigned int cmd_retries; - u32 stop_opcode; - u32 stop_arg; - unsigned int stop_flags; - unsigned int stop_retries; - u32 sbc_opcode; - u32 sbc_arg; - unsigned int sbc_flags; - unsigned int sbc_retries; - unsigned int blocks; - unsigned int blk_addr; - unsigned int blksz; - unsigned int data_flags; - int tag; - unsigned int can_retune; - unsigned int doing_retune; - unsigned int retune_now; - int need_retune; - int hold_retune; - unsigned int retune_period; - struct mmc_request *mrq; - u32 __data_loc_name; - char __data[0]; -}; - -struct trace_event_raw_module_free { - struct trace_entry ent; - u32 __data_loc_name; - char __data[0]; -}; - -struct trace_event_raw_module_load { - struct trace_entry ent; - unsigned int taints; - u32 __data_loc_name; - char __data[0]; -}; - -struct trace_event_raw_module_refcnt { - struct trace_entry ent; - long unsigned int ip; - int refcnt; - u32 __data_loc_name; - char __data[0]; -}; - -struct trace_event_raw_module_request { - struct trace_entry ent; - long unsigned int ip; - bool wait; - u32 __data_loc_name; - char __data[0]; -}; - -struct trace_event_raw_mon_llc_occupancy_limbo { - struct trace_entry ent; - u32 ctrl_hw_id; - u32 mon_hw_id; - int domain_id; - u64 llc_occupancy_bytes; - char __data[0]; -}; - -struct trace_event_raw_mptcp_dump_mpext { - struct trace_entry ent; - u64 data_ack; - u64 data_seq; - u32 subflow_seq; - u16 data_len; - u16 csum; - u8 use_map; - u8 dsn64; - u8 data_fin; - u8 use_ack; - u8 ack64; - u8 mpc_map; - u8 frozen; - u8 reset_transient; - u8 reset_reason; - u8 csum_reqd; - u8 infinite_map; - char __data[0]; -}; - -struct trace_event_raw_mptcp_subflow_get_send { - struct trace_entry ent; - bool active; - bool free; - u32 snd_wnd; - u32 pace; - u8 backup; - u64 ratio; - char __data[0]; -}; - -struct trace_event_raw_msr_trace_class { - struct trace_entry ent; - unsigned int msr; - u64 val; - int failed; - char __data[0]; -}; - -struct trace_event_raw_napi_poll { - struct trace_entry ent; - struct napi_struct *napi; - u32 __data_loc_dev_name; - int work; - int budget; - char __data[0]; -}; - -struct trace_event_raw_neigh__update { - struct trace_entry ent; - u32 family; - u32 __data_loc_dev; - u8 lladdr[32]; - u8 lladdr_len; - u8 flags; - u8 nud_state; - u8 type; - u8 dead; - int refcnt; - __u8 primary_key4[4]; - __u8 primary_key6[16]; - long unsigned int confirmed; - long unsigned int updated; - long unsigned int used; - u32 err; - char __data[0]; -}; - -struct trace_event_raw_neigh_create { - struct trace_entry ent; - u32 family; - u32 __data_loc_dev; - int entries; - u8 created; - u8 gc_exempt; - u8 primary_key4[4]; - u8 primary_key6[16]; - char __data[0]; -}; - -struct trace_event_raw_neigh_update { - struct trace_entry ent; - u32 family; - u32 __data_loc_dev; - u8 lladdr[32]; - u8 lladdr_len; - u8 flags; - u8 nud_state; - u8 type; - u8 dead; - int refcnt; - __u8 primary_key4[4]; - __u8 primary_key6[16]; - long unsigned int confirmed; - long unsigned int updated; - long unsigned int used; - u8 new_lladdr[32]; - u8 new_state; - u32 update_flags; - u32 pid; - char __data[0]; -}; - -struct trace_event_raw_net_dev_rx_exit_template { - struct trace_entry ent; - int ret; - char __data[0]; -}; - -struct trace_event_raw_net_dev_rx_verbose_template { - struct trace_entry ent; - u32 __data_loc_name; - unsigned int napi_id; - u16 queue_mapping; - const void *skbaddr; - bool vlan_tagged; - u16 vlan_proto; - u16 vlan_tci; - u16 protocol; - u8 ip_summed; - u32 hash; - bool l4_hash; - unsigned int len; - unsigned int data_len; - unsigned int truesize; - bool mac_header_valid; - int mac_header; - unsigned char nr_frags; - u16 gso_size; - u16 gso_type; - char __data[0]; -}; - -struct trace_event_raw_net_dev_start_xmit { - struct trace_entry ent; - u32 __data_loc_name; - u16 queue_mapping; - const void *skbaddr; - bool vlan_tagged; - u16 vlan_proto; - u16 vlan_tci; - u16 protocol; - u8 ip_summed; - unsigned int len; - unsigned int data_len; - int network_offset; - bool transport_offset_valid; - int transport_offset; - u8 tx_flags; - u16 gso_size; - u16 gso_segs; - u16 gso_type; - char __data[0]; -}; - -struct trace_event_raw_net_dev_template { - struct trace_entry ent; - void *skbaddr; - unsigned int len; - u32 __data_loc_name; - char __data[0]; -}; - -struct trace_event_raw_net_dev_xmit { - struct trace_entry ent; - void *skbaddr; - unsigned int len; - int rc; - u32 __data_loc_name; - char __data[0]; -}; - -struct trace_event_raw_net_dev_xmit_timeout { - struct trace_entry ent; - u32 __data_loc_name; - u32 __data_loc_driver; - int queue_index; - char __data[0]; -}; - -struct trace_event_raw_netlink_extack { - struct trace_entry ent; - u32 __data_loc_msg; - char __data[0]; -}; - -struct trace_event_raw_nmi_handler { - struct trace_entry ent; - void *handler; - s64 delta_ns; - int handled; - char __data[0]; -}; - -struct trace_event_raw_nmi_noise { - struct trace_entry ent; - u64 start; - u64 duration; - char __data[0]; -}; - -struct trace_event_raw_non_standard_event { - struct trace_entry ent; - char sec_type[16]; - char fru_id[16]; - u32 __data_loc_fru_text; - u8 sev; - u32 len; - u32 __data_loc_buf; - char __data[0]; -}; - -struct trace_event_raw_notifier_info { - struct trace_entry ent; - void *cb; - char __data[0]; -}; - -struct trace_event_raw_oom_score_adj_update { - struct trace_entry ent; - pid_t pid; - char comm[16]; - short int oom_score_adj; - char __data[0]; -}; - -struct trace_event_raw_osnoise_sample { - struct trace_entry ent; - u64 runtime; - u64 noise; - u64 max_sample; - int hw_count; - int irq_count; - int nmi_count; - int softirq_count; - int thread_count; - char __data[0]; -}; - -struct trace_event_raw_page_pool_release { - struct trace_entry ent; - const struct page_pool *pool; - s32 inflight; - u32 hold; - u32 release; - u64 cnt; - char __data[0]; -}; - -struct trace_event_raw_page_pool_state_hold { - struct trace_entry ent; - const struct page_pool *pool; - long unsigned int netmem; - u32 hold; - long unsigned int pfn; - char __data[0]; -}; - -struct trace_event_raw_page_pool_state_release { - struct trace_entry ent; - const struct page_pool *pool; - long unsigned int netmem; - u32 release; - long unsigned int pfn; - char __data[0]; -}; - -struct trace_event_raw_page_pool_update_nid { - struct trace_entry ent; - const struct page_pool *pool; - int pool_nid; - int new_nid; - char __data[0]; -}; - -struct trace_event_raw_percpu_alloc_percpu { - struct trace_entry ent; - long unsigned int call_site; - bool reserved; - bool is_atomic; - size_t size; - size_t align; - void *base_addr; - int off; - void *ptr; - size_t bytes_alloc; - long unsigned int gfp_flags; - char __data[0]; -}; - -struct trace_event_raw_percpu_alloc_percpu_fail { - struct trace_entry ent; - bool reserved; - bool is_atomic; - size_t size; - size_t align; - char __data[0]; -}; - -struct trace_event_raw_percpu_create_chunk { - struct trace_entry ent; - void *base_addr; - char __data[0]; -}; - -struct trace_event_raw_percpu_destroy_chunk { - struct trace_entry ent; - void *base_addr; - char __data[0]; -}; - -struct trace_event_raw_percpu_free_percpu { - struct trace_entry ent; - void *base_addr; - int off; - void *ptr; - char __data[0]; -}; - -struct trace_event_raw_pm_qos_update { - struct trace_entry ent; - enum pm_qos_req_action action; - int prev_value; - int curr_value; - char __data[0]; -}; - -struct trace_event_raw_prq_report { - struct trace_entry ent; - u64 dw0; - u64 dw1; - u64 dw2; - u64 dw3; - long unsigned int seq; - u32 __data_loc_iommu; - u32 __data_loc_dev; - u32 __data_loc_buff; - char __data[0]; -}; - -struct trace_event_raw_pseudo_lock_l2 { - struct trace_entry ent; - u64 l2_hits; - u64 l2_miss; - char __data[0]; -}; - -struct trace_event_raw_pseudo_lock_l3 { - struct trace_entry ent; - u64 l3_hits; - u64 l3_miss; - char __data[0]; -}; - -struct trace_event_raw_pseudo_lock_mem_latency { - struct trace_entry ent; - u32 latency; - char __data[0]; -}; - -struct trace_event_raw_pstate_sample { - struct trace_entry ent; - u32 core_busy; - u32 scaled_busy; - u32 from; - u32 to; - u64 mperf; - u64 aperf; - u64 tsc; - u32 freq; - u32 io_boost; - char __data[0]; -}; - -struct trace_event_raw_purge_vmap_area_lazy { - struct trace_entry ent; - long unsigned int start; - long unsigned int end; - unsigned int npurged; - char __data[0]; -}; - -struct trace_event_raw_pwm { - struct trace_entry ent; - unsigned int chipid; - unsigned int hwpwm; - u64 period; - u64 duty_cycle; - enum pwm_polarity polarity; - bool enabled; - int err; - char __data[0]; -}; - -struct trace_event_raw_pwm_read_waveform { - struct trace_entry ent; - unsigned int chipid; - unsigned int hwpwm; - void *wfhw; - int err; - char __data[0]; -}; - -struct trace_event_raw_pwm_round_waveform_fromhw { - struct trace_entry ent; - unsigned int chipid; - unsigned int hwpwm; - const void *wfhw; - u64 wf_period_length_ns; - u64 wf_duty_length_ns; - u64 wf_duty_offset_ns; - int err; - char __data[0]; -}; - -struct trace_event_raw_pwm_round_waveform_tohw { - struct trace_entry ent; - unsigned int chipid; - unsigned int hwpwm; - u64 wf_period_length_ns; - u64 wf_duty_length_ns; - u64 wf_duty_offset_ns; - void *wfhw; - int err; - char __data[0]; -}; - -struct trace_event_raw_pwm_write_waveform { - struct trace_entry ent; - unsigned int chipid; - unsigned int hwpwm; - const void *wfhw; - int err; - char __data[0]; -}; - -struct trace_event_raw_qdisc_create { - struct trace_entry ent; - u32 __data_loc_dev; - u32 __data_loc_kind; - u32 parent; - char __data[0]; -}; - -struct trace_event_raw_qdisc_dequeue { - struct trace_entry ent; - struct Qdisc *qdisc; - const struct netdev_queue *txq; - int packets; - void *skbaddr; - int ifindex; - u32 handle; - u32 parent; - long unsigned int txq_state; - char __data[0]; -}; - -struct trace_event_raw_qdisc_destroy { - struct trace_entry ent; - u32 __data_loc_dev; - u32 __data_loc_kind; - u32 parent; - u32 handle; - char __data[0]; -}; - -struct trace_event_raw_qdisc_enqueue { - struct trace_entry ent; - struct Qdisc *qdisc; - const struct netdev_queue *txq; - void *skbaddr; - int ifindex; - u32 handle; - u32 parent; - char __data[0]; -}; - -struct trace_event_raw_qdisc_reset { - struct trace_entry ent; - u32 __data_loc_dev; - u32 __data_loc_kind; - u32 parent; - u32 handle; - char __data[0]; -}; - -struct trace_event_raw_qi_submit { - struct trace_entry ent; - u64 qw0; - u64 qw1; - u64 qw2; - u64 qw3; - u32 __data_loc_iommu; - char __data[0]; -}; - -struct trace_event_raw_rcu_stall_warning { - struct trace_entry ent; - const char *rcuname; - const char *msg; - char __data[0]; -}; - -struct trace_event_raw_rcu_utilization { - struct trace_entry ent; - const char *s; - char __data[0]; -}; - -struct trace_event_raw_reclaim_retry_zone { - struct trace_entry ent; - int node; - int zone_idx; - int order; - long unsigned int reclaimable; - long unsigned int available; - long unsigned int min_wmark; - int no_progress_loops; - bool wmark_check; - char __data[0]; -}; - -struct trace_event_raw_regcache_drop_region { - struct trace_entry ent; - u32 __data_loc_name; - unsigned int from; - unsigned int to; - char __data[0]; -}; - -struct trace_event_raw_regcache_sync { - struct trace_entry ent; - u32 __data_loc_name; - u32 __data_loc_status; - u32 __data_loc_type; - char __data[0]; -}; - -struct trace_event_raw_regmap_async { - struct trace_entry ent; - u32 __data_loc_name; - char __data[0]; -}; - -struct trace_event_raw_regmap_block { - struct trace_entry ent; - u32 __data_loc_name; - unsigned int reg; - int count; - char __data[0]; -}; - -struct trace_event_raw_regmap_bool { - struct trace_entry ent; - u32 __data_loc_name; - int flag; - char __data[0]; -}; - -struct trace_event_raw_regmap_bulk { - struct trace_entry ent; - u32 __data_loc_name; - unsigned int reg; - u32 __data_loc_buf; - int val_len; - char __data[0]; -}; - -struct trace_event_raw_regmap_reg { - struct trace_entry ent; - u32 __data_loc_name; - unsigned int reg; - unsigned int val; - char __data[0]; -}; - -struct trace_event_raw_regulator_basic { - struct trace_entry ent; - u32 __data_loc_name; - char __data[0]; -}; - -struct trace_event_raw_regulator_range { - struct trace_entry ent; - u32 __data_loc_name; - int min; - int max; - char __data[0]; -}; - -struct trace_event_raw_regulator_value { - struct trace_entry ent; - u32 __data_loc_name; - unsigned int val; - char __data[0]; -}; - -struct trace_event_raw_rpm_internal { - struct trace_entry ent; - u32 __data_loc_name; - int flags; - int usage_count; - int disable_depth; - int runtime_auto; - int request_pending; - int irq_safe; - int child_count; - char __data[0]; -}; - -struct trace_event_raw_rpm_return_int { - struct trace_entry ent; - u32 __data_loc_name; - long unsigned int ip; - int ret; - char __data[0]; -}; - -struct trace_event_raw_rpm_status { - struct trace_entry ent; - u32 __data_loc_name; - int status; - char __data[0]; -}; - -struct trace_event_raw_rseq_ip_fixup { - struct trace_entry ent; - long unsigned int regs_ip; - long unsigned int start_ip; - long unsigned int post_commit_offset; - long unsigned int abort_ip; - char __data[0]; -}; - -struct trace_event_raw_rseq_update { - struct trace_entry ent; - s32 cpu_id; - s32 node_id; - s32 mm_cid; - char __data[0]; -}; - -struct trace_event_raw_rss_stat { - struct trace_entry ent; - unsigned int mm_id; - unsigned int curr; - int member; - long int size; - char __data[0]; -}; - -struct trace_event_raw_rtc_alarm_irq_enable { - struct trace_entry ent; - unsigned int enabled; - int err; - char __data[0]; -}; - -struct trace_event_raw_rtc_irq_set_freq { - struct trace_entry ent; - int freq; - int err; - char __data[0]; -}; - -struct trace_event_raw_rtc_irq_set_state { - struct trace_entry ent; - int enabled; - int err; - char __data[0]; -}; - -struct trace_event_raw_rtc_offset_class { - struct trace_entry ent; - long int offset; - int err; - char __data[0]; -}; - -struct trace_event_raw_rtc_time_alarm_class { - struct trace_entry ent; - time64_t secs; - int err; - char __data[0]; -}; - -struct trace_event_raw_rtc_timer_class { - struct trace_entry ent; - struct rtc_timer *timer; - ktime_t expires; - ktime_t period; - char __data[0]; -}; - -struct trace_event_raw_rv_retries_error { - struct trace_entry ent; - u32 __data_loc_name; - u32 __data_loc_event; - char __data[0]; -}; - -struct trace_event_raw_sample_threshold { - struct trace_entry ent; - u64 start; - u64 duration; - u64 interference; - char __data[0]; -}; - -struct trace_event_raw_sched_ext_dump { - struct trace_entry ent; - u32 __data_loc_line; - char __data[0]; -}; - -struct trace_event_raw_sched_ext_event { - struct trace_entry ent; - u32 __data_loc_name; - __s64 delta; - char __data[0]; -}; - -struct trace_event_raw_sched_kthread_stop { - struct trace_entry ent; - u32 __data_loc_comm; - pid_t pid; - char __data[0]; -}; - -struct trace_event_raw_sched_kthread_stop_ret { - struct trace_entry ent; - int ret; - char __data[0]; -}; - -struct trace_event_raw_sched_kthread_work_execute_end { - struct trace_entry ent; - void *work; - void *function; - char __data[0]; -}; - -struct trace_event_raw_sched_kthread_work_execute_start { - struct trace_entry ent; - void *work; - void *function; - char __data[0]; -}; - -struct trace_event_raw_sched_kthread_work_queue_work { - struct trace_entry ent; - void *work; - void *function; - void *worker; - char __data[0]; -}; - -struct trace_event_raw_sched_migrate_task { - struct trace_entry ent; - u32 __data_loc_comm; - pid_t pid; - int prio; - int orig_cpu; - int dest_cpu; - char __data[0]; -}; - -struct trace_event_raw_sched_move_numa { - struct trace_entry ent; - pid_t pid; - pid_t tgid; - pid_t ngid; - int src_cpu; - int src_nid; - int dst_cpu; - int dst_nid; - char __data[0]; -}; - -struct trace_event_raw_sched_numa_pair_template { - struct trace_entry ent; - pid_t src_pid; - pid_t src_tgid; - pid_t src_ngid; - int src_cpu; - int src_nid; - pid_t dst_pid; - pid_t dst_tgid; - pid_t dst_ngid; - int dst_cpu; - int dst_nid; - char __data[0]; -}; - -struct trace_event_raw_sched_pi_setprio { - struct trace_entry ent; - u32 __data_loc_comm; - pid_t pid; - int oldprio; - int newprio; - char __data[0]; -}; - -struct trace_event_raw_sched_prepare_exec { - struct trace_entry ent; - u32 __data_loc_interp; - u32 __data_loc_filename; - pid_t pid; - u32 __data_loc_comm; - char __data[0]; -}; - -struct trace_event_raw_sched_process_exec { - struct trace_entry ent; - u32 __data_loc_filename; - pid_t pid; - pid_t old_pid; - char __data[0]; -}; - -struct trace_event_raw_sched_process_exit { - struct trace_entry ent; - char comm[16]; - pid_t pid; - int prio; - bool group_dead; - char __data[0]; -}; - -struct trace_event_raw_sched_process_fork { - struct trace_entry ent; - u32 __data_loc_parent_comm; - pid_t parent_pid; - u32 __data_loc_child_comm; - pid_t child_pid; - char __data[0]; -}; - -struct trace_event_raw_sched_process_hang { - struct trace_entry ent; - u32 __data_loc_comm; - pid_t pid; - char __data[0]; -}; - -struct trace_event_raw_sched_process_template { - struct trace_entry ent; - u32 __data_loc_comm; - pid_t pid; - int prio; - char __data[0]; -}; - -struct trace_event_raw_sched_process_wait { - struct trace_entry ent; - u32 __data_loc_comm; - pid_t pid; - int prio; - char __data[0]; -}; - -struct trace_event_raw_sched_skip_cpuset_numa { - struct trace_entry ent; - char comm[16]; - pid_t pid; - pid_t tgid; - pid_t ngid; - long unsigned int mem_allowed[16]; - char __data[0]; -}; - -struct trace_event_raw_sched_skip_vma_numa { - struct trace_entry ent; - long unsigned int numa_scan_offset; - long unsigned int vm_start; - long unsigned int vm_end; - enum numa_vmaskip_reason reason; - char __data[0]; -}; - -struct trace_event_raw_sched_stat_runtime { - struct trace_entry ent; - u32 __data_loc_comm; - pid_t pid; - u64 runtime; - char __data[0]; -}; - -struct trace_event_raw_sched_stat_template { - struct trace_entry ent; - u32 __data_loc_comm; - pid_t pid; - u64 delay; - char __data[0]; -}; - -struct trace_event_raw_sched_switch { - struct trace_entry ent; - char prev_comm[16]; - pid_t prev_pid; - int prev_prio; - long int prev_state; - char next_comm[16]; - pid_t next_pid; - int next_prio; - char __data[0]; -}; - -struct trace_event_raw_sched_wake_idle_without_ipi { - struct trace_entry ent; - int cpu; - char __data[0]; -}; - -struct trace_event_raw_sched_wakeup_template { - struct trace_entry ent; - char comm[16]; - pid_t pid; - int prio; - int target_cpu; - char __data[0]; -}; - -struct trace_event_raw_scsi_cmd_done_timeout_template { - struct trace_entry ent; - unsigned int host_no; - unsigned int channel; - unsigned int id; - unsigned int lun; - int result; - unsigned int opcode; - unsigned int cmd_len; - int driver_tag; - int scheduler_tag; - unsigned int data_sglen; - unsigned int prot_sglen; - unsigned char prot_op; - u32 __data_loc_cmnd; - u8 sense_key; - u8 asc; - u8 ascq; - char __data[0]; -}; - -struct trace_event_raw_scsi_dispatch_cmd_error { - struct trace_entry ent; - unsigned int host_no; - unsigned int channel; - unsigned int id; - unsigned int lun; - int rtn; - unsigned int opcode; - unsigned int cmd_len; - int driver_tag; - int scheduler_tag; - unsigned int data_sglen; - unsigned int prot_sglen; - unsigned char prot_op; - u32 __data_loc_cmnd; - char __data[0]; -}; - -struct trace_event_raw_scsi_dispatch_cmd_start { - struct trace_entry ent; - unsigned int host_no; - unsigned int channel; - unsigned int id; - unsigned int lun; - unsigned int opcode; - unsigned int cmd_len; - int driver_tag; - int scheduler_tag; - unsigned int data_sglen; - unsigned int prot_sglen; - unsigned char prot_op; - u32 __data_loc_cmnd; - char __data[0]; -}; - -struct trace_event_raw_scsi_eh_wakeup { - struct trace_entry ent; - unsigned int host_no; - char __data[0]; -}; - -struct trace_event_raw_scsi_prepare_zone_append { - struct trace_entry ent; - unsigned int host_no; - unsigned int channel; - unsigned int id; - unsigned int lun; - sector_t lba; - unsigned int wp_offset; - char __data[0]; -}; - -struct trace_event_raw_scsi_zone_wp_update { - struct trace_entry ent; - unsigned int host_no; - unsigned int channel; - unsigned int id; - unsigned int lun; - sector_t rq_sector; - unsigned int wp_offset; - unsigned int good_bytes; - char __data[0]; -}; - -struct trace_event_raw_selinux_audited { - struct trace_entry ent; - u32 requested; - u32 denied; - u32 audited; - int result; - u32 __data_loc_scontext; - u32 __data_loc_tcontext; - u32 __data_loc_tclass; - char __data[0]; -}; - -struct trace_event_raw_signal_deliver { - struct trace_entry ent; - int sig; - int errno; - int code; - long unsigned int sa_handler; - long unsigned int sa_flags; - char __data[0]; -}; - -struct trace_event_raw_signal_generate { - struct trace_entry ent; - int sig; - int errno; - int code; - char comm[16]; - pid_t pid; - int group; - int result; - char __data[0]; -}; - -struct trace_event_raw_sk_data_ready { - struct trace_entry ent; - const void *skaddr; - __u16 family; - __u16 protocol; - long unsigned int ip; - char __data[0]; -}; - -struct trace_event_raw_skb_copy_datagram_iovec { - struct trace_entry ent; - const void *skbaddr; - int len; - char __data[0]; -}; - -struct trace_event_raw_skip_task_reaping { - struct trace_entry ent; - int pid; - char __data[0]; -}; - -struct trace_event_raw_smbus_read { - struct trace_entry ent; - int adapter_nr; - __u16 flags; - __u16 addr; - __u8 command; - __u32 protocol; - __u8 buf[34]; - char __data[0]; -}; - -struct trace_event_raw_smbus_reply { - struct trace_entry ent; - int adapter_nr; - __u16 addr; - __u16 flags; - __u8 command; - __u8 len; - __u32 protocol; - __u8 buf[34]; - char __data[0]; -}; - -struct trace_event_raw_smbus_result { - struct trace_entry ent; - int adapter_nr; - __u16 addr; - __u16 flags; - __u8 read_write; - __u8 command; - __s16 res; - __u32 protocol; - char __data[0]; -}; - -struct trace_event_raw_smbus_write { - struct trace_entry ent; - int adapter_nr; - __u16 addr; - __u16 flags; - __u8 command; - __u8 len; - __u32 protocol; - __u8 buf[34]; - char __data[0]; -}; - -struct trace_event_raw_sock_exceed_buf_limit { - struct trace_entry ent; - char name[32]; - long int sysctl_mem[3]; - long int allocated; - int sysctl_rmem; - int rmem_alloc; - int sysctl_wmem; - int wmem_alloc; - int wmem_queued; - int kind; - char __data[0]; -}; - -struct trace_event_raw_sock_msg_length { - struct trace_entry ent; - void *sk; - __u16 family; - __u16 protocol; - int ret; - int flags; - char __data[0]; -}; - -struct trace_event_raw_sock_rcvqueue_full { - struct trace_entry ent; - int rmem_alloc; - unsigned int truesize; - int sk_rcvbuf; - char __data[0]; -}; - -struct trace_event_raw_softirq { - struct trace_entry ent; - unsigned int vec; - char __data[0]; -}; - -struct trace_event_raw_softirq_noise { - struct trace_entry ent; - u64 start; - u64 duration; - int vector; - char __data[0]; -}; - -struct trace_event_raw_spi_controller { - struct trace_entry ent; - int bus_num; - char __data[0]; -}; - -struct trace_event_raw_spi_message { - struct trace_entry ent; - int bus_num; - int chip_select; - struct spi_message *msg; - char __data[0]; -}; - -struct trace_event_raw_spi_message_done { - struct trace_entry ent; - int bus_num; - int chip_select; - struct spi_message *msg; - unsigned int frame; - unsigned int actual; - char __data[0]; -}; - -struct trace_event_raw_spi_set_cs { - struct trace_entry ent; - int bus_num; - int chip_select; - long unsigned int mode; - bool enable; - char __data[0]; -}; - -struct trace_event_raw_spi_setup { - struct trace_entry ent; - int bus_num; - int chip_select; - long unsigned int mode; - unsigned int bits_per_word; - unsigned int max_speed_hz; - int status; - char __data[0]; -}; - -struct trace_event_raw_spi_transfer { - struct trace_entry ent; - int bus_num; - int chip_select; - struct spi_transfer *xfer; - int len; - u32 __data_loc_rx_buf; - u32 __data_loc_tx_buf; - char __data[0]; -}; - -struct trace_event_raw_start_task_reaping { - struct trace_entry ent; - int pid; - char __data[0]; -}; - -struct trace_event_raw_subflow_check_data_avail { - struct trace_entry ent; - u8 status; - const void *skb; - char __data[0]; -}; - -struct trace_event_raw_suspend_resume { - struct trace_entry ent; - const char *action; - int val; - bool start; - char __data[0]; -}; - -struct trace_event_raw_swiotlb_bounced { - struct trace_entry ent; - u32 __data_loc_dev_name; - u64 dma_mask; - dma_addr_t dev_addr; - size_t size; - bool force; - char __data[0]; -}; - -struct trace_event_raw_sync_timeline { - struct trace_entry ent; - u32 __data_loc_name; - u32 value; - char __data[0]; -}; - -struct trace_event_raw_sys_enter { - struct trace_entry ent; - long int id; - long unsigned int args[6]; - char __data[0]; -}; - -struct trace_event_raw_sys_exit { - struct trace_entry ent; - long int id; - long int ret; - char __data[0]; -}; - -struct trace_event_raw_task_newtask { - struct trace_entry ent; - pid_t pid; - char comm[16]; - long unsigned int clone_flags; - short int oom_score_adj; - char __data[0]; -}; - -struct trace_event_raw_task_prctl_unknown { - struct trace_entry ent; - int option; - long unsigned int arg2; - long unsigned int arg3; - long unsigned int arg4; - long unsigned int arg5; - char __data[0]; -}; - -struct trace_event_raw_task_rename { - struct trace_entry ent; - char oldcomm[16]; - char newcomm[16]; - short int oom_score_adj; - char __data[0]; -}; - -struct trace_event_raw_tasklet { - struct trace_entry ent; - void *tasklet; - void *func; - char __data[0]; -}; - -struct trace_event_raw_tcp_ao_event { - struct trace_entry ent; - __u64 net_cookie; - const void *skbaddr; - const void *skaddr; - int state; - __u8 saddr[28]; - __u8 daddr[28]; - int l3index; - __u16 sport; - __u16 dport; - __u16 family; - bool fin; - bool syn; - bool rst; - bool psh; - bool ack; - __u8 keyid; - __u8 rnext; - __u8 maclen; - char __data[0]; -}; - -struct trace_event_raw_tcp_ao_event_sk { - struct trace_entry ent; - __u64 net_cookie; - const void *skaddr; - int state; - __u8 saddr[28]; - __u8 daddr[28]; - __u16 sport; - __u16 dport; - __u16 family; - __u8 keyid; - __u8 rnext; - char __data[0]; -}; - -struct trace_event_raw_tcp_ao_event_sne { - struct trace_entry ent; - __u64 net_cookie; - const void *skaddr; - int state; - __u8 saddr[28]; - __u8 daddr[28]; - __u16 sport; - __u16 dport; - __u16 family; - __u32 new_sne; - char __data[0]; -}; - -struct trace_event_raw_tcp_cong_state_set { - struct trace_entry ent; - const void *skaddr; - __u16 sport; - __u16 dport; - __u16 family; - __u8 saddr[4]; - __u8 daddr[4]; - __u8 saddr_v6[16]; - __u8 daddr_v6[16]; - __u8 cong_state; - char __data[0]; -}; - -struct trace_event_raw_tcp_event_sk { - struct trace_entry ent; - const void *skaddr; - __u16 sport; - __u16 dport; - __u16 family; - __u8 saddr[4]; - __u8 daddr[4]; - __u8 saddr_v6[16]; - __u8 daddr_v6[16]; - __u64 sock_cookie; - char __data[0]; -}; - -struct trace_event_raw_tcp_event_skb { - struct trace_entry ent; - const void *skbaddr; - __u8 saddr[28]; - __u8 daddr[28]; - char __data[0]; -}; - -struct trace_event_raw_tcp_hash_event { - struct trace_entry ent; - __u64 net_cookie; - const void *skbaddr; - const void *skaddr; - int state; - __u8 saddr[28]; - __u8 daddr[28]; - int l3index; - __u16 sport; - __u16 dport; - __u16 family; - bool fin; - bool syn; - bool rst; - bool psh; - bool ack; - char __data[0]; -}; - -struct trace_event_raw_tcp_probe { - struct trace_entry ent; - __u8 saddr[28]; - __u8 daddr[28]; - __u16 sport; - __u16 dport; - __u16 family; - __u32 mark; - __u16 data_len; - __u32 snd_nxt; - __u32 snd_una; - __u32 snd_cwnd; - __u32 ssthresh; - __u32 snd_wnd; - __u32 srtt; - __u32 rcv_wnd; - __u64 sock_cookie; - const void *skbaddr; - const void *skaddr; - char __data[0]; -}; - -struct trace_event_raw_tcp_rcvbuf_grow { - struct trace_entry ent; - int time; - __u32 rtt_us; - __u32 copied; - __u32 inq; - __u32 space; - __u32 ooo_space; - __u32 rcvbuf; - __u8 scaling_ratio; - __u16 sport; - __u16 dport; - __u16 family; - __u8 saddr[4]; - __u8 daddr[4]; - __u8 saddr_v6[16]; - __u8 daddr_v6[16]; - const void *skaddr; - __u64 sock_cookie; - char __data[0]; -}; - -struct trace_event_raw_tcp_retransmit_skb { - struct trace_entry ent; - const void *skbaddr; - const void *skaddr; - int state; - __u16 sport; - __u16 dport; - __u16 family; - __u8 saddr[4]; - __u8 daddr[4]; - __u8 saddr_v6[16]; - __u8 daddr_v6[16]; - int err; - char __data[0]; -}; - -struct trace_event_raw_tcp_retransmit_synack { - struct trace_entry ent; - const void *skaddr; - const void *req; - __u16 sport; - __u16 dport; - __u16 family; - __u8 saddr[4]; - __u8 daddr[4]; - __u8 saddr_v6[16]; - __u8 daddr_v6[16]; - char __data[0]; -}; - -struct trace_event_raw_tcp_send_reset { - struct trace_entry ent; - const void *skbaddr; - const void *skaddr; - int state; - enum sk_rst_reason reason; - __u8 saddr[28]; - __u8 daddr[28]; - char __data[0]; -}; - -struct trace_event_raw_tcp_sendmsg_locked { - struct trace_entry ent; - const void *skb_addr; - int skb_len; - int msg_left; - int size_goal; - char __data[0]; -}; - -struct trace_event_raw_test_pages_isolated { - struct trace_entry ent; - long unsigned int start_pfn; - long unsigned int end_pfn; - long unsigned int fin_pfn; - char __data[0]; -}; - -struct trace_event_raw_thermal_power_actor { - struct trace_entry ent; - int tz_id; - int actor_id; - u32 req_power; - u32 granted_power; - char __data[0]; -}; - -struct trace_event_raw_thermal_power_allocator { - struct trace_entry ent; - int tz_id; - u32 total_req_power; - u32 total_granted_power; - size_t num_actors; - u32 power_range; - u32 max_allocatable_power; - int current_temp; - s32 delta_temp; - char __data[0]; -}; - -struct trace_event_raw_thermal_power_allocator_pid { - struct trace_entry ent; - int tz_id; - s32 err; - s32 err_integral; - s64 p; - s64 i; - s64 d; - s32 output; - char __data[0]; -}; - -struct trace_event_raw_thermal_power_devfreq_get_power { - struct trace_entry ent; - u32 __data_loc_type; - long unsigned int freq; - u32 busy_time; - u32 total_time; - u32 power; - char __data[0]; -}; - -struct trace_event_raw_thermal_power_devfreq_limit { - struct trace_entry ent; - u32 __data_loc_type; - unsigned int freq; - long unsigned int cdev_state; - u32 power; - char __data[0]; -}; - -struct trace_event_raw_thermal_temperature { - struct trace_entry ent; - u32 __data_loc_thermal_zone; - int id; - int temp_prev; - int temp; - char __data[0]; -}; - -struct trace_event_raw_thermal_zone_trip { - struct trace_entry ent; - u32 __data_loc_thermal_zone; - int id; - int trip; - enum thermal_trip_type trip_type; - char __data[0]; -}; - -struct trace_event_raw_thread_noise { - struct trace_entry ent; - char comm[16]; - u64 start; - u64 duration; - pid_t pid; - char __data[0]; -}; - -struct trace_event_raw_tick_stop { - struct trace_entry ent; - int success; - int dependency; - char __data[0]; -}; - -struct trace_event_raw_timer_base_idle { - struct trace_entry ent; - bool is_idle; - unsigned int cpu; - char __data[0]; -}; - -struct trace_event_raw_timer_class { - struct trace_entry ent; - void *timer; - char __data[0]; -}; - -struct trace_event_raw_timer_expire_entry { - struct trace_entry ent; - void *timer; - long unsigned int now; - void *function; - long unsigned int baseclk; - char __data[0]; -}; - -struct trace_event_raw_timer_start { - struct trace_entry ent; - void *timer; - void *function; - long unsigned int expires; - long unsigned int bucket_expiry; - long unsigned int now; - unsigned int flags; - char __data[0]; -}; - -struct trace_event_raw_timerlat_sample { - struct trace_entry ent; - u64 timer_latency; - unsigned int seqnum; - int context; - char __data[0]; -}; - -struct trace_event_raw_tlb_flush { - struct trace_entry ent; - int reason; - long unsigned int pages; - char __data[0]; -}; - -struct trace_event_raw_tls_contenttype { - struct trace_entry ent; - __u8 saddr[28]; - __u8 daddr[28]; - unsigned int netns_ino; - long unsigned int type; - char __data[0]; -}; - -struct trace_event_raw_tmigr_connect_child_parent { - struct trace_entry ent; - void *child; - void *parent; - unsigned int lvl; - unsigned int numa_node; - unsigned int num_children; - u32 groupmask; - char __data[0]; -}; - -struct trace_event_raw_tmigr_connect_cpu_parent { - struct trace_entry ent; - void *parent; - unsigned int cpu; - unsigned int lvl; - unsigned int numa_node; - unsigned int num_children; - u32 groupmask; - char __data[0]; -}; - -struct trace_event_raw_tmigr_cpugroup { - struct trace_entry ent; - u64 wakeup; - void *parent; - unsigned int cpu; - char __data[0]; -}; - -struct trace_event_raw_tmigr_group_and_cpu { - struct trace_entry ent; - void *group; - void *parent; - unsigned int lvl; - unsigned int numa_node; - u32 childmask; - u8 active; - u8 migrator; - char __data[0]; -}; - -struct trace_event_raw_tmigr_group_set { - struct trace_entry ent; - void *group; - unsigned int lvl; - unsigned int numa_node; - char __data[0]; -}; - -struct trace_event_raw_tmigr_handle_remote { - struct trace_entry ent; - void *group; - unsigned int lvl; - char __data[0]; -}; - -struct trace_event_raw_tmigr_idle { - struct trace_entry ent; - u64 nextevt; - u64 wakeup; - void *parent; - unsigned int cpu; - char __data[0]; -}; - -struct trace_event_raw_tmigr_update_events { - struct trace_entry ent; - void *child; - void *group; - u64 nextevt; - u64 group_next_expiry; - u64 child_evt_expiry; - unsigned int group_lvl; - unsigned int child_evtcpu; - u8 child_active; - u8 group_active; - char __data[0]; -}; - -struct trace_event_raw_track_foreign_dirty { - struct trace_entry ent; - char name[32]; - u64 bdi_id; - ino_t ino; - unsigned int memcg_id; - ino_t cgroup_ino; - ino_t page_cgroup_ino; - char __data[0]; -}; - -struct trace_event_raw_tsm_mr_read { - struct trace_entry ent; - u32 __data_loc_mr; - u32 __data_loc_hash; - u32 __data_loc_d; - char __data[0]; -}; - -struct trace_event_raw_tsm_mr_refresh { - struct trace_entry ent; - u32 __data_loc_mr; - int rc; - char __data[0]; -}; - -struct trace_event_raw_tsm_mr_write { - struct trace_entry ent; - u32 __data_loc_mr; - u32 __data_loc_hash; - u32 __data_loc_d; - char __data[0]; -}; - -struct trace_event_raw_udp_fail_queue_rcv_skb { - struct trace_entry ent; - int rc; - __u16 sport; - __u16 dport; - __u16 family; - __u8 saddr[28]; - __u8 daddr[28]; - char __data[0]; -}; - -struct trace_event_raw_unmap { - struct trace_entry ent; - u64 iova; - size_t size; - size_t unmapped_size; - char __data[0]; -}; - -struct trace_event_raw_vector_activate { - struct trace_entry ent; - unsigned int irq; - bool is_managed; - bool can_reserve; - bool reserve; - char __data[0]; -}; - -struct trace_event_raw_vector_alloc { - struct trace_entry ent; - unsigned int irq; - unsigned int vector; - bool reserved; - int ret; - char __data[0]; -}; - -struct trace_event_raw_vector_alloc_managed { - struct trace_entry ent; - unsigned int irq; - unsigned int vector; - int ret; - char __data[0]; -}; - -struct trace_event_raw_vector_config { - struct trace_entry ent; - unsigned int irq; - unsigned int vector; - unsigned int cpu; - unsigned int apicdest; - char __data[0]; -}; - -struct trace_event_raw_vector_free_moved { - struct trace_entry ent; - unsigned int irq; - unsigned int cpu; - unsigned int vector; - bool is_managed; - char __data[0]; -}; - -struct trace_event_raw_vector_mod { - struct trace_entry ent; - unsigned int irq; - unsigned int vector; - unsigned int cpu; - unsigned int prev_vector; - unsigned int prev_cpu; - char __data[0]; -}; - -struct trace_event_raw_vector_reserve { - struct trace_entry ent; - unsigned int irq; - int ret; - char __data[0]; -}; - -struct trace_event_raw_vector_setup { - struct trace_entry ent; - unsigned int irq; - bool is_legacy; - int ret; - char __data[0]; -}; - -struct trace_event_raw_vector_teardown { - struct trace_entry ent; - unsigned int irq; - bool is_managed; - bool has_reserved; - char __data[0]; -}; - -struct trace_event_raw_vm_unmapped_area { - struct trace_entry ent; - long unsigned int addr; - long unsigned int total_vm; - long unsigned int flags; - long unsigned int length; - long unsigned int low_limit; - long unsigned int high_limit; - long unsigned int align_mask; - long unsigned int align_offset; - char __data[0]; -}; - -struct trace_event_raw_wake_reaper { - struct trace_entry ent; - int pid; - char __data[0]; -}; - -struct trace_event_raw_wakeup_source { - struct trace_entry ent; - u32 __data_loc_name; - u64 state; - char __data[0]; -}; - -struct trace_event_raw_watchdog_set_timeout { - struct trace_entry ent; - int id; - unsigned int timeout; - int err; - char __data[0]; -}; - -struct trace_event_raw_watchdog_template { - struct trace_entry ent; - int id; - int err; - char __data[0]; -}; - -struct trace_event_raw_wbc_class { - struct trace_entry ent; - char name[32]; - long int nr_to_write; - long int pages_skipped; - int sync_mode; - int for_kupdate; - int for_background; - int range_cyclic; - long int range_start; - long int range_end; - ino_t cgroup_ino; - char __data[0]; -}; - -struct trace_event_raw_wbt_lat { - struct trace_entry ent; - char name[32]; - long unsigned int lat; - char __data[0]; -}; - -struct trace_event_raw_wbt_stat { - struct trace_entry ent; - char name[32]; - s64 rmean; - u64 rmin; - u64 rmax; - s64 rnr_samples; - s64 rtime; - s64 wmean; - u64 wmin; - u64 wmax; - s64 wnr_samples; - s64 wtime; - char __data[0]; -}; - -struct trace_event_raw_wbt_step { - struct trace_entry ent; - char name[32]; - const char *msg; - int step; - long unsigned int window; - unsigned int bg; - unsigned int normal; - unsigned int max; - char __data[0]; -}; - -struct trace_event_raw_wbt_timer { - struct trace_entry ent; - char name[32]; - unsigned int status; - int step; - unsigned int inflight; - char __data[0]; -}; - -struct trace_event_raw_workqueue_activate_work { - struct trace_entry ent; - void *work; - void *function; - char __data[0]; -}; - -struct trace_event_raw_workqueue_execute_end { - struct trace_entry ent; - void *work; - void *function; - char __data[0]; -}; - -struct trace_event_raw_workqueue_execute_start { - struct trace_entry ent; - void *work; - void *function; - char __data[0]; -}; - -struct trace_event_raw_workqueue_queue_work { - struct trace_entry ent; - void *work; - void *function; - u32 __data_loc_workqueue; - int req_cpu; - int cpu; - char __data[0]; -}; - -struct trace_event_raw_writeback_bdi_register { - struct trace_entry ent; - char name[32]; - char __data[0]; -}; - -struct trace_event_raw_writeback_class { - struct trace_entry ent; - char name[32]; - ino_t cgroup_ino; - char __data[0]; -}; - -struct trace_event_raw_writeback_dirty_inode_template { - struct trace_entry ent; - char name[32]; - ino_t ino; - long unsigned int state; - long unsigned int flags; - char __data[0]; -}; - -struct trace_event_raw_writeback_folio_template { - struct trace_entry ent; - char name[32]; - ino_t ino; - long unsigned int index; - char __data[0]; -}; - -struct trace_event_raw_writeback_inode_template { - struct trace_entry ent; - dev_t dev; - ino_t ino; - long unsigned int state; - __u16 mode; - long unsigned int dirtied_when; - char __data[0]; -}; - -struct trace_event_raw_writeback_pages_written { - struct trace_entry ent; - long int pages; - char __data[0]; -}; - -struct trace_event_raw_writeback_queue_io { - struct trace_entry ent; - char name[32]; - long unsigned int older; - long int age; - int moved; - int reason; - ino_t cgroup_ino; - char __data[0]; -}; - -struct trace_event_raw_writeback_sb_inodes_requeue { - struct trace_entry ent; - char name[32]; - ino_t ino; - long unsigned int state; - long unsigned int dirtied_when; - ino_t cgroup_ino; - char __data[0]; -}; - -struct trace_event_raw_writeback_single_inode_template { - struct trace_entry ent; - char name[32]; - ino_t ino; - long unsigned int state; - long unsigned int dirtied_when; - long unsigned int writeback_index; - long int nr_to_write; - long unsigned int wrote; - ino_t cgroup_ino; - char __data[0]; -}; - -struct trace_event_raw_writeback_work_class { - struct trace_entry ent; - char name[32]; - long int nr_pages; - dev_t sb_dev; - int sync_mode; - int for_kupdate; - int range_cyclic; - int for_background; - int reason; - ino_t cgroup_ino; - char __data[0]; -}; - -struct trace_event_raw_writeback_write_inode_template { - struct trace_entry ent; - char name[32]; - ino_t ino; - int sync_mode; - ino_t cgroup_ino; - char __data[0]; -}; - -struct trace_event_raw_x86_fpu { - struct trace_entry ent; - struct fpu *fpu; - bool load_fpu; - u64 xfeatures; - u64 xcomp_bv; - char __data[0]; -}; - -struct trace_event_raw_x86_irq_vector { - struct trace_entry ent; - int vector; - char __data[0]; -}; - -struct trace_event_raw_xdp_bulk_tx { - struct trace_entry ent; - int ifindex; - u32 act; - int drops; - int sent; - int err; - char __data[0]; -}; - -struct trace_event_raw_xdp_cpumap_enqueue { - struct trace_entry ent; - int map_id; - u32 act; - int cpu; - unsigned int drops; - unsigned int processed; - int to_cpu; - char __data[0]; -}; - -struct trace_event_raw_xdp_cpumap_kthread { - struct trace_entry ent; - int map_id; - u32 act; - int cpu; - unsigned int drops; - unsigned int processed; - int sched; - unsigned int xdp_pass; - unsigned int xdp_drop; - unsigned int xdp_redirect; - char __data[0]; -}; - -struct trace_event_raw_xdp_devmap_xmit { - struct trace_entry ent; - int from_ifindex; - u32 act; - int to_ifindex; - int drops; - int sent; - int err; - char __data[0]; -}; - -struct trace_event_raw_xdp_exception { - struct trace_entry ent; - int prog_id; - u32 act; - int ifindex; - char __data[0]; -}; - -struct trace_event_raw_xdp_redirect_template { - struct trace_entry ent; - int prog_id; - u32 act; - int ifindex; - int err; - int to_ifindex; - u32 map_id; - int map_index; - char __data[0]; -}; - -struct trace_event_raw_xen_cpu_load_idt { - struct trace_entry ent; - long unsigned int addr; - char __data[0]; -}; - -struct trace_event_raw_xen_cpu_set_ldt { - struct trace_entry ent; - const void *addr; - unsigned int entries; - char __data[0]; -}; - -struct trace_event_raw_xen_cpu_write_gdt_entry { - struct trace_entry ent; - u64 desc; - struct desc_struct *dt; - int entrynum; - int type; - char __data[0]; -}; - -struct trace_event_raw_xen_cpu_write_idt_entry { - struct trace_entry ent; - gate_desc *dt; - int entrynum; - char __data[0]; -}; - -struct trace_event_raw_xen_cpu_write_ldt_entry { - struct trace_entry ent; - struct desc_struct *dt; - int entrynum; - u64 desc; - char __data[0]; -}; - -struct trace_event_raw_xen_mc__batch { - struct trace_entry ent; - enum xen_lazy_mode mode; - char __data[0]; -}; - -typedef void (*xen_mc_callback_fn_t)(void *); - -struct trace_event_raw_xen_mc_callback { - struct trace_entry ent; - xen_mc_callback_fn_t fn; - void *data; - char __data[0]; -}; - -struct trace_event_raw_xen_mc_entry { - struct trace_entry ent; - unsigned int op; - unsigned int nargs; - long unsigned int args[6]; - char __data[0]; -}; - -struct trace_event_raw_xen_mc_entry_alloc { - struct trace_entry ent; - size_t args; - char __data[0]; -}; - -struct trace_event_raw_xen_mc_extend_args { - struct trace_entry ent; - unsigned int op; - size_t args; - enum xen_mc_extend_args res; - char __data[0]; -}; - -struct trace_event_raw_xen_mc_flush { - struct trace_entry ent; - unsigned int mcidx; - unsigned int argidx; - unsigned int cbidx; - char __data[0]; -}; - -struct trace_event_raw_xen_mc_flush_reason { - struct trace_entry ent; - enum xen_mc_flush_reason reason; - char __data[0]; -}; - -struct trace_event_raw_xen_mmu__set_pte { - struct trace_entry ent; - pte_t *ptep; - pteval_t pteval; - char __data[0]; -}; - -struct trace_event_raw_xen_mmu_alloc_ptpage { - struct trace_entry ent; - struct mm_struct *mm; - long unsigned int pfn; - unsigned int level; - bool pinned; - char __data[0]; -}; - -struct trace_event_raw_xen_mmu_flush_tlb_multi { - struct trace_entry ent; - unsigned int ncpus; - struct mm_struct *mm; - long unsigned int addr; - long unsigned int end; - char __data[0]; -}; - -struct trace_event_raw_xen_mmu_flush_tlb_one_user { - struct trace_entry ent; - long unsigned int addr; - char __data[0]; -}; - -struct trace_event_raw_xen_mmu_pgd { - struct trace_entry ent; - struct mm_struct *mm; - pgd_t *pgd; - char __data[0]; -}; - -struct trace_event_raw_xen_mmu_ptep_modify_prot { - struct trace_entry ent; - struct mm_struct *mm; - long unsigned int addr; - pte_t *ptep; - pteval_t pteval; - char __data[0]; -}; - -struct trace_event_raw_xen_mmu_release_ptpage { - struct trace_entry ent; - long unsigned int pfn; - unsigned int level; - bool pinned; - char __data[0]; -}; - -struct trace_event_raw_xen_mmu_set_p4d { - struct trace_entry ent; - p4d_t *p4dp; - p4d_t *user_p4dp; - p4dval_t p4dval; - char __data[0]; -}; - -struct trace_event_raw_xen_mmu_set_pmd { - struct trace_entry ent; - pmd_t *pmdp; - pmdval_t pmdval; - char __data[0]; -}; - -struct trace_event_raw_xen_mmu_set_pud { - struct trace_entry ent; - pud_t *pudp; - pudval_t pudval; - char __data[0]; -}; - -struct trace_event_raw_xen_mmu_write_cr3 { - struct trace_entry ent; - bool kernel; - long unsigned int cr3; - char __data[0]; -}; - -struct trace_event_raw_xhci_dbc_log_request { - struct trace_entry ent; - struct dbc_request *req; - bool dir; - unsigned int actual; - unsigned int length; - int status; - char __data[0]; -}; - -struct trace_event_raw_xhci_log_ctrl_ctx { - struct trace_entry ent; - u32 drop; - u32 add; - char __data[0]; -}; - -struct trace_event_raw_xhci_log_ctx { - struct trace_entry ent; - int ctx_64; - unsigned int ctx_type; - dma_addr_t ctx_dma; - u8 *ctx_va; - unsigned int ctx_ep_num; - u32 __data_loc_ctx_data; - char __data[0]; -}; - -struct trace_event_raw_xhci_log_doorbell { - struct trace_entry ent; - u32 slot; - u32 doorbell; - char __data[0]; -}; - -struct trace_event_raw_xhci_log_ep_ctx { - struct trace_entry ent; - u32 info; - u32 info2; - u64 deq; - u32 tx_info; - char __data[0]; -}; - -struct trace_event_raw_xhci_log_free_virt_dev { - struct trace_entry ent; - void *vdev; - long long unsigned int out_ctx; - long long unsigned int in_ctx; - int slot_id; - u16 current_mel; - char __data[0]; -}; - -struct trace_event_raw_xhci_log_msg { - struct trace_entry ent; - u32 __data_loc_msg; - char __data[0]; -}; - -struct trace_event_raw_xhci_log_portsc { - struct trace_entry ent; - u32 busnum; - u32 portnum; - u32 portsc; - char __data[0]; -}; - -struct trace_event_raw_xhci_log_ring { - struct trace_entry ent; - u32 type; - void *ring; - dma_addr_t enq; - dma_addr_t deq; - unsigned int num_segs; - unsigned int stream_id; - unsigned int cycle_state; - unsigned int bounce_buf_len; - char __data[0]; -}; - -struct trace_event_raw_xhci_log_slot_ctx { - struct trace_entry ent; - u32 info; - u32 info2; - u32 tt_info; - u32 state; - char __data[0]; -}; - -struct trace_event_raw_xhci_log_stream_ctx { - struct trace_entry ent; - unsigned int stream_id; - u64 stream_ring; - dma_addr_t ctx_array_dma; - char __data[0]; -}; - -struct trace_event_raw_xhci_log_trb { - struct trace_entry ent; - dma_addr_t dma; - u32 type; - u32 field0; - u32 field1; - u32 field2; - u32 field3; - char __data[0]; -}; - -struct trace_event_raw_xhci_log_urb { - struct trace_entry ent; - u32 __data_loc_devname; - void *urb; - unsigned int pipe; - unsigned int stream; - int status; - unsigned int flags; - int num_mapped_sgs; - int num_sgs; - int length; - int actual; - int epnum; - int dir_in; - int type; - int slot_id; - char __data[0]; -}; - -struct trace_event_raw_xhci_log_virt_dev { - struct trace_entry ent; - void *vdev; - long long unsigned int out_ctx; - long long unsigned int in_ctx; - int devnum; - int state; - int speed; - u8 portnum; - u8 level; - int slot_id; - char __data[0]; -}; - -struct trace_export { - struct trace_export *next; - void (*write)(struct trace_export *, const void *, unsigned int); - int flags; -}; - -struct tracepoint_user; - -struct trace_fprobe { - struct dyn_event devent; - struct fprobe fp; - const char *symbol; - bool tprobe; - struct tracepoint_user *tuser; - struct trace_probe tp; -}; - -struct trace_func_repeats { - long unsigned int ip; - long unsigned int parent_ip; - long unsigned int count; - u64 ts_last_call; -}; - -struct trace_kprobe { - struct dyn_event devent; - struct kretprobe rp; - long unsigned int *nhit; - const char *symbol; - struct trace_probe tp; -}; - -struct trace_mark { - long long unsigned int val; - char sym; -}; - -struct trace_min_max_param { - struct mutex *lock; - u64 *val; - u64 *min; - u64 *max; -}; - -struct trace_mmiotrace_map { - struct trace_entry ent; - struct mmiotrace_map map; -}; - -struct trace_mmiotrace_rw { - struct trace_entry ent; - struct mmiotrace_rw rw; -}; - -struct trace_mod_entry { - long unsigned int mod_addr; - char mod_name[56]; -}; - -struct trace_module_delta { - struct callback_head rcu; - long int delta[0]; -}; - -struct tracer_opt; - -struct tracer_flags; - -struct trace_option_dentry { - struct tracer_opt *opt; - struct tracer_flags *flags; - struct trace_array *tr; - struct dentry *entry; -}; - -struct trace_options { - struct tracer *tracer; - struct trace_option_dentry *topts; -}; - -union upper_chunk; - -struct trace_pid_list { - raw_spinlock_t lock; - struct irq_work refill_irqwork; - union upper_chunk *upper[256]; - union upper_chunk *upper_list; - union lower_chunk *lower_list; - int free_upper_chunks; - int free_lower_chunks; -}; - -struct trace_print_flags { - long unsigned int mask; - const char *name; -}; - -struct trace_uprobe_filter { - rwlock_t rwlock; - int nr_systemwide; - struct list_head perf_events; -}; - -struct trace_probe_event { - unsigned int flags; - struct trace_event_class class; - struct trace_event_call call; - struct list_head files; - struct list_head probes; - struct trace_uprobe_filter filter[0]; -}; - -struct trace_probe_log { - const char *subsystem; - const char **argv; - int argc; - int index; -}; - -struct trace_scratch { - unsigned int clock_id; - long unsigned int text_addr; - long unsigned int nr_entries; - struct trace_mod_entry entries[0]; -}; - -struct trace_stack { - int stack_size; - int nr_entries; - long unsigned int calls[256]; -}; - -struct trace_subsystem_dir { - struct list_head list; - struct event_subsystem *subsystem; - struct trace_array *tr; - struct eventfs_inode *ei; - int ref_count; - int nr_events; -}; - -struct trace_uprobe { - struct dyn_event devent; - struct uprobe_consumer consumer; - struct path path; - char *filename; - struct uprobe *uprobe; - long unsigned int offset; - long unsigned int ref_ctr_offset; - long unsigned int *nhits; - struct trace_probe tp; -}; - -struct trace_user_buf { - char *buf; -}; - -struct trace_user_buf_info { - struct trace_user_buf *tbuf; - int ref; -}; - -struct tracefs_dir_ops { - int (*mkdir)(const char *); - int (*rmdir)(const char *); -}; - -struct tracefs_fs_info { - kuid_t uid; - kgid_t gid; - umode_t mode; - unsigned int opts; -}; - -struct tracefs_inode { - struct inode vfs_inode; - struct list_head list; - long unsigned int flags; - void *private; -}; - -struct tracepoint_ext; - -struct tracepoint { - const char *name; - struct static_key_false key; - struct static_call_key *static_call_key; - void *static_call_tramp; - void *iterator; - void *probestub; - struct tracepoint_func *funcs; - struct tracepoint_ext *ext; -}; - -struct tracepoint_ext { - int (*regfunc)(void); - void (*unregfunc)(void); - unsigned int faultable: 1; -}; - -struct tracepoint_user { - struct list_head list; - const char *name; - struct tracepoint *tpoint; - unsigned int refcount; -}; - -struct traceprobe_parse_context { - struct trace_event_call *event; - const char *funcname; - const struct btf_type *proto; - const struct btf_param *params; - s32 nr_params; - struct btf *btf; - const struct btf_type *last_type; - u32 last_bitoffs; - u32 last_bitsize; - struct trace_probe *tp; - unsigned int flags; - int offset; -}; - -struct tracer { - const char *name; - int (*init)(struct trace_array *); - void (*reset)(struct trace_array *); - void (*start)(struct trace_array *); - void (*stop)(struct trace_array *); - int (*update_thresh)(struct trace_array *); - void (*open)(struct trace_iterator *); - void (*pipe_open)(struct trace_iterator *); - void (*close)(struct trace_iterator *); - void (*pipe_close)(struct trace_iterator *); - ssize_t (*read)(struct trace_iterator *, struct file *, char *, size_t, loff_t *); - ssize_t (*splice_read)(struct trace_iterator *, struct file *, loff_t *, struct pipe_inode_info *, size_t, unsigned int); - void (*print_header)(struct seq_file *); - enum print_line_t (*print_line)(struct trace_iterator *); - int (*set_flag)(struct trace_array *, u32, u32, int); - int (*flag_changed)(struct trace_array *, u32, int); - struct tracer *next; - struct tracer_flags *flags; - int enabled; - bool print_max; - bool allow_instances; - bool use_max_tr; - bool noboot; -}; - -struct tracer_flags { - u32 val; - struct tracer_opt *opts; - struct tracer *trace; -}; - -struct tracer_opt { - const char *name; - u32 bit; -}; - -struct tracing_log_err { - struct list_head list; - struct err_info info; - char loc[128]; - char *cmd; -}; - -typedef int (*tracing_map_cmp_fn_t)(void *, void *); - -struct tracing_map_field { - tracing_map_cmp_fn_t cmp_fn; - union { - atomic64_t sum; - unsigned int offset; - }; -}; - -struct tracing_map_array; - -struct tracing_map_ops; - -struct tracing_map { - unsigned int key_size; - unsigned int map_bits; - unsigned int map_size; - unsigned int max_elts; - atomic_t next_elt; - struct tracing_map_array *elts; - struct tracing_map_array *map; - const struct tracing_map_ops *ops; - void *private_data; - struct tracing_map_field fields[6]; - unsigned int n_fields; - int key_idx[3]; - unsigned int n_keys; - struct tracing_map_sort_key sort_key; - unsigned int n_vars; - atomic64_t hits; - atomic64_t drops; -}; - -struct tracing_map_array { - unsigned int entries_per_page; - unsigned int entry_size_shift; - unsigned int entry_shift; - unsigned int entry_mask; - unsigned int n_pages; - void **pages; -}; - -struct tracing_map_elt { - struct tracing_map *map; - struct tracing_map_field *fields; - atomic64_t *vars; - bool *var_set; - void *key; - void *private_data; -}; - -struct tracing_map_entry { - u32 key; - struct tracing_map_elt *val; -}; - -struct tracing_map_ops { - int (*elt_alloc)(struct tracing_map_elt *); - void (*elt_free)(struct tracing_map_elt *); - void (*elt_clear)(struct tracing_map_elt *); - void (*elt_init)(struct tracing_map_elt *); -}; - -struct tracing_map_sort_entry { - void *key; - struct tracing_map_elt *elt; - bool elt_copied; - bool dup; -}; - -struct track { - long unsigned int addr; - depot_stack_handle_t handle; - int cpu; - int pid; - long unsigned int when; -}; - -struct track_data { - u64 track_val; - bool updated; - unsigned int key_len; - void *key; - struct tracing_map_elt elt; - struct action_data *action_data; - struct hist_trigger_data *hist_data; -}; - -struct trampoline_header { - u64 start; - u64 efer; - u32 cr4; - u32 flags; - u32 lock; -}; - -struct transaction_chp_stats_s { - long unsigned int cs_chp_time; - __u32 cs_forced_to_close; - __u32 cs_written; - __u32 cs_dropped; -}; - -struct transaction_s { - journal_t *t_journal; - tid_t t_tid; - enum { - T_RUNNING = 0, - T_LOCKED = 1, - T_SWITCH = 2, - T_FLUSH = 3, - T_COMMIT = 4, - T_COMMIT_DFLUSH = 5, - T_COMMIT_JFLUSH = 6, - T_COMMIT_CALLBACK = 7, - T_FINISHED = 8, - } t_state; - long unsigned int t_log_start; - int t_nr_buffers; - struct journal_head *t_reserved_list; - struct journal_head *t_buffers; - struct journal_head *t_forget; - struct journal_head *t_checkpoint_list; - struct journal_head *t_shadow_list; - struct list_head t_inode_list; - long unsigned int t_max_wait; - long unsigned int t_start; - long unsigned int t_requested; - struct transaction_chp_stats_s t_chp_stats; - atomic_t t_updates; - atomic_t t_outstanding_credits; - atomic_t t_outstanding_revokes; - atomic_t t_handle_count; - transaction_t *t_cpnext; - transaction_t *t_cpprev; - long unsigned int t_expires; - ktime_t t_start_time; - unsigned int t_synchronous_commit: 1; - int t_need_data_flush; -}; - -struct trap_array_entry { - void (*orig)(void); - void (*xen)(void); - bool ist_okay; -}; - -struct trap_info { - uint8_t vector; - uint8_t flags; - uint16_t cs; - long unsigned int address; -}; - -struct trap_reason { - long unsigned int addr; - long unsigned int ip; - enum reason_type type; - int active_traces; -}; - -struct trc_stall_chk_rdr { - int nesting; - int ipi_to_cpu; - u8 needqs; -}; - -typedef struct tree_desc_s tree_desc; - -struct tree_descr { - const char *name; - const struct file_operations *ops; - int mode; -}; - -struct trie_use_stats; - -struct trie { - struct key_vector kv[1]; - struct trie_use_stats *stats; -}; - -struct trie_stat { - unsigned int totdepth; - unsigned int maxdepth; - unsigned int tnodes; - unsigned int leaves; - unsigned int nullpointers; - unsigned int prefixes; - unsigned int nodesizes[32]; -}; - -struct trie_use_stats { - unsigned int gets; - unsigned int backtrack; - unsigned int semantic_match_passed; - unsigned int semantic_match_miss; - unsigned int null_node_hit; - unsigned int resize_node_skipped; -}; - -struct trusted_key_payload; - -struct trusted_key_ops { - unsigned char migratable; - int (*init)(void); - int (*seal)(struct trusted_key_payload *, char *); - int (*unseal)(struct trusted_key_payload *, char *); - int (*get_random)(unsigned char *, size_t); - void (*exit)(void); -}; - -struct trusted_key_options { - uint16_t keytype; - uint32_t keyhandle; - unsigned char keyauth[20]; - uint32_t blobauth_len; - unsigned char blobauth[20]; - uint32_t pcrinfo_len; - unsigned char pcrinfo[64]; - int pcrlock; - uint32_t hash; - uint32_t policydigest_len; - unsigned char policydigest[64]; - uint32_t policyhandle; -}; - -struct trusted_key_payload { - struct callback_head rcu; - unsigned int key_len; - unsigned int blob_len; - unsigned char migratable; - unsigned char old_format; - unsigned char key[129]; - unsigned char blob[512]; -}; - -struct trusted_key_source { - char *name; - struct trusted_key_ops *ops; -}; - -struct ts_ops; - -struct ts_state; - -struct ts_config { - struct ts_ops *ops; - int flags; - unsigned int (*get_next_block)(unsigned int, const u8 **, struct ts_config *, struct ts_state *); - void (*finish)(struct ts_config *, struct ts_state *); -}; - -struct ts_dmi_data { - struct efi_embedded_fw_desc embedded_fw; - const char *acpi_name; - const struct property_entry *properties; -}; - -struct ts_linear_state { - unsigned int len; - const void *data; -}; - -struct ts_ops { - const char *name; - struct ts_config * (*init)(const void *, unsigned int, gfp_t, int); - unsigned int (*find)(struct ts_config *, struct ts_state *); - void (*destroy)(struct ts_config *); - void * (*get_pattern)(struct ts_config *); - unsigned int (*get_pattern_len)(struct ts_config *); - struct module *owner; - struct list_head list; -}; - -struct ts_state { - unsigned int offset; - char cb[48]; -}; - -struct tsc_adjust { - s64 bootval; - s64 adjusted; - long unsigned int nextcheck; - bool warned; -}; - -struct tsconfig_reply_data { - struct ethnl_reply_data base; - struct hwtstamp_provider_desc hwprov_desc; - struct { - u32 tx_type; - u32 rx_filter; - u32 flags; - } hwtst_config; -}; - -struct tsconfig_req_info { - struct ethnl_req_info base; -}; - -struct tsinfo_reply_data { - struct ethnl_reply_data base; - struct kernel_ethtool_ts_info ts_info; - struct ethtool_ts_stats stats; -}; - -struct tsinfo_req_info { - struct ethnl_req_info base; - struct hwtstamp_provider_desc hwprov_desc; -}; - -struct tsm_measurement_register { - const char *mr_name; - void *mr_value; - u32 mr_size; - u32 mr_flags; - enum hash_algo mr_hash; -}; - -struct tsm_measurements { - const struct tsm_measurement_register *mrs; - size_t nr_mrs; - int (*refresh)(const struct tsm_measurements *); - int (*write)(const struct tsm_measurements *, const struct tsm_measurement_register *, const u8 *); -}; - -struct tso_t { - int next_frag_idx; - int size; - void *data; - u16 ip_id; - u8 tlen; - bool ipv6; - u32 tcp_seq; -}; - -struct tsq_work { - struct work_struct work; - struct list_head head; -}; - -struct tty_audit_buf { - struct mutex mutex; - dev_t dev; - bool icanon; - size_t valid; - u8 *data; -}; - -struct tty_operations; - -struct tty_driver { - struct kref kref; - struct cdev **cdevs; - struct module *owner; - const char *driver_name; - const char *name; - int name_base; - int major; - int minor_start; - unsigned int num; - enum tty_driver_type type; - enum tty_driver_subtype subtype; - struct ktermios init_termios; - long unsigned int flags; - struct proc_dir_entry *proc_entry; - struct tty_driver *other; - struct tty_struct **ttys; - struct tty_port **ports; - struct ktermios **termios; - void *driver_state; - const struct tty_operations *ops; - struct list_head tty_drivers; -}; - -struct tty_file_private { - struct tty_struct *tty; - struct file *file; - struct list_head list; -}; - -struct tty_ldisc_ops; - -struct tty_ldisc { - struct tty_ldisc_ops *ops; - struct tty_struct *tty; -}; - -struct tty_ldisc_ops { - char *name; - int num; - int (*open)(struct tty_struct *); - void (*close)(struct tty_struct *); - void (*flush_buffer)(struct tty_struct *); - ssize_t (*read)(struct tty_struct *, struct file *, u8 *, size_t, void **, long unsigned int); - ssize_t (*write)(struct tty_struct *, struct file *, const u8 *, size_t); - int (*ioctl)(struct tty_struct *, unsigned int, long unsigned int); - int (*compat_ioctl)(struct tty_struct *, unsigned int, long unsigned int); - void (*set_termios)(struct tty_struct *, const struct ktermios *); - __poll_t (*poll)(struct tty_struct *, struct file *, struct poll_table_struct *); - void (*hangup)(struct tty_struct *); - void (*receive_buf)(struct tty_struct *, const u8 *, const u8 *, size_t); - void (*write_wakeup)(struct tty_struct *); - void (*dcd_change)(struct tty_struct *, bool); - size_t (*receive_buf2)(struct tty_struct *, const u8 *, const u8 *, size_t); - void (*lookahead_buf)(struct tty_struct *, const u8 *, const u8 *, size_t); - struct module *owner; -}; - -struct tty_operations { - struct tty_struct * (*lookup)(struct tty_driver *, struct file *, int); - int (*install)(struct tty_driver *, struct tty_struct *); - void (*remove)(struct tty_driver *, struct tty_struct *); - int (*open)(struct tty_struct *, struct file *); - void (*close)(struct tty_struct *, struct file *); - void (*shutdown)(struct tty_struct *); - void (*cleanup)(struct tty_struct *); - ssize_t (*write)(struct tty_struct *, const u8 *, size_t); - int (*put_char)(struct tty_struct *, u8); - void (*flush_chars)(struct tty_struct *); - unsigned int (*write_room)(struct tty_struct *); - unsigned int (*chars_in_buffer)(struct tty_struct *); - int (*ioctl)(struct tty_struct *, unsigned int, long unsigned int); - long int (*compat_ioctl)(struct tty_struct *, unsigned int, long unsigned int); - void (*set_termios)(struct tty_struct *, const struct ktermios *); - void (*throttle)(struct tty_struct *); - void (*unthrottle)(struct tty_struct *); - void (*stop)(struct tty_struct *); - void (*start)(struct tty_struct *); - void (*hangup)(struct tty_struct *); - int (*break_ctl)(struct tty_struct *, int); - void (*flush_buffer)(struct tty_struct *); - int (*ldisc_ok)(struct tty_struct *, int); - void (*set_ldisc)(struct tty_struct *); - void (*wait_until_sent)(struct tty_struct *, int); - void (*send_xchar)(struct tty_struct *, u8); - int (*tiocmget)(struct tty_struct *); - int (*tiocmset)(struct tty_struct *, unsigned int, unsigned int); - int (*resize)(struct tty_struct *, struct winsize *); - int (*get_icount)(struct tty_struct *, struct serial_icounter_struct *); - int (*get_serial)(struct tty_struct *, struct serial_struct *); - int (*set_serial)(struct tty_struct *, struct serial_struct *); - void (*show_fdinfo)(struct tty_struct *, struct seq_file *); - int (*poll_init)(struct tty_driver *, int, char *); - int (*poll_get_char)(struct tty_driver *, int); - void (*poll_put_char)(struct tty_driver *, int, char); - int (*proc_show)(struct seq_file *, void *); -}; - -struct tty_port_client_operations { - size_t (*receive_buf)(struct tty_port *, const u8 *, const u8 *, size_t); - void (*lookahead_buf)(struct tty_port *, const u8 *, const u8 *, size_t); - void (*write_wakeup)(struct tty_port *); -}; - -struct tty_port_operations { - bool (*carrier_raised)(struct tty_port *); - void (*dtr_rts)(struct tty_port *, bool); - void (*shutdown)(struct tty_port *); - int (*activate)(struct tty_port *, struct tty_struct *); - void (*destruct)(struct tty_port *); -}; - -struct tty_struct { - struct kref kref; - int index; - struct device *dev; - struct tty_driver *driver; - struct tty_port *port; - const struct tty_operations *ops; - struct tty_ldisc *ldisc; - struct ld_semaphore ldisc_sem; - struct mutex atomic_write_lock; - struct mutex legacy_mutex; - struct mutex throttle_mutex; - struct rw_semaphore termios_rwsem; - struct mutex winsize_mutex; - struct ktermios termios; - struct ktermios termios_locked; - char name[64]; - long unsigned int flags; - int count; - unsigned int receive_room; - struct winsize winsize; - struct { - spinlock_t lock; - bool stopped; - bool tco_stopped; - } flow; - struct { - struct pid *pgrp; - struct pid *session; - spinlock_t lock; - unsigned char pktstatus; - bool packet; - } ctrl; - bool hw_stopped; - bool closing; - int flow_change; - struct tty_struct *link; - struct fasync_struct *fasync; - wait_queue_head_t write_wait; - wait_queue_head_t read_wait; - struct work_struct hangup_work; - void *disc_data; - void *driver_data; - spinlock_t files_lock; - int write_cnt; - u8 *write_buf; - struct list_head tty_files; - struct work_struct SAK_work; -}; - -struct ttyprintk_port { - struct tty_port port; - spinlock_t spinlock; -}; - -struct tun_struct; - -struct tun_file { - struct sock sk; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - struct socket socket; - struct tun_struct *tun; - struct fasync_struct *fasync; - unsigned int flags; - union { - u16 queue_index; - unsigned int ifindex; - }; - struct napi_struct napi; - bool napi_enabled; - bool napi_frags_enabled; - struct mutex napi_mutex; - struct list_head next; - struct tun_struct *detached; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - struct ptr_ring tx_ring; - struct xdp_rxq_info xdp_rxq; -}; - -struct tun_filter { - __u16 flags; - __u16 count; - __u8 addr[0]; -}; - -struct tun_flow_entry { - struct hlist_node hash_link; - struct callback_head rcu; - struct tun_struct *tun; - u32 rxhash; - u32 rps_rxhash; - int queue_index; - long: 64; - long unsigned int updated; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct tun_msg_ctl { - short unsigned int type; - short unsigned int num; - void *ptr; -}; - -struct tun_page { - struct page *page; - int count; -}; - -struct tun_pi { - __u16 flags; - __be16 proto; -}; - -struct tun_prog { - struct callback_head rcu; - struct bpf_prog *prog; -}; - -struct tun_security_struct { - u32 sid; -}; - -struct tun_struct { - struct tun_file *tfiles[256]; - unsigned int numqueues; - unsigned int flags; - kuid_t owner; - kgid_t group; - struct net_device *dev; - netdev_features_t set_features; - int align; - int vnet_hdr_sz; - int sndbuf; - struct tap_filter txflt; - struct sock_fprog fprog; - bool filter_attached; - u32 msg_enable; - spinlock_t lock; - struct hlist_head flows[1024]; - struct timer_list flow_gc_timer; - long unsigned int ageing_time; - unsigned int numdisabled; - struct list_head disabled; - void *security; - u32 flow_count; - u32 rx_batched; - atomic_long_t rx_frame_errors; - struct bpf_prog *xdp_prog; - struct tun_prog *steering_prog; - struct tun_prog *filter_prog; - struct ethtool_link_ksettings link_ksettings; - struct file *file; - struct ifreq *ifr; -}; - -struct twl4030_audio_resource { - int request_count; - u8 reg; - u8 mask; -}; - -struct twl4030_audio { - unsigned int audio_mclk; - struct mutex mutex; - struct twl4030_audio_resource resource[2]; - struct mfd_cell cells[2]; -}; - -struct twl4030_codec_data; - -struct twl4030_vibra_data; - -struct twl4030_audio_data { - unsigned int audio_mclk; - struct twl4030_codec_data *codec; - struct twl4030_vibra_data *vibra; - int audpwron_gpio; - int naudint_irq; - unsigned int irq_base; -}; - -struct twl4030_codec_data { - unsigned int digimic_delay; - unsigned int ramp_delay_value; - unsigned int offset_cncl_path; - unsigned int hs_extmute: 1; - int hs_extmute_gpio; -}; - -struct twl4030_vibra_data { - unsigned int coexist; -}; - -struct twl6030_irq { - unsigned int irq_base; - int twl_irq; - bool irq_wake_enabled; - atomic_t wakeirqs; - struct notifier_block pm_nb; - struct irq_chip irq_chip; - struct irq_domain *irq_domain; - const int *irq_mapping_tbl; -}; - -struct twl6040 { - struct device *dev; - struct regmap *regmap; - struct regmap_irq_chip_data *irq_data; - struct regulator_bulk_data supplies[2]; - struct clk *clk32k; - struct clk *mclk; - struct mutex mutex; - struct mutex irq_mutex; - struct mfd_cell cells[4]; - struct completion ready; - struct gpio_desc *audpwron; - int power_count; - int rev; - int pll; - unsigned int sysclk_rate; - unsigned int mclk_rate; - unsigned int irq; - unsigned int irq_ready; - unsigned int irq_th; -}; - -struct twl_client { - struct i2c_client *client; - struct regmap *regmap; -}; - -struct twl_mapping { - unsigned char sid; - unsigned char base; -}; - -struct twl_private { - bool ready; - u32 twl_idcode; - unsigned int twl_id; - struct twl_mapping *twl_map; - struct twl_client *twl_modules; -}; - -struct type_datum { - u32 value; - u32 bounds; - unsigned char primary; - unsigned char attribute; -}; - -struct type_descriptor { - u16 type_kind; - u16 type_info; - char type_name[0]; -}; - -struct type_mismatch_data { - struct source_location location; - struct type_descriptor *type; - long unsigned int alignment; - unsigned char type_check_kind; -}; - -struct type_mismatch_data_common { - struct source_location *location; - struct type_descriptor *type; - long unsigned int alignment; - unsigned char type_check_kind; -}; - -struct type_mismatch_data_v1 { - struct source_location location; - struct type_descriptor *type; - unsigned char log_alignment; - unsigned char type_check_kind; -}; - -struct type_set { - struct ebitmap types; - struct ebitmap negset; - u32 flags; -}; - -struct typec_connector { - void (*attach)(struct typec_connector *, struct device *); - void (*deattach)(struct typec_connector *, struct device *); -}; - -struct u32_fract { - __u32 numerator; - __u32 denominator; -}; - -struct uart_8250_em485 { - struct hrtimer start_tx_timer; - struct hrtimer stop_tx_timer; - struct hrtimer *active_timer; - struct uart_8250_port *port; - unsigned int tx_stopped: 1; -}; - -struct uart_8250_ops { - int (*setup_irq)(struct uart_8250_port *); - void (*release_irq)(struct uart_8250_port *); - void (*setup_timer)(struct uart_8250_port *); -}; - -struct uart_8250_port { - struct uart_port port; - struct timer_list timer; - struct list_head list; - u32 capabilities; - u16 bugs; - unsigned int tx_loadsz; - unsigned char acr; - unsigned char fcr; - unsigned char ier; - unsigned char lcr; - unsigned char mcr; - unsigned char cur_iotype; - unsigned int rpm_tx_active; - unsigned char canary; - unsigned char probe; - struct mctrl_gpios *gpios; - u16 lsr_saved_flags; - u16 lsr_save_mask; - unsigned char msr_saved_flags; - struct uart_8250_dma *dma; - const struct uart_8250_ops *ops; - u32 (*dl_read)(struct uart_8250_port *); - void (*dl_write)(struct uart_8250_port *, u32); - struct uart_8250_em485 *em485; - void (*rs485_start_tx)(struct uart_8250_port *, bool); - void (*rs485_stop_tx)(struct uart_8250_port *, bool); - struct delayed_work overrun_backoff; - u32 overrun_backoff_time_ms; -}; - -struct uart_match { - struct uart_port *port; - struct uart_driver *driver; -}; - -struct uart_ops { - unsigned int (*tx_empty)(struct uart_port *); - void (*set_mctrl)(struct uart_port *, unsigned int); - unsigned int (*get_mctrl)(struct uart_port *); - void (*stop_tx)(struct uart_port *); - void (*start_tx)(struct uart_port *); - void (*throttle)(struct uart_port *); - void (*unthrottle)(struct uart_port *); - void (*send_xchar)(struct uart_port *, char); - void (*stop_rx)(struct uart_port *); - void (*start_rx)(struct uart_port *); - void (*enable_ms)(struct uart_port *); - void (*break_ctl)(struct uart_port *, int); - int (*startup)(struct uart_port *); - void (*shutdown)(struct uart_port *); - void (*flush_buffer)(struct uart_port *); - void (*set_termios)(struct uart_port *, struct ktermios *, const struct ktermios *); - void (*set_ldisc)(struct uart_port *, struct ktermios *); - void (*pm)(struct uart_port *, unsigned int, unsigned int); - const char * (*type)(struct uart_port *); - void (*release_port)(struct uart_port *); - int (*request_port)(struct uart_port *); - void (*config_port)(struct uart_port *, int); - int (*verify_port)(struct uart_port *, struct serial_struct *); - int (*ioctl)(struct uart_port *, unsigned int, long unsigned int); - int (*poll_init)(struct uart_port *); - void (*poll_put_char)(struct uart_port *, unsigned char); - int (*poll_get_char)(struct uart_port *); -}; - -struct uart_state { - struct tty_port port; - enum uart_pm_state pm_state; - atomic_t refcount; - wait_queue_head_t remove_wait; - struct uart_port *uart_port; -}; - -struct ubuf_info_msgzc { - struct ubuf_info ubuf; - union { - struct { - long unsigned int desc; - void *ctx; - }; - struct { - u32 id; - u16 len; - u16 zerocopy: 1; - u32 bytelen; - }; - }; - struct mmpin mmp; -}; - -struct ubuf_info_ops { - void (*complete)(struct sk_buff *, struct ubuf_info *, bool); - int (*link_skb)(struct sk_buff *, struct ubuf_info *); -}; - -struct uclamp_request { - s64 percent; - u64 util; - int ret; -}; - -struct ucode_cpu_info { - struct cpu_signature cpu_sig; - void *mc; -}; - -struct ucode_patch { - struct list_head plist; - void *data; - unsigned int size; - u32 patch_id; - u16 equiv_cpu; -}; - -struct ucounts { - struct hlist_nulls_node node; - struct user_namespace *ns; - kuid_t uid; - struct callback_head rcu; - rcuref_t count; - atomic_long_t ucount[12]; - atomic_long_t rlimit[4]; -}; - -struct ucred { - __u32 pid; - __u32 uid; - __u32 gid; -}; - -struct ucs_interval16 { - u16 first; - u16 last; -}; - -struct ucs_interval32 { - u32 first; - u32 last; -}; - -struct ucs_page_desc { - u8 page; - u8 count; - u16 start; -}; - -struct ucs_page_entry { - u8 offset; - u8 fallback; -}; - -struct ucs_recomposition { - u16 base; - u16 mark; - u16 recomposed; -}; - -struct udmabuf { - long unsigned int pagecount; - struct folio **folios; - long unsigned int nr_pinned; - struct folio **pinned_folios; - struct sg_table *sg; - struct miscdevice *device; - long unsigned int *offsets; -}; - -struct udmabuf_create { - __u32 memfd; - __u32 flags; - __u64 offset; - __u64 size; -}; - -struct udmabuf_create_item { - __u32 memfd; - __u32 __pad; - __u64 offset; - __u64 size; -}; - -struct udmabuf_create_list { - __u32 flags; - __u32 count; - struct udmabuf_create_item list[0]; -}; - -struct udp_sock { - struct inet_sock inet; - long unsigned int udp_flags; - int pending; - __u8 encap_type; - __u16 udp_lrpa_hash; - struct hlist_nulls_node udp_lrpa_node; - __u16 len; - __u16 gso_size; - __u16 pcslen; - __u16 pcrlen; - int (*encap_rcv)(struct sock *, struct sk_buff *); - void (*encap_err_rcv)(struct sock *, struct sk_buff *, int, __be16, u32, u8 *); - int (*encap_err_lookup)(struct sock *, struct sk_buff *); - void (*encap_destroy)(struct sock *); - struct sk_buff * (*gro_receive)(struct sock *, struct list_head *, struct sk_buff *); - int (*gro_complete)(struct sock *, struct sk_buff *, int); - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - struct sk_buff_head reader_queue; - int forward_deficit; - int forward_threshold; - bool peeking_with_offset; - struct hlist_node tunnel_list; - long: 64; -}; - -struct udp6_sock { - struct udp_sock udp; - struct ipv6_pinfo inet6; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct udp_dev_scratch { - u32 _tsize_state; - u16 len; - bool is_linear; - bool csum_unnecessary; -}; - -struct udp_hslot { - union { - struct hlist_head head; - struct hlist_nulls_head nulls_head; - }; - int count; - spinlock_t lock; -}; - -struct udp_hslot_main { - struct udp_hslot hslot; - u32 hash4_cnt; - long: 64; -}; - -struct udp_mib { - long unsigned int mibs[10]; -}; - -struct udp_seq_afinfo { - sa_family_t family; - struct udp_table *udp_table; -}; - -struct udp_skb_cb { - union { - struct inet_skb_parm h4; - struct inet6_skb_parm h6; - } header; - __u16 cscov; - __u8 partial_cov; -}; - -struct udp_table { - struct udp_hslot *hash; - struct udp_hslot_main *hash2; - struct udp_hslot *hash4; - unsigned int mask; - unsigned int log; -}; - -struct udp_tunnel_info { - short unsigned int type; - sa_family_t sa_family; - __be16 port; - u8 hw_priv; -}; - -struct udp_tunnel_nic_table_info { - unsigned int n_entries; - unsigned int tunnel_types; -}; - -struct udp_tunnel_nic_shared; - -struct udp_tunnel_nic_info { - int (*set_port)(struct net_device *, unsigned int, unsigned int, struct udp_tunnel_info *); - int (*unset_port)(struct net_device *, unsigned int, unsigned int, struct udp_tunnel_info *); - int (*sync_table)(struct net_device *, unsigned int); - struct udp_tunnel_nic_shared *shared; - unsigned int flags; - struct udp_tunnel_nic_table_info tables[4]; -}; - -struct udp_tunnel_nic_ops { - void (*get_port)(struct net_device *, unsigned int, unsigned int, struct udp_tunnel_info *); - void (*set_port_priv)(struct net_device *, unsigned int, unsigned int, u8); - void (*add_port)(struct net_device *, struct udp_tunnel_info *); - void (*del_port)(struct net_device *, struct udp_tunnel_info *); - void (*reset_ntf)(struct net_device *); - size_t (*dump_size)(struct net_device *, unsigned int); - int (*dump_write)(struct net_device *, unsigned int, struct sk_buff *); - void (*assert_locked)(struct net_device *); - void (*lock)(struct net_device *); - void (*unlock)(struct net_device *); -}; - -struct udp_tunnel_nic_shared { - struct udp_tunnel_nic *udp_tunnel_nic_info; - struct list_head devices; -}; - -typedef struct sk_buff * (*udp_tunnel_gro_rcv_t)(struct sock *, struct list_head *, struct sk_buff *); - -struct udp_tunnel_type_entry { - udp_tunnel_gro_rcv_t gro_receive; - refcount_t count; -}; - -struct udphdr { - __be16 source; - __be16 dest; - __be16 len; - __sum16 check; -}; - -struct uevent_sock { - struct list_head list; - struct sock *sk; -}; - -struct uffd_msg { - __u8 event; - __u8 reserved1; - __u16 reserved2; - __u32 reserved3; - union { - struct { - __u64 flags; - __u64 address; - union { - __u32 ptid; - } feat; - } pagefault; - struct { - __u32 ufd; - } fork; - struct { - __u64 from; - __u64 to; - __u64 len; - } remap; - struct { - __u64 start; - __u64 end; - } remove; - struct { - __u64 reserved1; - __u64 reserved2; - __u64 reserved3; - } reserved; - } arg; -}; - -struct uffdio_api { - __u64 api; - __u64 features; - __u64 ioctls; -}; - -struct uffdio_range { - __u64 start; - __u64 len; -}; - -struct uffdio_continue { - struct uffdio_range range; - __u64 mode; - __s64 mapped; -}; - -struct uffdio_copy { - __u64 dst; - __u64 src; - __u64 len; - __u64 mode; - __s64 copy; -}; - -struct uffdio_move { - __u64 dst; - __u64 src; - __u64 len; - __u64 mode; - __s64 move; -}; - -struct uffdio_poison { - struct uffdio_range range; - __u64 mode; - __s64 updated; -}; - -struct uffdio_register { - struct uffdio_range range; - __u64 mode; - __u64 ioctls; -}; - -struct uffdio_writeprotect { - struct uffdio_range range; - __u64 mode; -}; - -struct uffdio_zeropage { - struct uffdio_range range; - __u64 mode; - __s64 zeropage; -}; - -struct uhci_debug { - int size; - char *data; -}; - -struct uhci_td; - -struct uhci_qh; - -struct uhci_hcd { - long unsigned int io_addr; - void *regs; - struct dma_pool *qh_pool; - struct dma_pool *td_pool; - struct uhci_td *term_td; - struct uhci_qh *skelqh[11]; - struct uhci_qh *next_qh; - spinlock_t lock; - dma_addr_t frame_dma_handle; - __le32 *frame; - void **frame_cpu; - enum uhci_rh_state rh_state; - long unsigned int auto_stop_time; - unsigned int frame_number; - unsigned int is_stopped; - unsigned int last_iso_frame; - unsigned int cur_iso_frame; - unsigned int scan_in_progress: 1; - unsigned int need_rescan: 1; - unsigned int dead: 1; - unsigned int RD_enable: 1; - unsigned int is_initialized: 1; - unsigned int fsbr_is_on: 1; - unsigned int fsbr_is_wanted: 1; - unsigned int fsbr_expiring: 1; - struct timer_list fsbr_timer; - unsigned int oc_low: 1; - unsigned int wait_for_hp: 1; - unsigned int big_endian_mmio: 1; - unsigned int big_endian_desc: 1; - unsigned int is_aspeed: 1; - long unsigned int port_c_suspend; - long unsigned int resuming_ports; - long unsigned int ports_timeout; - struct list_head idle_qh_list; - int rh_numports; - wait_queue_head_t waitqh; - int num_waiting; - int total_load; - short int load[32]; - struct clk *clk; - void (*reset_hc)(struct uhci_hcd *); - int (*check_and_reset_hc)(struct uhci_hcd *); - void (*configure_hc)(struct uhci_hcd *); - int (*resume_detect_interrupts_are_broken)(struct uhci_hcd *); - int (*global_suspend_mode_is_broken)(struct uhci_hcd *); -}; - -struct usb_iso_packet_descriptor; - -struct uhci_qh { - __le32 link; - __le32 element; - dma_addr_t dma_handle; - struct list_head node; - struct usb_host_endpoint *hep; - struct usb_device *udev; - struct list_head queue; - struct uhci_td *dummy_td; - struct uhci_td *post_td; - struct usb_iso_packet_descriptor *iso_packet_desc; - long unsigned int advance_jiffies; - unsigned int unlink_frame; - unsigned int period; - short int phase; - short int load; - unsigned int iso_frame; - int state; - int type; - int skel; - unsigned int initial_toggle: 1; - unsigned int needs_fixup: 1; - unsigned int is_stopped: 1; - unsigned int wait_expired: 1; - unsigned int bandwidth_reserved: 1; -}; - -struct uhci_td { - __le32 link; - __le32 status; - __le32 token; - __le32 buffer; - dma_addr_t dma_handle; - struct list_head list; - int frame; - struct list_head fl_list; -}; - -struct uinput_abs_setup { - __u16 code; - struct input_absinfo absinfo; -}; - -struct uinput_request; - -struct uinput_device { - struct input_dev *dev; - struct mutex mutex; - enum uinput_state state; - wait_queue_head_t waitq; - unsigned char ready; - unsigned char head; - unsigned char tail; - struct input_event buff[16]; - unsigned int ff_effects_max; - struct uinput_request *requests[16]; - wait_queue_head_t requests_waitq; - spinlock_t requests_lock; -}; - -struct uinput_ff_erase { - __u32 request_id; - __s32 retval; - __u32 effect_id; -}; - -struct uinput_ff_upload { - __u32 request_id; - __s32 retval; - struct ff_effect effect; - struct ff_effect old; -}; - -struct uinput_ff_upload_compat { - __u32 request_id; - __s32 retval; - struct ff_effect_compat effect; - struct ff_effect_compat old; -}; - -struct uinput_request { - unsigned int id; - unsigned int code; - int retval; - struct completion done; - union { - unsigned int effect_id; - struct { - struct ff_effect *effect; - struct ff_effect *old; - } upload; - } u; -}; - -struct uinput_setup { - struct input_id id; - char name[80]; - __u32 ff_effects_max; -}; - -struct uinput_user_dev { - char name[80]; - struct input_id id; - __u32 ff_effects_max; - __s32 absmax[64]; - __s32 absmin[64]; - __s32 absfuzz[64]; - __s32 absflat[64]; -}; - -struct ultrix_disklabel { - s32 pt_magic; - s32 pt_valid; - struct pt_info pt_part[8]; -}; - -struct uncached_list { - spinlock_t lock; - struct list_head head; -}; - -struct uncharge_gather { - struct mem_cgroup *memcg; - long unsigned int nr_memory; - long unsigned int pgpgout; - long unsigned int nr_kmem; - int nid; -}; - -struct uncore_event_desc { - struct device_attribute attr; - const char *config; -}; - -struct uncore_global_discovery { - union { - u64 table1; - struct { - u64 type: 8; - u64 stride: 8; - u64 max_units: 10; - u64 __reserved_1: 36; - u64 access_type: 2; - }; - }; - u64 ctl; - union { - u64 table3; - struct { - u64 status_offset: 8; - u64 num_status: 16; - u64 __reserved_2: 40; - }; - }; -}; - -struct uncore_iio_topology { - int pci_bus_no; - int segment; -}; - -struct uncore_unit_discovery { - union { - u64 table1; - struct { - u64 num_regs: 8; - u64 ctl_offset: 8; - u64 bit_width: 8; - u64 ctr_offset: 8; - u64 status_offset: 8; - u64 __reserved_1: 22; - u64 access_type: 2; - }; - }; - u64 ctl; - union { - u64 table3; - struct { - u64 box_type: 16; - u64 box_id: 16; - u64 __reserved_2: 32; - }; - }; -}; - -struct uncore_upi_topology { - int die_to; - int pmu_idx_to; - int enabled; -}; - -struct uni_pagedict { - u16 **uni_pgdir[32]; - long unsigned int refcount; - long unsigned int sum; - unsigned char *inverse_translations[4]; - u16 *inverse_trans_unicode; -}; - -struct utf8data; - -struct utf8data_table; - -struct unicode_map { - unsigned int version; - const struct utf8data *ntab[2]; - const struct utf8data_table *tables; -}; - -struct unipair; - -struct unimapdesc { - short unsigned int entry_ct; - struct unipair *entries; -}; - -struct unipair { - short unsigned int unicode; - short unsigned int fontpos; -}; - -struct unity_map_entry { - struct list_head list; - u16 devid_start; - u16 devid_end; - u64 address_start; - u64 address_end; - int prot; -}; - -struct unix_address { - refcount_t refcnt; - int len; - struct sockaddr_un name[0]; -}; - -struct unix_edge { - struct unix_sock *predecessor; - struct unix_sock *successor; - struct list_head vertex_entry; - struct list_head stack_entry; -}; - -struct unix_peercred { - struct pid *peer_pid; - const struct cred *peer_cred; -}; - -struct unix_skb_parms { - struct pid *pid; - kuid_t uid; - kgid_t gid; - struct scm_fp_list *fp; - u32 secid; - u32 consumed; -}; - -struct unix_vertex; - -struct unix_sock { - struct sock sk; - struct unix_address *addr; - struct path path; - struct mutex iolock; - struct mutex bindlock; - struct sock *peer; - struct sock *listener; - struct unix_vertex *vertex; - spinlock_t lock; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - struct socket_wq peer_wq; - wait_queue_entry_t peer_wake; - struct scm_stat scm_stat; - int inq_len; - bool recvmsg_inq; - struct sk_buff *oob_skb; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct unix_stream_read_state { - int (*recv_actor)(struct sk_buff *, int, int, struct unix_stream_read_state *); - struct socket *socket; - struct msghdr *msg; - struct pipe_inode_info *pipe; - size_t size; - int flags; - unsigned int splice_flags; -}; - -struct unix_vertex { - struct list_head edges; - struct list_head entry; - struct list_head scc_entry; - long unsigned int out_degree; - long unsigned int index; - long unsigned int scc_index; -}; - -struct unixware_slice { - __le16 s_label; - __le16 s_flags; - __le32 start_sect; - __le32 nr_sects; -}; - -struct unixware_vtoc { - __le32 v_magic; - __le32 v_version; - char v_name[8]; - __le16 v_nslices; - __le16 v_unknown1; - __le32 v_reserved[10]; - struct unixware_slice v_slice[16]; -}; - -struct unixware_disklabel { - __le32 d_type; - __le32 d_magic; - __le32 d_version; - char d_serial[12]; - __le32 d_ncylinders; - __le32 d_ntracks; - __le32 d_nsectors; - __le32 d_secsize; - __le32 d_part_start; - __le32 d_unknown1[12]; - __le32 d_alt_tbl; - __le32 d_alt_len; - __le32 d_phys_cyl; - __le32 d_phys_trk; - __le32 d_phys_sec; - __le32 d_phys_bytes; - __le32 d_unknown2; - __le32 d_unknown3; - __le32 d_pad[8]; - struct unixware_vtoc vtoc; -}; - -struct unlink_vma_file_batch { - int count; - struct vm_area_struct *vmas[8]; -}; - -struct unmap_refs_callback_data { - struct completion completion; - int result; -}; - -struct unmap_ring_hvm { - unsigned int idx; - long unsigned int addrs[16]; -}; - -struct unreachable_data { - struct source_location location; -}; - -struct unwind_state { - struct stack_info stack_info; - long unsigned int stack_mask; - struct task_struct *task; - int graph_idx; - struct llist_node *kr_cur; - bool error; - bool got_irq; - long unsigned int *bp; - long unsigned int *orig_sp; - long unsigned int ip; - long unsigned int *next_bp; - struct pt_regs *regs; -}; - -struct update_classid_context { - u32 classid; - unsigned int batch; -}; - -union upper_chunk { - union upper_chunk *next; - union lower_chunk *data[256]; -}; - -struct uprobe { - struct rb_node rb_node; - refcount_t ref; - struct rw_semaphore register_rwsem; - struct rw_semaphore consumer_rwsem; - struct list_head pending_list; - struct list_head consumers; - struct inode *inode; - union { - struct callback_head rcu; - struct work_struct work; - }; - loff_t offset; - loff_t ref_ctr_offset; - long unsigned int flags; - struct arch_uprobe arch; -}; - -struct uprobe_cpu_buffer { - struct mutex mutex; - void *buf; - int dsize; -}; - -struct uprobe_dispatch_data { - struct trace_uprobe *tu; - long unsigned int bp_addr; -}; - -struct uprobe_task { - enum uprobe_task_state state; - unsigned int depth; - struct return_instance *return_instances; - struct return_instance *ri_pool; - struct timer_list ri_timer; - seqcount_t ri_seqcount; - union { - struct { - struct arch_uprobe_task autask; - long unsigned int vaddr; - }; - struct { - struct callback_head dup_xol_work; - long unsigned int dup_xol_addr; - }; - }; - struct uprobe *active_uprobe; - long unsigned int xol_vaddr; - bool signal_denied; - struct arch_uprobe *auprobe; -}; - -struct uprobe_trace_entry_head { - struct trace_entry ent; - long unsigned int vaddr[0]; -}; - -struct uprobe_xol_ops { - bool (*emulate)(struct arch_uprobe *, struct pt_regs *); - int (*pre_xol)(struct arch_uprobe *, struct pt_regs *); - int (*post_xol)(struct arch_uprobe *, struct pt_regs *); - void (*abort)(struct arch_uprobe *, struct pt_regs *); -}; - -typedef void (*usb_complete_t)(struct urb *); - -struct usb_iso_packet_descriptor { - unsigned int offset; - unsigned int length; - unsigned int actual_length; - int status; -}; - -struct usb_anchor; - -struct urb { - struct kref kref; - int unlinked; - void *hcpriv; - atomic_t use_count; - atomic_t reject; - struct list_head urb_list; - struct list_head anchor_list; - struct usb_anchor *anchor; - struct usb_device *dev; - struct usb_host_endpoint *ep; - unsigned int pipe; - unsigned int stream_id; - int status; - unsigned int transfer_flags; - void *transfer_buffer; - dma_addr_t transfer_dma; - struct scatterlist *sg; - struct sg_table *sgt; - int num_mapped_sgs; - int num_sgs; - u32 transfer_buffer_length; - u32 actual_length; - unsigned char *setup_packet; - dma_addr_t setup_dma; - int start_frame; - int number_of_packets; - int interval; - int error_count; - void *context; - usb_complete_t complete; - struct usb_iso_packet_descriptor iso_frame_desc[0]; -}; - -struct urb_priv { - struct ed *ed; - u16 length; - u16 td_cnt; - struct list_head pending; - struct td *td[0]; -}; - -struct urb_priv___2 { - struct list_head node; - struct urb *urb; - struct uhci_qh *qh; - struct list_head td_list; - unsigned int fsbr: 1; -}; - -struct xhci_segment; - -struct xhci_td { - struct list_head td_list; - struct list_head cancelled_td_list; - int status; - enum xhci_cancelled_td_status cancel_status; - struct urb *urb; - struct xhci_segment *start_seg; - union xhci_trb *start_trb; - struct xhci_segment *end_seg; - union xhci_trb *end_trb; - struct xhci_segment *bounce_seg; - bool urb_length_set; - bool error_mid_td; -}; - -struct urb_priv___3 { - int num_tds; - int num_tds_done; - struct xhci_td td[0]; -}; - -typedef struct urb_priv urb_priv_t; - -struct usb2_lpm_parameters { - unsigned int besl; - int timeout; -}; - -struct usb3_lpm_parameters { - unsigned int mel; - unsigned int pel; - unsigned int sel; - int timeout; -}; - -struct usb_anchor { - struct list_head urb_list; - wait_queue_head_t wait; - spinlock_t lock; - atomic_t suspend_wakeups; - unsigned int poisoned: 1; -}; - -struct usb_bos_descriptor { - __u8 bLength; - __u8 bDescriptorType; - __le16 wTotalLength; - __u8 bNumDeviceCaps; -} __attribute__((packed)); - -struct mon_bus; - -struct usb_bus { - struct device *controller; - struct device *sysdev; - int busnum; - const char *bus_name; - u8 uses_pio_for_control; - u8 otg_port; - unsigned int is_b_host: 1; - unsigned int b_hnp_enable: 1; - unsigned int no_stop_on_short: 1; - unsigned int no_sg_constraint: 1; - unsigned int sg_tablesize; - int devnum_next; - struct mutex devnum_next_mutex; - long unsigned int devmap[2]; - struct usb_device *root_hub; - struct usb_bus *hs_companion; - int bandwidth_allocated; - int bandwidth_int_reqs; - int bandwidth_isoc_reqs; - unsigned int resuming_ports; - struct mon_bus *mon_bus; - int monitored; -}; - -struct usb_cdc_acm_descriptor { - __u8 bLength; - __u8 bDescriptorType; - __u8 bDescriptorSubType; - __u8 bmCapabilities; -}; - -struct usb_cdc_call_mgmt_descriptor { - __u8 bLength; - __u8 bDescriptorType; - __u8 bDescriptorSubType; - __u8 bmCapabilities; - __u8 bDataInterface; -}; - -struct usb_cdc_country_functional_desc { - __u8 bLength; - __u8 bDescriptorType; - __u8 bDescriptorSubType; - __u8 iCountryCodeRelDate; - __le16 wCountyCode0; -}; - -struct usb_cdc_dmm_desc { - __u8 bFunctionLength; - __u8 bDescriptorType; - __u8 bDescriptorSubtype; - __u16 bcdVersion; - __le16 wMaxCommand; -} __attribute__((packed)); - -struct usb_cdc_ether_desc { - __u8 bLength; - __u8 bDescriptorType; - __u8 bDescriptorSubType; - __u8 iMACAddress; - __le32 bmEthernetStatistics; - __le16 wMaxSegmentSize; - __le16 wNumberMCFilters; - __u8 bNumberPowerFilters; -} __attribute__((packed)); - -struct usb_cdc_header_desc { - __u8 bLength; - __u8 bDescriptorType; - __u8 bDescriptorSubType; - __le16 bcdCDC; -} __attribute__((packed)); - -struct usb_cdc_mbim_desc { - __u8 bLength; - __u8 bDescriptorType; - __u8 bDescriptorSubType; - __le16 bcdMBIMVersion; - __le16 wMaxControlMessage; - __u8 bNumberFilters; - __u8 bMaxFilterSize; - __le16 wMaxSegmentSize; - __u8 bmNetworkCapabilities; -} __attribute__((packed)); - -struct usb_cdc_mbim_extended_desc { - __u8 bLength; - __u8 bDescriptorType; - __u8 bDescriptorSubType; - __le16 bcdMBIMExtendedVersion; - __u8 bMaxOutstandingCommandMessages; - __le16 wMTU; -} __attribute__((packed)); - -struct usb_cdc_mdlm_desc { - __u8 bLength; - __u8 bDescriptorType; - __u8 bDescriptorSubType; - __le16 bcdVersion; - __u8 bGUID[16]; -} __attribute__((packed)); - -struct usb_cdc_mdlm_detail_desc { - __u8 bLength; - __u8 bDescriptorType; - __u8 bDescriptorSubType; - __u8 bGuidDescriptorType; - __u8 bDetailData[0]; -}; - -struct usb_cdc_ncm_desc { - __u8 bLength; - __u8 bDescriptorType; - __u8 bDescriptorSubType; - __le16 bcdNcmVersion; - __u8 bmNetworkCapabilities; -} __attribute__((packed)); - -struct usb_cdc_network_terminal_desc { - __u8 bLength; - __u8 bDescriptorType; - __u8 bDescriptorSubType; - __u8 bEntityId; - __u8 iName; - __u8 bChannelIndex; - __u8 bPhysicalInterface; -}; - -struct usb_cdc_obex_desc { - __u8 bLength; - __u8 bDescriptorType; - __u8 bDescriptorSubType; - __le16 bcdVersion; -} __attribute__((packed)); - -struct usb_cdc_union_desc; - -struct usb_cdc_parsed_header { - struct usb_cdc_union_desc *usb_cdc_union_desc; - struct usb_cdc_header_desc *usb_cdc_header_desc; - struct usb_cdc_call_mgmt_descriptor *usb_cdc_call_mgmt_descriptor; - struct usb_cdc_acm_descriptor *usb_cdc_acm_descriptor; - struct usb_cdc_country_functional_desc *usb_cdc_country_functional_desc; - struct usb_cdc_network_terminal_desc *usb_cdc_network_terminal_desc; - struct usb_cdc_ether_desc *usb_cdc_ether_desc; - struct usb_cdc_dmm_desc *usb_cdc_dmm_desc; - struct usb_cdc_mdlm_desc *usb_cdc_mdlm_desc; - struct usb_cdc_mdlm_detail_desc *usb_cdc_mdlm_detail_desc; - struct usb_cdc_obex_desc *usb_cdc_obex_desc; - struct usb_cdc_ncm_desc *usb_cdc_ncm_desc; - struct usb_cdc_mbim_desc *usb_cdc_mbim_desc; - struct usb_cdc_mbim_extended_desc *usb_cdc_mbim_extended_desc; - bool phonet_magic_present; -}; - -struct usb_cdc_union_desc { - __u8 bLength; - __u8 bDescriptorType; - __u8 bDescriptorSubType; - __u8 bMasterInterface0; - __u8 bSlaveInterface0; -}; - -struct usb_charger_current { - unsigned int sdp_min; - unsigned int sdp_max; - unsigned int dcp_min; - unsigned int dcp_max; - unsigned int cdp_min; - unsigned int cdp_max; - unsigned int aca_min; - unsigned int aca_max; -}; - -struct usb_class_driver { - char *name; - char * (*devnode)(const struct device *, umode_t *); - const struct file_operations *fops; - int minor_base; -}; - -struct usb_config_descriptor { - __u8 bLength; - __u8 bDescriptorType; - __le16 wTotalLength; - __u8 bNumInterfaces; - __u8 bConfigurationValue; - __u8 iConfiguration; - __u8 bmAttributes; - __u8 bMaxPower; -} __attribute__((packed)); - -struct usb_ctrlrequest { - __u8 bRequestType; - __u8 bRequest; - __le16 wValue; - __le16 wIndex; - __le16 wLength; -}; - -struct usb_dcd_config_params { - __u8 bU1devExitLat; - __le16 bU2DevExitLat; - __u8 besl_baseline; - __u8 besl_deep; -}; - -struct usb_debug_descriptor { - __u8 bLength; - __u8 bDescriptorType; - __u8 bDebugInEndpoint; - __u8 bDebugOutEndpoint; -}; - -struct usb_descriptor_header { - __u8 bLength; - __u8 bDescriptorType; -}; - -struct usb_dev_cap_header { - __u8 bLength; - __u8 bDescriptorType; - __u8 bDevCapabilityType; -}; - -struct usb_dev_state { - struct list_head list; - struct usb_device *dev; - struct file *file; - spinlock_t lock; - struct list_head async_pending; - struct list_head async_completed; - struct list_head memory_list; - wait_queue_head_t wait; - wait_queue_head_t wait_for_resume; - unsigned int discsignr; - struct pid *disc_pid; - const struct cred *cred; - sigval_t disccontext; - long unsigned int ifclaimed; - u32 disabled_bulk_eps; - long unsigned int interface_allowed_mask; - int not_yet_resumed; - bool suspend_allowed; - bool privileges_dropped; -}; - -struct usb_endpoint_descriptor { - __u8 bLength; - __u8 bDescriptorType; - __u8 bEndpointAddress; - __u8 bmAttributes; - __le16 wMaxPacketSize; - __u8 bInterval; - __u8 bRefresh; - __u8 bSynchAddress; -} __attribute__((packed)); - -struct usb_ss_ep_comp_descriptor { - __u8 bLength; - __u8 bDescriptorType; - __u8 bMaxBurst; - __u8 bmAttributes; - __le16 wBytesPerInterval; -}; - -struct usb_ssp_isoc_ep_comp_descriptor { - __u8 bLength; - __u8 bDescriptorType; - __le16 wReseved; - __le32 dwBytesPerInterval; -}; - -struct usb_eusb2_isoc_ep_comp_descriptor { - __u8 bLength; - __u8 bDescriptorType; - __le16 wMaxPacketSize; - __le32 dwBytesPerInterval; -}; - -struct usb_host_endpoint { - struct usb_endpoint_descriptor desc; - struct usb_ss_ep_comp_descriptor ss_ep_comp; - struct usb_ssp_isoc_ep_comp_descriptor ssp_isoc_ep_comp; - struct usb_eusb2_isoc_ep_comp_descriptor eusb2_isoc_ep_comp; - long: 0; - struct list_head urb_list; - void *hcpriv; - struct ep_device *ep_dev; - unsigned char *extra; - int extralen; - int enabled; - int streams; - long: 0; -} __attribute__((packed)); - -struct usb_device_descriptor { - __u8 bLength; - __u8 bDescriptorType; - __le16 bcdUSB; - __u8 bDeviceClass; - __u8 bDeviceSubClass; - __u8 bDeviceProtocol; - __u8 bMaxPacketSize0; - __le16 idVendor; - __le16 idProduct; - __le16 bcdDevice; - __u8 iManufacturer; - __u8 iProduct; - __u8 iSerialNumber; - __u8 bNumConfigurations; -}; - -struct usb_host_bos; - -struct usb_host_config; - -struct usb_device { - int devnum; - char devpath[16]; - u32 route; - enum usb_device_state state; - enum usb_device_speed speed; - unsigned int rx_lanes; - unsigned int tx_lanes; - enum usb_ssp_rate ssp_rate; - struct usb_tt *tt; - int ttport; - unsigned int toggle[2]; - struct usb_device *parent; - struct usb_bus *bus; - struct usb_host_endpoint ep0; - struct device dev; - struct usb_device_descriptor descriptor; - struct usb_host_bos *bos; - struct usb_host_config *config; - struct usb_host_config *actconfig; - struct usb_host_endpoint *ep_in[16]; - struct usb_host_endpoint *ep_out[16]; - char **rawdescriptors; - short unsigned int bus_mA; - u8 portnum; - u8 level; - u8 devaddr; - unsigned int can_submit: 1; - unsigned int persist_enabled: 1; - unsigned int reset_in_progress: 1; - unsigned int have_langid: 1; - unsigned int authorized: 1; - unsigned int authenticated: 1; - unsigned int lpm_capable: 1; - unsigned int lpm_devinit_allow: 1; - unsigned int usb2_hw_lpm_capable: 1; - unsigned int usb2_hw_lpm_besl_capable: 1; - unsigned int usb2_hw_lpm_enabled: 1; - unsigned int usb2_hw_lpm_allowed: 1; - unsigned int usb3_lpm_u1_enabled: 1; - unsigned int usb3_lpm_u2_enabled: 1; - int string_langid; - char *product; - char *manufacturer; - char *serial; - struct list_head filelist; - int maxchild; - u32 quirks; - atomic_t urbnum; - long unsigned int active_duration; - long unsigned int connect_time; - unsigned int do_remote_wakeup: 1; - unsigned int reset_resume: 1; - unsigned int port_is_suspended: 1; - enum usb_link_tunnel_mode tunnel_mode; - struct device_link *usb4_link; - int slot_id; - struct usb2_lpm_parameters l1_params; - struct usb3_lpm_parameters u1_params; - struct usb3_lpm_parameters u2_params; - unsigned int lpm_disable_count; - u16 hub_delay; - unsigned int use_generic_driver: 1; -}; - -struct usb_device_id; - -struct usb_device_driver { - const char *name; - bool (*match)(struct usb_device *); - int (*probe)(struct usb_device *); - void (*disconnect)(struct usb_device *); - int (*suspend)(struct usb_device *, pm_message_t); - int (*resume)(struct usb_device *, pm_message_t); - int (*choose_configuration)(struct usb_device *); - const struct attribute_group **dev_groups; - struct device_driver driver; - const struct usb_device_id *id_table; - unsigned int supports_autosuspend: 1; - unsigned int generic_subclass: 1; -}; - -struct usb_device_id { - __u16 match_flags; - __u16 idVendor; - __u16 idProduct; - __u16 bcdDevice_lo; - __u16 bcdDevice_hi; - __u8 bDeviceClass; - __u8 bDeviceSubClass; - __u8 bDeviceProtocol; - __u8 bInterfaceClass; - __u8 bInterfaceSubClass; - __u8 bInterfaceProtocol; - __u8 bInterfaceNumber; - kernel_ulong_t driver_info; -}; - -struct usb_dynids { - struct list_head list; -}; - -struct usb_interface; - -struct usb_driver { - const char *name; - int (*probe)(struct usb_interface *, const struct usb_device_id *); - void (*disconnect)(struct usb_interface *); - int (*unlocked_ioctl)(struct usb_interface *, unsigned int, void *); - int (*suspend)(struct usb_interface *, pm_message_t); - int (*resume)(struct usb_interface *); - int (*reset_resume)(struct usb_interface *); - int (*pre_reset)(struct usb_interface *); - int (*post_reset)(struct usb_interface *); - void (*shutdown)(struct usb_interface *); - const struct usb_device_id *id_table; - const struct attribute_group **dev_groups; - struct usb_dynids dynids; - struct device_driver driver; - unsigned int no_dynamic_id: 1; - unsigned int supports_autosuspend: 1; - unsigned int disable_hub_initiated_lpm: 1; - unsigned int soft_unbind: 1; -}; - -struct usb_dynid { - struct list_head node; - struct usb_device_id id; -}; - -struct usb_ehci_pdata { - int caps_offset; - unsigned int has_tt: 1; - unsigned int has_synopsys_hc_bug: 1; - unsigned int big_endian_desc: 1; - unsigned int big_endian_mmio: 1; - unsigned int no_io_watchdog: 1; - unsigned int reset_on_resume: 1; - unsigned int dma_mask_64: 1; - unsigned int spurious_oc: 1; - int (*power_on)(struct platform_device *); - void (*power_off)(struct platform_device *); - void (*power_suspend)(struct platform_device *); - int (*pre_setup)(struct usb_hcd *); -}; - -struct usb_ep_caps { - unsigned int type_control: 1; - unsigned int type_iso: 1; - unsigned int type_bulk: 1; - unsigned int type_int: 1; - unsigned int dir_in: 1; - unsigned int dir_out: 1; -}; - -struct usb_ep_ops; - -struct usb_ep { - void *driver_data; - const char *name; - const struct usb_ep_ops *ops; - const struct usb_endpoint_descriptor *desc; - const struct usb_ss_ep_comp_descriptor *comp_desc; - struct list_head ep_list; - struct usb_ep_caps caps; - bool claimed; - bool enabled; - unsigned int mult: 2; - unsigned int maxburst: 5; - u8 address; - u16 maxpacket; - u16 maxpacket_limit; - u16 max_streams; -}; - -struct usb_request; - -struct usb_ep_ops { - int (*enable)(struct usb_ep *, const struct usb_endpoint_descriptor *); - int (*disable)(struct usb_ep *); - void (*dispose)(struct usb_ep *); - struct usb_request * (*alloc_request)(struct usb_ep *, gfp_t); - void (*free_request)(struct usb_ep *, struct usb_request *); - int (*queue)(struct usb_ep *, struct usb_request *, gfp_t); - int (*dequeue)(struct usb_ep *, struct usb_request *); - int (*set_halt)(struct usb_ep *, int); - int (*set_wedge)(struct usb_ep *); - int (*fifo_status)(struct usb_ep *); - void (*fifo_flush)(struct usb_ep *); -}; - -struct usb_ext_cap_descriptor { - __u8 bLength; - __u8 bDescriptorType; - __u8 bDevCapabilityType; - __le32 bmAttributes; -} __attribute__((packed)); - -struct usb_udc; - -struct usb_gadget_ops; - -struct usb_gadget { - struct work_struct work; - struct usb_udc *udc; - const struct usb_gadget_ops *ops; - struct usb_ep *ep0; - struct list_head ep_list; - enum usb_device_speed speed; - enum usb_device_speed max_speed; - enum usb_ssp_rate ssp_rate; - enum usb_ssp_rate max_ssp_rate; - enum usb_device_state state; - spinlock_t state_lock; - bool teardown; - const char *name; - struct device dev; - unsigned int isoch_delay; - unsigned int out_epnum; - unsigned int in_epnum; - unsigned int mA; - struct usb_otg_caps *otg_caps; - unsigned int sg_supported: 1; - unsigned int is_otg: 1; - unsigned int is_a_peripheral: 1; - unsigned int b_hnp_enable: 1; - unsigned int a_hnp_support: 1; - unsigned int a_alt_hnp_support: 1; - unsigned int hnp_polling_support: 1; - unsigned int host_request_flag: 1; - unsigned int quirk_ep_out_aligned_size: 1; - unsigned int quirk_altset_not_supp: 1; - unsigned int quirk_stall_not_supp: 1; - unsigned int quirk_zlp_not_supp: 1; - unsigned int quirk_avoids_skb_reserve: 1; - unsigned int is_selfpowered: 1; - unsigned int deactivated: 1; - unsigned int connected: 1; - unsigned int lpm_capable: 1; - unsigned int wakeup_capable: 1; - unsigned int wakeup_armed: 1; - int irq; - int id_number; -}; - -struct usb_gadget_driver { - char *function; - enum usb_device_speed max_speed; - int (*bind)(struct usb_gadget *, struct usb_gadget_driver *); - void (*unbind)(struct usb_gadget *); - int (*setup)(struct usb_gadget *, const struct usb_ctrlrequest *); - void (*disconnect)(struct usb_gadget *); - void (*suspend)(struct usb_gadget *); - void (*resume)(struct usb_gadget *); - void (*reset)(struct usb_gadget *); - struct device_driver driver; - char *udc_name; - unsigned int match_existing_only: 1; - bool is_bound: 1; -}; - -struct usb_gadget_ops { - int (*get_frame)(struct usb_gadget *); - int (*wakeup)(struct usb_gadget *); - int (*func_wakeup)(struct usb_gadget *, int); - int (*set_remote_wakeup)(struct usb_gadget *, int); - int (*set_selfpowered)(struct usb_gadget *, int); - int (*vbus_session)(struct usb_gadget *, int); - int (*vbus_draw)(struct usb_gadget *, unsigned int); - int (*pullup)(struct usb_gadget *, int); - int (*ioctl)(struct usb_gadget *, unsigned int, long unsigned int); - void (*get_config_params)(struct usb_gadget *, struct usb_dcd_config_params *); - int (*udc_start)(struct usb_gadget *, struct usb_gadget_driver *); - int (*udc_stop)(struct usb_gadget *); - void (*udc_set_speed)(struct usb_gadget *, enum usb_device_speed); - void (*udc_set_ssp_rate)(struct usb_gadget *, enum usb_ssp_rate); - void (*udc_async_callbacks)(struct usb_gadget *, bool); - struct usb_ep * (*match_ep)(struct usb_gadget *, struct usb_endpoint_descriptor *, struct usb_ss_ep_comp_descriptor *); - int (*check_config)(struct usb_gadget *); -}; - -struct usb_phy_roothub; - -struct usb_hcd { - struct usb_bus self; - struct kref kref; - const char *product_desc; - int speed; - char irq_descr[24]; - struct timer_list rh_timer; - struct urb *status_urb; - struct work_struct wakeup_work; - struct work_struct died_work; - const struct hc_driver *driver; - struct usb_phy *usb_phy; - struct usb_phy_roothub *phy_roothub; - long unsigned int flags; - enum usb_dev_authorize_policy dev_policy; - unsigned int rh_registered: 1; - unsigned int rh_pollable: 1; - unsigned int msix_enabled: 1; - unsigned int msi_enabled: 1; - unsigned int skip_phy_initialization: 1; - unsigned int uses_new_polling: 1; - unsigned int has_tt: 1; - unsigned int amd_resume_bug: 1; - unsigned int can_do_streams: 1; - unsigned int tpl_support: 1; - unsigned int cant_recv_wakeups: 1; - unsigned int irq; - void *regs; - resource_size_t rsrc_start; - resource_size_t rsrc_len; - unsigned int power_budget; - struct giveback_urb_bh high_prio_bh; - struct giveback_urb_bh low_prio_bh; - struct mutex *address0_mutex; - struct mutex *bandwidth_mutex; - struct usb_hcd *shared_hcd; - struct usb_hcd *primary_hcd; - struct dma_pool *pool[4]; - int state; - struct gen_pool *localmem_pool; - long unsigned int hcd_priv[0]; -}; - -struct usb_ss_cap_descriptor; - -struct usb_ssp_cap_descriptor; - -struct usb_ss_container_id_descriptor; - -struct usb_ptm_cap_descriptor; - -struct usb_host_bos { - struct usb_bos_descriptor *desc; - struct usb_ext_cap_descriptor *ext_cap; - struct usb_ss_cap_descriptor *ss_cap; - struct usb_ssp_cap_descriptor *ssp_cap; - struct usb_ss_container_id_descriptor *ss_id; - struct usb_ptm_cap_descriptor *ptm_cap; -}; - -struct usb_interface_assoc_descriptor; - -struct usb_interface_cache; - -struct usb_host_config { - struct usb_config_descriptor desc; - char *string; - struct usb_interface_assoc_descriptor *intf_assoc[16]; - struct usb_interface *interface[32]; - struct usb_interface_cache *intf_cache[32]; - unsigned char *extra; - int extralen; -}; - -struct usb_interface_descriptor { - __u8 bLength; - __u8 bDescriptorType; - __u8 bInterfaceNumber; - __u8 bAlternateSetting; - __u8 bNumEndpoints; - __u8 bInterfaceClass; - __u8 bInterfaceSubClass; - __u8 bInterfaceProtocol; - __u8 iInterface; -}; - -struct usb_host_interface { - struct usb_interface_descriptor desc; - int extralen; - unsigned char *extra; - struct usb_host_endpoint *endpoint; - char *string; -}; - -struct usb_hub_status { - __le16 wHubStatus; - __le16 wHubChange; -}; - -struct usb_port_status { - __le16 wPortStatus; - __le16 wPortChange; - __le32 dwExtPortStatus; -}; - -struct usb_tt { - struct usb_device *hub; - int multi; - unsigned int think_time; - void *hcpriv; - spinlock_t lock; - struct list_head clear_list; - struct work_struct clear_work; -}; - -struct usb_hub_descriptor; - -struct usb_port; - -struct usb_hub { - struct device *intfdev; - struct usb_device *hdev; - struct kref kref; - struct urb *urb; - u8 (*buffer)[8]; - union { - struct usb_hub_status hub; - struct usb_port_status port; - } *status; - struct mutex status_mutex; - int error; - int nerrors; - long unsigned int event_bits[1]; - long unsigned int change_bits[1]; - long unsigned int removed_bits[1]; - long unsigned int wakeup_bits[1]; - long unsigned int power_bits[1]; - long unsigned int child_usage_bits[1]; - long unsigned int warm_reset_bits[1]; - struct usb_hub_descriptor *descriptor; - struct usb_tt tt; - unsigned int mA_per_port; - unsigned int wakeup_enabled_descendants; - unsigned int limited_power: 1; - unsigned int quiescing: 1; - unsigned int disconnected: 1; - unsigned int in_reset: 1; - unsigned int quirk_disable_autosuspend: 1; - unsigned int quirk_check_port_auto_suspend: 1; - unsigned int has_indicators: 1; - u8 indicator[31]; - struct delayed_work leds; - struct delayed_work init_work; - struct delayed_work post_resume_work; - struct work_struct events; - spinlock_t irq_urb_lock; - struct timer_list irq_urb_retry; - struct usb_port **ports; - struct list_head onboard_devs; -}; - -struct usb_hub_descriptor { - __u8 bDescLength; - __u8 bDescriptorType; - __u8 bNbrPorts; - __le16 wHubCharacteristics; - __u8 bPwrOn2PwrGood; - __u8 bHubContrCurrent; - union { - struct { - __u8 DeviceRemovable[4]; - __u8 PortPwrCtrlMask[4]; - } hs; - struct { - __u8 bHubHdrDecLat; - __le16 wHubDelay; - __le16 DeviceRemovable; - } __attribute__((packed)) ss; - } u; -} __attribute__((packed)); - -struct usb_interface { - struct usb_host_interface *altsetting; - struct usb_host_interface *cur_altsetting; - unsigned int num_altsetting; - struct usb_interface_assoc_descriptor *intf_assoc; - int minor; - enum usb_interface_condition condition; - unsigned int sysfs_files_created: 1; - unsigned int ep_devs_created: 1; - unsigned int unregistering: 1; - unsigned int needs_remote_wakeup: 1; - unsigned int needs_altsetting0: 1; - unsigned int needs_binding: 1; - unsigned int resetting_device: 1; - unsigned int authorized: 1; - enum usb_wireless_status wireless_status; - struct work_struct wireless_status_work; - struct device dev; - struct device *usb_dev; - struct work_struct reset_ws; -}; - -struct usb_interface_assoc_descriptor { - __u8 bLength; - __u8 bDescriptorType; - __u8 bFirstInterface; - __u8 bInterfaceCount; - __u8 bFunctionClass; - __u8 bFunctionSubClass; - __u8 bFunctionProtocol; - __u8 iFunction; -}; - -struct usb_interface_cache { - unsigned int num_altsetting; - struct kref ref; - struct usb_host_interface altsetting[0]; -}; - -struct usb_memory { - struct list_head memlist; - int vma_use_count; - int urb_use_count; - u32 size; - void *mem; - dma_addr_t dma_handle; - long unsigned int vm_start; - struct usb_dev_state *ps; -}; - -struct usb_mon_operations { - void (*urb_submit)(struct usb_bus *, struct urb *); - void (*urb_submit_error)(struct usb_bus *, struct urb *, int); - void (*urb_complete)(struct usb_bus *, struct urb *, int); -}; - -struct usb_ohci_pdata { - unsigned int big_endian_desc: 1; - unsigned int big_endian_mmio: 1; - unsigned int no_big_frame_no: 1; - unsigned int num_ports; - int (*power_on)(struct platform_device *); - void (*power_off)(struct platform_device *); - void (*power_suspend)(struct platform_device *); -}; - -struct usb_otg { - u8 default_a; - struct phy *phy; - struct usb_phy *usb_phy; - struct usb_bus *host; - struct usb_gadget *gadget; - enum usb_otg_state state; - int (*set_host)(struct usb_otg *, struct usb_bus *); - int (*set_peripheral)(struct usb_otg *, struct usb_gadget *); - int (*set_vbus)(struct usb_otg *, bool); - int (*start_srp)(struct usb_otg *); - int (*start_hnp)(struct usb_otg *); -}; - -struct usb_phy_io_ops; - -struct usb_phy { - struct device *dev; - const char *label; - unsigned int flags; - enum usb_phy_type type; - enum usb_phy_events last_event; - struct usb_otg *otg; - struct device *io_dev; - struct usb_phy_io_ops *io_ops; - void *io_priv; - struct extcon_dev *edev; - struct extcon_dev *id_edev; - struct notifier_block vbus_nb; - struct notifier_block id_nb; - struct notifier_block type_nb; - enum usb_charger_type chg_type; - enum usb_charger_state chg_state; - struct usb_charger_current chg_cur; - struct work_struct chg_work; - struct atomic_notifier_head notifier; - u16 port_status; - u16 port_change; - struct list_head head; - int (*init)(struct usb_phy *); - void (*shutdown)(struct usb_phy *); - int (*set_vbus)(struct usb_phy *, int); - int (*set_power)(struct usb_phy *, unsigned int); - int (*set_suspend)(struct usb_phy *, int); - int (*set_wakeup)(struct usb_phy *, bool); - int (*notify_connect)(struct usb_phy *, enum usb_device_speed); - int (*notify_disconnect)(struct usb_phy *, enum usb_device_speed); - enum usb_charger_type (*charger_detect)(struct usb_phy *); -}; - -struct usb_phy_io_ops { - int (*read)(struct usb_phy *, u32); - int (*write)(struct usb_phy *, u32, u32); -}; - -struct usb_phy_roothub { - struct phy *phy; - struct list_head list; -}; - -struct usb_port { - struct usb_device *child; - struct device dev; - struct usb_dev_state *port_owner; - struct usb_port *peer; - struct typec_connector *connector; - struct dev_pm_qos_request *req; - enum usb_port_connect_type connect_type; - enum usb_device_state state; - struct kernfs_node *state_kn; - usb_port_location_t location; - struct mutex status_lock; - u32 over_current_count; - u8 portnum; - u32 quirks; - unsigned int early_stop: 1; - unsigned int ignore_event: 1; - unsigned int is_superspeed: 1; - unsigned int usb3_lpm_u1_permit: 1; - unsigned int usb3_lpm_u2_permit: 1; -}; - -struct usb_ptm_cap_descriptor { - __u8 bLength; - __u8 bDescriptorType; - __u8 bDevCapabilityType; -}; - -struct usb_qualifier_descriptor { - __u8 bLength; - __u8 bDescriptorType; - __le16 bcdUSB; - __u8 bDeviceClass; - __u8 bDeviceSubClass; - __u8 bDeviceProtocol; - __u8 bMaxPacketSize0; - __u8 bNumConfigurations; - __u8 bRESERVED; -}; - -struct usb_request { - struct usb_ep *ep; - void *buf; - unsigned int length; - dma_addr_t dma; - struct scatterlist *sg; - unsigned int num_sgs; - unsigned int num_mapped_sgs; - unsigned int stream_id: 16; - unsigned int is_last: 1; - unsigned int no_interrupt: 1; - unsigned int zero: 1; - unsigned int short_not_ok: 1; - unsigned int dma_mapped: 1; - unsigned int sg_was_mapped: 1; - void (*complete)(struct usb_ep *, struct usb_request *); - void *context; - struct list_head list; - unsigned int frame_number; - int status; - unsigned int actual; -}; - -typedef int (*usb_role_switch_set_t)(struct usb_role_switch *, enum usb_role); - -typedef enum usb_role (*usb_role_switch_get_t)(struct usb_role_switch *); - -struct usb_role_switch { - struct device dev; - struct lock_class_key key; - struct mutex lock; - struct module *module; - enum usb_role role; - bool registered; - struct device *usb2_port; - struct device *usb3_port; - struct device *udc; - usb_role_switch_set_t set; - usb_role_switch_get_t get; - bool allow_userspace_control; -}; - -struct usb_role_switch_desc { - struct fwnode_handle *fwnode; - struct device *usb2_port; - struct device *usb3_port; - struct device *udc; - usb_role_switch_set_t set; - usb_role_switch_get_t get; - bool allow_userspace_control; - void *driver_data; - const char *name; -}; - -struct usb_set_sel_req { - __u8 u1_sel; - __u8 u1_pel; - __le16 u2_sel; - __le16 u2_pel; -}; - -struct usb_sg_request { - int status; - size_t bytes; - spinlock_t lock; - struct usb_device *dev; - int pipe; - int entries; - struct urb **urbs; - int count; - struct completion complete; -}; - -struct usb_ss_cap_descriptor { - __u8 bLength; - __u8 bDescriptorType; - __u8 bDevCapabilityType; - __u8 bmAttributes; - __le16 wSpeedSupported; - __u8 bFunctionalitySupport; - __u8 bU1devExitLat; - __le16 bU2DevExitLat; -}; - -struct usb_ss_container_id_descriptor { - __u8 bLength; - __u8 bDescriptorType; - __u8 bDevCapabilityType; - __u8 bReserved; - __u8 ContainerID[16]; -}; - -struct usb_ssp_cap_descriptor { - __u8 bLength; - __u8 bDescriptorType; - __u8 bDevCapabilityType; - __u8 bReserved; - __le32 bmAttributes; - __le16 wFunctionalitySupport; - __le16 wReserved; - union { - __le32 legacy_padding; - struct { - struct {} __empty_bmSublinkSpeedAttr; - __le32 bmSublinkSpeedAttr[0]; - }; - }; -}; - -struct usb_string_descriptor { - __u8 bLength; - __u8 bDescriptorType; - union { - __le16 legacy_padding; - struct { - struct {} __empty_wData; - __le16 wData[0]; - }; - }; -}; - -struct usb_tt_clear { - struct list_head clear_list; - unsigned int tt; - u16 devinfo; - struct usb_hcd *hcd; - struct usb_host_endpoint *ep; -}; - -struct usbdevfs_bulktransfer { - unsigned int ep; - unsigned int len; - unsigned int timeout; - void *data; -}; - -struct usbdevfs_bulktransfer32 { - compat_uint_t ep; - compat_uint_t len; - compat_uint_t timeout; - compat_caddr_t data; -}; - -struct usbdevfs_connectinfo { - unsigned int devnum; - unsigned char slow; -}; - -struct usbdevfs_conninfo_ex { - __u32 size; - __u32 busnum; - __u32 devnum; - __u32 speed; - __u8 num_ports; - __u8 ports[7]; -}; - -struct usbdevfs_ctrltransfer { - __u8 bRequestType; - __u8 bRequest; - __u16 wValue; - __u16 wIndex; - __u16 wLength; - __u32 timeout; - void *data; -}; - -struct usbdevfs_ctrltransfer32 { - u8 bRequestType; - u8 bRequest; - u16 wValue; - u16 wIndex; - u16 wLength; - u32 timeout; - compat_caddr_t data; -}; - -struct usbdevfs_disconnect_claim { - unsigned int interface; - unsigned int flags; - char driver[256]; -}; - -struct usbdevfs_disconnectsignal { - unsigned int signr; - void *context; -}; - -struct usbdevfs_disconnectsignal32 { - compat_int_t signr; - compat_caddr_t context; -}; - -struct usbdevfs_getdriver { - unsigned int interface; - char driver[256]; -}; - -struct usbdevfs_hub_portinfo { - char nports; - char port[127]; -}; - -struct usbdevfs_ioctl { - int ifno; - int ioctl_code; - void *data; -}; - -struct usbdevfs_ioctl32 { - s32 ifno; - s32 ioctl_code; - compat_caddr_t data; -}; - -struct usbdevfs_iso_packet_desc { - unsigned int length; - unsigned int actual_length; - unsigned int status; -}; - -struct usbdevfs_setinterface { - unsigned int interface; - unsigned int altsetting; -}; - -struct usbdevfs_streams { - unsigned int num_streams; - unsigned int num_eps; - unsigned char eps[0]; -}; - -struct usbdevfs_urb { - unsigned char type; - unsigned char endpoint; - int status; - unsigned int flags; - void *buffer; - int buffer_length; - int actual_length; - int start_frame; - union { - int number_of_packets; - unsigned int stream_id; - }; - int error_count; - unsigned int signr; - void *usercontext; - struct usbdevfs_iso_packet_desc iso_frame_desc[0]; -}; - -struct usbdevfs_urb32 { - unsigned char type; - unsigned char endpoint; - compat_int_t status; - compat_uint_t flags; - compat_caddr_t buffer; - compat_int_t buffer_length; - compat_int_t actual_length; - compat_int_t start_frame; - compat_int_t number_of_packets; - compat_int_t error_count; - compat_uint_t signr; - compat_caddr_t usercontext; - struct usbdevfs_iso_packet_desc iso_frame_desc[0]; -}; - -struct used_address { - struct __kernel_sockaddr_storage name; - unsigned int name_len; -}; - -struct user_arg_ptr { - bool is_compat; - union { - const char * const *native; - const compat_uptr_t *compat; - } ptr; -}; - -struct user_datum { - u32 value; - u32 bounds; - struct ebitmap roles; - struct mls_range range; - struct mls_level dfltlevel; -}; - -struct user_desc { - unsigned int entry_number; - unsigned int base_addr; - unsigned int limit; - unsigned int seg_32bit: 1; - unsigned int contents: 2; - unsigned int read_exec_only: 1; - unsigned int limit_in_pages: 1; - unsigned int seg_not_present: 1; - unsigned int useable: 1; - unsigned int lm: 1; -}; - -struct user_event_group; - -struct user_event { - struct user_event_group *group; - char *reg_name; - struct tracepoint tracepoint; - struct trace_event_call call; - struct trace_event_class class; - struct dyn_event devent; - struct hlist_node node; - struct list_head fields; - struct list_head validators; - struct work_struct put_work; - refcount_t refcnt; - int min_size; - int reg_flags; - char status; -}; - -struct user_event_enabler { - struct list_head mm_enablers_link; - struct user_event *event; - long unsigned int addr; - long unsigned int values; -}; - -struct user_event_enabler_fault { - struct work_struct work; - struct user_event_mm *mm; - struct user_event_enabler *enabler; - int attempt; -}; - -struct user_event_refs; - -struct user_event_file_info { - struct user_event_group *group; - struct user_event_refs *refs; -}; - -struct user_event_group { - char *system_name; - char *system_multi_name; - struct hlist_node node; - struct mutex reg_mutex; - struct hlist_head register_table[256]; - u64 multi_id; -}; - -struct user_event_mm { - struct list_head mms_link; - struct list_head enablers; - struct mm_struct *mm; - struct user_event_mm *next; - refcount_t refcnt; - refcount_t tasks; - struct rcu_work put_rwork; -}; - -struct user_event_refs { - struct callback_head rcu; - int count; - struct user_event *events[0]; -}; - -struct user_event_validator { - struct list_head user_event_link; - int offset; - int flags; -}; - -struct user_i387_ia32_struct { - u32 cwd; - u32 swd; - u32 twd; - u32 fip; - u32 fcs; - u32 foo; - u32 fos; - u32 st_space[20]; -}; - -struct user_key_payload { - struct callback_head rcu; - short unsigned int datalen; - long: 0; - char data[0]; -}; - -struct user_namespace { - struct uid_gid_map uid_map; - struct uid_gid_map gid_map; - struct uid_gid_map projid_map; - struct user_namespace *parent; - int level; - kuid_t owner; - kgid_t group; - struct ns_common ns; - long unsigned int flags; - bool parent_could_setfcap; - struct list_head keyring_name_list; - struct key *user_keyring_register; - struct rw_semaphore keyring_sem; - struct key *persistent_keyring_register; - struct work_struct work; - struct ctl_table_set set; - struct ctl_table_header *sysctls; - struct ucounts *ucounts; - long int ucount_max[12]; - long int rlimit_max[4]; - struct binfmt_misc *binfmt_misc; -}; - -struct user_reg { - __u32 size; - __u8 enable_bit; - __u8 enable_size; - __u16 flags; - __u64 enable_addr; - __u64 name_args; - __u32 write_index; -} __attribute__((packed)); - -struct user_regset; - -typedef int user_regset_get2_fn(struct task_struct *, const struct user_regset *, struct membuf); - -typedef int user_regset_set_fn(struct task_struct *, const struct user_regset *, unsigned int, unsigned int, const void *, const void *); - -typedef int user_regset_active_fn(struct task_struct *, const struct user_regset *); - -typedef int user_regset_writeback_fn(struct task_struct *, const struct user_regset *, int); - -struct user_regset { - user_regset_get2_fn *regset_get; - user_regset_set_fn *set; - user_regset_active_fn *active; - user_regset_writeback_fn *writeback; - unsigned int n; - unsigned int size; - unsigned int align; - unsigned int bias; - unsigned int core_note_type; - const char *core_note_name; -}; - -struct user_regset_view { - const char *name; - const struct user_regset *regsets; - unsigned int n; - u32 e_flags; - u16 e_machine; - u8 ei_osabi; -}; - -struct user_return_notifier { - void (*on_user_return)(struct user_return_notifier *); - struct hlist_node link; -}; - -struct user_struct { - refcount_t __count; - struct percpu_counter epoll_watches; - long unsigned int unix_inflight; - atomic_long_t pipe_bufs; - struct hlist_node uidhash_node; - kuid_t uid; - atomic_long_t locked_vm; - atomic_t nr_watches; - struct ratelimit_state ratelimit; -}; - -struct user_syms { - const char **syms; - char *buf; -}; - -struct user_threshold { - struct list_head list_node; - int temperature; - int direction; -}; - -struct user_unreg { - __u32 size; - __u8 disable_bit; - __u8 __reserved; - __u16 __reserved2; - __u64 disable_addr; -}; - -struct userfaultfd_ctx { - wait_queue_head_t fault_pending_wqh; - wait_queue_head_t fault_wqh; - wait_queue_head_t fd_wqh; - wait_queue_head_t event_wqh; - seqcount_spinlock_t refile_seq; - refcount_t refcount; - unsigned int flags; - unsigned int features; - bool released; - struct rw_semaphore map_changing_lock; - atomic_t mmap_changing; - struct mm_struct *mm; -}; - -struct userfaultfd_fork_ctx { - struct userfaultfd_ctx *orig; - struct userfaultfd_ctx *new; - struct list_head list; -}; - -struct userfaultfd_unmap_ctx { - struct userfaultfd_ctx *ctx; - long unsigned int start; - long unsigned int end; - struct list_head list; -}; - -struct userfaultfd_wait_queue { - struct uffd_msg msg; - wait_queue_entry_t wq; - struct userfaultfd_ctx *ctx; - bool waken; -}; - -struct userfaultfd_wake_range { - long unsigned int start; - long unsigned int len; -}; - -struct userspace_data { - long unsigned int user_frequency; - bool valid; -}; - -struct userspace_policy { - unsigned int is_managed; - unsigned int setspeed; - struct mutex mutex; -}; - -struct userstack_entry { - struct trace_entry ent; - unsigned int tgid; - long unsigned int caller[8]; -}; - -struct ustat { - __kernel_daddr_t f_tfree; - long unsigned int f_tinode; - char f_fname[6]; - char f_fpack[6]; -}; - -struct ustring_buffer { - char buffer[1024]; -}; - -struct utf8_table { - int cmask; - int cval; - int shift; - long int lmask; - long int lval; -}; - -struct utf8cursor { - const struct unicode_map *um; - enum utf8_normalization n; - const char *s; - const char *p; - const char *ss; - const char *sp; - unsigned int len; - unsigned int slen; - short int ccc; - short int nccc; - unsigned char hangul[12]; -}; - -struct utf8data { - unsigned int maxage; - unsigned int offset; -}; - -struct utf8data_table { - const unsigned int *utf8agetab; - int utf8agetab_size; - const struct utf8data *utf8nfdicfdata; - int utf8nfdicfdata_size; - const struct utf8data *utf8nfdidata; - int utf8nfdidata_size; - const unsigned char *utf8data; -}; - -struct utimbuf { - __kernel_old_time_t actime; - __kernel_old_time_t modtime; -}; - -struct uts_namespace { - struct new_utsname name; - struct user_namespace *user_ns; - struct ucounts *ucounts; - struct ns_common ns; -}; - -union uu { - short unsigned int us; - unsigned char b[2]; -}; - -struct uuidcmp { - const char *uuid; - int len; -}; - -struct uv2h_gr0_gam_gr_config_s { - long unsigned int n_gr: 4; - long unsigned int reserved: 60; -}; - -struct uv2h_node_id_s { - long unsigned int force1: 1; - long unsigned int manufacturer: 11; - long unsigned int part_number: 16; - long unsigned int revision: 4; - long unsigned int node_id: 15; - long unsigned int rsvd_47_49: 3; - long unsigned int nodes_per_bit: 7; - long unsigned int ni_port: 5; - long unsigned int rsvd_62_63: 2; -}; - -struct uv2h_rh_gam_addr_map_config_s { - long unsigned int m_skt: 6; - long unsigned int n_skt: 4; - long unsigned int rsvd_10_63: 54; -}; - -struct uv2h_rh_gam_alias_2_overlay_config_s { - long unsigned int rsvd_0_23: 24; - long unsigned int base: 8; - long unsigned int rsvd_32_47: 16; - long unsigned int m_alias: 5; - long unsigned int rsvd_53_62: 10; - long unsigned int enable: 1; -}; - -struct uv2h_rh_gam_alias_2_redirect_config_s { - long unsigned int rsvd_0_23: 24; - long unsigned int dest_base: 22; - long unsigned int rsvd_46_63: 18; -}; - -struct uv2h_rh_gam_gru_overlay_config_s { - long unsigned int rsvd_0_27: 28; - long unsigned int base: 18; - long unsigned int rsvd_46_51: 6; - long unsigned int n_gru: 4; - long unsigned int rsvd_56_62: 7; - long unsigned int enable: 1; -}; - -struct uv2h_rh_gam_mmioh_overlay_config_s { - long unsigned int rsvd_0_26: 27; - long unsigned int base: 19; - long unsigned int m_io: 6; - long unsigned int n_io: 4; - long unsigned int rsvd_56_62: 7; - long unsigned int enable: 1; -}; - -struct uv2h_rh_gam_mmr_overlay_config_s { - long unsigned int rsvd_0_25: 26; - long unsigned int base: 20; - long unsigned int rsvd_46_62: 17; - long unsigned int enable: 1; -}; - -struct uv3h_gr0_gam_gr_config_s { - long unsigned int m_skt: 6; - long unsigned int undef_6_9: 4; - long unsigned int subspace: 1; - long unsigned int reserved: 53; -}; - -struct uv3h_node_id_s { - long unsigned int force1: 1; - long unsigned int manufacturer: 11; - long unsigned int part_number: 16; - long unsigned int revision: 4; - long unsigned int node_id: 15; - long unsigned int rsvd_47: 1; - long unsigned int router_select: 1; - long unsigned int rsvd_49: 1; - long unsigned int nodes_per_bit: 7; - long unsigned int ni_port: 5; - long unsigned int rsvd_62_63: 2; -}; - -struct uv3h_rh_gam_addr_map_config_s { - long unsigned int m_skt: 6; - long unsigned int n_skt: 4; - long unsigned int rsvd_10_63: 54; -}; - -struct uv3h_rh_gam_alias_2_overlay_config_s { - long unsigned int rsvd_0_23: 24; - long unsigned int base: 8; - long unsigned int rsvd_32_47: 16; - long unsigned int m_alias: 5; - long unsigned int rsvd_53_62: 10; - long unsigned int enable: 1; -}; - -struct uv3h_rh_gam_alias_2_redirect_config_s { - long unsigned int rsvd_0_23: 24; - long unsigned int dest_base: 22; - long unsigned int rsvd_46_63: 18; -}; - -struct uv3h_rh_gam_gru_overlay_config_s { - long unsigned int rsvd_0_27: 28; - long unsigned int base: 18; - long unsigned int rsvd_46_51: 6; - long unsigned int n_gru: 4; - long unsigned int rsvd_56_61: 6; - long unsigned int mode: 1; - long unsigned int enable: 1; -}; - -struct uv3h_rh_gam_mmioh_overlay_config0_s { - long unsigned int rsvd_0_25: 26; - long unsigned int base: 20; - long unsigned int m_io: 6; - long unsigned int n_io: 4; - long unsigned int rsvd_56_62: 7; - long unsigned int enable: 1; -}; - -struct uv3h_rh_gam_mmioh_overlay_config1_s { - long unsigned int rsvd_0_25: 26; - long unsigned int base: 20; - long unsigned int m_io: 6; - long unsigned int n_io: 4; - long unsigned int rsvd_56_62: 7; - long unsigned int enable: 1; -}; - -struct uv3h_rh_gam_mmr_overlay_config_s { - long unsigned int rsvd_0_25: 26; - long unsigned int base: 20; - long unsigned int rsvd_46_62: 17; - long unsigned int enable: 1; -}; - -struct uv4ah_rh_gam_gru_overlay_config_s { - long unsigned int rsvd_0_24: 25; - long unsigned int undef_25: 1; - long unsigned int base: 26; - long unsigned int n_gru: 4; - long unsigned int rsvd_56_62: 7; - long unsigned int enable: 1; -}; - -struct uv4ah_rh_gam_mmioh_overlay_config0_mmr_s { - long unsigned int rsvd_0_25: 26; - long unsigned int base: 26; - long unsigned int m_io: 6; - long unsigned int n_io: 4; - long unsigned int undef_62: 1; - long unsigned int enable: 1; -}; - -struct uv4ah_rh_gam_mmioh_overlay_config1_mmr_s { - long unsigned int rsvd_0_25: 26; - long unsigned int base: 26; - long unsigned int m_io: 6; - long unsigned int n_io: 4; - long unsigned int undef_62: 1; - long unsigned int enable: 1; -}; - -struct uv4h_gr0_gam_gr_config_s { - long unsigned int rsvd_0_9: 10; - long unsigned int subspace: 1; - long unsigned int rsvd_11_63: 53; -}; - -struct uv4h_node_id_s { - long unsigned int force1: 1; - long unsigned int manufacturer: 11; - long unsigned int part_number: 16; - long unsigned int revision: 4; - long unsigned int node_id: 15; - long unsigned int rsvd_47: 1; - long unsigned int router_select: 1; - long unsigned int rsvd_49: 1; - long unsigned int nodes_per_bit: 7; - long unsigned int ni_port: 5; - long unsigned int rsvd_62_63: 2; -}; - -struct uv4h_rh_gam_addr_map_config_s { - long unsigned int rsvd_0_5: 6; - long unsigned int n_skt: 4; - long unsigned int rsvd_10_63: 54; -}; - -struct uv4h_rh_gam_alias_2_overlay_config_s { - long unsigned int rsvd_0_23: 24; - long unsigned int base: 8; - long unsigned int rsvd_32_47: 16; - long unsigned int m_alias: 5; - long unsigned int rsvd_53_62: 10; - long unsigned int enable: 1; -}; - -struct uv4h_rh_gam_alias_2_redirect_config_s { - long unsigned int rsvd_0_23: 24; - long unsigned int dest_base: 22; - long unsigned int rsvd_46_63: 18; -}; - -struct uv4h_rh_gam_gru_overlay_config_s { - long unsigned int rsvd_0_24: 25; - long unsigned int undef_25: 1; - long unsigned int base: 20; - long unsigned int rsvd_46_51: 6; - long unsigned int n_gru: 4; - long unsigned int rsvd_56_62: 7; - long unsigned int enable: 1; -}; - -struct uv4h_rh_gam_mmioh_overlay_config0_s { - long unsigned int rsvd_0_25: 26; - long unsigned int base: 20; - long unsigned int m_io: 6; - long unsigned int n_io: 4; - long unsigned int rsvd_56_62: 7; - long unsigned int enable: 1; -}; - -struct uv4h_rh_gam_mmioh_overlay_config1_s { - long unsigned int rsvd_0_25: 26; - long unsigned int base: 20; - long unsigned int m_io: 6; - long unsigned int n_io: 4; - long unsigned int rsvd_56_62: 7; - long unsigned int enable: 1; -}; - -struct uv4h_rh_gam_mmr_overlay_config_s { - long unsigned int rsvd_0_25: 26; - long unsigned int base: 20; - long unsigned int rsvd_46_62: 17; - long unsigned int enable: 1; -}; - -struct uv5h_gr0_gam_gr_config_s { - long unsigned int rsvd_0_9: 10; - long unsigned int subspace: 1; - long unsigned int rsvd_11_63: 53; -}; - -struct uv5h_node_id_s { - long unsigned int force1: 1; - long unsigned int manufacturer: 11; - long unsigned int part_number: 16; - long unsigned int revision: 4; - long unsigned int node_id: 7; - long unsigned int rsvd_39_56: 18; - long unsigned int ni_port: 6; - long unsigned int rsvd_63: 1; -}; - -struct uv5h_rh10_gam_addr_map_config_s { - long unsigned int undef_0_5: 6; - long unsigned int n_skt: 3; - long unsigned int undef_9_11: 3; - long unsigned int ls_enable: 1; - long unsigned int undef_13_15: 3; - long unsigned int mk_tme_keyid_bits: 4; -}; - -struct uv5h_rh10_gam_mmioh_overlay_config0_s { - long unsigned int rsvd_0_25: 26; - long unsigned int base: 26; - long unsigned int m_io: 6; - long unsigned int n_io: 4; - long unsigned int undef_62: 1; - long unsigned int enable: 1; -}; - -struct uv5h_rh10_gam_mmioh_overlay_config1_s { - long unsigned int rsvd_0_25: 26; - long unsigned int base: 26; - long unsigned int m_io: 6; - long unsigned int n_io: 4; - long unsigned int undef_62: 1; - long unsigned int enable: 1; -}; - -struct uv5h_rh10_gam_mmr_overlay_config_s { - long unsigned int undef_0_24: 25; - long unsigned int base: 27; - long unsigned int undef_52_62: 11; - long unsigned int enable: 1; -}; - -struct uv_IO_APIC_route_entry { - __u64 vector: 8; - __u64 delivery_mode: 3; - __u64 dest_mode: 1; - __u64 delivery_status: 1; - __u64 polarity: 1; - __u64 __reserved_1: 1; - __u64 trigger: 1; - __u64 mask: 1; - __u64 __reserved_2: 15; - __u64 dest: 32; -}; - -struct uv_arch_type_entry { - char archtype[8]; -}; - -struct uv_cpu_info_s { - void *p_uv_hub_info; - unsigned char blade_cpu_id; - void *reserved; -}; - -struct uv_hub_nmi_s; - -struct uv_cpu_nmi_s { - struct uv_hub_nmi_s *hub; - int state; - int pinging; - int queries; - int pings; -}; - -struct uv_gam_parameters { - u64 mmr_base; - u64 gru_base; - u8 mmr_shift; - u8 gru_shift; - u8 gpa_shift; - u8 unused1; -}; - -struct uv_gam_range_entry { - char type; - char unused1; - u16 nasid; - u16 sockid; - u16 pnode; - u32 unused2; - u32 limit; -}; - -struct uv_gam_range_s { - u32 limit; - u16 nasid; - s8 base; - u8 reserved; -}; - -struct uv_hub_info_s { - unsigned int hub_type; - unsigned char hub_revision; - long unsigned int global_mmr_base; - long unsigned int global_mmr_shift; - long unsigned int gpa_mask; - short unsigned int *socket_to_node; - short unsigned int *socket_to_pnode; - short unsigned int *pnode_to_socket; - struct uv_gam_range_s *gr_table; - short unsigned int min_socket; - short unsigned int min_pnode; - unsigned char m_val; - unsigned char n_val; - unsigned char gr_table_len; - unsigned char apic_pnode_shift; - unsigned char gpa_shift; - unsigned char nasid_shift; - unsigned char m_shift; - unsigned char n_lshift; - unsigned int gnode_extra; - long unsigned int gnode_upper; - long unsigned int lowmem_remap_top; - long unsigned int lowmem_remap_base; - long unsigned int global_gru_base; - long unsigned int global_gru_shift; - short unsigned int pnode; - short unsigned int pnode_mask; - short unsigned int coherency_domain_number; - short unsigned int numa_blade_id; - short unsigned int nr_possible_cpus; - short unsigned int nr_online_cpus; - short int memory_nid; - short unsigned int *node_to_socket; -}; - -struct uv_hub_nmi_s { - raw_spinlock_t nmi_lock; - atomic_t in_nmi; - atomic_t cpu_owner; - atomic_t read_mmr_count; - atomic_t nmi_count; - long unsigned int nmi_value; - bool hub_present; - bool pch_owner; -}; - -struct uv_irq_2_mmr_pnode { - long unsigned int offset; - int pnode; -}; - -struct uv_rtc_timer_head { - spinlock_t lock; - int next_cpu; - int ncpus; - struct { - int lcpu; - u64 expires; - } cpu[0]; -}; - -struct uv_systab { - char signature[4]; - u32 revision; - u64 (*function)(enum uv_bios_cmd, ...); - u32 size; - struct { - u32 type: 8; - u32 offset: 24; - } entry[1]; -}; - -struct uvh_apicid_s { - long unsigned int local_apic_mask: 24; - long unsigned int local_apic_shift: 5; - long unsigned int unused1: 3; - long unsigned int pnode_mask: 24; - long unsigned int pnode_shift: 5; - long unsigned int unused2: 3; -}; - -union uvh_apicid { - long unsigned int v; - struct uvh_apicid_s s; -}; - -struct uvh_node_id_s { - long unsigned int force1: 1; - long unsigned int manufacturer: 11; - long unsigned int part_number: 16; - long unsigned int revision: 4; - long unsigned int rsvd_32_63: 32; -}; - -struct uvxh_node_id_s { - long unsigned int force1: 1; - long unsigned int manufacturer: 11; - long unsigned int part_number: 16; - long unsigned int revision: 4; - long unsigned int node_id: 15; - long unsigned int rsvd_47_49: 3; - long unsigned int nodes_per_bit: 7; - long unsigned int ni_port: 5; - long unsigned int rsvd_62_63: 2; -}; - -struct uvyh_node_id_s { - long unsigned int force1: 1; - long unsigned int manufacturer: 11; - long unsigned int part_number: 16; - long unsigned int revision: 4; - long unsigned int node_id: 7; - long unsigned int rsvd_39_56: 18; - long unsigned int ni_port: 6; - long unsigned int rsvd_63: 1; -}; - -union uvh_node_id_u { - long unsigned int v; - struct uvh_node_id_s s; - struct uvxh_node_id_s sx; - struct uvyh_node_id_s sy; - struct uv5h_node_id_s s5; - struct uv4h_node_id_s s4; - struct uv3h_node_id_s s3; - struct uv2h_node_id_s s2; -}; - -struct uvh_rh10_gam_addr_map_config_s { - long unsigned int undef_0_5: 6; - long unsigned int n_skt: 3; - long unsigned int undef_9_11: 3; - long unsigned int ls_enable: 1; - long unsigned int undef_13_15: 3; - long unsigned int mk_tme_keyid_bits: 4; - long unsigned int rsvd_20_63: 44; -}; - -struct uvyh_rh10_gam_addr_map_config_s { - long unsigned int undef_0_5: 6; - long unsigned int n_skt: 3; - long unsigned int undef_9_11: 3; - long unsigned int ls_enable: 1; - long unsigned int undef_13_15: 3; - long unsigned int mk_tme_keyid_bits: 4; - long unsigned int rsvd_20_63: 44; -}; - -union uvh_rh10_gam_addr_map_config_u { - long unsigned int v; - struct uvh_rh10_gam_addr_map_config_s s; - struct uvyh_rh10_gam_addr_map_config_s sy; - struct uv5h_rh10_gam_addr_map_config_s s5; -}; - -struct uvh_rh10_gam_mmioh_overlay_config0_s { - long unsigned int rsvd_0_25: 26; - long unsigned int base: 26; - long unsigned int m_io: 6; - long unsigned int n_io: 4; - long unsigned int undef_62: 1; - long unsigned int enable: 1; -}; - -struct uvyh_rh10_gam_mmioh_overlay_config0_s { - long unsigned int rsvd_0_25: 26; - long unsigned int base: 26; - long unsigned int m_io: 6; - long unsigned int n_io: 4; - long unsigned int undef_62: 1; - long unsigned int enable: 1; -}; - -union uvh_rh10_gam_mmioh_overlay_config0_u { - long unsigned int v; - struct uvh_rh10_gam_mmioh_overlay_config0_s s; - struct uvyh_rh10_gam_mmioh_overlay_config0_s sy; - struct uv5h_rh10_gam_mmioh_overlay_config0_s s5; -}; - -struct uvh_rh10_gam_mmioh_overlay_config1_s { - long unsigned int rsvd_0_25: 26; - long unsigned int base: 26; - long unsigned int m_io: 6; - long unsigned int n_io: 4; - long unsigned int undef_62: 1; - long unsigned int enable: 1; -}; - -struct uvyh_rh10_gam_mmioh_overlay_config1_s { - long unsigned int rsvd_0_25: 26; - long unsigned int base: 26; - long unsigned int m_io: 6; - long unsigned int n_io: 4; - long unsigned int undef_62: 1; - long unsigned int enable: 1; -}; - -union uvh_rh10_gam_mmioh_overlay_config1_u { - long unsigned int v; - struct uvh_rh10_gam_mmioh_overlay_config1_s s; - struct uvyh_rh10_gam_mmioh_overlay_config1_s sy; - struct uv5h_rh10_gam_mmioh_overlay_config1_s s5; -}; - -struct uvh_rh10_gam_mmr_overlay_config_s { - long unsigned int undef_0_24: 25; - long unsigned int base: 27; - long unsigned int undef_52_62: 11; - long unsigned int enable: 1; -}; - -struct uvyh_rh10_gam_mmr_overlay_config_s { - long unsigned int undef_0_24: 25; - long unsigned int base: 27; - long unsigned int undef_52_62: 11; - long unsigned int enable: 1; -}; - -union uvh_rh10_gam_mmr_overlay_config_u { - long unsigned int v; - struct uvh_rh10_gam_mmr_overlay_config_s s; - struct uvyh_rh10_gam_mmr_overlay_config_s sy; - struct uv5h_rh10_gam_mmr_overlay_config_s s5; -}; - -struct uvh_rh_gam_addr_map_config_s { - long unsigned int rsvd_0_5: 6; - long unsigned int n_skt: 4; - long unsigned int rsvd_10_63: 54; -}; - -struct uvxh_rh_gam_addr_map_config_s { - long unsigned int rsvd_0_5: 6; - long unsigned int n_skt: 4; - long unsigned int rsvd_10_63: 54; -}; - -union uvh_rh_gam_addr_map_config_u { - long unsigned int v; - struct uvh_rh_gam_addr_map_config_s s; - struct uvxh_rh_gam_addr_map_config_s sx; - struct uv4h_rh_gam_addr_map_config_s s4; - struct uv3h_rh_gam_addr_map_config_s s3; - struct uv2h_rh_gam_addr_map_config_s s2; -}; - -struct uvh_rh_gam_alias_2_overlay_config_s { - long unsigned int rsvd_0_23: 24; - long unsigned int base: 8; - long unsigned int rsvd_32_47: 16; - long unsigned int m_alias: 5; - long unsigned int rsvd_53_62: 10; - long unsigned int enable: 1; -}; - -struct uvxh_rh_gam_alias_2_overlay_config_s { - long unsigned int rsvd_0_23: 24; - long unsigned int base: 8; - long unsigned int rsvd_32_47: 16; - long unsigned int m_alias: 5; - long unsigned int rsvd_53_62: 10; - long unsigned int enable: 1; -}; - -union uvh_rh_gam_alias_2_overlay_config_u { - long unsigned int v; - struct uvh_rh_gam_alias_2_overlay_config_s s; - struct uvxh_rh_gam_alias_2_overlay_config_s sx; - struct uv4h_rh_gam_alias_2_overlay_config_s s4; - struct uv3h_rh_gam_alias_2_overlay_config_s s3; - struct uv2h_rh_gam_alias_2_overlay_config_s s2; -}; - -struct uvh_rh_gam_alias_2_redirect_config_s { - long unsigned int rsvd_0_23: 24; - long unsigned int dest_base: 22; - long unsigned int rsvd_46_63: 18; -}; - -struct uvxh_rh_gam_alias_2_redirect_config_s { - long unsigned int rsvd_0_23: 24; - long unsigned int dest_base: 22; - long unsigned int rsvd_46_63: 18; -}; - -union uvh_rh_gam_alias_2_redirect_config_u { - long unsigned int v; - struct uvh_rh_gam_alias_2_redirect_config_s s; - struct uvxh_rh_gam_alias_2_redirect_config_s sx; - struct uv4h_rh_gam_alias_2_redirect_config_s s4; - struct uv3h_rh_gam_alias_2_redirect_config_s s3; - struct uv2h_rh_gam_alias_2_redirect_config_s s2; -}; - -struct uvh_rh_gam_gru_overlay_config_s { - long unsigned int rsvd_0_45: 46; - long unsigned int rsvd_46_51: 6; - long unsigned int n_gru: 4; - long unsigned int rsvd_56_62: 7; - long unsigned int enable: 1; -}; - -struct uvxh_rh_gam_gru_overlay_config_s { - long unsigned int rsvd_0_45: 46; - long unsigned int rsvd_46_51: 6; - long unsigned int n_gru: 4; - long unsigned int rsvd_56_62: 7; - long unsigned int enable: 1; -}; - -union uvh_rh_gam_gru_overlay_config_u { - long unsigned int v; - struct uvh_rh_gam_gru_overlay_config_s s; - struct uvxh_rh_gam_gru_overlay_config_s sx; - struct uv4ah_rh_gam_gru_overlay_config_s s4a; - struct uv4h_rh_gam_gru_overlay_config_s s4; - struct uv3h_rh_gam_gru_overlay_config_s s3; - struct uv2h_rh_gam_gru_overlay_config_s s2; -}; - -struct uvh_rh_gam_mmioh_overlay_config0_s { - long unsigned int rsvd_0_25: 26; - long unsigned int base: 20; - long unsigned int m_io: 6; - long unsigned int n_io: 4; - long unsigned int rsvd_56_62: 7; - long unsigned int enable: 1; -}; - -struct uvxh_rh_gam_mmioh_overlay_config0_s { - long unsigned int rsvd_0_25: 26; - long unsigned int base: 20; - long unsigned int m_io: 6; - long unsigned int n_io: 4; - long unsigned int rsvd_56_62: 7; - long unsigned int enable: 1; -}; - -union uvh_rh_gam_mmioh_overlay_config0_u { - long unsigned int v; - struct uvh_rh_gam_mmioh_overlay_config0_s s; - struct uvxh_rh_gam_mmioh_overlay_config0_s sx; - struct uv4ah_rh_gam_mmioh_overlay_config0_mmr_s s4a; - struct uv4h_rh_gam_mmioh_overlay_config0_s s4; - struct uv3h_rh_gam_mmioh_overlay_config0_s s3; -}; - -struct uvh_rh_gam_mmioh_overlay_config1_s { - long unsigned int rsvd_0_25: 26; - long unsigned int base: 20; - long unsigned int m_io: 6; - long unsigned int n_io: 4; - long unsigned int rsvd_56_62: 7; - long unsigned int enable: 1; -}; - -struct uvxh_rh_gam_mmioh_overlay_config1_s { - long unsigned int rsvd_0_25: 26; - long unsigned int base: 20; - long unsigned int m_io: 6; - long unsigned int n_io: 4; - long unsigned int rsvd_56_62: 7; - long unsigned int enable: 1; -}; - -union uvh_rh_gam_mmioh_overlay_config1_u { - long unsigned int v; - struct uvh_rh_gam_mmioh_overlay_config1_s s; - struct uvxh_rh_gam_mmioh_overlay_config1_s sx; - struct uv4ah_rh_gam_mmioh_overlay_config1_mmr_s s4a; - struct uv4h_rh_gam_mmioh_overlay_config1_s s4; - struct uv3h_rh_gam_mmioh_overlay_config1_s s3; -}; - -struct uvh_rh_gam_mmioh_overlay_config_s { - long unsigned int rsvd_0_26: 27; - long unsigned int base: 19; - long unsigned int m_io: 6; - long unsigned int n_io: 4; - long unsigned int rsvd_56_62: 7; - long unsigned int enable: 1; -}; - -struct uvxh_rh_gam_mmioh_overlay_config_s { - long unsigned int rsvd_0_26: 27; - long unsigned int base: 19; - long unsigned int m_io: 6; - long unsigned int n_io: 4; - long unsigned int rsvd_56_62: 7; - long unsigned int enable: 1; -}; - -union uvh_rh_gam_mmioh_overlay_config_u { - long unsigned int v; - struct uvh_rh_gam_mmioh_overlay_config_s s; - struct uvxh_rh_gam_mmioh_overlay_config_s sx; - struct uv2h_rh_gam_mmioh_overlay_config_s s2; -}; - -struct uvh_rh_gam_mmr_overlay_config_s { - long unsigned int rsvd_0_25: 26; - long unsigned int base: 20; - long unsigned int rsvd_46_62: 17; - long unsigned int enable: 1; -}; - -struct uvxh_rh_gam_mmr_overlay_config_s { - long unsigned int rsvd_0_25: 26; - long unsigned int base: 20; - long unsigned int rsvd_46_62: 17; - long unsigned int enable: 1; -}; - -union uvh_rh_gam_mmr_overlay_config_u { - long unsigned int v; - struct uvh_rh_gam_mmr_overlay_config_s s; - struct uvxh_rh_gam_mmr_overlay_config_s sx; - struct uv4h_rh_gam_mmr_overlay_config_s s4; - struct uv3h_rh_gam_mmr_overlay_config_s s3; - struct uv2h_rh_gam_mmr_overlay_config_s s2; -}; - -struct uvyh_gr0_gam_gr_config_s { - long unsigned int rsvd_0_9: 10; - long unsigned int subspace: 1; - long unsigned int rsvd_11_63: 53; -}; - -union uvyh_gr0_gam_gr_config_u { - long unsigned int v; - struct uvyh_gr0_gam_gr_config_s sy; - struct uv5h_gr0_gam_gr_config_s s5; - struct uv4h_gr0_gam_gr_config_s s4; - struct uv3h_gr0_gam_gr_config_s s3; - struct uv2h_gr0_gam_gr_config_s s2; -}; - -struct va_alignment { - int flags; - long unsigned int mask; - long unsigned int bits; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct va_format { - const char *fmt; - va_list *va; -}; - -struct val_table_ent { - const char *str; - int value; -}; - -struct value_name_pair { - int value; - const char *name; -}; - -struct var_mtrr_range_state { - long unsigned int base_pfn; - long unsigned int size_pfn; - mtrr_type type; -}; - -struct var_mtrr_state { - long unsigned int range_startk; - long unsigned int range_sizek; - long unsigned int chunk_sizek; - long unsigned int gran_sizek; - unsigned int reg; -}; - -struct variable_validate { - efi_guid_t vendor; - char *name; - bool (*validate)(efi_char16_t *, int, u8 *, long unsigned int); -}; - -struct vblk_comp { - u8 state[16]; - u64 parent_id; - u8 type; - u8 children; - u16 chunksize; -}; - -struct vblk_dgrp { - u8 disk_id[64]; -}; - -struct vblk_disk { - uuid_t disk_id; - u8 alt_name[128]; -}; - -struct vblk_part { - u64 start; - u64 size; - u64 volume_offset; - u64 parent_id; - u64 disk_id; - u8 partnum; -}; - -struct vblk_volu { - u8 volume_type[16]; - u8 volume_state[16]; - u8 guid[16]; - u8 drive_hint[4]; - u64 size; - u8 partition_type; -}; - -struct vblk { - u8 name[64]; - u64 obj_id; - u32 sequence; - u8 flags; - u8 type; - union { - struct vblk_comp comp; - struct vblk_dgrp dgrp; - struct vblk_disk disk; - struct vblk_part part; - struct vblk_volu volu; - } vblk; - struct list_head list; -}; - -struct vc { - struct vc_data *d; - struct work_struct SAK_work; -}; - -struct vc_state { - unsigned int x; - unsigned int y; - unsigned char color; - unsigned char Gx_charset[2]; - unsigned int charset: 1; - enum vc_intensity intensity; - bool italic; - bool underline; - bool blink; - bool reverse; -}; - -struct vt_mode { - __u8 mode; - __u8 waitv; - __s16 relsig; - __s16 acqsig; - __s16 frsig; -}; - -struct vc_data { - struct tty_port port; - struct vc_state state; - struct vc_state saved_state; - short unsigned int vc_num; - unsigned int vc_cols; - unsigned int vc_rows; - unsigned int vc_size_row; - unsigned int vc_scan_lines; - unsigned int vc_cell_height; - long unsigned int vc_origin; - long unsigned int vc_scr_end; - long unsigned int vc_visible_origin; - unsigned int vc_top; - unsigned int vc_bottom; - const struct consw *vc_sw; - short unsigned int *vc_screenbuf; - unsigned int vc_screenbuf_size; - unsigned char vc_mode; - unsigned char vc_attr; - unsigned char vc_def_color; - unsigned char vc_ulcolor; - unsigned char vc_itcolor; - unsigned char vc_halfcolor; - unsigned int vc_cursor_type; - short unsigned int vc_complement_mask; - short unsigned int vc_s_complement_mask; - long unsigned int vc_pos; - short unsigned int vc_hi_font_mask; - struct console_font vc_font; - short unsigned int vc_video_erase_char; - unsigned int vc_state; - unsigned int vc_npar; - unsigned int vc_par[16]; - struct vt_mode vt_mode; - struct pid *vt_pid; - int vt_newvt; - wait_queue_head_t paste_wait; - unsigned int vc_disp_ctrl: 1; - unsigned int vc_toggle_meta: 1; - unsigned int vc_decscnm: 1; - unsigned int vc_decom: 1; - unsigned int vc_decawm: 1; - unsigned int vc_deccm: 1; - unsigned int vc_decim: 1; - unsigned int vc_priv: 3; - unsigned int vc_need_wrap: 1; - unsigned int vc_can_do_color: 1; - unsigned int vc_report_mouse: 2; - unsigned int vc_bracketed_paste: 1; - unsigned char vc_utf: 1; - unsigned char vc_utf_count; - int vc_utf_char; - long unsigned int vc_tab_stop[4]; - unsigned char vc_palette[48]; - short unsigned int *vc_translate; - unsigned int vc_bell_pitch; - unsigned int vc_bell_duration; - short unsigned int vc_cur_blink_ms; - struct vc_data **vc_display_fg; - struct uni_pagedict *uni_pagedict; - struct uni_pagedict **uni_pagedict_loc; - u32 **vc_uni_lines; -}; - -struct vc_draw_region { - long unsigned int from; - long unsigned int to; - int x; -}; - -struct vc_selection { - struct mutex lock; - struct vc_data *cons; - char *buffer; - unsigned int buf_len; - volatile int start; - int end; -}; - -struct vcap_actionset_list { - int max; - int cnt; - enum vcap_actionfield_set *actionsets; -}; - -struct vcap_cache_data { - u32 *keystream; - u32 *maskstream; - u32 *actionstream; - u32 counter; - bool sticky; -}; - -struct vcap_admin { - struct list_head list; - struct list_head rules; - struct list_head enabled; - struct mutex lock; - enum vcap_type vtype; - int vinst; - int first_cid; - int last_cid; - int tgt_inst; - int lookups; - int lookups_per_instance; - int last_valid_addr; - int first_valid_addr; - int last_used_addr; - bool w32be; - bool ingress; - struct vcap_cache_data cache; -}; - -struct vcap_control; - -struct vcap_admin_debugfs_info { - struct vcap_control *vctrl; - struct vcap_admin *admin; -}; - -struct vcap_client_actionfield_ctrl { - struct list_head list; - enum vcap_action_field action; - enum vcap_field_type type; -}; - -struct vcap_u1_action { - u8 value; -}; - -struct vcap_u32_action { - u32 value; -}; - -struct vcap_u48_action { - u8 value[6]; -}; - -struct vcap_u56_action { - u8 value[7]; -}; - -struct vcap_u64_action { - u8 value[8]; -}; - -struct vcap_u72_action { - u8 value[9]; -}; - -struct vcap_u112_action { - u8 value[14]; -}; - -struct vcap_u128_action { - u8 value[16]; -}; - -struct vcap_client_actionfield_data { - union { - struct vcap_u1_action u1; - struct vcap_u32_action u32; - struct vcap_u48_action u48; - struct vcap_u56_action u56; - struct vcap_u64_action u64; - struct vcap_u72_action u72; - struct vcap_u112_action u112; - struct vcap_u128_action u128; - }; -}; - -struct vcap_client_actionfield { - struct vcap_client_actionfield_ctrl ctrl; - struct vcap_client_actionfield_data data; -}; - -struct vcap_client_keyfield_ctrl { - struct list_head list; - enum vcap_key_field key; - enum vcap_field_type type; -}; - -struct vcap_u1_key { - u8 value; - u8 mask; -}; - -struct vcap_u32_key { - u32 value; - u32 mask; -}; - -struct vcap_u48_key { - u8 value[6]; - u8 mask[6]; -}; - -struct vcap_u56_key { - u8 value[7]; - u8 mask[7]; -}; - -struct vcap_u64_key { - u8 value[8]; - u8 mask[8]; -}; - -struct vcap_u72_key { - u8 value[9]; - u8 mask[9]; -}; - -struct vcap_u112_key { - u8 value[14]; - u8 mask[14]; -}; - -struct vcap_u128_key { - u8 value[16]; - u8 mask[16]; -}; - -struct vcap_client_keyfield_data { - union { - struct vcap_u1_key u1; - struct vcap_u32_key u32; - struct vcap_u48_key u48; - struct vcap_u56_key u56; - struct vcap_u64_key u64; - struct vcap_u72_key u72; - struct vcap_u112_key u112; - struct vcap_u128_key u128; - }; -}; - -struct vcap_client_keyfield { - struct vcap_client_keyfield_ctrl ctrl; - struct vcap_client_keyfield_data data; -}; - -struct vcap_operations; - -struct vcap_info; - -struct vcap_statistics; - -struct vcap_control { - const struct vcap_operations *ops; - const struct vcap_info *vcaps; - const struct vcap_statistics *stats; - struct list_head list; -}; - -struct vcap_counter { - u32 value; - bool sticky; -}; - -struct vcap_enabled_port { - struct list_head list; - struct net_device *ndev; - long unsigned int cookie; - int src_cid; - int dst_cid; -}; - -struct vcap_field { - u16 type; - u16 width; - u16 offset; -}; - -struct vcap_set; - -struct vcap_typegroup; - -struct vcap_info { - char *name; - u16 rows; - u16 sw_count; - u16 sw_width; - u16 sticky_width; - u16 act_width; - u16 default_cnt; - u16 require_cnt_dis; - u16 version; - const struct vcap_set *keyfield_set; - int keyfield_set_size; - const struct vcap_set *actionfield_set; - int actionfield_set_size; - const struct vcap_field **keyfield_set_map; - int *keyfield_set_map_size; - const struct vcap_field **actionfield_set_map; - int *actionfield_set_map_size; - const struct vcap_typegroup **keyfield_set_typegroups; - const struct vcap_typegroup **actionfield_set_typegroups; -}; - -struct vcap_keyset_list { - int max; - int cnt; - enum vcap_keyfield_set *keysets; -}; - -struct vcap_rule; - -struct vcap_output_print; - -struct vcap_operations { - enum vcap_keyfield_set (*validate_keyset)(struct net_device *, struct vcap_admin *, struct vcap_rule *, struct vcap_keyset_list *, u16); - void (*add_default_fields)(struct net_device *, struct vcap_admin *, struct vcap_rule *); - void (*cache_erase)(struct vcap_admin *); - void (*cache_write)(struct net_device *, struct vcap_admin *, enum vcap_selection, u32, u32); - void (*cache_read)(struct net_device *, struct vcap_admin *, enum vcap_selection, u32, u32); - void (*init)(struct net_device *, struct vcap_admin *, u32, u32); - void (*update)(struct net_device *, struct vcap_admin *, enum vcap_command, enum vcap_selection, u32); - void (*move)(struct net_device *, struct vcap_admin *, u32, int, int); - int (*port_info)(struct net_device *, struct vcap_admin *, struct vcap_output_print *); -}; - -struct vcap_output_print { - void (*prf)(void *, const char *, ...); - void *dst; -}; - -struct vcap_port_debugfs_info { - struct vcap_control *vctrl; - struct net_device *ndev; -}; - -struct vcap_rule { - int vcap_chain_id; - enum vcap_user user; - u16 priority; - u32 id; - u64 cookie; - struct list_head keyfields; - struct list_head actionfields; - enum vcap_keyfield_set keyset; - enum vcap_actionfield_set actionset; - enum vcap_rule_error exterr; - u64 client; -}; - -struct vcap_rule_internal { - struct vcap_rule data; - struct list_head list; - struct vcap_admin *admin; - struct net_device *ndev; - struct vcap_control *vctrl; - u32 sort_key; - int keyset_sw; - int actionset_sw; - int keyset_sw_regs; - int actionset_sw_regs; - int size; - u32 addr; - u32 counter_id; - struct vcap_counter counter; - enum vcap_rule_state state; -}; - -struct vcap_rule_move { - int addr; - int offset; - int count; -}; - -struct vcap_set { - u8 type_id; - u8 sw_per_item; - u8 sw_cnt; -}; - -struct vcap_statistics { - char *name; - int count; - const char * const *keyfield_set_names; - const char * const *actionfield_set_names; - const char * const *keyfield_names; - const char * const *actionfield_names; -}; - -struct vcap_stream_iter { - u32 offset; - u32 sw_width; - u32 regs_per_sw; - u32 reg_idx; - u32 reg_bitpos; - const struct vcap_typegroup *tg; -}; - -struct vcap_tc_flower_parse_usage { - struct flow_cls_offload *fco; - struct flow_rule *frule; - struct vcap_rule *vrule; - struct vcap_admin *admin; - u16 l3_proto; - u8 l4_proto; - u16 tpid; - long long unsigned int used_keys; -}; - -struct vcap_typegroup { - u16 offset; - u16 width; - u16 value; -}; - -struct vcpu_fpu_config { - unsigned int size; - u64 features; -}; - -struct vcpu_guest_context { - struct { - char x[512]; - } fpu_ctxt; - long unsigned int flags; - struct cpu_user_regs user_regs; - struct trap_info trap_ctxt[256]; - long unsigned int ldt_base; - long unsigned int ldt_ents; - long unsigned int gdt_frames[16]; - long unsigned int gdt_ents; - long unsigned int kernel_ss; - long unsigned int kernel_sp; - long unsigned int ctrlreg[8]; - long unsigned int debugreg[8]; - long unsigned int event_callback_eip; - long unsigned int failsafe_callback_eip; - long unsigned int syscall_callback_eip; - long unsigned int vm_assist; - uint64_t fs_base; - uint64_t gs_base_kernel; - uint64_t gs_base_user; -}; - -struct vcpu_runstate_info; - -typedef struct vcpu_runstate_info *__guest_handle_vcpu_runstate_info; - -struct vcpu_register_runstate_memory_area { - union { - __guest_handle_vcpu_runstate_info h; - struct vcpu_runstate_info *v; - uint64_t p; - } addr; -}; - -struct vcpu_time_info; - -typedef struct vcpu_time_info *__guest_handle_vcpu_time_info; - -struct vcpu_register_time_memory_area { - union { - __guest_handle_vcpu_time_info h; - struct pvclock_vcpu_time_info *v; - uint64_t p; - } addr; -}; - -struct vcpu_register_vcpu_info { - uint64_t mfn; - uint32_t offset; - uint32_t rsvd; -}; - -struct vcpu_runstate_info { - int state; - uint64_t state_entry_time; - uint64_t time[4]; -}; - -struct vcpu_set_singleshot_timer { - uint64_t timeout_abs_ns; - uint32_t flags; -}; - -struct vcpu_time_info { - uint32_t version; - uint32_t pad0; - uint64_t tsc_timestamp; - uint64_t system_time; - uint32_t tsc_to_system_mul; - int8_t tsc_shift; - int8_t pad1[3]; -}; - -struct vcs_poll_data { - struct notifier_block notifier; - unsigned int cons_num; - int event; - wait_queue_head_t waitq; - struct fasync_struct *fasync; -}; - -struct vdso_timestamp { - u64 sec; - u64 nsec; -}; - -struct vdso_clock { - u32 seq; - s32 clock_mode; - u64 cycle_last; - u64 max_cycles; - u64 mask; - u32 mult; - u32 shift; - union { - struct vdso_timestamp basetime[12]; - struct timens_offset offset[12]; - }; -}; - -struct vdso_exception_table_entry { - int insn; - int fixup; -}; - -struct vdso_image { - void *data; - long unsigned int size; - long unsigned int alt; - long unsigned int alt_len; - long unsigned int extable_base; - long unsigned int extable_len; - const void *extable; - long int sym_VDSO32_NOTE_MASK; - long int sym___kernel_sigreturn; - long int sym___kernel_rt_sigreturn; - long int sym___kernel_vsyscall; - long int sym_int80_landing_pad; - long int sym_vdso32_sigreturn_landing_pad; - long int sym_vdso32_rt_sigreturn_landing_pad; -}; - -struct vdso_rng_data { - u64 generation; - u8 is_ready; -}; - -struct vdso_time_data { - struct arch_vdso_time_data arch_data; - struct vdso_clock clock_data[2]; - struct vdso_clock aux_clock_data[8]; - s32 tz_minuteswest; - s32 tz_dsttime; - u32 hrtimer_res; - u32 __unused; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct ve_info { - u64 exit_reason; - u64 exit_qual; - u64 gla; - u64 gpa; - u32 instr_len; - u32 instr_info; -}; - -struct vector_cleanup { - struct hlist_head head; - struct timer_list timer; -}; - -struct vers_iter { - size_t param_size; - struct dm_target_versions *vers; - struct dm_target_versions *old_vers; - char *end; - uint32_t flags; -}; - -struct veth { - __be16 h_vlan_proto; - __be16 h_vlan_TCI; -}; - -struct vfree_deferred { - struct llist_head list; - struct work_struct wq; -}; - -struct vfs_cap_data { - __le32 magic_etc; - struct { - __le32 permitted; - __le32 inheritable; - } data[2]; -}; - -struct vfs_ns_cap_data { - __le32 magic_etc; - struct { - __le32 permitted; - __le32 inheritable; - } data[2]; - __le32 rootid; -}; - -struct vga_arb_user_card { - struct pci_dev *pdev; - unsigned int mem_cnt; - unsigned int io_cnt; -}; - -struct vga_arb_private { - struct list_head list; - struct pci_dev *target; - struct vga_arb_user_card cards[16]; - spinlock_t lock; -}; - -struct vga_device { - struct list_head list; - struct pci_dev *pdev; - unsigned int decodes; - unsigned int owns; - unsigned int locks; - unsigned int io_lock_cnt; - unsigned int mem_lock_cnt; - unsigned int io_norm_cnt; - unsigned int mem_norm_cnt; - bool bridge_has_one_vga; - bool is_firmware_default; - unsigned int (*set_decode)(struct pci_dev *, bool); -}; - -struct vga_switcheroo_client_ops; - -struct vga_switcheroo_client { - struct pci_dev *pdev; - struct fb_info *fb_info; - enum vga_switcheroo_state pwr_state; - const struct vga_switcheroo_client_ops *ops; - enum vga_switcheroo_client_id id; - bool active; - bool driver_power_control; - struct list_head list; - struct pci_dev *vga_dev; -}; - -struct vga_switcheroo_client_ops { - void (*set_gpu_state)(struct pci_dev *, enum vga_switcheroo_state); - void (*reprobe)(struct pci_dev *); - bool (*can_switch)(struct pci_dev *); - void (*gpu_bound)(struct pci_dev *, enum vga_switcheroo_client_id); -}; - -struct vga_switcheroo_handler { - int (*init)(void); - int (*switchto)(enum vga_switcheroo_client_id); - int (*switch_ddc)(enum vga_switcheroo_client_id); - int (*power_state)(enum vga_switcheroo_client_id, enum vga_switcheroo_state); - enum vga_switcheroo_client_id (*get_client_id)(struct pci_dev *); -}; - -struct vgasr_priv { - bool active; - bool delayed_switch_active; - enum vga_switcheroo_client_id delayed_client_id; - struct dentry *debugfs_root; - int registered_clients; - struct list_head clients; - const struct vga_switcheroo_handler *handler; - enum vga_switcheroo_handler_flags_t handler_flags; - struct mutex mux_hw_lock; - int old_ddc_owner; -}; - -struct vgastate { - void *vgabase; - long unsigned int membase; - __u32 memsize; - __u32 flags; - __u32 depth; - __u32 num_attr; - __u32 num_crtc; - __u32 num_gfx; - __u32 num_seq; - void *vidstate; -}; - -struct vgda { - __be32 secs; - __be32 usec; - char reserved8[16]; - __be16 numlvs; - __be16 maxlvs; - __be16 pp_size; - __be16 numpvs; - __be16 total_vgdas; - __be16 vgda_size; -}; - -struct vhost_task { - bool (*fn)(void *); - void (*handle_sigkill)(void *); - void *data; - struct completion exited; - long unsigned int flags; - struct task_struct *task; - struct mutex exit_mutex; -}; - -struct videomode { - long unsigned int pixelclock; - u32 hactive; - u32 hfront_porch; - u32 hback_porch; - u32 hsync_len; - u32 vactive; - u32 vfront_porch; - u32 vback_porch; - u32 vsync_len; - enum display_flags flags; -}; - -struct vif_entry_notifier_info { - struct fib_notifier_info info; - struct net_device *dev; - short unsigned int vif_index; - short unsigned int vif_flags; - u32 tb_id; -}; - -struct vifctl { - vifi_t vifc_vifi; - unsigned char vifc_flags; - unsigned char vifc_threshold; - unsigned int vifc_rate_limit; - union { - struct in_addr vifc_lcl_addr; - int vifc_lcl_ifindex; - }; - struct in_addr vifc_rmt_addr; -}; - -struct viommu_dev { - struct iommu_device iommu; - struct device *dev; - struct virtio_device *vdev; - struct ida domain_ids; - struct virtqueue *vqs[2]; - spinlock_t request_lock; - struct list_head requests; - void *evts; - struct iommu_domain_geometry geometry; - u64 pgsize_bitmap; - u32 first_domain; - u32 last_domain; - u32 identity_domain_id; - u32 map_flags; - u32 probe_size; -}; - -struct viommu_domain { - struct iommu_domain domain; - struct viommu_dev *viommu; - unsigned int id; - u32 map_flags; - spinlock_t mappings_lock; - struct rb_root_cached mappings; - long unsigned int nr_endpoints; -}; - -struct viommu_endpoint { - struct device *dev; - struct viommu_dev *viommu; - struct viommu_domain *vdomain; - struct list_head resv_regions; -}; - -struct virtio_iommu_fault { - __u8 reason; - __u8 reserved[3]; - __le32 flags; - __le32 endpoint; - __u8 reserved2[4]; - __le64 address; -}; - -struct viommu_event { - union { - u32 head; - struct virtio_iommu_fault fault; - }; -}; - -struct viommu_mapping { - phys_addr_t paddr; - struct interval_tree_node iova; - u32 flags; -}; - -struct viommu_request { - struct list_head list; - void *writeback; - unsigned int write_offset; - unsigned int len; - char buf[0]; -}; - -struct viot_iommu; - -struct viot_endpoint { - union { - struct { - u16 segment_start; - u16 segment_end; - u16 bdf_start; - u16 bdf_end; - }; - u64 address; - }; - u32 endpoint_id; - struct viot_iommu *viommu; - struct list_head list; -}; - -struct viot_iommu { - unsigned int offset; - struct fwnode_handle *fwnode; - struct list_head list; -}; - -struct virtio_blk_outhdr { - __virtio32 type; - __virtio32 ioprio; - __virtio64 sector; -}; - -struct virtblk_req { - struct virtio_blk_outhdr out_hdr; - union { - u8 status; - struct { - __virtio64 sector; - u8 status; - } zone_append; - } in_hdr; - size_t in_hdr_len; - struct sg_table sg_table; - struct scatterlist sg[0]; -}; - -struct virtio_admin_cmd { - __le16 opcode; - __le16 group_type; - __le64 group_member_id; - struct scatterlist *data_sg; - struct scatterlist *result_sg; - struct completion completion; - u32 result_sg_size; - int ret; -}; - -struct virtio_admin_cmd_cap_get_data { - __le16 id; - __u8 reserved[6]; -}; - -struct virtio_admin_cmd_cap_set_data { - __le16 id; - __u8 reserved[6]; - __u8 cap_specific_data[0]; -}; - -struct virtio_admin_cmd_dev_mode_set_data { - __u8 flags; -}; - -struct virtio_admin_cmd_resource_obj_cmd_hdr { - __le16 type; - __u8 reserved[2]; - __le32 id; -}; - -struct virtio_dev_part_hdr { - __le16 part_type; - __u8 flags; - __u8 reserved; - union { - struct { - __le32 offset; - __le32 reserved; - } pci_common_cfg; - struct { - __le16 index; - __u8 reserved[6]; - } vq_index; - } selector; - __le32 length; -}; - -struct virtio_admin_cmd_dev_parts_get_data { - struct virtio_admin_cmd_resource_obj_cmd_hdr hdr; - __u8 type; - __u8 reserved[7]; - struct virtio_dev_part_hdr hdr_list[0]; -}; - -struct virtio_admin_cmd_dev_parts_metadata_data { - struct virtio_admin_cmd_resource_obj_cmd_hdr hdr; - __u8 type; - __u8 reserved[7]; -}; - -struct virtio_admin_cmd_dev_parts_metadata_result { - union { - struct { - __le32 size; - __le32 reserved; - } parts_size; - struct { - __le32 count; - __le32 reserved; - } hdr_list_count; - struct { - __le32 count; - __le32 reserved; - struct virtio_dev_part_hdr hdrs[0]; - } hdr_list; - }; -}; - -struct virtio_admin_cmd_hdr { - __le16 opcode; - __le16 group_type; - __u8 reserved1[12]; - __le64 group_member_id; -}; - -struct virtio_admin_cmd_legacy_rd_data { - __u8 offset; -}; - -struct virtio_admin_cmd_legacy_wr_data { - __u8 offset; - __u8 reserved[7]; - __u8 registers[0]; -}; - -struct virtio_admin_cmd_notify_info_data { - __u8 flags; - __u8 bar; - __u8 padding[6]; - __le64 offset; -}; - -struct virtio_admin_cmd_notify_info_result { - struct virtio_admin_cmd_notify_info_data entries[4]; -}; - -struct virtio_admin_cmd_query_cap_id_result { - __le64 supported_caps[1]; -}; - -struct virtio_admin_cmd_resource_obj_create_data { - struct virtio_admin_cmd_resource_obj_cmd_hdr hdr; - __le64 flags; - __u8 resource_obj_specific_data[0]; -}; - -struct virtio_admin_cmd_status { - __le16 status; - __le16 status_qualifier; - __u8 reserved2[4]; -}; - -struct virtio_balloon_stat { - __virtio16 tag; - __virtio64 val; -} __attribute__((packed)); - -struct virtio_balloon { - struct virtio_device *vdev; - struct virtqueue *inflate_vq; - struct virtqueue *deflate_vq; - struct virtqueue *stats_vq; - struct virtqueue *free_page_vq; - struct workqueue_struct *balloon_wq; - struct work_struct report_free_page_work; - struct work_struct update_balloon_stats_work; - struct work_struct update_balloon_size_work; - spinlock_t stop_update_lock; - bool stop_update; - long unsigned int config_read_bitmap; - struct list_head free_page_list; - spinlock_t free_page_list_lock; - long unsigned int num_free_page_blocks; - u32 cmd_id_received_cache; - __virtio32 cmd_id_active; - __virtio32 cmd_id_stop; - wait_queue_head_t acked; - unsigned int num_pages; - struct balloon_dev_info vb_dev_info; - struct mutex balloon_lock; - unsigned int num_pfns; - __virtio32 pfns[256]; - struct virtio_balloon_stat stats[16]; - struct shrinker *shrinker; - struct notifier_block oom_nb; - struct virtqueue *reporting_vq; - struct page_reporting_dev_info pr_dev_info; - spinlock_t wakeup_lock; - bool processing_wakeup_event; - u32 wakeup_signal_mask; -}; - -struct virtio_balloon_config { - __le32 num_pages; - __le32 actual; - union { - __le32 free_page_hint_cmd_id; - __le32 free_page_report_cmd_id; - }; - __le32 poison_val; -}; - -struct virtio_blk_vq; - -struct virtio_blk { - struct mutex vdev_mutex; - struct virtio_device *vdev; - struct gendisk *disk; - struct blk_mq_tag_set tag_set; - struct work_struct config_work; - int index; - int num_vqs; - int io_queues[3]; - struct virtio_blk_vq *vqs; - unsigned int zone_sectors; -}; - -struct virtio_blk_geometry { - __virtio16 cylinders; - __u8 heads; - __u8 sectors; -}; - -struct virtio_blk_zoned_characteristics { - __virtio32 zone_sectors; - __virtio32 max_open_zones; - __virtio32 max_active_zones; - __virtio32 max_append_sectors; - __virtio32 write_granularity; - __u8 model; - __u8 unused2[3]; -}; - -struct virtio_blk_config { - __virtio64 capacity; - __virtio32 size_max; - __virtio32 seg_max; - struct virtio_blk_geometry geometry; - __virtio32 blk_size; - __u8 physical_block_exp; - __u8 alignment_offset; - __virtio16 min_io_size; - __virtio32 opt_io_size; - __u8 wce; - __u8 unused; - __virtio16 num_queues; - __virtio32 max_discard_sectors; - __virtio32 max_discard_seg; - __virtio32 discard_sector_alignment; - __virtio32 max_write_zeroes_sectors; - __virtio32 max_write_zeroes_seg; - __u8 write_zeroes_may_unmap; - __u8 unused1[3]; - __virtio32 max_secure_erase_sectors; - __virtio32 max_secure_erase_seg; - __virtio32 secure_erase_sector_alignment; - struct virtio_blk_zoned_characteristics zoned; -}; - -struct virtio_blk_discard_write_zeroes { - __le64 sector; - __le32 num_sectors; - __le32 flags; -}; - -struct virtio_blk_vq { - struct virtqueue *vq; - spinlock_t lock; - char name[16]; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct virtio_blk_zone_descriptor { - __virtio64 z_cap; - __virtio64 z_start; - __virtio64 z_wp; - __u8 z_type; - __u8 z_state; - __u8 reserved[38]; -}; - -struct virtio_blk_zone_report { - __virtio64 nr_zones; - __u8 reserved[56]; - struct virtio_blk_zone_descriptor zones[0]; -}; - -struct virtqueue_info; - -struct virtio_shm_region; - -struct virtio_config_ops { - void (*get)(struct virtio_device *, unsigned int, void *, unsigned int); - void (*set)(struct virtio_device *, unsigned int, const void *, unsigned int); - u32 (*generation)(struct virtio_device *); - u8 (*get_status)(struct virtio_device *); - void (*set_status)(struct virtio_device *, u8); - void (*reset)(struct virtio_device *); - int (*find_vqs)(struct virtio_device *, unsigned int, struct virtqueue **, struct virtqueue_info *, struct irq_affinity *); - void (*del_vqs)(struct virtio_device *); - void (*synchronize_cbs)(struct virtio_device *); - u64 (*get_features)(struct virtio_device *); - void (*get_extended_features)(struct virtio_device *, u64 *); - int (*finalize_features)(struct virtio_device *); - const char * (*bus_name)(struct virtio_device *); - int (*set_vq_affinity)(struct virtqueue *, const struct cpumask *); - const struct cpumask * (*get_vq_affinity)(struct virtio_device *, int); - bool (*get_shm_region)(struct virtio_device *, struct virtio_shm_region *, u8); - int (*disable_vq_and_reset)(struct virtqueue *); - int (*enable_vq_after_reset)(struct virtqueue *); -}; - -struct virtio_console_config { - __virtio16 cols; - __virtio16 rows; - __virtio32 max_nr_ports; - __virtio32 emerg_wr; -}; - -struct virtio_dev_parts_cap { - __u8 get_parts_resource_objects_limit; - __u8 set_parts_resource_objects_limit; -}; - -struct virtio_device_id { - __u32 device; - __u32 vendor; -}; - -struct vringh_config_ops; - -struct virtio_device { - int index; - bool failed; - bool config_core_enabled; - bool config_driver_disabled; - bool config_change_pending; - spinlock_t config_lock; - spinlock_t vqs_list_lock; - struct device dev; - struct virtio_device_id id; - const struct virtio_config_ops *config; - const struct vringh_config_ops *vringh_config; - struct list_head vqs; - union { - u64 features; - u64 features_array[2]; - }; - void *priv; -}; - -struct virtio_driver { - struct device_driver driver; - const struct virtio_device_id *id_table; - const unsigned int *feature_table; - unsigned int feature_table_size; - const unsigned int *feature_table_legacy; - unsigned int feature_table_size_legacy; - int (*validate)(struct virtio_device *); - int (*probe)(struct virtio_device *); - void (*scan)(struct virtio_device *); - void (*remove)(struct virtio_device *); - void (*config_changed)(struct virtio_device *); - int (*freeze)(struct virtio_device *); - int (*restore)(struct virtio_device *); - int (*reset_prepare)(struct virtio_device *); - int (*reset_done)(struct virtio_device *); - void (*shutdown)(struct virtio_device *); -}; - -struct virtio_iommu_range_64 { - __le64 start; - __le64 end; -}; - -struct virtio_iommu_range_32 { - __le32 start; - __le32 end; -}; - -struct virtio_iommu_config { - __le64 page_size_mask; - struct virtio_iommu_range_64 input_range; - struct virtio_iommu_range_32 domain_range; - __le32 probe_size; - __u8 bypass; - __u8 reserved[3]; -}; - -struct virtio_iommu_probe_property { - __le16 type; - __le16 length; -}; - -struct virtio_iommu_probe_resv_mem { - struct virtio_iommu_probe_property head; - __u8 subtype; - __u8 reserved[3]; - __le64 start; - __le64 end; -}; - -struct virtio_iommu_req_head { - __u8 type; - __u8 reserved[3]; -}; - -struct virtio_iommu_req_tail { - __u8 status; - __u8 reserved[3]; -}; - -struct virtio_iommu_req_attach { - struct virtio_iommu_req_head head; - __le32 domain; - __le32 endpoint; - __le32 flags; - __u8 reserved[4]; - struct virtio_iommu_req_tail tail; -}; - -struct virtio_iommu_req_detach { - struct virtio_iommu_req_head head; - __le32 domain; - __le32 endpoint; - __u8 reserved[8]; - struct virtio_iommu_req_tail tail; -}; - -struct virtio_iommu_req_map { - struct virtio_iommu_req_head head; - __le32 domain; - __le64 virt_start; - __le64 virt_end; - __le64 phys_start; - __le32 flags; - struct virtio_iommu_req_tail tail; -}; - -struct virtio_iommu_req_probe { - struct virtio_iommu_req_head head; - __le32 endpoint; - __u8 reserved[64]; - __u8 properties[0]; -}; - -struct virtio_iommu_req_unmap { - struct virtio_iommu_req_head head; - __le32 domain; - __le64 virt_start; - __le64 virt_end; - __u8 reserved[4]; - struct virtio_iommu_req_tail tail; -}; - -struct virtio_mmio_device { - struct virtio_device vdev; - struct platform_device *pdev; - void *base; - long unsigned int version; -}; - -struct virtio_net_hdr { - __u8 flags; - __u8 gso_type; - __virtio16 hdr_len; - __virtio16 gso_size; - __virtio16 csum_start; - __virtio16 csum_offset; -}; - -struct virtio_net_hdr_mrg_rxbuf { - struct virtio_net_hdr hdr; - __virtio16 num_buffers; -}; - -struct virtio_net_hdr_v1 { - __u8 flags; - __u8 gso_type; - __virtio16 hdr_len; - __virtio16 gso_size; - union { - struct { - __virtio16 csum_start; - __virtio16 csum_offset; - }; - struct { - __virtio16 start; - __virtio16 offset; - } csum; - struct { - __le16 segments; - __le16 dup_acks; - } rsc; - }; - __virtio16 num_buffers; -}; - -struct virtio_net_hdr_v1_hash { - struct virtio_net_hdr_v1 hdr; - __le16 hash_value_lo; - __le16 hash_value_hi; - __le16 hash_report; - __le16 padding; -}; - -struct virtio_net_hdr_v1_hash_tunnel { - struct virtio_net_hdr_v1_hash hash_hdr; - __le16 outer_th_offset; - __le16 inner_nh_offset; -}; - -struct virtio_net_common_hdr { - union { - struct virtio_net_hdr hdr; - struct virtio_net_hdr_mrg_rxbuf mrg_hdr; - struct virtio_net_hdr_v1_hash hash_v1_hdr; - struct virtio_net_hdr_v1_hash_tunnel tnl_hdr; - }; -}; - -struct virtio_net_config { - __u8 mac[6]; - __virtio16 status; - __virtio16 max_virtqueue_pairs; - __virtio16 mtu; - __le32 speed; - __u8 duplex; - __u8 rss_max_key_size; - __le16 rss_max_indirection_table_length; - __le32 supported_hash_types; -}; - -struct virtio_net_ctrl_coal { - __le32 max_packets; - __le32 max_usecs; -}; - -struct virtio_net_ctrl_coal_rx { - __le32 rx_max_packets; - __le32 rx_usecs; -}; - -struct virtio_net_ctrl_coal_tx { - __le32 tx_max_packets; - __le32 tx_usecs; -}; - -struct virtio_net_ctrl_coal_vq { - __le16 vqn; - __le16 reserved; - struct virtio_net_ctrl_coal coal; -}; - -struct virtio_net_ctrl_mac { - __virtio32 entries; - __u8 macs[0]; -}; - -struct virtio_net_ctrl_mq { - __virtio16 virtqueue_pairs; -}; - -struct virtio_net_ctrl_queue_stats { - struct { - __le16 vq_index; - __le16 reserved[3]; - __le64 types_bitmap[1]; - } stats[1]; -}; - -struct virtio_net_rss_config_hdr { - __le32 hash_types; - __le16 indirection_table_mask; - __le16 unclassified_queue; - __le16 indirection_table[0]; -}; - -struct virtio_net_rss_config_trailer { - __le16 max_tx_vq; - __u8 hash_key_length; - __u8 hash_key_data[0]; -}; - -struct virtio_net_stats_capabilities { - __le64 supported_stats_types[1]; -}; - -struct virtio_net_stats_reply_hdr { - __u8 type; - __u8 reserved; - __le16 vq_index; - __le16 reserved1; - __le16 size; -}; - -struct virtio_pci_vq_info; - -struct virtio_pci_admin_vq { - struct virtio_pci_vq_info *info; - spinlock_t lock; - u64 supported_cmds; - u64 supported_caps; - u8 max_dev_parts_objects; - struct ida dev_parts_ida; - char name[10]; - u16 vq_index; -}; - -struct virtio_pci_common_cfg { - __le32 device_feature_select; - __le32 device_feature; - __le32 guest_feature_select; - __le32 guest_feature; - __le16 msix_config; - __le16 num_queues; - __u8 device_status; - __u8 config_generation; - __le16 queue_select; - __le16 queue_size; - __le16 queue_msix_vector; - __le16 queue_enable; - __le16 queue_notify_off; - __le32 queue_desc_lo; - __le32 queue_desc_hi; - __le32 queue_avail_lo; - __le32 queue_avail_hi; - __le32 queue_used_lo; - __le32 queue_used_hi; -}; - -struct virtio_pci_legacy_device { - struct pci_dev *pci_dev; - u8 *isr; - void *ioaddr; - struct virtio_device_id id; -}; - -struct virtio_pci_modern_device { - struct pci_dev *pci_dev; - struct virtio_pci_common_cfg *common; - void *device; - void *notify_base; - resource_size_t notify_pa; - u8 *isr; - size_t notify_len; - size_t device_len; - size_t common_len; - int notify_map_cap; - u32 notify_offset_multiplier; - int modern_bars; - struct virtio_device_id id; - int (*device_id_check)(struct pci_dev *); - u64 dma_mask; -}; - -struct virtio_pci_device { - struct virtio_device vdev; - struct pci_dev *pci_dev; - union { - struct virtio_pci_legacy_device ldev; - struct virtio_pci_modern_device mdev; - }; - bool is_legacy; - u8 *isr; - spinlock_t lock; - struct list_head virtqueues; - struct list_head slow_virtqueues; - struct virtio_pci_vq_info **vqs; - struct virtio_pci_admin_vq admin_vq; - int msix_enabled; - int intx_enabled; - cpumask_var_t *msix_affinity_masks; - char (*msix_names)[256]; - unsigned int msix_vectors; - unsigned int msix_used_vectors; - bool per_vq_vectors; - struct virtqueue * (*setup_vq)(struct virtio_pci_device *, struct virtio_pci_vq_info *, unsigned int, void (*)(struct virtqueue *), const char *, bool, u16); - void (*del_vq)(struct virtio_pci_vq_info *); - u16 (*config_vector)(struct virtio_pci_device *, u16); - int (*avq_index)(struct virtio_device *, u16 *, u16 *); -}; - -struct virtio_pci_modern_common_cfg { - struct virtio_pci_common_cfg cfg; - __le16 queue_notify_data; - __le16 queue_reset; - __le16 admin_queue_index; - __le16 admin_queue_num; -}; - -struct virtio_pci_vq_info { - struct virtqueue *vq; - struct list_head node; - unsigned int msix_vector; -}; - -struct virtio_resource_obj_dev_parts { - __u8 type; - __u8 reserved[7]; -}; - -struct virtio_scsi_event { - __virtio32 event; - __u8 lun[8]; - __virtio32 reason; -}; - -struct virtio_scsi; - -struct virtio_scsi_event_node { - struct virtio_scsi *vscsi; - struct virtio_scsi_event event; - struct work_struct work; -}; - -struct virtio_scsi_vq { - spinlock_t vq_lock; - struct virtqueue *vq; -}; - -struct virtio_scsi { - struct virtio_device *vdev; - struct virtio_scsi_event_node event_list[8]; - u32 num_queues; - int io_queues[3]; - struct hlist_node node; - bool stop_events; - struct virtio_scsi_vq ctrl_vq; - struct virtio_scsi_vq event_vq; - struct virtio_scsi_vq req_vqs[0]; -}; - -struct virtio_scsi_cmd_req { - __u8 lun[8]; - __virtio64 tag; - __u8 task_attr; - __u8 prio; - __u8 crn; - __u8 cdb[32]; -} __attribute__((packed)); - -struct virtio_scsi_cmd_req_pi { - __u8 lun[8]; - __virtio64 tag; - __u8 task_attr; - __u8 prio; - __u8 crn; - __virtio32 pi_bytesout; - __virtio32 pi_bytesin; - __u8 cdb[32]; -} __attribute__((packed)); - -struct virtio_scsi_ctrl_tmf_req { - __virtio32 type; - __virtio32 subtype; - __u8 lun[8]; - __virtio64 tag; -}; - -struct virtio_scsi_ctrl_an_req { - __virtio32 type; - __u8 lun[8]; - __virtio32 event_requested; -}; - -struct virtio_scsi_cmd_resp { - __virtio32 sense_len; - __virtio32 resid; - __virtio16 status_qualifier; - __u8 status; - __u8 response; - __u8 sense[96]; -}; - -struct virtio_scsi_ctrl_tmf_resp { - __u8 response; -}; - -struct virtio_scsi_ctrl_an_resp { - __virtio32 event_actual; - __u8 response; -} __attribute__((packed)); - -struct virtio_scsi_cmd { - struct scsi_cmnd *sc; - struct completion *comp; - union { - struct virtio_scsi_cmd_req cmd; - struct virtio_scsi_cmd_req_pi cmd_pi; - struct virtio_scsi_ctrl_tmf_req tmf; - struct virtio_scsi_ctrl_an_req an; - } req; - union { - struct virtio_scsi_cmd_resp cmd; - struct virtio_scsi_ctrl_tmf_resp tmf; - struct virtio_scsi_ctrl_an_resp an; - struct virtio_scsi_event evt; - } resp; - long: 64; -} __attribute__((packed)); - -struct virtio_scsi_config { - __virtio32 num_queues; - __virtio32 seg_max; - __virtio32 max_sectors; - __virtio32 cmd_per_lun; - __virtio32 event_info_size; - __virtio32 sense_size; - __virtio32 cdb_size; - __virtio16 max_channel; - __virtio16 max_target; - __virtio32 max_lun; -}; - -struct virtio_shm_region { - u64 addr; - u64 len; -}; - -struct virtnet_info { - struct virtio_device *vdev; - struct virtqueue *cvq; - struct net_device *dev; - struct send_queue *sq; - struct receive_queue *rq; - unsigned int status; - u16 max_queue_pairs; - u16 curr_queue_pairs; - u16 xdp_queue_pairs; - bool xdp_enabled; - bool big_packets; - unsigned int big_packets_num_skbfrags; - bool mergeable_rx_bufs; - bool has_rss; - bool has_rss_hash_report; - u8 rss_key_size; - u16 rss_indir_table_size; - u32 rss_hash_types_supported; - u32 rss_hash_types_saved; - struct virtio_net_rss_config_hdr *rss_hdr; - struct virtio_net_rss_config_trailer rss_trailer; - u8 rss_hash_key_data[40]; - bool has_cvq; - struct mutex cvq_lock; - bool any_header_sg; - u8 hdr_len; - struct delayed_work refill; - bool tx_tnl; - bool rx_tnl; - bool rx_tnl_csum; - bool refill_enabled; - spinlock_t refill_lock; - struct work_struct config_work; - struct work_struct rx_mode_work; - bool rx_mode_work_enabled; - bool affinity_hint_set; - struct hlist_node node; - struct hlist_node node_dead; - struct control_buf *ctrl; - u8 duplex; - u32 speed; - bool rx_dim_enabled; - struct virtnet_interrupt_coalesce intr_coal_tx; - struct virtnet_interrupt_coalesce intr_coal_rx; - long unsigned int guest_offloads; - long unsigned int guest_offloads_capable; - struct failover *failover; - u64 device_stats_cap; -}; - -struct virtnet_rq_dma { - dma_addr_t addr; - u32 ref; - u16 len; - u16 need_sync; -}; - -struct virtnet_sq_free_stats { - u64 packets; - u64 bytes; - u64 napi_packets; - u64 napi_bytes; - u64 xsk; -}; - -struct virtnet_stat_desc { - char desc[32]; - size_t offset; - size_t qstat_offset; -}; - -struct virtnet_stats_ctx { - bool to_qstat; - u32 desc_num[3]; - u64 bitmap[3]; - u32 size[3]; - u64 *data; -}; - -struct virtqueue { - struct list_head list; - void (*callback)(struct virtqueue *); - const char *name; - struct virtio_device *vdev; - unsigned int index; - unsigned int num_free; - unsigned int num_max; - bool reset; - void *priv; -}; - -typedef void vq_callback_t(struct virtqueue *); - -struct virtqueue_info { - const char *name; - vq_callback_t *callback; - bool ctx; -}; - -struct vlan_priority_tci_mapping; - -struct vlan_pcpu_stats; - -struct vlan_dev_priv { - unsigned int nr_ingress_mappings; - u32 ingress_priority_map[8]; - unsigned int nr_egress_mappings; - struct vlan_priority_tci_mapping *egress_priority_map[16]; - __be16 vlan_proto; - u16 vlan_id; - u16 flags; - struct net_device *real_dev; - netdevice_tracker dev_tracker; - unsigned char real_dev_addr[6]; - struct proc_dir_entry *dent; - struct vlan_pcpu_stats *vlan_pcpu_stats; - struct netpoll *netpoll; -}; - -struct vlan_ethhdr { - union { - struct { - unsigned char h_dest[6]; - unsigned char h_source[6]; - }; - struct { - unsigned char h_dest[6]; - unsigned char h_source[6]; - } addrs; - }; - __be16 h_vlan_proto; - __be16 h_vlan_TCI; - __be16 h_vlan_encapsulated_proto; -}; - -struct vlan_group { - unsigned int nr_vlan_devs; - struct hlist_node hlist; - struct net_device **vlan_devices_arrays[16]; -}; - -struct vlan_hdr { - __be16 h_vlan_TCI; - __be16 h_vlan_encapsulated_proto; -}; - -struct vlan_info { - struct net_device *real_dev; - struct vlan_group grp; - struct list_head vid_list; - unsigned int nr_vids; - bool auto_vid0; - struct callback_head rcu; -}; - -struct vlan_pcpu_stats { - u64_stats_t rx_packets; - u64_stats_t rx_bytes; - u64_stats_t rx_multicast; - u64_stats_t tx_packets; - u64_stats_t tx_bytes; - struct u64_stats_sync syncp; - u32 rx_errors; - u32 tx_dropped; -}; - -struct vlan_priority_tci_mapping { - u32 priority; - u16 vlan_qos; - struct vlan_priority_tci_mapping *next; -}; - -struct vlan_vid { - struct list_head list; - __be16 proto; - u16 vid; -}; - -struct vlan_vid_info { - struct list_head list; - __be16 proto; - u16 vid; - int refcount; -}; - -struct vm_area_desc { - struct mm_struct *mm; - long unsigned int start; - long unsigned int end; - long unsigned int pgoff; - struct file *file; - vm_flags_t vm_flags; - pgprot_t page_prot; - const struct vm_operations_struct *vm_ops; - void *private_data; -}; - -struct vm_userfaultfd_ctx { - struct userfaultfd_ctx *ctx; -}; - -struct vma_numab_state; - -struct vm_area_struct { - union { - struct { - long unsigned int vm_start; - long unsigned int vm_end; - }; - freeptr_t vm_freeptr; - }; - struct mm_struct *vm_mm; - pgprot_t vm_page_prot; - union { - const vm_flags_t vm_flags; - vm_flags_t __vm_flags; - }; - unsigned int vm_lock_seq; - struct list_head anon_vma_chain; - struct anon_vma *anon_vma; - const struct vm_operations_struct *vm_ops; - long unsigned int vm_pgoff; - struct file *vm_file; - void *vm_private_data; - atomic_long_t swap_readahead_info; - struct mempolicy *vm_policy; - struct vma_numab_state *numab_state; - refcount_t vm_refcnt; - struct { - struct rb_node rb; - long unsigned int rb_subtree_last; - } shared; - struct anon_vma_name *anon_name; - struct vm_userfaultfd_ctx vm_userfaultfd_ctx; - struct pfnmap_track_ctx *pfnmap_track_ctx; -}; - -struct vm_event_state { - long unsigned int event[121]; -}; - -struct vm_fault { - const struct { - struct vm_area_struct *vma; - gfp_t gfp_mask; - long unsigned int pgoff; - long unsigned int address; - long unsigned int real_address; - }; - enum fault_flag flags; - pmd_t *pmd; - pud_t *pud; - union { - pte_t orig_pte; - pmd_t orig_pmd; - }; - struct page *cow_page; - struct page *page; - pte_t *pte; - spinlock_t *ptl; - pgtable_t prealloc_pte; -}; - -struct vm_operations_struct { - void (*open)(struct vm_area_struct *); - void (*close)(struct vm_area_struct *); - int (*may_split)(struct vm_area_struct *, long unsigned int); - int (*mremap)(struct vm_area_struct *); - int (*mprotect)(struct vm_area_struct *, long unsigned int, long unsigned int, long unsigned int); - vm_fault_t (*fault)(struct vm_fault *); - vm_fault_t (*huge_fault)(struct vm_fault *, unsigned int); - vm_fault_t (*map_pages)(struct vm_fault *, long unsigned int, long unsigned int); - long unsigned int (*pagesize)(struct vm_area_struct *); - vm_fault_t (*page_mkwrite)(struct vm_fault *); - vm_fault_t (*pfn_mkwrite)(struct vm_fault *); - int (*access)(struct vm_area_struct *, long unsigned int, void *, int, int); - const char * (*name)(struct vm_area_struct *); - int (*set_policy)(struct vm_area_struct *, struct mempolicy *); - struct mempolicy * (*get_policy)(struct vm_area_struct *, long unsigned int, long unsigned int *); - struct page * (*find_special_page)(struct vm_area_struct *, long unsigned int); -}; - -struct vm_special_mapping { - const char *name; - struct page **pages; - vm_fault_t (*fault)(const struct vm_special_mapping *, struct vm_area_struct *, struct vm_fault *); - int (*mremap)(const struct vm_special_mapping *, struct vm_area_struct *); - void (*close)(const struct vm_special_mapping *, struct vm_area_struct *); -}; - -struct vm_stack { - struct callback_head rcu; - struct vm_struct *stack_vm_area; -}; - -struct vm_struct { - struct vm_struct *next; - void *addr; - long unsigned int size; - long unsigned int flags; - struct page **pages; - unsigned int page_order; - unsigned int nr_pages; - phys_addr_t phys_addr; - const void *caller; - long unsigned int requested_size; -}; - -struct vm_unmapped_area_info { - long unsigned int flags; - long unsigned int length; - long unsigned int low_limit; - long unsigned int high_limit; - long unsigned int align_mask; - long unsigned int align_offset; - long unsigned int start_gap; -}; - -struct vma_list { - struct vm_area_struct *vma; - struct list_head head; - refcount_t mmap_count; -}; - -struct vma_merge_struct { - struct mm_struct *mm; - struct vma_iterator *vmi; - struct vm_area_struct *prev; - struct vm_area_struct *middle; - struct vm_area_struct *next; - struct vm_area_struct *target; - long unsigned int start; - long unsigned int end; - long unsigned int pgoff; - vm_flags_t vm_flags; - struct file *file; - struct anon_vma *anon_vma; - struct mempolicy *policy; - struct vm_userfaultfd_ctx uffd_ctx; - struct anon_vma_name *anon_name; - enum vma_merge_state state; - bool just_expand: 1; - bool give_up_on_oom: 1; - bool skip_vma_uprobe: 1; - bool __adjust_middle_start: 1; - bool __adjust_next_start: 1; - bool __remove_middle: 1; - bool __remove_next: 1; -}; - -struct vma_numab_state { - long unsigned int next_scan; - long unsigned int pids_active_reset; - long unsigned int pids_active[2]; - int start_scan_seq; - int prev_scan_seq; -}; - -struct vma_prepare { - struct vm_area_struct *vma; - struct vm_area_struct *adj_next; - struct file *file; - struct address_space *mapping; - struct anon_vma *anon_vma; - struct vm_area_struct *insert; - struct vm_area_struct *remove; - struct vm_area_struct *remove2; - bool skip_vma_uprobe: 1; -}; - -struct vma_remap_struct { - long unsigned int addr; - long unsigned int old_len; - long unsigned int new_len; - const long unsigned int flags; - long unsigned int new_addr; - struct vm_userfaultfd_ctx *uf; - struct list_head *uf_unmap_early; - struct list_head *uf_unmap; - struct vm_area_struct *vma; - long unsigned int delta; - bool populate_expand; - enum mremap_type remap_type; - bool mmap_locked; - long unsigned int charged; - bool vmi_needs_invalidate; -}; - -struct vmap_area { - long unsigned int va_start; - long unsigned int va_end; - struct rb_node rb_node; - struct list_head list; - union { - long unsigned int subtree_max_size; - struct vm_struct *vm; - }; - long unsigned int flags; -}; - -struct vmap_block { - spinlock_t lock; - struct vmap_area *va; - long unsigned int free; - long unsigned int dirty; - long unsigned int used_map[4]; - long unsigned int dirty_min; - long unsigned int dirty_max; - struct list_head free_list; - struct callback_head callback_head; - struct list_head purge; - unsigned int cpu; -}; - -struct vmap_block_queue { - spinlock_t lock; - struct list_head free; - struct xarray vmap_blocks; -}; - -struct vmap_pool { - struct list_head head; - long unsigned int len; -}; - -struct vmap_node { - struct vmap_pool pool[256]; - spinlock_t pool_lock; - bool skip_populate; - struct rb_list busy; - struct rb_list lazy; - struct list_head purge_list; - struct work_struct purge_work; - long unsigned int nr_purged; -}; - -struct vmap_pfn_data { - long unsigned int *pfns; - pgprot_t prot; - unsigned int idx; -}; - -struct vmcore_cb { - bool (*pfn_is_ram)(struct vmcore_cb *, long unsigned int); - int (*get_device_ram)(struct vmcore_cb *, struct list_head *); - struct list_head next; -}; - -struct vmcore_range { - struct list_head list; - long long unsigned int paddr; - long long unsigned int size; - loff_t offset; -}; - -struct vmcoredd_data { - char dump_name[44]; - unsigned int size; - int (*vmcoredd_callback)(struct vmcoredd_data *, void *); -}; - -struct vmcoredd_header { - __u32 n_namesz; - __u32 n_descsz; - __u32 n_type; - __u8 name[8]; - __u8 dump_name[44]; -}; - -struct vmcoredd_node { - struct list_head list; - void *buf; - unsigned int size; -}; - -struct vme_callback { - void (*func)(int, int, void *); - void *priv_data; -}; - -struct vme_irq { - int count; - struct vme_callback callback[256]; -}; - -struct vme_slave_resource; - -struct vme_master_resource; - -struct vme_dma_list; - -struct vme_dma_attr; - -struct vme_lm_resource; - -struct vme_bridge { - char name[16]; - int num; - struct list_head master_resources; - struct list_head slave_resources; - struct list_head dma_resources; - struct list_head lm_resources; - struct list_head vme_error_handlers; - struct list_head devices; - struct device *parent; - void *driver_priv; - struct list_head bus_list; - struct vme_irq irq[7]; - struct mutex irq_mtx; - int (*slave_get)(struct vme_slave_resource *, int *, long long unsigned int *, long long unsigned int *, dma_addr_t *, u32 *, u32 *); - int (*slave_set)(struct vme_slave_resource *, int, long long unsigned int, long long unsigned int, dma_addr_t, u32, u32); - int (*master_get)(struct vme_master_resource *, int *, long long unsigned int *, long long unsigned int *, u32 *, u32 *, u32 *); - int (*master_set)(struct vme_master_resource *, int, long long unsigned int, long long unsigned int, u32, u32, u32); - ssize_t (*master_read)(struct vme_master_resource *, void *, size_t, loff_t); - ssize_t (*master_write)(struct vme_master_resource *, void *, size_t, loff_t); - unsigned int (*master_rmw)(struct vme_master_resource *, unsigned int, unsigned int, unsigned int, loff_t); - int (*dma_list_add)(struct vme_dma_list *, struct vme_dma_attr *, struct vme_dma_attr *, size_t); - int (*dma_list_exec)(struct vme_dma_list *); - int (*dma_list_empty)(struct vme_dma_list *); - void (*irq_set)(struct vme_bridge *, int, int, int); - int (*irq_generate)(struct vme_bridge *, int, int); - int (*lm_set)(struct vme_lm_resource *, long long unsigned int, u32, u32); - int (*lm_get)(struct vme_lm_resource *, long long unsigned int *, u32 *, u32 *); - int (*lm_attach)(struct vme_lm_resource *, int, void (*)(void *), void *); - int (*lm_detach)(struct vme_lm_resource *, int); - int (*slot_get)(struct vme_bridge *); - void * (*alloc_consistent)(struct device *, size_t, dma_addr_t *); - void (*free_consistent)(struct device *, size_t, void *, dma_addr_t); -}; - -struct vme_dev { - int num; - struct vme_bridge *bridge; - struct device dev; - struct list_head drv_list; - struct list_head bridge_list; -}; - -struct vme_dma_attr { - u32 type; - void *private; -}; - -struct vme_dma_resource; - -struct vme_dma_list { - struct list_head list; - struct vme_dma_resource *parent; - struct list_head entries; - struct mutex mtx; -}; - -struct vme_dma_pattern { - u32 pattern; - u32 type; -}; - -struct vme_dma_pci { - dma_addr_t address; -}; - -struct vme_dma_resource { - struct list_head list; - struct vme_bridge *parent; - struct mutex mtx; - int locked; - int number; - struct list_head pending; - struct list_head running; - u32 route_attr; -}; - -struct vme_dma_vme { - long long unsigned int address; - u32 aspace; - u32 cycle; - u32 dwidth; -}; - -struct vme_driver { - const char *name; - int (*match)(struct vme_dev *); - int (*probe)(struct vme_dev *); - void (*remove)(struct vme_dev *); - struct device_driver driver; - struct list_head devices; -}; - -struct vme_error_handler { - struct list_head list; - long long unsigned int start; - long long unsigned int end; - long long unsigned int first_error; - u32 aspace; - unsigned int num_errors; -}; - -struct vme_lm_resource { - struct list_head list; - struct vme_bridge *parent; - struct mutex mtx; - int locked; - int number; - int monitors; -}; - -struct vme_master_resource { - struct list_head list; - struct vme_bridge *parent; - spinlock_t lock; - int locked; - int number; - u32 address_attr; - u32 cycle_attr; - u32 width_attr; - struct resource bus_resource; - void *kern_base; -}; - -struct vme_resource { - enum vme_resource_type type; - struct list_head *entry; -}; - -struct vme_slave_resource { - struct list_head list; - struct vme_bridge *parent; - struct mutex mtx; - int locked; - int number; - u32 address_attr; - u32 cycle_attr; -}; - -struct vmemmap_remap_walk { - void (*remap_pte)(pte_t *, long unsigned int, struct vmemmap_remap_walk *); - long unsigned int nr_walked; - struct page *reuse_page; - long unsigned int reuse_addr; - struct list_head *vmemmap_pages; - long unsigned int flags; -}; - -struct vmpressure_event { - struct eventfd_ctx *efd; - enum vmpressure_levels level; - enum vmpressure_modes mode; - struct list_head node; -}; - -struct vmware_steal_time { - union { - u64 clock; - struct { - u32 clock_low; - u32 clock_high; - }; - }; - u64 reserved[7]; -}; - -struct vring_desc; - -typedef struct vring_desc vring_desc_t; - -struct vring_avail; - -typedef struct vring_avail vring_avail_t; - -struct vring_used; - -typedef struct vring_used vring_used_t; - -struct vring { - unsigned int num; - vring_desc_t *desc; - vring_avail_t *avail; - vring_used_t *used; -}; - -struct vring_avail { - __virtio16 flags; - __virtio16 idx; - __virtio16 ring[0]; -}; - -struct vring_desc { - __virtio64 addr; - __virtio32 len; - __virtio16 flags; - __virtio16 next; -}; - -struct vring_desc_extra { - dma_addr_t addr; - u32 len; - u16 flags; - u16 next; -}; - -struct vring_packed_desc; - -struct vring_desc_state_packed { - void *data; - struct vring_packed_desc *indir_desc; - u16 num; - u16 last; -}; - -struct vring_desc_state_split { - void *data; - struct vring_desc *indir_desc; -}; - -struct vring_packed_desc { - __le64 addr; - __le32 len; - __le16 id; - __le16 flags; -}; - -struct vring_packed_desc_event { - __le16 off_wrap; - __le16 flags; -}; - -struct vring_used_elem { - __virtio32 id; - __virtio32 len; -}; - -typedef struct vring_used_elem vring_used_elem_t; - -struct vring_used { - __virtio16 flags; - __virtio16 idx; - vring_used_elem_t ring[0]; -}; - -struct vring_virtqueue_split { - struct vring vring; - u16 avail_flags_shadow; - u16 avail_idx_shadow; - struct vring_desc_state_split *desc_state; - struct vring_desc_extra *desc_extra; - dma_addr_t queue_dma_addr; - size_t queue_size_in_bytes; - u32 vring_align; - bool may_reduce_num; -}; - -struct vring_virtqueue_packed { - struct { - unsigned int num; - struct vring_packed_desc *desc; - struct vring_packed_desc_event *driver; - struct vring_packed_desc_event *device; - } vring; - bool avail_wrap_counter; - u16 avail_used_flags; - u16 next_avail_idx; - u16 event_flags_shadow; - struct vring_desc_state_packed *desc_state; - struct vring_desc_extra *desc_extra; - dma_addr_t ring_dma_addr; - dma_addr_t driver_event_dma_addr; - dma_addr_t device_event_dma_addr; - size_t ring_size_in_bytes; - size_t event_size_in_bytes; -}; - -struct vring_virtqueue { - struct virtqueue vq; - bool packed_ring; - bool use_dma_api; - bool weak_barriers; - bool broken; - bool indirect; - bool event; - unsigned int free_head; - unsigned int num_added; - u16 last_used_idx; - bool event_triggered; - union { - struct vring_virtqueue_split split; - struct vring_virtqueue_packed packed; - }; - bool (*notify)(struct virtqueue *); - bool we_own_ring; - struct device *dma_dev; -}; - -struct vt_consize { - __u16 v_rows; - __u16 v_cols; - __u16 v_vlin; - __u16 v_clin; - __u16 v_vcol; - __u16 v_ccol; -}; - -struct vt_consizecsrpos { - __u16 con_rows; - __u16 con_cols; - __u16 csr_row; - __u16 csr_col; -}; - -struct vt_event { - __u32 event; - __u32 oldev; - __u32 newev; - __u32 pad[4]; -}; - -struct vt_event_wait { - struct list_head list; - struct vt_event event; - int done; -}; - -struct vt_notifier_param { - struct vc_data *vc; - unsigned int c; -}; - -struct vt_setactivate { - __u32 console; - struct vt_mode mode; -}; - -struct vt_sizes { - __u16 v_rows; - __u16 v_cols; - __u16 v_scrollsize; -}; - -struct vt_spawn_console { - spinlock_t lock; - struct pid *pid; - int sig; -}; - -struct vt_stat { - __u16 v_active; - __u16 v_signal; - __u16 v_state; -}; - -struct vxlan_metadata { - u32 gbp; -}; - -struct wait_bit_key { - long unsigned int *flags; - int bit_nr; - long unsigned int timeout; -}; - -struct wait_bit_queue_entry { - struct wait_bit_key key; - struct wait_queue_entry wq_entry; -}; - -struct wait_exceptional_entry_queue { - wait_queue_entry_t wait; - struct exceptional_entry_key key; -}; - -struct wait_page_key { - struct folio *folio; - int bit_nr; - int page_match; -}; - -struct wake_irq { - struct device *dev; - unsigned int status; - int irq; - const char *name; -}; - -struct wakelock { - char *name; - struct rb_node node; - struct wakeup_source *ws; - struct list_head lru; -}; - -struct wakeup_header { - u16 video_mode; - u32 pmode_entry; - u16 pmode_cs; - u32 pmode_cr0; - u32 pmode_cr3; - u32 pmode_cr4; - u32 pmode_efer_low; - u32 pmode_efer_high; - u64 pmode_gdt; - u32 pmode_misc_en_low; - u32 pmode_misc_en_high; - u32 pmode_behavior; - u32 realmode_flags; - u32 real_magic; - u32 signature; -} __attribute__((packed)); - -struct wakeup_source { - const char *name; - int id; - struct list_head entry; - spinlock_t lock; - struct wake_irq *wakeirq; - struct timer_list timer; - long unsigned int timer_expires; - ktime_t total_time; - ktime_t max_time; - ktime_t last_time; - ktime_t start_prevent_time; - ktime_t prevent_sleep_time; - long unsigned int event_count; - long unsigned int active_count; - long unsigned int relax_count; - long unsigned int expire_count; - long unsigned int wakeup_count; - struct device *dev; - bool active: 1; - bool autosleep_enabled: 1; -}; - -struct walk_rcec_data { - struct pci_dev *rcec; - int (*user_callback)(struct pci_dev *, void *); - void *user_data; -}; - -struct walk_stack_ctx { - struct bpf_prog *prog; -}; - -struct warn_args { - const char *fmt; - va_list args; -}; - -struct watch { - union { - struct callback_head rcu; - u32 info_id; - }; - struct watch_queue *queue; - struct hlist_node queue_node; - struct watch_list *watch_list; - struct hlist_node list_node; - const struct cred *cred; - void *private; - u64 id; - struct kref usage; -}; - -struct xenbus_watch { - struct list_head list; - const char *node; - unsigned int nr_pending; - bool (*will_handle)(struct xenbus_watch *, const char *, const char *); - void (*callback)(struct xenbus_watch *, const char *, const char *); -}; - -struct xenbus_file_priv; - -struct watch_adapter { - struct list_head list; - struct xenbus_watch watch; - struct xenbus_file_priv *dev_data; - char *token; -}; - -struct watch_type_filter { - enum watch_notification_type type; - __u32 subtype_filter[1]; - __u32 info_filter; - __u32 info_mask; -}; - -struct watch_filter { - union { - struct callback_head rcu; - long unsigned int type_filter[1]; - }; - u32 nr_filters; - struct watch_type_filter filters[0]; -}; - -struct watch_list { - struct callback_head rcu; - struct hlist_head watchers; - void (*release_watch)(struct watch *); - spinlock_t lock; -}; - -struct watch_notification_type_filter { - __u32 type; - __u32 info_filter; - __u32 info_mask; - __u32 subtype_filter[8]; -}; - -struct watch_notification_filter { - __u32 nr_filters; - __u32 __reserved; - struct watch_notification_type_filter filters[0]; -}; - -struct watch_notification_removal { - struct watch_notification watch; - __u64 id; -}; - -struct watch_queue { - struct callback_head rcu; - struct watch_filter *filter; - struct pipe_inode_info *pipe; - struct hlist_head watches; - struct page **notes; - long unsigned int *notes_bitmap; - struct kref usage; - spinlock_t lock; - unsigned int nr_notes; - unsigned int nr_pages; -}; - -struct watchdog_device; - -struct watchdog_core_data { - struct device dev; - struct cdev cdev; - struct watchdog_device *wdd; - struct mutex lock; - ktime_t last_keepalive; - ktime_t last_hw_keepalive; - ktime_t open_deadline; - struct hrtimer timer; - struct kthread_work work; - long unsigned int status; -}; - -struct watchdog_info; - -struct watchdog_ops; - -struct watchdog_device { - int id; - struct device *parent; - const struct attribute_group **groups; - const struct watchdog_info *info; - const struct watchdog_ops *ops; - const struct watchdog_governor *gov; - unsigned int bootstatus; - unsigned int timeout; - unsigned int pretimeout; - unsigned int min_timeout; - unsigned int max_timeout; - unsigned int min_hw_heartbeat_ms; - unsigned int max_hw_heartbeat_ms; - struct notifier_block reboot_nb; - struct notifier_block restart_nb; - struct notifier_block pm_nb; - void *driver_data; - struct watchdog_core_data *wd_data; - long unsigned int status; - struct list_head deferred; -}; - -struct watchdog_governor { - const char name[20]; - void (*pretimeout)(struct watchdog_device *); -}; - -struct watchdog_info { - __u32 options; - __u32 firmware_version; - __u8 identity[32]; -}; - -struct watchdog_ops { - struct module *owner; - int (*start)(struct watchdog_device *); - int (*stop)(struct watchdog_device *); - int (*ping)(struct watchdog_device *); - unsigned int (*status)(struct watchdog_device *); - int (*set_timeout)(struct watchdog_device *, unsigned int); - int (*set_pretimeout)(struct watchdog_device *, unsigned int); - unsigned int (*get_timeleft)(struct watchdog_device *); - int (*restart)(struct watchdog_device *, long unsigned int, void *); - long int (*ioctl)(struct watchdog_device *, unsigned int, long unsigned int); -}; - -struct watchdog_pretimeout { - struct watchdog_device *wdd; - struct list_head entry; -}; - -struct wb_lock_cookie { - bool locked; - long unsigned int flags; -}; - -struct wb_stats { - long unsigned int nr_dirty; - long unsigned int nr_io; - long unsigned int nr_more_io; - long unsigned int nr_dirty_time; - long unsigned int nr_writeback; - long unsigned int nr_reclaimable; - long unsigned int nr_dirtied; - long unsigned int nr_written; - long unsigned int dirty_thresh; - long unsigned int wb_thresh; -}; - -struct wb_writeback_work { - long int nr_pages; - struct super_block *sb; - enum writeback_sync_modes sync_mode; - unsigned int tagged_writepages: 1; - unsigned int for_kupdate: 1; - unsigned int range_cyclic: 1; - unsigned int for_background: 1; - unsigned int for_sync: 1; - unsigned int auto_free: 1; - enum wb_reason reason; - struct list_head list; - struct wb_completion *done; -}; - -struct wbrf_ranges_in_out { - u64 num_of_ranges; - struct freq_band_range band_list[11]; -}; - -struct wbt_wait_data { - struct rq_wb *rwb; - enum wbt_flags wb_acct; - blk_opf_t opf; -}; - -struct wci_ent { - work_func_t func; - atomic64_t cnt; - struct hlist_node hash_node; -}; - -struct weighted_interleave_state { - bool mode_auto; - u8 iw_table[0]; -}; - -struct win_certificate { - uint32_t length; - uint16_t revision; - uint16_t cert_type; -}; - -struct wiphy_iftype_akm_suites; - -struct wiphy_wowlan_support; - -struct wiphy_iftype_ext_capab; - -struct wiphy_radio_cfg; - -struct wiphy_coalesce_support; - -struct wiphy_vendor_command; - -struct wiphy_radio; - -struct wiphy { - struct mutex mtx; - u8 perm_addr[6]; - u8 addr_mask[6]; - struct mac_address *addresses; - const struct ieee80211_txrx_stypes *mgmt_stypes; - const struct ieee80211_iface_combination *iface_combinations; - int n_iface_combinations; - u16 software_iftypes; - u16 n_addresses; - u16 interface_modes; - u16 max_acl_mac_addrs; - u32 flags; - u32 regulatory_flags; - u32 features; - u8 ext_features[9]; - u32 ap_sme_capa; - enum cfg80211_signal_type signal_type; - int bss_priv_size; - u8 max_scan_ssids; - u8 max_sched_scan_reqs; - u8 max_sched_scan_ssids; - u8 max_match_sets; - u16 max_scan_ie_len; - u16 max_sched_scan_ie_len; - u32 max_sched_scan_plans; - u32 max_sched_scan_plan_interval; - u32 max_sched_scan_plan_iterations; - int n_cipher_suites; - const u32 *cipher_suites; - int n_akm_suites; - const u32 *akm_suites; - const struct wiphy_iftype_akm_suites *iftype_akm_suites; - unsigned int num_iftype_akm_suites; - u8 retry_short; - u8 retry_long; - u32 frag_threshold; - u32 rts_threshold; - u8 coverage_class; - char fw_version[32]; - u32 hw_version; - const struct wiphy_wowlan_support *wowlan; - struct cfg80211_wowlan *wowlan_config; - u16 max_remain_on_channel_duration; - u8 max_num_pmkids; - u32 available_antennas_tx; - u32 available_antennas_rx; - u32 probe_resp_offload; - const u8 *extended_capabilities; - const u8 *extended_capabilities_mask; - u8 extended_capabilities_len; - const struct wiphy_iftype_ext_capab *iftype_ext_capab; - unsigned int num_iftype_ext_capab; - const void *privid; - struct ieee80211_supported_band *bands[6]; - void (*reg_notifier)(struct wiphy *, struct regulatory_request *); - struct wiphy_radio_cfg *radio_cfg; - const struct ieee80211_regdomain *regd; - struct device dev; - bool registered; - struct dentry *debugfsdir; - const struct ieee80211_ht_cap *ht_capa_mod_mask; - const struct ieee80211_vht_cap *vht_capa_mod_mask; - struct list_head wdev_list; - possible_net_t _net; - const struct iw_handler_def *wext; - const struct wiphy_coalesce_support *coalesce; - const struct wiphy_vendor_command *vendor_commands; - const struct nl80211_vendor_cmd_info *vendor_events; - int n_vendor_commands; - int n_vendor_events; - u16 max_ap_assoc_sta; - u8 max_num_csa_counters; - u32 bss_select_support; - u8 nan_supported_bands; - u32 txq_limit; - u32 txq_memory_limit; - u32 txq_quantum; - long unsigned int tx_queue_len; - u8 support_mbssid: 1; - u8 support_only_he_mbssid: 1; - const struct cfg80211_pmsr_capabilities *pmsr_capa; - struct { - u64 peer; - u64 vif; - u8 max_retry; - } tid_config_support; - u8 max_data_retry_count; - const struct cfg80211_sar_capa *sar_capa; - struct rfkill *rfkill; - u8 mbssid_max_interfaces; - u8 ema_max_profile_periodicity; - u16 max_num_akm_suites; - u16 hw_timestamp_max_peers; - int n_radio; - const struct wiphy_radio *radio; - long: 64; - long: 64; - long: 64; - char priv[0]; -}; - -struct wiphy_coalesce_support { - int n_rules; - int max_delay; - int n_patterns; - int pattern_max_len; - int pattern_min_len; - int max_pkt_offset; -}; - -struct wiphy_iftype_akm_suites { - u16 iftypes_mask; - const u32 *akm_suites; - int n_akm_suites; -}; - -struct wiphy_iftype_ext_capab { - enum nl80211_iftype iftype; - const u8 *extended_capabilities; - const u8 *extended_capabilities_mask; - u8 extended_capabilities_len; - u16 eml_capabilities; - u16 mld_capa_and_ops; -}; - -struct wiphy_radio_freq_range; - -struct wiphy_radio { - const struct wiphy_radio_freq_range *freq_range; - int n_freq_range; - const struct ieee80211_iface_combination *iface_combinations; - int n_iface_combinations; - u32 antenna_mask; -}; - -struct wiphy_radio_cfg { - u32 rts_threshold; -}; - -struct wiphy_radio_freq_range { - u32 start_freq; - u32 end_freq; -}; - -struct wiphy_vendor_command { - struct nl80211_vendor_cmd_info info; - u32 flags; - int (*doit)(struct wiphy *, struct wireless_dev *, const void *, int); - int (*dumpit)(struct wiphy *, struct wireless_dev *, struct sk_buff *, const void *, int, long unsigned int *); - const struct nla_policy *policy; - unsigned int maxattr; -}; - -struct wiphy_work; - -typedef void (*wiphy_work_func_t)(struct wiphy *, struct wiphy_work *); - -struct wiphy_work { - struct list_head entry; - wiphy_work_func_t func; -}; - -struct wiphy_wowlan_tcp_support; - -struct wiphy_wowlan_support { - u32 flags; - int n_patterns; - int pattern_max_len; - int pattern_min_len; - int max_pkt_offset; - int max_nd_match_sets; - const struct wiphy_wowlan_tcp_support *tcp; -}; - -struct wiphy_wowlan_tcp_support { - const struct nl80211_wowlan_tcp_data_token_feature *tok; - u32 data_payload_max; - u32 data_interval_max; - u32 wake_payload_max; - bool seq; -}; - -struct cfg80211_conn; - -struct cfg80211_cached_keys; - -struct cfg80211_cqm_config; - -struct cfg80211_internal_bss; - -struct wireless_dev { - struct wiphy *wiphy; - enum nl80211_iftype iftype; - struct list_head list; - struct net_device *netdev; - u32 identifier; - struct list_head mgmt_registrations; - u8 mgmt_registrations_need_update: 1; - bool use_4addr; - bool is_running; - bool registered; - bool registering; - short: 0; - u8 address[6]; - struct cfg80211_conn *conn; - struct cfg80211_cached_keys *connect_keys; - enum ieee80211_bss_type conn_bss_type; - u32 conn_owner_nlportid; - struct work_struct disconnect_wk; - u8 disconnect_bssid[6]; - struct list_head event_list; - spinlock_t event_lock; - u8 connected: 1; - bool ps; - int ps_timeout; - u32 ap_unexpected_nlportid; - u32 owner_nlportid; - bool nl_owner_dead; - struct { - struct cfg80211_ibss_params ibss; - struct cfg80211_connect_params connect; - struct cfg80211_cached_keys *keys; - const u8 *ie; - size_t ie_len; - u8 bssid[6]; - u8 prev_bssid[6]; - u8 ssid[32]; - s8 default_key; - s8 default_mgmt_key; - bool prev_bssid_valid; - } wext; - struct wiphy_work cqm_rssi_work; - struct cfg80211_cqm_config *cqm_config; - struct list_head pmsr_list; - spinlock_t pmsr_lock; - struct work_struct pmsr_free_wk; - long unsigned int unprot_beacon_reported; - union { - struct { - u8 connected_addr[6]; - u8 ssid[32]; - u8 ssid_len; - long: 0; - } client; - struct { - int beacon_interval; - struct cfg80211_chan_def preset_chandef; - struct cfg80211_chan_def chandef; - u8 id[32]; - u8 id_len; - u8 id_up_len; - } mesh; - struct { - struct cfg80211_chan_def preset_chandef; - u8 ssid[32]; - u8 ssid_len; - } ap; - struct { - struct cfg80211_internal_bss *current_bss; - struct cfg80211_chan_def chandef; - int beacon_interval; - u8 ssid[32]; - u8 ssid_len; - } ibss; - struct { - struct cfg80211_chan_def chandef; - } ocb; - } u; - struct { - u8 addr[6]; - union { - struct { - unsigned int beacon_interval; - struct cfg80211_chan_def chandef; - } ap; - struct { - struct cfg80211_internal_bss *current_bss; - } client; - }; - bool cac_started; - long unsigned int cac_start_time; - unsigned int cac_time_ms; - } links[15]; - u16 valid_links; - u32 radio_mask; -}; - -struct wm831x; - -struct wm831x_backlight_pdata; - -struct wm831x_backup_pdata; - -struct wm831x_battery_pdata; - -struct wm831x_touch_pdata; - -struct wm831x_watchdog_pdata; - -struct wm831x_status_pdata; - -struct wm831x_pdata { - int wm831x_num; - int (*pre_init)(struct wm831x *); - int (*post_init)(struct wm831x *); - bool irq_cmos; - bool disable_touch; - bool soft_shutdown; - int irq_base; - int gpio_base; - int gpio_defaults[16]; - struct wm831x_backlight_pdata *backlight; - struct wm831x_backup_pdata *backup; - struct wm831x_battery_pdata *battery; - struct wm831x_touch_pdata *touch; - struct wm831x_watchdog_pdata *watchdog; - struct wm831x_status_pdata *status[2]; - struct regulator_init_data *dcdc[4]; - struct regulator_init_data *epe[2]; - struct regulator_init_data *ldo[11]; - struct regulator_init_data *isink[2]; -}; - -typedef int (*wm831x_auxadc_read_fn)(struct wm831x *, enum wm831x_auxadc); - -struct wm831x { - struct mutex io_lock; - struct device *dev; - struct regmap *regmap; - struct wm831x_pdata pdata; - enum wm831x_parent type; - int irq; - struct mutex irq_lock; - struct irq_domain *irq_domain; - int irq_masks_cur[5]; - int irq_masks_cache[5]; - bool soft_shutdown; - unsigned int has_gpio_ena: 1; - unsigned int has_cs_sts: 1; - unsigned int charger_irq_wake: 1; - int num_gpio; - int gpio_update[16]; - bool gpio_level_high[16]; - bool gpio_level_low[16]; - struct mutex auxadc_lock; - struct list_head auxadc_pending; - u16 auxadc_active; - wm831x_auxadc_read_fn auxadc_read; - struct mutex key_lock; - unsigned int locked: 1; -}; - -struct wm831x_auxadc_req { - struct list_head list; - enum wm831x_auxadc input; - int val; - struct completion done; -}; - -struct wm831x_backlight_pdata { - int isink; - int max_uA; -}; - -struct wm831x_backup_pdata { - int charger_enable; - int no_constant_voltage; - int vlim; - int ilim; -}; - -struct wm831x_battery_pdata { - int enable; - int fast_enable; - int off_mask; - int trickle_ilim; - int vsel; - int eoc_iterm; - int fast_ilim; - int timeout; -}; - -struct wm831x_irq_data { - int primary; - int reg; - int mask; -}; - -struct wm831x_status_pdata { - enum wm831x_status_src default_src; - const char *name; - const char *default_trigger; -}; - -struct wm831x_touch_pdata { - int fivewire; - int isel; - int rpu; - int pressure; - unsigned int data_irq; - int data_irqf; - unsigned int pd_irq; - int pd_irqf; -}; - -struct wm831x_watchdog_pdata { - enum wm831x_watchdog_action primary; - enum wm831x_watchdog_action secondary; - unsigned int software: 1; -}; - -struct wm8350_audio_platform_data; - -struct wm8350_codec { - struct platform_device *pdev; - struct wm8350_audio_platform_data *platform_data; -}; - -struct wm8350_gpio { - struct platform_device *pdev; -}; - -struct wm8350_hwmon { - struct platform_device *pdev; - struct device *classdev; -}; - -struct wm8350_led { - struct platform_device *pdev; - struct work_struct work; - spinlock_t value_lock; - enum led_brightness value; - struct led_classdev cdev; - int max_uA_index; - int enabled; - struct regulator *isink; - struct regulator_consumer_supply isink_consumer; - struct regulator_init_data isink_init; - struct regulator *dcdc; - struct regulator_consumer_supply dcdc_consumer; - struct regulator_init_data dcdc_init; -}; - -struct wm8350_pmic { - int max_dcdc; - int max_isink; - int isink_A_dcdc; - int isink_B_dcdc; - u16 dcdc1_hib_mode; - u16 dcdc3_hib_mode; - u16 dcdc4_hib_mode; - u16 dcdc6_hib_mode; - struct platform_device *pdev[12]; - struct wm8350_led led[2]; -}; - -struct wm8350_charger_policy; - -struct wm8350_power { - struct platform_device *pdev; - struct power_supply *battery; - struct power_supply *usb; - struct power_supply *ac; - struct wm8350_charger_policy *policy; - int rev_g_coeff; -}; - -struct wm8350_rtc { - struct platform_device *pdev; - struct rtc_device *rtc; - int alarm_enabled; - int update_enabled; -}; - -struct wm8350_wdt { - struct platform_device *pdev; -}; - -struct wm8350 { - struct device *dev; - struct regmap *regmap; - bool unlocked; - struct mutex auxadc_mutex; - struct completion auxadc_done; - struct mutex irq_lock; - int chip_irq; - int irq_base; - u16 irq_masks[7]; - struct wm8350_codec codec; - struct wm8350_gpio gpio; - struct wm8350_hwmon hwmon; - struct wm8350_pmic pmic; - struct wm8350_power power; - struct wm8350_rtc rtc; - struct wm8350_wdt wdt; -}; - -struct wm8350_audio_platform_data { - int vmid_discharge_msecs; - int drain_msecs; - int cap_discharge_msecs; - int vmid_charge_msecs; - u32 vmid_s_curve: 2; - u32 dis_out4: 2; - u32 dis_out3: 2; - u32 dis_out2: 2; - u32 dis_out1: 2; - u32 vroi_out4: 1; - u32 vroi_out3: 1; - u32 vroi_out2: 1; - u32 vroi_out1: 1; - u32 vroi_enable: 1; - u32 codec_current_on: 2; - u32 codec_current_standby: 2; - u32 codec_current_charge: 2; -}; - -struct wm8350_charger_policy { - int eoc_mA; - int charge_mV; - int fast_limit_mA; - int fast_limit_USB_mA; - int charge_timeout; - int trickle_start_mV; - int trickle_charge_mA; - int trickle_charge_USB_mA; -}; - -struct wm8350_irq_data { - int primary; - int reg; - int mask; - int primary_only; -}; - -struct wm8350_platform_data { - int (*init)(struct wm8350 *); - int irq_high; - int irq_base; - int gpio_base; -}; - -struct wm8350_reg_access { - u16 readable; - u16 writable; - u16 vol; -}; - -struct wm8400 { - struct device *dev; - struct regmap *regmap; - struct platform_device regulators[6]; -}; - -struct wm8400_platform_data { - int (*platform_init)(struct device *); -}; - -struct wol_reply_data { - struct ethnl_reply_data base; - struct ethtool_wolinfo wol; - bool show_sopass; -}; - -struct word_at_a_time { - const long unsigned int one_bits; - const long unsigned int high_bits; -}; - -struct work_for_cpu { - struct work_struct work; - long int (*fn)(void *); - void *arg; - long int ret; -}; - -struct work_offq_data { - u32 pool_id; - u32 disable; - u32 flags; -}; - -struct worker { - union { - struct list_head entry; - struct hlist_node hentry; - }; - struct work_struct *current_work; - work_func_t current_func; - struct pool_workqueue *current_pwq; - u64 current_at; - unsigned int current_color; - int sleeping; - work_func_t last_func; - struct list_head scheduled; - struct task_struct *task; - struct worker_pool *pool; - struct list_head node; - long unsigned int last_active; - unsigned int flags; - int id; - char desc[32]; - struct workqueue_struct *rescue_wq; -}; - -struct worker_pool { - raw_spinlock_t lock; - int cpu; - int node; - int id; - unsigned int flags; - long unsigned int watchdog_ts; - bool cpu_stall; - int nr_running; - struct list_head worklist; - int nr_workers; - int nr_idle; - struct list_head idle_list; - struct timer_list idle_timer; - struct work_struct idle_cull_work; - struct timer_list mayday_timer; - struct hlist_head busy_hash[64]; - struct worker *manager; - struct list_head workers; - struct ida worker_ida; - struct workqueue_attrs *attrs; - struct hlist_node hash_node; - int refcnt; - struct callback_head rcu; -}; - -struct workqueue_attrs { - int nice; - cpumask_var_t cpumask; - cpumask_var_t __pod_cpumask; - bool affn_strict; - enum wq_affn_scope affn_scope; - bool ordered; -}; - -struct wq_flusher; - -struct wq_device; - -struct wq_node_nr_active; - -struct workqueue_struct { - struct list_head pwqs; - struct list_head list; - struct mutex mutex; - int work_color; - int flush_color; - atomic_t nr_pwqs_to_flush; - struct wq_flusher *first_flusher; - struct list_head flusher_queue; - struct list_head flusher_overflow; - struct list_head maydays; - struct worker *rescuer; - int nr_drainers; - int max_active; - int min_active; - int saved_max_active; - int saved_min_active; - struct workqueue_attrs *unbound_attrs; - struct pool_workqueue *dfl_pwq; - struct wq_device *wq_dev; - char name[32]; - struct callback_head rcu; - long: 64; - long: 64; - unsigned int flags; - struct pool_workqueue **cpu_pwq; - struct wq_node_nr_active *node_nr_active[0]; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct workspace { - void *mem; - size_t mem_size; - size_t window_size; -}; - -struct wpan_phy; - -struct wpan_dev_header_ops; - -struct wpan_dev { - struct wpan_phy *wpan_phy; - int iftype; - struct list_head list; - struct net_device *netdev; - const struct wpan_dev_header_ops *header_ops; - struct net_device *lowpan_dev; - u32 identifier; - __le16 pan_id; - __le16 short_addr; - __le64 extended_addr; - atomic_t bsn; - atomic_t dsn; - u8 min_be; - u8 max_be; - u8 csma_retries; - s8 frame_retries; - bool lbt; - bool ackreq; - struct mutex association_lock; - struct ieee802154_pan_device *parent; - struct list_head children; - unsigned int max_associations; - unsigned int nchildren; -}; - -struct wpan_dev_header_ops { - int (*create)(struct sk_buff *, struct net_device *, const struct ieee802154_addr *, const struct ieee802154_addr *, unsigned int); -}; - -struct wpan_phy_supported { - u32 channels[32]; - u32 cca_modes; - u32 cca_opts; - u32 iftypes; - enum nl802154_supported_bool_states lbt; - u8 min_minbe; - u8 max_minbe; - u8 min_maxbe; - u8 max_maxbe; - u8 min_csma_backoffs; - u8 max_csma_backoffs; - s8 min_frame_retries; - s8 max_frame_retries; - size_t tx_powers_size; - size_t cca_ed_levels_size; - const s32 *tx_powers; - const s32 *cca_ed_levels; -}; - -struct wpan_phy_cca { - enum nl802154_cca_modes mode; - enum nl802154_cca_opts opt; -}; - -struct wpan_phy { - const void *privid; - long unsigned int flags; - u8 current_channel; - u8 current_page; - struct wpan_phy_supported supported; - s32 transmit_power; - struct wpan_phy_cca cca; - __le64 perm_extended_addr; - s32 cca_ed_level; - u32 symbol_duration; - u16 lifs_period; - u16 sifs_period; - struct device dev; - possible_net_t _net; - spinlock_t queue_lock; - atomic_t ongoing_txs; - atomic_t hold_txs; - wait_queue_head_t sync_txq; - enum ieee802154_filtering_level filtering; - long: 0; - char priv[0]; -}; - -struct wq_barrier { - struct work_struct work; - struct completion done; - struct task_struct *task; -}; - -struct wq_device { - struct workqueue_struct *wq; - struct device dev; -}; - -struct wq_drain_dead_softirq_work { - struct work_struct work; - struct worker_pool *pool; - struct completion done; -}; - -struct wq_flusher { - struct list_head list; - int flush_color; - struct completion done; -}; - -struct wq_node_nr_active { - int max; - atomic_t nr; - raw_spinlock_t lock; - struct list_head pending_pwqs; -}; - -struct wq_pod_type { - int nr_pods; - cpumask_var_t *pod_cpus; - int *pod_node; - int *cpu_pod; -}; - -typedef void (*swap_func_t)(void *, void *, int); - -struct wrapper { - cmp_func_t cmp; - swap_func_t swap; -}; - -struct wrapper_priv_data { - struct dwc2_hsotg *hsotg; -}; - -struct writeback_control { - long int nr_to_write; - long int pages_skipped; - loff_t range_start; - loff_t range_end; - enum writeback_sync_modes sync_mode; - unsigned int for_kupdate: 1; - unsigned int for_background: 1; - unsigned int tagged_writepages: 1; - unsigned int range_cyclic: 1; - unsigned int for_sync: 1; - unsigned int unpinned_netfs_wb: 1; - unsigned int no_cgroup_owner: 1; - struct folio_batch fbatch; - long unsigned int index; - int saved_err; - struct bdi_writeback *wb; - struct inode *inode; - int wb_id; - int wb_lcand_id; - int wb_tcand_id; - size_t wb_bytes; - size_t wb_lcand_bytes; - size_t wb_tcand_bytes; -}; - -struct writer { - uint8_t *buffer; - uint8_t previous_byte; - size_t buffer_pos; - int bufsize; - size_t global_pos; - long int (*flush)(void *, long unsigned int); - struct lzma_header *header; -}; - -struct wrprotect_file_state { - int cleaned; - long unsigned int pgoff; - long unsigned int pfn; - long unsigned int nr_pages; -}; - -struct ww_class { - atomic_long_t stamp; - struct lock_class_key acquire_key; - struct lock_class_key mutex_key; - const char *acquire_name; - const char *mutex_name; - unsigned int is_wait_die; -}; - -struct x509_certificate { - struct x509_certificate *next; - struct x509_certificate *signer; - struct public_key *pub; - struct public_key_signature *sig; - char *issuer; - char *subject; - struct asymmetric_key_id *id; - struct asymmetric_key_id *skid; - time64_t valid_from; - time64_t valid_to; - const void *tbs; - unsigned int tbs_size; - unsigned int raw_sig_size; - const void *raw_sig; - const void *raw_serial; - unsigned int raw_serial_size; - unsigned int raw_issuer_size; - const void *raw_issuer; - const void *raw_subject; - unsigned int raw_subject_size; - unsigned int raw_skid_size; - const void *raw_skid; - unsigned int index; - bool seen; - bool verified; - bool self_signed; - bool unsupported_sig; - bool blacklisted; -}; - -struct x509_parse_context { - struct x509_certificate *cert; - long unsigned int data; - const void *key; - size_t key_size; - const void *params; - size_t params_size; - enum OID key_algo; - enum OID last_oid; - enum OID sig_algo; - u8 o_size; - u8 cn_size; - u8 email_size; - u16 o_offset; - u16 cn_offset; - u16 email_offset; - unsigned int raw_akid_size; - const void *raw_akid; - const void *akid_raw_issuer; - unsigned int akid_raw_issuer_size; -}; - -struct x64_jit_data { - struct bpf_binary_header *rw_header; - struct bpf_binary_header *header; - int *addrs; - u8 *image; - int proglen; - struct jit_context ctx; -}; - -struct x86_apic_ops { - unsigned int (*io_apic_read)(unsigned int, unsigned int); - void (*restore)(void); -}; - -struct x86_cpuinit_ops { - void (*setup_percpu_clockev)(void); - void (*early_percpu_clock_init)(void); - void (*fixup_cpu_id)(struct cpuinfo_x86 *, int); - bool parallel_bringup; -}; - -struct x86_guest { - int (*enc_status_change_prepare)(long unsigned int, int, bool); - int (*enc_status_change_finish)(long unsigned int, int, bool); - bool (*enc_tlb_flush_required)(bool); - bool (*enc_cache_flush_required)(void); - void (*enc_kexec_begin)(void); - void (*enc_kexec_finish)(void); -}; - -struct x86_hybrid_pmu { - struct pmu pmu; - const char *name; - enum hybrid_pmu_type pmu_type; - cpumask_t supported_cpus; - union perf_capabilities intel_cap; - u64 intel_ctrl; - u64 pebs_events_mask; - u64 config_mask; - union { - u64 cntr_mask64; - long unsigned int cntr_mask[1]; - }; - union { - u64 fixed_cntr_mask64; - long unsigned int fixed_cntr_mask[1]; - }; - union { - u64 acr_cntr_mask64; - long unsigned int acr_cntr_mask[1]; - }; - union { - u64 acr_cause_mask64; - long unsigned int acr_cause_mask[1]; - }; - struct event_constraint unconstrained; - u64 hw_cache_event_ids[42]; - u64 hw_cache_extra_regs[42]; - struct event_constraint *event_constraints; - struct event_constraint *pebs_constraints; - struct extra_reg *extra_regs; - unsigned int late_ack: 1; - unsigned int mid_ack: 1; - unsigned int enabled_ack: 1; - u64 pebs_data_source[256]; -}; - -struct x86_init_acpi { - void (*set_root_pointer)(u64); - u64 (*get_root_pointer)(void); - void (*reduced_hw_early_init)(void); -}; - -struct x86_init_iommu { - int (*iommu_init)(void); -}; - -struct x86_init_irqs { - void (*pre_vector_init)(void); - void (*intr_init)(void); - void (*intr_mode_select)(void); - void (*intr_mode_init)(void); - struct irq_domain * (*create_pci_msi_domain)(void); -}; - -struct x86_init_mpparse { - void (*setup_ioapic_ids)(void); - void (*find_mptable)(void); - void (*early_parse_smp_cfg)(void); - void (*parse_smp_cfg)(void); -}; - -struct x86_init_oem { - void (*arch_setup)(void); - void (*banner)(void); -}; - -struct x86_init_resources { - void (*probe_roms)(void); - void (*reserve_resources)(void); - char * (*memory_setup)(void); - void (*dmi_setup)(void); -}; - -struct x86_init_paging { - void (*pagetable_init)(void); -}; - -struct x86_init_timers { - void (*setup_percpu_clockev)(void); - void (*timer_init)(void); - void (*wallclock_init)(void); -}; - -struct x86_init_pci { - int (*arch_init)(void); - int (*init)(void); - void (*init_irq)(void); - void (*fixup_irqs)(void); -}; - -struct x86_init_ops { - struct x86_init_resources resources; - struct x86_init_mpparse mpparse; - struct x86_init_irqs irqs; - struct x86_init_oem oem; - struct x86_init_paging paging; - struct x86_init_timers timers; - struct x86_init_iommu iommu; - struct x86_init_pci pci; - struct x86_hyper_init hyper; - struct x86_init_acpi acpi; -}; - -struct x86_legacy_devices { - int pnpbios; -}; - -struct x86_legacy_features { - enum x86_legacy_i8042_state i8042; - int rtc; - int warm_reset; - int no_vga; - int reserve_bios_regions; - struct x86_legacy_devices devices; -}; - -struct x86_mapping_info { - void * (*alloc_pgt_page)(void *); - void (*free_pgt_page)(void *, void *); - void *context; - long unsigned int page_flag; - long unsigned int offset; - bool direct_gbpages; - long unsigned int kernpg_flag; -}; - -struct x86_perf_regs { - struct pt_regs regs; - u64 *xmm_regs; -}; - -struct x86_perf_task_context_opt { - int lbr_callstack_users; - int lbr_stack_state; - int log_id; -}; - -struct x86_perf_task_context { - u64 lbr_sel; - int tos; - int valid_lbrs; - struct x86_perf_task_context_opt opt; - struct lbr_entry lbr[32]; -}; - -struct x86_perf_task_context_arch_lbr { - struct x86_perf_task_context_opt opt; - struct lbr_entry entries[0]; -}; - -struct x86_perf_task_context_arch_lbr_xsave { - struct x86_perf_task_context_opt opt; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - union { - struct xregs_state xsave; - struct { - struct fxregs_state i387; - struct xstate_header header; - struct arch_lbr_state lbr; - long: 64; - long: 64; - long: 64; - }; - }; -}; - -struct x86_platform_ops { - long unsigned int (*calibrate_cpu)(void); - long unsigned int (*calibrate_tsc)(void); - void (*get_wallclock)(struct timespec64 *); - int (*set_wallclock)(const struct timespec64 *); - void (*iommu_shutdown)(void); - bool (*is_untracked_pat_range)(u64, u64); - void (*nmi_init)(void); - unsigned char (*get_nmi_reason)(void); - void (*save_sched_clock_state)(void); - void (*restore_sched_clock_state)(void); - void (*apic_post_init)(void); - struct x86_legacy_features legacy; - void (*set_legacy_features)(void); - void (*realmode_reserve)(void); - void (*realmode_init)(void); - struct x86_hyper_runtime hyper; - struct x86_guest guest; -}; - -struct x86_pmu_quirk; - -struct x86_pmu { - const char *name; - int version; - int (*handle_irq)(struct pt_regs *); - void (*disable_all)(void); - void (*enable_all)(int); - void (*enable)(struct perf_event *); - void (*disable)(struct perf_event *); - void (*assign)(struct perf_event *, int); - void (*add)(struct perf_event *); - void (*del)(struct perf_event *); - void (*read)(struct perf_event *); - int (*set_period)(struct perf_event *); - u64 (*update)(struct perf_event *); - int (*hw_config)(struct perf_event *); - int (*schedule_events)(struct cpu_hw_events *, int, int *); - void (*late_setup)(void); - void (*pebs_enable)(struct perf_event *); - void (*pebs_disable)(struct perf_event *); - void (*pebs_enable_all)(void); - void (*pebs_disable_all)(void); - unsigned int eventsel; - unsigned int perfctr; - unsigned int fixedctr; - int (*addr_offset)(int, bool); - int (*rdpmc_index)(int); - u64 (*event_map)(int); - int max_events; - u64 config_mask; - union { - u64 cntr_mask64; - long unsigned int cntr_mask[1]; - }; - union { - u64 fixed_cntr_mask64; - long unsigned int fixed_cntr_mask[1]; - }; - union { - u64 acr_cntr_mask64; - long unsigned int acr_cntr_mask[1]; - }; - union { - u64 acr_cause_mask64; - long unsigned int acr_cause_mask[1]; - }; - int cntval_bits; - u64 cntval_mask; - union { - long unsigned int events_maskl; - long unsigned int events_mask[1]; - }; - int events_mask_len; - int apic; - u64 max_period; - struct event_constraint * (*get_event_constraints)(struct cpu_hw_events *, int, struct perf_event *); - void (*put_event_constraints)(struct cpu_hw_events *, struct perf_event *); - void (*start_scheduling)(struct cpu_hw_events *); - void (*commit_scheduling)(struct cpu_hw_events *, int, int); - void (*stop_scheduling)(struct cpu_hw_events *); - struct event_constraint *event_constraints; - struct x86_pmu_quirk *quirks; - void (*limit_period)(struct perf_event *, s64 *); - unsigned int late_ack: 1; - unsigned int mid_ack: 1; - unsigned int enabled_ack: 1; - int attr_rdpmc_broken; - int attr_rdpmc; - struct attribute **format_attrs; - ssize_t (*events_sysfs_show)(char *, u64); - const struct attribute_group **attr_update; - long unsigned int attr_freeze_on_smi; - int (*cpu_prepare)(int); - void (*cpu_starting)(int); - void (*cpu_dying)(int); - void (*cpu_dead)(int); - void (*check_microcode)(void); - void (*sched_task)(struct perf_event_pmu_context *, struct task_struct *, bool); - u64 intel_ctrl; - union perf_capabilities intel_cap; - unsigned int bts: 1; - unsigned int bts_active: 1; - unsigned int ds_pebs: 1; - unsigned int pebs_active: 1; - unsigned int pebs_broken: 1; - unsigned int pebs_prec_dist: 1; - unsigned int pebs_no_tlb: 1; - unsigned int pebs_no_isolation: 1; - unsigned int pebs_block: 1; - unsigned int pebs_ept: 1; - int pebs_record_size; - int pebs_buffer_size; - u64 pebs_events_mask; - void (*drain_pebs)(struct pt_regs *, struct perf_sample_data *); - struct event_constraint *pebs_constraints; - void (*pebs_aliases)(struct perf_event *); - u64 (*pebs_latency_data)(struct perf_event *, u64); - long unsigned int large_pebs_flags; - u64 rtm_abort_event; - u64 pebs_capable; - unsigned int lbr_tos; - unsigned int lbr_from; - unsigned int lbr_to; - unsigned int lbr_info; - unsigned int lbr_nr; - union { - u64 lbr_sel_mask; - u64 lbr_ctl_mask; - }; - union { - const int *lbr_sel_map; - int *lbr_ctl_map; - }; - u64 lbr_callstack_users; - bool lbr_double_abort; - bool lbr_pt_coexist; - unsigned int lbr_has_info: 1; - unsigned int lbr_has_tsx: 1; - unsigned int lbr_from_flags: 1; - unsigned int lbr_to_cycles: 1; - unsigned int lbr_depth_mask: 8; - unsigned int lbr_deep_c_reset: 1; - unsigned int lbr_lip: 1; - unsigned int lbr_cpl: 1; - unsigned int lbr_filter: 1; - unsigned int lbr_call_stack: 1; - unsigned int lbr_mispred: 1; - unsigned int lbr_timed_lbr: 1; - unsigned int lbr_br_type: 1; - unsigned int lbr_counters: 4; - void (*lbr_reset)(void); - void (*lbr_read)(struct cpu_hw_events *); - void (*lbr_save)(void *); - void (*lbr_restore)(void *); - atomic_t lbr_exclusive[3]; - int num_topdown_events; - unsigned int amd_nb_constraints: 1; - u64 perf_ctr_pair_en; - struct extra_reg *extra_regs; - unsigned int flags; - struct perf_guest_switch_msr * (*guest_get_msrs)(int *, void *); - int (*check_period)(struct perf_event *, u64); - int (*aux_output_match)(struct perf_event *); - void (*filter)(struct pmu *, int, bool *); - int num_hybrid_pmus; - struct x86_hybrid_pmu *hybrid_pmu; - enum intel_cpu_type (*get_hybrid_cpu_type)(void); -}; - -struct x86_pmu_capability { - int version; - int num_counters_gp; - int num_counters_fixed; - int bit_width_gp; - int bit_width_fixed; - unsigned int events_mask; - int events_mask_len; - unsigned int pebs_ept: 1; -}; - -union x86_pmu_config { - struct { - u64 event: 8; - u64 umask: 8; - u64 usr: 1; - u64 os: 1; - u64 edge: 1; - u64 pc: 1; - u64 interrupt: 1; - u64 __reserved1: 1; - u64 en: 1; - u64 inv: 1; - u64 cmask: 8; - u64 event2: 4; - u64 __reserved2: 4; - u64 go: 1; - u64 ho: 1; - } bits; - u64 value; -}; - -struct x86_pmu_lbr { - unsigned int nr; - unsigned int from; - unsigned int to; - unsigned int info; - bool has_callstack; -}; - -struct x86_pmu_quirk { - struct x86_pmu_quirk *next; - void (*func)(void); -}; - -struct x86_topology_system { - unsigned int dom_shifts[7]; - unsigned int dom_size[7]; -}; - -struct x86_xfeat_component { - __u32 type; - __u32 size; - __u32 offset; - __u32 flags; -}; - -struct xa_limit { - u32 max; - u32 min; -}; - -struct xa_node { - unsigned char shift; - unsigned char offset; - unsigned char count; - unsigned char nr_values; - struct xa_node *parent; - struct xarray *array; - union { - struct list_head private_list; - struct callback_head callback_head; - }; - void *slots[64]; - union { - long unsigned int tags[3]; - long unsigned int marks[3]; - }; -}; - -typedef void (*xa_update_node_t)(struct xa_node *); - -struct xa_state { - struct xarray *xa; - long unsigned int xa_index; - unsigned char xa_shift; - unsigned char xa_sibs; - unsigned char xa_offset; - unsigned char xa_pad; - struct xa_node *xa_node; - struct xa_node *xa_alloc; - xa_update_node_t xa_update; - struct list_lru *xa_lru; -}; - -struct xattr { - const char *name; - void *value; - size_t value_len; -}; - -struct xattr_args { - __u64 value; - __u32 size; - __u32 flags; -}; - -struct xattr_handler { - const char *name; - const char *prefix; - int flags; - bool (*list)(struct dentry *); - int (*get)(const struct xattr_handler *, struct dentry *, struct inode *, const char *, void *, size_t); - int (*set)(const struct xattr_handler *, struct mnt_idmap *, struct dentry *, struct inode *, const char *, const void *, size_t, int); -}; - -struct xattr_list { - struct list_head list; - char *name; - bool enabled; -}; - -struct xattr_name { - char name[256]; -}; - -struct xb_find_info { - struct xenbus_device *dev; - const char *nodename; -}; - -struct xsd_sockmsg { - uint32_t type; - uint32_t req_id; - uint32_t tx_id; - uint32_t len; -}; - -struct xb_req_data { - struct list_head list; - wait_queue_head_t wq; - struct kref kref; - struct xsd_sockmsg msg; - uint32_t caller_req_id; - enum xsd_sockmsg_type type; - char *body; - const struct kvec *vec; - int num_vecs; - int err; - enum xb_req_state state; - bool user_req; - void (*cb)(struct xb_req_data *); - void *par; -}; - -struct xbc_node { - uint16_t next; - uint16_t child; - uint16_t parent; - uint16_t data; -}; - -struct xdbc_info_context { - __le64 string0; - __le64 manufacturer; - __le64 product; - __le64 serial; - __le32 length; - __le32 __reserved_0[7]; -}; - -struct xdbc_ep_context { - __le32 ep_info1; - __le32 ep_info2; - __le64 deq; - __le32 tx_info; - __le32 __reserved_0[11]; -}; - -struct xdbc_context { - struct xdbc_info_context info; - struct xdbc_ep_context out; - struct xdbc_ep_context in; -}; - -struct xdbc_erst_entry { - __le64 seg_addr; - __le32 seg_size; - __le32 __reserved_0; -}; - -struct xdbc_regs { - __le32 capability; - __le32 doorbell; - __le32 ersts; - __le32 __reserved_0; - __le64 erstba; - __le64 erdp; - __le32 control; - __le32 status; - __le32 portsc; - __le32 __reserved_1; - __le64 dccp; - __le32 devinfo1; - __le32 devinfo2; -}; - -struct xdbc_segment; - -struct xdbc_trb; - -struct xdbc_ring { - struct xdbc_segment *segment; - struct xdbc_trb *enqueue; - struct xdbc_trb *dequeue; - u32 cycle_state; -}; - -struct xdbc_segment { - struct xdbc_trb *trbs; - dma_addr_t dma; -}; - -struct xdbc_state { - u16 vendor; - u16 device; - u32 bus; - u32 dev; - u32 func; - void *xhci_base; - u64 xhci_start; - size_t xhci_length; - int port_number; - struct xdbc_regs *xdbc_reg; - dma_addr_t table_dma; - void *table_base; - dma_addr_t erst_dma; - size_t erst_size; - void *erst_base; - struct xdbc_ring evt_ring; - struct xdbc_segment evt_seg; - dma_addr_t dbcc_dma; - size_t dbcc_size; - void *dbcc_base; - dma_addr_t string_dma; - size_t string_size; - void *string_base; - struct xdbc_ring out_ring; - struct xdbc_segment out_seg; - void *out_buf; - dma_addr_t out_dma; - struct xdbc_ring in_ring; - struct xdbc_segment in_seg; - void *in_buf; - dma_addr_t in_dma; - u32 flags; - raw_spinlock_t lock; -}; - -struct xdbc_strings { - char string0[64]; - char manufacturer[64]; - char product[64]; - char serial[64]; -}; - -struct xdbc_trb { - __le32 field[4]; -}; - -struct xdp_attachment_info { - struct bpf_prog *prog; - u32 flags; -}; - -struct xdp_buff_xsk { - struct xdp_buff xdp; - u8 cb[24]; - dma_addr_t dma; - dma_addr_t frame_dma; - struct xsk_buff_pool *pool; - struct list_head list_node; - long: 64; -}; - -struct xdp_bulk_queue { - void *q[8]; - struct list_head flush_node; - struct bpf_cpu_map_entry *obj; - unsigned int count; -}; - -struct xdp_cpumap_stats { - unsigned int redirect; - unsigned int pass; - unsigned int drop; -}; - -struct xdp_desc { - __u64 addr; - __u32 len; - __u32 options; -}; - -struct xsk_tx_metadata; - -struct xdp_desc_ctx { - dma_addr_t dma; - struct xsk_tx_metadata *meta; -}; - -struct xdp_dev_bulk_queue { - struct xdp_frame *q[16]; - struct list_head flush_node; - struct net_device *dev; - struct net_device *dev_rx; - struct bpf_prog *xdp_prog; - unsigned int count; -}; - -struct xdp_frame { - void *data; - u32 len; - u32 headroom; - u32 metasize; - enum xdp_mem_type mem_type: 32; - struct net_device *dev_rx; - u32 frame_sz; - u32 flags; -}; - -struct xdp_frame_bulk { - int count; - netmem_ref q[16]; -}; - -struct xdp_mem_allocator { - struct xdp_mem_info mem; - union { - void *allocator; - struct page_pool *page_pool; - }; - struct rhash_head node; - struct callback_head rcu; -}; - -struct xdp_metadata_ops { - int (*xmo_rx_timestamp)(const struct xdp_md *, u64 *); - int (*xmo_rx_hash)(const struct xdp_md *, u32 *, enum xdp_rss_hash_type *); - int (*xmo_rx_vlan_tag)(const struct xdp_md *, __be16 *, u16 *); -}; - -struct xdp_ring_offset { - __u64 producer; - __u64 consumer; - __u64 desc; - __u64 flags; -}; - -struct xdp_mmap_offsets { - struct xdp_ring_offset rx; - struct xdp_ring_offset tx; - struct xdp_ring_offset fr; - struct xdp_ring_offset cr; -}; - -struct xdp_ring_offset_v1 { - __u64 producer; - __u64 consumer; - __u64 desc; -}; - -struct xdp_mmap_offsets_v1 { - struct xdp_ring_offset_v1 rx; - struct xdp_ring_offset_v1 tx; - struct xdp_ring_offset_v1 fr; - struct xdp_ring_offset_v1 cr; -}; - -struct xdp_options { - __u32 flags; -}; - -struct xdp_page_head { - struct xdp_buff orig_ctx; - struct xdp_buff ctx; - union { - struct { - struct {} __empty_frame; - struct xdp_frame frame[0]; - }; - struct { - struct {} __empty_data; - u8 data[0]; - }; - }; -}; - -struct xdp_ring { - u32 producer; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - u32 pad1; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - u32 consumer; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - u32 pad2; - u32 flags; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - u32 pad3; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct xdp_rxtx_ring { - struct xdp_ring ptrs; - struct xdp_desc desc[0]; -}; - -struct xsk_queue; - -struct xdp_umem; - -struct xdp_sock { - struct sock sk; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - struct xsk_queue *rx; - struct net_device *dev; - struct xdp_umem *umem; - struct list_head flush_node; - struct xsk_buff_pool *pool; - u16 queue_id; - bool zc; - bool sg; - enum { - XSK_READY = 0, - XSK_BOUND = 1, - XSK_UNBOUND = 2, - } state; - long: 64; - struct xsk_queue *tx; - struct list_head tx_list; - u32 tx_budget_spent; - u64 rx_dropped; - u64 rx_queue_full; - struct sk_buff *skb; - struct list_head map_list; - spinlock_t map_list_lock; - u32 max_tx_budget; - struct mutex mutex; - struct xsk_queue *fq_tmp; - struct xsk_queue *cq_tmp; -}; - -struct xdp_statistics { - __u64 rx_dropped; - __u64 rx_invalid_descs; - __u64 tx_invalid_descs; - __u64 rx_ring_full; - __u64 rx_fill_ring_empty_descs; - __u64 tx_ring_empty_descs; -}; - -struct xdp_test_data { - struct xdp_buff *orig_ctx; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - struct xdp_rxq_info rxq; - struct net_device *dev; - struct page_pool *pp; - struct xdp_frame **frames; - struct sk_buff **skbs; - struct xdp_mem_info mem; - u32 batch_size; - u32 frame_cnt; - long: 64; - long: 64; -}; - -struct xdp_txq_info { - struct net_device *dev; -}; - -struct xdp_umem { - void *addrs; - u64 size; - u32 headroom; - u32 chunk_size; - u32 chunks; - u32 npgs; - struct user_struct *user; - refcount_t users; - u8 flags; - u8 tx_metadata_len; - bool zc; - struct page **pgs; - int id; - struct list_head xsk_dma_list; - struct work_struct work; -}; - -struct xdp_umem_reg { - __u64 addr; - __u64 len; - __u32 chunk_size; - __u32 headroom; - __u32 flags; - __u32 tx_metadata_len; -}; - -struct xdp_umem_ring { - struct xdp_ring ptrs; - u64 desc[0]; -}; - -struct xdr_netobj { - unsigned int len; - u8 *data; -}; - -struct xen_add_to_physmap { - domid_t domid; - uint16_t size; - unsigned int space; - xen_ulong_t idx; - xen_pfn_t gpfn; -}; - -struct xen_add_to_physmap_range { - domid_t domid; - uint16_t space; - uint16_t size; - domid_t foreign_domid; - __guest_handle_xen_ulong_t idxs; - __guest_handle_xen_pfn_t gpfns; - __guest_handle_int errs; -}; - -struct xen_build_id { - uint32_t len; - unsigned char buf[0]; -}; - -struct xen_bus_type { - char *root; - unsigned int levels; - int (*get_bus_id)(char *, const char *); - int (*probe)(struct xen_bus_type *, const char *, const char *); - bool (*otherend_will_handle)(struct xenbus_watch *, const char *, const char *); - void (*otherend_changed)(struct xenbus_watch *, const char *, const char *); - struct bus_type bus; -}; - -struct xen_clock_event_device { - struct clock_event_device evt; - char name[16]; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; - long: 64; -}; - -struct xen_common_irq { - int irq; - char *name; -}; - -struct xen_compile_info { - char compiler[64]; - char compile_by[16]; - char compile_domain[32]; - char compile_date[32]; -}; - -struct xen_device_domain_owner { - domid_t domain; - struct pci_dev *dev; - struct list_head list; -}; - -struct xen_extraversion { - char extraversion[16]; -}; - -struct xen_feature_info { - unsigned int submap_idx; - uint32_t submap; -}; - -struct xen_grant_dma_data { - domid_t backend_domid; - bool broken; -}; - -struct xen_hvm_evtchn_upcall_vector { - uint32_t vcpu; - uint8_t vector; -}; - -typedef struct xen_hvm_evtchn_upcall_vector xen_hvm_evtchn_upcall_vector_t; - -struct xen_hvm_get_mem_type { - domid_t domid; - uint16_t mem_type; - uint16_t pad[2]; - uint64_t pfn; -}; - -struct xen_hvm_pagetable_dying { - domid_t domid; - __u64 gpa; -}; - -struct xen_hvm_param { - domid_t domid; - uint32_t index; - uint64_t value; -}; - -struct xen_machphys_mapping { - xen_ulong_t v_start; - xen_ulong_t v_end; - xen_ulong_t max_mfn; -}; - -struct xen_mc_fetch { - uint32_t flags; - uint32_t _pad0; - uint64_t fetch_id; - __guest_handle_mc_info data; -}; - -struct xen_mc_notifydomain { - uint16_t mc_domid; - uint16_t mc_vcpuid; - uint32_t flags; -}; - -struct xen_mc_physcpuinfo { - uint32_t ncpus; - uint32_t _pad0; - __guest_handle_mcinfo_logical_cpu info; -}; - -struct xen_mc_msrinject { - uint32_t mcinj_cpunr; - uint32_t mcinj_flags; - uint32_t mcinj_count; - uint32_t _pad0; - struct mcinfo_msr mcinj_msr[8]; -}; - -struct xen_mc_mceinject { - unsigned int mceinj_cpunr; -}; - -struct xen_mc { - uint32_t cmd; - uint32_t interface_version; - union { - struct xen_mc_fetch mc_fetch; - struct xen_mc_notifydomain mc_notifydomain; - struct xen_mc_physcpuinfo mc_physcpuinfo; - struct xen_mc_msrinject mc_msrinject; - struct xen_mc_mceinject mc_mceinject; - } u; -}; - -struct xen_mce { - __u64 status; - __u64 misc; - __u64 addr; - __u64 mcgstatus; - __u64 ip; - __u64 tsc; - __u64 time; - __u8 cpuvendor; - __u8 inject_flags; - __u16 pad; - __u32 cpuid; - __u8 cs; - __u8 bank; - __u8 cpu; - __u8 finished; - __u32 extcpu; - __u32 socketid; - __u32 apicid; - __u64 mcgcap; - __u64 synd; - __u64 ipid; - __u64 ppin; -}; - -struct xen_mce_log { - char signature[12]; - unsigned int len; - unsigned int next; - unsigned int flags; - unsigned int recordlen; - struct xen_mce entry[32]; -}; - -struct xen_memory_reservation { - __guest_handle_xen_pfn_t extent_start; - xen_ulong_t nr_extents; - unsigned int extent_order; - unsigned int address_bits; - domid_t domid; -}; - -struct xen_memory_exchange { - struct xen_memory_reservation in; - struct xen_memory_reservation out; - xen_ulong_t nr_exchanged; -}; - -typedef void *__guest_handle_void; - -struct xen_memory_map { - unsigned int nr_entries; - __guest_handle_void buffer; -}; - -struct xen_memory_region { - long unsigned int start_pfn; - long unsigned int n_pfns; -}; - -struct xen_msi_ops { - int (*setup_msi_irqs)(struct pci_dev *, int, int); - void (*teardown_msi_irqs)(struct pci_dev *); -}; - -struct xen_netif_rx_request { - uint16_t id; - uint16_t pad; - grant_ref_t gref; -}; - -union xen_netif_rx_sring_entry { - struct xen_netif_rx_request req; - struct xen_netif_rx_response rsp; -}; - -struct xen_netif_rx_sring { - RING_IDX req_prod; - RING_IDX req_event; - RING_IDX rsp_prod; - RING_IDX rsp_event; - uint8_t __pad[48]; - union xen_netif_rx_sring_entry ring[0]; -}; - -struct xen_netif_tx_request { - grant_ref_t gref; - uint16_t offset; - uint16_t flags; - uint16_t id; - uint16_t size; -}; - -struct xen_netif_tx_response { - uint16_t id; - int16_t status; -}; - -union xen_netif_tx_sring_entry { - struct xen_netif_tx_request req; - struct xen_netif_tx_response rsp; -}; - -struct xen_netif_tx_sring { - RING_IDX req_prod; - RING_IDX req_event; - RING_IDX rsp_prod; - RING_IDX rsp_event; - uint8_t __pad[48]; - union xen_netif_tx_sring_entry ring[0]; -}; - -struct xen_page_foreign { - domid_t domid; - grant_ref_t gref; -}; - -struct xen_pci_frontend_ops { - int (*enable_msi)(struct pci_dev *, int *); - void (*disable_msi)(struct pci_dev *); - int (*enable_msix)(struct pci_dev *, int *, int); - void (*disable_msix)(struct pci_dev *); -}; - -struct xen_pct_register { - uint8_t descriptor; - uint16_t length; - uint8_t space_id; - uint8_t bit_width; - uint8_t bit_offset; - uint8_t reserved; - uint64_t address; -}; - -struct xenpf_settime32 { - uint32_t secs; - uint32_t nsecs; - uint64_t system_time; -}; - -struct xenpf_settime64 { - uint64_t secs; - uint32_t nsecs; - uint32_t mbz; - uint64_t system_time; -}; - -struct xenpf_add_memtype { - xen_pfn_t mfn; - uint64_t nr_mfns; - uint32_t type; - uint32_t handle; - uint32_t reg; -}; - -struct xenpf_del_memtype { - uint32_t handle; - uint32_t reg; -}; - -struct xenpf_read_memtype { - uint32_t reg; - xen_pfn_t mfn; - uint64_t nr_mfns; - uint32_t type; -}; - -struct xenpf_microcode_update { - __guest_handle_void data; - uint32_t length; -}; - -struct xenpf_platform_quirk { - uint32_t quirk_id; -}; - -struct xenpf_efi_time { - uint16_t year; - uint8_t month; - uint8_t day; - uint8_t hour; - uint8_t min; - uint8_t sec; - uint32_t ns; - int16_t tz; - uint8_t daylight; -}; - -struct xenpf_efi_guid { - uint32_t data1; - uint16_t data2; - uint16_t data3; - uint8_t data4[8]; -}; - -struct xenpf_efi_runtime_call { - uint32_t function; - uint32_t misc; - xen_ulong_t status; - union { - struct { - struct xenpf_efi_time time; - uint32_t resolution; - uint32_t accuracy; - } get_time; - struct xenpf_efi_time set_time; - struct xenpf_efi_time get_wakeup_time; - struct xenpf_efi_time set_wakeup_time; - struct { - __guest_handle_void name; - xen_ulong_t size; - __guest_handle_void data; - struct xenpf_efi_guid vendor_guid; - } get_variable; - struct { - __guest_handle_void name; - xen_ulong_t size; - __guest_handle_void data; - struct xenpf_efi_guid vendor_guid; - } set_variable; - struct { - xen_ulong_t size; - __guest_handle_void name; - struct xenpf_efi_guid vendor_guid; - } get_next_variable_name; - struct { - uint32_t attr; - uint64_t max_store_size; - uint64_t remain_store_size; - uint64_t max_size; - } query_variable_info; - struct { - __guest_handle_void capsule_header_array; - xen_ulong_t capsule_count; - uint64_t max_capsule_size; - uint32_t reset_type; - } query_capsule_capabilities; - struct { - __guest_handle_void capsule_header_array; - xen_ulong_t capsule_count; - uint64_t sg_list; - } update_capsule; - } u; -}; - -union xenpf_efi_info { - uint32_t version; - struct { - uint64_t addr; - uint32_t nent; - } cfg; - struct { - uint32_t revision; - uint32_t bufsz; - __guest_handle_void name; - } vendor; - struct { - uint64_t addr; - uint64_t size; - uint64_t attr; - uint32_t type; - } mem; -}; - -struct xenpf_firmware_info { - uint32_t type; - uint32_t index; - union { - struct { - uint8_t device; - uint8_t version; - uint16_t interface_support; - uint16_t legacy_max_cylinder; - uint8_t legacy_max_head; - uint8_t legacy_sectors_per_track; - __guest_handle_void edd_params; - } disk_info; - struct { - uint8_t device; - uint32_t mbr_signature; - } disk_mbr_signature; - struct { - uint8_t capabilities; - uint8_t edid_transfer_time; - __guest_handle_uchar edid; - } vbeddc_info; - union xenpf_efi_info efi_info; - uint8_t kbd_shift_flags; - } u; -}; - -struct xenpf_enter_acpi_sleep { - uint16_t val_a; - uint16_t val_b; - uint32_t sleep_state; - uint32_t flags; -}; - -struct xenpf_change_freq { - uint32_t flags; - uint32_t cpu; - uint64_t freq; -}; - -struct xenpf_getidletime { - __guest_handle_uchar cpumap_bitmap; - uint32_t cpumap_nr_cpus; - __guest_handle_uint64_t idletime; - uint64_t now; -}; - -struct xen_processor_flags { - uint32_t bm_control: 1; - uint32_t bm_check: 1; - uint32_t has_cst: 1; - uint32_t power_setup_done: 1; - uint32_t bm_rld_set: 1; -}; - -struct xen_processor_cx; - -typedef struct xen_processor_cx *__guest_handle_xen_processor_cx; - -struct xen_processor_power { - uint32_t count; - struct xen_processor_flags flags; - __guest_handle_xen_processor_cx states; -}; - -struct xen_processor_px; - -typedef struct xen_processor_px *__guest_handle_xen_processor_px; - -struct xen_psd_package { - uint64_t num_entries; - uint64_t revision; - uint64_t domain; - uint64_t coord_type; - uint64_t num_processors; -}; - -struct xen_processor_performance { - uint32_t flags; - uint32_t platform_limit; - struct xen_pct_register control_register; - struct xen_pct_register status_register; - uint32_t state_count; - __guest_handle_xen_processor_px states; - struct xen_psd_package domain_info; - uint32_t shared_type; -}; - -struct xenpf_set_processor_pminfo { - uint32_t id; - uint32_t type; - union { - struct xen_processor_power power; - struct xen_processor_performance perf; - __guest_handle_uint32_t pdc; - }; -}; - -struct xenpf_pcpuinfo { - uint32_t xen_cpuid; - uint32_t max_present; - uint32_t flags; - uint32_t apic_id; - uint32_t acpi_id; -}; - -struct xenpf_cpu_ol { - uint32_t cpuid; -}; - -struct xenpf_cpu_hotadd { - uint32_t apic_id; - uint32_t acpi_id; - uint32_t pxm; -}; - -struct xenpf_mem_hotadd { - uint64_t spfn; - uint64_t epfn; - uint32_t pxm; - uint32_t flags; -}; - -struct xenpf_core_parking { - uint32_t type; - uint32_t idle_nums; -}; - -struct xenpf_symdata { - uint32_t namelen; - uint32_t symnum; - __guest_handle_char name; - uint64_t address; - char type; -}; - -struct xen_platform_op { - uint32_t cmd; - uint32_t interface_version; - union { - struct xenpf_settime32 settime32; - struct xenpf_settime64 settime64; - struct xenpf_add_memtype add_memtype; - struct xenpf_del_memtype del_memtype; - struct xenpf_read_memtype read_memtype; - struct xenpf_microcode_update microcode; - struct xenpf_platform_quirk platform_quirk; - struct xenpf_efi_runtime_call efi_runtime_call; - struct xenpf_firmware_info firmware_info; - struct xenpf_enter_acpi_sleep enter_acpi_sleep; - struct xenpf_change_freq change_freq; - struct xenpf_getidletime getidletime; - struct xenpf_set_processor_pminfo set_pminfo; - struct xenpf_pcpuinfo pcpu_info; - struct xenpf_cpu_ol cpu_ol; - struct xenpf_cpu_hotadd cpu_add; - struct xenpf_mem_hotadd mem_add; - struct xenpf_core_parking core_parking; - struct xenpf_symdata symdata; - struct dom0_vga_console_info dom0_console; - uint8_t pad[128]; - } u; -}; - -struct xen_platform_parameters { - xen_ulong_t virt_start; -}; - -struct xen_pmu_amd_ctxt { - uint32_t counters; - uint32_t ctrls; - uint64_t regs[0]; -}; - -struct xen_pmu_regs { - uint64_t ip; - uint64_t sp; - uint64_t flags; - uint16_t cs; - uint16_t ss; - uint8_t cpl; - uint8_t pad[3]; -}; - -struct xen_pmu_intel_ctxt { - uint32_t fixed_counters; - uint32_t arch_counters; - uint64_t global_ctrl; - uint64_t global_ovf_ctrl; - uint64_t global_status; - uint64_t fixed_ctrl; - uint64_t ds_area; - uint64_t pebs_enable; - uint64_t debugctl; - uint64_t regs[0]; -}; - -struct xen_pmu_arch { - union { - struct xen_pmu_regs regs; - uint8_t pad[64]; - } r; - uint64_t pmu_flags; - union { - uint32_t lapic_lvtpc; - uint64_t pad; - } l; - union { - struct xen_pmu_amd_ctxt amd; - struct xen_pmu_intel_ctxt intel; - uint8_t pad[128]; - } c; -}; - -struct xen_pmu_cntr_pair { - uint64_t counter; - uint64_t control; -}; - -struct xen_pmu_data { - uint32_t vcpu_id; - uint32_t pcpu_id; - domid_t domain_id; - uint8_t pad[6]; - struct xen_pmu_arch pmu; -}; - -struct xen_pmu_params { - struct { - uint32_t maj; - uint32_t min; - } version; - uint64_t val; - uint32_t vcpu; - uint32_t pad; -}; - -struct xen_power_register { - uint32_t space_id; - uint32_t bit_width; - uint32_t bit_offset; - uint32_t access_size; - uint64_t address; -}; - -struct xen_processor_csd; - -typedef struct xen_processor_csd *__guest_handle_xen_processor_csd; - -struct xen_processor_csd { - uint32_t domain; - uint32_t coord_type; - uint32_t num; -}; - -struct xen_processor_cx { - struct xen_power_register reg; - uint8_t type; - uint32_t latency; - uint32_t power; - uint32_t dpcnt; - __guest_handle_xen_processor_csd dp; -}; - -struct xen_processor_px { - uint64_t core_frequency; - uint64_t power; - uint64_t transition_latency; - uint64_t bus_master_latency; - uint64_t control; - uint64_t status; -}; - -struct xen_remove_from_physmap { - domid_t domid; - xen_pfn_t gpfn; -}; - -struct xenbus_device { - const char *devicetype; - const char *nodename; - const char *otherend; - int otherend_id; - struct xenbus_watch otherend_watch; - struct device dev; - enum xenbus_state state; - struct completion down; - struct work_struct work; - struct semaphore reclaim_sem; - atomic_t event_channels; - atomic_t events; - atomic_t spurious_events; - atomic_t jiffies_eoi_delayed; - unsigned int spurious_threshold; -}; - -struct xenbus_device_id { - char devicetype[32]; -}; - -struct xenbus_driver { - const char *name; - const struct xenbus_device_id *ids; - bool allow_rebind; - bool not_essential; - int (*probe)(struct xenbus_device *, const struct xenbus_device_id *); - void (*otherend_changed)(struct xenbus_device *, enum xenbus_state); - void (*remove)(struct xenbus_device *); - int (*suspend)(struct xenbus_device *); - int (*resume)(struct xenbus_device *); - int (*uevent)(const struct xenbus_device *, struct kobj_uevent_env *); - struct device_driver driver; - int (*read_otherend_details)(struct xenbus_device *); - int (*is_ready)(struct xenbus_device *); - void (*reclaim_memory)(struct xenbus_device *); -}; - -struct xenbus_file_priv { - struct mutex msgbuffer_mutex; - struct list_head transactions; - struct list_head watches; - unsigned int len; - union { - struct xsd_sockmsg msg; - char buffer[4096]; - } u; - struct mutex reply_mutex; - struct list_head read_buffers; - wait_queue_head_t read_waitq; - struct kref kref; - struct work_struct wq; -}; - -struct xenbus_map_node { - struct list_head next; - union { - struct { - struct vm_struct *area; - } pv; - struct { - struct page *pages[16]; - long unsigned int addrs[16]; - void *addr; - } hvm; - }; - grant_handle_t handles[16]; - unsigned int nr_handles; -}; - -struct xenbus_ring_ops { - int (*map)(struct xenbus_device *, struct map_ring_valloc *, grant_ref_t *, unsigned int, void **); - int (*unmap)(struct xenbus_device *, void *); -}; - -struct xenbus_transaction { - u32 id; -}; - -struct xenbus_transaction_holder { - struct list_head list; - struct xenbus_transaction handle; - unsigned int generation_id; -}; - -struct xencons_interface; - -struct xencons_info { - struct list_head list; - struct xenbus_device *xbdev; - struct xencons_interface *intf; - unsigned int evtchn; - XENCONS_RING_IDX out_cons; - unsigned int out_cons_same; - struct hvc_struct *hvc; - int irq; - int vtermno; - grant_ref_t gntref; - spinlock_t ring_lock; -}; - -struct xencons_interface { - char in[1024]; - char out[2048]; - XENCONS_RING_IDX in_cons; - XENCONS_RING_IDX in_prod; - XENCONS_RING_IDX out_cons; - XENCONS_RING_IDX out_prod; -}; - -struct xennet_gnttab_make_txreq { - struct netfront_queue *queue; - struct sk_buff *skb; - struct page *page; - struct xen_netif_tx_request *tx; - struct xen_netif_tx_request tx_local; - unsigned int size; -}; - -struct xennet_stat { - char name[32]; - u16 offset; -}; - -struct xenpmu { - struct xen_pmu_data *xenpmu_data; - uint8_t flags; -}; - -struct xenstore_domain_interface { - char req[1024]; - char rsp[1024]; - XENSTORE_RING_IDX req_cons; - XENSTORE_RING_IDX req_prod; - XENSTORE_RING_IDX rsp_cons; - XENSTORE_RING_IDX rsp_prod; - uint32_t server_features; - uint32_t connection; - uint32_t error; -}; - -struct xfrm4_protocol { - int (*handler)(struct sk_buff *); - int (*input_handler)(struct sk_buff *, int, __be32, int); - int (*cb_handler)(struct sk_buff *, int); - int (*err_handler)(struct sk_buff *, u32); - struct xfrm4_protocol *next; - int priority; -}; - -struct xfrm6_protocol { - int (*handler)(struct sk_buff *); - int (*input_handler)(struct sk_buff *, int, __be32, int); - int (*cb_handler)(struct sk_buff *, int); - int (*err_handler)(struct sk_buff *, struct inet6_skb_parm *, u8, u8, int, __be32); - struct xfrm6_protocol *next; - int priority; -}; - -struct xfrm_address_filter { - xfrm_address_t saddr; - xfrm_address_t daddr; - __u16 family; - __u8 splen; - __u8 dplen; -}; - -struct xfrm_algo { - char alg_name[64]; - unsigned int alg_key_len; - char alg_key[0]; -}; - -struct xfrm_algo_aead { - char alg_name[64]; - unsigned int alg_key_len; - unsigned int alg_icv_len; - char alg_key[0]; -}; - -struct xfrm_algo_auth { - char alg_name[64]; - unsigned int alg_key_len; - unsigned int alg_trunc_len; - char alg_key[0]; -}; - -struct xfrm_dev_offload { - struct net_device *dev; - netdevice_tracker dev_tracker; - struct net_device *real_dev; - long unsigned int offload_handle; - u8 dir: 2; - u8 type: 2; - u8 flags: 2; -}; - -struct xfrm_dst { - union { - struct dst_entry dst; - struct rtable rt; - struct rt6_info rt6; - } u; - struct dst_entry *route; - struct dst_entry *child; - struct dst_entry *path; - struct xfrm_policy *pols[2]; - int num_pols; - int num_xfrms; - u32 xfrm_genid; - u32 policy_genid; - u32 route_mtu_cached; - u32 child_mtu_cached; - u32 route_cookie; - u32 path_cookie; -}; - -struct xfrm_dst_lookup_params { - struct net *net; - dscp_t dscp; - int oif; - xfrm_address_t *saddr; - xfrm_address_t *daddr; - u32 mark; - __u8 ipproto; - union flowi_uli uli; -}; - -struct xfrm_encap_tmpl { - __u16 encap_type; - __be16 encap_sport; - __be16 encap_dport; - xfrm_address_t encap_oa; -}; - -struct xfrm_flo { - struct dst_entry *dst_orig; - u8 flags; -}; - -struct xfrm_flow_keys { - struct flow_dissector_key_basic basic; - struct flow_dissector_key_control control; - union { - struct flow_dissector_key_ipv4_addrs ipv4; - struct flow_dissector_key_ipv6_addrs ipv6; - } addrs; - struct flow_dissector_key_ip ip; - struct flow_dissector_key_icmp icmp; - struct flow_dissector_key_ports ports; - struct flow_dissector_key_keyid gre; -}; - -struct xfrm_hash_state_ptrs { - const struct hlist_head *bydst; - const struct hlist_head *bysrc; - const struct hlist_head *byspi; - unsigned int hmask; -}; - -struct xfrm_id { - xfrm_address_t daddr; - __be32 spi; - __u8 proto; -}; - -struct xfrm_if_decode_session_result; - -struct xfrm_if_cb { - bool (*decode_session)(struct sk_buff *, short unsigned int, struct xfrm_if_decode_session_result *); -}; - -struct xfrm_if_decode_session_result { - struct net *net; - u32 if_id; -}; - -struct xfrm_input_afinfo { - u8 family; - bool is_ipip; - int (*callback)(struct sk_buff *, u8, int); -}; - -struct xfrm_kmaddress { - xfrm_address_t local; - xfrm_address_t remote; - u32 reserved; - u16 family; -}; - -struct xfrm_lifetime_cfg { - __u64 soft_byte_limit; - __u64 hard_byte_limit; - __u64 soft_packet_limit; - __u64 hard_packet_limit; - __u64 soft_add_expires_seconds; - __u64 hard_add_expires_seconds; - __u64 soft_use_expires_seconds; - __u64 hard_use_expires_seconds; -}; - -struct xfrm_lifetime_cur { - __u64 bytes; - __u64 packets; - __u64 add_time; - __u64 use_time; -}; - -struct xfrm_mark { - __u32 v; - __u32 m; -}; - -struct xfrm_tmpl; - -struct xfrm_selector; - -struct xfrm_migrate; - -struct xfrm_mgr { - struct list_head list; - int (*notify)(struct xfrm_state *, const struct km_event *); - int (*acquire)(struct xfrm_state *, struct xfrm_tmpl *, struct xfrm_policy *); - struct xfrm_policy * (*compile_policy)(struct sock *, int, u8 *, int, int *); - int (*new_mapping)(struct xfrm_state *, xfrm_address_t *, __be16); - int (*notify_policy)(struct xfrm_policy *, int, const struct km_event *); - int (*report)(struct net *, u8, struct xfrm_selector *, xfrm_address_t *); - int (*migrate)(const struct xfrm_selector *, u8, u8, const struct xfrm_migrate *, int, const struct xfrm_kmaddress *, const struct xfrm_encap_tmpl *); - bool (*is_alive)(const struct km_event *); -}; - -struct xfrm_migrate { - xfrm_address_t old_daddr; - xfrm_address_t old_saddr; - xfrm_address_t new_daddr; - xfrm_address_t new_saddr; - u8 proto; - u8 mode; - u16 reserved; - u32 reqid; - u16 old_family; - u16 new_family; -}; - -struct xfrm_mode { - u8 encap; - u8 family; - u8 flags; -}; - -struct xfrm_mode_cbs { - struct module *owner; - int (*init_state)(struct xfrm_state *); - int (*clone_state)(struct xfrm_state *, struct xfrm_state *); - void (*destroy_state)(struct xfrm_state *); - int (*user_init)(struct net *, struct xfrm_state *, struct nlattr **, struct netlink_ext_ack *); - int (*copy_to_user)(struct xfrm_state *, struct sk_buff *); - unsigned int (*sa_len)(const struct xfrm_state *); - u32 (*get_inner_mtu)(struct xfrm_state *, int); - int (*input)(struct xfrm_state *, struct sk_buff *); - int (*output)(struct net *, struct sock *, struct sk_buff *); - int (*prepare_output)(struct xfrm_state *, struct sk_buff *); -}; - -struct xfrm_tunnel_skb_cb { - union { - struct inet_skb_parm h4; - struct inet6_skb_parm h6; - } header; - union { - struct ip_tunnel *ip4; - struct ip6_tnl *ip6; - } tunnel; -}; - -struct xfrm_mode_skb_cb { - struct xfrm_tunnel_skb_cb header; - __be16 id; - __be16 frag_off; - u8 ihl; - u8 tos; - u8 ttl; - u8 protocol; - u8 optlen; - u8 flow_lbl[3]; -}; - -struct xfrm_pol_inexact_key { - possible_net_t net; - u32 if_id; - u16 family; - u8 dir; - u8 type; -}; - -struct xfrm_pol_inexact_bin { - struct xfrm_pol_inexact_key k; - struct rhash_head head; - struct hlist_head hhead; - seqcount_spinlock_t count; - struct rb_root root_d; - struct rb_root root_s; - struct list_head inexact_bins; - struct callback_head rcu; -}; - -struct xfrm_pol_inexact_candidates { - struct hlist_head *res[4]; -}; - -struct xfrm_pol_inexact_node { - struct rb_node node; - union { - xfrm_address_t addr; - struct callback_head rcu; - }; - u8 prefixlen; - struct rb_root root; - struct hlist_head hhead; -}; - -struct xfrm_selector { - xfrm_address_t daddr; - xfrm_address_t saddr; - __be16 dport; - __be16 dport_mask; - __be16 sport; - __be16 sport_mask; - __u16 family; - __u8 prefixlen_d; - __u8 prefixlen_s; - __u8 proto; - int ifindex; - __kernel_uid32_t user; -}; - -struct xfrm_policy_walk_entry { - struct list_head all; - u8 dead; -}; - -struct xfrm_policy_queue { - struct sk_buff_head hold_queue; - struct timer_list hold_timer; - long unsigned int timeout; -}; - -struct xfrm_tmpl { - struct xfrm_id id; - xfrm_address_t saddr; - short unsigned int encap_family; - u32 reqid; - u8 mode; - u8 share; - u8 optional; - u8 allalgs; - u32 aalgos; - u32 ealgos; - u32 calgos; -}; - -struct xfrm_policy { - possible_net_t xp_net; - struct hlist_node bydst; - struct hlist_node byidx; - struct hlist_head state_cache_list; - rwlock_t lock; - refcount_t refcnt; - u32 pos; - struct timer_list timer; - atomic_t genid; - u32 priority; - u32 index; - u32 if_id; - struct xfrm_mark mark; - struct xfrm_selector selector; - struct xfrm_lifetime_cfg lft; - struct xfrm_lifetime_cur curlft; - struct xfrm_policy_walk_entry walk; - struct xfrm_policy_queue polq; - bool bydst_reinsert; - u8 type; - u8 action; - u8 flags; - u8 xfrm_nr; - u16 family; - struct xfrm_sec_ctx *security; - struct xfrm_tmpl xfrm_vec[6]; - struct callback_head rcu; - struct xfrm_dev_offload xdo; -}; - -struct xfrm_policy_afinfo { - struct dst_ops *dst_ops; - struct dst_entry * (*dst_lookup)(const struct xfrm_dst_lookup_params *); - int (*get_saddr)(xfrm_address_t *, const struct xfrm_dst_lookup_params *); - int (*fill_dst)(struct xfrm_dst *, struct net_device *, const struct flowi *); - struct dst_entry * (*blackhole_route)(struct net *, struct dst_entry *); -}; - -struct xfrm_policy_walk { - struct xfrm_policy_walk_entry walk; - u8 type; - u32 seq; -}; - -struct xfrm_replay_state { - __u32 oseq; - __u32 seq; - __u32 bitmap; -}; - -struct xfrm_replay_state_esn { - unsigned int bmp_len; - __u32 oseq; - __u32 seq; - __u32 oseq_hi; - __u32 seq_hi; - __u32 replay_window; - __u32 bmp[0]; -}; - -struct xfrm_sec_ctx { - __u8 ctx_doi; - __u8 ctx_alg; - __u16 ctx_len; - __u32 ctx_sid; - char ctx_str[0]; -}; - -struct xfrm_skb_cb { - struct xfrm_tunnel_skb_cb header; - union { - struct { - __u32 low; - __u32 hi; - } output; - struct { - __be32 low; - __be32 hi; - } input; - } seq; -}; - -struct xfrm_spi_skb_cb { - struct xfrm_tunnel_skb_cb header; - unsigned int daddroff; - unsigned int family; - __be32 seq; -}; - -struct xfrm_state_walk { - struct list_head all; - u8 state; - u8 dying; - u8 proto; - u32 seq; - struct xfrm_address_filter *filter; -}; - -struct xfrm_stats { - __u32 replay_window; - __u32 replay; - __u32 integrity_failed; -}; - -struct xfrm_type; - -struct xfrm_type_offload; - -struct xfrm_state { - possible_net_t xs_net; - union { - struct hlist_node gclist; - struct hlist_node bydst; - }; - union { - struct hlist_node dev_gclist; - struct hlist_node bysrc; - }; - struct hlist_node byspi; - struct hlist_node byseq; - struct hlist_node state_cache; - struct hlist_node state_cache_input; - refcount_t refcnt; - spinlock_t lock; - u32 pcpu_num; - struct xfrm_id id; - struct xfrm_selector sel; - struct xfrm_mark mark; - u32 if_id; - u32 tfcpad; - u32 genid; - struct xfrm_state_walk km; - struct { - u32 reqid; - u8 mode; - u8 replay_window; - u8 aalgo; - u8 ealgo; - u8 calgo; - u8 flags; - u16 family; - xfrm_address_t saddr; - int header_len; - int enc_hdr_len; - int trailer_len; - u32 extra_flags; - struct xfrm_mark smark; - } props; - struct xfrm_lifetime_cfg lft; - struct xfrm_algo_auth *aalg; - struct xfrm_algo *ealg; - struct xfrm_algo *calg; - struct xfrm_algo_aead *aead; - const char *geniv; - __be16 new_mapping_sport; - u32 new_mapping; - u32 mapping_maxage; - struct xfrm_encap_tmpl *encap; - u32 nat_keepalive_interval; - time64_t nat_keepalive_expiration; - xfrm_address_t *coaddr; - struct xfrm_state *tunnel; - atomic_t tunnel_users; - struct xfrm_replay_state replay; - struct xfrm_replay_state_esn *replay_esn; - struct xfrm_replay_state preplay; - struct xfrm_replay_state_esn *preplay_esn; - enum xfrm_replay_mode repl_mode; - u32 xflags; - u32 replay_maxage; - u32 replay_maxdiff; - struct timer_list rtimer; - struct xfrm_stats stats; - struct xfrm_lifetime_cur curlft; - struct hrtimer mtimer; - struct xfrm_dev_offload xso; - long int saved_tmo; - time64_t lastused; - struct page_frag xfrag; - const struct xfrm_type *type; - struct xfrm_mode inner_mode; - struct xfrm_mode inner_mode_iaf; - struct xfrm_mode outer_mode; - const struct xfrm_type_offload *type_offload; - struct xfrm_sec_ctx *security; - void *data; - u8 dir; - const struct xfrm_mode_cbs *mode_cbs; - void *mode_data; -}; - -struct xfrm_state_afinfo { - u8 family; - u8 proto; - const struct xfrm_type_offload *type_offload_esp; - const struct xfrm_type *type_esp; - const struct xfrm_type *type_ipip; - const struct xfrm_type *type_ipip6; - const struct xfrm_type *type_comp; - const struct xfrm_type *type_ah; - const struct xfrm_type *type_routing; - const struct xfrm_type *type_dstopts; - int (*output)(struct net *, struct sock *, struct sk_buff *); - int (*transport_finish)(struct sk_buff *, int); - void (*local_error)(struct sk_buff *, u32); -}; - -struct xfrm_trans_cb { - union { - struct inet_skb_parm h4; - struct inet6_skb_parm h6; - } header; - int (*finish)(struct net *, struct sock *, struct sk_buff *); - struct net *net; -}; - -struct xfrm_trans_tasklet { - struct work_struct work; - spinlock_t queue_lock; - struct sk_buff_head queue; -}; - -struct xfrm_translator { - int (*alloc_compat)(struct sk_buff *, const struct nlmsghdr *); - struct nlmsghdr * (*rcv_msg_compat)(const struct nlmsghdr *, int, const struct nla_policy *, struct netlink_ext_ack *); - int (*xlate_user_policy_sockptr)(u8 **, int); - struct module *owner; -}; - -struct xfrm_type { - struct module *owner; - u8 proto; - u8 flags; - int (*init_state)(struct xfrm_state *, struct netlink_ext_ack *); - void (*destructor)(struct xfrm_state *); - int (*input)(struct xfrm_state *, struct sk_buff *); - int (*output)(struct xfrm_state *, struct sk_buff *); - int (*reject)(struct xfrm_state *, struct sk_buff *, const struct flowi *); -}; - -struct xfrm_type_offload { - struct module *owner; - u8 proto; - void (*encap)(struct xfrm_state *, struct sk_buff *); - int (*input_tail)(struct xfrm_state *, struct sk_buff *); - int (*xmit)(struct xfrm_state *, struct sk_buff *, netdev_features_t); -}; - -struct xfrm_user_offload { - int ifindex; - __u8 flags; -}; - -struct xfrm_user_sec_ctx { - __u16 len; - __u16 exttype; - __u8 ctx_alg; - __u8 ctx_doi; - __u16 ctx_len; -}; - -struct xfrmdev_ops { - int (*xdo_dev_state_add)(struct net_device *, struct xfrm_state *, struct netlink_ext_ack *); - void (*xdo_dev_state_delete)(struct net_device *, struct xfrm_state *); - void (*xdo_dev_state_free)(struct net_device *, struct xfrm_state *); - bool (*xdo_dev_offload_ok)(struct sk_buff *, struct xfrm_state *); - void (*xdo_dev_state_advance_esn)(struct xfrm_state *); - void (*xdo_dev_state_update_stats)(struct xfrm_state *); - int (*xdo_dev_policy_add)(struct xfrm_policy *, struct netlink_ext_ack *); - void (*xdo_dev_policy_delete)(struct xfrm_policy *); - void (*xdo_dev_policy_free)(struct xfrm_policy *); -}; - -struct xfrmk_sadinfo { - u32 sadhcnt; - u32 sadhmcnt; - u32 sadcnt; -}; - -struct xfrmk_spdinfo { - u32 incnt; - u32 outcnt; - u32 fwdcnt; - u32 inscnt; - u32 outscnt; - u32 fwdscnt; - u32 spdhcnt; - u32 spdhmcnt; -}; - -struct xhci_bus_state { - long unsigned int bus_suspended; - long unsigned int next_statechange; - u32 port_c_suspend; - u32 suspended_ports; - u32 port_remote_wakeup; - long unsigned int resuming_ports; -}; - -struct xhci_bw_info { - unsigned int ep_interval; - unsigned int mult; - unsigned int num_packets; - unsigned int max_packet_size; - unsigned int max_esit_payload; - unsigned int type; -}; - -struct xhci_cap_regs { - __le32 hc_capbase; - __le32 hcs_params1; - __le32 hcs_params2; - __le32 hcs_params3; - __le32 hcc_params; - __le32 db_off; - __le32 run_regs_off; - __le32 hcc_params2; -}; - -struct xhci_container_ctx; - -struct xhci_command { - struct xhci_container_ctx *in_ctx; - u32 status; - u32 comp_param; - int slot_id; - struct completion *completion; - union xhci_trb *command_trb; - struct list_head cmd_list; - unsigned int timeout_ms; -}; - -struct xhci_container_ctx { - unsigned int type; - int size; - u8 *bytes; - dma_addr_t dma; -}; - -struct xhci_erst_entry; - -struct xhci_erst { - struct xhci_erst_entry *entries; - unsigned int num_entries; - dma_addr_t erst_dma_addr; -}; - -struct xhci_hcd; - -struct xhci_dbc { - spinlock_t lock; - struct device *dev; - struct xhci_hcd *xhci; - struct dbc_regs *regs; - struct xhci_ring *ring_evt; - struct xhci_ring *ring_in; - struct xhci_ring *ring_out; - struct xhci_erst erst; - struct xhci_container_ctx *ctx; - struct dbc_str_descs *string; - dma_addr_t string_dma; - size_t string_size; - u16 idVendor; - u16 idProduct; - u16 bcdDevice; - u8 bInterfaceProtocol; - enum dbc_state state; - struct delayed_work event_work; - unsigned int poll_interval; - long unsigned int xfer_timestamp; - unsigned int resume_required: 1; - struct dbc_ep eps[2]; - const struct dbc_driver *driver; - void *priv; -}; - -struct xhci_device_context_array { - __le64 dev_context_ptrs[256]; - dma_addr_t dma; -}; - -struct xhci_doorbell_array { - __le32 doorbell[256]; -}; - -struct xhci_driver_overrides { - size_t extra_priv_size; - int (*reset)(struct usb_hcd *); - int (*start)(struct usb_hcd *); - int (*add_endpoint)(struct usb_hcd *, struct usb_device *, struct usb_host_endpoint *); - int (*drop_endpoint)(struct usb_hcd *, struct usb_device *, struct usb_host_endpoint *); - int (*check_bandwidth)(struct usb_hcd *, struct usb_device *); - void (*reset_bandwidth)(struct usb_hcd *, struct usb_device *); - int (*update_hub_device)(struct usb_hcd *, struct usb_device *, struct usb_tt *, gfp_t); - int (*hub_control)(struct usb_hcd *, u16, u16, u16, char *, u16); -}; - -struct xhci_ep_ctx { - __le32 ep_info; - __le32 ep_info2; - __le64 deq; - __le32 tx_info; - __le32 reserved[3]; -}; - -struct xhci_stream_info; - -struct xhci_ep_priv { - char name[32]; - struct dentry *root; - struct xhci_stream_info *stream_info; - struct xhci_ring *show_ring; - unsigned int stream_id; -}; - -struct xhci_erst_entry { - __le64 seg_addr; - __le32 seg_size; - __le32 rsvd; -}; - -struct xhci_event_cmd { - __le64 cmd_trb; - __le32 status; - __le32 flags; -}; - -struct xhci_file_map { - const char *name; - int (*show)(struct seq_file *, void *); -}; - -struct xhci_generic_trb { - __le32 field[4]; -}; - -struct xhci_port; - -struct xhci_hub { - struct xhci_port **ports; - unsigned int num_ports; - struct usb_hcd *hcd; - struct xhci_bus_state bus_state; - u8 maj_rev; - u8 min_rev; -}; - -struct xhci_op_regs; - -struct xhci_run_regs; - -struct xhci_interrupter; - -struct xhci_scratchpad; - -struct xhci_virt_device; - -struct xhci_root_port_bw_info; - -struct xhci_port_cap; - -struct xhci_hcd { - struct usb_hcd *main_hcd; - struct usb_hcd *shared_hcd; - struct xhci_cap_regs *cap_regs; - struct xhci_op_regs *op_regs; - struct xhci_run_regs *run_regs; - struct xhci_doorbell_array *dba; - __u32 hcs_params1; - __u32 hcs_params2; - __u32 hcs_params3; - __u32 hcc_params; - __u32 hcc_params2; - spinlock_t lock; - u16 hci_version; - u16 max_interrupters; - u32 imod_interval; - u32 page_size; - int nvecs; - struct clk *clk; - struct clk *reg_clk; - struct reset_control *reset; - struct xhci_device_context_array *dcbaa; - struct xhci_interrupter **interrupters; - struct xhci_ring *cmd_ring; - unsigned int cmd_ring_state; - struct list_head cmd_list; - unsigned int cmd_ring_reserved_trbs; - struct delayed_work cmd_timer; - struct completion cmd_ring_stop_completion; - struct xhci_command *current_cmd; - struct xhci_scratchpad *scratchpad; - struct mutex mutex; - struct xhci_virt_device *devs[256]; - struct xhci_root_port_bw_info *rh_bw; - struct dma_pool *device_pool; - struct dma_pool *segment_pool; - struct dma_pool *small_streams_pool; - struct dma_pool *port_bw_pool; - struct dma_pool *medium_streams_pool; - unsigned int xhc_state; - long unsigned int run_graceperiod; - struct s3_save s3; - long long unsigned int quirks; - unsigned int num_active_eps; - unsigned int limit_active_eps; - struct xhci_port *hw_ports; - struct xhci_hub usb2_rhub; - struct xhci_hub usb3_rhub; - unsigned int hw_lpm_support: 1; - unsigned int broken_suspend: 1; - unsigned int allow_single_roothub: 1; - struct xhci_port_cap *port_caps; - unsigned int num_port_caps; - struct timer_list comp_mode_recovery_timer; - u32 port_status_u0; - u16 test_mode; - struct dentry *debugfs_root; - struct dentry *debugfs_slots; - struct list_head regset_list; - void *dbc; - long unsigned int priv[0]; -}; - -struct xhci_input_control_ctx { - __le32 drop_flags; - __le32 add_flags; - __le32 rsvd2[6]; -}; - -struct xhci_intr_reg; - -struct xhci_interrupter { - struct xhci_ring *event_ring; - struct xhci_erst erst; - struct xhci_intr_reg *ir_set; - unsigned int intr_num; - bool ip_autoclear; - u32 isoc_bei_interval; - u32 s3_iman; - u32 s3_imod; - u32 s3_erst_size; - u64 s3_erst_base; - u64 s3_erst_dequeue; -}; - -struct xhci_interval_bw { - unsigned int num_packets; - struct list_head endpoints; - unsigned int overhead[3]; -}; - -struct xhci_interval_bw_table { - unsigned int interval0_esit_payload; - struct xhci_interval_bw interval_bw[16]; - unsigned int bw_used; - unsigned int ss_bw_in; - unsigned int ss_bw_out; -}; - -struct xhci_intr_reg { - __le32 iman; - __le32 imod; - __le32 erst_size; - __le32 rsvd; - __le64 erst_base; - __le64 erst_dequeue; -}; - -struct xhci_link_trb { - __le64 segment_ptr; - __le32 intr_target; - __le32 control; -}; - -struct xhci_op_regs { - __le32 command; - __le32 status; - __le32 page_size; - __le32 reserved1; - __le32 reserved2; - __le32 dev_notification; - __le64 cmd_ring; - __le32 reserved3[4]; - __le64 dcbaa_ptr; - __le32 config_reg; - __le32 reserved4[241]; - __le32 port_status_base; - __le32 port_power_base; - __le32 port_link_base; - __le32 reserved5; - __le32 reserved6[1016]; -}; - -struct xhci_port { - __le32 *addr; - int hw_portnum; - int hcd_portnum; - struct xhci_hub *rhub; - struct xhci_port_cap *port_cap; - unsigned int lpm_incapable: 1; - long unsigned int resume_timestamp; - bool rexit_active; - int slot_id; - struct completion rexit_done; - struct completion u3exit_done; -}; - -struct xhci_port_cap { - u32 *psi; - u8 psi_count; - u8 psi_uid_count; - u8 maj_rev; - u8 min_rev; - u32 protocol_caps; -}; - -struct xhci_regset { - char name[32]; - struct debugfs_regset32 regset; - size_t nregs; - struct list_head list; -}; - -struct xhci_ring { - struct xhci_segment *first_seg; - struct xhci_segment *last_seg; - union xhci_trb *enqueue; - struct xhci_segment *enq_seg; - union xhci_trb *dequeue; - struct xhci_segment *deq_seg; - struct list_head td_list; - u32 cycle_state; - unsigned int stream_id; - unsigned int num_segs; - unsigned int num_trbs_free; - unsigned int bounce_buf_len; - enum xhci_ring_type type; - u32 old_trb_comp_code; - struct xarray *trb_address_map; -}; - -struct xhci_root_port_bw_info { - struct list_head tts; - unsigned int num_active_tts; - struct xhci_interval_bw_table bw_table; -}; - -struct xhci_run_regs { - __le32 microframe_index; - __le32 rsvd[7]; - struct xhci_intr_reg ir_set[128]; -}; - -struct xhci_scratchpad { - u64 *sp_array; - dma_addr_t sp_dma; - void **sp_buffers; -}; - -struct xhci_segment { - union xhci_trb *trbs; - struct xhci_segment *next; - unsigned int num; - dma_addr_t dma; - dma_addr_t bounce_dma; - void *bounce_buf; - unsigned int bounce_offs; - unsigned int bounce_len; -}; - -struct xhci_virt_ep; - -struct xhci_sideband_event; - -struct xhci_sideband { - struct xhci_hcd *xhci; - struct xhci_virt_device *vdev; - struct xhci_virt_ep *eps[31]; - struct xhci_interrupter *ir; - enum xhci_sideband_type type; - struct mutex mutex; - struct usb_interface *intf; - int (*notify_client)(struct usb_interface *, struct xhci_sideband_event *); -}; - -struct xhci_sideband_event { - enum xhci_sideband_notify_type type; - void *evt_data; -}; - -struct xhci_slot_ctx { - __le32 dev_info; - __le32 dev_info2; - __le32 tt_info; - __le32 dev_state; - __le32 reserved[4]; -}; - -struct xhci_slot_priv { - char name[32]; - struct dentry *root; - struct xhci_ep_priv *eps[31]; - struct xhci_virt_device *dev; -}; - -struct xhci_stream_ctx { - __le64 stream_ring; - __le32 reserved[2]; -}; - -struct xhci_stream_info { - struct xhci_ring **stream_rings; - unsigned int num_streams; - struct xhci_stream_ctx *stream_ctx_array; - unsigned int num_stream_ctxs; - dma_addr_t ctx_array_dma; - struct xarray trb_address_map; - struct xhci_command *free_streams_command; -}; - -struct xhci_transfer_event { - __le64 buffer; - __le32 transfer_len; - __le32 flags; -}; - -union xhci_trb { - struct xhci_link_trb link; - struct xhci_transfer_event trans_event; - struct xhci_event_cmd event_cmd; - struct xhci_generic_trb generic; -}; - -struct xhci_tt_bw_info { - struct list_head tt_list; - int slot_id; - int ttport; - struct xhci_interval_bw_table bw_table; - int active_eps; -}; - -struct xhci_virt_ep { - struct xhci_virt_device *vdev; - unsigned int ep_index; - struct xhci_ring *ring; - struct xhci_stream_info *stream_info; - struct xhci_ring *new_ring; - unsigned int err_count; - unsigned int ep_state; - struct list_head cancelled_td_list; - struct xhci_hcd *xhci; - struct xhci_segment *queued_deq_seg; - union xhci_trb *queued_deq_ptr; - bool skip; - struct xhci_bw_info bw_info; - struct list_head bw_endpoint_list; - long unsigned int stop_time; - int next_frame_id; - bool use_extended_tbc; - struct xhci_sideband *sideband; -}; - -struct xhci_virt_device { - int slot_id; - struct usb_device *udev; - struct xhci_container_ctx *out_ctx; - struct xhci_container_ctx *in_ctx; - struct xhci_virt_ep eps[31]; - struct xhci_port *rhub_port; - struct xhci_interval_bw_table *bw_table; - struct xhci_tt_bw_info *tt_info; - long unsigned int flags; - u16 current_mel; - void *debugfs_private; - struct xhci_sideband *sideband; -}; - -struct xmaddr { - phys_addr_t maddr; -}; - -typedef struct xmaddr xmaddr_t; - -struct xol_area { - wait_queue_head_t wq; - long unsigned int *bitmap; - struct page *page; - long unsigned int vaddr; -}; - -struct xpaddr { - phys_addr_t paddr; -}; - -typedef struct xpaddr xpaddr_t; - -struct xprt_create; - -struct xprt_class { - struct list_head list; - int ident; - struct rpc_xprt * (*setup)(struct xprt_create *); - struct module *owner; - char name[32]; - const char *netid[0]; -}; - -struct xprt_create { - int ident; - struct net *net; - struct sockaddr *srcaddr; - struct sockaddr *dstaddr; - size_t addrlen; - const char *servername; - struct svc_xprt *bc_xprt; - struct rpc_xprt_switch *bc_xps; - unsigned int flags; - struct xprtsec_parms xprtsec; - long unsigned int connect_timeout; - long unsigned int reconnect_timeout; -}; - -struct xps_map; - -struct xps_dev_maps { - struct callback_head rcu; - unsigned int nr_ids; - s16 num_tc; - struct xps_map *attr_map[0]; -}; - -struct xps_map { - unsigned int len; - unsigned int alloc_len; - struct callback_head rcu; - u16 queues[0]; -}; - -struct xs_watch_event { - struct list_head list; - unsigned int len; - struct xenbus_watch *handle; - const char *path; - const char *token; - char body[0]; -}; - -struct xsd_errors { - int errnum; - const char *errstring; -}; - -struct xsk_addrs { - u32 num_descs; - u64 addrs[18]; -}; - -struct xsk_buff_pool { - struct device *dev; - struct net_device *netdev; - struct list_head xsk_tx_list; - spinlock_t xsk_tx_list_lock; - refcount_t users; - struct xdp_umem *umem; - struct work_struct work; - spinlock_t rx_lock; - struct list_head free_list; - struct list_head xskb_list; - u32 heads_cnt; - u16 queue_id; - struct xsk_queue *fq; - struct xsk_queue *cq; - dma_addr_t *dma_pages; - struct xdp_buff_xsk *heads; - struct xdp_desc *tx_descs; - u64 chunk_mask; - u64 addrs_cnt; - u32 free_list_cnt; - u32 dma_pages_cnt; - u32 free_heads_cnt; - u32 headroom; - u32 chunk_size; - u32 chunk_shift; - u32 frame_len; - u32 xdp_zc_max_segs; - u8 tx_metadata_len; - u8 cached_need_wakeup; - bool uses_need_wakeup; - bool unaligned; - bool tx_sw_csum; - void *addrs; - spinlock_t cq_lock; - struct xdp_buff_xsk *free_heads[0]; - long: 64; - long: 64; -}; - -struct xsk_cb_desc { - void *src; - u8 off; - u8 bytes; -}; - -struct xsk_dma_map { - dma_addr_t *dma_pages; - struct device *dev; - struct net_device *netdev; - refcount_t users; - struct list_head list; - u32 dma_pages_cnt; -}; - -struct xsk_map { - struct bpf_map map; - spinlock_t lock; - atomic_t count; - struct xdp_sock *xsk_map[0]; -}; - -struct xsk_map_node { - struct list_head node; - struct xsk_map *map; - struct xdp_sock **map_entry; -}; - -struct xsk_queue { - u32 ring_mask; - u32 nentries; - u32 cached_prod; - u32 cached_cons; - struct xdp_ring *ring; - u64 invalid_descs; - u64 queue_empty_descs; - size_t ring_vmalloc_size; -}; - -struct xsk_tx_metadata { - __u64 flags; - union { - struct { - __u16 csum_start; - __u16 csum_offset; - __u64 launch_time; - } request; - struct { - __u64 tx_timestamp; - } completion; - }; -}; - -struct xsk_tx_metadata_ops { - void (*tmo_request_timestamp)(void *); - u64 (*tmo_fill_timestamp)(void *); - void (*tmo_request_checksum)(u16, u16, void *); - void (*tmo_request_launch_time)(u64, void *); -}; - -struct xts_instance_ctx { - struct crypto_skcipher_spawn spawn; - struct crypto_cipher_spawn tweak_spawn; -}; - -struct xts_request_ctx { - le128 t; - struct scatterlist *tail; - struct scatterlist sg[2]; - struct skcipher_request subreq; -}; - -struct xts_tfm_ctx { - struct crypto_skcipher *child; - struct crypto_cipher *tweak; -}; - -struct xxh32_state { - uint32_t total_len_32; - uint32_t large_len; - uint32_t v1; - uint32_t v2; - uint32_t v3; - uint32_t v4; - uint32_t mem32[4]; - uint32_t memsize; -}; - -struct xz_dec_hash { - vli_type unpadded; - vli_type uncompressed; - uint32_t crc32; -}; - -struct xz_dec_lzma2; - -struct xz_dec_bcj; - -struct xz_dec { - enum { - SEQ_STREAM_HEADER = 0, - SEQ_BLOCK_START = 1, - SEQ_BLOCK_HEADER = 2, - SEQ_BLOCK_UNCOMPRESS = 3, - SEQ_BLOCK_PADDING = 4, - SEQ_BLOCK_CHECK = 5, - SEQ_INDEX = 6, - SEQ_INDEX_PADDING = 7, - SEQ_INDEX_CRC32 = 8, - SEQ_STREAM_FOOTER = 9, - } sequence; - uint32_t pos; - vli_type vli; - size_t in_start; - size_t out_start; - uint32_t crc32; - enum xz_check check_type; - enum xz_mode mode; - bool allow_buf_error; - struct { - vli_type compressed; - vli_type uncompressed; - uint32_t size; - } block_header; - struct { - vli_type compressed; - vli_type uncompressed; - vli_type count; - struct xz_dec_hash hash; - } block; - struct { - enum { - SEQ_INDEX_COUNT = 0, - SEQ_INDEX_UNPADDED = 1, - SEQ_INDEX_UNCOMPRESSED = 2, - } sequence; - vli_type size; - vli_type count; - struct xz_dec_hash hash; - } index; - struct { - size_t pos; - size_t size; - uint8_t buf[1024]; - } temp; - struct xz_dec_lzma2 *lzma2; - struct xz_dec_bcj *bcj; - bool bcj_active; -}; - -struct xz_dec_bcj { - enum { - BCJ_X86 = 4, - BCJ_POWERPC = 5, - BCJ_IA64 = 6, - BCJ_ARM = 7, - BCJ_ARMTHUMB = 8, - BCJ_SPARC = 9, - BCJ_ARM64 = 10, - BCJ_RISCV = 11, - } type; - enum xz_ret ret; - bool single_call; - uint32_t pos; - uint32_t x86_prev_mask; - uint8_t *out; - size_t out_pos; - size_t out_size; - struct { - size_t filtered; - size_t size; - uint8_t buf[16]; - } temp; -}; - -struct xz_dec_lzma2 { - struct rc_dec rc; - struct dictionary dict; - struct lzma2_dec lzma2; - struct lzma_dec lzma; - struct { - uint32_t size; - uint8_t buf[63]; - } temp; -}; - -struct xz_dec_microlzma { - struct xz_dec_lzma2 s; -}; - -struct zap_details { - struct folio *single_folio; - bool even_cows; - bool reclaim_pt; - zap_flags_t zap_flags; -}; - -union zen_patch_rev { - struct { - __u32 rev: 8; - __u32 stepping: 4; - __u32 model: 4; - __u32 __reserved: 4; - __u32 ext_model: 4; - __u32 ext_fam: 8; - }; - __u32 ucode_rev; -}; - -struct zone_report_args { - struct blk_zone *zones; -}; - -struct zspage; - -struct zpdesc { - long unsigned int flags; - struct list_head lru; - long unsigned int movable_ops; - union { - struct zpdesc *next; - long unsigned int handle; - }; - struct zspage *zspage; - unsigned int first_obj_offset; - atomic_t _refcount; -}; - -struct zpodd { - enum odd_mech_type mech_type; - struct ata_device *dev; - bool from_notify; - bool zp_ready; - long unsigned int last_ready; - bool zp_sampled; - bool powered_off; -}; - -struct zpool_driver; - -struct zpool { - struct zpool_driver *driver; - void *pool; -}; - -struct zpool_driver { - char *type; - struct module *owner; - atomic_t refcount; - struct list_head list; - void * (*create)(const char *, gfp_t); - void (*destroy)(void *); - int (*malloc)(void *, size_t, gfp_t, long unsigned int *, const int); - void (*free)(void *, long unsigned int); - void * (*obj_read_begin)(void *, long unsigned int, void *); - void (*obj_read_end)(void *, long unsigned int, void *); - void (*obj_write)(void *, long unsigned int, void *, size_t); - u64 (*total_pages)(void *); -}; - -struct zs_pool_stats { - atomic_long_t pages_compacted; -}; - -struct zs_pool { - const char *name; - struct size_class *size_class[255]; - struct kmem_cache *handle_cachep; - struct kmem_cache *zspage_cachep; - atomic_long_t pages_allocated; - struct zs_pool_stats stats; - struct shrinker *shrinker; - struct work_struct free_work; - rwlock_t lock; - atomic_t compaction_in_progress; -}; - -struct zspage_lock { - spinlock_t lock; - int cnt; - struct lockdep_map dep_map; -}; - -struct zspage { - struct { - unsigned int huge: 1; - unsigned int fullness: 4; - unsigned int class: 9; - unsigned int magic: 8; - }; - unsigned int inuse; - unsigned int freeobj; - struct zpdesc *first_zpdesc; - struct list_head list; - struct zs_pool *pool; - struct zspage_lock zsl; -}; - -struct zswap_pool; - -struct zswap_entry { - swp_entry_t swpentry; - unsigned int length; - bool referenced; - struct zswap_pool *pool; - long unsigned int handle; - struct obj_cgroup *objcg; - struct list_head lru; -}; - -struct zswap_pool { - struct zpool *zpool; - struct crypto_acomp_ctx *acomp_ctx; - struct percpu_ref ref; - struct list_head list; - struct work_struct release_work; - struct hlist_node node; - char tfm_name[128]; -}; - -typedef void (*HUF_DecompressFastLoopFn)(HUF_DecompressFastArgs *); - -typedef size_t (*HUF_DecompressUsingDTableFn)(void *, size_t, const void *, size_t, const HUF_DTable *); - -typedef void (*RecordEvents_f)(Fingerprint *, const void *, size_t); - -typedef size_t (*ZSTD_BlockCompressor_f)(ZSTD_MatchState_t *, SeqStore_t *, U32 *, const void *, size_t); - -typedef size_t (*ZSTD_SequenceCopier_f)(ZSTD_CCtx *, ZSTD_SequencePosition *, const ZSTD_Sequence * const, size_t, const void *, size_t, ZSTD_ParamSwitch_e); - -typedef U32 (*ZSTD_getAllMatchesFn)(ZSTD_match_t *, ZSTD_MatchState_t *, U32 *, const BYTE *, const BYTE *, const U32 *, const U32, const U32); - -typedef int (*ZSTD_match4Found)(const BYTE *, const BYTE *, U32, U32); - -typedef acpi_status (*acpi_exception_handler)(acpi_status, acpi_name, u16, u32, void *); - -typedef acpi_status (*acpi_execute_op)(struct acpi_walk_state *); - -typedef void (*acpi_gbl_event_handler)(u32, acpi_handle, u32, void *); - -typedef acpi_status (*acpi_gpe_callback)(struct acpi_gpe_xrupt_info *, struct acpi_gpe_block_info *, void *); - -typedef acpi_status (*acpi_init_handler)(acpi_handle, u32); - -typedef u32 (*acpi_interface_handler)(acpi_string, u32); - -typedef u32 (*acpi_osd_handler)(void *); - -typedef acpi_status (*acpi_pkg_callback)(u8, union acpi_operand_object *, union acpi_generic_state *, void *); - -typedef acpi_status (*acpi_table_handler)(u32, void *, void *); - -typedef acpi_status (*acpi_walk_aml_callback)(u8 *, u32, u32, u8, void **); - -typedef acpi_status (*acpi_walk_resource_callback)(struct acpi_resource *, void *); - -typedef void amd_pmu_branch_reset_t(void); - -typedef int (*apei_exec_entry_func_t)(struct apei_exec_context *, struct acpi_whea_header *, void *); - -typedef int (*apei_hest_func_t)(struct acpi_hest_header *, void *); - -typedef int (*arch_set_vga_state_t)(struct pci_dev *, bool, unsigned int, u32); - -typedef unsigned int (*ata_xlat_func_t)(struct ata_queued_cmd *); - -typedef void blk_log_action_t(struct trace_iterator *, const char *, bool); - -typedef int (*bpf_aux_classic_check_t)(struct sock_filter *, unsigned int); - -typedef u32 (*bpf_convert_ctx_access_t)(enum bpf_access_type, const struct bpf_insn *, struct bpf_insn *, struct bpf_prog *, u32 *); - -typedef long unsigned int (*bpf_ctx_copy_t)(void *, const void *, long unsigned int, long unsigned int); - -typedef unsigned int (*bpf_dispatcher_fn)(const void *, const struct bpf_insn *, unsigned int (*)(const void *, const struct bpf_insn *)); - -typedef unsigned int (*bpf_func_t)(const void *, const struct bpf_insn *); - -typedef void (*bpf_jit_fill_hole_t)(void *, unsigned int); - -typedef int (*bpf_op_t)(struct net_device *, struct netdev_bpf *); - -typedef u32 (*bpf_prog_run_fn)(const struct bpf_prog *, const void *); - -typedef u64 (*bpf_trampoline_enter_t)(struct bpf_prog *, struct bpf_tramp_run_ctx *); - -typedef void (*bpf_trampoline_exit_t)(struct bpf_prog *, u64, struct bpf_tramp_run_ctx *); - -typedef u64 (*btf_bpf_bind)(struct bpf_sock_addr_kern *, struct sockaddr *, int); - -typedef u64 (*btf_bpf_bprm_opts_set)(struct linux_binprm *, u64); - -typedef u64 (*btf_bpf_btf_find_by_name_kind)(char *, int, u32, int); - -typedef u64 (*btf_bpf_cgrp_storage_delete)(struct bpf_map *, struct cgroup *); - -typedef u64 (*btf_bpf_cgrp_storage_get)(struct bpf_map *, struct cgroup *, void *, u64, gfp_t); - -typedef u64 (*btf_bpf_clone_redirect)(struct sk_buff *, u32, u64); - -typedef u64 (*btf_bpf_copy_from_user)(void *, u32, const void *); - -typedef u64 (*btf_bpf_copy_from_user_task)(void *, u32, const void *, struct task_struct *, u64); - -typedef u64 (*btf_bpf_csum_diff)(__be32 *, u32, __be32 *, u32, __wsum); - -typedef u64 (*btf_bpf_csum_level)(struct sk_buff *, u64); - -typedef u64 (*btf_bpf_csum_update)(struct sk_buff *, __wsum); - -typedef u64 (*btf_bpf_current_task_under_cgroup)(struct bpf_map *, u32); - -typedef u64 (*btf_bpf_d_path)(struct path *, char *, u32); - -typedef u64 (*btf_bpf_dynptr_data)(const struct bpf_dynptr_kern *, u32, u32); - -typedef u64 (*btf_bpf_dynptr_from_mem)(void *, u32, u64, struct bpf_dynptr_kern *); - -typedef u64 (*btf_bpf_dynptr_read)(void *, u32, const struct bpf_dynptr_kern *, u32, u64); - -typedef u64 (*btf_bpf_dynptr_write)(const struct bpf_dynptr_kern *, u32, void *, u32, u64); - -typedef u64 (*btf_bpf_event_output_data)(void *, struct bpf_map *, u64, void *, u64); - -typedef u64 (*btf_bpf_find_vma)(struct task_struct *, u64, bpf_callback_t, void *, u64); - -typedef u64 (*btf_bpf_flow_dissector_load_bytes)(const struct bpf_flow_dissector *, u32, void *, u32); - -typedef u64 (*btf_bpf_for_each_map_elem)(struct bpf_map *, void *, void *, u64); - -typedef u64 (*btf_bpf_get_attach_cookie)(void *); - -typedef u64 (*btf_bpf_get_attach_cookie_kprobe_multi)(struct pt_regs *); - -typedef u64 (*btf_bpf_get_attach_cookie_pe)(struct bpf_perf_event_data_kern *); - -typedef u64 (*btf_bpf_get_attach_cookie_trace)(void *); - -typedef u64 (*btf_bpf_get_attach_cookie_tracing)(void *); - -typedef u64 (*btf_bpf_get_attach_cookie_uprobe_multi)(struct pt_regs *); - -typedef u64 (*btf_bpf_get_branch_snapshot)(void *, u32, u64); - -typedef u64 (*btf_bpf_get_cgroup_classid)(const struct sk_buff *); - -typedef u64 (*btf_bpf_get_cgroup_classid_curr)(void); - -typedef u64 (*btf_bpf_get_current_ancestor_cgroup_id)(int); - -typedef u64 (*btf_bpf_get_current_cgroup_id)(void); - -typedef u64 (*btf_bpf_get_current_comm)(char *, u32); - -typedef u64 (*btf_bpf_get_current_pid_tgid)(void); - -typedef u64 (*btf_bpf_get_current_task)(void); - -typedef u64 (*btf_bpf_get_current_task_btf)(void); - -typedef u64 (*btf_bpf_get_current_uid_gid)(void); - -typedef u64 (*btf_bpf_get_func_ip_kprobe)(struct pt_regs *); - -typedef u64 (*btf_bpf_get_func_ip_kprobe_multi)(struct pt_regs *); - -typedef u64 (*btf_bpf_get_func_ip_tracing)(void *); - -typedef u64 (*btf_bpf_get_func_ip_uprobe_multi)(struct pt_regs *); - -typedef u64 (*btf_bpf_get_hash_recalc)(struct sk_buff *); - -typedef u64 (*btf_bpf_get_listener_sock)(struct sock *); - -typedef u64 (*btf_bpf_get_local_storage)(struct bpf_map *, u64); - -typedef u64 (*btf_bpf_get_netns_cookie)(struct sk_buff *); - -typedef u64 (*btf_bpf_get_netns_cookie_sk_msg)(struct sk_msg *); - -typedef u64 (*btf_bpf_get_netns_cookie_sock)(struct sock *); - -typedef u64 (*btf_bpf_get_netns_cookie_sock_addr)(struct bpf_sock_addr_kern *); - -typedef u64 (*btf_bpf_get_netns_cookie_sock_ops)(struct bpf_sock_ops_kern *); - -typedef u64 (*btf_bpf_get_netns_cookie_sockopt)(struct bpf_sockopt_kern *); - -typedef u64 (*btf_bpf_get_ns_current_pid_tgid)(u64, u64, struct bpf_pidns_info *, u32); - -typedef u64 (*btf_bpf_get_numa_node_id)(void); - -typedef u64 (*btf_bpf_get_raw_cpu_id)(void); - -typedef u64 (*btf_bpf_get_retval)(void); - -typedef u64 (*btf_bpf_get_route_realm)(const struct sk_buff *); - -typedef u64 (*btf_bpf_get_smp_processor_id)(void); - -typedef u64 (*btf_bpf_get_socket_cookie)(struct sk_buff *); - -typedef u64 (*btf_bpf_get_socket_cookie_sock)(struct sock *); - -typedef u64 (*btf_bpf_get_socket_cookie_sock_addr)(struct bpf_sock_addr_kern *); - -typedef u64 (*btf_bpf_get_socket_cookie_sock_ops)(struct bpf_sock_ops_kern *); - -typedef u64 (*btf_bpf_get_socket_ptr_cookie)(struct sock *); - -typedef u64 (*btf_bpf_get_socket_uid)(struct sk_buff *); - -typedef u64 (*btf_bpf_get_stack)(struct pt_regs *, void *, u32, u64); - -typedef u64 (*btf_bpf_get_stack_pe)(struct bpf_perf_event_data_kern *, void *, u32, u64); - -typedef u64 (*btf_bpf_get_stack_raw_tp)(struct bpf_raw_tracepoint_args *, void *, u32, u64); - -typedef u64 (*btf_bpf_get_stack_sleepable)(struct pt_regs *, void *, u32, u64); - -typedef u64 (*btf_bpf_get_stack_tp)(void *, void *, u32, u64); - -typedef u64 (*btf_bpf_get_stackid)(struct pt_regs *, struct bpf_map *, u64); - -typedef u64 (*btf_bpf_get_stackid_pe)(struct bpf_perf_event_data_kern *, struct bpf_map *, u64); - -typedef u64 (*btf_bpf_get_stackid_raw_tp)(struct bpf_raw_tracepoint_args *, struct bpf_map *, u64); - -typedef u64 (*btf_bpf_get_stackid_tp)(void *, struct bpf_map *, u64); - -typedef u64 (*btf_bpf_get_task_stack)(struct task_struct *, void *, u32, u64); - -typedef u64 (*btf_bpf_get_task_stack_sleepable)(struct task_struct *, void *, u32, u64); - -typedef u64 (*btf_bpf_ima_file_hash)(struct file *, void *, u32); - -typedef u64 (*btf_bpf_ima_inode_hash)(struct inode *, void *, u32); - -typedef u64 (*btf_bpf_inode_storage_delete)(struct bpf_map *, struct inode *); - -typedef u64 (*btf_bpf_inode_storage_get)(struct bpf_map *, struct inode *, void *, u64, gfp_t); - -typedef u64 (*btf_bpf_jiffies64)(void); - -typedef u64 (*btf_bpf_kallsyms_lookup_name)(const char *, int, int, u64 *); - -typedef u64 (*btf_bpf_kptr_xchg)(void *, void *); - -typedef u64 (*btf_bpf_ktime_get_boot_ns)(void); - -typedef u64 (*btf_bpf_ktime_get_coarse_ns)(void); - -typedef u64 (*btf_bpf_ktime_get_ns)(void); - -typedef u64 (*btf_bpf_ktime_get_tai_ns)(void); - -typedef u64 (*btf_bpf_l3_csum_replace)(struct sk_buff *, u32, u64, u64, u64); - -typedef u64 (*btf_bpf_l4_csum_replace)(struct sk_buff *, u32, u64, u64, u64); - -typedef u64 (*btf_bpf_loop)(u32, void *, void *, u64); - -typedef u64 (*btf_bpf_lwt_in_push_encap)(struct sk_buff *, u32, void *, u32); - -typedef u64 (*btf_bpf_lwt_seg6_action)(struct sk_buff *, u32, void *, u32); - -typedef u64 (*btf_bpf_lwt_seg6_adjust_srh)(struct sk_buff *, u32, s32); - -typedef u64 (*btf_bpf_lwt_seg6_store_bytes)(struct sk_buff *, u32, const void *, u32); - -typedef u64 (*btf_bpf_lwt_xmit_push_encap)(struct sk_buff *, u32, void *, u32); - -typedef u64 (*btf_bpf_map_delete_elem)(struct bpf_map *, void *); - -typedef u64 (*btf_bpf_map_lookup_elem)(struct bpf_map *, void *); - -typedef u64 (*btf_bpf_map_lookup_percpu_elem)(struct bpf_map *, void *, u32); - -typedef u64 (*btf_bpf_map_peek_elem)(struct bpf_map *, void *); - -typedef u64 (*btf_bpf_map_pop_elem)(struct bpf_map *, void *); - -typedef u64 (*btf_bpf_map_push_elem)(struct bpf_map *, void *, u64); - -typedef u64 (*btf_bpf_map_update_elem)(struct bpf_map *, void *, void *, u64); - -typedef u64 (*btf_bpf_msg_apply_bytes)(struct sk_msg *, u32); - -typedef u64 (*btf_bpf_msg_cork_bytes)(struct sk_msg *, u32); - -typedef u64 (*btf_bpf_msg_pop_data)(struct sk_msg *, u32, u32, u64); - -typedef u64 (*btf_bpf_msg_pull_data)(struct sk_msg *, u32, u32, u64); - -typedef u64 (*btf_bpf_msg_push_data)(struct sk_msg *, u32, u32, u64); - -typedef u64 (*btf_bpf_msg_redirect_hash)(struct sk_msg *, struct bpf_map *, void *, u64); - -typedef u64 (*btf_bpf_msg_redirect_map)(struct sk_msg *, struct bpf_map *, u32, u64); - -typedef u64 (*btf_bpf_override_return)(struct pt_regs *, long unsigned int); - -typedef u64 (*btf_bpf_per_cpu_ptr)(const void *, u32); - -typedef u64 (*btf_bpf_perf_event_output)(struct pt_regs *, struct bpf_map *, u64, void *, u64); - -typedef u64 (*btf_bpf_perf_event_output_raw_tp)(struct bpf_raw_tracepoint_args *, struct bpf_map *, u64, void *, u64); - -typedef u64 (*btf_bpf_perf_event_output_tp)(void *, struct bpf_map *, u64, void *, u64); - -typedef u64 (*btf_bpf_perf_event_read)(struct bpf_map *, u64); - -typedef u64 (*btf_bpf_perf_event_read_value)(struct bpf_map *, u64, struct bpf_perf_event_value *, u32); - -typedef u64 (*btf_bpf_perf_prog_read_value)(struct bpf_perf_event_data_kern *, struct bpf_perf_event_value *, u32); - -typedef u64 (*btf_bpf_probe_read_compat)(void *, u32, const void *); - -typedef u64 (*btf_bpf_probe_read_compat_str)(void *, u32, const void *); - -typedef u64 (*btf_bpf_probe_read_kernel)(void *, u32, const void *); - -typedef u64 (*btf_bpf_probe_read_kernel_str)(void *, u32, const void *); - -typedef u64 (*btf_bpf_probe_read_user)(void *, u32, const void *); - -typedef u64 (*btf_bpf_probe_read_user_str)(void *, u32, const void *); - -typedef u64 (*btf_bpf_probe_write_user)(void *, const void *, u32); - -typedef u64 (*btf_bpf_read_branch_records)(struct bpf_perf_event_data_kern *, void *, u32, u64); - -typedef u64 (*btf_bpf_redirect)(u32, u64); - -typedef u64 (*btf_bpf_redirect_neigh)(u32, struct bpf_redir_neigh *, int, u64); - -typedef u64 (*btf_bpf_redirect_peer)(u32, u64); - -typedef u64 (*btf_bpf_ringbuf_discard)(void *, u64); - -typedef u64 (*btf_bpf_ringbuf_discard_dynptr)(struct bpf_dynptr_kern *, u64); - -typedef u64 (*btf_bpf_ringbuf_output)(struct bpf_map *, void *, u64, u64); - -typedef u64 (*btf_bpf_ringbuf_query)(struct bpf_map *, u64); - -typedef u64 (*btf_bpf_ringbuf_reserve)(struct bpf_map *, u64, u64); - -typedef u64 (*btf_bpf_ringbuf_reserve_dynptr)(struct bpf_map *, u32, u64, struct bpf_dynptr_kern *); - -typedef u64 (*btf_bpf_ringbuf_submit)(void *, u64); - -typedef u64 (*btf_bpf_ringbuf_submit_dynptr)(struct bpf_dynptr_kern *, u64); - -typedef u64 (*btf_bpf_send_signal)(u32); - -typedef u64 (*btf_bpf_send_signal_thread)(u32); - -typedef u64 (*btf_bpf_seq_printf)(struct seq_file *, char *, u32, const void *, u32); - -typedef u64 (*btf_bpf_seq_printf_btf)(struct seq_file *, struct btf_ptr *, u32, u64); - -typedef u64 (*btf_bpf_seq_write)(struct seq_file *, const void *, u32); - -typedef u64 (*btf_bpf_set_hash)(struct sk_buff *, u32); - -typedef u64 (*btf_bpf_set_hash_invalid)(struct sk_buff *); - -typedef u64 (*btf_bpf_set_retval)(int); - -typedef u64 (*btf_bpf_sk_ancestor_cgroup_id)(struct sock *, int); - -typedef u64 (*btf_bpf_sk_assign)(struct sk_buff *, struct sock *, u64); - -typedef u64 (*btf_bpf_sk_cgroup_id)(struct sock *); - -typedef u64 (*btf_bpf_sk_fullsock)(struct sock *); - -typedef u64 (*btf_bpf_sk_getsockopt)(struct sock *, int, int, char *, int); - -typedef u64 (*btf_bpf_sk_lookup_assign)(struct bpf_sk_lookup_kern *, struct sock *, u64); - -typedef u64 (*btf_bpf_sk_lookup_tcp)(struct sk_buff *, struct bpf_sock_tuple *, u32, u64, u64); - -typedef u64 (*btf_bpf_sk_lookup_udp)(struct sk_buff *, struct bpf_sock_tuple *, u32, u64, u64); - -typedef u64 (*btf_bpf_sk_redirect_hash)(struct sk_buff *, struct bpf_map *, void *, u64); - -typedef u64 (*btf_bpf_sk_redirect_map)(struct sk_buff *, struct bpf_map *, u32, u64); - -typedef u64 (*btf_bpf_sk_release)(struct sock *); - -typedef u64 (*btf_bpf_sk_setsockopt)(struct sock *, int, int, char *, int); - -typedef u64 (*btf_bpf_sk_storage_delete)(struct bpf_map *, struct sock *); - -typedef u64 (*btf_bpf_sk_storage_delete_tracing)(struct bpf_map *, struct sock *); - -typedef u64 (*btf_bpf_sk_storage_get)(struct bpf_map *, struct sock *, void *, u64, gfp_t); - -typedef u64 (*btf_bpf_sk_storage_get_tracing)(struct bpf_map *, struct sock *, void *, u64, gfp_t); - -typedef u64 (*btf_bpf_skb_adjust_room)(struct sk_buff *, s32, u32, u64); - -typedef u64 (*btf_bpf_skb_ancestor_cgroup_id)(const struct sk_buff *, int); - -typedef u64 (*btf_bpf_skb_cgroup_classid)(const struct sk_buff *); - -typedef u64 (*btf_bpf_skb_cgroup_id)(const struct sk_buff *); - -typedef u64 (*btf_bpf_skb_change_head)(struct sk_buff *, u32, u64); - -typedef u64 (*btf_bpf_skb_change_proto)(struct sk_buff *, __be16, u64); - -typedef u64 (*btf_bpf_skb_change_tail)(struct sk_buff *, u32, u64); - -typedef u64 (*btf_bpf_skb_change_type)(struct sk_buff *, u32); - -typedef u64 (*btf_bpf_skb_check_mtu)(struct sk_buff *, u32, u32 *, s32, u64); - -typedef u64 (*btf_bpf_skb_ecn_set_ce)(struct sk_buff *); - -typedef u64 (*btf_bpf_skb_event_output)(struct sk_buff *, struct bpf_map *, u64, void *, u64); - -typedef u64 (*btf_bpf_skb_fib_lookup)(struct sk_buff *, struct bpf_fib_lookup *, int, u32); - -typedef u64 (*btf_bpf_skb_get_nlattr)(struct sk_buff *, u32, u32); - -typedef u64 (*btf_bpf_skb_get_nlattr_nest)(struct sk_buff *, u32, u32); - -typedef u64 (*btf_bpf_skb_get_pay_offset)(struct sk_buff *); - -typedef u64 (*btf_bpf_skb_get_tunnel_key)(struct sk_buff *, struct bpf_tunnel_key *, u32, u64); - -typedef u64 (*btf_bpf_skb_get_tunnel_opt)(struct sk_buff *, u8 *, u32); - -typedef u64 (*btf_bpf_skb_get_xfrm_state)(struct sk_buff *, u32, struct bpf_xfrm_state *, u32, u64); - -typedef u64 (*btf_bpf_skb_load_bytes)(const struct sk_buff *, u32, void *, u32); - -typedef u64 (*btf_bpf_skb_load_bytes_relative)(const struct sk_buff *, u32, void *, u32, u32); - -typedef u64 (*btf_bpf_skb_load_helper_16)(const struct sk_buff *, const void *, int, int); - -typedef u64 (*btf_bpf_skb_load_helper_16_no_cache)(const struct sk_buff *, int); - -typedef u64 (*btf_bpf_skb_load_helper_32)(const struct sk_buff *, const void *, int, int); - -typedef u64 (*btf_bpf_skb_load_helper_32_no_cache)(const struct sk_buff *, int); - -typedef u64 (*btf_bpf_skb_load_helper_8)(const struct sk_buff *, const void *, int, int); - -typedef u64 (*btf_bpf_skb_load_helper_8_no_cache)(const struct sk_buff *, int); - -typedef u64 (*btf_bpf_skb_pull_data)(struct sk_buff *, u32); - -typedef u64 (*btf_bpf_skb_set_tstamp)(struct sk_buff *, u64, u32); - -typedef u64 (*btf_bpf_skb_set_tunnel_key)(struct sk_buff *, const struct bpf_tunnel_key *, u32, u64); - -typedef u64 (*btf_bpf_skb_set_tunnel_opt)(struct sk_buff *, const u8 *, u32); - -typedef u64 (*btf_bpf_skb_store_bytes)(struct sk_buff *, u32, const void *, u32, u64); - -typedef u64 (*btf_bpf_skb_under_cgroup)(struct sk_buff *, struct bpf_map *, u32); - -typedef u64 (*btf_bpf_skb_vlan_pop)(struct sk_buff *); - -typedef u64 (*btf_bpf_skb_vlan_push)(struct sk_buff *, __be16, u16); - -typedef u64 (*btf_bpf_skc_lookup_tcp)(struct sk_buff *, struct bpf_sock_tuple *, u32, u64, u64); - -typedef u64 (*btf_bpf_skc_to_mptcp_sock)(struct sock *); - -typedef u64 (*btf_bpf_skc_to_tcp6_sock)(struct sock *); - -typedef u64 (*btf_bpf_skc_to_tcp_request_sock)(struct sock *); - -typedef u64 (*btf_bpf_skc_to_tcp_sock)(struct sock *); - -typedef u64 (*btf_bpf_skc_to_tcp_timewait_sock)(struct sock *); - -typedef u64 (*btf_bpf_skc_to_udp6_sock)(struct sock *); - -typedef u64 (*btf_bpf_skc_to_unix_sock)(struct sock *); - -typedef u64 (*btf_bpf_snprintf)(char *, u32, char *, const void *, u32); - -typedef u64 (*btf_bpf_snprintf_btf)(char *, u32, struct btf_ptr *, u32, u64); - -typedef u64 (*btf_bpf_sock_addr_getsockopt)(struct bpf_sock_addr_kern *, int, int, char *, int); - -typedef u64 (*btf_bpf_sock_addr_setsockopt)(struct bpf_sock_addr_kern *, int, int, char *, int); - -typedef u64 (*btf_bpf_sock_addr_sk_lookup_tcp)(struct bpf_sock_addr_kern *, struct bpf_sock_tuple *, u32, u64, u64); - -typedef u64 (*btf_bpf_sock_addr_sk_lookup_udp)(struct bpf_sock_addr_kern *, struct bpf_sock_tuple *, u32, u64, u64); - -typedef u64 (*btf_bpf_sock_addr_skc_lookup_tcp)(struct bpf_sock_addr_kern *, struct bpf_sock_tuple *, u32, u64, u64); - -typedef u64 (*btf_bpf_sock_from_file)(struct file *); - -typedef u64 (*btf_bpf_sock_hash_update)(struct bpf_sock_ops_kern *, struct bpf_map *, void *, u64); - -typedef u64 (*btf_bpf_sock_map_update)(struct bpf_sock_ops_kern *, struct bpf_map *, void *, u64); - -typedef u64 (*btf_bpf_sock_ops_cb_flags_set)(struct bpf_sock_ops_kern *, int); - -typedef u64 (*btf_bpf_sock_ops_getsockopt)(struct bpf_sock_ops_kern *, int, int, char *, int); - -typedef u64 (*btf_bpf_sock_ops_load_hdr_opt)(struct bpf_sock_ops_kern *, void *, u32, u64); - -typedef u64 (*btf_bpf_sock_ops_reserve_hdr_opt)(struct bpf_sock_ops_kern *, u32, u64); - -typedef u64 (*btf_bpf_sock_ops_setsockopt)(struct bpf_sock_ops_kern *, int, int, char *, int); - -typedef u64 (*btf_bpf_sock_ops_store_hdr_opt)(struct bpf_sock_ops_kern *, const void *, u32, u64); - -typedef u64 (*btf_bpf_spin_lock)(struct bpf_spin_lock *); - -typedef u64 (*btf_bpf_spin_unlock)(struct bpf_spin_lock *); - -typedef u64 (*btf_bpf_strncmp)(const char *, u32, const char *); - -typedef u64 (*btf_bpf_strtol)(const char *, size_t, u64, s64 *); - -typedef u64 (*btf_bpf_strtoul)(const char *, size_t, u64, u64 *); - -typedef u64 (*btf_bpf_sys_bpf)(int, union bpf_attr *, u32); - -typedef u64 (*btf_bpf_sys_close)(u32); - -typedef u64 (*btf_bpf_sysctl_get_current_value)(struct bpf_sysctl_kern *, char *, size_t); - -typedef u64 (*btf_bpf_sysctl_get_name)(struct bpf_sysctl_kern *, char *, size_t, u64); - -typedef u64 (*btf_bpf_sysctl_get_new_value)(struct bpf_sysctl_kern *, char *, size_t); - -typedef u64 (*btf_bpf_sysctl_set_new_value)(struct bpf_sysctl_kern *, const char *, size_t); - -typedef u64 (*btf_bpf_task_pt_regs)(struct task_struct *); - -typedef u64 (*btf_bpf_task_storage_delete)(struct bpf_map *, struct task_struct *); - -typedef u64 (*btf_bpf_task_storage_delete_recur)(struct bpf_map *, struct task_struct *); - -typedef u64 (*btf_bpf_task_storage_get)(struct bpf_map *, struct task_struct *, void *, u64, gfp_t); - -typedef u64 (*btf_bpf_task_storage_get_recur)(struct bpf_map *, struct task_struct *, void *, u64, gfp_t); - -typedef u64 (*btf_bpf_tc_sk_lookup_tcp)(struct sk_buff *, struct bpf_sock_tuple *, u32, u64, u64); - -typedef u64 (*btf_bpf_tc_sk_lookup_udp)(struct sk_buff *, struct bpf_sock_tuple *, u32, u64, u64); - -typedef u64 (*btf_bpf_tc_skc_lookup_tcp)(struct sk_buff *, struct bpf_sock_tuple *, u32, u64, u64); - -typedef u64 (*btf_bpf_tcp_check_syncookie)(struct sock *, void *, u32, struct tcphdr *, u32); - -typedef u64 (*btf_bpf_tcp_gen_syncookie)(struct sock *, void *, u32, struct tcphdr *, u32); - -typedef u64 (*btf_bpf_tcp_raw_check_syncookie_ipv4)(struct iphdr *, struct tcphdr *); - -typedef u64 (*btf_bpf_tcp_raw_check_syncookie_ipv6)(struct ipv6hdr *, struct tcphdr *); - -typedef u64 (*btf_bpf_tcp_raw_gen_syncookie_ipv4)(struct iphdr *, struct tcphdr *, u32); - -typedef u64 (*btf_bpf_tcp_raw_gen_syncookie_ipv6)(struct ipv6hdr *, struct tcphdr *, u32); - -typedef u64 (*btf_bpf_tcp_send_ack)(struct tcp_sock *, u32); - -typedef u64 (*btf_bpf_tcp_sock)(struct sock *); - -typedef u64 (*btf_bpf_this_cpu_ptr)(const void *); - -typedef u64 (*btf_bpf_timer_cancel)(struct bpf_async_kern *); - -typedef u64 (*btf_bpf_timer_init)(struct bpf_async_kern *, struct bpf_map *, u64); - -typedef u64 (*btf_bpf_timer_set_callback)(struct bpf_async_kern *, void *, struct bpf_prog_aux *); - -typedef u64 (*btf_bpf_timer_start)(struct bpf_async_kern *, u64, u64); - -typedef u64 (*btf_bpf_trace_printk)(char *, u32, u64, u64, u64); - -typedef u64 (*btf_bpf_trace_vprintk)(char *, u32, const void *, u32); - -typedef u64 (*btf_bpf_unlocked_sk_getsockopt)(struct sock *, int, int, char *, int); - -typedef u64 (*btf_bpf_unlocked_sk_setsockopt)(struct sock *, int, int, char *, int); - -typedef u64 (*btf_bpf_user_ringbuf_drain)(struct bpf_map *, void *, void *, u64); - -typedef u64 (*btf_bpf_user_rnd_u32)(void); - -typedef u64 (*btf_bpf_xdp_adjust_head)(struct xdp_buff *, int); - -typedef u64 (*btf_bpf_xdp_adjust_meta)(struct xdp_buff *, int); - -typedef u64 (*btf_bpf_xdp_adjust_tail)(struct xdp_buff *, int); - -typedef u64 (*btf_bpf_xdp_check_mtu)(struct xdp_buff *, u32, u32 *, s32, u64); - -typedef u64 (*btf_bpf_xdp_event_output)(struct xdp_buff *, struct bpf_map *, u64, void *, u64); - -typedef u64 (*btf_bpf_xdp_fib_lookup)(struct xdp_buff *, struct bpf_fib_lookup *, int, u32); - -typedef u64 (*btf_bpf_xdp_get_buff_len)(struct xdp_buff *); - -typedef u64 (*btf_bpf_xdp_load_bytes)(struct xdp_buff *, u32, void *, u32); - -typedef u64 (*btf_bpf_xdp_redirect)(u32, u64); - -typedef u64 (*btf_bpf_xdp_redirect_map)(struct bpf_map *, u64, u64); - -typedef u64 (*btf_bpf_xdp_sk_lookup_tcp)(struct xdp_buff *, struct bpf_sock_tuple *, u32, u32, u64); - -typedef u64 (*btf_bpf_xdp_sk_lookup_udp)(struct xdp_buff *, struct bpf_sock_tuple *, u32, u32, u64); - -typedef u64 (*btf_bpf_xdp_skc_lookup_tcp)(struct xdp_buff *, struct bpf_sock_tuple *, u32, u32, u64); - -typedef u64 (*btf_bpf_xdp_store_bytes)(struct xdp_buff *, u32, void *, u32); - -typedef u64 (*btf_get_func_arg)(void *, u32, u64 *); - -typedef u64 (*btf_get_func_arg_cnt)(void *); - -typedef u64 (*btf_get_func_ret)(void *, u64 *); - -typedef u64 (*btf_sk_reuseport_load_bytes)(const struct sk_reuseport_kern *, u32, void *, u32); - -typedef u64 (*btf_sk_reuseport_load_bytes_relative)(const struct sk_reuseport_kern *, u32, void *, u32, u32); - -typedef u64 (*btf_sk_select_reuseport)(struct sk_reuseport_kern *, struct bpf_map *, void *, u32); - -typedef u64 (*btf_sk_skb_adjust_room)(struct sk_buff *, s32, u32, u64); - -typedef u64 (*btf_sk_skb_change_head)(struct sk_buff *, u32, u64); - -typedef u64 (*btf_sk_skb_change_tail)(struct sk_buff *, u32, u64); - -typedef u64 (*btf_sk_skb_pull_data)(struct sk_buff *, u32); - -typedef void (*btf_trace_ack_update_msk)(void *, u64, u64, u64, u64, u64); - -typedef void (*btf_trace_add_device_to_group)(void *, int, struct device *); - -typedef void (*btf_trace_aer_event)(void *, const char *, const u32, const u8, const u8, struct pcie_tlp_log *); - -typedef void (*btf_trace_alarmtimer_cancel)(void *, struct alarm *, ktime_t); - -typedef void (*btf_trace_alarmtimer_fired)(void *, struct alarm *, ktime_t); - -typedef void (*btf_trace_alarmtimer_start)(void *, struct alarm *, ktime_t); - -typedef void (*btf_trace_alarmtimer_suspend)(void *, ktime_t, int); - -typedef void (*btf_trace_alloc_vmap_area)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, int); - -typedef void (*btf_trace_amd_pstate_epp_perf)(void *, unsigned int, u8, u8, u8, u8, bool, bool); - -typedef void (*btf_trace_amd_pstate_perf)(void *, u8, u8, u8, u64, u64, u64, u64, unsigned int, bool); - -typedef void (*btf_trace_arm_event)(void *, const struct cper_sec_proc_arm *, const u8 *, const u32, const u8 *, const u32, const u8 *, const u32, u8, int); - -typedef void (*btf_trace_ata_bmdma_setup)(void *, struct ata_port *, const struct ata_taskfile *, unsigned int); - -typedef void (*btf_trace_ata_bmdma_start)(void *, struct ata_port *, const struct ata_taskfile *, unsigned int); - -typedef void (*btf_trace_ata_bmdma_status)(void *, struct ata_port *, unsigned int); - -typedef void (*btf_trace_ata_bmdma_stop)(void *, struct ata_port *, const struct ata_taskfile *, unsigned int); - -typedef void (*btf_trace_ata_eh_about_to_do)(void *, struct ata_link *, unsigned int, unsigned int); - -typedef void (*btf_trace_ata_eh_done)(void *, struct ata_link *, unsigned int, unsigned int); - -typedef void (*btf_trace_ata_eh_link_autopsy)(void *, struct ata_device *, unsigned int, unsigned int); - -typedef void (*btf_trace_ata_eh_link_autopsy_qc)(void *, struct ata_queued_cmd *); - -typedef void (*btf_trace_ata_exec_command)(void *, struct ata_port *, const struct ata_taskfile *, unsigned int); - -typedef void (*btf_trace_ata_link_hardreset_begin)(void *, struct ata_link *, unsigned int *, long unsigned int); - -typedef void (*btf_trace_ata_link_hardreset_end)(void *, struct ata_link *, unsigned int *, int); - -typedef void (*btf_trace_ata_link_postreset)(void *, struct ata_link *, unsigned int *, int); - -typedef void (*btf_trace_ata_link_softreset_begin)(void *, struct ata_link *, unsigned int *, long unsigned int); - -typedef void (*btf_trace_ata_link_softreset_end)(void *, struct ata_link *, unsigned int *, int); - -typedef void (*btf_trace_ata_port_freeze)(void *, struct ata_port *); - -typedef void (*btf_trace_ata_port_thaw)(void *, struct ata_port *); - -typedef void (*btf_trace_ata_qc_complete_done)(void *, struct ata_queued_cmd *); - -typedef void (*btf_trace_ata_qc_complete_failed)(void *, struct ata_queued_cmd *); - -typedef void (*btf_trace_ata_qc_complete_internal)(void *, struct ata_queued_cmd *); - -typedef void (*btf_trace_ata_qc_issue)(void *, struct ata_queued_cmd *); - -typedef void (*btf_trace_ata_qc_prep)(void *, struct ata_queued_cmd *); - -typedef void (*btf_trace_ata_sff_flush_pio_task)(void *, struct ata_port *); - -typedef void (*btf_trace_ata_sff_hsm_command_complete)(void *, struct ata_queued_cmd *, unsigned char); - -typedef void (*btf_trace_ata_sff_hsm_state)(void *, struct ata_queued_cmd *, unsigned char); - -typedef void (*btf_trace_ata_sff_pio_transfer_data)(void *, struct ata_queued_cmd *, unsigned int, unsigned int); - -typedef void (*btf_trace_ata_sff_port_intr)(void *, struct ata_queued_cmd *, unsigned char); - -typedef void (*btf_trace_ata_slave_hardreset_begin)(void *, struct ata_link *, unsigned int *, long unsigned int); - -typedef void (*btf_trace_ata_slave_hardreset_end)(void *, struct ata_link *, unsigned int *, int); - -typedef void (*btf_trace_ata_slave_postreset)(void *, struct ata_link *, unsigned int *, int); - -typedef void (*btf_trace_ata_std_sched_eh)(void *, struct ata_port *); - -typedef void (*btf_trace_ata_tf_load)(void *, struct ata_port *, const struct ata_taskfile *); - -typedef void (*btf_trace_atapi_pio_transfer_data)(void *, struct ata_queued_cmd *, unsigned int, unsigned int); - -typedef void (*btf_trace_atapi_send_cdb)(void *, struct ata_queued_cmd *, unsigned int, unsigned int); - -typedef void (*btf_trace_attach_device_to_domain)(void *, struct device *); - -typedef void (*btf_trace_balance_dirty_pages)(void *, struct bdi_writeback *, struct dirty_throttle_control *, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long int, long unsigned int); - -typedef void (*btf_trace_bdi_dirty_ratelimit)(void *, struct bdi_writeback *, long unsigned int, long unsigned int); - -typedef void (*btf_trace_blk_zone_append_update_request_bio)(void *, struct request *); - -typedef void (*btf_trace_blk_zone_wplug_bio)(void *, struct request_queue *, unsigned int, sector_t, unsigned int); - -typedef void (*btf_trace_blkdev_zone_mgmt)(void *, struct bio *, sector_t); - -typedef void (*btf_trace_block_bio_backmerge)(void *, struct bio *); - -typedef void (*btf_trace_block_bio_complete)(void *, struct request_queue *, struct bio *); - -typedef void (*btf_trace_block_bio_frontmerge)(void *, struct bio *); - -typedef void (*btf_trace_block_bio_queue)(void *, struct bio *); - -typedef void (*btf_trace_block_bio_remap)(void *, struct bio *, dev_t, sector_t); - -typedef void (*btf_trace_block_dirty_buffer)(void *, struct buffer_head *); - -typedef void (*btf_trace_block_getrq)(void *, struct bio *); - -typedef void (*btf_trace_block_io_done)(void *, struct request *); - -typedef void (*btf_trace_block_io_start)(void *, struct request *); - -typedef void (*btf_trace_block_plug)(void *, struct request_queue *); - -typedef void (*btf_trace_block_rq_complete)(void *, struct request *, blk_status_t, unsigned int); - -typedef void (*btf_trace_block_rq_error)(void *, struct request *, blk_status_t, unsigned int); - -typedef void (*btf_trace_block_rq_insert)(void *, struct request *); - -typedef void (*btf_trace_block_rq_issue)(void *, struct request *); - -typedef void (*btf_trace_block_rq_merge)(void *, struct request *); - -typedef void (*btf_trace_block_rq_remap)(void *, struct request *, dev_t, sector_t); - -typedef void (*btf_trace_block_rq_requeue)(void *, struct request *); - -typedef void (*btf_trace_block_split)(void *, struct bio *, unsigned int); - -typedef void (*btf_trace_block_touch_buffer)(void *, struct buffer_head *); - -typedef void (*btf_trace_block_unplug)(void *, struct request_queue *, unsigned int, bool); - -typedef void (*btf_trace_bpf_test_finish)(void *, int *); - -typedef void (*btf_trace_bpf_trace_printk)(void *, const char *); - -typedef void (*btf_trace_bpf_trigger_tp)(void *, int); - -typedef void (*btf_trace_bpf_xdp_link_attach_failed)(void *, const char *); - -typedef void (*btf_trace_br_fdb_add)(void *, struct ndmsg *, struct net_device *, const unsigned char *, u16, u16); - -typedef void (*btf_trace_br_fdb_external_learn_add)(void *, struct net_bridge *, struct net_bridge_port *, const unsigned char *, u16); - -typedef void (*btf_trace_br_fdb_update)(void *, struct net_bridge *, struct net_bridge_port *, const unsigned char *, u16, long unsigned int); - -typedef void (*btf_trace_br_mdb_full)(void *, const struct net_device *, const struct br_ip *); - -typedef void (*btf_trace_break_lease_block)(void *, struct inode *, struct file_lease *); - -typedef void (*btf_trace_break_lease_noblock)(void *, struct inode *, struct file_lease *); - -typedef void (*btf_trace_break_lease_unblock)(void *, struct inode *, struct file_lease *); - -typedef void (*btf_trace_cache_tag_assign)(void *, struct cache_tag *); - -typedef void (*btf_trace_cache_tag_flush_range)(void *, struct cache_tag *, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int); - -typedef void (*btf_trace_cache_tag_flush_range_np)(void *, struct cache_tag *, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int); - -typedef void (*btf_trace_cache_tag_unassign)(void *, struct cache_tag *); - -typedef void (*btf_trace_call_function_entry)(void *, int); - -typedef void (*btf_trace_call_function_exit)(void *, int); - -typedef void (*btf_trace_call_function_single_entry)(void *, int); - -typedef void (*btf_trace_call_function_single_exit)(void *, int); - -typedef void (*btf_trace_cap_capable)(void *, const struct cred *, struct user_namespace *, const struct user_namespace *, int, int); - -typedef void (*btf_trace_cdev_update)(void *, struct thermal_cooling_device *, long unsigned int); - -typedef void (*btf_trace_cgroup_attach_task)(void *, struct cgroup *, const char *, struct task_struct *, bool); - -typedef void (*btf_trace_cgroup_destroy_root)(void *, struct cgroup_root *); - -typedef void (*btf_trace_cgroup_freeze)(void *, struct cgroup *, const char *); - -typedef void (*btf_trace_cgroup_mkdir)(void *, struct cgroup *, const char *); - -typedef void (*btf_trace_cgroup_notify_frozen)(void *, struct cgroup *, const char *, int); - -typedef void (*btf_trace_cgroup_notify_populated)(void *, struct cgroup *, const char *, int); - -typedef void (*btf_trace_cgroup_release)(void *, struct cgroup *, const char *); - -typedef void (*btf_trace_cgroup_remount)(void *, struct cgroup_root *); - -typedef void (*btf_trace_cgroup_rename)(void *, struct cgroup *, const char *); - -typedef void (*btf_trace_cgroup_rmdir)(void *, struct cgroup *, const char *); - -typedef void (*btf_trace_cgroup_rstat_lock_contended)(void *, struct cgroup *, int, bool); - -typedef void (*btf_trace_cgroup_rstat_locked)(void *, struct cgroup *, int, bool); - -typedef void (*btf_trace_cgroup_rstat_unlock)(void *, struct cgroup *, int, bool); - -typedef void (*btf_trace_cgroup_setup_root)(void *, struct cgroup_root *); - -typedef void (*btf_trace_cgroup_transfer_tasks)(void *, struct cgroup *, const char *, struct task_struct *, bool); - -typedef void (*btf_trace_cgroup_unfreeze)(void *, struct cgroup *, const char *); - -typedef void (*btf_trace_clk_disable)(void *, struct clk_core *); - -typedef void (*btf_trace_clk_disable_complete)(void *, struct clk_core *); - -typedef void (*btf_trace_clk_enable)(void *, struct clk_core *); - -typedef void (*btf_trace_clk_enable_complete)(void *, struct clk_core *); - -typedef void (*btf_trace_clk_prepare)(void *, struct clk_core *); - -typedef void (*btf_trace_clk_prepare_complete)(void *, struct clk_core *); - -typedef void (*btf_trace_clk_rate_request_done)(void *, struct clk_rate_request *); - -typedef void (*btf_trace_clk_rate_request_start)(void *, struct clk_rate_request *); - -typedef void (*btf_trace_clk_set_duty_cycle)(void *, struct clk_core *, struct clk_duty *); - -typedef void (*btf_trace_clk_set_duty_cycle_complete)(void *, struct clk_core *, struct clk_duty *); - -typedef void (*btf_trace_clk_set_max_rate)(void *, struct clk_core *, long unsigned int); - -typedef void (*btf_trace_clk_set_min_rate)(void *, struct clk_core *, long unsigned int); - -typedef void (*btf_trace_clk_set_parent)(void *, struct clk_core *, struct clk_core *); - -typedef void (*btf_trace_clk_set_parent_complete)(void *, struct clk_core *, struct clk_core *); - -typedef void (*btf_trace_clk_set_phase)(void *, struct clk_core *, int); - -typedef void (*btf_trace_clk_set_phase_complete)(void *, struct clk_core *, int); - -typedef void (*btf_trace_clk_set_rate)(void *, struct clk_core *, long unsigned int); - -typedef void (*btf_trace_clk_set_rate_complete)(void *, struct clk_core *, long unsigned int); - -typedef void (*btf_trace_clk_set_rate_range)(void *, struct clk_core *, long unsigned int, long unsigned int); - -typedef void (*btf_trace_clk_unprepare)(void *, struct clk_core *); - -typedef void (*btf_trace_clk_unprepare_complete)(void *, struct clk_core *); - -typedef void (*btf_trace_cma_alloc_busy_retry)(void *, const char *, long unsigned int, const struct page *, long unsigned int, unsigned int); - -typedef void (*btf_trace_cma_alloc_finish)(void *, const char *, long unsigned int, const struct page *, long unsigned int, unsigned int, int); - -typedef void (*btf_trace_cma_alloc_start)(void *, const char *, long unsigned int, unsigned int); - -typedef void (*btf_trace_cma_release)(void *, const char *, long unsigned int, const struct page *, long unsigned int); - -typedef void (*btf_trace_compact_retry)(void *, int, enum compact_priority, enum compact_result, int, int, bool); - -typedef void (*btf_trace_console)(void *, const char *, size_t); - -typedef void (*btf_trace_consume_skb)(void *, struct sk_buff *, void *); - -typedef void (*btf_trace_contention_begin)(void *, void *, unsigned int); - -typedef void (*btf_trace_contention_end)(void *, void *, int); - -typedef void (*btf_trace_count_memcg_events)(void *, struct mem_cgroup *, int, long unsigned int); - -typedef void (*btf_trace_cpu_frequency)(void *, unsigned int, unsigned int); - -typedef void (*btf_trace_cpu_frequency_limits)(void *, struct cpufreq_policy *); - -typedef void (*btf_trace_cpu_idle)(void *, unsigned int, unsigned int); - -typedef void (*btf_trace_cpu_idle_miss)(void *, unsigned int, unsigned int, bool); - -typedef void (*btf_trace_cpuhp_enter)(void *, unsigned int, int, int, int (*)(unsigned int)); - -typedef void (*btf_trace_cpuhp_exit)(void *, unsigned int, int, int, int); - -typedef void (*btf_trace_cpuhp_multi_enter)(void *, unsigned int, int, int, int (*)(unsigned int, struct hlist_node *), struct hlist_node *); - -typedef void (*btf_trace_csd_function_entry)(void *, smp_call_func_t, call_single_data_t *); - -typedef void (*btf_trace_csd_function_exit)(void *, smp_call_func_t, call_single_data_t *); - -typedef void (*btf_trace_csd_queue_cpu)(void *, const unsigned int, long unsigned int, smp_call_func_t, call_single_data_t *); - -typedef void (*btf_trace_ctime_ns_xchg)(void *, struct inode *, u32, u32, u32); - -typedef void (*btf_trace_ctime_xchg_skip)(void *, struct inode *, struct timespec64 *); - -typedef void (*btf_trace_dax_insert_pfn_mkwrite)(void *, struct inode *, struct vm_fault *, int); - -typedef void (*btf_trace_dax_insert_pfn_mkwrite_no_entry)(void *, struct inode *, struct vm_fault *, int); - -typedef void (*btf_trace_dax_load_hole)(void *, struct inode *, struct vm_fault *, int); - -typedef void (*btf_trace_dax_pmd_fault)(void *, struct inode *, struct vm_fault *, long unsigned int, int); - -typedef void (*btf_trace_dax_pmd_fault_done)(void *, struct inode *, struct vm_fault *, long unsigned int, int); - -typedef void (*btf_trace_dax_pmd_load_hole)(void *, struct inode *, struct vm_fault *, struct folio *, void *); - -typedef void (*btf_trace_dax_pmd_load_hole_fallback)(void *, struct inode *, struct vm_fault *, struct folio *, void *); - -typedef void (*btf_trace_dax_pte_fault)(void *, struct inode *, struct vm_fault *, int); - -typedef void (*btf_trace_dax_pte_fault_done)(void *, struct inode *, struct vm_fault *, int); - -typedef void (*btf_trace_dax_writeback_one)(void *, struct inode *, long unsigned int, long unsigned int); - -typedef void (*btf_trace_dax_writeback_range)(void *, struct inode *, long unsigned int, long unsigned int); - -typedef void (*btf_trace_dax_writeback_range_done)(void *, struct inode *, long unsigned int, long unsigned int); - -typedef void (*btf_trace_deferred_error_apic_entry)(void *, int); - -typedef void (*btf_trace_deferred_error_apic_exit)(void *, int); - -typedef void (*btf_trace_dev_pm_qos_add_request)(void *, const char *, enum dev_pm_qos_req_type, s32); - -typedef void (*btf_trace_dev_pm_qos_remove_request)(void *, const char *, enum dev_pm_qos_req_type, s32); - -typedef void (*btf_trace_dev_pm_qos_update_request)(void *, const char *, enum dev_pm_qos_req_type, s32); - -typedef void (*btf_trace_devfreq_frequency)(void *, struct devfreq *, long unsigned int, long unsigned int); - -typedef void (*btf_trace_devfreq_monitor)(void *, struct devfreq *); - -typedef void (*btf_trace_device_pm_callback_end)(void *, struct device *, int); - -typedef void (*btf_trace_device_pm_callback_start)(void *, struct device *, const char *, int); - -typedef void (*btf_trace_devlink_health_recover_aborted)(void *, const struct devlink *, const char *, bool, u64); - -typedef void (*btf_trace_devlink_health_report)(void *, const struct devlink *, const char *, const char *); - -typedef void (*btf_trace_devlink_health_reporter_state_update)(void *, const struct devlink *, const char *, bool); - -typedef void (*btf_trace_devlink_hwerr)(void *, const struct devlink *, int, const char *); - -typedef void (*btf_trace_devlink_hwmsg)(void *, const struct devlink *, bool, long unsigned int, const u8 *, size_t); - -typedef void (*btf_trace_devlink_trap_report)(void *, const struct devlink *, struct sk_buff *, const struct devlink_trap_metadata *); - -typedef void (*btf_trace_devres_log)(void *, struct device *, const char *, void *, const char *, size_t); - -typedef void (*btf_trace_disk_zone_wplug_add_bio)(void *, struct request_queue *, unsigned int, sector_t, unsigned int); - -typedef void (*btf_trace_dma_alloc)(void *, struct device *, void *, dma_addr_t, size_t, enum dma_data_direction, gfp_t, long unsigned int); - -typedef void (*btf_trace_dma_alloc_pages)(void *, struct device *, void *, dma_addr_t, size_t, enum dma_data_direction, gfp_t, long unsigned int); - -typedef void (*btf_trace_dma_alloc_sgt)(void *, struct device *, struct sg_table *, size_t, enum dma_data_direction, gfp_t, long unsigned int); - -typedef void (*btf_trace_dma_alloc_sgt_err)(void *, struct device *, void *, dma_addr_t, size_t, enum dma_data_direction, gfp_t, long unsigned int); - -typedef void (*btf_trace_dma_fence_destroy)(void *, struct dma_fence *); - -typedef void (*btf_trace_dma_fence_emit)(void *, struct dma_fence *); - -typedef void (*btf_trace_dma_fence_enable_signal)(void *, struct dma_fence *); - -typedef void (*btf_trace_dma_fence_init)(void *, struct dma_fence *); - -typedef void (*btf_trace_dma_fence_signaled)(void *, struct dma_fence *); - -typedef void (*btf_trace_dma_fence_wait_end)(void *, struct dma_fence *); - -typedef void (*btf_trace_dma_fence_wait_start)(void *, struct dma_fence *); - -typedef void (*btf_trace_dma_free)(void *, struct device *, void *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int); - -typedef void (*btf_trace_dma_free_pages)(void *, struct device *, void *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int); - -typedef void (*btf_trace_dma_free_sgt)(void *, struct device *, struct sg_table *, size_t, enum dma_data_direction); - -typedef void (*btf_trace_dma_map_page)(void *, struct device *, phys_addr_t, dma_addr_t, size_t, enum dma_data_direction, long unsigned int); - -typedef void (*btf_trace_dma_map_resource)(void *, struct device *, phys_addr_t, dma_addr_t, size_t, enum dma_data_direction, long unsigned int); - -typedef void (*btf_trace_dma_map_sg)(void *, struct device *, struct scatterlist *, int, int, enum dma_data_direction, long unsigned int); - -typedef void (*btf_trace_dma_map_sg_err)(void *, struct device *, struct scatterlist *, int, int, enum dma_data_direction, long unsigned int); - -typedef void (*btf_trace_dma_sync_sg_for_cpu)(void *, struct device *, struct scatterlist *, int, enum dma_data_direction); - -typedef void (*btf_trace_dma_sync_sg_for_device)(void *, struct device *, struct scatterlist *, int, enum dma_data_direction); - -typedef void (*btf_trace_dma_sync_single_for_cpu)(void *, struct device *, dma_addr_t, size_t, enum dma_data_direction); - -typedef void (*btf_trace_dma_sync_single_for_device)(void *, struct device *, dma_addr_t, size_t, enum dma_data_direction); - -typedef void (*btf_trace_dma_unmap_page)(void *, struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int); - -typedef void (*btf_trace_dma_unmap_resource)(void *, struct device *, dma_addr_t, size_t, enum dma_data_direction, long unsigned int); - -typedef void (*btf_trace_dma_unmap_sg)(void *, struct device *, struct scatterlist *, int, enum dma_data_direction, long unsigned int); - -typedef void (*btf_trace_dql_stall_detected)(void *, short unsigned int, unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int *); - -typedef void (*btf_trace_drm_vblank_event)(void *, int, unsigned int, ktime_t, bool); - -typedef void (*btf_trace_drm_vblank_event_delivered)(void *, struct drm_file *, int, unsigned int); - -typedef void (*btf_trace_drm_vblank_event_queued)(void *, struct drm_file *, int, unsigned int); - -typedef void (*btf_trace_emulate_vsyscall)(void *, int); - -typedef void (*btf_trace_error_apic_entry)(void *, int); - -typedef void (*btf_trace_error_apic_exit)(void *, int); - -typedef void (*btf_trace_error_report_end)(void *, enum error_detector, long unsigned int); - -typedef void (*btf_trace_error_wwnr)(void *, int, char *, char *); - -typedef void (*btf_trace_event_wwnr)(void *, int, char *, char *, char *, bool); - -typedef void (*btf_trace_exit_mmap)(void *, struct mm_struct *); - -typedef void (*btf_trace_ext4_alloc_da_blocks)(void *, struct inode *); - -typedef void (*btf_trace_ext4_allocate_blocks)(void *, struct ext4_allocation_request *, long long unsigned int); - -typedef void (*btf_trace_ext4_allocate_inode)(void *, struct inode *, struct inode *, int); - -typedef void (*btf_trace_ext4_begin_ordered_truncate)(void *, struct inode *, loff_t); - -typedef void (*btf_trace_ext4_collapse_range)(void *, struct inode *, loff_t, loff_t); - -typedef void (*btf_trace_ext4_da_release_space)(void *, struct inode *, int); - -typedef void (*btf_trace_ext4_da_reserve_space)(void *, struct inode *, int); - -typedef void (*btf_trace_ext4_da_update_reserve_space)(void *, struct inode *, int, int); - -typedef void (*btf_trace_ext4_da_write_begin)(void *, struct inode *, loff_t, unsigned int); - -typedef void (*btf_trace_ext4_da_write_end)(void *, struct inode *, loff_t, unsigned int, unsigned int); - -typedef void (*btf_trace_ext4_da_write_folios_end)(void *, struct inode *, loff_t, loff_t, struct writeback_control *, int); - -typedef void (*btf_trace_ext4_da_write_folios_start)(void *, struct inode *, loff_t, loff_t, struct writeback_control *); - -typedef void (*btf_trace_ext4_da_write_pages_extent)(void *, struct inode *, struct ext4_map_blocks *); - -typedef void (*btf_trace_ext4_discard_blocks)(void *, struct super_block *, long long unsigned int, long long unsigned int); - -typedef void (*btf_trace_ext4_discard_preallocations)(void *, struct inode *, unsigned int); - -typedef void (*btf_trace_ext4_drop_inode)(void *, struct inode *, int); - -typedef void (*btf_trace_ext4_error)(void *, struct super_block *, const char *, unsigned int); - -typedef void (*btf_trace_ext4_es_cache_extent)(void *, struct inode *, struct extent_status *); - -typedef void (*btf_trace_ext4_es_find_extent_range_enter)(void *, struct inode *, ext4_lblk_t); - -typedef void (*btf_trace_ext4_es_find_extent_range_exit)(void *, struct inode *, struct extent_status *); - -typedef void (*btf_trace_ext4_es_insert_delayed_extent)(void *, struct inode *, struct extent_status *, bool, bool); - -typedef void (*btf_trace_ext4_es_insert_extent)(void *, struct inode *, struct extent_status *); - -typedef void (*btf_trace_ext4_es_lookup_extent_enter)(void *, struct inode *, ext4_lblk_t); - -typedef void (*btf_trace_ext4_es_lookup_extent_exit)(void *, struct inode *, struct extent_status *, int); - -typedef void (*btf_trace_ext4_es_remove_extent)(void *, struct inode *, ext4_lblk_t, ext4_lblk_t); - -typedef void (*btf_trace_ext4_es_shrink)(void *, struct super_block *, int, u64, int, int); - -typedef void (*btf_trace_ext4_es_shrink_count)(void *, struct super_block *, int, int); - -typedef void (*btf_trace_ext4_es_shrink_scan_enter)(void *, struct super_block *, int, int); - -typedef void (*btf_trace_ext4_es_shrink_scan_exit)(void *, struct super_block *, int, int); - -typedef void (*btf_trace_ext4_evict_inode)(void *, struct inode *); - -typedef void (*btf_trace_ext4_ext_convert_to_initialized_enter)(void *, struct inode *, struct ext4_map_blocks *, struct ext4_extent *); - -typedef void (*btf_trace_ext4_ext_convert_to_initialized_fastpath)(void *, struct inode *, struct ext4_map_blocks *, struct ext4_extent *, struct ext4_extent *); - -typedef void (*btf_trace_ext4_ext_handle_unwritten_extents)(void *, struct inode *, struct ext4_map_blocks *, int, unsigned int, ext4_fsblk_t); - -typedef void (*btf_trace_ext4_ext_load_extent)(void *, struct inode *, ext4_lblk_t, ext4_fsblk_t); - -typedef void (*btf_trace_ext4_ext_map_blocks_enter)(void *, struct inode *, ext4_lblk_t, unsigned int, unsigned int); - -typedef void (*btf_trace_ext4_ext_map_blocks_exit)(void *, struct inode *, unsigned int, struct ext4_map_blocks *, int); - -typedef void (*btf_trace_ext4_ext_remove_space)(void *, struct inode *, ext4_lblk_t, ext4_lblk_t, int); - -typedef void (*btf_trace_ext4_ext_remove_space_done)(void *, struct inode *, ext4_lblk_t, ext4_lblk_t, int, struct partial_cluster *, __le16); - -typedef void (*btf_trace_ext4_ext_rm_idx)(void *, struct inode *, ext4_fsblk_t); - -typedef void (*btf_trace_ext4_ext_rm_leaf)(void *, struct inode *, ext4_lblk_t, struct ext4_extent *, struct partial_cluster *); - -typedef void (*btf_trace_ext4_ext_show_extent)(void *, struct inode *, ext4_lblk_t, ext4_fsblk_t, short unsigned int); - -typedef void (*btf_trace_ext4_fallocate_enter)(void *, struct inode *, loff_t, loff_t, int); - -typedef void (*btf_trace_ext4_fallocate_exit)(void *, struct inode *, loff_t, unsigned int, int); - -typedef void (*btf_trace_ext4_fc_cleanup)(void *, journal_t *, int, tid_t); - -typedef void (*btf_trace_ext4_fc_commit_start)(void *, struct super_block *, tid_t); - -typedef void (*btf_trace_ext4_fc_commit_stop)(void *, struct super_block *, int, int, tid_t); - -typedef void (*btf_trace_ext4_fc_replay)(void *, struct super_block *, int, int, int, int); - -typedef void (*btf_trace_ext4_fc_replay_scan)(void *, struct super_block *, int, int); - -typedef void (*btf_trace_ext4_fc_stats)(void *, struct super_block *); - -typedef void (*btf_trace_ext4_fc_track_create)(void *, handle_t *, struct inode *, struct dentry *, int); - -typedef void (*btf_trace_ext4_fc_track_inode)(void *, handle_t *, struct inode *, int); - -typedef void (*btf_trace_ext4_fc_track_link)(void *, handle_t *, struct inode *, struct dentry *, int); - -typedef void (*btf_trace_ext4_fc_track_range)(void *, handle_t *, struct inode *, long int, long int, int); - -typedef void (*btf_trace_ext4_fc_track_unlink)(void *, handle_t *, struct inode *, struct dentry *, int); - -typedef void (*btf_trace_ext4_forget)(void *, struct inode *, int, __u64); - -typedef void (*btf_trace_ext4_free_blocks)(void *, struct inode *, __u64, long unsigned int, int); - -typedef void (*btf_trace_ext4_free_inode)(void *, struct inode *); - -typedef void (*btf_trace_ext4_fsmap_high_key)(void *, struct super_block *, u32, u32, u64, u64, u64); - -typedef void (*btf_trace_ext4_fsmap_low_key)(void *, struct super_block *, u32, u32, u64, u64, u64); - -typedef void (*btf_trace_ext4_fsmap_mapping)(void *, struct super_block *, u32, u32, u64, u64, u64); - -typedef void (*btf_trace_ext4_get_implied_cluster_alloc_exit)(void *, struct super_block *, struct ext4_map_blocks *, int); - -typedef void (*btf_trace_ext4_getfsmap_high_key)(void *, struct super_block *, struct ext4_fsmap *); - -typedef void (*btf_trace_ext4_getfsmap_low_key)(void *, struct super_block *, struct ext4_fsmap *); - -typedef void (*btf_trace_ext4_getfsmap_mapping)(void *, struct super_block *, struct ext4_fsmap *); - -typedef void (*btf_trace_ext4_ind_map_blocks_enter)(void *, struct inode *, ext4_lblk_t, unsigned int, unsigned int); - -typedef void (*btf_trace_ext4_ind_map_blocks_exit)(void *, struct inode *, unsigned int, struct ext4_map_blocks *, int); - -typedef void (*btf_trace_ext4_insert_range)(void *, struct inode *, loff_t, loff_t); - -typedef void (*btf_trace_ext4_invalidate_folio)(void *, struct folio *, size_t, size_t); - -typedef void (*btf_trace_ext4_journal_start_inode)(void *, struct inode *, int, int, int, int, long unsigned int); - -typedef void (*btf_trace_ext4_journal_start_reserved)(void *, struct super_block *, int, long unsigned int); - -typedef void (*btf_trace_ext4_journal_start_sb)(void *, struct super_block *, int, int, int, int, long unsigned int); - -typedef void (*btf_trace_ext4_journalled_invalidate_folio)(void *, struct folio *, size_t, size_t); - -typedef void (*btf_trace_ext4_journalled_write_end)(void *, struct inode *, loff_t, unsigned int, unsigned int); - -typedef void (*btf_trace_ext4_lazy_itable_init)(void *, struct super_block *, ext4_group_t); - -typedef void (*btf_trace_ext4_load_inode)(void *, struct super_block *, long unsigned int); - -typedef void (*btf_trace_ext4_load_inode_bitmap)(void *, struct super_block *, long unsigned int); - -typedef void (*btf_trace_ext4_mark_inode_dirty)(void *, struct inode *, long unsigned int); - -typedef void (*btf_trace_ext4_mb_bitmap_load)(void *, struct super_block *, long unsigned int); - -typedef void (*btf_trace_ext4_mb_buddy_bitmap_load)(void *, struct super_block *, long unsigned int); - -typedef void (*btf_trace_ext4_mb_discard_preallocations)(void *, struct super_block *, int); - -typedef void (*btf_trace_ext4_mb_new_group_pa)(void *, struct ext4_allocation_context *, struct ext4_prealloc_space *); - -typedef void (*btf_trace_ext4_mb_new_inode_pa)(void *, struct ext4_allocation_context *, struct ext4_prealloc_space *); - -typedef void (*btf_trace_ext4_mb_release_group_pa)(void *, struct super_block *, struct ext4_prealloc_space *); - -typedef void (*btf_trace_ext4_mb_release_inode_pa)(void *, struct ext4_prealloc_space *, long long unsigned int, unsigned int); - -typedef void (*btf_trace_ext4_mballoc_alloc)(void *, struct ext4_allocation_context *); - -typedef void (*btf_trace_ext4_mballoc_discard)(void *, struct super_block *, struct inode *, ext4_group_t, ext4_grpblk_t, ext4_grpblk_t); - -typedef void (*btf_trace_ext4_mballoc_free)(void *, struct super_block *, struct inode *, ext4_group_t, ext4_grpblk_t, ext4_grpblk_t); - -typedef void (*btf_trace_ext4_mballoc_prealloc)(void *, struct ext4_allocation_context *); - -typedef void (*btf_trace_ext4_nfs_commit_metadata)(void *, struct inode *); - -typedef void (*btf_trace_ext4_other_inode_update_time)(void *, struct inode *, ino_t); - -typedef void (*btf_trace_ext4_prefetch_bitmaps)(void *, struct super_block *, ext4_group_t, ext4_group_t, unsigned int); - -typedef void (*btf_trace_ext4_punch_hole)(void *, struct inode *, loff_t, loff_t, int); - -typedef void (*btf_trace_ext4_read_block_bitmap_load)(void *, struct super_block *, long unsigned int, bool); - -typedef void (*btf_trace_ext4_read_folio)(void *, struct inode *, struct folio *); - -typedef void (*btf_trace_ext4_release_folio)(void *, struct inode *, struct folio *); - -typedef void (*btf_trace_ext4_remove_blocks)(void *, struct inode *, struct ext4_extent *, ext4_lblk_t, ext4_fsblk_t, struct partial_cluster *); - -typedef void (*btf_trace_ext4_request_blocks)(void *, struct ext4_allocation_request *); - -typedef void (*btf_trace_ext4_request_inode)(void *, struct inode *, int); - -typedef void (*btf_trace_ext4_shutdown)(void *, struct super_block *, long unsigned int); - -typedef void (*btf_trace_ext4_sync_file_enter)(void *, struct file *, int); - -typedef void (*btf_trace_ext4_sync_file_exit)(void *, struct inode *, int); - -typedef void (*btf_trace_ext4_sync_fs)(void *, struct super_block *, int); - -typedef void (*btf_trace_ext4_trim_all_free)(void *, struct super_block *, ext4_group_t, ext4_grpblk_t, ext4_grpblk_t); - -typedef void (*btf_trace_ext4_trim_extent)(void *, struct super_block *, ext4_group_t, ext4_grpblk_t, ext4_grpblk_t); - -typedef void (*btf_trace_ext4_truncate_enter)(void *, struct inode *); - -typedef void (*btf_trace_ext4_truncate_exit)(void *, struct inode *); - -typedef void (*btf_trace_ext4_unlink_enter)(void *, struct inode *, struct dentry *); - -typedef void (*btf_trace_ext4_unlink_exit)(void *, struct dentry *, int); - -typedef void (*btf_trace_ext4_update_sb)(void *, struct super_block *, ext4_fsblk_t, unsigned int); - -typedef void (*btf_trace_ext4_write_begin)(void *, struct inode *, loff_t, unsigned int); - -typedef void (*btf_trace_ext4_write_end)(void *, struct inode *, loff_t, unsigned int, unsigned int); - -typedef void (*btf_trace_ext4_writepages)(void *, struct inode *, struct writeback_control *); - -typedef void (*btf_trace_ext4_writepages_result)(void *, struct inode *, struct writeback_control *, int, int); - -typedef void (*btf_trace_ext4_zero_range)(void *, struct inode *, loff_t, loff_t, int); - -typedef void (*btf_trace_extlog_mem_event)(void *, struct cper_sec_mem_err *, u32, const guid_t *, const char *, u8); - -typedef void (*btf_trace_fcntl_setlk)(void *, struct inode *, struct file_lock *, int); - -typedef void (*btf_trace_fdb_delete)(void *, struct net_bridge *, struct net_bridge_fdb_entry *); - -typedef void (*btf_trace_fib6_table_lookup)(void *, const struct net *, const struct fib6_result *, struct fib6_table *, const struct flowi6 *); - -typedef void (*btf_trace_fib_table_lookup)(void *, u32, const struct flowi4 *, const struct fib_nh_common *, int); - -typedef void (*btf_trace_file_check_and_advance_wb_err)(void *, struct file *, errseq_t); - -typedef void (*btf_trace_filemap_set_wb_err)(void *, struct address_space *, errseq_t); - -typedef void (*btf_trace_fill_mg_cmtime)(void *, struct inode *, struct timespec64 *, struct timespec64 *); - -typedef void (*btf_trace_finish_task_reaping)(void *, int); - -typedef void (*btf_trace_flock_lock_inode)(void *, struct inode *, struct file_lock *, int); - -typedef void (*btf_trace_flush_foreign)(void *, struct bdi_writeback *, unsigned int, unsigned int); - -typedef void (*btf_trace_folio_wait_writeback)(void *, struct folio *, struct address_space *); - -typedef void (*btf_trace_free_vmap_area_noflush)(void *, long unsigned int, long unsigned int, long unsigned int); - -typedef void (*btf_trace_fuse_request_end)(void *, const struct fuse_req *); - -typedef void (*btf_trace_fuse_request_send)(void *, const struct fuse_req *); - -typedef void (*btf_trace_generic_add_lease)(void *, struct inode *, struct file_lease *); - -typedef void (*btf_trace_generic_delete_lease)(void *, struct inode *, struct file_lease *); - -typedef void (*btf_trace_get_mapping_status)(void *, struct mptcp_ext *); - -typedef void (*btf_trace_global_dirty_state)(void *, long unsigned int, long unsigned int); - -typedef void (*btf_trace_gpio_direction)(void *, unsigned int, int, int); - -typedef void (*btf_trace_gpio_value)(void *, unsigned int, int, int); - -typedef void (*btf_trace_guest_halt_poll_ns)(void *, bool, unsigned int, unsigned int); - -typedef void (*btf_trace_handshake_cancel)(void *, const struct net *, const struct handshake_req *, const struct sock *); - -typedef void (*btf_trace_handshake_cancel_busy)(void *, const struct net *, const struct handshake_req *, const struct sock *); - -typedef void (*btf_trace_handshake_cancel_none)(void *, const struct net *, const struct handshake_req *, const struct sock *); - -typedef void (*btf_trace_handshake_cmd_accept)(void *, const struct net *, const struct handshake_req *, const struct sock *, int); - -typedef void (*btf_trace_handshake_cmd_accept_err)(void *, const struct net *, const struct handshake_req *, const struct sock *, int); - -typedef void (*btf_trace_handshake_cmd_done)(void *, const struct net *, const struct handshake_req *, const struct sock *, int); - -typedef void (*btf_trace_handshake_cmd_done_err)(void *, const struct net *, const struct handshake_req *, const struct sock *, int); - -typedef void (*btf_trace_handshake_complete)(void *, const struct net *, const struct handshake_req *, const struct sock *, int); - -typedef void (*btf_trace_handshake_destruct)(void *, const struct net *, const struct handshake_req *, const struct sock *); - -typedef void (*btf_trace_handshake_notify_err)(void *, const struct net *, const struct handshake_req *, const struct sock *, int); - -typedef void (*btf_trace_handshake_submit)(void *, const struct net *, const struct handshake_req *, const struct sock *); - -typedef void (*btf_trace_handshake_submit_err)(void *, const struct net *, const struct handshake_req *, const struct sock *, int); - -typedef void (*btf_trace_hrtimer_cancel)(void *, struct hrtimer *); - -typedef void (*btf_trace_hrtimer_expire_entry)(void *, struct hrtimer *, ktime_t *); - -typedef void (*btf_trace_hrtimer_expire_exit)(void *, struct hrtimer *); - -typedef void (*btf_trace_hrtimer_setup)(void *, struct hrtimer *, clockid_t, enum hrtimer_mode); - -typedef void (*btf_trace_hrtimer_start)(void *, struct hrtimer *, enum hrtimer_mode); - -typedef void (*btf_trace_hugetlbfs_alloc_inode)(void *, struct inode *, struct inode *, int); - -typedef void (*btf_trace_hugetlbfs_evict_inode)(void *, struct inode *); - -typedef void (*btf_trace_hugetlbfs_fallocate)(void *, struct inode *, int, loff_t, loff_t, int); - -typedef void (*btf_trace_hugetlbfs_free_inode)(void *, struct inode *); - -typedef void (*btf_trace_hugetlbfs_setattr)(void *, struct inode *, struct dentry *, struct iattr *); - -typedef void (*btf_trace_hwmon_attr_show)(void *, int, const char *, long int); - -typedef void (*btf_trace_hwmon_attr_show_string)(void *, int, const char *, const char *); - -typedef void (*btf_trace_hwmon_attr_store)(void *, int, const char *, long int); - -typedef void (*btf_trace_hyperv_mmu_flush_tlb_multi)(void *, const struct cpumask *, const struct flush_tlb_info *); - -typedef void (*btf_trace_hyperv_nested_flush_guest_mapping)(void *, u64, int); - -typedef void (*btf_trace_hyperv_nested_flush_guest_mapping_range)(void *, u64, int); - -typedef void (*btf_trace_hyperv_send_ipi_mask)(void *, const struct cpumask *, int); - -typedef void (*btf_trace_hyperv_send_ipi_one)(void *, int, int); - -typedef void (*btf_trace_i2c_read)(void *, const struct i2c_adapter *, const struct i2c_msg *, int); - -typedef void (*btf_trace_i2c_reply)(void *, const struct i2c_adapter *, const struct i2c_msg *, int); - -typedef void (*btf_trace_i2c_result)(void *, const struct i2c_adapter *, int, int); - -typedef void (*btf_trace_i2c_slave)(void *, const struct i2c_client *, enum i2c_slave_event, __u8 *, int); - -typedef void (*btf_trace_i2c_write)(void *, const struct i2c_adapter *, const struct i2c_msg *, int); - -typedef void (*btf_trace_icc_set_bw)(void *, struct icc_path *, struct icc_node *, int, u32, u32); - -typedef void (*btf_trace_icc_set_bw_end)(void *, struct icc_path *, int); - -typedef void (*btf_trace_icmp_send)(void *, const struct sk_buff *, int, int); - -typedef void (*btf_trace_inet_sk_error_report)(void *, const struct sock *); - -typedef void (*btf_trace_inet_sock_set_state)(void *, const struct sock *, const int, const int); - -typedef void (*btf_trace_initcall_finish)(void *, initcall_t, int); - -typedef void (*btf_trace_initcall_level)(void *, const char *); - -typedef void (*btf_trace_initcall_start)(void *, initcall_t); - -typedef void (*btf_trace_inode_foreign_history)(void *, struct inode *, struct writeback_control *, unsigned int); - -typedef void (*btf_trace_inode_set_ctime_to_ts)(void *, struct inode *, struct timespec64 *); - -typedef void (*btf_trace_inode_switch_wbs)(void *, struct inode *, struct bdi_writeback *, struct bdi_writeback *); - -typedef void (*btf_trace_io_page_fault)(void *, struct device *, long unsigned int, int); - -typedef void (*btf_trace_io_uring_complete)(void *, struct io_ring_ctx *, void *, struct io_uring_cqe *); - -typedef void (*btf_trace_io_uring_cqe_overflow)(void *, void *, long long unsigned int, s32, u32, void *); - -typedef void (*btf_trace_io_uring_cqring_wait)(void *, void *, int); - -typedef void (*btf_trace_io_uring_create)(void *, int, void *, u32, u32, u32); - -typedef void (*btf_trace_io_uring_defer)(void *, struct io_kiocb *); - -typedef void (*btf_trace_io_uring_fail_link)(void *, struct io_kiocb *, struct io_kiocb *); - -typedef void (*btf_trace_io_uring_file_get)(void *, struct io_kiocb *, int); - -typedef void (*btf_trace_io_uring_link)(void *, struct io_kiocb *, struct io_kiocb *); - -typedef void (*btf_trace_io_uring_local_work_run)(void *, void *, int, unsigned int); - -typedef void (*btf_trace_io_uring_poll_arm)(void *, struct io_kiocb *, int, int); - -typedef void (*btf_trace_io_uring_queue_async_work)(void *, struct io_kiocb *, int); - -typedef void (*btf_trace_io_uring_register)(void *, void *, unsigned int, unsigned int, unsigned int, long int); - -typedef void (*btf_trace_io_uring_req_failed)(void *, const struct io_uring_sqe *, struct io_kiocb *, int); - -typedef void (*btf_trace_io_uring_short_write)(void *, void *, u64, u64, u64); - -typedef void (*btf_trace_io_uring_submit_req)(void *, struct io_kiocb *); - -typedef void (*btf_trace_io_uring_task_add)(void *, struct io_kiocb *, int); - -typedef void (*btf_trace_io_uring_task_work_run)(void *, void *, unsigned int); - -typedef void (*btf_trace_iocost_inuse_adjust)(void *, struct ioc_gq *, const char *, struct ioc_now *, u32, u32, u64, u64); - -typedef void (*btf_trace_iocost_inuse_shortage)(void *, struct ioc_gq *, const char *, struct ioc_now *, u32, u32, u64, u64); - -typedef void (*btf_trace_iocost_inuse_transfer)(void *, struct ioc_gq *, const char *, struct ioc_now *, u32, u32, u64, u64); - -typedef void (*btf_trace_iocost_ioc_vrate_adj)(void *, struct ioc *, u64, u32 *, u32, int, int); - -typedef void (*btf_trace_iocost_iocg_activate)(void *, struct ioc_gq *, const char *, struct ioc_now *, u64, u64, u64); - -typedef void (*btf_trace_iocost_iocg_forgive_debt)(void *, struct ioc_gq *, const char *, struct ioc_now *, u32, u64, u64, u64, u64); - -typedef void (*btf_trace_iocost_iocg_idle)(void *, struct ioc_gq *, const char *, struct ioc_now *, u64, u64, u64); - -typedef void (*btf_trace_iomap_add_to_ioend)(void *, struct inode *, u64, unsigned int, struct iomap *); - -typedef void (*btf_trace_iomap_dio_complete)(void *, struct kiocb *, int, ssize_t); - -typedef void (*btf_trace_iomap_dio_invalidate_fail)(void *, struct inode *, loff_t, u64); - -typedef void (*btf_trace_iomap_dio_rw_begin)(void *, struct kiocb *, struct iov_iter *, unsigned int, size_t); - -typedef void (*btf_trace_iomap_dio_rw_queued)(void *, struct inode *, loff_t, u64); - -typedef void (*btf_trace_iomap_invalidate_folio)(void *, struct inode *, loff_t, u64); - -typedef void (*btf_trace_iomap_iter)(void *, struct iomap_iter *, const void *, long unsigned int); - -typedef void (*btf_trace_iomap_iter_dstmap)(void *, struct inode *, struct iomap *); - -typedef void (*btf_trace_iomap_iter_srcmap)(void *, struct inode *, struct iomap *); - -typedef void (*btf_trace_iomap_readahead)(void *, struct inode *, int); - -typedef void (*btf_trace_iomap_readpage)(void *, struct inode *, int); - -typedef void (*btf_trace_iomap_release_folio)(void *, struct inode *, loff_t, u64); - -typedef void (*btf_trace_iomap_writeback_folio)(void *, struct inode *, loff_t, u64); - -typedef void (*btf_trace_ipi_send_cpu)(void *, const unsigned int, long unsigned int, void *); - -typedef void (*btf_trace_ipi_send_cpumask)(void *, const struct cpumask *, long unsigned int, void *); - -typedef void (*btf_trace_irq_handler_entry)(void *, int, struct irqaction *); - -typedef void (*btf_trace_irq_handler_exit)(void *, int, struct irqaction *, int); - -typedef void (*btf_trace_irq_matrix_alloc)(void *, int, unsigned int, struct irq_matrix *, struct cpumap *); - -typedef void (*btf_trace_irq_matrix_alloc_managed)(void *, int, unsigned int, struct irq_matrix *, struct cpumap *); - -typedef void (*btf_trace_irq_matrix_assign)(void *, int, unsigned int, struct irq_matrix *, struct cpumap *); - -typedef void (*btf_trace_irq_matrix_assign_system)(void *, int, struct irq_matrix *); - -typedef void (*btf_trace_irq_matrix_free)(void *, int, unsigned int, struct irq_matrix *, struct cpumap *); - -typedef void (*btf_trace_irq_matrix_offline)(void *, struct irq_matrix *); - -typedef void (*btf_trace_irq_matrix_online)(void *, struct irq_matrix *); - -typedef void (*btf_trace_irq_matrix_remove_managed)(void *, int, unsigned int, struct irq_matrix *, struct cpumap *); - -typedef void (*btf_trace_irq_matrix_remove_reserved)(void *, struct irq_matrix *); - -typedef void (*btf_trace_irq_matrix_reserve)(void *, struct irq_matrix *); - -typedef void (*btf_trace_irq_matrix_reserve_managed)(void *, int, unsigned int, struct irq_matrix *, struct cpumap *); - -typedef void (*btf_trace_irq_noise)(void *, int, const char *, u64, u64); - -typedef void (*btf_trace_irq_work_entry)(void *, int); - -typedef void (*btf_trace_irq_work_exit)(void *, int); - -typedef void (*btf_trace_itimer_expire)(void *, int, struct pid *, long long unsigned int); - -typedef void (*btf_trace_itimer_state)(void *, int, const struct itimerspec64 * const, long long unsigned int); - -typedef void (*btf_trace_jbd2_checkpoint)(void *, journal_t *, int); - -typedef void (*btf_trace_jbd2_checkpoint_stats)(void *, dev_t, tid_t, struct transaction_chp_stats_s *); - -typedef void (*btf_trace_jbd2_commit_flushing)(void *, journal_t *, transaction_t *); - -typedef void (*btf_trace_jbd2_commit_locking)(void *, journal_t *, transaction_t *); - -typedef void (*btf_trace_jbd2_commit_logging)(void *, journal_t *, transaction_t *); - -typedef void (*btf_trace_jbd2_drop_transaction)(void *, journal_t *, transaction_t *); - -typedef void (*btf_trace_jbd2_end_commit)(void *, journal_t *, transaction_t *); - -typedef void (*btf_trace_jbd2_handle_extend)(void *, dev_t, tid_t, unsigned int, unsigned int, int, int); - -typedef void (*btf_trace_jbd2_handle_restart)(void *, dev_t, tid_t, unsigned int, unsigned int, int); - -typedef void (*btf_trace_jbd2_handle_start)(void *, dev_t, tid_t, unsigned int, unsigned int, int); - -typedef void (*btf_trace_jbd2_handle_stats)(void *, dev_t, tid_t, unsigned int, unsigned int, int, int, int, int); - -typedef void (*btf_trace_jbd2_lock_buffer_stall)(void *, dev_t, long unsigned int); - -typedef void (*btf_trace_jbd2_run_stats)(void *, dev_t, tid_t, struct transaction_run_stats_s *); - -typedef void (*btf_trace_jbd2_shrink_checkpoint_list)(void *, journal_t *, tid_t, tid_t, tid_t, long unsigned int, tid_t); - -typedef void (*btf_trace_jbd2_shrink_count)(void *, journal_t *, long unsigned int, long unsigned int); - -typedef void (*btf_trace_jbd2_shrink_scan_enter)(void *, journal_t *, long unsigned int, long unsigned int); - -typedef void (*btf_trace_jbd2_shrink_scan_exit)(void *, journal_t *, long unsigned int, long unsigned int, long unsigned int); - -typedef void (*btf_trace_jbd2_start_commit)(void *, journal_t *, transaction_t *); - -typedef void (*btf_trace_jbd2_submit_inode_data)(void *, struct inode *); - -typedef void (*btf_trace_jbd2_update_log_tail)(void *, journal_t *, tid_t, long unsigned int, long unsigned int); - -typedef void (*btf_trace_jbd2_write_superblock)(void *, journal_t *, blk_opf_t); - -typedef void (*btf_trace_kfree)(void *, long unsigned int, const void *); - -typedef void (*btf_trace_kfree_skb)(void *, struct sk_buff *, void *, enum skb_drop_reason, struct sock *); - -typedef void (*btf_trace_kmalloc)(void *, long unsigned int, const void *, size_t, size_t, gfp_t, int); - -typedef void (*btf_trace_kmem_cache_alloc)(void *, long unsigned int, const void *, struct kmem_cache *, gfp_t, int); - -typedef void (*btf_trace_kmem_cache_free)(void *, long unsigned int, const void *, const struct kmem_cache *); - -typedef void (*btf_trace_ksm_advisor)(void *, s64, long unsigned int, unsigned int); - -typedef void (*btf_trace_ksm_enter)(void *, void *); - -typedef void (*btf_trace_ksm_exit)(void *, void *); - -typedef void (*btf_trace_ksm_merge_one_page)(void *, long unsigned int, void *, void *, int); - -typedef void (*btf_trace_ksm_merge_with_ksm_page)(void *, void *, long unsigned int, void *, void *, int); - -typedef void (*btf_trace_ksm_remove_ksm_page)(void *, long unsigned int); - -typedef void (*btf_trace_ksm_remove_rmap_item)(void *, long unsigned int, void *, void *); - -typedef void (*btf_trace_ksm_start_scan)(void *, int, u32); - -typedef void (*btf_trace_ksm_stop_scan)(void *, int, u32); - -typedef void (*btf_trace_leases_conflict)(void *, bool, struct file_lease *, struct file_lease *); - -typedef void (*btf_trace_local_timer_entry)(void *, int); - -typedef void (*btf_trace_local_timer_exit)(void *, int); - -typedef void (*btf_trace_locks_get_lock_context)(void *, struct inode *, int, struct file_lock_context *); - -typedef void (*btf_trace_locks_remove_posix)(void *, struct inode *, struct file_lock *, int); - -typedef void (*btf_trace_ma_op)(void *, const char *, struct ma_state *); - -typedef void (*btf_trace_ma_read)(void *, const char *, struct ma_state *); - -typedef void (*btf_trace_ma_write)(void *, const char *, struct ma_state *, long unsigned int, void *); - -typedef void (*btf_trace_map)(void *, long unsigned int, phys_addr_t, size_t); - -typedef void (*btf_trace_mark_victim)(void *, struct task_struct *, uid_t); - -typedef void (*btf_trace_mc_event)(void *, const unsigned int, const char *, const char *, const int, const u8, const s8, const s8, const s8, long unsigned int, const u8, long unsigned int, const char *); - -typedef void (*btf_trace_mce_record)(void *, struct mce_hw_err *); - -typedef void (*btf_trace_mctp_key_acquire)(void *, const struct mctp_sk_key *); - -typedef void (*btf_trace_mctp_key_release)(void *, const struct mctp_sk_key *, int); - -typedef void (*btf_trace_mdio_access)(void *, struct mii_bus *, char, u8, unsigned int, u16, int); - -typedef void (*btf_trace_mem_connect)(void *, const struct xdp_mem_allocator *, const struct xdp_rxq_info *); - -typedef void (*btf_trace_mem_disconnect)(void *, const struct xdp_mem_allocator *); - -typedef void (*btf_trace_memcg_flush_stats)(void *, struct mem_cgroup *, s64, bool, bool); - -typedef void (*btf_trace_memory_failure_event)(void *, long unsigned int, int, int); - -typedef void (*btf_trace_mm_calculate_totalreserve_pages)(void *, long unsigned int); - -typedef void (*btf_trace_mm_collapse_huge_page)(void *, struct mm_struct *, int, int); - -typedef void (*btf_trace_mm_collapse_huge_page_isolate)(void *, struct folio *, int, int, bool, int); - -typedef void (*btf_trace_mm_collapse_huge_page_swapin)(void *, struct mm_struct *, int, int, int); - -typedef void (*btf_trace_mm_compaction_begin)(void *, struct compact_control *, long unsigned int, long unsigned int, bool); - -typedef void (*btf_trace_mm_compaction_defer_compaction)(void *, struct zone *, int); - -typedef void (*btf_trace_mm_compaction_defer_reset)(void *, struct zone *, int); - -typedef void (*btf_trace_mm_compaction_deferred)(void *, struct zone *, int); - -typedef void (*btf_trace_mm_compaction_end)(void *, struct compact_control *, long unsigned int, long unsigned int, bool, int); - -typedef void (*btf_trace_mm_compaction_fast_isolate_freepages)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int); - -typedef void (*btf_trace_mm_compaction_finished)(void *, struct zone *, int, int); - -typedef void (*btf_trace_mm_compaction_isolate_freepages)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int); - -typedef void (*btf_trace_mm_compaction_isolate_migratepages)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int); - -typedef void (*btf_trace_mm_compaction_kcompactd_sleep)(void *, int); - -typedef void (*btf_trace_mm_compaction_kcompactd_wake)(void *, int, int, enum zone_type); - -typedef void (*btf_trace_mm_compaction_migratepages)(void *, unsigned int, unsigned int); - -typedef void (*btf_trace_mm_compaction_suitable)(void *, struct zone *, int, int); - -typedef void (*btf_trace_mm_compaction_try_to_compact_pages)(void *, int, gfp_t, int); - -typedef void (*btf_trace_mm_compaction_wakeup_kcompactd)(void *, int, int, enum zone_type); - -typedef void (*btf_trace_mm_filemap_add_to_page_cache)(void *, struct folio *); - -typedef void (*btf_trace_mm_filemap_delete_from_page_cache)(void *, struct folio *); - -typedef void (*btf_trace_mm_filemap_fault)(void *, struct address_space *, long unsigned int); - -typedef void (*btf_trace_mm_filemap_get_pages)(void *, struct address_space *, long unsigned int, long unsigned int); - -typedef void (*btf_trace_mm_filemap_map_pages)(void *, struct address_space *, long unsigned int, long unsigned int); - -typedef void (*btf_trace_mm_khugepaged_collapse_file)(void *, struct mm_struct *, struct folio *, long unsigned int, long unsigned int, bool, struct file *, int, int); - -typedef void (*btf_trace_mm_khugepaged_scan_file)(void *, struct mm_struct *, struct folio *, struct file *, int, int, int); - -typedef void (*btf_trace_mm_khugepaged_scan_pmd)(void *, struct mm_struct *, struct folio *, bool, int, int, int, int); - -typedef void (*btf_trace_mm_lru_activate)(void *, struct folio *); - -typedef void (*btf_trace_mm_lru_insertion)(void *, struct folio *); - -typedef void (*btf_trace_mm_migrate_pages)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, enum migrate_mode, int); - -typedef void (*btf_trace_mm_migrate_pages_start)(void *, enum migrate_mode, int); - -typedef void (*btf_trace_mm_page_alloc)(void *, struct page *, unsigned int, gfp_t, int); - -typedef void (*btf_trace_mm_page_alloc_extfrag)(void *, struct page *, int, int, int, int); - -typedef void (*btf_trace_mm_page_alloc_zone_locked)(void *, struct page *, unsigned int, int, int); - -typedef void (*btf_trace_mm_page_free)(void *, struct page *, unsigned int); - -typedef void (*btf_trace_mm_page_free_batched)(void *, struct page *); - -typedef void (*btf_trace_mm_page_pcpu_drain)(void *, struct page *, unsigned int, int); - -typedef void (*btf_trace_mm_setup_per_zone_lowmem_reserve)(void *, struct zone *, struct zone *, long int); - -typedef void (*btf_trace_mm_setup_per_zone_wmarks)(void *, struct zone *); - -typedef void (*btf_trace_mm_shrink_slab_end)(void *, struct shrinker *, int, int, long int, long int, long int); - -typedef void (*btf_trace_mm_shrink_slab_start)(void *, struct shrinker *, struct shrink_control *, long int, long unsigned int, long long unsigned int, long unsigned int, int); - -typedef void (*btf_trace_mm_vmscan_direct_reclaim_begin)(void *, int, gfp_t); - -typedef void (*btf_trace_mm_vmscan_direct_reclaim_end)(void *, long unsigned int); - -typedef void (*btf_trace_mm_vmscan_kswapd_sleep)(void *, int); - -typedef void (*btf_trace_mm_vmscan_kswapd_wake)(void *, int, int, int); - -typedef void (*btf_trace_mm_vmscan_lru_isolate)(void *, int, int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, int); - -typedef void (*btf_trace_mm_vmscan_lru_shrink_active)(void *, int, long unsigned int, long unsigned int, long unsigned int, long unsigned int, int, int); - -typedef void (*btf_trace_mm_vmscan_lru_shrink_inactive)(void *, int, long unsigned int, long unsigned int, struct reclaim_stat *, int, int); - -typedef void (*btf_trace_mm_vmscan_memcg_reclaim_begin)(void *, int, gfp_t); - -typedef void (*btf_trace_mm_vmscan_memcg_reclaim_end)(void *, long unsigned int); - -typedef void (*btf_trace_mm_vmscan_memcg_softlimit_reclaim_begin)(void *, int, gfp_t); - -typedef void (*btf_trace_mm_vmscan_memcg_softlimit_reclaim_end)(void *, long unsigned int); - -typedef void (*btf_trace_mm_vmscan_node_reclaim_begin)(void *, int, int, gfp_t); - -typedef void (*btf_trace_mm_vmscan_node_reclaim_end)(void *, long unsigned int); - -typedef void (*btf_trace_mm_vmscan_reclaim_pages)(void *, int, long unsigned int, long unsigned int, struct reclaim_stat *); - -typedef void (*btf_trace_mm_vmscan_throttled)(void *, int, int, int, int); - -typedef void (*btf_trace_mm_vmscan_wakeup_kswapd)(void *, int, int, int, gfp_t); - -typedef void (*btf_trace_mm_vmscan_write_folio)(void *, struct folio *); - -typedef void (*btf_trace_mmap_lock_acquire_returned)(void *, struct mm_struct *, bool, bool); - -typedef void (*btf_trace_mmap_lock_released)(void *, struct mm_struct *, bool); - -typedef void (*btf_trace_mmap_lock_start_locking)(void *, struct mm_struct *, bool); - -typedef void (*btf_trace_mmc_request_done)(void *, struct mmc_host *, struct mmc_request *); - -typedef void (*btf_trace_mmc_request_start)(void *, struct mmc_host *, struct mmc_request *); - -typedef void (*btf_trace_mod_memcg_lruvec_state)(void *, struct mem_cgroup *, int, int); - -typedef void (*btf_trace_mod_memcg_state)(void *, struct mem_cgroup *, int, int); - -typedef void (*btf_trace_module_free)(void *, struct module *); - -typedef void (*btf_trace_module_get)(void *, struct module *, long unsigned int); - -typedef void (*btf_trace_module_load)(void *, struct module *); - -typedef void (*btf_trace_module_put)(void *, struct module *, long unsigned int); - -typedef void (*btf_trace_module_request)(void *, char *, bool, long unsigned int); - -typedef void (*btf_trace_mon_llc_occupancy_limbo)(void *, u32, u32, int, u64); - -typedef void (*btf_trace_mptcp_sendmsg_frag)(void *, struct mptcp_ext *); - -typedef void (*btf_trace_mptcp_subflow_get_send)(void *, struct mptcp_subflow_context *); - -typedef void (*btf_trace_napi_gro_frags_entry)(void *, const struct sk_buff *); - -typedef void (*btf_trace_napi_gro_frags_exit)(void *, int); - -typedef void (*btf_trace_napi_gro_receive_entry)(void *, const struct sk_buff *); - -typedef void (*btf_trace_napi_gro_receive_exit)(void *, int); - -typedef void (*btf_trace_napi_poll)(void *, struct napi_struct *, int, int); - -typedef void (*btf_trace_neigh_cleanup_and_release)(void *, struct neighbour *, int); - -typedef void (*btf_trace_neigh_create)(void *, struct neigh_table *, struct net_device *, const void *, const struct neighbour *, bool); - -typedef void (*btf_trace_neigh_event_send_dead)(void *, struct neighbour *, int); - -typedef void (*btf_trace_neigh_event_send_done)(void *, struct neighbour *, int); - -typedef void (*btf_trace_neigh_timer_handler)(void *, struct neighbour *, int); - -typedef void (*btf_trace_neigh_update)(void *, struct neighbour *, const u8 *, u8, u32, u32); - -typedef void (*btf_trace_neigh_update_done)(void *, struct neighbour *, int); - -typedef void (*btf_trace_net_dev_queue)(void *, struct sk_buff *); - -typedef void (*btf_trace_net_dev_start_xmit)(void *, const struct sk_buff *, const struct net_device *); - -typedef void (*btf_trace_net_dev_xmit)(void *, struct sk_buff *, int, struct net_device *, unsigned int); - -typedef void (*btf_trace_net_dev_xmit_timeout)(void *, struct net_device *, int); - -typedef void (*btf_trace_netif_receive_skb)(void *, struct sk_buff *); - -typedef void (*btf_trace_netif_receive_skb_entry)(void *, const struct sk_buff *); - -typedef void (*btf_trace_netif_receive_skb_exit)(void *, int); - -typedef void (*btf_trace_netif_receive_skb_list_entry)(void *, const struct sk_buff *); - -typedef void (*btf_trace_netif_receive_skb_list_exit)(void *, int); - -typedef void (*btf_trace_netif_rx)(void *, struct sk_buff *); - -typedef void (*btf_trace_netif_rx_entry)(void *, const struct sk_buff *); - -typedef void (*btf_trace_netif_rx_exit)(void *, int); - -typedef void (*btf_trace_netlink_extack)(void *, const char *); - -typedef void (*btf_trace_nmi_handler)(void *, void *, s64, int); - -typedef void (*btf_trace_nmi_noise)(void *, u64, u64); - -typedef void (*btf_trace_non_standard_event)(void *, const guid_t *, const guid_t *, const char *, const u8, const u8 *, const u32); - -typedef void (*btf_trace_notifier_register)(void *, void *); - -typedef void (*btf_trace_notifier_run)(void *, void *); - -typedef void (*btf_trace_notifier_unregister)(void *, void *); - -typedef void (*btf_trace_oom_score_adj_update)(void *, struct task_struct *); - -typedef void (*btf_trace_osnoise_sample)(void *, struct osnoise_sample *); - -typedef void (*btf_trace_page_fault_kernel)(void *, long unsigned int, struct pt_regs *, long unsigned int); - -typedef void (*btf_trace_page_fault_user)(void *, long unsigned int, struct pt_regs *, long unsigned int); - -typedef void (*btf_trace_page_pool_release)(void *, const struct page_pool *, s32, u32, u32); - -typedef void (*btf_trace_page_pool_state_hold)(void *, const struct page_pool *, netmem_ref, u32); - -typedef void (*btf_trace_page_pool_state_release)(void *, const struct page_pool *, netmem_ref, u32); - -typedef void (*btf_trace_page_pool_update_nid)(void *, const struct page_pool *, int); - -typedef void (*btf_trace_pelt_cfs_tp)(void *, struct cfs_rq *); - -typedef void (*btf_trace_pelt_dl_tp)(void *, struct rq *); - -typedef void (*btf_trace_pelt_hw_tp)(void *, struct rq *); - -typedef void (*btf_trace_pelt_irq_tp)(void *, struct rq *); - -typedef void (*btf_trace_pelt_rt_tp)(void *, struct rq *); - -typedef void (*btf_trace_pelt_se_tp)(void *, struct sched_entity *); - -typedef void (*btf_trace_percpu_alloc_percpu)(void *, long unsigned int, bool, bool, size_t, size_t, void *, int, void *, size_t, gfp_t); - -typedef void (*btf_trace_percpu_alloc_percpu_fail)(void *, bool, bool, size_t, size_t); - -typedef void (*btf_trace_percpu_create_chunk)(void *, void *); - -typedef void (*btf_trace_percpu_destroy_chunk)(void *, void *); - -typedef void (*btf_trace_percpu_free_percpu)(void *, void *, int, void *); - -typedef void (*btf_trace_pm_qos_add_request)(void *, s32); - -typedef void (*btf_trace_pm_qos_remove_request)(void *, s32); - -typedef void (*btf_trace_pm_qos_update_flags)(void *, enum pm_qos_req_action, int, int); - -typedef void (*btf_trace_pm_qos_update_request)(void *, s32); - -typedef void (*btf_trace_pm_qos_update_target)(void *, enum pm_qos_req_action, int, int); - -typedef void (*btf_trace_posix_lock_inode)(void *, struct inode *, struct file_lock *, int); - -typedef void (*btf_trace_prq_report)(void *, struct intel_iommu *, struct device *, u64, u64, u64, u64, long unsigned int); - -typedef void (*btf_trace_pseudo_lock_l2)(void *, u64, u64); - -typedef void (*btf_trace_pseudo_lock_l3)(void *, u64, u64); - -typedef void (*btf_trace_pseudo_lock_mem_latency)(void *, u32); - -typedef void (*btf_trace_pstate_sample)(void *, u32, u32, u32, u32, u64, u64, u64, u32, u32); - -typedef void (*btf_trace_purge_vmap_area_lazy)(void *, long unsigned int, long unsigned int, unsigned int); - -typedef void (*btf_trace_pwm_apply)(void *, struct pwm_device *, const struct pwm_state *, int); - -typedef void (*btf_trace_pwm_get)(void *, struct pwm_device *, const struct pwm_state *, int); - -typedef void (*btf_trace_pwm_read_waveform)(void *, struct pwm_device *, void *, int); - -typedef void (*btf_trace_pwm_round_waveform_fromhw)(void *, struct pwm_device *, const void *, struct pwm_waveform *, int); - -typedef void (*btf_trace_pwm_round_waveform_tohw)(void *, struct pwm_device *, const struct pwm_waveform *, void *, int); - -typedef void (*btf_trace_pwm_write_waveform)(void *, struct pwm_device *, const void *, int); - -typedef void (*btf_trace_qdisc_create)(void *, const struct Qdisc_ops *, struct net_device *, u32); - -typedef void (*btf_trace_qdisc_dequeue)(void *, struct Qdisc *, const struct netdev_queue *, int, struct sk_buff *); - -typedef void (*btf_trace_qdisc_destroy)(void *, struct Qdisc *); - -typedef void (*btf_trace_qdisc_enqueue)(void *, struct Qdisc *, const struct netdev_queue *, struct sk_buff *); - -typedef void (*btf_trace_qdisc_reset)(void *, struct Qdisc *); - -typedef void (*btf_trace_qi_submit)(void *, struct intel_iommu *, u64, u64, u64, u64); - -typedef void (*btf_trace_rcu_stall_warning)(void *, const char *, const char *); - -typedef void (*btf_trace_rcu_utilization)(void *, const char *); - -typedef void (*btf_trace_rdpmc)(void *, unsigned int, u64, int); - -typedef void (*btf_trace_read_msr)(void *, unsigned int, u64, int); - -typedef void (*btf_trace_reclaim_retry_zone)(void *, struct zoneref *, int, long unsigned int, long unsigned int, long unsigned int, int, bool); - -typedef void (*btf_trace_regcache_drop_region)(void *, struct regmap *, unsigned int, unsigned int); - -typedef void (*btf_trace_regcache_sync)(void *, struct regmap *, const char *, const char *); - -typedef void (*btf_trace_regmap_async_complete_done)(void *, struct regmap *); - -typedef void (*btf_trace_regmap_async_complete_start)(void *, struct regmap *); - -typedef void (*btf_trace_regmap_async_io_complete)(void *, struct regmap *); - -typedef void (*btf_trace_regmap_async_write_start)(void *, struct regmap *, unsigned int, int); - -typedef void (*btf_trace_regmap_bulk_read)(void *, struct regmap *, unsigned int, const void *, int); - -typedef void (*btf_trace_regmap_bulk_write)(void *, struct regmap *, unsigned int, const void *, int); - -typedef void (*btf_trace_regmap_cache_bypass)(void *, struct regmap *, bool); - -typedef void (*btf_trace_regmap_cache_only)(void *, struct regmap *, bool); - -typedef void (*btf_trace_regmap_hw_read_done)(void *, struct regmap *, unsigned int, int); - -typedef void (*btf_trace_regmap_hw_read_start)(void *, struct regmap *, unsigned int, int); - -typedef void (*btf_trace_regmap_hw_write_done)(void *, struct regmap *, unsigned int, int); - -typedef void (*btf_trace_regmap_hw_write_start)(void *, struct regmap *, unsigned int, int); - -typedef void (*btf_trace_regmap_reg_read)(void *, struct regmap *, unsigned int, unsigned int); - -typedef void (*btf_trace_regmap_reg_read_cache)(void *, struct regmap *, unsigned int, unsigned int); - -typedef void (*btf_trace_regmap_reg_write)(void *, struct regmap *, unsigned int, unsigned int); - -typedef void (*btf_trace_regulator_bypass_disable)(void *, const char *); - -typedef void (*btf_trace_regulator_bypass_disable_complete)(void *, const char *); - -typedef void (*btf_trace_regulator_bypass_enable)(void *, const char *); - -typedef void (*btf_trace_regulator_bypass_enable_complete)(void *, const char *); - -typedef void (*btf_trace_regulator_disable)(void *, const char *); - -typedef void (*btf_trace_regulator_disable_complete)(void *, const char *); - -typedef void (*btf_trace_regulator_enable)(void *, const char *); - -typedef void (*btf_trace_regulator_enable_complete)(void *, const char *); - -typedef void (*btf_trace_regulator_enable_delay)(void *, const char *); - -typedef void (*btf_trace_regulator_set_voltage)(void *, const char *, int, int); - -typedef void (*btf_trace_regulator_set_voltage_complete)(void *, const char *, unsigned int); - -typedef void (*btf_trace_remove_device_from_group)(void *, int, struct device *); - -typedef void (*btf_trace_remove_migration_pmd)(void *, long unsigned int, long unsigned int); - -typedef void (*btf_trace_remove_migration_pte)(void *, long unsigned int, long unsigned int, int); - -typedef void (*btf_trace_reschedule_entry)(void *, int); - -typedef void (*btf_trace_reschedule_exit)(void *, int); - -typedef void (*btf_trace_rpm_idle)(void *, struct device *, int); - -typedef void (*btf_trace_rpm_resume)(void *, struct device *, int); - -typedef void (*btf_trace_rpm_return_int)(void *, struct device *, long unsigned int, int); - -typedef void (*btf_trace_rpm_status)(void *, struct device *, enum rpm_status); - -typedef void (*btf_trace_rpm_suspend)(void *, struct device *, int); - -typedef void (*btf_trace_rpm_usage)(void *, struct device *, int); - -typedef void (*btf_trace_rseq_ip_fixup)(void *, long unsigned int, long unsigned int, long unsigned int, long unsigned int); - -typedef void (*btf_trace_rseq_update)(void *, struct task_struct *); - -typedef void (*btf_trace_rss_stat)(void *, struct mm_struct *, int); - -typedef void (*btf_trace_rtc_alarm_irq_enable)(void *, unsigned int, int); - -typedef void (*btf_trace_rtc_irq_set_freq)(void *, int, int); - -typedef void (*btf_trace_rtc_irq_set_state)(void *, int, int); - -typedef void (*btf_trace_rtc_read_alarm)(void *, time64_t, int); - -typedef void (*btf_trace_rtc_read_offset)(void *, long int, int); - -typedef void (*btf_trace_rtc_read_time)(void *, time64_t, int); - -typedef void (*btf_trace_rtc_set_alarm)(void *, time64_t, int); - -typedef void (*btf_trace_rtc_set_offset)(void *, long int, int); - -typedef void (*btf_trace_rtc_set_time)(void *, time64_t, int); - -typedef void (*btf_trace_rtc_timer_dequeue)(void *, struct rtc_timer *); - -typedef void (*btf_trace_rtc_timer_enqueue)(void *, struct rtc_timer *); - -typedef void (*btf_trace_rtc_timer_fired)(void *, struct rtc_timer *); - -typedef void (*btf_trace_rv_retries_error)(void *, char *, char *); - -typedef void (*btf_trace_sample_threshold)(void *, u64, u64, u64); - -typedef void (*btf_trace_sb_clear_inode_writeback)(void *, struct inode *); - -typedef void (*btf_trace_sb_mark_inode_writeback)(void *, struct inode *); - -typedef void (*btf_trace_sched_compute_energy_tp)(void *, struct task_struct *, int, long unsigned int, long unsigned int, long unsigned int); - -typedef void (*btf_trace_sched_cpu_capacity_tp)(void *, struct rq *); - -typedef void (*btf_trace_sched_entry_tp)(void *, bool); - -typedef void (*btf_trace_sched_exit_tp)(void *, bool); - -typedef void (*btf_trace_sched_ext_dump)(void *, const char *); - -typedef void (*btf_trace_sched_ext_event)(void *, const char *, __s64); - -typedef void (*btf_trace_sched_kthread_stop)(void *, struct task_struct *); - -typedef void (*btf_trace_sched_kthread_stop_ret)(void *, int); - -typedef void (*btf_trace_sched_kthread_work_execute_end)(void *, struct kthread_work *, kthread_work_func_t); - -typedef void (*btf_trace_sched_kthread_work_execute_start)(void *, struct kthread_work *); - -typedef void (*btf_trace_sched_kthread_work_queue_work)(void *, struct kthread_worker *, struct kthread_work *); - -typedef void (*btf_trace_sched_migrate_task)(void *, struct task_struct *, int); - -typedef void (*btf_trace_sched_move_numa)(void *, struct task_struct *, int, int); - -typedef void (*btf_trace_sched_overutilized_tp)(void *, struct root_domain *, bool); - -typedef void (*btf_trace_sched_pi_setprio)(void *, struct task_struct *, struct task_struct *); - -typedef void (*btf_trace_sched_prepare_exec)(void *, struct task_struct *, struct linux_binprm *); - -typedef void (*btf_trace_sched_process_exec)(void *, struct task_struct *, pid_t, struct linux_binprm *); - -typedef void (*btf_trace_sched_process_exit)(void *, struct task_struct *, bool); - -typedef void (*btf_trace_sched_process_fork)(void *, struct task_struct *, struct task_struct *); - -typedef void (*btf_trace_sched_process_free)(void *, struct task_struct *); - -typedef void (*btf_trace_sched_process_hang)(void *, struct task_struct *); - -typedef void (*btf_trace_sched_process_wait)(void *, struct pid *); - -typedef void (*btf_trace_sched_set_need_resched_tp)(void *, struct task_struct *, int, int); - -typedef void (*btf_trace_sched_skip_cpuset_numa)(void *, struct task_struct *, nodemask_t *); - -typedef void (*btf_trace_sched_skip_vma_numa)(void *, struct mm_struct *, struct vm_area_struct *, enum numa_vmaskip_reason); - -typedef void (*btf_trace_sched_stat_blocked)(void *, struct task_struct *, u64); - -typedef void (*btf_trace_sched_stat_iowait)(void *, struct task_struct *, u64); - -typedef void (*btf_trace_sched_stat_runtime)(void *, struct task_struct *, u64); - -typedef void (*btf_trace_sched_stat_sleep)(void *, struct task_struct *, u64); - -typedef void (*btf_trace_sched_stat_wait)(void *, struct task_struct *, u64); - -typedef void (*btf_trace_sched_stick_numa)(void *, struct task_struct *, int, struct task_struct *, int); - -typedef void (*btf_trace_sched_swap_numa)(void *, struct task_struct *, int, struct task_struct *, int); - -typedef void (*btf_trace_sched_switch)(void *, bool, struct task_struct *, struct task_struct *, unsigned int); - -typedef void (*btf_trace_sched_update_nr_running_tp)(void *, struct rq *, int); - -typedef void (*btf_trace_sched_util_est_cfs_tp)(void *, struct cfs_rq *); - -typedef void (*btf_trace_sched_util_est_se_tp)(void *, struct sched_entity *); - -typedef void (*btf_trace_sched_wait_task)(void *, struct task_struct *); - -typedef void (*btf_trace_sched_wake_idle_without_ipi)(void *, int); - -typedef void (*btf_trace_sched_wakeup)(void *, struct task_struct *); - -typedef void (*btf_trace_sched_wakeup_new)(void *, struct task_struct *); - -typedef void (*btf_trace_sched_waking)(void *, struct task_struct *); - -typedef void (*btf_trace_scsi_dispatch_cmd_done)(void *, struct scsi_cmnd *); - -typedef void (*btf_trace_scsi_dispatch_cmd_error)(void *, struct scsi_cmnd *, int); - -typedef void (*btf_trace_scsi_dispatch_cmd_start)(void *, struct scsi_cmnd *); - -typedef void (*btf_trace_scsi_dispatch_cmd_timeout)(void *, struct scsi_cmnd *); - -typedef void (*btf_trace_scsi_eh_wakeup)(void *, struct Scsi_Host *); - -typedef void (*btf_trace_scsi_prepare_zone_append)(void *, struct scsi_cmnd *, sector_t, unsigned int); - -typedef void (*btf_trace_scsi_zone_wp_update)(void *, struct scsi_cmnd *, sector_t, unsigned int, unsigned int); - -typedef void (*btf_trace_selinux_audited)(void *, struct selinux_audit_data *, char *, char *, const char *); - -typedef void (*btf_trace_set_migration_pmd)(void *, long unsigned int, long unsigned int); - -typedef void (*btf_trace_set_migration_pte)(void *, long unsigned int, long unsigned int, int); - -typedef void (*btf_trace_signal_deliver)(void *, int, struct kernel_siginfo *, struct k_sigaction *); - -typedef void (*btf_trace_signal_generate)(void *, int, struct kernel_siginfo *, struct task_struct *, int, int); - -typedef void (*btf_trace_sk_data_ready)(void *, const struct sock *); - -typedef void (*btf_trace_skb_copy_datagram_iovec)(void *, const struct sk_buff *, int); - -typedef void (*btf_trace_skip_task_reaping)(void *, int); - -typedef void (*btf_trace_smbus_read)(void *, const struct i2c_adapter *, u16, short unsigned int, char, u8, int); - -typedef void (*btf_trace_smbus_reply)(void *, const struct i2c_adapter *, u16, short unsigned int, char, u8, int, const union i2c_smbus_data *, int); - -typedef void (*btf_trace_smbus_result)(void *, const struct i2c_adapter *, u16, short unsigned int, char, u8, int, int); - -typedef void (*btf_trace_smbus_write)(void *, const struct i2c_adapter *, u16, short unsigned int, char, u8, int, const union i2c_smbus_data *); - -typedef void (*btf_trace_sock_exceed_buf_limit)(void *, struct sock *, struct proto *, long int, int); - -typedef void (*btf_trace_sock_rcvqueue_full)(void *, struct sock *, struct sk_buff *); - -typedef void (*btf_trace_sock_recv_length)(void *, struct sock *, int, int); - -typedef void (*btf_trace_sock_send_length)(void *, struct sock *, int, int); - -typedef void (*btf_trace_softirq_entry)(void *, unsigned int); - -typedef void (*btf_trace_softirq_exit)(void *, unsigned int); - -typedef void (*btf_trace_softirq_noise)(void *, int, u64, u64); - -typedef void (*btf_trace_softirq_raise)(void *, unsigned int); - -typedef void (*btf_trace_spi_controller_busy)(void *, struct spi_controller *); - -typedef void (*btf_trace_spi_controller_idle)(void *, struct spi_controller *); - -typedef void (*btf_trace_spi_message_done)(void *, struct spi_message *); - -typedef void (*btf_trace_spi_message_start)(void *, struct spi_message *); - -typedef void (*btf_trace_spi_message_submit)(void *, struct spi_message *); - -typedef void (*btf_trace_spi_set_cs)(void *, struct spi_device *, bool); - -typedef void (*btf_trace_spi_setup)(void *, struct spi_device *, int); - -typedef void (*btf_trace_spi_transfer_start)(void *, struct spi_message *, struct spi_transfer *); - -typedef void (*btf_trace_spi_transfer_stop)(void *, struct spi_message *, struct spi_transfer *); - -typedef void (*btf_trace_spurious_apic_entry)(void *, int); - -typedef void (*btf_trace_spurious_apic_exit)(void *, int); - -typedef void (*btf_trace_start_task_reaping)(void *, int); - -typedef void (*btf_trace_subflow_check_data_avail)(void *, __u8, struct sk_buff *); - -typedef void (*btf_trace_suspend_resume)(void *, const char *, int, bool); - -typedef void (*btf_trace_swiotlb_bounced)(void *, struct device *, dma_addr_t, size_t); - -typedef void (*btf_trace_sync_timeline)(void *, struct sync_timeline *); - -typedef void (*btf_trace_sys_enter)(void *, struct pt_regs *, long int); - -typedef void (*btf_trace_sys_exit)(void *, struct pt_regs *, long int); - -typedef void (*btf_trace_task_newtask)(void *, struct task_struct *, long unsigned int); - -typedef void (*btf_trace_task_prctl_unknown)(void *, int, long unsigned int, long unsigned int, long unsigned int, long unsigned int); - -typedef void (*btf_trace_task_rename)(void *, struct task_struct *, const char *); - -typedef void (*btf_trace_tasklet_entry)(void *, struct tasklet_struct *, void *); - -typedef void (*btf_trace_tasklet_exit)(void *, struct tasklet_struct *, void *); - -typedef void (*btf_trace_tcp_ao_handshake_failure)(void *, const struct sock *, const struct sk_buff *, const __u8, const __u8, const __u8); - -typedef void (*btf_trace_tcp_ao_key_not_found)(void *, const struct sock *, const struct sk_buff *, const __u8, const __u8, const __u8); - -typedef void (*btf_trace_tcp_ao_mismatch)(void *, const struct sock *, const struct sk_buff *, const __u8, const __u8, const __u8); - -typedef void (*btf_trace_tcp_ao_rcv_sne_update)(void *, const struct sock *, __u32); - -typedef void (*btf_trace_tcp_ao_rnext_request)(void *, const struct sock *, const struct sk_buff *, const __u8, const __u8, const __u8); - -typedef void (*btf_trace_tcp_ao_snd_sne_update)(void *, const struct sock *, __u32); - -typedef void (*btf_trace_tcp_ao_synack_no_key)(void *, const struct sock *, const __u8, const __u8); - -typedef void (*btf_trace_tcp_ao_wrong_maclen)(void *, const struct sock *, const struct sk_buff *, const __u8, const __u8, const __u8); - -typedef void (*btf_trace_tcp_bad_csum)(void *, const struct sk_buff *); - -typedef void (*btf_trace_tcp_cong_state_set)(void *, struct sock *, const u8); - -typedef void (*btf_trace_tcp_cwnd_reduction_tp)(void *, const struct sock *, int, int, int); - -typedef void (*btf_trace_tcp_destroy_sock)(void *, struct sock *); - -typedef void (*btf_trace_tcp_hash_ao_required)(void *, const struct sock *, const struct sk_buff *); - -typedef void (*btf_trace_tcp_hash_bad_header)(void *, const struct sock *, const struct sk_buff *); - -typedef void (*btf_trace_tcp_hash_md5_mismatch)(void *, const struct sock *, const struct sk_buff *); - -typedef void (*btf_trace_tcp_hash_md5_required)(void *, const struct sock *, const struct sk_buff *); - -typedef void (*btf_trace_tcp_hash_md5_unexpected)(void *, const struct sock *, const struct sk_buff *); - -typedef void (*btf_trace_tcp_probe)(void *, struct sock *, const struct sk_buff *); - -typedef void (*btf_trace_tcp_rcv_space_adjust)(void *, struct sock *); - -typedef void (*btf_trace_tcp_rcvbuf_grow)(void *, struct sock *, int); - -typedef void (*btf_trace_tcp_receive_reset)(void *, struct sock *); - -typedef void (*btf_trace_tcp_retransmit_skb)(void *, const struct sock *, const struct sk_buff *, int); - -typedef void (*btf_trace_tcp_retransmit_synack)(void *, const struct sock *, const struct request_sock *); - -typedef void (*btf_trace_tcp_send_reset)(void *, const struct sock *, const struct sk_buff *, const enum sk_rst_reason); - -typedef void (*btf_trace_tcp_sendmsg_locked)(void *, const struct sock *, const struct msghdr *, const struct sk_buff *, int); - -typedef void (*btf_trace_test_pages_isolated)(void *, long unsigned int, long unsigned int, long unsigned int); - -typedef void (*btf_trace_thermal_apic_entry)(void *, int); - -typedef void (*btf_trace_thermal_apic_exit)(void *, int); - -typedef void (*btf_trace_thermal_power_actor)(void *, struct thermal_zone_device *, int, u32, u32); - -typedef void (*btf_trace_thermal_power_allocator)(void *, struct thermal_zone_device *, u32, u32, int, u32, u32, int, s32); - -typedef void (*btf_trace_thermal_power_allocator_pid)(void *, struct thermal_zone_device *, s32, s32, s64, s64, s64, s32); - -typedef void (*btf_trace_thermal_power_devfreq_get_power)(void *, struct thermal_cooling_device *, struct devfreq_dev_status *, long unsigned int, u32); - -typedef void (*btf_trace_thermal_power_devfreq_limit)(void *, struct thermal_cooling_device *, long unsigned int, long unsigned int, u32); - -typedef void (*btf_trace_thermal_temperature)(void *, struct thermal_zone_device *); - -typedef void (*btf_trace_thermal_zone_trip)(void *, struct thermal_zone_device *, int, enum thermal_trip_type); - -typedef void (*btf_trace_thread_noise)(void *, struct task_struct *, u64, u64); - -typedef void (*btf_trace_threshold_apic_entry)(void *, int); - -typedef void (*btf_trace_threshold_apic_exit)(void *, int); - -typedef void (*btf_trace_tick_stop)(void *, int, int); - -typedef void (*btf_trace_time_out_leases)(void *, struct inode *, struct file_lease *); - -typedef void (*btf_trace_timer_base_idle)(void *, bool, unsigned int); - -typedef void (*btf_trace_timer_cancel)(void *, struct timer_list *); - -typedef void (*btf_trace_timer_expire_entry)(void *, struct timer_list *, long unsigned int); - -typedef void (*btf_trace_timer_expire_exit)(void *, struct timer_list *); - -typedef void (*btf_trace_timer_init)(void *, struct timer_list *); - -typedef void (*btf_trace_timer_start)(void *, struct timer_list *, long unsigned int); - -typedef void (*btf_trace_timerlat_sample)(void *, struct timerlat_sample *); - -typedef void (*btf_trace_tlb_flush)(void *, int, long unsigned int); - -typedef void (*btf_trace_tls_alert_recv)(void *, const struct sock *, unsigned char, unsigned char); - -typedef void (*btf_trace_tls_alert_send)(void *, const struct sock *, unsigned char, unsigned char); - -typedef void (*btf_trace_tls_contenttype)(void *, const struct sock *, unsigned char); - -typedef void (*btf_trace_tmigr_connect_child_parent)(void *, struct tmigr_group *); - -typedef void (*btf_trace_tmigr_connect_cpu_parent)(void *, struct tmigr_cpu *); - -typedef void (*btf_trace_tmigr_cpu_active)(void *, struct tmigr_cpu *); - -typedef void (*btf_trace_tmigr_cpu_idle)(void *, struct tmigr_cpu *, u64); - -typedef void (*btf_trace_tmigr_cpu_new_timer)(void *, struct tmigr_cpu *); - -typedef void (*btf_trace_tmigr_cpu_new_timer_idle)(void *, struct tmigr_cpu *, u64); - -typedef void (*btf_trace_tmigr_cpu_offline)(void *, struct tmigr_cpu *); - -typedef void (*btf_trace_tmigr_cpu_online)(void *, struct tmigr_cpu *); - -typedef void (*btf_trace_tmigr_group_set)(void *, struct tmigr_group *); - -typedef void (*btf_trace_tmigr_group_set_cpu_active)(void *, struct tmigr_group *, union tmigr_state, u32); - -typedef void (*btf_trace_tmigr_group_set_cpu_inactive)(void *, struct tmigr_group *, union tmigr_state, u32); - -typedef void (*btf_trace_tmigr_handle_remote)(void *, struct tmigr_group *); - -typedef void (*btf_trace_tmigr_handle_remote_cpu)(void *, struct tmigr_cpu *); - -typedef void (*btf_trace_tmigr_update_events)(void *, struct tmigr_group *, struct tmigr_group *, union tmigr_state, union tmigr_state, u64); - -typedef void (*btf_trace_track_foreign_dirty)(void *, struct folio *, struct bdi_writeback *); - -typedef void (*btf_trace_tsm_mr_read)(void *, const struct tsm_measurement_register *); - -typedef void (*btf_trace_tsm_mr_refresh)(void *, const struct tsm_measurement_register *, int); - -typedef void (*btf_trace_tsm_mr_write)(void *, const struct tsm_measurement_register *, const u8 *); - -typedef void (*btf_trace_udp_fail_queue_rcv_skb)(void *, int, struct sock *, struct sk_buff *); - -typedef void (*btf_trace_unmap)(void *, long unsigned int, size_t, size_t); - -typedef void (*btf_trace_user_enter)(void *, int); - -typedef void (*btf_trace_user_exit)(void *, int); - -typedef void (*btf_trace_vector_activate)(void *, unsigned int, bool, bool, bool); - -typedef void (*btf_trace_vector_alloc)(void *, unsigned int, unsigned int, bool, int); - -typedef void (*btf_trace_vector_alloc_managed)(void *, unsigned int, unsigned int, int); - -typedef void (*btf_trace_vector_clear)(void *, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int); - -typedef void (*btf_trace_vector_config)(void *, unsigned int, unsigned int, unsigned int, unsigned int); - -typedef void (*btf_trace_vector_deactivate)(void *, unsigned int, bool, bool, bool); - -typedef void (*btf_trace_vector_free_moved)(void *, unsigned int, unsigned int, unsigned int, bool); - -typedef void (*btf_trace_vector_reserve)(void *, unsigned int, int); - -typedef void (*btf_trace_vector_reserve_managed)(void *, unsigned int, int); - -typedef void (*btf_trace_vector_setup)(void *, unsigned int, bool, int); - -typedef void (*btf_trace_vector_teardown)(void *, unsigned int, bool, bool); - -typedef void (*btf_trace_vector_update)(void *, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int); - -typedef void (*btf_trace_vm_unmapped_area)(void *, long unsigned int, struct vm_unmapped_area_info *); - -typedef void (*btf_trace_wake_reaper)(void *, int); - -typedef void (*btf_trace_wakeup_source_activate)(void *, const char *, unsigned int); - -typedef void (*btf_trace_wakeup_source_deactivate)(void *, const char *, unsigned int); - -typedef void (*btf_trace_watchdog_ping)(void *, struct watchdog_device *, int); - -typedef void (*btf_trace_watchdog_set_timeout)(void *, struct watchdog_device *, unsigned int, int); - -typedef void (*btf_trace_watchdog_start)(void *, struct watchdog_device *, int); - -typedef void (*btf_trace_watchdog_stop)(void *, struct watchdog_device *, int); - -typedef void (*btf_trace_wbc_writepage)(void *, struct writeback_control *, struct backing_dev_info *); - -typedef void (*btf_trace_wbt_lat)(void *, struct backing_dev_info *, long unsigned int); - -typedef void (*btf_trace_wbt_stat)(void *, struct backing_dev_info *, struct blk_rq_stat *); - -typedef void (*btf_trace_wbt_step)(void *, struct backing_dev_info *, const char *, int, long unsigned int, unsigned int, unsigned int, unsigned int); - -typedef void (*btf_trace_wbt_timer)(void *, struct backing_dev_info *, unsigned int, int, unsigned int); - -typedef void (*btf_trace_workqueue_activate_work)(void *, struct work_struct *); - -typedef void (*btf_trace_workqueue_execute_end)(void *, struct work_struct *, work_func_t); - -typedef void (*btf_trace_workqueue_execute_start)(void *, struct work_struct *); - -typedef void (*btf_trace_workqueue_queue_work)(void *, int, struct pool_workqueue *, struct work_struct *); - -typedef void (*btf_trace_write_msr)(void *, unsigned int, u64, int); - -typedef void (*btf_trace_writeback_bdi_register)(void *, struct backing_dev_info *); - -typedef void (*btf_trace_writeback_dirty_folio)(void *, struct folio *, struct address_space *); - -typedef void (*btf_trace_writeback_dirty_inode)(void *, struct inode *, int); - -typedef void (*btf_trace_writeback_dirty_inode_enqueue)(void *, struct inode *); - -typedef void (*btf_trace_writeback_dirty_inode_start)(void *, struct inode *, int); - -typedef void (*btf_trace_writeback_exec)(void *, struct bdi_writeback *, struct wb_writeback_work *); - -typedef void (*btf_trace_writeback_lazytime)(void *, struct inode *); - -typedef void (*btf_trace_writeback_lazytime_iput)(void *, struct inode *); - -typedef void (*btf_trace_writeback_mark_inode_dirty)(void *, struct inode *, int); - -typedef void (*btf_trace_writeback_pages_written)(void *, long int); - -typedef void (*btf_trace_writeback_queue)(void *, struct bdi_writeback *, struct wb_writeback_work *); - -typedef void (*btf_trace_writeback_queue_io)(void *, struct bdi_writeback *, struct wb_writeback_work *, long unsigned int, int); - -typedef void (*btf_trace_writeback_sb_inodes_requeue)(void *, struct inode *); - -typedef void (*btf_trace_writeback_single_inode)(void *, struct inode *, struct writeback_control *, long unsigned int); - -typedef void (*btf_trace_writeback_single_inode_start)(void *, struct inode *, struct writeback_control *, long unsigned int); - -typedef void (*btf_trace_writeback_start)(void *, struct bdi_writeback *, struct wb_writeback_work *); - -typedef void (*btf_trace_writeback_wait)(void *, struct bdi_writeback *, struct wb_writeback_work *); - -typedef void (*btf_trace_writeback_wake_background)(void *, struct bdi_writeback *); - -typedef void (*btf_trace_writeback_write_inode)(void *, struct inode *, struct writeback_control *); - -typedef void (*btf_trace_writeback_write_inode_start)(void *, struct inode *, struct writeback_control *); - -typedef void (*btf_trace_writeback_written)(void *, struct bdi_writeback *, struct wb_writeback_work *); - -typedef void (*btf_trace_x86_fpu_after_save)(void *, struct fpu *); - -typedef void (*btf_trace_x86_fpu_before_save)(void *, struct fpu *); - -typedef void (*btf_trace_x86_fpu_copy_dst)(void *, struct fpu *); - -typedef void (*btf_trace_x86_fpu_dropped)(void *, struct fpu *); - -typedef void (*btf_trace_x86_fpu_regs_activated)(void *, struct fpu *); - -typedef void (*btf_trace_x86_fpu_regs_deactivated)(void *, struct fpu *); - -typedef void (*btf_trace_x86_fpu_xstate_check_failed)(void *, struct fpu *); - -typedef void (*btf_trace_x86_platform_ipi_entry)(void *, int); - -typedef void (*btf_trace_x86_platform_ipi_exit)(void *, int); - -typedef void (*btf_trace_xdp_bulk_tx)(void *, const struct net_device *, int, int, int); - -typedef void (*btf_trace_xdp_cpumap_enqueue)(void *, int, unsigned int, unsigned int, int); - -typedef void (*btf_trace_xdp_cpumap_kthread)(void *, int, unsigned int, unsigned int, int, struct xdp_cpumap_stats *); - -typedef void (*btf_trace_xdp_devmap_xmit)(void *, const struct net_device *, const struct net_device *, int, int, int); - -typedef void (*btf_trace_xdp_exception)(void *, const struct net_device *, const struct bpf_prog *, u32); - -typedef void (*btf_trace_xdp_redirect)(void *, const struct net_device *, const struct bpf_prog *, const void *, int, enum bpf_map_type, u32, u32); - -typedef void (*btf_trace_xdp_redirect_err)(void *, const struct net_device *, const struct bpf_prog *, const void *, int, enum bpf_map_type, u32, u32); - -typedef void (*btf_trace_xen_cpu_load_idt)(void *, const struct desc_ptr *); - -typedef void (*btf_trace_xen_cpu_set_ldt)(void *, const void *, unsigned int); - -typedef void (*btf_trace_xen_cpu_write_gdt_entry)(void *, struct desc_struct *, int, const void *, int); - -typedef void (*btf_trace_xen_cpu_write_idt_entry)(void *, gate_desc *, int, const gate_desc *); - -typedef void (*btf_trace_xen_cpu_write_ldt_entry)(void *, struct desc_struct *, int, u64); - -typedef void (*btf_trace_xen_mc_batch)(void *, enum xen_lazy_mode); - -typedef void (*btf_trace_xen_mc_callback)(void *, xen_mc_callback_fn_t, void *); - -typedef void (*btf_trace_xen_mc_entry)(void *, struct multicall_entry *, unsigned int); - -typedef void (*btf_trace_xen_mc_entry_alloc)(void *, size_t); - -typedef void (*btf_trace_xen_mc_extend_args)(void *, long unsigned int, size_t, enum xen_mc_extend_args); - -typedef void (*btf_trace_xen_mc_flush)(void *, unsigned int, unsigned int, unsigned int); - -typedef void (*btf_trace_xen_mc_flush_reason)(void *, enum xen_mc_flush_reason); - -typedef void (*btf_trace_xen_mc_issue)(void *, enum xen_lazy_mode); - -typedef void (*btf_trace_xen_mmu_alloc_ptpage)(void *, struct mm_struct *, long unsigned int, unsigned int, bool); - -typedef void (*btf_trace_xen_mmu_flush_tlb_multi)(void *, const struct cpumask *, struct mm_struct *, long unsigned int, long unsigned int); - -typedef void (*btf_trace_xen_mmu_flush_tlb_one_user)(void *, long unsigned int); - -typedef void (*btf_trace_xen_mmu_pgd_pin)(void *, struct mm_struct *, pgd_t *); - -typedef void (*btf_trace_xen_mmu_pgd_unpin)(void *, struct mm_struct *, pgd_t *); - -typedef void (*btf_trace_xen_mmu_ptep_modify_prot_commit)(void *, struct mm_struct *, long unsigned int, pte_t *, pte_t); - -typedef void (*btf_trace_xen_mmu_ptep_modify_prot_start)(void *, struct mm_struct *, long unsigned int, pte_t *, pte_t); - -typedef void (*btf_trace_xen_mmu_release_ptpage)(void *, long unsigned int, unsigned int, bool); - -typedef void (*btf_trace_xen_mmu_set_p4d)(void *, p4d_t *, p4d_t *, p4d_t); - -typedef void (*btf_trace_xen_mmu_set_pmd)(void *, pmd_t *, pmd_t); - -typedef void (*btf_trace_xen_mmu_set_pte)(void *, pte_t *, pte_t); - -typedef void (*btf_trace_xen_mmu_set_pud)(void *, pud_t *, pud_t); - -typedef void (*btf_trace_xen_mmu_write_cr3)(void *, bool, long unsigned int); - -typedef void (*btf_trace_xhci_add_endpoint)(void *, struct xhci_ep_ctx *); - -typedef void (*btf_trace_xhci_address_ctrl_ctx)(void *, struct xhci_input_control_ctx *); - -typedef void (*btf_trace_xhci_address_ctx)(void *, struct xhci_hcd *, struct xhci_container_ctx *, unsigned int); - -typedef void (*btf_trace_xhci_alloc_dev)(void *, struct xhci_slot_ctx *); - -typedef void (*btf_trace_xhci_alloc_stream_info_ctx)(void *, struct xhci_stream_info *, unsigned int); - -typedef void (*btf_trace_xhci_alloc_virt_device)(void *, struct xhci_virt_device *); - -typedef void (*btf_trace_xhci_configure_endpoint)(void *, struct xhci_slot_ctx *); - -typedef void (*btf_trace_xhci_configure_endpoint_ctrl_ctx)(void *, struct xhci_input_control_ctx *); - -typedef void (*btf_trace_xhci_dbc_alloc_request)(void *, struct dbc_request *); - -typedef void (*btf_trace_xhci_dbc_free_request)(void *, struct dbc_request *); - -typedef void (*btf_trace_xhci_dbc_gadget_ep_queue)(void *, struct xhci_ring *, struct xhci_generic_trb *, dma_addr_t); - -typedef void (*btf_trace_xhci_dbc_giveback_request)(void *, struct dbc_request *); - -typedef void (*btf_trace_xhci_dbc_handle_event)(void *, struct xhci_ring *, struct xhci_generic_trb *, dma_addr_t); - -typedef void (*btf_trace_xhci_dbc_handle_transfer)(void *, struct xhci_ring *, struct xhci_generic_trb *, dma_addr_t); - -typedef void (*btf_trace_xhci_dbc_queue_request)(void *, struct dbc_request *); - -typedef void (*btf_trace_xhci_dbg_address)(void *, struct va_format *); - -typedef void (*btf_trace_xhci_dbg_cancel_urb)(void *, struct va_format *); - -typedef void (*btf_trace_xhci_dbg_context_change)(void *, struct va_format *); - -typedef void (*btf_trace_xhci_dbg_init)(void *, struct va_format *); - -typedef void (*btf_trace_xhci_dbg_quirks)(void *, struct va_format *); - -typedef void (*btf_trace_xhci_dbg_reset_ep)(void *, struct va_format *); - -typedef void (*btf_trace_xhci_dbg_ring_expansion)(void *, struct va_format *); - -typedef void (*btf_trace_xhci_discover_or_reset_device)(void *, struct xhci_slot_ctx *); - -typedef void (*btf_trace_xhci_free_dev)(void *, struct xhci_slot_ctx *); - -typedef void (*btf_trace_xhci_free_virt_device)(void *, struct xhci_virt_device *); - -typedef void (*btf_trace_xhci_get_port_status)(void *, struct xhci_port *, u32); - -typedef void (*btf_trace_xhci_handle_cmd_addr_dev)(void *, struct xhci_slot_ctx *); - -typedef void (*btf_trace_xhci_handle_cmd_config_ep)(void *, struct xhci_ep_ctx *); - -typedef void (*btf_trace_xhci_handle_cmd_disable_slot)(void *, struct xhci_slot_ctx *); - -typedef void (*btf_trace_xhci_handle_cmd_reset_dev)(void *, struct xhci_slot_ctx *); - -typedef void (*btf_trace_xhci_handle_cmd_reset_ep)(void *, struct xhci_ep_ctx *); - -typedef void (*btf_trace_xhci_handle_cmd_set_deq)(void *, struct xhci_slot_ctx *); - -typedef void (*btf_trace_xhci_handle_cmd_set_deq_ep)(void *, struct xhci_ep_ctx *); - -typedef void (*btf_trace_xhci_handle_cmd_set_deq_stream)(void *, struct xhci_stream_info *, unsigned int); - -typedef void (*btf_trace_xhci_handle_cmd_stop_ep)(void *, struct xhci_ep_ctx *); - -typedef void (*btf_trace_xhci_handle_command)(void *, struct xhci_ring *, struct xhci_generic_trb *, dma_addr_t); - -typedef void (*btf_trace_xhci_handle_event)(void *, struct xhci_ring *, struct xhci_generic_trb *, dma_addr_t); - -typedef void (*btf_trace_xhci_handle_port_status)(void *, struct xhci_port *, u32); - -typedef void (*btf_trace_xhci_handle_transfer)(void *, struct xhci_ring *, struct xhci_generic_trb *, dma_addr_t); - -typedef void (*btf_trace_xhci_hub_status_data)(void *, struct xhci_port *, u32); - -typedef void (*btf_trace_xhci_inc_deq)(void *, struct xhci_ring *); - -typedef void (*btf_trace_xhci_inc_enq)(void *, struct xhci_ring *); - -typedef void (*btf_trace_xhci_queue_trb)(void *, struct xhci_ring *, struct xhci_generic_trb *, dma_addr_t); - -typedef void (*btf_trace_xhci_ring_alloc)(void *, struct xhci_ring *); - -typedef void (*btf_trace_xhci_ring_ep_doorbell)(void *, u32, u32); - -typedef void (*btf_trace_xhci_ring_expansion)(void *, struct xhci_ring *); - -typedef void (*btf_trace_xhci_ring_free)(void *, struct xhci_ring *); - -typedef void (*btf_trace_xhci_ring_host_doorbell)(void *, u32, u32); - -typedef void (*btf_trace_xhci_setup_addressable_virt_device)(void *, struct xhci_virt_device *); - -typedef void (*btf_trace_xhci_setup_device)(void *, struct xhci_virt_device *); - -typedef void (*btf_trace_xhci_setup_device_slot)(void *, struct xhci_slot_ctx *); - -typedef void (*btf_trace_xhci_stop_device)(void *, struct xhci_virt_device *); - -typedef void (*btf_trace_xhci_urb_dequeue)(void *, struct urb *); - -typedef void (*btf_trace_xhci_urb_enqueue)(void *, struct urb *); - -typedef void (*btf_trace_xhci_urb_giveback)(void *, struct urb *); - -typedef int (*cb_t)(struct param *); - -typedef bool (*check_reserved_t)(u64, u64, enum e820_type); - -typedef void cleanup_cb_t(struct rq_wait *, void *); - -typedef int (*cmp_r_func_t)(const void *, const void *, const void *); - -typedef void (*companion_fn)(struct pci_dev *, struct usb_hcd *, struct pci_dev *, struct usb_hcd *); - -typedef int cont_fn(struct opal_dev *); - -typedef int (*copy_fn_t)(void *, const void *, u32, struct task_struct *); - -typedef int (*cppc_mode_transition_fn)(int); - -typedef int ctrlval_parser_t(struct rdt_parse_data *, struct resctrl_schema *, struct rdt_ctrl_domain *); - -typedef void detailed_cb(const struct detailed_timing *, void *); - -typedef void * (*devcon_match_fn_t)(const struct fwnode_handle *, const char *, void *); - -typedef int (*device_iter_t)(struct device *, void *); - -typedef int (*device_match_t)(struct device *, const void *); - -typedef int devlink_chunk_fill_t(void *, u8 *, u32, u64, struct netlink_ext_ack *); - -typedef int devlink_nl_dump_one_func_t(struct sk_buff *, struct devlink *, struct netlink_callback *, int); - -typedef int (*dr_match_t)(struct device *, void *, void *); - -typedef void (*drm_crtc_set_lut_func)(struct drm_crtc *, unsigned int, u16, u16, u16); - -typedef int drm_ioctl_compat_t(struct file *, unsigned int, long unsigned int); - -typedef bool (*drm_vblank_get_scanout_position_func)(struct drm_crtc *, bool, int *, int *, ktime_t *, ktime_t *, const struct drm_display_mode *); - -typedef int (*dummy_ops_test_ret_fn)(struct bpf_dummy_ops_state *, ...); - -typedef int (*dynevent_check_arg_fn_t)(void *); - -typedef void (*efi_element_handler_t)(const char *, const void *, size_t); - -typedef int (*efi_memattr_perm_setter)(struct mm_struct *, efi_memory_desc_t *, bool); - -typedef void (*ethnl_notify_handler_t)(struct net_device *, unsigned int, const struct ethnl_req_info *); - -typedef void (*exitcall_t)(void); - -typedef int (*ext4_mballoc_query_range_fn)(struct super_block *, ext4_group_t, ext4_grpblk_t, ext4_grpblk_t, void *); - -typedef void ext4_update_sb_callback(struct ext4_super_block *, const void *); - -typedef int filler_t(struct file *, struct folio *); - -typedef bool (*filter_func_t)(struct uprobe_consumer *, struct mm_struct *); - -typedef void fn_handler_fn(struct vc_data *); - -typedef void free_folio_t(struct folio *, long unsigned int); - -typedef int (*ftrace_mapper_func)(void *); - -typedef access_mask_t get_access_mask_t(const struct landlock_ruleset * const, const u16); - -typedef int (*get_char_func)(void); - -typedef int (*get_gsi_from_sbdf_t)(u32); - -typedef struct sk_buff * (*gro_receive_sk_t)(struct sock *, struct list_head *, struct sk_buff *); - -typedef struct sk_buff * (*gro_receive_t)(struct list_head *, struct sk_buff *); - -typedef size_t (*huf_compress_f)(void *, size_t, const void *, size_t, unsigned int, unsigned int, void *, size_t, HUF_CElt *, HUF_repeat *, int); - -typedef int (*hyperv_fill_flush_list_func)(struct hv_guest_mapping_flush_list *, void *); - -typedef bool (*i8042_filter_t)(unsigned char, unsigned char, struct serio *, void *); - -typedef void (*idtentry_t)(struct pt_regs *); - -typedef u32 inet6_ehashfn_t(const struct net *, const struct in6_addr *, const u16, const struct in6_addr *, const __be16); - -typedef u32 inet_ehashfn_t(const struct net *, const __be32, const __u16, const __be32, const __be16); - -typedef int (*initxattrs)(struct inode *, const struct xattr *, void *); - -typedef struct dentry *instantiate_t(struct dentry *, struct task_struct *, const void *); - -typedef int (*ioctl_fn)(struct file *, struct dm_ioctl *, size_t); - -typedef void (*iomap_punch_t)(struct inode *, loff_t, loff_t, struct iomap *); - -typedef size_t (*iov_step_f)(void *, size_t, size_t, void *, void *); - -typedef size_t (*iov_ustep_f)(void *, size_t, size_t, void *, void *); - -typedef int (*iova_bitmap_fn_t)(struct iova_bitmap *, long unsigned int, size_t, void *); - -typedef void ip6_icmp_send_t(struct sk_buff *, u8, u8, __u32, const struct in6_addr *, const struct inet6_skb_parm *); - -typedef void (*irq_write_msi_msg_t)(struct msi_desc *, struct msi_msg *); - -typedef void k_handler_fn(struct vc_data *, unsigned char, char); - -typedef int (*klp_shadow_ctor_t)(void *, void *, void *); - -typedef void (*klp_shadow_dtor_t)(void *, void *); - -typedef int (*list_cmp_func_t)(void *, const struct list_head *, const struct list_head *); - -typedef enum lru_status (*list_lru_walk_cb)(struct list_head *, struct list_lru_one *, void *); - -typedef void (*mapped_f)(struct perf_event *, struct mm_struct *); - -typedef int mh_filter_t(struct sock *, struct sk_buff *); - -typedef void (*move_fn_t)(struct lruvec *, struct folio *); - -typedef int (*netlink_filter_fn)(struct sock *, struct sk_buff *, void *); - -typedef struct folio *new_folio_t(struct folio *, long unsigned int); - -typedef void (*nmi_shootdown_cb)(int, struct pt_regs *); - -typedef struct ns_common *ns_get_path_helper_t(void *); - -typedef int (*objpool_init_obj_cb)(void *, void *); - -typedef void (*online_page_callback_t)(struct page *, unsigned int); - -typedef int (*parse_pred_fn)(const char *, void *, int, struct filter_parse_error *, struct filter_pred **); - -typedef int (*parse_unknown_fn)(char *, char *, const char *, void *); - -typedef void (*pci_parity_check_fn_t)(struct pci_dev *); - -typedef int (*pcie_callback_t)(struct pcie_device *); - -typedef int pcpu_fc_cpu_distance_fn_t(unsigned int, unsigned int); - -typedef int pcpu_fc_cpu_to_node_fn_t(int); - -typedef void perf_iterate_f(struct perf_event *, void *); - -typedef int perf_snapshot_branch_stack_t(struct perf_branch_entry *, unsigned int); - -typedef int (*pm_callback_t)(struct device *); - -typedef int (*pm_cpu_match_t)(const struct x86_cpu_id *); - -typedef struct rt6_info * (*pol_lookup_t)(struct net *, struct fib6_table *, struct flowi6 *, const struct sk_buff *, int); - -typedef int (*pp_nl_fill_cb)(struct sk_buff *, const struct page_pool *, const struct genl_info *); - -typedef int (*proc_visitor)(struct task_struct *, void *); - -typedef int (*pte_fn_t)(pte_t *, long unsigned int, void *); - -typedef int read_block_fn(void *, u8 *, unsigned int, size_t); - -typedef long unsigned int relocate_kernel_fn(long unsigned int, long unsigned int, long unsigned int, unsigned int); - -typedef void (*rethook_handler_t)(struct rethook_node *, void *, long unsigned int, struct pt_regs *); - -typedef bool (*ring_buffer_cond_fn)(void *); - -typedef int (*rproc_handle_resource_t)(struct rproc *, void *, int, int); - -typedef irqreturn_t (*rtc_irq_handler)(int, void *); - -typedef bool (*sb_for_each_fn)(struct sbitmap *, unsigned int, void *); - -typedef void (*sc_err_func_t)(u64, u64, struct tdx_module_args *); - -typedef u64 (*sc_func_t)(u64, struct tdx_module_args *); - -typedef int (*sendmsg_func)(struct sock *, struct msghdr *); - -typedef void (*serial8250_isa_config_fn)(int, struct uart_port *, u32 *); - -typedef int (*set_callee_state_fn)(struct bpf_verifier_env *, struct bpf_func_state *, struct bpf_func_state *, int); - -typedef void (*set_debug_port_t)(int); - -typedef void (*set_params_cb)(struct dwc2_hsotg *); - -typedef void (*setup_fn)(struct perf_event *, struct pt_regs *, void *, struct perf_sample_data *, struct pt_regs *); - -typedef struct scatterlist *sg_alloc_fn(unsigned int, gfp_t); - -typedef void sg_free_fn(struct scatterlist *, unsigned int); - -typedef bool (*smp_cond_func_t)(int, void *); - -typedef int splice_actor(struct pipe_inode_info *, struct pipe_buffer *, struct splice_desc *); - -typedef int splice_direct_actor(struct pipe_inode_info *, struct splice_desc *); - -typedef bool (*stack_trace_consume_fn)(void *, long unsigned int); - -typedef void (*swap_r_func_t)(void *, void *, int, const void *); - -typedef void (*synth_probe_func_t)(void *, u64 *, unsigned int *); - -typedef long int (*sys_call_ptr_t)(const struct pt_regs *); - -typedef int (*task_call_f)(struct task_struct *, void *); - -typedef void (*task_work_func_t)(struct callback_head *); - -typedef void text_poke_f(void *, const void *, size_t); - -typedef int (*tg_visitor)(struct task_group *, void *); - -typedef struct sk_buff * (*udp_gro_receive_t)(struct sock *, struct list_head *, struct sk_buff *); - -typedef struct sock * (*udp_lookup_t)(const struct sk_buff *, __be16, __be16); - -typedef bool (*up_f)(struct tmigr_group *, struct tmigr_group *, struct tmigr_walk *); - -typedef void (*user_event_func_t)(struct user_event *, struct iov_iter *, void *, bool *); - -typedef void (*visitor128_t)(void *, long unsigned int, u64, u64, size_t); - -typedef void (*visitor32_t)(void *, long unsigned int, u32, size_t); - -typedef void (*visitor64_t)(void *, long unsigned int, u64, size_t); - -typedef void (*visitorl_t)(void *, long unsigned int, long unsigned int, size_t); - -typedef int wait_bit_action_f(struct wait_bit_key *, int); - -typedef int (*walk_hmem_fn)(struct device *, int, const struct resource *); - -typedef int (*walk_memory_groups_func_t)(struct memory_group *, void *); - -typedef int (*wext_ioctl_func)(struct net_device *, struct iwreq *, unsigned int, struct iw_request_info *, iw_handler); - -typedef int (*writepage_t)(struct folio *, struct writeback_control *, void *); - -typedef void (*xen_gfn_fn_t)(long unsigned int, void *); - -typedef void (*xen_grant_fn_t)(long unsigned int, unsigned int, unsigned int, void *); - -typedef void (*xhci_get_quirks_t)(struct device *, struct xhci_hcd *); - -typedef ZSTD_sequenceProducer_F zstd_sequence_producer_f; - -struct nf_bridge_frag_data; - -struct kunit; - -struct bpf_iter; - -struct creds; - -struct pctldev; - - -/* BPF kfuncs */ -#ifndef BPF_NO_KFUNC_PROTOTYPES -#endif - -#ifndef BPF_NO_PRESERVE_ACCESS_INDEX -#pragma clang attribute pop -#endif - -#endif /* __VMLINUX_H__ */ From 2babdef5cf70c5c46d7fd21ac48d6a4a10a0396c Mon Sep 17 00:00:00 2001 From: asmit27rai Date: Sat, 25 Jul 2026 22:49:23 +0530 Subject: [PATCH 08/24] fix Signed-off-by: asmit27rai --- .github/workflows/ci-test-go.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.github/workflows/ci-test-go.yml b/.github/workflows/ci-test-go.yml index d26c385757..2bfa135ba5 100644 --- a/.github/workflows/ci-test-go.yml +++ b/.github/workflows/ci-test-go.yml @@ -108,6 +108,13 @@ jobs: - name: Install libbpf headers run: sudo apt-get update && sudo apt-get install -y libbpf-dev + - name: Install bpftool + run: ./.github/workflows/install-bpftool.sh + + - name: Generate vmlinux.h + run: make -C BPF kernel_headers + working-directory: KubeArmor + - name: Generate BPF files run: go generate ./... working-directory: KubeArmor @@ -131,6 +138,13 @@ jobs: - name: Install libbpf headers run: sudo apt-get update && sudo apt-get install -y libbpf-dev + - name: Install bpftool + run: ./.github/workflows/install-bpftool.sh + + - name: Generate vmlinux.h + run: make -C BPF kernel_headers + working-directory: KubeArmor + - name: Generate BPF files run: go generate ./... working-directory: KubeArmor From bd492e4981b6cd24a88fcf52c55b81491d07fe6b Mon Sep 17 00:00:00 2001 From: asmit27rai Date: Sat, 25 Jul 2026 22:59:12 +0530 Subject: [PATCH 09/24] changed pkg operator dockerfile Signed-off-by: asmit27rai --- pkg/KubeArmorOperator/Dockerfile | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/pkg/KubeArmorOperator/Dockerfile b/pkg/KubeArmorOperator/Dockerfile index 852350bc7f..047028ce17 100644 --- a/pkg/KubeArmorOperator/Dockerfile +++ b/pkg/KubeArmorOperator/Dockerfile @@ -16,6 +16,22 @@ ADD pkg/KubeArmorController pkg/KubeArmorController RUN apt-get update && apt-get install -y clang llvm libbpf-dev libelf-dev && rm -rf /var/lib/apt/lists/* # Generate BPF bytecode +RUN arch=$(uname -m) bpftool_version=v7.3.0 && \ + if [ "$arch" = "aarch64" ]; then arch=arm64; \ + elif [ "$arch" = "x86_64" ]; then arch=amd64; \ + fi && \ + curl -LO https://github.com/libbpf/bpftool/releases/download/$bpftool_version/bpftool-$bpftool_version-$arch.tar.gz && \ + tar -xzf bpftool-$bpftool_version-$arch.tar.gz -C /usr/local/bin && \ + chmod +x /usr/local/bin/bpftool && \ + rm bpftool-$bpftool_version-$arch.tar.gz + +RUN test -s KubeArmor/BPF/vmlinux.h || \ + (bpftool btf dump file /sys/kernel/btf/vmlinux format c > KubeArmor/BPF/vmlinux.h || \ + (echo "ERROR: could not generate vmlinux.h -- /sys/kernel/btf/vmlinux not visible" \ + "in this build environment (common with buildx docker-container driver)." \ + "Generate vmlinux.h on the HOST before docker build instead, so COPY picks it up." \ + && exit 1)) + RUN cd KubeArmor && go generate ./... # KubeArmorOperator directory From 173ac110f43990dde5144d9adc9db50c7efd1a9e Mon Sep 17 00:00:00 2001 From: asmit27rai Date: Sun, 26 Jul 2026 00:08:15 +0530 Subject: [PATCH 10/24] cleanup Signed-off-by: asmit27rai --- Dockerfile | 2 +- pkg/KubeArmorOperator/Dockerfile | 5 +---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index 3b7484c3bf..013608bc57 100644 --- a/Dockerfile +++ b/Dockerfile @@ -16,7 +16,7 @@ RUN arch=$(uname -m) bpftool_version=v7.3.0 && \ if [[ "$arch" == "aarch64" ]]; then \ arch=arm64; \ elif [[ "$arch" == "x86_64" ]]; then \ - arch=amd64; \ + arch=amd64; \ fi && \ curl -LO https://github.com/libbpf/bpftool/releases/download/$bpftool_version/bpftool-$bpftool_version-$arch.tar.gz && \ tar -xzf bpftool-$bpftool_version-$arch.tar.gz -C /usr/local/bin && \ diff --git a/pkg/KubeArmorOperator/Dockerfile b/pkg/KubeArmorOperator/Dockerfile index 047028ce17..f82f70a082 100644 --- a/pkg/KubeArmorOperator/Dockerfile +++ b/pkg/KubeArmorOperator/Dockerfile @@ -27,10 +27,7 @@ RUN arch=$(uname -m) bpftool_version=v7.3.0 && \ RUN test -s KubeArmor/BPF/vmlinux.h || \ (bpftool btf dump file /sys/kernel/btf/vmlinux format c > KubeArmor/BPF/vmlinux.h || \ - (echo "ERROR: could not generate vmlinux.h -- /sys/kernel/btf/vmlinux not visible" \ - "in this build environment (common with buildx docker-container driver)." \ - "Generate vmlinux.h on the HOST before docker build instead, so COPY picks it up." \ - && exit 1)) + (echo "ERROR: Generate vmlinux.h on the host before docker build." && exit 1)) RUN cd KubeArmor && go generate ./... From c29d846edc0d8d18ecff93a1574b3d35d069a7f7 Mon Sep 17 00:00:00 2001 From: asmit27rai Date: Fri, 7 Aug 2026 00:32:38 +0530 Subject: [PATCH 11/24] fix Signed-off-by: asmit27rai --- .github/workflows/ci-test-systemd.yml | 3 --- KubeArmor/.gitignore | 1 + pkg/KubeArmorOperator/Dockerfile | 19 ------------------- 3 files changed, 1 insertion(+), 22 deletions(-) diff --git a/.github/workflows/ci-test-systemd.yml b/.github/workflows/ci-test-systemd.yml index d6f3c0494f..a4897d60be 100644 --- a/.github/workflows/ci-test-systemd.yml +++ b/.github/workflows/ci-test-systemd.yml @@ -38,9 +38,6 @@ jobs: - name: Compile libbpf run: ./.github/workflows/install-libbpf.sh - - name: Install bpftool - run: ./.github/workflows/install-bpftool.sh - - name: Install GoReleaser uses: goreleaser/goreleaser-action@b953231f81b8dfd023c58e0854a721e35037f28b # v2 with: diff --git a/KubeArmor/.gitignore b/KubeArmor/.gitignore index ff3409dc3a..cd9d6a7c51 100644 --- a/KubeArmor/.gitignore +++ b/KubeArmor/.gitignore @@ -6,3 +6,4 @@ presets/filelessexec/*.o presets/protectenv/*.o presets/protectproc/*.o utils/bpflsmprobe/*.o +BPF/vmlinux.h diff --git a/pkg/KubeArmorOperator/Dockerfile b/pkg/KubeArmorOperator/Dockerfile index a43d0852ab..49c9ce8688 100644 --- a/pkg/KubeArmorOperator/Dockerfile +++ b/pkg/KubeArmorOperator/Dockerfile @@ -12,25 +12,6 @@ ADD deployments deployments ADD KubeArmor KubeArmor ADD pkg/KubeArmorController pkg/KubeArmorController -# Install clang, llvm, and libbpf dependencies to compile BPF bytecode -RUN apt-get update && apt-get install -y clang llvm libbpf-dev libelf-dev && rm -rf /var/lib/apt/lists/* - -# Generate BPF bytecode -RUN arch=$(uname -m) bpftool_version=v7.3.0 && \ - if [ "$arch" = "aarch64" ]; then arch=arm64; \ - elif [ "$arch" = "x86_64" ]; then arch=amd64; \ - fi && \ - curl -LO https://github.com/libbpf/bpftool/releases/download/$bpftool_version/bpftool-$bpftool_version-$arch.tar.gz && \ - tar -xzf bpftool-$bpftool_version-$arch.tar.gz -C /usr/local/bin && \ - chmod +x /usr/local/bin/bpftool && \ - rm bpftool-$bpftool_version-$arch.tar.gz - -RUN test -s KubeArmor/BPF/vmlinux.h || \ - (bpftool btf dump file /sys/kernel/btf/vmlinux format c > KubeArmor/BPF/vmlinux.h || \ - (echo "ERROR: Generate vmlinux.h on the host before docker build." && exit 1)) - -RUN cd KubeArmor && go generate ./... - # KubeArmorOperator directory ARG OPERATOR_DIR=pkg/KubeArmorOperator WORKDIR /KubeArmor/$OPERATOR_DIR From d2b88f5c403bce212134b18d04cebf8f7f9a01bc Mon Sep 17 00:00:00 2001 From: asmit27rai Date: Sun, 9 Aug 2026 15:45:41 +0530 Subject: [PATCH 12/24] add comment Signed-off-by: asmit27rai --- .github/workflows/ci-test-go.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-test-go.yml b/.github/workflows/ci-test-go.yml index d5fbdf72f7..5aac5b0131 100644 --- a/.github/workflows/ci-test-go.yml +++ b/.github/workflows/ci-test-go.yml @@ -78,6 +78,7 @@ jobs: - name: Install libbpf headers run: sudo apt-get update && sudo apt-get install -y libbpf-dev + # Install BPF tool - name: Install bpftool run: ./.github/workflows/install-bpftool.sh @@ -119,7 +120,6 @@ jobs: run: go generate ./... working-directory: KubeArmor - - name: Run govulncheck run: make scan working-directory: KubeArmor From e77105bd9b4b61317eeaa0ba6aa366c1e143c0c1 Mon Sep 17 00:00:00 2001 From: asmit27rai Date: Sun, 9 Aug 2026 16:12:16 +0530 Subject: [PATCH 13/24] add bpf tool in operator Signed-off-by: asmit27rai --- .github/workflows/ci-test-operator.yaml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/.github/workflows/ci-test-operator.yaml b/.github/workflows/ci-test-operator.yaml index 5dfd7a724b..e7539f3ef1 100644 --- a/.github/workflows/ci-test-operator.yaml +++ b/.github/workflows/ci-test-operator.yaml @@ -36,5 +36,25 @@ jobs: # working-directory only takes effect for "run" go-version-file: 'KubeArmor/go.mod' + - name: Install LLVM/Clang + run: ./.github/workflows/install-llvm.sh + working-directory: . + + - name: Install libbpf headers + run: sudo apt-get update && sudo apt-get install -y libbpf-dev + working-directory: . + + - name: Install bpftool + run: ./.github/workflows/install-bpftool.sh + working-directory: . + + - name: Generate vmlinux.h + run: make -C BPF kernel_headers + working-directory: KubeArmor + + - name: Generate BPF files + run: go generate ./... + working-directory: KubeArmor + - name: Build kubearmor operator run: make docker-build TAG=latest From cb09324fe50562ef8a587559220796a3b1cfb0b5 Mon Sep 17 00:00:00 2001 From: asmit27rai Date: Sun, 9 Aug 2026 16:22:58 +0530 Subject: [PATCH 14/24] add pre build bpf patch in different yaml Signed-off-by: asmit27rai --- .github/workflows/ci-network-tests.yml | 11 +++++++++++ .github/workflows/ci-test-ginkgo.yml | 11 +++++++++++ .github/workflows/ci-test-ubi-image.yml | 11 +++++++++++ .github/workflows/ci-trivy-scan-ubi.yaml | 11 +++++++++++ .github/workflows/ci-trivy-scan.yaml | 11 +++++++++++ 5 files changed, 55 insertions(+) diff --git a/.github/workflows/ci-network-tests.yml b/.github/workflows/ci-network-tests.yml index 897061d92e..064862e253 100644 --- a/.github/workflows/ci-network-tests.yml +++ b/.github/workflows/ci-network-tests.yml @@ -64,6 +64,17 @@ jobs: - name: Compile libbpf run: ./.github/workflows/install-libbpf.sh + - name: Install bpftool + run: ./.github/workflows/install-bpftool.sh + + - name: Generate vmlinux.h + run: make -C BPF kernel_headers + working-directory: KubeArmor + + - name: Generate BPF files + run: go generate ./... + working-directory: KubeArmor + - name: Setup a Kubernetes environment run: ./.github/workflows/install-k3s.sh diff --git a/.github/workflows/ci-test-ginkgo.yml b/.github/workflows/ci-test-ginkgo.yml index accc043512..c1a2636f42 100644 --- a/.github/workflows/ci-test-ginkgo.yml +++ b/.github/workflows/ci-test-ginkgo.yml @@ -61,6 +61,17 @@ jobs: - name: Compile libbpf run: ./.github/workflows/install-libbpf.sh + - name: Install bpftool + run: ./.github/workflows/install-bpftool.sh + + - name: Generate vmlinux.h + run: make -C BPF kernel_headers + working-directory: KubeArmor + + - name: Generate BPF files + run: go generate ./... + working-directory: KubeArmor + - name: Setup a Kubernetes environment run: ./.github/workflows/install-k3s.sh diff --git a/.github/workflows/ci-test-ubi-image.yml b/.github/workflows/ci-test-ubi-image.yml index a4aef2ba43..469f5653ee 100644 --- a/.github/workflows/ci-test-ubi-image.yml +++ b/.github/workflows/ci-test-ubi-image.yml @@ -62,6 +62,17 @@ jobs: - name: Compile libbpf run: ./.github/workflows/install-libbpf.sh + - name: Install bpftool + run: ./.github/workflows/install-bpftool.sh + + - name: Generate vmlinux.h + run: make -C BPF kernel_headers + working-directory: KubeArmor + + - name: Generate BPF files + run: go generate ./... + working-directory: KubeArmor + - name: Setup a Kubernetes environment run: ./.github/workflows/install-k3s.sh diff --git a/.github/workflows/ci-trivy-scan-ubi.yaml b/.github/workflows/ci-trivy-scan-ubi.yaml index 6153212043..3acd7b6779 100644 --- a/.github/workflows/ci-trivy-scan-ubi.yaml +++ b/.github/workflows/ci-trivy-scan-ubi.yaml @@ -56,6 +56,17 @@ jobs: - name: Compile libbpf run: ./.github/workflows/install-libbpf.sh + - name: Install bpftool + run: ./.github/workflows/install-bpftool.sh + + - name: Generate vmlinux.h + run: make -C BPF kernel_headers + working-directory: KubeArmor + + - name: Generate BPF files + run: go generate ./... + working-directory: KubeArmor + - name: Set up Docker uses: docker/setup-docker-action@e43656e248c0bd0647d3f5c195d116aacf6fcaf4 # v4 with: diff --git a/.github/workflows/ci-trivy-scan.yaml b/.github/workflows/ci-trivy-scan.yaml index e0a73708c7..1dfe37c452 100644 --- a/.github/workflows/ci-trivy-scan.yaml +++ b/.github/workflows/ci-trivy-scan.yaml @@ -56,6 +56,17 @@ jobs: - name: Compile libbpf run: ./.github/workflows/install-libbpf.sh + - name: Install bpftool + run: ./.github/workflows/install-bpftool.sh + + - name: Generate vmlinux.h + run: make -C BPF kernel_headers + working-directory: KubeArmor + + - name: Generate BPF files + run: go generate ./... + working-directory: KubeArmor + - name: Set up Docker uses: docker/setup-docker-action@e43656e248c0bd0647d3f5c195d116aacf6fcaf4 # v4 with: From 775bc3b9c24a88b33fe0fc73535f77c769d0891e Mon Sep 17 00:00:00 2001 From: asmit27rai Date: Sun, 9 Aug 2026 16:29:26 +0530 Subject: [PATCH 15/24] fix Signed-off-by: asmit27rai --- .github/workflows/install-llvm.sh | 36 ++++++++++++++++++------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/.github/workflows/install-llvm.sh b/.github/workflows/install-llvm.sh index 97b409a7f3..0129014475 100755 --- a/.github/workflows/install-llvm.sh +++ b/.github/workflows/install-llvm.sh @@ -4,24 +4,30 @@ . /etc/os-release +set -euo pipefail + sudo apt-get -y install build-essential libelf-dev pkg-config if [ "$VERSION_CODENAME" == "focal" ] || [ "$VERSION_CODENAME" == "bionic" ]; then - sudo apt-get install -y clang-12 llvm-12 - for tool in "clang" "llc" "llvm-strip" "opt" "llvm-dis"; do - sudo rm -f /usr/bin/$tool - sudo ln -s /usr/bin/$tool-12 /usr/bin/$tool - done + LLVM_VERSION=12 elif [ "$VERSION_CODENAME" == "jammy" ]; then - sudo apt-get install -y clang-14 llvm-14 - for tool in "clang" "llc" "llvm-strip" "opt" "llvm-dis"; do - sudo rm -f /usr/bin/$tool - sudo ln -s /usr/bin/$tool-14 /usr/bin/$tool - done + LLVM_VERSION=14 else - sudo apt-get install -y clang-19 llvm-19 - for tool in "clang" "llc" "llvm-strip" "opt" "llvm-dis"; do - sudo rm -f /usr/bin/$tool - sudo ln -s /usr/bin/$tool-19 /usr/bin/$tool - done + LLVM_VERSION=19 fi + +sudo apt-get install -y "clang-${LLVM_VERSION}" "llvm-${LLVM_VERSION}" + +for tool in "clang" "llc" "llvm-strip" "opt" "llvm-dis"; do + if [ -x "/usr/bin/${tool}-${LLVM_VERSION}" ]; then + tool_path="/usr/bin/${tool}-${LLVM_VERSION}" + elif [ -x "/usr/lib/llvm-${LLVM_VERSION}/bin/${tool}" ]; then + tool_path="/usr/lib/llvm-${LLVM_VERSION}/bin/${tool}" + else + echo "Could not find ${tool} for LLVM ${LLVM_VERSION}" >&2 + exit 1 + fi + + sudo rm -f "/usr/bin/${tool}" + sudo ln -s "${tool_path}" "/usr/bin/${tool}" +done From 062c20ae0c77b0a000771620d62a96fd53dfb5e1 Mon Sep 17 00:00:00 2001 From: asmit27rai Date: Sun, 9 Aug 2026 16:32:46 +0530 Subject: [PATCH 16/24] fix Signed-off-by: asmit27rai --- .github/workflows/install-llvm.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/install-llvm.sh b/.github/workflows/install-llvm.sh index 0129014475..b005b7fd40 100755 --- a/.github/workflows/install-llvm.sh +++ b/.github/workflows/install-llvm.sh @@ -6,6 +6,7 @@ set -euo pipefail +sudo apt-get update sudo apt-get -y install build-essential libelf-dev pkg-config if [ "$VERSION_CODENAME" == "focal" ] || [ "$VERSION_CODENAME" == "bionic" ]; then From e05ac4da00f1fc97dd13025373ecb38da7c7a745 Mon Sep 17 00:00:00 2001 From: asmit27rai Date: Mon, 10 Aug 2026 12:09:30 +0530 Subject: [PATCH 17/24] add bpf generation in release workflows Signed-off-by: asmit27rai --- .github/workflows/ci-operator-release.yaml | 17 +++++++++ .../workflows/ci-operator-ubi-release.yaml | 36 +++++++++++++------ 2 files changed, 42 insertions(+), 11 deletions(-) diff --git a/.github/workflows/ci-operator-release.yaml b/.github/workflows/ci-operator-release.yaml index 6f94ecc447..3778f3ac40 100644 --- a/.github/workflows/ci-operator-release.yaml +++ b/.github/workflows/ci-operator-release.yaml @@ -90,6 +90,23 @@ jobs: core.setOutput('tag', tag); console.log(`Creating operator release with tag: ${tag}`); + - name: Install LLVM/Clang + run: ./.github/workflows/install-llvm.sh + + - name: Install libbpf headers + run: sudo apt-get update && sudo apt-get install -y libbpf-dev + + - name: Install bpftool + run: ./.github/workflows/install-bpftool.sh + + - name: Generate vmlinux.h + run: make -C BPF kernel_headers + working-directory: KubeArmor + + - name: Generate BPF files + run: go generate ./... + working-directory: KubeArmor + - name: Build & Push KubeArmor Operator working-directory: ./pkg/KubeArmorOperator run: PLATFORM=$PLATFORM make docker-buildx TAG=${{ steps.vars.outputs.tag }} BUILD_MODE=--push diff --git a/.github/workflows/ci-operator-ubi-release.yaml b/.github/workflows/ci-operator-ubi-release.yaml index 97ea348000..c6119115c3 100644 --- a/.github/workflows/ci-operator-ubi-release.yaml +++ b/.github/workflows/ci-operator-ubi-release.yaml @@ -30,7 +30,7 @@ env: jobs: kubearmor-operator-release: name: Build & Push KubeArmor Operator - if: github.repository == 'kubearmor/kubearmor' + if: github.repository == 'kubearmor/kubearmor' runs-on: ubuntu-22.04 permissions: id-token: write @@ -40,7 +40,7 @@ jobs: - uses: actions/setup-go@40f1582b2485089dde7abd97c1529aa768e1baff # v5 with: - go-version-file: 'KubeArmor/go.mod' + go-version-file: "KubeArmor/go.mod" - name: Set up QEMU uses: docker/setup-qemu-action@2b82ce82d56a2a04d2637cd93a637ae1b359c0a7 # v2 @@ -54,7 +54,7 @@ jobs: uses: docker/login-action@465a07811f14bebb1938fbed4728c6a1ff8901fc # v2 with: username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_AUTHTOK }} + password: ${{ secrets.DOCKER_AUTHTOK }} # - name: Set up AWS Credentials # uses: aws-actions/configure-aws-credentials@v6 @@ -62,7 +62,7 @@ jobs: # aws-access-key-id: ${{ secrets.AWS_ECR_ACCESS_ID }} # aws-secret-access-key: ${{ secrets.AWS_ECR_SECRET_ID }} # aws-region: us-east-1 - + # - name: Login to AWS ECR # run: | # aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/k9v9d5v2 @@ -90,11 +90,27 @@ jobs: core.setOutput('tag', tag); console.log(`Creating operator release with tag: ${tag}`); + - name: Install LLVM/Clang + run: ./.github/workflows/install-llvm.sh + + - name: Install libbpf headers + run: sudo apt-get update && sudo apt-get install -y libbpf-dev + + - name: Install bpftool + run: ./.github/workflows/install-bpftool.sh + + - name: Generate vmlinux.h + run: make -C BPF kernel_headers + working-directory: KubeArmor + + - name: Generate BPF files + run: go generate ./... + working-directory: KubeArmor + - name: Build & Push KubeArmor Operator working-directory: ./pkg/KubeArmorOperator run: PLATFORM=$PLATFORM make docker-buildx-ubi TAG=${{ steps.vars.outputs.tag }} BUILD_MODE=--push - - name: Install Cosign uses: sigstore/cosign-installer@6f9f17788090df1f26f669e9d70d6ae9567deba6 # main @@ -110,25 +126,24 @@ jobs: cosign sign -r kubearmor/kubearmor-operator-ubi@${{ steps.digest.outputs.operatordigest }} --yes cosign sign -r kubearmor/kubearmor-snitch-ubi@${{ steps.digest.outputs.snitchdigest }} --yes - - name: Install regctl run: | curl -L https://github.com/regclient/regclient/releases/latest/download/regctl-linux-amd64 -o regctl chmod 755 regctl mv regctl /usr/local/bin - + - name: Check install run: regctl version - + # - name: Generate the tag version of Operator and Snitch in ECR # run: | # regctl image copy kubearmor/kubearmor-operator-ubi:${{ steps.vars.outputs.tag }} public.ecr.aws/k9v9d5v2/kubearmor/kubearmor-operator-ubi:${{ steps.vars.outputs.tag }} --digest-tags # regctl image copy kubearmor/kubearmor-snitch-ubi:${{ steps.vars.outputs.tag }} public.ecr.aws/k9v9d5v2/kubearmor/kubearmor-snitch-ubi:${{ steps.vars.outputs.tag }} --digest-tags - + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 with: ref: main - + - name: Get and Match Stable Tag id: stable run: | @@ -152,4 +167,3 @@ jobs: # STABLE_VERSION=`cat STABLE-RELEASE` # regctl image copy kubearmor/kubearmor-operator-ubi:$STABLE_VERSION public.ecr.aws/k9v9d5v2/kubearmor/kubearmor-operator-ubi:stable --digest-tags # regctl image copy kubearmor/kubearmor-snitch-ubi:$STABLE_VERSION public.ecr.aws/k9v9d5v2/kubearmor/kubearmor-snitch-ubi:stable --digest-tags - From ca7f90521d472496974486cb31cd721a70074a3a Mon Sep 17 00:00:00 2001 From: asmit27rai Date: Mon, 24 Aug 2026 15:01:55 +0530 Subject: [PATCH 18/24] vuln fix Signed-off-by: asmit27rai --- KubeArmor/go.mod | 18 ++++++++--------- KubeArmor/go.sum | 36 +++++++++++++++++----------------- deployments/go.mod | 8 ++++---- deployments/go.sum | 12 ++++++------ deployments/podman/go.mod | 16 ++++++++------- deployments/podman/go.sum | 32 +++++++++++++++--------------- pkg/KubeArmorController/go.mod | 16 +++++++-------- pkg/KubeArmorController/go.sum | 28 +++++++++++++------------- pkg/KubeArmorOperator/go.mod | 14 ++++++------- pkg/KubeArmorOperator/go.sum | 32 +++++++++++++++--------------- protobuf/go.mod | 2 +- tests/go.mod | 16 +++++++-------- tests/go.sum | 28 +++++++++++++------------- 13 files changed, 130 insertions(+), 128 deletions(-) diff --git a/KubeArmor/go.mod b/KubeArmor/go.mod index 5bdff241a3..7ea4006b35 100644 --- a/KubeArmor/go.mod +++ b/KubeArmor/go.mod @@ -1,6 +1,6 @@ module github.com/kubearmor/KubeArmor/KubeArmor -go 1.26.5 +go 1.26.6 replace ( github.com/kubearmor/KubeArmor => ../../ @@ -25,7 +25,7 @@ replace ( require ( github.com/Masterminds/sprig/v3 v3.3.0 github.com/cilium/cilium v1.19.4 - github.com/cilium/ebpf v0.21.0 + github.com/cilium/ebpf v0.22.0 github.com/containerd/containerd/api v1.11.1 github.com/containerd/containerd/v2 v2.3.2 github.com/containerd/nri v0.12.0 @@ -43,7 +43,7 @@ require ( github.com/spf13/viper v1.21.0 go.uber.org/zap v1.28.0 golang.org/x/exp v0.0.0-20260508232706-74f9aab9d74a - golang.org/x/sys v0.46.0 + golang.org/x/sys v0.47.0 google.golang.org/grpc v1.82.1 google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af k8s.io/api v0.36.1 @@ -145,13 +145,13 @@ require ( go.uber.org/multierr v1.11.0 // indirect go.yaml.in/yaml/v2 v2.4.4 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect - golang.org/x/crypto v0.53.0 // indirect - golang.org/x/mod v0.37.0 // indirect - golang.org/x/net v0.56.0 // indirect + golang.org/x/crypto v0.54.0 // indirect + golang.org/x/mod v0.39.0 // indirect + golang.org/x/net v0.57.0 // indirect golang.org/x/oauth2 v0.36.0 // indirect - golang.org/x/sync v0.21.0 // indirect - golang.org/x/term v0.44.0 // indirect - golang.org/x/text v0.39.0 // indirect + golang.org/x/sync v0.22.0 // indirect + golang.org/x/term v0.45.0 // indirect + golang.org/x/text v0.40.0 // indirect golang.org/x/time v0.15.0 // indirect gomodules.xyz/jsonpatch/v2 v2.5.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20260526163538-3dc84a4a5aaa // indirect diff --git a/KubeArmor/go.sum b/KubeArmor/go.sum index 4540f9731a..da558432d7 100644 --- a/KubeArmor/go.sum +++ b/KubeArmor/go.sum @@ -25,8 +25,8 @@ github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UF github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cilium/cilium v1.19.4 h1:TxDZW+27NqLbuenPlWd8y8cnAmDNFga/FCMM8zP1qLQ= github.com/cilium/cilium v1.19.4/go.mod h1:9j8LLVACyWe8bbtlUPCjPSARbmOS+tqo9GRNh5SHjJc= -github.com/cilium/ebpf v0.21.0 h1:4dpx1J/B/1apeTmWBH5BkVLayHTkFrMovVPnHEk+l3k= -github.com/cilium/ebpf v0.21.0/go.mod h1:1kHKv6Kvh5a6TePP5vvvoMa1bclRyzUXELSs272fmIQ= +github.com/cilium/ebpf v0.22.0 h1:v2ktp0roffpMOj2MMf3idtCQZOsAoC4BJbAJN+ke2bY= +github.com/cilium/ebpf v0.22.0/go.mod h1:CDzZbe2hC5JjlDC+CY3KFCzlYwN4gbxppYM+Z10bQt4= github.com/cilium/hive v0.0.0-20260108104938-97756f6ff54c h1:mP/Z+oVplgbg3oV1lwsAC86NPLWioN/TqlmZ6+BI2I0= github.com/cilium/hive v0.0.0-20260108104938-97756f6ff54c/go.mod h1:4/8FBMcTjVdkrNNWaB7t3QqaU4kZDJLJ1leKVP9GjEI= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= @@ -353,8 +353,8 @@ go4.org/netipx v0.0.0-20231129151722-fdeea329fbba/go.mod h1:PLyyIXexvUFg3Owu6p/W golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.53.0 h1:QZ4Muo8THX6CizN2vPPd5fBGHyogrdK9fG4wLPFUsto= -golang.org/x/crypto v0.53.0/go.mod h1:DNLU434OwVakk9PzuwV8w62mAJpRJL3vsgcfp4Qnsio= +golang.org/x/crypto v0.54.0 h1:YLIA59K4fiNzHzjnZt2tUJQjQtUWfWbeHBqKtk3eScw= +golang.org/x/crypto v0.54.0/go.mod h1:KWL8ny2AZdGR2cWmzeHrp2azQPGogOv+HeQaVEXC2dk= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20260508232706-74f9aab9d74a h1:+3jdDGGB8NGb1Zktc737jlt3/A5f6UlwSzmvqUuufxw= golang.org/x/exp v0.0.0-20260508232706-74f9aab9d74a/go.mod h1:d2fgXJLVs4dYDHUk5lwMIfzRzSrWCfGZb0ZqeLa/Vcw= @@ -365,8 +365,8 @@ golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPI golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.37.0 h1:vF1DjpVEshcIqoEaauuHebaLk1O1forxjxBaVn884JQ= -golang.org/x/mod v0.37.0/go.mod h1:m8S8VeM9r4dzDwjrKO0a1sZP3YjeMamRRlD+fmR2Q/0= +golang.org/x/mod v0.39.0 h1:UF5zwQdCRRUpHfyPwr7d4UrGiVeldIsogtzWVnczL74= +golang.org/x/mod v0.39.0/go.mod h1:bvIbwjQ0HUFFf5AKukeeYQG4ZBUG9yxQbR9aEweIwYY= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -376,8 +376,8 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.56.0 h1:Rw8j/hFzGvJUZwNBXnAtf5sVDVt+65SK2C7IxCxZt5o= -golang.org/x/net v0.56.0/go.mod h1:D3Ku6r+V6JROoZK144D2XfMHFcMq/0zSfLelVTCFKec= +golang.org/x/net v0.57.0 h1:K5+3DljvIuDG9/Jv9rvyMywYNFCQ9RSUY6OOTTkT+tE= +golang.org/x/net v0.57.0/go.mod h1:KpXc8iv+r3XplLAG/f7Jsf9RPszJzdR0f58q9vGOuEU= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs= golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q= @@ -386,20 +386,20 @@ golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.21.0 h1:HLII4xRRTtCRkxYp4HNFF0Js/Og6q2i++KXbg0gHCwM= -golang.org/x/sync v0.21.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= +golang.org/x/sync v0.22.0 h1:SZjpbeLmrCk4xhRSZFNZW5gFUeCeFgjekvI/+gfScek= +golang.org/x/sync v0.22.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.46.0 h1:noSf2Fq6F8DBgS+LysIkx7rIExoNHJsxOAtPp4rthXw= -golang.org/x/sys v0.46.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= -golang.org/x/term v0.44.0 h1:0rLvDRCtNj0gZkyIXhCyOb2OAzEhLVqc4B+hrsBhrmc= -golang.org/x/term v0.44.0/go.mod h1:7ze4MdzUzLXpSAoFP1H0bOI9aXDqveSvatT5vKcFh2Y= +golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs= +golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/term v0.45.0 h1:NwWyBmoJCbfTHpxrWoZ9C6/VxOf7ic219I8xZZFdrf0= +golang.org/x/term v0.45.0/go.mod h1:9aqxs0blBcrm/n0L9QW0aRVD+ktan8ssZromtqJC43w= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.39.0 h1:UbZz4pLOvn600D6Oh6GGEI6VAmndrEBLv8/6BEXzyus= -golang.org/x/text v0.39.0/go.mod h1:3UwRclnC2g0TU9x8PZiyfOajCd1zaUNHF9cvqcQZ+ZM= +golang.org/x/text v0.40.0 h1:Ub2Z6/xjgF1WrYQz2nuITOEegKFtiIy+rieRJ5lHZKs= +golang.org/x/text v0.40.0/go.mod h1:hpnzDAfGV753zIKo+wk3u1bVKCGPbrnF7+7LBF/UHVY= golang.org/x/time v0.15.0 h1:bbrp8t3bGUeFOx08pvsMYRTCVSMk89u4tKbNOZbp88U= golang.org/x/time v0.15.0/go.mod h1:Y4YMaQmXwGQZoFaVFk4YpCt4FLQMYKZe9oeV/f4MSno= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -411,8 +411,8 @@ golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.47.0 h1:7Kn5x/d1svx/PzryTsqeoZN4TZwqeH5pGWjefhLi/1Q= -golang.org/x/tools v0.47.0/go.mod h1:dFHnyTvFWY212G+h7ZY4Vsp/K3U4/7W9TyVaAul8uCA= +golang.org/x/tools v0.48.0 h1:3+hClM1aLL5mjMKm5ovokw9epgRXPuu2tILgismM6RE= +golang.org/x/tools v0.48.0/go.mod h1:08xX0orndb/F7jJxGDicx061tyd5pcMto75YMAXr6lk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/deployments/go.mod b/deployments/go.mod index dfa447c98e..f3a1cd4646 100644 --- a/deployments/go.mod +++ b/deployments/go.mod @@ -1,6 +1,6 @@ module github.com/kubearmor/KubeArmor/deployments -go 1.26.5 +go 1.26.6 replace ( github.com/kubearmor/KubeArmor => ../ @@ -37,9 +37,9 @@ require ( go.uber.org/zap v1.28.0 // indirect go.yaml.in/yaml/v2 v2.4.4 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect - golang.org/x/net v0.56.0 // indirect - golang.org/x/sys v0.46.0 // indirect - golang.org/x/text v0.39.0 // indirect + golang.org/x/net v0.57.0 // indirect + golang.org/x/sys v0.47.0 // indirect + golang.org/x/text v0.40.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect k8s.io/apiextensions-apiserver v0.36.1 // indirect k8s.io/klog/v2 v2.140.0 // indirect diff --git a/deployments/go.sum b/deployments/go.sum index fa793c8d64..5fd610cba1 100644 --- a/deployments/go.sum +++ b/deployments/go.sum @@ -64,12 +64,12 @@ go.yaml.in/yaml/v2 v2.4.4 h1:tuyd0P+2Ont/d6e2rl3be67goVK4R6deVxCUX5vyPaQ= go.yaml.in/yaml/v2 v2.4.4/go.mod h1:gMZqIpDtDqOfM0uNfy0SkpRhvUryYH0Z6wdMYcacYXQ= go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= -golang.org/x/net v0.56.0 h1:Rw8j/hFzGvJUZwNBXnAtf5sVDVt+65SK2C7IxCxZt5o= -golang.org/x/net v0.56.0/go.mod h1:D3Ku6r+V6JROoZK144D2XfMHFcMq/0zSfLelVTCFKec= -golang.org/x/sys v0.46.0 h1:noSf2Fq6F8DBgS+LysIkx7rIExoNHJsxOAtPp4rthXw= -golang.org/x/sys v0.46.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= -golang.org/x/text v0.39.0 h1:UbZz4pLOvn600D6Oh6GGEI6VAmndrEBLv8/6BEXzyus= -golang.org/x/text v0.39.0/go.mod h1:3UwRclnC2g0TU9x8PZiyfOajCd1zaUNHF9cvqcQZ+ZM= +golang.org/x/net v0.57.0 h1:K5+3DljvIuDG9/Jv9rvyMywYNFCQ9RSUY6OOTTkT+tE= +golang.org/x/net v0.57.0/go.mod h1:KpXc8iv+r3XplLAG/f7Jsf9RPszJzdR0f58q9vGOuEU= +golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs= +golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/text v0.40.0 h1:Ub2Z6/xjgF1WrYQz2nuITOEegKFtiIy+rieRJ5lHZKs= +golang.org/x/text v0.40.0/go.mod h1:hpnzDAfGV753zIKo+wk3u1bVKCGPbrnF7+7LBF/UHVY= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/deployments/podman/go.mod b/deployments/podman/go.mod index 67b45eac00..3e7a494771 100644 --- a/deployments/podman/go.mod +++ b/deployments/podman/go.mod @@ -1,6 +1,6 @@ module github.com/kubearmor/KubeArmor/deployments/podman -go 1.26.5 +go 1.26.6 require ( github.com/kubearmor/KubeArmor/KubeArmor v0.0.0-20260521154542-6789b83a8cee @@ -120,12 +120,14 @@ require ( go.podman.io/image/v5 v5.40.0 // indirect go.podman.io/storage v1.63.1-0.20260519201413-7e9ee2072844 // indirect go.yaml.in/yaml/v2 v2.4.4 // indirect - golang.org/x/crypto v0.53.0 // indirect - golang.org/x/net v0.56.0 // indirect - golang.org/x/sync v0.21.0 // indirect - golang.org/x/sys v0.46.0 // indirect - golang.org/x/term v0.44.0 // indirect - golang.org/x/text v0.39.0 // indirect + golang.org/x/crypto v0.54.0 // indirect + golang.org/x/mod v0.39.0 // indirect + golang.org/x/net v0.57.0 // indirect + golang.org/x/sync v0.22.0 // indirect + golang.org/x/sys v0.47.0 // indirect + golang.org/x/term v0.45.0 // indirect + golang.org/x/text v0.40.0 // indirect + golang.org/x/tools v0.48.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20260519071638-aa98bba5eb94 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20260519071638-aa98bba5eb94 // indirect google.golang.org/grpc v1.82.1 // indirect diff --git a/deployments/podman/go.sum b/deployments/podman/go.sum index 1e1512b8e4..ab626f4ab7 100644 --- a/deployments/podman/go.sum +++ b/deployments/podman/go.sum @@ -310,8 +310,8 @@ golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliY golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= golang.org/x/crypto v0.33.0/go.mod h1:bVdXmD7IV/4GdElGPozy6U7lWdRXA4qyRVGJV57uQ5M= -golang.org/x/crypto v0.53.0 h1:QZ4Muo8THX6CizN2vPPd5fBGHyogrdK9fG4wLPFUsto= -golang.org/x/crypto v0.53.0/go.mod h1:DNLU434OwVakk9PzuwV8w62mAJpRJL3vsgcfp4Qnsio= +golang.org/x/crypto v0.54.0 h1:YLIA59K4fiNzHzjnZt2tUJQjQtUWfWbeHBqKtk3eScw= +golang.org/x/crypto v0.54.0/go.mod h1:KWL8ny2AZdGR2cWmzeHrp2azQPGogOv+HeQaVEXC2dk= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= @@ -319,8 +319,8 @@ golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/mod v0.37.0 h1:vF1DjpVEshcIqoEaauuHebaLk1O1forxjxBaVn884JQ= -golang.org/x/mod v0.37.0/go.mod h1:m8S8VeM9r4dzDwjrKO0a1sZP3YjeMamRRlD+fmR2Q/0= +golang.org/x/mod v0.39.0 h1:UF5zwQdCRRUpHfyPwr7d4UrGiVeldIsogtzWVnczL74= +golang.org/x/mod v0.39.0/go.mod h1:bvIbwjQ0HUFFf5AKukeeYQG4ZBUG9yxQbR9aEweIwYY= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -332,8 +332,8 @@ golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= -golang.org/x/net v0.56.0 h1:Rw8j/hFzGvJUZwNBXnAtf5sVDVt+65SK2C7IxCxZt5o= -golang.org/x/net v0.56.0/go.mod h1:D3Ku6r+V6JROoZK144D2XfMHFcMq/0zSfLelVTCFKec= +golang.org/x/net v0.57.0 h1:K5+3DljvIuDG9/Jv9rvyMywYNFCQ9RSUY6OOTTkT+tE= +golang.org/x/net v0.57.0/go.mod h1:KpXc8iv+r3XplLAG/f7Jsf9RPszJzdR0f58q9vGOuEU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -343,8 +343,8 @@ golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sync v0.21.0 h1:HLII4xRRTtCRkxYp4HNFF0Js/Og6q2i++KXbg0gHCwM= -golang.org/x/sync v0.21.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= +golang.org/x/sync v0.22.0 h1:SZjpbeLmrCk4xhRSZFNZW5gFUeCeFgjekvI/+gfScek= +golang.org/x/sync v0.22.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -362,8 +362,8 @@ golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.46.0 h1:noSf2Fq6F8DBgS+LysIkx7rIExoNHJsxOAtPp4rthXw= -golang.org/x/sys v0.46.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs= +golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -373,8 +373,8 @@ golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= golang.org/x/term v0.29.0/go.mod h1:6bl4lRlvVuDgSf3179VpIxBF0o10JUpXWOnI7nErv7s= -golang.org/x/term v0.44.0 h1:0rLvDRCtNj0gZkyIXhCyOb2OAzEhLVqc4B+hrsBhrmc= -golang.org/x/term v0.44.0/go.mod h1:7ze4MdzUzLXpSAoFP1H0bOI9aXDqveSvatT5vKcFh2Y= +golang.org/x/term v0.45.0 h1:NwWyBmoJCbfTHpxrWoZ9C6/VxOf7ic219I8xZZFdrf0= +golang.org/x/term v0.45.0/go.mod h1:9aqxs0blBcrm/n0L9QW0aRVD+ktan8ssZromtqJC43w= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= @@ -384,8 +384,8 @@ golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY= -golang.org/x/text v0.39.0 h1:UbZz4pLOvn600D6Oh6GGEI6VAmndrEBLv8/6BEXzyus= -golang.org/x/text v0.39.0/go.mod h1:3UwRclnC2g0TU9x8PZiyfOajCd1zaUNHF9cvqcQZ+ZM= +golang.org/x/text v0.40.0 h1:Ub2Z6/xjgF1WrYQz2nuITOEegKFtiIy+rieRJ5lHZKs= +golang.org/x/text v0.40.0/go.mod h1:hpnzDAfGV753zIKo+wk3u1bVKCGPbrnF7+7LBF/UHVY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -394,8 +394,8 @@ golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= -golang.org/x/tools v0.47.0 h1:7Kn5x/d1svx/PzryTsqeoZN4TZwqeH5pGWjefhLi/1Q= -golang.org/x/tools v0.47.0/go.mod h1:dFHnyTvFWY212G+h7ZY4Vsp/K3U4/7W9TyVaAul8uCA= +golang.org/x/tools v0.48.0 h1:3+hClM1aLL5mjMKm5ovokw9epgRXPuu2tILgismM6RE= +golang.org/x/tools v0.48.0/go.mod h1:08xX0orndb/F7jJxGDicx061tyd5pcMto75YMAXr6lk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/pkg/KubeArmorController/go.mod b/pkg/KubeArmorController/go.mod index 2886509571..1362c6248d 100644 --- a/pkg/KubeArmorController/go.mod +++ b/pkg/KubeArmorController/go.mod @@ -1,6 +1,6 @@ module github.com/kubearmor/KubeArmor/pkg/KubeArmorController -go 1.26.5 +go 1.26.6 replace github.com/go-jose/go-jose/v4 => github.com/go-jose/go-jose/v4 v4.1.4 @@ -81,15 +81,15 @@ require ( go.yaml.in/yaml/v2 v2.4.4 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect golang.org/x/exp v0.0.0-20260508232706-74f9aab9d74a // indirect - golang.org/x/mod v0.37.0 // indirect - golang.org/x/net v0.56.0 // indirect + golang.org/x/mod v0.39.0 // indirect + golang.org/x/net v0.57.0 // indirect golang.org/x/oauth2 v0.36.0 // indirect - golang.org/x/sync v0.21.0 // indirect - golang.org/x/sys v0.46.0 // indirect - golang.org/x/term v0.44.0 // indirect - golang.org/x/text v0.39.0 // indirect + golang.org/x/sync v0.22.0 // indirect + golang.org/x/sys v0.47.0 // indirect + golang.org/x/term v0.45.0 // indirect + golang.org/x/text v0.40.0 // indirect golang.org/x/time v0.15.0 // indirect - golang.org/x/tools v0.47.0 // indirect + golang.org/x/tools v0.48.0 // indirect gomodules.xyz/jsonpatch/v2 v2.5.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20260526163538-3dc84a4a5aaa // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20260526163538-3dc84a4a5aaa // indirect diff --git a/pkg/KubeArmorController/go.sum b/pkg/KubeArmorController/go.sum index 80e84e0857..17d77df214 100644 --- a/pkg/KubeArmorController/go.sum +++ b/pkg/KubeArmorController/go.sum @@ -196,24 +196,24 @@ go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= golang.org/x/exp v0.0.0-20260508232706-74f9aab9d74a h1:+3jdDGGB8NGb1Zktc737jlt3/A5f6UlwSzmvqUuufxw= golang.org/x/exp v0.0.0-20260508232706-74f9aab9d74a/go.mod h1:d2fgXJLVs4dYDHUk5lwMIfzRzSrWCfGZb0ZqeLa/Vcw= -golang.org/x/mod v0.37.0 h1:vF1DjpVEshcIqoEaauuHebaLk1O1forxjxBaVn884JQ= -golang.org/x/mod v0.37.0/go.mod h1:m8S8VeM9r4dzDwjrKO0a1sZP3YjeMamRRlD+fmR2Q/0= -golang.org/x/net v0.56.0 h1:Rw8j/hFzGvJUZwNBXnAtf5sVDVt+65SK2C7IxCxZt5o= -golang.org/x/net v0.56.0/go.mod h1:D3Ku6r+V6JROoZK144D2XfMHFcMq/0zSfLelVTCFKec= +golang.org/x/mod v0.39.0 h1:UF5zwQdCRRUpHfyPwr7d4UrGiVeldIsogtzWVnczL74= +golang.org/x/mod v0.39.0/go.mod h1:bvIbwjQ0HUFFf5AKukeeYQG4ZBUG9yxQbR9aEweIwYY= +golang.org/x/net v0.57.0 h1:K5+3DljvIuDG9/Jv9rvyMywYNFCQ9RSUY6OOTTkT+tE= +golang.org/x/net v0.57.0/go.mod h1:KpXc8iv+r3XplLAG/f7Jsf9RPszJzdR0f58q9vGOuEU= golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs= golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q= -golang.org/x/sync v0.21.0 h1:HLII4xRRTtCRkxYp4HNFF0Js/Og6q2i++KXbg0gHCwM= -golang.org/x/sync v0.21.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= -golang.org/x/sys v0.46.0 h1:noSf2Fq6F8DBgS+LysIkx7rIExoNHJsxOAtPp4rthXw= -golang.org/x/sys v0.46.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= -golang.org/x/term v0.44.0 h1:0rLvDRCtNj0gZkyIXhCyOb2OAzEhLVqc4B+hrsBhrmc= -golang.org/x/term v0.44.0/go.mod h1:7ze4MdzUzLXpSAoFP1H0bOI9aXDqveSvatT5vKcFh2Y= -golang.org/x/text v0.39.0 h1:UbZz4pLOvn600D6Oh6GGEI6VAmndrEBLv8/6BEXzyus= -golang.org/x/text v0.39.0/go.mod h1:3UwRclnC2g0TU9x8PZiyfOajCd1zaUNHF9cvqcQZ+ZM= +golang.org/x/sync v0.22.0 h1:SZjpbeLmrCk4xhRSZFNZW5gFUeCeFgjekvI/+gfScek= +golang.org/x/sync v0.22.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= +golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs= +golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/term v0.45.0 h1:NwWyBmoJCbfTHpxrWoZ9C6/VxOf7ic219I8xZZFdrf0= +golang.org/x/term v0.45.0/go.mod h1:9aqxs0blBcrm/n0L9QW0aRVD+ktan8ssZromtqJC43w= +golang.org/x/text v0.40.0 h1:Ub2Z6/xjgF1WrYQz2nuITOEegKFtiIy+rieRJ5lHZKs= +golang.org/x/text v0.40.0/go.mod h1:hpnzDAfGV753zIKo+wk3u1bVKCGPbrnF7+7LBF/UHVY= golang.org/x/time v0.15.0 h1:bbrp8t3bGUeFOx08pvsMYRTCVSMk89u4tKbNOZbp88U= golang.org/x/time v0.15.0/go.mod h1:Y4YMaQmXwGQZoFaVFk4YpCt4FLQMYKZe9oeV/f4MSno= -golang.org/x/tools v0.47.0 h1:7Kn5x/d1svx/PzryTsqeoZN4TZwqeH5pGWjefhLi/1Q= -golang.org/x/tools v0.47.0/go.mod h1:dFHnyTvFWY212G+h7ZY4Vsp/K3U4/7W9TyVaAul8uCA= +golang.org/x/tools v0.48.0 h1:3+hClM1aLL5mjMKm5ovokw9epgRXPuu2tILgismM6RE= +golang.org/x/tools v0.48.0/go.mod h1:08xX0orndb/F7jJxGDicx061tyd5pcMto75YMAXr6lk= gomodules.xyz/jsonpatch/v2 v2.5.0 h1:JELs8RLM12qJGXU4u/TO3V25KW8GreMKl9pdkk14RM0= gomodules.xyz/jsonpatch/v2 v2.5.0/go.mod h1:AH3dM2RI6uoBZxn3LVrfvJ3E0/9dG4cSrbuBJT4moAY= gonum.org/v1/gonum v0.17.0 h1:VbpOemQlsSMrYmn7T2OUvQ4dqxQXU+ouZFQsZOx50z4= diff --git a/pkg/KubeArmorOperator/go.mod b/pkg/KubeArmorOperator/go.mod index 86f10645a6..588811e323 100644 --- a/pkg/KubeArmorOperator/go.mod +++ b/pkg/KubeArmorOperator/go.mod @@ -1,6 +1,6 @@ module github.com/kubearmor/KubeArmor/pkg/KubeArmorOperator -go 1.26.5 +go 1.26.6 replace ( github.com/go-jose/go-jose/v4 => github.com/go-jose/go-jose/v4 v4.1.4 @@ -64,11 +64,11 @@ require ( go.opentelemetry.io/otel v1.44.0 // indirect go.opentelemetry.io/otel/metric v1.44.0 // indirect go.opentelemetry.io/otel/trace v1.44.0 // indirect - golang.org/x/net v0.56.0 // indirect + golang.org/x/net v0.57.0 // indirect golang.org/x/oauth2 v0.36.0 // indirect - golang.org/x/sync v0.21.0 // indirect - golang.org/x/sys v0.46.0 // indirect - golang.org/x/term v0.44.0 // indirect + golang.org/x/sync v0.22.0 // indirect + golang.org/x/sys v0.47.0 // indirect + golang.org/x/term v0.45.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20260526163538-3dc84a4a5aaa // indirect ) @@ -97,7 +97,7 @@ require ( ) require ( - github.com/cilium/ebpf v0.21.0 // indirect + github.com/cilium/ebpf v0.22.0 // indirect github.com/containers/common v0.64.2 github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/emicklei/go-restful/v3 v3.13.0 // indirect @@ -128,7 +128,7 @@ require ( go.uber.org/multierr v1.11.0 // indirect go.yaml.in/yaml/v2 v2.4.4 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect - golang.org/x/text v0.39.0 // indirect + golang.org/x/text v0.40.0 // indirect golang.org/x/time v0.15.0 // indirect google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af // indirect gopkg.in/evanphx/json-patch.v4 v4.13.0 // indirect diff --git a/pkg/KubeArmorOperator/go.sum b/pkg/KubeArmorOperator/go.sum index ed312b1159..885b7b7886 100644 --- a/pkg/KubeArmorOperator/go.sum +++ b/pkg/KubeArmorOperator/go.sum @@ -11,8 +11,8 @@ github.com/Microsoft/hcsshim v0.15.0-rc.1/go.mod h1:HWvvUPIy9HF6LotILj1G4VyS065r github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cilium/ebpf v0.21.0 h1:4dpx1J/B/1apeTmWBH5BkVLayHTkFrMovVPnHEk+l3k= -github.com/cilium/ebpf v0.21.0/go.mod h1:1kHKv6Kvh5a6TePP5vvvoMa1bclRyzUXELSs272fmIQ= +github.com/cilium/ebpf v0.22.0 h1:v2ktp0roffpMOj2MMf3idtCQZOsAoC4BJbAJN+ke2bY= +github.com/cilium/ebpf v0.22.0/go.mod h1:CDzZbe2hC5JjlDC+CY3KFCzlYwN4gbxppYM+Z10bQt4= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/containerd/cgroups/v3 v3.1.3 h1:eUNflyMddm18+yrDmZPn3jI7C5hJ9ahABE5q6dyLYXQ= @@ -285,8 +285,8 @@ golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvx golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.37.0 h1:vF1DjpVEshcIqoEaauuHebaLk1O1forxjxBaVn884JQ= -golang.org/x/mod v0.37.0/go.mod h1:m8S8VeM9r4dzDwjrKO0a1sZP3YjeMamRRlD+fmR2Q/0= +golang.org/x/mod v0.39.0 h1:UF5zwQdCRRUpHfyPwr7d4UrGiVeldIsogtzWVnczL74= +golang.org/x/mod v0.39.0/go.mod h1:bvIbwjQ0HUFFf5AKukeeYQG4ZBUG9yxQbR9aEweIwYY= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -296,8 +296,8 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.56.0 h1:Rw8j/hFzGvJUZwNBXnAtf5sVDVt+65SK2C7IxCxZt5o= -golang.org/x/net v0.56.0/go.mod h1:D3Ku6r+V6JROoZK144D2XfMHFcMq/0zSfLelVTCFKec= +golang.org/x/net v0.57.0 h1:K5+3DljvIuDG9/Jv9rvyMywYNFCQ9RSUY6OOTTkT+tE= +golang.org/x/net v0.57.0/go.mod h1:KpXc8iv+r3XplLAG/f7Jsf9RPszJzdR0f58q9vGOuEU= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs= golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q= @@ -306,20 +306,20 @@ golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.21.0 h1:HLII4xRRTtCRkxYp4HNFF0Js/Og6q2i++KXbg0gHCwM= -golang.org/x/sync v0.21.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= +golang.org/x/sync v0.22.0 h1:SZjpbeLmrCk4xhRSZFNZW5gFUeCeFgjekvI/+gfScek= +golang.org/x/sync v0.22.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.46.0 h1:noSf2Fq6F8DBgS+LysIkx7rIExoNHJsxOAtPp4rthXw= -golang.org/x/sys v0.46.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= -golang.org/x/term v0.44.0 h1:0rLvDRCtNj0gZkyIXhCyOb2OAzEhLVqc4B+hrsBhrmc= -golang.org/x/term v0.44.0/go.mod h1:7ze4MdzUzLXpSAoFP1H0bOI9aXDqveSvatT5vKcFh2Y= +golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs= +golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/term v0.45.0 h1:NwWyBmoJCbfTHpxrWoZ9C6/VxOf7ic219I8xZZFdrf0= +golang.org/x/term v0.45.0/go.mod h1:9aqxs0blBcrm/n0L9QW0aRVD+ktan8ssZromtqJC43w= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.39.0 h1:UbZz4pLOvn600D6Oh6GGEI6VAmndrEBLv8/6BEXzyus= -golang.org/x/text v0.39.0/go.mod h1:3UwRclnC2g0TU9x8PZiyfOajCd1zaUNHF9cvqcQZ+ZM= +golang.org/x/text v0.40.0 h1:Ub2Z6/xjgF1WrYQz2nuITOEegKFtiIy+rieRJ5lHZKs= +golang.org/x/text v0.40.0/go.mod h1:hpnzDAfGV753zIKo+wk3u1bVKCGPbrnF7+7LBF/UHVY= golang.org/x/time v0.15.0 h1:bbrp8t3bGUeFOx08pvsMYRTCVSMk89u4tKbNOZbp88U= golang.org/x/time v0.15.0/go.mod h1:Y4YMaQmXwGQZoFaVFk4YpCt4FLQMYKZe9oeV/f4MSno= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -330,8 +330,8 @@ golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBn golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.47.0 h1:7Kn5x/d1svx/PzryTsqeoZN4TZwqeH5pGWjefhLi/1Q= -golang.org/x/tools v0.47.0/go.mod h1:dFHnyTvFWY212G+h7ZY4Vsp/K3U4/7W9TyVaAul8uCA= +golang.org/x/tools v0.48.0 h1:3+hClM1aLL5mjMKm5ovokw9epgRXPuu2tILgismM6RE= +golang.org/x/tools v0.48.0/go.mod h1:08xX0orndb/F7jJxGDicx061tyd5pcMto75YMAXr6lk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/protobuf/go.mod b/protobuf/go.mod index c36710b4cd..612bbb409b 100644 --- a/protobuf/go.mod +++ b/protobuf/go.mod @@ -1,6 +1,6 @@ module github.com/kubearmor/KubeArmor/protobuf -go 1.26.5 +go 1.26.6 replace ( github.com/go-jose/go-jose/v4 => github.com/go-jose/go-jose/v4 v4.1.4 diff --git a/tests/go.mod b/tests/go.mod index 53e01c9aba..600e6e241a 100644 --- a/tests/go.mod +++ b/tests/go.mod @@ -1,6 +1,6 @@ module github.com/kubearmor/KubeArmor/tests -go 1.26.5 +go 1.26.6 replace ( github.com/kubearmor/KubeArmor/pkg/KubeArmorController => ../pkg/KubeArmorController @@ -95,15 +95,15 @@ require ( go.yaml.in/yaml/v2 v2.4.4 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect golang.org/x/exp v0.0.0-20260508232706-74f9aab9d74a // indirect - golang.org/x/mod v0.37.0 // indirect - golang.org/x/net v0.56.0 // indirect + golang.org/x/mod v0.39.0 // indirect + golang.org/x/net v0.57.0 // indirect golang.org/x/oauth2 v0.36.0 // indirect - golang.org/x/sync v0.21.0 // indirect - golang.org/x/sys v0.46.0 // indirect - golang.org/x/term v0.44.0 // indirect - golang.org/x/text v0.39.0 // indirect + golang.org/x/sync v0.22.0 // indirect + golang.org/x/sys v0.47.0 // indirect + golang.org/x/term v0.45.0 // indirect + golang.org/x/text v0.40.0 // indirect golang.org/x/time v0.15.0 // indirect - golang.org/x/tools v0.47.0 // indirect + golang.org/x/tools v0.48.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20260526163538-3dc84a4a5aaa // indirect gopkg.in/evanphx/json-patch.v4 v4.13.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect diff --git a/tests/go.sum b/tests/go.sum index b270b13cf2..6920e28311 100644 --- a/tests/go.sum +++ b/tests/go.sum @@ -215,25 +215,25 @@ go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= golang.org/x/exp v0.0.0-20260508232706-74f9aab9d74a h1:+3jdDGGB8NGb1Zktc737jlt3/A5f6UlwSzmvqUuufxw= golang.org/x/exp v0.0.0-20260508232706-74f9aab9d74a/go.mod h1:d2fgXJLVs4dYDHUk5lwMIfzRzSrWCfGZb0ZqeLa/Vcw= -golang.org/x/mod v0.37.0 h1:vF1DjpVEshcIqoEaauuHebaLk1O1forxjxBaVn884JQ= -golang.org/x/mod v0.37.0/go.mod h1:m8S8VeM9r4dzDwjrKO0a1sZP3YjeMamRRlD+fmR2Q/0= -golang.org/x/net v0.56.0 h1:Rw8j/hFzGvJUZwNBXnAtf5sVDVt+65SK2C7IxCxZt5o= -golang.org/x/net v0.56.0/go.mod h1:D3Ku6r+V6JROoZK144D2XfMHFcMq/0zSfLelVTCFKec= +golang.org/x/mod v0.39.0 h1:UF5zwQdCRRUpHfyPwr7d4UrGiVeldIsogtzWVnczL74= +golang.org/x/mod v0.39.0/go.mod h1:bvIbwjQ0HUFFf5AKukeeYQG4ZBUG9yxQbR9aEweIwYY= +golang.org/x/net v0.57.0 h1:K5+3DljvIuDG9/Jv9rvyMywYNFCQ9RSUY6OOTTkT+tE= +golang.org/x/net v0.57.0/go.mod h1:KpXc8iv+r3XplLAG/f7Jsf9RPszJzdR0f58q9vGOuEU= golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs= golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q= -golang.org/x/sync v0.21.0 h1:HLII4xRRTtCRkxYp4HNFF0Js/Og6q2i++KXbg0gHCwM= -golang.org/x/sync v0.21.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= +golang.org/x/sync v0.22.0 h1:SZjpbeLmrCk4xhRSZFNZW5gFUeCeFgjekvI/+gfScek= +golang.org/x/sync v0.22.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.46.0 h1:noSf2Fq6F8DBgS+LysIkx7rIExoNHJsxOAtPp4rthXw= -golang.org/x/sys v0.46.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= -golang.org/x/term v0.44.0 h1:0rLvDRCtNj0gZkyIXhCyOb2OAzEhLVqc4B+hrsBhrmc= -golang.org/x/term v0.44.0/go.mod h1:7ze4MdzUzLXpSAoFP1H0bOI9aXDqveSvatT5vKcFh2Y= -golang.org/x/text v0.39.0 h1:UbZz4pLOvn600D6Oh6GGEI6VAmndrEBLv8/6BEXzyus= -golang.org/x/text v0.39.0/go.mod h1:3UwRclnC2g0TU9x8PZiyfOajCd1zaUNHF9cvqcQZ+ZM= +golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs= +golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/term v0.45.0 h1:NwWyBmoJCbfTHpxrWoZ9C6/VxOf7ic219I8xZZFdrf0= +golang.org/x/term v0.45.0/go.mod h1:9aqxs0blBcrm/n0L9QW0aRVD+ktan8ssZromtqJC43w= +golang.org/x/text v0.40.0 h1:Ub2Z6/xjgF1WrYQz2nuITOEegKFtiIy+rieRJ5lHZKs= +golang.org/x/text v0.40.0/go.mod h1:hpnzDAfGV753zIKo+wk3u1bVKCGPbrnF7+7LBF/UHVY= golang.org/x/time v0.15.0 h1:bbrp8t3bGUeFOx08pvsMYRTCVSMk89u4tKbNOZbp88U= golang.org/x/time v0.15.0/go.mod h1:Y4YMaQmXwGQZoFaVFk4YpCt4FLQMYKZe9oeV/f4MSno= -golang.org/x/tools v0.47.0 h1:7Kn5x/d1svx/PzryTsqeoZN4TZwqeH5pGWjefhLi/1Q= -golang.org/x/tools v0.47.0/go.mod h1:dFHnyTvFWY212G+h7ZY4Vsp/K3U4/7W9TyVaAul8uCA= +golang.org/x/tools v0.48.0 h1:3+hClM1aLL5mjMKm5ovokw9epgRXPuu2tILgismM6RE= +golang.org/x/tools v0.48.0/go.mod h1:08xX0orndb/F7jJxGDicx061tyd5pcMto75YMAXr6lk= gonum.org/v1/gonum v0.17.0 h1:VbpOemQlsSMrYmn7T2OUvQ4dqxQXU+ouZFQsZOx50z4= gonum.org/v1/gonum v0.17.0/go.mod h1:El3tOrEuMpv2UdMrbNlKEh9vd86bmQ6vqIcDwxEOc1E= google.golang.org/genproto/googleapis/rpc v0.0.0-20260526163538-3dc84a4a5aaa h1:mZHHdPZl0dbGHCflZgAq/Q468DWVFcU2whhB2KAo8fk= From 45e71dfc024a4f963b15a60877a577a373d7642b Mon Sep 17 00:00:00 2001 From: asmit27rai Date: Mon, 24 Aug 2026 15:09:38 +0530 Subject: [PATCH 19/24] vuln fix1 Signed-off-by: asmit27rai --- pkg/KubeArmorController/Dockerfile | 2 +- pkg/KubeArmorOperator/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/KubeArmorController/Dockerfile b/pkg/KubeArmorController/Dockerfile index c54be8fc47..90934484d5 100644 --- a/pkg/KubeArmorController/Dockerfile +++ b/pkg/KubeArmorController/Dockerfile @@ -2,7 +2,7 @@ # Copyright 2026 Authors of KubeArmor # Build the manager binary -FROM golang:1.26@sha256:079e59808d2d252516e27e3f3a9c003740dee7f75e55aa71528766d52bcfc16a AS builder +FROM golang:1.26@sha256:45a5f7a810238aabcbad211d70b9ae082022d96f7c7259e94041ad1b933575ac AS builder WORKDIR /workspace # Copy the Go Modules manifests diff --git a/pkg/KubeArmorOperator/Dockerfile b/pkg/KubeArmorOperator/Dockerfile index 49c9ce8688..4c9456dd58 100644 --- a/pkg/KubeArmorOperator/Dockerfile +++ b/pkg/KubeArmorOperator/Dockerfile @@ -1,7 +1,7 @@ # SPDX-License-Identifier: Apache-2.0 # Copyright 2026 Authors of KubeArmor -FROM docker.io/golang:1.26@sha256:116489021a0d8ca3facf79f84ee69052cff88733547150a644d45c5eaa91dc43 AS builder +FROM docker.io/golang:1.26@sha256:45a5f7a810238aabcbad211d70b9ae082022d96f7c7259e94041ad1b933575ac AS builder ARG GOARCH ARG GOOS From a55e2c225e1fec371bc79f1dd106f5ea6d4aca9d Mon Sep 17 00:00:00 2001 From: asmit27rai Date: Mon, 24 Aug 2026 15:23:03 +0530 Subject: [PATCH 20/24] vuln fix2 Signed-off-by: asmit27rai --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 4641efaf15..2b59f13cc9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,7 +3,7 @@ ### Builder -FROM golang:1.26-alpine3.22@sha256:0178a641fbb4858c5f1b48e34bdaabe0350a330a1b1149aabd498d0699ff5fb2 AS builder +FROM golang:1.26-alpine3.22@sha256:28d89ee9cc0ff9fec75c82ca201e6bf7fdf9a679d4b7b24dfa04f2bb766bb468 AS builder RUN apk --no-cache update && apk upgrade --no-cache libcrypto3 libssl3 zlib libexpat RUN apk add --no-cache git clang llvm make gcc protobuf protobuf-dev curl elfutils-dev libbpf-dev From f8c9af4cc02cc54477e3ff663fdea252070b4c86 Mon Sep 17 00:00:00 2001 From: asmit27rai Date: Mon, 24 Aug 2026 15:51:19 +0530 Subject: [PATCH 21/24] vuln fix3 Signed-off-by: asmit27rai --- pkg/KubeArmorOperator/Dockerfile | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pkg/KubeArmorOperator/Dockerfile b/pkg/KubeArmorOperator/Dockerfile index 4c9456dd58..fe32170ee8 100644 --- a/pkg/KubeArmorOperator/Dockerfile +++ b/pkg/KubeArmorOperator/Dockerfile @@ -7,11 +7,25 @@ ARG GOOS WORKDIR /KubeArmor +RUN apt-get update && apt-get install -y clang llvm make gcc curl libelf-dev libbpf-dev + +RUN arch=$(uname -m) bpftool_version=v7.3.0 && \ + if [ "$arch" = "aarch64" ]; then \ + arch=arm64; \ + elif [ "$arch" = "x86_64" ]; then \ + arch=amd64; \ + fi && \ + curl -LO https://github.com/libbpf/bpftool/releases/download/$bpftool_version/bpftool-$bpftool_version-$arch.tar.gz && \ + tar -xzf bpftool-$bpftool_version-$arch.tar.gz -C /usr/local/bin && \ + chmod +x /usr/local/bin/bpftool + # relative deps required by the operator ADD deployments deployments ADD KubeArmor KubeArmor ADD pkg/KubeArmorController pkg/KubeArmorController +RUN cd /KubeArmor/KubeArmor/utils/bpflsmprobe && go generate ./... + # KubeArmorOperator directory ARG OPERATOR_DIR=pkg/KubeArmorOperator WORKDIR /KubeArmor/$OPERATOR_DIR From 7a6202b9e1fe67c3d90ee17f5c9878839158fd32 Mon Sep 17 00:00:00 2001 From: asmit27rai Date: Mon, 24 Aug 2026 16:03:54 +0530 Subject: [PATCH 22/24] vuln fix4 Signed-off-by: asmit27rai --- pkg/KubeArmorOperator/Dockerfile | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkg/KubeArmorOperator/Dockerfile b/pkg/KubeArmorOperator/Dockerfile index fe32170ee8..3a182afaad 100644 --- a/pkg/KubeArmorOperator/Dockerfile +++ b/pkg/KubeArmorOperator/Dockerfile @@ -24,7 +24,12 @@ ADD deployments deployments ADD KubeArmor KubeArmor ADD pkg/KubeArmorController pkg/KubeArmorController -RUN cd /KubeArmor/KubeArmor/utils/bpflsmprobe && go generate ./... +RUN if [ ! -f /KubeArmor/KubeArmor/BPF/vmlinux.h ]; then \ + if [ -f /sys/kernel/btf/vmlinux ]; then \ + bpftool btf dump file /sys/kernel/btf/vmlinux format c > /KubeArmor/KubeArmor/BPF/vmlinux.h || true; \ + fi \ + fi && \ + cd /KubeArmor/KubeArmor/utils/bpflsmprobe && go generate ./... # KubeArmorOperator directory ARG OPERATOR_DIR=pkg/KubeArmorOperator From 6294adf2c9cd1d212cba589e78683c21426b2c9e Mon Sep 17 00:00:00 2001 From: asmit27rai Date: Wed, 26 Aug 2026 13:25:44 +0530 Subject: [PATCH 23/24] improve pinn dep Signed-off-by: asmit27rai --- .github/workflows/ci-test-ebpf.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci-test-ebpf.yml b/.github/workflows/ci-test-ebpf.yml index bff2a34e8a..f929d6eda0 100644 --- a/.github/workflows/ci-test-ebpf.yml +++ b/.github/workflows/ci-test-ebpf.yml @@ -16,15 +16,15 @@ jobs: - uses: actions/setup-go@40f1582b2485089dde7abd97c1529aa768e1baff # v5 with: - go-version-file: 'KubeArmor/go.mod' + go-version-file: "KubeArmor/go.mod" - name: Install necessary dependencies run: | sudo apt-get update sudo apt-get -y install build-essential libelf-dev pkg-config net-tools linux-headers-$(uname -r) linux-tools-$(uname -r) libbpf-dev unzip protobuf-compiler - - go install google.golang.org/protobuf/cmd/protoc-gen-go@latest - go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest + + go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.36.11 + go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.6.1 export arch=$(uname -m) export bpftool_version=v7.2.0 @@ -49,4 +49,4 @@ jobs: - name: Load eBPF Bytecode working-directory: KubeArmor/monitor - run: sudo -E go run ci_load.go \ No newline at end of file + run: sudo -E go run ci_load.go From 56c0c15c6279ee92f7d7702af0a545ec81a50df9 Mon Sep 17 00:00:00 2001 From: asmit27rai Date: Wed, 26 Aug 2026 13:35:08 +0530 Subject: [PATCH 24/24] add binary generation in lvh test Signed-off-by: asmit27rai --- .github/workflows/ci-test-lvh-matrix.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/.github/workflows/ci-test-lvh-matrix.yml b/.github/workflows/ci-test-lvh-matrix.yml index 553f9b7da1..da72675a6a 100644 --- a/.github/workflows/ci-test-lvh-matrix.yml +++ b/.github/workflows/ci-test-lvh-matrix.yml @@ -50,6 +50,23 @@ jobs: with: go-version-file: 'KubeArmor/go.mod' + - name: Install the latest LLVM toolchain + run: ./.github/workflows/install-llvm.sh + + - name: Install libbpf headers + run: sudo apt-get update && sudo apt-get install -y libbpf-dev + + - name: Install bpftool + run: ./.github/workflows/install-bpftool.sh + + - name: Generate vmlinux.h + run: make -C BPF kernel_headers + working-directory: KubeArmor + + - name: Generate BPF files + run: go generate ./... + working-directory: KubeArmor + - name: Build system monitor loader binary working-directory: KubeArmor/monitor run: go build ci_load.go