Lines Matching refs:pcbinfo
585 in_pcballoc(struct socket *so, struct inpcbinfo *pcbinfo, struct proc *p) in in_pcballoc() argument
592 inp = zalloc_flags(pcbinfo->ipi_zone, in in_pcballoc()
601 inp->inp_gencnt = ++pcbinfo->ipi_gencnt; in in_pcballoc()
602 inp->inp_pcbinfo = pcbinfo; in in_pcballoc()
643 lck_mtx_init(&inp->inpcb_mtx, pcbinfo->ipi_lock_grp, in in_pcballoc()
644 &pcbinfo->ipi_lock_attr); in in_pcballoc()
660 lck_rw_lock_exclusive(&pcbinfo->ipi_lock); in in_pcballoc()
661 inp->inp_gencnt = ++pcbinfo->ipi_gencnt; in in_pcballoc()
662 LIST_INSERT_HEAD(pcbinfo->ipi_listhead, inp, inp_list); in in_pcballoc()
663 pcbinfo->ipi_count++; in in_pcballoc()
664 lck_rw_done(&pcbinfo->ipi_lock); in in_pcballoc()
678 in_pcblookup_local_and_cleanup(struct inpcbinfo *pcbinfo, struct in_addr laddr, in in_pcblookup_local_and_cleanup() argument
684 inp = in_pcblookup_local(pcbinfo, laddr, lport_arg, wild_okay); in in_pcblookup_local_and_cleanup()
749 struct inpcbinfo *pcbinfo = inp->inp_pcbinfo; in in_pcbbind() local
768 lck_rw_lock_exclusive(&pcbinfo->ipi_lock); in in_pcbbind()
771 lck_rw_done(&pcbinfo->ipi_lock); in in_pcbbind()
778 lck_rw_done(&pcbinfo->ipi_lock); in in_pcbbind()
788 lck_rw_done(&pcbinfo->ipi_lock); in in_pcbbind()
818 lck_rw_done(&pcbinfo->ipi_lock); in in_pcbbind()
844 lck_rw_done(&pcbinfo->ipi_lock); in in_pcbbind()
856 lck_rw_done(&pcbinfo->ipi_lock); in in_pcbbind()
865 lck_rw_done(&pcbinfo->ipi_lock); in in_pcbbind()
881 lck_rw_done(&pcbinfo->ipi_lock); in in_pcbbind()
902 lck_rw_done(&pcbinfo->ipi_lock); in in_pcbbind()
913 lck_rw_done(&pcbinfo->ipi_lock); in in_pcbbind()
939 lck_rw_done(&pcbinfo->ipi_lock); in in_pcbbind()
948 t = in_pcblookup_local_and_cleanup(pcbinfo, in in_pcbbind()
965 lck_rw_done(&pcbinfo->ipi_lock); in in_pcbbind()
992 lck_rw_done(&pcbinfo->ipi_lock); in in_pcbbind()
1025 lastport = &pcbinfo->ipi_lasthi; in in_pcbbind()
1032 lck_rw_done(&pcbinfo->ipi_lock); in in_pcbbind()
1038 lastport = &pcbinfo->ipi_lastlow; in in_pcbbind()
1042 lastport = &pcbinfo->ipi_lastport; in in_pcbbind()
1075 lck_rw_done(&pcbinfo->ipi_lock); in in_pcbbind()
1093 found = in_pcblookup_local_and_cleanup(pcbinfo, in in_pcbbind()
1136 lck_rw_done(&pcbinfo->ipi_lock); in in_pcbbind()
1154 found = in_pcblookup_local_and_cleanup(pcbinfo, in in_pcbbind()
1191 lck_rw_done(&pcbinfo->ipi_lock); in in_pcbbind()
1199 lck_rw_done(&pcbinfo->ipi_lock); in in_pcbbind()
1228 lck_rw_done(&pcbinfo->ipi_lock); in in_pcbbind()
1231 lck_rw_done(&pcbinfo->ipi_lock); in in_pcbbind()
2105 in_pcbnotifyall(struct inpcbinfo *pcbinfo, struct in_addr faddr, in in_pcbnotifyall() argument
2110 lck_rw_lock_shared(&pcbinfo->ipi_lock); in in_pcbnotifyall()
2112 LIST_FOREACH(inp, pcbinfo->ipi_listhead, inp_list) { in in_pcbnotifyall()
2128 lck_rw_done(&pcbinfo->ipi_lock); in in_pcbnotifyall()
2214 in_pcblookup_local(struct inpcbinfo *pcbinfo, struct in_addr laddr, in in_pcblookup_local() argument
2229 head = &pcbinfo->ipi_hashbase[INP_PCBHASH(INADDR_ANY, lport, 0, in in_pcblookup_local()
2230 pcbinfo->ipi_hashmask)]; in in_pcblookup_local()
2259 porthash = &pcbinfo->ipi_porthashbase[INP_PCBPORTHASH(lport, in in_pcblookup_local()
2260 pcbinfo->ipi_porthashmask)]; in in_pcblookup_local()
2310 in_pcblookup_hash_exists(struct inpcbinfo *pcbinfo, struct in_addr faddr, in in_pcblookup_hash_exists() argument
2328 lck_rw_lock_shared(&pcbinfo->ipi_lock); in in_pcblookup_hash_exists()
2333 head = &pcbinfo->ipi_hashbase[INP_PCBHASH(faddr.s_addr, lport, fport, in in_pcblookup_hash_exists()
2334 pcbinfo->ipi_hashmask)]; in in_pcblookup_hash_exists()
2362 lck_rw_done(&pcbinfo->ipi_lock); in in_pcblookup_hash_exists()
2371 lck_rw_done(&pcbinfo->ipi_lock); in in_pcblookup_hash_exists()
2375 head = &pcbinfo->ipi_hashbase[INP_PCBHASH(INADDR_ANY, lport, 0, in in_pcblookup_hash_exists()
2376 pcbinfo->ipi_hashmask)]; in in_pcblookup_hash_exists()
2400 lck_rw_done(&pcbinfo->ipi_lock); in in_pcblookup_hash_exists()
2420 lck_rw_done(&pcbinfo->ipi_lock); in in_pcblookup_hash_exists()
2423 lck_rw_done(&pcbinfo->ipi_lock); in in_pcblookup_hash_exists()
2432 lck_rw_done(&pcbinfo->ipi_lock); in in_pcblookup_hash_exists()
2440 in_pcblookup_hash(struct inpcbinfo *pcbinfo, struct in_addr faddr, in in_pcblookup_hash() argument
2454 lck_rw_lock_shared(&pcbinfo->ipi_lock); in in_pcblookup_hash()
2459 head = &pcbinfo->ipi_hashbase[INP_PCBHASH(faddr.s_addr, lport, fport, in in_pcblookup_hash()
2460 pcbinfo->ipi_hashmask)]; in in_pcblookup_hash()
2484 lck_rw_done(&pcbinfo->ipi_lock); in in_pcblookup_hash()
2488 lck_rw_done(&pcbinfo->ipi_lock); in in_pcblookup_hash()
2498 lck_rw_done(&pcbinfo->ipi_lock); in in_pcblookup_hash()
2502 head = &pcbinfo->ipi_hashbase[INP_PCBHASH(INADDR_ANY, lport, 0, in in_pcblookup_hash()
2503 pcbinfo->ipi_hashmask)]; in in_pcblookup_hash()
2523 lck_rw_done(&pcbinfo->ipi_lock); in in_pcblookup_hash()
2527 lck_rw_done(&pcbinfo->ipi_lock); in in_pcblookup_hash()
2543 lck_rw_done(&pcbinfo->ipi_lock); in in_pcblookup_hash()
2547 lck_rw_done(&pcbinfo->ipi_lock); in in_pcblookup_hash()
2551 lck_rw_done(&pcbinfo->ipi_lock); in in_pcblookup_hash()
2555 lck_rw_done(&pcbinfo->ipi_lock); in in_pcblookup_hash()
2561 lck_rw_done(&pcbinfo->ipi_lock); in in_pcblookup_hash()
2579 struct inpcbinfo *pcbinfo = inp->inp_pcbinfo; in in_pcbinshash() local
2584 if (!lck_rw_try_lock_exclusive(&pcbinfo->ipi_lock)) { in in_pcbinshash()
2590 lck_rw_lock_exclusive(&pcbinfo->ipi_lock); in in_pcbinshash()
2603 lck_rw_done(&pcbinfo->ipi_lock); in in_pcbinshash()
2616 inp->inp_fport, pcbinfo->ipi_hashmask); in in_pcbinshash()
2618 pcbhash = &pcbinfo->ipi_hashbase[inp->inp_hash_element]; in in_pcbinshash()
2620 pcbporthash = &pcbinfo->ipi_porthashbase[INP_PCBPORTHASH(inp->inp_lport, in in_pcbinshash()
2621 pcbinfo->ipi_porthashmask)]; in in_pcbinshash()
2660 lck_rw_done(&pcbinfo->ipi_lock); in in_pcbinshash()
2675 lck_rw_done(&pcbinfo->ipi_lock); in in_pcbinshash()
3506 inp_findinpcb_procinfo(struct inpcbinfo *pcbinfo, uint32_t flowhash, in inp_findinpcb_procinfo() argument
3518 lck_rw_lock_shared(&pcbinfo->ipi_lock); in inp_findinpcb_procinfo()
3519 LIST_FOREACH(inp, pcbinfo->ipi_listhead, inp_list) { in inp_findinpcb_procinfo()
3528 lck_rw_done(&pcbinfo->ipi_lock); in inp_findinpcb_procinfo()