+ os << "Z_GDU";
+ return os;
+}
+
+std::ostream& std::operator<<(std::ostream& os, Z_HTTP_Request& httpreq)
+{
+ os << httpreq.method << " ";
+ os << httpreq.path;
+ return os;
+}
+
+std::ostream& std::operator<<(std::ostream& os, Z_HTTP_Response& httpres)
+{
+ os << httpres.code << " ";
+ os << httpres.content_len;
+ return os;
+}
+
+std::ostream& std::operator<<(std::ostream& os, Z_Records & rs)
+{
+ switch (rs.which)
+ {
+ case Z_Records_DBOSD :
+ break;
+ case Z_Records_NSD:
+ if (rs.u.nonSurrogateDiagnostic)
+ os << *(rs.u.nonSurrogateDiagnostic);
+ break;
+ case Z_Records_multipleNSD:
+ os << "Z_Records_multipleNSD";
+ //os << *(rs.u.multipleNonSurDiagnostics);
+ break;
+ default:
+ os << "Z_Records" ;
+ }
+
+ return os;
+}
+
+std::ostream& std::operator<<(std::ostream& os, Z_DiagRec& dr)
+{
+ switch (dr.which)
+ {
+ case Z_DiagRec_defaultFormat:
+ if (dr.u.defaultFormat)
+ os << *(dr.u.defaultFormat);
+ break;
+ case Z_DiagRec_externallyDefined :
+ os << "Z_DiagRec_externallyDefined";
+ break;
+ default:
+ os << "Z_DiagRec" ;
+ }
+
+ return os;
+}
+
+std::ostream& std::operator<<(std::ostream& os, Z_DefaultDiagFormat& ddf)
+{
+ if (ddf.condition)
+ os << *(ddf.condition) << " ";
+
+ switch (ddf.which)
+ {
+ case Z_DefaultDiagFormat_v2Addinfo:
+ os << ddf.u.v2Addinfo;
+ break;
+ case Z_DefaultDiagFormat_v3Addinfo:
+ os << ddf.u.v3Addinfo;
+ break;
+ default:
+ os << "Z_DefaultDiagFormat" ;
+ }
+