Lines Matching defs:pcbinfo

262 in_pcballoc(struct socket *so, struct inpcbinfo *pcbinfo, __unused struct proc *p)
279 inp = (struct inpcb *) zalloc(pcbinfo->ipi_zone);
294 inp->inp_gencnt = ++pcbinfo->ipi_gencnt;
295 inp->inp_pcbinfo = pcbinfo;
301 zfree(pcbinfo->ipi_zone, inp);
316 lck_mtx_init(&inp->inpcb_mtx, pcbinfo->mtx_grp, pcbinfo->mtx_attr);
324 zfree(pcbinfo->ipi_zone, inp);
339 lck_rw_lock_exclusive(pcbinfo->mtx);
340 inp->inp_gencnt = ++pcbinfo->ipi_gencnt;
341 LIST_INSERT_HEAD(pcbinfo->listhead, inp, inp_list);
342 pcbinfo->ipi_count++;
343 lck_rw_done(pcbinfo->mtx);
359 struct inpcbinfo *pcbinfo,
367 inp = in_pcblookup_local(pcbinfo, laddr, lport_arg, wild_okay);
430 struct inpcbinfo *pcbinfo = inp->inp_pcbinfo;
443 lck_rw_lock_exclusive(pcbinfo->mtx);
449 lck_rw_done(pcbinfo->mtx);
459 lck_rw_done(pcbinfo->mtx);
479 lck_rw_done(pcbinfo->mtx);
500 lck_rw_done(pcbinfo->mtx);
526 lck_rw_done(pcbinfo->mtx);
531 lck_rw_done(pcbinfo->mtx);
538 t = in_pcblookup_local_and_cleanup(pcbinfo, sin->sin_addr,
556 lck_rw_done(pcbinfo->mtx);
561 lck_rw_done(pcbinfo->mtx);
583 lastport = &pcbinfo->lasthi;
589 lck_rw_done(pcbinfo->mtx);
595 lastport = &pcbinfo->lastlow;
599 lastport = &pcbinfo->lastport;
624 lck_rw_done(pcbinfo->mtx);
634 } while (in_pcblookup_local_and_cleanup(pcbinfo,
648 lck_rw_done(pcbinfo->mtx);
658 } while (in_pcblookup_local_and_cleanup(pcbinfo,
668 lck_rw_done(pcbinfo->mtx);
671 lck_rw_done(pcbinfo->mtx);
1164 in_pcbnotifyall(struct inpcbinfo *pcbinfo, struct in_addr faddr,
1169 lck_rw_lock_shared(pcbinfo->mtx);
1171 LIST_FOREACH(inp, pcbinfo->listhead, inp_list) {
1186 lck_rw_done(pcbinfo->mtx);
1267 in_pcblookup_local(struct inpcbinfo *pcbinfo, struct in_addr laddr,
1282 head = &pcbinfo->hashbase[INP_PCBHASH(INADDR_ANY, lport, 0, pcbinfo->hashmask)];
1312 porthash = &pcbinfo->porthashbase[INP_PCBPORTHASH(lport,
1313 pcbinfo->porthashmask)];
1359 struct inpcbinfo *pcbinfo,
1381 lck_rw_lock_shared(pcbinfo->mtx);
1386 head = &pcbinfo->hashbase[INP_PCBHASH(faddr.s_addr, lport, fport,
1387 pcbinfo->hashmask)];
1411 lck_rw_done(pcbinfo->mtx);
1421 head = &pcbinfo->hashbase[INP_PCBHASH(INADDR_ANY, lport, 0,
1422 pcbinfo->hashmask)];
1442 lck_rw_done(pcbinfo->mtx);
1466 lck_rw_done(pcbinfo->mtx);
1470 lck_rw_done(pcbinfo->mtx);
1480 lck_rw_done(pcbinfo->mtx);
1488 lck_rw_done(pcbinfo->mtx);
1497 struct inpcbinfo *pcbinfo,
1513 lck_rw_lock_shared(pcbinfo->mtx);
1518 head = &pcbinfo->hashbase[INP_PCBHASH(faddr.s_addr, lport, fport, pcbinfo->hashmask)];
1537 lck_rw_done(pcbinfo->mtx);
1541 lck_rw_done(pcbinfo->mtx);
1552 head = &pcbinfo->hashbase[INP_PCBHASH(INADDR_ANY, lport, 0, pcbinfo->hashmask)];
1567 lck_rw_done(pcbinfo->mtx);
1571 lck_rw_done(pcbinfo->mtx);
1590 lck_rw_done(pcbinfo->mtx);
1594 lck_rw_done(pcbinfo->mtx);
1599 lck_rw_done(pcbinfo->mtx);
1603 lck_rw_done(pcbinfo->mtx);
1607 lck_rw_done(pcbinfo->mtx);
1615 lck_rw_done(pcbinfo->mtx);
1627 struct inpcbinfo *pcbinfo = inp->inp_pcbinfo;
1632 if (!lck_rw_try_lock_exclusive(pcbinfo->mtx)) {
1635 lck_rw_lock_exclusive(pcbinfo->mtx);
1639 lck_rw_done(pcbinfo->mtx);
1652 inp->hash_element = INP_PCBHASH(hashkey_faddr, inp->inp_lport, inp->inp_fport, pcbinfo->hashmask);
1654 pcbhash = &pcbinfo->hashbase[inp->hash_element];
1656 pcbporthash = &pcbinfo->porthashbase[INP_PCBPORTHASH(inp->inp_lport,
1657 pcbinfo->porthashmask)];
1676 lck_rw_done(pcbinfo->mtx);
1687 lck_rw_done(pcbinfo->mtx);
1719 * Must be called pcbinfo lock is held in exclusive mode.