Changeset View
Changeset View
Standalone View
Standalone View
sys/kern/uipc_debug.c
Show First 20 Lines • Show All 78 Lines • ▼ Show 20 Lines | |||||
{ | { | ||||
int comma; | int comma; | ||||
comma = 0; | comma = 0; | ||||
if (so_options & SO_DEBUG) { | if (so_options & SO_DEBUG) { | ||||
db_printf("%sSO_DEBUG", comma ? ", " : ""); | db_printf("%sSO_DEBUG", comma ? ", " : ""); | ||||
comma = 1; | comma = 1; | ||||
} | } | ||||
if (so_options & SO_ACCEPTCONN) { | |||||
db_printf("%sSO_ACCEPTCONN", comma ? ", " : ""); | |||||
comma = 1; | |||||
} | |||||
if (so_options & SO_REUSEADDR) { | if (so_options & SO_REUSEADDR) { | ||||
db_printf("%sSO_REUSEADDR", comma ? ", " : ""); | db_printf("%sSO_REUSEADDR", comma ? ", " : ""); | ||||
comma = 1; | comma = 1; | ||||
} | } | ||||
if (so_options & SO_KEEPALIVE) { | if (so_options & SO_KEEPALIVE) { | ||||
db_printf("%sSO_KEEPALIVE", comma ? ", " : ""); | db_printf("%sSO_KEEPALIVE", comma ? ", " : ""); | ||||
comma = 1; | comma = 1; | ||||
} | } | ||||
▲ Show 20 Lines • Show All 354 Lines • ▼ Show 20 Lines | db_print_socket(struct socket *so, const char *socketname, int indent) | ||||
db_printf(") "); | db_printf(") "); | ||||
db_printf("so_pcb: %p ", so->so_pcb); | db_printf("so_pcb: %p ", so->so_pcb); | ||||
db_printf("so_proto: %p\n", so->so_proto); | db_printf("so_proto: %p\n", so->so_proto); | ||||
if (so->so_proto != NULL) | if (so->so_proto != NULL) | ||||
db_print_protosw(so->so_proto, "so_proto", indent); | db_print_protosw(so->so_proto, "so_proto", indent); | ||||
db_print_indent(indent); | db_print_indent(indent); | ||||
db_printf("so_head: %p ", so->so_head); | db_printf("so_listen: %p ", so->so_listen); | ||||
db_printf("so_incomp first: %p ", TAILQ_FIRST(&so->so_incomp)); | |||||
db_printf("so_comp first: %p\n", TAILQ_FIRST(&so->so_comp)); | |||||
db_print_indent(indent); | |||||
/* so_list skipped */ | /* so_list skipped */ | ||||
db_printf("so_qlen: %u ", so->so_qlen); | |||||
db_printf("so_incqlen: %u ", so->so_incqlen); | |||||
db_printf("so_qlimit: %u ", so->so_qlimit); | |||||
db_printf("so_timeo: %d ", so->so_timeo); | db_printf("so_timeo: %d ", so->so_timeo); | ||||
db_printf("so_error: %d\n", so->so_error); | db_printf("so_error: %d\n", so->so_error); | ||||
db_print_indent(indent); | db_print_indent(indent); | ||||
db_printf("so_sigio: %p ", so->so_sigio); | db_printf("so_sigio: %p ", so->so_sigio); | ||||
db_printf("so_oobmark: %lu ", so->so_oobmark); | db_printf("so_oobmark: %lu ", so->so_oobmark); | ||||
db_print_sockbuf(&so->so_rcv, "so_rcv", indent); | db_print_sockbuf(&so->so_rcv, "so_rcv", indent); | ||||
db_print_sockbuf(&so->so_snd, "so_snd", indent); | db_print_sockbuf(&so->so_snd, "so_snd", indent); | ||||
} | } | ||||
static void | |||||
db_print_solisten(struct solisten *sol, const char *socketname, int indent) | |||||
{ | |||||
db_print_indent(indent); | |||||
db_printf("%s at %p\n", socketname, sol); | |||||
indent += 2; | |||||
db_print_indent(indent); | |||||
db_printf("sol_incomp first: %p ", TAILQ_FIRST(&sol->sol_incomp)); | |||||
db_printf("sol_comp first: %p\n", TAILQ_FIRST(&sol->sol_comp)); | |||||
db_printf("sol_qlen: %d ", sol->sol_qlen); | |||||
db_printf("sol_incqlen: %d ", sol->sol_incqlen); | |||||
db_printf("sol_qlimit: %d ", sol->sol_qlimit); | |||||
db_printf(")\n"); | |||||
db_print_indent(indent); | |||||
db_printf("sol_options: 0x%x (", sol->sol_options); | |||||
db_print_sooptions(sol->sol_options); | |||||
db_printf(")\n"); | |||||
} | |||||
DB_SHOW_COMMAND(socket, db_show_socket) | DB_SHOW_COMMAND(socket, db_show_socket) | ||||
{ | { | ||||
struct socket *so; | struct socket *so; | ||||
if (!have_addr) { | if (!have_addr) { | ||||
db_printf("usage: show socket <addr>\n"); | db_printf("usage: show socket <addr>\n"); | ||||
return; | return; | ||||
} | } | ||||
so = (struct socket *)addr; | so = (struct socket *)addr; | ||||
db_print_socket(so, "socket", 0); | db_print_socket(so, "socket", 0); | ||||
} | |||||
DB_SHOW_COMMAND(solisten, db_show_solisten) | |||||
{ | |||||
struct solisten *sol; | |||||
if (!have_addr) { | |||||
db_printf("usage: show solisten <addr>\n"); | |||||
return; | |||||
} | |||||
sol = (struct solisten *)addr; | |||||
db_print_solisten(sol, "solisten", 0); | |||||
} | } | ||||
DB_SHOW_COMMAND(sockbuf, db_show_sockbuf) | DB_SHOW_COMMAND(sockbuf, db_show_sockbuf) | ||||
{ | { | ||||
struct sockbuf *sb; | struct sockbuf *sb; | ||||
if (!have_addr) { | if (!have_addr) { | ||||
db_printf("usage: show sockbuf <addr>\n"); | db_printf("usage: show sockbuf <addr>\n"); | ||||
Show All 33 Lines |