DQFS is a software product which allows machines running DOS (and MS-Windows) to share files actually located on machines running QNX and to use devices such as printers connected to QNX machines, as though they were local files and devices.
DQFS consists of file system redirector software that runs on the DOS computer, and a DQFS administrator that runs on the QNX system. Cynosure's DQnet network communications system ties the DOS redirector to the QNX administrator.
There are both QNX2 and QNX4 versions of the QNX administrator. When setting up DQFS, the system administrator specifies the mapping between DOS (remote) drives and QNX directories. The QNX directories can be any directory accessible to the QNX system, including directories available through QNX's Dosfsys.
All accesses to QNX files are vetted by the QNX security system. The system administrator specifies the userid that the DOS station has, and this controls how files in the mapped directories can be accessed. Files that are "visible" because they are in the directory tree mapped to a drive, may not be accessible if the file permissions don't allow it.
The DOS user can alter access to files by logging in. The DOS user specifies a QNX login name and valid password. If the QNX userid has been configured, then the actual mappings between drives and directories may be altered by the login.
DQFS fully supports DOS record locking so that users can run applications under DOS that make use of DOS record locking to share files.
DQFS also supports network printers. That is, the system administrator can specify that a printer port on a DOS system is to be redirected to a QNX printer, or QNX print spooler. This can be in addition to the DOS node's local printer, thus allowing DOS nodes to use an inexpensive local printer and also to access a more fully featured printer attached to a QNX node.
Another important feature of DQFS is the ability to provide QNX terminal access. The DOS user runs a program, DQTERM, which sets up a terminal session on the QNX fileserver node.
The DQFS redirector and network drivers take about 50K on a DOS computer. The redirector and network drivers can be installed in high memory.
DQSR is a software package from CYNOSURE Computer Technologies Incorporated that allows QNX and DOS programs to communicate with each other. The QNX and DOS computers have to be connected together using Arcnet or Ethernet and must be running Cynosure's DQnet networking software.
The QNX and DOS programs communicate using QNX-style Send()-Receive()-Reply() functions. DOS tasks may locate tasks running on QNX machines, then send messages to the located tasks. Similarly, QNX tasks can locate programs running on DOS machines and send messages to those programs.
QNX tasks use the standard Send(), Receive(), and Reply() functions provided with the operating system. Programs written to communicate with other QNX tasks can be used to communicate with DOS programs without change.
The DOS portion of DQSR works with both QNX-2 and QNX-4 systems. There is a version of DQSR for both QNX-2 and QNX-4. A DOS computer may be communicating with both QNX-2 and QNX-4 systems simultaneously.
The DQSR software package consists of a QNX administrator task that manages connections to DOS stations, and a DOS application program interface (api) that allows DOS application programs to use Send(), Receive(), Reply(), etc. calls. DQSR works with all versions of MS-DOS and PC-DOS after 3.1, and DR-DOS.
A typical use of the DQSR package is in an application that may have a user interface program that runs under MS-Windows, but that wants to access data stored in a QNX-resident database. The DOS-MSWindows program could locate the QNX database manager task, and then send messages to retrieve or alter data stored in the database.
DQSR (DOS-QNX Send-Receive) allows programs running on a DOS computer to use inter-process communications (IPC) over a network with tasks running on QNX computers. The transport of data across the network is handled by a DQnet TSR on the DOS computer and a DQnet administrator task running on a QNX computer. DQSR uses the DQnet transport mechanism to transport the IPC messages between computers.
Tasks running under QNX use the standard QNX Send()-Receive()-Reply() system calls, and use the qnx_name_locate() and qnx_name_attach() functions to find or record logical names for the tasks.
Programs running under DOS use DQSR's Send(), Receive(), Reply(), qnx_name_locate() and qnx_name_attach() functions. The programmer uses the same programming paradigm for DOS programs as used for QNX programs.
There are four parts to DQSR: two QNX tasks, dqsr and dqsragent, a DOS TSR (terminate-stay-resident) program to provide an interface between application programs and DQnet, and the DOS application interface library. There are six versions of the library, for use with the six possible memory models that programs can be compiled with under DOS. The libraries are called dqsrX.lib, where X is t for the tiny memory model library, s for the small model, c for the compact model, m for the medium model, l for the large model, and h for the huge model. (For an explanation of the memory models, please refer to the documentation that comes with your DOS-based C compiler.)
A Dynamic Link Library (DLL) version of the DOS application code is also available, to be used with MS-Windows applications.
Running DQSR on the QNX system involves starting the QNX DQsr task. This task acts as the overall administrator for communications with DOS-based programs. For each DOS program actively involved in communications with QNX tasks, an instance of dqsragent will be started by DQsr.
Running DQSR on the DOS system involves starting the DQSR TSR program. As noted above, this program handles the DQSR requests from DOS application programs, and uses the DQnet to route the requests to a QNX computer.
The DOS library contains object code for the Send(), Receive(), Reply() and other functions required to write DOS application programs that communicate with QNX programs.
DQDDE allows MS-Windows programs that use DDE messaging to exchange messages with QNX programs. DQDDE uses Cynosure's DQnet communications to exchange data between computers running MS-Windows and computers running QNX. DQnet supports Ethernet, Arcnet, Token Ring and serial communications connections.
In a typical application, a network of computers running QNX may be handling real-time data collection and control. An engineer develops some Excel spreadsheets under MS-Windows to model the plant. The input data has to come from the QNX network. DQDDE allows the engineer to use Excel's DDE capability to link cells in the spreadsheet to messages that are sent to QNX data collection tasks. The engineer does not have to copy data from a QNX screen or a printed report; the MS-Windows application can access the latest data in real time.
The following sections answer some of the questions most asked about DQDDE.
Dynamic Data Exchange (DDE) is a protocol used by MS-Windows to handle the exchange of messages between MS-Windows tasks. A task that provides a useful resource (such as data), is a called a server. Tasks that wish to make use of the resource are called client tasks. Servers indicate a willingness to receive messages, which they receive when clients send them.
DDE messaging is similar to, but not identical to, QNX message passing.
Client tasks initiate conversations by broadcasting an "initiate" message which MS-Windows delivers to all other tasks. A server task that provides the requested service or has the requested information responds to the message, starting the conversation or link. A server can have multiple links concurrently, by spawning hidden child windows.
Links can be "cold", "hot", or "warm".
Cold links work very much like QNX message passing. That is, an exchange consists of a request from the client followed by a response from the server. The client is blocked waiting for the server to respond.
Hot links allow the server to send multiple messages to a client. The client indicates that it wants to be advised about a particular item, and the server sends a message to the client every time the item changes. The client terminates the hot link by sending an unadvise message to the server.
Warm links are a mixture of cold and hot links. In the case of the warm link, the server tells the client when an item changes, but does not pass on the updated value(s). The client decides if it wants the latest item value, and if so, has to send a subsequent request to the server to actually obtain the item.
Standard DDE handles conversations between MS-Windows tasks running on the same computer. DQDDE from Cynosure allows conversations between MS-Windows tasks on one computer and QNX tasks on other computers.
DQDDE, from Cynosure Computer Technologies Incorporated, consists of three parts: an MS-Windows DDE router, a QNX DDE router, and a QNX application program interface library (API). The two routers are self-contained programs, and the QNX library is a set of object modules to help QNX application programmers process and reply to DDE formatted messages.
When running, the MS-Windows DDE router is informed (by MS-Windows) of client's requests for conversations. The DQDDE router transfers the requests across DQnet to the QNX-side DDE router. Replies from the QNX-side router come back across DQnet and are dispatched to the appropriate MS-Window client.
The QNX DDE router maintains a list of QNX server programs that are willing to accept DDE messages. When a message arrives, the QNX DDE router begins sending the message to all registered servers. If a server indicates that it handles the message, then the router stops distribution. If a server rejects the message, the router tries the next server.
The QNX DDE API is a set of routines designed to make writing a DDE server under QNX easier. The objective was to make it easy to port an existing MS-Windows server to QNX, while at the same time preserving the QNX programming model (Receive()-Reply()). The result is a compromise that should be easy for both the experienced QNX and MS-Windows programmer to understand.
DQINET is a software package from CYNOSURE Computer Technologies Incorporated allows multiple QNX2 and/or QNX4 networks to be connected on an internetwork for purposes of file transfer, printer sharing, etc. DQINET uses DQnet networking software as its communications platform.
DQINET works on a separate backbone to connect several QNX networks together. That is, each of the QNX networks has one computer that acts as a gateway between its network and the DQINET.
DQINET provides several utility programs to allow file manipulation across the various QNX networks.
DQSTERM, from CYNOSURE Computer Technologies Incorporated, is a DOS program that allows a PC-AT compatible computer to act as a terminal to a QNX4 (or QNX2) system. The DOS computer and the QNX4 computer are connected using serial (RS232) ports (with or without modems) at speeds up to 115.2 kbaud.
DQSTERM handles all of the QNX4 console control character sequences in the same way that the QNX4 console driver does. DQSTERM generates the same characters for key presses that QNX programs expect. That is, programs that output QNX4 console sequences to position text on the screen can run unchanged with DQSTERM.
DQSTERM can also be configured to emulate an ANSI (VT100) terminal. Other terminals can be emulated by developing the appropriate terminal definition.
DQSTERM supports file transfer using QNX's QCP protocol, or via user written protocols. A DOS version of the QCP file transfer program is supplied with DQSTERM. An interface library is available to allow users to write their own file transfer protocols to work with DQSTERM.
DQSTERM also supports a 'print-through' mode. Applications running on QNX can send a character sequence informing DQSTERM to send all subsequent characters to a file or printer. Later, a sequence can be sent to restore character display on the screen. This allows QNX application programs to use a remote printer attached to the DOS computer to print reports, etc.
DQSTERM also supports escapes to a file manager utility, a DOS shell, or to user-supplied programs.
Using the supplied PIF file, DQSTERM can be set up to run in a window on a MS-Windows or Windows95 computer.
DQBRIDGE, from CYNOSURE Computer Technologies Incorporated, is a DOS program that allows a PC-AT compatible computer to connect to a QNX4 or QNX2 computer and transfer one or more files from the QNX system to the DOS system. The DOS computer and the QNX4 computer are connected using serial (RS232) ports (with or without modems) at speeds up to 115.2 kbaud.
DQBRIDGE supports file transfer using QNX's QCP protocol, or via user written protocols. A DOS version of the QCP file transfer program is supplied with DQBRIDGE. An interface library is available to allow users to write their own file transfer protocols to work with DQBRIDGE.
DQBRIDGE uses the command line interface on the QNX system, and can be configured to use any system's text-based command interface. All commands, etc. are configurable.
1. Can DQfs be used to access DOS files and UNIX files?
Yes and yes. DQfs can access DOS files on any machine in the QNX network if that machine is running DosFsys and Cynosure's DQnet software. Also, if your QNX machines are running TCP/IP and NFS the NFS mounted drives will be accessable from your DOS machine.
2. Can DQfs co-exist with my existing Novell or WFW network?
Yes. There are two ways to accomplish this. Either use two network cards (one for DQnet and one for Novell or WFW) or use an ODI packet driver on the DOS machine which allows multiple protocols to talk to the same piece of hardware. In either case you will be able to do things like copy data from a QNX partition (drive D:) to a shared Novell or WFW drive (drive F:) in order to give access to all machines on your Novell or WFW network.
3. What about security?
DQfs takes full advantage of QNX security. Each DOS user can be set up to have access to a particular portion of the QNX filesystem. The DOS user has to login with a valid userid and password in order to gain access to the QNX filesystem. For greater flexiblity the QNX system administrator may configure a default user that gives DOS users access to a common directory without having to login.
4. Can DQsr be used to send messages between two DOS machines?
Yes, as long as there is a QNX machine on the network running the dqsragent administrator. The first DOS machine uses qnx_name_attach() to register a name with the dqsragent on the QNX machine. The second DOS machine will now be able to use qnx_name_locate() to locate the server and subsequently send messages back and forth.
5. Can DQsr be used with Visual Basic or Delphi?
Both. The DQsr API is provided in standard DOS library format as well as in a Windows 3.1 DLL. Cynosure provides examples programs written in 'C', Visual Basic, and Delphi.
6. Can I use DQdde to send DDE messages to an Excel spreadsheet.
Yes. In fact by adding a simple macro to a cell in your Excel spreadsheet ( specifying application, topic, and item ) you can establish a HOT link that will be updated automatically by your QNX DDE server. For greater flexibility you can make use of Excel 5.0's Visual Basic for Applications programming interface.
7. Can I use Lab View or Wonderware's InTouch products to provide a user interface on a Windows machine and use QNX to provide the realtime data?
Yes. Both Lab View and Wonderware support DDE messages. You can use the DDE server provided an an example with DQdde as a starting point to write your own QNX DDE server that can provide data to your Lab View or Wonderware user interface. You could also use DQsr to send data between your QNX machine and your Windows machine and then use local DDE messages to communicate to Lab View or Wonderware.
8. Are there any plans to support other operating systems?
No. Development of the DQNET family of products has been discontinued.
9. Does the DQnet family of products include a terminal emulator?
Yes. Shipped standard with DQfs is a terminal emulator called DQterm. This emulator, which supports all of the QNX specific terminal control codes, runs over the DQnet network allowing a DOS user to log into a QNX machine and run terminal based programs. A separate program, DQsterm, allows the same access over a dial up serial link as well as supporting qcp or user defined file transfer protocols.
10. What is DQinet?
DQinet is an interconnectivity product allowing multiple QNX2 and QNX4 networks to be interconnected. DQinet provides several utility programs to allow file manipulation across the various QNX networks.