SOURCE_FILE@[0; 1598) EXTERN_BLOCK@[0; 1597) ABI@[0; 6) EXTERN_KW@[0; 6) "extern" WHITESPACE@[6; 7) " " EXTERN_ITEM_LIST@[7; 1597) L_CURLY@[7; 8) "{" WHITESPACE@[8; 13) "\n " FN_DEF@[13; 87) VISIBILITY@[13; 16) PUB_KW@[13; 16) "pub" WHITESPACE@[16; 17) " " FN_KW@[17; 19) "fn" WHITESPACE@[19; 20) " " NAME@[20; 26) IDENT@[20; 26) "socket" PARAM_LIST@[26; 75) L_PAREN@[26; 27) "(" PARAM@[27; 42) BIND_PAT@[27; 33) NAME@[27; 33) IDENT@[27; 33) "domain" COLON@[33; 34) ":" WHITESPACE@[34; 35) " " PATH_TYPE@[35; 42) PATH@[35; 42) PATH_SEGMENT@[35; 42) COLONCOLON@[35; 37) "::" NAME_REF@[37; 42) IDENT@[37; 42) "c_int" COMMA@[42; 43) "," WHITESPACE@[43; 44) " " PARAM@[44; 55) BIND_PAT@[44; 46) NAME@[44; 46) IDENT@[44; 46) "ty" COLON@[46; 47) ":" WHITESPACE@[47; 48) " " PATH_TYPE@[48; 55) PATH@[48; 55) PATH_SEGMENT@[48; 55) COLONCOLON@[48; 50) "::" NAME_REF@[50; 55) IDENT@[50; 55) "c_int" COMMA@[55; 56) "," WHITESPACE@[56; 57) " " PARAM@[57; 74) BIND_PAT@[57; 65) NAME@[57; 65) IDENT@[57; 65) "protocol" COLON@[65; 66) ":" WHITESPACE@[66; 67) " " PATH_TYPE@[67; 74) PATH@[67; 74) PATH_SEGMENT@[67; 74) COLONCOLON@[67; 69) "::" NAME_REF@[69; 74) IDENT@[69; 74) "c_int" R_PAREN@[74; 75) ")" WHITESPACE@[75; 76) " " RET_TYPE@[76; 86) THIN_ARROW@[76; 78) "->" WHITESPACE@[78; 79) " " PATH_TYPE@[79; 86) PATH@[79; 86) PATH_SEGMENT@[79; 86) COLONCOLON@[79; 81) "::" NAME_REF@[81; 86) IDENT@[81; 86) "c_int" SEMI@[86; 87) ";" WHITESPACE@[87; 92) "\n " FN_DEF@[92; 167) VISIBILITY@[92; 95) PUB_KW@[92; 95) "pub" WHITESPACE@[95; 96) " " FN_KW@[96; 98) "fn" WHITESPACE@[98; 99) " " NAME@[99; 103) IDENT@[99; 103) "bind" PARAM_LIST@[103; 155) L_PAREN@[103; 104) "(" PARAM@[104; 115) BIND_PAT@[104; 106) NAME@[104; 106) IDENT@[104; 106) "fd" COLON@[106; 107) ":" WHITESPACE@[107; 108) " " PATH_TYPE@[108; 115) PATH@[108; 115) PATH_SEGMENT@[108; 115) COLONCOLON@[108; 110) "::" NAME_REF@[110; 115) IDENT@[110; 115) "c_int" COMMA@[115; 116) "," WHITESPACE@[116; 117) " " PARAM@[117; 138) BIND_PAT@[117; 121) NAME@[117; 121) IDENT@[117; 121) "addr" COLON@[121; 122) ":" WHITESPACE@[122; 123) " " POINTER_TYPE@[123; 138) STAR@[123; 124) "*" CONST_KW@[124; 129) "const" WHITESPACE@[129; 130) " " PATH_TYPE@[130; 138) PATH@[130; 138) PATH_SEGMENT@[130; 138) NAME_REF@[130; 138) IDENT@[130; 138) "sockaddr" COMMA@[138; 139) "," WHITESPACE@[139; 140) " " PARAM@[140; 154) BIND_PAT@[140; 143) NAME@[140; 143) IDENT@[140; 143) "len" COLON@[143; 144) ":" WHITESPACE@[144; 145) " " PATH_TYPE@[145; 154) PATH@[145; 154) PATH_SEGMENT@[145; 154) NAME_REF@[145; 154) IDENT@[145; 154) "socklen_t" R_PAREN@[154; 155) ")" WHITESPACE@[155; 156) " " RET_TYPE@[156; 166) THIN_ARROW@[156; 158) "->" WHITESPACE@[158; 159) " " PATH_TYPE@[159; 166) PATH@[159; 166) PATH_SEGMENT@[159; 166) COLONCOLON@[159; 161) "::" NAME_REF@[161; 166) IDENT@[161; 166) "c_int" SEMI@[166; 167) ";" WHITESPACE@[167; 172) "\n " FN_DEF@[172; 276) VISIBILITY@[172; 175) PUB_KW@[172; 175) "pub" WHITESPACE@[175; 176) " " FN_KW@[176; 178) "fn" WHITESPACE@[178; 179) " " NAME@[179; 186) IDENT@[179; 186) "connect" PARAM_LIST@[186; 264) L_PAREN@[186; 187) "(" PARAM@[187; 202) BIND_PAT@[187; 193) NAME@[187; 193) IDENT@[187; 193) "socket" COLON@[193; 194) ":" WHITESPACE@[194; 195) " " PATH_TYPE@[195; 202) PATH@[195; 202) PATH_SEGMENT@[195; 202) COLONCOLON@[195; 197) "::" NAME_REF@[197; 202) IDENT@[197; 202) "c_int" COMMA@[202; 203) "," WHITESPACE@[203; 204) " " PARAM@[204; 228) BIND_PAT@[204; 211) NAME@[204; 211) IDENT@[204; 211) "address" COLON@[211; 212) ":" WHITESPACE@[212; 213) " " POINTER_TYPE@[213; 228) STAR@[213; 214) "*" CONST_KW@[214; 219) "const" WHITESPACE@[219; 220) " " PATH_TYPE@[220; 228) PATH@[220; 228) PATH_SEGMENT@[220; 228) NAME_REF@[220; 228) IDENT@[220; 228) "sockaddr" COMMA@[228; 229) "," WHITESPACE@[229; 249) "\n " PARAM@[249; 263) BIND_PAT@[249; 252) NAME@[249; 252) IDENT@[249; 252) "len" COLON@[252; 253) ":" WHITESPACE@[253; 254) " " PATH_TYPE@[254; 263) PATH@[254; 263) PATH_SEGMENT@[254; 263) NAME_REF@[254; 263) IDENT@[254; 263) "socklen_t" R_PAREN@[263; 264) ")" WHITESPACE@[264; 265) " " RET_TYPE@[265; 275) THIN_ARROW@[265; 267) "->" WHITESPACE@[267; 268) " " PATH_TYPE@[268; 275) PATH@[268; 275) PATH_SEGMENT@[268; 275) COLONCOLON@[268; 270) "::" NAME_REF@[270; 275) IDENT@[270; 275) "c_int" SEMI@[275; 276) ";" WHITESPACE@[276; 281) "\n " FN_DEF@[281; 341) VISIBILITY@[281; 284) PUB_KW@[281; 284) "pub" WHITESPACE@[284; 285) " " FN_KW@[285; 287) "fn" WHITESPACE@[287; 288) " " NAME@[288; 294) IDENT@[288; 294) "listen" PARAM_LIST@[294; 329) L_PAREN@[294; 295) "(" PARAM@[295; 310) BIND_PAT@[295; 301) NAME@[295; 301) IDENT@[295; 301) "socket" COLON@[301; 302) ":" WHITESPACE@[302; 303) " " PATH_TYPE@[303; 310) PATH@[303; 310) PATH_SEGMENT@[303; 310) COLONCOLON@[303; 305) "::" NAME_REF@[305; 310) IDENT@[305; 310) "c_int" COMMA@[310; 311) "," WHITESPACE@[311; 312) " " PARAM@[312; 328) BIND_PAT@[312; 319) NAME@[312; 319) IDENT@[312; 319) "backlog" COLON@[319; 320) ":" WHITESPACE@[320; 321) " " PATH_TYPE@[321; 328) PATH@[321; 328) PATH_SEGMENT@[321; 328) COLONCOLON@[321; 323) "::" NAME_REF@[323; 328) IDENT@[323; 328) "c_int" R_PAREN@[328; 329) ")" WHITESPACE@[329; 330) " " RET_TYPE@[330; 340) THIN_ARROW@[330; 332) "->" WHITESPACE@[332; 333) " " PATH_TYPE@[333; 340) PATH@[333; 340) PATH_SEGMENT@[333; 340) COLONCOLON@[333; 335) "::" NAME_REF@[335; 340) IDENT@[335; 340) "c_int" SEMI@[340; 341) ";" WHITESPACE@[341; 346) "\n " FN_DEF@[346; 469) VISIBILITY@[346; 349) PUB_KW@[346; 349) "pub" WHITESPACE@[349; 350) " " FN_KW@[350; 352) "fn" WHITESPACE@[352; 353) " " NAME@[353; 364) IDENT@[353; 364) "getsockname" PARAM_LIST@[364; 457) L_PAREN@[364; 365) "(" PARAM@[365; 380) BIND_PAT@[365; 371) NAME@[365; 371) IDENT@[365; 371) "socket" COLON@[371; 372) ":" WHITESPACE@[372; 373) " " PATH_TYPE@[373; 380) PATH@[373; 380) PATH_SEGMENT@[373; 380) COLONCOLON@[373; 375) "::" NAME_REF@[375; 380) IDENT@[375; 380) "c_int" COMMA@[380; 381) "," WHITESPACE@[381; 382) " " PARAM@[382; 404) BIND_PAT@[382; 389) NAME@[382; 389) IDENT@[382; 389) "address" COLON@[389; 390) ":" WHITESPACE@[390; 391) " " POINTER_TYPE@[391; 404) STAR@[391; 392) "*" MUT_KW@[392; 395) "mut" WHITESPACE@[395; 396) " " PATH_TYPE@[396; 404) PATH@[396; 404) PATH_SEGMENT@[396; 404) NAME_REF@[396; 404) IDENT@[396; 404) "sockaddr" COMMA@[404; 405) "," WHITESPACE@[405; 429) "\n " PARAM@[429; 456) BIND_PAT@[429; 440) NAME@[429; 440) IDENT@[429; 440) "address_len" COLON@[440; 441) ":" WHITESPACE@[441; 442) " " POINTER_TYPE@[442; 456) STAR@[442; 443) "*" MUT_KW@[443; 446) "mut" WHITESPACE@[446; 447) " " PATH_TYPE@[447; 456) PATH@[447; 456) PATH_SEGMENT@[447; 456) NAME_REF@[447; 456) IDENT@[447; 456) "socklen_t" R_PAREN@[456; 457) ")" WHITESPACE@[457; 458) " " RET_TYPE@[458; 468) THIN_ARROW@[458; 460) "->" WHITESPACE@[460; 461) " " PATH_TYPE@[461; 468) PATH@[461; 468) PATH_SEGMENT@[461; 468) COLONCOLON@[461; 463) "::" NAME_REF@[463; 468) IDENT@[463; 468) "c_int" SEMI@[468; 469) ";" WHITESPACE@[469; 474) "\n " FN_DEF@[474; 691) VISIBILITY@[474; 477) PUB_KW@[474; 477) "pub" WHITESPACE@[477; 478) " " FN_KW@[478; 480) "fn" WHITESPACE@[480; 481) " " NAME@[481; 491) IDENT@[481; 491) "getsockopt" PARAM_LIST@[491; 679) L_PAREN@[491; 492) "(" PARAM@[492; 507) BIND_PAT@[492; 498) NAME@[492; 498) IDENT@[492; 498) "sockfd" COLON@[498; 499) ":" WHITESPACE@[499; 500) " " PATH_TYPE@[500; 507) PATH@[500; 507) PATH_SEGMENT@[500; 507) COLONCOLON@[500; 502) "::" NAME_REF@[502; 507) IDENT@[502; 507) "c_int" COMMA@[507; 508) "," WHITESPACE@[508; 531) "\n " PARAM@[531; 545) BIND_PAT@[531; 536) NAME@[531; 536) IDENT@[531; 536) "level" COLON@[536; 537) ":" WHITESPACE@[537; 538) " " PATH_TYPE@[538; 545) PATH@[538; 545) PATH_SEGMENT@[538; 545) COLONCOLON@[538; 540) "::" NAME_REF@[540; 545) IDENT@[540; 545) "c_int" COMMA@[545; 546) "," WHITESPACE@[546; 569) "\n " PARAM@[569; 585) BIND_PAT@[569; 576) NAME@[569; 576) IDENT@[569; 576) "optname" COLON@[576; 577) ":" WHITESPACE@[577; 578) " " PATH_TYPE@[578; 585) PATH@[578; 585) PATH_SEGMENT@[578; 585) COLONCOLON@[578; 580) "::" NAME_REF@[580; 585) IDENT@[580; 585) "c_int" COMMA@[585; 586) "," WHITESPACE@[586; 609) "\n " PARAM@[609; 630) BIND_PAT@[609; 615) NAME@[609; 615) IDENT@[609; 615) "optval" COLON@[615; 616) ":" WHITESPACE@[616; 617) " " POINTER_TYPE@[617; 630) STAR@[617; 618) "*" MUT_KW@[618; 621) "mut" WHITESPACE@[621; 622) " " PATH_TYPE@[622; 630) PATH@[622; 630) PATH_SEGMENT@[622; 630) COLONCOLON@[622; 624) "::" NAME_REF@[624; 630) IDENT@[624; 630) "c_void" COMMA@[630; 631) "," WHITESPACE@[631; 654) "\n " PARAM@[654; 678) BIND_PAT@[654; 660) NAME@[654; 660) IDENT@[654; 660) "optlen" COLON@[660; 661) ":" WHITESPACE@[661; 662) " " POINTER_TYPE@[662; 678) STAR@[662; 663) "*" MUT_KW@[663; 666) "mut" WHITESPACE@[666; 667) " " PATH_TYPE@[667; 678) PATH@[667; 678) PATH_SEGMENT@[667; 678) COLONCOLON@[667; 669) "::" NAME_REF@[669; 678) IDENT@[669; 678) "socklen_t" R_PAREN@[678; 679) ")" WHITESPACE@[679; 680) " " RET_TYPE@[680; 690) THIN_ARROW@[680; 682) "->" WHITESPACE@[682; 683) " " PATH_TYPE@[683; 690) PATH@[683; 690) PATH_SEGMENT@[683; 690) COLONCOLON@[683; 685) "::" NAME_REF@[685; 690) IDENT@[685; 690) "c_int" SEMI@[690; 691) ";" WHITESPACE@[691; 696) "\n " FN_DEF@[696; 864) VISIBILITY@[696; 699) PUB_KW@[696; 699) "pub" WHITESPACE@[699; 700) " " FN_KW@[700; 702) "fn" WHITESPACE@[702; 703) " " NAME@[703; 713) IDENT@[703; 713) "setsockopt" PARAM_LIST@[713; 852) L_PAREN@[713; 714) "(" PARAM@[714; 729) BIND_PAT@[714; 720) NAME@[714; 720) IDENT@[714; 720) "socket" COLON@[720; 721) ":" WHITESPACE@[721; 722) " " PATH_TYPE@[722; 729) PATH@[722; 729) PATH_SEGMENT@[722; 729) COLONCOLON@[722; 724) "::" NAME_REF@[724; 729) IDENT@[724; 729) "c_int" COMMA@[729; 730) "," WHITESPACE@[730; 731) " " PARAM@[731; 745) BIND_PAT@[731; 736) NAME@[731; 736) IDENT@[731; 736) "level" COLON@[736; 737) ":" WHITESPACE@[737; 738) " " PATH_TYPE@[738; 745) PATH@[738; 745) PATH_SEGMENT@[738; 745) COLONCOLON@[738; 740) "::" NAME_REF@[740; 745) IDENT@[740; 745) "c_int" COMMA@[745; 746) "," WHITESPACE@[746; 747) " " PARAM@[747; 760) BIND_PAT@[747; 751) NAME@[747; 751) IDENT@[747; 751) "name" COLON@[751; 752) ":" WHITESPACE@[752; 753) " " PATH_TYPE@[753; 760) PATH@[753; 760) PATH_SEGMENT@[753; 760) COLONCOLON@[753; 755) "::" NAME_REF@[755; 760) IDENT@[755; 760) "c_int" COMMA@[760; 761) "," WHITESPACE@[761; 784) "\n " PARAM@[784; 806) BIND_PAT@[784; 789) NAME@[784; 789) IDENT@[784; 789) "value" COLON@[789; 790) ":" WHITESPACE@[790; 791) " " POINTER_TYPE@[791; 806) STAR@[791; 792) "*" CONST_KW@[792; 797) "const" WHITESPACE@[797; 798) " " PATH_TYPE@[798; 806) PATH@[798; 806) PATH_SEGMENT@[798; 806) COLONCOLON@[798; 800) "::" NAME_REF@[800; 806) IDENT@[800; 806) "c_void" COMMA@[806; 807) "," WHITESPACE@[807; 830) "\n " PARAM@[830; 851) BIND_PAT@[830; 840) NAME@[830; 840) IDENT@[830; 840) "option_len" COLON@[840; 841) ":" WHITESPACE@[841; 842) " " PATH_TYPE@[842; 851) PATH@[842; 851) PATH_SEGMENT@[842; 851) NAME_REF@[842; 851) IDENT@[842; 851) "socklen_t" R_PAREN@[851; 852) ")" WHITESPACE@[852; 853) " " RET_TYPE@[853; 863) THIN_ARROW@[853; 855) "->" WHITESPACE@[855; 856) " " PATH_TYPE@[856; 863) PATH@[856; 863) PATH_SEGMENT@[856; 863) COLONCOLON@[856; 858) "::" NAME_REF@[858; 863) IDENT@[858; 863) "c_int" SEMI@[863; 864) ";" WHITESPACE@[864; 869) "\n " FN_DEF@[869; 992) VISIBILITY@[869; 872) PUB_KW@[869; 872) "pub" WHITESPACE@[872; 873) " " FN_KW@[873; 875) "fn" WHITESPACE@[875; 876) " " NAME@[876; 887) IDENT@[876; 887) "getpeername" PARAM_LIST@[887; 980) L_PAREN@[887; 888) "(" PARAM@[888; 903) BIND_PAT@[888; 894) NAME@[888; 894) IDENT@[888; 894) "socket" COLON@[894; 895) ":" WHITESPACE@[895; 896) " " PATH_TYPE@[896; 903) PATH@[896; 903) PATH_SEGMENT@[896; 903) COLONCOLON@[896; 898) "::" NAME_REF@[898; 903) IDENT@[898; 903) "c_int" COMMA@[903; 904) "," WHITESPACE@[904; 905) " " PARAM@[905; 927) BIND_PAT@[905; 912) NAME@[905; 912) IDENT@[905; 912) "address" COLON@[912; 913) ":" WHITESPACE@[913; 914) " " POINTER_TYPE@[914; 927) STAR@[914; 915) "*" MUT_KW@[915; 918) "mut" WHITESPACE@[918; 919) " " PATH_TYPE@[919; 927) PATH@[919; 927) PATH_SEGMENT@[919; 927) NAME_REF@[919; 927) IDENT@[919; 927) "sockaddr" COMMA@[927; 928) "," WHITESPACE@[928; 952) "\n " PARAM@[952; 979) BIND_PAT@[952; 963) NAME@[952; 963) IDENT@[952; 963) "address_len" COLON@[963; 964) ":" WHITESPACE@[964; 965) " " POINTER_TYPE@[965; 979) STAR@[965; 966) "*" MUT_KW@[966; 969) "mut" WHITESPACE@[969; 970) " " PATH_TYPE@[970; 979) PATH@[970; 979) PATH_SEGMENT@[970; 979) NAME_REF@[970; 979) IDENT@[970; 979) "socklen_t" R_PAREN@[979; 980) ")" WHITESPACE@[980; 981) " " RET_TYPE@[981; 991) THIN_ARROW@[981; 983) "->" WHITESPACE@[983; 984) " " PATH_TYPE@[984; 991) PATH@[984; 991) PATH_SEGMENT@[984; 991) COLONCOLON@[984; 986) "::" NAME_REF@[986; 991) IDENT@[986; 991) "c_int" SEMI@[991; 992) ";" WHITESPACE@[992; 997) "\n " FN_DEF@[997; 1173) VISIBILITY@[997; 1000) PUB_KW@[997; 1000) "pub" WHITESPACE@[1000; 1001) " " FN_KW@[1001; 1003) "fn" WHITESPACE@[1003; 1004) " " NAME@[1004; 1010) IDENT@[1004; 1010) "sendto" PARAM_LIST@[1010; 1159) L_PAREN@[1010; 1011) "(" PARAM@[1011; 1026) BIND_PAT@[1011; 1017) NAME@[1011; 1017) IDENT@[1011; 1017) "socket" COLON@[1017; 1018) ":" WHITESPACE@[1018; 1019) " " PATH_TYPE@[1019; 1026) PATH@[1019; 1026) PATH_SEGMENT@[1019; 1026) COLONCOLON@[1019; 1021) "::" NAME_REF@[1021; 1026) IDENT@[1021; 1026) "c_int" COMMA@[1026; 1027) "," WHITESPACE@[1027; 1028) " " PARAM@[1028; 1048) BIND_PAT@[1028; 1031) NAME@[1028; 1031) IDENT@[1028; 1031) "buf" COLON@[1031; 1032) ":" WHITESPACE@[1032; 1033) " " POINTER_TYPE@[1033; 1048) STAR@[1033; 1034) "*" CONST_KW@[1034; 1039) "const" WHITESPACE@[1039; 1040) " " PATH_TYPE@[1040; 1048) PATH@[1040; 1048) PATH_SEGMENT@[1040; 1048) COLONCOLON@[1040; 1042) "::" NAME_REF@[1042; 1048) IDENT@[1042; 1048) "c_void" COMMA@[1048; 1049) "," WHITESPACE@[1049; 1050) " " PARAM@[1050; 1063) BIND_PAT@[1050; 1053) NAME@[1050; 1053) IDENT@[1050; 1053) "len" COLON@[1053; 1054) ":" WHITESPACE@[1054; 1055) " " PATH_TYPE@[1055; 1063) PATH@[1055; 1063) PATH_SEGMENT@[1055; 1063) COLONCOLON@[1055; 1057) "::" NAME_REF@[1057; 1063) IDENT@[1057; 1063) "size_t" COMMA@[1063; 1064) "," WHITESPACE@[1064; 1083) "\n " PARAM@[1083; 1097) BIND_PAT@[1083; 1088) NAME@[1083; 1088) IDENT@[1083; 1088) "flags" COLON@[1088; 1089) ":" WHITESPACE@[1089; 1090) " " PATH_TYPE@[1090; 1097) PATH@[1090; 1097) PATH_SEGMENT@[1090; 1097) COLONCOLON@[1090; 1092) "::" NAME_REF@[1092; 1097) IDENT@[1092; 1097) "c_int" COMMA@[1097; 1098) "," WHITESPACE@[1098; 1099) " " PARAM@[1099; 1120) BIND_PAT@[1099; 1103) NAME@[1099; 1103) IDENT@[1099; 1103) "addr" COLON@[1103; 1104) ":" WHITESPACE@[1104; 1105) " " POINTER_TYPE@[1105; 1120) STAR@[1105; 1106) "*" CONST_KW@[1106; 1111) "const" WHITESPACE@[1111; 1112) " " PATH_TYPE@[1112; 1120) PATH@[1112; 1120) PATH_SEGMENT@[1112; 1120) NAME_REF@[1112; 1120) IDENT@[1112; 1120) "sockaddr" COMMA@[1120; 1121) "," WHITESPACE@[1121; 1140) "\n " PARAM@[1140; 1158) BIND_PAT@[1140; 1147) NAME@[1140; 1147) IDENT@[1140; 1147) "addrlen" COLON@[1147; 1148) ":" WHITESPACE@[1148; 1149) " " PATH_TYPE@[1149; 1158) PATH@[1149; 1158) PATH_SEGMENT@[1149; 1158) NAME_REF@[1149; 1158) IDENT@[1149; 1158) "socklen_t" R_PAREN@[1158; 1159) ")" WHITESPACE@[1159; 1160) " " RET_TYPE@[1160; 1172) THIN_ARROW@[1160; 1162) "->" WHITESPACE@[1162; 1163) " " PATH_TYPE@[1163; 1172) PATH@[1163; 1172) PATH_SEGMENT@[1163; 1172) COLONCOLON@[1163; 1165) "::" NAME_REF@[1165; 1172) IDENT@[1165; 1172) "ssize_t" SEMI@[1172; 1173) ";" WHITESPACE@[1173; 1178) "\n " FN_DEF@[1178; 1289) VISIBILITY@[1178; 1181) PUB_KW@[1178; 1181) "pub" WHITESPACE@[1181; 1182) " " FN_KW@[1182; 1184) "fn" WHITESPACE@[1184; 1185) " " NAME@[1185; 1189) IDENT@[1185; 1189) "send" PARAM_LIST@[1189; 1275) L_PAREN@[1189; 1190) "(" PARAM@[1190; 1205) BIND_PAT@[1190; 1196) NAME@[1190; 1196) IDENT@[1190; 1196) "socket" COLON@[1196; 1197) ":" WHITESPACE@[1197; 1198) " " PATH_TYPE@[1198; 1205) PATH@[1198; 1205) PATH_SEGMENT@[1198; 1205) COLONCOLON@[1198; 1200) "::" NAME_REF@[1200; 1205) IDENT@[1200; 1205) "c_int" COMMA@[1205; 1206) "," WHITESPACE@[1206; 1207) " " PARAM@[1207; 1227) BIND_PAT@[1207; 1210) NAME@[1207; 1210) IDENT@[1207; 1210) "buf" COLON@[1210; 1211) ":" WHITESPACE@[1211; 1212) " " POINTER_TYPE@[1212; 1227) STAR@[1212; 1213) "*" CONST_KW@[1213; 1218) "const" WHITESPACE@[1218; 1219) " " PATH_TYPE@[1219; 1227) PATH@[1219; 1227) PATH_SEGMENT@[1219; 1227) COLONCOLON@[1219; 1221) "::" NAME_REF@[1221; 1227) IDENT@[1221; 1227) "c_void" COMMA@[1227; 1228) "," WHITESPACE@[1228; 1229) " " PARAM@[1229; 1242) BIND_PAT@[1229; 1232) NAME@[1229; 1232) IDENT@[1229; 1232) "len" COLON@[1232; 1233) ":" WHITESPACE@[1233; 1234) " " PATH_TYPE@[1234; 1242) PATH@[1234; 1242) PATH_SEGMENT@[1234; 1242) COLONCOLON@[1234; 1236) "::" NAME_REF@[1236; 1242) IDENT@[1236; 1242) "size_t" COMMA@[1242; 1243) "," WHITESPACE@[1243; 1260) "\n " PARAM@[1260; 1274) BIND_PAT@[1260; 1265) NAME@[1260; 1265) IDENT@[1260; 1265) "flags" COLON@[1265; 1266) ":" WHITESPACE@[1266; 1267) " " PATH_TYPE@[1267; 1274) PATH@[1267; 1274) PATH_SEGMENT@[1267; 1274) COLONCOLON@[1267; 1269) "::" NAME_REF@[1269; 1274) IDENT@[1269; 1274) "c_int" R_PAREN@[1274; 1275) ")" WHITESPACE@[1275; 1276) " " RET_TYPE@[1276; 1288) THIN_ARROW@[1276; 1278) "->" WHITESPACE@[1278; 1279) " " PATH_TYPE@[1279; 1288) PATH@[1279; 1288) PATH_SEGMENT@[1279; 1288) COLONCOLON@[1279; 1281) "::" NAME_REF@[1281; 1288) IDENT@[1281; 1288) "ssize_t" SEMI@[1288; 1289) ";" WHITESPACE@[1289; 1294) "\n " FN_DEF@[1294; 1481) VISIBILITY@[1294; 1297) PUB_KW@[1294; 1297) "pub" WHITESPACE@[1297; 1298) " " FN_KW@[1298; 1300) "fn" WHITESPACE@[1300; 1301) " " NAME@[1301; 1309) IDENT@[1301; 1309) "recvfrom" PARAM_LIST@[1309; 1467) L_PAREN@[1309; 1310) "(" PARAM@[1310; 1325) BIND_PAT@[1310; 1316) NAME@[1310; 1316) IDENT@[1310; 1316) "socket" COLON@[1316; 1317) ":" WHITESPACE@[1317; 1318) " " PATH_TYPE@[1318; 1325) PATH@[1318; 1325) PATH_SEGMENT@[1318; 1325) COLONCOLON@[1318; 1320) "::" NAME_REF@[1320; 1325) IDENT@[1320; 1325) "c_int" COMMA@[1325; 1326) "," WHITESPACE@[1326; 1327) " " PARAM@[1327; 1345) BIND_PAT@[1327; 1330) NAME@[1327; 1330) IDENT@[1327; 1330) "buf" COLON@[1330; 1331) ":" WHITESPACE@[1331; 1332) " " POINTER_TYPE@[1332; 1345) STAR@[1332; 1333) "*" MUT_KW@[1333; 1336) "mut" WHITESPACE@[1336; 1337) " " PATH_TYPE@[1337; 1345) PATH@[1337; 1345) PATH_SEGMENT@[1337; 1345) COLONCOLON@[1337; 1339) "::" NAME_REF@[1339; 1345) IDENT@[1339; 1345) "c_void" COMMA@[1345; 1346) "," WHITESPACE@[1346; 1347) " " PARAM@[1347; 1360) BIND_PAT@[1347; 1350) NAME@[1347; 1350) IDENT@[1347; 1350) "len" COLON@[1350; 1351) ":" WHITESPACE@[1351; 1352) " " PATH_TYPE@[1352; 1360) PATH@[1352; 1360) PATH_SEGMENT@[1352; 1360) COLONCOLON@[1352; 1354) "::" NAME_REF@[1354; 1360) IDENT@[1354; 1360) "size_t" COMMA@[1360; 1361) "," WHITESPACE@[1361; 1382) "\n " PARAM@[1382; 1396) BIND_PAT@[1382; 1387) NAME@[1382; 1387) IDENT@[1382; 1387) "flags" COLON@[1387; 1388) ":" WHITESPACE@[1388; 1389) " " PATH_TYPE@[1389; 1396) PATH@[1389; 1396) PATH_SEGMENT@[1389; 1396) COLONCOLON@[1389; 1391) "::" NAME_REF@[1391; 1396) IDENT@[1391; 1396) "c_int" COMMA@[1396; 1397) "," WHITESPACE@[1397; 1398) " " PARAM@[1398; 1419) BIND_PAT@[1398; 1402) NAME@[1398; 1402) IDENT@[1398; 1402) "addr" COLON@[1402; 1403) ":" WHITESPACE@[1403; 1404) " " POINTER_TYPE@[1404; 1419) STAR@[1404; 1405) "*" MUT_KW@[1405; 1408) "mut" WHITESPACE@[1408; 1409) " " PATH_TYPE@[1409; 1419) PATH@[1409; 1419) PATH_SEGMENT@[1409; 1419) COLONCOLON@[1409; 1411) "::" NAME_REF@[1411; 1419) IDENT@[1411; 1419) "sockaddr" COMMA@[1419; 1420) "," WHITESPACE@[1420; 1441) "\n " PARAM@[1441; 1466) BIND_PAT@[1441; 1448) NAME@[1441; 1448) IDENT@[1441; 1448) "addrlen" COLON@[1448; 1449) ":" WHITESPACE@[1449; 1450) " " POINTER_TYPE@[1450; 1466) STAR@[1450; 1451) "*" MUT_KW@[1451; 1454) "mut" WHITESPACE@[1454; 1455) " " PATH_TYPE@[1455; 1466) PATH@[1455; 1466) PATH_SEGMENT@[1455; 1466) COLONCOLON@[1455; 1457) "::" NAME_REF@[1457; 1466) IDENT@[1457; 1466) "socklen_t" R_PAREN@[1466; 1467) ")" WHITESPACE@[1467; 1468) " " RET_TYPE@[1468; 1480) THIN_ARROW@[1468; 1470) "->" WHITESPACE@[1470; 1471) " " PATH_TYPE@[1471; 1480) PATH@[1471; 1480) PATH_SEGMENT@[1471; 1480) COLONCOLON@[1471; 1473) "::" NAME_REF@[1473; 1480) IDENT@[1473; 1480) "ssize_t" SEMI@[1480; 1481) ";" WHITESPACE@[1481; 1486) "\n " FN_DEF@[1486; 1595) VISIBILITY@[1486; 1489) PUB_KW@[1486; 1489) "pub" WHITESPACE@[1489; 1490) " " FN_KW@[1490; 1492) "fn" WHITESPACE@[1492; 1493) " " NAME@[1493; 1497) IDENT@[1493; 1497) "recv" PARAM_LIST@[1497; 1581) L_PAREN@[1497; 1498) "(" PARAM@[1498; 1513) BIND_PAT@[1498; 1504) NAME@[1498; 1504) IDENT@[1498; 1504) "socket" COLON@[1504; 1505) ":" WHITESPACE@[1505; 1506) " " PATH_TYPE@[1506; 1513) PATH@[1506; 1513) PATH_SEGMENT@[1506; 1513) COLONCOLON@[1506; 1508) "::" NAME_REF@[1508; 1513) IDENT@[1508; 1513) "c_int" COMMA@[1513; 1514) "," WHITESPACE@[1514; 1515) " " PARAM@[1515; 1533) BIND_PAT@[1515; 1518) NAME@[1515; 1518) IDENT@[1515; 1518) "buf" COLON@[1518; 1519) ":" WHITESPACE@[1519; 1520) " " POINTER_TYPE@[1520; 1533) STAR@[1520; 1521) "*" MUT_KW@[1521; 1524) "mut" WHITESPACE@[1524; 1525) " " PATH_TYPE@[1525; 1533) PATH@[1525; 1533) PATH_SEGMENT@[1525; 1533) COLONCOLON@[1525; 1527) "::" NAME_REF@[1527; 1533) IDENT@[1527; 1533) "c_void" COMMA@[1533; 1534) "," WHITESPACE@[1534; 1535) " " PARAM@[1535; 1548) BIND_PAT@[1535; 1538) NAME@[1535; 1538) IDENT@[1535; 1538) "len" COLON@[1538; 1539) ":" WHITESPACE@[1539; 1540) " " PATH_TYPE@[1540; 1548) PATH@[1540; 1548) PATH_SEGMENT@[1540; 1548) COLONCOLON@[1540; 1542) "::" NAME_REF@[1542; 1548) IDENT@[1542; 1548) "size_t" COMMA@[1548; 1549) "," WHITESPACE@[1549; 1566) "\n " PARAM@[1566; 1580) BIND_PAT@[1566; 1571) NAME@[1566; 1571) IDENT@[1566; 1571) "flags" COLON@[1571; 1572) ":" WHITESPACE@[1572; 1573) " " PATH_TYPE@[1573; 1580) PATH@[1573; 1580) PATH_SEGMENT@[1573; 1580) COLONCOLON@[1573; 1575) "::" NAME_REF@[1575; 1580) IDENT@[1575; 1580) "c_int" R_PAREN@[1580; 1581) ")" WHITESPACE@[1581; 1582) " " RET_TYPE@[1582; 1594) THIN_ARROW@[1582; 1584) "->" WHITESPACE@[1584; 1585) " " PATH_TYPE@[1585; 1594) PATH@[1585; 1594) PATH_SEGMENT@[1585; 1594) COLONCOLON@[1585; 1587) "::" NAME_REF@[1587; 1594) IDENT@[1587; 1594) "ssize_t" SEMI@[1594; 1595) ";" WHITESPACE@[1595; 1596) "\n" R_CURLY@[1596; 1597) "}" WHITESPACE@[1597; 1598) "\n"