4
0

bindings.rs 84 KB

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