HP 3000 Manuals

Switch Programming User's Guide : COPYRIGHT NOTICE [ Switch Programming User's Guide ] MPE/iX 5.0 Documentation


Switch Programming User's Guide

Switch Programming User's Guide 

Printed in U.S.A.

900 Series HP 3000 Computer Systems
HP Part No.  32650-90014
Edition E1187
Printed Nov 1987

The information contained in this document is subject change without
notice.

HEWLETT-PACKARD MAKES NO WARRANTY OF ANY KIND WITH REGARD TO THIS
MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Hewlett-Packard
shall not be liable for errors contained herein or for incidental or
consequential damages in connection with the furnishing, performance or
use of this material.

Hewlett-Packard assumes no responsibility for the use or reliability of
its software on equipment that is not furnished by Hewlett-Packard.

This document contains propriety information which is protected by
copyright.  All rights are reserved.  No part of this document may be
photocopied, reproduced or translated to another language without the
prior written consent of Hewlett-Packard Company.

Æ 1987

Printing History 

New editions are complete revisions of the manual.  Update packages,
which are issued between editions, contain additional and replacement
pages to be merged into the manual by the customer.  The date on the
title page and back cover of the manual changes only when a new edition
is published.  When an edition is reprinted, all the prior updates to the
edition are incorporated.  No information is incorporated into a
reprinting unless it appears as a prior update.

First Edition             | November 1987             | A.01.00

List of Effective Pages 

The List of Effective Pages gives the date of the current edition, and
lists the dates of all changed pages.  Unchanged pages are listed as
"ORIGINAL" .  Within the manual, any page changed since the last edition
is indicated by printing the date the changes were made on the bottom of
the page.  Changes are marked with a vertical bar in the margin.  If an
update is incorporated when an edition is reprinted, these bars and dates
remain.  No information is incorporated into a reprinting unless it
appears as a prior update.

First Edition                       | November 1987
Documentation Map 

[]
Preface The Switch Programming Guide explains how you can run your applications in a mix of the operating modes available in the MPE XL operation system and why you might choose to do so as part of the migration process. Chapter 1 Introduction provides an overview of the following: the two operating modes (Native Mode and Compatibility Mode); situations where mixed-mode calls are either necessary or desirable; the role of the Switch feature (in-line code or stub procedures) in making mixed-mode operation possible; and the impact of the Switch feature on 900 Series users. Chapter 2 Simplifying Switch Programming describes the SWitch Assist Tool (SWAT), available to assist you in writing Switch stubs. Also summarizes situations where you cannot use SWAT. Chapter 3 NM-to-CM Procedure Calls discusses switches coded in-line, Switch stub procedures, and the NM--> CM Switch intrinsics (HPSWITCHTOCM, HPLOADCMPROCEDURE, and HPUNLOADCMPROCEDURE). Several examples of switches in the NM--> CM direction are provided. This section concludes with discussions of special considerations and restriction affecting mixed-mode operation and suggestions for testing and debugging Switch code. Chapter 4 CM-to-NM Procedure Calls discusses in detail switches coded in-line, Switch stub procedures, and the CM--> NM Switch intrinsics (HPSWTONMNAME, HPSWTONMPLABEL, and HPLOADNMPROC). Several examples of switches in the CM--> NM direction are provided. This section concludes with discussions of special considerations and restrictions affecting mixed-mode operation and suggestions for testing and debugging Switch code. Chapter 5 Writing Switch Stubs describes in a step-by-step manner the basic process of writing your own Switch calls/stubs, whether by choice or out of necessity. Appendix A SWAT Warning Messages lists the warning messages issued by the Switch Assist Tool. Appendix B SWAT Fatal Error Messages lists the fatal error messages issued by the Switch Assist Tool. Appendix C SWAT Progress Messages lists the progress messages issued by the Switch Assist Tool. Appendix D TDP Use File for Concatenating Switch Stubs provides a TDP use file to be used when concatenating Switch stubs. Appendix E EDIT Use File for Concatenating Switch Stubs provides an EDIT use file to be used when concatenating Switch stubs.
NOTE If you do not plan to write your own stubs or modify SWAT-generated ones, you may have no need for the information presented in Chapters 3, 4, and 5 of this guide.

