System Software Library Distributed Name Service (DNS) Management Programming Manual Product Version DNS D00 Release ID C20/D00 Edition Print Date Part Number Abstract January 1992 46958 This manual describes the Distributed Name Service (DNS) management programming interface and tells you how to use it in the management applications you write.
Document History Edition Part Number Product Version Release ID Print Date First Edition 46958 DNS D00 C20/D00 January 1992 New editions incorporate any updates issued since the previous edition. Update packages, which are issued between editions, contain additional and replacement pages that you should merge into the most recent edition of the manual. Examples Export Statement Copyright Examples and sample programs are for illustration only and may not be suited for your particular purpose.
Contents New and Changed Information About This Manual xvii Notation Conventions Section 1 iii xxi Introduction DNS Subsystem Objects 1-2 Why Management Programming for DNS? 1-3 DNS Subsystem Architecture 1-3 DNS Files Loaded by Install 1-3 DNS Configurations 1-4 Control-and-Inquiry Interface 1-6 Control and Inquiry 1-6 Event-Management Interface Event Management 1-7 1-8 Programmatic Commands 1-9 Object Types 1-9 Management Functions Provided 1-10 Comparing Interactive and Programmatic Commands
Contents Section 2 Communicating With the DNS Name Manager Starting a DNS Name Manager Process 2-1 Starting the Name Manager Interactively Using DNSCOM Starting the Name Manager Through TACL 2-2 Starting the Name Manager Programmatically 2-3 Guardian 90 Procedure Considerations 2-5 Opening the Name Manager 2-6 Opening the Name Manager Interactively 2-6 Opening the Name Manager Programmatically Open Errors 2-7 Closing the DNS Name Manager Process Stopping DNS 2-7 2-7 The DNS Name Exporter Process 2-8
Contents Section 4 Common Definitions SPI Standard Definitions 4-2 EMS Standard Definitions Guardian 90 Definitions File-System Definitions 4-4 4-6 4-6 DNS Definitions 4-7 Object Types 4-9 Simple Tokens 4-11 DNS Structured Tokens 4-14 Buffer Declarations 4-17 Fixed Structures 4-19 Predefined Token and Field Values Section 5 4-38 Using DNS in Programs Overview of DNS Programmatic Commands 5-1 Overview of the ADD Commands 5-3 ADD ALIAS Command 5-4 ADD ATYPE Command 5-8 ADD COMP Command 5-11 ADD CT
Contents Overview of the COPY Commands 5-71 COPY ALIAS Command 5-72 COPY COMP Command 5-75 COPY GROUP Command 5-78 Overview of the DELETE Commands 5-81 DELETE ALIAS Command 5-82 DELETE ATYPE Command 5-84 DELETE COMP Command 5-86 DELETE CTYPE Command 5-88 DELETE DOM Command 5-90 DELETE GROUP Command 5-92 DELETE SS Command 5-94 DELETE SSMGR Command 5-96 DELETE SSOBJ Command 5-98 DELETE SSTYPE Command 5-101 DISABLE EXPORT Command 5-104 ENABLE EXPORT Command 5-106 GETVERSION Command 5-108 Overview of the
Contents Overview of the STATUS Commands 5-208 STATUS DNS Command 5-208 STATUS PROC Command 5-210 STATUS SYSTEM Command 5-213 STOP Command Section 6 5-216 Event Messages Subsystem Processes That Report Events Critical Events 6-1 6-4 Event-Management Strategies 6-6 Filtering DNS Event Messages 6-6 Event Messages Caused by CPU and Network Failures ALLOWIMPORTS Attribute 6-6 Logical Database Reload 6-7 Tokens in All Event Messages 6-8 Tokens Appearing in Selected DNS Event Messages Error Lists 6-6 6
Contents 22: 23: 26: 27: 28: 29: 31: 32: 35: 36: 37: 38: Appendix A Appendix B ZDNS-EVT-TYPE-ERROR 6-43 ZDNS-EVT-IMPORT-REJECTED 6-46 ZDNS-EVT-DB-VERSION-ERROR 6-50 ZDNS-EVT-EXP-VERSION-ERROR 6-51 ZDNS-EVT-EXP-START-ERROR 6-52 ZDNS-EVT-EXP-ABEND 6-53 ZDNS-EVT-TRAP 6-55 ZDNS-EVT-ALLOCATESEG-ERROR 6-56 ZDNS-EVT-INITIAL-IMPORT 6-59 ZDNS-EVT-ILL-FILE 6-61 ZDNS-EVT-SYSTATE 6-63 ZDNS-EVT-EXPORT-ERROR 6-64 Token Codes and Token Maps Table of Token Codes A-1 Table of Token Maps A-3 DNS Event Tokens 82: ZD
Contents 101: ZDNS-TKN-PROCESSNAME 102: ZDNS-TKN-FNAME B-6 B-6 103: ZDNS-TKN-DNSTYPE B-6 104: ZDNS-TKN-TAKEOVER-CAUSE 105: ZDNS-TKN-TRAPNO B-7 106: ZDNS-TKN-DB-ERROR 107: ZDNS-TKN-SYSTATE B-7 B-7 110: ZDNS-TKN-EVT-CAUSE B-8 115: ZDNS-TKN-EXPORT-ERR B-8 116: ZDNS-TKN-ERR-CMD B-8 117: ZDNS-TKN-XOPENER B-8 118: ZDNS-TKN-PAIRED-OPEN B-9 119: ZDNS-TKN-XPROCESSNAME 120: ZDNS-TKN-STOP-TYPE Appendix C B-9 B-9 Error Lists Defined by Guardian 90 SEGMENT_ALLOCATE_Failure IO Error C-1 C-1 PRO
Contents 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: xii ZDNS-ERR-ILL-OBJ D-3 ZDNS-ERR-ILL-PARAM D-3 ZDNS-ERR-INUSE D-3 ZDNS-ERR-INV-BOOLEAN D-3 ZDNS-ERR-INV-COMPONENT D-3 ZDNS-ERR-INV-CONTEXT D-3 ZDNS-ERR-INV-FILENO D-3 ZDNS-ERR-INV-FMT D-3 ZDNS-ERR-INV-SSNUM D-3 ZDNS-ERR-INV-NAME D-3 ZDNS-ERR-INV-PROCESSNO D-3 ZDNS-ERR-INV-TYPENUM D-3 ZDNS-ERR-IOERR D-3 ZDNS-ERR-LAST-SUBSYSTEM D-4 ZDNS-ERR-LAST-S
Contents 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: ZDNS-ERR-DUP-SYSTEM D-6 ZDNS-ERR-LOCAL-SYSTEM D-6 ZDNS-ERR-MEMBER-NOTFOUND D-6 ZDNS-ERR-NOT-COPIED D-6 ZDNS-ERR-SSTYPE-NOTFOUND D-6 ZDNS-ERR-SSTYPE-INUSE D-6 ZDNS-ERR-SUBSYSTEM-NOTFOUND D-6 ZDNS-ERR-SYSTEM-NOTFOUND D-6 ZDNS-ERR-RESTRICT-ACTIVE D-6 ZDNS-ERR-RESTRICTED-TYPE D-6 ZDNS-ERR-FILEOPENERR D-6 ZDNS-ERR-DUP-SSOBJ D-6 ZDNS-ERR-GROUP-NEST D-7 ZDNS-ERR-NOMEMBERS D-7 ZDNS-ERR-FIELD-VERSION D-7 ZDNS-ERR-S
Contents Appendix I Update for D-Series Operating Systems Introduction I-1 Overview of D-Series Operating System Changes Affecting EMS More Concurrent Processes Per CPU I-2 What Is a PIN? I-2 I-2 Systems I-3 Does a Process Run in a High PIN or a Low PIN? I-3 Communication Between High-PIN and Unconverted (Low-PIN) EMS Processes I-4 New Process Identifiers I-6 Process Name I-6 Process Descriptor I-6 Process Handle I-6 New Object-File Attributes I-7 New System Procedures I-7 Summary of Changes to EMS o
Contents Tables Table 1-1. Interactive (DNSCOM) Commands and Programmatic Commands 1-11 Table 2-1. Open Errors for Name Manager Table 3-1. File-System Errors Table 4-1. SPI Standard Definitions Used by DNS Table 4-2. EMS Standard Definitions Used by DNS Table 4-3. Guardian 90 Definitions Used by DNS Table 4-4. File-System Definitions Used by DNS Table 4-5. DNS Standard Definitions Used by DNS Table 4-6. DNS Object-Type Parameters Table 4-7. ZDNS-TKN-ERRTYPE Possible Values Table 4-8.
Contents xvi 46958 Tandem Computers Incorporated
New and Changed Information This manual replaces the Tandem DNS material in the Distributed Name Service (DNS) Manual, which was published for the C00 release. That manual has been divided into separate manuals for the command interface and management programming interface to DNS. For more information about the command interface to Tandem DNS, refer to the Distributed Name Service (DNS) Management Operations Manual.
New and Changed Information iv 46958 Tandem Computers Incorporated
About This Manual The Distributed Name Service (DNS) Management Programming Manual provides subsystem-specific information about the management programming interfaces to the Tandem DNS subsystem. These interfaces are based on the Subsystem Programmatic Interface (SPI) and the Event Management Service (EMS). They allow applications to send commands to, and monitor events reported by, the DNS subsystem. The manual serves as both a reference manual and a programmer’s guide.
About This Manual What’s in This Manual? What’s in This Manual? Sections 1 through 3 of this manual give background information and programming considerations, including the following: What types of objects are managed by DNS and the operations necessary to manage these objects (Section 1) How a management application fits into the DNS subsystem architecture (Section 1) How to set up communications with the DNS subsystem, including how to start the DNS name manager process either interactively or programm
About This Manual What Related Publications Are Available? What Related Assuming you are a programmer writing applications that control and make inquiries Publications Are to the DNS subsystem, the diagram on this page shows the other Tandem manuals Available? that you should read for background before you read this manual, and those to which you may need to refer while using this manual. The flowchart indicates the order in which you should read the manuals. Figure 1.
About This Manual What Related Publications Are Available? Introduction to Tandem NonStop Systems describes the application environment, architecture, and networking of Tandem NonStop systems and explains basic concepts, terms, and entities in the NonStop environment. Introduction to Distributed Systems Management (DSM) introduces the set of software products collectively called Distributed Systems Management. It also discusses support for DSM within individual Tandem subsystems.
Notation Conventions The following list summarizes the conventions for syntax presentation in this manual. Notation UPPERCASE LETTERS lowercase italic letters Brackets [ ] Braces { } Vertical line | Ellipsis … Spaces Punctuations Boldface words 46958 Tandem Computers Incorporated Meaning Uppercase letters represent keywords and reserved words; enter these items exactly as shown. Lowercase italic letters represent variable items that you supply. Brackets enclose optional syntax items.
1 Introduction The Tandem Distributed Name Service (DNS) provides object management in a Tandem NonStop system or an Expand network; it does this by managing a distributed and partly replicated name database that models those objects. DNS depends on the Tandem Guardian 90 operating system and the Transaction Monitoring Facility (TMF). DNS supports both interactive and programmatic objectmanagement interfaces. This manual describes the DSM programmatic interfaces to the DNS subsystem.
Introduction DNS Subsystem Objects DNS Subsystem The DNS subsystem lets you assign names to objects to facilitate their management. Objects An object can be any entity that is associated with a subsystem. Examples of objects are files, terminals, lines, and printers; some objects and their names are illustrated in Figure 1-1. In fact, you can define many different types of objects to DNS, for example; employee names, phone numbers, locations, and departments.
Introduction DNS Subsystem Architecture Why Management Programming for DNS? Sometimes, it is desirable to use a programmatic interface rather than an interactive interface to manage a subsystem such as DNS. This is true for the following reasons: A management application can handle routine object-management tasks, allowing operators to perform work that requires judgement and creativity.
Introduction DNS Subsystem Architecture LOAD ($altvol.ZDNS.LOAD). LOAD is a command file that can be read by DNSCOM to load the DNS database with the definitions of some commonly used Tandem subsystems and their object types. DBDDLS ($altvol.ZDNS.DBDDLS). DBDDLS is a Data Definition Language (DDL) source file that describes the DNS database. DNS Configurations Each DNS database is associated with a DNS configuration that is created using DNSCOM’s INITIALIZE DNS command.
Introduction DNS Subsystem Architecture Figure 1-2. DNS Subsystem Architecture Local Node Remote Nodes DNSCOM ••• DNS Database Files DNSCOM DNS Name Manager Management Application Queue File Management Application Name Exporter \A.name manager ••• DNS Configuration File \Z.
Introduction DNS Subsystem Architecture Control-and-Inquiry Interface Management applications interact with DNS by opening a name manager process and sending requests to that manager. The name manager acts upon each request and returns a response to the requestor. The management application’s requests are commands formatted in SPI buffers; it receives responses from DNS in the same format. The commands alter or delete object names in a DNS database, or make inquiries, such as what names are in a group.
Introduction DNS Subsystem Architecture Event-Management Interface Event messages from DNS are made available to management applications by the Event Management Service (EMS). EMS collects, logs, and distributes event messages that provide information to help you monitor the network environment, analyze failures, and recognize and handle critical problems. Figure 1-4 illustrates the event-management interface to DNS and related subsystems.
Introduction DNS Subsystem Architecture Figure 1-4.
Introduction Programmatic Commands Programmatic DNS defines a set of object types, that is, the kinds of objects that can be managed by Commands DNS. DNS also defines a set of commands that can be performed on objects of these types. The DNS object types are listed below, followed by an overview of the DNS programmatic commands and a comparison of them with interactive commands. Section 5 describes the DNS programmatic commands individually.
Introduction Programmatic Commands Management Functions Provided Using the set of programmatic commands defined to operate on the DNS programmatic objects, DNS provides your application with the capability to do the following: Add and delete object names, type names, and other names to a DNS database Alter certain characteristics (attributes), object names, object types, and other definitions in a DNS database Obtain information about the current attributes of definitions in the database such as processes
Introduction Programmatic Commands Table 1-1.
Introduction Programmatic Commands Table 1-1.
Introduction Programmatic Commands Table 1-1.
Introduction Event Messages Table 1-1.
2 Communicating With the DNS Name Manager This section describes how a management application sends Subsystem Programmatic Interface (SPI) messages to the DNS name manager process and receives SPI responses in return. Management applications also retrieve event messages generated by the DNS name manager process. Each network node on which DNS is installed has a name manager.
Communicating with the DNS Name Manager Starting a DNS Name Manager Process Starting the Name Manager Through TACL A name manager process can be started directly at your TACL prompt. It is not necessary to have DNSCOM running to start a name manager process this way.
Communicating with the DNS Name Manager Starting a DNS Name Manager Process Starting the Name Manager Programmatically To start a name manager process programmatically, use the PROCESS_CREATE_ procedure for D-series Guardian 90 (NEWPROCESS [NOWAIT] for C-series Guardian 90). An example of starting a name manager process programmatically (in TAL) is presented below with the specific values used to start the name manager listed first.
Communicating with the DNS Name Manager Starting a DNS Name Manager Process IF phandle <> [10 * [-1]] THEN ! ! Name manager started -- try to open it ! IF err := file_open_(pname:5, fno) THEN ! ! Couldn't open -- stop it just to be sure ! CALL PROCESS_STOP_(phandle) ELSE BEGIN ! ! Opened okay -- build startup message ! startup.type := -1; ! ! Name manager is DEFAULT ! startup.default ':=' ["$SYSTEM SYSTEM "]; ! ! IN file must be the configuration file ! startup.
Communicating with the DNS Name Manager Starting a DNS Name Manager Process IF <> THEN BEGIN ! ! Error sending message to name manager -- find out which error ! CALL file_getinfo_(fno, err); ! ! Ignore error 70 ! IF err = 70 THEN err := 0; END ELSE ! ! Startup message sent Okay ! err := 0; ! ! Close name manager ! CALL close_(fno); ! ! Stop name manager if there was an error ! IF err THEN CALL PROCESS_STOP_(phandle); END; Couldn’t start the name manager Guardian 90 Procedure Considerations An application
Communicating with the DNS Name Manager Opening the Name Manager After your application starts the name manager process, it must send the process a startup message that includes any additional desired startup parameters, as described in the GUARDIAN 90 Operating System Programmer’s Guide. The IN file must use the name of the configuration file that the name manager is to use and the OUT file must use the name of the file where the name manager is to send its EMS events.
Communicating with the DNS Name Manager Stopping DNS The fourth line (error := FILE_OPEN_ ...) calls the Guardian 90 FILE_OPEN_ procedure, passing the file name and file number word. The first “1” indicates that the name manager is being opened for NOWAIT operations. The second “1” indicates the Guardian 90 file system automatically retries any operation that results in a path failure. The fifth line (IF error = 0 THEN) tests the result of the FILE_OPEN_ call.
Communicating with the DNS Name Manager The DNS Name Exporter Process The DNS Name The DNS name exporter process is responsible for replicating DNS name definitions Exporter Process from one node to another. There are no programmatic or interactive DNS commands that directly control name exporter operations. However, there are commands to enable and disable exports to nodes and to inquire about export status. When DNS is started, it automatically starts the name exporter.
3 SPI Programming Considerations for DNS Once your subsystem and EMS processes are running and your management application has established communication with them, the main business of your management application is to format and send commands, decode responses and act on the results, and interpret event messages and act on their information.
SPI Programming Considerations for DNS Definition Files Definition files are named according to the following convention: ZSPIDEF.ZsubsysC ZSPIDEF.ZsubsysCOB ZSPIDEF.ZsubsysDDL ZSPIDEF.ZsubsysTACL ZSPIDEF.ZsubsysTAL subsys is a three-character code identifying the subsystem or other software component to which these definitions belong. This code is DNS for Tandem DNS. The last characters of each file name denote the language in which the definitions in the file are coded.
SPI Programming Considerations for DNS Message Elements for the DNS Subsystem If your application manages other subsystems besides DNS, it also needs the definition files required by those subsystems. This manual and other Tandem manuals use the word “definition” to refer to the data declarations within a definition file.
SPI Programming Considerations for DNS Message Elements for the DNS Subsystem Programmatic commands for the DNS subsystem are identified by command numbers with symbolic names of the form ZDNS-CMD-name, where name identifies the command. For example, the name used by application programs for the ALTER command is ZDNS-CMD-ALTER. These names represent the values that can be assigned to the command number header token, ZSPI-TKN-COMMAND.
SPI Programming Considerations for DNS Using SPI to Build Commands and Decode Responses Event Numbers All event messages contain a header token identifying the event by number. This event number, in combination with the subsystem ID header token, uniquely identifies the kind of event being reported. Event numbers for event messages defined by DNS are identified in programs by symbolic names of the form ZDNS-EVT-name, where name gives a brief identification of the event being reported.
SPI Programming Considerations for DNS Using SPI to Build Commands and Decode Responses Building and Sending a Command Message The following is a summary of the steps your application must take to build and send a command message: 1. Declare a buffer of appropriate size. The recommended buffer size for all commands sent to the DNS subsystem is ZDNS-VAL-BUFLEN (4196 bytes). The maximum buffer size that DNS accepts is ZDNS-VAL-MAXBUF (1000 bytes).
SPI Programming Considerations for DNS Using SPI to Build Commands and Decode Responses Receiving and Decoding a Response Message The following is a summary of the steps your application must take to receive and decode a response message: 1. Declare a buffer of appropriate size. 2. Read the response message, using the mechanism appropriate to your programming language (for example, a WRITEREAD call in TAL). 3.
SPI Programming Considerations for DNS Using SPI to Build Commands and Decode Responses Error Handling An error is a serious condition that prevents a command from being completed. Each response returned by DNS includes a return token (ZSPI-TKN-RETCODE), whose value indicates whether an error occurred when DNS attempted to perform the command. If the command completed with no errors, the value of the return token is zero (ZDNS-ERR-NOERR).
SPI Programming Considerations for DNS Using SPI to Build Commands and Decode Responses File-System Errors on Reply In unusual circumstances, a name manager replies to a request with a file-system error rather than with an error response buffer. File-system errors returned appear in Table 3-1. Table 3-1. File-System Errors Error Meaning 2 (FEINVALOP) This error is returned in one of the following cases: 1. The requester issued an I/O operation other than CLOSE, RESETSYNC, or WRITEREAD. 2.
SPI Programming Considerations for DNS Using SPI to Build Commands and Decode Responses TMF Considerations Any update request must have a valid TMF transaction ID. If not, the name manager replies with a return code of ZDNS-ERR-NOTRANSID. When an error occurs in an update transaction, it is the requester’s responsibility to call ABORTTRANSACTION. Similarly, if an update command completes successfully, it is the requester’s responsibility to call ENDTRANSACTION.
SPI Programming Considerations for DNS Retrieving and Decoding Event Messages Retrieving and The following is a summary of the steps your application must take to retrieve and act Decoding Event upon event messages: Messages 1. Declare a buffer of appropriate size for the Event Management Service (EMS) GETEVENT command and its response. (For recommended sizes, see the eventmanagement considerations subsection that follows.) 2.
SPI Programming Considerations for DNS Retrieving and Decoding Event Messages h. If you encounter the error-list token (ZSPI-TKN-ERRLIST), make another call to EMSGET or EMSGETTKN to retrieve the tokens inside the error list. i. Take action appropriate to the information in the event message. The Event Management Service (EMS) Manual provides information on how to retrieve tokens from an event message.
SPI Programming Considerations for DNS Retrieving and Decoding Event Messages Filters EMS provides you with the ability to create filters, which allow applications to select particular event messages from among those reported. Filters select messages to be returned to an application by examining the values of tokens in the messages.
4 Common Definitions This section lists the common definitions—those used in several commands, responses, or event messages—for the DNS subsystem. Definitions used in only one or two commands, responses, or event messages are described under the individual command or event message in Section 5 and Section 6, respectively. These sections also provide any additional considerations for the common definitions as they apply to the particular command or event message being described.
Common Definitions SPI Standard Definitions SPI Standard All items in the definition files are given symbolic names. Definitions whose names Definitions begin with ZSPI are SPI standard definitions. These definitions are available to all subsystems that support SPI procedures; they are provided in the SPI DDL file, ZSPIDEF.ZSPIDDL, and in the corresponding files for other languages. Table 4-1 lists the SPI standard definitions used in the management programming interface to the DNS subsystem.
Common Definitions SPI Standard Definitions Table 4-1.
Common Definitions EMS Standard Definitions Descriptions of the SPI standard definitions as they apply to all subsystems are given in the Distributed Systems Management (DSM) Programming Manual. For all but two of the definitions listed in Table 4-1, the information in that manual suffices to describe their use by DNS. Subsystem-specific information for those two definitions is given in the following paragraph.
Common Definitions EMS Standard Definitions ZEMS-TKN-CONSOLE-PRINT indicates whether the EMS compatibility distributor routes the event message to the designated operator console (and, in compatible mode, to the OPRLOG and any $AOPR process). Its possible values are: ZSPI-VAL-TRUE The compatibility distributor distributes the message. ZSPI-VAL-FALSE The compatibility distributor does not distribute the message. ZEMS-TKN-PROC-DESC is assigned (by EMS) to be the process descriptor of the event creator.
Common Definitions Guardian 90 Definitions Guardian 90 Definitions Definitions whose names begin with ZGRD are Guardian 90 definitions. They are provided in the ZSPIDEF.ZGRDDDL file and in the corresponding files for other languages. Table 4-3 lists the Guardian 90 definitions that are used in event messages and error lists defined by DNS. Table 4-3.
Common Definitions DNS Definitions DNS Definitions Definitions whose names begin with ZDNS are DNS definitions. These definitions consist of simple tokens and extensible structured tokens used in DNS commands and responses. They are provided in the ZSPIDEF.ZDNSDDL file and in the corresponding files for other languages. The DNS definitions that appear in several commands, responses, or event messages are described in the following subsections.
Common Definitions DNS Definitions Table 4-5.
Common Definitions DNS Definitions Table 4-5.
Common Definitions DNS Definitions Table 4-6. DNS Object-Type Parameters Object Type and Number Description ZDNS-OBJ-DNS (0) The ZDNS-OBJ-DNS object is an entire DNS subsystem. This object is used when the command pertains to DNS itself. The ZDNS-OBJ-NAME object is used when the DNS-defined type of a name is unknown or when names of many types are involved in the command. The ZDNS-OBJ-ALIAS object is used when the command pertains to an alias.
Common Definitions DNS Definitions Simple Tokens This subsection describes the simple tokens defined by DNS. Simple tokens appear only in name-manager responses; DNS does not define simple request tokens. All tokens appearing in error lists are simple tokens. ZDNS-TKN-DISPLAYNAME is a variable-length string token that contains a name formatted for display to human operators. This token appears only in error lists. See the INFO NAME command description in Section 6 for further discussion of this token.
Common Definitions DNS Definitions ZDNS-TKN-ERRLEN is returned in error lists. Its value is the length of the field described by an accompanying ZSPI-TKN-PARM-ERR token. ZDNS-TKN-ERRLEN has the following characteristics: Token Name: Token Type: Token Number: ZDNS-TKN-ERRLEN 16-BIT INTEGER (ZSPI-TYP-INT) 78 ZDNS-TKN-IOERRFILE is returned in an error list describing a file I/O error. The token contains the name of the file where the error occurred.
Common Definitions DNS Definitions ZDNS-TKN-OBJNAME is returned in response to update commands. It identifies, by name, the object that was operated on by the command. This token may also be returned in an error list; in these cases, the value of the token gives the name related to an error.
Common Definitions DNS Definitions DNS Structured Tokens The DNS programmatic interface uses structured tokens almost exclusively, even in cases where the structure contains only one field. (A notable exception is that all tokens appearing in error responses are simple tokens; these are described earlier in this section.
Common Definitions DNS Definitions Table 4-8.
Common Definitions DNS Definitions The optional var suffix indicates the type of structure as follows: P indicates that the token is the normal parameter for the command. For example, ZDNS-MAP-INFO-SSOBJ-P is the parameter for requesting information about a subsystem object or set of subsystem objects. Where used, such parameters must appear exactly once in the request buffer. PF1, PF2 are alternative forms of a single parameter.
Common Definitions DNS Definitions SYS is similarly, a variant used to indicate that the command pertains to a system in a domain, rather than to the domain itself. Token Definition Format The DDL definition for a structured token has a name of the form: ZDNS-DDL-ccccc-ttttt [ -var ] In this syntax, ccccc, ttttt, and var are the same as described under “Token Structure Format.” In the remainder of this section, where a structured token is referenced, the -MAPform of the name is used.
Common Definitions DNS Definitions ZDNS-DDL-MSG-MAXBUFFER is a message buffer of the maximum allowable size recommended for DNS commands, responses, and event messages. It has the following structure: def ZDNS-DDL-MSG-MAXBUFFER. 02 Z-MSGCODE 02 Z-BUFLEN 02 Z-OCCURS 02 Z-FILLER type ZSPI-DDL-INT. type ZSPI-DDL-UINT. type ZSPI-DDL-UINT. type ZSPI-DDL-BYTE occurs 0 to 4994 times depending on Z-OCCURS. end.
Common Definitions DNS Definitions Fixed Structures Table 4-9 lists the fixed (nonextensible) structures defined by the DNS subsystem. Definitions for each field type that may appear in a structured token are provided after this table. The field types are defined in terms of their DDL definitions. Where applicable, each field description also defines allowed parameter values and response values for the field type.
Common Definitions DNS Definitions ZDNS-DDL-CPU contains a CPU number in response structures. It has the following structure: type ZSPI-DDL-UINT spi-null 255. def ZDNS-DDL-CPU A pair of fields of this type corresponds to the CPUS DNSCOM attribute. Allowed Parameter Values: Does not appear in command parameters. Response Values: Where a ZDNS-DDL-CPU field appears in a response structure, it always contains a value in the range 0 through 15.
Common Definitions DNS Definitions ZDNS-DDL-DETAIL appears in request structured tokens and determines whether a BASIC response or a DETAILED response is desired. It has the following structure: def ZDNS-DDL-DETAIL type ZSPI-DDL-BOOLEAN spi-null " ". Allowed Parameter Values: 0= Basic Response -1 = Detailed Response Response Values: The field does not appear in response tokens. ZDNS-DDL-DNSFNAME is used to pass Guardian 90 file names across the DNS programmatic interface.
Common Definitions DNS Definitions Allowed Parameter Values: Where input fields of this type are optional, they may be left null (blank-filled). When not null, the field must be supplied as follows: Bytes 0 through 7 must contain the name of the system that hosts the file. The name must include the leading backslash character (\) and must be left-justified and blankfilled. If the system is not named, bytes 0 through 7 should contain the backslash character (\) followed by seven blank characters.
Common Definitions DNS Definitions Table 4-10. File-Name Conversion Procedures Procedure Description FNAME32COLLAPSE Provides a facility similar to FNAMECOLLAPSE for converting DNS file names to external form. Provides a facility similar to FNAMEEXPAND for converting file names to DNS internal format. Converts a file name from DNS format to Guardian 90 format, if possible. Converts a file name from Guardian 90 format to DNS format, if possible.
Common Definitions DNS Definitions ZDNS-DDL-DNSTYPENAME is used to specify DNS type names (ALIASTYPE or COMPOSITETYPE). In response structures, fields of this type contain a DNS type name or spaces. Fields of this type correspond to the TYPE attribute for aliases and composites. It has the following structure: def ZDNS-DDL-DNSTYPENAME type ZSPI-DDL-CHAR16. Allowed Parameter Values: The field must contain a valid DNS type name, left-justified and blank-filled.
Common Definitions DNS Definitions Allowed Parameter Values: In an ADD command (ZDNS-CMD-ADD), the field may contain: A valid DNS object name The name must be left-justified, blank-filled, and must refer to an existing DNSDOMAIN on the local system. The local system is the system where the name manager processing the command is running. The definition of the name being added is replicated on those systems defined by the named domain.
Common Definitions DNS Definitions ZDNS-DDL-DUPOK is used to correspond to the DUPLICATES attribute of subsystem-object types. It has the following structure: def ZDNS-DDL-DUPOK type ZSPI-DDL-BOOLEAN spi-null " ". Allowed Parameter Values: In an ADD SSTYPE command (command code ZDNS-CMD-ADD, object type ZDNSOBJ-SSTYPE), fields of this type may have the following values: ZDNS-VAL-DUPOK = -1 This indicates that instances of SSTYPE must have names that are unique only within SSMGR.
Common Definitions DNS Definitions ZDNS-DDL-EXT corresponds to the EXTERNAL attribute for subsystem objects and subsystemobject types. It has the following structure: def ZDNS-DDL-EXT type ZSPI-DDL-BOOLEAN spi-null " ". Allowed Parameter Values: In an ADD command (ZDNS-CMD-ADD), fields of this type may have the following values: ZDNS-VAL-EXTERNAL = -1 This corresponds to EXTERNAL ON in DNSCOM. ZDNS-VAL-INTERNAL = 0 This corresponds to EXTERNAL OFF in DNSCOM.
Common Definitions DNS Definitions ZDNS-DDL-FILENO is used to specify a logical file in the DNS database. It has the following structure: def ZDNS-DDL-FILENO type ZSPI-DDL-ENUM spi-null 0.
Common Definitions DNS Definitions ZDNS-DDL-FORMAT corresponds to the FORMAT attribute of subsystem-object types. It has the following structure: def ZDNS-DDL-FORMAT type ZSPI-DDL-ENUM spi-null 0. Allowed Parameter Values: ZDNS-VAL-FMT-ANY =1 Corresponds to FORMAT ANY in DNSCOM. ZDNS-VAL-FMT-DISK =2 Corresponds to FORMAT DISKFILENAME in DNSCOM. ZDNS-VAL-FMT-DEVICE =3 Corresponds to FORMAT DISKFILENAME in DNSCOM. ZDNS-VAL-FMT-DNSNAME =4 Corresponds to FORMAT DNSNAME in DNSCOM.
Common Definitions DNS Definitions ZDNS-DDL-HASMGR is used to contain the value of the HASMANAGER attribute. It has the following structure: def ZDNS-DDL-HASMGR type ZSPI-DDL-BOOLEAN spi-null " ". Allowed Parameter Values: 0 = -1 = Subsystem-object type defined with HASMANAGER off. Subsystem-object type defined with HASMANAGER on. Response Values: 0 = -1 = Subsystem-object type defined with HASMANAGER off. Subsystem-object type defined with HASMANAGER on.
Common Definitions DNS Definitions ZDNS-DDL-PID only appears in name manager responses. It contains the PIN of a DNS process. It has the following structure: type ZSPI-DDL-UINT spi-null 0. def ZDNS-DDL-PID Response Values: If the returned value is non-null, <0:15> it contains the PIN of the DNS process. If the returned value is null (zero), the process is not currently running. ZDNS-DDL-PRI corresponds to the DNSCOM PRIORITY attribute and only appears in name manager responses.
Common Definitions DNS Definitions ZDNS-DDL-PROCESSTYPE is used to specify a DNS process (manager or exporter). Such fields only appear in name manager responses. This field replicates the information in fields of type ZDNS-DDL-PROCESSNO. It has the following structure: def ZDNS-DDL-PROCESSTYPE type ZSPI-DDL-ENUM spi-null 0.
Common Definitions DNS Definitions ZDNS-DDL-SECURITY corresponds to the DNSCOM SECURITY attribute and only appears in name manager responses. It has the following structure: type ZSPI-DDL-UINT spi-null 0. def ZDNS-DDL-SECURITY Response Values: ZDNS-VAL-SEC-A ZDNS-VAL-SEC-G ZDNS-VAL-SEC-O ZDNS-VAL-SEC-N ZDNS-VAL-SEC-C ZDNS-VAL-SEC-U ZDNS-VAL-SEC-X = = = = = = = 0 1 2 4 5 6 7 “A” “G” “O” “N” “C” “U” “-” ZDNS-DDL-SSNAME contains the name of a subsystem.
Common Definitions DNS Definitions ZDNS-DDL-SSNUM corresponds to the SSNUM attribute in DNSCOM. It has the following structure: def ZDNS-DDL-SSNUM type ZSPI-DDL-INT. Allowed Parameter Values: In cases where fields of this type are optional, they can be left null (-32768). Otherwise, fields of this type can contain any other integer. Response Values: On output, fields of this type have a nonnegative value. ZDNS-DDL-SSOBJNAME contains the name of a subsystem object.
Common Definitions DNS Definitions ZDNS-DDL-SSTYPENAME is used to specify subsystem-object type names. It has the following structure: def ZDNS-DDL-SSTYPENAME type ZSPI-DDL-CHAR8. Allowed Values (Parameter and Response): In cases where the input field is optional, it may be left null (blank-filled). When not null, fields of this type must contain a valid subsystem-object-type name, and must be left-justified and blank-filled. The name manager upshifts the contents of the field using SHIFTSTRING.
Common Definitions DNS Definitions ZDNS-DDL-SYSNAME is used to to hold Guardian 90 system names. It has the following structure: def ZDNS-DDL-SYSNAME type ZSPI-DDL-CHAR8. Allowed Parameter Values: In cases where the input field is optional, it may be left null. Where not null, input fields of this type must contain a valid Guardian 90 system name, including a leading backslash (\). The name manager upshifts the contents of the field using SHIFTSTRING.
Common Definitions DNS Definitions ZDNS-DDL-TYPENUM corresponds to the DNSCOM TYPENUM attribute and has the following structure: def ZDNS-DDL-TYPENUM type ZSPI-DDL-ENUM spi-null 0. Allowed Parameter Values: In cases where the field is optional, it can be left null. Otherwise, it must contain a nonzero integer in the range of -9999 to +9999. Response Values: On output, the field may be null or contain a non-zero value. An example of null output is an INFO ALIAS reply, where the alias is untyped.
Common Definitions DNS Definitions Predefined Token and Field Values The DNS subsystem defines the following two values for use in tokens and token fields in several commands, event messages, or error lists. ZDNS-VAL-SSID is the subsystem ID for the DNS subsystem. The ZSPI-TKN-SSID token is always assigned the value ZDNS-VAL-SSID. It has the following structure definition: def ZDNS-VAL-SSID tacl ssid. 02 Z-FILLER type character(8) value is ZDNS-VAL-TANDEM.
5 Using DNS in Programs: The DNS Commands This section defines all DNS programmatic commands, grouped by command function (add, alter, copy, delete, info, and status). The notations !r and !o indicate that the token or field described on that line is, respectively, required or optional. Some required fields accept a blank or null content; however, the meaning of the blank or null input in those cases is quite specific and may produce a result you do not intend.
Using DNS in Programs: The DNS Commands Overview of DNS Programmatic Commands Table 5-2. Object Types for Programmatic Commands Object Type Description ZDNS-OBJ-DNS (0) ZDNS-OBJ-NAME (1) Used when the command pertains to DNS itself. Used when the DNS-defined type of a name is unknown or when names of many types are involved in the command.
Using DNS in Programs: The DNS Commands Overview of the ADD Commands The INFO, LISTOPENS, and STATUS commands allow multiple responses to be returned in a single response buffer. These commands also allow responses to be continued over several buffers. Overview of the ADD To describe a new name to DNS, use the ZDNS-CMD-ADD command. This command Commands is analogous to the ADD command in DNSCOM.
Using DNS in Programs: The DNS Commands ADD ALIAS Command ADD ALIAS Command The ADD ALIAS command adds an alias for an existing subsystem object or subsystem manager. Command ZDNS-CMD-ADD Object Type ZDNS-OBJ-ALIAS Tokens in Command Buffer ZDNS-MAP-ADD-ALIAS !r def ZDNS-DDL-ADD-ALIAS. 02 ZNAME type 02 ZTYPE type 02 ZDOMAIN type 02 ZREFTYPE type 02 ZSSOBJ type 02 ZSSMGR type end. ZDNS-DDL-DNSNAME. ZDNS-DDL-DNSTYPENAME. ZDNS-DDL-DOMAIN. ZDNS-DDL-TYPE. ZDNS-DDL-SSOBJNAME. ZDNS-DDL-DNSFNAME.
Using DNS in Programs: The DNS Commands ADD ALIAS Command Tokens in Command Buffer ZDNS-MAP-ADD-ALIAS is a structured token that describes a new alias for a subsystem object or manager. This token is required. It has the token number ZDNS-TNM-ADD-ALIAS and the definition ZDNS-DDL-ADD-ALIAS. It contains the following fields: ZNAME contains the name of the alias to be added. This must be a valid DNS object name and must not be the same as a name currently defined on the local system.
Using DNS in Programs: The DNS Commands ADD ALIAS Command ZSSOBJ is interrelated with ZREFTYPE. If ZREFTYPE = ZDNS-OBJ-SSOBJ, this field must contain the name of the subsystem object to which the new alias refers. If ZREFTYPE = ZDNS-OBJ-SSMGR, this field must be left null. Possible errors referring to this field are: ZDNS-ERR-ILL-FIELD-COMB ZDNS-ERR-INV-NAME ZDNS-ERR-NOTFOUND ZDNS-ERR-REQD-FIELD ZSSMGR is also interrelated with ZREFTYPE.
Using DNS in Programs: The DNS Commands ADD ALIAS Command Operational Notes If the requester does not have DNS write authority, the command is rejected with ZDNS-ERR-SECURITY.
Using DNS in Programs: The DNS Commands ADD ATYPE Command ADD ATYPE Command The ADD ATYPE command adds a new alias type on the local system. Command ZDNS-CMD-ADD Object Type ZDNS-OBJ-ATYPE Tokens in Command Buffer ZDNS-MAP-ADD-DNSTYPE !r def ZDNS-DDL-ADD-DNSTYPE. 02 ZNAME type 02 ZOWNER type 02 ZTYPENUM type 02 ZDOMAIN type end. ZDNS-DDL-DNSTYPENAME. ZDNS-DDL-OWNER. ZDNS-DDL-TYPENUM. ZDNS-DDL-DOMAIN. Tokens in Response Buffer ZDNS-TKN-OBJNAME ZSPI-TKN-RETCODE ZSPI-TKN-ERRLIST ...
Using DNS in Programs: The DNS Commands ADD ATYPE Command Tokens in Command Buffer ZDNS-MAP-ADD-DNSTYPE is a structured token that describes the new alias type. This token is required. It has the token number ZDNS-TNM-ADD-DNSTYPE and the definition ZDNSDDL-ADD-DNSTYPE. It contains the following fields: ZNAME contains the name of the alias type to be added. This must not be the same as another name currently defined on the local system.
Using DNS in Programs: The DNS Commands ADD ATYPE Command Tokens in Response Buffer ZDNS-TKN-OBJNAME is an object-name token that contains the name of the alias type added by the command. This token is present in every response record. ZDNS-TKNOBJNAME is described in Section 4 under the heading “Simple Tokens.” ZSPI-TKN-RETCODE is the standard SPI return token described in the Distributed Systems Management (DSM) Programming Manual. This token is present in every response record.
Using DNS in Programs: The DNS Commands ADD COMP Command ADD COMP Command The ADD COMP command defines a new composite object on the local system. Command ZDNS-CMD-ADD Object Type ZDNS-OBJ-COMP Tokens in Command Buffer ZDNS-MAP-ADD-COMP !r def ZDNS-DDL-ADD-COMP. 02 ZNAME type ZDNS-DDL-DNSNAME. 02 ZTYPE type ZDNS-DDL-DNSTYPENAME. 02 ZDOMAIN type ZDNS-DDL-DOMAIN. end. ZDNS-MAP-ADD-COMP-SSOBJ !r !r !o !r def ZDNS-DDL-ADD-COMP-SSOBJ. 02 ZSSTYPE type ZDNS-DDL-SSTYPENAME. 02 ZSS type ZDNS-DDL-SSNAME.
Using DNS in Programs: The DNS Commands ADD COMP Command Tokens in Command Buffer ZDNS-MAP-ADD-COMP is a structured token that describes the new composite object. This token is required. It has the token number ZDNS-TNM-ADD-COMP and the definition ZDNS-DDL-ADD-COMP. It contains the following fields: ZNAME contains the name of the composite object. The name must not be the same as one currently defined on the local system.
Using DNS in Programs: The DNS Commands ADD COMP Command ZSS specifies the subsystem defining ZSSTYPE. Possible errors referring to this field are: ZDNS-ERR-INV-NAME ZDNS-ERR-REQD-FIELD ZSSOBJ specifies the name of the subsystem object specified for this component. Possible errors referring to this field are: ZDNS-ERR-INV-NAME ZDNS-ERR-NOTFOUND ZDNS-ERR-REQD-FIELD ZDNS-ERR-WRONG-TYPE ZSSMGR specifies the manager (if any) for the object named in ZSSOBJ.
Using DNS in Programs: The DNS Commands ADD COMP Command Operational Notes If the requester does not have DNS write authority, the command is rejected with ZDNS-ERR-SECURITY. If the number of ZDNS-MAP-ADD-COMP-SSOBJ occurrences supplied does not match the number of components defined for the type of composite being added, the command is rejected with ZDNS-ERR-WRONG-NUM-COMPONENTS.
Using DNS in Programs: The DNS Commands ADD CTYPE Command ADD CTYPE Command The ADD CTYPE command defines a new composite object type on the local system. Command ZDNS-CMD-ADD Object Type ZDNS-OBJ-CTYPE Tokens in Command Buffer ZDNS-MAP-ADD-DNSTYPE !r def ZDNS-DDL-ADD-DNSTYPE. 02 ZNAME type 02 ZOWNER type 02 ZTYPENUM type 02 ZDOMAIN type end. ZDNS-DDL-DNSTYPENAME. ZDNS-DDL-OWNER. ZDNS-DDL-TYPENUM. ZDNS-DDL-DOMAIN. ZDNS-MAP-ADD-CTYPE-SSTYPE def ZDNS-DDL-ADD-CTYPE-SSTYPE.
Using DNS in Programs: The DNS Commands ADD CTYPE Command Tokens in Command Buffer ZDNS-MAP-ADD-DNSTYPE is a structured token that describes the new composite type. This token is required. It has the token number ZDNS-TNM-ADD-DNSTYPE and the definition ZDNS-DDL-ADD-DNSTYPE. It contains the following fields: ZNAME contains the name of the composite type to be added. This must not be the same as another name currently defined on the local system.
Using DNS in Programs: The DNS Commands ADD CTYPE Command ZDNS-MAP-ADD-CTYPE-SSTYPE is a structured token that describes the components of the new composite type. This token is required. One occurrence of this token must be supplied for each component of the composite type; two to eight components may be specified. It has the token number ZDNS-TNM-ADD-CTYPE-SSTYPE and the definition ZDNS-DDL-ADD-CTYPE-SSTYPE. It contains the following fields: ZSSTYPE specifies the subsystem-object type.
Using DNS in Programs: The DNS Commands ADD CTYPE Command Operational Notes If the requester does not have DNS definition authority, the command is rejected with ZDNS-ERR-SECURITY. If fewer than two or more than eight occurrences of ZDNS-MAP-ADD-CTYPESSTYPE are supplied, the command is rejected with ZDNS-ERR-ILL-NUMCOMPONENTS. If two ZDNS-MAP-ADD-CTYPE-SSTYPE occurrences specify the same subsystem-object type, the command is rejected with ZDNS-ERR-DUPCOMPONENT.
Using DNS in Programs: The DNS Commands ADD DOM Command ADD DOM Command The ADD DOM command defines a new domain on the local system. Command ZDNS-CMD-ADD Object Type ZDNS-OBJ-DOM Tokens in Command Buffer ZDNS-MAP-ADD-DOM def ZDNS-DDL-ADD-DOM. 02 ZNAME end. !r type ZDNS-DDL-DNSNAME. ZDNS-MAP-ADD-DOM-SYS !r !o def ZDNS-DDL-ADD-DOM-SYS. 02 ZSYSTEM type ZDNS-DDL-SYSNAME. end. !r Tokens in Response Buffer ZDNS-TKN-OBJNAME ZSPI-TKN-RETCODE ZSPI-TKN-ERRLIST ...
Using DNS in Programs: The DNS Commands ADD DOM Command Tokens in Command Buffer ZDNS-MAP-ADD-DOM is a structured token that describes the new domain. This token is required. It has the token number ZDNS-TNM-ADD-DOM and the definition ZDNS-DDL-ADDDOM. It contains the following field: ZNAME contains the name of the domain being added.
Using DNS in Programs: The DNS Commands ADD DOM Command Tokens in Response Buffer ZDNS-TKN-OBJNAME is an object-name token that contains the name of the domain added by the command. This token is present in every response record. ZDNS-TKNOBJNAME is described in Section 4 under the heading “Simple Tokens.” ZSPI-TKN-RETCODE is the standard SPI return token described in the Distributed Systems Management (DSM) Programming Manual. This token is present in every response record.
Using DNS in Programs: The DNS Commands ADD GROUP Command ADD GROUP Command The ADD GROUP command defines a new DNS group on the local system. Command ZDNS-CMD-ADD Object Type ZDNS-OBJ-GROUP Tokens in Command Buffer ZDNS-MAP-ADD-GROUP !r def ZDNS-DDL-ADD-GROUP. 02 ZNAME type ZDNS-DDL-DNSNAME. 02 ZDOMAIN type ZDNS-DDL-DOMAIN. end. !r !o Tokens in Response Buffer ZDNS-TKN-OBJNAME ZSPI-TKN-RETCODE ZSPI-TKN-ERRLIST ...
Using DNS in Programs: The DNS Commands ADD GROUP Command ZDOMAIN specifies the domain for the new group. If this field is left null or supplied as all spaces, the definition of the new group is not replicated. Otherwise, this field must name a DNS domain currently defined on the local system. Possible errors referring to this field are: DNS-ERR-INV-NAME ZDNS-ERR-NOTFOUND Tokens in Response Buffer ZDNS-TKN-OBJNAME is an object-name token that contains the name of the group added by the command.
Using DNS in Programs: The DNS Commands ADD SS Command ADD SS Command The ADD SS command defines a new subsystem to DNS. Command ZDNS-CMD-ADD Object Type ZDNS-OBJ-SS Tokens in Command Buffer ZDNS-MAP-ADD-SS def ZDNS-DDL-ADD-SS. 02 ZNAME 02 ZOWNER 02 ZSSNUM end. !r type ZDNS-DDL-SSNAME. type ZDNS-DDL-OWNER. type ZDNS-DDL-SSNUM. Tokens in Response Buffer ZDNS-TKN-OBJNAME ZSPI-TKN-RETCODE ZSPI-TKN-ERRLIST ...
Using DNS in Programs: The DNS Commands ADD SS Command Tokens in Command Buffer ZDNS-MAP-ADD-SS is a structured token that describes the new subsystem. This token is required. It has the token number ZDNS-TNM-ADD-SS and the definition ZDNS-DDL-ADDSS. It contains the following fields: ZNAME contains the name of the subsystem to be added. This may not be the same as another name currently defined on the local system.
Using DNS in Programs: The DNS Commands ADD SS Command Tokens in Response Buffer ZDNS-TKN-OBJNAME is an object-name token that contains the name of the subsystem added by the command. This token is present in every response record. ZDNS-TKNOBJNAME is described in Section 4 under the heading “Simple Tokens.” ZSPI-TKN-RETCODE is the standard SPI return token described in the Distributed Systems Management (DSM) Programming Manual. This token is present in every response record.
Using DNS in Programs: The DNS Commands ADD SSMGR Command ADD SSMGR Command The ADD SSMGR command defines a new subsystem manager to DNS. Command ZDNS-CMD-ADD Object Type ZDNS-OBJ-SSMGR Tokens in Command Buffer ZDNS-MAP-ADD-SSMGR !r def ZDNS-DDL-ADD-SSMGR. 02 ZNAME type ZDNS-DDL-DNSFNAME. 02 ZDOMAIN type ZDNS-DDL-DOMAIN. end. ZDNS-MAP-ADD-SSMGR-SS !r !o !r def ZDNS-DDL-ADD-SSMGR-SS. 02 ZSS type ZDNS-DDL-SSNAME. end. !r Tokens in Response Buffer ZDNS-TKN-OBJNAME ZSPI-TKN-RETCODE ZSPI-TKN-ERRLIST ...
Using DNS in Programs: The DNS Commands ADD SSMGR Command Tokens in Command Buffer ZDNS-MAP-ADD-SSMGR is a structured token that describes the subsystem manager. This token is required. It has the token number ZDNS-TNM-ADD-SSMGR and the definition ZDNS-DDL-ADD-SSMGR. It contains the following fields: ZNAME contains the name of the subsystem manager.
Using DNS in Programs: The DNS Commands ADD SSMGR Command Tokens in Response Buffer ZDNS-TKN-OBJNAME is an object-name token that contains the name of the subsystem manager added by the command. This token is present in every response record. ZDNS-TKNOBJNAME is described in Section 4 under the heading “Simple Tokens.” ZSPI-TKN-RETCODE is the standard SPI return token described in the Distributed Systems Management (DSM) Programming Manual. This token is present in every response record.
Using DNS in Programs: The DNS Commands ADD SSOBJ Command ADD SSOBJ Command The ADD SSOBJ command defines a new subsystem object to DNS. Command ZDNS-CMD-ADD Object Type ZDNS-OBJ-SSOBJ Tokens in Command Buffer ZDNS-MAP-ADD-SSOBJ !r def ZDNS-DDL-ADD-SSOBJ. 02 ZNAME type 02 ZSSMGR type 02 ZSSTYPE type 02 ZSS type 02 ZDOMAIN type 02 ZEXT type end. ZDNS-DDL-SSOBJNAME. ZDNS-DDL-DNSFNAME. ZDNS-DDL-SSTYPENAME. ZDNS-DDL-SSNAME. ZDNS-DDL-DOMAIN. ZDNS-DDL-EXT.
Using DNS in Programs: The DNS Commands ADD SSOBJ Command Tokens in Command Buffer ZDNS-MAP-ADD-SSOBJ is a structured token that describes the new subsystem object. This token is required. It has the token number ZDNS-TNM-ADD-SSOBJ and the definition ZDNS-DDL-ADD-SSOBJ. It contains the following fields: ZNAME contains the name of the subsystem object being defined. If the specified subsystem-object type does not allow duplicates, this name must be unique among all subsystem objects.
Using DNS in Programs: The DNS Commands ADD SSOBJ Command ZDOMAIN specifies the default domain for untyped aliases referring to this subsystem object. If this field is left null, the domain is inherited from the specified subsystem-object type. If this field is supplied as all spaces, untyped aliases referring to the object, by default, do not have their definitions replicated. If neither is the case, this field must contain the name of a domain defined on the local system.
Using DNS in Programs: The DNS Commands ADD SSOBJ Command Operational Notes If the requester does not have DNS write authority, the command is rejected with ZDNS-ERR-SECURITY. If ZEXT is specified as -1 (or defaults to that value), the subsystem object name is added as an untyped alias for the object. However, if the name in ZNAME is not a valid alias name (for instance, $LINE), the command is rejected with error 21 (invalid name format).
Using DNS in Programs: The DNS Commands ADD SSTYPE Command ADD SSTYPE Command The ADD SSTYPE command defines a new subsystem-object type to DNS. Command ZDNS-CMD-ADD Object Type ZDNS-OBJ-SSTYPE Tokens in Command Buffer ZDNS-MAP-ADD-SSTYPE !r def ZDNS-DDL-ADD-SSTYPE. 02 ZNAME type 02 ZSS type 02 ZTYPENUM type 02 ZDOMAIN type 02 ZEXT type 02 ZFMT type 02 ZDUPOK type 02 ZHASMGR type end. ZDNS-DDL-SSTYPENAME. ZDNS-DDL-SSNAME. ZDNS-DDL-TYPENUM. ZDNS-DDL-DOMAIN. ZDNS-DDL-EXT. ZDNS-DDL-FORMAT. ZDNS-DDL-DUPOK.
Using DNS in Programs: The DNS Commands ADD SSTYPE Command Tokens in Command Buffer ZDNS-MAP-ADD-SSTYPE is a structured token that describes the new subsystem object type. This token is required. It has the token number ZDNS-TNM-ADD-SSTYPE and the definition ZDNS-DDL-ADD-SSTYPE. It contains the following fields: ZNAME contains the name of the subsystem-object type being added. This must not be the same as another subsystem-object type defined by the specified subsystem.
Using DNS in Programs: The DNS Commands ADD SSTYPE Command ZDOMAIN specifies the default domain for instances of the object type. If this field is left null or supplied as spaces, the default domain is empty. Otherwise, this field must contain the name of a domain defined on the local system. Possible errors referring to this field are: ZDNS-ERR-INV-NAME ZDNS-ERR-NOTFOUND ZEXT specifies the default value for EXTERNAL for instances of this type. If this field is left null, the field defaults to zero.
Using DNS in Programs: The DNS Commands ADD SSTYPE Command Tokens in Response Buffer ZDNS-TKN-OBJNAME is an object-name token that contains the name of the subsystem-object type added by the command. This token is present in every response record. ZDNS-TKNOBJNAME is described in Section 4 under the heading “Simple Tokens.” ZSPI-TKN-RETCODE is the standard SPI return token described in the Distributed Systems Management (DSM) Programming Manual. This token is present in every response record.
Using DNS in Programs: The DNS Commands Overview of the ALTER Commands Overview of the ZDNS-CMD-ALTER changes the definition of a name and is analogous to the ALTER ALTER Commands command in DNSCOM.
Using DNS in Programs: The DNS Commands ALTER ALIAS Command ALTER ALIAS Command The ALTER ALIAS command changes the definition of an alias previously defined using ADD ALIAS. Command ZDNS-CMD-ALTER Object Type ZDNS-OBJ-ALIAS Tokens in Command Buffer ZDNS-MAP-ALTER-ALIAS !r def ZDNS-DDL-ALTER-ALIAS. 02 ZNAME type ZDNS-DDL-DNSNAME. 02 ZDEFNODE type ZDNS-DDL-SYSNAME. 02 ZREFTYPE type ZDNS-DDL-TYPE. 02 ZSSOBJ type ZDNS-DDL-SSOBJNAME. 02 ZSSMGR type ZDNS-DDL-DNSFNAME. 02 ZDOMAIN type ZDNS-DDL-DOMAIN. end.
Using DNS in Programs: The DNS Commands ALTER ALIAS Command Tokens in Command Buffer ZDNS-MAP-ALTER-ALIAS is a structured token that describes the alias being altered. This token is required. It has the token number ZDNS-TNM-ALTER-ALIAS and the definition ZDNSDDL-ALTER-ALIAS. It contains the following fields: ZNAME contains the name of the alias to be altered.
Using DNS in Programs: The DNS Commands ALTER ALIAS Command ZSSMGR If ZREFTYPE = ZDNS-OBJ-SSMGR, the name of the manager must be placed in this field. If ZREFTYPE = ZDNS-OBJ-SSOBJ, the manager of the object named in SSOBJ must be placed here (provided the object has a manager). Possible errors referring to this field are: ZDNS-ERR-INV-NAME ZDNS-ERR-REQD-FIELD ZDNS-ERR-NOTFOUND ZDOMAIN contains the new domain name, if the domain of the alias is to be changed.
Using DNS in Programs: The DNS Commands ALTER ALIAS Command Operational Notes If the requester does not have DNS write authority, the command is rejected with ZDNS-ERR-SECURITY. Changing the group membership of an alias is done using the ALTER GROUP command. The DNSCOM command “ALTER ALIAS TERM22, REFERENT $SPARE1.
Using DNS in Programs: The DNS Commands ALTER ATYPE Command ALTER ATYPE Command The ALTER ATYPE command changes the definition of an alias type previously defined using ADD ATYPE. Command ZDNS-CMD-ALTER Object Type ZDNS-OBJ-ATYPE Tokens in Command Buffer ZDNS-MAP-ALTER-DNSTYPE !r def ZDNS-DDL-ALTER-DNSTYPE. 02 ZNAME type ZDNS-DDL-DNSTYPENAME. 02 ZDOMAIN type ZDNS-DDL-DOMAIN. end. ZDNS-MAP-ALTER-ATYPE-SSTYPE def ZDNS-DDL-ALTER-ATYPE-SSTYPE. 02 ZDELETE type ZDNS-DDL-DELETE.
Using DNS in Programs: The DNS Commands ALTER ATYPE Command Tokens in Command Buffer ZDNS-MAP-ALTER-DNSTYPE is a structured token that describes the alias type being altered. This token is required. It has the token number ZDNS-TNM-ALTER-DNSTYPE and the definition ZDNS-DDL-ALTER-DNSTYPE. It contains the following fields: ZNAME contains the name of the alias type to be changed.
Using DNS in Programs: The DNS Commands ALTER ATYPE Command ZDNS-MAP-ALTER-ATYPE-SSTYPE is an optional token that describes a subsystem-object type. Any number of occurrences of this token may appear in the request buffer. Each occurrence requests that a subsystem-object type be added to or deleted from those that are allowed for the alias type being altered. It has the token number ZDNS-TNMALTER-SSTYPE and the definition ZDNS-DDL-ALTER-SSTYPE.
Using DNS in Programs: The DNS Commands ALTER ATYPE Command Tokens in Response Buffer ZDNS-TKN-OBJNAME is an object-name token that contains the name of the alias type that is altered by the command. This token is present in every response record. ZDNS-TKNOBJNAME is described in Section 4 under the heading “Simple Tokens.” ZSPI-TKN-RETCODE is the standard SPI return token described in the Distributed Systems Management (DSM) Programming Manual. This token is present in every response record.
Using DNS in Programs: The DNS Commands ALTER COMP Command ALTER COMP Command The ALTER COMP command changes the definition of a composite object previously defined using ADD COMP. Command ZDNS-CMD-ALTER Object Type ZDNS-OBJ-COMP Tokens in Command Buffer ZDNS-MAP-ALTER-COMP !r def ZDNS-DDL-ALTER-COMP. 02 ZNAME type ZDNS-DDL-DNSNAME. 02 ZDEFNODE type ZDNS-DDL-SYSNAME. 02 ZDOMAIN type ZDNS-DDL-DOMAIN. end. ZDNS-MAP-ALTER-COMP-SSOBJ def ZDNS-DDL-ALTER-COMP-SSOBJ. 02 ZSSTYPE type ZDNS-DDL-SSTYPENAME.
Using DNS in Programs: The DNS Commands ALTER COMP Command Tokens in Command Buffer ZDNS-MAP-ALTER-COMP is a structured token that describes the composite object to be altered. This token is required. It has the token number ZDNS-TNM-ALTER-COMP and the definition ZDNS-DDL-ALTER-COMP. It contains the following fields: ZNAME contains the name of the composite object to be altered.
Using DNS in Programs: The DNS Commands ALTER COMP Command ZDNS-MAP-ALTER-COMP-SSOBJ is an optional token that describes a component of the composite object being altered. One occurrence of this structure may appear for each component of the composite object. It has the token number ZDNS-TNM-ALTER-COMP-SSOBJ and the definition ZDNS-DDL-ALTER-COMP-SSOBJ. It contains the following fields: ZSSTYPE must specify the subsystem type of the component.
Using DNS in Programs: The DNS Commands ALTER COMP Command ZSPI-TKN-RETCODE is the standard SPI return token described in the Distributed Systems Management (DSM) Programming Manual. This token is present in every response record. If its value is zero (ZDNS-ERR-NOERR), this token indicates that the name is successfully altered. If ZSPI-TKN-RETCODE is not zero, the name is not altered. Where a non-zero return code is present, the response buffer may contain one or more error lists.
Using DNS in Programs: The DNS Commands ALTER CTYPE Command ALTER CTYPE Command The ALTER CTYPE command changes the definition of a composite object type previously defined using ADD CTYPE. Command ZDNS-CMD-ALTER Object Type ZDNS-OBJ-CTYPE Tokens in Command Buffer ZDNS-MAP-ALTER-DNSTYPE !r def ZDNS-DDL-ALTER-DNSTYPE. 02 ZNAME type ZDNS-DDL-DNSTYPENAME. 02 ZDOMAIN type ZDNS-DDL-DOMAIN. end. !r !o Tokens in Response Buffer ZDNS-TKN-OBJNAME ZSPI-TKN-RETCODE ZSPI-TKN-ERRLIST ...
Using DNS in Programs: The DNS Commands ALTER CTYPE Command Tokens in Command Buffer ZDNS-MAP-ALTER-DNSTYPE is a structured token that describes the composite type to be altered. This token is required. It has the token number ZDNS-TNM-ALTER-DNSTYPE and the definition ZDNS-DDL-ALTER-DNSTYPE. It contains the following fields: ZNAME contains the name of the composite type to be changed.
Using DNS in Programs: The DNS Commands ALTER CTYPE Command Operational Notes If the requester does not have DNS definition authority, the command is rejected with ZDNS-ERR-SECURITY.
Using DNS in Programs: The DNS Commands ALTER DOM Command ALTER DOM Command The ALTER DOM command changes the definition of a domain previously defined using ADD DOM. Command ZDNS-CMD-ALTER Object Type ZDNS-OBJ-DOM Tokens in Command Buffer ZDNS-MAP-ALTER-DOM !r def ZDNS-DDL-ALTER-DOM. 02 ZNAME type ZDNS-DDL-DNSNAME. end. ZDNS-MAP-ALTER-DOM-SYS !r def ZDNS-DDL-ALTER-DOM-SYS. 02 ZDELETE type ZDNS-DDL-DELETE. 02 ZSYSTEM type ZDNS-DDL-SYSNAME. end.
Using DNS in Programs: The DNS Commands ALTER DOM Command Tokens in Command Buffer ZDNS-MAP-ALTER-DOM is a structured token that describes the domain to be altered. This token is required. It has the token number ZDNS-TNM-ALTER-DOM and the definition ZDNS-DDL-ALTER-DOM. It contains the following field: ZNAME contains the name of the domain changed.
Using DNS in Programs: The DNS Commands ALTER DOM Command Tokens in Response Buffer ZDNS-TKN-OBJNAME is an object-name token that contains the name of the domain altered by the command. This token is present in every response record. ZDNS-TKNOBJNAME is described in Section 4 under the heading “Simple Tokens.” ZSPI-TKN-RETCODE is the standard SPI return token described in the Distributed Systems Management (DSM) Programming Manual. This token is present in every response record.
Using DNS in Programs: The DNS Commands ALTER GROUP Command ALTER GROUP Command The ALTER GROUP command changes the definition of a group previously defined using ADD GROUP. Command ZDNS-CMD-ALTER Object Type ZDNS-OBJ-GROUP Tokens in Command Buffer ZDNS-MAP-ALTER-GROUP !r def ZDNS-DDL-ALTER-GROUP. 02 ZNAME type ZDNS-DDL-DNSNAME. 02 ZDEFNODE type ZDNS-DDL-SYSNAME. 02 ZDOMAIN type ZDNS-DDL-DOMAIN. end. ZDNS-MAP-ALTER-GROUP-MEMB def ZDNS-DDL-ALTER-GROUP-MEMB. 02 ZDELETE type ZDNS-DDL-DELETE.
Using DNS in Programs: The DNS Commands ALTER GROUP Command Tokens in Command Buffer ZDNS-MAP-ALTER-GROUP is a structured token that describes the group to be altered. This token is required. It has the token number ZDNS-TNM-ALTER-GROUP and the definition ZDNSDDL-ALTER-GROUP. It contains the following fields: ZNAME contains the name of the group to be altered.
Using DNS in Programs: The DNS Commands ALTER GROUP Command ZDNS-MAP-ALTER-GROUP-MEMB is an optional token that describes a member to be added to or deleted from the group. Any number of occurrences of this token may appear in the request buffer. It has the token number ZDNS-TNM-ALTER-GROUP-MEMB and the definition ZDNS-DDL-ALTER-GROUP-MEMB. It contains the following fields: ZDELETE If a member is to be added to the group, this field should be left null or set to ZDNS-VAL-ADD (0).
Using DNS in Programs: The DNS Commands ALTER GROUP Command ZSPI-TKN-RETCODE is the standard SPI return token described in the Distributed Systems Management (DSM) Programming Manual. This token is present in every response record. If its value is zero (ZDNS-ERR-NOERR), this token indicates that the name is successfully altered. If ZSPI-TKN-RETCODE is not zero, the name is not altered. Where a non-zero return code is present, the response buffer may contain one or more error lists.
Using DNS in Programs: The DNS Commands ALTER SSMGR Command ALTER SSMGR Command The ALTER SSMGR command changes the definition of a subsystem manager previously defined using ADD SSMGR. Command ZDNS-CMD-ALTER Object Type ZDNS-OBJ-SSMGR Tokens in Command Buffer ZDNS-MAP-ALTER-SSMGR !r def ZDNS-DDL-ALTER-SSMGR. 02 ZNAME type ZDNS-DDL-DNSFNAME. 02 ZDOMAIN type ZDNS-DDL-DOMAIN. end. ZDNS-MAP-ALTER-SSMGR-SS !r !o !o def ZDNS-DDL-ALTER-SSMGR-SS. 02 ZDELETE type ZDNS-DDL-DELETE. 02 ZSS type ZDNS-DDL-SSNAME.
Using DNS in Programs: The DNS Commands ALTER SSMGR Command Tokens in Command Buffer ZDNS-MAP-ALTER-SSMGR is a structured token that describes the subsystem manager to be altered. This token is required. It has the token number ZDNS-TNM-ALTER-SSMGR and the definition ZDNS-DDL-ALTER-SSMGR. It contains the following fields: ZNAME contains the name of the subsystem manager to be changed.
Using DNS in Programs: The DNS Commands ALTER SSMGR Command ZDNS-MAP-ALTER-SSMGR-SS is an optional token that describes a subsystem that is to be added or deleted for the specified manager. It has the token number ZDNS-TNM-ALTER-SSMGR-SS and the definition ZDNS-DDL-ALTER-SSMGR-SS. It contains the following fields: ZDELETE specifies a new system for the subsystem manager, this field should be left null or set to ZDNS-VAL-ADD (0).
Using DNS in Programs: The DNS Commands ALTER SSMGR Command Tokens in Response Buffer ZDNS-TKN-OBJNAME is an object-name token that contains the name of the subsystem manager that is altered by the command. This token is present in every response record. ZDNSTKN-OBJNAME is described in Section 4 under the heading “Simple Tokens.” ZSPI-TKN-RETCODE is the standard SPI return token described in the Distributed Systems Management (DSM) Programming Manual. This token is present in every response record.
Using DNS in Programs: The DNS Commands ALTER SSOBJ Command ALTER SSOBJ Command The ALTER SSOBJ command changes the definition of a subsystem object previously defined using ADD SSOBJ. Command ZDNS-CMD-ALTER Object Type ZDNS-OBJ-SSOBJ Tokens in Command Buffer ZDNS-MAP-ALTER-SSOBJ !r def ZDNS-DDL-ALTER-SSOBJ. 02 ZNAME type 02 ZSSMGR type 02 ZDOMAIN type 02 ZEXT type end. ZDNS-DDL-SSOBJNAME. ZDNS-DDL-DNSFNAME. ZDNS-DDL-DOMAIN. ZDNS-DDL-EXT.
Using DNS in Programs: The DNS Commands ALTER SSOBJ Command Tokens in Command Buffer ZDNS-MAP-ALTER-SSOBJ is a structured token that describes the subsystem object to be altered. This token is required. It has the token number ZDNS-TNM-ALTER-SSOBJ and the definition ZDNS-DDL-ALTER-SSOBJ. It contains the following fields: ZNAME contains the name of the subsystem object to be altered.
Using DNS in Programs: The DNS Commands ALTER SSOBJ Command Tokens in Response Buffer ZDNS-TKN-OBJNAME is an object-name token that contains the name of the subsystem object that is altered by the command. This token is present in every response record. ZDNSTKN-OBJNAME is described in Section 4 under the heading “Simple Tokens.” ZSPI-TKN-RETCODE is the standard SPI return token described in the Distributed Systems Management (DSM) Programming Manual. This token is present in every response record.
Using DNS in Programs: The DNS Commands ALTER SSTYPE Command ALTER SSTYPE Command The ALTER SSTYPE command changes the definition of a subsystem-object type previously defined using ADD SSTYPE. Command ZDNS-CMD-ALTER Object Type ZDNS-OBJ-SSTYPE Tokens in Command Buffer ZDNS-MAP-ALTER-SSTYPE !r def ZDNS-DDL-ALTER-SSTYPE. 02 ZNAME type 02 ZSS type 02 ZDOMAIN type 02 ZEXT type 02 ZDUPOK type end. ZDNS-DDL-SSTYPENAME. ZDNS-DDL-SSNAME. ZDNS-DDL-DOMAIN. ZDNS-DDL-EXT. ZDNS-DDL-DUPOK.
Using DNS in Programs: The DNS Commands ALTER SSTYPE Command Tokens in Command Buffer ZDNS-MAP-ALTER-SSTYPE is a structured token that describes the subsystem-object type to be altered. This token is required. It has the token number ZDNS-TNM-ALTER-SSTYPE and the definition ZDNS-DDL-ALTER-SSTYPE. It contains the following fields: ZNAME contains the name of the subsystem-object type to be changed.
Using DNS in Programs: The DNS Commands ALTER SSTYPE Command Tokens in Response Buffer ZDNS-TKN-OBJNAME is an object-name token that contains the name of the subsystem-object type that is altered by the command. This token is present in every response record. ZDNSTKN-OBJNAME is described in Section 4 under the heading “Simple Tokens.” ZSPI-TKN-RETCODE is the standard SPI return token described in the Distributed Systems Management (DSM) Programming Manual. This token is present in every response record.
Using DNS in Programs: The DNS Commands Overview of the COPY Commands Overview of the COPY Commands ZDNS-CMD-COPY makes locally updateable copies of remotely defined names and is analogous to the COPY command in DNSCOM. ZDNS-CMD-COPY may be used with the following object types: Object Type Definition ZDNS-OBJ-ALIAS ZDNS-OBJ-COMP ZDNS-OBJ-GROUP Write authority required Write authority required Write authority required The considerations for each object type are described in the subsections that follow.
Using DNS in Programs: The DNS Commands COPY ALIAS Command COPY ALIAS Command The COPY ALIAS command makes a locally-updatable copy of an alias that has previously been imported from another system. Command ZDNS-CMD-COPY Object Type ZDNS-OBJ-ALIAS Tokens in Command Buffer ZDNS-MAP-COPY-DNSOBJ !r def ZDNS-DDL-COPY-DNSOBJ. 02 ZNAME type ZDNS-DDL-DNSNAME. 02 ZDEFNODE type ZDNS-DDL-SYSNAME. end. Tokens in Response Buffer ZDNS-TKN-OBJNAME ZSPI-TKN-RETCODE ZSPI-TKN-ERRLIST ...
Using DNS in Programs: The DNS Commands COPY ALIAS Command Tokens in Command Buffer ZDNS-MAP-COPY-DNSOBJ is a required structured token that describes the alias to be copied. It has the token number ZDNS-TNM-COPY-DNSOBJ and the definition ZDNS-DDL-COPYDNSOBJ. It contains the following fields: ZNAME contains the name to be copied. Possible errors referring to this field are: ZDNS-ERR-INV-NAME ZDNS-ERR-NOTFOUND ZDNS-ERR-REQD-FIELD ZDEFNODE must specify the definition node for the name.
Using DNS in Programs: The DNS Commands COPY ALIAS Command Tokens in Response Buffer ZDNS-TKN-OBJNAME is an object-name token that contains the name of the alias copied by the command. This token is present in every response record. ZDNS-TKNOBJNAME is described in Section 4 under the heading “Simple Tokens.” ZSPI-TKN-RETCODE is the standard SPI return token described in the Distributed Systems Management (DSM) Programming Manual. This token is present in every response record.
Using DNS in Programs: The DNS Commands COPY COMP Command COPY COMP Command The COPY COMP command makes a locally-updatable copy of a composite that has previously been imported from another system. Command ZDNS-CMD-COPY Object Type ZDNS-OBJ-COMP Tokens in Command Buffer ZDNS-MAP-COPY-DNSOBJ !r def ZDNS-DDL-COPY-DNSOBJ. 02 ZNAME type ZDNS-DDL-DNSNAME. 02 ZDEFNODE type ZDNS-DDL-SYSNAME. end. !r !r Tokens in Response Buffer ZDNS-TKN-OBJNAME ZSPI-TKN-RETCODE ZSPI-TKN-ERRLIST ...
Using DNS in Programs: The DNS Commands COPY COMP Command Tokens in Command Buffer ZDNS-MAP-COPY-DNSOBJ is a required structured token that describes the composite object to be copied. It has the token number ZDNS-TNM-COPY-DNSOBJ and the definition ZDNSDDL-COPY-DNSOBJ. It contains the following fields: ZNAME contains the name to be copied. Possible errors referring to this field are: ZDNS-ERR-INV-NAME ZDNS-ERR-NOTFOUND ZDNS-ERR-REQD-FIELD ZDEFNODE must specify the definition node for the name.
Using DNS in Programs: The DNS Commands COPY COMP Command Operational Notes If the requester does not have DNS write authority, the command is rejected with ZDNS-ERR-SECURITY.
Using DNS in Programs: The DNS Commands COPY GROUP Command COPY GROUP Command The COPY GROUP command makes a locally-updatable copy of a group that has previously been imported from another system. Command ZDNS-CMD-COPY Object Type ZDNS-OBJ-GROUP Tokens in Command Buffer ZDNS-MAP-COPY-DNSOBJ !r def ZDNS-DDL-COPY-DNSOBJ. 02 ZNAME type ZDNS-DDL-DNSNAME. 02 ZDEFNODE type ZDNS-DDL-SYSNAME. end. Tokens in Response Buffer ZDNS-TKN-OBJNAME ZSPI-TKN-RETCODE ZSPI-TKN-ERRLIST ...
Using DNS in Programs: The DNS Commands COPY GROUP Command Tokens in Command Buffer ZDNS-MAP-COPY-DNSOBJ is a required structured token that describes the group to be copied. It has the token number ZDNS-TNM-COPY-DNSOBJ and the definition ZDNS-DDL-COPYDNSOBJ. It contains the following fields: ZNAME contains the group name to be copied. Possible errors referring to this field are: ZDNS-ERR-INV-NAME ZDNS-ERR-NOTFOUND ZDNS-ERR-REQD-FIELD ZDEFNODE must specify the definition node for the name.
Using DNS in Programs: The DNS Commands COPY GROUP Command Operational Notes Copying a group does not copy its members. If the requester does not have DNS write authority, the command is rejected with ZDNS-ERR-SECURITY.
Using DNS in Programs: The DNS Commands Overview of the DELETE Commands Overview of the ZDNS-CMD-DELETE deletes names from the DNS database and is analogous to the DELETE Commands DELETE command in DNSCOM.
Using DNS in Programs: The DNS Commands DELETE ALIAS Command DELETE ALIAS Command The DELETE ALIAS command deletes an alias. Command ZDNS-CMD-DELETE Object Type ZDNS-OBJ-ALIAS Tokens in Command Buffer ZDNS-MAP-DEL-DNSOBJ !r def ZDNS-DDL-DEL-DNSOBJ. 02 ZNAME type ZDNS-DDL-DNSNAME. end. !r Tokens in Response Buffer ZDNS-TKN-OBJNAME ZSPI-TKN-RETCODE ZSPI-TKN-ERRLIST ...
Using DNS in Programs: The DNS Commands DELETE ALIAS Command Tokens in Response Buffer ZDNS-TKN-OBJNAME is an object-name token that contains the name of the alias that is deleted by the command. This token is present in every response record. ZDNS-TKNOBJNAME is described in Section 4 under the heading “Simple Tokens.” ZSPI-TKN-RETCODE is the standard SPI return token described in the Distributed Systems Management (DSM) Programming Manual. This token is present in every response record.
Using DNS in Programs: The DNS Commands DELETE ATYPE Command DELETE ATYPE Command The DELETE ATYPE command deletes an alias type. Command ZDNS-CMD-DELETE Object Type ZDNS-OBJ-ATYPE Tokens in Command Buffer ZDNS-MAP-DEL-DNSTYPE !r def ZDNS-DDL-DEL-DNSTYPE. 02 ZNAME type ZDNS-DDL-DNSTYPENAME. end. !r Tokens in Response Buffer ZDNS-TKN-OBJNAME ZSPI-TKN-RETCODE ZSPI-TKN-ERRLIST ...
Using DNS in Programs: The DNS Commands DELETE ATYPE Command Tokens in Response Buffer ZDNS-TKN-OBJNAME is an object-name token that contains the name of the alias type that is deleted by the command. This token is present in every response record. ZDNS-TKNOBJNAME is described in Section 4 under the heading “Simple Tokens.” ZSPI-TKN-RETCODE is the standard SPI return token described in the Distributed Systems Management (DSM) Programming Manual. This token is present in every response record.
Using DNS in Programs: The DNS Commands DELETE COMP Command DELETE COMP Command The DELETE COMP command deletes a composite object. Command ZDNS-CMD-DELETE Object Type ZDNS-OBJ-COMP Tokens in Command Buffer ZDNS-MAP-DEL-DNSOBJ !r def ZDNS-DDL-DEL-DNSOBJ. 02 ZNAME type ZDNS-DDL-DNSNAME. end. !r Tokens in Response Buffer ZDNS-TKN-OBJNAME ZSPI-TKN-RETCODE ZSPI-TKN-ERRLIST ...
Using DNS in Programs: The DNS Commands DELETE COMP Command Tokens in Response Buffer ZDNS-TKN-OBJNAME is an object-name token that contains the name of the composite object that is deleted by the command. This token is present in every response record. ZDNSTKN-OBJNAME is described in Section 4 under the heading “Simple Tokens.” ZSPI-TKN-RETCODE is the standard SPI return token described in the Distributed Systems Management (DSM) Programming Manual. This token is present in every response record.
Using DNS in Programs: The DNS Commands DELETE CTYPE Command DELETE CTYPE Command The DELETE CTYPE command deletes a composite-object type. Command ZDNS-CMD-DELETE Object Type ZDNS-OBJ-CTYPE Tokens in Command Buffer ZDNS-MAP-DEL-DNSTYPE !r def ZDNS-DDL-DEL-DNSTYPE. 02 ZNAME type ZDNS-DDL-DNSTYPENAME. end. !r Tokens in Response Buffer ZDNS-TKN-OBJNAME ZSPI-TKN-RETCODE ZSPI-TKN-ERRLIST ...
Using DNS in Programs: The DNS Commands DELETE CTYPE Command Tokens in Response Buffer ZDNS-TKN-OBJNAME is an object-name token that contains the name of the composite-object type that is deleted by the command. This token is present in every response record. ZDNSTKN-OBJNAME is described in Section 4 under the heading “Simple Tokens.” ZSPI-TKN-RETCODE is the standard SPI return token described in the Distributed Systems Management (DSM) Programming Manual. This token is present in every response record.
Using DNS in Programs: The DNS Commands DELETE DOM Command DELETE DOM Command The DELETE DOM command deletes a domain. Command ZDNS-CMD-DELETE Object Type ZDNS-OBJ-DOM Tokens in Command Buffer ZDNS-MAP-DEL-DNSOBJ !r def ZDNS-DDL-DEL-DNSOBJ. 02 ZNAME type ZDNS-DDL-DNSNAME. end. !r Tokens in Response Buffer ZDNS-TKN-OBJNAME ZSPI-TKN-RETCODE ZSPI-TKN-ERRLIST ...
Using DNS in Programs: The DNS Commands DELETE DOM Command Tokens in Response Buffer ZDNS-TKN-OBJNAME is an object-name token that contains the name of the domain that is deleted by the command. This token is present in every response record. ZDNS-TKNOBJNAME is described in Section 4 under the heading “Simple Tokens.” ZSPI-TKN-RETCODE is the standard SPI return token described in the Distributed Systems Management (DSM) Programming Manual. This token is present in every response record.
Using DNS in Programs: The DNS Commands DELETE GROUP Command DELETE GROUP Command The DELETE GROUP command deletes a group. Command ZDNS-CMD-DELETE Object Type ZDNS-OBJ-GROUP Tokens in Command Buffer ZDNS-MAP-DEL-DNSOBJ !r Tokens in Response Buffer ZDNS-TKN-OBJNAME ZSPI-TKN-RETCODE ZSPI-TKN-ERRLIST ...
Using DNS in Programs: The DNS Commands DELETE GROUP Command Tokens in Response Buffer ZDNS-TKN-OBJNAME is an object-name token that contains the name of the group that is deleted by the command. This token is present in every response record. ZDNS-TKNOBJNAME is described in Section 4 under the heading “Simple Tokens.” ZSPI-TKN-RETCODE is the standard SPI return token described in the Distributed Systems Management (DSM) Programming Manual. This token is present in every response record.
Using DNS in Programs: The DNS Commands DELETE SS Command DELETE SS Command The DELETE SS command deletes a subsystem. Command ZDNS-CMD-DELETE Object Type ZDNS-OBJ-SS Tokens in Command Buffer ZDNS-MAP-DEL-SS !r def ZDNS-DDL-DEL-SS. 02 ZNAME type ZDNS-DDL-SSNAME. end. !r Tokens in Response Buffer ZDNS-TKN-OBJNAME ZSPI-TKN-RETCODE ZSPI-TKN-ERRLIST ...
Using DNS in Programs: The DNS Commands DELETE SS Command Tokens in Response Buffer ZDNS-TKN-OBJNAME is an object-name token that contains the name of the subsystem that is deleted by the command. This token is present in every response record. ZDNS-TKNOBJNAME is described in Section 4 under the heading “Simple Tokens.” ZSPI-TKN-RETCODE is the standard SPI return token described in the Distributed Systems Management (DSM) Programming Manual. This token is present in every response record.
Using DNS in Programs: The DNS Commands DELETE SSMGR Command DELETE SSMGR Command The DELETE SSMGR command deletes a subsystem manager. Command ZDNS-CMD-DELETE Object Type ZDNS-OBJ-SSMGR Tokens in Command Buffer ZDNS-MAP-DEL-SSMGR !r def ZDNS-DDL-DEL-SSMGR. 02 ZNAME type ZDNS-DDL-DNSFNAME. end. !r Tokens in Response Buffer ZDNS-TKN-OBJNAME ZSPI-TKN-RETCODE ZSPI-TKN-ERRLIST ...
Using DNS in Programs: The DNS Commands DELETE SSMGR Command Tokens in Response Buffer ZDNS-TKN-OBJNAME is an object-name token that contains the name of the subsystem manager that is deleted by the command. This token is present in every response record. ZDNSTKN-OBJNAME is described in Section 4 under the heading “Simple Tokens.” ZSPI-TKN-RETCODE is the standard SPI return token described in the Distributed Systems Management (DSM) Programming Manual. This token is present in every response record.
Using DNS in Programs: The DNS Commands DELETE SSOBJ Command DELETE SSOBJ Command The DELETE SSOBJ command deletes a subsystem object. Command ZDNS-CMD-DELETE Object Type ZDNS-OBJ-SSOBJ Tokens in Command Buffer ZDNS-MAP-DEL-SSOBJ !r def ZDNS-DDL-DEL-SSOBJ. 02 ZNAME type ZDNS-DDL-SSOBJNAME. 02 ZSSMGR type ZDNS-DDL-DNSFNAME. end. Tokens in Response Buffer ZDNS-TKN-OBJNAME ZSPI-TKN-RETCODE ZSPI-TKN-ERRLIST ...
Using DNS in Programs: The DNS Commands DELETE SSOBJ Command Tokens in Command Buffer ZDNS-MAP-DEL-SSOBJ is a required structured token that describes the subsystem object to be deleted. It has the token number ZDNS-TNM-DEL-SSOBJ and the definition ZDNS-DDLDEL-SSOBJ. It contains the following fields: ZNAME contains the name of the object to be deleted.
Using DNS in Programs: The DNS Commands DELETE SSOBJ Command Operational Notes If the requester does not have DNS write authority, the command is rejected with ZDNS-ERR-SECURITY. The DNSCOM command “DELETE SSOBJECT TERM22 UNDER \CORP.
Using DNS in Programs: The DNS Commands DELETE SSTYPE Command DELETE SSTYPE Command The DELETE SSTYPE command deletes a subsystem-object type. Command ZDNS-CMD-DELETE Object Type ZDNS-OBJ-SSTYPE Tokens in Command Buffer ZDNS-MAP-DEL-SSTYPE !r def ZDNS-DDL-DEL-SSTYPE. 02 ZNAME type ZDNS-DDL-SSTYPENAME. 02 ZSS type ZDNS-DDL-SSNAME. end. !r !r Tokens in Response Buffer ZDNS-TKN-OBJNAME ZSPI-TKN-RETCODE ZSPI-TKN-ERRLIST ...
Using DNS in Programs: The DNS Commands DELETE SSTYPE Command Tokens in Command Buffer ZDNS-MAP-DEL-SSTYPE is a required structured token that describes the subsystem-object type to be deleted. It has the token number ZDNS-TNM-DEL-SSTYPE and the definition ZDNS-DDL-DEL-SSTYPE. It contains the following fields: ZNAME contains the name of the object type to be deleted. Possible errors referring to this field are: (instances of the type still exist.
Using DNS in Programs: The DNS Commands DELETE SSTYPE Command Operational Notes If the requester does not have DNS definition authority, the command is rejected with ZDNS-ERR-SECURITY.
Using DNS in Programs: The DNS Commands DISABLE EXPORT Command DISABLE EXPORT The DISABLE EXPORT command disables export to one or all nodes. Command Command ZDNS-CMD-DISABLE Object Type ZDNS-OBJ-SYSTEM Tokens in Command Buffer ZDNS-MAP-SYS-P def ZDNS-DDL-SYS-P. 02 ZSYSTEM end. !r type ZDNS-DDL-SYSNAME. !r Tokens in Response Buffer ZDNS-TKN-OBJNAME ZSPI-TKN-RETCODE ZSPI-TKN-ERRLIST ...
Using DNS in Programs: The DNS Commands DISABLE EXPORT Command Tokens in Response Buffer ZDNS-TKN-OBJNAME is an object-name token that contains the name of the subsystem-object type that is deleted by the command. This token is present in every response record. ZDNSTKN-OBJNAME is described in Section 4 under the heading “Simple Tokens.” ZSPI-TKN-RETCODE is the standard SPI return token described in the Distributed Systems Management (DSM) Programming Manual. This token is present in every response record.
Using DNS in Programs: The DNS Commands ENABLE EXPORT Command ENABLE EXPORT The ENABLE EXPORT command enables export to one or all nodes. Command Command ZDNS-CMD-ENABLE Object Type ZDNS-OBJ-SYSTEM Tokens in Command Buffer ZDNS-MAP-SYS-P def ZDNS-DDL-SYS-P. 02 ZSYSTEM end. !r type ZDNS-DDL-SYSNAME. !r Tokens in Response Buffer ZSPI-TKN-RETCODE ZSPI-TKN-ERRLIST ...
Using DNS in Programs: The DNS Commands ENABLE EXPORT Command Tokens in Response Buffer ZSPI-TKN-RETCODE is the standard SPI return token described in the Distributed Systems Management (DSM) Programming Manual. This token is present in every response record. If its value is zero (ZDNS-ERR-NOERR), this token indicates that the name is successfully deleted. If ZSPI-TKN-RETCODE is not zero, the name is not deleted.
Using DNS in Programs: The DNS Commands GETVERSION Command GETVERSION The GETVERSION command obtains version information about a DNS process. Command Command ZDNS-CMD-GETVERSION Object Type ZDNS-OBJ-DNS (null value) Tokens in Command Buffer None Tokens in Response Buffer ZSPI-TKN-RETCODE ZSPI-TKN-SERVER-BANNER ZSPI-TKN-ERRLIST ...
Using DNS in Programs: The DNS Commands GETVERSION Command Operational Notes The purpose of ZDNS-CMD-GETVERSION is to allow the management application to identify the version of DNS that is currently running. Normally, this is the first command the requester issues to the name manager. The name manager responds to the command with the following: ZSPI-TKN-SVRVERSION (header token) This is the version of the SSPIDEFS for DNS that is current when the name manager was compiled.
Using DNS in Programs: The DNS Commands Overview of the INFO Commands Overview of the INFO ZDNS-CMD-INFO retrieves information from the DNS database and implements the Commands INFO and LIST commands in DNSCOM. ZDNS-CMD-INFO may be used with any object type. The command requires DNS read authority, regardless of the object type. The considerations specific to each object type are described in each of the succeeding subsections.
Using DNS in Programs: The DNS Commands Overview of the INFO Commands Some ZDNS-CMD-INFO parameters contain a detail flag (ZDETAIL) that has a default value of FALSE (0). If ZDETAIL is FALSE, only the basic response token (name ends in -BR) is returned for each name. If TRUE, a single detain token (name ends in -DR) is returned for each response.
Using DNS in Programs: The DNS Commands INFO ALIAS Command INFO ALIAS Command The INFO ALIAS command retrieves information about an alias or set of aliases. This command may also be used to determine the groups of which a particular alias is a member. Command ZDNS-CMD-INFO Object Type ZDNS-OBJ-ALIAS Tokens in Command Buffer ZDNS-MAP-INFO-DNSOBJ-P def ZDNS-DDL-INFO-DNSOBJ-P. 02 ZNAME type 02 ZDEFNODE type 02 ZTYPE type 02 ZGROUP type 02 ZGROUPNODE type 02 ZDETAIL type end.
Using DNS in Programs: The DNS Commands INFO ALIAS Command Tokens in Response Buffer ZDNS-MAP-INFO-ALIAS-BR (for ZDNS-MAP-INFO-DNSOBJ-P) def ZDNS-DDL-INFO-ALIAS-BR. 02 ZNAME type 02 ZDEFNODE type 02 ZREMOTE type 02 ZTYPE type 02 ZOWNER type 02 ZTYPENUM type 02 ZREFTYPE type end. ZDNS-DDL-DNSNAME. ZDNS-DDL-SYSNAME. ZDNS-DDL-REMOTE. ZDNS-DDL-DNSTYPENAME. ZDNS-DDL-OWNER. ZDNS-DDL-TYPENUM. ZDNS-DDL-TYPE. ZDNS-MAP-INFO-ALIAS-DR (for ZDNS-MAP-INFO-DNSOBJ-P.ZDETAIL = TRUE) def ZDNS-DDL-INFO-ALIAS-DR.
Using DNS in Programs: The DNS Commands INFO ALIAS Command Tokens in Command Buffer ZDNS-MAP-INFO-DNSOBJ-P is a structured token that describes the alias for which information is requested. Either this token or ZDNS-MAP-INFO-DNSOBJ-GROUP is required. It has the token number ZDNS-TNM-INFO-DNSOBJ-P and the definition ZDNS-DDLINFO-DNSOBJ-P. This token contains the following fields: ZNAME contains the alias for which information is requested. If this field is supplied as “*”, all aliases are returned.
Using DNS in Programs: The DNS Commands INFO ALIAS Command ZGROUPNODE specifies the definition node for ZGROUP. If this field is left null, the local system is assumed. Possible errors referring to this field are: ZDNS-ERR-ILL-FIELD-COMB (if this field is non-null, but ZGROUP is null) ZDNS-ERR-INV-NAME ZDETAIL specifies the detail flag. ZDNS-MAP-INFO-DNSOBJ-GROUP is a structured token that describes an alias for which group membership is requested. Either this token or ZDNS-MAP-INFO-DNSOBJ-P is required.
Using DNS in Programs: The DNS Commands INFO ALIAS Command Tokens in Response Buffer ZDNS-MAP-INFO-ALIAS-BR is returned if the ZDNS-MAP-INFO-DNSOBJ-P token is specified in the command buffer. It has the token number ZDNS-TNM-INFO-ALIAS-BR and the definition ZDNS-DDL-INFO-ALIAS-BR. It contains the following fields: ZNAME contains the name of the alias. ZDEFNODE contains the alias’s definition node. ZREMOTE contains the remote or local flag.
Using DNS in Programs: The DNS Commands INFO ALIAS Command ZDNS-MAP-INFO-GROUP-BR is returned if the ZDNS-MAP-INFO-DNSOBJ-GROUP token is specified in the command buffer. It has the token number ZDNS-TNM-INFO-GROUP-BR and the definition ZDNS-DDL-INFO-GROUP-BR. It contains the following fields: ZNAME contains the name of the group. ZDEFNODE contains the name of the group’s definition node. ZREMOTE contains the group’s remote or local flag.
Using DNS in Programs: The DNS Commands INFO ALIAS Command Operational Notes If ZDNS-MAP-INFO-DNSOBJ-P is supplied, ZDNS-MAP-INFO-ALIAS-BR is returned for each alias specified. The uniqueness of the name supplied in ZNAME is determined by the presence of multiple responses and/or a context token in the response buffer. For example, if ZSPI-TKN-MAXRESP is not supplied, ZNAME is supplied as an A, and ZDEFNODE is supplied as “*”.
Using DNS in Programs: The DNS Commands INFO ALIAS Command If information about multiple aliases is returned in a single response buffer, each ZDNS-MAP-INFO-ALIAS-BR (and corresponding ZDNS-INFO-ALIAS-DR, if requested) is enclosed in a standard SPI data list: [ZSPI-TKN-DATALIST] [ZDNS-MAP-INFO-ALIAS-BR] [ZDNS-MAP-INFO-ALIAS-DR] [ZSPI-TKN-RETCODE] = 0 [ZSPI-TKN-DATALIST] [ZDNS-MAP-INFO-ALIAS-BR] [ZDNS-MAP-INFO-ALIAS-DR] [ZSPI-TKN-RETCODE] = 0 [ZSPI-TKN-CONTEXT] (first alias) (first alias) (second alias) (
Using DNS in Programs: The DNS Commands INFO ATYPE Command INFO ATYPE Command The INFO ATYPE command retrieves information about an alias type or set of alias types. This command may also be used to determine the subsystem-object types allowed to have a particular type of alias. Command ZDNS-CMD-INFO Object Type ZDNS-OBJ-ATYPE Tokens in Command Buffer (see text) ZDNS-MAP-INFO-DNSTYPE-PF1 def ZDNS-DDL-INFO-DNSTYPE-PF1. 02 ZNAME type ZDNS-DDL-DNSTYPENAME. end.
Using DNS in Programs: The DNS Commands INFO ATYPE Command Tokens in Response Buffer ZDNS-MAP-INFO-DNSTYPE-BR (ZDNS-MAP-INFO-DNSTYPE-PF1 or ZDNS-MAP-INFO-DNSTYPE-PF2) def ZDNS-DDL-INFO-DNSTYPE-BR. 02 ZNAME type ZDNS-DDL-DNSTYPENAME. 02 ZOWNER type ZDNS-DDL-OWNER. 02 ZTYPENUM type ZDNS-DDL-TYPENUM. 02 ZDOMAIN type ZDNS-DDL-DOMAIN. end. ZDNS-MAP-INFO-SSTYPE-BR (ZDNS-MAP-INFO-ATYPE-SSTYPE) def ZDNS-DDL-INFO-SSTYPE-BR. 02 ZNAME type ZDNS-DDL-SSTYPENAME. 02 ZSS type ZDNS-DDL-SSNAME. end.
Using DNS in Programs: The DNS Commands INFO ATYPE Command Tokens in Command Buffer ZDNS-MAP-INFO-DNSTYPE-PF1 is a structured token that describes the alias type for which information is requested. Either this token, ZDNS-MAP-INFO-DNSTYPE-PF1, or ZDNS-MAPINFO-ATYPE-SSTYPE is required. It has the token number ZDNS-TNM-INFODNSTYPE-PF1 and the definition ZDNS-DDL-INFO-DNSTYPE-PF1. This token contains the following field: ZNAME contains the name of the alias type for which information is requested.
Using DNS in Programs: The DNS Commands INFO ATYPE Command ZDNS-MAP-INFO-ATYPE-SSTYPE is a structured token that describes the alias type for which information is requested. Either this token, ZDNS-MAP-INFO-DNSTYPE-PF1, or ZDNS-MAPINFO-DNSTYPE-PF2 is required. It has the token number ZDNS-TNM-INFOATYPE-SSTYPE and the definition ZDNS-DDL-INFO-ATYPE-SSTYPE. This token contains the following field: ZNAME contains the name of the alias type for which associated subsystem-object types are to be returned.
Using DNS in Programs: The DNS Commands INFO ATYPE Command ZDNS-MAP-INFO-SSTYPE-BR is returned if ZDNS-MAP-INFO-ATYPE- SSTYPE is specified in the command buffer. It has the token number ZDNS-TNM-INFO-SSTYPE-BR and the definition ZDNS-DDL-INFO-SSTYPE-BR. It contains the following fields: ZNAME contains the name of the subsystem-object type. ZSS contains the name of the subsystem defining the type.
Using DNS in Programs: The DNS Commands INFO ATYPE Command Operational Notes If ZDNS-MAP-INFO-DNSTYPE-PF1 or ZDNS-MAP-INFO-DNSTYPE-PF2 is supplied, responses of format ZDNS-DDL-INFO-DNSTYPE-BR are returned. Multiple responses are possible only when ZDNS-MAP-INFO-DNSTYPE-PF1 is supplied with ZNAME = “*”: [ZSPI-TKN-DATALIST] [ZDNS-MAP-INFO-DNSTYPE-BR] [ZSPI-TKN-RETCODE] = 0 [ZSPI-TKN-DATALIST] [ZDNS-MAP-INFO-DNSTYPE-BR] [ZSPI-TKN-RETCODE] = 0 . .
Using DNS in Programs: The DNS Commands INFO COMP Command INFO COMP Command The INFO COMP command retrieves information about a composite object or set of composites. This command may also be used to determine the groups of which a particular composite is a member. Command ZDNS-CMD-INFO Object Type ZDNS-OBJ-COMP Tokens in Command Buffer (see text) ZDNS-MAP-INFO-DNSOBJ-P def ZDNS-DDL-INFO-DNSOBJ-P. 02 ZNAME type 02 ZDEFNODE type 02 ZTYPE type 02 ZGROUP type 02 ZGROUPNODE type 02 ZDETAIL type end.
Using DNS in Programs: The DNS Commands INFO COMP Command Tokens in Response Buffer ZDNS-MAP-INFO-COMP-BR (for ZDNS-MAP-INFO-DNSOBJ-P) def ZDNS-DDL-INFO-COMP-BR. 02 ZNAME type ZDNS-DDL-DNSNAME. 02 ZDEFNODE type ZDNS-DDL-SYSNAME. 02 ZREMOTE type ZDNS-DDL-REMOTE. 02 ZTYPE type ZDNS-DDL-DNSTYPENAME. 02 ZOWNER type ZDNS-DDL-OWNER. 02 ZTYPENUM type ZDNS-DDL-TYPENUM. end. ZDNS-MAP-INFO-COMP-DR (for ZDNS-MAP-INFO-DNSOBJ-P.ZDETAIL = TRUE) def ZDNS-DDL-INFO-COMP-DR. 02 ZDOMAIN type ZDNS-DDL-DOMAIN. end.
Using DNS in Programs: The DNS Commands INFO COMP Command Tokens in Command Buffer ZDNS-MAP-INFO-DNSOBJ-P is a structured token that describes the composite object for which information is requested. Either this token or ZDNS-MAP-INFO-DNSOBJ-GROUP is required. It has the token number ZDNS-TNM-INFO-DNSOBJ-P and the definition ZDNSDDL-INFO-DNSOBJ-P. This token contains the following fields: ZNAME contains the composite name for which information is requested.
Using DNS in Programs: The DNS Commands INFO COMP Command ZGROUPNODE specifies the definition node for ZGROUP. If this field is left null, the local system is assumed. Possible errors referring to this field are: ZDNS-ERR-ILL-FIELD-COMB (if this field is non-null, but ZGROUP is null) ZDNS-ERR-INV-NAME ZDETAIL specifies the detail flag. ZDNS-MAP-INFO-DNSOBJ-GROUP is a structured token that describes the composite object for which group membership information is requested.
Using DNS in Programs: The DNS Commands INFO COMP Command Tokens in Response Buffer ZDNS-MAP-INFO-COMP-BR is returned if the ZDNS-MAP-INFO-DNSOBJ-P token is specified in the command buffer. It has the token number ZDNS-TNM-INFO-COMP-BR and the definition ZDNS-DDL-INFO-COMP-BR. It contains the following fields: ZNAME contains the name of the composite object. ZDEFNODE contains the composite’s definition node. ZREMOTE contains the remote or local flag. ZTYPE contains the name of the composite’s type.
Using DNS in Programs: The DNS Commands INFO COMP Command ZSPI-TKN-ERRLIST is a standard SPI error list, as described in the Distributed Systems Management (DSM) Programming Manual. The list ends with the token ZSPI-TKN-ENDLIST. ZSPI-TKN-CONTEXT is the standard SPI context token described in the Distributed Systems Management (DSM) Programming Manual.
Using DNS in Programs: The DNS Commands INFO COMP Command Where information about multiple composites is returned in a single buffer, the format of the buffer is as follows: [ZSPI-TKN-DATALIST] [ZDNS-MAP-INFO-COMP-BR] [ZDNS-MAP-INFO-COMP-DR] [ZDNS-MAP-INFO-SSOBJ-BR] [ZDNS-MAP-INFO-SSOBJ-BR] [ZSPI-TKN-DATALIST] [ZDNS-MAP-INFO-COMP-BR] [ZDNS-MAP-INFO-COMP-DR] [ZDNS-MAP-INFO-SSOBJ-BR] [ZDNS-MAP-INFO-SSOBJ-BR] [ ZSPI-TKN-CONTEXT ] (first composite) (first composite) (first component) (second component) (secon
Using DNS in Programs: The DNS Commands INFO CTYPE Command INFO CTYPE Command The INFO CTYPE command retrieves information about a composite type or set of composite types. Command ZDNS-CMD-INFO Object Type ZDNS-OBJ-CTYPE Tokens in Command Buffer (see text) ZDNS-MAP-INFO-DNSTYPE-PF1 def ZDNS-DDL-INFO-DNSTYPE-PF1. 02 ZNAME type ZDNS-DDL-DNSTYPENAME. end. (see text) ZDNS-MAP-INFO-DNSTYPE-PF2 def ZDNS-DDL-INFO-DNSTYPE-PF2. 02 ZOWNER type ZDNS-DDL-OWNER. 02 ZTYPENUM type ZDNS-DDL-TYPENUM. end.
Using DNS in Programs: The DNS Commands INFO CTYPE Command Tokens in Response Buffer ZDNS-MAP-INFO-DNSTYPE-BR def ZDNS-DDL-INFO-DNSTYPE-BR. 02 ZNAME type ZDNS-DDL-DNSTYPENAME. 02 ZOWNER type ZDNS-DDL-OWNER. 02 ZTYPENUM type ZDNS-DDL-TYPENUM. 02 ZDOMAIN type ZDNS-DDL-DOMAIN. end. ZDNS-MAP-INFO-SSTYPE-BR (for ZDETAIL = TRUE) def ZDNS-DDL-INFO-SSTYPE-BR. 02 ZNAME type ZDNS-DDL-SSTYPENAME. 02 ZSS type ZDNS-DDL-SSNAME. end. ZSPI-TKN-RETCODE ZSPI-TKN-ERRLIST ...
Using DNS in Programs: The DNS Commands INFO CTYPE Command ZDNS-MAP-INFO-DNSTYPE-PF2 is a structured token that describes the composite type for which information is requested, specified as a type number belonging to a specific owner. Either this token or ZDNS-MAP-INFO-DNSTYPE-PF1 is required. It has the token number ZDNS-TNM-INFO-DNSTYPE-PF2 and the definition ZDNS-DDL-INFODNSTYPE-PF2. This token contains the following fields: ZOWNER contains the name of the owner of the composite type.
Using DNS in Programs: The DNS Commands INFO CTYPE Command ZDNS-MAP-INFO-SSTYPE-BR is returned if the ZDETAIL field in the command buffer is TRUE. It has the token number ZDNS-TNM-INFO-SSTYPE-BR and the definition ZDNS-DDL-INFOSSTYPE-BR. It contains the following fields: ZNAME contains the name of a subsystem-object type. ZSS contains the name of the subsystem defining the type. ZSPI-TKN-RETCODE is the standard SPI return token described in the Distributed Systems Management (DSM) Programming Manual.
Using DNS in Programs: The DNS Commands INFO CTYPE Command Operational Notes If ZDNS-MAP-INFO-DNSTYPE-PF1 or ZDNS-MAP-INFO-DNSTYPE-PF2 is supplied, responses of format ZDNS-DDL-INFO-DNSTYPE-BR are returned. If ZDETAIL is supplied with a value of TRUE, one ZDNS-MAP-INFO-SSTYPE-BR for each component of the composite type is also returned. If the ZSS field of ZDNS-MAP-INFO-SSTYPE-BR = “*”, an instance of an object with type ZDNS-MAP-INFO-SSTYPE-BR.
Using DNS in Programs: The DNS Commands INFO DNS Command INFO DNS Command The INFO DNS command returns information about the DNS configuration on the local system. Command ZDNS-CMD-INFO Object Type ZDNS-OBJ-DNS Tokens in Command Buffer None Tokens in Response Buffer ZDNS-MAP-INFO-DNS-BR def ZDNS-DDL-INFO-DNS-BR. 02 ZVERSION type 02 ZMAXDOMAINS type 02 ZMAXMANAGERS type 02 ZMAXNAMES type 02 ZMAXTYPES type 02 ZOWNER type 02 ZSECURITY type 02 02 02 02 end.
Using DNS in Programs: The DNS Commands INFO DNS Command Tokens in Response Buffer ZDNS-MAP-INFO-DNS-BR is the response token that contains the returned configuration information. It has the token number ZDNS-TNM-INFO-DNS-BR and the definition ZDNS-DDLINFO-DNS-BR. It contains the following fields: ZVERSION contains the version of DNS currently installed, formatted as follows: 0:7 = Version letter C, D, and so on 8:15 = Number within letter ZMAXDOMAINS contains the configured value of MAXDOMAINS.
Using DNS in Programs: The DNS Commands INFO DNS Command ZSPI-TKN-RETCODE is the standard SPI return token described in the Distributed Systems Management (DSM) Programming Manual. This token is present in every response record. If its value is zero (ZDNS-ERR-NOERR), this token indicates that the information is successfully retrieved. If ZSPI-TKN-RETCODE is not zero, the information is not successfully retrieved.
Using DNS in Programs: The DNS Commands INFO DOM Command INFO DOM Command The INFO DOM command retrieves information about a domain or set of domains. Command ZDNS-CMD-INFO Object Type ZDNS-OBJ-DOM Tokens in Command Buffer ZDNS-MAP-INFO-DOM-P !r def ZDNS-DDL-INFO-DOM-P. 02 ZNAME 02 ZDETAIL end. type ZDNS-DDL-DNSNAME. type ZDNS-DDL-DETAIL. !r !o Tokens in Response Buffer ZDNS-MAP-INFO-DOM-BR def ZDNS-DDL-INFO-DOM-BR. 02 ZNAME 02 ZDEFNODE end. type ZDNS-DDL-DNSNAME. type ZDNS-DDL-SYSNAME.
Using DNS in Programs: The DNS Commands INFO DOM Command Tokens in Command Buffer ZDNS-MAP-INFO-DOM-P is a required structured token that describes the domain for which information is requested. It has the token number ZDNS-TNM-INFO-DOM-P and the definition ZDNS-DDL-INFO-DOM-P. It contains the following fields: ZNAME contains the name of the domain for which information is desired. If this field is supplied as “*”, information about each domain defined on the local system is returned.
Using DNS in Programs: The DNS Commands INFO DOM Command ZSPI-TKN-RETCODE is the standard SPI return token described in the Distributed Systems Management (DSM) Programming Manual. This token is present in every response record. If its value is zero (ZDNS-ERR-NOERR), this token indicates that the information is successfully retrieved. If ZSPI-TKN-RETCODE is not zero, the information is not successfully retrieved.
Using DNS in Programs: The DNS Commands INFO FILE Command INFO FILE Command The INFO FILE command retrieves information about a DNS database file or all database files. Command ZDNS-CMD-INFO Object Type ZDNS-OBJ-FILE Tokens in Command Buffer ZDNS-MAP-INFO-FILE-P !r def ZDNS-DDL-INFO-FILE-P. 02 ZFILENO type ZDNS-DDL-FILENO. end. Tokens in Response Buffer def ZDNS-DDL-INFO-FILE-BR. 02 ZFILENO type ZDNS-DDL-FILENO. 02 ZFILENAME type ZDNS-DDL-FNAME. end. ZSPI-TKN-RETCODE ZSPI-TKN-ERRLIST ...
Using DNS in Programs: The DNS Commands INFO FILE Command Tokens in Command Buffer ZDNS-MAP-INFO-FILE-P is a required structured token that describes the DNS file for which information is requested. It has the token number ZDNS-TNM-INFO-FILE-P and the definition ZDNS-DDL-INFO-FILE-P. It contains the following field: ZFILENO contains the logical file number for the file for which information is desired. If this field is supplied as zero (or left null), information about all database files is returned.
Using DNS in Programs: The DNS Commands INFO FILE Command Operational Notes One response with format ZDNS-DDL-INFO-FILE-BR is returned for each file.
Using DNS in Programs: The DNS Commands INFO GROUP Command INFO GROUP Command The INFO GROUP command retrieves information about groups. Command ZDNS-CMD-INFO Object Type ZDNS-OBJ-GROUP Tokens in Command Buffer (see text) ZDNS-MAP-INFO-DNSOBJ-P def ZDNS-DDL-INFO-DNSOBJ-P. 02 ZNAME type 02 ZDEFNODE type 02 ZTYPE type 02 ZGROUP type 02 ZGROUPNODE type 02 ZDETAIL type end. ZDNS-DDL-DNSNAME. ZDNS-DDL-SYSNAME. ZDNS-DDL-DNSTYPENAME. ZDNS-DDL-DNSNAME. ZDNS-DDL-SYSNAME. ZDNS-DDL-DETAIL.
Using DNS in Programs: The DNS Commands INFO GROUP Command Tokens in Response Buffer ZDNS-MAP-INFO-GROUP-BR (for ZDNS-MAP-INFO-DNSOBJ-P or ZDNS-MAP-INFO-DNSOBJ-GROUP) def ZDNS-DDL-INFO-GROUP-BR. 02 ZNAME type ZDNS-DDL-DNSNAME. 02 ZDEFNODE type ZDNS-DDL-SYSNAME. 02 ZREMOTE type ZDNS-DDL-REMOTE. end. ZDNS-MAP-INFO-GROUP-DR (for ZDNS-MAP-INFO-DNSOBJ-P.ZDETAIL = TRUE) def ZDNS-DDL-INFO-GROUP-DR. 02 ZDOMAIN type ZDNS-DDL-DNSNAME. end.
Using DNS in Programs: The DNS Commands INFO GROUP Command Tokens in Command Buffer ZDNS-MAP-INFO-DNSOBJ-P is a structured token that describes the group for which information is requested. Either this token, ZDNS-MAP-INFO-GROUP-MEMB, or ZDNS-MAP-INFODNSOBJ-GROUP is required. It has the token number ZDNS-TNM-INFODNSOBJ-P and the definition ZDNS-DDL-INFO-DNSOBJ-P. This token contains the following fields: ZNAME contains the group name for which information is requested.
Using DNS in Programs: The DNS Commands INFO GROUP Command ZDETAIL specifies the detail flag. ZDNS-MAP-INFO-GROUP-MEMB is a structured token that describes a group for which group membership information is requested, with optional detailed expansion. Either this token, ZDNS-MAP-INFO-DNSOBJ-P, or ZDNS-MAP-INFO-DNSOBJ-GROUP is required. It has the token number ZDNS-TNM-INFO-GROUP-MEMB and the definition ZDNS-DDL-INFO-GROUP-MEMB.
Using DNS in Programs: The DNS Commands INFO GROUP Command ZDNS-MAP-INFO-DNSOBJ-GROUP is a structured token that describes a group for which group membership information is requested. Either this token, ZDNS-MAP-INFO-GROUP-MEMB, or ZDNS-MAP-INFO-DNSOBJ-P is required. It has the token number ZDNS-TNMINFO-DNSOBJ-GROUP and the definition ZDNS-DDL-INFO-DNSOBJ-GROUP. This token contains the following fields: ZNAME contains the name for which group membership information is requested.
Using DNS in Programs: The DNS Commands INFO GROUP Command ZDNS-MAP-INFO-GROUP-DR is returned if ZDNS-MAP-INFO-DNSOBJ-P is specified in the command buffer and the ZDETAIL field is TRUE. It has the token number ZDNS-TNM-INFOGROUP-DR and the definition ZDNS-DDL-INFO-GROUP-DR. It contains the following field: ZDOMAIN contains the name of the domain of the group. ZDNS-MAP-INFO-MEMB-BR is returned if ZDNS-MAP-INFO-GROUP-MEMB is specified in the command buffer.
Using DNS in Programs: The DNS Commands INFO GROUP Command ZSPI-TKN-ERRLIST is a standard SPI error list, as described in the Distributed Systems Management (DSM) Programming Manual. The list ends with the token ZSPI-TKN-ENDLIST. ZSPI-TKN-CONTEXT is the standard SPI context token described in the Distributed Systems Management (DSM) Programming Manual. Operational Notes If ZDNS-MAP-INFO-DNSOBJ-P is supplied, one response with format ZDNSDDL-INFO-GROUP-BR is returned for each group.
Using DNS in Programs: The DNS Commands INFO GROUP Command If the ZDETAIL field of ZDNS-DDL-INFO-GROUP-MEMB is supplied with the value TRUE, the name manager performs an explosion of the group membership. For example, suppose that group G contains A, B, G1, and H, while group G1 contains I, J, and K.
Using DNS in Programs: The DNS Commands INFO NAME Command INFO NAME Command The INFO NAME command returns specific name information in cases where the management application: Has a name and needs to determine the name’s type Needs to establish the uniqueness of a name Must generate a list of all names defined on a particular node Must generate a list of all names known to the local system Command ZDNS-CMD-INFO Object Type ZDNS-OBJ-NAME Tokens in Command Buffer ZDNS-MAP-INFO-NAME def ZDNS-DDL-INFO-NAME.
Using DNS in Programs: The DNS Commands INFO NAME Command Tokens in Response Buffer ZDNS-MAP-INFO-NAME-BR def ZDNS-DDL-INFO-NAME-BR. 02 ZDNSTYPE 02 ZDNSNAME 02 ZDEFNODE 02 ZDNSTYPENAME 02 ZSSOBJ 02 ZSSMGR 02 ZSSTYPE 02 ZSS 02 ZREMOTE 02 ZOWNER 02 ZSSNUM 02 ZTYPENUM 02 ZREFTYPE end. type type type type type type type type type type type type type ZDNS-DDL-TYPE. ZDNS-DDL-DNSNAME. ZDNS-DDL-SYSNAME. ZDNS-DDL-DNSTYPENAME. ZDNS-DDL-SSOBJNAME. ZDNS-DDL-DNSFNAME. ZDNS-DDL-SSTYPENAME. ZDNS-DDL-SSNAME.
Using DNS in Programs: The DNS Commands INFO NAME Command Tokens in Command Buffer ZNS-MAP-INFO-NAME is a required structured token that describes the name for which information is requested. It has the token number ZDNS-TNM-INFO-NAME and the definition ZDNS-DDL-INFO-NAME. It contains the following fields: ZNAME contains the name for which information is requested. The field is described as ZDNS-DDL-SSOBJNAME since that is the most general form of name supported by DNS.
Using DNS in Programs: The DNS Commands INFO NAME Command Tokens in Response Buffer ZDNS-MAP-INFO-NAME-BR is the response token that returns the information about the specified name. It has the token number ZDNS-TNM-INFO-NAME-BR and the definition ZDNS-DDLINFO-NAME-BR. It contains the following fields: ZDNSTYP contains the type of name (DNS object type).
Using DNS in Programs: The DNS Commands INFO NAME Command ZSS If ZDNSTYPE = ZDNS-OBJ-SS, this field contains the name of the subsystem. If ZDNSTYPE = ZDNS-OBJ-SSTYPE, this field contains the name of the subsystem defining the type. If ZDNSTYPE = ZDNS-OBJ-SSOBJ, this field contains the subsystem that defines the object’s type. If none is the case, the field contains blanks.
Using DNS in Programs: The DNS Commands INFO NAME Command ZTYPENUM contains the TYPENUM for the type if ZDNSTYPE is one of the following: ZDNS-OBJ-ATYPE ZDNS-OBJ-CTYPE ZDNS-OBJ-SSTYPE This field contains the TYPENUM for the name’s type if ZDNSTYPE is one of the following: ZDNS-OBJ-ALIAS ZDNS-OBJ-COMP ZDNS-OBJ-SSOBJ (typed only) For all other values of ZDNSTYPE, this field contains 0.
Using DNS in Programs: The DNS Commands INFO NAME Command Operational Notes The uniqueness of the name supplied in ZNAME is determined by the presence of multiple responses and/or a context token in the response buffer. For example, if ZSPI-TKN-MAXRESP is not supplied, ZNAME is supplied as an X, and ZDEFNODE is supplied as “*”; then, if X is found and is unique, the response buffer contains ZDNS-MAP-INFO-BR and ZSPI-TKN-RETCODE.
Using DNS in Programs: The DNS Commands INFO NAME Command Where information about multiple names is returned in a single response buffer, each ZDNS-MAP-INFO-NAME-BR is enclosed in a standard SPI data list.
Using DNS in Programs: The DNS Commands INFO NAME Command Alias 06KDF00036A ON \WESTB1, TYPE CIRCUIT, at \WESTB2.
Using DNS in Programs: The DNS Commands INFO NAME Command Composite ATM44 ON \WESTB1, TYPE ATM, at \WESTB2.
Using DNS in Programs: The DNS Commands INFO NAME Command Group G ON \CORP at \CORP: ZDNSTYPE ZDNSNAME ZDEFNODE ZDNSTYPENAME ZSSMGR ZSSOBJ ZSSTYPE ZSS ZREMOTE ZOWNER ZSSNUM ZTYPENUM ZREFTYPE = = = = = = = = = = = = = ZDNS-OBJ-GROUP "G "\CORP " " " " " " " " " ZDNS-VAL-LOCAL (0) " " 0 0 0 = = = = = = = = = = = = = ZDNS-OBJ-SS " " " " " " " " " "PATHWAY " ZDNS-VAL-LOCAL (0) "TANDEM " 8 0 0 " " " PATHWAY: ZDNSTYPE ZDNSNAME ZDEFNODE ZDNSTYPENAME ZSSMGR ZSSOBJ ZSSTYPE ZSS ZREMOTE ZOWNER ZSSNUM ZTYPENUM Z
Using DNS in Programs: The DNS Commands INFO NAME Command TERM22 UNDER \CORP.
Using DNS in Programs: The DNS Commands INFO PROC Command INFO PROC Command The INFO PROC command retrieves information about a DNS process or all DNS processes. Command ZDNS-CMD-INFO Object Type ZDNS-OBJ-PROC Tokens in Command Buffer ZDNS-MAP-INFO-PROC-P !r def ZDNS-DDL-INFO-PROC-P. 02 ZPROCESSNO type ZDNS-DDL-PROCESSNO. end. !o Tokens in Response Buffer def ZDNS-DDL-INFO-PROC-BR.
Using DNS in Programs: The DNS Commands INFO PROC Command Tokens in Command Buffer ZDNS-MAP-INFO-PROC-P is a required structured token that describes the DNS process for which information is requested. It has the token number ZDNS-TNM-INFO-PROC-P and the definition ZDNS-DDL-INFO-PROC-P. It contains the following field: ZPROCESSNO contains the logical process number for the process for which information is desired.
Using DNS in Programs: The DNS Commands INFO PROC Command ZPROCESSNAME contains the process’s name. ZPROCESSTYPE contains the name of the process’s type. ZSPI-TKN-RETCODE is the standard SPI return token described in the Distributed Systems Management (DSM) Programming Manual. This token is present in every response record. If its value is zero (ZDNS-ERR-NOERR), this token indicates that the information is successfully retrieved.
Using DNS in Programs: The DNS Commands INFO SS Command INFO SS Command The INFO SS command retrieves information about subsystems. Command ZDNS-CMD-INFO Object Type ZDNS-OBJ-SS Tokens in Command Buffer (see text) ZDNS-MAP-INFO-SS-PF1 def ZDNS-DDL-INFO-SS-PF1. 02 ZNAME type ZDNS-DDL-SSNAME. end. !r (see text) ZDNS-MAP-INFO-SS-PF2 def ZDNS-DDL-INFO-SS-PF2. 02 ZOWNER type ZDNS-DDL-OWNER. 02 ZSSNUM type ZDNS-DDL-SSNUM. end. Tokens in Response Buffer def ZDNS-DDL-INFO-SS-BR. 02 ZNAME type ZDNS-DDL-SSNAME.
Using DNS in Programs: The DNS Commands INFO SS Command Tokens in Command Buffer ZDNS-MAP-INFO-SS-PF1 is a structured token that describes the subsystem for which information is requested. Either this token or ZDNS-MAP-INFO-SS-PF2 is required. It has the token number ZDNS-TNM-INFO-SS-PF1 and the definition ZDNS-DDL-INFO-SSPF1. This token contains the following field: ZNAME contains the name of the subsystem.
Using DNS in Programs: The DNS Commands INFO SS Command Tokens in Response Buffer ZDNS-MAP-INFO-SS-BR is the return token that provides information about the subsystem. It has the token number ZDNS-TNM-INFO-SS-BR and the definition ZDNS-DDL-INFO-SSBR. It contains the following fields: ZNAME contains the name of the subsystem. ZOWNER contains the name of the owner of the subsystem. ZSSNUM contains the subsystem number within the owner.
Using DNS in Programs: The DNS Commands INFO SS Command Operational Notes If ZDNS-MAP-INFO-SS-PF1 is supplied, one response with format ZDNS-DDLINFO-SS-BR is returned for each subsystem.
Using DNS in Programs: The DNS Commands INFO SSMGR Command INFO SSMGR Command The INFO SSMGR command retrieves information about subsystem managers. Command ZDNS-CMD-INFO Object Type ZDNS-OBJ-SSMGR Tokens in Command Buffer ZDNS-MAP-INFO-SSMGR-P (see text) def ZDNS-DDL-INFO-SSMGR-P. 02 ZNAME type ZDNS-DDL-DNSFNAME. 02 ZDETAIL type ZDNS-DDL-DETAIL. end. ZDNS-MAP-INFO-SSMGR-ALIAS (see text) def ZDNS-DDL-INFO-SSMGR-ALIAS. 02 ZNAME type ZDNS-DDL-DNSFNAME. 02 ZTYPE type ZDNS-DDL-DNSTYPENAME. end.
Using DNS in Programs: The DNS Commands INFO SSMGR Command Tokens in Response Buffer ZDNS-MAP-INFO-SSMGR-BR (for ZDNS-MAP-INFO-SSMGR-P) def ZDNS-DDL-INFO-SSMGR-BR. 02 ZNAME type ZDNS-DDL-DNSFNAME. 02 ZDOMAIN type ZDNS-DDL-DOMAIN. end. ZDNS-MAP-INFO-SS-BR (for ZDNS-MAP-INFO-SSMGR-P.ZDETAIL = TRUE) def ZDNS-DDL-INFO-SS-BR. 02 ZNAME type ZDNS-DDL-SSNAME. 02 ZOWNER type ZDNS-DDL-OWNER. 02 ZSSNUM type ZDNS-DDL-SSNUM. end. ZDNS-MAP-INFO-ALIAS-BR (for ZDNS-MAP-INFO-SSMGR-ALIAS) def ZDNS-DDL-INFO-ALIAS-BR.
Using DNS in Programs: The DNS Commands INFO SSMGR Command Tokens in Command Buffer ZDNS-MAP-INFO-SSMGR-P is a structured token that describes the subsystem manager for which information is requested. Either this token or ZDNS-MAP-INFO-SSMGR-ALIAS is required. It has the token number ZDNS-TNM-INFO-SSMGR-P and the definition ZDNSDDL-INFO-SSMGR-P. This token contains the following fields: ZNAME contains the name of the subsystem manager.
Using DNS in Programs: The DNS Commands INFO SSMGR Command Tokens in Response Buffer ZDNS-MAP-INFO-SSMGR-BR returns domain information about the subsystem manager. It has the token number ZDNS-TNM-INFO-SSMGR-BR and the definition ZDNS-DDL-INFOSSMGR-BR. It contains the following fields: ZNAME contains the name of the subsystem manager. ZDOMAIN contains the domain of the subsystem manager. ZDNS-MAP-INFO-SS-BR returns information about the subsystems supported by the manager.
Using DNS in Programs: The DNS Commands INFO SSMGR Command ZDNS-MAP-INFO-ALIAS-BR returns alias information about the subsystem manager. It has the token number ZDNS-TNM-INFO-ALIAS-BR and the definition ZDNS-DDL-INFO-ALIAS-BR. It contains the following fields: ZNAME contains the name of the alias. ZDEFNODE contains the alias’s definition node. ZREMOTE contains the remote or local flag. ZTYPE contains the name of the alias’s type; this field contains blanks if the alias is untyped.
Using DNS in Programs: The DNS Commands INFO SSMGR Command ZSPI-TKN-RETCODE is the standard SPI return token described in the Distributed Systems Management (DSM) Programming Manual. This token is present in every response record. If its value is zero (ZDNS-ERR-NOERR), this token indicates that the information is successfully retrieved. If ZSPI-TKN-RETCODE is not zero, the information is not successfully retrieved.
Using DNS in Programs: The DNS Commands INFO SSMGR Command Operational Notes If ZDNS-MAP-INFO-SSMGR-P is supplied, one response with format ZDNSDDL-INFO-SSMGR-BR is returned for each subsystem manager. If the ZDETAIL field of ZDNS-MAP-INFO-SSMGR-P is supplied with the value TRUE, one ZDNS-MAP-INFO-SS-BR response is returned for each subsystem supported by the SSMANAGER.
Using DNS in Programs: The DNS Commands INFO SSOBJ Command INFO SSOBJ Command The INFO SSOBJ command retrieves information about subsystem objects. Command ZDNS-CMD-INFO Object Type ZDNS-OBJ-SSOBJ Tokens in Command Buffer ZDNS-MAP-INFO-SSOBJ-P def ZDNS-DDL-INFO-SSOBJ-P. 02 ZNAME type 02 ZSSMGR type 02 ZSSTYPE type 02 ZSS type 02 ZDETAIL type end. ZDNS-MAP-INFO-SSOBJ-ALIAS (see text) ZDNS-DDL-SSOBJNAME. ZDNS-DDL-DNSFNAME. ZDNS-DDL-SSTYPENAME. ZDNS-DDL-SSNAME. ZDNS-DDL-DETAIL.
Using DNS in Programs: The DNS Commands INFO SSOBJ Command Tokens in Response Buffer ZDNS-MAP-INFO-SSOBJ-BR def ZDNS-DDL-INFO-SSOBJ-BR. 02 ZNAME type 02 ZSSMGR type 02 ZSSTYPE type 02 ZSS type 02 ZOWNER type 02 ZSSNUM type 02 ZTYPENUM type end. ZDNS-DDL-SSOBJNAME. ZDNS-DDL-DNSFNAME. ZDNS-DDL-SSTYPENAME. ZDNS-DDL-SSNAME. ZDNS-DDL-OWNER. ZDNS-DDL-SSNUM. ZDNS-DDL-TYPENUM. ZDNS-MAP-INFO-SSOBJ-DR (for ZDNS-MAP-INFO-SSOBJ-P.ZDETAIL = TRUE) def ZDNS-DDL-INFO-SSOBJ-DR. 02 ZDOMAIN type ZDNS-DDL-DOMAIN.
Using DNS in Programs: The DNS Commands INFO SSOBJ Command ZSPI-TKN-RETCODE ZSPI-TKN-ERRLIST ... ZSPI-TKN-ENDLIST ZSPI-TKN-CONTEXT token-type ZSPI-TYP-ENUM token-type ZSPI-TYP-LIST token-type ZSPI-TYP-SSCTL token-type ZSPI-TYP-BYTESTRING Tokens in Command Buffer ZDNS-MAP-INFO-SSOBJ-P is a structured token that describes the subsystem object for which information is requested. Either this token, ZDNS-MAP-INFO-SSOBJ-ALIAS, or ZDNS-MAPINFO-SSOBJ-COMP is required.
Using DNS in Programs: The DNS Commands INFO SSOBJ Command ZSS specifies the subsystem defining the type in ZSSTYPE. This field must be left null if ZSSTYPE is null. If ZSSTYPE is specified and ZSS is left null, information is returned for all instances of ZSSTYPE defined by any subsystem. Possible errors referring to this field are: ZDNS-ERR-ILL-FIELD-COMB ZDNS-ERR-INV-NAME ZDETAIL specifies the detail flag.
Using DNS in Programs: The DNS Commands INFO SSOBJ Command ZDNS-MAP-INFO-SSOBJ-COMP is a structured token that describes the subsystem object for which composite information is requested. Either this token, ZDNS-MAP-INFO-SSOBJ-ALIAS, or ZDNS-MAP-INFO-SSOBJ-P is required. It has the token number ZDNS-TNMINFO-SSOBJ-COMP and the definition ZDNS-DDL-INFO-SSOBJ-COMP. This token contains the following fields: ZNAME contains the name of the subsystem object for which composite information is being requested.
Using DNS in Programs: The DNS Commands INFO SSOBJ Command Tokens in Response Buffer ZDNS-MAP-INFO-SSOBJ-BR is returned as the basic response containing the information about the subsystem object. It has the token number ZDNS-TNM-INFO-SSOBJ-BR and the definition ZDNS-DDL-INFO-SSOBJ-BR. It contains the following fields: ZNAME contains the name of a subsystem object. ZSSMGR contains the name of the object’s manager. ZSSTYPE contains the name of the object’s type.
Using DNS in Programs: The DNS Commands INFO SSOBJ Command ZDNS-MAP-INFO-SSOBJ-DR is returned if ZDNS-MAP-INFO-SSOBJ-P is specified in the command buffer and the ZDETAIL field is TRUE. It has the token number ZDNS-TNM-INFO-SSOBJDR and the definition ZDNS-DDL-INFO-SSOBJ-DR. It contains the following fields: ZDOMAIN contains the default domain for untyped aliases referring to the object type. ZEXT contains the object’s internal or external flag.
Using DNS in Programs: The DNS Commands INFO SSOBJ Command ZDNS-MAP-INFO-COMP-BR is returned if ZDNS-MAP-INFO-SSOBJ-COMP is specified in the command buffer. It has the token number ZDNS-TNM-INFO-COMP-BR and the definition ZDNSDDL-INFO-COMP-BR. It contains the following fields: ZNAME contains the name of a composite object. ZDEFNODE contains the composite’s definition node. ZREMOTE contains the remote or local flag. ZTYPE contains the name of the composite’s type.
Using DNS in Programs: The DNS Commands INFO SSOBJ Command Operational Notes When ZDNS-MAP-INFO-SSOBJ-P is supplied, one ZDNS-MAP-INFO-SSOBJ-BR is returned for each subsystem object. In addition, if ZDNS-MAP-INFO-SSOBJ-P.ZDETAIL is supplied with a value of TRUE, one ZDNS-MAP-INFO-SSOBJ-DR is returned for each object. An additional logical database READ operation is required for detailed information in the following cases: ZSSTYPE is non-null. ZNAME = “*” and ZSSMGR contains the name of a manager.
Using DNS in Programs: The DNS Commands INFO SSTYPE Command INFO SSTYPE Command The INFO SSTYPE command retrieves information about subsystem-object types. Command ZDNS-CMD-INFO Object Type ZDNS-OBJ-SSTY Tokens in Command Buffer ZDNS-MAP-INFO-SSTYPE-PF1 (see text) def ZDNS-DDL-INFO-SSTYPE-PF1. 02 ZNAME type ZDNS-DDL-SSTYPENAME. 02 ZSS type ZDNS-DDL-SSNAME. 02 ZDETAIL type ZDNS-DDL-DETAIL. end. ZDNS-MAP-INFO-SSTYPE-PF2 def ZDNS-DDL-INFO-SSTYPE-PF2. 02 ZOWNER type ZDNS-DDL-OWNER.
Using DNS in Programs: The DNS Commands INFO SSTYPE Command Tokens in Response Buffer ZDNS-MAP-INFO-SSTYPE-BR def ZDNS-DDL-INFO-SSTYPE-BR. 02 ZNAME type ZDNS-DDL-SSTYPENAME. 02 ZSS type ZDNS-DDL-SSNAME. end. ZDNS-MAP-INFO-SSTYPE-DR (for ZDETAIL = TRUE) def ZDNS-DDL-INFO-SSTYPE-DR. 02 ZOWNER type ZDNS-DDL-OWNER. 02 ZSSNUM type ZDNS-DDL-SSNUM. 02 ZTYPENUM type ZDNS-DDL-TYPENUM. 02 ZDOMAIN type ZDNS-DDL-DOMAIN. 02 ZEXT type ZDNS-DDL-EXT. 02 ZFMT type ZDNS-DDL-FORMAT. 02 ZDUPOK type ZDNS-DDL-DUPOK.
Using DNS in Programs: The DNS Commands INFO SSTYPE Command Tokens in Command Buffer ZDNS-MAP-INFO-SSTYPE-PF1 is a structured token that describes the subsystem-object type for which information is requested. Either this token or ZDNS-MAP-INFO-SSTYPE-PF2 is required. It has the token number ZDNS-TNM-INFO-SSTYPE-PF1 and the definition ZDNS-DDL-INFO-SSTYPE-PF1. This token contains the following fields: ZNAME contains the name of the subsystem-object type.
Using DNS in Programs: The DNS Commands INFO SSTYPE Command ZDNS-MAP-INFO-SSTYPE-PF2 is a structured token that describes the subsystem-object type for which information is requested, specified as a type number belonging to a specific owner and subsystem. Either this token or ZDNS-MAP-INFO-SSTYPE-PF1 is required. It has the token number ZDNS-TNM-INFO-SSTYPE-PF2 and the definition ZDNSDDL-INFO-SSTYPE-PF2. This token contains the following fields: ZOWNER specifies the owner of the subsystem.
Using DNS in Programs: The DNS Commands INFO SSTYPE Command Tokens in Response Buffer ZDNS-MAP-INFO-SSTYPE-BR is the token that provides the information about the specified subsystem-object type. It has the token number ZDNS-TNM-INFO-SSTYPE-BR and the definition ZDNS-DDL-INFO-SSTYPE-BR. It contains the following fields: ZNAME contains the name of the subsystem-object type. ZSS contains the name of the subsystem defining the type.
Using DNS in Programs: The DNS Commands INFO SSTYPE Command ZSPI-TKN-RETCODE is the standard SPI return token described in the Distributed Systems Management (DSM) Programming Manual. This token is present in every response record. If its value is zero (ZDNS-ERR-NOERR), this token indicates that the information is successfully retrieved. If ZSPI-TKN-RETCODE is not zero, the information is not successfully retrieved.
Using DNS in Programs: The DNS Commands LISTOPENS Command LISTOPENS Command The LISTOPENS command obtains a list of openers of a DNS process. The command may be used only with the ZDNS-OBJ-PROC object type. Command ZDNS-CMD-LISTOPENS Object Type ZDNS-OBJ-PROC Tokens in Command Buffer ZDNS-MAP-INFO-PROC-P !r def ZDNS-DDL-INFO-PROC-P. 02 ZPROCESSNO type ZDNS-DDL-PROCESSNO. end.
Using DNS in Programs: The DNS Commands LISTOPENS Command Tokens in Command Buffer ZDNS-MAP-INFO-PROC-P is a required structured token that describes the DNS process for which information is requested. It has the token number ZDNS-TNM-INFO-PROC-P and the definition ZDNS-DDL-INFO-PROC-P. It contains the following field: ZPROCESSNO contains the logical process number for the process for which information is desired. If supplied as zero, information about all DNS processes is returned.
Using DNS in Programs: The DNS Commands LISTOPENS Command ZDNS-LISTO-PROC-BR is the response buffer that supplies the information about the openers of the process. It has the token number ZDNS-TNM-LISTO-PROC-BR and the definition ZDNS-DDL-LISTO-PROC-BR. This token is included in the response for the Cseries systems. It contains the following fields: ZPRIPROCESSID contains the ID of the primary opener. ZBACKUPPROCESSID contains the ID of the backup opener (if the open is paired).
Using DNS in Programs: The DNS Commands LISTOPENS Command ZSPI-TKN-ERRLIST is a standard SPI error list, as described in the Distributed Systems Management (DSM) Programming Manual. The list ends with the token ZSPI-TKN-ENDLIST. ZSPI-TKN-CONTEXT is the standard SPI context token described in the Distributed Systems Management (DSM) Programming Manual. Operational Notes The ZPROCESSNO field of ZDNS-MAP-INFO-PROC-P may not have a null value.
Using DNS in Programs: The DNS Commands Overview of the RESTORE Commands Overview of the ZDNS-CMD-RESTORE deletes locally updateable copies of remotely defined names RESTORE Commands and is analogous to the RESTORE command in DNSCOM.
Using DNS in Programs: The DNS Commands RESTORE ALIAS Command RESTORE ALIAS Command The RESTORE ALIAS command purges the definition of an alias created using the COPY ALIAS command. Command ZDNS-CMD-RESTORE Object Type ZDNS-OBJ-ALIAS Tokens in Command Buffer ZDNS-MAP-COPY-DNSOBJ !r def ZDNS-DDL-COPY-DNSOBJ. 02 ZNAME type ZDNS-DDL-DNSNAME. 02 ZDEFNODE type ZDNS-DDL-SYSNAME. end. !r !r Tokens in Response Buffer ZDNS-TKN-OBJNAME ZSPI-TKN-RETCODE ZSPI-TKN-ERRLIST ...
Using DNS in Programs: The DNS Commands RESTORE ALIAS Command Tokens in Command Buffer ZDNS-MAP-COPY-DNSOBJ is a required structured token that describes the alias to be purged. It has the token number ZDNS-TNM-COPY-DNSOBJ and the definition ZDNS-DDL-COPYDNSOBJ. It contains the following fields: ZNAME contains the name to be purged. Possible errors referring to this field are: ZDNS-ERR-INV-NAME ZDNS-ERR-NOTFOUND ZDNS-ERR-REQD-FIELD ZDEFNODE must specify the definition node for the name.
Using DNS in Programs: The DNS Commands RESTORE ALIAS Command Operational Notes If the requester does not have DNS write authority, the command is rejected with ZDNS-ERR-SECURITY.
Using DNS in Programs: The DNS Commands RESTORE COMP Command RESTORE COMP Command The COPY COMP command purges the definition of a composite object created using the the COPY COMP command. Command ZDNS-CMD-RESTORE Object Type ZDNS-OBJ-COMP Tokens in Command Buffer ZDNS-MAP-COPY-DNSOBJ !r def ZDNS-DDL-COPY-DNSOBJ. 02 ZNAME type ZDNS-DDL-DNSNAME. 02 ZDEFNODE type ZDNS-DDL-SYSNAME. end. !r !r Tokens in Response Buffer ZDNS-TKN-OBJNAME ZSPI-TKN-RETCODE ZSPI-TKN-ERRLIST ...
Using DNS in Programs: The DNS Commands RESTORE COMP Command ZDEFNODE must specify the definition node for the name. Possible errors referring to this field are: ZDNS-ERR-INV-NAME ZDNS-ERR-REQD-FIELD Tokens in Response Buffer ZDNS-TKN-OBJNAME is an object-name token that contains the name of the composite that is purged by the command. This token is present in every response record. ZDNS-TKNOBJNAME is described in Section 4 under the heading “Simple Tokens.
Using DNS in Programs: The DNS Commands RESTORE GROUP Command RESTORE GROUP Command The RESTORE GROUP command purges the definition of a group created using the COPY GROUP command. Command ZDNS-CMD-RESTORE Object Type ZDNS-OBJ-GROUP Tokens in Command Buffer ZDNS-MAP-COPY-DNSOBJ !r def ZDNS-DDL-COPY-DNSOBJ. 02 ZNAME type ZDNS-DDL-DNSNAME. 02 ZDEFNODE type ZDNS-DDL-SYSNAME. end. !r !r Tokens in Response Buffer ZDNS-TKN-OBJNAME ZSPI-TKN-RETCODE ZSPI-TKN-ERRLIST ...
Using DNS in Programs: The DNS Commands RESTORE GROUP Command ZDEFNODE must specify the definition node for the name. Possible errors referring to this field are: ZDNS-ERR-INV-NAME ZDNS-ERR-REQD-FIELD Tokens in Response Buffer ZDNS-TKN-OBJNAME is an object-name token that contains the name of the group that is purged by the command. This token is present in every response record. ZDNS-TKNOBJNAME is described in Section 4 under the heading “Simple Tokens.
Using DNS in Programs: The DNS Commands Overview of the STATUS Commands Overview of the ZDNS-CMD-STATUS obtains the status of DNS, of exports, and DNS processes. The STATUS Commands command may be used with the following object types: ZDNS-OBJ-DNS (null value) ZDNS-OBJ-PROC ZDNS-OBJ-SYSTEM ZDNS-CMD-STATUS returns ZSPI-TKN-RETCODE, with a value of zero, together with a structured response token.
Using DNS in Programs: The DNS Commands Overview of the STATUS Commands Tokens in Response Buffer ZDNS-MAP-STATUS-DNS-BR is the return token that provides DNS status information. It has the token number ZDNS-TNM-STATUS-DNS-BR and the definition ZDNS-DDL-STATUS-DNS-BR. It contains the following fields: ZSTATE contains the DNS state (1 = RUNNING, 2 = STOPPING). ZDNSCONF contains the configuration file name (local format).
Using DNS in Programs: The DNS Commands STATUS PROC Command STATUS PROC Command The STATUS PROC command obtains the status of one DNS process or both DNS processes. Command ZDNS-CMD-STATUS Object Type ZDNS-OBJ-PROC Tokens in Command Buffer ZDNS-MAP-INFO-PROC-P !r def ZDNS-DDL-INFO-PROC-P. 02 ZPROCESSNO type ZDNS-DDL-PROCESSNO. end. Tokens in Response Buffer ZDNS-MAP-STATUS-PROC-BR def ZDNS-DDL-STATUS-PROC-BR.
Using DNS in Programs: The DNS Commands STATUS PROC Command Tokens in Command Buffer ZDNS-MAP-INFO-PROC-P is a required structured token that describes the process for which status information is requested. It has the token number ZDNS-TNM-INFO-PROC-P and the definition ZDNS-DDL-INFO-PROC-P. It contains the following field: ZPROCESSNO contains the logical process number for the process for which information is desired.
Using DNS in Programs: The DNS Commands STATUS PROC Command ZPROCESSNAME contains the name of the process. ZPROCESS TYPE contains the name of the process’s type. ZSPI-TKN-RETCODE is the standard SPI return token described in the Distributed Systems Management (DSM) Programming Manual. This token is present in every response record. If its value is zero (ZDNS-ERR-NOERR), this token indicates that the information is successfully retrieved.
Using DNS in Programs: The DNS Commands STATUS SYSTEM Command STATUS SYSTEM Command The STATUS SYSTEM command obtains export status information. Command ZDNS-CMD-STATUS Object Type ZDNS-OBJ-SYSTEM Tokens in Command Buffer (see text) ZDNS-MAP-SYS-P def ZDNS-DDL-SYS-P. 02 ZSYSTEM end. !r type ZDNS-DDL-SYSNAME. Tokens in Response Buffer ZDNS-MAP-STATUS-SYS-BR def ZDNS-DDL-STATUS-SYS-BR. 02 ZSYSTEM type 02 ZINIT-TIME type 02 ZENABLED type 02 ZACTIVE type 02 ZQUEUED type 02 ZHOLD type end.
Using DNS in Programs: The DNS Commands STATUS SYSTEM Command Tokens in Command Buffer ZDNS-MAP-SYS-P is a structured token that describes the export process for which status information is requested. It has the token number ZDNS-TNM-SYS-P. Its definition is ZDNSDDL-SYS-P, which is the name of a system currently defined to the Expand network. A single ZDNS-MAP-SYS-P parameter is required in the request. If an asterisk (*) is supplied for ZDNS-DDL-SYS-P.
Using DNS in Programs: The DNS Commands STATUS SYSTEM Command ZHOLD is TRUE if there are entries in this system’s hold queue, and FALSE otherwise. If ZSPI-DDL-STATUS-SYS-BR.ZSYSTEM names the local system, the interpretation of the last three four in the token is as follows: ZACTIVE = FALSE. ZENABLED = FALSE. ZHOLD = FALSE. ZQUEUED = TRUE, if there are entries in the primary queue; FALSE otherwise.
Using DNS in Programs: The DNS Commands STOP Command STOP Command The STOP command initiates an orderly shutdown of DNS. Command ZDNS-CMD-STOP Object Type ZDNS-OBJ-DNS Tokens in Command Buffer ZDNS-TKN-STOP-TYPE token-type ZSPI-TYP-ENUM !o Tokens in Response Buffer ZSPI-TKN-RETCODE ZSPI-TKN-ERRLIST ...
Using DNS in Programs: The DNS Commands STOP Command Tokens in Response Buffer ZSPI-TKN-RETCODE is the standard SPI return token described in the Distributed Systems Management (DSM) Programming Manual. If ZSPI-TKN-RETCODE is not zero, DNS is not stopped and the response buffer may contain one or more error lists. ZSPI-TKN-ERRLIST is a standard SPI error list, as described in the Distributed Systems Management (DSM) Programming Manual. The list ends with the token ZSPI-TKN-ENDLIST.
6 Event Messages This section describes the contents and meaning of all event messages generated by DNS. DNS event messages include some tokens and values defined by SPI (ZSPI), EMS (ZEMS), and DNS (ZDNS). The overall goal of DNS event reporting is to allow system operators to monitor and control the execution of the DNS subsystem. In this section, command numbers, object types, and all tokens and their values are represented in DDL.
Event Messages Subsystem Processes That Report Events Table 6-1. DNS Event Messages (Page 1 of 2) 6–2 Event Number Symbolic Name (ZDNS-EVT-) Description 1 2 STARTUP SHUTDOWN Name manager or exporter process starts. Name manager or exporter process performs a shutdown.
Event Messages Subsystem Processes That Report Events Table 6-1. DNS Event Messages (Page 2 of 2) Event Number Symbolic Name (ZDNS-EVT-) Description 28 EXP-START-ERROR 29 30 31 EXP-ABENDED EXP-FAIL TRAP 32 ALLOCATESEG-ERROR 33 DNS-NOT-INITIALIZED 34 BEGINTRANS-ERROR 35 INITIAL-IMPORT 36 ILL-FILE 37 38 SYSTATE EXPORT-ERROR Name manager receives a PROCESS_CREATE_ error while attempting to start the name exporter. Name exporter has ended abnormally. Name exporter's CPU has failed.
Event Messages Critical Events Critical Events The DNS critical events are described below, including the event number. The following subsection, “Event Management Strategies,” gives guidelines for recovery actions based on the DNS event message. DNS designates an event as critical in the following cases: A potential or actual loss of data. A major DNS function is lost. A loss of fault-tolerance capability occurred. A loss of integrity of a DNS component (internal error) occurred.
Event Messages Critical Events 27: ZDNS-EVT-EXPVERSION-ERROR The name-manager and name-exporter versions are incompatible. An emergency shutdown of DNS is initiated. 28: ZDNS-EVT-EXPSTART-ERROR The name manager receives a PROCESS_CREATE_ error while attempting to start the name exporter resulting in a loss of subsystem functions. 29: ZDNS-EVT-EXP-ABEND The name exporter has ended abnormally resulting in a loss of subsystem functions.
Event Messages Event Management Strategies Event-Management This subsection presents some guidelines for managing DNS based on the event Strategies messages that DNS generates. Filtering DNS Event Messages Event Messages Caused by CPU and Network Failures Those DNS messages that have ZDNS-TKN-SEVERITY = ZDNS-VAL-SEVERITYSTATUS (0) represent event messages that are expected in the normal functioning of DNS. Filters should normally select only those event messages with ZDNS-TKNSEVERITY > 0.
Event Messages Event Management Strategies Should remote systems attempt exports between times (A) and (B), ZDNS-EVTIMPORT-REJECTED event messages are generated for each such system. These event messages may be safely ignored. The ZDNS-EVT-IMPORT-REJECTED message should be selected by filters that are forwarding event messages to human operators to guard against the possibility that the ALLOWIMPORTS attribute has been inadvertently left in the OFF state.
Event Messages Tokens in All Event Messages Tokens in All Event Event-message buffers, like any other SPI buffers, contain header tokens and dataMessages portion tokens. The header and data-portion tokens that appear in all DNS event messages are listed in Table 6-2. Table 6-2.
Event Messages Tokens in All Event Messages For descriptions of these tokens, see the Distributed Systems Management (DSM) Programming Manual, the Event Management Service (EMS) Manual, and the sections on SPI and EMS standard definitions in Section 4, “Common Definitions.” The following general rules apply to the assignment of required tokens for every DNS event message. ZSPI-TKN-SSID is always assigned the value ZDNS-VAL-SSID.
Event Messages Tokens in All Event Messages ZDNS-TKN-EVT-GENERATOR is assigned one of the following values, indicating which DNS process generated the message: ZDNS-VAL-GEN-DNSCOM ZDNS-VAL-GEN-DNSMGR ZDNS-VAL-GEN-DNSEXP 0 1 2 ZDNS-TKN-EVT-SEVERITY is assigned one of the following values: ZDNS-VAL-SEVERITY-STATUS ZDNS-VAL-SEVERITY-ATTN ZDNS-VAL-SEVERITY-WARNING ZDNS-VAL-SEVERITY-ERROR ZDNS-VAL-SEVERITY-FATAL 0 (status message) 1 (attention message) 2 (warning message) 3 (serious error) 4 (fatal error) F
Event Messages Tokens in All Event Messages ZDNS-VAL-SUB-SSPI The event message pertains to a task (thread) in the name manager. The thread is responsible for processing requests from a single network management application (or DNSCOM process). ZDNS-VAL-SUB-IMPORTER The event message pertains to the task (thread) in the name manager responsible for processing requests from remote name exporters.
Event Messages Tokens Appearing in Selected DNS Event Messages Tokens Appearing in The following tokens and values (in addition to those required in all DNS event Selected DNS Event messages) are defined specifically for DNS. These tokens and values are defined in the Messages standard SPI definition file for DNS (for example, ZDNSDDL, from which are derived ZDNSTAL, ZDNSCOB, and so on).
Event Messages Tokens Appearing in Selected DNS Event Messages ZDNS-TKN-DBVERSION [ZSPI-TYP-UINT] contains the version of DNS under which the DNS database was last initialized. It appears in the following event message: ZDNS-EVT-DB-VERSION-ERROR (26) ZDNS-TKN-EXPVERSION [ZSPI-TYP-UINT] contains the release version of the name exporter.
Event Messages Tokens Appearing in Selected DNS Event Messages ZDNS-TKN-XOPENER [ZSPI-TYP-STRING] or ZDNS-TKN-OPENER [ZSPI-TYPCRTPID] identifies a requester in the following event messages: ZDNS-EVT-TASK-OPEN (6) ZDNS-EVT-TASK-ABORT (7) ZDNS-EVT-TASK-CLOSED (8) ZDNS-EVT-TASK-RESTART (9) ZDNS-TKN-PREG [ZSPI-TYP-UINT] contains the P-relative address within the code segment where an error was detected.
Event Messages Error Lists ZDNS-TKN-TASKNO [ZSPI-TYPE-UINT] is the internal task (thread) number in task-oriented messages. ZDNS-TKN-TAKEOVER-CAUSE [ZSPI-TYPE-ENUM] appears in ZDNS-EVT-TAKEOVER (15) messages.
Event Messages Event-Message Descriptions Event-Message Descriptions The following pages explain in detail each event message issued by the DNS subsystem. The descriptions appear in ascending order by event number; that is, in ascending order by the ZDNS-EVT- values. Each description includes a syntax box containing the tokens that DNS can place in the message buffer (in addition to the common tokens listed in Table 6-2).
Event Messages Event-Message Descriptions 1: ZDNS-EVT-STARTUP The name manager and name exporter generate this event message when they begin execution.
Event Messages Event-Message Descriptions 2: ZDNS-EVT-SHUTDOWN The name manager and name exporter generate this event message when they have performed a shutdown.
Event Messages Event-Message Descriptions 4: ZDNS-EVT-TASK-BOT The name manager and name exporter generate this event message when they create a new task (thread).
Event Messages Event-Message Descriptions 5: ZDNS-EVT-TASK-EOT The name manager and name exporter generate this event message when a task (thread) running in them has stopped.
Event Messages Event-Message Descriptions 6: ZDNS-EVT-TASK-OPEN The name manager generates this event message when it has accepted an open message from a requester. Additional Unconditional Tokens Token Name Value Assigned ZDNS-TKN-EVT-GENERATOR ZDNS-TKN-EVT-SEVERITY ZDNS-TKN-PROCESSNAME ZDNS-TKN-USERID ZDNS-TKN-TASKNO ZEMS-TKN-CONSOLE-PRINT ZEMS-TKN-EMPHASIS ZEMS-TKN-EVENTNUMBER ZEMS-TKN-GENTIME ZEMS-TKN-SUBJECT ZDNS-TKN-XOPENER ZDNS-TKN-OPENER ZDNS-VAL-GEN-DNSMGR ZDNS-VAL-SEVERITY-STATUS \system.
Event Messages Event-Message Descriptions What Happens The ZDNS-TKN-OPENER token is included in this event only in the following cases: The opener is named, the name is fewer than seven characters long (including the leading character $), and the opener is local to the generator’s system, in which case ZDNS-TKN-OPENER contains the process’s name in local format. If the process is running at a high PIN, the process ID in process-pair format (word[3] = “ ”).
Event Messages Event-Message Descriptions 7: ZDNS-EVT-TASK-ABORT The name manager generates this event message when a CPU in which a non faulttolerant requester was running has failed, or when communication has been lost with a remote requester's system.
Event Messages Event-Message Descriptions 8: ZDNS-EVT-TASK-CLOSE The name manager generates this event message when it is closed by a requester. For NonStop requesters, the message is generated only when close messages have been received from both the primary and backup requester processes.
Event Messages Event-Message Descriptions What Happens The ZDNS-TKN-OPENER token is included in this event in the same cases as those listed under “What Happens” for ZDNS-EVT-TASK-OPEN (6). The ZDNS-TKN-XOPENER token is unconditionally included in this event. Recommended Action This is an information-only event message; no user action is required.
Event Messages Event-Message Descriptions 9: ZDNS-EVT-TASK-RESTART The name manager generates this event message when it restarts a task after a failure of the primary name manager process.
Event Messages Event-Message Descriptions What Happens The ZDNS-TKN-OPENER token is included in this event in the same cases as those listed under “What Happens” for ZDNS-EVT-TASK-OPEN (6). The ZDNS-TKN-XOPENER token is unconditionally included in this event. Recommended Action This is an information-only event message; no user action is required.
Event Messages Event-Message Descriptions 10: ZDNS-EVT-CHECKPOINT-FAIL The name manager generates this event message when an I/O error occurs during a checkpoint operation.
Event Messages Event-Message Descriptions 11: ZDNS-EVT-CHECKOPEN-FAIL The name manager generates this event message when its backup is unable to CHECKOPEN a file.
Event Messages Event-Message Descriptions 12: ZDNS-EVT-CREATEBACKUP-FAIL The name manager generates this event message when a PROCESS_CREATE_ failure occurs on its attempt to create a backup process.
Event Messages Event-Message Descriptions Recommended Action The action taken is dependent upon error as follows: error= 1 Check the name manager’s code file. error= 5 Most likely cause of this failure is that the disk volume specified for the name manager’s SWAPVOL is out of space. Either purge unneeded files from the volume or stop DNS and change the manager’s SWAPVOL to a different volume (ALTER DNS-MANAGER, SWAPVOL new volume).
Event Messages Event-Message Descriptions 13: ZDNS-EVT-BACKUP-DELETED The name manager generates this event message when its backup CPU fails.
Event Messages Event-Message Descriptions 14: ZDNS-EVT-BACKUP-ABENDED The name manager generates this event message when its backup ends abnormally.
Event Messages Event-Message Descriptions 15: ZDNS-EVT-TAKEOVER The name manager generates this event message after takeover by the backup name manager process.
Event Messages Event-Message Descriptions 16: ZNS-EVT-BACKUP-CREATE The name manager generates this event message when it has successfully created a backup process.
Event Messages Event-Message Descriptions 17: ZDNS-EVT-RESYNC-FAIL The name manager generates this event message when it encounters an I/O error on a call to RESETSYNC after takeover by the backup name manager process.
Event Messages Event-Message Descriptions 18: ZDNS-EVT-SYSTEM-DOWN The name manager generates this event message on receipt of a MONITORNET system message, where the message indicates that no CPUs are accessible in a system, and the name manager has requesters running on the system.
Event Messages Event-Message Descriptions 19: ZDNS-EVT-DNS-INITIALIZED DNSCOM generates this event message when a DNS configuration has been successfully initialized.
Event Messages Event-Message Descriptions 20: ZDNS-EVT-IO-ERROR The name manager and name exporter generate this event message when they encounter an irrecoverable I/O error.
Event Messages Event-Message Descriptions What Happens If the I/O is issued as the result of a request from a network management application, DNSCOM, or a remote name exporter, the request is replied to with return code ZDNS-ERR-IOERR. The requester should retry the I/O based upon the same criteria as it would if it had received the I/O error while directly accessing a disk file. This error is fatal in the following cases: The I/O error occurred on the DNS configuration file (default is $SYSTEM.SYSTEM.
Event Messages Event-Message Descriptions 21: ZDNS-EVT-OPEN-ERROR The name manager and name exporter generate this event message when they encounter an irrecoverable error when calling FILE_OPEN_.
Event Messages Event-Message Descriptions What Happens If the FILE_OPEN_ is issued as the result of a request from a network management application, DNSCOM, or a remote name exporter, the request is replied to with return code ZDNS-ERR-IOERR. This error is fatal in the following cases: The open error occurred on the DNS configuration file (default is $SYSTEM.SYSTEM.DNSCONF) during name manager or name exporter startup. The error occurred on the DNS-QUEUE-FILE during name exporter startup.
Event Messages Event-Message Descriptions 22: ZDNS-EVT-TYPE-ERROR The name manager and name exporter generate this event message when an attempt to replicate a name’s definition fails due to one of the following: The name’s type (ALIASTYPE or COMPOSITETYPE) is not defined to the importing system. The name’s type (ALIASTYPE or COMPOSITETYPE) has incompatible definitions on the exporting and importing systems. The SSTYPE of the name’s referent or one of its components is not defined to the importing system.
Event Messages Event-Message Descriptions Conditional Tokens None Event-Message Text process: ERROR *0022* Replication of replicated name && to/from system failed DNSTYPE: dnstype TYPENAME:type name where to/from = “to” if ZDNS-TKN-IMPORT is FALSE; “from” if ZDNS-TKN-IMPORT is TRUE. What Happens When an export-type error occurs, both the name manager on the importing system and the name exporter on the exporting system issue this event message.
Event Messages Event-Message Descriptions Recommended Action Check the file or device named in the message. Recovery action is dependent on which of the problems listed above has occurred: The name’s type (ALIASTYPE or COMPOSITETYPE) is not defined to the importing system. Suppose the following event message is generated at \B: \B.
Event Messages Event-Message Descriptions 23: ZDNS-EVT-IMPORT-REJECTED The name manager generates this event message on receipt of a FILE_OPEN_ message from a remote name exporter, and ALLOWIMPORTS is configured with a value of FALSE. (See “ALLOWIMPORTS Attribute,” earlier in this section.
Event Messages Event-Message Descriptions 24: ZDNS-EVT-DATABASE-ERROR The name manager and name exporter generate this event message when they detect an inconsistency in the DNS database.
Event Messages Event-Message Descriptions Conditional Tokens None Event-Message Text process: ERROR *0024* Database Error error number && at %codeseg.P-reg Logical File: logical file name File: file name Key1: high-order key Key2: low-order key Example: \A.$ZDNS: ERROR *0024* Database Error 1 at %00.123456 Logical File: NAME File File: $DATA.DNSDB.
Event Messages Event-Message Descriptions 25: ZDNS-EVT-INTERNAL-ERROR The name manager and name exporter generate this event message when they detect an unrecoverable internal error. This event message is always sent to $0.
Event Messages Event-Message Descriptions 26: ZDNS-EVT-DB-VERSION-ERROR The name manager generates this event message when it is incompatible with the version of which the DNS database was last initialized.
Event Messages Event-Message Descriptions 27: ZDNS-EVT-EXP-VERSION-ERROR The name manager generates this event message when it finds that the name exporter is of a version incompatible with its own.
Event Messages Event-Message Descriptions 28: ZDNS-EVT-EXP-START-ERROR The name manager generates this event message when it receives a PROCESS_CREATE_ error while attempting to start the name exporter. Additional Unconditional Tokens Token Name Value Assigned ZDNS-TKN-EVT-GENERATOR ZDNS-VAL-GEN-DNSMGR ZDNS-TKN-EVT-SEVERITY ZDNS-VAL-SEVERITY-ERROR ZDNS-TKN-PROCESSNAME \system.
Event Messages Event-Message Descriptions 29: ZDNS-EVT-EXP-ABEND The name manager generates this event message when it receives an abend system message referring to the name exporter.
Event Messages Event-Message Descriptions 30: ZDNS-EVT-EXP-FAIL The name manager generates this event message when it receives a CPU DOWN system message referring to the name exporter’s processor.
Event Messages Event-Message Descriptions 31: ZDNS-EVT-TRAP The name manager and name exporter generate this event message when they suffer a hardware-detected trap or a software detected trap. This error message is always sent to $0.
Event Messages Event-Message Descriptions 32: ZDNS-EVT-ALLOCATESEG-ERROR The name manager and name exporter generate this event message when they are unable to allocate their extended data segments.
Event Messages Event-Message Descriptions 33: ZDNS-EVT-NOT-INITIALIZED The name manager generates this event message when the DNS configuration file specified as the manager’s IN file does not exist.
Event Messages Event-Message Descriptions 34: ZDNS-EVT-BEGINTRANS-ERROR The name exporter generates this event message when it receives an error indication on a call to BEGINTRANSACTION.
Event Messages Event-Message Descriptions 35: ZDNS-EVT-INITIAL-IMPORT The name manager generates this event message when it completes its first import request from another node in the network.
Event Messages Event-Message Descriptions What Happens In the following explanation of event message 35, the following terms are used: INITIALIZATION TIMESTAMP. This is a Julian timestamp denoting the time when DNS was last initialized on a system. The initialization timestamp is stored in the DNS-QUEUE-FILE by DNSCOM during DNS initialization. VERSION RECORD. This is a record in the DNS-QUEUE-FILE, containing the initialization timestamp of another system in the network. EXPORTING SYSTEM.
Event Messages Event-Message Descriptions 36: ZDNS-EVT-ILL-FILE The name manager and name exporter generate this event message when the DNS configuration file or one of the DNS database files is incorrectly defined.
Event Messages Event-Message Descriptions What Happens Each time the name manager or name exporter opens a database file, it makes the following checks on the file: File code. The DNS configuration file must have file code 849 and database files must have file code 850. Device type. The file must be a disk file. File type. The file must be key-sequenced. Key offset and length. The file must have key offset 0; the key length varies by file. Record length.
Event Messages Event-Message Descriptions 37: ZDNS-EVT-SYSTATE The name manager and name exporter generate this event message when the DNS export is enabled or disabled.
Event Messages Event-Message Descriptions 38: ZDNS-EVT-EXPORT-ERROR The exporter generates this event message when a remote name manager returns an unexpected value in ZSPI-TKN-RETCODE. The exporter then disables export to the system returning the error, which generates a ZDNS-EVT-SYSTATE (37) message with ZDNS-TKN-SEVERITY = ZDNS-VAL-SEVERITY-ERROR.
Event Messages Event-Message Descriptions What Happens In the example above, the exporter issuing this event could not add the name ATM44 at \NEWYORK (that is, could not export the name to \NEWYORK). The name manager at \NEWYORK returns error 70 (ZDNS-ERR-ILL-NUM-COMPONENTS). Recommended Action The erroneous command may be retried by re-enabling export to the system using the ENABLE EXPORT command (through either DNSCOM or SPI).
Appendix A Token Codes and Token Maps Table of Token Codes Table A-1 is a summary of all token codes specific to the DNS subsystem (that is, all token codes whose names begin with ZDNS-TKN-). For each token code, the table gives the corresponding token type. The symbolic name of the token number for a token code can be derived from the name of the token code by replacing TKN with TNM; for example, token code ZDNS-TKN-ID has the token number ZDNS-TNM-ID. Table A-1.
Token Codes and Token Maps Table of Token Codes Table A-1.
Token Codes and Token Maps Table of Token Maps Table of Token Maps Table A-2 is a summary of all token maps specific to the DNS subsystem (that is, all token maps whose names begin with ZDNS-MAP-). For each token map, the symbolic name of the DDL definition is given. The symbolic name of the token number for a token map can be derived from the name of the token map by replacing MAP with TNM; for example, token map ZDNS-MAP-ADD-PROC has the token number ZDNSTNM-ADD-PROC. Table A-2.
Token Codes and Token Maps Table of Token Maps Table A-2.
Token Codes and Token Maps Table of Token Maps Table A-2.
Appendix B DNS Event Tokens This appendix describes those DNS tokens used only in event messages.
DNS Event Tokens ZDNS-TKN-CODESEG (85) 85: ZDNS-TKN-CODESEG Token Type: ZSPI-TYP-UINT Token Number: 85 Values: Code segment number (0 through 15) Token Type: ZSPI-TYP-UINT Token Number: 86 Values: CPU number (0 through 15) Token Type: ZSPI-TYP-STRING Token Number: 87 Values: DNS name in external format Token Type: ZSPI-TYP-STRING Token Number: 88 Values: DNS name in external format 86: ZDNS-TKN-CPU 87: ZDNS-TKN-DBNAME-1 88: ZDNS-TKN-DBNAME-2 B–2 46958 Tandem Computers Incorporat
DNS Event Tokens ZDNS-TKN-FILENO (91) 89: ZDNS-TKN-DBVERSION Token Type: ZSPI-TYP-UINT Token Number: 89 Values: 0:7 = version letter 8:15 = version number 90: ZDNS-TKN-EXPVERSION Token Type: ZSPI-TYP-UINT Token Number: 90 Values: 0:7 = version letter 8:15 = version number Token Type: ZSPI-TYP-ENUM Token Number: 91 Values: ZDNS-VAL-ALPHA-FILE (1) ZDNS-VAL-BILL-FILE (2) ZDNS-VAL-COPY-FILE (3) ZDNS-VAL-DOMAIN-FILE (4) ZDNS-VAL-FAST-FILE (5) ZDNS-VAL-FAST-GROUP-FILE (6) ZDNS-VAL-GROUP-FILE (7)
DNS Event Tokens ZDNS-TKN-ID (92) 92: ZDNS-TKN-ID Token Type: ZSPI-TYP-STRING Token Number: 92 Values: Version banner Token Type: ZSPI-TYP-BOOLEAN Token Number: 93 Values: TRUE in events reported by Name Manager FALSE in events reported by Name Exporter Token Type: ZSPI-TYP-UINT Token Number: 94 Values: DNS task number 93: ZDNS-TKN-IMPORT 94: ZDNS-TKN-TASKNO 95: ZDNS-TKN-MGRVERSION B–4 Token Type: ZSPI-TYP-UINT Token Number: 95 Values: 0:7 = version letter 8:15 = version number
DNS Event Tokens ZDNS-TKN-USERID (100) 97: ZDNS-TKN-PREG Token Type: ZSPI-TYP-UINT Token Number: 97 Values: Contents of processor P register 98: ZDNS-TKN-RESTARTTYPE Token Type: ZSPI-TYP-ENUM Token Number: 98 Values: ZDNS-VAL-RESTART-COLD ZDNS-VAL-RESTART-STACK ZDNS-VAL-RESTART-FULL Token Type: ZSPI-TYP-CHAR8 Token Number: 99 Values: Guardian 90 system name Token Type: ZSPI-TYP-USERID Token Number: 100 Values: A Guardian 90 user ID (0) (1) (2) 99: ZDNS-TKN-SYSNAME 100: ZDNS-TKN-US
DNS Event Tokens ZDNS-TKN-PROCESSNAME (101) 101: ZDNS-TKN-PROCESSNAME Token Type: ZSPI-TYP-CRTPID Token Number: 101 Values: A Guardian 90 process ID, in network format Token Type: ZSPI-TYP-FNAME Token Number: 102 Values: A Guardian 90 file name, in internal format Token Type: ZSPI-TYP-ENUM Token Number: 103 Values: ZDNS-OBJ-DNS ZDNS-OBJ-ALIAS ZDNS-OBJ-ATYPE ZDNS-OBJ-COMP ZDNS-OBJ-CTYPE ZDNS-OBJ-FILE ZDNS-OBJ-PROC ZDNS-OBJ-DOM ZDNS-OBJ-GROUP ZDNS-OBJ-SS ZDNS-OBJ-SSMGR ZDNS-OBJ-SSOBJ ZDNS-OB
DNS Event Tokens ZDNS-TKN-SYSTATE (107) 104: ZDNS-TKN-TAKEOVER-CAUSE Token Type: ZSPI-TYP-ENUM Token Number: 104 Values: ZDNS-VAL-TAKEOVER-STOP ZDNS-VAL-TAKEOVER-ABEND ZDNS-VAL-TAKEOVER-CPUFAIL ZDNS-VAL-TAKEOVER-SWITCH ZDNS-VAL-TAKEOVER-UNKNOWN Token Type: ZSPI-TYP-ENUM Token Number: 105 Values: A Guardian 90 trap number (0) (1) (2) (3) (4) 105: ZDNS-TKN-TRAPNO 106: ZDNS-TKN-DB-ERROR Token Type: ZSPI-TYP-ENUM Token Number: 106 Values: ZDNS-VAL-DBERR-NOTFOUND ZDNS-VAL-DBERR-REFUNDERFLOW Z
DNS Event Tokens ZDNS-TKN-EVT-CAUSE (110) 110: ZDNS-TKN-EVT-CAUSE Token Type: ZSPI-TYP-ENUM Token Number: 110 Values: 1, if a result of an operator command 2, if due to a type mismatch 115: ZDNS-TKN-EXPORT-ERR Token Type: ZSPI-TYP-ENUM Token Number: 115 Values: ZSPI-TKN-RETCODE value returned from the remote name manager Token Type: ZSPI-TYP-ENUM Token Number: 116 Values: ZDNS-CMD-ADD (1) ZDNS-CMD-ALTER (2) ZDNS-CMD-DELETE (4) 116: ZDNS-TKN-ERR-CMD 117: ZDNS-TKN-XOPENER B–8 Token Type:
DNS Event Tokens ZDNS-TKN-STOP-TYPE (120) 118: ZDNS-TKN-PAIRED-OPEN Token Type: ZSPI-TYP-BOOLEAN Token Number: 118 Values: TRUE if the open is paired FALSE if the open is not paired 119: ZDNS-TKN-XPROCESSNAME Token Type: ZSPI-TYP-STRING Token Number: 119 Values: The process descriptor of the DNSCOM that performed the DNS initialization 120: ZDNS-TKN-STOP-TYPE Token Type: ZSPI-TYP-ENUM Token Number: 120 Values: ZDNS-VAL-STOP-NORMAL ZDNS-VAL-STOP-QUICK ZDNS-VAL-STOP-ERROR 46958 Tandem Compu
Appendix C Error Lists Defined by Guardian 90 SEGMENT_ALLOCATE_Failure The ZDNS-EVT-ALLOCATESEG-ERROR (32) event contains an error list as follows: [ ZGRD.
Error Lists Defined by Guardian 90 FILE_OPEN_ Error FILE_OPEN_Error This error list is included in the following DNS events: ZDNS-EVT-CHECKOPEN-FAIL (11) ZDNS-EVT-OPEN-ERROR (21) In either event, the list contains the following: [ ZFIL.
Appendix D DNS Error Numbers and Error Lists This appendix lists all the error numbers defined by DNS and describes the meaning of each. It also gives the format of the error lists.
DNS Error Numbers and Error Lists DNS Error Numbers DNS Error Numbers 0: ZDNS-ERR-NOERR Following are descriptions of the DNS errors by numbers. These error numbers are the values returned in the SPI status parameter on calls to SPI procedures. The requested operation was successful. The response buffer may still contain standard DNS error lists that contain warning information.
DNS Error Numbers and Error Lists ZDNS-ERR-IOERR (24) 12: ZDNS-ERR-ILL-OBJ This error number is returned in the following cases: The object type passed to SSINIT is not supported by the name manager. A simple error list is returned. A field of type ZDNS-DDL-TYPE contained an object type not supported by the name manager or inappropriate for the field. A standard DNS error list is returned, referring to the field in error.
DNS Error Numbers and Error Lists ZDNS-ERR-LAST-SUBSYSTEM (25) 25: ZDNS-ERR-LASTSUBSYSTEM A response to an attempt to delete the last subsystem for a subsystem manager. A simple error list is returned. 26: ZDNS-ERR-LASTSYSTEM A response to an ALTER request that deleted the last system in a domain. A simple error list is returned. 27:ZDNS-ERR-NOGROUPS A response to an INFO request that included a “-GROUP” variant parameter and the subject of the command was not a member of any group.
DNS Error Numbers and Error Lists ZDNS-ERR-DUP-SUBSYSTEM (50) 38: ZDNS-ERR-UNKNOWNSYSTEM 39: ZDNS-ERR-SECURITY A system specified for a domain is not currently defined to the network. The response buffer contains a standard DNS error list, referring to the system name in error. The requester does not have the proper authorization to execute the requested command. A simple error list is included in the response.
DNS Error Numbers and Error Lists ZDNS-ERR-DUP-SYSTEM (51) 51: ZDNS-ERR-DUPSYSTEM A response to a request to add a system to a domain where that system is already in the domain. The response buffer contains a standard DNS error list referring to the field containing the system name. 52: ZDNS-ERR-LOCALSYSTEM A response to a request to add the local system to a domain. The response buffer contains a standard DNS error list referring to the field containing the system name.
DNS Error Numbers and Error Lists ZDNS-ERR-ILL-FILE (71) 63: ZDNS-ERR-GROUPNEST 64: ZDNS-ERRNOMEMBERS 65: ZDNS-ERR-FIELDVERSION 66: ZDNS-ERR-SSPIERR An attempt to add a group as a member to another group has failed because the change would have resulted in groups being nested to a level greater than three, or in a group membership loop. A standard DNS error list pointing to the member group is returned. A response to a request to return information about the members of a group that has no members.
DNS Error Numbers and Error Lists ZDNS-ERR-ILL-FILE (71) 71: ZDNS-ERR-ILL-FILE The name manager determines that one of the DNS database files is invalid. This error indicates one of the following problems with the file: The file code is not 850. The file is not key-sequenced. The key offset is not 0. The key length is incorrect. The record length is incorrect.
Appendix E DNS Programming Example, COBOL85 The COBOL85 example in this section assumes the use of the COPYLIB file. The COPYLIB files is displayed before the actual COBOL85 example. ?SECTION DNS-LOOKUP-PARAM 01 DNS-LOOKUP-PARAM.
DNS Programming Example, COBOL85 DATA DIVISION. FILE SECTION. FD DNS-MANAGER-FILE EXTERNAL RECORD CONTAINS 6 TO 4196 CHARACTERS LABEL RECORDS ARE OMITTED. COPY ZDNS-DDL-MSG-BUFFER IN $FALL.ZSPIDEF.ZDNSCOB REPLACING ZDNS-DDL-MSG-BUFFER BY DNS-IO-BUF. WORKING-STORAGE SECTION. * * * Manager file status 01 DNS-MANAGER-STATUS * * * EXTERNAL PIC XX. DNS-OPEN will return the name manager's version here 77 DNS-VERSION * * * * NATIVE-2.
DNS Programming Example, COBOL85 * * * Parameter to DNS-ADD-ALIAS and DNS-ALTER-ALIAS 01 * * * DOMAIN PIC X(32) VALUE "LOCAL". PIC X(16) VALUE SPACES. Parameter to DNS-ADD-ALIAS 01 * * * ATYPE Parameter to DNS-ADD-ALIAS, DNS-ALTER-ALIAS, and DNS-DELETE-DNSNAME 01 * * * ALIAS PIC X(32). Parameter to DNS-LOOKUP COPY DNS-LOOKUP-PARAM. * * * Parameter to DNS-ADD-ALIAS 01 * * * * MANAGER PIC X(32). Indicates if the user wishes to delete the alias added in the program 01 DELETE-FLAG PIC X.
DNS Programming Example, COBOL85 MOVE ALL "N" TO DNS-LOOKUP-PARAM. SET DNS-TYPE-SELECTED(ZDNS-OBJ-SSOBJ) TO TRUE. SET DNS-TYPE-SELECTED(ZDNS-OBJ-SSMGR) TO TRUE. * * * Name that we're going to look up DISPLAY "Enter the name you wish to look up". ACCEPT ENTERED-NAME. * * * Look up the name CALL DNS-LOOKUP USING DNS-RESULT SOME-NAME SOME-DEFNODE DNS-LOOKUP-PARAM RESPONSE AMBIGUOUS-FLAG. IF NOT DNS-NO-ERROR DISPLAY "Lookup of " SOME-NAME " Failed" PERFORM DISPLAY-ERROR.
DNS Programming Example, COBOL85 IF NOT DNS-NO-ERROR DISPLAY "Add of " ALIAS " Failed" PERFORM DISPLAY-ERROR. * * * New domain for the alias we just added DISPLAY "Enter the New DOMAIN for your ALIAS". ACCEPT DOMAIN. * * * Change the domain CALL DNS-ALTER-ALIAS USING DNS-RESULT ALIAS SOME-DEFNODE DOMAIN NULL-REFTYPE SOME-NAME MANAGER. IF NOT DNS-NO-ERROR PERFORM DISPLAY-ERROR ELSE DISPLAY "DOMAIN of " ALIAS " Changed to " DOMAIN. DISPLAY "Do You Wish to Delete Your Alias". ACCEPT DELETE-FLAG.
DNS Programming Example, COBOL85 DISPLAY-ERROR. DISPLAY DNS-ERROR-TYPE-TEXT(DNS-ERROR-TYPE) " Error " DNS-ERROR-NUMBER. STOP RUN. END PROGRAM dns-main. IDENTIFICATION DIVISION. PROGRAM-ID. DNS-SEND. * * * * * * * * * * * * * * * * * * * This program sends an SPI-formatted buffer to the DNS name manager as follows: CALL DNS-SEND USING where: indicates the outcome of the program.
DNS Programming Example, COBOL85 SELECT DNS-MANAGER-FILE ASSIGN TO $ZDNS.#ZSPI FILE STATUS IS DNS-MANAGER-STATUS. DATA DIVISION. FILE SECTION. FD DNS-MANAGER-FILE EXTERNAL RECORD CONTAINS 6 TO 4196 CHARACTERS LABEL RECORDS ARE OMITTED. COPY ZDNS-DDL-MSG-BUFFER IN $FALL.ZSPIDEF.ZDNSCOB REPLACING ZDNS-DDL-MSG-BUFFER BY DNS-IO-BUF. WORKING-STORAGE SECTION. * * * Manager file status 01 DNS-MANAGER-STATUS EXTERNAL PIC XX. 77 SPI-STATUS NATIVE-2. 77 RETCODE NATIVE-2. COPY ZDNS-DDL-MSG-BUFFER IN $FALL.ZSPIDEF.
DNS Programming Example, COBOL85 USE AFTER STANDARD ERROR PROCEDURE ON DNS-MANAGER-FILE. HANDLE-ERROR. SET DNS-ET-IO TO TRUE. MOVE GUARDIAN-ERR TO DNS-ERROR-NUMBER. END DECLARATIVES. MAINLINE. * * * Initialize result SET * * * DNS-NO-ERROR TO TRUE. Move the caller's request buffer to our own buffer MOVE DNS-REQUEST-BUF TO DNS-PROMPT-BUF. * * * Copy ZSPI-TKN-CONTEXT, if requested IF MOVE-CONTEXT PERFORM 100-MOVE-THE-CONTEXT.
DNS Programming Example, COBOL85 ENTER TAL "SSMOVE" USING ZSPI-TKN-CONTEXT DNS-RESPONSE-BUF 1 DNS-PROMPT-BUF 1 GIVING SPI-STATUS. IF SPI-STATUS NOT = 0 PERFORM 900-SET-STATUS-ERROR. 200-SEND-TO-NAME-MANAGER. * * * * Send the contents of DNS-PROMPT-BUF to the name manager; return the response in caller's response buffer READ DNS-MANAGER-FILE WITH PROMPT DNS-PROMPT-BUF. IF DNS-NO-ERROR MOVE DNS-IO-BUF TO DNS-RESPONSE-BUF. 300-RESET-BUFFER-POSITION.
DNS Programming Example, COBOL85 ENTER TAL "SSPUT" USING DNS-RESPONSE-BUF ZSPI-TKN-CLEARERR GIVING SPI-STATUS. IF SPI-STATUS NOT = 0 PERFORM 900-SET-STATUS-ERROR. 900-SET-STATUS-ERROR. * * * * Indicate to caller that we've had an error from one of the SPI procedures SET DNS-ET-SPI TO TRUE. MOVE SPI-STATUS TO DNS-ERROR-NUMBER. END PROGRAM DNS-SEND. IDENTIFICATION DIVISION. * * * * * Opens the DNS name manager and performs a GETVERSION command CALL DNS-OPEN USING PROGRAM-ID.
DNS Programming Example, COBOL85 COPY ZDNS-DDL-MSG-BUFFER IN $FALL.ZSPIDEF.ZDNSCOB REPLACING ZDNS-DDL-MSG-BUFFER BY DNS-IO-BUF. WORKING-STORAGE SECTION. * * * Manager file status 01 DNS-MANAGER-STATUS * * * EXTERNAL PIC XX. Status returned by SPI procedures 77 SPI-STATUS NATIVE-2. RETCODE NATIVE-2. * * * 77 * * * Parameter to DNS-SEND 77 DNS-MOVE-CONTEXT-FLAG PIC X VALUE "N". 88 DONT-MOVE-CONTEXT VALUE IS "N". 88 MOVE-CONTEXT VALUE IS "Y". COPY ZDNS-DDL-MSG-BUFFER IN $FALL.ZSPIDEF.
DNS Programming Example, COBOL85 SET * * * DNS-NO-ERROR TO TRUE. Attempt to open the name manager OPEN I-O DNS-MANAGER-FILE. IF DNS-NO-ERROR * * * Build GETVERSION request PERFORM 100-INITIALIZE-REQUEST ELSE SET DNS-ET-OPEN TO TRUE. IF DNS-NO-ERROR * * * Send GETVERSION request to the name manager CALL DNS-SEND USING DNS-RESULT DNS-REQUEST-BUF DNS-RESPONSE-BUF DNS-MOVE-CONTEXT-FLAG.
DNS Programming Example, COBOL85 ENTER TAL "SSINIT" USING DNS-REQUEST-BUF ZDNS-VAL-BUFLEN ZDNS-VAL-SSID ZSPI-VAL-CMDHDR ZSPI-CMD-GETVERSION ZDNS-OBJ-DNS OMITTED OMITTED -1 GIVING SPI-STATUS. IF SPI-STATUS NOT = 0 PERFORM 900-SET-STATUS-ERROR. 200-GET-RETCODE. * * * Retrieve ZSPI-TKN-RETCODE from the response buffer ENTER TAL "SSGET" USING DNS-RESPONSE-BUF ZSPI-TKN-RETCODE RETCODE GIVING SPI-STATUS. IF SPI-STATUS NOT = 0 PERFORM 900-SET-STATUS-ERROR. 300-CHECK-RETCODE.
DNS Programming Example, COBOL85 ENTER TAL "SSGET" USING DNS-RESPONSE-BUF ZSPI-TKN-SERVER-VERSION DNS-VERSION GIVING SPI-STATUS. IF SPI-STATUS NOT = 0 PERFORM 900-SET-STATUS-ERROR. 900-SET-STATUS-ERROR. * * * Called when we get an error from one of the SPI procedures PERFORM 910-DO-CLOSE. SET DNS-ET-SPI TO TRUE. MOVE SPI-STATUS TO DNS-ERROR-NUMBER. 910-DO-CLOSE. * * * Close the name manager CLOSE DNS-MANAGER-FILE. END PROGRAM DNS-OPEN. IDENTIFICATION DIVISION.
DNS Programming Example, COBOL85 PROGRAM-ID. DNS-LOOKUP-ALIAS. DATE-WRITTEN. May 11, 1987. DATE-COMPILED. ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. T/16. OBJECT-COMPUTER. T/16. DATA DIVISION. WORKING-STORAGE SECTION. * * * For setting Boolean token/field values 01 * * * DNS-TRUE-FALSE. 02 DNS-TRUE 02 DNS-FALSE PIC X(2) VALUE IS HIGH-VALUES. PIC X(2) VALUE IS LOW-VALUES. Status returned by SPI procedures 77 SPI-STATUS * * * NATIVE-2.
DNS Programming Example, COBOL85 COPY ZDNS-DDL-INFO-ALIAS-DR IN $FALL.ZSPIDEF.ZDNSCOB REPLACING ZDNS-DDL-INFO-ALIAS-DR BY ALIAS-DR. 01 AMBIGUOUS-FLAG PIC X. 88 UNAMBIGUOUS VALUE "N". 88 AMBIGUOUS VALUE "Y". PROCEDURE DIVISION USING DNS-RESULT ALIAS DEFNODE ALIAS-BR ALIAS-DR AMBIGUOUS-FLAG. MAINLINE. PERFORM 100-INITIALIZE. IF DNS-NO-ERROR PERFORM 200-LOOKUP. EXIT PROGRAM. 100-INITIALIZE. * * * Clear result SET DNS-NO-ERROR * * * TO TRUE. Assume alias is unique for now SET UNAMBIGUOUS * * * TO TRUE.
DNS Programming Example, COBOL85 * * * Build INFO ALIAS request PERFORM 120-INITIALIZE-REQUEST-BUF. 110-BUILD-INFO-PARAM. * * * Build INFO ALIAS parameter MOVE ALIAS TO ZNAME OF PARAM. MOVE DEFNODE TO ZDEFNODE OF PARAM. MOVE DNS-TRUE TO ZDETAIL OF PARAM. 120-INITIALIZE-REQUEST-BUF. * * * Initialize INFO ALIAS request ENTER TAL "SSINIT" USING DNS-REQUEST-BUF ZDNS-VAL-BUFLEN ZDNS-VAL-SSID ZSPI-VAL-CMDHDR ZDNS-CMD-INFO ZDNS-OBJ-ALIAS OMITTED OMITTED -1 GIVING SPI-STATUS.
DNS Programming Example, COBOL85 ENTER TAL "SSPUT" USING DNS-REQUEST-BUF ZDNS-MAP-INFO-DNSOBJ-P PARAM GIVING SPI-STATUS. IF SPI-STATUS NOT = 0 PERFORM 900-SET-STATUS-ERROR. 200-LOOKUP. * * * Send the INFO ALIAS request to the name manager CALL DNS-SEND USING DNS-RESULT DNS-REQUEST-BUF DNS-RESPONSE-BUF DNS-MOVE-CONTEXT-FLAG. IF DNS-NO-ERROR * * * Examine response PERFORM 210-LOOKUP-2 IF DNS-NO-ERROR * * * See if the name manager has more responses for us PERFORM 240-CHECK-FOR-CONTEXT. 210-LOOKUP-2.
DNS Programming Example, COBOL85 PERFORM 220-LOOKUP-3 ELSE PERFORM 900-SET-STATUS-ERROR. 220-LOOKUP-3. IF RETCODE = ZDNS-ERR-NOERR * * * Name found; get INFO ALIAS response tokens PERFORM 230-LOOKUP-4 ELSE SET DNS-ET-DNS TO TRUE MOVE RETCODE TO DNS-ERROR-NUMBER. 230-LOOKUP-4. * * * Get INFO ALIAS basic response ENTER TAL "SSGET" USING DNS-RESPONSE-BUF ZDNS-MAP-INFO-ALIAS-BR ALIAS-BR 1 GIVING SPI-STATUS.
DNS Programming Example, COBOL85 ENTER TAL "SSGET" USING DNS-RESPONSE-BUF ZSPI-TKN-CONTEXT OMITTED 1 GIVING SPI-STATUS. IF SPI-STATUS = 0 * * * Yes; name is not unique SET AMBIGUOUS TO TRUE ELSE IF SPI-STATUS NOT = ZSPI-ERR-MISTKN PERFORM 900-SET-STATUS-ERROR. 900-SET-STATUS-ERROR. SET DNS-ET-SPI TO TRUE MOVE SPI-STATUS TO DNS-ERROR-NUMBER. END PROGRAM DNS-LOOKUP-ALIAS. IDENTIFICATION DIVISION. * * * Look up a name using the INFO NAME command PROGRAM-ID. DNS-LOOKUP. DATE-WRITTEN. May 11, 1987.
DNS Programming Example, COBOL85 * * * Value of ZSPI-TKN-RETCODE returned by name manager 77 * * * RETCODE NATIVE-2. Value for ZSPI^TKN^MAXRESP. 77 * * * * MAXRESP NATIVE-2 VALUE -1. Keeps track of whether we've found a name matching the one the caller asked us for 01 * * * HAVE-RESPONSE-FLAG 88 DONT-HAVE-RESPONSE 88 HAVE-RESPONSE PIC X. VALUE "N". VALUE "Y".
DNS Programming Example, COBOL85 * * * INFO ALIAS basic response COPY ZDNS-DDL-INFO-ALIAS-BR IN $FALL.ZSPIDEF.ZDNSCOB REPLACING ZDNS-DDL-INFO-ALIAS-BR BY ALIAS-BR. * * * INFO ALIAS detailed response COPY ZDNS-DDL-INFO-ALIAS-DR IN $FALL.ZSPIDEF.ZDNSCOB REPLACING ZDNS-DDL-INFO-ALIAS-DR BY ALIAS-DR. COPY ZSPI-DDL-TOKENCODE IN $FALL.ZSPIDEF.ZSPICOB. COPY CONSTANTS IN $FALL.ZSPIDEF.ZSPICOB. COPY CONSTANTS IN $FALL.ZSPIDEF.ZDNSCOB. LINKAGE SECTION. COPY DNS-RESULT.
DNS Programming Example, COBOL85 PERFORM 100-INITIALIZE. * * * Perform lookup loop until we're done or we get an error PERFORM 200-LOOKUP-LOOP UNTIL DONE OR NOT DNS-NO-ERROR. * * * Return NOTFOUND error if we didn't find a match IF DNS-NO-ERROR AND DONT-HAVE-RESPONSE SET DNS-ET-DNS TO TRUE MOVE ZDNS-ERR-NOTFOUND TO DNS-ERROR-NUMBER. EXIT PROGRAM. 100-INITIALIZE. * * * Clear result and ambiguous name flag SET SET * * * TO TRUE. TO TRUE.
DNS Programming Example, COBOL85 * * * Build INFO NAME request buffer PERFORM 120-INITIALIZE-REQUEST-BUF. 110-BUILD-INFO-PARAM. * * * Move our parameters to the INFO NAME parameter MOVE DNS-NAME TO ZNAME OF PARAM. MOVE DNS-DEFNODE TO ZDEFNODE OF PARAM. * * * If no definition node is specified, assume any IF ZDEFNODE OF PARAM = SPACES MOVE "*" TO ZDEFNODE OF PARAM. 120-INITIALIZE-REQUEST-BUF.
DNS Programming Example, COBOL85 ENTER TAL "SSPUT" USING DNS-REQUEST-BUF ZDNS-MAP-INFO-NAME-P PARAM GIVING SPI-STATUS. IF SPI-STATUS = 0 * * * Store ZSPI^TKN^MAXRESP in the request buffer ENTER TAL "SSPUT" USING DNS-REQUEST-BUF ZSPI-TKN-MAXRESP MAXRESP GIVING SPI-STATUS. IF SPI-STATUS NOT = 0 PERFORM 900-SET-STATUS-ERROR. 200-LOOKUP-LOOP. * * * Send INFO NAME request to the name manager CALL DNS-SEND USING DNS-RESULT DNS-REQUEST-BUF DNS-RESPONSE-BUF DNS-MOVE-CONTEXT-FLAG.
DNS Programming Example, COBOL85 * * * See if there's another data list in the response ENTER TAL "SSGET" USING DNS-RESPONSE-BUF ZSPI-TKN-DATALIST GIVING SPI-STATUS. IF SPI-STATUS = 0 * * * Look at the data list PERFORM 220-EXAMINE-DATALIST-1 * * * Exit this data list PERFORM 280-EXIT-DATALIST ELSE IF SPI-STATUS NOT = ZSPI-ERR-MISTKN PERFORM 900-SET-STATUS-ERROR. 220-EXAMINE-DATALIST-1.
DNS Programming Example, COBOL85 PERFORM 240-EXAMINE-DATALIST-3 ELSE IF RETCODE = ZDNS-ERR-NOMORE * * * Name manager has no more responses; we're finished SET DONE TO TRUE ELSE SET DNS-ET-DNS MOVE RETCODE TO TRUE TO DNS-ERROR-NUMBER. 240-EXAMINE-DATALIST-3. * * * Retrieve INFO NAME basic response ENTER TAL "SSGET" USING DNS-RESPONSE-BUF ZDNS-MAP-INFO-NAME-BR CANDIDATE 1 GIVING SPI-STATUS.
DNS Programming Example, COBOL85 250-CHECK-CANDIDATE. IF HAVE-RESPONSE IF RESPONSE NOT = CANDIDATE * * * * We have a response already and it's different from the current one; name is not unique SET DONE TO TRUE SET AMBIGUOUS TO TRUE ELSE NEXT SENTENCE ELSE * * * First response; save it in RESPONSE and remember that we did so MOVE CANDIDATE TO RESPONSE SET HAVE-RESPONSE TO TRUE. 260-CHECK-ALIAS.
DNS Programming Example, COBOL85 ENTER TAL "SSNULL" USING ZDNS-MAP-INFO-NAME-BR CANDIDATE GIVING SPI-STATUS. IF SPI-STATUS = 0 MOVE DNS-FALSE TO MOVE ZREFTYPE OF ALIAS-BR TO MOVE ZSSOBJ OF ALIAS-DR TO MOVE ZSSMGR OF ALIAS-DR TO MOVE ZSSTYPE OF ALIAS-DR TO MOVE ZSS OF ALIAS-DR TO MOVE ZOWNER OF ALIAS-DR TO MOVE ZSSNUM OF ALIAS-DR TO MOVE ZTYPENUM OF ALIAS-BR TO PERFORM 250-CHECK-CANDIDATE ELSE PERFORM 900-SET-STATUS-ERROR.
DNS Programming Example, COBOL85 SET MOVE-CONTEXT TO TRUE ELSE IF SPI-STATUS = ZSPI-ERR-MISTKN * * * No context token; we're finished SET DONE TO TRUE ELSE PERFORM 900-SET-STATUS-ERROR. 900-SET-STATUS-ERROR. * * * * Called when we get an unexpected status from one of the SPI procedures SET DNS-ET-SPI TO TRUE. MOVE SPI-STATUS TO DNS-ERROR-NUMBER. END PROGRAM DNS-LOOKUP. IDENTIFICATION DIVISION. PROGRAM-ID. DNS-ADD-ALIAS.
DNS Programming Example, COBOL85 * * * * * * * * The type of the referent: must be ZDNS-OBJ-SSOBJ or ZDNS-OBJ-SSMGR. If = ZDNS-OBJ-SSOBJ, the subsystemobject name of the referent. If = ZDNS-OBJ-SSOBJ, the object's manager (may contain spaces). Otherwise, the name of the referent. DATE-WRITTEN. May 11, 1987. DATE-COMPILED. ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. T/16. OBJECT-COMPUTER. T/16. DATA DIVISION. WORKING-STORAGE SECTION.
DNS Programming Example, COBOL85 COPY ZSPI-DDL-TOKENCODE COPY CONSTANTS COPY CONSTANTS LINKAGE SECTION. COPY DNS-RESULT. * * * IN $FALL.ZSPIDEF.ZSPICOB. IN $FALL.ZSPIDEF.ZSPICOB. IN $FALL.ZSPIDEF.ZDNSCOB. Parameters; see above 01 ALIAS 01 ALIASTYPE 01 DOMAIN 01 REFTYPE 01 SSOBJECT 01 SSMANAGER PROCEDURE DIVISION USING DNS-RESULT ALIAS ALIASTYPE DOMAIN REFTYPE SSOBJECT SSMANAGER. MAINLINE. * * * PIC X(32). PIC X(16). PIC X(32). NATIVE-2. PIC X(162). PIC X(32). Do initialization PERFORM 100-INITIALIZE.
DNS Programming Example, COBOL85 PERFORM 400-ENDTRANSACTION ELSE * * * Error; abort the transaction PERFORM 500-ABORTTRANSACTION. EXIT PROGRAM. 100-INITIALIZE. * * * Clear result SET DNS-NO-ERROR TO TRUE. * * * Initialize ADD ALIAS parameter ENTER TAL "SSNULL" USING ZDNS-MAP-ADD-ALIAS PARAM GIVING SPI-STATUS. IF SPI-STATUS = 0 * * * Build ADD ALIAS parameter PERFORM 110-BUILD-ADD-PARAM ELSE PERFORM 900-SET-STATUS-ERROR.
DNS Programming Example, COBOL85 IF DOMAIN = "LOCAL" MOVE SPACES TO ZDOMAIN ELSE IF DOMAIN NOT = SPACES MOVE DOMAIN TO ZDOMAIN * * * OF PARAM OF PARAM. Type of referent MOVE REFTYPE * * * TO ZREFTYPE OF PARAM. Only move the SSOBJECT name if referent is an SS object IF REFTYPE = ZDNS-OBJ-SSOBJ MOVE SSOBJECT TO ZSSOBJ * * * OF PARAM. Always move SSMANAGER name MOVE SSMANAGER TO ZSSMGR OF PARAM. 120-INITIALIZE-REQUEST-BUF.
DNS Programming Example, COBOL85 ENTER TAL "SSPUT" USING DNS-REQUEST-BUF ZDNS-MAP-ADD-ALIAS PARAM GIVING SPI-STATUS. IF SPI-STATUS NOT = 0 PERFORM 900-SET-STATUS-ERROR. 200-BEGINTRANSACTION. * * * Try to start a TMF transaction ENTER TAL "BEGINTRANSACTION" GIVING SPI-STATUS. IF SPI-STATUS NOT = 0 SET DNS-ET-TMF TO TRUE MOVE SPI-STATUS TO DNS-ERROR-NUMBER. 300-SEND-TO-MANAGER. * * * Send the request to the name manager CALL DNS-SEND USING DNS-RESULT DNS-REQUEST-BUF DNS-RESPONSE-BUF DNS-MOVE-CONTEXT-FLAG.
DNS Programming Example, COBOL85 * * * Check RETCODE IF RETCODE NOT = ZDNS-ERR-NOERR SET DNS-ET-DNS TO TRUE MOVE RETCODE TO DNS-ERROR-NUMBER ELSE NEXT SENTENCE ELSE PERFORM 900-SET-STATUS-ERROR. 400-ENDTRANSACTION. * * * Attempt to commit the TMF transaction ENTER TAL "ENDTRANSACTION" GIVING SPI-STATUS. IF SPI-STATUS NOT = 0 SET DNS-ET-TMF TO TRUE MOVE SPI-STATUS TO DNS-ERROR-NUMBER. 500-ABORTTRANSACTION. * * * Abort the TMF transaction ENTER TAL "ABORTTRANSACTION". 900-SET-STATUS-ERROR.
DNS Programming Example, COBOL85 * * * * * * * * * * * * * * * * * * * * * where: indicates the outcome of the program. is the alias to be altered. is the alias's definition node; if passed. as spaces, the name manager's system is assumed. determines the new domain of the ALIAS: spaces means don't change the domain. local means that the alias should not be replicated. Otherwise, the name of an existing DNSDOMAIN must be supplied.
DNS Programming Example, COBOL85 77 DNS-MOVE-CONTEXT-FLAG EXTENDED-STORAGE SECTION. * * * PIC X VALUE "N". Request buffer COPY ZDNS-DDL-MSG-BUFFER IN $FALL.ZSPIDEF.ZDNSCOB REPLACING ZDNS-DDL-MSG-BUFFER BY DNS-REQUEST-BUF. * * * Response buffer COPY ZDNS-DDL-MSG-BUFFER IN $FALL.ZSPIDEF.ZDNSCOB REPLACING ZDNS-DDL-MSG-BUFFER BY DNS-RESPONSE-BUF. * * * ALTER ALIAS parameter COPY ZDNS-DDL-ALTER-ALIAS IN $FALL.ZSPIDEF.ZDNSCOB REPLACING ZDNS-DDL-ALTER-ALIAS BY PARAM. COPY ZSPI-DDL-TOKENCODE IN $FALL.
DNS Programming Example, COBOL85 PERFORM 100-INITIALIZE. IF DNS-NO-ERROR * * * Start a TMF transaction PERFORM 200-BEGINTRANSACTION. IF DNS-NO-ERROR * * * Send the request to the name manager PERFORM 300-SEND-TO-MANAGER. IF DNS-NO-ERROR * * * Try to commit the transaction PERFORM 400-ENDTRANSACTION ELSE * * * Error; abort the transaction PERFORM 500-ABORTTRANSACTION. EXIT PROGRAM. 100-INITIALIZE. * * * Clear result SET DNS-NO-ERROR TO TRUE.
DNS Programming Example, COBOL85 PERFORM 110-BUILD-ALTER-PARAM ELSE PERFORM 900-SET-STATUS-ERROR. IF DNS-NO-ERROR * * * Finish building the ALTER ALIAS request PERFORM 130-INITIALIZE-REQUEST-BUF. 110-BUILD-ALTER-PARAM. * * * Move alias and its definition node MOVE ALIAS MOVE DEFNODE * * * TO ZNAME OF PARAM. TO ZDEFNODE OF PARAM. Decode the DOMAIN parameter IF DOMAIN = "LOCAL" MOVE SPACES TO ZDOMAIN ELSE IF DOMAIN NOT = SPACES MOVE DOMAIN TO ZDOMAIN IF REFTYPE NOT = -1 * * * OF PARAM OF PARAM.
DNS Programming Example, COBOL85 ENTER TAL "SSINIT" USING DNS-REQUEST-BUF ZDNS-VAL-BUFLEN ZDNS-VAL-SSID ZSPI-VAL-CMDHDR ZDNS-CMD-ALTER ZDNS-OBJ-ALIAS OMITTED OMITTED -1 GIVING SPI-STATUS. IF SPI-STATUS = 0 * * * Finish building the request PERFORM 130-BUILD-REQUEST-BUF ELSE PERFORM 900-SET-STATUS-ERROR. 130-BUILD-REQUEST-BUF. * * * Store the ALTER ALIAS parameter in the request buffer ENTER TAL "SSPUT" USING DNS-REQUEST-BUF ZDNS-MAP-ALTER-ALIAS PARAM GIVING SPI-STATUS.
DNS Programming Example, COBOL85 CALL DNS-SEND USING DNS-RESULT DNS-REQUEST-BUF DNS-RESPONSE-BUF DNS-MOVE-CONTEXT-FLAG. IF DNS-NO-ERROR PERFORM 310-CHECK-RESULT. 310-CHECK-RESULT. * * * Extract ZSPI-TKN-RETCODE ENTER TAL "SSGET" USING DNS-RESPONSE-BUF ZSPI-TKN-RETCODE RETCODE GIVING SPI-STATUS. * * * Check RETCODE IF SPI-STATUS = 0 IF RETCODE NOT = ZDNS-ERR-NOERR SET DNS-ET-DNS TO TRUE MOVE RETCODE TO DNS-ERROR-NUMBER ELSE NEXT SENTENCE ELSE PERFORM 900-SET-STATUS-ERROR. 400-ENDTRANSACTION.
DNS Programming Example, COBOL85 * * * An error occured in one of the SPI procedures SET DNS-ET-SPI TO TRUE. MOVE SPI-STATUS TO DNS-ERROR-NUMBER. END PROGRAM dns-alter-alias. IDENTIFICATION DIVISION. PROGRAM-ID. DNS-DELETE-DNSNAME. * * * * * * * * * * * * * * * This program deletes an alias, composite, DNS domain or group: CALL DNS-DELETE-DNSNAME USING where: indicates the outcome of the program.
DNS Programming Example, COBOL85 * * * Request buffer COPY ZDNS-DDL-MSG-BUFFER IN $FALL.ZSPIDEF.ZDNSCOB REPLACING ZDNS-DDL-MSG-BUFFER BY DNS-REQUEST-BUF. * * * Response buffer COPY ZDNS-DDL-MSG-BUFFER IN $FALL.ZSPIDEF.ZDNSCOB REPLACING ZDNS-DDL-MSG-BUFFER BY DNS-RESPONSE-BUF. * * * DELETE DNSOBJ parameter COPY ZDNS-DDL-DEL-DNSOBJ IN $FALL.ZSPIDEF.ZDNSCOB REPLACING ZDNS-DDL-DEL-DNSOBJ BY PARAM. COPY ZSPI-DDL-TOKENCODE IN $FALL.ZSPIDEF.ZSPICOB. COPY CONSTANTS IN $FALL.ZSPIDEF.ZSPICOB.
DNS Programming Example, COBOL85 PERFORM 300-SEND-TO-MANAGER. IF DNS-NO-ERROR * * * Try to commit the transaction PERFORM 400-ENDTRANSACTION ELSE * * * Error; abort the transaction PERFORM 500-ABORTTRANSACTION. EXIT PROGRAM. 100-INITIALIZE. * * * Clear result SET DNS-NO-ERROR TO TRUE. * * * Initialize DELETE DNSOBJ parameter ENTER TAL "SSNULL" USING ZDNS-MAP-DEL-DNSOBJ PARAM GIVING SPI-STATUS.
DNS Programming Example, COBOL85 MOVE DNSNAME TO ZNAME OF PARAM. 120-INITIALIZE-REQUEST-BUF. * * * Initialize the requested type of DELETE command ENTER TAL "SSINIT" USING DNS-REQUEST-BUF ZDNS-VAL-BUFLEN ZDNS-VAL-SSID ZSPI-VAL-CMDHDR ZDNS-CMD-DELETE DNSTYPE OMITTED OMITTED -1 GIVING SPI-STATUS. IF SPI-STATUS = 0 * * * Finish building request buffer PERFORM 130-BUILD-REQUEST-BUF ELSE PERFORM 900-SET-STATUS-ERROR. 130-BUILD-REQUEST-BUF.
DNS Programming Example, COBOL85 ENTER TAL "BEGINTRANSACTION" GIVING SPI-STATUS. IF SPI-STATUS NOT = 0 SET DNS-ET-TMF TO TRUE MOVE SPI-STATUS TO DNS-ERROR-NUMBER. 300-SEND-TO-MANAGER. * * * Send the request to the name manager CALL DNS-SEND USING DNS-RESULT DNS-REQUEST-BUF DNS-RESPONSE-BUF DNS-MOVE-CONTEXT-FLAG. IF DNS-NO-ERROR * * * No send error; check RETCODE PERFORM 310-CHECK-RESULT. 310-CHECK-RESULT.
DNS Programming Example, COBOL85 ENTER TAL "ENDTRANSACTION" GIVING SPI-STATUS. IF SPI-STATUS NOT = 0 SET DNS-ET-TMF TO TRUE MOVE SPI-STATUS TO DNS-ERROR-NUMBER. 500-ABORTTRANSACTION. * * * Abort our transaction ENTER TAL "ABORTTRANSACTION". 900-SET-STATUS-ERROR. * * * Some sort of SPI error SET DNS-ET-SPI TO TRUE. MOVE SPI-STATUS TO DNS-ERROR-NUMBER. END PROGRAM dns-delete-dnsname.
Appendix F DNS Programming Example, TACL ?SECTION dns^spierr ROUTINE == == Called when we've received an unexpected error from one of the == SPI procedures: == == dns^spierr == #FRAME #PUSH l^proc^name #PUSH l^errnum SINK [#ARGUMENT /VALUE l^proc^name/ VARIABLE/SYNTAX/] SINK [#ARGUMENT /VALUE l^errnum/ NUMBER] #OUTPUT *** #[l^proc^name] Error [l^errnum] #RAISE dns_exception #UNFRAME ?SECTION dns^check^status MACRO == == Ensures that L^STATUS = 0; if not, invoke DNS^SPIERR.
DNS Programming Example, TACL ?SECTION dns^ssputv ROUTINE == == Jacket routine for #SSPUTV: == == dns^ssputv == #FRAME #PUSH l^buffer^symbol #PUSH l^token^symbol #PUSH l^value^symbol #PUSH l^status SINK [#ARGUMENT/VALUE l^buffer^symbol/ VARIABLE] SINK [#ARGUMENT/VALUE l^token^symbol/ VARIABLE] SINK [#ARGUMENT/VALUE l^value^symbol/ VARIABLE] #SET l^status [#SSPUTV [l^buffer^symbol] [l^token^symbol] [l^value^symbol]] [#IF [l^status] |THEN| [dns^spierr SSPUTV
DNS Programming Example, TACL ?SECTION dns^ssgetv ROUTINE == == Jacket routine for #SSGETV: == == dns^ssgetv == == Always gets the first occurrence of the structured token.
DNS Programming Example, TACL #SET l^status [#SSINIT [l^buf^symbol] [zdns^val^ssid] [l^cmd] / OBJECT [l^obj]/] [#IF [l^status] |THEN| [dns^spierr SSINIT [l^status]] ] #UNFRAME ?SECTION dns^3^to^end MACRO == == Returns its third through last parameters. == %3 TO *% ?SECTION dns^ssget ROUTINE == == Jacket procedure for #SSGET: == == dns^ssget [ ] == == Expands to error number.
DNS Programming Example, TACL #FRAME #PUSH l^error SINK [#ARGUMENT /VALUE l^error/ NUMBER] SINK [#ARGUMENT END] #OUTPUT *** DNS Name Manager Responded with Error [l^error] #RAISE dns_exception #UNFRAME ?SECTION dns^ambiguous^name ROUTINE == == Invoked when name is not unique: == == dns^ambiguous^name == #FRAME #PUSH l^ambiguous^name SINK [#ARGUMENT /VALUE l^ambiguous^name/ VARIABLE/SYNTAX/] #OUTPUT *** [l^ambiguous^name] is Not a Unique Name #RAISE dns_exception #UNFRAME ?SECTION dns^begint
DNS Programming Example, TACL #FRAME #PUSH l^err #SET l^err [#ENDTRANSACTION] [#IF l^err |THEN| #OUTPUT *** ENDTRANSACTION Error: [l^err] #RAISE dns_exception |ELSE| #SET dns^transmode 0 ] #UNFRAME ?SECTION dns^aborttransaction ROUTINE == == Jacket routine for #ABORTTRANSACTION == #FRAME #PUSH l^err #SET l^err [#ABORTTRANSACTION] [#IF l^err |THEN| #OUTPUT *** ABORTTRANSACTION Error: [l^err] #RAISE dns_exception |ELSE| #SET dns^transmode 0 ] #UNFRAME ?SECTION dns^add^alias ROUTINE == == Execute a DNS ADD AL
DNS Programming Example, TACL == == == == == == == == == == == == == #FRAME #PUSH l^alias #PUSH l^aliastype #PUSH l^domain #PUSH l^reftype #PUSH l^ssobj #PUSH l^ssmgr if omitted, the domain of the alias is allowed to default if local, the alias will not be replicated; otherwise, must be the name of a DNS domain. must be ZDNS^OBJ^SSOBJ (12) or ZDNS^OBJ^SSMGR (11) DNS type of the alias's referent.
DNS Programming Example, TACL |2| #SET l^aliastype ] == == Get , if any. == [#CASE [#ARGUMENT/VALUE l^domain/ VARIABLE/SYNTAX, UNQUALIFIED/ COMMA] |1| [#IF [#VARIABLEINFO/EXISTENCE/ [l^domain]] |THEN| #SET l^domain [#VARIABLEINFO/VARIABLE/ [l^domain]] ] SINK [#ARGUMENT COMMA] |2| #SET l^domain ] == == Get . == SINK [#ARGUMENT/VALUE l^reftype/ NUMBER] == == Eat comma. == SINK [#ARGUMENT COMMA] == == Get , if any.
DNS Programming Example, TACL [#IF NOT [#EMPTYV l^domain] |THEN| [#IF [#MATCH [l^domain] LOCAL] |THEN| #SET l^param:zdomain [l^param:zname] {Move All Spaces to DOMAIN} |ELSE| #SET l^param:zdomain [l^domain] ] ] #SET l^param:zname [l^alias] [#IF NOT [#EMPTYV l^aliastype] |THEN| #SET l^param:ztype [l^aliastype] ] #SET l^param:zreftype [l^reftype] [#IF (l^reftype = zdns^obj^ssobj) |THEN| #SET l^param:zssobj [l^ssobj] ] [#IF NOT [#EMPTYV l^ssmgr] |THEN| #SET l^param:zssmgr [l^ssmgr] ] == == Initialize ADD ALIA
DNS Programming Example, TACL [#IF [l^retcode] |THEN| [dns^err l^retcode] ] == == Try to commit the TMF transaction. == dns^endtransaction #UNFRAME ?SECTION dns^lookup^alias ROUTINE == == Look up an alias in the DNS database. == == dns^lookup^alias [ ] == == where: == == is the alias to be looked up. == SYSTEMNAME: if omitted, any definition node. == STRUCT: ZDNS^DDL^INFO^ALIAS^BR. == STRUCT: ZDNS^DDL^INFO^ALIAS^DR.
DNS Programming Example, TACL [#IF ([#ARGUMENT /VALUE l^alias^defnode/ SYSTEMNAME/SYNTAX/ VARIABLE/SYNTAX/]) = 1 |THEN| SINK [#ARGUMENT /VALUE l^alias^br^sym/ VARIABLE] |ELSE| #SETV l^alias^br^sym l^alias^defnode #SET l^alias^defnode ] == == Get . == SINK [#ARGUMENT /VALUE l^alias^dr^sym/ VARIABLE] == == Initialize INFO ALIAS parameter. == dns^ssnull zdns^map^info^dnsobj^p l^param == == Build INFO ALIAS parameter.
DNS Programming Example, TACL [#IF [l^retcode] |THEN| [dns^err l^retcode] ] == == Get INFO ALIAS response tokens. == dns^ssgetv l^response^buf zdns^map^info^alias^br [l^alias^br^sym] dns^ssgetv l^response^buf zdns^map^info^alias^dr [l^alias^dr^sym] == == See if there is a ZSPI^TKN^CONTEXT in the response.
DNS Programming Example, TACL == == Get . == SINK [#ARGUMENT/VALUE l^dnsname/ WORD] SINK [#ARGUMENT END] == == Initialize DELETE DNSOBJ parameter. == dns^ssnull zdns^map^del^dnsobj l^param == == Build DELETE DNSOBJ parameter. == #SET l^param:zname [l^dnsname] == == Initialize DELETE request. == dns^ssinit l^request^buf zdns^cmd^delete [l^dnstype] == == Put DELETE DNSOBJ parameter in the request buffer. == dns^ssputv l^request^buf zdns^map^del^dnsobj l^param == == Start a TMF transaction.
DNS Programming Example, TACL dns^endtransaction #UNFRAME ?SECTION dns^lookup^type ROUTINE == == Utility routine for dns^lookup: == == dns^lookup^type ... == == Expands to -1 if = for any i {1:n}; == expands to 0 otherwise. == #FRAME #PUSH l^arg #PUSH l^num == == Get . == SINK [#ARGUMENT /VALUE l^arg/ NUMBER] == == Examine each and return -1 if it matches .
DNS Programming Example, TACL == list of numbers representing the types of names that == are acceptable; if empty, any name type will do.
DNS Programming Example, TACL #SET l^types [#rest] [#IF [#EMPTYV l^types] |THEN| #SET l^types [zdns^obj^alias] & [zdns^obj^atype] & [zdns^obj^comp] & [zdns^obj^ctype] & [zdns^obj^dom] & [zdns^obj^group] & [zdns^obj^ss] & [zdns^obj^ssmgr] & [zdns^obj^ssobj] & [zdns^obj^sstype] ] == == Initialize INFO NAME parameter. == dns^ssnull zdns^map^info^name^p l^param == == Build INFO NAME parameter.
DNS Programming Example, TACL [#LOOP |DO| dns^lookup^2 |UNTIL| [l^done] ] == == If we get this far, we've seen one or more names, but none of them == match the passed . == [#IF NOT l^have^response |THEN| #OUTPUT *** [l^name] exists in the DNS Database but is not one of the #OUTPUT types you requested #RAISE dns_exception ] == == Tell the user what type of name we found.
DNS Programming Example, TACL == == Inner loop of dns^lookup: looks for another data list in response. == If there is one, invoke dns^lookup^4 to examine it. == == Look for next data list.
DNS Programming Example, TACL dns^lookup^found |ELSE| == == == No; see if it's an alias whose referent matches. [#IF (l^candidate:zdnstype = zdns^obj^alias) |THEN| [#IF [dns^lookup^type l^candidate:zreftype [l^types]] |THEN| == == == Yes; resolve the alias. dns^resolve^alias ] ] ] == == No more responses from the name manager; we're finished. == |28| {zdns^err^nomore} #SET l^done -1 |OTHERWISE| == == Some sort of error. == dns^err l^retcode ] == == Exit this data list.
DNS Programming Example, TACL #SETV l^response l^candidate ?SECTION dns^resolve^alias MACRO == == Invoke DNS^LOOKUP^ALIAS to resolve the alias. == [dns^lookup^alias [l^candidate:zdnsname] [l^candidate:zdefnode] l^alias^br l^alias^dr] == == If the alias was generated as a result of EXTERNAL ON for it's == referent we skip it; otherwise, we'll get an ambiguous name. == [#IF NOT l^alias^dr:zext |THEN| == == Not external; build L^CANDIDATE from the INFO ALIAS response.
DNS Programming Example, TACL == == Opens the DNS name manager. == == dns^open [ ] == #FRAME #PUSH l^systemname {} #DEF l^request^buf STRUCT LIKE zdns^ddl^msg^buffer; {SPI request} #DEF l^response^buf STRUCT LIKE zdns^ddl^msg^buffer; {SPI response} #PUSH l^status {SPI status} #PUSH l^banner {Server banner} == == Construct DNS name manager name. == [#IF ([#ARGUMENT /VALUE l^systemname/ SYSTEMNAME END]) = 1 |THEN| #SET dns^manager [l^systemname].
DNS Programming Example, TACL #OUTPUT *** Server Open Error [l^status] : [dns^manager] #SET dns^send^error NOTOPEN #RAISE dns_exception ] == == Initialize GETVERSION request. == #SET l^status [#SSINIT l^request^buf [zdns^val^ssid] [zspi^cmd^getversion]] dns^check^status SSINIT == == Send GETVERSION request to the name manager. == dns^send l^request^buf l^response^buf == == Get name manager version.
DNS Programming Example, TACL == == == == == #FRAME #PUSH #PUSH #PUSH #PUSH #PUSH NUMBER if passed and non-zero, ZSPI^TKN^CONTEXT will be moved from to prior to sending the request. l^continuation^request dns^request^sym dns^response^sym l^status l^initial^position { parameter} {Name of } {Name of } {SPI procedure status} {parameter to SSPUT} == == Get name of .
DNS Programming Example, TACL [#IF [#MATCH [#VARIABLEINFO/VARIABLE/ [#WAIT dns^send^error dns^response]] DNS^SEND^ERROR] |THEN| == == Some sort of error; close name manager and raise exception. == #OUTPUT *** Server I/O Error [dns^send^error] : [dns^manager] SINK [#REQUESTER CLOSE dns^response] #SET dns^send^error NOTOPEN #RAISE dns_exception ] == == Extract from name manager . == #EXTRACTV dns^response [dns^response^sym] == == Set initial buffer position.
DNS Programming Example, TACL #PUSH #PUSH #PUSH #PUSH #PUSH [#DEF #PUSH [#DEF l^spidef^subvol dns^manager dns^version dns^request dns^response dns^send^error TEXT |BODY| NOTOPEN] dns^errortext dns^transmode TEXT |BODY| 0] [#IF ([#ARGUMENT /VALUE l^spidef^subvol/ SUBVOL END] = 2) |THEN| #SET l^spidef^subvol [ #DEFAULTS ] ] sink [#load/keep 1/[l^spidef^subvol].zspitacl] sink [#load/keep 1/[l^spidef^subvol].zdnstacl] #SET zdns^val^ssid [zspi^val^tandem].[zspi^ssn^zdns].
DNS Programming Example, TACL |_ERROR| dns^check^transmode [#ERRORTEXT /CAPTURE dns^errortext/] #OUTPUTV dns^errortext #RESET FRAMES |_BREAK| dns^check^transmode #RESET FRAMES |dns_exception| dns^check^transmode #RESET FRAMES ] F–26 46958 Tandem Computers Incorporated
Appendix G DNS Programming Example, TAL ?SOURCE COPYTAL ?DATAPAGES 64 NAME dns^example; ?NOLIST BLOCK zdnstal; ?SOURCE ZDNSTAL END BLOCK; BLOCK zspital; ?SOURCE ZSPITAL( ?ZSPI^DDL^SSID ?ZSPI^DDL^TOKENCODE ?ZSPI^DDL^ERROR ?ZSPI^DDL^PARM^ERR ?CONSTANTS ?) END BLOCK; ?LIST ?PAGE "DNS DATA DECLARATIONS" BLOCK dns; ! Literals for use in constructing a type mask parameter to ! the DNS^LOOKUP procedure.
DNS Programming Example, TAL , dns^et^io = 3 , dns^et^open = 4 , dns^et^tmf = 5 !Low-order word is the file management !error number from our WRITEREADX to !the name manager. !Low-order word is the file management !error number from our OPEN of the name !manager. !Low-order word is error returned by one !of the TMF procedures. ! ! If no error occurred, the following value is returned. ! , dns^noerr = 0d ; ! ! DEFINES used by the procedures to construct their return value.
DNS Programming Example, TAL STRUCT .dns^ssid(zdns^val^ssid^def); END BLOCK; ?NOLIST ?SOURCE EXTDECS0( ?ABEND, ?ABORTTRANSACTION, ?BEGINTRANSACTION, ?CLOSE, ?DEBUG, ?ENDTRANSACTION, ?FILEINFO, ?GETSYSTEMNAME, ?INITIALIZER, ?MYSYSTEMNUMBER, ?OPEN, ?SSGET, ?SSGETTKN, ?SSINIT, ?SSMOVE, ?SSNULL, ?SSPUT, ?SSPUTTKN, ?WRITEREADX ?) ?LIST ?PAGE "SEND REQUEST TO THE NAME MANAGER" ! ! Perform a WRITEREADX to the name manager. ! ! The SPI-formatted request is passed in request.
DNS Programming Example, TAL ! ! Token code for ZSPI^TKN^CONTEXT ! INT(32) context^tkn := zspi^tkn^context; ! ! Status returned from the SPI procedures. ! INT status := 0; ! ! Procedure body; move the context token, if requested. ! IF move^context = true THEN IF (status := ssmove(context^tkn , response , 1 , request , 1)) THEN ! ! Couldn't move it ! RETURN dns^spierr(status); ! ! Move the request to the response buffer for WRITEREADX.
DNS Programming Example, TAL ! ! Clear last error. ! IF status := ssputtkn(response, zspi^tkn^clearerr) THEN RETURN dns^spierr(status); ! ! Send successful. ! RETURN dns^noerr; END; ?PAGE "OPEN DNS NAME MANAGER" ! Open the DNS name manager. INT(32) PROC dns^open(system, fno, version); INT system; !i - GUARDIAN system number where the ! name manager is to be opened INT .fno; !o - File number INT .
DNS Programming Example, TAL ! ! Open was unsuccessful, get the file management error number. ! CALL fileinfo(-1, status); ! ! Return open error. ! RETURN dns^openerr(status); END; ! ! Initialize REQ^BUF for GETVERSION command. ! IF (status := ssinit(req^buf , zdns^val^buflen , dns^ssid , zspi^val^cmdhdr , zspi^cmd^getversion , zdns^obj^dns , , , true)) THEN BEGIN ! ! Couldn't do it; close the manager and return SPI error.
DNS Programming Example, TAL ! ! Something wrong with the response buffer; close the name ! manager and return SPI error. ! CALL close(fno); RETURN dns^spierr(status); END; ! ! Check RETCODE. ! IF retcode THEN BEGIN ! ! Non-zero retcode; close the name manager and return DNS error. ! CALL close(fno); RETURN dns^dnserr(retcode); END; ! ! Get the name manager's version.
DNS Programming Example, TAL ! INT fno; ! STRING .EXT name; ! STRING .EXT defnode; !i - Name manager file number. !i - Alias. !i - Definition node; if = spaces, look ! for name on any node. !o - Basic INFO ALIAS response. INT .EXT basic^response(zdns^ddl^info^alias^br^def); ! !o - Detailed INFO ALIAS response. INT .EXT detailed^response(zdns^ddl^info^alias^dr^def); ! !o - Set to true, if procedure returns ! DNS^NOERR but more than one alias ! matched NAME. INT .
DNS Programming Example, TAL !INFO ALIAS detailed response map. , dr^map[0:zdns^map^info^alias^dr^wln - 1] = 'P' := zdns^map^info^alias^dr ; ! ! Procedure body: set ambiguous flag to false for now. ! ambiguous := false; ! ! Initialize INFO ALIAS parameter. ! IF (status := ssnull(param^map, param)) THEN result := dns^spierr(status); IF NOT error THEN BEGIN ! ! Move procedure parameters for INFO ALIAS parameter. ! param.zname ':=' name FOR zdns^val^objlen; param.zdefnode ':=' defnode FOR 8; IF param.
DNS Programming Example, TAL IF NOT error THEN IF (status := ssputtkn(req^buf, zspi^tkn^maxresp, maxresp)) THEN result := dns^spierr(status); WHILE NOT (done OR error) DO BEGIN ! ! Send the request to the name manager. ! result := dns^send(fno, req^buf, resp^buf, more); ! ! Look for (next) data list. ! WHILE NOT (error OR (status := ssgettkn(resp^buf, zspi^tkn^datalist))) DO BEGIN ! ! We found one; get RETCODE.
DNS Programming Example, TAL IF (status := ssget(resp^buf, br^map, basic^response, 1)) THEN result := dns^spierr(status); IF (status := ssget(resp^buf, dr^map, detailed^response, 1)) THEN result := dns^spierr(status); ! ! Remember that we found one. ! have^response := true; END; ! ! Exit the current data list. ! IF (status := ssgettkn(resp^buf, zspi^tkn^endlist)) THEN result := dns^spierr(status); END; ! ! Either we're finished, had an error, or there were no more data lists.
DNS Programming Example, TAL ! ! This procedure resolves a single name or a name of the ! form ON . ! ! In the case where only a single name is passed (DEFNODE = spaces), ! AMBIGUOUS will be set to TRUE if more than one name in the database ! matches the NAME/MASK combination. ! ! Where MASK indicates that the name could be SSOBJECT or SSMANAGER, ! the procedure will also interpret NAME as an alias and resolve to ! the alias's referent.
DNS Programming Example, TAL !Request buffer STRUCT .EXT req^buf(zdns^ddl^msg^buffer^def); !Response buffer STRUCT .EXT resp^buf(zdns^ddl^msg^buffer^def); STRUCT .param(zdns^ddl^info^name^p^def) ,.candidate(zdns^ddl^info^name^br^def) ,.alias^br(zdns^ddl^info^alias^br^def) ,.alias^dr(zdns^ddl^info^alias^dr^def) ; !INFO NAME parameter. !Last name returned !for resolution using !aliases. INT !Token map for INFO NAME parameter.
DNS Programming Example, TAL THEN result := dns^spierr(status); END; IF NOT error THEN ! ! Put the INFO NAME parameter in REQUEST buffer. ! IF (status := ssput(req^buf, param^map, param)) THEN result := dns^spierr(status); IF NOT error THEN ! ! Indicate that the name manager should return as many responses ! as will fit in the response buffer.
DNS Programming Example, TAL result := dns^dnserr(retcode); IF NOT (done OR error) THEN BEGIN ! ! Get INFO NAME response from RESPONSE buffer. ! IF (status := ssget(resp^buf, resp^map, candidate, 1)) THEN result := dns^spierr(status); IF NOT error THEN BEGIN ! ! We'll use MATCH to indicate whether this name matches ! MASK. ! match := false; ! ! First see if the name itself matches. ! IF (mask '<<' candidate.
DNS Programming Example, TAL CALL debug ELSE ! ! Initialize INFO NAME response. ! IF (status := ssnull(resp^map, candidate)) THEN result := dns^spierr(status) ELSE BEGIN ! ! Build an INFO NAME response for the referent. ! candidate.zdnsname ':=' alias^br.zname FOR zdns^val^dnslen; candidate.zdefnode ':=' alias^br.zdefnode FOR 8; candidate.zremote := false; candidate.zdnstype := alias^br.zreftype; candidate.zssobj ':=' alias^dr.zssobj FOR zdns^val^objlen; candidate.zssmgr ':=' alias^dr.
DNS Programming Example, TAL ! ! Responses are different; set AMBIGUOUS and ! signal that we are finished. ! done := true; ambiguous := true; END ELSE ELSE BEGIN ! ! This is our first response; move it into caller's ! INFO NAME response. ! response ':=' candidate FOR 1 ELEMENTS; have^response := true; END END; ! ! Exit the current data list.
DNS Programming Example, TAL done := true ELSE result := dns^spierr(status) ELSE ! ! Yes; set MORE to indicate that the context ! token should be moved to the request buffer. ! more := true; END; ! ! If no names matched MASK, return a NOTFOUND error. ! IF NOT (error OR have^response) THEN result := dns^dnserr(zdns^err^notfound); RETURN result; END; ?PAGE "ADD ALIAS" ! ! Adds an alias to the DNS database.
DNS Programming Example, TAL STRUCT .EXT req^buf(zdns^ddl^msg^buffer^def); !Request buffer STRUCT .EXT resp^buf(zdns^ddl^msg^buffer^def); !Response buffer INT(32) result ; !Value returned by DNS^Send. STRUCT !ADD ALIAS parameter. .param(zdns^ddl^add^alias^def) ; !ADD ALIAS parameter map. INT param^map[0:zdns^map^add^alias^wln - 1] = 'P' := zdns^map^add^alias; ! ! Procedure body; initialize ADD ALIAS request buffer.
DNS Programming Example, TAL ! ! Store ADD ALIAS parameter in request buffer. ! IF (status := ssput(req^buf, param^map, param)) THEN RETURN dns^spierr(status); ! ! Start a TMF transaction. ! IF (status := begintransaction) THEN RETURN dns^tmferr(status); ! ! Send request to the name manager. ! IF (result := dns^send(fno, req^buf, resp^buf, false)) <> 0d THEN BEGIN CALL aborttransaction; RETURN result; END; ! ! See how it turned out.
DNS Programming Example, TAL INT(32) PROC dns^alter^alias(fno , alias , defnode , domain , reftype , ssobject , ssmanager); INT fno; !i -- Name manager's file number. STRING .EXT alias; !i -- Alias to be altered. STRING .EXT defnode; !i -- Alias's definition node. STRING .EXT domain; !i -- Domain ! , Don't alter domain. ! "LOCAL", Alias no longer replicated. ! Otherwise, name of a DNS domain. INT reftype; !i -- New referent's DNSTYPE ! -1, Don't alter referent.
DNS Programming Example, TAL IF (status := ssinit(req^buf , zdns^val^buflen , dns^ssid , zspi^val^cmdhdr , zdns^cmd^alter , zdns^obj^alias , , , true)) THEN RETURN dns^spierr(status); ! ! Initialize ALTER ALIAS parameter. ! IF (status := ssnull(param^map, param)) THEN RETURN dns^spierr(status); ! ! Build ALTER ALIAS parameter. ! param.zname ':=' alias FOR zdns^val^dnslen; param.zdefnode ':=' defnode FOR 8; IF domain = ["LOCAL" , 27 * [" "]] THEN param.zdomain.z^b ':=' [" "] & param.zdomain.
DNS Programming Example, TAL ! ! Send request to the name manager. ! IF (result := dns^send(fno, req^buf, resp^buf, false)) <> 0d THEN BEGIN CALL aborttransaction; RETURN result; END; ! ! See how it turned out. ! IF (status := ssgettkn(resp^buf, zspi^tkn^retcode, retcode)) THEN BEGIN CALL aborttransaction; RETURN dns^spierr(status); END; IF retcode THEN BEGIN CALL aborttransaction; RETURN dns^dnserr(retcode); END; ! ! All looks okay; try to commit the transaction.
DNS Programming Example, TAL STRUCT .EXT req^buf(zdns^ddl^msg^buffer^def); STRUCT .EXT resp^buf(zdns^ddl^msg^buffer^def); INT(32) result ; !Request buffer !Response buffer !Value returned by DNS^Send. STRUCT !DELETE DNSOBJ parameter. .param(zdns^ddl^del^dnsobj^def) ; !DELETE DNSOBJ parameter map. INT param^map[0:zdns^map^del^dnsobj^wln - 1] = 'P' := zdns^map^del^dnsobj; ! ! Initialize request buffer.
DNS Programming Example, TAL ! ! Send request to the name manager. ! IF (result := dns^send(fno, req^buf, resp^buf, false)) <> 0d THEN BEGIN CALL aborttransaction; RETURN result; END; ! ! See how it turned out. ! IF (status := ssgettkn(resp^buf, zspi^tkn^retcode, retcode)) THEN BEGIN CALL aborttransaction; RETURN dns^spierr(status); END; IF retcode THEN BEGIN CALL aborttransaction; RETURN dns^dnserr(retcode); END; ! ! All looks okay; try to commit the transaction.
Appendix H DNS Programming Example, C #pragma XMEM #pragma RUNNABLE #pragma SYMBOLS #include "ZSPIDEF.ZSPIC" nolist #include "ZSPIDEF.
DNS Programming Example, C typedef struct {error_class err_class; int err_number;} error_return_def; /*-------------------------------------------------------------------*/ /* Masks for selecting various types of DNS names */ /*-------------------------------------------------------------------*/ #define dns_alias_mask (020000000000ul >> ZDNS_OBJ_ALIAS) #define dns_atype_mask (020000000000ul >> ZDNS_OBJ_ATYPE) #define dns_comp_mask (020000000000ul >> ZDNS_OBJ_COMP) #define dns_ctype_mask (020000000000ul >>
DNS Programming Example, C error_return_def dns_send (int file_desc , zdns_ddl_msg_buffer_def *request , zdns_ddl_msg_buffer_def *response , int move_context) /* /* /* /* /* File number Request buffer Response buffer If TRUE, move Context token */ */ */ */ */ { int status = 0; long context_tkn = ZSPI_TKN_CONTEXT; /* Error number */ /* Context token token Code */ if (move_context) /*-----------------------------------------------------------------*/ /* Context token is to be moved from last response t
DNS Programming Example, C /*-------------------------------*/ /* Return indication of success */ /*-------------------------------*/ return dns_return(no_err, 0); } #pragma page "DNS_OPEN" /*==================================================================*/ /* Open a DNS name managaer */ /*==================================================================*/ error_return_def dns_open (char *name /* Manager name (String) , int *file_desc /* Returns file number , unsigned int *version) /* Returns manager v
DNS Programming Example, C if (status = SSINIT((short *) &req_buf , ZDNS_VAL_BUFLEN , (short *) &dns_ssid , ZSPI_VAL_CMDHDR , ZSPI_CMD_GETVERSION , 0 , 0 , true)) { /*----------------------------------------*/ /* SSINIT error; close file and return */ /*----------------------------------------*/ close(*file_desc); *file_desc = -1; return dns_return(spi_err, status); } /*---------------------------------------------*/ /* Send GETVERSION request to the name manager */ /*--------------------------------------
DNS Programming Example, C if (status = SSGETTKN((short *) &resp_buf , ZSPI_TKN_SERVER_VERSION , (char *) version)) { /*----------------------------------------------------------*/ /* Error getting SERVER VERSION; close manager and return */ /*----------------------------------------------------------*/ close(*file_desc); *file_desc = -1; return dns_return(spi_err, status); } /*-------------------------------*/ /* Return indication of success */ /*-------------------------------*/ return dns_return(no_err,
DNS Programming Example, C /*==================================================================*/ /* Look up an alias in a DNS database */ /*==================================================================*/ error_return_def dns_lookup_alias (int char char zdns_ddl_info_alias_br_def zdns_ddl_info_alias_dr_def int , , , , , file_desc *name *defnode *basic_response *detailed_response *ambiguous) /* /* /* /* /* /* /* /* File number Alias Alias's DEFNODE Output is placed here.
DNS Programming Example, C /*-------------------------------*/ /* Initialize INFO ALIAS request */ /*-------------------------------*/ if (status = SSINIT((short *) &request_buf , ZDNS_VAL_BUFLEN , (short *) &dns_ssid , ZSPI_VAL_CMDHDR , ZDNS_CMD_INFO , ZDNS_OBJ_ALIAS , -1 , true)) return dns_return(spi_err, status); /*-----------------------------------------------*/ /* Put INFO DNSOBJ token into the request buffer */ /*-----------------------------------------------*/ if (status = SSPUT((short *) &reques
DNS Programming Example, C /*------------------------------------*/ /* Name manager has no more responses */ /*------------------------------------*/ done = true; else if (retcode) /*-----------------------------*/ /* Name manager returned error */ /*-----------------------------*/ return dns_return(dns_err, retcode); if (! done) /*------------------*/ /* Not finished yet */ /*------------------*/ if (have_response) { /*-----------------------------------------------*/ /* We already have one and have found
DNS Programming Example, C /*---------------------------*/ /* Get out of this data list */ /*---------------------------*/ if (status = SSGETTKN((short *) &response_buf, ZSPI_TKN_ENDLIST)) return dns_return(spi_err, status); } /*-----------------------------------------------------------------*/ /* Be sure that we didn't get an unexpected error looking for data */ /* list */ /*-----------------------------------------------------------------*/ if ( ! (done | (status = ZSPI_ERR_MISTKN))) return dns_return(s
DNS Programming Example, C error_return_def dns_lookup (int , char , char , long file_desc *name *defnode mask /* /* /* /* /* , zdns_ddl_info_name_br_def *response /* , int *ambiguous)/* /* File number Name to be looked up Name's DEFNODE Mask of possible name types Output returned here If true is returned, name is ambiguous */ */ */ */ */ */ */ */ { error_return_def result; int have_response = false; int done = false; int status; int retcode; int more = false; int match; zdns_ddl_msg_buffer_def req_bu
DNS Programming Example, C if (status = SSINIT((short *) &req_buf , ZDNS_VAL_BUFLEN , (short *) &dns_ssid , ZSPI_VAL_CMDHDR , ZDNS_CMD_INFO , ZDNS_OBJ_NAME , -1 , true)) return dns_return(spi_err, status); /*-------------------------------------------------*/ /* Put INFO NAME paremeter into the request buffer */ /*-------------------------------------------------*/ if (status = SSPUT((short *) &req_buf , (short *) &zdns_map_info_name_p , (char *) ¶m)) return dns_return(spi_err, status); while (! done)
DNS Programming Example, C done = true; else if (retcode) /*--------------------------------*/ /* Name manager returned an error */ /*--------------------------------*/ return dns_return(dns_err, retcode); if (! done) { /*-------------------------------------------------*/ /* Not finished yet; get BR token into CANDIDATE */ /*-------------------------------------------------*/ if (status = SSGET((short *) &resp_buf , (short *) &zdns_map_info_name_br , (char *) &candidate , 1)) return dns_return(spi_err, st
DNS Programming Example, C if (status) /*-----------------------------------------------*/ /* We supplied DEFNODE so alias should have been */ /* unique */ /*-----------------------------------------------*/ DEBUG(); /*---------------------------------*/ /* Initialize CANDIDATE token area */ /*---------------------------------*/ if (status = SSNULL((short *) &zdns_map_info_name_br , (char *) &candidate)) return dns_return(spi_err, status); /*------------------------------------------------*/ /* Build NAME
DNS Programming Example, C candidate.u_zssnum_null.zssnum = alias_dr.u_zssnum_null.zssnum; candidate.ztypenum = alias_dr.
DNS Programming Example, C if (! (done | (status == ZSPI_ERR_MISTKN))) return dns_return(spi_err, status); if (! done) /*-----------------------------------------------------------*/ /* We're not finished yet; see if there's a context token */ /*-----------------------------------------------------------*/ if (status = SSGETTKN((short *) &resp_buf , ZSPI_TKN_CONTEXT , , 1)) { if (status = ZSPI_ERR_MISTKN) /*------------------------------------*/ /* No context token; we're finished */ /*--------------------
DNS Programming Example, C error_return_def dns_add_alias(int file_desc /* File number , char *alias /* New alias , char *aliastype /* ALIASTYPE (opt) , char *domain /* Domain (opt) , int reftype /* Referent's type , char *ssobject /* SSOBJECT name , char *ssmanager) /* SSMANAGER name { int status; int retcode; zdns_ddl_msg_buffer_def req_buf; zdns_ddl_msg_buffer_def resp_buf; error_return_def result; zdns_ddl_add_alias_def param; /*------------------------------*/ /* Initialize ADD ALIAS request */ /*----
DNS Programming Example, C if (! strcmp(domain, "LOCAL")) memset(¶m.zdomain, ' ', ZDNS_VAL_DNSLEN); else if (*domain) { memset(¶m.zdomain, ' ', ZDNS_VAL_DNSLEN); dns_strtomem(¶m.zdomain, domain, ZDNS_VAL_DNSLEN); } } param.zreftype = reftype; if (reftype == ZDNS_OBJ_SSOBJ) /*-------------------------------------------*/ /* Referent is SSOBJECT; get object's name */ /*-------------------------------------------*/ dns_strtomem(¶m.zssobj, ssobject, ZDNS_VAL_OBJLEN); dns_strtomem(¶m.
DNS Programming Example, C if (status = SSGETTKN((short *) &resp_buf , ZSPI_TKN_RETCODE , (char *) &retcode)) { ABORTTRANSACTION(); return dns_return(spi_err, status); } if (retcode) { /*-------------------------------------------------------------*/ /* Name manager detected error; abort transaction and return */ /*-------------------------------------------------------------*/ ABORTTRANSACTION(); return dns_return(dns_err, retcode); } /*-----------------------------------------------*/ /* No error; try to
DNS Programming Example, C if (status = SSINIT((short *) &req_buf , ZDNS_VAL_BUFLEN , (short *) &dns_ssid , ZSPI_VAL_CMDHDR , ZDNS_CMD_ALTER , ZDNS_OBJ_ALIAS , 0 , true)) return dns_return(spi_err, status); /*----------------------------*/ /* Inititialize request token */ /*----------------------------*/ if (status = SSNULL((short *) &zdns_map_alter_alias , (char *) ¶m)) return dns_return(spi_err, status); /*-------------------------*/ /* Get function parameters */ /*-------------------------*/ dns_str
DNS Programming Example, C dns_strtomem(¶m.zssobj, dns_strtomem(¶m.
DNS Programming Example, C ABORTTRANSACTION(); return dns_return(dns_err, retcode); } /*-----------------------------------*/ /* Try to commit the TMF transaction */ /*-----------------------------------*/ if (status = ENDTRANSACTION()) return dns_return(tmf_err, status); /*------------------------------*/ /* Return indication of success */ /*------------------------------*/ return dns_return(no_err, 0); } #pragma page "DNS_DELETE_DNSNAME" /*=================================================================
DNS Programming Example, C /*--------------------*/ /* Get name to delete */ /*--------------------*/ dns_strtomem(¶m.
DNS Programming Example, C /*----------------------------------------------------------*/ /* Name manager detected error; abort the transaction and */ /* return */ /*----------------------------------------------------------*/ ABORTTRANSACTION(); return dns_return(dns_err, retcode); } /*-----------------------------------*/ /* Try to commit the TMF transaction */ /*-----------------------------------*/ if (status = ENDTRANSACTION()) return dns_return(tmf_err, status); /*------------------------------*/ /*
DNS Programming Example, C /*----------------------------------*/ /* Manager name appears on run line */ /*----------------------------------*/ dns_manager_name = argv[1]; else /*--------------------------------*/ /* No manager name; use default */ /*--------------------------------*/ dns_manager_name = "$ZDNS"; /*-----------------------*/ /* Open the name manager */ /*-----------------------*/ result = dns_open(dns_manager_name, &file_desc, &version); if (! result.
DNS Programming Example, C result = dns_alter_alias(file_desc , "TEST_ALIAS" , NULL , "LOCAL" , -1 , NULL , NULL); if (! result.err_class) /*-------------------*/ /* Delete TEST_ALIAS */ /*-------------------*/ result = dns_delete_dnsname(file_desc , ZDNS_OBJ_ALIAS , "TEST_ALIAS"); /*---------------*/ /* Report result */ /*---------------*/ switch(result.err_class) { case no_err: printf("No Errors Detected\n"); break; case dns_err: printf("DNS Error %d\n", result.
Appendix I Update for D-Series Operating Systems Introduction This appendix summarizes the differences between the C-series and D-series operating systems that affect the way you use the Event Management Service (EMS) on D-series systems with DNS. In addition, this section describes restrictions on network topology and inter-node compatibility. This appendix contains a portion of the information in a supplemental document written for the Event Management Service (EMS) Manual.
Update for D-Series Operating Systems Overview of D-Series Operating System Changes Affecting EMS Overview of D-Series Operating System Changes Affecting EMS You can run distributors and alternate collectors using the TACL RUN command in the same way on D-series systems as you did on C-series systems. The EMS programs you wrote for a C-series system can run on a D-series system without modification.
Update for D-Series Operating Systems Overview of D-Series Operating System Changes Affecting EMS A network can consist of some nodes running C-series operating systems (with all processes in low PINs), and other nodes running D-series operating systems (with unconverted processes at low PINs and converted processes in either low PINs or high PINs). Figure I-1 shows a two-node network, with one C-series node and one D-series node. Figure I-1.
Update for D-Series Operating Systems Overview of D-Series Operating System Changes Affecting EMS Communication Between High-PIN and Unconverted (Low-PIN) EMS Processes While you can run an unconverted C-series program—such as an EMS management application—on a D-series operating system, there are restrictions to the communication allowed between this process and D-series processes.
Update for D-Series Operating Systems Overview of D-Series Operating System Changes Affecting EMS Figure I-2.
Update for D-Series Operating Systems Overview of D-Series Operating System Changes Affecting EMS New Process Identifiers A process identifier uniquely identifies a process in a network. A D-series operating system uses the following process identifiers: Process name Process descriptor Process handle Process Name A process name identifies a process or process pair in a system. The process name consists of a dollar sign ($), followed by one to five alphanumeric characters.
Update for D-Series Operating Systems Overview of D-Series Operating System Changes Affecting EMS New Object-File Attributes New object-file attributes are available for use with EMS programs that run on a D-series operating system. You can specify these attributes as compiler directives when you compile a program, or after compilation using the BINDER program. These new object-file attributes are: HIGHPIN—If set to ON, HIGHPIN specifies that a process should run at a high PIN, if one is available.
Update for D-Series Operating Systems Summary of Changes to EMS on D Series Operating Systems Summary of Changes The changes from C-series to D-series operating system result in the following changes to EMS on D-Series to EMS: Operating Systems New or revised event-message tokens Revised EMS programs Revised EMS procedures New EMF functions Changes in console output Use of new system procedure calls Restrictions in access to event message tokens across system boundaries New or Revised Event- D-series even
Update for D-Series Operating Systems Networking Restrictions Networking Restrictions This section describes restrictions on network topology and inter-node compatibility. Connections Permitted The permitted connections in hybrid networks of D-series and C-series systems are as follows: High-PIN processes in a D-series system can access low-PIN processes running in a D-series system. Low-PIN processes in a D-series system can access high-PIN processes running in a D-series system.
Update for D-Series Operating Systems Networking Restrictions Figure I-3.
Update for D-Series Operating Systems Networking Restrictions Connections Not Permitted General restrictions on inter-node communications between a D-series system and a C-series system are: High-PIN processes cannot access processes in a C-series system. Processes in a C-series system cannot access the high-PIN processes in a D-series system. Figure 1-2 illustrates connections not permitted in a hybrid network of D-series and Cseries systems: Figure I-4.
Glossary This glossary defines technical terms that are used in this manual. Some of these terms are also defined in the Distributed Systems Management (DSM) Programming Manual. Action command. A command that results in action on an object, as opposed to retrieval of information. Compare with Information command. Address. The location of something in memory, in a system, or in a network. Alias. Any name the user can enter to identify an object.
Glossary Attribute token. A parameter or response token that represents one or more characteristics of an object. Buffer. A sequence of memory locations used for temporary storage of data. For instance, data to be sent in an interprocess message is encoded in a buffer from which it is copied by the file system. The data is delivered to a buffer addressable by the recipient. See also Message buffer and SPI buffer. Built in. A primitive function or variable in TACL.
Glossary Composite-type component. A member of a set of subsystem-object types that make up an instance of a particular composite type. Composite-type name. The name assigned by the user to identify a composite type: for example, ATM. An externalization of the owner.composite type number construct. Composite-type number. In DNS, an integer used to identify a composite type within the context of the owner who defined the composite type. The owner.
Glossary Context token. A token that indicates, by its presence or absence, whether or not there are more reply messages to come. If this token is present in a reply message to a command, the response is continued in another reply message. To obtain the next message, the requester reissues the original command with one modification: the context token is included in the new request message.
Glossary Current position. The location in the SPI buffer of the token whose token code, token value, or attribute has just been retrieved. Scans for the next token code (with the operations ZSPI-TKN-NEXTCODE and ZSPI-TKN-NEXTTOKEN) begin at the current position, but always return a token code beyond the current position. Compare with Next position and Initial position. Current token. The token in the current position. See Current position. Data list.
Glossary DNS database. The collection of all names defined to DNS, and their attributes. DNS object name. An alias or a composite, domain, or group name. DNS owner. The Guardian 90 user ID that “owns” DNS. By default, DNS is first initialized through this user ID. DNS type name. An alias, subsystem-object, or composite-type name. DNSCOM.
Glossary Error list. A grouping of tokens used within a response record to provide error and warning information. An error list consists of a list token that denotes an error list (different from the token that starts a data list or a generic list), followed by an error token, other tokens explaining the error (these are optional), and an end-list token. Error lists can be nested within other error lists. The return token cannot be included in an error list. See Return token. Error number.
Glossary Exporter process. A DNS process that manages the time-staged replication of name definitions on remote nodes. This process is not a NonStop process pair. Extensible structured token. A token consisting of a token map and a value that is an extensible structure. Extensible structures can be extended by adding new fields at their ends in later releases.
Glossary Header token. A special kind of token that provides information pertaining to the SPI message as a whole. Header tokens are typically common to all or most messages of a specific kind.
Glossary Local system. The node in an EXPAND network where a specific resource is located. The local system is the system where the name manager processing the command is running. Macro. A sequence of TACL commands and built-in functions that can contain dummy arguments, thus providing a means for simple argument substitution. No validity checking of the arguments is performed.
Glossary Name manager. The multithreaded management process through which applications and DNSCOM request input/output to the DNS database on their behalf. This NonStop process pair has the name $ZDNS, by default. Name resolution. The process of transforming an alias into a subsystem-object name. Nested error list. An error list contained in another error list.
Glossary Object type. The category of objects to which a specific object belongs: for example, a specific disk file might have the object type FILE, and a specific terminal the object type SU. A subsystem identifies a set of object types for the objects it manages. The operator interface to the subsystem might have keywords to identify the types. Correspondingly, the programmatic interface would have object-type numbers suitable for passing to the SPI SSINIT procedure.
Glossary Programmatic interface. A means for a program to communicate with another program.
Glossary Restored name definition. A name definition that was resynchronized throughout the network, after loss and re-availability of the definition node. The user requests restoration using the DNS RESTORE command. This command deletes copied (and possibly altered) name definitions resulting from issuance of the DNS COPY command, and makes the definition node’s version of the definition visible again. Routine.
Glossary SPI control code. A special token code, passed to one of the SPI procedures, that directs SPI to perform a specified action on the buffer (such as a positioning operation). The ZSPI-TKN-DATAFLUSH, ZSPI-TKN-DELETE, and ZSPI-TKN-CLEARERR token codes for SSPUT are examples of SPI control codes. An SPI control code is a kind of special operation. See also Special operation. SPI definitions. See also SPI standard definitions. SPI error number.
Glossary Starting state. The state in which a piece of software or a device is being prepared for operation. In the case of DNS, the operational state in which named DNS processes are being created. Startup message. A specific message sent by the creator to a newly created process. Startup sequence. The steps required to initiate a process. Statistics token. A response token providing performance data about an object. A statistics token is a kind of information token. Status token.
Glossary subsystem-control token; it determines under what conditions the subsystems will continue command processing on the next object in a sequence if errors or warnings occur. Compare with Response-control token. Subsystem definitions. The set of declarations available for use with a particular subsystem that supports a token-oriented programmatic interface. See also Definition files, and compare with SPI standard definitions. Subsystem descriptor.
Glossary Subsystem-object type number. In DNS, an integer used to identify a subsystem-object type, passed to the SSINIT procedure in commands that apply to an instances of this subsystem-object type. The owner.subsystem number.subsystem-object type number grouping always provides a unique identifier for the subsystem-object type that is independent of the subsystem-object type name assigned by a particular user. Developers of management applications may always use the owner.subsystem number.
Glossary Token code. In SPI, a variable or variable name that represents a simple token or a special operation. A token code is implemented as a 32-bit number consisting of a token type and a token number. Compare Token map. In DDL, a special definition (using the TOKEN-CODE statement) that the DDL compiler will translate into an SPI token code. Token data type. The part of the token code that defines the kind of value (such as an integer or a file name) allowed for a token. Token length.
Glossary Validation. Verification for conformity with a rule or policy. In the case of DNS, the process of verifying that a particular string fulfills all requirements for a legal DNS name. Version compatibility. The ability of a requester and server of different revision levels to operate gracefully together. Version number. A 16-bit integer representation of a software release version.
Index A ABORTTRANSACTION 3-10 Action events 3-12 ADD ALIAS command, SPI 5-4 ADD ATYPE command, SPI 5-8 ADD commands (SPI), general notes 5-3 ADD COMP command, SPI 5-11 ADD CTYPE command, SPI 5-15 ADD DOM command, SPI 5-19 ADD GROUP command, SPI 5-22 ADD SS command, SPI 5-24 ADD SSMGR command, SPI 5-27 ADD SSOBJ command, SPI 5-30 ADD SSTYPE command, SPI 5-34 ALLOWIMPORTS attribute 6-6 ALTER ALIAS command, SPI 5-39 ALTER ATYPE command, SPI 5-43 ALTER commands (SPI), general notes 5-38 ALTER COMP command, SPI
Index C Character-string definitions, DNS table of 4-19 Checkpoint failure 6-28 Collector, EMS 1-7 Command numbers 3-4, 4-8 Commands building and sending 3-6 CONTROL, in EMS 3-11 GETEVENT, in EMS 3-11 interactive (DNSCOM) and programmatic, table of 1-11/14 Commands, SPI ADD ALIAS 5-4 ADD COMP 5-11 ADD CTYPE 5-15 ADD DOM 5-19 ADD GROUP 5-22 ADD SS 5-24 ADD SSMGR 5-27 ADD SSOBJ 5-30 ADD SSTYPE 5-34 ALTER ALIAS 5-39 ALTER ATYPE 5-43 ALTER COMP 5-47 ALTER CTYPE 5-51 ALTER DOM 5-54 ALTER GROUP 5-57 ALTER SSMGR
Index DELETE SSOBJ 5-98 DELETE SSTYPE 5-101 DISABLE EXPORT 5-104 ENABLE EXPORT 5-106 GETVERSION 5-108 INFO ALIAS 5-112 INFO ATYPE 5-120 INFO COMP 5-126 INFO CTYPE 5-133 INFO DNS 5-138 INFO DOM 5-141 INFO FILE 5-144 INFO GROUP 5-147 INFO NAME 5-155 INFO PROC 5-167 INFO SS 5-170 INFO SSMGR 5-174 INFO SSOBJ 5-181 INFO SSTYPE 5-190 LISTOPENS 5-196 RESTORE ALIAS 5-201 RESTORE COMP 5-204 RESTORE GROUP 5-206 STATUS DNS 5-208 STATUS PROC 5-210 STATUS SYSTEM 5-213 STOP 5-216 Common definitions 4-1/38 DNS 4-7 EMS 4-
Index COPY GROUP command, SPI 5-78 Critical events 3-12 causes of 6-4 listed 6-4 D D-series operating system procedures, new affect on EMS I-7 Data communications definition file 3-2 Data lists 3-5 Database error message 6-48 DDL DEF statements 4-1 definition files 4-1 definitions and token maps, table of A-3, A-4, A-5 Decoding a response message 3-7 Decoding event messages 3-11 Definition files 3-1 DDL 4-1 names of 3-2 needed for DNS management 3-2 using in programs 3-1 Definitions common 4-1/38 DDL, and
Index DISABLE EXPORT command, SPI 5-104 Distributed Systems Management (DSM) See DSM Distributor compatibility 3-12 consumer 1-7 communicating with 3-11 opening 3-11 running 2-8 forwarding 1-7 printing 1-14 DNS definition file 3-2 definitions 4-7/38 running interactively 2-1 DNS manager process running interactively 2-1 DNS not initialized, message 6-57 DNS-QUEUE-FILE 6-60 DNSCOM commands, table of 1-11/14 described 1-3 DSM summary 1-1 E EMS See also Distributor See also Filters changes in D-series version
Index EMS tokens, new ZEMS-TKN-EVTHDR-VSN I-8 ZEMS-TKN-NODENAME I-8 ZEMS-TKN-NODENUM I-8 ZEMS-TKN-PROC-DESC I-8 EMSGET and EMSGETTKN procedures 3-11 ENABLE EXPORT command, SPI 5-106 ENDTRANSACTION 3-10 Error handling 3-8 Error lists 3-5 event messages that contain 6-15 formats of, DNS D-1 Error responses (SPI) description 3-8 error numbers D-2 file system errors 3-9 formats of error lists D-1 Errors vs.
Index Exporter deleted, message 6-54 Exporting system 6-60 Extensible structured tokens common data communications 4-9 in commands 3-6 F FEINUSE error 2-6 FEINVALOP error 3-9 FENOTREADY 4-35 FEOK error 2-6 FEOLDSYNC error 3-9 FEOPENSTOP error 2-6 FESECVIOL error 2-6 FETOOMANY error 2-6 FEWRONGID error 3-9 File code, DNS files 6-62 File I/O error 6-40 File type, DNS files 6-62 File-system definition file 3-2 definitions 4-6 Filenames parameter, in NEWPROCESS and NEWPROCESSNOWAIT 2-5 Filenames parameter, in
Index G GETEVENT command, EMS 3-11 GETVERSION command, SPI 5-108 Guardian 90 definition file 3-2 definitions 4-6 H Handling errors 3-8 Header tokens 3-1 defined by EMS 4-4 defined by SPI 4-2 I Import request failure 6-46 Importing system 6-60 Incompatible with database, message 6-50 Incompatible with DNSMGR, message 6-51 INFO ALIAS command, SPI 5-112 INFO ATYPE command, SPI 5-120 INFO commands (SPI), general notes 5-110 INFO COMP command, SPI 5-126 INFO CTYPE command, SPI 5-133 INFO DNS command, SPI 5-138
Index Internal tokens 6-16 Invalid logical file error 6-62 K Key offset and length, DNS files 6-62 L LISTOPENS command, SPI 5-196 Loading filters 3-11, 3-13 Logical database reload 6-7 M Management functions provided by DNS 1-10 strategy for events 3-12 Management program reasons for 1-3 Manager process closing 2-7 stopping interactively 2-7 stopping programmatically 2-7 Manager token 4-4 MYVERSION request 6-60 N Name manager opening with SPI 2-6 Name Manager Open Errors, table of 2-7 Name parameter, in NE
Index O Object names specifying multiple 3-6 Object types 1-9, 4-8 Object types for programmatic commands 5-1 Object-file attributes HIGHPIN I-7 HIGHREQUESTERS I-7 RUNNAMED I-7 Object-name token 3-4 Object-type token 3-4 OPRLOG 3-12 P P suffix in structured tokens 4-16 PF1, PF2 suffixes in structured tokens 4-16 PIN definition of I-2 HIGHPIN I-2 LOWPIN I-2 Predefined values DNS 4-38 DNS tokens 4-8 file-system 4-6 Guardian 90 4-6 SPI 4-2 Process identifiers I-6 process descriptor I-6 process handle I-6 proc
Index R Receiving a response message 3-7 Record length, DNS files 6-62 Reload of database, logical 6-7 Replication failure causes 6-43 Required software for DNS 1-1 Response records 3-4 object-type token in 3-4 returned by DNS 3-7 Response tokens 5-2 Responses receiving and decoding 3-7 RESTORE ALIAS command, SPI 5-201 RESTORE commands (SPI), general notes 5-200 RESTORE GROUP command, SPI 5-206 Restrictions inter-node I-9 Return token 3-8 Running DNSCOM 2-1 S SCP use of for control and inquiry 1-6 SEGMENT_
Index SSNULL procedure 3-6 importance of use 3-6 SSPUT and SSPUTTKN procedures 3-6 Startup message 2-6 STATUS commands (SPI), general notes 5-208 STATUS DNS command, SPI 5-208 STATUS PROC command, SPI 5-210 STATUS SYSTEM command, SPI 5-213 STOP command, SPI 5-216 STOREVERSION request 6-60 Structured token DDL definition form 4-17 format of 4-14 Subjects of event messages 3-5 Subsystem Programmatic Interface See SPI Symbolic names of command numbers 3-4 of event numbers 3-5 of object types 3-4 of objects 3-
Index Trap event message 6-55 Type 1-9, 5-1 Type number attribute in SPI 4-37 U Unable to start exporter, message 6-52, 6-53 Unconditional tokens 6-16 V Value names defined by DNS 4-38 defined by Guardian 90 4-6 defined by SPI 4-2 defined by the file system 4-6 Variant for a request 4-16 Version record 6-60 W Warnings 3-8 Z ZDNS definitions 4-7/38 ZDNS tokens simple 4-38 structured ZDNS-CMDADD 5-3, B-8 ALTER 5-38, B-8 COPY 5-71 definitions, table of 4-8 DELETE 5-81, B-8 INFO 5-110 prefix 3-4 RESTORE 5-200
Index ZDNS-DDLADD-ALIAS 5-4 ADD-COMP 5-11 ADD-COMP-SSOBJ 5-11 ADD-CTYPE-SSTYPE 5-15 ADD-DNSTYPE 5-8, 5-15 ADD-DOM 5-19 ADD-DOM-SYS 5-19 ADD-GROUP 5-22 ADD-SS 5-24 ADD-SSMGR 5-27 ADD-SSMGR-SS 5-27 ADD-SSOBJ 5-30 ADD-SSTYPE 5-34 ALTER-ALIAS 5-39 ALTER-ATYPE-SSTYPE 5-43 ALTER-COMP 5-47 ALTER-COMP-SSOBJ 5-47 ALTER-DNSTYPE 5-43, 5-51 ALTER-DOM 5-54 ALTER-DOM-SYS 5-54 ALTER-GROUP 5-57 ALTER-GROUP-MEMB 5-57 ALTER-SSMGR 5-61 ALTER-SSMGR-SS 5-61 ALTER-SSOBJ 5-65 ALTER-SSTYPE 5-68 COPY-DNSOBJ 5-72, 5-75, 5-78, 5-201
Index FORMAT 4-29 INFO-ALIAS-BR 5-113, 5-175, 5-182 INFO-ATYPE-SSTYPE 5-120 INFO-COMP-BR 5-127, 5-182 INFO-DNS-BR 5-138 INFO-DNSOBJ-GROUP 5-126, 5-147 INFO-DNSOBJ-P 5-126, 5-147 INFO-DNSTYPE-BR 5-121, 5-134 INFO-DNSTYPE-PF1 5-120, 5-133 INFO-DNSTYPE-PF2 5-120, 5-133 INFO-DOM-BR 5-141 INFO-DOM-DR 5-141 INFO-DOM-P 5-141 INFO-FILE-BR 5-144 INFO-FILE-P 5-144 INFO-GROUP-BR 5-113, 5-148 INFO-GROUP-DR 5-148 INFO-GROUP-MEMB 5-147 INFO-MEMB-BR 5-148 INFO-NAME 5-155 INFO-NAME-BR 5-156 INFO-PROC-BR 5-167 INFO-PROC-P
Index MSG-MINBUFFER 4-18 OWNER 4-30 PROCESSNO 4-31 REMOTE 4-32 SECURITY 4-33 SSTYPENAME 4-35 STATUS-DNS-BR 5-208 STATUS-PROC-BR 5-210 STATUS-SYS-BR 5-213 SYS-P 5-104, 5-106 SYSNAME 4-36 TYPENUM 4-37 USERID 4-37 ZDNS-DDL-DNSFNAME 4-21 ZDNS-DDL-DUPOK 4-26 ZDNS-DDL-FNAME 4-28 ZDNS-DDL-HASMGR 4-30 ZDNS-DDL-INFODNSOBJ-GROUP 5-112 DNSOBJ-P 5-112 ZDNS-DDL-PID 4-31 ZDNS-DDL-PRI 4-31 ZDNS-DDL-PROCESSID 4-31 ZDNS-DDL-PROCESSTYPE 4-32 ZDNS-DDL-SSNAME 4-33 ZDNS-DDL-SSNUM 4-34 ZDNS-DDL-SSOBJNAME 4-34 ZDNS-DDL-STATE 4-3
Index DUP-SUBSYSTEM D-5 DUP-SYSTEM D-6 DUP-TYPENUM D-2 EMPTYRESP D-4 FIELD-VERSION D-7 FILEOPENERR D-6 GROUP-NEST D-7 ILL-CMD-OBJ D-2 ILL-FIELD-COMB D-2 ILL-FILE D-8 ILL-MEMBER D-8 ILL-MGR-SS D-5 ILL-NUM-COMPONENTS D-2 ILL-NUM-SSTYPES D-5 ILL-NUM-SUBSYSTEMS D-2 ILL-NUM-SYSTEMS D-2 ILL-OBJ D-3 ILL-PARAM D-3 INUSE D-3 INV-BOOLEAN D-3 INV-COMPONENT D-3 INV-CONTEXT D-3 INV-FILENO D-3 INV-FMT D-3 INV-NAME D-3 INV-PROCESSNO D-3 INV-SSNUM D-3 INV-TYPENUM D-3 IOERR D-3 LAST-SUBSYSTEM D-4 LAST-SYSTEM D-4 LOCAL-SYST
Index NOTRANSID D-4 REMOTE-DOMAIN D-7 REMOTENAME D-4 REQD-FIELD D-4 RESOURCE D-5 RESTRICT-ACTIVE D-6 RESTRICTED-TYPE D-6 ROUTE-ERR D-4 SECURITY D-5 SHUTDOWN D-7 SSPIERR D-7 SSTYPE-INUSE D-6 SSTYPE-NOTFOUND D-6 SUBSYSTEM-NOTFOUND D-6 SYSTEM-NOTFOUND D-6 TAKEOVER D-4 UNKNOWN-SYSTEM D-5 WRONG-NUM-COMPONENTS D-5 WRONG-TYPE D-5 ZDNS-ERR-NOGROUPS D-4 ZDNS-ERR-NOTRANSID 3-10 ZDNS-EVTALLOCATESEG-ERROR 6-5, 6-56 BACKUP-ABENDED 6-4, 6-33 BACKUP-CREATE 6-35 BACKUP-DELETED 6-4, 6-32 BEGINTRANS-ERROR 6-5, 6-58 CHECKOPE
Index INTERNAL-ERROR 6-4, 6-49 IO-ERROR 6-4, 6-39 NOT-INITIALIZED 6-57 OPEN-ERROR 6-4, 6-41 RESYNC-FAIL 6-4, 6-36 SYSTATE 6-63 SYSTEM-DOWN 6-37 TAKEOVER 6-34 TASK-ABORT 6-23 TASK-BOT 6-19 TASK-CLOSE 6-24 TASK-EOT 6-20 TASK-OPEN 6-21 TASK-RESTART 6-26 TRAP 6-5, 6-55 ZDNS-OBJALIAS B-6 ATYPE B-6 COMP B-6 CTYPE B-6 definitions, table of 4-8 DNS B-6 DOM B-6 FILE B-6 GROUP B-6 prefix 3-4 PROC B-6 SS B-6 SSMGR B-6 SSOBJ B-6 SSTYPE B-6 SYSTEM B-6 ZDNS-OBJ-ATYPE object type 4-10 ZDNS-OBJ-COMP object type 4-10 ZDNS-
Index ZDNS-OBJ-SSMGR object type 4-10 ZDNS-OBJ-SSOBJ object type 4-10 ZDNS-OBJ-SSTYPE object type 4-10 ZDNS-OBJ-SYSTEM object type 4-10 ZDNS-TKNCODESEG 6-12, B-2 CPU 6-12, B-2 DB-ERROR 6-12, B-7 DBNAME-1 6-12, B-2 DBNAME-2 6-12, B-2 DBVERSION B-3 definitions 4-6 definitions, table of 4-8 DISPLAYNAME 4-11 DNSTYPE B-6 ERR-CMD B-8 ERRLEN 4-12 ERRTYPE 4-11 EVT-CAUSE B-8 EVT-GENERATOR 6-9 EVT-SEVERITY 6-9, B-1 EXPORT-ERR B-8 EXPVERSION B-3 FILENO 6-13, B-3 FNAME B-6 GENERATOR 1-14, B-1 ID 6-13, B-4 IMPORT 6-13,
Index TAKEOVER-CAUSE 6-15, B-7 TASKNO 6-15, B-4 TRAPNO 6-15, B-7 USER 6-15 USERID B-5 XOPENER B-8 XPROCESSNAME B-9 ZDNS-TKN-DB-VERSION 6-13 ZDNS-VALADD 4-20 ALPHA-FILE 4-28, B-3 BILL-FILE 4-28, B-3 BOOLEAN 4-11 BUFLEN 3-6 COPY-FILE 4-28, B-3 DBERR-DUPRECORD 6-12, B-7 DBERR-GROUPUNDERFLOW 6-12, B-7 DBERR-NOTFOUND 6-12, B-7 DBERR-REFUNDERFLOW 6-12, B-7 DBERR-SUBUNDERFLOW 6-12, B-7 definitions 4-38 DELETE 4-20 DNSFNAME 4-11 DOMAIN-FILE 4-28, B-3 EXTERNAL 4-27 FAST-FILE 4-28, B-3 FAST-GROUP-FILE 4-28, B-3 FMT-
Index INT 4-11 INT2 4-11 INTERNAL 4-27 MANAGER-FILE 4-28, B-3 MAP-FILE 4-28, B-3 MAXBUF 3-6 MEMBER-FILE 4-28, B-3 MINBUF 3-6 NAME-FILE 4-28, B-3 PROC-EXP 4-31, 5-199 PROC-MGR 5-199 QUALDNSNAME 4-11 QUALSSOBJNAME 4-11 QUEUE-FILE 4-28, B-3 REMOTE 4-32 RESTART-COLD 6-14, B-5 RESTART-FULL 6-14, B-5 RESTART-STACK 6-14, B-5 RFAST-FILE 4-28, B-3 RMAP-FILE 4-28, B-3 RNAME-FILE 4-28, B-3 SEC-A 4-33 SEC-C 4-33 SEC-G 4-33 SEC-N 4-33 SEC-O 4-33 SEC-U 4-33 SEC-X 4-33 SEVERITY-ATTN B-1 SEVERITY-ERROR B-1 SEVERITY-FATAL
Index SUB-DNS 6-10 SUB-DNSEXP 6-10, B-1 SUB-DNSMGR 6-10, B-1 SUB-EXPAND 6-11, 6-12, B-1 SUB-EXPCTL 6-11, 6-12, B-1 SUB-EXPMON 6-11, 6-12, B-1 SUB-EXPORTER 6-11, 6-12, B-1 SUB-IMPORT 6-10, B-1 SUB-QMGR 6-11, 6-12, B-1 SUB-REPLICATION 6-11, 6-12, B-1 SUB-SSPI 6-11, B-1 TAKEOVER-ABEND 6-15, B-7 TAKEOVER-CPUFAIL 6-15, B-7 TAKEOVER-STOP 6-15, B-7 TAKEOVER-SWITCH 6-15, B-7 TAKEOVER-UNKNOWN 6-15, B-7 TYPES-FILE 4-28, B-3 VERSION 4-38 xxx 4-6 ZDNS-VAL-PTYPE-EXP 4-32 ZDNS-VAL-PTYPE-MGR 4-32 ZDNS-VALL-PROC-MGR 4-31
Index ZSPI- 6-17 ZSPI-DDL-xxx definitions, table of 4-2 ZSPI-SSN-xxx definitions, table of 4-2 ZSPI-TKNCOMMAND 3-4 CONTEXT 3-7 DATALIST 3-7 definitions, table of 4-2 ERRLIST 3-7, 3-8, D-1 ERROR in ZDNS-EVT-TRAP 6-18 OBJECT-TYPE 3-4 PROC-ERR in ZDNS-EVT-TRAP 6-18 RETCODE 3-8 SSID 4-4, 6-10 ZSPI-TLN-VARIABLE definition 4-2 ZSPI-TNM-xxx definitions, table of 4-2 ZSPI-TYP-xxx definitions, table of 4-2 ZSPI-VAL-xxx definitions, table of 4-2 Special characters $ZDNS process 1-3 $ZDNX process 1-3 $ZDNS.