GDDM V3R2 Base Application Programming Reference
|
Previous topic |
Next topic |
Contents |
Index |
Contact z/OS |
Library |
PDF |
BOOK
DSOPEN GDDM V3R2 Base Application Programming Reference SC33-0868-02 |
|
Function To open a device. DSOPEN (device-id, family, device-token, procopt-count, procopt-list, name-count, name-list) Parameters device-id (specified by user) (fullword integer)
The values 0 and 1 should also be avoided, unless it is certain that they are not required for default devices. Note that GDDM can automatically open devices, as follows:
The device-family code, which can take these values:
device-token (specified by user) (8-byte character string) Tells GDDM where to find the properties of the device. GDDM left-justifies the supplied parameter, and converts it to uppercase, if necessary. It can have these values:
procopt-count (specified by user) (fullword integer) The number of fullwords in procopt-list. Zero can be specified to indicate that procopt-list is empty and is not to be inspected. procopt-list (specified by user) (an array of fullword integers) This list is used to pass miscellaneous processing options to GDDM. Some of these options are dependent on the device family, and some on a particular subsystem. Each option is passed as an option group, consisting of a fullword option code, followed by one or more fullwords of option data. Option groups can be specified in any order. Only those option groups for which it is specifically required to override GDDM's default action need be specified. If an option group is not relevant in the execution circumstances (for example, CMS attention handling, while operating under TSO), that option group is ignored. The parameter list takes the form: __________________________ | First Option Group Code | |__________________________| | Option 1 | |__________________________| | Option 2 | |__________________________| | ( .... ) | |__________________________| | Second Option Group Code | |__________________________| | Option 1 | |__________________________| | ( .... ) | |__________________________| The option groups are described in detail in "Processing options" in topic 19.0. name-count (specified by user) (fullword integer) The number of 8-byte name-parts in name-list. Zero can be specified to indicate that name-list is empty and is not to be inspected. Even if name-list is empty, it must be specified in the parameter list of the call. name-list (specified by user) (array of 8-byte character tokens) This list gives the name-parts that constitute the name by which the device is known to the underlying subsystem. The number of name-parts that can be supplied and their meanings are subsystem- and family-dependent. GDDM left-justifies each supplied name-part and converts it to uppercase, if necessary. Even if name-list is empty, it must be specified in the parameter list of the call. The values for the name-count and name-list parameters for the various subsystems are shown in "Name-lists" in topic 20.0. Description Opens (initializes) a device that GDDM is to access. There is usually no need to issue a DSOPEN call when the output is to appear on the invoking terminal - known as the user console. By default, GDDM automatically opens the user console with device ID of 0 if it is required. If a device other than the user console is to be made known to GDDM, it must have an explicit DSOPEN call unless a nickname is used (see below) that acts on GDDM's automatic opening of the user console. After an explicit DSOPEN and before creating any output for a device, the device must be made current using a DSUSE call. According to the usage specified in the DSUSE call, statements apply to that device until a new device is made current. The scheme is the same as that for pages; that is, several devices are available but only one of them is current at any one time. In a windowing environment, the DSOPEN call applies to a virtual device that is displayed in an operator window of a real device. However, unless the application needs to use the windowing calls, it does not have to distinguish between real and virtual devices. For more information, see the GDDM Base Application Programming Guide. DSOPEN calls are required for auxiliary devices, such as plotters, which can be attached through 3179-G, 3192-G, or 3472-G display stations, 3270-PC/G or 3270-PC/GX workstations, 5550-family Multistations, or devices using GDDM-PCLK. To GDDM, a plotter is a family-1 device. It is identified by using DSOPEN's name-count and name-list parameters. For full information, see "Name-lists" in topic 20.0. Image scanners (3117 and 3118) are always attached to an image display (3193), and therefore DSOPEN calls cannot be made directly to them; DSOPEN calls must be made to the image display. All loadable-character-set stores on the device are assumed to be available for use by GDDM, unless they are subsequently reserved by a call to PSRSV. In CICS transaction-dependent pseudoconversational mode, on the initial invocation of a transaction and after processing the initial input, the PSCNVCTL processing option must be set to "start pseudoconversational mode." On subsequent invocations, it must be set to "continue pseudoconversational mode." For further information, see the GDDM Base Application Programming Guide. Notes: Example of a DSOPEN call Here is an example of a DSOPEN call. The example assumes that the necessary declare statements for the programming language in use have been written (for a PL/I model, see the GDDM Base Application Programming Guide). This example assigns a device identifier of 11 to a local 3279 Model 3 display (screen size 32 by 80), with processing option groups 1000 and 1001 (for CMS PA1/PA2 protocol and attention handling), and with a virtual address known to VM/CMS as '061'. The DSOPEN call to define the device in this way is:
CALL DSOPEN(11,1,'L79A3',6,P_LIST,1,N_LIST)
The following diagram illustrates the values in each of the DSOPEN
parameters:
Device Identifier Device Family Device Token ________ _____ ________ | 11 | | 1 | | 'L79A3'| |________| |_____| |________| (Character) The procopt-list called P_LIST is constructed as follows: __________ | | First procopt group code | 1000 | (CMS PA1/PA2 protocol) |__________| | | Procopt value for this group | 2 | (PA1 to CP, PA2 to user) |__________| | | Second procopt group code | 1001 | (CMS attention handling) |__________| | | First procopt value (extended | 1 | attention handling) for group |__________| | | Second procopt value (length of | 8 | feedback block) for group |__________| | | Third procopt value (address of |X'12AB80' | feedback block) for group |__________| Principal errors
|
Copyright IBM Corporation 1990, 2012 |