469154-003 iRMX Programming Concepts For DOS and Windows Nov95
469154-003 iRMX Programming Concepts For DOS and Windows Nov95
2
Quick Contents
Chapter 1. Introduction
Index
Service Information
4
Contents
1 Introduction
Understanding the Environments................................................................. 12
Running DOS and the iRMX® OS on the Same System ............................... 13
VM86 Dispatcher ................................................................................. 14
VM86 Protected Mode Extensions ....................................................... 14
Real-time Extension ...................................................................... 15
Windows Support........................................................................................ 16
Making DOS/ROM BIOS System Calls from the iRMX OS........................ 17
File Access.................................................................................................. 18
EDOS File Driver................................................................................. 20
Networking .......................................................................................... 21
File and Device Drivers............................................................................... 22
Loadable File and Device Drivers ........................................................ 22
System Configuration.................................................................................. 22
5 General Information
Interrupt Virtualization and Determinism ................................................... 49
Real-time Fence ......................................................................................... 50
iRMX-NET Access From a DOS Server..................................................... 50
6 Remote Launch
Invoking iRMX Programs from DOS or Windows...................................... 51
Using the iRMX Load Server with iRMX for Windows.............................. 53
Using MS-NET with the PCLINK2 ............................................................ 54
Using RLS.JOB.......................................................................................... 55
Running RLS.JOB............................................................................... 55
Using DLC.EXE ........................................................................................ 56
Using WLC.EXE........................................................................................ 56
Creating the WLC Icon................................................................. 56
Running WLC.EXE...................................................................... 57
6 Contents
7 Using DDE
Real-time DDE Capabilities........................................................................ 59
DDE Terminology................................................................................ 60
Communications Protocols................................................................... 61
iRMX DDE Capabilities....................................................................... 64
iRMX DDE Restrictions....................................................................... 64
DDE Router Internal Configuration Limits.................................... 65
Configuring the Windows DDE Routers...................................................... 65
Enabling DDE Routing on the Windows System .................................. 66
Preparing the Windows Environment for NetDDE ...................................... 67
Preparing the iRMX Environment for NetDDE ........................................... 68
DDE Programming...................................................................................... 69
DDE Messages ..................................................................................... 69
iRMX Client to Windows Server Conversations................................... 70
Initiating Conversations................................................................. 72
Transferring Single Items .............................................................. 73
Submitting Commands to the Server.............................................. 74
Using Warm Links ........................................................................ 77
Windows Client to iRMX Server Conversations................................... 79
Establishing Conversations............................................................ 81
Responding to Data Item Requests ................................................ 82
Responding to Hot Links ............................................................... 83
Handling Termination Requests..................................................... 85
DDE Library ............................................................................................... 86
Summary of DDE Library Functions .................................................... 86
Error Codes .......................................................................................... 88
DDE Library Functions ........................................................................ 88
client_dde_close_link.................................................................................. 89
client_dde_execute...................................................................................... 90
client_dde_initiate....................................................................................... 91
client_dde_open_hot_link ........................................................................... 93
client_dde_open_warm_link ....................................................................... 94
client_dde_poke .......................................................................................... 95
client_dde_request ...................................................................................... 96
client_dde_run_application ......................................................................... 97
client_dde_terminate................................................................................... 98
client_link_callback .................................................................................... 99
dde_library_init........................................................................................... 100
server_conversation_callback...................................................................... 101
server_data_callback................................................................................... 102
server_dde_register ..................................................................................... 104
server_dde_terminate .................................................................................. 105
Index 123
8 Contents
Tables
1-1. Facilities for Supporting Various iRMX OS and
Windows Configurations ......................................................................... 13
2-1. RTE System Calls ....................................................................................... 24
3-1. iRMX Interrupt Levels ................................................................................ 38
7-1. DDE Library Client Functions..................................................................... 71
7-2. DDE Library Server Functions .................................................................... 80
7-3. DDE Library Summary ............................................................................... 86
7-4. Error Codes................................................................................................. 88
A-1. Sub-Systems Options .................................................................................. 116
A-2. Memory Options ......................................................................................... 116
A-3. Human Interface Options ............................................................................ 117
A-4. Application Loader Options ........................................................................ 117
A-5. EIOS Options.............................................................................................. 118
A-6. BIOS Options.............................................................................................. 118
A-7. Device Drivers Options ............................................................................... 119
A-8. System Debug Monitor Options .................................................................. 120
A-9. Nucleus Options.......................................................................................... 120
A-10. Nucleus Communication Service Options ................................................... 121
A-11. DOS Extender Reserved Interrupts.............................................................. 121
Figures
1-1. Making Nucleus System Calls with the DOS Real-time Extension .............. 15
1-2. Making DOS and ROM BIOS Requests from an iRMX Application ........... 17
1-3. Using Networking to Access Files on the iRMX File System ...................... 19
1-4. Accessing DOS Files with the EDOS File Driver ........................................ 20
6-1. Launching Commands from Multiple Clients to a Single Server ................. 52
6-2. Launching Commands within a Single System Client and Server................ 52
6-3. DOS-only System Accessing an iRMX System ........................................... 54
7-1. RTE Communication between iRMX and Windows
within the Same System........................................................................... 62
7-2. NetBIOS Communication between iRMX and Windows
within the Same System........................................................................... 62
7-3. NetBIOS Communication between iRMX and Windows on
Different Systems .................................................................................... 63
7-4. TCP/IP Communication between iRMX and Windows on
Different Systems .................................................................................... 63
7-5. iRMX to Windows DDE Conversations ...................................................... 70
7-6. Windows to iRMX Conversations ............................................................... 79
7-7. Supervisor/Controller Communications....................................................... 108
7-8. The Visual Basic Supervisor ....................................................................... 109
✏ Note
The iRMX for Windows OS is supported only for Windows 3.1
and Windows 3.11.
This manual is for programmers who are familiar with:
• Applications programming in the DOS and Windows environment
• Terms and concepts for the iRMX OS
See also: Introducing the iRMX Operating Systems,
System Concepts
• C or PL/M programming language
See also: iC-386 Compiler User's Guide,
PL/M-386 Programmer's Guide
The iRMX for Windows OS provides a set of powerful extensions to DOS and
Windows. With it you can develop DOS and Windows applications that
incorporate the preemptive, priority-based multitasking and real-time response of
the iRMX OS.
iRMX for Windows enables:
• MS-DOS or PC-DOS OSs to run concurrently with the iRMX OS on the same
microprocessor and to share the same console
• Existing DOS Real Mode application programs, including most off-the-shelf
applications, to run under DOS with no modification
12 Chapter 1 Introduction
✏ Note
When running DOS/Windows on a stand-alone system, the
PCLINK2 Networking Adapter facilitates access to the OpenNET
networking protocol. This access is restricted to systems running
only Windows 3.1 or 3.11. The access is based upon a NetBIOS
interface, which is built into Windows for Workgroups, Windows
95, and Windows NT.
Table 1-1 shows the facilities required to perform certain operations between the
iRMX OS and Windows.
Table 1-1. Facilities for Supporting Various iRMX OS and Windows Configurations
*See also: TCP/IP and NFS for the iRMX Operating System
VM86 Dispatcher
The VM86 Dispatcher enables DOS to run as a task under iRMX for Windows by:
• Switching the microprocessor addressing mode, depending on which OS is
running
• Ensuring that interrupts are handled by the appropriate OS
• Providing file sharing between the OSs
• Preventing hardware resource conflicts between the OSs
The VM86 Dispatcher is preconfigured into iRMX for Windows as an iRMX
first-level system job.
See also: System jobs, System Concepts
DOS is not supplied with iRMX for Windows; you must install PC-DOS or
MS-DOS OS before you can run iRMX for Windows. You can install compatible
off-the-shelf DOS applications before you run iRMX for Windows.
14 Chapter 1 Introduction
The Intel-supplied VM86 Protected Mode extensions provided by the VM86
Dispatcher include:
• DOS Real-time extension (RTE)
• Network Redirector (NETRDR)
You can also write your own VM86 Protected Mode extensions.
See also: rqe_set_vm86_extension, in this manual and System Call Reference
Real-time Extension
The DOS Real-time Extension (RTE) enables you to call some of the iRMX
Nucleus system calls from within a DOS application program. By using the RTE, a
DOS application program can communicate with a concurrently-running iRMX
application program using standard iRMX techniques. The RTE includes system
calls that create and delete iRMX objects and descriptors, read and write segments,
and catalog and look up objects.
Figure 1-1 illustrates how a DOS application makes a Nucleus system call.
DOS Application
VM86 Dispatcher
Real-time Extension
Nucleus Request
iRMX® Nucleus
W-2787
Figure 1-1. Making Nucleus System Calls with the DOS Real-time Extension
Windows Support
iRMX for Windows supports the graphical environment of Windows. Windows
can be used as an operator interface for real-time iRMX tasks. Use the DOS RTE
to call iRMX Nucleus system calls from a Windows application.
Windows provides a powerful interface and development facility for iRMX
real-time applications.
Standard Mode Windows applications are supported. These loadable system jobs
provide this support:
• himem.job provides DOS extended memory and HMA services required by
Standard Mode Windows.
• smw.job provides support for Standard Mode Windows by encapsulating the
DOSX subsystem of Standard Mode Windows and running it in the context of
the DOS task.
See also: Loadable Jobs, System Configuration and Administration
Applications using the iRMX DDE Library functions can pass data between
Windows applications and real-time iRMX tasks. iRMX applications participate in
Windows DDE communications using the iRMX OS's network communications
facility. Therefore, Windows DDE applications can communicate over a network
with these iRMX applications:
• iRMX for Windows applications on the same system
• Applications on any networked iRMX OS
• Applications on a different board in a Multibus II system
iRMX applications that use the DOS RTE for Windows DDE communications are
restricted to communications within the local machine.
iRMX applications act as DDE clients or servers depending upon the application.
16 Chapter 1 Introduction
Making DOS/ROM BIOS System Calls from the
iRMX OS
iRMX for Windows enables iRMX programs to use the DOS and ROM BIOS
software interrupt services, including any special ROM BIOS functions provided
by add-in adapters, rather than implementing the same function as iRMX system
calls.
Figure 1-2 illustrates how iRMX programs can make a DOS/ROM BIOS call.
iRMX Application
VM86 Dispatcher
Software Interrupt
RMX TSR
Int 21H
DOS
W-2788
Figure 1-2. Making DOS and ROM BIOS Requests from an iRMX Application
For example, your iRMX application program can use the DOS Get Free Disk
Space example to check available space on a network disk drive.
See also: Get Free Disk Space Example, Chapter 4,
rqe_dos_request, System Call Reference
18 Chapter 1 Introduction
Figure 1-3 illustrates how DOS file requests are carried out by the I/O System.
DOS Application
VM86 Dispatcher
File Request
OM02490
Figure 1-3. Using Networking to Access Files on the iRMX File System
The iRMX file system could be a separate drive or an iRMX partition on a drive
containing both DOS and iRMX partitions, or even a remote drive accessed
through iRMX-NET.
See also: File types, System Concepts
iRMX Application
I/O Request
iRMX BIOS
VM86 Dispatcher
Software Interrupt
RMX TSR
Int 21H
DOS
W-2790
Figure 1-4. Accessing DOS Files with the EDOS File Driver
20 Chapter 1 Introduction
Networking
iRMX for Windows supports both DOS and iRMX networking. This support
provides a variety of capabilities:
• DOS and iRMX applications that communicate on the network run unchanged
when they run within the same system.
• DOS files can be accessed from a remote file consumer without a dedicated
file server.
• DOS and iRMX OSs running within the same system can share a single
network controller.
• OpenNET networking support provides connections to computers running the
DOS and UNIX OSs.
• DOS networking applications can use the network controller in a Multibus I or
Multibus II system.
• iRMX applications can be remotely invoked from a DOS or Windows
environment.
A PC running iRMX for Windows can run this network software:
• MS-Net client or server
• IBM PC LAN client or server
• Novell NetWare client
• Combinations of MS-Net and NetWare on one computer
PCs running iRMX for Windows can also run this iRMX network software:
• iRMX-NET consumer and server for remote file access, which can coexist
with DOS network software
• iNA 960 jobs for a programmatic interface, but which cannot coexist with
DOS network software.
• Null data link network jobs that allow DOS to access the iRMX file system
without an Network Interface Controller (NIC).
See also: Network jobs, i*.job, System Configuration and Administration,
Introduction, Network User's Guide and Reference
System Configuration
iRMX for Windows is preconfigured to run in the DOS and Windows environment,
however you may change some aspects of the OS for a particular application.
Certain parts of the OS are loadable, including loadable file and device drivers and
loadable jobs.
You load these elements into the system with the sysload command in the
:config:loadinfo file. Loadable device drivers allow you to write procedures to
invoke and interface to additional custom, random access, and terminal hardware.
Loadable file drivers enable you to include custom file drivers.
The OS includes an rmx.ini file for load-time configuration. As layers of the OS
boot, they read entries from this file. The rmx.ini file contains entries that match
settings preconfigured into iRMX for Windows. You can modify the existing
entries to fine-tune your use of the OS.
You can also use the Interactive Configuration Utility (ICU) to change the
configuration of the iRMX for Windows or iRMX for PCs OSs.
See also: Loadable jobs and drivers, System Configuration and Administration,
Loadable device drivers, Driver Programming Concepts,
Physical device names, Command Reference,
ICU Quick Reference, ICU User’s Guide and Quick Reference
■ ■ ■
22 Chapter 1 Introduction
DOS Real-Time Extension 2
The DOS Real-time Extension (RTE) enables DOS and Windows application
programs to use the real-time protected mode features of the iRMX Nucleus. Not
all iRMX Nucleus system calls are supported by the RTE.
▲
▲
! CAUTION
Some RTE calls are available from DOS, but not from Windows
(and not from a DOS window in Windows). These include
rq_sleep and all calls that support regions. Also, calls that block
can only set a time_limit value of 0 or 1 when Windows is
present. See the footnotes to Table 2-1 for details on calls that
block.
RQEGetRmxStatus Call
Use the RQEGetRmxStatus RTE call to check if the iRMX OS is loaded. Use
this call before any other RTE calls to insure RTE services are available.
Unpredictable results occur if RTE calls are called when iRMX is not present.
See also: RQEGetRmxStatus, System Call Reference
The call returns E_OK if iRMX is loaded and running, or E_EXIST if iRMX is not
present or unavailable. The call is provided in binary form as a linkable module in
the file \rmx386\demo\rte\lib\rmxfuncs.obj.
✏ Note
The DOS RTE demonstration program was compiled using
Microsoft C, Version 7.0, compact model. If you are using the
same compiler and model you can use the source as it is.
Otherwise, compile the source using your compiler, make any
necessary changes, and then recompile.
Enter option (1 to 8) :-
Press the <Alt +> and <Alt -> keys (using the plus and minus keys on the numeric
keypad) to change the background and foreground colors for the iRMX version of
the demonstration. Since the appearance of the menus is identical, you can use
color to tell you whether you are in the DOS or the iRMX version.
See also: Changing iRMX Console Color, Installation and Startup
You may invoke six different types of functions: mailboxes for data and objects,
semaphores, PVAM segments, descriptors, and data display. The functions are
described in the following sections.
Enter option (1 to 3) :-
These functions allow you to send and receive objects (segments or descriptors) to
or from a named mailbox. The mailbox may be created by either the DOS or
iRMX version of the demonstration program.
Enter option (1 to 4) :-
If you are not creating a segment, you can delete or display a segment created
previously by either the DOS or the iRMX version of this program.
Create Descriptor
This option creates a named descriptor of any size and absolute address.
Delete Descriptor
If you created the descriptor from DOS, delete it from DOS.
Display Descriptor
This option displays a PVAM segment or descriptor in blocks of 160 bytes
maximum. The PVAM segment or descriptor is displayed in lines of 16 bytes,
followed by the printable ASCII characters for each byte. If a byte is not a
printable ASCII character, a . (period) is displayed instead. You are prompted for
input to continue (any key) or quit (Q or q).
The segment or descriptor is looked up under its user name.
Enter option (1 to 3) :-
▲
! CAUTION
Do not copy data over vital DOS system or application memory,
or to memory mapped out to I/O devices. Otherwise, your system
could develop problems.
■ ■ ■
✏ Note
VM86 Protected Mode Extension cannot be used from within
Windows running in Standard Mode.
Interrupt Function
Hex Decimal
00H-10H 0-16 Microprocessor traps and DOS
hardware vectors
✏ Note
Every DOS program has a unique identifier: the address of its
Program Segment Prefix (PSP). The VM86 extension can use
rqe_dos_request to obtain the current PSP. This enables the
VM86 extension to track which resources are allocated to which
DOS program.
To ensure that the PSP address obtained is the PSP of the current
DOS program, rather than that of the RMX TSR program, set the
tsr_flag parameter to 1 in the rqe_dos_request call.
■ ■ ■
■ ■ ■
Real-time Fence
The real time fence is set at priority level 127. All active DOS-owned interrupts
are temporarily masked when tasks are running at or above (numerically lower
than) priority level 127. The real-time fence here is different from the real-time
fence used with round robin scheduling. This preserves the real time aspect on the
iRMX OS side of an iRMX for Windows application system. If you make an
rqe_dos_request call from an iRMX task running at a priority above or equal to
this real-time fence, you will receive an E_TIME condition.
See also: Real-time fence, System Configuration and Administration
DOS
DLC.EXE
iRMX OS
iRMX
Server
Windows
RLS.JOB
iRMX OS
OM02559
PC System
DOS
DOS Network job
Client
DLC.EXE
command
iRMX OS
iRMX
Server
RLS.JOB
command execution
OM02560
Figure 6-2. Launching Commands within a Single System Client and Server
DOS
DLC.EXE
PCLINK2
iRMX
Server
Windows
RLS.JOB
WLC.EXE command command
execution
Network job
PCLINK2
OM04421
To access an iRMX Load Server from a DOS client using netbios.exe with a
PCLINK(2) communication board, you must modify the config.nia file. Use this
procedure:
1. At the DOS prompt, change to the directory where the PCLINK software is
loaded. This directory should contain the config.nia for MS-NET netbios.exe.
If this directory does not exist, change to the \pclr3 directory.
2. Invoke admin.exe.
3. Choose menu item 3, Modify Socket Type Table.
A. Press the <Up arrow> twice to move the cursor to the "Type PgDn..."
prompt.
B. Press the <PgDn> key until socket 52H appears. Use the <Up arrow> key
to move into the field to edit it.
C. Change the type value for socket 52H to 0006.
D. Use the <PgDn> key and change the type value for socket 72H to 0006.
Using RLS.JOB
The rls.job file, in the /rmx386/jobs directory, acts as a Remote Load Server. It lets
you launch iRMX applications remotely for execution on the Remote Load Server's
system.
✏ Note
The Network Redirector job will also need to be loaded if you
wish to launch iRMX programs from DOS or Windows on the
same system. It is not required if programs are only to be
launched from remote clients.
See also: i*.job, Loadable Jobs and Drivers,
System Configuration and Administration
Running RLS.JOB
By default, the sysload invocation of this job is commented-out in the file
:config:loadinfo. To automatically load rls.job, uncomment (remove the
semicolon) from the rls.job entry in the file :config:loadinfo. You can also
manually load rls.job by using the sysload command from the iRMX prompt as
follows:
- sysload /rmx386/jobs/rls.job [MAX_DIALOGS=nnn] [MAX_MESSAGES=mmm]
Where:
MAX_DIALOGS (MD) is an optional parameter that specifies the maximum
number of simultaneous client dialogs supported by this server (1 to 255; default
is 16)
MAX_MESSAGES (MM) is an optional parameter that specifies the maximum
number of simultaneous outstanding terminal output messages supported by this
server (default is 256).
Using WLC.EXE
The file wlc.exe is a Windows executable installed in your \dosrmx directory. Use
wlc.exe to launch iRMX programs from Windows. The dlc.exe file requires
MS-NET or the iRMX Network Redirector.
Running WLC.EXE
To run wlc.exe, do this:
1. Start MS-NET or the iRMX-NET network redirector and then start Windows.
2. Start wlc.exe by double-clicking on the WLC icon. When the application starts
to run, a window will appear. From this window, pull down the PROGRAM
menu and select the LOAD option.
3. A dialog box will pop up asking for the server name, the initial Esubmit file
name, and the command name.
A. Enter the iRMX-NET network name (RLS property type) for the iRMX
Load Server.
B. Optionally, enter the name of an Esubmit file that is to be executed before
the command is.
C. Enter the directory path and the file name of the iRMX application to be
executed.
4. Click the OK button.
To pre-configure any of these parameters in wlc.exe, do this:
1. Single click on the WLC icon.
2. Pull down the File menu and select the Properties option. Edit the Command
Line as follows:
wlc [-A] [-Ffilename] [-Hnnn] [-Wnnn] [-Xnnn] [-Ynnn] [-E]
[server [dirpath command]]
Where:
-A Aborts on exit instead of leaving a completed window
-Ffilename
Initial Esubmit file name (executed before
command)
-Hnnn the height of window
-Wnnn Width of window
-Xnnn X position of upper left-hand corner of window
▲
▲
! CAUTION
The Esubmit file must not include an invocation of the iRMX
CLI command. Including the CLI command in the Esubmit file
causes unpredictable results. To invoke the iRMX CLI command
from WLC, specify it as the command.
By loading the iRMX CLI command from DLC or WLC, an iRMX user session is
created. You can create multiple iRMX user sessions by multiple invocations of
WLC.
■ ■ ■
GUI
Application
RTE
DDE
Router
Windows
DOS RTE
iRMX
OM04174
Figure 7-1. RTE Communication between iRMX and Windows within the Same System
GUI
Application
NETBIOS
DDE
Router
Windows
NETBIOS I/F
DOS (PCNET.EXE)
Real-time
Application
OM04175
NETBIOS I/F
(NETBIOS.EXE)
DOS iNA 960
iNA 960
PCLINK2 NIC iRMX
OM04176
Real-time
GUI Application
Application
TCP/IP DDE
TCP/IP DDE Library
Router
TCP/IP
TCP/IP Services
Windows (Winsock) iNA 960
TCP/IP Network
OM04177
✏ Note
If you use the TCP/IP protocol, the TCP/IP DDE Router does not
require this statement and ignores it if present. In all cases, the
TCP/IP protocol uses the name established for the machine during
the installation/configuration of the TCP/IP facility. Similarly,
the RTE protocol does not require a name because
communication is between entities within the same system
When you use the RTE protocol in an isolated iRMX for Windows system, the
RTE DDE Router must know which network name indicates that the target (server)
is an iRMX application running within the same system. To specify this name, add
the statement “RMXName=name” to the win.ini file. If you do not specify a name,
the default name is “RFW”.
✏ Note
You can also start DDE Routers automatically when Windows
initializes by placing icons for the DDE Routers in the “Startup”
Program Group.
where pc_name specifies a unique network name for the DOS machine.
pc_name must not be the same name assigned to iRMX-NET server or
client in the /net/data file.
To use the TCP/IP protocol, you must perform certain steps to install and configure
the TCP/IP service:
• For Windows 95 and Windows NT, the Windows installation process installs
and configures the TCP/IP service.
• For Windows for Workgroups, the TCP/IP service is a separate package called
“TCP/IP-32 For Windows For Workgroups.” You can obtain this package
from an on-line service, such as Microsoft’s Internet server. After obtaining
this package, follow the package’s instructions for installing and configuring.
• For Windows 3.1, the procedure for installing the TCP/IP package you have
chosen is described in the included documentation. The package you choose
must provide a version of winsock.dll compliant to Winsock Specification 1.1.
To use the RTE protocol with iRMX for Windows, you must ensure that the
dosrmx directory is included in the DOS PATH statement. You must also ensure
the RTE DDE Router running under Windows before you start any DDE-aware
iRMX applications.
DDE Messages
All DDE conversations are conducted by passing certain defined DDE messages
between server and client applications. Since the DDE Router is the interface
between the iRMX OS and Windows, these messages are passed between the
Router and Windows.
See also: iRMX Client to Windows server Conversations,
Windows Client to iRMX server Conversations, in this chapter
DDE Message Description
WM_DDE_ACK Sent in response to a received message. Provides a
positive or negative acknowledgment of the message
receipt.
WM_DDE_ADVISE Requests the server application to supply a notice for a
data item whenever it changes, such as during hot or
warm links.
WM_DDE_DATA Sends a data-item value to the client application.
WM_DDE_EXECUTE Sends a string to the server application, which parses it
into a series of commands.
WM_DDE_INITIATE Initiates a conversation between the client and server
applications.
WM_DDE_POKE Sends a data-item value to the server application.
WM_DDE_REQUEST Requests the server application to provide the data-
item value.
WM_DDE_TERMINATE Terminates a conversation.
WM_DDE_UNADVISE Terminates a permanent data link.
iRMX Client
Application
Communications Link
iRMX DDE Library
DDE Router
DDE Communications
Server Application
W-3334
Functions Action
dde_library_init Initialize the local DDE library
client_dde_initiate Request the start of a DDE conversation
client_dde_request Ask server to provide data
client_dde_poke Ask server to accept unsolicited data
client_dde_execute Send a command string to server
client_dde_run_application Start a Windows application
client_dde_terminate Halt a conversation
client_link_callback Accept linked data
client_dde_open_hot_link Ask server to update data whenever it changes
client_dde_close_link Tell server that a data item should no longer be
updated
client_dde_open_warm_link Ask server to notify client whenever data changes
✏ Note
Only the DDE-specific parameters of the iRMX DDE library
functions are described in these figures. The rmxdde.h header file
and the DDE Library section of this chapter completely describe
the syntax of all the iRMX DDE library functions.
(conversation_id) WM_DDE_ACK
W-3339
data
buffer
(data_item_value) WM_DDE_DATA
(item)
W-3340
W-3341
WIN_DDE_ACK
OM04419
WIN_DDE_ACK
OM04420
client_dde_terminate WM_DDE_TERMINATE
iRMX DDE DDE Windows
Client Library Router Server
WM_DDE_TERMINATE
W-3344
link callback
function
WM_DDE_ACK
W-3345
link callback
function (data_item_value) WM_DDE_DATA
(item)
W-3346
When the client no longer needs updates to the specified data item, it invokes the
client_dde_close_link function. The DDE library passes this request on to the
DDE Router. The router then sends a WM_DDE_UNADVISE message to the
server.
link callback
function
WM_DDE_ACK
W-3347
To initiate messages that a server would respond to in a DDE hot link transaction,
the iRMX client uses the functions listed in Table 7-1.
WM_DDE_ADVISE
iRMX client_dde_open_warm_link DDE DDE Windows
Client Library Router (item) Server
(data_item_name_p)
link callback
function
WM_DDE_ACK
W-3348
Similar to a hot link conversation, the DDE Router and the DDE library process
any WM_DDE_DATA messages, and the client's link callback function is
invoked. The callback function signals the iRMX client application, which must
then issue a client_dde_request.
link callback
function
(data_item WM_DDE_DATA
with NULL value) (NULL item)
W-3349
client_dde_request WM_DDE_REQUEST
iRMX DDE DDE Windows
Client Library Router Server
(data_item_name_p, (item)
data_buf_p)
data
buffer
(data_item_value) WM_DDE_DATA
(item)
W-3350
To end the warm link, the iRMX client invokes the client_dde_close_link function
as it does in a hot link conversation.
link callback
function
WM_DDE_ACK
W-3351
Client Application
DDE Communications
DDE Router
iRMX Server
Application
W-3335
Functions Action
dde_library_init Initialize the local DDE library
server_dde_register Notify the DDE library that the application is a
server
server_dde_update_link Notifies the DDE library that a linked data item is
ready to be sent
server_data_callback Respond to a client's poke, request, or execute
message
server_conversation_callback Respond to client's request to start or halt a
conversation
server_dde_terminate Halt a conversation that the client cannot halt
dde_library_init
iRMX
server_dde_register Server
(local_name_p,
DDE service_name_p, conv callback
Library conv_callback_p, function
data_callback_p)
data callback
function
W-3308
The library invokes the callback functions when appropriate. These sections
describe the appropriate conditions.
server_conversation_callback
(conversation_id) conv callback
function
WM_DDE_ACK (positive)
W-3352
WM_DDE_REQUEST iRMX
Windows DDE DDE
Client Router Library Server
(item)
server_data_callback
(data_item_name_ data callback
function_code) function
(positive)
data buffer
WM_DDE_DATA
(item)
W-3353
server_data_callback
(data_item_name,
function_code) data callback
function
(positive)
WM_DDE_ACK
W-3354
WM_DDE_ACK
W-3355
server_data_callback
(data_item_name,
function_code) data callback
function
WM_DDE_ACK (positive)
W-3356
WM_DDE_TERMINATE iRMX
Windows DDE DDE
Client Router Library Server
server_conversation_callback
(conversation_id) conv callback
function
(positive)
WM_DDE_TERMINATE
W-3357
client_dde_close_link
Cancels the request for asynchronous notification of changes in the value of a data
item established on either a warm link or a hot link.
See also: client_dde_open_hot_link function
client_dde_open_warm_link function
Syntax
void client_dde_close_link (WORD conversation_id,
char *data_item_name_p, WORD *status_p);
Parameters
conversation_id
Identifies the conversation that involves the data item that is no longer needed.
The conversation was established by the client_dde_initiate function.
data_item_name_p
Points to a string that contains the data item name.
status_p
Points to a value that contains the DDE status.
client_dde_execute
Requests that a string of commands be submitted to a DDE server for execution.
This is a synchronous function.
Syntax
void client_dde_execute (WORD conversation_id, char *command_p,
WORD *status_p);
Parameters
conversation_id
Identifies the DDE server that will receive the string of commands. The
conversation was established by the client_dde_initiate function.
command_p
Points to a string that contains the commands to be executed by the DDE server.
status_p
Points to a value that contains the DDE status.
client_dde_initiate
Initiates a DDE conversation on a specific topic with a DDE server application on a
specified machine. This is a synchronous operation.
Syntax
conversation_id = client_dde_initiate (char *machine_name_p,
char *service_name_p, char *topic_name_p,
LINKFUNCPTR link_callback_p, WORD *status_p);
Return Value
conversation_id
A unique conversation identifier for one instance of a conversation on a particular
machine. This identifier is used in subsequent calls.
Parameters
machine_name_p
Points to a string specifying the name for the remote machine. When using the
NetBIOS DDE Transport, the name must match that assigned to the Windows
machine using the pcname parameter (in win.ini). When using the TCP/IP DDE
Transport, the name must be the Internet name assigned to the machine you want to
talk to. Names are case-insensitive when using either the NetBIOS or TCP/IP DDE
Transports. When using the RTE DDE Transport, the name is not important. In
this case, the DDE library can only communicate with the RTE DDE Router
running under Windows on the same machine.
service_name_p
Points to a string containing the service name of the DDE server application.
topic_name_p
Points to a string containing the topic name for the DDE conversation.
link_callback_p
Points to a client's link notification callback function. This may be null if no links
will be established.
status_p
Points to a value that contains the DDE status.
Additional Information
The client application may establish multiple conversations with the same DDE
server application.
See also: client_dde_open_hot_link function and
client_dde_open_warm_link function
client_dde_open_hot_link
This function requests the DDE server to send the updated value of a specified data
item whenever it changes.
Syntax
void client_dde_open_hot_link (WORD conversation_id,
char *data_item_name_p, WORD *status_p);
Parameters
conversation_id
A word that identifies the conversation whose topic contains the requested data
item. The conversation was established by the client_dde_initiate function.
data_item_name_p
Points to a string that contains a data item name. The client wants the server to
return the value of this data item each time the value changes.
status_p
Points to a value that contains the DDE status.
Additional Information
The client application is notified of changes in the specified data item using a
callback function that it provided to the DDE library with the client_dde_initiate
function. The library invokes the callback function and provides the function with
the new value of the data item that it received from the server.
If the DDE server is an iRMX application, it uses the server_dde_link function to
send the new value to the library.
client_dde_open_warm_link
This function requests the DDE server to send notification whenever the value of a
specified data item changes.
Syntax
void client_dde_open_warm_link (WORD conversation_id,
char *data_item_name_p, WORD *status_p);
Parameters
conversation_id
A word that identifies the conversation whose topic contains the requested data
item. The conversation was established by the client_dde_initiate function.
data_item_name_p
Points to a string that contains a data item name. The client wants notification
from the server each time the value of this data item changes.
status_p
Points to a value that contains the DDE status.
Additional Information
The client application is notified of changes in the specified data item using a
callback function that it provided to the DDE library with the client_dde_initiate
function. The library invokes the callback function but it does not give the
function the new value of the data item. Instead, the client must issue a
client_dde_request function if it requires the new value of the data item. The
client_dde_request function call may not be made in the callback function.
If the DDE server is an iRMX application, it uses the server_dde_link function to
notify the library when the value changes.
client_dde_poke
This function pokes a data item value in a DDE server application. This is a
synchronous operation.
See also: client_dde_initiate function
Syntax
void client_dde_poke (WORD conversation_id,
char *data_item_name_p, char *data_value_p,
WORD *status_p);
Parameters
conversation_id
A word that identifies the conversation whose topic contains the data item to be
poked. The conversation was established by the client_dde_initiate function.
data_item_name_p
Points to a string that contains a data item name of the server. The client wants to
poke a value into this data item.
data_value_p
Points to a string that contains the value to be poked into the specified data item.
status_p
Points to a value that contains the DDE status.
client_dde_request
This function obtains the value of a data item from the DDE server. This is a
synchronous operation.
Syntax
void client_dde_request (WORD conversation_id,
char *data_item_name_p, char *data_buf_p,
WORD data_buf_size, WORD *status_p);
Parameters
conversation_id
A word that identifies the conversation whose topic contains the data item
requested. The conversation was established by the client_dde_initiate function.
data_item_name_p
Points to a string that contains a data item name of the server. The client wants the
value of this data item.
data_buf_p
A client application buffer area. The DDE library copies the retrieved data item
value into this buffer area.
data_buf_size
The maximum size of the data item value that may be retrieved. An error is
returned if the data item value including the terminating null character does not fit
in the buffer.
status_p
Points to a value that contains the DDE status.
Additional Information
An iRMX server uses the server_data_callback function to respond to a
client_dde_request function.
client_dde_run_application
This function enables an iRMX application to start a Windows program. This is a
synchronous operation.
Syntax
void client_dde_run_application (char *machine_name_p,
char *command_p, WORD flags, WORD *status_p);
Parameters
machine_name_p
Points to a string specifying the name for the remote machine. When using the
NetBIOS DDE Transport, the name must match that assigned to the Windows
machine using the pcname parameter (in win.ini). When using the TCP/IP DDE
Transport, the name must be the Internet name assigned to the machine you want to
talk to. Names are case-insensitive when using either the NetBIOS or TCP/IP DDE
Transports. When using the RTE DDE Transport, the name is not important. In
this case, the DDE library can only communicate with the RTE DDE Router
running under Windows on the same machine.
command_p
Points to a string containing the command line to be executed.
flags A word containing one of these: DDE_NORMAL, DDE_MAXIMIZED,
DDE_MINIMIZED to determine the initial state of the application's window.
status_p
Points to a value that contains the DDE status.
client_dde_terminate
This function terminates a previously established DDE conversation.
Syntax
void client_dde_terminate (WORD conversation_id,
WORD *status_p);
Parameters
conversation_id
A word that identifies the conversation to be terminated. The conversation was
established by the client_dde_initiate function.
status_p
Points to a value that contains the DDE status.
client_link_callback
The DDE library invokes this function after being notified using a
server_dde_update_link function that a linked data item is ready to be sent.
Syntax
void client_link_callback (WORD conversation_id,
char *topic_name_p char *dde_data_item_p,
char *dde_data_value_p);
Parameters
conversation_id
A word that identifies the conversation whose topic contains the data item to send.
The client specified this identifier in a previous dde_open_warm_link or
dde_open_hot_link function.
topic_name_p
Points to a string containing the topic name for the DDE conversation.
dde_data_item_p
Points to a string containing the data item name. The pointer to this string points to
a DDE library buffer and must not be retained and used by the application after the
callback function returns.
dde_data_value_p
Points to a string containing the data item value. The pointer to this string points to
a DDE library buffer and must not be retained and used by the application after the
callback function returns. This parameter is undefined in callbacks for warm links.
Additional Information
The client application makes this function available to the DDE library using the
client_dde_initiate function.
This function is of type LINKFUNCPTR, as defined in rmxdde.h.
dde_library_init
This function initializes the local instance of the iRMX DDE library.
Syntax
void dde_library_init (CONFIGBUF *config_buf_p,
WORD *status_p);
Parameters
config_buf_p
Reserved.
status_p
Points to a value that contains the DDE status.
Additional Information
An iRMX application must invoke this function before an iRMX client application
makes any calls or before an iRMX server application makes or responds to any
calls. Invoke this function only once.
✏ Note
When using the RTE communications protocol, the initialization
fails if the RTE DDE Router is not running under Windows.
server_conversation_callback
The DDE library invokes this function when a DDE client attempts to initiate or
terminate a conversation.
Syntax
status = server_conversation_callback (char *client_name_p,
char *service_name_p, char *topic_name_p,
WORD conversation_id, WORD function_code);
Return Value
status
The application must return a WORD value of 0 if the conversation is accepted or a
value of 0XFFFFH if not accepted.
Parameters
client_name_p
Points to a string containing the client machine name. The pointer to this string
points into a DDE library buffer and must not be retained and used by the
application after the callback function returns.
service_name_p
Points to a string containing the requested service name. The pointer to this string
points into a DDE library buffer and must not be retained and used by the
application after the callback function returns.
topic_name_p
Points to a string containing the requested topic name. The pointer to this string
points into a DDE library buffer and must not be retained and used by the
application after the callback functions returns.
conversation_id
A word identifying this DDE conversation. The application must save this for use
in subsequent calls.
function_code
Set to DDE_INITIATE or DDE_TERMINATE to specify the requested action.
Additional Information
The server application makes this function available to the DDE library using the
server_dde_register function, defined as type LINKFUNCPTR in rmxdde.h.
server_data_callback
The DDE library invokes this function when a DDE client attempts to poke,
request, or execute data or attempts to initiate or close a link.
Syntax
status = server_data_callback (char *client_name_p,
char *service_name_p, char *topic_name_p,
WORD conversation_id, char *data_item_name_p,
char *data_buf_p, WORD data_buf_size,
WORD function_code);
Return Value
status
The application must return a WORD value of 0 if the conversation is accepted or a
value of 0XFFFFH if not accepted.
Parameters
client_name_p
Points to a string containing the client machine name. The pointer to this string
points to a DDE library buffer and must not be retained and used by the application
after the callback function returns.
service_name_p
Points to a string containing the requested service name. The pointer to this string
points to a DDE library buffer and must not be retained and used by the application
after the callback function returns.
topic_name_p
Points to a string containing the requested topic name. The pointer to this string
points into a DDE library buffer and must not be retained and used by the
application after the callback function returns.
conversation_id
A word identifying this DDE conversation. The conversation was allocated in an
earlier invocation of the server conversation callback.
data_item_name_p
Points to a string containing the data item name.
data_buf_p
A buffer area that contains the value of the specified data item if the client is
attempting to write a data item. If the client is attempting to read a data item, the
server must fill in the requested data in this buffer.
data_buf_size
The size in bytes of the buffer specified by data_buffer_p. This value is only
valid and relevant when a client is attempting to read a data item value. For a
DDE_REQUEST, the string placed into the data buffer must not exceed this value.
function_code
Set to DDE_POKE, DDE_REQUEST, DDE_EXECUTE, DDE_WARM_LINK,
DDE_HOT_LINK, or DDE_CLOSE_LINK to specify the requested action.
Additional Information
For convenience, the application is given the client machine name, service name
and topic name. All of these are uniquely identified by the conversation identifier
and are redundant.
The server application makes this function available to the DDE library using the
server_dde_register function.
server_dde_register
This function notifies the DDE library that the application invoking this function is
a DDE server.
Syntax
void server_dde_register (char *local_machine_p,
char *service_name_p, CONVFUNCPTR conv_callback_p,
DATAFUNCPTR data_callback_p, WORD *status_p);
Parameters
local_machine_p
Points to a string specifying the local machine name. This parameter is important
only when using the NetBIOS DDE Transport, where the library can track a unique
machine name for each server.
service_name_p
Points to a string containing the service name of the server application.
conv_callback_p
Points to a server conversation callback function.
data_callback_p
Points to a server data callback function.
status_p
Points to a value that contains the DDE status.
Additional Information
The server application is notified of requests to open a conversation using a
conversation callback function. The server is notified of requests to read and write
data items and to create hot links and warm links using a data callback function.
✏ Note
When using the TCP/IP Transport, the registration fails if the
special DDE TCP/IP support job (tcpdde.job) is not loaded before
the registration attempt.
server_dde_terminate
This function enables an iRMX application acting as a DDE server to terminate a
DDE conversation established to it by a specified client. This is a synchronous
operation.
Syntax
void server_dde_terminate (WORD conversation_id,
WORD *status_p);
Parameters
conversation_id
A word that identifies a conversation that the server needs to terminate. The
conversation was returned to the server in an earlier invocation of the conversation
callback.
status_p
Points to a value that contains the DDE status.
Additional Information
This function is not necessary in normal operation since clients normally terminate
conversations. However, servers can also use this command to terminate
conversations if errors occur.
server_dde_update_link
This function enables an iRMX application that has registered itself as a DDE
server and accepted a hot link or a warm link from some DDE client, to notify the
DDE library that a linked data item is ready to be sent. This is a synchronous
operation.
Syntax
void server_dde_update_link (WORD conversation_id,
char *data_item_name_p, char *data_value_p,
WORD *status_p);
Parameters
conversation_id
A word that identifies the conversation whose topic contains the data item to be
sent. The identifier was returned to the server in an earlier invocation of the
conversation callback.
data_item_name_p
Points to a string that contains the data item name.
data_value_p
Points to a string that contains the value to be sent to the DDE server. This must be
null if the link is a warm link.
status_p
Points to a value that contains the DDE status.
DC Motor Example
The example uses DC motor control to illustrate the use of DDE software. As
shown in Figure 7-7, a DC motor is one of the devices participating in Process A
that resides on some local or remote PC, Multibus I, or Multibus II system. The
object is to provide an operator interface that enables high-level monitoring, and
control of the motor through supervisory commands. This example is restricted to
the motor although the operator might also be interested in monitoring and
controlling other devices.
Motor Control
DC Motor
Terminal
Process A
Keyboard
PC AT DDE
+ DOS/Windows Communications iRMX® for Windows
+ Visual Basic based CPU host +
DDE Library
controlling motor
W-3338
DC Motor #1 - C
ONCmd ON
OFFCmd OFF
Msg
W-3315
✏ Note
Only the make file and the source file are provided for the Visual
Basic application. The Visual Basic software must be purchased
separately.
■ ■ ■
Memory Configuration
Table A-2. Memory Options
Memory for System Default
Start Address 110000H
End Address 1FFFFFH
Memory for Free Space Default
Start Address 0200000H
End Address 0FFFFFFFFH
BIOS Default
Attach Device Task Priority 129
Timing Facilities Required Yes
Timer Task Priority 129
Connection Job Delete Priority 130
Ability to Create Existing Files Yes
System Manager ID Yes
Common Update Timeout 1000
Terminal Support Code Yes
Control-Sequence Translation Yes
Terminal OSC Controls Yes
Tape Support No
BIOS Pool Minimum 0800H
BIOS Pool Maximum 0FFFFFH
Global Clock ATRT
Global Clock Name*
* The Global Clock Name has a blank string as a default.
Nucleus Configuration
Table A-9. Nucleus Options
Nucleus Default
Number of GDT Entries 8000
Number of IDT Entries 256
Parameter Validation Yes
Root Object Directory Size 200
Default Exception Handler SDB
NMI Exception Handler IGNORE
NMI Enable Byte 4
Exception Handler for Stack Exception SDB
Name of Ex Handler Object Module
Exception Mode NEVER
Low GDT/LDT Slot Excluded from FSM 0
High GDT/LDT Slot Excluded from FSM 0
Round Robin Priority Threshold 140
Round Robin Time Quota 5
Report Initialization Errors YES
Maximum Data Chain Elements 0
Nucleus Communication Service YES
DOS Extender
Reserved Interrupts Default
Master Level 0 Clock
Master Level 2 Slave PIC
■ ■ ■
124 Index
I P
i*.job, 21 partitions, DOS and iRMX OS, 18
i*.job file, 68 PC-DOS, 11
IDT, 38 pcnet.exe file, 18, 53
iNA 960 network job, 68 PL/M 286 convention, 27
inadde.lib file, 61, 87 pointer
initializing the DDE library, 100 parameter, 25
real mode, 25
installing a VM86 extension, 38
pre-configured options, 115
intel\include\ directory, 88
application loader, 117
interrupt, levels, 37
BIOS, 118
Interrupt Descriptor Table, 38 device drivers, 119
interrupt handler EIOS, 118
software, 37 human interface, 117
VM86 Mode-generated, 39 memory, 116
interrupts Nucleus, 120
DOS, description of handling, 38 Nucleus Communication Service, 121
masked, DOS, 50 sub-systems, 116
response time, 49 System Debug Monitor, 120
RTE, 27 VM86 Dispatcher reserved interrupts, 121
protected mode, 14, 37
vectored to PVAM handler, 39
PVAM, 37
interrupt handler, 39
L
loadinfo file, 22, 67 R
loadname command, 53 real mode
pointer, 25
M stack, 27
real-time extensions, 15
machine name, 81, 101 registering iRMX DDE server, 104
manual DDE router startup, 66 restrictions, extension, 40
message routers, 59 rls.job job, 51, 53, 55
MS-DOS, 11 rmx.ini file, 22
rmx386\demo\dde\vb directory, 111
rmx386\demo\rte\lib\ directory, 25
N rmx386\demo\rte\obj\ directory, 28
rmx386\demo\wterm directory, 36
net3c.lib file, 87
rmx386\jobs\ directory, 14
netrdr.job job, 18, 53
rmx4win.dll file, 25
NULL data_value_p parameter, 106 rmxc.h file, 26
rmxdde.h file, 71, 99, 101
O rmxext.c file, 41
rmxfuncs.obj file, 25
objects, deleting, 25 rmxintfc.h file, 26
OpenNET protocol, 61 rmxtsr.exe file, 14
S W
warm link, 60
separator character, 65
warm link conversation
service information, inside back cover
service name, 81, 101, 102 closing, 89
setname command, 53 notifying the DDE library, 106
smotor.* file, 112 opening, 94
smw.job job, 14 win.ini file, 72
socket3c file, 87 winsock.dll file, 68
stack, real mode, 27 wlc.exe file, 51, 56
string types, 60 writing extensions, 37
system calls wterm file, 36
126 Index
iRMX® Programming Concepts
for DOS and Windows
469154-003
■ Manual organization ❒ ❒ ❒ ❒
■ Technical accuracy ❒ ❒ ❒ ❒
■ Completeness ❒ ❒ ❒ ❒
■ Clarity of concepts and wording ❒ ❒ ❒ ❒
■ Quality of examples and illustrations ❒ ❒ ❒ ❒
■ Overall ease of use ❒ ❒ ❒ ❒
Comments: ________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
Please list any errors you found (include page number): ________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
Name ____________________________________________________________________________
Company Name ____________________________________________________________
Address _________________________________________________________________________
_________________________________________________________________________________
May we contact you? ______________________ Phone _______________________________
Thank you for taking the time to fill out this form.
NO POSTAGE
NECESSARY
IF MAILED
IN THE
UNITED STATES
Please fold here and close the card with tape. Do not staple.
If you are in the United States and are sending only this card, postage
is prepaid.
If you are sending additional material or if you are outside the United
States, please insert this card and any enclosures in an envelope. Send
the envelope to the above address, adding "United States of America" if
you are outside the United States.
BRAZIL FINLAND
Intel Semiconductores do Brazil LTDA Intel Finland OY
Avenida Paulista, 1159-CJS 404/405 Ruosilantie 2
CEP 01311-Sao Paulo - S.P. 00390 Helsinki
CANADA FRANCE
Intel Semiconductor of Canada, Ltd. Intel Corporation S.A.R.L.
999 Canada Place 1, Rue Edison-BP 303
Suite 404, #11 78054 St. Quentin-en-Yvelines
Vancouver V6C 3E2 Cedex
British Columbia
GERMANY
Intel Semiconductor of Canada, Ltd. Intel GmbH
2650 Queensview Drive Dornacher Strasse 1
Suite 250 85622 Feldkirchen bei Muenchen
Ottawa K2B 8H6 Germany
Ontario
INDIA
Intel Semiconductor of Canada, Ltd. Intel Asia Electronics, Inc.
190 Attwell Drive 4/2, Samrah Plaza
Suite 500 St. Mark's Road
Rexdale M9W 6H8 Bangalore 560001
Ontario
ISRAEL
Intel Semiconductor of Canada, Ltd. Intel Semiconductor Ltd.
1 Rue Holiday Atidim Industrial Park-Neve Sharet
Suite 115 P.O. Box 43202
Tour East Tel-Aviv 61430
Pt. Claire H9R 5N3
Quebec ITALY
Intel Corporation Italia S.p.A.
Milanofiori Palazzo E
20094 Assago
Milano
JAPAN MEXICO
Intel Japan K.K. Intel Technologica de Mexico
5-6 Tokodai, Tsukuba-shi S.A. de C.V.
Ibaraki, 300-26 Av. Mexico No. 2798-9B, S.H.
44620 Guadalajara, Jal.,
Intel Japan K.K.
Hachioji ON Bldg. NETHERLANDS
4-7-14 Myojin-machi Intel Semiconductor B.V.
Hachioji-shi, Tokyo 192 Postbus 84130
3009 CC Rotterdam
Intel Japan K.K.
Bldg. Kumagaya RUSSIA
2-69 Hon-cho Intel Technologies, Inc.
Kumagaya-shi, Saitama 360 Kremenchugskaya 6/7
121357 Moscow
Intel Japan K.K.
Kawa-asa Bldg. SINGAPORE
2-11-5 Shin-Yokohama Intel Singapore Technology, Ltd.
Kohoku-ku, Yokohama-shi 101 Thomson Road #08-03/06
Kanagawa, 222 United Square
Singapore 1130
Intel Japan K.K.
Ryokuchi-Eki Bldg. SPAIN
2-4-1 Terauchi Intel Iberia S.A.
Toyonaka-shi, Osaka 560 Zurbaran, 28
28010 Madrid
Intel Japan K.K.
Shinmaru Bldg. SWEDEN
1-5-1 Marunouchi Intel Sweden A.B.
Chiyoda-ku, Tokyo 100 Dalvagen 24
171 36 Solna
Intel Japan K.K.
Green Bldg. TAIWAN
1-16-20 Nishiki Intel Technology Far East Ltd.
Naka-ku, Nagoya-shi Taiwan Branch Office
Aichi 460 8th Floor, No. 205
Bank Tower Bldg.
KOREA Tung Hua N. Road
Intel Korea, Ltd. Taipei
16th Floor, Life Bldg.
61 Yoido-dong, Youngdeungpo- UNITED KINGDOM
Ku Intel Corporation (U.K.) Ltd.
Seoul 150-010 Pipers Way
Swindon, Wiltshire SN3 1RJ
If you need to contact Intel Customer Support
Contacting us is easy. Be sure that you have the following information available:
• Your phone and FAX numbers ready • Your product’s product code
• Complete description of your hardware • Current version of all software you use
or software configuration(s) • Complete problem description
Type of Service How to contact us
FaxBACK* Using any touch-tone phone, U.S. and Canada: (800) 628-2283
fax-on-demand system have technical documents sent to (916) 356-3105
your fax machine. Know your
24 hrs a day, 7 days a week fax number before calling. Europe: +44-1793-496646
Intel PC and LAN Information on products, U.S and Canada: (503) 264-7999
Enhancement Support documentation, software drivers, Europe: +44-1793-432955
BBS firmware upgrades, tools, Autobaud detect
presentations, troubleshooting. 8 data bits, no parity, 1 stop
24 hrs a day, 7 days a week
CompuServe* Worldwide customer support: Worldwide Locations:
Information Service information and technical (check your local listing)
support for designers, engineers,
and users of 32-bit iRMX OS Type: GO INTELC once online.
24 hrs a day, 7 days a week and Multibus product families.
Customer Support Intel Multibus Support engineers U.S. and Canada: (800) 257-5404
offering technical advice and (503) 696-5025
troubleshooting information on FAX: (503) 681-8497
the latest Multibus products. Hrs: M-F; 8-5 PST
Europe: +44-1793-641469
FAX: +44-1793-496385
Hrs: M-F; 9-5:30 GMT
Hardware Repair Multibus board and system U.S. and Canada: (800) 628-8686
repair. (602) 554-4904
FAX: (602) 554-6653
Hrs: M-F; 7-5 PST
Europe: +44-1793-403520
FAX: +44-1793-496156
Hrs: M-F; 9-5:30 GMT
Sales Intel Sales engineers offering Worldwide: Contact your local Intel
information on the latest iRMX office or distributor
and Multibus products and their U.S. and Canada: (800) 438-4769
availability. (503) 696-5025
FAX: (503) 681-8497
Hrs: M-F; 8-5 PST
Correspondence Worldwide: Europe:
Mail letters to: Intel Customer Support European Application Support
Mailstop HF3-55 Intel Corporation (UK) Ltd.
5200 NE Elam Young Parkway Pipers Way
Hillsboro, Oregon 97124-6497 Swindon, Wiltshire
England SN3 1RJ
* Third-party trademarks are the property of their respective owners.