123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343moduleCI=Cstubs_internalsexternal_1_libbpf_major_version:unit->Unsigned.uint32="_1_libbpf_major_version"external_2_libbpf_minor_version:unit->Unsigned.uint32="_2_libbpf_minor_version"external_3_libbpf_version_string:unit->CI.voidp="_3_libbpf_version_string"external_4_libbpf_strerror:int->_CI.fatptr->Unsigned.size_t->int="_4_libbpf_strerror"external_5_libbpf_bpf_attach_type_str:Unsigned.uint32->CI.voidp="_5_libbpf_bpf_attach_type_str"external_6_libbpf_bpf_link_type_str:Unsigned.uint32->CI.voidp="_6_libbpf_bpf_link_type_str"external_7_libbpf_bpf_map_type_str:Unsigned.uint32->CI.voidp="_7_libbpf_bpf_map_type_str"external_8_libbpf_bpf_prog_type_str:Unsigned.uint32->CI.voidp="_8_libbpf_bpf_prog_type_str"external_9_libbpf_set_print:_CI.fatfunptr->CI.voidp="_9_libbpf_set_print"external_10_bpf_object__open:_CI.fatptr->CI.voidp="_10_bpf_object__open"external_11_bpf_object__load:_CI.fatptr->int="_11_bpf_object__load"external_12_bpf_object__find_program_by_name:_CI.fatptr->_CI.fatptr->CI.voidp="_12_bpf_object__find_program_by_name"external_13_bpf_object__next_program:_CI.fatptr->_CI.fatptr->CI.voidp="_13_bpf_object__next_program"external_14_bpf_program__pin:_CI.fatptr->_CI.fatptr->int="_14_bpf_program__pin"external_15_bpf_program__unpin:_CI.fatptr->_CI.fatptr->int="_15_bpf_program__unpin"external_16_bpf_program__attach:_CI.fatptr->CI.voidp="_16_bpf_program__attach"external_17_bpf_program__fd:_CI.fatptr->int="_17_bpf_program__fd"external_18_bpf_link__pin:_CI.fatptr->_CI.fatptr->int="_18_bpf_link__pin"external_19_bpf_link__unpin:_CI.fatptr->int="_19_bpf_link__unpin"external_20_bpf_link__destroy:_CI.fatptr->int="_20_bpf_link__destroy"external_21_bpf_object__close:_CI.fatptr->unit="_21_bpf_object__close"external_22_bpf_object__find_map_by_name:_CI.fatptr->_CI.fatptr->CI.voidp="_22_bpf_object__find_map_by_name"external_23_bpf_map__fd:_CI.fatptr->int="_23_bpf_map__fd"external_24_bpf_map__lookup_elem:_CI.fatptr->_CI.fatptr->Unsigned.size_t->_CI.fatptr->Unsigned.size_t->Unsigned.uint64->int="_24_bpf_map__lookup_elem_byte6""_24_bpf_map__lookup_elem"external_25_bpf_map__update_elem:_CI.fatptr->_CI.fatptr->Unsigned.size_t->_CI.fatptr->Unsigned.size_t->Unsigned.uint64->int="_25_bpf_map__update_elem_byte6""_25_bpf_map__update_elem"external_26_bpf_map__delete_elem:_CI.fatptr->_CI.fatptr->Unsigned.size_t->Unsigned.uint64->int="_26_bpf_map__delete_elem"external_27_bpf_tc_hook_create:_CI.fatptr->int="_27_bpf_tc_hook_create"external_28_bpf_tc_hook_destroy:_CI.fatptr->int="_28_bpf_tc_hook_destroy"external_29_bpf_tc_attach:_CI.fatptr->_CI.fatptr->int="_29_bpf_tc_attach"external_30_bpf_tc_detach:_CI.fatptr->_CI.fatptr->int="_30_bpf_tc_detach"external_31_ring_buffer__new:int->_CI.fatfunptr->_CI.fatptr->_CI.fatptr->CI.voidp="_31_ring_buffer__new"external_32_ring_buffer__poll:_CI.fatptr->int->int="_32_ring_buffer__poll"external_33_ring_buffer__free:_CI.fatptr->unit="_33_ring_buffer__free"external_34_ring_buffer__consume:_CI.fatptr->int="_34_ring_buffer__consume"external_35_ring_buffer__epoll_fd:_CI.fatptr->int="_35_ring_buffer__epoll_fd"type'aresult='atype'areturn='atype'afn=|Returns:'aCI.typ->'areturnfn|Function:'aCI.typ*'bfn->('a->'b)fnletmap_resultfx=fxletreturningt=Returnstlet(@->)fp=Function(f,p)letforeign:typeab.string->(a->b)fn->(a->b)=funnamet->matcht,namewith|Function(CI.Pointer_,Returns(CI.PrimitiveCI.Int)),"ring_buffer__epoll_fd"->(funx1->letCI.CPointerx2=x1in_35_ring_buffer__epoll_fdx2)|Function(CI.Pointer_,Returns(CI.PrimitiveCI.Int)),"ring_buffer__consume"->(funx3->letCI.CPointerx4=x3in_34_ring_buffer__consumex4)|Function(CI.Pointer_,ReturnsCI.Void),"ring_buffer__free"->(funx5->letCI.CPointerx6=x5in_33_ring_buffer__freex6)|Function(CI.Pointer_,Function(CI.PrimitiveCI.Int,Returns(CI.PrimitiveCI.Int))),"ring_buffer__poll"->(funx7x9->letCI.CPointerx8=x7in_32_ring_buffer__pollx8x9)|Function(CI.PrimitiveCI.Int,Function(CI.View{CI.ty=CI.Funptr_;write=x12;_},Function(CI.Pointer_,Function(CI.Pointer_,Returns(CI.View{CI.ty=CI.Pointerx19;read=x20;_}))))),"ring_buffer__new"->(funx10x11x15x17->letCI.CPointerx18=x17inletCI.CPointerx16=x15inletCI.Static_funptrx14=x12x11inletx13=x14inx20(CI.make_ptrx19(_31_ring_buffer__newx10x13x16x18)))|Function(CI.Pointer_,Function(CI.Pointer_,Returns(CI.PrimitiveCI.Int))),"bpf_tc_detach"->(funx21x23->letCI.CPointerx24=x23inletCI.CPointerx22=x21in_30_bpf_tc_detachx22x24)|Function(CI.Pointer_,Function(CI.Pointer_,Returns(CI.PrimitiveCI.Int))),"bpf_tc_attach"->(funx25x27->letCI.CPointerx28=x27inletCI.CPointerx26=x25in_29_bpf_tc_attachx26x28)|Function(CI.Pointer_,Returns(CI.PrimitiveCI.Int)),"bpf_tc_hook_destroy"->(funx29->letCI.CPointerx30=x29in_28_bpf_tc_hook_destroyx30)|Function(CI.Pointer_,Returns(CI.PrimitiveCI.Int)),"bpf_tc_hook_create"->(funx31->letCI.CPointerx32=x31in_27_bpf_tc_hook_createx32)|Function(CI.Pointer_,Function(CI.Pointer_,Function(CI.PrimitiveCI.Size_t,Function(CI.PrimitiveCI.Uint64_t,Returns(CI.PrimitiveCI.Int))))),"bpf_map__delete_elem"->(funx33x35x37x38->letCI.CPointerx36=x35inletCI.CPointerx34=x33in_26_bpf_map__delete_elemx34x36x37x38)|Function(CI.Pointer_,Function(CI.Pointer_,Function(CI.PrimitiveCI.Size_t,Function(CI.Pointer_,Function(CI.PrimitiveCI.Size_t,Function(CI.PrimitiveCI.Uint64_t,Returns(CI.PrimitiveCI.Int))))))),"bpf_map__update_elem"->(funx39x41x43x44x46x47->letCI.CPointerx45=x44inletCI.CPointerx42=x41inletCI.CPointerx40=x39in_25_bpf_map__update_elemx40x42x43x45x46x47)|Function(CI.Pointer_,Function(CI.Pointer_,Function(CI.PrimitiveCI.Size_t,Function(CI.Pointer_,Function(CI.PrimitiveCI.Size_t,Function(CI.PrimitiveCI.Uint64_t,Returns(CI.PrimitiveCI.Int))))))),"bpf_map__lookup_elem"->(funx48x50x52x53x55x56->letCI.CPointerx54=x53inletCI.CPointerx51=x50inletCI.CPointerx49=x48in_24_bpf_map__lookup_elemx49x51x52x54x55x56)|Function(CI.Pointer_,Returns(CI.PrimitiveCI.Int)),"bpf_map__fd"->(funx57->letCI.CPointerx58=x57in_23_bpf_map__fdx58)|Function(CI.Pointer_,Function(CI.View{CI.ty=CI.Pointer_;write=x62;_},Returns(CI.View{CI.ty=CI.Pointerx65;read=x66;_}))),"bpf_object__find_map_by_name"->(funx59x61->letCI.CPointerx64=x62x61inletCI.CPointerx60=x59inletx63=x64inx66(CI.make_ptrx65(_22_bpf_object__find_map_by_namex60x63)))|Function(CI.Pointer_,ReturnsCI.Void),"bpf_object__close"->(funx67->letCI.CPointerx68=x67in_21_bpf_object__closex68)|Function(CI.Pointer_,Returns(CI.PrimitiveCI.Int)),"bpf_link__destroy"->(funx69->letCI.CPointerx70=x69in_20_bpf_link__destroyx70)|Function(CI.Pointer_,Returns(CI.PrimitiveCI.Int)),"bpf_link__unpin"->(funx71->letCI.CPointerx72=x71in_19_bpf_link__unpinx72)|Function(CI.Pointer_,Function(CI.Pointer_,Returns(CI.PrimitiveCI.Int))),"bpf_link__pin"->(funx73x75->letCI.CPointerx76=x75inletCI.CPointerx74=x73in_18_bpf_link__pinx74x76)|Function(CI.Pointer_,Returns(CI.PrimitiveCI.Int)),"bpf_program__fd"->(funx77->letCI.CPointerx78=x77in_17_bpf_program__fdx78)|Function(CI.Pointer_,Returns(CI.View{CI.ty=CI.Pointerx81;read=x82;_})),"bpf_program__attach"->(funx79->letCI.CPointerx80=x79inx82(CI.make_ptrx81(_16_bpf_program__attachx80)))|Function(CI.Pointer_,Function(CI.Pointer_,Returns(CI.PrimitiveCI.Int))),"bpf_program__unpin"->(funx83x85->letCI.CPointerx86=x85inletCI.CPointerx84=x83in_15_bpf_program__unpinx84x86)|Function(CI.Pointer_,Function(CI.Pointer_,Returns(CI.PrimitiveCI.Int))),"bpf_program__pin"->(funx87x89->letCI.CPointerx90=x89inletCI.CPointerx88=x87in_14_bpf_program__pinx88x90)|Function(CI.Pointer_,Function(CI.Pointer_,Returns(CI.Pointerx95))),"bpf_object__next_program"->(funx91x93->letCI.CPointerx94=x93inletCI.CPointerx92=x91inCI.make_ptrx95(_13_bpf_object__next_programx92x94))|Function(CI.Pointer_,Function(CI.View{CI.ty=CI.Pointer_;write=x99;_},Returns(CI.View{CI.ty=CI.Pointerx102;read=x103;_}))),"bpf_object__find_program_by_name"->(funx96x98->letCI.CPointerx101=x99x98inletCI.CPointerx97=x96inletx100=x101inx103(CI.make_ptrx102(_12_bpf_object__find_program_by_namex97x100)))|Function(CI.Pointer_,Returns(CI.PrimitiveCI.Int)),"bpf_object__load"->(funx104->letCI.CPointerx105=x104in_11_bpf_object__loadx105)|Function(CI.View{CI.ty=CI.Pointer_;write=x107;_},Returns(CI.View{CI.ty=CI.Pointerx110;read=x111;_})),"bpf_object__open"->(funx106->letCI.CPointerx109=x107x106inletx108=x109inx111(CI.make_ptrx110(_10_bpf_object__openx108)))|Function(CI.View{CI.ty=CI.Funptr_;write=x113;_},Returns(CI.View{CI.ty=CI.Funptrx116;read=x117;_})),"libbpf_set_print"->(funx112->letCI.Static_funptrx115=x113x112inletx114=x115inx117(CI.make_fun_ptrx116(_9_libbpf_set_printx114)))|Function(CI.View{CI.ty=CI.PrimitiveCI.Uint32_t;write=x119;_},Returns(CI.View{CI.ty=CI.Pointerx121;read=x122;_})),"libbpf_bpf_prog_type_str"->(funx118->letx120=x119x118inx122(CI.make_ptrx121(_8_libbpf_bpf_prog_type_strx120)))|Function(CI.View{CI.ty=CI.PrimitiveCI.Uint32_t;write=x124;_},Returns(CI.View{CI.ty=CI.Pointerx126;read=x127;_})),"libbpf_bpf_map_type_str"->(funx123->letx125=x124x123inx127(CI.make_ptrx126(_7_libbpf_bpf_map_type_strx125)))|Function(CI.View{CI.ty=CI.PrimitiveCI.Uint32_t;write=x129;_},Returns(CI.View{CI.ty=CI.Pointerx131;read=x132;_})),"libbpf_bpf_link_type_str"->(funx128->letx130=x129x128inx132(CI.make_ptrx131(_6_libbpf_bpf_link_type_strx130)))|Function(CI.View{CI.ty=CI.PrimitiveCI.Uint32_t;write=x134;_},Returns(CI.View{CI.ty=CI.Pointerx136;read=x137;_})),"libbpf_bpf_attach_type_str"->(funx133->letx135=x134x133inx137(CI.make_ptrx136(_5_libbpf_bpf_attach_type_strx135)))|Function(CI.PrimitiveCI.Int,Function(CI.Pointer_,Function(CI.PrimitiveCI.Size_t,Returns(CI.PrimitiveCI.Int)))),"libbpf_strerror"->(funx138x139x141->letCI.CPointerx140=x139in_4_libbpf_strerrorx138x140x141)|Function(CI.Void,Returns(CI.View{CI.ty=CI.Pointerx143;read=x144;_})),"libbpf_version_string"->(funx142->x144(CI.make_ptrx143(_3_libbpf_version_stringx142)))|Function(CI.Void,Returns(CI.PrimitiveCI.Uint32_t)),"libbpf_minor_version"->_2_libbpf_minor_version|Function(CI.Void,Returns(CI.PrimitiveCI.Uint32_t)),"libbpf_major_version"->_1_libbpf_major_version|_,s->Printf.ksprintffailwith"No match for %s"sletforeign_value:typea.string->aCtypes.typ->aCtypes.ptr=funnamet->matcht,namewith|_,s->Printf.ksprintffailwith"No match for %s"s