bindings.rs 91 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767
  1. #[repr(C)]
  2. #[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
  3. pub struct __BindgenBitfieldUnit<Storage> {
  4. storage: Storage,
  5. }
  6. impl<Storage> __BindgenBitfieldUnit<Storage> {
  7. #[inline]
  8. pub const fn new(storage: Storage) -> Self {
  9. Self { storage }
  10. }
  11. }
  12. impl<Storage> __BindgenBitfieldUnit<Storage>
  13. where
  14. Storage: AsRef<[u8]> + AsMut<[u8]>,
  15. {
  16. #[inline]
  17. pub fn get_bit(&self, index: usize) -> bool {
  18. debug_assert!(index / 8 < self.storage.as_ref().len());
  19. let byte_index = index / 8;
  20. let byte = self.storage.as_ref()[byte_index];
  21. let bit_index = if cfg!(target_endian = "big") {
  22. 7 - (index % 8)
  23. } else {
  24. index % 8
  25. };
  26. let mask = 1 << bit_index;
  27. byte & mask == mask
  28. }
  29. #[inline]
  30. pub fn set_bit(&mut self, index: usize, val: bool) {
  31. debug_assert!(index / 8 < self.storage.as_ref().len());
  32. let byte_index = index / 8;
  33. let byte = &mut self.storage.as_mut()[byte_index];
  34. let bit_index = if cfg!(target_endian = "big") {
  35. 7 - (index % 8)
  36. } else {
  37. index % 8
  38. };
  39. let mask = 1 << bit_index;
  40. if val {
  41. *byte |= mask;
  42. } else {
  43. *byte &= !mask;
  44. }
  45. }
  46. #[inline]
  47. pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
  48. debug_assert!(bit_width <= 64);
  49. debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
  50. debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
  51. let mut val = 0;
  52. for i in 0..(bit_width as usize) {
  53. if self.get_bit(i + bit_offset) {
  54. let index = if cfg!(target_endian = "big") {
  55. bit_width as usize - 1 - i
  56. } else {
  57. i
  58. };
  59. val |= 1 << index;
  60. }
  61. }
  62. val
  63. }
  64. #[inline]
  65. pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
  66. debug_assert!(bit_width <= 64);
  67. debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
  68. debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
  69. for i in 0..(bit_width as usize) {
  70. let mask = 1 << i;
  71. let val_bit_is_set = val & mask == mask;
  72. let index = if cfg!(target_endian = "big") {
  73. bit_width as usize - 1 - i
  74. } else {
  75. i
  76. };
  77. self.set_bit(index + bit_offset, val_bit_is_set);
  78. }
  79. }
  80. }
  81. #[repr(C)]
  82. #[derive(Default)]
  83. pub struct __IncompleteArrayField<T>(::core::marker::PhantomData<T>, [T; 0]);
  84. impl<T> __IncompleteArrayField<T> {
  85. #[inline]
  86. pub const fn new() -> Self {
  87. __IncompleteArrayField(::core::marker::PhantomData, [])
  88. }
  89. #[inline]
  90. pub fn as_ptr(&self) -> *const T {
  91. self as *const _ as *const T
  92. }
  93. #[inline]
  94. pub fn as_mut_ptr(&mut self) -> *mut T {
  95. self as *mut _ as *mut T
  96. }
  97. #[inline]
  98. pub unsafe fn as_slice(&self, len: usize) -> &[T] {
  99. ::core::slice::from_raw_parts(self.as_ptr(), len)
  100. }
  101. #[inline]
  102. pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
  103. ::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
  104. }
  105. }
  106. impl<T> ::core::fmt::Debug for __IncompleteArrayField<T> {
  107. fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
  108. fmt.write_str("__IncompleteArrayField")
  109. }
  110. }
  111. pub const BPF_LD: u32 = 0;
  112. pub const BPF_LDX: u32 = 1;
  113. pub const BPF_ST: u32 = 2;
  114. pub const BPF_STX: u32 = 3;
  115. pub const BPF_ALU: u32 = 4;
  116. pub const BPF_JMP: u32 = 5;
  117. pub const BPF_RET: u32 = 6;
  118. pub const BPF_MISC: u32 = 7;
  119. pub const BPF_W: u32 = 0;
  120. pub const BPF_H: u32 = 8;
  121. pub const BPF_B: u32 = 16;
  122. pub const BPF_IMM: u32 = 0;
  123. pub const BPF_ABS: u32 = 32;
  124. pub const BPF_IND: u32 = 64;
  125. pub const BPF_MEM: u32 = 96;
  126. pub const BPF_LEN: u32 = 128;
  127. pub const BPF_MSH: u32 = 160;
  128. pub const BPF_ADD: u32 = 0;
  129. pub const BPF_SUB: u32 = 16;
  130. pub const BPF_MUL: u32 = 32;
  131. pub const BPF_DIV: u32 = 48;
  132. pub const BPF_OR: u32 = 64;
  133. pub const BPF_AND: u32 = 80;
  134. pub const BPF_LSH: u32 = 96;
  135. pub const BPF_RSH: u32 = 112;
  136. pub const BPF_NEG: u32 = 128;
  137. pub const BPF_MOD: u32 = 144;
  138. pub const BPF_XOR: u32 = 160;
  139. pub const BPF_JA: u32 = 0;
  140. pub const BPF_JEQ: u32 = 16;
  141. pub const BPF_JGT: u32 = 32;
  142. pub const BPF_JGE: u32 = 48;
  143. pub const BPF_JSET: u32 = 64;
  144. pub const BPF_K: u32 = 0;
  145. pub const BPF_X: u32 = 8;
  146. pub const BPF_MAXINSNS: u32 = 4096;
  147. pub const BPF_JMP32: u32 = 6;
  148. pub const BPF_ALU64: u32 = 7;
  149. pub const BPF_DW: u32 = 24;
  150. pub const BPF_MEMSX: u32 = 128;
  151. pub const BPF_ATOMIC: u32 = 192;
  152. pub const BPF_XADD: u32 = 192;
  153. pub const BPF_MOV: u32 = 176;
  154. pub const BPF_ARSH: u32 = 192;
  155. pub const BPF_END: u32 = 208;
  156. pub const BPF_TO_LE: u32 = 0;
  157. pub const BPF_TO_BE: u32 = 8;
  158. pub const BPF_FROM_LE: u32 = 0;
  159. pub const BPF_FROM_BE: u32 = 8;
  160. pub const BPF_JNE: u32 = 80;
  161. pub const BPF_JLT: u32 = 160;
  162. pub const BPF_JLE: u32 = 176;
  163. pub const BPF_JSGT: u32 = 96;
  164. pub const BPF_JSGE: u32 = 112;
  165. pub const BPF_JSLT: u32 = 192;
  166. pub const BPF_JSLE: u32 = 208;
  167. pub const BPF_JCOND: u32 = 224;
  168. pub const BPF_CALL: u32 = 128;
  169. pub const BPF_EXIT: u32 = 144;
  170. pub const BPF_FETCH: u32 = 1;
  171. pub const BPF_XCHG: u32 = 225;
  172. pub const BPF_CMPXCHG: u32 = 241;
  173. pub const BPF_F_ALLOW_OVERRIDE: u32 = 1;
  174. pub const BPF_F_ALLOW_MULTI: u32 = 2;
  175. pub const BPF_F_REPLACE: u32 = 4;
  176. pub const BPF_F_BEFORE: u32 = 8;
  177. pub const BPF_F_AFTER: u32 = 16;
  178. pub const BPF_F_ID: u32 = 32;
  179. pub const BPF_F_STRICT_ALIGNMENT: u32 = 1;
  180. pub const BPF_F_ANY_ALIGNMENT: u32 = 2;
  181. pub const BPF_F_TEST_RND_HI32: u32 = 4;
  182. pub const BPF_F_TEST_STATE_FREQ: u32 = 8;
  183. pub const BPF_F_SLEEPABLE: u32 = 16;
  184. pub const BPF_F_XDP_HAS_FRAGS: u32 = 32;
  185. pub const BPF_F_XDP_DEV_BOUND_ONLY: u32 = 64;
  186. pub const BPF_F_TEST_REG_INVARIANTS: u32 = 128;
  187. pub const BPF_F_NETFILTER_IP_DEFRAG: u32 = 1;
  188. pub const BPF_PSEUDO_MAP_FD: u32 = 1;
  189. pub const BPF_PSEUDO_MAP_IDX: u32 = 5;
  190. pub const BPF_PSEUDO_MAP_VALUE: u32 = 2;
  191. pub const BPF_PSEUDO_MAP_IDX_VALUE: u32 = 6;
  192. pub const BPF_PSEUDO_BTF_ID: u32 = 3;
  193. pub const BPF_PSEUDO_FUNC: u32 = 4;
  194. pub const BPF_PSEUDO_CALL: u32 = 1;
  195. pub const BPF_PSEUDO_KFUNC_CALL: u32 = 2;
  196. pub const BPF_F_QUERY_EFFECTIVE: u32 = 1;
  197. pub const BPF_F_TEST_RUN_ON_CPU: u32 = 1;
  198. pub const BPF_F_TEST_XDP_LIVE_FRAMES: u32 = 2;
  199. pub const BPF_BUILD_ID_SIZE: u32 = 20;
  200. pub const BPF_OBJ_NAME_LEN: u32 = 16;
  201. pub const BPF_TAG_SIZE: u32 = 8;
  202. pub const TC_ACT_UNSPEC: i32 = -1;
  203. pub const TC_ACT_OK: u32 = 0;
  204. pub const TC_ACT_RECLASSIFY: u32 = 1;
  205. pub const TC_ACT_SHOT: u32 = 2;
  206. pub const TC_ACT_PIPE: u32 = 3;
  207. pub const TC_ACT_STOLEN: u32 = 4;
  208. pub const TC_ACT_QUEUED: u32 = 5;
  209. pub const TC_ACT_REPEAT: u32 = 6;
  210. pub const TC_ACT_REDIRECT: u32 = 7;
  211. pub const TC_ACT_TRAP: u32 = 8;
  212. pub const TC_ACT_VALUE_MAX: u32 = 8;
  213. pub const TC_ACT_EXT_VAL_MASK: u32 = 268435455;
  214. pub const SOL_SOCKET: u32 = 1;
  215. pub const SO_DEBUG: u32 = 1;
  216. pub const SO_REUSEADDR: u32 = 2;
  217. pub const SO_TYPE: u32 = 3;
  218. pub const SO_ERROR: u32 = 4;
  219. pub const SO_DONTROUTE: u32 = 5;
  220. pub const SO_BROADCAST: u32 = 6;
  221. pub const SO_SNDBUF: u32 = 7;
  222. pub const SO_RCVBUF: u32 = 8;
  223. pub const SO_SNDBUFFORCE: u32 = 32;
  224. pub const SO_RCVBUFFORCE: u32 = 33;
  225. pub const SO_KEEPALIVE: u32 = 9;
  226. pub const SO_OOBINLINE: u32 = 10;
  227. pub const SO_NO_CHECK: u32 = 11;
  228. pub const SO_PRIORITY: u32 = 12;
  229. pub const SO_LINGER: u32 = 13;
  230. pub const SO_BSDCOMPAT: u32 = 14;
  231. pub const SO_REUSEPORT: u32 = 15;
  232. pub const SO_PASSCRED: u32 = 16;
  233. pub const SO_PEERCRED: u32 = 17;
  234. pub const SO_RCVLOWAT: u32 = 18;
  235. pub const SO_SNDLOWAT: u32 = 19;
  236. pub const SO_RCVTIMEO_OLD: u32 = 20;
  237. pub const SO_SNDTIMEO_OLD: u32 = 21;
  238. pub const SO_SECURITY_AUTHENTICATION: u32 = 22;
  239. pub const SO_SECURITY_ENCRYPTION_TRANSPORT: u32 = 23;
  240. pub const SO_SECURITY_ENCRYPTION_NETWORK: u32 = 24;
  241. pub const SO_BINDTODEVICE: u32 = 25;
  242. pub const SO_ATTACH_FILTER: u32 = 26;
  243. pub const SO_DETACH_FILTER: u32 = 27;
  244. pub const SO_GET_FILTER: u32 = 26;
  245. pub const SO_PEERNAME: u32 = 28;
  246. pub const SO_ACCEPTCONN: u32 = 30;
  247. pub const SO_PEERSEC: u32 = 31;
  248. pub const SO_PASSSEC: u32 = 34;
  249. pub const SO_MARK: u32 = 36;
  250. pub const SO_PROTOCOL: u32 = 38;
  251. pub const SO_DOMAIN: u32 = 39;
  252. pub const SO_RXQ_OVFL: u32 = 40;
  253. pub const SO_WIFI_STATUS: u32 = 41;
  254. pub const SO_PEEK_OFF: u32 = 42;
  255. pub const SO_NOFCS: u32 = 43;
  256. pub const SO_LOCK_FILTER: u32 = 44;
  257. pub const SO_SELECT_ERR_QUEUE: u32 = 45;
  258. pub const SO_BUSY_POLL: u32 = 46;
  259. pub const SO_MAX_PACING_RATE: u32 = 47;
  260. pub const SO_BPF_EXTENSIONS: u32 = 48;
  261. pub const SO_INCOMING_CPU: u32 = 49;
  262. pub const SO_ATTACH_BPF: u32 = 50;
  263. pub const SO_DETACH_BPF: u32 = 27;
  264. pub const SO_ATTACH_REUSEPORT_CBPF: u32 = 51;
  265. pub const SO_ATTACH_REUSEPORT_EBPF: u32 = 52;
  266. pub const SO_CNX_ADVICE: u32 = 53;
  267. pub const SO_MEMINFO: u32 = 55;
  268. pub const SO_INCOMING_NAPI_ID: u32 = 56;
  269. pub const SO_COOKIE: u32 = 57;
  270. pub const SO_PEERGROUPS: u32 = 59;
  271. pub const SO_ZEROCOPY: u32 = 60;
  272. pub const SO_TXTIME: u32 = 61;
  273. pub const SO_BINDTOIFINDEX: u32 = 62;
  274. pub const SO_TIMESTAMP_OLD: u32 = 29;
  275. pub const SO_TIMESTAMPNS_OLD: u32 = 35;
  276. pub const SO_TIMESTAMPING_OLD: u32 = 37;
  277. pub const SO_TIMESTAMP_NEW: u32 = 63;
  278. pub const SO_TIMESTAMPNS_NEW: u32 = 64;
  279. pub const SO_TIMESTAMPING_NEW: u32 = 65;
  280. pub const SO_RCVTIMEO_NEW: u32 = 66;
  281. pub const SO_SNDTIMEO_NEW: u32 = 67;
  282. pub const SO_DETACH_REUSEPORT_BPF: u32 = 68;
  283. pub const SO_TIMESTAMP: u32 = 29;
  284. pub const SO_TIMESTAMPNS: u32 = 35;
  285. pub const SO_TIMESTAMPING: u32 = 37;
  286. pub const SO_RCVTIMEO: u32 = 20;
  287. pub const SO_SNDTIMEO: u32 = 21;
  288. pub type __u8 = ::aya_ebpf_cty::c_uchar;
  289. pub type __s16 = ::aya_ebpf_cty::c_short;
  290. pub type __u16 = ::aya_ebpf_cty::c_ushort;
  291. pub type __s32 = ::aya_ebpf_cty::c_int;
  292. pub type __u32 = ::aya_ebpf_cty::c_uint;
  293. pub type __s64 = ::aya_ebpf_cty::c_longlong;
  294. pub type __u64 = ::aya_ebpf_cty::c_ulonglong;
  295. pub type __be16 = __u16;
  296. pub type __be32 = __u32;
  297. pub type __wsum = __u32;
  298. #[repr(C)]
  299. #[derive(Debug, Copy, Clone)]
  300. pub struct bpf_perf_event_data {
  301. _unused: [u8; 0],
  302. }
  303. #[repr(C)]
  304. #[derive(Debug, Copy, Clone)]
  305. pub struct linux_binprm {
  306. _unused: [u8; 0],
  307. }
  308. #[repr(C)]
  309. #[derive(Debug, Copy, Clone)]
  310. pub struct tcphdr {
  311. _unused: [u8; 0],
  312. }
  313. #[repr(C)]
  314. #[derive(Debug, Copy, Clone)]
  315. pub struct seq_file {
  316. _unused: [u8; 0],
  317. }
  318. #[repr(C)]
  319. #[derive(Debug, Copy, Clone)]
  320. pub struct tcp6_sock {
  321. _unused: [u8; 0],
  322. }
  323. #[repr(C)]
  324. #[derive(Debug, Copy, Clone)]
  325. pub struct tcp_sock {
  326. _unused: [u8; 0],
  327. }
  328. #[repr(C)]
  329. #[derive(Debug, Copy, Clone)]
  330. pub struct tcp_timewait_sock {
  331. _unused: [u8; 0],
  332. }
  333. #[repr(C)]
  334. #[derive(Debug, Copy, Clone)]
  335. pub struct tcp_request_sock {
  336. _unused: [u8; 0],
  337. }
  338. #[repr(C)]
  339. #[derive(Debug, Copy, Clone)]
  340. pub struct udp6_sock {
  341. _unused: [u8; 0],
  342. }
  343. #[repr(C)]
  344. #[derive(Debug, Copy, Clone)]
  345. pub struct unix_sock {
  346. _unused: [u8; 0],
  347. }
  348. #[repr(C)]
  349. #[derive(Debug, Copy, Clone)]
  350. pub struct task_struct {
  351. _unused: [u8; 0],
  352. }
  353. #[repr(C)]
  354. #[derive(Debug, Copy, Clone)]
  355. pub struct cgroup {
  356. _unused: [u8; 0],
  357. }
  358. #[repr(C)]
  359. #[derive(Debug, Copy, Clone)]
  360. pub struct path {
  361. _unused: [u8; 0],
  362. }
  363. #[repr(C)]
  364. #[derive(Debug, Copy, Clone)]
  365. pub struct inode {
  366. _unused: [u8; 0],
  367. }
  368. #[repr(C)]
  369. #[derive(Debug, Copy, Clone)]
  370. pub struct socket {
  371. _unused: [u8; 0],
  372. }
  373. #[repr(C)]
  374. #[derive(Debug, Copy, Clone)]
  375. pub struct file {
  376. _unused: [u8; 0],
  377. }
  378. #[repr(C)]
  379. #[derive(Debug, Copy, Clone)]
  380. pub struct mptcp_sock {
  381. _unused: [u8; 0],
  382. }
  383. #[repr(C)]
  384. #[derive(Debug, Copy, Clone)]
  385. pub struct iphdr {
  386. _unused: [u8; 0],
  387. }
  388. #[repr(C)]
  389. #[derive(Debug, Copy, Clone)]
  390. pub struct ipv6hdr {
  391. _unused: [u8; 0],
  392. }
  393. pub mod bpf_cond_pseudo_jmp {
  394. pub type Type = ::aya_ebpf_cty::c_uint;
  395. pub const BPF_MAY_GOTO: Type = 0;
  396. }
  397. pub const BPF_REG_0: _bindgen_ty_1 = 0;
  398. pub const BPF_REG_1: _bindgen_ty_1 = 1;
  399. pub const BPF_REG_2: _bindgen_ty_1 = 2;
  400. pub const BPF_REG_3: _bindgen_ty_1 = 3;
  401. pub const BPF_REG_4: _bindgen_ty_1 = 4;
  402. pub const BPF_REG_5: _bindgen_ty_1 = 5;
  403. pub const BPF_REG_6: _bindgen_ty_1 = 6;
  404. pub const BPF_REG_7: _bindgen_ty_1 = 7;
  405. pub const BPF_REG_8: _bindgen_ty_1 = 8;
  406. pub const BPF_REG_9: _bindgen_ty_1 = 9;
  407. pub const BPF_REG_10: _bindgen_ty_1 = 10;
  408. pub const __MAX_BPF_REG: _bindgen_ty_1 = 11;
  409. pub type _bindgen_ty_1 = ::aya_ebpf_cty::c_uint;
  410. #[repr(C)]
  411. #[derive(Debug, Copy, Clone)]
  412. pub struct bpf_insn {
  413. pub code: __u8,
  414. pub _bitfield_align_1: [u8; 0],
  415. pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
  416. pub off: __s16,
  417. pub imm: __s32,
  418. }
  419. impl bpf_insn {
  420. #[inline]
  421. pub fn dst_reg(&self) -> __u8 {
  422. unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) }
  423. }
  424. #[inline]
  425. pub fn set_dst_reg(&mut self, val: __u8) {
  426. unsafe {
  427. let val: u8 = ::core::mem::transmute(val);
  428. self._bitfield_1.set(0usize, 4u8, val as u64)
  429. }
  430. }
  431. #[inline]
  432. pub fn src_reg(&self) -> __u8 {
  433. unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) }
  434. }
  435. #[inline]
  436. pub fn set_src_reg(&mut self, val: __u8) {
  437. unsafe {
  438. let val: u8 = ::core::mem::transmute(val);
  439. self._bitfield_1.set(4usize, 4u8, val as u64)
  440. }
  441. }
  442. #[inline]
  443. pub fn new_bitfield_1(dst_reg: __u8, src_reg: __u8) -> __BindgenBitfieldUnit<[u8; 1usize]> {
  444. let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
  445. __bindgen_bitfield_unit.set(0usize, 4u8, {
  446. let dst_reg: u8 = unsafe { ::core::mem::transmute(dst_reg) };
  447. dst_reg as u64
  448. });
  449. __bindgen_bitfield_unit.set(4usize, 4u8, {
  450. let src_reg: u8 = unsafe { ::core::mem::transmute(src_reg) };
  451. src_reg as u64
  452. });
  453. __bindgen_bitfield_unit
  454. }
  455. }
  456. #[repr(C)]
  457. #[derive(Debug)]
  458. pub struct bpf_lpm_trie_key {
  459. pub prefixlen: __u32,
  460. pub data: __IncompleteArrayField<__u8>,
  461. }
  462. #[repr(C)]
  463. #[derive(Debug, Copy, Clone)]
  464. pub struct bpf_lpm_trie_key_hdr {
  465. pub prefixlen: __u32,
  466. }
  467. #[repr(C)]
  468. pub struct bpf_lpm_trie_key_u8 {
  469. pub __bindgen_anon_1: bpf_lpm_trie_key_u8__bindgen_ty_1,
  470. pub data: __IncompleteArrayField<__u8>,
  471. }
  472. #[repr(C)]
  473. #[derive(Copy, Clone)]
  474. pub union bpf_lpm_trie_key_u8__bindgen_ty_1 {
  475. pub hdr: bpf_lpm_trie_key_hdr,
  476. pub prefixlen: __u32,
  477. }
  478. #[repr(C)]
  479. #[derive(Debug, Copy, Clone)]
  480. pub struct bpf_cgroup_storage_key {
  481. pub cgroup_inode_id: __u64,
  482. pub attach_type: __u32,
  483. }
  484. pub mod bpf_cgroup_iter_order {
  485. pub type Type = ::aya_ebpf_cty::c_uint;
  486. pub const BPF_CGROUP_ITER_ORDER_UNSPEC: Type = 0;
  487. pub const BPF_CGROUP_ITER_SELF_ONLY: Type = 1;
  488. pub const BPF_CGROUP_ITER_DESCENDANTS_PRE: Type = 2;
  489. pub const BPF_CGROUP_ITER_DESCENDANTS_POST: Type = 3;
  490. pub const BPF_CGROUP_ITER_ANCESTORS_UP: Type = 4;
  491. }
  492. #[repr(C)]
  493. #[derive(Copy, Clone)]
  494. pub union bpf_iter_link_info {
  495. pub map: bpf_iter_link_info__bindgen_ty_1,
  496. pub cgroup: bpf_iter_link_info__bindgen_ty_2,
  497. pub task: bpf_iter_link_info__bindgen_ty_3,
  498. }
  499. #[repr(C)]
  500. #[derive(Debug, Copy, Clone)]
  501. pub struct bpf_iter_link_info__bindgen_ty_1 {
  502. pub map_fd: __u32,
  503. }
  504. #[repr(C)]
  505. #[derive(Debug, Copy, Clone)]
  506. pub struct bpf_iter_link_info__bindgen_ty_2 {
  507. pub order: bpf_cgroup_iter_order::Type,
  508. pub cgroup_fd: __u32,
  509. pub cgroup_id: __u64,
  510. }
  511. #[repr(C)]
  512. #[derive(Debug, Copy, Clone)]
  513. pub struct bpf_iter_link_info__bindgen_ty_3 {
  514. pub tid: __u32,
  515. pub pid: __u32,
  516. pub pid_fd: __u32,
  517. }
  518. pub mod bpf_cmd {
  519. pub type Type = ::aya_ebpf_cty::c_uint;
  520. pub const BPF_MAP_CREATE: Type = 0;
  521. pub const BPF_MAP_LOOKUP_ELEM: Type = 1;
  522. pub const BPF_MAP_UPDATE_ELEM: Type = 2;
  523. pub const BPF_MAP_DELETE_ELEM: Type = 3;
  524. pub const BPF_MAP_GET_NEXT_KEY: Type = 4;
  525. pub const BPF_PROG_LOAD: Type = 5;
  526. pub const BPF_OBJ_PIN: Type = 6;
  527. pub const BPF_OBJ_GET: Type = 7;
  528. pub const BPF_PROG_ATTACH: Type = 8;
  529. pub const BPF_PROG_DETACH: Type = 9;
  530. pub const BPF_PROG_TEST_RUN: Type = 10;
  531. pub const BPF_PROG_RUN: Type = 10;
  532. pub const BPF_PROG_GET_NEXT_ID: Type = 11;
  533. pub const BPF_MAP_GET_NEXT_ID: Type = 12;
  534. pub const BPF_PROG_GET_FD_BY_ID: Type = 13;
  535. pub const BPF_MAP_GET_FD_BY_ID: Type = 14;
  536. pub const BPF_OBJ_GET_INFO_BY_FD: Type = 15;
  537. pub const BPF_PROG_QUERY: Type = 16;
  538. pub const BPF_RAW_TRACEPOINT_OPEN: Type = 17;
  539. pub const BPF_BTF_LOAD: Type = 18;
  540. pub const BPF_BTF_GET_FD_BY_ID: Type = 19;
  541. pub const BPF_TASK_FD_QUERY: Type = 20;
  542. pub const BPF_MAP_LOOKUP_AND_DELETE_ELEM: Type = 21;
  543. pub const BPF_MAP_FREEZE: Type = 22;
  544. pub const BPF_BTF_GET_NEXT_ID: Type = 23;
  545. pub const BPF_MAP_LOOKUP_BATCH: Type = 24;
  546. pub const BPF_MAP_LOOKUP_AND_DELETE_BATCH: Type = 25;
  547. pub const BPF_MAP_UPDATE_BATCH: Type = 26;
  548. pub const BPF_MAP_DELETE_BATCH: Type = 27;
  549. pub const BPF_LINK_CREATE: Type = 28;
  550. pub const BPF_LINK_UPDATE: Type = 29;
  551. pub const BPF_LINK_GET_FD_BY_ID: Type = 30;
  552. pub const BPF_LINK_GET_NEXT_ID: Type = 31;
  553. pub const BPF_ENABLE_STATS: Type = 32;
  554. pub const BPF_ITER_CREATE: Type = 33;
  555. pub const BPF_LINK_DETACH: Type = 34;
  556. pub const BPF_PROG_BIND_MAP: Type = 35;
  557. pub const BPF_TOKEN_CREATE: Type = 36;
  558. pub const __MAX_BPF_CMD: Type = 37;
  559. }
  560. pub mod bpf_map_type {
  561. pub type Type = ::aya_ebpf_cty::c_uint;
  562. pub const BPF_MAP_TYPE_UNSPEC: Type = 0;
  563. pub const BPF_MAP_TYPE_HASH: Type = 1;
  564. pub const BPF_MAP_TYPE_ARRAY: Type = 2;
  565. pub const BPF_MAP_TYPE_PROG_ARRAY: Type = 3;
  566. pub const BPF_MAP_TYPE_PERF_EVENT_ARRAY: Type = 4;
  567. pub const BPF_MAP_TYPE_PERCPU_HASH: Type = 5;
  568. pub const BPF_MAP_TYPE_PERCPU_ARRAY: Type = 6;
  569. pub const BPF_MAP_TYPE_STACK_TRACE: Type = 7;
  570. pub const BPF_MAP_TYPE_CGROUP_ARRAY: Type = 8;
  571. pub const BPF_MAP_TYPE_LRU_HASH: Type = 9;
  572. pub const BPF_MAP_TYPE_LRU_PERCPU_HASH: Type = 10;
  573. pub const BPF_MAP_TYPE_LPM_TRIE: Type = 11;
  574. pub const BPF_MAP_TYPE_ARRAY_OF_MAPS: Type = 12;
  575. pub const BPF_MAP_TYPE_HASH_OF_MAPS: Type = 13;
  576. pub const BPF_MAP_TYPE_DEVMAP: Type = 14;
  577. pub const BPF_MAP_TYPE_SOCKMAP: Type = 15;
  578. pub const BPF_MAP_TYPE_CPUMAP: Type = 16;
  579. pub const BPF_MAP_TYPE_XSKMAP: Type = 17;
  580. pub const BPF_MAP_TYPE_SOCKHASH: Type = 18;
  581. pub const BPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED: Type = 19;
  582. pub const BPF_MAP_TYPE_CGROUP_STORAGE: Type = 19;
  583. pub const BPF_MAP_TYPE_REUSEPORT_SOCKARRAY: Type = 20;
  584. pub const BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE_DEPRECATED: Type = 21;
  585. pub const BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE: Type = 21;
  586. pub const BPF_MAP_TYPE_QUEUE: Type = 22;
  587. pub const BPF_MAP_TYPE_STACK: Type = 23;
  588. pub const BPF_MAP_TYPE_SK_STORAGE: Type = 24;
  589. pub const BPF_MAP_TYPE_DEVMAP_HASH: Type = 25;
  590. pub const BPF_MAP_TYPE_STRUCT_OPS: Type = 26;
  591. pub const BPF_MAP_TYPE_RINGBUF: Type = 27;
  592. pub const BPF_MAP_TYPE_INODE_STORAGE: Type = 28;
  593. pub const BPF_MAP_TYPE_TASK_STORAGE: Type = 29;
  594. pub const BPF_MAP_TYPE_BLOOM_FILTER: Type = 30;
  595. pub const BPF_MAP_TYPE_USER_RINGBUF: Type = 31;
  596. pub const BPF_MAP_TYPE_CGRP_STORAGE: Type = 32;
  597. pub const BPF_MAP_TYPE_ARENA: Type = 33;
  598. pub const __MAX_BPF_MAP_TYPE: Type = 34;
  599. }
  600. pub mod bpf_prog_type {
  601. pub type Type = ::aya_ebpf_cty::c_uint;
  602. pub const BPF_PROG_TYPE_UNSPEC: Type = 0;
  603. pub const BPF_PROG_TYPE_SOCKET_FILTER: Type = 1;
  604. pub const BPF_PROG_TYPE_KPROBE: Type = 2;
  605. pub const BPF_PROG_TYPE_SCHED_CLS: Type = 3;
  606. pub const BPF_PROG_TYPE_SCHED_ACT: Type = 4;
  607. pub const BPF_PROG_TYPE_TRACEPOINT: Type = 5;
  608. pub const BPF_PROG_TYPE_XDP: Type = 6;
  609. pub const BPF_PROG_TYPE_PERF_EVENT: Type = 7;
  610. pub const BPF_PROG_TYPE_CGROUP_SKB: Type = 8;
  611. pub const BPF_PROG_TYPE_CGROUP_SOCK: Type = 9;
  612. pub const BPF_PROG_TYPE_LWT_IN: Type = 10;
  613. pub const BPF_PROG_TYPE_LWT_OUT: Type = 11;
  614. pub const BPF_PROG_TYPE_LWT_XMIT: Type = 12;
  615. pub const BPF_PROG_TYPE_SOCK_OPS: Type = 13;
  616. pub const BPF_PROG_TYPE_SK_SKB: Type = 14;
  617. pub const BPF_PROG_TYPE_CGROUP_DEVICE: Type = 15;
  618. pub const BPF_PROG_TYPE_SK_MSG: Type = 16;
  619. pub const BPF_PROG_TYPE_RAW_TRACEPOINT: Type = 17;
  620. pub const BPF_PROG_TYPE_CGROUP_SOCK_ADDR: Type = 18;
  621. pub const BPF_PROG_TYPE_LWT_SEG6LOCAL: Type = 19;
  622. pub const BPF_PROG_TYPE_LIRC_MODE2: Type = 20;
  623. pub const BPF_PROG_TYPE_SK_REUSEPORT: Type = 21;
  624. pub const BPF_PROG_TYPE_FLOW_DISSECTOR: Type = 22;
  625. pub const BPF_PROG_TYPE_CGROUP_SYSCTL: Type = 23;
  626. pub const BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE: Type = 24;
  627. pub const BPF_PROG_TYPE_CGROUP_SOCKOPT: Type = 25;
  628. pub const BPF_PROG_TYPE_TRACING: Type = 26;
  629. pub const BPF_PROG_TYPE_STRUCT_OPS: Type = 27;
  630. pub const BPF_PROG_TYPE_EXT: Type = 28;
  631. pub const BPF_PROG_TYPE_LSM: Type = 29;
  632. pub const BPF_PROG_TYPE_SK_LOOKUP: Type = 30;
  633. pub const BPF_PROG_TYPE_SYSCALL: Type = 31;
  634. pub const BPF_PROG_TYPE_NETFILTER: Type = 32;
  635. pub const __MAX_BPF_PROG_TYPE: Type = 33;
  636. }
  637. pub mod bpf_attach_type {
  638. pub type Type = ::aya_ebpf_cty::c_uint;
  639. pub const BPF_CGROUP_INET_INGRESS: Type = 0;
  640. pub const BPF_CGROUP_INET_EGRESS: Type = 1;
  641. pub const BPF_CGROUP_INET_SOCK_CREATE: Type = 2;
  642. pub const BPF_CGROUP_SOCK_OPS: Type = 3;
  643. pub const BPF_SK_SKB_STREAM_PARSER: Type = 4;
  644. pub const BPF_SK_SKB_STREAM_VERDICT: Type = 5;
  645. pub const BPF_CGROUP_DEVICE: Type = 6;
  646. pub const BPF_SK_MSG_VERDICT: Type = 7;
  647. pub const BPF_CGROUP_INET4_BIND: Type = 8;
  648. pub const BPF_CGROUP_INET6_BIND: Type = 9;
  649. pub const BPF_CGROUP_INET4_CONNECT: Type = 10;
  650. pub const BPF_CGROUP_INET6_CONNECT: Type = 11;
  651. pub const BPF_CGROUP_INET4_POST_BIND: Type = 12;
  652. pub const BPF_CGROUP_INET6_POST_BIND: Type = 13;
  653. pub const BPF_CGROUP_UDP4_SENDMSG: Type = 14;
  654. pub const BPF_CGROUP_UDP6_SENDMSG: Type = 15;
  655. pub const BPF_LIRC_MODE2: Type = 16;
  656. pub const BPF_FLOW_DISSECTOR: Type = 17;
  657. pub const BPF_CGROUP_SYSCTL: Type = 18;
  658. pub const BPF_CGROUP_UDP4_RECVMSG: Type = 19;
  659. pub const BPF_CGROUP_UDP6_RECVMSG: Type = 20;
  660. pub const BPF_CGROUP_GETSOCKOPT: Type = 21;
  661. pub const BPF_CGROUP_SETSOCKOPT: Type = 22;
  662. pub const BPF_TRACE_RAW_TP: Type = 23;
  663. pub const BPF_TRACE_FENTRY: Type = 24;
  664. pub const BPF_TRACE_FEXIT: Type = 25;
  665. pub const BPF_MODIFY_RETURN: Type = 26;
  666. pub const BPF_LSM_MAC: Type = 27;
  667. pub const BPF_TRACE_ITER: Type = 28;
  668. pub const BPF_CGROUP_INET4_GETPEERNAME: Type = 29;
  669. pub const BPF_CGROUP_INET6_GETPEERNAME: Type = 30;
  670. pub const BPF_CGROUP_INET4_GETSOCKNAME: Type = 31;
  671. pub const BPF_CGROUP_INET6_GETSOCKNAME: Type = 32;
  672. pub const BPF_XDP_DEVMAP: Type = 33;
  673. pub const BPF_CGROUP_INET_SOCK_RELEASE: Type = 34;
  674. pub const BPF_XDP_CPUMAP: Type = 35;
  675. pub const BPF_SK_LOOKUP: Type = 36;
  676. pub const BPF_XDP: Type = 37;
  677. pub const BPF_SK_SKB_VERDICT: Type = 38;
  678. pub const BPF_SK_REUSEPORT_SELECT: Type = 39;
  679. pub const BPF_SK_REUSEPORT_SELECT_OR_MIGRATE: Type = 40;
  680. pub const BPF_PERF_EVENT: Type = 41;
  681. pub const BPF_TRACE_KPROBE_MULTI: Type = 42;
  682. pub const BPF_LSM_CGROUP: Type = 43;
  683. pub const BPF_STRUCT_OPS: Type = 44;
  684. pub const BPF_NETFILTER: Type = 45;
  685. pub const BPF_TCX_INGRESS: Type = 46;
  686. pub const BPF_TCX_EGRESS: Type = 47;
  687. pub const BPF_TRACE_UPROBE_MULTI: Type = 48;
  688. pub const BPF_CGROUP_UNIX_CONNECT: Type = 49;
  689. pub const BPF_CGROUP_UNIX_SENDMSG: Type = 50;
  690. pub const BPF_CGROUP_UNIX_RECVMSG: Type = 51;
  691. pub const BPF_CGROUP_UNIX_GETPEERNAME: Type = 52;
  692. pub const BPF_CGROUP_UNIX_GETSOCKNAME: Type = 53;
  693. pub const BPF_NETKIT_PRIMARY: Type = 54;
  694. pub const BPF_NETKIT_PEER: Type = 55;
  695. pub const __MAX_BPF_ATTACH_TYPE: Type = 56;
  696. }
  697. pub mod bpf_link_type {
  698. pub type Type = ::aya_ebpf_cty::c_uint;
  699. pub const BPF_LINK_TYPE_UNSPEC: Type = 0;
  700. pub const BPF_LINK_TYPE_RAW_TRACEPOINT: Type = 1;
  701. pub const BPF_LINK_TYPE_TRACING: Type = 2;
  702. pub const BPF_LINK_TYPE_CGROUP: Type = 3;
  703. pub const BPF_LINK_TYPE_ITER: Type = 4;
  704. pub const BPF_LINK_TYPE_NETNS: Type = 5;
  705. pub const BPF_LINK_TYPE_XDP: Type = 6;
  706. pub const BPF_LINK_TYPE_PERF_EVENT: Type = 7;
  707. pub const BPF_LINK_TYPE_KPROBE_MULTI: Type = 8;
  708. pub const BPF_LINK_TYPE_STRUCT_OPS: Type = 9;
  709. pub const BPF_LINK_TYPE_NETFILTER: Type = 10;
  710. pub const BPF_LINK_TYPE_TCX: Type = 11;
  711. pub const BPF_LINK_TYPE_UPROBE_MULTI: Type = 12;
  712. pub const BPF_LINK_TYPE_NETKIT: Type = 13;
  713. pub const __MAX_BPF_LINK_TYPE: Type = 14;
  714. }
  715. pub mod bpf_perf_event_type {
  716. pub type Type = ::aya_ebpf_cty::c_uint;
  717. pub const BPF_PERF_EVENT_UNSPEC: Type = 0;
  718. pub const BPF_PERF_EVENT_UPROBE: Type = 1;
  719. pub const BPF_PERF_EVENT_URETPROBE: Type = 2;
  720. pub const BPF_PERF_EVENT_KPROBE: Type = 3;
  721. pub const BPF_PERF_EVENT_KRETPROBE: Type = 4;
  722. pub const BPF_PERF_EVENT_TRACEPOINT: Type = 5;
  723. pub const BPF_PERF_EVENT_EVENT: Type = 6;
  724. }
  725. pub const BPF_F_KPROBE_MULTI_RETURN: _bindgen_ty_2 = 1;
  726. pub type _bindgen_ty_2 = ::aya_ebpf_cty::c_uint;
  727. pub const BPF_F_UPROBE_MULTI_RETURN: _bindgen_ty_3 = 1;
  728. pub type _bindgen_ty_3 = ::aya_ebpf_cty::c_uint;
  729. pub mod bpf_addr_space_cast {
  730. pub type Type = ::aya_ebpf_cty::c_uint;
  731. pub const BPF_ADDR_SPACE_CAST: Type = 1;
  732. }
  733. pub const BPF_ANY: _bindgen_ty_4 = 0;
  734. pub const BPF_NOEXIST: _bindgen_ty_4 = 1;
  735. pub const BPF_EXIST: _bindgen_ty_4 = 2;
  736. pub const BPF_F_LOCK: _bindgen_ty_4 = 4;
  737. pub type _bindgen_ty_4 = ::aya_ebpf_cty::c_uint;
  738. pub const BPF_F_NO_PREALLOC: _bindgen_ty_5 = 1;
  739. pub const BPF_F_NO_COMMON_LRU: _bindgen_ty_5 = 2;
  740. pub const BPF_F_NUMA_NODE: _bindgen_ty_5 = 4;
  741. pub const BPF_F_RDONLY: _bindgen_ty_5 = 8;
  742. pub const BPF_F_WRONLY: _bindgen_ty_5 = 16;
  743. pub const BPF_F_STACK_BUILD_ID: _bindgen_ty_5 = 32;
  744. pub const BPF_F_ZERO_SEED: _bindgen_ty_5 = 64;
  745. pub const BPF_F_RDONLY_PROG: _bindgen_ty_5 = 128;
  746. pub const BPF_F_WRONLY_PROG: _bindgen_ty_5 = 256;
  747. pub const BPF_F_CLONE: _bindgen_ty_5 = 512;
  748. pub const BPF_F_MMAPABLE: _bindgen_ty_5 = 1024;
  749. pub const BPF_F_PRESERVE_ELEMS: _bindgen_ty_5 = 2048;
  750. pub const BPF_F_INNER_MAP: _bindgen_ty_5 = 4096;
  751. pub const BPF_F_LINK: _bindgen_ty_5 = 8192;
  752. pub const BPF_F_PATH_FD: _bindgen_ty_5 = 16384;
  753. pub const BPF_F_VTYPE_BTF_OBJ_FD: _bindgen_ty_5 = 32768;
  754. pub const BPF_F_TOKEN_FD: _bindgen_ty_5 = 65536;
  755. pub const BPF_F_SEGV_ON_FAULT: _bindgen_ty_5 = 131072;
  756. pub const BPF_F_NO_USER_CONV: _bindgen_ty_5 = 262144;
  757. pub type _bindgen_ty_5 = ::aya_ebpf_cty::c_uint;
  758. pub mod bpf_stats_type {
  759. pub type Type = ::aya_ebpf_cty::c_uint;
  760. pub const BPF_STATS_RUN_TIME: Type = 0;
  761. }
  762. pub mod bpf_stack_build_id_status {
  763. pub type Type = ::aya_ebpf_cty::c_uint;
  764. pub const BPF_STACK_BUILD_ID_EMPTY: Type = 0;
  765. pub const BPF_STACK_BUILD_ID_VALID: Type = 1;
  766. pub const BPF_STACK_BUILD_ID_IP: Type = 2;
  767. }
  768. #[repr(C)]
  769. #[derive(Copy, Clone)]
  770. pub struct bpf_stack_build_id {
  771. pub status: __s32,
  772. pub build_id: [::aya_ebpf_cty::c_uchar; 20usize],
  773. pub __bindgen_anon_1: bpf_stack_build_id__bindgen_ty_1,
  774. }
  775. #[repr(C)]
  776. #[derive(Copy, Clone)]
  777. pub union bpf_stack_build_id__bindgen_ty_1 {
  778. pub offset: __u64,
  779. pub ip: __u64,
  780. }
  781. #[repr(C)]
  782. #[derive(Copy, Clone)]
  783. pub union bpf_attr {
  784. pub __bindgen_anon_1: bpf_attr__bindgen_ty_1,
  785. pub __bindgen_anon_2: bpf_attr__bindgen_ty_2,
  786. pub batch: bpf_attr__bindgen_ty_3,
  787. pub __bindgen_anon_3: bpf_attr__bindgen_ty_4,
  788. pub __bindgen_anon_4: bpf_attr__bindgen_ty_5,
  789. pub __bindgen_anon_5: bpf_attr__bindgen_ty_6,
  790. pub test: bpf_attr__bindgen_ty_7,
  791. pub __bindgen_anon_6: bpf_attr__bindgen_ty_8,
  792. pub info: bpf_attr__bindgen_ty_9,
  793. pub query: bpf_attr__bindgen_ty_10,
  794. pub raw_tracepoint: bpf_attr__bindgen_ty_11,
  795. pub __bindgen_anon_7: bpf_attr__bindgen_ty_12,
  796. pub task_fd_query: bpf_attr__bindgen_ty_13,
  797. pub link_create: bpf_attr__bindgen_ty_14,
  798. pub link_update: bpf_attr__bindgen_ty_15,
  799. pub link_detach: bpf_attr__bindgen_ty_16,
  800. pub enable_stats: bpf_attr__bindgen_ty_17,
  801. pub iter_create: bpf_attr__bindgen_ty_18,
  802. pub prog_bind_map: bpf_attr__bindgen_ty_19,
  803. pub token_create: bpf_attr__bindgen_ty_20,
  804. }
  805. #[repr(C)]
  806. #[derive(Debug, Copy, Clone)]
  807. pub struct bpf_attr__bindgen_ty_1 {
  808. pub map_type: __u32,
  809. pub key_size: __u32,
  810. pub value_size: __u32,
  811. pub max_entries: __u32,
  812. pub map_flags: __u32,
  813. pub inner_map_fd: __u32,
  814. pub numa_node: __u32,
  815. pub map_name: [::aya_ebpf_cty::c_char; 16usize],
  816. pub map_ifindex: __u32,
  817. pub btf_fd: __u32,
  818. pub btf_key_type_id: __u32,
  819. pub btf_value_type_id: __u32,
  820. pub btf_vmlinux_value_type_id: __u32,
  821. pub map_extra: __u64,
  822. pub value_type_btf_obj_fd: __s32,
  823. pub map_token_fd: __s32,
  824. }
  825. #[repr(C)]
  826. #[derive(Copy, Clone)]
  827. pub struct bpf_attr__bindgen_ty_2 {
  828. pub map_fd: __u32,
  829. pub key: __u64,
  830. pub __bindgen_anon_1: bpf_attr__bindgen_ty_2__bindgen_ty_1,
  831. pub flags: __u64,
  832. }
  833. #[repr(C)]
  834. #[derive(Copy, Clone)]
  835. pub union bpf_attr__bindgen_ty_2__bindgen_ty_1 {
  836. pub value: __u64,
  837. pub next_key: __u64,
  838. }
  839. #[repr(C)]
  840. #[derive(Debug, Copy, Clone)]
  841. pub struct bpf_attr__bindgen_ty_3 {
  842. pub in_batch: __u64,
  843. pub out_batch: __u64,
  844. pub keys: __u64,
  845. pub values: __u64,
  846. pub count: __u32,
  847. pub map_fd: __u32,
  848. pub elem_flags: __u64,
  849. pub flags: __u64,
  850. }
  851. #[repr(C)]
  852. #[derive(Copy, Clone)]
  853. pub struct bpf_attr__bindgen_ty_4 {
  854. pub prog_type: __u32,
  855. pub insn_cnt: __u32,
  856. pub insns: __u64,
  857. pub license: __u64,
  858. pub log_level: __u32,
  859. pub log_size: __u32,
  860. pub log_buf: __u64,
  861. pub kern_version: __u32,
  862. pub prog_flags: __u32,
  863. pub prog_name: [::aya_ebpf_cty::c_char; 16usize],
  864. pub prog_ifindex: __u32,
  865. pub expected_attach_type: __u32,
  866. pub prog_btf_fd: __u32,
  867. pub func_info_rec_size: __u32,
  868. pub func_info: __u64,
  869. pub func_info_cnt: __u32,
  870. pub line_info_rec_size: __u32,
  871. pub line_info: __u64,
  872. pub line_info_cnt: __u32,
  873. pub attach_btf_id: __u32,
  874. pub __bindgen_anon_1: bpf_attr__bindgen_ty_4__bindgen_ty_1,
  875. pub core_relo_cnt: __u32,
  876. pub fd_array: __u64,
  877. pub core_relos: __u64,
  878. pub core_relo_rec_size: __u32,
  879. pub log_true_size: __u32,
  880. pub prog_token_fd: __s32,
  881. }
  882. #[repr(C)]
  883. #[derive(Copy, Clone)]
  884. pub union bpf_attr__bindgen_ty_4__bindgen_ty_1 {
  885. pub attach_prog_fd: __u32,
  886. pub attach_btf_obj_fd: __u32,
  887. }
  888. #[repr(C)]
  889. #[derive(Debug, Copy, Clone)]
  890. pub struct bpf_attr__bindgen_ty_5 {
  891. pub pathname: __u64,
  892. pub bpf_fd: __u32,
  893. pub file_flags: __u32,
  894. pub path_fd: __s32,
  895. }
  896. #[repr(C)]
  897. #[derive(Copy, Clone)]
  898. pub struct bpf_attr__bindgen_ty_6 {
  899. pub __bindgen_anon_1: bpf_attr__bindgen_ty_6__bindgen_ty_1,
  900. pub attach_bpf_fd: __u32,
  901. pub attach_type: __u32,
  902. pub attach_flags: __u32,
  903. pub replace_bpf_fd: __u32,
  904. pub __bindgen_anon_2: bpf_attr__bindgen_ty_6__bindgen_ty_2,
  905. pub expected_revision: __u64,
  906. }
  907. #[repr(C)]
  908. #[derive(Copy, Clone)]
  909. pub union bpf_attr__bindgen_ty_6__bindgen_ty_1 {
  910. pub target_fd: __u32,
  911. pub target_ifindex: __u32,
  912. }
  913. #[repr(C)]
  914. #[derive(Copy, Clone)]
  915. pub union bpf_attr__bindgen_ty_6__bindgen_ty_2 {
  916. pub relative_fd: __u32,
  917. pub relative_id: __u32,
  918. }
  919. #[repr(C)]
  920. #[derive(Debug, Copy, Clone)]
  921. pub struct bpf_attr__bindgen_ty_7 {
  922. pub prog_fd: __u32,
  923. pub retval: __u32,
  924. pub data_size_in: __u32,
  925. pub data_size_out: __u32,
  926. pub data_in: __u64,
  927. pub data_out: __u64,
  928. pub repeat: __u32,
  929. pub duration: __u32,
  930. pub ctx_size_in: __u32,
  931. pub ctx_size_out: __u32,
  932. pub ctx_in: __u64,
  933. pub ctx_out: __u64,
  934. pub flags: __u32,
  935. pub cpu: __u32,
  936. pub batch_size: __u32,
  937. }
  938. #[repr(C)]
  939. #[derive(Copy, Clone)]
  940. pub struct bpf_attr__bindgen_ty_8 {
  941. pub __bindgen_anon_1: bpf_attr__bindgen_ty_8__bindgen_ty_1,
  942. pub next_id: __u32,
  943. pub open_flags: __u32,
  944. }
  945. #[repr(C)]
  946. #[derive(Copy, Clone)]
  947. pub union bpf_attr__bindgen_ty_8__bindgen_ty_1 {
  948. pub start_id: __u32,
  949. pub prog_id: __u32,
  950. pub map_id: __u32,
  951. pub btf_id: __u32,
  952. pub link_id: __u32,
  953. }
  954. #[repr(C)]
  955. #[derive(Debug, Copy, Clone)]
  956. pub struct bpf_attr__bindgen_ty_9 {
  957. pub bpf_fd: __u32,
  958. pub info_len: __u32,
  959. pub info: __u64,
  960. }
  961. #[repr(C)]
  962. #[derive(Copy, Clone)]
  963. pub struct bpf_attr__bindgen_ty_10 {
  964. pub __bindgen_anon_1: bpf_attr__bindgen_ty_10__bindgen_ty_1,
  965. pub attach_type: __u32,
  966. pub query_flags: __u32,
  967. pub attach_flags: __u32,
  968. pub prog_ids: __u64,
  969. pub __bindgen_anon_2: bpf_attr__bindgen_ty_10__bindgen_ty_2,
  970. pub _bitfield_align_1: [u8; 0],
  971. pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
  972. pub prog_attach_flags: __u64,
  973. pub link_ids: __u64,
  974. pub link_attach_flags: __u64,
  975. pub revision: __u64,
  976. }
  977. #[repr(C)]
  978. #[derive(Copy, Clone)]
  979. pub union bpf_attr__bindgen_ty_10__bindgen_ty_1 {
  980. pub target_fd: __u32,
  981. pub target_ifindex: __u32,
  982. }
  983. #[repr(C)]
  984. #[derive(Copy, Clone)]
  985. pub union bpf_attr__bindgen_ty_10__bindgen_ty_2 {
  986. pub prog_cnt: __u32,
  987. pub count: __u32,
  988. }
  989. impl bpf_attr__bindgen_ty_10 {
  990. #[inline]
  991. pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 4usize]> {
  992. let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
  993. __bindgen_bitfield_unit
  994. }
  995. }
  996. #[repr(C)]
  997. #[derive(Debug, Copy, Clone)]
  998. pub struct bpf_attr__bindgen_ty_11 {
  999. pub name: __u64,
  1000. pub prog_fd: __u32,
  1001. pub _bitfield_align_1: [u8; 0],
  1002. pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
  1003. pub cookie: __u64,
  1004. }
  1005. impl bpf_attr__bindgen_ty_11 {
  1006. #[inline]
  1007. pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 4usize]> {
  1008. let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
  1009. __bindgen_bitfield_unit
  1010. }
  1011. }
  1012. #[repr(C)]
  1013. #[derive(Debug, Copy, Clone)]
  1014. pub struct bpf_attr__bindgen_ty_12 {
  1015. pub btf: __u64,
  1016. pub btf_log_buf: __u64,
  1017. pub btf_size: __u32,
  1018. pub btf_log_size: __u32,
  1019. pub btf_log_level: __u32,
  1020. pub btf_log_true_size: __u32,
  1021. pub btf_flags: __u32,
  1022. pub btf_token_fd: __s32,
  1023. }
  1024. #[repr(C)]
  1025. #[derive(Debug, Copy, Clone)]
  1026. pub struct bpf_attr__bindgen_ty_13 {
  1027. pub pid: __u32,
  1028. pub fd: __u32,
  1029. pub flags: __u32,
  1030. pub buf_len: __u32,
  1031. pub buf: __u64,
  1032. pub prog_id: __u32,
  1033. pub fd_type: __u32,
  1034. pub probe_offset: __u64,
  1035. pub probe_addr: __u64,
  1036. }
  1037. #[repr(C)]
  1038. #[derive(Copy, Clone)]
  1039. pub struct bpf_attr__bindgen_ty_14 {
  1040. pub __bindgen_anon_1: bpf_attr__bindgen_ty_14__bindgen_ty_1,
  1041. pub __bindgen_anon_2: bpf_attr__bindgen_ty_14__bindgen_ty_2,
  1042. pub attach_type: __u32,
  1043. pub flags: __u32,
  1044. pub __bindgen_anon_3: bpf_attr__bindgen_ty_14__bindgen_ty_3,
  1045. }
  1046. #[repr(C)]
  1047. #[derive(Copy, Clone)]
  1048. pub union bpf_attr__bindgen_ty_14__bindgen_ty_1 {
  1049. pub prog_fd: __u32,
  1050. pub map_fd: __u32,
  1051. }
  1052. #[repr(C)]
  1053. #[derive(Copy, Clone)]
  1054. pub union bpf_attr__bindgen_ty_14__bindgen_ty_2 {
  1055. pub target_fd: __u32,
  1056. pub target_ifindex: __u32,
  1057. }
  1058. #[repr(C)]
  1059. #[derive(Copy, Clone)]
  1060. pub union bpf_attr__bindgen_ty_14__bindgen_ty_3 {
  1061. pub target_btf_id: __u32,
  1062. pub __bindgen_anon_1: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_1,
  1063. pub perf_event: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_2,
  1064. pub kprobe_multi: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_3,
  1065. pub tracing: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_4,
  1066. pub netfilter: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_5,
  1067. pub tcx: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_6,
  1068. pub uprobe_multi: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_7,
  1069. pub netkit: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_8,
  1070. }
  1071. #[repr(C)]
  1072. #[derive(Debug, Copy, Clone)]
  1073. pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_1 {
  1074. pub iter_info: __u64,
  1075. pub iter_info_len: __u32,
  1076. }
  1077. #[repr(C)]
  1078. #[derive(Debug, Copy, Clone)]
  1079. pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_2 {
  1080. pub bpf_cookie: __u64,
  1081. }
  1082. #[repr(C)]
  1083. #[derive(Debug, Copy, Clone)]
  1084. pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_3 {
  1085. pub flags: __u32,
  1086. pub cnt: __u32,
  1087. pub syms: __u64,
  1088. pub addrs: __u64,
  1089. pub cookies: __u64,
  1090. }
  1091. #[repr(C)]
  1092. #[derive(Debug, Copy, Clone)]
  1093. pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_4 {
  1094. pub target_btf_id: __u32,
  1095. pub cookie: __u64,
  1096. }
  1097. #[repr(C)]
  1098. #[derive(Debug, Copy, Clone)]
  1099. pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_5 {
  1100. pub pf: __u32,
  1101. pub hooknum: __u32,
  1102. pub priority: __s32,
  1103. pub flags: __u32,
  1104. }
  1105. #[repr(C)]
  1106. #[derive(Copy, Clone)]
  1107. pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_6 {
  1108. pub __bindgen_anon_1: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_6__bindgen_ty_1,
  1109. pub expected_revision: __u64,
  1110. }
  1111. #[repr(C)]
  1112. #[derive(Copy, Clone)]
  1113. pub union bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_6__bindgen_ty_1 {
  1114. pub relative_fd: __u32,
  1115. pub relative_id: __u32,
  1116. }
  1117. #[repr(C)]
  1118. #[derive(Debug, Copy, Clone)]
  1119. pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_7 {
  1120. pub path: __u64,
  1121. pub offsets: __u64,
  1122. pub ref_ctr_offsets: __u64,
  1123. pub cookies: __u64,
  1124. pub cnt: __u32,
  1125. pub flags: __u32,
  1126. pub pid: __u32,
  1127. }
  1128. #[repr(C)]
  1129. #[derive(Copy, Clone)]
  1130. pub struct bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_8 {
  1131. pub __bindgen_anon_1: bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_8__bindgen_ty_1,
  1132. pub expected_revision: __u64,
  1133. }
  1134. #[repr(C)]
  1135. #[derive(Copy, Clone)]
  1136. pub union bpf_attr__bindgen_ty_14__bindgen_ty_3__bindgen_ty_8__bindgen_ty_1 {
  1137. pub relative_fd: __u32,
  1138. pub relative_id: __u32,
  1139. }
  1140. #[repr(C)]
  1141. #[derive(Copy, Clone)]
  1142. pub struct bpf_attr__bindgen_ty_15 {
  1143. pub link_fd: __u32,
  1144. pub __bindgen_anon_1: bpf_attr__bindgen_ty_15__bindgen_ty_1,
  1145. pub flags: __u32,
  1146. pub __bindgen_anon_2: bpf_attr__bindgen_ty_15__bindgen_ty_2,
  1147. }
  1148. #[repr(C)]
  1149. #[derive(Copy, Clone)]
  1150. pub union bpf_attr__bindgen_ty_15__bindgen_ty_1 {
  1151. pub new_prog_fd: __u32,
  1152. pub new_map_fd: __u32,
  1153. }
  1154. #[repr(C)]
  1155. #[derive(Copy, Clone)]
  1156. pub union bpf_attr__bindgen_ty_15__bindgen_ty_2 {
  1157. pub old_prog_fd: __u32,
  1158. pub old_map_fd: __u32,
  1159. }
  1160. #[repr(C)]
  1161. #[derive(Debug, Copy, Clone)]
  1162. pub struct bpf_attr__bindgen_ty_16 {
  1163. pub link_fd: __u32,
  1164. }
  1165. #[repr(C)]
  1166. #[derive(Debug, Copy, Clone)]
  1167. pub struct bpf_attr__bindgen_ty_17 {
  1168. pub type_: __u32,
  1169. }
  1170. #[repr(C)]
  1171. #[derive(Debug, Copy, Clone)]
  1172. pub struct bpf_attr__bindgen_ty_18 {
  1173. pub link_fd: __u32,
  1174. pub flags: __u32,
  1175. }
  1176. #[repr(C)]
  1177. #[derive(Debug, Copy, Clone)]
  1178. pub struct bpf_attr__bindgen_ty_19 {
  1179. pub prog_fd: __u32,
  1180. pub map_fd: __u32,
  1181. pub flags: __u32,
  1182. }
  1183. #[repr(C)]
  1184. #[derive(Debug, Copy, Clone)]
  1185. pub struct bpf_attr__bindgen_ty_20 {
  1186. pub flags: __u32,
  1187. pub bpffs_fd: __u32,
  1188. }
  1189. pub mod bpf_func_id {
  1190. pub type Type = ::aya_ebpf_cty::c_uint;
  1191. pub const BPF_FUNC_unspec: Type = 0;
  1192. pub const BPF_FUNC_map_lookup_elem: Type = 1;
  1193. pub const BPF_FUNC_map_update_elem: Type = 2;
  1194. pub const BPF_FUNC_map_delete_elem: Type = 3;
  1195. pub const BPF_FUNC_probe_read: Type = 4;
  1196. pub const BPF_FUNC_ktime_get_ns: Type = 5;
  1197. pub const BPF_FUNC_trace_printk: Type = 6;
  1198. pub const BPF_FUNC_get_prandom_u32: Type = 7;
  1199. pub const BPF_FUNC_get_smp_processor_id: Type = 8;
  1200. pub const BPF_FUNC_skb_store_bytes: Type = 9;
  1201. pub const BPF_FUNC_l3_csum_replace: Type = 10;
  1202. pub const BPF_FUNC_l4_csum_replace: Type = 11;
  1203. pub const BPF_FUNC_tail_call: Type = 12;
  1204. pub const BPF_FUNC_clone_redirect: Type = 13;
  1205. pub const BPF_FUNC_get_current_pid_tgid: Type = 14;
  1206. pub const BPF_FUNC_get_current_uid_gid: Type = 15;
  1207. pub const BPF_FUNC_get_current_comm: Type = 16;
  1208. pub const BPF_FUNC_get_cgroup_classid: Type = 17;
  1209. pub const BPF_FUNC_skb_vlan_push: Type = 18;
  1210. pub const BPF_FUNC_skb_vlan_pop: Type = 19;
  1211. pub const BPF_FUNC_skb_get_tunnel_key: Type = 20;
  1212. pub const BPF_FUNC_skb_set_tunnel_key: Type = 21;
  1213. pub const BPF_FUNC_perf_event_read: Type = 22;
  1214. pub const BPF_FUNC_redirect: Type = 23;
  1215. pub const BPF_FUNC_get_route_realm: Type = 24;
  1216. pub const BPF_FUNC_perf_event_output: Type = 25;
  1217. pub const BPF_FUNC_skb_load_bytes: Type = 26;
  1218. pub const BPF_FUNC_get_stackid: Type = 27;
  1219. pub const BPF_FUNC_csum_diff: Type = 28;
  1220. pub const BPF_FUNC_skb_get_tunnel_opt: Type = 29;
  1221. pub const BPF_FUNC_skb_set_tunnel_opt: Type = 30;
  1222. pub const BPF_FUNC_skb_change_proto: Type = 31;
  1223. pub const BPF_FUNC_skb_change_type: Type = 32;
  1224. pub const BPF_FUNC_skb_under_cgroup: Type = 33;
  1225. pub const BPF_FUNC_get_hash_recalc: Type = 34;
  1226. pub const BPF_FUNC_get_current_task: Type = 35;
  1227. pub const BPF_FUNC_probe_write_user: Type = 36;
  1228. pub const BPF_FUNC_current_task_under_cgroup: Type = 37;
  1229. pub const BPF_FUNC_skb_change_tail: Type = 38;
  1230. pub const BPF_FUNC_skb_pull_data: Type = 39;
  1231. pub const BPF_FUNC_csum_update: Type = 40;
  1232. pub const BPF_FUNC_set_hash_invalid: Type = 41;
  1233. pub const BPF_FUNC_get_numa_node_id: Type = 42;
  1234. pub const BPF_FUNC_skb_change_head: Type = 43;
  1235. pub const BPF_FUNC_xdp_adjust_head: Type = 44;
  1236. pub const BPF_FUNC_probe_read_str: Type = 45;
  1237. pub const BPF_FUNC_get_socket_cookie: Type = 46;
  1238. pub const BPF_FUNC_get_socket_uid: Type = 47;
  1239. pub const BPF_FUNC_set_hash: Type = 48;
  1240. pub const BPF_FUNC_setsockopt: Type = 49;
  1241. pub const BPF_FUNC_skb_adjust_room: Type = 50;
  1242. pub const BPF_FUNC_redirect_map: Type = 51;
  1243. pub const BPF_FUNC_sk_redirect_map: Type = 52;
  1244. pub const BPF_FUNC_sock_map_update: Type = 53;
  1245. pub const BPF_FUNC_xdp_adjust_meta: Type = 54;
  1246. pub const BPF_FUNC_perf_event_read_value: Type = 55;
  1247. pub const BPF_FUNC_perf_prog_read_value: Type = 56;
  1248. pub const BPF_FUNC_getsockopt: Type = 57;
  1249. pub const BPF_FUNC_override_return: Type = 58;
  1250. pub const BPF_FUNC_sock_ops_cb_flags_set: Type = 59;
  1251. pub const BPF_FUNC_msg_redirect_map: Type = 60;
  1252. pub const BPF_FUNC_msg_apply_bytes: Type = 61;
  1253. pub const BPF_FUNC_msg_cork_bytes: Type = 62;
  1254. pub const BPF_FUNC_msg_pull_data: Type = 63;
  1255. pub const BPF_FUNC_bind: Type = 64;
  1256. pub const BPF_FUNC_xdp_adjust_tail: Type = 65;
  1257. pub const BPF_FUNC_skb_get_xfrm_state: Type = 66;
  1258. pub const BPF_FUNC_get_stack: Type = 67;
  1259. pub const BPF_FUNC_skb_load_bytes_relative: Type = 68;
  1260. pub const BPF_FUNC_fib_lookup: Type = 69;
  1261. pub const BPF_FUNC_sock_hash_update: Type = 70;
  1262. pub const BPF_FUNC_msg_redirect_hash: Type = 71;
  1263. pub const BPF_FUNC_sk_redirect_hash: Type = 72;
  1264. pub const BPF_FUNC_lwt_push_encap: Type = 73;
  1265. pub const BPF_FUNC_lwt_seg6_store_bytes: Type = 74;
  1266. pub const BPF_FUNC_lwt_seg6_adjust_srh: Type = 75;
  1267. pub const BPF_FUNC_lwt_seg6_action: Type = 76;
  1268. pub const BPF_FUNC_rc_repeat: Type = 77;
  1269. pub const BPF_FUNC_rc_keydown: Type = 78;
  1270. pub const BPF_FUNC_skb_cgroup_id: Type = 79;
  1271. pub const BPF_FUNC_get_current_cgroup_id: Type = 80;
  1272. pub const BPF_FUNC_get_local_storage: Type = 81;
  1273. pub const BPF_FUNC_sk_select_reuseport: Type = 82;
  1274. pub const BPF_FUNC_skb_ancestor_cgroup_id: Type = 83;
  1275. pub const BPF_FUNC_sk_lookup_tcp: Type = 84;
  1276. pub const BPF_FUNC_sk_lookup_udp: Type = 85;
  1277. pub const BPF_FUNC_sk_release: Type = 86;
  1278. pub const BPF_FUNC_map_push_elem: Type = 87;
  1279. pub const BPF_FUNC_map_pop_elem: Type = 88;
  1280. pub const BPF_FUNC_map_peek_elem: Type = 89;
  1281. pub const BPF_FUNC_msg_push_data: Type = 90;
  1282. pub const BPF_FUNC_msg_pop_data: Type = 91;
  1283. pub const BPF_FUNC_rc_pointer_rel: Type = 92;
  1284. pub const BPF_FUNC_spin_lock: Type = 93;
  1285. pub const BPF_FUNC_spin_unlock: Type = 94;
  1286. pub const BPF_FUNC_sk_fullsock: Type = 95;
  1287. pub const BPF_FUNC_tcp_sock: Type = 96;
  1288. pub const BPF_FUNC_skb_ecn_set_ce: Type = 97;
  1289. pub const BPF_FUNC_get_listener_sock: Type = 98;
  1290. pub const BPF_FUNC_skc_lookup_tcp: Type = 99;
  1291. pub const BPF_FUNC_tcp_check_syncookie: Type = 100;
  1292. pub const BPF_FUNC_sysctl_get_name: Type = 101;
  1293. pub const BPF_FUNC_sysctl_get_current_value: Type = 102;
  1294. pub const BPF_FUNC_sysctl_get_new_value: Type = 103;
  1295. pub const BPF_FUNC_sysctl_set_new_value: Type = 104;
  1296. pub const BPF_FUNC_strtol: Type = 105;
  1297. pub const BPF_FUNC_strtoul: Type = 106;
  1298. pub const BPF_FUNC_sk_storage_get: Type = 107;
  1299. pub const BPF_FUNC_sk_storage_delete: Type = 108;
  1300. pub const BPF_FUNC_send_signal: Type = 109;
  1301. pub const BPF_FUNC_tcp_gen_syncookie: Type = 110;
  1302. pub const BPF_FUNC_skb_output: Type = 111;
  1303. pub const BPF_FUNC_probe_read_user: Type = 112;
  1304. pub const BPF_FUNC_probe_read_kernel: Type = 113;
  1305. pub const BPF_FUNC_probe_read_user_str: Type = 114;
  1306. pub const BPF_FUNC_probe_read_kernel_str: Type = 115;
  1307. pub const BPF_FUNC_tcp_send_ack: Type = 116;
  1308. pub const BPF_FUNC_send_signal_thread: Type = 117;
  1309. pub const BPF_FUNC_jiffies64: Type = 118;
  1310. pub const BPF_FUNC_read_branch_records: Type = 119;
  1311. pub const BPF_FUNC_get_ns_current_pid_tgid: Type = 120;
  1312. pub const BPF_FUNC_xdp_output: Type = 121;
  1313. pub const BPF_FUNC_get_netns_cookie: Type = 122;
  1314. pub const BPF_FUNC_get_current_ancestor_cgroup_id: Type = 123;
  1315. pub const BPF_FUNC_sk_assign: Type = 124;
  1316. pub const BPF_FUNC_ktime_get_boot_ns: Type = 125;
  1317. pub const BPF_FUNC_seq_printf: Type = 126;
  1318. pub const BPF_FUNC_seq_write: Type = 127;
  1319. pub const BPF_FUNC_sk_cgroup_id: Type = 128;
  1320. pub const BPF_FUNC_sk_ancestor_cgroup_id: Type = 129;
  1321. pub const BPF_FUNC_ringbuf_output: Type = 130;
  1322. pub const BPF_FUNC_ringbuf_reserve: Type = 131;
  1323. pub const BPF_FUNC_ringbuf_submit: Type = 132;
  1324. pub const BPF_FUNC_ringbuf_discard: Type = 133;
  1325. pub const BPF_FUNC_ringbuf_query: Type = 134;
  1326. pub const BPF_FUNC_csum_level: Type = 135;
  1327. pub const BPF_FUNC_skc_to_tcp6_sock: Type = 136;
  1328. pub const BPF_FUNC_skc_to_tcp_sock: Type = 137;
  1329. pub const BPF_FUNC_skc_to_tcp_timewait_sock: Type = 138;
  1330. pub const BPF_FUNC_skc_to_tcp_request_sock: Type = 139;
  1331. pub const BPF_FUNC_skc_to_udp6_sock: Type = 140;
  1332. pub const BPF_FUNC_get_task_stack: Type = 141;
  1333. pub const BPF_FUNC_load_hdr_opt: Type = 142;
  1334. pub const BPF_FUNC_store_hdr_opt: Type = 143;
  1335. pub const BPF_FUNC_reserve_hdr_opt: Type = 144;
  1336. pub const BPF_FUNC_inode_storage_get: Type = 145;
  1337. pub const BPF_FUNC_inode_storage_delete: Type = 146;
  1338. pub const BPF_FUNC_d_path: Type = 147;
  1339. pub const BPF_FUNC_copy_from_user: Type = 148;
  1340. pub const BPF_FUNC_snprintf_btf: Type = 149;
  1341. pub const BPF_FUNC_seq_printf_btf: Type = 150;
  1342. pub const BPF_FUNC_skb_cgroup_classid: Type = 151;
  1343. pub const BPF_FUNC_redirect_neigh: Type = 152;
  1344. pub const BPF_FUNC_per_cpu_ptr: Type = 153;
  1345. pub const BPF_FUNC_this_cpu_ptr: Type = 154;
  1346. pub const BPF_FUNC_redirect_peer: Type = 155;
  1347. pub const BPF_FUNC_task_storage_get: Type = 156;
  1348. pub const BPF_FUNC_task_storage_delete: Type = 157;
  1349. pub const BPF_FUNC_get_current_task_btf: Type = 158;
  1350. pub const BPF_FUNC_bprm_opts_set: Type = 159;
  1351. pub const BPF_FUNC_ktime_get_coarse_ns: Type = 160;
  1352. pub const BPF_FUNC_ima_inode_hash: Type = 161;
  1353. pub const BPF_FUNC_sock_from_file: Type = 162;
  1354. pub const BPF_FUNC_check_mtu: Type = 163;
  1355. pub const BPF_FUNC_for_each_map_elem: Type = 164;
  1356. pub const BPF_FUNC_snprintf: Type = 165;
  1357. pub const BPF_FUNC_sys_bpf: Type = 166;
  1358. pub const BPF_FUNC_btf_find_by_name_kind: Type = 167;
  1359. pub const BPF_FUNC_sys_close: Type = 168;
  1360. pub const BPF_FUNC_timer_init: Type = 169;
  1361. pub const BPF_FUNC_timer_set_callback: Type = 170;
  1362. pub const BPF_FUNC_timer_start: Type = 171;
  1363. pub const BPF_FUNC_timer_cancel: Type = 172;
  1364. pub const BPF_FUNC_get_func_ip: Type = 173;
  1365. pub const BPF_FUNC_get_attach_cookie: Type = 174;
  1366. pub const BPF_FUNC_task_pt_regs: Type = 175;
  1367. pub const BPF_FUNC_get_branch_snapshot: Type = 176;
  1368. pub const BPF_FUNC_trace_vprintk: Type = 177;
  1369. pub const BPF_FUNC_skc_to_unix_sock: Type = 178;
  1370. pub const BPF_FUNC_kallsyms_lookup_name: Type = 179;
  1371. pub const BPF_FUNC_find_vma: Type = 180;
  1372. pub const BPF_FUNC_loop: Type = 181;
  1373. pub const BPF_FUNC_strncmp: Type = 182;
  1374. pub const BPF_FUNC_get_func_arg: Type = 183;
  1375. pub const BPF_FUNC_get_func_ret: Type = 184;
  1376. pub const BPF_FUNC_get_func_arg_cnt: Type = 185;
  1377. pub const BPF_FUNC_get_retval: Type = 186;
  1378. pub const BPF_FUNC_set_retval: Type = 187;
  1379. pub const BPF_FUNC_xdp_get_buff_len: Type = 188;
  1380. pub const BPF_FUNC_xdp_load_bytes: Type = 189;
  1381. pub const BPF_FUNC_xdp_store_bytes: Type = 190;
  1382. pub const BPF_FUNC_copy_from_user_task: Type = 191;
  1383. pub const BPF_FUNC_skb_set_tstamp: Type = 192;
  1384. pub const BPF_FUNC_ima_file_hash: Type = 193;
  1385. pub const BPF_FUNC_kptr_xchg: Type = 194;
  1386. pub const BPF_FUNC_map_lookup_percpu_elem: Type = 195;
  1387. pub const BPF_FUNC_skc_to_mptcp_sock: Type = 196;
  1388. pub const BPF_FUNC_dynptr_from_mem: Type = 197;
  1389. pub const BPF_FUNC_ringbuf_reserve_dynptr: Type = 198;
  1390. pub const BPF_FUNC_ringbuf_submit_dynptr: Type = 199;
  1391. pub const BPF_FUNC_ringbuf_discard_dynptr: Type = 200;
  1392. pub const BPF_FUNC_dynptr_read: Type = 201;
  1393. pub const BPF_FUNC_dynptr_write: Type = 202;
  1394. pub const BPF_FUNC_dynptr_data: Type = 203;
  1395. pub const BPF_FUNC_tcp_raw_gen_syncookie_ipv4: Type = 204;
  1396. pub const BPF_FUNC_tcp_raw_gen_syncookie_ipv6: Type = 205;
  1397. pub const BPF_FUNC_tcp_raw_check_syncookie_ipv4: Type = 206;
  1398. pub const BPF_FUNC_tcp_raw_check_syncookie_ipv6: Type = 207;
  1399. pub const BPF_FUNC_ktime_get_tai_ns: Type = 208;
  1400. pub const BPF_FUNC_user_ringbuf_drain: Type = 209;
  1401. pub const BPF_FUNC_cgrp_storage_get: Type = 210;
  1402. pub const BPF_FUNC_cgrp_storage_delete: Type = 211;
  1403. pub const __BPF_FUNC_MAX_ID: Type = 212;
  1404. }
  1405. pub const BPF_F_RECOMPUTE_CSUM: _bindgen_ty_6 = 1;
  1406. pub const BPF_F_INVALIDATE_HASH: _bindgen_ty_6 = 2;
  1407. pub type _bindgen_ty_6 = ::aya_ebpf_cty::c_uint;
  1408. pub const BPF_F_HDR_FIELD_MASK: _bindgen_ty_7 = 15;
  1409. pub type _bindgen_ty_7 = ::aya_ebpf_cty::c_uint;
  1410. pub const BPF_F_PSEUDO_HDR: _bindgen_ty_8 = 16;
  1411. pub const BPF_F_MARK_MANGLED_0: _bindgen_ty_8 = 32;
  1412. pub const BPF_F_MARK_ENFORCE: _bindgen_ty_8 = 64;
  1413. pub type _bindgen_ty_8 = ::aya_ebpf_cty::c_uint;
  1414. pub const BPF_F_INGRESS: _bindgen_ty_9 = 1;
  1415. pub type _bindgen_ty_9 = ::aya_ebpf_cty::c_uint;
  1416. pub const BPF_F_TUNINFO_IPV6: _bindgen_ty_10 = 1;
  1417. pub type _bindgen_ty_10 = ::aya_ebpf_cty::c_uint;
  1418. pub const BPF_F_SKIP_FIELD_MASK: _bindgen_ty_11 = 255;
  1419. pub const BPF_F_USER_STACK: _bindgen_ty_11 = 256;
  1420. pub const BPF_F_FAST_STACK_CMP: _bindgen_ty_11 = 512;
  1421. pub const BPF_F_REUSE_STACKID: _bindgen_ty_11 = 1024;
  1422. pub const BPF_F_USER_BUILD_ID: _bindgen_ty_11 = 2048;
  1423. pub type _bindgen_ty_11 = ::aya_ebpf_cty::c_uint;
  1424. pub const BPF_F_ZERO_CSUM_TX: _bindgen_ty_12 = 2;
  1425. pub const BPF_F_DONT_FRAGMENT: _bindgen_ty_12 = 4;
  1426. pub const BPF_F_SEQ_NUMBER: _bindgen_ty_12 = 8;
  1427. pub const BPF_F_NO_TUNNEL_KEY: _bindgen_ty_12 = 16;
  1428. pub type _bindgen_ty_12 = ::aya_ebpf_cty::c_uint;
  1429. pub const BPF_F_TUNINFO_FLAGS: _bindgen_ty_13 = 16;
  1430. pub type _bindgen_ty_13 = ::aya_ebpf_cty::c_uint;
  1431. pub const BPF_F_INDEX_MASK: _bindgen_ty_14 = 4294967295;
  1432. pub const BPF_F_CURRENT_CPU: _bindgen_ty_14 = 4294967295;
  1433. pub const BPF_F_CTXLEN_MASK: _bindgen_ty_14 = 4503595332403200;
  1434. pub type _bindgen_ty_14 = ::aya_ebpf_cty::c_ulong;
  1435. pub const BPF_F_CURRENT_NETNS: _bindgen_ty_15 = -1;
  1436. pub type _bindgen_ty_15 = ::aya_ebpf_cty::c_int;
  1437. pub const BPF_CSUM_LEVEL_QUERY: _bindgen_ty_16 = 0;
  1438. pub const BPF_CSUM_LEVEL_INC: _bindgen_ty_16 = 1;
  1439. pub const BPF_CSUM_LEVEL_DEC: _bindgen_ty_16 = 2;
  1440. pub const BPF_CSUM_LEVEL_RESET: _bindgen_ty_16 = 3;
  1441. pub type _bindgen_ty_16 = ::aya_ebpf_cty::c_uint;
  1442. pub const BPF_F_ADJ_ROOM_FIXED_GSO: _bindgen_ty_17 = 1;
  1443. pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV4: _bindgen_ty_17 = 2;
  1444. pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV6: _bindgen_ty_17 = 4;
  1445. pub const BPF_F_ADJ_ROOM_ENCAP_L4_GRE: _bindgen_ty_17 = 8;
  1446. pub const BPF_F_ADJ_ROOM_ENCAP_L4_UDP: _bindgen_ty_17 = 16;
  1447. pub const BPF_F_ADJ_ROOM_NO_CSUM_RESET: _bindgen_ty_17 = 32;
  1448. pub const BPF_F_ADJ_ROOM_ENCAP_L2_ETH: _bindgen_ty_17 = 64;
  1449. pub const BPF_F_ADJ_ROOM_DECAP_L3_IPV4: _bindgen_ty_17 = 128;
  1450. pub const BPF_F_ADJ_ROOM_DECAP_L3_IPV6: _bindgen_ty_17 = 256;
  1451. pub type _bindgen_ty_17 = ::aya_ebpf_cty::c_uint;
  1452. pub const BPF_ADJ_ROOM_ENCAP_L2_MASK: _bindgen_ty_18 = 255;
  1453. pub const BPF_ADJ_ROOM_ENCAP_L2_SHIFT: _bindgen_ty_18 = 56;
  1454. pub type _bindgen_ty_18 = ::aya_ebpf_cty::c_uint;
  1455. pub const BPF_F_SYSCTL_BASE_NAME: _bindgen_ty_19 = 1;
  1456. pub type _bindgen_ty_19 = ::aya_ebpf_cty::c_uint;
  1457. pub const BPF_LOCAL_STORAGE_GET_F_CREATE: _bindgen_ty_20 = 1;
  1458. pub const BPF_SK_STORAGE_GET_F_CREATE: _bindgen_ty_20 = 1;
  1459. pub type _bindgen_ty_20 = ::aya_ebpf_cty::c_uint;
  1460. pub const BPF_F_GET_BRANCH_RECORDS_SIZE: _bindgen_ty_21 = 1;
  1461. pub type _bindgen_ty_21 = ::aya_ebpf_cty::c_uint;
  1462. pub const BPF_RB_NO_WAKEUP: _bindgen_ty_22 = 1;
  1463. pub const BPF_RB_FORCE_WAKEUP: _bindgen_ty_22 = 2;
  1464. pub type _bindgen_ty_22 = ::aya_ebpf_cty::c_uint;
  1465. pub const BPF_RB_AVAIL_DATA: _bindgen_ty_23 = 0;
  1466. pub const BPF_RB_RING_SIZE: _bindgen_ty_23 = 1;
  1467. pub const BPF_RB_CONS_POS: _bindgen_ty_23 = 2;
  1468. pub const BPF_RB_PROD_POS: _bindgen_ty_23 = 3;
  1469. pub type _bindgen_ty_23 = ::aya_ebpf_cty::c_uint;
  1470. pub const BPF_RINGBUF_BUSY_BIT: _bindgen_ty_24 = 2147483648;
  1471. pub const BPF_RINGBUF_DISCARD_BIT: _bindgen_ty_24 = 1073741824;
  1472. pub const BPF_RINGBUF_HDR_SZ: _bindgen_ty_24 = 8;
  1473. pub type _bindgen_ty_24 = ::aya_ebpf_cty::c_uint;
  1474. pub const BPF_SK_LOOKUP_F_REPLACE: _bindgen_ty_25 = 1;
  1475. pub const BPF_SK_LOOKUP_F_NO_REUSEPORT: _bindgen_ty_25 = 2;
  1476. pub type _bindgen_ty_25 = ::aya_ebpf_cty::c_uint;
  1477. pub mod bpf_adj_room_mode {
  1478. pub type Type = ::aya_ebpf_cty::c_uint;
  1479. pub const BPF_ADJ_ROOM_NET: Type = 0;
  1480. pub const BPF_ADJ_ROOM_MAC: Type = 1;
  1481. }
  1482. pub mod bpf_hdr_start_off {
  1483. pub type Type = ::aya_ebpf_cty::c_uint;
  1484. pub const BPF_HDR_START_MAC: Type = 0;
  1485. pub const BPF_HDR_START_NET: Type = 1;
  1486. }
  1487. pub mod bpf_lwt_encap_mode {
  1488. pub type Type = ::aya_ebpf_cty::c_uint;
  1489. pub const BPF_LWT_ENCAP_SEG6: Type = 0;
  1490. pub const BPF_LWT_ENCAP_SEG6_INLINE: Type = 1;
  1491. pub const BPF_LWT_ENCAP_IP: Type = 2;
  1492. }
  1493. pub const BPF_F_BPRM_SECUREEXEC: _bindgen_ty_26 = 1;
  1494. pub type _bindgen_ty_26 = ::aya_ebpf_cty::c_uint;
  1495. pub const BPF_F_BROADCAST: _bindgen_ty_27 = 8;
  1496. pub const BPF_F_EXCLUDE_INGRESS: _bindgen_ty_27 = 16;
  1497. pub type _bindgen_ty_27 = ::aya_ebpf_cty::c_uint;
  1498. pub mod _bindgen_ty_28 {
  1499. pub type Type = ::aya_ebpf_cty::c_uint;
  1500. pub const BPF_SKB_TSTAMP_UNSPEC: Type = 0;
  1501. pub const BPF_SKB_TSTAMP_DELIVERY_MONO: Type = 1;
  1502. }
  1503. #[repr(C)]
  1504. #[derive(Copy, Clone)]
  1505. pub struct __sk_buff {
  1506. pub len: __u32,
  1507. pub pkt_type: __u32,
  1508. pub mark: __u32,
  1509. pub queue_mapping: __u32,
  1510. pub protocol: __u32,
  1511. pub vlan_present: __u32,
  1512. pub vlan_tci: __u32,
  1513. pub vlan_proto: __u32,
  1514. pub priority: __u32,
  1515. pub ingress_ifindex: __u32,
  1516. pub ifindex: __u32,
  1517. pub tc_index: __u32,
  1518. pub cb: [__u32; 5usize],
  1519. pub hash: __u32,
  1520. pub tc_classid: __u32,
  1521. pub data: __u32,
  1522. pub data_end: __u32,
  1523. pub napi_id: __u32,
  1524. pub family: __u32,
  1525. pub remote_ip4: __u32,
  1526. pub local_ip4: __u32,
  1527. pub remote_ip6: [__u32; 4usize],
  1528. pub local_ip6: [__u32; 4usize],
  1529. pub remote_port: __u32,
  1530. pub local_port: __u32,
  1531. pub data_meta: __u32,
  1532. pub __bindgen_anon_1: __sk_buff__bindgen_ty_1,
  1533. pub tstamp: __u64,
  1534. pub wire_len: __u32,
  1535. pub gso_segs: __u32,
  1536. pub __bindgen_anon_2: __sk_buff__bindgen_ty_2,
  1537. pub gso_size: __u32,
  1538. pub tstamp_type: __u8,
  1539. pub _bitfield_align_1: [u8; 0],
  1540. pub _bitfield_1: __BindgenBitfieldUnit<[u8; 3usize]>,
  1541. pub hwtstamp: __u64,
  1542. }
  1543. #[repr(C)]
  1544. #[derive(Copy, Clone)]
  1545. pub union __sk_buff__bindgen_ty_1 {
  1546. pub flow_keys: *mut bpf_flow_keys,
  1547. pub _bitfield_align_1: [u8; 0],
  1548. pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
  1549. }
  1550. impl __sk_buff__bindgen_ty_1 {
  1551. #[inline]
  1552. pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> {
  1553. let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
  1554. __bindgen_bitfield_unit
  1555. }
  1556. }
  1557. #[repr(C)]
  1558. #[derive(Copy, Clone)]
  1559. pub union __sk_buff__bindgen_ty_2 {
  1560. pub sk: *mut bpf_sock,
  1561. pub _bitfield_align_1: [u8; 0],
  1562. pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
  1563. }
  1564. impl __sk_buff__bindgen_ty_2 {
  1565. #[inline]
  1566. pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> {
  1567. let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
  1568. __bindgen_bitfield_unit
  1569. }
  1570. }
  1571. impl __sk_buff {
  1572. #[inline]
  1573. pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 3usize]> {
  1574. let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 3usize]> = Default::default();
  1575. __bindgen_bitfield_unit
  1576. }
  1577. }
  1578. #[repr(C)]
  1579. #[derive(Copy, Clone)]
  1580. pub struct bpf_tunnel_key {
  1581. pub tunnel_id: __u32,
  1582. pub __bindgen_anon_1: bpf_tunnel_key__bindgen_ty_1,
  1583. pub tunnel_tos: __u8,
  1584. pub tunnel_ttl: __u8,
  1585. pub __bindgen_anon_2: bpf_tunnel_key__bindgen_ty_2,
  1586. pub tunnel_label: __u32,
  1587. pub __bindgen_anon_3: bpf_tunnel_key__bindgen_ty_3,
  1588. }
  1589. #[repr(C)]
  1590. #[derive(Copy, Clone)]
  1591. pub union bpf_tunnel_key__bindgen_ty_1 {
  1592. pub remote_ipv4: __u32,
  1593. pub remote_ipv6: [__u32; 4usize],
  1594. }
  1595. #[repr(C)]
  1596. #[derive(Copy, Clone)]
  1597. pub union bpf_tunnel_key__bindgen_ty_2 {
  1598. pub tunnel_ext: __u16,
  1599. pub tunnel_flags: __be16,
  1600. }
  1601. #[repr(C)]
  1602. #[derive(Copy, Clone)]
  1603. pub union bpf_tunnel_key__bindgen_ty_3 {
  1604. pub local_ipv4: __u32,
  1605. pub local_ipv6: [__u32; 4usize],
  1606. }
  1607. #[repr(C)]
  1608. #[derive(Copy, Clone)]
  1609. pub struct bpf_xfrm_state {
  1610. pub reqid: __u32,
  1611. pub spi: __u32,
  1612. pub family: __u16,
  1613. pub ext: __u16,
  1614. pub __bindgen_anon_1: bpf_xfrm_state__bindgen_ty_1,
  1615. }
  1616. #[repr(C)]
  1617. #[derive(Copy, Clone)]
  1618. pub union bpf_xfrm_state__bindgen_ty_1 {
  1619. pub remote_ipv4: __u32,
  1620. pub remote_ipv6: [__u32; 4usize],
  1621. }
  1622. pub mod bpf_ret_code {
  1623. pub type Type = ::aya_ebpf_cty::c_uint;
  1624. pub const BPF_OK: Type = 0;
  1625. pub const BPF_DROP: Type = 2;
  1626. pub const BPF_REDIRECT: Type = 7;
  1627. pub const BPF_LWT_REROUTE: Type = 128;
  1628. pub const BPF_FLOW_DISSECTOR_CONTINUE: Type = 129;
  1629. }
  1630. #[repr(C)]
  1631. #[derive(Debug, Copy, Clone)]
  1632. pub struct bpf_sock {
  1633. pub bound_dev_if: __u32,
  1634. pub family: __u32,
  1635. pub type_: __u32,
  1636. pub protocol: __u32,
  1637. pub mark: __u32,
  1638. pub priority: __u32,
  1639. pub src_ip4: __u32,
  1640. pub src_ip6: [__u32; 4usize],
  1641. pub src_port: __u32,
  1642. pub dst_port: __be16,
  1643. pub _bitfield_align_1: [u8; 0],
  1644. pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
  1645. pub dst_ip4: __u32,
  1646. pub dst_ip6: [__u32; 4usize],
  1647. pub state: __u32,
  1648. pub rx_queue_mapping: __s32,
  1649. }
  1650. impl bpf_sock {
  1651. #[inline]
  1652. pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 2usize]> {
  1653. let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
  1654. __bindgen_bitfield_unit
  1655. }
  1656. }
  1657. #[repr(C)]
  1658. #[derive(Debug, Copy, Clone)]
  1659. pub struct bpf_tcp_sock {
  1660. pub snd_cwnd: __u32,
  1661. pub srtt_us: __u32,
  1662. pub rtt_min: __u32,
  1663. pub snd_ssthresh: __u32,
  1664. pub rcv_nxt: __u32,
  1665. pub snd_nxt: __u32,
  1666. pub snd_una: __u32,
  1667. pub mss_cache: __u32,
  1668. pub ecn_flags: __u32,
  1669. pub rate_delivered: __u32,
  1670. pub rate_interval_us: __u32,
  1671. pub packets_out: __u32,
  1672. pub retrans_out: __u32,
  1673. pub total_retrans: __u32,
  1674. pub segs_in: __u32,
  1675. pub data_segs_in: __u32,
  1676. pub segs_out: __u32,
  1677. pub data_segs_out: __u32,
  1678. pub lost_out: __u32,
  1679. pub sacked_out: __u32,
  1680. pub bytes_received: __u64,
  1681. pub bytes_acked: __u64,
  1682. pub dsack_dups: __u32,
  1683. pub delivered: __u32,
  1684. pub delivered_ce: __u32,
  1685. pub icsk_retransmits: __u32,
  1686. }
  1687. #[repr(C)]
  1688. #[derive(Copy, Clone)]
  1689. pub struct bpf_sock_tuple {
  1690. pub __bindgen_anon_1: bpf_sock_tuple__bindgen_ty_1,
  1691. }
  1692. #[repr(C)]
  1693. #[derive(Copy, Clone)]
  1694. pub union bpf_sock_tuple__bindgen_ty_1 {
  1695. pub ipv4: bpf_sock_tuple__bindgen_ty_1__bindgen_ty_1,
  1696. pub ipv6: bpf_sock_tuple__bindgen_ty_1__bindgen_ty_2,
  1697. }
  1698. #[repr(C)]
  1699. #[derive(Debug, Copy, Clone)]
  1700. pub struct bpf_sock_tuple__bindgen_ty_1__bindgen_ty_1 {
  1701. pub saddr: __be32,
  1702. pub daddr: __be32,
  1703. pub sport: __be16,
  1704. pub dport: __be16,
  1705. }
  1706. #[repr(C)]
  1707. #[derive(Debug, Copy, Clone)]
  1708. pub struct bpf_sock_tuple__bindgen_ty_1__bindgen_ty_2 {
  1709. pub saddr: [__be32; 4usize],
  1710. pub daddr: [__be32; 4usize],
  1711. pub sport: __be16,
  1712. pub dport: __be16,
  1713. }
  1714. #[repr(C)]
  1715. #[derive(Debug, Copy, Clone)]
  1716. pub struct bpf_xdp_sock {
  1717. pub queue_id: __u32,
  1718. }
  1719. pub mod xdp_action {
  1720. pub type Type = ::aya_ebpf_cty::c_uint;
  1721. pub const XDP_ABORTED: Type = 0;
  1722. pub const XDP_DROP: Type = 1;
  1723. pub const XDP_PASS: Type = 2;
  1724. pub const XDP_TX: Type = 3;
  1725. pub const XDP_REDIRECT: Type = 4;
  1726. }
  1727. #[repr(C)]
  1728. #[derive(Debug, Copy, Clone)]
  1729. pub struct xdp_md {
  1730. pub data: __u32,
  1731. pub data_end: __u32,
  1732. pub data_meta: __u32,
  1733. pub ingress_ifindex: __u32,
  1734. pub rx_queue_index: __u32,
  1735. pub egress_ifindex: __u32,
  1736. }
  1737. #[repr(C)]
  1738. #[derive(Copy, Clone)]
  1739. pub struct bpf_devmap_val {
  1740. pub ifindex: __u32,
  1741. pub bpf_prog: bpf_devmap_val__bindgen_ty_1,
  1742. }
  1743. #[repr(C)]
  1744. #[derive(Copy, Clone)]
  1745. pub union bpf_devmap_val__bindgen_ty_1 {
  1746. pub fd: ::aya_ebpf_cty::c_int,
  1747. pub id: __u32,
  1748. }
  1749. #[repr(C)]
  1750. #[derive(Copy, Clone)]
  1751. pub struct bpf_cpumap_val {
  1752. pub qsize: __u32,
  1753. pub bpf_prog: bpf_cpumap_val__bindgen_ty_1,
  1754. }
  1755. #[repr(C)]
  1756. #[derive(Copy, Clone)]
  1757. pub union bpf_cpumap_val__bindgen_ty_1 {
  1758. pub fd: ::aya_ebpf_cty::c_int,
  1759. pub id: __u32,
  1760. }
  1761. pub mod sk_action {
  1762. pub type Type = ::aya_ebpf_cty::c_uint;
  1763. pub const SK_DROP: Type = 0;
  1764. pub const SK_PASS: Type = 1;
  1765. }
  1766. #[repr(C)]
  1767. #[derive(Copy, Clone)]
  1768. pub struct sk_msg_md {
  1769. pub __bindgen_anon_1: sk_msg_md__bindgen_ty_1,
  1770. pub __bindgen_anon_2: sk_msg_md__bindgen_ty_2,
  1771. pub family: __u32,
  1772. pub remote_ip4: __u32,
  1773. pub local_ip4: __u32,
  1774. pub remote_ip6: [__u32; 4usize],
  1775. pub local_ip6: [__u32; 4usize],
  1776. pub remote_port: __u32,
  1777. pub local_port: __u32,
  1778. pub size: __u32,
  1779. pub __bindgen_anon_3: sk_msg_md__bindgen_ty_3,
  1780. }
  1781. #[repr(C)]
  1782. #[derive(Copy, Clone)]
  1783. pub union sk_msg_md__bindgen_ty_1 {
  1784. pub data: *mut ::aya_ebpf_cty::c_void,
  1785. pub _bitfield_align_1: [u8; 0],
  1786. pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
  1787. }
  1788. impl sk_msg_md__bindgen_ty_1 {
  1789. #[inline]
  1790. pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> {
  1791. let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
  1792. __bindgen_bitfield_unit
  1793. }
  1794. }
  1795. #[repr(C)]
  1796. #[derive(Copy, Clone)]
  1797. pub union sk_msg_md__bindgen_ty_2 {
  1798. pub data_end: *mut ::aya_ebpf_cty::c_void,
  1799. pub _bitfield_align_1: [u8; 0],
  1800. pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
  1801. }
  1802. impl sk_msg_md__bindgen_ty_2 {
  1803. #[inline]
  1804. pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> {
  1805. let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
  1806. __bindgen_bitfield_unit
  1807. }
  1808. }
  1809. #[repr(C)]
  1810. #[derive(Copy, Clone)]
  1811. pub union sk_msg_md__bindgen_ty_3 {
  1812. pub sk: *mut bpf_sock,
  1813. pub _bitfield_align_1: [u8; 0],
  1814. pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
  1815. }
  1816. impl sk_msg_md__bindgen_ty_3 {
  1817. #[inline]
  1818. pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> {
  1819. let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
  1820. __bindgen_bitfield_unit
  1821. }
  1822. }
  1823. #[repr(C)]
  1824. #[derive(Copy, Clone)]
  1825. pub struct sk_reuseport_md {
  1826. pub __bindgen_anon_1: sk_reuseport_md__bindgen_ty_1,
  1827. pub __bindgen_anon_2: sk_reuseport_md__bindgen_ty_2,
  1828. pub len: __u32,
  1829. pub eth_protocol: __u32,
  1830. pub ip_protocol: __u32,
  1831. pub bind_inany: __u32,
  1832. pub hash: __u32,
  1833. pub __bindgen_anon_3: sk_reuseport_md__bindgen_ty_3,
  1834. pub __bindgen_anon_4: sk_reuseport_md__bindgen_ty_4,
  1835. }
  1836. #[repr(C)]
  1837. #[derive(Copy, Clone)]
  1838. pub union sk_reuseport_md__bindgen_ty_1 {
  1839. pub data: *mut ::aya_ebpf_cty::c_void,
  1840. pub _bitfield_align_1: [u8; 0],
  1841. pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
  1842. }
  1843. impl sk_reuseport_md__bindgen_ty_1 {
  1844. #[inline]
  1845. pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> {
  1846. let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
  1847. __bindgen_bitfield_unit
  1848. }
  1849. }
  1850. #[repr(C)]
  1851. #[derive(Copy, Clone)]
  1852. pub union sk_reuseport_md__bindgen_ty_2 {
  1853. pub data_end: *mut ::aya_ebpf_cty::c_void,
  1854. pub _bitfield_align_1: [u8; 0],
  1855. pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
  1856. }
  1857. impl sk_reuseport_md__bindgen_ty_2 {
  1858. #[inline]
  1859. pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> {
  1860. let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
  1861. __bindgen_bitfield_unit
  1862. }
  1863. }
  1864. #[repr(C)]
  1865. #[derive(Copy, Clone)]
  1866. pub union sk_reuseport_md__bindgen_ty_3 {
  1867. pub sk: *mut bpf_sock,
  1868. pub _bitfield_align_1: [u8; 0],
  1869. pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
  1870. }
  1871. impl sk_reuseport_md__bindgen_ty_3 {
  1872. #[inline]
  1873. pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> {
  1874. let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
  1875. __bindgen_bitfield_unit
  1876. }
  1877. }
  1878. #[repr(C)]
  1879. #[derive(Copy, Clone)]
  1880. pub union sk_reuseport_md__bindgen_ty_4 {
  1881. pub migrating_sk: *mut bpf_sock,
  1882. pub _bitfield_align_1: [u8; 0],
  1883. pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
  1884. }
  1885. impl sk_reuseport_md__bindgen_ty_4 {
  1886. #[inline]
  1887. pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> {
  1888. let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
  1889. __bindgen_bitfield_unit
  1890. }
  1891. }
  1892. #[repr(C)]
  1893. #[derive(Debug, Copy, Clone)]
  1894. pub struct bpf_prog_info {
  1895. pub type_: __u32,
  1896. pub id: __u32,
  1897. pub tag: [__u8; 8usize],
  1898. pub jited_prog_len: __u32,
  1899. pub xlated_prog_len: __u32,
  1900. pub jited_prog_insns: __u64,
  1901. pub xlated_prog_insns: __u64,
  1902. pub load_time: __u64,
  1903. pub created_by_uid: __u32,
  1904. pub nr_map_ids: __u32,
  1905. pub map_ids: __u64,
  1906. pub name: [::aya_ebpf_cty::c_char; 16usize],
  1907. pub ifindex: __u32,
  1908. pub _bitfield_align_1: [u8; 0],
  1909. pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
  1910. pub netns_dev: __u64,
  1911. pub netns_ino: __u64,
  1912. pub nr_jited_ksyms: __u32,
  1913. pub nr_jited_func_lens: __u32,
  1914. pub jited_ksyms: __u64,
  1915. pub jited_func_lens: __u64,
  1916. pub btf_id: __u32,
  1917. pub func_info_rec_size: __u32,
  1918. pub func_info: __u64,
  1919. pub nr_func_info: __u32,
  1920. pub nr_line_info: __u32,
  1921. pub line_info: __u64,
  1922. pub jited_line_info: __u64,
  1923. pub nr_jited_line_info: __u32,
  1924. pub line_info_rec_size: __u32,
  1925. pub jited_line_info_rec_size: __u32,
  1926. pub nr_prog_tags: __u32,
  1927. pub prog_tags: __u64,
  1928. pub run_time_ns: __u64,
  1929. pub run_cnt: __u64,
  1930. pub recursion_misses: __u64,
  1931. pub verified_insns: __u32,
  1932. pub attach_btf_obj_id: __u32,
  1933. pub attach_btf_id: __u32,
  1934. }
  1935. impl bpf_prog_info {
  1936. #[inline]
  1937. pub fn gpl_compatible(&self) -> __u32 {
  1938. unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
  1939. }
  1940. #[inline]
  1941. pub fn set_gpl_compatible(&mut self, val: __u32) {
  1942. unsafe {
  1943. let val: u32 = ::core::mem::transmute(val);
  1944. self._bitfield_1.set(0usize, 1u8, val as u64)
  1945. }
  1946. }
  1947. #[inline]
  1948. pub fn new_bitfield_1(gpl_compatible: __u32) -> __BindgenBitfieldUnit<[u8; 4usize]> {
  1949. let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
  1950. __bindgen_bitfield_unit.set(0usize, 1u8, {
  1951. let gpl_compatible: u32 = unsafe { ::core::mem::transmute(gpl_compatible) };
  1952. gpl_compatible as u64
  1953. });
  1954. __bindgen_bitfield_unit
  1955. }
  1956. }
  1957. #[repr(C)]
  1958. #[derive(Debug, Copy, Clone)]
  1959. pub struct bpf_map_info {
  1960. pub type_: __u32,
  1961. pub id: __u32,
  1962. pub key_size: __u32,
  1963. pub value_size: __u32,
  1964. pub max_entries: __u32,
  1965. pub map_flags: __u32,
  1966. pub name: [::aya_ebpf_cty::c_char; 16usize],
  1967. pub ifindex: __u32,
  1968. pub btf_vmlinux_value_type_id: __u32,
  1969. pub netns_dev: __u64,
  1970. pub netns_ino: __u64,
  1971. pub btf_id: __u32,
  1972. pub btf_key_type_id: __u32,
  1973. pub btf_value_type_id: __u32,
  1974. pub btf_vmlinux_id: __u32,
  1975. pub map_extra: __u64,
  1976. }
  1977. #[repr(C)]
  1978. #[derive(Debug, Copy, Clone)]
  1979. pub struct bpf_btf_info {
  1980. pub btf: __u64,
  1981. pub btf_size: __u32,
  1982. pub id: __u32,
  1983. pub name: __u64,
  1984. pub name_len: __u32,
  1985. pub kernel_btf: __u32,
  1986. }
  1987. #[repr(C)]
  1988. #[derive(Copy, Clone)]
  1989. pub struct bpf_link_info {
  1990. pub type_: __u32,
  1991. pub id: __u32,
  1992. pub prog_id: __u32,
  1993. pub __bindgen_anon_1: bpf_link_info__bindgen_ty_1,
  1994. }
  1995. #[repr(C)]
  1996. #[derive(Copy, Clone)]
  1997. pub union bpf_link_info__bindgen_ty_1 {
  1998. pub raw_tracepoint: bpf_link_info__bindgen_ty_1__bindgen_ty_1,
  1999. pub tracing: bpf_link_info__bindgen_ty_1__bindgen_ty_2,
  2000. pub cgroup: bpf_link_info__bindgen_ty_1__bindgen_ty_3,
  2001. pub iter: bpf_link_info__bindgen_ty_1__bindgen_ty_4,
  2002. pub netns: bpf_link_info__bindgen_ty_1__bindgen_ty_5,
  2003. pub xdp: bpf_link_info__bindgen_ty_1__bindgen_ty_6,
  2004. pub struct_ops: bpf_link_info__bindgen_ty_1__bindgen_ty_7,
  2005. pub netfilter: bpf_link_info__bindgen_ty_1__bindgen_ty_8,
  2006. pub kprobe_multi: bpf_link_info__bindgen_ty_1__bindgen_ty_9,
  2007. pub uprobe_multi: bpf_link_info__bindgen_ty_1__bindgen_ty_10,
  2008. pub perf_event: bpf_link_info__bindgen_ty_1__bindgen_ty_11,
  2009. pub tcx: bpf_link_info__bindgen_ty_1__bindgen_ty_12,
  2010. pub netkit: bpf_link_info__bindgen_ty_1__bindgen_ty_13,
  2011. }
  2012. #[repr(C)]
  2013. #[derive(Debug, Copy, Clone)]
  2014. pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_1 {
  2015. pub tp_name: __u64,
  2016. pub tp_name_len: __u32,
  2017. }
  2018. #[repr(C)]
  2019. #[derive(Debug, Copy, Clone)]
  2020. pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_2 {
  2021. pub attach_type: __u32,
  2022. pub target_obj_id: __u32,
  2023. pub target_btf_id: __u32,
  2024. }
  2025. #[repr(C)]
  2026. #[derive(Debug, Copy, Clone)]
  2027. pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_3 {
  2028. pub cgroup_id: __u64,
  2029. pub attach_type: __u32,
  2030. }
  2031. #[repr(C)]
  2032. #[derive(Copy, Clone)]
  2033. pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4 {
  2034. pub target_name: __u64,
  2035. pub target_name_len: __u32,
  2036. pub __bindgen_anon_1: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1,
  2037. pub __bindgen_anon_2: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2,
  2038. }
  2039. #[repr(C)]
  2040. #[derive(Copy, Clone)]
  2041. pub union bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1 {
  2042. pub map: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1,
  2043. }
  2044. #[repr(C)]
  2045. #[derive(Debug, Copy, Clone)]
  2046. pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1 {
  2047. pub map_id: __u32,
  2048. }
  2049. #[repr(C)]
  2050. #[derive(Copy, Clone)]
  2051. pub union bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2 {
  2052. pub cgroup: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1,
  2053. pub task: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2,
  2054. }
  2055. #[repr(C)]
  2056. #[derive(Debug, Copy, Clone)]
  2057. pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1 {
  2058. pub cgroup_id: __u64,
  2059. pub order: __u32,
  2060. }
  2061. #[repr(C)]
  2062. #[derive(Debug, Copy, Clone)]
  2063. pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2 {
  2064. pub tid: __u32,
  2065. pub pid: __u32,
  2066. }
  2067. #[repr(C)]
  2068. #[derive(Debug, Copy, Clone)]
  2069. pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_5 {
  2070. pub netns_ino: __u32,
  2071. pub attach_type: __u32,
  2072. }
  2073. #[repr(C)]
  2074. #[derive(Debug, Copy, Clone)]
  2075. pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_6 {
  2076. pub ifindex: __u32,
  2077. }
  2078. #[repr(C)]
  2079. #[derive(Debug, Copy, Clone)]
  2080. pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_7 {
  2081. pub map_id: __u32,
  2082. }
  2083. #[repr(C)]
  2084. #[derive(Debug, Copy, Clone)]
  2085. pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_8 {
  2086. pub pf: __u32,
  2087. pub hooknum: __u32,
  2088. pub priority: __s32,
  2089. pub flags: __u32,
  2090. }
  2091. #[repr(C)]
  2092. #[derive(Debug, Copy, Clone)]
  2093. pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_9 {
  2094. pub addrs: __u64,
  2095. pub count: __u32,
  2096. pub flags: __u32,
  2097. pub missed: __u64,
  2098. pub cookies: __u64,
  2099. }
  2100. #[repr(C)]
  2101. #[derive(Debug, Copy, Clone)]
  2102. pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_10 {
  2103. pub path: __u64,
  2104. pub offsets: __u64,
  2105. pub ref_ctr_offsets: __u64,
  2106. pub cookies: __u64,
  2107. pub path_size: __u32,
  2108. pub count: __u32,
  2109. pub flags: __u32,
  2110. pub pid: __u32,
  2111. }
  2112. #[repr(C)]
  2113. #[derive(Copy, Clone)]
  2114. pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_11 {
  2115. pub type_: __u32,
  2116. pub _bitfield_align_1: [u8; 0],
  2117. pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
  2118. pub __bindgen_anon_1: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1,
  2119. }
  2120. #[repr(C)]
  2121. #[derive(Copy, Clone)]
  2122. pub union bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1 {
  2123. pub uprobe: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_1,
  2124. pub kprobe: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_2,
  2125. pub tracepoint: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_3,
  2126. pub event: bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_4,
  2127. }
  2128. #[repr(C)]
  2129. #[derive(Debug, Copy, Clone)]
  2130. pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_1 {
  2131. pub file_name: __u64,
  2132. pub name_len: __u32,
  2133. pub offset: __u32,
  2134. pub cookie: __u64,
  2135. }
  2136. #[repr(C)]
  2137. #[derive(Debug, Copy, Clone)]
  2138. pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_2 {
  2139. pub func_name: __u64,
  2140. pub name_len: __u32,
  2141. pub offset: __u32,
  2142. pub addr: __u64,
  2143. pub missed: __u64,
  2144. pub cookie: __u64,
  2145. }
  2146. #[repr(C)]
  2147. #[derive(Debug, Copy, Clone)]
  2148. pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_3 {
  2149. pub tp_name: __u64,
  2150. pub name_len: __u32,
  2151. pub _bitfield_align_1: [u8; 0],
  2152. pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
  2153. pub cookie: __u64,
  2154. }
  2155. impl bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_3 {
  2156. #[inline]
  2157. pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 4usize]> {
  2158. let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
  2159. __bindgen_bitfield_unit
  2160. }
  2161. }
  2162. #[repr(C)]
  2163. #[derive(Debug, Copy, Clone)]
  2164. pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_4 {
  2165. pub config: __u64,
  2166. pub type_: __u32,
  2167. pub _bitfield_align_1: [u8; 0],
  2168. pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
  2169. pub cookie: __u64,
  2170. }
  2171. impl bpf_link_info__bindgen_ty_1__bindgen_ty_11__bindgen_ty_1__bindgen_ty_4 {
  2172. #[inline]
  2173. pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 4usize]> {
  2174. let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
  2175. __bindgen_bitfield_unit
  2176. }
  2177. }
  2178. impl bpf_link_info__bindgen_ty_1__bindgen_ty_11 {
  2179. #[inline]
  2180. pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 4usize]> {
  2181. let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
  2182. __bindgen_bitfield_unit
  2183. }
  2184. }
  2185. #[repr(C)]
  2186. #[derive(Debug, Copy, Clone)]
  2187. pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_12 {
  2188. pub ifindex: __u32,
  2189. pub attach_type: __u32,
  2190. }
  2191. #[repr(C)]
  2192. #[derive(Debug, Copy, Clone)]
  2193. pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_13 {
  2194. pub ifindex: __u32,
  2195. pub attach_type: __u32,
  2196. }
  2197. #[repr(C)]
  2198. #[derive(Copy, Clone)]
  2199. pub struct bpf_sock_addr {
  2200. pub user_family: __u32,
  2201. pub user_ip4: __u32,
  2202. pub user_ip6: [__u32; 4usize],
  2203. pub user_port: __u32,
  2204. pub family: __u32,
  2205. pub type_: __u32,
  2206. pub protocol: __u32,
  2207. pub msg_src_ip4: __u32,
  2208. pub msg_src_ip6: [__u32; 4usize],
  2209. pub __bindgen_anon_1: bpf_sock_addr__bindgen_ty_1,
  2210. }
  2211. #[repr(C)]
  2212. #[derive(Copy, Clone)]
  2213. pub union bpf_sock_addr__bindgen_ty_1 {
  2214. pub sk: *mut bpf_sock,
  2215. pub _bitfield_align_1: [u8; 0],
  2216. pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
  2217. }
  2218. impl bpf_sock_addr__bindgen_ty_1 {
  2219. #[inline]
  2220. pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> {
  2221. let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
  2222. __bindgen_bitfield_unit
  2223. }
  2224. }
  2225. #[repr(C)]
  2226. #[derive(Copy, Clone)]
  2227. pub struct bpf_sock_ops {
  2228. pub op: __u32,
  2229. pub __bindgen_anon_1: bpf_sock_ops__bindgen_ty_1,
  2230. pub family: __u32,
  2231. pub remote_ip4: __u32,
  2232. pub local_ip4: __u32,
  2233. pub remote_ip6: [__u32; 4usize],
  2234. pub local_ip6: [__u32; 4usize],
  2235. pub remote_port: __u32,
  2236. pub local_port: __u32,
  2237. pub is_fullsock: __u32,
  2238. pub snd_cwnd: __u32,
  2239. pub srtt_us: __u32,
  2240. pub bpf_sock_ops_cb_flags: __u32,
  2241. pub state: __u32,
  2242. pub rtt_min: __u32,
  2243. pub snd_ssthresh: __u32,
  2244. pub rcv_nxt: __u32,
  2245. pub snd_nxt: __u32,
  2246. pub snd_una: __u32,
  2247. pub mss_cache: __u32,
  2248. pub ecn_flags: __u32,
  2249. pub rate_delivered: __u32,
  2250. pub rate_interval_us: __u32,
  2251. pub packets_out: __u32,
  2252. pub retrans_out: __u32,
  2253. pub total_retrans: __u32,
  2254. pub segs_in: __u32,
  2255. pub data_segs_in: __u32,
  2256. pub segs_out: __u32,
  2257. pub data_segs_out: __u32,
  2258. pub lost_out: __u32,
  2259. pub sacked_out: __u32,
  2260. pub sk_txhash: __u32,
  2261. pub bytes_received: __u64,
  2262. pub bytes_acked: __u64,
  2263. pub __bindgen_anon_2: bpf_sock_ops__bindgen_ty_2,
  2264. pub __bindgen_anon_3: bpf_sock_ops__bindgen_ty_3,
  2265. pub __bindgen_anon_4: bpf_sock_ops__bindgen_ty_4,
  2266. pub skb_len: __u32,
  2267. pub skb_tcp_flags: __u32,
  2268. pub skb_hwtstamp: __u64,
  2269. }
  2270. #[repr(C)]
  2271. #[derive(Copy, Clone)]
  2272. pub union bpf_sock_ops__bindgen_ty_1 {
  2273. pub args: [__u32; 4usize],
  2274. pub reply: __u32,
  2275. pub replylong: [__u32; 4usize],
  2276. }
  2277. #[repr(C)]
  2278. #[derive(Copy, Clone)]
  2279. pub union bpf_sock_ops__bindgen_ty_2 {
  2280. pub sk: *mut bpf_sock,
  2281. pub _bitfield_align_1: [u8; 0],
  2282. pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
  2283. }
  2284. impl bpf_sock_ops__bindgen_ty_2 {
  2285. #[inline]
  2286. pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> {
  2287. let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
  2288. __bindgen_bitfield_unit
  2289. }
  2290. }
  2291. #[repr(C)]
  2292. #[derive(Copy, Clone)]
  2293. pub union bpf_sock_ops__bindgen_ty_3 {
  2294. pub skb_data: *mut ::aya_ebpf_cty::c_void,
  2295. pub _bitfield_align_1: [u8; 0],
  2296. pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
  2297. }
  2298. impl bpf_sock_ops__bindgen_ty_3 {
  2299. #[inline]
  2300. pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> {
  2301. let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
  2302. __bindgen_bitfield_unit
  2303. }
  2304. }
  2305. #[repr(C)]
  2306. #[derive(Copy, Clone)]
  2307. pub union bpf_sock_ops__bindgen_ty_4 {
  2308. pub skb_data_end: *mut ::aya_ebpf_cty::c_void,
  2309. pub _bitfield_align_1: [u8; 0],
  2310. pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
  2311. }
  2312. impl bpf_sock_ops__bindgen_ty_4 {
  2313. #[inline]
  2314. pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> {
  2315. let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
  2316. __bindgen_bitfield_unit
  2317. }
  2318. }
  2319. pub const BPF_SOCK_OPS_RTO_CB_FLAG: _bindgen_ty_29 = 1;
  2320. pub const BPF_SOCK_OPS_RETRANS_CB_FLAG: _bindgen_ty_29 = 2;
  2321. pub const BPF_SOCK_OPS_STATE_CB_FLAG: _bindgen_ty_29 = 4;
  2322. pub const BPF_SOCK_OPS_RTT_CB_FLAG: _bindgen_ty_29 = 8;
  2323. pub const BPF_SOCK_OPS_PARSE_ALL_HDR_OPT_CB_FLAG: _bindgen_ty_29 = 16;
  2324. pub const BPF_SOCK_OPS_PARSE_UNKNOWN_HDR_OPT_CB_FLAG: _bindgen_ty_29 = 32;
  2325. pub const BPF_SOCK_OPS_WRITE_HDR_OPT_CB_FLAG: _bindgen_ty_29 = 64;
  2326. pub const BPF_SOCK_OPS_ALL_CB_FLAGS: _bindgen_ty_29 = 127;
  2327. pub type _bindgen_ty_29 = ::aya_ebpf_cty::c_uint;
  2328. pub const BPF_SOCK_OPS_VOID: _bindgen_ty_30 = 0;
  2329. pub const BPF_SOCK_OPS_TIMEOUT_INIT: _bindgen_ty_30 = 1;
  2330. pub const BPF_SOCK_OPS_RWND_INIT: _bindgen_ty_30 = 2;
  2331. pub const BPF_SOCK_OPS_TCP_CONNECT_CB: _bindgen_ty_30 = 3;
  2332. pub const BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB: _bindgen_ty_30 = 4;
  2333. pub const BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB: _bindgen_ty_30 = 5;
  2334. pub const BPF_SOCK_OPS_NEEDS_ECN: _bindgen_ty_30 = 6;
  2335. pub const BPF_SOCK_OPS_BASE_RTT: _bindgen_ty_30 = 7;
  2336. pub const BPF_SOCK_OPS_RTO_CB: _bindgen_ty_30 = 8;
  2337. pub const BPF_SOCK_OPS_RETRANS_CB: _bindgen_ty_30 = 9;
  2338. pub const BPF_SOCK_OPS_STATE_CB: _bindgen_ty_30 = 10;
  2339. pub const BPF_SOCK_OPS_TCP_LISTEN_CB: _bindgen_ty_30 = 11;
  2340. pub const BPF_SOCK_OPS_RTT_CB: _bindgen_ty_30 = 12;
  2341. pub const BPF_SOCK_OPS_PARSE_HDR_OPT_CB: _bindgen_ty_30 = 13;
  2342. pub const BPF_SOCK_OPS_HDR_OPT_LEN_CB: _bindgen_ty_30 = 14;
  2343. pub const BPF_SOCK_OPS_WRITE_HDR_OPT_CB: _bindgen_ty_30 = 15;
  2344. pub type _bindgen_ty_30 = ::aya_ebpf_cty::c_uint;
  2345. pub const BPF_TCP_ESTABLISHED: _bindgen_ty_31 = 1;
  2346. pub const BPF_TCP_SYN_SENT: _bindgen_ty_31 = 2;
  2347. pub const BPF_TCP_SYN_RECV: _bindgen_ty_31 = 3;
  2348. pub const BPF_TCP_FIN_WAIT1: _bindgen_ty_31 = 4;
  2349. pub const BPF_TCP_FIN_WAIT2: _bindgen_ty_31 = 5;
  2350. pub const BPF_TCP_TIME_WAIT: _bindgen_ty_31 = 6;
  2351. pub const BPF_TCP_CLOSE: _bindgen_ty_31 = 7;
  2352. pub const BPF_TCP_CLOSE_WAIT: _bindgen_ty_31 = 8;
  2353. pub const BPF_TCP_LAST_ACK: _bindgen_ty_31 = 9;
  2354. pub const BPF_TCP_LISTEN: _bindgen_ty_31 = 10;
  2355. pub const BPF_TCP_CLOSING: _bindgen_ty_31 = 11;
  2356. pub const BPF_TCP_NEW_SYN_RECV: _bindgen_ty_31 = 12;
  2357. pub const BPF_TCP_BOUND_INACTIVE: _bindgen_ty_31 = 13;
  2358. pub const BPF_TCP_MAX_STATES: _bindgen_ty_31 = 14;
  2359. pub type _bindgen_ty_31 = ::aya_ebpf_cty::c_uint;
  2360. pub mod _bindgen_ty_33 {
  2361. pub type Type = ::aya_ebpf_cty::c_uint;
  2362. pub const BPF_LOAD_HDR_OPT_TCP_SYN: Type = 1;
  2363. }
  2364. pub mod _bindgen_ty_34 {
  2365. pub type Type = ::aya_ebpf_cty::c_uint;
  2366. pub const BPF_WRITE_HDR_TCP_CURRENT_MSS: Type = 1;
  2367. pub const BPF_WRITE_HDR_TCP_SYNACK_COOKIE: Type = 2;
  2368. }
  2369. #[repr(C)]
  2370. #[derive(Debug, Copy, Clone)]
  2371. pub struct bpf_perf_event_value {
  2372. pub counter: __u64,
  2373. pub enabled: __u64,
  2374. pub running: __u64,
  2375. }
  2376. pub const BPF_DEVCG_ACC_MKNOD: _bindgen_ty_35 = 1;
  2377. pub const BPF_DEVCG_ACC_READ: _bindgen_ty_35 = 2;
  2378. pub const BPF_DEVCG_ACC_WRITE: _bindgen_ty_35 = 4;
  2379. pub type _bindgen_ty_35 = ::aya_ebpf_cty::c_uint;
  2380. pub const BPF_DEVCG_DEV_BLOCK: _bindgen_ty_36 = 1;
  2381. pub const BPF_DEVCG_DEV_CHAR: _bindgen_ty_36 = 2;
  2382. pub type _bindgen_ty_36 = ::aya_ebpf_cty::c_uint;
  2383. #[repr(C)]
  2384. #[derive(Debug, Copy, Clone)]
  2385. pub struct bpf_cgroup_dev_ctx {
  2386. pub access_type: __u32,
  2387. pub major: __u32,
  2388. pub minor: __u32,
  2389. }
  2390. #[repr(C)]
  2391. #[derive(Debug)]
  2392. pub struct bpf_raw_tracepoint_args {
  2393. pub args: __IncompleteArrayField<__u64>,
  2394. }
  2395. pub const BPF_FIB_LOOKUP_DIRECT: _bindgen_ty_37 = 1;
  2396. pub const BPF_FIB_LOOKUP_OUTPUT: _bindgen_ty_37 = 2;
  2397. pub const BPF_FIB_LOOKUP_SKIP_NEIGH: _bindgen_ty_37 = 4;
  2398. pub const BPF_FIB_LOOKUP_TBID: _bindgen_ty_37 = 8;
  2399. pub const BPF_FIB_LOOKUP_SRC: _bindgen_ty_37 = 16;
  2400. pub type _bindgen_ty_37 = ::aya_ebpf_cty::c_uint;
  2401. pub const BPF_FIB_LKUP_RET_SUCCESS: _bindgen_ty_38 = 0;
  2402. pub const BPF_FIB_LKUP_RET_BLACKHOLE: _bindgen_ty_38 = 1;
  2403. pub const BPF_FIB_LKUP_RET_UNREACHABLE: _bindgen_ty_38 = 2;
  2404. pub const BPF_FIB_LKUP_RET_PROHIBIT: _bindgen_ty_38 = 3;
  2405. pub const BPF_FIB_LKUP_RET_NOT_FWDED: _bindgen_ty_38 = 4;
  2406. pub const BPF_FIB_LKUP_RET_FWD_DISABLED: _bindgen_ty_38 = 5;
  2407. pub const BPF_FIB_LKUP_RET_UNSUPP_LWT: _bindgen_ty_38 = 6;
  2408. pub const BPF_FIB_LKUP_RET_NO_NEIGH: _bindgen_ty_38 = 7;
  2409. pub const BPF_FIB_LKUP_RET_FRAG_NEEDED: _bindgen_ty_38 = 8;
  2410. pub const BPF_FIB_LKUP_RET_NO_SRC_ADDR: _bindgen_ty_38 = 9;
  2411. pub type _bindgen_ty_38 = ::aya_ebpf_cty::c_uint;
  2412. #[repr(C)]
  2413. #[derive(Copy, Clone)]
  2414. pub struct bpf_fib_lookup {
  2415. pub family: __u8,
  2416. pub l4_protocol: __u8,
  2417. pub sport: __be16,
  2418. pub dport: __be16,
  2419. pub __bindgen_anon_1: bpf_fib_lookup__bindgen_ty_1,
  2420. pub ifindex: __u32,
  2421. pub __bindgen_anon_2: bpf_fib_lookup__bindgen_ty_2,
  2422. pub __bindgen_anon_3: bpf_fib_lookup__bindgen_ty_3,
  2423. pub __bindgen_anon_4: bpf_fib_lookup__bindgen_ty_4,
  2424. pub __bindgen_anon_5: bpf_fib_lookup__bindgen_ty_5,
  2425. pub smac: [__u8; 6usize],
  2426. pub dmac: [__u8; 6usize],
  2427. }
  2428. #[repr(C)]
  2429. #[derive(Copy, Clone)]
  2430. pub union bpf_fib_lookup__bindgen_ty_1 {
  2431. pub tot_len: __u16,
  2432. pub mtu_result: __u16,
  2433. }
  2434. #[repr(C)]
  2435. #[derive(Copy, Clone)]
  2436. pub union bpf_fib_lookup__bindgen_ty_2 {
  2437. pub tos: __u8,
  2438. pub flowinfo: __be32,
  2439. pub rt_metric: __u32,
  2440. }
  2441. #[repr(C)]
  2442. #[derive(Copy, Clone)]
  2443. pub union bpf_fib_lookup__bindgen_ty_3 {
  2444. pub ipv4_src: __be32,
  2445. pub ipv6_src: [__u32; 4usize],
  2446. }
  2447. #[repr(C)]
  2448. #[derive(Copy, Clone)]
  2449. pub union bpf_fib_lookup__bindgen_ty_4 {
  2450. pub ipv4_dst: __be32,
  2451. pub ipv6_dst: [__u32; 4usize],
  2452. }
  2453. #[repr(C)]
  2454. #[derive(Copy, Clone)]
  2455. pub union bpf_fib_lookup__bindgen_ty_5 {
  2456. pub __bindgen_anon_1: bpf_fib_lookup__bindgen_ty_5__bindgen_ty_1,
  2457. pub tbid: __u32,
  2458. }
  2459. #[repr(C)]
  2460. #[derive(Debug, Copy, Clone)]
  2461. pub struct bpf_fib_lookup__bindgen_ty_5__bindgen_ty_1 {
  2462. pub h_vlan_proto: __be16,
  2463. pub h_vlan_TCI: __be16,
  2464. }
  2465. #[repr(C)]
  2466. #[derive(Copy, Clone)]
  2467. pub struct bpf_redir_neigh {
  2468. pub nh_family: __u32,
  2469. pub __bindgen_anon_1: bpf_redir_neigh__bindgen_ty_1,
  2470. }
  2471. #[repr(C)]
  2472. #[derive(Copy, Clone)]
  2473. pub union bpf_redir_neigh__bindgen_ty_1 {
  2474. pub ipv4_nh: __be32,
  2475. pub ipv6_nh: [__u32; 4usize],
  2476. }
  2477. pub mod bpf_check_mtu_flags {
  2478. pub type Type = ::aya_ebpf_cty::c_uint;
  2479. pub const BPF_MTU_CHK_SEGS: Type = 1;
  2480. }
  2481. pub mod bpf_check_mtu_ret {
  2482. pub type Type = ::aya_ebpf_cty::c_uint;
  2483. pub const BPF_MTU_CHK_RET_SUCCESS: Type = 0;
  2484. pub const BPF_MTU_CHK_RET_FRAG_NEEDED: Type = 1;
  2485. pub const BPF_MTU_CHK_RET_SEGS_TOOBIG: Type = 2;
  2486. }
  2487. pub mod bpf_task_fd_type {
  2488. pub type Type = ::aya_ebpf_cty::c_uint;
  2489. pub const BPF_FD_TYPE_RAW_TRACEPOINT: Type = 0;
  2490. pub const BPF_FD_TYPE_TRACEPOINT: Type = 1;
  2491. pub const BPF_FD_TYPE_KPROBE: Type = 2;
  2492. pub const BPF_FD_TYPE_KRETPROBE: Type = 3;
  2493. pub const BPF_FD_TYPE_UPROBE: Type = 4;
  2494. pub const BPF_FD_TYPE_URETPROBE: Type = 5;
  2495. }
  2496. pub const BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG: _bindgen_ty_39 = 1;
  2497. pub const BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL: _bindgen_ty_39 = 2;
  2498. pub const BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP: _bindgen_ty_39 = 4;
  2499. pub type _bindgen_ty_39 = ::aya_ebpf_cty::c_uint;
  2500. #[repr(C)]
  2501. #[derive(Copy, Clone)]
  2502. pub struct bpf_flow_keys {
  2503. pub nhoff: __u16,
  2504. pub thoff: __u16,
  2505. pub addr_proto: __u16,
  2506. pub is_frag: __u8,
  2507. pub is_first_frag: __u8,
  2508. pub is_encap: __u8,
  2509. pub ip_proto: __u8,
  2510. pub n_proto: __be16,
  2511. pub sport: __be16,
  2512. pub dport: __be16,
  2513. pub __bindgen_anon_1: bpf_flow_keys__bindgen_ty_1,
  2514. pub flags: __u32,
  2515. pub flow_label: __be32,
  2516. }
  2517. #[repr(C)]
  2518. #[derive(Copy, Clone)]
  2519. pub union bpf_flow_keys__bindgen_ty_1 {
  2520. pub __bindgen_anon_1: bpf_flow_keys__bindgen_ty_1__bindgen_ty_1,
  2521. pub __bindgen_anon_2: bpf_flow_keys__bindgen_ty_1__bindgen_ty_2,
  2522. }
  2523. #[repr(C)]
  2524. #[derive(Debug, Copy, Clone)]
  2525. pub struct bpf_flow_keys__bindgen_ty_1__bindgen_ty_1 {
  2526. pub ipv4_src: __be32,
  2527. pub ipv4_dst: __be32,
  2528. }
  2529. #[repr(C)]
  2530. #[derive(Debug, Copy, Clone)]
  2531. pub struct bpf_flow_keys__bindgen_ty_1__bindgen_ty_2 {
  2532. pub ipv6_src: [__u32; 4usize],
  2533. pub ipv6_dst: [__u32; 4usize],
  2534. }
  2535. #[repr(C)]
  2536. #[derive(Debug, Copy, Clone)]
  2537. pub struct bpf_func_info {
  2538. pub insn_off: __u32,
  2539. pub type_id: __u32,
  2540. }
  2541. #[repr(C)]
  2542. #[derive(Debug, Copy, Clone)]
  2543. pub struct bpf_line_info {
  2544. pub insn_off: __u32,
  2545. pub file_name_off: __u32,
  2546. pub line_off: __u32,
  2547. pub line_col: __u32,
  2548. }
  2549. #[repr(C)]
  2550. #[derive(Debug, Copy, Clone)]
  2551. pub struct bpf_spin_lock {
  2552. pub val: __u32,
  2553. }
  2554. #[repr(C)]
  2555. #[derive(Debug, Copy, Clone)]
  2556. pub struct bpf_timer {
  2557. pub __opaque: [__u64; 2usize],
  2558. }
  2559. #[repr(C)]
  2560. #[derive(Debug, Copy, Clone)]
  2561. pub struct bpf_dynptr {
  2562. pub __opaque: [__u64; 2usize],
  2563. }
  2564. #[repr(C)]
  2565. #[derive(Debug, Copy, Clone)]
  2566. pub struct bpf_list_head {
  2567. pub __opaque: [__u64; 2usize],
  2568. }
  2569. #[repr(C)]
  2570. #[derive(Debug, Copy, Clone)]
  2571. pub struct bpf_list_node {
  2572. pub __opaque: [__u64; 3usize],
  2573. }
  2574. #[repr(C)]
  2575. #[derive(Debug, Copy, Clone)]
  2576. pub struct bpf_rb_root {
  2577. pub __opaque: [__u64; 2usize],
  2578. }
  2579. #[repr(C)]
  2580. #[derive(Debug, Copy, Clone)]
  2581. pub struct bpf_rb_node {
  2582. pub __opaque: [__u64; 4usize],
  2583. }
  2584. #[repr(C)]
  2585. #[derive(Debug, Copy, Clone)]
  2586. pub struct bpf_refcount {
  2587. pub __opaque: [__u32; 1usize],
  2588. }
  2589. #[repr(C)]
  2590. #[derive(Debug, Copy, Clone)]
  2591. pub struct bpf_sysctl {
  2592. pub write: __u32,
  2593. pub file_pos: __u32,
  2594. }
  2595. #[repr(C)]
  2596. #[derive(Copy, Clone)]
  2597. pub struct bpf_sockopt {
  2598. pub __bindgen_anon_1: bpf_sockopt__bindgen_ty_1,
  2599. pub __bindgen_anon_2: bpf_sockopt__bindgen_ty_2,
  2600. pub __bindgen_anon_3: bpf_sockopt__bindgen_ty_3,
  2601. pub level: __s32,
  2602. pub optname: __s32,
  2603. pub optlen: __s32,
  2604. pub retval: __s32,
  2605. }
  2606. #[repr(C)]
  2607. #[derive(Copy, Clone)]
  2608. pub union bpf_sockopt__bindgen_ty_1 {
  2609. pub sk: *mut bpf_sock,
  2610. pub _bitfield_align_1: [u8; 0],
  2611. pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
  2612. }
  2613. impl bpf_sockopt__bindgen_ty_1 {
  2614. #[inline]
  2615. pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> {
  2616. let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
  2617. __bindgen_bitfield_unit
  2618. }
  2619. }
  2620. #[repr(C)]
  2621. #[derive(Copy, Clone)]
  2622. pub union bpf_sockopt__bindgen_ty_2 {
  2623. pub optval: *mut ::aya_ebpf_cty::c_void,
  2624. pub _bitfield_align_1: [u8; 0],
  2625. pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
  2626. }
  2627. impl bpf_sockopt__bindgen_ty_2 {
  2628. #[inline]
  2629. pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> {
  2630. let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
  2631. __bindgen_bitfield_unit
  2632. }
  2633. }
  2634. #[repr(C)]
  2635. #[derive(Copy, Clone)]
  2636. pub union bpf_sockopt__bindgen_ty_3 {
  2637. pub optval_end: *mut ::aya_ebpf_cty::c_void,
  2638. pub _bitfield_align_1: [u8; 0],
  2639. pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
  2640. }
  2641. impl bpf_sockopt__bindgen_ty_3 {
  2642. #[inline]
  2643. pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> {
  2644. let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
  2645. __bindgen_bitfield_unit
  2646. }
  2647. }
  2648. #[repr(C)]
  2649. #[derive(Debug, Copy, Clone)]
  2650. pub struct bpf_pidns_info {
  2651. pub pid: __u32,
  2652. pub tgid: __u32,
  2653. }
  2654. #[repr(C)]
  2655. #[derive(Copy, Clone)]
  2656. pub struct bpf_sk_lookup {
  2657. pub __bindgen_anon_1: bpf_sk_lookup__bindgen_ty_1,
  2658. pub family: __u32,
  2659. pub protocol: __u32,
  2660. pub remote_ip4: __u32,
  2661. pub remote_ip6: [__u32; 4usize],
  2662. pub remote_port: __be16,
  2663. pub _bitfield_align_1: [u8; 0],
  2664. pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
  2665. pub local_ip4: __u32,
  2666. pub local_ip6: [__u32; 4usize],
  2667. pub local_port: __u32,
  2668. pub ingress_ifindex: __u32,
  2669. }
  2670. #[repr(C)]
  2671. #[derive(Copy, Clone)]
  2672. pub union bpf_sk_lookup__bindgen_ty_1 {
  2673. pub __bindgen_anon_1: bpf_sk_lookup__bindgen_ty_1__bindgen_ty_1,
  2674. pub cookie: __u64,
  2675. }
  2676. #[repr(C)]
  2677. #[derive(Copy, Clone)]
  2678. pub union bpf_sk_lookup__bindgen_ty_1__bindgen_ty_1 {
  2679. pub sk: *mut bpf_sock,
  2680. pub _bitfield_align_1: [u8; 0],
  2681. pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
  2682. }
  2683. impl bpf_sk_lookup__bindgen_ty_1__bindgen_ty_1 {
  2684. #[inline]
  2685. pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 8usize]> {
  2686. let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
  2687. __bindgen_bitfield_unit
  2688. }
  2689. }
  2690. impl bpf_sk_lookup {
  2691. #[inline]
  2692. pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 2usize]> {
  2693. let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
  2694. __bindgen_bitfield_unit
  2695. }
  2696. }
  2697. #[repr(C)]
  2698. #[derive(Debug, Copy, Clone)]
  2699. pub struct btf_ptr {
  2700. pub ptr: *mut ::aya_ebpf_cty::c_void,
  2701. pub type_id: __u32,
  2702. pub flags: __u32,
  2703. }
  2704. pub mod bpf_core_relo_kind {
  2705. pub type Type = ::aya_ebpf_cty::c_uint;
  2706. pub const BPF_CORE_FIELD_BYTE_OFFSET: Type = 0;
  2707. pub const BPF_CORE_FIELD_BYTE_SIZE: Type = 1;
  2708. pub const BPF_CORE_FIELD_EXISTS: Type = 2;
  2709. pub const BPF_CORE_FIELD_SIGNED: Type = 3;
  2710. pub const BPF_CORE_FIELD_LSHIFT_U64: Type = 4;
  2711. pub const BPF_CORE_FIELD_RSHIFT_U64: Type = 5;
  2712. pub const BPF_CORE_TYPE_ID_LOCAL: Type = 6;
  2713. pub const BPF_CORE_TYPE_ID_TARGET: Type = 7;
  2714. pub const BPF_CORE_TYPE_EXISTS: Type = 8;
  2715. pub const BPF_CORE_TYPE_SIZE: Type = 9;
  2716. pub const BPF_CORE_ENUMVAL_EXISTS: Type = 10;
  2717. pub const BPF_CORE_ENUMVAL_VALUE: Type = 11;
  2718. pub const BPF_CORE_TYPE_MATCHES: Type = 12;
  2719. }
  2720. #[repr(C)]
  2721. #[derive(Debug, Copy, Clone)]
  2722. pub struct bpf_core_relo {
  2723. pub insn_off: __u32,
  2724. pub type_id: __u32,
  2725. pub access_str_off: __u32,
  2726. pub kind: bpf_core_relo_kind::Type,
  2727. }
  2728. pub const BPF_F_TIMER_ABS: _bindgen_ty_41 = 1;
  2729. pub const BPF_F_TIMER_CPU_PIN: _bindgen_ty_41 = 2;
  2730. pub type _bindgen_ty_41 = ::aya_ebpf_cty::c_uint;
  2731. #[repr(C)]
  2732. #[derive(Debug, Copy, Clone)]
  2733. pub struct bpf_iter_num {
  2734. pub __opaque: [__u64; 1usize],
  2735. }
  2736. #[repr(C)]
  2737. #[derive(Debug, Copy, Clone)]
  2738. pub struct pt_regs {
  2739. pub r15: ::aya_ebpf_cty::c_ulong,
  2740. pub r14: ::aya_ebpf_cty::c_ulong,
  2741. pub r13: ::aya_ebpf_cty::c_ulong,
  2742. pub r12: ::aya_ebpf_cty::c_ulong,
  2743. pub rbp: ::aya_ebpf_cty::c_ulong,
  2744. pub rbx: ::aya_ebpf_cty::c_ulong,
  2745. pub r11: ::aya_ebpf_cty::c_ulong,
  2746. pub r10: ::aya_ebpf_cty::c_ulong,
  2747. pub r9: ::aya_ebpf_cty::c_ulong,
  2748. pub r8: ::aya_ebpf_cty::c_ulong,
  2749. pub rax: ::aya_ebpf_cty::c_ulong,
  2750. pub rcx: ::aya_ebpf_cty::c_ulong,
  2751. pub rdx: ::aya_ebpf_cty::c_ulong,
  2752. pub rsi: ::aya_ebpf_cty::c_ulong,
  2753. pub rdi: ::aya_ebpf_cty::c_ulong,
  2754. pub orig_rax: ::aya_ebpf_cty::c_ulong,
  2755. pub rip: ::aya_ebpf_cty::c_ulong,
  2756. pub cs: ::aya_ebpf_cty::c_ulong,
  2757. pub eflags: ::aya_ebpf_cty::c_ulong,
  2758. pub rsp: ::aya_ebpf_cty::c_ulong,
  2759. pub ss: ::aya_ebpf_cty::c_ulong,
  2760. }
  2761. pub type sa_family_t = ::aya_ebpf_cty::c_ushort;
  2762. #[repr(C)]
  2763. #[derive(Debug, Copy, Clone)]
  2764. pub struct sockaddr {
  2765. pub sa_family: sa_family_t,
  2766. pub sa_data: [::aya_ebpf_cty::c_char; 14usize],
  2767. }