+ size = ntohs (message->size);
+
+ data_id = 0;
+ switch (type)
+ {
+ case GNUNET_MESSAGE_TYPE_CADET_CHANNEL_APP_DATA:
+ {
+ struct GNUNET_CADET_ChannelAppDataMessage *data_msg;
+ struct GNUNET_MessageHeader *payload_msg;
+ uint16_t payload_type;
+
+ data_msg = (struct GNUNET_CADET_ChannelAppDataMessage *) message;
+ data_id = ntohl (data_msg->mid);
+ payload_msg = (struct GNUNET_MessageHeader *) &data_msg[1];
+ payload_type = ntohs (payload_msg->type);
+ strncpy (info, GC_m2s (payload_type), 31);
+ info[31] = '\0';
+ break;
+ }
+ case GNUNET_MESSAGE_TYPE_CADET_CHANNEL_APP_DATA_ACK:
+ {
+ struct GNUNET_CADET_ChannelDataAckMessage *ack_msg;
+ ack_msg = (struct GNUNET_CADET_ChannelDataAckMessage *) message;
+ data_id = ntohl (ack_msg->mid);
+ SPRINTF (info, "0x%010lX",
+ (unsigned long int) ack_msg->futures);
+ break;
+ }
+ case GNUNET_MESSAGE_TYPE_CADET_CHANNEL_OPEN:
+ {
+ struct GNUNET_CADET_ChannelOpenMessage *cc_msg;
+ cc_msg = (struct GNUNET_CADET_ChannelOpenMessage *) message;
+ SPRINTF (info, " 0x%08X", ntohl (cc_msg->ctn.cn));
+ break;
+ }
+ case GNUNET_MESSAGE_TYPE_CADET_CHANNEL_OPEN_ACK:
+ case GNUNET_MESSAGE_TYPE_CADET_CHANNEL_OPEN_NACK_DEPRECATED:
+ case GNUNET_MESSAGE_TYPE_CADET_CHANNEL_DESTROY:
+ {
+ struct GNUNET_CADET_ChannelManageMessage *m_msg;
+ m_msg = (struct GNUNET_CADET_ChannelManageMessage *) message;
+ SPRINTF (info, " 0x%08X", ntohl (m_msg->ctn.cn));
+ break;
+ }
+ default:
+ info[0] = '\0';
+ }
+ LOG (GNUNET_ERROR_TYPE_INFO,
+ "==> %s (%12s %4u) on chan %s (%p) %s [%5u]\n",
+ GC_m2s (type), info, data_id,
+ GCCH_2s (ch), ch, GC_f2s (fwd), size);