rem: cdrom_table_of_contents_header *header; cdrom_full_table_of_contents_entry *entries; int i, count;  header = (cdrom_table_of_contents_header*)data; entries = (cdrom_full_table_of_contents_entry*)(data+4); header->length = B_BENDIAN_TO_HOST_INT16(header->length); if (data_length < header->length) { TRACE(("dump_full_table_of_contents: warning, data buffer not large enough (%ld < %ld)\n", data_length, header->length)); header->length = data_length; }  TRACE(("header:\n")); TRACE(("  length = %d\n", header->length)); TRACE(("  first  = %d\n", header->first)); TRACE(("  last   = %d\n", header->last));  count = (header->length-2) / sizeof(cdrom_full_table_of_contents_entry); TRACE(("\n")); TRACE(("entry count = %d\n", count)); TRACE(("\n"));  for (i = 0; i < count; i++) { TRACE(("entry #%d:\n", i)); TRACE(("  session  = %d\n", entries[i].session)); TRACE(("  adr      = %d\n", entries[i].adr)); TRACE(("  control  = %d\n", entries[i].control)); TRACE(("  tno      = %d\n", entries[i].tno)); TRACE(("  point    = %d (0x%.2x)\n", entries[i].point, entries[i].point)); TRACE(("  minutes  = %d\n", entries[i].minutes)); TRACE(("  frames   = %d\n", entries[i].seconds)); TRACE(("  seconds  = %d\n", entries[i].frames)); TRACE(("  zero     = %d\n", entries[i].zero)); TRACE(("  pminutes = %d\n", entries[i].pminutes)); TRACE(("  pseconds = %d\n", entries[i].pseconds)); TRACE(("  pframes  = %d\n", entries[i].pframes)); TRACE(("  lba      = %ld\n", msf_to_lba(make_msf_address(entries[i].pminutes, entries[i].pseconds, entries[i].pframes)))); TRACE(("\n")); }
add: cdrom_table_of_contents_header *header; cdrom_full_table_of_contents_entry *entries; int i, count; int header_length;  header = (cdrom_table_of_contents_header*)data; entries = (cdrom_full_table_of_contents_entry*)(data+4); header_length = B_BENDIAN_TO_HOST_INT16(header->length); if (data_length < header_length) { TRACE(("dump_full_table_of_contents: warning, data buffer not large enough (%d < %d)\n", data_length, header_length)); header_length = data_length; }  TRACE(("%s: table of contents dump:\n", kModuleDebugName)); TRACE(("--------------------------------------------------\n")); TRACE(("header:\n")); TRACE(("  length = %d\n", header_length)); TRACE(("  first  = %d\n", header->first)); TRACE(("  last   = %d\n", header->last));  count = (header_length-2) / sizeof(cdrom_full_table_of_contents_entry); TRACE(("\n")); TRACE(("entry count = %d\n", count));  for (i = 0; i < count; i++) { TRACE(("\n")); TRACE(("entry #%d:\n", i)); TRACE(("  session  = %d\n", entries[i].session)); TRACE(("  adr      = %d\n", entries[i].adr)); TRACE(("  control  = %d\n", entries[i].control)); TRACE(("  tno      = %d\n", entries[i].tno)); TRACE(("  point    = %d (0x%.2x)\n", entries[i].point, entries[i].point)); TRACE(("  minutes  = %d\n", entries[i].minutes)); TRACE(("  frames   = %d\n", entries[i].seconds)); TRACE(("  seconds  = %d\n", entries[i].frames)); TRACE(("  zero     = %d\n", entries[i].zero)); TRACE(("  pminutes = %d\n", entries[i].pminutes)); TRACE(("  pseconds = %d\n", entries[i].pseconds)); TRACE(("  pframes  = %d\n", entries[i].pframes)); TRACE(("  lba      = %ld\n", msf_to_lba(make_msf_address(entries[i].pminutes, entries[i].pseconds, entries[i].pframes)))); } TRACE(("--------------------------------------------------\n"));
context: dump_full_table_of_contents(uchar *data, uint16 data_length){			cdrom_table_of_contents_header *header;			cdrom_full_table_of_contents_entry *entries;			int i, count;						header = (cdrom_table_of_contents_header*)data;			entries = (cdrom_full_table_of_contents_entry*)(data+4);			header->length = B_BENDIAN_TO_HOST_INT16(header->length);			if (data_length < header->length) {				TRACE(("dump_full_table_of_contents: warning, data buffer not large enough (%ld < %ld)\n",				       data_length, header->length));				header->length = data_length;			}						TRACE(("header:\n"));			TRACE(("  length = %d\n", header->length));			TRACE(("  first  = %d\n", header->first));			TRACE(("  last   = %d\n", header->last));						count = (header->length-2) / sizeof(cdrom_full_table_of_contents_entry);			TRACE(("\n"));			TRACE(("entry count = %d\n", count));			TRACE(("\n"));						for (i = 0; i < count; i++) {				TRACE(("entry #%d:\n", i));				TRACE(("  session  = %d\n", entries[i].session));				TRACE(("  adr      = %d\n", entries[i].adr));				TRACE(("  control  = %d\n", entries[i].control));				TRACE(("  tno      = %d\n", entries[i].tno));				TRACE(("  point    = %d (0x%.2x)\n", entries[i].point, entries[i].point));				TRACE(("  minutes  = %d\n", entries[i].minutes));				TRACE(("  frames   = %d\n", entries[i].seconds));				TRACE(("  seconds  = %d\n", entries[i].frames));				TRACE(("  zero     = %d\n", entries[i].zero));				TRACE(("  pminutes = %d\n", entries[i].pminutes));				TRACE(("  pseconds = %d\n", entries[i].pseconds));				TRACE(("  pframes  = %d\n", entries[i].pframes));				TRACE(("  lba      = %ld\n", msf_to_lba(make_msf_address(entries[i].pminutes,				                              entries[i].pseconds, entries[i].pframes))));				TRACE(("\n"));			}				}