-
-
-#include <mach_kdb.h>
-#if MACH_KDB
-
-#include <ddb/db_output.h>
-
-#define printf kdbprintf
-
-int
-ipc_list_count(
- struct ipc_kmsg *base)
-{
- register int count = 0;
-
- if (base) {
- struct ipc_kmsg *kmsg = base;
-
- ++count;
- while (kmsg && kmsg->ikm_next != base
- && kmsg->ikm_next != IKM_BOGUS){
- kmsg = kmsg->ikm_next;
- ++count;
- }
- }
- return(count);
-}
-
-/*
- * Routine: ipc_pset_print
- * Purpose:
- * Pretty-print a port set for kdb.
- */
-void
-ipc_pset_print(
- ipc_pset_t pset)
-{
- printf("pset 0x%x\n", pset);
-
- db_indent += 2;
-
- ipc_object_print(&pset->ips_object);
- iprintf("local_name = 0x%x\n", pset->ips_local_name);
- iprintf("%d kmsgs => 0x%x",
- ipc_list_count(pset->ips_messages.imq_messages.ikmq_base),
- pset->ips_messages.imq_messages.ikmq_base);
- printf(",rcvrs queue= 0x%x\n", &pset->ips_messages.imq_wait_queue);
-
- db_indent -=2;
-}
-
-#endif /* MACH_KDB */