Request Status Codes

The 'status' of a request is returned in a fullword in its parameter list. The first halfword is a return code indicating the processing results of the request. The second halfword is a feedback area where the exact reason for a processing failure is returned.

This document covers the following topics:


Return Codes

00 The request was processed successfully without problems. Any data returned by the request should be in the appropriate field in the parameter list.
04 The request was processed successfully; however, an unusual event occurred that is described by a feedback code. Any data returned by the request should be in the appropriate field in the parameter list.
08 The request was not processed. Additional information is provided in the feedback code.
12 The request was not processed; an error in the request itself or an error in the data provided for the request made it invalid. Additional information is provided in the feedback code.
16 The request may or may not have been processed: this cannot be determined due to a logic error encountered in the resource manager. Additional information is provided in the feedback code. This return code indicates a problem with the resource manager itself and needs to be reported to your local technical support representative.

Feedback Codes

04 The request field of the parameter list contains an invalid or unknown request number.
08 The request did not include the address of a resource pool token area, which is required for all requests.
12 The request included the address of a resource pool token area; however, the indicated area was either nonzero for a `Create' request or zero for any other request. When a resource pool is created, the nonzero token is provided. A pointer is maintained from the created header to the provided token to ensure that the same token area is provided on each request for a specific resource pool. This feedback code is returned when a zero token area is returned for a non-`Create' request indicating that the token area provided is not correct.
16 The request was issued without the `Rname' parameter when it was required, as it is for all requests except the `Freeall' request.
20 The resource pool is quiescing. An `Erase' request was issued to delete the resource pool, which requires all resource manager users to complete their last request before the resource pool is deleted and the token returned to a free status.
24 A logic error was encountered while processing the request. This generally indicates that something later in the code was inconsistent with something earlier in the code.
28 The level of the macro used to build a parameter list for the resource manager is maintained in the parameter list. This feedback code indicates that the macro level set in the parameter level is incompatible with the level of the resource manager being used. Either the parameter list has been overwritten, or it was generated with a higher level macro that the resource manager supports.
32 A buffer pool error occurred. The resource manager uses the fixed buffer pool manager to acquire storage for the resource pool header. If the buffer pool token provided on the create request was invalid, the storage cannot be acquired. The resource manager also uses the fixed buffer pool manager to create a buffer pool for the resource pool being built. This may fail for various reasons, the most common of which is a shortage of storage in the region. A message with more details about the error is issued to the console with the return and feedback codes from the fixed buffer pool manager request.
36 When an `Add' request is issued, a buffer must be acquired to add the resource to the resource pool. The fixed buffer pool manager request to acquire a buffer failed because the maximum number of resources were already defined. Either the resource pool was filled with unknown resources or the maximum number of resources for the resource pool specified on the `Create' request was not sufficient.
40 When a `Get', `Free', or `Delete' request is issued, the necessary resource must be identified. A resource number was used to specify the resource but the number was either not allocated or invalid and therefore, the resource was not found.
44 To process an `Add', `Delete', `Get', or `Free' request, the resource manager requires a resource record area. The request to acquire a resource record area from the subpool built during resource pool `Create' processing failed. As this subpool expands to satisfy requests, the failure indicates that sufficient storage is not available. Refer to the console log for any fixed buffer pool manager messages related to the buffer pool built by the resource pool `Create' request.
48 A user issued an `Add' request for a resource name/length combination that already exists in the resource pool.
52 The parameter indicating the number of resources to be defined in a resource pool was not specified for the `Create' request.
56 The maximum number of resources to be defined for a resource pool was specified on a `Create' request; however, this was lower than the base number of resources to be defined in the resource pool.
60 The resource manager requires a fixed buffer pool token to be provided on a `Create' request. This indicates that the token was not provided.
64 The `Chain' parameter was not specified when it was required, which it is for the `Add', `Delete', `Get', and `Free' requests.
68 A resource was identified using a resource number with a name and length to verify that the resource number is correct. The resource number is a valid resource; however, the length provided to identify the resource and the current resource length are not equal.
72 This is returned in exactly the same way as for 68 except that the length matched but the provided name did not.
76 The requested resource was found; however, it is being deleted. When a `Delete' request is issued, the resource is only flagged as deleted until all users of the resource are finished with it. The resource is currently in this flagged state.
80 The resource manager encountered a logic error while trying to `Free' a resource record area.
84 A request was issued to `Free' a resource; however, the resource manager could find no record of the user having acquired the resource. This occurs when no previous `Get' request was issued for the resource, or a different `Chain' address was provided to the `Get' request than was provided to the `Free' request.
88 The resource manager has a record of the user holding the resource; however, the resource itself indicates that it is not held. This is a logic error.
92 A `Get' was requested for a resource; however, the resource manager has determined that the caller already has the resource.
96 The `Length' provided on a request to identify a resource is longer than the maximum resource length for the resource pool.
100 A logic error occurred while trying to free a resource buffer for `Delete' processing.
104 A resource number was provided to identify a resource but the number is higher than the maximum number of resources in the resource pool.
108 A requested resource was not available. Because COND=YES was specified on the `Get' request, the resource manager did not wait for the resource to become free.
112 A request was made to `Free' a resource that has been deleted. This is a valid request; however, the status of the resource control block does not reflect the values expected under the circumstances. This is a logic error.