Resource Management

Several messages contain a status code. This code consists of a four-hex-digits return and a four-hex-digits feedback code.

Return Codes

00 - Request processed successfully

The request has been processed without problems. When this is returned, any data expected to be returned by the request should be in its appropriate field in the parameter list.

04 - Request processed, additional data in feedback code

The request was processed successfully, however, an abnormal event occurred during the request, which is therefore communicated back to the requester via a feedback code. Nevertheless, any data expected to be returned by the request should be in its appropriate field in the parameter list.

08 - Request not processed, additional data in feedback code

The request could not be processed. Additional information is provided in the feedback code.

0C - Invalid request, additional data in feedback code

The request was not processed due to an error in the request itself, or an error in the request data. Additional information is provided in the feedback code.

10 - Logic error, additional data in feedback code

Due to a logic error in the resource manager logic, the request may or may not have been processed. Details on the error are provides in the feedback code.

Feedback Codes

04 - Invalid function requested

The request field of the parameter list contains an invalid or unknown request identifier.

08 - No resource pool token parameter provided

The requester did not provide the address of a resource pool token area for the request. This parameter is required for all requests.

0C - Resource pool token error

The user provided a pointer to a resource pool token area; however, this area is either non-zero for a CREATE request or zero for any other request. When the area is non-zero for any request other than a CREATE request and this is returned, it indicates that the resource pool token does not reflect the status at the time of the resource pool create when the token was specified. After the creation of a resource pool, a pointer from the created header to the token provided on the CREATE remains to ensure that the same token area is provided for a specific resource pool for each request, otherwise this feedback code will be returned.

10 - Name parameter error

This indicates that a request has been issued without the required 'Rname' parameter. This parameter is required for all requests except 'Freeall'.

14 - Resource pool quiescing

An ERASE request has been issued to delete a resource pool. All users of the resource manager must complete their last request before the ERASE request can finish. As soon as all requests have been completed, the resource pool is deleted and the token is returned to a free status.

18 - Logic error processing request

A logic error has occurred while processing a request. This usually means that an issue has been detected which should have been screened of the code at an earlier point and is therefore logically invalid.

1C - PLIST level error

When a parameter list for the resource manager is built, the level of the macro with which the PLIST was built is maintained. This indicates that the level set in the PLIST is incompatible with the level of the resource manager being used. It means that either the PLIST has been overwritten, or that the PLIST was generated with a higher level of the macro than the resource manager supports.

20 - Buffer pool error

The resource manager uses the fixed buffer pool manager to get storage for the resource pool header. This can result in problems if the buffer pool token provided on the CREATE request is invalid. It 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 may be a shortage of storage in the area. A message will be issued to the console giving the return and feedback codes from the fixed buffer pool manager request. Refer to this message for more details on the error.

24 - No buffer for resource

When an ADD request is issued, a buffer must be called to add the resource to the resource pool. This indicates that the fixed buffer pool manager request to get a buffer failed due to the fact that the maximum number of resources have already been defined. Either the resource pool has been filled up with unknown resources or the maximum number of resources for the resource pool specified on the CREATE request was not sufficient.

28 - Resource not found

The specified resource was not found. When a GET, FREE or DELETE request is issued, the resource involved must be identified; this message means that the resource number that was used is either not allocated or invalid.

2C - No resource record area available

To process an ADD, DELETE, GET or FREE request, the resource manager requires a resource record area. When this feedback code is returned, the request to get a resource record area from the subpool built during resource pool create processing has failed. As this subpool should expand to satisfy any request, this indicates that there is insufficient storage 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.

30 - Resource already exists

This indicates that a user has requested an ADD for a resource name/length combination that already exists in the resource pool.

34 - Number of resources parameter error

The number of resources parameter to be defined in a resource pool was not specified for the CREATE request.

38 - Maximum number of resources parameter error

The maximum number of resources to be defined for a resource pool has been specified on a CREATE request, however, this is lower than the base number of resources to applicable to the resource pool.

3C - Buffer pool token error

The resource manager requires a fixed buffer pool token to be provided on a CREATE request. This indicates that the token was not provided.

40 - Chain parameter error

This indicates that the Chain parameter has not been specified where required. The Chain parameter is required for the ADD, DELETE, GET and FREE requests.

44 - Resource length not matched

A resource has been identified using a resource number with a name and length provided to verify that the resource number is correct. This code indicates that the resource number is a valid resource, however, the length provided to identify the resource and the current resource length do not match.

48 - Resource name did not match

This is identical to code 44 except that the length matches but the provided name does not.

4C - Resource deleted

The requested resource has been found, however, it is in the process of being deleted. When a DELETE request is issued, the resource can only be flagged as deleted until all users using the resource have completed their tasks. This code indicates that the resource is in this flagged state.

50 - Resource area free logic error

The resource manager encountered a logic error while trying to free a resource record area.

54 - Resource not held by user

A request has been issued to free a resource, however, the resource manager could find no record of resouce being allocated to the user. This will occur if no previous GET request was issued for the resource, or a Chain address other than that in the FREE request was provided for the GET request.

58 - Resource not held

This is a logic error in the sense that the resource manager has a record of the user holding the resource, however, the resource itself indicates that it is not held.

5C - Resource already held by requester

A GET request has been issued for a resource, however, the resource manager has determined that the caller already has the resource.

60 - Length parameter error

This indicates that the length provided in a request to identify a resource is longer than the maximum resource length for the resource pool.

64 - Free resource area logic error

A logic error has occurred while trying to free a resource buffer for delete processing.

68 - Resource number error

A resource number has been provided to identify a resource which is higher than the maximum number of resources in the resource pool.

6C - Resource not available

A requested resource was not available and as COND=YES was specified on the GET request, the resource manager did not wait for the resource to become free.

70 - Resource free logic error

A request has been made to free a resource which 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.

Overview of Messages

RSM0001 | RSM0002 | RSM0003 | RSM0004

RSM0001 Resource pool $1 created successfully
Explanation:

A request to create a resource pool has completed successfully. $1 is the name of the resource pool created.


RSM0002 Resource pool $1 creation failed, rc=$2 fdbk=$3
Explanation:

A request to create resource pool $1 failed due to an error returned from the fixed length buffer pool manager. $2 is the returned code from the fixed length buffer pool manager request and $3 is the feedback code.

System action:

If the resource pool being created is Com-plete's general resource pool (ie. when $1 is 'GEN-RESR'), Com-plete initialisation will fail. In other cases, the subsystem for which the resource pool is being created may not function correctly if it functions at all.

System programmer info:

Based on the fixed buffer pool manager return and feedback codes, determine why the request failed and if possible correct the error. In most cases, the error will more than likely be related to a shortage of storage. In cases where the problem does not appear to be installation related, report the error to the support area responsible for creating the resource pool who's creation failed.


RSM0003 Resource pool $1 deleted successfully
Explanation:

A request to delete the $1 resource pool has completed successfully.

System action:

The resource pool is no longer available for use.


RSM0004 Resource Pool $1 request $2 rc=$3 fdbk=$4 reta=$5
Explanation:

The resource manager has detected a request that has received a non-zero return code and request that messages be issued. In this case the $2 request against the $1 resource pool got return code $3 and feedback code $4. The address from where the request was issued is $5.

System programmer info:

With a return code of 4, this is an informational message written to the log file for just in case.

With a return code higher than 4, this indicates a logic error. In this case, please, report the message and the steps taken to create it to your local support centre.