Symbol: pcb
crypto/openssl/crypto/dh/dh_pmeth.c
273
BN_GENCB *pcb)
crypto/openssl/crypto/dh/dh_pmeth.c
302
pcb);
crypto/openssl/crypto/dh/dh_pmeth.c
310
pcb);
crypto/openssl/crypto/dh/dh_pmeth.c
323
BN_GENCB *pcb = NULL;
crypto/openssl/crypto/dh/dh_pmeth.c
341
pcb = BN_GENCB_new();
crypto/openssl/crypto/dh/dh_pmeth.c
342
if (pcb == NULL)
crypto/openssl/crypto/dh/dh_pmeth.c
344
evp_pkey_set_cb_translate(pcb, ctx);
crypto/openssl/crypto/dh/dh_pmeth.c
350
dh = ffc_params_generate(NULL, dctx, pcb);
crypto/openssl/crypto/dh/dh_pmeth.c
351
BN_GENCB_free(pcb);
crypto/openssl/crypto/dh/dh_pmeth.c
359
BN_GENCB_free(pcb);
crypto/openssl/crypto/dh/dh_pmeth.c
363
dctx->prime_len, dctx->generator, pcb);
crypto/openssl/crypto/dh/dh_pmeth.c
364
BN_GENCB_free(pcb);
crypto/openssl/crypto/dsa/dsa_pmeth.c
211
BN_GENCB *pcb;
crypto/openssl/crypto/dsa/dsa_pmeth.c
215
pcb = BN_GENCB_new();
crypto/openssl/crypto/dsa/dsa_pmeth.c
216
if (pcb == NULL)
crypto/openssl/crypto/dsa/dsa_pmeth.c
218
evp_pkey_set_cb_translate(pcb, ctx);
crypto/openssl/crypto/dsa/dsa_pmeth.c
220
pcb = NULL;
crypto/openssl/crypto/dsa/dsa_pmeth.c
223
BN_GENCB_free(pcb);
crypto/openssl/crypto/dsa/dsa_pmeth.c
231
dctx->qbits, &res, pcb);
crypto/openssl/crypto/dsa/dsa_pmeth.c
232
BN_GENCB_free(pcb);
crypto/openssl/crypto/rsa/rsa_pmeth.c
781
BN_GENCB *pcb;
crypto/openssl/crypto/rsa/rsa_pmeth.c
793
pcb = BN_GENCB_new();
crypto/openssl/crypto/rsa/rsa_pmeth.c
794
if (pcb == NULL) {
crypto/openssl/crypto/rsa/rsa_pmeth.c
798
evp_pkey_set_cb_translate(pcb, ctx);
crypto/openssl/crypto/rsa/rsa_pmeth.c
800
pcb = NULL;
crypto/openssl/crypto/rsa/rsa_pmeth.c
803
rctx->pub_exp, pcb);
crypto/openssl/crypto/rsa/rsa_pmeth.c
804
BN_GENCB_free(pcb);
sys/amd64/acpica/acpi_wakeup.c
104
pcb = &susppcbs[cpu]->sp_pcb;
sys/amd64/acpica/acpi_wakeup.c
105
WAKECODE_FIXUP(wakeup_pcb, struct pcb *, pcb);
sys/amd64/acpica/acpi_wakeup.c
106
WAKECODE_FIXUP(wakeup_gdt, uint16_t, pcb->pcb_gdt.rd_limit);
sys/amd64/acpica/acpi_wakeup.c
107
WAKECODE_FIXUP(wakeup_gdt + 2, uint64_t, pcb->pcb_gdt.rd_base);
sys/amd64/acpica/acpi_wakeup.c
186
struct pcb *pcb;
sys/amd64/acpica/acpi_wakeup.c
206
pcb = &susppcbs[0]->sp_pcb;
sys/amd64/acpica/acpi_wakeup.c
207
if (savectx(pcb)) {
sys/amd64/acpica/acpi_wakeup.c
226
WAKECODE_FIXUP(wakeup_pcb, struct pcb *, pcb);
sys/amd64/acpica/acpi_wakeup.c
227
WAKECODE_FIXUP(wakeup_gdt, uint16_t, pcb->pcb_gdt.rd_limit);
sys/amd64/acpica/acpi_wakeup.c
228
WAKECODE_FIXUP(wakeup_gdt + 2, uint64_t, pcb->pcb_gdt.rd_base);
sys/amd64/acpica/acpi_wakeup.c
243
resumectx(pcb);
sys/amd64/acpica/acpi_wakeup.c
99
struct pcb *pcb;
sys/amd64/amd64/db_trace.c
362
struct pcb *ctx;
sys/amd64/amd64/exec_machdep.c
118
struct pcb *pcb;
sys/amd64/amd64/exec_machdep.c
130
pcb = td->td_pcb;
sys/amd64/amd64/exec_machdep.c
176
update_pcb_bases(pcb);
sys/amd64/amd64/exec_machdep.c
177
sf.sf_uc.uc_mcontext.mc_fsbase = pcb->pcb_fsbase;
sys/amd64/amd64/exec_machdep.c
178
sf.sf_uc.uc_mcontext.mc_gsbase = pcb->pcb_gsbase;
sys/amd64/amd64/exec_machdep.c
246
if ((pcb->pcb_flags & PCB_TLSBASE) != 0)
sys/amd64/amd64/exec_machdep.c
247
pcb->pcb_fsbase = pcb->pcb_tlsbase;
sys/amd64/amd64/exec_machdep.c
265
struct pcb *pcb;
sys/amd64/amd64/exec_machdep.c
275
pcb = td->td_pcb;
sys/amd64/amd64/exec_machdep.c
357
update_pcb_bases(pcb);
sys/amd64/amd64/exec_machdep.c
358
pcb->pcb_fsbase = ucp->uc_mcontext.mc_fsbase;
sys/amd64/amd64/exec_machdep.c
359
pcb->pcb_gsbase = ucp->uc_mcontext.mc_gsbase;
sys/amd64/amd64/exec_machdep.c
386
x86_clear_dbregs(struct pcb *pcb)
sys/amd64/amd64/exec_machdep.c
388
if ((pcb->pcb_flags & PCB_DBREGS) == 0)
sys/amd64/amd64/exec_machdep.c
391
pcb->pcb_dr0 = 0;
sys/amd64/amd64/exec_machdep.c
392
pcb->pcb_dr1 = 0;
sys/amd64/amd64/exec_machdep.c
393
pcb->pcb_dr2 = 0;
sys/amd64/amd64/exec_machdep.c
394
pcb->pcb_dr3 = 0;
sys/amd64/amd64/exec_machdep.c
395
pcb->pcb_dr6 = 0;
sys/amd64/amd64/exec_machdep.c
396
pcb->pcb_dr7 = 0;
sys/amd64/amd64/exec_machdep.c
398
if (pcb == curpcb) {
sys/amd64/amd64/exec_machdep.c
406
clear_pcb_flags(pcb, PCB_DBREGS);
sys/amd64/amd64/exec_machdep.c
416
struct pcb *pcb;
sys/amd64/amd64/exec_machdep.c
420
pcb = td->td_pcb;
sys/amd64/amd64/exec_machdep.c
425
update_pcb_bases(pcb);
sys/amd64/amd64/exec_machdep.c
426
pcb->pcb_fsbase = pcb->pcb_tlsbase = 0;
sys/amd64/amd64/exec_machdep.c
427
pcb->pcb_gsbase = 0;
sys/amd64/amd64/exec_machdep.c
428
clear_pcb_flags(pcb, PCB_32BIT | PCB_TLSBASE);
sys/amd64/amd64/exec_machdep.c
429
pcb->pcb_initial_fpucw = __INITIAL_FPUCW__;
sys/amd64/amd64/exec_machdep.c
445
x86_clear_dbregs(pcb);
sys/amd64/amd64/exec_machdep.c
634
struct pcb *pcb;
sys/amd64/amd64/exec_machdep.c
637
pcb = td->td_pcb;
sys/amd64/amd64/exec_machdep.c
675
update_pcb_bases(pcb);
sys/amd64/amd64/exec_machdep.c
676
mcp->mc_fsbase = pcb->pcb_fsbase;
sys/amd64/amd64/exec_machdep.c
677
mcp->mc_gsbase = pcb->pcb_gsbase;
sys/amd64/amd64/exec_machdep.c
680
mcp->mc_tlsbase = (pcb->pcb_flags & PCB_TLSBASE) != 0 ?
sys/amd64/amd64/exec_machdep.c
681
pcb->pcb_tlsbase : 0;
sys/amd64/amd64/exec_machdep.c
695
struct pcb *pcb;
sys/amd64/amd64/exec_machdep.c
701
pcb = td->td_pcb;
sys/amd64/amd64/exec_machdep.c
753
set_pcb_flags(pcb, PCB_FULL_IRET);
sys/amd64/amd64/exec_machdep.c
755
pcb->pcb_fsbase = mcp->mc_fsbase;
sys/amd64/amd64/exec_machdep.c
756
pcb->pcb_gsbase = mcp->mc_gsbase;
sys/amd64/amd64/exec_machdep.c
759
pcb->pcb_tlsbase = mcp->mc_tlsbase;
sys/amd64/amd64/exec_machdep.c
760
set_pcb_flags(pcb, PCB_TLSBASE);
sys/amd64/amd64/exec_machdep.c
835
struct pcb *pcb;
sys/amd64/amd64/exec_machdep.c
845
pcb = td->td_pcb;
sys/amd64/amd64/exec_machdep.c
846
dbregs->dr[0] = pcb->pcb_dr0;
sys/amd64/amd64/exec_machdep.c
847
dbregs->dr[1] = pcb->pcb_dr1;
sys/amd64/amd64/exec_machdep.c
848
dbregs->dr[2] = pcb->pcb_dr2;
sys/amd64/amd64/exec_machdep.c
849
dbregs->dr[3] = pcb->pcb_dr3;
sys/amd64/amd64/exec_machdep.c
850
dbregs->dr[6] = pcb->pcb_dr6;
sys/amd64/amd64/exec_machdep.c
851
dbregs->dr[7] = pcb->pcb_dr7;
sys/amd64/amd64/exec_machdep.c
869
struct pcb *pcb;
sys/amd64/amd64/exec_machdep.c
898
pcb = td->td_pcb;
sys/amd64/amd64/exec_machdep.c
935
pcb->pcb_dr0 = dbregs->dr[0];
sys/amd64/amd64/exec_machdep.c
936
pcb->pcb_dr1 = dbregs->dr[1];
sys/amd64/amd64/exec_machdep.c
937
pcb->pcb_dr2 = dbregs->dr[2];
sys/amd64/amd64/exec_machdep.c
938
pcb->pcb_dr3 = dbregs->dr[3];
sys/amd64/amd64/exec_machdep.c
939
pcb->pcb_dr6 = dbregs->dr[6];
sys/amd64/amd64/exec_machdep.c
940
pcb->pcb_dr7 = dbregs->dr[7];
sys/amd64/amd64/exec_machdep.c
942
set_pcb_flags(pcb, PCB_DBREGS);
sys/amd64/amd64/fpu.c
1145
struct pcb *pcb;
sys/amd64/amd64/fpu.c
1147
pcb = td->td_pcb;
sys/amd64/amd64/fpu.c
1152
KASSERT((pcb->pcb_flags & PCB_FPUNOSAVE) == 0,
sys/amd64/amd64/fpu.c
1172
set_pcb_flags(pcb, PCB_KERNFPU | PCB_FPUNOSAVE |
sys/amd64/amd64/fpu.c
1181
KASSERT(!PCB_USER_FPU(pcb) || pcb->pcb_save ==
sys/amd64/amd64/fpu.c
1182
get_pcb_user_save_pcb(pcb), ("mangled pcb_save"));
sys/amd64/amd64/fpu.c
1184
if ((pcb->pcb_flags & PCB_FPUINITDONE) != 0)
sys/amd64/amd64/fpu.c
1187
ctx->prev = pcb->pcb_save;
sys/amd64/amd64/fpu.c
1188
pcb->pcb_save = fpu_kern_ctx_savefpu(ctx);
sys/amd64/amd64/fpu.c
1189
set_pcb_flags(pcb, PCB_KERNFPU);
sys/amd64/amd64/fpu.c
1190
clear_pcb_flags(pcb, PCB_FPUINITDONE);
sys/amd64/amd64/fpu.c
1197
struct pcb *pcb;
sys/amd64/amd64/fpu.c
1199
pcb = td->td_pcb;
sys/amd64/amd64/fpu.c
1201
if ((pcb->pcb_flags & PCB_FPUNOSAVE) != 0) {
sys/amd64/amd64/fpu.c
1207
clear_pcb_flags(pcb, PCB_FPUNOSAVE | PCB_FPUINITDONE);
sys/amd64/amd64/fpu.c
1222
pcb->pcb_save = ctx->prev;
sys/amd64/amd64/fpu.c
1225
if (pcb->pcb_save == get_pcb_user_save_pcb(pcb)) {
sys/amd64/amd64/fpu.c
1226
if ((pcb->pcb_flags & PCB_USERFPUINITDONE) != 0) {
sys/amd64/amd64/fpu.c
1227
set_pcb_flags(pcb, PCB_FPUINITDONE);
sys/amd64/amd64/fpu.c
1228
if ((pcb->pcb_flags & PCB_KERNFPU_THR) == 0)
sys/amd64/amd64/fpu.c
1229
clear_pcb_flags(pcb, PCB_KERNFPU);
sys/amd64/amd64/fpu.c
1230
} else if ((pcb->pcb_flags & PCB_KERNFPU_THR) == 0)
sys/amd64/amd64/fpu.c
1231
clear_pcb_flags(pcb, PCB_FPUINITDONE | PCB_KERNFPU);
sys/amd64/amd64/fpu.c
1234
set_pcb_flags(pcb, PCB_FPUINITDONE);
sys/amd64/amd64/fpu.c
1236
clear_pcb_flags(pcb, PCB_FPUINITDONE);
sys/amd64/amd64/fpu.c
1237
KASSERT(!PCB_USER_FPU(pcb), ("unpaired fpu_kern_leave"));
sys/amd64/amd64/fpu.c
735
struct pcb *pcb;
sys/amd64/amd64/fpu.c
744
pcb = td->td_pcb;
sys/amd64/amd64/fpu.c
746
if ((pcb->pcb_flags & PCB_FPUINITDONE) == 0) {
sys/amd64/amd64/fpu.c
757
bcopy(fpu_initialstate, pcb->pcb_save,
sys/amd64/amd64/fpu.c
759
fpurestore(pcb->pcb_save);
sys/amd64/amd64/fpu.c
760
if (pcb->pcb_initial_fpucw != __INITIAL_FPUCW__)
sys/amd64/amd64/fpu.c
761
fldcw(pcb->pcb_initial_fpucw);
sys/amd64/amd64/fpu.c
762
if (PCB_USER_FPU(pcb))
sys/amd64/amd64/fpu.c
763
set_pcb_flags(pcb, PCB_FPUINITDONE |
sys/amd64/amd64/fpu.c
766
set_pcb_flags(pcb, PCB_FPUINITDONE);
sys/amd64/amd64/fpu.c
768
fpurestore(pcb->pcb_save);
sys/amd64/amd64/fpu.c
851
struct pcb *pcb;
sys/amd64/amd64/fpu.c
859
pcb = td->td_pcb;
sys/amd64/amd64/fpu.c
861
if ((pcb->pcb_flags & PCB_USERFPUINITDONE) == 0) {
sys/amd64/amd64/fpu.c
862
bcopy(fpu_initialstate, get_pcb_user_save_pcb(pcb),
sys/amd64/amd64/fpu.c
864
get_pcb_user_save_pcb(pcb)->sv_env.en_cw =
sys/amd64/amd64/fpu.c
865
pcb->pcb_initial_fpucw;
sys/amd64/amd64/fpu.c
870
if (td == PCPU_GET(fpcurthread) && PCB_USER_FPU(pcb)) {
sys/amd64/amd64/fpu.c
871
fpusave(get_pcb_user_save_pcb(pcb));
sys/amd64/amd64/fpu.c
880
sa = (char *)get_pcb_user_save_pcb(pcb);
sys/amd64/amd64/fpu.c
920
struct pcb *pcb;
sys/amd64/amd64/fpu.c
923
pcb = td->td_pcb;
sys/amd64/amd64/fpu.c
924
if (PCB_USER_FPU(pcb))
sys/amd64/amd64/fpu.c
925
set_pcb_flags(pcb,
sys/amd64/amd64/fpu.c
928
set_pcb_flags(pcb, PCB_FPUINITDONE);
sys/amd64/amd64/fpu.c
976
struct pcb *pcb;
sys/amd64/amd64/fpu.c
980
pcb = td->td_pcb;
sys/amd64/amd64/fpu.c
983
if (td == PCPU_GET(fpcurthread) && PCB_USER_FPU(pcb)) {
sys/amd64/amd64/fpu.c
988
set_pcb_flags(pcb, PCB_FPUINITDONE |
sys/amd64/amd64/genassym.c
117
ASSYM(PCB_R15, offsetof(struct pcb, pcb_r15));
sys/amd64/amd64/genassym.c
118
ASSYM(PCB_R14, offsetof(struct pcb, pcb_r14));
sys/amd64/amd64/genassym.c
119
ASSYM(PCB_R13, offsetof(struct pcb, pcb_r13));
sys/amd64/amd64/genassym.c
120
ASSYM(PCB_R12, offsetof(struct pcb, pcb_r12));
sys/amd64/amd64/genassym.c
121
ASSYM(PCB_RBP, offsetof(struct pcb, pcb_rbp));
sys/amd64/amd64/genassym.c
122
ASSYM(PCB_RSP, offsetof(struct pcb, pcb_rsp));
sys/amd64/amd64/genassym.c
123
ASSYM(PCB_RBX, offsetof(struct pcb, pcb_rbx));
sys/amd64/amd64/genassym.c
124
ASSYM(PCB_RIP, offsetof(struct pcb, pcb_rip));
sys/amd64/amd64/genassym.c
125
ASSYM(PCB_FSBASE, offsetof(struct pcb, pcb_fsbase));
sys/amd64/amd64/genassym.c
126
ASSYM(PCB_GSBASE, offsetof(struct pcb, pcb_gsbase));
sys/amd64/amd64/genassym.c
127
ASSYM(PCB_KGSBASE, offsetof(struct pcb, pcb_kgsbase));
sys/amd64/amd64/genassym.c
128
ASSYM(PCB_CR0, offsetof(struct pcb, pcb_cr0));
sys/amd64/amd64/genassym.c
129
ASSYM(PCB_CR2, offsetof(struct pcb, pcb_cr2));
sys/amd64/amd64/genassym.c
130
ASSYM(PCB_CR3, offsetof(struct pcb, pcb_cr3));
sys/amd64/amd64/genassym.c
131
ASSYM(PCB_CR4, offsetof(struct pcb, pcb_cr4));
sys/amd64/amd64/genassym.c
132
ASSYM(PCB_DR0, offsetof(struct pcb, pcb_dr0));
sys/amd64/amd64/genassym.c
133
ASSYM(PCB_DR1, offsetof(struct pcb, pcb_dr1));
sys/amd64/amd64/genassym.c
134
ASSYM(PCB_DR2, offsetof(struct pcb, pcb_dr2));
sys/amd64/amd64/genassym.c
135
ASSYM(PCB_DR3, offsetof(struct pcb, pcb_dr3));
sys/amd64/amd64/genassym.c
136
ASSYM(PCB_DR6, offsetof(struct pcb, pcb_dr6));
sys/amd64/amd64/genassym.c
137
ASSYM(PCB_DR7, offsetof(struct pcb, pcb_dr7));
sys/amd64/amd64/genassym.c
138
ASSYM(PCB_GDT, offsetof(struct pcb, pcb_gdt));
sys/amd64/amd64/genassym.c
139
ASSYM(PCB_IDT, offsetof(struct pcb, pcb_idt));
sys/amd64/amd64/genassym.c
140
ASSYM(PCB_LDT, offsetof(struct pcb, pcb_ldt));
sys/amd64/amd64/genassym.c
141
ASSYM(PCB_TR, offsetof(struct pcb, pcb_tr));
sys/amd64/amd64/genassym.c
142
ASSYM(PCB_FLAGS, offsetof(struct pcb, pcb_flags));
sys/amd64/amd64/genassym.c
143
ASSYM(PCB_ONFAULT, offsetof(struct pcb, pcb_onfault));
sys/amd64/amd64/genassym.c
144
ASSYM(PCB_SAVED_UCR3, offsetof(struct pcb, pcb_saved_ucr3));
sys/amd64/amd64/genassym.c
145
ASSYM(PCB_TSSP, offsetof(struct pcb, pcb_tssp));
sys/amd64/amd64/genassym.c
146
ASSYM(PCB_SAVEFPU, offsetof(struct pcb, pcb_save));
sys/amd64/amd64/genassym.c
147
ASSYM(PCB_EFER, offsetof(struct pcb, pcb_efer));
sys/amd64/amd64/genassym.c
148
ASSYM(PCB_STAR, offsetof(struct pcb, pcb_star));
sys/amd64/amd64/genassym.c
149
ASSYM(PCB_LSTAR, offsetof(struct pcb, pcb_lstar));
sys/amd64/amd64/genassym.c
150
ASSYM(PCB_CSTAR, offsetof(struct pcb, pcb_cstar));
sys/amd64/amd64/genassym.c
151
ASSYM(PCB_SFMASK, offsetof(struct pcb, pcb_sfmask));
sys/amd64/amd64/genassym.c
152
ASSYM(PCB_SIZE, sizeof(struct pcb));
sys/amd64/amd64/machdep.c
1741
makectx(struct trapframe *tf, struct pcb *pcb)
sys/amd64/amd64/machdep.c
1744
pcb->pcb_r12 = tf->tf_r12;
sys/amd64/amd64/machdep.c
1745
pcb->pcb_r13 = tf->tf_r13;
sys/amd64/amd64/machdep.c
1746
pcb->pcb_r14 = tf->tf_r14;
sys/amd64/amd64/machdep.c
1747
pcb->pcb_r15 = tf->tf_r15;
sys/amd64/amd64/machdep.c
1748
pcb->pcb_rbp = tf->tf_rbp;
sys/amd64/amd64/machdep.c
1749
pcb->pcb_rbx = tf->tf_rbx;
sys/amd64/amd64/machdep.c
1750
pcb->pcb_rip = tf->tf_rip;
sys/amd64/amd64/machdep.c
1751
pcb->pcb_rsp = tf->tf_rsp;
sys/amd64/amd64/machdep.c
1767
set_pcb_flags_raw(struct pcb *pcb, const u_int flags)
sys/amd64/amd64/machdep.c
1771
: "=m" (pcb->pcb_flags) : "ir" (flags), "m" (pcb->pcb_flags)
sys/amd64/amd64/machdep.c
1788
set_pcb_flags_fsgsbase(struct pcb *pcb, const u_int flags)
sys/amd64/amd64/machdep.c
1792
if (curpcb == pcb &&
sys/amd64/amd64/machdep.c
1794
(pcb->pcb_flags & PCB_FULL_IRET) == 0) {
sys/amd64/amd64/machdep.c
1796
if ((pcb->pcb_flags & PCB_FULL_IRET) == 0) {
sys/amd64/amd64/machdep.c
1797
pcb->pcb_fsbase = rdfsbase();
sys/amd64/amd64/machdep.c
1798
pcb->pcb_gsbase = rdmsr(MSR_KGSBASE);
sys/amd64/amd64/machdep.c
1800
set_pcb_flags_raw(pcb, flags);
sys/amd64/amd64/machdep.c
1803
set_pcb_flags_raw(pcb, flags);
sys/amd64/amd64/machdep.c
1807
DEFINE_IFUNC(, void, set_pcb_flags, (struct pcb *, const u_int))
sys/amd64/amd64/machdep.c
1815
clear_pcb_flags(struct pcb *pcb, const u_int flags)
sys/amd64/amd64/machdep.c
1819
: "=m" (pcb->pcb_flags) : "ir" (~flags), "m" (pcb->pcb_flags)
sys/amd64/amd64/ptrace_machdep.c
107
struct pcb *pcb;
sys/amd64/amd64/ptrace_machdep.c
113
pcb = td->td_pcb;
sys/amd64/amd64/ptrace_machdep.c
114
reg->r_fsbase = (uint32_t)pcb->pcb_fsbase;
sys/amd64/amd64/ptrace_machdep.c
115
reg->r_gsbase = (uint32_t)pcb->pcb_gsbase;
sys/amd64/amd64/ptrace_machdep.c
126
struct pcb *pcb;
sys/amd64/amd64/ptrace_machdep.c
131
pcb = td->td_pcb;
sys/amd64/amd64/ptrace_machdep.c
132
set_pcb_flags(pcb, PCB_FULL_IRET);
sys/amd64/amd64/ptrace_machdep.c
133
pcb->pcb_fsbase = reg->r_fsbase;
sys/amd64/amd64/ptrace_machdep.c
135
pcb->pcb_gsbase = reg->r_gsbase;
sys/amd64/amd64/ptrace_machdep.c
242
struct pcb *pcb;
sys/amd64/amd64/ptrace_machdep.c
244
pcb = td->td_pcb;
sys/amd64/amd64/ptrace_machdep.c
245
set_pcb_flags(pcb, PCB_FULL_IRET);
sys/amd64/amd64/ptrace_machdep.c
247
pcb->pcb_fsbase = r;
sys/amd64/amd64/ptrace_machdep.c
250
pcb->pcb_gsbase = r;
sys/amd64/amd64/ptrace_machdep.c
263
struct pcb *pcb;
sys/amd64/amd64/ptrace_machdep.c
295
pcb = td->td_pcb;
sys/amd64/amd64/ptrace_machdep.c
297
update_pcb_bases(pcb);
sys/amd64/amd64/ptrace_machdep.c
298
r = req == PT_GETFSBASE ? pcb->pcb_fsbase : pcb->pcb_gsbase;
sys/amd64/amd64/ptrace_machdep.c
327
struct pcb *pcb;
sys/amd64/amd64/ptrace_machdep.c
352
pcb = td->td_pcb;
sys/amd64/amd64/ptrace_machdep.c
354
update_pcb_bases(pcb);
sys/amd64/amd64/ptrace_machdep.c
355
r = req == PT_GETFSBASE ? &pcb->pcb_fsbase : &pcb->pcb_gsbase;
sys/amd64/amd64/ptrace_machdep.c
372
pcb = td->td_pcb;
sys/amd64/amd64/ptrace_machdep.c
373
if ((pcb->pcb_flags & PCB_TLSBASE) != 0)
sys/amd64/amd64/ptrace_machdep.c
374
error = copyout(&pcb->pcb_tlsbase, addr, sizeof(*r));
sys/amd64/amd64/ptrace_machdep.c
380
pcb = td->td_pcb;
sys/amd64/amd64/ptrace_machdep.c
388
pcb->pcb_tlsbase = rv;
sys/amd64/amd64/ptrace_machdep.c
389
set_pcb_flags(pcb, PCB_TLSBASE);
sys/amd64/amd64/ptrace_machdep.c
59
struct pcb *pcb;
sys/amd64/amd64/ptrace_machdep.c
65
pcb = td->td_pcb;
sys/amd64/amd64/ptrace_machdep.c
66
reg->r_fsbase = pcb->pcb_fsbase;
sys/amd64/amd64/ptrace_machdep.c
67
reg->r_gsbase = pcb->pcb_gsbase;
sys/amd64/amd64/ptrace_machdep.c
78
struct pcb *pcb;
sys/amd64/amd64/ptrace_machdep.c
83
pcb = td->td_pcb;
sys/amd64/amd64/ptrace_machdep.c
84
set_pcb_flags(pcb, PCB_FULL_IRET);
sys/amd64/amd64/ptrace_machdep.c
85
pcb->pcb_fsbase = reg->r_fsbase;
sys/amd64/amd64/ptrace_machdep.c
87
pcb->pcb_gsbase = reg->r_gsbase;
sys/amd64/amd64/sys_machdep.c
174
struct pcb *pcb;
sys/amd64/amd64/sys_machdep.c
228
pcb = td->td_pcb;
sys/amd64/amd64/sys_machdep.c
285
update_pcb_bases(pcb);
sys/amd64/amd64/sys_machdep.c
286
i386base = pcb->pcb_fsbase;
sys/amd64/amd64/sys_machdep.c
292
set_pcb_flags(pcb, PCB_FULL_IRET);
sys/amd64/amd64/sys_machdep.c
293
pcb->pcb_fsbase = i386base;
sys/amd64/amd64/sys_machdep.c
299
update_pcb_bases(pcb);
sys/amd64/amd64/sys_machdep.c
300
i386base = pcb->pcb_gsbase;
sys/amd64/amd64/sys_machdep.c
306
set_pcb_flags(pcb, PCB_FULL_IRET);
sys/amd64/amd64/sys_machdep.c
307
pcb->pcb_gsbase = i386base;
sys/amd64/amd64/sys_machdep.c
313
update_pcb_bases(pcb);
sys/amd64/amd64/sys_machdep.c
314
error = copyout(&pcb->pcb_fsbase, uap->parms,
sys/amd64/amd64/sys_machdep.c
315
sizeof(pcb->pcb_fsbase));
sys/amd64/amd64/sys_machdep.c
318
if ((pcb->pcb_flags & PCB_TLSBASE) == 0) {
sys/amd64/amd64/sys_machdep.c
321
error = copyout(&pcb->pcb_tlsbase, uap->parms,
sys/amd64/amd64/sys_machdep.c
322
sizeof(pcb->pcb_tlsbase));
sys/amd64/amd64/sys_machdep.c
331
set_pcb_flags(pcb, PCB_FULL_IRET);
sys/amd64/amd64/sys_machdep.c
332
pcb->pcb_fsbase = a64base;
sys/amd64/amd64/sys_machdep.c
335
pcb->pcb_tlsbase = a64base;
sys/amd64/amd64/sys_machdep.c
336
set_pcb_flags(pcb, PCB_TLSBASE);
sys/amd64/amd64/sys_machdep.c
344
update_pcb_bases(pcb);
sys/amd64/amd64/sys_machdep.c
345
error = copyout(&pcb->pcb_gsbase, uap->parms,
sys/amd64/amd64/sys_machdep.c
346
sizeof(pcb->pcb_gsbase));
sys/amd64/amd64/sys_machdep.c
353
set_pcb_flags(pcb, PCB_FULL_IRET);
sys/amd64/amd64/sys_machdep.c
354
pcb->pcb_gsbase = a64base;
sys/amd64/amd64/sys_machdep.c
400
clear_pcb_flags(pcb, PCB_TLSBASE);
sys/amd64/amd64/sys_machdep.c
401
update_pcb_bases(pcb);
sys/amd64/amd64/sys_machdep.c
417
struct pcb *pcb;
sys/amd64/amd64/sys_machdep.c
435
pcb = td->td_pcb;
sys/amd64/amd64/sys_machdep.c
436
if (pcb->pcb_tssp == NULL) {
sys/amd64/amd64/sys_machdep.c
446
pcb->pcb_tssp = tssp;
sys/amd64/amd64/sys_machdep.c
455
iomap = (char *)&pcb->pcb_tssp[1];
sys/amd64/amd64/trap.c
185
struct pcb *pcb;
sys/amd64/amd64/trap.c
191
pcb = td->td_pcb;
sys/amd64/amd64/trap.c
194
if ((pcb->pcb_flags & PCB_FULL_IRET) == 0) {
sys/amd64/amd64/trap.c
198
fsbase = pcb->pcb_fsbase;
sys/amd64/amd64/trap.c
199
gsbase = pcb->pcb_gsbase;
sys/amd64/amd64/trap.c
203
fsbase = pcb->pcb_fsbase;
sys/amd64/amd64/trap.c
204
gsbase = pcb->pcb_gsbase;
sys/amd64/amd64/vm_machdep.c
102
struct pcb *
sys/amd64/amd64/vm_machdep.c
110
get_pcb_user_save_pcb(struct pcb *pcb)
sys/amd64/amd64/vm_machdep.c
114
td = __containerof(pcb, struct thread, td_md.md_pcb);
sys/amd64/amd64/vm_machdep.c
140
struct pcb *pcb2;
sys/amd64/amd64/vm_machdep.c
224
struct pcb *pcb2;
sys/amd64/amd64/vm_machdep.c
344
struct pcb *pcb;
sys/amd64/amd64/vm_machdep.c
351
pcb = td->td_pcb;
sys/amd64/amd64/vm_machdep.c
354
if (pcb->pcb_flags & PCB_DBREGS) {
sys/amd64/amd64/vm_machdep.c
356
clear_pcb_flags(pcb, PCB_DBREGS);
sys/amd64/amd64/vm_machdep.c
363
struct pcb *pcb;
sys/amd64/amd64/vm_machdep.c
365
pcb = td->td_pcb;
sys/amd64/amd64/vm_machdep.c
370
if (pcb->pcb_tssp != NULL) {
sys/amd64/amd64/vm_machdep.c
371
pmap_pti_remove_kva((vm_offset_t)pcb->pcb_tssp,
sys/amd64/amd64/vm_machdep.c
372
(vm_offset_t)pcb->pcb_tssp + ctob(IOPAGES + 1));
sys/amd64/amd64/vm_machdep.c
373
kmem_free(pcb->pcb_tssp, ctob(IOPAGES + 1));
sys/amd64/amd64/vm_machdep.c
374
pcb->pcb_tssp = NULL;
sys/amd64/amd64/vm_machdep.c
381
struct pcb *pcb;
sys/amd64/amd64/vm_machdep.c
385
td->td_pcb = pcb = get_pcb_td(td);
sys/amd64/amd64/vm_machdep.c
388
pcb->pcb_save = get_pcb_user_save_pcb(pcb);
sys/amd64/amd64/vm_machdep.c
390
xhdr = (struct xstate_hdr *)(pcb->pcb_save + 1);
sys/amd64/amd64/vm_machdep.c
661
struct pcb *pcb;
sys/amd64/amd64/vm_machdep.c
666
pcb = td->td_pcb;
sys/amd64/amd64/vm_machdep.c
667
set_pcb_flags(pcb, PCB_FULL_IRET | ((thr_flags &
sys/amd64/amd64/vm_machdep.c
671
pcb->pcb_gsbase = (register_t)tls_base;
sys/amd64/amd64/vm_machdep.c
675
pcb->pcb_fsbase = pcb->pcb_tlsbase = (register_t)tls_base;
sys/amd64/ia32/ia32_reg.c
271
struct pcb *pcb;
sys/amd64/ia32/ia32_reg.c
277
pcb = td->td_pcb;
sys/amd64/ia32/ia32_reg.c
279
update_pcb_bases(pcb);
sys/amd64/ia32/ia32_reg.c
280
reg->r_fsbase = pcb->pcb_fsbase;
sys/amd64/ia32/ia32_reg.c
281
reg->r_gsbase = pcb->pcb_gsbase;
sys/amd64/ia32/ia32_reg.c
292
struct pcb *pcb;
sys/amd64/ia32/ia32_reg.c
297
pcb = td->td_pcb;
sys/amd64/ia32/ia32_reg.c
298
set_pcb_flags(pcb, PCB_FULL_IRET);
sys/amd64/ia32/ia32_reg.c
299
pcb->pcb_fsbase = reg->r_fsbase;
sys/amd64/ia32/ia32_reg.c
301
pcb->pcb_gsbase = reg->r_gsbase;
sys/amd64/ia32/ia32_signal.c
156
struct pcb *pcb;
sys/amd64/ia32/ia32_signal.c
159
pcb = td->td_pcb;
sys/amd64/ia32/ia32_signal.c
192
mcp->mc_fsbase = pcb->pcb_fsbase;
sys/amd64/ia32/ia32_signal.c
193
mcp->mc_gsbase = pcb->pcb_gsbase;
sys/amd64/ia32/ia32_signal.c
953
struct pcb *pcb;
sys/amd64/ia32/ia32_signal.c
957
pcb = td->td_pcb;
sys/amd64/ia32/ia32_signal.c
965
pcb->pcb_fsbase = 0;
sys/amd64/ia32/ia32_signal.c
966
pcb->pcb_gsbase = 0;
sys/amd64/ia32/ia32_signal.c
967
pcb->pcb_initial_fpucw = __INITIAL_FPUCW_I386__;
sys/amd64/ia32/ia32_signal.c
983
x86_clear_dbregs(pcb);
sys/amd64/ia32/ia32_signal.c
988
set_pcb_flags(pcb, PCB_32BIT | PCB_FULL_IRET);
sys/amd64/ia32/ia32_signal.c
989
clear_pcb_flags(pcb, PCB_TLSBASE);
sys/amd64/include/fpu.h
49
#define PCB_USER_FPU(pcb) (((pcb)->pcb_flags & PCB_KERNFPU) == 0)
sys/amd64/include/md_var.h
99
struct savefpu *get_pcb_user_save_pcb(struct pcb *pcb);
sys/amd64/include/pcb.h
114
struct pcb sp_pcb;
sys/amd64/include/pcb.h
128
void clear_pcb_flags(struct pcb *pcb, const u_int flags);
sys/amd64/include/pcb.h
129
void makectx(struct trapframe *, struct pcb *);
sys/amd64/include/pcb.h
130
void set_pcb_flags(struct pcb *pcb, const u_int flags);
sys/amd64/include/pcb.h
131
void set_pcb_flags_raw(struct pcb *pcb, const u_int flags);
sys/amd64/include/pcb.h
132
int savectx(struct pcb *) __returns_twice;
sys/amd64/include/pcb.h
133
void resumectx(struct pcb *);
sys/amd64/include/pcb.h
136
#define update_pcb_bases(pcb) set_pcb_flags((pcb), PCB_FULL_IRET)
sys/amd64/include/proc.h
77
struct pcb md_pcb;
sys/amd64/linux/linux_machdep.c
115
struct pcb *pcb;
sys/amd64/linux/linux_machdep.c
118
pcb = td->td_pcb;
sys/amd64/linux/linux_machdep.c
124
update_pcb_bases(pcb);
sys/amd64/linux/linux_machdep.c
125
pcb->pcb_gsbase = args->addr;
sys/amd64/linux/linux_machdep.c
133
update_pcb_bases(pcb);
sys/amd64/linux/linux_machdep.c
134
pcb->pcb_fsbase = args->addr;
sys/amd64/linux/linux_machdep.c
141
error = copyout(&pcb->pcb_fsbase, PTRIN(args->addr),
sys/amd64/linux/linux_machdep.c
145
error = copyout(&pcb->pcb_gsbase, PTRIN(args->addr),
sys/amd64/linux/linux_machdep.c
162
struct pcb *pcb;
sys/amd64/linux/linux_machdep.c
167
pcb = td->td_pcb;
sys/amd64/linux/linux_machdep.c
168
update_pcb_bases(pcb);
sys/amd64/linux/linux_machdep.c
169
pcb->pcb_fsbase = (register_t)desc;
sys/amd64/linux/linux_machdep.c
299
struct pcb *pcb;
sys/amd64/linux/linux_machdep.c
302
pcb = td->td_pcb;
sys/amd64/linux/linux_machdep.c
304
update_pcb_bases(pcb);
sys/amd64/linux/linux_machdep.c
306
l_regset->fs_base = pcb->pcb_fsbase;
sys/amd64/linux/linux_machdep.c
307
l_regset->gs_base = pcb->pcb_gsbase;
sys/amd64/linux/linux_sysvec.c
239
struct pcb *pcb;
sys/amd64/linux/linux_sysvec.c
243
pcb = td->td_pcb;
sys/amd64/linux/linux_sysvec.c
248
pcb->pcb_fsbase = 0;
sys/amd64/linux/linux_sysvec.c
249
pcb->pcb_gsbase = 0;
sys/amd64/linux/linux_sysvec.c
250
clear_pcb_flags(pcb, PCB_32BIT | PCB_TLSBASE);
sys/amd64/linux/linux_sysvec.c
251
pcb->pcb_initial_fpucw = __LINUX_NPXCW__;
sys/amd64/linux/linux_sysvec.c
252
set_pcb_flags(pcb, PCB_FULL_IRET);
sys/amd64/linux/linux_sysvec.c
267
x86_clear_dbregs(pcb);
sys/amd64/linux32/linux32_machdep.c
272
struct pcb *pcb;
sys/amd64/linux32/linux32_machdep.c
285
pcb = td->td_pcb;
sys/amd64/linux32/linux32_machdep.c
286
update_pcb_bases(pcb);
sys/amd64/linux32/linux32_machdep.c
287
pcb->pcb_gsbase = (register_t)info.base_addr;
sys/amd64/linux32/linux32_machdep.c
470
struct pcb *pcb;
sys/amd64/linux32/linux32_machdep.c
521
pcb = td->td_pcb;
sys/amd64/linux32/linux32_machdep.c
522
update_pcb_bases(pcb);
sys/amd64/linux32/linux32_machdep.c
523
pcb->pcb_gsbase = (register_t)info.base_addr;
sys/amd64/linux32/linux32_sysvec.c
574
struct pcb *pcb = td->td_pcb;
sys/amd64/linux32/linux32_sysvec.c
578
pcb = td->td_pcb;
sys/amd64/linux32/linux32_sysvec.c
584
set_pcb_flags(pcb, PCB_32BIT | PCB_FULL_IRET);
sys/amd64/linux32/linux32_sysvec.c
585
clear_pcb_flags(pcb, PCB_TLSBASE);
sys/amd64/linux32/linux32_sysvec.c
590
pcb->pcb_fsbase = 0;
sys/amd64/linux32/linux32_sysvec.c
591
pcb->pcb_gsbase = 0;
sys/amd64/linux32/linux32_sysvec.c
593
pcb->pcb_initial_fpucw = __LINUX_NPXCW__;
sys/amd64/linux32/linux32_sysvec.c
609
x86_clear_dbregs(pcb);
sys/amd64/vmm/vmm.c
1128
struct pcb *pcb;
sys/amd64/vmm/vmm.c
1155
pcb = PCPU_GET(curpcb);
sys/amd64/vmm/vmm.c
1156
set_pcb_flags(pcb, PCB_FULL_IRET);
sys/arm/arm/db_trace.c
139
struct pcb *ctx;
sys/arm/arm/exec_machdep.c
103
pcb = td->td_pcb;
sys/arm/arm/exec_machdep.c
106
vfp_store(&pcb->pcb_vfpstate, false);
sys/arm/arm/exec_machdep.c
109
KASSERT(pcb->pcb_vfpsaved == &pcb->pcb_vfpstate,
sys/arm/arm/exec_machdep.c
113
memcpy(vfp->mcv_reg, pcb->pcb_vfpstate.reg,
sys/arm/arm/exec_machdep.c
115
vfp->mcv_fpscr = pcb->pcb_vfpstate.fpscr;
sys/arm/arm/exec_machdep.c
125
struct pcb *pcb;
sys/arm/arm/exec_machdep.c
127
pcb = td->td_pcb;
sys/arm/arm/exec_machdep.c
133
KASSERT(pcb->pcb_vfpsaved == &pcb->pcb_vfpstate,
sys/arm/arm/exec_machdep.c
135
memcpy(pcb->pcb_vfpstate.reg, vfp->mcv_reg,
sys/arm/arm/exec_machdep.c
136
sizeof(pcb->pcb_vfpstate.reg));
sys/arm/arm/exec_machdep.c
137
pcb->pcb_vfpstate.fpscr = vfp->mcv_fpscr;
sys/arm/arm/exec_machdep.c
98
struct pcb *pcb;
sys/arm/arm/genassym.c
103
ASSYM(PCB_VFPSTATE, offsetof(struct pcb, pcb_vfpstate));
sys/arm/arm/genassym.c
62
ASSYM(PCB_ONFAULT, offsetof(struct pcb, pcb_onfault));
sys/arm/arm/genassym.c
63
ASSYM(PCB_PAGEDIR, offsetof(struct pcb, pcb_pagedir));
sys/arm/arm/genassym.c
64
ASSYM(PCB_R4, offsetof(struct pcb, pcb_regs.sf_r4));
sys/arm/arm/genassym.c
65
ASSYM(PCB_R5, offsetof(struct pcb, pcb_regs.sf_r5));
sys/arm/arm/genassym.c
66
ASSYM(PCB_R6, offsetof(struct pcb, pcb_regs.sf_r6));
sys/arm/arm/genassym.c
67
ASSYM(PCB_R7, offsetof(struct pcb, pcb_regs.sf_r7));
sys/arm/arm/genassym.c
68
ASSYM(PCB_R8, offsetof(struct pcb, pcb_regs.sf_r8));
sys/arm/arm/genassym.c
69
ASSYM(PCB_R9, offsetof(struct pcb, pcb_regs.sf_r9));
sys/arm/arm/genassym.c
70
ASSYM(PCB_R10, offsetof(struct pcb, pcb_regs.sf_r10));
sys/arm/arm/genassym.c
71
ASSYM(PCB_R11, offsetof(struct pcb, pcb_regs.sf_r11));
sys/arm/arm/genassym.c
72
ASSYM(PCB_R12, offsetof(struct pcb, pcb_regs.sf_r12));
sys/arm/arm/genassym.c
73
ASSYM(PCB_SP, offsetof(struct pcb, pcb_regs.sf_sp));
sys/arm/arm/genassym.c
74
ASSYM(PCB_LR, offsetof(struct pcb, pcb_regs.sf_lr));
sys/arm/arm/genassym.c
75
ASSYM(PCB_PC, offsetof(struct pcb, pcb_regs.sf_pc));
sys/arm/arm/genassym.c
76
ASSYM(PCB_TPIDRURW, offsetof(struct pcb, pcb_regs.sf_tpidrurw));
sys/arm/arm/machdep.c
185
struct pcb *pcb = thread0.td_pcb;
sys/arm/arm/machdep.c
208
pcb->pcb_regs.sf_sp = (u_int)thread0.td_kstack +
sys/arm/arm/machdep.c
210
pmap_set_pcb_pagedir(kernel_pmap, pcb);
sys/arm/arm/machdep.c
347
makectx(struct trapframe *tf, struct pcb *pcb)
sys/arm/arm/machdep.c
349
pcb->pcb_regs.sf_r4 = tf->tf_r4;
sys/arm/arm/machdep.c
350
pcb->pcb_regs.sf_r5 = tf->tf_r5;
sys/arm/arm/machdep.c
351
pcb->pcb_regs.sf_r6 = tf->tf_r6;
sys/arm/arm/machdep.c
352
pcb->pcb_regs.sf_r7 = tf->tf_r7;
sys/arm/arm/machdep.c
353
pcb->pcb_regs.sf_r8 = tf->tf_r8;
sys/arm/arm/machdep.c
354
pcb->pcb_regs.sf_r9 = tf->tf_r9;
sys/arm/arm/machdep.c
355
pcb->pcb_regs.sf_r10 = tf->tf_r10;
sys/arm/arm/machdep.c
356
pcb->pcb_regs.sf_r11 = tf->tf_r11;
sys/arm/arm/machdep.c
357
pcb->pcb_regs.sf_r12 = tf->tf_r12;
sys/arm/arm/machdep.c
358
pcb->pcb_regs.sf_pc = tf->tf_pc;
sys/arm/arm/machdep.c
359
pcb->pcb_regs.sf_lr = tf->tf_usr_lr;
sys/arm/arm/machdep.c
360
pcb->pcb_regs.sf_sp = tf->tf_usr_sp;
sys/arm/arm/machdep.c
381
thread0.td_pcb = (struct pcb *)(thread0.td_kstack +
sys/arm/arm/machdep_kdb.c
107
struct pcb *pcb;
sys/arm/arm/machdep_kdb.c
109
pcb = td->td_pcb;
sys/arm/arm/machdep_kdb.c
110
if ((pcb->pcb_fpflags & PCB_FP_STARTED) != 0) {
sys/arm/arm/machdep_kdb.c
116
vfp_save_state(td, pcb);
sys/arm/arm/machdep_kdb.c
118
KASSERT(pcb->pcb_vfpsaved == &pcb->pcb_vfpstate,
sys/arm/arm/machdep_kdb.c
120
memcpy(regs->fpr_r, pcb->pcb_vfpstate.reg,
sys/arm/arm/machdep_kdb.c
122
regs->fpr_fpscr = pcb->pcb_vfpstate.fpscr;
sys/arm/arm/machdep_kdb.c
147
struct pcb *pcb;
sys/arm/arm/machdep_kdb.c
149
pcb = td->td_pcb;
sys/arm/arm/machdep_kdb.c
150
KASSERT(pcb->pcb_vfpsaved == &pcb->pcb_vfpstate,
sys/arm/arm/machdep_kdb.c
152
memcpy(pcb->pcb_vfpstate.reg, regs->fpr_r, sizeof(regs->fpr_r));
sys/arm/arm/machdep_kdb.c
153
pcb->pcb_vfpstate.fpscr = regs->fpr_fpscr;
sys/arm/arm/pmap-v6.c
6309
pmap_set_pcb_pagedir(pmap_t pmap, struct pcb *pcb)
sys/arm/arm/pmap-v6.c
6312
pcb->pcb_pagedir = pmap_ttb_get(pmap);
sys/arm/arm/trap-v6.c
280
struct pcb *pcb;
sys/arm/arm/trap-v6.c
435
pcb = td->td_pcb;
sys/arm/arm/trap-v6.c
436
if (__predict_false(pcb->pcb_onfault == cachebailout)) {
sys/arm/arm/trap-v6.c
438
tf->tf_pc = (register_t)pcb->pcb_onfault;
sys/arm/arm/trap-v6.c
475
pcb->pcb_onfault == NULL)) {
sys/arm/arm/trap-v6.c
486
onfault = pcb->pcb_onfault;
sys/arm/arm/trap-v6.c
487
pcb->pcb_onfault = NULL;
sys/arm/arm/trap-v6.c
496
pcb->pcb_onfault = onfault;
sys/arm/arm/trap-v6.c
504
pcb->pcb_onfault != NULL) {
sys/arm/arm/trap-v6.c
506
tf->tf_pc = (int)pcb->pcb_onfault;
sys/arm/arm/vfp.c
209
struct pcb *curpcb;
sys/arm/arm/vfp.c
282
struct pcb *newpcb;
sys/arm/arm/vfp.c
387
vfp_save_state(struct thread *td, struct pcb *pcb)
sys/arm/arm/vfp.c
391
KASSERT(pcb != NULL, ("NULL vfp pcb"));
sys/arm/arm/vfp.c
392
KASSERT(td == NULL || td->td_pcb == pcb, ("Invalid vfp pcb"));
sys/arm/arm/vfp.c
399
if (pcb->pcb_vfpsaved == NULL)
sys/arm/arm/vfp.c
400
pcb->pcb_vfpsaved = &pcb->pcb_vfpstate;
sys/arm/arm/vfp.c
415
vfp_store(pcb->pcb_vfpsaved, true);
sys/arm/arm/vfp.c
438
struct pcb *pcb;
sys/arm/arm/vfp.c
440
pcb = td->td_pcb;
sys/arm/arm/vfp.c
445
KASSERT((pcb->pcb_fpflags & PCB_FP_NOSAVE) == 0,
sys/arm/arm/vfp.c
451
vfp_save_state(curthread, pcb);
sys/arm/arm/vfp.c
456
pcb->pcb_fpflags |= PCB_FP_KERN | PCB_FP_NOSAVE |
sys/arm/arm/vfp.c
469
KASSERT((pcb->pcb_fpflags & PCB_FP_KERN) != 0 ||
sys/arm/arm/vfp.c
470
pcb->pcb_vfpsaved == &pcb->pcb_vfpstate,
sys/arm/arm/vfp.c
471
("Mangled pcb_vfpsaved %x %p %p", pcb->pcb_fpflags, pcb->pcb_vfpsaved,
sys/arm/arm/vfp.c
472
&pcb->pcb_vfpstate));
sys/arm/arm/vfp.c
474
vfp_save_state(curthread, pcb);
sys/arm/arm/vfp.c
475
ctx->prev = pcb->pcb_vfpsaved;
sys/arm/arm/vfp.c
476
pcb->pcb_vfpsaved = &ctx->state;
sys/arm/arm/vfp.c
477
pcb->pcb_fpflags |= PCB_FP_KERN;
sys/arm/arm/vfp.c
478
pcb->pcb_fpflags &= ~PCB_FP_STARTED;
sys/arm/arm/vfp.c
486
struct pcb *pcb;
sys/arm/arm/vfp.c
488
pcb = td->td_pcb;
sys/arm/arm/vfp.c
490
if ((pcb->pcb_fpflags & PCB_FP_NOSAVE) != 0) {
sys/arm/arm/vfp.c
497
pcb->pcb_fpflags &= ~(PCB_FP_NOSAVE | PCB_FP_STARTED);
sys/arm/arm/vfp.c
511
pcb->pcb_fpflags &= ~PCB_FP_STARTED;
sys/arm/arm/vfp.c
512
pcb->pcb_vfpsaved = ctx->prev;
sys/arm/arm/vfp.c
515
if (pcb->pcb_vfpsaved == &pcb->pcb_vfpstate) {
sys/arm/arm/vfp.c
516
pcb->pcb_fpflags &= ~PCB_FP_KERN;
sys/arm/arm/vfp.c
518
KASSERT((pcb->pcb_fpflags & PCB_FP_KERN) != 0,
sys/arm/arm/vfp.c
528
struct pcb *pcb = curthread->td_pcb;
sys/arm/arm/vfp.c
532
KASSERT(pcb->pcb_vfpsaved == &pcb->pcb_vfpstate,
sys/arm/arm/vfp.c
534
KASSERT((pcb->pcb_fpflags & PCB_FP_KERN) == 0,
sys/arm/arm/vfp.c
536
pcb->pcb_fpflags |= PCB_FP_KERN;
sys/arm/arm/vfp.c
543
struct pcb *curpcb;
sys/arm/arm/vm_machdep.c
101
pcb2 = (struct pcb *)
sys/arm/arm/vm_machdep.c
192
bcopy(td0->td_pcb, td->td_pcb, sizeof(struct pcb));
sys/arm/arm/vm_machdep.c
248
td->td_pcb = (struct pcb *)(td->td_kstack + td->td_kstack_pages *
sys/arm/arm/vm_machdep.c
93
struct pcb *pcb2;
sys/arm/include/pcb.h
85
void makectx(struct trapframe *tf, struct pcb *pcb);
sys/arm/include/pcb.h
89
void savectx(struct pcb *) __returns_twice;
sys/arm/include/pcpu.h
73
struct pcb;
sys/arm/include/pmap.h
178
struct pcb;
sys/arm/include/pmap.h
179
void pmap_set_pcb_pagedir(pmap_t, struct pcb *);
sys/arm/include/stack.h
71
(total) = td->td_kstack_pages * PAGE_SIZE - sizeof(struct pcb); \
sys/arm/include/stack.h
80
sizeof(struct pcb));
sys/arm/include/vfp.h
163
void vfp_save_state(struct thread *, struct pcb *);
sys/arm64/arm64/db_trace.c
148
struct pcb *ctx;
sys/arm64/arm64/elf32_machdep.c
279
struct pcb *pcb = td->td_pcb;
sys/arm64/arm64/elf32_machdep.c
299
vfp_reset_state(td, pcb);
sys/arm64/arm64/elf32_machdep.c
305
bzero(&pcb->pcb_dbg_regs, sizeof(pcb->pcb_dbg_regs));
sys/arm64/arm64/exec_machdep.c
155
struct pcb *pcb;
sys/arm64/arm64/exec_machdep.c
157
pcb = td->td_pcb;
sys/arm64/arm64/exec_machdep.c
158
if ((pcb->pcb_fpflags & PCB_FP_STARTED) != 0) {
sys/arm64/arm64/exec_machdep.c
164
vfp_save_state(td, pcb);
sys/arm64/arm64/exec_machdep.c
167
KASSERT(pcb->pcb_fpusaved == &pcb->pcb_fpustate,
sys/arm64/arm64/exec_machdep.c
169
memcpy(regs->fp_q, pcb->pcb_fpustate.vfp_regs,
sys/arm64/arm64/exec_machdep.c
171
regs->fp_cr = pcb->pcb_fpustate.vfp_fpcr;
sys/arm64/arm64/exec_machdep.c
172
regs->fp_sr = pcb->pcb_fpustate.vfp_fpsr;
sys/arm64/arm64/exec_machdep.c
183
struct pcb *pcb;
sys/arm64/arm64/exec_machdep.c
185
pcb = td->td_pcb;
sys/arm64/arm64/exec_machdep.c
186
KASSERT(pcb->pcb_fpusaved == &pcb->pcb_fpustate,
sys/arm64/arm64/exec_machdep.c
188
memcpy(pcb->pcb_fpustate.vfp_regs, regs->fp_q, sizeof(regs->fp_q));
sys/arm64/arm64/exec_machdep.c
189
pcb->pcb_fpustate.vfp_fpcr = regs->fp_cr;
sys/arm64/arm64/exec_machdep.c
190
pcb->pcb_fpustate.vfp_fpsr = regs->fp_sr;
sys/arm64/arm64/exec_machdep.c
418
struct pcb *pcb = td->td_pcb;
sys/arm64/arm64/exec_machdep.c
434
vfp_reset_state(td, pcb);
sys/arm64/arm64/exec_machdep.c
440
bzero(&pcb->pcb_dbg_regs, sizeof(pcb->pcb_dbg_regs));
sys/arm64/arm64/exec_machdep.c
511
struct pcb *pcb;
sys/arm64/arm64/exec_machdep.c
560
pcb = td->td_pcb;
sys/arm64/arm64/exec_machdep.c
585
if (pcb->pcb_svesaved == NULL)
sys/arm64/arm64/exec_machdep.c
595
memset(pcb->pcb_svesaved, 0,
sys/arm64/arm64/exec_machdep.c
600
pcb->pcb_svesaved, buf_size) != 0)
sys/arm64/arm64/exec_machdep.c
603
pcb->pcb_fpflags |= PCB_FP_SVEVALID;
sys/arm64/arm64/exec_machdep.c
628
struct pcb *curpcb;
sys/arm64/arm64/exec_machdep.c
658
struct pcb *curpcb;
sys/arm64/arm64/exec_machdep.c
734
struct pcb *pcb;
sys/arm64/arm64/exec_machdep.c
738
pcb = td->td_pcb;
sys/arm64/arm64/exec_machdep.c
740
if (pcb->pcb_svesaved == NULL)
sys/arm64/arm64/exec_machdep.c
743
MPASS(pcb->pcb_svesaved != NULL);
sys/arm64/arm64/exec_machdep.c
755
ctx.sve_vector_len = pcb->pcb_sve_len;
sys/arm64/arm64/exec_machdep.c
761
if (copyout(pcb->pcb_svesaved, (void *)(ctx_addr + sizeof(ctx)),
sys/arm64/arm64/freebsd32_machdep.c
133
struct pcb *pcb;
sys/arm64/arm64/freebsd32_machdep.c
141
pcb = td->td_pcb;
sys/arm64/arm64/freebsd32_machdep.c
143
if ((pcb->pcb_fpflags & PCB_FP_STARTED) != 0) {
sys/arm64/arm64/freebsd32_machdep.c
149
vfp_save_state(td, pcb);
sys/arm64/arm64/freebsd32_machdep.c
151
KASSERT(pcb->pcb_fpusaved == &pcb->pcb_fpustate,
sys/arm64/arm64/freebsd32_machdep.c
153
KASSERT((pcb->pcb_fpflags & ~PCB_FP_USERMASK) == 0,
sys/arm64/arm64/freebsd32_machdep.c
156
uint64_t *tmpreg = (uint64_t *)&pcb->pcb_fpustate.vfp_regs[i];
sys/arm64/arm64/freebsd32_machdep.c
161
mcp->mcv_fpscr = VFP_FPSCR_FROM_SRCR(pcb->pcb_fpustate.vfp_fpcr,
sys/arm64/arm64/freebsd32_machdep.c
162
pcb->pcb_fpustate.vfp_fpsr);
sys/arm64/arm64/freebsd32_machdep.c
169
struct pcb *pcb;
sys/arm64/arm64/freebsd32_machdep.c
173
pcb = td->td_pcb;
sys/arm64/arm64/freebsd32_machdep.c
177
uint64_t *tmpreg = (uint64_t *)&pcb->pcb_fpustate.vfp_regs[i];
sys/arm64/arm64/freebsd32_machdep.c
182
pcb->pcb_fpustate.vfp_fpsr = VFP_FPSR_FROM_FPSCR(mcp->mcv_fpscr);
sys/arm64/arm64/freebsd32_machdep.c
183
pcb->pcb_fpustate.vfp_fpcr = VFP_FPSR_FROM_FPSCR(mcp->mcv_fpscr);
sys/arm64/arm64/genassym.c
57
ASSYM(PCB_SIZE, roundup2(sizeof(struct pcb), STACKALIGNBYTES + 1));
sys/arm64/arm64/genassym.c
59
ASSYM(PCB_REGS, offsetof(struct pcb, pcb_x));
sys/arm64/arm64/genassym.c
61
ASSYM(PCB_SP, offsetof(struct pcb, pcb_sp));
sys/arm64/arm64/genassym.c
62
ASSYM(PCB_TPIDRRO, offsetof(struct pcb, pcb_tpidrro_el0));
sys/arm64/arm64/genassym.c
63
ASSYM(PCB_ONFAULT, offsetof(struct pcb, pcb_onfault));
sys/arm64/arm64/genassym.c
64
ASSYM(PCB_FLAGS, offsetof(struct pcb, pcb_flags));
sys/arm64/arm64/machdep.c
108
_Static_assert(sizeof(struct pcb) == 1248, "struct pcb is incorrect size");
sys/arm64/arm64/machdep.c
109
_Static_assert(offsetof(struct pcb, pcb_fpusaved) == 136,
sys/arm64/arm64/machdep.c
111
_Static_assert(offsetof(struct pcb, pcb_fpustate) == 192,
sys/arm64/arm64/machdep.c
415
makectx(struct trapframe *tf, struct pcb *pcb)
sys/arm64/arm64/machdep.c
420
for (i = 0; i < nitems(pcb->pcb_x); i++) {
sys/arm64/arm64/machdep.c
422
pcb->pcb_x[i] = tf->tf_elr;
sys/arm64/arm64/machdep.c
424
pcb->pcb_x[i] = tf->tf_x[i + PCB_X_START];
sys/arm64/arm64/machdep.c
427
pcb->pcb_sp = tf->tf_sp;
sys/arm64/arm64/machdep.c
444
thread0.td_pcb = (struct pcb *)(thread0.td_kstack +
sys/arm64/arm64/pmap.c
9266
struct pcb *
sys/arm64/arm64/pmap.c
9270
struct pcb *pcb;
sys/arm64/arm64/pmap.c
9276
pcb = new->td_pcb;
sys/arm64/arm64/pmap.c
9277
PCPU_SET(curpcb, pcb);
sys/arm64/arm64/pmap.c
9295
return (pcb);
sys/arm64/arm64/sys_machdep.c
50
struct pcb *pcb;
sys/arm64/arm64/sys_machdep.c
83
pcb = td->td_pcb;
sys/arm64/arm64/sys_machdep.c
84
sve_len = pcb->pcb_sve_len;
sys/arm64/arm64/trap.c
264
struct pcb *pcb;
sys/arm64/arm64/trap.c
294
pcb = td->td_pcb;
sys/arm64/arm64/trap.c
335
pcb = td->td_pcb;
sys/arm64/arm64/trap.c
344
if ((lower || map == kernel_map || pcb->pcb_onfault != 0) &&
sys/arm64/arm64/trap.c
395
pcb->pcb_onfault != 0) {
sys/arm64/arm64/trap.c
396
frame->tf_elr = pcb->pcb_onfault;
sys/arm64/arm64/vfp.c
1002
if ((pcb->pcb_fpflags & PCB_FP_SVEVALID) == 0) {
sys/arm64/arm64/vfp.c
101
pcb = td->td_pcb;
sys/arm64/arm64/vfp.c
1012
MPASS(pcb->pcb_svesaved != NULL);
sys/arm64/arm64/vfp.c
1015
KASSERT(pcb->pcb_svesaved != NULL, ("%s: no saved sve",
sys/arm64/arm64/vfp.c
102
MPASS(pcb->pcb_svesaved != NULL);
sys/arm64/arm64/vfp.c
103
MPASS(pcb->pcb_sve_len > 0);
sys/arm64/arm64/vfp.c
1031
if (header->sve_vec_len != pcb->pcb_sve_len)
sys/arm64/arm64/vfp.c
1044
memcpy(pcb->pcb_fpustate.vfp_regs, fpregs->fp_q,
sys/arm64/arm64/vfp.c
1046
pcb->pcb_fpustate.vfp_fpcr = fpregs->fp_cr;
sys/arm64/arm64/vfp.c
1047
pcb->pcb_fpustate.vfp_fpsr = fpregs->fp_sr;
sys/arm64/arm64/vfp.c
105
return (_sve_buf_size(pcb->pcb_sve_len));
sys/arm64/arm64/vfp.c
1050
memcpy(pcb->pcb_svesaved, (void *)(&header[1]), buf_size);
sys/arm64/arm64/vfp.c
1087
struct pcb *pcb;
sys/arm64/arm64/vfp.c
1089
pcb = td->td_pcb;
sys/arm64/arm64/vfp.c
1094
KASSERT((pcb->pcb_fpflags & PCB_FP_NOSAVE) == 0,
sys/arm64/arm64/vfp.c
1100
vfp_save_state(curthread, pcb);
sys/arm64/arm64/vfp.c
1105
pcb->pcb_fpflags |= PCB_FP_KERN | PCB_FP_NOSAVE |
sys/arm64/arm64/vfp.c
1118
KASSERT((pcb->pcb_fpflags & PCB_FP_KERN) != 0 ||
sys/arm64/arm64/vfp.c
1119
pcb->pcb_fpusaved == &pcb->pcb_fpustate,
sys/arm64/arm64/vfp.c
1120
("Mangled pcb_fpusaved %x %p %p", pcb->pcb_fpflags, pcb->pcb_fpusaved, &pcb->pcb_fpustate));
sys/arm64/arm64/vfp.c
1122
vfp_save_state(curthread, pcb);
sys/arm64/arm64/vfp.c
1123
ctx->prev = pcb->pcb_fpusaved;
sys/arm64/arm64/vfp.c
1124
pcb->pcb_fpusaved = &ctx->state;
sys/arm64/arm64/vfp.c
1125
pcb->pcb_fpflags |= PCB_FP_KERN;
sys/arm64/arm64/vfp.c
1126
pcb->pcb_fpflags &= ~PCB_FP_STARTED;
sys/arm64/arm64/vfp.c
1134
struct pcb *pcb;
sys/arm64/arm64/vfp.c
1136
pcb = td->td_pcb;
sys/arm64/arm64/vfp.c
1138
if ((pcb->pcb_fpflags & PCB_FP_NOSAVE) != 0) {
sys/arm64/arm64/vfp.c
1145
pcb->pcb_fpflags &= ~(PCB_FP_NOSAVE | PCB_FP_STARTED);
sys/arm64/arm64/vfp.c
1159
pcb->pcb_fpflags &= ~PCB_FP_STARTED;
sys/arm64/arm64/vfp.c
1160
pcb->pcb_fpusaved = ctx->prev;
sys/arm64/arm64/vfp.c
1163
if (pcb->pcb_fpusaved == &pcb->pcb_fpustate) {
sys/arm64/arm64/vfp.c
1164
pcb->pcb_fpflags &= ~PCB_FP_KERN;
sys/arm64/arm64/vfp.c
1166
KASSERT((pcb->pcb_fpflags & PCB_FP_KERN) != 0,
sys/arm64/arm64/vfp.c
1176
struct pcb *pcb = curthread->td_pcb;
sys/arm64/arm64/vfp.c
1180
KASSERT(pcb->pcb_fpusaved == &pcb->pcb_fpustate,
sys/arm64/arm64/vfp.c
1182
KASSERT((pcb->pcb_fpflags & PCB_FP_KERN) == 0,
sys/arm64/arm64/vfp.c
1184
pcb->pcb_fpflags |= PCB_FP_KERN;
sys/arm64/arm64/vfp.c
1191
struct pcb *curpcb;
sys/arm64/arm64/vfp.c
451
struct pcb *pcb;
sys/arm64/arm64/vfp.c
454
pcb = td->td_pcb;
sys/arm64/arm64/vfp.c
455
if (pcb->pcb_svesaved == NULL)
sys/arm64/arm64/vfp.c
458
MPASS(pcb->pcb_fpusaved != NULL);
sys/arm64/arm64/vfp.c
461
for (int i = 0; i < nitems(pcb->pcb_fpusaved->vfp_regs); i++) {
sys/arm64/arm64/vfp.c
464
sve_reg = (__uint128_t *)((uintptr_t)pcb->pcb_svesaved +
sys/arm64/arm64/vfp.c
465
i * pcb->pcb_sve_len);
sys/arm64/arm64/vfp.c
466
*sve_reg = pcb->pcb_fpusaved->vfp_regs[i];
sys/arm64/arm64/vfp.c
469
fpxr = (uint32_t *)((uintptr_t)pcb->pcb_svesaved +
sys/arm64/arm64/vfp.c
470
(32 * pcb->pcb_sve_len) + (17 * pcb->pcb_sve_len / 8));
sys/arm64/arm64/vfp.c
471
fpxr[0] = pcb->pcb_fpusaved->vfp_fpsr;
sys/arm64/arm64/vfp.c
472
fpxr[1] = pcb->pcb_fpusaved->vfp_fpcr;
sys/arm64/arm64/vfp.c
481
struct pcb *pcb;
sys/arm64/arm64/vfp.c
484
pcb = td->td_pcb;
sys/arm64/arm64/vfp.c
485
if (pcb->pcb_svesaved == NULL)
sys/arm64/arm64/vfp.c
488
MPASS(pcb->pcb_fpusaved == &pcb->pcb_fpustate);
sys/arm64/arm64/vfp.c
491
for (int i = 0; i < nitems(pcb->pcb_fpusaved->vfp_regs); i++) {
sys/arm64/arm64/vfp.c
494
sve_reg = (__uint128_t *)((uintptr_t)pcb->pcb_svesaved +
sys/arm64/arm64/vfp.c
495
i * pcb->pcb_sve_len);
sys/arm64/arm64/vfp.c
496
pcb->pcb_fpusaved->vfp_regs[i] = *sve_reg;
sys/arm64/arm64/vfp.c
499
fpxr = (uint32_t *)((uintptr_t)pcb->pcb_svesaved +
sys/arm64/arm64/vfp.c
500
(32 * pcb->pcb_sve_len) + (17 * pcb->pcb_sve_len / 8));
sys/arm64/arm64/vfp.c
501
pcb->pcb_fpusaved->vfp_fpsr = fpxr[0];
sys/arm64/arm64/vfp.c
502
pcb->pcb_fpusaved->vfp_fpcr = fpxr[1];
sys/arm64/arm64/vfp.c
506
vfp_save_state_common(struct thread *td, struct pcb *pcb, bool full_save)
sys/arm64/arm64/vfp.c
51
CTASSERT(sizeof(((struct pcb *)0)->pcb_fpustate.vfp_regs) == 16 * 32);
sys/arm64/arm64/vfp.c
532
MPASS((pcb->pcb_fpflags & PCB_FP_SVEVALID) != 0);
sys/arm64/arm64/vfp.c
549
KASSERT(pcb->pcb_svesaved != NULL,
sys/arm64/arm64/vfp.c
551
sve_store(pcb->pcb_svesaved, pcb->pcb_sve_len);
sys/arm64/arm64/vfp.c
555
pcb->pcb_fpflags &= ~PCB_FP_SVEVALID;
sys/arm64/arm64/vfp.c
556
vfp_store(pcb->pcb_fpusaved);
sys/arm64/arm64/vfp.c
566
vfp_save_state(struct thread *td, struct pcb *pcb)
sys/arm64/arm64/vfp.c
569
KASSERT(pcb != NULL, ("NULL vfp pcb"));
sys/arm64/arm64/vfp.c
570
KASSERT(td->td_pcb == pcb, ("Invalid vfp pcb"));
sys/arm64/arm64/vfp.c
572
vfp_save_state_common(td, pcb, true);
sys/arm64/arm64/vfp.c
576
vfp_save_state_savectx(struct pcb *pcb)
sys/arm64/arm64/vfp.c
585
MPASS(pcb->pcb_fpusaved == NULL ||
sys/arm64/arm64/vfp.c
586
pcb->pcb_fpusaved == &pcb->pcb_fpustate);
sys/arm64/arm64/vfp.c
587
pcb->pcb_fpusaved = &pcb->pcb_fpustate;
sys/arm64/arm64/vfp.c
589
vfp_save_state_common(curthread, pcb, true);
sys/arm64/arm64/vfp.c
607
struct pcb *newpcb, *oldpcb;
sys/arm64/arm64/vfp.c
651
vfp_reset_state(struct thread *td, struct pcb *pcb)
sys/arm64/arm64/vfp.c
662
bzero(&pcb->pcb_fpustate.vfp_regs, sizeof(pcb->pcb_fpustate.vfp_regs));
sys/arm64/arm64/vfp.c
663
KASSERT(pcb->pcb_fpusaved == &pcb->pcb_fpustate,
sys/arm64/arm64/vfp.c
665
pcb->pcb_fpustate.vfp_fpcr = VFPCR_INIT;
sys/arm64/arm64/vfp.c
666
pcb->pcb_fpustate.vfp_fpsr = 0;
sys/arm64/arm64/vfp.c
668
pcb->pcb_svesaved = NULL;
sys/arm64/arm64/vfp.c
669
pcb->pcb_vfpcpu = UINT_MAX;
sys/arm64/arm64/vfp.c
670
pcb->pcb_fpflags = 0;
sys/arm64/arm64/vfp.c
676
struct pcb *curpcb;
sys/arm64/arm64/vfp.c
747
struct pcb *curpcb;
sys/arm64/arm64/vfp.c
929
struct pcb *pcb;
sys/arm64/arm64/vfp.c
933
pcb = td->td_pcb;
sys/arm64/arm64/vfp.c
935
if (td == curthread && (pcb->pcb_fpflags & PCB_FP_STARTED) != 0)
sys/arm64/arm64/vfp.c
936
vfp_save_state(td, pcb);
sys/arm64/arm64/vfp.c
939
if (pcb->pcb_sve_len == 0)
sys/arm64/arm64/vfp.c
943
if ((pcb->pcb_fpflags & PCB_FP_SVEVALID) == 0) {
sys/arm64/arm64/vfp.c
951
KASSERT(pcb->pcb_svesaved != NULL, ("%s: no saved sve",
sys/arm64/arm64/vfp.c
965
header->sve_vec_len = pcb->pcb_sve_len;
sys/arm64/arm64/vfp.c
973
memcpy(fpregs->fp_q, pcb->pcb_fpustate.vfp_regs,
sys/arm64/arm64/vfp.c
975
fpregs->fp_cr = pcb->pcb_fpustate.vfp_fpcr;
sys/arm64/arm64/vfp.c
976
fpregs->fp_sr = pcb->pcb_fpustate.vfp_fpsr;
sys/arm64/arm64/vfp.c
978
memcpy((void *)(&header[1]), pcb->pcb_svesaved,
sys/arm64/arm64/vfp.c
99
struct pcb *pcb;
sys/arm64/arm64/vfp.c
991
struct pcb *pcb;
sys/arm64/arm64/vfp.c
995
pcb = td->td_pcb;
sys/arm64/arm64/vfp.c
998
if (pcb->pcb_sve_len == 0)
sys/arm64/arm64/vm_machdep.c
181
bcopy(td0->td_pcb, td->td_pcb, sizeof(struct pcb));
sys/arm64/arm64/vm_machdep.c
233
struct pcb *pcb;
sys/arm64/arm64/vm_machdep.c
238
pcb = td->td_pcb;
sys/arm64/arm64/vm_machdep.c
241
pcb->pcb_tpidrro_el0 = (register_t)tls_base;
sys/arm64/arm64/vm_machdep.c
242
pcb->pcb_tpidr_el0 = (register_t)tls_base;
sys/arm64/arm64/vm_machdep.c
248
pcb->pcb_tpidr_el0 = (register_t)tls_base;
sys/arm64/arm64/vm_machdep.c
265
td->td_pcb = (struct pcb *)(td->td_kstack +
sys/arm64/arm64/vm_machdep.c
72
struct pcb *pcb2;
sys/arm64/arm64/vm_machdep.c
92
pcb2 = (struct pcb *)(td2->td_kstack +
sys/arm64/include/pcb.h
87
void makectx(struct trapframe *tf, struct pcb *pcb);
sys/arm64/include/pcb.h
88
void savectx(struct pcb *pcb) __returns_twice;
sys/arm64/include/pcpu.h
58
struct pcb;
sys/arm64/include/pmap.h
176
struct pcb *pmap_switch(struct thread *);
sys/arm64/include/stack.h
46
(total) = td->td_kstack_pages * PAGE_SIZE - sizeof(struct pcb); \
sys/arm64/include/stack.h
55
sizeof(struct pcb));
sys/arm64/include/vfp.h
68
struct pcb;
sys/arm64/include/vfp.h
78
void vfp_reset_state(struct thread *, struct pcb *);
sys/arm64/include/vfp.h
80
void vfp_save_state(struct thread *, struct pcb *);
sys/arm64/include/vfp.h
81
void vfp_save_state_savectx(struct pcb *);
sys/arm64/linux/linux_sysvec.c
172
struct pcb *pcb = td->td_pcb;
sys/arm64/linux/linux_sysvec.c
177
pcb->pcb_tpidr_el0 = 0;
sys/arm64/linux/linux_sysvec.c
178
pcb->pcb_tpidrro_el0 = 0;
sys/arm64/linux/linux_sysvec.c
183
vfp_reset_state(td, pcb);
sys/arm64/linux/linux_sysvec.c
189
bzero(&pcb->pcb_dbg_regs, sizeof(pcb->pcb_dbg_regs));
sys/cddl/dev/dtrace/i386/dtrace_isa.c
502
struct pcb *pcb;
sys/cddl/dev/dtrace/i386/dtrace_isa.c
539
if ((pcb = curthread->td_pcb) == NULL) {
sys/cddl/dev/dtrace/i386/dtrace_isa.c
543
return (pcb->pcb_gs);
sys/dev/hyperv/hvsock/hv_sock.c
1008
(void) hvsock_send_data(pcb->chan, NULL, 0,
sys/dev/hyperv/hvsock/hv_sock.c
1074
struct hvs_pcb *pcb;
sys/dev/hyperv/hvsock/hv_sock.c
1089
struct hvs_pcb *pcb = (struct hvs_pcb *) context;
sys/dev/hyperv/hvsock/hv_sock.c
1095
__func__, pcb);
sys/dev/hyperv/hvsock/hv_sock.c
1103
so = hsvpcb2so(pcb);
sys/dev/hyperv/hvsock/hv_sock.c
1105
if (pcb->chan != NULL && so != NULL) {
sys/dev/hyperv/hvsock/hv_sock.c
1113
vmbus_chan_read_available(pcb->chan));
sys/dev/hyperv/hvsock/hv_sock.c
1115
if (hvsock_chan_readable(pcb->chan))
sys/dev/hyperv/hvsock/hv_sock.c
1124
canwrite = hvsock_canwrite_check(pcb);
sys/dev/hyperv/hvsock/hv_sock.c
1244
hvsock_canread_check(struct hvs_pcb *pcb)
sys/dev/hyperv/hvsock/hv_sock.c
1251
if (pcb == NULL || pcb->chan == NULL) {
sys/dev/hyperv/hvsock/hv_sock.c
1252
pcb->so->so_error = EIO;
sys/dev/hyperv/hvsock/hv_sock.c
1257
if (pcb->recv_data_len > 0)
sys/dev/hyperv/hvsock/hv_sock.c
1258
return (pcb->recv_data_len);
sys/dev/hyperv/hvsock/hv_sock.c
1260
if (pcb->rb_init)
sys/dev/hyperv/hvsock/hv_sock.c
1262
VMBUS_CHANPKT_GETLEN(pcb->hvs_pkt.chan_pkt_hdr.cph_tlen);
sys/dev/hyperv/hvsock/hv_sock.c
1266
bytes_canread = vmbus_chan_read_available(pcb->chan);
sys/dev/hyperv/hvsock/hv_sock.c
1272
if (pcb->rb_init && bytes_canread == (advance + sizeof(uint64_t))) {
sys/dev/hyperv/hvsock/hv_sock.c
1278
error = vmbus_chan_recv_idxadv(pcb->chan, advance);
sys/dev/hyperv/hvsock/hv_sock.c
1285
pcb->rb_init = false;
sys/dev/hyperv/hvsock/hv_sock.c
1286
pcb->recv_data_len = 0;
sys/dev/hyperv/hvsock/hv_sock.c
1287
pcb->recv_data_off = 0;
sys/dev/hyperv/hvsock/hv_sock.c
1288
bytes_canread = vmbus_chan_read_available(pcb->chan);
sys/dev/hyperv/hvsock/hv_sock.c
1306
error = vmbus_chan_recv_peek(pcb->chan, &pcb->hvs_pkt,
sys/dev/hyperv/hvsock/hv_sock.c
1320
tlen = VMBUS_CHANPKT_GETLEN(pcb->hvs_pkt.chan_pkt_hdr.cph_tlen);
sys/dev/hyperv/hvsock/hv_sock.c
1321
hlen = VMBUS_CHANPKT_GETLEN(pcb->hvs_pkt.chan_pkt_hdr.cph_hlen);
sys/dev/hyperv/hvsock/hv_sock.c
1322
dlen = pcb->hvs_pkt.vmpipe_pkt_hdr.vmpipe_data_size;
sys/dev/hyperv/hvsock/hv_sock.c
1329
pcb->so->so_error = EIO;
sys/dev/hyperv/hvsock/hv_sock.c
1332
if (pcb->rb_init == false)
sys/dev/hyperv/hvsock/hv_sock.c
1333
pcb->rb_init = true;
sys/dev/hyperv/hvsock/hv_sock.c
1344
pcb->so->so_error = ESHUTDOWN;
sys/dev/hyperv/hvsock/hv_sock.c
1350
pcb->recv_data_len = dlen;
sys/dev/hyperv/hvsock/hv_sock.c
1351
pcb->recv_data_off = 0;
sys/dev/hyperv/hvsock/hv_sock.c
1353
return (pcb->recv_data_len);
sys/dev/hyperv/hvsock/hv_sock.c
1357
hvsock_canwrite_check(struct hvs_pcb *pcb)
sys/dev/hyperv/hvsock/hv_sock.c
1362
if (pcb == NULL || pcb->chan == NULL)
sys/dev/hyperv/hvsock/hv_sock.c
1365
writeable = vmbus_chan_write_available(pcb->chan);
sys/dev/hyperv/hvsock/hv_sock.c
1401
struct hvs_pcb *pcb = so2hvspcb(so);
sys/dev/hyperv/hvsock/hv_sock.c
1423
hvsock_chan_cb, pcb);
sys/dev/hyperv/hvsock/hv_sock.c
1453
struct hvs_pcb *new_pcb, *pcb;
sys/dev/hyperv/hvsock/hv_sock.c
1489
pcb = so->so_pcb;
sys/dev/hyperv/hvsock/hv_sock.c
1492
hvs_addr_set(&(new_pcb->local_addr), pcb->local_addr.hvs_port);
sys/dev/hyperv/hvsock/hv_sock.c
1505
sc->pcb = new_pcb;
sys/dev/hyperv/hvsock/hv_sock.c
1522
struct hvs_pcb *pcb;
sys/dev/hyperv/hvsock/hv_sock.c
1531
pcb = so->so_pcb;
sys/dev/hyperv/hvsock/hv_sock.c
1532
pcb->chan = chan;
sys/dev/hyperv/hvsock/hv_sock.c
1533
pcb->recv_data_len = 0;
sys/dev/hyperv/hvsock/hv_sock.c
1534
pcb->recv_data_off = 0;
sys/dev/hyperv/hvsock/hv_sock.c
1535
pcb->rb_init = false;
sys/dev/hyperv/hvsock/hv_sock.c
1556
struct hvs_pcb *pcb;
sys/dev/hyperv/hvsock/hv_sock.c
1598
pcb = so->so_pcb;
sys/dev/hyperv/hvsock/hv_sock.c
1599
if (pcb && pcb->so) {
sys/dev/hyperv/hvsock/hv_sock.c
1600
sc->pcb = so2hvspcb(so);
sys/dev/hyperv/hvsock/hv_sock.c
1661
if (sc->pcb != NULL) {
sys/dev/hyperv/hvsock/hv_sock.c
1664
so = hsvpcb2so(sc->pcb);
sys/dev/hyperv/hvsock/hv_sock.c
1673
__hvs_remove_pcb_from_list(sc->pcb,
sys/dev/hyperv/hvsock/hv_sock.c
1707
bzero(sc->pcb, sizeof(struct hvs_pcb));
sys/dev/hyperv/hvsock/hv_sock.c
1708
free(sc->pcb, M_HVSOCK);
sys/dev/hyperv/hvsock/hv_sock.c
1709
sc->pcb = NULL;
sys/dev/hyperv/hvsock/hv_sock.c
178
__hvs_remove_pcb_from_list(struct hvs_pcb *pcb, unsigned char list)
sys/dev/hyperv/hvsock/hv_sock.c
182
HVSOCK_DBG(HVSOCK_DBG_VERBOSE, "%s: pcb is %p\n", __func__, pcb);
sys/dev/hyperv/hvsock/hv_sock.c
184
if (!pcb)
sys/dev/hyperv/hvsock/hv_sock.c
189
if (p == pcb)
sys/dev/hyperv/hvsock/hv_sock.c
195
if (p == pcb)
sys/dev/hyperv/hvsock/hv_sock.c
196
LIST_REMOVE(pcb, connected_next);
sys/dev/hyperv/hvsock/hv_sock.c
203
struct hvs_pcb *pcb = so2hvspcb(so);
sys/dev/hyperv/hvsock/hv_sock.c
205
HVSOCK_DBG(HVSOCK_DBG_VERBOSE, "%s: pcb is %p\n", __func__, pcb);
sys/dev/hyperv/hvsock/hv_sock.c
207
__hvs_remove_pcb_from_list(pcb, list);
sys/dev/hyperv/hvsock/hv_sock.c
213
struct hvs_pcb *pcb = so2hvspcb(so);
sys/dev/hyperv/hvsock/hv_sock.c
217
pcb, bound_next);
sys/dev/hyperv/hvsock/hv_sock.c
221
pcb, connected_next);
sys/dev/hyperv/hvsock/hv_sock.c
348
struct hvs_pcb *pcb = so2hvspcb(so);
sys/dev/hyperv/hvsock/hv_sock.c
359
if (pcb != NULL)
sys/dev/hyperv/hvsock/hv_sock.c
361
pcb = malloc(sizeof(struct hvs_pcb), M_HVSOCK, M_NOWAIT | M_ZERO);
sys/dev/hyperv/hvsock/hv_sock.c
362
if (pcb == NULL)
sys/dev/hyperv/hvsock/hv_sock.c
365
pcb->so = so;
sys/dev/hyperv/hvsock/hv_sock.c
366
so->so_pcb = (void *)pcb;
sys/dev/hyperv/hvsock/hv_sock.c
374
struct hvs_pcb *pcb;
sys/dev/hyperv/hvsock/hv_sock.c
380
pcb = so2hvspcb(so);
sys/dev/hyperv/hvsock/hv_sock.c
381
if (pcb == NULL) {
sys/dev/hyperv/hvsock/hv_sock.c
387
bzero(pcb, sizeof(*pcb));
sys/dev/hyperv/hvsock/hv_sock.c
388
free(pcb, M_HVSOCK);
sys/dev/hyperv/hvsock/hv_sock.c
399
struct hvs_pcb *pcb = so2hvspcb(so);
sys/dev/hyperv/hvsock/hv_sock.c
410
if (pcb == NULL) {
sys/dev/hyperv/hvsock/hv_sock.c
439
hvs_addr_set(&pcb->local_addr, sa->hvs_port);
sys/dev/hyperv/hvsock/hv_sock.c
440
hvs_addr_set(&pcb->remote_addr, HVADDR_PORT_ANY);
sys/dev/hyperv/hvsock/hv_sock.c
451
struct hvs_pcb *pcb = so2hvspcb(so);
sys/dev/hyperv/hvsock/hv_sock.c
458
if (pcb == NULL)
sys/dev/hyperv/hvsock/hv_sock.c
462
bound_so = hvs_find_socket_on_list(&pcb->local_addr, HVS_LIST_BOUND);
sys/dev/hyperv/hvsock/hv_sock.c
483
struct hvs_pcb *pcb = so2hvspcb(so);
sys/dev/hyperv/hvsock/hv_sock.c
488
if (pcb == NULL)
sys/dev/hyperv/hvsock/hv_sock.c
491
memcpy(sa, &pcb->remote_addr, pcb->remote_addr.sa_len);
sys/dev/hyperv/hvsock/hv_sock.c
499
struct hvs_pcb *pcb = so2hvspcb(so);
sys/dev/hyperv/hvsock/hv_sock.c
508
if (pcb == NULL)
sys/dev/hyperv/hvsock/hv_sock.c
533
hvs_addr_set(&pcb->local_addr, 0);
sys/dev/hyperv/hvsock/hv_sock.c
540
pcb->local_addr.hvs_port = i;
sys/dev/hyperv/hvsock/hv_sock.c
542
if (__hvs_find_socket_on_list(&pcb->local_addr,
sys/dev/hyperv/hvsock/hv_sock.c
548
__func__, pcb->local_addr.hvs_port);
sys/dev/hyperv/hvsock/hv_sock.c
557
pcb->vm_srv_id = srv_id_template;
sys/dev/hyperv/hvsock/hv_sock.c
558
set_port_by_srv_id(&pcb->vm_srv_id, pcb->local_addr.hvs_port);
sys/dev/hyperv/hvsock/hv_sock.c
560
pcb->host_srv_id = srv_id_template;
sys/dev/hyperv/hvsock/hv_sock.c
561
set_port_by_srv_id(&pcb->host_srv_id, raddr->hvs_port);
sys/dev/hyperv/hvsock/hv_sock.c
562
hvs_addr_set(&pcb->remote_addr, raddr->hvs_port);
sys/dev/hyperv/hvsock/hv_sock.c
574
hvsock_print_guid(&pcb->vm_srv_id);
sys/dev/hyperv/hvsock/hv_sock.c
576
hvsock_print_guid(&pcb->host_srv_id);
sys/dev/hyperv/hvsock/hv_sock.c
582
vmbus_req_tl_connect(&pcb->vm_srv_id, &pcb->host_srv_id);
sys/dev/hyperv/hvsock/hv_sock.c
590
struct hvs_pcb *pcb;
sys/dev/hyperv/hvsock/hv_sock.c
596
pcb = so2hvspcb(so);
sys/dev/hyperv/hvsock/hv_sock.c
597
if (pcb == NULL) {
sys/dev/hyperv/hvsock/hv_sock.c
620
struct hvs_pcb *pcb = so2hvspcb(so);
sys/dev/hyperv/hvsock/hv_sock.c
632
if (pcb == NULL)
sys/dev/hyperv/hvsock/hv_sock.c
676
(canread = hvsock_canread_check(pcb)) > 0) {
sys/dev/hyperv/hvsock/hv_sock.c
681
pcb->recv_data_off));
sys/dev/hyperv/hvsock/hv_sock.c
683
error = vmbus_chan_recv_peek_call(pcb->chan, to_read,
sys/dev/hyperv/hvsock/hv_sock.c
684
sizeof(struct hvs_pkt_header) + pcb->recv_data_off,
sys/dev/hyperv/hvsock/hv_sock.c
696
pcb->recv_data_len -= to_read;
sys/dev/hyperv/hvsock/hv_sock.c
697
pcb->recv_data_off += to_read;
sys/dev/hyperv/hvsock/hv_sock.c
756
__func__, vmbus_chan_read_available(pcb->chan));
sys/dev/hyperv/hvsock/hv_sock.c
785
struct hvs_pcb *pcb = so2hvspcb(so);
sys/dev/hyperv/hvsock/hv_sock.c
797
if (pcb == NULL)
sys/dev/hyperv/hvsock/hv_sock.c
824
canwrite = hvsock_canwrite_check(pcb);
sys/dev/hyperv/hvsock/hv_sock.c
854
vmbus_chan_write_available(pcb->chan));
sys/dev/hyperv/hvsock/hv_sock.c
865
error = hvsock_send_data(pcb->chan, uio, to_write, sb);
sys/dev/hyperv/hvsock/hv_sock.c
881
struct hvs_pcb *pcb = so2hvspcb(so);
sys/dev/hyperv/hvsock/hv_sock.c
886
if (pcb == NULL)
sys/dev/hyperv/hvsock/hv_sock.c
889
memcpy(sa, &pcb->remote_addr, pcb->remote_addr.sa_len);
sys/dev/hyperv/hvsock/hv_sock.c
897
struct hvs_pcb *pcb = so2hvspcb(so);
sys/dev/hyperv/hvsock/hv_sock.c
902
if (pcb == NULL)
sys/dev/hyperv/hvsock/hv_sock.c
905
memcpy(sa, &pcb->local_addr, pcb->local_addr.sa_len);
sys/dev/hyperv/hvsock/hv_sock.c
913
struct hvs_pcb *pcb;
sys/dev/hyperv/hvsock/hv_sock.c
919
pcb = so2hvspcb(so);
sys/dev/hyperv/hvsock/hv_sock.c
920
if (!pcb) {
sys/dev/hyperv/hvsock/hv_sock.c
929
(void) hvsock_send_data(pcb->chan, NULL, 0, NULL);
sys/dev/hyperv/hvsock/hv_sock.c
936
pcb->chan = NULL;
sys/dev/hyperv/hvsock/hv_sock.c
937
pcb->so = NULL;
sys/dev/hyperv/hvsock/hv_sock.c
954
struct hvs_pcb *pcb = so2hvspcb(so);
sys/dev/hyperv/hvsock/hv_sock.c
960
if (pcb == NULL) {
sys/dev/hyperv/hvsock/hv_sock.c
983
struct hvs_pcb *pcb = so2hvspcb(so);
sys/dev/hyperv/hvsock/hv_sock.c
996
if (pcb == NULL)
sys/dev/proto/proto_busdma.c
165
struct proto_callback_bundle *pcb = arg;
sys/dev/proto/proto_busdma.c
167
pcb->ioc->u.md.bus_nsegs = nseg;
sys/dev/proto/proto_busdma.c
168
pcb->ioc->u.md.bus_addr = segs[0].ds_addr;
sys/dev/proto/proto_busdma.c
175
struct proto_callback_bundle pcb;
sys/dev/proto/proto_busdma.c
196
pcb.busdma = busdma;
sys/dev/proto/proto_busdma.c
197
pcb.md = md;
sys/dev/proto/proto_busdma.c
198
pcb.ioc = ioc;
sys/dev/proto/proto_busdma.c
200
tag->maxsz, proto_busdma_mem_alloc_callback, &pcb, BUS_DMA_NOWAIT);
sys/dev/proto/proto_busdma.c
269
struct proto_callback_bundle *pcb = arg;
sys/dev/proto/proto_busdma.c
271
pcb->ioc->u.md.bus_nsegs = nseg;
sys/dev/proto/proto_busdma.c
272
pcb->ioc->u.md.bus_addr = segs[0].ds_addr;
sys/dev/proto/proto_busdma.c
279
struct proto_callback_bundle pcb;
sys/dev/proto/proto_busdma.c
295
pcb.busdma = busdma;
sys/dev/proto/proto_busdma.c
296
pcb.md = md;
sys/dev/proto/proto_busdma.c
297
pcb.ioc = ioc;
sys/dev/proto/proto_busdma.c
299
proto_busdma_md_load_callback, &pcb, BUS_DMA_NOWAIT);
sys/dev/xen/grant_table/grant_table.c
402
struct gnttab_free_callback **pcb;
sys/dev/xen/grant_table/grant_table.c
405
for (pcb = &gnttab_free_callback_list; *pcb; pcb = &(*pcb)->next) {
sys/dev/xen/grant_table/grant_table.c
406
if (*pcb == callback) {
sys/dev/xen/grant_table/grant_table.c
407
*pcb = callback->next;
sys/gdb/netgdb.c
309
struct debugnet_pcb *pcb;
sys/gdb/netgdb.c
350
error = debugnet_connect(&dcp, &pcb);
sys/gdb/netgdb.c
357
netgdb_conn = pcb;
sys/i386/acpica/acpi_wakeup.c
114
struct pcb *pcb;
sys/i386/acpica/acpi_wakeup.c
119
pcb = &susppcbs[cpu]->sp_pcb;
sys/i386/acpica/acpi_wakeup.c
120
WAKECODE_FIXUP(wakeup_pcb, struct pcb *, pcb);
sys/i386/acpica/acpi_wakeup.c
121
WAKECODE_FIXUP(wakeup_gdt, uint16_t, pcb->pcb_gdt.rd_limit);
sys/i386/acpica/acpi_wakeup.c
122
WAKECODE_FIXUP(wakeup_gdt + 2, uint64_t, pcb->pcb_gdt.rd_base);
sys/i386/acpica/acpi_wakeup.c
194
struct pcb *pcb;
sys/i386/acpica/acpi_wakeup.c
211
pcb = &susppcbs[0]->sp_pcb;
sys/i386/acpica/acpi_wakeup.c
212
if (savectx(pcb)) {
sys/i386/acpica/acpi_wakeup.c
226
WAKECODE_FIXUP(wakeup_cr4, register_t, pcb->pcb_cr4);
sys/i386/acpica/acpi_wakeup.c
227
WAKECODE_FIXUP(wakeup_pcb, struct pcb *, pcb);
sys/i386/acpica/acpi_wakeup.c
228
WAKECODE_FIXUP(wakeup_gdt, uint16_t, pcb->pcb_gdt.rd_limit);
sys/i386/acpica/acpi_wakeup.c
229
WAKECODE_FIXUP(wakeup_gdt + 2, uint64_t, pcb->pcb_gdt.rd_base);
sys/i386/acpica/acpi_wakeup.c
255
resumectx(pcb);
sys/i386/i386/db_trace.c
573
struct pcb *ctx;
sys/i386/i386/exec_machdep.c
1008
struct pcb *pcb;
sys/i386/i386/exec_machdep.c
1012
pcb = td->td_pcb;
sys/i386/i386/exec_machdep.c
1013
regs->r_gs = pcb->pcb_gs;
sys/i386/i386/exec_machdep.c
1044
struct pcb *pcb;
sys/i386/i386/exec_machdep.c
1051
pcb = td->td_pcb;
sys/i386/i386/exec_machdep.c
1067
pcb->pcb_gs = regs->r_gs;
sys/i386/i386/exec_machdep.c
1278
struct pcb *pcb;
sys/i386/i386/exec_machdep.c
1288
pcb = td->td_pcb;
sys/i386/i386/exec_machdep.c
1289
dbregs->dr[0] = pcb->pcb_dr0;
sys/i386/i386/exec_machdep.c
1290
dbregs->dr[1] = pcb->pcb_dr1;
sys/i386/i386/exec_machdep.c
1291
dbregs->dr[2] = pcb->pcb_dr2;
sys/i386/i386/exec_machdep.c
1292
dbregs->dr[3] = pcb->pcb_dr3;
sys/i386/i386/exec_machdep.c
1293
dbregs->dr[6] = pcb->pcb_dr6;
sys/i386/i386/exec_machdep.c
1294
dbregs->dr[7] = pcb->pcb_dr7;
sys/i386/i386/exec_machdep.c
1304
struct pcb *pcb;
sys/i386/i386/exec_machdep.c
1328
pcb = td->td_pcb;
sys/i386/i386/exec_machdep.c
1368
pcb->pcb_dr0 = dbregs->dr[0];
sys/i386/i386/exec_machdep.c
1369
pcb->pcb_dr1 = dbregs->dr[1];
sys/i386/i386/exec_machdep.c
1370
pcb->pcb_dr2 = dbregs->dr[2];
sys/i386/i386/exec_machdep.c
1371
pcb->pcb_dr3 = dbregs->dr[3];
sys/i386/i386/exec_machdep.c
1372
pcb->pcb_dr6 = dbregs->dr[6];
sys/i386/i386/exec_machdep.c
1373
pcb->pcb_dr7 = dbregs->dr[7];
sys/i386/i386/exec_machdep.c
1375
pcb->pcb_flags |= PCB_DBREGS;
sys/i386/i386/exec_machdep.c
892
x86_clear_dbregs(struct pcb *pcb)
sys/i386/i386/exec_machdep.c
894
if ((pcb->pcb_flags & PCB_DBREGS) == 0)
sys/i386/i386/exec_machdep.c
897
pcb->pcb_dr0 = 0;
sys/i386/i386/exec_machdep.c
898
pcb->pcb_dr1 = 0;
sys/i386/i386/exec_machdep.c
899
pcb->pcb_dr2 = 0;
sys/i386/i386/exec_machdep.c
900
pcb->pcb_dr3 = 0;
sys/i386/i386/exec_machdep.c
901
pcb->pcb_dr6 = 0;
sys/i386/i386/exec_machdep.c
902
pcb->pcb_dr7 = 0;
sys/i386/i386/exec_machdep.c
904
if (pcb == curpcb) {
sys/i386/i386/exec_machdep.c
912
pcb->pcb_flags &= ~PCB_DBREGS;
sys/i386/i386/exec_machdep.c
948
struct pcb *pcb;
sys/i386/i386/exec_machdep.c
952
pcb = td->td_pcb;
sys/i386/i386/exec_machdep.c
955
pcb->pcb_gs = _udatasel;
sys/i386/i386/exec_machdep.c
994
x86_clear_dbregs(pcb);
sys/i386/i386/exec_machdep.c
996
pcb->pcb_initial_npxcw = __INITIAL_NPXCW__;
sys/i386/i386/genassym.c
100
ASSYM(PCB_CR0, offsetof(struct pcb, pcb_cr0));
sys/i386/i386/genassym.c
101
ASSYM(PCB_CR2, offsetof(struct pcb, pcb_cr2));
sys/i386/i386/genassym.c
102
ASSYM(PCB_CR3, offsetof(struct pcb, pcb_cr3));
sys/i386/i386/genassym.c
103
ASSYM(PCB_CR4, offsetof(struct pcb, pcb_cr4));
sys/i386/i386/genassym.c
104
ASSYM(PCB_EDI, offsetof(struct pcb, pcb_edi));
sys/i386/i386/genassym.c
105
ASSYM(PCB_ESI, offsetof(struct pcb, pcb_esi));
sys/i386/i386/genassym.c
106
ASSYM(PCB_EBP, offsetof(struct pcb, pcb_ebp));
sys/i386/i386/genassym.c
107
ASSYM(PCB_ESP, offsetof(struct pcb, pcb_esp));
sys/i386/i386/genassym.c
108
ASSYM(PCB_EBX, offsetof(struct pcb, pcb_ebx));
sys/i386/i386/genassym.c
109
ASSYM(PCB_EIP, offsetof(struct pcb, pcb_eip));
sys/i386/i386/genassym.c
112
ASSYM(PCB_DS, offsetof(struct pcb, pcb_ds));
sys/i386/i386/genassym.c
113
ASSYM(PCB_ES, offsetof(struct pcb, pcb_es));
sys/i386/i386/genassym.c
114
ASSYM(PCB_FS, offsetof(struct pcb, pcb_fs));
sys/i386/i386/genassym.c
115
ASSYM(PCB_GS, offsetof(struct pcb, pcb_gs));
sys/i386/i386/genassym.c
116
ASSYM(PCB_SS, offsetof(struct pcb, pcb_ss));
sys/i386/i386/genassym.c
117
ASSYM(PCB_DR0, offsetof(struct pcb, pcb_dr0));
sys/i386/i386/genassym.c
118
ASSYM(PCB_DR1, offsetof(struct pcb, pcb_dr1));
sys/i386/i386/genassym.c
119
ASSYM(PCB_DR2, offsetof(struct pcb, pcb_dr2));
sys/i386/i386/genassym.c
120
ASSYM(PCB_DR3, offsetof(struct pcb, pcb_dr3));
sys/i386/i386/genassym.c
121
ASSYM(PCB_DR6, offsetof(struct pcb, pcb_dr6));
sys/i386/i386/genassym.c
122
ASSYM(PCB_DR7, offsetof(struct pcb, pcb_dr7));
sys/i386/i386/genassym.c
124
ASSYM(PCB_EXT, offsetof(struct pcb, pcb_ext));
sys/i386/i386/genassym.c
128
ASSYM(PCB_FSD, offsetof(struct pcb, pcb_fsd));
sys/i386/i386/genassym.c
129
ASSYM(PCB_GSD, offsetof(struct pcb, pcb_gsd));
sys/i386/i386/genassym.c
130
ASSYM(PCB_VM86, offsetof(struct pcb, pcb_vm86));
sys/i386/i386/genassym.c
131
ASSYM(PCB_FLAGS, offsetof(struct pcb, pcb_flags));
sys/i386/i386/genassym.c
132
ASSYM(PCB_SAVEFPU, offsetof(struct pcb, pcb_save));
sys/i386/i386/genassym.c
133
ASSYM(PCB_ONFAULT, offsetof(struct pcb, pcb_onfault));
sys/i386/i386/genassym.c
135
ASSYM(PCB_SIZE, sizeof(struct pcb));
sys/i386/i386/genassym.c
138
ASSYM(PCB_GDT, offsetof(struct pcb, pcb_gdt));
sys/i386/i386/genassym.c
139
ASSYM(PCB_IDT, offsetof(struct pcb, pcb_idt));
sys/i386/i386/genassym.c
140
ASSYM(PCB_LDT, offsetof(struct pcb, pcb_ldt));
sys/i386/i386/genassym.c
141
ASSYM(PCB_TR, offsetof(struct pcb, pcb_tr));
sys/i386/i386/machdep.c
1836
makectx(struct trapframe *tf, struct pcb *pcb)
sys/i386/i386/machdep.c
1839
pcb->pcb_edi = tf->tf_edi;
sys/i386/i386/machdep.c
1840
pcb->pcb_esi = tf->tf_esi;
sys/i386/i386/machdep.c
1841
pcb->pcb_ebp = tf->tf_ebp;
sys/i386/i386/machdep.c
1842
pcb->pcb_ebx = tf->tf_ebx;
sys/i386/i386/machdep.c
1843
pcb->pcb_eip = tf->tf_eip;
sys/i386/i386/machdep.c
1844
pcb->pcb_esp = (ISPL(tf->tf_cs)) ? tf->tf_esp : (int)(tf + 1) - 8;
sys/i386/i386/machdep.c
1845
pcb->pcb_gs = rgs();
sys/i386/i386/npx.c
1014
sa = (char *)get_pcb_user_save_pcb(pcb);
sys/i386/i386/npx.c
1057
struct pcb *pcb;
sys/i386/i386/npx.c
1060
pcb = td->td_pcb;
sys/i386/i386/npx.c
1061
if (PCB_USER_FPU(pcb))
sys/i386/i386/npx.c
1062
pcb->pcb_flags |= PCB_NPXINITDONE;
sys/i386/i386/npx.c
1063
pcb->pcb_flags |= PCB_NPXUSERINITDONE;
sys/i386/i386/npx.c
1108
struct pcb *pcb;
sys/i386/i386/npx.c
1116
pcb = td->td_pcb;
sys/i386/i386/npx.c
1119
if (td == PCPU_GET(fpcurthread) && PCB_USER_FPU(pcb)) {
sys/i386/i386/npx.c
1126
pcb->pcb_flags |= PCB_NPXUSERINITDONE | PCB_NPXINITDONE;
sys/i386/i386/npx.c
1404
struct pcb *pcb;
sys/i386/i386/npx.c
1406
pcb = td->td_pcb;
sys/i386/i386/npx.c
1411
KASSERT((pcb->pcb_flags & PCB_NPXNOSAVE) == 0,
sys/i386/i386/npx.c
1431
pcb->pcb_flags |= PCB_KERNNPX | PCB_NPXNOSAVE | PCB_NPXINITDONE;
sys/i386/i386/npx.c
1438
pcb = td->td_pcb;
sys/i386/i386/npx.c
1440
KASSERT(!PCB_USER_FPU(pcb) || pcb->pcb_save ==
sys/i386/i386/npx.c
1441
get_pcb_user_save_pcb(pcb), ("mangled pcb_save"));
sys/i386/i386/npx.c
1443
if ((pcb->pcb_flags & PCB_NPXINITDONE) != 0)
sys/i386/i386/npx.c
1446
ctx->prev = pcb->pcb_save;
sys/i386/i386/npx.c
1447
pcb->pcb_save = fpu_kern_ctx_savefpu(ctx);
sys/i386/i386/npx.c
1448
pcb->pcb_flags |= PCB_KERNNPX;
sys/i386/i386/npx.c
1449
pcb->pcb_flags &= ~PCB_NPXINITDONE;
sys/i386/i386/npx.c
1456
struct pcb *pcb;
sys/i386/i386/npx.c
1458
pcb = td->td_pcb;
sys/i386/i386/npx.c
1460
if ((pcb->pcb_flags & PCB_NPXNOSAVE) != 0) {
sys/i386/i386/npx.c
1466
pcb->pcb_flags &= ~(PCB_NPXNOSAVE | PCB_NPXINITDONE);
sys/i386/i386/npx.c
148
CTASSERT(sizeof(struct pcb) % XSAVE_AREA_ALIGN == 0);
sys/i386/i386/npx.c
1481
pcb->pcb_save = ctx->prev;
sys/i386/i386/npx.c
1484
if (pcb->pcb_save == get_pcb_user_save_pcb(pcb)) {
sys/i386/i386/npx.c
1485
if ((pcb->pcb_flags & PCB_NPXUSERINITDONE) != 0) {
sys/i386/i386/npx.c
1486
pcb->pcb_flags |= PCB_NPXINITDONE;
sys/i386/i386/npx.c
1487
if ((pcb->pcb_flags & PCB_KERNNPX_THR) == 0)
sys/i386/i386/npx.c
1488
pcb->pcb_flags &= ~PCB_KERNNPX;
sys/i386/i386/npx.c
1489
} else if ((pcb->pcb_flags & PCB_KERNNPX_THR) == 0)
sys/i386/i386/npx.c
1490
pcb->pcb_flags &= ~(PCB_NPXINITDONE | PCB_KERNNPX);
sys/i386/i386/npx.c
1493
pcb->pcb_flags |= PCB_NPXINITDONE;
sys/i386/i386/npx.c
1495
pcb->pcb_flags &= ~PCB_NPXINITDONE;
sys/i386/i386/npx.c
1496
KASSERT(!PCB_USER_FPU(pcb), ("unpaired fpu_kern_leave"));
sys/i386/i386/npx.c
804
restore_npx_curthread(struct thread *td, struct pcb *pcb)
sys/i386/i386/npx.c
816
if ((pcb->pcb_flags & PCB_NPXINITDONE) == 0) {
sys/i386/i386/npx.c
827
bcopy(npx_initialstate, pcb->pcb_save, cpu_max_ext_state_size);
sys/i386/i386/npx.c
828
fpurstor(pcb->pcb_save);
sys/i386/i386/npx.c
829
if (pcb->pcb_initial_npxcw != __INITIAL_NPXCW__)
sys/i386/i386/npx.c
830
fldcw(pcb->pcb_initial_npxcw);
sys/i386/i386/npx.c
831
pcb->pcb_flags |= PCB_NPXINITDONE;
sys/i386/i386/npx.c
832
if (PCB_USER_FPU(pcb))
sys/i386/i386/npx.c
833
pcb->pcb_flags |= PCB_NPXUSERINITDONE;
sys/i386/i386/npx.c
835
fpurstor(pcb->pcb_save);
sys/i386/i386/npx.c
897
void npxswitch(struct thread *td, struct pcb *pcb);
sys/i386/i386/npx.c
899
npxswitch(struct thread *td, struct pcb *pcb)
sys/i386/i386/npx.c
903
!PCB_USER_FPU(pcb)) {
sys/i386/i386/npx.c
907
restore_npx_curthread(td, pcb);
sys/i386/i386/npx.c
975
struct pcb *pcb;
sys/i386/i386/npx.c
987
pcb = td->td_pcb;
sys/i386/i386/npx.c
989
if ((pcb->pcb_flags & PCB_NPXINITDONE) == 0) {
sys/i386/i386/npx.c
990
bcopy(npx_initialstate, get_pcb_user_save_pcb(pcb),
sys/i386/i386/npx.c
992
SET_FPU_CW(get_pcb_user_save_pcb(pcb), pcb->pcb_initial_npxcw);
sys/i386/i386/npx.c
998
fpusave(get_pcb_user_save_pcb(pcb));
sys/i386/i386/vm86.c
398
struct pcb vml_pcb;
sys/i386/i386/vm86.c
407
struct pcb vml_pcb;
sys/i386/i386/vm86.c
425
struct pcb *pcb;
sys/i386/i386/vm86.c
481
pcb = &vml->vml_pcb;
sys/i386/i386/vm86.c
486
bzero(pcb, sizeof(struct pcb));
sys/i386/i386/vm86.c
487
pcb->new_ptd = vm86pa | PG_V | PG_RW | PG_U;
sys/i386/i386/vm86.c
488
pcb->vm86_frame = vm86paddr - sizeof(struct vm86frame);
sys/i386/i386/vm86.c
489
pcb->pgtable_va = vm86paddr;
sys/i386/i386/vm86.c
490
pcb->pcb_flags = PCB_VM86CALL;
sys/i386/i386/vm86.c
491
pcb->pcb_ext = ext;
sys/i386/i386/vm86.c
50
extern struct pcb *vm86pcb;
sys/i386/i386/vm86.c
513
vm86pcb = pcb;
sys/i386/i386/vm86.c
531
struct pcb *pcb;
sys/i386/i386/vm86.c
545
pcb = &vml->vml_pcb;
sys/i386/i386/vm86.c
550
bzero(pcb, sizeof(struct pcb));
sys/i386/i386/vm86.c
551
pcb->new_ptd = vm86pa | PG_V | PG_RW | PG_U;
sys/i386/i386/vm86.c
552
pcb->vm86_frame = vm86paddr - sizeof(struct vm86frame);
sys/i386/i386/vm86.c
553
pcb->pgtable_va = vm86paddr;
sys/i386/i386/vm86.c
554
pcb->pcb_flags = PCB_VM86CALL;
sys/i386/i386/vm86.c
555
pcb->pcb_ext = ext;
sys/i386/i386/vm86.c
577
vm86pcb = pcb;
sys/i386/i386/vm_machdep.c
100
get_pcb_user_save_pcb(struct pcb *pcb)
sys/i386/i386/vm_machdep.c
104
p = (vm_offset_t)(pcb + 1);
sys/i386/i386/vm_machdep.c
108
struct pcb *
sys/i386/i386/vm_machdep.c
115
sizeof(struct pcb);
sys/i386/i386/vm_machdep.c
116
return ((struct pcb *)p);
sys/i386/i386/vm_machdep.c
141
struct pcb *pcb2;
sys/i386/i386/vm_machdep.c
210
struct pcb *pcb2;
sys/i386/i386/vm_machdep.c
364
struct pcb *pcb;
sys/i386/i386/vm_machdep.c
366
pcb = td->td_pcb;
sys/i386/i386/vm_machdep.c
367
if (pcb->pcb_ext != NULL) {
sys/i386/i386/vm_machdep.c
373
pmap_trm_free(pcb->pcb_ext, ctob(IOPAGES + 1));
sys/i386/i386/vm_machdep.c
374
pcb->pcb_ext = NULL;
sys/i386/i386/vm_machdep.c
381
struct pcb *pcb;
sys/i386/i386/vm_machdep.c
384
td->td_pcb = pcb = get_pcb_td(td);
sys/i386/i386/vm_machdep.c
385
td->td_frame = (struct trapframe *)((caddr_t)pcb -
sys/i386/i386/vm_machdep.c
387
pcb->pcb_ext = NULL;
sys/i386/i386/vm_machdep.c
388
pcb->pcb_save = get_pcb_user_save_pcb(pcb);
sys/i386/i386/vm_machdep.c
390
xhdr = (struct xstate_hdr *)(pcb->pcb_save + 1);
sys/i386/include/md_var.h
81
union savefpu *get_pcb_user_save_pcb(struct pcb *pcb);
sys/i386/include/npx.h
49
#define PCB_USER_FPU(pcb) (((pcb)->pcb_flags & PCB_KERNNPX) == 0)
sys/i386/include/pcb.h
102
struct pcb sp_pcb;
sys/i386/include/pcb.h
111
void makectx(struct trapframe *, struct pcb *);
sys/i386/include/pcb.h
112
int savectx(struct pcb *) __returns_twice;
sys/i386/include/pcb.h
113
void resumectx(struct pcb *) __fastcall;
sys/i386/include/pcpu_aux.h
58
static __inline __pure2 struct pcb *
sys/i386/include/pcpu_aux.h
61
struct pcb *pcb;
sys/i386/include/pcpu_aux.h
63
__asm("movl %%fs:%c1,%0" : "=r" (pcb)
sys/i386/include/pcpu_aux.h
65
return (pcb);
sys/i386/linux/linux_sysvec.c
568
struct pcb *pcb = td->td_pcb;
sys/i386/linux/linux_sysvec.c
573
pcb->pcb_gs = 0;
sys/i386/linux/linux_sysvec.c
576
pcb->pcb_initial_npxcw = __LINUX_NPXCW__;
sys/kern/kern_mib.c
777
const int pcb_size = sizeof(struct pcb);
sys/kern/kern_mib.c
778
SYSCTL_SIZEOF_STRUCT(pcb);
sys/kern/kern_shutdown.c
240
struct pcb dumppcb; /* Registers. */
sys/kern/subr_kdb.c
61
static struct pcb kdb_pcb;
sys/kern/subr_kdb.c
62
struct pcb *kdb_thrctx = NULL;
sys/kern/subr_kdb.c
636
struct pcb *
sys/kern/subr_smp.c
112
struct pcb *stoppcbs;
sys/kern/subr_smp.c
210
stoppcbs = mallocarray(mp_maxid + 1, sizeof(struct pcb), M_DEVBUF,
sys/net/debugnet.c
109
debugnet_get_gw_mac(const struct debugnet_pcb *pcb)
sys/net/debugnet.c
111
MPASS(g_debugnet_pcb_inuse && pcb == &g_dnet_pcb &&
sys/net/debugnet.c
112
pcb->dp_state >= DN_STATE_HAVE_GW_MAC);
sys/net/debugnet.c
113
return (pcb->dp_gw_mac.octet);
sys/net/debugnet.c
117
debugnet_get_server_addr(const struct debugnet_pcb *pcb)
sys/net/debugnet.c
119
MPASS(g_debugnet_pcb_inuse && pcb == &g_dnet_pcb &&
sys/net/debugnet.c
120
pcb->dp_state >= DN_STATE_GOT_HERALD_PORT);
sys/net/debugnet.c
121
return (&pcb->dp_server);
sys/net/debugnet.c
125
debugnet_get_server_port(const struct debugnet_pcb *pcb)
sys/net/debugnet.c
127
MPASS(g_debugnet_pcb_inuse && pcb == &g_dnet_pcb &&
sys/net/debugnet.c
128
pcb->dp_state >= DN_STATE_GOT_HERALD_PORT);
sys/net/debugnet.c
129
return (pcb->dp_server_port);
sys/net/debugnet.c
190
debugnet_udp_output(struct debugnet_pcb *pcb, struct mbuf *m)
sys/net/debugnet.c
194
MPASS(pcb->dp_state >= DN_STATE_HAVE_GW_MAC);
sys/net/debugnet.c
205
udp->uh_sport = htons(pcb->dp_client_port);
sys/net/debugnet.c
206
udp->uh_dport = htons(pcb->dp_server_port);
sys/net/debugnet.c
210
return (debugnet_ip_output(pcb, m));
sys/net/debugnet.c
214
debugnet_ack_output(struct debugnet_pcb *pcb, uint32_t seqno /* net endian */)
sys/net/debugnet.c
232
return (debugnet_udp_output(pcb, m));
sys/net/debugnet.c
259
debugnet_send(struct debugnet_pcb *pcb, uint32_t type, const void *data,
sys/net/debugnet.c
268
if (pcb->dp_state == DN_STATE_REMOTE_CLOSED)
sys/net/debugnet.c
272
pcb->dp_rcvd_acks = 0;
sys/net/debugnet.c
282
pktlen = min(pktlen, pcb->dp_ifp->if_mtu -
sys/net/debugnet.c
289
if ((pcb->dp_rcvd_acks & (1 << i)) != 0) {
sys/net/debugnet.c
307
dn_msg_hdr->mh_seqno = htonl(pcb->dp_seqno + i);
sys/net/debugnet.c
335
error = debugnet_udp_output(pcb, m);
sys/net/debugnet.c
353
while (pcb->dp_rcvd_acks != want_acks) {
sys/net/debugnet.c
360
debugnet_network_poll(pcb);
sys/net/debugnet.c
362
if (pcb->dp_state == DN_STATE_REMOTE_CLOSED)
sys/net/debugnet.c
365
pcb->dp_seqno += i;
sys/net/debugnet.c
378
debugnet_handle_rx_msg(struct debugnet_pcb *pcb, struct mbuf **mb)
sys/net/debugnet.c
413
pcb->dp_state = DN_STATE_REMOTE_CLOSED;
sys/net/debugnet.c
414
if (pcb->dp_finish_handler != NULL) {
sys/net/debugnet.c
415
pcb->dp_finish_handler();
sys/net/debugnet.c
431
error = pcb->dp_rx_handler(m);
sys/net/debugnet.c
438
error = debugnet_ack_output(pcb, seqno);
sys/net/debugnet.c
445
debugnet_handle_ack(struct debugnet_pcb *pcb, struct mbuf **mb, uint16_t sport)
sys/net/debugnet.c
470
if (pcb->dp_state < DN_STATE_GOT_HERALD_PORT) {
sys/net/debugnet.c
471
pcb->dp_server_port = sport;
sys/net/debugnet.c
472
pcb->dp_state = DN_STATE_GOT_HERALD_PORT;
sys/net/debugnet.c
474
if (rcv_ackno >= pcb->dp_seqno + DEBUGNET_MAX_IN_FLIGHT)
sys/net/debugnet.c
476
else if (rcv_ackno >= pcb->dp_seqno) {
sys/net/debugnet.c
478
pcb->dp_rcvd_acks |= 1 << (rcv_ackno - pcb->dp_seqno);
sys/net/debugnet.c
483
debugnet_handle_udp(struct debugnet_pcb *pcb, struct mbuf **mb)
sys/net/debugnet.c
509
if (ntohs(udp->uh_dport) != pcb->dp_client_port) {
sys/net/debugnet.c
527
debugnet_handle_ack(pcb, mb, sport);
sys/net/debugnet.c
531
if (pcb->dp_rx_handler == NULL) {
sys/net/debugnet.c
540
debugnet_handle_rx_msg(pcb, mb);
sys/net/debugnet.c
631
debugnet_network_poll(struct debugnet_pcb *pcb)
sys/net/debugnet.c
635
ifp = pcb->dp_ifp;
sys/net/debugnet.c
643
debugnet_free(struct debugnet_pcb *pcb)
sys/net/debugnet.c
647
MPASS(pcb == &g_dnet_pcb);
sys/net/debugnet.c
648
MPASS(pcb->dp_drv_input == NULL || g_debugnet_pcb_inuse);
sys/net/debugnet.c
650
ifp = pcb->dp_ifp;
sys/net/debugnet.c
652
if (pcb->dp_drv_input != NULL)
sys/net/debugnet.c
653
ifp->if_input = pcb->dp_drv_input;
sys/net/debugnet.c
654
if (pcb->dp_event_started)
sys/net/debugnet.c
668
struct debugnet_pcb *pcb;
sys/net/debugnet.c
677
pcb = &g_dnet_pcb;
sys/net/debugnet.c
678
*pcb = (struct debugnet_pcb) {
sys/net/debugnet.c
695
if (pcb->dp_client == INADDR_ANY || pcb->dp_gateway == INADDR_ANY ||
sys/net/debugnet.c
696
pcb->dp_ifp == NULL) {
sys/net/debugnet.c
705
.sin_addr.s_addr = pcb->dp_server,
sys/net/debugnet.c
734
if (pcb->dp_client == INADDR_ANY)
sys/net/debugnet.c
735
pcb->dp_client = local_sin->sin_addr.s_addr;
sys/net/debugnet.c
736
if (pcb->dp_gateway == INADDR_ANY && gw_sin != NULL)
sys/net/debugnet.c
737
pcb->dp_gateway = gw_sin->sin_addr.s_addr;
sys/net/debugnet.c
738
if (pcb->dp_ifp == NULL)
sys/net/debugnet.c
739
pcb->dp_ifp = rt_ifp;
sys/net/debugnet.c
742
ifp = pcb->dp_ifp;
sys/net/debugnet.c
747
inet_ntop(AF_INET, &pcb->dp_server, serbuf, sizeof(serbuf));
sys/net/debugnet.c
748
inet_ntop(AF_INET, &pcb->dp_client, clibuf, sizeof(clibuf));
sys/net/debugnet.c
749
if (pcb->dp_gateway != INADDR_ANY)
sys/net/debugnet.c
750
inet_ntop(AF_INET, &pcb->dp_gateway, gwbuf, sizeof(gwbuf));
sys/net/debugnet.c
752
serbuf, pcb->dp_server_port,
sys/net/debugnet.c
753
(pcb->dp_gateway == INADDR_ANY) ? "" : " via ",
sys/net/debugnet.c
754
(pcb->dp_gateway == INADDR_ANY) ? "" : gwbuf,
sys/net/debugnet.c
755
clibuf, pcb->dp_client_port, if_name(ifp));
sys/net/debugnet.c
773
pcb->dp_event_started = true;
sys/net/debugnet.c
783
pcb->dp_drv_input = ifp->if_input;
sys/net/debugnet.c
789
error = debugnet_arp_gw(pcb);
sys/net/debugnet.c
794
MPASS(pcb->dp_state == DN_STATE_HAVE_GW_MAC);
sys/net/debugnet.c
800
error = debugnet_send(pcb, DEBUGNET_HERALD, dcp->dc_herald_data,
sys/net/debugnet.c
807
*pcb_out = pcb;
sys/net/debugnet.c
811
debugnet_free(pcb);
sys/net/debugnet.h
186
debugnet_sendempty(struct debugnet_pcb *pcb, uint32_t mhtype)
sys/net/debugnet.h
188
return (debugnet_send(pcb, mhtype, NULL, 0, NULL));
sys/net/debugnet_inet.c
176
if (ip->ip_src.s_addr != pcb->dp_server) {
sys/net/debugnet_inet.c
183
if (ip->ip_dst.s_addr != pcb->dp_client) {
sys/net/debugnet_inet.c
216
debugnet_handle_udp(pcb, mb);
sys/net/debugnet_inet.c
228
debugnet_send_arp(struct debugnet_pcb *pcb, in_addr_t dst)
sys/net/debugnet_inet.c
236
ifp = pcb->dp_ifp;
sys/net/debugnet_inet.c
256
((struct in_addr *)ar_spa(ah))->s_addr = pcb->dp_client;
sys/net/debugnet_inet.c
277
debugnet_handle_arp(struct debugnet_pcb *pcb, struct mbuf **mb)
sys/net/debugnet_inet.c
331
if (isaddr.s_addr == pcb->dp_client) {
sys/net/debugnet_inet.c
344
if (isaddr.s_addr != pcb->dp_gateway &&
sys/net/debugnet_inet.c
345
isaddr.s_addr != pcb->dp_server) {
sys/net/debugnet_inet.c
351
if (pcb->dp_state >= DN_STATE_HAVE_GW_MAC) {
sys/net/debugnet_inet.c
357
MPASS(pcb->dp_state == DN_STATE_INIT);
sys/net/debugnet_inet.c
358
memcpy(pcb->dp_gw_mac.octet, ar_sha(ah),
sys/net/debugnet_inet.c
362
pcb->dp_gw_mac.octet, ":");
sys/net/debugnet_inet.c
364
pcb->dp_state = DN_STATE_HAVE_GW_MAC;
sys/net/debugnet_inet.c
373
if (itaddr.s_addr != pcb->dp_client) {
sys/net/debugnet_inet.c
403
debugnet_arp_gw(struct debugnet_pcb *pcb)
sys/net/debugnet_inet.c
408
dst = pcb->dp_server;
sys/net/debugnet_inet.c
411
error = debugnet_send_arp(pcb, dst);
sys/net/debugnet_inet.c
415
pcb->dp_state < DN_STATE_HAVE_GW_MAC; polls++) {
sys/net/debugnet_inet.c
416
debugnet_network_poll(pcb);
sys/net/debugnet_inet.c
419
if (pcb->dp_state >= DN_STATE_HAVE_GW_MAC)
sys/net/debugnet_inet.c
423
if (pcb->dp_state >= DN_STATE_HAVE_GW_MAC)
sys/net/debugnet_inet.c
425
if (dst == pcb->dp_server) {
sys/net/debugnet_inet.c
427
if (pcb->dp_gateway != INADDR_ANY) {
sys/net/debugnet_inet.c
429
dst = pcb->dp_gateway;
sys/net/debugnet_inet.c
452
debugnet_ip_output(struct debugnet_pcb *pcb, struct mbuf *m)
sys/net/debugnet_inet.c
458
MPASS(pcb->dp_state >= DN_STATE_HAVE_GW_MAC);
sys/net/debugnet_inet.c
460
ifp = pcb->dp_ifp;
sys/net/debugnet_inet.c
481
ip->ip_src = (struct in_addr) { pcb->dp_client };
sys/net/debugnet_inet.c
482
ip->ip_dst = (struct in_addr) { pcb->dp_server };
sys/net/debugnet_inet.c
499
return (debugnet_ether_output(m, ifp, pcb->dp_gw_mac, ETHERTYPE_IP));
sys/net/debugnet_inet.c
81
debugnet_handle_ip(struct debugnet_pcb *pcb, struct mbuf **mb)
sys/net/debugnet_inet.c
87
if (pcb->dp_state < DN_STATE_HAVE_GW_MAC)
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1013
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1015
if (bcmp(sa, &pcb->addr, sizeof(pcb->addr)) != 0) {
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1016
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1022
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1035
ng_btsocket_hci_raw_pcb_p pcb = so2hci_raw_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1040
if (pcb == NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1045
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1048
if (pcb->addr.hci_node[0] == 0) {
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1049
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1054
if (pcb->token != 0) {
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1055
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1059
snprintf(path, sizeof(path), "%s:", pcb->addr.hci_node);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1066
error = ng_btsocket_hci_raw_send_sync_ngmsg(pcb, path,
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1072
if (pcb->flags & NG_BTSOCKET_HCI_RAW_PRIVILEGED)
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1083
error = ng_btsocket_hci_raw_send_sync_ngmsg(pcb, path,
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1092
if (pcb->flags & NG_BTSOCKET_HCI_RAW_PRIVILEGED)
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1104
error = ng_btsocket_hci_raw_send_sync_ngmsg(pcb, path,
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1113
error = ng_btsocket_hci_raw_send_sync_ngmsg(pcb, path,
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1122
error = ng_btsocket_hci_raw_send_sync_ngmsg(pcb, path,
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1131
error = ng_btsocket_hci_raw_send_sync_ngmsg(pcb, path,
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1137
if (pcb->flags & NG_BTSOCKET_HCI_RAW_PRIVILEGED)
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1145
if (pcb->flags & NG_BTSOCKET_HCI_RAW_PRIVILEGED)
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1162
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1169
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1173
pcb->token = msg->header.token;
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1174
pcb->msg = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1178
pcb->token = 0;
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1179
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1183
error = msleep(&pcb->msg, &pcb->pcb_mtx,
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1186
pcb->token = 0;
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1189
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1193
msg = pcb->msg;
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1194
pcb->msg = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1196
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1225
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1232
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1236
pcb->token = msg->header.token;
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1237
pcb->msg = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1241
pcb->token = 0;
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1242
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1246
error = msleep(&pcb->msg, &pcb->pcb_mtx,
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1249
pcb->token = 0;
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1252
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1256
msg = pcb->msg;
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1257
pcb->msg = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1259
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1285
error = ng_btsocket_hci_raw_send_sync_ngmsg(pcb, path,
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1295
if (pcb->flags & NG_BTSOCKET_HCI_RAW_PRIVILEGED)
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1308
error = ng_btsocket_hci_raw_send_sync_ngmsg(pcb, path,
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1317
if (pcb->flags & NG_BTSOCKET_HCI_RAW_PRIVILEGED)
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1330
error = ng_btsocket_hci_raw_send_sync_ngmsg(pcb, path,
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1339
if (pcb->flags & NG_BTSOCKET_HCI_RAW_PRIVILEGED)
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1354
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1361
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1365
pcb->token = msg->header.token;
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1366
pcb->msg = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1370
pcb->token = 0;
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1371
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1375
error = msleep(&pcb->msg, &pcb->pcb_mtx,
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1378
pcb->token = 0;
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1381
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1385
msg = pcb->msg;
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1386
pcb->msg = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1388
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1424
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1436
ng_btsocket_hci_raw_pcb_p pcb = so2hci_raw_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1440
if (pcb == NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1448
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1454
error = sooptcopyout(sopt, &pcb->filter,
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1455
sizeof(pcb->filter));
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1459
dir = (pcb->flags & NG_BTSOCKET_HCI_RAW_DIRECTION)?1:0;
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1475
bcopy(&filter, &pcb->filter,
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1476
sizeof(pcb->filter));
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1486
pcb->flags |= NG_BTSOCKET_HCI_RAW_DIRECTION;
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1488
pcb->flags &= ~NG_BTSOCKET_HCI_RAW_DIRECTION;
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1502
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1514
ng_btsocket_hci_raw_pcb_p pcb = so2hci_raw_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1516
KASSERT(pcb != NULL, ("ng_btsocket_hci_raw_detach: pcb == NULL"));
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1522
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1524
LIST_REMOVE(pcb, next);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1526
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1529
mtx_destroy(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1531
bzero(pcb, sizeof(*pcb));
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1532
free(pcb, M_NETGRAPH_BTSOCKET_HCI_RAW);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1544
ng_btsocket_hci_raw_pcb_p pcb = so2hci_raw_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1546
if (pcb == NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1551
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1553
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1566
ng_btsocket_hci_raw_pcb_p pcb = so2hci_raw_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1574
if (pcb == NULL) {
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1611
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1613
error = ng_btsocket_hci_raw_filter(pcb, m, 0);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1615
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1620
if (pcb->addr.hci_node[0] == 0) {
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1621
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1626
sa = (struct sockaddr *) &pcb->addr;
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1631
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1642
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1661
ng_btsocket_hci_raw_pcb_p pcb = so2hci_raw_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1664
if (pcb == NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1674
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1675
strlcpy(hci->hci_node, pcb->addr.hci_node, sizeof(hci->hci_node));
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1676
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
408
ng_btsocket_hci_raw_send_sync_ngmsg(ng_btsocket_hci_raw_pcb_p pcb, char *path,
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
414
mtx_assert(&pcb->pcb_mtx, MA_OWNED);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
421
pcb->token = msg->header.token;
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
422
pcb->msg = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
426
pcb->token = 0;
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
430
error = msleep(&pcb->msg, &pcb->pcb_mtx, PZERO|PCATCH, "hcictl",
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
432
pcb->token = 0;
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
437
if (pcb->msg != NULL && pcb->msg->header.cmd == cmd)
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
438
bcopy(pcb->msg->data, rsp, rsplen);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
442
NG_FREE_MSG(pcb->msg); /* checks for != NULL */
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
452
ng_btsocket_hci_raw_savctl(ng_btsocket_hci_raw_pcb_p pcb, struct mbuf **ctl,
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
458
mtx_assert(&pcb->pcb_mtx, MA_OWNED);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
460
if (pcb->flags & NG_BTSOCKET_HCI_RAW_DIRECTION) {
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
468
if (pcb->so->so_options & SO_TIMESTAMP) {
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
484
ng_btsocket_hci_raw_pcb_p pcb = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
500
LIST_FOREACH(pcb, &ng_btsocket_hci_raw_sockets, next) {
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
501
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
508
if (pcb->addr.hci_node[0] != 0 &&
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
509
strcmp(sa->hci_node, pcb->addr.hci_node) != 0)
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
517
if (ng_btsocket_hci_raw_filter(pcb, m0, 1) != 0)
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
530
ng_btsocket_hci_raw_savctl(pcb, &ctl, m);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
532
if (sbappendaddr(&pcb->so->so_rcv,
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
534
sorwakeup(pcb->so);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
541
soroverflow(pcb->so);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
545
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
561
ng_btsocket_hci_raw_pcb_p pcb = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
565
LIST_FOREACH(pcb, &ng_btsocket_hci_raw_sockets, next) {
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
566
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
568
if (msg->header.token == pcb->token) {
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
569
pcb->msg = msg;
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
570
wakeup(&pcb->msg);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
572
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
578
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
676
ng_btsocket_hci_raw_filter(ng_btsocket_hci_raw_pcb_p pcb, struct mbuf *m, int d)
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
680
mtx_assert(&pcb->pcb_mtx, MA_OWNED);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
684
if (!(pcb->flags & NG_BTSOCKET_HCI_RAW_PRIVILEGED)) {
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
693
if (d && !bit_test(pcb->filter.packet_mask, NG_HCI_CMD_PKT - 1))
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
699
if (!(pcb->flags & NG_BTSOCKET_HCI_RAW_PRIVILEGED) ||
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
700
!bit_test(pcb->filter.packet_mask, type - 1) ||
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
711
if (!(pcb->flags & NG_BTSOCKET_HCI_RAW_PRIVILEGED))
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
715
if (!bit_test(pcb->filter.event_mask, event))
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
910
ng_btsocket_hci_raw_pcb_p pcb = so2hci_raw_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
913
if (pcb != NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
928
pcb = malloc(sizeof(*pcb),
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
930
if (pcb == NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
933
so->so_pcb = (caddr_t) pcb;
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
934
pcb->so = so;
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
937
pcb->flags |= NG_BTSOCKET_HCI_RAW_PRIVILEGED;
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
944
bit_set(pcb->filter.event_mask, NG_HCI_EVENT_COMMAND_COMPL - 1);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
945
bit_set(pcb->filter.event_mask, NG_HCI_EVENT_COMMAND_STATUS - 1);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
947
mtx_init(&pcb->pcb_mtx, "btsocks_hci_raw_pcb_mtx", NULL, MTX_DEF);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
950
LIST_INSERT_HEAD(&ng_btsocket_hci_raw_sockets, pcb, next);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
964
ng_btsocket_hci_raw_pcb_p pcb = so2hci_raw_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
967
if (pcb == NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
981
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
982
bcopy(sa, &pcb->addr, sizeof(pcb->addr));
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
983
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
996
ng_btsocket_hci_raw_pcb_p pcb = so2hci_raw_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
999
if (pcb == NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1000
pcb->flush_timo = ip->flush_timo;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1007
if (!(pcb->cfg_state & NG_BTSOCKET_L2CAP_CFG_OUT_SENT)) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1008
error = ng_btsocket_l2cap_send_l2ca_cfg_rsp(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1010
ng_btsocket_l2cap_untimeout(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1012
pcb->so->so_error = error;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1015
ng_btsocket_l2cap_send_l2ca_discon_req(0, pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1018
pcb->state = NG_BTSOCKET_L2CAP_CLOSED;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1019
soisdisconnected(pcb->so);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1021
pcb->cfg_state |= NG_BTSOCKET_L2CAP_CFG_OUT_SENT;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1024
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1039
ng_btsocket_l2cap_pcb_t *pcb = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1055
pcb = ng_btsocket_l2cap_pcb_by_token(msg->header.token);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1056
if (pcb == NULL) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1061
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1064
if (pcb->state != NG_BTSOCKET_L2CAP_CLOSED) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1069
pcb->src.b[5], pcb->src.b[4], pcb->src.b[3],
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1070
pcb->src.b[2], pcb->src.b[1], pcb->src.b[0],
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1071
pcb->dst.b[5], pcb->dst.b[4], pcb->dst.b[3],
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1072
pcb->dst.b[2], pcb->dst.b[1], pcb->dst.b[0],
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1073
pcb->psm, pcb->cid, op->result, pcb->state);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1075
ng_btsocket_l2cap_untimeout(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1077
pcb->state = NG_BTSOCKET_L2CAP_CLOSED;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1078
soisdisconnected(pcb->so);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1081
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1096
ng_btsocket_l2cap_pcb_t *pcb = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1107
pcb = ng_btsocket_l2cap_pcb_by_cid(&rt->src, ip->lcid,
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1109
if (pcb == NULL) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1120
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1126
pcb->src.b[5], pcb->src.b[4], pcb->src.b[3],
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1127
pcb->src.b[2], pcb->src.b[1], pcb->src.b[0],
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1128
pcb->dst.b[5], pcb->dst.b[4], pcb->dst.b[3],
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1129
pcb->dst.b[2], pcb->dst.b[1], pcb->dst.b[0],
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1130
pcb->psm, pcb->cid, pcb->state);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1132
if (pcb->flags & NG_BTSOCKET_L2CAP_TIMO)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1133
ng_btsocket_l2cap_untimeout(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1135
pcb->state = NG_BTSOCKET_L2CAP_CLOSED;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1136
soisdisconnected(pcb->so);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1138
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1153
ng_btsocket_l2cap_pcb_t *pcb = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1164
pcb = ng_btsocket_l2cap_pcb_by_token(msg->header.token);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1165
if (pcb == NULL) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1170
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1176
pcb->src.b[5], pcb->src.b[4], pcb->src.b[3],
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1177
pcb->src.b[2], pcb->src.b[1], pcb->src.b[0],
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1178
pcb->dst.b[5], pcb->dst.b[4], pcb->dst.b[3],
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1179
pcb->dst.b[2], pcb->dst.b[1], pcb->dst.b[0],
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1180
pcb->psm, pcb->cid, op->result, op->length,
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1181
pcb->state);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1183
if (pcb->state != NG_BTSOCKET_L2CAP_OPEN) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1184
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1190
ng_btsocket_l2cap_untimeout(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1195
sbdroprecord(&pcb->so->so_snd);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1196
if (sbavail(&pcb->so->so_snd) > 0) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1197
if (ng_btsocket_l2cap_send2(pcb) == 0)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1198
ng_btsocket_l2cap_timeout(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1200
sbdroprecord(&pcb->so->so_snd); /* XXX */
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1208
pcb->so->so_error = ng_btsocket_l2cap_result2errno(op->result);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1209
sowwakeup(pcb->so);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1211
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1222
ng_btsocket_l2cap_send_l2ca_con_req(ng_btsocket_l2cap_pcb_p pcb)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1228
mtx_assert(&pcb->pcb_mtx, MA_OWNED);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1230
if (pcb->rt == NULL ||
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1231
pcb->rt->hook == NULL || NG_HOOK_NOT_VALID(pcb->rt->hook))
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1239
msg->header.token = pcb->token;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1242
bcopy(&pcb->dst, &ip->bdaddr, sizeof(ip->bdaddr));
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1243
ip->psm = pcb->psm;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1244
ip->linktype = ng_btsock_l2cap_addrtype_to_linktype(pcb->dsttype);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1245
ip->idtype = pcb->idtype;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1246
NG_SEND_MSG_HOOK(error, ng_btsocket_l2cap_node, msg,pcb->rt->hook, 0);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1292
ng_btsocket_l2cap_send_l2ca_cfg_req(ng_btsocket_l2cap_pcb_p pcb)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1298
mtx_assert(&pcb->pcb_mtx, MA_OWNED);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1300
if (pcb->rt == NULL ||
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1301
pcb->rt->hook == NULL || NG_HOOK_NOT_VALID(pcb->rt->hook))
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1309
msg->header.token = pcb->token;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1312
ip->lcid = pcb->cid;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1313
ip->imtu = pcb->imtu;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1314
bcopy(&pcb->oflow, &ip->oflow, sizeof(ip->oflow));
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1315
ip->flush_timo = pcb->flush_timo;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1316
ip->link_timo = pcb->link_timo;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1318
NG_SEND_MSG_HOOK(error, ng_btsocket_l2cap_node, msg,pcb->rt->hook, 0);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1328
ng_btsocket_l2cap_send_l2ca_cfg_rsp(ng_btsocket_l2cap_pcb_p pcb)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1334
mtx_assert(&pcb->pcb_mtx, MA_OWNED);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1336
if (pcb->rt == NULL ||
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1337
pcb->rt->hook == NULL || NG_HOOK_NOT_VALID(pcb->rt->hook))
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1345
msg->header.token = pcb->token;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1348
ip->lcid = pcb->cid;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1349
ip->omtu = pcb->omtu;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1350
bcopy(&pcb->iflow, &ip->iflow, sizeof(ip->iflow));
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1352
NG_SEND_MSG_HOOK(error, ng_btsocket_l2cap_node, msg, pcb->rt->hook, 0);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1363
ng_btsocket_l2cap_pcb_p pcb)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1369
mtx_assert(&pcb->pcb_mtx, MA_OWNED);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1371
if (pcb->rt == NULL ||
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1372
pcb->rt->hook == NULL || NG_HOOK_NOT_VALID(pcb->rt->hook))
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1383
ip->lcid = pcb->cid;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1384
ip->idtype = pcb->idtype;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1386
NG_SEND_MSG_HOOK(error, ng_btsocket_l2cap_node, msg,pcb->rt->hook, 0);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1406
ng_btsocket_l2cap_pcb_t *pcb = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1477
pcb = ng_btsocket_l2cap_pcb_by_cid(&rt->src, hdr->dcid,idtype);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1478
if (pcb == NULL) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1483
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1485
if (pcb->state != NG_BTSOCKET_L2CAP_OPEN) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1491
hdr->dcid, pcb->state);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1493
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1499
if (hdr->length > pcb->imtu) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1506
hdr->dcid, hdr->length, pcb->imtu);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1508
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1514
if (m->m_pkthdr.len > sbspace(&pcb->so->so_rcv)) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1529
sbspace(&pcb->so->so_rcv));
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1531
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1537
sbappendrecord(&pcb->so->so_rcv, m);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1540
sorwakeup(pcb->so);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1542
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1591
LIST_FOREACH(pcb, &ng_btsocket_l2cap_sockets, next) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1594
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1596
if (bcmp(&rt->src, &pcb->src, sizeof(pcb->src)) != 0 ||
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1597
pcb->psm != clt_hdr->psm ||
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1598
pcb->state != NG_BTSOCKET_L2CAP_OPEN ||
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1599
(pcb->so->so_options & SO_BROADCAST) == 0 ||
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1600
m->m_pkthdr.len > sbspace(&pcb->so->so_rcv))
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1611
sbappendrecord(&pcb->so->so_rcv, copy);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1612
sorwakeup(pcb->so);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1615
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1829
ng_btsocket_l2cap_pcb_p pcb = NULL, pcb_next = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1839
for (pcb = LIST_FIRST(&ng_btsocket_l2cap_sockets); pcb != NULL; ) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1840
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1841
pcb_next = LIST_NEXT(pcb, next);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1843
if (pcb->rt != NULL &&
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1844
pcb->rt->hook != NULL && NG_HOOK_NOT_VALID(pcb->rt->hook)) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1845
if (pcb->flags & NG_BTSOCKET_L2CAP_TIMO)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1846
ng_btsocket_l2cap_untimeout(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1848
pcb->so->so_error = ENETDOWN;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1849
pcb->state = NG_BTSOCKET_L2CAP_CLOSED;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1850
soisdisconnected(pcb->so);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1852
pcb->token = 0;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1853
pcb->cid = 0;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1854
pcb->rt = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1857
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1858
pcb = pcb_next;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1978
ng_btsocket_l2cap_pcb_p pcb = so2l2cap_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1993
if (pcb != NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2005
pcb = malloc(sizeof(*pcb),
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2007
if (pcb == NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2011
so->so_pcb = (caddr_t) pcb;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2012
pcb->so = so;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2013
pcb->state = NG_BTSOCKET_L2CAP_CLOSED;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2016
pcb->imtu = pcb->omtu = NG_L2CAP_MTU_DEFAULT;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2019
pcb->iflow.flags = 0x0;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2020
pcb->iflow.service_type = NG_HCI_SERVICE_TYPE_BEST_EFFORT;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2021
pcb->iflow.token_rate = 0xffffffff; /* maximum */
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2022
pcb->iflow.token_bucket_size = 0xffffffff; /* maximum */
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2023
pcb->iflow.peak_bandwidth = 0x00000000; /* maximum */
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2024
pcb->iflow.latency = 0xffffffff; /* don't care */
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2025
pcb->iflow.delay_variation = 0xffffffff; /* don't care */
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2027
bcopy(&pcb->iflow, &pcb->oflow, sizeof(pcb->oflow));
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2029
pcb->flush_timo = NG_L2CAP_FLUSH_TIMO_DEFAULT;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2030
pcb->link_timo = NG_L2CAP_LINK_TIMO_DEFAULT;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2039
mtx_init(&pcb->pcb_mtx, "btsocks_l2cap_pcb_mtx", NULL,
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2041
callout_init_mtx(&pcb->timo, &pcb->pcb_mtx, 0);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2071
pcb->token = token;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2073
LIST_INSERT_HEAD(&ng_btsocket_l2cap_sockets, pcb, next);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2089
ng_btsocket_l2cap_pcb_t *pcb = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2118
LIST_FOREACH(pcb, &ng_btsocket_l2cap_sockets, next)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2119
if (psm != 0 && psm == pcb->psm &&
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2120
bcmp(&pcb->src, &sa->l2cap_bdaddr, sizeof(bdaddr_t)) == 0)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2123
if (pcb == NULL) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2125
pcb = so2l2cap_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2126
if (pcb != NULL) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2127
bcopy(&sa->l2cap_bdaddr, &pcb->src, sizeof(pcb->src));
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2128
pcb->psm = psm;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2147
ng_btsocket_l2cap_pcb_t *pcb = so2l2cap_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2155
if (pcb == NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2159
if (pcb->state == NG_BTSOCKET_L2CAP_CONNECTING)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2193
if (pcb->psm != 0 && pcb->psm != le16toh(sa->l2cap_psm))
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2204
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2207
bcopy(&sa->l2cap_bdaddr, &pcb->dst, sizeof(pcb->dst));
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2208
pcb->psm = le16toh(sa->l2cap_psm);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2209
pcb->dsttype = sa->l2cap_bdaddr_type;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2210
pcb->cid = 0;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2211
pcb->idtype = idtype;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2212
pcb->rt = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2213
have_src = bcmp(&pcb->src, NG_HCI_BDADDR_ANY, sizeof(pcb->src));
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2221
if (bcmp(&pcb->src, &rt->src, sizeof(rt->src)) == 0)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2224
if (bcmp(&pcb->dst, &rt->src, sizeof(rt->src)) != 0)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2230
pcb->rt = rt;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2233
bcopy(&rt->src, &pcb->src, sizeof(pcb->src));
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2234
pcb->srctype =
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2246
error = ng_btsocket_l2cap_send_l2ca_con_req(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2248
pcb->flags |= NG_BTSOCKET_L2CAP_CLIENT;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2249
pcb->state = NG_BTSOCKET_L2CAP_CONNECTING;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2250
soisconnecting(pcb->so);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2252
ng_btsocket_l2cap_timeout(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2256
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2281
ng_btsocket_l2cap_pcb_p pcb = so2l2cap_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2285
if (pcb == NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2293
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2299
error = sooptcopyout(sopt, &pcb->imtu,
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2300
sizeof(pcb->imtu));
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2304
error = sooptcopyout(sopt, &pcb->omtu,
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2305
sizeof(pcb->omtu));
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2309
error = sooptcopyout(sopt, &pcb->iflow,
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2310
sizeof(pcb->iflow));
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2314
error = sooptcopyout(sopt, &pcb->oflow,
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2315
sizeof(pcb->oflow));
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2319
error = sooptcopyout(sopt, &pcb->flush_timo,
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2320
sizeof(pcb->flush_timo));
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2323
error = sooptcopyout(sopt, &pcb->need_encrypt,
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2324
sizeof(pcb->need_encrypt));
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2342
if (pcb->state != NG_BTSOCKET_L2CAP_CLOSED) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2351
pcb->imtu = v.mtu;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2357
bcopy(&v.flow, &pcb->oflow, sizeof(pcb->oflow));
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2364
pcb->flush_timo = v.flush_timo;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2367
if((pcb->state != NG_BTSOCKET_L2CAP_OPEN) &&
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2368
(pcb->state != NG_BTSOCKET_L2CAP_W4_ENC_CHANGE)){
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2372
pcb->need_encrypt = (v.encryption)?1:0;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2388
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2400
ng_btsocket_l2cap_pcb_p pcb = so2l2cap_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2402
KASSERT(pcb != NULL, ("ng_btsocket_l2cap_detach: pcb == NULL"));
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2408
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2411
if (pcb->flags & NG_BTSOCKET_L2CAP_TIMO)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2412
ng_btsocket_l2cap_untimeout(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2414
if (pcb->state != NG_BTSOCKET_L2CAP_CLOSED &&
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2415
pcb->state != NG_BTSOCKET_L2CAP_DISCONNECTING)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2417
ng_btsocket_l2cap_send_l2ca_discon_req(0, pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2419
pcb->state = NG_BTSOCKET_L2CAP_CLOSED;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2421
LIST_REMOVE(pcb, next);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2423
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2426
mtx_destroy(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2427
bzero(pcb, sizeof(*pcb));
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2428
free(pcb, M_NETGRAPH_BTSOCKET_L2CAP);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2441
ng_btsocket_l2cap_pcb_p pcb = so2l2cap_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2444
if (pcb == NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2449
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2451
if (pcb->state == NG_BTSOCKET_L2CAP_DISCONNECTING) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2452
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2456
if (pcb->state != NG_BTSOCKET_L2CAP_CLOSED) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2458
if (pcb->flags & NG_BTSOCKET_L2CAP_TIMO)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2459
ng_btsocket_l2cap_untimeout(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2461
error = ng_btsocket_l2cap_send_l2ca_discon_req(pcb->token, pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2463
pcb->state = NG_BTSOCKET_L2CAP_DISCONNECTING;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2466
ng_btsocket_l2cap_timeout(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2472
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2484
ng_btsocket_l2cap_pcb_p pcb = so2l2cap_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2491
if (pcb == NULL) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2501
if (pcb->psm == 0) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2519
ng_btsocket_l2cap_pcb_p pcb = so2l2cap_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2522
if (pcb == NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2530
.l2cap_psm = htole16(pcb->psm),
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2532
bcopy(&pcb->dst, &l2cap->l2cap_bdaddr, sizeof(l2cap->l2cap_bdaddr));
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2533
switch(pcb->idtype){
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2544
l2cap->l2cap_bdaddr_type = pcb->dsttype;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2557
ng_btsocket_l2cap_pcb_t *pcb = so2l2cap_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2566
if (pcb == NULL || m == NULL || control != NULL) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2571
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2574
if (pcb->state != NG_BTSOCKET_L2CAP_OPEN) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2575
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2581
if (pcb->rt == NULL ||
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2582
pcb->rt->hook == NULL || NG_HOOK_NOT_VALID(pcb->rt->hook)) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2583
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2589
if (m->m_pkthdr.len > pcb->omtu) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2591
"%s: Packet too big, len=%d, omtu=%d\n", __func__, m->m_pkthdr.len, pcb->omtu);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2593
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2605
sbappendrecord(&pcb->so->so_snd, m);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2608
if (!(pcb->flags & NG_BTSOCKET_L2CAP_TIMO)) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2609
error = ng_btsocket_l2cap_send2(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2611
ng_btsocket_l2cap_timeout(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2613
sbdroprecord(&pcb->so->so_snd); /* XXX */
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2616
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2629
ng_btsocket_l2cap_send2(ng_btsocket_l2cap_pcb_p pcb)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2635
mtx_assert(&pcb->pcb_mtx, MA_OWNED);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2637
if (sbavail(&pcb->so->so_snd) == 0)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2640
m = m_dup(pcb->so->so_snd.sb_mb, M_NOWAIT);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2658
hdr->token = pcb->token;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2660
hdr->lcid = pcb->cid;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2661
hdr->idtype = pcb->idtype;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2665
hdr->token, pcb->state);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2672
NG_SEND_DATA_ONLY(error, pcb->rt->hook, m);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2683
ng_btsocket_l2cap_pcb_p pcb = so2l2cap_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2686
if (pcb == NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2694
.l2cap_psm = htole16(pcb->psm),
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2695
.l2cap_bdaddr_type = pcb->srctype,
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2697
bcopy(&pcb->src, &l2cap->l2cap_bdaddr, sizeof(l2cap->l2cap_bdaddr));
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2782
ng_btsocket_l2cap_timeout(ng_btsocket_l2cap_pcb_p pcb)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2784
mtx_assert(&pcb->pcb_mtx, MA_OWNED);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2786
if (!(pcb->flags & NG_BTSOCKET_L2CAP_TIMO)) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2787
pcb->flags |= NG_BTSOCKET_L2CAP_TIMO;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2788
callout_reset(&pcb->timo, bluetooth_l2cap_ertx_timeout(),
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2789
ng_btsocket_l2cap_process_timeout, pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2800
ng_btsocket_l2cap_untimeout(ng_btsocket_l2cap_pcb_p pcb)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2802
mtx_assert(&pcb->pcb_mtx, MA_OWNED);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2804
if (pcb->flags & NG_BTSOCKET_L2CAP_TIMO) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2805
callout_stop(&pcb->timo);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2806
pcb->flags &= ~NG_BTSOCKET_L2CAP_TIMO;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2819
ng_btsocket_l2cap_pcb_p pcb = (ng_btsocket_l2cap_pcb_p) xpcb;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2821
mtx_assert(&pcb->pcb_mtx, MA_OWNED);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2823
pcb->flags &= ~NG_BTSOCKET_L2CAP_TIMO;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2824
pcb->so->so_error = ETIMEDOUT;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2826
switch (pcb->state) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2831
if (pcb->cid != 0)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2832
ng_btsocket_l2cap_send_l2ca_discon_req(0, pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2835
pcb->state = NG_BTSOCKET_L2CAP_CLOSED;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2836
soisdisconnected(pcb->so);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2841
sbdroprecord(&pcb->so->so_snd);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2842
sowwakeup(pcb->so);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2847
pcb->state = NG_BTSOCKET_L2CAP_CLOSED;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2848
soisdisconnected(pcb->so);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
2853
"%s: Invalid socket state=%d\n", __func__, pcb->state);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
417
ng_btsocket_l2cap_pcb_t *pcb = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
428
pcb = ng_btsocket_l2cap_pcb_by_token(msg->header.token);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
429
if (pcb == NULL) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
434
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
440
pcb->src.b[5], pcb->src.b[4], pcb->src.b[3],
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
441
pcb->src.b[2], pcb->src.b[1], pcb->src.b[0],
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
442
pcb->dst.b[5], pcb->dst.b[4], pcb->dst.b[3],
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
443
pcb->dst.b[2], pcb->dst.b[1], pcb->dst.b[0],
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
444
pcb->psm, op->lcid, op->result, op->status,
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
445
pcb->state);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
447
if (pcb->state != NG_BTSOCKET_L2CAP_CONNECTING) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
448
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
454
ng_btsocket_l2cap_untimeout(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
457
ng_btsocket_l2cap_timeout(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
458
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
465
if((pcb->idtype == NG_L2CAP_L2CA_IDTYPE_ATT)||
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
466
(pcb->idtype == NG_L2CAP_L2CA_IDTYPE_SMP)){
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
467
pcb->encryption = op->encryption; pcb->cid = op->lcid;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
468
if(pcb->need_encrypt && !(pcb->encryption)){
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
469
ng_btsocket_l2cap_timeout(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
470
pcb->state = NG_BTSOCKET_L2CAP_W4_ENC_CHANGE;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
472
pcb->state = NG_BTSOCKET_L2CAP_OPEN;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
473
soisconnected(pcb->so);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
482
pcb->cid = op->lcid;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
483
pcb->encryption = op->encryption;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
484
error = ng_btsocket_l2cap_send_l2ca_cfg_req(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
487
ng_btsocket_l2cap_send_l2ca_discon_req(0, pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
490
pcb->state = NG_BTSOCKET_L2CAP_CLOSED;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
491
soisdisconnected(pcb->so);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
493
pcb->cfg_state = NG_BTSOCKET_L2CAP_CFG_IN_SENT;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
494
pcb->state = NG_BTSOCKET_L2CAP_CONFIGURING;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
496
ng_btsocket_l2cap_timeout(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
506
pcb->so->so_error = ng_btsocket_l2cap_result2errno(op->result);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
507
pcb->state = NG_BTSOCKET_L2CAP_CLOSED;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
508
soisdisconnected(pcb->so);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
510
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
525
ng_btsocket_l2cap_pcb_t *pcb = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
535
pcb = ng_btsocket_l2cap_pcb_by_token(msg->header.token);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
536
if (pcb == NULL) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
541
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
547
pcb->src.b[5], pcb->src.b[4], pcb->src.b[3],
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
548
pcb->src.b[2], pcb->src.b[1], pcb->src.b[0],
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
549
pcb->dst.b[5], pcb->dst.b[4], pcb->dst.b[3],
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
550
pcb->dst.b[2], pcb->dst.b[1], pcb->dst.b[0],
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
551
pcb->psm, pcb->cid, op->result, pcb->state);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
553
if (pcb->state != NG_BTSOCKET_L2CAP_CONNECTING) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
554
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
560
ng_btsocket_l2cap_untimeout(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
565
pcb->so->so_error = ng_btsocket_l2cap_result2errno(op->result);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
566
pcb->state = NG_BTSOCKET_L2CAP_CLOSED;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
567
soisdisconnected(pcb->so);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
570
pcb->cfg_state = 0;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
571
pcb->state = NG_BTSOCKET_L2CAP_CONFIGURING;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
572
ng_btsocket_l2cap_timeout(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
575
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
592
ng_btsocket_l2cap_pcb_t *pcb = NULL, *pcb1 = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
614
pcb = ng_btsocket_l2cap_pcb_by_addr(&rt->src, ip->psm);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
615
if (pcb != NULL) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
618
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
620
CURVNET_SET(pcb->so->so_vnet);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
621
so1 = sonewconn(pcb->so, 0);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
641
if (bcmp(&pcb->src, NG_HCI_BDADDR_ANY, sizeof(pcb->src)) != 0)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
642
bcopy(&pcb->src, &pcb1->src, sizeof(pcb1->src));
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
654
pcb1->imtu = pcb->imtu;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
655
bcopy(&pcb->oflow, &pcb1->oflow, sizeof(pcb1->oflow));
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
656
pcb1->flush_timo = pcb->flush_timo;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
683
if (pcb != NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
684
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
694
ng_btsocket_l2cap_pcb_t *pcb = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
703
pcb = ng_btsocket_l2cap_pcb_by_cid(&rt->src, op->lcid,
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
705
if (pcb == NULL) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
710
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
711
pcb->encryption = op->result;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
713
if(pcb->need_encrypt){
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
714
ng_btsocket_l2cap_untimeout(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
715
if(pcb->state != NG_BTSOCKET_L2CAP_W4_ENC_CHANGE){
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
717
__func__, pcb->state);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
718
}else if(pcb->encryption){
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
719
pcb->state = NG_BTSOCKET_L2CAP_OPEN;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
720
soisconnected(pcb->so);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
722
pcb->so->so_error = EPERM;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
723
ng_btsocket_l2cap_send_l2ca_discon_req(0, pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
724
pcb->state = NG_BTSOCKET_L2CAP_CLOSED;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
725
soisdisconnected(pcb->so);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
728
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
742
ng_btsocket_l2cap_pcb_p pcb = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
757
pcb = ng_btsocket_l2cap_pcb_by_token(msg->header.token);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
758
if (pcb == NULL) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
769
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
776
pcb->src.b[5], pcb->src.b[4], pcb->src.b[3],
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
777
pcb->src.b[2], pcb->src.b[1], pcb->src.b[0],
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
778
pcb->dst.b[5], pcb->dst.b[4], pcb->dst.b[3],
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
779
pcb->dst.b[2], pcb->dst.b[1], pcb->dst.b[0],
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
780
pcb->psm, pcb->cid, op->result, pcb->state, pcb->cfg_state);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
782
if (pcb->state != NG_BTSOCKET_L2CAP_CONFIGURING) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
783
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
797
pcb->imtu = op->imtu;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
798
bcopy(&op->oflow, &pcb->oflow, sizeof(pcb->oflow));
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
799
pcb->flush_timo = op->flush_timo;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
807
pcb->cfg_state &= ~NG_BTSOCKET_L2CAP_CFG_IN_SENT;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
808
pcb->cfg_state |= NG_BTSOCKET_L2CAP_CFG_IN;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
810
if (pcb->cfg_state == NG_BTSOCKET_L2CAP_CFG_BOTH) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
812
ng_btsocket_l2cap_untimeout(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
813
pcb->state = NG_BTSOCKET_L2CAP_OPEN;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
814
soisconnected(pcb->so);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
823
ng_btsocket_l2cap_untimeout(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
828
pcb->so->so_error = EINVAL;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
832
pcb->so->so_error = ECONNRESET;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
837
ng_btsocket_l2cap_send_l2ca_discon_req(0, pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
840
pcb->state = NG_BTSOCKET_L2CAP_CLOSED;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
841
soisdisconnected(pcb->so);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
844
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
859
ng_btsocket_l2cap_pcb_t *pcb = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
870
pcb = ng_btsocket_l2cap_pcb_by_token(msg->header.token);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
871
if (pcb == NULL) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
876
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
883
pcb->src.b[5], pcb->src.b[4], pcb->src.b[3],
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
884
pcb->src.b[2], pcb->src.b[1], pcb->src.b[0],
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
885
pcb->dst.b[5], pcb->dst.b[4], pcb->dst.b[3],
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
886
pcb->dst.b[2], pcb->dst.b[1], pcb->dst.b[0],
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
887
pcb->psm, pcb->cid, op->result, pcb->state, pcb->cfg_state);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
889
if (pcb->state != NG_BTSOCKET_L2CAP_CONFIGURING) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
890
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
905
pcb->cfg_state &= ~NG_BTSOCKET_L2CAP_CFG_OUT_SENT;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
906
pcb->cfg_state |= NG_BTSOCKET_L2CAP_CFG_OUT;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
908
if (pcb->cfg_state == NG_BTSOCKET_L2CAP_CFG_BOTH) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
910
ng_btsocket_l2cap_untimeout(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
911
pcb->state = NG_BTSOCKET_L2CAP_OPEN;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
912
soisconnected(pcb->so);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
914
if (!(pcb->cfg_state & NG_BTSOCKET_L2CAP_CFG_IN_SENT)) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
916
error = ng_btsocket_l2cap_send_l2ca_cfg_req(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
920
pcb->cfg_state |= NG_BTSOCKET_L2CAP_CFG_IN_SENT;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
924
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
930
ng_btsocket_l2cap_untimeout(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
933
ng_btsocket_l2cap_send_l2ca_discon_req(0, pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
936
pcb->state = NG_BTSOCKET_L2CAP_CLOSED;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
937
soisdisconnected(pcb->so);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
939
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
954
ng_btsocket_l2cap_pcb_t *pcb = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
965
pcb = ng_btsocket_l2cap_pcb_by_cid(&rt->src, ip->lcid,
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
967
if (pcb == NULL) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
972
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
978
pcb->src.b[5], pcb->src.b[4], pcb->src.b[3],
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
979
pcb->src.b[2], pcb->src.b[1], pcb->src.b[0],
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
980
pcb->dst.b[5], pcb->dst.b[4], pcb->dst.b[3],
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
981
pcb->dst.b[2], pcb->dst.b[1], pcb->dst.b[0],
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
982
pcb->psm, pcb->cid, pcb->state, pcb->cfg_state);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
985
if (pcb->state != NG_BTSOCKET_L2CAP_CONFIGURING) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
986
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
998
pcb->omtu = ip->omtu;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
999
bcopy(&ip->iflow, &pcb->iflow, sizeof(pcb->iflow));
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1001
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1005
pcb->token = 0;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1006
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1012
pcb->rt->hook, 0);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1014
pcb->token = 0;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1015
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1019
error = msleep(&pcb->msg, &pcb->pcb_mtx, PZERO|PCATCH, "l2ctl",
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1021
pcb->token = 0;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1024
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1028
msg = pcb->msg;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1029
pcb->msg = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1031
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1056
if (!(pcb->flags & NG_BTSOCKET_L2CAP_RAW_PRIVILEGED)) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1057
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1062
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1070
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1074
pcb->token = msg->header.token;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1075
pcb->msg = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1078
bcopy(&pcb->dst, &ip->bdaddr, sizeof(ip->bdaddr));
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1082
pcb->rt->hook, 0);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1084
pcb->token = 0;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1085
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1089
error = msleep(&pcb->msg, &pcb->pcb_mtx, PZERO|PCATCH, "l2ctl",
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1091
pcb->token = 0;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1094
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1098
msg = pcb->msg;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1099
pcb->msg = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1101
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1124
error = ng_btsocket_l2cap_raw_send_sync_ngmsg(pcb,
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1133
if (pcb->flags & NG_BTSOCKET_L2CAP_RAW_PRIVILEGED)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1134
error = ng_btsocket_l2cap_raw_send_ngmsg(pcb->rt->hook,
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1146
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1158
ng_btsocket_l2cap_raw_pcb_p pcb = so2l2cap_raw_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1160
KASSERT(pcb != NULL, ("nt_btsocket_l2cap_raw_detach: pcb == NULL"));
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1165
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1167
LIST_REMOVE(pcb, next);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1169
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1172
mtx_destroy(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1174
bzero(pcb, sizeof(*pcb));
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1175
free(pcb, M_NETGRAPH_BTSOCKET_L2CAP_RAW);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1187
ng_btsocket_l2cap_raw_pcb_p pcb = so2l2cap_raw_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1189
if (pcb == NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1194
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1195
pcb->rt = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1197
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1209
ng_btsocket_l2cap_raw_pcb_p pcb = so2l2cap_raw_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1212
if (pcb == NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1223
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1224
bcopy(&pcb->dst, &l2cap->l2cap_bdaddr, sizeof(l2cap->l2cap_bdaddr));
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1225
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1251
ng_btsocket_l2cap_raw_pcb_p pcb = so2l2cap_raw_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1254
if (pcb == NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1265
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1266
bcopy(&pcb->src, &l2cap->l2cap_bdaddr, sizeof(l2cap->l2cap_bdaddr));
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1267
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1316
ng_btsocket_l2cap_raw_send_sync_ngmsg(ng_btsocket_l2cap_raw_pcb_p pcb,
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1322
mtx_assert(&pcb->pcb_mtx, MA_OWNED);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1329
pcb->token = msg->header.token;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1330
pcb->msg = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1333
pcb->rt->hook, 0);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1335
pcb->token = 0;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1339
error = msleep(&pcb->msg, &pcb->pcb_mtx, PZERO|PCATCH, "l2ctl",
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1341
pcb->token = 0;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1346
if (pcb->msg != NULL && pcb->msg->header.cmd == cmd)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1347
bcopy(pcb->msg->data, rsp, rsplen);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1351
NG_FREE_MSG(pcb->msg); /* checks for != NULL */
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
418
ng_btsocket_l2cap_raw_pcb_p pcb = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
422
LIST_FOREACH(pcb,&ng_btsocket_l2cap_raw_sockets,next) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
423
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
425
if (pcb->token == msg->header.token) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
426
pcb->msg = msg;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
428
wakeup(&pcb->msg);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
429
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
433
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
460
ng_btsocket_l2cap_raw_pcb_p pcb = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
469
LIST_FOREACH(pcb, &ng_btsocket_l2cap_raw_sockets, next) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
470
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
472
if (pcb->rt != NULL &&
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
473
pcb->rt->hook != NULL && NG_HOOK_NOT_VALID(pcb->rt->hook)) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
474
if (pcb->so != NULL &&
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
475
pcb->so->so_state & SS_ISCONNECTED)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
476
soisdisconnected(pcb->so);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
478
pcb->rt = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
481
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
608
ng_btsocket_l2cap_raw_pcb_p pcb = so2l2cap_raw_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
611
if (pcb != NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
626
pcb = malloc(sizeof(*pcb),
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
628
if (pcb == NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
632
so->so_pcb = (caddr_t) pcb;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
633
pcb->so = so;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
636
pcb->flags |= NG_BTSOCKET_L2CAP_RAW_PRIVILEGED;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
638
mtx_init(&pcb->pcb_mtx, "btsocks_l2cap_raw_pcb_mtx", NULL, MTX_DEF);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
642
LIST_INSERT_HEAD(&ng_btsocket_l2cap_raw_sockets, pcb, next);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
656
ng_btsocket_l2cap_raw_pcb_t *pcb = so2l2cap_raw_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
660
if (pcb == NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
693
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
694
bcopy(&sa->l2cap_bdaddr, &pcb->src, sizeof(pcb->src));
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
695
pcb->rt = rt;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
696
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
709
ng_btsocket_l2cap_raw_pcb_t *pcb = so2l2cap_raw_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
714
if (pcb == NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
730
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
732
bcopy(&sa->l2cap_bdaddr, &pcb->dst, sizeof(pcb->dst));
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
734
if (bcmp(&pcb->src, &pcb->dst, sizeof(pcb->src)) == 0) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
735
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
744
if (pcb->rt != NULL) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
746
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
761
if (bcmp(&pcb->dst, &rt->src, sizeof(rt->src)) != 0)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
768
pcb->rt = rt;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
769
bcopy(&rt->src, &pcb->src, sizeof(pcb->src));
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
776
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
789
ng_btsocket_l2cap_raw_pcb_p pcb = so2l2cap_raw_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
793
if (pcb == NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
798
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
801
if (pcb->rt == NULL) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
802
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
807
if (pcb->token != 0) {
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
808
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
817
error = ng_btsocket_l2cap_raw_send_sync_ngmsg(pcb,
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
826
error = ng_btsocket_l2cap_raw_send_sync_ngmsg(pcb,
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
835
if (pcb->flags & NG_BTSOCKET_L2CAP_RAW_PRIVILEGED)
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
836
error = ng_btsocket_l2cap_raw_send_ngmsg(pcb->rt->hook,
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
852
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
859
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
863
pcb->token = msg->header.token;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
864
pcb->msg = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
867
pcb->rt->hook, 0);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
869
pcb->token = 0;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
870
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
874
error = msleep(&pcb->msg, &pcb->pcb_mtx, PZERO|PCATCH, "l2ctl",
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
876
pcb->token = 0;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
879
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
883
msg = pcb->msg;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
884
pcb->msg = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
886
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
916
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
923
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
927
pcb->token = msg->header.token;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
928
pcb->msg = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
931
pcb->rt->hook, 0);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
933
pcb->token = 0;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
934
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
938
error = msleep(&pcb->msg, &pcb->pcb_mtx, PZERO|PCATCH, "l2ctl",
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
940
pcb->token = 0;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
943
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
947
msg = pcb->msg;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
948
pcb->msg = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
950
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
979
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
987
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
991
pcb->token = msg->header.token;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
992
pcb->msg = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
995
bcopy(&pcb->dst, &ip->bdaddr, sizeof(ip->bdaddr));
sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
999
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1001
bcopy(&pcb->src, &rfcomm->rfcomm_bdaddr, sizeof(rfcomm->rfcomm_bdaddr));
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1142
ng_btsocket_rfcomm_pcb_p pcb = NULL, pcb1 = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1154
pcb = ng_btsocket_rfcomm_pcb_listener(&l2pcb->src, channel);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1155
if (pcb == NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1164
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1166
CURVNET_SET(pcb->so->so_vnet);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1167
so1 = sonewconn(pcb->so, 0);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1170
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1206
ng_btsocket_rfcomm_pcb_p pcb = NULL, pcb_next = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1219
for (pcb = LIST_FIRST(&s->dlcs); pcb != NULL; ) {
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1220
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1221
pcb_next = LIST_NEXT(pcb, session_next);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1223
if (pcb->state == NG_BTSOCKET_RFCOMM_DLC_W4_CONNECT) {
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1224
pcb->mtu = s->mtu;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1225
bcopy(&so2l2cap_pcb(s->l2so)->src, &pcb->src,
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1226
sizeof(pcb->src));
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1228
error = ng_btsocket_rfcomm_send_pn(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1230
pcb->state = NG_BTSOCKET_RFCOMM_DLC_CONFIGURING;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1232
ng_btsocket_rfcomm_pcb_kill(pcb, error);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1235
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1236
pcb = pcb_next;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
159
(ng_btsocket_rfcomm_pcb_p pcb, u_int8_t cr, u_int8_t flow_control,
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1649
ng_btsocket_rfcomm_pcb_p pcb = NULL, pcb_next = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1659
for (pcb = LIST_FIRST(&s->dlcs); pcb != NULL; ) {
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1660
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1661
pcb_next = LIST_NEXT(pcb, session_next);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1665
__func__, pcb->dlci, pcb->state, pcb->flags);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1667
if (pcb->state == NG_BTSOCKET_RFCOMM_DLC_CONNECTED)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1672
ng_btsocket_rfcomm_pcb_kill(pcb, error);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1674
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1675
pcb = pcb_next;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
168
(ng_btsocket_rfcomm_pcb_p pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1686
ng_btsocket_rfcomm_pcb_p pcb = NULL, pcb_next = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1696
for (pcb = LIST_FIRST(&s->dlcs); pcb != NULL; ) {
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1697
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1698
pcb_next = LIST_NEXT(pcb, session_next);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
170
(ng_btsocket_rfcomm_pcb_p pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1700
switch (pcb->state) {
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1707
if (pcb->flags & NG_BTSOCKET_RFCOMM_DLC_DETACHED)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1708
ng_btsocket_rfcomm_pcb_kill(pcb, 0);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1709
else if (pcb->flags & NG_BTSOCKET_RFCOMM_DLC_TIMEDOUT)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1710
ng_btsocket_rfcomm_pcb_kill(pcb, ETIMEDOUT);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
172
(ng_btsocket_rfcomm_pcb_p pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1721
if (pcb->flags & NG_BTSOCKET_RFCOMM_DLC_TIMEDOUT)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1722
ng_btsocket_rfcomm_pcb_kill(pcb, ETIMEDOUT);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1735
error = ng_btsocket_rfcomm_pcb_send(pcb, ALOT);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1737
ng_btsocket_rfcomm_pcb_kill(pcb, error);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
175
(ng_btsocket_rfcomm_pcb_p pcb, int limit);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1750
if (!(pcb->flags & NG_BTSOCKET_RFCOMM_DLC_TIMO)) {
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1752
pcb->session, RFCOMM_FRAME_DISC,
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1753
pcb->dlci);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1755
ng_btsocket_rfcomm_timeout(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1757
ng_btsocket_rfcomm_pcb_kill(pcb, error);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1758
} else if (pcb->flags & NG_BTSOCKET_RFCOMM_DLC_TIMEDOUT)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1759
ng_btsocket_rfcomm_pcb_kill(pcb, ETIMEDOUT);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1765
__func__, pcb->state, pcb->flags);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1769
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
177
(ng_btsocket_rfcomm_pcb_p pcb, int error);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1770
pcb = pcb_next;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
184
(ng_btsocket_rfcomm_pcb_p pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
186
(ng_btsocket_rfcomm_pcb_p pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1953
ng_btsocket_rfcomm_pcb_p pcb = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2003
pcb = ng_btsocket_rfcomm_pcb_by_dlci(s, dlci);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2004
if (pcb != NULL) {
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2005
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2007
if (pcb->state != NG_BTSOCKET_RFCOMM_DLC_CONNECTING) {
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2010
__func__, dlci, pcb->state, pcb->flags);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2011
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2016
ng_btsocket_rfcomm_untimeout(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2020
error = ng_btsocket_rfcomm_send_msc(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2023
pcb->state = NG_BTSOCKET_RFCOMM_DLC_CONNECTED;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2024
soisconnected(pcb->so);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2026
ng_btsocket_rfcomm_pcb_kill(pcb, error);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2028
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2038
pcb = ng_btsocket_rfcomm_connect_ind(s, RFCOMM_SRVCHANNEL(dlci));
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2039
if (pcb != NULL) {
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2040
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2042
pcb->dlci = dlci;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2046
error = ng_btsocket_rfcomm_send_msc(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2049
pcb->state = NG_BTSOCKET_RFCOMM_DLC_CONNECTED;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2050
soisconnected(pcb->so);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2052
ng_btsocket_rfcomm_pcb_kill(pcb, error);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2054
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2069
ng_btsocket_rfcomm_pcb_p pcb = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2092
pcb = ng_btsocket_rfcomm_pcb_by_dlci(s, dlci);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2093
if (pcb != NULL) {
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2096
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2100
__func__, dlci, pcb->state, pcb->flags);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2105
if (pcb->state == NG_BTSOCKET_RFCOMM_DLC_CONNECTED)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2110
ng_btsocket_rfcomm_pcb_kill(pcb, err);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2112
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2132
ng_btsocket_rfcomm_pcb_p pcb = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2167
pcb = ng_btsocket_rfcomm_pcb_by_dlci(s, dlci);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2168
if (pcb != NULL) {
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2169
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2173
__func__, dlci, pcb->state, pcb->flags);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2175
switch (pcb->state) {
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2177
ng_btsocket_rfcomm_untimeout(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2179
error = ng_btsocket_rfcomm_send_msc(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2181
pcb->state = NG_BTSOCKET_RFCOMM_DLC_CONNECTED;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2182
soisconnected(pcb->so);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2187
ng_btsocket_rfcomm_pcb_kill(pcb, 0);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2193
__func__, dlci, pcb->state, pcb->flags);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2198
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2216
ng_btsocket_rfcomm_pcb_p pcb = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2231
pcb = ng_btsocket_rfcomm_pcb_by_dlci(s, dlci);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2232
if (pcb != NULL) {
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2233
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2237
__func__, dlci, pcb->state, pcb->flags);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2239
if (pcb->state == NG_BTSOCKET_RFCOMM_DLC_CONNECTED)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2244
ng_btsocket_rfcomm_pcb_kill(pcb, error);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2246
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2263
ng_btsocket_rfcomm_pcb_p pcb = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2282
pcb = ng_btsocket_rfcomm_pcb_by_dlci(s, dlci);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2283
if (pcb == NULL) {
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2290
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2293
if (pcb->state != NG_BTSOCKET_RFCOMM_DLC_CONNECTED) {
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2296
__func__, dlci, pcb->state, pcb->flags);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2302
if (((pcb->flags & NG_BTSOCKET_RFCOMM_DLC_CFC) && pcb->rx_cred <= 0) ||
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2303
(pcb->lmodem & RFCOMM_MODEM_FC)) {
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2307
__func__, dlci, pcb->state, pcb->flags,
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2308
pcb->rx_cred, pcb->lmodem);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2313
if ((pcb->flags & NG_BTSOCKET_RFCOMM_DLC_CFC) && pf) {
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2317
__func__, *mtod(m0, u_int8_t *), dlci, pcb->state,
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2318
pcb->flags, pcb->rx_cred, pcb->tx_cred);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2320
pcb->tx_cred += *mtod(m0, u_int8_t *);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2324
ng_btsocket_rfcomm_pcb_send(pcb, ALOT);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2330
if (pcb->flags & NG_BTSOCKET_RFCOMM_DLC_CFC) {
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2332
if (-- pcb->rx_cred <= RFCOMM_MAX_CREDITS / 2)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2333
ng_btsocket_rfcomm_send_credits(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2337
"rx_cred=%d, tx_cred=%d\n", __func__, dlci, pcb->state, pcb->flags,
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2338
pcb->rx_cred, pcb->tx_cred);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2342
if (m0->m_pkthdr.len > pcb->mtu) {
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2345
__func__, dlci, pcb->state, pcb->flags,
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2346
pcb->mtu, m0->m_pkthdr.len);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2349
} else if (m0->m_pkthdr.len > sbspace(&pcb->so->so_rcv)) {
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2359
__func__, dlci, pcb->state, pcb->flags,
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2360
m0->m_pkthdr.len, sbspace(&pcb->so->so_rcv));
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2365
sbappend(&pcb->so->so_rcv, m0, 0);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2368
sorwakeup(pcb->so);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2372
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2572
ng_btsocket_rfcomm_pcb_t *pcb = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2585
pcb = ng_btsocket_rfcomm_pcb_by_dlci(s, RFCOMM_DLCI(msc->address));
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2586
if (pcb == NULL) {
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2595
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2597
if (pcb->state != NG_BTSOCKET_RFCOMM_DLC_CONNECTING &&
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2598
pcb->state != NG_BTSOCKET_RFCOMM_DLC_CONNECTED) {
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2602
pcb->state);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2604
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2610
pcb->rmodem = msc->modem; /* Update remote port signals */
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2618
if (!(pcb->rmodem & RFCOMM_MODEM_FC) &&
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2619
!(pcb->flags & NG_BTSOCKET_RFCOMM_DLC_CFC))
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2620
ng_btsocket_rfcomm_pcb_send(pcb, ALOT);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2623
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2788
ng_btsocket_rfcomm_pcb_t *pcb = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2810
pcb = ng_btsocket_rfcomm_pcb_by_dlci(s, pn->dlci);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2811
if (pcb != NULL) {
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2812
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2816
ng_btsocket_rfcomm_set_pn(pcb, 1, pn->flow_control,
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2819
if (pcb->flags & NG_BTSOCKET_RFCOMM_DLC_CFC) {
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2833
if (pcb->state == NG_BTSOCKET_RFCOMM_DLC_CONFIGURING) {
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2834
ng_btsocket_rfcomm_set_pn(pcb, 0,
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2837
pcb->state = NG_BTSOCKET_RFCOMM_DLC_CONNECTING;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2843
__func__, pn->dlci, pcb->state);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2848
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2851
pcb = ng_btsocket_rfcomm_connect_ind(s,
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2853
if (pcb != NULL) {
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2854
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2856
pcb->dlci = pn->dlci;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2858
ng_btsocket_rfcomm_set_pn(pcb, 1, pn->flow_control,
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2861
if (pcb->flags & NG_BTSOCKET_RFCOMM_DLC_CFC) {
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2875
ng_btsocket_rfcomm_timeout(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2876
pcb->state = NG_BTSOCKET_RFCOMM_DLC_CONNECTING;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2877
soisconnecting(pcb->so);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2879
ng_btsocket_rfcomm_pcb_kill(pcb, error);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2881
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2917
ng_btsocket_rfcomm_set_pn(ng_btsocket_rfcomm_pcb_p pcb, u_int8_t cr,
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2920
mtx_assert(&pcb->pcb_mtx, MA_OWNED);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2922
pcb->mtu = le16toh(mtu);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2926
pcb->flags |= NG_BTSOCKET_RFCOMM_DLC_CFC;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2927
pcb->tx_cred = credits;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2929
pcb->flags &= ~NG_BTSOCKET_RFCOMM_DLC_CFC;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2930
pcb->tx_cred = 0;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2934
pcb->flags |= NG_BTSOCKET_RFCOMM_DLC_CFC;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2935
pcb->tx_cred = credits;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2937
pcb->flags &= ~NG_BTSOCKET_RFCOMM_DLC_CFC;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2938
pcb->tx_cred = 0;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2944
__func__, cr, pcb->dlci, pcb->state, pcb->flags, pcb->mtu,
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
2945
pcb->rx_cred, pcb->tx_cred);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3079
ng_btsocket_rfcomm_send_msc(ng_btsocket_rfcomm_pcb_p pcb)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3085
mtx_assert(&pcb->session->session_mtx, MA_OWNED);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3086
mtx_assert(&pcb->pcb_mtx, MA_OWNED);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3100
msc->address = RFCOMM_MKADDRESS(1, pcb->dlci);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3101
msc->modem = pcb->lmodem;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3105
__func__, pcb->dlci, pcb->state, pcb->flags, msc->address,
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3108
return (ng_btsocket_rfcomm_send_uih(pcb->session,
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3109
RFCOMM_MKADDRESS(INITIATOR(pcb->session), 0), 0, 0, m));
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3117
ng_btsocket_rfcomm_send_pn(ng_btsocket_rfcomm_pcb_p pcb)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3123
mtx_assert(&pcb->session->session_mtx, MA_OWNED);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3124
mtx_assert(&pcb->pcb_mtx, MA_OWNED);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3138
pn->dlci = pcb->dlci;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3145
pn->priority = (pcb->dlci < 56)? (((pcb->dlci >> 3) << 3) + 7) : 61;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3147
pn->mtu = htole16(pcb->mtu);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3150
if (pcb->flags & NG_BTSOCKET_RFCOMM_DLC_CFC) {
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3152
pn->credits = pcb->rx_cred;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3160
"credits=%d\n", __func__, pcb->dlci, pcb->state, pcb->flags, pcb->mtu,
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3163
return (ng_btsocket_rfcomm_send_uih(pcb->session,
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3164
RFCOMM_MKADDRESS(INITIATOR(pcb->session), 0), 0, 0, m));
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3172
ng_btsocket_rfcomm_send_credits(ng_btsocket_rfcomm_pcb_p pcb)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3177
mtx_assert(&pcb->pcb_mtx, MA_OWNED);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3178
mtx_assert(&pcb->session->session_mtx, MA_OWNED);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3183
__func__, pcb->dlci, pcb->state, pcb->flags, pcb->mtu,
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3184
sbspace(&pcb->so->so_rcv), pcb->tx_cred, pcb->rx_cred);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3186
credits = sbspace(&pcb->so->so_rcv) / pcb->mtu;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3188
if (pcb->rx_cred + credits > RFCOMM_MAX_CREDITS)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3189
credits = RFCOMM_MAX_CREDITS - pcb->rx_cred;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3192
pcb->session,
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3193
RFCOMM_MKADDRESS(INITIATOR(pcb->session),
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3194
pcb->dlci), 1, credits, NULL);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3196
pcb->rx_cred += credits;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3200
"rx_cred=%d, tx_cred=%d\n", __func__, credits, pcb->dlci, pcb->state,
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3201
pcb->flags, pcb->rx_cred, pcb->tx_cred);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3206
__func__, error, pcb->dlci, pcb->state,
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3207
pcb->flags, pcb->mtu, sbspace(&pcb->so->so_rcv),
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3208
pcb->tx_cred, pcb->rx_cred);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3226
ng_btsocket_rfcomm_pcb_send(ng_btsocket_rfcomm_pcb_p pcb, int limit)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3231
mtx_assert(&pcb->session->session_mtx, MA_OWNED);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3232
mtx_assert(&pcb->pcb_mtx, MA_OWNED);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3234
if (pcb->flags & NG_BTSOCKET_RFCOMM_DLC_CFC)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3235
limit = min(limit, pcb->tx_cred);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3236
else if (!(pcb->rmodem & RFCOMM_MODEM_FC))
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3245
__func__, pcb->dlci, pcb->flags, pcb->rmodem,
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3246
pcb->tx_cred);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3252
length = min(pcb->mtu, sbavail(&pcb->so->so_snd));
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3257
m = ng_btsocket_rfcomm_prepare_packet(&pcb->so->so_snd, length);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3263
sbdrop(&pcb->so->so_snd, length);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3265
error = ng_btsocket_rfcomm_send_uih(pcb->session,
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3266
RFCOMM_MKADDRESS(INITIATOR(pcb->session),
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3267
pcb->dlci), 0, 0, m);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3272
if (pcb->flags & NG_BTSOCKET_RFCOMM_DLC_CFC)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3273
pcb->tx_cred -= sent;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3276
pcb->flags &= ~NG_BTSOCKET_RFCOMM_DLC_SENDING;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3277
sowwakeup(pcb->so);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3290
ng_btsocket_rfcomm_pcb_kill(ng_btsocket_rfcomm_pcb_p pcb, int error)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3292
ng_btsocket_rfcomm_session_p s = pcb->session;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3296
__func__, pcb->so, pcb->dlci, pcb->state, pcb->flags, error);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3298
if (pcb->session == NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3300
__func__, pcb, pcb->state, pcb->flags);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3302
mtx_assert(&pcb->session->session_mtx, MA_OWNED);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3303
mtx_assert(&pcb->pcb_mtx, MA_OWNED);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3305
if (pcb->flags & NG_BTSOCKET_RFCOMM_DLC_TIMO)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3306
ng_btsocket_rfcomm_untimeout(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3309
LIST_REMOVE(pcb, session_next);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3310
pcb->session = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3313
pcb->state = NG_BTSOCKET_RFCOMM_DLC_CLOSED;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3314
pcb->so->so_error = error;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3315
soisdisconnected(pcb->so);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3316
wakeup(&pcb->state);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3367
ng_btsocket_rfcomm_pcb_p pcb = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3371
LIST_FOREACH(pcb, &s->dlcs, session_next)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3372
if (pcb->dlci == dlci)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3375
return (pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3385
ng_btsocket_rfcomm_pcb_p pcb = NULL, pcb1 = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3389
LIST_FOREACH(pcb, &ng_btsocket_rfcomm_sockets, next) {
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3390
if (pcb->channel != channel || !SOLISTENING(pcb->so))
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3393
if (bcmp(&pcb->src, src, sizeof(*src)) == 0)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3396
if (bcmp(&pcb->src, NG_HCI_BDADDR_ANY, sizeof(bdaddr_t)) == 0)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3397
pcb1 = pcb;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3402
return ((pcb != NULL)? pcb : pcb1);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3416
ng_btsocket_rfcomm_timeout(ng_btsocket_rfcomm_pcb_p pcb)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3418
mtx_assert(&pcb->pcb_mtx, MA_OWNED);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3420
if (!(pcb->flags & NG_BTSOCKET_RFCOMM_DLC_TIMO)) {
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3421
pcb->flags |= NG_BTSOCKET_RFCOMM_DLC_TIMO;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3422
pcb->flags &= ~NG_BTSOCKET_RFCOMM_DLC_TIMEDOUT;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3423
callout_reset(&pcb->timo, ng_btsocket_rfcomm_timo * hz,
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3424
ng_btsocket_rfcomm_process_timeout, pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3434
ng_btsocket_rfcomm_untimeout(ng_btsocket_rfcomm_pcb_p pcb)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3436
mtx_assert(&pcb->pcb_mtx, MA_OWNED);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3438
if (pcb->flags & NG_BTSOCKET_RFCOMM_DLC_TIMO) {
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3439
callout_stop(&pcb->timo);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3440
pcb->flags &= ~NG_BTSOCKET_RFCOMM_DLC_TIMO;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3441
pcb->flags &= ~NG_BTSOCKET_RFCOMM_DLC_TIMEDOUT;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3453
ng_btsocket_rfcomm_pcb_p pcb = (ng_btsocket_rfcomm_pcb_p) xpcb;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3455
mtx_assert(&pcb->pcb_mtx, MA_OWNED);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3459
__func__, pcb->so, pcb->dlci, pcb->state, pcb->flags);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3461
pcb->flags &= ~NG_BTSOCKET_RFCOMM_DLC_TIMO;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3462
pcb->flags |= NG_BTSOCKET_RFCOMM_DLC_TIMEDOUT;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3464
switch (pcb->state) {
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3467
pcb->state = NG_BTSOCKET_RFCOMM_DLC_DISCONNECTING;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
3477
__func__, pcb->dlci, pcb->state, pcb->flags);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
380
ng_btsocket_rfcomm_pcb_p pcb = so2rfcomm_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
393
if (pcb != NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
405
pcb = malloc(sizeof(*pcb),
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
407
if (pcb == NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
411
so->so_pcb = (caddr_t) pcb;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
412
pcb->so = so;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
415
pcb->state = NG_BTSOCKET_RFCOMM_DLC_CLOSED;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
416
pcb->flags = NG_BTSOCKET_RFCOMM_DLC_CFC;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
418
pcb->lmodem =
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
419
pcb->rmodem = (RFCOMM_MODEM_RTC | RFCOMM_MODEM_RTR | RFCOMM_MODEM_DV);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
421
pcb->mtu = RFCOMM_DEFAULT_MTU;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
422
pcb->tx_cred = 0;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
423
pcb->rx_cred = RFCOMM_DEFAULT_CREDITS;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
425
mtx_init(&pcb->pcb_mtx, "btsocks_rfcomm_pcb_mtx", NULL, MTX_DEF);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
426
callout_init_mtx(&pcb->timo, &pcb->pcb_mtx, 0);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
430
LIST_INSERT_HEAD(&ng_btsocket_rfcomm_sockets, pcb, next);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
444
ng_btsocket_rfcomm_pcb_t *pcb = so2rfcomm_pcb(so), *pcb1;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
447
if (pcb == NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
460
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
470
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
479
bcopy(&sa->rfcomm_bdaddr, &pcb->src, sizeof(pcb->src));
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
480
pcb->channel = sa->rfcomm_channel;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
482
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
495
ng_btsocket_rfcomm_pcb_t *pcb = so2rfcomm_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
501
if (pcb == NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
532
s = ng_btsocket_rfcomm_session_by_addr(&pcb->src, &sa->rfcomm_bdaddr);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
546
&pcb->src, &sa->rfcomm_bdaddr, td);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
561
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
566
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
586
bcopy(&sa->rfcomm_bdaddr, &pcb->dst, sizeof(pcb->dst));
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
587
pcb->channel = sa->rfcomm_channel;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
588
pcb->dlci = dlci;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
590
LIST_INSERT_HEAD(&s->dlcs, pcb, session_next);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
591
pcb->session = s;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
593
ng_btsocket_rfcomm_timeout(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
594
soisconnecting(pcb->so);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
597
pcb->mtu = s->mtu;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
598
bcopy(&so2l2cap_pcb(s->l2so)->src, &pcb->src,
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
599
sizeof(pcb->src));
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
601
pcb->state = NG_BTSOCKET_RFCOMM_DLC_CONFIGURING;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
603
error = ng_btsocket_rfcomm_send_pn(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
607
pcb->state = NG_BTSOCKET_RFCOMM_DLC_W4_CONNECT;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
615
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
641
ng_btsocket_rfcomm_pcb_p pcb = so2rfcomm_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
645
if (pcb == NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
650
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
656
error = sooptcopyout(sopt, &pcb->mtu, sizeof(pcb->mtu));
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
660
fcinfo.lmodem = pcb->lmodem;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
661
fcinfo.rmodem = pcb->rmodem;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
662
fcinfo.tx_cred = pcb->tx_cred;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
663
fcinfo.rx_cred = pcb->rx_cred;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
664
fcinfo.cfc = (pcb->flags & NG_BTSOCKET_RFCOMM_DLC_CFC)?
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
690
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
702
ng_btsocket_rfcomm_pcb_p pcb = so2rfcomm_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
704
KASSERT(pcb != NULL, ("ng_btsocket_rfcomm_detach: pcb == NULL"));
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
706
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
708
switch (pcb->state) {
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
714
if (pcb->flags & NG_BTSOCKET_RFCOMM_DLC_TIMO)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
715
ng_btsocket_rfcomm_untimeout(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
717
if (pcb->state == NG_BTSOCKET_RFCOMM_DLC_W4_CONNECT)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
718
pcb->flags |= NG_BTSOCKET_RFCOMM_DLC_DETACHED;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
720
pcb->state = NG_BTSOCKET_RFCOMM_DLC_DISCONNECTING;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
730
while (pcb->state != NG_BTSOCKET_RFCOMM_DLC_CLOSED)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
731
msleep(&pcb->state, &pcb->pcb_mtx, PZERO, "rf_det", 0);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
733
if (pcb->session != NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
735
if (pcb->flags & NG_BTSOCKET_RFCOMM_DLC_TIMO)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
737
__func__, pcb->flags);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
740
LIST_REMOVE(pcb, next);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
743
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
745
mtx_destroy(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
746
bzero(pcb, sizeof(*pcb));
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
747
free(pcb, M_NETGRAPH_BTSOCKET_RFCOMM);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
760
ng_btsocket_rfcomm_pcb_p pcb = so2rfcomm_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
762
if (pcb == NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
765
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
767
if (pcb->state == NG_BTSOCKET_RFCOMM_DLC_DISCONNECTING) {
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
768
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
773
if (pcb->flags & NG_BTSOCKET_RFCOMM_DLC_TIMO)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
774
ng_btsocket_rfcomm_untimeout(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
776
switch (pcb->state) {
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
786
pcb->state = NG_BTSOCKET_RFCOMM_DLC_DISCONNECTING;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
798
__func__, pcb->state, pcb->flags);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
802
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
814
ng_btsocket_rfcomm_pcb_p pcb = so2rfcomm_pcb(so), pcb1;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
819
if (pcb == NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
821
if (pcb->channel > 30)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
826
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
828
if (pcb->channel == 0) {
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
833
bcmp(&pcb1->src, &pcb->src, sizeof(pcb->src)) == 0)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
836
for (pcb->channel = 30; pcb->channel > 0; pcb->channel --)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
837
if (!(usedchannels & (1 << (pcb->channel - 1))))
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
840
if (pcb->channel == 0) {
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
842
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
850
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
924
ng_btsocket_rfcomm_pcb_p pcb = so2rfcomm_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
927
if (pcb == NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
933
.rfcomm_channel = pcb->channel,
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
935
bcopy(&pcb->dst, &rfcomm->rfcomm_bdaddr, sizeof(rfcomm->rfcomm_bdaddr));
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
948
ng_btsocket_rfcomm_pcb_t *pcb = so2rfcomm_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
952
if (pcb == NULL || m == NULL || control != NULL) {
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
957
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
960
if (pcb->state != NG_BTSOCKET_RFCOMM_DLC_CONNECTED) {
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
961
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
967
sbappend(&pcb->so->so_snd, m, flags);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
970
if (!(pcb->flags & NG_BTSOCKET_RFCOMM_DLC_SENDING)) {
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
971
pcb->flags |= NG_BTSOCKET_RFCOMM_DLC_SENDING;
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
975
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
990
ng_btsocket_rfcomm_pcb_p pcb = so2rfcomm_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
993
if (pcb == NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
999
.rfcomm_channel = pcb->channel,
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1041
ng_btsocket_sco_pcb_p pcb = NULL, pcb_next = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1050
for(pcb = LIST_FIRST(&ng_btsocket_sco_sockets); pcb != NULL; ) {
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1051
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1052
pcb_next = LIST_NEXT(pcb, next);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1054
if (pcb->rt != NULL &&
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1055
pcb->rt->hook != NULL && NG_HOOK_NOT_VALID(pcb->rt->hook)) {
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1056
if (pcb->flags & NG_BTSOCKET_SCO_TIMO)
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1057
ng_btsocket_sco_untimeout(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1059
pcb->rt = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1060
pcb->so->so_error = ENETDOWN;
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1061
pcb->state = NG_BTSOCKET_SCO_CLOSED;
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1062
soisdisconnected(pcb->so);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1065
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1066
pcb = pcb_next;
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1186
ng_btsocket_sco_pcb_p pcb = so2sco_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1201
if (pcb != NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1213
pcb = malloc(sizeof(*pcb),
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1215
if (pcb == NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1219
so->so_pcb = (caddr_t) pcb;
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1220
pcb->so = so;
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1221
pcb->state = NG_BTSOCKET_SCO_CLOSED;
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1223
callout_init(&pcb->timo, 1);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1232
mtx_init(&pcb->pcb_mtx, "btsocks_sco_pcb_mtx", NULL,
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1259
LIST_INSERT_HEAD(&ng_btsocket_sco_sockets, pcb, next);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1275
ng_btsocket_sco_pcb_t *pcb = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1297
LIST_FOREACH(pcb, &ng_btsocket_sco_sockets, next) {
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1298
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1300
if (bcmp(&pcb->src, &sa->sco_bdaddr, sizeof(bdaddr_t)) == 0) {
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1301
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1307
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1311
pcb = so2sco_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1312
if (pcb == NULL) {
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1317
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1318
bcopy(&sa->sco_bdaddr, &pcb->src, sizeof(pcb->src));
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1319
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1334
ng_btsocket_sco_pcb_t *pcb = so2sco_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1340
if (pcb == NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1363
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1365
if (pcb->state == NG_BTSOCKET_SCO_CONNECTING) {
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1366
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1372
if (bcmp(&sa->sco_bdaddr, &pcb->src, sizeof(pcb->src)) == 0) {
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1373
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1380
bcopy(&sa->sco_bdaddr, &pcb->dst, sizeof(pcb->dst));
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1382
pcb->rt = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1383
have_src = bcmp(&pcb->src, NG_HCI_BDADDR_ANY, sizeof(pcb->src));
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1391
if (bcmp(&pcb->src, &rt->src, sizeof(rt->src)) == 0)
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1394
if (bcmp(&pcb->dst, &rt->src, sizeof(rt->src)) != 0)
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1400
pcb->rt = rt;
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1403
bcopy(&rt->src, &pcb->src, sizeof(pcb->src));
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1412
error = ng_btsocket_sco_send_lp_con_req(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1414
pcb->flags |= NG_BTSOCKET_SCO_CLIENT;
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1415
pcb->state = NG_BTSOCKET_SCO_CONNECTING;
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1416
soisconnecting(pcb->so);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1418
ng_btsocket_sco_timeout(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1422
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1446
ng_btsocket_sco_pcb_p pcb = so2sco_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1451
if (pcb == NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1457
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1461
if (pcb->state != NG_BTSOCKET_SCO_OPEN) {
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1468
tmp = pcb->rt->pkt_size;
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1473
tmp = pcb->con_handle;
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1492
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1504
ng_btsocket_sco_pcb_p pcb = so2sco_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1506
KASSERT(pcb != NULL, ("ng_btsocket_sco_detach: pcb == NULL"));
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1512
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1514
if (pcb->flags & NG_BTSOCKET_SCO_TIMO)
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1515
ng_btsocket_sco_untimeout(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1517
if (pcb->state == NG_BTSOCKET_SCO_OPEN)
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1518
ng_btsocket_sco_send_lp_discon_req(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1520
pcb->state = NG_BTSOCKET_SCO_CLOSED;
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1522
LIST_REMOVE(pcb, next);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1524
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1527
mtx_destroy(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1528
bzero(pcb, sizeof(*pcb));
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1529
free(pcb, M_NETGRAPH_BTSOCKET_SCO);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1542
ng_btsocket_sco_pcb_p pcb = so2sco_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1544
if (pcb == NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1549
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1551
if (pcb->state == NG_BTSOCKET_SCO_DISCONNECTING) {
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1552
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1557
if (pcb->flags & NG_BTSOCKET_SCO_TIMO)
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1558
ng_btsocket_sco_untimeout(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1560
if (pcb->state == NG_BTSOCKET_SCO_OPEN) {
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1561
ng_btsocket_sco_send_lp_discon_req(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1563
pcb->state = NG_BTSOCKET_SCO_DISCONNECTING;
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1566
ng_btsocket_sco_timeout(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1568
pcb->state = NG_BTSOCKET_SCO_CLOSED;
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1572
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1584
ng_btsocket_sco_pcb_p pcb = so2sco_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1587
if (pcb == NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1593
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1599
if (bcmp(&pcb->src, NG_HCI_BDADDR_ANY, sizeof(bdaddr_t)) == 0) {
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1606
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1619
ng_btsocket_sco_pcb_p pcb = so2sco_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1622
if (pcb == NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1631
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1632
bcopy(&pcb->dst, &sco->sco_bdaddr, sizeof(sco->sco_bdaddr));
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1633
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1646
ng_btsocket_sco_pcb_t *pcb = so2sco_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1655
if (pcb == NULL || m == NULL || control != NULL) {
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1660
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1663
if (pcb->state != NG_BTSOCKET_SCO_OPEN) {
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1664
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1670
if (pcb->rt == NULL ||
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1671
pcb->rt->hook == NULL || NG_HOOK_NOT_VALID(pcb->rt->hook)) {
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1672
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1678
if (m->m_pkthdr.len > pcb->rt->pkt_size) {
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1681
__func__, m->m_pkthdr.len, pcb->rt->pkt_size);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1683
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1695
sbappendrecord(&pcb->so->so_snd, m);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1698
if (!(pcb->flags & NG_BTSOCKET_SCO_TIMO)) {
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1699
error = ng_btsocket_sco_send2(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1701
ng_btsocket_sco_timeout(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1703
sbdroprecord(&pcb->so->so_snd); /* XXX */
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1706
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1719
ng_btsocket_sco_send2(ng_btsocket_sco_pcb_p pcb)
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1725
mtx_assert(&pcb->pcb_mtx, MA_OWNED);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1727
while (pcb->rt->pending < pcb->rt->num_pkts &&
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1728
sbavail(&pcb->so->so_snd) > 0) {
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1730
m = m_dup(pcb->so->so_snd.sb_mb, M_NOWAIT);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1750
hdr->con_handle = htole16(NG_HCI_MK_CON_HANDLE(pcb->con_handle, 0, 0));
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1754
NG_SEND_DATA_ONLY(error, pcb->rt->hook, m);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1758
pcb->rt->pending ++;
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1761
return ((pcb->rt->pending > 0)? 0 : error);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1771
ng_btsocket_sco_pcb_p pcb = so2sco_pcb(so);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1774
if (pcb == NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1783
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1784
bcopy(&pcb->src, &sco->sco_bdaddr, sizeof(sco->sco_bdaddr));
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1785
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1891
ng_btsocket_sco_timeout(ng_btsocket_sco_pcb_p pcb)
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1893
mtx_assert(&pcb->pcb_mtx, MA_OWNED);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1895
if (!(pcb->flags & NG_BTSOCKET_SCO_TIMO)) {
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1896
pcb->flags |= NG_BTSOCKET_SCO_TIMO;
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1897
callout_reset(&pcb->timo, bluetooth_sco_rtx_timeout(),
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1898
ng_btsocket_sco_process_timeout, pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1909
ng_btsocket_sco_untimeout(ng_btsocket_sco_pcb_p pcb)
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1911
mtx_assert(&pcb->pcb_mtx, MA_OWNED);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1913
if (pcb->flags & NG_BTSOCKET_SCO_TIMO) {
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1914
callout_stop(&pcb->timo);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1915
pcb->flags &= ~NG_BTSOCKET_SCO_TIMO;
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1928
ng_btsocket_sco_pcb_p pcb = (ng_btsocket_sco_pcb_p) xpcb;
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1930
mtx_lock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1932
pcb->flags &= ~NG_BTSOCKET_SCO_TIMO;
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1933
pcb->so->so_error = ETIMEDOUT;
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1935
switch (pcb->state) {
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1938
pcb->state = NG_BTSOCKET_SCO_CLOSED;
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1939
soisdisconnected(pcb->so);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1944
sbdroprecord(&pcb->so->so_snd);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1945
sowwakeup(pcb->so);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1951
pcb->state = NG_BTSOCKET_SCO_CLOSED;
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1952
soisdisconnected(pcb->so);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1957
"%s: Invalid socket state=%d\n", __func__, pcb->state);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
1961
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
381
ng_btsocket_sco_pcb_t *pcb = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
392
pcb = ng_btsocket_sco_pcb_by_addrs(&rt->src, &ep->bdaddr);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
393
if (pcb == NULL) {
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
404
pcb->src.b[5], pcb->src.b[4], pcb->src.b[3],
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
405
pcb->src.b[2], pcb->src.b[1], pcb->src.b[0],
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
406
pcb->dst.b[5], pcb->dst.b[4], pcb->dst.b[3],
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
407
pcb->dst.b[2], pcb->dst.b[1], pcb->dst.b[0],
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
408
ep->status, ep->con_handle, pcb->state);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
410
if (pcb->state != NG_BTSOCKET_SCO_CONNECTING) {
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
411
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
417
ng_btsocket_sco_untimeout(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
425
pcb->con_handle = ep->con_handle;
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
426
pcb->state = NG_BTSOCKET_SCO_OPEN;
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
427
soisconnected(pcb->so);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
433
pcb->so->so_error = ECONNREFUSED; /* XXX convert status ??? */
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
434
pcb->state = NG_BTSOCKET_SCO_CLOSED;
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
435
soisdisconnected(pcb->so);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
438
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
454
ng_btsocket_sco_pcb_t *pcb = NULL, *pcb1 = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
474
pcb = ng_btsocket_sco_pcb_by_addr(&rt->src);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
475
if (pcb != NULL) {
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
480
CURVNET_SET(pcb->so->so_vnet);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
481
so1 = sonewconn(pcb->so, 0);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
502
if (bcmp(&pcb->src, NG_HCI_BDADDR_ANY, sizeof(pcb->src)) != 0)
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
503
bcopy(&pcb->src, &pcb1->src, sizeof(pcb1->src));
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
532
if (pcb != NULL)
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
533
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
549
ng_btsocket_sco_pcb_t *pcb = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
560
pcb = ng_btsocket_sco_pcb_by_handle(&rt->src, ep->con_handle);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
561
if (pcb == NULL) {
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
577
pcb->src.b[5], pcb->src.b[4], pcb->src.b[3],
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
578
pcb->src.b[2], pcb->src.b[1], pcb->src.b[0],
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
579
pcb->dst.b[5], pcb->dst.b[4], pcb->dst.b[3],
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
580
pcb->dst.b[2], pcb->dst.b[1], pcb->dst.b[0],
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
581
pcb->con_handle, pcb->state);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
583
if (pcb->flags & NG_BTSOCKET_SCO_TIMO)
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
584
ng_btsocket_sco_untimeout(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
586
pcb->state = NG_BTSOCKET_SCO_CLOSED;
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
587
soisdisconnected(pcb->so);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
589
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
600
ng_btsocket_sco_send_lp_con_req(ng_btsocket_sco_pcb_p pcb)
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
606
mtx_assert(&pcb->pcb_mtx, MA_OWNED);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
608
if (pcb->rt == NULL ||
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
609
pcb->rt->hook == NULL || NG_HOOK_NOT_VALID(pcb->rt->hook))
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
619
bcopy(&pcb->dst, &ep->bdaddr, sizeof(ep->bdaddr));
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
621
NG_SEND_MSG_HOOK(error, ng_btsocket_sco_node, msg, pcb->rt->hook, 0);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
660
ng_btsocket_sco_send_lp_discon_req(ng_btsocket_sco_pcb_p pcb)
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
666
mtx_assert(&pcb->pcb_mtx, MA_OWNED);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
668
if (pcb->rt == NULL ||
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
669
pcb->rt->hook == NULL || NG_HOOK_NOT_VALID(pcb->rt->hook))
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
678
ep->con_handle = pcb->con_handle;
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
681
NG_SEND_MSG_HOOK(error, ng_btsocket_sco_node, msg, pcb->rt->hook, 0);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
700
ng_btsocket_sco_pcb_t *pcb = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
757
pcb = ng_btsocket_sco_pcb_by_handle(&rt->src, con_handle);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
758
if (pcb == NULL) {
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
765
if (pcb->state != NG_BTSOCKET_SCO_OPEN) {
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
771
pcb->state);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
773
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
779
if (m->m_pkthdr.len > sbspace(&pcb->so->so_rcv)) {
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
787
sbspace(&pcb->so->so_rcv));
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
789
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
795
sbappendrecord(&pcb->so->so_rcv, m);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
798
sorwakeup(pcb->so);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
800
mtx_unlock(&pcb->pcb_mtx);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
862
ng_btsocket_sco_pcb_t *pcb = NULL;
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
886
pcb = ng_btsocket_sco_pcb_by_handle(&rt->src, ep->con_handle);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
887
if (pcb == NULL) {
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
895
if (pcb->state == NG_BTSOCKET_SCO_OPEN) {
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
897
ng_btsocket_sco_untimeout(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
901
sbdroprecord(&pcb->so->so_snd);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
904
if (sbavail(&pcb->so->so_snd) > 0)
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
905
if (ng_btsocket_sco_send2(pcb) == 0)
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
906
ng_btsocket_sco_timeout(pcb);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
909
sowwakeup(pcb->so);
sys/netgraph/bluetooth/socket/ng_btsocket_sco.c
912
mtx_unlock(&pcb->pcb_mtx);
sys/netinet/netdump/netdump_client.c
289
struct debugnet_pcb *pcb;
sys/netinet/netdump/netdump_client.c
327
error = debugnet_connect(&dcp, &pcb);
sys/netinet/netdump/netdump_client.c
335
debugnet_get_gw_mac(pcb), ":");
sys/netinet/netdump/netdump_client.c
336
nd_conf.nd_pcb = pcb;
sys/netinet/netdump/netdump_client.c
346
error = debugnet_send(pcb, NETDUMP_EKCD_KEY, nd_buf, keysize,
sys/netpfil/ipfw/ip_fw2.c
1121
struct inpcb *pcb, *inp;
sys/netpfil/ipfw/ip_fw2.c
1165
pcb = in6_pcblookup_mbuf(pi,
sys/netpfil/ipfw/ip_fw2.c
1170
pcb = in6_pcblookup_mbuf(pi,
sys/netpfil/ipfw/ip_fw2.c
1182
pcb = in_pcblookup_mbuf(pi,
sys/netpfil/ipfw/ip_fw2.c
1187
pcb = in_pcblookup_mbuf(pi,
sys/netpfil/ipfw/ip_fw2.c
1192
if (pcb != NULL) {
sys/netpfil/ipfw/ip_fw2.c
1193
INP_RLOCK_ASSERT(pcb);
sys/netpfil/ipfw/ip_fw2.c
1194
*uc = crhold(pcb->inp_cred);
sys/netpfil/ipfw/ip_fw2.c
1196
INP_RUNLOCK(pcb);
sys/powerpc/include/pcb.h
119
extern struct pcb *curpcb;
sys/powerpc/include/pcb.h
125
void makectx(struct trapframe *, struct pcb *);
sys/powerpc/include/pcb.h
126
void savectx(struct pcb *) __returns_twice;
sys/powerpc/include/stack.h
41
(total) = td->td_kstack_pages * PAGE_SIZE - sizeof(struct pcb); \
sys/powerpc/include/stack.h
50
sizeof(struct pcb));
sys/powerpc/powerpc/altivec.c
107
pcb->pcb_flags |= PCB_VEC;
sys/powerpc/powerpc/altivec.c
109
if (!(pcb->pcb_flags & PCB_VECREGS)) {
sys/powerpc/powerpc/altivec.c
110
memset(&pcb->pcb_vec, 0, sizeof pcb->pcb_vec);
sys/powerpc/powerpc/altivec.c
111
pcb->pcb_flags |= PCB_VECREGS;
sys/powerpc/powerpc/altivec.c
127
:: "b"(&pcb->pcb_vec.vscr));
sys/powerpc/powerpc/altivec.c
130
:: "b"(&pcb->pcb_vec.vr[n]));
sys/powerpc/powerpc/altivec.c
148
struct pcb *pcb;
sys/powerpc/powerpc/altivec.c
150
pcb = td->td_pcb;
sys/powerpc/powerpc/altivec.c
158
pcb->pcb_veccpu = INT_MAX;
sys/powerpc/powerpc/altivec.c
184
struct pcb *pcb;
sys/powerpc/powerpc/altivec.c
187
pcb = td->td_pcb;
sys/powerpc/powerpc/altivec.c
200
pcb->pcb_flags &= ~PCB_VEC;
sys/powerpc/powerpc/altivec.c
49
struct pcb *pcb;
sys/powerpc/powerpc/altivec.c
51
pcb = td->td_pcb;
sys/powerpc/powerpc/altivec.c
63
:: "b"(pcb->pcb_vec.vr[n]), "n"(n));
sys/powerpc/powerpc/altivec.c
74
__asm __volatile("mfvscr 0; stvewx 0,0,%0" :: "b"(&pcb->pcb_vec.vscr));
sys/powerpc/powerpc/altivec.c
88
struct pcb *pcb;
sys/powerpc/powerpc/altivec.c
91
pcb = td->td_pcb;
sys/powerpc/powerpc/db_trace.c
314
struct pcb *ctx;
sys/powerpc/powerpc/elf32_machdep.c
186
struct pcb *pcb;
sys/powerpc/powerpc/elf32_machdep.c
192
pcb = td->td_pcb;
sys/powerpc/powerpc/elf32_machdep.c
194
if (pcb->pcb_flags & PCB_VEC) {
sys/powerpc/powerpc/elf32_machdep.c
197
&pcb->pcb_vec, (char *)dst + len,
sys/powerpc/powerpc/elf32_machdep.c
198
sizeof(pcb->pcb_vec), NULL);
sys/powerpc/powerpc/elf32_machdep.c
201
sizeof(pcb->pcb_vec), NULL);
sys/powerpc/powerpc/elf32_machdep.c
204
if (pcb->pcb_flags & PCB_VSX) {
sys/powerpc/powerpc/elf32_machdep.c
212
vsr_dw1 = (uint64_t *)&pcb->pcb_fpu.fpr[vsr_idx].vsr[2];
sys/powerpc/powerpc/elf64_machdep.c
277
struct pcb *pcb;
sys/powerpc/powerpc/elf64_machdep.c
283
pcb = td->td_pcb;
sys/powerpc/powerpc/elf64_machdep.c
285
if (pcb->pcb_flags & PCB_VEC) {
sys/powerpc/powerpc/elf64_machdep.c
288
&pcb->pcb_vec, (char *)dst + len,
sys/powerpc/powerpc/elf64_machdep.c
289
sizeof(pcb->pcb_vec), NULL);
sys/powerpc/powerpc/elf64_machdep.c
292
sizeof(pcb->pcb_vec), NULL);
sys/powerpc/powerpc/elf64_machdep.c
295
if (pcb->pcb_flags & PCB_VSX) {
sys/powerpc/powerpc/elf64_machdep.c
303
vsr_dw1 = (uint64_t *)&pcb->pcb_fpu.fpr[vsr_idx].vsr[2];
sys/powerpc/powerpc/exec_machdep.c
1083
struct pcb *pcb;
sys/powerpc/powerpc/exec_machdep.c
1085
pcb = (struct pcb *)__align_down(td->td_kstack + td->td_kstack_pages *
sys/powerpc/powerpc/exec_machdep.c
1086
PAGE_SIZE - sizeof(struct pcb), 0x40);
sys/powerpc/powerpc/exec_machdep.c
1087
td->td_pcb = pcb;
sys/powerpc/powerpc/exec_machdep.c
1088
td->td_frame = (struct trapframe *)pcb - 1;
sys/powerpc/powerpc/exec_machdep.c
1110
struct pcb *pcb2;
sys/powerpc/powerpc/exec_machdep.c
1251
struct pcb *pcb;
sys/powerpc/powerpc/exec_machdep.c
1278
pcb = td->td_pcb;
sys/powerpc/powerpc/exec_machdep.c
1280
if (!(pcb->pcb_flags & PCB_FPREGS)) {
sys/powerpc/powerpc/exec_machdep.c
1281
bzero(&pcb->pcb_fpu, sizeof(pcb->pcb_fpu));
sys/powerpc/powerpc/exec_machdep.c
1282
pcb->pcb_flags |= PCB_FPREGS;
sys/powerpc/powerpc/exec_machdep.c
1283
} else if (pcb->pcb_flags & PCB_FPU)
sys/powerpc/powerpc/exec_machdep.c
1285
sig = fpu_emulate(frame, &pcb->pcb_fpu);
sys/powerpc/powerpc/exec_machdep.c
1286
if ((sig == 0 || sig == SIGFPE) && pcb->pcb_flags & PCB_FPU)
sys/powerpc/powerpc/exec_machdep.c
1290
if (pcb->pcb_lastill != frame->srr0) {
sys/powerpc/powerpc/exec_machdep.c
1294
pcb->pcb_lastill = frame->srr0;
sys/powerpc/powerpc/exec_machdep.c
377
makectx(struct trapframe *tf, struct pcb *pcb)
sys/powerpc/powerpc/exec_machdep.c
380
pcb->pcb_lr = tf->srr0;
sys/powerpc/powerpc/exec_machdep.c
381
pcb->pcb_sp = tf->fixreg[1];
sys/powerpc/powerpc/exec_machdep.c
391
struct pcb *pcb;
sys/powerpc/powerpc/exec_machdep.c
394
pcb = td->td_pcb;
sys/powerpc/powerpc/exec_machdep.c
412
if (pcb->pcb_flags & PCB_FPREGS) {
sys/powerpc/powerpc/exec_machdep.c
413
if (pcb->pcb_flags & PCB_FPU) {
sys/powerpc/powerpc/exec_machdep.c
421
memcpy(&mcp->mc_fpscr, &pcb->pcb_fpu.fpscr, sizeof(double));
sys/powerpc/powerpc/exec_machdep.c
423
memcpy(&mcp->mc_fpreg[i], &pcb->pcb_fpu.fpr[i].fpr,
sys/powerpc/powerpc/exec_machdep.c
427
if (pcb->pcb_flags & PCB_VSX) {
sys/powerpc/powerpc/exec_machdep.c
431
&pcb->pcb_fpu.fpr[i].vsr[2], sizeof(double));
sys/powerpc/powerpc/exec_machdep.c
438
if (pcb->pcb_flags & PCB_VECREGS) {
sys/powerpc/powerpc/exec_machdep.c
439
if (pcb->pcb_flags & PCB_VEC) {
sys/powerpc/powerpc/exec_machdep.c
447
mcp->mc_vscr = pcb->pcb_vec.vscr;
sys/powerpc/powerpc/exec_machdep.c
448
mcp->mc_vrsave = pcb->pcb_vec.vrsave;
sys/powerpc/powerpc/exec_machdep.c
449
memcpy(mcp->mc_avec, pcb->pcb_vec.vr, sizeof(mcp->mc_avec));
sys/powerpc/powerpc/exec_machdep.c
475
struct pcb *pcb;
sys/powerpc/powerpc/exec_machdep.c
481
pcb = td->td_pcb;
sys/powerpc/powerpc/exec_machdep.c
527
pcb->pcb_flags &= ~(PCB_FPU | PCB_VSX | PCB_VEC);
sys/powerpc/powerpc/exec_machdep.c
547
pcb->pcb_flags |= PCB_FPREGS;
sys/powerpc/powerpc/exec_machdep.c
548
memcpy(&pcb->pcb_fpu.fpscr, &mcp->mc_fpscr, sizeof(double));
sys/powerpc/powerpc/exec_machdep.c
549
bzero(pcb->pcb_fpu.fpr, sizeof(pcb->pcb_fpu.fpr));
sys/powerpc/powerpc/exec_machdep.c
551
memcpy(&pcb->pcb_fpu.fpr[i].fpr, &mcp->mc_fpreg[i],
sys/powerpc/powerpc/exec_machdep.c
556
memcpy(&pcb->pcb_fpu.fpr[i].vsr[2],
sys/powerpc/powerpc/exec_machdep.c
564
pcb->pcb_flags |= PCB_VECREGS;
sys/powerpc/powerpc/exec_machdep.c
565
pcb->pcb_vec.vscr = mcp->mc_vscr;
sys/powerpc/powerpc/exec_machdep.c
566
pcb->pcb_vec.vrsave = mcp->mc_vrsave;
sys/powerpc/powerpc/exec_machdep.c
567
memcpy(pcb->pcb_vec.vr, mcp->mc_avec, sizeof(mcp->mc_avec));
sys/powerpc/powerpc/exec_machdep.c
614
struct pcb *pcb;
sys/powerpc/powerpc/exec_machdep.c
619
pcb = td->td_pcb;
sys/powerpc/powerpc/exec_machdep.c
621
pcb_flags = pcb->pcb_flags;
sys/powerpc/powerpc/exec_machdep.c
626
pcb->pcb_fscr = mfspr(SPR_FSCR);
sys/powerpc/powerpc/exec_machdep.c
628
if (pcb->pcb_fscr & FSCR_EBB) {
sys/powerpc/powerpc/exec_machdep.c
629
pcb->pcb_ebb.ebbhr = mfspr(SPR_EBBHR);
sys/powerpc/powerpc/exec_machdep.c
630
pcb->pcb_ebb.ebbrr = mfspr(SPR_EBBRR);
sys/powerpc/powerpc/exec_machdep.c
631
pcb->pcb_ebb.bescr = mfspr(SPR_BESCR);
sys/powerpc/powerpc/exec_machdep.c
633
if (pcb->pcb_fscr & FSCR_LM) {
sys/powerpc/powerpc/exec_machdep.c
634
pcb->pcb_lm.lmrr = mfspr(SPR_LMRR);
sys/powerpc/powerpc/exec_machdep.c
635
pcb->pcb_lm.lmser = mfspr(SPR_LMSER);
sys/powerpc/powerpc/exec_machdep.c
637
if (pcb->pcb_fscr & FSCR_TAR)
sys/powerpc/powerpc/exec_machdep.c
638
pcb->pcb_tar = mfspr(SPR_TAR);
sys/powerpc/powerpc/exec_machdep.c
646
pcb->pcb_dscr = mfspr(SPR_DSCRP);
sys/powerpc/powerpc/exec_machdep.c
752
struct pcb *pcb;
sys/powerpc/powerpc/exec_machdep.c
755
pcb = td->td_pcb;
sys/powerpc/powerpc/exec_machdep.c
757
if ((pcb->pcb_flags & PCB_FPREGS) == 0)
sys/powerpc/powerpc/exec_machdep.c
760
memcpy(&fpregs->fpscr, &pcb->pcb_fpu.fpscr, sizeof(double));
sys/powerpc/powerpc/exec_machdep.c
762
memcpy(&fpregs->fpreg[i], &pcb->pcb_fpu.fpr[i].fpr,
sys/powerpc/powerpc/exec_machdep.c
790
struct pcb *pcb;
sys/powerpc/powerpc/exec_machdep.c
793
pcb = td->td_pcb;
sys/powerpc/powerpc/exec_machdep.c
794
pcb->pcb_flags |= PCB_FPREGS;
sys/powerpc/powerpc/exec_machdep.c
795
memcpy(&pcb->pcb_fpu.fpscr, &fpregs->fpscr, sizeof(double));
sys/powerpc/powerpc/exec_machdep.c
797
memcpy(&pcb->pcb_fpu.fpr[i].fpr, &fpregs->fpreg[i],
sys/powerpc/powerpc/fpu.c
102
__asm __volatile ("mffs 0; stfd 0,0(%0)" :: "b"(&pcb->pcb_fpu.fpscr));
sys/powerpc/powerpc/fpu.c
115
struct pcb *pcb;
sys/powerpc/powerpc/fpu.c
118
pcb = td->td_pcb;
sys/powerpc/powerpc/fpu.c
134
pcb->pcb_flags |= PCB_FPU;
sys/powerpc/powerpc/fpu.c
135
if (pcb->pcb_flags & PCB_VSX)
sys/powerpc/powerpc/fpu.c
139
if (!(pcb->pcb_flags & PCB_FPREGS)) {
sys/powerpc/powerpc/fpu.c
140
memset(&pcb->pcb_fpu, 0, sizeof pcb->pcb_fpu);
sys/powerpc/powerpc/fpu.c
141
pcb->pcb_flags |= PCB_FPREGS;
sys/powerpc/powerpc/fpu.c
149
if (pcb->pcb_flags & PCB_VSX)
sys/powerpc/powerpc/fpu.c
160
:: "b"(&pcb->pcb_fpu.fpscr));
sys/powerpc/powerpc/fpu.c
162
if (pcb->pcb_flags & PCB_VSX) {
sys/powerpc/powerpc/fpu.c
165
:: "b"(&pcb->pcb_fpu.fpr[n]));
sys/powerpc/powerpc/fpu.c
174
:: "b"(&pcb->pcb_fpu.fpr[n]));
sys/powerpc/powerpc/fpu.c
187
:: "b"(&pcb->pcb_fpu.fpr[n].fpr));
sys/powerpc/powerpc/fpu.c
206
struct pcb *pcb;
sys/powerpc/powerpc/fpu.c
208
pcb = td->td_pcb;
sys/powerpc/powerpc/fpu.c
216
pcb->pcb_fpcpu = INT_MAX;
sys/powerpc/powerpc/fpu.c
301
struct pcb *pcb;
sys/powerpc/powerpc/fpu.c
304
pcb = td->td_pcb;
sys/powerpc/powerpc/fpu.c
317
pcb->pcb_flags &= ~(PCB_FPU | PCB_VSX);
sys/powerpc/powerpc/fpu.c
333
struct pcb *pcb;
sys/powerpc/powerpc/fpu.c
335
pcb = td->td_pcb;
sys/powerpc/powerpc/fpu.c
341
KASSERT((pcb->pcb_flags & PCB_KERN_FPU_NOSAVE) == 0,
sys/powerpc/powerpc/fpu.c
347
if (pcb->pcb_flags & PCB_FPU) {
sys/powerpc/powerpc/fpu.c
349
pcb->pcb_flags |= PCB_FPREGS;
sys/powerpc/powerpc/fpu.c
353
if (pcb->pcb_flags & PCB_VEC) {
sys/powerpc/powerpc/fpu.c
355
pcb->pcb_flags |= PCB_VECREGS;
sys/powerpc/powerpc/fpu.c
359
pcb->pcb_flags |= PCB_KERN_FPU | PCB_KERN_FPU_NOSAVE;
sys/powerpc/powerpc/fpu.c
369
struct pcb *pcb;
sys/powerpc/powerpc/fpu.c
371
pcb = td->td_pcb;
sys/powerpc/powerpc/fpu.c
373
if ((pcb->pcb_flags & PCB_KERN_FPU_NOSAVE) != 0) {
sys/powerpc/powerpc/fpu.c
383
pcb->pcb_flags &= ~PCB_KERN_FPU_NOSAVE;
sys/powerpc/powerpc/fpu.c
390
pcb->pcb_flags &= ~PCB_KERN_FPU;
sys/powerpc/powerpc/fpu.c
398
struct pcb *curpcb;
sys/powerpc/powerpc/fpu.c
50
struct pcb *pcb;
sys/powerpc/powerpc/fpu.c
52
pcb = td->td_pcb;
sys/powerpc/powerpc/fpu.c
58
if (pcb->pcb_flags & PCB_VSX)
sys/powerpc/powerpc/fpu.c
66
if (pcb->pcb_flags & PCB_VSX) {
sys/powerpc/powerpc/fpu.c
69
:: "b"(&pcb->pcb_fpu.fpr[n]));
sys/powerpc/powerpc/fpu.c
78
:: "b"(&pcb->pcb_fpu.fpr[n]));
sys/powerpc/powerpc/fpu.c
91
:: "b"(&pcb->pcb_fpu.fpr[n].fpr));
sys/powerpc/powerpc/genassym.c
195
ASSYM(PCB_CONTEXT, offsetof(struct pcb, pcb_context));
sys/powerpc/powerpc/genassym.c
196
ASSYM(PCB_CR, offsetof(struct pcb, pcb_cr));
sys/powerpc/powerpc/genassym.c
197
ASSYM(PCB_DSCR, offsetof(struct pcb, pcb_dscr));
sys/powerpc/powerpc/genassym.c
198
ASSYM(PCB_FSCR, offsetof(struct pcb, pcb_fscr));
sys/powerpc/powerpc/genassym.c
199
ASSYM(PCB_TAR, offsetof(struct pcb, pcb_tar));
sys/powerpc/powerpc/genassym.c
200
ASSYM(PCB_SP, offsetof(struct pcb, pcb_sp));
sys/powerpc/powerpc/genassym.c
201
ASSYM(PCB_TOC, offsetof(struct pcb, pcb_toc));
sys/powerpc/powerpc/genassym.c
202
ASSYM(PCB_LR, offsetof(struct pcb, pcb_lr));
sys/powerpc/powerpc/genassym.c
203
ASSYM(PCB_ONFAULT, offsetof(struct pcb, pcb_onfault));
sys/powerpc/powerpc/genassym.c
204
ASSYM(PCB_FLAGS, offsetof(struct pcb, pcb_flags));
sys/powerpc/powerpc/genassym.c
210
ASSYM(PCB_AIM_USR_VSID, offsetof(struct pcb, pcb_cpu.aim.usr_vsid));
sys/powerpc/powerpc/genassym.c
211
ASSYM(PCB_BOOKE_DBCR0, offsetof(struct pcb, pcb_cpu.booke.dbcr0));
sys/powerpc/powerpc/genassym.c
213
ASSYM(PCB_VSCR, offsetof(struct pcb, pcb_vec.vscr));
sys/powerpc/powerpc/genassym.c
215
ASSYM(PCB_EBB_EBBHR, offsetof(struct pcb, pcb_ebb.ebbhr));
sys/powerpc/powerpc/genassym.c
216
ASSYM(PCB_EBB_EBBRR, offsetof(struct pcb, pcb_ebb.ebbrr));
sys/powerpc/powerpc/genassym.c
217
ASSYM(PCB_EBB_BESCR, offsetof(struct pcb, pcb_ebb.bescr));
sys/powerpc/powerpc/genassym.c
219
ASSYM(PCB_LMON_LMRR, offsetof(struct pcb, pcb_lm.lmrr));
sys/powerpc/powerpc/genassym.c
220
ASSYM(PCB_LMON_LMSER, offsetof(struct pcb, pcb_lm.lmser));
sys/powerpc/powerpc/machdep.c
493
thread0.td_pcb = (struct pcb *)__align_down(thread0.td_kstack +
sys/powerpc/powerpc/machdep.c
494
thread0.td_kstack_pages * PAGE_SIZE - sizeof(struct pcb), 16);
sys/powerpc/powerpc/machdep.c
495
bzero((void *)thread0.td_pcb, sizeof(struct pcb));
sys/powerpc/powerpc/ptrace_machdep.c
102
pcb->pcb_flags |= PCB_VSX;
sys/powerpc/powerpc/ptrace_machdep.c
110
vsr_dw1 = (uint64_t *)&pcb->pcb_fpu.fpr[vsr_idx].vsr[2];
sys/powerpc/powerpc/ptrace_machdep.c
46
struct pcb *pcb;
sys/powerpc/powerpc/ptrace_machdep.c
52
pcb = td->td_pcb;
sys/powerpc/powerpc/ptrace_machdep.c
63
if (pcb->pcb_flags & PCB_VEC) {
sys/powerpc/powerpc/ptrace_machdep.c
65
memcpy(&vec, &pcb->pcb_vec, sizeof(vec));
sys/powerpc/powerpc/ptrace_machdep.c
74
pcb->pcb_flags |= PCB_VEC;
sys/powerpc/powerpc/ptrace_machdep.c
75
memcpy(&pcb->pcb_vec, &vec, sizeof(vec));
sys/powerpc/powerpc/ptrace_machdep.c
82
if (pcb->pcb_flags & PCB_VSX) {
sys/powerpc/powerpc/ptrace_machdep.c
91
vsr_dw1 = (uint64_t *)&pcb->pcb_fpu.fpr[vsr_idx].vsr[2];
sys/powerpc/powerpc/vm_machdep.c
112
struct pcb *pcb;
sys/powerpc/powerpc/vm_machdep.c
126
pcb = (struct pcb *)__align_down(td2->td_kstack +
sys/powerpc/powerpc/vm_machdep.c
127
td2->td_kstack_pages * PAGE_SIZE - sizeof(struct pcb), 0x40);
sys/powerpc/powerpc/vm_machdep.c
128
td2->td_pcb = pcb;
sys/powerpc/powerpc/vm_machdep.c
131
bcopy(td1->td_pcb, pcb, sizeof(struct pcb));
sys/powerpc/powerpc/vm_machdep.c
138
tf = (struct trapframe *)pcb - 1;
sys/powerpc/powerpc/vm_machdep.c
157
pcb->pcb_sp = (register_t)cf;
sys/powerpc/powerpc/vm_machdep.c
158
KASSERT(pcb->pcb_sp % 16 == 0, ("stack misaligned"));
sys/powerpc/powerpc/vm_machdep.c
160
pcb->pcb_lr = ((register_t *)fork_trampoline)[0];
sys/powerpc/powerpc/vm_machdep.c
161
pcb->pcb_toc = ((register_t *)fork_trampoline)[1];
sys/powerpc/powerpc/vm_machdep.c
163
pcb->pcb_lr = (register_t)fork_trampoline;
sys/powerpc/powerpc/vm_machdep.c
164
pcb->pcb_context[0] = pcb->pcb_lr;
sys/powerpc/powerpc/vm_machdep.c
167
pcb->pcb_cpu.aim.usr_vsid = 0;
sys/riscv/include/pcb.h
57
void makectx(struct trapframe *tf, struct pcb *pcb);
sys/riscv/include/pcb.h
58
int savectx(struct pcb *pcb) __returns_twice;
sys/riscv/include/pcpu.h
54
struct pcb;
sys/riscv/include/stack.h
56
(total) = td->td_kstack_pages * PAGE_SIZE - sizeof(struct pcb); \
sys/riscv/include/stack.h
65
sizeof(struct pcb));
sys/riscv/riscv/db_trace.c
125
struct pcb *ctx;
sys/riscv/riscv/exec_machdep.c
120
struct pcb *pcb;
sys/riscv/riscv/exec_machdep.c
122
pcb = td->td_pcb;
sys/riscv/riscv/exec_machdep.c
124
if ((pcb->pcb_fpflags & PCB_FP_STARTED) != 0) {
sys/riscv/riscv/exec_machdep.c
132
memcpy(regs->fp_x, pcb->pcb_x, sizeof(regs->fp_x));
sys/riscv/riscv/exec_machdep.c
133
regs->fp_fcsr = pcb->pcb_fcsr;
sys/riscv/riscv/exec_machdep.c
144
struct pcb *pcb;
sys/riscv/riscv/exec_machdep.c
147
pcb = td->td_pcb;
sys/riscv/riscv/exec_machdep.c
149
memcpy(pcb->pcb_x, regs->fp_x, sizeof(regs->fp_x));
sys/riscv/riscv/exec_machdep.c
150
pcb->pcb_fcsr = regs->fp_fcsr;
sys/riscv/riscv/exec_machdep.c
151
pcb->pcb_fpflags |= PCB_FP_STARTED;
sys/riscv/riscv/exec_machdep.c
176
struct pcb *pcb;
sys/riscv/riscv/exec_machdep.c
179
pcb = td->td_pcb;
sys/riscv/riscv/exec_machdep.c
188
pcb->pcb_fpflags &= ~PCB_FP_STARTED;
sys/riscv/riscv/exec_machdep.c
267
struct pcb *curpcb;
sys/riscv/riscv/exec_machdep.c
297
struct pcb *curpcb;
sys/riscv/riscv/genassym.c
65
ASSYM(PCB_ONFAULT, offsetof(struct pcb, pcb_onfault));
sys/riscv/riscv/genassym.c
66
ASSYM(PCB_SIZE, sizeof(struct pcb));
sys/riscv/riscv/genassym.c
67
ASSYM(PCB_RA, offsetof(struct pcb, pcb_ra));
sys/riscv/riscv/genassym.c
68
ASSYM(PCB_SP, offsetof(struct pcb, pcb_sp));
sys/riscv/riscv/genassym.c
69
ASSYM(PCB_GP, offsetof(struct pcb, pcb_gp));
sys/riscv/riscv/genassym.c
70
ASSYM(PCB_TP, offsetof(struct pcb, pcb_tp));
sys/riscv/riscv/genassym.c
71
ASSYM(PCB_S, offsetof(struct pcb, pcb_s));
sys/riscv/riscv/genassym.c
72
ASSYM(PCB_X, offsetof(struct pcb, pcb_x));
sys/riscv/riscv/genassym.c
73
ASSYM(PCB_FCSR, offsetof(struct pcb, pcb_fcsr));
sys/riscv/riscv/machdep.c
278
makectx(struct trapframe *tf, struct pcb *pcb)
sys/riscv/riscv/machdep.c
281
memcpy(pcb->pcb_s, tf->tf_s, sizeof(tf->tf_s));
sys/riscv/riscv/machdep.c
283
pcb->pcb_ra = tf->tf_sepc;
sys/riscv/riscv/machdep.c
284
pcb->pcb_sp = tf->tf_sp;
sys/riscv/riscv/machdep.c
285
pcb->pcb_gp = tf->tf_gp;
sys/riscv/riscv/machdep.c
286
pcb->pcb_tp = tf->tf_tp;
sys/riscv/riscv/machdep.c
299
thread0.td_pcb = (struct pcb *)(thread0.td_kstack +
sys/riscv/riscv/trap.c
209
struct pcb *pcb;
sys/riscv/riscv/trap.c
227
pcb = td->td_pcb;
sys/riscv/riscv/trap.c
248
if (pcb->pcb_onfault == 0)
sys/riscv/riscv/trap.c
278
if (pcb->pcb_onfault != 0) {
sys/riscv/riscv/trap.c
280
frame->tf_sepc = pcb->pcb_onfault;
sys/riscv/riscv/trap.c
384
struct pcb *pcb;
sys/riscv/riscv/trap.c
387
pcb = td->td_pcb;
sys/riscv/riscv/trap.c
435
if ((pcb->pcb_fpflags & PCB_FP_STARTED) == 0) {
sys/riscv/riscv/trap.c
443
pcb->pcb_fpflags |= PCB_FP_STARTED;
sys/riscv/riscv/vm_machdep.c
179
bcopy(td0->td_pcb, td->td_pcb, sizeof(struct pcb));
sys/riscv/riscv/vm_machdep.c
64
td->td_pcb = (struct pcb *)((char *)td->td_kstack +
sys/riscv/riscv/vm_machdep.c
89
struct pcb *pcb2;
sys/security/audit/audit_arg.c
674
struct inpcb *pcb;
sys/security/audit/audit_arg.c
704
pcb = (struct inpcb *)so->so_pcb;
sys/security/audit/audit_arg.c
705
INP_RLOCK(pcb);
sys/security/audit/audit_arg.c
707
pcb->inp_faddr.s_addr;
sys/security/audit/audit_arg.c
709
pcb->inp_laddr.s_addr;
sys/security/audit/audit_arg.c
711
pcb->inp_fport;
sys/security/audit/audit_arg.c
713
pcb->inp_lport;
sys/security/audit/audit_arg.c
714
INP_RUNLOCK(pcb);
sys/sys/conf.h
375
extern struct pcb dumppcb; \
sys/sys/kdb.h
35
struct pcb;
sys/sys/kdb.h
70
extern struct pcb *kdb_thrctx; /* Current context. */
sys/sys/kdb.h
86
struct pcb *kdb_thr_ctx(struct thread *);
sys/sys/pcpu.h
180
struct pcb *pc_curpcb; /* Current pcb */
sys/sys/proc.h
352
struct pcb *td_pcb; /* (k) Kernel VA of pcb and kstack. */
sys/sys/smp.h
183
struct pcb;
sys/sys/smp.h
184
extern struct pcb *stoppcbs;
sys/sys/user.h
205
struct pcb *ki_pcb; /* kernel virtual addr of pcb */
sys/x86/include/x86_var.h
101
struct pcb;
sys/x86/include/x86_var.h
127
void x86_clear_dbregs(struct pcb *pcb);
sys/x86/include/x86_var.h
160
struct pcb *get_pcb_td(struct thread *td);
sys/x86/x86/stack_machdep.c
49
#define PCB_FP(pcb) ((pcb)->pcb_ebp)
sys/x86/x86/stack_machdep.c
56
#define PCB_FP(pcb) ((pcb)->pcb_rbp)
usr.bin/bluetooth/btsockstat/btsockstat.c
219
ng_btsocket_hci_raw_pcb_t pcb;
usr.bin/bluetooth/btsockstat/btsockstat.c
230
if (kread(kvmd, (u_long) this, (char *) &pcb, sizeof(pcb)) < 0)
usr.bin/bluetooth/btsockstat/btsockstat.c
232
if (kread(kvmd, (u_long) pcb.so, (char *) &so, sizeof(so)) < 0)
usr.bin/bluetooth/btsockstat/btsockstat.c
235
next = LIST_NEXT(&pcb, next);
usr.bin/bluetooth/btsockstat/btsockstat.c
250
if (pcb.addr.hci_node[0] == 0) {
usr.bin/bluetooth/btsockstat/btsockstat.c
251
pcb.addr.hci_node[0] = '*';
usr.bin/bluetooth/btsockstat/btsockstat.c
252
pcb.addr.hci_node[1] = 0;
usr.bin/bluetooth/btsockstat/btsockstat.c
257
(unsigned long) pcb.so,
usr.bin/bluetooth/btsockstat/btsockstat.c
259
pcb.flags,
usr.bin/bluetooth/btsockstat/btsockstat.c
262
pcb.addr.hci_node);
usr.bin/bluetooth/btsockstat/btsockstat.c
274
ng_btsocket_l2cap_raw_pcb_t pcb;
usr.bin/bluetooth/btsockstat/btsockstat.c
285
if (kread(kvmd, (u_long) this, (char *) &pcb, sizeof(pcb)) < 0)
usr.bin/bluetooth/btsockstat/btsockstat.c
287
if (kread(kvmd, (u_long) pcb.so, (char *) &so, sizeof(so)) < 0)
usr.bin/bluetooth/btsockstat/btsockstat.c
290
next = LIST_NEXT(&pcb, next);
usr.bin/bluetooth/btsockstat/btsockstat.c
306
(unsigned long) pcb.so,
usr.bin/bluetooth/btsockstat/btsockstat.c
310
bdaddrpr(&pcb.src, NULL, 0));
usr.bin/bluetooth/btsockstat/btsockstat.c
330
ng_btsocket_l2cap_pcb_t pcb;
usr.bin/bluetooth/btsockstat/btsockstat.c
342
if (kread(kvmd, (u_long) this, (char *) &pcb, sizeof(pcb)) < 0)
usr.bin/bluetooth/btsockstat/btsockstat.c
344
if (kread(kvmd, (u_long) pcb.so, (char *) &so, sizeof(so)) < 0)
usr.bin/bluetooth/btsockstat/btsockstat.c
347
next = LIST_NEXT(&pcb, next);
usr.bin/bluetooth/btsockstat/btsockstat.c
368
bdaddrpr(&pcb.src, local, sizeof(local)),
usr.bin/bluetooth/btsockstat/btsockstat.c
369
pcb.psm,
usr.bin/bluetooth/btsockstat/btsockstat.c
370
bdaddrpr(&pcb.dst, remote, sizeof(remote)),
usr.bin/bluetooth/btsockstat/btsockstat.c
371
pcb.cid,
usr.bin/bluetooth/btsockstat/btsockstat.c
373
"LISTEN" : state2str(pcb.state));
usr.bin/bluetooth/btsockstat/btsockstat.c
435
ng_btsocket_rfcomm_pcb_t pcb;
usr.bin/bluetooth/btsockstat/btsockstat.c
447
if (kread(kvmd, (u_long) this, (char *) &pcb, sizeof(pcb)) < 0)
usr.bin/bluetooth/btsockstat/btsockstat.c
449
if (kread(kvmd, (u_long) pcb.so, (char *) &so, sizeof(so)) < 0)
usr.bin/bluetooth/btsockstat/btsockstat.c
452
next = LIST_NEXT(&pcb, next);
usr.bin/bluetooth/btsockstat/btsockstat.c
474
bdaddrpr(&pcb.src, local, sizeof(local)),
usr.bin/bluetooth/btsockstat/btsockstat.c
475
bdaddrpr(&pcb.dst, remote, sizeof(remote)),
usr.bin/bluetooth/btsockstat/btsockstat.c
476
pcb.channel,
usr.bin/bluetooth/btsockstat/btsockstat.c
477
pcb.dlci,
usr.bin/bluetooth/btsockstat/btsockstat.c
479
"LISTEN" : state2str(pcb.state));
usr.bin/sockstat/main.c
1153
&(struct sock){ .pcb = faddr->conn });
usr.bin/sockstat/main.c
1190
&(struct sock){ .pcb = ref })) != 0) {
usr.bin/sockstat/main.c
146
kvaddr_t pcb;
usr.bin/sockstat/main.c
1491
cw->pcb_kva, s->pcb);
usr.bin/sockstat/main.c
175
return ((int64_t)(a->pcb/2 - b->pcb/2));
usr.bin/sockstat/main.c
744
sock->pcb = so->so_pcb;
usr.bin/sockstat/main.c
858
sock->pcb = xup->xu_unpp;