NOTE The Switch Assist Tool (SWAT) has been designed to run on both MPE V/E and MPE Xl-based systems. However, the Switch stub development process requires access to an MPE/XL-based system for compiling and testing the stubs. Therefore, Hewlett-Packard has no specific plans for an MPE V/E-based release of SWAT at this time.
Conventions NOTATION | DESCRIPTION UPPERCASE | Within syntax statements, characters in | uppercase must be entered in exactly the order | shown, though you can enter them in either | uppercase or lowercase. For example: | | SHOWJOB | Valid entries: showjob ShowJob SHOWJOB | Invalid entries: shojwob ShoJob SHOW_JOB italics | Within syntax statements, a word in italics | represents a formal parameter or argument that | you must replace with an actual value. In the | following example, you must replace filename | with the name of the file you want to release: | | | RELEASE filename punctuation | Within syntax statements, punctuation | characters (other than brackets, braces, | vertical parallel lines, and ellipses) must be | entered exactly as shown. { } | | Within syntax statements, braces enclose | | required elements. When several elements | | within braces are stacked, you must select | | one. In the following example, you must | | { ON } | select ON or OFF: SETMSG { OFF} [ ] | Within syntax statements, brackets enclose | optional elements. In the following example, | brackets around ,TEMP indicate that the | parameter and its delimiter are optional: | | PURGE {filename} [,TEMP] | | When several elements with brackets are | | stacked, you can select any one of the | | elements or none. In the following example, | | you can select devicename or deviceclass or | | [ devicename ] | neither: SHOWDEV [ deviceclass] NOTATION | DESCRIPTION [...] | Within syntax statements, a horizontal | ellipsis enclosed in brackets indicates that | you can repeatedly select elements that appear | within the immediately preceding pair of | brackets or braces. In the following example, | you can select itemname and its delimiter zero | or more times. Each instance of itemname must | be preceded by a comma: | | [,itemname][...] | If a punctuation character precedes the | ellipsis, you must use that character as a | delimiter to separate repeated elements. | However, if you select only one element, the | delimiter is not required. In the following | example, the comma cannot precede the first | instance of itemname: | | [itemname][,...] |...| | | Within syntax statements, a horizontal | | ellipsis enclosed in parallel vertical lines | | indicates that you can select more than one | | element that appears within the immediately | | preceding pair of brackets or braces. | However, each element can be selected only one | | time. In the following example, you must | | | select ,A or ,B or ,A,B or ,B,A : { ,A}|...| | { ,B} | If a punctuation character precedes the | | ellipsis, you must use that character as a | | delimiter to separate repeated elements. | | However, if you select only one element, the | | delimiter is not required. In the following | | example, you must select A or B or AB or BA. | | The first element cannot be preceded by a | | { A} | comma: { B}|,...| ... | Within examples, horizontal or vertical | ellipses indicate where portions of the | example are omitted. Å | Within syntax statements, the space symbol Å | shows a required blank. In the following | example, you must separate modifier and | variable with a blank: | | SET[(modifier)]Å(variable); shading | Within an example of interactive dialog, | shaded characters indicate user input or | responses to prompts. In the following | example, OMEGA is the user's response to the | NEW NAME prompt: | NEW NAME? OMEGA NOTATION | DESCRIPTION [[ ]] | The symbol [[ ]] indicates a key on the | terminal's keyboard. For example, [[CTRL]] | indicates the Control key. [[CTRL]] char | [[CTRL]] char indicates a control character. | For example, [[CTRL]] Y means you have to | simultaneously press the Control key and the Y | key on the keyboard. base prefixes | The prefixes %, #, and $ specify the numerical | base of the value that follows: | | %num specifies an octal number. | #num specifies a decimal number. | $num specifies a hexadecimal number. | When no base is specified, decimal is assumed. Bit (bit:length) | When a parameter contains more than one piece | of data within its bit field, the different | data fields are described in the format Bit | (bit:length), where bit is the first bit in | the field and length is the number of | consecutive bits in the field. For example, | Bits (13:3) indicates bits 13, 14, and 15: most significant least significant |--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--| | 0| | | | | | | | | | | | |13|14|15| |--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--| Bit (0:1) Bits(13:3)


MPE/iX 5.0 Documentation