+
+/* Chas: Added in from DALI */
+static Z_APDU *process_ESRequest(association *assoc, request *reqb, int *fd)
+{
+ bend_esrequest_rr esrequest;
+
+ Z_ExtendedServicesRequest *req = reqb->request->u.extendedServicesRequest;
+ Z_APDU *apdu = zget_APDU(assoc->encode, Z_APDU_extendedServicesResponse);
+
+ Z_ExtendedServicesResponse *resp = apdu->u.extendedServicesResponse;
+
+ logf(LOG_DEBUG,"inside Process esRequest");
+
+ esrequest.esr = reqb->request->u.extendedServicesRequest;
+ esrequest.stream = assoc->encode;
+ esrequest.errcode = 0;
+ esrequest.errstring = NULL;
+ esrequest.request = reqb;
+ esrequest.association = assoc;
+
+ ((int (*)(void *, bend_esrequest_rr *))(*assoc->bend_esrequest))(assoc->backend,
+ &esrequest);
+
+ /* If the response is being delayed, return NULL */
+ if (esrequest.request == NULL)
+ return(NULL);
+
+ resp->referenceId = req->referenceId;
+
+ if ( esrequest.errcode == 0 )
+ {
+ /* Backend service indicates request will be processed */
+ logf(LOG_DEBUG,"Request will be processed...Good !");
+ *resp->operationStatus = Z_ExtendedServicesResponse_done;
+ }
+ else
+ {
+ /* Backend indicates error, request will not be processed */
+ logf(LOG_DEBUG,"Request will not be processed...BAD !");
+ *resp->operationStatus = Z_ExtendedServicesResponse_failure;
+ }
+ /* Do something with the members of bend_extendedservice */
+
+ logf(LOG_DEBUG,"Send the result apdu");
+
+ return apdu;
+}
+
+/* Chas: End of addition from DALI */