Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
ACC Programmer's Reference Guide > Chapter 3 ZCOM Tables and Data Structures

Response Records

» 

Technical documentation

Complete book in PDF
» Feedback
Content starts here

 » Table of Contents

 » Index

Response records are used to keep track of the issue-and-wait operations in the ZCOM subsystem. Currently, it is used for the send-with-wait (for example, zsend mode 8), port configuration (zport and zconfig routines), interface card control (zconfig), and remote API calls.

When a program requests a issue-and-wait operation, the LDM allocates a spare response record from the pool, sets up the sleeping address, and puts the caller to sleep. At a later time, when the operation is completed, the driver (LDM or DAM) sets up the return status and wakes up the waiter. The waiter then reads the return status and releases the response record back to the pool.

The layout of the response record (zrsp_type) is shown below.

Table 3-25 Response Record Structure

Field Name

Field Description

Field Type

Size (Bytes)

RPADDR

Waiter sleeping address

pointer

8

RPTYPE

Expected response type

uns.short

2

RPNODE

Remote node

uns.short

2

RPSEQN

Request/Response sequence number

uns.int

4

RPEXPT

Response expiration time

uns.int

4

RPCODE

Return status/error code

int

4

RPBUFQ

Response buffer queue

struct

56

 

RPADDR - Waiter sleeping address

The LDM puts an appropriate address into this field and puts the application to sleep on this address. This field is zero when the record is not being used. When this field is set, the remaining fields of the structure will contain valid information.

RPTYPE - Expected response type

This field contains the type of response the waiter is expecting. The LDM sets up the response type when it initializes the record. This field is validated when a response is returned. Currently, it may contain one of the values Table 3-26 “Response Type Field”.

Table 3-26 Response Type Field

Symbol

Value

Meaning

ZCOM_RPTYPE_BUFFER

1

Buffer completion response

ZCOM_RPTYPE_REMOTE

2

Remote completion response

ZCOM_RPTYPE_IRR

3

Interface request response

 

A buffer completion response is returned when a local request (e.g. port configuration) is completed. A remote completion response is returned when a remote API request is processed in the remote system. An interface request response is returned when ZCOM has completed an interface control request.

RPNODE - Remote node

This contains the remote node number for a remote completion response. It is initialized by the LDM before a remote request is sent, and is used to validate the returned response.

RPSEQN - Request/Response sequence number

For remote and interface requests, the LDM generates and stores a request sequence number in this field. This number is used to validate the returned response.

RPEXPT - Response expiration timeout value

This filed contains the expiration time (Coordinated Universal Time, in seconds) of an outstanding request. The LDM generates a timeout response if the current time exceeds this value. Currently, only the remote completion response uses this field to trigger timeout processing.

RPCODE - Return status or error code

When a response is received, the response status or error code is temporarily stored in this field. The value is then picked up by the waiting process when it resumes execution.

RPBUFQ - Response buffer queue

When a response carries data in addition to just a status or error code, the data is stored in this queue temporarily. The data is retrieved by the waiting process when it resumes execution. Currently, only remote completion responses use this queue for data storage.

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 2000 Hewlett-Packard Development Company, L.P.