- a->u.initRequest->implementationId = global_parameters.implementationId;
- a->u.initRequest->implementationName = global_parameters.implementationName;
- a->u.initRequest->implementationVersion =
- global_parameters.implementationVersion;
- ODR_MASK_SET(a->u.initRequest->options, Z_Options_search);
- ODR_MASK_SET(a->u.initRequest->options, Z_Options_present);
- ODR_MASK_SET(a->u.initRequest->options, Z_Options_namedResultSets);
-
- ODR_MASK_SET(a->u.initRequest->protocolVersion, Z_ProtocolVersion_1);
- ODR_MASK_SET(a->u.initRequest->protocolVersion, Z_ProtocolVersion_2);
- ODR_MASK_SET(a->u.initRequest->protocolVersion, Z_ProtocolVersion_3);
-
- init_authentication(cl, a->u.initRequest);
- init_zproxy(cl, a->u.initRequest);
-
- if (send_apdu(cl, a) >= 0)
- client_set_state(cl, Client_Initializing);
- else
- client_set_state(cl, Client_Error);
- odr_reset(global_parameters.odr_out);
-}
-
-void client_continue(struct client *cl)
-{
- if (cl->state == Client_Connected) {
- client_init_request(cl);
- }
- if (cl->state == Client_Continue || cl->state == Client_Idle)
- {
- struct session *se = client_get_session(cl);
- if (cl->requestid != se->requestid && cl->pquery) {
- // we'll have to abort this because result set is to be deleted
- client_show_raw_cancel(cl);
- client_send_search(cl);
- }
- else if (cl->show_raw)
- {
- client_send_raw_present(cl);
- }
- else if (cl->hits > 0 && cl->records < global_parameters.toget &&
- cl->records < cl->hits) {
- client_send_present(cl);
- }
- else
- client_set_state(cl, Client_Idle);
- }