+ case Z_APDU_resourceReportResponse:
+ os << " " << "resourceReportResponse";
+ break;
+ case Z_APDU_scanRequest:
+ os << " " << "scanRequest" << " ";
+ {
+ Z_ScanRequest *sr
+ = zapdu.u.scanRequest;
+
+ if (sr)
+ {
+ for (int i = 0; i < sr->num_databaseNames; i++)
+ {
+ os << sr->databaseNames[i];
+ if (i+1 == sr->num_databaseNames)
+ os << " ";
+ else
+ os << "+";
+ }
+ if (sr->numberOfTermsRequested)
+ os << " " << *(sr->numberOfTermsRequested);
+ else
+ os << " -";
+ if (sr->preferredPositionInResponse)
+ os << " " << *(sr->preferredPositionInResponse);
+ else
+ os << " -";
+ if (sr->stepSize)
+ os << " " << *(sr->stepSize);
+ else
+ os << " -";
+
+ if (sr->termListAndStartPoint)
+ {
+ WRBUF wr = wrbuf_alloc();
+ yaz_scan_to_wrbuf(wr, sr->termListAndStartPoint, VAL_NONE);
+ os << wrbuf_buf(wr);
+ wrbuf_free(wr, 1);
+ }
+ else
+ os << " -";
+ }
+ }
+ break;
+ case Z_APDU_scanResponse:
+ os << " " << "scanResponse" << " ";
+ {
+ Z_ScanResponse *sr
+ = zapdu.u.scanResponse;
+ if (sr)
+ {
+ if ((sr->scanStatus) && !*(sr->scanStatus))
+ {
+ os << "OK";
+ //<< *(sr->scanStatus) << " "
+ if (sr->numberOfEntriesReturned)
+ os << " " << *(sr->numberOfEntriesReturned);
+ else
+ os << " -";
+ //<< sr->referenceId << " "
+ if (sr->positionOfTerm)
+ os << " " << *(sr->positionOfTerm);
+ else
+ os << " -";
+ if (sr->stepSize)
+ os << " " << *(sr->stepSize);
+ else
+ os << " -";
+ }
+ else {
+ os << "ERROR";
+ if (sr->scanStatus)
+ {
+ os << " " << *(sr->scanStatus) << " ";
+
+ switch (*(sr->scanStatus)){
+ case Z_Scan_success:
+ os << "success ";
+ break;
+ case Z_Scan_partial_1:
+ os << "partial_1";
+ break;
+ case Z_Scan_partial_2:
+ os << "partial_2";
+ break;
+ case Z_Scan_partial_3:
+ os << "partial_3";
+ break;
+ case Z_Scan_partial_4:
+ os << "partial_4";
+ break;
+ case Z_Scan_partial_5:
+ os << "partial_5";
+ break;
+ case Z_Scan_failure:
+ os << "failure";
+ break;
+ default:
+ os << "unknown";
+ }
+ }
+ if (sr->numberOfEntriesReturned)
+ os << " " << *(sr->numberOfEntriesReturned);
+ else
+ os << " -";
+ }
+ }
+ }