- * Revision 1.117 2001-06-13 20:47:40 adam
+ * Revision 1.119 2001-09-24 21:51:55 adam
+ * New Z39.50 OID utilities: yaz_oidval_to_z3950oid, yaz_str_to_z3950oid
+ * and yaz_z3950oid_to_str.
+ *
+ * Revision 1.118 2001/07/19 19:51:41 adam
+ * Added typecasts to make C++ happy.
+ *
+ * Revision 1.117 2001/06/13 20:47:40 adam
* When error is returned from present handler, non-surrogate diagnostic
* is returned in present response (and fetch handler is no longer called).
*
* When error is returned from present handler, non-surrogate diagnostic
* is returned in present response (and fetch handler is no longer called).
*
req = request_get(&assoc->incoming); /* get a new request structure */
odr_reset(assoc->decode);
odr_setbuf(assoc->decode, assoc->input_buffer, res, 0);
req = request_get(&assoc->incoming); /* get a new request structure */
odr_reset(assoc->decode);
odr_setbuf(assoc->decode, assoc->input_buffer, res, 0);
- if (!z_APDU(assoc->decode, &req->request, 0, 0))
+ if (!z_APDU(assoc->decode, &req->apdu_request, 0, 0))
{
yaz_log(LOG_LOG, "ODR error on incoming PDU: %s [near byte %d] ",
odr_errmsg(odr_geterror(assoc->decode)),
{
yaz_log(LOG_LOG, "ODR error on incoming PDU: %s [near byte %d] ",
odr_errmsg(odr_geterror(assoc->decode)),
- if (assoc->print && !z_APDU(assoc->print, &req->request, 0, 0))
+ if (assoc->print && !z_APDU(assoc->print, &req->apdu_request, 0, 0))
{
yaz_log(LOG_WARN, "ODR print error: %s",
odr_errmsg(odr_geterror(assoc->print)));
{
yaz_log(LOG_WARN, "ODR print error: %s",
odr_errmsg(odr_geterror(assoc->print)));
yaz_log(LOG_DEBUG, "backend_response");
assert(assoc && req && req->state != REQUEST_IDLE);
/* determine what it is we're waiting for */
yaz_log(LOG_DEBUG, "backend_response");
assert(assoc && req && req->state != REQUEST_IDLE);
/* determine what it is we're waiting for */
{
case Z_APDU_searchRequest:
res = response_searchRequest(assoc, req, 0, &fd); break;
{
case Z_APDU_searchRequest:
res = response_searchRequest(assoc, req, 0, &fd); break;
static Z_APDU *process_initRequest(association *assoc, request *reqb)
{
statserv_options_block *cb = statserv_getcontrol();
static Z_APDU *process_initRequest(association *assoc, request *reqb)
{
statserv_options_block *cb = statserv_getcontrol();
Z_APDU *apdu = zget_APDU(assoc->encode, Z_APDU_initResponse);
Z_InitResponse *resp = apdu->u.initResponse;
bend_initresult *binitres;
Z_APDU *apdu = zget_APDU(assoc->encode, Z_APDU_initResponse);
Z_InitResponse *resp = apdu->u.initResponse;
bend_initresult *binitres;
Z_Records *rec = (Z_Records *)
odr_malloc (assoc->encode, sizeof(*rec));
Z_Records *rec = (Z_Records *)
odr_malloc (assoc->encode, sizeof(*rec));
int *err = odr_intdup(assoc->encode, error);
Z_DiagRec *drec = (Z_DiagRec *)
odr_malloc (assoc->encode, sizeof(*drec));
Z_DefaultDiagFormat *dr = (Z_DefaultDiagFormat *)
odr_malloc (assoc->encode, sizeof(*dr));
int *err = odr_intdup(assoc->encode, error);
Z_DiagRec *drec = (Z_DiagRec *)
odr_malloc (assoc->encode, sizeof(*drec));
Z_DefaultDiagFormat *dr = (Z_DefaultDiagFormat *)
odr_malloc (assoc->encode, sizeof(*dr));
yaz_log(LOG_DEBUG, "Diagnostic: %d -- %s", error, addinfo ? addinfo :
"NULL");
rec->which = Z_Records_NSD;
yaz_log(LOG_DEBUG, "Diagnostic: %d -- %s", error, addinfo ? addinfo :
"NULL");
rec->which = Z_Records_NSD;
static Z_NamePlusRecord *surrogatediagrec(association *assoc, char *dbname,
int error, char *addinfo)
{
static Z_NamePlusRecord *surrogatediagrec(association *assoc, char *dbname,
int error, char *addinfo)
{
Z_NamePlusRecord *rec = (Z_NamePlusRecord *)
odr_malloc (assoc->encode, sizeof(*rec));
int *err = odr_intdup(assoc->encode, error);
Z_NamePlusRecord *rec = (Z_NamePlusRecord *)
odr_malloc (assoc->encode, sizeof(*rec));
int *err = odr_intdup(assoc->encode, error);
Z_DiagRec *drec = (Z_DiagRec *)odr_malloc (assoc->encode, sizeof(*drec));
Z_DefaultDiagFormat *dr = (Z_DefaultDiagFormat *)
odr_malloc (assoc->encode, sizeof(*dr));
Z_DiagRec *drec = (Z_DiagRec *)odr_malloc (assoc->encode, sizeof(*drec));
Z_DefaultDiagFormat *dr = (Z_DefaultDiagFormat *)
odr_malloc (assoc->encode, sizeof(*dr));
yaz_log(LOG_DEBUG, "SurrogateDiagnotic: %d -- %s", error, addinfo);
rec->databaseName = dbname;
rec->which = Z_NamePlusRecord_surrogateDiagnostic;
rec->u.surrogateDiagnostic = drec;
drec->which = Z_DiagRec_defaultFormat;
drec->u.defaultFormat = dr;
yaz_log(LOG_DEBUG, "SurrogateDiagnotic: %d -- %s", error, addinfo);
rec->databaseName = dbname;
rec->which = Z_NamePlusRecord_surrogateDiagnostic;
rec->u.surrogateDiagnostic = drec;
drec->which = Z_DiagRec_defaultFormat;
drec->u.defaultFormat = dr;
- dr->diagnosticSetId = odr_oiddup (assoc->encode,
- oid_ent_to_oid(&bib1, oid));
+ dr->diagnosticSetId =
+ yaz_oidval_to_z3950oid (assoc->encode, CLASS_DIAGSET, VAL_BIB1);
Z_DiagRecs *recs = (Z_DiagRecs *)odr_malloc (assoc->encode, sizeof(*recs));
int *err = odr_intdup(assoc->encode, error);
Z_DiagRecs *recs = (Z_DiagRecs *)odr_malloc (assoc->encode, sizeof(*recs));
int *err = odr_intdup(assoc->encode, error);
Z_DiagRec **recp = (Z_DiagRec **)odr_malloc (assoc->encode, sizeof(*recp));
Z_DiagRec *drec = (Z_DiagRec *)odr_malloc (assoc->encode, sizeof(*drec));
Z_DiagRec **recp = (Z_DiagRec **)odr_malloc (assoc->encode, sizeof(*recp));
Z_DiagRec *drec = (Z_DiagRec *)odr_malloc (assoc->encode, sizeof(*drec));
yaz_log(LOG_DEBUG, "DiagRecs: %d -- %s", error, addinfo ? addinfo : "");
yaz_log(LOG_DEBUG, "DiagRecs: %d -- %s", error, addinfo ? addinfo : "");
- rec->diagnosticSetId = odr_oiddup (assoc->encode,
- oid_ent_to_oid(&bib1, oid));
+ rec->diagnosticSetId =
+ yaz_oidval_to_z3950oid (assoc->encode, CLASS_DIAGSET, VAL_BIB1);
static Z_APDU *response_searchRequest(association *assoc, request *reqb,
bend_search_rr *bsrt, int *fd)
{
static Z_APDU *response_searchRequest(association *assoc, request *reqb,
bend_search_rr *bsrt, int *fd)
{
Z_APDU *apdu = (Z_APDU *)odr_malloc (assoc->encode, sizeof(*apdu));
Z_SearchResponse *resp = (Z_SearchResponse *)
odr_malloc (assoc->encode, sizeof(*resp));
Z_APDU *apdu = (Z_APDU *)odr_malloc (assoc->encode, sizeof(*apdu));
Z_SearchResponse *resp = (Z_SearchResponse *)
odr_malloc (assoc->encode, sizeof(*resp));
Z_APDU *apdu = (Z_APDU *)odr_malloc (assoc->encode, sizeof(*apdu));
Z_ScanResponse *res = (Z_ScanResponse *)
odr_malloc (assoc->encode, sizeof(*res));
Z_APDU *apdu = (Z_APDU *)odr_malloc (assoc->encode, sizeof(*apdu));
Z_ScanResponse *res = (Z_ScanResponse *)
odr_malloc (assoc->encode, sizeof(*res));
Z_SortResponse *res = (Z_SortResponse *)
odr_malloc (assoc->encode, sizeof(*res));
bend_sort_rr *bsrr = (bend_sort_rr *)
Z_SortResponse *res = (Z_SortResponse *)
odr_malloc (assoc->encode, sizeof(*res));
bend_sort_rr *bsrr = (bend_sort_rr *)
Z_DeleteResultSetResponse *res = (Z_DeleteResultSetResponse *)
odr_malloc (assoc->encode, sizeof(*res));
bend_delete_rr *bdrr = (bend_delete_rr *)
Z_DeleteResultSetResponse *res = (Z_DeleteResultSetResponse *)
odr_malloc (assoc->encode, sizeof(*res));
bend_delete_rr *bdrr = (bend_delete_rr *)
request.stream = assoc->encode;
request.decode = assoc->decode;
request.print = assoc->print;
request.stream = assoc->encode;
request.decode = assoc->decode;
request.print = assoc->print;
Z_APDU *apdu = zget_APDU(assoc->encode, Z_APDU_extendedServicesResponse);
Z_ExtendedServicesResponse *resp = apdu->u.extendedServicesResponse;
yaz_log(LOG_DEBUG,"inside Process esRequest");
Z_APDU *apdu = zget_APDU(assoc->encode, Z_APDU_extendedServicesResponse);
Z_ExtendedServicesResponse *resp = apdu->u.extendedServicesResponse;
yaz_log(LOG_DEBUG,"inside Process esRequest");
esrequest.stream = assoc->encode;
esrequest.decode = assoc->decode;
esrequest.print = assoc->print;
esrequest.stream = assoc->encode;
esrequest.decode = assoc->decode;
esrequest.print = assoc->print;